объединение NVME_CONTROLLER_CAPABILITIES (nvme.h)

Содержит только значения чтения, которые указывают основные возможности контроллера для размещения программного обеспечения.

Эта структура используется в поле возможностей контроллера (CAP) структуры NVME_CONTROLLER_REGISTERS .

Синтаксис

typedef union {
  struct {
    ULONGLONG MQES : 16;
    ULONGLONG CQR : 1;
    ULONGLONG AMS_WeightedRoundRobinWithUrgent : 1;
    ULONGLONG AMS_VendorSpecific : 1;
    ULONGLONG Reserved0 : 5;
    ULONGLONG TO : 8;
    ULONGLONG DSTRD : 4;
    ULONGLONG NSSRS : 1;
    ULONGLONG CSS_NVM : 1;
    ULONGLONG CSS_Reserved0 : 1;
    ULONGLONG CSS_Reserved1 : 1;
    ULONGLONG CSS_Reserved2 : 1;
    ULONGLONG CSS_Reserved3 : 1;
    ULONGLONG CSS_Reserved4 : 1;
    ULONGLONG CSS_MultipleIo : 1;
    ULONGLONG CSS_AdminOnly : 1;
    ULONGLONG Reserved2 : 3;
    ULONGLONG MPSMIN : 4;
    ULONGLONG MPSMAX : 4;
    ULONGLONG Reserved3 : 8;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_CONTROLLER_CAPABILITIES, *PNVME_CONTROLLER_CAPABILITIES;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.MQES

Указывает максимальный размер отдельной очереди, которую поддерживает контроллер.

Это значение применяется к каждой из очередей отправки ввода-вывода и очередей завершения ввода-вывода, создаваемых узлом программного обеспечения.

Это значение на основе 0. Минимальное значение — это 1hзначение, указывающее две записи очереди.

DUMMYSTRUCTNAME.CQR

Указывает, требуются ли очереди отправки ввода-вывода и очереди завершения ввода-вывода контроллера физически связаны.

Если для этого поля задано 1значение, контроллер требует, чтобы очереди отправки ввода-вывода и очереди завершения ввода-вывода физически связаны. Когда это поле очищается 0, контроллер поддерживает очереди отправки ввода-вывода и очереди завершения ввода-вывода, которые физически не связаны.

Если для этого поля задано 1значение , то для команды "Создание очереди отправки ввода-вывода" задается физически смежный бит (поле КОМПЬЮТЕРА) и командами 1очереди завершения ввода-вывода.

DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent

Указывает, поддерживается ли механизм арбитража взвешенных раундов с срочным приоритетом, поддерживаемым контроллером.

Если для этого поля задано 1значение, поддерживается механизм арбитража взвешенных раундов с срочным приоритетом.

Эти AMS_WeightedRoundRobinWithUrgent и AMS_VendorSpecific поля указывают необязательные механизмы арбитража, поддерживаемые контроллером. Механизм обходного арбитража не указан, так как все контроллеры должны поддерживать этот механизм арбитража.

DUMMYSTRUCTNAME.AMS_VendorSpecific

Указывает, поддерживается ли механизм арбитража конкретного поставщика контроллером.

Если для этого поля задано 1значение, поддерживается механизм арбитража конкретного поставщика.

DUMMYSTRUCTNAME.Reserved0

Зарезервированное поле (биты от 19 до 23).

DUMMYSTRUCTNAME.TO

Указывает на худшее время, когда хост-программное обеспечение ожидает завершения (RDY) значения в состоянии контроллера для перехода с:

Это худшее время может возникнуть после таких событий, как резкое завершение работы или активация нового образа встроенного ПО. Обычное время, как ожидается, будет гораздо короче.

Значение этого поля составляет 500 миллисекунда.

DUMMYSTRUCTNAME.DSTRD

Указывает шаг между регистрами doorbell.

Каждая регистрация очереди отправки и очереди завершения Doorbell составляет 32 бита. Шаг указан как (2 ^ (2 + DSTRD)) в байтах.

Значение 0h указывает на шаг 4 байта, где регистры doorbell упаковываются без зарезервированного пространства между каждым регистром.

DUMMYSTRUCTNAME.NSSRS

Указывает, поддерживает ли контроллер функцию сброса подсистемы NVM, определенную в структуре NVME_NVM_SUBSYSTEM_RESET .

Если для этого поля задано 1значение, контроллер поддерживает функцию сброса подсистемы NVM. hen это поле очищается 0, контроллер не поддерживает функцию сброса подсистемы NVM.

DUMMYSTRUCTNAME.CSS_NVM

Это поле указывает, поддерживается ли набор команд NVM контроллером. Необходимо поддерживать как минимум один набор команд.

Если для этого поля задано 1значение, поддерживается набор команд NVM.

Поля CSS_Reserved0 через CSS_Reserved6 зарезервированы для других наборов команд ввода-вывода, если задано 1значение одного из этих полей, то поддерживается соответствующий набор команд ввода-вывода.

DUMMYSTRUCTNAME.CSS_Reserved0

DUMMYSTRUCTNAME.CSS_Reserved1

DUMMYSTRUCTNAME.CSS_Reserved2

DUMMYSTRUCTNAME.CSS_Reserved3

DUMMYSTRUCTNAME.CSS_Reserved4

DUMMYSTRUCTNAME.CSS_MultipleIo

DUMMYSTRUCTNAME.CSS_AdminOnly

DUMMYSTRUCTNAME.Reserved2

DUMMYSTRUCTNAME.MPSMIN

Указывает минимальный размер страницы памяти узла, которую поддерживает контроллер.

Минимальный размер страницы памяти .(2 ^ (12 + MPSMIN))

Узел не настраивает размер страницы памяти в поле MPSNVME_CONTROLLER_CONFIGURATION меньше этого значения.

DUMMYSTRUCTNAME.MPSMAX

Указывает максимальный размер страницы памяти узла, которую поддерживает контроллер.

Максимальный размер страницы памяти .(2 ^ (12 + MPSMAX))

Узел не настроит размер страницы памяти в поле MPSNVME_CONTROLLER_CONFIGURATION больше этого значения.

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 10
Header nvme.h

См. также