Memory Testing Algorithm

Embed Size (px)

DESCRIPTION

PPT

Citation preview

  • 5/22/2018 Memory Testing Algorithm

    1/50

    Memory Fault Models and

    Testing Algorithms

    Hardik Doshi

  • 5/22/2018 Memory Testing Algorithm

    2/50

    Memory Functional Faults

    Stuck at Faults (SAF)

    Transition Faults (TF)

    Coupling Faults (CF) Neighborhood Pattern Sensitive Faults (NPSF)

    2

  • 5/22/2018 Memory Testing Algorithm

    3/50

    Stuck at Faults (SAF)

    The logic value of a cell or line is stuck at always 0 or 1.

    Stuck at 0 (SA0) If stuck at always is 0 logic value.

    Stuck at 1 (SA1) if stuck at always is 1 logic value.

    From each cell, a 0 and 1 must be read.

    3

  • 5/22/2018 Memory Testing Algorithm

    4/50

    Stuck at Fault

    4

  • 5/22/2018 Memory Testing Algorithm

    5/50

    Transition Fault (TF)

    A special case of SAF is Transition Fault (TF).

    A cell or line which fails to undergo a from 0 to 1 when it is

    written is said to contain an up transition fault .

    A cell or line which fails to undergo a from 1 to 0 when it is

    written is said to contain an down transition fault.

    Each cell must undergo a transition and a transition, andbe read after each transition before any further transitions.

    5

  • 5/22/2018 Memory Testing Algorithm

    6/50

    Transition Fault (TF)

    6

    transition fault

  • 5/22/2018 Memory Testing Algorithm

    7/50

    Coupling Faults (CF)

    Write Operation which transits or in one cellchanges the contents of a second cell.

    Ci coupled to Cj means that an transition incell j causes or transition in cell i.

    Inversion Coupling Faults (Cfin)

    Idempotent Coupling Faults (Cfid)

    Bridging and State Coupling Faults

    7

  • 5/22/2018 Memory Testing Algorithm

    8/50

    State Transition Diagram of Two Good

    Cells, iand j

    8

    Sij represent the state of cell i and j.

  • 5/22/2018 Memory Testing Algorithm

    9/50

    Inversion & Idempotent Coupling Faults

    An or transition in one cell inverts thecontents of the second cell is called inversion

    coupling cell (Cfin).

    Ci is coupled to Cj means transition inCj inverts the content of the Ci.

    Ci Cj coupled to Cj means transition inCj inverts the content of the Ci.

    9

  • 5/22/2018 Memory Testing Algorithm

    10/50

    Inversion Coupling Cfin

    Sij represent the state of cell i and j

    10

  • 5/22/2018 Memory Testing Algorithm

    11/50

    Coupling Fault (CF)

    A CF is called Asymmetric fault when the coupled cell only undergoes from0 to 1 or a 1 to 0 transition due to fault.

    A CF is called Symmetric fault when the coupled cell undergo both from 0 to1 and from 1 to 0 due to fault.

    The Cfid is asymmetric fault and the Cfin is a symmetric fault.

    A CF is called one way CF if the CF is sensitized only upon one transition ofthe coupling cell.

    A CF is called two way CF if the CF is sensitized upon either transition of thecoupling cell.

    Single Cfid is a one way, asymmetric CF.

    Combination of the Cfids and is a two way asymmetric CF. 11

  • 5/22/2018 Memory Testing Algorithm

    12/50

    Idempotent Coupling Fault(Cifd)

    An or transition in one cell force thecontents of the second cell to a particular

    value 0 or 1 is called inversion coupling cell

    (Cfid).

    Ci is coupled to cj means transition in cell j would make 0 in cell i.

    Ci Cj , Ci Cj, Ci Cj12

  • 5/22/2018 Memory Testing Algorithm

    13/50

    Idempotent Coupling Fault Cfid

    Sij represent the state of cell i and j

    13

  • 5/22/2018 Memory Testing Algorithm

    14/50

    Neighborhood Pattern Sensitive Faults(NPSF)

    The content of a cell is influenced by the contents of all other cells in thememory. The content consists of a pattern of 0s and 1s, or changes inthese contents.

    Its also considered as K-coupling fault.

    Active NPSF

    Passive NPSF

    Static NPSF

    Memory Array

    b : Base cell

    d : Deleted Neighborhood cell

    b+d : Neighborhood

    14

    d

    d b d

    d

  • 5/22/2018 Memory Testing Algorithm

    15/50

    Active NPSF

    The base cell changes its contents due to a change in the

    deleted neighborhood pattern.

    This transition is in only one deleted neighbor cell whileother neighbor and bas cell contain a certain pattern.

    Example Ci,j

    where Ci,j is location of base cell.

    15

  • 5/22/2018 Memory Testing Algorithm

    16/50

    Passive & Static NPSF (PNPSF & SNPSF)

    The content of the base cell cant be changed due tocertain deleted neighborhood pattern.(PNPSF)

    The content of the base cell is forced to certain state dueto certain deleted neighborhood pattern.(SNPSF)

    Ci,j < 0,0,1,1; /x >

    Ci,j < 0,1,0,0; -/0 >

    16

  • 5/22/2018 Memory Testing Algorithm

    17/50

    Address Decoder Faults (AF)

    Fault 1 Ax

    Fault 2 Cx

    Fault 3 Cx

    Ay Cy

    Fault 4 AxAy Cx

    17

  • 5/22/2018 Memory Testing Algorithm

    18/50

    Address Decoder Fault Combinations(AF)

    Fault A:- (1+2) Ax Cx

    Fault B:- (1+3) Ax Cx

    Ay Ay Fault C:- (2+4) Ax Cx

    Ay Cy

    Fault D:- (3+4) Ax Cx

    Ay Cy

    18

  • 5/22/2018 Memory Testing Algorithm

    19/50

    Condition for detection AF

    The in a march element indicates thepresence of read or write operations.

    1. (rx,,wx)

    2. (rx,,wx)

    19

  • 5/22/2018 Memory Testing Algorithm

    20/50

    Linked and Unlinked Faults

    When the fault may influence the behavior of the other

    faults is called Linked Faults.

    When the fault does not influence the behavior of otherfaults called Unlinked Faults.

    SAF linked with TFs and CFs

    TFs linked with CFs

    Afs linked with SAFs/TFs/CFs

    20

  • 5/22/2018 Memory Testing Algorithm

    21/50

    Zero-One

    (w0);(r0);(w1);(r1);

    This test algorithm has minimum set to detect

    the fault

    All SAFs are detectable.

    TF is not detectable.

    CFs , and are not detectable.

    Not all Afs are detectable.

    21

  • 5/22/2018 Memory Testing Algorithm

    22/50

    Checkerboard

    22

    Cells are divided in two groups cell-1 & cell-2.

    0s and 1s are written alternate pattern and make the

    checkerboard pattern.

    All SAFs are detectable.

    Not all Afs ,TFs and CFs are detectable.

    Mainly used for sleeping sickness in DRAM chip.

    Pattern 1 Pattern 2

    1 0 1 0

    0 1 0 1

    1 0 1 0

    0 1 0 1

    0 1 0 1

    1 0 1 0

    0 1 0 1

    1 0 1 0

  • 5/22/2018 Memory Testing Algorithm

    23/50

    Walking 1/0

    Memory is filled with 0s(or 1s) except for the base-cell, whichcontains 1(respectively a 0).

    During Test, the base cell walks through the memory.

    All cells read with the base cell last.

    All Afs, SAF, TFs, Coupling faults are detectable.

    0 0 0 0

    0 1 0 0

    0 0 0 0

    0 0 0 0

    23

  • 5/22/2018 Memory Testing Algorithm

    24/50

    GALPAT

    Memory is filled with 0s(or 1s) except for the base-cell,which contains 1(respectively a 0).

    During Test, the base cell walks through the memory.

    Base cell is read after each cell of memory read.

    0 0 0 0

    0 1 0 0

    0 0 0 0

    0 0 0 0

    24

  • 5/22/2018 Memory Testing Algorithm

    25/50

    Sliding Diagonal

    Uses diagonal of base cell instead of single base cell because eachcell has a different row and column address so that it checking the

    row and column simultaneously.

    Writes diagonal 1s to background of 0s. All memory cells are read,after which diagonal is shifted until all diagonal are not covered.

    1 0 0 0 0 0 1 0

    0 1 0 0 0 0 0 1

    0 0 1 0 1 0 0 0

    0 0 0 1 0 1 0 0

    First Diagonal Third Diagonal

    25

  • 5/22/2018 Memory Testing Algorithm

    26/50

    MATS Algorithm MATS requires total 4*n operations.

    (w0); (r0,w1); (r1) ;

    M0 M1 M2

    M0=(w0); M1=(r0,w1); M2=(r1);

    M0:for :=0 to n-1 do

    begin

    A[i]:=0;

    end; Same for M1 and M2;

    Fault coverage is very poor not capable of detection of

    Coupling Faults.

    26

  • 5/22/2018 Memory Testing Algorithm

    27/50

    Moving 1/0 Algorithm

    (w0); (r0,w1,r1); (r1,w0,r0); (w1); (r1,w0,r0);(r0,w1,r1); Here ji (;) Operation Cj Ci

    M5 on Cj r0 0 0

    M5 on Cj w1 1 1

    M5 on Cj r1 1 1

    M5 on Ci r0 1 1

    j

  • 5/22/2018 Memory Testing Algorithm

    28/50

    MATS++ Algorithm

    (w0);(r0,w1);(r1,w0,r0);

    SAFs :- (M1) and (M2)

    TFs :- (M1 and M2) and (M2) Afs are detected by given above conditions.

    This algorithm cant detect any coupling faults.

    28

  • 5/22/2018 Memory Testing Algorithm

    29/50

    March X Algorithm

    (w0);(r0,w1);(r1,w0)(r0);

    All Afs are detected.

    SAF :- (M1 or M3) and (M2)

    TFs :- (M1 followed by M2) and (M2 followed by M3)

    Cfin (ji) :- Ci Cj detected by M1 followed by M2

    Ci Cj detected by M2 Idempotent faults ,(only when j

  • 5/22/2018 Memory Testing Algorithm

    30/50

    March C- Algorithm

    (w0);(r0,w1);(r1,w0);(r0,w1);(r1,w0);(r0);

    Unlinked Idempotent Coupling Faults(Cfid), SAF, TFS, Cfin, Afs.

    Ci Cj :- M3 followed by M4 and M1 followed by M2

    Ci is coupled to Cj means transition in j cell causes cell i to 0 logicvalue.

    30

    ji Operation Cj Ci

    M1 on Ci r0 0 0

    M1 on Ci w1 0 1M1 on Cj r0 0 1

    M1 on Cj w1 1 0

    M2 on Ci r1 1 0

  • 5/22/2018 Memory Testing Algorithm

    31/50

    March C- Algorithm (w0);(r0,w1);(r1,w0);(r0,w1);(r1,w0);(r0);

    Ci Cj :- M1 and M3

    Ci Cj :- M4 followed by M5 and M2 followed by M3

    31

    ji (;1) Operation Cj Ci

    M3 on Cj r0 0 0

    M3 on Cj w1 1 1

    M3 on Ci r0 1 1

    ji (;1) Operation Cj Ci

    M2 on Ci r1 1 1

    M2 on Ci w0 1 0

    M2 on Cj r1 1 0

    M2 on Cj w0 0 1

    M3 on Ci r0 0 1

  • 5/22/2018 Memory Testing Algorithm

    32/50

    March C- Algorithm

    (w0);(r0,w1);(r1,w0);(r0,w1);(r1,w0);(r0);

    Ci Cj :- M2 and M4

    Ci Cj :- M1 as well as M3 followed by M4 and M3

    Ci Cj:- M2 as well as M4 followed by M5 and M4

    32

    j

  • 5/22/2018 Memory Testing Algorithm

    33/50

    March A Algorithm

    (w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    AFs,SAFs Unlinked TFs

    Unlinked Cfins

    Linked Cfids

    33

  • 5/22/2018 Memory Testing Algorithm

    34/50

    March A Algorithm

    (w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    Ci Cj:- M2 and M1 as well as M4

    Ci Cj :- M1 as well as M2 and M4

    Ci Cj & Ci Cj:- M1 and M3

    34

    j

  • 5/22/2018 Memory Testing Algorithm

    35/50

    March A Algorithm

    (w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    Ci is coupled to Cj means transition in j cell causes cell i to 0 logicvalue.

    Ci Cj (possibly Ci Cj or Ci Cj) :- M2

    Ci Cj (possibly Ci Cj or Ci Cj) :- M1

    35

    j

  • 5/22/2018 Memory Testing Algorithm

    36/50

    March A Algorithm

    (w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    Ci Cj (not possibly Ci Cj or Ci Cj) :- M2 Ci Cj (not possibly Ci Cj or Ci Cj) :- M1

    36

    j

  • 5/22/2018 Memory Testing Algorithm

    37/50

    March A Algorithm

    (w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    Ci is coupled to Cj means transition in j cell causes cell i to 0 logicvalue.

    Ci Cj (possibly Ci Cj or Ci Cj ) :- M3 Ci Cj (possibly Ci Cj or Ci Cj ) :-M4

    37

    j>i (;0) Operation Cj Ci

    M3 on Cj r1 1 1

    M3 on Cj w0 0 0

    M3 on Cj w1 1 0/1

    M3 on Cj w0 0 0

    M4 on Ci r1 0 0

    j>i (;1) Operation Cj Ci

    M4 on Cj r0 0 0

    M4 on Cj w1 1 0/1

    M4 on Cj w0 0 1

    M4 on Ci r0 0 1

  • 5/22/2018 Memory Testing Algorithm

    38/50

    March A Algorithm

    (w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    Ci is coupled to Cj means transition in j cell causes cell i to 0 logicvalue.

    Ci Cj (not possibly Ci Cj or Cj) :- M3

    Ci Cj (not possibly Ci Cj or Cj) :-M4

    38

    j>i (;0) Operation Cj Ci

    M3 on Cj r1 1 1

    M3 on Cj w0 0 1

    M3 on Cj w1 1 0

    M3 on Cj w0 0 0

    M4 on Ci r1 0 0

    j>i (;1) Operation Cj Ci

    M4 on Cj r0 0 0

    M4 on Cj w1 1 1

    M4 on Cj w0 0 1

    M4 on Ci r0 1 1

  • 5/22/2018 Memory Testing Algorithm

    39/50

    March Y Algorithm

    (w0);(r0,w1,r1);(r1,w0,r0);(r0);

    AFs,SAFs are detectable.

    TFs,Cfins are detectable. TFs linked with Cfins.

    Ci Cj, Ci Cj Idempotent Faults are detectable.(j>i and j

  • 5/22/2018 Memory Testing Algorithm

    40/50

    March Y Algorithm

    (w0);(r0,w1,r1);(r1,w0,r0);(r0);

    Ci Cj :- M2 (j>i)

    Ci Cj :- M1 (j

  • 5/22/2018 Memory Testing Algorithm

    41/50

    March B Algorithm

    (w0);(r0,w1,r1,w0,r0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0);

    Afs ,SAFs are detectable.

    TFs ,CFs are detectable.

    TF Linked Cfins & Cfids are detectable due to extra read operation is

    performed immediately after the transition.

    This extra read is not allowed TFs to masked by CFs because no

    other write operations are performed to other cells.

    41

  • 5/22/2018 Memory Testing Algorithm

    42/50

    Comparison Between March Algorithms

    Algorithms No. of Operation Fault Coverage

    Mats 4n SAF, Some AF

    Mats++ 6n SAF,AF

    March X 6n SAF, AF, TF, Cfin

    March C- 10n SAF, AF, TF,CF

    March A 15n SAF, AF, TF, Linked Cfid ,Cfin

    March Y 8n SAF, AF, Linked TF with Cfin

    March B 17n SAF, AF, Linked TF with CFin &

    CFid

    42

  • 5/22/2018 Memory Testing Algorithm

    43/50

    Moving Inversion (MOVI)

    (w0);(r0,w1,r1);(r1,w0,r0);(r0,w1,r1);(r1,w0,r0)

    MOVI used for functional test as well as the AC Parametric

    test.

    Any read or write operation in cell j disturb the content ofcell i will detect and also determine best & worst access

    time with different address and different data pattern of

    the chip.

    Memory initialized to contain all 0s then this string of 0s isinverted successively to become all 1s and vice versa.

    43

  • 5/22/2018 Memory Testing Algorithm

    44/50

    Moving Inversion (MOVI)

    Detection of read /write disturbances

    44

    Operation on

    bit j

    Disturbance of bit i Fault detected by

    j>i i>j

    r0 M3 M1 M4 M2

    r1 M3 M1

    M4 M2

    w0 M2-M3 M0-M1

    M4 M2

    w1 M3 M1

    M1-M2 M3-M4

  • 5/22/2018 Memory Testing Algorithm

    45/50

    Moving Inversion (MOVI)

    Determination of the access time

    45

    Current Next Performed by

    March

    element

    Address Operation Address Operation

    Ax r0 Ay r1 M2

    Ay r0 Ax r1 M4

    Ax r1 Ay r0 M1

    Ay r1 Ax r0 M3

  • 5/22/2018 Memory Testing Algorithm

    46/50

    Future Work

    Test time and test operations are crucial factor formemory testing.

    Develop such algorithm that find the maximum fault

    coverage with efficient test time and test operation.

    Develop effective algorithm which can find the

    dynamic and physical defect fault with functional

    faults.

    Write recovery, Refresh line stuck-at, Sleepingsickness, Static data loss.

    46

  • 5/22/2018 Memory Testing Algorithm

    47/50

    Conclusion

    Zero-one, Checkerboard are simple algorithms to test only SAFs

    and address decoder faults.

    GALPAT, Sliding window are used to test for coupling faults.

    March algorithms are very well suitable with different patterns

    to detect the common memory functional faults.

    March B and March Y are covered to detect most of the

    functional faults but it requires many operations and too much

    time so that trade off requires between time of test, operation

    to fault detection.

    NPS fault are also crucial in large density memory to test but

    these types of faults are complicated, not easy to locate and

    requires large time to test them.

    47

  • 5/22/2018 Memory Testing Algorithm

    48/50

    Reference

    Testing Semiconductor Memories by Van De

    Goor

    Design For Testability by wang-wu-wen

    48

  • 5/22/2018 Memory Testing Algorithm

    49/50

    49

    Any Question

  • 5/22/2018 Memory Testing Algorithm

    50/50

    Thank You