前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >SSD写放大与数据放置技术:从原理到实践

SSD写放大与数据放置技术:从原理到实践

作者头像
数据存储前沿技术
发布2025-02-11 20:04:09
发布2025-02-11 20:04:09
1200
举报
文章被收录于专栏:存储公众号:王知鱼

全文概览

数据的增长速度呈指数级上升,云原生时代的到来进一步加剧了对高性能、低成本存储解决方案的需求。

然而,随着存储利用率的提升,基于SSD的存储系统面临着一个严峻的挑战——写放大(Write Amplification Factor, WAF)。 写放大是指由于SSD内部垃圾回收机制和数据对齐问题,导致实际写入的数据量远超主机发出的写入请求。这一现象不仅降低了SSD的性能,还显著缩短了其使用寿命,增加了数据中心的运营成本。

为了应对这一挑战,学术界和产业界提出了多种创新技术,如灵活数据放置(FDP)、区域命名空间(ZNS)等,试图通过优化数据放置策略来降低写放大因子,提升存储系统的整体性能和效率。

本文将深入探讨SSD写放大的原理、数据放置技术的发展历程及其在实际应用中的优势,并分析不同标准化接口的优劣,帮助读者全面理解这一领域的最新进展。

阅读收获

  1. 理解SSD写放大的原理及其对存储系统性能的影响。
  2. 掌握数据放置技术的核心概念与最新发展动态。
  3. 学习如何通过灵活数据放置(FDP)和区域命名空间(ZNS)等技术优化存储系统性能。
  4. 了解不同标准化接口(如Streams、FDP、ZNS)的优缺点及其适用场景。
20250207-1830.png
20250207-1830.png

海量数据增长

  • 云原生时代加剧了对高性能和低成本存储解决方案的需求。
  • 为了降低每GB的成本,数据中心正积极寻求尽可能多地利用可用存储容量。
  • 随着存储利用率的提高,基于SSD的存储会增加其内部写放大,导致以下问题:
    • 过度的写入活动,主要是由于SSD垃圾回收
    • 随着更多写入操作损耗SSD的存储介质,耐用性降低
    • 由于功耗增加,基础设施成本更高

引用: “为了实现这些设备级别的写放大(1.1x 和 1.4x),闪存通常会超配50% (…) 但在维持当前性能水平的同时减少闪存超配,是Facebook面临的一个开放挑战。” 来源:CacheLib 缓存引擎:设计与经验,OSDI 2020

通过极端超配(例如50%)来实现高性能,但代价是双倍的媒体成本。

20250207-1830-1.png
20250207-1830-1.png

什么是写放大(WAF)?

  • 写入放大是由于主机接口与SSD的媒体接口(NAND闪存)对齐失败造成的。
  • 减少写入放大的常规方法:
    • Trim/Unmap/DSM(解除分配)
    • 主机和设备超配
  • 数据放置:
    • 流、I/O确定性、区域命名空间、灵活的数据放置
    • 多流(2014),软件定义闪存(2014),开放通道SSD(2014, 2017),应用管理闪存(2016),等等
    • 活跃的研究话题
    • 标准化:

与 WAF 相关的文章

  1. FDP与SSD主控创新
    • 本文详细介绍了FDP(Flexible Data Placement)技术,该技术通过允许主机系统指导数据放置,优化存储资源的使用,减少数据访问延迟,提升读写性能,并显著降低写放大因子(WAF)。
  2. Samsung:FDP +CacheLib 改善写放大与时延
    • 该文章探讨了FDP与CacheLib结合使用的效果,展示了如何通过用户自定义数据放置策略来优化缓存系统,从而显著提升系统性能并降低写放大因子。
  3. WD(西数):规模化部署ZNS-SSD
    • 文章中提到ZNS(Zoned Namespaces)技术通过固定大小的区域用于数据放置,有效消除了SSD的垃圾收集(GC)和写放大(WAF),提升了性能和寿命。
  4. Micron:验证16KB IU对SSD_WAF的影响
    • 本文分析了16KB Indirection Units(IU)对SSD写放大因子的影响,指出虽然16KB IU在内存占用上有优势,但可能会影响写放大因子,尤其在未对齐写入的情况下。

