Flash Translation Layer

In-memory remap table of logical pages to physical flash pages. On write to physical page: write to new physical page, update logical -> physical mapping Problem Get FTL on boot. Solution Store logical page number in metadata of physical page.

Solid State Drive - Basics

NAND-Flash based No moving parts -> silent Contains 'erasure blocks' sized 128 - 512 KB. Comprises 4KB pages, 128 Byte of Metadata, such as error correcting code (ECC). Always accesses data+metadata. Read Erasure Fast Slow $10\mu\text{s}$ some $\text{ms}$ Writing to new page: hundreds of $\mu\text{s}$ Erasures and writes cause wear! Device will die over time!

Wear Leveling

Shift blocks around, make sure to use all blocks equally often. Since firmware may remap to spare pages and erasure blocks, slowdown due to retries