Memory Fault Types

本章描述了各种memory fault models,包含每个fault model的以下信息:

  • 故障行为的一般描述。
  • 检测故障所需的测试序列。
  • membistGenerate提供的测试算法,cover故障。

1.Address Decoder Faults

该模型包含的地址解码逻辑的故障,可能有三种不同的故障行为:

  • ADa:某个地址导致没有cell被访问。
  • ADb:某个地址同时访问多个cells。
  • ADc:某个cell可以被多个地址访问。

地址解码器故障实际上可以映射到存储单元阵列中的故障,因此,覆盖存储单元阵列故障使这些故障也被覆盖。

2. Bit/Group/Global Write Enable Faults

这些故障在write enable端口(bit、group、或global)上,在bit/byte write enable端口和global write enable端口之间是stuck-active和short(两种faults)。

检测Bit/Group/Global write Enables上的stuck active,首先向memory中写入一个数据值,使这些inputs设置为它们的active value,然后尝试写相反的数据值,使这些inputs设为它们的inactive value,然后验证第一次的数据值仍然存在(inputs?inactive?active?)。

检测Bit/Group Write Enable上的shorts,首先执行写操作,inputs根据bus的奇数和偶数索引设置为相反的值。相似地,Bit/Group Write Enable和Global Write Enable之间的shorts的检测是同样的操作。

3.Access Transistor Current Leakage Faults

从访问transistors到bitlines和datalines存在过大的漏电流,可能会导致memory cell的内容被不正确的读取。在data lines之间访问transistors,以及在bitlines上异常高的漏电流,会导致bitlines之间的差分电压,从而导致差分放大器错误的读取cell,最差的情况是,除了pivot cell以外,列上的所有cells都具有相同的值。

检测过大漏电路故障的最佳方法是随最坏情况进行敏化,例如当pivot cell保持为值1时,而同列额所有单元保持相反的值0,反之亦然。

4.Data Retention Faults

数据保留故障是一个cell在未被访问的情况下,经过一段时间后,失去了它的内容。主要是DRAM cell故障机制,源自异常大的漏电流。Leakage可能发生在一个cell和基底之间或者两个cells之间。保留故障也可能发生在SRAM cell中,由于cell中的有缺陷的上拉设备。

通过在memory中写physica checkerboard pattern,保留一段时间,然后读回,能够检测到保留故障。使用checkerboard pattern重复这个过程。SMarchCHKB* library算法被自动分为三个test patterns为满足tester的应用,推荐时钟这些算法之一作为默认算法以使能该feature。

5.Data Path Shorts

data path shorts发生在数据路径的偶数和奇数元素之间,假设两者在物理上是相邻的。shorts总是发生在memory inputs或者outputs与列MUX之间。

通过写和读checkerboard-like pattern到每个bank的第一行的所有位置可以检测到 这些faults。

6.Destructive Read Faults

该fault会导致在读访问期间memory cell的内容被改变。但是第一次读访问之后读取的值是正确的。由于memory cell的下拉路径中的电阻性缺陷能够导致该fault。

该故障也被称为欺骗性破坏性读故障。

为了检测破坏性读故障,在test下的cell必须被初始化,然后在连续的时钟周期内多次读取。最少读两次。逻辑1和逻辑0的序列必须是可重复的。Mentor library算法使用Read Operation来检测该故障,读的故障数量是2。一些memories可能要求读取数量增加,可以通过自定义读操作轻松实现。

Dynamic Coupling Faults

该fault model,读或者写一个逻辑0或者逻辑1到一个memory cell会force另一个cell为逻辑0或逻辑1。在两个cells之间共有四种动态耦合故障:

  • dyCFa:在coupling cell中读或写0,在base cell中force 0。
  • dyCFb:在coupling cell中读或写0,在base cell中force 1。
  • dyCFc:在coupling cell中读或写1,在base cell中force 0。
  • dyCFd:在coupling cell中读或写1,在base cell中force 1。

两个耦合cell能够出现在memroy array的任意位置。

为了检测dyCFa fault, 必须发生以下事件的序列:

  1. base cell必须保留逻辑1,并且coupling cell是逻辑0。
  2. coupling cell必须被读取逻辑0或者写入逻辑0。
  3. base cell必须在任何值被写入之前读取。

为了检测dyCFb fault,必须发生以下事件的序列:

  1. base和coupling cell必须都保留逻辑0。
  2. coupling必须被读或者写入一个逻辑0。
  3. base cell必须在任意值写入之前读取。

为了检测dyCFc fault,必须发生以下事件的序列:

  1. base和coupling cell必须都保留逻辑1。
  2. coupling必须被读或者写入一个逻辑0。
  3. base cell必须在任意值写入之前读取。

为了检测dyCFd fault,必须发生以下事件的序列:

  1. base cell必须保留逻辑0,并且coupling cell是逻辑1。
  2. coupling cell必须读取或写入逻辑1。
  3. base cell必须在任意值写入之前读取

你可能感兴趣的:(tessent,MBIST,算法)