
全文概览
在数据存储领域,固态硬盘(SSD)已成为现代计算设备不可或缺的核心组件。与传统机械硬盘相比,SSD以其卓越的性能、低延迟和高可靠性,极大地提升了用户体验和系统效率。本文将深入探讨SSD的关键技术之一——间接单元(Indirection Unit, IU)机制。理解IU的工作原理及其在SSD数据管理中的作用,对于深入了解SSD架构、优化存储性能至关重要。
本文将从硬盘扇区的发展历史出发,逐步揭示SSD采用IU设计的内在原因,并结合逻辑到物理(L2P)表、容量管理、DRAM缓存等关键概念,全面解析IU在SSD数据存储过程中的作用和影响。通过本文的阅读,您将对SSD的内部工作机制有更清晰的认识,从而更好地理解和应用这项关键的存储技术。
阅读收获


图注:间接单元的历史-从HDD的扇区说起
图片展示了硬盘驱动器扇区大小的发展历史,从早期的可变大小到 512 字节成为行业标准,再到 1998 年高级格式技术委员会推动的 4KiB 扇区大小的普及。
右侧图表强调了采用 4KiB 扇区大小的主要原因,包括提高 ECC 效率和与操作系统内存页大小对齐。此外,图片还对比了 512 字节和 4096 字节扇区的结构和效率,并提到了固态硬盘的出现以及 4Kn 本地硬盘的推出,即使后者仍然需要模拟 512 字节扇区以保持兼容性。
===

图注:SSD 中IU的使用背景
图片解释了固态硬盘沿袭间接单元(IU)设计的原因。
与传统的硬盘驱动器不同,固态硬盘从一开始就倾向于使用更大的 4KiB 数据块,并且通过 IU 来管理数据。虽然固态硬盘在逻辑上可以模拟 512B 的扇区大小以保持兼容性,但其内部操作是基于更大的 IU 进行的。使用 IU 的主要原因包括简化设计、提高效率以及方便进行垃圾回收等操作。然而,当写入操作与 IU 的边界不对齐时,可能会导致额外的读-修改-写操作,从而影响性能。总的来说,IU 是固态硬盘管理和优化性能的关键概念。

图注:L2P 表在数据存储过程的作用
图片解释了固态硬盘中逻辑到物理 (L2P) 表的作用和重要性。
L2P 表是固态硬盘控制器中的一个关键组件,它负责将操作系统看到的逻辑地址转换为实际存储在 NAND 闪存芯片上的物理地址。这种转换是必要的,因为闪存的写入特性(无法覆盖写入,需要先擦除)以及为了优化性能和寿命而进行的数据管理(例如,磨损均衡和垃圾回收)。
图片还说明了如何通过 L2P 表查找不同大小的逻辑地址对应的物理地址,并强调了垃圾回收过程如何依赖于更新 L2P 表来实现数据的移动和管理。
===
逻辑到物理表
如何理解 IU 和 L2P 表在 SSD 数据存储过程中发挥的作用、差异?
L2P 表(Logical-to-Physical Table) 的主要作用是地址转换。它就像一个翻译器,将操作系统看到的逻辑块地址(LBA)映射到 NAND 闪存芯片上的实际物理地址。
IU(Indirection Unit) 的主要作用是数据管理和优化,尤其是在垃圾回收方面。根据您提供的图片信息,IU 可以被理解为固态硬盘写入和跟踪的数据组。
总结它们之间的区别:
可以理解为,L2P 表是地图,告诉你逻辑地址对应的物理位置。而 IU 是组织数据的策略,决定了数据如何分组和管理,以便更高效地进行垃圾回收和写入操作,并且这个策略可能会影响到 L2P 表的结构和大小。

图注:理解SSD的物理容量和逻辑容量
图片解释了固态硬盘中物理容量和逻辑容量之间的差异,并介绍了预留空间(Over Provisioning, OP)的概念。物理容量是指固态硬盘上所有 NAND 闪存芯片的总容量,而逻辑容量是用户实际可以使用的容量。两者之间的差额就是预留空间,通常以百分比表示。
图片指出,历史上预留空间的计算方式比较复杂,并且受到坏块的影响。但随着行业标准的统一,逻辑容量点也变得更加规范。一个常见的“营销”简称是 7% 的预留空间,但这并不总是准确的,因为 NAND 芯片的实际容量可能不是 2 的精确幂次方,并且厂商可能会根据不同的因素(例如 NAND 类型和良率)调整预留空间的大小。预留空间对于固态硬盘的性能和寿命至关重要,因为它为控制器提供了进行垃圾回收、磨损均衡等操作所需的额外空间。

图注:SSD中DRAM的容量计算
图片展示了 L2P 表在固态硬盘中消耗的 DRAM 大小。
它假设 LBA 大小和 IU 大小都是 4KiB,并且以一个 960GB 的 SSD 为例进行计算。根据 IDEMA 的规范,这个容量大约包含 2.34 亿个逻辑块。如果每个 IU 的物理地址需要 32 位来跟踪,那么 L2P 表就需要大约 937.7MB 的 DRAM 来存储这些映射信息。图片还指出,存储容量与 DRAM 容量的比例大约是 1024:1,这与通常引用的 1000:1 的比例略有不同(基于4KiB IU 的经验)。
最后的结论强调了 DRAM 的成本是固态硬盘总成本的一个重要组成部分,并且受到 IU 大小的影响。

图片描述了嵌入式SSD系统,在数据传输效率层面存在的固有约束,特别是与内存相关的限制。
它指出,尽管新的内存标准(LPDDR5)正在发展,但在嵌入式环境中,仍然经常遇到 32 位的处理器和内存接口。图片以固态硬盘为例,强调其内部控制器和 DRAM 的交互仍然是基于 32 位架构的。这与主机系统中常见的 64 位寻址和处理形成对比。图片还提到了嵌入式 DRAM 的接口宽度和 ECC 机制。总而言之,这张图片旨在说明固态硬盘等嵌入式设备在内存和处理能力方面可能存在的限制。
LPDDR5 的传输带宽提升

图注:物理地址的寻址规范
图片介绍了固态硬盘中物理地址的组织方式。
它解释了如何使用一定数量的位来表示可寻址的物理位置,例如 32 位可以理论上追踪 2的32次方个位置。然而,将这些位分配给实际的物理组件(如芯片、平面、块、页、扇区)需要一个转换过程,并且这个过程可能并不总是简单的。
图片给出了一个 32 位地址如何被划分为不同物理含义的示例,并指出由于实际物理组件的数量可能不是 2 的精确幂次方,或者像 TLC 闪存那样每个块包含的页数不是 2 的幂次方,因此这种分配方式可能会导致一些效率上的损失。最终的结论强调了理论上的最大可寻址位置数可能大于实际可用的物理位置数。

图片探讨了固态硬盘容量的理论上限与实际应用之间的约束。根据图中给出的信息,如果 IU 大小为 4KiB 且可追踪的物理位置数为 2的32次方,那么理论上的最大可追踪容量是 16TiB。然而,图片右侧指出,考虑到预留空间(OP)后,固态硬盘的实际最大容量可能会限制在 15.36TB 左右。
尽管如此,图片还展示了三星发布的一款 128TB QLC SSD(型号为 BMI743),这似乎与之前提到的 15.36TB 的上限有所矛盾。这可能意味着 16TiB 的理论上限是基于特定的寻址方案或技术限制,而实际产品通过更先进的技术(例如更高的 NAND 密度、更复杂的寻址方式等)突破了这个限制。
Cite
• 《Micron:验证16KB IU对SSD_WAF的影响》:介绍了16KB IU(间接寻址单元)对SSD写放大因子(WAF)的影响。 16KB IU的优势与挑战:16KB IU可节省SSD中DRAM空间(75%),实际应用中额外的WAF较低,通常小于2倍,有时接近1倍,大IO写入应用更适合,但元数据等小IO写入场景不适合。 WAF产生原因及IU大小影响:WAF主要因SSD以“页”为写入单元、以“块”为擦除单位,IU表增大可能影响小写入性能,不同写入大小对WAF影响不同,大写入大小导致更低的WAF。
延伸思考
这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~
原文标题:SSD Architecture Challenges with DRAM
Notice:Human's prompt, Datasets by Gemini-2.0-flash-thinking ---【本文完】---