固态硬盘缓存和不缓存的有什么区别

题图来自Unsplash,基于CC0协议
导读
固态硬盘,尤其是入门级和消费级产品,有时会提到“带缓存”或“不带缓存”这一属性,这指的是其内部是否配备了一块易失性内存芯片,通常是容量不大的DRAM(同步动态随机存取存储器),或者有时是容量较大的但操作系统可能不直接完全利用的普通内存。
这块缓存芯片,尤其是DRAM缓存,扮演着非常重要的角色。它本质上是一块位于硬盘内部、速度极快的高速缓存区域。其核心思想在于,它可以用作一个临时的数据暂存区。当你向硬盘写入数据时,数据首先被快速写入到这块高速缓存里,然后由后台任务再将这些数据从缓存中稳定地写入到较慢的NAND闪存单元中。同样,在读取数据时,如果CPU或操作系统正在访问的区域是热数据(即很可能会再次访问的数据),这些数据会被先加载到缓存中,之后的请求可以直接从速度更快的缓存中读取,从而提升速度。这使得SSD能够更有效地处理突发性的读写请求,掩盖一部分NAND闪存访问延迟,并可以一定程度上保护主机免受SSD后台压缩或垃圾回收操作带来的速度波动影响,尤其是在持续写入接近容量极限时。
那么,带缓存的SSD和不带缓存(通常指没有专用高速DRAM缓存,一些厂商可能使用成本较低的特定用途内存作为缓存,或者主要依赖操作系统级别的缓存)SSD在性能上会如何体现差异?
一般来说,配备足够大且性能优异的DRAM缓存,并且驱动程序和固件很好地利用了这块缓存的SSD,在高负载下的持续写入性能和随机性能会更有保证,尤其是在接近满容量时,表现会略好于没有专用高速缓存的型号。有经验的评测会发现,在低负载时期,两者性能差异可能不大,但一旦进入高负载状态,带好缓存的SSD往往能保持相对更稳定的性能水平。带好缓存的SSD确实在很多工作负载下都有持续的优势,尤其是在日常使用、游戏加载、大型文件复制粘贴或数据库操作中,读取出色,写入也很稳定。当然,并不是所有带缓存的SSD都优于所有不带的,缓存设计的好坏对整体性能影响巨大,但总体趋势来看,在同等价格下,不带独立高速缓存的SSD其最佳性能上限和整个IOPS范围内的性能水准上限会受限。
对于缓存本身的直接作用,不言而喻,它通过“全程队的数据传输”缓解了固态硬盘读写延迟和性能瓶颈。当有高速缓存存在时,数据不必每次都经过固件处理再写入速度相对较慢的NAND,从而形成了一种“预先加载”的效应,让SSD运行起来更加流畅,提升了各种情况下的访问速度。
我们再来看一看没有独立缓存方案的选择所带来的利弊。无缓存的SSD,其最显著的优点是降低了整体制造成本,使厂商能够在同等价格下提供更大容量的选择。这类SSD的组成深度上通常更加匀称。而且从另一方面来看,实行了几何级数的使用寿命。
然而,没有了DRAM高速缓存,SSD的最大读写速度和整体性能表现通常会被牢牢地限制住。这是因为它们完全要依赖于内部控制器处理NAND的速度,以及处理器的核心速度。没有了缓存来提前预处理堆叠的写入请求或临时缓冲数据,其在面对复杂工作负载时,尤其是在长时间持续写入或大量小文件整理复制时,性能差异可能会变得相当明显,比不上带缓存的SSD。有些品牌的预装驱动程序对于低延迟的追求也很高。
除了性能,缓存的存在可能会对SSD的寿命产生间接影响。带DRAM缓存的SSD,其后台压缩操作通常会把重复的数据写入缓存区进行合并处理,然后写回NAND,这种机制本身不会缩短SSD寿命,因为它本身的写入扣除机制已经对耐久性做出了设计考量。但是,高效能的缓存可以帮助提高垃圾回收效率,减少直接面向NAND的写放大操作,从而可能对延长整个SSD的使用寿命有积极作用,尤其是在系统使用初期和高速缓存容量较大、利用得当时。
在数据原本使用非常小了的场景下会否死入NAND空间。简而言之,闪存的寿命是以写入NAND单元的总次数,当下的寿命迅速赶超这些问题。所以对于那些主要用于办公、浏览、播放视频、运行各种程序的用户而言,只要不涉及到像程序员或UPS等要求极限性能与速度的应用,不注意容量载入选项,数年也足以从容使用。
总而言之,固态硬盘的有缓存与无缓存方案代表了不同的设计理念。选择时主要需结合自己的预算、容量需求、性能要求以及主要使用场景来综合考量,没有绝对的好坏,只有是否符合实际使用需求。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com