Minimal March Tests for Dynamic Faults in Random Access Memories

0 downloads 0 Views 197KB Size Report
Minimal March Tests for Dynamic Faults in Random Access Memories. G. Harutunyan. V.A. Vardanian. Y. Zorian. Virage Logic. Virage Logic. Virage Logic.
Minimal March Tests for Dynamic Faults in Random Access Memories G. Harutunyan V.A. Vardanian Virage Logic Virage Logic 15/1 Khorenatsi str., Yerevan 15/1 Khorenatsi str., Yerevan 375010, Armenia 375010, Armenia [email protected] [email protected] 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 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 earlier by other authors. Also a March test of complexity 100N was proposed by them for detection of two-cell dynamic faults with two fault-sensitizing operations both applied on the victim or aggressor cells. In this paper, for the first time, minimal March test algorithms are proposed for two-operation singlecell and two-cell dynamic faults. The previously known March test algorithm for detection of two-operation two-cell dynamic faults is improved by 30N.

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. To optimize a fault detection algorithm for a given memory, there are two ways for enhancement: 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 [1]) 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.

Proceedings of the Eleventh IEEE European Test Symposium (ETS’06) 0-7695-2566-0/06 $20.00 © 2006

IEEE

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

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) [1] defined on the basis of fault primitives (FP) (see [2], [3]). In addition to the previously known static FFMs [1], in [4]-[8], 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 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 [7] two March test algorithms RAW1 of length 13N and RAW of length 26N, N is the number of memory cells, for classes of single-cell and two-cell dynamic faults, respectively, were proposed. In [9] two March test algorithms, March AB1 of length 11N and March AB of length 22N, for classes of single-cell and two-cell dynamic faults, respectively, were proposed improving the length of those proposed in [7]. In [10], a March test algorithm of length 100N was proposed for detection of two-cell dynamic faults with two faultsensitizing operations both applied on the victim or aggressor cells. Note that the proposed test appeared to be redundant, i.e. an operation can be removed from the test without any impact on the fault coverage. In this paper, we considered the class of twooperation 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 Random Access Memories, 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. The March test algorithm of length 100N proposed in [10] is reduced by 30N operations. Additionally, it has been shown that the 70N test detects also all realistic unlinked and linked static faults.

2. Main notations The definition of the fault primitive concept used to define the dynamic fault memory space can be found in [5]-[8]. For a given memory failure, denotes a fault primitive 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, and R∈{0, 1, -} is the result of the Read operation of S applied to the faulty cell in case S ends with operation Read. A “-” in R means the output data is not applicable. A functional fault model is defined (see [5]-[8]) as a non-empty set of fault primitives. 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 only be sensitized by performing more than one operation sequentially, i.e. #S>1. In [5]-[8], 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 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, and two-cell FPs or coupling FPs that involve two cells; i.e, #C=2. In the sequel, we will consider both 1-cell and 2-cell dynamic FPs. In [5]-[8], 2-operation 1-cell and 2-cell dynamic faults were considered as the most important subclass of the class of all dynamic faults. A 2-operation 1-cell dynamic FP is sensitized by applying two-operations sequentially to a single cell. In [5], a total of 30 2-operation 1-cell dynamic FPs were described and compiled into a set of 5 FFMs (see Table 1): 1. Dynamic Read Destructive Fault (dRDF), 2. Dynamic Incorrect Read Fault (dIRF), 3. Dynamic Deceptive Read Destructive Fault (dDRDF), 4. Dynamic Transition Fault (dTF), 5. Dynamic Write Destructive Fault (dWDF).

Proceedings of the Eleventh IEEE European Test Symposium (ETS’06) 0-7695-2566-0/06 $20.00 © 2006

IEEE

