一种实现存储系统ssd缓存的数据智能降级的方法
【专利摘要】本发明公开了一种实现存储系统SSD缓存的数据智能降级的方法,所述方法采用一套缓存数据智能降级的策略,利用一个缓存数据智能降级线程,识别并统计缓存数据的降级特征属性,随后根据智能降级算法,当满足降级条件时,主动完成缓存数据的降级操作,将需要降级的数据块从SSD缓存中迁移至HDD硬盘中,从而实现缓存数据的主动降级,降低缓存污染,高效的利用SSD缓存空间。采用该方法,能够大幅降低缓存污染,保证缓存中的数据就是最热点的数据,保证SSD缓存空间的高效利用,提高存储系统吞吐量,减少响应时间,整体提高存储系统性能。
【专利说明】一种实现存储系统SSD缓存的数据智能降级的方法
【技术领域】
[0001]本发明涉及一种实现存储系统SSD缓存的数据智能降级的方法,通常用于存储系统中,旨在提供一种SSD缓存数据智能降级的方法。
技术背景
[0002]随着当今社会的进步,需要处理的数据信息越来越多,数据量呈爆炸式增长。这给传统的存储系统带来了诸多问题。传统存储系统一般使用机械式硬盘(HDD),传统存储系统的性能已经成为瓶颈。近两年,SSD即固态存储硬盘开始兴起。一方面,SSD本身具有快速随机存取、低耗能、超轻超薄、低故障率(非机械部件)等特点。另一方面,由于技术发展,SSD逐渐解决了容量小,顺序存取速度慢的问题。当前市场上的最新SSD,单盘容量达到几TB,PCIE接口的SSD吞吐量超过lGB/s,IOPS达到几十万次/s。SSD性能全面超过传统机械硬盘,而其存取速度、响应时间等关键指标更是大幅超过传统机械硬盘。
[0003]但是因为SSD的价格要远远高于HDD硬盘,因此将SSD作为缓存既能满足当今数据处理的性能要求,又能不提高存储系统成本。
[0004]SSD具有一些特性,一是SSD具有特殊的读写特性,其读写性能不对称,SSD读性能远远大于写性能,尤其是在随机小数据的情况下,写操作对SSD的性能影响更严重;二是SSD的容量还远远小于HDD硬盘,因此SSD空间是极其珍贵的。
[0005]同时,存储系统传统缓存技术也面临着一些挑战。一是缓存的污染问题。一般来说,传统缓存技术只有在SSD缓存存满后才会触发降级操作,可想而知,此时缓存中一定会存在大量的过时数据,造成极大的缓存污染,并且会降低缓存的命中率;二是缓存的性能问题。传统缓存技术采用被动的降级策略,只有存在新的升级数据并且缓存已满的情况下,才会被动执行降级操作。首先从缓存中降级数据,为即将升级的数据腾出空间,然后才能执行数据的升级操作,可见这种被动策略会对缓存的性能产生一定影响。
【发明内容】
[0006]本发明要解决的技术问题是:
针对SSD特性和传统缓存技术的诸多问题,存储系统SSD缓存的数据智能降级方法急需解决两个问题。一是解决SSD缓存的污染问题,如何减少缓存的过时数据,降低缓存污染的程度,从而提高有限的SSD空间的有效利用率,缓存最有价值的数据;二是解决被动降级策略带来的性能问题,如何能够采取一个有效的策略,转被动为主动并且分离降级操作对升级操作的依赖,解决SSD读写特性的问题,提高缓存的整体性能。
[0007]通过该存储系统SSD缓存的数据智能降级的方法,能够实现SSD缓存数据智能的主动降级,大幅降低SSD缓存的缓存污染,提高缓存空间的有效利用率,提升缓存的整体性能,满足存储系统高性能的需求。
[0008]本发明所采用的技术方案为:
一种实现存储系统SSD缓存的数据智能降级的方法,该方法支持在不同的操作系统,实现SSD缓存数据的智能降级。
[0009]所述方法采用一套缓存数据智能降级的策略,利用一个缓存数据智能降级线程,识别并统计缓存数据的降级特征属性,随后根据智能降级算法,当满足降级条件时,主动完成缓存数据的降级操作,将需要降级的数据块从SSD缓存中迁移至HDD硬盘中,从而实现缓存数据的主动降级,降低缓存污染,高效的利用SSD缓存空间,采用独立的降级策略,在一定程度上保证升级操作的高效性。
[0010]所述方法包括系统如下:1)缓存数据降级监控模块;2)降级特征属性收集模块;3)降级特征属性统计模块;4)缓存数据降级策略模块;5)降级数据处理模块,其中:
模块I)缓存数据降级监控模块,负责触发缓存数据的降级操作,该模块可以根据定时时间或者SSD缓存容量占用百分比实现触发缓存数据降级的时机;定时时间或者SSD容量百分比均可以由用户指定。
[0011]模块2)降级特征属性收集模块,负责收集缓存中数据块的特征属性,特征属性包括访问时间和访问频率,该模块会对每个数据块的访问时间和访问频率这两项特征属性进行收集;
模块3)降级特征属性统计模块,负责统计计算缓存中数据块的特征属性信息,该模块会计算缓存中所有数据块的访问时间属性和访问频率属性的平均值,其中,访问时间属性按照时间等级划分,以小时为单位,最近一小时的访问时间等级为1,最近一小时至两小时的访问时间等级为2,以此类推,访问时间越久的数据块的时间等级就会越高;访问频率属性按照命中次数完成统计,平均值计算公式为特征属性值的总和/特征属性统计个数;模块4)缓存数据降级策略模块,负责降级数据块的确定,首先,在缓存信息链表中,根据缓存数据块访问时间属性的平均值,将低于平均值的数据块信息拷贝至待降级链表;然后,在待降级链表中,根据缓存数据块访问频率属性的平均值,将低于平均值的数据块信息加入到降级链表;最后,清空待降级链表;
模块5)降级数据处理模块,负责处理数据块的降级,清除这部分数据块的缓存信息,首先,在缓存信息中清除降级数据块的缓存信息;然后,将待降级链表中的数据块加入到旧数据链表,并清空降级链表。
[0012]所述方法流程如下:
1、模块I)根据用户指定的缓存数据降级方式监控降级条件,判断是否满足降级条件,若未满足条件,则继续监控;若满足条件,则会调用模块2);
2、模块2)收集缓存数据特征属性,两项特征属性收集完成后调用模块3);
3、模块3)根据模块2)输入的特征属性信息,分别计算访问时间和访问频率的平均值,并调用模块4);
4、模块4)根据模块3)输入的两项特征属性的平均值,获取降级链表的数据块,并调用模块5);
5、模块5)清除降级数据块的缓存信息,完成将降级数据块加入至旧数据链表。
[0013]本发明的有益效果为:
采用该方法,能够保证SSD缓存数据的智能的主动降级,缓存最有价值的数据,高效的利用缓存,满足用户对高性能存储系统的需求,实现SSD缓存数据的智能降级,按照用户指定的降级触发方式,监控缓存数据的降级情况,根据智能降级策略主动完成缓存数据的降级操作,分离缓存降级升级策略,实现独立的主动的降级策略,大幅降低缓存污染,保证缓存中的数据就是最热点的数据,保证SSD缓存空间的高效利用,提高存储系统吞吐量,减少响应时间,整体提高存储系统性能。
[0014]因此采用此方法,能够高效、智能、主动的实现存储系统SSD缓存数据的智能降级。
【专利附图】
【附图说明】
[0015]图1为本发明数据智能降级整体流程示意图;
图2为缓存数据降级策略模块流程示意图;
图3为降级数据处理模块流程示意图。
【具体实施方式】
[0016]下面参照附图,通过【具体实施方式】对本发明进一步说明:
本发明实施方案非常简单,只需要在LINUX内核中安装本发明的系统模块程序即可。
[0017]根据本发明,SSD缓存系统能够自动实现缓存数据的智能降级,当存储系统需要降级缓存数据时,SSD缓存系统会智能的主动的完成降级数据的识别和降级操作,满足SSD缓存系统的数据智能降级的特性。
[0018]一种实现存储系统SSD缓存的数据智能降级的方法,该方法支持在不同的操作系统,实现SSD缓存数据的智能降级。
[0019]所述方法采用一套缓存数据智能降级的策略,利用一个缓存数据智能降级线程,识别并统计缓存数据的降级特征属性,随后根据智能降级算法,当满足降级条件时,主动完成缓存数据的降级操作,将需要降级的数据块从SSD缓存中迁移至HDD硬盘中,从而实现缓存数据的主动降级,降低缓存污染,高效的利用SSD缓存空间,采用独立的降级策略,在一定程度上保证升级操作的高效性。
[0020]所述方法包括系统如下:1)缓存数据降级监控模块;2)降级特征属性收集模块;3)降级特征属性统计模块;4)缓存数据降级策略模块;5)降级数据处理模块,其中:
模块I)缓存数据降级监控模块,负责触发缓存数据的降级操作,该模块可以根据定时时间或者SSD缓存容量占用百分比实现触发缓存数据降级的时机;定时时间或者SSD容量百分比均可以由用户指定。
[0021]模块2)降级特征属性收集模块,负责收集缓存中数据块的特征属性,特征属性包括访问时间和访问频率,该模块会对每个数据块的访问时间和访问频率这两项特征属性进行收集;
模块3)降级特征属性统计模块,负责统计计算缓存中数据块的特征属性信息,该模块会计算缓存中所有数据块的访问时间属性和访问频率属性的平均值,其中,访问时间属性按照时间等级划分,以小时为单位,最近一小时的访问时间等级为1,最近一小时至两小时的访问时间等级为2,以此类推,访问时间越久的数据块的时间等级就会越高;访问频率属性按照命中次数完成统计,平均值计算公式为特征属性值的总和/特征属性统计个数;模块4)缓存数据降级策略模块,负责降级数据块的确定,如图2所示,首先,在缓存信息链表中,根据缓存数据块访问时间属性的平均值,将低于平均值的数据块信息拷贝至待降级链表;然后,在待降级链表中,根据缓存数据块访问频率属性的平均值,将低于平均值的数据块信息加入到降级链表;最后,清空待降级链表;
模块5)降级数据处理模块,负责处理数据块的降级,清除这部分数据块的缓存信息,如图3所示,首先,在缓存信息中清除降级数据块的缓存信息;然后,将待降级链表中的数据块加入到旧数据链表,并清空降级链表。
[0022]如图1所示,所述方法流程如下:
1、模块I)根据用户指定的缓存数据降级方式监控降级条件,判断是否满足降级条件,若未满足条件,则继续监控;若满足条件,则会调用模块2);
2、模块2)收集缓存数据特征属性,两项特征属性收集完成后调用模块3);
3、模块3)根据模块2)输入的特征属性信息,分别计算访问时间和访问频率的平均值,并调用模块4);
4、模块4)根据模块3)输入的两项特征属性的平均值,获取降级链表的数据块,并调用模块5);
5、模块5)清除降级数据块的缓存信息,完成将降级数据块加入至旧数据链表。
【权利要求】
1.一种实现存储系统SSD缓存的数据智能降级的方法,其特征在于:所述方法采用一套缓存数据智能降级的策略,利用一个缓存数据智能降级线程,识别并统计缓存数据的降级特征属性,随后根据智能降级算法,当满足降级条件时,主动完成缓存数据的降级操作,将需要降级的数据块从SSD缓存中迁移至HDD硬盘中,实现缓存数据的主动降级,降低缓存污染,高效的利用SSD缓存空间,所述方法包括系统如下:1)缓存数据降级监控模块;2)降级特征属性收集模块;3)降级特征属性统计模块;4)缓存数据降级策略模块;5)降级数据处理模块,其中: 模块I)缓存数据降级监控模块,负责触发缓存数据的降级操作,根据定时时间或者SSD缓存容量占用百分比实现触发缓存数据降级的时机; 模块2)降级特征属性收集模块,负责收集缓存中数据块的特征属性,特征属性包括访问时间和访问频率,该模块会对每个数据块的访问时间和访问频率这两项特征属性进行收集; 模块3)降级特征属性统计模块,负责统计计算缓存中数据块的特征属性信息,该模块会计算缓存中所有数据块的访问时间属性和访问频率属性的平均值,其中,访问时间属性按照时间等级划分,以小时为单位,最近一小时的访问时间等级为1,最近一小时至两小时的访问时间等级为2,以此类推,访问时间越久的数据块的时间等级就会越高;访问频率属性按照命中次数完成统计,平均值计算公式为特征属性值的总和/特征属性统计个数; 模块4)缓存数据降级策略模块,负责降级数据块的确定,首先,在缓存信息链表中,根据缓存数据块访问时间属性的平均值,将低于平均值的数据块信息拷贝至待降级链表;然后,在待降级链表中,根据缓存数据块访问频率属性的平均值,将低于平均值的数据块信息加入到降级链表;最后,清空待降级链表; 模块5)降级数据处理模块,负责处理数据块的降级,清除这部分数据块的缓存信息,首先,在缓存信息中清除降级数据块的缓存信息;然后,将待降级链表中的数据块加入到旧数据链表,并清空降级链表。
2.根据权利要求1所述的一种实现存储系统SSD缓存的数据智能降级的方法,其特征在于,所述方法流程如下: a、模块I)根据用户指定的缓存数据降级方式监控降级条件,判断是否满足降级条件,若未满足条件,则继续监控;若满足条件,则会调用模块2); b、模块2)收集缓存数据特征属性,两项特征属性收集完成后调用模块3); C、模块3)根据模块2)输入的特征属性信息,分别计算访问时间和访问频率的平均值,并调用模块4); d、模块4)根据模块3)输入的两项特征属性的平均值,获取降级链表的数据块,并调用模块5); e、模块5)清除降级数据块的缓存信息,完成将降级数据块加入至旧数据链表。
【文档编号】G06F3/06GK103744623SQ201410011355
【公开日】2014年4月23日 申请日期:2014年1月10日 优先权日:2014年1月10日
【发明者】温源, 张宇, 徐旸 申请人:浪潮电子信息产业股份有限公司