四两拨千斤——16MB与32MB磁盘缓存性能对比研究

硬件时空

对于大多数普通用户来说,购买硬盘的时候,由于现在主流硬盘转速全都为7200rpm,所以最关注的地方就是硬盘的容量了。不过,我们知道,影响硬盘性能的因素除了转速、单碟容量外,还有硬盘所配备的缓存容量。那么区区几十MB的缓存是如何影响TB容量级硬盘性能的呢?大缓存硬盘在哪些应用环境下有更大的优势?我们用实际的测试来验证一下。

解读:硬盘的缓存

我们知道,硬盘内部的传输速度与外部传输速度有很大的差距,所以为了对硬盘内部到外部的数据进行缓冲,我们需要一块特定的存储空间作为缓冲区,在硬盘上,这块缓冲区通常由一块高速的内存芯片担任。

缓存在读数据时的作用

在硬盘读取数据的时候,磁头会把当前簇后面的几个簇预先读进缓存中,这样当需要读后面的簇时,就可以直接在速度远快于硬盘磁头的缓存中去读取,借以提升读取速度。

缓存在写数据时的作用

硬盘在写数据的时候,会先将数据写到高速缓存中去,此时返回一个数据已经写入的信号,系统就先去完成其它读写任务,等到空闲的时候再将缓存中需要写入的数据写到盘片上。这样做的好处是灵活地安排读写任务,提高工作效率。

缓存对于频繁访问数据的作用

硬盘会将最近频繁访问的数据放置在缓存中,这样在下次访问的时候就可以直接从缓存中进行操作,大大提升了速度。当然,决定缓存中数据命中率的算法也是非常重要的,这取决于硬盘控制芯片以及固件设计,只有配合合适的算法,大容量的缓存才会发挥出强大的性能。

如何查看硬盘的缓存容量?

本来我们可以通过直接观察硬盘背面电路板上的缓存颗粒来进行辨别,但是现在的硬盘都已经将缓存颗粒以及控制IC做到了电路板的背面,如果不把电路板拆下来,是看不到的。但对于普通用户来说,在购买硬盘的时候,商家是不会允许你去拆硬盘的……所以我们主要介绍用软件来查看硬盘的缓存大小。

30-d6-1.jpg
日立硬盘所采用的32MB缓存颗粒
30-d6-2.jpg
在Everest中查看硬盘的缓存容量

可以用来查看硬盘缓存大小的软件很多,这里我们以Everest为例。安装好硬盘,在操作系统中运行Everest,然后依次选择“存储器”、“Windows存储”,再选定你所要查看的硬盘,就可以看到硬盘的详细参数,包括缓存大小。

对比测试说明

产品的选择

目前流行的大容量硬盘,大都配备了很高容量的缓存,例如16MB甚至32MB,因此我们本次测试就选择了具备16MB缓存和32MB缓存的硬盘来进行对比。

采用16MB缓存的是三星HD322HJ/CNG,总容量320GB,7200rpm。

采用32MB缓存的是三星HD103UJ/CNG,总容量1TB,7200rpm。

由于1TB容量的产品很难找到采用16MB缓存的型号,而320GB的产品也没有32MB缓存的型号,所以我们暂且选择两款容量不同的产品进行比较,另外值得指出的是,16MB缓存的HD322HJ/CNG单碟容量为320GB,32MB缓存的HD103UJ/CNG单碟容量为334GB,所以从存储密度上来看,HD103UJ/CNG会有一些优势,这对性能也有一定影响。不过,考虑到大缓存主要对于大量小文件的读写速度、随机数据的读写速度有很大提升,我们依然可以从这些方面来进行比较,测试结果依然有一定参考意义。

测试平台

处理器:Intel Core 2 Duo E4600

主板:MSI P45 Platinum

内存:金士顿 DDR2 800 1GB×2

系统硬盘:希捷酷鱼7200.11 1TB

电源:航嘉磐石800

显示器:BenQ V2400W

软件环境:Windows Vista 32bit 中文旗舰版

ForceWare 177.66

对比硬盘:三星HD322HJ/CNG 320GB/16MB

三星HD103UJ/CNG 1TB/32MB

测试软件部分,我们选择了HD Tach 3.01、ATTO Disk Benchmark 2.41,另外还有实际文件拷贝的测试项目,包括GB级大文件持续传输速度、多个小文件持续传输速度。

实战性能对比

从我们的测试成绩来看,在ATTO中,32MB缓存和16MB缓存的差距并不是十分明显,相反在部分容量的数据块传输中,32MB的反而比16MB的还慢一点点,关键是这个结果还没有规律可循,与数据块大小并没有直接关系,因此我们暂且不管ATTO的结果,用实际的文件拷贝来测试。

用实际文件拷贝测试发现,32MB版本相对16MB版本的确有比较明显的优势,其中大文件拷贝提升了9%,而细碎小文件拷贝则提高了89%!排除掉单碟容量带来的性能提升,我们也可以看到在细碎小文件的读写方面,大容量缓存带来的性能提升幅度有多么大。

30-d6-b1.jpg

工程师点评

硬件评测周刊 王诚

显而易见,增加缓存容量对于硬盘的性能的确有明显的提升,在拷贝单个大容量文件的时候,这个性能提升幅度还不算明显,毕竟是连续数据的读取,在有限的缓存容量里也能保证较高的命中率;但是在大量操作细碎小文件的时候,大容量缓存就能保存更多的数据,以大幅度提升命中率——越是细碎的文件,大缓存优势越是明显。

从市场中的硬盘产品来看,500GB的大都采用了32MB的缓存,而400GB和320GB的大都是16MB缓存,考虑到500GB的价格也不过500多元,可以说其容量与速度、价格都非常令人满意。所以,如果是注重性能的DIY玩家,不妨考虑直接购买500GB/32MB的硬盘,其容量和性能都能让你满意;如果是注重价格,而且对于硬盘的性能并没有非常苛刻的要求,400GB/320GB、16MB缓存的产品也可以选择,因为它们在持续拷贝大文件(例如高清视频、蓝光镜像)的情况下与32MB的版本性能差距并没有想象中的那么大。