《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(7.7)-- Asynchronous Event Request Host Software Recommendations

7.7 Asynchronous Event Request Host Software Recommendations【异步事件请求主机软件建议】

本章节描述异步事件请求主机软件处理步骤的建议。

主机发送n异步事件请求命令(参考第7.6.1章节第11步)。【摘自7.6.1的信息如下:11. To enable asynchronous notification of optional events, the host should issue a Set Features command specifying the events to enable. To enable asynchronous notification of events, the host should submit an appropriate number of Asynchronous Event Request commands. This step may be done at any point after the controller signals that the controller is ready (i.e., CSTS.RDY is set to ‘1’).】

当一个异步事件请求完成(提供Event Type,Event Information,和Log Page详情):【注:事件的Type,Info,Log Page ID值在CQE的第一个Dword中】

  • 如果已报告Log Page中的事件可以被异步事件配置【Asynchronous Event Configuration】特性(参考Set Feature command第5.21.1.11章节)禁用,那么主机软件为Asynchronous Event Configuration特性下发一个Set Feature命令,指定禁用利用Log Page报告的所有事件的报告。主机软件应该等待Set Feature命令到完成;
  • 主机软件下发一个Get Log Page命令请求Log Page,作为Asynchronous Event Command completion的一部分报告的。主机软件应该等待Get Log Page命令到完成;
  • 主机软件解析返回的Log Page。如果条件不是持久的,那么主机软件应该重新使能【re-enable】使用此Log Page的所有异步事件。如果条件是持久的,那么主机软件应该重新使能除了在此Log Page中已报告的那个/哪些之外的所有使用Log Page的异步事件。主机通过向Asynchronous Event Configuration特性下发一个Set Feature命令重新使能事件;
  • 主机软件应该下发一个Asynchronous Event Request命令到controller(将这些待处理命令的数量还原为n);
  • 如果禁用了事件报告,主机软件应该使用Asynchronous Event Configuration特性使能事件报告。如果报告的条件可能持续存在,主机软件应该继续监控此事件(例如低于阈值)以确定是否应该重新使能事件报告。

 

【补充其他内容】:

主机 id-ctrl 之后,执行Set Feature命令,命令格式如下:

Get Feature返回的CQE第一个Dword 0就是上边内容。

 

-----------------------------------------------------------------------------------------------------------------

主机Identify controller获取所能支持的内容,然后根据查询的OAES再填写命令的Dword 11:

 

 

 

posted @ 2021-05-25 11:01  JamesLi_1119401255  阅读(407)  评论(0编辑  收藏  举报