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

文档序号:9235224阅读:来源:国知局
各层的密度阔值之后,方法300又回到步骤302。在步骤302中,获取各 层的新密度阔值。
[0063] 接着,方法300前进至步骤303。在步骤303中,将该数据的密度与更新后的各层 的密度阔值相比较,来重新确定该数据应当被移动至哪个层。
[0064] 然后,方法300再次来到步骤304。由于已经更新了各层的阔值,此时在步骤304 中必然检测出该重新确定的层具有足够的存储容量来存储该数据。
[0065] 最后,方法300前进至步骤305。在步骤305中,将该数据移动至该重新确定的层。
[0066] 图4示出了根据本发明的另一个实施例的用于动态存储分层的方法400的流程 图。本领域的技术人员应当理解,方法400中记载的各个步骤可W按照不同的顺序执行, 和/或并行执行。方法400还可W包括附加的步骤和/或省略执行示出的步骤。本发明的 范围在此方面不受限制。
[0067] 方法400用于一次性批量地处理多个数据的移动和重扫描,方法400与方法100 和方法300相比的优点在于,用户可W选择系统不太繁忙的时段来将多个数据移动至对应 的层中,从而避免由于移动数据所占用的资源而影响系统的其他操作。
[0068] 根据本发明的一个实施例,可W在用户所设置的一个定时到期之后执行方法400, 将多个数据逐个地移动至对应的层。根据本发明的一个优选实施例,在执行方法400之前, 从存储器中取出所有需要移动的数据,并开始方法400。
[0069] 方法400在开始之后前进至步骤401。在步骤401中,检测是否已经将所有需要移 动的数据移动至所对应的层。
[0070] 如果在步骤401中,检测出还没有将所有需要移动的数据移动至所对应的层,贝U 方法400前进至步骤402之后再前进至后续的步骤。方法400中的步骤402-407与方法 300中的步骤301-306相同,此处不再对步骤402-407进行详细的描述。
[0071] 如果在步骤401中,检测出已经将所有需要移动的数据移动至所对应的层,则方 法400结束。
[0072] 图5示出了根据本发明的实施例的用于当存储设备改变时更新层密度阔值的方 法的流程图。本领域的技术人员应当理解,方法500中记载的各个步骤可W按照不同的顺 序执行,和/或并行执行。方法500还可W包括附加的步骤和/或省略执行示出的步骤。本 发明的范围在此方面不受限制。
[0073] 方法500用于当存储池中各层的存储设备在运行期间发生改变时,适应性地改变 各层的密度阔值。通过方法500,本发明的实施例所提出的动态存储分层的方法和装置的灵 活性和可扩展性得到了体现。各层的密度阔值可W随着设备的变化而动态地改变,从而能 够存储更多热数据的层能够真正存放更多的热数据,并且当层结构改变时也不需要改变代 码。
[0074] 在步骤501中,根据该物理存储设备的新的类型W及各层的存储容量和剩余存储 容量来重新计算各层的密度。
[0075] 在步骤502中,根据更新后的各层的密度来重新计算各层的密度阔值,并且将更 新后的各层的密度阔值存储在该存储器中。
[0076] 图6示出了根据本发明的实施例的用于动态存储分层的装置600的框图。装置 600可W用来执行根据本发明的各个实施例的方法100、300、400和500。
[0077] 装置600包括第一计算单元601、获取单元602、确定单元603、W及移动单元604。 第一计算单元601可W被配置为根据数据的温度来计算该数据的密度,并且使温度越高的 数据的密度越小;获取单元602可W被配置为获取各层的密度阔值,其中上层的密度阔值 小于下层的密度阔值;确定单元603可W被配置为将该数据的密度与各层的密度阔值相比 较,来确定该数据应当被移动至哪个层;W及移动单元604可W被配置为将该数据移动至 所确定的层。
[0078] 根据本发明的一个实施例,装置600可W进一步包括;检测单元605。检测单元605 被配置为;检测所确定的层是否具有足够的存储容量用于移动该数据,W将该数据移动至 所确定的层。
[0079] 根据本发明的一个实施例,装置600可W进一步包括;更新单元606。更新单元606 被配置为:如果所确定的层不具有足够的存储容量,则根据所确定的层的剩余存储容量来 更新各层的密度阔值。
[0080]根据本发明的一个实施例,确定单元603可W进一步被配置为:将该数据的密度 与更新后的各层的密度阔值相比较,来重新确定该数据应当被移动至哪个层;W及
[0081]根据本发明的一个实施例,移动单元604可W进一步被配置为:将该数据移动至 该重新确定的层。
[0082]根据本发明的一个实施例,获取单元602可W进一步被配置为:从存储器中读取 各层的密度阔值。
[0083]根据本发明的一个实施例,装置600可W进一步包括;第二计算单元607。第二计 算单元607可W被配置为:根据各层的物理存储设备的类型、各层的存储容量和剩余存储 容量来计算各层的密度,然后根据计算的各层的密度来计算各层的密度阔值,并且将各层 的密度阔值存储在该存储器中。
[0084]根据本发明的一个实施例,第二计算单元607可W进一步被配置为;当该物理存 储设备发生变化时,根据该物理存储设备的新的类型、各层的存储容量和剩余存储容量,来 重新计算各层的密度,然后根据更新后的各层的密度来重新计算各层的密度阔值,并且将 各层的密度阔值存储在该存储器中。
[0085]根据本发明的一个实施例,确定装置603可W进一步被配置为:如果该数据的密 度小于某个层的密度阔值并且大于该层的上一层的密度阔值,则确定该数据应当被存储至 该层。
[0086]根据本发明的一个实施例,第一计算单元601可W按照下式来计算该数据密度:
其中Pdw。是该数据密度,T是该数据温度,目是根据经验所导出的调节因子。
[0087]根据本发明的一个实施例,第一计算单元601可W按照下式来计算该数据温度:
其中T表示当前所计算的数据的温度;At是先前采样时间 与当前采样时间之间的持续时间;T'是在At时间之前的先前所计算的数据温度;a是衰 减因子,其从温度指数半衰期导出;ah是在先前采样时间与当前采样时间之间的数据I/ 0活动性;e是自然常数。
[0088]根据本发明的一个实施例,第二计算单元607可W按照下式来计算各层的密度:Pi=(目'Tyi+a'Ci).AC' 1,其中Pi是第i层的密度;Tyi是代表第i层的物理存储类 型的值,其根据应用环境针对不同的物理存储类型设定为不同的取值;目'是存储类型调 节因子,其根据经验所导出A是第i层的存储容量;a'是容量调整因子,其根据经验所 导出;W及AC'i是第i层的剩余容量因子,其随着第i层的剩余容量而变化。
[0089]根据本发明的一个实施例,第二计算单元607可W按照W下方式来确定AC'i; 当A。> 0时,ACi=l;当ACi<0时,AC,' = -^,其中A。是第i层的剩余存储容量,0 是由用户所设置的A。的阔值。
[0090]根据本发明的一个实施例,第二计算单元607可W按照下式来计算各层的密度阔 值;0i=pi_i+p1,其中0i是第i层的密度阔值,并且P。=0,0。=0。
[0091]根据本发明的一个实施例,确定单元603可W进一步被配置为:如果 o i_i<P。。1。< o 1,则确定该数据应当被移动至第i层。
[0092] 根据本发明的一个实施例,装置600可W进一步包括;定时单元608。定时单元608 被配置为设置一个定时,在该定时到期后,将多个数据逐个地移动至对应的层。
[0093] 应当注意,本发明的实施例可W通过硬件、软件或者软件和硬件的结合来实现。硬 件部分可W利用专用逻辑来实现;软件部分可W存储在存储器中,由适当的指令执行系统, 例如微处理器或者专用设计硬件来执行。本领域的技术人员可W理解上述的设备和方法可 W使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或 DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信 号载体的数据载体上提供了该样的代码。本发明的设备及其装置可W由诸如超大规模集成 电路或口阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程口阵列、可编程逻 辑设备等的可编程硬件设备的硬件电路实现,也可W用由各种类型的处理器执行的软件实 现,也可W由上述硬件电路和软件的结合例如固件来实现。
[0094] 应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是该种划 分仅仅并非强制性的。实际上,根据本发明的实施例,上文描述的两个或更多装置的特征和 功能可W在一个装置中具体化。反之,上文描述的一个装置的特征和功能可W进一步划分 为由多个装置来具体化。
[0095] 此外,尽管在附图中W特定顺序描述了本发明方法的操作,但是,该并非要求或者 暗示必须按照该特定顺序来执行该些操作,或是必须执行全部所示的操作才能实现期望的 结果。相反,流程图中描
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1