Zum Hauptinhalt Zur Navigation

NVDIMMs und PCIe-SSDs: Der Flash fürs Rechenzentrum

Stromausfall im Serverraum – in naher Zukunft ist das kein Horrorszenario mehr. In Minuten sollen die Rechner wieder online sein können, ohne Neustart und Datenverlust. Möglich machen das neue Komponenten auf Basis von Flash-Speicher , die zudem auch die Leistung steigern können.
/ Nico Ernst
37 Kommentare News folgen (öffnet im neuen Fenster)
Ein NVIMM-N mit 8 GByte (Bild: HPE)
Ein NVIMM-N mit 8 GByte Bild: HPE

Aus einem halbwegs aktuellen Desktop-PC oder Notebook ist die SSD nicht mehr wegzudenken, auch in Rechenzentren erfüllen die Flash-Medien immer mehr Aufgaben. Die Anforderungen gehen dort jedoch über schnelles Laden und Speichern hinaus. Auch beim seit Jahrzehnten kaum weiterentwickelten Hauptspeicher deutet sich in Form von DIMMs ein Umbruch an. Bald soll nicht mehr gelten: Strom weg, RAM leer.

Das wird möglich durch NVDIMMs. Die Abkürzung ist auch ausgeschrieben und frei übersetzt kaum lesbarer: nichtflüchtige Speichermodule. Darauf sitzt die gleiche Menge DRAM wie Flash-Speicher, Letzterer dient als Backup für einen Stromausfall oder einen nahezu energielosen Standby. Das ermöglicht es auch, einen Rechner durch hartes Abschalten sofort vom Netz zu nehmen, ohne Daten zu verlieren.

Der wesentliche Unterschied zu Flash-Techniken für den Heimbereich sind sowohl bei SSDs als auch bei NVDIMMs für Server die verwendeten Busse – sie sind breiter und daher schneller -, aber auch zunehmend die Bauweisen des nichtflüchtigen Speichers selbst. Statt bisher üblichem Single-Level oder Multi-Level (SLC, MLC) und Samsungs V-NAND sollen modifizierte Phase-Change-Speicher wie Intels 3D Xpoint sowohl in SSDs als auch in NVDIMMs verbaut werden.

Crucial NVDIMMs – Herstellervideo
Crucial NVDIMMs – Herstellervideo (02:00)

Für die sonst recht konservative Architektur von Rechenzentren sind das recht viele neue Technologien, die teilweise auch miteinander konkurrieren. Auch wenn die Grundidee der NVDIMMs einleuchtet, geht es auch um unterschiedliche und teils recht neue Anwendungsszenarien.

Speicherriegel zum Abschalten

Bestrebungen, Flash-Speicher an den Bus für den Hauptspeicher in Form eines DIMMs anzuschließen, gibt es schon länger. Sandisk beispielsweise bot Anfang 2014 die Ultra-Low-Latency-DIMMs an, was aber vor allem als sehr schnelle SSD dienen sollte. Mit den mehrere Dutzend Gigabyte pro Sekunde schnellen Speicherbussen konnten jedoch die Flash-Chips nicht mithalten.

Jenseits von solchen proprietären Lösungen entwickelt das Normierungsgremium Jedec seit Mitte 2015 auch zwei Standards für NVDIMMs. NVDIMM-F arbeitet wie die Sandisk-SSDs nur mit Flash-Speicher, interessanter ist NVDIMM-N.

Dabei wird die gleiche Menge Flash-Speicher wie DRAM auf einem Modul angebracht; vorgesehen ist das bisher nur mit DDR4-Speicher, den beispielsweise Intels neue Xeons (Broadwell EP/EX) und auch künftige Skylake-Xeons ansprechen können. Im laufenden Betrieb wird nur das schnelle DRAM genutzt, Performanceunterschiede zu herkömmlichen DIMMs sollten sich bei guter Bestückung nicht ergeben. Was auf den Marketing-Bildern zu NVDIMMs in der Regel nicht zu sehen ist: An die Module ist per Kabel noch eine Art Akku-Pack mit Superkondensatoren angeschlossen, das Backup Power Module (BPM).

Diese im Englischen Supercaps genannten Bauteile verfügen über eine hohe Leistungsdichte, können also im Vergleich zu LiPo-Akkus wenig Energie speichern, sie aber in kürzester Zeit wieder abgeben. Das müssen sie bei NVDIMMs auch, denn bei Stromausfall wird der gesamte Inhalt der DRAM-Bausteine in die Flash-Chips geschrieben. Das Modul arbeitet dazu als eigenes Subsystem, verfügt also zusätzlich zu den Speicherbausteinen und dem SPD-Chip noch über weitere Logik.

Auf den von HPE bereits ausgelieferten NVDIMMs(öffnet im neuen Fenster) für Broadwell-Xeons ist auf der Rückseite der recht große Controller zu sehen. Beim Wiederanfahren des Rechners werden die Supercaps "in einigen Minuten" , so ist Herstellerunterlagen recht unspezifisch zu entnehmen, wieder geladen. Bis dahin ist das System also bis auf eine USV schutzlos, was Unterstützung durch die verwendete Software erfordert.

