Patent GB-1449877-A (GB)
Title: Electronic data storage arrangements
IPC: G06F12/08
Filed: 1973-12-13
Abstract: 1449877 Data storage system SIEMENS AG 13 Dec 1973 [15 Dec 1972] 57756/73 Heading G4A  A data storage system is accessible for words of up to m bytes and includes a main store accessible for words of up to n m bytes and a smaller, faster buffer store to store a full or partial copy of a number of n m byte words and their corresponding main store addresses, the arrangement being such that to access a required word of up to m bytes the main store address of the corresponding n m byte word is used in an associative search through the buffer from which the required up to m byte word is accessed in. response to selection signals, there being means for transferring words of up to n m bytes between the main and buffer stores as appropriate. General.-Single words of up to four by tesare accessed in the buffer store which has 32 locations each for storing a double word of up to eight bytes, the main store address in an address field AT1 of the corresponding double word, an address parity bit PB, a selection field AT2 of eight bits each corresponding to one of the data bytes, a validity bit AR1, an "up to date bit" AR2 indicating that all eight data bytes are present, i.e. the copy is complete and a "new entry bit" R2. The "new entry bit" points to a location in buffer which is to be used when a new entry has to be made in the buffer. Two selection means are provided each providing a new entry for one of the locations in a respective portion of the store, e.g. on the basis of that location which has not been accessed for the longest period. One of the selection means, and hence one of the portions of the store, is selected on the basis of the type of data involved in an access. Operation, Write.-A double word address is used as a tag in an associative search through the address field AT1 of the buffer to determine whether the corresponding data is present. If it is present selection signals of the same form as the selection field select up to four data bytes into which data is written, the corresponding bits in the selection field being set to indicate that the copy in the buffer has been modified. If the data is not present in the buffer a signal NEZ from the accessing unit indicative of the type of data involved in the access selects one of the two selection means RZ. The selection field AT2 of the location selected by the "new entry bit" is then examined to determine whether the previous entry had been modified. If any AT2 bits are set the corresponding bytes in the old entry are written into the main store addressed by the address AT1 in the old entry to up-date the main store. The location thus freed in the buffer is then loaded at AT 1 with the new double word address, at AT2 with the selection signals, and with the (up to four). data bytes to be written. If the selection field AT2 of the old entry in the buffer indicated that no modification had occurred the new data is simply written into the buffer as above. Read.-The address field AT1 of the buffer is searched as in a write operation (above) to determine whether the corresponding data is present in the buffer. If it is present the "up to date bit" is examined to determine whether the copy is complete, e.g. in the write operation above the new entry contains only up to four data bytes. If the entry is complete the required (up to four) data bytes are read in accordance with selection signals. If the entry is not complete the selection signals are associatively matched with the selection field AT2 of the entry to determine whether all required bytes are present in the buffer. If they are present they are read as above. If they are not present the main store is accessed at the address given by the address field AT1 and those bytes corresponding to all AT2 bits not set are transferred into the buffer to complete the entry which is then read as above. If the initial search of the address field AT1 was unsuccessful one of the locations pointed to by a "new entry bit" is selected (see "Write" above) and its ATS field examined to determine whether the data has been modified. If any modification has occurred the corresponding bytes determined by ATZ are read into the main store at the address determined by AT1. The main store is then accessed at an address determined by the double word address for which the initial search failed and the corresponding (eight bytes of) data are loaded in the buffer at the freed location together with the main store address and the "up to date" bit is set. The appropriate bytes are read from the new entry in accordance with the selection signals. If the AT2 field of the old entry indicated that no modification had occurred the new entry is copied into the buffer and accessed as above. Further details-The read operation may be modified as follows. In a "read and mark" operation the data bytes read from the buffer are rewritten together with the selection signals which are written in the AT2 field to mark the bytes which were read. In a "read and erase" operation the read data bytes are rewritten as zero and the AT2 field loaded as above. Arrangements are provided to bypass the auxiliary store with an access request, e.g. where the request relates to fault words stored in the main store, or where the initial AT1 search in the buffer fails, subsequent transfer to the buffer (as described above) being omitted and the data accessed directly from the main store. The validity bits in the buffer store may be set, e.g. following a power failure, when the contents of the store cannot be guaranteed and reset following a further write operation into the buffer. The validity bits may also be set when a parity error occurs, e.g. the parity bit PB is used to check the parity of a double word address supplied to the buffer.