IT Hub · MyWorkLog Zurück
Deep Dive · Speichertechnik

Wie eine SSD sich erinnert

In einer SSD dreht sich nichts. Trotzdem bleiben Daten gespeichert, wenn der Strom weg ist. Der Trick ist eine winzige Ladung, die in isolierten Zellen gefangen wird. Von dort geht es über NAND-Seiten, Blöcke und einen Übersetzer zur Datei — und im direkten Vergleich zur HDD wird klar, warum beide Laufwerke so unterschiedlich reagieren.

KAPITEL 1Die Zelle hält Ladung

Eine Flash-Zelle ist ein Transistor mit einem zusätzlichen, vollständig isolierten Gate. Dieses Floating Gate sitzt zwischen Steuergate und Kanal und kann Elektronen festhalten. Jedes Elektron dort schirmt einen Teil des Gate-Felds ab, also braucht der Transistor mehr Spannung, bevor er leitet. Genau diese verschobene Schwelle liest der Controller später als Datenwert.

Beim Programmieren zieht eine hohe Spannung am Steuergate Elektronen aus dem Kanal durch die dünne Oxidschicht auf das Floating Gate — Fowler-Nordheim-Tunneln. Beim Löschen dreht sich das Feld um und die Ladung wandert zurück. Die Oxidschicht ist der Isolator und zugleich die empfindlichste Stelle der Zelle: Bei jedem Zyklus bleiben ein paar Ladungen darin hängen.

Abbildung 1Ladung auf dem Floating Gate verschiebt die Schwelle
Ladungszustand
Elektronen
432 e⁻
Schwelle
1,8 V
Zustand
00
Bits pro Zelle
2 MLC

Eine MLC-Zelle speichert zwei Bit über vier unterscheidbare Spannungsfenster; TLC nutzt acht, QLC sechzehn. Der gelöschte Zustand 11 liegt unter null Volt — die Zelle leitet dann schon ohne Gate-Spannung. Die Pegel sind so codiert, dass sich Nachbarn in genau einem Bit unterscheiden (Gray-Code): Ein verlesener Nachbarpegel kostet deshalb höchstens ein Bit statt zwei.

Die Elektronenzahl ist hier aus der Schwellenverschiebung gerechnet (Q = C · ΔVTH, rund 120 Elektronen je Volt). Bei den kleinsten Zellen sind es nur noch einige Dutzend — dort zählt praktisch jedes einzelne Elektron.

Die Zelle speichert also nicht „eine Datei“ und auch nicht direkt eine Null oder Eins. Sie speichert eine analoge Ladungsmenge, die der Controller in ein Spannungsfenster einordnet. Aus vielen solchen Fenstern entstehen Seiten, aus Seiten werden Blöcke und aus Blöcken ein Laufwerk.

Heute steht da kein Floating Gate mehr

Aktuelle Laufwerke stapeln die Zellen in mehr als 200 Lagen übereinander (3D-NAND) und fangen die Ladung meist nicht mehr in einem leitenden Gate, sondern in einer isolierenden Nitridschicht — Charge-Trap-Flash. Das Prinzip bleibt identisch: eingesperrte Ladung verschiebt die Schwelle. Weil man beim Stapeln nicht mehr in die Fläche schrumpfen muss, sind die einzelnen Zellen dabei sogar wieder größer geworden, was Ausdauer und Fehlerrate spürbar verbessert hat.

KAPITEL 2Viele Zellen werden NAND

NAND-Flash schaltet Zellen in langen Reihen hintereinander. Eine Seite ist die kleinste Einheit, die der Controller programmieren kann — häufig 4 bis 16 KiB Nutzdaten plus Platz für die Fehlerkorrektur. Löschen geht dagegen nur blockweise: Ein Block fasst hunderte bis tausende Seiten und wird über eine hohe Spannung am Substrat komplett in den gelöschten Zustand zurückgesetzt.

Daraus folgt die Regel, die alles Weitere erklärt: Programmieren geht seitenweise, Löschen nur blockweise — und eine belegte Seite lässt sich nicht einfach überschreiben. Wer eine Seite ändern will, bekommt eine neue.

Abbildung 2Schreiben füllt Seiten, Löschen leert den ganzen Block
Gültige Seiten
2 / 8
Ungültige Seiten
0
Freie Seiten
6
Löschzyklen
0

„Seite ändern“ zeigt den Kern: Die neue Version landet in einer freien Seite, die alte wird nur als ungültig markiert. Der Platz kommt erst zurück, wenn der ganze Block gelöscht wird — das erledigt später die Garbage Collection. Ist keine freie Seite mehr da, hilft nur noch löschen.

