USB-Stick, Schreibzyklen

5 Antworten

Der verwendete "NAND-Flash"-Speicher übersteht in der Regel etwa 10.000 Schreibzyklen, das heißt Du kannst ihn 10.000 mal vollständig überschreiben.

In der Regel werden ja aber kleinere Schreibvorgänge durchgeführt. Der verwendete Speicher ist relativ preisgünstig (im Vergleich zu Speicher, der z. B. in SSDs verbaut wird) und beherrscht daher nur so genanntes "dynamisches wear levelling", das heißt er hat eine Strategie, Schreibvorgänge zu verteilen, allerdings nur wenn die Daten sich ändern. Sektoren, die nicht neu beschrieben werden, bleiben wo sie sind. Das bedeutet, wenn es Sektoren gibt, die vom Host nie beschrieben werden, dann belegen diese immer die selben physikalischen Speicherzellen und diese "können sich ausruhen", während die übrigen natürlich stärker belastet werden. Dieses Ungleichgewicht ist nicht gut.

Beim "dynamischen wear levelling" (wie SSDs es betreiben) kopiert der NAND-Chip die Daten intern ständig um, auch wenn sie sich nicht ändern. Das bedeutet, wenn der Chip gerade keine Schreibanweisung vom Rechner bekommt, beschäftigt er sich damit, die Daten, die in ihm gespeichert sind, in der Gegend umher zu schieben. Das führt zwar zu zusätzlichen Schreibzyklen, ohne dass die Nutzdaten sich ändern würden, aber eben auch zu einer gleichmäßigeren Abnutzung und statistisch letztlich zu einer längeren Lebensdauer des Speichers.


NoHumanBeing  28.09.2013, 08:12

Sorry, im letzten Absatz soll es heißen:

Beim "statischen wear levelling" (wie SSDs es betreiben) kopier der NAND-Chip die Daten ständig um, auch wenn sie sich nicht ändern.

Also "kein wear levelling" --> wenn ein Schreibvorgang vom Host kommt, werden die Daten "in-place" überschrieben (bleiben in den selben Speicherzellen, nur der Inhalt wird geändert).

"Dynamisches wear levelling" --> wenn Daten sich ändern (Schreibanfrage vom Host), werden sie nicht "in-place" überschrieben, sondern es wird ein neuer (freier) Sektor allokiert und die Daten dorthin geschrieben.

"Statisches wear levelling" --> wie "dynamisches wear levelling", Daten werden allerdings vom Speicher selbst ständig "bewegt", auch wenn keinerlei Schreibanfrage vom Host kommt.

0

Das ist bei USB-Sticks kein Kriterium. Gehe davon aus, dass dieser mehrere hundertausend Nutzungen überlebt. Bevor der Speicher kaputt ist, ist ein USB-Stick technisch überholt.

Die Haltbarkeit eines USB-Sticks ist eigentlich unbegrent. Es kommt nicht darauf an, wie oft er bespielt wurde, sondern wie man ihn behandelt.


Das kommt darauf an, wie man den Stick behandelt. Nicht wie oft man den beschreibt.

Das hängt nicht mit der Anzahl des Beschreibens zusammen.


NoHumanBeing  28.09.2013, 08:04

Doch. Der Transistor, der in einer Flash-Speicherzelle die Daten hält, ist ein so genannter "floating gate field effect transistor". Ein solcher "überlebt" etwa 10.000 Schaltzyklen. Danach fällt er aus. Deshalb kann man Flash-Speicher nicht beliebig oft beschreiben.

"Normale" Transistoren (ohne "floating gate") "überleben" im Grunde beliebig viele Schaltzyklen. Die Transistoren in einer CPU zum Beispiel schalten mehrere Milliarden mal pro Sekunde und können dies über Jahrzehnte.

0