Update: NVMe, NVDIMM, Storage Class Memory. Welche Anwendungen können davon profitieren

Starnberg, 17. Dez. 2018 - NVMe und NVMeoF in Verbindung mit Storage Class Memory (SCM) bilden eine neue Speicherhierarchie für Unternehmen...

Um was es hier geht: Flash Drives sind im Gegensatz zu schnellen mechanischen Festplatten in der Lage, höhere Übertragungsgeschwindigkeiten bei sehr geringen Latenzzeiten zu liefern, aber ohne optimierte Systemumgebung (Softwareschnittstellen, Treiber, HBA-support etc.) können sie ihr volles Potenzial nicht immer unter allen Bedingungen optimal ausschöpfen. Die bislang meist verwendeten Protokolle und Interfaces (SCSI, SATA, SAS) mit ihrem Overhead unterstützen die mögliche Flash-Leistung nicht optimal, weshalb für High-Performance - Anwendungen das NVMe Protokoll ohne komplexen SCSI-Stack (aktuell V.1.3c Revision von Mai 2018) als kommende Alternative entwickelt wurde. NVMeoF erweitert dieses Konzept mittels einer Fabric-basierten Architektur, um shared (NVMe) Storage für I/O-intensive Workloads über RDMA via InfiniBand, FC oder Ethernet bereitzustellen (skalierbare Kapazität, Ausfallsicherheit, Leistung).

NVMe und NVMeoF in Verbindung mit Storage Class Memory (SCM) Optionen wie die Intel (Optane), Micron (QuantX) 3D Xpoint Technologie - einem transistorlosen Speicherbaustein (siehe > Phase Change Memory) oder auch neue MLC-Flashspeicher von z.B. Samsung (Z-NAND) versprechen latenz-optimierte I/Os für High-Performance Apps. Nicht für jede Art von Anwendung im Unternehmen machen diese Optionen aber Sinn. Positiv betroffen davon sind hauptsächlich NoSQL und SQL-basierte (In-Memory) Datenbanken, Lösungen wie Apache Cassandr, MongoDB etc., sowie Real-time Data Analytics, Hadoop (Big Data Apps) sowie KI-Systeme und natürlich typische HPC-Workloads.

Sie sehen: wir sprechen hier jetzt nicht unbedingt über gängige Standard-Anwendungen, die solche Leistungssprünge I/O-seitig (noch) nicht benötigen, sondern typischerweise von einer begrenzten Anzahl zum Teil neuer Kernanwendungen, die allerdings aus Unternehmenssicht wichtiger werden. Auch andere neue Speichertechnologien wie HPE Memristor (Überbegriff: ReRAM) sowie weitere PCM Entwicklungen (siehe IBM-Research; link am Textende) können in den nächsten Jahren marktreif werden. NVDIMM von Micron auf Basis SCM mit direkter (Byte-level) Adressierbarkeit ist eine weitere granulare Speicheroption, um Anwendungsdaten näher an die CPU zu bringen („the best I/O is no I/O“).

Fazit: Unternehmen sollten sich von dem Hype um neue Technologien nicht verunsichern lassen und in jedem Fall vor einer Beschaffung die Vorteile sorgfältig gegen den potenziellen Nutzen abwägen. Neue hochleistungsfähige Schnittstellen zwischen Server CPU und Storage, die einen parallelen Zugriff ermöglichen, können zwar die Latenzzeiten für den Speicherzugriff reduzieren, erfordern jedoch meist zusätzliche Investitionen in Hardware und Software bzw. Upgrades in bestehenden Systeme. Wie immer bei neuen und aus Betriebssicht durchaus mitunter komplexen Technologien gilt: Analysieren Sie zuerst die Versprechungen der Anbieter in Bezug auf Leistung, Zuverlässigkeit und Betriebskosten. Fragen Sie nach Referenzen und möglichst realen Benchmark-Zahlen, die Ihren realen Anwendungs-Workloads am ehesten entsprechen.

Software-definierte Ansätze (SDS, SDDC) spielen aus operationaler und übergeordneter Sicht als zentrale Verwaltungsinstanz eine wichtige Rolle für den wirtschaftlichen Betrieb von Storage Class Memory. Aufgrund stetig steigender Datenmengen bleiben auf breiter Front die Kosten der Speicherphysik und des damit verbundenen Managements entscheidend. Neben den Beschaffungs- und Betriebskosten steht bei der Menge an installierten Geräten und Daten zudem der Faktor Energieverbrauch verstärkt im Fokus; auch dies spricht wiederum definitiv für Halbleiterspeicher und neue persistente Speichertechnologien.


(A) Appendix mit weiteren Informationen

All-Flash oder je nach Applikationsanforderungen auch Hybrid Flash stellt heute meist die bessere Wahl für hoch-virtualisierte Serverumgebungen, VDI- und Datenbank-Applikationen dar. Der Grund: 100 Prozent Flash garantiert eine konstant höchste Anwendungsleistung (QoS) und wenn alle Applikationsdaten darauf gespeichert sind, müssen Administratoren nicht ständig aktiv eingreifen und die Applikation E/A-seitig überwachen sowie optimieren. Zu beachten ist: Nicht alle VMs benötigen immer die höchste I/O-Performance oder unterstützen Anwendungen, die sehr schreibintensiv sind.

Der Einsatz von Flash-Ressourcen auf Hypervisor-Ebene anstelle im SAN ist jedenfalls ein relativ einfacher Weg um VMs zu beschleunigen. Es gibt keine zusätzlichen Latenzen wie beim Durchlaufen des I/O im klassischen SAN. Wenn Flash allerdings nur sehr selten benötigt wird, ist der Ansatz aus Kostensicht abzuwägen; sinnvoll wäre z.B. die Aufteilung der Flash-Ressourcen über alle beteiligten Server, um eine gleichmäßige Auslastung zu erreichen

Eine weitere Möglichkeit betrifft Storage Defined Software beim Hypervisor, die den I/O zwischen VMs und den Speicher-Arrays kontrolliert und die am häufigsten zugegriffenen Daten auf den lokalen Flash-Systemen speichert. Dies hat den Vorteil, dass die Speicherleistung virtualisiert und von der Speicherkapazität getrennt ist. Das heißt, I/O-kritische Reads und Writes werden über jeweils lokale Cache-Systeme ausgeführt (Flash-Cache Performance-Pools), während existierende Storage-Arrays als Capacity-Pool mit z.B. kostenoptimierten SATA-Drives für nicht zugriffskritische I/Os Verwendung finden können, also der hybride Ansatz.

Was den Schreibvorgang betrifft, ist NAND-Flash als TLC- oder MLC-Variante technologisch bedingt weniger leistungsfähig (Haltbarkeit, Leistungsbeschränkungen) weshalb meist Controller-Caching mit DRAMs eingesetzt wird, um zum Backend-Storage Sequential Reads zu liefern. Storage Class Memory wie 3D-XPoint verspricht eine deutlich höhere Haltbarkeit des Mediums, sodass dieser Technologie ein großes Entwicklungspotential zugeschrieben werden kann.

Das NVMe-Protokoll (aktuell V.1.3c Revision, Mai 2018) stellt eine standardisierte Schnittstelle für PCIe-Flash dar. Die direkte PCI-Express-Anbindung arbeitet mit einem offenen, generischen Treiber unter verschiedenen Betriebssystemen. Flash-Speicher muss damit nicht mehr über die SATA-Schnittstelle mit dem Chipsatz verbunden werden, sondern direkt mit der PCIe-Schnittstelle. SATA Express hingegen enthält spezifische Funktionen, damit sich PCIe-SSDs in Multi-Threading-Umgebungen mit n-Core-CPUs leistungsoptimiert betreiben lassen.

64.000 Warteschlangen (Queuing) mit NVMe

Während Standard-Festplatten-Arrays, SSDs und Tape-Systeme bislang das gängige SCSI-Protokoll verwenden, arbeitet NVMe unter Umgehung des SCSI-Stacks, was den Overhead drastisch reduziert. Command Queuing bei SCSI unterstützt nur eine Warteschlange für I/O-Befehle, während NVMe bis zu 64.000 erlaubt. Dabei kann jede Warteschlange ihrerseits bis zu 64.000 Befehle gleichzeitig bedienen. Zusätzlich vereinfacht NVMe die Befehle auf der Grundlage von 13 spezifischen NVMe-Command-Sets, die auf die besonderen Anforderungen von NVM-Devices hin entwickelt wurden. Bislang publizierte Latenzzeiten für NVMe liegen bis zu 200 Mikrosekunden unter denen von 12-GBit-SAS; zudem soll sich durch den effizienteren Befehlssatz die CPU-Belastung um bis zu 50 Prozent gegenüber SCSI reduzieren. Die SNIA hat hierzu folgende Zahlen in Bezug auf zufällige Lese- und Schreibvorgänge veröffentlicht:

  • Bei 100 Prozent Random Reads kommt NVMe auf dreifache IOPS im Vergleich zu 12-GBit-SAS.
  • Bei 70 Prozent Random Reads erreichte NVMe die doppelten IOPS im Vergleich zu 12-GBit-SAS.
  • Bei 100 Prozent Random Writes kommt NVMe auf 1,5-fache IOPS im Vergleich zu 12-GBit-SAS.

