stefanovi - Fotolia
Flash-Speicher im Vergleich: SLC vs. MLC
Erfahren Sie hier die Unterschiede in Kapazität, Leistung und Zuverlässigkeit zwischen Multi-Layer-Flash und SLC, wenn es darum geht, Ihrem Unternehmen SSD-Speicher hinzuzufügen.
Flash-SSDs (auch als NAND-SSDs bekannt) sind weiterhin ein heißes Thema für IT-Profis. Sie finden sich in Speicher-Arrays, NAS, Appliances, Laufwerken und PCIe-Speicherkarten. Flash-SSDs haben sich schnell zu einem festen Bestandteil jeder Diskussion über den Speicherkauf entwickelt, doch die Kaufentscheidung kann sich als schwierig erweisen.
Es gibt sehr überzeugende Vorteile für Flash-SSDs, die Single-Level Cell (SLC), Multi-Level Cell (MLC), Triple-Level Cell (TLC), Quad-Level Cell (QLC) und sogar Penta-Level Cell (PLC) gemeinsam bieten, darunter Leistung, Energieeffizienz, Verfügbarkeit und Zuverlässigkeit.
Der Vorbehalt, der Anwender von Flash-SSDs zurückgehalten hat, besteht darin, dass sie im Allgemeinen teurer als Festplatten sind, wenn man sie auf einer Dollar-pro-Gigabyte-Basis vergleicht. Sie sind allerdings generell preiswert, wenn sie auf der Basis Dollar pro IOPS oder Dollar pro Gigabyte Durchsatz gemessen werden.
Aber die Kapazität ist oft das Kriterium, das als Hemmschwelle gesehen wird. Die Datengenerierung und -erfassung befindet sich auf einer exponentiell ansteigenden Kurve, nicht zuletzt dank von IoT, 5G und KI-Machine-Learning. Die Kapazität ist ein Hauptkriterium.
Kosten vs. Kapazität
Die Antwort der Flash-Branche auf die Kosten- und Kapazitätsprobleme von Flash-SSDs hat zwei nicht gegenseitig ausschließliche Wege beschritten. Der erste ist das Hinzufügen von Bits pro Zelle, auch bekannt als eine Speicherzelle. Jede Zelle speichert eine bestimmte Anzahl von Bits. Jedes Bit wird als 1 oder 0 registriert. Jedes Bit, das der Zelle hinzugefügt wird, erhöht die Zellkapazität exponentiell, indem es die Anzahl der Zustände erhöht, die eine Zelle haben kann. Das liest sich 2n wobei "n" die Anzahl der Bits in der Zelle ist. SLC sind 21 oder 2 Zustände; MLC sind 22 oder 4 Zustände; TLC 23 oder 8 Zustände; QLC 24 oder 16 Zustände; und PLC 25 oder 32 Zustände. Dieselbe Wafer-Größe erzeugt die doppelte Dichte wie die bisherige Bits pro Zelle-Technologie. Das erhöht die Kapazität und senkt gleichzeitig die Kosten pro Gigabyte.
Der zweite Weg zur Kapazitätssteigerung ist der Übergang von der Planar- oder 2D-Technologie zu 3D. Die 3D-Technologie ermöglicht es, NAND-Zellen übereinander zu schichten. Es hat einige Zeit gedauert, bis die NAND-Hersteller das 3D-Layering beherrschten: Sie können jetzt 3D-NAND-Flash-Chips liefern, die üblicherweise mit 96 Schichten und mehr ausgestattet sind. Die 3D-Technologie erhöht die Flash-SSD-Kapazitäten erheblich und senkt gleichzeitig die Kosten pro GByte. Es ist wichtig zu beachten, dass es noch keine 3D-SLC-Chips gibt.
Mehr Bits pro Zelle und mehr Schichten pro Chip erhöhen die Flash-SSD-Kapazitäten und senken gleichzeitig die Kosten pro GB. Die gute Nachricht ist, dass sich die Dichte der Flash-SSD-Kapazität sehr schnell verbessert hat. Die schlechte Nachricht ist, dass Einschränkungen bei den einzelnen Technologien gibt.
Performance-Einschränkungen und Fehleranfälligkeit
Mehr Bits pro Zelle hat eine erhebliche negative Auswirkung auf Fehleranfälligkeit, Leistung, Ausdauer und Zuverlässigkeit. Jedes zusätzliche Bit pro Zelle nimmt mehr Zeit zum Schreiben und Lesen einer Zelle in Anspruch.
Es erfordert mehr Spannung, um die Zustände innerhalb der Zelle zu erzeugen und zu erkennen. Das liegt daran, dass der zusätzliche Zustandswert es schwieriger macht, eine positive Wertbestimmung zu erhalten. Außerdem verursachen höhere Temperaturen noch mehr Elektronenleckagen in den Zellen, weil die höhere Empfindlichkeit zur Differenzierung der Zustände erforderlich ist. Das Ergebnis ist ein engerer Betriebstemperaturbereich, wenn die Bits pro Zelle zunehmen. Dies führt zu einer viel höheren Fehlerrate, auch bekannt als Datenverfälschung.
Im Endeffekt muss der Flash-Controller mit jedem zusätzlichen Bit eine wesentlich umfassendere Fehlerkorrektur-Technologie (Error Correction) enthalten. Mit den steigenden Anforderungen an die Fehlerkorrektur steigt auch die Zeit, die für die Datenkorrektur mit jedem Bit benötigt wird. Dies ist einer der Hauptgründe dafür, dass die Latenzzeit mit steigender Anzahl der Bits pro Zelle zunimmt und die IOPS abnehmen. Die 3D-Schichtung erhöht die IOPS pro Flash-Chip, wirkt sich aber nicht auf die Latenz aus.
Die Leistung von Flash-SSDs wird durch viel mehr als nur die Flash-NAND-Zellen beeinträchtigt. Dynamischer RAM (DRAM) oder persistenter Memory Cache im Laufwerk hat einen großen Einfluss auf die SSD-Leistung. Auch Overprovisioning von Flash-SSDs hat einen großen Einfluss auf die Leistung.
Details zu NAND Flash Memory
NAND-Flash ist eine destruktive Memory-Technologie. Jedes Mal, wenn eine Speicherzelle überschrieben werden soll, muss sie zuerst gelöscht werden. Flash NAND ist keine magnetische Technologie. Um zu löschen, muss eine Schicht des Speichersubstrats zerstört werden.
Lesevorgänge verursachen keinen Verschleiß der Speicherzelle. Daher lautet die Faustregel für Flash NAND, dass Schreibvorgänge kostspielig, Lesevorgänge jedoch kostenlos sind. Das Schreiben kann lange dauern, wenn es auf die Löschung warten muss. Overprovisioning bedeutet, dass es einen Pool von Zellen gibt, die neu oder zuvor gelöscht wurden und auf neue Schreibvorgänge warten, so dass Schreibvorgänge nicht warten müssen.
Die Flash-SSD überwacht ständig die Programmlöschblöcke (Program Erase Block). Wenn die Daten auf einem Programmlöschblock veralten, weil neuere Versionen dieser Daten in andere Programmlöschblöcke geschrieben wurden, führt der Flash-SSD-Controller eine Garbage Collection durch. Die Garbage Collection nimmt die gealterten Blöcke und löscht sie und legt sie zurück in den Pool der verfügbaren Programmlöschblöcke.
Die Flash-SSD-Schnittstelle wirkt sich auch auf die Leistung aus. NVMe ist eine viel schnellere Schnittstelle als SATA oder SAS. Die Shared-Storage-Architektur und -Schnittstelle hat ebenfalls einen großen Einfluss auf die Leistung.
Architekturen mit DRAM, Storage Class Memory, SLC-Caching oder Storage Tiering verbessern die Leistung. Auch die Speichernetzwerkverbindung wirkt sich auf die Leistung aus. Auch NVMe-oF auf Ethernet, Fibre Channel, Infiniband oder TCP/IP wird die Leistung verbessern. Es ist nicht nur die Flash-SSD-Technologie.
Einschränkungen bei Ausdauer und Zuverlässigkeit
Jedes zu den Flash-NAND-Zellen hinzugefügte Bit reduziert die Lebensdauer um eine Größenordnung oder um das 10-fache. Die Lebensdauer von Flash NAND-Zellen wird als die Anzahl der Schreibvorgänge gemessen, bevor die Zelle verschleißt. SLC wird mit etwa 100.000 Schreibzyklen pro Zelle angegeben. MLC wird mit ungefähr 10.000 Schreibzyklen bewertet. TLC wird mit ca. 1.000 Schreibzyklen bewertet. QLC wird mit ungefähr 100 Schreibzyklen angegeben. Und PLC wird auf etwa 10 Schreibzyklen geschätzt.
Zellausdauer und Flash-SSD-Ausdauer sind nicht dasselbe. Die beiden Hauptfaktoren, die sich auf die Lebensdauer von Flash-SSDs auswirken, sind die Wirksamkeit des Wear-Leveling-Algorithmus des Flash-Controllers und die Gesamtmenge an Flash-NAND in der SSD.
Die Flash-SSD-Kapazitäten spiegeln nicht die gesamte Flash-Kapazität innerhalb der SSD wider. Die Flash-NAND-Kapazität innerhalb des SSD wird in erheblichem Maße überprovisioniert. Dieses Overprovisioning wird verwendet, um abgenutzte Speicherzellen zu ersetzen. Die Menge des Overprovisioning von Flash-SSDs variiert.
Im Allgemeinen steigt mit der Zunahme der Bits pro Zelle auch das Overprovisioning von Flash-SSDs. Größere Kapazitäten entsprechen mehr Zellen, die Wear-Leveling benötigen, was die Lebensdauer des SSD erhöht.
Die Lebensdauer von Flash-SSDs wird üblicherweise mit „geschriebenen Terabyte“ (TB Written) angegeben. Sie wird auch als die Anzahl der Laufwerksschreibvorgänge pro Tag (Drive Writes Per Day) eingestuft. DWPD bedeutet übersetzt TBW. Die Hersteller garantieren für ihre Laufwerke DWPD oder TBW. Kurz gesagt handelt es sich um die Datenmenge, die auf die Flash-SSD geschrieben werden kann, bevor sie abgenutzt ist.
Ein Beispiel: Ein 1 TByte 3D-TLC-Laufwerk mit einer Nennleistung von einem TB und einer Garantie von 0,66 Schreibvorgängen pro Tag hat eine Nennleistung von zirka 1.200 TBW. Das sind eine Menge Schreibvorgänge in diesem Zeitrahmen.
Aber was ist, wenn es sich bei diesem 1-TB-Laufwerk um ein 3D-QLC-Laufwerk handelt? Es wird viel weniger kosten, aber es wird wahrscheinlich einen viel niedrigeren DWPD und TBW bei etwa 10 Prozent oder 120 TBW haben. Diese Zahl kann sich noch erhöhen, wenn auch der Umfang des Overprovisioning zunimmt.
SLC, MLC, TLC, QLC und PLC: Die richtige Wahl treffen
Die Wahl der richtigen Flash NAND-Speicherlaufwerke hängt von der Kapazität, den Kosten, der Leistung, den Fehlerraten und den Einschränkungen bei der Ausdauer ab.
PLC-Flash-SSDs haben in der Regel die niedrigsten Kosten pro Gigabyte, jedoch mit ernsthaften Ausdauerbeschränkungen. Die Leistung ist besser als bei jeder Festplatte und merklich geringer als bei jeder anderen Art von Flash-SSDs. Es ist offensichtlich darauf ausgerichtet, Daten zu speichern, die sich nicht oder nur wenig ändern: Archivdaten, kalte Daten und weniger genutzte Daten. PLC-Flash-SSDs gehören zur gleichen Klasse wie mehrere andere Technologien zum einmaligen Beschreiben und Lesen von Daten (WORM).
Wenn eine Anwendung die bestmögliche Leistung benötigt, sind SLC-Flash-SSDs die erste Wahl. Es kommt jedoch auf die Art des Speichergeräts an, das SLC verwendet. Ein Speicherarray, das SLC-Flash-SSDs als Cache oder als primäres Speichermedium verwendet, wird nicht wesentlich schneller sein als ein Speicherarray mit MLC- oder TLC-SSDs.
Dies liegt an den Latenzengpässen im Pfad der SSDs, einschließlich des SATA- oder NVMe-Controllers, des Speichersystem-Controllers, des Speichernetzwerks oder daran, ob das NVMe-oF-System zwischen dem Anwendungsserver und dem Speichersystem ist, und ob der Bus des Anwendungsservers ebenfalls NVMe-oF nutzt.
Die Leistungsunterschiede in diesem SSD-SLC- vs. MLC-Szenario werden finanziell schwer zu rechtfertigen sein. Im Gegensatz dazu zeigt eine SLC-PCIe-Karte in einem Anwendungsserver oder eine an ein Speichernetzwerk angeschlossene, SLC-basierte Daten-Caching-Appliance den enormen Leistungsvorteil gegenüber vergleichbaren MLC-Produkten. Dieses SLC-Beispiel ist leichter zu rechtfertigen.
Die Entscheidung, welche Art von Flash-Speichertechnologie – und auch welches Gerät – verwendet werden soll, erfordert eine Abwägung der Einschränkungen. Ist die zusätzliche Leistung notwendig? Ist die Kapazität wichtiger? Welche Rolle spielen die Kosten bei der Entscheidung? Wie sieht es mit der Software aus, die die Flash-Technologie effektiv nutzen kann? Verbraucht sie mehr Anwendungs-CPU-Zyklen? Beachten Sie, dass NVMe-Flash-Karten diese höhere Leistung durch einen höheren CPU-Ressourcenverbrauch von bis zu 20 Prozent ausgleichen.
Hier sind einige allgemeine Faustregeln in Bezug auf SSD, aber denken Sie daran, dass diese Regeln nicht immer gelten.
- Wenn die Anwendungsbeschleunigungsleistung die absolut höchste sein muss, die sie sein kann – mit der geringstmöglichen Latenz – und der Preis keine entscheidende Rolle spielt, sind NVMe SLC-Flash-SSDs eine sehr gute Antwort. Sie sind nicht die einzige Antwort, wie sie es noch vor ein paar Jahren waren. Storage Class Memory 3D XPoint sind bis zu viermal schneller bei bis zu 10-mal höheren Kosten. Persistente Speichermodule für Rechenzentren, die im Anwendungsdirektmodus ausgeführt werden, sind mehr als zehnmal schneller bei bis zu zehnmal höheren Kosten.
- Wenn die Anwendungsbeschleunigung wichtig ist, die Kosten jedoch ein Problem darstellen, sind MLC, TLC und in geringerem Maße auch QLC praktikable Alternativen.
- Wenn es um ein gemeinsam genutztes Hochleistungsspeichersystem geht, ist die Speichersystemarchitektur wichtiger als nur die Flash-SSD-Medien. NVMe-oF-Verbindungen über Ethernet, Fibre Channel, Infiniband oder TCP/IP; wie Daten zwischengespeichert oder getiered (Storage Tiering) werden, sind die größeren Fragen. SLC, MLC, TLC, QLC und PLC sind alle realisierbar. Einige Speichersysteme auf dem Markt, wie zum Beispiel die von VAST, haben dies mit QLC bewiesen.
- Wenn die Kosten pro Gigabyte im Vordergrund stehen, ist die Leistung wichtig, aber nicht so wichtig, und die Schreibdauer ist kein großer Faktor – wegen des Cachings und der Verschmelzung von Schreibvorgängen – MLC, TLC und möglicherweise QLC könnte die richtige Wahl sein.