大缓存=高性能?硬盘缓存全解析 作者: 15 九月 2007 时间: 01:33 and have 没有评论

硬盘是电脑中最重要的组成部分,硬盘性能的高低直接影响整台电脑的运行速度,一个系统的性能瓶颈往往就出现在硬盘上。而作为硬盘最重要的技术参数之一,大缓存也成为人们购买硬盘的一个选择条件,那么,缓存到底是什么?它有什么作用?大缓存真的能使硬盘的性能有很大的提升么?小编下面马上给大家说说缓存的原理
硬盘缓存的作用
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,如果有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。
  硬盘的缓存主要起三种作用:一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的。 二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地。 第三个作用就是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。
大容量缓存真的能对系统性能有很大的提升么?下面我们来看看美国著名测试网站Tom\’s hardware对希捷四款型号不同硬盘进行的测试,同样的型号16M和8M缓存之间的对比,来看几个我们关心的参数测试结果:
[separator]
读取速度
[img][attach]19[/attach][/img] 写入速度
[img][attach]20[/attach][/img] winxp启动时间
[img][attach]21[/attach][/img] 文件写入速度
[img][attach]22[/attach][/img] 可见,由于都是希捷的产品,使用同样的缓存算法,16M比8M缓存提升的性能是微不足道的,在具备8M以上的缓存条件下,缓存算法才是真正决定性能的因素。从追求性能的角度,选择大容量缓存的硬盘还不如用2块sata硬盘组成raid 0阵列。但是大容量缓存对高端用户的作用是毋庸置疑的,大缓存可以保证在高数据量传输的情况下,数据吞吐速度的提升,也能对读取数据比较频繁的硬盘起到良好的保护作用。 另外缓存过小对硬盘性能的影响是明显的,容量120G以上的硬盘由于单碟容量比较大,数据传输速度较快,8M以下的缓存是不能发挥其性能优势的;sata接口的硬盘也比pata接口的硬盘数据传输速度快,8M缓存也是必要的。对于普通用户,我们建议的购买原则是 :有8M缓存型号的硬盘尽量选择8M缓存的型号,如果16M缓存和8M缓存价格相当当然选择16M的;120G以上的硬盘和sata硬盘的缓存不要小于8M。
]]>

发表评论