Server-Ausfälle: Angeblicher TRIM-Bug bei Samsung-SSDs wird untersucht
Erneut machen Meldungen zu Problemen mit Samsung-SSDs die Runde. Konkret geht es um einen Bericht im Blog der Firma Algolia, in dem ein Datenverlust auf bestimmten Samsung-SSDs konstatiert wurde. Dass das Problem auf bereits bekannten Problemen mit Queued-TRIM unter Linux fußt, verneint Algolia. Weitere Untersuchungen folgen.
Adam Surak von der unter anderem mit Suchalgorithmen beschäftigten Firma Algolia schilderte Anfang der Woche Probleme mit Server-Ausfällen. Nach langer Fehlersuche entpuppte sich eine fehlerhafte Ausführung des TRIM-Befehls als Ursache für einen Datenverlust, der zu Abstürzen führte. Während TRIM eigentlich nicht mehr benötigte Datenblöcke markiert und zur Löschung freigibt, wurde der Befehl laut Surak vom Controller bestimmter SSDs falsch ausgelegt. Die Folge war, dass einige Datenblöcke mit einer Größe von 512 Byte genullt wurden, was bei kleineren Dateien eine komplette Löschung bedeutete. Waren kritische Dateien betroffen, folgte ein Absturz der Software.
Algolia stellte fest, dass der Fehler nur bei Systemen mit verschiedenen SSD-Modellen von Samsung auftrat, ebenfalls eingesetzte Intel-SSDs waren nicht betroffen.
Broken SSDs:
- SAMSUNG MZ7WD480HCGM-00003
- SAMSUNG MZ7GE480HMHP-00003
- SAMSUNG MZ7GE240HMGR-00003
- Samsung SSD 840 PRO Series
recently blacklisted for 8-series blacklist- Samsung SSD 850 PRO 512GB
recently blacklisted as 850 Pro and later in 8-series blacklistWorking SSDs:
Algolia
- Intel S3500
- Intel S3700
- Intel S3710
Die Vermutung liegt nahe, dass die Vorfälle mit einer bereits bekannten Problematik mit Queued-TRIM in Verbindung stehen. Das mit SATA 3.1 eingeführte Queued-TRIM verursacht unter Linux bekanntlich mit einigen SSD-Serien Probleme. Sie werden seit einiger Zeit in einer Blacklist geführt, die bei diesen SSDs die Ausführung von Queued-TRIM verhindert um einen möglichen Datenverlust zu verhindern.
/* devices that don't properly handle queued TRIM commands */
- { "Micron_M500*", NULL, ATA_HORKAGE_NO_NCQ_TRIM |
ATA_HORKAGE_ZERO_AFTER_TRIM, },
- { "Crucial_CT*M500*", NULL, ATA_HORKAGE_NO_NCQ_TRIM |
ATA_HORKAGE_ZERO_AFTER_TRIM, },
- { "Micron_M5[15]0*", "MU01", ATA_HORKAGE_NO_NCQ_TRIM |
ATA_HORKAGE_ZERO_AFTER_TRIM, },
- { "Crucial_CT*M550*", "MU01", ATA_HORKAGE_NO_NCQ_TRIM |
ATA_HORKAGE_ZERO_AFTER_TRIM, },
- { "Crucial_CT*MX100*", "MU01", ATA_HORKAGE_NO_NCQ_TRIM |
ATA_HORKAGE_ZERO_AFTER_TRIM, },
- { "Samsung SSD 8*", NULL, ATA_HORKAGE_NO_NCQ_TRIM |
ATA_HORKAGE_ZERO_AFTER_TRIM, },
Auszug aus der Linux-Blacklist
Die Liste umfasst auch diverse Modelle von Crucial, die zwischenzeitlich überwiegend mit einer neuen Firmware zur Behebung von Problemen mit TRIM und NCQ versehen wurden, letztlich aber weiterhin in der Linux-Blacklist geführt werden. Anfang Mai wurden schließlich Probleme mit Samsung-SSDs der Familie 800 anerkannt und die SSDs in die Blacklist aufgenommen. Laut Linux-Entwickler Martin K. Petersen laufen seitdem gemeinsame Untersuchungen zur Fehlerbehebung mit Samsung.
The queued TRIM problems appear to be generic to Samsung's firmware and
not tied to a particular model. A recent update to the 840 EVO firmware
introduced the same issue as we saw on 850 Pro.
Blacklist queued TRIM on all 800-series drives while we work this issue
with Samsung.
Martin K. Petersen, Kernel Developer bei Oracle
Crucial nennt im Zusammenhang mit Queued-TRIM eine Reihe von Kernel-Versionen als gefährlich und stuft andere als sicher ein. Es wird davon ausgegangen, dass Queued-TRIM unter anderen Betriebssystemen wie Windows, zumindest standardmäßig, nicht ausgeführt wird und der Fehler daher nicht auftreten kann. Für den Großteil der Privatnutzer besteht daher diesbezüglich kein Grund zur Sorge.
Queued-TRIM unter Linux als Ursache für die bei Algolia aufgetretenen Probleme klingt auch deshalb wahrscheinlich, da SATA 3.1 als Voraussetzung der Funktion von den als nicht betroffen geltenden Intel-SSDs nicht unterstützt wird. Zumindest sprechen die offiziellen Datenblätter lediglich von SATA 3.0.
Algolia hat aber den besagten Blog-Beitrag zwischenzeitlich aktualisiert und erklärt, dass Queued-TRIM nicht die Ursache für den Datenverlust gewesen sein könne, da man diese Form des TRIM-Befehls nicht anwende: „The TRIM on our drives is un-queued and the issue we have found is not related to the latest changes in the Linux Kernel to disable this features.“
Nach Kontaktaufnahme mit dem Hersteller will Algolia gemeinsam mit Samsung der Sache auf den Grund gehen. In einem weiteren Update des Blogs heißt es, dass Spezialisten von Samsung die betroffenen Systeme untersuchen würden. Die Ergebnisse werden zeigen, wo das Problem nun genau liegt und ob es womöglich durch ein Firmware-Update behoben werden kann.
Abschließend sei nochmals angemerkt, dass die beschriebene Problematik voraussichtlich auf spezifische Server-Umgebungen mit Linux beschränkt ist. Die angeblich betroffene Samsung SSD 840 Pro ist seit Ende 2012 auf dem Markt und weit verbreitet. Ein grundlegendes Problem mit TRIM-Befehlen hätte entsprechend bereits hohe Wellen geschlagen.