23
Memory - Flash Last updated 3/1/21

Memory - Flash

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Memory - Flash

Memory - Flash

Last updated 3/1/21

Page 2: Memory - Flash

2 © tjEE 4980 – MES

Memory - Flash

• Memory Taxonomy

Random Access

Read/Write Read Only *

Mask ROM

PROM

EPROM

EEPROM

Dynamic Static

Power

Required

No Power

Required

FlashSRAM Flash

MRAM

FERAM

DRAM

Sequential Access

Tape

Optical

CCD

Memory

* Write once or seldom

Page 3: Memory - Flash

3 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - basics

• Memory cell (1 bit) is based on charge stored on a floating capacitor• The capacitor modifies the threshold voltage of a MOSFET

• with negative charge stored – need higher gate voltage to turn on the MOSFET

• Creates 2 possible threshold voltages

Different for NOR and NAND

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

G

D

S

B

G

~90A

~120A

Page 4: Memory - Flash

4 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NOR• Cell write• High voltage process that allows electrons to be injected into the

floating gate

• Hot-carrier injection

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

+9v

+5v0v

Electrons →

0v

Page 5: Memory - Flash

5 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NOR• Cell erase• High voltage process that allows electrons to tunnel out of the

floating gate

• Fowler-Nordheim Tunneling

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate+18v

floatfloat

0v

e e e

substrate Floating gate

substrate

Floating gate

eee

eWell

Page 6: Memory - Flash

6 © tjEE 4980 – MES

Memory - Flash

• Flash Memory – NOR

• Creates 2 possible threshold voltages Vth High is required to turn on the MOSFET if charge is stored

Vth Low is required to turn on the MOSFET if no charge is stored

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

G

D

S

B

G

Id

Vgs

Vt1 Vt2

~90A

~120A

Page 7: Memory - Flash

7 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NOR

• Cell read• Place a voltage on the gate midway between Vth High and Vth Low

• Use the circuit to determine if the MOSFET is on or off

• Erased state – no charge stored = “1”

• Programmed state – charge stored = “0”

Vth mid

PullUp

Vout If charge stored on capacitor (programmed)Vthmid < (Vth = VthHigh ) → Vout = high→ “0”

If no charge stored on capacitor (erased)Vthmid > (Vth = VthLow ) → Vout = low → “1”

Id

Vgs

Vt1 Vt0

Vthmid

Page 8: Memory - Flash

8 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NOR

• Cell read

Id

Vgs

Vt1 Vt0

Vthmid

Page 9: Memory - Flash

9 © tjEE 4980 – MES

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

Memory - Flash

• Flash Memory - NAND• Basic cell• MOSFET with a small channel when VGS = 0

• VTH < 0 – nominally on

Well

Page 10: Memory - Flash

10 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NAND• Cell write• High voltage process that allows electrons to tunnel into the

floating gate

• Fowler-Nordheim Tunneling

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

+18v

Float (0v)Float (0v)

0v

e e e

substrate Floating gate

e e e

substrate

Floating gate

e

- - - - - - -

Page 11: Memory - Flash

11 © tjEE 4980 – MES

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

Memory - Flash

• Flash Memory - NAND• Cell erase• High voltage process that allows electrons to tunnel out of the

floating gate

• Fowler-Nordheim Tunneling

+18v

floatfloat

0v

e e e

substrate Floating gate

substrate

Floating gate

eee

eWell

Page 12: Memory - Flash

12 © tjEE 4980 – MES

Memory - Flash

• Flash Memory – NAND

• Creates 2 possible threshold voltages Vth >0 is required to turn on the MOSFET if charge is stored

Vth <0 is required to turn on the MOSFET if no charge is stored

Thick Oxide

polysilicon

n+ n+

p – Bulk Silicontunnel oxide

DS

gate oxide

floating gate

G

D

S

B

G

Id

Vgs

Vt1 Vt2~90A

~120A

Page 13: Memory - Flash

13 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NAND

• Cell read• Place 0v on the gate

• Use the circuit to determine if the MOSFET is on or off

• Erased state – no charge stored = “1”

• Programmed state – charge stored = “0”

0v

PullUp

Vout If charge stored on capacitor (programmed)0v < Vt2 → Vout = high→ “0”

If no charge stored on capacitor (erased)0v > Vt1 → Vout = low → “1”

Id

Vgs

Vt1 Vt2

Page 14: Memory - Flash

14 © tjEE 4980 – MES

Memory - Flash

• Flash Memory - NAND

• Cell read• All wordlines except the desired one set high (all other cells on)

• Only the desired cell determines if current flows or not

Id

Vgs

Vt1 Vt2

Gnd or float

Page 15: Memory - Flash

15 © tjEE 4980 – MES

Memory - Flash

• Flash Memory

• Programming

• All cells start out with no charge stored = “1”

• Individual cells can be programmed to “0”

• A block erase is required to change cells from “0” to “1”

• Eg.

byte: 1011 1100 → 1000 1100

byte: 1011 1100 → 1100 1100

Page 16: Memory - Flash

16 © tjEE 4980 – MES

Memory - Flash

• Flash Memory

• Nand vs. Nor

Page 17: Memory - Flash

17 © tjEE 4980 – MES

Memory - Flash

• Flash Memory

• NAND Flash

• Page Write

• Block Erase

• More dense

• Fast (required) sequential

access

• Used as file storage memory

(Flash Drives)

• NOR Flash

• Byte/word Write

• Block Erase

• Less dense

• Fast random access

• Used as program memory

Page 18: Memory - Flash

18 © tjEE 4980 – MES

Memory - Flash

• Flash Memory

• Nand Structure

Page 19: Memory - Flash

19 © tjEE 4980 – MES

Memory - Flash• Flash Memory

• Damage – wear out

• The tunneling process damages the oxide layer• Some electrons get trapped in the oxide• Physical damage to the lattice

• Limits the number of write/erase cycles• 10K – 1M cycles

• Wear leveling• Remap the external addresses to new physical blocks on erases• Dynamic – do this as changes occur• Static – do this to little used blocks to make them available• Allows all blocks to approach their failure limit

Page 20: Memory - Flash

20 © tjEE 4980 – MES

Memory - Flash

• Flash Memory

• Multi-Level Cell• Instead of just having 2 threshold voltages – allow for 4 or 8

• 4 → 2 bit MLC, 8→ 3bit MLC

• All aspects of the design get harder (programming, read, wear leveling, speed) → ECC

• Error Correction Coding – ECC• Additional bits are used to detect and correct bit level errors in a

word

Page 21: Memory - Flash

21 © tjEE 4980 – MES

Memory - Flash

• Flash Memory

• Shadowing

• Store large amounts of program and data in Nand Flash

• At boot, copy a portion of the Nand memory into SRAM or SDRAM

• Use the SRAM/SDRAM as the processor program and data memory

• As additional program or data are needed – swap out a portion of the SRAM/SDRAM

Page 22: Memory - Flash

22 © tjEE 4980 – MES

Memory - Flash

• Flash memory

• XIP – Execute in Place

• Execute directly out of NOR flash

• Nor Flash densities are growing rapidly

• Nor Flash speeds are fast enough to support the memory hierarchy

• Requires a caching system

Page 23: Memory - Flash

23 © tjEE 4980 – MES

Memory - Flash

• Other Technologies

• Phase Change Memory – PRAM

• Ferro-Magnetic Ram – FeRAM

• Magneto-resistive Ram - MRAM