Подходит ли размер физического сектора по умолчанию в 512 байт для дисков SSD под Linux?

GSmartControl и любой другой инструмент командной строки (например, fdisk, smartctl, cat /sys/block/sd*/queue/hw_sector_size, cat /sys/block/sd*/queue/physical_block_size), которые я использовал, использовали отчет одинаково для обоих моих дисков:

[ 110]

Это стандартная установка Ubuntu 18.10 (позже обновленная до 19.04). Однако команда stat -f на обоих дисках сообщает:

Block size: 4096       Fundamental block size: 4096

Оба моих диска являются твердотельными накопителями, и AFAIK SSD-дискам требуется размер сектора 4K . Это нормально или я что-то упустил? Обеспечивает ли информация, возвращаемая stat (= 4K), что ОС будет всегда отправлять ввод-вывод на диск в кратном 4K , и эти блоки никогда не будут пересекать границы 4K (блоки ввода-вывода всегда будут выровнены по 4K)?

Обратите внимание на следующий вывод (sdb2 - мой корневой раздел , sda - мой /home диск):

# fdisk -l /dev/sd?
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: SanDisk SDSSDH35
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 /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: ADATA SU800NS38 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: xxxx....

Device       Start       End   Sectors  Size Type
/dev/sdb1     2048   1050623   1048576  512M EFI System
/dev/sdb2  1050624 500117503 499066880  238G Linux filesystem

# df / /home
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdb2      244568380  17799136 214276188   8% /
/dev/sda       479670976 129685112 325550152  29% /home
9
задан 23 May 2019 в 20:24

3 ответа

В старые времена 512-байтовые сектора были нормой для дисков. Система использовала для чтения / записи секторов только один сектор за раз, и это было лучшее, что могли сделать старые жесткие диски.

Теперь, когда современные накопители такие плотные, быстрые и умные, чтение / запись секторов только по одному сектору за раз действительно замедляет общую пропускную способность.

Хитрость была в том, как ... как увеличить общую пропускную способность, но при этом поддерживать совместимость со старыми / стандартными дисковыми подсистемами? Вы создаете размер блока 4096, который состоит из восьми физических секторов по 512 байт. Теперь 4096 является минимальным переносом чтения / записи на / с диска, но он передается в совместимых 512-байтовых блоках в ОС.

Это означает, что даже если системе требуется только один 512-байтовый сектор информации, накопитель считывает восемь 512-байтовых секторов, чтобы получить его. Однако если системе нужны следующие семь секторов, она уже прочитала их, поэтому дискового ввода-вывода не требуется ... отсюда и увеличение общей пропускной способности.

Современные операционные системы могут в полной мере использовать преимущества стандартных размеров блоков 4K современных накопителей.

0
ответ дан 23 May 2019 в 20:24

Согласно Википедии «Расширенный формат (AF)» - это любой формат сектора диска, используемый для хранения данных на дисках, размер которого превышает 512, 520 или 528 байт на сектор, например, 4096-байтовые сектора диска расширенного формата (AFD). ) «. Расширенный формат (AF) - это формат диска, который изначально использует размер сектора 4096 байт вместо 512 байт. Для обеспечения совместимости с устаревшими системами диски AF эмулируют размер сектора 512 байт.

Я получил те же результаты, что и вы, запустив stat -f и smartctl на двух SSD. Оба твердотельных накопителя были автоматически распознаны ОС, когда они были установлены, и им потребовалась нулевая конфигурация, поэтому кажется, что полученные данные являются настройками по умолчанию для размера блока и размера сектора.

0
ответ дан 23 May 2019 в 20:24

Подходит ли размер физического сектора по умолчанию в 512 байт для дисков SSD в Linux?

Оба моих диска являются твердотельными дисками, а для дисков AFAIK SSD требуется размер сектора 4 КБ. Это нормально или я что-то упустил?

В старых аппаратных и операционных системах использовалось 512 байтных секторов, с 2011 г. (почти) все оборудование для хранения имеет 4096 (или ). большие ) байтовые сектора; но некоторые аппаратные средства поддерживают эмуляцию 512-байтовых секторов для устаревших систем. Есть исключения, Samsung 840 EVO SSD имеет блоки размером и размером 2048 КБ .

Код исправления ошибок (ECC) рассчитывается для каждого 512-байтового блока, и, как вы можете себе представить, данные ECC также требуют места для хранения. Само собой разумеется, что один 4096-байтовый сектор требует меньше информации ECC, чем восемь 512-байтовых блоков, если алгоритмы ECC остаются неизменными. В итоге общая емкость хранилища жесткого диска увеличивается в результате меньшего объема данных ECC.

Использование секторов 4K имеет смысл с архитектурной точки зрения, поскольку другие показатели (например, страницы памяти x86 и многие кластеры файловой системы) также используют размер 4 КБ. Расширенный формат позволяет использовать более надежные алгоритмы ECC, что важно в свете постоянно растущих возможностей. Контроллеры используют дополнительные методы , выходящие за рамки исправления ошибок, путем понимания характеристик ошибок флэш-памяти NAND и поведения рабочей нагрузки.

Расширенный формат (AF) - это любой формат сектора диска, используемый для хранения данных на магнитных дисках на жестких дисках (HDD), размер которых превышает 512, 520 или 528 байт на сектор, например 4096, 4112, 4160 и 4224. -байтовые (4 КБ) сектора диска расширенного формата (AFD). Большие сектора позволяют интегрировать более надежные алгоритмы исправления ошибок, чтобы поддерживать целостность данных при более высокой плотности хранения.

Для дисков SCSI (SAS) размер блока RAID превышает размер блока JBOD из-за стандартизованных полей целостности данных SCSI T10 вместе с логической проверкой плохих блоков, сохраненной в каждом блоке с данные. RAID-адаптеры SAS поддерживают дисковые блоки на основе 512 байт данных или 4 Кбайт данных. Размер блока RAID для 512 дисков составляет 528 байт на сектор, а размер блока RAID для дисков 4K составляет 4224 байт на сектор.

Поскольку вы выполняете запись в память, а размер физического сектора вращающегося диска не оказывает такого влияния, как , обеспечивается соответствие ваших разделов размеру стираемого блока . Тем не менее, лучше иметь современное программное и аппаратное обеспечение и использовать размер сектора 4K.

Intel рекомендует более крупный размер сектора - « Повышение оптимальной производительности за счет изменения размера физического сектора SSD ».

0
ответ дан 23 May 2019 в 20:24

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

Похожие вопросы: