Поделиться через


объединение 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

См. также раздел