Dyski twarde


Dyski twarde - budowa

Dysk twardy jest pamięcią magnetyczną. W tym przypadku obudowa jest sztywna i niemal hermetycznie zamknięta. Dysków magnetycznych jest kilka, umieszczone są one współśrodkowo jeden na drugi, a cały element jest umieszczony w jednostce centralnej PC. Na dysku stałym przechowuje się dane zapisane metodą magnetyczną. Dyski stałe posiadają specjalne głowice magnetyczne służące do zapisu lub odczytu danych. Nośnikiem magnetycznym jest zwykle specjalny metal (tlenek żelaza) naniesiony na powierzchnię metalowych krążków.

Dysk twardy składa się ze sztywnych krążków (krążek zapisywany obustronnie). Ścieżki na krążkach twardego dysku są umieszczone jedna pod drugą. Krążki kręcą się ze stałą prędkością ok. 4500 obr/min i więcej. Powierzchnie dysku są podzielone na ścieżki, które z kolei składają się z sektorów. Liczbę ścieżek określa producent. Natomiast sektory dysku określane są przez kontroler dysku twardego. Długość każdego sektora, a tym samym ich liczba na ścieżce zależy od formatu (długości danych sektora).

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Właściwym nośnikiem informacji w przypadku dysków twardych jest zestaw koncentrycznie osadzonych krążków. Wymiary talerzy w przypadku rodziny PC wynoszą z reguły 3.5 lub 5.25 cala a w przypadku komputerów przenośnych 2.5 cala. W nowoczesnych konstrukcjach dysków stałych obserwuje się tendencje zmierzające do redukowania liczby talerzy i zmniejszenia ich rozmiarów co posiada wiele zalet:

• Obniżenie kosztów produkcji

• Uproszczenie układu sterowania głowicami

• Wzrost szybkości działania

• Lepsze wykorzystanie nośnika

• Mniejsze opóźnienia przy przełączaniu głowic

• Krótsze czasy pozycjonowania głowic

• Redukcja zniekształceń termicznych

• Mały moment bezwładności (szybszy start)

• Mniejsze zużycie energii

Materiałem z którego wykonane są krążki jest specjalny stop aluminium charakteryzujący się minimalnymi zmianami wymiarów pod wpływem temperatury. Same aluminiowe krążki nie mogą być nośnikami informacji; muszą być pokryte specjalną warstwą mającą właściwości ferromagnetyczne. Warstwa ta musi również spełniać odpowiednie (bardzo wysokie) warunki odporności mechanicznej. Najczęściej jest to kobalt lub ceramiki żelazowe tzw. ferryty. Proces nakładania tej warstwy jest jednym z najbardziej krytycznych i kosztownych etapów produkcji twardego dysku. Ukształtowały się tutaj trzy podstawowe techniki:

1. Rozprowadzanie odśrodkowe

Materiał magnetyczny doprowadzany jest do postaci płynnej poprzez zmieszanie go z odpowiednią substancją nośną. Taką emulsję doprowadza się w pobliże osi wirującego z dużą szybkością dysku, a siły odśrodkowe rozprowadzają równo emulsję po płytach. Grubość uzyskanej warstwy reguluje się dozując odpowiednio emulsję. Tak rozprowadzony materiał podlega obróbce termicznej (wypalaniu) . W fazie końcowej następuje polerowanie powierzchni. Powyższa technika stosowana jest przy produkcji dysków małych i średnich.

2. Technika galwaniczna

Technika ta to elektroliza w solach kobaltu, w której dysk stanowi jedną elektrodę W tej technice wytwarza się warstwa nośnika o grubości 0,2 mikrometra.

3. Napylanie próżniowe

Technologia zapożyczona została od mikroelektroniki cienkowarstwowej i polega na nanoszeniu jonów metalu. Umieszczony w łuku elektrycznym kobalt zostaje rozbity na pojedyncze zjonizowane atomy. Pole elektryczne w komorze próżniowej jest tak ukształtowane, że jony przyciągane są przez dysk na którym osiadają. Tak uzyskana powłoka jest pokrywana grafitem, który stanowi osłonę magnetyczną. W tej technice wytwarza się warstwę nośnika o grubości 0.05 do 0.2 mikrometra.

Ważniejsze elementy budowy dysku stałego to:

ŚLIZGACZ

Jednym z najbardziej odpowiedzialnych elementów składowych dysków twardych jest układ zawieszenia głowicy. W jego składa wchodzi specjalnie ukształtowany ślizgacz przymocowany do płaskiej sprężyny. Sprężyna nośna musi być lekka, mieć odpowiednią charakterystykę mechaniczną i dużą sztywność poprzeczną Typowy kształt takiej sprężyny przedstawia rysunek:

0x01 graphic

Ślizgacz

System ten ma za zadanie utrzymanie głowicy w stałej odległości od powierzchni dysku. Rolę elastycznego bufora oddzielającego te dwa elementy spełnia poduszka powietrzna wytwarzająca się w trakcie pracy.

0x01 graphic

Ślizgacz z głowicą cienkowarstwową

Wyróżniamy dwa rodzaje ślizgaczy:

•dodatni - siły aerodynamiczne odpychają go od powierzchni .Dla zapewnienia stabilizacji wysokości lotu głowicy potrzebna jest silnie działająca sprężyna. Wadą takiego rozwiązania jest to iż, silna sprężyna może powodować uderzenia głowicy o powierzchnie dysku oraz następuje opóźnienie momentu startu głowicy.

•ujemny- siły aerodynamiczne działają w kierunku powierzchni dysku. Ślizgacz ujemny lepiej stabilizuje wysokość lotu głowicy oraz zapewnia tzw. wczesny start (głowica odrywa się od powierzchni dysku praktycznie bezpośrednio po jego starcie).

GŁOWICE

Aby skutecznie zapisać twardy materiał magnetyczny potrzebne są stosunkowo duże wielkości pola przy jednoczesnym zachowaniu małych rozmiarów głowicy .Wymagania dużej gęstości zapisu realizuje się poprzez dobór odpowiedniego kształtu pola oraz możliwie minimalnego odstępu głowicy od powierzchni dysku. Obecnie możemy wyróżnić dwa typy głowic stosowanych w twardych dyskach:

l. Głowice ferrytowe

Są to głowice starszej generacji. Zbudowane były w postaci prostego elektromagnesu w którym zarówno rdzeniem jak i nośnikiem uzwojenia jest sam materiał ferrytowy, wadami tych głowic są:

• ferryt jest materiałem o stosunkowo dużym ciężarze własnym. Głowice miały więc dużą bezwładność co wymagało pozycjonerów o dużych mocach i wydłużało czas dostępu

• uzwojenia wykonywane były w sposób klasyczny poprzez nawijanie cienkiego drutu. Taka technologia produkcji uniemożliwiała dalszą modernizację. Głowica ferrytowa przedstawiona jest na rysunku.

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Szerokość szczeliny magnetycznej

Głowica ferrytowa

2. Głowice cienkowarstwowe

Technologia wytwarzania tych głowic zapożyczona została od technologii stosowanej w cyklu wytwarzania układów scalonych. W technice tej wszystko powstaje jako wynik kolejnego nanoszenia i usuwania różnorodnych warstw materiałów: w zależności od potrzeb mogą to być półprzewodniki, domieszki, metale lub izolatory. Kolejne procesy odbywają się za pośrednictwem tzw. masek, które ograniczają obszar nanoszenia lub usuwania materiału warstwy.

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Głowica cienkowarstwowa

W przypadku głowic cienkowarstwowych uzwojenia wykonuje się poprzez precyzyjne

trawienie napylonej warstwy metalicznej. Uzwojenia są zwykle jedno lub dwuwarstwowe o liczbie zwojów 20-30 odpowiada to indukcji rzędu 600 nH. Szczelinę głowicy stanowi warstwa tlenku krzemu. Również bieguny magnetyczne kształtowane są w procesach napylania i usuwania odpowiednich warstw. Ten sposób wykonania oznacza redukcję wymiarów i wagi głowicy o co najmniej rząd wielkości.

POZYCJONER

Ścisłe upakowanie danych na powierzchni dysku wymusza ogromną precyzję wykonania mechanizmu pozycjonowania głowic. Liczba koncentrycznych cylindrów dysków twardych przekracza we współczesnych modelach 2000 przy średnicy talerza 3.5 cala. Kolejne ścieżki umiejscowione są więc w odległości około 0.002mm. Jeżeli dysk jest wielopłytowy, dochodzą do głosu zniekształcenia termiczne materiału nośnego wywołując mimośrodowość całego mechanizmu wirującego.

Powszechnie stosowane systemy napędowa pozycjonerów można zaliczyć do jednej z trzech grup:

1.Silnik krokowy

2.Silnik liniowy z mechanizmem przesuwnym

3.Silnik liniowy z mechanizmem obrotowym

