时间复杂度为35B,B为存储器字的容量。字内失效检测算法和字间失效检测算法包含了相同的测试元素,因此对两种算法进行合并,在失效覆盖率相同的情况下,减小测试的时间复杂度。可以得到如下结果:

时间复杂度为41B,B为存储器字的容量。

同时读写失效检测

单向双端口存储器允许同时读写不同单元。假定这种失效模型仅仅在相邻的字间发生,检测同时读写失效的测试算法为:

表示对当前地址写入111,同时对下一地址读出000。通过对相邻单元分别写入和读出,判定这种操作方式是否会引起失效。时间复杂度为10B,B为存储器字的容量。

与传统测试算法的比较

以上以3位字长为例,介绍了单向双端口存储器的检测方法,包括了字间失效的检测、字内失效的检测和同时读写失效的检测,总的时间复杂 度为51B。对于由任意位组成的字,可以对上述算法中的3位测试向量拓展成相应字长的测试向量,测试的时间复杂度不变。上述算法中对字间失效和字内失效的测试时间复杂度为41B,传统的测试方法采用了March C+算法检测,使用多个不同的测试向量,如0000,0101,0011等,实现对字间失效和字内失效的检测,这种测试方法不能保证对字内失效检测的覆盖率,March C+测试算法的时间复杂度为14B,因此当使用的测试向量大于3个时,测试的时间复杂度将大于上述针对字间失效和字内失效设计的测试算法。