掌桥专利:专业的专利平台
掌桥专利
首页

一种半导体存储器测试软件的参数测试方法和装置

文献发布时间:2023-06-19 10:00:31


一种半导体存储器测试软件的参数测试方法和装置

技术领域

本申请涉及半导体存储器测试技术领域,具体涉及一种半导体存储器测试软件的参数测试方法和装置。

背景技术

NAND闪存芯片在测试过程中,坏块的生成是衡量其质量的重要指标。现阶段,多采用软件测试的方式来检测NAND闪存是否存在坏块,且该方法属于目前常用的方法。尽管判断是否生成坏块的软件参数有很多,但如何获得准确的软件参数则是目前对结果准确性造成影响的关键因素,因为只有在确认判断坏块的软件参数功能是正常的前提下,才能保证NAND闪存在测试过程中生成坏块的结果是可信的。

为提高NAND闪存测试结果的可靠性,现提供一种NAND闪存的判断坏块的软件参数的测试技术,以满足当前测试需求。

发明内容

本申请提供一种半导体存储器测试软件的参数测试方法和装置,对测试参数进行合理设定并组合,对半导体存储器的坏块情况进行模拟,利用高效的验证方式对不同的测试参数组合进行验证,以求获得准确度较高的测试参数作为测试依据,从而充分保障了测试的合理性、规范性、正确性以及可靠性。

第一方面,本申请提供了一种半导体存储器测试软件的参数测试方法,所述方法包括以下步骤:

根据半导体存储器的参数信息设定多种测试参数组合;

根据所述半导体存储器的参数信息,设定多组预设错误数量组合;

分别根据各所述预设错误数量组合配置所述半导体存储器,利用各所述测试参数组合测试配置后的各所述半导体存储器,并将各自对应的测试结果与对应的所述预设错误数量组合比对,验证各所述测试参数组合是否合理;其中,

多种所述测试参数组合通过Chunk尺寸参数、至少2种保存FBC判断参数、至少2种FBC错误限制参数、至少2种Chunk错误限制参数以及至少2种Page错误限制参数组合获得,所述预设错误数量组合均包括Page错误个数、Chunk错误个数以及Byte错误个数。

具体的,所述根据半导体存储器的参数信息设定多种测试参数组合,包括以下步骤:

获取所述半导体存储器的Page Size,根据所述Chunk尺寸参数,设定测试时所述半导体存储器中一个Page的Chunk数量;

根据所述半导体存储器中一个Page的Chunk数量,设定至少2种所述Chunk错误限制参数以及至少2种所述Page错误限制参数;

根据所述Chunk尺寸参数,设定多种所述保存FBC判断参数以及多种所述FBC错误限制参数。

具体的,至少2种所述Chunk错误限制参数以及至少2种所述Page错误限制参数中,均包括0和1两种情况。

进一步的,所述方法还包括以下步骤:

将各Block中的FBC值与所述保存FBC判断参数比对,当所述Block中的FBC值大于所述保存FBC判断参数时,则保存对应的所述Block的FBC文件。

具体的,所述利用各所述测试参数组合测试配置后的所述半导体存储器中,包括以下步骤:

判断所述半导体存储器的各Chunk的FBC值是否大于FBC错误限制参数,从而判定各所述Chunk是否失效;

判断失效的所述Chunk的总数是否大于所述Chunk错误限制参数,从而判定对应的各所述Page是否失效,

判断失效的所述Page的总数是否大于Page错误限制参数,从而判定所述半导体存储器是否存在坏块。

第二方面,本申请提供了一种半导体存储器测试软件的参数测试装置,所述装置包括:

测试参数设定模块,其用于根据半导体存储器的参数信息设定多种测试参数组合;

错误模拟模块,其用于根据所述半导体存储器的参数信息,设定多组预设错误数量组合;

模拟测试模块,其用于分别根据各所述预设错误数量组合配置所述半导体存储器,利用各所述测试参数组合测试配置后的所述半导体存储器,并将各自对应的测试结果与对应的所述预设错误数量组合比对,验证各所述测试参数组合是否合理;其中,

多种所述测试参数组合通过Chunk尺寸参数、至少2种保存FBC判断参数、至少2种FBC错误限制参数、至少2种Chunk错误限制参数以及至少2种Page错误限制参数组合获得,所述预设错误数量组合均包括Page错误个数、Chunk错误个数以及Byte错误个数。

进一步的,所述测试参数设定模块还用于获取所述半导体存储器的Page Size,根据所述Chunk尺寸参数,设定测试时所述半导体存储器中一个Page的Chunk数量;

所述测试参数设定模块还用于根据所述半导体存储器中一个Page的Chunk数量,设定至少2种所述Chunk错误限制参数以及至少2种所述Page错误限制参数;

所述测试参数设定模块还用于根据所述Chunk尺寸参数,设定多种所述保存FBC判断参数以及多种所述FBC错误限制参数。

具体的,至少2种所述Chunk错误限制参数以及至少2种所述Page错误限制参数中,均包括0和1两种情况。

进一步的,所述模拟测试模块还用于将各Block中的FBC值与所述保存FBC判断参数比对,当所述Block中的FBC值大于所述保存FBC判断参数时,则保存对应的所述Block的FBC文件。

进一步的,所述模拟测试模块还用于判断所述半导体存储器的各Chunk的FBC值是否大于FBC错误限制参数,从而判定各所述Chunk是否失效;

所述模拟测试模块还用于判断失效的所述Chunk的总数是否大于所述Chunk错误限制参数,从而判定对应的各所述Page是否失效,

所述模拟测试模块还用于判断失效的所述Page的总数是否大于Page错误限制参数,从而判定所述半导体存储器是否存在坏块。

本申请提供的技术方案带来的有益效果包括:

本申请对测试参数进行合理设定并组合,对半导体存储器的坏块情况进行模拟,利用高效的验证方式对不同的测试参数组合进行验证,以求获得准确度较高的测试参数作为测试依据,从而充分保障了测试的合理性、规范性、正确性以及可靠性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中提供的半导体存储器测试软件的参数测试方法的步骤流程图;

图2为本申请实施例中提供的半导体存储器测试软件的参数测试方法的NAND闪存芯片的结构框图;

图3为本申请实施例中提供的半导体存储器测试软件的参数测试方法的NAND闪存芯片判断坏块的流程图;

图4为本申请实施例中提供的半导体存储器测试软件的参数测试方法中给出的NAND闪存芯片一部分参数组合的一个示例;

图5为本申请实施例中提供的半导体存储器测试软件的参数测试方法中给出的NAND闪存芯片就一部分参数组合设计的更改Random Bin规则的一个示例;

图6为本申请实施例中提供的半导体存储器测试软件的参数测试方法中756个Cycle测试流程的流程示意图;

图7为本申请实施例中提供的半导体存储器测试软件的参数测试方法中一部分结果分析的输出示例;

图8为本申请实施例中提供的半导体存储器测试软件的参数测试装置的结构框图;

图9为本申请实施例中提供的半导体存储器测试软件的参数测试装置的结构实例框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图对本申请的实施例作进一步详细说明。

本申请实施例提供一种半导体存储器测试软件的参数测试方法和装置,对测试参数进行合理设定并组合,对半导体存储器的坏块情况进行模拟,利用高效的验证方式对不同的测试参数组合进行验证,以求获得准确度较高的测试参数作为测试依据,从而充分保障了测试的合理性、规范性、正确性以及可靠性。

为达到上述技术效果,本申请的总体思路如下:

一种半导体存储器测试软件的参数测试方法,该方法包括以下步骤:

S1、根据半导体存储器的参数信息设定多种测试参数组合;

S2、根据半导体存储器的参数信息,设定多组预设错误数量组合;

S3、分别根据各预设错误数量组合配置半导体存储器,利用各测试参数组合测试配置后的各半导体存储器,并将各自对应的测试结果与对应的预设错误数量组合比对,验证各测试参数组合是否合理;其中,

多种测试参数组合通过Chunk尺寸参数、至少2种保存FBC判断参数、至少2种FBC错误限制参数、至少2种Chunk错误限制参数以及至少2种Page错误限制参数组合获得,预设错误数量组合均包括Page错误个数、Chunk错误个数以及Byte错误个数。

