TechnologieDane w dużych porcjach

    Dane w dużych porcjach

    W cieniu rewolucji zachodzącej na rynku pamięci masowych, jaką są napędy SSD, dokonuje się mała rewitalizacja klasycznych twardzieli. Na rynku pojawiły się pierwsze napędy z 4-kilobajtowymi sektorami. Jakie korzyści i pułapki niesie nowy sposób organizacji danych na dyskach?

    Dane w dużych porcjach

    Wpływ formatowania na wydajność nowych dysków

    Dzięki większym sektorom nie poprawią się transfery danych. Test benchmarkiem HD Tune nie pokaże różnicy między dyskami o identycznych parametrach (pojemności, stosowanych talerzach), lecz różnych rozmiarów sektorach. Dużą różnicę wydajności można za to ujrzeć, gdy nowy dysk zostanie źle sformatowany. Cierpi na tym zwłaszcza zapis danych, co świetnie ilustruje test wykonany narzędziem Intel NAS Performance Toolkit. O ile odczyt danych ze „źle” usytuowanej partycji spada minimalnie (1–3 proc.), o tyle zapis może spaść dwu- lub nawet trzykrotnie – im mniejsze pliki, tym gorzej.

    Nowe napędy Advanced Format Drive wchodzą na rynek po cichu. Nie oferują bowiem żadnej zaawansowanej technologii, a jedynie ośmiokrotnie zwiększoną pojemność najmniejszej jednostki przechowywania danych na dysku – sektora.

    Można już kupić pierwsze takie modele firmy Western Digital. Napędy 1 B, 1,5 TB i 2 TB serii WD Green są dostępne w dwóch wersjach: klasycznej i nowej. Na czym polega odnowiony sposób przechowywania danych na dyskach i co z niego wynika?

    Odzyskiwanie przestrzeni

    Cała objętość napędu jest podzielona na – sektory. To najmniejsze fizyczne jednostki alokacji danych. Cokolwiek jest zapisywane na dysk, musi zająć minimum jeden sektor. Podział na sektory jest realizowany sprzętowo, przez kontroler dysku. Aby móc z takiej organizacji danych korzystać, systemy operacyjne dzielą powierzchnię dysku na partycje, a w ramach każdej partycji wykorzystują określony system plików – np. FAT czy NTFS. Systemy te z kolei wprowadzają własny porządek i rozbijają dane użytkowników na klastry.

    Klaster może obejmować od jednego do 64 sektorów, typowo zaś 4 lub 8. Jego wielkość wyznacza najmniejszą objętość, jaką może zająć plik albo folder. Jeśli plik jest mniejszy niż klaster, i tak wypełnia go w całości. Jeśli jest większy, zajmuje odpowiednią liczbę klastrów.

    Odzyskiwanie przestrzeni

    Dotychczas wszystkie dyski miały sektory o rozmiarze 512 bajtów. Wartość tę ustalono jako optymalną dawno temu, gdy typowe dyski miały kilka-kilkanaście MB pojemności. Współczesne modele 1 TB mają więc 2 miliardy sektorów.

    Takie rozdrobnienie niesie ze sobą kilka dających się we znaki problemów. Ponieważ dyski to nośniki magnetyczne, każdy z sektorów musi być odseparowany od sąsiednich. To konieczne, by przy zapisie i odczycie danych głowica dysku była pewna, że nie odczytuje fragmentu sąsiednich sektorów. Na powierzchni talerzy dysków marnuje się więc sporo miejsca, przy czym im mniejszy rozmiar sektora, tym większe te straty.

    Jak poznać „nowe” dyski?

    Obraz

    W chwili pisania artykułu jedyną firmą oferującą dyski w nowej technologii był Western Digital. Dostępne są trzy napędy WD Green w takiej wersji:
    1 TB, 1,5 TB i 2 TB – ale uwaga, te same dyski można nabyć także w wersji klasycznej. Poznasz je po oznaczeniu seryjnym producenta, umieszczonym na obudowie. W tabelce poniżej podajemy oznaczenia zarówno nowych, jak i starych dysków – większość sklepów internetowych rozróżnia je w ofercie, ale zawsze warto sprawdzić to samemu.

    Do tego dochodzi kwestia tzw. sum kontrolnych. Są one wyliczane dla każdego sektora przez mechanizm korekcji błędów i zapisywane obok faktycznych danych. Obecnie zajmują dodatkowe 40 bajtów – czyli 8 proc. powierzchni dysku. Przy 4-kilobajtowych sektorach mają zająć 100 bajtów, więc ledwie 2,5 proc.

    Kłopotliwe partycje

    Wartość 4 KB na sektor wybrano nieprzypadkowo. Praktycznie każda partycja FAT32, NTFS czy linuksowego systemu EXT3/4 używa klastrów o wielkości 4 KB. Oznacza to, że jeden klaster, zamiast pokrywać 8 sektorów, wykorzysta po prostu jeden „nowy” sektor. Taka sytuacja pozwala np. szybciej zrealizować zapis klastra – ze względu na liczenie krótszej sumy kontrolnej. Jest to jednak możliwe tylko pod warunkiem, że obszar klastra pokryje się idealnie z obszarem sektora. Jednak domyślnie tak się nie dzieje.

    Winnym jest leciwy już sposób, w jaki partycjonowane są dyski. Na pecetach powszechna jest obecnie tzw. mapa partycji PC/DOS, wymyślona również wiele lat temu – i wykorzystująca założenie, że sektor ma 512 B, a także inne detale budowy napędów magnetycznych. W efekcie większość dostępnych narzędzi do partycjonowania wyrównuje początek i koniec woluminów do granic tzw. cylindrów. Te zaś obejmują 63 sektory, czyli 31,5 KB.

    W takich warunkach, jeśli założymy, że same woluminy stosują klastry 4 KB, każdy z nich będzie przesunięty o 512 bajtów względem faktycznego sektora na dysku. Sytuacja najgorsza z możliwych, bo dokonując np. zapisu jednego klastra, dysk musi odczytać dwa sektory, zmodyfikować ich zawartość i zapisać je z powrotem. Efekt? Około dwukrotnie gorsze wynikowe transfery przy zapisie oraz 1,5 raza gorsze przy odczycie danych z tak usytuowanych partycji.

    Sytuacja taka wystąpi zawsze dla pierwszej partycji, która rozpoczyna się od 64. sektora (czyli o jeden za wcześnie). W przypadku pozostałych jest to loteria – wszystko zależy od ich rozmiaru, czyli od tego, do której wielokrotności 63 sektorów zostaną wyrównane. Statystycznie – masz tylko 12,5 proc. szans na to, że będą ulokowane dobrze.

    Ile miejsca na dysku w rzeczywistości zajmuje porcja 4 KB danych

    Obraz

    Nie cała powierzchnia dysku jest wykorzystywana na dane użytkownika. Dla każdego sektora, na które podzielony jest dysk, jest wyliczana suma kontrolna, z której korzysta mechanizm korekcji błędów. Przechowywanie tej informacji wymaga odrobiny miejsca. Podobnie między samymi sektorami znajduje się trochę wolnej przestrzeni. Im większe sektory, tym mniej miejsca potrzeba na sumę kontrolną i przestrzenie między danymi w stosunku do miejsca zajmowanego przez dane. Dzięki zwiększeniu rozmiaru sektora z 512 B do 4 KB można uzyskać nawet do 10 proc. większą pojemność dysku.

    Perspektywiczne napędy

    Według zapowiedzi wielu producentów już od przyszłego roku będą produkowane tylko napędy o dużych sektorach. Dotyczyć ma to także napędów SSD. To konieczność, bo stosując 512-bajtowe sektory, trafiamy na analogiczny problem, co w przypadku obsługi więcej niż 4 GB RAM-u. Powód? Mapy PC/DOS stosują 32-bitowe numerowanie sektorów do zapisu w głównym rekordzie dysku – MBR – położenia partycji. Można więc zaadresować 4 miliardy sektorów, co przy rozmiarze 512 B każdy daje granicę 2 TB. Aby wykorzystać większe dyski, trzeba zmienić albo technikę adresacji (np. użyć mapy partycji GPT), albo zwiększyć rozmiar sektora. Dyski 4-kilobajtowe będą mogły osiągać 16 TB pojemności przy mapach PC/DOS.

    Zmiana generacji jest więc nieunikniona i pożyteczna. Nowoczesne napędy warto kupić, zwłaszcza że nie są droższe od starszych technologicznie. Jedynym przypadkiem, gdy nie należy ich stosować, jest dokupienie napędu do rozbudowy opartej na starych modelach macierzy RAID. W nowych, jedno- dyskowych komputerach można ich używać bez przeszkód.

    Poprawne formatowanie nowych dysków

    Formatując dysk z 4 KB sektorami trzeba stosować narzędzia, które znają ograniczenia mapy PC/DOS i ustawiają początki i końce woluminów w poprawny sposób. Wyrównują je do wielokrotności nie 31,5 KB, lecz np. 32 KB lub nawet 1 MB. Alternatywnie można zastosować znaną z maków mapę GUID/GPT, z którą radzi sobie Linux, Windows Vista, Seven i XP – ale ten ostatni tylko w 64-bitowej wersji.

    Gdy na takim napędzie zechcesz instalować Vistę, Seven lub Linuksa, możesz spać spokojnie. Nowe wersje Windows nawet na starych dyskach zakładają partycje z dokładnością do 1 MB, więc optymalnie dla nowych napędów. Problem jest jednak z XP, który stosuje stary schemat.

    Z takiej sytuacji są dwa wyjścia. Pierwsze – niepolecane – to przestawienie dysku w tryb kompatybilności. Kontroler dysku będzie wtedy oszukiwał system, przekierowując żądania zapisu i odczytu o jeden sektor w przód, niwelując tym samym szkodliwą różnicę 512 bajtów. Niestety, działa to poprawnie tylko dla pierwszej partycji. Jeśli na dysku będzie ich więcej, pozostałe wciąż będą podlegały „loterii”, bo przesunięcie każdej o 512 bajtów może sytuację zarówno poprawić, zepsuć, jak i nie zmienić niczego.

    Obraz

    Drugim wyjściem jest partycjonowanie przed instalacją XP za pomocą zewnętrznego narzędzia. Firma WD udostępnia program WD Align, który najlepiej pobrać jako bootowalny obraz ISO. Po nagraniu go na płytę trzeba z niej uruchomić PC i spartycjonować dysk. Wraz z pojawieniem się następnych modeli nowej generacji napędów będą dostępne kolejne narzędzia.

    W chwili obecnej najprościej i najłatwiej jest użyć uniwersalnego programu GParted, który również jest dostępny jako obraz ISO. Pobierzesz go ze strony http://gparted.sourceforge.net/download.php (ok. 120 MB). Nagraj go na CD i z takiej płyty uruchom peceta. W trakcie ładowania się systemu wszystkie komunikaty potwierdzaj klawiszem [Enter]. Program GParted uruchomi się automatycznie. Wybierz dysk z listy i użyj przycisku New, by założyć nową partycję. Trzymaj się przy tym zawsze dwóch prostych zasad:
    – pierwszą partycję na dysku odsuń o 1 MB od początku dysku (w polu Space before wpisz 1 MB); rozmiar i położenie pozostałych woluminów jest już dowolne;
    – upewnij się, że w oknie ustawiania parametrów partycji jest usunięte zaznaczenie z pola Round to cylinders.

    Sposób ten jest polecany także, jeśli nowy napęd dokładasz do komputera, na którym działa już XP. Zakładanie na nim partycji systemowym narzędziem do zarządzania dyskami da równie złe rezultaty, co utworzenie woluminów za pomocą instalatora Windows. W Viście czy Seven można z tego narzędzia korzystać bez obaw.

    Wybrane dla Ciebie