44
1 Reference: Chapter 11 Memories CMOS VLSI Design—A Circuits and Systems Perspective by H.E.Weste and D.M.Harris CENG 4480 L09 Memory 2 Bei Yu

CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

1

Reference:• Chapter 11 Memories• CMOS VLSI Design—A Circuits and Systems Perspective

• by H.E.Weste and D.M.Harris

CENG 4480L09 Memory 2

Bei Yu

Page 2: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

CENG4480 v.s. CENG3420

• CENG3420:✦ architecture perspective✦ memory coherent✦ data address

• CENG4480: more details on how data is stored

2

Page 3: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Memory Arrays

Random Access Memory Serial Access Memory Content Addressable Memory(CAM)

Read/Write Memory(RAM)

(Volatile)

Read Only Memory(ROM)

(Nonvolatile)

Static RAM(SRAM)

Dynamic RAM(DRAM)

Shift Registers Queues

First InFirst Out(FIFO)

Last InFirst Out(LIFO)

Serial InParallel Out

(SIPO)

Parallel InSerial Out

(PISO)

Mask ROM ProgrammableROM

(PROM)

ErasableProgrammable

ROM(EPROM)

ElectricallyErasable

ProgrammableROM

(EEPROM)

Flash ROM

Memory Arrays

3

Page 4: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Storage based on Feedback• What if we add feedback to a pair of inverters?

• Usually drawn as a ring of cross-coupled inverters

• Stable way to store one bit of information (w. power)

4

0 01

1

1 0

0

Page 5: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

How to change the value stored?• Replace inverter with NAND gate

• RS Latch

5

A B A nand B0 0 10 1 11 0 11 1 0

S

R

Q

1

1 0

0

Page 6: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

12T SRAM Cell• Basic building block: SRAM Cell

✦ Holds one bit of information, like a latch✦ Must be read and written

• 12-transistor (12T) SRAM cell✦ Use a simple latch connected to bitline✦ 46 x 75 λ unit cell

6

bit

write

write_b

read

read_b

Page 7: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

nMOS, pMOS, Inverter

7

• nMOS:✦ Gate = 1, transistor is ON✦ Then electric current path

• pMOS:✦ Gate = 0, transistor is ON✦ Then electric current path

• Inverter:✦ Q = NOT (A)

Page 8: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

6T SRAM Cell• Used in most commercial chips

• A pair of weak cross-coupled inverters

• Data stored in cross-coupled inverters

• Compared with 12T SRAM, 6T SRAM:✦ (+) reduce area✦ (-) much more complex control

8

bit bit_b

word

Page 9: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

6T SRAM Read

• Precharge both bitlines high

• Then turn on wordline

• One of the two bitlines

will be pulled down by the cell

• Read stability– A must not flip– N1 >> N2

9

bit bit_b

N1

N2P1

A

P2

N3

N4

A_b

word

0.0

0.5

1.0

1.5

0 100 200 300 400 500 600time (ps)

word bit

A

A_b bit_b

Page 10: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

EX: 6T SRAM Read• Question 1: A = 0, A_b = 1, discuss the behavior:

• Question 2: At least how many bit lines to finish read?–

10

bit bit_b

N1

N2P1

A

P2

N3

N4

A_b

word

Page 11: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

6T SRAM Write• Drive one bitline high, the other low

• Then turn on wordline

• Bitlines overpower cell with new value

• Writability– Must overpower feedback inverter– N4 >> P2– N2 >> P1 (symmetry)

11time (ps)

word

A

A_b

bit_b

0.0

0.5

1.0

1.5

0 100 200 300 400 500 600 700

bit bit_b

N1

N2P1

A

P2

N3

N4

A_b

word

Page 12: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

EX: 6T SRAM Write• Question 1: A = 0, A_b = 1, discuss the behavior:

• Question 2: At least how many bit lines to finish write?–

12

bit bit_b

N1

N2P1

A

P2

N3

N4

A_b

word

Page 13: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

6T SRAM Sizing

• High bitlines must not overpower inverters during reads

• But low bitlines must write new value into cell

13

bit bit_b

med

A

weak

strong

med

A_b

word

Page 14: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Memory Arrays