以下结合附图对本申请的实施例作进一步详细说明。

第一方面,参见图1~7所示,本申请实施例提供一种半导体存储器测试软件的参数测试方法,该方法包括以下步骤:

S1、根据半导体存储器的参数信息设定多种测试参数组合;

S2、根据半导体存储器的参数信息,设定多组预设错误数量组合;

S3、分别根据各预设错误数量组合配置半导体存储器,利用各测试参数组合测试配置后的各半导体存储器,并将各自对应的测试结果与对应的预设错误数量组合比对,验证各测试参数组合是否合理;其中,

多种测试参数组合通过Chunk尺寸参数、至少2种保存FBC判断参数、至少2种FBC错误限制参数、至少2种Chunk错误限制参数以及至少2种Page错误限制参数组合获得,预设错误数量组合均包括Page错误个数、Chunk错误个数以及Byte错误个数。

另外,对本申请实施例中涉及的各项参数进行说明:

FBC:Fail Bit Count,一个Chunk内错误的bit数,可通过实际测试得到该值;

Chunk Size:即Chunk尺寸参数,用于标定一个Chunk内的Byte数,该值可由客户根据NAND闪存芯片特性提供多种情况,再通过程序进行设置;

Data Clean Limit:即保存FBC判断参数,用于判定是否保存对应的Block的FBC,实际测试时,由于生成的FBC文件所占的内存很大,所以只有当某个Block中有1个或1个以上的FBC值大于该参数时,才会保留该Block的FBC文件,如果该Block的FBC值都小于Data CleanLimit,则不会保存该Block的FBC文件,从而释放内存空间;

FBC Limit:即FBC错误限制参数,用于标定一个Chunk内允许错误的最大bit数,作为判断Chunk是否失效的判断依据,该值可由客户根据NAND闪存芯片特性提供多种情况,再通过程序进行设置,实际测试时读到的FBC值若大于FBC Limit,则认为这个Chunk失效即ChunkFail;

Chunk Limit:即Chunk错误限制参数,用于标定一个Page内允许错误的最大Chunk数,作为Page是否失效的判断依据,该值可由客户根据NAND闪存芯片特性提供多种情况,再通过程序进行设置,实际测试时若Fail的Chunk数大于Chunk Limit,则认为这个Page失效即Page Fail;

Page Limit:即Page错误限制参数,用于Block内允许错误的最大Page数,作为Block是否失效的判断依据,该值可由客户根据NAND闪存芯片特性提供多种情况,再通过程序进行设置,实际测试时若Fail的Page数大于Page Limit,则认为这个Block失效。

故而,在判断Block是否失效时,即判断是否为坏块(Bad Block)时,首先判断所有Chunk的FBC值是否大于FBC Limit确认Chunk是否Fail,其次再判断Fail的总Chunk数是否大于Chunk Limit确认Page是否Fail,最后再判断Fail的总Page数是否大于Page Limit确认是否为坏块,若每项都确认大于则程序会判断为坏块。

再者,至少2种Chunk错误限制参数以及至少2种Page错误限制参数中,均包括0和1两种情况。

本申请实施例中,对测试参数进行合理设定并组合,对半导体存储器的坏块情况进行模拟,利用高效的验证方式对不同的测试参数组合进行验证,以求获得准确度较高的测试参数作为测试依据,从而充分保障了测试的合理性、规范性、正确性以及可靠性。

需要说明的是,本申请实施例中,具体可以应用于NAND闪存芯片的测试软件的参数测试工作。

在此,对存储芯片结构做一个简单介绍:一个半导体存储器芯片为一个芯片测试单元 DUT(Device Under Test),一个DUT包含多个片选(CE,Chip Enable),一个CE包含多个LUN(Logic unit number,可独立接受命令进行测试的最小逻辑单元),一个LUN包含很多块(Block),一个Block包含很多页(Page),一个Page有很多个字节,同时一个Page可切为多个数据块(Chunk)。

具体的,根据半导体存储器的参数信息设定多种测试参数组合,即步骤S1中,包括以下步骤:

S100、获取半导体存储器的Page Size,根据Chunk尺寸参数,设定测试时半导体存储器中一个Page的Chunk数量;

