NAND Flash的坏块

From:http://blog.sina.com.cn/s/blog_6ba6e53b01013e32.html

产生坏块的原因是因为NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,所以,在NAND的生产中及使用过程中会产生坏块。

一、坏块的具体表现:
当编程/擦除这个块时,不能将某些位拉高,这会造成Page Program和Block Erase操作时的错误,相应地反映到Status Register的相应位。
二、坏块的种类:
1.先天性坏块
这种坏块是在生产过程中产生的,一般芯片原厂都会在出厂时都会将坏块第一个page的spare area的第6个byte标记为不等于0xff的值。
2. 后天性坏块
这种坏块是在NAND Flash使用过程中产生的,如果Block Erase或者Page Program错误,就可以简单地将这个块作为坏块来处理,这个时候需要把坏块标记起来。为了和先天性坏块信息保持一致,将新发现的坏块的第一个page的spare area的第6个Byte标记为非0xff的值。
三、坏块的处理
 理解了先天性坏块和后天性坏块后,我们已明白NAND Flash出厂时在spare area中已经反映出了坏块信息,因此,如果在擦除一个块之前,一定要先check一下spare area的第6个byte是否是0xff,如果是就证明这是一个好块,可以擦除;如果是非0xff,那么就不能擦除。不过,这样处理可能会错杀伪坏块,因为在芯片操作过程中可能由于电压不稳定等偶然因素会造成NAND操作的错误。但是,为了数据的可靠性及软件设计的简单化,坏块一个也不能放过。
四、错杀坏块的补救方法
如果在对一个块的某个page进行编程的时候发生了错误就要把这个块标记为坏块,首先就要把其他好的page里面的内容备份到另外一个空的好块里面,然后,把这个块标记为坏块。当发生"错杀"之后,我们可以在进行完页备份之后,再将这个块擦除一遍,如果Block Erase发生错误,那就证明这个块是个真正的坏块,放心的做好标记吧!
最后需要补充说明的是,之所以要使用spare area的第六个byte作为坏块标记,是因为NAND Flash生产商的默认约定,例如:Samsung,Toshiba,STMicroelectronics都是使用这个Byte作为坏块标记的。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值