Cylinder Head Sector

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Der Begriff cylinder/head/sector (per track) (CHS) bzw. Zylinder/Kopf/Sektor (pro Spur) (ZKS) beschreibt eine Adressierungsmethode von Festplatten. Diese ermöglicht dem Computer die Erkennung der Festplattengeometrie des Datenträgers und dessen Aufteilung in Partitionen mittels Partitionstabelle.

Bei älteren Computern musste häufig die Anzahl der Zylinder, Köpfe und Sektoren noch per Hand im BIOS eingetragen werden, damit der Computer bzw. das Betriebssystem die Festplatte korrekt ansteuern konnte. Falsche Angaben konnten dabei leicht zu Datenverlusten führen. Dabei war der Bezug zur Hardware aber nicht sehr direkt: Manchmal funktionierten Festplatten auch, wenn falsche Angaben eingetragen wurden, solange die angegebene Größe nicht die tatsächliche Größe der Festplatte überstieg. Das BIOS moderner Computer kann die CHS-Angaben von Festplatten normalerweise selbständig ermitteln.

Bei einer CHS-Formatierung werden im Registersatz des Festplattencontrollers die Anzahl der Zylinder, Köpfe und Sektoren der Festplatte eingetragen. Da aus Platzgründen der Registerplatz beschränkt war, konnte das BIOS nur 1024 Zylinder, 16 Köpfe und 63 Sektoren ansteuern. Das ergab bei der Sektorgröße von 512 Byte maximal 504 MiB. Später wurde die maximale Anzahl der Köpfe auf 256 erhöht, was die Kapazitätsgrenze auf 8064 MiB erhöhte.

Bei RAID spielen diese Angaben u. U. eine wichtige Rolle, weil man bei einigen Formen der Datenspiegelung darauf achten muss, dass beide Festplatten identische Eigenschaften haben – nicht nur die gleiche Größe.

Die Sektoren werden ab eins gezählt, während bei den Zylindern und Köpfen die Zählung (wie in der Informatik üblich) bei Null beginnt.

Konvertierung von CHS nach LBA[Bearbeiten]

Beim LBA-Verfahren (Logical Block Addressing) werden die Blöcke beginnend mit Null durchgehend gezählt. Die Konvertierung der CHS-Angaben in den LBA-Block erfolgt nach der Formel

LBA = (c \cdot H + h) \cdot S + s-1
  • LBA: Adresse des Blocks nach dem LBA-Verfahren
  • c: Zylindernummer
  • H: Zahl der Leseköpfe
  • h: Lesekopfnummer
  • S: Zahl der Sektoren (= Zahl der Blöcke je Zylinder)
  • s: Sektornummer