énumération NVME_STATUS_COMMAND_SPECIFIC_CODES (nvme.h)

Contient des valeurs indiquant status spécifique à une commande particulière.

Ces codes status sont du type de code d’étatNVME_STATUS_TYPE_COMMAND_SPECIFIC et sont publiés par le contrôleur dans une entrée de file d’attente d’achèvement lorsqu’une commande est terminée.

Syntax

typedef enum {
  NVME_STATUS_COMPLETION_QUEUE_INVALID,
  NVME_STATUS_INVALID_QUEUE_IDENTIFIER,
  NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED,
  NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED,
  NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED,
  NVME_STATUS_INVALID_FIRMWARE_SLOT,
  NVME_STATUS_INVALID_FIRMWARE_IMAGE,
  NVME_STATUS_INVALID_INTERRUPT_VECTOR,
  NVME_STATUS_INVALID_LOG_PAGE,
  NVME_STATUS_INVALID_FORMAT,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET,
  NVME_STATUS_INVALID_QUEUE_DELETION,
  NVME_STATUS_FEATURE_ID_NOT_SAVEABLE,
  NVME_STATUS_FEATURE_NOT_CHANGEABLE,
  NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION,
  NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED,
  NVME_STATUS_OVERLAPPING_RANGE,
  NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY,
  NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE,
  NVME_STATUS_NAMESPACE_ALREADY_ATTACHED,
  NVME_STATUS_NAMESPACE_IS_PRIVATE,
  NVME_STATUS_NAMESPACE_NOT_ATTACHED,
  NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED,
  NVME_STATUS_CONTROLLER_LIST_INVALID,
  NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS,
  NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED,
  NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER,
  NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE,
  NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES,
  NVME_STATUS_INVALID_RESOURCE_IDENTIFIER,
  NVME_STATUS_SANITIZE_PROHIBITED_ON_PERSISTENT_MEMORY,
  NVME_STATUS_INVALID_ANA_GROUP_IDENTIFIER,
  NVME_STATUS_ANA_ATTACH_FAILED,
  NVME_IO_COMMAND_SET_NOT_SUPPORTED,
  NVME_IO_COMMAND_SET_NOT_ENABLED,
  NVME_IO_COMMAND_SET_COMBINATION_REJECTED,
  NVME_IO_COMMAND_SET_INVALID,
  NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED,
  NVME_STATUS_ZONE_INVALID_FORMAT,
  NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES,
  NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION,
  NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE,
  NVME_STATUS_NVM_COMMAND_SIZE_LIMIT_EXCEEDED,
  NVME_STATUS_ZONE_BOUNDARY_ERROR,
  NVME_STATUS_ZONE_FULL,
  NVME_STATUS_ZONE_READ_ONLY,
  NVME_STATUS_ZONE_OFFLINE,
  NVME_STATUS_ZONE_INVALID_WRITE,
  NVME_STATUS_ZONE_TOO_MANY_ACTIVE,
  NVME_STATUS_ZONE_TOO_MANY_OPEN,
  NVME_STATUS_ZONE_INVALID_STATE_TRANSITION
} NVME_STATUS_COMMAND_SPECIFIC_CODES;

Constantes

 
NVME_STATUS_COMPLETION_QUEUE_INVALID
L’identificateur de file d’attente d’achèvement spécifié dans la commande Créer une file d’attente de soumissions d’E/S n’existe pas.
NVME_STATUS_INVALID_QUEUE_IDENTIFIER
Indique les status suivantes pour ces commandes :

