1. ZNS(Zone Name Space)是一种灵活的闪存存储配置方式,适用于需要大量随机写入的应用场景。
2. QLC(Quad Level Cell)具有更低的成本和较好的读性能,但耐久性较差。
3. ZNS+QLC可以满足只进行顺序写入且不需要垃圾回收的应用需求,并提供良好的读性能和较低的成本。
4. SM8366是一款支持ZNS的控制器,可实现多种ZNS配置模式,并具有较高的IO性能和功率效率。
为什么在QLC闪存中要使用ZNS?
先来了解下QLC和ZNS的概念。
QLC(四级单元) 闪存是一种存储技术,能够在每个存储单元中存储4比特数据。其主要特点包括:
Zone Name Space(ZNS) 是一种新兴的存储技术,旨在优化高密度固态硬盘(SSD)的性能和效率。它的背景主要源于传统NAND闪存的写入放大(WAF)和垃圾回收(GC)问题。随着数据中心对高性能和高密度存储需求的增加,ZNS通过将存储介质划分为多个“区域”,允许应用程序直接管理数据的写入,从而减少写入放大,提高写入性能,降低延迟。
ZNS特别适合大数据分析、云计算和高性能计算等场景,可以显著提高存储资源的利用率,使得数据的管理更加灵活高效。随着越来越多的SSD厂商和软件平台支持ZNS,预计这一技术将在未来的存储生态系统中扮演重要角色。
图讨论了使用ZNS与QLC结合的理由。强调了GC和WA的高成本,以及SSD在处理这些操作时的局限性,建议将这些任务交给主机来管理,并指出仅允许顺序写入以提高效率。右侧的图表展示了写放大(WA)与操作(OP)的关系,随着顺序写操作的增加,写放大值逐渐降低。
为什么选择QLC?
数据对比表:
图展示了ZNS与QLC结合的优势,主要针对那些进行顺序写入的主机。它强调了在无需垃圾回收或自行处理垃圾回收的情况下,ZNS + QLC能够提供良好的读取性能和降低成本。这种组合特别适用于OLAP、大数据、AI、媒体流及NoSQL等应用场景。
罗列了3类适合ZNS的业务模型
模型 A | 模型 B | 模型 C | |
---|---|---|---|
示例用例 | 广泛应用,如流媒体应用、数据库应用(WAL、日志结构化写入)、AFA | 高主机 IO 并行性以实现媒体带宽的完全利用,更兼容 ZBC/ZAC 主机软件栈,归档存储为例 | 支持多个用户(如虚拟机)的并行访问 |
开放/活动区资源 | 推荐 12 个或更多 | 取决于设备 | 数量可达数万 |
性能 | 同时访问 1 到 4 个区域应实现最大吞吐量 | 取决于设备,建议一个区域跨越所有媒体单元(NAND 芯片) | 设备指定实现最大 IO 吞吐量的最小开放区数量 |
强制 IO 命令 | 读、写 | 读、写 | 读、写 |
特性 - 区域附加 | 需要区域附加 | 不需要 | 不需要 |
特性 - ZRWA | 有则更好 | 不需要 | 不需要 |
媒体可靠性管理 | 设备 | 设备 | 共享,RAID 保护以防芯片故障将移交给主机 |
该表格比较了三种区域存储模型(模型 A、B 和 C),重点在于它们的应用场景、性能、IO 命令要求及先进特性。
各模型在强制 IO 命令和媒体可靠性管理方面也有所不同,反映了不同应用需求的特点。
图表阐述了使用QLC闪存的优势,包括成本低、读取性能好和可接受的写入性能,但耐久性相对较差。表格部分比较了主要厂商在技术参数上的差异,显示了不同厂商在层数、面积密度和性能指标上的特点,强调了QLC在现代存储解决方案中的潜力。
特性 | 模型 A | 模型 B | 模型 C |
---|---|---|---|
示例用例 | 支持 | 支持 | 支持 |
开放/活动区域资源 | 16 – 每区域最大吞吐量,32 – 半吞吐量,64 – ¼ 吞吐量 | 16 – 每区域最大吞吐量 | 最大到 1024,最小区域大小为 1 或 2 die-block |
性能 | 同时访问 1 到 4 个区域以达到最大吞吐量 | 单区域访问达到最大 IO 吞吐量 | 主机管理并行访问以利用最大 IO 吞吐量 |
强制 IO 命令 | 读,写,选项简单复制 | ||
高级特性 – 区域追加 | 支持区域追加 | ||
高级特性 – ZRWA | 支持 ZRWA,每个开放/活动区域最大 1MB 或禁用 | ||
媒体可靠性管理 | 除了 NAND ECC,先进的 NAND 管理和磨损平衡 | 设备提供 RAID 保护以防止芯片故障 | 共享,RAID 保护将转移到主机 |
表格比较了三种不同模型(A、B、C)的 SM8366 ZNS 规格,主要涵盖了示例用例、开放/活动区域资源、性能、强制 IO 命令和高级特性等方面。
模型 A 和 B 支持多区域并行访问,而模型 C 允许主机管理并行访问以提升性能。
在高级特性方面,模型 B 提供区域追加支持,而模型 A 和 C 则在媒体可靠性管理上提供不同的 RAID 保护方案。整体来看,模型 C 在资源管理和吞吐量上提供了更大的灵活性。
讨论了在支持1K+开放区时,SSD控制器面临的挑战。主要问题在于写入缓存的需求增加,尤其是在处理复杂的写入和擦除操作时。
此外,内部SRAM的容量有限,且使用DRAM作为缓冲也受到带宽和电源容量的限制,这对数据处理效率构成了挑战。
ZNS 数据流设计
讨论了 ZNS 数据流设计的两种主要方案,强调使用 SRAM 和 DRAM 的两级缓冲来提高数据处理效率。
可配置区域选项
ZNS选项 | 区域容量 | 最大开放区域数 | RAID保护选项 |
---|---|---|---|
1 | 128个die-blocks(21-22GB) | 8 | Die/Plane/NA |
2 | 64个die-blocks(10-11GB) | 16 | Die/Plane/NA |
3 | 32个die-blocks(~5GB) | 32 | Die/Plane/NA |
4 | 16个die-blocks(~2.5GB) | 64 | Plane/NA |
5 | 8个die-blocks(~1.2GB) | 128 | Plane/NA |
6 | 4个die-blocks(~0.6GB) | 256 | NA |
7 | 2个die-blocks(0.34GB) | 512 | NA |
8 | 1个die-block(0.17GB) | 1024 | NA |
图表展示了可配置的ZNS选项,包括不同的区域容量、最大开放区域数量以及RAID保护选项。
每个选项的die-blocks数量和相应的存储容量不同,适用于不同的存储需求和性能要求。图中还解释了die-block的定义及其在存储设备中的作用。
在实际业务中,选择恰当的Zone Capacity时,应该参考以下数据和依据:
性能指标 | SM83666 ZNS QLC 使用 Micron N48R (U.2 16TB) |
---|---|
PCIe 接口 | Gen5 |
128K 读取带宽 (GB/s) | 14GB/s |
128K 写入带宽 (GB/s) | 2.2GB/s |
4K 随机读取 (IOPS) | 2.3M |
顺序写入延迟 (4K) | 7.39μs* |
顺序读取延迟 (4K) | 7.32μs* |
随机读取延迟 (4K) | 118.8μs* |
*测量基于 SPDK
本文介绍了使用灵活区命名空间配置来优化QLC固态硬盘(SSD)的应用程序。主要要点包括:
---【本文完】---
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有