一种不同封装闪存芯片在线测试和分类方法及测试系统
技术领域
本发明涉及闪存芯片可靠性测试技术,尤其是涉及一种不同封装闪存芯片在线测试和分类方法及测试系统。
背景技术
在现在计算机体系架构中存储器是重要的一环,用来存储程序与数据。主流存储器可以分为两大类:易失性存储器和非易失性存储器。其中,易失性存储设备在掉电后失去所有存储的数据,故易失性存储设备常用于作为缓存;非易失性存储设备在掉电后能够长期存储数据,则常用于存储数据资料。在非易失性存储设备中,闪存存储器件以数据传输速度快、制造成本低、数据存储容量大等优点,被广泛应用于电子设备领域之中。闪存存储器件的需求量也逐年上升。
目前,由于半导体工艺水平的提高,闪存芯片器件尺寸不断缩小,同时氧化层厚度也随之减小。这意味着闪存的隧道氧化层相较于之前更容易出现缺陷和发生电荷泄露,闪存器件寿命(P/E周期)大幅缩短,需要的纠错码强度大幅提高。因此现阶段闪存器件可靠性是当前存储技术发展的首要问题。同时市场上有各种不同封装的闪存芯片,质量和使用情况不同,急需有效的测试方法筛选出不同状态的闪存芯片供各种不同需求的人群使用。而现如今市场上并没有一种有效的闪存芯片测试方法,亦或是对不同封装、不同型号兼容性不强。闪存芯片的分类方法目前还是空白。
发明内容
本发明针对现有技术中存在的技术问题,提供一种不同封装闪存芯片在线测试和分类方法及测试系统。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供一种不同封装闪存芯片在线测试和分类方法,包括以下步骤:
步骤1,将测试芯片与测试系统连接,以块为单位选择该测试芯片所要测试的块,并根据闪存芯片的封装不同,选择相应的测试图形测试闪存芯片物理量信息,并将测试数据实时保存;
步骤2,利用寿命预测算法,根据闪存芯片物理量信息预测闪存芯片的剩余寿命;对所述闪存芯片物理量信息进行处理获得进阶数据;
步骤3,根据闪存芯片物理量信息、剩余寿命、进阶数据,单独或者组合判断筛选闪存芯片,对闪存芯片进行分类;
其中所述的闪存芯片物理量信息包括闪存芯片存储块进行一次操作的编程时间、读取时间、擦除时间、电流、原始错误比特数;所述的进阶数据包括,一个块中原始错误比特数大于某个数值的总页数、一个块中某些特征页的编程时间集合。
进一步,
所述编程时间的获取方式为:在闪存测试系统中设置编程时间记录模块;编程时间记录模块在闪存芯片开始写入数据操作的同时记录经过的时钟周期,在收到闪存芯片返回数据编程完成标志后停止记录时钟周期数;编程时间值为时钟周期持续时间乘以编程时钟周期数;
所述读取时间获取方式为:由测试系统中的读取时间记录模块记录读取操作持续的时钟周期数,读取时间值为时钟周期持续时间乘以读取时钟周期数;
所述擦除时间的获取方式为:由测试系统中的擦除时间记录模块记录擦除操作持续的时钟周期数,擦除时间值为时钟周期持续时间乘以擦除时钟周期数;
所述原始错误比特数的获取方式为:测试系统对闪存芯片执行读数据操作从闪存中读出数据,测试系统将读出的数据与写入的测试数据进行对比统计错误数据个数,为原始错误比特数;
所述进阶数据中一个块中原始错误比特数大于某个数值的总页数的获取方式为:遍历该块所有页的原始错误比特数与设定数值比较,当大于设定数值时,计数值累加,得到一个块中原始错误比特数大于某个数值的总页数;
所述进阶数据中一个块中某些特征页的编程时间集合的获取方式为:将一个块所有页的编程时间绘图,与模型库中对比,选择出特征页,并将这些特征页的编程时间以集合形式记录下来。
进一步,所述步骤1包括以下子步骤:
步骤1.1、根据测试需要,测试闪存芯片所有块或挑选的N个块,将测试闪存芯片与测试系统连接;
步骤1.2、根据闪存测试芯片选择测试图形,以块为单位依次对闪存存储块进行测试;
步骤1.3、将测试物理量数据记录并存储。
进一步,所述步骤3包括以下子步骤:
步骤3.1、块筛选,根据测试数据设置筛选主要参数和次要参数,划分筛选等级,将测试数据按照筛选等级划分范围;
步骤3.2、建立块筛选模型,设置主要参数和次要参数的影响因子,将块数据文档中的测试数据带入块筛选模型,得出块的等级;
步骤3.3、对测试芯片的所有测试块数据重复步骤3.2,得到N个块的等级;
步骤3.4、计算各个等级所占的权重,即各个等级块数/N;设置芯片筛选模型,将块等级占比带入芯片筛选模型,得出芯片的等级。
进一步,步骤3.1中所述的主要参数、次要参数以及等级划分范围结合闪存可靠性研究相关数据和结论进行选择和设计。
另一方面,本发明还提供一种用于不同封装闪存芯片在线测试和分类的测试系统,包括:依次通过线缆连接的上位主机、数据交换机、固件/控制器以及测试座;所述测试座,针对不同封装的闪存芯片,包括多种不同类型的测试座;
其中所述固件/控制器包括:
编程时间记录模块,用于在闪存开始写入数据操作的同时记录经过的时钟周期在收到闪存芯片返回数据编程完成标志后停止记录时钟周期数;
擦除时间记录模块,用于记录擦除操作持续的时钟周期数;
读取时间记录模块,用于记录读取操作持续的时钟周期数;
错误比特数统计模块,用于将读出的数据与写入的测试数据进行对比统计错误数据个数;
错误页数记录模块,用于遍历该块所有页的原始错误比特数与设定数值比较,当大于设定数值时,计数值累加,得到一个块中原始错误比特数大于某个数值的总页数;
特征页筛选模块,用于将一个块所有页的的编程时间绘图,与模型库中对比,选择出特征页,并将这些特征页的编程时间以集合形式记录下来。
本发明的有益效果在于:通过本发明,针对不同类型的闪存芯片,采用相应测试图形(pattern)进行测试,实现对不同封装、不同型号的闪存芯片的测试;且通过对闪存芯片存储块进行分级,根据存储块的分级实现对闪存芯片的分级,获得更准确,更贴合实际数据的闪存芯片分类方法。
附图说明
图1为本发明实施例一种闪存芯片在线测试方法的流程示意图。
图2为本发明实施例闪存芯片测试系统结构图。
图3为本发明实施例闪存芯片测试方法流程示意图。
图4为本发明实施例闪存芯片分类方法流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明闪存芯片在线测试方法的流程示意图,图中所示闪存芯片测试流程适用于所有闪存芯片类型,下面以一种的闪存芯片产品为在线测试系统实施例对图1进行详细的解释说明。
本实施例中,将某制造工艺下的多极单元NAND闪存(MLC NAND flash)产品作为测试对象和分类对象。如图1所示步骤S01,对所述闪存芯片选择测试该闪存芯片的所有块或挑选的某些块,假定最终需要测试的块数为N。测试块的多少可以根据需要选择,其中,所选块的总数最好在该闪存芯片总块数的1/3,以保证测试的多样性和准确性。
步骤S02,将闪存芯片通过测试座与闪存测试系统连接,上位机根据闪存芯片类型选择测试pattern开始在线测试。其中,闪存测试系统如图2所示,测试座可以根据闪存芯片封装的不同随时更换,以满足不同封装闪存芯片的测试。在线测试以块为单位,所测原始数据包括:闪存存储芯片的编程时间、读取时间、擦除时间、电流、原始错误比特数。
闪存芯片存储块编程时间的获取方式为:在闪存测试系统中设置编程时间记录模块;编程时间记录模块在闪存开始写入数据操作的同时记录经过的时钟周期在收到闪存芯片返回数据编程完成标志后停止记录时钟周期数;编程时间值为时钟周期持续时间乘以编程时钟周期数。
闪存芯片存储块擦除时间的获取方式与读取时间获取方式为:由测试系统中的擦除时间记录模块记录擦除操作持续的时钟周期数,擦除时间值为时钟周期持续时间乘以擦除时钟周期数。由测试系统中的读取时间记录模块记录读取操作持续的时钟周期数,读取时间值为时钟周期持续时间乘以读取时钟周期数
闪存芯片存储块原始错误比特数的获取方式为:测试系统对闪存芯片执行读数据操作从闪存中读出数据,测试系统将读出的数据与写入的测试数据进行对比统计错误数据个数,为原始错误比特数。
步骤S02采用的闪存原始数据测试方法,其流程如图3所示。根据图3,闪存原始数据测试的具体步骤为:
(1)确定该闪存芯片所要测试的具体块,假设为N个。
(2)根据闪存芯片类型选择测试pattern。
(3)对闪存存储块写入pattern一次,擦除闪存存储块一次,读取闪存存储块一次,比对得出原始错误比特数。
(4)将存储块的编程时间、擦除时间、读取时间、原始错误比特数以块为单位传输给上位机保存。
(5)选择闪存芯片的下一个存储块重复步骤(3)和步骤(4),直到N个存储块全部测试完成。
步骤S03,通过闪存芯片寿命预测算法预测剩余寿命。通过其他数据处理方法对原始测试数据进行处理得到进阶数据。原始测试数据、预测剩余寿命、软件处理的进阶数据一同记录在测试数据文档中。其中进阶数据可以是:一个存储块中错误比特数大于0的页数,中间特征页(medPage)的编程时间。其中,中间特征页的编程时间是根据我们关于闪存存储芯片可靠性研究筛选出来的和存储块使用状况有极大关系的数据值。
步骤S04,通过闪存芯片分类方法对该闪存芯片进行等级划分。
图4为本发明闪存芯片分类方法的流程示意图,同样以一种闪存芯片产品的实施例对图4进行详细的解释说明。
本实施例中,以某制造工艺下的多极单元NAND闪存(MLC NAND flash)产品的在线测试数据为输入进行分类。具体步骤为:
(1)设置块筛选模型,设置主要参数、次要参数。划定筛选范围。根据在线测试得到的测试数据我们选择存储块中错误比特数大于0的页数、擦除时间、预测预测的剩余寿命作为主要参数,中间特征页(medPage)的编程时间为次要参数,建立块筛选模型。相应参数的筛选范围如下:
A:
errorpagenum<400,
erasetime<13ms,
20000<预测寿命(以最大P/E周期为21000计算),
1050us<medpagetime(参考)
B:
400<errorpagenum<500,
erasetime<13ms,
14000<预测寿命<20000,
900us<medpagetime<1050us
C:
500<errorpagenum<800,
13ms<erasetime<17ms,
7800<预测寿命<14000,
750us<medpagetime<900us
D:
800<errorpagenum,
17ms<erasetime,
预测寿命<7800,
medpagetime<750us
errorpagenum:错误比特大于0的页数目
erasetime:该block擦除时间
预测寿命:预测该flash还可用P/E周期
medpagetime:特殊中间页的编程时间
(2)闪存芯片N个块在线测试数据输入块筛选模型得到相应的每个块的等级。
(3)计算每个等级所占的比重。比如:A等级所占比重=A等级块数/N
(4)设置闪存芯片筛选模型,该实例中主要筛选参数为各等级所占的比重。筛选标准如下:
一等品:A>90%,B<10%
二等品:60%<A<90%,C<10%
三等品:A<60%,D<10%
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。