SSD-Cache-Problem: Trotz Flush droht Datenverlust bei Stromausfall

Update Michael Günsch
111 Kommentare
SSD-Cache-Problem: Trotz Flush droht Datenverlust bei Stromausfall

Auf Basis eigener Versuche berichtet der Entwickler Russ Bishop, dass es bei einigen NVMe-SSDs trotz angeblich erfolgter Pufferspeicher-Leerung (Cache Flush) zu Datenverlusten kommen kann. Bei zwei von vier getesteten NVMe-SSDs verschiedener Hersteller sei dies aufgetreten. Bishop will weitere prüfen.

Gesicherte Cache-Daten gehen verloren

Auf Twitter schreibt Bishop, der als Programmierer bei Apple tätig ist: „Ich habe eine zufällige Auswahl von vier NVMe-SSDs von vier Anbietern getestet. Die Hälfte verliert Flush-Daten bei Stromausfall“. Gemeint ist, dass die Daten nach der Leerung des Cache (Flush) verloren gingen, wenn sie eigentlich bereits sicher auf die Speicherzellen des nicht flüchtigen NAND-Flash übertragen sein sollten.

Daten werden in der Regel nur kurz im Cache zwischengespeichert und schnellstmöglich auf den Festspeicher übertragen. Tritt das von Bishop beobachtete Verhalten allerdings genau in diesem Moment auf, ist Datenverlust die Folge.

Dass die Daten im Cache bei Stromausfall verschwinden, ist normal und dem flüchtigen DRAM-Cache bei SSDs (alternativ HMB im RAM bei SSDs ohne DRAM) geschuldet und lässt sich lediglich durch Stützkondensatoren verhindern, wie sie aber nur bei einigen Enterprise-SSDs vorhanden sind.

Bishop hat allerdings seine Versuche mit herkömmlichen Client-SSDs für Verbraucher ohne solche Sicherungsmaßnahmen durchgeführt. Der „Stromausfall“ wurde nach der Meldung des erfolgreichen Flush durch das Ziehen des Stromkabels simuliert.

Zwei von vier SSDs verloren Daten

Die beiden NVMe-SSDs, bei denen Daten verloren gingen, waren eine SK Hynix Gold P31 mit 2 TB und eine Sabrent Rocket mit 512 GB. Bei einer Samsung 970 Evo Plus mit 2 TB und einer Western Digital Red SN700 mit 1 TB seien die geschriebenen Daten wiederum erhalten geblieben.

SSD-Modell Daten nach Flush behalten
SK Hynix Gold P31 2TB
(SHGP31-2000GM-2, FW 31060C20)
Sabrent Rocket 512 GB
(Phison PH-SBT-RKT-303 Controller)
Samsung 970 Evo Plus 2 TB
(MZ-V7S2T0, 2021.10)
WD Red SN700 1 TB
(WDS100T1R0C-68BDK0, 04Sept2021)
Crucial P5 Plus 1 TB
(CT1000P5PSSD8, FW P7CR402)
Kingston SNVS 250 GB
(012.A005)
Seagate Firecuda 530 1 TB
(ZP1000GM30013, FW SU6SM001)
Intel 670p 1 TB
(SSDPEKNU010TZ, FW 002C)
Crucial P2 250 GB
(CT250P2SSD8, FW P2CR046)
Samsung 980 250 GB
(MZ-V8V250, 2021/11/07)
WD Black SN750 1 TB
(WDS100T1B0E, 09Jan2022)
WD Green SN350 240 GB
(WDS240G20C, 02Aug2021)

Bishop will weitere SSDs prüfen

Russ Bishop hat nach eigenen Angaben das Testverfahren „voll automatisiert“ und will folgende weitere SSDs auf die beschriebene Problematik hin überprüfen:

Unter den genannten Modellen sind auch SSDs ohne dedizierten DRAM-Cache wie die Samsung 980 (Test) oder die Kingston NV1. Diese können über die NVMe-Funktion Host Memory Buffer (HMB) lediglich einen kleinen Teil (im zweistelligen Megabyte-Bereich) des System-RAMs als Puffer benutzen.

Update

Der Entwickler hat wie versprochen acht weitere SSDs auf die Problematik hin geprüft. Alle bestanden demnach den Test und behielten die Daten. Die Modelle wurden der obigen Tabelle hinzugefügt. Damit bleiben die SK Hynix Gold P31 und die Sabrent Rocket die einzigen Modelle mit Datenverlust, der beim erneuten Test wieder auftrat.