当前位置: 首页 > 专利查询>伊姆西公司专利>正文

用于移除缓存数据的方法和设备技术

技术编号:11310299 阅读:82 留言:0更新日期:2015-04-16 07:59
本发明专利技术的实施方式提供了一种用于移除缓存数据的方法和设备。所述方法包括:确定多个分链表的活跃度;根据确定的所述多个分链表的活跃度,对所述多个分链表进行排序。所述方法还包括:当缓存区中已使用的容量达到预定阈值时,根据所述排序的结果,从所述多个分链表中移除预定数量的缓存数据。通过本发明专利技术的实施方式,可以采用每个分链表的活跃度来整体衡量每个分链表所包括的缓存数据的访问热度,在移除时能够移除整个系统中访问热度较低的缓存数据并且保留整个系统中访问热度较高的缓存数据,从而提高了系统的读写速率。

【技术实现步骤摘要】
【专利摘要】本专利技术的实施方式提供了一种用于移除缓存数据的方法和设备。所述方法包括:确定多个分链表的活跃度;根据确定的所述多个分链表的活跃度,对所述多个分链表进行排序。所述方法还包括:当缓存区中已使用的容量达到预定阈值时,根据所述排序的结果,从所述多个分链表中移除预定数量的缓存数据。通过本专利技术的实施方式,可以采用每个分链表的活跃度来整体衡量每个分链表所包括的缓存数据的访问热度,在移除时能够移除整个系统中访问热度较低的缓存数据并且保留整个系统中访问热度较高的缓存数据,从而提高了系统的读写速率。【专利说明】用于移除缓存数据的方法和设备
本专利技术的实施方式总体涉及数据存储领域,更具体地,涉及用于移除缓存数据的方法和设备。
技术介绍
在计算机领域中,通常为设备配备一定的存储装置来存储操作过程中所需的数据。相对于传统的硬盘来说,闪存盘具有较高读写速率,并且通过闪存盘阵列技术能够提供高达TB级别的存储容量,因此其具有更广泛的应用。在使用闪存盘的过程中,通常会把多个磁盘分区的常用数据放入缓存区,以便于下次快速访问这些数据。 由于闪存盘的存储容量大,缓存数据通常也较多。在存储缓存数据时,可以根据多个磁盘分区生成多个分链表,每个分链表包括其对应的磁盘分区的缓存数据,并且每个分链表包括的缓存数据按照其访问热度排序放置。当分链表中的某个缓存数据最近被访问时,例如,对该缓存数据进行读取、写入、移除、替换等操作时,该缓存数据的访问热度最高,其排序位置也最靠前。由于系统的常用数据通常是不断变化的,而缓存区的容量有限并且即使断电也不会自动释放数据,因此,需要不断地移除缓存数据,以便于提高闪存盘的读写速率。 当缓存区中已使用的容量达到预定阈值时,常规的移除缓存数据的方法是:按照循环的方式依次从每个分链表中移除排序最靠后的一个缓存数据,直至移除预定数量的缓存数据。 然而,现有的技术方案存在一定的缺陷。由于无法知道整个缓存区中访问热度较低的缓存数据,只能简单地循环移除每个分链表中排序较靠后的缓存数据。这将会导致对于活跃度较高的分链表,例如包括较多的相对于其他分链表来说被更频繁访问的缓存数据的分链表,可能会移除该分链表所包括的在整个缓存区中访问度较高的缓存数据;而对于活跃度较低的分链表,却并未移除其包括的访问热度较低的缓存数据,从而使得闪存盘的读写速率较低。
技术实现思路
针对现有技术中存在的技术问题,本专利技术的多种实施方式提供了一种用于移除缓存数据的方法和设备。 根据本专利技术的第一方面,提供了一种用于移除缓存数据的方法。所述方法包括:确定多个分链表的活跃度;根据确定的多个分链表的活跃度,对多个分链表进行排序。所述方法还包括:当缓存区中已使用的容量达到预定阈值时,根据排序的结果,从多个分链表中移除预定数量的缓存数据。 根据本专利技术的可选实施方式,其中确定多个分链表的活跃度包括:确定每个分链表的最近整体访问时间戳,最近整体访问时间戳标示每个分链表包括的所有缓存数据最近一次均被访问的时间;其中根据确定的多个分链表的活跃度,对多个分链表进行排序包括:根据确定的最近整体访问时间戳,对多个分链表进行排序。 根据本专利技术的可选实施方式,其中最近整体访问时间戳的初始值为初始化每个分链表的时间。 根据本专利技术的可选实施方式,其中根据排序的结果,从多个分链表中移除预定数量的缓存数据包括:从排序最靠后的分链表开始,按照升序的方式循环确定每个分链表的第一可移除数量,其中第一可移除数量与分链表的数量、每个分链表所处的排序位置、预定数量以及在排序后的分链表中当前已移除数量相关联;以及从每个分链表中排序最靠后的缓存数据开始移除确定的第一可移除数量的缓存数据,直至移除预定数量的缓存数据。 根据本专利技术的可选实施方式,其中确定多个分链表的活跃度包括:在每个分链表中确定在预定时间间隔内未被访问的缓存数据的数量;其中根据确定的多个分链表的活跃度,对多个分链表进行排序包括:根据确定的未被访问的缓存数据的数量,对多个分链表进行排序。 根据本专利技术的可选实施方式,其中每个分链表对应一个定位指针,在预定时间间隔的初始时刻定位指针指向每个分链表中排序最靠前的缓存数据,其中在每个分链表中确定在预定时间间隔内未被访问的缓存数据的数量包括:针对预定时间间隔,确定定位指针所指向的缓存数据在每个分链表中所处的排序位置;以及将每个分链表中从位于确定的排序位置的缓存数据到位于排序最靠后的位置的缓存数据之间的缓存数据的数量确定为未被访问的缓存数据的数量。 根据本专利技术的可选实施方式,其中根据排序的结果,从多个分链表中移除预定数量的缓存数据包括:从排序最靠后的分链表开始,按照升序的方式循环移除每个分链表包括的至少一个未被访问的缓存数据,直至移除预定数量的缓存数据。 根据本专利技术的可选实施方式,其中循环移除每个分链表包括的至少一个未被访问的缓存数据包括:按照循环的方式每次移除每个分链表中排序最靠后的至少一个未被访问的缓存数据。 根据本专利技术的可选实施方式,其中在多个分链表包括的未被访问的缓存数据的数量之和小于预定数量时,进一步包括: 确定每个分链表的最近整体访问时间戳,最近整体访问时间戳标示每个分链表包括的所有缓存数据最近一次均被访问的时间;根据确定的最近整体访问时间戳,对多个分链表进行排序;以及从排序最靠后的分链表开始移除剩余移除数量的缓存数据。 根据本专利技术的可选实施方式,其中从排序最靠后的分链表开始移除剩余移除数量的缓存数据包括:从排序最靠后的分链表开始,按照升序的方式循环确定每个分链表的第二可移除数量,其中第二可移除数量与分链表的数量、每个分链表所处的排序位置、剩余移除数量以及在排序后的分链表中当前已移除数量相关联;以及从每个分链表中排序最靠后的缓存数据开始移除确定的第二可移除数量的缓存数据,直至移除剩余移除数量的缓存数据。 根据本专利技术的另一方面,提供了一种用于移除缓存数据的设备。所述设备包括:确定装置,用于确定多个分链表的活跃度;排序装置,用于根据确定的多个分链表的活跃度,对多个分链表进行排序。所述设备还包括:移除装置,用于当缓存区中已使用的容量达到预定阈值时,根据排序结果,从多个分链表中移除预定数量的缓存数据。 根据本专利技术的可选实施方式,其中确定装置还用于确定每个分链表的最近整体访问时间戳,最近整体访问时间戳标示每个分链表包括的所有缓存数据最近一次均被访问的时间;其中排序装置还用于根据确定的最近整体访问时间戳,对多个分链表进行排序。 根据本专利技术的可选实施方式,其中最近整体访问时间戳的初始值为初始化每个分链表的时间。 根据本专利技术的可选实施方式,其中移除装置还用于从排序最靠后的分链表开始,按照升序的方式循环确定每个分链表的第一可移除数量,其中第一可移除数量与分链表的数量、每个分链表所处的排序位置、预定数量以及在排序后的分链表中当前已移除数量相关联;以及从每个分链表中排序最靠后的缓存数据开始移除确定的第一可移除数量的缓存数据,直至移除预定数量的缓存数据。 根据本专利技术的可选实施方式,其中确定装置还用于在每个分链表中确定在预定时间间隔内未被访问的缓存数据的数量;其中排序装置还用于根据确定的未被访问的缓存数据的数量,对多个分链表进行排序。 根据本文档来自技高网
...
用于移除缓存数据的方法和设备

【技术保护点】
一种用于移除缓存数据的方法,包括:确定多个分链表的活跃度;根据确定的所述多个分链表的活跃度,对所述多个分链表进行排序;以及当缓存区中已使用的容量达到预定阈值时,根据所述排序的结果,从所述多个分链表中移除预定数量的缓存数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐鑫磊吴永军薛雷李雄成谢鹏
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1