Patent GB-1155479-A (GB)
Title: Associative Data Processing System
IPC: G06F17/30
Filed: 1967-10-31
Abstract: 1,155,479. Data storage and retrieval. SINGER-GENERAL PRECISION Inc. 31 Oct., 1967 [22 Dec., 1966], No. 49324/67. Heading G4C. A data storage and retrieval system comprises a memory of known type for storing blocks of data in n tracks, each track storing blocks of y characters each, means for reading said tracks in parallel, a matrix of bi-stable storage elements arranged in n rows and x columns, each element being associated with a different block of data in said memory, a query register for storing a block of data to be searched for and compare means whereby each of the blocks of data in said memory may be compared with block in said query register and the storage elements corresponding to matching blocks set to a different state to the other elements. The comparison in effected field - of - characters by field - of - characters according to a predetermined search criterion such as equality, equal to or greater than, equal to or less than or no effective criterion (whereby masking of selected fields can be achieved). Utilization means are connected to the memory and matrix whereby for example matching blocks may be read-out in an order designed for maximum efficiency. The memory may comprise a disc, a drum, delay lines or stepping registers and the storage matrix a plated wire store. In the preferred embodiment (Fig. 1), a magnetic disc memory 10 comprises a number of sectors of 1024 tracks each, each track storing 64 blocks of 128 eightbit characters each. Data from the tracks is read-out to the row conductors of first a column T1 of the storage matrix 20, which elements T1 are initially set to a 1 state and to the column conductor of which elements signals from the query register 23 are applied. The elements T1 remain in their 1 states as long as the signals from the respective tracks and the register 23 match according to the search criterion selected character by character by a control register or registers 21. At the end of each character (or field-of-characters) comparison the contents of the respective elements T1 and ANDed into the elements T2 (also initially set to their 1 states). During this procedure, the contents of an obsolete track is read into a column of elements T3 and after comparison of a complete block, the contents of respective T2 and T3 elements are ANDed and transferred to the corresponding storage elements. The obsolete track enables selected blocks to be ignored. After the completion of the above comparison procedure, the matching blocks are readout as follows: each column C of the store 20 is transferred in turn to a column DP connected to a priority circuit 45 whereby one only (least or most significant) of the elements in the 1 state is selected and the corresponding block read to a utilization device by way of read-out stage 55. The selected element is then set to its 0-state and the next column dealt with. This is repeated until all matching blocks have been read out, the order of read-out being illustrated in Fig. 3. Upper and lower limit registers 45a and 45b enable selected tracks to be ignored. Query records comprising for example two blocks each may be compared in that after comparing the first query block with odd blocks in the memory 10 and the second query block with even blocks in the memory, the contents of the columns in store 20 are ANDed in pairs (C1, C2, C3, C4 &c.). The selections of search criteria and the way in which the ANDing is achieved is described with reference to Figs. 4-6 (not shown).