

Eine komplexe Angelegenheit: So funktioniert eine SSD
Die SSD löst die Festplatte als primären Massenspeicher immer mehr ab. Die Vorzüge bezüglich Geschwindigkeit und Mobilität liegen auf der Hand. Daten werden nicht mehr mechanisch gelesen und geschrieben, sondern elektrisch. Doch, wie funktioniert das genau?
Jahr für Jahr erscheinen neue Prozessoren-Generationen, die riesige Leistungssprünge versprechen. Der Normalverbraucher merkt davon aber meistens nicht allzu viel. Ganz anders bei der SSD. Ein Wechsel von einer HDD auf eine SSD ist tatsächlich bei allen Anwendungen spürbar.
In den guten alten Zeiten war ich es mir gewohnt, nach dem Starten des PCs noch einen Kaffee zu holen, bevor ich mit der Arbeit beginnen konnte. Der Boot-Vorgang dauerte eine gefühlte Ewigkeit. Was habe ich gestaunt, als ich das erste Mal den Bootvorgang eines Notebooks mit SSD erleben durfte. Das war in etwa das Äquivalent von Tram und IC. Oder Slow Food und Fast Food. Oder laufen und stehen.
Aber was macht die SSD so schnell? Im Gegensatz zur Festplatte haben SSDs keine Lese-/Schreibköpfe und rotierende Platter. Jeder Block einer SSD ist in derselben Geschwindigkeit erreichbar. Egal, ob sie nun nebeneinander liegen oder auf einem anderen Modul. Deshalb macht übrigens das Defragmentieren einer SSD keinen Sinn. Die Zugriffszeiten sind kürzer und Lese-/Schreibgeschwindigkeiten höher.
Deshalb entschied ich mich, einen Artikel zur Funktionsweise der SSD zu schreiben. Wenn wir genau verstehen, wie eine SSD funktioniert, ist auch nachvollziehbar, wieso sie sich abnutzt. Aber auch andere Fragen, die sich häufig zu SSDs stellen machen dann Sinn. Beispielsweise wieso SSDs tatsächlich langsamer werden können, wenn sie nicht mehr über viel Speicherplatz verfügen.
Aber genug der Vorrede. Tauchen wir ein in die Materie. Eine kleine Vorwarnung: Es wird zum Teil sehr technisch. Eine Solid State Drive besteht aus der Platine mit Interface (Bsp.: SATA, PCIe, SATA-Express), NAND-Flash-Speicher, je nach SSD mit Cache-Speicher, Controller und der darauf befindlichen Firmware. Angesteuert wird die SSD über ein Protokoll (AHCI oder NVMe). Beginnen wir mit dem NAND-Flash.
Was ist NAND-Flash?
Im Gegensatz zur HDD werden beim NAND-Flash-Speicher Daten elektronisch geschrieben/gelesen. NAND-Flash zeichnet sich durch hohe Speicherdichte und nicht flüchtige Datensicherung. Er tut also das, was die Platter auf der Festplatte tun: Er speichert Daten dauerhaft ab. Das geschieht, indem Spannung erzeugt und gelesen wird.
Von Bit Lines und Word Lines
Ein NAND Block besteht aus Bit Lines und Word Lines. Die Bit Lines verlaufen parallel zueinander. Sie sind aus Silizium und werden durch eine sogenannte Shallow Trench Isolation (STI) voneinander getrennt. Die Word Lines verlaufen senkrecht zu den Bit Lines. Auf ihnen liegt das Control Gate und sie bestehen aus Polysilizium. Dort wo sich Bit Line und Word Line überschneiden befindet sich die Speicherzelle.
Die einzelnen Speicherzellen sind sogenannte Floating Gate Metal Oxide Semiconductor Field Effect Transistors (FGMOS). Der Floating Gate liegt zwischen Control Gate und der Bit Line. Es ist eine elektrisch isolierte Halbleiterschicht, die Ladung speichert und in der Isolationsschicht schwebt. Im Floating Gate befindliche Elektronen entladen sich auch im spannungslosen Zustand über mehrere Jahre (zwei bis zehn Jahre) nicht.
Schauen wir uns die Schnittstelle zwischen Bit Line und Word Line etwas genauer an. Und zwar entlang der Word Line. Das Control Gate umgibt das Floating Gate. Die zwei Gates werden von einem Oxide-Nitride-Oxide-Layer (ONO) getrennt. Unter dem Floating Gate befindet sich das Tunnel Oxid (ein Nichtleiter). Darunter folgt die Bit Line mit Source und Drain.
Pages, Blocks, Planes und Dies
Die Speicherzellen in einer Word Line sind in einer Page zusammengefasst. Pages sind die kleinsten Einheiten auf einer SSD, die gelesen oder beschrieben werden können. Je nach Fertigungsverfahren oder Flash-Typ können Pages 2 KB, 4 KB, 8 KB oder 16 KB gross sein.
Mehrere Pages werden in Blocks zusammengefasst. Pro Block finden sich zwischen 128 und 256 Pages. Ein Block ist die kleinste Einheit, die gelöscht werden kann. Technisch wäre das zwar auch auf Page Niveau möglich. Die dazu nötige Spannung würde die Speicherzellen aber derart belasten, dass sich die Lebensdauer stärker als beim Löschen auf Block Niveau verkürzen würde (zur Abnützung der Speicherzellen folgt weiter unten mehr).
Die Blocks wiederum sind üblicherweise auf zwei Planes pro Flash-Modul (auch Die) aufgeteilt. Die Module kommen auf der Platine zu liegen. Dort sind sie mit vier bis zehn Kanälen an den Controller gebunden.
Exkurs: Langsamer werdende SSD
Wie werden Daten gelesen und gespeichert?
Vereinfacht gesagt, werden beim Flash-Speicher Daten gespeichert, indem Elektronen auf den Floating Gate gelegt oder davon entfernt werden. Gelesen werden die Bits anhand der Spannung. Wenn Elektronen im Floating Gate präsent sind, hat das Bit den Wert 0. Wenn keine Elektronen im Floating Gate sind, hat das Bit den Wert 1. Als leer oder gelöscht gelten die Speicherzellen, wenn sie den Wert 1 haben und als beschrieben, wenn sie den Wert 0 haben.
Und wie funktioniert das genau? Beginnen wir mit dem Lesen.
Lesen
Löschen
Schreiben/Programmieren
Beim Schreiben werden die Elektronen auf das Floating Gate übertragen und der Bit-Wert 0 wird gesetzt. Wenn eine hohe positive Spannung auf das Kontroll-Gate ausgeübt wird und währenddessen eine weitere auf den Drain, können Elektronen durch die Oxidschicht auf das Floating Gate gelangen. Dieser Vorgang wird Hot Electron Injection genannt.
SLC, MLC und TLC
SLC
Da nur ein Bit pro Speicherzelle gespeichert wird, ist die Fehlerrate sehr gering. Für das Lesen und Schreiben sind zudem nur zwei Spannungsniveaus nötig, was für hohe Geschwindigkeit sorgt und den Stromverbrauch tief hält. Bei SLC-Flash geht man von einer Lebensdauer von 100 000 Schreibzyklen pro Block aus.
MLC
TLC
Beim TLC-Flash verschärfen sich die Unterschiede zum SLC gegenüber dem MLC nochmal. TLC ist noch günstiger in der Fertigung als MLC. Die Speicherzellen müssen hier acht Spannungsniveaus vertragen. Im Vergleich zu SLC dauert das Lesen etwa vier Mal so lange und das Schreiben gar sechs Mal so lange. Bei der Lebenserwartung geht man von 1000 Schreibzyklen pro Block aus.
Exkurs: Lebensdauer einer SSD
Wie bereits erwähnt, ist das Schreiben nur auf einer leeren oder gelöschten Speicherzelle möglich. Ein Überschreiben von Daten im engeren Sinne ist nicht möglich. Bei einer Änderung müssen Daten zuerst gelöscht und dann neu geschrieben werden. Deshalb spricht man von Schreibzyklen bei der Lebensdauer.
Controller/Prozessor
Write Amplification
Garbage Collection
Um dem Phänomen der langsamer werdenden SSD bei wenig Speicherkapazität entgegenzuwirken, existiert der Hintergrundprozess Garbage Collection. Dabei werden nicht vollständige Blocks kopiert und mit anderen nicht vollständigen Blocks in neuen, vollen Blocks zusammengefügt. Die alten Blocks werden danach gelöscht und sind damit wieder frei, um beschrieben zu werden. Das geschieht mit Garbage Collection in Zeiten von keinen respektive wenigen Zugriffen auf die SSD.
TRIM
Wear Leveling
Weiterentwicklungen
Andere Möglichkeiten mehr Speicher auf engerem Raum zu platzieren, wurden bereits mit MLC und TLC besprochen. Aber auch hier ist irgendwann eine physikalische Grenze erreicht. Zum Schluss dieses Artikels möchte ich noch auf zwei Weiterentwicklungen blicken, welche die Speicherkapazität und Geschwindigkeit von SSDs verbessert haben und weiter verbessern werden.
3D-NAND oder V-NAND
NVMe
Technologie und Gesellschaft faszinieren mich. Die beiden zu kombinieren und aus unterschiedlichen Blickwinkeln zu betrachten, ist meine Leidenschaft.
Interessantes aus der Welt der Produkte, Blicke hinter die Kulissen von Herstellern und Portraits von interessanten Menschen.
Alle anzeigen



