(NAND FLASH)ECC内存校验算法与在线计算器
输入字节数(256)
ECC校验字节(3Byte,HEX)
ECC校验字节(3Byte,DEC)
 
 
 
校验模式
数据格式
输出分隔
HEX标志
校验字节格式
校验字节一
校验字节二
校验字节三
 

CTRL+A :选中全部,CTRL+C:复制,CTRL+V:粘贴。 使用必读本站支持微信扫码登录了除了计算器还有这些功能可用

分类: 校验计算 标签:NAND FLASHECC内存校验 工具ID:626 阅读:5285 收藏

本软件适用于ECC内存校验码的计算,可完成以下计算功能:

1)计算256字节数据的ECC校验码(3字节);

2)已知ECC校验码(3字节)和256字节数据,判断该数据的正确性,当数据发生1bit可修复错误时,可输出修正后的256字节数据结果。

计算器用法说明:

校验模式:1)选计算ECC校验值,用于计算256字节数据的ECC校验值。2)选判断数据正确性,用于验证256字节数据和读取ECC校验值是否匹配,从而判断256字节数据是否发生错误。

数据格式:指输入256字节数据的格式,支持ASCII码数据和16进制数据(16进制数据可以是双字符格式,如“FF”,也可如“0xFF”以“0x”为前缀格式,可是“FFH”以“H”为后缀格式)。

注:输入16进制的256字节数据应用空格、制表符、回车符或(英文半角)逗号隔开,输入ASCII码数据不用隔开,务必是连续的256字符。

输出分隔:用于控制输出修正数据的分隔符,可以是空格、逗号、回车或连续等,一般16进制数据用逗号隔开,ASCII码输出连续的字符。

HEX标志:用于控制输出(16进制)修正数据的后缀“H”和前缀“0x”。

举例说明:1)计算256字节的ASCII数据校验值,输入数据如下:

b23456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

1234567890123456789012345678901234567890123456789012345678901234567890123456

点击计算后,得:

输入字节数    256

ECC校验字节(3Byte,HEX)    00 , 00 , ff

ECC校验字节(3Byte,DEC)    0 , 0 , 255

2)验证操作:

将上述256字节的数据第3个字符"3"修改为"2"再次录入输入框,即与上次的数据发生了1bit的错误。原始数据的ECC校验值为:ECC校验字节(3Byte,HEX)    00 , 00 , ff。

将校验模式选择为”判断数据正确性“,将原始校验字节输入到底部的校验字节处,点击计算按钮,可输出以下结果:

本256字节数据发生1个bit错误,输入原始数据如下:

b22456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

1234567890123456789012345678901234567890123456789012345678901234567890123456

根据ECC校验码修正后数据如下:

b23456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

1234567890123456789012345678901234567890123456789012345678901234567890123456

ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。ECC能纠正1个比特错误和检测2个比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的错误不保证能检测。

由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠的进行坏区检测。
  如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。
  对数据的校验常用的有奇偶校验、CRC校验等,而在NAND Flash处理中,一般使用一种比较专用的校验——ECC。ECC能纠正单比特错误和检测双比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的错误不保证能检测。
  当往NAND Flash的page中写入数据的时候,每256字节我们生成一个ECC校验和,称之为原ECC校验和,保存到PAGE的OOB(out-of-band)数据区中。
  当从NAND Flash中读取数据的时候,每256字节我们生成一个ECC校验和,称之为新ECC校验和。
  校验的时候,根据上述ECC生成原理不难推断:将从OOB区中读出的原ECC校验和新ECC校验和按位异或,若结果为0,则表示不存在错(或是出现了ECC无法检测的错误);若3个字节异或结果中存在11个比特位为1,表示存在一个比特错误,且可纠正;若3个字节异或结果中只存在1个比特位为1,表示OOB区出错;其他情况均表示出现了无法纠正的错误。


对此计算器不满意或未找到合适的计算器?本网站免费订制专用计算器…… 报错/建议 讨论专区

相关推荐