控制器寄存器与属性配置 - 第76页
深入分析 NVM Express® Base Specification, revision 2.0b
3.1.3.21 CRTO – Controller Ready Timeouts
这个属性定义了控制器在启动时准备好的超时时间。它包括两个字段,分别是 Controller Ready Independent of Media Timeout (CRIMT) 和 Controller Ready With Media Timeout (CRWMT)。
字段解析:
- CRIMT:当 CAP.CRMS.CRIMS 设置为 1 时,主机应等待的最长时间,直到控制器准备好处理不需要访问附加命名空间的命令(例如管理命令)。该时间可以发生在如突然关机或固件更新的事件后,通常这个时间较短。单位为 500 毫秒。
- CRWMT:该字段定义了主机等待的最长时间,直到控制器准备好处理所有命令并且所有附加命名空间和存储介质都准备好(无论控制器处于哪种准备模式)。这个时间同样可能受到突发关机或固件激活的影响,单位为 500 毫秒。
功能: - 这两个字段帮助系统确定控制器是否准备好处理命令,尤其是在系统经历突发关闭或固件更新时,可以确保系统的恢复时间在合理范围内。
3.1.3.22 PMRCAP – Persistent Memory Region Capabilities
这个属性定义了控制器持久内存区域的能力。控制器如果不支持持久内存区域功能,则该属性会被清除。
字段解析:
- CMSS (Controller Memory Space Supported):如果该位设置为 1,则表示控制器支持通过主机提供的地址访问持久内存区域的控制器内存空间。只有在主机启用了持久内存区域的控制器内存空间时,地址才允许引用持久内存区域。
- PMRTO (Persistent Memory Region Timeout):这个字段定义了主机软件在修改
PMRCTL.EN后,等待持久内存区域变为准备好的最小时间。该时间使用持久内存区域时间单位(由PMRCAP.PMRTU定义)。
功能: - PMRCAP 提供了持久内存区域是否可用的信息,并且帮助系统在进行控制器内存空间操作时,避免错误的访问时序或等待不必要的时间。
总结
-
CRTO 属性 提供了控制器启动时的准备时间,帮助主机软件知道何时可以开始发送命令,尤其是在经历重启、固件更新或其他影响准备状态的事件后,确保系统可以在合理时间内恢复。
-
PMRCAP 属性 使得系统能够确认控制器是否支持持久内存区域功能,并且定义了访问这些区域的时间和能力,确保持久内存操作的稳定性和可靠性。
这两个属性共同确保了控制器在不同硬件事件下的恢复过程可预测且稳定,确保数据传输过程的高效性和安全性。