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

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

Info

Publication number
CN105446659B
CN105446659B CN201510767976.6A CN201510767976A CN105446659B CN 105446659 B CN105446659 B CN 105446659B CN 201510767976 A CN201510767976 A CN 201510767976A CN 105446659 B CN105446659 B CN 105446659B
Authority
CN
China
Prior art keywords
disk
data
cache
request
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201510767976.6A
Other languages
English (en)
Other versions
CN105446659A (zh
Inventor
邓玉辉
江文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN201510767976.6A priority Critical patent/CN105446659B/zh
Publication of CN105446659A publication Critical patent/CN105446659A/zh
Application granted granted Critical
Publication of CN105446659B publication Critical patent/CN105446659B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种通过压缩磁盘板载缓存以提高磁盘性能的方法,当外部读请求到来时,控制器部件可以压缩缓存中存放的所请求的数据,并压缩后续预取的数据。经过压缩后的缓存可以存放更多数据以提高命中率,进而快速响应后续请求。当外部写请求到来时,压缩机制可以使缓存存储更多写请求数据,以减少缓存数据回写的概率。压缩机制可以动态调整或是关闭以降低不稳定性。本发明通过增加磁盘上的板载缓存命中率以减少访问低速磁盘盘片的概率,达到提高磁盘性能的效果。另外,磁盘盘片访问频率的减少还可以降低其电源状态的切换频率和盘片启动频率,进而起到节能和提高寿命的作用。

Description

一种通过压缩磁盘板载缓存以提高磁盘性能的方法
技术领域
本发明涉及磁盘内部缓存管理的技术领域,尤其是指一种通过压缩磁盘板载缓存以提高磁盘性能的方法。
背景技术
现代存储系统中,磁盘以高容量与低位价比、相对读写快的优势被广泛应用。随着磁部件生产工艺的提高与存储介质成本的降低,磁盘的每位价格还会继续降低,并将在未来一段时间内继续主宰存储市场。然而它的一些关键性能指标在很长时间内没有突破性改善,如随机读写性能。在2000年,主存与硬盘的性能差距已经是6次方的指数级,并且至今这种差距每年都在快速增加。
磁盘的随机读写速度瓶颈由它的机械特性所决定。磁盘通过磁臂的水平移动和盘片的旋转可以读取盘片上的任意数据。当前市面上的磁盘,平均寻道时间为2ms,15000RPM的转速所对应的平均旋转延迟是2ms。很明显,这个时间与RAM的响应时间有着巨大的差距。磁盘缓存是解决这种传输延迟的有效办法。它一般由SRAM组成,类似于CPU内部缓存,价格相当对较高昂。目前市面的硬盘缓存为8M至128M,相对于目前1TB甚至更多的磁存储容量,还是相当有限。磁盘缓存在达到磁盘容量的0.1%至0.3%时,可以达到接近最大的效果。如现在市面上常用的1TB磁盘,0.1%的缓存意味着1GB的容量,为了节约成本,硬盘厂商不会将缓存装备很大。当硬件上的改良变得代价高昂时,软件上的优化可以弥补这个不足。
因此,人们急需一种相对成本廉价并且实现简单的方法来提高磁盘性能。当硬件上的改良变得代价高昂时,软件上的优化可以弥补这个不足。目前缓存压缩技术早已被普遍研究与应用,CPU缓存或主存的压缩就是比较好的样本。同样地,这个想法可以被应用到磁盘这个新的载体上。此外,目前不断有新型存储介质试图替代磁盘,例如固态硬盘(SSD)和相变存储器(PRAM)。
发明内容
本发明的目的在于克服现有技术的不足,提供一种通过压缩磁盘板载缓存以提高磁盘性能的方法,具有节约能耗与提高磁盘使用寿命及性能的作用。
为实现上述目的,本发明所提供的技术方案为:一种通过压缩磁盘板载缓存以提高磁盘性能的方法,主要是利用磁盘上的控制器部件和缓存部件来增加磁盘上的板载缓存命中率,以减少访问低速磁盘盘片的概率,进而达到提高磁盘性能的目的,其中所述控制器部件用于管理通过缓存部件的数据并动态压缩存放于缓存中的数据,采用压缩机制后的缓存部件将能够存放更多数据,进而提高命中率和降低访问永久性存储介质的概率,磁盘中所有与外界的数据流通和内部的数据存放都由该控制器部件管理,所述缓存部件用于存储已经读取的数据和预取的数据,写请求的数据会暂存于此,且这些数据能够根据实际情况进行选择性被压缩;该方法包括以下步骤:
1)外部请求到来时,控制器部件判断其请求类型,如果为读请求,则执行步骤2),如果为写请求,则执行步骤5);
2)如果读请求的数据在缓存中命中,则直接响应请求,如果数据被压缩,则还需要先进行解压缩操作;如果请求不命中,则选择一个缓存段,读磁盘盘片上的数据,并用其覆盖缓存段中数据,然后执行步骤3)操作;
3)磁盘缓存进行预取操作,如果磁盘打开压缩功能,则将预取的数据进行压缩,直到读满一个段,或是新的请求到来;如果关闭了压缩功能,则预取到缓存中的数据不进行压缩;
4)控制器部件默认只压缩磁盘预取的数据,而后根据压缩率是否达到预定值来决定是否关闭压缩,若要使缓存的管理最精简化,则可以只压缩预取的数据;如果压缩率达不到预定值,控制器部件将停止所有数据的压缩,等待预定时间后,启动压缩行为,如果压缩率优于某个预定值,控制器部件将会启动对其它种类数据的压缩;
5)写请求数据到来时,控制器会选择一个段,将新的数据写入缓存中,等待所需的条件后再将数据回写于磁盘盘片上。
在步骤2)中,当一个读请求到来时,控制器部件将会判断所请求的数据是否已经存在于缓存中;如果已经存在于缓存中,即发生一次读命中,则控制器部件可以直接读取缓存中的数据,并反馈给外部请求,此外,如果该数据被压缩,则还需进行解压缩操作;当响应完客户端之后,则磁盘进行一次预取操作。
在步骤4)中,控制器部件默认打开压缩机制,将预取的数据从存储介质中读取出来,压缩它并统计压缩率;如果压缩率达不到预定值,则关闭所有数据的压缩;等待预定时间后重新开启预取操作的压缩;如果压缩率达到预定值,则打开所有数据类型的压缩。
在步骤5)中,对于写请求的处理,控制器部件首先判断所有的缓存段是否可以容纳到来的数据;如果不存在这样的段,则需要选择另外的缓存段来存放新到来的数据;如果此时控制器部件启用了压缩机制,还需要压缩该数据;当数据存放缓存结束后,磁盘可以响应写请求并结束外部总线的交流。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明方法首次将压缩缓存的思想运用到磁盘中,并用采用了动态调整的机制,在压缩率良好的情况下开启压缩,间接扩大了缓存空间,提高了命中率,进而提高减少了访问低速机械盘片的概率,大大地改善了磁盘服务请求的性能,可以快速响应客户端请求。
2、本发明方法可以减少磁盘的电源状态切换频率和盘片的启动频率,进而起到节能能量消耗和提高磁盘的寿命的作用;在压缩率不佳的情况下,本发明可以通过关闭压缩以减少系统开销,避免负面影响。
3、本发明方法在不增加昂贵的缓存硬件成本的前提下,通过压缩缓存以提高磁盘有效容量,进而能够存放更多的数据来减少严重影响性能的机械访问行为。
4、本发明有效地提高了磁盘的性价比,进而提高了其在市场上的竞争力,可以应用到其它的配有缓存的存储介质中,如内存设备、光存储设备和相变存储器等。
附图说明
图1为本发明磁盘的内部结构示意图。
图2为本发明磁盘缓存结构图。
图3为本发明磁盘响应读请求工作流程图。
图4为本发明磁盘预取操作工作流程图。
图5为本发明磁盘响应写请求工作流程图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
如图1所示,本实施例所述的通过压缩磁盘板载缓存以提高磁盘性能的方法,主要是利用磁盘上的控制器部件和缓存部件来增加磁盘上的板载缓存命中率,以减少访问低速磁盘盘片的概率,进而达到提高磁盘性能的目的。其中所述控制器部件用于管理通过缓存部件的数据并动态压缩存放于缓存中的数据,采用压缩机制后的缓存部件将可以存放更多数据,进而提高命中率和降低访问永久性存储介质的概率,磁盘中所有与外界的数据流通和内部的数据存放都由该部件管理,控制器部件将会集成常用的二进制数据压缩算法,用于压缩存放于缓存中的数据;所述缓存部件用于存储已经读取的数据和预取的数据,写请求的数据会暂存于此,这些数据根据实际情况可以选择性被压缩。如图2所示,缓存被分为相同长度的段(Segment),每个segment用来服务一个外部数据请求。磁盘存储的最小单元为512字节的扇区(Sector),每segment被划分为以扇区为最小单元的块集。当加入压缩机制后,每个块不再是一个扇区的大小,而是小于512字节的随机值。为此,需要添加一个数据头部来记录压缩后的大小和还原被压缩的数据,这个头部被放在每个压缩的扇区前。
本实施例上述的通过压缩磁盘板载缓存以提高磁盘性能的方法,包括以下步骤:
1)外部请求到来时,控制器部件判断其请求类型;如果为读请求,则执行步骤2);如果为写请求,则执行步骤5)。
2)如果读请求的数据在缓存中命中,则直接响应请求,如果数据被压缩,则还需要先进行解压缩操作;如果请求不命中,则选择一个缓存段,读磁盘盘片上的数据,并用其覆盖缓存段中数据;然后执行步骤3)操作。
3)磁盘缓存进行预取操作,如果磁盘打开压缩功能,则将预取的数据进行压缩,直到读满一个段,或是新的请求到来;如果关闭了压缩功能,则预取到缓存中的数据不进行压缩。
4)控制器默认只压缩磁盘预取的数据,而后根据压缩率是否达到预定值来决定是否关闭压缩,若要使缓存的管理最精简化,则可以只压缩预取的数据;如果压缩率达不到预定值,控制器部件将停止所有数据的压缩,等待一段时间后,启动压缩行为,如果压缩率优于某个预定值,控制器部件将会启动对其它种类数据的压缩。
5)写请求数据到来时,控制器选择一个合适的段,将新的数据写入缓存中,等待一定条件后再将数据回写于磁盘盘片上。
为了更详细地说明本发明的工作流程,以下结合响应读请求工作流程图(图3)、预取操作工作流程图(图4)和响应写请求工作流程图(图5)再作详细分析。
如图3所示,当一个读请求到来时,控制器部件将会判断所请求的数据是否已经存在于缓存中。如果已经存在于缓存中,即发生一次读命中,则控制器部件可以直接读取缓存中的数据,并反馈给外部请求,此外,如果该数据被压缩,则还需进行解压缩操作。当响应完客户端之后,则磁盘进行一次预取操作(见图4)。
如图4展示具体的预取操作流程。控制器部件默认打开压缩机制,将预取的数据从存储介质中读取出来,压缩它并统计压缩率。如果压缩率不够理想,即达不到预定值,则关闭所有数据的压缩。等待一段时间后重新开启预取操作的压缩。如果压缩率极好,即达到了预定值,则打开所有数据类型的压缩。
如图5所示,对于写请求的处理,控制器首先判断所有的缓存段是否可以容纳到来的数据。如果不存在这样的段,则需要选择适当的缓存段来存放新到来的数据。如果此时控制器部件启用了压缩机制,还需要压缩该数据。当数据存放缓存结束后,磁盘可以响应写请求并结束外部总线的交流。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

