kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 业界动态> 如何将“坏块”进行有效利用

如何将“坏块”进行有效利用

2016-10-19
来源:ZLG致远电子

  被广泛应用于手机、平板等数码设备中的Nand Flash由于工艺原因无法避免坏块的存在,但是我们可以凭借高科技变废为宝,将“坏块”进行有效的利用,从而满足我们的应用需求,让坏块不“坏”。

  要想变废为宝,有效利用坏块。我们首先要弄明白什么是“坏块”,做到知己知彼,才能为我所用。坏块的特点是当编程或者擦除这个块时,不能将某些位拉高,从而造成编程和块擦除操作时的错误,这种错误可以通过状态寄存器的值反映出来。这些无效块无法确定编程时的状态,就是大家常说的“坏块”。那么这些“坏块”是怎么产生的呢?

1.jpg

  图1 坏块示意图

  由于工艺上的问题,Nand Flash中不可避免的会出现出厂坏块(出厂时允许存在2%数量的坏块),同时在Nand Flash的使用过程中也会产生新的坏块。Nand Flash每个块的最大擦除次数大约为100万次,如果超过这个次数,也会变成坏块。除了上述情况之外,坏块的产生原因还有很多,比如存储单元错误、地址线错误等……

  那么重点来了,既然不能完全地消除“坏块”,那么我们可以选择将它利用起来,实现一些特殊且必要的功能。为什么说能将坏块“变废为宝”呢?除了上文中介绍的几种类型的坏块,我们在一些特殊情况下需要人为地将Nand Flash芯片的某些块标记为坏块。比如某块非常不稳定以致超出了系统ECC的纠错范围,这个时候需要将此块标记为坏块;或者我们想验证烧写方案的坏块处理部分是否正确时,也需要制作出一些坏块以供测试验证;还有为了满足某类系统的特性,需要制作指定的坏块,比如我们一开始提到的UBI文件系统。这些特殊情况需要我们有目的性的设置指定坏块,满足相应的需求。

  清楚了什么是坏块以及坏块是怎么产生的,那么我们下面来看看怎么人为地设置坏块,让坏块为我们所用,达到“变废为宝”的目的

  首先,我们要知道什么是芯片的“坏块标记位”(英文简称BI)。对于不同的器件,坏块标志位不尽相同。通常对于512字节/页的NandFlash芯片,坏块标记位在第0、1页(或别的页)备用区的第5个字节,对于2K字节/页的芯片坏块标记位置在第0个字节。

2.jpg

  图2 坏块标记位

  那么从原理上来说,我们只需要在芯片某块的BI位置按照芯片手册上的规定写入特定的数值,就可以将该块标记为坏块。大部分芯片的坏块标记值为“非0xff”即被认为是坏块,然而有些芯片是“0x00”才被认为是坏块,而且坏块标记所在页也是变化的,所以为了统一,我们使用一个通用有效的方法:将整块写数值0x00。致远电子自主研发的6000F-PLUS编程器及配套的SmartPRO III软件,可以很方便的完成坏块的标记。

3.jpg


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。
Baidu
map