Cylinder-head-sector

schéma geometrie pevného disku

Adresace CHS je proces identifikace jednotlivých sektorů (tzv. fyzických bloků dat) na disku podle jejich pozice ve stopě, přičemž stopa je určena číslem hlavy a cylindru. Termíny jsou vysvětleny zdola nahoru, pro adresování disků je sektor nejmenší jednotkou. Řadiče disků mohou zavádět překlady adres pro mapování logických pozic na fyzické, např. zónový bitový záznam ukládá menší počet sektorů do kratších (vnitřních) stop, fyzické formáty disků nemusí být nutně cylindrické a čísla sektorů ve stopě mohou být zkreslená.

SektoryUpravit

Floppy disky a řadiče používají fyzické velikosti sektorů 128, 256, 512 a 1024 bajtů (např, PC/AX), přičemž formáty s 512 bajty na fyzický sektor se staly dominantními v 80. letech 20. století.

Nejběžnější fyzická velikost sektoru u pevných disků je dnes 512 bajtů, ale existovaly i pevné disky s 520 bajty na sektor pro stroje nekompatibilní s IBM. V roce 2005 používaly některé vlastní pevné disky Seagate velikost sektoru 1024 bajtů na sektor. Pevné disky Advanced Format používají od roku 2010 velikost sektoru 4096 bajtů na fyzický sektor (4Kn), ale po přechodnou dobu budou schopny emulovat i sektory o velikosti 512 bajtů (512e).

Magnetooptické disky používají velikosti sektorů 512 a 1024 bajtů na 5. straně.25palcových jednotkách a 512 a 2048 bajtů na 3,5palcových jednotkách.

Při adresování CHS začínají čísla sektorů vždy od 1, neexistuje sektor 0, což může vést k záměně, protože logická schémata adresování sektorů obvykle začínají počítat od 0, např, logické blokové adresování (LBA) nebo „relativní sektorové adresování“ používané v systému DOS.

U fyzické geometrie disku je maximální číslo sektoru určeno nízkoúrovňovým formátem disku. Pro přístup k disku pomocí systému BIOS strojů kompatibilních s IBM-PC však bylo číslo sektoru zakódováno v šesti bitech, což vedlo k maximálnímu počtu 111111 (63) sektorů na stopu. Toto maximum se stále používá pro virtuální geometrie CHS.

StopyEdit

Stopy jsou tenké soustředné kruhové pásy sektorů. Pro čtení jedné stopy je zapotřebí alespoň jedna hlava. S ohledem na geometrii disku spolu pojmy stopa a válec úzce souvisejí. Pro jednostrannou nebo oboustrannou disketu je běžný termín stopa; a pro více než dvě hlavy je běžný termín válec. Přísně vzato je stopa daná CH kombinace skládající se zSPT sektorů, zatímco válec se skládá zSPT×H sektorů.

CylindryUpravit

Válec je rozdělení dat v diskové jednotce, jak se používá v režimu adresování CHS u disků s pevnou blokovou architekturou nebo v režimu adresování CCHHR (cylinder-head-record) u disků CKD.

Konceptem jsou soustředné, duté, válcové řezy skrz fyzické disky (plotny), shromažďující příslušné kruhové stopy zarovnané skrz stoh ploten. Počet válců diskové jednotky se přesně rovná počtu stop na jedné ploše v jednotce. Zahrnuje stejný počet stop na každé plotně, zahrnující všechny takové stopy na každém povrchu plotny, který je schopen ukládat data (bez ohledu na to, zda je stopa „špatná“ nebo ne). Válce jsou vertikálně tvořeny stopami. Jinými slovy, stopa 12 na plotně 0 plus stopa 12 na plotně 1 atd. je válec 12.

Jiné formy paměťových zařízení s přímým přístupem (DASD), jako jsou bubnové paměťové zařízení nebo datová buňka IBM 2321, mohou udávat adresy bloků, které obsahují adresu válce, ačkoli adresa válce nevybírá (geometrický) válcový řez zařízení.

HlavyEdit

Zařízení zvané hlava čte a zapisuje data v pevném disku manipulací s magnetickým médiem, které tvoří povrch přidružené plotny disku. Plotna má přirozeně 2 strany, a tedy 2 povrchy, na kterých lze manipulovat s daty; obvykle jsou na jedné plotně 2 hlavy, na každé straně jedna. (Někdy se termín strana nahrazuje termínem hlava, protože plotny mohou být odděleny od svých hlav, jako je tomu u vyměnitelných médií disketové jednotky.)

