união NVME_CONTROLLER_MEMORY_BUFFER_SIZE (nvme.h)
Define o tamanho do registro opcional do Buffer de Memória do Controlador e é usado no campo CMBSZ da estrutura NVME_CONTROLLER_REGISTERS .
Se o controlador não der suporte ao recurso buffer de memória do controlador, o campo CMBSZ será limpo para 0h
.
O local do Buffer de Memória do Controlador é especificado no campo CMBLOC de NVME_CONTROLLER_REGISTERS.
Sintaxe
typedef union {
struct {
ULONG SQS : 1;
ULONG CQS : 1;
ULONG LISTS : 1;
ULONG RDS : 1;
ULONG WDS : 1;
ULONG Reserved : 3;
ULONG SZU : 4;
ULONG SZ : 20;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CONTROLLER_MEMORY_BUFFER_SIZE, *PNVME_CONTROLLER_MEMORY_BUFFER_SIZE;
Membros
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.SQS
Indica se o controlador dá suporte a filas de envio de Administração e de E/S no Buffer de Memória do Controlador.
Quando esse valor é definido 1
como , o controlador dá suporte a filas de envio de E/S e Administração no Buffer de Memória do Controlador.
Quando esse valor for limpo para 0
, todas as Filas de Envio serão colocadas na memória do host.
DUMMYSTRUCTNAME.CQS
Indica se o controlador dá suporte a filas de conclusão de Administração e de E/S no Buffer de Memória do Controlador.
Quando esse valor é definido 1
como , o controlador dá suporte a filas de conclusão de Administração e de E/S no Buffer de Memória do Controlador.
Quando esse valor for limpo para 0
, todas as Filas de Conclusão serão colocadas na memória do host.
DUMMYSTRUCTNAME.LISTS
Indica se o controlador dá suporte a PRP (Página de Região Física) e SGL (Listas de Coleta de Dispersão) no Buffer de Memória do Controlador.
Quando esse valor é definido 1
como , o controlador dá suporte a Listas PRP no Buffer de Memória do Controlador. Se o valor for definido 1
como e os SGLs tiverem suporte do controlador, o controlador oferecerá suporte a SGLs no Buffer de Memória do Controlador. Se esse bit for definido como , o campo Suporte à 1
Fila de Envio (SQS) será definido 1
como .
Quando esse valor for limpo para 0
, todos os Listas e SGLs do PRP serão colocados na memória do host.
DUMMYSTRUCTNAME.RDS
Indica se o controlador dá suporte a dados e metadados no Buffer de Memória do Controlador para comandos, como o comando Read, que transferem dados do controlador para o host.
Quando esse valor é definido 1
como , o controlador dá suporte a dados e metadados no Buffer de Memória do Controlador para comandos que transferem dados do controlador para o host.
Quando esse valor for limpo para 0
, todos os dados e metadados para comandos que transferem dados do controlador para o host serão transferidos para a memória do host.
DUMMYSTRUCTNAME.WDS
Indica se o controlador dá suporte a dados e metadados no Buffer de Memória do Controlador para comandos, como o comando Write, que transferem dados do host para o controlador.
Quando esse valor é definido 1
como , o controlador dá suporte a dados e metadados no Buffer de Memória do Controlador para comandos que transferem dados do host para o controlador.
Quando esse valor for limpo para 0
, todos os dados e metadados para comandos que transferem dados do host para o controlador serão transferidos da memória do host.
DUMMYSTRUCTNAME.Reserved
DUMMYSTRUCTNAME.SZU
Um valor NVME_CMBSZ_SIZE_UNITS que indica a granularidade do campo Tamanho SZ .
DUMMYSTRUCTNAME.SZ
Indica o tamanho do Buffer de Memória do Controlador disponível para uso pelo host. O tamanho está em múltiplos do SZU da Unidade de Tamanho.
Se o Deslocamento (o campo OFST na estrutura NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ) + Tamanho (SZ) exceder o comprimento do Registro de Endereço Base especificado (o campo BIR na estrutura NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ), o tamanho disponível para o host será limitado pelo comprimento do Registro de Endereço Base.
AsUlong
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 |
Cabeçalho | nvme.h |