5.14.1.14 LBA Status Information
此日志页用于提供主机可能采取的后续行动的信息,以发现连接到控制器的命名空间中的哪些逻辑块在读取时可能无法恢复。它包含0个或多个LBA状态日志名称空间元素(参见图234)。如果控制器不知道连接到控制器的给定名称空间中的任何潜在的不可恢复逻辑块,那么这个日志页面就不会返回该名称空间的LBA状态日志名称空间元素。对于没有连接到控制器的名称空间,这个日志页面不应该返回任何LBA状态日志名称空间元素。
每个LBA状态日志名称空间元素包含零个或多个LBA范围描述符(参见图235)。每个LBA范围描述符描述了已发现的一系列LBA作为潜在的不可恢复的,应该检查主机使用推荐的操作类型字段中指定的机制(参见图233)在LBA状态日志名称空间元素在随后得到LBA状态命令。
主机可能识别出无法通过后续发出一个或多个Get LBA状态命令恢复的逻辑块。一旦确定,主机就可以从替代源恢复用户数据,并将该数据写入命名空间中的原始逻辑块地址。如果用户数据写入成功,后续的读取应该不会导致不可恢复的读错误(例如,由于写入改变了用户数据的物理位置)。
当接收到LBA状态信息警报异步事件时,主机应该为日志标识符0Eh发送一个或多个Get Log Page命令,并将Retain异步事件位设置为’ 1 ‘,直到读取整个日志页面。为了清除事件,主机发送一个Get Log Page命令,日志标识为0Eh,保留异步事件位清除为’ 0 '。主机决定什么时候发送Get LBA Status命令,什么时候恢复Get LBA Status命令识别的LBAs,与主机清除事件的时间相关。8.22.1节介绍主机的实现示例。清除该事件将重新启动LBA状态信息报告周期,并更新日志页面内容。
对于给定的LBA Status Log Namespace元素,如果Recommended Action Type(RATYPE)字段中的值为10h,然后,一旦主机发出日志标识符0Eh的Get Log Page命令并将Retain Asynchronous Event位清除为“0”,控制器就不应报告相同的LBA Status Log Namespace元素,除非发生了可能已创建其他未跟踪LBA的其他组件故障。