union NVME_CDW11_FEATURES (nvme.h)
Contient des paramètres pour les commandes Obtenir des fonctionnalités et Définir des fonctionnalités qui récupèrent ou définissent les attributs de la fonctionnalité spécifiée.
Cette structure est utilisée dans le paramètre CDW11 des champs GETFEATURES et SETFEATURES de la structure Command .
Syntaxe
typedef union {
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
NVME_CDW11_FEATURE_ARBITRATION Arbitration;
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
NVME_CDW11_FEATURE_ERROR_INJECTION ErrorInjection;
NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
ULONG AsUlong;
} NVME_CDW11_FEATURES, *PNVME_CDW11_FEATURES;
Membres
NumberOfQueues
Spécifie une structure NVME_CDW11_FEATURE_NUMBER_OF_QUEUES contenant des valeurs qui indiquent le nombre de files d’attente que l’hôte demande pour ce contrôleur.
Lorsqu’une commande Définir des fonctionnalités ou Obtenir des fonctionnalités est envoyée pour la fonctionnalité Nombre de files d’attente, la structure NVME_CDW11_FEATURE_NUMBER_OF_QUEUES est retournée dans le champ Dword 0 (DW0) de l’entrée File d’attente d’achèvement pour cette commande.
InterruptCoalescing
Spécifie une structure de NVME_CDW11_FEATURE_INTERRUPT_COALESCING contenant des valeurs qui configurent les paramètres de fusion des interruptions.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité d’interruption de fusion, les valeurs spécifiées dans les champs TIME et THR de la structure NVME_CDW11_FEATURE_INTERRUPT_COALESCING sont retournées dans le champ DW0 de l’entrée de file d’attente d’achèvement pour cette commande.
InterruptVectorConfig
Spécifie une structure de NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG contenant des valeurs qui configurent des paramètres spécifiques à un vecteur d’interruption particulier.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité de configuration de vecteur d’interruption, les valeurs spécifiées dans les champs Vecteur d’interruption (IV) et Coalescing Disabled (CD) de la structure NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG sont retournées dans le champ DW0 de l’entrée de file d’attente d’achèvement pour cette commande.
Avant d’émettre cette fonctionnalité, l’hôte doit configurer le vecteur d’interruption spécifié avec une file d’attente d’achèvement d’E/S valide. Si la file d’attente d’achèvement d’E/S ou le vecteur d’interruption spécifié n’est pas valide, le contrôleur retourne une status de NVME_STATUS_INVALID_FIELD_IN_COMMAND.
LbaRangeType
Spécifie une structure NVME_CDW11_FEATURE_LBA_RANGE_TYPE contenant une valeur qui spécifie le nombre de plages LBA pour la fonctionnalité type de plage DBA dans la commande Définir les fonctionnalités.
Ce champ est utilisé pour la commande Définir les fonctionnalités uniquement et est ignoré pour la commande Get Features.
La fonctionnalité Type de plage LBA spécifie le type et les attributs des plages d’allocation de blocs logiques (LBA) qui font partie de l’espace de noms spécifié. La fonctionnalité utilise la structure NVME_CDW11_FEATURE_LBA_RANGE_TYPE pour spécifier le nombre de plages LBA et la structure de données NVME_LBA_RANGET_TYPE_ENTRY pour spécifier le type et les informations d’attribut.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité Type de plage LBA, la valeur spécifiée dans le champ NUM de la structure NVME_CDW11_FEATURE_LBA_RANGE_TYPE est retournée dans le champ DW0 de l’entrée De la file d’attente d’achèvement, et le type de plage LBA NVME_LBA_RANGET_TYPE_ENTRY structure de données est retourné dans la mémoire tampon de données de cette commande.
Arbitration
Spécifie une structure NVME_CDW11_FEATURE_ARBITRATION contenant des valeurs qui contrôlent l’arbitrage des commandes.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité d’arbitrage, la structure spécifiée dans ce champ est retournée dans le champ DW0 de l’entrée File d’attente d’achèvement pour cette commande.
VolatileWriteCache
Spécifie une structure NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE contenant des valeurs qui contrôlent le cache d’écriture volatile, le cas échéant, sur le contrôleur.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité de cache en écriture volatile, la valeur spécifiée dans le champ WCE du NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE est retournée dans le champ DW0 de l’entrée de la file d’attente d’achèvement pour cette commande.
AsyncEventConfig
Spécifie une structure de NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG contenant des paramètres pour la fonctionnalité de configuration d’événement asynchrone qui contrôle les événements qui déclenchent une notification d’événement asynchrone à l’hôte.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité de configuration d’événement asynchrone, les valeurs spécifiées dans La structure NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG sont retournées dans le champ DW0 de la structure d’entrée de file d’attente d’achèvement pour cette commande.
PowerManagement
Spécifie une structure NVME_CDW11_FEATURE_POWER_MANAGEMENT contenant des valeurs qui permettent à l’hôte de configurer l’état d’alimentation.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité Gestion de l’alimentation, la structure NVME_CDW11_FEATURE_POWER_MANAGEMENT est retournée dans le champ DW0 de l’entrée File d’attente d’achèvement pour cette commande.
AutoPowerStateTransition
Spécifie une structure de NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION contenant des paramètres pour la fonctionnalité de transition d’état d’alimentation autonome qui configure les paramètres pour les transitions d’état d’alimentation autonome.
La fonctionnalité de transition d’état autonome spécifie les informations d’attribut dans la structure de données NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION et la structure de données d’entrée de transition d’état autonome .
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité de transition d’état autonome, la valeur spécifiée dans le champ APSTE de la structure NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION est retournée dans le champ DW0 de l’entrée de la file d’attente d’achèvement, et la structure de données NVME_AUTO_POWER_STATE_TRANSITION_ENTRY est retournée dans la mémoire tampon de données de cette commande.
TemperatureThreshold
Spécifie une structure NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD contenant des valeurs utilisées pour définir ou récupérer des valeurs de seuil de température pour le contrôleur.
ErrorRecovery
HostMemoryBuffer
Spécifie une structure NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER contenant des valeurs utilisées pour contrôler la mémoire tampon de l’hôte.
La fonctionnalité Mémoire tampon de l’hôte fournit un mécanisme permettant à l’hôte d’allouer une partie de la mémoire hôte que le contrôleur doit utiliser exclusivement. Une fois la commande Définir les fonctionnalités qui active la mémoire tampon de l’hôte terminée, l’hôte n’écrit pas dans la région de mémoire hôte associée, la taille de mémoire tampon ou la liste de descripteurs tant que la mémoire tampon hôte n’a pas été désactivée. Une fois la commande Définir les fonctionnalités qui désactive la mémoire tampon de l’hôte, le contrôleur n’accède pas aux données de la mémoire tampon de l’hôte tant que la mémoire tampon de l’hôte n’a pas été activée.
La liste de descripteurs de mémoire hôte est une structure de données contiguë physiquement dans la mémoire hôte qui décrit les paires d’adresses et de longueurs de la mémoire tampon de l’hôte. Les limites et le contenu de la liste sont définis dans les champs et structures suivants :
- Les limites inférieures de l’adresse de liste de descripteurs de mémoire hôte sont définies dans le champ HMDLLA du NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER.
- Les limites supérieures de l’adresse de liste de descripteurs de mémoire hôte sont définies dans le champ HMDLUA du NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER.
- Le nombre d’adresses et de paires de longueur pour la liste de descripteurs de mémoire hôte est spécifié dans le nombre d’entrées de liste de descripteurs de mémoire hôte dans le champ HMDLEC du NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER.
- Les champs d’une entrée dans la liste de descripteurs de mémoire hôte sont spécifiés dans la structure NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY .
WriteAtomicityNormal
Spécifie une structure de NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL contenant des valeurs qui contrôlent l’opération des paramètres AWUN (Atomic Write Unit Normal) et NAWUN (Namespace Atomic Write Unit Normal) qui définissent la prise en charge du contrôleur pour les opérations atomiques.
Lorsqu’une commande Get Features est envoyée pour la fonctionnalité Write Atomicity Normal, les valeurs spécifiées dans La structure NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL sont retournées dans le champ DW0 de la structure d’entrée de file d’attente d’achèvement pour cette commande.
NonOperationalPowerState
Spécifie une structure de NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE contenant des valeurs pour la fonctionnalité d’état d’alimentation non opérationnelle qui indique si le mode permissif est activé pour un état d’alimentation non opérationnel.
IoCommandSetProfile
ErrorInjection
HostIdentifier
ReservationPersistence
ReservationNotificationMask
GetHostMetadata
SetHostMetadata
AsUlong
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
En-tête | nvme.h |