SSD Power Loss Protection
Zahlreiche Enterprise SSDs verfügen - im Gegensatz zu Consumer SSDs - über eine sogenannte Power Loss Protection. Diese sorgt dafür, dass im Falle eines Stromausfalls der Inhalt des SSD Caches noch sicher auf die Flash-Zellen geschrieben werden kann. In diesem Artikel zeigen wir, wie dieser Mechanismus funktioniert. Weitere Unterschiede zeigt der Artikel Consumer versus Enterprise SSDs.
Funktionsweise Power Loss Protection
Die meisten SSDs verfügen so wie Festplatten über einen DRAM-Cache, der in erster Linie zur Beschleunigung von Schreibvorgängen dient. Da DRAM-Module den Speicherinhalt nur so lange speichern, wie sie mit Strom versorgt werden geht ohne weitere Schutzmaßnahmen der Inhalt dieses Caches bei einem plötzlichen Stromausfall verloren. In der Folge kann es zu einem Datenverlust kommen.
Um einen solchen Datenverlust bei einem Stromausfall auszuschließen, verfügen SSDs mit Power-Loss-Protection über eingebaute Kondensatoren. Diese werden im normalen Betrieb aufgeladen. Die darin gespeicherte Ladung dient dem SSD-Controller quasi als Notstromversorgung. Erkennt der Controller einen Ausfall der Versorgungsspannung, nutzt er die in den Kondensatoren gespeicherte Energie noch dazu, die Daten des DRAM-Caches auf die Flash-Zellen zu schreiben. Auf diese Weise wird ein Datenverlust ausgeschlossen.
Die Funktionsweise einer SSD Power-Loss-Protection ähnelt vom Prinzip der Cache Protection von RAID Controllern (LSI CacheVault bzw. Adaptec Zero Maintenance Cache Protection).
Hinweise für SSDs ohne Power Loss Protection
Viele SSDs (z.B. Consumer SSDs oder kostengünstigere Einstiegs-SSDs aus dem Enterprise-Segment) verfügen über keine Power Loss Protection. Bei einem Stromausfall geht daher der Inhalt des DRAM Caches unwiederbringlich verloren. Sofern die SSD Firmware ihre internen Zuordnungstabellen von LBA-Adressen zu NAND-Adressen (Flash Translatation Layer) durch Journaling-Mechanismen entsprechend schützt,[1][2] können diese SSDs mit modernen Dateisystemen verwendet werden sofern der Verlust von kürzlich geschrieben Daten toleriert werden kann.
Moderne Dateisysteme
Moderne Dateisysteme verfügen für diese Fälle über spezielle Mechanismen, die einer Zerstörung des Dateisystems (und damit einem vollständigen Datenverlust) verhindern sollen. Diese Mechanismen (die für eine richtige Funktionsweise korrekt konfiguriert sein müssen) sind beispielsweise:
- Write Barriers bei Ext4 (Linux)[3][4]
- ZFS Barriers gewährleisten einen konsistenten Zustand auf dem Medium für Geräte, deren Caches flüchtig sind (z.B. HDDs oder SSDs ohne PLP).[5][6]
- Soft Updates[7] bei UFS (FreeBSD), Journal muss jedoch deaktiviert sein[8]
Hinweis: Trotz dieser Mechanismen kann es bei einem plötzlichen Stromausfall zu einem Verlust der zuletzt geschriebenen Daten kommen. Das Dateisystem selbst bleibt jedoch konsistent, einem vollständigen Datenverlust wird damit vorgebeugt. Nach einem Neustart fehlen dann jedoch beispielsweise die letzten Einträge in Logdateien.
Ältere Dateisysteme
Bei älteren oder falsch konfigurierten Dateisystemen fehlen diese Mechanismen (z.B. ext2 oder ext3 ohne aktivierte Write Barriers). Ein Stromausfall kann hier zu einer Zerstörung des Dateisystems (und damit zu einem vollständigen Datenverlust) führen.
Weitere Informationen
- How ATP Protects Your Data and SSDs with HW/FW Power-Loss Protection] (www.atpinc.com, 25.04.2022)
Einzelnachweise
- ↑ White Paper: Power Loss Protection in SSDs - How SSDs are Protecting Data Integrity (samsung.com, 09.07.2016)
- ↑ Sandisk - Unexpected Power Loss Protection
- ↑ What's Barriers, how to enable/disable it on Linux (www.fibrevillage.com)
- ↑ Enabling/Disabling Write Barriers (access.redhat.com/documentation)
- ↑ ZFS - enable or disable disk cache? (serverfault.com, 16.12.2019)
- ↑ ZFS Module Parameters - zfs_nocacheflush (openzfs.github.io/openzfs-docs)
- ↑ Tuning Disks (www.freebsd.org/doc)
- ↑ Combination of gmirror and enabled softupdates journalling cause slow filesystem degradation (bugs.freebsd.org) This is a known shortcoming of journalled overwriting filesystems
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|