Converting March Tests for Bit-Oriented Memories into Tests for Word

10 downloads 0 Views 119KB Size Report
This paper presents a complete set of fault models and tests for intra-word faults, together with a new systematic way to convert march tests for BOMs into march ...
Converting March Tests for Bit-Oriented Memories into Tests for Word-Oriented Memories A.J. van de Goor

I.B.S Tlili

S. Hamdioui

Delft University of Technology, Faculty of Information Technology and Systems Section of Computer Architecture and Digital Technology P.O. Box 5031, 2600 GA Delft, The Netherlands [email protected]

Abstract In this paper a set of fault models for coupling faults between the cells of a word has been established, together with tests for these fault models. Thereafter, a systematic way of converting tests for bit-oriented memories into tests for word-oriented memories is presented, distinguishing between inter-word and intra-word faults. This results in more efficient tests with complete coverage of the targeted faults. Because most memories have an external data path which is wider than one bit, word-oriented memory tests are very important.

1. Introduction Word-oriented memories (WOMs) contain more than one bit per word; i.e., B  2, whereby B represents the number of bits per word and usually is a power of two. Traditionally, WOMs have been tested by repeated application of a test for bit-oriented memories (BOMs), whereby a different data background (DB ) (which depends on the used fault model for the faults between bits in a word) is used during each iteration [1, 6, 8, 9]. The disadvantages of using these DBs are: (1) test time inefficiency, and (2) limited fault coverage for coupling faults (CFs). This paper presents a complete set of fault models and tests for intra-word faults, together with a new systematic way to convert march tests for BOMs into march tests for WOMs; it is based on [2]. A subset of this problem has been addressed in [1]. The conversion consists of concatenating to the march test for inter-word faults (faults between words) a march test designed for intra-word faults (faults within words). For the construction of the test for intra-word faults a minimal data background sequence (DBS), capable of sensitizing the targeted CFs, has to be established. This paper presents this technique for the disturb CF (CFdst) [3,

4, 5] and the state CF (CFst) [6] intra-word fault models; the single-cell faults and the idempotent CF models have been addressed in [1]. Thereafter, a method of constructing the intra-word march test, given the DBS, is presented. The organization of this paper is as follows: Section 2 describes fault models for word-oriented memories; Section 3 derives the set of data backgrounds for intra-word CFsts; and Section 4 derives data background operation sequences for CFdsts. Section 5 shows how march tests for intra-word coupling faults can be constructed; Section 6 shows the relationship between the different WOM tests; and Section 7 ends with conclusions.

2

Fault models for word-oriented memories

