[发明专利]改善缓存预取数据局部性的方法和系统及缓存访问方法有效
申请号: | 201310298246.7 | 申请日: | 2013-07-16 |
公开(公告)号: | CN103383666A | 公开(公告)日: | 2013-11-06 |
发明(设计)人: | 严得辰;刘立坤 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 改善 缓存 数据 局部性 方法 系统 访问 | ||
1.一种改善缓存预取数据局部性的方法,所述方法包括:
统计缓存中每个预取数据记录集合的预取命中次数,所述预取命中次数为该集合中被访问的数据记录的总数;
对于其预取命中次数小于设定的命中阈值的预取数据记录集合,在将该集合换出缓存时,将该集合中被访问的数据记录写入到新的存储区域,与该存储区域中的其他数据形成新的预取数据记录集合。
2.根据权利要求1所述的方法,还包括:
对于缓存中每个预取数据记录集合:
将该集合中首次被访问的数据记录标记为特殊记录;
计算该集合中当前被访问的数据记录与上次被访问的数据记录之间的访问间隔,如果该访问间隔大于设定的间隔阈值,则将当前被访问的数据记录标记为特殊记录;
对于其预取命中次数小于命中阈值的预取数据记录集合,在将该集合换出缓存时,将被标记为特殊记录的数据记录的预取入口修改为所述新的预取数据记录集合。
3.根据权利要求2所述的方法,所述访问间隔为时间间隔、访问次数间隔、自定义的逻辑间隔或者上述间隔的组合。
4.根据权利要求1所述的方法,还包括对于其预取命中次数小于命中阈值的预取数据记录集合,在将该集合换出缓存时,将该集合中被访问的数据记录预取入口都修改为所述新的预取数据记录集合。
5.一种改善缓存预取数据局部性的系统,所述系统包括:
用于统计缓存中每个预取数据记录集合的预取命中次数的装置,所述预取命中次数为该集合中被访问的数据记录的总数;
用于对于其预取命中次数小于设定的命中阈值的预取数据记录集合,在将该集合换出缓存时,将该集合中被访问的数据记录写入到新的存储区域,与该存储区域中的其他数据形成新的预取数据记录集合的装置。
6.根据权利要求5所述的系统,还包括标记装置和修改装置,
所述标记装置用于对于缓存中每个预取数据记录集合:
将该集合中首次被访问的数据记录标记为特殊记录;
计算该集合中当前被访问的数据记录与上次被访问的数据记录之
间的访问间隔,如果该访问间隔大于设定的间隔阈值,则将当前被访问的数据记录标记为特殊记录;
所述修改装置用于对于其预取命中次数小于命中阈值的预取数据记录集合,在将该集合换出缓存时,将被标记为特殊记录的数据记录的预取入口修改为所述新的预取数据记录集合。
7.根据权利要求5所述的系统,还包括修改装置,其用于对于其预取命中次数小于命中阈值的预取数据记录集合,在将该集合换出缓存时,将该集合中被访问的数据记录预取入口都修改为所述新的预取数据记录集合。
8.一种缓存访问方法,该方法包括:
对于待访问的数据记录,如果缓存命中,则将缓存中包含该待访问的数据记录的预取数据记录集合的预取命中次数增加1;
如果缓存未命中且有空的缓存项,则将包含该待访问的数据记录的预取数据记录集合预取到该缓存项中,并将该预取数据记录集合的预取命中次数增加1;
如果缓存未命中且没有空的缓存项,则执行:
判断选定的缓存项中预取数据记录集合的预取命中次数是否小于设定的命中阈值,如果小于,则将该集合中被访问的数据记录写入到新的存储区域,与该存储区域中的其他数据形成新的预取数据记录集合;以及
将包含该待访问的数据记录的预取数据记录集合预取到该选定的缓存项中,并将该预取数据记录集合的预取命中次数增加1。
9.根据权利要求8所述的方法,还包括:
对于缓存中每个预取数据记录集合:
将该集合中首次被访问的数据记录标记为特殊记录;
计算该集合中当前被访问的数据记录与上次被访问的数据记录之间的访问间隔,如果该访问间隔大于设定的间隔阈值,则将当前被访问的数据记录标记为特殊记录;
在将其预取命中次数小于命中阈值的预取数据记录集合换出缓存时,将被标记为特殊记录的数据记录的预取入口修改为所述新的预取数据记录集合。
10.根据权利要求8所述的方法,还包括在将其预取命中次数小于命中阈值的预取数据记录集合换出缓存时,将该集合中被访问的数据记录预取入口都修改为所述新的预取数据记录集合。
11.根据权利要求8或9或10所述的方法,还包括:
当所述新的预取数据记录集合中的数据记录个数达到设定的阈值时,对于缓存中其预取命中次数小于设定的命中阈值的每个预取数据记录集合,将该集合中被访问的数据记录写入到该新的预取数据记录集合中;
停止对该新的预取数据记录集合的写入,获取空闲的缓存空间用于存储另一个新的预取数据记录集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310298246.7/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置