Patent GB-1381467-A (GB)
Title: Method and apparatus for providing alternative storage areas on a magnetic disc pack
IPC: G11B20/12
Filed: 1973-05-15
Abstract: 1381467 Digital data storage BURROUGHS CORP 15 May 1973 [1 June 1972] 22973/73 Heading G4C In a magnetic disc pack; each sector has its own address recorded in it, and if an error is found in a sector its address is recorded in one of a group of spare sectors and a flag indicating that relocation has taken place is recorded in the erroneous sector. Initialize operation writes sector address and test data in each sector. Execution of an Initiate I/O instruction by a processor results in an Initialize descriptor being supplied to register 84 of the disc pack control unit. The OP code of the descriptor is decoded to enable certain states of sequencer 80 to be attained, and the file address of the descriptor is decoded and entered in address register 94. As described a disc pack has 10 discs with heads 0-19, there are 406 tracks on each disc, i.e. 406 cylinders, and each track is divided into 33 sectors. The disc surface associated with head O provides 28 primary sectors and 5 spare sectors for each cylinder whereby no head movement is required to switch from an erroneous sector to the spare which has been allocated. The file address indicates the primary sector number, omitting the spares from the sequence. The file address is decoded by dividing by 655 (20 x 33 - 5) to derive the cylinder number and dividing the remainder by 33 to obtain the head number, the final remainder indicating the sector number. Register 94 comprises 3 cascaded counter stages counting up to 32, 19 and 405 respectively and is incremented by 5 where necessary to allow for the fact that the spare sectors are not included in the file address sequence. The cylinder and head numbers are supplied to the disc pack controls to position the heads and select one of the heads, and when the correct sector is under the selected heads (comparator 120) the address in register 94 is shifted out and written in the address field of the sector and is followed by test data from register 130. The register 94 is then incremented and the process repeated for the next sector. In this manner, starting at the sector specified by the Initialize descriptor, each sector is loaded with its address and test data. In addition, each spare sector has a flag S in its address set to indicate that it is a spare sector (gate 139). A result descriptor is returned to the processor from register 143 when the operation has been completed. Verifying operation checks that each sector has been correctly recorded during initialization. The verify descriptor supplied to register 84 is decoded as above and the sectors are then read for comparison at 148 of the sector addresses with those of register 94 which is incremented at each sector, and for parity checking of the addresses and test data at 152. If an address comparison or parity error is detected an error flag is set in result descriptor 143 and the address of the erroneous sector is supplied to the processor for storage in memory at the Begin address specified by the verify descriptor. If the error is in a primary sector, the file address in register 84 is gated to the memory write bus MWB, but if the error is in a spare sector, a spare address is gated to MWB from register 164 this address including the cylinder number from register 94 and the sector number minus 28 from register 94, i.e. the address is in the form cylinder x, spare sector N where N = 0 to 4. Relocation operation follows when the error flag has been set in the result descriptor of a verify operation, and causes recording of relocate flag in erroneous sector and address of that sector in a spare sector, the file address of the erroneous sector and the number N of a spare sector allocated to it by the processor being specified by the file address and VAR fields of the relocate descriptor supplied to register 84. The relocate flag in a register 172 is recorded in the erroneous sector, which is selected by address comparison and head positioning and selection as above. Then head O is selected, 28 is added to the VAR field in register 84 to detect the spare sector which has been allocated (performed by comparator 120 via circuits not shown), and the address in register 94 is recorded (flag S = 1) followed by the test pattern. On completion; the result descriptor is transmitted to the processor. Read operation.-The read descriptor specifies the file address of the sector to be read. Selection of the required sector is as above. The data read from the sector is assembled in bytes by a buffer 203 for transmission over MWB for storage in memory starting at the Begin address specified by the read descriptor. If an address or parity error is detected the result descriptor includes a set error flag as before. If a relocate flag is detected at 210 when reading the address field of the selected sector, the S flag in register 94 is set and head O is selected. The spare sectors for the same cylinder are then searched for the specified sector address and, if found, the sector is read out. If the required address is not found the error flag in the result descriptor is set.