Go to Top

Basic Tutorial: Datenverlust – Wo sind meine Daten?

Datenverlust

Wo sind meine Dateien? Die Untersuchung geht weiter…

Wahrscheinlich ist jeder mit der populären Entstehungsgeschichte des Internets vertraut: Das globale Netzwerk wurde in den sechziger Jahren des vergangenen Jahrhunderts zunächst nur für das US-Militär entwickelt. Dabei sollte das Netzwerk in der Lage sein mit den Auswirkungen eines potentiellen Atomkrieges umgehen zu können, was in der Konsequenz bedeutet hätte, dass es auch bei einer teilweisen Zerstörung der technischen Infrastruktur trotzdem funktionsfähig bleiben sollte. Selbst wenn einige Hubs zerstört worden wären, wäre der Betrieb des Netzwerks trotzdem weitergegangen. Dieser Ansatz illustriert perfekt die Art und Weise, wie Daten auf einer Festplatte gespeichert werden: Informationen werden absichtlich über den gesamten zur Verfügung stehenden Speicherplatz verteilt, sodass im Falle einer Beschädigung der verbleibende Teil der Festplatte schnell und effizient die beschädigten Teile ersetzen kann. In diesem Beitrag erkläre ich wie dieser Prozess konkret funktioniert…

„Das kleinste Fragment, in dem wir Daten „hineinquetschen“ können ist ein Sektor, also eine Fläche in der begrenzte Information über unsere Datei abgelegt werden kann. Das wesentliche Merkmal eines Sektors ist, dass er immer komplett aufgezeichnet und gelesen werden kann. Jeder Sektor hat einzigartige Koordinaten, die den genauen Speicherplatz auf der Festplatte beschreiben. Die Informationen mit den betreffenden physikalischen Koordinaten werden dann in ihre logischen Entsprechungen übersetzt, sodass es dem Betriebssystem ermöglicht wird, den jeweiligen Sektor schnell zu finden“, erklärt Robin England, Senior Forschungs- und Entwicklungsingenieur bei Kroll Ontrack UK.

Robin England

Normalerweise denkt man als Anwender, wenn man die Informationen des Betriebssystems als Basis nimmt, dass ein Sektor auf einer Festplatte 512 Bytes an Daten enthält. In Wirklichkeit enthält ein Sektor jedoch bis zu 600 Bytes. Warum? Die zusätzlichen Daten im Sektor dienen als Lokalisierungskoordinaten. Jeder Sektor beginnt mit einer sogenannten Präambel, die zwischen 10 und 16 Byte groß ist und zur Anfangsbestimmung des Sektors verwendet wird. Die Präambel endet mit einer Synchronisationsmarke (sync mark), die sowohl das Ende der Präambel als auch den Beginn der eigentlich relevanten Daten markiert. Zusätzliche Bits werden auch für den Encoding-Prozess genutzt, den ich in dem vorhergehenden Tutorial-Betrag bereits beschrieben habe. Das bedeutet, dass die tatsächlich vorhandene physikalische Größe der Festplatte viel größer ist, als man eigentlich annimmt.

Während eines Datenwiederherstellungsprozesses ist es deshalb wichtig, alle vorhandenen Daten, einschließlich derjenigen, die für die Codierung und den Betrieb des Lese-/Schreibsystem verantwortlich sind, und eben nicht nur ausschließlich die reinen Anwender-Dateien, zu retten.

Allerdings muss man an dieser Stelle darauf hinweisen, dass nicht alle Sektoren auf der Festplatte dazu genutzt werden, um Daten zu speichern. Warum? Die Platte muss über eine bestimmte Anzahl von Ersatz-Sektoren verfügen, die später dazu genutzt werden können, um Daten von fehlerhaften Sektoren (Bad Sektor) speichern zu können. Die Festplatte speichert ständig Informationen über alle fehlerhaften Sektoren ab und zwar unabhängig davon, ob es sich das Ergebnis sogenannter unvermeidlicher Mängel handelt (also Sektorenmängel die bereits während der Produktion entstehen – gemäß der P-List, Primary List) oder Fehler, die während des Betriebs auftreten und entweder automatisch beseitigt werden oder eben nicht. Für diese Sektoren werden dann neue alternative Sektoren genutzt und die fehlerhaften werden während des gesamten Lebenszyklus der Platte in die G-Liste (Growth-List/“Wachsende“ Liste) eingetragen.

Was findet sich sonst noch auf der Platte?

Um die Datenmenge, die auf der Festplatte gespeichert werden kann, zu maximieren, wird sie in Zonen unterteilt, deren Dichte von der Mitte bis zum Rand der Platte zunimmt (die Tracks werden immer länger, je näher man zum Rand der Platte kommt). Die Platte wird zudem auch durch einmalige magnetische Spuren – sogenannte Servokeile/Servo Wedge(s) unterteilt. Der Lese-/Schreibkopf nutzt diese, um Informationen über seine aktuelle Position zu bekommen und um über die Oberfläche der Platte navigieren zu können.

Während des gesamten Prozesses der Codierung und Adressierung werden die Dateien auf dem Datenträger in bestimmte Sektoren geschrieben. Allerdings bietet der Sektor nur Platz für 512 Bytes an Daten (ohne die zusätzlichen Daten über die ich vorangehend berichtet habe). Das bedeutet, dass ein Sektor nicht mal Platz für eine sehr kleine Textdatei bietet. Sektoren müssen deshalb in größere Strukturen gruppiert werden, um eine ganze Datei speichern zu können. Während also ein Sektor die kleinste physikalische Position auf einer Festplatte beschreibt, ist die kleinste logische Position ein Cluster. Eine typische Clustergröße umfasst 1 bis 128 Sektoren. (Dabei kann ein Cluster nur einer Datei zugeordnet werden, aber eine Datei kann in mehreren Clustern gespeichert werden). Das ist dann der Platz, wo man seine Videos, Fotos, Textdokumente oder Programme findet…

An dieser Stelle muss nochmal betont werden, dass die beschriebenen Punkte sich auf die physikalischen Strukturen von Daten auf einer Festplatte beziehen. Segmente von Strukturen höherer Ordnung (Cluster) dagegen erstellen logische Datenstrukturen. Mit ihnen beschäftigen wir uns in nächsten Ausgabe dieses Blog-Tutorials…