[发明专利]用于移除缓存数据的方法和设备有效
申请号: | 201310466038.3 | 申请日: | 2013-09-27 |
公开(公告)号: | CN104516828B | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 徐鑫磊;吴永军;薛雷;李雄成;谢鹏 | 申请(专利权)人: | 伊姆西公司 |
主分类号: | G06F12/0871 | 分类号: | G06F12/0871 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 王茂华 |
地址: | 美国马*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 缓存 数据 方法 设备 | ||
技术领域
本发明的实施方式总体涉及数据存储领域,更具体地,涉及用于移除缓存数据的方法和设备。
背景技术
在计算机领域中,通常为设备配备一定的存储装置来存储操作过程中所需的数据。相对于传统的硬盘来说,闪存盘具有较高读写速率,并且通过闪存盘阵列技术能够提供高达TB级别的存储容量,因此其具有更广泛的应用。在使用闪存盘的过程中,通常会把多个磁盘分区的常用数据放入缓存区,以便于下次快速访问这些数据。
由于闪存盘的存储容量大,缓存数据通常也较多。在存储缓存数据时,可以根据多个磁盘分区生成多个分链表,每个分链表包括其对应的磁盘分区的缓存数据,并且每个分链表包括的缓存数据按照其访问热度排序放置。当分链表中的某个缓存数据最近被访问时,例如,对该缓存数据进行读取、写入、移除、替换等操作时,该缓存数据的访问热度最高,其排序位置也最靠前。由于系统的常用数据通常是不断变化的,而缓存区的容量有限并且即使断电也不会自动释放数据,因此,需要不断地移除缓存数据,以便于提高闪存盘的读写速率。
当缓存区中已使用的容量达到预定阈值时,常规的移除缓存数据的方法是:按照循环的方式依次从每个分链表中移除排序最靠后的一个缓存数据,直至移除预定数量的缓存数据。
然而,现有的技术方案存在一定的缺陷。由于无法知道整个缓存区中访问热度较低的缓存数据,只能简单地循环移除每个分链表中排序较靠后的缓存数据。这将会导致对于活跃度较高的分链表,例如包括较多的相对于其他分链表来说被更频繁访问的缓存数据的分链表,可能会移除该分链表所包括的在整个缓存区中访问度较高的缓存数据;而对于活跃度较低的分链表,却并未移除其包括的访问热度较低的缓存数据,从而使得闪存盘的读写速率较低。
发明内容
针对现有技术中存在的技术问题,本发明的多种实施方式提供了一种用于移除缓存数据的方法和设备。
根据本发明的第一方面,提供了一种用于移除缓存数据的方法。所述方法包括:确定多个分链表的活跃度;根据确定的多个分链表的活跃度,对多个分链表进行排序。所述方法还包括:当缓存区中已使用的容量达到预定阈值时,根据排序的结果,从多个分链表中移除预定数量的缓存数据。
根据本发明的可选实施方式,其中确定多个分链表的活跃度包括:确定每个分链表的最近整体访问时间戳,最近整体访问时间戳标示每个分链表包括的所有缓存数据最近一次均被访问的时间;其中根据确定的多个分链表的活跃度,对多个分链表进行排序包括:根据确定的最近整体访问时间戳,对多个分链表进行排序。
根据本发明的可选实施方式,其中最近整体访问时间戳的初始值为初始化每个分链表的时间。
根据本发明的可选实施方式,其中根据排序的结果,从多个分链表中移除预定数量的缓存数据包括:从排序最靠后的分链表开始,按照升序的方式循环确定每个分链表的第一可移除数量,其中第一可移除数量与分链表的数量、每个分链表所处的排序位置、预定数量以及在排序后的分链表中当前已移除数量相关联;以及从每个分链表中排序最靠后的缓存数据开始移除确定的第一可移除数量的缓存数据,直至移除预定数量的缓存数据。
根据本发明的可选实施方式,其中确定多个分链表的活跃度包括:在每个分链表中确定在预定时间间隔内未被访问的缓存数据的数量;其中根据确定的多个分链表的活跃度,对多个分链表进行排序包括:根据确定的未被访问的缓存数据的数量,对多个分链表进行排序。
根据本发明的可选实施方式,其中每个分链表对应一个定位指针,在预定时间间隔的初始时刻定位指针指向每个分链表中排序最靠前的缓存数据,其中在每个分链表中确定在预定时间间隔内未被访问的缓存数据的数量包括:针对预定时间间隔,确定定位指针所指向的缓存数据在每个分链表中所处的排序位置;以及将每个分链表中从位于确定的排序位置的缓存数据到位于排序最靠后的位置的缓存数据之间的缓存数据的数量确定为未被访问的缓存数据的数量。
根据本发明的可选实施方式,其中根据排序的结果,从多个分链表中移除预定数量的缓存数据包括:从排序最靠后的分链表开始,按照升序的方式循环移除每个分链表包括的至少一个未被访问的缓存数据,直至移除预定数量的缓存数据。
根据本发明的可选实施方式,其中循环移除每个分链表包括的至少一个未被访问的缓存数据包括:按照循环的方式每次移除每个分链表中排序最靠后的至少一个未被访问的缓存数据。
根据本发明的可选实施方式,其中在多个分链表包括的未被访问的缓存数据的数量之和小于预定数量时,进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于伊姆西公司,未经伊姆西公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310466038.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种表格重排方法和系统
- 下一篇:一种内存访问方法和设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置