Bild: iStock, undefined undefined

Datenspeicherung in Embedded- und Industrieanwendungen SSD: schnell, sicher, dauerhaft

15.06.2018

Ob als fest eingebauter Speicher in Mobiltelefonen, SD-Karte in der Kamera oder im USB-Stick: Flash-Memory dominiert den Consumer-Markt für Elektronikgeräte. Wo immer eine kompakte Bauweise, schneller Zugriff und hohe Robustheit gefragt sind, laufen Solid State Disks (SSD) herkömmlichen Hard Drives den Rang ab. Die neueste SSD-Generation bietet höchste Transferleistungen bei größter Datensicherheit in einer kompakten Chip-Bauform.

Die neueste Generation von Embedded- beziehungsweise Industrieanwendungen verlangt extrem schnelle Datenübertragungen und zuverlässige Datenspeicherung. Seit SSD-Speicherbausteine mit ausreichend hoher Datenkapazität zu günstigen Preisen verfügbar sind, haben sie rotierende Speichermedien in zahlreichen Anwendungen abgelöst. Das hängt vor allem mit vorteilhaften Eigenschaften von SSDs zusammen:

  • Sind schnelle Zugriffszeiten gefragt, ist eine SSD klar im Vorteil, weil vor dem Zugriff keine Magnetköpfe positioniert werden müssen.

  • SSDs sind unempfindlich gegenüber Vibrationen und Schock, was sie für den mobilen Betrieb auszeichnet.

  • Im Vergleich zu gleich großen Magnetspeichern nehmen SSDs weniger elektrische Leistung auf und haben eine höhere Datenübertragungsrate, besonders beim Lesen von Daten.

  • Der erlaubte Temperaturbereich von Halbleiterspeichern ist höher als der von magnetischen Festplatten.

Diesen Vorteilen stehen zwei Nachteile gegenüber: die Abnutzung durch Alterung der Zellen und die kritische Phase, wenn während eines Schreibvorgangs die Stromversorgung aussetzt, wobei Magnetscheiben mit ganz ähnlichen Problemen zu kämpfen haben. SSD-Speicher basieren auf einer Technologie namens Flash. Mit Flash können Daten nichtflüchtig auf einem Halbleiter gespeichert, modifiziert und wieder gelöscht werden. Die Vorgänger von Flash – EPROM und EEPROM – benötigten noch energiereiche UV-Strahlung für den Löschvorgang beziehungsweise erzeugten die zum Löschen notwendige Energie mit einer On-Chip-Ladungspumpe. Der wesentliche Unterschied zwischen Flash und EPROM/EEPROM besteht darin, dass Flash-Speicher nur blockweise beschrieben und gelöscht werden können – ein Zugriff auf einzelne Zellen ist nicht möglich. Um ein einzelnes Bit zu ändern, muss ein ganzer Block in einen Zwischenspeicher kopiert, das Bit manipuliert und anschließend der gesamte Block zurückgeschrieben werden.

Bei Flash werden Daten gespeichert, indem eine elektrische Ladung zwischen zwei Isolationsschichten eingeschlossen wird. Beim Schreiben beziehungsweise Löschen wird eine dieser Schichten kurzzeitig leitfähig und lässt Ladungen zu- oder abfließen. Während der Lesevorgang nicht-destruktiv ist und somit beliebig oft erfolgen kann, lassen Schreib- und Löschvorgänge die Zelle altern: Der Isolationswiderstand verschlechtert sich und die eingeschlossene Ladung fließt mit der Zeit ab. Um die Speicherdichte von Flash-Speichern weiter zu erhöhen, haben sich Halbleiterhersteller unterschiedliche Strategien ausgedacht. Beispielsweise wird die ursprünglich planare Anlage der Speicherzellen heute in einen V-förmigen Graben verlegt (V-NAND). Eine andere Möglichkeit ist es, mehrere Speicherlagen übereinanderzustapeln und elektrisch miteinander zu verbinden (3D-NAND). Dadurch lassen sich in sehr kompakten Gehäusen große Speicherkapazitäten realisieren. Von außen betrachtet speichert eine Flash-Zelle eine digitale Information, die als 0 oder 1 ausgelesen werden kann. In der Praxis wird zum Auslesen eine bestimmte Anzahl von Ladungsträgern isoliert. Bei einer SLC-Zelle (Single Level Cell) entscheidet die Auswertungsschaltung im Chip, ob die Anzahl höher oder niedriger als ein Schwellenwert ist, und gibt ein entsprechendes Logiksignal aus. In MLC-Speichern (Multi Level Cell) gibt es mehrere Schwellen, die gemeinsam als vier verschiedene Zustände ausgewertet werden und nach außen hin zwei Bits repräsentieren. Je nach „Füllgrad“ der Zelle sind die Bitwerte 00, 01, 10 und 11 möglich. TLC (Triple Level Cell) steht für die aktuellste Flash-Technologie: Hier ist die Klassifizierung um eine weitere Stufe verfeinert, indem der Ladezustand in acht Stufen als drei Bits interpretiert wird. Vorteile dieser Technologie sind eine höhere Speicherdichte pro Chip, ein geringes Bauvolumen und ein vergleichsweise niedriger Preis.

