An Alternative To The Hamming Code in The Class of SEC-DED Codes in Semiconductor Memory
An Alternative To The Hamming Code in The Class of SEC-DED Codes in Semiconductor Memory
An Alternative to the Hamming Code in the Class of The Hamming code is the most well known of codes with
SEC-DED Codes in Semiconductor Memory d = 4. The problem of A , minimization for the shortened Ham-
ming code was considered in [31, [41,[91, [lll, [131, [141, and 1211.
Alexander A. Davydov and Leonid M. Tombak (Throughout this correspondence the word "shortened" may be
omitted in a code name.) Let a y ( n , r ) be the minimum of A ,
over all [n, n - r] Hamming codes. In [9] evaluations of af(n, r )
Abstract-The Il code constructed by Panchenko is studied. The Il
code to be an alternative to the Hamming code in the class of single- were obtained.
error correcting and double-error detecting codes (SEC-DED codes) is There are linear codes with d = 4 that are not equivalent to
also considered. The II code bas a smaller number of words of weight 4 the Hamming code [lo], [12], [19]. Let a f ( n , r ) be the minimum
and provides a larger probability of the triple-independent-error detec- of A , over all linear [ n , n - rl codes with d = 4 . In [ll], [19]
tion than the shortened Hamming code with the same parameters. In evaluations of a f ( n , r ) were obtained. In [19] Panchenko con-
this work shortening algorithms for the I'l code are proposed, and parity
check matrices of the [39,321, [72,641, [137,1281 shortened Il codes are structed the II code that is not equivalent to the Hamming code
constructed. The codes obtained can detect byte errors of length 4. and has A , < af(n, r ) .
Let N,=17.2r-6. In [12] it is proved that there exist only
three nonequivalent quasiperfect binary linear codes with d = 4,
n > N,: the Hamming code with n = 2,-', the II code with
I. INTRODUCTION
n = 5.2,-4 , and the SZ code with n = 9.2'-'. A n y binary linear
Every word of a semiconductor memory is usually encoded by code with d = 4, n > N,, is a shortening of one of these codes.
an error correcting code [20]. Errors appearing in the memory Let B, = [b,, . . .,b,] be a matrix consisting of equal columns
are classified to be either independent errors or byte errors b,, where b, is the binary representation of k . Let D = r 4 ,
[ 11-[8], [ 131-[MI. In this correspondence the following strategies M = 2r-5,
for memory protection [1]-[lo], [13]-[18], [21, p. 177-1821 are
considered. 00000 1111
G= (1)
1) A linear code of length n, minimum distance d = 4 and 00101 0101
redundancy r = [log, nl + 1 is used. All single errors are 00011 00011 0011
corrected and all double errors and some triple errors are
detected. The parity check matrix P, of the nonshortened [n,n - r ] II
2) In addition to Strategy 1 the same code detects all byte code with n = 5.2'-,, r 2 5, has the following form:
errors of length 4.
:?--lHlw
00000 OOOOO OOO00 00000 11111 11111 11111 11111
00000 ooO0o 11111 11111 00000 00000 11111 11111
00000 11111 00000 11111 o m 11111 00000 11111
P, = 10001 10001 10001 10001 10001 10001 10001 10001 (3)
01001 01001 01001 01001 01001 01001 01001 01001
00101 00101 00101 00101 00101 00101 00101 00101
00011 00011 00011 00011 00011 00011 00011 oO011
_~ _
Authorized licensed use limited to: AALTO UNIVERSITY. Downloaded on June 13,2023 at 17:20:59 UTC from IEEE Xplore. Restrictions apply.
898 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 37, NO. 3, MAY 1991
TABLE I
VALUESOF A , FOR THE Il CODESSHORTENED 1 AND LOWERBOUNDS
BY ALGORITHM
OF A 4 FOR THE SHORTENED
HAMMING
CODES
n n Code Hamming n II Code Hamming
I ( r = 7) A, = Code A , > ( r = 8) A, = Code A., 2
-
0 40 1190 1480 80 10300 12578
1 39 1071 1332 79 9785 11944
2 38 959 1191 78 9285 11335
37 854 1063 77 8800 10748
36 756 945 76 8330 10185
35 665 838 75 7875 9644
74 7455 9124
73 7048 8626
72 6654 8157
range (6) the second algorithm provides smaller values of A , in where F, is the number of external columns s,, for which
comparison with the Hamming code and the R code. However, m ( t ) = J.
this algorithm does not give the best shortened II code. In The main idea of proposed algorithms is to decrease F,?,zl.
Section I1 we construct the parity check matrices of the [39,32], Algorithm 1: We shorten the matrix P, by i columns, 1 s 8.
[72,64], and [137,128] shortened II codes for strategy I. We delete columns of P, in the following order:
In Section 111 we construct the parity check matrices of the
[72,64] and [137,128] shortened II codes for the strategy 11.
Structures of the obtained matrices are regular. Therefore,
these matrices are suitable for VLSI implementation. where g , is a column of matrix G, corresponding to the binary
All obtained parity check matrices of the II code have a representation of LI, and columns by,b,, b,, b2 are distinct.
larger value of A, than corresponding matrices of the Hamming Throughout this correspondence the expression j = { U , b}, F,
code and the SZ code. Therefore, the II code for strategies I, I1 = ( c ,d ) means that Fa = c , Fb = d. Let E = 5.2r-5.
provides the best reliability of the memory in the class of linear
codes with n = 2‘-’ + r . Theorem 1: For r X n matrices with n = 5.2‘-, - i obtained
Some results of this work are introduced (without proofs) in by Algorithm 1 the nonzero values F, can be represented as
1101. follows:
Authorized licensed use limited to: AALTO UNIVERSITY. Downloaded on June 13,2023 at 17:20:59 UTC from IEEE Xplore. Restrictions apply.
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 37, NO. 3, MAY 1991 899
omitted. Take r = 8, i = 8, y = 15, 6 = 14. U = 13. and 2 = 12. The parity check matrix If,, of the [72,64] rI code has the following
H7,=
-
00000
OoooO
00000
ooOo0
-
00000
00Ooo
00000
11111
00000
00000
11111
00000
00000
00000
11111
11111
00000
11111
00000
00000
00000
11111
00000
11111
1 00000
11111
11111
00000
00000
11111
11111
11111
I
l!i
10001 10001 10001 10001 10001 10001 10001 10001
01001 01001 01001 01001 01001 01001 01001
00101 00101 00101 00101 00101 00101 00101 00101
00011 00011 00011 0001 1 00011 OIOol 1
0001 00011 0001 1
11111 11111 11111 11111 11 11 111 1 1111
00000 OOOOO 00000 11 11 111 1 1111
00000 11111 11111 00 00 000 0 1111
10001 11111 00000 11111 00 00 111 1 0000
10001 10001 10001 10 01 100 1 1000
01001 01001 01001 01 01 010 1 0100
00101 00101 00101 00101 00 01 001 1 0010
00011 00011 oO011 00011 00 11 000 1 0001
~~
For H39:
with d = 4 obtained by shortening of linear codes nonequivalent
A, = uf(39,7) = 1071, A3 = At(39,7) = 0.5312. to the n code.
For the Hamming code [91: Proof See the Appendix. 0
uf(39,7) 2 1332, Ay(39,7) I0.4170. Let r = 9 , i = 2 3 , 4 = 5 , k,=31, k 2 = 3 0 , k3=29, k,=27,
For €I7,: and k , = 23. The parity check matrix H137of the [137,128] code
obtained from P9 by Algorithm 2 has the following form:
A, = ~ $ ( 7 2 , 8 )= 6654, A 3 = A$(72,8) = 0.5537.
For the Hamming code [9]: "0 "1 "' "22 B23 "24 "25 "26
H131 =
af(72,8) 2 8157, Ay(72,8) I0.4529. G G ... G 6 G G G G
/I?\
(l=l
Denote by r the maximum number of 1's in rows of a parity
check matrix. Matrices and H,, have r = 19 and r = 34, where E,,=[b,,b,,] is 5 x 2 matrix; 6 = [ g l g 2 ] is 4 x 2 matrix.
respectively. The parity check matrices of the [39,321 and [72,641 For HI,,: A,=45488, A3=0.5660, r = 6 2 . (Note that we
Hamming codes constructed in 1131, [141 have r = 15 and r = 27, construct the parity check matrix of the [137,128] II code with
A , = 8392, A 3 = 0.4361. A , = 45443, but this matrix does not have a regular structure).
Algorithm 2: We shorten matrix P, by i columns, where For the Hamming code:
i I 25. We delete submatrices
I:[
, where U = k,, v = 1; . .,
4 = [i/5],any three and four columns of the set {bk,,bk,,' . .,bk,)
u,H(i37,9) 2 15182, ~ ? ( i 3 7 , 9 )I 0.4735, r 2 54,
are linearly independent. If i # 54, then one submatrix is deleted [4], [9]. [13]. In [4] the parity check matrix of the [137,128]
incompletely. Hamming code with A,=56252, A,=O.4733, r = 5 5 is de-
For r X n matrices with n = 5.2r-4 -59 obtained by Algo- scribed.
rithm 2 the nonzero values of F, can be represented as follows: Algorithm 2 gives matrices with more regular structure than
j = {D -24, D -24 + 2 , D - q , E - 5 4 , E -54 + 5 ) , Algorithm 1. For example, the parity check matrix H S of the
[72,64] II code obtained by Algorithm 2 is more regular than
6 = (1OD - 10-54(4 - 1),5q(q - l ) , 10, H 1 2 . For H G : A, = 6657, r = 35.
D - 1- 4 ( 4 - 1)/2,4(4 - 11/21. ( 12)
111. PARITYCHECKMATRICESOF THE II CODES
This relation can be proved similar to Theorem 1. DETECTINGBYTEERRORSOF LENGTH 4
Theorem 3: In the range (6) the [ n ,n - r ] II code obtained by The parity check matrix H $ of the [72,64] rI code detecting
Algorithm 2 has a smaller value of A, than any [ n,n - r ] codes byte errors of length 4 has the following form:
1
oooo 0000 0000 1111 1111 1111 0001 0001
0000 OOOO 0000 ... 1111 1111 1111 0010 0110
0000 OOOO 1111 0000 1111 1111 0100 1011
1111
0000 0000 1111 0000 1111 1000 1100
H;, = -- -
1000 1000 1000 1000 lo00 1000 1111 1111
0100 0100 0100 ... 0100 0100 0100 1111 1111
0010 0010 0010 0010 0010 0010 1111 1111
0001 OOO1 0001 0001 0001 000 1 1111 1111
Authorized licensed use limited to: AALTO UNIVERSITY. Downloaded on June 13,2023 at 17:20:59 UTC from IEEE Xplore. Restrictions apply.
900 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 37, NO. 3, MAY 1991
The syndromes of byte errors of length 4 are not identical with The matrix P, can be represented as follows:
any column of the matrix H;,. For H;,: A , = 7221, A, = 0.5156,
r = 36.
Authorized licensed use limited to: AALTO UNIVERSITY. Downloaded on June 13,2023 at 17:20:59 UTC from IEEE Xplore. Restrictions apply.
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 37, NO. 3, MAY 1991 901
columns the number of representations m ( t ) is reduced by one For i = 2,4,8,15 we assume that lX:\ > 0. Let
if the code of length n is shortened by one symbol. According to
(81, in order to minimize the value of A , in a shortened code we
should reduce the maximal values of m ( t ) . For the nonshort-
ened II code external columns can be partitioned into 2 groups:
1) the matrix A , , 2) the matrices A , , k E U. The partial F By Lemma 1, bk2= bk, = bk, = bkl,. Let n2be the code with
spectrums of these groups of columns are as follows:
Xf = U xf.
i€Y
Let
rnm
aLP (;)(FjmFpZ)),
be a representative of the set Xif. Denote by X f a set contain- k=2
ing one representative of every X f # 0, i E Y . Let 1x1 be the = 0 for U = 7,11,12. Now we can
From (A.6), it follows that
cardinality of a set X . Evidently, Xi c X f , IXf I I5. Let the set
compare the partial F c o , f )spectrums. For this comparison we
of numbers Fi".f) be the partial F spectrum of columns belong-
use the code n3 with
ing to the matrix A , , U E U. Denote by F ( " . f ) this partial F
spectrum.
Lemma 1: For any X f , X f there exists on equivalent the
matrix P, for which all columns of Xf have equal locators.
x3 = XI\( 2) 3.= x2\(
For the code II', we see there are (resp. 112) 2 r - 4 - Ix:l
Proof: We give the algorithm of this equivalent transforma- (resp. 2'-, - 1) columns of A , for which the value of m ( t ) is
tion. Assume that Xf # 0, i E Y,i.e., 1x2I = 5. Let U( j ) = 2j-l. decreased by one with respect to the code I13.
Let C = 1X;I- 1, N, = 2r-4 - lX:/. For a code IIf denote by
+
1) For j = 2,3,4 we sum the ( r 1- j)th row of P, with the k ( o , f,U )the number of representations in (7) of the uth column
rows in which bk,(,) differs from b k l . As a result four belonging to A , . From the constructions of codes 111,112 it
columns of X f have locator bkl and the fifth one has a follows that Ik(u, 1 , ~ ) -k(u,2, u)l I1. Consequently,
locator bk*,,.
2) We add the sum of the 4 lower rows of P, to the rows in
which bkl differs from bk*,,. Now all columns of Xf have
locator bk*,,. 0
C
Let = (k(O,l,U)-1). ('4.8)
u=l
Authorized licensed use limited to: AALTO UNIVERSITY. Downloaded on June 13,2023 at 17:20:59 UTC from IEEE Xplore. Restrictions apply.
902 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 37, NO. 3, MAY 1991
have equal locators. In much the same way we have range (6) for the shortened Hamming codes the values of A,
are larger than for the 11 code shortened by Algorithm 2. 0
NR
@9 = @lo = (k(9,1,u) - k(lO,l,u)) > 0 , (A.11)
u=l REFERENCES
[ l ] F. J. Aichelmann, Jr., “Fault-tolerant design techniques for semi-
@13 -k @ I 4 = (k(14>19u)- k(139 l , u ) ) > O . (A.12) conductor memory applications,” IBM J. Res. Deuelop., vol. 28, no.
u=l 2, pp. 177-183, Mar. 1984.
121 J. Arlat and W. C. Carter, “Implementation and evaluation of a
Let T > 0. From (A.7)-(A.12), it follows that ( b ,k)-adjacent error-correcting/detecting scheme for supercom-
puter systems,” IBM J . Res. Deuelop., vol. 28, no. 2, pp. 159-169,
u=l
k(O,l,u) -
IXil
m=l
k(3,1, m ) + 7 .
Mar. 1984.
[3] S. Azumi and T. Kasami, “Of optimal modified Hamming codes,”
Trans. Inst. Electr. Commun. Eng. Jap., vol. A58, no. 6, pp.
(~.13) 325-330, 1975.
. . I. M. Bovarinov, A. A. Davydov, and B. M. Shabanov, “Error
[41
From (A.4), it follows that k(o, ‘9 > k(33 m, for any m 3 E correction in main memory of a high-capacity computer,” Automat.
Remote Contr., vol. 48, no. 7, pt. 2, pp. 956-965, 1987. (Transl. from
{I; . .,2r-4}. Consequently, A,(n’) > A4(n2). 0 Russian.)
According to Lemmas 1 and 2, the code obtained by Algo- 151 C. L. Chen, “Error-correcting codes with byte error detection
capability,” IEEE Trans. Comput., vol. C-32, no. 7, pp. 615-621,
rithm l is optimal for any i I 6. If i = 7, we should consider two July 1983.
nonequivalent shortened rI codes: 1) the code obtained by [61 C. L. Chen, “Byte oriented error-correcting codes for semiconduc-
Algorithm 1; 2) the code obtained by deleting the following tor memory systems,” IEEE Trans. Comput., vol. C-35, no. 7, pp.
columns: 646-648, July 1986.
[7] C. L. Chen and M. Y. Hsiao, “Error-correcting codes for semicon-
ductor memory applications: A state-of-art review,” IBM J . Res.
Deuelop., vol. 28, no. 2, pp. 124-134, Mar. 1984.
[81 A. A. Davydov and A. Yu. Drozhzhina-Labinskaya, “Correction of
error bytes of length 4 and double independent errors by the
If i = 8, we should consider three nonequivalent shortened II Bose-Chaudhuri-Hocquenghem code in semiconducting memory
codes: 1) the code obtained by Algorithm 1; 2) and 3) the codes units,” Automatika i Telemechanika, no. 11, pp. 135-146, Nov. 1989
(in Russian).
obtained by deleting of the following columns: 191 A. A. Davydov, L. N. Kaplan, Yu. B. Smerkis, and G. L. Tauglikh,
%}
(Z, and ( Z , }: respectively. (A.15)
“Optimization of shortened Hamming codes,” Probl. Inform.
Transm., vol. 17, no. 4, pp. 261-267, Oct.-Dec. 1981 (transl. from
Russian).
1101 A. A. Davydov and L. M. Tombak, “The alternative to the Ham-
ming codes for a correction of single errors in memory units of
We obtain the F spectrums in the cases (A.141, (A.15) and supercomputers,” in Proc. II AI1 Union Conference Actual Probl.
conclude that the II code obtained by Algorithm 1 has a smaller Informatics and Comput. (INFORMATICS-87), Erevan, U.S.S.R.,
value of A, than other II codes. Oct. 1987, pp. 23-25 (in Russian).
According to [19], in the range ( 5 ) for any length n there 1111 -, “Number of minimal-weight words in block codes,” Probl.
exists a shortened [n,n- r ] II code that has a smaller value of Inform. Transm., vol. 24, no. 1, pp. 7-18, Jan.-Mar. 1988 (transl.
from Russian).
A, in comparison with any shortened [n,n - r ] Hamming code. [12] -, “Quasiperfect linear binary codes with minimum distance 4
Hence, the rI code shortened by Algorithm 1 has a smaller and complete caps in projective geometry,” Probl. Peredach. In-
value of A, than any shortened Hamming code with the same form., vol. 25, no. 4, pp. 11-23, Oct.-Dec. 1989 (in Russian).
parameters. [131 M. Y. Hsiao, “A class of optimal minimum odd-weight-column
The range ( 5 ) contains the R code only for r = 6,7,8. In the SEC-DED codes,” IBM J. Res. Deuelop., vol. 14, no. 4, pp. 395-401,
July 1970.
range ( 5 ) we obtained the values of A , for the R code using a
[141 K. Iwasaki, T. Kasami, and S. Yamamura, “Optimal (72,641 modi-
computer. These values are larger than the II codes shortened fied Hamming codes in the sense of Hsiao,” Trans. Inst. Electr.
by Algorithm 1. For example, the [72,64] R code has A , = 7742 Commun. Eng. Jap., vol. A61, no. 3, pp. 270-271, 1978.
(compare with Table I). This finishes the proof of Theorem 2. 0 [15] S. Kaneda, “A class of odd-weight-column SEC-DED-SbED codes
for memory system applications,” IEEE Trans. Comput., vol. C-33,
Proof of Theorem 3: According to [12], we consider the no. 8, pp. 737-739, Aug. 1984.
Hamming code, the II code, and the R code. [16] -, “A class of SEC-DED-SbED codes for semiconductor
The range (6) includes the R code only for r = 6; . .,9. We memory systems,” Syst. Comput. Jap., vol. 16, no. 5, pp. 88-96,
1985.
obtained the value of A , for the R code with r = 6,7,8, by [17] S. Kaneda and E. Fujiwara, “Single-byte error-correcting double-
hand and for r = 9 , n 2 1 4 1 by computer. Algorithm 2 gives byte error-detecting codes for memory systems,” IEEE Trans. Com-
smaller values. The F spectrum of the [144,144- 91 R code is as put., vol. C-31, no. 7, pp. 596-602, July 1982.
follows: j = {72,48,16), F, = (15,112,240). Hence, any shortened [18] S. Lin and D. J. Costello, Error control coding: Fundamentals and
[137,128] R code cannot be better than the [137,128] R code Applications, Englewood Cliffs, NJ: Prentice-Hall, 1983.
with F spectrum of the form j = {65,41, 16, 151, F, = [19] distance V. I. Panchenko, “On optimization of linear code with minimum
4,” in Proc. HI1 AN Union Conf. Coding Theory Inform.
(15,112,149,91} and with A, = 50159. But according to (12), the Transm., pt. II: Coding theory, Moscow-Kuibyshev, U.S.S.R., pp.
[140,131] II code shortened by Algorithm 2 with i = 20 has 132-134, 1981 (in Russian).
A, = 49670. [20] W. W. Peterson and E. J. Weldon, Jr., Error Correcting Codes, 2nd
The Hamming code is a code with even weights. According to ed. Cambridge, MA: MIT Press, 1972.
A. Davydov, S. I. Samoilenko, V. V. Zolotarev, and E. I.
[9] and [ l l , formula (3)], it follows that for shortened Hamming [21] A. Tretiakova, Computer Networks: Adaptability, Noise Immunity, Reli-
codes A, > (:)(( :)/2‘-’ - 1)/6. It can be verified that in the ability. Moscow: Nauka, 1981.
Authorized licensed use limited to: AALTO UNIVERSITY. Downloaded on June 13,2023 at 17:20:59 UTC from IEEE Xplore. Restrictions apply.