- Créer une file d’attente de soumission d’E/S : la création de la file d’attente de soumissions d’E/S a échoué en raison d’un identificateur de file d’attente non valide spécifié dans le cadre de la commande. Un identificateur de file d’attente non valide est un identificateur actuellement utilisé ou en dehors de la plage prise en charge par le contrôleur.
- Supprimer la file d’attente de soumission d’E/S : l’identificateur de file d’attente spécifié dans la commande n’est pas valide. Cette erreur est également indiquée si l’identificateur de file d’attente d’achèvement Administration est spécifié.
- Créer une file d’attente d’achèvement des E/S : la création de la file d’attente d’achèvement des E/S a échoué en raison d’un identificateur de file d’attente non valide spécifié dans le cadre de la commande. Un identificateur de file d’attente non valide est un identificateur actuellement utilisé ou en dehors de la plage prise en charge par le contrôleur.
- Supprimer la file d’attente d’achèvement des E/S : l’identificateur de file d’attente spécifié dans la commande n’est pas valide. Cette erreur est également indiquée si l’identificateur de file d’attente d’achèvement Administration est spécifié.
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED
Indique les status suivantes pour 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 :

L’hôte a tenté de créer une file d’attente d’achèvement des E/S avec un nombre d’entrées non valide. Par exemple, une valeur de zéro ou une valeur qui dépasse la valeur maximale prise en charge par le contrôleur spécifié dans le champ MQES de la structure NVME_CONTROLLER_CAPABILITIES .
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
Le nombre de commandes Abort simultanément en attente a dépassé la limite indiquée dans le champ ACL de la structure de données Identifier le contrôleur.
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
Le nombre de commandes de demande d’événement asynchrones en attente simultanées a été dépassé.
NVME_STATUS_INVALID_FIRMWARE_SLOT
L’emplacement de microprogramme indiqué dans la commande Validation du microprogramme n’est pas valide ou en lecture seule. Cette erreur est indiquée si l’emplacement du microprogramme dépasse le nombre pris en charge.
NVME_STATUS_INVALID_FIRMWARE_IMAGE
L’image de microprogramme spécifiée pour l’activation dans la commande Validation du microprogramme n’est pas valide et n’est pas chargée par le contrôleur.
NVME_STATUS_INVALID_INTERRUPT_VECTOR
La création de la file d’attente d’achèvement des E/S a échoué en raison d’un vecteur d’interruption non valide spécifié dans le cadre de la commande Créer une file d’attente d’achèvement d’E/S.
NVME_STATUS_INVALID_LOG_PAGE
La page de journal indiquée dans la commande Obtenir la page du journal n’est pas valide. Cette condition d’erreur est également retournée si une page de journal réservée est demandée.
NVME_STATUS_INVALID_FORMAT
Indique la status suivante pour la commande Format NVM : Le format spécifié n’est pas valide.

Cela peut être dû à diverses conditions, notamment :

- Spécification d’un numéro de format d’adresse de bloc logique (LBA) non valide.
- Activation des informations de protection lorsqu’il n’y a pas suffisamment de métadonnées par LBA.
- État de sécurité non valide. Pour plus d’informations, consultez la spécification SIIS (Storage Interface Interactions Specification) TCG.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET
Indique les status suivantes pour la commande De validation du microprogramme :

La validation du microprogramme a réussi, mais l’activation de l’image du microprogramme nécessite une réinitialisation conventionnelle. Si une réinitialisation du niveau de fonction (FLR) ou du contrôleur se produit avant une réinitialisation conventionnelle, le contrôleur doit continuer à fonctionner avec l’image du microprogramme en cours d’exécution.
NVME_STATUS_INVALID_QUEUE_DELETION
Indique les status suivantes pour la commande Supprimer la file d’attente d’achèvement des E/S :

La suppression de la file d’attente d’achèvement des E/S spécifiée n’est pas valide. La raison courante de cette condition d’erreur est qu’il existe une file d’attente de soumission d’E/S associée qui n’a pas été supprimée.
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE
L’identificateur de fonctionnalité spécifié dans la commande Définir des fonctionnalités ne prend pas en charge une valeur pouvant être enregistrée.
NVME_STATUS_FEATURE_NOT_CHANGEABLE
L’identificateur de fonctionnalité spécifié dans la commande Définir des fonctionnalités ne peut pas être modifié.
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC
L’identificateur de fonctionnalité spécifié dans la commande Définir des fonctionnalités n’est pas spécifique à l’espace de noms. Les paramètres Identificateur de fonctionnalité s’appliquent à tous les espaces de noms.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET
Indique status pour la commande De validation du microprogramme.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
Indique les status suivantes pour la commande De validation du microprogramme :

