一种存储方法及装置制造方法

文档序号:6551536阅读:156来源:国知局
一种存储方法及装置制造方法
【专利摘要】本发明实施例公开了一种存储方法,在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中;在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度;若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。本发明实施例还公开一种存储装置。采用本发明,可解决数据块访问频率微小变化导致数据块在不同存储层反复迁移的问题。
【专利说明】一种存储方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种存储方法及装置。

【背景技术】
[0002]动态存储分层(Dynamic Storage Tiering,简称DST)技术在存储数据时已被普遍使用。其原理在于:在存储系统中配置至少两种不同性能的存储介质。在存储系统的使用过程中,通过对数据块过去的访问频率的统计来预测数据块未来的访问频率,根据数据块访问频率的统计结果动态地将数据块迁移到合适的存储介质。具体地,可将访问频率高的数据块迁移到高性能的存储介质上,将访问频率低的数据块迁移到低性能的存储介质上。通常高性能的存储介质价格较高,低性能的存储介质价格较低。通过这种数据存放和迁移方式,可以用更少的成本获得更好的数据平均访问性能。
[0003]由于数据块的访问频率是动态统计的,某些数据块访问频率会落在统计结果中对应存储层边界附近的位置。在之后的统计周期中,数据块访问频率的微小变化可能会使得其在连续的周期中反复地落在不同的存储层,引发该数据块的反复迁移,即同一块数据在邻近的周期中被反复地在存储层之间迁移。这样将浪费大量的IO资源,造成高性能存储介质如固态硬盘(Solid State Disk,简称SSD)的使用寿命缩短。因为SSD的擦写次数是有限的,反复迁移产生大量的擦写操作,将使得SSD寿命严重缩短。且反复大量迁移将破坏数据存储的连续性,生成大量磁盘碎片。


【发明内容】

[0004]本发明实施例所要解决的技术问题在于,提供一种存储方法及装置。以解决数据块访问频率微小变化导致数据块在不同存储层反复迁移的问题。
[0005]本发明实施例第一方面提供了一种存储方法,可包括:
[0006]在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中;
[0007]在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度,其中,所述阻尼区为访问频率的值的区间,且所述阻尼区与存储层中的存储区域存在预设映射关系,每个存储层包括至少一个阻尼区;
[0008]若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。
[0009]在第一方面的第一种可能的实现方式中,所述阻尼区与存储层中的边界区域存在预设映射关系。
[0010]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数,包括:
[0011]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数;
[0012]所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,包括:
[0013]若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0014]结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区间的次数,还包括:
[0015]在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的次数;
[0016]所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,还包括:
[0017]若所述数据块的访问频率落入所述第四阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0018]结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的深度,包括:
[0019]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度;
[0020]所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,包括:
[0021]若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0022]结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区间的深度,还包括:
[0023]在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的深度;
[0024]所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,还包括:
[0025]若所述数据块的访问频率落入所述第四阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0026]在第一方面的第六种可能的实现方式中,在若所述数据块的访问频率落入相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中之后,还包括:
[0027]将在所述第二周期内统计的结果清零。
[0028]结合第一方面或结合第一方面的第一或第二或第三或第四或第五或第六种可能的实现方式,在第七种可能的实现方式中,所述第二周期为所述第一周期的正整数倍。
[0029]结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,若所述数据块的访问频率落入所述阻尼区对应的存储层中与所述阻尼区不存在预设映射关系的存储区域时,则将所述数据块迁移至所述阻尼区对应的存储层中。
[0030]本发明第二方面提供一种存储装置,包括:
[0031]第一统计单元,用于在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中;
[0032]第二统计单元,用于在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度,其中,所述阻尼区为访问频率的值的区间,且所述阻尼区与存储层中的存储区域存在预设映射关系,每个存储层包括至少一个阻尼区;
[0033]数据迁移单元,用于若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。
[0034]在第二方面的第一种可能的实现方式中,所述阻尼区与存储层中的边界区域存在预设映射关系。
[0035]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述第二统计单元具体用于:
[0036]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数;
[0037]所述数据迁移单元具体用于:
[0038]若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0039]结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述第二统计单元还用于:
[0040]在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的次数;
[0041 ] 所述数据迁移单元还用于:
[0042]若所述数据块的访问频率落入所述第四阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0043]结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述第二统计单元具体用于:
[0044]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度;
[0045]所述数据迁移单元具体用于:
[0046]若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0047]结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述第二统计单元还用于:
[0048]在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的深度;
[0049]所述数据迁移单元还用于:
[0050]若所述数据块的访问频率落入所述第四阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0051]在第二方面的第六种可能的实现方式中,在所述数据迁移单元将所述数据块迁移至所述阻尼区对应的存储层中之后,所述第二统计单元还用于:
[0052]将在所述第二周期内统计的结果清零。
[0053]结合第二方面或结合第二方面的第一或第二或第三或第四或第五或第六种可能的实现方式,在第七种可能的实现方式中,所述第二周期为所述第一周期的正整数倍。
[0054]结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,若所述数据块的访问频率落入所述阻尼区对应的存储层中与所述阻尼区不存在预设映射关系的存储区域时,则所述数据迁移单元还用于:
[0055]将所述数据块迁移至所述阻尼区对应的存储层中。
[0056]实施本发明实施例,具有如下有益效果:
[0057]通过在不同的存储层配置阻尼区,只有当数据块的访问频率落入阻尼区的次数达到预设次数阈值或者落入阻尼区的深度的累计值达到预设累计阈值时,才会将数据迁移至相应的存储层中,从而解决了数据块访问频率微小变化导致数据块在不同存储层反复迁移的问题,减少了存储层的擦写次数,延长了存储层的使用寿命。

