• Keine Ergebnisse gefunden

DISK INPUT/OUTPUT

Im Dokument Internal Reference Manual (Seite 93-98)

The 1/0 Subsystem (lOS) provides control for disk input and output. This section describes the components of the diSk-controlling software in the following order:

OCU-4 controlling software

OCU-4 disk error recovery

OCU-5 controlling software

OCU-S disk error recovery

Striped disk groups

Kernel internal disk IIO

The IDS disk software performs disk IIO and error recovery for the mainframe and for routines internal to the lOS.

The IDS can access a maximum of 48 disk storage units (OSUs). The

maximum is attained by a system with four 1/0 Processors (lOPs), three of which have the maximum of 16 OSUs attached. All of the OSUs can be

selected concurrently, but the number of data streams that can be

maintained is limited. This limit is based on the disk device type, the number of 100-Mbyte channels configured, and the amount of Local Memory and Buffer Memory available for disk use.

Two independent disk drivers support six types of DSUs on the IDS. One driver supports the 00-19 and 00-29 OSUs through the OCU-4 Disk

Controller. The other driver supports the DO-39 Disk Unit, OS-40 Disk Subsystem, RO-10 Disk Subsystem, and 00-49 Disk Unit through the OCU-5 Disk Controller. Both drivers may execute in the same lOP

simultaneously, allowing all types of disks to be configured on the same lOP.

Current Cray disk conventions allocate space on disk at installation time for diagnostic system files and scratch areas. See the COS Operational Procedures Reference Manual, publication SM-0043, or the UNICOS System Administrator's Guide for CRAY Y-MP, CRAY X~MP, and CRAY-! Computer Systems, publication SG-2018 for specific information on reserved areas.

I

3.1 REQUEST PROCESS OVERVIEW

The mainframe initiates disk 1/0 by sending information to the lOS in a request packet. The information sent includes a starting device address, a target memory type and starting address, a t·ransfer word length, and a read/write function code. The target memory may be Central Memory, SSD Memory, or the Buffer Memory resident (BMR) dataset portion of Buffer Memory. See the COS Operational Procedures Reference Manual, publication SM-0043, or the UNICOS System Administrator's Guide for CRAY Y-MP,

CRAY X-MP, and CRAY-1 Computer Systems, publication SG-2018, for more information on BMR datasets.

The lOS disk software validates the request parameters and sends an error status back to the mainframe if any illegal values are detected. 110 is then performed as efficiently as possible using Local Memory disk

buffers, the 100-Mbyte channel connected to the specified target memory, and the optional Buffer Memory disk buffers. All disk buffers are 512 decimal words in length. When I/O is complete, the IDS sends the status back to the mainframe in the original request packet.

Buffer Memory disk buffers are used by the disk software in data caching mechanisms called "Read-ahead" and "Write-behind." These mechanisms are designed to facilitate data streaming by overlapping the disk I/O with

request preparation in the mainframe.

3.2 OCU-4 CONTROLLING SOFTWARE

This subsection describes the architecture and request process for the OCU-4 (00-19 and 00-29) controlling software.

3.2.1 OCU-4 SOFTWARE OVERLAYS

A

set of overlays, in cooperation with disk interrupt answering, performs the actions necessary to stream data to OCU-4 disk devices. Each overlay is activated by the Kernel in the normal overlay activation process. The overlays ACOM, COEM, and DISK are, however, demon processes and thus have only minimal SMOOs associated with them. Therefore, parameters are not passed to them through registers, and contents of registers are not preserved if they perform Kernel service requests.

ERRECK, the error processor, runs as a normal overlay. Its activity is created through a service request by DISK. Each time ERRECK is created, i t handles errors only for the channel for which i t was created.

The following subsections describe the overlays and resident subroutines that handle the streaming of data to OCU-4 disk devices.

3.2.1.1 ACOM overlay

ACOM handles messages from other IOPs and initiates disk processing of new requests. It runs in

all

lOPs.

ACOM's message function codes are as follows:

Code Function

1 Initiate disk request

2 Release Disk Activity Link (DAL) in originating lOP 3 Transfer data from target memory to Buffer Memory 4 Transfer data from Buffer Memory to target memory

5 Send status to mainframe; the MIOP receives this function.

6 Target memory to Buffer Memory transfer done 7 Buffer Memory to target memory transfer done

