控制器寄存器与属性配置 - 第75页
深入分析 NVM Express® Base Specification, revision 2.0b
3.1.3.19 CMB Sustained Write Throughput Units (CMBSWTU)
这个属性定义了 CMB Sustained Write Throughput 字段的颗粒度。CMBSWTU 字段用于指示持续写入吞吐量的单位,单位决定了 CMBSWT 字段中记录的吞吐量是如何衡量的。
字段解析: - Granularity:该字段表示写入吞吐量的单位,可以设置为以下值之一: - 0h:字节/秒(Bytes/second) - 1h:1 KiB/秒(KiB/second) - 2h:1 MiB/秒(MiB/second) - 3h:1 GiB/秒(GiB/second) - 4h – Fh:保留,未使用。
意义: - 该字段帮助主机理解 CMB 的持续写入性能的度量方式,根据吞吐量单位可以得知传输数据的速度。
3.1.3.20 NSSD – NVM Subsystem Shutdown
这个可选属性允许主机软件发起 NVM 子系统的正常或突发关闭操作。该操作支持通过 CAP.NSSS 属性来指示。如果控制器不支持该功能,那么该寄存器的地址范围会被保留。
字段解析:
- NVM Subsystem Shutdown Control (NSSC):
- 如果写入值为 4E726D6Ch ("Nrml"),则表示正常关闭 NVM 子系统。此操作会影响:
- 与控制器相关的域(如果 CAP.CPS 设置为 10b,如第 3.6.3.1 节所述)。
- 整个 NVM 子系统(如果 CAP.CPS 设置为 11b,如第 3.6.3.2 节所述)。
- 如果写入值为 41627074h ("Abpt"),则表示突发关闭 NVM 子系统,过程同上。
- 写入其他值对操作没有影响。
功能: - 通过这个寄存器,主机可以控制整个 NVM 子系统或特定域的关闭,控制关闭过程是正常的还是突发的。
3.1.3.21 CRTO – Controller Ready Timeouts
这个属性提供了控制器准备好处理命令的超时设置。它定义了当控制器启用并准备好接受命令时,允许的最大等待时间。
字段解析: - Controller Ready Timeout:该属性的目的是允许主机在控制器启用时,等待其准备好处理命令的最大时间。如果控制器未在此时间内准备好,主机可能会根据具体实现选择采取其他操作。
意义: - 控制器的响应时间对系统的性能有重要影响。通过设置这个超时时间,系统可以确保控制器在合理的时间内响应。
总结
这些属性与 NVM 子系统和控制器的关闭、重置以及内存缓冲区的使用和性能有关。特别是在高性能存储系统中,能有效控制关闭过程(正常或突发)、管理内存缓冲区(如 CMB)和设置控制器的超时行为,可以显著提升系统的可靠性与响应速度。
- CMBSWTU 提供了写入吞吐量的颗粒度,帮助主机理解持续写入性能的度量方式。
- NSSD 和 CRTO 属性则为系统提供了灵活的关闭和重置机制,确保系统能够在需要时迅速恢复或关闭。