Die verschiedenen SSD-Formfaktoren

Die Flash-Eigenschaften spiegeln sich in der Definition einer Solid State Disk (SSD) wider: Laut JEDEC, der Organisation zur Standardisierung von Halbleitern, ist eine SSD „ein nichtflüchtiges Speichermedium. Ein Controller ist zusammen mit einem oder mehreren Speicherbausteinen in einem Gehäuse verbaut. Das Gerät sollte Interfaces, als Protokoll und physikalisch, und Formfaktoren von Standard-Harddisks verwenden.“ Für SSDs haben sich folgende Formfaktoren etabliert:

  • Herkömmliche 2.5-Zoll-Laufwerke können direkt durch die SSD-Äquivalente ersetzt werden.

  • Die Bauform MO-297 (alternative Bezeichnung: 1.8 Zoll Slim Line) hat dieselben elektrischen Anschlüsse, ist mit 39 mm × 54 mm jedoch kompakter aufgebaut.

  • Moderne Single-Board-Computer haben Steckplätze für kompakte SSD-Module im mSATA- (MO 300) oder M.2-Format, beispielsweise 22 mm × 42 mm. Während sich mSATA den Steckplatz mit MiniPCIe teilt, liegt beim M.2-Format das Hauptaugenmerk auf Speicher. Bei M.2 ist die Breite der Karten genormt, die Steckerbelegung hängt jedoch vom SATA- oder PCIe-Interface ab. Die Länge variiert mit der Speicherkapazität von 42 bis 110 mm.

  • Darüber hinaus stehen SSDs auch auf Chipebene zur Verfügung.

Die ersten SSD-Generationen verwendeten dasselbe Interface wie Magnetscheiben, da der von der ATA-Schnittstelle verwendete Adressraum für die damals verfügbare Kapazität ausreichte. Mit der Migration nach SATA (mit 6 Gbps) konnten die fixen Halbleiterspeicher dann zügiger angesprochen werden – besonders beim Schreiben mussten jedoch noch Wartezyklen eingelegt werden. Die aktuelle Generation von SSDs setzt auf PCI Express (PCIe). Dazu wurde eigens der NVMe-Standard definiert, der die Anbindung von nichtflüchtigen Halbleiterspeichern über den PCIe-Bus beschreibt.

Der Controller macht den Unterschied

Für den praktischen Einsatz der Flash-Technologie in Form einer SSD braucht es einen Controller. Dieser wandelt die Flash-Schnittstelle elektrisch und logisch in ein Format um, das ein angeschlossener Computer versteht. Die Verwaltung der Flash-Bausteine und die Kommunikation übernimmt eine Firmware, die exakt auf die Hardware angepasst ist, um einen sicheren Betrieb zu gewährleisten und maximale Leistung aus den Speichern herauszuholen. Für die folgenden Betrachtungen dient die neue PCIe FerriSSD von Silicon Motion als Grundlage. Sie vereint alle Funktionen auf einem einzigen Chip: Host-Controller, 3D-NAND mit bis zu 256 GB, einen mehrstufigen Cache und eine leistungsfähige Firmware. Da die Zellen eines Flash-Bausteins durch jeden Schreib- und Löschzugriff altern, ist es ratsam, häufige Zugriffe auf dieselbe Zelle zu vermeiden. In der Praxis legt das Betriebssystem in einem bestimmten Speicherbereich ein Directory ab, in dem es Buch über alle Dateien und deren Speicherposition führt. Bei jedem schreibenden Dateizugriff wird der Inhalt auf den neuesten Stand gebracht. Manche Zellen – zum Beispiel Zellen am Ende des verfügbaren Speicherbereichs – sollten erst verwendet werden, wenn das Medium nahezu voll ist. Die Aufgabe des Controllers besteht darin, alle logischen Zugriffe auf den Speicher so in physikalische Zugriffe umzusetzen, dass keine Speicherzelle überlastet wird (Wear Leveling).

