一种相变存储器的故障诊断方法与流程

文档序号:18003919发布日期:2019-06-25 23:09阅读:207来源:国知局
一种相变存储器的故障诊断方法与流程

本发明涉及微电子技术领域,特别是涉及一种相变存储器的故障诊断方法。



背景技术:

相变存储器是一种新型的非易失性半导体存储器,它以硫系化合物材料为存储介质,利用加工到纳米尺寸的相变材料在晶态(材料呈低阻状态)与非晶态(材料呈高阻状态)时不同的电阻状态来实现数据的存储。

随着工艺特征尺寸的不断缩小和容量的不断增大,相变存储器内部发生故障的可能性和故障类型的种类也在不断增加,这一现象在占相变存储器芯片面积最多的存储单元阵列中尤为明显。相变存储器作为一种新型的非易失性半导体存储器,其存储数据的原理和编程的操作方式都与目前主流的存储器flash和sram不同,因此相变存储器中存储单元阵列中潜在的故障也与传统的故障有所不同。

现有针对以位为操作单位的相变存储器的研究总结了一些常见的故障类型,包括读恢复串扰故障(rrd:readrecoverydisturb)、读串扰故障(rd:readdisturb)、误写故障(fwr:faultwrite)、固定set故障(ss:stuckset)、固定reset故障(sr:stuckreset)、不完全编程故障(ipf:incompleteprogramfault)及热串扰故障(pd:proximitydisturb);其中按故障种类划分,rrd故障、rd故障、fwr故障、ss故障、sr故障和ipf故障都属于单个单元的故障,而pd故障则属于单元间的故障。虽然现有研究已经总结了以位为操作单位的相变存储器中一些常见的故障类型,但却并没有提出有效的故障触发及检测方法,特别是针对单元间的pd故障;同时对于目前应用普及率更高的以字为操作单位的相变存储器,其特有的故障类型和故障诊断方法也没有相应的研究,因此如何实现单元间pd故障的全面触发及检测、如何研究以字为操作单位的相变存储器特有故障的触发及检测是本领域技术人员迫切需要解决的技术问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种相变存储器的故障诊断方法,用于解决现有技术中无法全面检测pd故障及现有技术还未有以字为操作单位的相变存储器特有故障的触发及检测的相关研究的问题。

为实现上述目的及其他相关目的,本发明提供一种相变存储器的故障诊断方法,应用于以位为操作单位的相变存储器中,所述故障诊断方法包括:

对所述相变存储器进行第一操作以触发部分热串扰故障,其中所述第一操作包括一次地址递增的位写0;

对所述相变存储器进行第二操作以检测触发的部分热串扰故障,其中所述第二操作包括一次地址递增的位读0;

对所述相变存储器进行第三操作以触发剩余热串扰故障,其中所述第三操作包括一次地址递减的位写0;

对所述相变存储器进行第四操作以检测触发的剩余热串扰故障,其中所述第四操作包括一次地址递减的位读0。

可选地,所述第三操作同时触发了所述相变存储器中的固定set故障,所述第四操作同时检测了触发的固定set故障。

可选地,所述故障诊断方法还包括:

对所述相变存储器进行第五操作以触发固定reset故障,其中所述第五操作包括一次地址递减的位写1;

对所述相变存储器进行第六操作以检测触发的固定reset故障,其中所述第六操作包括一次地址递减的位读1。

可选地,所述第四操作中的位读0、所述第五操作中的位写1及所述第六操作中的位读1在同一次地址递减操作中进行。

可选地,所述第六操作同时触发了所述相变存储器中的误写故障,此时所述故障诊断方法还包括:对所述相变存储器进行第七操作以检测触发的误写故障,其中所述第七操作包括一次地址递增的位读1。

可选地,所述故障诊断方法还包括:对所述相变存储器进行第八操作以触发读恢复串扰故障,其中所述第八操作包括位写0及位读0,且所述第八操作中的位写0及位读0在同一次地址递增操作中进行;同时通过所述第八操作中的位读0检测触发的读恢复串扰故障。

可选地,所述第七操作中的位读1及所述第八操作中的位写0、位读0在同一次地址递增操作中进行。

可选地,所述第八操作中的位写0触发了所述相变存储器中的不完全编程故障,所述第八操作中的位读0触发了所述相变存储器中的读串扰故障;此时所述故障诊断方法还包括:对所述相变存储器进行第九操作以检测触发的不完全编程故障及读串扰故障,其中所述第九操作包括一次地址递增的位读0。

一种相变存储器的故障诊断方法,应用于以字为操作单位的相变存储器中,所述故障诊断方法包括:

对所述相变存储器进行第一操作以触发部分热串扰故障,其中所述第一操作包括一次地址递增的字写0;

对所述相变存储器进行第二操作以检测触发的部分热串扰故障,其中所述第二操作包括一次地址递增的字读0;

对所述相变存储器进行第三操作以触发剩余热串扰故障,其中所述第三操作包括一次地址递减的字写0;

对所述相变存储器进行第四操作以检测触发的剩余热串扰故障,其中所述第四操作包括一次地址递减的字读0。

