# Commonly used Error Correcting Codes

We know error correcting codes are parameterized as (n,k,d) codes. I wanted to know the values of these parameters for some commonly used error correcting codes in computer memories or in DRAMs, etc.

I just wanted to see some values for these parameters, used in real life applications.

-

I'm sure this greatly varies according to the application and the specific code in use.

Though not for DRAMs, maybe this will give you some insights:

For CDs encoding, a (28,24)-Reed Solomon code is used.
For DVDs, it is a (208,194)-Reed Solomon code.

Symbols are over $GF(2^8)$, that is, 8 bits per symbol. The notation is $(n,k)$-ReedSolomon for a linear $[n,k,d]$ code ($k$ being the dimension). RS is an MDS code and has $d=n-k+1$.

(I think this was the source, but maybe you can find it online):
Stephan Wicker and Vijay Bhargava (eds.), Reed-Solomon Codes and their Applications, IEEE Press, 1994

-
Actually, CDs use two Reed-Solomon codes -- $(32,28)$ code and a $(28,24)$ code -- in what is called a cross-interleaved design for error-correction. There is also another code which converts the bits of these Reed-Solomon codewords into the bits that are actually recorded as pits or non-pits on the disc itself. The Wicker and Bhargava book has lots more details. – Dilip Sarwate Nov 6 '12 at 13:42

Specifically for Memories, try google ECC memories. It seems that the main trend is to correct a single bitflip per memory address. For that purpose a distanse of $d=3$ is enough and a Hamming code can be used.

• Here is an AMD memory, where each 64 bits are encoded via Hamming code ($d=3$, fixing a single bit flip).

• TI's TMSx70 controller, uses a modified Hamming code which corrects up to one error but detects up to two errors (SECDED -single error correction and double error detection). If I read it correctly, they add 8 bits to any 128bit code.

-