Memory RWM NVRWM ROM Random Non-Random EPROM Mask-Programmed - - PDF document

memory
SMART_READER_LITE
LIVE PREVIEW

Memory RWM NVRWM ROM Random Non-Random EPROM Mask-Programmed - - PDF document

Memory RWM NVRWM ROM Random Non-Random EPROM Mask-Programmed Access Access E 2 PROM Programmable (PROM) FLASH FIFO SRAM LIFO DRAM Shift Register CAM Memory Decoders M bits M bits S 0 S 0 Word 0 Word 0 S 1 Word 1 Word 1 A 0 S


slide-1
SLIDE 1

1

Memory

RWM NVRWM ROM EPROM E2PROM FLASH Random Access Non-Random Access SRAM DRAM Mask-Programmed Programmable (PROM) FIFO Shift Register CAM LIFO

Memory Decoders

Word 0 Word 1 Word 2 Word N-1 Word N-2 Input-Output S0 S1 S2 SN-2 SN_1 (M bits) Storage Cell M bits N Words Word 0 Word 1 Word 2 Word N-1 Word N-2 Input-Output (M bits) Storage Cell M bits Decoder A0 A1 AK-1 S0

N words => N select signals Too many select signals Decoder reduces # of select signals K = log2N

slide-2
SLIDE 2

2

Array-Structured Memory

Input-Output (M bits) Row Decoder AK AK+1 AL-1 2L-K Column Decoder Bit Line Word Line A0 AK-1 Storage Cell Sense Amplifiers / Drivers M.2K

Problem: ASPECT RATIO or HEIGHT >> WIDTH

Amplify swing to rail-to-rail amplitude Selects appropriate word

Array Decoding

slide-3
SLIDE 3

3

Hierarchical Memory Arrays

Global Data Bus Row Address Column Address Block Address Block Selector Global Amplifier/Driver I/O Control Circuitry Advantages:

  • 1. Shorter wires within blocks
  • 2. Block address activates only 1 block => power savings

Memory Timing Definitions

READ WRITE DATA Read Access Read Access Read Cycle Data Valid Data Written Write Access Write Cycle

slide-4
SLIDE 4

4

Memory Timing Approaches

Address Bus RAS CAS RAS-CAS timing Address Bus Address Address transition initiates memory operation

DRAM Timing SRAM Timing

Row Address Column Address

MSB LSB

Multiplexed Adressing Self-timed

Example: HM6264 8kx8 SRAM

slide-5
SLIDE 5

5

HM6264 Interface Function Table

slide-6
SLIDE 6

6

Timing Read Cycle 1

slide-7
SLIDE 7

7

Read Cycle 1

85ns min 85ns max 85ns max 85ns max 10ns min 10ns min 5ns min 45ns max 10ns min 30ns min 30ns min 30ns min

Read Cycle 2

slide-8
SLIDE 8

8

Read Cycle 2

85ns max 10ns min 10ns min

Write Timing

slide-9
SLIDE 9

9

Write Cycle Write Cycle

85ns min 75ns min 0ns min 75ns min 0ns min 55ns min 0ns min, 30ns max 40ns min 0ns min

slide-10
SLIDE 10

10

What Does All This Mean

For a read:

If you assert CS1, CS2, address, and OE all at the same time, it will be max 85ns before valid data are available at chip outputs

For a write:

You can assert CS1, CS2, address, data, and WE all at the same time if you want to You need to wait 55ns from WE edge, or 75ns from CS1/CS2 edge for write to have happened

R/W Memories In General

  • STATIC (SRAM)
  • DYNAMIC (DRAM)

Data stored as long as supply is applied Large (6 transistors/cell) Fast Differential Periodic refresh required Small (1-3 transistors/cell) Slower Single Ended

slide-11
SLIDE 11

11

SRAM Circuits SRAM Cell, Transistors

slide-12
SLIDE 12

12

SRAM, Resistive Pullups Array-Structured Memory

Input-Output (M bits) Row Decoder AK AK+1 AL-1 2L-K Column Decoder Bit Line Word Line A0 AK-1 Storage Cell Sense Amplifiers / Drivers M.2K

Problem: ASPECT RATIO or HEIGHT >> WIDTH

Amplify swing to rail-to-rail amplitude Selects appropriate word

slide-13
SLIDE 13

