免费注册 查看新帖 |

Chinaunix

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

关于nand flash的读写问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-11 20:19 |只看该作者 |倒序浏览
nand flash是以page为单位读写,以block为单位擦除的
在写某个地址之前必须擦除该地址所在的block。
所以要想给某地址写入一段数据,就必须
把该地址所在的block算出来---->把该block数据读入一缓冲区---->擦除该block---->把要写入的数据加入缓冲区---->写入该block

在读数据时通常要加ecc校验的
现在问题就是
在读block的时候:
1,若该block已经被写入过数据,则此ecc校验是正确的
2,若该block是刚被擦除完的,则此ecc校验是错误的

请问这个问题应该怎么解决?

论坛徽章:
5
2 [报告]
发表于 2009-05-11 20:49 |只看该作者
校验是否被当成数据保存在block固定位置处?

擦除后,数据是否为全0xFF or 0x00?这个值最好不出现在正常的校验值的范围内。

论坛徽章:
0
3 [报告]
发表于 2009-05-11 21:08 |只看该作者
ecc当然是保存在每页数据后面的16个字节中
擦除后为0xFF
我现在的问题是
怎么能去读擦除后的块而且保证ecc校验会不出错
或者怎么能去避免读已经擦除的块

论坛徽章:
0
4 [报告]
发表于 2009-05-12 00:21 |只看该作者
不太明白你的问题,既然要修改了,检验和也就变了。
这个ecc是那部分的检验和?

论坛徽章:
0
5 [报告]
发表于 2009-05-12 09:01 |只看该作者
这个不懂,刚开始学硬件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP