Включают ли жесткие диски 512e (эмуляция 512 байт секторов 4k) по мере необходимости в зависимости от хост-контроллера?


13

У меня есть жесткий диск объемом 4 ТБ с размером физического сектора 4 КБ (расширенный формат), и я подключил его к двум хост-контроллерам SATA (один внутренний и один в корпусе USB). На (более раннем, около 2010 г.) размер логического сектора составляет 512 Б, но он сообщает, что его физические сектора имеют размер 4096 байт. Сообщается, что в последнем корпусе USB он имеет логический и физический размер 4096B:

# internal host controller
sd 4:0:0:0: [sdd] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
sd 4:0:0:0: [sdd] 4096-byte physical blocks

# USB enclosure
sd 18:0:0:0: [sdd] 976754646 4096-byte logical blocks: (4.00 TB/3.63 TiB)

«Внутренний» контроллер демонстрирует поведение, которое я видел ранее, которое обычно называется «512e», когда прошивка привода эмулирует адресацию LBA 512 секторов, даже если физически не записывает сектора таким образом. Операционные системы (и администраторы) могут гарантировать, что разделы выровнены так, что (маленькие) команды записи могут быть сгруппированы так, чтобы диск мог перезаписывать полные сектора вместо того, чтобы вернуться к записи в часть физического сектора, где ему нужно прочитать остаток содержания в первую очередь.

Тем не менее, просмотр «4k собственного» поведения на диске (USB-корпус) был для меня новым, и я сначала подумал, что корпус эмулирует адресацию 4096B поверх эмулируемой 512B эмуляции диска.

Единственные случаи, которые я мог найти с помощью веб-поиска, где устройства хранения USB, которые зарегистрированы с логическими секторами 4k. Я предполагаю, что они эмулируют 4k вместо 512e, поэтому разрешите таблицы разделов MBR, чтобы большие диски можно было использовать на устаревших / встраиваемых устройствах (Smart TV и т. Д.), Которые поддерживают только USB-накопители MBR + FAT32.

После обращения к производителю они заявили, что диск фактически работает в неэмулируемом (родном) режиме 4k, контроллер USB SATA также вообще не выполняет эмуляцию. Для этого потребуется встроенное ПО привода, чтобы определить, поддерживает ли хост-контроллер (желает?) Адресацию секторов размером 4 КБ. Я не мог найти ничего об этом в публичной документации стандартов SATA. Поэтому я спрашиваю:

  • Кто-нибудь видел «4096-байтовые логические блоки» на своем контроллере SATA?
  • Действительно ли диски поддерживают включение / отключение эмуляции по требованию? Если так,
    • Как работает это определение?
    • Можете ли вы переопределить его на диске через флаг?
    • Можете ли вы переопределить его на хост-контроллере через драйвер / флаг?

Логотип на диске говорит «AF» или «4Kn»?
Джейми Ханрахан

Этот вопрос действительно нуждается в качественном, современном ответе.
Хашим

Ответы:


2

Я видел несколько накопителей SATA 4Kn, работающих в индустрии валидации жестких дисков, но я не знал, что они отгружают клиентам, из-за ограниченной аппаратной и программной поддержки для них и отсутствия спроса со стороны клиентов.

Существует два сопоставления между размерами физического и логического секторов. Функция длинного логического сектора позволяет устройству иметь логические секторы длиннее 512 В (например, 4 Кн), а функция длинного физического сектора позволяет устройству иметь несколько логических секторов на физический сектор (например, 512e), хотя они не обязательно являются взаимоисключающими. Если производитель заявляет, что накопитель имеет 4Kn, старый контроллер может обеспечить уровень эмуляции, такой как чтение-изменение-запись, для более старых приложений и оборудования, поскольку старые системы просто не поддерживают формат 4Kn.

Команда sg_sat_identifyиз пакета sg3_utils, вероятно, даст вам необходимую информацию (проверьте слова 106-108 для информации о размере физического сектора / размере логического сектора).

Похоже, что диски SATA не поддерживают эмуляцию по требованию как таковую, но если диск действительно использует 512e вместо 4Kn, оптимизация производительности максимизируется драйвером (или, возможно, контроллером USB SATA), ограничивающим чтение / запись в 4K границы, например, имеющие передачу, начинающуюся на LBA, где младшие 3 бита равны 0, и заканчивающиеся на LBA, где младшие 3 бита равны 1:

start_lba & 0x3 == 0
end_lba & 0x3 == 1

Так что, по сути, нет «переключателя», который может указывать приводу запускать или останавливать эмуляцию. С точки зрения конечного пользователя, вам лучше всего убедиться, что на ваших дисках используется лучшая файловая система для сопоставления, используемого вашим диском, и убедиться, что он выровнен правильно. Следующий сайт дает довольно хорошую разбивку общих файловых систем и их статистику производительности и выравнивания блоков в разных файловых системах: http://www.ibm.com/developerworks/library/l-linux-on-4kb-sector -disks / index.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.