1 At-Speed BISR Analyzer for Embedded Word-Oriented Memories Xiaogang Du Sudhakar M. Reddy ECE Department University of Iowa 17 th International Conference on VLSI Design (VLSID2004) Wu-Tung Cheng Joseph Rayhawk Nilanjan Mukherjee Mentor Graphics Corpora tion
30
Embed
1 At-Speed BISR Analyzer for Embedded Word-Oriented Memories Xiaogang Du Sudhakar M. Reddy ECE Department University of Iowa 17 th International Conference.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
At-Speed BISR Analyzer for Embedded Word-Oriented Memories
Xiaogang DuSudhakar M. Reddy
ECE Department University of Iowa
17th International Conference on VLSI Design (VLSID2004)
Wu-Tung ChengJoseph Rayhawk
Nilanjan Mukherjee
Mentor Graphics Corporation
2
Reference
A BISR Analyzer (CRESTA) for embedded DRAMs T. Kawagoe, J. Ohtani, M. Niiro, T. Ooishi, M. Hamada H. Hidaka
ITC 2000
BIST for Deep Submicron ASIC Memories with High Performance Application
T.J. Powell, W.T. Cheng, J. Rayhawk, O. Samman, P. Policke, S. Lai
ITC 2003
3
Outline
What’s CRESTA ? What’s new ? Hardware Implement Conclusion
CRESTA = Comprehensive Real-time Exhaustive Search Test and Analysis
At-Speed Multiple sub-analyzers try different order of
spare rows/columns concurrently Detection Ability can become 100% Save address to repair by CAM
6
Algorithm
During Memory BIST (for each Sub-analyzer n): If (Fail == 1) If ((Column_Addr not in CAM_C) && (Row_Addr not in CAM_R)) If (No more spare resouce) UnSuc[n] == 1 Else if (current spare resouce == row) CAM_R_cur = Row_Addr Point to next spare resouce Else if (current spare resouce == column) CAM_C_cur = Column_Addr Point to next spare resouce
Post Memory BIST: If (UnSuc != all ‘1’) Repairable, choose one of result that UnSuc[n] == 0 as your strategy Else Unrepairable
7
Example
5 x 5 Memory array 2 spare column 2 spare row 6 type BISR strategies
Advantage:At-Speed, shorter test cycleNeed not to store fail addressArea overhead only 1%
Disadvantage:Dramatically increase area overhead with the
number of sparesOnly can deal with bit-oriented memory
12
Proposed Algorithm
Algorithm for Linear MemoryExample SimulationModify for Multiplexed Memory
13
Linear Architecture
Address width = 6 Word width = 4 Multiple Faults in a
word cannot be achieved in one cycle
Column Repair Vector (CRV)
D0 D1 D2 D3
0 A0 A0 A0 A0
1 A1 A1 A1 A1
2 A2 A2 A2 A2
63 A63 A63 A63 A63
14
Algorithm
During Memory BIST: If (Fail_Map != 0) If ((Fail_Map not in CRV) && (Row_Addr not in Spare_Rows)) If (No more spare resouce) unrepairable Else if (current spare resouce == row) Spare_Row = Row_Addr Point to next spare resouce Else if (current spare resouce == column) CRV = CRV | Fail_Map Point to next spare resouce
Post Memory BIST: If ((!unrepairable) && (# of 1 in CRV <= # of spare column)) Repairable Else Unrepairable
Method 1 Size of CRV = the # of bits in a row Use the same algorithm in linear architecture Area overhead is too large
Method 2 Several word-size of CRVs as W-CRVs Size of W-CRV = word size + length of MUX-level # of W-CRVs = # of spare columns Not only Compare with Column address but also MU
X-level
19
Examples(1)
0 1 0 1
0 0000 0010
1
2 0000 0100
3
1 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 0 0
MUX-level
CRV
20
Examples(2)
0 1 0 1
0
1 0000 0010
2
3 0100 0000
1 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0
MUX-level
CRV
21
Hardware
22
Architecture of BIST & BISRA
BIST Controller
Memory
BISRA Controller
Pass / Fail
Repair Data
Repairable
Restart
23
R/W Operation with MBIST Full-Speed
SetupRead 1
SetupWrite 1
SetupRead 2
SetupWrite 2
SetupRead 3
Read 1 Write 1 Read 2 Write 2
CompareRead 1
CompareRead 2
Pass/FailRead 1
Pass/FailRead 2
ClockCycle 1
ClockCycle 1
ClockCycle 1
ClockCycle 1
ClockCycle 1
Clock
Addr / CtrlData
Memory
CompareCircuitry
Output
。。。
24
MBIST Full-Speed Controller
FSM
Compare Capture
Reference Data
Con-trol
DataAdd-ress
CompareUnit
Memory
Logic Logic
Pass / Fail
25
BISRA Controller with C(m+n, m) Engines
Arbiter
SRA CAR
SRA CAR
BISRA Engine
BISRA Engine
Fail_Map
Address
Spare Resource Allocation
Control and
Report
26
BISRA Controller with 1 Engine
SRA CAR
BISRA Engine
Repair Strategy
Reconfiguration(RSR)
Fail_Map
Address
Restart
27
Reconfigure the Repair Strategy by LFSR
By using LFSR “1” == Spare Row, “0” == Spare Column 1001→1010 → 0101 → 1100 → 0110 → 0011
Spare Resources
Strategy Polynomial
Initial Strategy
1R1C 1+x2 10
1R2C 1+x3 100
2R1C 1+x3 110
2R2C 1+x+x2+x4 1001
28
Repair Strategy Selection Algorithm
R
R
R
R R R
RR
R
C
C
C
C C
C
C
C
C
29
Experiment Result
TI TMS320C6414T with 90 nm tech. 3 controller, each with 7k to 8.5k gate 10% faster than normal functional frequency to
detect performance related defect
Controller #1 Controller #2 Controller #3
Memories 22 single port 31 single port 32 single port
Repair No Yes Yes
Mem Length 80 – 1024 128 – 1024 8192
Data Width 32 – 64 6 – 42 32
Clock Freq. 400 MHz 800 MHz 800 MHz
30
Conclusion
Proposed a at-speed BISRA algorithms for word-oriented memories
By modifying the CRESTA and by using CRV, multiple-failure in a word can handle at speed.
Single or multiple repair engine for trade off. Repair strategies can either be generated by an
on-chip LFSR or by an external ATE A branch and bound repair strategy selection