Antoni |
Wysłany: Śro 13:57, 24 Maj 2006 Temat postu: Kodowanie zapisu na dyskach twardych |
|
Stosowana w dyskach sztywnych technika zapisu nie odbiega od tej, z jaką mamy do czynienia w magnetofonie czy w kartach telefonicznych, a także w dyskietkach. Wytwarzane przez elektromagnetyczną głowicę pole magnetyczne powoduje uporządkowanie domen magnetycznych w nośniku ferromagnetycznym o szerokiej pętli histerezy, a ruch tak zapisanego nośnika w pobliżu głowicy odczytującej powoduje w niej indukcję sygnału elektrycznego, odpowiadającego zapisanym danym. Współczesna technologia do odczytu danych używa, zamiast głowic indukcyjnych, półprzewodnikowych elementów magnetorezystywnych, umożliwiających zwiększenie zarówno odczytywalnej gęstości zapisu, jak i zwiększenie szybkości odczytu.
Tradycyjnie w komputerze PC adresowanie dysku przez przerwanie 13 BIOS-u (INT 13) odbywało się za pomocą trzech parametrów: cylindra, głowicy i sektora (tzw. adresowanie CHS: Cylinder, Head, Sector). Konwencjonalne funkcje INT 13 używały 24 bitów do reprezentacji adresów, zatem możliwe było jedynie zaadresowanie obszaru o pojemności 8,4 GB (224×512 bajtów/sektor = 8,4 GB). W celu przekroczenia tej granicznej wartości producenci wprowadzili dwa nowsze sposoby adresowania. Pierwszy polegał na rozszerzeniu reprezentacji adresu w konwencji CHS do 32 bitów, drugi – częściej stosowany – używał zupełnie odmiennej metody noszącej nazwę LBA. W metodzie LBA (Logical Block Addressing) zastosowano adresowanie 28-bitowe. Dzisiejszym standardem LBA jest adresowanie 48-bitowe.
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:
1. 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),
2. 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. MFM (Modified Frequency Modulation) czyli zmodyfikowana modulacja częstotliwości jest sposobem kodowania informacji stosowanym przy zapisie na nośniku magnetycznym używanym przez większość formatów dysków, dyskietek w latach 80. Obecnie pozostała tylko jako metoda zapisu na dyskietkach 3½", głownie z powodu zachowania zgodności z zapisem na wcześniej zapisanych dyskietkach.
MFM jest modyfikacją metody FM stosowanej przy kodowaniu informacji na dyskietkach pojedynczej gęstości. MFM pozwala na zwiększenie, w stosunku do FM ilości kodowanej informacji przy zadanej częstotliwości maksymalnej sygnału.
Kodowanie informacji odbywa się według zasady: nadawanie jedynki zmienia kierunek prądu głowicy zapisujacej w środku komórki bitowej, nadawanie zera zmienia kierunek prądu na początku ale tylko wtedy gdy poprzednio nadawanym bitem nie była jedynka. W zapisie występują ciągi o dwóch lub trzech czasach jednostkowych o takim samym kierunku prądu. Jeżeli ograniczeniem układu jest maksymalna częstotliwość przenoszenia układu głowicy, to można skrócić dwukrotnie zwiększyć częstotliwość zmian w stosunku do metody FM.
W systemie tym nie występuje proste kodowanie a o sygnale decyduje nie tylko bieżacy ale i poprzeni bit, przy dekodowaniu nie można dokonać dekodowania wprost duża częstotliwość = jedynka, mała = zero (jak FM). Ciąg zer i jedynek wywoła sygnał o takiej samej częstotliwości ale sygnały te będą przesunięte względem siebie (będą miały różną fazę) dlatego układ dekodujący nazywa się pętlą synchronizacji fazy (PLL) i jest to układ bardziej skomplikowany niż dla FM.
"Szybkość" dostępu do danych przy tej metodzie wynosi 250-500 kbit/s przy przemysłowym standardardzie dyskietek wysokiej gęstości 5¼" i 3½". MFM była także używana przez wczesne dyski twarde do czasu pojawienia się metody zapisu RLL. W momencie zmiany systemu kodowania z MFM na RLL, dokonano zmiany elektroniki dysku bez zmiany parametrów talerza i głowic uzyskano wzrost pojemności dysku od 30-50%.
Kodowanie RLL (Run Lenght Limited) zostało wprowadzone przez IBM do zapisu danych na dyskach stacji roboczych. To kodowanie stosowane w dyskach sztywnych, a wciąż jeszcze używane przy zapisie na dyskietkach. W metodzie tej grupy bitów są zamieniane na ciagi innych bitów tak by uzyskać jednoznaczne kodowanie przy ograniczonym minimalnym i maksymalnym czasie bez zmiany sygnału. Zgodnie z tą ideą można uzyskać wiele wersji kodowania, wersje te oznaczane są cyfrowo np. technika RLL 2.7 oznacza, że najkrótszy czas bez zmiany sygnału wynosi 2 takty a najdłuższy 7 taktów. Pierwsza liczba decyduje o maksymalnej częstotliwości jaka wystąpi na głowicy zapisującej (tu częstotliwość taktowania / (2+1)) a druga o minimalnej częstotliwości (maksymalnym czasie między zmianami). Zwiększenie pierwszej liczby umożliwi zwiększenie częstotliwości taktowania przy niezmienionej częstotliwości na głowicy zapisującej, ale wymaga to zwiększenia drugiej liczby. Zwiększenie drugiej liczby oznacza zwiększenie maksymalnych czasów, ale nie można ich zbytnio zwiększać, bo niedokładności w obrotach talerza dysku mogą spowodować nieprawidłowe rozpoznawanie długości sygnału.
TABELA KODOWANIA RLL
bity wejściowe .......... bity wyjsciowe
000 .................... 000100
10 .................... 0100
010 .................... 100100
0010 .................... 00100100
11 ..................... 1000
011 ...................... 001000
0011 ..................... 00001000
W bitach wyjściowych 0 oznacza nie zmieniać kierunku prądu, a 1 zmienić kierunek prądu. Przykładowy 010011 ciąg bitów zostanie rozbity na grupy i zakodowany:
010 - 100100
011 - 000100
Po 100100000100 co odpowiada przebiegowi prądu głowicy ---______---. Do zakodowania 6 bitów wystarczyły 3 zmiany kierunku prądu, dla porównania w metodzie FM maksymalna liczba zmian jest równa 2 na bit, w MFM 1 na bit, a w RLL 1 na 2 zapisywane bity.
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.
Większość napędów jeszcze do niedawna podczas odczytu danych używała techniki zwanej peak detection (wykrywanie wartości ekstremalnych – maksimum siły sygnału). W miarę wzrostu gęstości zapisu rozróżnienie sąsiednich wartości szczytowych sygnału od siebie nawzajem i od tzw. tła stawało się coraz trudniejsze. Problem ten rozwiązywano wstawiając pomiędzy sąsiadujące szczyty („jedynki”) rozdzielające chwile ciszy („zera”). Takie postępowanie sprowadzało się do kodowania zerojedynkowych ciągów za pomocą ciągów bardziej przejrzystych, czyli łatwiej identyfikowalnych, lecz z konieczności dłuższych. To oczywiście obniżało efektywną gęstość zapisu danych, a w konsekwencji także wydajność napędu. Z pomocą przyszła opracowana na potrzeby długodystansowej komunikacji w przestrzeni kosmicznej technologia PRML. Pochodzący z głowicy odczytującej analogowy sygnał jest próbkowany w wielu miejscach, a następnie cyfrowo filtrowany przez wbudowany w elektronikę dysku dedykowany procesor sygnałowy DSP. Uzyskaną w ten sposób próbkę analizuje się algorytmem Viterbi. Sprawdza on wszystkie kombinacje danych, które mogły wygenerować zbliżony ciąg i wybiera tę najbardziej prawdopodobną. Umożliwia to dodatkowe zwiększenie czułości kanału odczytu i istotne zmniejszenie prawdopodobieństwa wystąpienia błędów odczytu. Najlepsze efekty daje połączenie technologii PRML z magnetorezystywną głowicą odczytującą ze względu na dobrą jakość generowanego przez nią sygnału analogowego. Głowica magnetorezystywna MRH wykorzystuje inne zjawisko fizyczne niż głowice, zbliżone konstrukcją do stosowanych w zwykłych magnetofonach. Element czytający MRH jest wykonany z substancji zmieniającej oporność w polu magnetycznym, więc namagnesowanie nośnika bezpośrednio rzutuje na natężenie płynącego przez głowicę MR prądu. Istotną zaletą technologii MR jest większa czułość, pozwalająca na radykalne zwiększenie gęstości zapisu, a co za tym idzie – wzrost pojemności napędu przy zachowaniu jego rozmiarów.
PRML oznacza także inną metodę kodowania danych na dysku: o ile przejście ze starej metody MFM (Multiple Frequency Modulation) na bardziej zaawansowaną RLL (Run Length Limited) oznaczało wzrost upakowania danych o około 50%, PRML daje tu kolejne 20-40% zysku (różne źródła podają różne wartości). |
|