Error detection and correction for data stored across multiple byte-wide memory devices
First Claim
1. A fault-tolerant, fail passive digital computing system, said system comprising:
- a processor;
a memory for storing at least one linear block codeword across a plurality of byte-wide memory devices, said codeword including a dataword and a plurality of checkbits associated therewith;
a databus comprising a plurality of byte-wide partitions, the databus coupling the processor to the memory; and
,an error detection and correction means connected to said processor and said memory on said databus for receiving said at least one linear block codeword from said memory or said processor, said error detection and correction means including a syndrome generator having an H matrix for detecting and correcting any single bit error in said linear block codeword transported on said databus such that any byte-wide errors in said linear block codeword are confined to one of said plurality of byte-wide partitions.
0 Assignments
0 Petitions
Accused Products
Abstract
A digital computing system includes a first and second processor clocked for locked step operation. A shared memory stores a linear block codeword across a plurality of byte-wide memory devices. The codeword includes a first dataword and a second dataword. Each of the first and second datawords includes an equal plurality of databits and each includes an equal plurality of checkbits associated therewith. First error detection and correction logic connected to the first processor receives the first dataword and checkbits associated therewith of the codeword addressed by the first processor and a second dataword and checkbits associated therewith of the codeword addressed by the second processor. First error detection and correction logic detects and/or corrects errors in the codeword. Second error detection and correction logic connected to the second processor receives the second dataword and checkbits associated therewith of the codeword addressed by the second processor and the first dataword and checkbits associated therewith of the codeword addressed by the first processor. The second error detection and correction logic detects and/or corrects errors in the codeword.
173 Citations
20 Claims
-
1. A fault-tolerant, fail passive digital computing system, said system comprising:
-
a processor; a memory for storing at least one linear block codeword across a plurality of byte-wide memory devices, said codeword including a dataword and a plurality of checkbits associated therewith; a databus comprising a plurality of byte-wide partitions, the databus coupling the processor to the memory; and
,an error detection and correction means connected to said processor and said memory on said databus for receiving said at least one linear block codeword from said memory or said processor, said error detection and correction means including a syndrome generator having an H matrix for detecting and correcting any single bit error in said linear block codeword transported on said databus such that any byte-wide errors in said linear block codeword are confined to one of said plurality of byte-wide partitions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of storing data in a memory comprising:
-
generating a first copy of the data at a first processor; providing the first copy of the data to a first error detector having a first read-only port and a first read/write port, the first read/write port being coupled to the memory; generating a second copy of the data at a second processor; providing the second copy of the data to a second error detector having a second read/write port and a second read-only port, the second read/write port being coupled to the memory and to the first read-only port, and the second read-only port being coupled to the first read/write port; generating a first set of checkbits at the first error detector based upon the first copy of the data; generating a second set of checkbits at the second error detector based upon the second copy of the data; providing a first output data from the first read/write port, the first output data comprising a first portion of the first copy of the data and a first portion of the first set of checkbits; providing a second output data from the second read/write port, the second output data comprising a second portion of the second copy of the data and a second portion of the second set of checkbits; monitoring the first output data at the second error detector; monitoring the second output data at the first error detector; and storing the first and second output data in the memory. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for exchanging data having a first portion and a second portion between a first processor, a second processor and a shared memory, the system comprising:
-
a first error detector associated with the first processor having a first port and a second port, the second port being coupled to the memory; and a second error detector having a third port and a fourth port, the third port being coupled to the memory and to the first port, and the fourth port being coupled to the second port; whereby the first and second error detector each comprise a parity check matrix for generating a plurality of checkbits from the data, and whereby the first error detector provides first output data which comprises the first portion of the data via the second port, and whereby the second error detector provides second output data which comprises a second portion of the data via the third port, and whereby the first error detector monitors the second portion of the data via the first port based upon the plurality of checkbits, and whereby the second error detector monitors the first portion of the data via the fouth port based upon the plurality of checkbits. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification