CODES FOR HIGH-SPEED MEMORIES II: BYTE ERROR CONTROL CODES

QR barcode library with .netUsing Barcode Control SDK for Visual Studio .NET Control to generate, create, read, scan barcode image in Visual Studio .NET applications.

I I T2 O I I T6 O

Quick Response Code barcode library on .netuse .net framework quick response code creator todraw qr-codes in .net

I T T13 O I T T13 O

scanning quick response code on .netUsing Barcode recognizer for VS .NET Control to read, scan read, scan image in VS .NET applications.

I T3 T4 O I T2 T3 O

Attach bar code with .netuse visual studio .net crystal barcode integrated toincoporate barcode on .net

I T14 T7 O I T14 T12 O

Bar Code printing in .netuse .net barcode encoding toprint barcode on .net

I T2 I O I T6 I O

I T13 T O I T13 T O

Qr Barcode barcode library on .netuse asp.net web forms qr code creation toencode qr code 2d barcode for .net

I T4 T3 O I T3 T2 O

Qrcode maker for visual basicgenerate, create qr barcode none for vb.net projects

I T7 T14 O I T12 T14 O

DataMatrix barcode library on .netusing .net vs 2010 todraw data matrix barcodes for asp.net web,windows application

I O O O I O O O

Code128b development in .netusing visual studio .net tointegrate code128 with asp.net web,windows application

I I T4 O I I T12 O

EAN13 barcode library for .netgenerate, create ean-13 supplement 5 none with .net projects

I T T13 O I T T3 O

Itf implement in .netuse visual studio .net itf14 generator tobuild itf with .net

I T2 T3 O I T2 T13 O

Paint barcode for javause java bar code integration tocreate barcode in java

I T14 T12 O I T5 T14 O

Code128b barcode library in javause java uss code 128 drawer tomake code-128 in java

I T4 I O I T12 I O

Control datamatrix size in vb.netto create datamatrix and datamatrix 2d barcode data, size, image with vb barcode sdk

I T13 T O I T3 T O

Control ean13+5 size in vbto create ean-13 supplement 2 and ean-13 supplement 5 data, size, image with visual basic barcode sdk

I T3 T2 O I T13 T2 O

Create bar code with javause eclipse birt bar code drawer todevelop barcode for java

I T12 T14 O I T14 T5 O

Code 128A development in visual basic.netuse .net framework barcode standards 128 generating topaint code 128c for visual basic.net

I O O O I O O O

read pdf 417 on .netUsing Barcode recognizer for .net framework Control to read, scan read, scan image in .net framework applications.

[b = 4] H = H0

Barcode printer for javagenerate, create barcode none with java projects

Figure 5.11 Basic submatrices H0 s for rotational (144,128) S4EC-D4ED codes. Source: [KANE82]. 1982 IEEE.

Figure 5.12 shows an example of the syndrome decoder corresponding to the basic submatrix H0 of the code in Eq. (5.35). Note that the circuit complexity and the propagation delay of the decoder for the SbEC-DbED codes with K 64 and 128 bits represent a 20% to 30% increase compared to those of the SEC-DED codes [KANE82]. 5.2.3 Chen Codes

We now introduce a new class of SbEC-DbED codes that is more ef cient than the KanedaFujiwara codes [CHEN86a, CHEN86b]. The Chen code design is based on Theorems 5.7 and 5.8 in the Kaneda-Fujiwara codes. In this code the H1 and H2 in Theorem 5.7 are replaced by codes based on the theory of a generalized BCH bound [HART72]. The following theorem is a special case of the generalized BCH bound: Theorem 5.10 [HART72] Let b be a primitive root of xn 1, and let fba0 ; ba0 a1 ; ba0 a2 ; ba0 a1 a2 g be a subset of the zeros of the generator polynomial of a cyclic code of length n over GF q , where q 2b . If a1 and a2 are relatively prime to n, then the minimum distance of the code is equal to or greater than 4. Theorem 5.11 [CHEN86a] Let C be a cyclic code over GF q of length n qm 1 bytes and generated by the minimal polynomial of b, where q 2b , m is even, and b is a primitive root of xn 1. Then C is an SbEC-DbED code with 2m check bytes. Proof Since the generator polynomial g x of the cyclic code over GF q is the minimal polynomial of b, the roots of g x can be expressed as bi , where i 1; q; q2 ; . . . ; qm ; qm 1 ; . . . ; q2m 1 : Since bn 1, then bq b 1 , and bq b q . Thus g x contains a subset of the roots b, bq , b q , and b 1 . Let a0 1, a1 q 1, and a2 q 1 . Since m is even, a1 and a2 are relatively prime to n. According to Theorem 5.10, the code is an SbEC-DbED code. Since the degree of g x is 2m, the number of check bytes of the code is 2m. Q.E.D.

m m 1

S0 Bpc

S0 T = S2

S0 = S1

S0 T = S2

S0 T = S1

S0 = S2

S0 T = S1

S 0 T = S2

S0 T = S1 Module error pointer Byte error pointer Bp1 B p2 Bp3 : AND : OR : NOR : XOR

B p0

Bit error pointer

Figure 5.12 Syndrome decoder LSI for the H 0 module of the code shown in Eq. (5.35). Source: [KANE82]. 1982 IEEE.

CODES FOR HIGH-SPEED MEMORIES II: BYTE ERROR CONTROL CODES

Example 5.8 Let b 2, q 22 , and m 2, then n 17. There exists a cyclic SbEC-DbED code over GF 22 of byte length 17. The code contains 13 information bytes in each codeword. Theorem 5.12 [CHEN86a] A cyclic code over GF q of length n q2m 1 bytes genm erated by the product of the minimal polynomials of 1, b, and bq 1 , where q 2b and b is a primitive root of xn 1, is an SbEC-DbED code with 3m 1 check bytes. Proof The generator polynomial is the product of x 1 and the minimal polynomials of m m b and bq 1 . The degrees of the minimal polynomials of b and bq 1 are 2m and m, respectively. Thus the number of check bytes is 3m 1. The generator polynomial conm m tains as roots the elements 1, b, bq , and bq 1 . Let a0 0, a1 1, and a2 qm . Since a1 and a2 are relatively prime to n, the cyclic code is an SbEC-DbED code according to Theorem 5.10. Q.E.D.

Example 5.9 Let b 3, q 23 8, and m 2, then n 4095. A cyclic SbEC-DbED code over GF 23 of length 4095 with seven check bytes can be constructed. The generator polynomial can be taken as the product of the minimal polynomials of 1, b, and b65 , where b is a primitive root of x4095 1. Since the generator polynomial of a code in Theorem 5.12 contains 1 as the root, the H matrix of the code can be arranged so that the rst row is a vector of all ones. By this H matrix form, the code can be extended by one byte in adding to the matrix a column vector of a one followed by 3m zeros. It can be shown that the extended code is also an SbEC-DbED code. We state this result as the next theorem. Theorem 5.13 [CHEN86a] An SbEC-DbED code of byte length n q2m with 3m 1 check bytes, where q 2b , can be obtained by extending the code of Theorem 5.12. The codes obtained by Theorems 5.11, 5.12, and 5.13 can be used as H1 in Theorem 5.7. Theorem 5.8 can also be applied to these codes to double the code length. The code length obtained is given in Table 5.7. Table 5.8 shows the code length N n b bits of the Chen code. Figure 5.13 shows the check-bit length of the Chen SbEC-DbED code for byte lengths b 2; 3, and 4 bits.

TABLE 5.7 Code Length n (Bytes) of Chen Codes Class 1 2 3 4 H1 Extended RS code Extended RS code Code of Theorem 5.12 Code of Theorem 5.12 H2 Code of Theorem 5.11 Code of Theorem 5.13 Code of Theorem 5.11 Code of Theorem 5.13 n q 2 q 1 q 2 q2m3 q2m2 1 q2m1 2 q2m2 1 q2m3