Massenspeicher Wie zuverlässig sind SSDs?

Solid State Drives (SSDs) sind zwar robust gegen Erschütterungen, doch die Speicherzellen nutzen sich mit der Zeit ab und verlieren ihre Speicherfähigkeit.
Solid State Drives (SSDs) sind zwar robust gegen Erschütterungen, doch die Speicherzellen nutzen sich mit der Zeit ab und verlieren ihre Speicherfähigkeit.

Ausgangspunkt für Zweifel an der Zuverlässigkeit von SSDs ist die Tatsache, dass die Zahl der Löschvorgänge bei Flash-Bausteinen begrenzt ist. Es ist schwer abzuschätzen, was das für die Haltbarkeit von Solid State Disks bedeutet - zumal die Angaben der Hersteller sehr unterschiedlich sind. Hilfreich ist auf jeden Fall, die Vorgänge im Inneren der SSD zu verstehen.

Der Speicherinhalt in einem Flash-Baustein wird in Form von Ladung auf einem isolierten Gate gespeichert, das von einer Oxidschicht umgeben ist. Bei jedem Löschvorgang wird die Oxidschicht, die das Gate umgibt, angegriffen. Mit der Zeit verliert die Oxidschicht ihre Isolationsfähigkeit und der Speicherinhalt kann nicht mehr gehalten werden - der Speicher wird „vergesslich“ und degeneriert.

Als Maß für die Dauerhaftigkeit von SSDs geben die meisten Hersteller an, wieviele Daten insgesamt auf die SSD geschrieben werden können, bis sie das Ende ihrer Lebensdauer erreicht hat (Tabelle). Die Zahlen variieren von Hersteller zu Hersteller erstaunlich stark, ja widersprechen sich geradezu. Swissbit behauptet außerdem: „Die Schreib-/Lösch-Häufigkeit von SLC-Speicher ist mindestens um den Faktor 10 besser als bei MLC-Speicher. Auch das ist so nicht aus den Datenblättern der SSD-Hersteller ablesbar. Was stimmt also?

Hersteller, Modell
 SpeichertypKapazität
Dauerhaftigkeit
 entspricht...Zyklen
Intel X25-E
SLC32 Gbyte
1000 Tbyte
31 250
Seagate Pulsar XT.2
SLC400 Gbyte
24 800 Tbyte
62 000
Seagate Pulsar.2MLC800 Gbyte15 000 Tbyte18 750
SanDisk G3MLC120 Gbyte80 Tbyte1500
Die Dauerhaftigkeit von SSDs wird in „Tbyte written“ gemessen, also der Datenmenge, die garantiert auf den Speicher geschrieben werden kann. Teilt man Dauerhaftigkeit durch Kapazität, ergibt sich die Zahl der Löschzyklen.

Die Dauerhaftigkeit von SSDs ist zwar kein Buch mit sieben Siegeln, aber dennoch eine Gleichung mit vielen variablen Parametern. Fest steht dabei allerdings die Zahl der Löschzyklen, die der Speicherchip-Hersteller angibt. SLC-Speicher der neuesten Generation bewältigen ca. 100 000 Löschzyklen, MLC-Speicher ca. 10 000 Zyklen. Diese Grenzwerte kann kein SSD-Anbieter überschreiten. Wenn ein Hersteller für eine MLC-SSD also über 18 000 Löschzyklen angibt, sollte man skeptisch sein.

Die 10 000 bzw. 100 000 Zyklen sind ein Idealwert, der in der Praxis allerdings nie zu erreichen sein wird. Denn das würde voraussetzen, dass alle Speicherzellen genau gleich oft gelöscht werden - was man in der realen Anwendung nicht schaffen wird. Die Löschzyklen möglichst gleichmäßig auf alle Zellen zu verteilen, ist die Aufgabe des „Wear Levelling“.

Geheimnis Wear Levelling

Flash-Speicher kann nur blockweise gelöscht werden. Nun könnte man meinen, dass „Wear Levelling“ einfach bedeutet, neue Daten auf bisher möglichst wenig genutzte Blöcke zu schreiben. Doch so einfach ist es nicht. Denn Festplatten sind historisch und bauartbedingt in Sektoren organisiert. Ein Sektor ist 512, 2048 oder 4094 byte groß. Er bildet die kleinste lösch- und beschreibbare Einheit einer Festplatte.

