# 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. Nov 6, 2012 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.