共用方式為


NVME_CONTROLLER_CONFIGURATION聯盟 (nvme.h)

包含控制器的讀取/寫入組態設定。

主機軟體會在啟用控制器之前、將下列欄位設定為有效值、方法是將啟用EN欄位值設定為1

此結構用於NVME_CONTROLLER_REGISTERS結構的控制器功能 (CC) 欄位。

語法

typedef union {
  struct {
    ULONG EN : 1;
    ULONG Reserved0 : 3;
    ULONG CSS : 3;
    ULONG MPS : 4;
    ULONG AMS : 3;
    ULONG SHN : 2;
    ULONG IOSQES : 4;
    ULONG IOCQES : 4;
    ULONG Reserved1 : 8;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_CONTROLLER_CONFIGURATION, *PNVME_CONTROLLER_CONFIGURATION;

Members

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.EN

指出控制器是否已啟用處理命令。

當此值設定為 1時,控制器將根據 提交佇列尾門鈴 寫入來處理命令。 當此值清除為 0時,控制器將不會處理命令,也不會將 完成佇列項目 張貼至完成佇列。

當此欄位從 1 轉換為 0時,控制器會重設 (稱為控制器重設)。 重設會刪除所有 I/O 提交佇列和 I/O 完成佇列、重設管理提交佇列和完成佇列,並將硬體置於閒置狀態。 重設不會影響 PCI Express 暫存器或管理佇列暫存器 (AQA、ASQ 或 ACQ)。 所有其他控制器暫存器和內部控制器狀態 (例如,在電源狀態之間不持續存在的功能值) 都會重設為其預設值。 控制器可確保在重設作業之前,已將對應的「完成佇列」項目張貼至 I/O 完成佇列的命令不會遺失資料。

當此欄位清除為 0時,控制器會清除控制器狀態中的0就緒 (RDY) 欄位值,一旦控制器準備好重新啟用。 當此欄位設定為 1時,控制器會將控制器狀態中的 RDY 欄位值設定為1準備好處理命令的時間。 RDY 可以在命名空間準備好存取之前設定為 1

RDY 為 a 1時,將此欄位從 a 0 設定為 a1,或當 RDY 為 '0' 時,將此欄位從 '1' 設定為 '0',會產生未定義的結果。 只有在 EN 清除為 0時,才會修改管理佇列暫存器 (AQA、ASQ 和 ACQ)。

DUMMYSTRUCTNAME.Reserved0

DUMMYSTRUCTNAME.CSS

指定選取用於「I/O 提交佇列」的「I/O 指令集」。

主機軟體只會選取支援的 I/O 命令集,如控制器功能的CSS 欄位所示。

只有在控制器停用時,才能變更此欄位的此值 ( EN 欄位已清除為 0)。 選取的 I/O 指令集將用於所有 I/O 提交佇列。

DUMMYSTRUCTNAME.MPS

指出主機記憶體頁面大小。 記憶體頁面大小為 (2 ^ (12 + MPS))。 因此,主機記憶體頁面大小下限為 4KB,主機記憶體頁面大小上限為 128MB。

主機軟體設定的值必須是支援的值,如控制器功能的MPSMAXMPSMIN 欄位所指出。 此欄位說明用於 PRP 項目大小的值。

只有在 清除 EN0,才能修改此欄位。

DUMMYSTRUCTNAME.AMS

指定要使用的仲裁機制。

只有在 清除 EN0,才能修改此欄位。

主機軟體只能將此欄位設定為支援的仲裁機制,如控制器功能的AMS欄位中所示。 如果此欄位設定為不支援的值,則行為未定義。

DUMMYSTRUCTNAME.SHN

指定 NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS 值,用來在發生關機時起始關機處理程序。 例如,當預期斷電狀況時。

對於正常關機通知,控制器應該有時間處理關機通知。 對於突然關機通知,主機可能不會等待關機處理完成,然後才斷電。 主機軟體應在任何斷電狀況之前,以及PCI電源管理狀態的任何變更之前寫入此欄位。 建議在熱重新啟動之前也寫入此欄位。

若要判斷關機處理何時完成,請參閱控制器狀態中的 SHST 值。

DUMMYSTRUCTNAME.IOSQES

指定用於所選「I/O 指令集」的「I/O 提交佇列」項目大小。

此欄位的必要值及最大值會在 SQES 中指定。RequiredEntrySizeSQES。MaxEntrySize 每個 I/O 命令集的 識別控制器 資料結構的欄位。 該值以位元組為單位,並指定為 2 的冪 (2^n)。

DUMMYSTRUCTNAME.IOCQES

指定用於所選「I/O 指令集」的「I/O 完成佇列」項目大小。

此欄位的必要值及最大值會在 CQES 中指定。RequiredEntrySizeCQES。MaxEntrySize 每個 I/O 命令集的 識別控制器 資料結構的欄位。 該值以位元組為單位,並指定為 2 的冪 (2^n)。

DUMMYSTRUCTNAME.Reserved1

AsUlong

需求

Requirement 價值觀
最低支援的用戶端 Windows 10
Header nvme.h