特性配置 - 1. Reservation Capabilities (RESCAP) (第281页)
NVME2.0协议解读 1 min read

特性配置 - 1. Reservation Capabilities (RESCAP) (第281页)

Blog Author

在《NVM Express® Base Specification, revision 2.0b》中,I/O Command Set Independent Identify Namespace Data Structure (CNS 08h) 的定义中,涉及了几个关键字段,它们描述了命名空间的特性和功能,特别是与命名空间预留功能(Reservation Capabilities)格式化进度(Format Progress Indicator)以及Asymmetric Namespace Access(ANA)功能相关的部分。这些字段对于存储管理系统中命名空间的操作和监控至关重要。以下是这些部分的深入分析:

1. Reservation Capabilities (RESCAP)

RESCAP字段描述了命名空间支持的预留功能。预留功能在多主机环境中尤为重要,能够确保对特定命名空间的独占访问。该字段的各个比特表示命名空间支持的不同预留类型。

字段定义

  • Bit 7:表示是否使用Ignore Existing Key,这在不同的NVM Express版本中有所变化。如果设置为1,则遵循NVM Express Base Specification revision 1.3或更高版本的定义;如果设置为0,则遵循1.2.1或更早版本的定义。
  • Bit 6:表示命名空间是否支持Exclusive Access – All Registrants(所有注册者独占访问)预留类型。
  • Bit 5:表示命名空间是否支持Write Exclusive – All Registrants(所有注册者写独占)预留类型。
  • Bit 4:表示命名空间是否支持Exclusive Access – Registrants Only(仅注册者独占访问)预留类型。
  • Bit 3:表示命名空间是否支持Write Exclusive – Registrants Only(仅注册者写独占)预留类型。
  • Bit 2:表示命名空间是否支持Exclusive Access(独占访问)预留类型。
  • Bit 1:表示命名空间是否支持Write Exclusive(写独占)预留类型。
  • Bit 0:表示命名空间是否支持Persist Through Power Loss(电源丢失后的持久性)能力。

作用

这个字段为命名空间提供了关于预留功能的详细描述,支持的预留类型帮助系统管理员配置多主机环境中的访问控制。不同的预留模式使得多个主机能够共享命名空间时能够控制对命名空间的访问权限,避免冲突。

2. Format Progress Indicator (FPI)

FPI字段用于表示格式化操作进度。在格式化操作正在进行时,主机可以查询该字段来了解命名空间格式化的进度。

字段定义

  • Bit 7:如果设置为1,则表示命名空间支持格式化进度指示器。否则,格式化进度指示器不可用。
  • Bits 6:0:表示格式化操作的剩余进度百分比。比如,值为25表示格式化操作已完成75%,剩余25%未完成。若Bit 71且进度为0h,则表示命名空间已经完成格式化。

作用

此字段对于动态跟踪格式化操作的进度非常重要。在长时间运行的格式化操作中,主机可以使用该字段监控格式化的状态,便于采取后续措施或调整操作。如果格式化过程中发生问题,主机可以根据该进度指示器提前进行干预。

3. ANA Group Identifier (ANAGRPID)

ANAGRPID字段在Asymmetric Namespace Access Reporting(ANA)功能下使用。ANA是一个用于异构存储环境中的命名空间访问管理的功能,尤其是在有多个控制器时。

字段定义

  • NSID:如果NSID字段不是FFFFFFFFh,该字段表示命名空间所属的ANA组标识符。ANA组是支持异步命名空间访问的命名空间集合。
  • Bit 7:如果控制器支持Asymmetric Namespace Access Reporting(ANA),则该字段为非零值。否则,该字段将被清除为0。
  • ANA变更通知:如果ANAGRPID字段的值发生变化,并且控制器支持并启用了Asymmetric Namespace Access Change Notices,控制器会发送ANA变更通知。

作用

此字段帮助管理存储系统中多个控制器对命名空间的异步访问。通过支持ANA,控制器可以高效地管理不同控制器间的命名空间访问,确保数据一致性并提高系统性能。在多控制器环境中,ANA功能特别有用,能够提供更加灵活的命名空间共享和访问策略。

总结

  1. 预留功能(Reservation Capabilities)
  2. RESCAP字段详细描述了命名空间支持的预留模式,如独占访问、写入独占等。它为多主机环境下的存储访问提供了灵活的配置选项,确保数据访问的安全性和独占性。

  3. 格式化进度(Format Progress Indicator)

  4. FPI字段允许主机实时监控命名空间的格式化进度。该功能有助于格式化过程的动态跟踪,支持在需要时采取适当的操作。

  5. 异步命名空间访问(ANA)

  6. ANAGRPID字段与ANA功能一起工作,允许控制器在多控制器系统中管理命名空间的异步访问。它使得存储系统在多个控制器之间共享命名空间时更具弹性和高效性。

这些字段在多控制器、多命名空间的存储环境中至关重要,帮助系统提供高效、安全且灵活的存储管理。