Random Access Memory Serial Access Memory Content Addressable Memory(CAM)

Read/Write Memory(RAM)

(Volatile)

Read Only Memory(ROM)

(Nonvolatile)

Static RAM(SRAM)

Dynamic RAM(DRAM)

Shift Registers Queues

First InFirst Out(FIFO)

Last InFirst Out(LIFO)

Serial InParallel Out

(SIPO)

Parallel InSerial Out

(PISO)

Mask ROM ProgrammableROM

(PROM)

ErasableProgrammable

ROM(EPROM)

ElectricallyErasable

ProgrammableROM

(EEPROM)

Flash ROM

Memory Arrays

14

Page 15: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Dynamic RAM (DRAM)

• Basic Principle: Storage of information on capacitors

• Charge & discharge of capacitor to change stored value

• Use of transistor as “switch” to:✦ Store charge✦ Charge or discharge

15

Page 16: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

4T DRAM Cell

16

Data must be refreshed regularlyDynamic cells must be designed very carefullyData stored as charge on gate capacitors (complementary nodes)

Remove the twop-MOS transistors from static RAM cell,to get a four-transistordynamic RAM cell.

Page 17: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

3T DRAM CellNo constraints on device ratios

Reads are non-destructive

Value stored at node X when writing a “1” = VDD-VT

17

VDD-VT

Page 18: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

3T DRAM Layout

• 576 λ 3T DRAM v.s. 1092 λ 6T SRAM

• Further simplified

18

[1970: Intel 1003]

Page 19: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

1T DRAM Cell

19

(a) (c)

(f) (g)

Select

B TC

DRAM cell

To Pump

(b)

(d) (e)

Stored 1 Stored 0

Write 1 Write 0

Read 1 Read 0

• Need sense amp helping reading

Page 20: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

• Read:✦ Pre-charge large tank to VDD/2✦ If Ts = 0, for large tank : VDD/2 - V1✦ If Ts = 1, for large tank: VDD/2 + V1✦ V1 is very insignificant✦ Need sense amp

20

(a) (c)

(f) (g)

Select

B TC

DRAM cell

To Pump

(b)

(d) (e)

Stored 1 Stored 0

Write 1 Write 0

Read 1 Read 0

Page 21: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

1T DRAM CellWrite: Cs is charged or discharged by asserting WL and BL

Read: Charge redistribution takes place between bit line and storage capacitance

Voltage swing is small; typically around 250 mV

21

Trench-capacitor cell [Mano87]

Page 22: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

EX. 1T DRAM Cell• Question: VDD=4V, CS=100pF, CBL=1000pF. What’s

the voltage swing value?

• Note:

22

�V = VDD2 · CS

CS+CBL

Page 23: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

SRAM v.s. DRAMStatic (SRAM) • Data stored as long as supply is applied • Large (6 transistors/cell) • Fast • Compatible with current CMOS manufacturing

Dynamic (DRAM) • Periodic refresh required• Small (1-3 transistors/cell) • Slower • Require additional process for trench capacitance

23

Page 24: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Array Architecture• 2^n words of 2^m bits each

• Good regularity – easy to design

24

•••

k ="2nlocations

m bits

Page 25: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

SRAM Memory Structure

25

n

D D D.$.$.

D D D.$.$.

D D D.$.$.

.$.$.

m

Memory$Data$Out

mMemory$Data$In

Read$Address$Decoder

Memory$Read$Address

n

Write$Address$Decoder

Memory$WriteAddress

GatedD8latch

D Q

WERead$bitlines

Write$bitlines

Write$word$line

Read$word$line

.$.$.

.$.$.

WE

• Latch based memory

Page 26: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Array Architecture• 2^n words of 2^m bits each

• How to design if n >> m?

• Fold by 2k into fewer rows of more columns

26

row decoder

columndecoder

n

n-kk

2m bits

columncircuitry

bitline conditioning

memory cells:2n-k rows x2m+k columns

bitlines

wordlines

Page 27: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Decoders• n:2n decoder consists of 2n n-input AND gates

– One needed for each row of memory– Build AND with NAND or NOR gates

Static CMOS Using NOR gates

27

word0

word1

word2

word3

A0A1

word0

word1

word2

word3

Page 28: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

