一种闪存芯片数据保留性检查方法及系统的制作方法
【技术领域】
[0001]本发明涉及半导体制造技术领域,尤其涉及一种闪存芯片数据保留性检查方法及系统。
【背景技术】
[0002]目前,随着电子技术的不断发展,嵌入式系统越来越多地在控制类、消费类、通讯类等电子产品广泛应用,嵌入式技术也越来越和人们的生活紧密结合。闪存器件(FlashMemory)是一种非易失性固态存储器,它是完全非易失性存储器,能提供可靠的数据掉电保护;而且它可以在线写入,存取速度快,是一种高可靠性、高密度的固态存储设备,当前,各种Flash已逐渐成为嵌入式系统中最主要的存储设备。同时,闪存器件也有其固有限制。首先,已编程的闪存单元必须经过擦除才能进行再次编程,且闪存单元只有有限的使用寿命;即,闪存单元在失效前只能进行有限次数的擦除操作。例如,NAND闪存单元典型的最大擦除次数为一百万次。相应地,由于“写入前擦除”的特点,闪存存取速度较慢,而且反复的擦除操作将会损坏闪存单元。因此,确保资料在存取过程能够保持其可靠性(即数据保留性,Data Retent1n),是目前存储装置业者相当重要的一环。其最主要的考虑是数据在存取的过程中,有可能因为闪存器件的本身或是外在的因素造成数据的完整性受影响。
[0003]为了能够尽量减少有可能出现数据保留故障的概率,目前的闪存器件的存储单元阵列一般由典型的基本结构构成,即分为“扇区(Sector)”或“页面(page)”,并由“扇区”或“页面”构成“块(block)”。一个扇区包括有X个字节的数据段加上Y个字节的备用段(Spare),通常,一个扇区由512个字节(小块格式)或2048个字节(大块格式)构成一个数据段,由16个字节或64个字节构成一个备用段,用于存放错误修正码(Error Correct1nCode ;ECC)的编码,ECC编码使得闪存器件不仅具有侦错的功能,并且能修复错误的数据资料。部份多层单元(Mult1-Level-CelI,MLC)闪存包括有2048字节和多于64字节的备用段,一扇区也可能有4096字节(或更多)数据字节。一个块由一组扇区构成,例如:4、16、32、64或更多扇区,扇区数量根据具体情况确定。如果其中某个扇区包含一个或多个无效存储单元(即,编程或擦除操作过程中,一个或多个存储单元无法实现既定的最小操作状态),则认为这是一个“坏”扇区。
[0004]嵌入式闪存器件是嵌入式芯片自带(内嵌)的存储器。诸如身份识别卡芯片(SM卡芯片)、单片机芯片(MCU芯片)或单芯片系统(SOC)等嵌入式芯片中往往会带有嵌入式快闪存储器。嵌入式芯片经制造完成后,在出厂前需要对其数据保留性能进行检查,如果一个块的全部存储单元都功能完好和有足够的可靠度,则认为这是一个“好”块,无需进行块内扇区修复,反之,这个块为坏块,需要利用各个坏扇区的ECC编码对该坏扇区进行数据修复,以提升产品的可靠性与稳定性。
[0005]常规的嵌入式闪存芯片的数据保留性检查(data retent1n check,DR检查)方法一般过程如下:
[0006]写入数据:以块为单位,对嵌入式闪存芯片的每一个存储块进行扫描,往每一个存储块里写入数据,并对闪存模块进行高温加压烘烤,以模拟出闪存器件经过一段时间使用后的状况;
[0007]第一次检查(CPl):以块为单位,对嵌入式闪存芯片的每一个存储块进行扫描,初次读取每一个存储块中的数据,并将各块中读取的数据与之前写入的数据进行比对,找出各块中的坏扇区;
[0008]第二次检查(CP2):以块为单位,对嵌入式闪存芯片的每一个块进行扫描,再次读取每一个块中的数据,将再次读取的数据与所述写入的数据进行比对,找出各块中的坏扇区,并将各块在CP2中找出的各个坏扇区与在CPl中找出的各个坏扇区进行地址--比对(如图1所示,例如将CP2的坏扇区Sector I’的地址与CPl各个坏扇区Sector I?
SectorN的地址--比对,以确认Sector I’是否真为坏扇区),做数量和具体扇区地址比对,若最终发现CPl和CP2找出的坏扇区地址不完全相同(请参考图2A,该情况为CP2的坏扇区地址与CPl的坏扇区地址为交集的情况,此时CP2找出的坏扇区数量有可能小于、等于或大于CPl),则判定嵌入式闪存芯片未通过DR检查;gCPl和CP2找出的坏扇区的数量和地址完全相同(请参考图2B),则判定嵌入式闪存芯片通过DR检查,找出的所有坏扇区均是真的坏扇区,后续可以对这些坏扇区进行处理(例如修复);若发现CP2找出的坏扇区包含在CPl找出的坏扇区范围内(请参考图2C),则判定嵌入式闪存芯片通过DR检查,CP2找出的所有坏扇区均是真的坏扇区,后续可以对这些坏扇区进行处理(例如修复)则判定嵌入式闪存芯片未通过数据保留性检查。
[0009]上述方法中,由于要依次将CP2找出的各个坏扇区与CPl找出的所有坏扇区进行地址比对,所以当坏扇区数量超过4个时,这种轮询比对过程变得相当繁琐,影响DR检查效率。
【发明内容】
[0010]本发明的目的在于提供一种闪存芯片数据保留性检查方法及系统,能够简单、快速、有效地对闪存芯片实施数据保留性检查。
[0011]为解决上述问题,本发明提出一种闪存芯片数据保留性检查方法,包括:
[0012]写入数据:向闪存芯片的各个存储块中写入数据,数据存储至构成各个存储块的扇区中;
[0013]第一次检查:初次读取所有存储块中的数据,并将其与所述写入的数据进行比对,找出各个存储块中的坏扇区,并为各个坏扇区设置标记;
[0014]模拟老化:模拟出闪存芯片经过一段时间使用后的状况;
[0015]第二次检查:再次读取各个存储块中的数据,并将其与所述写入的数据再次比对,再次找出各个存储块中的坏扇区,并比较第二次检查与第一次检查所找出的坏扇区总个数和标记总个数,当两次检查找出的坏扇区总个数和标记总个数均一致时,判定所述闪存芯片通过数据保留性检查。
[0016]进一步的,通过向坏扇区中写入能将坏扇区和正常扇区区分开的数据来为各个坏扇区设置标记。
[0017]进一步的,各个坏扇区的标记相同,均为I个比特位O ;各个正常扇区的数据相同,均为I个比特位I。
[0018]进一步的,比较第二次检查与第一次检查所找出的坏扇区总个数和标记总个数时,包括:
[0019]若两次检查找出的坏扇区总个数相等,但两次检查的所述标记的总个数不一致,则存储块未通过数据保留性检查;
[0020]若两次检查找出的坏扇区总个数相等,且两次检查的所述标记的总个数一致,则存储块通过数据保留性检查;
[0021]若两次检查找出的坏扇区总个数不一致,则存储块未通过数据保留性检查。
[0022]进一步的,通过对闪存芯片进行高温加压烘烤来实现所述模拟老化步骤。
[0023]进一步的,采用存储器内建自测试方式实现。
[0024]进一步的,当闪存芯片通过数据保留性检查后,输出第一次检查找出的所有坏扇区的地址或者产生坏块表,以对闪存芯片进行扇区修复和读写管理。
[0025]本发明还提供一种闪存芯片数据保留性检查系统,包括数据写入模块、第一检查模块、模拟老化模块、第二检查模块,其中,
[0026]所述数据写入模块,连接进行数据保留性检查的闪存芯片,并向连接闪存芯片的各个存储块中写入数据,写入的所述数据存储至构成各个存储块的扇区中;
[0027]所述第一检查模块连接数据写入模块和所述闪存芯片,并对闪存芯片进行第一次检查,包括依次连接的第一读取单元、第一比较单元、坏扇区标记单元以及第一统计单元,第一读取单元在数据写入模块写入完成后读取闪存芯片的各个存储块中的数据,第一比较单元将第一读取单元读取的数据与数据写入模块写入的数据进行比较,找出数据不一致的坏扇区,坏扇区标记单元为第一比较单元找出的各个坏扇区设置标记,第一统计单元统计第一比较单元找出的坏扇区总个数以及坏扇区标记单元设置的标记总个