Wear Leveling

Grundlagen

Wear Leveling wird in fast allen Flash-Produkten verwendet, um Schreibzugriffe gleichmäßig über alle Blöcke des Flash-Geräts zu verteilen und so dem Ausfall des Gerätes oder einem Datenverlust vorzubeugen, der auf die Überbeanspruchung eines bestimmten Blocks zurückzuführen ist. Wear Leveling verbessert daher die Haltbarkeit und Zuverlässigkeit eines Flash-Produkts.

Wie funktioniert Wear Leveling?

Beim Wear Leveling protokolliert der Controller über einen Algorithmus für jeden Block den sogenannten Erase Count (Anzahl der Überschreibungen). Neue Daten, die auf den Flashspeicher geschrieben werden sollen, werden dem Block mit dem geringsten Erase Count zugewiesen. Die Abbildung links vergleicht die Schreibverteilung auf Geräten mit und ohne Wear Leveling. Es wird deutlich, dass ohne Wear Leveling bestimmte Blöcke häufiger beschrieben werden, was sich negativ auf die Haltbarkeit des Flashspeichers auswirkt. Wear Leveling ermöglicht eine gleichmäßigere Schreibverteilung, reduziert die Überbeanspruchung einzelner Blöcke und verlängert dadurch die Produktlebensdauer.

Wear Leveling Techniken

Wear Leveling kann hauptsächlich in drei Typen unterteilt werden: Dynamisches, Statisches und Globales Wear Leveling. Der größte Unterschied zwischen den drei Typen ist, wie sie die Schreiblast verteilen.

Dynamisches Wear Leveling

Dynamisches Wear Leveling berücksichtigt für die gleichmäßige Verteilung der Schreibzugriffe nur die derzeit freien Blöcke. Der Schreibvorgang wird also nur auf die freien Blöcke mit den geringsten Erase Counts verteilt.

Statisches Wear Leveling

Statisches Wear Leveling bezieht neben den freien Blöcken auch die belegten Blöcke in die Betrachtung mit ein, wenn es die Blöcke mit den geringsten Erase Counts ermittelt. Wenn nötig werden die Daten, die sich auf Blöcken mit geringen Erase Counts befinden, auf andere Blöcke verschoben, damit die noch nicht so intensiv genutzten Blöcke wieder zur Nutzung bereitstehen.

Globales Wear Leveling

Globales Wear Leveling setzt einen leistungsfähigeren Controller als die beiden vorherigen Methoden voraus und unterscheidet sich vom Statischen Wear Leveling, dessen Betrachtungsgebiet auf eine einzelne Chip-Einheit beschränkt ist, indem es seinen Wirkungsbereich auf das gesamte Speichergerät ausdehnt. Es stellt also sicher, dass Schreibvorgänge auf die Blöcke mit den niedrigsten Erase Counts durchgeführt werden, egal wo auf dem Gerät sie sich befinden.

Zusammenfassung

Wear Leveling soll sicherstellen, dass Blöcke gleichmäßig genutzt werden, indem Schreibvorgänge auf diejenigen Blöcke ausgeführt werden, die den geringsten Erase Count ausweisen. Ziel ist es, die Schreibzugriffe auf das gesamte Gerät zu verteilen und so die Lebensdauer des Geräts zu verlängern. Wear Leveling ist heutzutage eine unverzichtbare Methode für Flash-Produkte. Auch Transcend nutzt Wear Leveling bei all seinen Flash-Produkten um eine lange Haltbarkeit und Zuverlässigkeit zu gewährleisten.

Teilen

Vertriebsanfragen

Kontaktieren Sie unser Vertriebsteam bei Fragen.

Wie können wir Ihnen helfen?