存储

QLC 与 HDD:实际应用中的 IO 分布模式如何影响存储成本

Steve Hetzler

存储

工作负载产生的 IO 请求大小并非单一、统一的,而是大小不一,且呈现出特定的分布模式。这种分布模式显著影响了 QLC SSD 和 HDD 的相对性能,以及系统对这两类解决方案的容量需求。

本系列博客文章分为两部分,在第一部分中,我们探讨了为何 IO 大小会影响 HDD 与 SSD 的相对存储成本。在第二部分中,我会进一步探讨为何 QLC SSD(例如采用 G9 QLC NAND美光 6600 ION SSD)能够实现比 HDD 更低的每可用 PB 成本,并提供可满足当今工作负载所需的能效和性能。

在评估 QLC NAND SSD 与传统机械硬盘 (HDD) 这两种不同的存储解决方案时,尤为重要的一点是,不能局限于“每 TB 成本”这一基本指标。工作负载的 IO 大小及分布模式会影响系统的整体性能,深入理解这一点后,我们便会得出结论:IO 大小及分布模式可能会显著影响不同解决方案的成本。

我们以一个类似于对象存储的工作负载为例:数据集总大小为 10PB,总吞吐量要求为 6MB/s/TB,读写比为 65/35。此吞吐量要求略低于 28TB HDD 所支持的最大吞吐量 (6.2MB/s/TB)。表面上看,HDD 解决方案似乎可以满足要求。然而,一旦深入剖析数据访问模式等细节,这一结论便难以立足。为了具体说明这一点,我们先来看一下典型对象存储工作负载的 IO 大小分布。

图 1. 示例工作负载的读/写 IO 大小直方图。 图 1. 示例工作负载的读/写 IO 大小直方图。

(点击图片放大)

工作负载 IO 直方图:为何 IO 大小分布非常重要

图 1 展示了示例工作负载的读/写 IO 大小分布。对于用于对象存储的 HDD 而言,主要以 4 MiB 大小的数据块写入数据,以实现高吞吐量。然而,读取时的数据块大小则呈对数正态分布模式,在 1MiB 处达到峰值,但由于读取操作对应范围更广,实际数据块通常会更小(大块写入通常会将小对象打包在一起)。这些较小的读/写操作会显著影响存储设备的性能,尤其是对 HDD 而言,HDD 在处理小 I/O 时的效率较低。

由于 HDD 在处理较小 IO 时性能会急剧下降,通常使用写缓存来减少真正写入磁盘的小数据量。写缓存通常用于缓解小数据块写入操作对磁盘性能的影响。在我们的示例中,我们假设缓存会暂存所有小于或等于 128 KiB 的写 I/O 操作。这意味着只有较大的写入操作才会真正写入磁盘本身。在读取时,并非所有小数据块读取操作都会命中缓存中的数据;我们将缓存命中率估算为 75%。

图 2. 启用写缓存后的磁盘 I/O 直方图。 图 2. 启用写缓存后的磁盘 I/O 直方图。

(点击图片放大)

启用写缓存会改变磁盘实际执行的工作负载,如图 2 所示。写缓存消除了 HDD 需要执行的很大一部分小 IO 操作。然而,即使是少量剩余的小数据块读取操作,也可能成为 HDD 的性能瓶颈。

图 3. 对于混合读/写工作负载,实现直方图吞吐量所需的累计 PB。 图 3. 对于混合读/写工作负载,实现直方图吞吐量所需的累计 PB。

(点击图片放大)

满足工作负载直方图所需的容量

基于各设备观测到的有效 I/O 直方图,我们便可以确定维持工作负载吞吐量所需的物理存储容量。接下来,我们来计算满足这些需求所需的物理存储容量。对于 HDD,我们在计算时使用净 IO 直方图(缓存后)。而 QLC 闪存在处理小 IO 时的效率要远高于 HDD,因此我们直接使用未经调整的原始直方图。这一区别至关重要:对于较小的 I/O,QLC 可实现更高的吞吐量;对于以小数据块读写为主的工作负载,这一优势意味着更少的驱动器数量和更低的整体系统成本。表 1 总结了针对相同工作负载,满足数据容量和 IO 吞吐量要求所需的驱动器数量。

图 3 显示了在每个 IO 大小下实现吞吐量所需的累计 PB(使用 IO 直方图和 1MB/s/TB 曲线计算得出)。10PB 工作负载数据需求显示为红线,28TB HDD 超过了该红线。

QLC 的性能与成本优势

可以清楚地看到,QLC 能够以更少的容量来实现相同的 IO。在本示例中,10,000TB 系统需要:

驱动器类型用于存储数据的驱动器数量用于 IO 的驱动器数量用于 IO 的驱动器占比 (%)瓦/数据量 (PB)
28TB HDD357458128%3,890389
245TB QLC411537%1,230123

在本示例中,尽管总吞吐量密度为 6MB/s/TB,但使用 28TB HDD 来实现这一点,硬盘数量需要多出 28%,且仍然只能提供 10,000TB 的可用空间。

相比之下,QLC 仅使用了约 37% 的可用性能,且功耗仅为 HDD 的 32%。因此,如果 QLC 驱动器的每 TB 成本是 HDD 的 4 倍,那么,如果 HDD 的容量增至 1.28 倍,这一比例将下降到 3.1 倍,且未考虑其他影响因素。

结语

IO 大小以及分布模式决定了实际当中对存储系统的需求。

在此示例中,QLC SSD 的功耗大约是 HDD 的三分之一:前者为 1,230W,后者为 3,890W。除了功耗差异外,HDD 还需要增加 28% 的物理驱动器数量,才能满足 IO 要求,而 QLC 在处理相同工作负载时仍有余量。

这种差异改变了成本和价值的比较结果。

对于以小 I/O 为主的对象工作负载,原始存储介质的每 TB 成本无法反映已部署系统的实际情况。每可用 PB 成本是更好的比较指标,因为它反映了满足工作负载所需的驱动器数量、功耗和性能情况。

按照这一衡量标准,与单纯使用每 TB 成本进行比较相比,QLC 的性价比可能更接近 HDD。

美光存储解决方案架构师

Steve Hetzler

Steve Hetzler 是美光的存储解决方案架构师,也是一位杰出的发明者和系统架构师,在超大规模、企业级和研究环境中拥有 100 多项专利。加入美光之前,Steve 曾在 Meta 和 IBM 研究院担任技术主管,拥有加州理工学院的应用物理学博士学位。

Headshot of Steve Hetzler

相关博客