[发明专利]一种基于区域热度的缓存管理方法有效
申请号: | 201510187454.9 | 申请日: | 2015-04-21 |
公开(公告)号: | CN104794064B | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 陈俭喜;冯丹;李洁琼;叶锋;梅林军;吴婵明;方雪娇 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 廖盈春 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于区域热度的缓存管理方法,通过对数据块的筛选,只缓存热点数据块,减少了缓存写满后的替换操作,由此提高缓存命中率、延长SSD使用寿命;具体包括(1)创建哈希表和二叉树并初始化,记录磁盘区域号、各磁盘区域对应的热度值、两个指向左右子区域的指针以及子区域的热度值;(2)对于每次读写请求,根据磁盘区域大小和读写请求数据块对应的地址更新哈希表及二叉树信息;(3)根据区域热度值筛选出频繁访问的数据块,将该数据块里的数据写入缓存;通过本发明提供的先筛选再写入的缓存管理方法,可提高缓存的命中率,减少缓存数据的替换操作,延长固态硬盘缓存的使用寿命。 | ||
搜索关键词: | 一种 基于 区域 热度 缓存 管理 方法 | ||
【主权项】:
一种基于区域热度的缓存管理方法,其特征在于,具体如下:(1)在内存中创建哈希表和二叉树,并初始化哈希表和二叉树;采用哈希表记录磁盘区域号、每个磁盘区域对应的热度值以及两个指向左右子区域的指针;采用二叉树保存子区域的热度值;(2)对于每次读写请求,根据磁盘区域大小和读写请求数据块对应的地址更新哈希表内各区域的热度值;同时按照热度值衰减周期将各区域的热度值减半,并更新二叉树内子区域热度值,所述热度值衰减周期按照请求访问次数计算得到;(3)根据区域热度值筛选出频繁访问的数据块,将该数据块里的数据写入缓存;所述步骤(3)根据区域热度值筛选出频繁访问的数据块的过程具体如下:(3.1)判断请求数据是否命中缓存;若是,则进入步骤(3.10);若否,则进入步骤(3.2);(3.2)判断缓存是否已写满;若是,进入步骤(3.4);若否,则进入步骤(3.3);(3.3)将请求数据写入空闲缓存块,形成请求数据块,并将请求数据块插入缓存块队列尾部,然后进入步骤(3.10);(3.4)从缓存队列的头部开始,按照先进先出的原则,获取一个缓存块,然后进入步骤(3.5);(3.5)判断请求数据块与获取的缓存块是否属于同一区域;若是,则进入步骤(3.6);若否,则进入步骤(3.7);(3.6)判断请求数据块与缓存数据块是否属于同一子区域,若是,则进入步骤(3.4),从缓存队列中获取下一个缓存块;若否,则进入步骤(3.7);(3.7)从哈希表中通过数据块号分别查找缓存块对应的区域热度PrA与请求数据块对应的区域热度PrB;若PrB大于c*PrA,则进入步骤(3.10);否则,进入步骤(3.8);其中c为比较因子;(3.8)重复步骤(3.4)~(3.7),直到请求数据块区域热度与缓存队列里所有数据块的区域热度比较完,进入步骤(3.9);(3.9)将读写请求定向到磁盘对应的地址,将请求数据块写入磁盘;(3.10)将读写请求定向到当前缓存对应的地址,将请求数据块写入当前选择的缓存块所在的空间。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510187454.9/,转载请声明来源钻瓜专利网。