Cylinder-głowica-sektor

schemat geometrii dysku twardego

Adresowanie w systemie Windows to proces identyfikacji poszczególnych sektorów (aka. fizycznych bloków danych) na dysku na podstawie ich pozycji w ścieżce, gdzie ścieżka jest określona przez numer głowicy i cylindra. Terminy te są wyjaśnione od dołu do góry, dla adresowania dyskowego sektor jest najmniejszą jednostką. Sterowniki dysków mogą wprowadzać translacje adresów w celu mapowania pozycji logicznych na fizyczne, np. strefowy zapis bitowy przechowuje mniej sektorów w krótszych (wewnętrznych) ścieżkach, fizyczne formaty dysków nie muszą być cylindryczne, a numery sektorów w ścieżce mogą być przekrzywione.

SektoryEdit

Dyskietki i sterowniki używają fizycznych rozmiarów sektorów 128, 256, 512 i 1024 bajtów (np, PC/AX), przy czym w latach 80. dominowały formaty z 512 bajtami na sektor fizyczny.

Najczęściej spotykanym rozmiarem sektora fizycznego w dyskach twardych jest 512 bajtów, ale w maszynach nieobsługujących standarduIBM występowały dyski twarde z 520 bajtami na sektor. W 2005 roku niektóre niestandardowe dyski twarde firmy Seagate używały sektorów o rozmiarze 1024 bajtów na sektor. Dyski twarde Advanced Format od 2010 roku wykorzystują sektor fizyczny o rozmiarze 4096 bajtów (4Kn), ale w okresie przejściowym będą również emulować sektory 512-bajtowe (512e).

Dyski magnetooptyczne wykorzystują sektory o rozmiarze 512 i 1024 bajtów w dyskach 5.25-calowych dyskach oraz 512 i 2048 bajtów na dyskach 3,5-calowych.

W adresowaniu CHS numery sektorów zawsze zaczynają się od 1, nie ma sektora 0, co może prowadzić do nieporozumień, ponieważ schematy logicznego adresowania sektorów zwykle zaczynają liczenie od 0, np, adresowanie bloków logicznych (LBA) lub „względne adresowanie sektorów” używane w systemie DOS.

W przypadku geometrii dysku fizycznego maksymalna liczba sektorów jest określana przez format niskiego poziomu dysku. Jednak w przypadku dostępu do dysku za pomocą BIOS-u maszyn zgodnych z IBM-PC, numer sektora był zakodowany w sześciu bitach, co dawało maksymalną liczbę 111111 (63) sektorów na ścieżkę. To maksimum jest nadal używane w wirtualnych geometriach CHS.

ŚcieżkiEdit

Ścieżki to cienkie koncentryczne okrągłe paski sektorów. Do odczytu pojedynczej ścieżki wymagana jest co najmniej jedna głowica. W odniesieniu do geometrii dysku terminy ścieżka i cylinder są ściśle powiązane. W przypadku dyskietki jedno- lub dwustronnej wspólnym terminem jest ścieżka, a w przypadku więcej niż dwóch głowic – cylinder. Ściśle rzecz biorąc, ścieżka to dana CH kombinacja składająca się zSPT sektorów, natomiast cylinder składa się zSPT×H sektorów.

CylindryEdit

Cylinder to podział danych w napędzie dyskowym, używany w trybie adresowania CHS dysku o architekturze Fixed Block Architecture lub w trybie adresowania cylinder-głowa-zapis (CCHHR) dysku CKD.

Koncepcja polega na koncentrycznych, wydrążonych, cylindrycznych plasterkach przez fizyczne dyski (talerze), zbierających odpowiednie okrągłe ścieżki wyrównane przez stos talerzy. Liczba cylindrów w napędzie dyskowym jest dokładnie równa liczbie ścieżek na pojedynczej powierzchni w napędzie. Obejmuje ona ten sam numer ścieżki na każdym talerzu, obejmując wszystkie takie ścieżki na każdej powierzchni talerza, która jest w stanie przechowywać dane (bez względu na to, czy ścieżka jest „zła”, czy nie). Cylindry są pionowo formowane przez ścieżki. Innymi słowy, ścieżka 12 na talerzu 0 plus ścieżka 12 na talerzu 1 itd. to cylinder 12.

Inne formy urządzeń DASD (Direct Access Storage Device), takie jak urządzenia pamięci bębnowej lub IBM 2321 Data Cell, mogą nadawać blokom adresy zawierające adres cylindra, chociaż adres cylindra nie wybiera (geometrycznego) cylindrycznego wycinka urządzenia.

HeadsEdit

Urządzenie zwane głowicą odczytuje i zapisuje dane na dysku twardym przez manipulowanie nośnikiem magnetycznym, który tworzy powierzchnię powiązanego talerza dysku. Naturalnie, talerz ma dwie strony, a zatem dwie powierzchnie, na których można manipulować danymi; zazwyczaj na talerzu znajdują się dwie głowice, po jednej na każdą stronę. (Czasami termin strona jest zastępowany terminem głowica, ponieważ talerze mogą być oddzielone od zespołów głowic, jak w przypadku wymiennych nośników stacji dyskietek.)

