Почему я должен выровнять SSD со смещением 128 секторов, когда секторов на дорожке 63?

Для использования Windows XP с SSD рекомендуется выровнять разделы вручную (или использовать, например, 7 для разметки).

Фон

Объясняется, что в XP по умолчанию для выравнивания необходимо использовать две "дисковые операции" (вообще говоря) вместо одной, потому что она выравнивает разделы следующим образом:

Страница NAND против выравнивания раздела

источник через "Микрон"

Тогда гиды рекомендуют использовать diskpar.exe со смещением 128, чтобы установить лучшее выравнивание раздела. Например этот:

дисковый шпиндель со смещением 128

проблема

Чего я не понимаю, так это того, что если на дорожке есть 63 сектора, как показано в распечатке информации о диске, то на две дорожки уходит 126 секторов, и, таким образом, третья дорожка должна начинаться со смещения 127, я полагаю.

мышление

Я думал, что могу испортить индексацию, вот мое мышление. Сначала я подумал, что оба SectorsPerTrack а также offset индексируется как base-1, так как первый имеет смысл только как счетчик, а последний должен сказать мне, с какого числа секторов я хочу начать. 128 не имеет смысла, потому что значение подсчета для сектора, в котором я пропустил 2*63 сектора, равно 127.

Итак, я утверждал, что SectorsPerTrack индексируется база-1, но offset s индексируются по основанию-0. (Что ж, "смещения" могут быть не совсем "проиндексированы", но его значение может быть равно 0.) Таким образом, можно считать смещение "сколько секторов пропустить". Если вы не пропустите ни одного сектора, ваше смещение будет равно 0. Если вы пропустите первый сектор, ваше смещение будет равно 1. Если я хочу пропустить трек, который, как сообщается, содержит 63 сектора, то мое смещение должно быть 63. И если я хочу пропусти две дорожки, мое смещение должно быть 126. Но теперь это от двух до 128.

Я думал о SectorsPerTrack может быть 0-проиндексирован. Но это не имеет смысла. "0 секторов на дорожку" должно означать только 0 секторов. Нет никакой причины использовать индексирование на основе 0 здесь, поскольку это только введет беспорядок ни за что.

Что-то, что имело бы смысл, но я не могу подтвердить это: если страницы NAND имеют значение и имеют размер 4096 байт, и я должен игнорировать секторы и дорожки как нечто, являющееся чисто устаревшей информацией, может быть даже поддельным и ничего не имеет Что касается причины выравнивания, то 128 секторов (каждый 512 байт), составляющих 16 страниц NAND, поместят раздел в начало следующей страницы NAND, что может быть реальной причиной. Если это так, может ли кто-нибудь подтвердить это справочной информацией / источником / цитированием?

Вопрос

Итак, в конце концов, я не понимаю: почему в этих руководствах предлагается использовать смещение в 128 секторов?

1 ответ

Решение

Чего я не понимаю, так это того, что если на дорожке есть 63 сектора, как показано в распечатке информации о диске, то на две дорожки уходит 126 секторов, и, таким образом, третья дорожка должна начинаться со смещения 127, я полагаю.

63 сектора на дорожке находятся на старом BIOS и не имеют ничего общего с реальностью. Просто кто-то зарезервировал 6 битов для этого поля несколько тысяч лет назад. Тем временем диски стали намного больше, и количество секторов на дорожке не имеет смысла, поскольку на внешних (более длинных) дорожках больше секторов, чем вблизи оси шпинделя. С SSD все это стало еще более абсурдным.

Максимальное количество номеров было необходимо для того, чтобы можно было использовать большие диски. Вот почему все диски имеют 255 головок и 63 сектора на дорожку. Это мины:

Disk /dev/sde: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors

Ты не веришь, что все мои диски выглядят так.

Возможно ссылки в моем вопросе SSD могли помочь.

Другие вопросы по тегам