Note that the symbol “~” used in Tables 1-3 denotes logical negation, and x, y, z, t∈{0, 1}. A 2-operation 2cell dynamic FP can be represented (see [7]) as 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), 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 2 sequential operations are applied to the acell, while the v-cell is required to be in a certain state. 2. Svv; the 2 sequential operations are applied to the vcell, 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. In the sequel, we will consider only classes of FPs caused by Saa and Svv. Table 1. Two-operation single-cell dynamic FPs FFM Fault primitives dRDF , dIRF , dDRDF , dTF , dWDF , Table 2 describes all FPs caused by Saa. They are compiled into the FFM of Dynamic Disturb Coupling Faults (dCFds) with the following 4 types. 1. dCFdsww with 16 FPs; S consists of a Write operation followed by a Write operation. 2. dCFdswr with 8 FPs; S consists of a Write operation followed by a Read operation. 3. dCFdsrw with 8 FPs; S consists of a Read operation followed by a Write operation. 4. dCFdsrr with 4 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 5 FFMs: Dynamic Read Destructive Coupling Fault (dCFrd), Dynamic Deceptive Read Destructive Coupling Fault, (dCFdrd), Dynamic Incorrect Read Coupling Fault (dCFir), Dynamic Transition Coupling Fault (dCFtr), Dynamic Write Destructive Coupling Fault (dCFwd). All necessary definitions on March test algorithms, FPs, dynamic FFMs, can be found in [1]-[3], [5]-[8]. 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 ∀i and a finite number of Read / Write operations Mi=∀i {O1(D), …, Om(D)}, Oj∈{R, W} is a R (Read) or W (Write) operation, ∀i∈{ž,  , }, D∈{0, 1}. In this paper, we will consider bit-oriented memories only, since the results can be generalized (see [11]) directly for the general case of word-oriented memories. ž (respectively,  ) is the ascending (descending) address order;  is an arbitrary address order. A sequence ®O¾k=O1, O2, …, Ok, of Write and / or Read operations of given length k, will be called a March-like sequence of length k, if O1=Wx, x∈{0, 1}, and for each j, 1≤j≤k-1, the following conditions are satisfied: (i) If Oj=W0 or Oj=R0, j≥2, then Oj+1≠R1; (ii) If Oj=W1 or Oj=R1, j≥2, then Oj+1≠R0. Table 2. FPs from Saa FFM

Fault primitives

dCFdswr dCFdsww



dCFdsrw



dCFdsrr



FFM dCFrd

Table 3. FPs from Svv Fault primitives ,

dCFir

,

dCFdrd

,

dCFtr

,

dCFwd

,

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≤i≤s, constructing a March element Mi={∀i Li} by inserting an address direction ∀i∈{ž,  , } arbitrarily.

3. Minimal March tests for all twooperation single-cell dynamic faults In this section, we will describe minimal March tests MD1a and MD1b of minimum length 33N for

Proceedings of the Eleventh IEEE European Test Symposium (ETS’06) 0-7695-2566-0/06 $20.00 © 2006

IEEE