可选地,所述第三操作同时触发了所述相变存储器中的固定set故障,所述第四操作同时检测了触发的固定set故障。

可选地,所述故障诊断方法还包括:

对所述相变存储器进行第五操作以触发固定reset故障,其中所述第五操作包括一次地址递减的字写1;

对所述相变存储器进行第六操作以检测触发的固定reset故障,其中所述第六操作包括一次地址递减的字读1。

可选地,所述第四操作中的字读0、所述第五操作中的字写1及所述第六操作中的字读1在同一次地址递减操作中进行。

可选地,所述第六操作同时触发了所述相变存储器中的误写故障,此时所述故障诊断方法还包括:对所述相变存储器进行第七操作以检测触发的误写故障,其中所述第七操作包括一次地址递增的字读1。

可选地,所述故障诊断方法还包括:对所述相变存储器进行第八操作以触发读恢复串扰故障,其中所述第八操作包括字写0及字读0,且所述第八操作中的字写0及字读0在同一次地址递增操作中进行;同时通过所述第八操作中的字读0检测触发的读恢复串扰故障。

可选地,所述第七操作中的字读1及所述第八操作中的字写0、字读0在同一次地址递增操作中进行。

可选地,所述第八操作中的字写0触发了所述相变存储器中的不完全编程故障,所述第八操作中的字读0触发了所述相变存储器中的读串扰故障;此时所述故障诊断方法还包括:对所述相变存储器进行第九操作以检测触发的不完全编程故障及读串扰故障,其中所述第九操作包括一次地址递增的字读0。

可选地,所述故障诊断方法还包括对字内热串扰故障的诊断步骤;包括:

针对字内热串扰故障建立与其等效的标准故障模型,其中所述标准故障模型包括等幂耦合故障模型;

获取n组测试数据组,且任一所述测试数据组均包括m个测试数据,其中n、m均为正整数,且m为相变存储器中一个字所包括的比特位个数,n等于2log2m;

对所述相变存储器进行第十操作以触发字内热串扰故障,并对所述相变存储器进行第十一操作以检测触发的字内热串扰故障;其中所述第十操作包括测试数据组写入,所述第十一操作包括测试数据组读出,且所述第十操作中的测试数据组写入及所述第十一操作中的测试数据组读出在同一次地址递增操作中进行。

可选地,获取n组所述测试数据组的方法包括:

基于包括两个比特位的字获取能够检测到字内热串扰故障的基础数据组;

将包括m个比特位的字按照每两个比特位为一组划分为多组耦合单元对,并将基础数据组分别写入耦合单元对中以获取2log2m组测试数据组。

如上所述,本发明的一种相变存储器的故障诊断方法,具有以下有益效果:本发明利用地址递增的位/字写0及地址递减的位/字写0可实现对相变存储器中存在的所有pd故障进行触发,同时利用地址递增的位/字读0及地址递减的位/字读0可实现对触发的所有pd故障进行检测,即通过本发明所述故障诊断方法可对相变存储器中存在的pd故障进行全面检测,大大提高了pd故障的覆盖率。在此基础上,本发明更通过合理设计ss故障、sr故障、fwr故障、rrd故障、ipf故障及rd故障的触发及检测,在提高故障覆盖率的同时更提高了测试效率。而且,本发明更是在实现以字为操作单位的相变存储器的故障触发及检测后,增加了ipd故障的触发及检测,从而进一步提高了以字为操作单位的相变存储器的故障覆盖率。

附图说明

图1显示为本发明实施例一所述故障诊断方法的流程图。

图2显示为典型相变存储器中存储单元阵列图。

图3显示为本发明实施例一所述相变存储器中存在的故障类型。

图4显示为本发明实施例一所述故障诊断方法中各故障的触发条件及检测方法。

图5显示为本发明实施例二所述故障诊断方法的流程图。

图6显示为本发明实施例三所述相变存储器中存在的故障类型。

图7显示为本发明实施例三中两比特位等幂耦合故障的状态转换图。

图8显示为本发明实施例三中两比特位ipd故障的状态转换图。

图9显示为本发明实施例三中测试数据组的示意图。

图10至图15显示为本发明实施例三中基于基础数据组得到测试数据组时各步骤的示意图。

图16显示为本发明实施例三所述故障诊断方法中各故障的触发条件及检测方法。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

请参阅图1至图16。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的形态、数量及比例可为一种随意的改变,且其组件布局形态也可能更为复杂。

实施例一

如图1所示,本实施例提供一种相变存储器的故障诊断方法,应用于以位为操作单位的相变存储器中,所述故障诊断方法包括:

对所述相变存储器进行第一操作以触发部分热串扰故障,其中所述第一操作包括一次地址递增的位写0;

对所述相变存储器进行第二操作以检测触发的部分热串扰故障,其中所述第二操作包括一次地址递增的位读0;

对所述相变存储器进行第三操作以触发剩余热串扰故障,其中所述第三操作包括一次地址递减的位写0;

对所述相变存储器进行第四操作以检测触发的剩余热串扰故障,其中所述第四操作包括一次地址递减的位读0。