S101、根据半导体存储器中一个Page的Chunk数量,设定至少2种Chunk错误限制参数以及至少2种Page错误限制参数;

S102、根据Chunk尺寸参数,设定多种保存FBC判断参数以及多种FBC错误限制参数。

进一步的,本申请实施例中,该方法还包括以下步骤:

将各Block中的FBC值与保存FBC判断参数比对,当Block中的FBC值大于保存FBC判断参数时,则保存对应的Block的FBC文件。

具体的,利用各测试参数组合测试配置后的半导体存储器,即步骤S3中,包括以下步骤:

判断半导体存储器的各Chunk的FBC值是否大于FBC错误限制参数,从而判定各Chunk是否失效;

判断失效的Chunk的总数是否大于Chunk错误限制参数,从而判定对应的各Page是否失效,

判断失效的Page的总数是否大于Page错误限制参数,从而判定半导体存储器是否存在坏块。

基于本申请实施例的技术方案,以某种NAND闪存芯片作为一个示例,该NAND闪存芯片的一个Page有18432(18K)Byte,即Page Size为18432;

基于4种Chunk Size:1152Byte、2304Byte、4608Byte、9216Byte,分别设计不同的ChunkLimit和Page Limit,对应步骤S101,具体Chunk错误限制参数和Page错误限制参数的设计实例情况如下:

当Chunk Size为1152个Byte时,由于Page Size为18432,故而一个Page共有16个Chunk,对应此情况,可合理的设计3种Chunk Limit:0、1、5,每种Chunk Limit可分别和3种Page Limit 0、1、5进行组合;

当Chunk Size为2304个Byte时,由于Page Size为18432,故而一个Page共有8个Chunk,对应此情况,可合理的设计3种Chunk Limit:0、1、5,每种Chunk Limit可分别和3种PageLimit 0、1、5进行组合;

当Chunk Size为4608个Byte时,由于Page Size为18432,故而一个Page共有4个Chunk,对应此情况,可合理的设计3种Chunk Limit:0、1、2,每种Chunk Limit可分别和3种PageLimit 0、1、3进行组合。

当Chunk Size为9216个Byte时,一个Page共有2个Chunk,可合理的设计2种ChunkLimit:0、1,每种Chunk Limit可分别和2种Page Limit 0、1进行组合。

需要说明的是,Chunk错误限制参数和Page错误限制参数,即Chunk Limit和PageLimit的值并不是随机设置的,要有一定的设计方法;

0是默认设置的,即1个fail都不允许有,而1也一般都要设置,允许有1个Fail,0和1是两个临界条件,然后可根据实际情况设置一个或多个稍微大点的错误限制数值,即如同上述的参数数值2或3或5。

进而,对应上述Chunk错误限制参数和Page错误限制参数的设计实例情况,在对步骤S102,即基于Chunk Size,将Chunk Limit和Page Limit设计好后,设计FBC Limit和DataClean Limit的设计实例情况进行说明,具体情况如下:

当Chunk Size为1152个Byte时,和前述的Chunk Limit和Page Limit组合后,再根据该芯片特性,合理的设计FBC Limit和Data Clean Limit,对于该NAND闪存芯片可设计3种FBCLimit:10、72、150,3种Data Clean Limit:10、72、150,最后再分别将每一种FBC Limit、Data Clean Limit和前述组合在一起的Chunk Size、Chunk Limit、Page Limit再进行一次组合,这样就能罗列出Chunk Size为1152时的所有参数组合;

当Chunk Size为2304个Byte时,和前述的Chunk Limit和Page Limit组合后,再根据该芯片特性,合理的设计FBC Limit和Data Clean Limit,对于该NAND闪存芯片可设计5种FBCLimit:10、20、72、120、150,3种Data Clean Limit:20、120、240,最后再分别将每一种FBCLimit、Data Clean Limit和前述组合在一起的Chunk Size、Chunk Limit、Page Limit再进行一次组合,这样就能罗列出Chunk Size为2304时的所有参数组合;

当Chunk Size为4608个Byte时,和前述的Chunk Limit和Page Limit组合后,再根据该芯片特性,合理的设计FBC Limit和Data Clean Limit,对于该NAND闪存芯片可设计3种FBCLimit:40、248、400,3种Data Clean Limit:40、248、400,最后再分别将每一种FBC Limit、Data Clean Limit和前述组合在一起的Chunk Size、Chunk Limit、Page Limit再进行一次组合,这样就能罗列出Chunk Size为4608时的所有参数组合;

当Chunk Size为9216个Byte时,和前述的Chunk Limit和Page Limit组合后,再根据该芯片特性,合理的设计FBC Limit和Data Clean Limit,对于该NAND闪存芯片可设计3种FBCLimit:80、255、500,3种Data Clean Limit:80、255、500,最后再分别将每一种FBC Limit、Data Clean Limit和前述组合在一起的Chunk Size、Chunk Limit、Page Limit再进行一次组合,这样就能罗列出Chunk Size为9216时的所有参数组合;

其中,FBC和Data Clean Limit一般是根据芯片特性(例如芯片本身Read时存在bit位的翻转情况)及Chunk Size的大小进行合理的设置

说明,以上各个测试参数设置的种数以及值只是一个示例,并不是标准,具体的可根据芯片的特性进行适当的调整。

在此,针对步骤S2,即多组预设错误数量组合的设定进行说明,即对上述对应的某种NAND闪存芯片,就一部分参数组合设计的更改Random Bin规则即预设错误数量组合的一个示例(Chunk Size为1152),具体的设计实例情况如下:

当4种Chunk Size(1152、2304、4608、9216),和前述的Chunk Limit、Page Limit、FBCLimit、Data Clean Limit组合后,每一种组合再和多种人为制造修改的Random Bin(Random Bin用来作为写入NAND闪存的十六进制数)进行对应;

人为制造的Random Bin的错误bit数(byte error,1个byte默认错4个bit)可分别大于或小于或等于FBC Limit,人为制造的Random Bin的错误Chunk 数(Chunk error)可分别大于或小于或等于Chunk Limit,人为制造的Random Bin的错误Page数(Page error)可分别大于或小于或等于Page Limit;

即在设计人为制造的错误的Random Bin时,建议覆盖大于、小于、等于各种Limit的情况,这样就能更加全面的对各种参数进行测试。本示例中,基于前述各种组合,共能设计756个Random Bin,即总共可以设计756种组合,每种组合都需进行一个Cycle的测试,即共需测试756个Cycle(Cycle0~Cycle755)。

说明,以上只提供一种设计思路,并不是标准,具体的可根据实际情况进行适当的调整。如Chunk Limit为0时,不可能设计小于0的Chunk 错误。另外,还需考虑到芯片读取时本身可能存在的bit位翻转,尽量将制造出来所更改的Random Bin的bit位数和设置的FBCLimit的差值控制在读取时芯片本身可能存在的翻转之外,避免实际结果和预期结果不一致而误认为对应参数组合设置失效。如某种NAND闪存芯片在读取时本身可能存在n bit范围内的翻转,若设计的FBC Limit较小,此时如更改的Random Bin错误的bit数小于FBCLimit,则预期结果为不生成坏块,但可能由于芯片读取时本身翻转n个bit,而导致实际读到的FBC值 > FBC Limit,若此时Chunk fail number和Page fail number再大于对应的Limit,则程序会判断为坏块,在进行测试结果分析时这种情况就会认为实际结果和预期结果不一致而导致该项参数组合测试Fail,需要排查是该参数组合设置失效或是Random Bin和各参数设计不合理。同时,建议在测试时选用质量比较高读取时比较稳定的芯片进行验证,规避芯片本身的误差导致测试失效。

需要说明的是,根据上述设定情况,如说明书附图的图6所示,给出一种756个Cycle测试流程,具体的描述如下:

进入Cycle后,先将每个Cycle所测试的Block擦除,再读取和FF进行比较,然后写入制造的Random Bin,再读取和原始的Random Bin进行比较,在每次擦除,读取,写入,读取的过程中都会对Fail的Block进行相关的记录。完成756个Cycle后,退出测试流程,Cycle测试结束;

其中,FF为十六进制数,芯片擦除后的数据理论上都为1,与FF比较就是与全1比较,以便确认是否擦除成功;

