M.2-SSD trotz Host Memory Buffer zuverlässig?
Anscheinend puffern die meisten aktuellen M.2-SSDs Daten im PC-Hauptspeicher. Droht ein Datenverlust, wenn plötzlich der Strom ausfällt?
Anscheinend puffern die meisten aktuellen M.2-SSDs Daten im PC-Hauptspeicher. Droht ein Datenverlust, wenn plötzlich der Strom ausfällt?
Uns liegen keine Hinweise darauf vor, dass die HMB-Funktion (Host Memory Buffer) Datenverluste verursacht. Zwar nutzt die Funktion den schnellen DRAM-Arbeitsspeicher des Computers (Host) als Zwischenspeicher. Und DRAM als "flüchtiger" Speicher verliert Daten, sobald er nicht mehr mit Strom versorgt wird. Aber SSDs puffern im HMB nur Daten, die sie zusätzlich auch sicher in ihren nichtflüchtigen Flash-Speicherchips verwahren.
Die HMB-Funktion kam in Version 1.2 der Spezifikation für Non-Volatile Memory Express (NVMe 1.2) und ist unter Linux sowie Windows 10 und 11 nutzbar. Der SSD-Controller beziehungsweise dessen Firmware kann damit vom Host eine bestimmte Menge DRAM reservieren und exklusiv nutzen. Allerdings sieht das HMB-Protokoll auch vor, dass der Host den Arbeitsspeicher zurückfordert, wenn es sonst knapp wird. Bis zum Erscheinen von Windows 11 24H2 reservierten die meisten SSDs mit HMB-Funktion höchstens 64 MByte dafür. Das ist eine winzige Menge im Vergleich zur typischen RAM-Kapazität von Notebooks und PCs von 4 bis 32 GByte und vor allem zur SSD-Kapazität von 0,5 bis 8 TByte.
Der HMB könnte theoretisch auch Daten puffern, bevor die SSD sie ins Flash schreibt. Das brächte aber keinen relevanten Vorteil, weil moderne SSDs ohnehin einen großen und schnellen Schreibcache haben. Dazu betreiben sie einen Teil ihrer Flash-Zellen im schnelleren Single-Level-Cell-(SLC-)Modus, man spricht auch von einem (Pseudo-)SLC-Cache. Er kann über 100 GByte fassen. In Ruhephasen schreibt der SSD-Controller die Daten aus dem Cache in die eigentlich vorgesehenen Adressbereiche und optimiert dabei auch die Belegung der Flash-Speicherblöcke.
Vom HMB profitieren nur SSDs, die keinen eigenen DRAM-Chip haben – das sind die meisten aktuellen M.2-SSDs für PCs und Notebooks. Sie kopieren in den HMB ihre Zuordnungstabelle, die die logischen und physischen Adressen der Flash-Speicherblöcke verzeichnet (Logical to Physical, L2P). Das beschleunigt vor allem das Lesen von zufällig verteilten Adressen, steigert also die Anzahl der I/O Operations per Second (IOPS). Der SSD-Controller benötigt vor jedem Lesezugriff Informationen aus der L2P-Tabelle und muss die aus dem langsameren NAND-Flash-Speicher lesen, wenn sie nicht im schnellen DRAM steht, eben im HMB.
(ciw)