Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Содержит только значения чтения, которые указывают основные возможности контроллера для размещения программного обеспечения.
Эта структура используется в поле возможностей контроллера (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) значения в состоянии контроллера для перехода с:
-
0значение1EN в NVME_CONTROLLER_CONFIGURATION переходит с01; или -
1значение0EN в NVME_CONTROLLER_CONFIGURATION переходит с10.
Это худшее время может возникнуть после таких событий, как резкое завершение работы или активация нового образа встроенного ПО. Обычное время, как ожидается, будет гораздо короче.
Значение этого поля составляет 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 |