3.2.1.2 CDEM overlay

CDEM is the MIOP overlay that dispatches requests from the mainframe to the correct recipient. Messages processed by CDEM include disk, tape, and Kernel requests.

3.2.1.3 DISK overlay

DISK runs in all lOPs that have attached disks. It performs the following functions:

• Manages the Disk Control Block (DCB) done queue

• Initiates requests to the target memory processor to receive data from or send data to the target memory

• When executing in the target memory processor, moves data to the target memory through the 100-Mbyte channel

• Starts IIO if the channel is disabled (the channel can be disabled while waiting for data or a local disk buffer)

3.2.1.4 ERRECK overlay

ERRECK processes errors, attempts to recover from errors, and puts out the unrecoverable error message. It executes in all lOPs with attached disks.

3.2.1.5 Disk interrupt answering subroutine

The disk interrupt answering subroutine puts the finishing DAL on the DCB done queue, allocates local buffers on reads, and initiates IIO for the next DAL. Finally, i t activates the DISK demon to further process the 1/0 completed on the channel.

3.2.1.6 Disk driving subroutines

Disk driving subroutines are called by ACOM and DISK to build executable DALs. These subroutines calculate the cylinder, head, sector, and the target memory address of data. They also allocate Buffer Memory space and initiate IIO on read requests, if necessary.

3.2.2 DCU-4 TABLES AND PACKET STRUCTURE

When the mainframe initiates communication with the lOS, i t sends a 6-word (30a-parcel) packet to MIOP across the 6-Mbyte channel with information about the request. Two words (lOa parcels) of control information are added to the packet, which is called a master DAL. The contents of that packet are defined in the lOS Table Descriptions

Internal Reference Manual, publication SM-0007.

3.2.3 STEPFLOW FOR DCU-4 DISK WRITE REQUEST FROM MAINFRAME

The following sequence of operations handles a write to a disk attached to the DIOP. The target memory processor is BIOP. The lOP in which each step occurs is identified.

Step lOP Description

1. MIOP An interrupt on the 6 Mbyte channel is recognized as a disk request by interrupt answering. The

CD

EM overlay is

activated.

2. MIOP CDEM forms a DAL using 30a parcels of information from the mainframe and lOa parcels of control information.

The DAL function code is set to 1 (in DA@IFC) and put on the channel queue that connects lOPs, targeted for the

Step lOP Description

DIOP. Buffer Memory is allocated and the address is saved in the OAL. OA@MES contains the encoded address in Buffer Memory of the message. (See the· lOS Table Descriptions

Internal Reference Manual, publication SM-0007, for an example of a DAL format.)

3. MIOP A message crosses the accumulator channel to the DIOP.

4. DIOP The interrupt handler gets the accumulator channel data and puts i t on the ACOM activities data queue. ACOM is

activated by being placed on the lOP central processor queue.

5. DIOP ACOM gets the entry from the queue, calculates the Buffer Memory address of the message, and reads the DAL into the Local Memory DAL area.

6. DIOP ACOM recognizes function code 1 as a new disk request. If the DSU is not busy, or if the queue is sufficiently short, ACOM calls subroutine DBUD to build executable DALs.

7. DIOP DBUD builds a DAL, allocates a disk buffer area in Buffer Memory, puts the DAL on the executable DAL queue,

recognizes the request as a write, and sends a request to the BlOP to get data from the target memory. This request has a function code of 3 in the DAL; a copy of the DAL is written to Buffer Memory so the BlOP can move the data from the target memory to the Buffer Memory address specified in the DAL.

8. BlOP The interrupt handler gets 1 parcel from the accumulator channel and puts it on the ACOM data queue. The ACOM Activity Descriptor (AD) is put on the lOP central processor queue.

9. BIOP ACOM gets the entry from its queue. It recognizes function code 3, reads data from the target memory over the

100-Mbyte channel, and writes it to Buffer Memory.

10. BlOP ACOM sets the function code in the DAL to 6, writes it to the Buffer Memory assigned for this DAL, and sends an accumulator channel message to the DIOP.

11. DIOP The DIOP gets the interrupt on the accumulator channel and activates ACOM.

12. DIOP ACOM recognizes function code 6. The data is flagged, identifying its location as Buffer Memory.

Im Dokument Internal Reference Manual (Seite 93-98)