Disk storage for the 1130 system offers random- or sequential-access data storage and consists of two units: a disk cartridge (or disk pack) and a disk storage drive. (Note that disk cartridge actually refers to the IBM 2315 Disk Cartridge and disk pack refers to the IBM 1316 Disk Pack. To eliminate dual references, disk cartridge will be used to refer to both the 2315 and 1316 units.)
The disk cartridge's storage medium is an oxide-coated disk (or disks) that can store data magnetically. The disk cartridge is mounted on a disk storage drive that rotates the disk(s) and contains the necessary electrical and mechanical components to record data on and read data from the disk cartridge. The disk cartridge can be removed from the disk drive and interchanged with another disk cartridge of the same type, allowing almost unlimited, off-line storage.
The 1130 system uses three types of disk storage drives: the single disk storage drive; the IBM 2310 Disk Storage; and the IBM 2311 Disk Storage Drive.
Two types of disk cartridges are used with the 1130 system: the IBM 2315 Disk Cartridge, and the IBM 1316 Disk Pack. The type of cartridge used depends on the type of disk storage drive installed on the system. The single disk storage drive and the 2310 drive use a 2315 Disk Cartridge; 2311 drives use a 1316 Disk Pack.
The amount of on-line disk storage capacity depends on the 1130 system configuration. Off-line storage is virtually unlimited because the disk cartridge is easily removed and interchanged with another cartridge.
The 1131 Models 2, 3, and 4, include a single disk storage drive capable of storing 512,000 sixteen-bit words.
Up to two 2310s (containing up to two disk storage drives each) or up to two 2311 Disk Storage Drives, Models 11 or 12, in any model combination, can be attached to the 1131 Models 1 (not 1A), 2,3, and 5. (An 1130 system can have either 2310 drives or 2311 drives but not both.) Each drive within the 2310 is capable of storing 512,000 sixteen-bit words. Each 2311 Model 12 can store 1,536,000 sixteen-bit words; the model 11 can store 2,560,000 sixteen-bit words.
The IBM 2315 Disk Cartridge (Figure 29) is a single disk completely enclosed in a protective housing. The recording medium is an oxide-coated disk with two surfaces for the magnetic recording of data. When the cartridge is mounted on a storage drive, the disk rotates at 1,500 revolutions per minute.
The IBM 1316 Disk Pack (Figure 30) contains 6 disks mounted on a vertical shaft. The top surface of the top disk and the bottom surface of the bottom disk cannot be used for recording data, which leaves 10 recording surfaces.
The disk access mechanism, located in the disk drive, is moved back and forth by programmed commands and can be placed in any one of 203 positions, from a point near the periphery of the disk to a point near the center of the disk. At each position, the heads can read or write in a circular pattern on both surfaces of the disk, as it revolves. The circular patterns of data are called tracks. The track on the upper surface of the disk and the corresponding track on the lower surface, both of which can be read or written while the access mechanism is in the same position, are called a cylinder. Figure 31 shows the innermost and outermost cylinders of two tracks each. To complete the picture, the 201 intermediate cylinders, or pairs of tracks should be visualized; they were omitted for the sake of clarity of the diagram.
For convenience in transferring data between the CPU core storage and disk storage, each track is divided into four equal segments called sectors. Sectors are numbered by the cylinder, from 0 through 7, as shown in Figure 32. Sectors 0-3 divide, the upper surface track, and sectors 4-7, the lower. A sector contains 321 data words and is the largest segment of data that can be read or written with a single instruction.
In the programs and programming systems provided by IBM, e.g., the monitor system and its programs, the first word of a 321-word sector is used for the cylinder sector number. Therefore, the first word of the sector cannot be used by the programmer if the assembler program or other components of the monitor system are to be used.
A disk storage word comprises 16 data bits and four check and space bits.
Figure 33 shows the organizational components of disk storage. Note that capacities are based on the 320-word sector; also, the number of cylinders is 200 rather than 203. Three cylinders (24 sectors) are provided as alternates to be used if a surface is defective.
The 1316 Disk Pack has 10 recording surfaces which the 1130 disk monitor system program considers to be either three or five disks, depending on the model of 2311 Disk Storage Drive the 1316 Disk Pack is used on. Model 11 drives are considered to be five disks; Model 12 drives are considered to be three disks. The manner in which the 1316 Disk Pack is arranged for both drives is shown in Figure 34. Note that disks 3 and 4 are not addressed when used on Model 12 drives. Other than having four additional disks, the 1316 Disk Pack has the same sector, track, and cylinder format as that of the 2315 Disk Cartridge.
Word | Sector | Track | Cylinder | Disk | |
Bits | 16 | 5,120 | 20,480 | 40,960 | 8,192,000 |
Data Words | 320 | 1,280 | 2,560 | 512,000 | |
Sectors | 4 | 8 | 1,600 | ||
Tracks | 2 | 400 | |||
Cylinders | 200 |
Data is checked on each data transfer between core storage and disk storage. When writing on disk storage, the number of 1-bits in each word is effectively divided by four, as the word is shifted out of the file data register in the disk storage attachment, by incrementing a two-position counter. The number of bits necessary to make the division even (modulo 4) is added to the end of the word as shown in the following chart.
Number Of Data Bits Written 0-15 |
0 4 8 12 |
1 5 9 13 |
2 6 10 14 |
3 7 11 15 |
Modulo 4 Counter | 00 | 01 | 10 | 11 |
Check Bits 16 17 18 19 |
0 0 0 0 |
1 1 1 0 |
1 1 0 0 |
1 0 0 0 |
The modulo 4 check is performed as each word is read from disk storage. A word that is not modulo 4 causes the data error bit to be set in the disk storage DSW.
The data checking provided in write operations only ensures that data was transferred correctly to the disk drive; however, several factors -- chipped or dirty disk, etc. -- could keep data from actually being recorded correctly on the disk surface. For this reason, the programmer is encouraged to always perform a read-check operation immediately after writing and while source data is still available.
One single disk storage drive is contained in the CPU cabinet (1131 Model 2, Model 3, and Model 4) and is connected to the CPU by a high-speed data channel. It is composed of two components: the disk cartridge, and the drive assembly and access mechanism.
The disk storage access mechanism has two horizontal arms. Each arm has a magnetic read/write head, and each head is positioned to read or write on the corresponding disk sur face as the access arms straddle the disk in the manner of a large tuning fork. The entire assembly moves horizontally forward and backward, so that the heads have access to the entire recording area.
The access mechanism is positioned automatically at the home position (outside cylinder) when the disk cartridge is inserted.
Timing considerations of single disk storage operation involve three elements: access time, reading and writing data, and the time during which the CPU is tied up. (See the section entitled Overlapping Input/Output Operations and Throughput Considerations.)
Access: The access mechanism moves in increments of two cylinders at the rate of 15 ms per increment. Thus, in the formula that follows, the number of cylinders (N) must be even. (The next higher even number is used if an odd number of cylinders is specified.) During the stabilization period (22.5 ms) that follows the last incremental movement, a read or write command can be given and will be started at the end of the stabilization period.
Access time (ms) = 7.5N+T Where T = 22.5 (±2.5)ms
Read/Write: Reading or writing of data in disk storage is at the rate of 27.8 us. per word. Average rotational delay is 20 ms, based on 1,500 rpm, or 40 ms per revolution. Thus, a sector can be read or written in an average of 30 ms. Although there are no timing considerations for head switching, there are programming considerations in consecutive sector operations because there is an interval of over 235 us. between sectors; the interval is increased by 27.8 us. for each word less than 321 read or written.
A full cylinder of eight 321-word sectors can be read or written in 100 ms because the rotational delay is required for only the first sector.
CPU Time: An interrupt in a disk storage operation occurs only at the end of the seek, read, or write operations. This means that once the instruction is initiated, disk storage operation is virtually independent of the CPU. As data is being read or written, a cycle is literally "stolen" from the CPU operation in progress every 27.8 us. for the transmission of the next word.
The IBM 2310 Disk Storage Model B, (Figure 35) provides additional random-access storage capabilities for the 1130. The 2310 Model B1 contains one single disk storage drive, whereas the 2310 Model B2 contains two single disk storage drives. A maximum of two 2310 Model B2s (containing 4 drives) may be attached to the 1130 via a channel multiplexer in the 1133. If two 2310s are attached, at least one must be a model B2.
The functional description -- that is, capacity, data organization, data checking, access mechanism, timing, etc. -- is the same as for the single disk storage drive just described.
The IBM 2311 Disk Storage Drive (Figure 36), provides the 1130 system with higher speed and greater storage capacity than that of the 2310 Disk Storage. The 2311 Disk Storage Drive is available in two models: Model 11 and Model 12. The 2311 Model 11 can store 2,560,000 sixteen-bit words (the equivalent storage of five 2310 drives); the 2311 Model 12 can store 1,536,000 sixteen-bit words (the equivalent storage of three 2310 drives). Note that the 1130 system can have either 2310 drives or 2311 drives installed, but not both.
The 2311 Disk Storage Drives uses the 1316 Disk Pack for its storage device. The adapter that attaches the drives to the 1130 system is designed to make each 1316 Disk Pack simulate either 3 or 5 single disk drives, depending on which model of 2311 drive uses the disk pack. The 2311 Model 11 simulates 5 single disk drives and the model 12 simulates 3 single disk drives.
The access mechanism for the 2311 drives is a single, multiple-head unit. Therefore, when the access mechanism is at a specified cylinder for one disk, it is at the same cylinder for all of the other disks on that drive.
No access motion occurs at the time a control command is issued to a drive; instead, the motion occurs when a read or write command is issued to the drive and the access mechanism is not at the specified cylinder. Cylinders do not carry an identifying number. Therefore, the program must maintain the necessary information relative to the position of the access mechanism. Programs for the 1130 system regard each disk on a drive as independent of all other disks on the same drive. For this reason, it is necessary only to maintain relative position information for each disk without regard to the actual cylinder location.
A control command can be issued only when the 2311 is ready and not busy. The 2311 is busy to all commands when a read or write command is being executed, so access mechanism motion and data transfer cannot be overlapped on the same drive.
Reading or writing data on the disk is accomplished at a rate of 16.0 microseconds per word, with an average rotational delay of 12.5 milliseconds. Maximum rotational delay is 25 milliseconds.
Average access time is 75 milliseconds, minimum time is 25 milliseconds, and maximum time is 135 milliseconds.
The disk storage drives attached to the 1130 system are controlled by I/O control commands (IOCC) provided by the program in CPU core storage. Each of the installed drives responds to its assigned device code. Each of the disks for the 2311 Disk Storage Drive is individually addressed. This requires the use of modifier bits to address all disks on the second drive of a two-drive system. The five-bit device codes and the modifier bits required for each drive and disk are as follows:
Device Code | Modifier Bits | Device Location | ||
9 | 10 | 11 | ||
00100 | 0 | 0 | 0 | CPU |
10001 | 0 | 0 | 0 | 2310 drive 1 or 2311 drive 1,disk 1 |
10010 | 0 | 0 | 0 | 2310 drive 2 or 2311 drive 1, disk 2 |
10011 | 0 | 0 | 0 | 2310 drive 3 or 2310 drive 1, disk 3 |
10100 | 0 | 0 | 0 | 2310 drive 4 or 2311 drive 1, disk 4 |
10110 | 0 | 0 | 0 | 2311 drive 1, disk 5 |
10111 | 0 | 0 | 0 | 2311 drive 2, disk 1 |
10111 | 0 | 0 | 1 | 2311 drive 2, disk 2 |
10111 | 0 | 1 | 0 | 2311 drive 2, disk 3 |
10111 | 0 | 1 | 1 | 2311 drive 2, disk 4 |
10111 | 1 | 0 | 0 | 2311 drive 2, disk 5 |
In the illustrations of IOCC's that follow, bits 9, 10, and 11 are not shown.
Initiate Read (110)
This command causes the number of words specified by the word count to be read from the disk storage drive identified by the device code. The sector to be read is identified by modifier bits 13-15.
The address word of the command contains the word count address (WCA), and modifier bit 8 determines whether the command is a read command (0) or a read-check command (1).
A full sector, 321 words, is the maximum transmission with one command. Succeeding sectors, or parts of sectors, require the initiate read command for each one.
An operation-complete interrupt occurs when the number of words in the word count has been transmitted.
Note for 2311 disk drives only: If the access mechanism in the drive is not located at the cylinder specified by the arm register, an access operation will occur before data transfer begins. The arm register is specified by the area code which is the same as for the disk addressed. The address in the arm register is updated by a control instruction.
Read (Bit 8 = 0): Beginning with the first word of the indicated sector, data is read into core storage location WCA + 1 and ascending addresses. The word count, stored at the location specified by the WCA, controls the number of words transmitted and, consequently, the number of core storage locations occupied by the disk storage data. For example, assume that a word count of 152 is stored at WCA 1000. The 152 words read from disk storage would be stored at addresses 1001 through 1152.
The programmer must be aware of the core storage locations required for incoming disk storage data so that useful data is not written over and lost.
Read-Check (Bit 8 = 1): Data is read from disk storage, as in the read command, and the number of bits of each word is checked for modulo 4. Unlike the read command, data is not transferred into core storage. Therefore, a storage area does not need to be provided, and no time demand is placed on the CPU. Once the read-check command has been started. the modulo 4 checking is independent of the CPU. If the number of bits in a word, including check bits, is not even when divided by four, the data error indicator is set in the disk storage DSW. Neither disk storage nor core storage is affected by the read-check command.
To achieve the maximum level of performance that the disk storage is capable of providing, the program should provide error recovery procedures. Errors are often due to temporary conditions which can be successfully recovered by re-executing the read or write command.
A write command which does not write correctly because of temporary or intermittent conditions can be detected by immediately verifying the data just written. In this way, any such "soft" write error can be corrected while the data is still available in core storage. If this write checking procedure is not followed, the "soft" write error becomes a "hard" error, which can be corrected only by reconstruction or adjustment. In almost all cases, permanent data files should be verified as soon as written, while for transient or work files, verification may not always be required. The programmer should weigh the possible reconstruction time versus the time consumed in write verification before deciding not to verify write data.
An initiate read with a word count of zero should not be used. Recovery requires a console DC reset.
Initiate Write (101)
This command causes the number of words specified by the word count to be written in disk storage, beginning at the first word of the sector indicated by modifier bits 13-15. The disk storage drive to be used is designated by the device code, bits 0-4.
The address word of the command contains the address of the word count. The data is transmitted from core storage location WCA + 1 and ascending addresses until the number of words specified by the word count has been written. If the word count is less than 321 words, the remainder is written with all 0's. Succeeding sectors, or parts of sectors, require an initiate write command for each one.
An operation-complete interrupt occurs when the number of words in the word count has been transferred.
An initiate write command should be followed immediately by a read-check command to verify that data can be read correctly.
An initiate write command with a word count of zero should not be used. Recovery requires a console DC reset.
Note for 2311 disk drives only: If the access mechanism in the drive is not located at the cylinder specified by the arm register, an access operation will occur before data transfer begins. The arm register is specified by the area code which is the same as for the disk addressed. The address in the arm register is updated by a control instruction.
Control (100)
For 2310 Disk Storage: This command causes the access mechanism of the drive designated by the device code to move in increments of two cylinders for the number of cylinders specified by the address word of the command. If the number of cylinders is odd, the first increment consists of one cylinder.
Modifier bit 13 controls the direction of movement: a 0 moves the access mechanism forward (toward the center of the disk); a 1 moves it backward.
When the access mechanism has moved the number of cylinders specified, an operation-complete interrupt occurs.
Note: Cylinders do not carry an identifying number. It is the responsibility of the program, therefore, to maintain the necessary information relative to the position of the access mechanism. A control command which specifies an access motion of zero cylinders is treated as a no-operation and does not result in an operation-complete interrupt.
For 2311 Disk Storage Drives: This command causes the hardware counter associated with each simulated disk (addressed by the specific area codes) to be updated by the number of cylinders specified by the address word of the instruction. Modifier bit 13 = 1 causes the number of cylinders specified to be subtracted from the address arm register and the result to be placed back into the same register. Modifier bit 13 = 0 causes a similar addition to occur.
No arm movement takes place in the drive during a control command. Accessing, if necessary, occurs when the initiate read or initiate write command is issued and before data transfer begins. An operation-complete interrupt is requested at the end of the control command.
Sense Device (111)
This command causes the device status word (Figure 37) of the disk storage identified by the device code to be read into the ACC.
Operation complete and data error (except select and un safe) indicators are reset if modifier bit 15 is a 1.
Operation Complete (Interrupt): This is the only interrupt associated with disk storage, and is turned on at the end of a read, read-check, write, or control (access) operation (where there is access movement). It also occurs if the disk storage is in a read, read-check, or write operation at the leading edge of a sector pulse; this occurs if the word count specified is greater than 321.
Data Error: This indicator is turned on when:
Conditions 1, 2, and 3 are turned off by a sense device command with modifier bit 15 set to 1. Conditions 4 and 5 are reset by turning off the disk storage drive, allowing for the cartridge unlock indicator to light, turning on the drive, and waiting until the disk ready indicator (heads loaded for the 2310 or 2311) to light. Disk operation can resume after this sequence of events.
Disk Not Ready: This indicator is turned on with disk not ready or busy or disabled or off-line or power unsafe latch set. Also included in the disk not ready is the write select error, which can be a result of power unsafe or write select. (Bit 0 and bit 2 will be turned on.)
Disk Busy (R/W or Carriage): This indicator is on during execution of a disk storage command. It turns off when the operation is completed.
Carriage Home: This indicator is on when the access mechanism is at the home position (cylinder 000).
Sector Count: These bits represent the sector number of the next available sector to be used for reading or writing.
Disk Organization
It is important in planning a routine for loading disk storage that the cylinder concept be taken into consideration. Related data should be grouped in the same cylinder, when possible, to eliminate unnecessary seek operations. Therefore, when disk addresses are assigned to a group of related data, the disk locations made available should be limited to the number required, plus an expansion factor. The most frequently used data should be stored in the low-numbered cylinders to minimize seek time.
Customer Error-Correction Routines
If an error is detected by the CPU circuitry, the following procedure should be executed:
This procedure should be executed from three to ten times prior to establishing the occurrence of a disk error.
Note: IBM-supplied disk subroutines perform standard error recovery procedures.
The usage meter for the 2310 or 2311 disk storage drives will run when the following conditions are present:
But wait, there's MORE...