Shop

German Sales Agency Shop

Datenstruktur einer Speicherkarte

VonRomanX

Datenstruktur einer Speicherkarte

Die FAT als Rettung für gelöschte digitale Fotos und Filme

Ein technischer Exkurs in die Struktur von Dateien in Speicherkarten für die Digitalkamera.
Siehe auch das Rettungsprogramm für Festplatten Datenrettung,  Data Recovery Wizard Professional (gelöschte Daten retten).
Digitale Kameras und Camcorder verwenden aktuell mehr als 30 verschiedene Speicherkarten für Digitalbilder:

  • CompactFlash Karte retten
  • SmartMedia Karte
  • Microdrive
  • MultiMedia Karte
  • Secure Digital Karte (SD Card)
  • SD Karte wiederherstellen
  • Memory Stick
  • xD Picture Card
  • von allen Kartentypen existieren diverse Typen

Die Rettung von Daten auf diesen Karten ist Teilweise wie eine  normalen Datenrettung nach Analyse der Struktur der Speicherkarte. Aber eben nur Teilweise. Der nachfolgende Text beschreibt die Struktur von Daten auf den Medien, verschiedene Fälle von Datenverlust und als letztes, Möglichkeiten der Rekonstruktion. Wenn Sie Bilder gelöscht oder Ihre Karte neu formatiert haben, ist es noch lange nicht zu spät. Meistens lassen sich gelöschte Bilder auch nach sehr schweren Systemfehlern noch retten. Es ist nicht unser Anspruch eine vollständige Abhandlung für Programmierer zu verfassen, sondern einen grundlegenden Background für alle interessierten Anwender auf zuzeigen.

Unser Partner, der Spezialist für Datensicherheit aus Belgien, Datarescue, hat als Hersteller von PhotoRescue über Jahre hinweg ein fundiertes Expertenwissen über alle Arten von digitalen Medien angesammelt. Ihm verdanken wir die nachfolgenden Informationen. Datarescue ist auch der Hersteller des weltweit führenden Disassemblers IDA Pro. Ein anderes Tool kann eine beschädigte JPG Datei reparieren, indem es eine gültige Header Struktur generiert.

Was kann passieren?

Jede Festplatte besitzen eine Vielzahl von elektronischen Bauteilen, die einen Defekt erleiden können. Ebenso die empfindliche Mechanik. Die Oberfläche der Platten wird durch einen Headcrash beschädigt. Logische Datenstrukturen werden von aggressiven Vieren zerstört. Aber wie sieht es mit den nicht flüchtigen Flash Speichern aus?

In der Kamera…

Eine Digitalkamera besitzt ein vollständiges Betriebssystem mit Unterstützung aller klassischen Eingabe/Ausgabe (I/O) Operationen, basierend auf einem FAT (File Allocation Table) Dateisystem. Als Zugeständnis an ältere Speichergenerationen und aufgrund extrem kurzer Modellzyklen sind die Betriebssystem in vielen Kameras oft nicht stabil. Es kann vorkommen, dass manche Kameras am Ende eines Speichers wieder beginnen am Anfang zu schreiben und dabei wichtige Systemstrukturen am Anfang des Speichers einfach löschen.

Andere Kameras wiederum interpretieren unbekannte Ordner oder nicht-Fotodaten im Speicher nicht richtig, was oft zu Problemen führt. Ein weiterer häufiger Fehler kommt manchmal beim Wechsel zwischen FAT-12 und FAT-16 vor. Manchmal führt eine unbedeutende logische Inkonsistenz zu einer zu schwerwiegenden Störung, in eingeweihten Kreisen als “avalanche effect” bekannt.

Im Kartenleser…

Kartenleser sprechen über Treiber mit dem Filesystem des Betriebssystems, die als Brücke zwischen dem Filesystem Handler und dem USB Massenspeicher Treiber. Einige diese Treiber korrespondieren nicht ordnungsgemäß mit den standardisierten Systemcalls. So können sich hier Fehler durch Beschreiben von Karten im USB Leser ergeben. Wieder in der Kamera, kann das im Gegensatz zum PC rudimentäre Betriebssystem das Ergebnis unterschiedlicher Abfolgen von Dateilöschungen, Verschiebungen und Neuanlagen nicht sauber identifizieren. Deshalb sollte man eine Karten, die unter Umständen in der Kamera nicht gelesen werden können, zunächst im externen Kartenleser auslesen werden. In vielen Fällen ist das schon die einfachste Lösung für Bilder die verloren gelaubt sind.

Besondere Eigenschaften…

NAND basierte Flash Speicher verwenden eine komplexe low level Sektoren Zuteilung, den so genannten “wear leveling algorithm”. Dieser Algorithmus sorgt für eine gleichmäßige Verteilung und somit gleichmäßige Abnutzung des gesamten Speichers mit dem Ziel die Zahl der möglichen Schreibvorgänge zu erhöhen. Nach der Analyse von hunderten schadhaften Speicherkarten hat Datarescue festgestellt, dass gerade dieser Algorithmus zu Fehlern führen kann. Wenn also ein Speicher erste fehlerhafte Sektoren aufweist, ist der komplette Ausfall nicht mehr weit.

Der Alltag…

Speicherkarten fallen ins Wasser, werden stark erhitzt, sind statischen Entladungen ausgesetzt, nutzen sich ab, u.v.m. Das führt sehr oft zu teilweisen oder sogar vollständigen physikalischen Defekten. Viel öfter jedoch zu Software seitigen Beschädigungen unterschiedlichster Art. Recht häufig sind auch absichtliches oder versehentliches Löschen oder Formatieren. Um solche Schäden besser zu verstehen, sollten wir uns mal die Datenstruktur einer Karte genauer ansehen.