Adresowanie CHS obsługiwane w kodzie BIOS-ów zgodnych z IBM-PC wykorzystywało osiem bitów dla – teoretycznie do 256 głowic liczonych jako głowica 0 do 255 (FFh). Jednakże błąd we wszystkich wersjach Microsoft DOS/IBM PC DOS do wersji 7.10 włącznie powoduje, że te systemy operacyjne ulegają awarii podczas uruchamiania, gdy napotkają woluminy z 256 głowicami. Dlatego wszystkie kompatybilne BIOS-y będą używać mapowań z maksymalnie 255 głowicami (00h..FEh), także w wirtualnych geometriach 255×63.

Ta historyczna dziwność może mieć wpływ na maksymalny rozmiar dysku w starym kodzie BIOS INT 13h, jak również w starym PC DOS lub podobnych systemach operacyjnych:

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MB, ale w rzeczywistości 512×63×256×1024=8064 MB daje to, co jest znane jako limit 8 GB. W tym kontekście odpowiednia definicja 8 GB = 8192 MB jest kolejnym nieprawidłowym limitem, ponieważ wymagałaby CHS 512×64×256 z 64 sektorami na ścieżkę.

Ścieżki i cylindry są liczone od 0, tzn. ścieżka 0 jest pierwszą (najbardziej zewnętrzną) ścieżką na dyskietkach lub innych dyskach cylindrycznych. Stary kod BIOS-u obsługiwał dziesięć bitów w adresowaniu CHS z maksymalnie 1024 cylindrami (1024=210). Dodając sześć bitów dla sektorów i osiem bitów dla głowic otrzymujemy 24 bity obsługiwane przez przerwanie BIOS 13h. Odjęcie niedozwolonego sektora numer 0 w ścieżkach 1024×256 odpowiada 128 MB dla sektora o rozmiarze 512 bajtów (128 MB=1024×256×(512 byte/sector)); a 8192-128=8064 potwierdza (w przybliżeniu) limit 8 GB.

Adresowanie CHS zaczyna się od 0/0/1 z maksymalną wartością 1023/255/63 dla 24=10+8+6 bitów, lub 1023/254/63 dla 24 bitów ograniczonych do 255 głowic. Wartości CHS używane do określania geometrii dysku muszą liczyć cylinder 0 i głowicę 0, co daje maksymalną wartość (1024/256/63 lub) 1024/255/63 dla 24 bitów z (256 lub) 255 głowicami. W krotkach CHS określających geometrię S oznacza w rzeczywistości sektory na ścieżkę, a gdy (wirtualna) geometria nadal odpowiada pojemności, dysk zawiera C×H×S sektorów. Wraz z pojawieniem się większych dysków twardych, cylinder stał się również logiczną strukturą dysku, znormalizowaną na 16 065 sektorów (16065=255×63).

Adresowanie CHS z 28 bitami (EIDE i ATA-2) pozwala na osiem bitów dla sektorów nadal zaczynających się od 1, czyli sektorów 1…255, cztery bity dla głowic 0…15 i szesnaście bitów dla cylindrów 0…65535. Daje to w przybliżeniu limit 128 GB; w rzeczywistości 65536×16×255=267386880 sektorów odpowiadających 130560 MB dla sektora o rozmiarze 512 bajtów. Bity 28=16+4+8 w specyfikacji ATA-2 są również objęte listą przerwań Ralfa Browna, a stary roboczy projekt tego wygasłego już standardu został opublikowany.

Przy starym limicie BIOS-u wynoszącym 1024 cylindry i limicie ATA wynoszącym 16 głowic łączny efekt to 1024×16×63=1032192 sektorów, czyli limit 504 MB dla sektora o rozmiarze 512. Schematy translacji systemu BIOS znane jako ECHS i poprawiony ECHS łagodziły to ograniczenie, używając 128 lub 240 zamiast 16 głowic, jednocześnie zmniejszając liczbę cylindrów i sektorów, aby zmieścić się w 1024/128/63 (limit ECHS: 4032 MB) lub 1024/240/63 (poprawiony limit ECHS: 7560 MB) dla danej całkowitej liczby sektorów na dysku.

Bloki i klastryEdycja

Społeczności uniksowe używają terminu blok w odniesieniu do sektora lub grupy sektorów. Na przykład linuksowe narzędzie fdisk, przed wersją 2.25, wyświetlało rozmiary partycji przy użyciu 1024-bajtowych bloków.

Klastry są jednostkami alokacji danych w różnych systemach plików (FAT, NTFS itp.), w których dane składają się głównie z plików. Na klastry nie ma bezpośredniego wpływu fizyczna lub wirtualna geometria dysku, tzn. klaster może zaczynać się w sektorze znajdującym się blisko końca danej CH ścieżki, a kończyć się w sektorze na fizycznie lub logicznie następnej CH ścieżce.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.