时间:2012-04-27 | 栏目:测量仪表 | 点击:次
1 引言
存储器是各种电子设备中保存信息的主要部件,随着存储器芯片的密度和复杂度的日益提高,设计一个良好的测试算法来测试存储器变得尤为重要。
2 存储器的故障模型
研究存储器的检测方法,就必须先建立存储器单元的故障模型,也就是要求把物理故障模型化为逻辑故障,通常可以用功能模型或灰匣子模型将存储器故障模型化,典型RAM功能模型如图1所示,该模型是由Vande Goor提出的简化功能DRAM模型[1]。

对于图1的功能模型,存储器的故障主要表现有3类:
(1)地址解码器故障(AF)[2],主要表现为4种形式(如图2所示)。

(2)读写逻辑模块故障。主要表现为在读写电路中,某些检测放大器的出或者写入驱动器的逻辑部分,可能产生开路、短路或者I/O固定的故障,在读写电路的数据
线之间存在交叉耦合的干扰。
(3)存储单元阵列故障,由于存储单元阵列是存储器内规模最为复杂的一个模块,因此出现故障的概率最大,故障的类型也最为复杂,主要是由于存储器单元内的数据线开路、短路以及串扰所引起的。
对于上述的功能模型去掉其中的某些逻辑模块,就可用于ROM的测试。
3 存储器的简化功能故障[2、5、6]
基于以上各模块的故障表现形式,又由于地址译码故障和读写逻辑故障可以等效的功能映射为存储器单元阵列故障,故可把存储器故障简化为下列四种功能故障:
(1)固定故障(stuck-At Fault,SAF)
单元或连线的逻辑值总为0或总为1的故障,单元/连线总是处于有故障的状态,并且故障的逻辑值不变。
(2)转换故障(Transition Fault.TF)
转换故障是SAF的一种特殊情况,当写数据时,某一存储单元失效使得0→1转变或1→0转变不能发生,表现为固定故障的形式。
(3)耦合故障(Coupling Fault,CF)
存储单元中某些位的跳变导致其他位的逻辑发生非预期的变化,它既可以发生在不同单元之间,也可以发生在同一单元不同位之间。
(4)相邻矢量敏化故障(Neighborhood Pattern Sensitive Faults,NPSF)
一个单元因相邻单元的活动导致状态不正确,一个单元的相邻单元可能有5个,也可能有9个,如图3的(a)、(b)所示。

4 存储器故障诊断算法分析
针对存储器故障模型中的各种故障,人们提出了各种诊断算法,目前主要使用的算法有:Checkerboard算法(棋盘法)、Gallop算法(奔跳法)、March算法(进行法)等。
4.1 Checkerboard算法(棋盘法)[7]
棋盘法的测试过程是首先对每一个存储单元赋值,使得每一个单元与其紧相邻的各个单元的值都不同,如图4所示,即把整个存储阵列分为两块a、b,然后采用如下过程对a、b进行读写;
(1)对分块a(b)中的单元写0(1);
(2)读所有单元;
(3)对分块a(b)中的单元写1(0);
(4)读所有单元;
(5)该算法理论上操作的次数是O(N),其中N为存储器容量,可以检测SAF故障和相邻单元的桥接故障,其故障覆盖率较低。
