一种NANDFLASH测试方法与流程

文档序号:11834744阅读:4668来源:国知局
一种NAND FLASH测试方法与流程

本发明涉及NAND FLASH领域,尤其涉及一种NAND FLASH测试方法。



背景技术:

数码产品要用到存储设备,就有机会用到NAND FLASH。NAND FLASH是由1个或多个NAND颗粒组成,而每个颗粒又包含了很多的块,块是NAND FLASH擦除的单位;而块中又包含了多个页,页是编程的最小单位;页里又包含了多个扇区,ecc(错误检测纠正)是以扇区为单位,报ecc数都是以扇区中错了多少位为准。在数码产品越来越广泛的情况下,存储设备的稳定性和安全性,保证了数码产品数据的正确性和系统的稳定性。所以,找出存储设备nand flash的不稳定的因素,即把它所组成的块中比较脆弱的块,比较不稳定的块事先找出来,标记起来在使用的过程中不去访问他,这样就可以避免把数据放在不稳定的存储空间中,使数码设备使用更稳定,寿命更长。

现有的NAND FLASH出厂时会有初始化的原厂信息,数码方案商可以利用这些信息建立原始坏块表,但是原始坏块表的信息可能不够全面,尤其在一些特殊情况,例如高温下会出现的不稳定块无法被发现,使得数码产品在高温下出现数据错误而系统崩溃。



技术实现要素:

本发明所要解决的技术问题是:提供一种新型的NAND FLASH测试方法,使数码设备使用更稳定,寿命更长。

为了解决上述技术问题,本发明采用的技术方案为:一种NAND FLASH测试方法,包括以下步骤:

S1、建立原始坏块表;

S2、写入配置表和自检程序;

S3、运行自检程序,利用ECC得到每个扇区中数据出错的位数,若达到阈值则判定扇区所属块为坏块,并建立新的坏块表;

S4、比较新的坏块表和原始坏块表,若不一样,则判定为不合格。

进一步的,若原始坏块表中的坏块数量达到阈值,则直接判定为不合格。

进一步的,步骤S1中,检查每个块的第一页和最后一页的第一个字节是否均为0xFF,若是则为好块,若否则为坏块。

进一步的,步骤S2中,将配置表和自检程序写入根据原始坏块表的第一个好块。

进一步的,步骤S3中,自检程序按顺序擦出所有块,每擦除一个块后,在使能ECC的情况下,用随机数写满该块的所有页,将整个块所有页的数据读出,利用ECC得到每个扇区中数据出错的位数。

进一步的,所述阈值为16。

进一步的,步骤S3中,建立新的坏块表后,将其同时写入系统块的第40到第60个页地址中。

进一步的,所述步骤S3在60-80℃下进行。

进一步的,步骤S4中,若新的坏块表和原始坏块表一样,则判定为合格。

本发明的有益效果在于:本发明利用ECC检测扇区出错的位数,判断是否为坏块,从而建立了新的坏块表,并与原始坏块进行比对以确定NAND FLASH是否合格。相对于现有技术仅有原始坏块表的方法,本发明提高了测试准确性,降低产品的返修率和不良率,保证了数码产品使用中数据的正确性和系统的稳定性,使数码设备使用更稳定,寿命更长。

附图说明

图1为本发明测试方法的基本流程图;

图2为本发明建立原始坏块表的流程图;

图3为本发明建立新的坏块表的流程图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:利用硬件ECC(错误检查与纠正)生成NAND FLASH新的坏块表,并与原始坏块表比较判断是否合格。

请参照图1,一种NAND FLASH测试方法,包括以下步骤:

S1、建立原始坏块表;

S2、写入配置表和自检程序;

S3、运行自检程序,利用ECC得到每个扇区中数据出错的位数,若达到阈值则判定扇区所属块为坏块,并建立新的坏块表;

S4、比较新的坏块表和原始坏块表,若不一样,则判定为不合格。

从上述描述可知,本发明的有益效果在于:本发明利用ECC检测扇区出错的位数,判断是否为坏块,从而建立了新的坏块表,并与原始坏块进行比对以确定NAND FLASH是否合格。相对于现有技术仅有原始坏块表的方法,本发明提高了测试准确性,降低产品的返修率和不良率,保证了数码产品使用中数据的正确性和系统的稳定性,使数码设备使用更稳定,寿命更长。

进一步的,若原始坏块表中的坏块数量达到阈值,则直接判定为不合格。

由上述描述可知,若原始坏块表的坏块数量已达到一定数量,则不必进入后续测试流程,可减少测试工作量。

进一步的,步骤S1中,检查每个块的第一页和最后一页的第一个字节是否均为0xFF,若是则为好块,若否则为坏块。

进一步的,步骤S2中,将配置表和自检程序写入根据原始坏块表的第一个好块。

进一步的,步骤S3中,自检程序按顺序擦出所有块,每擦除一个块后,在使能ECC的情况下,用随机数写满该块的所有页,将整个块所有页的数据读出,利用ECC得到每个扇区中数据出错的位数。

进一步的,所述阈值为16。

进一步的,步骤S3中,建立新的坏块表后,将其同时写入系统块的第40到第60个页地址中。

进一步的,所述步骤S3在60-80℃下进行。

由上述描述可知,本发明在高温下进行测试,可保证出库的产品能够耐高温,在高温下也能稳定工作。

