Moin!
Die Flash-Speicherzellen werden vom Controller so beschrieben, dass die Zahl der Schreibzugriffe möglichst gut verteilt wird, da jede Speicherzelle nur eine gewisse Anzahl an Schreiboperationen verträgt. Deshalb ist die interne Verteilung der Daten sowieso komplett anders, als die gegenüber dem Host präsentierte Datenstruktur. Sprich: Intern werden die Daten sowieso wild verteilt, wozu dann noch defragmentieren.
Erschwerend kommt hinzu, dass ein Defragmentieren aus dem beschriebenen Grund kontraproduktiv wäre, da sich ja die Anzahl der Schreibvorgänge unweigerlich erhöhte.
Problematisch an diesem Verhalten ist, dass es auch nicht möglich ist, gezielt Bereiche zu überschreiben, um Dateien spurenlos zu löschen.
Richtig, und als Sahnehäubchen: Man kann Flash-Speicher auch so konstruieren, dass eine gewisse Anzahl an Speichersektoren außerhalb der Gesamtkapazität gehalten wird, die bei ihrem Ausfall dann nicht weiter genutzt werden. Logischerweise bleibt in diesem Speicherbereich der zuletzt dort hineingeschriebene Inhalt erhalten. Der ist zwar nicht mehr über das offizielle Interface zugänglich, aber er steht natürlich über inoffizielle Wege noch zur Verfügung.
Im Prinzip bedeutet Flash-Speicher im Hinblick auf sichere Datenzerstörung den absoluten GAU, weil diese außer durch physikalische Zerstörung des Mediums nicht wirklich erreichbar ist. Physikalische Zerstörung ist dann wohl am besten als "staubfein zerrieben" zu beschreiben, denn auch aus Teilbereichen des Chips kann man die Speicherinformation ja durchaus noch auslesen.
- Sven Rautenberg