Title: Testing Semiconductor Memories
1Testing Semiconductor Memories
Cheng-Wen Wu ???
- Lab for Reliable Computing
- Dept. Electrical Engineering
- National Tsing Hua University
2Outline
- Introduction
- RAM functional fault models and test algorithms
- RAM fault-coverage analysis
- Cocktail-March for testing word-oriented memories
- Testing multi-port RAMs
- Testing CAMs
- Testing flash memories
3Introduction
- Memory testing is a more and more important issue
- RAMs are key components for electronic systems
- Memories represent about 30 of the semiconductor
market - Embedded memories are dominating the chip yield
- Memory testing is more and more difficult
- Growing density, capacity, and speed
- Emerging new architectures and technologies
- Embedded memories access, diagnostics repair,
heterogeneity, custom design, power noise,
scheduling, compression, etc. - Cost drives the need for more efficient test
methodologies - IFA, fault modeling and simulation, test
algorithm development and evaluation,
diagnostics, DFT, BIST, BIRA, BISR, etc. - Test automation is required
- Failure analysis, fault simulation, ATG, and
diagnostics - BIST/BIRA/BISR generation
4Typical RAM Production Flow
Wafer
5Scope of RAM Testing
- Parametric Test DC AC
- Reliability Screening
- Long-cycle testing
- Burn-in static dynamic BI
- Functional Test
- Device characterization
- Failure analysis
- Fault modeling
- Simple but effective (accurate realistic?)
- Test algorithm generation
- Small number of test patterns (data backgrounds)
- High fault coverage
- Short test time
6RAM Models
- Behavior Level
- Verilog/VHDL
- Function Level
- Verilog/VHDL/Block diagram
- Normally not synthesizable
- Circuit Level
- Spice/Schematic
- Layout Level
- GDS-II/Geometry
- Who should provide the model?
7Memory Function Model Example
8RAM Fault Models (Static)
- Address-Decoder Fault (AF)
- No cell accessed by certain address
- Multiple cells accessed by certain address
- Certain cell not accessed by any address
- Certain cell accessed by multiple addresses
- Stuck-At Fault (SAF)
- Cell (line) SA0 or SA1
- Transition Fault (TF)
- Cell fails to transit from 0 to 1 or 1 to 0
9RAM Fault Models (Static)
- Bridging Fault (BF)
- Short between cells
- AND type or OR type
- Stuck-Open Fault (SOF)
- Cell not accessible due to broken line
- Neighborhood Pattern Sensitive Fault (NPSF)
- Active (Dynamic) NPSF
- Passive NPSF
- Static NPSF
10RAM Fault Models (Static)
- Coupling Fault (CF)
- State Coupling Fault (CFst)
- Coupled (victim) cell is forced to 0 or 1 if
coupling (aggressor) cell is in given state - Inversion Coupling Fault (CFin)
- Transition in coupling cell complements (inverts)
coupled cell - Idempotent Coupling Fault (CFid)
- Coupled cell is forced to 0 or 1 if coupling cell
transits from 0 to 1 or 1 to 0
11RAM Fault Models (Dynamic)
- Recovery Fault (RF)
- Sense Amplifier Recovery Fault (SARF)
- Sense amp saturation after reading/writing long
run of 0 or 1 - Write Recovery Fault (WRF)
- Write followed by reading/writing at different
location resulting in reading/writing at same
location - Write-after-write recovery fault
- Read-after-write recovery fault
- Results in functional faults---detected at high
speed (e.g., GALROW/GALCOL) - Disturb Fault (DF)
- Victim cell forced to 0 or 1 if we read or write
aggressor cell (may be the same cell)
12RAM Fault Models (Dynamic)
- Data Retention Fault (DRF)
- DRAM
- Refresh Fault
- Refresh-Line Stuck-At Fault
- Leakage Fault
- Sleeping Sickness---loose data in less than
specified hold time (typically tens of ms) - SRAM
- Leakage Fault
- Static Data Losses---defective pull-up
- Checkerboard pattern triggers max leakage
- BIST good for sync with refresh mechanism
13Test Time Complexity (100MHz)
14RAM Test Algorithm
- A test algorithm (or simply test) is a finite
sequence of test elements - A test element contains a number of memory
operations (access commands) - Data pattern (background) specified for the Read
operation - Address (sequence) specified for the Read and
Write operations - A march test algorithm is a finite sequence of
march elements - A march element is specified by an address order
and a number of Read/Write operations
15Classical Test Algorithms
- Zero-One Algorithm Breuer Friedman 1976
- Also known as MSCAN
- For SAF
- Solid background (pattern)
- Complexity is 4N
16Classical Test Algorithms
- Checkerboard Algorithm
- Zero-one algorithm with checkerboard pattern
- Complexity is 4N
- For SAF and DRF
17Classical Test Algorithms
- Galloping Pattern (GALPAT)
- Complexity is 4N2---only for characterization
- All AFs,TFs, CFs, and SAFs are located
1. Write background 0 2. For BC 0 to N-1
Complement BC For OC 0 to N-1, OC !
BC Read BC Read OC
Complement BC 3. Write background 1 4. Repeat
Step 2
18Classical Test Algorithms
- Sliding (Galloping) Row/Column/Diagonal
- Based on GALPAT, but instead of a bit, a complete
row, column, or diagonal is shifted - Complexity is 4N1.5
19Classical Test Algorithms
- Butterfly Algorithm
- Complexity is 5NlogN
1. Write background 0 2. For BC 0 to N-1
Complement BC dist 1 While dist lt
mdist / mdist lt 0.5 col/row length /
Read cell _at_ dist north from BC
Read cell _at_ dist east from BC
Read cell _at_ dist south from BC
Read cell _at_ dist west from BC
Read BC dist 2 Complement BC 3.
Write background 1 repeat Step 2
20Classical Test Algorithms
- Moving Inversion (MOVI) Algorithm De Jonge
Smeulders 1976 - For functional and AC parametric test
- Functional (13N) for AF, SAF, TF, and most CF
- Parametric (12NlogN) for Read access time
- 2 successive Reads _at_ 2 different addresses with
different data for all 2-address sequences
differing in 1 bit - Repeat T2T5 for each address bit
- GALPAT---all 2-address sequences
21Classical Test Algorithms
- Surround Disturb Algorithm
- Examine how the cells in a row are affected when
complementary data are written into adjacent
cells of neighboring rows
1. For each cellp,q / row p and column q /
Write 0 in cellp,q-1 Write 0 in
cellp,q Write 0 in cellp,q1
Write 1 in cellp-1,q Read 0 from
cellp,q1 Write 1 in cellp1,q
Read 0 from cellp,q-1 Read 0 from
cellp,q 2. Repeat Step 1 with complementary
data
22Classical Test Algorithms
- Zero-one and checkerboard algorithms do not have
sufficient coverage - Other algorithms are too time-consuming for large
RAM - Test time is the key factor of test cost
- Complexity ranges from N2 to NlogN
- Need linear-time test algorithms with small
constants - March test algorithms
23March Tests
- Zero-One (MSCAN)
- Modified Algorithmic Test Sequence (MATS) Nair,
Thatte Abraham 1979 - OR-type address decoder fault
- AND-type address decoder fault
- MATS Abadir Reghbati 1983
- For both OR- AND-type AFs and SAF
24March Tests
- Marching 1/0 Breuer Friedman 1976
- For AF, SAF, and TF
- MATS Goor 1991
- Also for AF, SAF, and TF
- Complete and irredundant
25March Tests
- March X
- For AF, SAF, TF, CFin
- March C Marinescu 1982
- For AF, SAF, TF, all CFs---redundant
- March C- Goor 1991
- Also for AF, SAF, TF, all CFs---irredundant
26March Tests
- Limitations
- Sequential faults in address decoders
- RF
- NPSF
- ?(9N-2) for 2-CF Marinescu 1982
- ?(2NlogN11N) for 3-CF Cockburn 1994
- Solutions
- Address sequence variation
- Hopping
- Pseudorandom
27Coverage of March Tests
- Extended March C- (11N) has a 100 coverage of
SOF
28Testing Word-Oriented RAM
- Background bit is replaced by background word
- MATS
- Conventional method is to use logm1 different
backgrounds for m-bit words - m8 00000000, 01010101, 00110011, and 00001111
- Apply the test algorithm logm14 times, so
complexity is 46N/83N
29Cocktail-March Algorithms
- Motivation
- Repeating the same algorithm for all logm1
backgrounds has redundancy - Different algorithm targets different faults
- Approach
- Use multiple backgrounds in a single algorithm
run - Merge and forge different algorithms and
backgrounds into a single algorithm - Good for word-oriented memories
30March-CW
- Algorithm
- March C- for solid background (0000)
- Then a 5N March for each of other standard
backgrounds (0101, 0011) - Result
- Complexity is (105logW)N, where W is word length
and N is word count - Test time is reduced by 39 if W4, as compared
with extended March C- - Improvement increases as W increases
31Comparison (Full Coverage)
32Testing NPSF
- NPSF test approaches
- Tiling
- Multi-background march
- Easy BIST implementation
- 5-cell neighborhood
33NPSF Models
- Static NPSF (SNPSF)
- BC forced to a certain state due to a certain
deleted neighborhood (DN) pattern - Passive NPSF (PNPSF)
- BC frozen due to a certain DN pattern
- Active NPSF (ANPSF)
- BC content changes due to a change in DN pattern
- Change a transition in one DN cell, with other
DN cells BC containing a certain pattern - Assumptions
- Single NPSF
- Address scramble table is available
- Memory is bit-oriented
- Word-oriented memory is tested as multiple
bit-oriented ones
34Test Strategy
- Multi-Background March
- To generate all neighborhood patterns
Solid BG (FC lt 30)
Another BG
35Testing PNPSF
36Data Background Generation
- Data backgrounds
- BG1 all zero
- BG2 Ar0, LSB of row address
- BG3 Ar1, second bit of row address
- BG4 Ar0?Ar1
37Testing ANPSF
38Time Complexity
- 12 N/BG X 8 BG 96N
- Detects all NPSFs
39Multi-Port Memories
- Popular architectures
- k-port (k gt 1)
- n-read-1-write
- FIFO
402-Port Topology
41Inter-Port Word-Line Short
Functional test complexity O(N3)
42Inter-Port Bit-Line Short
Functional test complexity O(N2)
43Address Scrambling
44Reading Neighboring Cells
- Read neighboring cells to detect inter-port
faults rN, rS, rE, and rW
45TAGS-PS
46Dual-Port RAM Test
47Compacted Dual-Port RAM Test
Time complexity 10N
48Four-Port RAM Test
Time complexity 17N
49Testing 6-Read-1-Write RAM
Time complexity 13N
50Flash Memory Testing
- Testing nonvolatile memories
- Masked ROM---exhaustive pseudorandom
- PROM (OTP) EPROM---dummy row
- EEPROM flash memory---dummy row?
- Testing flash memory core is hard
- Customized core and I/O
- Isolation (accessibility)
- Reliability issues disturbances, over
program/erase, under program/erase, data
retention, cell endurance, etc. - Long program/erase time
51Flash Memory Overview
- Flash memory can be programmed and erased
electrically - Has the advantages of EPROM and EEPROM
- A stacked gate transistor with both the control
gate (CG) and floating gate (FG)
Control gate
Floating gate
D
Source
Drain
n
n
G
P-Si
S
52Flash Memory Program Erase
- Program(1 to 0) channel hot-electron (CHE)
injection or Fowler-Nordheim (FN) electron
tunneling - Erase (0 to 1) FN electron tunneling
- By the entire chip or large blocks (flash
erasure) - Different products have different program/erase
mechanisms
Program
Erase
53Flash Memory Cell Types
- Stacked-gate Split-gate
Select-gate - Operations Read, Program, Erase (Flash Erase)
- As opposed to Read and Write in RAM
54Programming Scheme Comparison
55NOR-Array Structure
56NAND-Array Structure
Select (drain)
WL 1
WL 2
WL 3
WL 4
WL 16
Select (source)
BL i
57Disturbance Example (I)
NOR-Type Common Ground Standard (Stacked Gate)
58Disturbance Example (II)
59Disturbance Example (III)
60Disturbance Example (IV)
61Gate Program Disturb Fault (GPDF)
Conditions 1.Victim cell initial value is a
logic 1 2.Aggressor 1?0 (program) Victim
1?0 (program)
62Gate Erase Disturb Fault (GEDF)
Conditions 1.Victim cell initial value is a
logic 0 2.Aggressor 1?0 (program) Victim
0?1 (erase)
V(H)
V(L)
V(H)
V(L)
V(Gd)
63Drain Program Disturb Fault (DPDF)
Conditions 1.Victim cell initial value is a
logic 1 2.Aggressor 1?0 (program) Victim
1?0 (program)
V(H)
- During programming, erased cells on unselected
rows on a bit-line that is being programmed may
have a fairly deep depletion region formed under
them - Electrons entering this depletion region can be
accelerated by the electric field and injected
over the oxide potential barrier to adjacent
floating gates
V(H)
V(L)
V(Gd)
64Drain Erase Disturb Fault (DEDF)
Conditions 1.Victim cell initial value is a
logic 0 2.Aggressor 1?0 (program) Victim
0?1 (erase)
V(H)
V(L)
V(H)
V(L)
V(Gd)
65Read Disturb Fault (RDF)
Conditions 1. Occurs on the selected cell 2.
Cell initial value is logic 1
- Soft-Program
- During the read operation,
- hot carriers can be injected
- from the channel into the FG
- even if at low gate voltages
66Over Erase Fault (OEF)
- Flash memory erase mechanism is not self-limiting
- Threshold voltage can be low enough to turn the
cell into a depletion-mode transistor - Fault behavior
- An unselected cell in the same bit-line has
excessive source-drain leakage current - Reading that cell leads to incorrect value (like
DEDF) - Cannot be programmed correctly (like TF)
67Basic RAM Faults for Flash Memory
- Address-Decoder Fault (AF)
- Stuck-At Fault (SAF)
- Transition Fault (TF)
- Stuck-Open Fault (SOF)
- Bridging Fault (BF)
- Coupling faults need not be considered!
- Replaced by disturb faults
68Reliability Consideration
- Reliability characteristics of floating-gate ICs
depend on - Circuit density, circuit design, and process
integrity - Memory array type and cell structure
- Reliability stressing and testing must then be
oriented toward determining the relevant failure
rates for the particular array under consideration
69Data Retention Fault
- Retention time the time from data storage to the
time at which a verifiable error is detected from
any cause - Intrinsic retention times exceed millions of
years in the operating temperature range - Months at 300C
- 1 million years at 150 C
- 120 million years at 55 C
- Data Retention Fault (DRF)
- Static leakage
- Built-in data retention test circuit
70Cell Endurance Fault
- Endurance a measure of the ability to meet
data-sheet specifications as a function of
accumulated program/erase cycles - Endurance limit is a result of damage to the
dielectric around the floating gate caused by
electric stresses - In many flash devices, the end of endurance is
generally caused by hot electron trapping in the
charge transport oxide - Cell Endurance Fault (CEF)
- Threshold window shift due to increased
program/erase cycles - Built-in stress test circuit
71Composite Failure Rate Determination
- 125C dynamic life stress
- The 125C dynamic life stress is the standard MOS
memory continuous dynamic read in a burn-in
chamber - Endurance test
- The endurance test is the repeated data
complementing of floating-gate devices, possibly
at temperature extremes - Extended data retention stress
- This test is constituted by a high-temperature
bake with a charge polarity that is opposite to
the equilibrium state on the floating gate
72Typical Test Modes (Characterization)
- Stress (row/column)
- Reverse tunneling stress
- Punch through stress
- Tox stress
- DC stress
- Mass program
- Weak erase
- Leak (thin-oxide, bit-line, etc.)
- Cell current cell Vt
- Margin
- Etc.
73Test Patterns
- A RAM test pattern definition includes both the
data pattern and the address pattern - The time to read a pattern is the same as the
time to write a pattern - For flash memories, however, the address and data
pattern definitions must be segregated - It has long write times relative to the read
times - Typical data patterns
- Solid, checkerboard, random, etc.
- Typical address patterns
- Address increment/decrement, address complement,
column/diagonal galloping, etc.
74Testing GPDF
- Flash
- Program the first column
- Read all cells except the first column
- Flash
- Program any column except the first
- Read the first column
Assume reading and programming are done
column-wise
Source Saluja, et al., Int. Conf. VLSI Design,
2000
75Testing GEDF
- Flash
- Program all cells
- Read all cells except the last column
- Program any column except the last
- Read the last column
Assume reading and programming are done
column-wise
Source Saluja, et al., Int. Conf. VLSI Design,
2000
76Test Coverage Previous Results
Source Saluja, et al., Int. Conf. VLSI Design,
2000
77March-Based Flash Test March-FT
- (f) ?(r1,w0,r0) ?(r0) (f) ?(r1,w0,r0) ?(r0)
78Test Length (Bit-Oriented)
- Notation
- F Flash time
- P Program time
- R Read time
- r row number
- c column number
79Test Length (Word-Oriented)
- Word length w
- 2(F)2rc(P)6rc(R)log(w)2(F)rc(P)rc(R)
- Solid 0000 (1111)
- Standard 0101 (1010), 0011 (1100)
- Ex word length w 4
- 6(F) 4rc(P) 8rc(R)
solid background testing time
standard background testing time
80Test Algorithm Generation by Simulation (TAGS)
81Embedded Memory Testing
- Memories are one of the most universal cores
- In Alpha 21264, cache RAMs represent 2/3
transistors and 1/3 area in StrongArm SA110,
the embedded RAMs occupy 90 area Bhavsar,
ITC-99 - In average SOC, memory cores will represent more
than 90 of the chip area by 2010 ITRS 2000 - Embedded memory testing is increasingly difficult
- High bandwidth (speed and I/O data width)
- Heterogeneity and plurality
- Isolation (accessibility)
- AC test, diagnostics, and repair
- BIST is considered the best solution
82Embedded RAM Test Support
83RAM BIST Approaches
- Methodology
- Processor-based BIST
- Programmable
- Hardwired BIST
- Fast
- Compact
- Interface
- Serial (scan, 1149.1)
- Parallel (embedded controller hierarchical)
- Patterns (address sequence)
- March
- Pseudorandom
84Typical RAM BIST Architecture
85Serial March (SMarch)
- From March C-
- Serial interface
- One BIST for all (cascaded)
- One-bit read/write at a time, but one pattern per
cycle - Slow
- No diagnostics
Source Nadeau-Dostie et al., IEEE DT, Apr. 1990
86Syntest MBIST
- Algorithms
- March C-
- MOVI
- March C
- Checkerboard
- Shared controller for multiple RAMs
- Synthesizable RTL code
FSM
CE OE WEB
ADR Control
A
Data Generator
D
Analyzer
Pass BistFail Finish
Q
Source Syntest
87NTHU/GUC EDO DRAM BIST
88DRAM Page-Mode Read-Write Cycle
89Programmable Memory BIST (PMBIST)
90PMBIST Architecture
91Controller and Sequencer
- Controller
- Microprogram
- Hardwired
- Shared CPU core
- IEEE 1149.1 TAP
- Sequencer (Pattern Generator)
- Counter
- LFSR
- LUT
92Controller
93Sequencer
94PMBIST Test Modes
- Scan-Test Mode
- RAM-BIST Mode
- Functional faults
- Timing faults (setup/hold times, rise/fall times,
etc.) - Data retention faults
- RAM-Diagnosis Mode
- RAM-BI Mode
95PMBIST Controller Commands
96PMBIST Control Sequence
97BIST Area Overhead
3
Overhead
Mem size
0.3
98Processor-Based RAM BIST
Processor
99On-Chip Processor-Based RAM BIST
- BIST program is stored in boot ROM during design
phase, and memory BIST is done by executing BIST
program
100Testing RAM Core by On-Chip CPU
- 6502 assembly program that performs March C- test
algorithm
data background
.org 0HFF00 LDX 00 LDA 55 M0 STA 0000,X
INX CPX FF BNE M0 LDX 00 M1 LDA 0000,
X CMP 55 BNE ERROR LDA AA STA 0000,X IN
X CPX FF BNE M1 LDX 00 . . . . .
write data background to memory
read from memory
write data background to memory
101Test Speed Consideration
- Processor-BIST speed is lower than dedicated BIST
circuit - Total clock cycles to implement MARCH C- is
O(114N)
Table 1. 6502 instruction cycles
102NTHU Processor-Programmable BIST
103Advantages and Disadvantages
- Advantages
- Reuse of on-chip CPU core
- Might need modification
- Core March elements can be implemented in
hardware, allowing different March algorithms to
be executed via assembly programming - Disadvantages
- Some address space will be occupied by PPBIST
- Area overhead
104PPBIST Implementation
105PPBIST Data Registers
106PPBIST Test Procedure
CPU write data back ground CPU write start/stop
address CPU write MARCH element instruction CPU
write START instruction to wrapper
BIST core ?(R0W1)
BIST core ?(R1W0)
BIST core ?(R0W1)
BIST core ?(R1W0)
BIST core ?(W0)
BIST core ?(R0)
write error flag write faulty address write
faulty data
yes
compare error?
no
no
complete?
yes
write complete flag
CPU take over
107PPBIST Example Using 6502
- 6502 assembly program that performs March C- test
algorithm under the proposed BIST scheme
108PPBIST Example
- Addresses of the registers in the BIST experiment
- March elements and the corresponding RME
109Experimental Results
- Total test time in terms of clock cycles
- The sum of all the March elements' test time plus
30 clock cycles - 10N clock cycles to perform March C-
- Test time of each March element
110Comparison of BIST Methodologies
111RAM BIST Compiler
- Use of RAM cores is increasing.
- SRAM, DRAM, flash RAM
- Multiple cores
- RAM BIST compiler is the trend.
- BRAINS (BIST for RAM in Seconds)
- Proposed BIST Architecture
- Memory Modeling
- Command Sequence Generation
- Configuration of the Proposed BIST
112BRAINS Outputs
- Synthesizable BIST design
- At-speed testing
- Programmable March algorithms
- Optional diagnosis support
- BISD
- Activation sequence
- Test bench
- Synthesis script
113BIST Synthesis Flow
114NTHU/GUC PMBIST Architecture
115PMBIST with Scan
Source Cheng, et al., DFT00
116Sequencer
address
Control Module
Address Generator
Sequence Generator
go
command
Command Generator
error signature
error info.
Error Handling Module
117State Diagram of Control Module
BIST idle
BIST idle
BIST active
BIST done
BIST apply
BIST done
BIST apply
For DRAM
For SRAM
118DRAM Page-Mode Operation
119Memory Specification Techniques
- Memory Specifications
- I/O Specification
- Command Specification
- Task Specification
- Delay Constraint Specification
- AC Parameter Specification
- Support customized memories.
120I/O Specification
- Four parameters
- IO_type
- IO_width
- IO_latency
- IO_packet_length
- IO_type input, output, or inout
- IO_width port width (bits), can be a constant
or specified by user
121I/O Specification
122I/O Modeling
- IO_packet_length bits packed within a clock
cycle for the port
123Command Specification
- Specifies the memorys instructions
124Task Specification
- Specifies a complete memory operation
- A task can be a single command or a sequence of
commands.
125Delay Constraint Specification
- Specifies the minimal time interval between any
two tasks
126AC Parameter Specification
- Specifies input and output delays
- Specified parameters will be inserted into the
synthesis script.
127Memory Specification Example
- For ZBT SRAM
- Method A
- _at_latency D 1
- _at_task write write
- Method B
- _at_latency D 0
- _at_task write pre_write, post_write
- The BIST circuit from method A is faster than the
one from method B, but it has higher area overhead
128Sequence Generation
- For each March element, the compiler generates
the command sequence according to the read task,
write task, and minimum delay between the two
tasks - For example
- task read A
- task write B, C
- minimum delay between read and write 10ns
- clock period 10 ns
- Then the (rw) element becomes A, nop, B, C
- One can also optimize the command sequence
129Fast Access Mode
130Diagnosis Support
- The BIST circuit scans out the error information
(element, address, signature, and polarity)
during the diagnosis mode. - Assume address 20h stuck-at 64h
131Multiple RAM Cores
- Controller and sequencer can be shared.
Test pattern generator
Ram Core A
sequencer
Test pattern generator
Ram Core B
controller
Ram Core C
Test pattern generator
sequencer
132Experimental Results
- The Built-In Memory List
- DRAM
- EDO DRAM
- SDRAM
- DDR SDRAM
- SRAM
- Single-Port Synchronous SRAM
- Single-Port Asynchronous SRAM
- Two-Port Synchronous Register File
- Dual-Port Synchronous SRAM
- Micron ZBT SRAM
- BRAINS can support new memory architecture easily
133Experimental Results
134Experimental Results
- Four single-port SRAM BIST circuits share the
same controller and sequencer. - Size of the SRAM core 8K x 16
Original BIST area for single-port SRAM 1438
(gates) Total area 1438 4 5752 (gates)
Shared gate count 3350
135Experimental Results
- 8K x 16 single-port synchronous SRAM (0.25um)
- Area
- Die size 1780.74 x 755.07 um2
- BIST area 80.1 x 583.48 um2
- Area overhead 3.4
136Experimental Results
- 2K x 32 two-port register file (0.25um)
- Die size 1130.74 x 936.34 um2
- BIST area 77.88 x 620 um2
- Area overhead 4.5
137Why RAM Diagnostics?
- Memory testing is more and more important
- Memories are key components
- Represent about 30 of the semiconductor market
- Dominate the chip area/yield
- Memory testing is more and more difficult
- Growing density, capacity, and speed
- Emerging new architectures technologies
- Growing need for embedded memories
- Why diagnostics?
- Yield improvement
- Repair and/or design/process debugging
138Fault Model Subtypes
139NTHU-FTC BIST Architecture
140Test Mode
- In Test Mode it runs a fixed algorithm for
production test and repair - Only a few pins need to be controlled, and BGO
reports the result (Go/No-Go)
141Fault Analysis Mode
- In Fault Analysis Mode, we can apply a longer
March algorithm for diagnosis - FSI captures the error information of the faulty
cells
EOP format
142Error Catch and Analysis
- Locate the faulty cells
- Identify the fault types
143How to Identify Fault Type?
Tester/BIST Output
RAM Circuit/Layout
144March Dictionary
March 11N
E0
E1 E2
E3
E4 E5
E6 E7
E8 E9
E10
145March Signature and Error Map
March Signature (Syndrome)
Error Map
146MECA System
147Error Analyzer
148Fault Analysis
- Derive analysis equations from the fault
dictionary
- Convert error maps to fault maps by the equations
149Test Algorithm Generation
- Start from a base test generated by TAGS or
user-specified - Generation options reduced to read-insertions
150Diagnostic Resolution
151Experimental Results
- Proposed diagnosis framework has been applied to
commercial embedded SRAMs - Results for a 16Kx8 embedded SRAM (FS80A020) are
shown - Tester log from Credence SC212 is examined
- Address remapping (logical to physical) is applied
152The Total Error Bitmap
153Fault Bitmaps
Idempotent Coupling Fault
Stuck-at 0
154Redundancy and Repair
- Problem We keep shrinking the feature size and
increasing the chip density and size. How do we
maintain the yield? - Solutions
- Fabrication
- Material, process, equipment, etc.
- Design
- Device, circuit, etc.
- Redundancy and repair
- On-line
- EDAC (extended Hamming code product code)
- Off-line
- Spare rows and/or columns
155From BIST to BISR
BIST
BISD
BIRA
BISR
- BIST built-in self-test
- BIECA built-in error catch analysis
- BISD built-in self diagnosis
- BIRA built-in redundancy analysis
- BISR built-in self-repair
156RAM Built-In Self-Repair (BISR)
157RAM Redundancy
- 1-D spare rows (or columns) only
- SRAM
- Algorithm Must-Repair
- 2-D spare rows and columns
- Local and/or global spares
- NP-complete problem
- Conventional algorithm
- Must-Repair phase
- Final-Repair phase
- Repair-Most (greedy) Tarr et al., 1984
- Fault-Driven (exhaustive, slow) Day, 1985
- Fault-Line Covering (bb) Huang et al., 1990
158Redundancy Architectures
159An SRAM with BISR
Kim et al., ITC 98
160A DRAM Redundancy Example
161Definitions
- Faulty line row or column with at least one
faulty cell. - A faulty line is covered if all faulty cells in
the line are repaired by spare rows and/or
columns. - A faulty cell not sharing any row or column with
any other faulty cell is an orthogonal faulty
cell. - r number of (available) spare rows
- c number of (available) spare columns
- F number of faulty cells in a block
- Fnumber of orthogonal faulty cells in a block
162Example Block with Faulty Cells
163Repair-Most (RM)
- Run BIST and construct bitmap.
- Construct row and column error counters.
- Run Must-Repair algorithm.
- Run greedy Final-Repair algorithm.
164Worst-Case Bitmap (After Must-Repair)
165Local Repair-Most (LRM)
- RM is not good enough for embedded RAM.
- Large storage requirement bitmap and counters
- Slow
- LRM improves the performance.
- Repair-Most based
- Improved heuristics
- Early termination rules
- Concurrent BIST and BIRA
- No separate Must-Repair phase
- LRM reduces the storage required.
- Smaller local bitmap
- From (rcc)x(crr) to mxn
166LRM Algorithm
- Activated by BIST whenever a faulty cell is
detected. - Fault Collection (FC)
- Collects faulty-cell addresses.
- Constructs local bitmap.
- Counts row and column errors.
- Spare Allocation (SA)
- Allocate spare rows or columns when bitmap is
full. - Allocate spare rows or columns at end.
167LRM FC and SA
168LRM Example
(5,2)
(5,4),(5,6),(5,7)
(7,3)
169Local Optimization (LO)
- LMR has drawbacks
- Selecting line with largest fault count may be
slow. - Multiple lines may need to be selected for
repair. - Area overhead is still high.
- Repair rate depends on bitmap size.
- LO has a better repair rate based on same
hardware overhead, i.e., a higher repair
efficiency. - Fault Collection (FC)
- Records faulty cells in bitmap until it is full.
- Spare Allocation (SA)
- Exhaustive search performed for repairing all
faults. - Bitmap cleared process repeated until done.
170LO Column/Row Selection for SA
A 1 means that the corresponding col is selected
for repair, unless empty.
Assume column selection has a lower cost than
row selection.
171LO Example
172Essential Spare Pivoting (ESP)
- Maintain high repair rate without using a bitmap.
- Small area overhead.
- Fault Collection (FC)
- Collect and store faulty-cell address using
row-pivot and column-pivot registers. - If there is a match for row (col) pivot, the
pivot is an essential pivot. - If there is no match, store the row/col addresses
in the pivot registers. - If F gt rc, the RAM is unrepairable.
- Spare Allocation (SA)
- Use row and column pivots for spare allocation.
- Spare rows (cols) for essential row (col) pivots.
- SA for orthogonal faults.
173ESP Example
174Cell Fault Size Distribution
Mixed Poisson-exponential distribution.
175Repair Rate Comparison
- 1,552 RAM blocks.
- 1,024x64 bits per block.
- r from 6 to 10.
- c from 2 to 6.
- LRM bitmap rxc.
- LO bitmap 8x4.
176Normalized Repair Rate
177Repair Rate (r10)
178Normalized Repair Rate (r6)
179Area Overhead
Overhead is about 5-12 for 16Mb DRAM, r8, and
c4.
180Computation Time (Simulated)