自从三星在消费级 SSD 产品线主力 980 中采用无缓方案,从 PCIe3.0 到 PCIe4.0,无缓的产品开始越来越多,但普通消费对它们抵触还是很大。无缓究竟是无良缩水还是可以接受的小便宜呢?
DRAM ——固态硬盘的 " 缓存 "
在一般的网络讨论中,有 DRAM 的 SSD 一般称为 " 有缓方案 / 产品 ",而有些则没有,被厂商称为 DRAM-less,用户一般称为无缓。
固态硬盘将数据存储在一些被称为 NAND 闪存颗粒的内存单元上。在固态硬盘的使用期限内,数据会在这些单元中大量移动。在主控的控制下,它自动这样做,以确保没有任何一个存储单元因过度重复读 / 写而被超负荷磨损,提前达到颗粒使用寿命,这也是现在一般不建议高速固态硬盘分区的原因,因为分区可能导致(主要是老旧产品,目前主流的主控已经可以规避)数据只在某几颗颗粒中频繁读写。
因此,你的固态硬盘在使用时需要保持一个数据在硬盘上的位置图。这样,当你想启动一个程序,运行一个游戏或打开一个文件时,你的 SSD 就知道在哪里可以找到它并自动调取出来。该 " 地图 " 存储在 SSD 的 DRAM 上,即动态随机存取存储器中。
一个有 DRAM 缓存的 SSD
对于无 DRAM 的固态硬盘,很多人认为,没有 DRAM 意味着没有硬盘的 " 地图 "。然而,无 DRAM 的硬盘其实有一个硬盘的地图;它只是放在你的设备的 NAND 闪存颗粒中。NAND 颗粒的读写速度,当然没有 DRAM 内存的读写速度快,因此 " 调用地图 " 的过程,比起有缓存的产品,自然会慢。
DRAM≠SLC CACHE
当然,提到固态硬盘缓存大家还会知道一个 SLC CACHE,也有很多人把 DRAM 缓存和 SLC CACHE 混为一谈。
而 SLC Cache 一般都是在 TLC 或者 QLC 闪存颗粒中,划分出一定的空间用来作为模拟 SLC 空间。这两者之间在物理上的就有本质的区别了,在 DRAM 缓存中的数据一断电就会消失,而在 SLC Cache 中的数据,如果没有擦除掉,是可以永久保存的。
SLC CACHE 颗粒空间占用巨大
理论上 SLC CACHE 是越大越好,但是在实际应用中,如果 SLC Cache 越大,占用的空间将会越多。一个 TCL 颗粒的 240GB SSD,如果固件规划了 SLC Cache 空间大小为 5GB,那么就需要占用 20GB 的 TLC 颗粒空间。这时你拷入一个 10G 的文件,那么在 5G 数据传输后就会掉速,直到 SLC Cache 中的数据写入正常的 TLC 中,才会恢复 SLC 的读写速度。如果提供 50G SLC Cache 空间,那么需要占用 200GB 的 TLC 空间,如果硬盘的写入达到 100GB 了,那么 50G 的 SLC Cache 就失效了,之后就只能一直用 TLC 的读写。这就是所谓的 " 出缓掉速 "。
SLC CACHE 的出缓掉速影响比 DRAM 的出缓掉速大得多,因为 DRAM 缓存一般存储 " 数据地图 " 为主,大小 1~4GB(1GB 的最多),而 SLC CACHE 往往还把数据本身写入这个缓冲区。
采用 SLC CACHE 方案的 SSD
还有一种使用全盘动态 SLC 仿真的 SSD,全盘模拟 SLC Cache 可以让硬盘不管什么容量的时候都可以使用 SLC 加速。而缺点就是 SSD 在一次性跑满剩余空间的一半容量就会开始掉回 TLC 的速度,必须要等一定的空闲时间才能恢复,所以盘的剩余空间越小就越容易出现掉速的问题。但全盘模拟 SLC CACHE 的写入放大会大大加剧 SSD 寿命衰减。
带 DRAM 的固态硬盘的优势
带有 DRAM 芯片的固态硬盘比没有 DRAM 的固态硬盘拥有更好的性能。对于内置独立缓存的 SSD 来说,独立缓存可以提高输入 / 输出(I/O)性能和耐用性。临时保存已从闪存读取的数据、要写入闪存的数据或地址映射表的 DRAM 要比 NAND 闪存快得多。你的电脑不需要在固态硬盘上寻找相关数据,而是可以直接进入高速 DRAM 找到读写地址表。因此,你的电脑不需要等待很长时间,SSD 就可以检索或写入到它需要的数据。这将为用户带来更快的体验。
与此相反,一些厂商为了降低功耗、制造成本和外形尺寸,取消了 SSD 上的独立缓存,但导致了产品 I/O 性能不可避免的下降,尤其是随机 4K 读写性能的下降(频繁从相对低速 NAND 颗粒读取数据地图),因为无 DRAM 的 SSD 将数据地图直接存储到 NAND 闪存中。正如我们前面提到的,NAND 内存比 DRAM 慢。不幸的是,这导致了较慢的整体性能。
此外,将地图直接存储到 NAND 闪存意味着对内存单元的磨损更大,因此数据地图的读写远比数据本身读写的频次高。这可能会大大降低 SSD 的寿命。这就是为什么无 DRAM 的 SSD 比有 DRAM 的 SSD 有更短的保修期的原因。
目前市面热门 PCIe4.0 SSD 代表性产品中,这些是有 DRAM 方案:三星 980PRO(1GB)、西数 SN850 ( 1GB ) 、铠侠 SE10(1GB)、惠普 FX900PRO(1GB)、雷克沙 NM800(1GB)、浦科特 M10PGN(1GB)、京东京造 9 系(1GB)、英睿达 P5 PLUS(1GB)、宏碁掠夺者 GM7000(1GB)、致态度 TiPRO7000(1GB)。
无 DRAM 的固态硬盘的优势
什么?无 DRAM 还有优势?虽然无 DRAM 的固态硬盘有一些缺点,但仍然有一些优点。
首先,无 DRAM 的 SSD 几乎总是比有 DRAM 的 SSD 便宜。其次,虽然无 DRAM 的 SSD 比有 DRAM 的 SSD 慢,但无 DRAM 的 SSD 仍然比传统的机械硬盘快很多,就读写曲线表现来说,采用最新主控方案的无 DRAM 方案产品实际上比早期 MLC 和 TLC 时代采用固定 SLC CACHE 方案产品的读写曲线更为顺滑。而且现在仍然有很多采用 SLC CACHE 方案的无缓 SSD 可以选择。
因此,如果你从机械硬盘升级到固态硬盘,即使你选择了无 DRAM 的固态硬盘,你也会看到速度的大幅提升。如果你的预算紧张,无 DRAM 的固态硬盘还是可以考虑的。
而且,市面上有不少名牌且性能口碑很高的产品,甚至是旗舰和准旗舰产品,它们也是 DRAM-less。它们的如何无 DRAM 维持了高性能的?接着往下看。
折衷:HMB+ 智能 SLC CACHE 拯救无缓盘 " 低端 " 印象
而一些较新的 DRAM-less 固态硬盘,就利用起了 NVMe1.2 以后的新技术特性—— HMB ( Host Memory Buffer ) ,即主机内存缓冲来降低这个问题的影响。
由于 NVMe 接口在主机和 SSD 主控之间提供了非常快的传输速度,因此 SSD 主控可以访问主机内存而不会造成性能损失。此外,由于主机内存可以从主机的操作系统以及 SSD 主控访问,如果有效使用,可以获得更多好处。
简单来说,HMB 缓存技术就是使用主机内存(甚至是 CPU 缓存)的部分高速存储空间来提升 SSD 的 I/O 性能,并且由于它的设计不是为了替换 SSD 内置的独立缓存,而是作为补充,因此它不会从主机中消耗大量的内存,只需几十 MB 便能够满足用户需求,如三星的 980 固态硬盘,可以利用你的 CPU 的 DRAM 多达 64MB 来跟踪映射,而不是在固态硬盘层面使用 DRAM。
另外,传统的 SLC CACHE 发展到现在也开始智能化了,能够根据写入数据的大小、零碎程度,自动灵活划分出 SLC CACHE 空间,并在完成读写后,重新划分空间,在不浪费空间的情况下,提供尽可能高的缓存稳定性。例如三星的智能 TurboWrite 2.0 功能,将最大分配的缓冲区增加到 160GB(只要空间允许)之多。
当然,现在新的 SSD 产品,还有采用 HMB+SLC CACHE 方案的(如三星 980),这种情况下,其读写性能和有缓方案的差距就更小了。而前面列表里,无 DRAM 产品中出现了很多准旗舰和旗舰级口碑产品,原因就在于此,由于采用了这种混合无 DRAM 技术,因此其性能并不比有 DRAM 方案低。
总结
考虑到更好的性能和更长的寿命,小狮子建议大多数人选择带有 DRAM 的 SSD。尽管如此,无 DRAM 的驱动器可能是你更好的选择,只要你知道其固有的缺点不影响你的应用场景,那么它的性价比更高。甚至某些旗舰级无 DRAM 产品性能不亚于有 DRAM 产品。
原文地址:http://www.myzaker.com/article/62d814738e9f092953234baf