NVMe (Non-Volatile Memory Express)
Express-Schnittstelle für nichtflüchtigen Speicher
Was ist das?
NVMe ist eine Softwareschnittstelle für Solid-State-Laufwerke (SSD) und steht für „Non-Volatile Memory Express“ (nichtflüchtiger Speicher). Nichtflüchtiger Speicher ist eine gängige Form von Flash-Speicher in SSDs. Die offizielle Bezeichnung von NVMe lautet „Non-Volatile Memory Host Controller Interface Specification“. Im Vergleich zum älteren AHCI (Advanced Host Controller Interface), das für herkömmliche mechanische SATA-Festplatten mit rotierenden Magnetscheiben verwendet wird, ist NVMe für den Einsatz mit SSDs über eine PCIe-Hardwareschnittstelle optimiert. Dadurch bietet es ein deutlich schnelleres Schnittstellenprotokoll für Speichermedien.
Warum wird es benötigt?
Intel hatte ACHI ursprünglich für herkömmliche Festplatten mit hohen Latenzen und rotierenden Magnetscheiben entwickelt. Ab 2009 setzte sich die SSD jedoch zunehmend als Speichermedium durch. Die Einführung von SSDs führte allerdings zu einem Performance-Engpass, da die maximale Übertragungsbandbreite von ACHI die für SSDs möglichen Übertragungsgeschwindigkeiten nicht verarbeiten konnte. Daher wurde NVMe auf Basis der PCIe-Hardwareschnittstelle (Peripheral Component Interconnect Express) entwickelt. Während ACHI maximal eine Warteschlange mit jeweils 32 Befehlen unterstützt, kann NVMe bis zu 64.000 Warteschlangen mit jeweils 64.000 Befehlen verarbeiten. Dadurch wurden die bisherigen Engpässe bei Übertragungsbandbreite und -geschwindigkeit überwunden.
Frühe SSDs wurden über einen PCIe-Bus angebunden, benötigten jedoch eine speziell angepasste Softwareschnittstelle für die Kommunikation mit dem Betriebssystem. Dank der standardisierten Softwareschnittstelle benötigt das Betriebssystem nur einen einzigen Treiber, um mit allen SSDs zu kommunizieren, die der NVMe-Spezifikation entsprechen. In einem Rechenzentrum mit mehreren Storage-Servern oder großen Datenmengen sind eine beschleunigte Datenübertragung und die Minimierung von Latenzen bzw. Verzögerungen von entscheidender Bedeutung.
Frühe SSDs wurden über einen PCIe-Bus angebunden, benötigten jedoch eine speziell angepasste Softwareschnittstelle für die Kommunikation mit dem Betriebssystem. Dank der standardisierten Softwareschnittstelle benötigt das Betriebssystem nur einen einzigen Treiber, um mit allen SSDs zu kommunizieren, die der NVMe-Spezifikation entsprechen. In einem Rechenzentrum mit mehreren Storage-Servern oder großen Datenmengen sind eine beschleunigte Datenübertragung und die Minimierung von Latenzen bzw. Verzögerungen von entscheidender Bedeutung.
Wie unterstützt GIGABYTE?
Neben der Erfüllung der Nachfrage des Consumer-Marktes nach NVMe-SSDs bietet GIGABYTE auch Enterprise-Lösungen wie den R282-Z92. Damit lässt sich in einem einzelnen 2U-Serversystem ein All-Flash-Array mit Platz für 24 hot-plug-fähige 2,5-Zoll-NVMe-Laufwerke aufbauen. Dieser AMD-EPYC-Server (Rome) der 2. Generation unterstützt außerdem PCIe Gen 4.0. Damit wurden Bandbreite und Übertragungsrate gegenüber PCIe Gen 3.0 verdoppelt – auf 64 GB/s bzw. 16 GT/s. Das ermöglicht deutlich höhere Datenübertragungsgeschwindigkeiten zwischen der CPU und Peripheriegeräten wie Beschleunigerkarten, NVMe-SSDs oder Hochgeschwindigkeits-Netzwerkkarten.