Wear-Leveling bezeichnet eine Praktik, bei der sichergestellt wird, dass bestimmte NAND-Blöcke nicht häufiger als andere beschrieben und gelöscht werden. Das Wear-leveling sorgt also dafür, dass bestimmte Blöcke nicht übermäßig stark beansprucht werden, was zu einem Datenverlust oder Geräteausfall führen kann. Es verbessert damit also die Lebenserwartung von Flash-Produkten.
Warum Wear-Leveling?
Beim Einsatz der NAND-Flash-Technologie gibt es eine Obergrenze bei Schreib- und Löschen-Zyklen (P/E-Zyklen). Wenn das P/E-Zyklusmaximum bei einem Block erreicht wird, kann ein solcher Block nicht mehr verwendet werden. Wenn bestimmte Blöcke übermäßig oft beschrieben und gelöscht werden, erschöpfen sich die P/E-Zyklen dieser Blöcke schnell, der NAND Flash fällt frühzeitig aus.
Wie funktioniert das?
Beim Wear-Leveling geht es darum, alle Zellen möglichst gleich abzunutzen und kontinuierliche Schreiben-Löschen-Zyklen derselben Blöcke zu vermeiden. Der Wear-Leveling-Algorithmus wird üblicherweise vom Flash-Controller verwaltet; er legt fest, welcher physische Block bei der nächsten Programmierung von Daten verwendet wird. Das Wear-Leveling kann die Zuverlässigkeit und Lebenserwartung von Flashprodukten spürbar verbessern; insbesondere bei Enterprise Applikationen.