Ad.1) Silnik krokowy

Wirnik silnika krokowego może przyjmować tylko ściśle określone położenia, oddalone od siebie w równej odległości kątowej. Jeżeli silnik taki potrzebuje np. 100 impulsów do pełnego obrotu osi, możliwe są następujące położenia O, 3.6, 7.2, .....356.4 stopnia. Żadne z położeń pośrednich (np. 5 stopni) nie jest możliwe do uzyskania. Silniki takie mogą pracować w obydwu kierunkach. Oś silnika sprzężona jest z mechanizmem napędowym poprzez przekładnię cierną. Przekładnia zębata jest wykluczona ze względu na luz. Stopień przełożenia całego mechanizmu jest tak dobrany, że pojedynczy skok silnika krokowego przesuwa głowicę na następną ścieżkę.

0x08 graphic
0x01 graphic



Pozycjoner z silnikiem krokowym

Mechanizm ten stosowany był z powodzeniem w dysku ST-255 firmy Seagate.

W modelu ST-251 mechanizm ten był dość zawodny ze względu na brak kompresji

temperaturowej ramienia głowicy.

Ad.2) Silnik liniowy

Współczesne dyski twarde o dużej gęstości zapisu wymagają mechanizmów znacznie bardziej precyzyjnych od silników krokowych dlatego też ich miejsce zajęły różne wersje silników liniowych. Budowa tego typu pozycjonera przypomina układ magnetoelektryczny miernika

0x08 graphic
wskazówkowego.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Pozycjoner z silnikiem liniowym: mechanizm przesuwny

W polu silnego magnesu stałego znajduje się uzwojenie. Ramka z uzwojeniem umieszczona jest na ułożyskowanym (specjalne łożyska ceramiczne) wózku. Do ramki przytwierdzony jest uchwyt trzymający ramiona głowic. Cały zespół ma możliwość poruszania się w takim zakresie, by znajdujące się na końcu ramion głowice obejmowały swym zasięgiem całą aktywną powierzchnię dysku.

Ad.3) Silnik liniowy z mechanizmem obrotowym

Odmiana obrotowa pozycjonera z silnikiem liniowym jest spotykana znacznie częściej w konstrukcjach dysków ze względu na jej zalety. Dzięki mechanizmowi dźwigni ramiona z głowicami osiągają duże przyspieszenia przy minimalnych nakładach energetycznych po stronie uzwojenia daje to widoczne skrócenie czasu pozycjonowania głowic. Niewątpliwą wadą tego typu pozycjonera jest zmienny w stosunku do osi ścieżki kąt położenia głowic.

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Pozycjoner z silnikiem liniowym: mechanizm obrotowy

Cyrkulacja powietrza

Wszystkie dyski twarde posiadają filtr powietrza. Powietrze w takim dysku krąży w obiegu zamkniętym, a filtr służy do wyłapywania drobin pyłów powstałych we wnętrzu obudowy podczas normalnej eksploatacji. Źródłem ich pochodzenia jest naturalne zużycie ruchomych elementów mechanicznych oraz efekty zetknięcia głowic z powierzchnią płyt wirujących i to zarówno te niezaplanowane jak i mające miejsce podczas każdego startu i lądowania głowicy.

0x08 graphic


Porównanie wielkości zanieczyszczeń

Wirujący dysk, porywając cząstki przylegającego powietrza wytwarza zawirowania, które są źródłem pewnej stałej cyrkulacji we wnętrzu obudowy dyskowej. Na drodze tego strumienia umieszcza się właśnie filtr powietrza.

0x01 graphic

Położenie filtru powietrza

Mechanizm parkowania głowic

Głowice dysku, które nie wirują z dostateczną prędkością spoczywają na jego powierzchni. Za każdym razem, gdy uruchamiany jest napęd dysków głowice szlifują powierzchnie tak długo aż wirnik osiągnie pewną minimalną prędkość przy której głowice oderwą się od powierzchni. Proces odwrotny ma miejsce przy wyłączeniu dysku. Dla zabezpieczenia obszaru będącego nośnikiem informacji przed takimi mechanicznymi uszkodzeniami ze strony głowic wspomniany pas startowy umieszcza się w bezpiecznym miejscu. Jest nim na ogół najbardziej wewnętrzny z cylindrów dysku. Cylinder ten zostaje pozbawiony prawa do składowania danych i stanowi tzw. strefę parkowania.

Istnieje kilka sposobów sprowadzania głowicy do strefy parkowania:

• dyski (szczególnie MFM) posiadały specjalny program który wysyłał rozkaz do kontrolera przesunięcia głowic do strefy parkowania

• dyski zostały wyposażone w sprężynę która powodowała odsuwanie głowicy do strefy parkowania

• układ z elektromagnesem. Jest to bardzo pewna i niezawodna konstrukcja. System składa się z zamka i mechanizmu sprężynowego odblokowywanego przy pomocy elektromagnesu. Elektromagnes otwiera zamek i wypuszcza głowicę dopiero po uzyskaniu przez dysk odpowiedniej prędkości wirowania. Przy zaniku napięcia opada kotwica elektromagnesu co wyzwala sprężynę wciągającą pozycjoner do zamka.

Najważniejsze parametry techniczne dysków twardych, dostępnych obecnie na rynku:

-pojemność (od kilku do kilkudziesięciu GB),

-liczba głowic odczytu/zapisu (od kilku do kilkudziesięciu),

-liczba cylindrów (kilka tysięcy) - ścieżki o tych samych numerach na powierzchniach roboczych dysków nazywane są cylindrami,

-średni czas dostępu (kilka milisekund) - na średni czas dostępu

(ang. Average Access Time) składają się dwa elementy: średni czas poszukiwania potrzebny do umieszczenia głowicy na wybranym cylindrze (ang. Average Seek Time) oraz opóźnienie rotacyjne potrzebne do umieszczenia głowicy nad odpowiednim sektorem (ang. Rotational Latency), które przy szybkości dysków równej 7200 obr/min wynosi ok. 4 milisekundy,

-prędkość obrotowa dysku (5400, 7200, 10000 obrotów na minutę),

-szybkość transmisji danych (kilka - kilkadziesiąt megabajtów/sekundę),

-wielkość bufora cache (pamięć buforowa kontrolera dysku:128 KB - 2 MB),

-zasilanie (+12V, +5V),

-moc pobierana (od kilku do kilkunastu watów).

Najważniejsze parametry dysków, interesujące użytkownika to:

-pojemność dysku,

-szybkość transmisji (tzw. transfer lub przepustowość),

-średni czas dostępu.

Partycje dysku twardego


Partycje są to niezależne obszary wydzielone z dysku twardego. Na co dzień widoczne są one dla użytkownika jako osobne, „pełnowartościowe" dyski. Mając więc jeden fizycznie zainstalowany dysk twardy o pojemności np.:10 GB, dzięki rozdzieleniu go na dwie partycje, możemy korzystać np. z dysków C: i D:, po 5 GB każdy.

Często cały dysk zajmowany jest przez jedną partycje, którą zarządza DOS. Wersje DOS-u numerowane poniżej 4.0 nie pozwalały na tworzenie partycji większych niż 32 MB, tak więc wielu użytkowników było po prostu zmuszonych do podziału dysku. Obecnie ograniczeniem nie jest już MS-DOS, który może zarządzać partycjami do 2 GB, ale dwa inne elementy systemu - PC BIOS (oprogramowanie podstawowe, zapisane w pamięci ROM na płycie głównej) i najpopularniejszy obecnie interfejs dysku - IDE. Przestarzałość zarówno jednego, jak i drugiego standardu straszy nie­których, co bardziej wymagających użytkowników, widmem górnej granicy 512 MB pojemności pamięci masowej. W praktyce, duże dyski SCSI współpracują z progra­mami obsługi, które w 99,9% skutecznie i „bezboleśnie" omijają tego typu problemy. Innym, doskonałym sposobem na ominięcie tego ograniczenia jest zakup dysku pracującego w najnowszym standardzie FAST ATA.

Można więc powiedzieć, że obecnie ograniczenia wielkości partycji niemal nie istnieją i o podziale dysku nie decyduje już żadna konieczność, ale względy prakty­czne. Wielu użytkowników uważa za wygodne posiadanie jednej partycji np. do pracy z programami pracującymi pod kontrolą DOS-u, a drugiej dla programów pracujących pod Windows. Osobnych partycji wciąż jeszcze wymagają inne systemy operacyjne, jak np. UNIX czy OS/2. Są one wówczas nazywane „non-DOS" i pozostają „niewido­czne" dla DOS-u (choć partycja DOS-u jest widoczna np. dla OS/2).

Fizyczny dysk twardy

0x08 graphic
0x08 graphic
0x01 graphic
Dysk logiczny (E:)