13

Memory Column

Each column has all the support circuits

Reading the Bit

Single-ended read using an inverter Dynamic pre-charge on the bit lines

P-types pull bit lines high

slide-14
SLIDE 14

14

Reading the Bit 2

Single-ended read using an inverter Dynamic pre-charge on the bit lines

Note the N-types used as pull-ups

Reading the Bit 3

Differential read using sense amp Static N-type pullup on the bit lines

slide-15
SLIDE 15

15

Read Waveforms Sense Amp

slide-16
SLIDE 16

16

Sense Amp Transistors Column Organization

slide-17
SLIDE 17

17

Write Circuits Write Circuit Simulation

slide-18
SLIDE 18

18

Analog Sim, Circuit

VDD Q Q M1 M3 M4 M2 M5 BL WL BL M6

Analog Analysis, Write

VDD Q = 1 Q = 0 M1 M4 M5 BL = 1 WL BL = 0 M6 VDD

kn M6

,

VDD VTn – ( ) VDD 2

  • VDD

2

8

⎝ ⎠ ⎛ ⎞ kp M4

,

VDD VTp – ( ) VDD 2

  • VDD

2

8

⎝ ⎠ ⎛ ⎞ = kn M5

,

2

  • VDD

2

  • VTn

VDD 2

⎠ ⎛ ⎞ – ⎝ ⎠ ⎛ ⎞

2

kn M1

,

VDD VTn – ( ) VDD 2

  • VDD

2

8

⎝ ⎠ ⎛ ⎞ =

(W/L)n,M5 ≥ 10 (W/L)n,M1 (W/L)n,M6 ≥ 0.33 (W/L)p,M4

slide-19
SLIDE 19

19

Analog Analysis, Read

VDD Q = 1 Q = 0 M1 M4 M5 BL WL BL M6 VDD VDD VDD Cbit Cbit kn M5

,

2

  • VDD

2

  • VTn

VDD 2

⎠ ⎛ ⎞ – ⎝ ⎠ ⎛ ⎞

2

kn M1

,

VDD VTn – ( ) VDD 2

  • VDD

2

8

⎝ ⎠ ⎛ ⎞ =

(W/L)n,M5 ≤ 10 (W/L)n,M1 (supercedes read constraint)

6T SRAM Layout

slide-20
SLIDE 20

20

Another 6T SRAM Layout SRAM bit from makemem (v1)

slide-21
SLIDE 21

21

SRAM bit from makemem (v2) Array-Structured Memory

Input-Output (M bits) Row Decoder AK AK+1 AL-1 2L-K Column Decoder Bit Line Word Line A0 AK-1 Storage Cell Sense Amplifiers / Drivers M.2K

Problem: ASPECT RATIO or HEIGHT >> WIDTH

Amplify swing to rail-to-rail amplitude Selects appropriate word

slide-22
SLIDE 22

22

Row Decoders

Select exactly one of the memory rows

Simple versions are just gates

Row Decoder Gates

Standard gates Or, pseudo-nmos gates with static pull up

Easier to make large fan-in NOR

slide-23
SLIDE 23

23

Pre-decode Row Decoder

Multiple levels of decoding can be more efficient layout

Pre-decode Row Decoder

Other circuit tricks for building row decoders…

slide-24
SLIDE 24

24

Array-Structured Memory

Input-Output (M bits) Row Decoder AK AK+1 AL-1 2L-K Column Decoder Bit Line Word Line A0 AK-1 Storage Cell Sense Amplifiers / Drivers M.2K

Problem: ASPECT RATIO or HEIGHT >> WIDTH

Amplify swing to rail-to-rail amplitude Selects appropriate word

Array-Structured Memory

slide-25
SLIDE 25

25

Sharing Sense Amps Sense Amp Mux

slide-26
SLIDE 26

26

Sense Amp Mux Decoded Column Decode

slide-27
SLIDE 27

27

Improving Speed, Power Multi-Port Memory

Very common to require multiple read ports

Think about a register file, for example

slide-28
SLIDE 28

28

Multi-Port Register

Re1 Re0

Slightly larger cell, but with single-ended read – makes a great register file

Register File

Slightly larger cell, but with single-ended read – makes a great register file

slide-29
SLIDE 29

29

Dynamic RAM

Get rid of the pull-ups!

