TeleTubby666
Cadet 3rd Year
- Registriert
- Juni 2021
- Beiträge
- 42
Hallo,
ich hatte diesen Text bereits Anfang des Jahres bereits im Hardwareluxx Forum gepostet, aber keine Reaktion darauf bekommen. Das wiederum untermauert meine abschließende Frage meines Textes nur umso mehr, so dass ich hier nun noch einmal mein Glück versuchen möchte:
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!
ich hatte diesen Text bereits Anfang des Jahres bereits im Hardwareluxx Forum gepostet, aber keine Reaktion darauf bekommen. Das wiederum untermauert meine abschließende Frage meines Textes nur umso mehr, so dass ich hier nun noch einmal mein Glück versuchen möchte:
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!