Neues Leben im Storage-Markt
Speichergeräte mit Flash-SSD und SAS/SATAoder NVM-Express-Schnittstelle sind zurzeit das Maß der Dinge. Doch die nächste Speichergeneration 3D XPoint (3DXP) inklusive NVMExpress-Interface steht bereits am Start.
Mit der Digitalisierung brauchen Unternehmen schnelle Storage-Systeme mit geringen Latenzzeiten. Geräte mit Flash-SSD und SAS/SATA- oder NVM-Express-Schnittstelle sind zurzeit das Maß der Dinge. Doch die nächste Speichergeneration 3D XPoint (3DXP) inklusive NVM-Express-Interface steht bereits am Start.
Non-Volatile Memory express (NVMe) – nicht zu verwechseln mit dem StorageMedium NVM (Non Volatile Memory) – ist ein relativ neues Protokoll, um auf Daten zuzugreifen, die auf SSDs gespeichert sind. Vorgängerprotokolle wie SAS oder SATA sind im Vergleich langsamer und schwerfälliger. Mit dem neuen Protokoll wird die Latenz um etwa 20 Mikrosekunden heruntergeschraubt. Das ist bei schnelldrehenden Festplatten und Latenzzeiten von 5000 Mikrosekunden zwar zu vernachlässigen. Allerdings wird es bei Flash-SSDs mit Latenzen von 100 Mikrosekunden schon interessanter. Dramatisch wirkt sich NVMe bei zukünftigen SSDs mit 3DXP (3D-XPoint-Technologie) mit Latenzzeiten von weniger als zehn Mikrosekunden aus. Dazu kommt, dass 3DXP-SSDs nur noch mit NVMe funktionieren werden.
Über Latenzen hinaus verbessert NVMe auch die Bandbreite, indem es SSDs über PCIe (Peripheral Component Interconnect Express) direkt mit der CPU verbindet. Das hat zur Folge, dass eine große Zahl von PCIe-Lanes genutzt werden können, ohne dass ein zusätzlicher Host-Bus-Adapter benötigt wird.
Die Leistung eines Storage-Systems beeinflussen allerdings verschiedene Komponenten: das Frontend-Netzwerk, das 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 und die Storage-Laufwerke, darunter das Storage-Medium und die Medium-Controller. Welche dieser vier Komponenten nun zum Flaschenhals für die Performance wird, hängt von der Systemarchitektur und den Workloads wie Lese- versus Schreibvorgängen und Random versus sequenziell ab. Bei traditionellen Storage-Systemen, die Festplatten nutzen, begrenzt die Zahl der HDDs die Geschwindigkeit. Dagegen sind Systeme mit Flash-Laufwerken deutlich schneller. Für die meisten Workloads in Flash-basierten Systemen ist die CPU der begrenzende Faktor. Diese ist meist damit ausgelastet, Datendienste wie Hochverfügbarkeit, Datenreduktion und Datensicherung zur Verfügung zu stellen.
Seltener passiert es, dass ein Flash-basiertes System durch die Zahl der SSDs begrenzt wird. Das kann aber vorkommen, wenn etwa ein System nur über eine kleine Zahl von SSDs verfügt, die Last jedoch nicht über alle Laufwerke verteilen kann, oder wenn die Laufwerke älter sind und das SAS/SATA-Interface nicht auslasten können. Noch seltener wird ein System durch den Interconnect oder das FrontendNetzwerk limitiert. Das kann etwa bei speziellen Workloads geschehen, zum Beispiel bei Lastspitzen mit sequenziellem I/O und großen Blöcken, oder wenn das Storage-System so ausgelegt wurde, dass 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 Perfomance verbessern, weil der NVMe-Treiber die CPU effizienter nutzt als der herkömmliche SCSI-Treiber. Aber der Leistungsgewinn ist moderat – weniger als 20 Prozent –, weil der größte Teil der CPU von Datendiensten genutzt wird und nicht von Protokolltreibern des Storage-Systems. IT-Verantwortliche sollten daher jeden Storage-Anbieter, der NVMe-basierte Systeme offeriert, nach dem Mehr an Performance fragen, das aufgrund des 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 Modifikationen der eigentlichen Storage-Architektur. Dabei gibt es allerdings einen Haken: NVMeSSDs mit Dualports kommen derzeit noch teuer. Sie sind aber notwendig, um ausfallsichere Systeme zu bauen. Allerdings wird der Preis entsprechender NVMe-Systeme in naher Zukunft wahrscheinlich in die Nähe von SATASSDs fallen. Im Lauf der Zeit werden so alle Flash-basierten Systeme auf NVMe umgerüstet. Manche Hersteller werden es früher tun als andere, allerdings wird es den StorageMarkt nicht fundamental umkrempeln. Turbo für 3DXP-SSDs
Während NVMe herkömmlichen Flash-SSDs etwas auf die Sprünge hilft, ist NVMe für neue 3D-XPoint-SSDs essenziell. Die interne Latenzzeit von 3DXP-SSDs beträgt weniger als zehn Mikrosekunden – das ist deutlich schneller als die 100 Mikrosekunden bei Flash-SSDs. Das bedeutet, dass Workloads mit geringer Warteschlangentiefe – also mit wenig ausstehenden I/O-Operationen – viel schneller auf 3DXPSSDs laufen als auf Flash-SSDs. Wenn man eine 3DXP-SSD mit SAS- statt mit NVMeSchnittstelle nutzt, würde es die Latenz mehr als verdreifachen und somit den Vorteil von 3DXP verringern.
Mit Zugangslatenzen von zehn Mikrosekunden verändert 3DXP mehr als NVMe allein. Im Grunde wird damit ein neuer Layer in die StorageMedium-Pyramide eingefügt, und zwar zwischen Flash und NVRAM (basierend auf DRAM). Im Vergleich zu einer klassischen Flash-SSD wird eine 3DXP-SSD zehnmal schneller bei einer geringen Warteschlangentiefe sein, zehnmal mehr Schreibzyklen tolerieren, aber auch zehnmal teurer pro Gigabyte sein. Wenn wir uns diesen Unterschied im Faktor zehn bei Preis und Performance vor Augen halten, wäre es sinnvoll, Flash und 3DXP-SSDs zu kombinieren, so dass Flash für das Spei- chern von Daten und 3DXP für das Speichern von Metadaten oder Caching-Daten genutzt wird. Dieses Vorgehen wird hybride Flash3DXP-Systeme weitaus attraktiver machen als reine Flash-Systeme. Im Vergleich zu NVRAMDIMM ist eine 3DXP-SSD zumeist zehnmal langsamer, unterstützt weniger Schreibzyklen und ist zehnmal günstiger. Daher werden Anwendungsfälle wie Schreib-Caching, die die niedrigste Latenz und höchste Schreibbelastbarkeit, aber keine großen Kapazitäten benötigen, weiter gut mit NVRAM funktionieren.