您的下一个 SSD 可能会更慢(感谢 QLC 闪存)

事物的发展并不总是朝着更好的方向前进。 近期,固态硬盘(SSD)制造商为了在有限的体积内塞入更多的存储空间,开始在速度和可靠性之间做出权衡。 虽然NVMe和PCIe等协议正在不断提速,但部分固态硬盘的性能却出现了倒退的现象。

问题根源:QLC 闪存

问题的关键在于成本。 固态硬盘的制造成本相对较高,很少有消费者愿意花费200美元购买512GB的固态硬盘,因为他们可以用不到50美元的价格购买“2000GB”的机械硬盘。 制造商为了促进更大容量产品的销售,不得不寻找降低成本的方法。

固态硬盘制造商在降低成本的同时增加存储容量,但这往往会牺牲性能和耐用性。 虽然大容量固态硬盘变得越来越便宜,但固态硬盘技术的每一次进步都需要做出权衡。目前,我们正目睹四层单元(QLC)固态硬盘的兴起,这种技术允许每个存储单元存储4位信息。 QLC尚未完全取代标准的固态硬盘,但一些采用该技术的驱动器已进入市场,并暴露出一些问题。

具体而言,固态硬盘制造商必须找到一种方法,在相同大小的NAND闪存芯片(固态硬盘实际存储数据的部分)中塞入更多空间。 传统上,这种方法是通过缩小制程节点来实现的,使闪存内的晶体管变得更小。 但随着摩尔定律的放缓,制造商不得不变得更具创造力。

巧妙的解决方案是多层NAND闪存。NAND闪存可以在一个单元中长时间存储特定的电压水平。传统的NAND闪存存储两个级别——开和关。 这被称为SLC闪存,速度非常快。但由于NAND本质上存储的是模拟电压,因此可以使用略微不同的电压水平来表示多个位,如下所示:

如上图所示,问题在于其复杂度呈指数级增长。SLC闪存只需要有电压或没有电压两种状态。 MLC闪存需要四个电压水平。TLC需要八个。 而去年进入市场的QLC闪存则需要16个不同的电压等级。

这会导致许多问题。随着电压水平的增加,区分这些位变得越来越困难。这使得QLC闪存比TLC闪存密度高25%,但速度明显较慢。读取速度并没有受到太大的影响,但写入速度会下降。大多数固态硬盘(使用较新的NVMe协议)在持续读写(即加载或复制大文件)时的速度约为1500MB/s。但QLC闪存的持续写入速度只有80-160MB/s,这甚至比一些性能不错的机械硬盘还要慢。

QLC 固态硬盘的故障率更高

与机械硬盘相比,所有固态硬盘的写入耐久性通常较差。每次向固态硬盘中的单元写入数据时,它都会慢慢磨损。擦除单元应该会消除其中的电子,但总会有一些残留,导致“0”单元随着时间的推移越来越接近“1”。随着时间的推移,控制器会通过施加校正电压来弥补这一点,当有足够的电压空间时,这不成问题。但QLC闪存却不具备这样的优势。

SLC闪存的平均写入耐久性为100,000次编程/擦除周期(写入操作)。MLC闪存的写入周期在35,000到10,000次之间。TLC闪存的写入周期约为5,000次。而QLC闪存仅有1,000次。这使得QLC闪存不适合频繁访问的驱动器,例如启动盘,这些驱动器的写入频率非常高。

总结来说,不要购买QLC驱动器作为操作系统驱动器。它们的可靠性太差,不能保证它们不会在几年内退化。我们建议使用大容量的QLC驱动器作为机械硬盘的替代品,并使用快速的SLC、MLC或TLC驱动器作为您的主要操作系统驱动器。对于笔记本电脑来说,这可能是一个问题,因为你没有太多选择,但QLC仍然是一项新技术,尚未大规模应用于笔记本电脑。

高效的缓存隐藏了这些问题

此时,你可能会问,为什么QLC在客观上比其他闪存类型慢并且故障率更高的情况下仍然存在?你显然不能推销降级的产品,但固态硬盘制造商已经找到了隐藏这些问题的方法——缓存。

QLC固态硬盘将驱动器的一部分用作缓存。该缓存忽略了它应该是QLC的事实,而是像SLC闪存一样运行。缓存的大小通常比它所占用的实际驱动器空间小75%,但速度要快得多。

缓存中的数据可以以与其他高端固态硬盘相同的速度写入,然后由控制器缓慢刷新并归类到QLC单元中。但是,当缓存已满时,控制器必须直接写入速度较慢的QLC单元,这将导致长时间写入时的性能显著下降。

以下是Tom’s Hardware对Crucial P1 500GB(一款消费级QLC固态硬盘)的基准测试,该测试清楚地展示了这个问题:

代表Crucial P1的红线以稳定的NVMe速度运行,尽管与一些高端产品相比稍慢。但是,在写入约75GB的数据后,缓存已满,可以看到QLC闪存的真实速度。这条线直线下降到大约80MB/s,比大多数机械硬盘的持续写入速度还要慢。

TLC驱动器ADATA XPG SX8200也显示出相同的特性,但下降后的原始TLC闪存仍然更快。大多数其他驱动器也采用这种缓存方法,因为它可以加快对驱动器的快速、小型写入速度(这是最常见的)。但是,持续写入才是你最容易注意到的问题。你不会注意到一个小型文件复制需要0.15秒而不是0.21秒,但是如果一个大型文件需要额外的10分钟,你肯定会注意到。

你很容易将其视为边缘情况,但缓存不会永远保持在75GB。当你填满驱动器时,缓存会变小。根据Anandtech的测试,对于英特尔SSD 660p系列,当驱动器几乎已满时,512GB型号的缓存会减少到只有6GB,即使剩余128GB空间也是如此。

这意味着如果你装满了固态硬盘,然后尝试从Steam安装20-30GB的游戏,前6GB会以非常快的速度写入驱动器,然后你将开始看到剩余文件的写入速度下降到80MB/s左右。

当然,在这个例子中,你可能会受到下载速度的限制,但在更新的情况下(需要下载然后替换现有文件,实际上需要两倍的空间),问题会更加明显。你将完成下载,然后不得不永远等待它的安装。

那么你是否应该避免购买QLC?

你绝对应该避免购买512GB的QLC驱动器(以及更少容量的驱动器,一旦生产变得更便宜),因为它们没有什么意义。你会更快地填满它们,并且当缓存已满时,它们会变得更小,从而导致速度显著下降。此外,它们目前并不比替代品便宜多少。

尽管存在缺点,但当你查看更大容量的驱动器时,QLC闪存并不算什么大问题。660p的2TB型号在填满时至少有24GB的缓存。它仍然是QLC闪存,但对于一个大多数时间运行速度非常快且价格合理的2TB固态硬盘来说,这是一个可以接受的折衷方案。

鉴于其巨大的容量,基于QLC的固态硬盘可以作为机械硬盘的不错替代品,前提是你定期备份以防万一。它最适合你访问频率不高但希望访问时速度非常快的数据,并且在使用了合适大小的SLC缓存之后,大多数持续写入操作将会相当快,直到你填满驱动器为止。

由于可靠性问题,你应该避免将其用作启动盘或用于任何需要频繁写入的情况。

在制造的其他方面仍然有很多进步的空间——更好的控制器能够处理更多的闪存芯片,随着制程节点的成熟而变得更便宜的闪存芯片,也许还有其他新技术。QLC闪存不会很快成为标准;目前,它只是另一种选择。你只需在购买固态硬盘时,检查技术规格并注意用于制造它们的闪存类型即可。