Condividi tramite


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

Vedi anche