Adresace CHS podporovaná v kódu BIOS kompatibilních s IBM-PC používala osm bitů pro – teoreticky až 256 hlav počítaných jako hlava 0 až 255 (FFh). Chyba ve všech verzích systému Microsoft DOS/IBM PC DOS až do verze 7.10 včetně však způsobí, že tyto operační systémy při startu při setkání se svazky s 256 hlavami spadnou. Proto budou všechny kompatibilní systémy BIOS používat pouze mapování s maximálně 255 hlavami (00h..FEh), a to i ve virtuálních 255×63 geometriích.

Tato historická zvláštnost může ovlivnit maximální velikost disku ve starém kódu BIOS INT 13h i ve starých operačních systémech PC DOS nebo podobných:

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MB, ale ve skutečnosti 512×63×256×1024=8064 MB dává to, co je známo jako limit 8 GB. V této souvislosti relevantní definice 8 GB = 8192 MB je dalším nesprávným limitem, protože by vyžadovala CHS 512×64×256 s 64 sektory na stopu.

Stopy a cylindry se počítají od 0, tj. stopa 0 je první (nejvzdálenější) stopa na disketách nebo jiných cylindrických discích. Starý kód systému BIOS podporoval deset bitů v adresování CHS s až 1024 cylindry (1024=210). Přidáním šesti bitů pro sektory a osmi bitů pro hlavy vznikne 24 bitů podporovaných přerušením 13h systému BIOS. Odečtení zakázaného čísla sektoru 0 ve stopách 1024×256 odpovídá 128 MB pro velikost sektoru 512 bajtů (128 MB=1024×256×(512 byte/sector)); a 8192-128=8064 potvrzuje (zhruba) limit 8 GB.

Adresace CS začíná na 0/0/1 s maximální hodnotou 1023/255/63 pro 24=10+8+6 bitů nebo 1023/254/63 pro 24 bitů omezených na 255 hlav. Hodnoty CHS používané k určení geometrie disku musí počítat s cylindrem 0 a hlavou 0, což vede k maximální hodnotě (1024/256/63 nebo) 1024/255/63 pro 24 bitů s (256 nebo) 255 hlavami. V tuplech CHS specifikujících geometrii S ve skutečnosti znamená sektory na stopu, a pokud (virtuální) geometrie stále odpovídá kapacitě, disk obsahuje C×H×S sektorů. S tím, jak se začaly používat větší pevné disky, se logickou strukturou disku stal také cylindr, standardizovaný na 16 065 sektorů (16065=255×63).

CHS adresování s 28 bity (EIDE a ATA-2) umožňuje osm bitů pro sektory začínající stále na 1, tj. sektory 1…255, čtyři bity pro hlavy 0…15 a šestnáct bitů pro cylindry 0…65535. Výsledkem je zhruba limit 128 GB; ve skutečnosti 65536×16×255=267386880 sektorů odpovídajících 130560 MB při velikosti sektoru 512 bajtů. Na 28=16+4+8 bitů ve specifikaci ATA-2 se vztahuje také seznam přerušení Ralfa Browna a byl zveřejněn starý pracovní návrh této dnes již neplatné normy.

Při starém limitu systému BIOS 1024 cylindrů a limitu ATA 16 hlav byl kombinovaný efekt 1024×16×63=1032192 sektorů, tj. 504 MB limit pro velikost sektoru 512 bajtů. Převodní schémata systému BIOS známá jako ECHS a revidované ECHS toto omezení zmírnila použitím 128 nebo 240 místo 16 hlav, čímž se současně snížil počet cylindrů a sektorů tak, aby se při daném celkovém počtu sektorů na disku vešly do 1024/128/63 (limit ECHS: 4032 MB) nebo 1024/240/63 (limit revidovaného ECHS: 7560 MB).

Bloky a clusteryUpravit

Komunity Unixu používají termín blok pro označení sektoru nebo skupiny sektorů. Například linuxový nástroj fdisk před verzí 2.25 zobrazoval velikosti diskových oddílů pomocí bloků o velikosti 1024 bajtů.

Klastry jsou alokační jednotky pro data v různých souborových systémech (FAT, NTFS atd.), kde data tvoří především soubory. Clustery nejsou přímo ovlivněny fyzickou nebo virtuální geometrií disku, tj. cluster může začínat v sektoru poblíž konce dané CH stopy a končit v sektoru na fyzicky nebo logicky následující CH stopě.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.