Professional Documents
Culture Documents
Memory Design
Memory Design
Memory Types
g
Memoryy Organization
ROM design
g
RAM design
PLA design
James Morizio
Semiconductor Memory
Classification
Read-Write Memory
Non-Volatile
Read-Write
Read-Only Memory
Memory
Random
Access
Non-Random
Access
EPROM
2
E PROM
SRAM
FIFO
DRAM
LIFO
Mask-Programmed
P
Programmable
bl (PROM)
FLASH
Shift Register
CAM
ECE 261
James Morizio
M
Memory
Timing:
Ti i
Definitions
D fi i i
Read cycle
y
READ
Read access
Read access
Write cycle
WRITE
Write access
Data valid
DATA
Data written
ECE 261
James Morizio
Memory
y Architecture:
Decoders
M bits
S0
M bits
S0
Word 0
S1
Word 1
S2
Word 2
Storage
cell
Word 0
A0
Word 1
A1
Word 2
A K2
words
N SN 2
SN 2
Word N 2 2
Decoder Word N 2 2
Word N 2 1
Word N 2 1
Storage
cell
K 5 log2N
Input-Output
Input-Output
(M bits)
(M bits)
Intuitive architecture for N x M memory Decoder reduces the number of select signals
Too many select signals:
K = log2N
N words
d == N select
l t signals
i
l
ECE 261
James Morizio
Storage cell
Row Decoder
AK
Bit line
A K1 1
AL2 1
Word line
M.2K
Sense amplifiers / Drivers
A0
A K2 1
Column decoder
Amplify swing to
rail-to-rail amplitude
Selects appropriate
word
p
p
Input-Output
(M bits)
ECE 261
James Morizio
Block i
Block P 2 1
Row
address
dd
Column
address
Block
address
Block selector
Global
amplifier/driver
I/O
Advantages:
1. Shorter wires within blocks
2. Block address activates only 1 block => power savings
ECE 261
James Morizio
R d O l Memory
Read-Only
M
Cells
C ll
BL
BL
BL
VDD
WL
WL
WL
BL
WL
BL
BL
WL
WL
0
GND
Diode ROM
ECE 261
MOS ROM 1
James Morizio
MOS ROM 2
MOS OR ROM
BL[0]
BL[1]
BL[2]
BL[3]
WL[0]
V DD
WL[1]
WL[2]
V DD
WL[3]
V bias
Pull-down loads
ECE 261
James Morizio
ROM Example
4-word x 6-bit ROM
Word 0: 010101
A1 A0
Word 1: 011001
Word 2: 100101
Word 3: 101010
2:4
DEC
ROM Arrayy
Y5
Y4
Y3
Y2
Y1
Y0
Looks like 6 4
4-input
input pseudo
pseudo-nMOS
nMOS NORs
ECE 261
James Morizio
WL[0]
GND
WL [1]
WL [2]
GND
WL [3]
BL [0]
ECE 261
BL [1]
BL [2]
James Morizio
BL [3]
10
Polysilicon
Metal1
Diffusion
Metal1 on Diffusion
ECE 261
James Morizio
11
Programmming using
the Contact Layer Only
Polysilicon
Metal1
Diffusion
Metal1 on Diffusion
ECE 261
James Morizio
12
BL[1]
BL[2]
BL[3]
WL [0]
WL [1]
WL [2]
WL [3]
James Morizio
13
Programmming
P
i using
i
the Metal-1 Layer Only
No contact to VDD or GND necessary;
drastically reduced cell size
Loss in performance compared to NOR ROM
Polysilicon
Diffusion
Metal1 on Diffusion
ECE 261
James Morizio
14
Polysilicon
Threshold-altering
implant
Metal1 on Diffusion
ECE 261
James Morizio
15
Decreasing
g Word Line Delayy
Driver
WL
WL
K cells
ECE 261
James Morizio
16
Precharged
g MOS NOR ROM
f
V DD
pre
Precharge devices
WL [0]
GND
WL [1]
WL [2]
GND
WL [3]
BL [0]
BL [1]
BL [2]
BL [3]
James Morizio
17
DYNAMIC (DRAM)
Periodic refresh required
Small (1-3 transistors/cell)
Slower
Single Ended
ECE 261
James Morizio
18
M4
Q
Q
M1
M3
BL
ECE 261
M6
BL
James Morizio
19
6T-SRAM Layout
M2
VDD
M4
Q
M1
M3
GND
M5
BL
ECE 261
M6
WL
BL
James Morizio
20
ECE 261
James Morizio
21
BL 2
WWL
WWL
RWL
M3
X
M1
CS
M2
RWL
X
BL 1
BL 2
James Morizio
22
3T-DRAM Layout
BL2
BL1
GND
RWL
M3
M2
WWL
M1
ECE 261
James Morizio
23
WL
Read 1
WL
M1
V DD 2 V T
X GND
CS
V DD
BL
V DD /2
V /2
sensing DD
CBL
James Morizio
24
ECE 261
James Morizio
25
M 1 word
line
SiO2
Poly
n+
Field Oxide
n+
Poly
Inversion layer
induced by
plate bias
Diffused
bit line
Polysilicon
gate
Cross-section
Cross
section
Polysilicon
plate
Layout
James Morizio
26
Periphery
p y
Decoders
Sense Amplifiers
p
Input/Output Buffers
Control / Timing Circuitry
ECE 261
James Morizio
27
R D
Row
Decoders
d
Collection of 2M complex logic gates
Organized in regular and dense fashion
(N)AND Decoder
NOR Decoder
ECE 261
James Morizio
28
Hierarchical Decoders
Multi-stage implementation improves performance
WL 1
WL 0
A 0A 1 A 0A 1 A 0A 1 A 0A 1
A 2A 3 A 2A 3 A 2A 3 A 2A 3
ECE 261
A0
A1
A3 A2
A2
A3
James Morizio
29
D namic Decoders
Dynamic
Precharge devices
GND
VDD
GND
WL3
VDD
WL 3
WL 2
WL 2
VDD
WL 1
WL 1
V DD
WL 0
WL 0
VDD
A0
A0
A1
A1
ECE 261
A0
A0
A1
A1
James Morizio
30
A1
A1
James Morizio
31
Main difference
ROM: fully populated
PLA: one element per minterm
Note: Importance
p
of PLAs has drastically
y reduced
1. slow
2. better software techniques (mutli-level logic
synthesis)
B t
But
ECE 261
James Morizio
32
GND
GND
V DD
GND
GND
GND
GND
V DD
X0
X0
X1
X1
X2
X2
AND-plane
ECE 261
f0
f1
OR-plane
James Morizio
33
Dynamic PLA
f AND
V DD
GND
OR
OR
f AND
V DD
X0
X0
X1
X1
X2
X2
AND-plane
AND
plane
ECE 261
f0
f 1 GND
OR-plane
OR
plane
James Morizio
34
PLA Layout
VDD
And-Plane
x0 x0 x1 x1 x2 x2
Pull-up devices
ECE 261
James Morizio
Or-Plane
GND
f0 f1
Pull-up devices
35
CAMs
Extension
E t i off ordinary
di
memory ((e.g. SRAM)
Read and write memory as usual
Also match to see which words contain a key
adr
data/key
read
CAM
match
write
ECE 261
James Morizio
36
bit b
bit_b
word
cell_b
cell
match
ECE 261
James Morizio
37
address
clk
weak
miss
match0
row decoder
CAM cell
match1
match2
match3
read/write
Miss line
column circuitry
data
James Morizio
38