Definition Was ist ein Non-Volatile Dual In-line Memory Module (NVDIMM)?
Ein NVDIMM oder ausgeschrieben Non-Volatile Dual In-line Memory Module ist ein Hauptspeicher, der seine Zelleninhalte auch im stromlosen Zustand nicht verliert. Erweitert man diese Kombination in eine DRAM-Cache- und eine Non-volatile-Halbleiterspeichervariante landet man letztlich beim Storage Class Memory.
Anbieter zum Thema

Manche Technik erscheint von der Namensgebung her auf den ersten Blick unlogisch: so zum Beispiel NVDIMMs. Ein NVDIMM ist eine Kombination aus einem Dual In-line Memory Module (DIMM), die non-volatile (NV) sind. Das DIMM, in dem sich der nanosekundenschnelle Hauptspeicher (RAM) des Rechners „versteckt“, wird in dieser Kombination mit den mikrosekundenschnellen Flash-Speicherzellen hinterlegt, die dafür sorgen sollen, dass der flüchtige RAM-Inhalt beim Herunterfahren oder Absturz des Servers in den nichtflüchtigen Teil der Flash-Speicherzellen übertragen wird. Beim Hochfahren des Rechners werden die Daten wieder in die RAM-Zellen zurückkopiert, was das schnelle Weiterarbeiten mit dem letzten Datenstand ermöglicht – so die gängige Theorie.
Variantenreiches Storage Class Memory
Die beschriebene Technik heißt bei Experten „NVDIMM-N“. Daneben wird an NVDIMM-F und NVDIMM-P entwickelt. Während die N-Version DRAM-Daten ins Flash repliziert, geht es bei der F-Version um die Erweiterung der Hauptspeichermodule mit viel Flash, und bei der P-Version geht es um die Kombination von RAM und NVRAM als Blockspeicher.
Ohne in die Details dieser diversen Techniken einzusteigen, geht es am „Ende des Tages“ um den Einsatz von Halbleiterspeicher als Storage-Class-Memory. Es steht also zur Debatte, wie 3D Xpoint, PCM, RRAM, STT-RAM, FeRAM und andere Nanospeichertechniken der Zukunft in ein Halbleiterspeicherkonzept eingebunden sein könnten.
Die Problematik eines schnellen und großen Speichers besteht schon in einem einzelnen Arbeitsrechner darin, wie ein kombinierter DRAM- und Flash-Speicher in ein Speichermodul passen, das sich ohne Änderungen am Betriebssystem in einen DIMM-Sockel einstecken lässt.
Da das DRAM als Cache zwischen Prozessor und Flash arbeitet, muss ein eigener Prozess auf dem Speichermodul dafür sorgen, dass geänderte Daten immer wieder in einen konsistenten Zustand gebracht werden, und nicht zuletzt müssen bei einem sogenannten Contextwechsel, wie er bei Virtuellen Maschinen üblich ist, die Hauptspeicherinhalte auch zur Anwendung passen. Die „richtigen“ Daten sollten dann schnellstmöglich wieder aus dem Flash, im schlimmsten Fall von der Festplatte, nachgeladen werden.
VMs, Monitoring und Health
Nicht einfacher wird eine saubere Speicherorganisation, wenn sich mehrere Prozessoren oder Rechner denselben Speicher (Distributed Shared Memory) teilen. Diese Herausforderung führte schon zu Frühzeiten der Cluster-Technik zu der ziemlich komplizierten NUMA-Architektur. Da Betriebssystemdaten wie auch Anwendungsdaten vom beständigen Austausch der Daten im Hauptspeicher betroffen sind, ist es letztlich notwendig, entsprechende Änderungen nach „oben“ zu kommunizieren.
Ebenso wie das Befinden von Festplatten mittels S.M.A.R.T überwacht werden kann, ist ähnliches bei der Ausweitung des Storage-Class-Memory in Terabyte- und Petabyte-Bereiche unvermeidlich. Auslastung, Fehler, Konfiguration, Topologie des Speicheraufbaus und die Funktionsfähigkeit jeder einzelnen Speicherzelle müssen beständig kontrolliert werden.
Letztlich ist auch Storage Class Memory in der Form von NVDIMMs nicht das Ende der Entwicklung. Danach folgen vermutlich universelle Halbleiterspeicher ohne Tiering, und auch das Ding mit den Lichtwellen als Transportmedium ist ja nicht vom Tisch.
Artikelfiles und Artikellinks
(ID:44816962)