Smartctl NVMe SSD: что такое «Максимальный размер передачи данных»?

Я только что заметилMaximum Data Transfer Sizeспецификации на обоих моих твердотельных накопителях NVMe (128 страниц в одном случае и 64 страницы в другом). Что именно это такое? Это то же самое, что и EBS ( Размер блокировки стирания B, см . Бессмысленно или )?ли выравнивание раздела по размеру блока стирания SSD?https://en.wikipedia.org/wiki/Flash_memory#NAND_memories

      # smartctl -c /dev/nvme0n1
(...)
Maximum Data Transfer Size:         128 Pages
(...)


# smartctl -c /dev/nvme1n1
(...)
Maximum Data Transfer Size:         64 Pages
(...)

1 ответ

Из спецификации NVM Express:

Максимальный размер передачи данных (MDTS): В этом поле указывается максимальный размер передачи данных для команды, которая передает данные между памятью, доступной хосту (например, памятью хоста, буфером памяти контроллера (см. раздел 4.7)) и контроллером. Хост не должен отправлять команду, размер которой превышает этот максимальный размер передачи данных. Если отправлена ​​команда, размер которой превышает этот размер передачи, то команда прерывается со статусом «Недопустимое поле в команде». Значение выражается в единицах минимального размера страницы памяти (CAP.MPSMIN) и отображается как степень двойки (2^n). Значение 0h указывает на отсутствие максимального размера передаваемых данных.

Уточним: это объем данных, который может быть отправлен с хоста на устройство хранения за один раз. Это не имеет никакого отношения ни к чему другому (включая структуру базовой флеш-памяти, размер представленного блока и т. д.).


Если вы хотите вычислить фактический размер, вам нужно найти значение MPSMIN, используяnvmeполезность.

Например, следующий твердотельный накопитель поддерживает MDTS размером 2 МБ.

      $ nvme show-regs -H /dev/nvme0 | grep MPSMIN
        Memory Page Size Minimum         (MPSMIN): 4096 bytes
$ smartctl -c /dev/nvme0 | grep 'Maximum Data Transfer Size'
Maximum Data Transfer Size:         512 Pages
Другие вопросы по тегам