Mit NVMe startet Flash richtig durch
NVMe und PCIe
NVMe und Flash haben alle Ingredienzen, mit denen sich die Art und Weise ändert, wie Rechenzentren Daten speichern und wiederherstellen. Flash per se ist bereits schnell. Mit NVMe lässt sich die Performance noch einmal deutlich über das heute bekannte Mass hinaus steigern.
Laut Untersuchungen der NVM-Express-Organisation ergeben sich mit der Kombination von PCIe/NVMe spürbare Leistungs-Steigerungen bei den Lese-/Schreibprozessen gegenüber SAS- oder SATA-Platten. Neben den Verbesserungen bei den Input/Output Operations per Second (IOPS) werden die CPU-Zyklen mit NVMe halbiert und die Latenzzeiten gegenüber den höherwertigen SAS-Platten reduziert. Detaillierte Zahlen dazu finden sich auf der NVM-Express-Webseite und in dem Webcast «The Performance Impact of NVMe and NVMe over Fabrics».
Wie J. Michael Metz darlegt, gibt es oft Unklarheiten, wenn es um das Verhältnis von NVMe und PCIe geht. In seinem Blog auf der SNIA-Webseite schreibt er: «Zu Beginn meiner Beschäftigung mit NVMe war ich selbst etwas verwirrt. Ich kapierte, was PCIe ist, aber ich brauchte lange, um zu verstehen, wo sich NVMe und PCIe überschneiden. Und dann war es mir klar: Sie überschneiden sich gar nicht.»
Zur Erklärung verweist Metz auf den Umgang mit besonders wichtigen Daten in der IT, die man immer näher an die CPU heranrückte. Traditionelle Hosts benutzen dazu einen I/O-Controller, der zwischen CPU und Speichergerät sitzt. Indem man PCIe einsetzt, kann der I/O-Controller jedoch aus dem Datenpfad herausgenommen werden, womit der Datenfluss deutlich beschleunigt wird.
Durch die direkte Anbindung an die CPU bietet PCIe einige technische Vorteile, zu denen niedrigere Latenzen, skalierbare Performance, beschleunigte I/O-Prozesse und geringerer Energieverbrauch gehören. SSDs werden wegen dieser Leistungsfähigkeit an PCIe angeschlossen, allerdings fehlte ein Standard für die Kommunikation mit SSDs über die PCIe-Schnittstelle. Mit NVMe wurde ein solcher Standard für die Kommunikation mit NVM-Speichergeräten geschaffen, der von immer mehr Hard- und Software-Herstellern unterstützt wird.
So wie man schon die SCSI-Schnittstelle aus dem Host auslagern konnte, so kann man auch die PCIe-Schnittstelle dort herausnehmen. Das erfordert aber eine eigene externe PCIe-Hardware-Schnittstelle. In gleicher Weise hat man begonnen, NVMe mit anderen Schnittstellen und Technologien für Storage Networking zu verbinden. Netzwerke oder Netzwerkgewebe (Fabrics) auf Basis von InfiniBand, Ethernet, Fibre Channel oder FCoE sind Beispiele dafür. Diese Entwicklungen können dazu führen, Hunderte oder Tausende von SSDs in einem Netzwerk miteinander zu verbinden – mehr als bei PCIe-basierten Systemen.