需要注意的是,热串扰故障(即pd故障)属于单元间故障,是由对存储单元进行reset编程操作时所产生的热串扰引起,以使其临近存储单元中的存储信息发生丢失。如图2所示,对于pd故障中的受主单元vc1(victimcell)来说,最多有8个存储单元(即ac11-ac18)位于它的第一临近位,这其中任一个存储单元都可能作为施主单元ac(aggressorcell)对受主单元vc1产生影响。

具体的,如图3所示,pd故障的故障模型为<xw0;0/1m/->,由上述故障模型可知,pd故障中的受主单元的初始状态为逻辑“0”,在对施主单元进行写0操作时,受主单元因施主单元的热串扰影响,导致受主单元中的存储信息由逻辑“0”变为逻辑“1”。为了检测pd故障,如图4所示,受主单元的初始状态必须是逻辑“0”,先通过对施主单元进行写0操作以对受主单元进行故障触发,之后再通过对受主单元进行读0操作以检测其是否存在pd故障(若受主单元存在pd故障,则读取逻辑“1”,若受主单元不存在pd故障,则读取逻辑“0”);本实施例利用地址递增的位写0先使相变存储器中受主单元vc1的初始状态为逻辑“0”,再利用对后续施主单元(ac15-ac18)进行写0操作时,施主单元(ac15-ac18)对受主单元vc1的影响实现部分pd故障的触发,之后再利用地址递增的位读0对已触发的pd故障进行检测;之后本实施例再利用地址递减的位写0先使相变存储器中受主单元vc1的初始状态为逻辑“0”,再利用对后续施主单元(ac14-ac11)进行写0操作时,施主单元(ac14-ac11)对受主单元vc1的影响实现剩余pd故障的触发,最后再利用地址递减的位读0对已触发的pd故障进行检测;即本实施例利用地址递增的位写0、地址递增的位读0及地址递减的位写0、地址递减的位读0可实现检测相变存储器中所有施主单元ac11-ac18对受主单元vc1的影响,从而大大提高了pd故障的覆盖率。

作为示例,所述第三操作同时触发了所述相变存储器中的固定set故障,所述第四操作同时检测了触发的固定set故障。

需要注意的是,固定set故障(即ss故障)属于单个单元的故障,是由过热引起,以使存储单元一直处于多晶态,即存储单元中的存储信息一直为逻辑“1”。

具体的,如图3所示,ss故障的故障模型为<↓/1>,由上述故障模型可知,在存储单元由多晶态(逻辑“1”)转变为非晶态(逻辑“0”)时,因ss故障的存在,导致该存储单元中的存储信息不变,一直为逻辑“1”。为了检测ss故障,如图4所示,存储单元的初始状态为逻辑“1”,先通过控制该存储单元由多晶态转变为非晶态(即对该存储单元进行写0操作)以进行故障触发,之后再通过对该存储单元进行读0操作以检测其是否存在ss故障(若该存储单元存在ss故障,则读取逻辑“1”,若该存储单元不存在ss故障,则读取逻辑“0”)。

作为示例,所述故障诊断方法还包括:

对所述相变存储器进行第五操作以触发固定reset故障,其中所述第五操作包括一次地址递减的位写1;

对所述相变存储器进行第六操作以检测触发的固定reset故障,其中所述第六操作包括一次地址递减的位读1。

需要注意的是,固定reset故障(即sr故障)属于单个单元的故障,是由过热引起,以使存储单元一直处于非晶态,即存储单元中的存储信息一直为逻辑“0”。

具体的,如图3所示,sr故障的故障模型为<↑/0>,由上述故障模型可知,在存储单元由非晶态(逻辑“0”)转变为多晶态(逻辑“1”)时,因sr故障的存在,导致该存储单元中的存储信息不变,一直为逻辑“0”。为了检测sr故障,如图4所示,存储单元的初始状态为逻辑“0”,先通过控制该存储单元由非晶态转变为多晶态(即对该存储单元进行写1操作)以进行故障触发,之后再通过对该存储单元进行读1操作以检测其是否存在sr故障(若该存储单元存在sr故障,则读取逻辑“0”,若该存储单元不存在sr故障,则读取逻辑“1”)。

作为示例,所述第四操作中的位读0、所述第五操作中的位写1及所述第六操作中的位读1在同一次地址递减操作中进行。本实施例通过将所述第四操作、第五操作及第六操作设置在同一次地址递减操作中进行,可大大缩减测试时间。

作为示例,所述第六操作同时触发了所述相变存储器中的误写故障,此时所述故障诊断方法还包括:对所述相变存储器进行第七操作以检测触发的误写故障,其中所述第七操作包括一次地址递增的位读1。

需要注意的是,所述误写故障(即fwr故障)属于单个单元的故障,是由读/写电路引起,以在读操作期间将存储单元从多晶态转变为非晶态,即存储单元中的存储信息由逻辑“1”转变为逻辑“0”。

