[发明专利]存储系统的缓存预读方法及系统有效
申请号: | 201611199884.3 | 申请日: | 2016-12-22 |
公开(公告)号: | CN106708750B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 王永刚 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈勇 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储系统 缓存 方法 系统 | ||
本发明涉及计算机存储技术领域,尤其涉及存储系统的缓存预读方法。本发明通过建立多个局部地址空间,通过数据对象维护每个局部地址空间的数据访问信息,构建统计参数来进行预读的决策,包括局部地址空间的访问热度和局部地址空间中预读有效性;然后根据访问热度以及预读有效性,决定是否进行预读以及预读多大数据块。本发明通过动态统计数据访问的特点,无论是在随机访问的场景下还是顺序访问的场景下,都能很好的进行数据访问的预判,大大提升缓存的命中率,提升系统的访问性能。
技术领域
本发明涉及计算机存储技术领域,尤其涉及存储系统的缓存预读方法及系统。
背景技术
在存储系统中,由于内存和磁盘的性能差异,为了提高系统访问效率,会把部分数据的副本缓存到内存中,当进行数据访问时,首先尝试访问缓存,如果缓存不命中,再从后端磁盘访问。预读的思想是把后续可能会被访问的数据,提前放到缓存中,这样后续的数据访问,可以直接访问缓存而无需访问后端磁盘,从而提升访问效率。然而后续会访问哪些数据是未知的,这就需要通过预读算法确定把哪些数据提前放到缓存中,预读算法的好坏决定了后续数据访问的缓存命中率。
当前的许多预读算法是通过判断当前I/O访问是否是顺序访问,如果是顺序访问则进行预读,这种方法对于顺序访问的场景,对数据访问的预判比较准确,但是对于随机访问的场景,数据访问的预判准确率不高。
发明内容
鉴于此,本方法提供的一种存储系统的预读算法及系统,通过动态统计数据访问的特点,无论是在随机访问的场景下还是顺序访问的场景下,都能很好的进行数据访问的预判,大大提升缓存的命中率,提升系统的访问性能。
为了达到上述目的,本发明是通过以下技术方案实现的:
本发明提供一种存储系统的缓存预读方法,包括:
多个局部地址空间中,维护每个局部地址空间的数据访问信息;
根据数据访问信息,计算局部地址空间的访问热度和预读有效性;
根据局部地址空间的访问热度和预读有效性的值进行预读的决策。
其中,维护每个局部地址空间的数据访问信息之前,还包括:
在存储系统中,配置多个局部地址空间。
进一步地,维护每个局部地址空间的数据访问信息,包括:
维护该局部地址空间的起始地址,维护该局部地址空间的访问计数,维护从该局部地址空间预读的数据量,维护从该局部地址空间预读到缓存中数据被命中的数量。
进一步地,计算局部地址空间的访问热度和预读有效性,包括:
维护全局地址空间的访问计数;
将局部地址空间的访问计数除以全局地址空间的访问计数得到该局部地址空间的访问热度,将从局部地址空间预读到缓存中数据被命中的数量除以从局部地址空间预读的数据量得到该局部地址空间的预读有效性。
优选地,维护每个局部地址空间的数据访问信息,还包括:
通过数据对象维护每个局部地址空间的数据访问信息;
通过链表组织数据对象。
进一步地,通过链表组织数据对象,包括:
将链表中的数据对象组织成哈希表。
优选地,通过链表组织数据对象,包括:
当数据对象数量达到链表上限,采用页面置换算法保存新的数据对象至链表。
其中,根据局部地址空间的访问热度和预读有效性的值进行预读的决策,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611199884.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于基坑的塔吊基础及其施工方法
- 下一篇:一种利用模板匹配精确识别液位的方法