#存储器故障模型
常见的存储器(比如SRAM)故障模型包括如下五种:
固定型故障(Stuck-At Faults,简称SAF)
也称为粘着故障,存储单元中的值固定为0(简记为SA0,Stuck-At-0)或者1(简记为SA1,Stuck-At-1),无法发生改变。固定型故障可以通过对待测单元写入0再读出0,然后写入1再读出1来进行检测。
跳变故障(Transition Faults,简称TF)
也称为转换故障,存储单元中的值无法从0跳变到1(简记为TF(0->1)),或者从1跳变到0(简记为TF(1->0))。跳变故障可以通过写入1到0的跳变再读出0,然后写入0到1的跳变再读出1来进行检测。
写干扰故障(Write Disturb Fault,简称WDF)
在对某个存储单元执行写操作时,一个不改变存储数据值的写操作,使得存储单元内数据发生跳变,称为写干扰故障。例:存储单元之前存储的0,然后写0,但是存储单元数据变1了。
读干扰(Read Destructive Fault,简称RDF)
对某个存储单元进行读操作时,引起该单元状态的改变(0变1或1变0),并且该读操作将改变之后的值读出。例如,单元数据为0,对其进行读操作,使得存储数据变为1,并读出1。
Incorrect Read Fault,简称IRF
对某个存储单元进行读操作时,该存储单元状态没有发生变化,但读出来的数据发生错误。例如,某存储单元存储数据为0,然后进行读操作,存储单元内数据不发生改变,但是读出数据变为1。
Deceptive Read Destructive Fault,简称DRDF
对某个存储单元进行读操作时,引起该单元状态的改变(0变1或1变0),并且该读操作将改变之前的值读出。例如,单元数据为0,对其进行读操作,使其数据跳转为1,但是读出的数据仍为正确的值0。与RDF(读破坏故障)的不同之处在于不影响本次读出的结果。
耦合故障(Coupling Faults,简称CF)
一个存储单元的值发生改变,导致另一个存储单元的值发生改变,具体又可以分为以下几种类型:
- 反相耦合故障(CFin:inversion):耦合单元做与存储单元相反的状态变化;
- 等幂耦合故障(CFid:idempotent):某个存储单元的值发生跳变时,耦合单元的值变为特定值(0或者1);
- 状态耦合故障(CFst:state):某个存储单元的某个特定状态引起耦合单元跳变为某一状态(0或者1);
- 桥接故障(BF:Bridging Faults):这类故障主要是由两个单元或多个单元之间的短路或者桥接引起的,通常由一个特定的值激发出故障行为。桥接耦合故障又分为“与桥连故障(ABF)”和“或桥连故障(OBF)”,其行为分别类似于“与逻辑”和“或逻辑”;
- 动态耦合故障(Dynamic Coupling Fault,CFdyn)。耦合故障可以通过先升序对所有存储单元进行写读操作,然后再降序对所有存储单元进行写读操作的方法进行故障检测
- CFds(Disturb Coupling Fault)对一个存储单元进行读写操作,使得被耦合单元的数据发生转变。
- CFtr (Transition Coupling Fault)当一个存储单元为某一确定状态时,触发被耦合单元的数据发生转变故障。例如,单元组合i,j为(0,0)时,对j单元进行写1操作后,其数据跳转回0。
- CFrd(Read Destructive Coupling Fault)当一个存储单元为某一确定状态时,触发被耦合单元的数据发生读破坏(RDF)故障。
- CFdrd(Deceptive Read Destructive Coupling Fault当一个存储单元为某一确定状态时,触发被耦合单元的数据发生伪读破坏(DRDF)故障。
- CFir (Incorrect ReadingCoupling Fault)当一个存储单元为某一确定状态时,触发被耦合单元的数据发生错误读(IRF)故障。
相邻图形敏感故障(Neighborhood Pattern Sensitive Faults,简称NPSF):
一个存储单元的内容或者改变这个单元内容的能力受另一个存储单元内容的影响。
地址译码故障(Address Decoder Faults,简称ADF或AF):
这种故障主要发生在地址译码逻辑中,地址与存储单元是一一对应的,一旦地址译码逻辑发生故障,将会出现以下四种故障类型中的一种或多种:
- 对于给定的地址,不存在相对应的存储单元;
- 对于一个存储单元,没有相对应的物理地址;
- 对于给定的地址,可以访问多个固定的存储单元;
- 对于一个存储单元,可以通过多个地址访问。