NVME_CONTROLLER_CAPABILITIES union (nvme.h)
ソフトウェアをホストするコントローラーの基本的な機能を指定する読み取り専用の値が含まれます。
この構造体は、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;
メンバー
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
設定されている場合、I/O 送信キューの作成コマンドと I/O入力候補キューの作成コマンドの物理連続ビット (PC フィールド) が に1
設定されます。
DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent
緊急優先度クラスによる重み付けラウンド ロビンの調停メカニズムがコントローラーによってサポートされているかどうかを示します。
このフィールドが に 1
設定されている場合、緊急優先度クラスによる重み付けラウンド ロビンのアービトレーション メカニズムがサポートされます。
この AMS_WeightedRoundRobinWithUrgent フィールドと AMS_VendorSpecific フィールドは、コントローラーでサポートされているオプションの調停メカニズムを示します。 すべてのコントローラーがこの調停メカニズムをサポートする必要があるため、ラウンド ロビンアービト メカニズムは一覧表示されません。
DUMMYSTRUCTNAME.AMS_VendorSpecific
ベンダー固有の調停メカニズムがコントローラーによってサポートされているかどうかを示します。
このフィールドが に 1
設定されている場合、ベンダー固有のアービトレーション メカニズムがサポートされます。
DUMMYSTRUCTNAME.Reserved0
予約フィールド (ビット 19 から 23)。
DUMMYSTRUCTNAME.TO
ホスト ソフトウェアがコントローラーの状態の準備完了 (RDY) の値が切り替わるのを待機する最悪の場合を示します。
-
0
NVME_CONTROLLER_CONFIGURATION1
の EN 値が から0
に遷移した後の に1
。 または -
1
NVME_CONTROLLER_CONFIGURATION0
の EN 値が から1
に遷移した後の を に設定します。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
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | nvme.h |