Store info on capacitors Means that stored information leaks away

Dynamic RAM…

Once you agree to use a capacitor for charge storage there are other ways to build this…

slide-30
SLIDE 30

30

3T DRAM Circuit

M2 M1 BL1 WWL BL2 M3 RWL CS X WWL RWL X BL1 BL2 VDD-VT ΔV VDD VDD-VT

No constraints on device ratios Reads are non-destructive Value stored at node X when writing a “1” = VWWL-VTn

3T DRAM Layout

BL2 BL1 WWL RWL M1 M2 M3 GND

slide-31
SLIDE 31

31

1 T DRAM Circuit 2-T (1-T) DRAM layout

Note the increased gate size of the storage transistor

Increases the capacitance

slide-32
SLIDE 32

32

1T DRAM Observations

1T DRAM requires a sense amplifier for each bit line, due to charge redistribution read-out. DRAM memory cells are single ended in contrast to SRAM cells. The read-out of the 1T DRAM cell is destructive; read and refresh operations are necessary for correct operation. Unlike 3T cell, 1T cell requires presence of an extra capacitance that must be explicitly included in the design. When writing a “1” into a DRAM cell, a threshold voltage is lost. This charge loss can be circumvented by bootstrapping the word lines to a higher value than VDD.

1T DRAM Read/Write

CS M1 BL WL CBL WL X BL VDD−VT VDD/2 VDD

GND Write "1" Read "1" sensing VDD/2 ΔV VBL VPRE – VBIT VPRE – ( ) CS CS CBL +

  • =

=

Write: CS is charged or discharged by asserting WL and BL. Read: Charge redistribution takes places between bit line and storage capacitance Voltage swing is small; typically around 250 mV.

slide-33
SLIDE 33

33

1T DRAM Cell

“Folded bit line”

Array of DRAM Cells

“Folded Bit Line”

slide-34
SLIDE 34

34

Reading a 1T DRAM Cell

Charge Sharing

DRAM Sense Amp

slide-35
SLIDE 35

35

Photo of 1T DRAM Advanced DRAM Cells

Trench Capacitor Try to get more capacitance per unit area…

slide-36
SLIDE 36

36

Examples of Advanced DRAMs

Cell Plate Si Capacitor Insulator Storage Node Poly 2nd Field Oxide Refilling Poly Si Substrate

Trench Cell Stacked-capacitor Cell

Capacitor dielectric layer Cell plate Word line Insulating Layer Isolation Transfer gate Storage electrode

Memory Timing Approaches

Address Bus RAS CAS RAS-CAS timing Address Bus Address Address transition initiates memory operation

DRAM Timing SRAM Timing

Row Address Column Address

MSB LSB

Multiplexed Adressing Self-timed

slide-37
SLIDE 37

37

DRAM Interface Extended Data Out Page Mode

slide-38
SLIDE 38

38

Comments on Timing Architectural Issues

slide-39
SLIDE 39

39

SDRAM - Use CAS for Bursts DDR SDRAM

Double Data Rate

slide-40
SLIDE 40

40

DRAM Timing RAMBUS DRAM (RDRAM)

slide-41
SLIDE 41

41

RDRAM Bandwidth Maximum Bandwidth

slide-42
SLIDE 42

42

Normal Bus for DRAM DIMMs RDRAM Bus

slide-43
SLIDE 43

43

Deep Pipelining - High Latency RDRAM Addressing

slide-44
SLIDE 44

44

Row Activate Command RDRAM System Arch

slide-45
SLIDE 45

45

RDRAM Internal Arch Regular DRAM

slide-46
SLIDE 46

46

Single Bank DRAM Multi-Bank DRAM

slide-47
SLIDE 47

47

Peak Bandwidth ROM

slide-48
SLIDE 48

48

ROM

WL[0] WL[1] WL[2] WL[3] BL[0] BL[1] BL[2] BL[3] GND GND VDD Pull-up devices

ROM

slide-49
SLIDE 49

49

ROM ROM Layout

Metal1 on top of diffusion Basic cell 10 λ x 7 λ 2 λ WL[0] WL[1] WL[2] WL[3] GND (diffusion) Metal1 Polysilicon

Only 1 layer (contact mask) is used to program memory array Programming of the memory can be delayed to one of last process steps

slide-50
SLIDE 50

50

