Understanding memory fault models - Embedded.com

Understanding memory fault models

A different set of fault models and testing techniques is required for memory blocks vs. logic. MBIST algorithms that are used to detect faults inside memory are based upon these fault models. This article discusses different types of memory fault models.

Memory fault models – Single cell faults

Stuck at (SAFs): Stuck at faults in memory is the one in which the logic value of a cell (or line in the sense amplifier or driver) is always 0 or 1.

Left: Write operation state diagram of a good memory cell; Right: State diagram for s-a-0 and s-a-1 memory cell

Transition Faults (TFs): In transition faults a cell fails to make a (0 to 1) transition or a (1 to 0) transition when it is written; up transition fault is denoted as <0w1/0/- > and a down transition fault is denoted as < 1w0/1/- >

State diagram for transition faults

Write destructive faults (WDFs): A non transition write operation in a memory cell causes the cell to flip. There are two types of Write destructive faults:

1) Memory cell in state 0, write 0 on it. Cell becomes 1. Denoted as <0w0/1/->

2) Memory cell in state 1, write 1 on it. Cell becomes 0.Denoted as <1w1/0/->

State diagram for write destructive faults

Read destructive Faults (RDFs): A read operation is performed to the cell causes inversion of the value in the cell and returns the incorrect value. There are two types of read destructive faults:

1) Memory cell in state 0, read 0 on it. Cell becomes 1. Denoted as < 0r0/1/1>

2) Memory cell in state 1, read 1 on it. Cell becomes 0.Denoted as < 1r1/0/0>

Read operations state diagram of good memory cell

State diagram for read destructive faults

Incorrect read Faults (IRFs): A read operation is performed to the cell returns an incorrect value, while the state of the memory cell is not changed. There are two types of incorrect read faults:

1) Memory cell in state 0, read 0 on it. Cell remains 0 but read operation returns 1. Denoted as <0r0/0/ 1>

2) Memory cell in state 1, read 1 on it. Cell remains 1 but read operation returns 0. Denoted as <1r1/1/0 >

State diagram for incorrect read faults

Deceptive read destructive Faults (DRDFs): A read operation is performed to the cell causes the inversion of the value in the cell and returns the correct value. There are two types of deceptive read destructive faults:

1) Memory cell in state 0, read 0 on it. Cell becomes 1 but read operation returns 0. Denoted as < 0r0/1/ 0>

2) Memory cell in state 1, read 1 on it. Cell becomes 0 but read operation returns 1. Denoted as < 1r1/0/1>

State diagram for Deceptive read destructive faults

Stuck open Faults (SOFs): In this Fault memory word cannot be accessed. When the sense amplifier contains a latch then during a read operation the previously read value may be produced. If differential amplifier behaves as a buffer it can be modeled as stuck at fault.

Address decoder Faults (ADFs): Row and column decoder comprises the address decoder of a memory. From the context of memory testing four types of faults are considered in address decoder.

AF1: With certain address no word can be accessed

AF2: No address from which a particular word can be accessed.

AF3: With certain address multiple words can be accessed simultaneously.

AF4: A certain word can be accessed with multiple addresses.

Memory fault models – Two cell faults

Coupling Faults (CFs): Coupling faults are faults in which fault occurs in a cell because of coupling with other cells.

–        There can be exponential number of combinations in which a cell can be coupled with others cells.

–        In the widely used coupling fault model it is assumed that any “two” cells can be coupled together leading to irregular behavior in these two cells; it is called 2-cell coupling fault model.

So if there are n cells in a memory then there can be n C2  number of 2-cell coupling faults.

Left: Write operation state diagram between two good memory cells; Right: Read operation state diagram between two good memory cells

Inversion Coupling Faults (CFin): An upper (0 to 1) or lower (1 to 0) transition write operation in aggressor word causes an inversion in the cell of a victim word. These faults are never being observed in a faulty memory cells and are just defined due to historical reasons [1]. Therefore, they are not included in the linked faults list.

1)     Rising : < ↑ | ↕ > (Implying 0 to 1 change in cell a complements the content of cell v )

2)     Falling :  < ↓ | ↕ > (Implying 1 to 0 change in cell a complements the content of cell v )

State diagrams of inversion coupling faults

Idempotent coupling Faults (CFid): An upper (0 to 1) or lower (1 to 0) transition write operation in cell of aggressor word forces a certain value (0 or 1) in a cell of the victim word. These faults are subset of CFds fault (explained later) as a write operation causes the content of the v cell to flip from its previous state.

1)     Rising 0: < ↑ | 0 > 0 to 1 change in a cell a sets the content of cell v to be 0.

2)     Rising 1: < ↑ | 1 > 0 to 1 change in a cell a sets the content of cell v to be 1.

3)     Falling 0: < ↓ | 0 > 1 to 0 change in a cell a sets the content of cell v to be 0.

4)     Falling 1: < ↓ | 1 > 1 to 0 change in a cell a sets the content of cell v to be 1.

State diagram of Idempotent coupling faults

Static coupling Faults (CFst): A given value 0 or 1 of the cell in the aggressor word forces a certain value 0 or 1 in a cell of the victim word.

1)     (0 in cell a sets the content of the cell v to be 0)

2)     (0 in cell a sets the content of the cell v to be 1)

3)     (1 in cell a sets the content of the cell v to be 0)

4)     (1 in cell a sets the content of the cell v to be 1)

State diagram for static coupling Faults

Disturb cell coupling Faults (CFds): A cell in the victim word is disturbed (i.e., makes an upper or a lower transition) due to a write or read operation over the aggressor word.

1)     < 0r0, ↑ >, 0 read operation on cell a cause’s upper (0 to 1) transition in cell v .

2)     < 0r0, ↓ >, 0 read operation on cell a cause’s lower (1 to 0) transition in cell v .

3)     < 1r1, ↑ >, 1 read operation on cell a cause’s upper (0 to 1) transition in cell v .

4)     < 1r1, ↓ >, 1 read operation on cell a cause’s lower (1 to 0) transition in cell v .

5)     < 0w1, ↑ >, (0 to 1) write operation on cell a cause’s upper (0 to 1) transition in cell v .

6)     < 0w1, ↓ >, (0 to 1) write operation on cell a cause’s lower (1 to 0) transition in cell v .

7)     < 0w0, ↑ >, (0 to 0) write operation on cell a cause’s upper (0 to 1) transition in cell v .

8)     < 0w0, ↓ >, (0 to 0) write operation on cell a cause’s lower (1 to 0) transition in cell v .

9)     < 1w0, ↑ >, (1 to 0) write operation on cell a cause’s upper (0 to 1) transition in cell v .

10)  < 1w0, ↓ >, (1 to 0) write operation on cell a cause’s lower (1 to 0) transition in cell v .

11)  < 1w1, ↑ >, (1 to 1) write operation on cell a cause’s upper (0 to 1) transition in cell v .

12)  < 1w1, ↓ >, (1 to 1) write operation on cell a cause’s lower (1 to 0) transition in cell v .

State diagram of disturb cell coupling faults

Transition coupling faults (CFtr): A write transition operation applied to a cell of the victim word does not cause a transition if the aggressor word is in a given state.

1)     (0w1/0/-; 0) 0 to 1 transition write operation in cell v does not cause transition when content of cell a  is 0

2)     (0w1/0/-; 1) 0 to 1 transition write operation in cell v does not cause transition when content of cell a is 1

3)     (1w0/1/-; 0) 1 to 0 transition write operation in cell v does not cause transition when content of cell a is 0

4)     (1w0/1/-; 1) 1 to 0 transition write operation in cell v does not cause transition when content of cell a is 1

State diagram of transition coupling faults

Write destructive coupling faults (CFwd): A non-transition write operation applied to a cell of the victim word flips the cell if the aggressor word is in a given state.

1)     (0w0/1/-; 0) 0 to 0 non-transition write operation in cell v causes transition when content of cell a is 0

2)     (0w0/1/-; 1) 0 to 0 non-transition write operation in cell v causes transition when content of cell a is 1

3)     (1w1/0/-; 0) 1 to 1 non-transition write operation in cell v causes transition when content of cell a is 0

4)     (1w1/0/-; 1) 1 to 1 non-transition write operation in cell v causes transition when content of cell a is 1

State diagram of write destructive faults

Read destructive coupling faults (CFrd): A read operation applied to a cell of the victim word causes a transition and returns an incorrect value, if the aggressor word is in a given state.

1)     (0r0/1/1; 0) 0 read operation in cell v causes transition in the cell and returns the incorrect value when content of cell a  is 0

2)     (0r0/1/1; 1) 0 read operation in cell v causes transition in the cell and returns the incorrect value when content of cell a  is 1

3)     (1r1/0/0; 0) 1 read operation in cell v causes transition in the cell and returns the incorrect value when content of cell a  is 0

4)     (1r1/0/0; 1) 1 read operation in cell v causes transition in the cell and returns the incorrect value when content of cell a  is 1

State diagram of read destructive coupling Faults

Incorrect read coupling faults (CFir): A read operation applied to a cell of the victim word returns an incorrect value if the aggressor word is in a given state. The state of the victim word is not changed.

1)     (0r0/0/1; 0) 0 read operation in cell v returns the incorrect value when content of cell a  is 0

2)     (0r0/0/1; 1) 0 read operation in cell v returns the incorrect value when content of cell a  is 1

3)     (1r1/1/0; 0) 1 read operation in cell v returns the incorrect value when content of cell a  is 0

4)     (1r1/1/0; 1) 1 read operation in cell v returns the incorrect value when content of cell a  is 1

State diagram of Incorrect read faults

This site uses Akismet to reduce spam. Learn how your comment data is processed.