UEFI und Linux als Softwareunterbau

Wird ein Rechner mit einem Backup im Flash-Teil eines NVDIMMs wieder eingeschaltet, so kann er nicht den üblichen Bootprozess samt Laden eines Betriebssystems durchlaufen, sonst wäre der Vorteil der Sicherung dahin. Vielmehr muss das UEFI – in den Abbildungen noch Bios genannt – das Vorhandensein des Backups erkennen und entsprechend handeln. Die Speichermodule selbst spielen die Sicherung vom Flash- in den DRAM-Speicher zurück und melden sich dann am System wieder an.


Die Firmware des Rechners dagegen erkennt dabei zunächst die NVDIMMs als solche und prüft dann, ob sie ein gültiges Backup enthalten. Falls ja, wird dieses wiederhergestellt und der Betrieb wiederaufgenommen. Das ähnelt dem Aufwachen aus dem ACPI-Standby S3, unter Windows "Energie sparen" genannt, bei dem schon seit rund zehn Jahren PCs den kompletten Systemzustand im RAM sichern und in Sekundenschnelle wieder aufwachen.


Für die Kommunikation des UEFIs mit den NVDIMMs ist ein I2C-Bus vorgesehen, über den unter anderem der Ladezustand der Supercaps übermittelt wird. Das UEFI kann den Systemstart so lange verzögern, bis die Superkondensatoren wieder geladen sind, damit der PC sofort wieder geschützt ist. Der Mainboard-Firmware kommt also entscheidende Bedeutung zu, unter anderem Intel arbeitet hier an der Entwicklung entscheidend mit. Bei den hauseigenen Prozessoren ist die Situation unklar, unter anderem durch veränderte Cache-Strategien könnten sie die nichtflüchtigen Speicher besser nutzen.

Auf den bisher von Intel veröffentlichen spärlichen Architekturfolien zu der Plattform für die Skylake-Xeons, Codename Purley, hat der Chiphersteller NVDIMM nicht namentlich genannt. Die Rede ist aber von "persistent memory" , was dieselbe Funktion beschreibt. Auf Intels Entwicklerkonferenz IDF, die Mitte August 2016 stattfand, gab es aber keine neuen Informationen. Bisher werden die Serien Skylake-EP und -EX mit der Purley-Plattform für Anfang 2017 erwartet.

Klarer ist die Lage beim Betriebssystem, das den Anwendungen das Vorhandensein von Flash in Speicherbänken – vor allem in Form von SSDs nach NVDIMM-F – melden muss. Hier wird bisher nur Linux mit Kernel 4.2 unterstützt, bei dem wiederum Intel entscheidende Erweiterungen vorgenommen hat. Das Stichwort dabei ist NVM, Non-Volatile Memory. Im User-Space von Linux gibt es dafür eine NVM-Library, die Speicheroperationen von Anwendungen an die neue Architektur anpasst.

Eine Ebene weiter unten, im Kernel-Space von Linux 4.2, gibt es auch Erweiterungen, die jedoch ein anderes Akronym verwenden: PMEM für Persistent Memory, also bleibende Speichervorgänge. Die NVM-Library ist nur ein Teil davon, das Gesamtkonzept ist auf einer Projektseite(öffnet im neuen Fenster) und in einem Wiki(öffnet im neuen Fenster) einsehbar. Alle Codebeispiele sind in diesem Wiki und auf Github(öffnet im neuen Fenster) veröffentlicht. Für PC-Entwickler gibt es rund um NVDIMMs auch FAQ(öffnet im neuen Fenster) des Modulherstellers Viking Technology.

Der Nutzen für Anwendungen

Dass ein Server nicht ausfallen darf, ist klar – in der Regel sorgen unterbrechungsfreie Stromversorgungen (USV) dafür. Diese oft noch aus Bleiakkus aufgebauten chemischen Kraftwerke sind jedoch wartungsintensiv und daher teuer. Mit NVDIMMs könnten sie auch nicht in allen Fällen komplett wegfallen, weil sie in der Regel für das kontrollierte Herunterfahren der Rechner benötigt werden, um Datenverluste auf den Massenspeichern zu verhindern.

Die Unterstützung durch Programme dürfte aber schnell umgesetzt werden, denn bisher galt: Daten im Hauptspeicher abzulegen, ist zwar der schnellste Weg, aber immer auch der riskanteste. Eine Datenbank, die viele Minuten aus Festplatten oder SSDs Indices im RAM erstellen muss, darf schlicht nicht ausfallen. NVDIMMs reduzieren das Risiko deutlich, weil der Rechner nicht immer komplett heruntergefahren werden muss – die Daten im RAM sind ja noch vorhanden und können nach einer Unterbrechung dann auf die Massenspeicher geschrieben werden.