具体的,如图3所示,fwr故障的故障模型为<1r1/0/1>,由上述故障模型可知,存储单元的初始状态为逻辑“1”,在对其进行读操作期间,因fwr故障的存在,导致该存储单元中的存储信息由逻辑“1”转变为逻辑“0”。为了检测fwr故障,如图4所示,存储单元的初始状态为逻辑“1”,先通过对该存储单元进行读1操作以进行故障触发,之后再通过对该存储单元进行读1操作以检测其是否存在fwr故障(若该存储单元存在fwr故障,则读取逻辑“0”,若该存储单元不存在fwr故障,则读取逻辑“1”)。

作为示例,所述故障诊断方法还包括:对所述相变存储器进行第八操作以触发读恢复串扰故障,其中所述第八操作包括位写0及位读0,且所述第八操作中的位写0及位读0在同一次地址递增操作中进行;同时通过所述第八操作中的位读0检测触发的读恢复串扰故障。

需要注意的是,读恢复串扰故障(即rrd故障)属于单个单元的故障,是由读取访问时间引起,即在将存储单元编程为reset状态后立即进行读取操作,以在真值为逻辑“0”的情况下实际读取结果为逻辑“1”。

具体的,如图3所示,rrd故障的故障模型为<1w0r0/0/1m>,由上述故障模型可知,存储单元的初始状态为逻辑“1”,在将存储单元编程为reset状态后立即进行读取操作时,因rrd故障的存在,导致其在真值为逻辑“0”的情况下实际读取结果为逻辑“1”。为了检测rrd故障,如图4所示,存储单元的初始状态为逻辑“1”,先通过对该存储单元进行连续写0读0操作进行故障触发,之后通过连续写0读0操作中的读0操作检测该存储单元是否存在rrd故障(若该存储单元存在rrd故障,则读取逻辑“1”,若该存储单元不存在rrd故障,则读取逻辑“0”)。

作为示例,所述第七操作中的位读1及所述第八操作中的位写0、位读0在同一次地址递增操作中进行。本实施例通过将所述第七操作及第八操作设置在同一次地址递增操作中进行,可大大缩减测试时间。

作为示例,所述第八操作中的位写0触发了所述相变存储器中的不完全编程故障,所述第八操作中的位读0触发了所述相变存储器中的读串扰故障;此时所述故障诊断方法还包括:对所述相变存储器进行第九操作以检测触发的不完全编程故障及读串扰故障,其中所述第九操作包括一次地址递增的位读0。

需要注意的是,不完全编程故障(即ipf故障)属于单个单元的故障,是由污染物或杂质引起,以在对存储单元进行reset编程操作时使其最终表现的电阻值更接近多晶态的电阻值,即存储单元的理论逻辑值为“0”,但实际逻辑值为“1”。读串扰故障(即rd故障)属于单个单元的故障,是由局部加热引起,以使存储单元从非晶态转变为多晶态,即存储单元中的存储信息由逻辑“0”转变为逻辑“1”。

具体的,如图3所示,ipf故障的故障模型为由上述故障模型可知,在对存储单元进行写0操作时,因ipf故障的存在,导致其最终表现的电阻值更接近多晶态的电阻值,即存储单元的理论逻辑值为“0”,但实际逻辑值为“1”。为了检测ipf故障,如图4所示,无论该存储单元的初始状态为逻辑“1”还是逻辑“0”,先通过对该存储单元进行写0操作以进行故障触发,之后再对该存储单元进行读0操作以检测其是否存在ipf故障(若该存储单元存在ipf故障,则读取逻辑“1”,若该存储单元不存在ipf故障,则读取逻辑“0”)。

具体的,如图3所示,rd故障的故障模型为<0r0/1m/0>,由上述故障模型可知,存储单元的初始状态为逻辑“0”,在对该存储单元进行读操作时,因rd故障的存在,导致该存储单元从非晶态转变为多晶态,即存储单元中的存储信息由逻辑“0”转变为逻辑“1”。为了检测rd故障,如图4所示,存储单元的初始状态为逻辑“0”,先通过对该存储单元进行读0操作以进行故障触发,之后再对该存储单元进行读0操作以检测其是否存在rd故障(若该存储单元存在rd故障,则读取逻辑“1”,若该存储单元不存在rd故障,则读取逻辑“0”)。

由此可见,本实施例所述故障诊断方法在进行pd故障、ss故障、sr故障、fwr故障、rrd故障、ipf故障及rd故障的触发及检测时,其故障诊断方法可表述为如下形式:{m0:(w0);m1:(rm0);m2:(w0);m3:(rm0,w1,r1);m4:(r1,w0,rm0);m5:(rm0)};其中m0至m5表示本实施例所述故障诊断方法中共需要6次地址循环,表示地址递增,表示地址递降,w0表示位写0,w1表示位写1,rm0表示位读0,r1表示位读1。需要注意的是,由于本实施例所述相变存储器是以位为操作单位的相变存储器,故本实施例所述存储单元即为相变存储器中的一个比特位。

实施例二

如图5所示,本实施例提供了一种相变存储器的故障诊断方法,应用于以字为操作单位的相变存储器中,所述故障诊断方法包括:

对所述相变存储器进行第一操作以触发部分热串扰故障,其中所述第一操作包括一次地址递增的字写0;

对所述相变存储器进行第二操作以检测触发的部分热串扰故障,其中所述第二操作包括一次地址递增的字读0;