The fault models for BOMs consist of address decoder faults, read/write logic faults, and memory cell array faults. For WOMs, only the class of memory cell array faults for BOMs has to be extended in order to cover WOMs, because faults between cells within a word have to be added. The fault models for WOMs can be divided into the following classes: Single-cell faults (These are the classical stuck-at faults (SAFs), transition faults (TFs), data retention faults (DRFs), and read disturb faults (RDFs); and Faults between memory cells (This class of faults consists of CFs of which only the Intra-word faults are of interest. These are CFs whereby the aggressor and victim cells belong to the same word. BOM tests have to be converted in order to be able to detect faults of this subclass; the part of the test used for detecting intra-word faults is called the intra-word test. The to-be-used conversion method heavily depends on the used intra-word fault model as will be shown below. In order to detect intra-word CFs, a BOM march test could be converted to a WOM march test by replacing the bit-wide `r0' , `r1' , `w0' and `w1' operations with operations which read and write a data background (DB) of B

bits. Intra-word CFs, however, may or may not be detectable, depending on the dominance of the write operation on the CF. If the CF dominates the write operation, such that the CF will manifest itself, it is required to detect the CF; it will not be detectable with algorithms for BOMs [1,2]. The class of intra-word CFs consists of many subclasses, depending on the number of aggressor cells (a-cells) involved in a word, and on the relative position(s) of the a-cell(s).

memory) the DBs of Table 1 could be used; it can easy be verified that for any two cells all 4 states occur. Table 1. Set of DBs for uCFsts (B # Normal # Inverse 0 00000000 1 11111111 2 01010101 3 10101010 4 00110011 5 11001100 6 00001111 7 11110000

1. Unrestricted intra-word CFs (uCFs) The victim cell (v-cell) can only be influenced by a single a,cell, which may be any of the B , 1 non v-cells in the word. This fault model does not require any knowledge of the layout of the cells in a row of the memory cell array, and which of those cells form a word. 2. Restricted CFs (rCFs) A v-cell can only be influenced by a single a-cell which is the physical neighbor of the v-cell. 3. Concurrent-restricted CFs (crCFs) A v-cell can only be influenced by the concurrent action or state of two a-cells which are the physical neighbors of the v-cell. 4. Concurrent CFs (cCFs) The v-cell is influenced by the concurrent action or state of B , 1 non-victim cells (i.e., B , 1 a-cells) in the word [8]. All a-cells are involved in the same sensitizing operation; e.g., in the case of a cCFid, all acells are required to make an " transition or all a-cells are required to make a # transition. This requirement is made to simplify the fault model, while still covering the most likely faults.

= 8)

rCFst: In case of rCFsts, all states of adjacent cells should be checked; i.e., the states (i; i + 1) 2 f(0; 0); (0; 1); (1; 0); (1; 1)g. The set of DBs which satisfies this condition consists of DBs #0 through 3 of Table 1; this reduces the size of the set of DBs from 2  (dlog2 B e +1) to 4; i.e, d = 4 and does not depend on B . crCFst: In order to detect crCFsts, all states of three adjacent cells (i , 1, i, and i + 1) should be checked; i.e., the states (i , 1; i; i + 1) 2 f(0; 0; 0); (0; 0; 1); (0; 1; 0); (0; 1; 1); (1; 0; 0); (1; 0; 1); (1; 1; 0); (1; 1; 1)g. This set of DBs sensitizes all crCFsts between three adjacent cells; it has to be applied to all groups of three adjacent cells within a B -bit word. A set of 8-bit DBs for crCFsts is given in Table 2. The size of the set is 8, and is independent of B . Table 2. Set of DBs for crCFsts (B # Normal # Inverse 0 00000000 1 11111111 2 00100100 3 11011011 4 01001001 5 10110110 6 01101101 7 10010010

= 8)

cCFst: In order to detect cCFsts for a given state of a given v-cell, the B , 1 a-cells have to take on the value 11:::1 and 00:::0 while the v-cell is in state 0 or 1. A set of DBs for cCFdst for 4-bit WOMs is given in Table 3. The number of DBs is 10; for B -bit words d = 2  B + 2.

3 Sets of DBs for intra-word CFsts When converting a BOM test into a WOM test, using the CFst fault type for intra-word faults, the word-oriented inter-word test has to be appended by an intra-word test for CFsts. This intra-word test has to use a set of DBs, whereby the DBs can be taken from the set in any arbitrary sequence, because only the states of the cells are relevant for sensitizing and detecting a fault. This section shows the sets of DBs required for the detection of CFsts. These sets will be derived for each of the four CFst fault models of Section 2: uCFst, rCFst, crCFst and cCFs. uCFst: In order to be able to detect uCFsts between cells in a word, for the case that the uCF dominates the write operation, all states of two arbitrary cells i and j should be checked; i.e. the states: (i,j ) 2 f(0; 0); (0; 1); (1; 0); (1; 1)g. The number of DBs (representing by the symbol d) required for checking the states (0,0) and (0,1) is [6]: d = 2  (dlog2 B e + 1). If B is a power of 2, d will become: d = 2 log2 B + 2. For a memory with B = 8 (a byte-wide

Table 3. Set of DBs for cCFsts (B # Normal # Inverse 0 0000 1 1111 2 0001 3 1110 4 0010 5 1101 6 0100 7 1011 8 1000 9 0111

= 4)

Table 4 summarizes the # of DBs (d) and the test length (t) for the intra-word faults. In addition, the last group of columns gives the value of d and t for word-widths of 4, 8, and 16 bits. The test length for CFsts represents the number of read and write operations required to apply the set of DBs; assuming that the initial value of the memory cells are 2

0s, then t = 2  (d , 1) because each DB value (except the initial value of all 0s) has to be written and read. Table 4. Number of DBs (d) and Test length (t) Fault

# of DBs d

uCFst rCFst crCFst cCFst uCFid rCFid crCFid cCFid uCFdst rCFdst crCFdst cCFdst

Test length t

2  (dlog2 B e + 1)

4  dlog2 B e + 2

2B+2 3  (dlog2 B e + 1)

4B+2 6  dlog2 B e + 1

3B+2 3  (dlog2 B e + 1)

5B+3 7  dlog2 B e + 6

3B+2

6B+9

4 8

6 12

6 12

6 14

10 19

13 27

4 6/10 4/6 8/14 10/18 9/13 6/10 12/19 14/23 9/20 6/13 12/27 14/33

B (d/t) 8 8/14 4/6 8/14 18/34 12/19 6/10 12/19 26/43 12/27 6/13 12/27 26/57

< r0 ;

16 10/18 4/6 8/14 34/66 15/25 6/10 12/19 50/83 15/34 6/13 12/27 50/105

>c0,c1 & < r0 ;

>c1,c0

c1,c0

>c1,c0

S 10

S 11

S 01

S 00

>c0,c1 & < r1 ;

>c1,c0

>c1,c0

c0,c1 & < w0 ;

>c1,c0

< w1 ;

>c0,c1 & < w1 ;

>c1,c0

c0,c1 & < r1 ;

>c1,c0

Figure 1. State diagram for sensitizing CFdsts = w11; r11; w00; r00; w01; w10; r10; w01; r01. Thus the number of operations needed to sensitize all uCFdsts using the DBS S2 is 9. Note that the DBOS 2 can also sensitize all uCFids (because it is based on transition writes). To detect all uCFdsts using the DBOS 2 , each sensitizing write and read operation has to be followed by a read operation; this read operation detects the uCFdst sensitized by the preceding write or read operation. The DBOS is then: 2 =

4 DB operation sequences for CFdsts The conversion of a BOM test into a WOM test for CFdst intra-word faults requires an intra-word test using a data background sequence (DBS) together operations (also referred to as the DB operation sequence (DBOS)). The DBS and DBOS are derived below for the following intra-word CFdsts: uCFdst, rCFdst, crCFdst and cCFdst. uCFdst: In order to be able to detect uCFdsts, for the case that the uCFdst dominates the write operation, the algorithms for BOMs have to be modified. In the case of uCFdsts, eight uCFdsts subtypes exist [5]: < r0; ">ca ;cv , < r0; #>ca;cv (Note: ca is the a-cell and cv is the vcell), < r1; ">ca ;cv , < r1; #>ca ;cv , < w0; ">ca ;cv , < w0; #>ca;cv , < w1; ">ca;cv and < w1; #>ca;cv ; where a; v 2 f0; 1; :::; B , 1g. Each subtype has CB2 = B  (B , 1) possible cases; the total number of uCFdsts is therefore 8  B  (B , 1). Similar to the uCFid case [1], we have to find: (1) the minimal sequence of DBs (i.e., the DBS) which can sensitize the 8  B  (B , 1) uCFdsts; and next, (2) the minimal number of operations using this DBS (i.e., the DBOS) has to be established. 1. Minimal DBS for sensitizing uCFdsts: Figure 1 shows the state diagram for sensitizing the uCFdsts within a 2bit WOM requiring only 9 arcs to sensitize all uCFdsts (for read and transition write operations). The states (nodes) are numbered according to the value of the two cells c0 and c1 in the word; the arcs are labeled with the sensitized faults. Only write operations can change the state of a fault free memory, which means that the DBS depends only on the write operations. From Figure 1 we can construct the DBS S2 , which depends only on transition write operations: S2 = S00 ; S11 ; S00 ; S01 ; S10 ; S01 . 2. DB operation sequence (DBOS) for uCFdsts Using the DBS S2 , a sequence of read and write operations ( 2 ; also called the DBOS) can be generated (assuming initial state S00 ): 2

w11; r11; r11; r11; w00; r00; r00; r00; w01; r01; w10; r10; r10; r01; w01; r01; r01; r01. 2 now contains sequences of three identical read operations. The first read operation is required to detect faults sensitized by the preceding write operation; the second read operation is required to detect the faults sensitized by the preceding read operation; hence, the third read operation is redundant and can be removed. The 9th operation w01 is needed only to connect two parts of the DBS (see Figure 1), thus there is no need to check this write operation; therefore the operation r01 following this w01 operation can be removed. The DBOS 2 can now be simplified to: 2 =

w11; r11; r11; w00; r00; r00; w01; w10; r10; r10; w01; r01; r01. The number of operations needed to sensitize and detect all the CFdsts for a 2-bit WOM is now 13. Extending the 2-bit DBS to a DBS for B -bit words:

1. Level 0: For each cell-pair (ci ; ci+1 ), we apply the DBS found for 2-bit words. This can be done by applying the DBS S2 . All uCFdsts between (ci ; ci+1+k2 ) are sensitized, where k 2 f0; 1:::; b((B , 1) , (i + 1))=2cg. 2. Level 1: For each cell-pair (ci ; ci+2 ), we apply only the DBS S00 2 = 01, 10, 01; this is sufficient because the DBS S0 2 = 00, 11, 00 has already been applied in Level 0 . All uCFdsts between (ci ; ci+2+k4 ) are sensitized, where k 2 f0; 1:::; (b((B , 1) , (i + 2))=4c)g. 3. Level 2: For each cell-pair (ci ; ci+4 ), we apply the DBS S00 2 . All uCFdsts between (ci ; ci+4+k8 ) are sensitized, where k 2 f0; 1:::; (b((B , 1) , (i + 4))=8c)g.

3

log2 B .

... Level log2 B , 1 : For each cell-pair (ci ; ci+B=2 ), we apply the DBS S00 2 . All uCFdsts between (ci ; ci+(B=2)+kB ) are sensitized, where k 2 f0; 1:::; (b((B , 1) , (i + B=2))=B c)g.

#

1. Level 0: For each cell-pair (ci ; ci+1 ), we generate the DBOS found for 2-bit words: 2 = w11;

r11; r11; w00; r00; r00; w01; w10; r10; r10; w01; r01; r01. All uCFdsts between (ci ; ci+1+k2 ) are detected, where k 2 f0; 1:::; b((B , 1) , (i + 1))=2cg. Level 1: For each cell-pair (ci ; ci+2 ), we apply only the DBOS: 002 = w01; w10; r10; r10; w01; r01; r01; this

is sufficient because the DBOS: 02 = w11; r11; r11; w00; r00; r00 has already been applied in Level 0. The first operation w01 in 00t does not have to be followed by a read operation, because it is used only to connect the DBOSs of Level 0 and Level 1. All uCFdsts between (ci ; ci+2+k4 ) are detected, where k 2 f0; 1:::; (b((B ,1),(i+2))=4c)g. 3. Level 2: For each cell-pair (ci ; ci+4 ), we apply the DBOS 002 . All uCFdsts between (ci ; ci+4+k8 ) are detected, where k 2 f0; 1:::; (b((B ,1),(i+4))=8c)g. ... log2 B . Level log2 B , 1 : For each cell-pair (ci ; ci+B=2 ), we apply the DBOS

002 . All uCFdsts between (ci ; ci+(B=2)+kB ) are detected, where k 2 f0; 1:::; (b((B , 1) , (i + B=2))=B c)g.

0 1 2 3 4

Table 5. DBS for uCFdsts (B State Level # State

c0 c1 c2 c3 0000 1111 0000 0101 1010

0 0 0 0 0

5 6 7 8

Data

Level

c0 c1 c2 c3

0000 1111 1111 1111 0000 0000 0000 0101 1010 1010 1010

w r r w r r w w r r

0 0 0 0 0 0 0 0 0 0 0

#

= 4)

Operat.

Data

Level

c0 c1 c2 c3

11 12 13 14 15 16 17 18 19 20

w r r w w r r w r r

0101 0101 0101 0011 1100 1100 1100 0011 0011 0011

0 0 0 1 1 1 1 1 1 1

rCFdst: In order to be able to sensitize all rCFdsts, only the DBS of Level 0 (see Table 5) should be applied. This is sufficient, because this DBS can sensitize all CFdsts between adjacent cells. For rCFdsts d = 6 and t = 13. crCFdst: For the crCFdst fault type 16 subtypes exist: < wx ; wy ; l>ca1 ;ca2 ;cv and < rx ; ry ; l>ca1;ca2 ;cv ; where x; y 2 f0; 1g and l is an " or a # transition. Figure 2 shows a state diagram for sensitizing the crCFdsts, based on the transition write operations, for three adjacent cells c0 ; c1 ; c2 . The DBS for sensitizing the crCFdsts is derived from Figure 2 and similar to the case of uCFdsts, we can construct the DBOS to sensitize and detect all crCFdsts; see Table 7. The number of the DBs d is 12, and independent of B ; while the test length to detect all the intra-word crCFdsts within a given word is 27.

Table 5 and Table 6 show respectively the DBS and the DBOS for 4-bit words, requiring only Level 0 and Level 1 as discussed above. Table 4 gives an overview of the required test length (i.e., the number of operations required to sensitize and detect all uCFdsts), as a function of B . The required number of DBs (d) to sensitize all uCFdsts within B -bit words is: 6 fthe d used in Level 0g + 3 fthe d used in the other levelsg (dlog2 B e , 1) f the number of levels g = 3 + 3 dlog2 B e; which is identical to the d of uCFids. The test length for B -bit words is: 13 fthe number of operations used in Level 0g + 7 fthe number of operations used in the other levelsg (dlog2 B e , 1) = 6 + 7 dlog2 B e.

#

Operat.

0 1 2 3 4 5 6 7 8 9 10

Extending the 2-bit DBOS to a DBOS for B -bit words:

2.

Table 6. DBOS for uCFdsts (B

< r0 , r0 ;

>

< r0 , r1 ;

>

< r0 , r0 ;

< w0 , w1 ; > S

< w1 , w1 ; >

S

< w0 , w0 ; >

< r1 , r1 ;

< w1 , w0 ; >

S

111

>

< r0 , r1 ;

< w0 , w0 ; > S

000

>

< w0 , w1 ; > S

001

< w0 , w1 ; > < w1 , w1 ; >

S

110

< r1 , r0 ;

>

>

S

010

< w0 , w0 ; > < w1 , w0 ; >

S

101

< r1 , r1 ;

>

011

< w0 , w1 ; >

100

< r1 , r0 ;

>

Figure 2. State diagram for sensitizing crCFdsts for a 3-bit word

= 4)

c0 c1 c2 c3

Level

0101 0011 1100 0011

0 1 1 1

cCFdst: For the cCFdst, 8 subtypes exist:

< r0; :::; r0; l>ca0 ;:::;caB,2 ;cv , < r1; :::; r1; l>ca0 ;:::;caB,2 ;cv , < w0; :::; w0; l>ca0 ;:::;caB,2 ;cv and < w1; :::; w1; l >ca0 ;:::;caB,2 ;cv ; where l is an " or a #

transition. The DBS needed to sensitize all cCFdsts is identical to the DBS for cCFids [1]. The DBOS to sensitize and detect all cCFdsts is given in Table 8. The num4

ber of DBs is d = t = 6  (B + 1) + 3.

# 0 1 2 3 4 5 6 7 8 9 10 11 12 13

3  B + 2,

while the test length is

Table 7. DBOS for crCFdsts (B

Operation

Data

c0 c1 c2 c3

w r r w r r w w r r w r r

0000 1111 1111 1111 0000 0000 0000 0010 1101 1101 1101 0010 0010 0010

#

14 15 16 17 18 19 20 21 22 23 24 25 26 27

Operation

# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

= 4)

Data

c0 c1 c2 c3 w w r r w r r w w r r w r r

0100 1011 1011 1011 0100 0100 0100 0110 1001 1001 1001 0110 0110 0110

Table 8. DBOS for cCFdsts (B Operat.

Data c0 c1 c2 c3

w r r w r r w r r w r r w w r r

0000 1111 1111 1111 0000 0000 0000 0111 0111 0111 1000 1000 1000 0000 1011 1011 1011

#

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Operat.

= 4) Data c0 c1 c2 c3

w r r w w r r w r r w w r r w r r

0100 0100 0100 0000 1101 1101 1101 0010 0010 0010 0000 1110 1110 1110 0001 0001 0001

elements of the intra-word test can be made identical to those of the inter-word test, those intra-word march elements can be removed); and/or (2) Extra fault coverage for unanticipated faults. The latter can be optimized when the intra-word march test has the following properties: (a) It consists of many march elements; (b) All march elements start with a read; and (c) The addressing orders of the march elements of the intra-word march test vary as much as possible. This maximizes the probability of detecting dynamic faults such as write recovery faults [8].

5 Constructing WOM march tests for intraword coupling faults Any given BOM march test can be converted to a WOM test which additionally covers intra-word CFs (i.e., CFids, CFdsts and CFsts). Such a WOM march test is a concatenation of two march tests: f[inter-word march test] [ intraword march test]g. The inter-word march test consists of a traditional BOM test (such as MATS+ or March C,), modified such that the bit-operations `r0' , `r1' , `w0' and `w1' are replaced with the word-operations `rD ' , `rD ' , `wD ' and `wD ' ; whereby any data background value can be chosen for D. The intra-word march test is used to detect the intraword CFs. It consists of a single march element with the following form:

Below, an example is given to illustrate how the BOM March LR fm (w0); * (r0; w1); * (r1; w0; r0; w1); * (r1; w0); * (r0; w1; r1; w0); m (r0)g [5] can be converted into an optimized WOM march test such that intra-word uCFdsts will be detected for a 4-bit WOM. The conversion can be done as follows:

1. For CFsts: m (wD1 ; rD1 ; :::; wDd,1 ; rDd,1 ), whereby D1 through Dd,1 are taken from the set of DBs from Table 1 through 4. Note that the DBs can be applied in any order. 2. For CFdsts: m (wD1 ; rD1 ; rD1 ; :::; wDd,1 ; rDd,1 ; rDd,1 ), whereby the DBOS (consisting of the operations together with the DBs) is taken from Table 5 through 8.

a. The read operation r0 is added to march element M2 and r1 to M4 ; the result is the march test fm (w0); * (r0; w1); * (r1; w0; r0; r0; w1); * (r1; w0); * (r0; w1; r1; r1; w0); m (r0)g. These two read operations do not affect the fault coverage of the BOM march test. b. Convert the obtained BOM march test to a 4-bit interword march test; see Figure 3, first part. c. Concatenate the inter-word march with the intraword march test which is obtained by a sequence of march elements, each consisting of three operations `rDi ; wDi+1 ; rDi+1 ' , or four operations `rDi ; wDi+1 ; wDi+2 ; rDi+2 ' (see Table 6). The last march element of the intra-word march test consists of a single read operation which is used to check the last read operation in the previous march element (see Figure 3).

The above intra-word test may be modified as follows, without any impact on the fault coverage: (1) Extra read operations may be added (for example to make the test more symmetric and/or to detect possible faults of other fault models); and (2) The single march element may be divided into any number of march elements, and for each march element the addressing order can be chosen freely. The above freedom to modify the intra-word test allows for the following: (1)Test time reduction (If some march 5

1. WOM tests for CFsts, CFids and CFdst cover the SAFs, TFs, as well as CFins. This is due to the fact that the use of any DB value  ) value will detect those faults. (D) and its inverse (D The set of DBs for uCFsts (see Table 1), the DBS for uCFids and the DBOS for uCFdsts (see Table 6) all  ). contain a DB value (D) and its inverse (D 2. WOM tests for uCFids cover all uCFsts Sensitizing uCFids requires " an # transition write operations to an aggressor cell a, while the victim cell v is in state 0 and 1. This means that all four states will be occur; i.e., the states: (a; v ) 2 f(0; 0); (0; 1); (1; 0); (1; 1)g. This guarantees the detection of all uCFsts. 3. WOM tests for uCFdsts cover all uCFids The DBS S2 (of Section 4), based on the transition write operations (see Figure 1 and Table 5), will automatically sensitize all uCFids. Hence, WOM tests for uCFdsts cover all uCFids, uCFsts, uCFins, TFs and all SAFs.

d. Optimize the WOM march test of Figure 3 by deleting the redundant march elements of the intra-word test (e.g., the sequence of operations in M60 and M70 has already been used in M2 and M4 ). The march element M5 can be deleted, because the `r0000' in M80 can be used to check the `w0000' in M4 . The optimized version of the WOM march test based on March LR is shown in Figure 4. The test length changes from 14  n (for the BOM test) to 30  n=4 for a 4-bit WOM. In general, for a B -bit memory, this will be: (16 + 7  dlog2 B e)  n=B .

[ ( 0000); + ( 0000 11111); 0 1 * ( 1111 0000 0000 0000 1111); * ( 1111 0000); 2 3 * ( 0000 1111 1111 1111 0000); m ( 0000)]; 4 5 [* ( 0000 1111 1111); + ( 1111 0000 0000); 6 7 * ( 0000 0101 1010 1010); + ( 1010 0101 0101); 8 9 * ( 0101 0011 1100 1100); + ( 1100 0011 0011); 10 11 * ( 0011)]g fm

w

r

;w

M

r

;w

;r

M

;r

;w

r

;w

M

r

;w

M

;r

;r

;w

r

M

r

;w

;r

M

r

;w

r

r

M

;r

r

0

;w

;r

0

;w

M

;w

M

;w

0

;w

M

M

;r

r

0

;w

M

;r

0

;r

6.2 Relationships between memory organization and WOM tests

0

r

M

0

12

Generally a memory chip with a size of n bits, denoted by Mn , consists of s identical two-dimensional sub-arrays of memory cells. Each sub-array Mm contains m bits; m = q  r, where q is the number of columns and r the number of rows (i.e., n = s  m = s  q  r). Multiple sub-arrays are used instead of one single array to shorten the word and bit lines and thereby reduce the access time. WOMs can be organized internally in many different ways (depending on where the B bits of a word are physically located within a row of the memory cell array):

Figure 3. WOM march test based on March LR

[ ( 0000); 0 11111); * ( 1111 0000 0000 0000 1111); 1 2 0000); * ( 0000 1111 1111 1111 0000)]; 3 4 0101 1010 1010); + ( 1010 0101 0101); 00115 1100 1100); + ( 1100 6 0011 0011); 7 8 * ( 0011)]g fm

