Strona główna arrow Adresacja
Adresacja Drukuj
   

Adresacja informacji w dyskach twardych (z ang. HDD – Hard Disk Drive).


W celu zrozumienia adresacji, niezbędna jest minimalna wiedza budowy dysku.

 
Wewnątrz obudowy dysku na jednej osi umieszczony jest jeden (lub więcej) talerzy. Obok nich zamocowane są głowice magnetyczne (Heads) – po jednej na każdą stronę talerza. Każda płaszczyzna talerza podzielona jest na ścieżki (Tracks), a te z kolei podzielone są na sektory (Sectors). Sektor jest najmniejszą, niepodzielną, fizyczną częścią dysku, zajmującą ówcześnie 512 bajtów. Istnieje również pojęcie cylindrów (Cylinders), które opisują grupę ścieżek o tych samych numerach po obu stronach wszystkich talerzy.
(szczegółowy opis w artykule poświęconym budowie dysków)

Pierwsza metoda adresacji danych została wprowadzona na podstawie fizycznych współrzędnych dysku twardego. Określone są one na podstawie trzech zmiennych: numer cylindra, numer głowicy i numer sektora. Zapis i odczyt danych kontrolowany był przez główny procesor komputera i polegał on na ustawieniu głowic magnetycznych na wskazanym cylindrze (C), wybraniu głowicy (H) oraz sektora (S) danych do wykonania żądanej operacji. Stąd ujednolicona nazwa metody – CHS (z ang. Cylinder-Head-Sector). Ponieważ liczba sektorów była taka sama na każdej ścieżce, to podanie tych trzech parametrów w zupełności wystarczało do zapisu i odczytu danych na dysku. Szybko zauważono, że na obrzeżach dysku ścieżki są dłuższe, co poskutkowało zwiększeniem na nich liczby sektorów. Stąd wywodzi się standard IDE (z ang. Itegrated Drive Electronics), który dzięki wbudowanej logice mógł przemapować adresy CHS na prawdziwe adresy sektorów danych.

Wraz z rosnącym postępem technologicznym, wzrastały m.in. pojemności dysków, prędkości obrotowe, szybkości dostępu do danych. I tu powstał jeden z pierwszych problemów w adresacji CHS. Zgodnie z później przyjętym standardem ilość cylindrów wynosiła 0-1023, liczba głowic 0-255 (liczbę wirtualnie zwiększono w celu pokonywania barier pojemności), a liczba sektorów to max. 1-63. Biorąc pod uwagę wielkość sektora (512 bajtów) oraz iloczyn poszczególnych wartości uzyskujemy maksymalny obszar dysku do zapisu o pojemności 7,844 GB.

Problem ten rozwiązano poprzez wprowadzenie adresacji logicznej LBA (z ang. Logical Block Addressing). Zakłada ona kolejne numerowanie poszczególnych sektorów, a dostęp do nich określa za pomocą podania ilości sektorów, jaką dzieli szukany sektor od początku dysku (od sektora 0). Adresacja LBA jest stosowana obecnie we wszystkich nowoczesnych systemach operacyjnych.

Wiele nieporozumień również zaczęło wynikać z przedstawiania pojemności dysków twardych. Rozbieżności te wynikają z opisem dziesiętnym pojemności przez producentów dysków a faktycznemu binarnemu rozmiarowi. Instytut IEEE (z ang. Electrical and Electronics Engineers Inc.) w celu usystematyzowania, wprowadziło unormowane oznaczenia pojemności jak przedstawiono na rysunku.

   

Rys.4_pojemnosc_hdd

  Rysunek 4. Dziesiętny oraz binarny system opisywania pojemności dysków twardych.
Źródło: VS DATA

 

Często spotykanym problemem było również 28-bitowe adresowanie LBA, które pozwalało na zaadresowanie 228 sektorów, czyli obszaru o wielkości 128 GB. Polegał on na ograniczeniach samego interfejsu IDE ATA/ATAPI. To oznaczało, że dysk mógł mieć opisanych maksymalnie 268’435’456 sektorów po 512 bajtów każdy. Niektóre systemy nie radziły sobie z większymi pojemnościami dysków. W systemach Microsoft Windows należało dogrywać odpowiednie narzędzie Service Pack, lub też dodawać odpowiednie wpisy do rejestru. W przypadkach starszych płyt głównych zalecało się zaktualizowanie BIOS. Nową implementację, ATA/ATAPI-6 z obsługą UDMA-133, oraz Serial ATA poszerzono do możliwości adresowania 248 bitów co teoretycznie pozwala na adresowanie 144 Petabajtów danych (144’000’000 GB).

Obecnie systemy stosują 32-bitową adresację, dającą możliwość opisania 2,2 Terabajtowego obszaru danych.

 

Ciekawostki

W pierwszym tygodniu kwietnia firma SanDisk poinformowała, że już niedługo wprowadzi na rynek 32 GB dysk twardy oparty o pamięci flash.