数据结构与日志格式 - 第241页
NVME2.0协议解读 1 min read

数据结构与日志格式 - 第241页

Blog Author

深入分析 NVM Express® Base Specification, revision 2.0b - 命令和功能锁定日志页面 (Log Identifier 14h) 和启动分区日志页面 (Log Identifier 15h)

本节将继续深入分析 命令和功能锁定日志页面(Log Identifier 14h)和 启动分区日志页面(Log Identifier 15h)。以下是对这些日志页面的详细解读。


Command and Feature Lockdown Log (Log Identifier 14h)

命令和功能锁定日志页面 允许控制器指示哪些命令和功能标识符在执行时被禁止。此日志页面包含 Command and Feature Identifier List 字段,列出禁止执行的命令及其影响范围。

关键字段分析:

  1. Contents Selected (CS)
    该字段与 Scope Selected (SS) 字段结合,确定 Command and Feature Identifier List 中包含的内容。具体定义了哪些命令或功能标识符是被禁止的,具体内容:
  2. 00b:列出支持禁止的命令操作码或 Set Features 功能标识符。
  3. 01b:列出当前禁止执行的命令操作码或 Set Features 功能标识符(接收到的命令被禁止执行)。
  4. 10b:列出通过 out-of-band 管理端点接收到的被禁止命令。

  5. Scope Selected (SS)
    该字段与 Contents Selected 字段结合,指示命令或功能标识符的作用范围:

  6. 0h:列出 Admin Command Set 操作码。
  7. 2h:列出 Set Features 功能标识符。
  8. 3h:列出 Management Interface Command Set 操作码。
  9. 4h:列出 PCIe Command Set 操作码。

  10. Length (LNGTH)
    指示 Command and Feature Identifier List 字段的长度。若列表没有编码值,则该字段将为 0h

  11. Command and Feature Identifier List (CFIL)
    根据 Contents SelectedScope Selected 字段的设定,列出具体的命令操作码或功能标识符。这些值按从小到大的顺序排列,帮助控制器明确哪些命令被禁止执行。


Boot Partition Log (Log Identifier 15h)

启动分区日志页面 提供对控制器可访问的 Boot Partition 的只读访问。通过该日志页面,主机可以读取启动分区的相关信息。

关键字段分析:

  1. Boot Partition Identifier (BPI)
    该字段指示启动分区的标识符,用于确定返回的启动分区。具体来说,Boot Partition Identifier 决定了控制器返回哪个启动分区的数据。

  2. BPRSEL 和 BPMBL

  3. BPRSEL:用于选择启动分区的寄存器。主机读取该日志页面时不会影响 BPRSELBPMBL 寄存器的状态。

  4. 无影响操作
    读取 Boot Partition Log 不会对 BPINFO(启动分区信息)、BPRSELBPMBL 寄存器的状态产生任何影响,确保主机读取时不会修改这些关键寄存器。


总结:

  1. 命令和功能锁定日志页面 通过指定哪些命令和功能标识符被禁止执行,帮助控制器对系统中的命令执行进行更细致的管理,确保在特定情况下避免不必要的操作。例如,禁止某些命令操作码执行,防止对系统的影响。

  2. 启动分区日志页面 提供了对启动分区的只读访问,确保主机可以在不干扰控制器寄存器的情况下获取启动分区的信息。这对于系统的启动和管理非常重要,特别是在需要从不同的启动分区进行操作时。

这些日志页面为 NVM Express 设备的管理提供了强大的功能,能够在多主机、多个命令接口的环境中,精细地控制命令的执行,并允许对启动分区进行访问管理。这对于增强系统的灵活性和安全性至关重要。