|
嵌入式系统设计与应用教学大纲_嵌入式系统中存储器性能研究,
引言
存储器的测试面临两方面的要求:较高失效类型覆盖率,尽可能检测出潜在的存储器故障;较少的存储器操作,以便缩短检测时间。因此存储器测试应能够在一定的测试时间内得到可能的最佳故障覆盖率。由于对存储器进行物理检测是不可能的,可行的办法是将待测存储器的访存结果与认定无故障的存储器的访存结果做比较。从动态随机存储器的结构和失效模型出发,有针对地提出了用于检测性能的数据和读写方式,实验证明通过提出的检测方法能够有效地找出潜在的存储器故障,从而能够为嵌入式系统设计人员提供改善系统性能的方法和途径。
1 DRAM的原理及失效模型
动态内存的结构和ROM及SRAM有较大的不同。图1是动态内存的总体结构。内存单元按照行、列组成阵列。地址首先分为行地址和列地址,行地址经过译码器,选中一行内存单元。列地址选择数据输出到数据输出端。
图2是内存单元的结构图。动态内存使用一个晶体管和一个电容来存储一位数据。由于电容量很小,数据读出消耗电容上存储的电荷,读取以后需要重新对电容充电。并且由于电容自身的漏电,动态内存需要定期刷新。
图3是读写控制电路示意图。图中显示了读取1位数据的过程。假设这个单元存储的数据为“1”初始状态(图3(a)),电容电压为V,数据线D和
电压均为0.5 V,T1,T2,T3均截止。首先,T3导通,电容上的电荷使数据线D上电压为0.5 V+a。放大器对信号放大,使得数据线D上电压为V,
上电压为0,读出数据“1”(图3(b)),同时对电容充电,电容电压为V(图3(c))。然后T3截止,T1,T2导通,数据线D,
上电压恢复为0.5V。电路恢复初始状态(图3(d))。
假设存储器实效仅仅被单元状态的跳变所激活,即不考虑不改变状态的写操作时出现的失效。存储器的失效模型可以表述为如下:
(1)粘滞实效(Stuck-at Faults,SF)。一个或多个存储器单元固定为s,s∈(0,1),不因对该单元的读写而发生状态的变化。
(2)组合实效(Coupling Faults,CF)。存储器某些位的跳变导致其他位的逻辑值发生非预期的变化。组合失效的产生归咎于单元物理上毗邻所产生的分布电容或者是单元间的电流泄漏。2个存储单元之间的组合失效称双组合实效。例如:对于单元j的一个0→1或是1→0的写操作将会改变i单元的内容,使之状态翻转。但是反之i单元的状态改变并不一定也会对j产生影响。
(3)地址译码故障(Address Decoder Faults,AF)。有4种情况:某地址不能访问任何单元;某单元无法被任何地址访问;某地址可以同时访问多个单元;某单元可被多个地址访问到。
2 测试用数据
由前节讨论可知,动态内存除了内存单元,还有地址译码器,选择器,控制器,放大器等部件。为此针对不同的部件,设计了不同的数据和读写方式来进行测试。
2.1 普通数据
普通数据就是全“0”或者全“1”。写入全“0”或者全“1”的数据,然后读取校验,来验证内存单元是否正常工作。
2.2 棋盘数据
图4表示了棋盘数据。在内存单阵列中写入如国际象棋棋盘一样的数据。由于与每一位数据相邻的数据都不一样,棋盘数据可以用来检测内存单元间的泄漏。
|
|