SSD - Hardware-Zone

Direkt zum Seiteninhalt
Solid-State-Drive
Das Solid-State-Drive oder Halbleiterlaufwerk ist im Gegensatz zur Festplatte ein vollständig elektronisches Speichermedium. Es besteht aus mehreren Halbleiterbausteinen (sog. Flash-Speicher), die sich durch hohe Übertragungsraten und niedrige Zugriffszeiten auszeichnen.

Quelle: Wikipedia/Samsung Belgien
Aufbau
Ein SSD besteht aus einem Steuerungschip (Controller), einem schnellen Pufferspeicher (Cache) und mehreren Flash-Speicherbausteinen, in denen die Daten aufbewahrt werden. Flash-Speicher bestehen wie Arbeitsspeicher (DRAM) aus vielen Millionen Zellen. Eine einzelne Zelle besteht aus  einem Transistor, dessen unterschiedliche Ladungszustände die Zahlen EINS und NULL darstellen. Folglich kann pro Zelle die Informationseinheit 1 Bit gespeichert werden. In SSDs werden 4 verschiedene Typen von Flash-Speichern eingesetzt:
Flash-Typ
SLC
(Single-Level Cell)
MLC
(Multi-Level Cell)
TLC
(Triple-Level Cell)
QLC (Quad-Level-Cell)
Bit pro Speicherzelle
12, 434
Preis (+ = am geringsten)
++++++++++
Schreibgeschwindigkeit
++++++++++
Dauer eines Löschvorgangs (ms)
1,5 - 235>6
Lebensdauer (Schreibvorgänge)
100.0003.0001.000100
Geöffnete SSD
Aktuell am weitesten verbreitet sind Solid-State-Laufwerke mit TLCs. Je mehr Bits in einer Speicherzelle gespeichert werden können, desto günstiger ist der Speicherchip. Allerdings wirkt sich eine Erhöhung der Speicherkapazität nicht nur negativ auf die Geschwindigkeit bei Schreib- und Löschvorgängen aus, sondern auch auf die Lebensdauer. Eine MLC kann beispielsweise nur etwa 3.000-mal beschrieben werden, bevor sie unbrauchbar wird. Anders ausgedrückt: Würde man die Zelle 30x am Tag mit neuen Daten beschreiben, wäre sie nach etwa 100 Tagen bereits defekt. Zum Vergleich: Eine normale Festplatte verträgt mehrere Milliarden Schreibvorgänge. Die Lebensdauer einer Zelle kann aber deutlich verlängert werden, indem der Steuerungschip Schreibvorgänge auf ein Minimum reduziert und auf möglichst viele Speicherzellen verteilt.

Unterschiede zwischen DRAM- und Flash-Speicherzellen

DRAM-Speicher
  
Der größte Unterschied zwischen DRAM- und Flash-Speicher liegt im internen Aufbau der Schaltung.
Eine DRAM-Speicherzelle besteht aus einem Feldeffekttransistor (FET) und einem Kondensator. Der Transistor dient als Schalter zur Auswahl der Zelle, die beschrieben oder gelesen werden soll. Sobald an der Steuerelektrode, die mit der Wortleitung verbunden ist, eine Spannung angelegt wird, wird der Kondensator (verbunden mit Source) an die Schreib-/Leseleitung (verbunden mit Drain), auch Bitleitung genannt, angeschlossen. Über die Spannung auf der Bitleitung kann der Kondensator dann ge- oder entladen werden.

Autor: JürgenZ. [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/)]

Die Speicherzellen bilden eine Matrix aus m Zeilen und n Spalten (s. Abb.). Wortleitungen verbinden die Steuerelektroden mehrerer Transistoren miteinander und bilden so eine Zeile (engl. Page), Bitleitungen hingegen verbinden die Drain-Gebiete mehrerer Transistoren und bilden eine Spalte. Bei Aktivierung einer Wortleitung geben alle angeschlossenen Zellen ihren Inhalt auf die entsprechenden Bitleitungen aus. Jede Bitleitung verfügt über einen eigenen Leseverstärker, der nicht nur das ausgegebene Signal verstärkt, sondern auch als Zwischenspeicher dient.

Die beiden entscheidenden Vorteile gegenüber Flash-Speicher sind der direkte und frei wählbare Zugriff (engl. random access)  auf einzelne Speicherzellen sowie die extrem niedrigen Zugriffszeiten.
Der wesentliche Nachteil von DRAM-Speicherzellen ist, dass die Kondensatoren infolge von Leckströmen im Laufe der Zeit ihre Ladung verlieren und deshalb regelmãßig aufgefrischt werden müssen. Dynamisches RAM ist deshalb auf eine dauerhafte Stromversorgung angewiesen. Ein weiteres Manko ist der im Vergleich zu Flash-Speicherzellen bauartbedingte hohe Platzbedarf der einzelnen Zellen. DRAM-Speicher eignet sich somit nicht zur Realisierung großer und preiswerter Massenspeicher.

