高级特性 - Host Behavior Support(主机行为支持) (第317页)
在 NVM Express® Base Specification, revision 2.0b 中,Host Behavior Support(主机行为支持) 特性允许控制器使用一些依赖于特定主机行为的功能。主机通过设置某些字段来指示其支持特定的行为,这使得控制器能够根据主机的支持来启用相应的功能。
Host Behavior Support(主机行为支持)
功能描述:
这个功能让控制器能够在主机明确支持特定行为时,启用依赖于该行为的控制器功能。换句话说,控制器只有在主机显式指示支持某些功能时,才会使用这些功能。例如,Command Interrupted 状态代码的使用依赖于主机是否支持命令重试功能。
关键字段:
- Advanced Command Retry Enable (ACRE):
- 如果该字段设置为
1h,则允许使用 Command Interrupted 状态代码,并启用命令重试延迟。控制器可以在完成队列条目的状态字段中设置 Command Retry Delay (CRD) 字段为非零值,从而指示命令重试延迟。 - 如果设置为
0h,则禁用 Command Interrupted 状态代码和命令重试延迟,控制器不使用此状态代码,并且在所有完成队列条目中清除 CRD 字段。
应用场景:
- Command Interrupted 状态码:
-
控制器可以在命令执行过程中遇到可重试的错误时使用 Command Interrupted 状态码。当主机支持命令重试行为时,控制器将该状态码返回给主机,主机可以根据此状态码重新发送命令。这对于提高系统容错性和命令执行可靠性非常有用。
-
命令重试延迟(Command Retry Delay,CRD):
- 如果主机支持并启用了命令重试,控制器可以在状态码中指示命令延迟重试的时间。这样可以避免主机频繁重试可能导致的系统过载,确保系统在合理的延迟时间内处理重试请求。
总结:
Host Behavior Support 特性允许控制器根据主机支持的特定行为(如命令重试)来启用或禁用某些功能。如果主机设置了 ACRE 字段为 1h,控制器可以启用命令重试,并在状态码中设置命令重试延迟。如果主机没有设置该字段,控制器则不使用这些功能。
这个特性对于实现更加灵活的错误处理机制、提高系统的健壮性和容错能力具有重要作用,特别是在高可用性和高可靠性要求的应用场景中。