原始的Random Bin是未经过人为修改的Random Bin,前面所说的制造错误的bit数等都是基于原始的Random Bin进行修改,即在对应的bit位将0改1或1改0。

需要说明的是,说明书附图的图7是一部分结果分析的输出示例,具体的描述如下:

通过开发出来的结果分析脚本工具,能够自动的分析出结果;

第A列打印运行的Cycle数,分别从Cycle0到Cycle755,第B、C、D、E、F列分别打印每组Page Limit、Chunk Limit、Chunk Size、FBC Limit、Data Clean Limit的值,第G列打印制造Random Bin的结果,第H列打印预期BBM结果,第I列和实际BBM结果进行比较打印比较结果,第J列打印预期保留FBC结果,第K列和实际FBC文件进行比较打印比较结果;

如第一行P285C7(40)代表在Page285 Chunk7制造了40个bit的错误,因为40 > FBCLimit(36),所以Fail的Chunk数为1,即Fail Chunk Num = 1,因为Fail Chunk Num> ChunkLimit(0),所以Fail的Page数为1,即Fail Page Num = 1,又因为Fail Page Num> PageLimit(0),所以预期BBM结果为YES(应该生成坏块),在实际测试时也生成了坏块,所以BBMResult为Pass;因40> Data Clean Limit(36),所以预期保留FBC结果为YES(应该保留FBC文件),在实际测试时也保留了FBC文件,所以FBC Result为Pass。

另外,说明书附图的图7中,“Expect Error”表示预期人为制造的错误Random Bin情况,“Expect BBM”表示预期BBM结果,“Expect FBC”表示预期FBC结果,“BBM Result”表示实际BBM结果,“FBC Result”表示实际FBC结果;

如P285C7(40)代表在Page285 Chunk7制造了40个bit的错误,P518C0(40) 代表在Page518 Chunk0制造了40个bit的错误,即P代表Page,其后续的数字代表Page编号,C代表Chunk,其后续数字代表Chunk编号,(40)表示40个bit的错误,故而后续内容所代表的错误Random Bin情况以此类推。

其中,由于人为制造的Random Bin即预设错误数量组合是设计生成的,和原始Random Bin进行比较,能够知道哪些位出现错误,故而能够知晓预期结果,实际测试是通过设置对应的参数组合,再根据软件程序测试的结果;

预期BBM结果是人为制造Random Bin即设定了预设错误数量组合后,根据坏块的判断标准得出的一个预期是否生成坏块的结果,实际BBM结果是软件程序根据参数组合得出的实际测试是否有生成坏块的结果,FBC结果同理;

即预期是否生成BBM/实际是否生成BBM,预期是否保留FBC文件/实际是否有保留FBC文件。

需要说明的是,说明书附图的图5中,Page error为人为制造的错误的Page数,即人为制造Random Bin对应的错误的Page数,chunk error为人为制造的错误的Chunk数,即人为制造Random Bin对应的错误的Chunk数,byte error为人为制造的错误的byte数,即人为制造Random Bin对应的错误的byte数。

本申请实施例属于半导体存储器测试领域,首先通过将不同软件参数Data CleanLimit,FBC Limit,Chunk Limit,Page Limit以及Chunk Size的值进行各种组合,每种组合都会对应的通过制造Random Bin的脚本工具将写入闪存的十六进制随机数(Random Bin)按照一定的规则进行不同数量bit位的更改;

然后对每种组合分别进行测试,先将更改后的随机数进行写入,再将写入的数据读出来和更改前的随机数进行比较得到不同的bit数即FBC值;

然后通过软件程序结合这些软件参数组合判断是否生成坏块作为实际测试结果;

最后再通过结果分析脚本工具将实际结果与预期结果(是否应该生成坏块)进行比较,确定是否匹配,若不匹配,则说明这种软件参数组合未生效;

从设计思路到具体的测试方法,充分保障了测试的合理性,规范性,正确性,通过该技术方案,能确认判断坏块的软件参数功能是否正常,从而保证NAND闪存芯片在测试过程中生成坏块的结果是可信的。

