广告
缓存对于固态硬盘真的那么重要吗?
2021/2/23 16:29:14     浏览次数:1    来源:厂家供稿    责任编辑:林海瑞

伴随着固态硬盘的快速发展,存储市场上出现了很多高性价比的 SSD,这给我们提供了更多的选择;现阶段人们在购买固态硬盘时,除了考虑硬盘接口和容量外,硬盘缓存容量也逐渐成为一个参考因素;那么什么是硬盘缓存呢?到底它在固态硬盘中扮演什么角色?还是值得购买它作为参考因素吗?这个问题对于现阶段的许多玩家来说,下面我们就一一解答。

image.png

第一,明确什么是缓存?

缓存,字面上可以理解为延迟存储,是一种数据交换的缓冲区,简单地说就是为了平衡高速设备与低速设备之间的速度差异,它的主要功能是减少低速设备与高速设备之间的距离。由于各个产品的缓存容量有限,算法不能百分百准确命中,因此低速设备或多或少会拖累高速设备,缓存的作用只能是最大限度地减少这种现象。

image.png

对于传统的机械硬盘来说,缓存主要起着加速读取的作用;例如,一个数据刚被读取,而另一个数据又被读取到 DRAM缓存中,那么它就有机会被下一次读取,(直接从 DRAM缓存读取比从机械盘读取要快),这就是机械硬盘缓存的主要作用;理论上,越大的缓存对机械硬盘的读取性能越有利。

image.png

与之相比,固态硬盘的缓存方式则有些不同;通常,带缓存的固态硬盘速度要比不带缓存的快一些,但是对于固态硬盘来说,这一提升是有限制的。从反应速度来看, SSD的反应速度一般在0.2毫秒内,与缓存相比也不算慢,所以带缓存对读取速度的提升也不算大。

但是固态硬盘对于 DRAM缓存的实际需求并非缓存数据,而是存储 FTL闪存映射表,这是固态硬盘的关键:管理逻辑地址和闪存物理地址之间的映射关系。

SSD虽然读写速度比机械硬盘快很多,但是闪存不能像磁盘片一样直接覆盖写入,这意味着 SSD必须有一个逻辑地址和实际物理地址之间的转换表;当覆盖写入到3号位置时, SSD内实际执行的写入可能是 E位置,然后使原来对应的 C位置失效。

这个 FTL闪存映射表需要内存来存储和实时更新,不同的固态硬盘在处理这个转换表时使用不同的算法,所需的内存空间也会不同,空间优化后的转换表甚至可以直接放到主控系统集成的小容量存储器中,这是无外部缓存固态硬盘诞生的先决条件。

现在缓存的能力对固态硬盘来说已经变得非常重要了,为什么还有没有 SSD没有缓存呢?

实际上,对于存放 FTL闪存映射表来说, SSD有两种设计方案: DRAM (带 DRAM的)和DRAM-less (不带 DRAM的);带 DRAM的一般都会将缓冲数据和映射表统统存放在 DRAM中,优点是查找更新映射表快,性能好,缺点是 DRAM多,成本和功耗增加,目前主流的 SSD就是这种方案。

另外,DRAM-less在 SRAM片内放置一小部分映射表,在 Flash中放置另一部分映射表,这样做的好处是可以节省 DRAM的成本和功耗,但 Flash的读写速度比 DRAM慢得多,因此在速度上不如 DRAM方案,而且性能也相对较低,目前入门级 SSD都多采用这种方案。

除了这些,还有一些固态硬盘还通过另一种方式“拥有缓存”——群联的新技术叫“HMB内存缓冲技术”,简单地说,就是将本来应该存在硬盘上的缓存移除,转到内存中借用存储空间,实现数据缓冲!这可以在固态硬盘上减少缓存颗粒,从而降低成本,更适合消费者的价格。

SSD产品有没有缓存这类设计,往往是由厂商根据产品的定位和用途来决定,一般一些初级产品或低速产品,在设计时会考虑不带缓存方案,而有些高速产品由于数据交换量大,有缓存设计,可以提高产品的读写效率。

上面是关于固态硬盘缓存功能的详细说明,总的来说,是否购买带缓存功能的固态硬盘,还是需要根据自己的需求来决定,如果预算足够,想要更好的使用体验,带缓存功能的固态硬盘应该不会让你失望。

24小时热文