unión NVME_CONTROLLER_CAPABILITIES (nvme.h)
Contiene valores de solo lectura que especifican las funcionalidades básicas del controlador para hospedar software.
Esta estructura se usa en el campo Capacidades del controlador (CAP) de la estructura NVME_CONTROLLER_REGISTERS .
Sintaxis
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;
Miembros
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.MQES
Indica el tamaño máximo de cola individual que admite el controlador.
Este valor se aplica a cada una de las colas de envío de E/S y las colas de finalización de E/S que crea el software host.
Se trata de un valor basado en 0. El valor mínimo es 1h
, que indica dos entradas de cola.
DUMMYSTRUCTNAME.CQR
Indica si el controlador necesita que las colas de envío de E/S y las colas de finalización de E/S sean físicamente contiguos.
Cuando este campo se establece 1
en , el controlador requiere que las colas de envío de E/S y las colas de finalización de E/S sean físicamente contiguos.
Cuando este campo se borra en 0
, el controlador admite colas de envío de E/S y colas de finalización de E/S que no son físicamente contiguos.
Cuando este campo se establece 1
en , el bit Físicamente contiguo (el campo PC ) de la cola crear envío de E/S y crear cola de finalización de E /S se establece 1
en .
DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent
Indica si el controlador admite el mecanismo de arbitraje de round Robin ponderado con prioridad urgente.
Cuando este campo se establece 1
en , se admite el mecanismo de arbitraje ponderado Round Robin con prioridad urgente.
Este AMS_WeightedRoundRobinWithUrgent y AMS_VendorSpecific campos indican los mecanismos de arbitraje opcionales admitidos por el controlador. El mecanismo de arbitraje round robin no aparece en la lista, ya que todos los controladores deben admitir este mecanismo de arbitraje.
DUMMYSTRUCTNAME.AMS_VendorSpecific
Indica si el controlador admite el mecanismo de arbitraje específico del proveedor.
Cuando este campo se establece 1
en , se admite el mecanismo de arbitraje específico del proveedor.
DUMMYSTRUCTNAME.Reserved0
Campo reservado (bits de 19 a 23).
DUMMYSTRUCTNAME.TO
Indica el peor de los casos en que el software host esperará el valor Listo (RDY) en Estado del controlador para realizar la transición de:
-
0
a1
después del valor EN en NVME_CONTROLLER_CONFIGURATION pasa de0
a1
; o -
1
a0
después del valor EN de NVME_CONTROLLER_CONFIGURATION pasa de1
a0
.
Este peor momento puede experimentarse después de eventos como un apagado brusco o la activación de una nueva imagen de firmware. Se espera que los tiempos típicos sean mucho más cortos.
El valor de este campo está en unidades de 500 milisegundos.
DUMMYSTRUCTNAME.DSTRD
Indica el paso entre los registros de timbre.
Cada registro de timbre de cola de envío y cola de finalización tiene un tamaño de 32 bits. El intervalo se especifica como (2 ^ (2 + DSTRD))
en bytes.
Un valor de 0h
indica un intervalo de 4 bytes, donde los registros de timbre se empaquetan sin espacio reservado entre cada registro.
DUMMYSTRUCTNAME.NSSRS
Indica si el controlador admite la característica de restablecimiento del subsistema NVM definida en la estructura de NVME_NVM_SUBSYSTEM_RESET .
Cuando este campo se establece 1
en , el controlador admite la característica de restablecimiento del subsistema NVM.
hen este campo se borra en 0
, el controlador no admite la característica de restablecimiento del subsistema NVM.
DUMMYSTRUCTNAME.CSS_NVM
Este campo indica si el controlador admite el conjunto de comandos NVM. Se debe admitir un mínimo de un conjunto de comandos.
Cuando este campo se establece 1
en , se admite el conjunto de comandos de NVM.
El CSS_Reserved0 a través de CSS_Reserved6 campos se reserva para otros conjuntos de comandos de E/S, si el valor de uno de estos campos se establece 1
en , se admite el conjunto de comandos de E/S correspondiente.
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
Indica el tamaño mínimo de página de memoria del host que admite el controlador.
El tamaño mínimo de página de memoria es (2 ^ (12 + MPSMIN))
.
El host no configurará un tamaño de página de memoria en el campo MPS de NVME_CONTROLLER_CONFIGURATION que sea menor que este valor.
DUMMYSTRUCTNAME.MPSMAX
Indica el tamaño máximo de página de memoria del host que admite el controlador.
El tamaño máximo de página de memoria es (2 ^ (12 + MPSMAX))
.
El host no configurará un tamaño de página de memoria en el campo MPS de NVME_CONTROLLER_CONFIGURATION mayor que este valor.
DUMMYSTRUCTNAME.Reserved3
AsUlonglong
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10 |
Encabezado | nvme.h |