Claims (3)

1.一种通过压缩磁盘板载缓存以提高磁盘性能的方法,其特征在于:该方法主要是利用磁盘上的控制器部件和缓存部件来增加磁盘上的板载缓存命中率,以减少访问低速磁盘盘片的概率,进而达到提高磁盘性能的目的,其中所述控制器部件用于管理通过缓存部件的数据并动态压缩存放于缓存中的数据,采用压缩机制后的缓存部件将能够存放更多数据,进而提高命中率和降低访问永久性存储介质的概率,磁盘中所有与外界的数据流通和内部的数据存放都由该控制器部件管理,所述缓存部件用于存储已经读取的数据和预取的数据,写请求的数据会暂存于此,且这些数据能够根据实际情况进行选择性被压缩;该方法包括以下步骤:
1)外部请求到来时,控制器部件判断其请求类型,如果为读请求,则执行步骤2),如果为写请求,则执行步骤5);
2)如果读请求的数据在缓存中命中,则直接响应请求,如果数据被压缩,则还需要先进行解压缩操作;如果请求不命中,则选择一个缓存段,读磁盘盘片上的数据,并用其覆盖缓存段中数据,然后执行步骤3)操作;
3)磁盘缓存进行预取操作,如果磁盘打开压缩功能,则将预取的数据进行压缩,直到读满一个段,或是新的请求到来;如果关闭了压缩功能,则预取到缓存中的数据不进行压缩;
4)控制器部件默认只压缩磁盘预取的数据,而后根据压缩率是否达到预定值来决定是否关闭压缩,若要使缓存的管理最精简化,则可以只压缩预取的数据,其中,控制器部件默认打开压缩机制,将预取的数据从存储介质中读取出来,压缩它并统计压缩率,如果压缩率达不到预定值,控制器部件将停止所有数据的压缩,等待预定时间后,启动预取操作的压缩,如果压缩率达到预定值,则打开所有数据类型的压缩,如果压缩率优于某个预定值,控制器部件将会启动对其它种类数据的压缩;
5)写请求数据到来时,控制器会选择一个段,将新的数据写入缓存中,等待所需的条件后再将数据回写于磁盘盘片上。
2.根据权利要求1所述的一种通过压缩磁盘板载缓存以提高磁盘性能的方法,其特征在于:在步骤2)中,当一个读请求到来时,控制器部件将会判断所请求的数据是否已经存在于缓存中;如果已经存在于缓存中,即发生一次读命中,则控制器部件可以直接读取缓存中的数据,并反馈给外部请求,此外,如果该数据被压缩,则还需进行解压缩操作;当响应完客户端之后,则磁盘进行一次预取操作。
3.根据权利要求1所述的一种通过压缩磁盘板载缓存以提高磁盘性能的方法,其特征在于:在步骤5)中,对于写请求的处理,控制器部件首先判断所有的缓存段是否可以容纳到来的数据;如果不存在这样的段,则需要选择另外的缓存段来存放新到来的数据;如果此时控制器部件启用了压缩机制,还需要压缩该数据;当数据存放缓存结束后,磁盘可以响应写请求并结束外部总线的交流。
CN201510767976.6A 2015-11-11 2015-11-11 一种通过压缩磁盘板载缓存以提高磁盘性能的方法 Expired - Fee Related CN105446659B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510767976.6A CN105446659B (zh) 2015-11-11 2015-11-11 一种通过压缩磁盘板载缓存以提高磁盘性能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510767976.6A CN105446659B (zh) 2015-11-11 2015-11-11 一种通过压缩磁盘板载缓存以提高磁盘性能的方法

