Lecture 7 - Memories and Array Circuits PDF
Lecture 7 - Memories and Array Circuits PDF
Konstantinos Masselos
Department of Electrical & Electronic Engineering
Imperial College London
URL: http://cas.ee.ic.ac.uk/~kostas
E-mail: [email protected]
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 1
Based on slides/material by…
J. Rabaey http://bwrc.eecs.berkeley.edu/Classes/IcBook/instructors.html
“Digital Integrated Circuits: A Design Perspective”, Prentice Hall
D. Harris http://www.cmosvlsi.com/coursematerials.html
Weste and Harris, “CMOS VLSI Design: A Circuits and Systems
Perspective”, Addison Wesley
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 2
Recommended Reading
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 3
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 4
Semiconductor Memory Classification
Random Non-Random
EPROM Mask-Programmed
Access Access
E 2 PROM Programmable (PROM)
DRAM LIFO
Shift Register
CAM
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 5
Memory Arrays
Memory Arrays
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 6
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 7
Memory Architecture: Decoders
M bits M bits
S0 S0
Word 0 Word 0
S1
Word 1 A0 Word 1
S2 Storage Storage
Word 2 Word 2
N Words
Cell A1 Cell
Decoder
A K -1
S N-2
Word N-2 Word N-2
S N_ 1
Word N-1 Word N-1
Input-Output Input-Output
(M bits) (M bits)
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 8
Array-Structured Memory Architecture
2 L- K Bit Line
Storage Cell
AK
AK+1 Row Decoder Word Line
AL -1
M.2 K
A0
Column Decode r Selects appropriate
A K -1 word
Input-Output
(M bits)
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 9
Hierarchical Memory Architecture
Row
Address
Column
Address
Block
Address
I/O
Advantages:
1. Shorter wires within blocks
2. Block address activates only 1 block => power savings
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 10
Memory Timing: Definitions
Read Cycle
READ
WRITE
Write Access
Data Valid
DATA
Data Written
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 11
Memory Timing: Approaches
MSB LSB
Address
Row Address Colum n Address
Bus
RAS Address
Address
Bus
Address transition
CAS initiate s memor y operation
RAS-CAS timing
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 12
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 13
Read-Only Memories
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 14
ROM Example
2:4
DEC
ROM Array
Y5 Y4 Y3 Y2 Y1 Y0
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 15
MOS NOR ROM
V DD
Pull-up devices
WL[0]
GND
WL[1]
WL[2]
GND
WL[3]
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 16
MOS NOR ROM Layout
WL[0]
G ND (diffusion)
WL[1]
Polysilicon
B asic cell
10 λ x 7 λ M etal1
WL[2] 2λ
WL[3]
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 17
MOS NOR ROM Layout
WL[0]
GND (diffusion)
Basic Cell
8.5 λ x 7 λ
Metal1 over diffusion
WL[1]
Polysilicon
WL[2]
WL[3]
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 18
MOS NAND ROM
V DD
Pull-up devices
WL[0]
WL[1]
WL[2]
WL[3]
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 19
MOS NAND ROM Layout
Diffusion
Polysilicon
Basic cell
5λx6λ
Threshold
lowering
implant
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 20
Precharged MOS NOR ROM
VD D
φ p re
Precharge devices
WL[0]
GND
WL[1]
WL[2]
GND
WL[3]
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 21
Building Logic with ROMs
inputs
n ROM Array
2n wordlines
inputs outputs
DEC
n ROM k k
s s
state
k outputs
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 22
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 23
Nonvolatile Read-Write Memories (NVRW)
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 24
PROMs and EPROMs
Programmable ROMs
• Build array with transistors at every site
• Burn out fuses to disable unwanted transistors
Electrically Programmable ROMs
• Use floating gate to turn off unwanted transistors
• EPROM, EEPROM, Flash
n+ n+
p bulk Si
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 25
Floating-gate transistor (FAMOS)
tox G
tox
S
+ p +
n n
Substrate
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 26
Floating-Gate Transistor Programming
20 V 0V 5V
20 V 0V 5V
10 V→ 5 V −5 V − 2.5 V
S D S D S D
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 27
Characteristics of Non Volatile Memories
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 28
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 29
Read-Write Memories (RAM)
• STATIC (SRAM)
Data stored as long as supply is applied
Large (6 transistors/cell)
Fast
Differential
• DYNAMIC (DRAM)
Periodic refresh required
Small (1-3 transistors/cell)
Slower
Single Ended
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 30
6-transistor CMOS SRAM Cell
WL
V DD
M2 M4
Q
Q M6
M5
M1 M3
BL BL
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 31
SRAM Read/Write
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 32
CMOS SRAM Analysis (Read)
• N1 >> N2
A_b bit_b
1.5
1.0
word bit
0.5
A
0.0
0 100 200 300 400 500 600
time (ps)
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 33
CMOS SRAM Analysis (Write)
A_b
1.5 A
bit_b
1.0
0.5
word
0.0
0 100 200 300 400 500 600 700
time (ps)
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 34
SRAM Sizing
bit bit_b
word
weak
med med
A A_b
strong
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 35
6T-SRAM — Layout
VDD
M2 M4
Q Q
M1 M3
GND
M5 M6 WL
BL BL
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 36
Resistance-load SRAM Cell
WL
VD D
RL RL
Q Q
M3 M4
BL M1 M2 BL
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 37
Multiple Ports
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 38
Dual-Ported SRAM
bit bit_b
wordA
wordB
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 39
True dual port SRAM
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 40
Multi-Ported SRAM
write
circuits
read
circuits
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 41
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 42
3-Transistor DRAM Cell
BL1 BL2
WWL WWL
RWL
RWL
X V DD -V T
X M3
M2
M1 V DD
BL1
CS
BL2 V DD -V T ΔV
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 43
3T-DRAM — Layout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 44
1-Transistor DRAM Cell
BL
WL Write "1" R ead "1"
WL
M1 CS X GN D V DD − V T
VD D
BL
V D D /2 V DD /2
C BL sensing
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 45
DRAM Cell Observations
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 46
1-T DRAM Cell
Capacitor
(b) Layout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 47
Advanced 1T DRAM Cells
Word line
Cell plate Capacitor dielectric layer
Insulating Layer
Cell Plate Si
Si Substrate
2nd Field Oxide
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 48
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 49
Periphery
Decoders
Sense amplifiers
Input/output buffers
Control/timing circuit
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 50
Row Decoders
(N)AND Decoder
NOR Decoder
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 51
A NAND Decoder using 2-input Pre-Decoders
WL 1
WL 0
A 0A 1 A 0 A 1 A 0 A 1 A 0A 1 A 2A 3 A 2 A 3 A 2 A 3 A 2 A 3
A1 A 0 A0 A1 A3 A2 A2 A3
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 52
Dynamic Decoders
WL 3
WL 3 VDD
WL 2
WL 2 VDD
WL 1 WL 1
VDD
WL 0 WL 0
VDD φ A0 A0 A1 A1 A0 A0 A1 A1 φ
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 53
4 input Pass-Transistor based Column Decoder
BL 0 BL 1 BL 2 BL 3
S0
S2
A1
S3
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 54
4-to-1 Tree based Column Decoder
BL 0 BL 1 BL 2 BL 3
A0
A0
A1
A1
D
Number of devices drastically reduced
Delay increases quadratically with # of sections; prohibitive for large decoders
Solutions: buffers
progressive sizing
combination of tree and pass transistor approaches
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 55
Decoder for Circular Shift-Register
V DD V DD V DD V DD V DD V DD
WL 0 WL 1 WL 2
φ φ φ φ φ φ
...
R φ φ R φ φ R φ φ
V DD
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 56
Sense Amplifiers
make ΔV as small
C ⋅ ΔV as possible
tp = ----------------
Iav
large small
small
transition s.a.
input output
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 57
Differential Sensing - SRAM
VDD VDD
V DD PC VDD
y M3 M4 y
x M1 M2 x x x
BL BL
EQ
SE M5 SE
WLi
(b) Doubled-ended Current Mirror Amplifier
VDD
SRAM cell i
y y
Diff.
x Sense x x x
Amp
y y
D D SE
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 58
Latch-Based Sense Amplifier
EQ
BL BL
VD D
SE
SE
WL
BL
x Diff. x
+
S.A. _ V re f
cell
y y
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 60
Open Bitline Architecture
EQ
R L1 L0 R0 R1 L
VDD
SE
BLL BLR
... ...
CS CS CS SE CS CS CS
dum my dummy
cell cell
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 61
DRAM Read Process with Dummy Cell
6.0
4.0
V (Volt)
BL
2.0 BL
5.0
0.0 0 4.0 WL
1 2 3 4 5
V (Volt)
t (nsec) 3.0 SE
(a) reading a zero
2.0 EQ
6.0 1.0
0.00 1 2 3 4 5
4.0
V (Volt)
0.0 0 1 2 3 4 5
t (nsec)
(b) reading a one
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 62
Single-Ended Cascode Amplifier
VDD
V cas c
WLC
WL
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 63
DRAM Timing
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 64
Address Transition Detection
V DD
DELAY
A0 td
ATD A TD
DELAY
A1 td
...
DELAY
A N-1 td
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 65
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 66
Content Addressable Memories (CAMs)
adr data/key
read
CAM match
write
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 67
CAM Cell Operation
row decoder
address match0
Miss line
match1
• Pseudo-nMOS NOR of match lines
• Goes high if no words match match2
match3
read/write column circuitry
data
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 68
10T CAM Cell
bit bit_b
word
cell
cell_b
match
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 69
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 70
Serial Access Memories
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 71
Shift Register
clk
Din Dout
8
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 72
Denser Shift Registers
Din
clk
readaddr
counter
00...00
dual-ported
SRAM
counter
writeaddr
11...11
reset
Dout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 73
Tapped Delay Line
clk
SR32
SR16
SR8
SR4
SR2
SR1
Din Dout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 74
Serial In Parallel Out
clk
Sin
P0 P1 P2 P3
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 75
Parallel In Serial Out
P0 P1 P2 P3
shift/load
clk
Sout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 76
Queues
WriteClk ReadClk
FULL EMPTY
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 77
FIFO, LIFO Queues
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 78
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Content Addressable Memory (CAM)
Serial access memories
Programmable Logic Arrays
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 79
Programmable Logic Array
Pr oduct Terms
x0x1
A ND x2 OR
PLA NE PLA NE
f0 f1
x0 x1 x2
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 80
PLAs
Outputs: OR of Minterms bc
ac
ab
Example: Full Adder
Minterms
abc
abc
s = abc + abc + abc + abc abc
abc
cout = ab + bc + ac
a b c s cout
Inputs Outputs
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 81
NOR-NOR PLAs
bc bc
ac ac
ab ab
abc abc
abc abc
abc abc
abc abc
a b c a b c
s cout s cout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 82
Pseudo-Static PLA
VD D
GND GND GND GND
GND
GND
GND
VDD f0 f1
x0 x0 x1 x1 x2 x2
AND-PLANE OR-PLANE
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 83
PLA Schematic & Layout
bc
ac
ab
abc
abc
abc
abc
a b c
s cout
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 84
Dynamic PLA
φ A ND
GND VDD
φ OR
φO R
φAND
V DD f0 f1 GND
x0 x0 x1 x1 x2 x2
AND-PLANE O R-PLANE
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 85
Clock Signal Generation for self-timed dynamic PLA
φ φ φ AN D
φAN D
φAN D φOR
Dummy AND Row
φOR
And-Plane Or-Plane
V DD φ GND
x0 x0 x1 x1 x2 x2 f0 f1
Pull-up devices Pull-up devices
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 87
PLA versus ROM
IDENTICAL TO ROM!
Main difference
ROM: fully populated
PLA: one element per minterm
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 88
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Serial access memories
Content Addressable Memory (CAM)
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 89
Reliability and Yield
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 90
Open Bit-line Architecture —Cross Coupling
EQ
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 91
Folded-Bitline Architecture
BL CBL x y
... Sense
C C C C C C
EQ Amplifier
BL CBL x y
CWBL
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 92
Transposed-Bitline Architecture
BL’
Ccross
BL
SA
BL
BL"
BL’
Ccross
BL
SA
BL
BL"
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 93
Yield
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 94
Redundancy
Row
Address
Redundant
rows
Fuse
:
Bank
Redundant
columns
Row Decoder
Memory
Array
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 95
Redundancy and Error Correction
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 96
Outline
Memory classification
Basic building blocks
ROM
Non Volatile Read Write Memories
Static RAM (SRAM)
Dynamic RAM (DRAM)
Memory peripheral circuit
Serial access memories
Content Addressable Memory (CAM)
Programmable Logic Array
Reliability and Yield
Memory trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 97
Semiconductor Memory Trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 98
Semiconductor Memory Trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 99
Semiconductor Memory Trends
Memory and Array Circuits Introduction to Digital Integrated Circuit Design Lecture 7 - 100