用于动态存储分层的方法和装置的制造方法

文档序号:9235224阅读:253来源:国知局
用于动态存储分层的方法和装置的制造方法
【技术领域】
[0001] 本发明的实施例一般性地涉及数据存储领域,并且更特别地涉及基于浮力因子的 动态存储分层方法和装置。
【背景技术】
[000引用于虚拟池的完全自动存储分层(FAST V巧技术自动地优化存储池,并且确保活 动数据被固态硬盘(SSD)所服务,而冷数据被移动至更低成本的磁盘层。
[0003] 在当前的自动分层策略引擎中,所采用的算法具有如下的特点;因为更新温度结 果仅需要当前的10活动性和最近的温度,所W该算法的计算成本低。该算法向较新的10 活动性历史给予较高的权重(平滑因子),并且向较旧的10活动性历史给予较低的权重。 平滑因子能够容易地被调节,W改进对数据温度的预测准确度。该算法有效地减少了数据 的10活动性采样数据的抖动。该算法还支持可变的采样间隔,而不具有温度计算结构的偏 斜。
[0004] 但是,现有的自动存储分层技术仍然存在一些缺点。特别是,现有的自动存储分层 技术的灵活性和可扩展性不足。具体地说,在进行磁盘的扩展,诸如将更多的闪存盘添加至 存储池中的情况下,闪存层可W包含更多的热数据,但是在现有的解决方案中,由于分层模 型是固定的,导致闪存层并不能相应地存放更多的热数据。此外,如果需要添加更多的层, 在现有的解决方案中,需要改变代码来适应新的分层结构。

【发明内容】

[0005] 鉴于现有技术中存在的问题,本发明的各个实施例提供了一种基于浮力因子的动 态存储分层方法和装置。本发明的实施例利用了浮力的原理,分别计算数据的密度W及各 层的密度,数据的位置取决于数据的密度与各层的密度阔值之间的相对关系,密度较小的 数据相应地移动至密度阔值较小的层。在计算各层的密度阔值中,本发明的实施例考虑了 各层的存储容量W及剩余存储容量。因此,在各层的存储设备的容量或者剩余容量发生变 化时,各层的密度阔值将随之改变,从而动态地调整了存储池的分层结构,提高了灵活性W 及可扩展性。
[0006] 本发明的实施例提供了一种用于动态存储分层的方法,包括:根据数据的温度来 计算该数据的密度,并且使温度越高的数据的密度越小;获取各层的密度阔值,其中上层的 密度阔值小于下层的密度阔值;将该数据的密度与各层的密度阔值相比较,来确定该数据 应当被移动至哪个层;W及将该数据移动至所确定的层。
[0007] 根据本发明的一个实施例,该方法进一步包括:检测所确定的层是否具有足够的 存储容量用于移动该数据,W将该数据移动至所确定的层。
[0008] 根据本发明的一个实施例,该方法进一步包括:如果所确定的层不具有足够的存 储容量,则根据所确定的层的剩余存储容量来更新各层的密度阔值;将该数据的密度与更 新后的各层的密度阔值相比较,来重新确定该数据应当被移动至哪个层;W及将该数据移 动至该重新确定的层。
[0009] 根据本发明的一个实施例,其中从存储器中读取各层的密度阔值。
[0010] 根据本发明的一个实施例,其中根据各层的物理存储设备的类型、各层的存储容 量和剩余存储容量来计算各层的密度,然后根据所计算的各层的密度来计算各层的密度阔 值,并且将各层的密度阔值存储在该存储器中。
[0011] 根据本发明的一个实施例,该方法进一步包括:当该物理存储设备发生变化时,根 据该物理存储设备的新的类型、各层的存储容量和该剩余存储容量,来重新计算各层的密 度,然后根据更新后的各层的密度来重新计算各层的密度阔值,并且将各层的密度阔值存 储在该存储器中。
[0012] 根据本发明的一个实施例,其中将该数据的密度与各层的密度阔值相比较,来确 定该数据应当被移动至哪个层进一步包括:如果该数据的密度小于某个层的密度阔值并且 大于该层的上一层的密度阔值,则确定该数据应当被存储至该层。
[0013] 根据本发明的一个实施例,其中按照下式来计算该数据的密度
痒中 Piw。是该数据的密度,T是该数据的温度,目是根据经验所导出的调节因子。
[0014] 根据本发明的一个实施例,其中按照下式来计算该数据温度:
,其中T表示当前所计算的数据的温度;At是先前采样时间 与当前采样时间之间的持续时间;T'是在At时间之前的先前所计算的数据温度;a是衰 减因子,其从温度指数半衰期导出;ah是在先前采样时间与当前采样时间之间的数据I/ 0活动性;e是自然常数。
[0015] 根据本发明的一个实施例,其中按照下式来计算各层的密度: Pi=(目'Tyi+a'Ci),AC' 1,其中Pi是第i层的密度;Tyi是代表第i层的物理存储类 型的值,其根据应用环境针对不同的物理存储类型设定为不同的取值;目'是存储类型调 节因子,其根据经验所导出A是第i层的存储容量;a'是容量调整因子,其根据经验所 导出;W及AC'i是第i层的剩余容量因子,其随着第i层的剩余容量而变化。
[0016] 根据本发明的一个实施例,其中AC'i按照W下方式来确定:当0时, AC' 1=1 ;当ACi<0时:
其中A。是第i层的剩余存储容量,0是由用户所设 置的A。的阔值。
[0017]根据本发明的一个实施例,其中按照下式来计算各层的密度阔值;0i=Py+P1, 其中Oi是第i层的密度阔值,并且p(1=0,O0=0。
[0018] 根据本发明的一个实施例,其中将该数据的密度与各层的密度阔值相比较来确定 该数据应当被移动至哪个层进一步包括;如果0H<P 0 1,则确定该数据应当被移动至 第i层。
[0019] 根据本发明的一个实施例,其中该动态存储分层分为H层。
[0020] 根据本发明的一个实施例,该方法进一步包括;设置一个定时,在该定时到期后, 将多个数据逐个地移动至对应的层。
[0021] 本发明的实施例还提供了一种用于动态存储分层的装置,包括;第一计算单元,被 配置为根据数据的温度来计算该数据的密度,并且使温度越高的数据的密度越小;获取单 元,被配置为获取各层的密度阔值,其中上层的密度阔值小于下层的密度阔值;确定单元, 被配置为将该数据的密度与各层的密度阔值相比较,来确定该数据应当被移动至哪个层; W及移动单元,被配置为将该数据移动至所确定的层。
[0022] 利用本发明的各个实施例,可W提供一种具有更高的灵活性和可扩展性的动态存 储分层方案。特别是在扩展磁盘的情形中,诸如向存储池添加新的闪存盘时,相比现有技术 中固定的层结构,在本发明的实施例所提供的分层结构中,被扩展的闪存层的层密度会相 应地改变,从而更多的热数据能够自动地被移动至闪存层。此外,如果需要添加更多的层, 本发明的实施例所提供的分层结构的代码不需要进行任何改变。
【附图说明】
[0023]通过参考附图阅读下文的详细描述,本发明实施例的上述W及其他目的、特征和 优点将变得容易理解。在附图中,W示例性而非限制性的方式示出了本发明的若干实施例, 其中:
[0024]图1示出了根据本发明的实施例的用于动态存储分层的方法的流程图;
[0025] 图2示出了根据本发明的实施例的分层结构图;
[0026]图3示出了根据本发明的另一个实施例的用于动态存储分层的方法的流程图;
[0027]图4示出了根据本发明的又一个实施例的用于动态存储分层的方法的流程图;
[0028]图5示出了根据本发明的实施例的用于当存储设备改变时更新层密度阔值的方 法的流程图;W及
[0029]图6示出了根据本发明的实施例的用于动态存储分层的装置的框图。
【具体实施方式】
[0030]下文将参考附图中所示出的若干示例性实施例来描述本发明的原理和精神。应当 理解,描述该些实施例仅仅是为了使本领域的技术人员能够更好地理解并实现本发明,而 并非W任何方式限制本发明的范围。
[0031] 图1示出了根据本发明的实施例的用于动态存储分层的方法100的流程图。本领 域的技术人员应当理解,方法100中记载的各个步骤可W按照不同的顺序执行,和/或并 行执行。方法100还可W包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此 方面不雙限制。
[0032] 在步骤101中,根据数据的数据温度来计算该数据的密度,并且使数据温度越高 的数据的密度越小。
[0033]在本发明的实施例中,数据温度指的是与数据活动性的频繁程度、被访问的次数、 或者停留时间相关联的参数。温度高的数据,即热数据,指的是活动频繁、被访问的次数多、 或者停留时间短的数据;而温度低的数据,即冷数据,指的是活动不频繁、被访问的次数少、 或者停留时间长的数据。
[0034]现有技术中提出了一些计算数据温度的方法。此外,在现有技术中,根据计算得出 的数据温度,数据相应地被移动至各个数据层中,热数据移动至较高的层,而冷数据移动至 较低的层。
[0035] 为了利用浮力因子来改进现有技术中的自动分层存储技术,本发明的实施例创新 性地对数据引入了 "密度"的概念,而相应地对每个层也引入了 "密度阔值"的概念。如此, 数据就类似具有"浮力"一样,依
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1