第二方面,参见图8~9所示,本申请实施例提供一种半导体存储器测试软件的参数测试装置,其用于执行第一方面提及的半导体存储器测试软件的参数测试方法,该装置包括:

测试参数设定模块,其用于根据半导体存储器的参数信息设定多种测试参数组合;

错误模拟模块,其用于根据半导体存储器的参数信息,设定多组预设错误数量组合;

模拟测试模块,其用于分别根据各预设错误数量组合配置半导体存储器,利用各测试参数组合测试配置后的半导体存储器,并将各自对应的测试结果与对应的预设错误数量组合比对,验证各测试参数组合是否合理;其中,

多种测试参数组合通过Chunk尺寸参数、至少2种保存FBC判断参数、至少2种FBC错误限制参数、至少2种Chunk错误限制参数以及至少2种Page错误限制参数组合获得,预设错误数量组合均包括Page错误个数、Chunk错误个数以及Byte错误个数。

本申请实施例中,对测试参数进行合理设定并组合,对半导体存储器的坏块情况进行模拟,利用高效的验证方式对不同的测试参数组合进行验证,以求获得准确度较高的测试参数作为测试依据,从而充分保障了测试的合理性、规范性、正确性以及可靠性。

进一步的,测试参数设定模块还用于获取半导体存储器的Page Size,根据Chunk尺寸参数,设定测试时半导体存储器中一个Page的Chunk数量;

测试参数设定模块还用于根据半导体存储器中一个Page的Chunk数量,设定至少2种Chunk错误限制参数以及至少2种Page错误限制参数;

测试参数设定模块还用于根据Chunk尺寸参数,设定多种保存FBC判断参数以及多种FBC错误限制参数。

需要说明的是,至少2种Chunk错误限制参数以及至少2种Page错误限制参数中,均包括0和1两种情况。

进一步的,模拟测试模块还用于将各Block中的FBC值与保存FBC判断参数比对,当Block中的FBC值大于保存FBC判断参数时,则保存对应的Block的FBC文件。

进一步的,模拟测试模块还用于判断半导体存储器的各Chunk的FBC值是否大于FBC错误限制参数,从而判定各Chunk是否失效;

模拟测试模块还用于判断失效的Chunk的总数是否大于Chunk错误限制参数,从而判定对应的各Page是否失效,

模拟测试模块还用于判断失效的Page的总数是否大于Page错误限制参数,从而判定半导体存储器是否存在坏块。

需要说明的是,本申请实施例中,具体可以应用于NAND闪存芯片的测试软件的参数测试工作。

具体实施时,测试参数设定模块包括设计Config模块,错误模拟模块包括设计Random Bin模块,模拟测试模块包括获取Config模块、制造Random Bin模块、Cycle测试模块以及结果分析模块,各模块的功能描述如下:

设计Config模块:根据NAND闪存芯片的特性合理的设计Chunk Size、Chunk Limit、Page Limit、FBC Limit、Data Clean Limit的值并进行组合,记录为“Config”文件,存放在特定位置,通过设计Config模块,可以设计出所有判断NAND闪存坏块的软件参数的组合;

通过设计Config模块,提供了一种合理设计各种参数的方法,通常Chunk Limit、PageLimit至少设置0和1两种情况,这样可以快速判断该参数的功能是否发挥作用,然后再根据实际的Chunk数和Page数合理的设置几个比较大的Limit,这样可以判断该参数的功能发挥的作用是否正确。设置的各种参数的Limit种数越少,测试的Cycle数也越少,测试时间越短,设置的各种参数的Limit种数越多,测试的Cycle数也越多,测试时间越长,但测试更全面,结果更准确。实际测试时可视具体情况进行设计。

设计Random Bin模块:基于每种参数组合,在原始Random Bin的基础上,分别设计出大于或小于或等于各种Limit的情况,这样一种参数组合下可对应多种Page error、Chunk error、byte error的组合,即对应多个更改后的Random Bin,通过设计Random Bin模块,共能设计出756个Random Bin,即总共可以设计756种组合,每种组合都需进行一个Cycle的测试;