Ähnlich verhält es sich bei sequenziellen Reads und Writes. Durch die hohe Bandbreite ließen sich bei sequenziellen Lese- und Schreibvorgängen sechs- bis achtmal höhere Performance-Werte als mit SATA-SSDs erzielen.

Ein weiterer Trend geht zu Clustered Server-Storage-Konfigurationen, um einen erweiterbaren Speicherpool als Tier-0-Storage über High-Speed-Verbindungen (Memory-zu-Memory Channel via RDMA) bereitzustellen. Server-based Flash lässt sich, die richtige Software vorausgesetzt,  effektiv mit All-Flash oder Hybrid-Konzepten kombinieren. Netzwerkseitig kommt Ethernet, Fibre Channel oder InfiniBand zum Einsatz. Im Zusammenhang mit Software-definierten Infrastrukturen ist Ethernet aus Standardisierungs- und Kostengründen in der Breite aller Installationen in Zukunft wohl die erste Wahl.

Unabhängig von den genannten Möglichkeiten bedeutet der Einsatz von All-Flash meist die Umstellung auf Data- und Storage-Management-Dienste des jeweiligen Anbieters, also je nach Hersteller zum Teil kostenpflichtige beziehungsweise herstellerspezifische Dienste zur Replikation, Thin Provisioning, Deduplizierung, Komprimierung und Snapshots. Bei In-Memory-Anwendungen gelten je nach Implementierung die Anpassungen dann für die gesamte Applikation (Beispiel SAP HANA). Speicheradministratoren müssen sich dann von ihrer bislang gewohnten Umgebung verabschieden und auch die Prozesse zum Backup oder das Disaster Recovery anpassen.

Das gilt allerdings auch für die Umstellung von Array-controlled Storage auf Software-defined Storage (SDS). Die intelligente "Middleware" schafft neue Abhängigkeiten (Lizenzen, Updates, Zertifizierungen), sodass diese Seite mit bewertet werden muss. Auf der Netzwerkseite wiederum kann es bedeuten, Fabrics aufzurüsten, um den zusätzlichen I/O-Traffic bewältigen zu können. Diese Aspekte sollten IT-Verantwortliche neben den Beschaffungs- und Betriebskosten bei der Planung eines "Balanced Systems" natürlich berücksichtigen. Zusätzlich zu den Kosten für eine neue Storage-Plattform gilt es auch, die Ausgaben für die Migration auf die neue Architektur im Auge zu behalten.

Nicht-flüchtige Flash-Alternativen: 3D-XPoint, PCM, Memristor

Konkret scheint die derzeit von Intel und Micron ursprünglich gemeinsam entwickelte und 2015 vorgestellte 3D-XPoint-Technologie jetzt langsam im Markt anzukommen. OEM-Lösungen für Enterprise Storage Systeme sind wohl noch in der ersten Hälfte des Jahres 2019 zu erwarten. Was ist 3D-XPoint? Experten hatten zwar vermutet, dass es sich dabei um einen PCM-basierenden Speicherbaustein handeln könnte; Details wurden herstellerseitig aber nie groß veröffentlicht und deswegen wird darüber auch heute noch vereinzelt spekuliert. Es handelt sich wohl (siehe z.B EETimes.com) um eine spezielle Phase Change Memory - Variante mit Materialien für einen Chalcogenide-Ovonic-Threshold-Switch -, die Byte-addressierbar ist. Resistive-RAM (ReRAM) oder Conductive Bridging RAM (CBRAM) ist es damit, wie vielfach spekuliert, nicht.

Der Speicherbaustein ohne Transitoren wird derzeit unter dem Namen Optane ™ von Intel produziert und vertrieben. Auch Micron (QuantX) arbeitet gerade bei NVDIMMs mit dieser Technologie, die gegenüber Flash deutliche Performance-Zugewinne erlaubt und sich zwischen DRAM und Flash positioniert. Als PCIe-Card oder NVMe-Variante in Verbindung mit NMVe Fabrics lassen sich robust skalierbare, persistente Speicherpools für high-performance Apps wie No-SQL-Datenbanken, VDI oder hoch-virtualisierte Umgebungen realisieren, zumal die Hersteller verlauten lassen, dass die Write Endurance substantiell höher sein soll als bei NAND Flash.

