全文概览
固态硬盘(SSD)凭借其闪电般的速度和低能耗,已成为现代计算不可或缺的基石,正以前所未有的速度取代传统机械硬盘。与此同时,对象存储作为一种灵活、可扩展的数据管理方式,在云服务、大数据和AI等领域扮演着越来越重要的角色。然而,将海量、多变的对象数据高效地存储在SSD上,并非易事。
SSD内部的闪存转换层(FTL)是连接操作系统与底层闪存介质的关键桥梁,它负责复杂的地址映射、垃圾回收和磨损均衡,以模拟传统硬盘的块接口。但面对对象存储这种具有海量小对象、频繁元数据更新和混合访问模式的复杂工作负载时,设备端FTL的资源限制和“黑箱”特性逐渐暴露出瓶颈,导致写放大增加、性能波动,甚至影响SSD寿命。
我们能否突破设备端FTL的局限,构建一个更智能、更高效的闪存管理层?如何才能让闪存更好地理解和适配对象存储的独特需求?下一代存储系统又将如何通过全局视角来释放闪存的全部潜力?本文将深入探讨全局FTL的设计理念,以及它如何与分区命名空间(ZNS)等新兴技术协同,为对象存储和全闪存NAS带来革命性的优化实践。
阅读收获
理解传统SSD设备端FTL在处理复杂工作负载(如对象存储)时面临的挑战。 掌握全局FTL(特别是主机端FTL)的核心概念、架构优势及其解决的关键问题。 认识分区命名空间(ZNS)SSD如何为全局FTL提供硬件基础,并大幅降低写放大。 了解面向对象存储优化的“对象FTL”如何通过与ZNS结合,显著提升性能、耐久性并降低总体拥有成本。 现代SSD设计中的全局FTL:赋能对象存储与全闪存NAS的优化实践 1. 引言:SSD与对象存储的演进浪潮 1.1. SSD在现代计算中的崛起 固态硬盘(SSD)凭借其卓越的读写速度、更低的功耗以及出色的抗震防摔特性,已经大规模取代传统机械硬盘(HDD),成为现代计算系统中的主流存储选择 1。NAND闪存作为SSD的核心存储介质,其技术的不断进步推动了SSD容量和性能的持续提升,使其能够胜任各种高要求的应用场景 2。
1.2. 对象存储的兴起及其独特需求 对象存储是一种将数据作为“对象”进行管理的技术,每个对象包含数据本身、元数据以及一个全局唯一的标识符。它在云计算、大数据分析、人工智能(AI)以及大规模归档等领域的重要性日益凸显 4。对象存储的工作负载通常呈现出独特的特征,例如可能存在海量的对象、对象大小可变、元数据密集型操作,以及混合的访问模式(既有大量的小文件随机访问,也有大文件的顺序访问)6。
1.3. 闪存转换层(FTL):关键的抽象层 闪存转换层(FTL)是SSD中不可或缺的软件或固件层 1。其核心作用在于模拟标准块设备(如HDD)的接口,以便与现有的文件系统和操作系统兼容。FTL通过隐藏NAND闪存固有的物理复杂性(例如“先擦后写”机制、有限的编程/擦除次数、页和块的组织结构)来实现这一目标 1。
1.4. 下一代系统中全局FTL的驱动力 传统的、以设备为中心的FTL在处理日益复杂的工作负载和更大容量驱动器时,其局限性逐渐显现。全局FTL作为一种前瞻性的设计理念应运而生,尤其适用于对象存储加速器和全闪存网络附加存储(NAS)等专用系统,在这些系统中,系统级的优化至关重要。
存储系统的发展趋势表明,将更多的智能和控制权赋予主机是提升性能和效率的关键。最初,FTL被设计在SSD设备内部,这使得SSD能够直接替换HDD,但设备端FTL的计算资源和对全局I/O模式的感知能力有限。随着SSD容量的增长和对象存储等复杂工作负载的出现,这些限制成为了显著的性能瓶颈,例如导致写放大增加和垃圾回收效率低下。相比之下,主机(服务器)拥有更强大的中央处理器(CPU)和更大的内存资源 5。将FTL的部分或全部职责转移到主机,使得采用更复杂的算法、全局数据放置策略以及感知应用层语义成为可能。分区命名空间(Zoned Namespace, ZNS)等技术通过简化存储设备并将更多控制权暴露给主机,明确地推动了这一转变 2。因此,全局FTL不仅是一种优化手段,更是充分发挥闪存存储在大型、高要求环境中潜力的必然演进方向。
2. 解构经典FTL:基础与局限 2.1. 核心FTL架构与职责 经典的FTL主要承担以下三大核心职责,以确保NAND闪存的有效和可靠运行:
地址映射 (Address Mapping) :这是FTL最核心的功能 7。由于闪存不支持原地更新(即数据不能直接在原有物理位置修改)1,FTL负责将来自 主机文件系统的逻辑块地址(Logical Block Address, LBA)转换为闪存芯片中的物理页地址(Physical Page Address, PPA)1。垃圾回收 (Garbage Collection, GC) :当数据被更新或删除时,原先存储这些数据的物理页会被标记为无效。由于闪存的擦除操作是以块(Block)为单位进行的,而块通常包含多个页,垃圾回收机制负责将仍然有效的页从包含大量无效页的块中复制到新的空闲块中,然后擦除旧块,以便为新的写入操作提供空间 1。垃圾回收是写放大和性能波动的主要来源 。磨损均衡 (Wear Leveling) :NAND闪存的每个块都有有限的编程/擦除(P/E)次数。磨损均衡机制通过将写入操作均匀分布到所有闪存块,避免某些块因过度使用而过早损坏,从而延长SSD的整体使用寿命 1。2.2. 经典FTL中的地址映射策略 根据逻辑地址到物理地址的映射粒度和方式不同,FTL的地址映射主要分为页级映射、块级映射和混合映射。
2.2.1. 页级映射 (Page-Level Mapping) 原理 :在这种策略下,主机的每一个逻辑页都可以独立地映射到闪存中的任意一个物理页。优点 :具有高度的灵活性,能够为随机写入提供良好的性能,因为任何空闲的物理页都可以被利用。缺点 :最大的问题在于需要维护一个庞大的映射表。映射表中的每个条目对应一个逻辑页,因此表的规模与SSD的容量成正比。这个映射表通常需要存储在SSD控制器的高速缓存(如SRAM)中以保证访问速度,但对于大容量SSD而言,SRAM的成本和空间都难以承受如此巨大的映射表 8。More Read
参考阅读:
文章标题 : Samsung:大IU落地的应用生态(LBS实践) 主要内容 : 该文章深入探讨了SSD架构设计中的挑战,特别是在逻辑块地址(LBA)与内部单元(IU)大小匹配问题上的权衡。文章介绍了LBS技术如何在主机操作系统层面启用大块大小,以更好地支持QLC和使用大IU的SSD,减少系统开销,提升性能,并保持后向兼容性2.2.2. 块级映射 (Block-Level Mapping) 原理 :将主机的逻辑块直接映射到闪存中的物理块。逻辑页在其所属逻辑块内的偏移量(offset)在映射到物理块后保持不变 14。优点 :映射表的规模大大减小。由于只映射块地址,映射条目的数量远少于页级映射,从而显著降低了对SRAM的需求和功耗 14。缺点 :随机写入性能极差。当需要更新一个块中的某个页时,由于不能原地更新,通常需要将整个物理块中的所有有效数据页连同被更新的页一起复制到一个新的空闲物理块中,然后擦除旧的物理块。这个过程被称为“读-修改-写”,会导致严重的写放大和极高的更新延迟 14。因此,块级映射不适合随机写入密集型应用。2.2.3. 混合映射 (Hybrid Mapping) 原理 :混合映射试图结合页级映射和块级映射的优点。它通常将大部分数据区域采用块级映射以节省映射表空间,同时设立一小部分称为“日志块”(Log Blocks)或“更新块”的区域,这些区域采用页级映射来处理随机写入和更新操作 1。新的写入数据首先进入日志块,当日志块写满或在特定条件下,FTL会将日志块中的数据与主数据区的块进行合并(Merge)。优点 :在映射表大小和随机写入性能之间取得了一定的平衡,是目前主流SSD中较为普遍采用的策略 15。缺点 :管理逻辑相对复杂。合并操作(无论是部分合并还是完全合并)仍然可能引入显著的性能开销和写放大 15。下表总结了这三种经典FTL映射技术的对比:
表1:经典FTL映射技术对比分析
早期的低容量SSD,或对随机写性能要求极高的特定场景(理论上)
存储卡、对成本和功耗敏感的嵌入式设备,顺序读写为主的场景 14
2.3. 设备端FTL的固有局限性 尽管经典FTL成功地使SSD得以广泛应用,但其以设备为中心的设计也带来了若干难以克服的局限性:
资源限制 :SSD控制器内置的处理器能力和板载DRAM容量远不及主机系统 9。这限制了FTL算法的复杂度和可缓存的映射表大小,进而影响性能。写放大 (Write Amplification, WA) :实际写入到NAND闪存的数据量大于主机请求写入的数据量的现象。它主要由垃圾回收、页/块粒度不匹配以及映射更新等因素引起 1。高写放大会降低SSD的有效写入带宽并缩短其寿命。性能不一致性 :垃圾回收操作通常是FTL内部的后台任务,但其执行时可能会抢占用户I/O的资源,导致不可预测的延迟尖峰,影响应用的响应体验。缺乏语义感知 :设备端FTL通常仅处理逻辑块地址,对主机或应用程序层面的数据结构、重要性或访问模式一无所知 10。这种“盲目性”使其无法根据数据语义进行优化,例如将冷热数据分开存放或为关键元数据提供特殊处理。“块接口税” (Block Interface Tax) :这是一个概括性术语,指传统块接口SSD为维持与HDD兼容性而付出的代价总和,包括为垃圾回收预留的超量配置(Over-Provisioning)空间、存储映射表所需的DRAM成本以及垃圾回收本身的开销 11。设备端FTL在运行时如同在一个“黑箱”中操作,它接收来自 主机的通用读写命令,这些命令基于逻辑块地址(LBA)1。FTL无法区分哪些是临时数据、哪些是关键元数据、哪些是长期归档的用户数据,也无法判断数据的生命周期或访问频率。因此,垃圾回收机制可能会低效地将很少访问的冷数据与频繁访问的热数据一同迁移,或者磨损均衡算法可能无法优先保护关键数据结构所在的物理区域。由于缺乏更高级别的语义信息,FTL的数据放置和清理决策往往是次优的 10。要实现更高的存储效率,特别是对于对象存储这类复杂的系统,FTL需要能够访问或集成更高级别的语义信息,这自然地指向了基于主机或全局的FTL解决方案。
3. 全局FTL:闪存管理的范式转变 3.1. 定义全局FTL与主机端FTL 全局FTL (Global FTL) 是一种概念性的方法,其核心思想是在系统层面统一管理FTL功能,这种管理可能跨越多个SSD设备或整个存储阵列,而不是局限于单个设备内部。例如,有技术将FTL从PCIe闪存设备完全移至主机软件层,实现全局FTL,并基于闪存的物理页面地址构建跨卡的RAID,从而针对闪存特性进行优化 4。
主机端FTL (Host-Based FTL, HFTL) 是实现全局FTL的一种常见策略。它将FTL的核心逻辑(如地址映射、垃圾回收、磨损均衡)从SSD控制器转移到主机系统中执行,充分利用主机强大的CPU和内存资源 5。主机直接负责闪存的转换、管理和维护。
全局FTL和主机端FTL紧密相关:主机端FTL是实现全局FTL理念的实用途径,尤其适用于由中央主机管理一个或多个SSD的系统架构。
3.2. 与经典FTL的架构差异 全局FTL(通常通过主机端FTL实现)在架构上与经典的设备端FTL有显著不同:
FTL模块位置的转移 :地址映射、垃圾回收和磨损均衡等核心FTL模块从SSD控制器固件中移出,转而在主机端的软件栈(如操作系统内核、设备驱动程序或专门的存储应用程序)中实现。SSD接口的变化 :在主机端FTL架构下,SSD可能向上层暴露更原始的闪存接口,例如开放通道SSD(Open Channel SSD)或分区命名空间SSD(ZNS SSD)。或者,SSD仍然提供传统的块接口,但实际的FTL管理由主机接管。以下是对两种架构的示意性对比:
图示1:经典设备端FTL与主机端/全局FTL架构对比
左侧 (经典设备端FTL架构): 主机 (应用程序 / 文件系统) 块I/O接口 (发送LBA命令) SSD设备SSD控制器 (内置FTL:地址映射、垃圾回收、磨损均衡) NAND闪存介质 数据流与控制流:主机通过标准块接口与SSD通信,FTL完全在SSD内部运行。 右侧 (主机端/全局FTL架构): 主机应用程序 / 文件系统 主机端FTL (在主机CPU和内存中运行:地址映射、垃圾回收、磨损均衡,可能具备系统全局视图) 简化的SSD接口 (例如ZNS接口、原始NAND访问接口,或仍为块接口但由主机FTL管理) SSD设备 (控制器功能简化,可能无完整FTL) 数据流与控制流:主机软件直接参与或完全负责FTL管理,SSD设备更多地扮演原始存储介质的角色。 这种架构上的转变,将FTL的“大脑”从资源受限的设备端迁移到了资源丰富的主机端,为实现更精细、更智能的闪存管理奠定了基础。
3.3. 全局FTL的应用场景 全局FTL因其能够提供更优化的性能和资源管理,特别适用于以下场景:
对象存储加速器 :通过全局视角来优化对象放置和闪存管理,应对对象存储特有的挑战。全闪存NAS系统 :集中的FTL管理能够优化整个阵列的性能和耐久性,提供高效的网络存储服务。高性能计算 (HPC) 与大数据分析 :这些领域的工作负载通常对低延迟和高吞吐量有极致要求,全局FTL可以通过更智能的调度和资源分配来满足这些需求 4。数据库与云服务 :这些环境I/O密集,且对性能的稳定性和成本效益有较高要求。全局FTL有助于提供一致的性能并降低总体拥有成本 5。PCIe-RAID系统 :一个具体的例子是将RAID逻辑整合到全局FTL层,跨多个PCIe SSD构建RAID。这种方法可以针对闪存的物理特性进行优化,例如基于物理页地址进行数据条带化,从而有效解决传统SSD RAID方案中常见的写放大问题 4。3.4. 全局FTL解决的关键问题 全局FTL通过利用主机资源和全局视角,有效解决了传统设备端FTL面临的诸多难题:
降低写放大 :主机端FTL可以实施更复杂的垃圾回收算法,利用对全局数据有效性的了解,并协调写入操作使其对闪存更加友好。例如,“写入线性化”(Write Linearization)技术可以将来自 上层的随机小IO聚合成较大的顺序IO再写入SSD,这更符合NAND闪存的写入特性,从而显著减少写放大 5。在PCIe-RAID的例子中,全局FTL通过基于物理页地址构建RAID,解决了传统SSD RAID系统中的写放大问题 4。优化资源利用 :全局FTL能够充分利用主机更强大的CPU和更充裕的DRAM资源执行FTL操作,克服了SSD控制器资源受限的瓶颈 5。然而,也需要注意到,主机端FTL的运行会消耗主机资源,可能与前台应用程序产生竞争,这是一个需要在系统设计中权衡的因素 9。增强性能一致性 :通过更有效地管理垃圾回收过程,减少其对前台I/O的干扰,全局FTL能够提供更可预测的性能 5。主机FTL可以根据工作负载的感知或在系统空闲时段更智能地调度垃圾回收。提高耐久性与降低总体拥有成本 (TCO) :写放大的降低直接延长了SSD的使用寿命 5。同时,由于写放大得到控制,对超量配置的需求也可能降低,从而提高SSD的可用容量。更高效的资源利用也有助于降低能耗,这些因素共同作用,有助于降低TCO 5。在系统层面管理FTL,赋予了存储系统一个全局的、整体的视角来审视存储资源和I/O模式,这使得许多在孤立的设备端FTL中无法实现的优化成为可能。一个全局FTL能够监测来自 多个应用程序或发往多个底层设备的I/O流。基于这些全局信息,它可以做出数据放置决策,以优化整个系统的性能,而不仅仅是单个设备的性能。例如,它可以根据数据的冷热程度将数据智能地分布在阵列中的不同SSD上,或者在整个阵列范围内进行统一的磨损均衡管理。此外,全局FTL还可以协调阵列中多个SSD的垃圾回收操作,避免它们同时发生GC暂停,从而提升整体系统的响应平滑度。PCIe-RAID的例子 4 很好地说明了这一点:将RAID逻辑集成到全局FTL层,可以做出充分感知闪存特性的决策,这与传统RAID控制器将SSD视为“黑盒”的做法截然不同。对于像全闪存NAS或对象存储加速器这样通常涉及多个驱动器的系统而言,全局FTL是最大化闪存介质集体性能和耐久性的关键。
此外,主机端FTL由于其部署在主机系统中,具有独特的优势,能够更好地连接应用程序与底层闪存介质之间的语义鸿沟,从而实现更智能的数据管理。由于FTL运行在主机上,它有潜力从应用程序或文件系统接收关于数据类型、生命周期或访问模式的“提示”(尽管并非所有现有的主机FTL都已深度实现此功能)。例如,一个对象存储应用程序可以告知主机FTL关于对象的大小、预期的访问频率或其不可变性。基于这些信息,主机FTL可以更智能地放置数据,比如将小而频繁修改的元数据与大而访问稀疏的对象数据分开存放。这与设备端FTL的“盲目”操作形成了鲜明对比,后者对这些应用层语义一无所知 10。这种能力为实现“应用感知”或“数据感知”的FTL铺平了道路,这对于对象特征差异巨大的对象存储系统尤为重要。
4. 全局FTL优化对象存储:通往性能提升之路 4.1. 为何对象存储需要全局FTL? 对象存储的特性使其成为全局FTL,尤其是主机端FTL的理想应用场景:
使FTL与对象语义对齐 :对象存储的核心是“对象”,它与传统存储的固定大小“块”有本质区别。对象具有可变的大小,并且总是伴随着丰富的元数据 2。一个全局的、驻留在主机端的FTL可以被设计成能够理解对象的边界和特性,从而实现比对块无感知的设备FTL更高效的映射和管理。例如,一种“对象FTL”可以直接映射“目标对象”(可以是文件系统单元、数据库操作单元等),从而消除因访问粒度不匹配造成的性能损失 2。应对对象工作负载的挑战 :可变的对象大小 :全局FTL需要高效管理用于存储各种大小对象的闪存空间,既要处理可能导致元数据开销和碎片化的小对象,也要为需要持续顺序性能的大对象提供支持。针对闪存缓存中大小对象的专门化缓存设计已有研究 6。元数据管理 :对象存储是元数据密集型的。全局FTL有潜力优化元数据的放置策略和更新效率,例如将元数据集 中存放在特定的高速区域,或采用特殊的日志结构来加速元数据更新。对象系统中的写放大 :传统的设备端FTL在处理对象存储的访问模式(例如,频繁更新小对象或元数据)时,可能会加剧写放大问题。而专门为对象设计的FTL,其目标之一就是消除在应用层、系统层和SSD内部可能出现的多重写放大问题 2。可扩展性 :对象存储系统通常需要支持极大规模的存储容量和对象数量。全局FTL可以为底层的海量闪存容量提供一个更具可扩展性的统一管理平面。4.2. 分区命名空间 (ZNS) SSD的角色 分区命名空间 (Zoned Namespace, ZNS) SSD的出现,为全局FTL在对象存储中的高效应用提供了强大的硬件基础。
ZNS SSD简介 :ZNS SSD是一种新型SSD接口标准,它将SSD的存储空间划分为多个“区域 (Zone)”。每个区域内的逻辑块地址(LBA)必须按顺序写入,并且在区域被重写之前必须先显式地执行“区域重置 (Zone Reset)”操作,这类似于闪存的擦除操作 2。ZNS如何促进高效的全局FTL :将管理责任转移到主机 :ZNS SSD将大部分传统FTL的功能(如详细的地址转换和垃圾回收)从设备端转移到了主机端 2。这使得主机成为FTL逻辑的天然执行者。消除设备级垃圾回收 :由于主机负责数据放置,并且区域在重写前会被重置,ZNS SSD本身不再执行传统意义上的垃圾回收。这从根本上消除了设备内部GC引入的写放大和性能不确定性 10。减少超量配置需求 :传统SSD需要预留大量物理空间(Over-Provisioning)用于垃圾回收。由于ZNS SSD将GC任务上移,其对设备内部超量配置的需求大大降低,从而可以提供更多的用户可用容量 11。强制顺序写入 :每个区域内强制顺序写入的约束,与NAND闪存“先擦除块、再顺序写入页”的物理特性高度吻合。主机端的全局FTL可以更好地规划数据在不同区域间的放置,以充分利用这一特性。ZNS技术,如NVMe Zoned Namespace命令集规范所定义 11,通过暴露闪存擦除块的边界和写入顺序规则,要求主机软件来处理这些问题,同时SSD内部继续管理介质的可靠性。
4.3. 面向ZNS SSD的“对象FTL”概念 基于ZNS SSD的特性,可以构建一种专门为对象存储优化的全局FTL,通常被称为“对象FTL” (Object FTL) 2。
定义 :对象FTL是一种特殊的全局FTL,它直接面向对象存储系统的语义进行设计,通常构建在ZNS SSD之上。将对象映射到区域 :与传统FTL映射逻辑块不同,对象FTL的核心思想是将应用程序层面的“对象”(或大型对象的分片)直接映射到ZNS SSD的一个或多个区域,或者区域内的特定偏移和长度。对象FTL的关键特性 (参考一项基于ZNS的对象FTL专利 2) :系统将所有构建在其之上的存储系统操作单元(如文件系统分配单元、数据库操作单元)统一视为抽象的“目标对象”。 维护一个“对象FTL映射表”,该表存储目标对象的唯一ID (OBJ_ID)、其在ZNS SSD中的物理存储地址 (ZNS_LBA,通常指向某个Zone的起始LBA) 以及对象的大小 (Size) 等字段。 该映射表通常缓存在主机内存中,以加速访问。当全闪存系统运行时,所有对象FTL映射表都会被缓存。 通过对目标对象的对象ID字段进行哈希运算,得到其在缓存中映射表的索引地址,从而快速定位。 其设计目标是消除由应用层、全闪存系统和SSD内部FTL引起的多重写放大问题,通过统一的“对象FTL”来完成对象的分配、释放、管理和读写。 充分利用ZNS SSD的特性,将对象数据流式写入选定的Zone。 “目标对象”本身支持可变大小,能够适配不同的应用负载,并方便结合硬件加速装置进行数据存取。 以下是一个基于ZNS的对象存储系统中全局/对象FTL的概念模型 :
图示2:基于ZNS的对象存储系统中全局/对象FTL概念模型
应用层 (对象存储服务) :接口:PUT Object (Key, Value, Metadata), GET Object (Key) 操作对象:具有唯一ID、可变大小数据和元数据的对象。 主机端全局“对象FTL” (运行于主机CPU/内存) :对象到物理地址映射 :输入:对象ID, 对象大小, 对象元数据。 映射逻辑:将对象ID映射到 {Zone ID, Zone内的起始偏移量, 对象长度}。 维护数据结构:对象映射表 (Object ID -> ZNS物理位置)。 对象感知的垃圾回收/空间回收 :当对象被删除或Zone需要回收时,管理有效对象的迁移(如果需要)和Zone的重置。 可以根据对象的生命周期、访问模式等进行优化。 跨Zone的磨损均衡 :确保所有Zone的使用尽可能均衡。I/O调度与数据放置 :根据对象特性(大小、访问频率、冷热等)选择合适的Zone进行写入。ZNS NVMe接口 (主机与ZNS SSD之间的通信) :命令:Write to Zone, Read from Zone, Zone Append, Reset Zone, Report Zones等。 主机通过此接口直接控制数据在Zone内的写入位置和Zone的状态。 ZNS SSD设备 :内部结构:由多个Zone组成,每个Zone具有独立的写指针和状态。 控制器功能:简化,主要负责执行来自 主机的ZNS命令,管理NAND介质的底层物理特性(如ECC、坏块管理),但不执行传统意义上的LBA-PPA转换或垃圾回收。 NAND闪存介质 :实际存储数据的物理载体。在这个模型 中,对象存储应用直接与主机端的对象FTL交互。对象FTL理解对象的概念,并将这些对象高效地映射和写入到ZNS SSD的各个Zone中。ZNS SSD则提供了一个更直接、更可控的闪存访问接口,使得主机能够细粒度地管理数据放置和空间回收,从而避免了传统SSD中因设备端FTL的“黑盒”操作而导致的种种低效问题。
More Read
WD(西数):规模化部署ZNS-SSD
主要内容 :文章介绍了ZNS(Zoned Namespaces)技术如何通过将存储介质划分为多个区域来优化SSD性能和效率,减少写放大和垃圾回收问题。ZNS特别适用于高容量需求和需要降低写放大的场景,已在Linux生态系统和许多存储硬件厂商产品中得到支持。字节跳动:ZNS-SSD云存储实践
主要内容 :文章探讨了基于ZNS SSD的高性能存储系统的设计和结果,强调了ZNS技术在云存储中的应用。通过硬件与软件协同设计,ZNS SSD能够显著提高存储系统的性能和稳定性,适用于云原生数据库和弹性块存储系统。SiliconMotion:ZNS在QLC闪存上的测试数据
主要内容 :文章介绍了ZNS技术与QLC闪存结合的优势,特别是在需要大量随机写入的应用场景中。ZNS + QLC能够提供良好的读取性能和较低的成本,适用于OLAP、大数据、AI、媒体流及NoSQL等应用场景。这些文章详细介绍了ZNS技术的背景、优势和应用场景,展示了其在提高存储性能和效率方面的潜力。
4.4. 对象存储的性能改进与收益 将全局FTL(特别是对象FTL)与ZNS SSD相结合,可以为对象存储系统带来显著的性能提升和多方面收益:
更高的吞吐量和更低的延迟 :研究表明,ZNS SSD本身相较于传统的块接口SSD,在并发写入工作负载下可实现高达2.7倍的吞吐量提升,并且即使在有后台写入的情况下,平均随机读取延迟也能降低多达64 % 11。 主机端FTL采用写入线性化等技术,即使在随机写入条件下,也能维持高达原生SSD顺序写入速度的80% 5。 通过将写入操作与ZNS区域的特性对齐,并大幅减少设备内部垃圾回收的干扰,基于ZNS的对象FTL能够为对象存储提供持续的高性能。 写放大的急剧降低 :ZNS SSD消除了设备内部的垃圾回收,这是降低写放大的一个主要因素 11。 主机端FTL可以通过实时数据压缩和写入线性化等手段,实现接近理论最优的写放大控制 5。 专门为对象设计的对象FTL 2 的核心目标之一就是消除多层写放大。 改善的耐久性和总体拥有成本 (TCO) :写放大的降低直接延长了NAND闪存介质的使用寿命,从而提高了SSD的耐久性 5。 由于对设备内部超量配置的需求减少,用户可以获得更高的可用存储容量 11。 更高效的数据处理和更少的内部数据搬移有助于降低能耗。 主机端FTL甚至可以使RAID-5和RAID-6配置在性能上超越传统的RAID-0,同时不牺牲数据冗余和安全性,相较于RAID-10能提供更好的容量利用率 5。这些因素共同作用,有助于显著降低TCO。 更好的可扩展性和可预测性 :ZNS SSD简化的设备行为和主机端的集中控制,使得系统性能在规模扩展时更具可预测性。 主机端FTL可以跨越更大规模的闪存资源池进行统一管理和优化,更好地适应对象存储系统不断增长的容量和性能需求。 ZNS SSD的出现,不仅仅是对现有SSD技术的增量改进,更是一种基础性的转变。它使得闪存介质能够更内在地适应对象存储的范式,特别是当与智能的主机端(全局/对象)FTL相结合时。对象存储通常涉及大量顺序写入的大对象,这与ZNS每个区域内顺序写入的约束完美契合。显式的区域重置机制允许对象FTL在对象(或大的数据段)级别管理生命周期和执行空间回收,而不是进行细粒度的页/块级垃圾回收,效率远高于传统方式。消除“块接口税”11 对于成本敏感的大规模对象存储部署尤为有利。一项关于“对象FTL”的专利 2 就明确利用ZNS来实现其设计,这直接证明了两者之间的协同效应。因此,未来的高性能对象存储系统很可能会深度依赖ZNS与全局/对象FTL的组合,以实现最佳的效率和性能。
此外,一个部署在主机端的全局FTL能够与系统中的其他数据服务(如压缩、去重、RAID/纠删码)更紧密地集成,从而实现整体系统的协同优化。主机FTL可以在数据写入闪存之前执行实时压缩,从而减少实际写入的数据量,进而降低写放大 5。FTL对数据布局的了解可以为更高效的RAID条带化或纠删码策略提供信息支持 4。对于对象存储而言,诸如版本控制或数据分层等高级功能,如果全局FTL能与这些上层服务进行一定程度的集成或信息交互,则有可能实现对闪存更友好的操作。这意味着全局FTL不仅仅是管理闪存的底层细节,更是构建一个更智能、更集成的存储堆栈的关键组件,在这个堆栈中,不同层次的软件和服务协同工作,以实现整体系统效益的最大化。这对于功能丰富的全闪存NAS和对象存储平台来说尤其重要。
5. 结论与未来展望 5.1. 全局FTL对对象存储的变革潜力回顾 全局FTL,特别是当其作为对象FTL在ZNS SSD上实现时,为解决经典设备端FTL的固有挑战并满足对象存储的独特需求提供了强大的解决方案。它通过将闪存管理的智能和控制权上移至主机,利用主机更强大的计算资源和全局系统视图,实现了性能、耐久性、成本效益和可扩展性等方面的显著提升。
5.2. 实施中的挑战与考量 尽管全局FTL前景广阔,但在实际部署中仍需关注以下挑战:
主机资源消耗 :虽然主机资源相对设备控制器更为丰富,但一个复杂的全局FTL仍会消耗可观的CPU周期和内存。需要仔细优化FTL软件,避免其对主要应用程序的性能产生不利影响 9。已有研究关注如何优化主机级FTL以保证存储栈的可扩展性 17。复杂性转移 :FTL逻辑从设备固件转移到主机软件,增加了主机存储软件栈的复杂性。这要求更严格的软件设计、实现和测试流程,以确保系统的稳定性和可靠性。标准化与生态系统 :尽管ZNS接口已实现标准化 10,但主机端/全局FTL的具体实现方式可能因厂商和解决方案而异。建立成熟的软件生态系统和确保互操作性对于广泛采用至关重要。数据迁移与兼容性 :将现有的、基于传统块接口SSD的存储系统迁移到采用全局FTL和ZNS SSD的新架构,可能会面临数据迁移和应用兼容性方面的挑战。5.3. 展望:软件定义与主机控制的闪存未来 面向未来,存储系统的发展趋势将继续朝着软件定义存储(Software-Defined Storage, SDS)和主机控制的闪存管理方向演进 2。
应用感知的FTL :未来的全局FTL将更加关注从应用程序获取语义信息,实现更深层次的“应用感知”优化。例如,根据数据的生命周期、访问模式、QoS需求等动态调整数据放置、垃圾回收和磨损均衡策略。AI驱动的优化 :人工智能和机器学习技术有望被引入全局FTL中,用于预测工作负载模式、智能调度后台任务(如GC)、优化缓存管理和数据布局,从而实现更高级别的自动化和性能自适应。更紧密的堆栈集成 :应用程序、文件系统和全局FTL之间的界限可能会进一步模糊,形成更紧密协作的存储堆栈,以最大限度地利用语义信息流,减少冗余操作。新兴闪存接口技术 :除了ZNS,灵活数据放置(Flexible Data Placement, FDP)等新兴技术 6 预示着主机对SSD内部数据布局将拥有更进一步的控制权,这些技术可以与全局FTL策略协同工作,进一步提升效率。将FTL的智能转移到主机,实际上是赋予了系统设计者和软件开发者更大的能力,使他们 能够根据特定的应用需求来定制闪存管理策略,而不是依赖于设备制造商提供的通用、固化的FTL算法。设备端FTL通常如同一个“黑盒”,其内部算法对用户不透明且难以修改。而基于主机的全局FTL则可以设计得更加开放、可配置和可适应。不同的应用程序,例如键值存储、视频流服务或归档对象存储,其I/O模式和服务质量(QoS)需求可能大相径庭。全局FTL允许为这些多样化的工作负载开发专门的闪存管理策略,从而实现更优化的整体系统性能。例如,为“对象”量身定制的FTL 2 就是这种专业化的体现。这种转变促进了存储领域的创新,使得构建针对特定应用场景高度优化的存储解决方案成为可能,从而超越了通用设备固件所带来的限制。这标志着闪存优化正从设备中心的模式向更加灵活和强大的软件定义模式演进。
===
Cite
CN110413537B - 一种面向混合固态硬盘的闪存转换层及转换方法 - Google Patents, 访问时间为 六月 7, 2025, https://patents.google.com/patent/CN110413537B/zh CN114546296B - 一种基于zns固态硬盘的全闪存系统和地址映射方法 ..., 访问时间为 六月 7, 2025, https://patents.google.com/patent/CN114546296B/zh Reviving Storage Systems Education in the 21 Century — An experience report - Atlarge Research, 访问时间为 六月 7, 2025, https://atlarge-research.com/pdfs/2024-stosys-education.pdf 企业级SSD产品及存储解决方案提供商 - 宝存科技Shannon Systems, 访问时间为 六月 7, 2025, https://www.shannon-sys.com/newsdetails.html?id=152 Host FTL:Transforming SSD Performance for Critical Workloads - WildFire Storage, 访问时间为 六月 7, 2025, https://wildfire-storage.com/host-ftl-ssd-performance-efficiency/ Towards Efficient Flash Caches with Emerging NVMe Flexible Data Placement SSDs - arXiv, 访问时间为 六月 7, 2025, https://arxiv.org/html/2503.11665v1 一种基于分类策略的聚簇页级闪存转换层算法 - 计算机研究与发展, 访问时间为 六月 7, 2025, https://crad.ict.ac.cn/fileJSJYJYFZ/journal/article/jsjyjyfz/HTML/2017-1-142.shtml A New FTL-Based Flash Memory Management Scheme for Flash-Based Storage Systems, 访问时间为 六月 7, 2025, https://www.researchgate.net/publication/280951850_A_New_FTL-Based_Flash_Memory_Management_Scheme_for_Flash-Based_Storage_Systems 闪存存储的重构与系统构建技术 - 计算机研究与发展, 访问时间为 六月 7, 2025, https://crad.ict.ac.cn/fileJSJYJYFZ/journal/article/jsjyjyfz/HTML/2019-1-23.shtml 数据存储架构与技术 - Storage Research Group - 清华大学, 访问时间为 六月 7, 2025, https://storage.cs.tsinghua.edu.cn/publications/%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E6%9E%B6%E6%9E%84%E4%B8%8E%E6%8A%80%E6%9C%AF.pdf/ ZNS: Avoiding the Block Interface Tax for Flash-based SSDs - USENIX, 访问时间为 六月 7, 2025, https://www.usenix.org/system/files/atc21-bjorling.pdf CN112995285A - 基于区块技术的分布式kv存储系统 - Google Patents, 访问时间为 六月 7, 2025, https://patents.google.com/patent/CN112995285A/zh 闪存转换层- 维基百科,自由的百科全书 - Wikipedia, 访问时间为 六月 7, 2025, https://zh.wikipedia.org/zh-cn/%E5%BF%AB%E9%96%83%E8%A8%98%E6%86%B6%E9%AB%94%E8%BD%89 %E6%8F%9B%E5%B1%A4 第3章闪存转换层_厦门大学数据库实验室, 访问时间为 六月 7, 2025, https://dblab.xmu.edu.cn/post/4548/ DSFTL: An Efficient FTL for Flash Memory Based Storage Systems - MDPI, 访问时间为 六月 7, 2025, https://www.mdpi.com/2079-9292/9/1/145 ZNS: Avoiding the Block Interface Tax for Flash-based SSDs - ResearchGate, 访问时间为 六月 7, 2025, https://www.researchgate.net/publication/355941241_ZNS_Avoiding_the_Block_Interface_Tax_for_Flash-based_SSDs Optimizing Host-level Flash Translation Layer with Considering Storage Stack of Host Systems, 访问时间为 六月 7, 2025, http://nyx.skku.ac.kr/wp-content/uploads/2014/07/Optimizing-Host-level-Flash-Translation-Layer-with-Considering-Storage-Stack-of-Host-Systems.pdf Notice :Human's prompt, Datasets by Gemini-2.5-Pro-DeepResearch