detection of all two-operation single-cell dynamic faults (see Tables 4a and 4b). Table 4a. Test algorithm March MD1a (33N) March Address Operations element direction W0 M0  W0, W1, W0, W1 M1  R1, W0, W0 M2  W0, W0 M3  R0, W1, R1, W1, R1, R1 M4  R1 M5  W1, W0, W1, W0 M6  R0, W1, W1 M7  W1, W1 M8  R1, W0, R0, W0, R0, R0 M9  R0 M10  Table 4b. Test algorithm March MD1b (33N) March Address Operations element direction W0 M0  W0, W1, W0, W1, R1 M1  W0, W0 M2  W0, W0 M3  R0, W1, R1, W1, R1, R1 M4  R1 M5  W1, W0, W1, W0, R0 M6  W1, W1 M7  W1, W1 M8  R1, W0, R0, W0, R0, R0 M9  R0 M10  To prove the mentioned tests are of minimum length, let us consider subclasses of FPs: S1={, x, y∈{0, 1}}. Lemma 3.1. In order that a March test M detect all the FPs from S1, it is necessary for the corresponding March-like sequence to contain at least 2 disjoint entries of each of the sequences {W0, W0}, {W1, W1} and at least one entry of each of the sequences {W0, W0, R0}, {W1, W1, R1} where Wy, y∈{0, 1}, is not the initialization operation. Denote S2={, x, y∈{0, 1}}. Lemma 3.2. In order that a March test M detect all the FPs from S2, it is necessary for the corresponding March-like sequence to contain at least 2 disjoint entries of each of the sequences {W0, W1}, {W1, W0} and at least one entry of each of the sequences {W0,

W1, R1}, {W1, W0, R0} where Wy, y∈{0, 1}, is not the initialization operation. Denote S3={, x, y∈{0, 1}}. Lemma 3.3. For detection of the FPs from S3, it is necessary that the corresponding March-like sequence contain at least one sequence {Rx, Wy, Ry} for all x, y∈{0, 1}. Denote S4={, x∈{0, 1}}. Lemma 3.4. For detection of the FPs from S4, it is necessary that the corresponding March-like sequence contain at least one sequence {Rx, Rx, Rx}, x∈{0, 1}. Proof of Lemmas 3.1-3.4 follows immediately from the main properties of a March test. Corollary 3.1. Any March test detecting FPs from subclasses S1-S4 has at least 33N operations. Proof is obtained by directly counting the number of operations necessary for detection of FPs from S1-S4, as stated in Lemmas 3.1-3.4. Corollary 3.2. Any March test detecting all twooperation single-cell FPs has at least 33N operations. Theorem 3.1. March MD1a and MD1b are minimal tests for detection of all 2-operation 1-cell dynamic faults.

4. Minimal March test for two-operation two-cell dynamic faults from Saa , Svv In [10], a March test of length 100N was proposed for detection of all two-operation two-cell dynamic faults sensitized by FPs from Saa and Svv. In [10], it was claimed that March 100N is irredundant. However, it is easy to check by fault simulation that the 29th operation R0 can be excluded from the test [10] without any impact on the targeted dynamic fault coverage. In this section, we will describe a March test of minimum length 70N (March MD2, see Table 5) for detection of all two-operation two-cell dynamic faults sensitized by FPs from Saa and Svv. Thus, we have reduced the length of the test proposed in [10] by 30N and proved our test has the minimum length for detection of FPs from Saa and Svv. To prove the mentioned tests are of minimum length, let us consider subclasses of FPs: Q1={, x, y, z∈{0, 1}}. Lemma 4.1. In order that a March test M detect all FPs from Q1 it is necessary for the corresponding Marchlike sequence to contain at least 4 disjoint entries of each of the sequences {W0, W0}, {W1, W1} and at least 2 entries of each of the sequences {W0, W0, R0}, {W1, W1, R1} where Wy, y∈{0, 1}, is not the initialization operation. Denote Q2={, x, y, z∈{0, 1}}.

Proceedings of the Eleventh IEEE European Test Symposium (ETS’06) 0-7695-2566-0/06 $20.00 © 2006

IEEE

Lemma 4.2. In order that a March test M detect all FPs from Q2 it is necessary for the corresponding Marchlike sequence to contain at least 4 disjoint entries of each of the sequences {W0, W1}, {W1, W0} and at least 2 entries of each of the sequences {W0, W1, R1}, {W1, W0, R0} where Wy, y∈{0, 1}, is not the initialization operation. Table 5. Test algorithm March MD2 (70N) March Address Operations element direction W0 M0  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 R0 M5  Denote Q3={, x, y, z∈{0, 1}}. Lemma 4.3. For detection of the FPs from Q3, it is necessary that the corresponding March-like sequence contain at least two entries of the sequence {Ry, Wz, Rz} for all y, z∈{0, 1}. Denote Q4={, x, y∈{0, 1}}. Lemma 4.4. For detection of the FPs from Q4, it is necessary that the corresponding March-like sequence contain at least two entries of the sequence {Ry, Ry, Ry}, y∈{0, 1}, which are either disjoint or have only one common operation. Proof of Lemmas 4.1-4.4 follows immediately from the main properties of a March test. Lemma 4.5. Any March test detecting all FPs from Saa and Svv has at least 70N operations. Brief proof. From Lemmas 4.1-4.4 it follows that any March test detecting the FPs from subclasses Q1-Q4 has at least 65N operations. If a March test of length 65N (respectively, 66N, 67N, 68N, 69N) satisfies the Lemmas 4.1-4.4 then there are at least 5 (respectively, 4, 3, 2, 1) March elements which do not start with a Read operation. 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 Lemmas 4.1-4.4 then we need at least 5

