GSmartControl и любой другой инструмент командной строки (например, fdisk
, smartctl
, cat /sys/block/sd*/queue/hw_sector_size
, cat /sys/block/sd*/queue/physical_block_size
), которые я использовал, использовали отчет одинаково для обоих моих дисков:
Это стандартная установка 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
В старые времена 512-байтовые сектора были нормой для дисков. Система использовала для чтения / записи секторов только один сектор за раз, и это было лучшее, что могли сделать старые жесткие диски.
Теперь, когда современные накопители такие плотные, быстрые и умные, чтение / запись секторов только по одному сектору за раз действительно замедляет общую пропускную способность.
Хитрость была в том, как ... как увеличить общую пропускную способность, но при этом поддерживать совместимость со старыми / стандартными дисковыми подсистемами? Вы создаете размер блока 4096, который состоит из восьми физических секторов по 512 байт. Теперь 4096 является минимальным переносом чтения / записи на / с диска, но он передается в совместимых 512-байтовых блоках в ОС.
Это означает, что даже если системе требуется только один 512-байтовый сектор информации, накопитель считывает восемь 512-байтовых секторов, чтобы получить его. Однако если системе нужны следующие семь секторов, она уже прочитала их, поэтому дискового ввода-вывода не требуется ... отсюда и увеличение общей пропускной способности.
Современные операционные системы могут в полной мере использовать преимущества стандартных размеров блоков 4K современных накопителей.
Согласно Википедии «Расширенный формат (AF)» - это любой формат сектора диска, используемый для хранения данных на дисках, размер которого превышает 512, 520 или 528 байт на сектор, например, 4096-байтовые сектора диска расширенного формата (AFD). ) «. Расширенный формат (AF) - это формат диска, который изначально использует размер сектора 4096 байт вместо 512 байт. Для обеспечения совместимости с устаревшими системами диски AF эмулируют размер сектора 512 байт.
Я получил те же результаты, что и вы, запустив stat -f
и smartctl
на двух SSD. Оба твердотельных накопителя были автоматически распознаны ОС, когда они были установлены, и им потребовалась нулевая конфигурация, поэтому кажется, что полученные данные являются настройками по умолчанию для размера блока и размера сектора.
Подходит ли размер физического сектора по умолчанию в 512 байт для дисков SSD в Linux?
Оба моих диска являются твердотельными дисками, а для дисков AFAIK SSD требуется размер сектора 4 КБ. Это нормально или я что-то упустил?
blockquote>В старых аппаратных и операционных системах использовалось 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 ».