MS-DOS wymaga, aby jedna jego partycja była partycja główną (primary) i tworzyła zarazem dysk systemowy. Jest to pierwsza tworzona partycja i pierwszy dysk logiczny. Jego symbolem jest zawsze C:. Oprócz tego można utworzyć drugą partycje DOS-u - rozszerzoną (extended), a na niej umieszczać tzw. dyski logiczne. Mogą one być oznaczane literami od D do Z. Zrozumienie różnicy pomiędzy podziałem dysku na partycje i podziałem partycji rozszerzonej na dyski logiczne jest szczególnie ważne w trakcie korzystania z programu Fdisk, który zarządza podziałem na partycje i dyski logiczne. Łatwo o tym rozróżnieniu zapomnieć, gdyż każdy dysk logiczny „wy­gląda" jak osobna partycja. Istnieje również pojęcie partycji aktywnej, czyli tej która w trakcie bootowania systemu służy za dysk systemowy.

Jeżeli pracujemy równocześnie z MS-DOS i innymi systemami operacyjnymi, każ­dy fizyczny dysk twardy musi posiadać partycje DOS-u. Jeżeli posiadamy dwa fizyczne dyski twarde, partycja główna pierwszego ozna­czona jest C:, a drugiego - D:, dalsze symbole literowe (od E: do M:) odpowiadają dyskom logicznym pierwszego dysku fizycznego, a od litery N zaczynają się oznaczenia dysków logicznych drugiego.

Systemy kodowania MFM i RLL

W dyskach elastycznym, zmiana systemu kodowania danych z FM na MFM przyniosła znaczne zwiększenie upakowania danych przy tej samej gęstości zapisu magnetycznego. Nic więc dziwnego, że poszukiwane były nadal metody pozwalające na jeszcze większy wzrost pojemności tego samego nośnika wyłącznie kosztem komplikacji towarzyszącej mu elektroniki. Jednym z takich nowych systemów, któremu udało się ugruntować swoją pozycję, jest standard RLL (ang. Run Length Limited).

Metoda MFM.

Punktem wyjścia do naszych rozważań będzie przykładowy bajt danych o wartości 00101110, reprezentowany przez przebieg (l) na rysunku:

Bajt Danych

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
1 0 0 1 0 1 1 1 0 0

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Zegar MFM

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Dane MFM

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
MFM

0x08 graphic
0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Kod RLL 2,7

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Zegar RLL 2,7

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Dane RLL 2,7

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
RLL 2,7

Sposób zapisu informacji na dysku twardym w standardzie MFM i RLL

Na ciąg wyjściowych impulsów w systemie MFM (3) składała się suma impulsów zegarowych Z (2) oraz impulsów D, pochodzących od strumienia danych (l). Obowiązywała przy tym zasada, że składowe D reprezentowały ustawione bity danych, a składowe Z — tylko te impulsy zegara, które wypadają pomiędzy dwoma kolejnymi wyzerowanymi bitami danych.

Istota kodowania RLL polega na całkowitej rezygnacji ze składowej Z. Układy logiczne dekodera muszą wtedy obliczać, na podstawie odległości dzielących kolejne impulsy, liczbę zer przypadających między nimi. System taki może poprawnie funkcjonować w warunkach rzeczywistych (uwzględniając fluktuacje prędkości obrotowej) jedynie w pewnych granicach, tzn. gdy liczba następujących po sobie zer strumienia danych nie jest zbyt duża. Trudno wymagać od zapisywanych danych, by miały określony skład, a w szczególności by nie zawierały zbyt wielu zer. Można natomiast tak je zakodować, by spełniały narzucone warunki.

W najbardziej rozpowszechnionym wariancie systemu RLL liczba zer zawiera się zawsze w przedziale od 2 do 7. Stąd wywodzi się też nazwa systemu — RLL(2,7). Wejściowy strumień danych poddawany jest więc wstępnie takiemu przekodowaniu, które gwarantuje spełnienie tego wymogu.

Proces ten używa następującej tablicy przekodowani

Tablica przekodowań systemu RLL(2,7)

Dane wejściowe

Dane wyjściowe

000

000100

10

0100

010

100100

0010

00100100

11

1000

011

001000

0011

00001000

Dowolne kojarzenie łańcuchów wyjściowych nie może dać ciągu zawierającego więcej niż 7 lub mniej niż 2 następujące po sobie zera.

Nasz przykładowy bajt danych 00101110 zostaje rozłożony na elementy (0010)+(11)+(10), a tym z kolei przyporządkowuje się odpowiednie łańcuchy z prawej kolumny tablicy. Otrzymujemy ciąg 0010010010000100, reprezentowany przez przebieg (5). Na nośniku magnetycznym utrwalone zostaną (7) jedynie cztery ustawione bity tego ciągu, co wywoła namagnesowanie powierzchni zgodnie z przebiegiem (8).

Nietrudno zauważyć, że stosowana tablica kodowa wydłuża ciąg wejściowy o 100%. Dokładna analiza matematyczna systemu RLL(2,7) dowodzi, że opisane powyżej pomijanie składowej Z prowadzi średnio do trzykrotnej redukcji liczby przemagnesowań nośnika. Efektywna przewaga RLL(2,7) nad MFM wyraża się więc współczynnikiem l. 5. Te dodatkowe 50% jest czystym zyskiem, który owocuje wzrostem pojemności dysku bez konieczności poprawy parametrów głowic lub warstwy magnetycznej. Ponieważ jednak nic nie ma za darmo, płaconą za to ceną jest znaczna komplikacja układów kontrolera.

Stosunkowo rzadko spotykane są pokrewne warianty systemu RLL(2,7) ukrywające się pod wspólną nazwą ARJLL (Adyanced RLL). Do grupy tej należą przykładowo systemy RLL(1,7) i RLL(3,9). Pozwalają one na blisko 90% (jedna zmiana namagnesowania koduje średnio 2 bity danych!) wzrost wydajności w stosunku do metody MFM, ale nakładają dużo ostrzejsze wymagania na precyzję wykonania mechaniki napędu oraz stabilną pracę układów elektronicznych kontrolera.

Fizyczna organizacja danych i formatowanie

Fizyczna organizacja danych zapisanych na ścieżce dysku twardego jest analogiczna jak dla dyskietki. Główna różnica polega na tym, że w obudowie dysku znajduje się nie jeden, lecz kilka talerzy powleczonych warstwą nośnika magnetycznego i obsługiwanych przez odpowiednie zespoły głowic, poruszane jednym mechanizmem. Z tego też względu w przypadku dysków twardych nie mówi się o pojedynczych ścieżkach, lecz tzw. cylindrach, w skład których wchodzą ścieżki o tym samym numerze położone na kolejnych talerzach pakietu. Logika podziału ścieżek na sektory została oczywiście zachowana. Dodatkowo, ponieważ prędkość obrotowa dysku twardego jest znacznie większa niż dyskietki (od 3 do 5 tysięcy obrotów na minutę), ilość informacji odczytywanych przez głowice może przekroczyć przepustowość kontrolera (miało to miejsce głównie dla starszych kontrolerów MFM). Z tego względu odczyt danych z dysku realizowany jest z tzw. przeplotem (ang. Interleave) który polega na niesekwencyjnym odczycie kolejnych sektorów. Ważnym parametrem charakteryzującym zespół dysk-kontroler jest tzw. współczynnik przeplotu (interleave factor, ILV) określający, co który sektor jest odczytywany podczas obrotu dysku. Przykładowo, dla współczynnika przeplotu równego 1:3 odczytywane są sektory l, 4, 7,..., 2, 5, 8,... itd. Technika ta daje kontrolerowi czas na przetworzenie odczytanego sektora, ale jednocześnie znacznie spowalnia proces odczytywania informacji. Z tego też względu dla starszych kontrolerów MFM bardzo istotne było dobranie właściwego współczynnika przeplotu, objawiające się na zewnątrz osiągnięciem maksymalnej przepustowości zespołu dysk-kontroler. Obecnie stosowane kontrolery (głównie IDĘ) są na tyle szybkie, że pozwalają na pracę z przeplotem l :1, tj. odczytuj ą sektory po kolei.

Formatowanie wysokiego poziomu

Tzw. formatowania wysokiego poziomu (ang. high level format) dokonuje wchodzący w skład systemu operacyjnego MS-DOS program format.com.

W przeciwieństwie do dyskietek, polecenie format odnoszące się do dysku twardego nie nanosi na jego powierzchnię ścieżek ani sektorów. Program format.com buduje jedynie logiczną strukturę tzw. partycji. Partycją nazywamy wyodrębniony logicznie obszar dysku twardego, na który składa się pewna liczba przyległych do siebie cylindrów. Obszar taki może być administrowany tak, jak oddzielny, logiczny napęd dyskowy. Każdy taki napęd logiczny (w systemie DOS identyfikowany literą — C, D, E itd.) należy poddać właśnie operacji formatowania wysokiego poziomu, w trakcie którego program format.com zapisuje w obszarze partycji sektor ładujący (boot sector), tablicę alokacji (FAT) i katalog główny. Wszystkie pozycje tablicy FAT inicjalizowane są wartością zero, co oznacza, że cała partycja jest wolna.

