次の方法で共有


NVME_STATUS_COMMAND_SPECIFIC_CODES列挙 (nvme.h)

特定のコマンドに固有の状態を示す値が含まれます。

これらの状態コードは、NVME_STATUS_TYPE_COMMAND_SPECIFIC状態コードの種類の であり、コマンドの完了時に 完了キュー エントリにコントローラーによってポストされます。

構文

typedef enum {
  NVME_STATUS_COMPLETION_QUEUE_INVALID,
  NVME_STATUS_INVALID_QUEUE_IDENTIFIER,
  NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED,
  NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED,
  NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED,
  NVME_STATUS_INVALID_FIRMWARE_SLOT,
  NVME_STATUS_INVALID_FIRMWARE_IMAGE,
  NVME_STATUS_INVALID_INTERRUPT_VECTOR,
  NVME_STATUS_INVALID_LOG_PAGE,
  NVME_STATUS_INVALID_FORMAT,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET,
  NVME_STATUS_INVALID_QUEUE_DELETION,
  NVME_STATUS_FEATURE_ID_NOT_SAVEABLE,
  NVME_STATUS_FEATURE_NOT_CHANGEABLE,
  NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION,
  NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED,
  NVME_STATUS_OVERLAPPING_RANGE,
  NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY,
  NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE,
  NVME_STATUS_NAMESPACE_ALREADY_ATTACHED,
  NVME_STATUS_NAMESPACE_IS_PRIVATE,
  NVME_STATUS_NAMESPACE_NOT_ATTACHED,
  NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED,
  NVME_STATUS_CONTROLLER_LIST_INVALID,
  NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS,
  NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED,
  NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER,
  NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE,
  NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES,
  NVME_STATUS_INVALID_RESOURCE_IDENTIFIER,
  NVME_STATUS_SANITIZE_PROHIBITED_ON_PERSISTENT_MEMORY,
  NVME_STATUS_INVALID_ANA_GROUP_IDENTIFIER,
  NVME_STATUS_ANA_ATTACH_FAILED,
  NVME_IO_COMMAND_SET_NOT_SUPPORTED,
  NVME_IO_COMMAND_SET_NOT_ENABLED,
  NVME_IO_COMMAND_SET_COMBINATION_REJECTED,
  NVME_IO_COMMAND_SET_INVALID,
  NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED,
  NVME_STATUS_ZONE_INVALID_FORMAT,
  NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES,
  NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION,
  NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE,
  NVME_STATUS_NVM_COMMAND_SIZE_LIMIT_EXCEEDED,
  NVME_STATUS_ZONE_BOUNDARY_ERROR,
  NVME_STATUS_ZONE_FULL,
  NVME_STATUS_ZONE_READ_ONLY,
  NVME_STATUS_ZONE_OFFLINE,
  NVME_STATUS_ZONE_INVALID_WRITE,
  NVME_STATUS_ZONE_TOO_MANY_ACTIVE,
  NVME_STATUS_ZONE_TOO_MANY_OPEN,
  NVME_STATUS_ZONE_INVALID_STATE_TRANSITION
} NVME_STATUS_COMMAND_SPECIFIC_CODES;

定数

 
NVME_STATUS_COMPLETION_QUEUE_INVALID
入出力送信キューの作成コマンドで指定された完了キュー ID が存在しません。
NVME_STATUS_INVALID_QUEUE_IDENTIFIER
これらのコマンドの次の状態を示します。

- I/O 送信キューの作成: コマンドの一部として指定された無効なキュー識別子が原因で、I/O 送信キューの作成に失敗しました。 無効なキュー識別子は、現在使用中の識別子、またはコントローラーでサポートされている範囲外のキュー識別子です。
- I/O 送信キューの削除: コマンドで指定されたキュー識別子が無効です。 このエラーは、管理者完了キュー識別子が指定されている場合にも示されます。
- I/O 完了キューの作成: コマンドの一部として無効なキュー ID が指定されたため、I/O 完了キューの作成に失敗しました。 無効なキュー識別子は、現在使用中の識別子、またはコントローラーでサポートされている範囲外のキュー識別子です。
- I/O 完了キューの削除: コマンドで指定されたキュー識別子が無効です。 このエラーは、管理者完了キュー識別子が指定されている場合にも示されます。
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED
I/O 送信キューの作成コマンドと I/O 完了キューの作成コマンドの次の状態を示します。

ホストが、無効な数のエントリを含む I/O 完了キューを作成しようとしました。 たとえば、0 の値や、NVME_CONTROLLER_CAPABILITIES 構造体の MQES フィールドで指定されたコントローラーでサポートされる最大値を超える値などです。
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
同時に未処理の Abort コマンドの数が、識別コントローラーのデータ構造ACL フィールドに示されている制限を超えています。
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
同時に未処理の非同期イベント要求コマンドの数を超えました。
NVME_STATUS_INVALID_FIRMWARE_SLOT
Firmware Commit コマンドに示されているファームウェア スロットが無効であるか、読み取り専用です。 このエラーは、ファームウェア スロットがサポートされている数を超えている場合に示されます。
NVME_STATUS_INVALID_FIRMWARE_IMAGE
ファームウェア コミット コマンドのアクティブ化に指定されたファームウェア イメージが無効であり、コントローラーによって読み込まれません。
NVME_STATUS_INVALID_INTERRUPT_VECTOR
I/O 完了キューの作成コマンドの一部として指定された無効な割り込みベクトルが原因で、I/O 完了キューの作成に失敗しました。
NVME_STATUS_INVALID_LOG_PAGE
[ログ ページの取得] コマンドに示されているログ ページが無効です。 このエラー条件は、予約ログ ページが要求された場合にも返されます。
NVME_STATUS_INVALID_FORMAT
[形式 NVM] コマンドの状態を示します。指定された形式が無効です。

