静态容量法(关于SSD不同策略的SLCCache【固态硬盘】)

眼观世俗人终散 数码 24

SLC Cache是现代家用SSD中比较常见的技术,正是借助这个技术,才让TLC乃至QLC有了媲美SLC的爆发写入能力,以至于MLC的SSD也有很多采用SLC Cache的产品。但SLC Cache也不是只有一种,实际上可以分为3种策略,但这3种策略并没有官方的名字,只是玩家们口耳相传,也没有统一的称呼,所以我的称呼只是我个人的习惯。

首先是静态SLC Cache,也就是把SSD的一部分划出来,专门用来加速写入。这样的SSD的标称容量往往不是“足容”的,例如240GB,而不是256GB,大致可以认为少的那16GB用作OP等开销了,而且这一部分除了用作备用块外,也可以用来当专用的SLC Cache,容量的计算方法是TLC就是占用容量的三分之一、QLC就是四分之一,如果240GB的TLC SSD有5GB左右的SLC Cache且不随着SSD的容量占用而变小的话,就很可能是这种静态的SLC Cache。或者,如果SLC Cache比主流型号都小得多的话,十有八九是这种静态SLC Cache。

这种策略的优势是对寿命没有不良影响(写入放大很小),专用的SLC Cache区因为是以SLC方式写入的,所以拥有SLC级别的寿命,不会影响实际的存储区域,并且降低了GC的压力,同时日常使用的写入放大也很低(有静态的SLC Cache当作缓冲区,更好地优化写入的方式),可以说是兼具日常性能和寿命的最优解,但缺点就是SLC Cache的容量做不了太大,相比动态的SLC Cache小很多,应对超大文件的写入会力不从心,如果是我用的这块SSD(创见220S)那种早年间的TLC的话,缓外速度确实会令人抓狂地低(50MB/s)。

看我的这个220S,写入放大真是惊人地小,对NAND写入只比主机写入多一点,在主机写入接近20TB的时候,对NAND的写入才多不到1TB,平均擦写才84次,距离TLC的1000次擦写的SPEC还很远,即使是寿命最弱鸡的美光16nm TLC也能撑10年。

这种SLC Cache的写入曲线是两段式的,先快后慢,在比较靠前的位置突然下降。

虽然我盛赞这种策略,但很遗憾现在的SSD厂商已经越来越不喜欢这种策略了,因为这种策略有不可调和的矛盾——缓存区大了,存储区就小了,消费者既喜欢大缓存、又喜欢足容量,960GB确实没有1TB那么好看。

所以就出现了另外的固定大小的SLC Cache策略,在存储区域的一部分划作SLC Cache(当然也可以和静态SLC Cache搭配使用,毕竟没有一个SSD是完全“足容”的,都会留出一点冗余,而这部分冗余用来当加速区域正合适),但容量是固定的,只有当存储的数据量超过了未划分SLC Cache区域的容量时,才会适当、按比例缩减SLC Cache的容量。

这种情况下,理想状态下的写入曲线是三段式的,首先是一段SLC Cache区域,最快,之后是直写区域,等于缓外速度,最后是边释放SLC Cache的占用、边写入,非常慢(而且主控要是不行的话会十分不稳定)。

有固定容量的,就有动态容量的,也就是SLC Cache是随着存储占用量的增加而动态减少的,空盘时最大,然后逐渐减少。非全盘SLC Cache的动态SLC Cache的理想状态下的写入曲线也是三段式。

动态SLC Cache的特殊情况是,全盘SLC Cache,也就是空盘时全部可用容量被划作SLC Cache,如果是MLC的话,就是全盘二分之一容量的SLC Cache,TLC是三分之一,QLC就是四分之一。

理想状态下全盘SLC Cache的写入曲线是两段式,在用完SLC Cache后陡崖式下降,位置靠后,下降幅度很大,最后的阶段要边写入边释放,速度会很低,实际情况下会非常不稳定,甚至会卡死。

虽然之前全盘SLC Cache是一种人人喊打的策略,因为它写入放大惊人地大、超大文件写入性能不稳定,而且早先使用这个策略的SSD都比较烂,固件也烂、主控也烂(代表主控就是“圾王”SM2258XT),深度性能测试下惨不忍睹,但是随着SSD的容量越来越大、速度越来越快,逐渐对寿命不是那么敏感,对SLC Cache的容量渴求,所以一些大品牌高端产品也上了这条“美商海盗船”(贼船)。

动态SLC Cache的写入放大计算方法(未进入最后的边写边释放的情况下):

使用非静态SLC Cache的量×闪存级数 总写入量=至少对闪存写入的数据量

(闪存级数:MLC=2、TLC=3、QLC=4……)

其实很多人对SLC Cache的需求并不大,静态的甚至是无缓的盘更合他们的口味,SLC Cache内的性能虽然好看,但是对性能和优化的要求也高,而且高写入放大是过不去的坎。所以一些人被迫去买了企业级,因为企业级的SSD更追求稳定性,SLC Cache明显不适合企业应用,企业的采购也不会被表面的高性能蒙蔽。

现在的闪存的直写速度虽然有所进步,但接口的提升速度远远快于闪存直写的提升速度(当年的SATA最高也就550MB/s,现在的PCIe5.0 X4直奔14GB/s),SSD为了好看的皮囊,不得不用SLC Cache来遮羞。

标签: SLC Cache 容量

抱歉,评论功能暂时关闭!