以上文章均深入探讨了SSD写放大的相关技术与优化方法,适合对存储技术感兴趣的读者。

20250207-1830-2.png
20250207-1830-2.png

发展历程

展示了过去十年中,数据放置技术的发展历程。自2014年以来,随着多流技术、软件定义闪存和应用管理闪存等的引入,数据放置技术持续演进。

之后,开放通道SSD和NVMe标准的升级(如NVMe 1.3和1.4版本的流和I/O确定性等)进一步推动了存储技术的革新。

2020年以后,区域命名空间(ZNS)和灵活的数据放置(FDP)等技术的引入,推动了西部数据在存储领域的创新。

2024年,西部数据继续在此领域推出了新的产品,如Ultrastar® DC SN861(FDP)。

20250207-1830-3.png
20250207-1830-3.png

技术优势

  • 提升性能: 降低写入放大可以转化为更快的写入速度和更好的服务质量(QoS)性能。
  • 减少超配: 数据放置允许更好地利用SSD的原始容量。
  • 增加耐用性: 减少SSD的磨损,延长其使用寿命。

20250207-1830-4.png
20250207-1830-4.png

展示了三种不同的标准化NVMe接口:Streams、FDP和Zoned Namespaces。

  • 对于Streams和FDP,主机负责初始数据放置,而SSD负责后续数据放置,通常涉及垃圾回收事件。这种方式可能减少主机的参与,但仍需要一定的超配(7%)以确保较低的写入放大因子(WAF)。
  • 相比之下,Zoned Namespaces模型下,主机“拥有”所有数据放置,主机重新定向数据以适应当前和未来的数据放置需求,从而增加了主机的参与,但可以消除写入放大因子(WAF)且不需要超配。

20250207-1830-5.png
20250207-1830-5.png

接口总结

详细对比了几种数据放置接口的不同特性:Streams、FDP(Stream 和完整主机集成)以及Zoned Namespaces。

  • StreamsFDP(Stream) 模式中,写入命令和流ID或重申请单位ID用于数据放置,且WAF值通常高于1,要求超配以减少写入放大。
  • 与此不同,Zoned Namespaces 模式要求主机拥有所有数据放置,写入命令中使用重申请单位ID,同时设备与主机状态同步,从而确保WAF值为1。此外,放置跟踪、单位状态通信和数据管理的方式在这些接口间有所不同。
20250207-1830-6.png
20250207-1830-6.png
20250207-1830-7.png
20250207-1830-7.png

生态系统

数据放置生态系统的不同组成部分。它包括了灵活的数据放置,通过添加对核心工具的支持,并通过passthru内核API来利用数据放置功能。

对于区域存储(如SMR、ZNS和区域UFS),得到了更广泛的支持,尤其是在标准化早期和多种存储设备类型的推动下。幻灯片还列出了与数据放置相关的开发库、工具以及缓存和存储系统,如CacheLib和CSAL。对于区域存储专用的部分,展示了高性能数据库(如Percona和RocksDB)、分布式存储(如Ceph和OpenEBS)以及本地文件系统(如f2fs和xfs)等相关应用。

Note

之前整理过不少关于FDP和ZNS的技术材料,通过本文可以梳理清楚一点:FDP 数据放置是更大的应用范畴,ZNS是解决数据放置问题的经典途径之一,除此之外还有传统的方案,基于 CacheLib(Samsung 主导) 和 CSAL(Solidigm 主导)。

延伸思考

这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~

  1. 在云原生时代,如何平衡存储系统的性能与成本?
  2. 数据放置技术的进一步发展可能带来哪些新的机遇与挑战?
  3. 你认为未来存储系统中,数据放置技术将如何与AI、云计算等技术深度融合?
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 海量数据增长
  • 什么是写放大(WAF)?
  • 发展历程
  • 技术优势
  • 接口总结
  • 生态系统
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档