PCI Express (PCIe) etabliert sich immer mehr als wichtigste Schnittstelle für Solid-State Drives (SSDs) innerhalb von Rechenzentren. Bereits im Jahr 2018 soll das Interface den SSD-Markt entscheidend bestimmen. Im Zuge dieser Entwicklung spielt eine neue Schnittstellenspezifikation eine wichtige Rolle: "Non-Volatile Memory Express" (NVMe) ist speziell auf PCIe sowie nichtflüchtigen Flash-Speicher ausgelegt.
Marktanteile übernehmen die PCIe-Laufwerke vor allem von SATA-SSDs. Dies ist nicht verwunderlich - schließlich gerät die SATA-Schnittstelle angesichts der rasch gestiegenen Performance moderner Flash-Speicher längst an ihre Leistungsgrenze. Liegen die maximal erreichbaren Ein- und Ausgabeoperationen pro Sekunde (IOPS) bei SATA-SSDs etwa bei 100.000, ermöglichen PCIe-Laufwerke heute schon bis zu 700.000 IOPS. Auch die Übertragungsbandbreiten unterscheiden sich deutlich. Während sich über SATA maximal 600 MByte/s übertragen lassen, bietet PCIe in der aktuellen Generation 3.0 Datentransferraten von 1 GByte/s pro Lane. Je nach Anzahl der angeschlossenen PCIe-Lanes sind Flash-Speicher damit in der Lage, theoretische Bandbreiten von bis zu 8 GByte/s zur Verfügung zu stellen.
Bislang nutzten SSDs mit PCIe-Schnittstelle das Advanced Host Controller Interface (AHCI) sowie herkömmliche Speicherprotokolle wie SATA und SAS zur Kommunikation mit dem Host. Diese Schnittstellen wurden allerdings für klassische Festplatten konzipiert und stellen für Highend-SSDs mittlerweile einen erheblichen Flaschenhals dar. Aus diesem Grund kam es zur Entwicklung der Schnittstellenspezifikation "Non-Volatile Memory Express". Das neue Host Controller Interface NVMe ist speziell auf PCIe sowie nichtflüchtigen Flash-Speicher ausgelegt und in der Lage, auch große Datenmengen mit hoher Zuverlässigkeit zu verarbeiten. Gerade bei Performance-lastigen Storage-Infrastrukturen spielt NVMe eine maßgebliche Rolle in puncto Zukunftsfähigkeit. Durch die Vereinheitlichung der Treiberarchitektur erlaubt die Schnittstellenspezifikation Systemintegratoren künftig eine flexiblere Kombination von Storage-Komponenten und stellt auf diese Weise ein ausgewogeneres Zusammenspiel von Speichersystemen, Host-Plattformen und Softwareapplikationen sicher.
Gegenüber AHCI bietet NVMe zahlreiche Vorteile. Dazu zählen ein schlankerer Befehlssatz, ein für hohe IOPS optimierter Instruktionspuffer, Multi-Core-Support sowie die Unterstützung modernster Fehlerkorrekturverfahren. Dadurch ermöglicht die neue Schnittstellenspezifikation deutlich niedrige Latenzen sowie eine maßgeblich reduzierte Prozessorbelastung. Da bei NVMe der Treiber direkt mit dem Block-Layer verbunden ist (Bild 1), entfallen Queue Requests und SCSI-Translation. Testergebnisse belegen inzwischen, dass NVMe sowohl den Software-Overhead als auch die erforderlichen Befehlsabläufe um mehr als 50 Prozent reduziert. Die durchschnittliche Latenzzeit sinkt dadurch von 6 µs auf 2,8 µs.
Bessere Flash Performance
Aufgrund der verbesserten Queue-Architektur lassen sich darüber hinaus wesentlich mehr parallele Workloads ausführen. Während AHCI lediglich eine einzige Queue mit 32 (SATA) beziehungsweise 254 (SAS) Befehlen verarbeiten kann, unterstützt NVMe 65.536 Queues mit je 65.536 Befehlen. Applikationen, die von einer Vielzahl gleichzeitiger I/O-Prozesse profitieren, lassen sich so wesentlich schneller und effektiver ausführen. Dazu zählen etwa Datenbankanwendungen, Big-Data-Analysen oder Virtual-Desktop-Umgebungen (VDI).
Auch auf Hardwareseite senkt NVMe die Latenz erheblich. Denn im Gegensatz zu SAS-Laufwerken sind NVMe-SSDs über PCIe direkt an die CPU angeschlossen. Somit ist kein Host-Bus-Adapter erforderlich, und die Zeit, die eine I/O-Anfrage in der Hardwareinfrastruktur verbringt, verringert sich deutlich. Im direkten Vergleich mit 12-GBit/s-SAS weist NVMe eine um 200 µs niedrigere Latenz auf. Damit liefert die neue Schnittstellenspezifikation die geringste Latenz aller standardisierten Speicherprotokolle.
Da mit NVMe der Einsatz gerätespezifischer Treiber entfällt, lassen sich Speicherkomponenten einfacher kombinieren. IT-Administratoren erhalten so zusätzliche Möglichkeiten bei der Konzeption von Storage-Lösungen. In aktuellen Betriebssystemen wie Windows 8.1, Windows Server 2012 R2, Vsphere 6.0 oder Linux ab Kernel 3.1 ist bereits native Treiberunterstützung enthalten.
Enterprise-Funktionen
Neben dem beträchtlichen Performance-Gewinn und der vereinheitlichen Treiberarchitektur bietet das neue Host Controller Interface auch zahlreiche Enterprise-Funktionen. Diese wurden zum Großteil von SAS übernommen und umfassen beispielsweise Dual-Port Support und End-to-End Data Protection. Durch den Dual-Port Support lassen sich NVMe-fähige SSDs wie beispielsweise das Z-Drive 6000 von OCZ über separate Datenpfade an zwei Hosts gleichzeitig anschließen (Bild 2). Dies ermöglicht nicht nur Multipath Setups, sondern auch den Aufbau redundanter Storage-Infrastrukturen. Sollte einer der Datenkanäle unterbrochen werden, beispielsweise im Zuge eines System- oder Stromausfalls, ist über den zweiten Pfad eine fortlaufende Kommunikation sichergestellt. Dadurch lässt sich die Datenverfügbarkeit maßgeblich verbessern.
Mit dem Data Integrity Field (DIF) bietet NVMe einen soliden End-to-End-Schutz für die Datenintegrität. Zwei zusätzliche ECC-Bytes (Error Correcting Code) überprüfen dabei die Dateneigenschaften auf Fehler, sobald der Host einen Schreib- oder Lesevorgang angestoßen hat. Die Bytes sind dabei dem Cyclic Redundancy Checking (CRC) zugeordnet und werden als fester Wert in jeden logischen Block geschrieben. Beim Lesen des Blocks erfolgt ein Vergleich des gespeicherten Werts mit einem errechneten. Übermittelte Schreib- und Lesefehler lassen sich so einfach erkennen und korrigieren.
Neben PCIe-Add-in-Cards (AICs) unterstützt NVMe standardmäßig auch SSDs im 2,5-Zoll-Formfaktor. Gegenüber Steckkarten besitzen diese den entscheidenden Vorteil, dass sie sich einfach während des laufenden Server-Betriebs austauschen lassen. Statt den Server komplett herunterzufahren, muss der zuständige IT-Administrator einfach nur das betroffene Laufwerk wechseln.
SFF-8639-Connector sorgt für Zukunftssicherheit
NVMe-konforme Hardware ist in der Anschaffung zwar teurer, doch aufgrund der hohen Performance-Potenziale äußerst zukunftssicher. Vor einer anstehenden Neuinvestition sollten Systemintegratoren allerdings genauestens prüfen, ob auch der Rest der vorhandenen IT-Infrastruktur für hohe IOPS ausgelegt ist. Wichtig ist zudem, dass sowohl Server-Motherboard, BIOS als auch die entsprechenden PCIe-Slots die neue Schnittstellenspezifikation unterstützen. Pro SSD sind darüber hinaus mindestens vier PCIe-Lanes der Generation 3.0 erforderlich, um eine maximale Übertragungsgeschwindigkeit von 4 GByte/s zu gewährleisten. Momentan liegt der Datendurchsatz einer fortschrittlichen NVMe-SSDs bei etwa 2,9 GByte/s.
Server- und Flash-Speicherhersteller werden in den kommenden Monaten verstärkt Produkte mit SFF-8639-Connector (U.2) auf den Markt bringen. Dieser unterstützt nicht nur NVMe, sondern auch SATA und Multipath-SAS. Dadurch lassen sich SSDs mit unterschiedlichen Schnittstellen an einem gemeinsamen Interface betreiben.