A Fault Primitive Based Analysis of Dynamic Memory Faults
A Fault Primitive Based Analysis of Dynamic Memory Faults
Faults
Said Hamdioui Georgi N. Gaydadjiev Ad J.van de Goor
Delft University of Technology
Faculty of Electrical Engineering, Mathematics and Computer Science
Computer Engineering Laboratory, Mekelweg 4, 2628 CD Delft, The Netherlands
E-mail: {S.Hamdioui, G.N.Gaydadjiev, A.J.vandeGoor}@ewi.tudelft.nl
Abstract— The new memory technologies and processes is performed, the cell will not flip (i.e., remain in its
are introducing defects that cause faults that were un- state). Faults requiring more than one operation se-
known previously. One of the new observed faults in real quentially in order to be sensitized are called dynamic
designs are called dynamic faults. The paper gives a math- faults. The traditional industrial memory tests are
ematical analysis of such a fault class based on the fault
designed for static faults, and therefore may not be
primitive concept. The dynamic fault space will be then es-
tablished; within this space dynamic functional fault mod- able to deal with the dynamic faults. In addition, [10]
els can be studied and analyzed. concludes that current and future memory products
Keywords— Memory testing, static faults, dynamic need to consider testability of dynamic faults or leave
faults, fault primitive, functional fault models. substantial DPM on table. All these indicate the im-
portance of dynamic faults.
Research on testing of dynamic faults is in his in-
I. Introduction
fancy stage. The fault space and adequate fault mod-
To ensure a certain DPM level, memory test engi- els still remain to be established; appropriate test al-
neers must use test algorithms that are able to deal gorithms and test strategies still need to be designed,
with the new defects that are introduced by the new etc. This paper discusses the dynamic fault class
memory technologies and processes. Without such based on the fault primitive concept. A fault primi-
algorithms, the required DPM level, driven by mar- tive (FP) is a precise mathematical compact notation
ket demands, can not be achieved. New systematic describing the faults and preventing ambiguities and
defects in the new memory technologies often mani- misunderstanding. The FP concept will be used to
fest themselves in a different way than the traditional define a general framework for dynamic faults with
ones, hence cannot detected by the existing memory which the space of functional fault models can be stud-
test algorithms. Adequate new fault models and (di- ied and analyzed.
agnosis) test algorithms are therefore essential. This paper is organized as follows. Section 2 intro-
Researchers studying the faulty behavior of mem- duces the concept of fault primitives that will be used
ory devices have been defining functional fault mod- to classify memory faults. Section 3 defines the dy-
els (FFMs) and developing tests to target them [5], namic fault space, divided into single-cell and two-cell
[8], [12] [15]. However, most of the published work faults. Section 4 gives the conclusions and set s direc-
is limited to static faults, which are faults sensitized tion of further research with dynamic fault framework.
by performing at the most one operation; e.g., a write
operation sensitizes the fault. These models were sat- II. Fault primitive concept and
isfactory to deal with the defects in the old technolo- classification
gies. This section gives first the concept of a fault primi-
Recent published work shows that another type of tive that will be used to define the set of the targeted
faulty behavior can take place in the absence of static FFMs in this paper. Second, a classification of mem-
faults [?], HamdiouiVTS02, [10]. This faulty behavior ory faults will be given and used to delimit the scope
requires more than one operation sequentially in order of the paper.
to be sensitized. For example, a write operation, fol-
lowed immediately by a read operation, causes a cell A. Fault primitive concept
to flip; however, if only a single write or a single read, By performing a number of memory operations and
or a read which does not immediately follow the write observing the behavior of any component functionally
84
modeled in the memory, functional faults can be de- Fault Primitives Scope of the paper
85
cell), and FPs describing multi-cell DS faults (involv-
ing more than one cell). For multi-cell FPs, we restrict
our analysis to two-cell FPs, because they are consid- 1. Dynamic Read Destructive Fault (dRDF): a write
ered to be an important class for memory faults [1], or a read operation followed immediately by a read
[2], [3], [6], [12]. Below single-cell and two-cell DS operation performed on a cell changes the data in the
faults will be described. cell, and returns an incorrect value on the output. The
dRDF consists of six FPs; e.g., < 0w1r1/0/0 >: ap-
A. Single-cell DS faults plying a ‘r1’ operation immediately after ‘w1’ opera-
Single-cell DS faults consist of FPs sensitized by ap- tion to a cell whose initial content was 0, will cause
plying more than one operation to a single cell sequen- the cell to flip to 0 and the read operation will return
tially. We will restrict our analysis to 2-operation dy- a wrong 0 value instead of the expected 1. The write
namic faults, since on the one hand they already have operation involved in dRDF can be a transition write
been shown to exist [3], [9], and on the other hand the as well as a non-transition write operation.
probability of dynamic faults decreases as the number 2. Dynamic Deceptive Read Destructive Fault (dDRDF):
of operations increases [4]. As mentioned in Section a write or a read operation followed immediately by a
2, a particular FP is denoted as < S/F/R >. read operation performed on a cell changes the data
in the cell, and returns a correct value on the output.
S describes the sensitizing operation sequence, The dDRDF consists of six FPs. Here, the write can
which sensitizes a fault F in the cell. Since two oper- be a transition write as well as a non-transition write
ations are considered, there are 18 possible Ss. given operation.
below; x, y, z ∈ {0, 1} and ‘r’ denotes a read operation 3. Dynamic Incorrect Read Fault (dIRF): a read op-
and ‘w’ denotes a write operation. eration performed immediately after a write or after a
read operation on a cell returns an incorrect value on
• 8 Ss have the form ’xwywz’; e.g., ‘0w1w0’ denotes a
the output, while the cell remains in its correct state.
write 1 operation applied to a cell whose initial state is
The dIRF consists of six FPs.
0; the write 1 operation is followed immediately with
4. Dynamic Transition Fault (dTF): a transition write
a write 0 operation.
operation performed immediately after a read or after
• 2 Ss have the form ‘xrxrx’; e.g., ‘0r0r0’ denotes two
a write operation fails. The dTF consists of six FPs.
successive read 0 operations applied to a cell whose
5. Dynamic Write Destructive Fault (dWDF): a non-
initial state is 0.
transition write operation applied immediately after a
• 4 Ss have the form ‘xrxwy’; e.g., ‘0r0w1’ denotes a
read or after a write operation causes the cell to flip.
read 0 followed immediately with write 1 applied to a
The dWDF consists of six FPs.
cell whose initial state is 0.
• 4 Ss have the form ‘xwyry’; e.g., ‘1w1r1 denotes a
write 1 followed immediately with read 1 applied to a TABLE I
cell whose initial state is 1. List of single-cell dynamic FFMs
FFM FPs
F describes the value of the faulty (i.e., victim) cell
dRDF < 0r0r0/1/1 >, < 1r1r1/0/0 >,
(v-cell); F ∈ {0, 1}. R describes the logical value < 0w0r0/1/1 >, < 1w1r1/0/0 >,
which appears at the output of the memory if the < 0w1r1/0/0 >, < 1w0r0/1/1 >
sensitizing operation applied to the v-cell is a read dDRDF < 0r0r0/1/0 >, < 1r1r1/0/1 >,
operation: R ∈ {0, 1, −}. A ’−’ in R means that the < 0w0r0/1/0 >, < 1w1r1/0/1 >,
< 0w1r1/0/1 >, < 1w0r0/1/0 >
output data is not applicable. E.g., < 0w0w1/0/− >; dIRF < 0r0r0/0/1 >, < 1r1r1/1/0 >,
S = 0w0w1 cause a failing up transition write oper- < 0w0r0/0/1 >, < 1w1r1/1/0 >,
ation (F = 0), no data will appear at the memory < 0w1r1/1/0 >, < 1w0r0/0/1 >
output, and therefore R is replaced by a ’−’. dTF < 0w0w1/0/− >, < 1w1w0/1/− >,
< 0w1w0/1/− >, < 1w0w1/0/− >
< 0r0w1/0/− >, < 1r1w0/1/− >
Based on the values of S, F , and R, all detectable dWDF < 0w0w0/1/− >, < 1w1w1/0/− >,
single-cell FPs can be determined. They consist of < 0w1w1/0/− >, < 1w0w0/1/− >,
total of 30 FPs given in Table I. The 30 FPs are com- < 0r0w0/1/− >, < 1r1w1/0/− >
piled into a set of 5 FFMs, see also the column ‘FFM’
in the table.
86
B. Two cell dynamic faults operations applied to a single cell consist of 18 possi-
Two-cell dynamic faults consist of FPs sensitized by ble Ss. Therefore there are 18 possible yO1 zO2 t. The
applying more than one operation sequentially to two state of the v-cell (which is x) has two possibilities
cells: the aggressor (a-cell) and the v-cell. The a-cell x ∈ {0, 1}. For a faulty cell, F should be F = x; that
is the cell to which the sensitizing operation (or state) means that the faults sensitized with Saa can be de-
should be applied in order to sensitize the fault, while noted as < yO1 zO2 t; x/x/− >; they consist of 36 PFs
the v-cell is the cell where the fault appears. In a sim- given in Table II, and compiled into a single FFM:
• Dynamic Disturb Coupling Faults (CFds): applying
ilar way as it has been done for single cell faults, we
will restrict ourself to two-operation dynamic faults. two successive operations to the a-cell causes the v-
Depending on how many operations are applied to cell to flip. Based on the type of the two operations,
the a-cell and to the v-cell, and on the order in which the CFds is divided into four types:
they are applied, four types of S can be distinguished: 1. CFdsww : the two operations consist of a write fol-
lowed with a write. The CFdsww consists of 16 FPs.
1. Saa : the two sequential operations are applied to 2. CFdswr : the two operations consist of a write fol-
the a-cell; while the v-cell is required to be in a certain lowed with a read. The CFdswr consists of 8 FPs.
state. 3. CFdsrw : the two operations consist of a read fol-
2. Svv : the two sequential operations are applied to lowed with a write. The CFdsrw consists of 8 FPs.
the v-cell; while the a-cell is required to be in a certain 4. CFdsrr : the two operations consist of a read fol-
state. lowed with a read. The CFdsrr consists of 4 FPs.
3. Sav : the first operation is applied to the a-cell, fol- TABLE II
lowed immediately with a second one to the v-cell. Two-cell dynamic FFMs caused by Saa
4. Sva : the first operation is applied to the v-cell, fol-
lowed immediately with a second one to the a-cell. FFM FP
dCFdsww < 0w0w0; x/x/− >, < 1w1w1; x/x/− >,
< 0w0w1; x/x/− >, < 1w1w0; x/x/− >,
Since two operations are considered, there are 18 × < 0w1w0; x/x/− >, < 1w0w1; x/x/− >,
4 = 72 total possible Ss; each S can take on one < 0w1w1; x/x/− >, < 1w0w0; x/x/− >,
of 18 possible operation sequences: xwywz, xrxrx, CFdswr < 0w0r0; x/x/− >, < 1w1r1; x/x/− >
xrxwy, or xwyry, where x, y, z ∈ {0, 1}. It is clear < 0w1r1; x/x/− >, < 1w0r0; x/x/− >
CFdsrw < 0r0w0; x/x/− >, < 1r1w1; x/x/− >,
that despite the restriction to 2-operation dynamic
< 0r0w1; x/x/− > < 1r1w0; x/x/− >
faults, the number of FPs is still high. Note that Saa CFdsrr < 0r0r0; x/x/− >, < 1r1r1; x/x/− >
and Svv both require the access of a single cell sequen-
tially (the v-cell, respectively the a-cell), and that Sav
and Sva both require the access of two different cells
sequentially. B.2 Faults caused by Svv
These faults have the property that the applica-
B.1 Faults caused by Saa tion of two successive operation to the v-cell, while
These faults have the property that the application the a-cell is in a certain state, sensitizes a fault in
of two successive operations to the a-cell will cause the the v-cell. To denote these faults, the FP notation:
v-cell to flip. To denote these faults, the FP notation: < Svv /F/R >=< Sa ; Sv /F/R > will be used. The
< Saa /F/R >=< Sa ; Sv /F/R > will be used: Sa = x denotes the sate of the a-cell; x ∈ {0, 1}. The
Sa = yO1 zO2 t and Sv = x, where Sv = yO1 zO2 t denotes the the sensitizing operation
x, y, z, t ∈ {0, 1} and, sequence based on two operations applied sequentially
O1 and O2 each can be a read or a write operation. to the v-cell; y, z, t ∈ {0, 1} and, O1 and O2 can be a
read or a write operation. F describes the fault effect
The yO1 zO2 t denotes the sensitizing operation se- in the v-cell; while R gives the read results in case the
quence based on two operations applied sequentially second operation of Sv (i.e., O2 ) is a read operation.
to the a-cell; x describes the state of the v-cell; F de-
scribes the fault effect in the v-cell; while R = − since The notation < x; yO1 zO2 t/F/R > presents 60
Sv requires no operation to be applied to the v-cell. FPs: 30 FPs denoted as < 0; yO1 zO2 t/F/R > and
As it has been shown in the previous section, a sen- 30 FPs as < 1; yO1 zO2 t/F/R >. The notation
sitizing operation sequence based on two sequential < x; Sv /F/R > with x ∈ {0, 1} is a superset of the
87
notation < Sv /F/R >, which describe the same FPs B.3 Faults caused by Sav
as discussed in Section III-A and presented in Table
I. The 60 FPs sensitize with Svv are listed in Table These faults have the property that the applica-
III, and compiled into a set of five FFMs. tion of an operation to the a-cell, followed immedi-
ately by an operation to the v-cell, sensitizes a fault
1. Dynamic Read Destructive Coupling Fault (dCFrd): in the v-cell. To denote these faults, the FP notation:
a write or a read followed immediately by a read oper- < Sav /F/R >=< Sa ; Sv /F/R > will be used. The
ation performed on the v-cell changes the data in the Sa = xO1 y denotes the sensitizing operation applied
v-cell and returns an incorrect value on the output, to the a-cell; x, y ∈ {0, 1} and O1 can be a read or a
iff the a-cell is in a certain specific state. The dCFrd write. The Sv = zO2 t denotes the sensitizing opera-
consists of 12 FPs. tion applied to the v-cell; z, t ∈ {0, 1}. The xO1 y and
2. Dynamic Deceptive Read Destructive Coupling zO2 t each can take on one of the following six oper-
Fault (dCFdrd): a write or a read followed imme- ation {0w0, 0w1, 1w0, 1w1, 0r0, 1r1}. F describes the
diately by a read operation performed on the v-cell fault effect in the v-cell; while R gives the read results
changes the data in the v-cell and returns a correct in case the operation of Sv (i.e., O2 ) is a read opera-
value on the output, iff the a-cell is in a certain spe- tion.
cific state. The dCFdrd consists of 12 FPs.
3. Dynamic Incorrect Read Coupling Fault (dCFir): a The faults caused by Sav and denoted as:
write or a read followed immediately by a read opera- < Sa ; Sv /F/R > represents 60 FPs as is shown next:
tion performed on the v-cell returns an incorrect value
on the output, while the v-cell remains in its correct
• if Sv = zwt (z, t ∈ {0, 1}),
state, iff the a-cell is in a certain specific state. The
i.e, Sv ∈ {0w0, 0w1, 1w0, 1w1}, then
dCFir consists of 12 FPs.
F = t and R = −.
4. Dynamic Transition Coupling Fault (dCFtr): a
This results into 24=6×4 FPs < Sa ; zwt/t/− > since
write or a read followed immediately by a transition
Sa can take on one of the allowed six operations.
write operation performed on the v-cell results in a
failing write operation iff the a-cell is in a certain spe-
• if Sv = yry, i.e., Sv ∈ {0r0, 1r1} then
cific state. The dCFtr consists of 12 FPs.
5. Dynamic Write Destructive Coupling Fault (dCFwd): – if F = y then R = y.
a write or a read followed immediately by a non tran- This results into 12 PFs denoted as < Sa ; yry/y/y >.
sition write operation performed on the v-cell cause – if F = y, then R ∈ {y, y}
that cell to flip, iff the a-cell is in a certain specific This results into 24=4×6 FPs: 12 denoted as
state. The dCFwd consists of 12 FPs. < Sa ; yry/y/y > and, 12 as < Sa ; yry/y/y >.
TABLE III
Two-cell dynamic faults caused by Svv The 60 FPs are compiled into 5 FFMs each
with 12 PFs; They are given in Table IV; xOy
FFM FPs
in the table denotes any operation; i.e., xOy ∈
dCFrd < x; 0r0r0/1/1 >, < x; 1r1r1/0/0 >,
{0w0, 0w1, 1w0, 1w1, 0r0, 1r1}. The names used for
< x; 0w0r0/1/1 >, < x; 1w1r1/0/0 >,
< x; 0w1r1/0/0 >, < x; 1w0r0/1/1 > the FFMs here are similar to those used for FFMs
dCFdrd < x; 0r0r0/1/0 >, < x; 1r1r1/0/1 >, caused by Svv ; see Section III-B.2.
< x; 0w0r0/1/0 >, < x; 1w1r1/0/1 >,
< x; 0w1r1/0/1 >, < x; 1w0r0/1/0 > TABLE IV
dCFir < x; 0r0r0/0/1 >, < x; 1r1r1/1/0 >,
< x; 0w0r0/0/1 >, < x; 1w1r1/1/0 >,
Two-cell dynamic faults caused by Sav
< x; 0w1r1/1/0 >, < x; 1w0r0/0/1 >
FFM FPs
dCFtr < x; 0w0w1/0/− >, < x; 1w1w0/1/− >,
< x; 0w1w0/1/− >, < x; 1w0w1/0/− > dCFrd < xOy; 0r0/1/1 >, < xOy; 1r1/0/0 >
< x; 0r0w1/0/− >, < x; 1r1w0/1/− > dCFdrd < xOy; 0r0/1/0 >, < xOy; 1r1/0/1 >
dCFwd < x; 0w0w0/1/− >, < x; 1w1w1/0/− >, dCFir < xOy; 0r0/0/1 >, < xOy; 1r1/1/0 >
< x; 0w1w1/0/− >, < x; 1w0w0/1/− >, dCFtr < xOy; 0w1/0/− >, < xOy; 1w0/1/− >
< x; 0r0w0/1/− >, < x; 1r1w1/0/− > dCFwd < xOy; 0w0/1/− >, < xOy; 1w1/0/− >
88
B.4 Faults caused by Sva 3. Design of short and high quality tests targeting and
These faults have the property that the applica- diagnosing the considered dynamic faults. This will
tion of an operation to the v-cell, followed immedi- reduce the DPM level of the new memory technologies
ately by an operation to the a-cell, sensitizes a fault and improve the yield.
in the v-cell. To denote these faults, the FP notation: 4. Industrial validation of the tests in high volume
< Sav /F/R >=< Sv /F/R; Sa >va will be used. Note production.
that first the v-cell has to be accessed and thereafter References
the a-cell. It can easily be seen that the number of
[1] R.D. Adams and E.S. Cooley, “Analysis of a Deceptive Read
FPs the notation < Sv /F/R; Sa >v,a represents is the Destructive Memory Fault Model and Recommended Test-
same as that represented by < Sa ; Sv /F/R >av for ing”, In Proc. IEEE North Atlantic Test Workshop, 1996.
faults caused by Sav ; the only difference is the access [2] Z. Al-Ars, Ad J. van de Goor, “Impact of Memory Cell Array
order of the a-cell and the v-cell. The total number of Bridges on the Faulty Behavior in Embedded DRAMs”, In
Proc. of Asian Test Symposium, pp. 282-289 , 2000.
FPs presented with the notation < Sv /F/R; Sa >v,a [3] Z. Al-Ars, Ad J. van de Goor, “Static and Dynamic Behav-
is thus 60 FPs; they are compiled also into five FFMs ior of Memory Cell Array Opens and Shorts in Embedded
each with 6 FPs as given in Table V. Note that the DRAMs”, In Proc. of Design Automation and Test in Eu-
names used for the FFMs here are similar to those rope, pp. 496-503, 2001.
[4] Z. Al-Ars and A.J. van de Goor, “Approximating Infinite
used for FFMs caused by Svv ; see Section III-B.2. Dynamic Behavior for DRAM Cell Defects,” in Proc. IEEE
VLSI Test Symp., pp. 401-406, 2002.
TABLE V [5] R. Dekker, et al., “A Realistic Fault Model and Test Algo-
rithms for Static Random Access Memories”, IEEE Trans.
Two-cell dynamic faults caused by Sva on Computers, C9(6), pp. 567-572, 1990.
[6] S. Hamdioui, A.J. van de Goor, “Experimental Analysis of
FFM FPs
Spot Defects in SRAMs: Realistic Fault Models and Tests”,
dCFrd < 0r0/1/1; xOy >, < 1r1/0/0; xOy > In Proc. of Asian Test Symposium, pp. 131-138, Taipei, Tai-
dCFdrd < 0r0/1/0; xOy >, < 1r1/0/1; xOy > wan, 2000.
dCFir < 0r0/0/1; xOy >, < 1r1/1/0; xOy > [7] S. Hamdioui, A.J. van de Goor and M. Rodgers, “March SS:
dCFtr < 0w1/0/−; xOy >, < 1w0/1/−; xOy > A Test for All Static Simple RAM Faults”, In Proc. of IEEE
dCFwd < 0w0/1/−; xOy >, < 1w1/0/−; xOy > International Workshop on Memory Technology, Design and
Test, pp. 95-100 , 2002.
[8] S. Hamdioui, A.J. van de Goor, “Experimental Analysis of
Spot Defects in SRAMs: Realistic Fault Models and Tests”,
IV. Conclusions and further work In Proc. of Ninth Asian Test Symposium, pp. 131-138, 2000.
[9] S. Hamdioui, Z. Al-ars and A.J. van de Goor, “Testing Static
In this paper a classification of memory cell array and Dynamic Faults in Random Access Memories”, In Proc.
faults has been presented based on the fault primitive of IEEE VLSI Test Symposium, pp. 395-400, 2002.
concept. Special attention has been given to dynamic [10] S. Hamdioui, et.al, , “Importance of Dynamic Faults for
faults. A complete framework for two-operations dy- New SRAM Technologies” In Proc, of IEEE European Test
Workshop, pp. 29-34, 2003.
namic faults, based on the fault primitive concept, has [11] S. Hamdioui, Z. Al-ars, A.J. van de Goor, and M. Rodgers,
been presented. Within this framework, the space of “Linked Faults in Random Access Memories: Concept, Fault
dynamic faults can be (experimentally) studied and Models, Test Algorithms and Industrial Results” To Appear
analyzed. in IEEE Trans. on CAD
[12] V.K. Kim and T. Chen, “On Comparing Functional Fault
Dynamic fault class which has been ignored in the Coverage and Defect Coverage for Memory Testing”, IEEE
past are now becoming very important for the new Trans. on CAD, V. 18, N. 11, pp. 1676-1683, 1999.
memory technologies. This sets a new direction for [13] C.A. Papachristou and N.B. Saghal, “An Improved Method
further research on memory fault modeling. Items for Detecting Functional Faults in Random Access Memo-
ries”, IEEE Trans. on Computers, C-34, N. 3, pp. 110-116,
like the following remain still to be worked out: 1985.
1. In order to investigate their validity, and experi- [14] A.J. van de Goor and G. Gaydadjiev, “March LR: A Mem-
mental and/or industrial analysis is required. This ory Test for Realistic Linked Faults”, In Proc. IEEE VLSI
can be done based on defect injection and SPICE sim- Test Symposium, pp. 272-280, 1996.
[15] A.J. van de Goor, “Testing Semiconductor Memories, The-
ulation.
ory and Practice”, ComTex Publishing, Gouda, The Nether-
2. Inductive Fault Analysis in order to determine the lands, 1998.
importance of each introduced fault model and to bet- [16] A.J. van de Goor and Z. Al-Ars, “Functional Fault Models:
ter understand the underlying defects causing such A Formal Notation and Taxonomy”, In Proc. of IEEE VLSI
dynamic faults. Test Symposium, pp. 281-289, 2000.
89