一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储器测试系统及方法与流程

2021-02-20 10:39:00 来源:中国专利 TAG:存储器 半导体 测试 方法 系统


[0001]
本发明涉及半导体技术领域,尤其涉及一种存储器测试系统及方法。


背景技术:

[0002]
atl(advantest test language)程序框架是目前一种主流的存储器量产测试系统使用的程序开发框架,它运行于ate(automatic testing equipment,自动测试设备)编译运行环境(ate compiling&running environment)。
[0003]
ate编译运行环境程序寄存器和堆栈空间十分有限,程序开发限制非常大。目前针对每一种测试,都需要在该环境中编写一套包括执行程序(execution programs)和模式程序(pattern programs)的独立测试程序,导致测试程序的复用性低下,可维护性不高,从而使得整个量产测试过程效率很低。同时,ate编译运行环境必须联机调试编译,测试成本较高。


技术实现要素:

[0004]
本发明提供一种存储器测试系统及方法,能够提高程序的复用性和可维护性,提高量产测试效率,且降低测试成本。
[0005]
本发明提供了一种存储器测试系统,包括外部配置接口、外部环境模块和测试环境模块;
[0006]
所述外部配置接口用于输入测试参数;
[0007]
所述外部环境模块用于根据所述测试参数,确定相应的测试流程,在执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块;
[0008]
所述测试环境模块用于根据所述模式程序,对存储器进行测试。
[0009]
进一步优选的,所述测试环境模块配置在自动测试设备中。
[0010]
进一步优选的,所述外部环境模块包括执行程序单元和模式发生器;
[0011]
所述执行程序单元用于集成存储器量产测试所需的各种测试流程,以根据所述测试参数,从集成的测试流程中确定相应的测试流程,并在执行所述相应的测试流程时,向所述模式发生器发送相应的内部参数;
[0012]
所述模式发生器用于设置所述功能函数库,根据所述内部参数,从所述功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块。
[0013]
进一步优选的,所述测试参数包括随机数测试指令;所述外部环境模块还用于根据所述随机数测试指令,确定随机数测试流程,所述随机数测试流程包括随机数获取步骤、随机数写入步骤和随机数校验步骤。
[0014]
进一步优选的,所述测试参数还包括测试长度;
[0015]
所述外部环境模块还用于在执行所述随机数获取步骤时,获取多个随机数,所述多个随机数是随机数发生器对不同时间进行编码所生成的不同随机数,所述多个随机数的
总长度为所述测试长度。
[0016]
进一步优选的,所述外部环境模块还用于在执行所述随机数写入步骤时,从所述功能函数库中调取写函数,并产生所述多个随机数的写函数对应的模式程序至所述测试环境模块;
[0017]
所述测试环境模块还用于根据所述写函数对应的模式程序,将所述多个随机数写入所述存储器进行存储。
[0018]
进一步优选的,所述外部环境模块还用于在执行所述随机数校验步骤时,从所述功能函数库中调取校验函数,并产生所述校验函数对应的模式程序至所述测试环境模块;
[0019]
所述测试环境模块还用于根据所述校验函数对应的模式程序,读取所述存储器中存储的随机数,并对读取的随机数进行校验,以根据校验结果,输出测试结果。
[0020]
相应地,本发明还提供了一种存储器测试方法,应用于存储器测试系统,所述存储器测试系统包括外部配置接口、外部环境模块和测试环境模块;所述方法包括:
[0021]
通过所述外部配置接口输入测试参数;
[0022]
通过所述外部环境模块根据所述测试参数,确定相应的测试流程;
[0023]
通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块;
[0024]
通过所述测试环境模块根据所述模式程序,对存储器进行测试。
[0025]
所述外部环境模块包括执行程序单元和模式发生器;
[0026]
进一步优选的,所述通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块,包括:
[0027]
通过所述执行程序单元集成存储器量产测试所需的各种测试流程,以根据所述测试参数,从集成的测试流程中确定相应的测试流程,并在执行所述测试流程时,向所述模式发生器发送相应的内部参数;
[0028]
通过所述模式发生器设置所述功能函数库,根据所述内部参数,从所述功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块。
[0029]
进一步优选的,所述测试参数包括随机数测试指令;
[0030]
所述通过所述外部环境模块根据所述测试参数,确定相应的测试流程,包括:
[0031]
通过所述外部环境模块根据所述随机数测试指令,确定随机数测试流程,所述随机数测试流程包括随机数获取步骤、随机数写入步骤和随机数校验步骤。
[0032]
进一步优选的,所述方法还包括:
[0033]
通过所述外部环境模块执行所述随机数获取步骤时,获取多个随机数,所述多个随机数是随机数发生器对不同时间进行编码所生成的不同随机数,所述多个随机数的总长度为所述测试长度。
[0034]
进一步优选的,所述通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块,包括:
[0035]
通过所述外部环境模块执行所述随机数写入步骤时,从所述功能函数库中调取写函数,并产生所述多个随机数的写函数对应的模式程序至所述测试环境模块;
[0036]
所述通过所述测试环境模块根据所述模式程序,对存储器进行测试,包括:
[0037]
通过所述测试环境模块根据所述写函数对应的模式程序,将所述多个随机数写入所述存储器进行存储。
[0038]
进一步优选的,所述通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块,还包括:
[0039]
通过所述外部环境模块执行所述随机数校验步骤时,从所述功能函数库中调取校验函数,并产生所述校验函数对应的模式程序至所述测试环境模块;
[0040]
所述通过所述测试环境模块根据所述模式程序,对存储器进行测试,还包括:
[0041]
通过所述测试环境模块根据所述校验函数对应的模式程序,读取所述存储器中存储的随机数,并对读取的随机数进行校验,以根据校验结果,输出测试结果。
[0042]
本发明的有益效果为:设置外部配置接口、外部环境模块和测试环境模块,使外部配置接口输入测试参数,外部环境模块根据测试参数,确定相应的测试流程,在执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生功能函数的模式程序至测试环境模块,测试环境模块根据模式程序,对存储器进行测试,以通过输入不同的测试参数,实现不同的测试,提高程序的复用性和可维护性,提高量产测试效率,将测试流程移动到外部环境模块执行,最大程度避免测试环境模块的程序寄存器和堆栈空间有限,只能使用联机编译的弊端,降低测试成本。
附图说明
[0043]
为了更清楚地说明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]
图1为本发明实施例提供的存储器测试系统的结构示意图。
[0045]
图2为本发明实施例提供的存储器测试系统的工作原理图。
[0046]
图3为本发明实施例提供的存储器测试方法的流程示意图。
具体实施方式
[0047]
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0048]
在本发明的描述中,需要理解的是,术语“中心”、“横向”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
另外,术语“包括”及其任何变形,意图在于覆盖不排他的包含。
[0049]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0050]
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0051]
参见图1,是本发明实施例提供的存储器测试系统的结构示意图。
[0052]
如图1所示,本发明实施例提供的存储器测试系统100可以包括外部配置接口10、外部环境模块20和测试环境模块30。其中,外部配置接口10与外部环境模块20连接,外部环境模块20与测试环境模块30连接。
[0053]
外部配置接口(external configuration interface)10可以包括所有对外接口。外部配置接口10用于输入测试参数,测试参数可以包括测试指令,以使存储器测试系统100在输入该测试指令后能够执行相应的测试。例如,测试参数包括晶圆测试指令,则存储器测试系统100根据晶圆测试指令执行晶圆测试;测试参数包括成品测试指令,则存储器测试系统100根据成品测试指令执行成品测试;测试参数包括随机数测试指令,则存储器测试系统100根据随机数测试指令执行随机数测试。外部配置接口10每次输入的测试指令可以不同,以便存储器测试系统100能够执行不同的测试。
[0054]
测试参数还可以包括测试要求,以使存储器测试系统100在执行相应测试的同时能够满足该测试要求。例如,测试参数在包括随机数测试指令的同时,还包括测试长度,则存储器测试系统100在执行随机数测试,还需满足读写长度为该测试长度。外部配置接口10每次输入的测试指令可以相同而测试要求不同,以便存储器测试系统100能够执行不同要求的测试。
[0055]
外部环境模块20配置为外部编译运行环境(external compiling&running environment),其利用结构化程序设计思想,将执行程序用c或java等高级语言重新设计实现,再将模式程序中的所有操作依照其功能和编译需求模块化封装为功能函数库,构成模式发生器(pattern generator),即外部环境模块20可以包括两个单元,即执行程序单元21和模式发生器22。
[0056]
执行程序单元21用于根据所述测试参数,确定相应的测试流程。执行程序单元21可以集成各种测试的测试流程,在外部配置接口10输入测试参数后,执行程序21可以直接根据测试参数,从集成的测试流程中确定出相应的测试流程。测试不同,测试流程也不同。具体地,执行程序21主要完成以下工作:存储器完整测量流程所包括的多个独立测试项及步骤,且这些测试项及步骤具有先后顺序;完成条件判断、分支跳转、循环等程序结构;实现程序中所需用到的算法,如产生随机数测试随机读写能力。
[0057]
模式发生器22用于在执行所述测试流程时,从预设的功能函数库中调取相应的功
能函数,并产生所述功能函数对应的模式程序至所述测试环境模块。其中,模式程序是指ate编译运行环境中机台(ate)能够运行的程序。具体地,模式发生器22具有功能函数库,通过执行程序单元21的内部参数传递,从功能函数库中调取功能函数,产生对应的模式程序,实现对存储器和ate的操作和设定。例如,定义存储器操作,即定义存储器所有命令序列、数据和地址;设置存储器参数,即设置存储器物理地址、容量、时钟频率和命令时序;设置ate参数,即设置ate测试温度、定义引脚等。
[0058]
具体地,执行程序单元21中集成有存储器量产测试所需的各种测试流程,执行程序单元21在接收到外部配置接口10输入的测试参数后,从集成的测试流程中确定该测试参数对应的测试流程,并执行该测试流程。在执行测试流程过程中,若需要调取功能函数,则向模式发生器22发送内部参数。模式发生器22中设置有功能函数库,模式发生器22在接收到执行程序单元21发送的内部参数后,调取该内部参数对应的功能函数,并产生该功能函数对应的模式程序,以将模式程序传输至测试环境模块30。
[0059]
这种设计结构能进一步提升模式程序生成的效率和灵活性。具体而言,当所需的测试流程较为简单,仅靠执行程序单元21就能完成主要工作,模式发生器22调用相应的读取、编程程序即可。而当需要调用复杂的函数时,先由执行程序单元21执行需要的测试流程,再由模式发生器22调用相应的函数。因而执行程序单元21中测试流程的更新和模式发生器22中功能函数的更新可以分开进行,比如在无须新的测试流程时,可以只更新功能函数,在功能函数的作用下,将测试流程进行不同的组合,从而完成定制化的测试需求,使得测试更加灵活。
[0060]
外部环境模块20在执行测试流程的过程中,还会输出外部结果,以对测试流程的运行进行追踪。
[0061]
测试环境模块30配置为ate编译运行环境。测试环境模块30用于根据所述模式程序,对存储器进行测试,输出测试结果,即测试环境模块30只用输入模式程序,并根据模式程序对存储器进行相应的操作,实现对存储器的测试。测试环境模块30配置在自动测试设备ate中。
[0062]
本实施例中外部环境模块20与测试环境模块30相互独立耦合,且外部环境模块20采用结构化程序设计思想,采用模式发生器22集成功能函数库,提高程序的复用性和可维护性,降低开发调试难度,同时减少开发调试时间,提高量产测试效率。另外,将测试流程和算法实现部分程序移动到外部环境模块20中执行,可以最大程度避免测试环境模块30的程序寄存器和堆栈空间有限,仅能使用联机编译的弊端,降低测试成本。
[0063]
在存储器量产测试中,随机数测试可以检验存储器(如flash)随机数读写的能力,是一种重要的测试模式。但是,若采用现有技术中基于atl程序框架的存储器测试系统进行随机数测试,其ate编译运行环境中的执行程序和模式程序之间只有一种数据传递机制,即执行程序在数据寄存器定义,模式程序访问,而可用数据寄存器十分有限,导致模式程序中没有可写入的数据区,因此只能在模式程序中直接写入预设值(固定值),即随机数测试往往都采用固定值测试来代替,即ate编译运行环境无法实现真实有效的随机数测试,只能用固定值来模拟随机数测试,从而无法有效测试存储器随机数读写能力。
[0064]
在本发明的存储器测试系统100进行随机数测试时,如图2所示,外部配置接口10可以输入随机数测试相关的测试参数,该测试参数可以包括随机数测试指令,随机数测试
指令通过外部配置接口10传输至外部环境模块20后,由于外部环境模块20集成有各种测试的测试流程,因此外部环境模块20可以用于根据随机数测试指令,确定随机数测试流程。其中,随机数测试流程主要包括随机数获取步骤、随机数写入步骤和随机数校验步骤。进而,外部环境模块20开始执行随机数测试流程,即外部环境模块20依次执行随机数获取步骤、随机数写入步骤和随机数校验步骤。
[0065]
外部配置接口10输入的测试参数还可以包括测试长度,该测试长度是指读写长度,可根据测试要求进行设置,例如设置测试长度为一个block(块)、page(页)、sector(分区)或byte(字节)等。外部环境模块20在执行随机数获取步骤时,获取多个随机数,所述多个随机数的总长度为所述测试长度。由于一个随机数的长度为固定长度,如一个byte,因此外部环境模块20可以根据测试长度来确定所需获取的随机数的个数。
[0066]
如图2所示,每个随机数都是随机数发生器40生成的,且随机数发生器40每次只生成一个随机数。在随机数发生器40逐一生成每个随机数时,对当前时间进行编码,编码后的时间即构成一个随机数。由于随机数发生器40生成每个随机数的时间不同,即编码的时间不同,因此生成的每个随机数均不相同,即外部环境模块20获取的多个随机数各不相同。
[0067]
由于外部环境模块20配置为外部编译运行环境,可以避免ate编译运行环境的限制,程序资源相对充足,因此可以保存多个随机数,以保证是真正的随机数进行随机数测试。
[0068]
在获取多个随机数后,外部环境模块20执行随机数写入步骤。外部环境模块20还用于在执行所述随机数写入步骤时,从所述功能函数库中调取写函数,并产生所述多个随机数的写函数对应的模式程序至所述测试环境模块30,即外部环境模块20可以将多个随机数和写函数构成模式程序,再将模式程序传输至测试环境模块30。测试环境模块30还用于根据所述写函数对应的模式程序,将所述多个随机数写入存储器50进行存储。多个随机数写入存储器50,以将存储器50中相应的测试长度填满。测试环境模块30可以根据测试长度的不同,写入不同数量的随机数,使得测试形式更加灵活,基于这种灵活的测试方式使得测试效率可控。当需要提升测试效率时,可以缩短测试长度,而当需要测试结果更加可靠时则增加测试长度,使用者可以灵活操控。
[0069]
外部环境模块20可以在获取多个随机数后,再统一调取写函数,将多个随机数的写函数对应的模式程序传输至测试环境模块30,测试环境模块30统一将多个随机数写入存储器50中。外部环境模块20也可以在每获取一个随机数后,就调取一次写函数,并将该随机数的写函数对应的模式程序传输至测试环境模块30,测试环境模块30将该随机数写入存储器50中,直到测试环境模块30将多个随机数写入存储器50中。
[0070]
在将多个随机数写入存储器50后,外部环境模块20执行随机数校验步骤。外部环境模块20还用于在执行所述随机数校验步骤时,从所述功能函数库中调取校验函数,并产生所述校验函数对应的模式程序至所述测试环境模块30。测试环境模块30还用于根据所述校验函数对应的模式程序,读取存储器中存储的随机数,并对读取的随机数进行校验,以根据校验结果,输出测试结果。
[0071]
测试环境模块30在输入校验函数对应的模式程序后,依次读取预先写入的多个随机数,且测试环境模块30每从存储器50读取一个随机数,外部环境模块20向测试环境模块30传输一个预先写入的相同位置的随机数,使测试环境模块30将两个随机数进行比较,若
比较结果为相同,则测试环境模块30继续读取下一个随机数进行比较,直到预先写入的多个随机数都进行比较;若比较结果为不同,则测试环境模块30输出为失败(fail)。测试环境模块30根据比较结果输出测试结果,即读取的多个随机数与写入的多个随机数按位比较均相同,则测试结果为读写正确,读取的任意一个随机数与写入的相应随机数不同,即输出为失败,则测试结果为读写错误。
[0072]
由上述可知,本发明实施例设置外部配置接口、外部环境模块和测试环境模块,使外部配置接口输入测试参数,外部环境模块根据测试参数,确定相应的测试流程,在执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生功能函数的模式程序至测试环境模块,测试环境模块根据模式程序,对存储器进行测试,以通过输入不同的测试参数,实现不同的测试,提高程序的复用性和可维护性,提高量产测试效率,将测试流程移动到外部环境模块执行,最大程度避免测试环境模块的程序寄存器和堆栈空间有限,只能使用联机编译的弊端,降低测试成本。
[0073]
相应地,参见图3,是本发明实施例提供的存储器测试方法的流程示意图。
[0074]
如图3所示,本实施例提供一种存储器测试方法,应用于上述存储器测试系统,所述存储器测试系统包括外部配置接口、外部环境模块和测试环境模块。所述方法包括步骤301至步骤304:
[0075]
步骤301、通过所述外部配置接口输入测试参数。
[0076]
步骤302、通过所述外部环境模块根据所述测试参数,确定相应的测试流程。
[0077]
步骤303、通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块。
[0078]
步骤304、通过所述测试环境模块根据所述模式程序,对存储器进行测试。
[0079]
所述外部环境模块包括执行程序单元和模式发生器;
[0080]
进一步优选的,所述通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块,包括:
[0081]
通过所述执行程序单元集成存储器量产测试所需的各种测试流程,以根据所述测试参数,从集成的测试流程中确定相应的测试流程,并在执行所述测试流程时,向所述模式发生器发送相应的内部参数;
[0082]
通过所述模式发生器设置所述功能函数库,根据所述内部参数,从所述功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块。
[0083]
进一步优选的,所述测试参数包括随机数测试指令;
[0084]
所述通过所述外部环境模块根据所述测试参数,确定相应的测试流程,包括:
[0085]
通过所述外部环境模块根据所述随机数测试指令,确定随机数测试流程,所述随机数测试流程包括随机数获取步骤、随机数写入步骤和随机数校验步骤。
[0086]
进一步优选的,所述方法还包括:
[0087]
通过所述外部环境模块执行所述随机数获取步骤时,获取多个随机数,所述多个随机数是随机数发生器对不同时间进行编码所生成的不同随机数,所述多个随机数的总长度为所述测试长度。
[0088]
进一步优选的,所述通过所述外部环境模块执行所述测试流程时,从预设的功能
函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块,包括:
[0089]
通过所述外部环境模块执行所述随机数写入步骤时,从所述功能函数库中调取写函数,并产生所述多个随机数的写函数对应的模式程序至所述测试环境模块;
[0090]
所述通过所述测试环境模块根据所述模式程序,对存储器进行测试,包括:
[0091]
通过所述测试环境模块根据所述写函数对应的模式程序,将所述多个随机数写入所述存储器进行存储。
[0092]
进一步优选的,所述通过所述外部环境模块执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生所述功能函数对应的模式程序至所述测试环境模块,还包括:
[0093]
通过所述外部环境模块执行所述随机数校验步骤时,从所述功能函数库中调取校验函数,并产生所述校验函数对应的模式程序至所述测试环境模块;
[0094]
所述通过所述测试环境模块根据所述模式程序,对存储器进行测试,还包括:
[0095]
通过所述测试环境模块根据所述校验函数对应的模式程序,读取所述存储器中存储的随机数,并对读取的随机数进行校验,以根据校验结果,输出测试结果。
[0096]
本发明实施例设置外部配置接口、外部环境模块和测试环境模块,使外部配置接口输入测试参数,外部环境模块根据测试参数,确定相应的测试流程,在执行所述测试流程时,从预设的功能函数库中调取相应的功能函数,并产生功能函数的模式程序至测试环境模块,测试环境模块根据模式程序,对存储器进行测试,以通过输入不同的测试参数,实现不同的测试,提高程序的复用性和可维护性,提高量产测试效率,将测试流程移动到外部环境模块执行,最大程度避免测试环境模块的程序寄存器和堆栈空间有限,只能使用联机编译的弊端,降低测试成本。
[0097]
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