|
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.
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.
|