объединение NVME_CONTROLLER_MEMORY_BUFFER_SIZE (nvme.h)
Определяет размер необязательного регистра буфера памяти контроллера и используется в поле CMBSZструктуры NVME_CONTROLLER_REGISTERS .
Если контроллер не поддерживает функцию буфера памяти контроллера, поле CMBSZ очищается до 0h
.
Расположение буфера памяти контроллера указывается в поле CMBLOCNVME_CONTROLLER_REGISTERS.
Синтаксис
typedef union {
struct {
ULONG SQS : 1;
ULONG CQS : 1;
ULONG LISTS : 1;
ULONG RDS : 1;
ULONG WDS : 1;
ULONG Reserved : 3;
ULONG SZU : 4;
ULONG SZ : 20;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CONTROLLER_MEMORY_BUFFER_SIZE, *PNVME_CONTROLLER_MEMORY_BUFFER_SIZE;
Члены
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.SQS
Указывает, поддерживает ли контроллер Администратор и очереди отправки ввода-вывода в буфере памяти контроллера.
Если для этого значения задано 1
значение , контроллер поддерживает Администратор и очереди отправки ввода-вывода в буфере памяти контроллера.
Если это значение будет снято, 0
все очереди отправки будут помещены в память узла.
DUMMYSTRUCTNAME.CQS
Указывает, поддерживает ли контроллер очереди Администратор и завершения ввода-вывода в буфере памяти контроллера.
Если для этого значения задано 1
значение , контроллер поддерживает Администратор и очереди завершения ввода-вывода в буфере памяти контроллера.
Если это значение будет снято, 0
все очереди завершения будут помещены в память узла.
DUMMYSTRUCTNAME.LISTS
Указывает, поддерживает ли контроллер страницу физических областей (PRP) и Списки точечного сбора (SGL) в буфере памяти контроллера.
Если для этого значения задано значение 1
, контроллер поддерживает Списки PRP в буфере памяти контроллера. Если задано 1
значение , а SGL поддерживаются контроллером, контроллер поддерживает SGL в буфере памяти контроллера. Если для этого бита задано значение 1
, для поля "Поддержка очереди отправки" (SQS) будет задано значение 1
.
Если это значение будет очищено в 0
, все Списки PRP и SGL будут помещены в память узла.
DUMMYSTRUCTNAME.RDS
Указывает, поддерживает ли контроллер данные и метаданные в буфере памяти контроллера для команд, таких как команда Read, которые передают данные с контроллера на узел.
Если для этого значения задано значение 1
, контроллер поддерживает данные и метаданные в буфере памяти контроллера для команд, которые передают данные с контроллера на узел.
Если это значение будет удалено в 0
, все данные и метаданные для команд, которые передают данные с контроллера на узел, будут переданы в память узла.
DUMMYSTRUCTNAME.WDS
Указывает, поддерживает ли контроллер данные и метаданные в буфере памяти контроллера для команд, таких как команда Write, которые передают данные с узла на контроллер.
Если для этого значения задано значение 1
, контроллер поддерживает данные и метаданные в буфере памяти контроллера для команд, которые передают данные с узла на контроллер.
Если это значение будет удалено 0
в , все данные и метаданные для команд, которые передают данные с узла на контроллер, будут передаваться из памяти узла.
DUMMYSTRUCTNAME.Reserved
DUMMYSTRUCTNAME.SZU
Значение NVME_CMBSZ_SIZE_UNITS , указывающее степень детализации поля "Размер SZ ".
DUMMYSTRUCTNAME.SZ
Указывает размер буфера памяти контроллера, доступного для использования узлом. Размер кратен SZU единицы размера.
Если значение Offset (поле OFST в структуре NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ) + Size (SZ) превышает длину указанного регистра базовых адресов (поле BIR в структуре NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ), размер, доступный для узла, ограничивается длиной базового регистра адресов.
AsUlong
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Верхняя часть | nvme.h |