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 |