评测里面提到 QLC 基本上都是骂的
其实通常人们在他们后面加上颗粒是不太严谨的,因为它们从物理上都是由无数相同的浮栅晶体管组成的 NAND 闪存颗粒。无论是 SLC 还是 MLC 还是后面几个,它们用的储存单元都是一样一样的浮栅晶体管,而区别在于每个浮栅晶体管组成的储存单元,它的状态数量(其它科普常用层数来表示)不一样。
再上一章,我们已经用 TLC 来演示现代固态硬盘 NAND 闪存颗粒的原理,通过给储存单元阈值电压,检测电路是否导通来读取储存单元里面的数据。其它的几个类型也是类似:
- SLC = Single Level Cell,指的是通过一个阈值电压区分 0, 1 两种状态的储存单元,这样一个储存单元就能储存 1bit 的数据。
- MLC = Multi Level Cell,指的是通过三阈值电压区分 00, 10, 01, 11 四种状态的储存单元,这样一个储存单元就能储存 2bit 的数据。
- TLC = Triple Level Cell,指的是通过七个阈值电压区分 000, 001, 010, 011, 100, 101, 110, 111 八种状态的储存单元,这样一个储存单元就能储存 3bit 的数据。
- QLC = Quadruple Level Cell,指的是通过十五个阈值电压区分 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 十六个状态的储存单元,这样一个储存单元就能储存 4bit 的数据。

上一章也有的 TLC 检测数据过程动图
现在连 PLC 都快出来了,按照上面的原理一个储存单元就能储存 5bit 的数据。
这样做的好处自然显而易见,同样面积的储存单元,QLC 比起 SLC 能够存放 4 倍的数据,也就是说闪存颗粒的密度提升了 4 倍,这已经是很惊人的差距了,同一块闪存颗粒如果全做 QLC 可以有 1000GB 容量,那么 TLC 只有 750G, MLC 只有 500G,SLC 更是只有 256G 了。
而且由于数据密度提高,相同容量的 TLC 固态价格也和数据密度一样是 SLC 的 1/4 左右,也就是说便宜同时还变大碗。这听起来好像很美好,那么为什么大家都那么抵制使用 TLC /QLC 储存单元的固态硬盘呢?
多层储存单元的缺陷首先就是一个储存单元上,分的阈值电压越多读取的时候就要越多次,比如 TLC 读取一次一页的数据就要轮流给 7 个阈值电压,每给一次阈值电压都要一个个检测储存单元是否导通,而 SLC 只要一个阈值电压检测一次,每多一个需要检测的阈值电压,读取速度就会慢很多倍。
多个阈值电压也会带来读取困难后果,上一章我们也讲到不能无限细分预置电压去无限提高容量密度。即使只做到 TLC 的级别也会带来阈值电压区间过小的问题,因为我们往储存单元写入数据的时候,并不能精确控制电子量,如果阈值电压过小电子量又刚好卡在中间,那么数据到底是 010 还是隔壁的 011呢?这个时候就需要 ECC 纠错算法的加入,通过校验数据纠正这个储存单元上的信息然后重新写入正确的数据,这一步又大大减慢了读取速度。
- 写入的时候也是这样,阈值电压越多,储存单元储存数据需要的电子量要求就越精准,自然就越容易出错。出错的时候又要 ECC 纠错算法来校验重新写入正确数据,写入速度也被拉慢了。
- 阈值电压变的设置对储存单元的寿命也有影响,先不说上面提到反复写入影响到的寿命,我们知道每一次写入都会对包括浮栅的绝缘层造成物理损伤,而闪存颗粒又是每一次写入数据都需要先擦除对应块再写入数据,这样时间长了浮栅里面保存的电子就会越来越容易穿过漏洞逐渐增多的绝缘层「越狱」跑掉。
对于 SLC 而言,0,1 两个状态相差的电子量很多,即时跑掉一点也不影响读取;不过当到 QLC 这种,每个状态之间电子量差很小,只需要有一点点电子从浮栅中跑出来,就会让这个储存单元读取的数据变成另一个状态。而当写入后短时间内电子跑掉的量大于两个数据状态之间的差,主控就会认定这个储存单元已经挂掉了。清楚了原理之后,我们很容易就能发现比起 SLC,MLC/TLC/QLC 等等越多层的储存单元挂掉需要的时间越来越短。

SLC 对比其它类型储存单元检测数据时间,写入时间,擦除时间和平均寿命对比
- 多层储存单元还会带来其它问题,比如数据可靠性不足,对保存环境要求更高等等。
从 MLC 到 QLC,容量密度越来越高,价格越来越便宜的同时,以上提到的缺点也会越来越严重。简单总结就是,在对比之下 SLC 读写速度最快,数据保存最稳定可靠,寿命最长,对比之下我们才知道 SLC 除了数据密度低和贵,真的是哪哪都好。这也不怪大众批评厂商用 TLC/MLC 是「偷工减料」了。
正确看待多层储存单元看完上面的部分,很多人可能就觉得哎呀,我一定要花很多钱去上 SLC/MLC 固态硬盘,不然总感觉用不了多久也不可靠。
但其实没有必要,我觉得只要在商品详情和包装盒上标明储存单元类型(虽然基本没有厂商这么干),然后容量价格比的确够低,那么大家还是值得根据自己的需求去购买的(虽然现在市面上基本没有全盘 SLC 的民用产品了,很快估计连全盘 MLC 的产品厂家都不会再生产了)。

标明储存单元类型的固态硬盘
现在厂商都会使用 DRAM 或者将固态硬盘的一部分空间模拟成 SLC 来加当做缓存来解决 TLC/QLC 的速度问题,而且即使是 QLC,只要容量足够大并且有一个好的主控,那么我们日常使用每个储存单元的擦写数据可以控制得很低,只要你不是每天 24 小时不停在写入,基本上也有十几年的寿命(详细的参数在下面会介绍)。所以最后还是要看个人的需求,如果的确对数据可靠性和速度有很高要求,并且价格不敏感,那的确不要考虑 QLC 甚至是 TLC,感觉大部分时候都可以,具体的我会在选购那章详细介绍。
说实话基本很少见硬盘颗粒坏掉的,一般都是主控先坏,不然也不会有那么多厂家回收固态颗粒再当做新的卖了。
