ECC:Error Checking and Correction
8bit的ECC需要log2(8)+1=4bit的ECC码。
bit的EEC过程:
bit7 bit6 bit5 bit4 bit3 bit3 bit2 bit1 bit0
o: 1 0 1 0 1 0 1 0 1
n : 1 0 1 1 1 0 1 0 1
P8 = D7+D6+D5+D4+D3+D2+D1+D0
P4 = D7+D6+D5+D4
P2 = D7+D6+D3+D2
P1 = D7+D5+D3+D1
O:
P8=0
P4=0
P2=0
P1=0
new:
P8=1
P4=1
P2=0
P1=0
o&n:
P8&‘P8 = 1
P4&‘P4 = 1
P2&‘P2 = 0
P1&‘P1 = 0
P8出现1,说明出错了。
P4P2P1=100 -----> bit4 出错。
ECC只能检测1位出错,并且校验回来;可以检测2位出错,但是不能校验回来。
参考文献:
1, http://wenku.baidu.com/view/483a35f54693daef5ef73d92.html
2, http://www.elnec.com/sw/samsung_ecc_algorithm_for_256b.pdf