DieNVMe-Spezifikation (Non-Volatile Memory Express) gewinnt als leistungsstarke Alternative zu herkömmlichen Speichermedien zunehmend an Aufmerksamkeit. Hochgeschwindigkeits-NVMe-Speicher sind so schnell und reaktionsschnell, dass sie sich manchmal eher wie RAM als wie eine herkömmliche Festplatte anfühlen. Die kürzliche Einführung von Linode NVMe Block Storage ist ein guter Grund, sich NVMe genauer anzusehen und zu verstehen, warum es wichtig ist.
Die SATA-Spezifikation (Serial AT Attachment), die erstmals im Jahr 2000 erschien, wurde für eine frühere Generation von Festplatten entwickelt. SATA war eine willkommene Verbesserung gegenüber anderen damals verfügbaren Technologien und setzte sich als Standard für die Verbindung eines Computers mit einem Speichergerät durch.
Das serielle Kommunikationsformat, das mit SATA verwendet wurde, war zuverlässig und beständig, und es war sicherlich schnell genug, um die Geschwindigkeit einer rotierenden Festplatte zu erreichen. Als jedoch die ersten Flash-basierten Solid-State-Laufwerke (SSDs) aufkamen, erkannten die Hardwareentwickler, dass die serielle SATA-Schnittstelle zu einem Engpass für die schnelleren SSDs werden würde. Die Flash-Laufwerke der ersten Generation nutzten weiterhin den SATA-Bus, weil er vertraut war und von den meisten Geräten unterstützt wurde. Als sich die Technologie jedoch weiterentwickelte, begannen die Anbieter von High-End-Speicherlösungen, ihre eigenen proprietären Lösungen zu entwickeln, um den SSDs eine bessere Leistung abzuringen.
Viele dieser proprietären Lösungen verwendeten den bekannten Peripheral Component Interconnect Express (PCIe)-Bus. Der PCIe-Bus, der parallele Verarbeitung unterstützt, ermöglicht einen effizienteren Zugriff auf die Daten und verringert die Verlangsamung durch die Kommunikation mit dem Speichergerät. Wie so oft bestand auch bei diesen proprietären Lösungen das Problem darin, dass es keine Einheitlichkeit gab. Jedes Gerät erforderte einen eigenen Gerätetreiber und eigene Installationsverfahren, und die Anbieter mussten das Rad für jedes neue Gerät neu erfinden, da sie Probleme getrennt lösten und Verbesserungen versuchten.
NVMe wurde entwickelt, um eine einheitliche Lösung zu schaffen, die die Geschwindigkeit und Parallelität von Flash-Medien nutzen kann. Eine Gruppe von 90 Unternehmen, angeführt von Intel, schloss sich zur NVM Express-Arbeitsgruppe zusammen, die 2011 die Version 1 von NVMe veröffentlichte. Die NVMe-Spezifikation bietet mehrere Verbesserungen gegenüber anderen Speicherstandards, die für SSDs verwendet werden. Eine wichtige Änderung besteht darin, dass ein NVMe-Laufwerk über einen im Gerät integrierten Mikrocontroller verfügt und über den PCIe-Bus direkt mit der CPU kommuniziert. Das Ergebnis ist eine parallelere E/A mit geringerer Latenz und höherem Durchsatz.
NVMe im Vergleich zu konventionellem Speicher
Nach fast allen Maßstäben ist NVMe-Speicher viel schneller als herkömmlicher Speicher. Die Ergebnisse können je nach Hardware und Konfiguration variieren, aber zur Veranschaulichung: Ein herkömmliches Speicherlaufwerk könnte einen Durchsatz von 250 MB/s haben, während NVMe-Laufwerke in der Regel Durchsätze im Gigabyte-Bereich liefern.
Block-E/A pro Sekunde (IOPS) ist ein weiteres wichtiges Maß für die Geschwindigkeit. Auch hier können die Zahlen je nach Gerät variieren, aber man kann sagen, dass NVMe zehn- bis 100-mal mehr IOPS als eine herkömmliche Festplatte liefern kann. Einer der Hauptgründe für die Geschwindigkeitsverbesserungen ist die parallele Verarbeitung, die durch NVMe erreicht wird. SATA unterstützte eine serielle Befehlswarteschlange mit einer maximalen Größe von 32. NVMe hingegen kann bis zu 64K Befehlswarteschlangen unterstützen, jede mit einer Größe von 64K. Ein weiterer Vorteil von NVMe ist, dass die schnellere Leistung zu einer geringeren Latenz führen kann. Die Latenzzeit eines NVMe-Laufwerks beträgt in der Regel weniger als die Hälfte der Latenzzeit einer Spinning-Disk.
Die radikale Beschleunigung, die mit NVMe möglich ist, ist für bestimmte Arten von Anwendungen ein entscheidender Faktor. Insbesondere ein transaktionaler Dienst wie eine Datenbank oder eine E-Commerce-Website kann mit schnellerem NVMe-Speicher viel effizienter arbeiten. Die massive Parallelität, die mit NVMe möglich ist, ist auch ideal für alle Dienste, die viele gleichzeitige Verbindungen erhalten können. NVMe-Speicher bietet eine viel höhere Leistungsdichte (IOPS pro Gigabyte) als herkömmlicher Speicher.
Natürlich bringt jede Entscheidung Kompromisse mit sich, einer davon sind die Kosten. NVMe-Speicher ist pro Megabyte teurer als Objektspeicher. Eine praktische Option ist die Verwendung von NVMe für Daten und Arbeitslasten, auf die häufig zugegriffen wird und die von niedrigen Latenzzeiten profitieren, und die Verwendung von Objektspeicher oder herkömmlichem Blockspeicher für die Archivierung und andere Aktivitäten, die weniger häufigen Zugriff erfordern. Unser Team kann Ihnen dabei helfen, die Möglichkeiten für die Nutzung der NVMe-Leistung auszuloten und die optimale Speicherkonfiguration für Ihre Umgebung zu finden.
Kommentare (2)
Hello. Is NVMe a physical storage device different from SSDs, or is it a new hardware that works together with an SSD device improving its performance.
Or NVMe is the storage device itself.
I’ll appreciate, if you can clarify this confusion that I have.
Thank you very much for your help, your above explanation was really good. I’m still learning. Have a good day and remain waiting for your answer.
Hey Franco! NMVe drives are a type of SSD and are an improvement on the standard SATA-based drive which allow for faster Read/Write performance and lower latency. This IBM article goes into more detail about the technical specs and differences between types of hard drives: https://www.ibm.com/think/topics/ssd-vs-nvme