[发明专利]一种基于分类策略的页级缓冲区改进方法在审
申请号: | 201710724114.4 | 申请日: | 2017-08-22 |
公开(公告)号: | CN107590084A | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 杜晨杰 | 申请(专利权)人: | 浙江万里学院 |
主分类号: | G06F12/0882 | 分类号: | G06F12/0882;G06F12/0873;G06F12/123 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙)33240 | 代理人: | 朱月芬 |
地址: | 315100 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分类 策略 缓冲区 改进 方法 | ||
技术领域
本发明属于固态硬盘算法设计技术领域,公开了一种基于分类策略的页级缓冲区改进方法。
背景技术
缓冲区置换算法是提高存储系统性能的重要手段之一。目前,缓冲区置换算法被广泛的应用到文件系统,数据库以及其他存储系统中。但传统的缓冲区置换算法以提高缓冲区命中率为主要目标,并且为机械硬盘而设计的,而闪存的读写操作代价的不对称导致了传统的缓冲区置换算法无法很好的适应固态盘。
目前已有的面向固态盘的缓冲区置换算法主要是针对闪存读写代价的不确定性,对数据页进行分类。在置换数据页时,尽量减少置换脏数据页,优先置换干净页以减少数据页的置换代价。并且已有算法主要是在LRU的基础上进行改进。但是LRU算法无法很好的解决一次性扫描污染的问题。
缓冲区算法设计是SSD固件设计中一个非常关键的问题,特别是对中高端的SSD的性能和寿命优化,缓冲区算法设计起着至关重要的作用。由于数据访问具有较高的时间局部性和空间局部性特征,缓冲区算法设计可以将访问频繁的数据缓存在缓冲区中,以减少对闪存的直接访问,提高CPU的读写效率。
缓冲区能优化计算机存储系统性能的基本原理是利用数据访问存在局部性特征,将最近和经常访问的数据存储在缓冲区中,以快速响应CPU的读写请求。在SSD设计中,缓冲区不仅能提高SSD的读写性能,还能延长SSD硬盘的寿命,因此它也是SSD的关键部件。页级缓冲区管理算法管理粒度大小为一个页,缓冲区满后剔除也按页进行。页级缓冲区管理算法的优势在于细粒度的区分每个页的访问特点,缓冲区命中概率更高。经典的页级缓冲区算法为页级LRU和CFLRU。页级LRU的置换粒度为一个页,当缓冲区满时,每次选择最近最少使用的数据页进行剔除或更新。CFLRU是针对SSD的经典页级缓冲区管理算法,CFLRU缓存读请求和写请求,在缓冲区发生缺页时优先选择干净页进行替换,脏页被留在缓冲区以减少置换代价。然而,上述二种经典的缓冲区置换算法没有考虑到缓冲区中数据页的冷热程度,即未将缓冲区分成热数据页缓存和冷数据页缓存,对数据进行分类存储;再者,页级LRU和CFLRU也都没有考虑到数据访问具有空间局部性的特点,可以通过预取策略来提升对具有高空间本地性请求的处理能力。
发明内容
本发明公开了一种基于分类策略的页级缓冲区改进算法。通过本发明,在固态硬盘缓冲区管理层设计中,有着很好的实用性和应用前景。
本发明解决其技术问题采用的技术方案如下:
一种基于分类策略的页级缓冲区改进方法,包括4个模块,即请求类型区分模块,热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块;
请求类型区分模块主要是用来判断文件系统发出的请求的类型,即判断请求是否具有高空间本地性的连续请求;
热数据页存储区模块主要是用来加载访问频繁的请求的数据页,若请求的数据页在冷数据页存储区模块或连续数据页存储区模块被累计二次命中,也加载到热数据页存储区模块中;
冷数据页存储区模块主要是用来加载访问频率较低的请求的数据页,此外,热数据页存储区模块剔除的数据页也会加载到冷数据页存储区模块中链表的MRU位置。若请求的数据页在冷数据页存储区模块中被二次命中后,则将该数据页加载到热数据页存储区模块中。当冷数据页存储区模块满时,依据LRU替换策略,优先剔除最近最少访问的干净页,若无干净页,再选择将脏页置换出去;
连续数据页存储区模块主要是用来加载具有高空间本地性请求(即连续请求)的数据页。同样,当请求的数据页在连续数据页存储区模块中被累计两次命中,也需要将该命中的数据页加载到热数据页存储区模块中。为利用连续请求的高空间本地性,本改进算法采用预取策略,通过预取多个连续的数据页到连续数据页存储区模块,提升了它对连续请求的响应性能。再者,当连续数据页存储区模块满时,选择最先缓存到连续数据页存储区模块的数据页进行置换。
此外,本发明包含以下几个步骤:
步骤1、将SSD中的数据页缓存分成请求类型区分模块、热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块等4个模块。整个数据页缓存中的数据页均标识有hot-flag标志位,hot-flag设置为1表示该数据页为热页,设置为0表示该数据页为冷页;
步骤2、当请求到来,若请求的数据在数据页缓存,则直接为之服务。若不在数据页缓存中,则需要将请求的数据页加载到数据页缓存中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江万里学院,未经浙江万里学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710724114.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环保的涂料循环粉碎装置
- 下一篇:一种关于半自磨机功率的预估方法