NVME_CONTROLLER_MEMORY_BUFFER_SIZE Union (nvme.h)

Definiert die Größe des optionalen Speicherpufferregisters des Controllers und wird im Feld CMBSZ der NVME_CONTROLLER_REGISTERS-Struktur verwendet.

Wenn der Controller die Controller-Speicherpufferfunktion nicht unterstützt, wird das CMBSZ-Feld in 0hgelöscht.

Der Speicherort des Controllerspeicherpuffers wird im Feld CMBLOC von NVME_CONTROLLER_REGISTERS angegeben.

Syntax

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;

Member

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.SQS

Gibt an, ob der Controller Admin- und E/A-Übermittlungswarteschlangen im Speicherpuffer des Controllers unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller Admin- und E/A-Übermittlungswarteschlangen im Speicherpuffer des Controllers. Wenn dieser Wert auf 0gelöscht wird, werden alle Übermittlungswarteschlangen im Hostspeicher platziert.

DUMMYSTRUCTNAME.CQS

Gibt an, ob der Controller Admin- und E/A-Vervollständigungswarteschlangen im Speicherpuffer des Controllers unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller Admin- und E/A-Vervollständigungswarteschlangen im Speicherpuffer des Controllers. Wenn dieser Wert auf 0gelöscht wird, werden alle Vervollständigungswarteschlangen im Hostspeicher platziert.

DUMMYSTRUCTNAME.LISTS

Gibt an, ob der Controller PRP (Physical Region Page) und Scatter Gather Listen (SGL) im Speicherpuffer des Controllers unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller PRP-Listen im Speicherpuffer des Controllers. Wenn der Wert auf 1 festgelegt ist und SGLs vom Controller unterstützt werden, unterstützt der Controller SGLs im Controller-Speicherpuffer. Wenn dieses Bit auf 1festgelegt ist, wird das Feld Übermittlungswarteschlangenunterstützung (SQS) auf 1festgelegt.

Wenn dieser Wert für 0gelöscht wird, werden alle PRP-Listen und SGLs im Hostspeicher platziert.

DUMMYSTRUCTNAME.RDS

Gibt an, ob der Controller Daten und Metadaten im Controllerspeicherpuffer für Befehle wie den Befehl Read unterstützt, die Daten vom Controller an den Host übertragen.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller Daten und Metadaten im Controller-Speicherpuffer für Befehle, die Daten vom Controller an den Host übertragen.

Wenn dieser Wert für 0gelöscht wird, werden alle Daten und Metadaten für Befehle, die Daten vom Controller an den Host übertragen, in den Hostspeicher übertragen.

DUMMYSTRUCTNAME.WDS

Gibt an, ob der Controller Daten und Metadaten im Controllerspeicherpuffer für Befehle wie den Befehl Write unterstützt, die Daten vom Host an den Controller übertragen.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller Daten und Metadaten im Controller-Speicherpuffer für Befehle, die Daten vom Host an den Controller übertragen.

Wenn dieser Wert für 0gelöscht wird, werden alle Daten und Metadaten für Befehle, die Daten vom Host an den Controller übertragen, aus dem Hostspeicher übertragen.

DUMMYSTRUCTNAME.Reserved

DUMMYSTRUCTNAME.SZU

Ein NVME_CMBSZ_SIZE_UNITS Wert, der die Granularität des Felds Größe SZ angibt.

DUMMYSTRUCTNAME.SZ

Gibt die Größe des Controllerspeicherpuffers an, der vom Host verwendet werden kann. Die Größe entspricht einem Vielfachen der Größeneinheit SZU.

Wenn das Feld Offset (das FELD OFST in der NVME_CONTROLLER_MEMORY_BUFFER_LOCATION-Struktur ) + Größe (SZ) die Länge des angegebenen Basisadressregisters (das BIR-Feld in der NVME_CONTROLLER_MEMORY_BUFFER_LOCATION-Struktur ) überschreitet, wird die für den Host verfügbare Größe durch die Länge des Basisadressregisters begrenzt.

AsUlong

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Kopfzeile nvme.h

Weitere Informationen