La validation du microprogramme a réussi, mais l’activation de l’image du microprogramme nécessite une réinitialisation du sous-système NVM. Si un autre type de réinitialisation se produit avant une réinitialisation du sous-système NVM, le contrôleur doit poursuivre le fonctionnement avec l’image de microprogramme en cours d’exécution.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION
Indique les status suivantes pour la commande De validation du microprogramme :

L’image spécifiée si elle est activée immédiatement dépasse la valeur Durée maximale d’activation du microprogramme (MFTA) indiquée dans Identifier le contrôleur. Pour activer le microprogramme, la commande Validation du microprogramme doit être rééditée et l’image activée à l’aide d’une réinitialisation.
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
Indique les status suivantes pour la commande De validation du microprogramme :

L’activation de l’image spécifiée est interdite par le contrôleur pour des raisons spécifiques au fournisseur. Par exemple, le contrôleur ne prend pas en charge le microprogramme de révision vers le bas.
NVME_STATUS_OVERLAPPING_RANGE
Indique les status suivantes pour ces commandes :

- Validation du microprogramme : cette erreur est indiquée si l’image du microprogramme a des plages qui se chevauchent.
- Définir des fonctionnalités : cette erreur est indiquée si la structure de données type de plage LBA a des plages qui se chevauchent.
- Téléchargement de l’image du microprogramme : cette erreur est indiquée si l’image du microprogramme a des plages qui se chevauchent.
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
Indique les status suivantes pour la commande Gestion des espaces de noms :

La création de l’espace de noms nécessite plus d’espace libre que ce qui est actuellement disponible. Le champ Informations spécifiques à la commande du journal d’informations sur les erreurs spécifie la quantité totale de capacité NVM nécessaire pour créer l’espace de noms en octets.
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE
Indique les status suivantes pour la commande Gestion des espaces de noms :

Le nombre d’espaces de noms pris en charge a été dépassé.
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED
Indique la status suivante pour la commande Pièce jointe d’espace de noms :

Le contrôleur est déjà attaché à l’espace de noms spécifié.
NVME_STATUS_NAMESPACE_IS_PRIVATE
Indique la status suivante pour la commande Pièce jointe d’espace de noms :

Le contrôleur n’est pas attaché à l’espace de noms. La demande d’attachement du contrôleur n’a pas pu être effectuée, car l’espace de noms est privé et est déjà attaché à un contrôleur.
NVME_STATUS_NAMESPACE_NOT_ATTACHED
Indique la status suivante pour la commande Pièce jointe d’espace de noms :

Le contrôleur n’est pas attaché à l’espace de noms. La demande de détachement du contrôleur n’a pas pu être effectuée.
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED
NVME_STATUS_CONTROLLER_LIST_INVALID
Indique la status suivante pour la commande Pièce jointe d’espace de noms :

La liste de contrôleurs fournie n’est pas valide.
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Indique status pour la commande Auto-test de l’appareil.
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
Indique status pour la commande De validation du microprogramme.
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER
Indique status pour la commande Virtualization Management.
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE
Indique status pour la commande Virtualization Management
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES
Indique status pour la commande Virtualization Management.
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER
Indique status pour la commande Virtualization Management.
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED
Indique status pour la commande De directive Streams.
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES
Indique les status suivantes pour ces commandes : Gestion du jeu de données, Lecture, Écriture

Les attributs spécifiés dans la commande sont en conflit.
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION
Indique les status suivantes pour ces commandes : Comparer, Lire, Écrire, Écrire des zéros

Les paramètres d’informations de protection spécifiés dans la commande ne sont pas valides.
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
Indique les status suivantes pour ces commandes : Gestion des jeux de données, Écriture, Écriture non corrigée, Écriture de zéros

Le contrôleur peut éventuellement signaler cette status si une désallocation est tentée pour une plage en lecture seule.

Configuration requise

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