在之前的科普中有聊到,SLC虽然在容量上和成本上具有劣势,但是在写入速度上却有着一定的优势。为了使固态硬盘容量可以做的更大,并且让价格更加亲民,目前主流的零售固态硬盘大多数都采用了TLC或者是QLC。因此,我们在固态硬盘中使用部分的NAND模拟SLC的工作模式,那么我们如何才能做到将容量、成本和写入速度的优势兼得呢?没错,这就是今天要介绍的SLC Cache。

SLC Cache加速的原理

前面有说到,SLC Cache本质是用MLC、TLC等颗粒模拟SLC的工作模式。以TLC来模拟SLC的工作方式举例。TLC,由于有8个状态,而SLC只有两个,那么如果将TLC也标记为两个状态,即000~011均认为是0,而100~111均认为是1,也就是说只判断最高位的状态,那么控制起来就更加简单了,同时速度也会大幅度提高,耐久度也有保证。这就是SLC Cache加速的基础。

SLC Cache的加速策略

1)动态容量

顾名思义,整个固态硬盘根据剩余容量来规划SLC Cache。这个模式的优点就是如果容量大,会有非常大的缓存冗余,在硬盘空间还不是很饱和的状态下,写入数据会非常漂亮,缺点就是随着硬盘空间的逐渐使用,整个硬盘的性能也会随着占用率逐渐下降,整个硬盘的使用体验一致性不强。当然随着目前固态主控的智能化,主控会更加合理的去划分空间,以保障在使用过程中尽可能的性能一致,并且固态硬盘的容量也与日俱增,硬盘有更多的空间去给主控规划,所以说动态策略掉速的问题也因此大大缓解。

上图为采用动态容量策略的致钛SC001

2)固定容量

固定容量的SLC Cache通常是SSD厂家通过应用场景的研究,结合SSD的容量设置一个固定的容量大小来做为SLC Cache。需要注意的是,并不是固定容量的SLC Cache用完后就没有了,而是每当固定容量的SLC Cache用掉一部分后,主控及FW会即时的重新动态的补充新的SLC Cache进来;所以这个“固定容量”其实是绵绵不绝的。只有极少数工况会一次性的把SLC Cache写完,绝大多数情况下一旦SSD空闲就会立即重新动态划分SLC Cache, 这样用户就始终感到的是高速写入。

上图为采用了固定容量策略的致钛PC005

SLC Cache带来了哪些好处?

1)极强的写入爆发力

如果大家了解一点计算机的话,应该都明白硬盘里的数据需要先传递给内存,内存再传输给其他的硬件。但是软件或者游戏的安装往往需要快速完成,这个时候就需要硬盘有极强的写入爆发力,而将固态硬盘里面的一部分存储空间用作SLC Cache就能提高固态硬盘爆发写入能力,在软件和游戏的安装中可以更加迅速。

2)防止Lower Page数据被带坏

当用户数据写到SLC时,不存在写Upper Page或者Extra Page带坏Lower Page数据的可能。

SLC Cache技术总结

作为缓存技术的一种,SLC Cache弥补了随着颗粒存储密度变大的掉速问题。为固态硬盘提供了优秀的爆发写入性能,以及容量和成本上的优势。并且随着主控的能力的逐步提升,未来采用SLC Cache的固态硬盘峰值性能也能有更加长久的保持。所以你对这个技术是什么看法呢?欢迎在下方留言一起讨论,我们下期再见~