ecc错误的处理方式-ECC_CorrectData问题
来源:互联网 发布:淘宝主营占比怎么提高 编辑:程序博客网 时间:2024/06/06 05:13
ce6.0的驱动中,检测到ecc错误后,没有任何的处理 ,直接返回一个false给上层函数
ce4.2的驱动中,检测到ecc错误后, 调用ECC_CorrectData函数进行数据的纠正,
因此对驱动层中该函数进行如下实验:
实验结果:
1:512字节中ecc错误位只有1个的时候,ECC_CorrectData函数可以纠正
实验1:使数据区第一个字节为0xfe,其他不变,都为0xff.
实验2:使数据区第一个字节为0x7f,其他不变,都为0xff.
2:当cpu不能检验ecc出错误的时候,ECC_CorrectData得不到调用,不可以纠正:
比如当数据区域改变,ecc不变的时候,去读取的时候,cpu的nandflash模块不报错.
比如:所有数据位0xff,有个字节位0的时候,cpu的ecc不报错.
3:当一个sector中错误位有8个位的时候,ECC_CorrectData函数可以检测到这种情况,并且返回错误..
实验:使数据区第一个字节为3,其他不变,都为0xff.
4:当一个sector中错误位有2个位的时候,ECC_CorrectData函数可以检测到这种情况,并且返回错误..
实验1:使数据区第一个字节为0xf3,其他不变,都为0xff.
实验2:使数据区第一个字节为0xfc,其他不变,都为0xff.
5:当一个sector中错误位有4个位的时候,ECC_CorrectData函数不可以检测到这种情况,纠正后的数据也是错误的
实验1:使数据区第一个字节为0xf1,其他不变,都为0xff.ECC_CorrectData函数纠正后的数据0xf0
实验2:带ecc写数据去第一个字节为0xf1,其他为0xff,然后读该sector,这个sector的ecc为 rddata 0xa0aaaaaa
结论,512字节和2个字节的ecc效验和之间的关系 不是11对应的.
可能多个数据对应同一个效验和,在检测到nanflash和计算的ecc值不一致的情况下,ECC_CorrectData,可以正常的工作,可以纠正错误的位,对于ECC_CorrectData函数超出范围错误
可以识别出来.并且返回错误,
个别超出范围的错误,并不能识别出来,该函数会返回一个false的答案给上层函数.
但是从实验5可以看出,ECC_CorrectData函数并不是一个完美的函数,他在检测到ecc错误的时候可能纠正后的数据是错误的,,所以这个就是为什么ce6.0中去掉这个函数的原因.
但是,readnandflash函数在发现ecc错误后,数据,会直接崩溃,不能读写数据段,也就是说操作系统在发现readflash函数返回一个false后,没有进行任何后续的修复工作,
所以总体来说,ECC_CorrectData函数是应该添加上去的.
如果操作系统在发现readflash函数返回一个false后,进行后续的修复工作,那么ECC_CorrectData就不应该添加上去.
- ecc错误的处理方式-ECC_CorrectData问题
- ecc效验和比较的另一种方式
- 处理问题的方式
- DDR2 ECC的处理办法之一
- DDR2的ECC处理办法之二
- ASP.NET的错误处理方式
- sharepoint 开发常见错误的处理方式
- 编程中常见的错误处理方式
- VBScript 自定义的错误处理方式
- 关于Nand ECC 错误
- 关于Nand ECC 错误
- ECC算法分析--数学背景-自上而下的方式
- NAND FLASH中ECC的原理与错误
- 错误处理方式
- PHP错误处理方式
- ECC算法问题。
- samsung ECC的问题(关系到yaffs2等系统)
- 记一次Yaffs2与Nand Ecc产生的问题
- 骑自行车游北京
- pe文件解析:读取pe信息获取文件资源
- Flex反射得到属性和属性的值
- sql查出数据是long类型
- 线程池
- ecc错误的处理方式-ECC_CorrectData问题
- suse linux oracle自动启动
- Eclipse 配置tomcat访问http://localhost:8080出现404
- c++ string与字符串之间的转换
- 使用中科院ICTCLAS构建自己分词器中用到的public String readerToString(Reader reader)
- android 4.0 wifi-direct 实现分析-supplicant部分
- mysql时间函数
- android读取图片及转换图片(转换成Bitmap与Drawable)
- office快捷键设置