Ja, SD / MMC-Karten verfügen über Controller, die einen Verschleißausgleich durchführen. Andernfalls könnten Sie in wenigen Minuten eine mit den falschen Schreibmustern zerstören.
Das ist eigentlich ein Problem für einige eingebettete Projekte. Es gibt (anscheinend) keine Möglichkeit zu wissen, welche Sektoren zu irgendeinem Zeitpunkt abgenutzt sein könnten, sodass ein Aus- und Wiedereinschalten zum falschen Zeitpunkt Daten an einer beliebigen Stelle auf der Karte zerstören kann, unabhängig davon, an welcher Stelle Sie DENKEN, dass Sie schreiben. (frag nicht, woher ich das weiß :))
SD-Karten müssen mit einem System verwendet werden, das ein sauberes Herunterfahren des Systems garantiert (oder zumindest das Abschließen von Schreibvorgängen zulässt). Andernfalls kommt es (möglicherweise) zu Datenverlusten.
BEARBEITEN
Das Problem ist, dass der Prozess des Verschleißausgleichs vollständig verborgen ist. JEDER Sektor auf der Festplatte kann jederzeit verschoben werden (mit der geschriebenen Seite ausgetauscht werden), und wenn die Stromversorgung während dieses Vorgangs ausfällt, kann dieser zufällige Sektor beschädigt werden.
Es gibt zwar einigermaßen sichere Wege, um diesen Schritt auszuführen, aber er ist in keiner Spezifikation enthalten, sodass Sie nicht darauf vertrauen können, dass die Karte dies tut. Sie könnten eine Karte testen, damit sie funktioniert, dann könnte der Hersteller die Implementierung ändern, ohne die Teilenummer zu ändern, und Sie sind fertig.
Nach dem Testen führt der Controller meiner SD-Karten dies NICHT auf sichere Weise durch.
Ich könnte eine SD-Karte mit "hoher Zuverlässigkeit" untersuchen, die speziell für Stromausfalltoleranzen angekündigt wurde. Dann muss man dem Hersteller vertrauen, dass er das richtig macht, und das tue ich nicht. Ich möchte wirklich die direkte Kontrolle über das Löschen von Seiten. Ich versuche immer noch, das herauszufinden.