Minimal March Tests for Detection of Dynamic Faults in ... - Springer Link

0 downloads 0 Views 321KB Size Report
Minimal March Tests for Detection of Dynamic Faults in Random. Access Memories. G. HARUTUNYAN AND V. A. VARDANIAN. Virage Logic, 15/1 Khorenatsi ...
JOURNAL OF ELECTRONIC TESTING: Theory and Applications 23, 55–74, 2007

* 2007 Springer Science + Business Media, LLC Manufactured in The United States. DOI: 10.1007/s10836-006-9504-8

Minimal March Tests for Detection of Dynamic Faults in Random Access Memories G. HARUTUNYAN AND V. A. VARDANIAN Virage Logic, 15/1 Khorenatsi str., Yerevan 375010, Armenia [email protected] [email protected]

Y. ZORIAN Virage Logic, 47100 Bayside Parkway, Fremont, CA 94538, USA [email protected]

Received December 23, 2005; Revised April 25, 2006 Editor: J. P. Hayes Abstract. The class of dynamic faults has been recently shown to be an important class of faults for the new technologies of Random Access Memories (RAM) with significant impact on defect-per-million (DPM) levels. Very little research has been done in the design of memory test algorithms targeting dynamic faults. Two March test algorithms of complexity 11N and 22N, N is the number of memory cells, for subclasses of two-operation single-cell and two-cell dynamic faults, respectively, were proposed recently [Benso et al., Proc., ITC 2005] improving the length of the corresponding tests proposed earlier [Hamdioui et al., Proc. of IEEE VLSI Test Symposium, pp. 395–400, 2002]. Also, a March test of length 100N was proposed [Benso et al., Proc. ETS 2005, Tallinn, pp. 122–127, 2005] for detection of twocell dynamic faults with two fault-sensitizing operations both applied on the victim or aggressor cells. In this paper, for the first time, March test algorithms of minimum length are proposed for two-operation single-cell and two-cell dynamic faults. In particular, the previously known March test algorithm of length 100N for detection of two-operation two-cell dynamic faults is improved by 30N. Keywords: random access memories, dynamic fault primitives, dynamic functional fault models, march test algorithms, fault detection

1.

Introduction

New memory technologies and processes introduce new, previously unknown, defects that significantly impact on the defect-per-million (DPM) level and yield. Conventional memory test algorithms detect memory failures to determine whether a chip is defective or not. There are two ways to optimize a fault detection algorithm for a given memory: either leveraging memory design information at the layout level to perform Inductive Fault Analysis (IFA) and generate a corresponding fault detection algorithm, or using real chips to leverage the failure history of a given cell design and process technology. This information helps generate a dedicated test algorithm. March test algorithms (see [12]) are widely used for fault detection in memories due to their effectiveness,

simplicity and linear length with respect to the memory size. An important requirement for reduction of the testing time is to use minimal test algorithms. Predefined test algorithms are not always sufficient to detect all memory defects because subtle process variations cannot be predicted and accounted for ahead of time. The quality of a test algorithm is characterized by its fault coverage with respect to the functional fault models (FFM) [12] defined on the basis of fault primitives (FP) (see [5, 10]). In addition to the previously known static FFMs [12], in [1, 6–8, 14], new dynamic FPs and FFMs were introduced based on IFA and their existence in current memory chips was validated experimentally. Dynamic faults were shown to be realistic in the absence of the static faults. The class of dynamic faults has been recently shown to be an important class of

NO; No of Pages

56

Harutunyan, Vardanian and Zorian

faults for the new technologies of Random Access Memories (RAM) with significant impact on DPM levels. Very little research has been done in the design of memory test algorithms targeting dynamic faults. In [8], it has been observed that dynamic faults in different memory designs may be different. Thus, a highly optimized set of patterns may be applicable only to a particular technology and architecture. In [8], important items for further research on dynamic faults were indicated, connected with their validation by defect injection and SPICE simulation, IFA, designing efficient test algorithms for detection of dynamic faults and their industrial validation. In [6], two March test algorithms RAW1 of length 13N and RAW of length 26N, N is the number of memory cells, for some classes of single-cell and two-cell dynamic faults, respectively, were proposed. Those classes of single-cell and two-cell dynamic FFMs, named Bread-after-write’’ (RAW), and meaning Ba write operation followed immediately by a read operation,’’ were considered as an important class of memory faults. In [9], other classes of dynamic faults, e.g., Ba write operation followed immediately by a write operation,’’ Ba read operation followed immediately by a read operation’’ were also considered as realistic. As an evidence of this they brought the example of the widely used Bhammer test’’ when the write or read operation is repeated sequentially several times and may indicate the existence of such dynamic faults. In [3], two March test algorithms, March AB1 of length 11N and March AB of length 22N, for some classes of single-cell and two-cell dynamic faults, respectively, were proposed improving the length of those proposed in [6]. In [2], a March test algorithm of length 100N was proposed for detection of all two-cell dynamic faults with two fault-sensitizing operations both applied on the victim or aggressor cells. Note that the proposed test appeared to be redundant, i.e., a certain operation can be removed from the test without any impact on the fault coverage. In [4], defects in SRAMs generating dynamic read destructive faults (dRDF) (see [6–8, 14]) were analyzed and a modification of the well known March C-algorithm was proposed to increase its fault coverage by detecting also dRDFs. A memory cell is shown to undergo a stress, equivalent to a read operation, when a read or write operation is applied to a cell on the same word-line. To reach the same effectiveness, the March RAW test [6] should include additional number of read operations increasing the overall length of the test significantly. In this paper, we considered the class of two-operation all single-cell dynamic faults, as well as the subclass of two-operation two-cell dynamic faults where both of the sensitizing operations are applied either on the aggressor cell or the victim cell. For the first time, we have proposed minimal March test algorithms for detection of all two-operation single-cell dynamic faults in RAMs, as

well as a minimal March test algorithm of length 70N for detection of two-cell dynamic faults with two faultsensitizing operations both applied on the victim or aggressor cells. Additionally, the March test algorithm of length 70N (March MD2), proposed in this paper, has been shown to detect also all two-operation single-cell dynamic faults, as well all realistic static unlinked and linked faults. The March test algorithm of length 100N, proposed in [2], is reduced by 30N operations. In general, speaking about a Brealistic’’ fault model, one has to take into account that it is relative to certain designs and technologies. A fault model can be realistic for the design of one company and non-realistic for that of another one. In [8], one can find such an example where Intel and ST Microelectronics chips were explored and different dynamic faults were found there. Also a non-realistic for the current technology fault may appear to be realistic in a future technology. Thus, excluding some faults from consideration, naming them nonrealistic, does not seem justified. Also, for the sake of completeness with respect to the space of all dynamic faults (from a certain class), it seems justified to develop test algorithms for all faults from a certain class considered as an important class, both from theoretical and practical point of view. In many cases, it is justified to have a universal test for detection of all dynamic faults from a given class, including both the realistic and nonrealistic, from a certain viewpoint, fault models. It would be ideal to have definite information on all realistic dynamic faults for the designs of certain companies and certain technologies, but in real life usually the customer does not have such detailed information and in such cases universal tests for certain subclasses of dynamic faults would be very useful.

2.

Main Notations

The definition of the fault primitive concept used to define the dynamic fault memory space can be found in [6–8, 14]. For a given memory failure, < S / F / R > denotes a FP where S denotes a sensitizing operation sequence, i.e., an operation sequence that results in a difference between the observed and the expected memory behavior. The faulty behavior F is the observed memory behavior that deviates from the expected one. RZ{0, 1, -} is the result of the Read operation of S applied to the faulty cell in case S ends with operation Read. A B-’’ in R means the output data is not applicable. A functional fault model is defined (see [6–8, 14]) as a non-empty set of FPs. The difference between static and dynamic faults is determined by #S, the number of operations required in S. Depending on #S, the memory faults can be classified into static and dynamic faults. Static faults are the faults sensitized by performing at most one operation. Dynamic faults are the faults that can

Minimal March Tests for Dynamic Faults in Random Access Memories only be sensitized by performing more than one operation sequentially, i.e., #S > 1. In [6–8, 14], a detailed classification of dynamic faults is given not only with respect to #S, but also with respect to #C, the number of different cells the FP involves. In [6–8, 14], two-operation single-cell and two-cell dynamic faults were considered as the most important subclasses of dynamic faults. In the sequel, we will restrict ourselves by considering only two operation dynamic FPs, i.e., FPs that are sensitized by applying two sequential operations, #S = 2. Depending on #C, dynamic FPs can be classified into single-cell FPs involving a single cell, i.e., #C = 1, twocell FPs or coupling FPs that involve two cells; i.e., #C = 2 and dynamic FPs with #C > 2. In the sequel, we will consider only single-cell and two-cell dynamic FPs. A two-operation single-cell dynamic FP < S / F / R > is sensitized by applying two operations sequentially to a single cell. In [7], a total of 30 two-operation single-cell dynamic FPs were described and compiled into a set of five FFMs (see Table 1): 1. 2. 3. 4. 5.

Dynamic Dynamic Dynamic Dynamic Dynamic

Read Destructive Fault (dRDF), Incorrect Read Fault (dIRF), Deceptive Read Destructive Fault (dDRDF), Transition Fault (dTF), Write Destructive Fault (dWDF).

57

Table 2. FPs sensitized by sequences of type Saa. FFM

Fault primitives

dCFdswr

< xWyRy; z / ~z / - >

dCFdsww

< xWyWt; z / ~z / - >

dCFdsrw

< xRxWy; z / ~z / - >

dCFdsrr

< xRxRx; z / ~z / - >

where the fault appears. Depending on the number of operations applied to the a-cell and to the v-cell, and on the order in which they are applied, four types of S can be distinguished: 1. Saa; the two sequential operations are applied to the acell, while the v-cell is required to be in a certain state. 2. Svv; the two sequential operations are applied to the v-cell, while the a-cell is required to be in a certain state. 3. Sav; the first operation is applied to the a-cell, followed immediately with a second one to the v-cell. 4. Sva; the first operation is applied to the v-cell, followed immediately with a second one to the a-cell.

Note that the symbol B~’’ used in Tables 1, 2 and 3 denotes logical negation, and x, y, z, t Z {0, 1}. A two-operation two-cell dynamic FP can be represented (see [6]) as < Sa; Sv / F / R > where Sa (respectively, Sv) describes the sequence of operations applied to the aggressor (victim) cell or its state. A FP is sensitized by applying two operations sequentially to two cells, the aggressor cell (a-cell) to which the sensitizing operation (or state) should be applied in order to sensitize the fault, and the victim cell (v-cell),

In the sequel, we will consider only classes of FPs caused by Saa and Svv. The classes Sav and Sva are not considered in this paper due to the following argumentation. First, the sensitizing two operations are to be applied sequentially, one on the aggressor cell and the other one on the victim cell in the corresponding order. The faults are more likely to occur on physically adjacent cells. If the memory scrambling is not available (this is the most typical case) then the test algorithm has to consider all possible pairs of memory cells for completeness of testing and the algorithm will have complexity quadratic with respect to the number of memory cells (words). Such algorithms are not feasible for testing large memories. If the memory scrambling is available then additional hardware is needed to map the logical addressing into

Table 1. Two-operation single-cell dynamic FPs.

Table 3. FPs sensitized by sequences of type Svv.

FFM

Fault primitives

FFM

Fault primitives

dRDF

< xWyRy / ~y / ~y >,

dCFrd

< x; yWzRz / ~z / ~z >

dIRF

< xWyRy / y / ~y >,

dCFir

< x; yWzRz / z / ~z >

dDRDF

< xWyRy / ~y / y >,

dCFdrd

< x; yWzRz / ~z / z >

dTF

< xWyW(~y) / y / - >,

dCFtr

< x; yWzW(~z) / z / - >

dWDF

< xWyWy / ~y / - >,

< xRxRx / ~x / ~x >,

< x; zRzRz / ~z / ~z >

< xRxRx / x / ~x >,

< x; zRzRz / z / ~z >

< xRxRx / ~x / x >,

< x; zRzRz / ~z / z >

< xRxW(~x) / x / - >, < xRxWx / ~x / - >.

< x; zRzW(~z) / z / - > dCFwd

< x; yWzWz / ~z / - > < x; zRzWz / ~z / - >

58

Harutunyan, Vardanian and Zorian