Położenie partycji na dysku fizycznym określone jest jednoznacznie przez podanie jej cylindra początkowego oraz liczby cylindrów, na które się rozciąga. Tego rodzaju dane, obejmujące wszystkie zadeklarowane partycje, przechowywane są w tzw. tablicy partycji (ang. partition labie). Program format.com korzysta z tej tablicy, ale nie tworzy jej ani nie modyfikuje. Musi ona być zapisana na dysku przed przystąpieniem do formatowania wysokiego poziomu. Tablicę partycji generuje np. program fdisk.com.

Proszę zwrócić uwagę na fakt, że powtórne formatowanie dysku twardego (celowe lub niezamierzone) nie niszczy w najmniejszym stopniu zapisanej na nim informacji, a jedynie jej logiczną strukturę. Nie oznacza to bynajmniej, że odzyskanie danych jest sprawą banalną, szczególnie gdy były one rozproszone na całym dysku. Niszczona jest informacja o strukturze danych zawarta w FAT, dlatego przechowywanie „rezerwowej" kopii FAT w dodatkowym miejscu dysku pozwala odzyskać dane po formatowaniu.

Formatowanie niskiego poziomu

Operacja nanoszenia na powierzchnię dysku ścieżek, sektorów i wszystkich innych pól dodatkowych nazywana jest formatowaniem niskiego poziomu (ang. Iow level format), inicjalizacją lub preformatowaniem. Zdecydowana większość produkowanych obecnie napędów poddawana jest tej operacji jeszcze u producenta i nie należy jej powtarzać. Kategoryczny zakaz formatowania niskiego poziomu obowiązuje w stosunku do dysków IDE (AT-BUS), których kontrolery, zgodne na poziomie rejestrów z systemem ST412/506 bardzo łatwo się tej operacji poddają. Przy dużej dozie szczęścia tak „potraktowany" dysk będzie jeszcze funkcjonował, często pozornie bezbłędnie. Jeżeli przy okazji formatowania niskiego poziomu została zniszczona jedna z tablic odwzorowania uszkodzonych sektorów (ang. bad sector mapping), wcześniej czy później da to o sobie znać. Najczęściej jednak dostępu do takiego dysku odmawia nawet program fdisk. Z góry skazane na niepowodzenie są również próby „poprawy" współczynnika przeplotu (ang. interleave), bowiem bez względu na to, co meldują programy diagnostyczne (a są na nieszczęście i takie, które dla dysków AT-BUS nie odmawiają działania), współczynnik przeplotu dysków IDE z reguły wynosi 1:1.

Przyjmijmy więc, że struktura ścieżek i sektorów znajduje się już na dysku, a my możemy się jej co najwyżej przyjrzeć. W zależności od systemu kodowania (MFM lub RLL) zmieniają się zawartości niektórych pól, ale ich ogólny układ pozostaje ten sam.

System przechowuje w partycji dwie kopie tablicy FAT, co pozwala na wykrywanie ewentualnych błędów alokacji, nie umożliwia natomiast odzyskania danych po formatowaniu wysokiego poziomu. Do utworzenia kopii bezpieczeństwa obszaru zawierające dane systemowe (FAT, sektor ładujący, katalog główny) należy użyć specjalnego programu, na przykład mirror.com lub Norton DiskTool.

Metody korekcji błędów dysku twardego

W etapie formatowania dysku twardego kontroler dysku formatuje jeden sektor więcej (27 zamiast 26). Taki sposób formatowania pozwala na przesuwanie uszkodzonych sektorów do sektora zapasowego. Dostęp do sektora uszkodzonej ścieżki jest kierowany na sektor ścieżki zapasowej. Przesuwanie sektorów na sektory zapasowe wiąże się z wydłużeniem czasu dostępu do dysku. Zaletą przesuwania sektorów jest brak utraty miejsca na dysku.

Standard IDE i EIDE

Standard IDE zdominował w ciągu ostatnich kilku lat rynek komputerów PC. Jednak w miarę rozwoju technologii dają znać o sobie ograniczenia takie jak:

Standard EIDE ma za zadanie usunięcie tych ograniczeń zapewniając przy tym zgodność ze standardem IDE. Interfejs EIDE różni się od swego poprzednika zwiększoną szybkością przesyłania danych, pokonuje granicę 504 Mb. Standard EIDE wprowadził drugi interfejs IDE wykorzystując przerwanie IRQ 15 i porty skupione wokół adresów bazowych 170 h i 367 h. W każdym kanale można włączyć dwa urządzenia IDE. W sumie można podłączyć cztery twarde dyski, które muszą pracować jako Master i Slave. Może również obsługiwać inne urządzenia, takie jak: CD-ROM, streamery, itp. Standard EIDE rozwiązuje problem ograniczenia pojemności na dwa sposoby:

  1. Metodą LBA - adresowanie liniowe;

2. Metodą XCHS - rozszerzony model CHS.

Metoda LBA

Metoda ta powoduje przenumerowanie wszystkich sektorów, tzn. dokonuje translacji adresów zmieniając rzeczywisty numer głowicy, cylindra i sektora na logiczny odpowiednik. Numer sektora jest obliczany na podstawie wzoru:

LBA=(nr cylindra * liczba głowic na cylindrze + nr głowicy)* liczba sektorów na ścieżkę + nr sektora - 1.

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

Metoda XCHS( Extended Cylinder Head Sector )

Zgodnie z tabelą BIOS może zarządzać dyskiem o pojemności 7,8 GB jeżeli można by było deklarować więcej niż 16 głowic. Z kolei dysk EIDE jest w stanie zaakceptować zwiększoną liczbę sektorów na ścieżce albo cylindrów. W trybie XCHS problem ten zostaje rozwiązany w następujący sposób: jeżeli jako parametr zostanie przekazane więcej niż 16 głowic, to liczba głowic zostanie zredukowana do 16, a w zamian za to zostanie zwiększona liczba cylindrów.

BIOS

EIDE

CHS

LBA/XCHS

Liczba sektorów na ścieżce

63

255

63

63

Liczba głowic

256

16

16

256

Liczba cylindrów

1024

1024

1024

1024

Ograniczenia pojemności dysków

BIOS EIDE

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Standard SCSI

SCIS to mechanizm podłączenia i komunikowania się urządzeń nie korzystających magistrali systemowej ( ISA lub PCI ). Już w samych założeniach odróżnia się od innych stosowanych interfejsów ( COM, IDE ). Podstawową ideą działania SCIS jest korzystanie z niezależnej szyny komunikacyjnej, przypominającą małą sieć komputerową z jednym wydzielonym serwerem - realizuje samodzielne operacje we/wy z zainstalowanym w komputerze kontrolerem głównym oraz pewną grupę kontaktujących się z nim urządzeń. W skład każdego z nich wchodzi moduł kontrolera dostępnego, który odpowiedzialny jest za wymianę danych z szyną. Aby wymiana mogła odbywać się bezkonfliktowo poszczególnym urządzeniom przydzielone są różne identyfikujące je adresy sieciowe (SCSI ID). Istotną właściwością SCSI jest sposób porozumiewania się podłączonych do szyn urządzeń. Kontaktują się one ze sobą za pomocą ściśle określonego zestawu tzw. wspólnych komend sterujących wykorzystywanych zarówno do sterowania procesem transmisji danych jak i komunikatów.

SCSI - 1 - udostępniał on duże możliwości w porównaniu ze standardem IDE. W tym standardzie występowały kłopoty z kompatybilnością urządzeń.

SCSI - 2 - był przewidziany jako interfejs dla dysków twardych; lista rozkazów została zwiększona, co umożliwiło korzystanie z innych pamięci masowych ( CD - ROM i skanery ). Dodatkowe rozkazy to komendy diagnostyczne, które umożliwiają nadzorowanie stanu urządzeń jak i samej szyny SCSI; w standardzie tym przesyłanie danych odbywało się synchronicznie. Zwiększono częstotliwość taktowania szyny ( FAST SCSI ) do 10 MHz. Umożliwia to przesyłanie danych z max. prędkością 9,54 MB/S. Wprowadzono również tzw. szeroką magistralą ( WIDE BUS ) 32 bitową. Pozwoliło to na transmisję nawet do 20 MB/S.

SCSI - 3 - jest to kolejna modyfikacja magistrali SCSI określana jako SCSI - Ultra lub FAST - 20 ; dla wersji 16 bitowej - Ultra Wide lub FAST - 40. Taktowanie magistrali wynosi 20 MHz natomiast prędkość transmisji 40 MB/S. W koncepcji Ultra - 2 zwiększono taktowanie magistrali do 40 MHz, max. szybkość transmisji 80 MB/S, max. długość szyny - 12 m. Kolejna rozbudowa magistrali SCSI - Ultra 3 - max. transfer - 160 MB/S.