In den letzten Jahren hat Phase Change Memory (PCM) als eine mögliche universelle Speichertechnologie bereits vermehrt Aufmerksamkeit auf sich gezogen, da sie als nichtflüchtiger Speicher eine preislich attraktive Kombination von Lese- und Schreibgeschwindigkeit, Haltbarkeit und Speicherdichte verspricht. Experten sehen PCM dabei sowohl als eigenständigen Speicher als auch in Kombination mit Flash für Anwendungen, in denen die Technologie als extrem schneller Cache-Speicher dient. Unternehmen könnten damit zum Beispiel ganze Datenbanken in PCM speichern, um Abfragen für zeitkritische Online-Anwendungen wie Finanztransaktionen mit extremer Geschwindigkeit durchzuführen.

Das Funktionsprinzip von PCM: Die so genannten Phasenwechselmaterialien weisen zwei stabile Zustände auf - eine amorphe und eine kristalline Phase mit tiefer beziehungsweise hoher elektrischer Leitfähigkeit. Um eine "1" oder eine "0" in einer PCM-Zelle zu speichern, wird elektrischer Strom an das Material angelegt. Durch entsprechende Programmierung kann die "0" in die amorphe Phase und die "1" in die kristalline Phase geschrieben werden oder umgekehrt. Das Auslesen des Bits erfolgt dann durch das Erkennen des Widerstandes über einen schwachen Stromfluss. Wie ein IBM-Forschungsprojekt [1] bemerkt, ist Phase Change Memory eine der ersten Realisierungen eines universellen Speichers mit Eigenschaften sowohl von DRAM als auch Flash. Unterstellt man wie oben gesehen, dass Intel / Micron 3D-XPoint auf PCM beruht, ist PCM in 2019 auch im Enterprise Storage Segement angekommen.

Der Memristor, von HPE in der Vergangenheit auch gerne im Zusammenhang mit "The Machine" genannt ist ein weiteres Projekt, um dass es jedoch zumindest „nach Aussen“ ruhiger geworden ist. HPE arbeitet bereits seit Jahren am Memristor, bei dem einfach gesprochen Informationen in Form von Speicherwiderständen gespeichert werden. Die Entwicklung zur Serienreife scheint bei allen technischen Vorteilen wie Geschwindigkeit, Haltbarkeit oder Stromverbrauch allerdings noch Zeit zu benötigen. Viele Labore forschen zudem an Nanospeichern und weiteren Zukunftstechnologien (Atomic Scale Memory), deren Entwicklung sich aber derzeit bestenfalls im Entwicklungsstadium befindet.

Um die Zuverlässigkeit und Langlebigkeit eines Flash-Speichers zu gewährleisten und gleichzeitig weiter an Performance und Speicherkapazität zu gewinnen, setzen Hersteller wie WDC (SanDisk), Toshiba, Micron oder Samsung zwischenzeitlich auch im Enterprise-Segment auf die V-NAND- oder 3D-TLC-NAND-Flash-Technologie.

Bei der 3D-NAND-Technologie sind aktuell 64 Layer vertikaler Speichermöglichkeit realisierbar. Die 3-Bits-pro-Zelle-Technologie in Verbindung mit den Vorteilen hoher Seitenverhältnisse bei der Halbleiterherstellung erzielt damit hohe Kapazitäten (ein halbes Terabit pro Chip) sowie höchste Performance und Ausfallsicherheit bei relativ niedrigen Herstellungskosten. Flash mag aus Entwicklungssicht vielleicht eine Übergangstechnologie darstellen, ist aber technologisch noch lange nicht am Ende und wird mit dem Auftreten neuer Optionen wie NVMe weiterhin im Sinne einer erweiterten Speicherhierarchie (DRAM / SCM mit 3D-XPoint / Flash, NVDIMM / HDDs / Tape) eine wichtige Rolle spielen. Auch für die Suche in großen (Objektspeicher) Archiven mit Hilfe von Content-Metadaten stellt Flash als Cache- oder Pufferspeicher in Ergänzung zu HDDs und Tapes eine geeignete Technologie dar. Cloud Anbieter nutzen derzeit Flash-Storage bereits im großen Stil als Scale-out-Architektur im Verbund mit den neuesten Entwicklungen zu Filesystemen und der Virtualisierung im Verbund mit anwendungsnaher Kapazitätsoptimierung, um die jeweils wirtschaftlich und leistungsmäßig effektivste Verwendung ihrer Speicherpools zu erreichen - auch und gerade zunehmend unter dem Aspekt der Energieeffizienz.


Quelle:

[1] http://www.storageconsortium.de/content/content/ibm-forschungsprojekt-zu-energieeffizienten-neuromorphen-computern-erfolgversprechend