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 值从 转换为1
后转换为0
;或 -
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 命令集。
CSS_Reserved0到CSS_Reserved6字段保留给其他 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 |
标头 | nvme.h |