Der Block hier hat acht Seiten, damit man ihn zählen kann; echte Blöcke fassen hunderte bis tausende und damit mehrere Megabyte. Die Zeiten daneben sind Größenordnungen für TLC-NAND: Lesen ist billig, Programmieren kostet ein Vielfaches, Löschen noch einmal deutlich mehr.

KAPITEL 3Der Controller übersetzt

Das Betriebssystem denkt in logischen Blöcken: LBA 42 ist immer LBA 42. Die NAND-Seiten darunter haben aber eine begrenzte Lebensdauer, lassen sich nicht überschreiben und werden nur blockweise gelöscht. Zwischen beide Welten schiebt der SSD-Controller deshalb eine Übersetzungstabelle, die Flash Translation Layer, kurz FTL.

Abbildung 3Dieselbe logische Adresse, jedes Mal eine andere Seite
Füllstand
Logisch
LBA 42
Physisch
B3 · P07
Write Amplification
1,72×
Freie Seiten
56 %

Die logische Adresse bleibt stehen, die physische wandert bei jedem Schreibvorgang — bevorzugt in einen anderen Block, damit die Abnutzung sich verteilt (Wear-Leveling). Die alte Seite wird rot: belegt, aber wertlos.

Write Amplification ist das Verhältnis aus tatsächlich geschriebenen Flash-Daten zu den Nutzdaten des Betriebssystems. Der Regler rechnet mit der einfachen Näherung WA = 1/(1−u) für zufällige Schreibmuster: Je voller das Laufwerk, desto mehr gültige Seiten muss die Garbage Collection beim Aufräumen mitschleppen. Echte Controller wählen die Opferblöcke geschickter und trennen heiße von kalten Daten, kommen also günstiger weg — der Trend stimmt trotzdem.

Die FTL ist der Grund, warum eine SSD nicht wie ein großer USB-Stick funktioniert. Sie arbeitet ständig im Hintergrund: Wear-Leveling verteilt die Abnutzung, ECC rekonstruiert einzelne gekippte Bits, Garbage Collection räumt Blöcke frei, und TRIM meldet dem Laufwerk, welche Seiten das Dateisystem gar nicht mehr braucht. Ohne TRIM hält der Controller gelöschte Dateien für gültige Daten und kopiert sie beim Aufräumen brav mit. Dazu kommt ein Reserveanteil, den der Nutzer nie zu sehen bekommt — Over-Provisioning, typisch 7 bis 28 Prozent. Beides zusammen ist der Grund, warum ein randvolles Laufwerk beim Schreiben einbricht.

KAPITEL 4SSD gegen HDD: zwei Wege zum selben Bit

Eine HDD speichert Bits als Magnetisierung winziger Bereiche auf rotierenden Scheiben. Bevor auch nur ein Byte fließt, muss zweierlei passieren: Der Arm schwenkt den Kopf auf die richtige Spur, und danach dreht sich die Scheibe so lange weiter, bis der gesuchte Sektor unter dem Kopf durchläuft. Beides sind mechanische Wartezeiten — und beide lassen sich ausrechnen. Eine halbe Umdrehung dauert bei 7200 Umdrehungen pro Minute immer 4,2 ms, egal wie gut die Firmware ist.

Die SSD hat nichts zu bewegen. Sie schlägt die Adresse in der FTL nach, liest die Flash-Seite aus und schiebt die Daten heraus. Kein Weg, keine Wartezeit auf eine Umdrehung.

Abbildung 4Derselbe Leseauftrag an beide Laufwerke, in Zeitlupe
SSD
0,09 ms
HDD
12,08 ms
Faktor
138×
SSD-Zugriffe derweil
0

Spur suchenauf den Sektor wartenDaten übertragen

Die Simulation läuft in Zeitlupe — eine Sekunde auf dem Bildschirm sind vier Millisekunden im Laufwerk. Gerechnet wird mit vergleichbarer Klasse auf beiden Seiten: 7200 min⁻¹, 200 MB/s und ein Suchmodell mit Wurzelkennlinie gegen eine SATA-SSD mit 550 MB/s und 60 µs Lesezeit im NAND. Bei zufälligen 4 KiB liegen zwei Größenordnungen dazwischen. Bei einem Megabyte am Stück schrumpft der Vorsprung auf weniger als das Dreifache, weil dann nur noch die Transferrate zählt — genau dort ist die HDD konkurrenzfähig geblieben. Eine NVMe-SSD würde auch dieses Feld wieder klar gewinnen.

