Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Enthält Felder, die die Informationen auf einer Fehlerinformationsprotokollseite angeben.
Die Seite "Fehlerinformationen" enthält erweiterte Fehlerinformationen für einen Befehl, der mit einem Fehler abgeschlossen wurde, oder einen Fehler gemeldet hat, der nicht für einen bestimmten Befehl spezifisch ist. Erweiterte Fehlerinformationen werden bereitgestellt, wenn "Mehr(M)" im Feld "Status" für den mit einem Fehler abgeschlossenen Befehl verknüpften Vervollständigungswarteschlangeneintrag oder als Teil eines asynchronen Ereignisses mit einem Fehlerstatustyp festgelegt 1 ist.
Die Seite "Fehlerinformationsprotokoll" ist global für den Controller. Dieses Fehlerprotokoll gibt möglicherweise die letzten n Fehler zurück. Wenn hostsoftware eine Datenübertragung der Größe von n-Fehlerprotokollen angibt, werden die Fehlerprotokolle für die letzten n Fehler zurückgegeben. Die Reihenfolge der Einträge basiert auf dem Zeitpunkt, zu dem der Fehler aufgetreten ist, wobei der letzte Fehler als erstes Protokoll zurückgegeben wird.
Die Seite "Fehlerinformationsprotokoll" ist eine Reihe von 64 Byteeinträgen; Die Anzahl der unterstützten Einträge wird in der Datenstruktur " Controller identifizieren" angegeben.
Diese Struktur wird vom Befehl 'Protokollseite abrufen' zurückgegeben. Weitere Informationen finden Sie unter NVME_CDW10_GET_LOG_PAGE.
Syntax
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;
Elemente
ErrorCount
Eine 64-Bit-, inkrementierende Fehleranzahl, die einen eindeutigen Bezeichner für diesen Fehler angibt.
Die Fehleranzahl beginnt bei 1h, wird für jeden eindeutigen Fehlerprotokolleintrag inkrementiert und wird über Stromabschaltungsbedingungen hinweg beibehalten. Ein Wert von 0h gibt einen ungültigen Eintrag an. Dieser Wert kann verwendet werden, wenn Einträge verloren gehen oder weniger Fehler als die maximale Anzahl von Einträgen vorhanden sind, die der Controller unterstützt.
SQID
Gibt den SQID (Submission Queue Identifier) des Befehls an, dem die Fehlerinformationen zugeordnet sind. Wenn der Fehler nicht für einen bestimmten Befehl spezifisch ist, wird dieses Feld auf FFFFh.
CMDID
Gibt den Befehlsbezeichner (COMMAND Identifier, CMDID) des Befehls an, dem der Fehler zugeordnet ist. Wenn der Fehler nicht spezifisch für einen bestimmten Befehl ist, ist dies auf FFFFh.
Status
Gibt das Statusfeld für den abgeschlossenen Befehl an.
Das Statusfeld befindet sich in Bits 01:15. Bit 0 entspricht dem für den Befehl bereitgestellten Phasentag (P). Wenn der Fehler nicht für einen bestimmten Befehl spezifisch ist, meldet dieses Feld den am besten geeigneten Statuswert.
ParameterErrorLocation
Eine ParameterErrorLocation-Struktur mit Feldern, die das Byte und Bit des Befehlsparameters angeben, dem der Fehler zugeordnet ist, falls zutreffend.
Wenn der Parameter mehrere Bytes oder Bits umfasst, gibt die Position das erste Byte und das Bit des Parameters an. Wenn der Fehler nicht für einen bestimmten Befehl spezifisch ist, wird dieses Feld auf FFFFh.
ParameterErrorLocation.Byte
Gibt das Byte im Befehl an, der den Fehler enthielt.
Dieser Wert ist in Bits 0:7 der ParameterErrorLocation-Struktur enthalten. Gültige Werte sind 0 bis 63.
ParameterErrorLocation.Bit
Gibt das Bit im Befehl an, der den Fehler enthielt.
Dieser Wert ist in Bits 8:10 der ParameterErrorLocation-Struktur enthalten. Gültige Werte sind 0 bis 7.
ParameterErrorLocation.Reserved
Bits 11:15 der ParameterErrorLocation-Struktur sind reserviert.
Lba
Gibt die erste logische Blockadresse (Logical Block Address, LBA) an, die ggf. die Fehlerbedingung aufgetreten ist.
NameSpace
Gibt den Namespace an, dem der Fehler zugeordnet ist, falls zutreffend.
VendorInfoAvailable
Wenn zusätzliche anbieterspezifische Fehlerinformationen verfügbar sind, stellt dieses Feld den Protokollseitenbezeichner bereit, der dieser Seite zugeordnet ist.
Ein Wert, der 00h angibt, dass keine zusätzlichen Informationen verfügbar sind. Gültige Werte befinden sich im Bereich von 80h bis FFh.
Reserved0[3]
Ein reserviertes Feld.
CommandSpecificInfo
Enthält Befehlsspezifische Informationen. Bei Verwendung gibt die Befehlsdefinition die zurückgegebenen Informationen an.
Reserved1[24]
Ein reserviertes Feld.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 10 |
| Header | nvme.h |