sobota, 23 lipca 2022

Struktura logiczna

Namagnesowanie powłoki dysku jest faktycznym nośnikiem informacji. Jest on generowany przez głowicę odczytująco-zapisującą na okrągłych, koncentrycznych ścieżkach podczas obrotu płyty. Płyta zawiera zwykle kilka tysięcy takich ścieżek, najczęściej po obu stronach. Całość wszystkich równych, tj. nałożonych na siebie, torów poszczególnych dysków (powierzchni) nazywamy walcem. Każda ścieżka jest podzielona na małe jednostki logiczne zwane blokami. Blok tradycyjnie zawiera 512 bajtów danych użytkownika. Każdy blok posiada informacje kontrolne (sumy kontrolne), które zapewniają, że informacje zostały zapisane lub odczytane prawidłowo. Całość wszystkich bloków mających te same współrzędne kątowe na dyskach nazwano sektorem (w MFM). Struktura konkretnego typu dysku twardego, czyli liczba cylindrów (ścieżek na powierzchni), głowic (powierzchni) i sektorów, nazywana jest geometrią dysku twardego.
Po podzieleniu na sektory, dla ich wewnętrznych bloków dostępna jest tylko niewielka ilość powierzchni warstwy magnetycznej, ale wystarcza ona do przechowywania bloku danych. Zewnętrzne bloki są jednak znacznie większe i zużywają znacznie więcej miejsca w warstwie magnetycznej niż jest to konieczne. Od RLL przestrzeń ta nie jest już marnowana w obszarze zewnętrznym, dane są tam zapisywane tak samo gęsto jak w obszarze wewnętrznym - ścieżka w obszarze zewnętrznym zawiera teraz więcej bloków niż w obszarze wewnętrznym, podział na sektory nie jest więc już możliwy. Przy stałej prędkości obrotowej elektronika dysku twardego może i musi odczytywać i zapisywać szybciej w obszarze zewnętrznym niż w obszarze wewnętrznym. W związku z tym rozwojem termin sektor stracił swoje pierwotne znaczenie i obecnie jest często używany synonimicznie z blokiem (wbrew jego rzeczywistemu znaczeniu).
Ponieważ - ponieważ numeracja bloków przekraczała limit słów (16 bitów) przy rosnących pojemnościach dysków twardych - niektóre systemy operacyjne zbyt szybko osiągały swoje limity, wprowadzono klastry. Są to grupy po stałej liczbie bloków (np. 32), które sensownie fizycznie sąsiadują ze sobą. System operacyjny nie adresuje już wtedy pojedynczych bloków, ale używa tych klastrów jako najmniejszej jednostki alokacyjnej na swoim (wyższym) poziomie. Dopiero na poziomie sterownika sprzętowego połączenie to zostaje przerwane backup.
W przypadku nowoczesnych dysków twardych prawdziwa geometria, czyli liczba sektorów, głowic i cylindrów zarządzanych przez kontroler dysku twardego, zwykle nie jest widoczna na zewnątrz (tj. dla komputera lub sterownika dysku twardego). W przeszłości, aby pokonać ograniczenia sprzętu kompatybilnego z PC, prezentowano komputerowi wirtualny dysk twardy z zupełnie innymi danymi geometrii. Na przykład dysk twardy posiadający w rzeczywistości tylko cztery głowice może być widziany przez komputer z 255 głowicami. Dziś dysk twardy zwykle po prostu podaje liczbę swoich bloków w trybie LBA.
Dzisiejsze dyski twarde wewnętrznie dzielą cylindry promieniście na strefy, dzięki czemu liczba bloków na ścieżkę jest taka sama w obrębie strefy, ale wzrasta przy zmianie strefy z wewnętrznej na zewnętrzną (zapis bitów strefowych). Najbardziej wewnętrzna strefa ma najmniej bloków na ścieżkę, a najbardziej zewnętrzna najwięcej, dlatego przy zmianie stref z zewnętrznej na wewnętrzną zmniejsza się szybkość ciągłego transferu.
Kontroler dysku twardego może wygaszać uszkodzone bloki do tzw. obszaru hot-fix, a następnie wygaszać blok z obszaru rezerwowego. Dla komputera wygląda to wtedy zawsze tak, jakby wszystkie bloki były wolne od wad i nadawały się do użytku. Proces ten można jednak prześledzić poprzez S.M.A.R.T. za pomocą parametru Reallocated Sector Count. Dysk twardy, którego wartość RSC zauważalnie wzrasta w krótkim czasie, wkrótce ulegnie awarii.

Format zaawansowany
Od 2010 roku w modelach dysków twardych coraz częściej stosuje się schemat sektorowania z większymi sektorami wynoszącymi prawie wyłącznie 4096 bajtów ("4K"). Większe bloki danych pozwalają na większą redundancję, a tym samym niższą stopę błędów blokowych (BER) i/lub niższy całkowity narzut w stosunku do ilości użytecznych danych.  Aby uniknąć problemów z kompatybilnością po dekadach (prawie) wyłącznego stosowania bloków 512-bajtowych, większość napędów emuluje w swoim interfejsie 512-bajtowy rozmiar bloku ("512e"). Fizyczny blok o wielkości 4096 bajtów jest emulowany jako osiem bloków logicznych o wielkości 512 bajtów - firmware napędu wykonuje wtedy niezależnie dodatkowe niezbędne operacje zapisu i odczytu. To w zasadzie zapewnia możliwość korzystania z istniejących systemów operacyjnych i sterowników.
Emulacja 512e zapewnia zgodność dysków Advanced Format z istniejącymi systemami operacyjnymi - mogą wystąpić spadki wydajności, jeśli bloki fizyczne mają być zapisywane tylko częściowo (oprogramowanie układowe musi następnie odczytać, zmodyfikować i przywrócić blok fizyczny).

Brak komentarzy:

Prześlij komentarz