Vergesslicher Speicher
Flash-Grundlagen, Teil 2: Lebensdauer der Daten
Lagert eine SSD stromlos im Schrank, verliert sie mit der Zeit ihre Daten. Paradoxerweise eignen sich SSDs trotzdem als Archivmedium – wenn man vorher weiß, wie lang die Data Retention Time voraussichtlich sein wird.
Vor einigen Jahren haben wir in einem Langzeittest SSDs so lange mit Zufallsdaten gequält, bis sie kaputt waren. Am längsten hielt eine 256 GByte große Samsung-SSD, sie gab erst nach dem Beschreiben mit knapp 10 PByte Daten auf. Doch sonderlich sinnvoll war dieser Test nicht.
Die Lebensdauer einer Flash-Zelle definiert sich nämlich nicht durch die Anzahl der Programmier- und Löschzyklen, bis ein Fehler auftritt, durch den sie sich nicht mehr programmieren, löschen oder lesen lässt. Dieser Wert ist in der Praxis irrelevant. NAND-Flash-Hersteller spezifizieren stattdessen eine Anzahl an Zyklen, bei denen der Flash die Daten noch für einen bestimmten Zeitraum ohne Auffrischung halten kann – dieser Zeitraum nennt sich Data Retention Time. Es nützt nichts, wenn die Flash-Zellen nach 10.000 Zyklen oder diversen Petabytes noch funktionieren, die Daten aber nach zwei Wochen Urlaub nicht mehr lesbar sind. Ein Überschreiten der spezifizierten Zyklen um den Faktor 3 bis 30 ist durchaus erreichbar, bevor eine SSD während eines Schreib- oder Lesetests ausfällt.
Typisch für 3D-TLC-Flash sind 1500 bis 3000 Zyklen, nach denen die Zellen bei einer stromlosen Lagerung von höchstens 40 °C die Daten für mindestens ein Jahr halten können.
Fehler machen
Flash-Zellen speichern elektrische Ladungen in einem Floating Gate beziehungsweise Charge Trap Layer, das von einer isolierenden Oxidschicht umschlossen ist [1]. Diese wird durch die Programmier- und Löschoperationen irreversibel geschädigt; man spricht vom Wear Out. Die Defekte entstehen durch das Aufbrechen atomarer Bindungen im Oxid und an der Grenzfläche des Substrates. Diese Störstellen, sogenannte Traps, können von Elektronen besetzt werden; sie schwächen die Potenzialbarriere zum Substrat. Mit wachsender Anzahl der Traps steigt die Wahrscheinlichkeit, dass ein Elektron in einer gewissen Zeit über eine solche Störstelle aus dem Floating Gate/Charge Trap Layer entkommt. Dieser Effekt, Trap Assisted Tunneling (TAT), ist die Ursache des Stress Induced Leakage Current (SILC), einem durch viele Programmier- und Löschvorgänge verursachten, schleichenden Ladungsverlust im Floating Gate.
Dieser Ladungsverlust begrenzt die Zeit für den Datenerhalt. Sie sinkt exponentiell mit der Anzahl der Programmier- und Löschzyklen.
Die Defekte im Oxid werden aber nicht nur zeitweilig von ungewollt abfließenden Elektronen aus dem Floating Gate besetzt, sondern auch von Elektronen, die beim Programmieren und Löschen durch das Oxid tunneln. Diese Ansammlung von überwiegend negativen Ladungen erhöht zum einem die Schwellwertspannung, die am Control Gate angelegt werden muss, damit sich ein Kanal bildet und der Transistor leitet, da sie genauso wirken wie Elektronen im Floating Gate/Charge Trap Layer. Ab einer bestimmten Anzahl an Elektronen, die im Oxid hängen geblieben sind, lassen sich die Zustände im Floating Gate nicht mehr differenzieren. Zum anderen verringert das plötzliche Detrapping, also das Ablösen von Elektronen von Fehlstellen, die Schwellwertspannung, wodurch die Bitfehlerrate steigt, was ebenfalls zu Datenverlust führt.
Als weiteres Problem ist der Stress für das Oxid während des Löschens umso größer, je mehr negative Ladungen bereits im Oxid gefangen sind, was wieder zu schnellerem Verschleiß führt.
Die Anzahl der an einem Defekt hängen bleibenden Elektronen zeigt eine Quadratwurzelabhängigkeit von der Anzahl der Programmier- und Löschzyklen. Das Ablösen verläuft logarithmisch mit der Zeit und ist bei Raumtemperatur nach ein paar Stunden weitestgehend abgeschlossen. Daraus folgt die gute Nachricht, dass der durch Trapping verursachte zusätzliche Verschleiß sich in normalen Anwendungsfällen vernachlässigen lässt. Einen relevanten Einfluss bekommt er erst, wenn die Anzahl der zulässigen Zyklen rechnerisch in weniger als ein bis zwei Jahren erreicht würde. Um die Wahrscheinlichkeit für Detrapping wieder über die für Trapping zu erhöhen, müsste man die Flash-Temperatur steigern, da das Detrapping mit steigender Temperatur exponentiell beschleunigt.
Möchte man etwa im Rahmen eines SSD-Vergleichstests die Ausdauer durch schnelles wiederholtes Beschreiben bewerten, sollte man das bei mindestens 70 °C tun, um das Ergebnis nicht durch einen Frühausfall aufgrund von Trapping zu beeinflussen.
Data-Care-Management
Es kommt bei einer SSD im Betrieb aber nicht nur zu Ladungsverlusten, sondern auch zu Ladungszuwächsen, die ebenfalls irgendwann zu Datenverlust führen. Dies geschieht durch den als Read Disturb bekannten Effekt. Beim Lesen einer Flash-Page müssen wegen der NAND-Verschaltung die Transistoren aller anderen Pages desselben Blocks leiten und einen niedrigen Widerstand aufweisen, um die Zustände der gewünschten Page präzise detektieren zu können.
Damit der Kanal der Feldeffekttransistoren niederohmig ist, muss an das Control Gate eine Spannung angelegt werden, die deutlich höher ist, als die im Floating Gate oder Charge Trap Layer gespeicherten Elektronen kompensieren können. Diese Spannung ist zwar niedriger als die Programmierspannung, dennoch reicht sie aus, um einigen Elektronen das Tunneln durch das Oxid zum Floating Gate oder Charge Trap Layer zu ermöglichen.
Daher sammeln sich immer mehr Elektronen im Floating Gate beziehungsweise Charge Trap Layer an. Am Anfang der Lebensdauer, bei wenigen Zyklen, ist der Read Disturb Effekt sehr schwach. Erst mit zunehmender Schädigung des Tunneloxids nimmt die Empfindlichkeit zu. Das Problem bei Read Disturb ist, dass die allmähliche Zunahme der Bitfehler der Fehlerkorrektur des SSD-Controllers verborgen bleibt, da sie nur die Pages des Blocks betrifft, die nicht gelesen werden.
Um die Datenintegrität sicherzustellen, verfügt die Firmware der SSD über ein Data-Care-Management. Dies greift ein, wenn die Bitfehlerrate bestimmte Schwellwerte überschreitet. Die Firmware kopiert dann die betroffenen Blöcke und frischt sie dadurch auf. Damit lassen sich die Data-Retention- und Read-Disturb-Effekte aufheben. Selbstverständlich kann das Data-Care-Management nur arbeiten, wenn die SSD an der Spannungsversorgung hängt.
Zur Überwachung des Read-Disturb-Effekts laufen Lesezähler für jeden Block mit. Weiterhin liest der Host regelmäßig den gesamten Flash, damit keine Bereiche mit hohen Bitfehlerraten verborgen bleiben.
Unterschiedliche Trigger lösen solche Scans aus, jeder Hersteller hat dabei seine eigene Strategie mit einer Kombination aus Zeit, Anzahl der Einschaltvorgänge, Menge der gelesenen oder geschriebenen Daten, Temperatur und Bitfehlerrate der vom Host gelesenen Nutzdaten.
Temperaturabhängigkeit
Die Dauer des Datenerhaltes hängt von der Schädigung der Oxidschichten ab, also der Anzahl der bereits erfolgten Programmier- und Löschzyklen. Weiterhin hat die Temperatur der Flashzellen einen entscheidenden Einfluss. Je höher die Temperatur ist, desto leichter können die Elektronen aus dem Floating Gate oder dem Charge Trap Layer durch die Oxidschicht entkommen.
Für jeden Flash-Typ und jede Strukturgröße existiert eine spezifische, temperaturabhängige Beschleunigung dieses Ladungsverlustes. Zur Modellierung wird auf die Arrhenius-Gleichung zurückgegriffen, die die Abhängigkeit einer chemischen Reaktion von der Temperatur näherungsweise beschreibt:
Für Ladungsverluste ergibt sich daraus folgende Gleichung:
mit
- AF = Beschleunigungsfaktor
- EA = Aktivierungsenergie [eV]
- k = Boltzmann-Konstante (8,62 · 10−5 eV/K)
- T1 = spezifizierte Temperatur [K]
- T2 = erhöhte Temperatur [K]
Die Aktivierungsenergie ist eine empirisch ermittelte Technologiekonstante. Sie liegt zwischen 0,9 und 1,1 eV für die aktuellen 3D-Flash-Technologien. T1 ist die Temperatur, für die der NAND-Flash-Hersteller Zuverlässigkeitsangaben gemacht hat (zum Beispiel zehn Jahre Datenerhalt bei 40 °C und maximal 10 Prozent Abnutzung). T2 ist die Temperatur, der die Flash-Zellen ausgesetzt sind. Beide Temperaturen sind in Kelvin anzugeben, also auf den absoluten Nullpunkt von −273,15 °C bezogen.
Damit ergibt sich für eine Flash-Temperatur von 70 °C:
Von zehn Jahren Datenerhalt bleiben bei +70 °C nur knapp fünf Monate übrig (120 Monate geteilt durch 25,6). Die reale Zeitdauer wird deutlich länger ausfallen, da die Parameter konservativ gewählt sind und die Mächtigkeit der Fehlerkorrektur nicht berücksichtigt ist. Dennoch hat sich diese Abschätzung wegen ihrer Einfachheit durchgesetzt.
Da Temperaturen über 40 °C typischerweise nur im Betrieb auftreten, verwendet man die Beschleunigungsberechnung hauptsächlich für die Trigger des Data-Care-Managements.
Die Bitfehlerrate von heutigem Flash hängt neben der Abnutzung, dem Read Disturb, der Lagertemperatur und der Lagerdauer (also der Zeit, die seit der Programmierung vergangen ist) noch von den Schwankungen in den Prozessen der Halbleiterfertigung ab. Unterschiedliche Wafer-Lose zeigen deutliche Abweichungen in den Bitfehlerraten.
Wegen dieser Schwankungen lässt sich kein präzises Modell entwickeln, und es ist immer ein Sicherheitsfaktor nötig, um den Datenerhalt garantieren zu können.
Flash als Backup- und Archivmedium
Möchte man NAND-Flash als Backup- oder Archivmedium nutzen, sollte die Data Retention Time höchste Priorität haben. Ein Flash-Backupmedium sollte immer unter 40 °C gelagert werden, also besser nicht im PC-Gehäuse verbleiben.
Ein gutes Kriterium für die Auswahl einer Archiv-SSD ist die Lebensdauerangabe in Terabytes Written (TBW) für den JEDEC Client Workload JESD218/219. Dieser gibt ein Nutzungsprofil vor, wie es für Einzelarbeitsplätze typisch ist. Nach Erreichen der spezifizierten TBW fordert die JEDEC noch mindestens ein Jahr Datenerhalt bei 30 °C. Dabei kommt es für eine Archiv-SSD weniger auf die Höhe des TBW-Wertes an, als vielmehr darauf, dass der Hersteller sich traut, eine Kombination aus Abnutzung und Datenerhalt zu garantieren. In den Datenblättern aktueller Consumer-SSDs mit SATA- oder NVMe-Schnittstelle findet man selten Angaben zu JEDEC Workloads oder zur Dauer des Datenerhalts, dennoch lässt sich eine SSD durchaus für die Archivierung nutzen – beachten Sie dazu die Hinweise im Kasten auf Seite 120.
USB-Sticks sind für die Archivierung nicht geeignet, da der verbaute Flash meist aus den unteren Qualitätsstufen stammt. Zudem verfügen sie selten über ein vollständiges Data-Care-Management und stellen keine (korrekten) Lifetime-Daten zur Verfügung, wodurch man keinen Überblick über den Verschleiß und den übrigen Gesundheitszustand hat.
Für SD- und CF-Speicherkarten gilt dies analog: SD-Karten bieten generell keine standardisierte Schnittstelle zum Abfragen von Lifetime-Daten. Für die Digitalkamera sollte man daher auf Produkte von NAND-Herstellern zurückgreifen, um keinen Flash zweifelhafter Qualität zu erhalten; die Medien sind aber nur bedingt zur Langzeitlagerung geeignet. Dies ergibt sich auch dadurch, dass aufgrund des Kostendrucks im Consumerbereich alle verfügbaren (Micro)SD-Karten schon lange auf 3D-TLC-NAND umgestellt sein müssten. Da aber SD-Controller, die die für TLC nötige LDPC-Fehlerkorrektur mitbringen, noch nicht lange verfügbar sind, kann man davon ausgehen, dass der größte Teil der aktuell am Markt verfügbaren SD-Karten mit dem deutlich schwächeren und für TLC-Flash ungeeigneten BCH-Verfahren arbeitet. Bei solchen Speichermedien ist eine deutlich geringere Anzahl an Löschzyklen zu erwarten, aber auch eine kürzere Data Retention Time sowie schlechtere Fähigkeiten, mit größeren Temperaturschwankungen umzugehen.
Auswahlhilfen
Die Hersteller industrieller Speicherlösungen garantieren üblicherweise zehn Jahre Datenerhalt bis zu einer Abnutzung von 10 Prozent bei allen Flash-Typen und -Technologien. Allerdings möchte man als Privatanwender nicht den hohen Preis für Industriespeicher bezahlen, sondern lieber auf günstige Consumerware zurückgreifen. Schließlich benötigt man kein Produkt, das einzeln bei −40 und +85 °C getestet wurde und dessen Komponentenzusammensetzung sich während fünf bis zehn Jahren Produktverfügbarkeit nicht ändert; einen Besuch vom Außendienstmitarbeiter zur gemeinsamen Qualifikation der SSD in seinem Desktop-PC erwartet man auch nicht.
Da Industriespeicher also aus Kostengründen für Backup- und Archivmedien ausscheidet und Enterprise-SSDs für hohe Endurance auf Kosten der Data Retention Time optimiert sind, kommen für Privatanwender nur Consumer-SSDs als Backup-Medium infrage – also alles, was intern eine SATA- oder NVMe-Schnittstelle hat. Hier findet man im Consumer-Bereich die beste Qualität. Nutzt man frische Laufwerke, werden die Daten auch eine mehrjährige stromlose Lagerung überstehen. (ll@ct.de)