固态硬盘的独立缓存是什么 硬盘缓存有什么用

在挑选硬盘的时候,除了容量、接口之外,很多人也会关心缓存容量。缓存作为硬盘比较重要的一项参数,对齐性能有一定的影响,今天芝麻科技网就来聊聊机械硬盘和固态硬盘缓存的作用,对硬盘缓存的作用不太了解的小伙伴,不妨了解下。

固态硬盘的独立缓存是什么 硬盘缓存有什么用(1)

机械硬盘的缓存:爆发时可以明显提速

通常来说,机械硬盘的读取和写入速度基本一样。但如果在ATTO测试中使用较小的测试区块(64K),你会发现读取的速度明显比写入更快,甚至会发生读取400MB/s以上现象:正常是不可能有这么快的。

固态硬盘的独立缓存是什么 硬盘缓存有什么用(2)

在机械硬盘中,缓存主要发挥了加速读取的作用。如果一个数据刚刚被读取过,将临近它位置的数据保留在DRAM缓存中,就有机会被下一次读取命中——直接从DRAM缓存读出的速度远比从机械盘片读取快的多。

缓存命中意味着性能大幅提升,这就是机械硬盘缓存的主要作用。理论上大缓存的确有助于提升机械硬盘的读取性能,但是提升幅度是非常有限的:它对于最重要的随机读取速度没有帮助。

固态硬盘的独立缓存是什么 硬盘缓存有什么用(3)

机械硬盘内部结构

固态硬盘的独立缓存是什么 硬盘缓存有什么用(4)

图为M.2固态硬盘结构

大缓存不一定意味着高性能,当前很多采用128M以上大缓存设计的机械硬盘采用了SMR叠瓦磁记录技术,增大缓存容量是为了降低SMR带来的性能衰减幅度。

固态硬盘的缓存:照顾写入只是兼职

而固态硬盘就有很大的不同了,首先闪存的读取比写入更快,这是MLC、TLC闪存天生决定的,压根不需要专门为读取做缓存。在ATTO测试结果中代表读取速度的灰色条总会比代表写入的红色条更长一些:

固态硬盘的独立缓存是什么 硬盘缓存有什么用(5)

不过如果将测试区块调小到64KB,你可能会发现不一样的结果:红条长度首次超过了灰条,小于4KB的区块写入速度比读取速度还要快

固态硬盘的独立缓存是什么 硬盘缓存有什么用(6)

出现这种现象,原理也很简单:固态硬盘对小于4KB的区块进行了缓存,将他们凑满4KB或16KB(1个Page页的大小)之后再合并写入,造成写入比读取更快的结果。闪存的最小写入单位是Page,固态硬盘通常使用4K作为页的逻辑大小,而闪存页的实际大小往往是16KB,只有512字节或1KB、2KB还不够一次写入的最小单位,所以将他们缓存起来合并写入是最明智的。

对小于4KB数据的缓存合并只需要很小的空间,固态硬盘对于DRAM缓存的需求并不是缓存数据,而是存储对固态硬盘至关重要的FTL闪存映射表:管理逻辑地址与闪存物理地址的映射关系

固态硬盘的独立缓存是什么 硬盘缓存有什么用(7)

随着技术的发展,DRAM缓存早已不是固态硬盘的必备组件。透过最新NVMe协议,固态硬盘可以调用主机内存的一小部分专用空间存储FTL映射表,实现精简增效。

固态硬盘的独立缓存是什么 硬盘缓存有什么用(8)

在一些单芯片融合NVMe协议固态硬盘中,主控与闪存被封装为一体,而DRAM缓存则被NVMe协议的HMB功能所取代,缓存容量最终成为了历史

固态硬盘的独立缓存是什么 硬盘缓存有什么用(9)

简单来说,机械硬盘(HDD)和固态硬盘(SSD)缓存对硬盘本身的作用大为不相同。

最后值得一提的是,近年来不管是机械硬盘还是固态硬盘,在新版检测软件中都是查不到缓存容量参数选项。比如CrystalDiskInfo检测2TB机械硬盘,HDTune中干脆将它的缓存标注为n/a(不存在)。其实,这是ATA标准的一个局限,当时设计时只预留到32MB的代码,而现在硬盘的容量全都超过了32MB,因无法识别而不显示。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页