Publications (2)

Publication Number Publication Date
CN105446659A CN105446659A (zh) 2016-03-30
CN105446659B true CN105446659B (zh) 2019-12-24

Family

ID=55556919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510767976.6A Expired - Fee Related CN105446659B (zh) 2015-11-11 2015-11-11 一种通过压缩磁盘板载缓存以提高磁盘性能的方法

Country Status (1)

Country Link
CN (1) CN105446659B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153684B (zh) * 2017-12-30 2021-06-04 广东技术师范学院 一种磁盘Cache的预取空间调整方法
CN109086224B (zh) * 2018-07-10 2022-10-21 暨南大学 一种自适应分类重用距离来捕捉热数据的缓存方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012794A (zh) * 2010-11-19 2011-04-13 北京兆易创新科技有限公司 一种固态硬盘及其访问控制方法、一种固态硬盘控制器
CN102147768A (zh) * 2010-05-21 2011-08-10 苏州捷泰科信息技术有限公司 存储器、固态缓存系统及缓存数据处理方法
CN102855197A (zh) * 2011-11-08 2013-01-02 东南大学 一种面向大规模粗粒度可重构系统存储系统的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321293B1 (en) * 1995-11-14 2001-11-20 Networks Associates, Inc. Method for caching virtual memory paging and disk input/output requests
US7958289B2 (en) * 2002-08-08 2011-06-07 International Business Machines Corporation Method and system for storing memory compressed data onto memory compressed disks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147768A (zh) * 2010-05-21 2011-08-10 苏州捷泰科信息技术有限公司 存储器、固态缓存系统及缓存数据处理方法
CN102012794A (zh) * 2010-11-19 2011-04-13 北京兆易创新科技有限公司 一种固态硬盘及其访问控制方法、一种固态硬盘控制器
CN102855197A (zh) * 2011-11-08 2013-01-02 东南大学 一种面向大规模粗粒度可重构系统存储系统的实现方法

