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_WeightedRoundRobinWithUrgentAMS_VendorSpecific 字段指示控制器支持的可选仲裁机制。 轮循机制仲裁机制未列出,因为所有控制者都必须支持此仲裁机制。

DUMMYSTRUCTNAME.AMS_VendorSpecific

指示控制器是否支持供应商特定的仲裁机制。

如果此字段设置为 1,则支持特定于供应商的仲裁机制。

DUMMYSTRUCTNAME.Reserved0

保留字段 (位 19 到 23) 。

DUMMYSTRUCTNAME.TO

指示主机软件等待控制器状态中“就绪 (RDY) ”值转换的最坏情况时间:

在突然关闭或激活新固件映像等事件之后,可能会出现这种最坏的情况。 通常预计时间要短得多。

此字段的值以 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_CONFIGURATIONMPS 字段中配置小于此值的内存页大小。

DUMMYSTRUCTNAME.MPSMAX

指示控制器支持的最大主机内存页大小。

最大内存页大小为 (2 ^ (12 + MPSMAX))

主机不会在NVME_CONTROLLER_CONFIGURATIONMPS 字段中配置大于此值的内存页大小。

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

要求

要求
最低受支持的客户端 Windows 10
标头 nvme.h

另请参阅