Organisation und Datenstruktur einer Speicherkarte

Die Implementation der nachfolgend beschriebenen Komponenten kann von Hersteller zu Hersteller und Typ zu Typ verschieden sein. Die Karten verfügen normalerweise über ein FAT-12 Dateisystem (bis 64MB) oder ein FAT-16 Dateisystem (über 64MB). Künftige Kartengenerationen wären auch mit FAT-32 lauffähig.

Das Card Information System (CIS)

Das CIS ist ein gesonderter Bereich außerhalb der emulierten logischen oder physikalischen Laufwerks auf der Karte. Es enthält Herstellerspezifische Informationen, Daten über spezielle Karteneigenschaften und manchmal versteckte Features der Kamerahersteller wie z.B. den Olympus Panoramic Mode.

Der Master Boot Record (MBR)

Bei Festplatten ist der Master Boot Sektor (MBR) für den Systemstart zuständig indem hier die aktive Partition ausgewählt und der Boot Sektor geladen wird. Er enthält die Partitionstabelle (Partition Table), die die Partitionsdaten jeder Festplatte enthält. Bei Karten existiert dieser Bereich meist nur aus Gründen der Kompatibilität, denn es wird heute (noch) so gut wie gar nicht über die Karte gebootet. Eine Beschädigung des MBR führt dazu, dass die Karte nicht mehr als logisches Laufwerk (Laufwerksbuchstabe) angesprochen werden kann.

Der MBR einer Partition

Der Bootsektor

Der Bootsektor stellt zusammen mit dem Master Boot Sektor die “Geometrie” der Speichers auf. Seine Beschädigung führt zu internen Fehlermeldung wie “Nicht Formatiert” oder “Nicht Lesbar”. Beachten Sie den FAT-12 Indikator für die 64MB SmartMedia Karte im Beispiel. Jeder Cluster (adressierbare Einheit) enthält 32 Sektoren oder 16 Kilobytes.

Der Bootsektor einer Partition

Die FAT

Die FAT enthält eine Liste mit Links (Verknüpfungen) zu Clustern, die von einzelnen Dateien belegt sind. Hier führt eine Beschädigung zu den unterschiedlichsten Problemen: manchmal sind einzelne oder alle Dateien nicht lesbar, manchmal führt das zu einem “Seek Error”. In Kameras kann ein einziger fehlerhafter Eintrag in der FAT dazu führen, dass alle weiteren, durchaus gültigen Daten einfach ignoriert werden, oder dass die Kamera “abstürzt” bzw. blockiert oder abschaltet. Normalerweise existiert die FAT in zweifacher Ausführung (siehe Screenshot oben).

Die FAT-12 in der unteren Abbildung enthält Einträge von 7 Dateien (farblich gekennzeichnet).

die 056000 bedeutet Cluster 05 und Cluster 06

die 078000 bedeutet Cluster 07 und Cluster 08

die 09A000 bedeutet Cluster 09 und A0 ( 10 als hexadezimale Schreibweise )

…etc.

Die FAT einer Speicherkarte

FFF bedeutet Ende der Kette, oder letzter Cluster des Durchlaufes.

Die Datei 5 z.B. beginnt bei Cluster 92 (5D als hexadezimale Schreibweise)

FAT-12 kann maximal 4096 Cluster adressieren (4096 x 16 entspricht 64KB)

Das Hauptverzeichnis

Wenn das Hauptverzeichnis (Root)beschädigt ist oder wenn der Boot Sektor auf ein falsches Hauptverzeichnis hinweist, können alle Dateien und Unterverzeichnisse verloren sein. Bilder werden normalerweise nicht im Hauptverzeichnis gespeichert, denn dieses kann nur eine bestimmte Anzahl an Einträgen aufnehmen (in diesem Fall sind es 256). Sie sehen unten ein Hauptverzeichnis, welches nur einen Pointer zu dem Unterverzeichnis enthält, in welchem die Kamera Bilder ablegt. Ein Anzeichen für einen Fehlerhaften Pointer zu einem Unterverzeichnis sind wirre Dateinamen und untypisch kleine oder große Dateigrößen.

Das Hauptverzeichnis (Root) einer Speicherkarte

Die Unterverzeichnisse

Die Unterverzeichnisse enthalten Datei Deskriptoren. Bei deren Beschädigung werden falsche Dateiinhalte vom Medium gelesen. Gerade nach erfolglosen Wiederherstellungsversuchen (z.B. mit CHKDSK) kommt es immer wieder vor, dass korrekte Dateieinträge auf die falschen Speicherpositionen mit falschen Inhalten verweisen. Das Unterverzeichnis im Beispiel enthält sieben Dateien, wir betrachten Datei Nummer 5.

Das Unterverzeichnis (Root) einer Speicherkarte

Der Datenbereich

Der Datenbereich enthält die eigentlichen Daten also die Dateiinhalte. Beim löschen von Dateien oder auch beim formatieren bleibt dieser Bereich der Speicherkarte meistens unangetastet. Das ist auch der Grund dafür, dass eine Wiederherstellung mit PhotoRescue möglich ist. Das Programm besitzt eine Vielzahl von verschiedenen Algorithmen für die Berücksichtigung aller dieser Strukturen und noch mehr. Hier ist der Inhalt der Beispieldatei Nummer 5 zu sehen. Man erkennt ihn deutlich am Exif Header.

Der Datenbereich einer Speicherkarte

Original text and pictures courtesy of Datarescue sa/nv.

Zurück zu PhotoRescue

Programme zur Datenrettung



Über den Autor

RomanX administrator