次の方法で共有


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;

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の EN1 から 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_CONFIGURATIONMPS フィールドにメモリ ページ サイズを構成しません。

DUMMYSTRUCTNAME.MPSMAX

コントローラーがサポートする最大ホスト メモリ ページ サイズを示します。

最大メモリ ページ サイズは (2 ^ (12 + MPSMAX))

ホストは、この値より大きいNVME_CONTROLLER_CONFIGURATIONMPS フィールドにメモリ ページ サイズを構成しません。

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

Requirements

Requirement 価値
サポートされる最小クライアント Windows 10
Header nvme.h

こちらも参照ください