ADVANCED KEYWORD ASSOCIATIVE ACCESS MEMORY SYSTEM
First Claim
1. A memory system comprising a rotating memory partitioned into a plurality of sectors and including a plurality of tracks storing blocks of data in each of said sectors;
- means for accessing said sectors in sequence;
means for simultaneously examining a plurality of data requests, each of said requests specifying the track and sector addresses of storage of corresponding ones of said data blocks, said examining means including means counting said sectors and means operative while one sector is being accessed for comparing sector addresses specifies by said requests with a count specified by said counting means, said comparing means including means for producing an examining means output in response to a match of one of said specified sector addresses with a count of the next sector to be accessed;
means responsive to said examining means output for registering the track address specified by the data request which specified the matching sector address; and
means responsive to said examining means output for retrieving a data block stored at the matching sector address and the registered track address.
0 Assignments
0 Petitions
Accused Products
Abstract
Circuitry is disclosed which uses a rotating magnetic disc file as an associative access memory. Each block of data stored on the file has associated with it a keyword, which keyword is used to access that particular block of data. The disc is partitioned into angular sectors and the blocks of data are stored in concentric, circular tracks as one block per sector per track, having their associated keywords recorded in radial tracks in the preceding sector. Data requests, including keyword information, are stored in a request hopper and are all simultaneously compared with each keyword as it is read from the disc. When a match occurs, the track defined by the matched keyword is read during the next sector in order to retrieve the requested block of data. Data requests may alternatively specify the track and sector address of a desired data block.
123 Citations
9 Claims
-
1. A memory system comprising a rotating memory partitioned into a plurality of sectors and including a plurality of tracks storing blocks of data in each of said sectors;
- means for accessing said sectors in sequence;
means for simultaneously examining a plurality of data requests, each of said requests specifying the track and sector addresses of storage of corresponding ones of said data blocks, said examining means including means counting said sectors and means operative while one sector is being accessed for comparing sector addresses specifies by said requests with a count specified by said counting means, said comparing means including means for producing an examining means output in response to a match of one of said specified sector addresses with a count of the next sector to be accessed;
means responsive to said examining means output for registering the track address specified by the data request which specified the matching sector address; and
means responsive to said examining means output for retrieving a data block stored at the matching sector address and the registered track address.
- means for accessing said sectors in sequence;
-
2. A memory system comprising a rotating memory partitioned into an ordered plurality of sectors and including a plurality of tracks, certain of said tracks storing blocks of data in each of said sectors and certain others of said tracks storing keywords in each of said sectors, each of said keywords being associated with a respective one of said data blocks and stored on one of said certain other tracks within the sector immediately preceding the sector containing said respective data block, the relative position of each keyboard on said certain other tracks being determined by the relative position of said respective data block on said certain tracks;
- means for simultaneously examining a plurality of data requests, said requests specifying keywords of corresponding ones of said data blocks, said examining means including means for retrieving one of said keywords from said memory and further including means for comparing said retrieved keyword with said requests, said comparing means including means producing an examining means output when said retrieved keyword matches one of said requests;
counting means providing a count indicating which of said certain other tracks contains said retrieved keyword; and
means responsive to said examining means output and said count for retrieving from said certain tracks the data block associated with the matched retrieved keyword.
- means for simultaneously examining a plurality of data requests, said requests specifying keywords of corresponding ones of said data blocks, said examining means including means for retrieving one of said keywords from said memory and further including means for comparing said retrieved keyword with said requests, said comparing means including means producing an examining means output when said retrieved keyword matches one of said requests;
-
3. An associative access memory system comprising a disc containing concentric circular tracks for storing distinct blocks of data in successive track segments defining angular sectors and radial tracks containing keywords for determining the location of said stored data blocks, each of said radial tracks uniquely corresponding to a one of said track segments of said circular tracks, means for storing requests for retrieval of predetermined ones of said stored data blocks from said disc, means for comparing said keywords with said requests including means producing an output when one of said keywords matches one of said requests, means identifying said radial tracks, and means responsive to said output and an identification of the radial track containing said one keyword for retrieving from said disc the data block corresponding to said one request.
-
4. An associative access disc memory comprising concentric circular tracks segmented in angular sectors, each of said sectors comprising radial tracks containing keywords of data blocks stored in circular track segments of uniquely corresponding sectors, means for comparing keywords from said memory with requests for readout of data blocks and means responsive to a match in said comparing means and an identification of the radial track containing the keyword producing the match for retrieving the data block corresponding to the keyword producing the match.
-
5. A disc memory in accordance with claim 4 and further comprising a plurality of magnetic heads and wherein said comparing means comprises means for enabling a plurality of said heads simultaneously for the parallel reading of one of said radial tracks and said retrieving means comprises means for enabling one of said heads for the sequential reading of one of said circular track segments.
-
6. A disc memory in accordance with claim 5 further comprising means for enabling simultaneously said heads of said radial tracks with said one of said heads of said circular track segments and memory means for storing said keywords read from said radial tracks.
-
7. An associative access data storage and retrieval system comprising a memory device containing means for storing distinct data blocks and corresponding keywords, means for comparing said stored keywords with data block requests, said comparing means inCluding means producing an output when one of said keywords matches one of said requests, and means responsive to said output for retrieving the data block corresponding to said one of said keywords from said memory device, characterized in that said storing means comprises concentric circular tracks for storing said data blocks in successive angular sectors and said sectors include radial tracks for storing keywords each identifying a data block stored in an adjacent angular sector, the number of said radial tracks in each of said angular sectors corresponding to the number of said circular tracks.
-
8. A data storage and retrieval system comprising a rotating memory partitioned into a plurality of sequentially accessed angular sectors and including a first plurality of tracks arranged to store a plurality of data blocks in each of said sectors and a second plurality of tracks arranged to store a plurality of keywords in each of said sectors, each of said keywords corresponding to a respective one of said data blocks and stored in the sector immediately preceding the sector containing said respective data block, the relative position of said each keyword on said second plurality of tracks being determined by the relative position of said respective data block on said first plurality of tracks;
- means storing a plurality of data requests, said requests being of a first type and a second type, said first type of data request specifying an absolute sector and track address of a data block and said second type of request specifying a keyword of a data block;
first counting means providing a first count indicating which of said sectors is the next to be accessed;
first comparing means comparing said first count with sector addresses specified by said requests of said first type including means producing a first output when said first count matches one of said specified sector addresses;
means retrieving said keywords in sequence from said rotating memory;
second counting means providing a second count indicating the position of a retrieved keyword within a sector;
second comparing means comparing said retrieved keyword with keywords specified by said second type of request including means producing a second output when said retrieved keyword matches one of said specified keywords;
means for registering the address of one of said first plurality of tracks;
means responsive to said first output for storing in said registering means the track address specified by the one of said first type of requests which caused said first output and responsive to said second output for storing in said registering means said second count; and
means responsive to either of said outputs for retrieving from said rotating memory in the next sector to be accessed the data block stored on the track specified by the contents of said registering means.
- means storing a plurality of data requests, said requests being of a first type and a second type, said first type of data request specifying an absolute sector and track address of a data block and said second type of request specifying a keyword of a data block;
-
9. A data storage and retrieval system in accordance with claim 8 wherein said second plurality of tracks comprises radial tracks, there being as many radial tracks in each of said angular sectors as there are said first plurality of tracks, and said second counting means includes means counting said radial tracks within each of said sectors.
Specification