CN105446659B - 一种通过压缩磁盘板载缓存以提高磁盘性能的方法 - Google Patents
一种通过压缩磁盘板载缓存以提高磁盘性能的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000007906 compression Methods 0.000 claims abstract description 59
- 230000006835 compression Effects 0.000 claims abstract description 59
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 238000003860 storage Methods 0.000 claims description 13
- 230000006837 decompression Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 101001095089 Homo sapiens PML-RARA-regulated adapter molecule 1 Proteins 0.000 description 1
- 102100037019 PML-RARA-regulated adapter molecule 1 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data 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)中,对于写请求的处理,控制器部件首先判断所有的缓存段是否可以容纳到来的数据;如果不存在这样的段,则需要选择另外的缓存段来存放新到来的数据;如果此时控制器部件启用了压缩机制,还需要压缩该数据;当数据存放缓存结束后,磁盘可以响应写请求并结束外部总线的交流。
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)
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)
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)
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 |
-
2015
- 2015-11-11 CN CN201510767976.6A patent/CN105446659B/zh not_active Expired - Fee Related
Patent Citations (3)
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 |