内存纠错检错方法-SSCDSD
SSCDSD(Single symbol correction double symbol detection )是一种内存纠错检错方法,它将4、8、16位视为一个symbol单位进行处理,相较于SECDED,能实现提供了单个symbol纠错、两个symbol检错的强大能力。
编码方式如下:
4bit symbol:(144,128)编码,36个4 bit symbol组成一个144bit的ECC word,包含128bit的data,16bit的ECC(8CRC+8Parity)
8bit symbol:(144,128)编码,18个8 bit symbol组成一个144bit的ECC word,包含128bit的data,16bit的ECC(8CRC+8Parity)
16bit symbol: (288,256)编码, 18个16 bit symbol组成一个288bit的ECC word,包含256bit的data,32bit的ECC(16CRC+16Parity)
下图以4 bit Symbol为例, SSCDSD能够在单一symbol内纠正多bit错误,无论4bit symbol内的错误模式如何,都能实现纠正,为可纠正错误(CE)。
但是,如果错误跨越两个符号,则会被识别为一个不可纠正的符号错误(UE)。
4 bit Symbol (144,128)编码:

以下symbol内错误可以纠正:

以下跨symbol错误可以检测:

基础算法:
RS(n,k) 表示一串长为 n的编码,前k位是原始信息,其余位置是原始信息产生的RS码.
纠错能力:纠正不超过(n-k)/2个bit。
设计实现:
算法检测输出错误特征码,查表得到特征码对应的错误位置,翻转纠正。
若ECC错误特征码为6913h: |
低4位为3h(0011b),对应列3h; |
该列中,校验子6913h所在行的“错误符号”为05h,列标题指示位[0]和[1]损坏; |
符号05h映射到数据位[23:20],因此损坏的位是**[20]和[21]**。 |