Kontroler SCSI stanowi łącze magistrali SCSI z magistralą PC. Pracą magistrali steruje protokół określający sposoby korzystania z szyny SCSI. Każde przyłączone urządzenie posiada swój numer ID. Urządzenie odbiera tylko te informacje, które są poprzedzone jego adresem ID. Linie sygnałowe stanowią łącza asymetryczne lub symetryczne. Fizyczne przyłączenie jednostek do magistrali odbywa się za pomocą 50 - żyłowego przewodu. Każdy koniec magistrali musi być zakończony rezystorami, które zapobiegają odbiciu fali lub powstaniu fali stojącej. Rezystory te powodują zaostrzenie zbocza sygnału i zmniejszają czas ustalenia sygnału. Rezystory obciążające podtrzymują napięcie na magistrali +5 V.

Interfejs asymetryczny pozwala na transmisję do 6 m (50 żył - dla każdego sygnału linia do sygnału i masa - lepsza jakość transmisji, rezystory 130 Ω ). W interfejsie symetrycznym dla każdego sygnału są dwie linie „+” i „- ”, rezystory stosuje się na zewnątrz urządzenia - 122 Ω.

Inicjalizacja systemu (bootowanie)

Kiedy komputer zostaje włączony do sieci lub użytkownik wciska przycisk „Reset", ewentualnie kombinację klawiszy CTRL+ALT+DEL, pierwsze polecenia dla mikroproceso­ra pobierane są z pamięci BIOS ROM, czyli stałej, której zawartość, w przeciwieństwie do pamięci operacyjnej RAM, nigdy nie ulega zmianie. Obejmują one przede wszystkim test poszczególnych elementów systemu i załadowanie systemu operacyjnego.

Jeżeli w stacji A: zostanie wykryta dyskietka, odczytywane są polecenia z jej Boot Sektora, czyli pierwszego sektora ścieżki zerowej położonej na stronie O (strony dyskietki oznaczone są O i l). Jeżeli stacja nie zawiera dyskietki, następuje próba odczytu początkowego sektora dysku twardego. Wiele modeli PC posiada możliwość podania w pamięci CMOS symboli stacji dysków, które mają być przeszukiwane jako pierwsze.

Pierwszy sektor dysku twardego (na ścieżce zerowej strony 0) nosi nazwę Master Boot Sector. Zawiera on krótki program zwany Master Boot Record i informacje o sposobie podziału dysku, zwane tablicą partycji. Na tej podstawie odnajdywany jest Boot Record umieszczony w Boot Sectorze partycji aktywnej. Znajduje się on w drugim sektorze zerowej ścieżki na stronie 0.

Dyskietki nie posiadają Master Boot Sektora, a jedynie Boot Sektor. Wynika to stąd, że stanowią zawsze jedną, nie dzieloną na partycje całość.

Po odczytaniu Boot Recordu odczytywane są dwie tablice alokacji plików (FAT), katalog główny, ukryte pliki systemowe (zwykle IO.SYS i MSDOS.SYS), plik konfiguracyjny CONFIG.SYS, interpreter poleceń COMMAND.COM i plik AUTO-EXEC.BAT (w takiej właśnie kolejności).

POŁOŻENIE

OBIEKT

Cylinder 0, strona 0, sektor 1

Master Boot Sector (MBR) - Master Boot Record

Tablica partycji

Cylinder 0, strona 1, sektor 1

Boot Sector - Boot Record

Cylinder 0, strona 1

Sektor nr 2 i następne

Kolejne 32 sektory

Katalog główny

Pozostałe

Dane

Master Boot Sector

Master Boot Record, zapisany w Master Boot Sectorze, często bywa mylony z tab­licą partycji. Oba te elementy zapisane są w tym samym obszarze, mają jednak odmienne znaczenie. Tablica partycji (Partition Table) zawiera jedynie informacje o podziale dysku. Oprócz niej, w tym samym sektorze znajduje się krótki program zawierający polecenia dla mikroprocesora wykonywane jeszcze przed załadowaniem systemu operacyjnego. To właśnie zastąpienie oryginalnej zawartości Master Boot Recordu przez kod wirusa umożliwia mu przejęcie kontroli nad systemem. Może to nastąpić wyłącznie w trakcie bootowania systemu, gdyż tylko wtedy program zawarty w Master Boot Recordzie jest uruchamiany.

Master Boot Record tworzony jest przez program Fdisk, służący do konfigurowania dysku. Dopiero po tym możliwe jest zapisanie na nim jakichkolwiek informacji. Dyskietki nie mają podobnego obszaru dysku, nigdy też nie wymagają podobnej jak twardy dysk konfiguracji (o ile dyskietki formatujemy tylko raz, dysk twardy wymaga kolejno: formatowania niskopoziomowego, podziału na partycje i formatowania sa­mych partycji).

Tablica partycji obejmuje informacje o liczbie i wielkości partycji, położeniu i typie Boot Sectora każdej z nich oraz partycji aktywnej. Dane te umożliwiają odczytanie Boot Recordu dysku systemowego. Jeżeli nie jest wyznaczona partycja aktywna, bootowanie z dysku twardego nie jest możliwe. Informacja o każdej partycji zajmuje 13 bajtów.

Ostatnią parą bajtów Master Boot Sectora jest sygnatura 55AA (heksadecymalnie). Oznacza ona, że zawartość sektora jest poprawna.

Położenie Master Boot Recordu nie może zostać zmienione, tak więc ścieżka O jest testowana ze szczególną dokładnością. Jej uszkodzenie całkowicie uniemożliwia ko­rzystanie z dysku. Jest ona zresztą na nie bardziej podatna również z tego względu, że odczyt z niej dokonywany jest regularnie, przy każdym uruchamianiu systemu.

Odświeżenie zawartości Master Boot Recordu umożliwia polecenie: fdisk /mbr

Zapisuje ono powtórnie pierwsze 224 bajty na podstawie wzorca, w jaki wy­posażony jest program Fdisk i informacji o dysku znalezionych w pamięci. Nie niszczy przy tym żadnych informacji o podziale dysku ani danych, natomiast usuwa z tego obszaru ewentualne wirusy. W praktyce, jeżeli spodziewamy się obecności wirusa, należy wydać to polecenie po uruchomieniu systemu z zabezpieczonej dyskietki systemowej.

Boot Sector

Podobnie jak program w Master Boot Recordzie, jedynym przypadkiem, gdy uru­chamiany jest program zawarty w Boot Sectorze, jest inicjalizacja systemu. Zawiera on także szczegółowe informacje o dysku logicznym, którego jest częścią.

Pierwsze trzy bajty (E9 XX XX lub EB XX 90) zawierają polecenie skoku do programu ładującego system operacyjny (bootstrap program). Poprzedzają ten pro­gram następujące dane:

Nazwa OEM (Original Equipment Manufacturer). Jest to 8 bajtów zawiera­jących informacje o systemie operacyjnym, przy użyciu którego dysk został sfor­matowany Może to być „MSDOS 6.2", „IBM", „COMPAQ" itp. Prawie żaden pro­gram tego nie wykorzystuje i można umieścić w tym miejscu np. „BUM-BUM".

Liczba bajtów w sektorze dysku. Dwa bajty, które zwykle zawierają wartość 512, bo taka jest standardowa wielkość sektorów.

Liczba sektorów w bloku (ciuster). Jeden bajt, będący zawsze potęgą liczby 2. Dla dyskietek wynosi zwykle l lub 2, dla dysków twardych - 4 lub 8.

Sektory zarezerwowane. Jeden sektor dysku jest zawsze zarezerwowany na Boot Record. Jeżeli określony typ twardego dysku wymaga większej liczby sektorów do specjalnych zastosowań, informacja o nich może być zapisana w umieszczanych tutaj dwóch bajtach. Podana liczba sektorów zostanie pominięta przy wyszukiwaniu pierwszej kopii FAT-u (tablicy alokacji plików).

Liczba tablic alokacji plików. Jednobajtowa liczba, która praktycznie zawsze wynosi 2. Druga kopia FAT-u jest zabezpieczeniem na wypadek, gdyby pierwsza uległa uszkodzeniu.

Liczba wpisów w katalogu głównym. Dwa bajty określające długość katalogu głównego. Dla dyskietek o podwójnej gęstości zapisu wartość ta wynosi 112, dla dyskietek o wysokiej gęstości - 224, dla dysków twardych - 512. Każda pozycja katalogu zajmuje 32 bajty.

Liczba sektorów na dysku. Dwa bajty opisujące wielkość dysku, jeżeli mieści się ona w granicach 32 MB. W przypadku większego dysku, zapisane jest tu O, a wielkość dysku podana jest nieco dalej. Ten archaiczny sposób zapisu wynika z potrzeby kompatybilności ze starszym oprogramowaniem.