physical. This approach may also be unacceptable due to the hardware overhead connected with the implementation of the logical to physical mapping. However, those two classes Sav and Sva also need research and development of efficient algorithms for detection of the corresponding dynamic faults from those classes. Table 2 describes all FPs caused by Saa. They consist of 36 FPs compiled into the FFM of Dynamic Disturb Coupling Faults (dCFds) with the following four types. 1. dCFdsww with 16 FPs; S consists of a Write operation followed by a Write operation. 2. dCFdswr with eight FPs; S consists of a Write operation followed by a Read operation. 3. dCFdsrw with eight FPs; S consists of a Read operation followed by a Write operation. 4. dCFdsrr with four FPs; S consists of a Read operation followed by a Read operation. Table 3 describes all FPs caused by Svv. They consist of 60 PFs compiled into the following five FFMs: Dynamic Read Destructive Coupling Fault (dCFrd), Dynamic Incorrect Read Coupling Fault (dCFir), Dynamic Deceptive Read Destructive Coupling Fault, (dCFdrd), Dynamic Transition Coupling Fault (dCFtr), Dynamic Write Destructive Coupling Fault (dCFwd). All necessary definitions on March test algorithms, FPs and dynamic FFMs, can be found in [5–8, 10, 12, 14]. A March algorithm M is a test algorithm with a finite number of March elements M = {M1, M2,..., Mk} where each March element Mi consists of an addressing direction Oi and a finite number of Read/Write operations Mi = Oi {O1D,..., OmD}, Oj Z {R, W} is a R (Read) or W (Write) operation, 8i 2 f*; +; mg, D Z{0, 1}. In this paper, we will consider bit-oriented memories only since the results can be generalized (see [13]) directly for the general case B Q 1 where B is the number of bits in a word. Ã (respectively, *) is the ascending (descending) address order; m is an arbitrary address order. A sequence fOgk = O1, O2, ..., Ok, of Write and/or Read operations of given length k, will be called a Marchlike sequence of length k, if O1 = Wx, x Z {0, 1}, and for each j, 1 e j e k j 1, the following conditions are satisfied: (i) If Oj = W0 or Oj = R0, j Q 2, then Oj+1 m R1; (ii) If Oj = W1 or Oj = R1, j Q 2, then Oj+1 m R0. From each March test M we can obtain a corresponding March-like sequence M uniquely. Note that, in general, for any March-like sequence L, we can construct many March algorithms by partitioning the March-like sequence into a finite number s of subsequences L1, L2,..., Ls in different ways and for each Li, 1 e i e s, constructing a March element Mi = {Oi Li} by inserting an address direction 8i 2 f*; +; mg arbitrarily.

3.

Minimal March Tests for all Two-Operation Single-Cell Dynamic Faults

In this section, we will describe symmetric March tests of length 33N (March MD1a and March MD1b) for detection of all two-operation single-cell dynamic faults. A number of lemmas and theorems are proved to show the proposed tests are of minimum length. Tables 4 and 5 describe the structure of the test algorithms MD1a and MD1b. A sequence of operations S = {O(x), O(y)}, x, yZ{0, 1}, from the March-like sequence of a March test will be called an Binseparable entry’’ for the March test if it has a March element containing S. For example, consider the following March test: m ðWyÞ; m ðRyÞ; m ðWy; RyÞ and the corresponding March-like sequence {Wy, Ry, Wy, Ry}. There are two entries of {Wy, Ry} in the March-like sequence. The first one is not inseparable for the March test but the second one is inseparable. Note that for a March-like sequence all entries are inseparable. Denote G11 ¼ f< xWyRy=  y = y >; x; yZf0; 1gg; G12 ¼ f< xWyW=  y =  >; x; yZf0; 1gg; G13 ¼ f< xWyW=ð yÞ= y = > x; yZf0; 1gg; G1 ¼ G11 U G12 U G13 : Lemma 3.1. In order for a March test M to detect all the FPs from G11 (respectively, G12, G13), it is necessary for the corresponding March-like sequence to contain at least two disjoint entries of sequence {Wy, Ry} (respectively, {Wy, Wy}, {Wy, W(~y)}) and at least one entry of sequence {Wy, Ry, Ry} (respectively, {Wy, Wy, Ry}, {Wy, W(~y), R(~y)}), yZ{0, 1} where Wy is not the initialization operation. Proof: We will prove the lemma for the FPs from G12 only. The proof for FPs from G11 and G13 is similar to that for FPs from G12. Table 4. Test algorithm March MD1a (33N). March element

Address direction

Operations

M0

m

W0

M1

m

W0, W1, W0, W1

M2

m

R1, W0, W0

M3

m

W0, W0

M4

m

R0, W1, R1, W1, R1, R1

M5

m

R1

M6

m

W1, W0, W1, W0

M7

m

R0, W1, W1

M8

m

W1, W1

M9

m

R1, W0, R0, W0, R0, R0

M10

m

R0

Minimal March Tests for Dynamic Faults in Random Access Memories Table 5. Test algorithm March MD1b (33N). March element

Address direction

Operations

M0

m

W0

M1

m

W0, W1, W0, W1, R1

M2

m

W0, W0

M3

m

W0, W0

M4

m

R0, W1, R1, W1, R1, R1

M5

m

R1

M6

m

W1, W0, W1, W0, R0

M7

m

W1, W1

M8

m

W1, W1

M9

m

R1, W0, R0, W0, R0, R0

M10

m

R0

Suppose the assertion of the lemma is not true. Note that, in all cases considered below, the first operation Wy cannot be an initialization operation since for each FP it is necessary first to set the cell to a certain state and then sensitize it. We will distinguish three different cases: a. The corresponding March-like sequence contains only one entry of sequence {Wy, Wy}, the first Wy is not the initialization operation; b. The corresponding March-like sequence contains two overlapping entries of sequence {Wy, Wy}, i.e., an entry of the sequence {Wy, Wy, Wy}, the first Wy is not the initialization operation. Note that for the proof for FPs from G11 and G13 this case is not valid and should be missed since we have no overlapping entries. c. The corresponding March-like sequence does not contain a sequence {Wy, Wy, Ry}, the first Wy is not the initialization operation.

Í

Consider case a. Any March test M cannot sensitize both FPs FP1 = , FP2 = if the corresponding March-like sequence contains only one entry of sequence {Wy, Wy}. In this case, the March test can sensitize only FP1 from G12, if the operation immediately before entry {Wy, Wy} is O(y). Otherwise if the operation immediately before entry {Wy, Wy} is O(~y) the March test can sensitize only FP2 from G12. Consider case b. Suppose the operation immediately before the entry {Wy, Wy, Wy} is O(y). Obviously, O(y) cannot be Wy since otherwise we would have an entry {Wy, Wy, Wy, Wy} giving us two disjoint entries {Wy, Wy} which would be a contradiction to our assumption. Thus, the operation immediately before the entry {Wy, Wy, Wy} can be only Ry. In this case, it is easy to observe that FP2 = < ~yWyWy / ~y / - > from G12 cannot be sensitized. Now let us consider the only remaining case when the operation immediately before the entry

59

{Wy, Wy, Wy} is O(~y). Then the first two operations of the entry {Wy, Wy, Wy} will sensitize FP2, but it cannot be detected since the third operation of the entry is Wy instead of Ry that is necessary for detection of the FP. Consider case c. To detect FP1 from G12, it is necessary for the corresponding March-like sequence to contain at least one entry of sequence {Wy, Wy, Ry}. To sensitize FP1 in a certain cell, it is necessary and sufficient to perform operations {Wy, Wy} sequentially when the initial value of the cell is y. After sensitization of FP1 the state of the cell will flip to ~y. Finally, it is necessary and sufficient to perform operation Ry to detect FP1. Note that Read operation should immediately follow the sequence of sensitization operations in the March-like sequence. It means Read operation should be either in the same March element as sensitization operations, or in the beginning of the next March element in order to detect the fault sensitized by the operations {Wy, Wy}. For example, both March tests m ðWyÞ; m ðWy; Wy; RyÞ and m ðWyÞ; m ðWy; WyÞ; m ðRyÞ satisfy the conditions for detection of FP1.

Lemma 3.2. Denote FP1 = < yWyRy / ~y / y > and FP2 = < ~yWyRy / ~y / y >. If the March-like sequence contains a subsequence {W(~y), Wy, Ry, Wy, Ry, Ry}, yZ{0, 1}, then it is possible to construct a March test from the March-like sequence detecting both FP1 and FP2.

Proof: For detection of FP2, the corresponding March-like sequence should not necessarily contain an entry of sequence S = {O(~y), Wy, Ry, Ry}. For example, the corresponding March-like sequence of the March test m ðW ð yÞÞ; m ðWy; RyÞ; m ðWy; RyÞ; m ðRyÞ does not contain S. Let us show that, however, it detects both of the FPs. Suppose C is the cell that will be sensitized by FP1 or FP2. After performing March element m ðW ð yÞÞ, the value of C will be ~y. After performing the operations Wy, Ry of the second March element the value of C sensitized by FP2 will remain ~y since its initial value was ~y. After performing the operations Wy, Ry of the third March element the value of C sensitized by FP2 will still remain ~y. Finally, the operation Ry of the fourth March element will detect FP2. After performing March element m ðW ð yÞÞ, FP1 will not be sensitized in C. After performing the operations Wy, Ry of the second March element, the content of C will be y and FP1 will not be sensitized in C since the initial value of C was ~y. After performing the operations Wy, Ry of the third March element, FP1 will be sensitized and the content of C will be ~y, since before those operations the content of C was y. Finally, the operation Ry of the fourth March element will detect FP1.

Í

60

Harutunyan, Vardanian and Zorian

Consider the following subclasses of FPs defined in [6]: dF1 ¼ f< xWyRy=  y=  y >; x; y Zf0; 1gg  dRDF; dF2 ¼ f< xWyRy=y=  y >; x; y Zf0; 1gg  dIRF; dF3 ¼ f< xWyRy=  y=y >; x; y Zf0; 1gg  dDRDF; Let us show that the conditions in Lemma 3.1 are not sufficient for detection of dF1, dF2, dF3. Example 3.1. March-like sequence W0, W1, R1, W0, R0, R0, W1, R1, R1, W0, R0 satisfies the conditions of Lemma 3.1. In this March-like sequence there are two disjoint entries of each of the sequences {W0, R0} and {W1, R1}. Also there is one entry of each sequence {W0, R0, R0} and {W1, R1, R1}. However, there is no March test that can be obtained from the March-like sequence detecting FP = < 1W1R1 / 0 / 1 >. Since the necessary sensitizing sequence {O(1), W1, R1} is not contained in the March-like sequence, the FP cannot be sensitized at all.

Corollary 3.1. The length of any March test for detection of the FPs from dF1, dF2, dF3 is at least 11N, N is the number memory cells.

Proof: From Lemma 3.1 it follows immediately that if a March test M detects all FPs from dF1, dF2, dF3 then the corresponding March-like sequence M contains: a) At least two entries of each of the sequences {W0, R0} and {W1, R1} where W0 and W1 are not the initialization operation; b) At least one entry of each of the sequences {W0, R0, R0} and {W1, R1, R1} where W0 and W1 are not the initialization operation; c) Initialization operation Wx, x Z {0, 1}. From these three conditions it follows that d) The minimum length of all March-like sequences satisfying the condition a) is 8; e) The minimum length of all March-like sequences satisfying the conditions a), b) is 10; f) The minimum length of all March-like sequences satisfying the conditions a), b), c) is 11.

Í

Lemma 3.3. Any March test detecting all FPs from dF3 detects also all FPs from dF1 and dF2.

Proof: If a March test detects all FPs from dF3 then it should sensitize all FPs < xWyRy / ~y / y > for any x, y Z{0, 1}. Obviously, operation Ry not only sensitizes FP

< xWyRy / ~y / y > (following operation Wy) but also detects FPs < xWyRy / ~y / ~y > from dF1 and < xWyRy / y / ~y > from dF2 for any x, y Z{0, 1}, since the expected value is y, while ~y is obtained at the output. In [6], a March test algorithm of length 13N, named March RAW1, was proposed for detection of two-operation single-cell dynamic FFMs, based on BRead-AfterWrite’’ operations, thus detecting FPs from dF1, dF2 and dF3: March RAW1 (13N) [6]: m ðW0Þ; m ðW0; R0Þ; m ðR0Þ; m ðW1; R1Þ; m ðR1Þ; m ðW1; R1Þ; m ðR1Þ; m ðW0; R0Þ; m ðR0Þ. In [3], a shorter March test algorithm of length 11N, named March AB1, was proposed for detection of FPs from the same classes of FPs dF1, dF2 and dF3:

