Die technischen Besonderheiten von NVMe

Verfasst von Hartmut Wiehr am 26.06.2017 - 00:22

NVMe ist die Abkürzung von "Non-volatile Memory Express". Bereits seit 2011 kümmert sich eine gleichnamige Organisation um die Verbreitung und Standardisierung dieses Speicherprotokolls.

Doch warum ist überhaupt – neben den klassischen Transportprotokollen wie Ethernet, SCSI oder Fibre Channel – ein weiteres Speicherprotokoll notwendig? Non-volatile Memory besteht aus Flash und SSDs (Solid-state Disks), die in den letzten Jahren nicht nur bei USB-Sticks oder Mobiltelefonen eine grosse Verbreitung gefunden haben, sondern auch bei PCs, Notebooks oder Servern. Neben den traditionellen Speichermedien Tape und Festplatten gibt es damit ein weiteres Speichermedium für den professionellen Einsatz.

Non-volatile, nicht-flüchtiger Speicher besitzt keine sich drehenden magnetischen Festplatten mehr, sondern ist „beständig“ („solid“): Die Flash-Chips bilden eine feste physikalische Masse. Gespeicherte Daten bleiben auch bei Abbruch der Stromversorgung erhalten, sie sind „nicht flüchtig“. Der Lese- und Schreibzugriff erfolgt in einem gleichmässigen, schnelleren Prozess auf alle NVM-Teile: Die physikalische Speicherbasis dreht sich nicht mehr permanent wie bei Festplatten, was dort zu zeitlichen Verzögerungen beim Datenzugriff führt. Und Tapes werden sequentiell beschrieben und gelesen, weshalb sie heute nur noch zu Backup- und Archivierungszwecken eingesetzt werden – für den produktiven Einsatz im Rechenzentrum taugen sie nicht mehr.

Laut der NVMe-Organisation handelt es sich um ein von Grund auf neu entwickeltes Speicherprotokoll für Non-volatile Memory einschliesslich der gegenwärtigen NAND-Flash-Technologie und künftiger NVM-Entwicklungen. Das NVMe-Protokoll unterstützt so genannte "Multiple Deep Queues“, die sich gegenüber den traditionellen Protokollen SAS und SATA durch die grössere Menge gleichzeitig übertragbarer Kommandos auszeichnen. SAS-Geräte unterstützen bis zu 256 Kommandos und SATA-geräte bis zu 32 Kommandos in einer Warteschlange. Dies reicht jeweils für Festplattensysteme aus, entspricht aber nicht den Möglichkeiten von Flash und SSDs. NVMe unterstützt dagegen bis zu 64.000 Kommandos, wobei man sich auch der Vorteile der modernen parallelen Prozessorsysteme bedient. Jede Anwendung bekommt eine eigene unabhängige Queue zugeteilt, so dass keine I/O-Wartezeiten entstehen. Big-Data-Analysen oder die Anwendung von Artificial-Intelligence-Systemen wären ohne solche Performance-Verbesserungen kaum durchführbar.

Die Organisation von NVM Express führt auf ihrer Webseite www.nvmexpress.org viele weitere technische Besonderheiten und Vorteile auf. Im Vordergrund steht dabei der Zusatz „Express“: Chip- und SSD-Medien können nur dann ihre Möglichkeiten, vor allem ihre Performance, ausspielen, wenn weitere Faktoren auf der Anbindungs- oder Netzwerkseite hinzukommen.

Hier gibt es ein White Pater der Organisation NVM Express zu den wichtigsten Merkmalen von NVMe: https://app.e2ma.net/app2/audience/signup/1843375/1788830/.

Bildquelle: NVMe