Patent GB-1062999-A (GB)
Title: Data storage and retrieval system
IPC: G06F12/06
Filed: 1965-09-24
Abstract: 1,062,999. Electric digital data-storage; data processors. INTERNATIONAL BUSINESS MACHINES CORPORATION. Sept. 24, 1965 [Sept. 30, 1964], No. 40720/63. Headings G4A and G4C. Whether data is retrieved from a main memory or an auxiliary memory depends on indications in an additional memory. A photographic multi-track disc read-only store holds data for language translation or information retrieval, and a magnetic drum stores amendments and additions to the photostore data. A core store holds a directory and tables (see below) relating to the other stores, as well as input and output regions to act as buffer between the other stores and a central processing unit (CPU). Absolute search.-An instruction specifies an address in the core output region to receive data from the photostore or drum, and also a photostore address. The track portion of the latter is used to address a directory word, which contains two table address and a marker bit If the marker bit is ONE the system proceeds to a photostore track search (see below), but otherwise one of the table addresses (the other is used during integral searches only) is used to obtain the first absolute table entry for the track in question. Each such entry consists of two words, the first containing the address of the next absolute table entry for the track, a drum address, and a marker bit which if ONE indicates that (the search having proceeded to this point) the required data is in the photostore. The second word of the entry contains a photostore address, which is now compared with the desired photostore address. If they are equal, a drum sector search (see below) is initiated. If the desired photostore address is the lesser, the next table entry is tried, whereas if it is the greater, a photostore track search is commenced. The latter also occurs if a table entry encountered has a ONE marker bit. In the photostore track search, a photostore track address is read from the photostore and placed in a track counter from which it is compared with the desired photostore track address, the photostore read head being stepped from track to track depending on the comparison result, with incrementing/decrementing of the track counter, until the comparison indicates equality. As a check, a track address read from the photostore is now compared with the desired track address and if they are equal an early warning search commences followed by an entry search. Each record has two entries in the photostore, each entry comprising track and record numbers (addresses) which are the same for the two entries except that a spare bit in the record number is ONE in the early warning entry and ZERO in the other entry. In each search the track and record numbers from the photostore are matched against the desired photostore address, the latter having a ONE or ZERO inserted to correspond to the spare bit depending on which search it is. On equality in the early warning search, the CPU is warned to disengage from the core store, and the entry search is commenced. On equality in the entry search, the following photostore data is passed to the core store output region until end characters are detected in the photostore. In a drum sector search, a sector portion of the drum address from the table is continually compared with a sector counter which is incremented by sector pulses from the drum (and reset every revolution), until equality when a drum entry search follows. In the latter, a drum track is selected by a track portion of the drum address, and data transferred from the drum to the output section of the core store. In the case of so-called " verified " drum entries, the transfer is preceded by a comparison of a sector number read from the drum with the sector portion of the desired address, an error indication being sent to the CPU if unequal (or a second attempt to find the desired sector might first be made). Integral search.-An instruction specifies (a) an address in the core input region containing the first byte of input data for the search, and (b) an address in the core output region to receive data from the photostore or drum. The input data specifies a directory address, the word at which provides the address of a first of a series of integral table entries. Each such entry comprises a first word containing (like that in an absolute table entry) the address of the next entry, a drum address and a marker bit, further words containing argument bytes, and a final word containing the address of the first argument word and a photostore track address. Successive bytes of the argument are compared with corresponding bytes of the input data until a mismatch occurs or a special byte is reached in the argument indicating the end of the latter. In the former case (mismatch), the next table entry is tried, but in the latter the photostore track address in the final word of the table entry is used for a photostore search and the other address in the final word is stored in a register for future use. In the photostore search, the indicated track is found as in the absolute search (see above). The table entries are normally chosen so that this track is lower than the one required. Argument bytes from the track are compared with input data bytes, and if necessary the read head stepped across tracks until the track positioned on is lower than the one required. The head is then stepped across tracks until the track positioned on is higher than that required. The track is now searched, comparing argument bytes from a given entry thereon with corresponding argument bytes from the table entry until a mismatch occurs or an end-of-argument special byte is reached in the track entry or table. The magnetic drum is searched and read-out as in the absolute search if (a) end-of-argument bytes are reached in track and table at the same time, (b) a mismatch occurs with the table argument being the higher, or (c) the end-of-argument byte is reached in the track before it is reached in the table. (However, if the marker bit in the table entry was ONE this is not done, and the system continues searching on the photostore.) On the other hand, if (a) a mismatch occurs with the table entry being the lower, or (b) the end-of-argument byte is reached in the table before it is reached in the track, the last byte tested from the photostore and succeeding bytes are compared in turn with corresponding bytes from the input data in a further comparator. If a mismatch occurs, the next photostore entry is tried. On the other hand, if the end-ofargument byte is detected in the photostore, the following photostore data is read-out to the output region of the core store. Whether the data is obtained from the photostore or drum, a new search is begun on the next input data items in the core input region, and so on until an end-character is detected. Further features.-(a) Data is recorded on the drum in both true and complement form, on respective sides of the drum. On read-out, a parity check is performed on each, and if (only) one is in error, the other is used. (b) A universal byte which will be deemed to match anything is provided for masking. (a) A special character followed by a number may be stored in the photostore to cause the number of bytes specified by the number to be skipped in the core store during matching, two different special characters being provided for forward and backward skipping respectively. (d) Boundary registers may be provided for address protection in the core store.