NVME_CONTROLLER_CAPABILITIES联合 (nvme.h)

包含指定用于托管软件的控制器的基本功能的只读值。

此结构用于NVME_CONTROLLER_REGISTERS结构的控制器功能(CAP)字段中。

Syntax

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指示两个队列条目。

DUMMYSTRUCTNAME.CQR

指示控制器是否需要 I/O 提交队列和 I/O 完成队列以物理方式连续。

如果此字段设置为 1,控制器要求 I/O 提交队列和 I/O 完成队列在物理上是连续的。 清除此字段 0后,控制器支持非物理连续的 I/O 提交队列和 I/O 完成队列。

当此字段设置为1时,“创建 I/O 提交队列”和“创建 I/O 完成队列”命令中的“物理连续位”(PC 字段)设置为1

DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent

指示控制器是否支持具有紧急优先级类仲裁机制的加权轮循机制。

如果此字段设置为 1,则支持具有紧急优先级类仲裁机制的加权轮循机制。

AMS_WeightedRoundRobinWithUrgentAMS_VendorSpecific 字段指示控制器支持的可选仲裁机制。 轮循机制未列出,因为所有控制者都必须支持此仲裁机制。

DUMMYSTRUCTNAME.AMS_VendorSpecific

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

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

DUMMYSTRUCTNAME.Reserved0

保留字段(位 19 到 23)。

DUMMYSTRUCTNAME.TO

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

在突然关闭或激活新固件映像等事件后,可能会遇到这种最糟糕的情况。 典型时间预计要短得多。

此字段的值以 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,则支持 NVM 命令集。

如果这些字段之一的值设置为1CSS_Reserved6字段,则为其他 I/O 命令集保留CSS_Reserved0,则支持相应的 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))

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

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

要求

Requirement 价值
最低支持的客户端 Windows 10操作系统
Header nvme.h

另请参阅