Bei Supercomputern können geplante Berechnungsschritte (Checkpoints) nicht nur auf den traditionellen Massenspeichern abgelegt werden, sondern auch im nichtflüchtigen RAM oder einer NVDIMM-SSD, und sie können dort bleiben. Das setzt aber zusätzliche Nodes voraus, die immer online sind. Sie benötigen, wenn sie nicht rechnen müssen, recht wenig Energie. Zudem ist nach der Jedec-Spezifikation auch die Mischbestückung von NVDIMM-N und NVDIMM-F erlaubt, ein einzelner Rechner kann also sowohl extrem schnelle SSDs mit mehreren Gigabyte pro Sekunde als auch das ausfallsichere RAM enthalten. Das ist für Cache-Server ideal. Auch virtuelle Maschinen, VMs, lassen sich zwischen physikalischen Rechnern durch NVDIMMs sorgenfrei umziehen, weil ein Stromausfall kein Problem mehr darstellt.

VMs gelten bisher auch als die Methode, um beispielsweise durch Malware amoklaufende Webserver vom Netz zu nehmen. Bei einer dedizierten Maschine, die immer mehr Kunden ausdrücklich verlangen, ist das jedoch nicht so einfach. Sie vom Datenverkehr zu trennen, ist noch leicht, sie komplett stillzulegen nicht. In Zukunft könnten sie über einen Powerswitch per Netzwerk schlicht abgeschaltet und später anhand des in den NVDIMMs gespeicherten Systemzustands offline näher untersucht werden. Gerade da Webserver-Plugins in letzter Zeit verstärkt von Malware angegriffen werden, ist das eine interessante Option.

Generell können alle Anwendungen, die oft Daten auf einem Massenspeicher ablegen, von NVDIMMs in beiden Formaten profitieren, weil der Bus für RAM-Riegel mindestens eine Größenordnung schneller ist als selbst PCI-Express. PCIe wird bisher auch bei SSDs mit maximal acht Lanes eingesetzt; Controller für die volle Bestückung wie bei Grafikkarten mit 16 Lanes sind für diese Anwendung viel zu aufwendig, weil sie mindestens so viele Speicherkanäle in Form von Flash-Bausteinen erfordern würden. Für dauerhafte Leistung müssten deren Zugriffe auch sinnvoll verschachtelt werden.

Server-SSDs holen auf, aber nicht schnell genug

Während NVDIMMs bei Hard- wie Software größere Änderungen erfordern, können die PCI-Express-SSDs bisher noch rein von den Fortschritten der Halbleiterfertigung profitieren. Der Bus ist mit PCIe schnell genug und wird bisher nicht einmal ganz ausgenutzt, und mit dem neuen Protokoll NVMe werden auch die Zugriffe fixer. Stand für die Steigerung der Kapazität Samsung mit seinem 3D-VNAND noch alleine da, so hat Intel mit der neuen Serie P3300 inzwischen mit der ebenfalls dreidimensionalen Anordnung gleichgezogen. Der größte Unterschied zu Sata- und M.2-SSDs ist bei Servermodulen die Langlebigkeit: Die SSDs werden auch bei jahrelanger Benutzung kaum langsamer.

Hauptgrund ist die seit Jahrzehnten genutzte Flash-Technik. Die Zellen brauchen vor allem beim Beschreiben eine gewisse Zeit, um die Ladung festzuhalten. Bereits seit über zehn Jahren wird an den vielfach als Flash-Nachfolgern bezeichneten Rerams, Racetracks und Phase-Change-Speichern geforscht, aber bisher höchstens mit Achtungserfolgen bei realen Produkten.

Nicht anders einzuordnen ist auch Intels 3D Xpoint, das sich nach langen Ankündigungen doch als Phase-Change-Variante herausgestellt hat . Auch erste Vorführungen kamen nicht über das Niveau von aktuellen PCIe-SSDs hinaus.

Das betrifft jedoch nur sequenzielle Übertragungsraten, zu den IOPS – die besonders bei Datenbanken wichtig sind – gibt es noch gar keine Angaben. Hier könnten Phase-Change-Speicher gegenüber Flash deutlich Vorteile haben. Sicher wird man das noch 2016 wissen – dann sollen Intels erste SSDs mit 3D Xpoint erscheinen.

Wünschenswert ist eine Kombination aus solchen neuen Speicherchips und den Prinzipien von NVDIMMs. Da DRAM, auch wegen der Kostenvorteile, noch lange die schnellste Speicherform bleiben wird, könnten nichtflüchtige Speicher in Form von Steckmodulen für direkte angebundene CPU-Busse aber die bisher strenge Aufteilung von schnellem und dauerhaftem Speicher im PC aufweichen.

Fraglich ist, ob bei Intels Neuausrichtung solche auf Server ausgelegte Techniken auch wie bisher bald im Desktop- und Notebook-PC ankommen werden. Aber von schnelleren und zuverlässigeren Rechenzentren profitieren auch so alle Nutzer – selbst wenn man die Geräte, die dahinterstecken, am heimischen PC oder am mobilen Gerät nicht sehen kann.


Relevante Themen