Secure Erase /CMD38 / Low Level Format („TRIM“) bei (Micro-) SD Karten. Warum kein Thema?

TeleTubby666

Enthusiast
Thread Starter
Mitglied seit
17.09.2006
Beiträge
433
Hallo und ein Frohes Neues,

es gibt da ein Thema, das mich seit längerem beschäftigt, und zwar geht es darum, dass in vielen Geräten (Micro-) SD Karten nutze, wie z.B. auf diversen Spielkonsolen, meinem Raspberry, diversen Mobilgeräten oder auch gelegentlich zum Datentransport, wenn ich keinen USB Stick zur Hand habe. Dass ich gestern wieder mit einer korrupten Datei zu kämpfen hatte, nehme ich jetzt zum Anlass, meine Gedanken hier zu formulieren.

Wie wahrscheinlich jeder weiß, sorgt das Wear Leveling dieser Karten dafür, dass Speicherbereiche gleichmäßig beschrieben werden, so lange genügend freier Platz auf den Karten vorhanden ist. Ist die Karte jedoch nahezu vollständig beschrieben worden, kommt es zur verstärkten Belastung der verbleibenden Bereiche und auch nach dem Löschen von Daten zu einem dauerhaften Einbruch der Leistung, weil die Karte quasi nicht „mitbekommt“ welche Bereiche wieder als beschreibbar markiert worden sind.

Bei SSDs sowie in modernen Betriebssystemen hat sich der TRIM-Befehl etabliert, der der SSD die freien Bereiche übermittelt und zum erneuten Beschreiben frei gibt. Mit dem Zero-Erase-ATA Kommando lässt sich die SSD in Sekundenschnelle (natürlich unter Verlust aller Daten) auf den Werkszustand zurück setzen, bevor sie verkauft oder komplett neu eingerichtet werden soll.

Bei SD Karten gibt es einen ähnlichen Befehl, das sog. CMD38-Kommando, das auch alle Speicherzellen zum erneuten Beschreiben frei gibt. Leider wird dieses jedoch kaum bis gar nicht verwendet, weil die meisten SD-Kartenleser intern über USB angeschlossen sind und diesen Befehl nicht an die Karte durchreichen können. Im Internet wird zum Zurücksetzen der Karten kurioserweise z.B. der SD Card Formatter der SD Card Association empfohlen, obwohl der überhaupt nicht mit dem o.g. Kommando arbeitet sondern - viel schlimmer - die SD Karte mit Nullen überschreibt.

Es bleiben also als Alternativen ausschließlich Geräte, die den CMD38 Befehl an die Karte weiter reichen können. Dazu gehören beispielsweise DSLR-Kameras, wenn die „Low-Level“ Formatierung angewählt wird, oder auch Platinencomputer wie z.B. der Raspberry oder der Arduino, für die sich im Internet (sehr wenige) entsprechende Anleitungen finden lassen.

Ich persönlich möchte eigentlich die Leistung, Lebensdauer und die Zuverlässigkeit meiner Karten verbessern. Aber muss ich mir dafür nun allen Ernstes eine neue DSLR (meine alte Canon unterstützt nur Karten bis zum SDHC-Standard), einen Arduino oder einen zweiten Raspberry zulegen, um gelegentlich einen Erase durchführen zu können? Gibt es noch andere Lösungen, von denen ich nichts weiß? Warum gibt es so wenig im Netz zu diesem Thema? Interessiert sich wirklich niemand dafür?

Auf eure Antworten bin ich sehr gespannt und freue mich sehr darauf!

Liebe Grüße!
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
@TeleTubby666

Das Hauptproblem bei (Micro) SD Karten ist, daß die Hersteller im Consumer Bereich ein großes Geheimnis um Dinge wie "Terabytes Written (TBW)", die Art des Wear Leveling und die Art des verwendeten Nand Speichers machen.
Bei SSDs und bei industriellen Speicherkarten ist man deutlich transparenter.

Immerhin rückt man gelegentlich auf Nachfrage mit etwas mehr Informationen raus.

Ich gehe mal davon aus, daß du keine teuren Industrial Cards verwenden möchtest.

Die empfehlenswerteste Consumer Micro SD Karte ist die Western Digital Purple mit Kapazitäten von 32 GB bis 1 TB.
Die Karten sind für die rund um die Uhr Nutzung in Überwachungskameras freigegeben und bieten sogenanntes Health Monitoring, was am Raspberry Pi, den aktuellen Gesundheitszustand des Nand Speichers anzeigt, etwas das üblicherweise nur bei Industrial Cards funktioniert.
Die TBW reichen von 16 Terabyte für die 32 GB Karte bis zu 512 Terabyte bei der 1 TB Karte.

Eine weitere Besonderheit dieser Consumer Karte: Diese bietet neben dynamischen Wear Leveling ganz offiziell auch das wichtigere Statische Wear Leveling.

