Tôi nghĩ rằng đây là hành vi chính xác. Các đĩa 4k vẫn báo cáo các cung 512-Byte ở phía giao diện. Mặc dù họ nội bộ giải quyết các lĩnh vực trong khối 4k.
Các jumper trong hầu hết các ổ đĩa chỉ cho phép thay đổi ngành. Trên hầu hết các ổ đĩa, nó thay đổi địa chỉ của ngành bằng 1. Lý do là hệ điều hành không nhận biết 4k như Winodws XP. Để hiểu bạn cần biết rằng Windows XP không tạo phân vùng đầu tiên để bắt đầu ở sector 63 (vâng, đây không phải là lỗi chính tả).
Trong hầu hết các trường hợp, Windows sẽ sử dụng một hệ thống tệp với các đơn vị phân bổ 4k (cụm NTFS). Vì vậy, bạn sẽ cho rằng khi bạn đọc một cụm NTFS từ ổ đĩa truyền thống, nó chỉ phải đọc 8 khối vật lý. Khá đơn giản.
Bây giờ ổ đĩa sẽ sử dụng kích thước cung 4k là tốt. Điều này là hoàn toàn tốt vì HĐH sẽ không bao giờ đọc các cụm nhỏ hơn 4k vì đây là đơn vị phân bổ nhỏ nhất (giả sử bạn không buộc các cụm FS nhỏ hơn trong định dạng). Như tôi đã viết, các ổ đĩa vẫn hiển thị các cung 512-Byte ở cấp độ giao diện vì lý do tương thích. Nhưng nếu bạn chỉ đọc một khối 512 Byte duy nhất, thì ổ đĩa bên trong dù sao cũng sẽ đọc một phân vùng 4k và sau đó tách nó để chỉ gửi 512 Byte qua giao diện cáp.
Vậy bây giờ vấn đề ở đâu? ###
Vấn đề với Windows XP là phân vùng được căn chỉnh theo khối 63 theo mặc định. Điều này dẫn đến sự liên kết sai giữa các cụm NTSF với các khối vật lý. Tôi đã tạo một bức tranh nhỏ để minh họa điều này:
Như bạn có thể thấy trên hình trên Windows XP, cụm logic không được căn chỉnh theo các khối 4k vật lý. Kết quả là nếu Windows đọc một cụm NTFS hợp lý, nó yêu cầu ổ đĩa phải đọc hai khối chứ không chỉ một khối. Thậm chí tệ hơn nếu bạn chỉ cần một cụm NTFS duy nhất, nó đọc hai cung và phải hợp nhất chúng để chỉ trả lại dữ liệu được yêu cầu cho HĐH.
Đối với các hoạt động viết nó thậm chí còn tồi tệ hơn. Trong trường hợp này, ổ đĩa phải đọc hai cung 4k vật lý và sau đó hợp nhất nội dung của chúng với nội dung của cụm NTFS mới trước khi có thể lưu lại cả hai cung vào đĩa. Điều này có nghĩa thay vì chỉ thay thế sector trên ổ cứng bằng cách ghi đè lên nó, ổ đĩa phải đọc 8k, hợp nhất trong bộ đệm và ghi 8k. Điều này làm chậm hoạt động viết rất nhiều.
Để ngăn chặn việc sáp nhập không cần thiết, các nhà sản xuất đã thêm một bản hack "tương thích" có thể được kích hoạt thông qua Jumper. Nó chỉ đơn giản là tăng mỗi địa chỉ cung cấp 512 byte lên 1. Kết quả là phân vùng đầu tiên được tạo bởi Windows sẽ bắt đầu ở sector 64 và ánh xạ trông như sau:
Bây giờ bất kỳ đọc / ghi của một khối NTFS 4k logic đều dẫn đến việc đọc / ghi chính xác một lĩnh vực vật lý.
Tất nhiên, công việc này hoàn toàn không bắt buộc nếu bạn tạo các phân vùng của mình được căn chỉnh theo ranh giới 4k-sector. Ví dụ: trên Linux, bạn có thể chỉ cần sử dụng fdisk
để xác định khối nào phân vùng của bạn bắt đầu. Vì vậy, đó là một ý tưởng tốt để sử dụng bội số của 8 ở đây.
Windows đang bắt đầu phân vùng đầu tiên tại sector 2048 AFAIR kể từ Vista. Vì vậy, vấn đề này không xảy ra ở đây nữa.
CẢNH BÁO : Nếu bạn vẫn sử dụng công cụ nhảy xung quanh hệ điều hành 4k sẵn sàng như Vista, Win7 hoặc Win2k8 R2 thì điều này thực sự có thể BREAK liên kết ngành. Lý do là ổ đĩa sau đó sẽ lại tăng địa chỉ sector lên 1 dẫn đến phân vùng đầu tiên được căn chỉnh theo sector 2049, một lần nữa gây ra hiệu suất lớn.
Vì vậy, hãy chắc chắn rằng nếu bạn đang sử dụng HĐH nhận biết 4k mà bạn đã loại bỏ jumper trước khi phân vùng ổ đĩa. Trong trường hợp cụ thể của bạn, tôi nghĩ mọi thứ sẽ ổn miễn là bạn đã phân vùng lại ổ đĩa với jumper bị loại bỏ. Định dạng ổ đĩa không liên quan gì đến căn chỉnh khu vực và địa chỉ 4k. Điều duy nhất bạn cần đảm bảo trong quá trình định dạng là bạn không sử dụng kích thước cụm nhỏ hơn 4k vì cụm 2k NTFS chỉ đơn giản dẫn đến yêu cầu vẫn phải đọc toàn bộ khu vực 4k cho mỗi lần truy cập ổ cứng từ HĐH. Nhân tiện: Sử dụng cụm 8k NTFS vẫn hoàn toàn ổn vì đĩa chỉ đơn giản là đọc 2 cung cho mỗi thao tác đọc / ghi NTFS.