união NVME_CONTROLLER_CAPABILITIES (nvme.h)

Contém valores somente leitura que especificam os recursos básicos do controlador para hospedar o software.

Essa estrutura é usada no campo Capacidades do Controlador (CAP) da estrutura NVME_CONTROLLER_REGISTERS .

Sintaxe

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;

Membros

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.MQES

Indica o tamanho máximo da fila individual compatível com o controlador.

Esse valor se aplica a cada uma das Filas de Envio de E/S e filas de conclusão de E/S criadas pelo software host.

Esse é um valor baseado em 0. O valor mínimo é 1h, indicando duas entradas de fila.

DUMMYSTRUCTNAME.CQR

Indica se as Filas de Envio de E/S e as Filas de Conclusão de E/S são exigidas pelo controlador para serem fisicamente contíguas.

Quando esse campo é definido 1como , o controlador requer que as Filas de Envio de E/S e as Filas de Conclusão de E/S sejam fisicamente contíguas. Quando esse campo é limpo para , o controlador dá suporte a 0Filas de Envio de E/S e Filas de Conclusão de E/S que não são fisicamente contíguas.

Quando esse campo é definido 1como , o bit Fisicamente Contíguo (o campo pc ) nos comandos Criar Fila de Envio de E/S e Criar Fila de Conclusão de E/S é definido 1como .

DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent

Indica se o mecanismo de arbitragem Round Robin Ponderado com Classe de Prioridade Urgente tem suporte do controlador.

Quando esse campo é definido como , há suporte para 1o mecanismo de arbitragem Round Robin Ponderado com Classe de Prioridade Urgente.

Esses campos AMS_WeightedRoundRobinWithUrgent e AMS_VendorSpecific indicam os mecanismos de arbitragem opcionais compatíveis com o controlador. O mecanismo de arbitragem round robin não está listado, pois todos os controladores devem dar suporte a esse mecanismo de arbitragem.

DUMMYSTRUCTNAME.AMS_VendorSpecific

Indica se o mecanismo de arbitragem Específico do Fornecedor tem suporte do controlador.

Quando esse campo é definido como , há suporte para 1o mecanismo de arbitragem Específico do Fornecedor.

DUMMYSTRUCTNAME.Reserved0

Um campo reservado (bits de 19 a 23).

DUMMYSTRUCTNAME.TO

Indica a pior hora em que o software host aguardará o valor Pronto (RDY) no Status do Controlador para fazer a transição de:

Esse pior momento pode ser experimentado após eventos como um desligamento abrupto ou ativação de uma nova imagem de firmware. Espera-se que os horários típicos sejam muito mais curtos.

O valor desse campo está em unidades de 500 milissegundos.

DUMMYSTRUCTNAME.DSTRD

Indica o passo entre os registros de campainha.

Cada registro de Fila de Envio e Porta da Fila de Conclusão tem 32 bits de tamanho. O passo a passo é especificado como (2 ^ (2 + DSTRD)) em bytes.

Um valor de 0h indica um passo de 4 bytes, em que os registros de campainha são embalados sem espaço reservado entre cada registro.

DUMMYSTRUCTNAME.NSSRS

Indica se o controlador dá suporte ao recurso de Redefinição de Subsistema NVM definido na estrutura NVME_NVM_SUBSYSTEM_RESET .

Quando esse campo é definido 1como , o controlador dá suporte ao recurso redefinição de subsistema NVM. esse campo é limpo para 0, o controlador não dá suporte ao recurso de Redefinição de Subsistema NVM.

DUMMYSTRUCTNAME.CSS_NVM

Esse campo indica se o conjunto de comandos NVM tem suporte do controlador. Um mínimo de um conjunto de comandos deve ter suporte.

Quando esse campo é definido como , há suporte para 1o conjunto de comandos NVM.

Os campos CSS_Reserved0 por meio de CSS_Reserved6 serão reservados para outros Conjuntos de Comandos de E/S, se o valor de um desses campos for definido 1como , o Conjunto de Comandos de E/S correspondente terá suporte.

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 o tamanho mínimo da página de memória do host compatível com o controlador.

O tamanho mínimo da página de memória é (2 ^ (12 + MPSMIN)).

O host não configurará um tamanho de página de memória no campo MPS de NVME_CONTROLLER_CONFIGURATION menor que esse valor.

DUMMYSTRUCTNAME.MPSMAX

Indica o tamanho máximo da página de memória do host compatível com o controlador.

O tamanho máximo da página de memória é (2 ^ (12 + MPSMAX)).

O host não configurará um tamanho de página de memória no campo MPS de NVME_CONTROLLER_CONFIGURATION maior que esse valor.

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Cabeçalho nvme.h

Confira também