Flash-Speicher
   
Eine Flash-Speicherzelle besteht aus einem speziellen Feldeffekttransistor, der eine zusätzliche Steuerelektrode (engl. Floating Gate) besitzt, die durch eine Sperrschicht elektrisch isoliert ist und daher wie ein Kondensator eine elektrische Ladung speichern kann. In neueren Flash-Speichern werden die Elektronen nicht in einem Floating-Gate, sondern in einer „Ladungsfalle“ (engl. charge trap), einer zusätzlichen Haftschicht zwischen dem Kanal und der Steuerelektrode, festgehalten. Diese Art von Flash-Speicher wird deshalb auch als Charge-Trap-Flash bezeichnet. Über den Spannungspegel an der Steuerelektrode („Kontroll-Gate“), die mit der Wortleitung verbunden ist, kann das Verhalten des FET gesteuert werden:

  • Wenn keine Spannung anliegt (0 V), ist der Transistor nicht-leitend bzw. gesperrt. In diesem Zustand wird die Ladung im Floating-Gate bzw. in der Ladungsfalle auch über viele Jahre hinweg aufrechterhalten.
  • Schreibzustand: Beim Anlegen einer ausreichend hohen positiven Spannung (~10 V) wird der Transistor in den Schreibzustand versetzt: Einzelne Elektronen können infolge des Tunneleffekts die Sperrschicht überwinden und so das Floating-Gate aufladen. Der Kanal wird nicht-leitend (Eins-Zustand).
  • Löschzustand: Wird hingegen eine hohe negative Spannung angelegt, wird der Transistor in den Löschzustand gebracht: Die Elektronen werden wieder aus dem Floating-Gate hinausgetrieben, wodurch dieses wieder entladen wird. Der Kanal wird leitend (Null-Zustand).
  • Lesezustand: Liegt die normale Betriebsspannung (3,3 V) an, befindet sich der Transistor im Lesezustand und ist bei ungeladenem Floating-Gate leitend (Null-Zustand) und bei geladenem Floating-Gate nicht-leitend (Eins-Zustand).

Durch Verwendung zusätzlicher Spannungs- bzw. Ladungspegel können mehrere Bits in der Zelle gespeichert werden: MLCs haben 4 unterschiedliche Ladungspegel (00, 01, 10, 11 = 2 Bit), TLCs 8 Ladungspegel (= 3 Bit) und QLCs sogar 16 Ladungspegel (= 4 Bit). Allerdings wird die Auswertung bzw. Erkennung des Ladungspegels aufgrund kleinerer Toleranzen mit zunehmender Speicherdichte schwieriger, wodurch die Anzahl fehlerhafter Bits zunimmt.

NAND-Flash-Speicher



In Flash-Speichern für den Einsatz in Solid-State-Laufwerken werden wie bei einem NAND-Gatter mehrere Transistoren bzw. Speicherzellen in Reihe geschaltet. Sie werden deshalb auch als NAND-Flash bezeichnet.  Auch hier  sind die Speicherzellen als Matrix mit m Zeilen (Pages) und n Spalten organisiert, die aber in Blöcke unterteilt ist.  Aufgrund dieser Guppierung können die Speicherzellen zwar einzeln beschrieben, aber nur blockweise gelöscht werden. Näheres zu Blöcken und Pages unter Funktionsweise.

Die Bezeichnung Flash-Speicher wurde übrigens von einem Arbeitskollegen des Erfinders vorgeschlagen, da ihn das Löschen eines Blocks an das Auslösen des Blitzes bei einer Kamera (engl. Flash) erinnerte.[Quelle]

Flash-Speicher hat gegenüber DRAM-Speicher mehrere Vorteile: Die einzelnen Speicherzellen behalten ihren Inhalt über Jahre hinweg ohne jegliche Stromversorgung und NAND-Flash-Speicher ist platzsparender und günstiger herzustellen, aber trotzdem um ein Vielfaches schneller als Festplatten. Außerdem können mehrere Bits pro Zelle gespeichert werden.
Flash-Speicher hat auch einige Nachteile, die aber dank ausgefeilter Algorithmen (s. FAQ) kaum mehr ins Gewicht fallen: Bei jedem Schreib- oder Loeschvorgang wird die Sperrschicht durch hindurchdringende Elektronen leicht beschaedigt, wodurch die korrekte  Auswertung des Ladungspegels immer schwieriger und die Zelle so aufgrund zu vieler Bitfehler irgendwann unbrauchbar wird. Je mehr Ladungspegel von einer Speicherzelle zur Datenspeicherung genutzt werden, desto kürzer ist deren Haltbarkeit. Darüber hinaus können Flash-Speicherzellen nicht direkt überschrieben werden, sondern müssen zuerst gelöscht werden. Dadurch erhöht sich die Zugriffszeit.


  
V-NAND-Flash-Speicher

