|
Zapis danych binarnych w formie magnetycznej nie jest dokonywany bezpośrednio „bit w bit” – dane przeznaczone do zapisu są kodowane według pewnych algorytmów, których zadaniem jest usprawnienie odczytu, a także zapewnienie większej jednoznaczności zapisu. Kodowanie danych przeznaczonych do zapisu składa się z dwu faz – najpierw do zapisywanych danych dodawane są dane nadmiarowe umożliwiające detekcję i korektę ewentualnych błędów odczytu (CRC – Cyclic Redundancy Code – najprostszy, a zarazem jeden z najefektywniejszych algorytmów wprowadzania danych nadmiarowych dla celów korekcji błędów), następnie zaś wynikowe wartości są przekształcane tak, by uniknąć powtarzania dłuższych ciągów powtarzających się zer czy jedynek.
Historycznie pierwszym systemem kodowania danych był MFM, dziś już zupełnie nie stosowany, wyparty następnie przez kodowanie RLL (Run Lenght Limited) stosowane w dyskach sztywnych do niedawna, a wciąż jeszcze używane przy zapisie na dyskietkach. Obecnie powszechnie stosowaną techniką kodowania danych na dysku jest PRML (Partial Response Maximum Likelihood), która zapewnia największą efektywną gęstość zapisu, a także najniższą stopę błędu odczytu danych. Technika PRML wymaga stosowania w układach sterujących dysku specjalizowanych procesorów o dużej mocy, jednak technologie krzemowe są obecnie na tyle tanie, że uzyskiwane dzięki nim zwiększenie gęstości zapisu z nawiązką wyrównuje nieco wyższy koszt wbudowanej w dysk elektroniki.
MZR - Multiple Zone Recording - zapis wielostrefowy
Nietrudno zauważyć, że w wyniku podziału każdej ścieżki na stałą liczbę sektorów, sektory znajdujące się dalej od osi dysku będą znacznie dłuższe (długość sektorów wewnętrznych jest ograniczona „od dołu” maksymalnym upakowaniem bitów na jednostkę powierzchni). Aby zapobiec ewidentnemu marnotrawstwu, podzielono dysk na kilka stref o określonej liczbie sektorów (od 60 do 120 sektorów na ścieżkę), coraz większej dla stref bliższych obwodowi dysku. Zysk jest ewidentny (o około 25% większa pojemność i wydajność), przy okazji wychodzi na jaw drobne oszustwo: jak to się ma do liczby sektorów na ścieżkę deklarowanej w „Setupie” BIOS? Ano, BIOS mówi swoje, a elektronika dysku po cichu dokonuje przeliczeń...
Mało tego, wewnątrz dysku dzieje się jeszcze coś, o czym ani użytkownik, ani system operacyjny nie mają zielonego pojęcia. Chodzi mianowicie o system obsługi błędów. Oczywiście, dane zapisywane na dysku wyposażone są w dodatkowe informacje umożliwiające funkcjonowanie systemu korekcji „w locie” (ECC on the fly, kodowanie Reed-Solomon itd). Oprócz tego jednak na każdej ścieżce zarezerwowana jest pewna liczba sektorów, które w przypadku pojawienia się fizycznych uszkodzeń nośnika „podstawiane” są przez wewnętrzny mikroprocesor napędu zamiast sektorów wadliwych – dzieje się to całkowicie niezauważalnie dla świata zewnętrznego. Notabene, wewnętrzne układy mikroprocesorowe, w które wyposażone są współczesne napędy, mają moc przetwarzania porównywalną z co najmniej z IBM PC/AT.
|