Non-Volatile Memory Express

Mehr Performance bei Flash-Speicher mit NVMe

Gerade im Unternehmenseinsatz können Flash-Speicher nicht genügend Leistung bieten. Schnittstellen wie SATA und PCI Express kommen an ihre Grenzen. Abhilfe schafft die NVMe-Spezifikation, um große Datenmengen in Hochgeschwindigkeit zu verarbeiten.

Im Unternehmensbereich gibt es immer mehr Möglichkeiten für Flash-basierten Solid-State-Storage, da er im Vergleich zu Festplattenspeichern eine schnellere I/O-Performance bietet, verschiedene Formfaktoren und Interfaces unterstützt und zudem energiesparender ist. Die in Unternehmen und von Nutzern gespeicherte Datenmenge hat astronomische Ausmaße erreicht, zudem müssen Daten noch schneller und effizienter geladen werden.

Es gibt mehrere gute Schnittstellen für Enterprise-SSDs, wobei sich aber PCIe als eine der besten erwiesen hat. Die direkte Verbindung mit der Host-CPU bietet minimale Latenzzeiten. Die aktuelle Version PCIe 3.0 ermöglicht 1 GByte/s Bandbreite pro Lane, wobei die PCIe-SSDs vier oder acht Lanes gleichzeitig nutzen können. Damit sind für die SSD Bandbreiten von 4 oder 8 GByte/s erreichbar.

Die heutigen Enterprise-Server haben mehrere PCIe-Slots für den SSD-Einsatz und können je CPU bis zu 40 Lanes einsetzen. Ein Server mit zwei Sockeln kann 80 PCIe-Lanes unterstützen. Durch den anhaltenden Leistungsunterschied zwischen Server-Prozessoren und den HDD-Subsystemen sind PCIe-SSDs äußerst beliebt. Sie stellen für die nächsten fünf Jahre einen globalen und schnell wachsenden Multi-Milliarden-Dollar-Markt dar. Zurzeit befindet sich die PCIe-basierende SSD-Nutzung noch in der Anfangsphase.

Um das erwartende Nutzungsniveau zu erreichen, benötigt die PCIe-SSD einen Host-gesteuerten Interface-Standard. Ohne diesen Standard muss jeder SSD-Anbieter eigene Treiber als Schnittstelle zwischen der SSD und dem Host entwickeln. Durch die Standardisierung der Schnittstelle ist nur ein einziger Treiber erforderlich. Daher wurde die Spezifikation "Non-Volatile Memory Express" NVMe erstellt. Diese soll das volle Potenzial des permanenten Speichers für Enterprise- und Client-Plattformen zur Unterstützung von PCIe-basierten SSDs ermöglichen.

Was steckt hinter NVMe?

Die bisher für SSDs verwendeten Schnittstellen wie SATA, SAS oder Fibre Channel sind für Spindel-Laufwerke bestimmt. Da sich die SSD-Technologie seit Jahren ständig weiterentwickelt, sind HDD-Schnittstellen für Flash-basierten Storage mittlerweile ineffizient. Mit NVMe steht SSD-Entwicklern das erste Mal eine standardmäßige, auf Flash beschränkte Host-Controller-Schnittstelle zur Verfügung, die von einem Industriekonsortium unterstützt wird und große Datenmengen in Hochgeschwindigkeit verarbeitet.

NVMe ist eine skalierbare Host-Controller-Schnittstellenspezifikation für SSDs auf einem PCIe-Bus; sowohl innerhalb von Enterprise- als auch Client-Systemen. Die Spezifikation wird ständig weiterentwickelt und von einem Industriekonsortium mit mehr als 90 Mitgliedern unter der Führung der 13-köpfigen Firmengründergruppe koordiniert. Die anfängliche NVMe 1.0-Spezifikation wurde im März 2011 veröffentlicht. Die aktuelle NVMe-Spezifikation ist Version 1.1, die im Oktober 2012 veröffentlicht wurde.

NVMe ist leistungsorientiert, strukturiert und bietet ein rationalisiertes sowie optimiertes Register-Interface- und Befehlsset, das nur die Mindestanzahl der CPU-Clocks pro I/O benötigt. Das ermöglicht einen schnelleren Zugang zu kritischen Daten auf mehreren Kernen, geringere Latenzzeiten und einen reduzierten Energieverbrauch. Zudem werden aktuelle und zukünftige Speicheransprüche durch massiven Parallelismus und hohe Skalierbarkeit erfüllt.

Der Standard unterstützt auch 2,5 Zoll-Formfaktoren, sodass NVMe-basierte PCIe-SSDs bei auftretenden Fehlern im laufenden Betrieb gewechselt werden können. Dazu wird das Laufwerk einfach aus dem Servergehäuse gezogen, ohne dass man den Server abschalten muss. Diese Hot-Swap-Fähigkeit bieten PCIe-Edge-Cards nicht, bei fehlerhaften Karten muss der Server für einen Austausch heruntergefahren werden.

Der NVMe-Standard ist im Rahmen von High Availability (HA) auch Dual-Port-fähig. So sind im Fall eines plötzlichen Stromausfalls oder Systemabsturzes zwei redundante Datenpfade verfügbar: Fällt ein Datenpfad aus, setzt der verfügbare Datenpfad den Betrieb fort.