union NVME_PRP_ENTRY (nvme.h)

Contient des champs qui spécifient l’adresse de base et le décalage de la page (PBAO) d’un pointeur vers une page mémoire physique.

Une entrée de page de région physique (PRP) est un pointeur vers une page mémoire physique. Les PRP sont utilisés comme mécanisme de diffusion/collecte pour les transferts de données entre le contrôleur et la mémoire. Pour permettre des transferts de données dans le désordre entre le contrôleur et l’hôte, les entrées PRP sont de taille fixe.

La taille de la page mémoire physique est configurée par le logiciel hôte dans le champ MPS de la structure configuration du contrôleur , et la taille du champ Offset est déterminée par la valeur MPS .

Cette structure est utilisée dans les champs PRP1 et PRP2 de la structure NVME_COMMAND .

Syntaxe

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

Membres

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.Reserved0

Champ réservé.

DUMMYSTRUCTNAME.PBAO

Indique l’adresse de la page mémoire physique 64 bits.

Les bits inférieurs (n :2) de ce champ indiquent le décalage dans la page mémoire. Si la taille de la page mémoire est de 4 Ko, les bits 02 :11 forment le décalage ; si la taille de la page mémoire est de 8 Ko, les bits 02 :12 forment le décalage, et ainsi de suite.

Si cette entrée n’est pas la première entrée PRP de la commande ou un pointeur de liste PRP dans une commande, la partie Décalage de ce champ doit être effacée en 0h.

AsUlonglong

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
En-tête nvme.h