Bajt określający rodzaj dysku. Informacja często wykorzystywana, głównie przez sterowniki urządzeń, także w celu sprawdzenia, czy dyskietka w stacji została zmieniona.

• FO 1,44 MB, 2,88 MB lub inny dysk

• F8 dysk twardy

• F9 1,2 MB lub 720 KB

• FA 320 KB

• FB 640 KB

• FC 180 KB

• FD 360 KB lub dysk o średnicy 8"

• FE 160 KB lub dysk o średnicy 8"

• FF 320 KB

Liczba sektorów FAT-u (tablicy alokacji plików). Dwa bajty określające wiel­kość FAT-u. Zależy ona od wielkości dysku. Każdym dwóm bajtom tablicy alokacji odpowiada jeden blok sektorów na dysku (ciuster).

Liczba sektorów na ścieżkę. Dwa bajty zawierające informacje o liczbie sekto­rów przypadających na ścieżkę dysku.

Liczba głowic zapisu i odczytu. Dwa bajty przyjmujące wartość 2 dla stacji dysków i różne dla dysków twardych - w zależności od liczby głowic.

Liczba sektorów ukrytych. Cztery bajty zawierające informacje o sektorach ukrytych. Zwykle posiadają je tylko dyski twarde.

Liczba sektorów na dysku większym niż 32 KB. Są to cztery bajty pozwalające określić wielkość dysku na podstawie liczby znajdujących się na nim sektorów.

Bajt pierwszego dysku twardego. Jeżeli dysk jest pierwszym dyskiem twardym, umieszczona jest tu wartość 80h, jeżeli nie - 0.

Tzw. bajt zarezerwowany. Oznacza to, że nie jest on wykorzystywany (zawiera wartość 0).

Sygnatura. Wartość 29h, służąca do identyfikacji i kontroli poprawności Boot Sectora.

Numer seryjny dysku. Jest to wartość wyróżniająca pojedynczy egzemplarz dys­ku spośród wszystkich innych tego samego typu.

Etykieta dysku. Jedenastobajtowa etykieta dysku ustalana poleceniem DOS-u labę l, lub w trakcie formatowania.

Typ FAT-u. Zależnie od rodzaju tablicy alokacji plików zawiera tekst FAT12 (12-bitowa) lub FAT16 (16-bitowa tablica alokacji) i trzy spacje (czyli wartości równe 32).

Dopiero po tych wszystkich danych następuje wspomniany bootstrap program, doprowadzający do przeniesienia powyższych informacji do pamięci oraz powodujący odczytanie tablic alokacji plików, katalogu głównego, ukrytych plików systemowych (DBLSPACE.BIN/DBLDRIVE.BIN, IO.SYS, MSDOS.SYS), a w dalszej kolejności CONFIG.SYS, COMMAND.COM i AUTOEXEC.BAT. Boot Sector kończą dwa bajty o wartościach 55AAh (heksadecymalnie).

Zmianę zawartości Boot Recordu umożliwiają specjalne programy dające bez­pośredni dostęp do systemowych obszarów dysku, jak np. Disk Editor, wchodzący w skład pakietu narzędziowego Norton Utiiities. Natomiast odczytanie podstawo­wych informacji umożliwia polecenie DOS-u: chkdsk

Każdy dysk twardy lub dyskietka zawierają Boot Record. Jest on tworzony po­leceniem format.

Gdy bootstrap program nie odnajdzie plików systemowych, wyświetla znany chyba każdemu

użytkownikowi komunikat:

Non-system disk or disk error. Replace and press any key when ready.

Zwykle jest on powodowany pozostawieniem przypadkowej - niesystemowej dys­kietki w stacji podczas restartu komputera. Jest to zaniedbanie o tyle niebezpieczne, że wiele wirusów właśnie w takim momencie aktywizuje się. Jest to możliwe dzięki zamianie programu w Boot Sectorze na kod wirusa, który po załadowaniu do pamięci wywołuje standardowy, uspokajający komunikat o konieczności wymiany dyskietki. Praktycznie zawsze po ujrzeniu tego komunikatu, należy dla własnego dobra urucho­mić program antywirusowy.

FAT (Tablica Alokacji Plików)

Kolejne sektory po Boot Recordzie zajmują dwie tablice alokacji plików (FAT - File Allocation Table), tworzone również w trakcie formatowania. Są to małe bazy danych zawierające informacje o położeniu poszczególnych plików na dysku. Jest ono określane przy pomocy tak zwanych bloków (ciusters). Druga tablica alokacji jest zabezpieczeniem na wypadek uszkodzenia pierwszej.

Każdemu blokowi odpowiada liczba w FAT-cie, która wskazuje kolejny blok tego samego pliku, ewentualnie informację, że jest to jego koniec. Tak więc można na jej podstawie odnaleźć każdy plik znajdujący się na dysku, ale bez żadnych informacji ani o jego nazwie, ani o jego położeniu w katalogu. Poszczególne katalogi muszą więc zawierać nazwę pliku i numer pierwszego bloku. Pozostałe odnajdywane są na podsta­wie danych zawartych w FAT-cie. Dzięki takiemu rozwiązaniu możliwe jest dzielenie plików na fragmenty, co znacznie ułatwia pełne wykorzystanie wolnej przestrzeni.

Pierwsze dwa bajty (pierwszy wpis) FAT-u zawierają identyfikator rodzaju dysku, identyczny jak w Boot Recordzie, oraz wartość FFh, czyli 255. Jest to tak zwany wpis zerowy. Kolejne dwa bajty, czyli wpis pierwszy, zawierają również wartości FFh. Dopiero wpis 2 jest właściwą zawartością FAT-u. Podobnie DOS rozpoczyna numero­wanie bloków (ciusters) zawierających dane od numeru 2. Wpisy mogą zawierać na­stępujące informacje o blokach i ich wykorzystaniu:

wartość

Znaczenie

0000

Wolny blok

FFFO-FFF6

Blok nie będący częścią pliku, ale zajęty (zwykle przez program)

FFF7

Blok uszkodzony (bad ciuster)

0002-FFEF

Dalszy ciąg pliku znajduje się w bloku...

FFF8-FFFF

Ostatni blok pliku

Dyski, na których znajduje się mniej niż 4086 bloków (15 MB), mają 12-bitowe tablice alokacji, używane wówczas wartości nieco się różnią, ale ich znaczenie jest analogiczne.

Przyjęcie takiego rozwiązania, gdzie system operacyjny musi zostać poinformowa­ny o położeniu każdego następnego sektora pliku, bierze się stąd, że dość często nie są one położone kolejno. Jedynie pierwsze pliki, jakie trafiają na dysk, nie wymagają podziału na mniejsze fragmenty. Wówczas są one zapisywane w sektorach następują­cych bezpośrednio po sobie. Jednakże już po kilku pierwszych operacjach kasowania wolna przestrzeń na dysku przestaje być ciągła. Dalsze zapisywane na dysk pliki trafiają w „dziury" po plikach uprzednio usuniętych. Umieszczenie na dysku większych plików wymaga wówczas podzielenia ich na fragmenty. W związku z tym konieczne jest również zapisanie informacji o tym, czy kolejna część pliku zapisana jest w sektorze następującym po właśnie odczytanym czy też w zupełnie innym miejscu dysku.

Szybkość dysku twardego

Szybkość wykonywania operacji, w których wykorzystywany jest dostęp do pamięci masowej ma znaczenie niebagatelne. Jak większość zagadnień dotyczących konfiguracji PC, znaczenie ma nie tylko omawiany element, ale całe jego otoczenie, zarówno sprzętowe, jak i programowe.

Czas dostępu

Podstawowym parametrem stosowanym do oceny szybkości dysku jest średni czas dostępu (auerage access time). Ma on dwie składowe: średni czas poszukiwania (auerage seek time) i opóźnienie rotacyjne (rotational latency).

Średni czas dostępu jest informacją o tym, jak długo przeciętnie trwa wyszukanie znajdujących się na dysku danych. Wraz z opisywanymi dalej wartościami czasu przeskoku na sąsiednią ścieżkę i szybkością przesyłania danych wchodzi w skład podstawowych parametrów określających sprawność dysku. Jej waga bierze się stąd, że dane, z jakich korzysta program, praktycznie nigdy nie są umieszczane w jednym ciągłym obszarze dysku, ale w częściowych porcjach, z których każda musi zostać osobno wyszukana. Nie wystarcza jedynie odnalezienie początku pliku i rozpoczęcie jego transmisji. Żaden program nie korzysta z jednego tylko pliku, a i każdy z wyko­rzystywanych może ulec fragmentacji. Poszukiwanie musi odbyć się wówczas kilka­krotnie, dla każdego fragmentu oddzielnie. Powoduje to, że w praktyce znaczenie czasu dostępu jest dosyć duże, zwłaszcza że jest on podawany przez producentów dużo bardziej rzetelnie niż omawiana dalej tzw. szybkość przesyłania danych.