Í

March AB1 (11N) [3]: m ðW0Þ; m ðW1; R1; W1; R1; R1Þ; m ðW0; R0; W0; R0; R0Þ. We have synthesized 6 symmetric and 116 nonsymmetric March test algorithms of length 11N and proved they are minimal for detection of the same set of dynamic FPs dF1, dF2 and dF3. Table 6 lists the six symmetric March test algorithms of minimum length 11N obtained by us and named March MRAW1a-MRAW1f. It should be noted that the third entry in Table 6, named March MRAW1c, matches with March AB1 [3]. Note that we can obtain new additional six symmetric March test algorithms with the same fault coverage from the algorithms listed in Table 6 by applying the standard procedures of inverting all address directions or all data background patterns (see [12]).

Theorem 3.1. March tests MRAW1 of length 11N are minimal for detection of all FPs from dF1-dF3.

Proof: Taking into account Lemma 3.2, we can prove that March tests MRAW1 detect all FPs from dF3. From Lemma 3.3, it follows immediately that March tests MRAW1 will detect all FPs from dF1–dF3. Then taking

Table 6. Minimal March tests MRAW1a-MRAW1f. No.

Test algorithms

1a

m(W0, W1, R1, W1, R1, R1, W0, R0, W0, R0, R0)

1b

m(W0); m(W1, R1, W1, R1, R1, W0, R0, W0, R0, R0)

1c

m(W0); m(W1, R1, W1, R1, R1); m(W0, R0, W0, R0, R0)

1d

m(W0); m(W1, R1, W1, R1); m(R1); m(W0, R0, W0, R0); m(R0)

1e

m(W0); m(W1, R1); m(W1, R1, R1); m(W0, R0); m(W0, R0, R0)

1f

m(W0); m(W1, R1); m(W1, R1); m(R1); m(W0, R0); m(W0, R0); m(R0)

Minimal March Tests for Dynamic Faults in Random Access Memories into account Corollary 3.1 we can conclude that the theorem is proved. Introduce the following notations:

Í

G21 ¼ f< xRxRx=  x=x >; x; y Zf0; 1gg; G22 ¼ f< xRxWy=  y= >; x; y Zf0; 1gg; G2 ¼ G21 UG22 : Lemma 3.4. If a March test M detects all FPs from G2 then it is necessary for it to contain at least one inseparable entry of {Rx, Rx} followed by another operation Rx in the corresponding March-like sequence and at least one inseparable entry {Rx, Wy} followed by another operation Ry in the corresponding March-like sequence, x, yZ{0, 1}.

Proof: To sensitize the FP1 = < xRxRx / ~x / x > from G21 (respectively, FP2 = < xRxWy / ~y /- > from G22) in a certain cell it is necessary and sufficient to perform operations Rx, Rx (respectively, Rx, Wy) sequentially. The cell state will become ~x (respectively, ~y). Finally, it is necessary and sufficient to perform operation Rx (respectively, Ry) to detect the FP. Note that Read operation should immediately follow the sequence of the sensitization operations in the March-like sequence. It means, a Read operation should be either in the same March element, as a sensitization operation, or in the beginning of the next March element in order to detect the fault sensitized by the operations Rx, Rx (respectively, Rx, Wy). For example, both March tests m ðWxÞ; m ðRx; Wy; RyÞ and m ðWxÞ; m ðRx; WyÞ; m ðRyÞ satisfy the conditions for detection of FP2.

Í

Corollary 3.2. Any March test, detecting all FPs from G1 and G2, has at least 33N operations.

Proof: Taking into account the conditions of Lemma 3.1 and Lemma 3.4, we conclude that if the March test detects all FPs from G1 and G2, it is necessary for the corresponding March-like sequence to contain: a) At least one entry of each of the sequences {W0, W1, R1}, {W1, W0, R0}, {W0, W0, R0} and {W1, W1, R1} where W0 and W1 are not the initialization operation; b) At least one entry of each of the sequences {R0, W0, R0}, {R1, W1, R1}, {R0, W1, R1} and {R1, W0, R0}; c) At least one entry of each of the sequences {R0, R0, R0} and {R1, R1, R1}; d) At least two disjoint entries of each of the sequences {W0, W1}, {W1, W0}, {W0, W0} and {W1, W1}, where W0 and W1 are not the initialization operation.

61

e) Initialization operation Wx, x Z {0, 1}. From these conditions it follows that f) The minimum length of all March-like sequences, satisfying the condition a), is 12; Since the sequences listed in point a) have no intersection with each other then any March-like sequence should contain at least 12 operations. g) The minimum length of all March-like sequences, satisfying the conditions a), b), is 20; Each sequence listed in point b) has intersection with another sequence listed in points a), b) exactly with one operation or does not have intersection at all. h) The minimum length of all March-like sequences, satisfying the conditions a), b), c), is 24. Each sequence listed in point c) has intersection with another sequence listed in points a), b), c) exactly with one operation or does not have intersection at all. i) The minimum length of all March-like sequences, satisfying the conditions a), b), c), d), is 32. Any March-like sequence of length 24, satisfying the conditions a), b), c), contains exactly one entry of each of the sequences {W0, W1}, {W1, W0}, {W0, W0} and {W1, W1} where W0 and W1 are not the initialization operation. To satisfy the condition d), at least eight operations should be added. Thus, the March like-sequence should contain at least 32 operations. j) The minimum length of all March-like sequences, satisfying the conditions a), b), c), d), e), is 33. Since initialization operation Wx, x Z {0, 1}, has no intersection with each sequence listed in points a), b), c), d), then from point i) we obtain directly the assertion of point j) and the Corollary is proved.

Í

Theorem 3.2. March MD1a and MD1b are minimal tests for detection of all two-operation single-cell dynamic faults. Proof: It is easy to verify that March MD1a and MD1b of length 33N detect all two-operation single-cell dynamic faults. Taking into account Corollary 3.2 we can conclude that the theorem is proved. Taking into account all the conditions of Lemmas 3.1– 3.4, we can prove that each of the following March tests considered in Theorems 3.3–3.6 is minimal for detection of each certain set of FPs.

Í

Theorem 3.3. The following March test of length 11N March MD3 (11N): m ðW0Þ; m ðW1; R1; W1; R1; R1Þ; m ðW0; R0; W0; R0; R0Þ is minimal for detection of all FPs from dIRF and dRDF. Table 7 lists all 16 symmetric March test algorithms of minimum length 11N for detection of all FPs from dRDF

62

Harutunyan, Vardanian and Zorian

Table 7. Minimal March tests MD3 for detection of FPs from dRDF and dIRF.

Table 9. Minimal March tests MD5 for detection of FPs from dWDF. No.

No.

Test algorithms

1

m(W0, W1, R1, W1, R1, R1, W0, R0, W0, R0, R0)

2

m(W0); m(W1, R1, W1, R1, R1, W0, R0, W0, R0, R0)

3

m(W0); m(W1, R1, W1, R1, R1); m(W0, R0, W0, R0, R0)

4

m(W0); m(W1, R1); m(W1, R1, R1); m(W0, R0); m(W0, R0, R0)

5

m(W0, W1, R1, W1, R1, R1, W0, R0, R0, W0, R0)

6

m(W0); m(W1, R1, W1, R1, R1, W0, R0, R0, W0, R0)

7

m(W0); m(W1, R1, W1, R1, R1); m(W0, R0, R0, W0, R0)

8

m(W0); m(W1, R1); m(W1, R1, R1); m(W0, R0, R0); m(W0, R0)

9

m(W0, W1, R1, R1, W1, R1, W0, R0, W0, R0, R0)

10

m(W0); m(W1, R1, R1, W1, R1, W0, R0, W0, R0, R0)

11

m(W0); m(W1, R1, R1, W1, R1); m(W0, R0, W0, R0, R0)

12

m(W0); m(W1, R1, R1); m(W1, R1); m(W0, R0); m(W0, R0, R0)

13

m(W0, W1, R1, R1, W1, R1, W0, R0, R0, W0, R0)

14

m(W0); m(W1, R1, R1, W1, R1, W0, R0, R0, W0, R0)

15

m(W0); m(W1, R1, R1, W1, R1); m(W0, R0, R0, W0, R0)

16

m(W0); m(W1, R1, R1); m(W1, R1); m(W0, R0, R0); m(W0, R0)

and dIRF. Additionally, we can obtain 16 symmetric March test algorithms from those listed in Table 7 by complementing the data backgrounds. Also, we have constructed 96 non-symmetric March test algorithms of minimum length 11N detecting all FPs from dRDF and dIRF.

Theorem 3.4. The following March test of length 13N March MD4 (13N): m ðW0Þ; m ðW1; R1; W1; R1; R1; R1Þ; m ðW0; R0; W0; R0; R0; R0Þ is minimal for detection of all FPs from dDRDF. Table 8 lists all 16 symmetric March test algorithms of minimum length 13N for detection of all FPs from dDRDF. Additionally, we can obtain six symmetric March test algorithms from those listed in Table 8 by complementing the data backgrounds. Also, we have constructed 116 non-symmetric March test algorithms of minimum length 13N detecting all FPs from dDRDF.

1

m(W0); m(W1, W1); m(W1, W1, R1, W1, R1); m(W0, W0); m(W0, W0, R0, W0, R0)

2

m(W0); m(W1, W1); m(W1, W1, R1, W1); m(R1); m(W0, W0); m(W0, W0, R0, W0); m(R0)

3

m(W0); m(W1, W1); m(W1, W1); m(R1, W1, R1); m(W0, W0); m(W0, W0); m(R0, W0, R0)

4

m(W0); m(W1, W1); m(W1, W1); m(R1, W1); m(R1); m(W0, W0); m(W0, W0); m(R0, W0); m(R0)

Theorem 3.5. The following March test of length 15N March MD5 (15N): m ðW0Þ; m ðW1; W1Þ; m ðW1; W1; R1; W1; R1 Þ; m ðW0; W0Þ; m ðW0; W0; R0; W0; R0Þ i s minimal for detection of all faults from dWDF. Table 9 lists all four symmetric March test algorithms of minimum length 15N for detection of all FPs from dWDF. Additionally, we can obtain four symmetric March test algorithms from those listed in Table 9 by complementing the data backgrounds. Also, we have constructed 120 non-symmetric March test algorithms of minimum length 15N detecting all FPs from dWDF. Theorem 3.6. The following March test of length 15N March MD6 (15N): m ðW0Þ; m ðW0; W1; W0; W1; R1Þ; m ðW1; W0; W1; W0; R0; W1; R1; W0; R0Þ is minimal for detection of all FPs from dTF. Table 10 lists all eight symmetric March test algorithms of minimum length 15N for detection of all FPs from dTF. Additionally, we can obtain eight symmetric March test algorithms from those listed in Table 10 by complementing the data backgrounds. Also, we have Table 10. Minimal March tests MD6 for detection of FPs from dTF. No.

Test algorithms

Test algorithms

1

m(W0, W0, W1, W0, W1, R1, W1, W0, W1, W0, R0, W1, R1, W0, R0)

2

m(W0); m(W0, W1, W0, W1, R1, W1, W0, W1, W0, R0, W1, R1, W0, R0)

3

m(W0); m(W0, W1, W0, W1); m(R1); m(W1, W0, W1, W0); m(R0, W1); m(R1, W0); m(R0)

4

m(W0); m(W0, W1); m(W0, W1); m(R1); m(W1, W0); m(W1, W0); m(R0, W1); m(R1, W0); m(R0)

Table 8. Minimal March tests MD4 for detection of FPs from dDRDF. No.

March algorithms

1

m(W0, W1, R1, W1, R1, R1, R1, W0, R0, W0, R0, R0, R0)

2

m(W0); m(W1, R1, W1, R1, R1, R1, W0, R0, W0, R0, R0, R0)

3

m(W0); m(W1, R1, W1, R1, R1, R1); m(W0, R0, W0, R0, R0, R0)

5

m(W0, W0, W1, W0, W1, R1, W0, R0, W1, R1, W1, W0, W1, W0, R0)

4

m(W0); m(W1, R1, W1, R1, R1); m(R1); m(W0, R0, W0, R0, R0); m(R0)

6

m(W0); m(W0, W1, W0, W1, R1, W0, R0, W1, R1, W1, W0, W1, W0, R0)

5

m(W0); m(W1, R1); m(W1, R1, R1, R1); m(W0, R0); m(W0, R0, R0, R0)

7

m(W0); m(W0, W1); m(W0, W1); m(R1, W0); m(R0, W1); m(R1); m(W1, W0); m(W1, W0); m(R0)

6

m(W0); m(W1, R1); m(W1, R1, R1); m(R1); m(W0, R0); m(W0, R0, R0); m(R0)

8

m(W0); m(W0, W1, W0, W1); m(R1, W0); m(R0, W1); m(R1); m(W1, W0, W1, W0); m(R0)

Minimal March Tests for Dynamic Faults in Random Access Memories constructed 1,008 non-symmetric March test algorithms of minimum length 15N detecting all FPs from dTF.

4.

Minimal March Test for all Two-Operation Two-Cell Dynamic FPs Sensitized by Saa and Svv

In this section, we will describe a symmetric March test algorithm of length 70N (March MD2) for detection of all two-operation single-cell dynamic faults, as well as twocell dynamic FPs sensitized by sequences of types Saa and Svv. We formulate and prove a number of lemmas and theorems to show March MD2 is of minimum length for detection of all two-operation single-cell dynamic faults, as well as two-cell dynamic FPs from Saa and Svv. Moreover, MD2 is shown to detect also all unlinked and linked static faults. In [2], the following March test of length 100N was proposed for detection of all two-operation two-cell dynamic FPs sensitized by sensitizing operation sequences of types Saa and Svv: March 100N [2]: m ðW1Þ; *(R1, R1, R1, W1, R1, W1, R1, R1, W1, W1, R1, W0, R0, R0, R0, W0, R0, W0, R0, R0, W0, W0, R0, W1); *(R1, W0, R0, R0, W1, R1, R1, W1, W0, R0, W0, W1, R1, W0, W1, R1, W0, W0, R0, W1, W0, R0, W1, W1); Ã(R1, W0); *(R0, R0, R0, W0, R0, W0, R0, R0, W0, W0, R0, W1, R1, R1, R1, W1, R1, W1, R1, R1, W1, W1, R1, W0); *(R0, W0, W1, R1, W1, W0, R0, W1, W0, R0, W1, W1, R1, W0, W1, R1, W0, W0, R0, W1, R1, R1, W0, R0); m ðR0Þ. In [2], it was claimed that March 100N is irredundant. For example, the 29th operation R0 can be excluded from the test without any impact on the targeted dynamic fault coverage. It is easy to check manually, or by using a fault simulation tool, that the obtained March test of length 99N will detect the same dynamic faults as the March 100N test [2].

63

March MD2, proposed in this paper, reduces the length of the 100N test, proposed in [2], by 30N. Table 11 describes the structure of March MD2. Introduce the following notations: G11 ¼ f< z; xWyRy=  y=y >; x; y; z 2 f0; 1gg; G12 ¼ f< z; xWyWy=  y= >; x; y; z 2 f0; 1gg; G13 ¼ f< z; xWyWð yÞ=y= >; x; y; z 2 f0; 1gg; G1 ¼ G11 U G12 UG13

Lemma 4.1. If any entry of {Wy, Ry} (respectively, {Wy, Wy}, {Wy, W(~y)}) sensitizes FP1 = < z; xWyRy / ~y / y > from G11 (respectively, FP3 = < z; xWyWy / ~y / - > from G12, FP5 = < z; xWyW(~y) / y / - > from G13) then it cannot sensitize FP2 = < ~z; tWyRy / ~y / y > from G11 (respectively, FP4 = < ~z; tWyWy / ~y / - > from G12, FP6 = < ~z; tWyW(~y) / y / - > from G13) for all FPs satisfying condition a< v for any x, y, z, t Z {0, 1}. The same assertion is true also when a > v.

Proof: We will prove the lemma only for FPs from G11. For FPs from G12 and G13, the proof is similar to that for FPs from G11. From the main properties of a March test, it follows immediately that when an operation of a March test is being applied to the v-cell of a single memory fault, the content of all cells with lower addresses, than that of the v-cell, are the same. Thus, if a sequence of the sensitization operations in a March test sensitizes the FP1 from G11 at a certain v-cell C1 with initial value x and with the a-cell in state z, then the content of all cells, with address lower than that of C1, is z. So, the sequence of the sensitization operations cannot sensitize FP2 from G11 with another v-cell C2 for any x, y, z, t Z {0, 1} since, otherwise, the content of all cells, with lower address than that of C2, would be ~z, which is a contradiction to the former assertion.

Í

Table 11. Test algorithm March MD2 (70N). March element

Address direction

Operations

M0

m

W0

M1

Ã

R0, W1, W1, R1, W1, W1, R1, W0, W0, R0, W0, W0, R0, W0, W1, W0, W1

M2

Ã

R1, W0, W0, R0, W0, W0, R0, W1, W1, R1, W1, W1, R1, W1, W0, W1, W0

M3

*

R0, W1, R1, W1, R1, R1, R1, W0, R0, W0, R0, R0, R0, W0, W1, W0, W1

M4

*

R1, W0, R0, W0, R0, R0, R0, W1, R1, W1, R1, R1, R1, W1, W0, W1, W0

M5

m

R0

Lemma 4.2. In order for a March test M to detect all FPs from G1, it is necessary for the corresponding March-like sequence to contain at least four disjoint entries of each of the sequences {Wy, Ry}, {Wy, Wy} and {Wy, W(~y)}, that are inseparable entries for M, and at least two entries of each of the sequences {Wy, Ry, Ry}, {Wy, Wy, Ry} and {Wy, W(~y), R(~y)}, yZ{0, 1}, where Wy is not the initialization operation.

Proof: Four disjoint entries of sequence {Wy, Ry} are necessary to sensitize FPs < 0; 0WyRy / ~y / y >, < 0; 1WyRy / ~y / y >, < 1; 0WyRy / ~y / y > and < 1; 1WyRy /

64

Harutunyan, Vardanian and Zorian

~y / y > from G11. It is sufficient to consider the case when the aggressor and victim cells satisfy the condition a < v for all four FPs. To prove the lemma, we will show for any March test that if the corresponding March-like sequence contains at most three entries of sequence {Wy, Ry} or at most one entry of sequence {Wy, Ry, Ry}, yZ{0, 1}, where Wy is not the initialization operation, then it cannot detect at least one FP from those four FPs. Let us show that a March test cannot detect the four FPs described above, if the corresponding March-like sequence fMg contains less than four entries of sequence {Wy, Ry}. Suppose the assertion of the lemma is not true. Then there exists a March test detecting those four FPs, but the corresponding March-like sequence contains no more than three entries of sequence {Wy, Ry}, or no more than one entry of sequence {Wy, Ry, Ry}, yZ{0, 1}, where Wy is not the initialization operation. Let us assume that the corresponding March-like sequence contains exactly three entries of sequence {Wy, Ry} sensitizing the four FPs listed above. Consequently, there should be at least two FPs which are sensitized by the same entry of sequence {Wy, Ry}. There are three possible cases for the three entries of sequence {Wy, Ry} to sensitize four FPs, since, as it follows from Lemma 4.1, any entry {Wy, Ry}, that sensitizes a FP < z; xWyRy / ~y / y > from G11, cannot sensitize FPs < ~z; xWyRy / ~y / y > and < ~z; ~xWyRy / ~y / y > from G11, for all FPs with assumption a < v, and for any x, y, zZ{0, 1}. Consider all three possible cases.

Í

Case 1: All three entries of sequence {Wy, Ry} sensitize the FPs of the form < 0; 0WyRy / ~y / y > and < 0; 1WyRy / ~y / y >, y Z{0, 1}. In this case, any FP of the form < 1; xWyRy / ~y / y >, x, yZ{0, 1}, cannot be sensitized which proves the lemma. Case 2: All three entries of sequence {Wy, Ry} sensitize the FPs of the form < 1; 0WyRy / ~y / y > and < 1; 1WyRy / ~y / y >, y Z {0, 1}. In this case, any FP of the form < 0; xWyRy / ~y / y >, x, yZ{0, 1} cannot be sensitized which proves the lemma. Case 3: Two entries of sequence {Wy, Ry} sensitize the FPs of the form < x; 0WyRy / ~y / y >, < x; 1WyRy / ~y / y >, and one entry of sequence S = {Wy, Ry} sensitizes the FPs of the form < ~x; 0WyRy / ~y / y >, < ~x; 1WyRy / ~y / y >, x, yZ{0, 1}.

It is a contradiction because, taking into account the argumentation used in the proof of Lemma 3.1, we can conclude that in this case the March test can sensitize only < ~x; 0WyRy / ~y / y > (respectively, < ~x; 1WyRy /

~y / y >), if the operation immediately before the entry S is O(0) (respectively, O(1)) which proves the lemma. Now suppose there exists a March test detecting all four FPs, but the corresponding March-like sequence contains no more than one entry of sequence {Wy, Ry, Ry}, yZ{0, 1}, where Wy is not the initialization operation. To detect FP < z; yWyRy / ~y / y > from G11, it is necessary for the corresponding March-like sequence to contain at least one entry of the sequence {Wy, Ry, Ry}. To detect the FP, the only way is to perform the sequence of operations Wy, Ry on the v-cell, when the v-cell value is y, and the a-cell value is z. The v-cell state will be flipped into ~y. After performing operation Ry, the fault will be detected. It is obvious that the sequence of operations {Wy, Ry, Ry}, which detects the FP < z; yWyRy / ~y / y > from G11, cannot sensitize the FP < ~z; yWyRy / ~y / y > from G11, since the a-cell of the latter is in state ~z, while the former one is in state z. Note that both FPs are supposed to satisfy the condition a < v. Thus, to detect the FPs < z; yWyRy / ~y / y > and < ~z; yWyRy / ~y / y >, it is necessary for the corresponding March-like sequence to contain at least two entries of sequence {Wy, Ry, Ry}. The same considerations can be done for FPs < z; xWyWy / ~y / - > from G12 and < z; xWyW(~y) / y / - > from G13, x, y, zZ{0, 1}. The lemma is proved. Consider the following subclasses of FPs defined in [6]: dCF1 ¼ f< x; yWzRz=  z=  z >; x; y; z 2 f0; 1gg  dCFrd; dCF2 ¼ f< x; yWzRz=z=  z >; x; y; z 2 f0; 1gg  dCFir; dCF3 ¼ f< x; yWzRz=  z=z >; x; y; z 2 f0; 1gg  dCFdrd; dCF4 ¼ f< xWyRy; z=  z= >; x; y; z 2 f0; 1gg  dCFds:

Corollary 4.1. The length of any March test for detection of the FPs from dCF1, dCF2, dCF3 is at least 21N. Proof: In order for a March test M to detect all FPs from dCF1, dCF2, dCF3, it is necessary for the corresponding March-like sequence to contain: a) At least four entries of each of the sequences {W0, R0} and {W1, R1}, where W0 and W1 are not the initialization operation; b) At least two entries of each of the sequences {W0, R0, R0} and {W1, R1, R1}, where W0 and W1 are not the initialization operation; c) Initialization operation Wx, x Z {0, 1}.

Minimal March Tests for Dynamic Faults in Random Access Memories From these three conditions, it follows that d) The minimum length of all March-like sequences, satisfying the condition a), is 16; e) The minimum length of all March-like sequences, satisfying the conditions a), b), is 20; f) The minimum length of all March-like sequences, satisfying the conditions a), b), c), is 21.

Í

Lemma 4.3. For any March test of length 21N, that detects all FPs from dCF1, dCF2, dCF3, the corresponding March-like sequence should start with sequence {Wx, Wy, Ry} where x, y Z {0, 1}. Proof: Let us assume there is a March test of length 21N which detects all FPs from dCF1, dCF2, dCF3 and the corresponding March-like sequence M does not start with sequence {Wx, Wy, Ry}. There are two possible cases. Case 1 M starts with sequence {Wx, Rx}, where Wx is the initialization operation. As the March test detects all FPs from dCF1, dCF2, dCF3, M must satisfy all conditions a), b), c) in the proof of Corollary 4.1, but in this case the second operation Rx of M will not be contained in one of the required sequences, since Wx is assumed to be initialization operation. So, after eliminating this Rx operation, the modified March-like sequence M of length 20N will also satisfy all conditions in the proof of Corollary 4.1. But it is a contradiction to point f) in the proof of Corollary 4.1. Case 2 M starts with sequence {Wx, Wy, Wz}, where Wx is the initialization operation. As the March test detects all FPs from dCF1, dCF2, dCF3, M must satisfy all conditions a), b), c) in the proof of Corollary 4.1, but in this case the second operation Wy of M will not be contained in one of the required sequences, since Wx is assumed to be initialization operation. So, after eliminating this Wy operation, the modified March-like sequence M of length 20N will also satisfy all conditions in the proof of Corollary 4.1 But it is a contradiction to point f) in the proof of Corollary 4.1.

