structure NVME_ERROR_INFO_LOG (nvme.h)

Contient des champs qui spécifient les informations d’une page de journal d’informations sur les erreurs.

La page Journal des informations sur les erreurs contient des informations d’erreur étendues pour une commande qui s’est terminée avec une erreur ou qui a signalé une erreur qui n’est pas spécifique à une commande particulière. Les informations d’erreur étendues sont fournies lorsque Plus (M) est défini 1 sur dans le champ État de l’entrée de file d’attente d’achèvement associée à la commande qui s’est terminée avec une erreur, ou dans le cadre d’un événement asynchrone avec un type d’status d’erreur.

La page du journal des informations d’erreur est globale pour le contrôleur. Ce journal des erreurs peut renvoyer les n dernières erreurs. Si le logiciel hôte spécifie un transfert de données de la taille de n journaux d’erreurs, les journaux d’erreur des n dernières erreurs sont retournés. L’ordre des entrées est basé sur l’heure à laquelle l’erreur s’est produite, l’erreur la plus récente étant retournée comme premier journal.

La page du journal d’informations sur les erreurs est un ensemble de 64 entrées d’octets ; le nombre d’entrées prises en charge est indiqué dans la structure de données Identifier le contrôleur .

Cette structure est retournée par la commande Obtenir la page du journal. Pour plus d’informations, consultez NVME_CDW10_GET_LOG_PAGE.

Syntaxe

typedef struct {
  ULONGLONG           ErrorCount;
  USHORT              SQID;
  USHORT              CMDID;
  NVME_COMMAND_STATUS Status;
  struct {
    USHORT Byte : 8;
    USHORT Bit : 3;
    USHORT Reserved : 5;
  } ParameterErrorLocation;
  ULONGLONG           Lba;
  ULONG               NameSpace;
  UCHAR               VendorInfoAvailable;
  UCHAR               Reserved0[3];
  ULONGLONG           CommandSpecificInfo;
  UCHAR               Reserved1[24];
} NVME_ERROR_INFO_LOG, *PNVME_ERROR_INFO_LOG;

Membres

ErrorCount

Nombre d’erreurs incrémentielles 64 bits qui indique un identificateur unique pour cette erreur.

Le nombre d’erreurs commence à 1h, est incrémenté pour chaque entrée de journal des erreurs unique et est conservé dans toutes les conditions de mise hors tension. La valeur indique 0h une entrée non valide ; cette valeur peut être utilisée lorsqu’il y a des entrées perdues ou lorsqu’il y a moins d’erreurs que le nombre maximal d’entrées pris en charge par le contrôleur.

SQID

Indique l’identificateur de file d’attente de soumission (SQID) de la commande à laquelle les informations d’erreur sont associées. Si l’erreur n’est pas spécifique à une commande particulière, ce champ est défini sur FFFFh.

CMDID

Indique l’identificateur de commande (CMDID) de la commande à laquelle l’erreur est associée. Si l’erreur n’est pas spécifique à une commande particulière, celle-ci est définie sur FFFFh.

Status

Indique le champ d’état de la commande qui s’est terminée.

Le champ État se trouve en bits 01 :15. Le bit 0 correspond à l’étiquette de phase (P) publiée pour la commande. Si l’erreur n’est pas spécifique à une commande particulière, ce champ indique la valeur status la plus applicable.

ParameterErrorLocation

Structure ParameterErrorLocation contenant des champs qui indiquent l’octet et le bit du paramètre de commande auquel l’erreur est associée, le cas échéant.

Si le paramètre s’étend sur plusieurs octets ou bits, l’emplacement indique le premier octet et le premier bit du paramètre. Si l’erreur n’est pas spécifique à une commande particulière, ce champ est défini sur FFFFh.

ParameterErrorLocation.Byte

Indique l’octet dans la commande qui contenait l’erreur.

Cette valeur est contenue dans les bits 0 :7 de la structure ParameterErrorLocation . Les valeurs valides sont comprises entre 0 et 63.

ParameterErrorLocation.Bit

Indique le bit dans la commande qui contenait l’erreur.

Cette valeur est contenue dans les bits 8 :10 de la structure ParameterErrorLocation . Les valeurs valides sont comprises entre 0 et 7.

ParameterErrorLocation.Reserved

Les bits 11 :15 de la structure ParameterErrorLocation sont réservés.

Lba

Indique la première adresse de bloc logique (LBA) qui a rencontré la condition d’erreur, le cas échéant.

NameSpace

Indique l’espace de noms auquel l’erreur est associée, le cas échéant.

VendorInfoAvailable

Lorsque d’autres informations d’erreur spécifiques au fournisseur sont disponibles, ce champ fournit l’identificateur de page de journal associé à cette page.

La valeur de 00h indique qu’aucune information supplémentaire n’est disponible. Les valeurs valides se trouvent dans la plage de 80h à FFh.

Reserved0[3]

Champ réservé.

CommandSpecificInfo

Contient des informations spécifiques aux commandes. Si elle est utilisée, la définition de commande spécifie les informations retournées.

Reserved1[24]

Champ réservé.

Configuration requise

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