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 :

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

Voir aussi