知鱼
Surviving is nothing to be ashamed of. It's something to be proud of.

CSAL RAID5F:重塑云存储性能与可靠性的创新架构

trylab 发布于 2025-10-10 17:13    44 次阅读

问题意识

CSAL with Core Scaling for RAID5F: Revolutionizing Cloud Storage Performance and Reliability

Presenter: Wojciech Malikowski, Software Engineer, Solidigm

背景介绍

在云计算和大数据时代,存储系统面临着前所未有的性能与成本平衡挑战。传统RAID 5技术虽然提供了数据冗余保护,但在闪存存储环境中却暴露出了严重的性能瓶颈和数据完整性风险。当企业纷纷转向高密度QLC SSD以降低成本时,如何解决其写入性能差、寿命短的痛点成为了行业难题。

Solidigm提出的CSAL(云存储加速层)技术,特别是其创新的RAID5F架构,为我们提供了一个全新的解决方案。这项技术通过软件定义的方式,在主机端构建智能FTL层,巧妙地结合高性能缓存盘和大容量QLC盘,实现了存储性能的质的飞跃。但CSAL究竟如何解决传统RAID的固有缺陷?它与其他新兴技术方案如FDP、ZNS相比有何独特优势?这种架构创新将如何影响未来云存储的发展方向?

阅读收获

  • 掌握CSAL RAID5F的核心机制:深入理解如何通过两层写整形架构消除传统RAID 5的"读-修改-写"性能惩罚,实现全条带原子写入
  • 学习存储优化实战策略:了解如何利用高性能SLC/TLC缓存盘与大容量QLC盘的组合,在保证性能的同时显著降低总体拥有成本
  • 把握技术选型关键:清晰认知CSAL、FDP、ZNS三种主流方案的适用场景和部署复杂度,为实际项目选型提供决策依据
  • 洞察存储架构演进趋势:从硬件依赖到软件定义的转变趋势,为未来技术路线规划提供前瞻性视角

开放性问题

  1. 在当前多云和混合云成为主流的背景下,CSAL这类主机端软件定义存储方案如何平衡性能优势与跨平台部署的复杂性?是否存在通用的标准化路径?

  2. 随着AI工作负载对存储性能要求的指数级增长,CSAL的写整形架构能否有效应对大规模随机小文件写入场景?在模型训练和推理的不同阶段应该如何优化配置?

  3. 从生态系统角度看,CSAL与FDP、ZNS等技术是否存在融合发展的可能性?未来是否会出现能够同时兼顾部署便利性、性能极致化和成本最优化的统一解决方案?


👉 划线高亮 观点批注


Main

|911x503

展示Solidigm公司CSAL技术从2022年到2025年的战略发展路线图和持续创新。

  1. 技术定义与定位: CSAL(云存储加速层)被明确定义为运行在SPDK框架下的一个软件FTL(闪存转换层),其目标是加速云存储应用。

  2. 演进路径清晰: 技术发展路径遵循了从基础发布(2022年),到核心架构优化(2023年支持QLC/SLC高密度设计),再到高级功能增强(2024年支持FDP和Append Cache),最后到数据保护与可靠性(2025年集成RAID5F)的逻辑演进过程。

  3. 应用场景驱动: CSAL的发展紧密结合实际应用场景,从早期为阿里云大数据实例提供服务,到后续针对高密度存储和新NVMe标准进行优化,显示其以解决实际客户问题为导向。

  4. 生态系统整合: CSAL从诞生之初就与SPDK这一业界主流的存储性能开发套件紧密集成,显示其注重在现有技术生态中的兼容性和影响力。

之前整理的,关于CSAL的技术报道 ​