Halbleiterspeicher ist in Pages organisiert. Eine Speicher-Page beträgt bei handelsüblichem SLC-Flash-Speicher 4 Kbyte (plus 218 byte für die Fehlerkorrektur). Ein Block - die kleinste löschbare Einheit im Flash - umfasst 64 Pages, also 256 Kbyte, und ist damit wesentlich größer als der Sektor einer Festplatte. Probleme gibt es also, wenn viele kleine Dateien vorhanden sind oder sich nur wenige Bits einer Datei ändern. Das bedeutet nicht zwangsläufig, dass immer gleich ein ganzer Block bei einem Schreibzugriff „verbraucht“ werden muss. Jede Page kann in vier Tranchen beschrieben werden. Außerdem müssen die Pages innerhalb eines Blocks in aufsteigender Reihenfolge programmiert werden.

Die Effizienz des Schreibvorgangs ist also auch von den Daten abhängig. Werden sehr viele kleine Dateien geschrieben, dann sind die Pages erschöpft, bevor sie voll beschrieben sind. Diesen Umstand muss man durchaus berücksichtigen, wenn die Hersteller „15 Terabyte written“ als Lebensdauer angeben. Bei dieser Angabe wird laut JEDEC davon ausgegangen, dass der Speicher durchgehend („sustained“) beschrieben und vollständig genutzt wird.

Der nächste Pferdefuß folgt, wenn die SSD einige Zeit in Benutzung war. Mit der Zeit werden vom Dateisystem immer mehr Speicher-Pages als ungültig markiert werden, weil die Daten inzwischen aktualisiert und in einen anderen Block geschrieben wurden. Dazwischen liegen jedoch immer noch gültige Daten, so dass sich immer größere „Lücken“ mit ungültigen Daten bilden. Das ist der Zeitpunkt, zu dem der Garbage Collector zum Einsatz kommt und den Speicher reorganisiert. Davon merkt der Nutzer nichts, aber es belastet den Flash mit zusätzlichen Löschzyklen.

Andererseits gibt es viele Dateien, die nie geändert werden. Die betroffenen Speicherblöcke sind bezüglich der Löschzyklen dementsprechend „ungenutzt“, so dass das Wear Levelling diese Dateien trotzdem irgendwann verschieben wird, damit der Speicher gleichmäßig abgenutzt wird.

Unter diesen Gesichtspunkten ist die Aussage der Computerzeitschrift c‘t kritisch zu bewerten, dass „ein und dieselbe logische Adresse bei einem USB-Stick mehr als 16 Millionen Mal überschrieben“ wurde. Denn der Controller und das Wear Levelling eines Flash-Speichers sorgen dafür, dass ein und dieselbe logische Adresse immer wieder anderen physikalischen Adressen zugewiesen wird. Mitnichten ist davon auszugehen, dass ein und dieselbe Speicherzelle 16 Millionen Mal neu beschrieben wurde.

Dr. Thomas Gillen, Technischer Direktor des Embedded-Dienstleisters „Art of Technology“ aus Zürich sagt: „Die Algorithmen, nach denen Gar-bage Collection und Wear Levelling arbeiten, gehören zu den bestgehüteten Firmengeheimnissen.“

Mit den schrumpfenden Strukturen werden die Chips auch empfindlicher und fehleranfälliger. Deshalb muss man bei neuesten Speichergenerationen mehr Aufwand in die Fehlerkorrektur stecken, um noch vernünftige Zuverlässigkeitswerte zu erreichen. Speicher-Experte Dr. Gillen gibt zu bedenken: „Die im Datenblatt veröffentlichten Löschzyklen wurden früher spielend erreicht und mitunter sogar weit überschritten. Inzwischen müssen die Hersteller teils große Klimmzüge unternehmen, um die spezifizierte Zyklenzahl auch wirklich zu erreichen.“

So sind wohl auch die großen Abweichungen bei den „Terabyte written“ zu erklären, die die SSD-Hersteller in ihren Datenblättern angeben. Da diese Zahlen wegen der vielen Zyklen nicht messbar sind bzw. das Ergebnis erst nach Jahren vorliegen würde, werden zu ihrer Ermittlung Messungen bei höheren Temperaturen durchgeführt und extrapoliert.

Als Fazit lässt sich festhalten:

  • Bei hochbelasteten SSDs, die gut mit Daten gefüllt sind und auf denen dauernd Transaktionen stattfinden, kann nach drei bis fünf Jahren das Ende der Lebensdauer erreicht sein.
  • SSDs im persönlichen Bereich dürften problemlos länger als zehn Jahre halten. 
  • Defragmentierungsprogramme schaden einer SSD, weil sie Schreib-/Löschzyklen verbrauchen und das Wear Levelling für eine interne Defragmentierung des Speichers sorgt.
  • Am Ende der Lebenszeit wird die Schreib-Performance einer SSD einbrechen, weil dann Fehlerschutz und interne Verwaltungsvorgänge für das Wear Levelling immer aufwendiger werden.