【专利附图】

【附图说明】
[0058]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]图1是本发明存储方法的第一实施例的流程示意图;
[0060]图2是本发明存储方法的第二实施例的流程示意图;
[0061]图3是本发明存储方法的第三实施例的流程示意图;
[0062]图4是应用本发明实施例所述存储方法进行数据迁移的示意图;
[0063]图5是本发明存储装置的第一实施例的组成示意图;
[0064]图6是本发明存储装置的第二实施例的组成示意图。

【具体实施方式】
[0065]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066]请参照图1,为本发明存储方法的第一实施例的流程示意图,在本实施例中,所述方法包括以下步骤:
[0067]S101,在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中。
[0068]此处第一周期即为DST技术中对数据块的访问频率进行统计,并根据统计结果将不同访问频率的数据块分配至对应存储层的统计周期。
[0069]S102,在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度。
[0070]可选地,所述第二周期大于第一周期,所述第二周期可以为所述第一周期的正整数倍。用于本发明实施例中统计数据块的访问频率落入相邻存储层的阻尼区的次数或深度,可称之为阻尼周期。通过引入阻尼周期,可在数据迁移时引入更长的历史数据,提升数据迁移和存储的稳定性。当第二周期结束后,可以将统计结果清零,开始新一轮的统计。
[0071]其中,所述阻尼区为访问频率的值的区间,且所述阻尼区与存储层中的存储区域存在预设映射关系,每个存储层包括至少一个阻尼区。阻尼区的大小可以用存储层的比例来描述,如O %、10 %、30 %或100 %等。这种描述方法适用于用访问频率按比例划分来描述DST策略的场景。
[0072]当然,阻尼区的大小也可以用访问频率的区间来描述。这种描述方法适用于用访问频率的区间来描述DST策略的场景。例如:DST策略是将访问频率大于I万次每天的数据块划入第一存储层,则可以设置第一存储层的阻尼区为访问频率介于I万次每天和1.2万次每天之间。
[0073]可选地,所述阻尼区与存储层中的边界区域存在预设映射关系。因此,可以将两个不同存储层中相邻的部位由线展开成一个区域,从而降低因数据块访问频率的微小变化而导致数据在邻近存储层中的频繁迁移。
[0074]S103,若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。
[0075]此处的预设次数阈值与预设累计阈值可统称为阻尼阈值,当采用预设次数阈值来描述阻尼阈值时,可通过与数据块配合的计数器来统计访问频率落入阻尼区的次数。若数据块当前位置处于中间存储层,则可以为数据块配置两个计数器,当然,也可以采用一个可同时进行加法和减法运算的计数器完成,可定义落入上层存储层则加1,落入下层存储层则减I。当采用预设累计阈值来描述阻尼阈值时,则可以由访问频率落入阻尼区的深度累计值来描述,其中,深度累计值可以是深度的累加值或深度的累乘值。在统计深度的累加值时,阻尼区的深度可以用数据块访问频率超过存储层边界访问频率的差值来描述,而统计深度的累乘值时,阻尼区的深度可以用数据块访问频率超过存储层边界访问频率的比率来描述,这些数值的累加或累乘可以由与数据块配合的计算器完成,若数据块当前位置处于中间存储层,当采用累乘计算时,可配置落入上层存储器的比例为正向,落入下层存储器的比例为负,如向上和向下的深度均为0.1,则向上乘以(1+0.1)即乘以1.1,向下则乘以(1-0.1)即乘以0.9,当然,也可以反过来配置,此处不作任何限定。
[0076]通过设置阻尼区的参数,可以对方案的效果进行调优,适应不同的场景,并产生不同的效果。
[0077]如通过改变阻尼区大小,可以调整迁移的效果。
[0078]设置较小的阻尼区使得迁移更容易发生。
[0079]设置较大的阻尼区使得迁移更难以发生。
[0080]当设置了较小的上层阻尼区时,数据块的访问频率更容易越过上层的阻尼区,使得向上迁移更容易发生;设置了较大的下层阻尼区,数据块的访问频率更难以越过下层的阻尼区,使得向下迁移更难以发生。
[0081]而为不同的存储层设置不同的阻尼区大小,可以调整迁移方向的倾向性。
[0082]如,将阻尼区大小设置为0%时,本方案退化为现有的无防止抖动的效果。
[0083]将阻尼区大小设置为100%时,只要访问频率落入相邻存储层变开始计数。
[0084]通过改变阻尼阈值,可以调整迁移的效果。
[0085]如设置较小的阻尼阈值使得迁移更容易发生。
[0086]设置较大的阻尼阈值使得迁移更难以发生。
[0087]而若所述数据块的访问频率落入所述阻尼区对应的存储层中与所述阻尼区不存在预设映射关系的存储区域时,则将所述数据块迁移至所述阻尼区对应的存储层中。
[0088]在本实施例中,通过在不同的存储层配置阻尼区,只有当数据块的访问频率落入阻尼区的次数达到预设次数阈值或者落入阻尼区的深度的累计值达到预设累计阈值时,才会将数据迁移至相应的存储层中,从而解决了数据块访问频率微小变化导致数据块在不同存储层反复迁移的问题,减少了存储层的擦写次数,延长了存储层的使用寿命,提升动态存储技术的整体性能和效率。
[0089]下面结合图2和图3,分别说明两个存储层和三个存储层的详细迁移和存储过程。
[0090]请参照图2,为本发明存储方法的第二实施例的流程示意图,在本实施例中,所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,所述方法包括以下步骤:
[0091]S201,在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中。
[0092]S202,在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数。
[0093]S203,若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0094]当采用统计所述数据块的访问频率落入相邻存储层的阻尼区的深度来决策迁移方向时,其具体过程可以是:
[0095]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度。
[0096]若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0097]若当前数据存储在第二存储层,数据块的迁移与上述描述迁移方式类似,此处不再赘述。
[0098]请参照图3,为本发明存储方法的第三实施例的流程示意图;在本实施例中,所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述方法包括以下步骤:
[0099]S301,在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中。
[0100]S302,在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数,并在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的次数。
[0101]S303,若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中,若所述数据块的访问频率落入所述第四阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0102]当采用统计所述数据块的访问频率落入相邻存储层的阻尼区的深度来决策迁移方向时,其具体过程可以是:
[0103]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度,并在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的深度。
[0104]若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中,若所述数据块的访问频率落入所述第四阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0105]若所述数据块当前存储位置位于第一存储层或第三存储层中时,数据块的迁移与本发明存储方法的第二实施例描述迁移方式类似,此处不再赘述。
[0106]请参照图4,为应用本发明实施例所述存储方法进行数据迁移的示意图;如图所示,在本实施例中,存在第一存储层、第二存储层和第三存储层,第一存储层包括第一阻尼区,第二存储层包括第二阻尼区和第三阻尼区,第三存储层包括第四阻尼区,在第一周期I内,根据统计结果将数据块存储至第二存储区内,在第二周期I内统计该数据块落入第一阻尼区和第四阻尼区的次数,其中第二周期等于η个第一周期,若在第二周期I内统计得到该数据块落入第一阻尼区的次数为0,落入第四阻尼区的次数为m,此处m小于等于η,若m达到预设次数阈值,则将该数据块迁移至第三存储层中,若未达到预设次数阈值,则无需迁移,仍然将该数据块保存在第二存储层中。若数据块的原始位置位于第一存储层,则只需要统计落入第二阻尼区的次数,若数据块的原始位置位于第三存储层,则只需要统计落入第三阻尼区的次数。需要说明的是,数据块的迁移可以在第二周期I内的任意时刻进行,而无需等待第二周期I结束,只要数据块的访问频率落入相邻存储层的阻尼区的次数达到预设次数阈值则可以立即进行数据块的迁移。当然,若数据块的访问频率发生短期的极大变化,如第二存储层的数据块的访问频率越过第一阻尼区,到达第一存储层中与第一阻尼区不存在预设映射关系的区域时,则可以直接将该数据块迁移至第一存储层而无需等待第二周期I统计完成。当第二周期I结束后,在第二周期2开始时,将对第二周期I内的统计结果进行清零,从而开始新一轮的统计和迁移。
[0107]当基于深度累计值进行统计并依据统计结果进行数据块迁移时,只要深度累计值如累加值或累乘值达到预设累计阈值,则在第二周期I内触发数据块的迁移,其原理和基于次数进行统计并依据统计结果进行数据块迁移的原理类似,具体可参见本发明存储方法第一实施例的相关描述,此处不再赘述。
[0108]请参照图5,为本发明存储装置的第一实施例的组成示意图,在本实施例中,所述装置包括:
[0109]第一统计单元100,用于在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中;
[0110]第二统计单元200,用于在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度,其中,所述阻尼区为访问频率的值的区间,且所述阻尼区与存储层中的存储区域存在预设映射关系,每个存储层包括至少一个阻尼区;
[0111]数据迁移单元300,用于若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。
[0112]可选地,所述阻尼区与存储层中的边界区域存在预设映射关系。
[0113]若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述第二统计单元200具体用于:
[0114]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数;
[0115]所述数据迁移单元300具体用于:
[0116]若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0117]若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述第二统计单元200还用于:
[0118]在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的次数;
[0119]所述数据迁移单元300还用于:
[0120]若所述数据块的访问频率落入所述第四阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0121]可选地,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述第二统计单元200具体用于:
[0122]在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度;
[0123]所述数据迁移单元300具体用于:
[0124]若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
[0125]若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述第二统计单元200还用于:
[0126]在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的深度;
[0127]所述数据迁移单元300还用于:
[0128]若所述数据块的访问频率落入所述第四阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
[0129]在所述数据迁移单元将所述数据块迁移至所述阻尼区对应的存储层中之后,所述第二统计单元200还用于:
[0130]将在所述第二周期内统计的结果清零。
[0131]所述第二周期为所述第一周期的正整数倍。
[0132]若所述数据块的访问频率落入所述阻尼区对应的存储层中与所述阻尼区不存在预设映射关系的存储区域时,则所述数据迁移单元300还用于:
[0133]将所述数据块迁移至所述阻尼区对应的存储层中。
[0134]请参见图6,为本发明存储装置的第二实施例的组成示意图。在本实施例中,所述装置包括:
[0135]输入设备400、输出设备500、存储器600及处理器700。其中,所述输入设备400、
输出设备500、存储器600和处理器700与总线连接,所述存储器600用于存储一组程序代码,所述处理器700用于调用所述存储器600中存储的程序代码,执行以下如本发明存储方法的第一至第三实施例任一实施例中所述的操作。
[0136]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0137]通过上述实施例的描述,本发明具有以下优点:
[0138]通过在不同的存储层配置阻尼区,只有当数据块的访问频率落入阻尼区的次数达到预设次数阈值或者落入阻尼区的深度的累计值达到预设累计阈值时,才会将数据迁移至相应的存储层中,从而解决了数据块访问频率微小变化导致数据块在不同存储层反复迁移的问题,减少了存储层的擦写次数,延长了存储层的使用寿命,提升动态存储技术的整体性能和效率。
[0139]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,简称ROM)或随机存储记忆体(RandomAccess Memory,简称 RAM)等。
[0140]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种存储方法,其特征在于,包括: 在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中; 在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度,其中,所述阻尼区为访问频率的值的区间,且所述阻尼区与存储层中的存储区域存在预设映射关系,每个存储层包括至少一个阻尼区; 若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。
2.如权利要求1所述的方法,其特征在于,所述阻尼区与存储层中的边界区域存在预设映射关系。
3.如权利要求2所述的方法,其特征在于,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数,包括: 在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数; 所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,包括: 若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
4.如权利要求3所述的方法,其特征在于,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区间的次数,还包括: 在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的次数; 所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,还包括: 若所述数据块的访问频率落入所述第四阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
5.如权利要求2所述的方法,其特征在于,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的深度,包括: 在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度; 所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,包括: 若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
6.如权利要求5所述的方法,其特征在于,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区间的深度,还包括: 在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的深度; 所述若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中,还包括: 若所述数据块的访问 频率落入所述第四阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
7.如权利要求1所述的方法,其特征在于,在若所述数据块的访问频率落入相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中之后,还包括: 将在所述第二周期内统计的结果清零。
8.如权利要求1-7任一项所述的方法,其特征在于,所述第二周期为所述第一周期的正整数倍。
9.如权利要求8所述的方法,其特征在于,若所述数据块的访问频率落入所述阻尼区对应的存储层中与所述阻尼区不存在预设映射关系的存储区域时,则将所述数据块迁移至所述阻尼区对应的存储层中。
10.一种存储装置,其特征在于,包括: 第一统计单元,用于在第一周期内统计数据块的访问频率,根据所述数据块的访问频率将所述数据块存储至对应的存储层中; 第二统计单元,用于在第二周期内统计所述数据块的访问频率落入相邻存储层的阻尼区的次数或深度,其中,所述阻尼区为访问频率的值的区间,且所述阻尼区与存储层中的存储区域存在预设映射关系,每个存储层包括至少一个阻尼区; 数据迁移单元,用于若所述数据块的访问频率落入所述相邻存储层的阻尼区的次数达到预设次数阈值,或者若所述数据块的访问频率落入所述相邻存储层的阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述阻尼区对应的存储层中。
11.如权利要求10所述的装置,其特征在于,所述阻尼区与存储层中的边界区域存在预设映射关系。
12.如权利要求11所述的装置,其特征在于,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述第二统计单元具体用于: 在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的次数; 所述数据迁移单元具体用于: 若所述数据块的访问频率落入所述第一阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
13.如权利要求12所述的装置,其特征在于,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述第二统计单元还用于:在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的次数; 所述数据迁移单元还用于: 若所述数据块的访问频率落入所述第四阻尼区的次数达到预设次数阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
14.如权利要求11所述的装置,其特征在于,若所述存储层包括第一存储层和第二存储层,且所述第一存储层包括第一阻尼区,所述第二存储层包括第二阻尼区,所述数据块当前存储在所述第二存储层中,则所述第二统计单元具体用于: 在第二周期内统计所述数据块的访问频率落入所述第一阻尼区的深度; 所述数据迁移单元具体用于: 若所述数据块的访问频率落入所述第一阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第一阻尼区对应的第一存储层中。
15.如权利要求14所述的装置,其特征在于,若所述存储层还包括第三存储层,且所述第二存储层位于所述第一存储层和第三存储层之间,则所述第二存储层还包括第三阻尼区,所述第三存储层包括第四阻尼区,所述第二统计单元还用于: 在第二周期内统计所述数据块的访问频率落入所述第四阻尼区的深度; 所述数据迁移单元还用 于: 若所述数据块的访问频率落入所述第四阻尼区的深度累计值达到预设累计阈值,则将所述数据块迁移至所述第四阻尼区对应的第三存储层中。
16.如权利要求10所述的装置,其特征在于,在所述数据迁移单元将所述数据块迁移至所述阻尼区对应的存储层中之后,所述第二统计单元还用于: 将在所述第二周期内统计的结果清零。
17.如权利要求10-16任一项所述的装置,其特征在于,所述第二周期为所述第一周期的正整数倍。
18.如权利要求17所述的装置,其特征在于,若所述数据块的访问频率落入所述阻尼区对应的存储层中与所述阻尼区不存在预设映射关系的存储区域时,则所述数据迁移单元还用于: 将所述数据块迁移至所述阻尼区对应的存储层中。
【文档编号】G06F3/06GK104077081SQ201410305562
【公开日】2014年10月1日 申请日期:2014年6月28日 优先权日:2014年6月28日
【发明者】王启科 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1