欢迎访问硬盘之家网站~如果喜欢硬盘之家就收藏起来吧!
当前位置首页 > 硬盘知识> 正文

什么是硬盘缓存?

2019-10-25 14:50:17 本文编辑:Angel 硬盘知识
硬盘缓存的作用
硬盘的缓存主要有三种作用:
一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;
二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;
最后是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的哦,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。
而且还有个缓存算法问题。如果算法不优秀,命中率就不会高,这样大容量缓存形同虚设,甚至会出现掉速问题。另外,这还要结合硬盘本身的单碟容量、转速来决定。比方说传输持续读写速度在150MB/s左右、单碟不超过1TB容量的机械硬盘,缓存64MB就足够,128MB显然有些浪费;只有那些单碟容量超过1TB、持续读写性能在200MB/s左右的机械硬盘,128MB的缓存才有意义哦。
固态硬盘的缓存
相比刚刚说的机械硬盘,固态硬盘速度要高不少,但是对比内存还是慢得多。固态硬盘的缓存一般都是由一到两颗DRAM颗粒(说白了就是内存用颗粒)作为缓存使用。早先固态硬盘是否带缓存是一个非常重要的指标,低端入门级的产品甚至有无缓存设计,无论是使用寿命还是性能表现都要差不少。而在当下高速产品由于数据交换量大,缓存已经是固态硬盘的标配,用来提高产品的读写性能。
为什么新硬盘又要删掉缓存了?
既然缓存的功能对于硬盘来说几乎是决定性的,那为什么新出的主控还要强调无缓存设计呢?这是因为,固态硬盘的主控厂商群联通过另一种方式“拥有缓存”了——群联的新技术叫做“HMB内存缓冲技术”,简单说,就是去掉了本来应该在硬盘上出现的缓存,转而找内存借用存储空间,实现了数据缓冲!
这样做的好处就是成本降低,固态硬盘会因为少了一个缓存颗粒而降低成本,但通过新技术依旧可以达到有缓存设计的固态硬盘速度。
当然,这也是有代价的:内存容量必然要被部分占用。
小诺认为,拥有16GB内存以上的电脑,才可以使用这个技术,否则系统、软件应用占用内存都不够,再加上固态硬盘要借用内存当做缓存,无疑是雪上加霜的事情了。
什么是硬盘缓冲区?
硬盘的缓冲区是硬盘与外部总线交换数据的场所。硬盘的读数据的过程是将磁信号转化为电信号后,通过缓冲区一次次地填充与清空,再填充,再清空,一步步按照PCI总线的周期送出,可见,缓冲区的作用是相当重要的。它的作用也是提高性能,但是它与缓存的不同之处在于:一、它是容量固定的硬件,而不像缓存是可以由操作系统在内存中动态分配的。二、它对性能的影响大大超过硬盘缓存对性能的影响,因为如果没有缓冲区,就会要求每传一个字(通常是4字节)就需要读一次硬盘或写一次硬盘。
总而言之,硬盘缓存是属于内存的,而硬盘缓冲区是硬盘与PCI总线之间的容量固定的硬件。

版权保护: 本文由 硬盘之家 原创,转载请保留链接: http://www.freecom.cn/2019/1025/251.html

猜你喜欢

博客主人硬盘之家
硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。硬盘主要分为固态硬盘、机械硬盘、混合硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。主要分为固态硬盘(SSD)(SSD 盘,新式硬盘内)、机械硬盘(HDD)、混合硬盘(HHD );固态硬盘采用闪存颗粒来存储,有sata固态、m.2固态、pci-e固态。
  • 499 文章总数
  • 0访问次数
  • 4506建站天数