Есть ли способ узнать размер страницы SSD в Linux / Unix? Что такое «физический блок» в выводе fdisk?

17

Везде я читал, что внутренне твердотельные накопители структурированы в 4К или более «страницы», которые сгруппированы в «блоки» по 128-256 страниц ( 1 , 2 ). SSD работают с этими страницами и блоками, «они могут стирать данные только на уровне блоков» (таким образом, блок страниц называется «[NAND] erase block»). И блоки 512B для раздела эмулируются (что сделано по старым причинам).

Я пытаюсь научиться работать с твердотельными накопителями, поскольку у меня возникают странные лаги / зависания во время записи на мой Sandisk U100 на ноутбуке Samsung 9 np900x3c. И еще одна полезная вещь - правильно узнать, какие страницы / блоки есть у моего SSD?

Есть ли в /sys/...Linux утилита или файл для определения размера страницы SSD?

Или «может понадобиться привод и поиск номеров деталей на чипах NAND», как в комментарии ?

Погуглил мой SSD Sandisk Я не могу найти правильную таблицу данных / спецификации. Но Sandisk и люди упоминают «случайное чтение / запись 4K». Означает ли это, что на диске 4K страниц?

Также fdiskпоказывает размер сектора (как физического, так и логического) и 512 байт ввода / вывода:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b914713

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    50331647    25164800   83  Linux
/dev/sda2        50331648   239583231    94625792   83  Linux
/dev/sda4       239583232   250068991     5242880   82  Linux swap / Solaris

Каков здесь «физический» размер сектора? Похоже, это не параметр самого SSD-накопителя, поскольку все говорят, что страницы SSD имеют размер 4K +. Это эмулируемый параметр для диска? И "логичным" является размер сектора для раздела? Кроме того, каков размер ввода / вывода?

PS

Этот вопрос, вероятно, такой же, как и этот вопрос для USB-флеш-памяти - там нет ответа, man fsstatговорит fsstat displays the details associated with a file systemвопрос , а вопрос о самом диске. В моем сообщении есть больше деталей, может быть, это привлечет лучшие ответы?

xealits
источник

Ответы:

11
  • Размер физического блока, о котором сообщается, fdisk- это размер физического блока, сообщаемый диском по запросу. Это редко имеет какое-либо отношение к страницам SSD или стиранию блоков.

  • 4 Чтение / запись КиБ - это общая мера производительности ввода-вывода, представляющая «малые» операции ввода-вывода.

  • Для SSD не существует стандартного способа сообщить размер своей страницы или размер блока стирания. Мало кто из производителей сообщит о них в технических паспортах. (Потому что они могут меняться в течение срока действия SKU, например, из-за смены поставщиков.) Есть технический документ от Intel, который предполагает, что выравнивания в 4 КиБ достаточно.

  • Для практического использования просто выровняйте все свои структуры данных (разделы, полезную нагрузку контейнеров LUKS, логические тома LVM) по границам 1 или 2 МБ. В конце концов, это твердотельный накопитель - он разработан для работы с обычными файловыми системами, такими как NTFS (который использует 4 единицы распределения по КиБ). Если Windows считает, что выравнивания разделов на 1 МБ достаточно, вы можете поспорить, что любой производитель твердотельных накопителей позаботится о том, чтобы их продукты хорошо работали с такой конфигурацией.

  • Лучше всего оставить от 5% до 10% нераспределенного пространства вне каких-либо разделов. Наличие сверхобеспеченного пространства очень помогает SSD в поддержании их производительности во времени.

AlexP
источник
«Есть технический документ от Intel, который предполагает, что выравнивания в 4 КиБ достаточно». Как вы получаете это из связанной бумаги? Я посмотрел на это, и совсем не очевидно, где газета заявляет об этом.
Мэтью
@ Матфея: Страница 7: «большинство новых жестких дисков и твердотельных накопителей Intel работают лучше с выравниванием 4096 байт (4 КБ)» .
AlexP
Я прочитал это как «по сравнению с 512 байтами», что неудивительно. Кроме того, следующие рисунки означают размер страницы 4 КБ. Я не воспринимаю это как подразумевающее, что «4 КБ достаточно для накопителей со страницами> 4 КБ» ... или что это должно сказать что-то о дисках не-Intel.
Мэтью
+1 за строгое man units
соблюдение
Почему наличие сверхобеспеченного пространства ... очень помогает SSD в поддержании их производительности во времени ?
XavierStuvw
2

smartctl(доступно в smartmontools) должно сделать это за вас.

13dimitar
источник
2
Как ОП использует этот инструмент для этого?
roaima
сейчас я получаю те же 512B физические и логические сектора smartctl -i /dev/sda, но не знаю, как читать, smartctl --all /dev/sdaи smartctl --xall /dev/sdaотправил ядро ​​в панику ..
xealits
2
После прочитать на SMART , я думаю , что это не решает такую информацию , как твердотельных накопителей внутренней структуры - он контролирует некоторые параметры на ошибки / «здоровье» на диске, пытаясь поймать возможность сбоя диска
xealits