Table 6. List of March test algorithms for two-operation single-cell and two-cell dynamic faults Minimal March test algorithms March MD1

Length

March MD2

70N

33N

FPs detected by the test All two-operation singlecell dynamic faults All realistic unlinked and linked static FPs, dynamic FPs from Saa and Svv

(respectively, 4, 3, 2, 1) Read operations to be added to the March test to detect all FPs from Saa and Svv. Hence the proposition of Lemma 4.5 follows. Theorem 4.1. Any minimal March test detecting all FPs from Saa and Svv has exactly 70N operations. Proof. It is easy to verify that the test MD2 of length 70N detects all FPs from Saa and Svv: Tables 7a and 7b show for all two-cell FPs from Saa and Svv with condition av is omitted since it can be considered in the same way. Detection of single-cell FPs is also omitted due to its simplicity. Thus, taking into account Lemma 4.5, we can conclude that the theorem is proved. Corollary 4.1. March MD2 is the minimal test detecting all realistic unlinked and linked static FPs, as well as all dynamic FPs from Saa and Svv. Proof follows from [12], [13] and Theorem 4.1. Table 6 lists the new minimal March test algorithms proposed in this paper.

Known March test algorithms that are improved -

Length

March 100N [10]

100N

-

algorithms are proposed for detection of all twooperation single-cell and special subclasses of two-cell dynamic faults in RAMs. In particular, a 33N minimal March test algorithm is proposed 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 two-cell dynamic faults, improving by 30N the length of a test with the same fault coverage proposed in [10].

6. References [1] A.J. van de Goor, Testing semiconductor memories: Theory and Practice, John Wiley & Sons, 1991. [2] S. Hamdioui, A.J. van de Goor, M. Rodgers, “March SS: a test for all static simple faults”, Records of IEEE Int. Workshop MTDT, 2002. [3] S. Hamdioui, A.J. van de Goor, M. Rodgers, “Linked faults in Random Access Memories: concept, fault models, test algorithms, and industrial results”, IEEE Trans. CAD, vol. 23, No. 5, May 2004. [4] R.D. Adams, E.S.Cooley, “Analysis of Deceptive Read Destructive Memory fault Model and Recommended Testing”, Proc. of IEEE North Atlantic Test Workshop, 1996. [5] S. Hamdioui, G. N. Gaydadjiev A.J.van de Goor, “A Fault Primitive Based Analysis of Dynamic Memory Faults”, IEEE 14th Annual Workshop on Circuits, Systems and Signal Processing, Veldhoven, the Netherlands, 2003. [6] S. Hamdioui, R. Wadsworth, J. D. Reyes, A.J. van de Goor, “Importance of Dynamic Faults for New SRAM Technologies”, Proc. of IEEE European Test Workshop, 2003. [7] S. Hamdioui, Z. Al-Ars and A.J. van de Goor, “Testing Static and Dynamic Faults in Random Access Memories”, In Proc. of IEEE VLSI Test Symposium, 2002.

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). In this paper, for the first time, minimal March test

Proceedings of the Eleventh IEEE European Test Symposium (ETS’06) 0-7695-2566-0/06 $20.00 © 2006

IEEE

