NVME_CONTROLLER_MEMORY_BUFFER_SIZE union (nvme.h)
オプションのコントローラー メモリ バッファー レジスタのサイズを定義し、NVME_CONTROLLER_REGISTERS構造体の CMBSZ フィールドで使用します。
コントローラーがコントローラー メモリ バッファー機能をサポートしていない場合、 CMBSZ フィールドは に 0h
クリアされます。
コントローラー メモリ バッファーの場所は、NVME_CONTROLLER_REGISTERSの CMBLOC フィールドで指定します。
構文
typedef union {
struct {
ULONG SQS : 1;
ULONG CQS : 1;
ULONG LISTS : 1;
ULONG RDS : 1;
ULONG WDS : 1;
ULONG Reserved : 3;
ULONG SZU : 4;
ULONG SZ : 20;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CONTROLLER_MEMORY_BUFFER_SIZE, *PNVME_CONTROLLER_MEMORY_BUFFER_SIZE;
メンバー
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.SQS
コントローラーがコントローラー メモリ バッファー内の 管理 および I/O 送信キューをサポートしているかどうかを示します。
この値が に1
設定されている場合、コントローラーはコントローラー メモリ バッファー内の 管理 および I/O 送信キューをサポートします。
この値が に 0
クリアされると、すべての送信キューがホスト メモリに配置されます。
DUMMYSTRUCTNAME.CQS
コントローラーがコントローラー メモリ バッファー内の管理キューと I/O 完了キューをサポートしているかどうかを示します。
この値が に1
設定されている場合、コントローラーはコントローラー メモリ バッファー内の 管理 および I/O 完了キューをサポートします。
この値が に 0
クリアされると、すべての完了キューがホスト メモリに配置されます。
DUMMYSTRUCTNAME.LISTS
コントローラーがコントローラー メモリ バッファーの物理領域ページ (PRP) と散布図Lists (SGL) をサポートしているかどうかを示します。
この値が に1
設定されている場合、コントローラーはコントローラー メモリ バッファーで PRP Listsをサポートします。 値が に 1
設定されていて、コントローラーで SGL がサポートされている場合、コントローラーはコントローラー メモリ バッファー内の SGL をサポートします。 このビットが に 1
設定されている場合、送信キュー サポート (SQS) フィールドは に 1
設定されます。
この値を に0
クリアすると、すべての PRP Listsと SGL がホスト メモリに配置されます。
DUMMYSTRUCTNAME.RDS
コントローラーからホストにデータを転送するコマンド (Read コマンドなど) に対して、コントローラーがコントローラー メモリ バッファー内のデータとメタデータをサポートしているかどうかを示します。
この値が に 1
設定されている場合、コントローラーはコントローラーからホストにデータを転送するコマンドに対して、コントローラー メモリ バッファー内のデータとメタデータをサポートします。
この値を にクリアすると、コントローラーからホストに 0
データを転送するコマンドのすべてのデータとメタデータがホスト メモリに転送されます。
DUMMYSTRUCTNAME.WDS
ホストからコントローラーにデータを転送するコマンド (Write コマンドなど) に対して、コントローラーがコントローラー メモリ バッファー内のデータとメタデータをサポートしているかどうかを示します。
この値が に 1
設定されている場合、コントローラーは、ホストからコントローラーにデータを転送するコマンドに対して、コントローラー メモリ バッファー内のデータとメタデータをサポートします。
この値が にクリアされると、ホストからコントローラーに 0
データを転送するコマンドのすべてのデータとメタデータがホスト メモリから転送されます。
DUMMYSTRUCTNAME.Reserved
DUMMYSTRUCTNAME.SZU
[サイズ SZ] フィールドの粒度を示すNVME_CMBSZ_SIZE_UNITS値。
DUMMYSTRUCTNAME.SZ
ホストで使用できるコントローラー メモリ バッファーのサイズを示します。 サイズは、サイズ ユニット SZU の倍数です。
Offset (NVME_CONTROLLER_MEMORY_BUFFER_LOCATION 構造体の OFST フィールド) + Size (SZ) が、指定したベース アドレス レジスタ (NVME_CONTROLLER_MEMORY_BUFFER_LOCATION 構造体の BIR フィールド) の長さを超える場合、ホストで使用できるサイズはベース アドレス レジスタの長さによって制限されます。
AsUlong
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | nvme.h |