Encoder and decoder for an SEC-DED-S4ED rotational code
AssigneeIntel Corporation
InventorThomas J. Holman
Life of this patent
Estimating the term…
Abstract
A computer system employs a SEC-DED-S4ED rotational error control code (ECC) wherein all columns of H matrix are linearly independent and have an odd weight, and are arranged to allow detection of 4-bit byte errors. The ECC includes check bits arranged in a specific manner in designated columns of the matrix to permit detection and correction of single bit errors, as well as detection of double, triple and quadruple bit errors. The computer system employing the ECC also includes a data path having a variety of implementations; e.g., a single 72-bit path, two 36-bit paths, or a single 36-bit path.
Claims9
A decoder comprising:
- a syndrome circuit to receive a 72-tuple y with components in GF(2) to provide a syndrome s in GF(2);
- wherein s=Hy (when y is expressed in column vector form) and H is a 8 by 72 matrix in GF(2) given by ##EQU1## where H.sub.1, i=1, 2, are each 4 by 36 matrices in GF(2) given by ##EQU2##
A decoder comprising:
- a syndrome circuit to receive a 72-tuple y with components in GF(2) to provide a syndrome s in GF(2) where s=Hy (when y is expressed in column vector form) and where H is a 8 by 72 matrix in GF(2);
- wherein the decoder is to provide a signal indicating a single bit error if there is one bit error in the 72-tuple y;
- wherein the decoder is to provide a signal indicating a double error if there are two bit errors in the 72-tuple y;
- wherein the decoder is to provide a signal indicating a nibble error if there is a four-bit error pattern in the 72-tuple y, the four-bit error pattern beginning at y!.sub.i, where i belongs to the set {4n, 0.ltoreq.n.ltoreq.17};
- wherein the matrix H is such that each row of H has weight 27, and the matrix H has rotational symmetry so that ##EQU3## where H.sub.i, i=1, 2, are each 4 by 36 matrices.
A decoder comprising:
- a syndrome circuit to receive a 36-tuple y.sub.1 with components in GF(2) and a 36-tuple y.sub.2 with components in GF(2);
- the syndrome circuit to provide a first partial syndrome s.sub.1 in GF(2), a second partial syndrome s.sub.2 in GF(2), and a syndrome s according to s=s.sub.1 +s.sub.2 in GF(2));
- wherein the syndrome circuit is to provide s.sub.1 according to ##EQU5## in GF(2) (when s.sub.1 and y.sub.1 are expressed in column vector form), where H.sub.i, i=1, 2, are each 4 by 36 matrices in GF(2);
- wherein the syndrome circuit is to provide s.sub.2 according to ##EQU6## (when s.sub.2, p.sub.1, and p.sub.2 are expressed in column vector form), where p.sub.1 and p.sub.2 are each 4-tuples, wherein p.sub.1 is the first four bits of an 8-tuple p and p.sub.2 is the second four bits of the 8-tuple p;
- wherein the syndrome circuit is to provide the 8-tuple p according to ##EQU7## in GF(2) (when y.sub.2 is in column vector form);
- wherein ##EQU8##
An encoder to generate a set of 72-tuple codewords, the encoder comprising:
- a generator circuit, wherein for any codeword x belonging to the set of 72-tuple codewords, when in column vector form, satisfies 0=Hx where H is a 8 by 72 matrix in GF(2) given by ##EQU9## where H.sub.i, i=1, 2, are each 4 by 36 matrices in GF(2) given by ##EQU10##
A set of at least one processor, comprising:
- an encoder to generate a set of 72-tuple codewords, wherein for any codeword x belonging to the set of 72-tuple codewords, when in column vector form, satisfies 0=Hx;
- and
- a decoder circuit to receive a 72-tuple y with components in GF(2) to provide a syndrome s in GF(2) where s=Hy (when y is expressed in column vector form);
- wherein H is a 8 by 72 matrix in GF(2) given by ##EQU11## where H.sub.i, i=1, 2, are each 4 by 36 matrices in GF(2) given by ##EQU12##
Dependencies are inferred from the claim text.