忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: wwxbei

[驱动] [原创]Nand ECC校验和纠错原理及2.6.27内核ECC代码分析 [复制链接]

论坛徽章:
0
发表于 2011-08-17 13:55 |显示全部楼层
mark

论坛徽章:
0
发表于 2011-08-17 17:46 |显示全部楼层
/*
*  omap_calculate_ecc - Generate non-inverted ECC bytes.
*
*  Using noninverted ECC can be considered ugly since writing a blank
*  page ie. padding will clear the ECC bytes. This is no problem as
*  long nobody is trying to write data on the seemingly unused page.
*  Reading an erased page will produce an ECC mismatch between
*  generated and read ECC bytes that has to be dealt with separately.
*  @mtd:        MTD structure
*  @dat:        unused
*  @ecc_code:        ecc_code buffer
*/

这是我的omap3630 u-boot中的一个函数的注释;
估计一般使用的都是 inverted ECC ,所以后面几个要取反吧?
期待高手帮忙解释下:

论坛徽章:
0
发表于 2011-08-17 20:12 |显示全部楼层
本帖最后由 daniel_kohler 于 2011-08-17 20:13 编辑

回复 1# wwxbei


    非常感谢,根据这个思路,我准备做一个效率更高的算法。还有个疑问,正在使用Flash空间怎么检测呢?

论坛徽章:
0
发表于 2011-09-24 09:22 |显示全部楼层
已经保存学习,非常感谢!

论坛徽章:
0
发表于 2012-02-07 17:31 |显示全部楼层
收藏了,感谢楼主的解析

论坛徽章:
0
发表于 2012-02-10 09:21 |显示全部楼层
不错不错,值得很好的去研究下~~~

论坛徽章:
0
发表于 2012-11-29 10:10 |显示全部楼层
前辈,为什么最后要“取反”呢?

论坛徽章:
0
发表于 2014-01-22 15:53 |显示全部楼层
很多nand flash控制器有自己的ECC模块,Hamming code, BCH4, BCH8, BCH16.
楼主的文章很好。

论坛徽章:
0
发表于 2014-09-15 14:41 |显示全部楼层
回复 1# wwxbei


    wwxbei你好,在你的帖子里可以看出,256B的数据,需要22bit的ECC校验,可是通过百度百科,1B的数据需要5bit的校验位,数据每翻倍,校验位多1位,这样推算,256B的数据并不需要22bit这么多的校验位,能不能麻烦您指教一下其中的道理呢?多谢!

论坛徽章:
0
发表于 2015-05-29 15:29 |显示全部楼层
本帖最后由 2015AND34 于 2015-05-29 17:33 编辑

马克瑞        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP