Myślę, że to jest prawidłowe zachowanie. Dyski 4k nadal zgłaszają sektory 512-bajtowe po stronie interfejsu. Chociaż wewnętrznie dotyczą sektorów w blokach 4k.
Zworka w większości napędów umożliwia jedynie zmianę sektora. Na większości dysków przesuwa adresowanie sektora o 1. Powodem są systemy operacyjne nie znające 4k, takie jak Winodws XP. Aby zrozumieć, musisz wiedzieć, że Windows XP tworzy pierwszą partycję, która rozpocznie się w sektorze 63 (tak, to nie jest literówka).
W większości przypadków system Windows użyje systemu plików z jednostkami alokacji 4k (klastry NTFS). Zakłada się więc, że podczas odczytywania klastra NTFS z tradycyjnego dysku wystarczy odczytać 8 fizycznych bloków. Całkiem proste.
Teraz dysk będzie również używał rozmiaru sektora 4k. Jest to całkowicie w porządku, ponieważ system operacyjny nigdy nie odczytuje mniejszych klastrów niż 4k, ponieważ jest to najmniejsza jednostka alokacji (zakładając, że nie wymuszałeś mniejszych klastrów FS podczas formatowania). Jak napisałem, dyski nadal ujawniają sektory 512-bajtowe na poziomie interfejsu ze względu na kompatybilność. Ale jeśli odczytujesz tylko jeden pojedynczy blok 512-bajtowy, to i tak dysk wewnętrznie czyta sektor 4k, a następnie dzieli go, aby wysłać tylko 512-bajt przez interfejs kablowy.
Więc gdzie jest teraz problem? ###
Problem z Windows XP polega na tym, że ponieważ partycja jest domyślnie wyrównana do bloku 63. Powoduje to nieprawidłowe dopasowanie klastrów NTSF do bloków fizycznych. Stworzyłem małe zdjęcie ilustrujące to:
Jak widać na zdjęciu w systemie Windows XP, klaster logiczny nie jest dopasowany do fizycznych bloków 4k. W rezultacie, jeśli system Windows odczytuje logiczny klaster NTFS, dysk musi odczytać dwa bloki, a nie tylko jeden. Co gorsza, jeśli potrzebujesz tylko jednego klastra NTFS, odczytuje dwa sektory i musi je połączyć, aby zwrócić tylko żądane dane do systemu operacyjnego.
W przypadku operacji zapisu jest jeszcze gorzej. W takim przypadku dysk musi odczytać dwa fizyczne sektory 4k, a następnie scalić ich zawartość z zawartością nowego klastra NTFS, zanim będzie mógł zapisać oba sektory na dysku. Oznacza to, że zamiast po prostu wymienić sektor na dysku twardym przez zastąpienie go, dysk musi odczytać 8k, połączyć się w buforze i zapisać 8k. Spowalnia to znacznie operacje zapisu.
Aby zapobiec niepotrzebnemu scalaniu, producenci dysków twardych dodali hack „kompatybilności”, który można włączyć za pomocą zworki. Po prostu inkrementuje każdy 512-bajtowy adres sektora o 1. W rezultacie pierwsza partycja utworzona przez system Windows rozpocznie się w sektorze 64, a mapowanie wygląda następująco:
Teraz każde odczyt / zapis logicznego bloku NTFS 4k powoduje dokładnie odczyt / zapis jednego sektora fizycznego.
Oczywiście to obejście nie jest wcale wymagane, jeśli już utworzysz partycje wyrównane do granic sektora 4k. Na przykład w systemie Linux możesz po prostu użyć fdisk
do zdefiniowania, od którego bloku zaczyna się twoja partycja. Dlatego dobrym pomysłem jest użycie mnożnika 8 tutaj.
Windows uruchamia pierwszą partycję w sektorze 2048 AFAIR od Visty. Ten problem już tu nie występuje.
OSTRZEŻENIE : Jeśli nadal używasz zworki w systemie operacyjnym 4k, takim jak Vista, Win7 lub Win2k8 R2, może to faktycznie przerwać wyrównanie sektora. Powodem jest to, że dysk ponownie zwiększy adresy sektorów o 1, co spowoduje wyrównanie pierwszej partycji do sektora 2049, co ponownie spowoduje znaczny spadek wydajności.
Upewnij się więc, że jeśli używasz systemu operacyjnego obsługującego 4k, usuń zworkę przed podzieleniem dysku na partycje. W twoim konkretnym przypadku myślę, że wszystko powinno być w porządku, pod warunkiem, że partycjonujesz dysk z usuniętą zworką. Formatowanie dysku nie ma nic wspólnego z wyrównaniem sektorów i adresowaniem 4k. Jedyną rzeczą, którą powinieneś upewnić się podczas formatowania, jest to, że nie używasz klastrów mniejszych niż 4k, ponieważ 2k klastrów NTFS po prostu spowodowałoby wymóg, aby nadal czytać pełny sektor 4k dla każdego dostępu do dysku twardego z systemu operacyjnego. Nawiasem mówiąc: Używanie klastrów NTFS 8k jest nadal całkowicie prawidłowe, ponieważ dysk po prostu odczytuje 2 sektory dla każdej operacji odczytu / zapisu NTFS.