进一步的,步骤S4中,若新的坏块表和原始坏块表一样,则判定为合格。

实施例

请参照图1,本发明的实施例一为:一种NAND FLASH测试方法,具体包括以下步骤:

S1、建立原始坏块表。具体的,检查每个块的第一页的和最后一页的第一个字节是否均为0xFF,若是则为好块,若否则为坏块。如图2所示为建立原始坏块表的具体流程图,具体可包括以下步骤:

S11、定址到第一个块,擦除NAND FLASH的所有物理块;

S12、检测块的第一页的第一个字节是否为0xFF,若是则进入步骤S13,若否则进入步骤S14;

S13、检测块的最后一页的第一个字节是否为0xFF,若是则进入步骤S15,若否则进入步骤S14;

S14、标志为坏块并更新坏块管理表,并进入步骤S15;

S15、判断是否为最后一个块,若是则结束流程,若否则将块序列号加1后返回步骤S12。

在步骤S12中,从第一个块开始循环遍历所有块,建立一个坏块管理表,并保存成原始坏块表。

可选的,若原始坏块表中坏块数量已达到一定数量,则可直接判定该NAND FLASH不合格,不可出厂。

S2、利用量产工具把自检程序下载到NAND FLASH,所述量产工具即在计算机上运行的开卡工具,例如U盘的开卡工具。具体包括以下步骤:

S21、利用自动机台(用于装载多台待测试NAND FLASH的机台),量产工具按照测试NAND FLASH主控的rom code的boot code的规则把配置表写到NAND FLASH中根据原始坏块表确定的第一个好块,同时配置表里面标记了自检程序后续要写到NAND FLASH的地址。

S22、量产工具按配置表标记的地址把自检程式写到nand flash,所述地址也是在主控rom code的boot code规则中,优选的,自检程序也写入上述第一个好块。

S3、上电运行自检程式,全盘测试nand flash并建立新的坏块表。优选的,该步骤在60-80℃,优选在70℃下进行。具体包括以下步骤:

S31、把下载好自检程式的nand flash放到同时可以进行150个设备测试的测试架上。接通电源,150个nand flash设备同时跑自检程式。

S32、主控rom code运行后首先找到步骤S2写入的配置表,按配置表的信息初始化nand flash。同时从配置表标识好的自检程式的地址把自检程式加载到主控的ram上运行,即开始进行nand flash的自检程式。

自检程序首先会擦除第一个块(块0),然后在使能ECC(错误检查与纠正)的情况下,用随机数据写满整个块的所有页。写完整个块后,接下来就把整个块的所有页的数据读出,利用硬件的ECC(错误检查与纠正)得到每个sector(扇区)数据出错的位数,若出错的位数大于等于阈值,例如大于等于16位就认为该块比较弱,可能在往后的读写中比较容易出错,故提前标志为坏块,更新程式的坏块表,把此块对应的块的位置标识为坏块,这样后面的数据读写就可以避开此块,使后续的数据读写更安全。以上的操作完成后,跳到下一个块继续以上操作,直到所有块都测试完成。这时所有块的新的坏块表也建立完成。具体流程见图3所示:

S321、定址到第一个块;

S322、擦除块号;

S323、写随机数据至块的页;

S324、读取块的页的数据,判断ECC是否达到阈值,若是则标志为坏块,更新坏块表并进入步骤S326,若否则进入步骤S325;

S325、判断是否是块的最后一页,若是则进入步骤S326,若否则页序列号加1返回步骤S323;

S326、判断是否是最后一块,若是则结束流程,若否则块序列号加1返回步骤S322。

从第一个块的第一页开始循环遍历块的所有页以及所有块,建立一个坏块管理表,并保存成新的坏块表。

S4、比较新的坏块表和原始坏块表确认nand flash是否合格可以出厂。具体包括以下步骤:

主控检测完最后一个块后,把建立的新的坏块表,按跟量产工具的约定写到系统块的例如第40到第60个页地址里面(第0到39页地址则用于存在原始坏块表),存这么多份坏块管理表,可以避免读写的干扰导致坏块表数据的丢失。

把完成自检的nand flash重新放到自动机台上用量产工具读取自检程式扫描出来的新的坏块表,坏块数量超过设定值的,将被判定容量不足,不合格而被不能出厂。

若坏块数量未超过设定值的,则量产工具会读取自检程式扫描出来的新的坏块表(即步骤S3中生成的坏块表),跟原来的初始化原始坏块表(即步骤S1生成的坏块表)做比较。如果新的坏块表和原始坏块表不一样,则认为有比较弱的块被找出来。由于使用nand flash的数码方案商在应用时,只会初始化原始坏块表,而无法得知那些比较弱的块,所以如果自检程式得到的新的坏块表和原始坏块表不一样的nand flash就要被标记为不合格不能出厂,这样才保证数码方案商使用nand flash更安全。

综上所述,本发明提供的NAND FLASH测试方法利用ECC检测扇区出错的位数,判断是否为坏块,从而建立了新的坏块表,并与原始坏块进行比对以确定NAND FLASH是否合格。相对于现有技术仅有原始坏块表的方法,本发明提高了测试准确性,降低产品的返修率和不良率,保证了数码产品使用中数据的正确性和系统的稳定性,使数码设备使用更稳定,寿命更长。本发明还在高温下进行测试,可保证出库的产品能够耐高温,在高温下也能稳定工作。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1