WHAT: We name the piece of firmware that decouples what the OS asks for from where the bits live.
Answer: The Flash Translation Layer (FTL), running inside the flash controller. It keeps a map from logical block addresses (LBAs) → physical page addresses (PPAs).
WHY it matters: Because that map can be rewritten on every single write, the physical home of "logical 100" is free to move to a fresh, less-worn page each time. That freedom is the entire foundation of wear leveling. See SSD Architecture for where the FTL sits.
Recall Solution
Answer: False.WHY: Flash can program bits 1→0 individually, but the only way to reset a bit 0→1 is to erase the whole block it lives in (all bits go back to 1 together). You cannot flip a single bit up. This is the erase-before-write rule, and the reason writes go out-of-place to fresh pages instead of overwriting.
Recall Solution
(a) → Dynamic wear leveling.
(b) → Static wear leveling.
WHY the distinction exists: Dynamic alone ignores cold data, so blocks holding a never-changing movie stay pristine while the working blocks wear out fast. Static pays extra writes now to move that cold movie onto a tired block, letting the fresh block join the rotation. More in Garbage Collection.
Step 1 — Identify u. "40% valid" means u=0.40. Why:u is defined as exactly the valid fraction, so we read it straight off.
Step 2 — Apply the formula.WAF=1−u1=1−0.401=0.601=1.67WHAT IT MEANS: Every 1 GB the host writes causes about 1.67 GB to actually be written to flash — the extra 0.67 GB is GC (garbage collection) copying valid pages out of the way before erasing.
Recall Solution
Step 1 — Rearrange the formula. Start from WAF=1−u1. Why rearrange: we are given the output and want the input, so we invert.
1−u=WAF1⟹u=1−WAF1Step 2 — Substitute.u=1−2.51=1−0.40=0.60WHAT IT MEANS: On average, victim blocks were 60% full of live data that had to be copied. To lower WAF you'd want GC to wait until blocks are emptier — that is what Over-provisioning and TRIM enables.
Recall Solution
Step 1 — What WAF means directionally. WAF = physical ÷ host, so physical = host × WAF. Why multiply: WAF is defined as the ratio of physical-to-host, so to go from host to physical we multiply.
Step 2 — Compute.physical=20GB×1.67=33.3GBWHAT IT MEANS: The 13.3 GB of extra writing is pure GC overhead — invisible to the host, but it burns real endurance.
Step 1 — WAF of each.Why: lifetime depends on how much physical writing each design forces.
WAFA=1−0.801=5.0,WAFB=1−0.501=2.0Step 2 — Total endurance (bytes writable).Why: each of 512 GB of cells can be programmed 1000 times.
512GB×1000=512,000GB of physical writes.Step 3 — Daily physical writes.Why: WAF converts host demand into real flash traffic.
A:30×5.0=150GB/day,B:30×2.0=60GB/day.Step 4 — Lifetime = endurance ÷ daily.A:150512,000≈3413days≈9.35yrB:60512,000≈8533days≈23.38yrStep 5 — Ratio.WAFBWAFA=2.05.0=2.5, and indeed 9.3523.38=2.5.
WHAT IT MEANS: Halving the valid fraction u from 0.80 to 0.50 makes the drive last 2.5× longer. Because lifetime ∝1/WAF, driving u down is the single biggest lever — that's why controllers hoard free space.
Recall Solution
WHAT the figure shows: WAF plotted against u. The magenta curve is flat and gentle for small u, then rockets upward as u→1 (the violet vertical asymptote).
WHY it curves, not a straight line:u sits in the denominator. As u approaches 1, the denominator 1−u approaches zero, and dividing by a near-zero number blows up. Doubling how full a block is doesn't double the pain — near the top it can multiply it tenfold.
Concrete reading: at u=0.5, WAF=2; at u=0.9, WAF=10; at u=0.99, WAF=100. The last sliver of "fullness" costs the most.
WHAT IT MEANS: A nearly-full SSD (high u because there are almost no stale-only blocks to reclaim) writes catastrophically more and dies fast. This is the mathematical face of "keep your SSD under ~80% full."
Step 1 — Turn spare fraction into u.Why: our WAF formula speaks in u, so we translate the design parameter s into it using the linear model u=1−s.
s=0.07⇒u=0.93,s=0.28⇒u=0.72.Step 2 — WAF of each.Why: WAF is what determines endurance, and it depends only on u.
WAFconsumer=1−0.931=0.071≈14.29WAFenterprise=1−0.721=0.281≈3.57Step 3 — Lifetime multiplier.Why: lifetime ∝1/WAF, so the ratio of WAFs (larger over smaller) is exactly how many times longer the low-WAF design lives.
WAFenterpriseWAFconsumer=3.5714.29=4.0× longer.WHAT IT MEANS: Giving up ~21 percentage points more of raw capacity to spare pool buys a 4× longer life. This is exactly why enterprise SSDs advertise less usable space but far higher endurance — the "missing" capacity is working invisibly as headroom. Compare SLC MLC TLC QLC, where fewer bits-per-cell is the other endurance lever.
Recall Solution
Step 1 — Build the effective WAF from its definition (don't accept it by fiat).Why derive it: we want to see why compression and GC multiply, not just be told.
Follow one host request of size H through the two stages:
Stage 1 — compression. Before anything reaches the flash, the controller squashes H down to cH. Only cH of real data ever needs to be stored.
Stage 2 — GC amplification. Every unit actually stored still triggers the usual copy-along overhead, so storing cH of data costs WAFGC×(cH) physical bytes.
By definition WAFeff = physical bytes ÷ host bytes requested:
WAFeff=HWAFGC(cH)=c×WAFGC.
The H cancels, and the two factors multiply because they act in series — compression shrinks the input, GC amplifies whatever survives.
Step 2 — Substitute.WAFeff=c×WAFGC=0.5×2.0=1.0WHAT IT MEANS: Compression exactly cancelled the GC amplification here. If c were 0.4, we'd get WAFeff=0.8<1 — the drive physically writes less than the host requested, which the pure GC formula (always ≥1) can never explain on its own. GC amplification and compression are separate, opposing mechanisms.
Step 1 — Total endurance budget.Why: everything hangs on how many physical bytes the chip can absorb over its life.
1000GB×400=400,000GB of physical writes.Step 2 — Physical write budget per day for a 5-year life.Why: spread the total over the required lifetime in days.
5yr×365=1825days,1825400,000≈219.2GB/day physical allowed.Step 3 — Maximum tolerable WAF.Why: WAF = physical ÷ host, so the ceiling on physical writes sets the ceiling on WAF.
WAFmax=40GB/day219.2GB/day≈5.48Step 4 — Required u.Why: we are given the WAF ceiling and want the validity that produces it, so we invert the formula (as in L2.2) with u=1−WAF1.
u=1−5.481=1−0.1825≈0.8175Step 5 — Over-provisioning.Why: the linear model u=1−s ties validity to spare, so solving for s tells us how much capacity to reserve.
s=1−u≈0.1825,i.e. reserve 18% spare.Step 6 — Is static wear leveling mandatory?Yes.Why: QLC's tiny 400-cycle budget leaves no margin to let cold-data blocks sit fresh while the working set wears out. Under dynamic-only leveling, a large cold region (say a media library) would keep hogging its own low-wear blocks and never join the write rotation; the handful of active blocks would then absorb all the writes and blow past 400 cycles long before 5 years. Static wear leveling fixes this by periodically relocating that cold data onto the more-worn blocks, which frees the fresh blocks to share the write load so every block ages together. The extra relocation writes it costs are small and already sit comfortably inside the ~5.48 WAF headroom we budgeted. Without static leveling the drive would die in a fraction of the target life even though most cells were barely touched. See Garbage Collection and Over-provisioning and TRIM.
WHAT IT MEANS: The whole design closes: keep WAF ≲5.48 by holding victim-block validity near u≈0.82, achieved with ~18% over-provisioning, and run static leveling so wear stays even. Miss any one and the 5-year target fails.
Recall Solution
Baseline: at u=0.82, WAF=1/(1−0.82)=1/0.18≈5.556.
Option (a) — lower u to 0.75:WAFa=1−0.751=0.251=4.0Option (b) — compression on baseline:WAFb=c×1−0.821=0.85×5.556≈4.72Compare: lower is better. WAFa=4.0<WAFb=4.72, so option (a), more over-provisioning, wins — it stretches life by 5.556/4.0=1.39× versus 5.556/4.72=1.18× for compression.
WHAT IT MEANS: Because u lives in the denominator, attacking it directly beats a mere 15% compression here. But note the caveat: compression's benefit depends entirely on how squishy the data is — incompressible data (video, encrypted) gives c≈1 and no help, whereas over-provisioning always works. That robustness is why it's the primary knob.
Recall Self-test recap (reveal after attempting all)
WAF formula ::: WAF=1−u1, with u = valid fraction of GC victim blocks.
Invert to find u from a measured WAF ::: u=1−WAF1.
Lifetime formula ::: host GB/day×WAFraw capacity×P/E cycles = days of life.
Why WAF explodes near a full drive ::: u→1 makes the denominator 1−u→0, so WAF →∞.
Why static wear leveling is mandatory on low-endurance flash ::: it recirculates cold data so every block ages evenly; without it active blocks die while cold ones stay fresh.