对所述相变存储器进行第三操作以触发剩余热串扰故障,其中所述第三操作包括一次地址递减的字写0;

对所述相变存储器进行第四操作以检测触发的剩余热串扰故障,其中所述第四操作包括一次地址递减的字读0。

需要注意的是,热串扰故障(即pd故障)属于单元间故障,是由对存储单元进行reset编程操作时所产生的热串扰引起,以使其临近存储单元中的存储信息发生丢失。对于pd故障中的受主单元vc1(victimcell)来说,最多有8个存储单元(即ac11-ac18)位于它的第一临近位,这其中任一个存储单元都可能作为施主单元ac(aggressorcell)对受主单元vc1产生影响。

具体的,pd故障的故障模型为<xw0;0/1m/->,由上述故障模型可知,pd故障中的受主单元的初始状态为逻辑“0”,在对施主单元进行写0操作时,受主单元因施主单元的热串扰影响,导致受主单元中的存储信息由逻辑“0”变为逻辑“1”。为了检测pd故障,受主单元的初始状态必须是逻辑“0”,先通过对施主单元进行写0操作以对受主单元进行故障触发,之后再通过对受主单元进行读0操作以检测其是否存在pd故障(若受主单元存在pd故障,则读取逻辑“1”,若受主单元不存在pd故障,则读取逻辑“0”);本实施例利用地址递增的字写0先使相变存储器中受主单元vc1的初始状态为逻辑“0”,再利用对后续施主单元(ac15-ac18)进行写0操作时,施主单元(ac15-ac18)对受主单元vc1的影响实现部分pd故障的触发,之后再利用地址递增的字读0对已触发的pd故障进行检测;之后本实施例再利用地址递减的字写0先使相变存储器中受主单元vc1的初始状态为逻辑“0”,再利用对后续施主单元(ac14-ac11)进行写0操作时,施主单元(ac14-ac11)对受主单元vc1的影响实现剩余pd故障的触发,最后再利用地址递减的字读0对已触发的pd故障进行检测;即本实施例利用地址递增的字写0、地址递增的字读0及地址递减的字写0、地址递减的字读0可实现检测相变存储器中所有施主单元ac11-ac18对受主单元vc1的影响,从而大大提高了pd故障的覆盖率。

作为示例,所述第三操作同时触发了所述相变存储器中的固定set故障,所述第四操作同时检测了触发的固定set故障。

需要注意的是,固定set故障(即ss故障)属于单个单元的故障,是由过热引起,以使存储单元一直处于多晶态,即存储单元中的存储信息一直为逻辑“1”。

具体的,ss故障的故障模型为<↓/1>,由上述故障模型可知,在存储单元由多晶态(逻辑“1”)转变为非晶态(逻辑“0”)时,因ss故障的存在,导致该存储单元中的存储信息不变,一直为逻辑“1”。为了检测ss故障,存储单元的初始状态为逻辑“1”,先通过控制该存储单元由多晶态转变为非晶态(即对该存储单元进行写0操作)以进行故障触发,之后再通过对该存储单元进行读0操作以检测其是否存在ss故障(若该存储单元存在ss故障,则读取逻辑“1”,若该存储单元不存在ss故障,则读取逻辑“0”)。

作为示例,所述故障诊断方法还包括:

对所述相变存储器进行第五操作以触发固定reset故障,其中所述第五操作包括一次地址递减的字写1;

对所述相变存储器进行第六操作以检测触发的固定reset故障,其中所述第六操作包括一次地址递减的字读1。

需要注意的是,固定reset故障(即sr故障)属于单个单元的故障,是由过热引起,以使存储单元一直处于非晶态,即存储单元中的存储信息一直为逻辑“0”。

具体的,sr故障的故障模型为<↑/0>,由上述故障模型可知,在存储单元由非晶态(逻辑“0”)转变为多晶态(逻辑“1”)时,因sr故障的存在,导致该存储单元中的存储信息不变,一直为逻辑“0”。为了检测sr故障,存储单元的初始状态为逻辑“0”,先通过控制该存储单元由非晶态转变为多晶态(即对该存储单元进行写1操作)以进行故障触发,之后再通过对该存储单元进行读1操作以检测其是否存在sr故障(若该存储单元存在sr故障,则读取逻辑“0”,若该存储单元不存在sr故障,则读取逻辑“1”)。

作为示例,所述第四操作中的字读0、所述第五操作中的字写1及所述第六操作中的字读1在同一次地址递减操作中进行。本实施例通过将所述第四操作、第五操作及第六操作设置在同一次地址递减操作中进行,可大大缩减测试时间。

作为示例,所述第六操作同时触发了所述相变存储器中的误写故障,此时所述故障诊断方法还包括:对所述相变存储器进行第七操作以检测触发的误写故障,其中所述第七操作包括一次地址递增的字读1。

需要注意的是,所述误写故障(即fwr故障)属于单个单元的故障,是由读/写电路引起,以在读操作期间将存储单元从多晶态转变为非晶态,即存储单元中的存储信息由逻辑“1”转变为逻辑“0”。

