Stor IT Back - Ihr Speicherspezialist
Solid State Drive SSD V1.9 (c) Stor IT Back 2024
Der Flash Speicher (Flash Disk) wird bei Consumer Produkten, wie Smartphones, Netbooks und Laptops
schon seit längerer Zeit fast ausschließlich eingesetzt. Die jetzt schon sehr große
Verbreitung führt zu immer größeren Kapazitäten und auch zu kleineren Preisen.
Im Rechenzentrum bei Storage-Systemen bieten die SSDs deutliche Vorteile in Geschwindigkeit, Stromverbrauch und Wärmeentwicklung. Sie
sind aber immer noch recht teuer und werden sehr häufig im Tiering mit drehenden Festplatten oder
in Kombination mit Deduplizierung und Komprimierung betrieben.
SSD: Solid State Drive, auf Basis von nichtflüchtigen Halbleiterspeichern ohne mechanische Teile
EFD: Enterprise Flash Disk, die schnelleren und hochwertigeren SSDs, aber kein geschützter Begriff
NVMe: Non-Volatile Memory Express, ein Protokoll zur schnellen Datenübertragung für Flash und SSD Speicher
TBW: Total Byte Written (Lebensdauer von SSDs)
DWPD: Drive Writes per Day (Lebensdauer von SSDs)
Die SSDs speichern die Daten durch unterschiedliche Ladungszustände in
den Speicherzellen. Also sehr ähnlich wie die RAM Bausteine (der Arbeitsspeicher)
in einem Server. Schaltet man dort jedoch den Strom aus, so verlieren die RAM
Bausteine ihre Speicherzustände, die Daten sind gelöscht. Dies darf
natürlich bei einer SSD nicht passieren. Die Flash-Bausteine halten ihre Ladungszustände
auch nach dem Ausschalten, der entscheidende Unterschied zu RAM Bausteinen.
Die SSD ist also ähnlich wie ein RAM Baustein aufgebaut und hat ähnliche
Zugriffsgeschwindigkeiten (in der Praxis sind SDRAMs schneller als Flash-Bausteine). Bei den SSDs gibt es zwei unterschiedliche Verfahren,
einmal die Single Level Cell (SLC) und zum anderen die Multi Level Cell (MLC) Technologie.
In der letzten Zeit sind noch Erweiterungen und Ergänzungen dazu gekommen. So gibt es anfangs nur im
Consumer-Bereich TLC (Triple Level Cell) NAND Flash-Zellen und auch QLC (Quad Level Cell), die noch mehr Zustände als die MLC Zellen speichern können.
Damit reduziert sich der Preis pro GB weiter, jedoch werden diese SSDs noch anfälliger gegen
häufige Schreibzugriffe.
Im Gegensatz dazu werden bei Festplatten die Daten auf der Scheibe magnetisch
gespeichert. Durch ein Magnetfeld im Schreibkopf wird der Zustand auf der Magnetscheibe
verändert. Diese Veränderung kann durch den Lesekopf wieder entschlüsselt
werden. Eine ähnliche Technik wird auch bei Bandlaufwerken zur Datensicherung
verwendet.
Die SSD bietet viele Vorteile gegenüber einer Festplatte (Details siehe unten). In mobilen Endgeräten ist die SSD nicht mehr wegzudenken. Aber wie sieht es im Rechenzentrum aus?
In der professionellen Datenverarbeitung ist die Sicherheit extrem wichtig, also der Ausfall eine SSD kann nicht so ohne weiteres toleriert werden. Dafür gibt es aber
auch ein RAID, also was soll da passieren?
Zu instabile SSDs sind auch für ein RAID 5 und sogar ein RAID 6 problematisch, gerade wenn es den gleichzeitigen Ausfall von mehreren SSDs betrifft. Und genau dafür werden
die Enterprise SSDs angeboten. Dort ist die TBW bzw. DWPD (siehe unten) deutlich höher. Aber leider ist auch der Preis deutlich höher, als bei den Consumer SSDs.
Gegen den zum Teil massiven Preis können 2 Features helfen:
1. Storage-Tiering: Hier werden SSDs und drehende Platten in einen Pool zusammengelegt. Der Storage-Controller übernimmt dann die Verteilung der Daten. Nur performante Daten kommen auf die SSDs.
2. Komprimierung und Deduplizierung: Die Daten auf den SSDs werden komprimiert und doppelte Daten werden entfernt. Damit können mehr Nutzdaten auf den SSDs gespeichert werden. Einige Hersteller
werben mit Reduzierungen von bis zu 75%, was aber nur bei komprimierbaren Daten zu erreichen ist.
Das Tiering ist sehr effektiv bei größeren Datenmengen, da meist nur ein geringer Teil wirklich die maximale Performance benötigt. Die Komprimierung und Deduplizierung
wird meist nur bei All-Flash Systemen angewendet. Diese sind besonders auf diese Techniker optimiert worden.
Aber was ist jetzt das Besondere an der SSD (Solid State Drive)? Eine herkömmliche Festplatte
speichert die Daten auf einer bzw. mehreren Magnetscheiben. Der Schreib-/Lese-Kopf
fährt über diese Magnetscheiben, die sich drehen. Damit kann der Kopf
jeden Punkt auf den Scheiben erreichen, immer gesteuert durch Drehung der Scheiben
und Verschiebung des Kopfes. Soll der Kopf jetzt aber von ganz innen nach ganz
außen fahren (Fullstroke-Zugriffszeit), so benötigt die magnetische
Festplatte eine gewisse Zeit, die durch den Weg, die Mechanik und die Positionierung
verursacht wird.
Weiterhin ist diese Mechanik anfällig gegen mechanische Einflüsse
und Temperaturschwankungen. Die letzten Punkte sind eigentlich nicht das große
Problem bei Servern und Storage Systemen, die erhöhten Zugriffszeiten aber
doch ganz entscheidend.
Da bei der SSD alle Daten im direkten Zugriff sind, ist es unwichtig wo die
Daten gerade liegen. Der zeitliche Unterschied des Zugriffes auf Daten die direkt
nebeneinander oder maximal auseinander liegen, ist nahezu gleich. Und der Zugriff ist
wesentlich schneller, da die mechanische Positionierung wegfällt. Damit
werden auch eine größere Übertragungsrate und eine geringere Latenzzeit erreicht und
das unabhängig von der Position der Daten.
Bei der Single Level Cell Technologie wird genau ein Bit pro Speicherzelle geschrieben. Diese Speicherung erfolgt mit nur einer definierten Spannung. Damit haben SLC Module eine geringere Speicherkapazität, aber einen schnelleren Zugriff und eine höhere Sicherheit (Schreibbeständigkeit). Die höhere Sicherheit wirkt sich positiv auf die Lebensdauer aus. Die Single Level Cell Technologie ist also die erste Wahl, wenn es bei der professionellen Datenverarbeitung auf Geschwindigkeit und Zuverlässigkeit ankommt. Die SLC SSD wird auch als EFD (Enterprise Flash Disk) bezeichnet. Allerdings werden die SLC SSDs immer mehr von den MLC verdrängt. Einmal vom Preis her, aber auch durch eine bessere Verfügbarkeit der MLC SSDs. Diese MLC werden dann als eMLC (Enterprise MLC) bezeichnet. Sie erreichen die Verfügbarkeit durch ein besseres internes Management der genutzten Blöcke.
In der Multi Level Cell können technisch zur Zeit bis zu 4 Bit pro Speicherzelle gespeichert
werden, das ist dann die QLC (Quad Level Cell). Dies wird durch das Anlegen von unterschiedlichen Spannungen erreicht, beziehungsweise dem Auslesen der unterschiedlichen Spannungen.
Sollen also zum Beispiel alle 4 Bits einer Zelle angesprochen werden, so müssen
auch 4 unterschiedliche Spannungen angelegt werden. Damit wird der Speicherplatz
pro Modul im Vergleich zu SLC bis auf das 4-fache gesteigert. Der Nachteil der
MLC Technologie ist die geringere Geschwindigkeit (es müssen ja unterschiedliche
Spannungen angelegt werden und nicht nur eine) und eine geringere Lebensdauer, da nur ein Viertel
der Speicherzellen vorhanden sind. Der Begriff MLC wird häufig für die 2-Bit MLC genutzt (also zwei Speicherzustände pro Zelle),
bei der 3-Bit MLC hat sich der Begriff TLC (Triple Level Cell) eingebürgert. Die TLC SSD wird immer mehr der
Standard im Consumer-Bereich, die QLC (Quad Level Cell) übernimmt die Funktion der SATA bzw. NL-SAS Platte.
Da die MLC SSD im Consumer Bereich 3.000 bis zu 10.000 Schreib-IOs pro Zelle verarbeiten kann, werden im Storage Bereich
spezielle eMLC SSD (Enterprise MLC) verwendet. Die Zelle einer eMLC SSD kann bis zu 30.000 Schreib-IOs
verarbeiten bevor sie ausfällt.
Bei der Performance von Speichersystemen wird zwischen Zugriffszeit und Datenrate unterschieden.
Bei der Zugriffszeit hängt es bei einer traditionellen Festplatte entscheidend
davon ab, wo die Daten liegen. Wie weit muss sich der Schreib-/Lesekopf bewegen
und wie schnell positioniert das System. Bei einer guten SAS Platte liegen die
Durchschnittswerte zwischen 2 und 4 ms. Dies kann bei ungünstigen Daten
(weite Wege) bis auf 10 ms hochgehen. Bei einer SSD sind die Zugriffszeiten ja
immer gleich, da alle Daten im direkten Zugriff stehen. Dieser Wert liegt deutlich
unter 0,1 ms (bis auf 0,05 ms herunter).
Bei der Datenrate sieht es ähnlich aus, eine SAS Platte erreicht beim sequentiellen
Lesen maximal 90 MB/s (Abhängig von der Blockgröße). Die unabhängigen Tests von SSDs liegen zwischen
200 und 500 MB/s (auch sequentielles Lesen). Dabei erreichen die hochpreisigen
SLC Platten die höchsten Werte.
Beim Schreiben ist der Vorteil nicht so deutlich, die hochpreisigen SSD-Platten
kommen aber immerhin bis zu 200 MB/s, die Mehrheit der SSDs liegt aber bei 100
MB/s. Und das sind nur leicht bessere Werte, wie die magnetische Festplatten
(SAS, 15k, Enterprise) erreichen können.
Ein weiterer Vorteil der SSD-Technologie ist die nahezu lineare Übertragungsgeschwindigkeit.
Bei traditionellen Festplatten kann der Wert schon mal bis zu 40 MB/s schwanken.
Die Lebensdauer ist bei beiden Technologien stark von der Fertigungsqualität
abhängig. Die kostengünstigen MLC Bausteine halten bestenfalls 10.000
Schreibzyklen stand. Also sicherlich nichts für Storage-Systeme hinter
Datenbankanwendungen. Nimmt man einmal 100 Schreibzugriffe pro Tag auf einen
bestimmten Block an, so ist dieser Block in durchschnittlich 3,3 Monaten defekt.
Und einhundert Schreibzugriffe sind ja noch nicht viel. Bei guten SLCs
(speziell für den Storage Bereich ausgewählt) sind
es jedoch schon über fünf Millionen Schreibzugriffe, also bei unserem
Beispiel mit 100 Schreibzugriffen sind das dann knapp 140 Jahre, selbst bei
1.000 Schreibzugriffen auf den gleichen Block pro Tag noch ca. 14 Jahre. Ein
kleiner Trost dabei: Lesbar sollen die Zellen aber auch weiterhin bleiben, nur
Schreiben geht nicht mehr...
Aber auch die Hersteller der "besseren" SSDs optimieren noch einiges: Das s.g.
Wear-Levelling verteilt die Schreibzugriffe über alle Zellen möglichst
gleichmäßig. Das genaue Vorgehen wird von den Herstellern jedoch
als geheim eingestuft. Damit werden gezielt die sich häufig ändernden
Blöcke über möglichst viele Zellen verteilt. Eine sicherlich
effektive Maßnahme zur Verlängerung der Lebensdauer.
Aber wie sieht es mit der tatsächlichen Lebensdauer aus? Diese Technologie
ist noch recht neu, Langzeitstudien über SSDs (egal ob MLC, eMLC oder SLC) gibt
es deswegen noch nicht. Wie sich die Solid State Drives über Jahre verhalten
ist also noch ungewiss. Aber es ist ja nicht eine komplett neue Technologie,
richtige Überraschungen sind nicht zu erwarten.
Trotzdem ist eine gewisse Alterung der SSDs auch ohne Operationen zu erwarten. Die Oxidschichten werden
auch ohne Schreiboperationen abgebaut, eine hohe Temperatur erhöht den Abbau. Wenn die SSD nicht eingeschaltet
ist, dann kann der interne Controller auch nicht optimieren. Was lernen wir daraus? Eine SSD ist
kein gutes Langzeit-Archivierungsmedium und sie sollte ab und zu eingeschaltet werden.
Entscheidend für die Qualität von SSDs sind einmal die verwendeten NAND Module, aber
mindestens genauso wichtig ist der Controller Chip. Dieser überwacht im Idealfall
alle Zellen und kann im Fall von zu vielen Schreib-IOs die Blöcke verlagern. Einen
großen Vorteil besitzen die SSDs: Man weiß relativ genau, wann sie kaputt gehen. Also
können die Daten vorher umkopiert werden. Das setzt natürlich auch genügend Reserve-Blöcke
auf der Platte voraus. Auch dies ist ein Qualitätsfaktor für SSDs.
Was sagen die Hersteller zur Lebensdauer? Eine wichtige Kenngröße
in diesem Umfeld ist die Zuverlässigkeit (Mean Time Between Failures, MTBF).
Diese Größe gibt die statistische Betriebsdauer zwischen zwei Ausfällen
an. Die MTBF bei einer 15k SAS Platte liegt bei ca. 1,5 Mio Stunden (Herstellerangaben).
Bei den SSDs (SLC) liegen die Herstellerangaben so zwischen einer und zwei Millionen
Stunden, also auch nicht schlechter als eine SAS Platte (aus dem Enterprise
Bereich).
Zwei weitere Werte werden zur Einstufung von SSDs verwendet:
1. TBW (Total Byte Written): Das ist die Datenmenge, die auf die gesamte SSD geschrieben werden kann, bevor
die statistische Gefahr des Ausfall eintritt. Die Angabe ist meist in PB.
2. DWPD (Drive Writes per Day): Das ist die Anzahl von Überschreibvorgängen, die pro Tag auf die gesamte SSD vorgenommen werden können. Also
wie oft die SSD pro Tag komplett neu beschrieben werden kann.
Wie sind diese Werte vergleichbar? Einige Hersteller geben TBW und andere DWPD an. Aber die Umrechnung ist eigentlich ganz einfach:
TBW = DWPD * [Garantiezeit in Jahren] * 365 * [Kapazität der SSD in GB] / 1.024
DWPD = TBW * 1.024 / ( [Kapazität der SSD in GB] * [Garantiezeit in Jahren] * 365 )
Damit lassen sich die Angaben der Hersteller einfach vergleichen. Aber diese Angaben "hinken" doch etwas: Wer beschreibt denn die Platte immer
wieder gleichmäßig von Anfang bis Ende. Also ist auch der Controller der SSD entscheidend ...
Fast jeder RAID-System-Hersteller hat SSDs für seine Systeme zertifiziert.
Dies sind dann meist nur SLC Laufwerke oder eMLC der oberen Preisklasse. Aber wofür
sollte man sie einsetzen? Ideal geeignet sind SSDs für hochperformante
Datenbankanwendungen. Durch die guten Zugriffszeiten und hohen Übertragungsraten
kann diese Technologie die Gesamtperformance stark steigern.
Ideal bietet sich dann ein System mit automatischem
Tiering an. Nur Daten mit hohen Zugriffszahlen werden auf diese Technologie
verlegt, Daten wie Logs oder Files bleiben auf SAS- oder NL-SAS-Festplatten. Eine
Performance-Steigerung mit wenig Investitionsvolumen und optimaler Auslastung.
In der Praxis würde man die SSDs in einem RAID 1 oder 5 kombinieren (ohne RAID
bedeutet der Ausfall einer SSD Datenverlust, also genau wie bei anderen Platten
auch) und den Platz möglichst optimal ausnutzen. Also kleine Partitionen
für Datenbankfiles mit hohen I/O Lasten.
Eines muss man jedoch immer betrachten: Kombiniert man viele schnelle SAS Platten
mit einem RAID-Level, so erhöht sich auch der Durchsatz und zum Teil verringert
sich die Zugriffszeit (gleichzeitiger Zugriff ist möglich). Je mehr Festplatten im gemeinsamen Zugriff sind, desto
besser werden die Werte. Der Vergleich zwischen SAS Platte und SSD muss in
diesem Falle ergänzt werden. Können z.B. 20 SAS Platten in RAID 10
einen Durchsatz von 800 MB/s erreichen, dann benötigt man schon mindestens
4 SSDs in RAID 10 um gleiche Werte zu erreichen.
Zusätzlich verändert der Cache des RAID-Controllers diese Werte nochmals.
In diesem Umfeld muss also immer das Gesamtsystem betrachtet werden.
Die Hybrid-Festplatte ist eine Kombination aus der traditionellen drehenden Magnetfestplatte
mit einer SSD (Flash Speicher) als großen Cache. Entwickelt wurde dieses Konzept schon im Jahre 2000, es wurden damals RAM Module als
Cache vor die Platte gesetzt. Problem dieser RAM Module war aber, sowie der Strom aus ist, sind die Daten
im RAM verloren. Ergänzt wurde diese Platte damals mit kleinen Akkus. Es setzte sich aber
nicht durch.
Heute werden aber SSDs verwendet, das bedeute auch bei einem Stromausfall bleiben die Daten erhalten. Angeboten
werden 300 bis 600 GB auf rotierenden Scheiben mit 16 GB auf SSD und 128 MB auf RAM kombiniert. Also insgesamt ein dreistufiger
Speicher. Das Tiering auf der Festplatte ist transparent für das Betriebssystem oder den RAID-Controller. Die Festplatte
steuert also selbstständig die Verwendung des Cache. Insgesamt eine schnelle Platte zu einem guten Preis. Eingesetzt werden
die Platten aber meist nicht in RAID-Systemen, da dort der RAID-Controller die eigentliche Steueraufgabe hat. Er kann
zwar seinen eigenen Cache verwalten, nicht aber den transparenten Cache in der Platte.
Selbstverschlüsselnde Laufwerke (SEDs) in SSD-oder HDD-Format bieten eine vollständige Festplattenverschlüsselung (FCE) auf Basis von AES-256.
Diese Laufwerke sind dann häufig zertifiziert nach FIPS140-2 Level2.
Diese Laufwerke bekommen die Daten also unverschlüsselt vom Storage-System geliefert und verschlüsseln diese intern, liefern die Daten dann aber wieder unverschlüsselt zum Storage aus.
Die Daten liegen also verschlüsselt auf der Festplatte bzw. SSD vor. Aber wenn sie den Datenstrom automatisch wieder entschlüsseln, was bringen sie dann? Wenn es so einfach
wäre, dann würde es natürlich nichts bringen. Aber der Schlüssel liegt nicht in der Festplatte oder SSD, sondern wird vom Storage-System (oder RAID-Controller) geliefert. Baut also jemand die
Festplatte aus, dann kann er die Daten nicht lesen. Also können "defekte" Festplatten und SSDs mit diesem Feature ohne Probleme zum Hersteller zum Austausch
zurück gegeben werden. Er kann die Daten ja solange nicht lesen, bis er den Schlüssel hat.
Und da kommen wir auch zum Problem: Wenn jemand das Storage zusammen mit den Festplatten klaut, dann kann er die Daten trotzdem lesen, weil er ja auch den Schlüssel mit geklaut hat.
Wichtiger Hinweis beim Verkauf von Storage-Systemen mit SED Laufwerken: Wenn das System zusammen mit dem Schlüssel verkauft wird, dann hat der Käufer natürlich wieder Zugriff
auf alle alten Daten. Da ist es extrem wichtig, dass der Schlüssel sicher gelöscht wird. Zur Sicherheit sollte man die Daten aber trotzdem zusätzlich noch löschen.