Flash-Speicher

Die Technik hinter Solid State Drives (SSDs)

03.03.2014
Kaum eine andere Ergänzung für den PC bringt einen ähnlichen Geschwindigkeitsschub wie eine SSD. Ein genauer Blick auf die Technik zeigt, dass diese Datenträger mehr bieten müssen als eine Reihe von Flash-Speicher-Chips.
Foto: rashevskyi viacheslav, Shutterstock.com

Datenträger mit magnetisierten, rotierenden Platten sind ein Stück IT-Geschichte, das Computer seit ihrer Dämmerung in den 50er Jahren begleitet. Wer eine Festplatte aufschraubt, stellt fest, dass es sich um eine komplexe Maschine handelt. Im Vergleich erscheinen SSDs mit ihren unbeweglichen Halbleitern geradezu simpel: eine Reihe von Flash-Chips auf einer Platine – richtig? Nicht ganz: Bei genauem Hinsehen entpuppen sich SSDs als eigenständiges Speichersystem mit aufwendigem Controller, Cache und Speicherreserven.

Aufbau einer Speicherzelle

SSDs nutzen als Speicher Flash-Zellen. Anders als DRAM, das bei RAM-Speicherbausteinen zum Einsatz kommt, ist Flash nicht flüchtig. DRAM kombiniert einen Transistor mit einem Kondensator, um ein Bit zu speichern, und dieser ist auf Spannung angewiesen. Flash dagegen braucht keinen Kondensator, sondern kombiniert zwei Transistoren: einen Control-Gate-Transistor und einen Floating-Gate-Transistor.

Schema einer Flash-Speicherzelle: Ins Floating Gate tunneln bei angelegter Schreibspannung Elektronen, die wiederum das elektrische Feld des Control Gates ändern und damit die Leitfähigkeit der Zelle.

Das Floating-Gate erzeugt einen Käfig, der bei angelegter Spannung Elektronen einfangen kann und dann permanent hält – auch ohne Spannung. Der Käfig ist durch eine Siliziumoxid- Schicht isoliert und Elektronen treten über einen quantenphysikalischen Tunneleffekt ein. Die gefangenen Elektronen im Floating Gate beeinflussen das elektrische Feld des anliegenden Control Gates und damit die Leitfähigkeit der Flash-Zelle. Die messbare Schwellenspannung, die dazu dient, die Zelle leitfähig zu machen, steigt mit der Ladung des Floating Gates und unterscheidet eine ungeladene Speicherzelle von einer geladenen. Dieser Effekt ist reversibel: Eine angelegte Löschspannung wirft die Elektronen aus dem Floating Gate und macht die Zelle wieder leitfähiger. Ein einziger Flash-Speicherchip fasst mehrere Milliarden dieser Zellen zusammen.

Speichertypen: NAND und NOR

Die Anordnung und Schaltung der Flash-Zellen kann auf zwei Wegen erfolgen: NAND und NOR. Beide nutzen das Floating-Gate-Prinzip, aber einen unterschiedlichen logischen Aufbau, um Bits zu speichern und zu lesen. Die einfachste Schaltung, um Speicherzellen zu verbinden, ist die Anordnung in Zeilen und Spalten. Die Leitungen, die eine Zeile verbinden, werden „Word-Leitung“ genannt. Spalten sind über die sogenannte „Bit-Leitung“ verbunden. Bei NORSpeicher lässt sich so jede einzelne Zelle, also jedes Bit auslesen: Liegt an der Word-Leitung eine Spannung zum Lesen der Zelle an, zeigt die Bit-Leitung je nach Ladungszustand einer Zelle entweder eine Spannung oder keine. Der logische Operator NOR entscheidet dabei, ob eine Zelle eine 0 oder eine 1 enthält (0 NOR 0 = 1; 1 NOR 0 = 0). Der NOR-Aufbau hat aber einen Nachteil bei der Verwendung in Chips: Word- und Bit-Leitungen brauchen viel Platz und machen das Chipdesign sehr komplex und teuer in der Herstellung.

NOR-Speicher: Die Anordnung von Word-Leitungen und Bit-Leitungen erlaubt die bitweise Ansteuerung von Speicherzellen. Das aufwendige Design liefert langsamere Schreib- und Lesegeschwindigkeit. NAND-Speicher: Bei Massenspeichern kommt diese Anordnung zum Einsatz. Einzelne Speicherzellen können nicht direkt gelesen werden, sondern immer nur im Verbund als ganze Zeile (Speicher-Page).


