5

Я использовал инструмент центра обработки данных Intel SSD для проверки информации о NVMe, как показано ниже:

- Intel Optane(TM) SSD DC P4800X FUKS7175003R375AGN -
...
Bootloader : EB3B0213
DevicePath : /dev/nvme0n1
DeviceStatus : Healthy
Firmware : E2010211
IntelNVMe : True
LBAFormat : 0
NativeMaxLBA : 732585167
NumErrorLogPageEntries : 63
NumLBAFormats : 6
PhySpeed : The selected drive does not support this feature.
PhysicalSectorSize : The selected drive does not support this feature.
PhysicalSize : 375083606016
PowerGovernorAveragePower : The desired feature is not supported.
...
SMBusAddress : 256
SectorSize : 512
SerialNumber : FUKS7175003R375AGN
TCGSupported : False
...

Как видите, SectorSize = 512. Однако, когда я тестирую с fio, используя blocksize=4096 намного быстрее, чем blocksize=512 . Я знаю, что страницу в SSD необходимо стереть перед повторной записью, но здесь 512 должен быть точно таким же, как страница, поэтому он должен быть быстрым, как это случилось?

1 ответ1

3

В случае твердотельных накопителей размер блока, представляемого верхним уровням, нигде не приближается к размеру стираемой страницы, но на 4096 байт ближе к размеру стираемой страницы, чем 512 байт. Кроме того, если вы отправляете данные в виде "сгустков" из 4096 байт, а не 512 байт, тогда для того же общего объема операций ввода-вывода требуется меньше работы, и операции ввода-вывода будут чаще выравниваться по размеру страницы. На самом деле, вы, вероятно, обнаружите, что при использовании размера блока в 64 Кб все будет быстрее - минимальный размер блока отличается от оптимального размера блока! См. Http://codecapsule.com/2014/02/12/coding-for-ssds-part-2-architecture-of-an-ssd-and-benchmarking/ (особенно раздел о страницах и блоках NAND-flash) и http://codecapsule.com/2014/02/12/coding-for-ssds-part-3-pages-blocks-and-the-flash-translation-layer/ для получения подробной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .