Festplatten Teil 2

Adressierung und Gliederung

Glaubt man, Daten würden in Nullen und Einsen einfach so auf den Scheiben gespeichert, macht man es sich zu einfach. Dies würde ja bedeuten, dass auf einer Festplatte ein fast unendlicher Strom von Binärdaten einfach irgendwie hintereinander geschrieben würde. Wie soll man da wissen, wo die Informationen für eine Datei beginnen und wo sie enden? Natürlich ist der Speicherplatz in verschiedene Einheiten untergliedert und die „Nullen und Einsen“ werden strukturiert abgelegt und eingeordnet. Dort können Informationen gespeichert, wieder gefunden und somit gelesen werden.

 

Die Gliederung

Die oberste Einheit ist die Festplatte. Das klingt banal, doch ist dies schon für den Computer ein festes Objekt. Betriebssysteme weisen ihr einen feste Bezeichnung zu. In der Unix/Linux-Welt steht z.B. „hda“ für die erste erkannte Festplatte im System, "hdb" für die zweite, usw.. Die Festplatte wird nun unterteilt in ihre Platten, bzw. Scheiben. Jede Scheibe hat eine Ober- und eine Unterseite der je ein Lesekopf (Head) zugeordnet ist. Die oberste Ordnung stellen diese Köpfe dar. Ein Kopf lässt sich nun unterteilen in Spuren. Dies sind die Datenkreise um den Kern. Sie beginnen mit der äußersten Spur als 0 und werden dann zum Kern durchnummeriert. Die Spuren sind in kleinere Bereiche unterteilt, die Sektoren (Sector) (teilweise auch Blöcke genannt). Sie sind üblicherweise 512 Byte groß, d. h. da 1 Byte = 8 Bit speichern sie 4096 Bit. Eine gröbere Aufteilung der Sektoren, also über 512 Bytes findet sich eigentlich nur in Großrechnersystemen. Der Standard-PC hat 512 Byte.

 

Zunächst verwirrend ist die zusätzliche Ordnung in Zylindern (Cylinder). Es stört die logische Reihenfolge, die wir bislang gesehen haben, da hier Kreise mit gleichem Radius auf allen Platten bzw. Seiten zu einem Zylinder zusammengefasst werden. Denkt man über die zweidimensionale Vorstellung von nur einer Scheibe hinaus und bedenkt man den Umstand, dass die Lese/Schreib-Arme nicht einzeln, sondern stets gemeinsam (sie sind fest verbunden) bewegt werden, versteht man die Untergliederung in Zylinder. Tatsächlich werden Daten von der Software stets so auf die Festplatte geschrieben, dass sie zuerst einen Zylinder auffüllen, also erst die gleichen Spuren aller Seiten beschreiben und dann erst in eine nächste Spur und neuen Zylinder wechseln.

 

CHS-Adressierung

Die letztendlich verwendete Hierarchie, bzw. Adressierungsweise ist die sog. CHS (Cylinder, Head, Sector). Ähnlich, wie man den Wohnort eines Menschen definiert mit Land, Stadt mit Postleitzahl, Straße und Hausnummer, funktioniert auch im Computer die Adressierung. Jede Information ist auf der Festplatte gespeichert in einem Zylinder x, an Kopf y und in Sektor z.

 

Also Zylinder (Cylinder), Kopf (Head) und Sektor (Sector) = CHS.

 

Cluster

Bei Windows-Systemen wird die bisher dargelegte Untergliederung noch erweitert. Mit der Bezeichnung „Cluster“ wird eine neue Einheit geschaffen, die mehrere Sektoren zusammenfasst. Es ist eine softwarebedingte Untergliederung, welche die von der Hardware gegebene Sektoreinteilung erweitert. Die Clustergröße kann mit entsprechender Software je nach Wunsch eingestellt werden. Darin zeigt sich auch der Sinn dieser neuen Einteilung. So kann mit einer größeren Clustergröße ein schnellerer Zugriff auf die Daten der Festplatte ermöglicht werden, allerdings verbunden mit dem Nachteil, dass möglicherweise Kapazität dabei verschwendet wird. In folgenden Absätzen wird das klarer.

 

Container und Orangensaft

Bis zu Straße und Hausnummer ist die Adresse mit CHS vollständig. Aber wie ist das mit den Bits genau, die da in einem Sektor oder Cluster „wohnen“? Letzt genannte Einheiten sind als eine Art Container zu verstehen. In der kleinsten Form, also als Sektor, hat der Container ein Fassungsvolumen von 512 Byte, bei Clustern ein Vielfaches davon. Ist die Größe eines Cluster eingestellt, bleibt sie fest bestehen und kann sich nicht variieren. Der Einfachheit wird im Folgenden nur noch von Clustern geredet. Wird eine Datei gespeichert, wird ein Cluster mit ihren Bits gefüllt, bis er voll ist, dann wird der nächste Cluster verwendet, dann der nächste usw., bis alle Informationen gespeichert sind. Es ist, als wäre die Datei eine Tüte Orangensaft, die in mehrere Gläser, unsere Cluster, gefüllt werden soll, um den Saft so zu speichern. Immer, wenn ein Glas bis zum Rand gefüllt ist, geht man zum nächsten Glas. Wenn wir nicht ganz genauso viel Saft haben, wie die nötigen Gläser an Kapazität zusammen, bleibt ein letztes Glas nicht ganz gefüllt. Das stellt auch kein Problem dar. Wichtig ist, dass die nächste Datei, nun vielleicht ein Apfelsaft, seine eigenen Gläser bekommen muss und man nicht etwa das letzte, halbvolle Glas Orangensaft mit der zweiten Datei auffüllen darf. Mit jedem neuen Saft muss ein neues, leeres Glas begonnen werden, genauso muss jede neue Datei mit einem neuen Cluster beginnen.

 