具体的,fwr故障的故障模型为<1r1/0/1>,由上述故障模型可知,存储单元的初始状态为逻辑“1”,在对其进行读操作期间,因fwr故障的存在,导致该存储单元中的存储信息由逻辑“1”转变为逻辑“0”。为了检测fwr故障,存储单元的初始状态为逻辑“1”,先通过对该存储单元进行读1操作以进行故障触发,之后再通过对该存储单元进行读1操作以检测其是否存在fwr故障(若该存储单元存在fwr故障,则读取逻辑“0”,若该存储单元不存在fwr故障,则读取逻辑“1”)。

作为示例,所述故障诊断方法还包括:对所述相变存储器进行第八操作以触发读恢复串扰故障,其中所述第八操作包括字写0及字读0,且所述第八操作中的字写0及字读0在同一次地址递增操作中进行;同时通过所述第八操作中的字读0检测触发的读恢复串扰故障。

需要注意的是,读恢复串扰故障(即rrd故障)属于单个单元的故障,是由读取访问时间引起,即在将存储单元编程为reset状态后立即进行读取操作,以在真值为逻辑“0”的情况下实际读取结果为逻辑“1”。

具体的,rrd故障的故障模型为<1w0r0/0/1m>,由上述故障模型可知,存储单元的初始状态为逻辑“1”,在将存储单元编程为reset状态后立即进行读取操作时,因rrd故障的存在,导致其在真值为逻辑“0”的情况下实际读取结果为逻辑“1”。为了检测rrd故障,存储单元的初始状态为逻辑“1”,先通过对该存储单元进行连续写0读0操作进行故障触发,之后通过连续写0读0操作中的读0操作检测该存储单元是否存在rrd故障(若该存储单元存在rrd故障,则读取逻辑“1”,若该存储单元不存在rrd故障,则读取逻辑“0”)。

作为示例,所述第七操作中的字读1及所述第八操作中的字写0、字读0在同一次地址递增操作中进行。本实施例通过将所述第七操作及第八操作设置在同一次地址递增操作中进行,可大大缩减测试时间。

作为示例,所述第八操作中的字写0触发了所述相变存储器中的不完全编程故障,所述第八操作中的字读0触发了所述相变存储器中的读串扰故障;此时所述故障诊断方法还包括:对所述相变存储器进行第九操作以检测触发的不完全编程故障及读串扰故障,其中所述第九操作包括一次地址递增的字读0。

需要注意的是,不完全编程故障(即ipf故障)属于单个单元的故障,是由污染物或杂质引起,以在对存储单元进行reset编程操作时使其最终表现的电阻值更接近多晶态的电阻值,即存储单元的理论逻辑值为“0”,但实际逻辑值为“1”。读串扰故障(即rd故障)属于单个单元的故障,是由局部加热引起,以使存储单元从非晶态转变为多晶态,即存储单元中的存储信息由逻辑“0”转变为逻辑“1”。

具体的,ipf故障的故障模型为由上述故障模型可知,在对存储单元进行写0操作时,因ipf故障的存在,导致其最终表现的电阻值更接近多晶态的电阻值,即存储单元的理论逻辑值为“0”,但实际逻辑值为“1”。为了检测ipf故障,如图4所示,无论该存储单元的初始状态为逻辑“1”还是逻辑“0”,先通过对该存储单元进行写0操作以进行故障触发,之后再对该存储单元进行读0操作以检测其是否存在ipf故障(若该存储单元存在ipf故障,则读取逻辑“1”,若该存储单元不存在ipf故障,则读取逻辑“0”)。

具体的,rd故障的故障模型为<0r0/1m/0>,由上述故障模型可知,存储单元的初始状态为逻辑“0”,在对该存储单元进行读操作时,因rd故障的存在,导致该存储单元从非晶态转变为多晶态,即存储单元中的存储信息由逻辑“0”转变为逻辑“1”。为了检测rd故障,存储单元的初始状态为逻辑“0”,先通过对该存储单元进行读0操作以进行故障触发,之后再对该存储单元进行读0操作以检测其是否存在rd故障(若该存储单元存在rd故障,则读取逻辑“1”,若该存储单元不存在rd故障,则读取逻辑“0”)。

由此可见,以每个字内含有8个比特位为例,本实施例所述故障诊断方法在进行pd故障、ss故障、sr故障、fwr故障、rrd故障、ipf故障及rd故障的触发及检测时,其故障诊断方法可表述为如下形式:{m0:(w0000_0000);m1:(rm0000_0000);m2:(w0000_0000);m3:(rm0000_0000,w1111_1111,r1111_1111);m4:(r1111_1111,w0000_0000,rm0000_0000);m5:(rm0000_0000)};其中m0至m5表示本实施例所述故障诊断方法中共需要6次地址循环,表示地址递增,表示地址递减,w0000_0000表示字写0,w1111_1111表示字写1,rm0000_0000表示字读0,r1111_1111表示字读1。需要注意的是,由于本实施例所述相变存储器是以字为操作单位的相变存储器,故本实施例所述存储单元即为相变存储器中字内的一个比特位。

实施例三

