US4319357A - Double error correction using single error correcting code - Google Patents
Double error correction using single error correcting code Download PDFInfo
- Publication number
- US4319357A US4319357A US06/103,633 US10363379A US4319357A US 4319357 A US4319357 A US 4319357A US 10363379 A US10363379 A US 10363379A US 4319357 A US4319357 A US 4319357A
- Authority
- US
- United States
- Prior art keywords
- error
- syndrome
- word
- location
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1024—Identification of the type of error
Definitions
- the present invention relates to the correction of errors in stored data using single error correcting, double error detecting (SEC/DED) code and more particularly, it relates to correcting a double error consisting of one fixed error and one transitory error using an SEC/DED code.
- SEC/DED single error correcting, double error detecting
- Errors in data stored in memories can be said to have two major causes.
- One cause is the intrinsic physical failure of memory components which usually produces a permanent or "hard” error.
- the other cause is non-destructive environmental phenomena which causes errors which for the most part are transient, intermittent or "soft" errors.
- soft errors due to external or environmental interference are more prevalent than hard errors resulting from component failures.
- Laboratory evidence shows that the alpha-particle induced failure rate alone is one to two orders of magnitude higher than the memory chips basic intrinsic failure rate.
- alpha-induced failure rates usually are higher at higher chip densities indicating that soft errors will be of even greater significance in the future.
- Error correcting codes have traditionally been used in improving reliability in the storage area of computers.
- the most widely used codes are single error correcting and double error detecting SEC/DED codes.
- This class of codes is most effective in memory systems organized on a one bit per card, chip or module basis. With the one bit per card, chip or module organization, multiple errors caused by the failure of a card, chip or module will only cause a single bit error in any encoded data word.
- the mapping of component failures into single bit errors has resulted in the use of delayed system maintenance procedures that allow component failures to accumulate to some threshold level before they are repaired or replaced. This is done under the assumption that the errors caused by the component failures will be corrected by the SEC/DED error correction system.
- the memory location where the data word was stored is then checked using ancillary correction means to locate stuck bits in the data word location.
- a syndrome is thereafter generated for a data word with stuck bits in the positions located by the ancillary process. If this syndrome matches the stored syndrome the word is corrected by inverting the data bits in the stored data word at the stuck bit positions. If it doesn't the suggestion is that the actual bits among the faulty bits in error can be determined by "iterative partitioning" of the faulty bits and determining the error syndrome for each portion.
- a new error correcting scheme for using a SEC/DED code to correct a two bit error where one of the errors is a hard error and the other is a soft error.
- the data word containing the error and syndrome generated from that word are saved while the location in storage where the data word was stored is tested using an ancillary error correction technique to locate the one hard error.
- a syndrome is generated for the flawed word assuming only a single hard error in the location determined by the ancillary technique.
- the generated syndrome is then exclusive OR'd with the saved double error syndrome to obtain a third syndrome locating the position of the transitory error.
- the saved data word is thereafter corrected by inverting data bits in the calculated locations.
- FIG. 1 illustrates a bit per card organization for a memory.
- FIG. 2 is a matrix for a single error correcting double error detecting code.
- FIG. 3 is a flow diagram for embodiment of the invention.
- FIG. 4 is a table of the test patterns for locating a hard error.
- FIG. 5 is a table of valid single error locators generated from the test patterns of FIG. 4.
- FIG. 6 is a schematic of an implementation of the flow diagram of FIG. 3.
- any single or multi bit failure associated with one chip is correctable using a single error correcting double error detecting code. This is because all the errors on a single chip are located in one bit position of a data word protected by the code.
- FIG. 2 is a matrix for a SEC/DED code for protecting a data word of 64 data bits with 8 check bits. Its basic properties and implementation are described in U.S. Pat. No. 3,623,155. With an error indication and a match in one of the columns of the matrix in FIG. 2 a single error is assumed in the matched column's bit position. If there is an error indication and no match in any column of the matrix an Uncorrectable Error (UE) has been detected. Likewise, an error indication with an even number of 1's in the 8 check bits of the matrix indicates an even number of errors which is an uncorrectable error condition with the particular code.
- UE Uncorrectable Error
- S u is the syndrome for the data word with the uncorrectable double error
- S h and S.sub. ⁇ are the syndromes for the same data word with correctable single errors in locations h and ⁇ respectively.
- formula (1) can now be used to correct those double bit errors made up of one hard error and one soft error.
- the ECC hardware detects 1 an uncorrectable error condition in an encoded data word stored in some location in memory, that encoded data word is saved 2 along with the syndrome generated by the ECC hardware from that encoded word.
- Exerciser diagnostic patterns shown in FIG. 4 are then used to locate the bit position of the hard error by interrogating 3 the memory location.
- Each of the patterns P 1 , P 2 and P 3 is written into the location and read out of the location.
- Syndromes S 1 , S 2 and S 3 are generated from the read out data.
- Each of these three syndromes is decoded 5 by the ECC circuitry to determine the locations (LOC) of any bits in error. If there is no valid single error syndrome among the three syndromes or if the syndromes S 1 , S 2 and S 3 are inconsistent, or in other words if the set of locations Loc (S 1 ), Loc (S 2 ) and Loc (S 3 ) obtained from the three syndromes is not one listed in FIG. 5, the correcting scheme is terminated 6 and a true uncorrectable error condition is indicated.
- the final consistency test 8 is checking syndrome S.sub. ⁇ to determine if it is a valid single error syndrome. If it is, the bit position ⁇ of the soft error is known and the stored word can be corrected by inverting 9 the bits at locations ⁇ and n. If not, an indication is given that a true uncorrectable error condition exists.
- FIG. 6 The apparatus for doing this is shown in FIG. 6.
- a word 10 accessed from the memory 12 into storage data register 14, is transmitted to an output register 16 and to a syndrome generator 18.
- the syndrome generator 18 generates a syndrome which is fed to an associative store 20.
- the associative store 20 is a 73 word memory storing each of the syndromes for a single bit in error at any one of the 72 bit locations of the word plus the syndrome for no bits in the word in error.
- Stored along with the syndrome is a 7 bit number identifying the position of the bit error in binary sequence.
- the syndrome generator 18 produces a syndrome of all zeros, or in other words, a syndrome which indicates no bits in the accessed word are in error.
- Stored along with the syndrome in associative store with the all zero syndrome would be a string of seven additional zeros indicating that there is no error.
- This string of seven zeros is fed to a controller 22 which then generates a gate signal for gate 24 allowing the error free data word stored in register 16 to be transmitted to the processor.
- the syndrome generator generates a syndrome S h that would indicate that a single bit error has occurred.
- a syndrome generator 18 generates a syndrome S h that does not match with any of the 73 syndromes stored in the associative store 20.
- Associative store 20 then generates a no compare signal C and feeds it to the error control 22.
- the error control 22 Upon receipt of a no compare signal, the error control 22 stores the uncorrectable error syndrome in the SU register 28. It also transmits the test words P 1 , P 2 and P 3 from the store 30 to the storage data register 14 for reading into the flawed storage location 10.
- the syndrome generator 18 generates the appropriate one of the syndromes S 1 , S 2 and S 3 when one of the syndromes S 1 , S 2 , S 3 is received by the associative store 20 from the syndrome generator 18 the associative store generates a compare or a no compare signal and with a compare signal, an error location. If there is three no compare signals, the error control terminates the error correction process and indicates an uncorrectable error condition exists. Likewise, if the compare signals generated for two or more of the syndromes S 1 , S 2 and S 3 point to different bits in error the controller 20 terminates the error correction process and indicates a true uncorrectable error condition exists.
- the error controller loads the syndrome S h for the location identified by the three syndromes into the S h register 32 and then feeds the contents of both registers 28 and 32 into Exclusive OR circuit 34 to perform an Exclusive OR function of the two syndromes S u and S h .
- the output S.sub. ⁇ of the Exclusive OR circuit 34 is fed back into the associative store 20 to determine if it matches any of the syndromes stored in the associative store 20.
- a no compare signal is generated by the associative store 20 and fed to the controller 22 which then terminates the error correction process and indicates a true uncorrectable error condition exists. If it does, the error controller receives a compare signal and the location ⁇ of the bit in error is transmitted to the decoder from the store in 7 bit binary notation to invert the data in bit location of the register 16.
- the syndrome S h is then fed from register 32 to the store 20 which feeds the location of bit h to the decoder 26.
- the decoder 26 then instructs the bit inverter 26 to invert the bit h.
- the data stored in register 16 is now correct and the controller 22 opens the gate 24 and transmits the data to the processor.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
A single error correcting double error detecting (SEC/DED) error correcting code for a memory is used to correct one fixed error and one transitory error in a data word stored in the memory. The erroneous data word and syndrome generated therefrom by the error correcting code circuitry are saved while the memory location of the flawed word is checked to determine the location of the one fixed error using a ancillatory error correction technique. A syndrome is then generated for the word assuming only a single fixed error in the location determined using the ancillatory technique. Thereafter, the generated and saved syndromes are exclusive OR'd together to obtain another syndrome locating the position of the transitory error. With both errors located, the word is corrected by inverting the erroneous data bits.
Description
The present invention relates to the correction of errors in stored data using single error correcting, double error detecting (SEC/DED) code and more particularly, it relates to correcting a double error consisting of one fixed error and one transitory error using an SEC/DED code.
Errors in data stored in memories can be said to have two major causes. One cause is the intrinsic physical failure of memory components which usually produces a permanent or "hard" error. The other cause is non-destructive environmental phenomena which causes errors which for the most part are transient, intermittent or "soft" errors. In present day monolithic memory chips, soft errors due to external or environmental interference, are more prevalent than hard errors resulting from component failures. Laboratory evidence shows that the alpha-particle induced failure rate alone is one to two orders of magnitude higher than the memory chips basic intrinsic failure rate. Furthermore, alpha-induced failure rates usually are higher at higher chip densities indicating that soft errors will be of even greater significance in the future.
Error correcting codes have traditionally been used in improving reliability in the storage area of computers. In the semiconductor memory area, the most widely used codes are single error correcting and double error detecting SEC/DED codes. This class of codes is most effective in memory systems organized on a one bit per card, chip or module basis. With the one bit per card, chip or module organization, multiple errors caused by the failure of a card, chip or module will only cause a single bit error in any encoded data word. The mapping of component failures into single bit errors has resulted in the use of delayed system maintenance procedures that allow component failures to accumulate to some threshold level before they are repaired or replaced. This is done under the assumption that the errors caused by the component failures will be corrected by the SEC/DED error correction system. However, with the high levels of soft errors found in modern semiconductor memories, these system maintenance strategies cause a high uncorrectable error (UE) rate as a result of double errors caused by the lining up of a hard error from a component failure with a soft error resulting from alpha particle bombardment. To reduce the number of uncorrectable errors, maintenance strategies could be altered so that fewer component failures are allowed to accumulate. This of course causes higher replacement rates for storage components, and thus higher parts and service costs. Alternatively double error correcting (DEC) codes could be substituted for the SEC/DED codes to correct multi-bit errors resulting from the lining up of a hard error with a soft error. However this would require greater redundancy in the encoded data words and more complex encoding and decoding circuits. Therefore, both these solutions exact a heavy overhead burden and should not be resorted to unless absolutely necessary.
In the past single error double detecting error codes have been used to correct more than one error. For instance, U.S. Pat. No. 3,656,107, suggests that bits in the data word with the double error be changed one after another until the syndrome indicates that the double error is eliminated. Then a new syndrome is generated to locate the single remaining error. In addition, U.S. Pat. No. 4,139,148 describes correcting double bit errors using a SEC/DED code by saving of previously occurring single error syndromes and using them to correct one error bit when double bit error occurring in the same word in storage. Furthermore, it has been suggested that an error correction scheme which involves saving the data word and syndrome when the data word contains too many errors for the error correcting code to correct. The memory location where the data word was stored is then checked using ancillary correction means to locate stuck bits in the data word location. A syndrome is thereafter generated for a data word with stuck bits in the positions located by the ancillary process. If this syndrome matches the stored syndrome the word is corrected by inverting the data bits in the stored data word at the stuck bit positions. If it doesn't the suggestion is that the actual bits among the faulty bits in error can be determined by "iterative partitioning" of the faulty bits and determining the error syndrome for each portion.
In accordance with the present invention, a new error correcting scheme is provided for using a SEC/DED code to correct a two bit error where one of the errors is a hard error and the other is a soft error. Whenever a double error is indicated, the data word containing the error and syndrome generated from that word are saved while the location in storage where the data word was stored is tested using an ancillary error correction technique to locate the one hard error. Then a syndrome is generated for the flawed word assuming only a single hard error in the location determined by the ancillary technique. The generated syndrome is then exclusive OR'd with the saved double error syndrome to obtain a third syndrome locating the position of the transitory error. The saved data word is thereafter corrected by inverting data bits in the calculated locations.
Therefore, it is an object of the present invention to provide a new means of correcting two errors.
It is another object of the present invention to correct one transitory and one hard error using a single error correcting double error detecting code.
These and other objects of the present invention will be better understood in reference to reading the following description of the preferred embodiment as shown in the accompanying drawings.
FIG. 1 illustrates a bit per card organization for a memory.
FIG. 2 is a matrix for a single error correcting double error detecting code.
FIG. 3 is a flow diagram for embodiment of the invention.
FIG. 4 is a table of the test patterns for locating a hard error.
FIG. 5 is a table of valid single error locators generated from the test patterns of FIG. 4.
FIG. 6 is a schematic of an implementation of the flow diagram of FIG. 3.
As shown in FIG. 1, in a bit-per-chip word organized memory, any single or multi bit failure associated with one chip is correctable using a single error correcting double error detecting code. This is because all the errors on a single chip are located in one bit position of a data word protected by the code.
FIG. 2 is a matrix for a SEC/DED code for protecting a data word of 64 data bits with 8 check bits. Its basic properties and implementation are described in U.S. Pat. No. 3,623,155. With an error indication and a match in one of the columns of the matrix in FIG. 2 a single error is assumed in the matched column's bit position. If there is an error indication and no match in any column of the matrix an Uncorrectable Error (UE) has been detected. Likewise, an error indication with an even number of 1's in the 8 check bits of the matrix indicates an even number of errors which is an uncorrectable error condition with the particular code.
In the three cases stated above, only the last two cause an uncorrectable error. Since the memory is arranged as in FIG. 1, errors are assumed to be statistically independent. Therefore, it can be validly assumed that within a given code word double bit errors are much more likely to happen than triple, quadruple or higher multiple bit errors. Making this assumption, let h be the bit location of the "hard" error where 0≦h≦71 and let α be the bit location of the "soft" error where 0≦α≦71 and α≠h. Then
S.sub.u =S.sub.h VS.sub.α (1)
where Su is the syndrome for the data word with the uncorrectable double error and Sh and S.sub.α are the syndromes for the same data word with correctable single errors in locations h and α respectively.
As shown in FIG. 3, formula (1) can now be used to correct those double bit errors made up of one hard error and one soft error. When the ECC hardware detects 1 an uncorrectable error condition in an encoded data word stored in some location in memory, that encoded data word is saved 2 along with the syndrome generated by the ECC hardware from that encoded word.
Exerciser diagnostic patterns shown in FIG. 4 are then used to locate the bit position of the hard error by interrogating 3 the memory location. Each of the patterns P1, P2 and P3 is written into the location and read out of the location. Syndromes S1, S2 and S3 are generated from the read out data. Each of these three syndromes is decoded 5 by the ECC circuitry to determine the locations (LOC) of any bits in error. If there is no valid single error syndrome among the three syndromes or if the syndromes S1, S2 and S3 are inconsistent, or in other words if the set of locations Loc (S1), Loc (S2) and Loc (S3) obtained from the three syndromes is not one listed in FIG. 5, the correcting scheme is terminated 6 and a true uncorrectable error condition is indicated.
If the set of locations Loc (S1), Loc (S2) and Loc (S3) obtained from the three syndromes S1, S2 and S3 is consistent, that is they are identical to a set listed in FIG. 5. It is assumed that that bit position indicated by the set is the bit location h of the hard error. The syndrome Sh is then generated 7 assuming one error in bit position h and then the syndrome S.sub.α is calculated by Exclusive ORing the stored syndrome Su with the computed syndrome Sh or S.sub.α =Su VSh.
The final consistency test 8 is checking syndrome S.sub.α to determine if it is a valid single error syndrome. If it is, the bit position α of the soft error is known and the stored word can be corrected by inverting 9 the bits at locations α and n. If not, an indication is given that a true uncorrectable error condition exists.
The apparatus for doing this is shown in FIG. 6. As shown, a word 10 accessed from the memory 12 into storage data register 14, is transmitted to an output register 16 and to a syndrome generator 18. The syndrome generator 18 generates a syndrome which is fed to an associative store 20. The associative store 20 is a 73 word memory storing each of the syndromes for a single bit in error at any one of the 72 bit locations of the word plus the syndrome for no bits in the word in error. Stored along with the syndrome is a 7 bit number identifying the position of the bit error in binary sequence. When an inter-rogation of the table 20 results in a match condition the stored syndrome and the 7 bit binary number identifying the bit position in error are read from the associative store.
Assume that the syndrome generator 18 produces a syndrome of all zeros, or in other words, a syndrome which indicates no bits in the accessed word are in error. Stored along with the syndrome in associative store with the all zero syndrome would be a string of seven additional zeros indicating that there is no error. This string of seven zeros is fed to a controller 22 which then generates a gate signal for gate 24 allowing the error free data word stored in register 16 to be transmitted to the processor. Again, assume that the syndrome generator generates a syndrome Sh that would indicate that a single bit error has occurred. Since all the syndromes identifying single bit errors are stored in the table 20, inter-rogating with the syndrome Sh results in the syndrome Sh and the location h of the bit in error in 7 bit binary notation being read out of the associative store 20. The seven bit binary location of the bit in error is fed to the decoder 26 which informs the bit inverter 27 of the particular bit h in error causing the inverter to correct the bit by inverting that bit in the word stored in the output registers 16. The controller then opens the gate 24 to transmit the corrected word to the processor.
Finally, assume now that a syndrome generator 18 generates a syndrome Sh that does not match with any of the 73 syndromes stored in the associative store 20. Associative store 20 then generates a no compare signal C and feeds it to the error control 22. Upon receipt of a no compare signal, the error control 22 stores the uncorrectable error syndrome in the SU register 28. It also transmits the test words P1, P2 and P3 from the store 30 to the storage data register 14 for reading into the flawed storage location 10. As each of these words is read into the memory 12 and then read out, the syndrome generator 18 generates the appropriate one of the syndromes S1, S2 and S3 when one of the syndromes S1, S2, S3 is received by the associative store 20 from the syndrome generator 18 the associative store generates a compare or a no compare signal and with a compare signal, an error location. If there is three no compare signals, the error control terminates the error correction process and indicates an uncorrectable error condition exists. Likewise, if the compare signals generated for two or more of the syndromes S1, S2 and S3 point to different bits in error the controller 20 terminates the error correction process and indicates a true uncorrectable error condition exists. However, if the interrogations by the syndromes S1 S2 and S3 result in a set of memory locations Loc (S1), Loc (S2) and Loc (S3) listed in the table of FIG. 5 the error controller loads the syndrome Sh for the location identified by the three syndromes into the Sh register 32 and then feeds the contents of both registers 28 and 32 into Exclusive OR circuit 34 to perform an Exclusive OR function of the two syndromes Su and Sh. The output S.sub.α of the Exclusive OR circuit 34 is fed back into the associative store 20 to determine if it matches any of the syndromes stored in the associative store 20. If it does not, a no compare signal is generated by the associative store 20 and fed to the controller 22 which then terminates the error correction process and indicates a true uncorrectable error condition exists. If it does, the error controller receives a compare signal and the location α of the bit in error is transmitted to the decoder from the store in 7 bit binary notation to invert the data in bit location of the register 16. The syndrome Sh is then fed from register 32 to the store 20 which feeds the location of bit h to the decoder 26. The decoder 26 then instructs the bit inverter 26 to invert the bit h. The data stored in register 16 is now correct and the controller 22 opens the gate 24 and transmits the data to the processor.
Claims (3)
1. In an error correcting system for a memory using a ECC code capable of correcting a single error and detecting a double error, a method for correcting a word which has one fixed error and one transitory error comprising the steps of:
(a) saving the data and syndrome generated by the ECC code circuitry for said word;
(b) determining the location of said one hard error using an ancillary error location technique;
(c) generating a syndrome for said word assuming only a single error in the location determined by (b);
(d) exclusive ORing the syndrome generated by step (c) with the syndrome stored in step (a) to obtain the syndrome locating the position of the transitory error;
(e) correcting the transitory errror.
2. The method of claim 1 including,
checking the results of the exclusive ORing in step (d) to see if it results in a single error syndrome prior to correcting the transitory error.
3. The method of claim 2 including,
storing all possible single error syndromes in a table;
using this table in step (b) to determine the location of the one hard error, in step (c) to generate the syndrome for the word with only a single error in the location determined by (b) and in claim 2 to check the exclusive ORing of step (d).
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/103,633 US4319357A (en) | 1979-12-14 | 1979-12-14 | Double error correction using single error correcting code |
JP55138883A JPS6047625B2 (en) | 1979-12-14 | 1980-10-06 | error correction system |
DE8080106632T DE3068895D1 (en) | 1979-12-14 | 1980-10-29 | Method of correcting double errors in a data storage apparatus and data storage apparatus |
EP80106632A EP0030612B1 (en) | 1979-12-14 | 1980-10-29 | Method of correcting double errors in a data storage apparatus and data storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/103,633 US4319357A (en) | 1979-12-14 | 1979-12-14 | Double error correction using single error correcting code |
Publications (1)
Publication Number | Publication Date |
---|---|
US4319357A true US4319357A (en) | 1982-03-09 |
Family
ID=22296201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US06/103,633 Expired - Lifetime US4319357A (en) | 1979-12-14 | 1979-12-14 | Double error correction using single error correcting code |
Country Status (4)
Country | Link |
---|---|
US (1) | US4319357A (en) |
EP (1) | EP0030612B1 (en) |
JP (1) | JPS6047625B2 (en) |
DE (1) | DE3068895D1 (en) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4456993A (en) * | 1979-07-30 | 1984-06-26 | Fujitsu Limited | Data processing system with error processing apparatus and error processing method |
US4464753A (en) * | 1981-12-30 | 1984-08-07 | International Business Machines Corporation | Two bit symbol SEC/DED code |
US4509172A (en) * | 1982-09-28 | 1985-04-02 | International Business Machines Corporation | Double error correction - triple error detection code |
US4523314A (en) * | 1983-02-07 | 1985-06-11 | Sperry Corporation | Read error occurrence detector for error checking and correcting system |
US4531213A (en) * | 1982-03-03 | 1985-07-23 | Sperry Corporation | Memory through checking system with comparison of data word parity before and after ECC processing |
US4646304A (en) * | 1984-05-26 | 1987-02-24 | Honeywell Information Systems Italia | Single error correction circuit for system memory |
US4661955A (en) * | 1985-01-18 | 1987-04-28 | Ibm Corporation | Extended error correction for package error correction codes |
US4712216A (en) * | 1984-12-28 | 1987-12-08 | International Business Machines Corporation | Method and device for correcting errors in memories |
US4780809A (en) * | 1986-08-08 | 1988-10-25 | Amdahl Corporation | Apparatus for storing data with deferred uncorrectable error reporting |
WO1988009009A1 (en) * | 1987-05-15 | 1988-11-17 | Digital Equipment Corporation | Byte write error code method and apparatus |
US5014273A (en) * | 1989-01-27 | 1991-05-07 | Digital Equipment Corporation | Bad data algorithm |
WO1992012483A1 (en) * | 1991-01-08 | 1992-07-23 | The Dsp Group, Inc. | Data reception technique |
WO1992021086A1 (en) * | 1991-05-10 | 1992-11-26 | Echelon Corporation | Binary data error correction using hint signal |
WO1995010140A1 (en) * | 1993-10-01 | 1995-04-13 | Pacific Communication Sciences, Inc. | Method and apparatus for code error correction |
US5418796A (en) * | 1991-03-26 | 1995-05-23 | International Business Machines Corporation | Synergistic multiple bit error correction for memory of array chips |
US5426652A (en) * | 1991-01-08 | 1995-06-20 | The Dsp Group Inc. | Data reception technique |
US5631915A (en) * | 1995-03-31 | 1997-05-20 | International Business Machines Corporation | Method of correcting single errors |
US5920580A (en) * | 1996-03-11 | 1999-07-06 | Integrated Device Technology, Inc. | Multiple error detection in error detection correction circuits |
US6556984B1 (en) | 1999-01-19 | 2003-04-29 | International Business Machines Corporation | Hierarchical string matching using multi-path dynamic programming |
US20040267481A1 (en) * | 2003-05-20 | 2004-12-30 | Resnick David R. | Apparatus and method for testing memory cards |
US20050022065A1 (en) * | 2003-05-20 | 2005-01-27 | Dixon R. Paul | Apparatus and method for memory with bit swapping on the fly and testing |
EP1560118A1 (en) * | 2004-01-27 | 2005-08-03 | Infineon Technologies AG | Error detection and correction device and method |
US20050188292A1 (en) * | 2003-12-23 | 2005-08-25 | International Business Machines Corporation | Method and apparatus for encoding special uncorrectable errors in an error correction code |
US20070011598A1 (en) * | 2005-06-15 | 2007-01-11 | Hitachi Global Storage Technologies Netherlands B.V. | Error detection and correction for encoded data |
US20070277066A1 (en) * | 2006-05-23 | 2007-11-29 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
KR100870196B1 (en) * | 2006-01-23 | 2008-11-24 | 인피니언 테크놀로지스 아게 | Device and method for reading out a data word and device and method for storing a data block |
US20090037781A1 (en) * | 2007-08-03 | 2009-02-05 | Jaume Abella | Correcting intermittent errors in data storage structures |
US20090282305A1 (en) * | 2008-05-09 | 2009-11-12 | A-Data Technology Co., Ltd. | Storage system with data recovery function and method thereof |
RU2450332C1 (en) * | 2011-01-27 | 2012-05-10 | Межрегиональное общественное учреждение "Институт инженерной физики" | Information storage device with single and double error detection |
US20170163291A1 (en) * | 2015-12-02 | 2017-06-08 | Stmicroelectronics (Rousset) Sas | Method for Managing a Fail Bit Line of a Memory Plane of a Non Volatile Memory and Corresponding Memory Device |
RU2659479C1 (en) * | 2017-06-01 | 2018-07-02 | Межрегиональное общественное учреждение "Институт инженерной физики" | Device for storage and transmission of data with detection of single and double errors |
US10698763B2 (en) | 2018-01-25 | 2020-06-30 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices |
RU2826822C1 (en) * | 2024-03-18 | 2024-09-17 | Александр Алексеевич Павлов | Data storage device with single error correction and double error detection |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0213739Y2 (en) * | 1985-10-08 | 1990-04-16 | ||
JP2820124B2 (en) * | 1996-06-27 | 1998-11-05 | 日本電気株式会社 | Main storage device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3656107A (en) * | 1970-10-23 | 1972-04-11 | Ibm | Automatic double error detection and correction apparatus |
US4100403A (en) * | 1977-04-25 | 1978-07-11 | International Business Machines Corporation | Method and means for discriminating between systematic and noise-induced error in data extracted from word organized memory arrays |
US4139148A (en) * | 1977-08-25 | 1979-02-13 | Sperry Rand Corporation | Double bit error correction using single bit error correction, double bit error detection logic and syndrome bit memory |
US4163147A (en) * | 1978-01-20 | 1979-07-31 | Sperry Rand Corporation | Double bit error correction using double bit complementing |
US4175692A (en) * | 1976-12-27 | 1979-11-27 | Hitachi, Ltd. | Error correction and detection systems |
US4209846A (en) * | 1977-12-02 | 1980-06-24 | Sperry Corporation | Memory error logger which sorts transient errors from solid errors |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2134529A1 (en) * | 1971-07-10 | 1973-01-25 | Ibm Deutschland | PROCEDURE FOR ERROR DETECTION AND CORRECTION IN INFORMATION WORDS READ OUT FROM THE MEMORY OF A PROGRAM-CONTROLLED DATA PROCESSING SYSTEM |
US4107652A (en) * | 1975-12-27 | 1978-08-15 | Fujitsu Limited | Error correcting and controlling system |
DE2838005C2 (en) * | 1978-08-31 | 1980-08-28 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Method and device for correcting 2-bit errors in code words |
-
1979
- 1979-12-14 US US06/103,633 patent/US4319357A/en not_active Expired - Lifetime
-
1980
- 1980-10-06 JP JP55138883A patent/JPS6047625B2/en not_active Expired
- 1980-10-29 DE DE8080106632T patent/DE3068895D1/en not_active Expired
- 1980-10-29 EP EP80106632A patent/EP0030612B1/en not_active Expired
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3656107A (en) * | 1970-10-23 | 1972-04-11 | Ibm | Automatic double error detection and correction apparatus |
US4175692A (en) * | 1976-12-27 | 1979-11-27 | Hitachi, Ltd. | Error correction and detection systems |
US4100403A (en) * | 1977-04-25 | 1978-07-11 | International Business Machines Corporation | Method and means for discriminating between systematic and noise-induced error in data extracted from word organized memory arrays |
US4139148A (en) * | 1977-08-25 | 1979-02-13 | Sperry Rand Corporation | Double bit error correction using single bit error correction, double bit error detection logic and syndrome bit memory |
US4209846A (en) * | 1977-12-02 | 1980-06-24 | Sperry Corporation | Memory error logger which sorts transient errors from solid errors |
US4163147A (en) * | 1978-01-20 | 1979-07-31 | Sperry Rand Corporation | Double bit error correction using double bit complementing |
Cited By (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4456993A (en) * | 1979-07-30 | 1984-06-26 | Fujitsu Limited | Data processing system with error processing apparatus and error processing method |
US4464753A (en) * | 1981-12-30 | 1984-08-07 | International Business Machines Corporation | Two bit symbol SEC/DED code |
US4531213A (en) * | 1982-03-03 | 1985-07-23 | Sperry Corporation | Memory through checking system with comparison of data word parity before and after ECC processing |
US4509172A (en) * | 1982-09-28 | 1985-04-02 | International Business Machines Corporation | Double error correction - triple error detection code |
US4523314A (en) * | 1983-02-07 | 1985-06-11 | Sperry Corporation | Read error occurrence detector for error checking and correcting system |
US4646304A (en) * | 1984-05-26 | 1987-02-24 | Honeywell Information Systems Italia | Single error correction circuit for system memory |
US4712216A (en) * | 1984-12-28 | 1987-12-08 | International Business Machines Corporation | Method and device for correcting errors in memories |
US4661955A (en) * | 1985-01-18 | 1987-04-28 | Ibm Corporation | Extended error correction for package error correction codes |
US4780809A (en) * | 1986-08-08 | 1988-10-25 | Amdahl Corporation | Apparatus for storing data with deferred uncorrectable error reporting |
WO1988009009A1 (en) * | 1987-05-15 | 1988-11-17 | Digital Equipment Corporation | Byte write error code method and apparatus |
US4817095A (en) * | 1987-05-15 | 1989-03-28 | Digital Equipment Corporation | Byte write error code method and apparatus |
US5014273A (en) * | 1989-01-27 | 1991-05-07 | Digital Equipment Corporation | Bad data algorithm |
WO1992012483A1 (en) * | 1991-01-08 | 1992-07-23 | The Dsp Group, Inc. | Data reception technique |
US5426652A (en) * | 1991-01-08 | 1995-06-20 | The Dsp Group Inc. | Data reception technique |
US5418796A (en) * | 1991-03-26 | 1995-05-23 | International Business Machines Corporation | Synergistic multiple bit error correction for memory of array chips |
WO1992021086A1 (en) * | 1991-05-10 | 1992-11-26 | Echelon Corporation | Binary data error correction using hint signal |
US5195098A (en) * | 1991-05-10 | 1993-03-16 | Echelon Corporation | Binary data error correction using hint signal |
GB2271919A (en) * | 1991-05-10 | 1994-04-27 | Echelon Corp | Binary data error correction using hint signal |
GB2271919B (en) * | 1991-05-10 | 1995-10-11 | Echelon Corp | Binary data error correction using hint signal |
US5491700A (en) * | 1993-10-01 | 1996-02-13 | Pacific Communication Sciences, Inc. | Method and apparatus for code error correction using an ordered syndrome and error correction lookup table |
WO1995010140A1 (en) * | 1993-10-01 | 1995-04-13 | Pacific Communication Sciences, Inc. | Method and apparatus for code error correction |
US5631915A (en) * | 1995-03-31 | 1997-05-20 | International Business Machines Corporation | Method of correcting single errors |
US5774481A (en) * | 1995-03-31 | 1998-06-30 | International Business Machines Corporation | Reduced gate error detection and correction circuit |
US5920580A (en) * | 1996-03-11 | 1999-07-06 | Integrated Device Technology, Inc. | Multiple error detection in error detection correction circuits |
US6556984B1 (en) | 1999-01-19 | 2003-04-29 | International Business Machines Corporation | Hierarchical string matching using multi-path dynamic programming |
US7320100B2 (en) | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US20070067556A1 (en) * | 2003-05-20 | 2007-03-22 | Cray Inc. | Apparatus and method for memory bit-swapping-within-address-range circuit |
US20040267481A1 (en) * | 2003-05-20 | 2004-12-30 | Resnick David R. | Apparatus and method for testing memory cards |
US7565593B2 (en) | 2003-05-20 | 2009-07-21 | Cray Inc. | Apparatus and method for memory bit-swapping-within-address-range circuit |
US8347176B2 (en) | 2003-05-20 | 2013-01-01 | Cray Inc. | Method and apparatus for memory read-refresh, scrubbing and variable-rate refresh |
US7826996B2 (en) | 2003-05-20 | 2010-11-02 | Cray Inc. | Memory-daughter-card-testing apparatus and method |
US7184916B2 (en) | 2003-05-20 | 2007-02-27 | Cray Inc. | Apparatus and method for testing memory cards |
US20050022065A1 (en) * | 2003-05-20 | 2005-01-27 | Dixon R. Paul | Apparatus and method for memory with bit swapping on the fly and testing |
US20070113150A1 (en) * | 2003-05-20 | 2007-05-17 | Cray Inc. | Apparatus and method for memory asynchronous atomic read-correct-write operation |
US8126674B2 (en) | 2003-05-20 | 2012-02-28 | Cray Inc. | Memory-daughter-card-testing method and apparatus |
US7676728B2 (en) | 2003-05-20 | 2010-03-09 | Cray Inc. | Apparatus and method for memory asynchronous atomic read-correct-write operation |
US20080059105A1 (en) * | 2003-05-20 | 2008-03-06 | Cray Inc. | Memory-daughter-card-testing apparatus and method |
US8024638B2 (en) | 2003-05-20 | 2011-09-20 | Cray Inc. | Apparatus and method for memory read-refresh, scrubbing and variable-rate refresh |
US20100324854A1 (en) * | 2003-05-20 | 2010-12-23 | Cray Inc. | Memory-daughter-card-testing method and apparatus |
US7171591B2 (en) * | 2003-12-23 | 2007-01-30 | International Business Machines Corporation | Method and apparatus for encoding special uncorrectable errors in an error correction code |
US20050188292A1 (en) * | 2003-12-23 | 2005-08-25 | International Business Machines Corporation | Method and apparatus for encoding special uncorrectable errors in an error correction code |
EP1560118A1 (en) * | 2004-01-27 | 2005-08-03 | Infineon Technologies AG | Error detection and correction device and method |
US20070011598A1 (en) * | 2005-06-15 | 2007-01-11 | Hitachi Global Storage Technologies Netherlands B.V. | Error detection and correction for encoded data |
US7653862B2 (en) * | 2005-06-15 | 2010-01-26 | Hitachi Global Storage Technologies Netherlands B.V. | Error detection and correction for encoded data |
KR100870196B1 (en) * | 2006-01-23 | 2008-11-24 | 인피니언 테크놀로지스 아게 | Device and method for reading out a data word and device and method for storing a data block |
US20070277066A1 (en) * | 2006-05-23 | 2007-11-29 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
US7506226B2 (en) | 2006-05-23 | 2009-03-17 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
US20090037781A1 (en) * | 2007-08-03 | 2009-02-05 | Jaume Abella | Correcting intermittent errors in data storage structures |
US7747913B2 (en) * | 2007-08-03 | 2010-06-29 | Intel Corporation | Correcting intermittent errors in data storage structures |
US20090282305A1 (en) * | 2008-05-09 | 2009-11-12 | A-Data Technology Co., Ltd. | Storage system with data recovery function and method thereof |
US8418030B2 (en) * | 2008-05-09 | 2013-04-09 | A-Data Technology Co., Ltd. | Storage system with data recovery function and method thereof |
RU2450332C1 (en) * | 2011-01-27 | 2012-05-10 | Межрегиональное общественное учреждение "Институт инженерной физики" | Information storage device with single and double error detection |
US20170163291A1 (en) * | 2015-12-02 | 2017-06-08 | Stmicroelectronics (Rousset) Sas | Method for Managing a Fail Bit Line of a Memory Plane of a Non Volatile Memory and Corresponding Memory Device |
US9984770B2 (en) * | 2015-12-02 | 2018-05-29 | Stmicroelectronics (Rousset) Sas | Method for managing a fail bit line of a memory plane of a non volatile memory and corresponding memory device |
RU2659479C1 (en) * | 2017-06-01 | 2018-07-02 | Межрегиональное общественное учреждение "Институт инженерной физики" | Device for storage and transmission of data with detection of single and double errors |
US10698763B2 (en) | 2018-01-25 | 2020-06-30 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices |
US11385960B2 (en) | 2018-01-25 | 2022-07-12 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices |
RU2826822C1 (en) * | 2024-03-18 | 2024-09-17 | Александр Алексеевич Павлов | Data storage device with single error correction and double error detection |
Also Published As
Publication number | Publication date |
---|---|
EP0030612A3 (en) | 1982-02-10 |
DE3068895D1 (en) | 1984-09-13 |
EP0030612B1 (en) | 1984-08-08 |
JPS6047625B2 (en) | 1985-10-22 |
JPS5687300A (en) | 1981-07-15 |
EP0030612A2 (en) | 1981-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4319357A (en) | Double error correction using single error correcting code | |
US4604751A (en) | Error logging memory system for avoiding miscorrection of triple errors | |
EP0265639B1 (en) | ECC circuit failure verifier | |
US6584595B2 (en) | Technique for correcting single-bit errors in caches with sub-block parity bits | |
EP0535086B1 (en) | Multiple error correction in a computer memory | |
JP4071940B2 (en) | Shared error correction for memory design | |
US7900100B2 (en) | Uncorrectable error detection utilizing complementary test patterns | |
US6772383B1 (en) | Combined tag and data ECC for enhanced soft error recovery from cache tag errors | |
US4175692A (en) | Error correction and detection systems | |
EP0381885B1 (en) | Method for identifying bad data | |
US4712216A (en) | Method and device for correcting errors in memories | |
US4716566A (en) | Error correcting system | |
EP0139124A2 (en) | Apparatus and method for automatically correcting a double bit hard error within a memory of a computer system and ensuring that said error will never re-occur | |
EP0041999A4 (en) | Self-correcting memory system and method. | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
US4926426A (en) | Error correction check during write cycles | |
US3568153A (en) | Memory with error correction | |
GB1293488A (en) | Data translation apparatus | |
US5751745A (en) | Memory implemented error detection and correction code with address parity bits | |
US5761221A (en) | Memory implemented error detection and correction code using memory modules | |
US5550849A (en) | Method and apparatus for detecting single or multiple bit errors instorage devices | |
US7831889B2 (en) | Method and device for error detection for a cache memory and corresponding cache memory | |
JPH06139152A (en) | Input/output circuit for storage device | |
JPS5837638B2 (en) | Kiokusouchi | |
JPS6232822B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
DC | Disclaimer filed |
Effective date: 19930507 |