Datei-Zuordnungs-Tabelle

Zu einer Datei gehört ein Dateiname und damit der Schlüssel zur Adresse. Der Name wird in einem speziellen, reservierten Bereich auf der Festplatte in der sog. Datei-Zuordnungs-Tabelle gespeichert. Ihm zugeordnet ist die Information, in welchen Zylinder, bei welchem Kopf und in welchen Sektoren/Clustern (CHS) die Bits der Datei zu finden sind. Muss eine Datei gespeichert, also „geschrieben“, werden, werden die enthaltenen Informationen als Bits und Bytes in so vielen Clustern, den Gläsern, geschrieben, wie für alle Daten der Datei nötig ist. Jeder Cluster wird dem Dateinamen mit seiner Adresse (CHS) zugeordnet. Muss die Datei nun vom Computer gelesen werden, wird mit dem Dateinamen die Adresse der Cluster abgefragt und der Lesekopf der Festplatte zur jeweiligen Adresse bewegt, wo die Bits der Reihe nach aus den Containern gelesen werden.

 

Hier wird auch deutlich, warum niemals der letzte, halbvolle Cluster schon mit den Bits der nächsten Datei aufgefüllt werden darf. Würde dies geschehen, wüsste der Computer nicht, welche Bits im Cluster welcher der zwei Dateien zugehörig sind. Logische Folge ist, dass die Größe einer Datei stets ein Vielfaches der Clustergröße ist. Auch wenn Sie in einer Datei nur einen Byte speichern würden, wäre die Datei mindestens 512 Byte groß. Je größer nun die Cluster eingestellt sind (z. B. 2048 Byte), muss zwar weniger an Adressen gelesen und der Lese/Schreib-Kopf zu verschiedenen Positionen gesteuert werden (Geschwindigkeits-Vorteil), aber desto mehr Kapazität der „halbvollen Gläser“ würde verschwendet werden.

 

LBA-Technik

Ein großer Nachteil ergab sich aber aus einem zunächst unwesentlichen Umstand in der Entwicklung der Festplatten, der heutzutage einen großen Verlust an Kapazität bedeuten würde, gäbe es nicht die sog. LBA (Large Block Access)-Technik. Früher war es aus technischen Gründen üblich, dass in jedem Zylinder, egal ob dicht am Kern oder ganz außen, die gleiche Anzahl von Sektoren zu finden war. Die Eigenschaft eines Kreises bedingt allerdings, dass äußere Kreisbahnen länger als die inneren sind und so auch bei gleicher Anzahl von Segmenten pro Bahn, diese von innen nach außen größer werden. Ist der Bereich auf einer inneren Spur sehr klein, um durch die Ausrichtung sehr weniger Teilchen eine 0 oder 1 darzustellen, ist der auf einer äußeren Bahn extrem groß. Hier könnte man eigentlich mehrere Bits speichern. Bei den ersten Festplatten war das noch kein großes Problem. Aber die neuen Generationen erreichen ihre enormen Kapazitäten nicht nur durch zahlreiche Platten, sondern auch durch extremere Dichte der magnetisierbaren Schicht und damit größerer Datendichte. Wichtiger als je zuvor war es, die alte CHS-Technik zu erweitern und Kapazitäten zu gewinnen.

 

Mit der neuen LBA-Technik ermöglicht man eine variable Sektor-Anzahl, die mit jedem weiterem Zylinder von innen nach außen zunimmt. LBA steht hierbei für Large Block Access. Der Bereich, der für jedes Bit zur Verfügung gestellt wird, ist nun auf jedem Teil einer Platte annähernd gleich groß und eine Verschwendung der Kapazität wird möglichst gering gehalten. Die neue Technik wird von jedem heutigen Computer (ca. seit der Pentium-1-Generation) unterstützt. Die Sektoren werden hier von außen nach innen kontinuierlich durchnummeriert; es wird von keiner festen Anzahl pro Zylinder ausgegangen. Die Adresse einer Informationen ist nun der Kopf und der Sektor, bzw. Cluster. Aber auch in älteren Computern ohne LBA-Unterstützung lassen sich grundsätzlich moderne Festplatten einbauen und betreiben (sofern Controller-System und Verkabelung kompatibel sind). Für die Adressierung wird eine feste Sektoren-Anzahl für jeden Zylinder angenommen. Natürlich ist die Kapazität dieser Festplatte dann deutlich geringer als vom Hersteller mit LBA-Modus zugesichert (eine Halbierung der Kapazität kann das häufig schon sein). Der LBA-Modus wird im BIOS des Computers aktiviert. Heutige Rechner haben eine automatische Erkennung der Festplatten und wählen diesen Modus in der Regel korrekt aus. Zum BIOS werden Sie an anderer Stelle weitere Informationen erhalten.

 

Warnung!

Bitte sehen Sie diese Ausführungen nur als Erklärung der technischen Hintergründe. Sollten Sie Probleme mit dem LBA-Modus haben, lassen Sie sich von Fachleuten beraten und greifen Sie auf keinen Fall selbstständig auf Einstellungen im BIOS Ihres Rechners zu. Änderungen können hier einen Verlust all Ihrer gespeicherten Daten und eine Zerstörung der Hardware Ihrer Festplatte zur Folge haben!

 

Nachdem die innere Funktionsweise und nun auch das Prinzip der Daten-Speicherung und Adressierung geklärt wurde, sollte man sich nun der Übertragungs-, Schnittstellen oder Controller-Technik zuwenden. Im dritten Teil dieser Reihe werden die Standards IDE und SCSI vorgestellt werden.