面向字的内存测试方法技术领域
本发明涉及内存测试技术领域,尤其涉及一种面向字的内存测试方法。
背景技术
内存测试有很多经典算法,march系列算法就是其中之一,但是经典的march算法
都是面向位(bitoriented)的,这是由早期内存的物理结构所决定的。现今的内存都是基
于字(word)的,内存芯片位宽(chipwidth)以4位(bit)或8位(bit)居多。因此在如今条件
下依然应用面向位(bitoriented)的march算法主要有两方面缺点:
首先,测试性能会比较低下;
其次,耦合故障(couplingfaults)类型的错误无法被检测到。
发明内容
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理
解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键
或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以
此作为稍后论述的更详细描述的前序。
本发明提供一种高效的面向字的内存测试方法,并进一步实现检测耦合故障。
本发明提供一种面向字的内存测试方法,包括:
针对不同的待测内存错误类型,根据内存芯片位宽各自生成内存测试模型序列;
利用生成的各所述内存测试模型序列进行内存测试。
本发明诸多实施例提供的面向字的内存测试方法根据内存芯片位宽生成内存测
试模型序列,采用了面向字的设计方式生成内存测试模型序列,充分利用内存位宽,提高了
内存测试的效率;
本发明一些实施例提供的面向字的内存测试方法通过列举测试需要覆盖的错误
状态,列举双位两两组合可能产生的错误状态的集合,再精简集合中冗余的错误状态,得到
包含所有需要覆盖的错误状态的最简闭环双位测试序列,即能检测到所有错误状态的最短
检测路径;再将最简闭环双位测试序列导入至根据内存芯片位宽生成的基础模型序列,生
成内存测试模型序列;最后利用生成的内存测试模型序列进行内存测试,实现了对每两位
之间采用最短路径检测所有需要覆盖的错误状态,最终实现了对耦合故障(coupling
faults)的高效检测。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其
它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似
的技术特征或部件将采用相同或类似的附图标记来表示。
图1为本发明一实施例提供的面向字的内存测试方法的流程图。
图2为图1所示内存测试方法中步骤S30的流程图。
图3为图2所示内存测试方法中步骤S31的流程图。
图4为本发明一实施例中双位00、01、10、11四种状态两两组合产生的错误状态的
集合的示意图。
图5为图4所示集合精简了冗余的错误状态后的示意图。
具体实施方式
下面参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描
述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应
当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知
的部件和处理的表示和描述。
图1为本发明一实施例提供的面向字的内存测试方法的流程图。
如图1所示,在本实施例中,本发明所提供的面向字的内存测试方法包括:
S30:针对不同的待测内存错误类型,根据内存芯片位宽各自生成内存测试模型序
列;
S50:利用生成的各所述内存测试模型序列进行内存测试。
上述实施例提供的面向字的内存测试方法根据内存芯片位宽生成内存测试模型
序列,采用了面向字的设计方式生成内存测试模型序列,充分利用内存位宽,提高了内存测
试的效率。
图2为图1所示内存测试方法中步骤S30的流程图。
如图2所示,在一优选实施例中,步骤S30具体包括:
S31:根据所述待测内存错误类型,生成最简闭环双位测试序列;
S33:根据所述内存芯片位宽生成基础模型序列;
S35:将所述最简闭环双位测试序列导入至所述基础模型序列中,得到所述内存测
试模型序列。
图3为图2所示内存测试方法中步骤S31的流程图。
如图3所示,在一优选实施例中,步骤S31具体包括:
S311:根据所述待测内存错误类型,列举测试中需要覆盖的错误状态;
S313:列举双位00、01、10、11四种状态两两组合产生的所述错误状态的集合;
S315:精简所述错误状态的集合中冗余的错误状态,得到包含所有需要覆盖的错
误状态的最简闭环双位测试序列。
在一优选实施例中,所述待测内存错误类型为耦合故障(couplingfaults),至少
包括倒置耦合故障(inversionCFs,简称CFin)、固化耦合故障(idempotentCFs,简称
CFid)、干扰耦合故障(disturbCFs,简称CFdst)和状态耦合故障(stateCFs,简称CFst)。
在一优选实施例中,所述内存芯片位宽为4位或8位。具体地,在本实施例中,内存
芯片位宽为8位,在更多实施例中,内存芯片位宽可采用4位或其它符合芯片标准设计的位
数,并未超出本发明技术方案的保护范围。
以下通过一个待测内存错误类型包括固化耦合故障,内存芯片位宽为8位的例子
进行详细说明。
S30:针对待测的固化耦合故障,根据内存芯片位宽生成内存测试模型序列。针对
其它类型的耦合故障生成的内存测试模型序列在此不作具体阐述。
以测试固化耦合故障为例:
S311:根据待测的固化耦合故障,列举出测试中需要覆盖的错误状态:(变化位状
态的改变趋势,变化位状态的改变导致的关联位状态的错误变化趋势),具体包括(c0升,c1
升)、(c0升,c1降)、(c0降,c1升)、(c0降,c1降)、(c1升,c0升)、(c1升,c0降)、(c1降,c0升)和
(c1降,c0降),其中c0为所述双位中的前一位,c1为所述双位中的后一位。
S313:列举双位00、01、10、11四种状态两两组合产生的上述错误状态的集合。
图4为本实施例中双位00、01、10、11四种状态两两组合产生的错误状态的集合的
示意图。
如图4所示,双位(c0,c1)分别为00、01、10、11四种状态两两组合可能产生的错误
包括:
00→01:(c1升,c0升);
01→00:(c1降,c0升);
00→11:(c0升,c1降)、(c1升,c0降);
11→00:(c0降,c1升)、(c1降,c0升);
00→10:(c0升,c1升);
10→00:(c0降,c1升);
01→11:(c0升,c1降);
11→01:(c0降,c1降);
01→10:(c0升,c1升)、(c1降,c0降);
10→01:(c0降,c1降)、(c1升,c0升);
11→10:(c1降,c0降);
10→11:(c1升,c0降);
图5为图4所示集合精简了冗余的错误状态后的示意图。
通过上述列举可看出,标有下划线的错误状态有重复冗余,因此其测试路径可以
精简。
S315:精简所述错误状态的集合中冗余的错误状态,得到包含所有需要覆盖的错
误状态的最简闭环双位测试序列。
如图5所示,精简后剩余的测试路径包括00→01、00→11、11→00、01→10、10→01。
由此得到了可以覆盖所有需要检测的错误类型的最简闭环测试路径00→11→00
→01→10→01,即最简闭环双位测试序列(00,11,00,01,10,01)。
S33:根据所述内存芯片位宽生成基础模型序列。
具体地,根据8位的内存芯片位宽,采用第一基础模型序列01-23-45-67、第二基础
模型序列02-13-46-57和第三基础模型序列04-15-26-37。
S35:将所述最简闭环双位测试序列导入至所述基础模型序列中,得到所述内存测
试模型序列。
具体地,将最简闭环双位测试序列(00,11,00,01,10,01)导入至第一基础模型序
列01-23-45-67中,得到第一内存测试模型序列:
由上述第一内存测试模型序列可知,第一内存测试模型序列除了可覆盖01、23、
45、67这4对双位的所有错误状态之外,同时还可覆盖03、05、07、21、25、27、41、43、47、61、
63、65等双位的所有错误状态。
将最简闭环双位测试序列(00,11,00,01,10,01)导入至第二基础模型序列02-13-
46-57中,得到第二内存测试模型序列:
由上述第二内存测试模型序列可知,第二内存测试模型序列除了可覆盖02、13、
46、57这4对双位的所有错误状态之外,同时还可覆盖03、06、07、12、16、17、42、43、47、52、
53、57等双位的所有错误状态。
将最简闭环双位测试序列(00,11,00,01,10,01)导入至第三基础模型序列04-15-
26-37中,得到第三内存测试模型序列:
由上述第三内存测试模型序列可知,第三内存测试模型序列除了可覆盖04、15、
26、37这4对双位的所有错误状态之外,同时还可覆盖05、06、07、14、16、17、24、25、27、34、
35、36等双位的所有错误状态。
因此,上述三组内存测试模型序列可以覆盖0-7这8位中任意两位的所有错误状
态。
由于上述三组内存测试模型序列中每一组的前两行均分别为“0”和“1”,所覆盖的
错误类型相同,且一组即可覆盖任意两位的错误状态,因此合并时可以进行精简,保留一组
即可。
合并所述第一内存测试模型序列、第二内存测试模型序列和第三内存测试模型序
列,精简合并后的序列,得到所述内存测试模型序列:
S50:利用生成的各所述内存测试模型序列进行内存测试。
本发明上述实施例提供的面向字的内存测试方法通过列举测试需要覆盖的错误
状态,列举双位两两组合可能产生的错误状态的集合,再精简集合中冗余的错误状态,得到
包含所有需要覆盖的错误状态的最简闭环双位测试序列,即能检测到所有错误状态的最短
检测路径;再将最简闭环双位测试序列导入至根据内存芯片位宽生成的基础模型序列,生
成内存测试模型序列;最后利用生成的内存测试模型序列进行内存测试,实现了对每两位
之间采用最短路径检测所有需要覆盖的错误状态,最终实现了对耦合故障(coupling
faults)的高效检测。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管
参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。