什么是SLC缓存?
什么是SLC缓存?
TLC和QLC能够在有限的NAND空间里存储更多数据,但存储密度提高的同时,单次写入所需要的编程过程也更加复杂。因此,当SSD面对突发的大量写入时,直接将数据写入TLC或QLC,并不容易兼顾写入速度。
SLC缓存就是针对这一问题出现的一种机制。
它的基本思路是:先让一部分数据进入更适合高速写入的SLC区域,再在合适的时机将数据整理到TLC或QLC区域。这样可以吸收短时间内的突发写入,改善SSD的瞬时写入表现。
这里的“SLC”并不意味着SSD额外采用了一批原生SLC NAND颗粒。对于采用TLC或QLC NAND的产品,通常可以把部分存储空间切换为类似SLC的工作方式,也就是业界常说的pSLC(Pseudo-SLC)模式。
不过,pSLC模式和SLC缓存并不是同一个概念。
pSLC描述的是NAND的工作方式:原本一个Cell可以存储多个bit的数据,在pSLC模式下则只存储1 bit。SLC缓存描述的则是数据在SSD内部的流转方式:利用这部分高速空间暂存新写入的数据,之后再将数据迁移到正常的TLC或QLC区域。
因此,pSLC可以用于实现SLC缓存,但pSLC本身并不等于SLC缓存。如果一款工业级或特种存储产品直接长期采用pSLC作为主要存储方式,它依然是pSLC产品,只是没有承担“缓存”的角色。

不同类型的SSD,对这种机制的使用方式也有所不同。
消费级SSD通常更关注用户操作下的瞬时响应和突发写入速度,因此经常通过SLC缓存提升短时间内的写入性能。当缓存空间被大量占用后,后续数据需要更多地进入TLC或QLC区域,写入速度也可能随之下降。
工业级、特种存储产品有时则会直接采用pSLC模式,用于换取更高的耐久性和可靠性。这类产品的核心并不是利用缓存制造短时间的性能峰值,而是长期保持特定的存储特性,因此不能简单地和消费级SSD的SLC缓存画等号。
企业级SSD更加关注持续负载下的性能、延时和QoS。对于这类产品而言,相比短时间的峰值写入速度,更重要的是性能变化能够保持在可预期范围内,因此通常不会依赖消费级SSD常见的SLC缓存策略。
SLC缓存写入策略和分类
SLC缓存并不是所有数据都必须经过同一种写入路径,根据固件策略的不同,可以采用不同的写入方式。
□强制SLC写入
无论用户写入多少数据,都先进入SLC缓存。当缓存空间不足时,需要先通过垃圾回收等方式释放空间,再继续进行SLC写入。
这种方式在早期闪存中具有比较明确的应用背景。
一些较早的MLC NAND采用分步编程方式,同一个存储区域需要经过多个阶段完成写入。如果后续编程阶段发生异常掉电,可能影响之前已经写入的数据。让数据先进入SLC区域,可以降低这一风险;待数据迁移至高密度存储区域后,原SLC数据还可以作为恢复来源。
随着NAND编程技术的发展,这类问题已经得到改善,因此现代SSD通常不再要求所有用户数据必须经过SLC缓存。
□非强制SLC写入
SSD存在可用SLC缓存时,优先利用缓存吸收写入;当缓存空间不足,则允许数据直接写入TLC或QLC区域。
这种方式更加灵活,也是当前更常见的一类设计思路。
除了写入策略不同,SLC缓存本身还可以按照空间分配方式进行划分。
□静态SLC缓存
SSD固定划出一部分空间作为SLC缓存,并在整个使用周期内保持这一用途。
这种方式的缓存容量相对稳定,但固定占用的空间无法同时用于正常TLC或QLC存储,因此会对实际可用容量产生影响。
□动态SLC缓存
SSD根据当前剩余空间和工作状态,在TLC或QLC空间中动态划分SLC缓存。
在SSD剩余空间较多时,可以提供更大的缓存区域,以获得更好的突发写入表现;随着数据逐渐写满,缓存空间再逐步缩小,将更多空间留给正常的数据存储。
因此,动态SLC缓存本质上是在性能和容量之间动态寻找平衡。
□混合SLC缓存
静态和动态两种方式也可以结合使用。
其中一部分空间固定作为SLC缓存,提供基础的缓存能力;另一部分则根据剩余容量等条件动态调整,在稳定性和灵活性之间取得平衡。

▎相关文章