一种通过压缩磁盘板载缓存以提高磁盘性能的方法

文档序号:9687201阅读:754来源:国知局
一种通过压缩磁盘板载缓存以提高磁盘性能的方法
【技术领域】
[0001]本发明涉及磁盘内部缓存管理的技术领域,尤其是指一种通过压缩磁盘板载缓存以提尚磁盘性能的方法。
【背景技术】
[0002]现代存储系统中,磁盘以高容量与低位价比、相对读写快的优势被广泛应用。随着磁部件生产工艺的提高与存储介质成本的降低,磁盘的每位价格还会继续降低,并将在未来一段时间内继续主宰存储市场。然而它的一些关键性能指标在很长时间内没有突破性改善,如随机读写性能。在2000年,主存与硬盘的性能差距已经是6次方的指数级,并且至今这种差距每年都在快速增加。
[0003]磁盘的随机读写速度瓶颈由它的机械特性所决定。磁盘通过磁臂的水平移动和盘片的旋转可以读取盘片上的任意数据。当前市面上的磁盘,平均寻道时间为2ms,15000RPM的转速所对应的平均旋转延迟是2ms。很明显,这个时间与RAM的响应时间有着巨大的差距。磁盘缓存是解决这种传输延迟的有效办法。它一般由SRAM组成,类似于CPU内部缓存,价格相当对较高昂。目前市面的硬盘缓存为8M至128M,相对于目前1TB甚至更多的磁存储容量,还是相当有限。磁盘缓存在达到磁盘容量的0.1 %至0.3 %时,可以达到接近最大的效果。如现在市面上常用的1TB磁盘,0.1%的缓存意味着1GB的容量,为了节约成本,硬盘厂商不会将缓存装备很大。当硬件上的改良变得代价高昂时,软件上的优化可以弥补这个不足。
[0004]因此,人们急需一种相对成本廉价并且实现简单的方法来提高磁盘性能。当硬件上的改良变得代价高昂时,软件上的优化可以弥补这个不足。目前缓存压缩技术早已被普遍研究与应用,CPU缓存或主存的压缩就是比较好的样本。同样地,这个想法可以被应用到磁盘这个新的载体上。此外,目前不断有新型存储介质试图替代磁盘,例如固态硬盘(SSD)和相变存储器(PRAM)。

【发明内容】

[0005]本发明的目的在于克服现有技术的不足,提供一种通过压缩磁盘板载缓存以提高磁盘性能的方法,具有节约能耗与提高磁盘使用寿命及性能的作用。
[0006]为实现上述目的,本发明所提供的技术方案为:一种通过压缩磁盘板载缓存以提高磁盘性能的方法,主要是利用磁盘上的控制器部件和缓存部件来增加磁盘上的板载缓存命中率,以减少访问低速磁盘盘片的概率,进而达到提高磁盘性能的目的,其中所述控制器部件用于管理通过缓存部件的数据并动态压缩存放于缓存中的数据,采用压缩机制后的缓存部件将能够存放更多数据,进而提高命中率和降低访问永久性存储介质的概率,磁盘中所有与外界的数据流通和内部的数据存放都由该控制器部件管理,所述缓存部件用于存储已经读取的数据和预取的数据,写请求的数据会暂存于此,且这些数据能够根据实际情况进行选择性被压缩;该方法包括以下步骤:
[0007]1)外部请求到来时,控制器部件判断其请求类型,如果为读请求,则执行步骤2),如果为写请求,则执行步骤5);
[0008]2)如果读请求的数据在缓存中命中,则直接响应请求,如果数据被压缩,则还需要先进行解压缩操作;如果请求不命中,则选择一个缓存段,读磁盘盘片上的数据,并用其覆盖缓存段中数据,然后执行步骤3)操作;
[0009]3)磁盘缓存进行预取操作,如果磁盘打开压缩功能,则将预取的数据进行压缩,直到读满一个段,或是新的请求到来;如果关闭了压缩功能,则预取到缓存中的数据不进行压缩;
[0010]4)控制器部件默认只压缩磁盘预取的数据,而后根据压缩率是否达到预定值来决定是否关闭压缩,若要使缓存的管理最精简化,则可以只压缩预取的数据;如果压缩率达不到预定值,控制器部件将停止所有数据的压缩,等待预定时间后,启动压缩行为,如果压缩率优于某个预定值,控制器部件将会启动对其它种类数据的压缩;
[0011]5)写请求数据到来时,控制器会选择一个段,将新的数据写入缓存中,等待所需的条件后再将数据回写于磁盘盘片上。
[0012]在步骤2)中,当一个读请求到来时,控制器部件将会判断所请求的数据是否已经存在于缓存中;如果已经存在于缓存中,即发生一次读命中,则控制器部件可以直接读取缓存中的数据,并反馈给外部请求,此外,如果该数据被压缩,则还需进行解压缩操作;当响应完客户端之后,则磁盘进行一次预取操作。
[0013]在步骤4)中,控制器部件默认打开压缩机制,将预取的数据从存储介质中读取出来,压缩它并统计压缩率;如果压缩率达不到预定值,则关闭所有数据的压缩;等待预定时间后重新开启预取操作的压缩;如果压缩率达到预定值,则打开所有数据类型的压缩。
[0014]在步骤5)中,对于写请求的处理,控制器部件首先判断所有的缓存段是否可以容纳到来的数据;如果不存在这样的段,则需要选择另外的缓存段来存放新到来的数据;如果此时控制器部件启用了压缩机制,还需要压缩该数据;当数据存放缓存结束后,磁盘可以响应写请求并结束外部总线的交流。
[0015]本发明与现有技术相比,具有如下优点与有益效果:
[0016]1、本发明方法首次将压缩缓存的思想运用到磁盘中,并用采用了动态调整的机制,在压缩率良好的情况下开启压缩,间接扩大了缓存空间,提高了命中率,进而提高减少了访问低速机械盘片的概率,大大地改善了磁盘服务请求的性能,可以快速响应客户端请求。
[0017]2、本发明方法可以减少磁盘的电源状态切换频率和盘片的启动频率,进而起到节能能量消耗和提高磁盘的寿命的作用;在压缩率不佳的情况下,本发明可以通过关闭压缩以减少系统开销,避免负面影响。
[0018]3、本发明方法在不增加昂贵的缓存硬件成本的前提下,通过压缩缓存以提高磁盘有效容量,进而能够存放更多的数据来减少严重影响性能的机械访问行为。
[0019]4、本发明有效地提高了磁盘的性价比,进而提高了其在市场上的竞争力,可以应用到其它的配有缓存的存储介质中,如内存设备、光存储设备和相变存储器等。
【附图说明】
[0020]图1为本发明磁盘的内部结构示意图。[0021 ]图2为本发明磁盘缓存结构图。
[0022]图3为本发明磁盘响应读请求工作流程图。
[0023]图4为本发明磁盘预取操作工作流程图。
[0024]图5为本发明磁盘响应写请求工作流程图。
【具体实施方式】
[0025]下面结合具体实施例对本发明作进一步说明。
[0026]如图1所示,本实施例所述的通过压缩磁盘板载缓存以提高磁盘性能的方法,主要是利用磁盘上的控制器部件和缓存部件来增加磁盘上的板载缓存命中率,以减少访问低速磁盘盘片的概率,进而达到提高磁盘性能的目的。其中所述控制器部件用于管理通过缓存部件的数据并动态压缩存放于缓存中的数据,采用压缩机制后的缓存部件将可以存放更多数据,进而提高命中率和降低访问永久性存储介质的概率,磁盘中所有与外界的数据流通和内部的数据存放都由该部件管理,控制器部件将会集成常用的二进制数据压缩算法,用于压缩存放于缓存中的数据;所述缓存部件用于存储已经读取的数据和预取的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1