NAND Flash Wear Leveling Algorithm

Aug 27, 2022

Protože počet operací zápisu do paměti flash je omezený, pokud bylo na některých jednotkách provedeno 100 000 operací zápisu, nelze zaručit spolehlivost zápisu těchto jednotek a některé jednotky mohou selhat. Například některé protokoly datového systému správy se často přepisují, zatímco některá data statických souborů se téměř nikdy nepřepisují. Pokud není kontrolována, některé bloky budou předem poškozeny v důsledku opakovaného mazání a některé bloky nebyly přepsány. Aby se tento problém vyřešil, operace zápisu jsou rovnoměrně rozloženy do všech buněk paměti flash, aby se dosáhlo celkové rovnováhy, aby se zabránilo selhání jednotlivých buněk. Vyrovnání opotřebení je algoritmus široce používaný k řešení tohoto problému.

Vyrovnávání opotřebení má poskytnout mechanismus mapování bloků pro rozložení ztráty zápisu mezi různé bloky. Nezpůsobí to, že se nejprve zapíší některé bloky a znehodnotí celý SSD disk. Místo toho některé rezervované bloky nahradí bloky, které selžou před očekávanou životností. Tento algoritmus činí životnost celého zařízení stejnou jako maximální životnost blesku.

K realizaci vyrovnávání opotřebení se obecně používá algoritmus ukládání souborů založený na stránce. Mezi fyzickou adresou a logickou adresou flash paměti neexistuje žádná osobní korespondence. Když SSD obdrží požadavek na zápis dat, nebude zapisovat v pořadí, ale najde jednotku s nejmenším zápisem. Proto při dynamickém přidělování fyzických bloků pro data pro zápis budou odpovídající priority přiděleny podle využití každého bloku, aby se vyrovnala životnost každé buňky celé paměti.