( 0000 * ( 1111 [* ( 0000 * ( 0101

+

r

;w

r

r

r

;w

;r

M

;w

r

w

M

r

;w

M

;w

;r

;r

;w

M

;w

;w

;r

M

;w

M

;r

r

0

;w

;w

M

;r

M

r

;r

0

;w

0

;r

M

1. Adjacent: a q -bit row in a sub-array contains w  B bits. The B bits of a word are adjacent. 2. Interleaved: a q -bit row in a sub-array contains w  B bits. The B bits of a word are spread across B groups [7] in such way that the bits of a B -bit word are interleaved with (i.e., separated by) w , 1 bits of the other B -bit words in that row. 3. Sub-arrays: each bit of a B bit word is taken form a different sub-array such that each of the B bits has the same address in each sub-array.

0

r

M

0

9

Figure 4. Optimized WOM for uCFdsts

6 Relationships of WOM march tests This section describes the following relationships: (1) Relationships between WOM tests, and (2) Relationships between memory organization and WOM tests.

Below, the consequences for the intra-word tests is analyzed for each of the memory organizations.

6.1 Relationships between WOM tests

1. Adjacent The proposed WOM tests for CFsts, CFids and CFdsts have to be fully applied. 2. Interleaved (also called folded) The bits of a B -bit word are physically interleaved (i.e., separated) with w ,1 bits of the other B -bit words. The

As already has been shown for BOM tests [8], also WOM tests can be designed such that a test for a more complex fault type covers the faults of the simpler fault types. Figure 5 shows the hierarchy in fault coverage of the discussed WOM tests for uCFs. For rCFs, crCFs, and cCFs the hierarchy can be constructed in a similar way: 6

probability that a CF between the cells of an external B -bit word occurs is diminished, but is still present because the intra-word CF model allows for CFs between any two cells in a word. The proposed WOM tests have to be fully applied. 3. Sub-arrays Each of the B bits of an external word is located in a different sub-array. BOM tests for CFs will detect the CFs within a B -bit word such that no intra-word tests are required.

Table 9. Test length for different fault types Fault type BOM test Test length SAF & TF MATS+ 5  n=B CFin March C, 10  n=B CFst March C, (10 + 4  dlog2 B e)  n=B CFid March C, (10 + 6  dlog2 B e)  n=B CFdst March LR (16 + 7  dlog2 B e)  n=B rCFst March C, 14  n=B rCFid March C, 16  n=B rCFdst March LR 24  n=B crCFst March C, 22  n=B crCFid March C, 28  n=B crCFdst March LR 37  n=B

In the case of the interleaved organization, the B bits of a word are spread across B groups. One can see that there are no neighboring cells belonging to the same word. This means that there are no adjacent cells within a word. Thus the regular BOM tests for CFs can be used for rCFs. We just need to replace a single-cell operation by a word operation (i.e., replace the `r0' with `rD ' , the `w0' with `wD ' , etc.).

SAFs TFs CFinvs

uCFsts

uCFids

inefficient because the BOM test, which has been designed for inter-word faults and single-cell faults, is repeated a number of times depending on the DB of the intra-word fault model. In addition, it has been shown that in order to detect intra-word CFs for intra-word CFdsts, a given sequence of DBs together with the appropriate read and write operations is required. Because of this, the traditionally used method of converting BOM tests into WOM tests is not only inefficient, but in addition, does not cover all targeted intra-word CFs.

uCFdsts

Figure 5. Relationships between the uCF tests

References [1] van de Goor, A.J. and Tlili, I.B.S. (1998). “March Tests for WordOriented Memories”, In Proc. Design Automation and Test in Europe, Paris 1998 (DATE98), pp. 501-508.

7 Conclusions

[2] Tlili, I.B.S. and van de Goor, A.J. (1997). “Tests for Word-Oriented Memories”, Technical Report No. 1-68340-44(1997)08, Delft University of Technology, Department of Electrical Engineering, Delft, The Netherlands.

This paper has presented a systematic way for constructing march tests for word-oriented memories; starting from march tests for bit-oriented memories. The fault models for intra-word faults have been defined; they can be chosen independent of the used inter-word faults. An optimal set of data backgrounds and operation sequences has been derived for the intra-word CFs (CFdsts and CFsts). It has been shown that a word-oriented test can be obtained from a bitoriented test by concatenating the bit-oriented test with a set of march elements which detect the intra-word CFs. Optimization techniques are presented to reduce the number of operations of the concatenated intra-word test. Table 9 gives an overview of the test length as a function of B for the different intra-word fault types (singlecell, coupling, restricted and concurrent restricted coupling faults) and a few well-known BOM march tests . By inspecting Table 9 we can see that the test length is O(n) for the different WOM march tests; it shows that for rCFs the test length is independent of B . The traditional way of converting a BOM test into a WOM test, by repeating the BOM test for each DB value, is

[3] de Jonge, J.H. and Smeulders, A.J. (1976). Moving Inversions Test Pattern is Thorough, Yet Speedy. Computer Design, May 1976, pp. 169173. [4] Nadeau-Dostie, B. et. al. (1990) “Serial Interfacing for Embedded Memories”, IEEE Design and Test, 7 (2), pp. 52-63. [5] van de Goor, A.J. (1996) “March LR: A test for Realistic Linked Faults”, In 14th VLSI Test Symposium-1996, pp. 272 - 280. [6] Dekker, R. (1990). “A Realistic Fault Model and Test Algorithms for Static Random Access Memories”, IEEE Trans. on Computers C-9) (6), pp. 567 - 572. [7] Nicolaidis, M. et. al. (1995). “Testing Complex Coupling Faults in Multiport Memories”, IEEE on VLSI Systems, Vol. 7 No. 1 March 1995, pp. 59-70. [8] van de Goor, A.J. (1998). “Testing Semiconductor Memories, Theory and Practice,” COMTEX Publishing, Gouda, The Netherlands. [9] Treuer, R.P. and Agarwal V.K. (1993). “Fault Location Algorithms for Repairable Embedded RAMs”, In Proc. of IEEE Int. Test Conf. 1993, pp. 825 - 834.

7