Für Massenspeicher, die keine einzeln adressierbaren Bits brauchen, sondern in Sektoren zwischen 512 und 4096 Byte angesteuert werden, bietet sich ein anderes Logikgatter an: NAND (von Englisch „NOT AND“). Hier sind die Speicherzellen in einer Spalte über die Bit-Leitung in Serie geschaltet und zeilenweise geht eine Word-Leitung zu jeder Zelle. Gelesen werden kann immer nur eine ganze Zeile von Zellen, genannt „Page“ oder Speicherseite. Beim Anlegen einer Lesespannung an die Word-Leitung liefern die Bit-Leitungen der ganzen Zeile ein Ergebnis.

MLC und SLC: Mehr Bits pro Zelle

Eine weitere Platzersparnis bringt die Möglichkeit, mit unterschiedlichen Spannungsniveaus mehrere Ladungszustände in einer einzigen Zelle zu speichern. Dabei wird die Ladung des Floating Gates in Stufen unterteilt und je nach Schreibspannung unterschiedlich stark mit Elektronen aufgeladen. Mit acht Stufen kann eine Multi-Level-Zelle (MLC) 3 Bits enthalten. Demgegenüber enthält eine SLC (Single-Level- Zelle) immer nur ein Bit. In den üblichen SSDs, USB-Sticks und Speicherkarten kommt MLC zum Einsatz. Allerdings verträgt günstiger MLCSpeicher eine geringere Zahl an Schreibvorgängen als SLC. Eine Single-Level-Zelle hat eine Lebenserwartung von rund 100.000 Schreibvorgängen. Je nach Hersteller hält MLC nur einige tausend Schreibzyklen durch. Anschließend wird die Oxidschicht durchlässig und die Speicherzelle „vergesslich“.


Controller als Lebensversicherung

Hersteller setzen deshalb auf einen Trick, um einen frühen Ausfall von MLC-Speicherzellen zu vermeiden: Ein interner Controller verteilt Schreibbefehle gleichmäßig auf alle Speicherseiten der SSD und bietet zudem einen großzügigen Cache, um Daten erst in sinnvolle Strukturen zu ordnen. Jeder Schreibbefehl, den das Betriebssystem an die SSD sendet, wird also von deren Firmware optimiert und auf verschiedene Speicherseiten verteilt. Das Verhalten wird „Wear-Leveling“ genannt. Wie zuverlässig sich eine SSD im Dauerbetrieb zeigt, hängt also nicht nur von der Qualität der Halbleiter- Speicherzellen ab, sondern maßgeblich von der Controller-Logik.

Tipp: Sicheres Löschen von SSDs

Die Controller-Logik einer SSD steuert alle Schreibvorgänge, um Speicherzellen möglichst gleichmäßig zu nutzen. Der Nebeneffekt: Ein zuverlässiges Löschen und Überschreiben von Daten ist damit auf herkömmlichem Weg nicht möglich. Auch das mehrfache Überschreiben von Dateien oder gleich der gesamten SSD bietet keine Sicherheit, dass die zuvor gespeicherten Daten tatsächlich komplett weg sind. Einem Forscherteam an der University of California um Michael Wei ist es beispielsweise gelungen, mit einem eigens entwickelten Controller-Baustein vermeintlich gelöschte Daten von SSDs zu lesen. Nur direkte ATA-Befehle erlauben ein zuverlässiges Zurücksetzen jeder einzelnen Speicherzelle. Dazu ist der Befehl ATA „Secure Erase“ im Befehlssatz einer SSD untergebracht und kann von Tools angestoßen werden. Einige Hersteller liefern zu ihren SSDs passende Tools mit aus.

Parted Magic: Das Live-System lässt sich direkt von Plus-DVD starten und bietet neben dem bekannten Partitio-nierer Gparted ein Tool für ATA Secure Erase.

Es bietet sich herstellerunabhängig noch ein anderer Weg über Parted Magic an. Dies ist ein Live-System auf Linux-Basis, das unter anderem den bewährten Partitionierer Gparted mitbringt. Außerdem sind eine Reihe weiterer Festplatten- Tools enthalten, etwa auch ein Befehl für ATA Secure Erase. Der Einsatz von Parted Magic eignet sich eher für fortgeschrittene Anwender und erfolgt natürlich auf eigene Gefahr. Sie dürfen mit dem enthaltenen Löschwerkzeug für ATA Secure Erase nur auf direkt über SATA angeschlossene Laufwerke zugreifen. Keinesfalls aber auf Datenträger, die per USB und eSATA mit dem Rechner verbunden sind. Nach dem Start präsentiert Parted Magic einen englischsprachigen Desktop mit einem Windows-ähnlichen Anwendungsmenü. Hier gehen Sie auf „System Tools à Erase Disk“ und wählen dann die Option „Internal Secure Erase-Befehl schreibt Nullen in gesamten Datenbereich“. Die SSD wird damit komplett zurückgesetzt.

Dieser Artikel basiert auf einem Beitrag der CW-Schwesterpublikation PC-Welt. (mhr)