NVME_NVM_COMMANDS 列挙 (nvme.h)
NVM コマンド セット内のコマンドを示す値が含まれます。
構文
typedef enum {
NVME_NVM_COMMAND_FLUSH,
NVME_NVM_COMMAND_WRITE,
NVME_NVM_COMMAND_READ,
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE,
NVME_NVM_COMMAND_COMPARE,
NVME_NVM_COMMAND_WRITE_ZEROES,
NVME_NVM_COMMAND_DATASET_MANAGEMENT,
NVME_NVM_COMMAND_VERIFY,
NVME_NVM_COMMAND_RESERVATION_REGISTER,
NVME_NVM_COMMAND_RESERVATION_REPORT,
NVME_NVM_COMMAND_RESERVATION_ACQUIRE,
NVME_NVM_COMMAND_RESERVATION_RELEASE,
NVME_NVM_COMMAND_COPY,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE,
NVME_NVM_COMMAND_ZONE_APPEND
} NVME_NVM_COMMANDS;
定数
NVME_NVM_COMMAND_FLUSH 指定した名前空間に関連付けられているデータとメタデータを不揮発性メディアにコミットする Flush コマンド。 フラッシュは、Flush コマンドの送信前に完了したすべてのコマンドに適用されます。 コントローラーは、任意の名前空間から追加のデータやメタデータをフラッシュすることもできます。 |
NVME_NVM_COMMAND_WRITE 必要に応じて、指定された論理ブロックの NVM コントローラーにデータとメタデータを書き込む Write コマンド。 ホストは、操作の一部として含める保護情報を指定することもできます。 コマンドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 13、Command Dword 14、Command Dword 15 の各フィールドを使用します。 コマンドがデータ転送に PRP を使用する場合は、メタデータ ポインター、PRP エントリ 1、および PRP エントリ 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、メタデータ SGL セグメント ポインターフィールドと SGL エントリ 1 フィールドが使用されます。 |
NVME_NVM_COMMAND_READ 指定した論理ブロックの NVM コントローラーからデータとメタデータ (該当する場合) を読み取る Read コマンド。 コマンドは、読み取り操作の一部として確認する保護情報を指定できます。 コマンドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 13、Command Dword 14、Command Dword 15 の各フィールドを使用します。 コマンドがデータ転送に PRP を使用する場合は、メタデータ ポインター、PRP エントリ 1、および PRP エントリ 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、メタデータ SGL セグメント ポインターフィールドと SGL エントリ 1 フィールドが使用されます。 |
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE 論理ブロックの範囲を無効としてマークするために使用される Write Uncorrectable コマンド。 この操作の後に指定された論理ブロックが読み取られた場合は、 回復されていない読み取りエラー状態でエラーが返されます。 無効な論理ブロックの状態をクリアするために、それらの論理ブロックに対して書き込み操作が実行されます。 使用されるフィールドは、Command Dword 10、Command Dword 11、Command Dword 12 の各フィールドです。 その他のコマンド固有のフィールドはすべて予約されています。 |
NVME_NVM_COMMAND_COMPARE コマンドで指定された論理ブロックをメディアから読み取り、読み取ったデータをコマンドの一部として転送された比較データ バッファーと比較する Compare コマンド。 コントローラーから読み取られたデータと比較データ バッファーが、誤った互換性がない場合、コマンドは正常に完了します。 エラーが発生した場合、コマンドはエラーの比較で完了します。 メタデータが指定されている場合は、メタデータの比較も実行されます。 コマンドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 14、Command Dword 15 の各フィールドを使用します。 コマンドがデータ転送に PRP を使用する場合は、メタデータ ポインター、PRP エントリ 1、および PRP エントリ 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、メタデータ SGL セグメント ポインターフィールドと SGL エントリ 1 フィールドが使用されます。 その他のコマンド固有のフィールドはすべて予約されています。 |
NVME_NVM_COMMAND_WRITE_ZEROES 論理ブロックの範囲を 0 に設定するために使用される Write Zeroes コマンド。 このコマンドが正常に完了すると、この範囲の論理ブロックの後続の読み取りによって返される値は、この LBA 範囲への書き込みが行われるまでゼロになります。 このコマンドのメタデータはすべてゼロで、保護情報は CDW12 に基づいて更新されます。PRINFO。 使用されるフィールドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 14、Command Dword 15 の各フィールドです。 |
NVME_NVM_COMMAND_DATASET_MANAGEMENT 論理ブロックの範囲の属性を示すためにホストによって使用されるデータセット管理コマンド。 これには、データの読み取りまたは書き込み頻度、アクセス サイズ、およびパフォーマンスと信頼性を最適化するために使用できるその他の情報などの属性が含まれます。 このコマンドはアドバイザリです。準拠コントローラーは、提供された情報に基づいてアクションを実行しない場合があります。 コマンドは、Command Dword 10 フィールドと Command Dword 11 フィールドを使用します。 コマンドがデータ転送に PRP を使用する場合は、PRP 項目 1 および PRP 項目 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、SGL 項目 1 フィールドが使用されます。 その他のコマンド固有のフィールドはすべて予約されています。 |
NVME_NVM_COMMAND_RESERVATION_REGISTER 予約キーの登録、登録解除、または置換に使用される Reservation Register コマンド。 コマンドは、Command Dword 10 と Reservation Register データ構造をメモリ内で使用します。 コマンドがデータ転送に PRP を使用する場合は、PRP 項目 1 および PRP 項目 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、SGL 項目 1 フィールドが使用されます。 その他のコマンド固有のフィールドはすべて予約されています。 |
NVME_NVM_COMMAND_RESERVATION_REPORT 名前空間の登録と予約の状態を記述するメモリに Reservation Status データ構造を返す Reservation Report コマンド。 Reservation Status データ構造のサイズは、名前空間の登録者であるホストに関連付けられている NVM サブシステム内のコントローラーの数の関数です (たとえば、このようなコントローラーごとに登録済みコントローラー データ構造があります)。 |
NVME_NVM_COMMAND_RESERVATION_ACQUIRE 名前空間で予約を取得し、名前空間に保持されている予約を割り込み、名前空間に保持されている予約を中止するために使用される Reservation Acquire コマンド。 コマンドは、Command Dword 10 と Reservation Acquire データ構造をメモリ内で使用します。 コマンドがデータ転送に PRP を使用する場合は、PRP 項目 1 および PRP 項目 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、SGL 項目 1 フィールドが使用されます。 その他のコマンド固有のフィールドはすべて予約されています。 |
NVME_NVM_COMMAND_RESERVATION_RELEASE 名前空間に保持されている予約を解放またはクリアするために使用される Reservation Release コマンド。 コマンドは、Command Dword 10 と、メモリ内の予約リリース データ構造を使用します。 コマンドがデータ転送に PRP を使用する場合は、PRP 項目 1 および PRP 項目 2 フィールドが使用されます。 コマンドがデータ転送に SGL を使用する場合は、SGL 項目 1 フィールドが使用されます。 その他のコマンド固有のフィールドはすべて予約されています。 |
注釈
NVM コマンドは、コントローラー の状態 レジスタに示されているようにコントローラーの準備ができたときに、適切な I/O 送信キューと I/O 完了キューが作成された後にホストによって送信されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | nvme.h |