免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3972 | 回复: 5
打印 上一主题 下一主题

yaffs2如何判断nand flash坏区? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-03 16:37 |只看该作者 |倒序浏览
我想实现nand flash上的fat32文件系统功能,想利用一下yaffs2管理nand flash的思路,我想和yaffs2一样,挂载文件fat32系统的时候,检查坏区和回收垃圾坏区功能,通过看yaffs源代码,还是有些地方不是很明白,请大家帮忙指点!
yaffs如何判断读写过程中出现的坏区?是不是启动的时候读出数据计算ecc,然后和oob里面的ecc数据比较?不一致就标志为坏区?这样还是会丢失数据阿,我本来想一边写数据的时候一边读ecc比较,又怕文件系统速度没法容忍!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2009-02-03 21:35 |只看该作者

回复 #1 anglely168 的帖子

在一些情况下,flash的ecc校验是通过硬件来完成的;如果真的要从软件来校验的话,就只能读一个page,计算一次,再与oob进行比较,写得情况就是要写一个page,同时计算出ecc,在写到oob。

论坛徽章:
0
3 [报告]
发表于 2009-02-04 08:46 |只看该作者
回二楼:
写的时候是不是没法读取ecc然后和oob中的ecc校验?那这样无法保证写进去的数据一定正确阿

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2009-02-04 08:50 |只看该作者
原帖由 anglely168 于 2009-2-4 08:46 发表
回二楼:
写的时候是不是没法读取ecc然后和oob中的ecc校验?那这样无法保证写进去的数据一定正确阿


写得时候没必要去验证些正确与否,你只管写,写正确与否留待读者来验证,因为你写得ecc是原始数据计算出来的。

论坛徽章:
0
5 [报告]
发表于 2009-02-04 10:35 |只看该作者
你的意思我要是为了确保写进去的数据一定正确,只能在写得时候再读出来然后比较?但是这样写操作的速度很受影响啊

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
6 [报告]
发表于 2009-02-04 12:03 |只看该作者
原帖由 anglely168 于 2009-2-4 10:35 发表
你的意思我要是为了确保写进去的数据一定正确,只能在写得时候再读出来然后比较?但是这样写操作的速度很受影响啊


所以每次写去验证写得正确与否,没有什么意义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP