NVME_CONTROLLER_MEMORY_BUFFER_SIZE unione (nvme.h)
Definisce le dimensioni del registro del buffer di memoria controller facoltativo e viene usato nel campo CMBSZ della struttura NVME_CONTROLLER_REGISTERS .
Se il controller non supporta la funzionalità Buffer memoria controller, il campo CMBSZ viene cancellato in 0h
.
Il percorso del buffer di memoria controller viene specificato nel campo CMBLOC di NVME_CONTROLLER_REGISTERS.
Sintassi
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;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.SQS
Indica se il controller supporta Amministrazione e code di invio di I/O nel buffer di memoria controller.
Quando questo valore è impostato su 1
, il controller supporta Amministrazione e code di invio di I/O nel buffer di memoria controller.
Quando questo valore viene cancellato in 0
, tutte le code di invio verranno inserite nella memoria host.
DUMMYSTRUCTNAME.CQS
Indica se il controller supporta Amministrazione e code di completamento di I/O nel buffer di memoria controller.
Quando questo valore è impostato su 1
, il controller supporta Amministrazione e code di completamento di I/O nel buffer di memoria controller.
Quando questo valore viene cancellato in 0
, tutte le code di completamento verranno inserite nella memoria host.
DUMMYSTRUCTNAME.LISTS
Indica se il controller supporta la pagina area fisica (PRP) e La raccolta a dispersione Elenchi (SGL) nel buffer di memoria controller.
Quando questo valore è impostato su 1
, il controller supporta Elenchi PRP nel buffer di memoria controller. Se il valore è impostato su 1
e gli ELENCHI di servizio sono supportati dal controller, il controller supporta gli ELENCHI di servizio nel buffer di memoria del controller. Se questo bit è impostato su 1
, il campo Supporto coda di invio (SQS) verrà impostato su 1
.
Quando questo valore viene cancellato in 0
, tutti i Elenchi PRP e gli ELENCHI di servizio verranno inseriti nella memoria host.
DUMMYSTRUCTNAME.RDS
Indica se il controller supporta i dati e i metadati nel buffer di memoria controller per i comandi, ad esempio il comando Read, che trasferisce i dati dal controller all'host.
Quando questo valore è impostato su 1
, il controller supporta i dati e i metadati nel buffer di memoria controller per i comandi che trasferiscono i dati dal controller all'host.
Quando questo valore viene cancellato in 0
, tutti i dati e i metadati per i comandi che trasferiscono i dati dal controller all'host verranno trasferiti nella memoria host.
DUMMYSTRUCTNAME.WDS
Indica se il controller supporta i dati e i metadati nel buffer di memoria controller per i comandi, ad esempio il comando Write, che trasferisce i dati dall'host al controller.
Quando questo valore è impostato su 1
, il controller supporta i dati e i metadati nel buffer di memoria controller per i comandi che trasferiscono i dati dall'host al controller.
Quando questo valore viene cancellato in 0
, tutti i dati e i metadati per i comandi che trasferiscono dati dall'host al controller verranno trasferiti dalla memoria host.
DUMMYSTRUCTNAME.Reserved
DUMMYSTRUCTNAME.SZU
Valore NVME_CMBSZ_SIZE_UNITS che indica la granularità del campo Dimensioni SZ .
DUMMYSTRUCTNAME.SZ
Indica le dimensioni del buffer di memoria controller disponibili per l'uso dall'host. Le dimensioni sono in più unità di dimensione SZU.
Se l'offset (il campo OFST nella struttura NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ) + Dimensioni (SZ) supera la lunghezza del registro indirizzi di base specificato (il campo BIRnella struttura NVME_CONTROLLER_MEMORY_BUFFER_LOCATION ), le dimensioni disponibili per l'host sono limitate dalla lunghezza del Registro indirizzi di base.
AsUlong
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Intestazione | nvme.h |