特性配置 - 1. Unallocated NVM Capacity (UNVMCAP) (第263页)
NVME2.0协议解读 1 min read

特性配置 - 1. Unallocated NVM Capacity (UNVMCAP) (第263页)

Blog Author

在《NVM Express® Base Specification, revision 2.0b》文档中,Identify Controller数据结构Unallocated NVM Capacity (UNVMCAP)Replay Protected Memory Block Support (RPMBS)Extended Device Self-test Time (EDSTT)Device Self-test Options (DSTO) 字段提供了关于控制器支持的未分配NVM容量、重放保护内存块、设备自检时间以及自检选项的详细信息。以下是这些字段的深入分析:

1. Unallocated NVM Capacity (UNVMCAP)

  • 描述:该字段表示控制器可以访问的、尚未分配给命名空间的NVM容量。它表示尚未被使用或分配给特定命名空间的存储空间。

  • 字段定义

  • 单位:以字节为单位表示未分配的NVM容量。
  • 作用:当控制器支持命名空间管理(Namespace Management)或容量管理(Capacity Management)时,此字段为有效。它帮助系统管理员了解控制器当前未分配的存储资源,便于进一步的资源管理和分配。

2. Replay Protected Memory Block Support (RPMBS)

该字段指示控制器是否支持一个或多个重放保护内存块(Replay Protected Memory Blocks,RPMBs)及其相关功能。RPMB是一种提供数据保护和防篡改能力的内存区域,通常用于存储安全敏感数据。

字段定义

  • Bits 31:24 - Access Size
  • 表示通过Security SendSecurity Receive命令访问每个RPMB时,能够读取或写入的最大数据量,单位为512字节。如果Number of RPMB Units字段为0,则此字段被忽略。
  • 如果该值为0h,则表示支持每次访问1个512字节的数据。

  • Bits 23:16 - Total Size

  • 表示每个RPMB支持的数据总大小,单位为128 KiB。如果Number of RPMB Units字段为0,则该字段被忽略。
  • 如果该值为0h,则表示支持每个RPMB一个128 KiB的数据。

  • Bits 15:06 - Reserved:保留位,不参与实际功能。

  • Bits 05:03 - Authentication Method

  • 表示访问控制器中所有RPMB所使用的认证方法。可选的值:

    • 000b:使用HMAC SHA-256(参考RFC 6234)。
    • 001b 到 111b:保留。
  • Bits 02:00 - Number of RPMB Units

  • 表示控制器支持的RPMB目标数量。所有支持的RPMB目标具有相同的能力。如果该字段为0h,则表示控制器不支持RPMB。如果该值非零,控制器应支持Security SendSecurity Receive命令。

作用

此字段为控制器的重放保护内存块提供了详细的配置和支持信息,帮助确保在进行安全敏感数据存储时,数据能够得到有效的保护和防篡改。支持RPMB的控制器适用于要求高度安全性的应用场景。

3. Extended Device Self-test Time (EDSTT)

  • 描述:该字段指示当控制器执行Device Self-test命令时,所需的最长时间(以分钟为单位)。如果控制器不支持设备自检命令,则该字段为保留字段。

  • 作用:此字段帮助管理员了解设备自检操作所需的时间。设备自检用于检查控制器和存储介质的健康状况,以便在出现问题时及时发现并采取相应的修复措施。自检时间的了解有助于系统调度和维护。

4. Device Self-test Options (DSTO)

该字段表示控制器或NVM子系统支持的设备自检命令或操作行为选项。

字段定义

  • Bit 7:1 - Reserved:保留位,不参与实际功能。

  • Bit 0:如果设置为‘1’,表示NVM子系统一次只允许执行一个设备自检操作。如果为‘0’,则表示每个控制器可以同时执行多个设备自检操作。

作用

该字段提供了设备自检操作的行为定义,帮助控制系统如何执行设备自检。例如,如果设置为‘1’,则确保在任何给定时间只有一个设备自检操作,避免多个自检操作可能引起的资源冲突。

5. 总结

  • Unallocated NVM Capacity (UNVMCAP):表示控制器可用的未分配NVM容量,有助于管理和分配存储资源。
  • Replay Protected Memory Block Support (RPMBS):指示控制器是否支持RPMB及其相关特性,确保数据存储的安全性和防篡改能力。
  • Extended Device Self-test Time (EDSTT):提供设备自检所需的时间,有助于系统调度和健康监控。
  • Device Self-test Options (DSTO):定义了设备自检的执行方式,提供了额外的控制选项。

这些字段共同作用,使得NVM子系统能够提供高度安全的存储、精准的健康监控和高效的存储资源管理,从而确保系统的稳定性、可靠性和性能。