[8] A.J. van de Goor and Z. Al-Ars, “Functional Fault Models: A Formal Notation and Taxonomy”, In Proc. of IEEE VLSI Test Symposium, 2000.

[9] A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, March AB, March AB1: New March tests for unlinked dynamic memory faults, ITC 2005. [10] A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, “Automatic March Test Generation for Static and Dynamic Faults, in SRAMs”, Proc. ETS 2005, Tallinn, 2005. [11] A.J. van de Goor and I.B.S. Tlili, “March tests for wordoriented memories”, Proc. DATE 1998. [12] G. Harutunyan, V. A. Vardanian, Y. Zorian, “Minimal March Tests for Unlinked Static Faults in Random Access Memories”, Proc. IEEE VLSI Test Symposium, 2005.

Table 7a. Sensitization and detection of FPs from Saa by March MD2 (70N) Fault primitive Sensitization Detecti on M1(8), M1(9) M1(0) M2(2), M2(3) M2(0) M4(1), M4(2) M5(0) M3(7), M3(8) M4(0) M4(7), M4(8) M5(0) M3(1), M3(2) M4(0) M1(2), M1(3) M1(0) M2(8), M2(9) M2(0) M1(10), M1(11) M1(0) M2(4), M2(5) M2(0) M1(7), M1(8) M1(0) M2(1), M2(2) M2(0) M1(13), M1(14) M1(0) M3(13), M3(14) M4(0) M1(15), M1(16) M1(0) M2(14), M2(15) 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) M1(9), M1(10) M1(0) M2(3), M2(4) M2(0) M1(0), M1(1) M1(0) M2(6), M2(7) M2(0) M1(6), M1(7) M1(0) M2(0), M2(1) M2(0) M1(3), M1(4) M1(0) M2(9), M2(10) M2(0) M4(4), M4(5) M5(0) M3(10), M3(11) M4(0) M4(10), M4(11) M5(0) M3(4), M3(5) M4(0)

Proceedings of the Eleventh IEEE European Test Symposium (ETS’06) 0-7695-2566-0/06 $20.00 © 2006

IEEE

[13] G. Harutunyan, V. A. Vardanian, Y. Zorian, “Minimal March Test Algorithm for Detection of Linked Static Faults in Random Access Memories”, Proc. IEEE VLSI Test Symposium, 2006.

Table 7b. Sensitization and detection of FPs from Svv by March MD2 (70N) Fault primitive Sensitization Detection M3(9), M3(10) M3(11) M3(7), M3(8), M3(11) M3(9), M3(10) M4(3), M4(4) M4(5) M4(1), M4(2), M4(5) M4(3), M4(4) M3(1), M3(2), M3(5) M3(3), M3(4) M3(3), M3(4) M3(5) M4(7), M4(8), M4(11) M4(9), M4(10) M4(9), M4(10) M4(11) M3(10), M3(11) M3(12) M3(4), M3(5) M3(6) M4(4), M4(5) M4(6) M4(10), M4(11) M4(12) M3(13), M3(14), M4(0) M3(15), M3(16) M3(15), M3(16) M4(0) M1(13), M1(14), M2(0) M1(15), M1(16) M1(15), M1(16) M2(0) M2(15), M2(16) M3(0) M2(13), M2(14), M3(0) M2(15), M2(16) M4(15), M4(16) M5(0) M4(13), M4(14), M5(0) M4(15), M4(16) M3(0), M3(1) M3(2) M3(6), M3(7) M3(8) M4(6), M4(7) M4(8) M4(0), M4(1) M4(2) M2(4), M2(5) M2(6) M2(1), M2(2) M2(3) M1(10), M1(11) M1(12) M1(7), M1(8) M1(9) M2(7), M2(8) M2(9) M2(10), M2(11) M2(12) M1(1), M1(2) M1(3) M1(4), M1(5) M1(6) M3(8), M3(9) M3(10) M3(2), M3(3) M3(4) M4(2), M4(3) M4(4) M4(8), M4(9) M4(10)

Suggest Documents