[发明专利]一种基于固态硬盘的读缓存管理方法及装置在审
申请号: | 201410844432.0 | 申请日: | 2014-12-30 |
公开(公告)号: | CN104572491A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 柴云鹏;孙东旺 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 固态 硬盘 缓存 管理 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种基于固态硬盘的读缓存管理方法及装置。
背景技术
目前为了改进磁盘系统的输入/输出性能,例如减小请求响应时间、提高吞吐率等,在大多数存储系统中,在磁盘系统的上层采用缓存技术来满足性能提升的需求。
传统的存储系统中,数据库系统一般以DRAM(Dynamic Random Access Memory,动态随机存取存储器)作为缓存介质,DRAM具有读写平衡和写入耐久性好的优点,不需要考虑DRAM写入量,可以频繁的将数据写入DRAM中。
为了降低缓存介质的成本,越来越多的存储系统中采用SSD(Solid State Drives,固态硬盘)作为缓存介质,SSD具有容量更大、成本更低和非易失性的优点,但是SSD具有可擦写次数限制的问题。运用传统缓存替换算法(例如LRU等)管理SSD时,由于缓存介质缺失驱动数据更新,新来的读请求未命中时会导致SSD中有数据块被删除,如果不断有新来的读请求未命中,SSD中就会有数据块不断的被踢出,SSD中的数据块的停留时间会很短,然而这些被踢出的数据块可能在一定时间之后有被重新写入SSD,这样频繁的数据擦写操作会减少SSD的使用寿命,增加成本和维护难度。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于SSD的读缓存管理方法和装置。可减少SSD的擦写次数,延长SSD的使用寿命。
为了解决上述技术问题,本发明实施例第一方面提供了一种基于SSD的读缓存管理方法,包括:
接收读请求,并判断所述读请求是否命中所述第一队列和所述第二队列;
若二者均未命中,根据缓存替换算法选择并删除所述第一队列中的淘汰数据块;其中,所述淘汰数据块为已存储状态;
若所述淘汰数据块为已存储状态,将所述淘汰数据块插入所述第二队列中;
从下级存储介质中确定所述读请求对应的目标数据块,将所述目标数据块插入所述第一队列中;其中,所述目标数据块为未存储状态。
结合第一方面,在第一种可能的实现方式中,还包括:
若所述淘汰数据块为未存储状态,将所述淘汰数据块从第一队列中删除,并从所述SSD中删除。
结合第一方面,在第二种可能的实现方式中,还包括:
若所述读请求未命中所述第一队列但命中所述第二队列,删除所述第二队列中所述读请求对应的命中数据块;
将所述命中数据块插入所述第一队列中。
结合第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,还包括:
计算所述第二队列中的待处理数据块的空闲时间;其中,所述待处理数据块为所述第二队列中的数据块的任意一个;
当所述待处理数据块持续未访问的时间大于所述待处理数据块的空闲时间时,将所述待处理数据块从所述第二队列中删除;
获取所述待处理数据块的身份标识,并将所述待处理数据块的身份标识插入到第三队列中。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,述计算所述所述第二队列中的待处理数据块的空闲时间包括:
统计所述待处理数据块在所述第一队列中的命中次数M和所述第二队列中的命中次数N;
根据所述命中次数M和所述命中次数N计算所述待处理数据块的空闲时间。
结合第一方面的第二种可能的实现方式,在第五种可能的实现方式中,所述将所述淘汰数据块插入所述第二队列中包括:
获取所述淘汰数据块的身份信息;
若所述淘汰数据块的身份信息不在所述第三队列中,将所述淘汰数据块插入所述第二队列中;
若所述淘汰数据块的身份信息在所述第三队列中,判断所述淘汰数据块的淘汰时长是否大于预设时间阈值,若为是,将所述淘汰数据块插入所述第二队列中。
结合第一方面至第五种可能的实现方式中的任意一种,在第六种可能的实现方式中,所述当所述待处理数据块持续未访问的时间大于所述待处理数据块的空闲时间时,将所述待处理数据块从所述第二队列中删除之后,还包括:
搜索所述第一队列中首个未存储状态的数据块;
将所述首个未存储状态的数据块写入所述SSD中,并在写入操作完成后将该数据块设置为已存储状态;或者
确定所述第一队列中前K位未存储状态的数据块;其中K为大于0的整数;
将所述K个数据块中访问量最大的数据块写入所述SSD,并在写入操作完成后将所述访问量最大的数据块设置为已存储状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;,未经华为技术有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410844432.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现自定义鼠标按键多击功能的方法及系统
- 下一篇:一种信息提醒方法和装置