【忆芯技术分享】Endurance Group Management 在企业级方案中的应用

来源:北京忆芯科技有限公司 #忆芯科技#
2.5w

1 NVMe 2.0简介

NVMe通过PCIe直接连接到CPU内部,其本身具备高速(16Gb/s)、高并发(x4或x8 Lane并发)、低冗余(128Bit/130Bit编码)等特点。众所周知,高性能、低延迟是NVMe SSD的两大亮点,但在数据中心的存储应用中,QoS已经成为另一个衡量SSD产品好坏的指标。

随着NVMe协议不断演进和迭代,NVMe 2.0支持更多的功能,如ZNS、KV、Endurance Group Management。这些功能的引入,不仅直接或间接影响着产品的QoS,也让NVMe解决方案变得更快更简易。
NVMe 2.0规范中一个重要的功能:ZNS。目前ZNS已支持根据数据冷热程度进行分区,并将它们按顺序存储在固态硬盘内的独立区域,从而减少对存储数据的重写和重新排列,减少硬盘的写入放大系数(write amplification factor,WAF),整体提升硬盘的性能(QoS)和寿命。

图一:传统SSD与ZNS SSD数据存放位置差异(引自网络ZNS介绍)
NVMe 2.0 的另一个重要功能:KV(key-value)。KV命令集将允许应用程序使用KV对(key-value pairs)与硬盘控制器通信,而不是通过块地址。以免除键和逻辑区块之间不必要的转换表(translation tables),降低CPU计算负荷从而提升QoS。
Endurance Group Management同样是NVMe 2.0规范中的一项重要功能,通过这种全新的存储管理机制,可以灵活并动态地调节SSD配置,以实现动态容量管理和混合式NAND操作。以提升SSD的访问力度,并在整体上实现对存储设备更好的控制,提升整体QoS。
以上功能点的实现,都离不开SSD主控芯片和方案。本文章重点针对Endurance Group Management做一些分享。

2 Endurance Group Management定义

首先我们来看看NVMe对Endurance Group Management的定义(图二),主要定义了NVM Sets 和 Endurance Group。

图二:Endurance Group Management 定义(引自NVMe Endurance Group介绍)

3 NVM Sets 介绍

NVM Set是 NVM 的集合,与其他 NVM Set 中的 NVM 分开(逻辑上和潜在物理上)。一个或多个命名空间可以在 NVM Set 中创建,这些命名空间继承 NVM Set 的属性。命名空间完全包含在单个 NVM Set 中,并且不得跨越多个 NVM Set。
下图三 显示了三个 NVM Set 的示例。NVM Set A 包含三个命名空间(NS A1、NS A2 和 NS A3)。NVM Set B 包含两个命名空间(NS B1 和 NS B2)。NVM Set C 包含一个命名空间 (NS C1)。显示的每个 NVM Set还包含“Unallocated”区域,这些区域由尚未分配给命名空间的 NVM Set成。

图三:NVM Sets 示例(引自NVM Express Base Specification 2.0b)

协议定义了一系列感知NVM Set的管理命令子集,主机使用Identify命令确定存在的 NVM Sets 及其属性,NVM Sets属性主要包括:

与NVM Set关联的标识符(an identifier associated with the NVM Set)

写入NVM Set的最佳大小(the optimal size for writes to the NVM Set)

NVM Set总容量(the total capacity of the NVM Set)

NVM Set未分配容量(the unallocated capacity for the NVM Set)

(引自NVM Express Base Specification 2.0b)

每个 NVM Set都与一个 Endurance Group 相关联,而命名空间关联的 NVM Set 在 Identify Namespace data structure 中定义。当主机使用 Namespace Management 命令创建命名空间时,主机指定要在其中创建命名空间的 NVM Set 的 NVM Set Identifier。创建的命名空间从 NVM Set 继承属性(例如,写入到 NVM最佳大小)。

4 Endurance Group Management 介绍

Endurance Group可以在单个 NVM Set或跨 NVM Set 的集合中进行管理。每个 NVM Set 都与一个 Endurance Group 相关联。如果两个或更多 NVM Sets 具有相同的 Endurance Group Identifier,则Endurance由 NVM 子系统跨该 NVM Set 集合管理。如果只有一个 NVM Set 与特定的 Endurance Group Identifier 相关联,则 Endurance 在本地 NVM Set 管理。如图四所示,这样可以让GC、磨损均衡更精准操作。

图四:Endurance Group Management 示例(引自NVM Express Base Specification 2.0b)

5 Endurance Group 应用实例

在一个典型的业务模型中,既有写又有读,读写比例和随机性也不固定:图五不支持Endurance Group ;图六支持Endurance Group。我们分别观测两种模型下NS1的写Latency和QoS。最终效果:NS1写延迟降低,IOPS提高,QoS更稳定。


图五:不支持Endurance Group

图六:支持Endurance Group

忆芯科技作为国内较早布局高性能固态存储主控芯片研发的企业,一直致力于赋能高性能存储解决方案,时刻保持着新技术和方案的洞察力,今年下半年即将推出的高端企业级方案STAR2000E有望支持Endurance Group,针对不同的应用场景,划分独立的存储介质、NVM Sets,通过Group将各个单独的存储单元统一管理,以满足最优QoS的需求。

责编: 爱集微
来源:北京忆芯科技有限公司 #忆芯科技#
THE END
关闭
加载

PDF 加载中...