Memory
Memory
Memory
Can be categorized into:
• Read Write Memory (RWM)
• Random Access Memory (RAM): static SRAM (faster) verses dynamic
DRAM (smaller) structures possible. Access time independent of
physical location of data.
• Non-RAM: Serial Access Memory (FIFO, LIFO, Shift register) and Con-
tent Access Memory (CAM). Non-uniform access time.
• Non-volatile Read Write Memory (NVRWM): write time much larger than
read time.
• EPROM, E2PROM, FLASH
• Read Only Memory (ROM)
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
1 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Memory Architecture
In order to build an N-word memory where each word is M bits wide (typi-
cally 1, 4 or 8 bits), a straightforward approach is to stack memory:
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
2 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Memory Architecture
Add a decoder to solve the package problem:
S0
Binary encoded address
Word 0
S1
A0 Word 1
S2 Storage cell
A1 Word 2
Decoder
A2
This reduces the
AK-1 number of external
SN-2 address pins from
Word N-2 1M to 20.
SN-1
Word N-1
K = log2N
one-hot Input-Output
(M bits)
This does not address the memory aspect ratio problem:
The memory is 128,000 time higher than wide (220/23) !
Besides the bizarre shape factor, the design is extremely slow since the ver-
tical wires are VERY long (delay is at least linear to length).
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
3 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Memory Architecture
The vertical and horizontal dimensions are usually very similar, for an aspect
ratio of unity.
Multiple words are stored in each row and selected simultaneously:
Row address = S0 Bit line
AK to AL-1 S1 Storage cell
AK S2
Row Decoder
AK+1
AK+2 Word line
AL-1
SN-2
SN-1
Column address =
A0 to AK-1 A0
Column decoder Sense amps
AK-1 and drivers
not shown
A column decoder is added to
select the desired word from a row. Input-Output
(M bits)
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
4 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Memory Architecture
This strategy works well for memories up to 64 Kbits to 256 Kbits.
Larger memories start to suffer excess delay along bit and word lines.
A third dimension is added to the address space to solve this problem:
Block 0 Block i Block P-1
Row
Address
Column
Address
Block
Block selector
Address
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
5 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Memory: Architecture
An example:
2m+k bits
Ak
Row decoder
Ak+1
Row decoder
2n-k
Row decoder bits
An-1
Row decoder
A0
Column decoder column mux, sense amp, write buffers
Ak-1
[An-1..Ak][Ak-1..A0]
For example: Let N = 1,048,576 and M = 8 bits for a 1 million byte memory.
n = log2N = 20, k = 8 and m = log2M = 3.
Then there are 2n-k rows = 212 = 4096 and 2k+m columns/23 bits per word = 28
= 256 words.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
6 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
ROM
ROM cells are permanently fixed: Several possibilities:
BL BL BL
WL WL WL
1
psuedo n-MOS
BL NOR gate.
WL WL
WL BL
0
Resistance of
n/p should be
at least 4.
Diode supplies current BJT supplies current p-MOS used to hold
to raise BL (bitline) for to raise BL for each BL high. n-MOS
all cells on the row. cell on the row. Requires provides pull-down
VDD to be routed. path.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
7 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
8 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
• EPROM:
UV light renders oxide slightly conductive.
Erase is slow (seconds to several minutes).
Programming is slow (5-10 microsecs per word).
Limited number of programming cycles - about 1000.
Very dense - single transistor functions as both the programming and
access device.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
9 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
n+ thin tunneling ox n+
Substrate
BL
WL Threshold control becomes a problem:
Removing too much charge results in a
VDD depletion device that cannot be turned off.
Remedy: Add an access transistor.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
10 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
n+ - - programming n+
Substrate
Programming performed by applying 12V to gate and drain.
Erasure performed with gate grounded and source at 12V.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
11 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
VDD
word line
bit bit
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
12 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
RAM cell
row decoder
n-1;k
word line
column decoder
k-1;0 Sense Amp
Column Mux
Write Buffers
Address
read-data write-data
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
13 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
precharge
word
data
data
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
14 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
N5 N6
0 write-data
write
cell
N3 cell Pbit N4 word
1->0 0->1
word
bit, bit
bit bit
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
15 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Single-write-port, double-read-port
Overpowers 2/2
weak feedback
4/1
inverter
2/3 4/1
4/1
4/1 Adv: No
matter
4/1 what the
2/1
load, cell
cannot be
decode
addr<3:0> 8/1 Biased toward flipped.
VSS to help write.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
16 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
word line
bit bit
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
17 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
write
X
Note that this read
cell is inverting
X
write
read bit1
bit1 bit2
bit2 is either clamped to VDD or VDD-VT
is precharged to either VDD or VDD-VT. bit2
V
No device ratioing necessary here !
Most common method of refresh is to read bit2, place its inverse on bit1 and
assert write.
Precharge method of ’setting’ bit2 is preferred (no steady-state current).
Memory structure of choice in ASICs because of its relative simplicity in both
design and operation.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
18 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Cx
V = Vbit - Vpre = (Vx - Vpre)
(Cx + Cbit)
During read operation, charge redistribution occurs between node X and
node bit.
Cx is typically 1 or 2 orders of magnitude smaller than Cbit so the delta-V
value is typically 250 mV.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
19 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
Vpre
V(0)
Word-line activated
• 1T transistor requires an explicit capacitor (3T used gate capacitance).
Capacitance must be large (~30fF) but area small - key challenge in design.
• Bootstrapping word-line to a value larger than VDD circumvents VT loss on
storage capacitor.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
20 (12/8/04)
RE COUNT
UN
1966
Advanced VLSI Design Memory CMPE 640
word line
SRAM
with extra Each bit of the word
n-channels cell cell
is tied to the match line.
to implement
XOR function. match
Dynamic or Pseudo n-MOS
implementations possible.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
21 (12/8/04)
RE COUNT
UN
1966