次の方法で共有


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) を示します。 エラーが特定のコマンドに固有でない場合、これは に FFFFh設定されます。

Status

完了したコマンドの状態フィールドを示します。

Status フィールドはビット 01:15 にあります。 ビット 0 は、 コマンドに対してポストされた フェーズ タグ (P) に対応します。 エラーが特定のコマンドに固有でない場合、このフィールドは最も適用可能な状態値を報告します。

ParameterErrorLocation

エラーが関連付けられているコマンド パラメーターの Byte と Bit を示すフィールドを含む ParameterErrorLocation 構造体 (該当する場合)。

パラメーターが複数のバイトまたはビットにまたがる場合、位置はパラメーターの最初のバイトとビットを示します。 エラーが特定のコマンドに固有でない場合、このフィールドは に 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 値は、追加情報がないことを示します。 有効な値は、 から FFh80h範囲です。

Reserved0[3]

予約済みフィールド。

CommandSpecificInfo

コマンド固有の情報が含まれます。 コマンド定義を使用すると、返される情報が指定されます。

Reserved1[24]

予約済みフィールド。

要件

要件
サポートされている最小のクライアント Windows 10
Header nvme.h