Extended error correction for SEC-DED codes with package error detection ability
AssigneeInternational Business Machines Corporation
InventorsChin-Long Chen, Douglas C. Bossen
Life of this patent
Estimating the term…
Abstract
An apparatus and method is provided for correcting data words resulting from a package fail within a memory array in which coded data is divided into a plurality of multi-bit packages of b bits each. The coded data comprises n-bit words with r error correcting code bits and n-r data bits. The invention is capable of correcting one package which has suffered at least one hard failure. The invention correcting exploits single error correcting (SEC)-and double error detecting (DED) codes, requiring no additional check bits, which give a syndrome when the data word has suffered an error coming from at least one error in a package.
Claims10
A method of correcting multiple errors in a digital n-bit error correction-coded word, each word comprising a plurality of b-bit packages, said method comprising:
- receiving from a data source an n-bit word, n being an integer;
- executing an error correction code on said received n-bit word to correct up to a first predetermined number of errors in a predetermined distribution in said data word, said executing an error correction code including
- generating a syndrome for said n-bit data word, and
- detecting an error in excess of said predetermined number of errors in said predetermined distribution;
- determining a complemented word by complementing said n-bit word in response to detecting an error in excess of said predetermined number of errors;
- storing said complemented word in said data source;
- retrieving said complemented word from said data source;
- determining a re-complemented word by complementing said complemented word retrieved from said data source;
- executing an error correction code on said re-complemented word to determined said error in excess of said predetermined number of errors is a hard error caused by a faulty element in said data source;
- determining a position of a b-bit package within said n-bit word, said b-bit package including said hard error, b being an integer;
- determining an error pattern for said b-bit package using said position and said syndrome;
- and
- correcting said n-bit word using said error pattern.
A storage medium encoded with machine-readable computer program code for correcting multiple errors in a digital n-bit error correction-coded word, the storage medium including instructions for causing a computer to implement a method comprising:
- receiving from a data source an n-bit word, n being an integer;
- executing an error correction code on said received n-bit word to correct up to a first predetermined number of errors in a predetermined distribution in said data word, said executing an error correction code including
- generating a syndrome for said n-bit data word, and
- detecting an error in excess of said predetermined number of errors in said predetermined distribution;
- determining a complemented word by complementing said n-bit word in response to detecting an error in excess of said predetermined number of errors;
- storing said complemented word in said data source;
- retrieving said complemented word from said data source;
- determining a re-complemented word by complementing said complemented word retrieved from said data source;
- executing an error correction code on said re-complemented word to determined said error in excess of said predetermined number of errors is a hard error caused by a faulty element in said data source;
- determining a position of a b-bit package within said n-bit word, said b-bit package including said hard error, b being an integer;
- determining an error pattern for said b-bit package using said position and said syndrome;
- and
- correcting said n-bit word using said error pattern.
Dependencies are inferred from the claim text.