所谓故障模型,是指为了研究故障对电路或系统的影响,诊断(定位)故障的位置,对故障作一些分类并选择最典型故障的过程。SRAM系统可抽象为一组互联的功能模块,故障在各个模块均可发生。Van de Goor等人[3]将其简化为地址译码器、读写逻辑、存储器单元阵列3部分,并证明前两者与后者的故障在功能上是等价的,所以只需要检测存储单元阵列故障。常见的SRAM故障模型主要分为以下几个类型[4]:
① 固定故障(StuckAt Faults, SAF)。阵列中的一个或多个单元的一位或多位固定为0或固定为1。
② 开路故障(Open Faults, OF)。阵列中的一个或多个单元开路到0或开路到1。
③ 耦合故障(Coupling Faults, CF)。存储单元中某些位的跳变导致其他位的逻辑值发生非预期的变化,既可以发生在不同单元之间。也可以发生在同一单元的不同位之间。将发生在两个不同单元之间的耦合故障记为第一类耦合故障,将发生在同一单元不同位之间的耦合故障记为第二类耦合故障。
March C算法是由March元素构成的序列,其基本原理是利用有限状态机,反复对每一个地址进行读/写0或1操作,保证每两个字节之间的测试码出现00、01、10、11四种情况,至少各一次;并且为了检查高低地址读/写顺序故障,分别进行地址递增和地址递减两种操作。通过对存储器不断地读写,能够检测几乎所有的存储器故障。