通过设计Random Bin模块,提供了一种合理设计更改Random Bin的方法,通常需要覆盖大于、小于、等于各种Limit的情况,这样就能更加全面的对各种参数进行测试。同时,还需考虑到芯片读取时本身可能存在的bit位翻转,建议将所更改的Random Bin的bit位数和设置的FBC Limit的差值尽可能多的大于读取芯片时本身可能存在的翻转,避免因芯片本身翻转而导致实际结果和预期结果不一致,却误判为对应参数组合设置失效。

获取Config模块:第一个Cycle测试即进行Cycle0的测试时,读取设计Config模块中“Config”文件的第一行即第一个参数组合的值,并对应的在软件程序中设置各个参数的值进行第一次完整的测试,第二个Cycle测试即进行Cycle1的测试时,读取设计Config模块中“Config”文件的第二行即第二个参数组合的值,并对应的在软件程序中设置各个参数的值进行第二次完整的测试,依此类推,每次执行一个完整的测试前,都会先通过获取Config模块读取对应行的参数组合的值并进行设置,然后进行Cycle测试,直至完成所有参数组合的测试即完成756个Cycle的测试。

制造Random Bin模块:根据设计Random Bin模块,通过制造Random Bin的脚本工具读取每种组合的Page error、Chunk error、byte error,并随机的选择某个或某些Pagenumber、Chunk number、bit位进行数据的更改生成对应每种Page error、Chunk error、byte error组合的Random Bin,通过制造Random Bin模块,共能制造756个Random Bin,分别对应每个Cycle测试时写入的数据;

通过制造Random Bin模块,提供了一种制造Random Bin的方法,并增加了随机性。通过开发出的制造Random Bin的脚本工具,根据设计的Page error,可随机的选择某个或某些Page number制造error Page,如Page error为2,随机选择Page0、Page6这2个Page制造error或者是其他某2个Page;根据设计的Chunk error,可在前述随机选择的Page number中再随机的选择某个或某些Chunk number制造error Chunk,如Chunk error为1,可在前述随机选择的Page0中再随机的选择Chunk2制造error或者其他某个Chunk,在Page6中再随机的选择Chunk5制造error或者其他某个Chunk;根据设计的byte error,可在前述随机选择的Page number和Chunk number中再随机的选择某个或某些byte制造error byte。

Cycle测试模块:通过Cycle测试模块,将每一种组合用制造出来的对应的RandomBin进行数据写入,再将数据读出和原始的未经过人为更改的Random Bin进行比较,得到每个组合所测试Block的所有Page的FBC值,再通过软件程序判断是否生成坏块及是否将FBC值作为文件保存,得到实际测试结果;

通过Cycle测试模块,提供了一种测试坏块软件参数的方法。通过用制造的Random Bin进行数据写入,再读取出来和原始的Random Bin比较,得到FBC值,再通过软件程序获得实际测试结果是否生成坏块,是否保留FBC文件。

结果分析模块:通过结果分析脚本工具,先读取设计的所有组合得到每种组合的预期结果,再读取每种组合的实际测试结果,然后将每种组合的实际结果和预期结果进行比较,如果匹配则打印Pass,如果不匹配则打印Fail,通过结果分析模块,能够自动的分析出每种组合的测试结果是否Pass,以便找出失效的参数组合;

通过结果分析模块,提供了一种相关信息打印的方法。通过结果分析工具脚本:1)会将各种参数的组合和Cycle数进行对应并打印,方便查看每个Cycle测试的条件。2)会将随机制造Random Bin时具体更改的Page数、Chunk数、bit数进行打印,可人为将制造出来的Random Bin和原始的Random Bin进行对比,确认更改的Page数、Chunk数和bit数,再和打印出来的进行比较确认是否匹配,方便排查制造出来的Random Bin是否准确,充分保障工具脚本的正确性。3)会将预期结果(是否应该生成坏块,是否应该保留FBC文件)进行打印,不需要人为去确认756种组合的预期结果,大大的节省了分析时间。4)会将最后的分析结果进行打印,测试通过即为“Pass”,测试失败即为“Fail”,直观清晰,方便筛选出Fail的参数组合。

需要说明的是,在本申请中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种半导体存储器测试软件的参数测试方法和装置
  • 一种软件配置参数的测试方法、装置及汽车
技术分类

06120112381100