Czas poszukiwania

Jest to okres, jaki zajmuje głowicy dysku przemieszczenie do wybranej ścieżki. Przypomina to w dużej mierze ruchy głowicy tradycyjnego gramo­fonu nad powierzchnią płyty, kiedy przesuwaniem ramienia kieruje własnoręcznie sam użytkownik. Łatwo zauważyć, że czas, jaki zajmuje przesunięcie zależy od od­ległości ścieżki, nad którą głowica się znajduje się na początku, od ścieżki poszuki­wanej. Jeżeli głowica znajduje się nad ścieżką nr 2, znacznie dłużej będzie trwało jej przesunięcie do ścieżki nr 200 niż do ścieżki nr 3. Głowica przemieszcza się czasem o jedną ścieżkę, czasem o kilkaset. Średni czas poszukiwania jest to średnia wartość wyliczona dla różnych przemieszczeń głowicy. Czas poszukiwania i średni czas po­szukiwania mierzone są w tysięcznych częściach sekundy, czyli milisekundach (ms).

Czas poszukiwania zależy od szybkości pozycjonowania głowicy i liczby cylindrów dysku. Większa liczba cylindrów oznacza dla głowicy większą odległość do pokonania. Wynika więc stąd, że średni czas poszukiwania jest zwykle krótszy dla dysków z mniejszą liczbą cylindrów. Jednak, o czym często się zapomina, nie tylko czas poszukiwania ma znaczenie dla czasu dostępu. Dodatkowym czynnikiem jest opóźnienie rotacyjne (latencja).

Opóźnienie rotacyjne

Kie­dy już odnaleziona zostaje właściwa ścieżka (cylinder), głowica zwykle znajduje się akurat w tym momencie nad niewłaściwym sektorem dysku. Przy dwudziestu czte­rech sektorach jej szansę na właściwą pozycję są znikome i mają się jak l do 24. Dysk twardy nieustannie obraca się, a więc po krótkim czasie odczyt może zostać rozpoczęty. Łatwo jednak obliczyć, że długość tego oczekiwania jest nie do pominię­cia. Typowy dysk obraca się z prędkością 3600 obrotów na minutę. Skoro więc jeden obrót trwa 1/60 sekundy, to opóźnienie rotacyjne waha się w granicach od O do prawie 1/60 sekundy. Średnie opóźnienie rotacyjne wynosi więc (w przybliżeniu) połowę czasu trwania jed­nego obrotu - 1/120 sekundy, czyli 8 milisekund. Opóźnienie rotacyjne jest zatem równie ważne jak czas poszukiwania.


Głowica w położeniu

początkowym i poszukiwany sektor

Głowica przesuwa się nad właściwą ścieżkę - czas poszukiwania

Głowica oczekuje na właściwe położenie poszukiwanego sektora - latencja


0x01 graphic

0x01 graphic

0x01 graphic


Wielu sprzedawców, świadomie lub nieświadomie, zapomina o „drobnej" różnicy między średnim czasem poszukiwania, a średnim czasem dostępu. Uzyskują dzięki temu wartości, które pozornie są dla klienta bardzo zachęcające. Samo więc okre­ślenie „tyle a tyle milisekund" nie jest więc wystarczające do oceny szybkości dostę­pu do danych na dysku. Dodanie 8 ms do wartości podawanych w reklamach może znacznie ostudzić początkowy zapał do robienia zakupów. Należy więc wspomnieć, że napędy o prędkości obrotowej 5400 obr./min zapewniają opóźnienie rotacyjne rzę­du 5 milisekund.

Czas przejścia głowicy ze ścieżki na ścieżkę

Wartością równie ważną, jeżeli nie ważniejszą od średniego czasu dostępu, jest czas przejścia głowicy ze ścieżki na ścieżkę. Trzeba wyraźnie stwierdzić, że w praktyce wartość nazywana średnim czasem dostępu okazuje się znacznie dłuższa niż rzeczy­wisty czas wyszukania właściwej ścieżki dysku. Wynika to stąd, że odwołania pro­gramów do dysku nie dotyczą zwykle losowo rozrzuconych po całej jego powierzchni obszarów. Zwykle program odwołuje się wielokrotnie do jednego obszaru dysku, na którym umieszczone zostały wykorzystywane przez niego dane. Ogranicza się on zwykle do jedynie małej grupy cylindrów. Znacznie ważniejszy jest wówczas czas przesuwania głowicy pomiędzy ścieżkami umieszczonymi obok siebie.

Należy zaznaczyć, że czas dostępu nie zmienia się liniowo, w zależności od liczby ścieżek. Pomnożony przez 100 czas przeskoku na sąsiednią ścieżkę jest znacznie dłuższy niż rzeczywisty czas przesunięcia głowicy o 100 ścieżek. Dla zdobycia kom­pletu informacji o dysku potrzebna jest więc i ta wartość.

Szybkość przesyłania danych

Kiedy już upłynie czas dostępu do danych, rozpoczyna się właściwy proces odczytu lub zapisu informacji na dysku. Głowica rozpoczyna wówczas przesyłanie zawartości kolejnych sektorów do kontrolera, ten z kolei przekazuje je kontrolerowi magistrali rozszerzeń, poprzez którą trafiają do procesora. W przypadku zapisu kolejność jest odwrotna. Szybkość, z jaką dane są odczytywane lub zapisywane na dysku, nie jest duża w porównaniu z szybkością działania reszty systemu i to właśnie sprawia, że nie tylko wyszukanie informacji, ale i jej transmisja powinna odbywać się w miarę możliwości jak najszybciej. Szybkość przesyłania danych jest jednym z podstawowych parametrów sprawno­ściowych dysku. Jest przy tym niemal równie ważna jak czas dostępu. W przypadku dużych zbiorów danych, do których dostęp nie jest dokonywany losowo, ale są one odczytywane i zapisywane w dużych porcjach, szybkość transmisji ma wręcz kluczowe znaczenie. Informacje o niej są najczęściej łatwe do uzyskania, ale warto jednocześnie orientować się, co ma na nią największy wpływ.

Podstawowym czynnikiem wpływającym na szybkość odczytywania i zapisywania danych jest liczba bitów danych, jaka w jednostce czasu przesuwa się pod głowicą. Jeżeli dysk wiruje wolno lub na ścieżce znajduje się niewielka liczba sektorów, trans­misja danych odbywa się stosunkowo powoli. Stąd też, w miarę rozwoju technologii dysków twardych, na jednej ścieżce umieszczano coraz więcej sektorów. Dyski MFM, stosowane w komputerach XT, miały zawsze 17 sektorów, obecnie ich liczba może już sięgać stu. Nieco wolniejszy jest postęp w zwiększaniu szybkości obrotowej. Od 10 lat większość dysków twardych wiruje z szybkością 3600 obrotów na minutę, nowsze zapewniają 5400 obrotów.

Przeglądając wyniki różnego rodzaju testów, jak również reklamy, łatwo można stracić orientację, jaka szybkość jest duża, a jaka mała. Mówi się, że dobry dysk zapewnia prędkość przesyłania przekraczającą l MB/s, gdy tymczasem wyniki testów wskazują niekiedy na wartości poniżej 100 KB/s. Różnice nie są jednak tak duże, jak mogłoby się wydawać. Producent podaje zwykle nominalną wartość, czyli najszybszą, jaką dysk w ogóle może uzyskać. Natomiast same testy działają różnie. Niektóre dokonują pomiarów podobnie jak producent, niezależnie od rozłożenia informacji na powierzchni dysku, inne działają na małych blokach, z których każdy wymaga również wyszukania. Wniosek stąd, że wyniki osiągnięte przez dwa różne programy testujące są zupełnie nieporównywalne, a za orientacyjne można przyjąć te liczby, które podaje producent (wszyscy producenci podają wartość maksymalną). Oczywiście w praktyce szybkość transmisji będzie znacznie mniejsza.

Cache (pamięć podręczna)

Techniką znacząco optymalizującą wykorzystanie dysku twardego jest tzw. cache, czyli pamięć podręczna. Działa ona na podobnej zasadzie jak opisana wcześniej pa­mięć podręczna procesora i służy zniwelowaniu różnic w szybkości przesyłania da­nych do i z dysku twardego w porównaniu z innymi elementami systemu.

Jak wiadomo, dysk twardy jest urządzeniem mechanicznym. Wynikiem tego jest jego niewielka (w porównaniu z np. pamięcią operacyjną) szybkość dostępu i przesy­łania danych. Średni czas dostępu do danych na dysku twardym wynosi przeciętnie 8-16 ms, a prędkość transmisji 1-4 MB/s, podczas gdy dla stosunkowo wolnych ukła­dów pamięci dynamicznej RAM (z jakich zbudowana jest pamięć operacyjna) wartości te wynoszą odpowiednio 60-80 ns i 40-100 MB/s. Różnica jest zatem wyraźna.

