本发明涉及新型存储芯片rram测试技术领域,具体涉及一种阻变存储器的故障测试方法。
背景技术:
阻变存储器作为一种新型的存储器,具备存储密度高、功耗低、读写速度快、数据保持时间长的特点,具有很大的应用前景和研究价值。基于阻变存储器的故障测试方法也是目前研究工作的重点,阻变存储器存储单元的故障类型主要包括自身存储故障和耦合存储故障两种。随着阻变存储单元数目的增加,存储器故障测试的时间也成倍的增加,严重影响了阻变存储器的研发和生产的效率。
技术实现要素:
为了解决现有技术中存在的上述技术问题,本发明设计了一种阻变存储器的故障测试方法,其具体技术方案如下。
一种阻变存储器的故障测试方法,包括如下步骤:
s1:扫描阻变存储器所有的存储单元,检测出所有的故障存储单元,标记一级故障类型为自身故障类型或耦合故障类型;
s2:扫描一级故障类型为自身故障类型的故障存储单元,标记为二级自身故障类型;
s3:扫描一级故障类型为耦合故障类型的故障存储单元,标记为二级耦合故障类型;
s4:输出所有的存储单元故障类型一览表,即输出标记阻变存储器中每个故障存储单元的故障类型。
进一步的,所述步骤s1具体包括:将所有的存储单元写入bit1,重复执行2次或2次以上,选中其中的第一个存储单元后写入bit0,并读取选中存储单元所在行的所有存储单元的阻值;分别判断选中的存储单元和其他存储单元的阻值是否为bit0,若不是bit0,则分别标记一级故障类型为自身故障类型和耦合故障类型;往复操作,执行完所有的存储单元;
将所有的存储单元写入bit0,重复执行2次或2次以上,选中其中的第一个存储单元后写入bit1,并读取选中存储单元所在行的所有存储单元的阻值,且选中的存储单元重复读取2次;
分别判断选中的存储单元和其他存储单元的阻值是否为bit1,若不是bit1,则标记一级故障类型为自身故障类型和耦合故障类型;往复操作,执行完所有的存储单元;
其中,所述bit0对应阻变存储单元阻值为低阻态,bit1对应阻变存储单元阻值为高阻态,阻变存储器的存储单元通过译码器电路来选中。
进一步的,所述步骤s2的二级自身故障类型包括固定故障类型sa0、sa1,状态转换故障类型tf0、tf1,读值故障类型r1d。
进一步的,所述步骤s2具体包括:将所有的一级故障类型为自身故障类型的故障存储单元写入bit1,选中所述的存储单元中的第1个存储单元,以大于等于2倍的写脉冲周期,往选中的存储单元写入bit0,读取选中的存储单元的阻值,若选中的存储单元的阻值为bit1,则标记故障类型为固定故障类型sa1,否则标记故障类型为状态转换故障类型tf0;往复操作,执行完所有的一级故障类型为自身故障类型的故障存储单元;接着将所有的一级故障类型为自身故障类型的故障存储单元写入bit0,选中所述的存储单元的第1个存储单元,往选中的存储单元写入bit1,重复读取2次选中的存储单元的阻值,若前2次读取的存储单元的阻值分别为bit1、bit0,则标记故障类型为读值故障类型r1d;当以大于等于2倍的写脉冲周期,往选中的存储单元写入bit1时,读取选中的存储单元的阻值,若选中的存储单元的阻值为bit0,则标记故障类型为固定故障类型sa0,否则标记故障类型为状态转换故障类型tf1;往复操作,执行完所有的一级故障类型为自身故障类型的故障存储单元。
进一步的,所述步骤s3的二级耦合故障类型包括状态耦合故障scf0、scf1,跳变耦合故障jcf0、jcf1。
进一步的,所述步骤s3具体包括:将所有的存储单元写入bit1,选中所有的一级故障类型为自身故障类型的故障存储单元中的第1个存储单元后写入bit0,选中的存储单元所在行的其余存储单元写入bit1,读取并判断选中的存储单元的阻值,若阻值为bit1,则标记故障类型为状态耦合故障scf1,否则所述选中存储单元写入bit1,所述的其余存储单元写入bit1,再读取并判断选中的存储单元的阻值,若阻值为bit0,则标记故障类型为状态耦合故障scf0,否则选中存储单元写入bit0,所述的其余存储单元写入bit0,再读取并判断选中的存储单元的阻值,若阻值为bit1,则标记故障类型为跳变耦合故障jcf1,否则选中存储单元写入bit0,所述其余存储单元写入bit1,再读取并判断选中的存储单元的阻值,若阻值为bit1,则标记故障类型为跳变耦合故障jcf1;往复操作,执行完所有的存储单元;
接着将所有的存储单元写入bit0,选中所有的一级故障类型为自身故障类型的故障存储单元中的第1个存储单元后写入bit1,选中的存储单元所在行的其余存储单元写入bit0,读取并判断选中的存储单元的阻值,若阻值为bit0,则标记故障类型为状态耦合故障scf0,否则选中存储单元写入bit0,所述其余存储单元写入bit0,再读取并判断选中的存储单元的阻值,若阻值为bit1,则标记故障类型为状态耦合故障scf1,否则选中存储单元写入bit1,所述的其余存储单元写入bit1,再读取并判断选中的存储单元的阻值,若阻值为bit0,则标记故障类型为跳变耦合故障jcf0,否则选中存储单元写入bit1,所述的其余存储单元写入bit0,再读取并判断选中的存储单元的阻值,若阻值为bit0,则标记故障类型为跳变耦合故障jcf0;往复操作,执行完所有的存储单元。
进一步的,所述步骤s4具体为:输出标记阻变存储器中每个故障存储单元的故障类型一览表。
本发明具有如下有益效果:本发明的方法可以检测出阻变存储器存储单元的主要故障类型,且检测时间短,检测故障类型准确可靠,降低了阻变存储器检测故障的错判率,提高了阻变存储器的故障测试效率。
附图说明
图1是本发明的测试流程示意图;
图2是本发明的步骤s1的流程示意图;
图3是本发明的步骤s2的流程示意图;
图4是本发明的步骤s3的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。
如图1-4所示,一种阻变存储器的故障测试方法,包括如下步骤:
s1:扫描阻变存储器所有的存储单元,检测出所有的故障存储单元,标记一级故障类型为自身故障类型或耦合故障类型。
具体的,为了减少阻变存储器故障检测的时间,先过滤掉所有的正常存储单元,具体包括如下步骤:
s101:将所有的存储单元写入bit1,重复大于等于2次;
s102:选中所有的存储单元中的第一个存储单元;
s103:往选中的存储单元写入bit0,并读取选中存储单元所在行的所有存储单元的阻值;
s104:判断选中的存储单元的阻值是否为bit0,若不是bit0,则标记一级故障类型为自身故障类型;读取选中的存储单元的阻值,判断是否对应于bit0所属的阻值范围,若不属于所述阻值范围则标记该存储单元的故障类型属于一级故障类型下面的自身故障类型;
s105:判断其他存储单元的阻值是否为bit0,若不是bit0,则标记一级故障类型为耦合故障类型;读取选中的存储单元所在行的其他存储单元的阻值,判断是否对应于bit0所属的阻值范围,若不属于所述阻值范围则标记该存储单元的故障类型属于一级故障类型下面的耦合故障类型;
s106:重复所述步骤s102~s105,执行完所有的存储单元;
s107:将所有的存储单元写入bit0,重复大于等于2次;
s108:选中所有的存储单元中的第一个存储单元;
s109:往选中的存储单元写入bit1,并读取选中存储单元所在行的所有存储单元的阻值,且选中的存储单元重复读取2次;
s110:判断选中的存储单元的阻值是否为bit1,若不是bit1,则标记一级故障类型为自身故障类型;读取选中的存储单元的阻值,判断是否对应于bit1所属的阻值范围,若不属于所述阻值范围则标记该存储单元的故障类型属于一级故障类型下面的自身故障类型;
s111:判断其他存储单元的阻值是否为bit1,若不是bit1,则标记一级故障类型为耦合故障类型;读取选中的存储单元的阻值,判断是否对应于bit1所属的阻值范围,若不属于所述阻值范围则标记该存储单元的故障类型属于一级故障类型下面的耦合故障类型;
s112:重复所述步骤s108~s111,执行完所有的存储单元。
其中,bit0对应阻变存储单元阻值为低阻态,bit1对应阻变存储单元阻值为高阻态,阻变存储器的存储单元通过译码器电路来选中。
s2:扫描一级故障类型为自身故障类型的故障存储单元,标记为二级自身故障类型。
其中,所述二级自身故障类型包括固定故障类型sa0、sa1,状态转换故障类型tf0、tf1,读值故障类型r1d。具体的,为了检测故障存储单元故障类型为何种自身故障类型,具体包括如下步骤:
s201:将所有的一级故障类型为自身故障类型的故障存储单元写入bit1;
s202:选中所有的一级故障类型为自身故障类型的存储单元中的第1个存储单元;
s203:以大于等于2倍的写脉冲周期,往选中的存储单元写入bit0,读取选中的存储单元的阻值;
s204:若选中的存储单元的阻值为bit1,则标记故障类型为固定故障类型sa1,否则标记故障类型为状态转换故障类型tf0;
s205:重复所述步骤s202~204,执行完所有的一级故障类型为自身故障类型的故障存储单元;
s206:将所有的一级故障类型为自身故障类型的故障存储单元写入bit0;
s207:选中所有的一级故障类型为自身故障类型的存储单元的第1个存储单元;
s208:往选中的存储单元写入bit1,并重复读取2次选中的存储单元的阻值;
s209:若前2次读取的存储单元的阻值分别为bit1、bit0,则标记故障类型为读值故障类型r1d;
s210:以大于等于2倍的写脉冲周期,往选中的存储单元写入bit1,读取选中的存储单元的阻值;
s211:若选中的存储单元的阻值为bit0,则标记故障类型为固定故障类型sa0,否则标记故障类型为状态转换故障类型tf1;
s212:重复所述步骤s207~211,执行完所有的一级故障类型为自身故障类型的故障存储单元。
s3:扫描一级故障类型为耦合故障类型的故障存储单元,标记为二级耦合故障类型。
其中,二级耦合故障类型包括状态耦合故障scf0、scf1,跳变耦合故障jcf0、jcf1。具体的,为了检测故障存储单元故障类型为何种耦合故障类型,具体包括如下步骤:
s301:将所有的存储单元写入bit1;
s302:选中所有的一级故障类型为自身故障类型的故障存储单元中的第1个存储单元;
s303:选中存储单元写入bit0,选中的存储单元所在行的其余存储单元写入bit1,读取并判断选中的存储单元的阻值;
s304:若阻值为bit1,则标记故障类型为状态耦合故障scf1;
s305:否则选中存储单元写入bit1,选中的存储单元所在行的其余存储单元写入bit1,读取并判断选中的存储单元的阻值;
s306:若阻值为bit0,则标记故障类型为状态耦合故障scf0;
s307:否则选中存储单元写入bit0,选中的存储单元所在行的其余存储单元写入bit0,读取并判断选中的存储单元的阻值;
s308:若阻值为bit1,则标记故障类型为跳变耦合故障jcf1;
s309:否则选中存储单元写入bit0,选中的存储单元所在行的其余存储单元写入bit1,读取并判断选中的存储单元的阻值;
s310:若阻值为bit1,则标记故障类型为跳变耦合故障jcf1;
s311:重复所述步骤s302~s310,执行完所有的存储单元;
s312:将所有的存储单元写入bit0;
s313:选中所有的一级故障类型为自身故障类型的故障存储单元中的第1个存储单元;
s314:选中存储单元写入bit1,选中的存储单元所在行的其余存储单元写入bit0,读取并判断选中的存储单元的阻值;
s315:若阻值为bit0,则标记故障类型为状态耦合故障scf0;
s316:否则选中存储单元写入bit0,选中的存储单元所在行的其余存储单元写入bit0,读取并判断选中的存储单元的阻值;
s317:若阻值为bit1,则标记故障类型为状态耦合故障scf1;
s318:否则选中存储单元写入bit1,选中的存储单元所在行的其余存储单元写入bit1,读取并判断选中的存储单元的阻值;
s319:若阻值为bit0,则标记故障类型为跳变耦合故障jcf0;
s320:否则选中存储单元写入bit1,选中的存储单元所在行的其余存储单元写入bit0,读取并判断选中的存储单元的阻值;
s321:若阻值为bit0,则标记故障类型为跳变耦合故障jcf0;
s322:重复所述步骤s313~s321,执行完所有的存储单元。
s4:输出所有的存储单元故障类型一览表,测试结束后输出一份标记阻变存储器中每个故障存储单元的故障类型,以提供给阻变设计人员分析统计故障情况。
以上所述仅为本发明的优选实施例,所述实施例并非用于限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明所附权利要求的保护范围内。