Memory Testing
Memory Testing
1
Test Time in Seconds
(Memory Size n Bits, Memory Cycle Time 60ns)
Fault Types
– Permanent
• System is broken and stays broken the
same way indefinitely
– Transient
• Fault temporarily affects the system
behavior, and then the system reverts to the
good machine
• Time dependency, caused by environmental
condition
– Intermittent
• Sometimes causes a failure, sometimes
does not
4
2
Failure Mechanisms
• Permanent faults:
– Missing/Added Electrical Connection
– Broken Component (IC mask defect or silicon-
to-metal connection)
– Burnt-out Chip Wire
– Corroded connection between chip & package
– Chip logic error (Pentium division bug)
• Transient Faults:
– Cosmic Ray
– An a particle (ionized Helium atom)
– Air pollution (causes wire short/open)
– Humidity (temporary short)
– Temperature (temporary logic error)
– Pressure (temporary wire open/short)
– Vibration (temporary wire open)
– Power Supply Fluctuation (logic error)
– Electromagnetic Interference (coupling)
– Static Electrical Discharge (change state)
– Ground Loop (misinterpreted logic value)
3
• Intermittent Faults:
– Loose Connections
– Aging Components (changed logic delays)
– Hazards and Races in critical timing paths (bad
design)
– Resistor, Capacitor, Inductor variances (timing
faults)
– Physical Irregularities (narrow wire -- high
resistance)
– Electrical Noise (memory state changes)
• Corrosion
• Electromigration
• Bonding Deterioration
– Au package wires interdiffuse with Al chip pads
• Ionic Contamination
– Na+ diffuses through package and into FET gate oxide
• Alloying
– Al migrates from metal layers into Si substrate
• Radiation and Cosmic Rays
– 8 MeV, collides with Si lattice, generates n-p pairs, causes
soft memory error
4
Memory Test Levels
Chip,
Array, &
Board
5
-- Complement the cell contents
-- Increasing memory addressing
11
6
Fault Modeling
13
14
7
Simplified Functional Model
15
Functional Faults
Fault
SAF Stuck-at fault
TF Transition fault
CF Coupling fault
NPSF Neighborhood Pattern Sensitive fault
16
8
Stuck-at Faults
• Manifestation:
– The logic value of a cell or line is always at 0 or 1.
• Necessary condition for detection:
– For each cell, a 0 and a 1 must be read.
17
18
9
Transition Faults
19
20
10
Transition Faults (contd.)
21
Coupling Faults
22
11
Inversion Coupling Faults (CFin)
23
CFin (contd.)
• Theorem:
– Not all linked CFin’s are detected by March
tests.
24
12
CFin: Good Machine State
25
26
13
Idempotent Coupling Faults (CFid)
28
14
Dynamic Coupling Faults (CFdyn)
29
Bridging Faults
30
15
Address Decoder Faults (ADFs)
31
• Theorem:
– A March test satisfying the following
conditions detects all address decoder faults:
a) (rx, ………, wx)
b) (rx, ………, wx)
where the dots indicate any number of read or
write operations.
32
16
Reduced Functional Faults
33
17
Irredundant March Tests
Algorithm Description
MATS { (w0); (r0, w1); (r1) }
MATS+ { (w0); (r0, w1); (r1, w0) }
MATS++ { (w0); (r0, w1); (r1, w0, r0) }
MARCH X { (w0); (r0, w1); (r1, w0); (r0) }
MARCH { (w0); (r0, w1); (r1, w0);
C-- (r0, w1); (r1, w0); (r0) }
MARCH A { (w0); (r0, w1, w0, w1); (r1, w0, w1);
(r1, w0, w1, w0); (r0, w1, w0) }
MARCH Y { (w0); (r0, w1, r1); (r1, w0, r0); (r0) }
MARCH B { (w0); (r0, w1, r1, w0, r0, w1);
(r1, w0, w1); (r1, w0, w1, w0);
(r0, w1, w0) }
35
36
18
March Test Complexity
Algorithm Complexity
MATS 4n
MATS+ 5n
MATS++ 6n
MARCH X 6n
MARCH C-- 10n
MARCH A 15n
MARCH Y 8n
MARCH B 17n
37
MATS+:
{ M0: (w0); M1: (r0, w1); M2: (r1, w0) }
38
19
MATS+ Example:: Cell (2, 1) SA1 Fault
MATS+:
{ M0: (w0); M1: (r0, w1); M2: (r1, w0) }
39
MATS+:
{ M0: (w0); M1: (r0, w1); M2: (r1), w0 }
40
20
Pattern Sensitive Faults
41
42
21
Type 1 Active NPSF
43
44
22
Passive NPSF
• Passive:
– A certain neighborhood pattern prevents the
base cell from changing
• ↑/ 0 (↓
↓ /1) -- Base cell fault effect
indicating that base cannot change
45
Static NPSF
• Static:
– Base cell forced into a particular state when
deleted neighborhood contains particular pattern.
• Differs from active -- need not have a
transition to sensitive SNPSF
• Condition for detection and location:
– Apply all 0 and 1 combinations to k-cell
neighborhood, and verify that each base cell was
written.
• Ci,j < 0, 1, 0, 1; - / 0> and
Ci,j < 0, 1, 0, 1; - / 1>
46
23
Number of NPSFs
• Active Neighborhood Pattern Sensitive Faults (ANPSF)
– Base cell 0 and 1
• ↑ and ↓ transitions in k – 1 cells
– All 0-1 patterns in k – 2 cells
– 2 (k – 1) 2 × 2k – 2 = (k – 1) 2k patterns
• Passive Neighborhood Pattern Sensitive Faults (PNPSF)
– Base cell ↑ and ↓ transition
• All 0-1 patterns in k – 1 cells
– 2 × 2k – 1 = 2k patterns
• Total APNPSF patterns = (k – 1) 2k + 2k = k 2k
• Static Neighborhood Patterns (SNP) = 2k
Start
000 010 101 111
Deleted
neighborhood 001 011
patterns
Hamiltonian path for SNPSF
Eulerian path for ANPSF
24
• Euler Path:
– It is a path in a graph that traverses every edge
of the graph exactly once.
• Hamiltonian Path:
– It is a path that starts with some vertex of a
graph, and traverses every vertex exactly
once.
49
Hamiltonian Path, k = 5
1011
1111
1001
1101
0011
0111 1010
1110
0001
0101 1000
1100
0010
0110
0000
0100
25
Tiling for Type-1 Neighborhood
1 2 3 0 0 1 2 3 0 0 1 2
0 4 0 1 2 3 4 0 1 2 3 4
0 1 2 3 4 0 1 2 3 4 0 0
1 2 3 4 0 1 2 3 4 0 1 2
4 4 2 3 4
0 0 1 2 3 0 1
Static neighborhood
patterns sensitive n × 2k n × 2k / k
faults (SNPSF)
Active and passive
neighborhood pattern
n × k × 2k n × k × 2k / k
sensitive faults
(APNPSF)
k = neighborhood size = 5 or 9
26
Type 1 Tiling Neighborhoods
53
54
27
NPSF Fault Detection
and Location Algorithm
1. write base-cells with 0;
2. loop
apply a pattern; { it could change the base-
cell from 0 to 1. }
read base-cell;
endloop;
3. write base-cells with 1;
4. loop
apply a pattern; { it could change the base-
cell from 1 to 0. }
read base-cell;
endloop;
55
28
NPSF Testing Algorithms
57
Fault Hierarchy
58
29
Memory Testing Summary
59
30