EX. Decoder• Question: AND gates => NAND gate structure

28

word0

word1

word2

word3

A0A1

Page 29: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Large Decoders• For n > 4, NAND gates become slow

– Break large gates into multiple smaller gates

29

word0

word1

word2

word3

word15

A0A1A2A3

Page 30: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Predecoding• Many of these gates are redundant

– Factor out common gates– => Predecoder– Saves area– Same path effort

• Question: How many NANDs can be saved?

30

A0

A1

A2

A3

word1

word2

word3

word15

word0

1 of 4 hotpredecoded lines

predecoders

Page 31: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Decoder Layout• Decoders must be pitch-matched to SRAM cell

– Requires very skinny gates

31

GND

VDD

word

buffer inverterNAND gate

A0A0A1A2A3 A2A3 A1

Page 32: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Column Circuitry• Some circuitry is required for each column

– Bitline conditioning– Column multiplexing– *Sense amplifiers (DRAM)

32

row decoder

columndecoder

n

n-kk

2m bits

columncircuitry

bitline conditioning

memory cells:2n-k rows x2m+k columns

bitlines

wordlines

Page 33: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Bitline Conditioning• Precharge bitlines high before reads

• Equalize bitlines to minimize voltage difference when using sense amplifiers

33

φbit bit_b

φ

bit bit_b

Page 34: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Twisted Bitlines• Sense amplifiers also amplify noise

– Coupling noise is severe in modern processes– Try to couple equally onto bit and bit_b– Done by twisting bitlines

34

b0 b0_b b1 b1_b b2 b2_b b3 b3_b

Page 35: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*SRAM Column Example

Read Write

35

H H

SRAM Cell

word_q1

bit_v1f

bit_b_v1f

out_v1rout_b_v1r

φ1

φ2

word_q1

bit_v1f

out_v1r

φ2

MoreCells

Bitline Conditioning

φ2

MoreCells

SRAM Cell

word_q1

bit_v1f

bit_b_v1f

data_s1

write_q1

Bitline Conditioning

Page 36: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Column Multiplexing

• Recall that array may be folded for good aspect ratio

• Ex: 2 kword x 16 folded into 256 rows x 128 columns– Must select 16 output bits from the 128

columns– Requires 16 8:1 column multiplexers

36

Page 37: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Ex: 2-way Muxed SRAM

37

MoreCells

word_q1

write0_q1

φ2

MoreCells

A0

A0

φ2

data_v1

write1_q1

Page 38: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Tree Decoder Mux• Column mux can use pass transistors

– Use nMOS only, precharge outputs

• One design is to use k series transistors for 2k:1 mux– No external decoder logic needed

38

B0 B1 B2 B3 B4 B5 B6 B7 B0 B1 B2 B3 B4 B5 B6 B7A0

A0

A1

A1

A2

A2

Y Yto sense amps and write circuits

Page 39: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*SRAM from ARM

39

Page 40: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Sense Amp Operation for 1T DRAM

• 1T DRAM read is destructive

• Read and refresh for 1T DRAM

40

Page 41: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Sense Amplifiers (DRAM)• Bitlines have many cells attached

– Ex: 32-kbit SRAM has 256 rows x 128 cols– 256 cells on each bitline

• tpd ∝ (C/I) ΔV– Even with shared diffusion contacts, 64C of diffusion

capacitance (big C)– Discharged slowly through small transistors (small I)

• Sense amplifiers are triggered on small voltage swing (reduce ΔV)

41

Page 42: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Differential Pair Amp• Differential pair requires no clock

• But always dissipates static power

42

bit bit_bsense_b sense

N1 N2

N3

P1 P2

Page 43: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

*Clocked Sense Amp• Clocked sense amp saves power

• Requires sense_clk after enough bitline swing

• Isolation transistors cut off large bitline capacitance

43

bit_bbit

sense sense_b

sense_clk isolationtransistors

regenerativefeedback

Page 44: CENG 4480 L09 Memory 2 - Chinese University of Hong Kong · CENG4480 L09. Memory-2 *Tree Decoder Mux • Column mux can use pass transistors – Use nMOS only, precharge outputs •

L09. Memory-2CENG4480

Thank You :-)

44