4.1.11 · D1Memory Technologies

Foundations — Wear leveling and flash controllers

1,574 words7 min readBack to topic

This page assumes you know nothing. Every letter, every fraction, every piece of jargon the parent note Wear leveling and flash controllers throws at you gets built here, from the ground up, in the order you need it. Read top to bottom.


1. A flash cell — the smallest thing that remembers

Picture a tiny bucket with a leaky lid. Pour charge in (that's programming); tip it empty (that's erasing).

The word bit means one 0-or-1 answer — the smallest unit of information. A cell stores one bit (or a few, see SLC MLC TLC QLC). Everything on a flash chip is a giant grid of these buckets.


2. Pages and blocks — why size matters twice

Cells never act alone. They are grouped, and — crucially — grouped differently for different operations.

KB = kilobyte ≈ 1000 bytes; a byte = 8 bits. So a 4 KB page holds ~32 000 individual cell-buckets.


3. The three symbols the parent note leans on

The parent note uses a handful of letters. Here is each, in plain words, with its picture and its job.


4. Fractions, ratios, and the arrow ""

The parent note writes things like and . Let's earn those symbols.


5. Logical vs physical addresses — the secret map


How these foundations feed the topic

Flash cell holds charge

Erase cracks the cell = wear

Cells grouped as pages and blocks

Write in pages erase in blocks

Finite P and E cycles

Out of place writing

LBA to PPA map = FTL

Wear leveling

Stale pages pile up

Garbage collection

Copies burn extra writes

Write amplification WAF equals 1 over 1 minus u

Read the map bottom-right: wear + the address map force wear leveling; the page/block mismatch forces garbage collection, whose copying gives you the WAF formula.


Equipment checklist

Cover the right side. Say each answer out loud before revealing.

What does a flash cell physically store, and how?
Trapped electric charge in a tiny bucket; presence/absence of charge encodes a bit.
Why does erasing wear a cell out?
Each erase slightly damages (cracks) the cell's insulating layer; after a fixed number it can't hold charge and dies.
What is the difference between a page and a block?
You read/write in pages (small, e.g. 4 KB); you erase in blocks (large, e.g. 256 KB = 64 pages).
What does the letter mean here?
The number of pages contained in one block.
What does mean, and what range does it take?
The fraction of a block's pages that are still valid (live); a number from 0 to 1.
In words, what is ?
The fraction of a block's pages that are stale junk — the part we can reclaim for free.
What does WAF measure?
Physical writes to flash divided by writes the host requested; how much extra writing the controller does.
Read "" aloud and say what happens to WAF.
"As approaches 1" — WAF grows without bound () because almost every page must be copied.
What is the difference between an LBA and a PPA?
LBA = the logical address the OS asks for; PPA = the real physical page where data lives.
Why can the controller move your data without the OS noticing?
The FTL keeps an LBA→PPA map it can rewrite freely, so the logical address stays constant while the physical location changes.