Чи включаються накопичувачі жорстких дисків на 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", де прошивка диска імітує 512 сектор LBA адреси, хоча він фізично не записує сектори таким чином. Операційні системи (та адміністратори) можуть забезпечити вирівнювання розділів таким чином, що (малі) команди запису можуть бути згруповані так, щоб диск міг перезаписати цілі сектори замість того, щоб повернутися до запису до частини фізичного сектору, де йому потрібно прочитати залишок змісту спочатку.

Однак бачити "4k рідну" поведінку на накопичувачі (USB-корпус) було для мене новим, і моя початкова думка полягала в тому, що корпус імітує 4096B адресацію поверх емуляції 512B накопичувача.

Єдині випадки цього я міг знайти за допомогою веб-пошуку, де зберігаються USB-пам’яті, які зареєстровані в логічному секторі 4k. Я припускаю, що вони емулюють 4k понад 512e, тому дозволяють використовувати таблиці розділів MBR, щоб великі диски можна було використовувати на застарілих пристроях (Smart TV і що ні), які підтримують лише MBR + FAT32 usb mass storage.

Після того, як зв'язатися з виробником , вони стверджували , що привід на насправді працює в (рідному) 4k некерованому режимі емуляції, то SATA контролер USB-пристрій не також робить ніякої емуляції на всіх. Для цього знадобиться вбудована програма диска, щоб виявити, чи підтримує хост-контролер (бажання?) Розмір сектору розміром 4 Кб. Я нічого не міг знайти про це в публічній документації стандартів SATA. Тому я прошу:

  • Хтось бачив "4096-байтні логічні блоки" на їх контролері SATA?
  • Чи підтримують накопичувачі насправді включення / відключення емуляції на вимогу? Якщо так,
    • Як працює це визначення?
    • Чи можете ви змінити його на приводі через прапор?
    • Чи можете ви змінити його на хост-контролері через драйвер / прапор?

Чи означає логотип на приводі "AF" або "4Kn"?
Джеймі Ханрахан

Це питання справді потребує якісної, сучасної відповіді.
Хашим

Відповіді:


2

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

Існують два конкуруючих відображення для розмірів фізичного та логічного секторів. Функція Long Logical Sector дозволяє пристрою мати логічні сектори довше 512B (наприклад, 4Kn), а функція Long Physical Sector дозволяє пристрою мати декілька логічних секторів на фізичний сектор (наприклад, 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 -диски / index.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.