​1. [Solidigm:CSAL 云存储加速层实现与优势​](https://mp.weixin.qq.com/s/BHENJIrTqLPE8D3xkzdL8w)​

  • ​主要内容​​:该文章介绍了Solidigm提出的CSAL(Cloud Storage Acceleration Layer)云存储加速层,旨在通过优化NAND媒体作为缓存设备,减少写放大因子(WAF),提高QLC SSD的性能和耐用性。CSAL采用超快写入缓冲区(如SCM)对QLC设备的I/O写入进行“顺序化”处理,提升系统级性能和耐用性。文章还详细描述了CSAL的架构,包括逻辑到物理地址表、持久写入缓冲区、压缩工作程序和垃圾收集工作程序等关键组件。

​2. [Solidigm:云存储加速层(CSAL)如何通过FDP与PCIe Gen5技术释放QLC潜力?​](https://mp.weixin.qq.com/s/SAmGvqqx7wUbIcbM2yTqjQ)​

  • ​主要内容​​:该文章进一步探讨了CSAL如何通过FDP(灵活数据放置)技术和PCIe Gen5 SSD实现多FTL层扩展,降低QLC SSD的写放大因子(WAF)至1.0,提升系统利用率并降低总体成本。文章还介绍了CSAL在阿里巴巴ECS等场景中的应用,展示了其在多租户环境下的稳定性和透明块服务能力。

PPT的核心观点是将CSAL定位为一个构建在SPDK之上、功能丰富的软件定义FTL(闪存转换层),旨在通过先进的软件功能来优化和管理高性能、高容量的固态硬盘硬件

  1. 软件定义存储核心: CSAL的本质是一个软件层,它接管了传统SSD内部固件的部分FTL功能,允许在主机端进行更灵活、更强大的数据管理和优化。

  2. 分层存储架构: CSAL旨在管理一个混合介质的存储池,利用快速的SLC/TLC SSD作为缓存层,并搭配大容量的QLC SSD作为容量层,从而在成本、性能和容量之间取得平衡。

  3. 价值主张: CSAL的核心价值在于其丰富的内置功能(写整形、缓存、RAID、数据缩减等),这些功能可以全面提升底层SSD(特别是QLC)的性能、延长其使用寿命,并提供企业级的数据服务。

  4. 高性能设计: 架构明确强调了“可扩展的多核性能”,表明其设计初衷是为了应对现代多核CPU架构下的高并发、高性能I/O负载。

===

标准的分层架构图,从上到下依次为:

  1. Application (应用层): 用户或系统的应用程序。

  2. SPDK (核心框架层): CSAL所基于的开发套件。

    • Storage Protocols (存储协议): SPDK 在此层提供前端的存储协议接口,支持NVMe、NVMe-oF (over RDMA/TCP)、vhost、ublk等,意味着应用可以通过多种标准方式访问CSAL管理的存储。
  3. CSAL (核心功能层):

    • 该层被定义为 FTL (闪存转换层),是整个架构的核心。它构建在底层驱动之上,为上层提供高级功能。

    • 内部功能模块包括: Write-shaping (写整形)、Data Placement (FDP, Streams) (数据放置)、Compression (压缩)、Deduplication (去重)、Read Cache (读缓存)、RAID0/1/5F、以及Telemetry (遥测)。

    • 中间贯穿着 "Scalable multi-core performance" 的字样,强调其可扩展的多核性能设计目标。

  4. Storage Drivers (存储驱动层):

    • 这一层负责与物理硬件通信,包括 NVMe PCIe (用于本地PCIe SSD) 和 NVMe-oF Initiator (用于连接远端的NVMe-oF存储)。
  5. Hardware (硬件层):

    • 展示了CSAL优化的目标硬件,这是一个分层存储的配置:

      • Cache Storage (缓存存储): 使用高性能、高耐久度的Solidigm D7-P5810 (SLC) 和 D7-P51010 (Gen5 TLC) SSD。

      • Capacity Storage (容量存储): 使用高密度的Solidigm D5-P5336 (QLC) SSD。


详细阐述CSAL如何通过“写整形”技术,巧妙地结合使用高性能缓存盘和高容量QLC盘,以实现性能、耐久度和成本三者的最佳平衡

  1. 工作机制: CSAL的写整形本质上是一个基于高速持久化缓存的写优化策略。所有写入流量都被高速缓存盘接收,将随机IO转为顺序IO后,再下刷到容量盘。

  2. 核心价值: 该机制一举解决了QLC闪存的主要痛点:

    • 性能问题: 用户感知到的是高速缓存盘的写入性能,规避了QLC的慢速写入。

    • 耐久度问题: 将对QLC寿命伤害最大的随机写,转换成最友好的顺序写,极大地延长了QLC SSD的使用寿命,降低了总体拥有成本(TCO)。

  3. 对应用透明: 整个复杂的内部流程对上层应用完全屏蔽。应用开发者无需关心底层是QLC还是SLC,只需将CSAL呈现的BDEV(块设备)当作一个高性能、高可靠的存储卷来使用即可,极大地简化了系统集成。

===

架构与数据流图:

这张图详细展示了写操作的数据流,清晰地解释了“写整形”是如何工作的:

  1. I/O接入: 应用程序的读写请求(Reads/Writes)通过NVMe-oF/TCP等网络协议进入,首先到达顶层的“SPDK generic BDEV layer”。

  2. 写入缓存层: 请求随后被转发给核心的“CSAL FTL BDEV (Block Device块存储)”。

    • 用户数据(User Data)并不直接写入QLC硬盘,而是先写入位于高性能SSD(Solidigm D7-P5810/D7-P51010)上的“Persistent Write Buffer (持久化写缓存)”。

    • 同时,数据的元数据和逻辑物理地址映射表(L2P Table)也存放在这块高性能SSD上。

  3. 快速确认: 因为数据被写入了持久化的SLC/TLC缓存,即使发生掉电数据也不会丢失。因此CSAL可以立即向应用程序返回“写入成功”的确认(Early write acknowledgement),从而提供极低的写入延迟。

  4. 写整形与下刷:

    • CSAL的“FTL Core (FTL核心逻辑)”会在后台对写缓存中的数据进行处理。

    • 它会将多个零散的、随机的小IO聚合成(Write aggregation)对QLC写入最友好的、大尺寸的顺序IO块。这就是“写整形”的精髓。

    • 整形完成后,这些优化过的数据块再通过底层的SPDK模块(BDEV layer, BDEV NVMe module, NVMe driver)最终写入到大容量的QLC SSD(Solidigm D5-P5336)中,进行持久化归档。


传统RAID 5方案在处理小数据块或非对齐写入时存在两个致命缺陷,这使其在现代高性能、高并发的应用场景下(尤其是在使用SSD时)显得力不从心。

这两个核心缺陷是:

  1. 严重的性能惩罚 (Performance Penalty): “读-修改-写”机制将单次写入请求放大了四次物理I/O操作(两次读,两次写),导致写入性能急剧下降。

  2. 数据完整性风险 (Integrity Risk / Write Hole): 在多步的更新操作过程中,任何意外中断(如断电)都有可能导致数据和校验信息不一致,从而破坏RAID的冗余保护能力,造成数据损坏的隐患。


CSAL RAID5F通过一个创新的、FTL与RAID逻辑深度融合的两层架构,将所有不规则的写入操作在高性能缓存中“整形”为规则的全条带写入,从而根除了传统RAID 5的性能和数据完整性缺陷。

  1. 解决方案核心: 采用 “先缓存聚合,再全量刷写” 的策略。它本质上是一种日志结构写(Log-structured write) 思想在RAID系统中的实现。

  2. 解决性能问题: 利用RAID 1保护的高性能SLC/TLC缓存来吸收所有随机写入,并快速响应主机。后台通过聚合数据,确保对下层QLC RAID 5阵列的写入永远是最高效的全条带写入模式,彻底消除了“读-修改-写”性能惩罚。

  3. 解决数据安全问题: 首先,写缓存本身是RAID 1镜像,数据写入是安全的。其次,从缓存到容量层的全条带写入被设计为原子操作,这从机制上杜绝了“写入漏洞”的产生。

  4. 软硬协同的典范: 这个方案完美展示了软件(CSAL FTL)与硬件(Solidigm高性能盘+高容量盘)的协同设计。软件层屏蔽了底层硬件的复杂性和缺陷,将两种不同特性的SSD组合成一个对外表现为高性能、高可靠、大容量的单一存储资源。

===

“F”代表了这套RAID 5方案的全新设计理念,它至少蕴含了三重含义:

  1. F for Flash (为闪存而生): 这是最直观的理解。传统RAID 5诞生于机械硬盘(HDD)时代,其设计并未考虑闪存的特性(如擦除块、写入放大、磨损等)。RAID5F则是一个专门为闪存(Flash)存储介质、特别是为QLC NAND的特性而重新设计和深度优化的RAID 5。

  2. F for FTL (与FTL深度融合): 这是技术上最核心的含义。RAID5F的实现不是孤立的,它与上层的CSAL FTL BDEV(闪存转换层)是深度耦合、协同工作的。传统RAID是“FTL-unaware”(不知道FTL的存在),而RAID5F是“FTL-aware”。FTL层成为了RAID层的“好搭档”,专门为RAID层准备好最适合写入的数据(全条带),从而规避了RAID 5的所有缺陷。

  3. F for Full-Stripe (全条带写入): 这是其工作模式的直接体现。如上一张PPT所示,RAID5F最大的特点就是通过FTL层的写整形,确保了对后端RAID阵列的写入操作永远是“全条带写入” (Full-Stripe Write)。这直接消除了“读-修改-写”循环和“写入漏洞”。


通过在严谨、统一的硬件平台上进行的基准测试,CSAL RAID5F在各种关键的写入场景下,其性能全面、大幅度地超越了业界标准的Linux mdRAID。

  1. 压倒性性能优势: 无论是在衡量IOPS的随机写,还是衡量吞吐量的顺序写,CSAL RAID5F都取得了数量级(一个或多个数量级)的性能领先。

  2. 架构优越性的实证: 这些性能数据为前面几页PPT所阐述的CSAL架构优势(如消除“读-修改-写”、全条带原子写入)提供了强有力的、可量化的证据。理论上的先进性成功转化为了实际测试中的卓越表现。

  3. 解决了mdRAID的痛点: 测试结果清晰地暴露了mdRAID在某些场景(如64K随机写)下的性能瓶颈。CSAL RAID5F则通过其创新的两层写整形架构,完美地解决了这些痛点,表现出远超传统方案的稳定性和高性能。

===

CSAL RAID5F在云场景中的实际参考价值是什么?

云场景的存储后端通常使用三副本或EC来实现冗余,报告内分析对比RAID5是否有参考价值?

这里的核心是区分 “节点内冗余”“跨节点冗余”

  • 跨节点冗余 (Inter-Node Redundancy): 这是三副本和EC所处的层面。它们的目标是防止单个或多个服务器整机、机架甚至机房级别的故障。数据被分散和复制到不同的物理服务器上。

  • 节点内冗余 (Intra-Node Redundancy): 这是CSAL RAID5F所处的层面。它的目标是在单台服务器内部,保护数据免受单块或多块硬盘故障的影响,并同时优化这组硬盘的性能和成本。

CSAL RAID5F的真正价值,在于它可以构建出性能极高、成本极低的“超级存储节点”,这些节点随后可以被上层的三副本或EC等分布式存储软件(如Ceph, MinIO, VAST Data等)所使用


CSAL RAID5F方案是一个经过完整设计和验证的、专门用于驾驭高密度QLC闪存的先进存储软件技术,它在解决了传统RAID固有缺陷的同时,提供了远超业界标准方案的性能,并能有效延长硬件寿命。

这张总结性的幻灯片,成功地将整个技术故事线收束成一个清晰的价值主张,旨在告诉潜在客户和合作伙伴:

  1. 识别了行业痛点: 传统RAID不适应闪存,特别是QLC。

  2. 创造了创新方案: CSAL两层写整形架构能完美解决这些痛点。

  3. 方案效果卓越: 用数据证明了方案具备数量级的性能优势。

  4. 创造价值: 用技术来构建成本更低(使用QLC)、密度更高、性能更强的存储系统,并放心其可靠性与耐久度。


QLC SSD应用落地,行业内有FDP、ZNS等方案,如何理解这些方案的区别?

简单来说,它们的核心区别在于 “由谁来主导数据放置和垃圾回收的优化工作”

  • ZNS (Zoned Namespace): 强制主机端(Host)承担所有管理工作。

  • FDP (Flexible Data Placement): 主机端以 “建议者” 的身份,协助SSD内部的FTL进行优化。

  • CSAL (Cloud Storage Acceleration Layer): 主机端软件 “越俎代庖”,在标准SSD之上,构建了一个更高级的FTL来接管管理工作。

核心区别对比

特性 CSAL (本报告主角) FDP (Flexible Data Placement) ZNS (Zoned Namespace)
核心哲学 主机软件接管 (Host Takeover) 主机协助 (Host Assistance) 主机全权管理 (Host Management)
SSD接口 标准块设备 (Standard Block Device) 带FDP扩展的标准块设备 分区命名空间 (Zoned Namespace)
写入模型 应用可随机写入 (CSAL内部转为顺序) 应用可随机写入 应用必须顺序写入
谁负责GC CSAL软件 (在缓存层整形数据) SSD内部FTL (但会采纳主机的建议) 主机上的文件系统/应用
对应用/文件系统的影响 透明,无需修改 建议修改 (感知数据生命周期以提供Hint) 必须重写或使用专用文件系统
硬件依赖 标准SSD (对Solidigm SSD优化) 支持FDP功能的SSD ZNS SSD
实现方式 通过高性能缓存盘吸收随机写,在主机侧完成“写整形”,然后向下层QLC盘进行顺序的全条带写入。 主机在写入数据时,会给SSD一个“提示”(Hint),比如“这批数据生命周期相同”,SSD的FTL会据此将它们放在一起,便于未来整块回收,降低GC开销。 SSD硬盘被划分为多个大区域(Zone),每个Zone只能从头到尾顺序写入,写满后必须整体重置才能重用。禁止原地更新(Overwrite)。主机软件必须自己管理数据的有效性并进行垃圾回收。
优点 1. 对应用透明,易于部署。 2. 性能提升极显著。 3. 可利用不同硬件分层。 1. 平衡了软硬件的职责。 2. 相比ZNS,应用改造成本低。 3. 仍是标准块设备,兼容性较好。 1. WAF理论上可接近1,极大提升寿命。 2. 延迟稳定可预测。 3. SSD内部FTL极简化,可降低成本。
缺点 1. 消耗主机CPU和DRAM资源。 2. 依赖缓存层硬件。 1. 性能提升依赖于“提示”的准确性。 2. 需要应用或文件系统配合改造。 1. 应用/生态系统改造成本巨大。 2. 对随机写为主的传统应用极不友好。

关系与协同可能性

这三者并非完全互斥,理论上存在协同工作的可能:

  • CSAL + FDP: 这是一个非常理想的组合。CSAL作为主机端的智能FTL,它最清楚数据的来源和生命周期。当CSAL将数据从缓存层刷到QLC容量层时,它可以完美地充当FDP的“建议者”,给FDP硬盘提供最精准的Hint。这将使得下层QLC盘的垃圾回收效率达到极致,实现软件和固件层面的双重优化。

  • CSAL + ZNS: 这也是一个天作之合。CSAL的核心就是“写整形”,将随机写变为顺序写,这与ZNS硬盘“只接受顺序写入”的要求不谋而合。在这种架构下,ZNS硬盘可以成为CSAL容量层的完美后端,CSAL负责在缓存层完成所有复杂的数据组织工作,然后轻松地、顺序地写入到ZNS的某个Zone中。

总结

  • CSAL 是一个软件解决方案,它的强大之处在于对上层应用的“透明性”和对底层标准硬件的“兼容性”,通过引入缓存层和强大的软件逻辑,在不改变现有应用生态的情况下,强行将I/O模式优化到最佳状态。

  • FDP 和 ZNS 都是NVMe标准演进的产物,它们试图通过改变主机和SSD之间的“协议” 来解决问题。

    • ZNS 更为激进,它希望主机(软件)承担全部责任,以换取硬件的极致简化和效率。

    • FDP 则是一个更温和的“中间路线”,希望主机和硬件能“更友好地协作”。

选择哪种方案,取决于使用者愿意在多大程度上改造现有的软件生态,以及希望在软硬件之间如何划分优化的职责。CSAL的出现,为那些希望立即从现有硬件中获益、且不愿或不能大规模改造上层应用的场景,提供了一个极具吸引力的选择。



== END ==