これは、次のようなさまざまな条件が原因である可能性があります。

- 無効な論理ブロック アドレス (LBA) 形式番号を指定します。
- LBA ごとに十分なメタデータがない場合に保護情報を有効にします。
- セキュリティの状態が無効です。 詳細については、TCG ストレージ・インターフェース相互作用仕様 (SIIS)を参照してください。
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET
ファームウェア コミット コマンドの次の状態を示します。

ただし、ファームウェアのコミットは成功しました。ただし、ファームウェア イメージのアクティブ化には、従来のリセットが必要です。 従来のリセットの前に関数レベル リセット (FLR) またはコントローラーのリセットが発生した場合、コントローラーは現在実行中のファームウェア イメージで操作を続行します。
NVME_STATUS_INVALID_QUEUE_DELETION
I/O 完了キューの削除コマンドの次の状態を示します。

指定された I/O 完了キューを削除することは無効です。 このエラー状態の一般的な理由は、関連付けられている I/O 送信キューが削除されていないことです。
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE
[フィーチャの設定] コマンドで指定されたフィーチャー識別子は、保存可能な値をサポートしていません。
NVME_STATUS_FEATURE_NOT_CHANGEABLE
[フィーチャの設定] コマンドで指定したフィーチャー識別子は変更できません。
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC
[フィーチャの設定] コマンドで指定されたフィーチャー識別子は、名前空間固有ではありません。 機能識別子の設定は、すべての名前空間に適用されます。
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET
ファームウェア コミット コマンドの状態を示します。
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
ファームウェア コミット コマンドの次の状態を示します。

ただし、ファームウェアのコミットは成功しました。ただし、ファームウェア イメージをアクティブ化するには NVM サブシステム リセットが必要です。 NVM サブシステム リセットの前に他の種類のリセットが発生した場合、コントローラーは現在実行中のファームウェア イメージで操作を続行する必要があります。
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION
ファームウェア コミット コマンドの次の状態を示します。

直ちにアクティブ化された場合に指定されたイメージは、識別コントローラーで報告されるファームウェア アクティブ化 (MFTA) の最大時間の値を超えます。 ファームウェアをアクティブ化するには、Firmware Commit コマンドを再発行し、リセットを使用してイメージをアクティブ化する必要があります。
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
ファームウェア コミット コマンドの次の状態を示します。

ベンダー固有の理由により、指定されたイメージがコントローラーによるライセンス認証を禁止されています。 たとえば、コントローラーはダウン リビジョン ファームウェアをサポートしていません。
NVME_STATUS_OVERLAPPING_RANGE
これらのコマンドの次の状態を示します。

- ファームウェアのコミット: このエラーは、ファームウェア イメージの範囲が重複している場合に示されます。
- 機能の設定: このエラーは、LBA 範囲の種類のデータ構造に重複する範囲がある場合に示されます。
- ファームウェア イメージのダウンロード: このエラーは、ファームウェア イメージの範囲が重複している場合に示されます。
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
名前空間管理コマンドの次の状態を示します。

名前空間を作成するには、現在使用できるよりも多くの空き領域が必要です。 エラー情報ログのコマンド固有情報フィールドは、名前空間の作成に必要な NVM 容量の合計をバイト単位で指定します。
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE
名前空間管理コマンドの次の状態を示します。

サポートされている名前空間の数を超えました。
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED
[名前空間の添付ファイル] コマンドの次の状態を示します。

コントローラーは、指定された名前空間に既にアタッチされています。
NVME_STATUS_NAMESPACE_IS_PRIVATE
[名前空間の添付ファイル] コマンドの次の状態を示します。

コントローラーが名前空間にアタッチされていません。 名前空間がプライベートであり、既に 1 つのコントローラーにアタッチされているため、コントローラーをアタッチする要求を完了できませんでした。
NVME_STATUS_NAMESPACE_NOT_ATTACHED
[名前空間の添付ファイル] コマンドの次の状態を示します。

コントローラーが名前空間にアタッチされていません。 コントローラーのデタッチ要求を完了できませんでした。
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED
NVME_STATUS_CONTROLLER_LIST_INVALID
[名前空間の添付ファイル] コマンドの次の状態を示します。

指定されたコントローラーの一覧が無効です。
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Device Self-test コマンドの状態を示します。
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
ファームウェア コミット コマンドの状態を示します。
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER
仮想化管理コマンドの状態を示します。
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE
仮想化管理コマンドの状態を示します
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES
仮想化管理コマンドの状態を示します。
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER
仮想化管理コマンドの状態を示します。
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED
Streams ディレクティブ コマンドの状態を示します。
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES
これらのコマンドの状態を示します:データセット管理、読み取り、書き込み

コマンドで指定された属性が競合しています。
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION
次のコマンドの状態を示します:比較、読み取り、書き込み、書き込みゼロ

コマンドで指定された保護情報の設定が無効です。
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
これらのコマンドの次の状態を示します:データセット管理、書き込み、書き込み修正不可、書き込みゼロ

コントローラーは、読み取り専用範囲に割り当て解除が試行された場合に、必要に応じてこの状態を報告できます。

必要条件

要件 価値
サポートされる最小クライアント Windows 10
ヘッダー nvme.h