一种基于分类策略的页级缓冲区改进方法技术

技术编号:17047772 阅读:63 留言:0更新日期:2018-01-17 17:43
本发明专利技术公开了一种基于分类策略的页级缓冲区改进方法。本发明专利技术包括请求类型区分模块、热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块。首先将热数据页缓存分为热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块,分别用来加载访问频繁的请求的数据页、访问频率较低的请求的数据页和具有高空间本地性请求的数据页;其次通过预取多个连续的数据页到连续数据页存储区模块;最后当数据页缓存满时,优先置换冷数据页存储区模块中最近最少使用的干净页,若冷数据页存储区模块无脏页时,再将脏页置换出去本发明专利技术相比页级LRU算法,提升了对连续负载的响应性能,有效降低了闪存的读写开销。

An improved method of page level buffer based on classification strategy

The invention discloses a page level buffer improvement method based on classification strategy. The invention includes the request type differentiation module, the thermal data page storage module, the cold data page storage module and the continuous data page storage module. The heat will be the first data page cache is divided into modules, data storage data page hot cold storage area and continuous data module page page storage module, a data page data page, were used to load access frequently requested access request and the low frequency with high spatial locality request data page; secondly to continuous data page storage module by prefetching multiple continuous data pages; finally, when the data cache is full page when the page first clean replacement cold data pages store module in the least recently used, if the cold data pages store module without dirty pages, the dirty page replacement out of the invention compared the page level LRU algorithm. To improve the response performance of continuous load, effectively reducing the memory read and write overhead.

【技术实现步骤摘要】
一种基于分类策略的页级缓冲区改进方法
本专利技术属于固态硬盘算法设计
,公开了一种基于分类策略的页级缓冲区改进方法。
技术介绍
缓冲区置换算法是提高存储系统性能的重要手段之一。目前,缓冲区置换算法被广泛的应用到文件系统,数据库以及其他存储系统中。但传统的缓冲区置换算法以提高缓冲区命中率为主要目标,并且为机械硬盘而设计的,而闪存的读写操作代价的不对称导致了传统的缓冲区置换算法无法很好的适应固态盘。目前已有的面向固态盘的缓冲区置换算法主要是针对闪存读写代价的不确定性,对数据页进行分类。在置换数据页时,尽量减少置换脏数据页,优先置换干净页以减少数据页的置换代价。并且已有算法主要是在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、当请求到来,若请求的数据在数据页缓存,则直接为之服务。若不在数据页缓存中,则需要将请求的数据页加载到数据页缓存中;步骤3、当冷数据页存储区模块或连续数据页存储区模块中的数据页被累计二次命中时,则认为该数据页为热数据页,并将其hot-flag标志位设置为1,并将该数据页加载到热数据页存储区模块中的MRU(mostrecentlyused)位置;步骤4、若请求的数据页不在数据页缓存时,则请求类型区分模块判断请求的类型,若是连续请求,则直接将该请求的数据页加载到连续数据页存储区模块中,反之则加载到冷数据页存储区模块中,并且将数据页的hot-flag设置为0;步骤5、当热数据页存储区模块满时,依据LRU剔除策略选择最近最少使用的数据页剔除到冷数据页存储区模块的MRU位置,并将该页的hot-flag设置为0;步骤6、当连续请求存储区模块满时,选择最先存储到S-CDP的数据页进行置换;步骤7、当冷数据页存储区模块满时,优先选择最近最少使用的干净页进行剔除,当冷数据页存储区无干净页时,再选择将脏页置换出去。本专利技术选取3个性能指标——缓冲区命中率、平均响应时间和闪存块擦除次数作为评价标准,具体解释如下:1)缓冲区命中率指请求的数据页在整个数据页缓存中的命中比率,即在数据页缓存中得到服务的请求占总请求的比例;2)平均响应时间是指请求完成服务时间与到达时间的时间差,它是垃圾回收、地址映射的开销以及数据访问时间的综合,也是衡量SSD性能的关键指标;3)闪存块擦除次数包括地址转换块的擦除次数和数据块的擦除次数,它直接决定了SSD的使用寿命。本专利技术与
技术介绍
相比,具有的有益的效果是:实验结果显示,平均而言,本改进算法相比页级LRU算法,缓冲区命中率提升31.50%,响应时间减少26.18%,闪存块擦除次数减少29.34%;相比CFLRU算法,缓冲区命中率提升25.45%,响应时间减少18.32%,闪存块擦除次数减少19.88%。附图说明图1为基于NAND闪存的固态盘总体架构图;图2为一种基于分类策略的页级缓冲区改进算法的总体架构图;图3(a)、3(b)、3(c)、3(d)为一种基于分类策略的页级缓冲区改进算法的一个实例。具体实施方式图1给出了基于NAND闪存的固态盘总体架构图,从功能上划分,基于NAND闪存的SSD一般由主机接口层、缓冲区管理层(BufferManagementLayer,BML)、闪存转换层和NAND闪存阵列层(FlashArrayLayer,FAL)组成。在图2中,描述了一种基于分类策略的页级缓冲区改进方法的总体架构图,图中RLPN和RPPN分别表示数据的逻辑页地址和物理页地址。首先,算法利用请求类型区分模块来判断文件系统发出请求的类型,并将RAM分成热数据页存储区模块(hotcacheddatapage,H-CDP)、冷数据页存储区模块(coldcacheddatapage,C-CDP)和连续数据页存储区模块(sequentialcacheddatapage,S-CDP)三个部分,H-CDP主要本文档来自技高网
...
一种基于分类策略的页级缓冲区改进方法