Í

Lemma 4.4. Any March test detecting all FPs from dCF1, dCF2, dCF3, dCF4, contains at least 22N operations.

65

Z {0, 1}. Taking into account the argumentation used in the proof of Corollary 4.1, we can also conclude that in this case the March test contains exactly four entries of sequence {Wy, Ry}. If the address direction of March element, which contains the first entry of sequence {Wy, Ry}, is à (respectively, *), the March test cannot detect at least one of the FPs from dCF4 when a < v (respectively, a > v). Let us assume that the addressing order of the mentioned March element is Ã. Let us show that there is a FP from dCF4 with a < v, such that the March test is not able to detect it. Any sequence {Wy, Ry} can sensitize only one FP from dCF4 with a < v. When the operations {Wy, Ry} are applied on the a-cell with the initial value a Z {0, 1} and the value of the v-cell is v Z {0, 1}, only the FP < aWyRy; v / ~v / - > will be sensitized. So, if the March test contains exactly four entries of the sequence {Wy, Ry} and it must detect exactly four FPs from dCF4, it means that each {Wy, Ry} must sensitize exactly one FP from dCF4. The first entry of sequence {Wy, Ry} sensitizes the FP < xWyRy; z / ~z / - >. However, this FP will be sensitized, but will not be detected, because in this case the operation Rz is required in the beginning of the mentioned March element. In [6], a March test algorithm of length 26N, named March RAW, was proposed for detection of twooperation two-cell dynamic FFMs based on BReadAfter-Write’’ operations, thus, detecting FPs from dCF1, dCF2, dCF3 and dCF4:

Í

March RAW (26N) [6]: m ðW0Þ; Ã(R0, W0, R0, R0, W1, R1); Ã(R1, W1, R1, R1, W0, R0); *(R0, W0, R0, R0, W1, R1); *(R1, W1, R1, R1, W0, R0); m ðR0Þ. In [3], a shorter March test algorithm of length 22N, named March AB, was proposed for detection of FPs from the same classes of FPs dCF1, dCF2, dCF3 and dCF4: March AB (22N) [3]: m ðW1Þ; *(R1, W0, R0, W0, R0); *(R0, W1, R1, W1, R1); Ã(R1, W0, R0, W0, R0); Ã(R0, W1, R1, W1, R1); m ðR1Þ. We have synthesized two symmetric March test algorithms of length 22N and proved they are minimal for detection of the same set of dynamic FPs dCF1, dCF2, dCF3 and dCF4. Table 12 lists the two symmetric March Table 12. Minimal March tests MRAW.

Proof: Let us assume that there exists a March test of length 21N detecting all FPs from dCF1, dCF2, dCF3, dCF4. Taking into account the conditions of Lemma 4.3, we can conclude that the corresponding March-like sequence starts with sequence {Wx, Wy, Ry} where x, y

##

Test algorithms

a

m(W0); Ã(R0, W1, R1, W1, R1); Ã(R1, W0, R0, W0, R0); *(R0, W1, R1, W1, R1); *(R1, W0, R0, W0, R0); m(R0)

b

m(W0); Ã(R0, W1, R1, W1, R1); *(R1, W0, R0, W0, R0); *(R0, W1, R1, W1, R1); Ã(R1, W0, R0, W0, R0); m(R0)

66

Harutunyan, Vardanian and Zorian

test algorithms of minimum length 22N obtained by us and named March MRAWa and MRAWb. It should be noted that we can obtain new additional six symmetric March test algorithms with the same fault coverage (see [12]) from the algorithms MRAWa and MRAWb listed in Table 12 by applying the standard procedures of inverting all address directions or all data background patterns. In particular, March AB [3] can be obtained by the mentioned way from March MRAWa.

Theorem 4.1. March tests MRAWa and MRAWb (see Table 12) of length 22N are minimal for detection of all FPs from dCF1–dCF4. Proof: It can be checked manually or by a fault simulator that March tests MRAW detect all FPs from dCF1–dCF4. Then, taking into account Lemma 4.4, we can conclude that the theorem is proved.

Í

Introduce the following notations G21

{< z; xRxRx / ~x / x >, x, y, zZ{0, 1}};

G22

{< z; xRxWy / ~y / - >, x, y, zZ{0, 1}};

G2

G21UG22.

Lemma 4.5. If a March test M detects all FPs from G2 then it is necessary for M to contain at least two disjoint inseparable entries {Rx, Rx} followed by another operation Rx in the corresponding March-like sequence, and at least two inseparable entries {Rx, Wy} followed by another operation Ry in the corresponding March-like sequence, x, yZ{0, 1}. Proof: To detect FP1 = < z; xRxRx / ~x / x > from G21 (respectively, FP2 = < z; xRxWy / ~y / - > from G22), it is necessary for the corresponding March-like sequence to contain at least one entry of the sequences {Rx, Rx, Rx} (respectively, {Rx, Wy, Ry}). To detect the FP1 (respectively, FP2), the only way is to perform the operations from the sequence {Rx, Rx} (respectively, {Rx, Wy}) that is an inseparable entry for the March test M on the v-cell, when the v-cell value is x, and the a-cell value is z. The vcell state will be flipped into ~x (respectively, ~y). After performing operation Rx (respectively, Ry), that follows

Table 14. Detection of dRDF and dIRF. FP

Sensitization

Detection

< 0W0R0 / 1 / 1 >, < 0W0R0 / 0 / 1 >

M1(8), M1(9)

M1(9)

< 0W1R1 / 0 / 0 >, < 0W1R1 / 1 / 0 >

M3(1), M3(2)

M3(2)

< 1W0R0 / 1 / 1 >, < 1W0R0 / 0 / 1 >

M3(7), M3(8)

M3(8)

< 1W1R1 / 0 / 0 >, < 1W1R1 / 1 / 0 >

M1(2), M1(3)

M1(3)

< 0R0R0 / 1 / 1 >, < 0R0R0 / 0 / 1 >

M3(10), M3(11)

M3(11)

< 1R1R1 / 0 / 0 >, < 1R1R1 / 1 / 0 >

M3(4), M3(5)

M3(5)

immediately the sequence {Rx, Rx} (respectively, {Rx, Wy}), the FP will be detected. It is obvious that the sequence of operations Rx, Rx (respectively, Rx, Wy), which sensitizes the FP1 (respectively, FP2), with condition a < v (or a > v), cannot sensitize the FP3 = < ~z; xRxRx / ~x / x > from G21 (respectively, FP4 = < ~z; xRxWy / ~y / - > from G22) with the same condition a < v (or a > v) since the a-cell of the latter is in state ~z, while the former one is in state z. In order to sensitize FP1 and FP3, the March-like sequence should contain two disjoint inseparable entries of sequence {Rx, Rx}. In order to detect FP1 and FP3, the March-like sequence should contain at least one operation Rx which follows immediately after one of entries of sequence {Rx, Rx}. Thus, to detect the FP1, FP2, FP3 and FP4, it is necessary for the corresponding March-like sequence to contain at least two entries of each of the sequences {Rx, Wy, Ry} and {Rx, Rx, Rx}, x, yZ{0, 1}, where two entries of each sequence have intersection at most by one operation. The lemma is proved. For classes dCFrd and dCFir, we have obtained the following March tests: March MD7a (21N): m ðW0Þ; Ã(W1, R1, W1, R1, R1); Ã(W0, R0, W0, R0, R0); *(W1, R1, W1, R1, R1); *(W0, R0, W0, R0, R0); March MD7b (21N): m ðW0Þ; Ã(W1, R1, W1, R1, R1); *(W0, R0, W0, R0, R0); *(W1, R1, W1, R1, R1); Ã(W0, R0, W0, R0, R0).

Í

Theorem 4.2. March tests MD7a and MD7b of length 21N are minimal for detection of all FPs from dCFrd and dCFir.

Table 15. Detection of dDRDF. Table 13. Minimal March tests MD9. ## a

b

Test algorithms m(W0); Ã(R0, W1, R1, W1, R1, R1); Ã(R1, W0, R0, W0, R0, R0); *(R0, W1, R1, W1, R1, R1); *(R1, W0, R0, W0, R0, R0); m(R0) m(W0); Ã(R0, W1, R1, W1, R1, R1); *(R1, W0, R0, W0, R0, R0); *(R0, W1, R1, W1, R1, R1); Ã(R1, W0, R0, W0, R0, R0); m(R0)

FP

Sensitization

Detection

< 0W0R0 / 1 / 0 >

M3(9), M3(10)

M3(11)

< 0W1R1 / 0 / 1 >

M3(1), M3(2), M3(3), M3(4)

M3(5)

< 1W0R0 / 1 / 0 >

M3(7), M3(8), M3(9), M3(10)

M3(11)

< 1W1R1 / 0 / 1 >

M3(3), M3(4)

M3(5)

< 0R0R0 / 1 / 0 >

M3(10), M3(11)

M3(12)

< 1R1R1 / 0 / 1 >

M3(4), M3(5)

M3(6)

Minimal March Tests for Dynamic Faults in Random Access Memories Table 16. Detection of dTF. FP

67

Table 18. Detection of dCFdswr, a < v. Sensitization

Detection

FP

Sensitization

Detection

< 0W0W1 / 0 / - >

M1(13), M1(14), M1(15), M1(16)

M2(0)

< 0W0R0; 0 / 1 / - >

M1(8), M1(9)

M1(0)

< 0W1W0 / 1 / - >

M2(15), M2(16)

M3(0)

< 0W0R0; 1 / 0 / - >

M2(2), M2(3)

M2(0)

< 1W0W1 / 0 / - >

M1(15), M1(16)

M2(0)

< 1W0R0; 0 / 1 / - >

M4(1), M4(2)

M5(0)

< 1W1W0 / 1 / - >

M2(13), M2(14), M2(15), M2(16)

M3(0)

< 1W0R0; 1 / 0 / - >

M3(7), M3(8)

M4(0)

< 0R0W1 / 0 / - >

M3(0), M3(1)

M3(2)

< 0W1R1; 0 / 1 / - >

M4(7), M4(8)

M5(0)

< 1R1W0 / 1 / - >

M3(6), M3(7)

M3(8)

< 0W1R1; 1 / 0 / - >

M3(1), M3(2)

M4(0)

< 1W1R1; 0 / 1 / - >

M1(2), M1(3)

M1(0)

< 1W1R1; 1 / 0 / - >

M2(8), M2(9)

M2(0)

Proof: follows immediately from Lemma 4.2. We have obtained the following symmetric March tests of length 25N detecting all FPs from dCFdrd: March MD8a (25N): m ðW0Þ; Ã(W1, R1, W1, R1, R1, R1); Ã(W0, R0, W0, R0, R0, R0); *(R0, W1, R1, W1, R1, R1, R1); *(W0, R0, W0, R0, R0, R0). March MD8b (25N): m ðW0Þ; Ã(W1, R1, W1, R1, R1, R1); *(W0, R0, W0, R0, R0, R0); *(R0, W1, R1, W1, R1, R1, R1); Ã(W0, R0, W0, R0, R0, R0). March MD8 tests additionally detect all FPs from dCFrd and dCFir.

Í

Theorem 4.3. March tests MD8a and MD8b of length 25N are minimal for detection of all FPs from dCFdrd.

Proof: follows immediately from Lemmas 4.2 and 4.5. For detection of all FPs from dCFrd, dCFir, dCFdrd, dCFdswr, dCFdsrr, dCFdsrw, we have obtained two symmetric March tests MD9a and MD9b described in Table 13. It should be noted that we can obtain new additional six symmetric March test algorithms with the same fault coverage (see [12]) from the algorithms listed in Table 13 by applying the standard procedures of inverting all address directions or all data background patterns.

Í

Theorem 4.4. March tests MD9a and MD9b of length 26N are minimal for detection of all FPs from dCFrd, dCFir, dCFdrd, dCFdswr, dCFdsrr, dCFdsrw.

