随着存储技术的不断进步,固态硬盘SSD的容量正以惊人的速度增长,尤其是采用高密度QLC NAND闪存技术的大容量SSD,如30TB及以上级别的产品。QLC NAND由于每个单元能够存储4比特数据,从而显著提高了存储密度,但同时也带来了一系列挑战,其中包括写入放大、耐久性以及如何有效管理映射表的问题。
扩展阅读:
-
为什么QLC NAND才是ZNS SSD最大的赢家?
-
QLC SSD在数据中心的发展前景如何?
在这个背景下,间接寻址单元(Indirection Unit, IU)的作用及其对SSD寿命的影响显得尤为重要。在SSD内部,逻辑地址到物理地址的转换是通过一个称为“逻辑到物理映射”(Logical to Physical mapping, L2P)的机制实现的。L2P映射表通常存储在设备RAM中,用于将主机发送来的逻辑块地址(LBA)对应到NAND闪存上的实际物理位置。为了优化资源使用和提高效率,SSD引入了间接寻址单元的概念,即将多个连续或非连续的逻辑块映射到单个物理块上。
例如,若IU设置为16KB,则意味着每16KB的逻辑空间仅需要一个映射条目指向一个物理块。这样可以显著减少RAM消耗,尤其是在大容量SSD上,避免因存储映射信息所需的DRAM资源过多而增加成本。
随着SSD容量的增长,存储映射表所需的RAM成本也随之增加。假设采用1:1的L2P映射以及4KB的逻辑块大小,对于一个256GB的SSD,至少需要256MB的RAM来存放映射表。随着SSD容量达到64TB级别,按照这种比例计算,所需的RAM容量将会高达64GB,这对设备的成本控制等构成挑战。
因此,设备供应商开始采用新的技术手段来控制映射表所需的RAM,其中一种方法就是增大映射比率或间接寻址单元(IU)。不再采用1:1映射,而是采用n:1 L2P映射,其中n大于1。RAM占用量与n成反比,即多个逻辑块可以共享一个物理映射。
增大间接寻址单元IU虽然有助于降低DRAM需求,但也可能带来性能和耐久性方面的挑战。当主机发出的IO大小小于IU时,会发生读取-修改-写回(Read-Modify-Write, RMW)操作。这意味着即使只是更新一小部分数据,SSD也必须先读取整个物理块的内容,合并新的数据,然后将整个块重新写入闪存。这种情况下,原本只需要一次的小规模写入操作被放大成了整块物理区块的写入,这就是所谓的“写放大效应”。
具体来说,假设SSD设置了一个16KB的IU,这意味着一个物理闪存块可以对应多个连续的4KB LBA。如果主机发出一个仅写入4KB的数据请求,且该请求起始位置不在IU的边界上,则SSD需要首先读取包含目标4KB区域的整个16KB物理块,将新的4KB数据合并到已读取的数据中,然后将整个更新后的16KB物理块重新写入NAND闪存。这个过程实际上执行了原本只需写入4KB数据量的四倍,即产生了4x的写放大因子。
扩展阅读:SSD写放大的优化策略要统一标准了吗?
对于耐久性敏感的QLC NAND而言,这种写入放大的影响尤为严重,因为QLC NAND的每个单元可编程次数相对较少。每一次额外的写入都会加速NAND单元的老化,缩短整个SSD的使用寿命。
然而,随着IO尺寸增加至接近或大于16KB,这种情况会有所改变。一旦IO大小等于或大于IU大小,那么这种IO就可以直接且完整地写入对应的物理块,无需进行额外的读取和合并操作。因此,在这种情况下,大尺寸IO对WAF的贡献就会明显降低,几乎不会产生额外的写放大效应。
尽管存在上述挑战,随着SSD容量的增长和技术的进步,设备制造商已经开发出多种策略来缓解间接寻址单元增大带来的问题:
-
智能数据管理和垃圾回收算法:SSD控制器通过更加高效的垃圾回收机制来最大限度地减少不必要的写入操作,并尝试确保新的写入尽可能均匀分布在整个NAND阵列中,减轻局部磨损。
-
混合使用不同类型的NAND:某些高端SSD会结合使用QLC NAND与其他类型(如TLC或SLC)的NAND,利用高速和高耐久性的NAND区域作为缓存或临时存储,以缓冲小尺寸IO写入导致的额外写入负载。
-
优化应用程序I/O模式:系统设计者和软件开发者可以通过调整应用层的数据访问模式,尽量使写入操作对齐并按IU大小进行,从而降低因未对齐引发的RMW操作,进而减少写入放大。
随着SSD容量的提升和QLC NAND的广泛应用,间接寻址单元IU管理成为了一个关键的设计考量因素。通过技术创新和合理的工作负载管理,可以在维持成本效益的同时,有效延长大容量SSD的使用寿命。未来的SSD设计将继续探索这一领域的平衡点,兼顾容量、性能和耐久性的最佳组合。
小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!
精彩推荐:
-
对于超低延迟SSD,IO调度器已经过时了吗?
-
浅析CXL P2P DMA加速数据传输的原理
-
HDD回暖于2024,与SSD决战于2028
-
如何解决NAND系统性能问题?
-
浅析NVMe key per IO加密技术
-
PCIe 6.0生态业内进展分析总结
-
浅析PCIe 6.0功能更新与实现的挑战
-
年度总结|存储随笔2023年度最受欢迎文章榜单TOP15
-
NVMe SSD IO压力导致宕机案例解读
-
过度加大SSD内部并发何尝不是一种伤害
-
NVMe over CXL技术如何加速Host与SSD数据传输?
-
FIO测试参数与linux内核IO栈的关联分析
-
为什么QLC NAND才是ZNS SSD最大的赢家?
-
SSD在AI发展中的关键作用:从高速缓存到数据湖
-
浅析不同NAND架构的差异与影响
-
SSD基础架构与NAND IO并发问题探讨
-
字节跳动ZNS SSD应用案例解析
-
SSD数据在写入NAND之前为何要随机化?
-
深度剖析:DMA对PCIe数据传输性能的影响
-
NAND Vpass对读干扰和IO性能有什么影响?
-
HDD与QLC SSD深度对比:功耗与存储密度的终极较量
-
NVMe SSD:ZNS与FDP对决,你选谁?
-
浅析Relaxed Ordering对PCIe系统稳定性的影响
-
实战篇|浅析MPS对PCIe系统稳定性的影响
-
浅析PCI配置空间
-
浅析PCIe系统性能
-
存储随笔《NVMe专题》大合集及PDF版正式发布!