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 1
como , 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 0
Filas 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 1
como , 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 1
como .
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 1
o 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 1
o 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:
-
0
para1
depois que o valor EN em NVME_CONTROLLER_CONFIGURATION faz a transição de0
para1
; ou -
1
para0
depois que o valor EN em NVME_CONTROLLER_CONFIGURATION faz a transição de1
para0
.
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 1
como , 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 1
o 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 1
como , 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 |