Weil sie offenbar nur Dynamic Wear Leveling bietet ist bei mir eine alte 200 Gigabyte Sandisk Micro SD Karte in den reinen Lesemodus übergegangen.
Hatte die Karte mit dauerhaft gespeicherten 160 Gigabyte an Musik, Videos und Fotos fast voll. Binär war die Kapazität ohnehin nur 183 GB, sodaß effektiv nur noch 23 Gigabyte zum beschreiben blieben und auch die Schreibgeschwindigkeit war bereits deutlich geringer als auf einer leeren Karte.
Hab immer wieder im heimischen WLAN Youtube Videos für unterwegs runtergeladen und auf die Speicherkarte verschoben, bis diese fast voll war.
Zwischendurch dann ein gesehenes Video gelöscht und ein neues hinzugefügt.

Bei der Western Digital Purple Micro SD mit zusätzlich statischem Wear Leveling wäre dies nicht passiert, da dort der interne Controller unbemerkt im Hintergrund Dateien verschiebt, damit dauerhaft belegte Speicherblöcke mehr als nur einmal beschrieben werden können.

Hinzu kommen Features wie Garbage Collection für abgenutzte Blöcke und eine gewisse Sicherheit bei Stromausfällen, während gerade ein Schreibvorgang auf der Karte stattfindet, sodaß die Micro SD dadurch nicht gleich komplett geschrottet wird.

Letztlich werden die Speicherkarten sowohl in Dash Cams als auch in Einplatinenencomputern mit den zahlreichen Logfiles deutlich mehr gefordert, als in Tablets, Kameras oder Smartphones.

Ich selbst verwende in Smartphone, Android Tablet, Windows Tablet und Go Pro Action Cam 4 verschiedene 1 TB Micro SD Karten aus dem Hause Sandisk bzw. Western Digital.
Probleme in Sachen korrupte Dateien oder Einbruch der Schreibgeschwindigkeit, wenn die Karten fast voll sind: Fehlanzeige.

Ausgehend von den 512 TBW der Western Digital Purple 1 TB, könnte man die Karte rund 10 Jahre lang einmal wöchentlich mit 1 TB an Daten komplett vollschreiben.

Wer es etwas günstiger will kann bei den "Endurance"-Karten von Samsung, Sandisk oder Kioxia zugreifen, die mit ausgeklügeltem Wear Leveling sogar zwischen 3.000 und 6.000 Schreibzyklen bieten.
Bei der größten dieser Karten mit 512 GB aus dem Hause Kioxia ergibt dies immerhin einen Wert von beachtlichen 1.600 TBW.

Gruß, Marcel
 
Hatte mal einen USB-Stick* mit SSD-Controller von Sandforce, bei dem ich mittels hdparm unter Linux einen ATA-Secure-Erase durchgeführt habe. Das hat den guten Stick gebrickt. Die Faustregel, die ich für mich von diesem Erlebnis abgeleitet habe: Niemals Secure-Erase bei einem über USB angeschlossenen Gerät versuchen.

Keine Ahnung, ob das auch für SD-Karten gilt. Ich würds trotzdem nicht versuchen, es sei denn, du hast eine alte Karte mit geringer Kapazität, bei der es dir egal ist, ob sie überlebt.

 
Zuletzt bearbeitet:
Hatte mal einen USB-Stick* mit SSD-Controller von Sandforce, bei dem ich mittels hdparm unter Linux einen ATA-Secure-Erase durchgeführt habe. Das hat den guten Stick gebrickt. Die Faustregel, die ich für mich von diesem Erlebnis abgeleitet habe: Niemals Secure-Erase bei einem über USB angeschlossenen Gerät versuchen.

Keine Ahnung, ob das auch für SD-Karten gilt. Ich würds trotzdem nicht versuchen, es sei denn, du hast eine alte Karte mit geringer Kapazität, bei der es dir egal ist, ob sie überlebt.

hdparm ist ein Kommando, um diverse EIDE-/ATAPI-Parameter abzufragen und einzustellen.

Neben einigen eher harmlosen Verwendungsmöglichkeiten unterstützt es auch Einstellungen und Anwendungen, in denen unter Umständen Systemcrashes, Datenverlust und sogar Schäden an der Hardware auftreten können - also Vorsicht!
Quelle: https://linuxwiki.de/hdparm
 
@HerrGausS

Ist mir bekannt. Es war ja genau meine Intention einen Secure Erase des Sticks durchzuführen. War mir klar, dass dieser gebrickt werden kann. Ich dachte eben "dieser Stick hat einen SSD-Controller von Sandforce, der wenn er per SATA angesteuert wird, problemlos ATA-Secure-Erase ausführt -- also könnte das möglicherweise auch über USB funktionieren", was leider ein Trugschluss war.

Nebenbei bemerkt nutze ich seit Jahren hdparm um Secure Erase auf intern angeschlossenen SSDs durchzuführen und das hat immer anstandslos funktioniert. Nur bei per USB angeschlossenen, Secure-Erase-fähigen Geräten scheint es eben nicht zu gehen.
 
Zuletzt bearbeitet:
Neuere Sd Karten haben einen besseren Controller auf dem Chip. Dieser Mappt Schreibvorgänge immer auf die am wenigsten Benutzten Blöcke im Flash. Somit ist es egal wie groß Sectoren sind oder ob man Sectorgrenzen beachten muss. Das war früher mal.
Ich verwende nur noch Sandisc Ultra in meinen Raspis und Switch Projekten und hatte seit 10 Jahren keine Ausfälle mehr. Es kommt halt auf den Controller in der SD Karte an!
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh