P0=bu…b2b1,则bu=…=b2=b1=0
PAj=bu…b2b1,则当i mod 2j>2j-1时,bi=1,i=1,2,…,u。
PBj=bu…b2b1,则当i≤j时,bj=1;当i>j时,bi=0。
结论1:M0可以检测所有的SAF、TF、AF故障,以及所有的<↑;→>、<↓;→>、<;←>、<↑;←>、<↓;←>、<;←>、<↑;>、<↓;>、<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>故障。
证明:M0对应的基于比特的行进算法为March C-。March C-可以检测出所有的SAF、TF、AF、CFin、CFst、CFid[4],因此M0可以检出所有的SAF、TF、AF、字间CFin、字间CFst、字间CFid。下面考察M0对字中CF故障的检测。
由于M0包含行进序列因此可以检测出字中耦合比特由0翻转为1引起因此可以检测出字中耦合比特由1翻转为0引起的<↓;0/1>、<0;0/1>故障;又因为M0经历了写0写1又写0的两次比特反转操作,所以可以检测出所有的单向翻转CFin故障(包括<↑; →>、<↓;→>、<;←>、<↑;←>、<↓;←>、<;←>)和单次翻转CFin故障(包括<↑;>和<↓;>)。结论1得证。
结论2:March-CW(即M0+M1)可以检测所有的SAF、TF、AF、SOF、CFid、CFst故障,以及除了<;>之外的所有CFin故障。
证明:由于M1包含行进序列因此M1可以检测出所有SOF故障。
由于M1包含行进序列),使用了0-1间隔的测试向量字,因此可以检测出所有奇位比特反转对偶位引起的<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>字中耦合故障,以及所有偶位比特反转对奇位引起的上述故障。M1其他行进序列所使用测试向量字0-1之间的间隔按2的幂次增加,因此可以检测出所有奇位比特反转对奇位引起的<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>字中耦合故障,以及所有偶位比特反转对偶位引起的上述故障。所以M1可以检测出所有<↑;1/0>、<↓;0/1>、<0;0/1>、<1;1/0>字中耦合故障。
结合结论1,结论2得证。
结论3:M0+M1+M2可以检测所有的SAF、TF、AF、SOF、CF故障。
证明:M2行进序列所使用测试向量字遍历了字中的每一个比特可能引起的故障,因此M2可以检测出所有的字中耦合故障。
结合结论2,结论3得证。
3 分析与应用
3.1 运算量分析
运算量是存储器实时检测的重要衡量指标,如表4所示。
由表4可以看出,在具有相同故障检测能力的前提下,M0+M1+M2的检测时间远小于、March-17N和Galpat;当u较大时,M0、M0′、March-CW、M0+M1+M2的检测时间会大大缩短。