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

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

Blog Author

深入分析 NVM Express® Base Specification, revision 2.0b 中 Feature Identifiers 和 FID 支持与影响的描述

在本节中,我们将详细探讨与 Feature Identifiers(FID)相关的支持和影响,特别是 Get Log Page 相关日志,FIDs 的作用,以及如何根据命令集规范来控制和协调这些功能。


Feature Identifiers Effects Log (Log Identifier 12h)

功能:该日志页面用于描述控制器支持的每个功能标识符(FID)的影响,特别是 Set Features 命令的效果。通过此日志,系统可以了解特定功能如何影响 NVM 子系统,以及不同接口支持的功能标识符(FIDs)。

结构分析

  1. Feature Identifier Supported 0 - 255
  2. 该字段描述了各个 FID(从 0 到 FFh)在 NVM subsystem 中的支持情况。
  3. 每个 FID 都有相应的 FID Supported and Effects 数据结构,定义了该 FID 可能的影响和支持的特性。
  4. 如果 CC.CSS 设置为 110b,表示 I/O Command Sets 未通过 I/O Command Set Profile (FID 19h) 启用的命令集将被视为不支持。

  5. FID Supported and Effects Data Structure (图 256)

FID Supported and Effects 数据结构 为每个 FID 提供了详细的信息,说明它对 NVM subsystem 的影响。以下是该数据结构中字段的解析:

FID Supported and Effects Data Structure 解析

  1. FID Scope (FSP)
  2. 功能:该字段定义了关联功能标识符的作用范围。如果字段为 0h,则没有报告作用范围。非零值则表示此功能标识符的作用范围,最多只有一个 bit 为 1

  3. 作用范围的具体描述

  4. NVM Subsystem Scope:如果设置为 1,则修改该 FID 可能会影响整个 NVM subsystem
  5. Domain Scope:如果设置为 1,则修改该 FID 可能会影响单一 Domain
  6. Endurance Group Scope:如果设置为 1,则修改该 FID 可能会影响 Endurance Groups
  7. NVM Set Scope:如果设置为 1,则修改该 FID 可能会影响 NVM Sets
  8. Controller Scope:如果设置为 1,则修改该 FID 可能会影响 Controller
  9. Namespace Scope:如果设置为 1,则修改该 FID 可能会影响 Namespaces

  10. UUID Selection Supported

  11. 功能:此字段指示是否支持通过 Get FeaturesSet Features 命令选择 UUID。如果为 1,表示支持选择 UUID

  12. Controller Capability Change (CCC)

  13. 功能:如果设置为 1,则表示修改该 FID 的值可能会导致 controller 能力发生变化。例如,固件更新可能会改变 CAP 属性所报告的能力。如果为 0,则说明该 FID 不会影响 controller 的能力。

协调多个主机的命令

  • 多个主机:如果有多个主机连接到 NVM subsystem,它们需要协调命令的提交和执行,以满足命令序列和执行的要求。这一协调过程的详细内容超出了当前规范的范围,但它强调了多主机环境下命令的同步性和一致性。

总结

  • Feature Identifiers (FID)NVM subsystem 中用于配置和控制的核心功能标识符。通过 Set FeaturesGet Features 命令,系统可以对这些 FID 进行修改,并根据其影响来管理系统的不同部分(如 ControllerNamespacesEndurance Groups 等)。

  • FID Supported and Effects 数据结构 详尽描述了每个 FID 对整个系统的影响范围,帮助理解 NVM subsystem 在功能配置和管理时如何运作。

  • 在多主机环境下,协调 Set FeaturesGet Features 命令对于确保系统的稳定性和一致性至关重要。