包含控制器的读/写配置设置。
主机软件通过将 “启用 EN 字段值”设置为 1“启用 EN”字段值,将以下字段设置为启用控制器之前的有效值:
此结构用于NVME_CONTROLLER_REGISTERS结构的控制器功能(CC)字段中。
Syntax
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,控制器将基于 提交队列 Tail Doorbell 写入处理命令。
清除此值 0后,控制器将不会处理命令,也不会将 完成队列条目发布到完成队列 。
当此字段从 1 此字段转换到 0此字段时,控制器将重置(称为控制器重置)。 重置会删除所有 I/O 提交队列和 I/O 完成队列,重置管理员提交队列和完成队列,并将硬件置于空闲状态。 重置不会影响 PCI Express 寄存器或管理员队列注册(AQA、ASQ 或 ACQ)。 所有其他控制器寄存器和内部控制器状态(例如,在电源状态中不持久的功能值)将重置为其默认值。 控制器确保在重置作之前已将相应的完成队列条目发布到 I/O 完成队列的命令没有数据丢失。
清除此字段0后,控制器状态中的“就绪”(RDY)字段的值将在控制器准备好重新启用后被控制器清除0。 当此字段设置为1时,控制器会将控制器状态中的 RDY 字段的值设置为1准备好处理命令时。 可以在命名空间(s)准备好访问之前将 RDY 设置为1该设置。
将此字段从 0RDY 设置为 1 RDY 时,或者当 RDY1为“0”时将此字段从“1”设置为“0”,则此字段具有未定义的结果。 仅当清除 0EN 时,才会修改管理员队列注册(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。
主机软件设置的值必须是控制器功能的MPSMAX 和 MPSMIN 字段指示的支持值。 此字段描述用于 PRP 条目大小的值。
仅 当 EN 清除到 0时,才能修改此字段。
DUMMYSTRUCTNAME.AMS
指定要使用的仲裁机制。
仅 当 EN 清除到 0时,才能修改此字段。
主机软件只能将此字段设置为受支持的仲裁机制,如控制器功能的AMS 字段中所示。 如果此字段设置为不受支持的值,则行为是未定义的。
DUMMYSTRUCTNAME.SHN
指定一个 NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS 值,该值用于在发生关闭时启动关闭处理。 例如,当需要关闭电源条件时。
对于正常的关闭通知,预期控制器有时间处理关闭通知。 对于突然关闭通知,主机可能不会等待关闭处理完成,然后电源丢失。 此字段应由主机软件写入到任何停电条件之前以及 PCI 电源管理状态的任何更改之前。 建议在预重启之前写入此字段。
若要确定关闭处理何时完成,请参阅控制器状态中的 SHST 值。
DUMMYSTRUCTNAME.IOSQES
指定用于所选 I/O 命令集的 I/O 提交队列条目大小。
此字段的必需值和最大值在 SQES 中指定 。RequiredEntrySize 和 SQES。 每个 I/O 命令集 的“标识控制器 数据结构”的 MaxEntrySize 字段。 该值以字节为单位,并指定为两个 (2^n) 的幂。
DUMMYSTRUCTNAME.IOCQES
指定用于所选 I/O 命令集的 I/O 完成队列条目大小。
此字段的必需值和最大值在 CQES 中指定。RequiredEntrySize 和 CQES。 每个 I/O 命令集 的“标识控制器 数据结构”的 MaxEntrySize 字段。 该值以字节为单位,并指定为两个 (2^n) 的幂。
DUMMYSTRUCTNAME.Reserved1
AsUlong
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10操作系统 |
| Header | nvme.h |