Non-Volatile Memory Express (NVMe) - nicht zu verwechseln mit dem Storage Medium NVM (Non Volatile Memory). NVMe ist ein relativ neues Protokoll, um auf Daten, die auf SSDs gespeichert sind, zuzugreifen. Vorgänger wie SAS oder SATA hatten den Nachteil, dass sie im Vergleich langsamer und schwerfälliger sind. Mit dem neuen Protokoll wird die Latenz um etwa 20 µs heruntergeschraubt. Das ist bei schnelldrehenden Festplatten und Latenzzeiten von 5000 µs natürlich zu vernachlässigen. Allerdings wird es bei Flash SSDs mit Latenzen von 100 µs schon interessanter. Allerdings wirkt sich NVMe bei zukünftigen SSDs mit 3DXP (3D-XPoint-Technologie) mit Latenzzeiten von weniger als 10µs erst dramatisch aus. Zu berücksichtigen ist zudem, dass Flash SSDs mit SAS/SATA oder NVMe verfügbar sind, 3DXP-SSDs aber ausschließlich mit NVMe funktionieren werden.
Über Latenzen hinaus verbessert NVMe auch die Bandbreite von SSDs, indem es SSDs über PCIe (Peripheral Component Interconnect Express) direkt mit der CPU verbindet. Das hat zur Folge, dass eine große Anzahl von PCIe-Lanes genutzt werden können, ohne dass ein zusätzlicher HBA (Host-Bus-Adapter) benötigt wird. Eine "SAS-Lane" erreicht 12 GB/s und sinkt nach Abzug des Overheads auf rund 1 GB/s ab. Eine "SATA-Lane" unterstützt die Hälfte davon, da sie nur im Halbduplex- statt Fullduplex-Modus arbeitet.
Eine PCIe-Lane (Gen3) läuft mit 1 GB/s und eine typische NVMe-SSD kann mit vier solcher Lanes verbunden werden, um einen Datentransferrate bis zu 4 GB/s zu erreichen. Natürlich sind NVMe-Befürworter schnell dabei eine SATA-SSD, die real mit 0,5 GB/s läuft, mit einer NMVe-SSD, die mit 3 GB/s läuft, zu vergleichen. In der Endrechnung spricht für eine NVMe-SSD ein 6-mal höherer Praxisdurchsatz.
Allerdings besteht ein Storage-System aus verschiedensten SSDs, typischerweise mehr als 10. Bei so vielen SSDs ist der Durchsatz auf Laufwerkebene kaum der Flaschenhals oder der entscheidende Faktor für den Datentransfer auf Systemebene. Hier spielen andere Aspekte eine Rolle.
Mehr Performance auf System-Ebene
Im Allgemeinen ist die Performance eines Storage-Systems abhängig von den folgenden Ressourcen:
• Das Frontend-Netzwerk, dass die Anwendung mit dem Storage verbindet.
• Die CPUs, auf denen die Storage-Software läuft.
• Die I/O Verbindung zwischen den CPUs und Storage-Laufwerken oder -Modulen: Bei einem System mit SAS/SATA-Laufwerken gehören dazu PCIe-Lanes, ein SAS-HBA, SAS-Lanes und vielleicht ein SAS-Expander. Die komplette Bandbreite dieser Verbindung beziffert sich generell auf 12 GB/s. Bei einem System, dass NVMe nutzt, sind PCIe-Lanes und vielleicht ein PCIe-Switch enthalten. Die komplette Bandbreite dieser Verbindung liegt typischerweise bei 8-24 GB/s.
• Die Storage-Laufwerke, darunter das Storage-Medium und die Medium-Kontroller.
Welche dieser vier nun zum Flaschenhals für die Performance wird, hängt von der Systemarchitektur und dem Workload wie Lese- vs. Schreib-Vorgängen und Random vs. Sequentiell ab.
Bei traditionellen Storage-Systemen, die Festplatten nutzen, begrenzt die Anzahl der HDDs die Geschwindigkeit. Dagegen verhalten sich moderne Systeme, die Flash-Laufwerke benutzen, gänzlich anders. Vor allem sind sie deutlich schneller als Festplatten. Für die meisten Workloads sind Flash-basierte Systeme durch die CPU begrenzt. Die CPU ist meist damit ausgelastet, Datendienste wie Hochverfügbarkeit, Datenreduktion und Datensicherung zur Verfügung zu stellen.
Weniger üblich ist, dass ein Flash-basiertes System durch die Anzahl der SSDs begrenzt wird. Das kann aber passieren, wenn zum Beispiel ein System nur über eine kleine Anzahl an SSDs verfügt, wenn es die Last nicht über alle Laufwerke verteilen kann, oder wenn es ältere Laufwerke nutzt, die nicht gänzlich das SAS/SATA-Interface auslasten können. Noch seltener kommt es vor, dass ein System durch den Interconnect oder das Frontend-Netzwerk limitiert wird. Dies kann etwa bei speziellen Workloads passieren, zum Beispiel bei Lastspitzen mit sequentiellem I/O und großen Blöcken oder wenn das Storage-System so ausgelegt wurde, das es maximale Performance auf Kosten von anspruchsvollen Datendiensten bereitstellt.
Sollte das System durch die CPU limitiert sein, könnte der Einsatz von NMVe im Gegensatz zu SAS/SATA die Performance verbessern, weil der NVMe-Treiber die CPU effizienter nutzt, als der herkömmliche SCSI-Treiber. Aber dieser Gewinn ist moderat - weniger als 20 Prozent - weil der größte Teil der CPU von Datendiensten genutzt wird und nicht von Protokoll-Treibern des Storage-Systems.
- Uwe Müller, Head of Sales & PreSales Datacenter, ; Cisco
"Der Einsatz von immer mehr Applikationen führt verstärkt zu einer dezentralen Datenhaltung, die eine dezentrale Verarbeitung erfordert. Das äußert sich beispielsweise in der Zunahme virtueller Desktops oder durch zunehmende Dezentralität von Infrastruktur-Bestandteilen." - Lars Göbel, Leiter Vertrieb & IT-Services, DARZ GmbH
„Steigende Anforderungen an Speicherumgebungen erfordern von Storage-Systemen auch zukünftig mehr Leistung als bisher. IT-Verantwortliche sollten daher im nächsten Jahr verstärkt auf das Thema All Flash setzen, das auch durch die zunehmende Verbreitung von SSD-Speichermedien weiter an Bedeutung gewinnt." - Hans Schramm Field Product Manager Enterprise Dell bei Dell EMC
"Die IT hat begonnen sich zu wandeln: von einem klassischen IT-Stack mit Applikation, Betriebssystem, Hypervisor, Server, Network und Storage hin zu konvergenten oder sogar hyperkonvergenten Strukturen. Server lassen sich als Universallösung nutzen und werden vermehrt auch im Bereich Storage eingesetzt." - Stefan Roth, Head of Storage, Category Management Datacentre Central Europe, Fujitsu
"Flash-Storage ist weiter auf dem Vormarsch, sowohl All-Flash als auch Hybrid-Flash. Darüber hinaus wird Software Defined Storage aufgrund der höheren Anforderungen an die Skalierbarkeit sowie größerer Komplexität und Kosten immer wichtiger werden." - Florian Bettges, Category Manager Storage, Hewlett Packard Enterprise
"Fortschrittliche Analytics-Anwendungen werden in immer mehr Unternehmen zu einem wichtigen Teil der Geschäftsstrategie und verändern damit grundlegend die Anforderungen, die an Storage-Lösungen gestellt werden." - Jürgen A. Krebs, CTO für die Region EMEA von Hitachi Data Systems
"Die wichtigsten Themen sind hier Agilität und Flexibilität. Unternehmen gehen dazu verstärkt den Weg in die (Private) Cloud. Gleichzeitig ändert sich das Kaufverhalten der Kunden. Sie wollen zunehmend klassische Investitionen (Capex) durch laufende Betriebsausgaben (Opex) ersetzen, was im Storage-Bereich verbrauchsabhängige Abrechnungsmodelle erfordert.“ - Ralf Colbus, Leading Storage Professional, IBM
„Wenn in Zukunft ein Service angefordert wird, wird es unwichtig sein, ob dieser on-premise oder off-premise ausgeführt wird. Ein IT-Verantwortlicher muss sich also auf Hybrid-Services ausrichten. Die Cloud wirkt dann als erweitertes Rechenzentrum." - Peter Wüst, Senior Director Emerging Solutions & Innovation Group EMEA, NetApp
"Flash ist Standard. Daten werden immer mehr und wichtiger und daher wird die Kompetenz im Datenmanagement wichtiger. Die sichere und einfache Verschiebung von Daten für Cloud-Workloads ist eine Anforderung an moderne Speichersysteme. Objektstorage und skalierbarer Cloudstorage (onpremise/offpremise) werden als weitere Storageklassen eingeführt. Flash ersetzt SAS als Storagetier.“ - Joachim Berger, Sales Director DACH bei Nimble Storage
„Wir haben in diesem Jahr eine stetig wachsende Anzahl an Unternehmen gesehen, die damit beginnen, Flash- und All-Flash-Technologien in ihre Rechenzentren zu integrieren. Diese Technologien benötigen vorausschauende Analyse-Möglichkeiten, um Ausfallzeiten auf ein Minimum zu reduzieren und für eine optimale Verfügbarkeit von Anwendungen und Daten zu sorgen.“ - Thomas Muggendobler, Product Manager Storage, Thomas-Krenn AG
„All-Flash-Systeme werden auch bei mittleren und größeren Kapazitäten die mechanischen Festplatten weiter verdrängen. Wir stellen vor allem fest, dass bei den Anwendern neben den stark gefallenen Anschaffungspreisen auch die deutlich niedrigeren Betriebskosten in den Fokus rücken.“
Die Performancewerte mögen bei den zurzeit angebotenen Storage-System variieren, deshalb sollten IT-Verantwortliche jeden Storage-Anbieter, der NVMe-basierte Systeme offeriert, nach dem "Mehr" an Performance fragen, die aufgrund der eigenen Workloads zu erwarten ist und nicht aufgrund der Hersteller-Benchmarks.
Glücklicherweise kann NVMe mit einfachen Layout-Änderungen in ein Storage-System integriert werden und das ohne große Veränderungen der eigentlichen Storage-Architektur. Dabei gibt allerdings einen Haken: NVMe-SSDs mit Dualports sind teuer. Diese sind aber notwendig, um hochausfallsichere Systeme zu bauen. Allerdings wird der Preis entsprechender NVMe-Systeme in naher Zukunft wahrscheinlich in die Nähe von SATA-SSDs fallen. Im laufe der Zeit werden so alle Flash-basierten Systeme auf NVMe umsteigen. Manche Hersteller werden es früher tun als andere, aber es wird den Storage-Markt nicht fundamental umkrempeln.
Insgesamt lässt sich sagen, dass NVMe-SSDs in einem Storage-System zu nutzen vergleichbar ist, wie hoch performante Reifen bei einem Auto zu verwenden. In den meisten Fällen bieten sie eine kleine Verbesserung der Leistung und benötigen keinen Austausch des Motors. Nett, aber kein wirkliches Unterscheidungskriterium.
Interessanter ist eine derzeitige Erweiterung von NVMe, bekannt als NVMe over Fabrics (NVMf) . NVMf führt I/O-Operationen über Hosts, die Remote-Drect-Memory-Access-fähige (RDMA) Netzwerke wie RDMA-over-Converged-Ethernet (RoCE) nutzen, aus. Während das NVMe-Protokoll über PCIe die Roundtrip-Latenzzeit um ungefähr 10µs im Vergleich zu SAS verringert, reduziert NVMf diese um 100µs im Vergleich zu Protokollen wie iSCSI. Darüber hinaus senkt es die CPU-Auslastung bei TCP/IP-Prozessen. Dies kann bei Scale-Out-Systemen für die Übertragung von Daten zwischen Hosts vorteilhaft sein. Dafür benötigt werden RDMA-fähige Network-Interface-Cards (NICs) und Data-Center-Bridging-fähige (DCB) Switche. Bis es soweit ist, wird noch etwas Zeit vergehen.
Turbo für 3D-XPoint-SSDs
Während NVMe für Flash-SSDs eine nette Ergänzung ist, ist NVMe dagegen für 3DXP-SSDs essenziell. Federführend bei der Einführung des neuen Storage-Protokolls war 2011 Intel. Darüber hinaus gilt das Unternehmen als Co-Erschaffer von 3DXP.
Die interne Latenzzeit von 3DXP-SSDs beträgt weniger als 10µs, was deutlich schneller ist als 100µs bei Flash-SSDs. Das bedeutet, dass Workloads mit geringer Warteschlangentiefe - mit wenig ausstehenden I/O-Operationen - viel schneller auf 3DXP-SSDs laufen als auf Flash-SSDs. Wenn man eine 3DXP-SSD mit SAS- anstatt mit NVMe-Schnittstelle nutzt, würde es die Latenz mehr als verdreifachen und somit den Vorteil von 3DXP minimieren.
Mit Latenzzeiten von 10µs stellt die 3DXP-Speichertechnologie einen fundamentaleren Wandel im Storage-Umfeld dar, als das NVMe-Protokoll alleine betrachtet. 3DXP führt einen neuen und ausdifferenzierteren Layer in die Storage Medium-Pyramide ein und zwar zwischen Flash und NVRAM (basieren auf DRAM).
Im Vergleich zu Flash-SSD ist eine 3DXP-SSD zirka 10-mal schneller bei einer geringen Warteschlangentiefe und toleriert 10-mal mehr Schreibzyklen. Allerdings ist diese neue Speichertechnologie auch 10-mal teurer pro Gigabyte. Wenn wir uns diesen preislichen in Hinblick auf Preis und Performance vor Augen führen, wäre es da nicht sinnvoll Flash und 3DXP SSDs zu kombinieren, so dass Flash für das Speichern von Daten und 3DXP für das Speichern von Metadaten oder Caching Daten genutzt wird. Dieser hybride Ansatz von Systemen mit herkömmlichem Flash und 3DXP wäre deutlich attraktiver als reine Flash-Systeme.
Das volle Potential der 3DXP-Speichertechnologie wird sich auch nicht bei SSDs mit NVMe-Schnittstelle vollends ausschöpfen lassen, sondern erst mit NVDIMM auf dem Speicherbus. Das liegt daran, dass die tatsächliche Latenz von 3DXP-Speicher auf weniger als 1µs geschätzt wird und wenn es in eine SSD gepackt wird, zu einer erhöhten Latenzzeit von 10µs führt. So bleibt festzustellen: Erst eine perfekte Symbiose aus Speichermedium und des entsprechenden Speicherprotokolls (Schnittstelle) führt zu optimalen Ergebnissen bei der Storage-Performance.