In IOPS gerechnet ist der Abstand bei einzelnen kleinen Zugriffen etwa 11.000 gegen 80. Datenblätter nennen für SSDs trotzdem gern sechsstellige Werte — die gelten für tiefe Warteschlangen, in denen das Laufwerk dutzende Anfragen gleichzeitig auf verschiedene NAND-Dies verteilt. Genau das kann eine HDD nicht: Sie hat einen Arm, und der ist immer nur an einer Stelle.

Merksatz

Eine SSD ist nicht einfach eine HDD ohne Scheiben. Sie löst dasselbe Problem mit einer anderen Physik: Elektronen statt Magnetisierung, Mapping statt Kopfposition und Fehlerkorrektur statt „ein Bit ist ein Bit“.

Wo die HDD gewinnt, hat nichts mit Geschwindigkeit zu tun: Preis pro Terabyte, verfügbare Kapazität pro Gehäuse und ein Verschleißverhalten, das nicht vom Schreibvolumen abhängt. Wo die SSD gewinnt: Latenz, kleine Zugriffe, Parallelität, Lautlosigkeit, Erschütterungsfestigkeit und Stromaufnahme.

KAPITEL 5Warum Flash verschleißt

Jeder Programm-Lösch-Zyklus belastet das Tunneloxid. Ein Teil der Elektronen bleibt darin hängen, statt vollständig durchzugehen. Die Folge: Die Schwelle einer programmierten Zelle sitzt nicht mehr genau dort, wo sie sitzen soll, und die Verteilungen werden breiter. Das nutzbare Spannungsfenster wächst dabei nicht mit — es ist von der Physik der Zelle vorgegeben, nicht von der Anzahl der Bits, die man hineinlegen möchte.

Genau daraus entsteht der Zielkonflikt zwischen SLC, MLC, TLC und QLC. Wer vier Bit in eine Zelle legt, muss sechzehn Pegel in dasselbe Fenster quetschen: Der Abstand zwischen zwei Pegeln sinkt auf ein Achtel dessen, was SLC zur Verfügung hat — bei praktisch unverändertem Rauschen.

Abbildung 5Festes Fenster, mehr Pegel, weniger Abstand
Abnutzung
Bits pro Zelle
3
Pegelabstand
750 mV
P/E-Zyklen
0 / 3.000
Rohbitfehlerrate
1,2 · 10⁻⁵

Die Rohbitfehlerrate ist hier aus dem Überlapp benachbarter Gauß-Verteilungen gerechnet, nicht abgelesen: Sie zeigt die Größenordnung, kein bestimmtes Bauteil. Die Fehlerkorrektur moderner Laufwerke (LDPC) fängt Raten bis etwa 10⁻² ab; wird es darüber eng, sortiert die Firmware den Block aus und nimmt einen Reserveblock.

Die Zyklenzahlen sind typische Größenordnungen für die jeweilige Zellart. Over-Provisioning, Controller und Firmware verschieben sie deutlich, und Wear-Leveling sorgt dafür, dass nicht immer dieselben Blöcke altern.

Deshalb betreiben fast alle TLC- und QLC-Laufwerke einen Teil ihrer Zellen bewusst im SLC-Modus: nur ein Bit, riesige Abstände, sehr schnelles Schreiben. Solange die Daten in diesen Cache passen, sieht man die volle Datenblattgeschwindigkeit. Ist er voll, muss der Controller während des Schreibens gleichzeitig nach TLC oder QLC umschichten — an dieser Stelle bricht die Kurve bei großen Kopiervorgängen ein, oft von mehreren Gigabyte pro Sekunde auf einen Bruchteil davon. Das ist kein Defekt, sondern die Konstruktion.

KAPITEL 6Was von der SSD bleibt

Wenn du eine SSD anschließt, siehst du keine Zellen und keine NAND-Blöcke, sondern Dateien. Dazwischen arbeitet eine Kette aus Ladung, Spannungsfenstern, Fehlerkorrektur und Adressübersetzung. Genau diese Schichten erklären den Alltag: SSDs fühlen sich sofortig an, weil ihnen der mechanische Weg fehlt. Sie werden langsamer, wenn sie voll sind, weil dann die Write Amplification steigt. Und sie halten trotzdem lange, weil der Controller die Abnutzung verteilt. HDDs bleiben daneben das, was sie immer waren: günstig, groß und beim langen Lesen am Stück gar nicht so weit weg.

Quellen und weiterführende Literatur

Weiter im IT Hub

Der Deep Dive gehört zum IT-Bereich von MyWorkLog. Dort liegt auch der Skill-Baum, der deine Berichtsheft-Einträge in Level übersetzt und dein Wissen abfragt.