union NVME_CONTROLLER_CAPABILITIES (nvme.h)

Contient des valeurs en lecture seule qui spécifient les fonctionnalités de base du contrôleur pour héberger les logiciels.

Cette structure est utilisée dans le champ Capacités du contrôleur (CAP) de la structure NVME_CONTROLLER_REGISTERS .

Syntaxe

typedef union {
  struct {
    ULONGLONG MQES : 16;
    ULONGLONG CQR : 1;
    ULONGLONG AMS_WeightedRoundRobinWithUrgent : 1;
    ULONGLONG AMS_VendorSpecific : 1;
    ULONGLONG Reserved0 : 5;
    ULONGLONG TO : 8;
    ULONGLONG DSTRD : 4;
    ULONGLONG NSSRS : 1;
    ULONGLONG CSS_NVM : 1;
    ULONGLONG CSS_Reserved0 : 1;
    ULONGLONG CSS_Reserved1 : 1;
    ULONGLONG CSS_Reserved2 : 1;
    ULONGLONG CSS_Reserved3 : 1;
    ULONGLONG CSS_Reserved4 : 1;
    ULONGLONG CSS_MultipleIo : 1;
    ULONGLONG CSS_AdminOnly : 1;
    ULONGLONG Reserved2 : 3;
    ULONGLONG MPSMIN : 4;
    ULONGLONG MPSMAX : 4;
    ULONGLONG Reserved3 : 8;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_CONTROLLER_CAPABILITIES, *PNVME_CONTROLLER_CAPABILITIES;

Membres

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.MQES

Indique la taille de file d’attente individuelle maximale prise en charge par le contrôleur.

Cette valeur s’applique à chacune des files d’attente de soumission d’E/S et des files d’attente d’achèvement d’E/S créées par le logiciel hôte.

Il s’agit d’une valeur basée sur 0. La valeur minimale est 1h, indiquant deux entrées de file d’attente.

DUMMYSTRUCTNAME.CQR

Indique si les files d’attente de soumission d’E/S et les files d’attente d’achèvement d’E/S doivent être physiquement contiguës par le contrôleur.

Lorsque ce champ est défini sur 1, le contrôleur exige que les files d’attente de soumission d’E/S et les files d’attente d’achèvement d’E/S soient physiquement contiguës. Lorsque ce champ est effacé 0sur , le contrôleur prend en charge les files d’attente de soumission d’E/S et les files d’attente d’achèvement d’E/S qui ne sont pas physiquement contiguës.

Lorsque ce champ est défini sur 1, le bit physiquement contigu (champ PC ) dans les commandes Créer une file d’attente de soumissions d’E/S et Créer une file d’attente d’achèvement d’E/S est défini sur 1.

DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent

Indique si le mécanisme d’arbitrage Round Robin pondéré avec classe de priorité urgente est pris en charge par le contrôleur.

Lorsque ce champ est défini sur 1, le mécanisme d’arbitrage Round Robin pondéré avec classe de priorité urgente est pris en charge.

Ces champs AMS_WeightedRoundRobinWithUrgent et AMS_VendorSpecific indiquent les mécanismes d’arbitrage facultatifs pris en charge par le contrôleur. Le mécanisme d’arbitrage par tourniquet n’est pas répertorié, car tous les contrôleurs doivent prendre en charge ce mécanisme d’arbitrage.

DUMMYSTRUCTNAME.AMS_VendorSpecific

Indique si le mécanisme d’arbitrage fournisseur spécifique est pris en charge par le contrôleur.

Lorsque ce champ est défini sur , le mécanisme d’arbitrage spécifique au 1fournisseur est pris en charge.

DUMMYSTRUCTNAME.Reserved0

Un champ réservé (bits 19 à 23).

DUMMYSTRUCTNAME.TO

Indique le pire moment où le logiciel hôte attend la transition de la valeur Prêt (RDY) dans l’état du contrôleur :

Ce pire moment peut être rencontré après des événements tels qu’un arrêt brusque ou l’activation d’une nouvelle image de microprogramme. Les heures typiques sont censées être beaucoup plus courtes.

La valeur de ce champ est exprimée en unités de 500 millisecondes.

DUMMYSTRUCTNAME.DSTRD

Indique la foulée entre les registres de sonnette.

Chaque registre de la file d’attente de soumission et de la file d’attente d’achèvement a une taille de 32 bits. La foulée est spécifiée en (2 ^ (2 + DSTRD)) octets.

La valeur indique 0h une foulée de 4 octets, où les registres de sonnette sont emballés sans espace réservé entre chaque registre.

DUMMYSTRUCTNAME.NSSRS

Indique si le contrôleur prend en charge la fonctionnalité de réinitialisation du sous-système NVM définie dans la structure NVME_NVM_SUBSYSTEM_RESET .

Lorsque ce champ est défini sur 1, le contrôleur prend en charge la fonctionnalité de réinitialisation du sous-système NVM. Ce champ est effacé à 0, le contrôleur ne prend pas en charge la fonctionnalité de réinitialisation du sous-système NVM.

DUMMYSTRUCTNAME.CSS_NVM

Ce champ indique si le jeu de commandes NVM est pris en charge par le contrôleur. Au moins un jeu de commandes doit être pris en charge.

Lorsque ce champ est défini sur 1, l’ensemble de commandes NVM est pris en charge.

Les CSS_Reserved0 par CSS_Reserved6 champs sont réservés aux autres jeux de commandes d’E/S. Si la valeur de l’un de ces champs est définie sur 1, le jeu de commandes d’E/S correspondant est pris en charge.

DUMMYSTRUCTNAME.CSS_Reserved0

DUMMYSTRUCTNAME.CSS_Reserved1

DUMMYSTRUCTNAME.CSS_Reserved2

DUMMYSTRUCTNAME.CSS_Reserved3

DUMMYSTRUCTNAME.CSS_Reserved4

DUMMYSTRUCTNAME.CSS_MultipleIo

DUMMYSTRUCTNAME.CSS_AdminOnly

DUMMYSTRUCTNAME.Reserved2

DUMMYSTRUCTNAME.MPSMIN

Indique la taille minimale de la page de mémoire de l’hôte prise en charge par le contrôleur.

La taille de page mémoire minimale est (2 ^ (12 + MPSMIN)).

L’hôte ne configure pas une taille de page mémoire dans le champ MPS de NVME_CONTROLLER_CONFIGURATION qui est inférieure à cette valeur.

DUMMYSTRUCTNAME.MPSMAX

Indique la taille maximale de page de mémoire de l’hôte prise en charge par le contrôleur.

La taille maximale de la page mémoire est (2 ^ (12 + MPSMAX)).

L’hôte ne configure pas de taille de page mémoire dans le champ MPS de NVME_CONTROLLER_CONFIGURATION supérieure à cette valeur.

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

Configuration requise

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

Voir aussi