数据结构 - 控制器就绪超时错误的附加硬件错误信息(图235) (第223页)
NVME2.0协议解读 1 min read

数据结构 - 控制器就绪超时错误的附加硬件错误信息(图235) (第223页)

Blog Author

控制器就绪超时错误的附加硬件错误信息(图235)

在NVM Express协议中,控制器就绪超时(Controller Ready Timeout Exceeded)错误处理是非常重要的。它指示控制器未能在指定的时间内准备好处理命令,这可能会影响数据处理的效率和系统的稳定性。

控制器就绪超时错误字段

字节范围 描述
0 控制器状态:此字段指示控制器在发生控制器就绪超时错误时的状态。具体描述如下:
7:3 保留
3 控制器未就绪:表示在规定时间内(由 Controller Ready With Media Timeout 字段定义)控制器未能准备好处理至少一个命令。
2 管理员命令介质未就绪:表示处理管理员命令所需的介质未能在指定时间内准备好。
1 命名空间未就绪:表示至少一个连接到控制器的命名空间未能在规定时间内准备好。
0 独立于介质的控制器准备就绪启用:表示在发生超时错误时,CC.CRIME 位的值。
3:1 保留

字段解释

  • 控制器未就绪(Controller Not Ready):表示控制器在超时前未能完成准备好状态,无法处理命令。该状态通常由 Controller Ready With Media TimeoutController Ready Independent of Media Timeout 决定。

  • 管理员命令介质未就绪(Admin Command Media Not Ready):表示控制器的介质(如存储介质)未能在规定时间内准备好,无法处理至少一个管理员命令。

  • 命名空间未就绪(Namespace Not Ready):表示连接到控制器的命名空间未能在规定的时间内准备好,影响命名空间上的命令执行。

  • 控制器准备就绪独立于介质启用(Controller Ready Independent of Media Enable):该字段记录在超时发生时 CC.CRIME 位的值,指示是否在无媒体的情况下启用控制器准备就绪。


命名空间更改事件(事件类型06h)

命名空间更改事件记录了主机执行成功的命名空间管理命令时的参数。这些更改可能涉及创建、删除或修改命名空间的操作,并在事件中保留相关数据。

命名空间更改事件字段

字节范围 描述
03:00 命名空间管理CDW10:包含发起命名空间更改事件的命名空间管理命令中的Dword 10值。
07:04 保留
15:08 命名空间大小 (NSZE):在创建操作中,包含来自 Identify Namespace 数据结构的 NSZE 值;在删除操作中,包含被删除命名空间的 NSZE 值。
23:16 保留

字段解释

  • 命名空间管理CDW10:该字段记录发起命名空间更改的命令中,Dword 10字段的内容。它描述了命名空间更改的具体指令参数。

  • 命名空间大小 (NSZE):此字段根据命名空间的操作类型(创建或删除)包含相应的命名空间大小信息。在创建操作中,它记录新命名空间的大小;在删除操作中,它记录被删除命名空间的大小。

通过这些字段,系统能够追踪命名空间的创建和删除操作,以及相关的参数变化,从而确保命名空间管理的可靠性和一致性。


总结

这些事件(控制器就绪超时和命名空间更改事件)通过记录关键的硬件和软件状态变化,帮助监控系统的运行状况,并在发生故障时提供必要的信息。控制器就绪超时错误通过记录控制器、命名空间和介质的状态变化,帮助开发人员理解系统在超时事件发生时的具体状态。而命名空间更改事件则确保命名空间的管理操作(如创建、删除)得到有效追踪,并提供详细的操作数据。