NVME_NVM_COMMANDS
列挙型メンバー 16
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| NVME_NVM_COMMAND_FLUSH | 0 | 0x0 | 指定されたネームスペースに関連付けられたデータおよびメタデータを不揮発性メディアにコミットする Flush コマンドです。このフラッシュは、Flush コマンドの送信より前に完了したすべてのコマンドに適用されます。コントローラーは、任意のネームスペースの追加のデータやメタデータをフラッシュすることもあります。 |
| NVME_NVM_COMMAND_WRITE | 1 | 0x1 | 指定された論理ブロックについて、データおよび該当する場合はメタデータを NVM コントローラーに書き込む Write コマンドです。ホストは、操作の一部として含める保護情報を指定することもできます。 このコマンドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 13、Command Dword 14、および Command Dword 15 の各フィールドを使用します。コマンドがデータ転送に PRP を使用する場合は、Metadata Pointer、PRP Entry 1、および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、Metadata SGL Segment Pointer および SGL Entry 1 の各フィールドが使用されます。 |
| NVME_NVM_COMMAND_READ | 2 | 0x2 | 指定された論理ブロックについて、データおよび該当する場合はメタデータを NVM コントローラーから読み取る Read コマンドです。このコマンドでは、読み取り操作の一部としてチェックする保護情報を指定できます。 このコマンドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 13、Command Dword 14、および Command Dword 15 の各フィールドを使用します。コマンドがデータ転送に PRP を使用する場合は、Metadata Pointer、PRP Entry 1、および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、Metadata SGL Segment Pointer および SGL Entry 1 の各フィールドが使用されます。 |
| NVME_NVM_COMMAND_WRITE_UNCORRECTABLE | 4 | 0x4 | 論理ブロックの範囲を無効としてマークするために使用される Write Uncorrectable コマンドです。この操作の後に指定された論理ブロックが読み取られると、Unrecovered Read Error ステータス を伴う失敗が返されます。無効な論理ブロックの状態を解除するには、それらの論理ブロックに対して書き込み操作を実行します。 使用されるフィールドは、Command Dword 10、Command Dword 11、および Command Dword 12 の各フィールドです。その他のコマンド固有のフィールドはすべて予約済みです。 |
| NVME_NVM_COMMAND_COMPARE | 5 | 0x5 | コマンドで指定された論理ブロックをメディアから読み取り、読み取ったデータを、コマンドの一部として転送された比較データ バッファーと比較する Compare コマンドです。コントローラーから読み取ったデータと比較データ バッファーが一致し、不一致がない場合、コマンドは正常に完了します。不一致がある場合、コマンドは Compare Failure エラーで完了します。メタデータが提供されている場合は、メタデータについても比較が行われます。 このコマンドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 14、および Command Dword 15 の各フィールドを使用します。コマンドがデータ転送に PRP を使用する場合は、Metadata Pointer、PRP Entry 1、および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、Metadata SGL Segment Pointer および SGL Entry 1 の各フィールドが使用されます。その他のコマンド固有のフィールドはすべて予約済みです。 |
| NVME_NVM_COMMAND_WRITE_ZEROES | 8 | 0x8 | 論理ブロックの範囲を 0 に設定するために使用される Write Zeroes コマンドです。このコマンドが正常に完了した後、この範囲の論理ブロックを以降に読み取ると、この LBA 範囲に書き込みが行われるまで 0 が返されます。このコマンドのメタデータはすべて 0 になり、保護情報は CDW12.PRINFO に基づいて更新されます。 使用されるフィールドは、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 14、および Command Dword 15 の各フィールドです。 |
| NVME_NVM_COMMAND_DATASET_MANAGEMENT | 9 | 0x9 | 論理ブロックの範囲に対する属性をホストが示すために使用する Dataset Management コマンドです。 これには、データが読み取りまたは書き込みされる頻度、アクセス サイズ、およびパフォーマンスや信頼性の最適化に使用される可能性があるその他の情報などの属性が含まれます。このコマンドは助言的なものであり、準拠したコントローラーは、提供された情報に基づいて何も動作を行わないことを選択できます。 このコマンドは、Command Dword 10 および Command Dword 11 の各フィールドを使用します。コマンドがデータ転送に PRP を使用する場合は、PRP Entry 1 および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、SGL Entry 1 フィールドが使用されます。その他のコマンド固有のフィールドはすべて予約済みです。 |
| NVME_NVM_COMMAND_VERIFY | 12 | 0xC | |
| NVME_NVM_COMMAND_RESERVATION_REGISTER | 13 | 0xD | 予約キーの登録、登録解除、または置換に使用される Reservation Register コマンドです。 このコマンドは、Command Dword 10 と、メモリ内の Reservation Register データ構造を使用します。コマンドがデータ転送に PRP を使用する場合は、PRP Entry 1 および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、SGL Entry 1 フィールドが使用されます。その他のコマンド固有のフィールドはすべて予約済みです。 |
| NVME_NVM_COMMAND_RESERVATION_REPORT | 14 | 0xE | ネームスペースの登録および予約の状態を記述する Reservation Status データ構造をメモリに返す Reservation Report コマンドです。 Reservation Status データ構造のサイズは、そのネームスペースの登録者であるホストに関連付けられた NVM サブシステム内のコントローラーの数によって決まります (たとえば、該当する各コントローラーごとに Registered Controller データ構造が存在します)。 |
| NVME_NVM_COMMAND_RESERVATION_ACQUIRE | 17 | 0x11 | ネームスペースに対する予約の取得、ネームスペースに保持されている予約のプリエンプト、およびネームスペースに保持されている予約の中止に使用される Reservation Acquire コマンドです。 このコマンドは、Command Dword 10 と、メモリ内の Reservation Acquire データ構造を使用します。コマンドがデータ転送に PRP を使用する場合は、PRP Entry 1 および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、SGL Entry 1 フィールドが使用されます。その他のコマンド固有のフィールドはすべて予約済みです。 |
| NVME_NVM_COMMAND_RESERVATION_RELEASE | 21 | 0x15 | ネームスペースに保持されている予約の解放またはクリアに使用される Reservation Release コマンドです。 このコマンドは、Command Dword 10 と、メモリ内の Reservation Release データ構造を使用します。コマンドがデータ転送に PRP を使用する場合は、PRP Entry 1 および PRP Entry 2 の各フィールドが使用されます。コマンドがデータ転送に SGL を使用する場合は、SGL Entry 1 フィールドが使用されます。その他のコマンド固有のフィールドはすべて予約済みです。 |
| NVME_NVM_COMMAND_COPY | 25 | 0x19 | |
| NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND | 121 | 0x79 | |
| NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE | 122 | 0x7A | |
| NVME_NVM_COMMAND_ZONE_APPEND | 125 | 0x7D |
公式ドキュメント
NVM コマンド セット内のコマンドを示す値が含まれます。
解説(Remarks)
NVM コマンドは、Controller Status レジスタに示されるとおりコントローラーの準備が完了し、適切な I/O 送信キューおよび I/O 完了キューが作成された後に、ホストによって送信されます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum NVME_NVM_COMMANDS : int {
NVME_NVM_COMMAND_FLUSH = 0,
NVME_NVM_COMMAND_WRITE = 1,
NVME_NVM_COMMAND_READ = 2,
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 4,
NVME_NVM_COMMAND_COMPARE = 5,
NVME_NVM_COMMAND_WRITE_ZEROES = 8,
NVME_NVM_COMMAND_DATASET_MANAGEMENT = 9,
NVME_NVM_COMMAND_VERIFY = 12,
NVME_NVM_COMMAND_RESERVATION_REGISTER = 13,
NVME_NVM_COMMAND_RESERVATION_REPORT = 14,
NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 17,
NVME_NVM_COMMAND_RESERVATION_RELEASE = 21,
NVME_NVM_COMMAND_COPY = 25,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 121,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 122,
NVME_NVM_COMMAND_ZONE_APPEND = 125
} NVME_NVM_COMMANDS;public enum NVME_NVM_COMMANDS : int
{
NVME_NVM_COMMAND_FLUSH = 0,
NVME_NVM_COMMAND_WRITE = 1,
NVME_NVM_COMMAND_READ = 2,
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 4,
NVME_NVM_COMMAND_COMPARE = 5,
NVME_NVM_COMMAND_WRITE_ZEROES = 8,
NVME_NVM_COMMAND_DATASET_MANAGEMENT = 9,
NVME_NVM_COMMAND_VERIFY = 12,
NVME_NVM_COMMAND_RESERVATION_REGISTER = 13,
NVME_NVM_COMMAND_RESERVATION_REPORT = 14,
NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 17,
NVME_NVM_COMMAND_RESERVATION_RELEASE = 21,
NVME_NVM_COMMAND_COPY = 25,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 121,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 122,
NVME_NVM_COMMAND_ZONE_APPEND = 125,
}Public Enum NVME_NVM_COMMANDS As Integer
NVME_NVM_COMMAND_FLUSH = 0
NVME_NVM_COMMAND_WRITE = 1
NVME_NVM_COMMAND_READ = 2
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 4
NVME_NVM_COMMAND_COMPARE = 5
NVME_NVM_COMMAND_WRITE_ZEROES = 8
NVME_NVM_COMMAND_DATASET_MANAGEMENT = 9
NVME_NVM_COMMAND_VERIFY = 12
NVME_NVM_COMMAND_RESERVATION_REGISTER = 13
NVME_NVM_COMMAND_RESERVATION_REPORT = 14
NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 17
NVME_NVM_COMMAND_RESERVATION_RELEASE = 21
NVME_NVM_COMMAND_COPY = 25
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 121
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 122
NVME_NVM_COMMAND_ZONE_APPEND = 125
End Enumimport enum
class NVME_NVM_COMMANDS(enum.IntEnum):
NVME_NVM_COMMAND_FLUSH = 0
NVME_NVM_COMMAND_WRITE = 1
NVME_NVM_COMMAND_READ = 2
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 4
NVME_NVM_COMMAND_COMPARE = 5
NVME_NVM_COMMAND_WRITE_ZEROES = 8
NVME_NVM_COMMAND_DATASET_MANAGEMENT = 9
NVME_NVM_COMMAND_VERIFY = 12
NVME_NVM_COMMAND_RESERVATION_REGISTER = 13
NVME_NVM_COMMAND_RESERVATION_REPORT = 14
NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 17
NVME_NVM_COMMAND_RESERVATION_RELEASE = 21
NVME_NVM_COMMAND_COPY = 25
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 121
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 122
NVME_NVM_COMMAND_ZONE_APPEND = 125// NVME_NVM_COMMANDS
pub const NVME_NVM_COMMAND_FLUSH: i32 = 0;
pub const NVME_NVM_COMMAND_WRITE: i32 = 1;
pub const NVME_NVM_COMMAND_READ: i32 = 2;
pub const NVME_NVM_COMMAND_WRITE_UNCORRECTABLE: i32 = 4;
pub const NVME_NVM_COMMAND_COMPARE: i32 = 5;
pub const NVME_NVM_COMMAND_WRITE_ZEROES: i32 = 8;
pub const NVME_NVM_COMMAND_DATASET_MANAGEMENT: i32 = 9;
pub const NVME_NVM_COMMAND_VERIFY: i32 = 12;
pub const NVME_NVM_COMMAND_RESERVATION_REGISTER: i32 = 13;
pub const NVME_NVM_COMMAND_RESERVATION_REPORT: i32 = 14;
pub const NVME_NVM_COMMAND_RESERVATION_ACQUIRE: i32 = 17;
pub const NVME_NVM_COMMAND_RESERVATION_RELEASE: i32 = 21;
pub const NVME_NVM_COMMAND_COPY: i32 = 25;
pub const NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND: i32 = 121;
pub const NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE: i32 = 122;
pub const NVME_NVM_COMMAND_ZONE_APPEND: i32 = 125;// NVME_NVM_COMMANDS
const (
NVME_NVM_COMMAND_FLUSH int32 = 0
NVME_NVM_COMMAND_WRITE int32 = 1
NVME_NVM_COMMAND_READ int32 = 2
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE int32 = 4
NVME_NVM_COMMAND_COMPARE int32 = 5
NVME_NVM_COMMAND_WRITE_ZEROES int32 = 8
NVME_NVM_COMMAND_DATASET_MANAGEMENT int32 = 9
NVME_NVM_COMMAND_VERIFY int32 = 12
NVME_NVM_COMMAND_RESERVATION_REGISTER int32 = 13
NVME_NVM_COMMAND_RESERVATION_REPORT int32 = 14
NVME_NVM_COMMAND_RESERVATION_ACQUIRE int32 = 17
NVME_NVM_COMMAND_RESERVATION_RELEASE int32 = 21
NVME_NVM_COMMAND_COPY int32 = 25
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND int32 = 121
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE int32 = 122
NVME_NVM_COMMAND_ZONE_APPEND int32 = 125
)const
NVME_NVM_COMMAND_FLUSH = 0;
NVME_NVM_COMMAND_WRITE = 1;
NVME_NVM_COMMAND_READ = 2;
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 4;
NVME_NVM_COMMAND_COMPARE = 5;
NVME_NVM_COMMAND_WRITE_ZEROES = 8;
NVME_NVM_COMMAND_DATASET_MANAGEMENT = 9;
NVME_NVM_COMMAND_VERIFY = 12;
NVME_NVM_COMMAND_RESERVATION_REGISTER = 13;
NVME_NVM_COMMAND_RESERVATION_REPORT = 14;
NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 17;
NVME_NVM_COMMAND_RESERVATION_RELEASE = 21;
NVME_NVM_COMMAND_COPY = 25;
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 121;
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 122;
NVME_NVM_COMMAND_ZONE_APPEND = 125;// NVME_NVM_COMMANDS
pub const NVME_NVM_COMMAND_FLUSH: i32 = 0;
pub const NVME_NVM_COMMAND_WRITE: i32 = 1;
pub const NVME_NVM_COMMAND_READ: i32 = 2;
pub const NVME_NVM_COMMAND_WRITE_UNCORRECTABLE: i32 = 4;
pub const NVME_NVM_COMMAND_COMPARE: i32 = 5;
pub const NVME_NVM_COMMAND_WRITE_ZEROES: i32 = 8;
pub const NVME_NVM_COMMAND_DATASET_MANAGEMENT: i32 = 9;
pub const NVME_NVM_COMMAND_VERIFY: i32 = 12;
pub const NVME_NVM_COMMAND_RESERVATION_REGISTER: i32 = 13;
pub const NVME_NVM_COMMAND_RESERVATION_REPORT: i32 = 14;
pub const NVME_NVM_COMMAND_RESERVATION_ACQUIRE: i32 = 17;
pub const NVME_NVM_COMMAND_RESERVATION_RELEASE: i32 = 21;
pub const NVME_NVM_COMMAND_COPY: i32 = 25;
pub const NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND: i32 = 121;
pub const NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE: i32 = 122;
pub const NVME_NVM_COMMAND_ZONE_APPEND: i32 = 125;const
NVME_NVM_COMMAND_FLUSH* = 0
NVME_NVM_COMMAND_WRITE* = 1
NVME_NVM_COMMAND_READ* = 2
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE* = 4
NVME_NVM_COMMAND_COMPARE* = 5
NVME_NVM_COMMAND_WRITE_ZEROES* = 8
NVME_NVM_COMMAND_DATASET_MANAGEMENT* = 9
NVME_NVM_COMMAND_VERIFY* = 12
NVME_NVM_COMMAND_RESERVATION_REGISTER* = 13
NVME_NVM_COMMAND_RESERVATION_REPORT* = 14
NVME_NVM_COMMAND_RESERVATION_ACQUIRE* = 17
NVME_NVM_COMMAND_RESERVATION_RELEASE* = 21
NVME_NVM_COMMAND_COPY* = 25
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND* = 121
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE* = 122
NVME_NVM_COMMAND_ZONE_APPEND* = 125enum NVME_NVM_COMMANDS : int {
NVME_NVM_COMMAND_FLUSH = 0,
NVME_NVM_COMMAND_WRITE = 1,
NVME_NVM_COMMAND_READ = 2,
NVME_NVM_COMMAND_WRITE_UNCORRECTABLE = 4,
NVME_NVM_COMMAND_COMPARE = 5,
NVME_NVM_COMMAND_WRITE_ZEROES = 8,
NVME_NVM_COMMAND_DATASET_MANAGEMENT = 9,
NVME_NVM_COMMAND_VERIFY = 12,
NVME_NVM_COMMAND_RESERVATION_REGISTER = 13,
NVME_NVM_COMMAND_RESERVATION_REPORT = 14,
NVME_NVM_COMMAND_RESERVATION_ACQUIRE = 17,
NVME_NVM_COMMAND_RESERVATION_RELEASE = 21,
NVME_NVM_COMMAND_COPY = 25,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND = 121,
NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE = 122,
NVME_NVM_COMMAND_ZONE_APPEND = 125,
}#define global NVME_NVM_COMMAND_FLUSH 0x0
#define global NVME_NVM_COMMAND_WRITE 0x1
#define global NVME_NVM_COMMAND_READ 0x2
#define global NVME_NVM_COMMAND_WRITE_UNCORRECTABLE 0x4
#define global NVME_NVM_COMMAND_COMPARE 0x5
#define global NVME_NVM_COMMAND_WRITE_ZEROES 0x8
#define global NVME_NVM_COMMAND_DATASET_MANAGEMENT 0x9
#define global NVME_NVM_COMMAND_VERIFY 0xC
#define global NVME_NVM_COMMAND_RESERVATION_REGISTER 0xD
#define global NVME_NVM_COMMAND_RESERVATION_REPORT 0xE
#define global NVME_NVM_COMMAND_RESERVATION_ACQUIRE 0x11
#define global NVME_NVM_COMMAND_RESERVATION_RELEASE 0x15
#define global NVME_NVM_COMMAND_COPY 0x19
#define global NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND 0x79
#define global NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE 0x7A
#define global NVME_NVM_COMMAND_ZONE_APPEND 0x7D