Es gibt zwei verschiedene Möglichkeiten, auf einen Standort innerhalb eines Laufwerks zuzugreifen: das CHS-Schema und das LBA-Schema.
CHS steht für Cylinder, Head, Sector und ist die niedrigste Methode, um zu bestimmen, wo vom Laufwerk gelesen oder geschrieben werden soll. Sie weisen ihn an, Zylinder x, Kopf y und Sektor z zu verwenden und den Inhalt dieses Speicherorts an oder von einer Adresse im Speicher (einem Puffer) zu lesen oder zu schreiben. Es wird von den tatsächlichen physischen Komponenten einer (traditionellen, sich drehenden) Festplatte abgeleitet, auf der Sie physische Zylinder und Leseköpfe haben. Der Sektor ist die kleinste adressierbare Einheit und wurde traditionell auf 512 Bytes festgelegt.
LBA ist eine logische Byteadressierung, bei der das Laufwerk durch seinen Versatz von einer Sektoradresse liest und in diese schreibt, z. B. den 123837. Sektor auf der Platte liest oder dies in den 123734. Sektor auf der Platte schreibt (beginnend bei Null).
Das Problem? Jeder dieser Werte ist im Bereich begrenzt. In der Tat musste LBA eingeführt werden, da CHS stark eingeschränkt war. Für CHS sind die möglichen Werte für C (der Zylinder) 1023, während H (Köpfe) maximal 255 sein kann und S (Sektor) nur bis zu 63 betragen kann, was bedeutet, dass Sie höchstens 1024 Zylinder x 255 Köpfe x 64 haben können Sektoren x 512 Bytes im traditionellen CHS-Format, sodass Sie insgesamt weniger als 8 GiB erhalten! Mit CHS ist es einfach nicht möglich, auf eine Festplatte mit mehr als 8 GiB zuzugreifen!
Daher wurde LBA mit einem 32-Bit-Limit eingeführt, das Ihnen 2 ^ 32 x 512 Bytes oder 2 TiB Limit für die Festplattengröße gibt. Dies ist der Grund, warum eine MBR-Festplatte 2 TB nicht überschreiten kann, da sie CHS und LBA verwendet, um Partitionsgrößen anzugeben, und dies auch nicht kann unterstütze alles über 2TiB.
Neuere, bessere Optionen wurden eingeführt, wie das GPT-Partitionierungsschema, das LBA auf 64 Bit erweitert und Ihnen mit 2 ^ 64 x 512 Bytes eine Menge mehr bietet, als Sie jemals benötigen werden - aber es gibt einen Haken: viel Vermächtnis Hardware- und Legacy-Betriebssysteme sowie Legacy-BIOS-Implementierungen und Legacy-Treiber unterstützen UEFI oder GPT nicht, und viele Benutzer möchten etwas, das einfacher aktualisiert werden kann, um das 2-TB-Limit zu überschreiten, ohne den gesamten Stack neu schreiben zu müssen von Grund auf neu. Und endlich erreichen wir die Sektorgröße 4096.
Bei allen oben diskutierten Einschränkungen war eines eine feste Annahme: die Sektorgröße. Vom ersten Tag an waren es 512 Bytes und seitdem ist es so geblieben. Vor kurzem haben die Festplattenhersteller jedoch erkannt, dass es eine Möglichkeit gibt, etwas Magisches zu tun: Nehmen Sie das herkömmliche CHS oder 32-Bit-LBA und ersetzen Sie einfach die Sektorgröße durch 4096 (4 KB) anstelle von 512 Byte. Wenn ein Betriebssystem durch Anfordern von LBA 1 "Gib mir den 2. Sektor auf der Festplatte" sagt (weil LBA 0 der erste ist), geben wir ihm nicht die Bytes 512 - 1023, sondern die Bytes 4096 - 8191.
Plötzlich wird unser 2TiB-Limit auf 2 ^ 32 x 4096 Bytes oder 16 TiB aktualisiert, ohne MBR fallen zu lassen, auf UEFI oder GPT umzuschalten oder so!
Der einzige Haken ist, dass es zu einer Nichtübereinstimmung kommt, wenn das Betriebssystem nicht weiß, dass es sich um eine magische Festplatte handelt, die 4096 Sektoren anstelle von 512-Byte-Sektoren verwendet. Jedes Mal, wenn das Betriebssystem sagt "Hey, Sie, Festplatte, schreiben Sie mir diese 512 Bytes, um xxx zu versetzen", verwendet die Festplatte 4096 Bytes , um diese 512 Bytes zu speichern (der Rest sind Nullen oder Junk-Daten, vorausgesetzt, Sie haben keine ein Speicherunterlauf), weil sie nicht in Bytes kommunizieren, sondern in Sektoren.
Daher enthalten BIOS jetzt (manchmal) eine Option, mit der Sie manuell festlegen können, dass anstelle der nativen 4096-Byte-Sektorgröße, die neuere Festplatten verwenden, eine Sektorgröße von 512 Byte verwendet werden soll - mit der Einschränkung, dass Sie nicht mehr als darauf zugreifen können 2 TB der Festplatte auf einem MBR-System, genau wie in den "guten alten Zeiten". Aber moderne Betriebssysteme, die 4k-fähig sind, können all dies nutzen, um diese Magie zum Lesen und Schreiben in 4096-Byte-Chunks und Voilà zu nutzen!
(Ein zusätzlicher Vorteil ist, dass die Dinge viel schneller sind, denn wenn Sie 4096 Bytes gleichzeitig lesen und schreiben, müssen weniger Vorgänge gelesen oder geschrieben werden, beispielsweise 4 GB Daten.)