Dual function error correcting system
AssigneeInternational Business Machines Corporation
InventorArvind M. Patel
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorArvind M. Patel
Estimating the term…
A dual function cyclic code error correcting method and system are disclosed for correcting from a single syndrome byte a random single-bit error which occurs in a multi-byte data word or, alternatively, correcting a multi-bit error in one byte of the data word by providing an indication of the location of the byte in error, and employing the same syndrome byte to determine the error pattern of the multi-bit error so the multi-bit error can be corrected. The method involves non-zero syndrome processing steps which comprise a first series of steps which function to determine if the non-zero syndrome correlates to a 1-bit error in one of the byte positions of the data word being protected, and if so, to automatically correct the single-bit error by processing the entire byte containing the single-bit error. If no correlation of the syndrome byte is established with a single-bit error, then the byte position in the data word of the multi-bit error is used during a second series of steps to process the same non-zero syndrome byte to determine the pattern of the multi-bit error in the defective byte so that the pattern can be employed to correct the defective byte. The method and apparatus disclosed also identify the location of repetitive multi-byte errors by generating a byte parity vector for each data word and using these byte parity vectors to identify the location in each data word of repetitive errors of the multi-bit type. The method and system are advantageously employed in an environment in which the probability of a random 1-bit error occurring during the processing of data is, for example, one in 10.sup.8 processed data bits, but where the probability of repetitive multi-bit errors occurring in successively processed data words is relatively high after a multi-bit error occurs in one byte.
In combination, a memory system having M failure independent storage units, each of which is adapted to store one byte of a data word having M-1 data byte positions and one ECC check byte position, each said byte position having b bits, said memory having a random single-bit failure rate which is at least two orders of magnitude higher than the failure rate for multi-bit errors in the same byte position of successive words caused by one of said units failing, and
A dual function error correcting system for alternately correcting a single random 1-bit error in a data word having M-1 data byte positions and one check byte position, each of which consists of b bits, or a multi-bit error in a defective byte position of said data word by processing the same non-zero syndrome byte resulting from exclusive-ORing a write check byte and a read check byte, each bit of said check bytes representing the modulo-2 sum of the binary value of the data bits in different bit positions of said data word during reading and writing respectively, said different bit positions being selected in accordance with a parity check matrix H' which is developed from a parity check matrix H corresponding to an m-sequence having 2.sup.b -1 columns and b rows by systematically selecting M groups of b columns from said matrix H such that adjacent groups are spaced apart in said H matrix .lambda.-b columns where .lambda. is equal to or greater than b and does not result in two of said M groups having an overlapping relationship;
An error correcting check byte generator for generating a b bit check byte, each bit of which represents the modulo-2 sum of the binary value of the data bits in different bit positions of a data word having M-1 bytes, each of which also consists of b bits, said different bit positions being selected in accordance with a parity check matrix H' which has been developed from a parity check matrix H corresponding to an m-sequence by systematically selecting from said matrix H, M groups of b columns, which groups are spaced .lambda.-b columns apart, where .lambda. is equal to or greater than b and M.lambda. is less than 2.sup.b, said generator comprising:
An ECC circuit for processing a dual function non-zero syndrome byte which has been developed by exclusive-ORing a b bit write check character and a b bit read check character to establish either the location of a single random 1-bit error in a data word comprising M byte positions each having b bit positions or the error pattern of a multi-bit error in one predetermined defective byte location of said data word where each bit of each said check character represents the modulo-2 sum of the binary value of the data bits in different positions of said data word, said different positions being prdetermined in accordance with a parity check matrix H' comprising Mb contiguous columns and b rows, said contiguous columns corresponding to M groups of b columns of a parity check matrix H which represents a maximal length shift sequence of length 2.sup.b -1, the spacing between said successive groups of b contiguous columns in said H matrix being .lambda.-b columns where .lambda. is equal to or greater than b and none of said M groups overlap one another, said circuit comprising:
The method of correcting two separate types of errors in a data word having M-1 data byte positions and one check byte position where each of said positions consists of b bit positions as said word is read from a memory having M failure independent units, each of which is associated with the same byte position of successive data words, said method comprising:
The method of correcting two separate types of errors in a data word having M-1 data byte positions and one check character position where each of said positions consists of b bit positions as said word is read from a memory having M failure independent units, each of which is associated with the same byte position of successive data words, said method comprising:
In a dual function error correcting system for correcting either a random single-bit error or a multi-bit error in one byte of a data word by processing one b bit syndrome byte developed by exclusive-ORing one b bit write check byte and one b bit read check byte in which each said data word comprises M-1 data byte positions and one check byte position, each byte position comprising b bit positions;
In a dual function error correcting system for correcting either a random single-bit error or a multi-bit error in one byte by processing one b bit syndrome byte developed by exclusive-ORing one b bit write check byte and one b bit read check byte in which each said data word comprises M-1 data byte positions and one check byte position and each byte position comprises b bit positions;
Dependencies are inferred from the claim text.