特性配置 - 1. NVM Set List (CNS 04h) (第279页)
在《NVM Express® Base Specification, revision 2.0b》中,NVM Set List 和 NVM Set Attributes Entry 是管理和描述NVM集合的关键数据结构。这些结构有助于系统管理多个命名空间和控制器之间的资源分配,确保存储设备的高效运行。以下是对这些部分的深入分析:
1. NVM Set List (CNS 04h)
NVM Set List是一个有序的数据列表,每个条目描述了一个NVM Set的属性。该列表包含NVM Set的属性信息,允许主机和控制器查询和管理可用的NVM Set。
字段定义:
- Number of Identifiers:
-
该字段表示列表中NVM Set Attributes Entries(NVM集合属性条目)的数量。该值最大为31。如果该字段为0h,表示列表中没有条目。
-
Entry 0, Entry 1, ..., Entry N:
- 这些字段分别包含NVM Set列表中的每个NVM Set的属性条目,每个条目的大小为128字节。根据实际情况,可能会有多个条目(最多31个条目)。
- 每个条目表示一个NVM Set的详细信息,包括其标识符、容量、写入性能等。
作用:
NVM Set List帮助主机识别并管理控制器中多个NVM Set的属性。通过这个列表,系统能够了解各个NVM Set的详细特性,包括每个集合的总容量、可用容量等,进而优化存储资源的分配。
2. NVM Set Attributes Entry (Figure 279)
NVM Set Attributes Entry提供了与每个NVM Set相关的详细信息,包括容量、性能、写入优化等。这些属性有助于主机在管理和分配存储资源时做出明智决策。
字段定义:
- NVM Set Identifier:
-
该字段表示NVM集合的标识符,用于唯一标识该集合。
-
Endurance Group Identifier:
-
该字段指示该NVM集合所属的耐用性组(Endurance Group)。这与设备的寿命管理和数据保护有关。
-
Random 4 KiB Read Typical:
-
该字段表示当NVM集合处于可预测延迟模式(Predictable Latency Mode)时,进行随机4KiB读取的典型时间(单位为100纳秒)。它反映了设备在特定负载下的响应能力。
-
Optimal Write Size:
-
该字段指示最佳写入性能的写入大小(单位为字节)。值为0h表示没有指定最佳写入大小。如果命名空间中存在不同的用户数据格式,该字段应被清零。
-
Total NVM Set Capacity:
-
该字段指示该NVM集合的总容量(单位为字节)。
-
Unallocated NVM Set Capacity:
- 该字段指示该NVM集合的未分配容量(单位为字节),表示当前可用的存储空间。
作用:
NVM Set Attributes Entry提供了NVM集合的详细性能和容量特性,这些信息有助于主机系统根据实际需求分配和管理存储资源。例如,主机可以基于写入优化大小来选择合适的NVM集合,并根据未分配容量来决定是否扩展该集合的使用。
3. I/O Command Set Specific Identify Namespace and Identify Controller Data Structures
在后续章节中,文档还定义了特定I/O命令集的Identify Namespace和Identify Controller数据结构,这些结构帮助主机和控制器了解特定命令集下命名空间和控制器的属性。
字段定义:
- I/O Command Set specific Identify Namespace (CNS 05h):
-
返回特定I/O命令集的Identify Namespace数据结构。它提供了与命名空间相关的特定命令集的能力和特性。如果指定的命名空间是非活动状态(Inactive NSID),控制器将返回一个全零的数据结构。
-
I/O Command Set specific Identify Controller (CNS 06h):
- 返回特定I/O命令集的Identify Controller数据结构,提供有关控制器的详细信息。
作用:
这些数据结构根据不同的I/O命令集,描述了命名空间和控制器的能力和特性。它们帮助系统了解控制器和命名空间在特定命令集下的支持情况,并确保主机可以根据实际需求执行合适的操作。
总结
- NVM Set List 和 NVM Set Attributes Entry 提供了对NVM集合的详细描述,帮助系统管理多个命名空间和NVM集合,确保高效的资源分配。
- Identify Namespace 和 Identify Controller 数据结构为I/O命令集提供了特定的控制器和命名空间信息,确保主机可以根据I/O命令集的支持情况做出合适的操作。
- NVM Set Attributes为每个集合提供了容量、性能和优化写入等多方面的信息,使得主机能够高效管理和利用存储资源。
这些数据结构和字段对于优化存储管理,尤其是在涉及多个命名空间和控制器的复杂存储系统中,起到了至关重要的作用。