Bei NAND-Flash-Speicher werden die Transistoren nebeneinander angeordnet und benötigen deshalb verhältnismäßig viel Platz. Aufgrund das rasant wachsenden Speicherbedarfs stößt die planare Technik mittlerweile jedoch an ihre Grenzen. Seit 2016 setzen die Hersteller von SSDs deshalb verstärkt V(ertical)-NAND-Flash-Speicher ein, bei beim die Speicherzellen übereinander angeordnet und vertikal miteinander verbunden sind. So lassen sich auf gleicher Fläche wesentlich mehr Speicherzeilen unterbringen.

Funktionsweise
Die Speicherzellen werden intern in Pages (Seiten) von jeweils 4.096 Bytes (4 KB) Größe zusammengefasst. 128 Pages bilden wiederum einen Block (Erasable Block) von 512 KB. Daten werden zwar seitenweise gelesen und geschrieben, aber nur blockweise gelöscht.
In folgenden Beispielen ist zugunsten einer leichteren Verständlichkeit die Blockgröße auf lediglich 12 Pages beschränkt.
Speichern einer Textdatei mit einer Größe von 20 KB


Der Schreibvorgang lässt sich am einfachsten beschreiben: Es werden 5  Pages (20 / 4 KB pro Page = 5) hintereinander in den nächsten freien Block geschrieben.
Die Textdatei wird geändert und erneut gespeichert. Neue Größe: 28 KB

Flash-Speicherzellen können aus technischen Gründen nicht einfach überschrieben werden. Deshalb sind mehrere Schritte notwendig:  
1. Die alten Pages A - E werden als obsolet gekennzeichnet.  
2. Die veränderten (A' - E') und die neuen (F, G) Daten werden in die nächsten freien Pages geschrieben.
Garbage Collection - Müllabfuhr



Die Schritte 3 und 4 werden auch als "Garbage  Collection" bezeichnet und nur durchgeführt, wenn der Block gefüllt ist und obsolete Pages enthält:
3. Die Pages A' - E', F und G werden in den nächsten freien Block 2 kopiert.  
4. Block 1 wird gelöscht.  
Nachteil: Auch wenn sich nur 8 Kilobyte geändert  haben, muss der gesamte Block von 512 KB kopiert werden. Diese  unerwünschte Vervielfachung von Schreiboperationen nennt man auch  Write-Amplification.
Schnittstellen und Bauformen
SATA-SSDs

Halbleiterlaufwerke im 2,5-Zoll-Format mit SATA-Schnittstelle stellten anfänglich die am weitesten verbreitete Variante dar. Da aber immer mehr SSDs den maximalen Datendurchsatz des SATA-Standards von 600 MB/s überschreiten, werden sie langsam durch Modelle, welche die PCI-Express-Schnittstelle zur Datenübertragung nutzen, ersetzt. SATA-SSDs eignen sich für Anwender, die ein günstiges Solid-State-Laufwerk suchen, das vor allem sehr viel Platz bietet (2 - 4 TB).

PCIe-SSDs

Während sie anfangs nur als normale Erweiterungskarten erhältlich waren, gibt es SSDs mit PCI-Express-Schnittstelle mittlerweile im platzsparenderen M.2-Format. Zur Datenübertragung werden 2 oder 4 Verbindungen (Lanes) benutzt. Bei PCI-Express 3.0 sind so Datenübertragungsraten bis zu 4 GB/s (~1 GB/s x 4 Lanes) möglich. Es gilt zu beachten, dass es die maximale Geschwindigkeit nur in M.2-Steckplätzen gibt, die mit einem M gekennzeichnet sind. Nachteil von M.2-SSDs ist, dass sie nicht im laufenden Betrieb gewechselt werden können.

NVMe-SSDs

NVMe-SSDs (NVM = Non-Volatile Memory, nichtflüchtiger Speicher) tauschen zwar auch über die PCI-Express-Schnittstelle Daten mit dem zentralen Steuerungschip (Host Controller) aus, verwenden dabei aber ein effizienteres Protokoll als herkömmliche PCIe- oder SATA-SSDs. Ein Protokoll bestimmt die genauen Eigenschaften der Verbindung. Normalerweise werden Lese-/Schreibbefehle wie bei einer SATA-Festplatte oder -SSD in eine Warteschlange (Queue) eingereiht und einzeln abgearbeitet (siehe NCQ). Bei NVMe-SSDs hingegen gibt es 65.536 Warteschlangen, so dass Anforderungen parallel verarbeitet werden können. (Quelle) Deshalb gehören sie zu den schnellsten (und leider auch teuersten) SSDs.


2 TB NVMe-SSD als M.2-Karte, Bild: Wikipedia/Dmitry Nosachev
Zurück zum Seiteninhalt