10

Я использовал диск WD20EARS с перемычками контактов 7 и 8, чтобы использовать его в ОС, которая не поддерживает секторы 4k. Но теперь я хочу перенести этот жесткий диск в операционную систему с поддержкой сектора 4k.

Я удалил перемычку, подключил ее к Windows Server 2008 R2 и выполнил быстрое форматирование. Тем не менее, DiskCheckup сообщает, что атрибут "байт на сектор" все еще 512.

Что еще мне нужно сделать, чтобы использовать этот диск в качестве диска 4k сектора?

1 ответ1

14

Я думаю, что это правильное поведение. Диски 4k по-прежнему сообщают о 512-байтовых секторах на стороне интерфейса. Хотя они внутренне обращаются к секторам в 4k блоков.

Перемычка в большинстве приводов просто позволяет переключать сектор. На большинстве дисков смещение адреса сектора на 1. Причина в том, что ОС не поддерживает 4k, такие как Winodws XP. Чтобы понять, вам нужно знать, что Windows XP создает первый раздел для запуска в секторе 63 (да, это не опечатка).

В большинстве случаев Windows будет использовать файловую систему с выделением 4 тыс. Единиц (кластеры NTFS). Таким образом, вы предполагаете, что когда вы читаете кластер NTFS с традиционного диска, он просто должен прочитать 8 физических блоков. Достаточно просто.

Теперь накопитель также будет использовать размер сектора 4К. Это вполне нормально, так как ОС никогда не будет считывать кластеры меньшего размера, чем 4 КБ, поскольку это наименьшая единица выделения (при условии, что вы не форсировали меньшие кластеры FS во время форматирования). Как я уже писал, диски по-прежнему предоставляют 512-байтовые сектора на уровне интерфейса для совместимости. Но если вы читаете только один 512-байтовый блок, то внутренний накопитель в любом случае читает 4k-сектор и затем разделяет его, чтобы передать только 512-байтовый интерфейс через кабельный интерфейс.

Так в чем же проблема сейчас? ###

Проблема с Windows XP заключается в том, что раздел по умолчанию выровнен к блоку 63. Это приводит к неправильному выравниванию кластеров NTSF с физическими блоками. Я создал небольшую картинку, чтобы проиллюстрировать это:

Выравнивание кластера

Как вы можете видеть на рисунке в Windows XP, логический кластер не выровнен по физическим 4k-блокам. В результате, если Windows считывает логический кластер NTFS, ей требуется диск для чтения двух блоков, а не только одного. Еще хуже, если вам нужен только один кластер NTFS, он считывает два сектора и должен объединить их, чтобы вернуть в ОС только запрошенные данные.

Для операций записи это еще хуже. В этом случае накопитель должен прочитать два физических сектора 4k, а затем объединить их содержимое с содержимым нового кластера NTFS, прежде чем он сможет сохранить оба сектора на диск. Это означает, что вместо того, чтобы просто заменить сектор на жестком диске, перезаписав его, накопитель должен прочитать 8k, объединить в буфер и записать 8k. Это сильно замедляет операции записи.

Во избежание ненужного слияния производители жестких дисков добавили хак "совместимости", который можно включить через перемычку. Это просто увеличивает каждый 512-байтовый адрес сектора на 1. В результате первый раздел, созданный Windows, будет начинаться с сектора 64, и отображение выглядит следующим образом:

Теперь любое чтение / запись логического блока 4K NTFS приводит к точному чтению / записи одного физического сектора.

Конечно, этот обходной путь не требуется вообще, если вы создаете свои разделы, уже выровненные по границам 4k-секторов. Например, в Linux вы можете просто использовать fdisk чтобы определить, с какого блока начинается ваш раздел. Так что это хорошая идея, чтобы использовать умножение 8 здесь.

Windows запускает первый раздел в секторе 2048 AFAIR начиная с Vista. Так что эта проблема не возникает здесь больше.

ПРЕДУПРЕЖДЕНИЕ . Если вы по-прежнему используете обходной путь перемычки в 4K-готовых ОС, таких как Vista, Win7 или Win2k8 R2, то это может фактически нарушить выравнивание секторов. Причина в том, что накопитель затем снова увеличит адреса секторов на 1, что приведет к выравниванию первого раздела к сектору 2049, что снова приведет к значительному падению производительности.

Поэтому убедитесь, что при использовании ОС с поддержкой 4k вы удалите перемычку перед разбиением диска. В вашем конкретном случае я думаю, что все должно быть хорошо, если вы переделали диск со снятой перемычкой. Форматирование диска не имеет ничего общего с выравниванием секторов и 4k-адресацией. Единственное, что вы должны удостовериться во время форматирования, это то, что вы не используете кластеры меньшего размера, чем 4 КБ, так как 2 КБ NTFS-кластеров просто приведут к требованию по-прежнему считывать полный 4 К сектор для каждого доступа жесткого диска из ОС. Между прочим: использование 8k NTFS-кластеров все еще вполне нормально, поскольку диск просто считывает 2 сектора для каждой операции чтения / записи NTFS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .