4.1.8Memory Technologies

Flash memory (NOR vs NAND)

2,243 words10 min readdifficulty · medium4 backlinks

WHAT is flash memory?

WHY it's non-volatile: the floating gate is surrounded by oxide, so trapped charge has nowhere to leak. No power needed to keep the data.

HOW a bit is encoded:

  • Charge on floating gate ⇒ high VthV_{th} ⇒ cell does NOT conduct at read voltage ⇒ read as 0.
  • No charge ⇒ low VthV_{th} ⇒ cell conducts ⇒ read as 1 (the "erased" state).

HOW electrons get on/off the gate

Key asymmetry you must remember:

  • You can program individual pages (set 1→0 selectively).
  • You can only erase whole blocks (reset 0→1 in bulk).
  • You cannot flip a single bit 0→1 without erasing its entire block.

This is the defining constraint of flash and drives every flash filesystem / FTL design.


The wiring difference (the heart of NOR vs NAND)

Figure — Flash memory (NOR vs NAND)

Cost & density: WHY NAND wins on capacity

Density is further multiplied by storing several bits per cell (dividing the VthV_{th} window into levels):


Endurance & retention


Side-by-side summary

Property NOR NAND
Cell wiring parallel (per-cell contact) series strings
Cell size ~10 F2F^2 ~4 F2F^2
Read fast, random / byte slower, page
Write/erase slow faster program, block erase
Random access ✅ execute-in-place (XIP) ❌ (must load page)
Cost / bit high low
Typical use boot/firmware code (BIOS) SSDs, USB, SD, phones
Bits/cell usually SLC SLC→QLC

Worked examples


Common mistakes


Active recall

Recall Feynman: explain to a 12-year-old

Imagine a light switch with a tiny bucket hidden inside it. Normally a small push flips the switch on. But if you fill the bucket with marbles (electrons), the switch gets "heavy" and needs a much bigger push — so at the normal push it stays OFF. That OFF means "0", empty bucket means "1". The marbles can't escape because the bucket is sealed, so it remembers even with the power off. NOR gives every switch its own wire so you can check any one instantly. NAND lines switches up in a row sharing one wire — cheaper and you fit way more, but to check one you have to force all the others on and read the whole row at once.

Flashcards

What structure stores the charge in a flash cell?
The floating gate (an insulated gate between control gate and channel).
Charged floating gate reads as which bit?
0 (high threshold voltage, cell doesn't conduct).
Which is byte/random addressable for reads: NOR or NAND?
NOR.
Which has smaller cell area (~4F²) and lower cost/bit?
NAND.
Why can't you rewrite a single flash bit 0→1?
0→1 requires erasing, and erase happens only per whole block.
Write granularity vs erase granularity?
Program = page; erase = block.
Mechanism NAND uses to program/erase?
Fowler–Nordheim tunnelling.
Bits per cell for TLC and how derived?
3 bits, from log2(8 levels).
Why is QLC less durable than SLC?
More voltage levels squeezed in → smaller margins → fewer P/E cycles and more errors.
What does the FTL do and why?
Maps logical to physical blocks and wear-levels writes because blocks die after limited P/E cycles.
Typical use of NOR flash?
Boot code / firmware (execute-in-place, e.g. BIOS).
What does "execute-in-place (XIP)" require and which flash supports it?
Random byte read of code → NOR.

Connections

  • MOSFET and threshold voltage — the physical device flash is built on.
  • Non-volatile memory — flash's family (vs volatile RAM).
  • Solid State Drives (SSD) — built from NAND + FTL controller.
  • Fowler–Nordheim tunnelling — the program/erase physics.
  • Wear leveling and write amplification — consequences of block erase.
  • Memory hierarchy — where flash sits (below RAM, above disk).
  • DRAM refresh — contrast: DRAM leaks & needs refresh; flash retains.

Concept Map

wrapped in

traps charge

charge shifts

read as bit

adds electrons

removes electrons

programs via

programs via

uses

only whole blocks

parallel cells give

series strings give

enables

higher density

Floating-gate transistor

Oxide insulation

Threshold voltage shift

Non-volatile storage

Program write 0

Erase block to 1

FN tunnelling

Channel hot-electron injection

Block-erase constraint

NOR array parallel

NAND array series

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Flash memory ka core idea simple hai: ek transistor ke andar ek chhupa hua "floating gate" hota hai jismein electrons trap kar dete hain. Jab electrons stored hote hain, transistor ka threshold voltage badh jaata hai, matlab use ON karne ke liye zyada push chahiye — is state ko hum 0 padhte hain. Empty gate = 1. Ye electrons sealed oxide ke andar phanse rehte hain, isliye power off hone par bhi data rehta hai — yahi non-volatile ka matlab hai.

Ab NOR vs NAND ka fark sirf wiring ka hai. NOR mein har cell alag wire se juda hota hai (parallel), isliye aap koi bhi ek byte turant random access se padh sakte ho — perfect for boot code/firmware jahan CPU ko directly code execute karna hota hai (execute-in-place). NAND mein cells ek series string mein pack hote hain, ek hi contact share karke — isse cell chhota (~4F²) aur sasta ban jaata hai, lekin aapko poora page ek saath padhna padta hai. Isliye SSD, pendrive, phone storage sab NAND use karte hain — density aur cost per GB ke liye.

Sabse important constraint yaad rakho: aap individual page program kar sakte ho (1→0), lekin bit ko 0→1 karne ke liye poora block erase karna padta hai. Bit-level rewrite possible nahi. Isi wajah se ek chhota sa byte change karne ke liye bhi controller ko poora block re-write karna pad sakta hai (write amplification), aur isiliye SSD mein FTL controller wear-leveling karta hai taaki koi block jaldi na mare. TLC/QLC mein ek cell mein zyada voltage levels (log2L\log_2 L bits) daalke capacity badhate hain, par margins kam hone se speed aur endurance girti hai — pure tradeoff hai.

Go deeper — visual, from zero

Test yourself — Memory Technologies

Connections