Corollary 4.2. The length of any March test for detection of all FPs sensitized by sequences of type Svv is at least 65N.

Proof: Taking into account the conditions of Lemma 4.1 and Lemma 4.5, if the March test detects all FPs sensitized by sequences of type Svv, it is necessary for the corresponding March-like sequence to contain: a) At least two entries of each of the sequences {W0, W1, R1}, {W1, W0, R0}, {W0, W0, R0} and {W1, W1, R1}, where W0 and W1 are not the initialization operation; b) At least two entries of each of the sequences {R0, W0, R0}, {R1, W1, R1}, {R0, W1, R1} and {R1, W0, R0}; c) At least two entries of each of the sequences {R0, R0, R0} and {R1, R1, R1}; Note that two entries of sequence {Rx, Rx, Rx} should have intersection at most by one operation, as required in Lemma 4.5. d) At least four disjoint entries of each of the sequences {W0, W1}, {W1, W0}, {W0, W0} and {W1, W1}, where W0 and W1 are not the initialization operation; e) Initialization operation Wx, x Z {0, 1}. From these conditions it follows that

Í

Proof: is analogous to that of Theorem 4.1.

Table 19. Detection of dCFdswr, a > v. FP

Sensitization

Detection

< 0W0R0; 0 / 1 / - >

M2(2), M2(3)

M3(0)

< 0W0R0; 1 / 0 / - >

M1(8), M1(9)

M2(0)

Table 17. Detection of dWDF. FP

Sensitization

Detection

< 0W0W0 / 1 / - >

M1(10), M1(11)

M1(12)

< 1W0R0; 0 / 1 / - >

M3(7), M3(8)

M3(0)

< 0W1W1 / 0 / - >

M1(1), M1(2)

M1(3)

< 1W0R0; 1 / 0 / - >

M4(1), M4(2)

M4(0)

< 1W0W0 / 1 / - >

M1(7), M1(8)

M1(9)

< 0W1R1; 0 / 1 / - >

M3(1), M3(2)

M3(0)

< 1W1W1 / 0 / - >

M1(4), M1(5)

M1(6)

< 0W1R1; 1 / 0 / - >

M4(7), M4(8)

M4(0)

< 0R0W0 / 1 / - >

M3(8), M3(9)

M3(10)

< 1W1R1; 0 / 1 / - >

M2(8), M2(9)

M3(0)

< 1R1W1 / 0 / - >

M3(2), M3(3)

M3(4)

< 1W1R1; 1 / 0 / - >

M1(2), M1(3)

M2(0)

68

Harutunyan, Vardanian and Zorian

Table 20. Detection of dCFdsww, a < v. FP

Sensitization

Table 22. Detection of dCFdsrw, a < v. Detection

FP

Sensitization

Detection



M1(10), M1(11)

M1(0)

< 0R0W0; 0 / 1 / - >

M1(9), M1(10)

M1(0)



M2(4), M2(5)

M2(0)

< 0R0W0; 1 / 0 / - >

M2(3), M2(4)

M2(0)



M1(7), M1(8)

M1(0)

< 0R0W1; 0 / 1 / - >

M1(0), M1(1)

M1(0)



M2(1), M2(2)

M2(0)

< 0R0W1; 1 / 0 / - >

M2(6), M2(7)

M2(0)



M1(13), M1(14)

M1(0)

< 1R1W0; 0 / 1 / - >

M1(6), M1(7)

M1(0)



M3(13), M3(14)

M4(0)

< 1R1W0; 1 / 0 / - >

M2(0), M2(1)

M2(0)



M1(15), M1(16)

M1(0)

< 1R1W1; 0 / 1 / - >

M1(3), M1(4)

M1(0)



M2(14), M2(15)

M2(0)

< 1R1W1; 1 / 0 / - >

M2(9), M2(10)

M2(0)



M1(14), M1(15)

M1(0)



M2(15), M2(16)

M2(0)



M4(13), M4(14)

M5(0)



M2(13), M2(14)

M2(0)



M1(1), M1(2)

M1(0)



M2(7), M2(8)

M2(0)



M1(4), M1(5)

M1(0)



M2(10), M2(11)

M2(0)

f) The minimum length of all March-like sequences, satisfying the condition a), is 24; Since the sequences listed in point a) have no intersection with each other, then any March-like sequence should contain at least 24 operations. g) The minimum length of all March-like sequences, satisfying the conditions a), b), is 40; Each sequence listed in point b) has intersection with another sequence listed in points a), b) exactly with one operation, or does not have intersection at all.

Table 21. Detection of dCFdsww, a > v. FP

Sensitization

Detection



M2(4), M2(5)

M3(0)



M1(10), M1(11)

M2(0)



M2(1), M2(2)

M3(0)

h) The minimum length of all March-like sequences, satisfying the conditions a), b), c), is 48. Each sequence listed in point c) has intersection with another sequence listed in points a), b), c) exactly with one operation, or does not have intersection at all. Note that two entries of sequence {Rx, Rx, Rx} should have intersection at most by one operation, as is required in Lemma 4.5. i) The minimum length of all March-like sequences, satisfying the conditions a), b), c), d), is 64. Any March-like sequence of length 48, satisfying the conditions a), b), c), contains exactly two entries of each of the sequences {W0, W1}, {W1, W0}, {W0, W0} and {W1, W1}, where W0 and W1 are not the initialization operation. To satisfy the condition d), at least 16 operations should be added. Thus, the March like-sequence should contain at least 64 operations. j) The minimum length of all March-like sequences, satisfying the conditions a), b), c), d), e), is 65.

Í

Since initialization operation Wx, x Z {0, 1} has no intersection with each sequence listed in points a), b), c), d), then from point i) we obtain directly the assertion of point j) and the Corollary is proved. Lemma 4.6. For any March test of length 65N that detects all FPs sensitized by sequences of type Svv, the corresponding March-like sequence should start with sequence {Wx, Wy} where x, y Z {0, 1}.



M1(7), M1(8)

M2(0)



M3(13), M3(14)

M3(0)



M1(13), M1(14)

M2(0)



M2(14), M2(15)

M3(0)



M1(15), M1(16)

M2(0)



M2(15), M2(16)

M3(0)

< 0R0W0; 0 / 1 / - >

M2(3), M2(4)

M3(0)



M1(14), M1(15)

M2(0)

< 0R0W0; 1 / 0 / - >

M1(9), M1(10)

M2(0)



M2(13), M2(14)

M3(0)

< 0R0W1; 0 / 1 / - >

M2(6), M2(7)

M3(0)



M4(13), M4(14)

M4(0)

< 0R0W1; 1 / 0 / - >

M1(0), M1(1)

M2(0)



M2(7), M2(8)

M3(0)

< 1R1W0; 0 / 1 / - >

M2(0), M2(1)

M3(0)



M1(1), M1(2)

M2(0)

< 1R1W0; 1 / 0 / - >

M1(6), M1(7)

M2(0)



M2(10), M2(11)

M3(0)

< 1R1W1; 0 / 1 / - >

M2(9), M2(10)

M3(0)



M1(4), M1(5)

M2(0)

< 1R1W1; 1 / 0 / - >

M1(3), M1(4)

M2(0)

Table 23. Detection of dCFdsrw, a > v. FP

Sensitization

Detection

Minimal March Tests for Dynamic Faults in Random Access Memories Table 24. Detection of dCFdsrr, a < v. FP

Sensitization

69

Table 26. Detection of dCFrd and dCFir, a < v. Detection

FP

Sensitization

Detection

< 0R0R0; 0 / 1 / - >

M4(4), M4(5)

M5(0)

< 0; 0W0R0 / 1 / 1 >, < 0; 0W0R0 / 0 / 1 > M2(2), M2(3)

M2(3)

< 0R0R0; 1 / 0 / - >

M3(10), M3(11)

M4(0)

< 0; 1W0R0 / 1 / 1 >, < 0; 1W0R0 / 0 / 1 > M3(7), M3(8)

M3(8)

< 0R1R1; 0 / 1 / - >

M4(10), M4(11)

M5(0)

< 1; 0W0R0 / 1 / 1 >, < 1; 0W0R0 / 0 / 1 > M1(8), M1(9)

M1(9)

< 0R1R1; 1 / 0 / - >

M3(4), M3(5)

M4(0)

< 1; 1W0R0 / 1 / 1 >, < 1; 1W0R0 / 0 / 1 > M4(1), M4(2)

M4(2)

< 0; 0W1R1 / 0 / 0 >, < 0; 0W1R1 / 1 / 0 > M3(1), M3(2)

M3(2)

< 0; 1W1R1 / 0 / 0 >, < 0; 1W1R1 / 1 / 0 > M2(8), M2(9)

M2(9)

< 1; 0W1R1 / 0 / 0 >, < 1; 0W1R1 / 1 / 0 > M4(7), M4(8)

M4(8)

< 1; 1W1R1 / 0 / 0 >, < 1; 1W1R1 / 1 / 0 > M1(2), M1(3)

M1(3)

< 0; 0R0R0 / 1 / 1 >, < 0; 0R0R0 / 0 / 1 > M3(10), M3(11)

M3(11)

< 0; 1R1R1 / 0 / 0 >, < 0; 1R1R1 / 1 / 0 > M3(4), M3(5)

M3(5)

< 1; 0R0R0 / 1 / 1 >, < 1; 0R0R0 / 0 / 1 > M4(4), M4(5)

M4(5)

< 1; 1R1R1 / 0 / 0 >, < 1; 1R1R1 / 1 / 0 > M4(10), M4(11)

M4(11)

Proof: The proof can be obtained in the same way as that of Lemma 4.3.

Í

Lemma 4.7. Any March test of length 65N, that detects all FPs sensitized by sequences of type Svv, consists of at least two March elements of the form m ðW0; W0; . . .Þ, and at least two March elements of the form m ðW1; W1; . . .Þ.

Í

Proof: From the proof of Corollary 4.2, it follows immediately that for any March test of length 65N that detects all FPs sensitized by sequences of type Svv, the corresponding March-like sequence should contain exactly four disjoint entries of each of the sequences {W0, W0} and {W1, W1}, and exactly two entries of each of the sequences {W0, W0, R0} and {W1, W1, R1}. For detection of all eight FPs < x; yWzWz / ~z / - >, x, y, z Z {0, 1}, the corresponding March-like sequence should contain exactly two entries of each of the following sequences: {O(1), W0, W0, W0, W0, R0} and {O(0), W1, W1, W1, W1, R1}. Suppose this is not true. Then, if the two entries of {Wx, Wx}, x Z {0, 1}, would not follow each other immediately, there would be necessary to add an additional operation Rx after each entry {Wx, Wx} that is not followed by Rx otherwise the FP sensitized by the corresponding entry {Wx, Wx} could not be detected. However, this is not possible, since in this case we would have at least four entries {Wx, Wx, Rx}, x Z {0, 1}, in the March-like sequence which would be a contradiction. O(~x) is necessary in sequence {O(~x), Wx, Wx, Wx, Wx, Rx} to sensitize one of the FPs < 0; ~xWxWx / ~x / - > and < 1; ~xWxWx / ~x / - >, x Z {0, 1}, otherwise none of them would be sensitized. From Lemma 4.1, it follows that in this case there is at least one FP which will not be detected by the March test.

Table 25. Detection of dCFdsrr, a > v. FP

Sensitization

