SSD Simulator
All graphs
Overview

Write Amplification by Engine across Real Traces

Our finding. No single engine wins across workloads. Placement schemes (FDP, ZNS) reduce write amplification on skewed, reused data but can cost extra on write-once or uniform workloads — the benefit is workload-dependent, not universal.

How this helps our work. This head-to-head is the map that motivates the rest of the study: it shows where each placement policy pays off and sends us to the distribution and mechanism analyses to explain why.

What it shows. WAF for all nine engine variants on each real trace. Lower is better; grouped bars compare engines within a workload and across workloads.

The nine engines.

Engine Data placement Garbage collection
Conventional · block GC page-mapped FTL, no hints reclaims one block at a time, greedy (fewest-valid victim); whole OP is one pool
Conventional · superblock GC page-mapped FTL reclaims a whole line (one block per plane) together — mirrors FEMU's erase granularity
FDP-single one placement handle — all host writes to one RU stream device-managed, greedy on reclaim units (superblocks)
FDP-PI (Persistent Isolation) 2 handles: hot (overwrites) / cold (first writes) GC copies stay in their own RUH → pure streams; reserves per-RUH GC headroom
FDP-II (Initial Isolation) 2 data handles, hot/cold GC copies pooled into one shared GC-RUH — pools the slack, robust at low OP
ZNS-single host-managed, single append stream host GC, greedy victim zone (device does no GC)
ZNS hot/cold · greedy 2 zones: hot / cold host GC, greedy (fewest-valid zone)
ZNS hot/cold · cost-benefit 2 zones: hot / cold host GC, F2FS-style age×(1−u)/2u victim — defers stable cold zones
ZNS-single · cost-benefit single append stream host GC, cost-benefit victim (isolates the GC-policy effect from the hot/cold effect)

Why conventional block GC looks strong. It uses the finest reclaim granularity (fewest valid pages migrated) and no isolation overhead (the whole over-provisioning is one shared pool), so at a generous OP it is hard to beat. Note this is partly a modeling idealization — real multi-plane NAND cannot erase a single block, so the hardware-faithful conventional baseline is the superblock variant.

What we found
Write Amplification by Engine across Real Traces
Previous← Granularity Bracket — FEMU between block & superblock GC
NextSpace-Time Occupancy Heatmaps →
← Back to all graphs