Mobile-Menu

Kommentar von Dennis Demartek, Demartek LLC

NVMe steht in den Startlöchern

Seite: 2/3

Anbieter zum Thema

Zukünftige nichtflüchtige Speichertechniken, manche davon zeichnen sich bereits am Horizont ab, bergen das Potenzial, viel schneller als die aktuelle Flash-NAND-Technik zu agieren. Wenn es soweit ist, wird mit den derzeit aktuellen Software Stacks und Protokollen eine I/O-Anforderung den Großteil ihrer Zeit damit verbringen, sich durch den Software Stack zu arbeiten und nicht mehr durch die Hardwareinfrastruktur.

NVMe wurde entwickelt, den I/O-Stack zu optimieren, um so die Software-Stack-Latenz zu minimieren. Intel hat den Linux-NVM-Software-Stack mit dem Linux-SCSI/SAS-Software-Stack verglichen. Tests haben gezeigt, dass NVMe den Software Overhead um mehr als 50 Prozent reduziert, von 6,0 auf 2,8 Mikrosekunden. Der NVMe-Stack reduzierte ebenfalls die Anzahl der Befehlszyklen von 19.500 auf 9.100.

Optimiert für schnelle Hardware

NVMe ist für nichtflüchtige Speichertechniken ausgelegt und unterstützt daher mehr Queues als andere, für langsamere Speichertechniken entwickelte Protokolle. NVMe unterstützt 64K-Befehle pro Queue und 64K-Queues, sodass es mit sehr schneller Hardware zusammenarbeiten kann.

NVMe wurde entwickelt, um mit aktuellen nichtflüchtigen Speichertechniken inklusive der NAND-Flash-Technik zusammenzuarbeiten sowie mit künftigen nichtflüchtigen Speichertechniken. Bei NVMe wird davon ausgegangen, dass Speicher an den PCIe-Bus angebunden sind. Allerdings habe ich mindestens zwei weitere Techniken gesehen, NVDIMM und TeraDIMM (auch als ULLtraDIMM bekannt), mit denen Flash-Speicher auf den Speicherbus gesetzt wird und sich selbst als Speicher präsentiert. Diese Techniken könnten künftig eventuell vom NVMe-Stack profitieren.

Enterprise- vs. Client-Geräte

Bei den SSDs gibt es, wie auch bei herkömmlichen Festplatten, zwei Basistypen: Enterprise und Client. Beide sind für jeweils andere Einsatzzwecke konzipiert und weisen unterschiedliche Betriebseigenschaften auf. Wir erklären die technischen Unterschiede zwischen Enterprise und Client-Geräte in unserem SSD Deployment-Leitfaden. NVMe bietet optionale Features, die beide Typen unterstützt, Enterprise-SSDs und Client-SSDs.

Die NVMe-1.1-Spezifikation

Die NVMe-1.1-Spezifikation enthält einige Features, die einen End-to-End-Datenschutz unterstützen, Multi-Path inklusive Reservierungen, Optimierungen beim Stromverbrauch und Verbesserungen beim NVMe-Befehlssatz. Die Multi-Path-Funktion, die vorwiegend in Enterprise-Geräten eingesetzt wird, unterstützt Dual-Port-Geräte hinter einem PCIe-Switch. Die Reservierungsfunktion arbeitet mit Umgebungen mit mehreren Hosts zusammen und ist kompatibel zu Implementierungen, die SCSI-Reservierungen verwenden.

Die NVMe-1.1-Spezifikation enthält Energieoptimierung für Client-SSDs. „Autonomous Power State Transition“ kann den NVMe-Controller automatisch nach einer Ruhezeit in den einen Stromsparmodus versetzen. Es ist davon auszugehen, dass künftige Revisionen der NVMe-Spezifikation eine Namensraum-Verwaltung, Live-Updates der Firmware und weitere Funktionen erhalten werden.

NVMe-Treiber

Die Treiberentwicklung hat im vergangenen Jahr schöne Fortschritte gemacht und schreitet weiter voran. Für folgende Betriebssysteme stehen Treiber bereit:

  • Windows: „In-Box“ für Windows 8.1 und Windows Server 2012 R2 (StorNVMe)
  • Linux: Nativer OS-Treiber seit Kernel 3.3 (Januar 2012)
  • Unix: FreeBSD-Treiber-Upstream, bereit zum Release
  • Solaris: geplant für Version S12
  • VMware: der Vmklinux-Treiber soll im Dezember 2013 kommen
  • UEFI: Ein Open-Source-Treiber steht auf Sourceforge zur Verfügung

(ID:42343632)