Der Schreibvorgang jedes Blocks benötigt eine gewisse Zeit, da Ladungen in die Isolationsschicht transportiert werden müssen. Die höchste Zugriffsgeschwindigkeit lässt sich erzielen, wenn ein mehrstufiger Cache als Zwischenspeicher verwendet wird. Wird beim Lesen ein korrigierbarer Flash-Fehler festgestellt, können dank des auf jeder Stufe aktiven ECC (Error Checking and Correction) korrekte Daten an den Host ausgeliefert werden, die dann in einem neuen Block gespeichert werden – ganz ohne Mitwirkung der Host-CPU.

Bad Block Management

Der Controller muss dem Host-Computer die maximale Performance zur Verfügung stellen – nicht nur bezüglich der Geschwindigkeit, sondern auch der Datenintegrität. Zu diesem Zweck führt der Controller der PCIe FerriSSD neben ECC auch einen automatischen Daten-Refresh durch, indem er Speicherblöcke ausliest und wieder zurückschreibt, solange der Host nicht auf den Speicher zugreift. Zudem überwacht der Controller die Lebensdaten jeder einzelnen Speicherzelle. Stellt sich heraus, dass eine Zelle ihre Ladung nicht mehr hält, wird der zugehörige Block als defekt markiert und aus der Liste der verfügbaren Blöcke gelöscht (Bad Block Management). Zunächst wird für ihn ein Block aus der Reserve bereitgestellt. Ist die Reserve aufgebraucht, wird die verfügbare Kapazität der SSD reduziert.

Konventionelle SSDs konfigurieren den kompletten Flash-Bereich homogen: SLC, MLC oder TLC, je nach benötigter Speicherdichte und Zugriffslatenz. Über die Funktion „Hybrid Zone“ ermöglicht die PCIe FerriSSD eine freie Partitionierung einzelner NAND-Chips in separate SLC-, MLC- und TLC-Zonen. So können einzelne Bereiche der SSD schnell beschreibbaren (Pseudo-)SLC-Speicher bereithalten, ohne dass man auf die Vorteile von MLC/TLC verzichten muss. Durch die höhere Transfergeschwindigkeit verkürzt sich die Zugriffszeit – und damit auch die Zeit, die bei einem Ausfall der Stromversorgung für die ordnungsgemäße Beendigung des laufenden Schreibvorgangs benötigt wird. Die dafür erforderliche Pufferung kann deutlich kompakter ausfallen.

Automatische Zellerneuerung

Im höheren Alter nimmt die Fähigkeit der Flash-Zellen, Daten dauerhaft zu speichern, ab. Auch eine erhöhte Umgebungstemperatur führt zu kürzeren Datenhaltbarkeiten. Um potenzielle Datenverluste zu vermeiden, stellt die PCIe FerriSSD eine Funktion namens „IntelligentScan“ zur Verfügung: Der Controller scannt proaktiv NAND-Bausteine und erneuert Zellen, die demnächst ihren Inhalt zu verlieren drohen. Dabei protokolliert der Algorithmus Sperrschicht-Temperaturmesswerte, die Anzahl der P/E-Zyklen (Programming/Erase), die Einschaltdauer der SSD und andere wichtige Referenzpunkte. Der Scan startet automatisch, sobald keine anderen Aktivitäten wie Lesen oder Schreiben anstehen.

Bildergalerie

  • Die Firmware der SSD übernimmt die Speicherverwaltung und die Kommunikation mit dem Host.

    Bild: Hy-Line

  • Eine Hybrid-Zone-Partitionierung stellt schnellen SLC-Speicher für die Ausführung des Betriebssystems und dichten MLC- oder TLC-Speicher für die Daten zur Verfügung. Die Abbildung zeigt die physikalische (oben) und die logische (unten) Anbindung des partitionierten Speichers an den Host.

    Bild: Hy-Line

  • SSDs laufen in der Industrie herkömmlichen Hard Drives immer stärker den Rang ab.

    Bild: Hy-Line

Firmen zu diesem Artikel
Verwandte Artikel