在挑选硬盘的时候,除了接口之外很多人关心的就是缓存容量。有朋友应该已经发现,怎么现在的硬盘都不显示缓存容量了?这里面会有奸商的阴谋诡计吗?大家一定会好奇,硬盘缓存的作用是什么呢?读完本文你将会有一个全新的认识!
最近几年购买的硬盘,不管是机械硬盘还是固态硬盘,在新版检测软件中都是查不到缓存容量的,下图为crystaldiskinfo检测2tb机械硬盘,hdtune中干脆将它的缓存标注为n/a(不存在)。这是ata标准的一个局限,当时规划时只预留到32mb的代码,而现在硬盘的容量全都超过了32mb,无法正确识别。
固态机械大不相同!解读硬盘缓存的作用! 图2
机械硬盘的缓存:运气爆发可以提升读取
通常来说,机械硬盘的读取和写入速度基本一样。但如果在atto测验中运用较小的测验区块(64k),你会发现读取的速度显著比写入更快,甚至会发生读取400mb/s以上现象:正常是不可能有这么快的。
固态机械大不相同!解读硬盘缓存的作用! 图3
在机械硬盘中,缓存主要发挥了加速读取的作用。如果一个数据刚刚被读取过,将临近它位置的数据保留在dram缓存中,就有机会被下一次读取命中——直接从dram缓存读出的速度远比从机械盘片读取快的多。
固态机械大不相同!解读硬盘缓存的作用! 图4
缓存命中意味着性能大幅提升,这就是机械硬盘缓存的主要作用。理论上大缓存的确有助于提升机械硬盘的读取性能,但是提升幅度是非常有限的:它对于最重要的随机读取速度没有帮助。
固态机械大不相同!解读硬盘缓存的作用! 图5
大缓存不一定意味着高性能,当前很多采用128m以上大缓存规划的机械硬盘采用了smr叠瓦磁记录技术,增大缓存容量是为了降低smr带来的性能衰减幅度。
固态硬盘的缓存:照顾写入只是兼职
而固态硬盘就有很大的不一样了,首先闪存的读取比写入更快,这是mlc、tlc闪存天生决定的,压根不需要专门为读取做缓存。在atto测验结果中代表读取速度的灰色条总会比代表写入的红色条更长一些:
固态机械大不相同!解读硬盘缓存的作用! 图6
不过如果将测验区块调小到64kb,你可能会发现不一样的结果:红条长度首次超过了灰条,小于4kb的区块写入速度比读取速度还要快!
固态机械大不相同!解读硬盘缓存的作用! 图7
出现这种现象也很简单:固态硬盘对小于4kb的区块进行了缓存,将他们凑满4kb或16kb(1个page页的大小)之后再合并写入,造成写入比读取更快的结果。闪存的最小写入单位是page,固态硬盘通常运用4k作为页的逻辑大小,而闪存页的实际大小往往是16kb,只有512字节或1kb、2kb还不够一次写入的最小单位,所以将他们缓存起来合并写入是最明智的。
做小于4kb数据的缓存合并只需要很小的空间,固态硬盘对于dram缓存的需要并不是缓存数据,而是储存对固态硬盘至关重要的ftl闪存映射表:管理逻辑地址与闪存物理地址的映射关系。
固态机械大不相同!解读硬盘缓存的作用! 图8
随着技术的发展,dram缓存早已不是固态硬盘的必备组件。透过最新nvme协议,固态硬盘可以调用主机内存的一小部分专用空间储存ftl映射表,实现精简增效。
固态机械大不相同!解读硬盘缓存的作用! 图9
在toshiba推出的单芯片融合nvme固态硬盘中,主控与闪存被封装为一体,而dram缓存则被nvme协议的hmb功能所取代,缓存容量最终成为了历史。
固态机械大不相同!解读硬盘缓存的作用! 图10
通过对文章的阅读现在大家都硬盘缓存的作用了吧,希望可以帮助到大家!
收藏