[发明专利]一种失效盘优先的高速缓冲存储器替换方法有效
| 申请号: | 201110164595.0 | 申请日: | 2011-06-17 |
| 公开(公告)号: | CN102289354A | 公开(公告)日: | 2011-12-21 |
| 发明(设计)人: | 曹强;万胜刚;黄建忠;谢长生;周旭 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 失效 优先 高速 缓冲存储器 替换 方法 | ||
技术领域
本发明属于计算机存储领域,具体涉及一种失效盘优先(Victim Disk First,VDF)的高速缓冲存储器(Cache)替换方法。这种方法适用于磁盘阵列中的失效磁盘,能够减少对于失效磁盘的I/O次数,提高磁盘阵列的性能以及可靠性。
背景技术
可靠性与可用性是衡量在线存储服务质量的重要标准。对于为商业与工业应用提供在线服务的系统,数据丢失以及时常间断的服务往往意味着经济损失。磁盘冗余阵列RAID(Redundant Array of Independent Disk)是能够提供高可靠性与高可用性的主流选择之一。在早期的RAID规范中,例如RAID-0到RAID-5,其仅仅提供单盘容错能力。近年来,具有更高容错能力的各种RAID系统逐渐开始被采用,因其在两个或两个以上磁盘同时失效时仍然能够恢复所有丢失的数据,与此同时还能够提供不间断的在线服务。
对于存储系统,特别是提供在线服务的存储系统,以最终用户的立场,请求平均响应时间是评价其服务质量的重要标准。但是,为了能够在重建因磁盘失效而丢失的数据的同时提供在线服务,重建数据带来的读/写工作流与用户请求带来的工作流将会不可避免的相互影响,从而直接导致最终用户所享受的服务质量的下降。大量的研究表明,相对于无故障模式,存在恢复工作流时的降级模式下,读/写请求平均响应时间会受到极大影响,往往会增长数倍至数十倍不等。与此同时,相对于线下重建,在线重建的耗时也会呈数量级的延长。因此,减小在线重构时用户请求的平均响应时间,以及缩短重构时间,是提高最终用户所享受的服务质量最为直接有效的途径。目前已有许多针对此问题的解决方案被提出,例如,针对数据的分布的优化方法、针对用户工作流的优化以及针对重构工作流的优化。以上方式都已被证明能够有效的提高在线重构的性能,包括减小在线重构时用户请求的平均响应时间或者缩短重构时间。
Cache被广泛的使用并且很多Cache算法用来解决磁盘延迟的问题,但是常用的Cache替换算法仅考虑到无错模式下,如果在磁盘阵列中,若一些磁盘失效,此时RAID仍然在此失效的模式下工作,使用业余重建模式(Spare-rebuilding mode)以及退化模式(degraded mode)两种方法,此时失效盘的缺失代价相比存活磁盘的缺失代价来说完全不同,若缺失数据驻于失效磁盘中,RAID控制器访问存活磁盘并且进行奇偶校验重建失效数据,此时I/O请求次数由RAID结构所决定,对于常用的LRU以及LFU算法,n个磁盘中一个磁盘失效的缺失代价为n-1(n为大于等于2的正整数),此时对于失效磁盘的一次Cache缺失需要将剩下的n-1个盘进行重构以得到该失效盘数据,再将该失效盘数据块加入到Cache中,此时若Cache为满时,直接将LRU全局栈(该堆栈存储的是全部磁盘所有的内存块)栈底的内存块剔除,不考虑该内存块是否属于失效盘,若将失效盘的内存块剔除,此后访问失效盘时将仍需要进行重构数据,再次产生n-1次I/O请求,这样使得I/O次数大大增加。
发明内容
为解决以上的问题,本发明提供了一种失效盘优先(Victim Disk First,VDF)的Cache替换方法。该方法在磁盘阵列失效的情况下优先缓存失效盘的内存块,能够减少对于存活磁盘的I/O请求次数,提高了以RAID为基础的存储系统的性能。
本发明提供了一种失效盘优先的高速缓冲存储器替换方法,当磁盘向高速缓冲存储器发出请求的磁盘块时,执行以下步骤:
(1)判断该磁盘块是否位于高速缓冲存储器中该磁盘块所在盘的局部堆栈中,若是,则令该磁盘块对应的内存块的时间戳与全局时间戳相等,并将该磁盘块放入所述局部堆栈和全局堆栈的头部,转入步骤(6);若否,则判断高速缓冲存储器是否已满,若是,则进入步骤(2),若否,则转入步骤(4);
(2)计算所有局部堆栈中最底部的内存块的权重,权重的计算方法为:如果内存块对应的是失效磁盘的内存块,则内存块的权重W=GTS-TS;否则,内存块的权重W=(GTS-TS)*(m-1);其中,GTS为全局时间戳,TS为内存块的时间戳,m为内存块所在的局部堆栈包含的内存块总个数;
(3)删除步骤(2)中计算的具有最大权重的内存块;
(4)取得一个空闲内存块;
(5)将磁盘块放入所述空闲内存块,令该磁盘块对应的内存块的时间戳与全局时间戳相等,并将该磁盘块放入其所在的局部堆栈和全局堆栈的头部。
(6)令全局时间戳加1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110164595.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:智能化存放珍贵档案的档案柜
- 下一篇:一种硬体刷





