共用方式為


NVME_ERROR_INFO_LOG 結構 (nvme.h)

包含欄位,指定 [錯誤資訊記錄] 頁面中的資訊。

[錯誤資訊] 記錄頁包含命令的擴充錯誤資訊,該命令已完成錯誤,或回報了不是特定命令特定的錯誤。 當 [更多 (M) ] 設定1為 [完成佇列專案] 欄位中的 [完成佇列專案] 時,會提供擴充錯誤資訊,而命令與錯誤一起完成,或當做具有錯誤狀態類型的異步事件之一部分。

[錯誤資訊記錄] 頁面是控制器的全域頁面。 此錯誤記錄檔可能會傳回最後 n 個錯誤。 如果主機軟體指定 n 個錯誤記錄檔大小的數據傳輸,則會傳回最後 n 個錯誤的錯誤記錄檔。 專案的排序是根據發生錯誤的時間,並傳回最新的錯誤做為第一個記錄檔。

[錯誤資訊記錄] 頁面是一組 64 個字節專案;識別 控制器 數據結構中會指出支援的項目數目。

這個結構是由 [取得記錄頁] 命令傳回。 如需詳細資訊,請參閱 NVME_CDW10_GET_LOG_PAGE

語法

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;

成員

ErrorCount

指出此錯誤的唯一標識碼的64位遞增錯誤計數。

錯誤計數會從 開始 1h,會針對每個唯一的錯誤記錄專案遞增,並跨關閉電源條件保留。 的值 0h 表示無效的專案;當遺失專案或控制器支援的最大項目數目少時,可能會使用這個值。

SQID

指出與錯誤資訊相關聯之命令的提交佇列標識碼 (SQID) 。 如果錯誤不是特定命令特有的,則此欄位會設定為 FFFFh

CMDID

指出與錯誤相關聯之命令的 CMDID (CMDID) 。 如果錯誤不是特定命令特有的,則這會設定為 FFFFh

Status

指出已完成之命令的狀態欄位。

狀態欄位位於位 01:15。 位 0 對應至針對 命令張貼的階段標記 (P) 。 如果錯誤不是特定命令特有的,則此欄位會報告最適用的狀態值。

ParameterErrorLocation

ParameterErrorLocation 結構,其中包含欄位,這些欄位會指出錯誤與錯誤相關聯的 Byte 和 Bit。如果適用的話。

如果參數跨越多個字節或位,位置會指出參數的第一個字節和位。 如果錯誤不是特定命令特有的,此欄位會設定為 FFFFh

ParameterErrorLocation.Byte

表示命令中包含錯誤的 Byte。

這個值包含在 ParameterErrorLocation 結構的位 0:7 中。 有效值為 0 到 63。

ParameterErrorLocation.Bit

表示命令中包含錯誤的 Bit。

這個值包含在 ParameterErrorLocation 結構的位 8:10 中。 有效值為 0 到 7。

ParameterErrorLocation.Reserved

會保留 ParameterErrorLocation 結構的位 11:15。

Lba

指出發生錯誤狀況的第一個邏輯區塊位址 (LBA) ,如果適用的話。

NameSpace

指出如果適用,與錯誤相關聯的命名空間。

VendorInfoAvailable

當有其他廠商特定的錯誤資訊可用時,此欄位會提供與該頁面相關聯的記錄頁識別碼。

的值 00h 表示沒有其他資訊可供使用。 有效值介於 到 80hFFh的範圍內。

Reserved0[3]

保留欄位。

CommandSpecificInfo

包含命令特定資訊。 如果使用,命令定義會指定傳回的資訊。

Reserved1[24]

保留欄位。

規格需求

需求
最低支援的用戶端 Windows 10
標頭 nvme.h