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
,表示兩個佇列專案。
DUMMYSTRUCTNAME.CQR
指出控制器是否需要 I/O 提交佇列和 I/O 完成佇列實際連續。
當此欄位設定為 1
時,控制器會要求 I/O 提交佇列和 I/O 完成佇列實際上是連續的。
清除此欄位 0
時,控制器支援非連續的 I/O 提交佇列和 I/O 完成佇列。
當此欄位設定為 1
時,[實體連續] 位 ([建立 I/O 提交佇列] 和 [建立 I/O 完成佇列] 指令中的 [計算機] 字段) 設定為 1
。
DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent
指出控制器是否支援具有緊急優先順序類別仲裁機制的加權迴圈配置資源。
當此欄位設定為 1
時,支援具有緊急優先順序類別仲裁機制的加權循環配置資源。
此 AMS_WeightedRoundRobinWithUrgent 和 AMS_VendorSpecific 欄位表示控制器支援的選擇性仲裁機制。 迴圈配置資源仲裁機制並未列出,因為所有控制者都必須支援此仲裁機制。
DUMMYSTRUCTNAME.AMS_VendorSpecific
指出控制器是否支援廠商特定仲裁機制。
當此欄位設定為 1
時,支援廠商特定仲裁機制。
DUMMYSTRUCTNAME.Reserved0
保留欄位 (位 19 到 23) 。
DUMMYSTRUCTNAME.TO
表示主機軟體在控制器狀態中等候 [就緒] (RDY) 值,以從下列情況轉換的最差情況:
-
0
在1
NVME_CONTROLLER_CONFIGURATION 中的 EN 值轉換0
至 之後;1
或 -
1
在0
NVME_CONTROLLER_CONFIGURATION 中的 EN 值轉換1
至 之後的0
。
在突然關機或啟用新韌體映射等事件之後,可能會發生這種最差的情況。 一般時間預期會較短。
此欄位的值以 500 毫秒為單位。
DUMMYSTRUCTNAME.DSTRD
表示門鈴緩存器之間的 步幅 。
每個 提交佇列 和 完成佇列 門鈴緩存器的大小都是 32 位。 分步是以位元組為單位來指定 (2 ^ (2 + DSTRD))
。
的值 0h
表示 4 個字節的步幅,其中門鈴緩存器會封裝在每一個緩存器之間沒有保留空間。
DUMMYSTRUCTNAME.NSSRS
指出控制器是否支援 在 NVME_NVM_SUBSYSTEM_RESET 結構中定義的 NVM 子系統重設功能。
當此欄位設定為 1
時,控制器支援 NVM 子系統重設功能。
清除此欄位后 0
,控制器不支援 NVM 子系統重設功能。
DUMMYSTRUCTNAME.CSS_NVM
此欄位指出控制器是否支援 NVM 命令集。 至少必須支援一個命令集。
當此欄位設定為 1
時,支援 NVM 命令集。
如果其中一個字段的值設定1
為 ,則會保留透過CSS_Reserved6欄位CSS_Reserved0給其他 I/O 命令集,則支援對應的 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))
。
主機不會在小於此值的MPS 欄位中,設定記憶體頁面大小NVME_CONTROLLER_CONFIGURATION。
DUMMYSTRUCTNAME.MPSMAX
指出控制器支援的主機記憶體頁面大小上限。
記憶體頁面大小上限為 (2 ^ (12 + MPSMAX))
。
主機不會在大於此值的 MPS 字段中,設定記憶體頁面大小NVME_CONTROLLER_CONFIGURATION。
DUMMYSTRUCTNAME.Reserved3
AsUlonglong
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | nvme.h |