【技术保护点】
一种基于分类策略的页级缓冲区改进方法,其特征在于包括请求类型区分模块、热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块;所述的请求类型区分模块是用来区分文件系统发出的请求是随机请求还是具有高空间本地性的连续请求;所述的热数据页存储区模块是用来加载访问频繁的请求的数据页;所述的访问频繁的请求是指请求在缓冲区中的累计命中次数大于等于两次;所述的冷数据页存储区模块要是用来缓存访问频率较低的请求的数据页,若请求在冷数据页存储区模块中累计两次命中后,即将该命中的数据页加载到热数据页存储区模块中;再者,冷数据页存储区模块还存储从热数据页存储区模块剔除的数据页;所述的连续数据页存储区模块主要是用来加载具有高空间本地性请求的数据页;同样,当连续数据页存储区模块中的数据页被累计两次命中后,也需要将该命中的数据页加载到热数据页存储区模块中。

【技术特征摘要】
1.一种基于分类策略的页级缓冲区改进方法,其特征在于包括请求类型区分模块、热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块;所述的请求类型区分模块是用来区分文件系统发出的请求是随机请求还是具有高空间本地性的连续请求;所述的热数据页存储区模块是用来加载访问频繁的请求的数据页;所述的访问频繁的请求是指请求在缓冲区中的累计命中次数大于等于两次;所述的冷数据页存储区模块要是用来缓存访问频率较低的请求的数据页,若请求在冷数据页存储区模块中累计两次命中后,即将该命中的数据页加载到热数据页存储区模块中;再者,冷数据页存储区模块还存储从热数据页存储区模块剔除的数据页;所述的连续数据页存储区模块主要是用来加载具有高空间本地性请求的数据页;同样,当连续数据页存储区模块中的数据页被累计两次命中后,也需要将该命中的数据页加载到热数据页存储区模块中。2.如权利要求1所述的一种基于分类策略的页级缓冲区改进方法,其特征在于预取多个连续的数据页到连续数据页存储区,能够提升对连续请求的响应性能。3.如权利要求2所述的一种基于分类策略的页级缓冲区改进方法,其特征在于当缓冲区满时,优先置换冷数据页存储区的干净页,当冷数据页存储区没有干净页时,再将脏页置换出去,有效降低闪存的读写开销。4.如权利要求3所述的一种基于分类策略的页级缓冲区改进方法,其特征在于包括如下步骤:步骤1、将SSD中的数据页缓存分成请求类型区分模块,热数据页存储区模块、冷数据页存储区模块和连续数据页存储区模块4个模块,数据页缓存中的所有数据页都标识有hot-flag标志位,即hot-flag设置为1表示该数据页为热页,设置为0...

【专利技术属性】
技术研发人员:杜晨杰
申请(专利权)人:浙江万里学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1