Чи є спосіб дізнатися розмір сторінки SSD в Linux / Unix? Що таке "фізичний блок" у виході fdisk?


17

Скрізь я читав, що внутрішньо жорсткі диски структуровані в 4K або більші "сторінки", які згруповані в "блоки" приблизно 128-256 сторінок ( 1 , 2 ). SSD-диски працюють з цими сторінками та блоками, "вони можуть видаляти дані лише на рівні блоку" (таким чином блок сторінок називається "[NAND] блок видалення"). І блоки 512B для розділу емулюються (що робиться з застарілих причин).

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

Чи є утиліта або /sys/...файл в Linux для визначення розміру сторінки SSD?

Або "необхідний привід та гуглінг номерів деталей на NAND-чіпах", як у коментарі ?

Погугливши мій накопичувач Sandisk SSD, я не можу знайти відповідну таблицю даних / характеристики. Але Сандіск і люди згадують "4К випадкових читання / запису". Це означає, що диск має 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а питання стосується самого диска. У моєму дописі є більше деталей, можливо, це приверне кращі відповіді?

Відповіді:


11
  • Фізичний розмір блоку, про який повідомляється, fdisk- це фізичний розмір блоку, повідомлений на диску при запиті. Він рідко має будь-які стосунки зі сторінками SSD або блоками стирання.

  • 4 KiB читання / запис є загальним показником продуктивності вводу / виводу, що представляє "малі" операції вводу / виводу.

  • Існує не стандартний спосіб для SSD повідомляти про розмір сторінки або видаляти розмір блоку. Мало хто із виробників повідомляє про них у таблицях. (Тому що вони можуть змінюватися протягом життя SKU, наприклад, через зміну постачальників.) Існує інформаційний документ від Intel, який дозволяє припустити, що вирівнювання 4 КБ достатньо.

  • Для практичного використання просто вирівняйте всі ваші структури даних (розділи, корисне навантаження контейнерів LUKS, логічні обсяги LVM) до 1 або 2 меж МіБ. Зрештою, це SSD - він розроблений для того, щоб справлятися зі звичайними файловими системами, такими як NTFS (який використовує 4 одиниці розподілу KiB). Якщо Windows вважає, що вирівнювання розділів до 1 MiB, ви можете зробити ставку, що будь-який виробник SSD переконається, що їх продукція добре працює з такою конфігурацією.

  • Краще залишити близько 5% до 10% нерозподіленого простору поза будь-якими перегородками. Занадто забезпечений простір дуже допомагає SSD-дискам у підтримці їх продуктивності в часі.


"Існує інформаційний документ від Intel, який говорить про те, що вирівнювання в 4 KiB достатньо." Як ви це розумієте з пов'язаного паперу? Я переглянув це, і це зовсім не очевидно, де папір це стверджує.
Матвій

@Matthew: Стор. 7: "Більшість нових жорстких дисків та SSD-дисків Intel краще працювати з вирівнюванням 4096 байт (4 КБ)" .
AlexP

Я читав це як "порівняно з 512 байтами", що навряд чи дивно. Крім того, наступні малюнки, схоже, означають розмір сторінки в 4 Кбіт. Я не читаю цього, як маючи на увазі, що "4KiB досить хороший для накопичувачів зі сторінками> 4KiB" ... або що це означає сказати що- небудь про диски, які не є Intel.
Метью

+1 для суворого дотримання позначення KiB / MiB --- див. man unitsДля скептиків
XavierStuvw

Чому надмірно забезпечений простір ... дуже допомагає SSD-дискам у підтримці їхньої продуктивності в часі ?
XavierStuvw

2

smartctl(доступно в smartmontools) повинен зробити це за вас.


2
Як ОП використовує цей інструмент для цього?
roaima

поки що я отримую ті самі фізичні та логічні сектори 512B smartctl -i /dev/sda, не впевнені, як читати smartctl --all /dev/sdaта smartctl --xall /dev/sdaнадсилати ядро ​​в паніку ..
xealits

2
Після прочитати на SMART , я думаю , що це не вирішує таку інформацію , як твердотільних накопичувачів внутрішньої структури - він контролює деякі параметри на помилки / «здоров'я» на диску, намагаючись зловити можливість збою диска
xealits
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.