Also Published As

Publication number Publication date
CN105446659A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
US10776276B2 (en) Bypass storage class memory read cache based on a queue depth threshold
US11030107B2 (en) Storage class memory queue depth threshold adjustment
TWI530791B (zh) 用於改善外部計算裝置效能的調適性記憶體系統
US11604606B2 (en) Prefetch signaling in memory system or subsystem
US9734073B2 (en) System and method for flash read cache with adaptive pre-fetch
US20080229071A1 (en) Prefetch control apparatus, storage device system and prefetch control method
US8572321B2 (en) Apparatus and method for segmented cache utilization
CN104794064A (zh) 一种基于区域热度的缓存管理方法
US20030074524A1 (en) Mass storage caching processes for power reduction
US11822477B2 (en) Prefetch management for memory
US9898413B2 (en) Auto-adaptive system to implement partial write buffering for storage systems dynamic caching method and system for data storage system
CN105446659B (zh) 一种通过压缩磁盘板载缓存以提高磁盘性能的方法
JP2015191654A (ja) データストレージ装置及び方法
CN110597457A (zh) 一种固态硬盘、固态硬盘的控制方法及控制器
CN108459972B (zh) 一种多通道固态硬盘的高效缓存管理设计方法
US20140250272A1 (en) System and method for fetching data during reads in a data storage device
CN108153684B (zh) 一种磁盘Cache的预取空间调整方法
US20240232089A9 (en) Prefetch management for memory
CN115729851A (zh) 一种数据预取方法以及相关设备
Zhao et al. A buffer algorithm of flash database based on LRU

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191224