如图6至16所示,在以字为操作单位的所述相变存储器中具有潜在字内热串扰故障时,本实施例所述故障诊断方法相较于实施例二,还包括对字内热串扰故障(ipd:intra-wordproximitydisturb)的诊断步骤,包括:

针对字内热串扰故障建立与其等效的标准故障模型,其中所述标准故障模型包括等幂耦合故障模型;

获取n组测试数据组,且任一所述测试数据组均包括m个测试数据,其中n、m均为正整数,且m为相变存储器中一个字所包括的比特位个数,n等于2log2m;

对所述相变存储器进行第十操作以触发字内热串扰故障,并对所述相变存储器进行第十一操作以检测触发的字内热串扰故障;其中所述第十操作包括测试数据组写入,所述第十一操作包括测试数据组读出,且所述第十操作中的测试数据组写入及所述第十一操作中的测试数据组读出在同一次地址递增操作中进行。

其中,ipd故障的诊断步骤可在pd故障诊断之后进行,也可在rd故障诊断之后进行;可选地,在本实施例中,ipd故障的诊断步骤在rd故障诊断之后进行。需要注意的是,m的数值一般为2的整数次方倍。

作为示例,通过分析以字为操作单位的相变存储器内部存储阵列的结构及编程方法来分析ipd故障的产生原因,从而建立与之等效的标准故障模型。一方面,以字为操作单位的相变存储器内部存储阵列的分布不同会导致同一字内不同比特位的位置关系不同,若一个字内每一比特位都出自不同的存储阵列块,而且不同存储阵列块之间有足够的间距消除彼此之间的影响,那么此种结构的相变存储器就不会存在ipd故障;如果一个字内若干比特位都出自同一存储阵列块,那么出自同一存储阵列块内的相邻比特位之间就会因为工艺缺陷等因素存在潜在的ipd故障。另一方面,以字为操作单位的相变存储器一般采用电流脉冲实现存储单元的编程,其中reset编程操作(写0操作)一般采用一个幅度大但持续时间短的电流脉冲将相变材料加热至熔融温度并快速冷却以形成非晶态,set编程操作(写1操作)一般采用一个幅度相对较小但持续时间较长的电流脉冲将相变材料加热至结晶温度以形成多晶态;如果因为工艺缺陷等因素造成相邻存储单元之间的热串扰,施主单元和受主单元之间共有四种可能的组合,<acw0,vcw0>(施主单元和受主单元同时进行reset编程操作)、<acw0,vcw1>(施主单元进行reset编程操作,受主单元进行set编程操作)、<acw1,vcw0>(施主单元进行set编程操作,受主单元进行reset编程操作)和<acw1,vcw1>(施主单元和受主单元同时进行set编程操作);对于<acw0,vcw0>来说,施主单元和受主单元同时被编程到非晶态,即使它们之间存在热串扰,最有可能的情况是使受主单元中的相变材料更快地到达熔融温度,如果将极限情况考虑在内的话,受主单元会因为热串扰被过度加热进而成为过编程状态,形成sr故障;对于<acw1,vcw1>来说,施主单元和受主单元同时被编程到多晶态,因为set编程操作施加的电流脉冲幅度比较小,产生的热量也比较少,即使它们之间存在热串扰,受主单元的温度也不会到达熔融温度,基本不会对最后的结果有明显的影响;对于<acw0,vcw1>来说,施主单元被编程到非晶态同时受主单元被编程到多晶态,如果它们之间存在热串扰,施主单元传递到受主单元的热量也不足以使受主单元中的相变材料变为熔融态,即使在set编程操作的开始阶段受主单元中可能有少部分相变材料变为熔融态,但由于set编程操作中电流脉冲持续的时间比reset编程操作中电流脉冲持续的时间长,在reset编程操作结束后,受主单元中的热量减少,变为熔融态的少部分相变材料也能在接下来温度相对低的环境中很好的结晶,所以这种情况也不会对最后的结果产生影响;对于<acw1,vcw0>来说,施主单元被编程到多晶态同时受主单元被编程到非晶态,如果它们之间存在热串扰,由于set编程操作中电流脉冲持续的时间比reset编程操作中电流脉冲持续的时间长,在reset编程操作结束后,reset编程操作中电流脉冲产生的余温和施主单元传播到受主单元中的热量使得受主单元中的温度不能快速下降,这种情况很可能会使受主单元中相变材料从非晶态又变为多晶态,导致受主单元存储的信息发生错误。因此,ipd故障可视为一种等幂耦合(cfid)故障,其故障模型为<w1;w0/1m/->(如图6所示);由上述故障模型可知,在对施主单元进行写1操作的同时对受主单元进行写0操作,因ipd故障的存在,导致受主单元中相变材料的状态由非晶态转变为多晶态,即受主单元中的存储信息由逻辑“0”转变为逻辑“1”。

作为示例,获取n组所述测试数据组的方法包括:

基于包括两个比特位的字获取能够检测到字内热串扰故障的基础数据组;

将包括m个比特位的字按照每两个比特位为一组划分为多组耦合单元对,并将基础数据组分别写入耦合单元对中以获取2log2m组测试数据组。

