Die Speicherung von Informationen auf der Festplatte ähnelt in gewisser Weise der Darstellung von Informationen in einem Barcode. Jeder Ort auf einer Plattenspur wird auf zwei Arten polarisiert, entsprechend den weißen und schwarzen Bereichen eines Barcodes. Wie bei einem Barcode haben diese polarisierten Bereiche verschiedene Breiten, die zum Codieren von Daten verwendet werden. Die tatsächliche Codierung ist jedoch unterschiedlich, da Barcodes im Allgemeinen entweder Dezimalstellen oder Zeichen enthalten, die aus einem relativ kleinen Satz ausgewählt wurden (43 Zeichen im Fall von Code 39), während Festplattenlaufwerke zum Speichern von Basis-256-Bytes verwendet werden. Beachten Sie, dass ältere Antriebstechnologien nur drei Breiten von Magnetimpulsbereichen verwendeten, von denen die breiteste dreimal so breit war wie die engste. Neuere Antriebstechnologien verwenden viel mehr Breiten. da die Breite des engsten Bereichs, den das Medium tragen kann, erheblich breiter ist als der minimal erkennbare Abstand zwischen den Breiten. In den 1980er Jahren würde eine Erhöhung der Anzahl unterschiedlicher Breiten auf einem Laufwerk mit einer bestimmten Mindestbreite die nutzbare Kapazität um 50% erhöhen. Ich weiß nicht, wie das Verhältnis heute ist.
Informationen auf einer zufällig beschreibbaren Festplatte sind in Sektoren unterteilt, denen jeweils ein Sektorkopf vorangestellt ist. Dem Sektor-Header selbst geht eine Lücke voraus. Sowohl der Sektorkopf als auch der Sektor beginnen mit speziellen Mustern von Bereichsbreiten, die nirgendwo anders auftreten können. Um einen Sektor zu lesen, sucht ein Laufwerk nach dem speziellen Muster, das "Sektorkopf" anzeigt, und liest dann die darauf folgenden Bytes. Wenn sie mit dem Sektor übereinstimmen, den das Laufwerk haben möchte, sucht es nach einem Muster, das "Datenheader" anzeigt, und liest die zugehörigen Daten. Wenn die Daten nicht mit dem interessierenden Sektor übereinstimmen, sucht das Laufwerk wieder nach einem anderen "Sektor-Header".
Das Schreiben eines Sektors ist etwas schwieriger. Die Antriebselektronik benötigt eine kurze, aber nicht Null (und nicht vollständig vorhersehbare) Zeit, um zwischen Lese- und Schreibmodus umzuschalten. Um dies zu bewältigen, schreiben Laufwerke jeweils nur Daten für einen ganzen Sektor. Um einen Sektor zu schreiben, startet das Laufwerk im Lesemodus und wartet, bis der Header des zu schreibenden Sektors angezeigt wird. dann wechselt es in den Schreibmodus, gibt die Daten aus und wechselt dann zurück in den Lesemodus. Da es vor und nach dem Datenbereich Lücken gibt, spielt es keine Rolle, ob das Laufwerk manchmal etwas schneller oder langsamer in den Schreibmodus wechselt, vorausgesetzt, (1) dem "Start" -Muster für einen Block gehen einige Daten voraus, die dies nicht tun Nicht mit dem Startmuster übereinstimmen, sodass selbst wenn das Laufwerk "spät" startet, der Teil des alten Blocks, der nicht gelöscht wurde, gewinnt. '
Beim Lesen von Daten wird bestimmt, welche Daten durch einen bestimmten Punkt auf der Platte dargestellt werden, indem die magnetischen Bereiche "gezählt" werden, die seit der vorherigen Blockbeginnmarkierung gesehen wurden. Beim Schreiben von Daten wird durch die Anzahl der bisher geschriebenen Daten durch die Steuerung bestimmt, welche Daten durch den Punkt auf der Platte dargestellt werden, den der Kopf passiert. Es ist zu beachten, dass es keine Möglichkeit gibt, genau vorherzusagen, welches Bit durch irgendeinen Punkt auf der Platte dargestellt wird, bevor es geschrieben wird, da es beim Schreiben eine gewisse Menge an "Slop" gibt.