It is easy to check that the only way to sensitize and detect the eight FPs < x; yWzWz / ~z / - >, x, y, z Z {0, 1}, is when the following condition is satisfied: the March test should contain at least two entries of each of the sequences fm ð. . . ; W0; W0Þ; m ðW0; W0; . . .Þg and fm ð. . . ; W1; W1Þ; m ðW1; W1; . . .Þg. Let us show that at least one FP will not be detected by the March test if other ways are used to construct March tests from the March-like sequence satisfying the conditions described above. From Lemma 4.2, it follows that the first and the second (respectively, the third and the fourth) operations Wx from sequence {O(~x), Wx, Wx, Wx, Wx, Rx} should be in the same March element. Consequently, an alternative way to construct a March test is that a March element should contain all four operations Wx from sequence {O(~x),

Í

Table 27. Detection of dCFrd and dCFir, a > v. FP

Sensitization

Detection

< 0; 0W0R0 / 1 / 1 >, < 0; 0W0R0 / 0 / 1 > M1(8), M1(9)

M1(9)

< 0; 1W0R0 / 1 / 1 >, < 0; 1W0R0 / 0 / 1 > M4(1), M4(2)

M4(2)

< 1; 0W0R0 / 1 / 1 >, < 1; 0W0R0 / 0 / 1 > M2(2), M2(3)

M2(3)

< 1; 1W0R0 / 1 / 1 >, < 1; 1W0R0 / 0 / 1 > M3(7), M3(8)

M3(8)

< 0; 0W1R1 / 0 / 0 >, < 0; 0W1R1 / 1 / 0 > M4(7), M4(8)

M4(8)

< 0; 1W1R1 / 0 / 0 >, < 0; 1W1R1 / 1 / 0 > M1(2), M1(3)

M1(3)

< 1; 0W1R1 / 0 / 0 >, < 1; 0W1R1 / 1 / 0 > M3(1), M3(2)

M3(2)

< 1; 1W1R1 / 0 / 0 >, < 1; 1W1R1 / 1 / 0 > M2(8), M2(9)

M2(9)

Detection

< 0; 0R0R0 / 1 / 1 >, < 0; 0R0R0 / 0 / 1 > M4(4), M4(5)

M4(5)

< 0; 1R1R1 / 0 / 0 >, < 0; 1R1R1 / 1 / 0 > M4(10), M4(11)

M4(11)

< 0R0R0; 0 / 1 / - >

M3(10), M3(11)

M3(0)

< 0R0R0; 1 / 0 / - >

M4(4), M4(5)

M4(0)

M3(4), M3(5)

M3(0)

< 1; 0R0R0 / 1 / 1 >, < 1; 0R0R0 / 0 / 1 > M3(10), M3(11)

M3(11)

< 0R1R1; 0 / 1 / - > < 0R1R1; 1 / 0 / - >

M4(10), M4(11)

M4(0)

< 1; 1R1R1 / 0 / 0 >, < 1; 1R1R1 / 1 / 0 > M3(4), M3(5)

M3(5)

70

Harutunyan, Vardanian and Zorian

Table 28. Detection of dCFdrd, a < v.

Table 31. Detection of dCFtr, a > v.

FP

Sensitization

Detection

FP

Sensitization

Detection

< 0; 0W0R0 / 1 / 0 >

M3(9), M3(10)

M3(11)

< 0; 0W0W1 / 0 / - >

M1(13), M1(14), M1(15), M1(16)

M2(0)

< 0; 1W0R0 / 1 / 0 >

M3(7), M3(8), M3(9), M3(10)

M3(11)

< 0; 1W0W1 / 0 / - >

M1(15), M1(16)

M2(0)

< 1; 0W0R0 / 1 / 0 >

M4(3), M4(4)

M4(5)

< 1; 0W0W1 / 0 / - >

M3(13), M3(14), M3(15), M3(16)

M4(0)

< 1; 1W0R0 / 1 / 0 >

M4(1), M4(2), M4(3), M4(4)

M4(5)

< 1; 1W0W1 / 0 / - >

M3(15), M3(16)

M4(0)

< 0; 0W1R1 / 0 / 1 >

M3(1), M3(2), M3(3), M3(4)

M3(5)

< 0; 0W1W0 / 1 / - >

M4(15), M4(16)

M5(0)

< 0; 1W1R1 / 0 / 1 >

M3(3), M3(4)

M3(5)

< 0; 1W1W0 / 1 / - >

M4(13), M4(14), M4(15), M4(16)

M5(0)

< 1; 0W1R1 / 0 / 1 >

M4(7), M4(8), M4(9), M4(10)

M4(11)

< 1; 0W1W0 / 1 / - >

M2(15), M2(16)

M3(0)

< 1; 1W1R1 / 0 / 1 >

M4(9), M4(10)

M4(11)

< 1; 1W1W0 / 1 / - >

M2(13), M2(14), M2(15), M2(16)

M3(0)

< 0; 0R0R0 / 1 / 0 >

M3(10), M3(11)

M3(12)

< 0; 0R0W1 / 0 / - >

M4(6), M4(7)

M4(8)

< 0; 1R1R1 / 0 / 1 >

M3(4), M3(5)

M3(6)

< 0; 1R1W0 / 1 / - >

M4(0), M4(1)

M4(2)

< 1; 0R0R0 / 1 / 0 >

M4(4), M4(5)

M4(6)

< 1; 0R0W1 / 0 / - >

M3(0), M3(1)

M3(2)

< 1; 1R1R1 / 0 / 1 >

M4(10), M4(11)

M4(12)

< 1; 1R1W0 / 1 / - >

M3(6), M3(7)

M3(8)

Detection

Wx, Wx, Wx, Wx, Rx}. Then it will sensitize one of the FPs < 0; xWxWx / ~x / - > and < 1; xWxWx / ~x / - >, x Z {0, 1}, by the second and the third Wx, but the FP will not be detected since the next operation is not a Read operation, but the fourth Wx. Taking into account the quantity of entries {Wx, Wx}, which is exactly four, and the proofs of Lemmas 4.1 and 4.2, we can conclude that the mentioned FP would not be detected. Thus, we have proved the lemma.

Table 29. Detection of dCFdrd, a > v. FP

Sensitization

< 0; 0W0R0 / 1 / 0 >

M4(3), M4(4)

M4(5)

< 0; 1W0R0 / 1 / 0 >

M4(1), M4(2), M4(3), M4(4)

M4(5)

< 1; 0W0R0 / 1 / 0 >

M3(9), M3(10)

M3(11)

< 1; 1W0R0 / 1 / 0 >

M3(7), M3(8), M3(9), M3(10)

M3(11)

< 0; 0W1R1 / 0 / 1 >

M4(7), M4(8), M4(9), M4(10)

M4(11)

< 0; 1W1R1 / 0 / 1 >

M4(9), M4(10)

M4(11)

< 1; 0W1R1 / 0 / 1 >

M3(1), M3(2), M3(3), M3(4)

M3(5)

< 1; 1W1R1 / 0 / 1 >

M3(3), M3(4)

M3(5)

< 0; 0R0R0 / 1 / 0 >

M4(4), M4(5)

M4(6)

< 0; 1R1R1 / 0 / 1 >

M4(10), M4(11)

M4(12)

< 1; 0R0R0 / 1 / 0 >

M3(10), M3(11)

M3(12)

< 1; 1R1R1 / 0 / 1 >

M3(4), M3(5)

M3(6)

Table 30. Detection of dCFtr, a < v.

Lemma 4.8. Any March test detecting all FPs sensitized by sequences of types Saa and Svv has at least 70N operations.

Proof: From Corollary 4.2, it follows that any March test, detecting all FPs sensitized by sequences of type Svv, has at least 65N operations. From Lemma 4.6, it follows that the corresponding March-like sequence starts with sequence {Wx, Wy}. If a March test of length 65N Table 32. Detection of dCFwd, a < v.

FP

Sensitization

Detection

FP

Sensitization

Detection

< 0; 0W0W1 / 0 / - >

M3(13), M3(14), M3(15), M3(16)

M4(0)

< 0; 0W0W0 / 1 / - >

M2(4), M2(5)

M2(6)

< 0; 1W0W1 / 0 / - >

M3(15), M3(16)

M4(0)

< 0; 1W0W0 / 1 / - >

M2(1), M2(2)

M2(3)

< 1; 0W0W1 / 0 / - >

M1(13), M1(14), M1(15), M1(16)

M2(0)

< 1; 0W0W0 / 1 / - >

M1(10), M1(11)

M1(12)

< 1; 1W0W1 / 0 / - >

M1(15), M1(16)

M2(0)

< 1; 1W0W0 / 1 / - >

M1(7), M1(8)

M1(9)

< 0; 0W1W0 / 1 / - >

M2(15), M2(16)

M3(0)

< 0; 0W1W1 / 0 / - >

M2(7), M2(8)

M2(9)

< 0; 1W1W0 / 1 / - >

M2(13), M2(14), M2(15), M2(16)

M3(0)

< 0; 1W1W1 / 0 / - >

M2(10), M2(11)

M2(12)

< 1; 0W1W0 / 1 / - >

M4(15), M4(16)

M5(0)

< 1; 0W1W1 / 0 / - >

M1(1), M1(2)

M1(3)

< 1; 1W1W0 / 1 / - >

M4(13), M4(14), M4(15), M4(16)

M5(0)

< 1; 1W1W1 / 0 / - >

M1(4), M1(5)

M1(6)

< 0; 0R0W1 / 0 / - >

M3(0), M3(1)

M3(2)

< 0; 0R0W0 / 1 / - >

M3(8), M3(9)

M3(10)

< 0; 1R1W0 / 1 / - >

M3(6), M3(7)

M3(8)

< 0; 1R1W1 / 0 / - >

M3(2), M3(3)

M3(4)

< 1; 0R0W1 / 0 / - >

M4(6), M4(7)

M4(8)

< 1; 0R0W0 / 1 / - >

M4(2), M4(3)

M4(4)

< 1; 1R1W0 / 1 / - >

M4(0), M4(1)

M4(2)

< 1; 1R1W1 / 0 / - >

M4(8), M4(9)

M4(10)

Minimal March Tests for Dynamic Faults in Random Access Memories Table 33. Detection of dCFwd, a > v. FP

Sensitization

Detection

< 0; 0W0W0 / 1 / - >

M1(10), M1(11)

M1(12)

< 0; 1W0W0 / 1 / - >

M1(7), M1(8)

M1(9)

< 1; 0W0W0 / 1 / - >

M2(4), M2(5)

M2(6)

< 1; 1W0W0 / 1 / - >

M2(1), M2(2)

M2(3)

< 0; 0W1W1 / 0 / - >

M1(1), M1(2)

M1(3)

< 0; 1W1W1 / 0 / - >

M1(4), M1(5)

M1(6)

< 1; 0W1W1 / 0 / - >

M2(7), M2(8)

M2(9)

< 1; 1W1W1 / 0 / - >

M2(10), M2(11)

M2(12)

< 0; 0R0W0 / 1 / - >

M4(2), M4(3)

M4(4)

< 0; 1R1W1 / 0 / - >

M4(8), M4(9)

M4(10)

< 1; 0R0W0 / 1 / - >

M3(8), M3(9)

M3(10)

< 1; 1R1W1 / 0 / - >

M3(2), M3(3)

M3(4)

(respectively, 66N, 67N, 68N, 69N) satisfies the conditions a), b), c), d), e) in the proof of Corollary 4.2, then, from Lemma 4.7, it immediately follows that there are at least four (respectively, 3, 2, 1, 0) March elements which do not start with a Read operations. On the other hand, it is obvious that a March element is not able to detect any dCFds if it does not start with a Read operation. If a March test of length 65N (respectively, 66N, 67N, 68N, 69N) satisfies the conditions a), b), c), d), e) in the proof of Corollary 4.2, then we need at least four (respectively, 3, 2, 1, 0) Read operations to be added to the March test in order to detect additional FPs sensitized by sequences of type Saa. However, some FPs < xWyQ; z / ~z / - >, x, y, z Z {0, 1}, QZ{Ry, Wy, W(~y)}, sensitized by sequences of type Saa, are not yet detected by the March test, since the corresponding March-like sequence starts with sequence {Wx, Wy, Q}. To detect all FPs sensitized

71

by sequences of type Saa, at least one additional Read operation should be added. Thus, any March test detecting all FPs sensitized by sequences of types Saa and Svv has at least 70N operations. Hence, the proposition of Lemma 4.8 follows.

Í

Theorem 4.5 Any minimal March test detecting all two-operation single-cell dynamic faults, as well as all FPs sensitized by sequences of types Saa and Svv, has exactly 70N operations. Proof: It is easy to verify manually or by using a fault simulator that the test MD2 of length 70N detects all FPs sensitized by sequences of types Saa and Svv: Tables 14, 15, 16, 17 and 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 show, respectively, for all single-cell and two-cell, FPs sensitized by sequences of types Saa and Svv. In tables, Mi(j) denotes jth operation of ith March element, i Q 0, j Q 0. It should be noted that in Tables 15, 16, 28,29,30,31, for sensitization of some FPs we have four operations instead of two as it is usual for the other FPs. For example, entry 2 in Table 28 describes the sensitization and detection conditions for FP< 0; 1W0R0 / 1 / 0 >. Four operations M3(7) = W0, M3(8) = R0, M3(9) = W0, M3(10) = R0 from March MD2, sensitize the FP twice since M2 fills the memory with 0s and M3(6) = R1. According to the FP description, the first sequence {M3(7), M3(8)} remains the cell at 1, and the second sequence {M3(9), M3(10)} again remains the cell at 1. Finally, the detection condition from Table 28, corresponding to the FP under consideration, M3(11) = R0 will detect the FP. Thus, taking into account Lemma 4.8, we can conclude that the theorem is proved.

