ソフトウェアをホストするコントローラーの基本的な機能を指定する読み取り専用の値が含まれています。
この構造体は、NVME_CONTROLLER_REGISTERS構造体のコントローラー機能 (CAP) フィールドで使用されます。
構文
typedef union {
struct {
ULONGLONG MQES : 16;
ULONGLONG CQR : 1;
ULONGLONG AMS_WeightedRoundRobinWithUrgent : 1;
ULONGLONG AMS_VendorSpecific : 1;
ULONGLONG Reserved0 : 5;
ULONGLONG TO : 8;
ULONGLONG DSTRD : 4;
ULONGLONG NSSRS : 1;
ULONGLONG CSS_NVM : 1;
ULONGLONG CSS_Reserved0 : 1;
ULONGLONG CSS_Reserved1 : 1;
ULONGLONG CSS_Reserved2 : 1;
ULONGLONG CSS_Reserved3 : 1;
ULONGLONG CSS_Reserved4 : 1;
ULONGLONG CSS_MultipleIo : 1;
ULONGLONG CSS_AdminOnly : 1;
ULONGLONG Reserved2 : 3;
ULONGLONG MPSMIN : 4;
ULONGLONG MPSMAX : 4;
ULONGLONG Reserved3 : 8;
} DUMMYSTRUCTNAME;
ULONGLONG AsUlonglong;
} NVME_CONTROLLER_CAPABILITIES, *PNVME_CONTROLLER_CAPABILITIES;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.MQES
コントローラーがサポートする個々の最大キュー サイズを示します。
この値は、ホスト ソフトウェアによって作成される各 I/O 送信キューと I/O 完了キューに適用されます。
これは 0 に基づく値です。 最小値は 1hで、2 つのキュー エントリを示します。
DUMMYSTRUCTNAME.CQR
コントローラーが I/O 送信キューと I/O 完了キューを物理的に連続している必要があるかどうかを示します。
このフィールドが 1 に設定されている場合、コントローラーは I/O 送信キューと I/O 完了キューが物理的に連続している必要があります。
このフィールドを 0にクリアすると、コントローラーは、物理的に連続していない I/O 送信キューと I/O 完了キューをサポートします。
このフィールドを1に設定すると、入出力送信キューの作成コマンドおよび入出力完了キューの作成コマンドの物理的に連続したビット (PC フィールド) が1に設定されます。
DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent
緊急優先度クラスの判定メカニズムを持つ重み付けラウンド ロビンがコントローラーでサポートされているかどうかを示します。
このフィールドを 1に設定すると、緊急優先度クラスによる重み付けラウンド ロビンの判定メカニズムがサポートされます。
この AMS_WeightedRoundRobinWithUrgent フィールドと AMS_VendorSpecific フィールドは、コントローラーでサポートされているオプションの調停メカニズムを示します。 すべてのコントローラーがこの調停メカニズムをサポートする必要があるため、ラウンド ロビン判定メカニズムは一覧表示されません。
DUMMYSTRUCTNAME.AMS_VendorSpecific
ベンダー固有の調停メカニズムがコントローラーによってサポートされているかどうかを示します。
このフィールドを 1に設定すると、ベンダー固有の判定メカニズムがサポートされます。
DUMMYSTRUCTNAME.Reserved0
予約フィールド (ビット 19 から 23)。
DUMMYSTRUCTNAME.TO
ホスト ソフトウェアがコントローラーの状態の準備完了 (RDY) の値が切り替えるのを待機する最悪の場合を示します。
-
0NVME_CONTROLLER_CONFIGURATIONの EN 値が0から1に遷移した後に1。 -
1は、NVME_CONTROLLER_CONFIGURATIONの EN 値が1から0に遷移した後に0します。
この最悪のケースは、突然のシャットダウンや新しいファームウェア イメージのアクティブ化などのイベントの後に発生する可能性があります。 一般的な時間は、はるかに短い時間になると予想されます。
このフィールドの値は 500 ミリ秒単位です。
DUMMYSTRUCTNAME.DSTRD
ドアベル レジスタ間の ストライド を示します。
各 送信キュー と 完了キュー の Doorbell レジスタのサイズは 32 ビットです。 ストライドは、バイト単位で (2 ^ (2 + DSTRD)) として指定されます。
0hの値は、4 バイトのストライドを示します。ドアベル レジスタは、各レジスタ間の予約領域なしでパックされます。
DUMMYSTRUCTNAME.NSSRS
コントローラーが、 NVME_NVM_SUBSYSTEM_RESET 構造で定義されている NVM サブシステム リセット機能をサポートしているかどうかを示します。
このフィールドが 1 に設定されている場合、コントローラーは NVM サブシステム リセット機能をサポートします。
このフィールドが 0にクリアされている場合、コントローラーは NVM サブシステム リセット機能をサポートしていません。
DUMMYSTRUCTNAME.CSS_NVM
このフィールドは、NVM コマンド セットがコントローラーでサポートされているかどうかを示します。 少なくとも 1 つのコマンド セットがサポートされている必要があります。
このフィールドを 1 に設定すると、NVM コマンド セットがサポートされます。
CSS_Reserved6 フィールド間のCSS_Reserved0は、他の I/O コマンド セット用に予約されています。これらのフィールドの値が 1 に設定されている場合は、対応する I/O コマンド セットがサポートされます。
DUMMYSTRUCTNAME.CSS_Reserved0
DUMMYSTRUCTNAME.CSS_Reserved1
DUMMYSTRUCTNAME.CSS_Reserved2
DUMMYSTRUCTNAME.CSS_Reserved3
DUMMYSTRUCTNAME.CSS_Reserved4
DUMMYSTRUCTNAME.CSS_MultipleIo
DUMMYSTRUCTNAME.CSS_AdminOnly
DUMMYSTRUCTNAME.Reserved2
DUMMYSTRUCTNAME.MPSMIN
コントローラーがサポートする最小ホスト メモリ ページ サイズを示します。
最小メモリ ページ サイズは (2 ^ (12 + MPSMIN))。
ホストは、この値より小さいNVME_CONTROLLER_CONFIGURATIONの MPS フィールドにメモリ ページ サイズを構成しません。
DUMMYSTRUCTNAME.MPSMAX
コントローラーがサポートする最大ホスト メモリ ページ サイズを示します。
最大メモリ ページ サイズは (2 ^ (12 + MPSMAX))。
ホストは、この値より大きいNVME_CONTROLLER_CONFIGURATIONの MPS フィールドにメモリ ページ サイズを構成しません。
DUMMYSTRUCTNAME.Reserved3
AsUlonglong
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 10 |
| Header | nvme.h |