关于坏块的检查。。。
产生:生产过程中产生的; 使用过程中产生的。
1 当block被发现是bad block , 一般是在该块的前两个page (页)的第517字节处用非FF来标识。[这个字节地址根据NAND型号而异]
而用户是可以随意改写这spare区域的,所以检查这个位应该不是绝对的正确咯?
/*************
刚看到:
小心不要擦除坏块标记,这一点很重要。工厂在宽温和宽电压范围内测试了NAND;一些由工厂标记为坏的区块可能在一定的温度或电压条件下仍然能工作,但是,将来可能会失效。如果坏块信息被擦除,就无法再恢复。
****************/
2 检查坏块的方式有哪些?
a.编程过程中发现坏块。编程或擦除操作之后,重要的是读状态寄存器,因为它确认是否成功地完成了编程或擦除操作。如果操作失败,要把该区块标记为损坏且不能再使用。
b.读坏块标志non-FF(利用工厂对这些区块的标记,软件通过扫描块可以确定区块的好坏。坏块标记被固定 在空闲区的第一个位置(列地址2048)。如果在0或1页的列地址2048上的数据是“non-FF”,那么,该块要标记为坏,并映射出系统。初始化软件 仅仅需要扫描所有区块确定以确定哪个为坏,然后建一个坏块表供将来参考。)
c.用户自己保存的坏块映射表。
第一项是后两项的基础,
第二项是工厂在雅阁的环境中测试出来的坏块,有可能在普通条件下可读写。
第三项是用户自己组织的坏块映射表,根据一、二项而来,这需要用户自己维护。
[ 此帖被call在2014-09-01 15:54重新编辑 ]