Vdocuments - MX High Performance Memory Testing Design Principles Fault Modeling
Vdocuments - MX High Performance Memory Testing Design Principles Fault Modeling
MEMORY TESTING:
R. Dean Adams
IBM
All rights reserved. No part of this work may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical,
photocopying, microfilming, recording, or otherwise, without the written permission
from the Publisher, with the exception of any material supplied specifically for the
purpose of being entered and executed on a computer system, for exclusive use by
the purchaser of the work.
The idea for this book first lodged in my mind approximately five years
ago. Having worked on the design of advanced memory built-in self-test
since 1988, I saw a need in the industry and a need in the literature. Certain
fallacies had grown up and the Same mistakes were frequently being
repeated. Many people “got away with” these mistakes. As the next
generation of chips was produced, however, the large number of bits on a
chip made the fruit of these mistakes very evident and the chip quality
suffered as a result.
Memory test, memory design, and memory self test are each intriguing
subjects. Sinking my teeth into a new memory design article in the Journal
of Solid State Circuits is a privilege. Sitting through a clear presentation at
the International Test Conference on memory testing can provide food for
thought about new ways that memories can fail and how they can be tested.
Reviewing a customer’s complex memory design and gemrating an efficient
self-test scheme is the most enjoyable work I do. Joining my colleagues at
the E EW Memory Technology, Design, and Test Workshop provides some
real memory camaraderie. I hope that the reader will gain some insight from
this book into the ways that memories work and the ways that memories fail.
It is a fascinating area of research and development.
The key message of this book is that we need to understand the memories
that we are testing. We cannot adequately test a complex memory without
first understanding its design. Comprehending the design and the test of a
memory allows the best memory built-in self-test capabilities. These are
needed now and will be needed even more in the future.
This book is in many ways the culmination of 20 years experience in the
industry. Having worked in memory design, memory reliability
viii Preface
Acknowledgements
I would like to thank all the people who have helped me over the years to
understand memories. These people have included engineers who taught me
the basic concepts years ago through customers today who constantly
explore new ways to make memories do amazing things.
Many people helped me with this text. Carl Harris and Dr. Vishwani
Agrawal each helped significantly in roles with Kluwer. Many colleagues
reviewed individual chapters including Tony Aipperspach, John Barth,
Kerry Bernstein, Geordie Braceras. Rob Busch. Dr. Lou Bushard. Dr.Kanad
Chakraborty, Prof. Bruce Cockburn, Prof. Edmond Cooley, John Debrosse,
Jeff Dreibelbis. Tom Eckenrode, Rich Henkler, Bill Huott, Gary Koch, Dr.
Bernd Koenemann, Chung Lam, Wendy Malloch, Sharon Murray, Dr. Phil
Nigh, Mike Ouellette, Harold Pilo, Jeremy Rowland, Phil Shephard, Rof.
Ad van de Goor, Brian Vincent, Tim Vonreyn, Dave Wager, Lany Wissel,
Steve Zier, and Johanne Adams. Their insights, enthusiasm, and effort are
greatly appreciated.
My management at IBM has been quite supportive of this effort,
especially Bernd Koenemann and Frank Urban. My fellow Design-For-Test
and BIST colleagues, Carl Barnhart, Ron Waither, Gary Koch, and Tom
Eckenrode are each appreciated. Prof. Ad van de Goor, for doing so much
fundamental memory test research, publishing, and encouraging is
recognized.
My family has been quite helpful looking for chapter opening quotes,
reading sections, and being very patient.
Mostly, thanks are due to God.
R. Dean Adams
St. George, Vermont
July 2002
Table of Contents
Preface vii
2.1
-
Chapter 2 Static Random Access Memories
SRAMTrends
17
18
2.2 The Cell 20
2.3 ReadDataPath 25
2.4 Write Driver Circuit 37
2.5 Decoder Circuitry 38
2.6 Layout Considerations 40
2.7 Redundancy 44
2.8 Summary 46
3.1
-
Chapter 3 Multi-Port Memories
Cell Basics
47
48
3.2 Multi-Port Memory Timing Issues 53
3.3 Layout Considerations 54
X High Pelformunce Memory Testing
3.4 Summary 56
4.1
-
Chapter 4 Silicon On Insulator Memories
Silicon On Insulator Technology
57
57
4.2 Memories in SO1 60
4.3 Layout Considerations 64
4.4 Summary 66
5.1
-
Chapter 5 Content Addressable Memories
CAM Topology
67
68
5.2 Masking 71
5.3 CAM Features 74
5.4 Summary 75
6.1
-
Chapter 6 Dynamic Random Access Memories
DRAM Trends
77
78
6.2 TheDRAMcell 79
6.3 The DRAM Capacitor 81
6.4 DRAM Cell Layout 83
6.5 DRAM Operation 84
6.6 Conclusions 88
-
Chapter 7 Non-Volatile Memories 89
89
7.1 ROM
7.2 EEPROM & Flash 90
7.3 The Future of memories 95
7.3.1 FeRAM 96
7.3.2 MRAM 98
7.3.3 Ovonic 99
7.3.4 And Beyond 100
7.4 Conclusions 101
-
Chapter 9 Memory Patterns 127
128
9.1 Zero-OnePattern
9.2 Exhaustive Test Pattern 129
9.3 Walking, Marching, and Galloping 130
9.4 Bit and Word Orientation 132
9.5 Common Array Patterns 133
9.6 Common March Patterns 136
9.6.1 March C- Pattern 136
9.6.2 Partial Moving Inversion Pattern 137
9.6.3 Enhanced March C- Pattern 138
9.6.4 March LR Pattern 139
9.6.5 March G Pattern 139
9.7 SMarch Pattern 140
9.8 Pseudo-Random Patterns 141
9.9 CAM Patterns 142
9.10 SO1 Patterns 145
9.1 1 Multi-Port Memory Patterns 145
9.12 Summary 148
-
Chapter 11 State Machine BIST 163
164
11.1 Counters and BIST
11.2 A Simple Counter 164
11.3 ReadMrrite Generation 166
11.4 The BIST Portions 169
11.5 Programming and State Machine BISTs 171
11.6 Complex Patterns 171
11.7 Conclusions 172
xii High Pe~otmunceMemory Testing
-
Chapter 12 Micro-Code BIST 173
12.1 Micro-code BIST Structure 173
12.2 Micro-code Instructions 175
12.3 Looping and Branching 177
12.4 Using a Micro-coded Memory BET 179
12.5 Conclusions 181
-
Chapter 13 BIST and Redundancy 183
13.1 Replace, Not Repair 184
13.2 Redundancy Types 184
13.3 Hard and Soft Redundancy 187
13.4 Challenges in BIST and Redundancy 188
13.5 The Redundancy Calculation 190
13.6 Conclusions 193
-
Chapter 14 Design For Test and BIST 195
14.1 Weak Write Test Mode 196
14.2 Bit Line Contact Resistance 197
14.3 PFETTest 199
14.4 Shadow Write and Shadow Read 200
14.5 General Memory DFT Techniques 20 1
14.6 Conclusions 202
-
Chapter 15 Conclusions 203
15.1 The Right BIST for the Right Design 203
15.2 Memory Testing 204
15.3 The Future of Memory Testing 206
Appendices
-
Appendix A Further Memory Fault Modeling 207
A. 1 Linked Faults 207
A.2 Coupling Fault Models 208
A.2.1 Inversion Coupling Fault 208
A.2.2 Idempotent Coupling Fault 208
A.2.3 Complex Coupling Fault 209
A.2.4 State Coupling Fault 209
A.2.5 V Coupling Fault 209
A.3 Neighborhood Pattern Sensitive Fault Models Expanded 210
A.3.1 Pattern Sensitive Fault Model 210
A.3.2 Active Neighborhood Pattern Sensitive Fault Model 210
A.3.3 Passive Neighborhood Pattern Sensitive Fault Model 210
A.3.4 Static Neighborhood Pattern Sensitive Fault Model 210
Table of Contents xiii
B.l
-
Appendix B Further Memory Test Patterns
MATS Patterns
213
213
B.l.l MATS 213
B.1.2 MATS+ 214
B.1.3 MATS++ 214
B.1.4 Marching 1/0 214
B.2 Lettered March Patterns 215
B.2.1 March A 215
B.2.2 MarchB 215
B.2.3 MarchC 215
B.2.4 MarchX 216
B.2.5 MarchY 216
B.2.6 March C+, C++, A+, A++ Patterns 216
B.2.7 March LA 217
B.2.8 March SR+ 217
B.3 F A Patterns 218
B.3.1 9NLinear 218
B.3.2 13N 218
B.4 Other Patterns 219
B.4.1 MovC 219
B.4.2 Moving Inversion 219
B.4.3 Butterfly 220
B.5 SMARCH 220
B.6 Pseudo-Random 22 1
-
Appendix C State Machine HDL 223
References 229
Glossary I Acronym 241
Index 243
About the Author 247
Chapter 1
Opening Pandora’s Box
Design & Test of Memories
Data Inputs
Write Drivers
-
B
moly
Amy
-
sense Amplifiers
1
Data Outputs
number of predictions that Moore's law is dead will double every 18 months.
This second law may, if anything, be on the low side. Nonetheless, his first
law is what concerns the readers of this book.
The continuing trend for more and more memory on a chip should come
as no surprise to the readers of this book. In fact, the appropriate response
from a design and test perspective is simply a polite yawn. More bits of
memory mean more decoding circuitry and more data inputs and outputs
(YO). It may mean a slight increment in test time to cover the additional
bits. More bits of memory do not cause a shockwave of impact to the design
and test communities. The greater memory density does create havoc in the
processing community since it drives smaller feature sizes with their
corresponding tighter tolerance for feature size variability. Further, it drives
tighter limits on the number of tolerable defects in smaller and smaller sizes
on the manufacturing line, since these smaller defects can still cause memory
bit failures. That said, the greater density of memory bits does create stress
within the industry but does not do so for the designers and test engineers.
wiring, connecting all of the various gates in the silicon. A memory, though,
appears as a regular, attractive grouping of circuitry. Some have referred to
the comparison of memory images with random logic images as “the beauty
and the beast” with the memory obviously being the beauty.
locations, design and test challenges are created to meet the specific
application needs as well as the processing technology.
The number of types of memory is becoming truly impressive as well. In
the past there were dynamic random access memories (DRAM)and static
random access memories (SRAM) as the workhorses. Now content
addressable memory (CAM), both standard and Ternary (TCAM), is present
in many chips. Further division of CAMScome as they can be composed of
either static or dynamic style memory cells. Multi-port memories in
numerous sizes and dimensions seem to be everywhere. There are two, four,
six, nine, and higher dimension multi-port memories. There are pseudo
multi-port memories where a memory is clocked multiple times each cycle
to give a multi-port operation appearance from a single memory access port.
Further, there are a number of memory entries that are non-volatile, such as
Flash, EEPROM.FeRAM, MRAM,and OUM memories.
The number of process technologies in which memories are designed is
quite large as well. There is the standard complementary metal oxide
semiconductor (CMOS), which is the primary technology. A modification
of this is the silicon-on-insulator (SOI)technology. Further, there is the
high-speed analog Silicon Germanium (SiGe) technology, which now needs
memories for numerous applications. Each quarter a new technology seems
to emerge. These include “strained silicon” and “silicon on nothing.”
Memory Types
AccasslStorage method Technology
- SRAM - CMOS
- DRAM - sol
- CAM - FeRAM
- ROM - MRAM
Fmfactor - Ovonic
- Embedded - Flash
- Standalone - SlGe
- With I without redundancy - GaAs
- Copper
Using the wrong memory will only exacerbate their sensitivity to this
slowness. Figure 1-5 represents the continuum of power, density, and
performance showing the relative locations of several memory types. There
can even be variations in the chart placement for one specific type of
memory. For example, an SRAM can be designed for low power
applications by trading off performance. Likewise, one memory may have
low power at standby conditions while another may have low power for
active conditions. It is important to understand the memory and the specific
application requirements in detail.
High
Density
On examining Figure 1-6, one should plainly see that a typical SRAM
cell has six transistors with active pull-up and pull-down devices. A defect-
free cell will retain its data as long as power is applied and nothing
unforeseen happens to the memory. A typical DRAM cell, on the other
hand, has one transistor and one capacitor. Since there is no active path for
restoring charge to the capacitor, where the cell's data is stored, charge
constantly leaks from the cell. The DRAM cell must be regularly refreshed.
Thus, the operation of an SRAM and a DRAM is inherently different and the
design is hugely different. This difference means that the testing of these
two types of memory should be inherently different as well. To put it more
simply, bits are not bits. Just as a tractor, a tank, and an automobile, though
they all transport people require different testing to ensure quality, different
types of memory bits require different testing. Even when considering just
automobiles the testing would be quite different. An economy class car, a
sports car, and a limousine would be expected to be tested in different ways
prior to being received by the customer. So too would memory bits in
different circuit topologies require different test patterns. The various types
of memories, along with their bit cell designs, will be covered in later
chapters so that the best test patterns and strategies can be applied to
facilitate high quality testing, resulting in high quality memories.
1
Word
............ ""..."..
rL
i - ;
i............
t
-
DRAM Cell ......................."........".
SRAM Cell
Most organizations have come to realize that this approach is a recipe for
disaster and have learned to consider test early in the design phase of a
project. Nonetheless, due to schedule and headcount pressures there is
always the temptation to revert to a “We’ll design it and you figure out how
to test it” mentality. Obviously the customer’s function is paramount but
quality is also paramount and is driven by the test capability and test quality
for a given chip. Having a memory BIST pushes the test into the design
phase, since the BIST engine must be designed into the chip. Thus, the test
and design teams are forced to work together; BIST forces this to happen.
package bum in. This package is then incorporated onto a card, which needs
to be tested. The card goes into a system, which needs to be tested. Then
the system goes to the field, for customer utilization, and it needs to undergo
periodic test, normally at each power on, to ensure continued proper
operation. All of these tests can be generated individually but the
inefficiency is great. Utilizing a BIST at all these levels of assembly means
that a high quality test can be applied at each step in the manufacturing and
use process. Further, it means that the effort spent to determine the best test
during the design phase of the project is re-used over and over again, thus
preventing wasteful development of test strategies at each level of assembly.
Lastly, it is inherently elegant to have a chip test itself. Having a
complex circuit, such as a memory, test itself and thereby solve the test
challenge while solving the customer's test problem is quite attractive. BIST
is a clean solution.
Key point: For embedded memories, BIST is the only practical solution.
Naivety would allow a test to be performed and the results to be taken for
granted. If a simple, one might even say dumb, test is executed a memory
can pass this test. That certainly doesn’t mean that the memory is good. It is
frightening to hear someone say that the memory “passed” and then
obviously not understand what sort of test was entailed or how thorough it
was. Thus it is obvious that the statement “ignorance is bliss” is not the case
when it comes to defective memories. Not knowing that a memory is
defective allows it to be shipped to the customer. That customer will not
allow the supplier’s life to be blissful once their parts start failing in the
field.
There are times too numerous to count where a memory nightmare
occurs. This nightmare starts with a large amount of memory fallout. The
memory test results are pored over to determine the exact type of failure.
During this examination it becomes obvious that the memory tests are
inadequate. It is then the memory expert’s responsibility to tell the parties
involved that, not only is the memory yield low but the test was insufficient
and the real good-memory yield is even lower than it was already purported
to be. Ignorance, i.e. testing without knowledge, may result in an artificially
high yield but the result will be disastrous. Simply put: a memory that
passes test is only as good as the test applied! Having an adequate memory
test is key to identifying and culling out the defective memories.
8. CONCLUSIONS
Design and test are considered jointly in this book since knowledge of
one without the other is insufficient for the task of having high quality
memories. Knowledge of memory design is required to understand test. An
understanding of test is required to have effective built-in self-test
implementations. A poor job can be done on any of these pieces resulting in
Opening Pandora’sBox 15
a memory that passes test but which is not actually good. The relentless
press of Moore’s law drives more and more bits onto a single chip. The
large number of bits means that methods that were “gotten away with” in the
past will no longer be sufficient. Because the number of bits is so large, fine
nuances of fails that were rarely seen previously now will happen regularly
on most chips. These subtle fails must be caught or else quality will suffer
severely.
Are memory applications more critical than they have been in the past?
Yes, but even more critical is the number of designs and the sheer number of
bits on each design. It is assured that catastrophes, which were avoided in
the past because memories were small, will easily occur if the design and
test engineers do not do their jobs very carefully.
In the next few chapters an overview of the various memory designs will
be provided. The section after that will provide a summary of memory
testing. The last section will detail the key factors in implementing good
self-test practices.
Chapter 2
Static Random Access Memories
Design & Test Considerations
Static random access memories (SRAMs) have been, are, and will
continue to be the workhorse of memories. While there are more DRAM
bits worldwide, especially when considering embedded memories, there are
a larger total number of S R A M memories. SRAMs are subtly inserted into
countless applications. SRAMs were the first memories produced. SRAMs
are fast and are utilized where the highest speed memories are required, such
as the L1 caches of microprocessors. They can be designed for low power
application requirements. Further, they retain their data until the power is
removed or until the data state is modified through writing to a cell location.
Of all semiconductor memories, the SRAM is the easiest to use. There is no
required refresh of the data, accessing is performed by simply providing an
address, and there is only one operation per cycle, at least for a one-port
SRAM.
This chapter will provide the design background for the remainder of the
book. The SRAM will be used as the model through which all other
memories are examined. The memory cells, precharge circuits, write
drivers, sense amplifiers, address decoders, and redundant elements will all
be examined. When other memories are discussed in this book the
differences to SRAMs will be noted. Many times the circuits will be the
same as that for SRAMs, in which case the reader can simply refer back to
this chapter to better understand the design. The design schematics provided
are examples: many subtle variations are possible. Once a proficient
understanding is obtained of the basic design, test strategies will become
18 Chapter 2
1. SRAM TRENDS
The base of any memory is a single cell into which data is stored. A
static random access memory is no different. The cell must be small. Since
the cell is replicated numerous times, it is highly optimized in each
dimension to be able to pack as many cells together as possible. Further, due
to process scaling, the area of cells rapidly decreases over time 181. The
trend for SRAM cell size, as a function of time, is shown in Figure 2-1.
2. THE CELL
Each SRAM cell must be easy to write and yet be stable, both when in a
quiescent state and when it is being read. The cell must store its binary data
regardless of the state or the operations being performed on its neighbors.
The standard SRAM cell is made up of six transistors as shown in Figure
2.5. There are two pull-down devices, T2 and T4, two transfer devices, T5
and T6,and two pull-up devices, T1 and T3. In Figure 2.6 an alternative is
shown with only four transistors, where the two pull-up transistors have been
replaced with resistors. The four-transistor configuration was occasionally
used in stand-alone memories. Today most S R A M cells are of the six-
transistor variety, especially the embedded ones. These have lower
quiescent power and greater soft error resistance.
Static Random Access Memories 21
word Line
.
.
.
.
I
..
. I
"
.
..
.
.
..
.
-
" .... ...... ......-
......I I
n T5
e
21
t
I- - i
I
I WOrdLine
Figure 2-6.
Four transistorSRAM cell.
There are numerous ways that an SRAM cell can be laid out [ 101. Figure
2-7shows one simple layout for a six-device SRAM cell [ 1 I]. The two
transfer N E T S are at the bottom with the horizontal polysilicon (or poly for
short) shape making up the word line that is lightly shaded. Two black bit
line contacts are below where the cell is attached to the true and complement
22 Chapter 2
bit lines. Above the word line, in the center, is the ground contact. At the
top of the figure is the Vdd contact. The lighter and darker shaded shapes in
the center make up the cross-coupled latch. The large unfilled shapes are the
diffusions. Wherever the poly crosses the diffusion a transistor is formed.
The two pull-up PFETs are at the top and sit in an Nwell, which is not
shown. For this illustration it is assumed that the chip is formed on a P-
minus epitaxial layer and that no Pwell is required. Alternatively, the four
NFETs at the bottom of the figure may be incorporated in a Pwell for a twin
tub process.
is possible, and even typical, for a single Vdd contact to be shared between
four adjacent cells, thus saving significant area. Also, since there are no
contacts in between the cross-coupled FETs, the spacing between these
shapes can be driven to very small values. Often, bit line contacts are shared
by a pair of cells vertically adjacent to one another along a column. Again,
if a single bit line contact becomes excessively resistive E121 then not one
cell but two will fail. Since reading a cell involves the cell pulling down
either the true bit line or the complement bit line low, a resistive bit line
contact causes one of the two data types to fail on these two cells. Thus,
these two vertically paired cells with a defective bit line contact may be able
to store and read either a "1" or a " 0 ' but not both. Furthermore, a resistive
bit-line contact degrades the writing of the cells more than it degrades the
reading of the cells.
Because the SRAM cells in figures 2-7 and 2-8 are laid out differently,
they fail differently as well. One cell layout style is sensitive to different
manufacturing defects and fails differently from other cell layout styles.
This means that different fault models and testing patterns should be used for
these different designs.
For example, the cell in Figure 2-8 has separate ground contacts. If one
of these ground contacts is resistive then the cell can easily disturb since
there is an imbalance between the true and complement pull-down paths.
The cell with a single ground contact, if it is resistive, has common mode
24 Chapter 2
resistance to the true and complement nodes of the cell, thus causing the cell
to retain most of its stability, even with the defective resistance. A second
example defect is an open Vdd contact. For the cell layout in Figure 2-8,
where a Vdd contact is shared by four adjacent cells, an open Vdd
connection causes not one cell to fail but rather a group of four cells. Thus,
even though the schematic for the two layouts is identical, the failure modes
for the two layouts are different.
For any layout configuration, the cell stability is defined by the ratio of
the strength of the pull-down transistor divided by the strength of the transfer
device. This is known as the “beta ratio.” Normally, the beta ratio is simply
the width of the pull down device divided by the width of the transfer device.
Equation 2-1 provides the calculation when the lengths differ between the
pull-down and transfer devices. It should be remembered that the
dimensions of concern are the effective widths and lengths, not the drawn
dimensions. A beta ratio of 1.5 to 2.0 is typical in the industry. A beta ratio
below 1.O indicates that each time the cell is read, it is disturbed as well. For
SRAMs, a deftct free cell must have a non-destructive read operation.
Wg PullDownFET 1 Ld PullDownFET
.=( Wg TransferFET f Ld TransfetFET
Equarwn 2-1. Determining the beta ratio, which, Mines cell stability.
Only one of the two bit lines moves in value during any single read
operation, and the bit line that changes in value does so by only a small
amount. Due to the small excursion on one of the differential bit-line pair,
there are some very real analog effects in memory operation.
Logical operation is typically represented as a "I" or a "0", however, the
"I" or "0" stored in a cell is distinguished based on a small signal swing.
Typically it may only be a 100 mV difference on a bit-line pair. Both bit
lines are precharged into a high state. Most often this precharge is to a
Vdd value but some designs precharge to a threshold voltage below Vdd.
&-charging the bit lines to a threshold below Vdd is error prone and any
differential between the bit line potentials seriously hinders the sensing
capability since such small differences determine the correct "1 versus "0"
I'
Key Point: Analog effects in memories drive critical design and test issues.
The pre-charge to Vdd is most frequently accomplished by a three-
transistor circuit, as shown in Figure 2-1 1. This circuit is sometimes referred
to as a "crow bar". It forces each bit line to Vdd and also equalizes their
potentials. There is a PFET pulling each bit line to Vdd and a third P E T
connecting the two bit lines together. An alternative to this circuit leaves out
the third PFET and simply has the two PFETs to pre-charge the bit lines to
Vdd. During a read the pre-charge circuit is normally turned off for a
column that is being read. For the columns that are not being read, the pre-
charge is often left on. With the precharge in the on state and the word line
being high on the unselected columns, the cell fights against the pre-charge
circuit. The small amount of current consumed by this contention is usually
very tolerable on a cell basis. The total power question is really one of
consuming the flush through current between the cell and the precharge
circuit or consuming the Cdv/dt current recharging all of the bit lines after a
read. The cells that are fighting against the pre-charge circuit are said to be
in a "half-select" state. Defect free SRAM cells have no problem retaining
data in a half-select state since NFET transfer devices have such poor pull-
up characteristics. The half-select state can actually be utilized as a feature
to help weed out defective or weak cells. It should be noted that the bit line
precharge signal is active low.
The bit lines are connected to a sense amplifier through isolation
circuitry. An example isolation circuit is composed of two PFETs, as shown
in Figure 2-12. The bit lines are isolated from the sense amplifier once
sufficient signal is developed to accurately sense by the bit line isolation
(ISO) signal going high. The reason the bit lines are isolated from the sense
28 Chapter 2
amplifier is to speed up the sense amplifier circuit operation. Bit lines are
long with many cells attached to them. All of these cells load down the bit
lines but the long metallization of the bit line forms even more load due to its
large capacitance. The isolation circuitry shown in Figure 2-12 assumes that
a single sense amplifier exists for each bit-line pair. For the case where
multiple columns feed a single data out, as is normally the case for larger
memories, the isolation circuit is replicated to form a multiplexer. This
arrangement is referred to as a bit switch circuit. The appropriate pair of bit
lines is attached to the sense amplifier, which correspond to the column
address applied to the memory. Typical column decodes are two, four, or
eight to one. They can also be 16 or 32 to one but this may involve another
multiplexing stage after the sense amplifier. The exact decode width defines
the column decade arrangement and therefore the aspect ratio of the
memory. A four to one bit switch isolation circuit is shown in Figure 2-13.
I
True Bit Lines
JI Canpiemen lit Lines
There are many different types of sense circuitry. A latch type sense
amplifier is shown in Figure 2-14. For this circuit the bit-line differential is
applied to the drains of the four transistors forming the sense amplifier’s
latch. An alternative is to have a latch type sense amplifier where the
differential signal is applied to the gates of the NFETs from the sense
amplifier latch as shown in Figure 2-15. When this configuration is used a
different bit line isolation circuit may be employed. Another alternative to
the latch type sense amplifier is to remove the PFETs from Figure 2-14 [15].
When this circuit arrangement is used, the isolation circuit keeps the bit lines
attached to the sense circuit and the bit lines hold the high node in an
elevated state while the low node is actively pulled down by the sense
amplifier. A second stage of sensing circuit is then normally employed to
further amplify and latch the sensed result 1161. Often times a second stage
of sensing is utilized to improve overall performance and latch the sensed
result, regardless of the first stage’s sense amplifier design style.
+
Data Lines
omplement Output
Set
Sense
Amp
(SSA)
-
Bit Switch
True Output
Figure 2-15. Latch type sense amplifier with differential being applied to the NFET gates.
For any of these latch type sense amplifiers, the sense amplifier is
activated by the set sense amp (SSA) signal going high [17,18]. The
differential in the sense amplifier is amplified to a full rail signal once the
SSA signal is high. When there is only a single bit-line pair per sense
amplifier, since the IS0 and SSA signals are of similar phase, they can
actually be a single signal. Once sufficient signal is developed into the sense
amplifier, the bit line can be isolated and the SSA line causes the signal to be
amplified and latched. Thus, SSA can drive the IS0 input to the isolation
circuitry when a single bit-line pair exists per sense amplifier. When
multiple bit-line pairs feed a sense amplifier through a bit switch, the normal
practice is to have the SSA signal go high slightly before the IS0 signal goes
high. It should be noted that when the IS0 signal is brought up, both bit
lines are coupled up via Miller capacitance. If the sense amplifier has started
to set then the small signal developed on the bit lines tends not to be
disturbed by coupling from the IS0 signal. Further, the delay of getting data
out of the memory is reduced by bringing the SSA signal in a little sooner.
Even bringing SSA high will cause some coupling of the true and
complement output nodes of the sense amplifier high, although this is more
of a second order effect. The exact amount of sense amplifier signal
developed can be considered the value at the point in time when the two
nodes start to couple down as the sense amplifier starts to pull the nodes
32 Chapter 2
apart. Figure 2-16 shows an example set of waveforms. The cell's true node
pops up indicating that the word line has gone high. The signal starts to
develop on the true bit line. The complement bit line remains high. Signal
stops developing on the sense amplifier true node when the IS0 signal goes
high. The SSA signal goes active causing the true sense amplifier output to
go low. In Figure 2-16 the IS0 and SSA signals have been purposely
separated in time to illustrate their respective coupling effects on the bit-line
pair. In actuality the IS0 and SSA would be almost immediately adjacent in
time.
Complement Bit Line
._____________
.*::.,
I-.n-~*L.~~.IL,.---------.--.--------c
.....
...::....::....
......::....::... : * <Za.,.7a.lz..----
t
>
i
i
i
i
i
. Cell True Node ;
I
i
I I I
i
'.. ,
I I I I
, I t , , , , I i ~ ~ 1 1 1 1 , 1 1 1 , , , 1 1 1 1 1 1 1 1 , l l t l ' l l l l l l , , l ~
Time
amplifier data does not change. It remains where it was at the time of SSA
going high.
A current sense amplifier will evaluate when the SSA signal becomes
active. The operation, however, is such that if more signal or the opposite
differential signal starts to develop the current sense amplifier can correct
itself [21]. Due to this difference, a current sense amplifier can evaluate
more slowly for reading certain defective cells while most bits will evaluate
more quickly. A latch t y p sense amplifier always evaluates at the same
point in a read cycle and similarly provides its data output at the same time
in every cycle.
True Output
Data Lines
+
Complement Output
A key signal in the sense amplifier signal development is the set sense
amplifier node. The timing of it is critical since it is used to determine when
to turn on the sense amplifier and in many cases when to stop sensing the
signal on the bit lines. Thus the timing is very carefully designed to track
with the bit line signal development. If the SSA signal is poorly designed,
then time is wasted as more than the needed signal develops into the sense
amplifier. Worse still, the SSA delay can be short causing insufficient signal
to reach the sense amplifier. This causes inconsistent results in the data
being sensed [22]. The correct binary value can be in the cell but it can be
sensed sometimes correctly and sometimes incorrectly. Thus, it is key that
34 Chapter 2
the SSA delay be very accurately modeled and designed robustly to track the
bit line signal development.
Since the delay to SSA going active is so critical several design methods
allowing good tracking have been developed. One method utilizes a dummy
word line where the load on the dummy word line is similar to that of the
normal word line, along which the cells are being read. Figure 2-18 shows a
dummy word line with the cells tied off so as not to allow connection to the
bit lines that pass over them. Other names for the dummy word line are
standard word line, model word line, or reference word line. These names
correctly indicate that this extra word line that is utilized only for timing.
Dummy Word Line
........... " ......................
-
.....
...................................
i
An alternative to a dummy word line is a dummy bit line. Each time that
a word line is brought high to read a cell, an additional cell is accessed
which pulls down the dummy bit line. The end of the bit line is connected to
logic circuitry that picks up this result and subsequently brings the SSA
signal high. A third method involves simply including a series of inverters
to provide the needed delay. Regardless of the method for delaying the
setting of the sense amplifier the proper amount, it is critical that the delay
tracks with signal development. As the process, temperature, and voltage
applied to a design vary, the rate at which the signal on the bit lines develops
varies. If the SSA delay does not track accurately with the signal
development rate then the amount of signal on which the sense amplifier sets
will be different for different conditions. If this variation exists then, at
Static Random Access Memories 35
certain conditions, the correct data may be sensed while at other conditions
the amount of signal will make sensing inconsistent.
Once the data output is latched in a sense amplifier, either in the first or
second stage, it is provided to the output of the memory. The sense
amplifier output can be multiplexed with other sense amplifier outputs, if
36 Chapter 2
there is the need for further column decoding. It can also be loaded into a
latch, which will retain data into the next system cycle and beyond. The
memory output can be driven across a tri-state bus for use by a processor or
some other on chip component. Further, it may be driven to another chip by
means of an off-chip driver. The number of possibilities is e n o m u s and is
not pertinent to the memory-proper design and testing. They are more a
function of YO design and therefore will not be covered in this text.
Figure 2-19 is a composite diagram of the cell, pre-charge circuit,
isolation circuitry, and sense amplifier. These form a typical read cross
section for an SRAM and are in many ways the key to understanding all of
static memory testing.
Figure 2-20 shows the relative timings of the key SRAM signals.
Depending on circuit topology these can vary but the signals are displayed
here for comprehension purposes. The sense amplifier output signals show
both the true and complement values. Note that one remains high while the
other transitions low.
Word Line
Isolation
L
Set Sense Amp
The various memory cells, isolation devices, bit switches, and sense
amplifiers can have numerous subtle design variations. These should be
understood prior to completion of the remainder of the design and certainly
prior to completing the test strategy. Each transistor design difference can
bring in new fault models, which need to be tested. Certain design
differences also preclude other fault models and therefore eliminate the need
for specific test strategies and patterns. The design styles presented here are
intended to provide an appreciation of the memory design and facilitate the
test of it. There is not a single golden test strategy that works on all SRAMs,
since there are nuances in different designs that drive corresponding test
differences. This reminder is placed here since the read data path has most
of the subtle SR4M analog circuitry, which must be carefully understood.
Static Random Access Memories 37
write
4
I-
C- -1
The four vertical devices in series are often referred to as a gated inverter.
When write enable (WE) is asserted high the write driver circuit drives the
appropriate data values onto the bit line true and complement lines. Since
the primary objective is to drive a "0". the NFETs and PFETs may be
similarly sized, rather than the typical two to one ratio for PFETs to NFETs,
38 Chapter 2
5.
An address arrives at an SRAM boundary to identify which address is
being selected. Since the RA in S R A M stands for “random access” any
location may be selected on any given cycle. The same address may be
selected over and over again, as in the case of a control store memory;
sequential addresses may be selected, as in the case of an instruction cache.
Lastly, various locations may be accessed in no particular order, as in the
case of a data cache.
To identify the specific location, a group of address bits are supplied to
the memory. From a user’s perspective, the type of addresses, Le. row and
column, are nontonsequential. The customer only wishes to be able to
retrieve the data they stored at some time in the past. Functionally, the
customer may rearrange the address signals in any order. The only concern
is that the location selected for a given data input match the address location
selected to obtain that same data on the output.
From a designer’s or a test engineer’s perspective the specific address
type is paramount in consideration. Typically there is row. column, and
bank addressing. The row can be thought of as the “y” address dimension
while the column may be considered the “x” address dimension. The bank
address may be referred to as sub-array, quadrant, or some other term and
may be considered a third dimension. Practically, there are only two
physical dimensions in memories since wafers are planar. It is possible to
stack bits on top of bits to some extent but broad use of a true third
dimension will not be done on a large scale for a single chip for some time
yet. Stacking of chips can give a true third dimension but that is not
addressed in this writing, as the design and test implications deal more
significantly with packaging issues rather than memory operation.
From this discussion it can be seen that bank addressing is really column
addressing, carried out in such a fashion that the columns are spaced even
farther apart. Thus, the design and test implications for bank addressing arc
very similar to that of column addressing.
Static Random Access Memories 39
I
Word Line 0
t d
rJ
word Line 1
1' +
word Line 2 word Line 3
4
6. LAYOUT CONSIDERATIONS
Earlier in this chapter the cell layout was considered. By examining
Figure 2-7 it can be seen that there are certain symmetries and certain
asymmetries within a cell layout. Optimizing the overall memory size can
be accomplished by performing cell stepping, mirroring, and rotating of the
cell layout. This stepping, mirroring, and rotating can also be done on a sub-
array basis and full appreciation of each is required to adequately test the
memories.
The cell of Figure 2-7 is repeated in Figure 2-24 but with the true
portions of the cell highlighted. By removing the complement portions of
the cell the stepping, mirroring, and rotating can be mom easily explained.
Figure 2-25 shows the true portion of the cell from Figure 2-24 stepped
horizontally and vertically so that four cells are now represented.
Normally the cell is mirrored about the x-axis to facilitate the use of a
single N-well that encompasses the PFETs from two vertically adjacent
cells. Such a configuration is shown in Figure 2-26. The cells are simply
stepped in the x dimension.
Static Random Access Memories 41
Often times the cells are mirrored about the y-axis as well to facilitate bit
line layout. This is shown in Figure 2-27. It should be noted that just
because the layout has been mirrored about the y-axis does not mean that the
bit line true and complement signals have been swapped as well. Since a
42 Chapter 2
Figure 2-27.
Four cells mirrored about the x-axis and the y-axis
Static Random Access Memories 43
cell is schematically symmetric the true and complement nodes can be either
left or right without regard for relative stepping and mirroring.
All of today's memories have more than a single YO,and most have very
many inputs and outputs [24,25]. It is not unusual to have 256 or more VO
on a given memory. The multiple inputs are stored as a "word" in the
memory. Most people assume that cells storing the bits from a single word
are adjacent to one another, but they are not. From a logical point of view
this makes sense but physical arrangements do not reflect this logic. In fact,
the bits within a word are spread across multiple sub-arrays [26]. Only in
certain very low power applications will the cells for a word be adjacent to
one another. Rgure 2-28 illustrates a four-bit word being within a sub-array
(a) or being spread across four sub-arrays (b). For the latter case, the cells
storing bit 0 through bit 3 are in row 127 and column 0 of sub-array 0
through sub-array 3, in this example. It can be seen that numerous cells exist
between adjoining bits in a single word. One of the reasons for this
arrangement is protection against soft errors. Because the cells within a
word are not adjacent, if two physically adjacent bits flip due to a soft error,
each word that is read will be detected as being erroneous since each
contains a parity fail. If two bits in a single word were allowed to flip then
1-1 1 1 1
no parity error would be detected.
Row 127
do dl 62 43
Row 127
d2 Sub-array d3 Sub-array
b) Word spread across multiple sub-arrays.
Figure 2-28.A four-bit word spread across single and multiple sub-arrays.
0 e e
7. REDUNDANCY
Memories require redundancy to ensure that sufficient chip yield is
obtained. A redundant element is a piece of memory that can replace a
defective piece of memory. Redundancy can come in the form of spare
rows, VO,columns, blocks, or a combination of the above. Very small
memories can get by without redundancy but large memories require
significant numbers of redundant elements. When there are many small
Static Random Access Memories 45
detected, the redundant row is accessed and the normal word line, which is
defective, is not accessed.
When a spare UO is included in a memory design there are usually a
large number of VO in the memory. For example, if the memory has 64
functional YO, a spare or 65* I/O is included for redundancy. UO
replacement is a form of column redundancy and is easy to implement. True
column redundancy replaces one or more bit-line pairs in the memory. For
this type of redundancy, a column is replaced within an VO to fix a failing
cell, sense amplifier, precharge circuit, bit line, or partial bit line. Block
redundancy is utilized to replace a larger portion of memory. In this case
rows, columns, and UO are all replaced.
Figure 2-30shows an example of redundancy replacement in a memory.
It can be seen that each quadrant has independently controllable redundancy.
In the upper right quadrant a row pair has been replaced. In the upper left
quadrant two independent rows have been replaced. In the lower left
quadrant only a single row has been replaced, meaning that one spare row
was not utilized in this quadrant. In the lower right quadrant, again two
independent rows have been replaced. More information on redundancy will
be covered later in the text in chapter 13 on BIST and Redundancy.
8. SUMMARY
Static random access memories are the primary form of embedded
memories in the industry today. They have great utility and robustness.
There are, however, many subtle analog effects that need be considered from
both a design and a test perspective.
The sensing scheme, decoder circuitry, redundancy, and layout
arrangements all bear on the other memories, which will be covered in the
remainder of this text. Therefore, it is recommended a finger be kept in this
chapter as one reads of the other memory designs. In multiple places the
reader should refer back to the SRAM circuitry for detailed explanation.
This has allowed the overall text to be shorter and the writing to be less
pedantic.
SRAMs are easier to comprehend than most other memories because of
their closeness to logic and therefore were covered first. Unique
complexities due to technology. embedded logic, or other challenges will
pervade the memories to be discussed in the next chapters. Thus, the SRAM
is the standard in addition to being the workhorse of the industry.
Comprehending the design and test challenges from an SRAM perspective
will provide invaluable assistance in understanding other memories.
Chapter 3
Multi-Port Memories
Design & Test Considerations
“He has told us that you always have pleasant memories ....” - the
apostle Paul in I Thessalonians 3:6
1. CELL BASICS
A multi-port memory cell has to have more than one access port. At a
conceptual level Figure 3-1 illustrates the single port memory cell and the
multi-port memory cell, where there is more than a single bit line contacting
each cell along a column.
For this section of the book we will assume that a multi-port memory is
an S U M . It is possible to have other types of multi-port memories but
SRAMs are the most predominate variety and should remain so. Further, the
Multi-Pon Memories 49
challenges seen in other types of multi-port memories are similar to that seen
in SRAMs. Simply for reference, Figure 3-2 shows a dynamic multi-port
memory cell [33].
the stated read and write speed limitations. Figure 3-4 shows the most used
multi-port memory, the standard two-readwrite port cell [MI.This two-port
memory cell utilizes a differential read and a differential write. It has eight
devices and is very similar to the six-device single port memory cell, which
has already been discussed. The only additions are the two transfer devices
for the second port, shown in Figure 3-4 as T7 and T8. These sink the
appropriate charge from the corresponding bit line during a read operation.
During a write operation the desired cell node is pulled low. It can be seen
that an extra bit-line pair and an extra word line must be attached to the cell
for the additional port. When this type cell is used for two &write ports,
it is often referred to as a dual port memory. When this cell is utilized with
one port being a dedicated read port and the other as a dedicated write port,
it is often referred to as a two-port memory.
From this schematic it is obvious that there are two word lines, one for
port 0 and one for port 1. Further there are two bit-line pairs. One pair is the
true and complement bit lines for port 0 and the other is the true and
complement bit-line pair for port 1. From the shear number of lines which
must interact with and therefore intersect the cell’s x-y location, it can be
seen that this two-port cell takes up significantly more mom than a one-port
cell. Generally an eight-device cell takes up twice the area of a typical six-
device cell. The extra space is driven by the extra bit and word lines rather
than the active shapes.
Multi-Port Memories 51
W, PulDownFETI L, PullDownFET
<WeTransferFET,f Ld TranSferFET,
Equution 3-1. Beta ratio calculation for an “n” read port memory.
52 Chapter 3
write Write
Bit Bit
Line
Complement
Figure 3-5.
Active pull down on cell with three read ports.
-
i
and utilize the memory’s own timing chain. When the first batch of data is
locked into the memory’s output latches or when the first write operation is
completed. the second memory operation is started. In this manner two, or
even more, memory accesses can be designed into each system cycle. A
TDM operation can be performed on a memory that already has a multi-port
cell. In this manner a higher dimension pseudo multi-port memory can be
designed. The five-port cell in Figure 3-6is implemented so that the read
ports are double clocked but the write port is only clocked once per cycle.
This allows a five-port memory to provide a pseudo nine-port memory
operation. The area of the five-port memory cell is much less than a
similarly designed nine-port cell. The key requirement of a nine-port
memory is that the memory needs the ability to read at twice the system
cycle rate.
A true multi-port memory can be either synchronous or asynchronous.
In the case of a synchronous two-port memory, there is only a single clock.
This clock fires both ports’ operations at the same instance in time, thus both
word lines go active at the same time and the design is well controlled. An
asynchronous two-port memory has two clocks. One port’s operation can
happen at the same time or at entirely different times from the other port.
There may indeed be overlap in the timing between the two ports and
because of this there are certain legal and certain illegal operations and
timings that are allowed. For instance, if both ports are accessing the same
location and one of them is writing while the other is reading, legal
possibilities need definition. If the write clearly occurs prior to the read then
the new data is read. If the write clearly takes place after the read then the
old data will be read. I n between these two timing extremes, the data being
read is indeterminate and needs to be specified as not being allowed or
specified as having the outputs be Xs. One last thought on writing and
reading the same location is that a read creates a load on the cell. Writing a
cell that is being read requires driving a greater load than writing a cell that
is not being read. Therefore, a multi-port memory write driver needs to be
designed with this anticipated greater load and greater drive capability in
mind. The write time for an individual cell is longer as well and SO the word
line up time and entire timing chain needs to factor these timings into the
design.
3. LAYOUT CONSIDERATIONS
Muki-port memory cells are significantly larger than single-port
memory cells because of the higher the number of ports. As the number of
ports grows so does the number of word lines and bit lines that contact the
Multi-Port Memories 55
Figure 3-7.
Two-port memory hit lines with shielding
Key Poiw: Multi-port memory designs must consider all of the possible
interactions between the ports.
56 Chapter 3
Since there are so many bit-line pairs on a multi-port memory, bit line
twisting can become very difficult. On higher dimension multi-port memory
cells the true bit lines may be grouped together vertically and the
complement bit lines may be grouped together in another location vertically.
When this happens it is impractical to perform bit line twisting. With no bit
line twisting the coupling concerns need to be examined more carefully with
detailed simulation of possible noise coupling to ensure the minimum
amount of bit line signal development happens. This ensures repeatable and
reliable cell data evaluation. As multi-port memories become larger and
more prolific, the concern only becomes larger. This complexity needs to be
factored into future multi-port memory design efforts.
As multi-port memories become larger, more and more of them will need
to include redundancy to enhance yield. Clearly, if one port on a cell fails
then both ports need replacement. One cannot write into one working port
on a normal element and then read from a redundant element on a different
port and expect the data written into the normal element to be present. Thus
a failure, on any port, must cause complete replacement of the bad element
with a redundant one.
4. SUMMARY
Multi-port memories have many similarities to standard one-port
SRAMs. Due to the multiplicity of ports, the number of possible
interactions between the ports creates significant complexity. The multi-port
complexity must be simulated from a design perspective and analyzed from
a test perspective. Inadequate design analysis can easily result in an un-
writable cell, one that disturbs if multiple ports read the same cell, or
coupling between the write and read ports. Inadequate analysis from a test
perspective will not consider all of the possible multi-port faults resulting in
poor test patterns and higher shipped defective chip rates.
Chapter 4
Silicon On Insulator Memories
Design & Test Considerations
“...was to him but a memory of loveliness in far duys and of his first
... -
grief. ” from Return of the King, J.R.R.Tolkien
are parasitic diodes between the body and the sourcddrain which limit the
voltage range over which the body potential can vary. There are also
capacitances between the diffusions and the body as well as between the gate
and the body. The parasitic diodes and capacitors are shown in Figure 4 4 .
Since the body is allowed to vary in potential, the threshold voltage of the
FET can change with it. For an NFET, as the body potential rises the
threshold voltage drops. This results in a transistor that turns on earlier and
has more available overdrive. Equation 4-1 shows the relationship between
the body voltage and threshold voltage 1411. VT0 is the base threshold
voltage; Vsa is the body to source potential. The symbol y is the bodyeffect
constant and 4~is the Fermi potential.
2. MEMORIES IN SO1
A memory processed using silicon-on-insulator technology will have
differences from those developed for standard bulk silicon [43]. SO1 can be
Silicon On Insulator Memories 61
utilized to fabricate dynamic RAMs [MI, but mostly it is used for fabricating
SRAMs. Since the FET structure in SO1 can have a varying threshold
voltage, it can also have a varying sub-threshold leakage current. Dynamic
RAMs need to limit their leakage current as much as possible to lengthen
their data retention time. More information will be covered on dynamic
RAMs in chapter six.
Silicon on insulator SRAMs are sensitive to certain design
characteristics, which are not of concern in bulk SRAMs [45]. The cells
along a column can behave in unusual manners due to the floating bodies of
devices in the cell [46].Taking the transistor with its parasitic diodes from
Figure 4-4, it can be Seen that a parasitic bipolar transistor exists, as shown
in Figure 4-5. The body can form the base of a NPN bipolar, while the
source forms the emitter and the drain forms the collector. If a body is high
in potential and the source is pulled down, the parasitic NPN device may be
turned on, pulling current from the body and also pulling current from the
collector/drain due to the bipolar gain of the NPN device.
The NFETs, which form the pass gates of an S R A M cell, can form just
such a parasitic NPN where each cell is attached to a bit line. Rgure 4-6
shows a series of cells along a column. The four transistors in each cell that
make up the crosscoupled latch have been abstracted for simplicity. The
transfer devices remain explicit and are shown along with their parasitic
NPN transistors. Since the bit line is normally precharged to a high
potential, the emitter is in a high state. If all the cells along the column are
in a " I " state, the collectors are at a high potential as well. Since the emitter
and the collector potentials of the pass transistors are high, their base
62 Chapter 4
potentials rise due to diode leakage currents. This state, with all of the cells
along a column having a "1" value, may be unusual but it is a case which
must be accommodated. Certainly during test, with typical marching and
walking patterns, such a state will be experienced. When one cell is to be
written to a " 0 the write head for that column drives the bit line low. The
load that the write head sees with a bulk silicon SRAM is the large
capacitive load from the long line. With silicon-on-insulatortechnology, the
load varies with the data stored in the column; the write drivers and cells
need to be able to sink this variable load [47]. Due to the body potential's
ability to rise towards the potential of the drain (bit line), with both at similar
potentials, the space-charge region surrounding the drain diode becomes
very thin, even thinner than bulk. This thinness essentially reduces the
distance between the plates of the capacitor.
When the bit line is pulled low on an SO1 SRAM,the parasitic emitters
are all pulled low. When each emitter reaches a diode drop below the
potential of the base, current starts to be pulled from the base. When current
starts to flow from the base, the NPN transistor turns on and momentarily
pulls current from the collector until the base empties of charge, according to
Equation 4-2. The beta amplification factor is small but is a function of the
layout, doping, and other specific technology values, which must be
evaluated. Nonetheless, current will be pulled from the base and from the
collector of each cell. The write driver circuit must be strong enough to
drive the capacitive bit line low and be able to sink the bipolar NPN currents.
Each of the cells must be stable enough so that when the current is pulled
from the collector, also known as the cell's high node, the cell does not
switch in value even with this bipolar gain.
1, = I B ( P + 1 )
Equathn 4-2. Bipolar cumnt equation.
If a full swing read is utilized on the bit lines, then each cell must be able
to sink a similar current to that described in the previous paragraph. In
addition, the cell which is sinking the cumnt needs to be able to do so
without causing any stability problems to itself. In Figure 4-6, the bottom
cell is shown with a "0" on the true node. This cell would need sufficient
drive to pull down the bit line and the associated parasitic bipolar current.
Figure 4-7 provides another representation, with two cells along a column,
emphasizing the parasitic NPN structures. For simplicity the transfer NFET
is not shown, since it does not contribute to the bipolar current.
Key point: I n SOI memories, the parasitic bipolar and history eflects must
be considered.
Silicon On Insulator Memories 63
stability regardless of how the real FET strengths vary due to the history,
with a small performance impact.
...............................".................."."...."."................".........
........................
cell 2
.".... ..........cell
"" ".....1
Low Node
of First Cell
Pull-up
PFET "0"
"1"
Floating Body
Parasitic of Transfer Device
Bipolar
.............
iI
0 0 0
" I
................... 7-
- ""........I .............. ..........,
I
"."".."."
To Other Cells
Along Column
and Write Head
Figure 4-7. A cell with the parasitic NPN detailed in the context of a column.
3. LAYOUT CONSIDERATIONS
As just stated, the nominal cell beta ratio needs to be higher due to the
history effect in silicon-on-insulator technology. Thus, the layout of the
SRAM cell needs to be modified, as compared to bulk technology.
Other circuits are impacted by the history effect as well. Any circuit that
is clocked regularly, and that works in tandem with another path, which is
not clocked regularly, is suspect [49,50]. The circuit that is clocked
regularly is often referred to as being in steady state while the circuit that is
only clocked rarely is said to be in dynamic state. One example is a sense
amplifier, which is clocked every few nanoseconds, and a particular cell,
whose row may not have been clocked in hours. To compensate for this
difference, more signal development time needs to be allocated to handle
variances due to signal development that is a function of history.
Silicon On Insulator Memories 65
True Output
-
Set
Sense
Amp
4. SUMMARY
Silicon-on-insulator technology creates many interesting challenges in
memory design and test. It is key to understand and factor in the parasitic
bipolar and history effects inherent to memories in SOL There are greater
challenges due to increased loading along a bit line as a function of the data
type stored in the cells along a column. The impact of history on cell
stability must be considered as well. With careful design and test,
performance advantages can be gained and robust circuitry can be
implemented in silicon-on-insulatortechnology.
Chapter 5
Content Addressable Memories
Design & Test Considerations
1. CAM TOPOLOGY
A CAM contains not one but two sections of memory. The first section
compares and the second is for reference data storage [53]. These two
sections can be referred to as the compare array and data may, respectively,
which are shown in Figure 5-1. The compare a m y selects which section of
the data array to read or write. The compare array contains valid bits, the
data being compared, and possibly other bits as well. The valid bit, in an
entry, determines whether any real data has been entered which should be
compared. The other bits can identify if a given data entry has been changed
and which entry in the CAM can be erased. When a CAM is full and yet
new data needs to be written, one or more entries need to be erased. It is key
to know which entry should be the first to be cleared. When a match occurs,
in the compare array, with data that is being applied at the inputs of the
CAM,a “hit” occurs. The hit forces a word line in the data array to become
active. Accessing the data array is identical to SRAM operation, as has
already been covered, and will not be discussed further. In some
applications the term CAM refers to only the compare array.
1
Compare Date
Away Amy
One or more entries can have a hit in a given cycle. Depending on the
CAM architecture, a multiple hit situation may be tolerable and arbitration
logic may be included to select which entry to send to the CAM’soutput. A
Content Addressable Memories 69
Compare
Data
n
Hit
including an XOR gate for each bit and a wide NOR gate for each entry
in a CAM compare array is a prohibitive design choice. Instead, the XOR
function is built into the array on a cell basis. Dynamic logic techniques are
employed to radically reduce the circuitry required to provide the NOR
function. Hgure 5-3 shows a cell with a built in XOR function [54]. There
a~ ten transistors, which make up the cell. Six of these are the typical cross-
coupled latch and transfer FETs of an SRAM cell. The other four provide
the XOR function. If there is a mismatch then either the true side or the
complement side causes the hit signal to be discharged. Only one of the
stacked NFET pairs can be on at a time, due to data types. If a match occurs
on a cell, then neither the true nor the complement NFET stacks discharges
the hit signal. All of the compare cells for an entry are attached to the hit
signal. If any bit does have a mismatch then the hit signal will be pulled
70 Chapter 5
low. Prior to each compare operation the hit signal must be precharged
high. The NOR function is included in the form of a dot-OR arrangement.
This type of a NOR gate is especially effective where a wide set of inputs is
required. The CAM can have any number of inputs and still use this type of
NOR circuit topology. Typical CAM compare widths are eight to 72 bits.
Address Hit I
I
I
Data
Line
TIM
-I
Compare
Data write - - Write
Line True Complement
Complement Bit Bit
Line Line
Figure 5-3.
CAM cell schematic.
Write
wwd Line
2. MASKING
In certain applications there are bits which are “don’t cares” in either the
compare data that is stored in the array or that is applied for compare at the
CAM’sinputs. These compare inputs can be masked with a masking bit on
a per bit basis. In this case, each time a mask bit is set the number of bits
that must match is reduced by one. If all of the mask bits are set then all of
the entries will indicate a match, which is obviously a useless condition but
does illustrate the circuit operation. A cell that can be used with a mask bit
input is shown in Figure 5-5. In this case an NFET is added to the stack of
those shown previously in Figure 5-3. If a masking bit is set, the inputs to
the corresponding NFETs are both driven low. This prevents that cell from
discharging the hit line and thus indicating a mismatch. An easier
arrangement is handled at the compare bit input circuitry. If a mask bit is set
then the compare data lines are both driven low, preventing any of the cells
along the column from driving the hit line low. This allows fewer devices in
the cell and fewer lines that need to run vertically through the compare array.
72 Chapter 5
B Address Hit I
Compare
I
Data
I
kiF
write
-I iI'
write
Itill0
'True
Complement
True
Bit
Line I Elp-3"'
Line
Search
Data Y
Line Word Line
Complement I I
-
I$
- -IC
Address Hit
Search
Data
Line
True
Bit Bit
Line Line
True Complement
dynamic ternary CAM cell. The valid states are the same as shown earlier
for the static ternary CAM cell. More will be covered in the next chapter on
dynamic memories and the associated desigdtest issues.
3. CAM FEATURES
Occasionally, it is desired to clear a CAM to make room for a complete
new set of entries. To accomplish this, the compare and data arrays do not
need to be cleared of their information. All that is required is for the valid
bits to be set to the clear state. Thus, a flush operation is performed that sets
all of the valid bits to zeros. The valid bits are slightly different in that they
include a connection line, which allows simultaneous writing of a whole
column to zero.
A content addressable memory can utilize compare data to perform some
of the addressing and standard random addressing to perform the remainder
[57]. In this case the row selection is accomplished through normal data
compare, which drives the appropriate word line in the data array to a high
sme. That word line accesses multiple entries in the data array. Normal
addressing is utilized to perform the last stage of decoding, which effectively
becomes a column address.
Content Addressable Memories 75
Compare data is typically written into the compare array and only used
for subsequent compares functionally. There are good reasons for including
a read port on this m y , however. During debug and diagnostics it can be
useful, at a system level, to read the contents of each C A M array. Thus, it is
beneficial to include standard random addressing capability on larger CAMs
to accomplish this. Also, during test, being able to read and write the CAM
arrays facilitates identification of any failing cells. Without full addressing
subtle defects can escape detection and create intermittent field failures.
4. SUMMARY
A content addressable memory is a very useful and yet very complex
array. The topology includes an embedded compare function that is spread
across the bit cells in the compare array of the CAM. This feature is used to
select the remainder of the data to be read or written through the addressing
based on matching to this compare. Various masking schemes are possible
including a ternary content addressable memory, which allows individual bit
cells to either participate in a match as a "1" / "0" or be masked and not
participate. CAMs,through their usefulness, will continue to grow in size
and will proliferate through other semiconductorchips in the future.
Chapter 6
Dynamic Random Access Memories
Design & Test Considerations
1. DRAM TRENDS
The density of DRAMs continues to accelerate while the feature sizes
continue to shrink. Figure 6-1 contains the predicted reduction in half-pitch
size [ S I . This value approximates the minimum feature size. These
reductions challenge the advanced processing techniques.
address and column address are often multiplexed through one bus onto the
chip [@I. Each of these, while very interesting, will not be covered in this
text and the reader is referred to the listed references along with numerous
articles in the IEEE Journal of Solid-State Circuits and International Solid
State Circuits Conference Procedings in general.
charge is not transferred out of the cell and onto the bit line. During a
normal one-transistor DRAM read, the cell is “refreshed” by the write-
back operation. Since the three-transistor DRAM cell does not require a
write-back operation, it still needs a refresh to be performed within the
specified time. Obviously using three transistors, two bit lines, and two
word lines causes this DRAM structure to be radically bigger than a one-
transistor DRAM cell.
Bit Line
Read
Word Line
Write
-
1x
Word tine
ZJ
2m
-
@
3
T
b) 4-FET DRAM Cell
poly load devices removed. One interesting feature of this cell is the
means by which refresh is accomplished. The cell does not need to be
read and then written back. By simply holding the bit lines high and
raising the word line, the desired potentials are restored into the cell due to
the feedback arrangement included in the connections between T1 and T2.
Since a DRAM cell stores charge it is possible for each cell to store more
than one bit. If a Vdd or a ground potential is stored in a cell as a “1“ and a
“0”respectively, it is possible to have intermediate potential values stored as
well. In this case 00,01, 10, and 11 combinations could be stored at zero,
one third Vdd, two thirds Vdd, and Vdd. While interesting, cell leakage and
data retention issues become more severe for multi-bit storage [62].
Figure 6-7.
Simplified DRAM cell layout.
A single bit line contact services two storage node contacts. A separate
word line activates one access device or the other. This cell is referred to as
the 8p cell, which is the industry standard. The derivation of the 8p comes
from the dimensions of the cell. The term “F’stands for feature size. The
pitch in the bit dimension includes an F for the width of the bit line and
84 Chapter 6
another F for the spacing between bit lines, resulting in 2 F. The pitch in the
word dimension includes the width of the word line, half of the width of the
bit line contact (since it is shared with the neighboring cell), the width of the
storage capacitor contact, the width of the word line that bypasses this cell in
order to contact the next one, and half of the space between word-line poly
shapes. The total is thus four features or 4F. The overall area is 8p from the
product 2F * 4F.
There are a number of ways to reduce the DRAM cell area to 6F2 which
largely depend on the overall DRAM architecture. Some of these
possibilities will be covered shortly. It is considered that 4F5 is the ideal
limit for the area of the DRAM cell. To achieve a 4p area, there is a cross
point with only one bit line and bit line space in the y dimension and one
word line and word line space in the x dimension generating a small cross-
point cell location.
5. DRAM OPERATION
As stated earlier, the read operation of a DRAM involves transferring
charge from the storage capacitor of the cell onto a bit line. A multitude of
sensing, precharge, and bit line configurations have been designed over the
years [MI.The discussion that follows describes the operation of a DRAM
in general but the specific details of any DRAM design can vary, thereby
driving unique design and test challenges.
Figure 6-8 shows the basic internal operating waveforms of a DRAM.
Once the specified address has been determined, the appropriate word line
becomes active. The bit line which has been selected is decoded and the
isolation devices attach a pair of bit lines to a sense amplifier. As seen in
Figure 6-8, the word line voltage is boosted to a value above Vdd. The
potential needs to be above Vdd in order to adequately perform a write back
of a "1" value into the cell through the NFET access device. In the latest
technologies, with their associated lower voltages, the boosted word line is
also critical to being able to read a "1" from the cell.
Both the bit line and its complement are pre-charged to Vdd2 prior to the
word line becoming active. As the word line is driven high, the access
device turns on raising or lowering the bit-line potential as charge from the
cell is transferred. At this point the sense amplifier is activated. Only one
bit line shifts in potential. The other bit line remains at its precharge value,
since it accessed no cell, and is used as a reference. When a different word
line is activated this bit line will be the one which shifts in potential and the
other bit line will be the reference. The bit lines are referred to as bit-line
true and bit-line complement but the nomenclature has a different meaning
Dynamic Random Access Memories 85
from that of SRAMs. The bit lines service alternating DRAM cells rather
than the true and complement halves of an SRAM cell.
Word line
< \A
/ \
\A
/ \ >
Read Sense Write back
The bit-line arrangement is critical to the overall area of the DRAM and
to the amount of noise that can be tolerated. A folded bit-line topology is
shown in Figure 6-10 where the bit-line pair accesses an adjacent pair of
DRAM rows. The two bit lines are adjacent to one another, allowing bit line
twisting that enables most noise to be common mode. Thus the folded bit
line approach is less noise sensitive which is the reason that it has very broad
usage. The sense amplifiers shown here are shared by both the left hand bit
86 Chapter 6
lines and those on the right. The word line drives are shown to be
interleaved. A folded bit line requires that each line only contact every other
cell, resulting in a larger physical area.
Sense 1
Amp
Complement
Set
Sense
Amp
IndivMual Cell
An open bit-line configuration allows the line to contact every cell that it
passes over. The x dimension of the cell can be reduced to 3F with the
resulting overall area being 6p. Any noise is now differential, which is
often not tolerable. Other methods for keeping the area of the DRAM down
include rotating the array, including a vertical transistor, and tilting the
active area [65,66].
6. CONCLUSIONS
Dynamic random access memories are marvelously dense and complex
circuits. They are ideal memories for a certain class of applications. It is
important to understand the differences that make DRAMs unique from
other memories so that they are used in the correct applications. These
unique aspects also require the proper fault modeling and test development.
Since the analog effects are more severe in DRAMs, more test patterns and
special voltage potentials need be applied and injected to thoroughly test the
memory. Certainly data retention must be well tested since all cells naturally
bleed charge from the DRAM capacitor and the data retention duration needs
to meet specification.
Chapter 7
Non-Volatile Memories
Design & Test Considerations
1. ROM
A read-only memory contains a fixed set of data for the life of the chip.
Its programming is part of the design. Typically microcode or some other
permanently fixed set of instructions or data is programmed in the ROM.
The logic design includes an array identifying which bits are to be zeros and
which are to be ones.
These ones and zeros are implemented in a simple cell structure like that
shown in Figure 7-1. There are four cells illustrated along the column. Bit
zero, one, and three are defined to be in the "0" state while bit two is in the
"1" state. The lack of an FET in bit position two prevents the bit line from
being pulled low by a small amount when word line two is driven high [67].
Since the bit line remains high, a "1" is detected by the sense amplifier 1681.
There are a number of ways that this type of ROM programming can be
physically implemented. A transistor can be missing or just the contact to
the bit line for that transistor can be removed. A difference in diffusions can
be implanted to turn off a "1" state cell while leaving on a transistor that
corresponds to a cell's "0" state [69]. Alternatively, a diffusion can be
90 Chapter 7
implanted allowing a transistor to be turned off, corresponding to a "1" in a
stack of transistors. If this implant doesn't exist then the transistor is
bypassed, providing a " 0 state in the cell. Regardless of the method, a "1"
or a " 0 exists in a ROM cell based on a difference in the design.
The ROM is the most non-volatile of the non-volatile memories since the
state of the cells can never change. Therefore the ROM is the simplest of
structures to design and relatively simple to test.
-I
Figure 7-2. EEPROM cell schematic.
read a NAND flash cell, all of the word lines are activated except for the
addressed word line, which remains low [73]. The two select FETS, at the
top and bottom of the stack, are activated. Depending on the state of the
program transistor, the bit line is pulled low. A NAND flash memory is
denser than alternatives, especially with the reduced number of required
contacts, since diffusion can be adjacent to diffusion without any intervening
contact.
-
3
i
s
_I
Word Line I lr
I IL
Source Line
a) NOR Flash
a) NAND Flash
Control Gate
tlng Gate
Source Drain
-7 v -7 v
?H< $gj+
SOUrCe
ov Drain Source Drain
Substrate substrate
ov g9 ov
SOUrCe Drain
threshold voltage of the device more positive, thus making the device harder
to turn on. Other voltage configurations are possible while still using
Fowler-Nordheim tunneling to program a cell.
5v
Source Drain
The second overall method for programming these type memory cells is
hot electron injection. A write is performed by injecting hot electrons into
the floating gate of the cell, through the application of a high voltage on the
drain and a “1” condition on the gate as shown in Figure 7-7. The high
voltage on the drain is significantly higher than the normal Vdd and may be
as much as 18V or more, depending on the technology and specific memory
topology. This programming voltage is referred to as Vpp. The elevated
voltage causes a large lateral electric field between the source and drain of
the FET, indicated by the horizontal arrow. The transverse electric field
between the channel and the floating gate causes some of the electrons to
embed themselves in the gate. The electrons travel through the oxide which
is referred to as a “tunneling oxide” even though the transfer mechanism is
not tunneling but rather hot electron injection. These embedded electrons
alter the threshold voltage of the FET,with the threshold voltage indicating
whether the cell has been programmed or not. The programmed state can be
either a “0”or a “I“, depending on the topology of the memory.
Both Fowler-Nordheim tunneling and hot electron injection
programming techniques are used in both EEPROM and flash memories,
leading to some confusion. For the most part EEPROM utilizes Fowler-
Nordheim tunneling for programming. NAND flash also normally uses
Fowler-Nordheim tunneling [75]. NOR flash generally utilizes hot electron
injection for programming. There are numerous subtle variations in
programming and erasing techniques for versions of EEPROM and flash
memories. Only the broadest categories have been summarized here.
An alternate cell cross-section, shown in Figure 7-8, is the split gate
device. A control gate can make a step, covering the entire floating gate or a
control gate and a program gate can be utilized as shown. The addition of a
Non- VolatileMemories 95
program gate facilitates the use of lower voltages for program and erasure
[76]. While programming the cell the program gate is elevated but during
erasure both the program and the control gate are driven to a negative
potential.
source Drain
Figure 7-8. Alternative transistor cross-section.
An interesting feature is that these non-volatile cells can store more than
a single binary value. Based on the amount of modification to the threshold
voltage, multiple bits can be stored in a single cell [77,78].
While these memory cells are very useful there are some significant
limitations. There is a limited number of erase and write cycles, normally in
the range of 100,OOO times. Also, these memories read rapidly but have long
erase and program times. Some transistors must exist on the chip that can
handle the elevated voltages and steer them to the cells which need to be
written or erased [79]. The handling of elevated voltages definitely creates
greater complexity.
Flash and EEPROM memories can have program disturbs where the
elevated voltage on the gate and drain influence cells other than the one
intended to be programmed [80]. Read disturbs are also a concern where all
of the cells along a bit line are candidates for disturbing the data being read
from the intended cell. If a bit line is intended to remain high but is
inadvertently discharged by a defective FET, a read disturb has occurred.
Beyond disturb concerns, it is important to test these non-volatile memories
to ensure that there is good oxide integrity and that data retention is not a
problem.
future with much broader application than the non-volatiles of today. These
new memories have some aspects which reflect the endurance, performance,
and power of SRAMs and DRAMS but are non-volatile. It is uncertain as to
which technology will dominate since each has strengths and weaknesses.
The possible benefits to existing applications and the contemplation of new
applications based on the enhanced capabilities of these memories can
provide a huge shift in the computing and electronics market as a whole.
3.1 FeRAM
There has been much published on the ferroelectric random access
memory, also known as an F e W or FRAM. The method by which an
FeRAM stores information is through an electrically polarizable material
which maintains a certain amount of polarization even without an electric
field present. Thus, an electric field is applied to create a polarization which
is then read back at some later point in time.
Each time that a cell is read, the cell's polarization must be rewritten
since a read is inherently destructive for FeRAMs. Because of the
destructive read, it is very important that an FeRAM have sufficient
endurance.to handle all of the reads and writes without detriment to its
operation. Endurance is limited by hysteresis fatigue which demonstrates
itself with a flattened hysteresis loop and reduced residual polarization.
Sense schemes can employ a reference cell which is cycled on every read
operation. This reference cell is the most likely to have problems due to its
limited endurance. Current commercial FeRAMs have a fatigue limit of 10''
operations. An FeRAM can also develop an imprint [86] where the
hysteresis loop shifts vertically to give a preference for one data type over
another. Polarization charge can also decrease over time causing a slow loss
of the cell's data [87]. Bit lines are typically prechargext to ground [88] and
a reference bit line is a relatively small voltage that distinguishes between a
"1" and a " 0state being read from the array [891.
98 Chapter 7
3.2 MUM
In antiquity computer memories utilized magnetic core elements. These
cores were large tori (donut shaped objects) which could have their magnetic
fields reversed based on whether they were storing a “1” or a “0“. One of the
leading possibilities for future non-volatile memories is not large tori but is a
magnetic material with reversible polarity. Magnetoresistive random access
memory (MRAM) contains material which changes in resistance depending
on the direction of its magnetic polarization [90,91]. This change in
resistance enables it to store binary values. There are a number of materials
and memory layout arrangements that have been used in MRAM and the
review here is just a brief overview. Other configurationscan be examined
in the reference material.
Some have attempted to use this type material without a transistor but
with limited success. Most employ an MRAM cell like the one shown in
Figure 7-12. The bit line and the digit line form a 90 degree crossing. In
between these two lines the sandwich material is placed and allowed to be
polarized by currents through these two conductors. During a read, the word
line is activated, drawing current through the bit line and sandwich material
[95]. Based on the resistance of the material, which is a function of the
direction of the magnetic polarization, a "I" or a " 0 is detected from the
cell. A reference bit line attaches to a MRAh4 reference cell which has not
had its sandwich material polarized [961.
3.3 Ovonic
The memory storage attributes from CDROMs and DVDs has been
extended to semiconductors in the form of ovonic memories. Ovonic unified
memory or OUM utilizes phase changes between amorphous and
polycrystalline states of chalcogenic materials to distinguish between a "0"
and a "1". By generating a small amount of localized thermal energy, the
ovonic memory cell can be set or reset 1971.
An ovonic memory cell is reset when it is in its amorphous state, which is
higher in resistance. The cell is in its set state when it is in its polycrystalline
state, which is lower in resistance. A short electrical pulse puts the cell into
100 Chapter 7
its reset state while a lower but slightly longer pulse puts the cell into its set
state. The cell can be set and reset at least IO'* times and it can be read an
infinite number of times.
Figure 7-13 shows a schematic of the ovonic memory cell. In standby,
the word lines are at Vdd and bit lines are at ground. This state is the same
for unselected rows and unselected columns [98]. No high voltage
transistors are needed with ovonic memories. During a write, the selected
word line is grounded and the selected bit line is biased to an intermediate
voltage.
Word Line I
Figure 7-13. Schematic of ovonic memory cell.
4. CONCLUSIONS
Non-volatile memories provide significant advantage in the industry
today. Furthermore, they are poised to provide a huge shift in the entire
electronics industry as greater and essentially infinite endurance becomes
available. "he larger endurance will solve one of the primary test problems
of how to thoroughly test a non-volatile memory without diminishing its
usable life in the field. Nonetheless, the unique design aspects will drive
unique requirements in the fault modeling and testing of these future
memories.
Chapter 8
Memory Faults
Testing Issues
Key point: Many fault models must be covered during memory testing.
While the testing of memories for many fault models is required, the test
time cannot be allowed to become prohibitive. Testing of logic requires
applying patterns through scan chains with the associated scans between
each test. Testing a memory can be accomplished with cycle-aftercycle
testing with a new test applied each cycle. Thus, even though many fault
models are tested the overall test time is quite short. If there is logic or
analog circuitry on chip. the test time will be dominated by testing these and
not the memory. It is rare that the test time is driven primarily by memory
testing for any system on chip (SOC).
The objective is to generate good memories. A good memory is one that
is fault free. Thus, a memory designer or memory test engineer should be
able to gladly toast “To good memories,” meaning it in the semiconductor
sense,
2. FAULT MODELING
Before progressing further into the specifics of test, it is important to
discuss the possible range of fault modeling. A fault model is a description
Memory Faults 105
of the way something can fail. This description can be done at varying
levels of abstraction, as shown in Figure 8-1. Abstraction is key to prevent
getting too many details involved in the analysis and test generation [loll.
There is a significant risk, however, that abstracting away too much obscures
the real details that require understanding to ensure good testing and
therefore provide high quality memories.
The highest level of abstraction utilizes behavioral modeling; VHDL or
Verilog is often used for this. Functional modeling identifies the circuit as a
black box [102]. The inputs and outputs are defined along with their
function but visibility to the inner workings of the memory is not provided.
Functional fault modeling historically has been the primary level for
memory test. Greater detail is gained at the logical level, where logic gates
are understood. Below this is the electrical level of fault modeling where the
transistor level operation is perceived. For much of memory testing, the
electrical level is required or else inadequate tests result. Below this level is
the geometrical level of fault modeling. The actual shape placement on the
chip is understood at the geometrical level. Certain faults require an
understanding of geometric adjacencies to make optimal or even adequate
tests, as is the case with multi-port memories. Even in single port memory
cells, however, the susceptibility to certain faults is definitely a function of
geometric arrangement of the transistor connections. Below the geometric
level, the actual paths which electrons and holes follow could be described
but the value would be debatable.
Different fault models require different abstraction levels. A single level
of abstraction, while desirable from a simplicity point of view, is not
attainable. Certain faults require differing levels of detailed understanding,
such as the circuit or geometric level.
The thought of coverage percentages is an unacceptable thought when
testing memories. For example, on a gigabit chip a "once in a million event"
occurs one thousand times [103]. Memories are very dense and therefore
have many adjacent structures, all of which need to be tested. Many think of
memory testing as following a functional type of approach. Others refer to
memory testing as being algorithmic. The opposite is structural testing and
it is typically considered in logic test. In Figure 8-2 an XOR,NOR,and OR
gate combination is shown. The testing of these gates requires a specific set
of structural patterns in order to identify the stuck-at structural faults. A
stuck-at test checks to ensure that no gate input or output is stuck-at a "0" or
a "1" state.
Chapter 8
I Behavioral Modeling
4
High
Level
1
Functional Modeling
4
I Lqicnl Modeling
4
I
I Electricel Modeling
+ Low
1 Geometdcal Modeling
1 Level
A1
B1
out
For a stuck-at fault model, each 2-input AND gate requires three test
combinations, as does a 2-input OR gate. These are shown in Figure 8-3.
For the 2-input XOR gate, all four data type combinations are required.
Memory Faults 107
In1
3
I
, out
Figure 8-3.Simpk gates (a) and their required stuck-at test patterns (b).
In memories, the cells are tested with a certain set of regular patterns and
thus the memory is abstracted in a different fashion than is typically done
with logic. Logic is reduced to the gate level, while memory is reduced to
functional, electrical, or geometric levels.
When manufacturing type defects are considered from a memory
perspective, the defects are examined on a cell or a peripheral circuit basis.
A large number of patterns are utilized to test the array of cells and a smaller
number of other patterns are used to test the periphery.
wa
R.WO w1 R,WI,WO
The next classic fault is the coupling fault model (CF)and there are
numerous types of these faults [loa]. Simply expressed, a cell can couple
into its neighbor cell and cause it to go to an erroneous state or cause it to
falsely transition.
Two cells, which are defect free, are illustrated by the Markov diagram
shown in Figure 8-7. The cell states and operations are represented by their
"i" and '1' subscripts. Each cell can be written to each state. Therefore,
there am four possible states, in which the two-cell combination can reside.
Each cell can be individually written or individually read. A coupling fault,
110 Chapter 8
Figure 8-7.
Markov diagram of a pair of defect free cells.
R,Wlh,Wo/j R,Wl/i,Wl/j
The last of the four classic fault models for memories is the
neighborhood pattern sensitive fault model (NPSF). In this case a memory
cell is dependent upon the cells in its neighborhood. Often times memories
are described in terms of a ninecell neighborhood. .The base cell in the
center is surrounded by eight neighboring cells. The base cell could be
dependent on all or a subset of the eight cells around it. The nine-cell
neighborhood is described in Figure 8-9. The closest connections are
between the base cell and those that are north, south, east, and west but other
diagonal interactions are possible. It is also possible for the base cell to be
dependent on the other cells in a column or the other cells in a row [107].
N e i g h b o m can be defined in various fashions. The neighborhood is
considered to include the base cell plus those around it that can affect its
behavior. When the base cell is removed from consideration the region is
now termed the deleted neighborhood.
Some people have observed that a 25cell neighborhood dependency is
possible [108]. In this case the base cell is in the cer)ter and it is possibly
dependent upon two cells in each directions.
No further discussion will be pursued on the topic of these classic fault
models. There are extensive discussions already in the literature on
112 Chapter 8
variations to the classic fault models and coverage here would provide no
more insight on the ways that memories should be tested in a manufacturing
environment. There are numerous types of faults which are interesting
mathematical arrangements. These normally do not, however, reflect real
manufacturing type defects. There are other faults which should be
examined and which are highly dependent upon the actual circuits that are
used. These are the faults that will be discussed in the remainder of the
chapter.
- Word Line
-mt
2
E
i!
8
8
In the case of the defective S W ,if the ground contact is not open but
rather is highly resistive, there is a range in which the cell disturbs but the
memory’s operation does not fail during the first read cycle. It may disturb
late in the cycle, with the correct data being placed into the sense amplifier
114 Chapter 8
but the incorrect data is retained in the cell. This is referred to as a deceptive
read disturb or a deceptive destructive read [1091. For this fault, there is a
certain amount of resistance tolerable in which normal operation can
continue to occur. There is a range of resistance that causes the cell to flip
immediately, which is then read as the wrong value on the first read. Lastly,
there is a region in which the cell disturbs, but only late in the cycle so that it
is not detected until the next read operation. These regions are illustrated by
the graph in Figure 8-11 where deceptive read disturb region grows as a
function of beta ratio.
5. PRE-CHARGE FAULTS
In a memory, it is possible to have a defect which causes the precharge
circuitry not to operate. One type of a defect is a resistive precharge device.
Another type of defect is where the pre-charge devices do not turn on due to
an open or due to a faulty control circuit for the pre-charge devices. The
impact of such a fault is that the bit lines do not precharge correctly. Figure
8-12 shows a set of SRAM waveforms where the bit lines do not precharge
correctly. As a result, one of the bit lines starts out significantly lower than
the Mher bit line. If a " 0 is being read, the true bit line should be low. The
complement bit line, however, starts out quite a bit lower than Vdd. The
result is that the true bit line must discharge for a much longer period of time
before it is actually lower than the complement one. Thus, the incorrect
value normally is read since the precharge circuit does not work correctly.
Since a write forces the bit lines to a full differential potential, it is easier
to detect that a pre-charge fault has occurred when a write is followed by a
read. When a read is followed by a read, there is less differential that the
pre-charge cixuit must restore. For a write followed by a read, the write
data type needs to be opposite from that of the read to enable detection of
this type defect.
Memory Faults 115
Time
Defect
Write
I
Figure 8-14.Second type of defective write head circuit.
!I
3
n
T5 .5 T8
I T 2
I
Figure 8-16.Static RAM pull-up type retention defect.
A static RAM cell can also have a data retention fault and there is a
variety of possible locations within a cell that can cause data retention issues.
Figure 8-10 earlier showed one type of retention fault in the pull-down path.
Obviously two sites, one at each of the pull-down NFET sources, can cause a
cell to lose its data. Resistive contacts to the drains of these NFETs can
similarly cause retention faults. These types of retention faults can be
detected by performing a read or possibly multiple reads.
118 Chapter 8
8. SO1 FAULTS
For a silicon-on-insulator technology memory, there are different fault
sites as compared with typical bulk silicon cell [112]. Not only can there be
shorts and opens along the source, drain, and gate connections but there can
be defective connections to a transistor's body node; a specific transistor can
have a parasitic or defective connection to the body.
$
3
8
I
!-
- -
Figure 8-27. A silicon on insulator SRAM cell with defective resistances to body nodes.
9. DECODER FAULTS
A key element of random access memories is the ability to access the
various storage locations in any order that is desired. To accomplish this, a
decoder circuit takes an address supplied to the memory and decodes a
specific location. Selecting a specific row means that the appropriate word
line is brought high. Selecting a specific column means that the appropriate
bit line is steered through a multiplexer to the sense amplifier circuit. The
logic that performs this decode operation can be typical NAND or NOR
gates. These gates, if in random logic, would be well tested by automatic
test pattern generation ( A m ) software. The gates, in the context of a
memory, must undergo more rigorous testing. The outputs of the decoder
are not observable and so cannot be tested with logic patterns. The decoder
is tested to ensure that the appropriate location is accessed.
Address 0 Output
out
In2
-4 Defect
I
-5 In3 -
Figure 8-19. Static decoder open fault.
Static decoders have specific faults of their own. Figures 2-22 and 2-23
showed the difference in chapter two between the design of a static decoder
and that of a dynamic decoder. If one considers the static decoder, which
can be illustrated by a simple NAND gate, the possibility for faults can be
observed. If there are more than two inputs to a static decoder then a static
decoder open fault can occur. A NAND gate is shown in Figure 8-19 with
an open on a PFET that can easily be missed during test [ 115.1 161. When
sequentially incrementing or decrementing through an address space the
NAND gate will appear to operate correctly. First T1 is on and then during
the following cycle “2 should keep the output high. Since this latter PFET is
defective and cannot pull the output high, one would think that this defect
could then be detected. In fact the output remains high due to capacitanceon
the node thereby masking the defect from detection. Similarly, when
decrementing through the address space, T3 is on and then in the following
cycle the defective PFET T2 should hold the output high. Instead the output
is again held high for capacitive reasons. Tables 8-2 and 8-3 show the result
of incrementing and decrementing through the address space. The “-1”
notation indicates that the node is a “1” for capacitive reasons only and is not
being actively held, as it should be in a defect-free case.
Memory Faults 121
To detect this type of defect the output must be set up to transition from
low to high as a function of each pull-up PFET. A NOR gate has the same
susceptibility to static decoder opens however the possible opens are in the
NFET pull-down path instead of the PFET pull-up path. The same type of
defects can impact a dynamic decoder but they are easily detected and
require no special testing. Since a dynamic decoder pretharges in one
direction and then evaluates in the other direction each cycle, an output node
cannot be erroneously held at a value due to capacitive mechanisms 11171.
Simple incrementing and decrementing through an address space identifies
these defects. A pattern which facilitates testing for static decoder opens can
also test for slow-to-decodetransitions and therefore may be warranted even
when static decoders are not employed in the design of a memory.
Table 8-2. Incrementing addresses with a static decoder open defecL
la;bk!lmu
1 0 0 0 1
2 0 0 1 1
3 0 1 0 1
4 0 1 1 1
5 1 0 0 1
6 1 0 1 - 1
7 1 1 0 1
8 1 1 1 0
multi-port memories are adequately tested and that the resulting chips are
indeed good.
There can be faults that cause improper interactions between different
addresses but that are on the same port. These are referred to as intra-port
defects. An example is given in Figure 8-20 where adjacent metal word
lines are shorted. In this case two addresses can be accessed at the same
time incorrectly due to a short between the word lines. Both of these word
lines are for port B and therefore the defect is an intra-portfault [ 1 181.
A defect which can cause improper operation between two different ports
is referred to as an inter-portfuulr [I 191. Figure 8-21 shows a short between
adjacent metal word lines where two different ports on the same address are
connected by a defect. This type of defect causes an inter-port intra-address
fault. An inter-port inter-addressfault is also possible between shorted metal
bit lines.
When examining multi-port memory faults it is important to understand
that different operations have different impacts [120]. For example, a write
operation dominates a read operation. Since a write involves a full bit line
swing and a read involves only a small swing on a bit line, a read is less
severe. Given that the objective is to identify defects, a more sensitive
operation facilitates fault detection. Since more than a single operation can
go on simultaneously in a multi-port memory, a more sensitive operation
used in tandem with a more severe operation will aid identification of
emonems interactions. The more severe operation should be used with the
aggressor port and the more sensitive operation should be used with the
victim port. A two-port memory example of this is shown in Figure 8-22
Memory Faults 123
where a write " 0on port A is occumng on the O* word line while a read "1"
on port B is occurring on the 63d word line. The anticipated defect-free
resulting bit-line potentials are shown on the bottom of the figure. Since
there is a short between the O* word lines, the write will also cause a read to
occur on port B. The read on the O* and 63" word lines will conflict,
causing both the true and complement bit lines to discharge, rather than just
the true bit line. As a result, the sense amplifier will set randomly, causing
the defect to be detected after a number of reads have occurred. The
diagram shown in Figure 8-22 illustrates schematically the defect shown
from a layout point of view in Figure 8-21.
the intended operation. It is key to have the correct adjacency and data type
to test for these multi-port memory defects. If the B port bit lines were
mirrored, writing a " 0 on the B port while reading a " 0 on the A port
would have facilitated detecting a bit line short. When only two ports exist,
all possible combinations can be used.
Read "1"
I Word Urn 63 Port B I
0
0
0
- Line 0 -
Pelt A
WrHO "0"
Patterns are the essence of memory testing. Memories have many analog
circuits and since the memory circuits are packed tighter than anything else
on the chip, special patterns are required. These patterns look for weakness
in the analog circuitry and for interaction between the tightly packed
adjacent structures. Memories are regular structures, requiring extensive
regular patterns to facilitate testing. If a poor set of patterns is utilized,
memories will pass test when they are in fact defective. It is not unusual to
hear someone state that they are using the “such and such pattern” and that it
“covers everything.” This type of statement is clearly ignorance. The
ignorance involves not understanding the memory design, the possible fault
models, and the capabilities of the respective patterns. No single pattern is
sufficient to test a memory for all defect types [ 1211. A suite of patterns is
required to catch and eliminate the real defects that can happen in a
manufacturing environment.
Many people incorrectly approach memory testing with a logic mentality.
A memory stores ones and zeros. If zeros are written to all addresses and
read from all addresses, half of the defects would be covered, right? Then
once ones are written and read from all addresses the other half are covered,
right? Wrong.
128 Chapter 9
1. ZERO-ONE PATTERN
The pattern just described is called the Zero-One pattern. It is described
in Table 9-1and the simplicity of the pattern becomes obvious. Some refer
to this pattern as the blanket pattern [122]or as MSCAN. Each line in the
table represents a full address sweep. The '' 8 *' denotes that the order is non-
consequential and that no preference is given to the addressing order. Each
address is accessed only four times and is referred to as a 4N pattern. This
nomenclature is used regularly when talking about pattern length. A 4N
pattern accesses each location four times, a 9N pattern accesses each
location nine times, and so on. If a memory was only sensitive to stuck-at
faults, the Zero-One pattern would be sufficient to catch all defects. With
fault grading, the Zero-One pattern achieves 100% stuck-at coverage in the
memory cells. Toggle coverage would again be 10096. (Toggle coverage
tracks the internal nodes of a circuit to see the percentage of the nodes which
are set to each state. Some circuits which, may be difficult to fault grade,
can be examined for the toggle coverage. Toggle coverage is imprecise,
since it doesn't tell the exact coverage to specific faults, but provides
qualitative insight into the amount of the circuit which is being exercised.)
Tiable 9-1. Zao-One pattem description.
1 woo
2 RO 8
3 Wlt
4 R1 4
Since the Zero-One pattern has 100% stuck-at coverage and 100% toggle
coverage of the memory cells, it could be thought that this pattern alone
would be sufficient for memory testing. This is a gross fallacy and the Zero-
One pattern should never be applied as a sufficient test for any memory. The
Zero-One pattern does not provide coverage for data retention, deceptive
destructive read, address decoder, un-restored write, and numerous other
fault models. Some people cannot comprehend the need for a book or even a
paper on memory testing, since their concept of a memory test is completed
with the Zero-One pattern. The Zero-One pattern does not indicate whether
each cell can be uniquely addressed. In fact, it would be possible for a
memory to pass test to the Zero-One pattern if only a single cell worked in
the memory. Figure 9-1shows an intended eight by four memory where, no
matter which address is input, only one address can be selected. Further. for
all of the data inputs and data outputs, all of the data bits could be fanned
into and fanned Out of a single cell. Clearly, this memory is grossly
Memory Patterns 129
defective and should never have passed test. It would, however, pass the
Zero-One test, thus demonstrating the gross unacceptability of this pattern.
Figure 9-2. Faulty memory which accesses only one cell but passes the Zero-One pattan.
Key point: Test patterns must be selected based on the memory topology.
are in a “0“state. Each address could have the sequence “read zero, write
one, read one, write zero” applied to it. This changes the state of a specific
address during test but returns the data to the state of the blanket background
before continuing on to the next address. The sequence is described in Table
9-2, with the ‘‘ il” indicating that the addresses are sequenced incrementally
from the all zeros address through the maximum address in the memory
space. A comma separates operations that occur on successive cycles. All
four operations are performed on each address before proceeding to the next
address.
Table 9-2. Walking pattern element example.
1 RO,Wl,Rl,WOt
no longer an “n2” term that covers the entire m y . For a square memory
array the total number of cycles becomes 2(N+Zn+2n*Sqrt(n)). The ping-
pong iteration now remains within a row or within a column but the resulting
interaction test is extensive.
patterns can be generated. The data background patterns for a @-bit word
are included in appendix B.
Based on Figure 2-28, it can be seen that memories normally have the
bits in a word spread across multiple sub-arrays. Since these bits are widely
separated from one another there is little opportunity for them to interact
with each other. For this reason each sub-array can be tmted as a separate
bit-oriented memory and the patterns can reflect this in their data
background patterns. If the memory word is not spread across sub-arrays
then the bit interaction and multiple data backgrounds must be required.
These factors again point Out the need for understanding the details of the
memory design to provide high quality and efficient memory testing.
The backgrounds discussed thus far in this section are covering
interactions for bits within a word. There can be varying data background
test requirements based on the cell adjacencies. For example, in SRAh4s
there may be a requirement to execute a physical checkerboard pattern in the
memory. This pattern checks for differing leakage paths from blanket
patterns between a base cell and its immediate neighbors. For DRAMS, a
richer data pattern is often required. These varying physical background
patterns do not necessarily require placing the data inputs in a word into a all
possible of permutations. To achieve a physical checkerboard pattern, all of
the data inputs can be fanned out from a single test data input. As the
addresses are stepped through to access all of the locations in the memory,
the test data input needs to be set at the correct binary value to facilitate
obtaining the result of a physical checkerboard within each sub-array. Thus
independent control of each data input is not required during test. This fact
greatly eases the challenge of obtaining an efficient built-in self-test and will
be covered in later chapters.
0 1 0 1
~ 1 0 1 0
Figure 9-2 shows the next array pattern, which is the physical
checkerboard. It is simply an alternating sequence of ones and zeros in both
the “x” and “y” dimension as the name implies. It should be noted that a
physical checkerboard is not necessarily obtained by applying a logical
checkerboard pattern. Applying a logical checkerboard on occasion
generates a physical blanket pattern that alternates on a sub-array basis. A
physical checkerboard can be quite useful in looking for leakage between
adjacent cells. Through a combination of the blanket pattern and the
physical checkerboard pattern, worst case testing is achieved for many
memory topologies.
A row stripe pattern can be helpful in looking for problems between
adjacent rows [126,127]. A row stripe, as illustrated in Figure 9-3, is often
referred to as a word line stripe pattern.
Memory Pattern 135
writing of a defective cell can mask the incorrect operation and thus avoid
detection. The third operation of reading immediately after being written
prevents such masking and, in the event that a cell is destabilized during a
write, reading the cell immediately after the write allows detection. The read
of the unstable cell occurs prior to its being able to recover with the correct
data value. The Partial Moving Inversion pattern is a 13N pattern.
Table 9-7.Descriphn of the Partial Moving Invasion (PMOVI) pattern.
1 wov
2 RO,W1, R1 fl
3 Rl,WO,RO@
4 RO,Wl,RlU
5 Rl,WO,ROU
same bit lines for reading and writing the memory then the Partial Moving
Inversion pattern is considered the appropriate starting point. The Enhanced
March C- pattern requires 18N to complete.
Tobk 9-8. Description of the Enhanced March C-pattern.
1 wou
2 RO, W l , R1, W1 f~
3 R1, WO, RO, WO f~
4 RO, W1, R1, W l I
5 R1, WO, RO, WO I
Memory
Figure 9-5.Data output to data input connections for an SMarch self test.
7. SMARCH PATTERN
The serial march or SMarch pattern utilizes one data output from a
memory bit as the next data input value to be written [131]. In this manner
the memory cells are serially modified through successive reads and writes
to the same word. Coupling faults are detected, even if the bits within a word
are immediately adjacent to one another. If the data inputs and data outputs
are on opposite sides of the memory, a wiring problem exists to get each data
output connected to the next data input during self test. Figure 9-5 shows a
Memory Patterns 141
configuration connecting the data outputs and data inputs as required for the
SMarch pattern. Pseudocode describing the SMARCH pattern is included
in appendix B for reference. The SMarch pattern requires a total of 24mN
cycles, where “m” is the number of bits in each word.
8. PSEUDO-RANDOM PATTERNS
Pseudo-random memory test patterns involve applying pseudo-random
stimulus to some or all of the inputs of the memory [132]. The pseudo-
random input stimuli are generated by a linear feedback shift register or
LFSR. Another name for a LFSR is a PRPG or pseudo-random pattern
generator. When pseudo-random patterns are applied to the inputs of a
memory the outputs are observed into an LFSR-like circuit called a multiple
input signature register or MISR.
T&k 9-11. Example threebit pseudo-random sequence.
mmxulm
1 1 0 0
2 1 1 0
3 1 1 1
4 0 1 1
5 1 0 1
6 0 1 0
7 0 0 1
0 1 0 0
9 1 1 0
10 1 1 1
11 0 1 1
9. CAM PATTERNS
A content addressable memory has compare and other logic function
deep inside its memory array. Some CAMs allow read back of the memory
cells while others do not. Some CAMs include masking functions where a
single bit within each entry can be removed from consideration in the
compare function [135]. Further, ternary CAMs can allow a single bit in a
Memory Patterns 143
single entry to have its value removed from consideration in the compare
function. Some CAMS include the capability to invalidate all entries in the
CAM while others allow individual entries to be invalidated. Each one of
these factors drives significant differences in CAM test patterns. Because of
these differences, all possible permutations of CAM design topology are not
considered here. Instead, base CAM test patterns are provided with
associated direction included for handling test of the possible CAM topology
permutations.
Table 9-12. Basic CAM compare test sequence.
1 . The all cells matching state ensures that the NOR output is not stuck-at a
"0" and ensure that a match can be detected.
2. With all cells at a '0" state a single "1" is walked across the compare
inputs, which puts a singe XOR output in a '1" state and drives the NOR
output to a "0" state. This is illustrated in Figure 9-6.
3. With all cells at a "1" state a single "0" is walked across the compare
inputs, resulting in similar tests to step number two above.
Entry
Data Bit I I Compare
Data Bit
I + Hit
0 . .
Please note that unique data states did not need to be walked across the
actual cells. This significantly reduces the test time and the associated test
complexity. The pattern shown in Table 9-12 identifies defects in the
compare circuitry. Defects in the storage elements of the C A M can be tested
through normal marching patterns, assuming that the C A M cells can be read.
If they cannot be read then further patterns are required but the C A M
compare function can be used to facilitate efficient testing. If there is a mask
function in the CAM. the equivalent logic gate diagram would be as shown
in Figure 9-7. The AND gates allow any column's cells to be excluded from
the match operation. In reality the AND gate is before the XOR,impacting
the whole column by forcing both the true and complement compare data
lines low [137]. Test is accomplished by having a single bit mismatched,
masking that bit, and ensuring that a hit is detected. These along with the
many other CAM topology permutations represent more logic-type test
issues than memory-specific test issues. The test engineer can determine the
topology of their specific C A M design and then apply the needed Boolean
Memory Patterns 145
which are only activated by multiple operations must have proper patterns
generated for them. Patterns which detect faults unique to multi-port
memories will exercise the memories with multiple operations in a single
cycle. Each port should be exercised with typical memory test patterns to
ensure that single port operation can properly be performed. In addition,
operations which exercise various ports simultaneously must be performed.
Testing for inter-port and intra-port faults must be thorough.
As shown in Figure 8-22 a multi-port memory fault can create problems
while writing to one port and reading from another port. If only port A is
exercised, then good operation is perceived. As stated earlier, write
operations more easily activate defects while read operations more easily
detect defects. This difference occurs because write operations require a
large swing on a bit line while read operations only require a small swing
and the corresponding sensing.
A number of patterns include accessing two ports with different
addresses going to each port. Some include a pattern where one port’s
address sequence is incremented while the other port’s address is
decremented [139,140]. While this sounds difficult, it can actually be
accomplished with a single address counter. The address counter’s output is
used for the port that is being incremented. The same counter’s output is
inverted and then used for the port that is being decremented [141]. Other
addressing combinations may require more than a single counter, require
addsubtract operations, or require one or more stages of address delay.
These functions can provide complex addressing pattern sequences which
efficiently pursue subtle multi-port memory faults.
An example two-port memory test pattern is given in Table 9-14. The
2PF2,,- pattern addresses two port memory faults [142], where the “2PF
denotes two port memory faults and the second 2 denotes faults that impact
two memory cells. The subscript “av” indicates that operations must be
performed on the aggressor (a-cell) and victim (v-cell) simultaneously. The
“-” denotes an improved version of the pattern with a reduced number of
“1“is performed on the base cell while a read “0’is performed on the next
cell up the column, i.e. at the base cell’s row plus one. Because of the ways
that the cells in a multi-port memory share a column it is important to detect
faulty interaction. It can also be seen how the nomenclature employed by
this pattern could easily be used to increment rows while decrementing
columns, etc.
The second march element has a read “0”being performed on port i while
at the same time performing a read-withoutcompare on all of the other
ports. In the second cycle of this march element a write “1” to port i is being
performed while again reading all of the other ports. This type pattern
detects the normal single-port faults along with a number of multi-port
memory interaction faults.
I48 Chapter 9
12. SUMMARY
Numerous patterns have been described in this chapter and numerous
more have been developed over the years. The key is utilizing the best
patterns to detect memory defects. Since it is essential that faulty memories
be identified to prevent them from being shipped to the customer, thorough
testing must be employed. The wrong patterns will allow bad chips to pass
test.
The patterns described in this chapter do not cover all possible memory
topologies. New memory configurations are generated each year as can be
Seen at any circuit design conference. The key is understanding fault
modeling and the pattern sets described here. With a thorough examination
of the specific transistor configurations utilized in the memory of concern,
the appropriate fault models can be selected and the proper patterns
generated. Patterns should not be considered a menu to choose from but
rather a starting point for developing the correct pattern for a given memory.
Appendix B includes further patterns that can be examined for reference.
Some are theoretically interesting while others can provide very helpful
insight. Tables 9-16 and 9-17 describe the key factors in memory test
patterns and the primary nomenclature, respectively.
Tobk 9-16. S Uof factors
~ in memory test patterns.
n Number of bits
N Number of address locations
m Number of bits in a word
R Number of rows
C Number of columns
“His mind was crowded with memories; memories of the knowledge that
had come to them when they closed in on the struggling pig.. ..” - from Lord
of the Flies
there are a number of forms this can take. Regardless of form, it is necessary
that the performance and area of the memory not be adversely impacted
[ 145,1461. The memory boundary is crucial, not only to provide functional
and BIST inputs but also to avoid memory performance degradation. This
chapter starts with a discussion of the interface boundary and then provides
an introduction to BIST techniques and issues.
Address
8
,j _ j Memory
Control
inputs
9
Data Outputs
number of BIST to memory signals and improve the speed at which the
memory/BIST combination can run.
Synchronous memories, which almost all embedded memories are,
require a clock input. The clock that exercises the memory during BIST can
be the same clock as that used during functional operation; this method is
generally preferred. Alternatively, there can be a second clock supplied to
the memory during BIST test which goes through a multiplexer-type
arrangement. Obviously, the key thing is to get a clock to the memory for
test. The clocking strategy is primarily driven by the logic test strategy and
performance related issues.
The memory output requires a compare or compression circuit. The
selection of one versus the other depends on whether deterministic or
pseudo-random patterns are being applied. It is also driven by the presence
of redundancy and diagnostics issues, which are covered later.
From
-
the BIST is exercised. After test is complete the data must be restored to the
memory. This type of testing operation can be referred to as transparent
BIST [148,149].
BIST is highly optimized for embedded memories but there are times
when BIST makes sense for stand-alone memories as well. Normally, a
stand-alone memory is tested on a memory tester at time of manufacturing.
BIST normally is used in conjunction with a logic tester. If there is a
memory tester available it doesn’t make sense to use BIST on a stand-alone
memory, since the YO are available. The large ATE memory tester is far
more powerful than a BIST and therefore should be utilized for stand-alone
memories but not for embedded ones.
When a stand-alone memory is used in a multichip module (MCM)the
tester for the MCM is a logic tester. Having BIST on the memory chip
enables test of the memory in this logic environment, which would otherwise
be impossible or at least vastly inefficient and of limited quality. Thus BIST
can be included on the stand-alone memory to facilitate its test during MCM
manufacturing [150]. Further, that MCM memory can be tested in the field
with the very high quality test provided by BIST. The quality of a BIST test
is vastly superior to any system power-on test that would be applied to the
memory by the operating system and thus provides significant advantage.
This advantage can be utilized with soft redundancy and will be discussed
more in chapter 13.
The other place that BIST, or a form of it, can be utilized with stand-
alone memories is when a chip needs to thoroughly test memories that are
attached to it through a bus. Perhaps built-in self-test should not be the term
utilized but this has caught on in the industry. Some refer to this as external
BIST or some similar name. Being both “external” and “built-in” sound
contradictory and indeed are. Nonetheless. a test engine which is very
similar to a normal BIST engine is utilized to generate patterns to test these
offchip memories. One of the special tests applied for these external BIST
tests is signal continuity and signal shorting, ensuring that the large data bus
and address bus going between the memories is indeed intact.
4. AT-SPEED TESTING
Testing of certain faults in memories requires high performance at-speed
testing. Ideally a BIST should be able to run much faster than the memory it
is intended to test. In this manner, especially during initial design
characterization, the memory can be pushed to its limit without bteaking the
capability of the BIST engine. Depending on memory topology, many faults
can be caught without at-speed, often referred to as DC, testing. For
memories with self-timed latched sense amplifiers, all of the circuits except
for the pre-charge FETs are tested through slower testing. Still, the only way
to ensure that the bit lines pre-charged correctly is to run the memory with
full speed, or AC, test. In addition, more noise is generated during full speed
clocking and noise can defectively be injected into the sense amplifiers.
This noise problem can only be found with at-speed testing or worse it can
cause a system fail.
Some memories do not use latched sense amplifiers, in which case slower
tests provide very little AC coverage. For DRAMS, a memory cell is read
and then a write-back is performed to restore the cell to its original value. In
this case cycle time is a very key test parameter and at-speed testing is
required. Running a DRAM slowly allows extra time for the write-back to
occur, which results in a poor AC test. Thus an at-speed test is very
desirable and utterly necessary for certain memory types.
5. DETERMINISTIC BIST
A built-in self-test engine, no matter what kind, generates deterministic
patterns. Deterministic means that the patterns generated follow specific
pre-determined values. These pattern values are defined by the logic of the
BIST design. The opposite of deterministicare patterns that are random. No
BIST patterns are truly random. Even those patterns which are pseudo-
BIST Concepts 155
random are not random but follow specific sequence defined by the logic.
Thus pseudo-random patterns are deterministic, but more is discussed on this
in the next section.
Deterministic also generally means that the BIST generates algorithmic
patterns along the lines of those described in chapter nine and appendix B.
For example the March C- pattern, as described in Table 9-5 accesses each
cell 14 times. The operations performed in the second element are a read "0"
followed by a write "1" on each addresses. The addresses are proceeded
through sequentially. Thus this specific, regular pattern is deterministic.
The BIST generates these patterns and this is the norm for most built-in self-
test engines. The next two chapters will cover more on the BET engines
that generate these patterns.
6. PSEUDO-RANDOM BIST
A pseudo-random pattern is very helpful for testing random logic [152].
A memory, however, is a regular structure and needs the application of
regular patterns. In the early days of memory BIST it was not unusual to see
a pseudo-random patterns applied [ 1531 but virtually no one uses these today
in a manufacturing environment. Using pseudo-random patterns does not
provide double back-to-back reads, which are effective at finding read
disturb defects. They also will not provide a physical checkerboard pattern
which helps find coupling types of defects. Thus, many memory defects are
missed by pseudo-random testing. Pseudo-random pattems are still utilized
on an occasional basis in characterization of a design. The pseudo-random
test applies patterns which otherwise would not be considered.
The use of pseudo-random patterns during manufacturing test is a
hopeful attempt to catch some defective operation that would otherwise be
overlooked. Fortuitous testing should not be counted on in a manufacturing
environment and thus pseudo-random patterns should not be emphasized.
The key in memory testing is understanding the circuit arrangement,
selecting the proper fault models, and then testing for those specific faults.
If this is done well then the memory tests will be sufficient and the resulting
chips will be of high quality. For these reasons pseudo-random testing
doesn't really have a place in good BIST practice for most memories.
people are somewhat familiar with the concepts and those which can be
safely applied to memories should be articulated.
A pseudo-random pattern is generated by a linear feedback shift register
or LFSR. Another name for a LFSR is a pseudo-random pattern generator or
PRPG. A LFSR employs a series of latches and XOR gates to form the
logic. The latches and XOR gates are constructed based on a primitive
polynomial that ensures all of the 2’-1 states are exercised, where “n” is the
number of latches that forms the LFSR. The primitive polynomial provides
a maximum length sequence. The only state which is not included is the all
zeros state and special logic must be included in the LFSR if the all zeros
state is required. Primitive polynomials can be looked up in a number of
references [154]. The primitive polynomial for a 3 bit LFSR is x3 + x + 1.
That means that the taps for the XORs are on the X3 and X1 bits. Much
literature starts with a XO bit rather than an X1 bit, where the XO bit
represents xo. It is sometimes easier to implement the resulting logic when
starting to count with the X1 bit. The x3 and x terms corresponds to an XOR
tap on X3 and X1 bits respectively, as shown in Figure 10-3. The “1” term
is in every primitive polynomial and drives no added XOR taps in the logic.
It should be known that following proper mathematics yields latches
numbered p.XI, and X2. This LFSR generates the pattern that was shown
x1 x 2 ’ x3 -
.
u u u u u u u u u
Figure 10-4.Example nine-bit LFSR.
There are LFSRs that have distributed feedback, where the XORs are at
the inputs of multiple latches. The alternative is shown in these examples
where the XOR is only at the input of the first latch. Each can be used but
one may be easier to implement for a specific application.
Once the needed LFSR has been generated, its outputs can be connected
to the inputs of the memory. Lets look at a simple example of testing a 64-
bit memory and using the previous LFSR to provide test stimulus. In the
case of the nine-bit LFSR, the first output could be the redwrite control.
The second bit could be the data input bit. The third through eighth bits
could be the address inputs. The ninth LFSR bit could be disconnected. By
connecting only eight out of the nine bits, it can be assured that the all-zero
state is achieved for those eight bits. With a normal LFSR,the all zero state
cannot be achieved but n-1 zeros are always achieved no matter which LFSR
bit is not connected. The pseudo-random patterns applied to the inputs of
the memory are shown in Table 10-3. With the connections described the
first cycle is a read of the Om address. This assumes that when the d w r i t e
control is high, a read is performed. When it is low a write is performed.
The next cycle is a write of a " 1" to the Om address and this process continues
until the test is complete. On the tenth cycle, a read of the 4' address occurs.
The data in the 4m address is a "1" since an earlier cycle, i.e. the sixth cycle
in this case, wrote a "1" to that address.
If one follows this example the sequence of patterns applied to the
memory repeats every 51 1 cycles. It should also be noted that there is
BIST Concepts 159
modify one of those numbers back into the anticipated value. Another way
that aliasing can occur is to have two errors. The first causes a bad signature
and the second causes the bad signature to be modified back into a good
signature. Table 10-4 shows a good memory simulation for the state of a
nine-bit MISR. The starting signature is lOOOOO110, which has been chosen
arbitrarily. Let's assume that the MISR is working from left to right and that
the memory is doing a read of zeros on each cycle. The faulty memory
result that aliases is shown in Table 10-5. In this case the third and fourth
cycles each have an error and those errors are one bit apart. When the D5 bit
is read on the third cycle, the corresponding MISR bit flips to an erroneous
value. On the following cycle the 6" bit is in error. The MISRs D6 bit
input XORs the D5 bit's output with the memory's 6" bit output, re-
inverting the failing signature input to the passing signature. Please note the
highlighted values for D5 and D6 in the 3" and 4* pass, respectively. Note
also that the subsequent signatures match those from a good memory
simulation. Obviously, this kind of erroneous operation would be very rare
but it is important, nonetheless, to understand. If no further failures are
encountered, the MISR falsely indicates that the memory is defect free.
7. CONCLUSIONS
A BIST engine generates patterns to provide the test of a memory. A
good BIST engine provides thorough test. "Any old" BIST is not sufficient,
though, to provide this thorough test. Instead the BIST must test according
to an understanding of the memory design, properly developed fault models,
and optimal test patterns.
The BIST can be designed as a finite state machine or it can be designed
as a micro-code BIST. These two types will be covered in the next chapters.
Following this will be a discussion of how BIST handles redundancy and of
other design-for-test and BIST techniques which help in the test of
memories.
Chapter 11
State Machine BIST
Memory Self Test
2. A SIMPLE COUNTER
Given that the basic component of a BIST state machine is a counter, lets
examine a simple one in some detail. An address counter need only
increment, if a zero-one pattern as defined in Table 11-1 is desired. For an
eight-address memory a three-bit counter can suffice. The needed states are
given in Table 11-1 and are represented in the state diagram shown in Figure
11-1.
For the zero-one pattern, the BIST needs to sweep through the memory
address space four times. Clocking can continue and the address counter be
allowed to roll over and continue. A simple gate level schematic of a three-
bit ripple counter is given in Figure 11-2. The input enable (“inc” for
increment) stays high until the address counter completes four full sweeps,
after which time it is brought low. When the enable signal goes low it locks
up the state machine, stopping the BIST from continuing. It is possible to
simply let the BIST engine continue as long as it is clocked but this is
generally considered a sloppy design style. A high level design language
like Verilog or VHDL can be used to describe a piece of logic like this
166 Chapter 11
3. READMRITE GENERATION
While a counter clearly can generate the needed memory address inputs
during BIST, similar logic arrangements can handle the other BIST portions
as well. The first two elements of the March C- pattern are given in Table
11-3. In order to implement these, a writeenable signal needs to be
activated for the first march element. Alternating readenable and write-
enable signals need to be activated for the second sweep. A state diagram
describing this operation is given in Figure 11-3. Note that when the
maximum address (Max-Addr) is reached, the next element's operation is
started. Once the "End" state is reached a signal goes to the remainder of the
BIST to indicate completion or to initiate the next pattern sequence.
Table 11-3. First two march element of the March C- pattern.
1 wo 0
2 RO,Wl n
gate level logic that generates the read-enable, writeenable, and data signals
is given in Figure 11-5.
The data generation can easily be enhanced to provide alternating data
based on address. If a data pattern is desired which places opposite data on
each address increment, then the least significant bit (LSB)from the address
counter can be supplied to the data generator. This type arrangement can be
quite helpful in generating a checkerboard pattern. Expanding this concept,
the LSB for the row and the LSB for the column can be supplied, all getting
XORed with the base data pattern type. Other modifications to the data
generator can be utilized to provide even more complex data patterns.
Figure 11-3. State diagram for simplied data and read/write controller.
clodc .i
state 1 .i I '; 1
state2 .i
state 3 ./
I
Read-Enable -t ,
Wlite-Enable , r i
Data .I 1 .j
Read Eneble
I I
I I
>
3
I I
I 1
I Address Generator I
I P
I
I
>
I
I
I
s
I
I
I
Data Generator
I
I
>
I
I I
I I
I I
I
I > I
I
I
I
I
> RIW 8 control
Generator
I
I
>
I I
I I
comparator interacts with the pattern controller to help identify when one
pattern is finished. The readwrite controller determines how many cycles a
given address is maintained before the address counter is incremented. The
address counter indicates if an even or odd address is being exercised, so that
the appropriate data can be generated. This counter needs to be able to
increment and decrement. Further, it should be able to incrementldecrement
either row or column addresses most frequently. (Appendix C includes an
example address counter with these capabilities in behavioral Verilog.)
Address Data 1
Limit #
-h
Generator
‘2
-------- ----------
I I
I I
I 1
I I
1 4 2 I I
Address If I Memory I
+ I
Counter
- 16
f --+
I
I
I
I I
2 I I
1 I
ReadMlrite I I
Controller
3
- Pattern
4 Controller
CVde by Cumulative
w e
Pass I Fail
Fail
Figure 11-7.
A BIST state machine block diagram.
The data generator interacts with the address counter, the read/wnte
controller, and the pattern controller. These interactions allow the data
generator to provide the memory with the c o m t data comsponding to the
particular element of the particular test pattern.
AI1 of these portions work together to provide stimuli to the memory
under test. The memory then provides its outputs to the comparator or
compressor at the memory output [169]. Neither a comparator nor a
compressor is part of a state machine proper. The content of the comparator
State Machine BIST 171
or compressor is dependent on the memory and whether or not it is
defective. The comparator or compressor works with the remainder of the
BIST sections to form a complete test solution.
Certain pattern elements have only a single operation per address, such as
writing zeros at each address for the first element of the March C- pattern, as
shown in Table 9-5. Other elements may have four operations per address,
such as a RO, W1,R1,W1 sequence from the enhanced March C- pattern in
Table 9-8 element two. Additionally, alternating ones and zeros may need to
be generated, such as when a logical checkerboard is desired. Each such
sequence can be handled by this type of state machine BIST.
~~ ~~
Key point: A complex pattern suite is possible and most useful for
memory test with a state machine BIST.
6. COMPLEX PATTERNS
A state machine BIST, due to its custom tailoring, can be utilized to
generate very complex patterns. The sequence of loops and states required
are generated in the BIST engine. One example of a complex pattern is
shown in Table 11-5. This pattern is used in a memory with a very wide
172 Chapter I I
write port and a very narrow read port [170]. Unless a check is performed
by writing a single "1" in the wide group of zeros, and then reading each of
the locations, it is not possible to ensure that the decoder is defect free.
Obviously, designing a state machine BlST engine to generate this type of
pattern requires a highly skilled BIST designer, yet it is possible.
Table I I - 5 . Pseudo-code describing a complex state machine BET pattern.
fori = 0..19 (
write data-input(i) to a "1" with all other data-inputs at a "0"to row 0 ;
for j = 0..19 (
if (i==j)(
read "1" column i, read "1" column
) else {
read "1" column i, read "0"column
1
1
1
WOS to row o
7. CONCLUSIONS
A state machine BIST generates a sequence of operations to provide the
needed memory patterns. The state machine BIST can be simple and
generate only a basic pattern or it can be complex, generating a suite of
memory test patterns.
Still greater complexity is often needed, especially when considering
multi-port memory [171,172] or CAM test patterns. For multi-port
memories it should be recalled that multiple addresses need to be generated
simultaneously [173]. These addresses may be at an additive value to the
base address or one port's address may be incrementing while the other
decrementing. For CAM,match line and other testing must be performed in
addition to the base memory cell patterns. Thus, the BIST state machine
capabilities must be vastly complex, when a thorough test pattern suite is
utilized.
Chapter 12
Micro-Code BIST
Memory Self Test
.
“...if ye keep in memoty what I preached unto you . . ” I Corinthians 15:2
instruction memory, where the definitions for the patterns are contained.
Given the presence of instruction memory, a micro-code BIST is larger than
a standard state machine BIST. Since a micro-code BIST is larger and since
silicon area is critical, such a BIST should only be used when the extensive
programmability is anticipated to provide considerable value. Figure 12-1
shows the primary components of a micro-code BIST.
data inputs and for the expect data to be compared at the output of the
memory. The instruction also tells the read/write controller to generate a
read, write, read, write sequence. If there had been other controls in the
readwrite control generator, such as bit-write controls or others, the
instruction would have provided direction for these memory input portions
as well.
2. MICRO-CODE INSTRUCTIONS
There are no standards to micro-code BIST instructions. A microcode
instruction word is highly honed to the particular memory structure under
test. A multi-port memory BIST would be radically different from a BIST
that handles several single port memories on a microprocessor chip. A BIST
which fully tests a group of high performance multi-port memories would be
different still.
An example microcode BIST instruction word is given in Table 12-1.
The first row indicates the operation while the second row indicates the bit
position in the micro-code instruction word. The third row gives the number
value assigned to each field in the instruction, which specifies the operation
to be performed or the data value to be used. The first column gives the
march element number. For example, bits 10 through 13 give data bits 0
through 3, indicating the read or write data values for the next four
operations. The first bit in the word indicates that the instruction contained
in this entry is valid. Normally test stops at the first invalid instruction that
is reached [ 1761. The next two bits define the number of operations which
are to be performed on a given address. The fourth bit defines whether the
address counter is to increment or decrement through the address space. In
this case a "0" indicates increment. The fifth bit tells the address counter
whether the rows or columns are to be incremented most rapidly. If the bit is
a "1". rows are rippled most often. The next four bits define the redwrite
operations for four cycles. Read, in this example, is a "0". For this micro-
code BIST, four operations is the maximum number which can be performed
on each address. If less than four operations per address are being specified,
the remaining unused fields are "don't cares." The next four bits define the
data which is to be applied to the memory data inputs or expected at the
memory data outputs. depending on whether a write or a read is performed.
The last bit in this instruction defines if a checkerboard pattern is to be
applied to the memory inputs. If the checkerboard bit is a "1" and the data
bit is a "0" then a true checkerboard is to be applied. If the data bit is a "1"
then an inverse checkerboard is to be applied. The polarity of any of these
instruction bits can be inverted from a definition point of view. The
176 Chapter I2
5 1 1 1 1 1 0 ~ 1 0 1 0 1 1 0 0
6 1 0 0 1 1 o ~ x x x o x x x 0
7 0 x X X x x ~ x x x x x x x x
Instruction
- Caunter I
Pointer
Miwo-code
InStNCtiOn
Storage
--------------- lnstnrctin
Dispatch
Pre-instmction
SuMnetNction
5. CONCLUSIONS
A microcode programmable BIST is the most flexible of self-test
structures. The memory test patterns can easily be modified based on new
fault modeling or to assist in the characterization of a new memory design.
A microcode BIST needs to be tailored to the memory design being tested
and therefore a wide variety of microcode instruction word styles exist.
Many unique patterns and DFT features can be pmgramrned with a rnicro-
coded memory BIST; some of those items include pause delay duration for
retention testing or the number of times a given loop is executed. Each of
these features enables a microcode BIST to be highly flexible to support
very challenging memory testing.
Chapter 13
BIST and Redundancy
Memory Self Test
"... beside them all orderly in three rows ... - Homer's The Iliad
"
2. REDUNDANCY TYPES
Since most fails on memories are single cell fails, it would be fine to be
able to repair a single cell at a time. The overhead to repair a single cell at a
time is too large to be practical. Identifying a single cell to be replaced
means storing the failing row address, column address, and VO bit. On each
read a compare would have to be performed on all three portions of this
address against the stored failing location. If the failing location is accessed,
the redundant single cell would then be supplied in place of its failing
counterpart. The time to do this substitution, not to mention the amount of
redundant address storage, would be very prohibitive. Instead of individual
cells being replaced, rows, columns or even whole blocks or sub-arrays are
replaced. Figure 13-1 shows a memory with redundant rows and VO
replacing failing locations. The redundant rows and YO are allocated on a
quadrant basis.
When a row is replaced, that row spans all columns and sub-arrays in a
quadrant. When an UO is replaced, that YO spans all rows within a sub-
array. Multiple single cell fails in a dimension can thereby be replaced at
BIST and Redundancy 185
once. In some cases row pair group is replaced. A defect that lands in a Vdd
contact or in a bit-line contact causes a vertical pair of cells to fail. By
replacing a row pair, these type fails are covered without having to use two
independent redundant rows to replace adjacent failing bits.
If a memory has a 16 to 1 column decode then 16-bit line pairs are all
replaced simultaneously allowing for repair of large defects or numerous
small ones. Figure 13-3 shows a redundant YO replacement scheme with a
four-toone column address decode. Since a defect on the third bit line of
data number one @1) exists, the entire D1 VO is bypassed. This method of
steering allows any YO to be replaced along with the columns, sense
amplifiers, and associated circuitry [ 186,1871.
Certain fails which should not be repaired, including defects which
cannot be worked around or which may propagate over time. Most decoder
failures should not be fixed as is the case with high current fails. Even
though a failing location is replaced, it can still draw cumnt. When
developing a BIST and using it to perform a redundancy calculation, careful
consideration should be taken to identify failures which should not be
replaced. A fail setting should indicate that no repair is possible rather than
storing the redundancy fix information in BIST.
The amount of redundancy on a memory is dependent on the type and
size of the memory. Redundancy for certain types of memory can be more
challenging than others. An example is a content addressable memory
which needs not only to store information but perform match compares and
mask functions as well. A ternary CAM has even more challenges in that it
must store three states and be able to mask on a per bit basis for each
BIST and Redundancy 187
memory entry. The compare circuitry, as well as the memory cells, needs to
be replaced for this type of memory.
lout 2
Q
* Redundant
light can reach and cut the on-chip fuse level. If electrical fuses are utilized
then the appropriate fusing information needs to be fed across the chip to
open the appropriate fuses for the correct redundancy implementation [1891.
An anti-fuse can be used in some technology where applying stimulus
actually shorts a path rather than the typical opening of a path with normal
fuse structures 11901. EPROM type memory can store the appropriate
redundancy implementation and can be modified if an EEPROM or some
other modifiable non-volatile memory is utilized [191]. By storing
redundancy information in this type of structure it can be updated at various
levels of testing.
Soft redundancy is calculated at each chip power on. Through a power-
on-reset of similar invocation, a BIST test is performed and redundancy is
calculated. This information is held in latches which directly tells the
memory which elements to replace. The soft redundancy calculation can be
enhanced through occasional transparent BIST exercises that update the
stored redundancy calculation. One of the disadvantages of soft redundancy
is the existence of marginal fails. A subtle memory defect can cause failing
operation at one temperature and not at another. The concern is that a subtle
defect will pass test at rmm temperature and then as the use condition
temperature is reached, the memory will start to fail. There are not many of
these type defects but initial manufacturing test must ensure that marginal
defects are not shipped, even if the redundancy can work around them.
A combination of hard and soft redundancy can be utilized to enhance a
memory’s fault tolerance. With this method, a certain amount of redundancy
is implemented by fusing means and the remainder can be implemented with
soft redundancy calculations while the system is in the field. Using BIST to
do the redundancy calculation in the system is often referred to as built-in
self-repair or BISR [ 1921.
ATE testers store all of the information on the failing bits for a memory
before deciding which redundant elements to utilize where. This amount of
information cannot be stored in a BIST environment since the same amount
of storage is required as the memory under test. BIST must perform on-the-
fly redundancy calculations before all of the information is found on the fails
for a given memory. That means that a very intelligent BIST with good
redundancy allocation logic must be used to do the appropriate calculations.
Some ATE manufacturers have argued that BIST should not perform the
redundancy calculation and that the needed information should be sent off
chip for the needed calculation [193]. While this approach sounds
acceptable at first glance, the possible number of memories on a chip quickly
makes this approach unpalatable.
The number of memories that need repair in a BIST environment is the
next challenge that needs discussion. In light of hundreds, and shortly
thousands, of individual memories on a chip, getting failing information off
chip would create an unbearable test time burden. Instead the BIST needs to
handle the memory testing and the redundancy calculation for all of the
memories with redundancy. A single BIST can easily test multiple
memories, however, for each memory with redundancy separate
redundancy-allocation logic needs to exist. Since the memories are tested in
parallel and fails can happen on each of the memories under test, the
appropriate redundancy implementation needs to be calculated for each
memory, all at the same time. An alternative is to test each of the memories
serially and use a single redundancy allocation logic unit to perform each of
the calculations one memory at a time. The decision is one of prioritizing
silicon area versus test time. Multiple redundancy-allocation logic units
require more area on the chip whereas performing each of the memory tests
serially takes more time. Different applications have different priorities. For
a high volume part, test time would be paramount. For a unique chip with
low volumes, silicon area might be paramount. These factors drive decisions
on the redundancy implementation and calculation.
Other challenges in redundancy calculations for BIST involve the
complexity of the memory under test. For a multi-port memory, with
multiple operations going on simultaneously, it may be difficult to determine
which port and which address are actually defective [194]. Careful BIST
pattern selection is needed to ensure that the failing location is flagged for
replacement. Similarly, CAMSand other complex memories need to have
their cells and the associated logic all replaced with the appropriate
redundancy.
A last challenge in redundancy and BIST is dealing with defective
redundant memory elements. It is easy to see that with a large amount of
redundancy it is possible to have defects land in these areas. After all of the
190 Chapter I3
through, the number of fails along rows and along columns is counted.
When a specified number is exceeded in either dimension a “must-fix” row
or column is defined. Certainly, if there are four redundant rows and five
fails are detected along a column, a must-fix column selection can be made.
Other values can be chosen to determine when the must-fix selection should
be made, based on the specific memory topology and the fabrication
technology being utilized.
6. CONCLUSIONS
Redundancy is a key enabler to successful chip yield. It allows imperfect
memories to be repaired for full customer functionality. A BIST needs to
identify failures and determine the optimal redundancy repair scheme. With
multiple dimensions of redundancy, this calculation is non-trivial and
requires careful consideration of the specific memory topology under test.
Chapter 14
Design For Test and BIST
Memory Serf Test
"I have these memories ..." - from the movie The Matrix
2 e
3
L
m
-
WR1
0,
2
I--
AT
45
WRO
state of the normal cell. If the normal cell has a highly resistive bit line
contact then each cell will remain in their preceding state. Since the DFT
cell did not change state, a defective bit line contact resistance is detected on
the normal cell.
For area optimization, most memory designs have a vertical pair of cells
sharing a single bit line contact. When two cells share a bit line contact, the
best bit line contact resistance test is accomplished by activating both word
lines for the vertical pair of cells. Since both transfer devices are on as well
as both pulldown devices for the vertical cell pair, any elevated bit line
contact resistance is more easily detected. The DFT cell needs to be sized to
be slightly smaller than twice the size of a normal cell, since it is fighting
against a vertical cell pair.
The design modifications to enable this bit line contact resistance testing
include the addition of the DFT cell as well as changes to the word line
decoder drivers to allow multiple word lines to be activated simultaneously
during test mode. Interestingly, a defective bit line contact resistance cannot
Design For Test and BIST 199
be detected by a weak write test mode since the higher contact resistance
actually makes the cell appear more stable. An alternative to the bit line
contact resistance test includes shortening the word line up time during a
write; the sensitivity to defective contact resistance is far less, though.
3. PFET TEST
The pull-up path of a memory cell is difficult to test for resistive defects,
as already stated. While one alternative for identifying resistive defects on
the source or drain of a pull-up PFET utilizes the weak write test mode,
another alternative exists. A PFET-test mode or FTEST utilizes a pair of
NFETs for each bit-line pair in an SRAM [199]. The two NFETs are sized
so that they can only weakly pull down the bit lines and both NFETs are
activated at the same time. Each data type needs to be written into the
memory array. Then the pre-charge is removed from the bit lines and the
PTEST NFETs are activated, weakly discharging the bit lines. Each address
is then accessed by bringing the word line high for its normal read or write
duration. If a sufficiently resistive defect exists in the pull-up path of any
cell, that cell will flip and be overwritten by the opposite data type. A
subsequent read operation is performed to detect any cells which are in an
erroneous state. Figure 14-3 shows an SRAh4 cell with a defect in the true
200 Chapter 14
pull-up path along with a pair of PTEST NFETs on the bit lines. When a "1"
is stored in the cell and the PTEST is implemented, the weak NFET causes
the cell to change states. One positive aspect of this DFT circuitry is that
only two devices are required per column.
6. CONCLUSIONS
Modifying memory designs to facilitate test is normal and wise to ensure
high quality. Certain defects which are missed during normal testing and are
intermittent field fails can be easily detected when the right DFT feature is
included and utilized for manufacturing test. Subtle defects can be found,
thereby improving the quality. Design features which mask certain defects
can be turned off during test to help find those defects. "he design-for-test
features truly provide high quality chips with the most advanced testing. It
is important that effort be expended in the memory design phase to include
the best possible DFT practices.
Chapter 15
Conclusions
Memory Self Test
“Memories light the comers of my mind ... - from the song The Way
”
We Were
Once memory design is understood and the proper fault models have
been developed, the best test patterns can be generated. These test patterns
take into account the various fault models for a given memory design. Since
no single test pattern can suffice to detect all of the possible memory faults
for a given design, a suite of test patterns needs to be employed. This pattern
suite should be comprehensive in the defects it wants to detect.
After a suite of patterns is determined, other possible test capabilities
should be considered. Certain contingencies should be developed in the
event that new, unforeseen defects are found during manufacturing which
drive new fault models. These contingencies require anticipating
modifications to the planned test pattern.
This level of understanding of the design, the fault models, and the test
patterns is required just to test a memory and ensure defective parts are not
shipped. Redundancy goes beyond this point and is required to assure
adequate yield on the vast majority of memories. The design, fault
modeling, and patterns need to be revisited, in light of redundancy.
Redundancy algorithms need to be developed to allocate each redundant
dimension to the appropriate fails, thereby maximizing yield.
Once the design, fault models, test patterns. test contingencies, and
redundancy algorithm are understood, the correct BIST can be designed.
The test pattern suite can be implemented with a state machine or micro-
code BIST. Which BIST is used depends on the maturity of the process
technology and the complexity of the memory. The test contingencies need
to be included in the BIST as programmable features, to be implemented as
needed with manufacturing experience. The BIST also needs the proper
redundancy algorithm built into it so that the best redundancy can be
invoked on the fly, as each fail is detected. In this manner the best BIST for
each memory can be designed and implemented, resulting in high quality
memories with high yields.
2. MEMORY TESTING
Each type of memory design needs a slightly different test. As stated,
different designs have different fault models. There are certain broad
statements which can be made about each class of memory. These
statements do not mean that there can be a one-size-fits-all approach to
memory testing. Each specific memory design needs its own consideration.
Even in straightforward single-port SRAMs, different design choices in the
cell. sense amplifier, and decoder generate different fault models and
therefore different tests.
Conclusions 205
The fault models in this appendix include those not described in chapter
eight. It is recommended that the reader first become familiar with the faults
covered in that chapter as they describe real manufacturing defects which
must be covered during memory testing. The fault models covered here will
help in the understanding of nomenclature and will aid readers as they
review other literature on memory testing. Some of the fault models covered
here are only mathematical curiosities while others provide helpful insight.
1. LINKED FAULTS
Since more than one defect can exist in a memory, the multiple faults can
interact. As these interact they are referred to as linked fault models. Fault
models that are linked can be of similar or dissimilar types [207]. They can
also work in such a manner that one fault can mask the behavior of another
fault. The Occurrence of this kind of a fail must be rare in order to get
reasonable chip yield. The probability of having two fails needs to be rarer
still. The probability of having two fails, that in fact interact, must be
exceedingly rare. Therefore linked faults should normally be of little
concern. The only possibility for linked faults, which would be of concern,
is if one defect activates two faults, which in turn are linked.
When multiple faults do not interact they are said to be unlinked. This is
the normal case with multiple faults.
208 Appendix A
WO/j R,Wl/i,Wl/j
Q,Wl/j
R,Wl/i,WOh
state resulting in incorrect reads. Thus, the name of an imbalanced bit line
fault model is utilized. An SRAM can also be impacted by this type of fault
if leakage occurs more on one of the bit lines in a pair than on the other.
1. MATS PATTERNS
1.1 MATS
The modified algorithmic test sequence, also known as MATS,is a 4N
pattern [224,225]. It is focused on finding stuck-at faults as well as detecting
some address decoder faults. MATS has the same length as the Zero-One
pattern but is far superior.
Table B-I. Desiption of the MATS pattern.
1 wot
2 R0,WlU
3 R1 t
214 Appendix B
1.2 MATS+
The MATS+ pattern requires 5N operations and is considered optimal for
unlinked stuck-at faults [226].
Table 8-2. Description of the MATS+ pattern.
1 woo
2 RO,Wlt
3 R1,WOU
1.3 MATS++
The MATS++ pattern is an improvement on the Marching 110 pattern
(covered next in this appendix). It is a 6n pattern and eliminates certain
redundancies [227]. (A redundancy is a repeat of an operation that does not
allow any further faults to be detected. A pattern without redundancies is
said to be irredundant.) This pattern detects some address decoder faults,
stuck-at faults, and transition faults, along with some coupling faults.
Table 8-3. Description of the MATS++ pattcm.
1 wou
2 RO,Wlfi
3 R1, W0,ROU
1.4 Marching YO
The Marching 110 pattern detects the same faults as the MATS++,but is
longer. It is a 14n pattern.
Table 84. Description of the Marching 110 pattern.
1 won
2 RO, W1, R1 II
3 Rl,WO,ROU
4 win
5 R l , WO, Ron
6 RO,Wl,RlU
Further Memory Test Patterns 215
2.2 MarchB
The March B pattern can detect linked transition and idempotent
coupling faults as well as detecting address decoder faults and stuck-at faults
[228]. It is a 17n pattern.
2.3 March C
The March C pattern [229] had the March C- pattern derived from it.
The March C is not irredundant, as can be seen in the fourth march element.
Chapter nine can be examined for a detailed discussion of the March C-
pattern.
216 Appendix B
2.4 March X
The March X pattern takes 6n cycles and is focused on finding unlinked
inversion coupling faults.
Table B-8. Description of the March X pattern.
1 WOO
2 R0,Wlt
3 R1,WOU
4 R08
2.5 MarchY
The March Y pattern enables testing of linked transition and inversion
coupling faults. It also detects address decoder faults and stuck-at faults. It
is an 8n pattern.
Table B-9. Description of the March Y pattern.
1 WOb
2 RO, W1, R1 t
3 Rl,WO,ROU
4 ROb
The March A+ and March A++ have the same changes, i.e. the triple
reads and the added delay elements, as described in the preceding paragraph.
2.7 March LA
March LA is a 22n pattern with three consecutive writes in each of the
key march elements [231]. It can detect all simple faults and many linked
faults.
Table B-IO. Description of the March LA pattern.
1 wo:
2 RO, W1, WO, W1, R1 R
3 Rl,WO,Wi,WO,RO t
4 RO, W I , W O , W l , R l U
5 Rl,WO,Wl,WO,RO U
3. IFA PATTERNS
3.1 9N Linear
Some patterns have become known simply by their numbers. One such
pattern is the 9N linear test algorithm [233]. It is also often referred to as the
inductive fault analysis-9 pattern or IFA-9. This pattern is commonly used
and employs a pause for retention testing.
Table 8-13. Description of the 9N linear test algorithm.
1 WOQ
2 R0,WlR
3 R1,WOt
4 R0,WlU
5 R1,WOU
6 Pause
7 RO,WI n
8 Pause
9 R l II
3.2 13N
The 13N pattern detects coupling faults for bits within the same word
r234.2351. This pattern is also referred to as the inductive fault analsysis-13
or IFA-13 pattern. Multiple background data types are required. Chapter
nine can be examined for a discussion on background data types, which are
needed in some patterns. The 13N pattern was developed to detect stuck-
open cell errors.
Further Memory Test Patterns 219
4. OTHER PATTERNS
4.1 MovC
The movC was developed to ease BIST pattern implementation [236].It
is not, however, irredundant. The pattern requires 33N for each data
background type.
4.3 Butterfly
The butterfly pattern is quite complicated but does take fewer steps than
the galloping pattern. The essence of the butterfly pattern is that the base
cell is modified following a walking algorithm. After each write of a base
cell, the four cells adjacent to it are read. These are in the north, south, east,
and west directions. Once these four cells are read the base cell is again
read. The butterfly pattern may be continued by reading the next farther out
cells in these four directions, followed again by the base cell. The distance
continues to be doubled until the edge of the memory or sub-array is
reached. It can be seen that this pattern is rather convoluted and only
DRAMShave been helped uniquely through this test.
5. SMARCH
The SMARCH pattern was described in chapter nine. The pseudoade
for this pattern is described below.
Further Memory Test Patterns 22 1
6. PSEUDO-RANDOM
Pseudo-random patterns were described in chapter nine. In table B-16 a
five-bit pseudo-random sequence is provided for reference. Note that the
first and 32" entries match as do the second and 33* entries. After 3 1 cycles
the pseudo-random sequence has re-started. Note also that the all zeros state
is not present.
222 Appendix B
entity threebit-e is
// Code by Thomas J Eckenrode
port ( STclk :in std-ukgic;
inc :in std-ulogic;
coontout :out std-ulogic-vector(2 downto 0));
end entity t h r e e ;
arddtecture threebit-a of threebit-e is
signal u-bit : std_ukgi-vector(2 downto 0);
slgnal I-bit : std~ulogic~vector(2downto 0);
begin
latchdetpracess(sTclk. u-bit)
begin
ifSTclkn'l'AND STclk'EVENT then
1-bit <= u-bl;
end if;
end pmcess latchdef;
with in: select
u-bit(0) e= not I-bit(0) when 'la,
224 Appendix C
I-bit(0) when others;
with inc select
u-bit(l) c= (I-bit(0) XOR I-bit(1)) when 'l',
I-bit( 1) when others;
with inc select
u-bit(2) c= ((I-bit(0) AND 1-bit(1)) XOR I-bit(2)) when 'l',
I-bit(2) when others;
countout c= 1-bit;
reg nextstate0,
next-state1 ,
next-state2,
next-state3;
reg state0,
statel,
state2,
state3
initial
begin
state0 = 1 ;
slatel = 0 :
state2 = 0 ;
state3 = 0 :
end
State Machine HDL 225
always @ (posedge C W )
beah
state0 = next-state0 ;
statel = next-state1 ;
state2 E nextstate2 :
state3 = nextWate3 :
end
endmodule
initial begin
next-word-r = B'M)0000000;next-bit-r = 8b00000000;
word-address = 8 ' m ; bit-address = 8'b00000000;
end
3'bOOl: begin
next-bit-r P next-bit-r + 1;
next-word_r = B'b00000000; end
l b o l l : begin
-
next-bit-r = next-bit-r 1;
next-word-r = w-limit; end
default: begin
$display('address counter default');
next-word-r = wb00000000;
next-bii-r = 8 ' D ; end
endcase
end
37 M. Canada et al.. “A 580 MHz RlSC microprocessor in SOI.” IEEE International Solid-
State Circuits Conference 1999, pp. 430-1.
38 S.K. Mathew et al., “Sub-500-ps 64-b ALUs in 0.18-um SOVBulk CMOS: Design and
scaling trends,” IEEE Journal of Solid-state Circuits, Vol. 36, No. 11, 11TU)ol. pp. 1636-
46.
39 K. Benrstein, N. Rohrer, SO1 Circuir Design Concepu, Kluwer. 2OOO.
40 J. Colinge, Silicon-On-lmdaior Technology:MateriaLr to VUI, Kluwa. 1997.
“ D.A. Johns, K. Martin, Andog Inregmied Circuir Design, Wiley, 1997.
‘’ M.S.L. Lee et al.. “A physically based compact model of partially depleted SO1 MOSFMs
for analog circuit simulation,” IEEE Journal of Solid-state Circuits, Vol. 36, NO. 1,
1n001. pp. 110-21.
” M. Wood. G. Smith. J. Pennings, “Convelting a SRAM from bulk Si to partially deplet#l
SOI,” IEEECustom Integrated Circuits Conference 1999, pp. 227-230.
*) T. Ohsawa et al., “Memory design using onetransistor gain cell on SOL” International
switching applications,” IEEE Custom Integrated Circuits Conference 1999, pp. 239-42.
54
D. Bradley. P. Mahoney, B. Stackhouse, ‘The 16kB singlecycle read access cache on a
next-genaation 64b Itanium micqxccessor,” Intunational Solid State Circuits
Conference 2002, pp. 110-1.
55
H. Miyatake, M. T a n k Y. Mori, “A design for high-sped low-power CMOS fully
parallel content-ibddressabk memory macm,”IEEE Journal of Solid-state Circuits, Vol.
36, No. 6,6/2001. pp. 956-68.
54
V. Lines et al., “66MHz 2.3M tanary dynamic content addressable memory.” IEEE
Memory Technology. Design, and Test Worksbop 2000. pp. 101-5.
57
L. Temullo, R.D. Adams et al., “Daaministic self-test of a high-speed embedded memory
and logic process^ subsystem,” IntanationalTest Confacnce 1995. pp. 3344.
58
International Technology Roadmap for Semiconductors, 2001 Edition,
hctp~~ublic.itrs.net/Filesn001 ITRSMome.htm.
59
H. Yoon. et id., “A 2.5-V. 333-Mb/slpin, l-Gbit, doubledata-rate synchronous DRAM,”
IEEE Journal of Solid-stateCircuits, Vol. 34,No. 11.11/1999. pp. 1589-99.
en B.Rince, High Performance Memories, Wiley. 1999.
232 High Perfomnce Memory Testing
B. Keeth, R.J. Baka. DRAM Circuit Design: A Tutorial, IEEE Solid-state C i u i l Society,
2001.
” M. Redeker, B. Cockburn, et al., “Fault modeling and pattan-sensitivity testing for a
multilevel DRAM.” EEE Memory Technology, Design, and Test Workshop 2W2. pp.
117-22.
T. Sekiguchi. et al., “A low-impedance open-bitline array f a multigigabit DRAM,” IEEE
Journal of Solid-State Circuits, Vol. 37, No. 4,4/202. pp. 487-98.
D. Takashima. H. Nakano, “A cell transistor scalable DRMA array architcctun,” IEEE
Journal of Solid-State Circuits, Vol. 37, No. 5,5/2002. pp. 587-91.
65 H. Hoenigschmid. et al., “A 7F5 cell and bitline architecture featuring tilted array devices
and penalty-free vertical BL twists for 4- DRAMS,” IEEE Journal of Solid-state
Circuits, Vol. 35. No. 5 , 5 m , pp. 713-18.
T. Takahashi, et al., “A multigigabit DRAM technobey with @ open-bitline cell,
distributed overdriven sensing and stacked-flash fuse,” IEEE! Journal of Solid-state
Circuits, Vol. 36, No. 11, pp. 1721-7.
67 C. Chang, J. Wang. C. Yang, “Low-power and high-speed ROM modules for ASIC
applications,” IEEE Journal of Solid-state Circuits. Vd. 36,No. lO.1QRoo1, pp. 1516-23.
B. Yand L. Kim, “A low-power ROM using charge recycling and charge sharing,”
International Solid State Circuits Conference 2001, pp. 108-9.
69 T.P. Hataszti, CMOS Memory Cimuits, Kluwer, 2000.
O
’ W.D. Brown, J.E. Brewa, Nonvolatile Suniconductor Memory Technology. IEEE Ress.
1997.
71
T. Jung, et al., “A 3.3-V single power supply 16-Mb nonvolatile virtual DRAM using a
NAND flash memory technology,” IEEE Journal of Solid-state Circuits, Vol. 32, No. 11,
I1/1997. pp. 1748-57.
72 J. Lee,et al., “A 1.8V 1Gb NAND flash memory with 0.12um STI process technology,”
International Solid State Circuits Conference 2002, pp. 104-5.
” K. Takeuchi, T. Tanaka, “A dual-page programming scheme for high-speed multigigabit-
scale NAND flash mmories,” IEEE Journal of Solid-state Circuits, Vd. 36. No. 5.
5/2001, pp. 744-51.
74 S. Atsumi, et al., “A channel-e-rasing 1.8-V-only 32-Mb NOR flash EEPROM with a
bitline direct sensing schane.” IEEE Journal of Solid-state Circuits, Vd. 35, No. 11,
11/2OOO,pp. 1648-54.
” P.Cappelletti, et al., Flash Memories, Kluwer, 1999.
76 J. Tsouhlarakis, et al., “A flash memory technology with quasi-virtual ground m y for
low-cost embedded applications,” IEEE Journal of Solid-state Circuits, Vd. 36. No. 6,
6l2001, pp. 969-78.
77 G. Campardo, et al., “4O-mm2 3-V-only 50-MHz 64-Mb 2-Wcell CHE NOR flash
memory.” IEEE Journal of Solid-State Circuits, Vol. 35, No. 11, 11/2000. pp. 1655-67.
’’ M. Borgatti, et al.. “A 64-min singlechip voice remdedplayer using anbedded 4-Wcell
flash memory.” IEEE Journal of Solid-stateCircuits. Vd. 36,No. 3,31#x)1. pp. 516-21.
79 J.M. Portal, et al., “An automated design methodology f a EEF’ROM cell (ADE),” lEEE
Memory Technology, Design, and Test Workshop 2002, pp. 13742.
M. Mohammad, K.K. Saluja, “Flash memory disturbances: rodeling and test.” VLSI Test
Symposium 2001. pp. 218-24.
A. Sheikholeslarni, “Ferroelectric memory design,” International Solid State Circuits
Conference Tutorial, 2/3/2002.
82 B.Rince, Emerging Memories: Technology and TrendF, Kluwer. 2002.
References 233
S. Kawashima, et al., “Bitline GND sensing technique for low-voltage. operation FeRAM,”
IEEE Journal of Solid-state Circuits, Vol. 37. No. 5,5/2002 pp. 592-8.
84 D. Takashima. et ai.. “A sub-4O-ns chain FRAM architecture with 7-11s cell-plate-line
drive,” IEEE J m a l of Solid-state Circuits, Vol. 34,No. 11.11/1999. pp. 1557-63.
M. h i . et al., “A 0.25um 3.0V lTlC 32Mb nonvolatik ferroelectric RAM with address
transition detcctor(A?D) and current forcing latch sense ampliifedCFKSA) Scheme,”
I n t a n a t i d Solid State Circuits Conference2002, pp. 162-3.
B.F. Cockburn. “Advanced embedded memory technologies tutorial,’’ IEEE Memory
Technology, Design. and Test W a W q 2002.
J. Kang, et al.. “A hierarchy bitline boost scheme for sub-1.5V operation and short
prechargc time on high density FeRAM,” International Solid State Circuits Conference
2002, pp. 158-9.
G. Braun, et al., “A robust 8p2 faToelectric RAM cell with depletion device(DekRAM),”
IEEE Joumpl of Solid-stateC i i t s , Vol. 35, No. 5,5/2000, pp. 691-6.
B. Jeon, et al., “A 0.4-um 3.3V lTlC 4-Mb nonvolatile fcmdectric RAM with fixed
bitline reference voltage scheme and data protections circuit,” IEEE Journal of Solid-state
Circuits. Vol. 35. No. 11,1112o00, pp. 1690-4.
M. Ckndenin, ‘‘Common memOcjes turn exotic,” Electronic Engineering Times.
4/29/2002. p. 60.
91 S. Tehrani, et al.. “Prugrcss and outlook for MRAM technology,” IEEE Transactions on
Magnetics Vol. 35, NO.5,9/1999, pp. 2814-9.
92 R.A. Sinclair, et 4 ..“A practical 2S6K GMR NV memory for high shock applications,”
International Non-Volatile Memory Technology Conference 1998, pp. 3842.
93 R. Zhang. W.C. Black. M.W. Hassoun, “Windowed MRAM sensing scheme,” IEEE
Memory Technology,Design, and Test Workshop 2OO0, pp. 47-52.
cu C. Brown, “MTJ memory seen as possible DRAM. SRAM nplaccment” Electronic
EngineeringTimes, 7/23/2001, p. 65.
95 R. Scheuakin, et al., “A 1011s read and write non-volatile memory may using a magnetic
tunnel junction and FET switch in each cell.” InternationalSolid State Circuits Conference
2000, p ~ 128-9..
% P.K. Naji, e& al., “A 256kb 3.0V lTlMTJ nonvolatile magnetoresistive RAM.”
InternationalSolid State Circuits Conference2001, pp. 122-3.
-
sv S. Lai. T. h y , “OUM a 180 nm nonvolatile memory cell element technology for
stand alone and embedded applications,” International Electron Devices Meting 2001, pp.
803-6.
98 M. Gill, T. Lawny, 1. Park, “Ovonic unified memory - a high-pafamanct nonvolatile
memory technology for stand-alone memory and embedded applications,” Intanotional
Solid State Circuits Confercncc 2002. pp. 202-3.
99 M. Brehob, et al., % potential of carbon-based memory systems,” IEEE Memgr
Technobgy. Design, and Test Wcckshop 1999, pp. 110-4.
loo R. Mcconnell. U. Moiler, D. Richter, “How we test Siemens’ embedded DRAM cores,”
In(anati0nal T& Confcmux 1998. pp. 112M.
lo‘ R.L. Gciga, P.E. Alkn, N.R. Saader, V U / Design technques for analog and digital
circuits, M e w - H i l l , 19%.
IO1 A.J. van de Gcwx, Testing Semiconductor Memories: Theory and Practice, ComTcx
Publishmg. Gouda.’Ihe Nethalsnds. 1998.
IO3 John Barth, personal communication April 3,2002.
’0.1 Bryan Robbins, pasonalcommunication 4Q 1997.
234 High Performance Memory Testing
lZ7 LTCXIIUIIO. R.D. A*, et d.. “D#aministic self-test of a high-speed embedded memory
and logic processor subsystem,” Intunational Test Confaence 1995. pp. 33-44.
IZs AJ. van de Ooor. et al.. ‘March L R A test for realistic linked faults,” VLSl Test
Symposium 1996. pp. 272-80.
12’ A.J. van de Goor,“Using march tests to test S W s , ” IEEE Dcsign & Test of Computers.
91993, pp. 8-13.
J. Sosnowski. “In system testing of cache memories,” International Test Conference 1995,
pp. 384-93.
B. Nadeau-Dostie, A. Silbut, V.K. Agarwal, “Serial interfacing for embedded-memay
testing,” IEEE Design & Test of Computers, 41990, pp. 52-63.
132A.J. van de Gm,“Automatic computation of test length for pseudo-nndom memory
tests,” IEEEInteanational Workshop of Memory Technology 1995. pp. 56-61.
‘’)A. Krasniewski, K. Gaj, “Is thae any future for detaministic self test of embedded
RAMs,” IEEE Computer S o c i i Ress, 4/1993, pp. 15968.
Ip4 Y. Zorian. “BW for anbeddbd munorieS,” EE-Evaluation Engineaing, 9/1995, pp. 122-
3.
W.K. AI-Assadi, A.P. Jayasumana, Y.K. Malaiya ‘Qn fault modeling and testing of
content-addressable memories,” IEEE Memory Technology, Design, and Test Workshop
1994, p ~ 78-83.
.
K. Lin, C. Wu, “Functional testing of content-Pddressable mmories,” IEEE Mcmay
Technology, Design, and Test Workshop 1998. pp. 70-5.
Ip7 P.R. Sidorowicz, “Modeling and testing transistor faults in content-addressable
mrorics,” IEEEMemary Technology. Design. and Test Workshop 1999. pp. 83-90.
13* R.D. Adams. P. Shcphard III. “Silicon on insulator technology impacts on SRAM testing,”
VLSl Test Symposium2000, pp. 4347.
139Y. Wu. L. Calvin. “Shadow write and read for at-speed BIST of ”DM SRAMs,”
International Test Conference 2001. pp. 985-94.
laK. Zarrineh. R.D. Adams. et al., “Self test architecture for testing -lex memory
struchms,” Inteanational Test Conference 2O00, pp. 547-56.
P. Mazumda, K. Chakaborty, Testing and Testable Design of High-Density Random-
Access Mewwries, Kluwa, 19%.
14*S. Hamdioui. ‘Testing multi-port memories: Theory and practice,” Ph.D. Dissertation,
Delft University, 2001.
J. Zhao, et al., “Detection of inter-port faults in multi-port static RAMs,” VLSI Test
Symposium u)oo,pp. 297-302.
1u
M.L. Bushnell, V.D. Agrawal, Essentials of Electronic Testmg: For Digital, Memory &
Mivd Signal V U 1 Circuits, Iouwer, 2O00.
I*’ S.K. Jain, C.E. Stroud. “Built-in self-testing of embedded mumries,“ IEEE Design &
Test, 1W86.pp. 27-37.
la Y. Zaian, “BIST for embedded memocicS.’. EE-Evaluation engineering, 9/1995. pp. 122-
3.
C.E. Stmud, A &signer’s Guide to Built-In &&-Test, Kluwa, 202.
B.F. Cockbum. Y.F. Nicole Sat, ‘Transparent built-in self-test scheme for detecting singk
Vcoupling faults in RAMS,” IEEE Memory Technology, Design, and Test Workshop
1994. pp. 119-24.
’*’ K. Thalkr. “A highlycfficient transparent online memory test” lntanational Test
Conference 2001, pp. 230-9.
236 High Performance Memory Testing
H. Bonges In, R.D. Adams, et al., “A 576K 3.511s access BiCMOS ECL static RAM with
array built-in self-test,” IEEE Jwrnal of Solid-State Circuits, Vol. 27. No. 4, 4/1592. pp.
649-56.
Is’ R. Mookerjee, “Segmentation: a technique for adapting high-performance logic ATE to
test high-density, high-speed SRAMs,” IEEE Workshop on Alemory Test 1993, pp. 120.4.
Is’ P.H.Bardell, W.H. McAnney. J. Savir. Built-In Tesffor VLSI, Wiley, 1987.
IS3 R. David, A. Fuentes, B. Comtois, “Random pattern testing VQWS deterministic testing of
RAMS,” IEEE Trans.on Computers, Vol. 38. No. 5,%9. pp. 637-50.
Is‘ W.W. peterseon. E.J. Weldon, Error-CorrectingCodes, MIT Pnss, 1972.
Is’ A.J. van de Goa, “Automatic Computation of test length for pseubrandom memocy
tests,” IEEE International Wakshop on Memory Technology 1995. pp. 56-61.
IS6V.N. Yanndik. M. Nicolaidis. 0. Kebichi, “Aliasing fne s i g n a m analysis for RAM
BIST,” International Test Conference 1994. pp. 368-77.
Is7 M. Franklin, K.K. Saluja, K. Kinoshita. “Design of a RAM with rowl~olumnp am
sensitive fault detection capability,” Intanationat Test Confence 1989. pp. 327-36.
Is8 J. van Sas, et al., “BIST for embedded static R A M s with coverage calculation,”
International Test Conference 1993. pp. 33947.
IsQX. Li, F. Yang, “A cost-effective BIST scheme for embedded RAMs,” International
Conference on CAD and Computa Graphics 1993. Vol. 2 pp. 647-51.
IwR.D. Adams. et al., “A 370-MHz memory built-in self-test state machine,” European
Design and Test Conference 1995, pp. 1394 1 .
16’C. Hunter, et ai.. ‘“I~ Ic
powapC 603 micropnressor: an a m y built-in self test
mechanism,” International Test Conference 1994. pp. 388-94.
P. Camurati, et.al., “Industrial BIST of embedded RAMS.” IEEE Design & Test of
Computers, Fall 95, pp. 86-95.
M. Franklin, K.K. Saluja, ”Embedded RAM testing,” IEEE Memory Technology. Design,
and Test Workshop 1995, pp. 29-33.
R. Dekka, E Beenka, A. Thijssen, “Fault modeling and test algorithm development for
static random access memories.” International Test Confmnce 1988, pp. 353-61.
16’ V.D. Agrawal. C.R. Kim. K.K. Saluja, “A tutorial on built-in self-test,” IEEE Design &
Test of Computers, W1993. pp. 69-77.
‘MThomas J. Eclrcnrode, personal communication July 2002.
16’ Gamtt S. Koch. pcrsonal communication July u)oz.
Is8R.D. Adams. R. Maaarese. “A high-spted pipelined memory built-in self-test state
-
machine,” Damnwth T h a w School of Engineering HDtBased System Design Reject,
May 19%.
16’ M. Nicolaidis, 0. Kebichi, V. Castor Alves, “Trade-offs in scan path and BIST
impkmentations for RAMs.”Journal of Ekctronic Testing: Thmy and Applications, Vol.
5, NO.4.5611994. pp. 147-57.
R. Gibbins, R.D. Adams et al.. “Design and test of a 9-po1t SRAM for a loOGb/s STS-1
switch,” IEEE Memory Technology, Design, and Test Workshop 2002.
” I V. Casm Alves, et al., “Built-in self-test for multi-port RAMs,” International Conference
on Computer Aided Design 1991, pp. 248-5 1 .
Y. Wu. S. Gupta, “Built-in self-test for multi-port RAMs,”Asian Test Symposium 1997.
pp. 398-403.
173 J. Zhu, “An SRAM built-in self-test approach” EE-Evaluation engineering, 8/1%, pp.
90-3.
References 237
'71 H. K o i i T. Takeshim M. Takada, "A BIST scheme using microprogram ROM for large
capacity memories," International Test Conference 1990. pp. 815-22.
175
M.H. TdKanipour, Z. Navabi. S.M. Fakhraie, "An efficient BIST method for testing of
embedded SRAMs," International Symposium on Circuits and Systems 2001. pp. 73-6.
176K Zarrineh, R.D. Adams et al., "Self test architecture for testing complex memory
structures," International Test Confaence 2000, pp. 547-556.
J. Dnibelbis, et PI., "Roccssor-based built-in self-test for embedded DRAM," lEEE
Journal of Solid-State Circuits,VoL 33. No. 11,1111998, pp. 1731-40.
'71 A. Benso, et al., "A pmgrammable BIST architecture of clustm of multiple-port SRAMs,"
InternationalTest Conference 2000, pp. 557-66.
D. Youn, T. Kim, S. Park, "A micnmdebased memory BIST implementing modified
march algaithm," Asian Test Symposium 2001, pp. 391-5.
loo 1. Barth, et al.. %bedded DRAM design and architecture for the IBM 0.11 um ASIC
offering," IBM Journal of Research and Development, to be published.
'*lP. Jakobsm, et aL, "Embedded DRAM built in self test and methodology for test
insertion," InternationalTest Conference 2001, pp. 975-84.
I** R. Ciibbins, RD.Adams et al., "Design and Test of a 9-pert SRAM for a looGbls STS1
Switch," IEEE Memory Technology. Design, and Test Wakshop 2002. pp. 83-7.
"'IEEE Memory Technology. Dcsii, & Test Workshop 2001, Panel on Memory
Redundancy & Repair Challenges.
Is* E. R d y . Y. T~llia.S. Bari, "A silicon-based yieM gain evaluation methodolgy for
MbeddedsRMks with different redundancy scenarios." IEEE Memory Technology,
Design, and Test WorIrslq 2002, pp. 57-61.
I" H. Kikukawa, et PI., W.13-um 32-Mb164-Mb embeddd DRAM con with high efficient
redundancy and enhanced testability," IEEE Journal of Solid-state Circuits, V d 37, No.
7.7/2002, pp. 9 3 2 4 .
T. Namekawa, u al.. "Dynamically shift-switched dataline redundancy suitable for DRAM
macro with wide data bus," IEEE Journal of Solid-State Circuits, Vol. 35, No. 5, 5/Moo,
pp. 705-12.
I' 1. Barth. et al.. "A 300MHz multi-banked eDRAM macro featuring GND s e n e bit-line
twisting and dinct nfaence cell write," Inteanational Solid State Circuits Confaence
2002,pp. 156-7.
M. Yamadia, d al., "A systun LSI memay redundancy technique using an i e - W
(invcrse-gabckmk flash) ptogramming circuit," IEEE J m a l of SolidState Circuits,
Vol. 37, No. 5.5/u)o2, pp. 599-604.
'''M. Ouellerte. et al., "Onchip npair and an ATE independent fusing methodology."
IntanationalTest Confamx 2002.
J. Wee,et al., "A post-package bit-repair scheme using static latches with bipolar-voltage
Pogrammable anti-fuse circuit for high-density DRAMS," IEEE Journal of Solid-state
Circuits, Vol. 37. No. 2 . m pp. 2514.
19' T. Takahashi, e( al.. "A mitigigabit DRAM technology with 6p open-bitline cell,
disrributed overdriven sensing and stacked-flash fuse," IEEE Journal of Solid-State
Circuits, Vol. 36,No. 11,pp. 1721-7.
192
K. Chakrabuty, "A physical design mol for built-in self-repairable RAMS," IEEE
Transactions an Vay Large Scak Integration (VLSI) System Vol. 9, No. 2,4/2001, pp.
35244.
S. TaaOi. "On-wafa BIST of a 2ooobls failed-bit search for 1Gb DRAM," Intenrational
sdid State CircuitsConference 1997. pp. 70-1.
238 High Perfonname Memory Testing
Y. Wu,S. Gupta, "Built-in self-test for multi-pod RAMs," Asian Test Symposium 1997,
pp. 398-403.
195 Y. Nagura, "Test cost reduction by at-speed BlSR for embedded DRAMS," International
Test Confmnce 2001. pp. 182-7.
D.K. Bhavsar. "An algorithm for row-column self-repair of RAMs and its implementation
in the Alpha 21264," International Test Conference 1999, pp. 311-8.
'91 A. Meixner, J. Banik, "Weak write test modc: An SRAM cell stability design for test
technique," Intemational Test Confaence 1996, pp. 309-18.
19* H. Pilo. R.D. Adams, et al.. "Bitline contacts in high density SRAMs: Design for
testability and stressability," International Test Confaence 2001. pp. 776-82.
I w J . Brauch. J. Fleischman, "Design of cache test hardware on the HP PA8500,"
International Test Confsence 1997. pp. 286-93.
'00 Y. Wu, L. Calin, "Shadow write and read for at-speed BlST of TDM SRAMs."
International Test Confennce 2001, pp. 985-94.
*'*R. Gibbins, R.D. Adams et al., "Design and Test of a 9-pat SRAM for a looabls Srs-1
Switch," IEEE Memay Technology. Design, and Test Workshop 2002, pp. 837.
mz H.Pilo. et al., "Design-for-test methods for stand-alone SRAMs at IGb/s/pin and beyond,"
InternationalTest Confennce 2ooo. pp. 436-43.
'03 K. Takcda, et al.. "Quasi-wmt-condition built-in-self-test scheme f a 4-Mb loadkss
CMOS four-tmnsistor SRAM m ~ o , Symposium" on VLSI Circuits 2001. pp. 229-30.
m J . Yamada, et al., "A 128-kb &RAM macro for conWcontactlees smart-card
microcontrollers,"IEEE Journal of Solid-state Circuits, Vd. 37, No. 8, 8/2002 pp. 1073-
9.
20' H. Kikukawa. et al., "0.13-urn 32-MW-Mb embedded DRAM con with high efficient
redundancy and enhanced testability." IEEE Journal of SolidStace Circuits, Vd. 37. No.
7,7/2002. pp. 932-40.
x)6 K. zarrineh. S .J. Upadhyaya. V. Chickermane, "System-onchip testability using LSSD
Scan structures," IEEEDesign & Test of Computeas, 5-6/2001. pp. 83-97.
m7A.J. van de Goor, G.N. Gaydodjiev, "An analysis of (linked) address dccoda faults,"
IEEE Memory Technology. Design, and Test Wakshop 1997, pp. 13-9.
D. Niggemeyer. E.M. Rudnick, "Automatic genaation of diagnostic march ttsts," VLSI
Test Symposium 2001, pp. 299-304.
http~/www.tuxedo.orgl-esr/jargonmtmvent
"'V. Casm Alves, et al., "Built-in self-test for multi-port RAMS." International Confcnnce
onComputerAidedDesign, 11/1991.pp. 248-51.
B.F. Cockbum, Y.F. Nicole Sat, 'Transparent built-in self-test scheme for df%ecting single
V-coupling faults in RAMs," IEEE International Worksbop on Marory Technology,
Design, and Testing 1994, pp. 119-24.
2I' J.P. Hayes, "Detection of pattern-sensitive faults in random-aarcss mmak%" I@EE
Trans. on Cornputas, Vol. (2-24. No. 2, 1975, pp.150-7.
J.P. Hayes, 'Testing memories for singlecell pam-sensitive faults in semiconductor
random-access memories," IEEE Trans. on Computas, Vol. C-29, No. 3, 1980. pp. 249-
54.
'I' M.G. Karpovsky. V.N. Yannolik, 'Transparent memory testing for pattan sensitive
faults," International Test Confaence 1994, pp. 860-869.
5I' D.S. Suk, S.M. Raddy. 'Test procedures for a class of pattern-sensitive faults in
semiconductor random-access memories," IEEE Trans. on Compula~.Vol. C-29. No. 6.
pp. 4 19-29.
References 239
*I6 K.K. saluja, K. Kinoshita, ‘Test pattcm gemtion for API faults in RAM,”IEEE Trans.
on Computers, Vol. C-34, No. 3, 1985, pp. 284-7.
’I7 P. Camurati. et al., “Industrial BIST of embedded RAMS,” IEEE Design & Test of
Computers, Fall 1995, pp. 86-95.
”*M.S. Abadiu. H.K. Reghbati. “Functional testing of s e m i d u c t o r random access
memories,” Computing Surveys. Vol. 15, No.3.9/83, pp. 175-98.
2’9 B. Nadeau-Dostie, A. Silburl, V.K. Aganval, "serial intafacing for embedded-memory
testing.” IEEE Design & Test of Computas, 41990. pp. 52-63.
220 S. Oriep. et al., “Application of defect simulation as a tool for more efficient failure
analysis,” Quality and Reliability Engincuing Int., Vol. 10,1994, pp. 297-302.
Y. Lai, Test and diagnosis of m i c r o p ~ s s o rmemory arrays using functional patterns,”
M.S. Thesis. MIT, May 1996.
222 S. Hamdioui. A. 1. van de Goor. et al., “Realistic fault models and test procedure for multi-
port SRAMs,” IEEE Memory Technology, Design, and Test Workshop 2 0 1 . pp. 65-72.
=’S. Hamdioui. A. J. VM de Goor, et al., ‘’Detecting unique faults in multi-port SRAMs,”
Asian Test Symposium2001, pp. 3742.
224 J. Knaizuk, C.R.P. H r n n n . “An optimal algorithm for testing stuck-at faults in random
BCC~SS memories,” IEEE Trans. on Cornputas, VOL C-26, NO.11.1977, pp. 1141-1144.
22s R. Nair, “Comments on ‘An optimal algorithm for testing stuck-at faults in random access
m~mori~ ~I EEETrans. on Comp~tas,Vol. C-28, NO.3, 1979. pp. 258-61.
,’”
U6M.S. Abadiu, J.K. Reghbati. “Functional testing of semiwnductor random acctss
memories,” ACM Computing Surveys. Vd. 15. No. 3,1983, pp. 175-98.
227 AJ. van de Croa.Testing Semiconductor Memories: Theory and Practice, Wiley, 1991.
Nicdoidis, 0. Kebichi, V. Castor Alves, “Trade-offs in scan path and BIST
implementationsfor RAMS,” JETTA, Vol. 5, 1994, pp. 273-83.
229 M. Marinescu, “Simple and efficient algorithms for functional RAM testing,” IEEE Test
Confmnce 1982, pp. 236-9.
K. Znnineh. SJ. Upadhyaya, “A new framework for automatic generation. i n d o n and
verification of memory built-in self-testunits,” VLSI Test Symposium 1999. pp. 391-6.
A.J. van de Goor, “March LA:A test for linked manory faults,” European Design & Test
Confaence 1997, p. 627.
=*S. Hamdioui. ‘Testing multi-port memories: Theory and practice,” Ph.D. Dissertation,
Delft Univasity. 2001.
233 R. Dckker, E Beenkcr, A. Thijssen, ”Fault modeling and test algorithm development for
static random access memories,” InternationalTest Conference 1988.
R. ~ekka.E Beenkcr, LFSR. Thijssen. “A realistic self-test machine for static random
access memo&%“ InternationalTest Confmnce 1988, pp. 353-61.
”’J. zhu. “An SRAM built-in self-test approach,” EE-Evaluation Engineaing. 8/1992, pp.
90.3.
“‘C. Hunta. a al.. ‘The PowerPC 603 micropmssor: an array built-in self test
mechanism,” Intanational Test Conference 1994, pp. 38844.
*” J.H. de Jonp, A.J. Smeuldas, “Moving invasions test panan is thorough, yet speed,”
Computa Design, May 1976, pp. 169-73.
R.D. Adam& R. Mazzarese. “A high-speed pipelined memory built-in self-test state
machine,” Dartmouth - Thaya School of Engineering HDL-Based System Design Project,
May 1996.
GLOSSARY / ACRONYMS
Ternary CAM - CAM which stores "l", "0". or "don't c a d ' on a per bit
basis.
TF - Transition fault.
A
ABIST 149
Aggressor 110 122 146 209
ATE 11 153 189
B
Beta ratio 24 51 63
Body contact 65
Burn in 103
Butterfly curve 24 25
C
CAM 67 142
Chalcogenic 99
Checkerboard pattern 134
Column stripe pattern 135
Coupling fault model 109 208
D
Data backgrounds 132
Data retention fault 117
This page has been reformatted by Knovel to provide easier
navigation.
Index Terms Links
Decoder
Dynamic 40
Faults 119
Static 39
Deterministic 154
DRAM 77 133
E
EEPROM 90
Exhaustive pattern 129
F
False write through 115
FeRAM 96
Flash 90
Floating body 58
Folded bit line 87
G
Galloping pattern 131
H
History effect 60
I
IFA 218
L
LFSR 141 156
Looping 177
M
Marching pattern 129
March
A, B, C 215
C- 136
G 139
LA 217
LR 139
SR+ 217
X, Y 216
Masking, in CAMs 71
Markov diagram 109
MISR 160
Moore’s Law 3
MovC 219
MRAM 98
Multi-port memory faults 121 146 212
N
Neighborhood pattern sensitive
fault model 111 210
O
Open bit line 87 88
Ovonic memory 99
P
PMOVI 137
Pre-charge fault model 114
Primitive polynomial 156
Programmable BIST 171
PRPG 141
Pseudo-random
BIST 155
Patterns 139 221
R
Read disturb fault model 110
Redundancy 44 184
Hard 187
Soft 187
ROM BIST 162
Row stripe pattern 135
S
Shadow write & read 200
SIA roadmap 18
SISR 160
SMarch pattern 140
SOI faults 57 118 145
Stacked capacitor 83
Stuck-at fault model 104 107
Sub-arrays 43
T
Ternary CAM 72
Transition fault model 108
Trench capacitor 82
Twisted bit lines 44
V
Victim 110 122 146 208
W
Walking pattern 130
Z
Zero-one pattern 128