Ten blog pomaga zrozumieć, dlaczego nastąpiło przejście z dysku sektorowego 512 bajtów na dysk sektorowy 4096 bajtów. Blog daje również odpowiedzi na pytanie, dlaczego dysk z sektorem 4096 bajtów (4K) powinien być wybrany do instalacji systemu operacyjnego. Blog najpierw wyjaśnia układ sektorów, aby zrozumieć potrzebę migracji, następnie podaje powody migracji, a na koniec omawia zalety dysku sektorowego 4K w porównaniu z dyskiem sektorowym 512 bajtów.
Sektor to minimalna jednostka pamięci masowej dysku twardego. Jest to podział ścieżki na dysku twardym. Rozmiar sektora jest ważnym czynnikiem przy projektowaniu systemu operacyjnego, ponieważ reprezentuje niepodzielną jednostkę operacji we/wy na dysku twardym. W systemie Linux rozmiar sektora dysku można sprawdzić za pomocą polecenia "fdisk -l".
Rysunek 1. Rozmiar sektora dysku w systemie Linux
Jak pokazano na rysunku 1, zarówno sektor logiczny, jak i fizyczny w tym systemie Linux mają długość 512 bajtów.
Układ sektorów jest uporządkowany w następujący sposób:
Każdy sektor przechowuje stałą ilość danych użytkownika, zwykle 512 bajtów w przypadku dysków twardych. Jednak ze względu na lepszą integralność danych przy wyższych gęstościach i solidne możliwości korekcji błędów nowsze dyski twarde przechowują teraz 4096 bajtów (4K) w każdym sektorze.
Liczba bitów przechowywanych na danej długości ścieżki jest określana jako gęstość powierzchniowa. Zwiększanie gęstości powierzchniowej jest trendem w branży dysków twardych nie tylko dlatego, że umożliwia przechowywanie większych ilości danych w tej samej przestrzeni fizycznej, ale także poprawia szybkość transferu, z jaką nośnik może działać. Wraz ze wzrostem gęstości powierzchniowej sektor ten zajmuje coraz mniej miejsca na powierzchni dysku twardego. Stwarza to problem, ponieważ fizyczny rozmiar sektorów na dyskach twardych zmniejszył się, ale defekty nośników nie. Jeśli dane w sektorze dysku twardego zajmują mniejsze obszary, korekcja błędów staje się wyzwaniem. Dzieje się tak dlatego, że defekty nośników o tym samym rozmiarze mogą uszkodzić większy procent danych na dysku, który ma małą powierzchnię dla sektora niż na dysku, który ma dużą powierzchnię dla sektora.
Istnieją dwa podejścia do rozwiązania tego problemu. Pierwszym podejściem jest zainwestowanie większej ilości miejsca na dysku w bajty ECC w celu zapewnienia ciągłej niezawodności danych. Ale jeśli zainwestujemy więcej miejsca na dysku w bajty ECC, doprowadzi to do mniejszej wydajności formatu dysków. Wydajność formatu dysku jest definiowana jako (liczba bajtów danych użytkownika X 100) / całkowita liczba bajtów na dysku. Kolejną wadą jest to, że im więcej bitów ECC, tym więcej bitów ECC kontroler dysku wymaga większej mocy obliczeniowej do przetworzenia algorytmu ECC.
Drugim podejściem jest zwiększenie rozmiaru bloku danych i nieznaczne zwiększenie bajtów ECC dla każdego bloku danych. Wraz ze wzrostem rozmiaru bloku danych zmniejszyłaby się ilość narzutu wymaganego dla każdego sektora do przechowywania informacji sterujących, takich jak luka, synchronizacja, sekcja znacznika adresu itp. Dla każdego sektora liczba bajtów ECC wzrośnie, ale ogólna liczba bajtów ECC wymaganych dla dysku zmniejszy się z powodu większego sektora. Zmniejszenie ogólnej ilości miejsca używanego na kod korekcji błędów poprawia wydajność formatowania, a zwiększona liczba bajtów ECC dla każdego sektora daje możliwość korzystania z bardziej wydajnych i wydajnych algorytmów korekcji błędów. Dlatego przejście na większy rozmiar sektora ma dwie zalety: zwiększoną niezawodność i większą pojemność dysku.
Z punktu widzenia przepustowości idealny rozmiar bloku powinien być w przybliżeniu równy charakterystycznemu rozmiarowi typowej transakcji danych. Musimy przyznać, że średni rozmiar pliku wynosi dziś ponad 512 bajtów. Obecnie aplikacje w nowoczesnych systemach wykorzystują dane w dużych blokach, znacznie większych niż tradycyjny sektor o rozmiarze 512 bajtów. Zbyt małe rozmiary bloków powodują zbyt duży narzut transakcji. Natomiast w przypadku dużych rozmiarów bloków każda transakcja przesyła dużą ilość niepotrzebnych danych.
Rozmiar standardowej transakcji w systemach relacyjnych baz danych wynosi 4K. W branży dysków twardych panuje zgoda co do tego, że fizycznym rozmiarem bloku 4K-Block dobrym kompromisem byłoby osiągnięcie rozmiarów bloków fizycznych. Odpowiada również rozmiarowi stronicowania używanemu przez systemy operacyjne i procesory.
Rysunek 3: Poprawa wydajności formatowania dysku 4K
Format sektora 512 bajtów | Sektor 4096 bajtów formaT | |
Znacznik przerwy, synchronizacji i adresu | 15 bajtów | 15 bajtów |
Dane użytkownika | 512 bajtów | 4096 bajty |
Kod korygujący błędy | 50 bajtów | 100 bajtów |
Całkowita | 577 bajty/bajtów | 4211 bajtów |
Wydajność formatowania | 88,7% | 97.3% |
Tabela 1: Poprawa wydajności formatowania dysku 4K
Jak widać na rysunku 2, sektory 4K są 8 razy większe niż tradycyjne sektory 512-bajtowe. W związku z tym dla tego samego ładunku danych potrzeba 8 razy mniej sekcji luki, synchronizacji i znaczników adresu oraz 4 razy mniej sekcji kodu korekcji błędów. Zmniejszenie ilości miejsca używanego na kod korekcji błędów i inne sekcje niezawierające danych poprawia wydajność formatu 4K. Poprawa wydajności formatowania pokazano na rysunku 3 i w tabeli 1, wzrost wydajności formatowania wynosi 8,6% dla dysku z sektorem 4K w porównaniu z dyskiem sektorowym o pojemności 512 bajtów.
Rysunek 4: Wpływ defektu nośnika na gęstość dysku
Jak pokazano na rysunku 4, wpływ defektu nośnika na dysk o większej gęstości powierzchniowej jest większy niż na dysk o mniejszej gęstości powierzchniowej. Wraz ze wzrostem gęstości powierzchniowej potrzebujemy większej liczby bajtów ECC, aby zachować ten sam poziom możliwości korekcji błędów. Format 4K zapewnia wystarczającą ilość miejsca, aby rozszerzyć pole ECC z 50 do 100 bajtów w celu uwzględnienia nowych algorytmów ECC. Ulepszone pokrycie ECC poprawia zdolność wykrywania i korygowania błędów przetwarzanych danych wykraczających poza 50-bajtową długość defektu skojarzoną z formatem sektora 512-bajtowego.
Dyski danych 4K są obsługiwane w systemie Windows Server 2012, ale jako dyski rozruchowe są obsługiwane tylko w trybie UEFI. W przypadku systemu Linux dyski twarde 4K wymagają co najmniej systemu RHEL 6.1 i SLES 11 SP2. Dyski rozruchowe 4K są obsługiwane tylko w trybie UEFI w systemie Linux. Obsługa jądra dla dysków 4K jest dostępna w jądrze w wersji 2.6.31 lub nowszej. Karty PERC H330, H730, H730P, H830, FD33xS i FD33xD obsługują dyski o rozmiarze bloku 4K, co pozwala na efektywne wykorzystanie przestrzeni dyskowej. Dysków 4K można używać w serwerach Dell PowerEdge obsługujących powyższe karty PERC.
Fizyczny rozmiar każdego sektora na dysku zmniejszył się w wyniku wzrostu gęstości powierzchniowej w napędach dysków. Jeśli liczba uszkodzeń dysku nie skaluje się w tym samym tempie, spodziewamy się uszkodzenia większej liczby sektorów i potrzebujemy silnych możliwości korekcji błędów dla każdego sektora. Dyski z większymi sektorami fizycznymi i większą liczbą bajtów ECC dla każdego sektora zapewniają ulepszoną ochronę danych i algorytmy korekcji. Format 4K pomaga osiągnąć lepszą wydajność formatowania oraz poprawia niezawodność i możliwości korekcji błędów. Takie przejście zapewni lepsze wrażenia użytkownika, dlatego do instalacji systemu operacyjnego należy wybrać dysk 4K.