Freigeben über


NVME_PRP_ENTRY Union (nvme.h)

Enthält Felder, die die Seitenbasisadresse und den Offset (PBAO) eines Zeigers auf eine physische Speicherseite angeben.

Ein Eintrag für eine physische Region (Physical Region Page, PRP) ist ein Zeiger auf eine physische Speicherseite. PRPs werden als Punkt/Erfassungsmechanismus für Datenübertragungen zwischen Controller und Speicher verwendet. Um eine effiziente Out-of-Order-Datenübertragung zwischen dem Controller und dem Host zu ermöglichen, sind PRP-Einträge eine feste Größe.

Die Größe der Physischen Speicherseite wird durch Hostsoftware im MPS-Feld der Controllerkonfigurationsstruktur konfiguriert, und die Größe des Offset-Felds wird durch den MPS-Wert bestimmt.

Diese Struktur wird in den Feldern PRP1 und PRP2 der NVME_COMMAND Struktur verwendet.

Syntax

typedef union {
  struct {
    ULONGLONG Reserved0 : 2;
    ULONGLONG PBAO : 62;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_PRP_ENTRY, *PNVME_PRP_ENTRY;

Elemente

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Reserved0

Ein reserviertes Feld.

DUMMYSTRUCTNAME.PBAO

Gibt die 64-Bit-Speicherseitenadresse an.

Die unteren Bits (n:2) dieses Felds geben den Offset innerhalb der Speicherseite an. Wenn die Größe der Speicherseite 4 KB beträgt, bilden Bits 02:11 den Offset; Wenn die Größe der Speicherseite 8 KB beträgt, bilden Bits 02:12 den Offset usw.

Wenn dieser Eintrag nicht der erste PRP-Eintrag im Befehl oder ein PRP-Listenzeiger in einem Befehl ist, sollte der Offset-Teil dieses Felds gelöscht 0hwerden.

AsUlonglong

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 10
Header nvme.h