NAND坏块

原创 2011年01月07日 14:08:00

1. 为什么会出现坏块
      由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。坏块的特性是:当编程/擦除这个块时,不能将某些位拉高,这会造成Page Program和Block Erase操作时的错误,相应地反映到Status Register的相应位。

2. 坏块的分类
      总体上,坏块可以分为两大类
    1. 固有坏块
    这是生产过程中产生的坏块,一般芯片原厂都会在出厂时都会将坏块第一个page的spare area的第6个byte标记为不等于0xff的值。
    2. 使用坏块
    这是在NAND Flash使用过程中,如果Block Erase或者Page Program错误,就可以简单地将这个块作为坏块来处理,这个时候需要把坏块标记起来。为了和固有坏块信息保持一致,将新发现的坏块的第一个page的 spare area的第6个Byte标记为非0xff的值。

一般来说是第一个和第二个page的spare area的第1个byte 中有不是 0xFF 的表示这个是坏块。
一块flash的第一个block出厂时必须是好的, 否则表示整块flash不能用。


3. 坏块管理
    根据上面的这些叙述,可以了解NAND Flash出厂时在spare area中已经反映出了坏块信息,因此,如果在擦除一个块之前,一定要先check一下spare area的第6个byte是否是0xff,如果是就证明这是一个好块,可以擦除;如果是非0xff,那么就不能擦除。
当然,这样处理可能会犯一个错误―――“错杀伪坏块”,因为在芯片操作过程中可能由于电压不稳定等偶然因素会造成NAND操作的错误。但是,为了数据的可靠性及软件设计的简单化,我们就要奉行“蒋委员长”的“宁可错杀一千,也决不放过一个”的宗旨。

4. 补充
    1. 需要对前面由于Page Program错误发现的坏块进行一下特别说明。如果在对一个块的某个page进行编程的时候发生了错误就要把这个块标记为坏块,首先就要把其他好的page里面的内容备份到另外一个空的好块里面,然后,把这个块标记为坏块。
当然,这可能会犯“错杀”之误,一个补救的办法,就是在进行完页备份之后,再将这个块擦除一遍,如果Block Erase发生错误,那就证明这个块是个真正的坏块,那就毫不犹豫地将它打个“戳”吧!
    2. 可能有人会问,为什么要使用spare area的第六个byte作为坏块标记。这是NAND Flash生产商的默认约定,你可以看到Samsung,Toshiba,STMicroelectronics都是使用这个Byte作为坏块标记的。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yahoozhuo/archive/2010/04/26/5530690.aspx

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++ 智能指针详解

由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 dele...

【C++11新特性】 C++11智能指针之weak_ptr

如题,我们今天要讲的是C++11引入的三种智能指针中的最后一个:weak_ptr。在学习weak_ptr之前最好对shared_ptr有所了解。如果你还不知道shared_ptr是何物,可以看看我的另...

异步两周年庆/豪送20本图书,1000种图书任你选

**敲重点:** 活动规则:来异步社区选取你想要读的图书,并在本博客评论区留言说一下你对本书的一些感想, 同时关注异步社区CSDN博客,并在博客评论区留言你想要得到的图书。 活动时间...

NAND flash中坏块管理

  • 2012-01-31 09:29
  • 31KB
  • 下载

Nand Flash 中的坏块(Bad Block)

Nand Flash 中,一个块中含有 1 个或多个位是坏的,就称为其为坏块 Bad Block。坏块的稳定性是无法保证的,也就是说,不能保证你写入的数据是对的,或者写入对了,读出来也不一定对的。与此...

NAND_Flash的坏块处理

  • 2014-03-10 16:46
  • 172KB
  • 下载

flash_erase擦除NAND flash坏块失败

板子使用busybox文件系统,带了mtd-utils的工具,包括flash_erase。首先查看帮助信息: [root@M3250 ~]# flash_erase --h Usage: flas...

NAND Flash产生坏块原因

  • 2011-05-27 16:57
  • 21KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)