Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Contient des valeurs en lecture seule qui spécifient les fonctionnalités de base du contrôleur pour héberger des 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;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.MQES
Indique la taille maximale de file d’attente individuelle prise en charge par le contrôleur.
Cette valeur s’applique à chacune des files d’attente de soumission d’E/S et aux files d’attente d’achèvement d’E/S créées par le logiciel hôte.
Il s’agit d’une valeur de base de 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 sont requises par le contrôleur pour qu’elles soient physiquement contiguës.
Lorsque ce champ est défini 1sur , le contrôleur requiert que les files d’attente d’envoi d’E/S et les files d’attente d’achèvement des E/S soient physiquement contiguës.
Lorsque ce champ est effacé 0, 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 1sur , le bit physiquement contigu (champ PC ) dans la file d’attente créer une soumission d’E/S et les commandes Créer une file d’attente d’achèvement d’E/S sont définies 1sur .
DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent
Indique si le tourniquet pondéré avec un mécanisme d’arbitrage de classe prioritaire urgent est pris en charge par le contrôleur.
Lorsque ce champ est défini 1sur , le tourniquet pondéré avec un mécanisme d’arbitrage de classe prioritaire urgent 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 de tourniquet n’est pas répertorié, car tous les contrôleurs doivent soutenir ce mécanisme d’arbitrage.
DUMMYSTRUCTNAME.AMS_VendorSpecific
Indique si le mécanisme d’arbitrage spécifique au fournisseur est pris en charge par le contrôleur.
Lorsque ce champ est défini 1sur , le mécanisme d’arbitrage spécifique au fournisseur est pris en charge.
DUMMYSTRUCTNAME.Reserved0
Champ réservé (bits 19 à 23).
DUMMYSTRUCTNAME.TO
Indique le pire moment où le logiciel hôte attend la valeur Ready (RDY) dans l’état du contrôleur pour passer de :
-
0vers1après la valeur EN dans NVME_CONTROLLER_CONFIGURATION passe de0;1ou -
1vers0la valeur EN dans NVME_CONTROLLER_CONFIGURATION passe de1à0.
Ce pire cas de temps peut être rencontré après des événements tels qu’un arrêt brusque ou l’activation d’une nouvelle image de microprogramme. Les temps typiques sont censés être beaucoup plus courts.
La valeur de ce champ est en 500 millisecondes.
DUMMYSTRUCTNAME.DSTRD
Indique le pas entre les registres de porte d’entrée.
Chaque registre queue de soumission et file d’attente de saisie semi-automatique est de taille de 32 bits. La progression est spécifiée en (2 ^ (2 + DSTRD)) octets.
Une valeur indiquant 0h une progression de 4 octets, où les registres doorbell 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 1sur , le contrôleur prend en charge la fonctionnalité de réinitialisation du sous-système NVM.
hen this field is cleared to 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. Un jeu de commandes minimum doit être pris en charge.
Lorsque ce champ est défini 1sur , le jeu de commandes NVM est pris en charge.
Les CSS_Reserved0 via CSS_Reserved6 champs sont réservés à d’autres jeux de commandes d’E/S, si la valeur de l’un de ces champs est définie 1sur , 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 hôte prise en charge par le contrôleur.
La taille minimale de la page de mémoire est (2 ^ (12 + MPSMIN)).
L’hôte ne configure pas de taille de page mémoire dans le champ MPS de NVME_CONTROLLER_CONFIGURATION inférieure à cette valeur.
DUMMYSTRUCTNAME.MPSMAX
Indique la taille maximale de la page de mémoire 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
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows 10 |
| Header | nvme.h |