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 1en , 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 1en , 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 1en .

DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent

Indica si el controlador admite el mecanismo de arbitraje de round Robin ponderado con prioridad urgente.

Cuando este campo se establece 1en , 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 1en , 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:

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 1en , 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 1en , 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 1en , 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

Consulte también