具体的,在每个字内含有n个比特位的相变存储器中,等幂耦合故障共有四种故障子集:<↑;↓>ci,cj、<↑;↑>ci,cj、<↓;↓>ci,cj和<↓;↑>ci,cj,其中i,j∈{0,1,2,…,n-1}。“ci”表示施主单元,“cj”表示受主单元,“↑”表示正向状态转换,“↓”表示反向状态转换;每个故障子集都有种可能的情况,即n个比特位中的任一个都可能成为施主单元,而另外n-1个比特位中的任一个都可能成为受主单元;因此,所有可能的等幂耦合故障共有4*n*(n-1)种情况。基于上述四种故障子集对两比特位的等幂耦合故障进行检测,其状态转换图如图7所示;为了减少测试时间和电路开销,要尽可能的简化图7同时又不能降低故障覆盖率,故基于ipd故障中施主单元及受主单元的逻辑状态,消除了重复项和非必需项,得到如图8所示的状态转换图,即检测两比特位ipd故障的基础数据组为01、10。需要注意的是,本实施例所述正向状态转换可以表示为由逻辑“0”转变为逻辑“1”,也可以表示为由逻辑“1”转变为逻辑“0”,而所述反向状态转换则与其相反;可选地,在本实施例中,所述正向状态转换表示由逻辑“0”转变为逻辑“1”,所述反向状态转换则表示由逻辑“1”转变为逻辑“0”。

具体的,以每个字内含有8个比特位为例进行说明,将8个比特位按照每两个比特位为一组划分为多组耦合单元对,并将基础数据组分别写入耦合单元对中以获取6组测试数据组(如图9所示);具体方法包括:

level0:如图10和图11所示,将8个比特位按(ci,ci+1)划分为多组耦合单元对,并将基础数据组(01、10)分别写入耦合单元对中以获取2组测试数据组;图10中每两个单元之间的箭头表示它们之间潜在ipd故障都可以被检测到,图11列出的测试数据组能够检测到(ci,ci+1+2*k)之间潜在的ipd故障,其中k∈{0,1,…,[7-(i+1)/2]};

level1:如图12和图13所示,将8个比特位按(ci,ci+2)划分为多组耦合单元对,并将基础数据组(01、10)分别写入耦合单元对中以获取2组测试数据组;图12中每两个单元之间的箭头表示它们之间潜在ipd故障都可以被检测到,图13列出的测试数据组能够检测到(ci,ci+2+4*k)之间潜在的ipd故障,其中k∈{0,1,…,([((8-1)/2-(i+1))/2])};

level2:如图14和图15所示,将8个比特位按(ci,ci+4)划分为多组耦合单元对,并将基础数据组(01、10)分别写入耦合单元对中以获取2组测试数据组;图14中每两个单元之间箭头表示它们之间潜在ipd故障都可以被检测到,图15列出的测试数据组能够检测到(ci,ci+4+8*k)之间潜在的ipd故障,其中k∈{0,1,…,([((8-1)/4-(i+1))/2])}。

需要注意的是,本实施例仅以每个字内含有8个比特位为例进行的说明,当然,本实施例所述扩展方法同样适用于每个字内含有更多比特位的情况。

作为示例,为了检测ipd故障,如图16所示,先通过对该存储单元进行测试数据写入以进行故障触发,之后再对该存储单元进行测试数据读取以检测其是否存在ipd故障(若受主单元存在ipd故障,则读取逻辑“1”,若受主单元不存在ipd故障,则读取逻辑“0”)。

由此可见,以每个字内含有8个比特位为例,本实施例所述故障诊断方法在进行pd故障、ss故障、sr故障、fwr故障、rrd故障、ipf故障、rd故障及ipd故障的触发及检测时,其故障诊断方法可表述为如下形式:{m0:(w0000_0000);m1:(rm0000_0000);m2:(w0000_0000);m3:(rm0000_0000,w1111_1111,r1111_1111);m4:(r1111_1111,w0000_0000,rm0000_0000);m5:(rm0000_0000);m6:(w&rs8)};其中m0至m6表示本实施例所述故障诊断方法中共需要7次地址循环,表示地址递增,表示地址递减,w0000_0000表示字写0,w1111_1111表示字写1,rm0000_0000表示字读0,r1111_1111表示字读1,w&rs8表示8位测试数据组写入、读出。需要注意的是,由于本实施例所述相变存储器是以字为操作单位的相变存储器,故本实施例所述存储单元即为相变存储器中字内的一个比特位。

综上所述,本发明利用地址递增的位/字写0及地址递减的位/字写0可实现对相变存储器中存在的所有pd故障进行触发,同时利用地址递增的位/字读0及地址递减的位/字读0可实现对触发的所有pd故障进行检测,即通过本发明所述故障诊断方法可对相变存储器中存在的pd故障进行全面检测,大大提高了pd故障的覆盖率。在此基础上,本发明更通过合理设计ss故障、sr故障、fwr故障、rrd故障、ipf故障及rd故障的触发及检测,在提高故障覆盖率的同时更提高了测试效率。而且,本发明更是在实现以字为操作单位的相变存储器的故障触发及检测后,增加了ipd故障的触发及检测,从而进一步提高了以字为操作单位的相变存储器的故障覆盖率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1