US5202979A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Storage system using multiple independently mechanically-driven storage units
Assignee: Thinking Machines Corp
•
Filing: 1992-06-26
•
Granted: 1993-04-13
•
Expires: 2012-06-26
Abstract
Abstract A storage system for data words in which error correction bits are generated for each data word and are stored independently from the data word on a separate mechanically-driven medium. In another aspect, the storage system serves a wide high throughput parallel bus by storing different portions of each data word that appears on the bus in different asynchronous storage units.
Inventors
- 👤 W. Daniel Hillis
- 👤 Clement K. Liu
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 05:11
CPC Classifications
G; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
266 words
A system for storing digital data words, each data word having a plurality of multi-bit data portions, and for delivering said data words in succession to a parallel data bus in response to a retrieval request, said system comprising: A. a plurality of data storage units each having a mechanically driven medium, said media of said different storage units being driven independently of each other, said data storage units storing data words with each data storage unit storing in parallel a respective one of said multi-bit data portions for each data word; B. at least one correction bit storage unit including a storage medium that is mechanically driven independently from the mechanically-driven media on which said data word is stored, for storing an error correction code associated with said data words, and C. an adapter connected to said parallel data bus, said data storage units and said correction bit storage unit for, in response to a retrieval request, (i) enabling said data storage units to contemporaneously retrieve respective data portions of selected data words and said correction bit storage unit to the retrieve error correction codes associated with said selected data words contemporaneously with the retrievals by said data storage units, (ii) assembling said respective data portions into said selected data words and (iii) use the associated error correction codes to perform an error detection and correction operation with respect to each said selected data word to determine whether it is correct and if not to generate a respective corrected data word, and (iv) thereafter to transmit the selected data words over said parallel data bus.
Claim 2
Independent Claim
266 words
A system for storing digital data words, each data word having a plurality of multi-bit data portions, and for delivering said data words in succession to a parallel data bus in response to a retrieval request, said system comprising: A. a plurality of data storage units each having a mechanically driven medium, said media of said different storage units being driven independently of each other, said data storage units storing data words with each data storage unit storing in parallel a respective one of said multi-bit data portions for each data word; B. at least one correction bit storage unit including a storage medium that is mechanically driven independently from the mechanically-driven media on which said data word is stored, for storing an error correction code associated with said data words, and C. an adapter connected to said parallel data bus, said data storage units and said correction bit storage unit for, in response to a retrieval request, (i) enabling said data storage units to contemporaneously retrieve respective data portions of selected data words and said correction bit storage unit to the retrieve error correction codes associated with said selected data words contemporaneously with the retrievals by said data storage units, (ii) assembling said respective data portions into said selected data words and (iii) use the associated error correction codes to perform an error detection and correction operation with respect to each said selected data word to determine whether it is correct and if not to generate a respective corrected data word, and (iv) thereafter to transmit the selected data words over said parallel data bus.
Claim 3
Dependent Claim
60 words
A system as defined in claim 1 in which the correction bit storage unit stores error correction bits such that, if a data storage unit fails, the adapter can, while performing an error detection and correction operation with respect to each of said selected data words, determine a value for the data portion stored on the failed data storage unit.
Claim 4
Dependent Claim
107 words
A system as defined in claim 1 in which each error correction code includes a plurality of multi-bit code portions and said system includes a corresponding number of correction bit storage units each for storing one of said code portions, said adapter (i) enabling said correction bit storage units to contemporaneously retrieve code portions associated with the selected data words, the retrieval by said correction bit storage units taking place contemporaneously with the retrieval by said data storage units of the data portions of the selected data words and (ii) using the retrieved code portions as the error correction codes in the error detection and correction operation.
Claim 5
Dependent Claim
180 words
A system as defined in claim 1 in which said adapter includes: A. storage unit interface for enabling said data storage units to contemporaneously retrieve respective data portions of selected data words and said correction bit storage unit to the retrieve error correction codes associated with said selected data words contemporaneously with the retrievals by said data storage units; B. a data word assembler for assembling said respective data portions retrieved by said storage unit interface into said selected data words; C. an error correction code check portion for, for each data word assembled by said data word assembler, using the associated error correction codes to perform an error detection and correction operation with respect to each said selected data word to generate a corrected selected data word, said corrected selected data word corresponding to said selected data word if the error correction code check portion determines that the selected data word is correct; and D. a data bus interface for transmit the corrected selected data words generated by said error correction code check portion over said parallel data bus.
Claim 6
Dependent Claim
113 words
A system as defined in claim 4 in which each error correction code includes a plurality of multi-bit code portions and said system includes a corresponding number of correction bit storage units each for storing one of said code portions, said storage unit interface enabling said correction bit storage units to contemporaneously retrieve code portions associated with the selected data words, the retrieval by said correction bit storage units taking place contemporaneously with the retrieval by said data storage units of the data portions of the selected data words and said error correction code check portion using the retrieved code portions as the error correction codes in the error detection and correction operation.
Claim 7
Dependent Claim
55 words
A system as defined in claim 4 in which said storage unit interface receives from each said data storage unit storage words each comprising a predetermined number of said data portions, said data word assembler assembling from respective data portions of storage words received from all of said storage units a plurality of data words.
Claim 8
Dependent Claim
96 words
A system as defined in claim 1 in which each of said data storage units and said correction bit storage unit includes an arrangement for writing onto their respective storage media, said adapter further in response to a storage request including data words, each data word including a plurality of multi-bit portions, (i) generating an error correction code for each data word, (ii) dividing each data word into a plurality of multi-bit portions, and (iii) transmitting said multi-bit portions and error correction code to respective data storage units and said correction bit storage unit for storage.
Claim 9
Dependent Claim
63 words
A system as defined in claim 7 in which the adapter generates correction bits for storage in said bit storage unit such that, if a data storage unit fails, the adapter can, while performing an error detection and correction operation with respect to each of said selected data words, determine a value for the data portion stored on the failed data storage unit.
Claim 10
Dependent Claim
53 words
A system as defined in claim 6, said adapter generating said error correction code as a plurality of multi-bit code portions and said system includes a number of correction bit storage units each for storing one of said code portions, said adapter transmitting said code portions to respective correction bit storage units contemporaneously.
Claim 11
Dependent Claim
133 words
A system as defined in claim 6 in which: A. said data but interface further receives storage requests and data from said parallel bus; B. said storage unit interface transmits data word portions and error correction codes to respective data storage units and said correction bit storage unit for storage; and C. said adapter further includes: (i) an error correction code generator for generating an error correction code for each data word to be stored, and transferring said error correction code to said storage unit interface for transfer to said correction bit storage unit for storage; and (ii) a data word dividing circuit for dividing each data word into a plurality of multi-bit portions and transferring said data word to said storage unit interface for transfer to said data storage units for storage.
Claim 12
Dependent Claim
60 words
A system as defined in claim 10 in which said storage unit interface transmits to each said data storage unit storage words each comprising a predetermined number of said data portions, said data word dividing circuit forming storage words each to be transmitted to a storage unit from a plurality from respective data portions of a plurality of data words.
Claim 13
Dependent Claim
87 words
A system as defined in claim 10 in which each error correction code includes a plurality of multi-bit code portions and said system includes a corresponding number of correction bit storage nits each for storing one of said code portions, said error correction code generator including an error correction code dividing circuit for dividing each error correction code generated thereby into respective code portions for transfer to said storage unit interface, said storage unit interface transferring said code portions to respective correction bit storage units for storage.
Claim 14
Independent Claim
233 words
A system for storing digital data words, each data word having a plurality of multi-bit data portions, and for storing said data words in response to a storage request received over a parallel data bus, said system comprising: A. a plurality of data storage units each having a mechanically driven medium, said media of said different storage units being driven independently of each other, said data storage units storing data words with each data storage unit storing in parallel a respective one of said multi-bit data portions for each data word, each data storage unit including an arrangement for writing data portions onto its respective storage media, B. at least one correction bit storage unit including a storage medium that is mechanically driven independently from the mechanically-driven media on which said data word is stored, for storing an error correction code associated with said data words, said correction bit storage unit including an arrangement for writing correction bits onto its storage media, and C. an adapter connected to said parallel data bus, said data storage units and said correction bit storage unit for, in response to a storage request, (i) generating an error correction code for each data word, (ii) dividing each data word into a plurality of multi-bit portions, and (iii) transmitting said multi-bit portions and error correction code to respective data storage units and said correction bit storage unit for storage.
Claim 15
Independent Claim
233 words
A system for storing digital data words, each data word having a plurality of multi-bit data portions, and for storing said data words in response to a storage request received over a parallel data bus, said system comprising: A. a plurality of data storage units each having a mechanically driven medium, said media of said different storage units being driven independently of each other, said data storage units storing data words with each data storage unit storing in parallel a respective one of said multi-bit data portions for each data word, each data storage unit including an arrangement for writing data portions onto its respective storage media, B. at least one correction bit storage unit including a storage medium that is mechanically driven independently from the mechanically-driven media on which said data word is stored, for storing an error correction code associated with said data words, said correction bit storage unit including an arrangement for writing correction bits onto its storage media, and C. an adapter connected to said parallel data bus, said data storage units and said correction bit storage unit for, in response to a storage request, (i) generating an error correction code for each data word, (ii) dividing each data word into a plurality of multi-bit portions, and (iii) transmitting said multi-bit portions and error correction code to respective data storage units and said correction bit storage unit for storage.
Claim 16
Dependent Claim
63 words
A system as defined in claim 13 in which the adapter generates correction bits for storage in said bit storage unit such that, if a data storage unit fails, the adapter can, while performing an error detection and correction operation with respect to each of said selected data words, determine a value for the data portion stored on the failed data storage unit.
Claim 17
Dependent Claim
53 words
A system as defined in claim 14 said adapter generating said error correction code as a plurality of multi-bit code portions and said system includes a number of correction bit storage units each for storing one of said code portions, said adapter transmitting said code portions to respective correction bit storage units contemporaneously.
Claim 18
Dependent Claim
132 words
A system as defined in claim 14 in which said adapter includes: A. a data bus interface for receiving storage requests and data from said parallel bus; B. a storage unit interface for transmitting data word portions and error correction codes to respective data storage units and said correction bit storage unit for storage; and C. an error correction code generator for generating an error correction code for each data word to be stored, and transferring said error correction code to said storage unit interface for transfer to said correction bit storage unit for storage; and D. a data word dividing circuit for dividing each data word into a plurality of multi-bit portions and transferring said data word to said storage unit interface for transfer to said data storage units for storage.
Claim 19
Dependent Claim
60 words
A system as defined in claim 16 in which said storage unit interface transmits to each said data storage unit storage words each comprising a predetermined number of said data portions, said data word dividing circuit forming storage words each to be transmitted to a storage unit from a plurality from respective data portions of a plurality of data words.
Claim 20
Dependent Claim
87 words
A system as defined in claim 16 in which each error correction code includes a plurality of multi-bit code portions and said system includes a corresponding number of correction bit storage units each for storing one of said code portions, said error correction code generator including an error correction code dividing circuit for dividing each error correction code generated thereby into respective code portions for transfer to said storage unit interface, said storage unit interface transferring said code portions to respective correction bit storage units for storage.
References Cited (Backward Citations)
US3437998A
Cited
US3417377A
Cited
US3568160A
Cited
US3840864A
Cited
US3876978A
Cited
US4007448A
Cited
US4064489A
Cited
US4092732A
Cited
US4200928A
Cited
US4292684A
Cited
US4211997A
Cited
US4308557A
Cited
US4413340A
Cited
US4467373A
Cited
US4413317A
Cited
US4434487A
Cited
US4527273A
Cited
US4525839A
Cited
US4530048A
Cited
EP0112676A2
Cited
EP0117287A2
Cited
US4817035A
Cited
EP0156440A2
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1996-04-12 | 1996-10-12 | 1997-04-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2000-04-12 | 2000-10-12 | 2001-04-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2004-04-12 | 2004-10-12 | 2005-04-13 | $7700.00 | Window Closed / Lapsed |