Istnieje więc silny trend do takiego projektowania programów, aby operacje od­czytu i zapisu na dysku ograniczyć do minimum. W praktyce jednak jest to nie do uniknięcia. Programy muszą sięgać do wielkich zbiorów danych, a rozbudowa pamięci operacyjnej jest stosunkowo droga. Typowym rozwiązaniem tego problemu jest zasto­sowanie specjalnego bufora dysku, który będzie pracował z szybkością równą lub zbliżoną do pamięci operacyjnej. Bufor ten nie może oczywiście przechowywać wszy­stkich znajdujących się na dysku danych, ale jedynie te najbardziej potrzebne. Jego wielkość ogranicza koszt zastosowanych do jego budowy układów.

Jeżeli bufor (cache, pamięć podręczna) dysku ma zapewniać parametry transmisji i dostępu do danych porównywalne do pamięci operacyjnej, musi on być zbudowany z podobnych układów pamięci RAM. Stosuje się więc dwa rozwiązania. Pierwszym z nich jest wyodrębnienie części pamięci operacyjnej. Rozwiązanie to nazywamy pro­gramowym, gdyż dostępne jest każdemu użytkownikowi, niezależnie od posiadanej konfiguracji sprzętowej. Jego realizację zapewnia specjalny program. Druga metoda polega na wyposażeniu kontrolera dysku w pewną ilość pamięci RAM. Metoda ta jest nazywana sprzętową, gdyż wymaga specjalnego kontrolera dysku, a zainstalowana w nim pamięć podręczna jest „niewidoczna" dla oprogramowania.

Zasada działania bufora dysku polega na tym, że gdy program żąda odczytu z dysku, wraz z żądanymi danymi odczytywana jest cała ścieżka (i ewentualnie kilka sąsiednich), na której się znajdują. Całość trafia do pamięci podręcznej i dopiero z niej wymaganą część odczytanych informacji pobiera program. Kiedy ponownie pojawia się żądanie odczytu, najpierw przeszukiwana jest zawartość bufora. Gdy potrzebne dane zostaną odnalezione, następuje tzw. trafienie (cache hit) i korzystanie z powol­nego dysku przestaje być konieczne. Jedynie w przypadku, gdy program sięga do obszaru dysku oddalonego od początkowego, następuje typowa operacja odczytu z pa­mięci masowej. Wówczas ponawiana jest operacja kopiowania całej ścieżki (lub kilku) do pamięci podręcznej. Często podobnie buforowane są operacje zapisu. W praktyce, buforowanie dysku pozwala na zmniejszenie liczby dostępów do dysku o 60-90%, a przyspieszenie pracy systemu jest nie do pominięcia (nawet kilkukrotne).

Najczęściej stosowanym systemem jest cache programowy, oparty na dołączanym do DOS-u programie SMARTDrive. Efektywność tego rozwiązania jest wysoka, a do­datkową zaletą jest to, że aby powtórnie odczytać dane przesłane z dysku do pamięci podręcznej, nie jest wymagana transmisja stosunkowo wolną szyną rozszerzeń. Tak więc, gdy stosujemy bufor dysku umieszczony w pamięci operacyjnej, jedynym ogni­wem spowalniającym dostęp do danych jest program obsługi.

Droższym rozwiązaniem jest cache sprzętowy, wymaga bowiem wyposażenia w specjalny kontroler dysku. Przyspieszenie, jakie oferuje, jest mniejsze od bufora umieszczanego w pamięci operacyjnej, gdyż podobnie jak dysk twardy od procesora oddziela go szyna rozszerzeń - w wielu komputerach 16-bitowa i zwykle taktowana zegarem 8-10 MHz. Dostęp do pamięci operacyjnej odbywa się kanałem 32-bitowym, z wykorzystaniem częstotliwości taktowania procesora (w procesorach DX2, dwukrot­nie mniejszą). Różnica jest więc znacząca. O zastosowaniu tego rozwiązania decydują jednak inne jego cechy.

Domeną bufora sprzętowego są środowiska sieciowe i wielozadaniowe. Jego głów­ne atuty to pełna niezależność od procesora głównego i ścisłe powiązanie z dyskiem. Wyposażone w cache kontrolery dysku zaopatrzone są w procesory o mocy porówny­walnej z procesorami głównymi komputerów PC. Historycznym przykładem może być układ 80186, będący rozbudowanym 8086 (IBM PC XT) i niemal dorównujący 80286 (IBM PC AT). Powstaje więc pewnego rodzaju system dwuprocesorowy, dzięki któremu procesor główny zostaje nie tylko uwolniony od zarządzania buforem, ale i komuni­kacja z dyskiem ulega uproszczeniu. Specjalizowany procesor stosuje przy tym za­awansowane techniki zarządzania dyskiem, na co pozwala mu związanie z konkret­nym jego modelem. Jest to szczególnie ważne w systemach sieciowych i wielozada­niowych, gdzie żądania dostępu do dysku przychodzą „z różnych kierunków". Zasto­sowanie dysku ze specjalizowanym kontrolerem może wówczas uwolnić od kupowania procesora Pentium, pozwalając pozostać przy 486.


Podsumowując, cache programowy jest rozwiązaniem najlepszym dla systemów jednostanowiskowych. Prawie zawsze okazuje się on wówczas lepszym rozwiązaniem, nawet gdy pracujemy w środowisku Windows. Natomiast dla serwera sieciowego, dla którego odciążenie procesora głównego jest bar­dzo ważne, korzystniejszy jest cache sprzętowy. Nie bez znaczenia przy dokonywaniu wyboru jest cena. Dość dobry cache programowy zapewnia zarówno DOS, jak i Win­dows, podczas gdy specjalny kontroler może się w wielu przypadkach okazać wydat­kiem niepotrzebnym lub dającym jedynie minimalne korzyści. Równoczesne zastoso­wanie obu metod bardzo rzadko przynosi korzyści, choć istnieją na rynku kontrolery (np. wiodącej firmy DPT), które inteligentnie łączą je w spójny i wydajny system.

Należy również stwierdzić, że spośród dostępnych obecnie rozwiązań zarówno sprzętowych, jak i programowych, wszystkie utrzymują się na bardzo podobnym poziomie pod względem sprawności (nawet różnice pomiędzy obiema grupami nie są duże). Różnice sięgają co najwyżej do 10%, pod warunkiem zachowania identy­cznej konfiguracji komputera. Za optymalną wielkość bufora można uznać 2 MB. Dalsza rozbudowa ma znaczenie minimalne do momentu, gdy nie korzystamy z programów przechowywanych na dyskach sieciowych. Przy konfigurowaniu pa­mięci podręcznej nie wolno zapomnieć o buforowaniu zapisu, co znacznie podwyższa jej efektywność.

Uzwojenie

Ramię Głowicy

Głowica ferrytowa

Linie sił pola Magnetycznego

Nośnik Magnetyczny

Poduszka powietrzna

Oś silnika krokowego

Uzwojenie

Głowica

Magnes stały

Łożyska

Prowadnice

Głowica

Magnes stały

Uzwojenia

3 μm

Uzwojenie

0x01 graphic

0.3 μm

Nr cylindra

0 - 1023

Nr głowicy

0 - 255

Nr sektora

1 - 63

Nr cylindra

0 - 65535

NR GŁOWICY

1 - 15

Nr sektora

1 - 255

LOGICZNY NR SEKTORA

Partycja główna (C:)

Dysk

logiczny (D:)

ŚCIEŻKA 0

ŚCIEŻKA1023

SEKTOR

1

2

3

4

5

6

7

8

Nr cylindra

0 - 1023

Rejestr Nr głowicy bity LBA 27 - 24

Nr głowicy

0 - 255

Rejestr Nr sektora bity LBA 7 - 0

Nr sektora

0 - 63

Rejestr Nr cylindra bity LBA 23 - 8

LOGICZNY NR SEKTORA



Wyszukiwarka

Podobne podstrony:
Dyski twarde-woluminy, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr II
Dyski twarde od A do Z Dyski tw Nieznany
03 Dyski Twarde
Dyski twarde i interfejsy dyskowe
Dyski twarde i elastyczne
Dyski twarde-konspekt, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Pamięci masowe-dyski twarde, wrzut na chomika listopad, Informatyka -all, INFORMATYKA-all, Informaty
dyski twarde1
Dyski twarde-konspekt1, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
dyski twarde ssd hd hybrydowe wady i zalety
Dyski twarde, systemy
Kompatybilne dyski twarde
Dyski Twarde HDD
DYSKI TWARDE 2
34 ASK Dyski Twarde (Marek Kobus)
Dyski twarde
Dyski Twarde 4
dyski twarde1

więcej podobnych podstron