ROM Layout Precharged ROM

WL[0] WL[1] WL[2] WL[3] BL[0] BL[1] BL[2] BL[3] GND GND VDD Precharge devices φpre

PMOS precharge device can be made as large as necessary, but clock driver becomes harder to design.

slide-51
SLIDE 51

51

Precharged ROM Other Memory Cells

slide-52
SLIDE 52

52

Non-Volatile ROM

EPROM

Erasable Programmable ROM

EEPROM

Electrically Erasable Programmable ROM

Flash EEPROM

Electrically Erasable Programmable ROM that is erased in large chunks

All these devices rely on trapping charge

  • n a floating gate

EPROM

Source Drain Gate Floating gate tox tox Substrate n+ n+

p

(a) Device cross-section S D G (b) Schematic symbol

slide-53
SLIDE 53

53

Programming EPROM

Higher Vth (around 7v) means that 5v Vgs no longer turns on the transistor SiO2 is an excellent insulator

Trapped charge can stay for years

D S 20 V 20 V D S 0 V 0 V 10 V→ 5 V −5 V D S 5 V 5 V −2.5 V

Avalanche injection. Removing programming voltage leaves charge trapped. Programming results in higher VT.

Erasing an EPROM

Erase by shining UV light through window in the package

UV radiation makes oxide slightly conductive Erasure is slow - from seconds to minutes depending on UV intensity Also the erase/program cycles are limited (around 1000), mainly as a result of the UV erasing

But, EPROMs are simple and dense

slide-54
SLIDE 54

54

EEPROM

Thin oxide allows erasing in-system

Fowler-Nordheim Tunneling

Source Drain Gate Floating gate Substrate n+ n+ 10 nm 20-30 nm

(a) Flotox transistor

VGD I

(b) Fowler-Nordheim I-V characteristic

10 V −10 V p BL WL VDD

(c) EEPROM cell during a read operation

Floating Gate Tunneling Oxide transistor

EEPROM

Two transistors instead of one

The second keeps you from removing too much charge during erasure

Bigger and not as dense as EPROM But, more erase/program cycles

On the order of 105 Eventually you get permanently trapped charge in the SiO2

slide-55
SLIDE 55

55

Flash EEPROM

Essentially the same as EEPROM

But, large regions erased at once Means you can monitor the voltages and don’t need the extra access transistor

n+ drain n+ source p-substrate Control gate Floating gate programming erasure Thin tunneling oxide

Flash EEPROM

slide-56
SLIDE 56

56

Realistic PROM Devices Content Addressable Mem

Asks the question: Are there are any locations that hold this value?

Used for tag memories in associative caches Or translation lookaside buffers Or other pattern matching applications

slide-57
SLIDE 57

57

Content Addressable Mem

Add the Match line

Essentially a distributed NOR gate

Content Addressable Mem

slide-58
SLIDE 58

58

Programmable Logic Array

x0 x1 x2 f0 f1

AND PLANE OR PLANE

x0x1 x2

Product Terms

PLA

Still useful for random combinational logic

Standard cell ASIC tools may be replacing them

They can generate dense AND-OR circuits

slide-59
SLIDE 59

59

Pseudo-Static PLA Circuit

f0 f1 GND GND VDD GND x0 x0 x1 x1 x2 x2 GND GND GND GND VDD AND-PLANE OR-PLANE

Dynamic PLA

f0 f1 GND VDD φOR x0 x0 x1 x1 x2 x2 GND VDD AND-PLANE OR-PLANE φAND φOR φAND

slide-60
SLIDE 60

60

PLA Layout

VDD GND φ And-Plane Or-Plane f0 f1 x0 x0 x1 x1 x2 x2 Pull-up devices Pull-up devices

PLA vs. ROM

Programmable Logic Array structured approach to random logic “two level logic implementation” NOR-NOR (product of sums) NAND-NAND (sum of products) IDENTICAL TO ROM! Main difference ROM: fully populated PLA: one element per minterm Note: Importance of PLA’s has drastically reduced

  • 1. slow
  • 2. better software techniques (mutli-level logic

synthesis)

slide-61
SLIDE 61

61

FPGAs

Field Programmable Gate Arrays

Array of P-type and N-type transistors Sources and drains connected to

Power and ground Metal

Map gate structures to sea of gates Less expensive – only modify metal masks