Í

Table 34. List of proposed minimal March test algorithms and their comparison with other algorithms. Minimal March test algorithms

Length

FPs detected by the test

March MRAW1

11N

dF1–dF3

Known March test algorithms that are improved

Length

March RAW1 [6]

13N

March AB1 [3]

11N

March MD3

11N

dIRF, dRDF





March MD4

13N

dIRF, dRDF, dDRDF





March MD5

15N

dWDF





March MD6

15N

dTF





March MD7

21N

dCFrd and dCFir





March MRAW

22N

dCF1–dCF4

March RAW [6]

26N

March MD8

25N

March AB [3]

22N

dCFrd, dCFir and dCFdrd



– –

March MD9

26N

dCFrd, dCFir, dCFdrd, dCFdswr, dCFdsrw and dCFdsrr



March MD1

33N

All single-cell two-operation dynamic faults





March MD2

70N

All single-cell two-operation dynamic faults, all FPs sensitized by sequences of types Saa and Svv

March 100N [2]

100N

72

Harutunyan, Vardanian and Zorian

Table 35. Dynamic fault coverage of proposed minimal March tests and their comparison with other tests.

FFM

March AB1 (11N) [3]

March MRAW1b (11N)

dRDF

6/6

6/6

6/6

4/6

6/6

6/6

6/6

6/6

dIRF

6/6

6/6

6/6

4/6

6/6

6/6

6/6

6/6

dDRDF

4/6

4/6

4/6

4/6

4/6

6/6

6/6

6/6

dTF

0/6

1/6

0/6

2/6

2/6

2/6

6/6

6/6

dWDF

2/6

2/6

0/6

2/6

2/6

2/6

6/6

6/6

dCFdswr

0/16

0/16

4/16

16/16

16/16

16/16

16/16

16/16

dCFdsww

0/32

0/32

0/32

0/32

0/32

0/32

32/32

32/32

dCFdsrw

0/16

0/16

0/16

16/16

16/16

16/16

16/16

16/16

dCFdsrr

0/8

0/8

0/8

0/8

8/8

8/8

8/8

8/8

dCFrd

12/24

12/24

8/24

16/ 24

24/24

24/24

24/24

24/24

dCFir

12/24

12/24

8/24

16/24

24/24

24/24

24/24

24/24

dCFdrd

8/24

8/24

8/24

16/24

16/24

24/24

24/24

24/24

dCFtr

0/24

2/24

0/24

8/24

8/24

8/24

24/24

24/24

dCFwd

4/24

4/24

0/24

8/24

8/24

8/24

24/24

24/24

Total

54/222

57/222

44/222

112/222

140/222

150/222

222/222

222/222

%

24.32%

25.67%

19.82%

50.45%

63%

67.57%

100%

100%

March RAW1 (13N) [6]

March AB (22N) [3]

Table 34 lists the new minimal March test algorithms proposed in this paper for detection of two-operation dynamic faults. Table 35 compares the fault coverage of some March tests proposed in this paper with that of the previously known March tests for dynamic faults. In Table 35, the dividend of a fraction denotes the number of FPs a March test detects, and the divisor denotes the number of all FPs of the corresponding FFM. For example, the test March MRAW1b is better than the tests March AB1 and RAW1, since it detects more FPs for all FFMs. E.g., March MRAW1b detects 2 of the 24 FPs for the FFM dCFtr while the other two tests detect none of the FPs of dCFtr. From comparisons in Table 35, we can conclude that March MD9, proposed in this paper, is better than RAW [6]. March MD2, proposed in this paper, has the same 100% fault coverage, as March 100N [3] with respect to the listed class of FFMs but its length is shorter by 30N.

Lemma 4.9. March MD2 detects all realistic unlinked and linked static faults.

March RAW (26N) [6]

March MD9a, MD9b (26N)

March 100N (100N) [2]

March MD2 (70N)

Proof: We have checked manually and by our fault simulator that March MD2 detects all unlinked and linked static faults (see [10, 11]). As a corollary from Lemma 4.9 and Theorem 4.5, we obtain the following proposition. Theorem 4.6. March MD2 of length 70N is a minimal test for detection of all unlinked and linked static FPs, as well as all two-operation single-cell dynamic faults and all FPs sensitized by sequences of types Saa and Svv. In Table 36, we have compared March MD2 of length 70N with other known tests March SL (see [10]) of length 41N and March 100N (see [2]) with respect to coverage of unlinked and linked static faults. As we can see from Table 36, March MD2 covers 100% of all unlinked and linked static faults, as well as all FPs sensitized by sequences of types Saa and Svv. March SL [10] covers all unlinked and linked static faults but does not cover the classes of all single-cell dynamic faults, as well as all FPs sensitized by sequences of types Saa and Svv. To prove this, it is sufficient to notice

Table 36. Comparison of the proposed March MD2 test (70N) with other tests with respect to coverage of unlinked and linked static faults.

March test

Length

Unlinked static faults

Static linked faults

All single-cell two-operation dynamic faults

All FPs sensitized by sequences of types Saa and Svv

March SL

41N

+

+

j

j

March 100N

100N

+

j

+

+

MD2

70N

+

+

+

+

Minimal March Tests for Dynamic Faults in Random Access Memories that from Lemma 3.4, it follows that if a March test detects the FPs from dDRDF then it is necessary for the corresponding March-like sequence to contain at least one entry {Rx, Rx, Rx}, x Z {0, 1}. Also, notice that from Lemma 4.5, it follows that if a March test detects the FPs from dCFdrd then it is necessary for the corresponding March-like sequence to contain at least two entries {Rx, Rx, Rx}, x Z {0, 1}. Since the March-like sequence corresponding to March SL does not contain any such entry {Rx, Rx, Rx}, x Z {0, 1}, then, obviously, March SL does not detect FPs from dDRDF and dCFdrd. March 100N [2] covers all unlinked static faults and all FPs sensitized by sequences of types Saa and Svv but does not cover the class of all linked static FPs. To prove this, let us consider an example of a linked static fault from class LF2aa (see [2, 10, 11]) and show that March 100N does not detect it. Suppose FP1= , FP2 = . Then one can easily check manually that the static linked fault FP1YFP2 Z LF2aa with condition a > v, is not detected by March 100N. Thus, we can conclude that March MD2 is the best test among the March tests listed in Table 36 with respect to the considered set of all unlinked and linked static FPs, as well as all two-operation single-cell dynamic faults and all FPs sensitized by sequences of types Saa and Svv. 5.

Conclusions

The class of dynamic faults has been recently shown to be an important class of faults for the new technologies of Random Access Memories (RAM) with significant impact on DPM levels. Very little research has been done in the design of memory test algorithms targeting dynamic faults. For reduction of the testing time it is important to develop test algorithms of minimal length, i.e., with minimum number of operations sufficient for detection of the FFMs under consideration. In this paper, for the first time, minimal March test algorithms are proposed for detection of all two-operation single-cell and special subclasses of two-cell dynamic faults in RAMs. In particular, a 33N minimal March test algorithm is introduced for detection of all two-operation single-cell dynamic faults. A 70N minimal March test is proposed for detection of special subclasses of two-operation single-cell and two-cell dynamic faults, improving by 30N the length of a test with the same fault coverage proposed in [2].

References 1. R.D. Adams and E.S. Cooley, BAnalysis of Deceptive Read Destructive Memory Fault Model and Recommended Testing,’’ Proc. of IEEE North Atlantic Test Workshop, pp. 27–32, 1996. 2. A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, and P. Prinetto, BAutomatic March Test Generation for Static and Dynamic Faults, in SRAMs,’’ Proc. ETS 2005, Tallinn, pp. 122–127, 2005.

73

3. A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, and P. Prinetto, March AB, March AB1: New March Tests for Unlinked Dynamic Memory Faults, ITC 2005, pp. 468–476. 4. L. Dilillo, P. Girard, S. Pravossoudovitch, and A. Virazel, BDynamic Read Destructive Fault in Embedded-SRAMs: Analysis and March Test Solution,’’ in Proc. IEEE European Test Symposium (ETS’04), 2004, pp. 140–145. 5. S. Hamdioui, A.J. van de Goor, and M. Rodgers, BMarch SS: A Test for all Static Simple Faults,’’ Records of IEEE Int. Workshop MTDT, 2002, pp. 95–100. 6. S. Hamdioui, Z. Al-Ars, and A.J. van de Goor, BTesting Static and Dynamic Faults in Random Access Memories,’’ in Proc. of IEEE VLSI Test Symposium, 2002, pp. 395–400. 7. S. Hamdioui, G.N. Gaydadjiev, and A.J.van de Goor, BA Fault Primitive Based Analysis of Dynamic Memory Faults,’’ IEEE 14th Annual Workshop on Circuits, Systems and Signal Processing, Veldhoven, the Netherlands, 2003, pp 84–89. 8. S. Hamdioui, R. Wadsworth, J.D. Reyes, and A.J. van de Goor, BImportance of Dynamic Faults for New SRAM Technologies,’’ in Proc. of IEEE European Test Workshop, 2003, pp. 29–34. 9. S. Hamdioui, Z. Al-Ars, A.J. van de Goor, and M. Rodgers, BDynamic Faults in Random-Access-Memories: Concept, Fault Models and Tests,’’ Journal of Electronic Testing: Theory and Applications, vol. 19, pp. 195–205, 2003. 10. S. Hamdioui, A.J. van de Goor, and M. Rodgers, BLinked Faults in Random Access Memories: Concept, Fault Models, Test Algorithms, and Industrial Results,’’ IEEE Trans. CAD, vol. 23, no. 5, pp. 737–756, May 2004. 11. G. Harutunyan, V.A. Vardanian, and Y. Zorian, BMinimal March Test Algorithm for Detection of Linked Static Faults in Random Access Memories,’’ in Proc. IEEE VLSI Test Symposium, 2006. 12. A.J. van de Goor, Testing semiconductor memories: Theory and Practice, Chichester, England, Wiley, 1991. 13. A.J. van de Goor and I.B.S. Tlili, BMarch tests for word-oriented memories,’’ Proc. DATE, 1998, pp. 501–508. 14. A.J. van de Goor and Z. Al-Ars, BFunctional Fault Models: A Formal Notation and Taxonomy,’’ in Proc. of IEEE VLSI Test Symposium, 2000, pp. 281–289.

Gurgen Harutunyan received his degree from Yerevan State University, Armenia in 2003 and master_s degree in 2005. He is currently working toward his PhD degree at the same university. He works for Virage Logic Corporation, Yerevan Branch. His research interests include fault detection, diagnosis and location of faults in memory devices. He has published 7 papers in the area of memory testing.

Valerie Vardanian received his University degree with honors from Yerevan State University, Armenia. He received his PhD degree from Moscow State University, Russia. He has worked at the Armenian National Academy of Sciences as a Senior Research Associate. Currently he works at the Yerevan Branch of Virage Logic Corporation as Manager of the Test and Repair Methodology group. He also teaches at the Yerevan State University as an adjunct professor (out of campus). His research interests include algorithmic issues of memory test, diagnosis and repair, design for testability and inductive fault analysis. He has published more than 50 papers on testing, diagnosis and repair of memories, as well as complexity issues of testing digital circuits.

74

Harutunyan, Vardanian and Zorian

Y. Zorian is the vice president and chief scientist of Virage Logic Corporation and an adjunct professor at the University of British Columbia. Previously a distinguished member of technical staff at AT&T Bell Laboratories and chief technology advisor of LogicVision. Dr. Zorian received an MSc from the University of Southern California and a PhD from McGill University. He served as the IEEE Computer Society vice president for conferences and tutorials, vice president for

Technical Activities, chair of the IEEE Test Technology Technical Council, and editor in chief of IEEE Design & Test of Computers. He has authored over 300 papers, holds 13 US patents, and received numerous best-paper awards and Bell Labs_ R&D Achievement Award. An IEEE Fellow, he was selected by EE Times among the top 13 influencers on the semiconductor industry. Dr. Zorian was the 2005 recipient of the prestigious IEEE Industrial Pioneer Award.