增加的降级效率的制作方法

文档序号:6532852阅读:239来源:国知局
增加的降级效率的制作方法
【专利摘要】提供了用于通过控制降级任务以减少计算环境中的长输入/输出(I/O)读操作来增加降级效率的示例性方法、系统以及计算机程序产品实施例。在一个实施例中,仅以示例的方式,根据标准时间间隔和可变重计算降级任务间隔中的一个来计算降级任务。根据该计算来控制在降级任务的期望数目与降级任务的当前数目之间的存储磁道的降级。公开了附加系统和计算机系统产品实施例且其提供相关优点。
【专利说明】增加的降级效率

【技术领域】
[0001] 本发明总体上涉及计算系统,并且更特别地涉及用于增加的降级效率的系统和方 法。

【背景技术】
[0002] 在当今社会中,计算机系统是普遍的。在工作地点、在家中或者在学校可找到计算 机系统。计算机系统可包括数据存储系统或磁盘存储系统以处理和存储数据。已知当代计 算机存储系统将存储磁道从高速缓冲器降级(destage)到长期存储设备,从而使得在高速 缓冲器中存在足以用于写入数据的空间。当将存储磁道降级时,当代存储系统在高速缓冲 器变满或者全局压力因数高时将来自高速缓冲器中的每个秩(rank)的存储磁道降级。也 就是说,当全局压力因数高时,存储磁道被从每个秩降级,即使高速缓冲器中的某些秩可能 仅存储相对于分配给这些秩的存储空间数量而言数目少的存储磁道。此外,降级任务帮助 开始存储磁道向存储系统的降级。


【发明内容】

[0003] 当降级任务的所需数目超过降级任务的当前量时,存储磁道的降级突发增加的概 率导致用于针对读操作的输入/输出(10)操作的长事务响应。需要通过使计算环境中的 降级过程平滑化来减少存储磁道的降级的突发。
[0004] 各种实施例提供了用于通过使降级任务平滑化以减少长输入/输出(I/O)读操作 而增加降级效率的方法。一个方法包括由计算环境中的处理器根据标准时间间隔和可变重 计算降级任务间隔中的一个来计算降级任务。该方法还包括根据计算步骤使在降级任务的 期望数目与降级任务的当前数目之间的存储磁道的降级平滑化。
[0005] 各种实施例提供了用于通过使降级任务平滑化以减少长输入/输出(I/O)读操作 而增加降级效率的系统。一个系统包括在计算存储环境中可操作的处理器设备。在一个实 施例中,处理器被配置用于根据标准时间间隔和可变重计算降级任务间隔中的一个来计算 降级任务。处理器还被配置用于根据计算使在降级任务的期望数目与降级任务的当前数目 之间的存储磁道的降级平滑化。
[0006] 还提供了物理计算机存储介质(例如,具有一个或多个导线的电连接、便携式 计算机磁碟、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程序只读存储器 (EPROM或闪速存储器)、光纤、便携式压缩磁盘只读存储器(CD-ROM)、光学存储器件、磁存 储器件或前述各项的任何适当组合),其包括用于通过使降级任务平滑化以减少长输入/ 输出(I/O)读操作来增加降级效率的计算机程序产品。一个物理计算机存储介质包括用于 由计算环境中的处理器根据标准时间间隔和可变重计算降级任务间隔中的一个来计算降 级任务的计算机代码。物理计算机存储介质还包括用于根据计算使在降级任务的期望数目 与降级任务的当前数目之间的存储磁道的降级平滑化的计算机代码。
[0007] 从第一方面看,本发明提供了一种用于通过控制降级任务以减少计算环境中的处 理器设备的长输入/输出(I/O)读操作来增加降级效率的方法,该方法包括:根据标准时间 间隔和可变重计算降级任务间隔中的一个来计算降级任务;以及根据该计算来控制在降级 任务的期望数目与降级任务的当前数目之间的存储磁道的降级。
[0008] 优选地,本发明提供了一种方法,还包括当在降级任务的期望数目与降级任务的 当前数目之间的德耳塔值大于预定德耳塔值时根据可变重计算降级任务间隔来执行基于 计算降级任务的控制。
[0009] 优选地,本发明提供了一种方法,还包括当在降级任务的期望数目与降级任务的 当前数目之间的德耳塔值小于预定德耳塔值时根据标准时间间隔来执行基于计算降级任 务的控制。
[0010] 优选地,本发明提供了一种方法,其中可变重计算降级任务间隔是等于通过用历 史数据除以在降级任务的期望数目与降级任务的当前数目之间的德耳塔值获得的可变时 间段的时间段。
[0011] 优选地,本发明提供了一种方法,还包括执行使在降级任务的期望数目与降级任 务的当前数目之间的控制斜升和斜降中的一个。
[0012] 优选地,本发明提供了一种方法,还包括执行以下各项之一:如果降级任务的当前 数目大于降级任务的期望数目,则以一的值将降级任务的当前数目递减,以及如果降级任 务的当前数目小于降级任务的期望数目,则以一的值将降级任务的当前数目递增。
[0013] 优选地,本发明提供了一种方法,还包括在执行递减和递增中的一个时,在达到标 准时间间隔和可变重计算降级任务间隔中的一个之后重计算降级任务的当前数目。
[0014] 优选地,本发明提供了一种方法,还包括结合计算执行以下各项之一:利用公式来 确定将用来使存储磁道降级的降级任务的当前数目,降级任务的当前数目基于高速缓冲器 中的存储磁道的当前数量,利用该公式来确定降级任务的期望数目,以及利用降级任务的 当前数目来使多个存储磁道的降级。
[0015] 从第二方面看,本发明提供了一种用于通过控制降级任务以减少计算环境中的长 输入/输出(I/O)读操作来增加降级效率的系统,该系统包括:处理器设备,在计算存储环 境中可操作,其中处理器设备被适配用于:根据标准时间间隔和可变重计算降级任务间隔 中的一个来计算降级任务,以及根据该计算来控制降级任务的期望数目与降级任务的当前 数目之间的存储磁道的降级。
[0016] 优选地,本发明提供了一种系统,其中所述处理器设备还被适配用于当在降级任 务的期望数目与降级任务的当前数目之间的德耳塔值大于预定德耳塔值时根据可变重计 算降级任务间隔来执行基于计算降级任务的控制。
[0017] 优选地,本发明提供了一种系统,其中所述处理器设备还被适配用于当在降级任 务的期望数目与降级任务的当前数目之间的德耳塔值小于预定德耳塔值时根据标准时间 间隔来执行基于计算降级任务的控制。
[0018] 优选地,本发明提供了一种系统,其中可变重计算降级任务间隔是等于通过用历 史数据除以在降级任务的期望数目与降级任务的当前数目之间的德耳塔值获得的可变时 间段的时间段。
[0019] 优选地,本发明提供了一种系统,其中所述处理器设备还被适配用于执行使在降 级任务的期望数目与降级任务的当前数目之间的控制斜升和斜降中的一个。
[0020] 优选地,本发明提供了一种系统,其中所述处理器设备还被适配用于执行以下各 项之一:如果降级任务的当前数目大于降级任务的期望数目,则以一的值将降级任务的当 前数目递减,以及如果降级任务的当前数目小于降级任务的期望数目,则以一的值将降级 任务的当前数目递增。
[0021] 优选地,本发明提供了一种系统,还包括在执行递减和递增中的一个时,在达到标 准时间间隔和可变重计算降级任务间隔中的一个之后重计算降级任务的当前数目。
[0022] 优选地,本发明提供了一种系统,其中所述处理器设备还被适配用于结合所述计 算执行以下各项之一:利用公式来确定将用来使存储磁道降级的降级任务的当前数目,降 级任务的当前数目基于高速缓冲器中的存储磁道的当前数量,利用该公式来确定降级任务 的期望数目,以及利用降级任务的当前数目来使多个存储磁道降级。
[0023] 从第三方面看,本发明提供了一种用于通过控制降级任务以减少处理器设备在计 算环境中的长输入/输出(I/O)读操作来增加降级效率的计算机程序产品,该计算机程序 产品包括非瞬态计算机可读存储介质,其具有存储在其中的计算机可读程序代码部分,该 计算机可读程序代码部分包括:第一可执行部分,用于根据标准时间间隔和可变重计算降 级任务间隔中的一个来计算降级任务;以及第二可执行部分,用于根据所述计算来控制降 级任务的期望数目与降级任务的当前数目之间的存储磁道的降级。
[0024] 优选地,本发明提供了一种计算机程序产品,还包括第三可执行部分,其用于当在 降级任务的期望数目与降级任务的当前数目之间的德耳塔值大于预定德耳塔值时根据可 变重计算降级任务间隔来执行基于计算降级任务的控制。
[0025] 优选地,本发明提供了一种计算机程序产品,还包括第三可执行部分,其用于当在 降级任务的期望数目与降级任务的当前数目之间的德耳塔值小于预定德耳塔值时根据标 准时间间隔来执行基于计算降级任务的控制。
[0026] 优选地,本发明提供了一种计算机程序产品,其中可变重计算降级任务间隔是等 于通过用历史数据除以在降级任务的期望数目与降级任务的当前数目之间的德耳塔值获 得的可变时间段的时间段。
[0027] 优选地,本发明提供了一种计算机程序产品,还包括第三可执行部分,其用于执行 使在降级任务的期望数目与降级任务的当前数目之间的控制斜升和斜降中的一个。
[0028] 优选地,本发明提供了 一种计算机程序产品,还包括第三可执行部分,其用于执行 以下各项之一:如果降级任务的当前数目大于降级任务的期望数目,则以一的值将降级任 务的当前数目递减,以及如果降级任务的当前数目小于降级任务的期望数目,则以一的值 将降级任务的当前数目递增。
[0029] 优选地,本发明提供了一种计算机程序产品,还包括第四可执行部分,其用于在执 行递减和递增中的一个时,在达到标准时间间隔和可变重计算降级任务间隔中的一个之后 重计算降级任务的当前数目。
[0030] 优选地,本发明提供了一种计算机程序产品,还包括第三可执行部分,其用于结合 计算执行以下各项之一:利用公式来确定将用来使存储磁道降级的降级任务的当前数目, 降级任务的当前数目基于高速缓冲器中的存储磁道的当前数量,利用该公式来确定降级任 务的期望数目;以及利用降级任务的当前数目来使多个存储磁道降级。

【专利附图】

【附图说明】
[0031] 现在将仅以示例的方式参考附图来描述本发明的优选实施例,在附图中:
[0032] 图1图示了示出了其中可实现本发明的各方面的用于控制降级任务的硬件结构 的示例性框图;
[0033] 图2是示出了其中可实现本发明的各方面的根据本发明的计算机系统中的数据 存储系统的硬件结构的示例性框图;以及
[0034] 图3图示了用于通过控制降级任务来增加降级效率的示例性方法。

【具体实施方式】
[0035] 如先前所述,已知当代计算机存储系统将存储磁道从高速缓冲器降级到长期存 储设备,从而使得在高速缓冲器中存在足以用于写入数据的空间。明智写入排序(Wise Ordering for Writes,W0W)通常一次一个地添加降级任务控制块("TCB")或者简单地为 "降级任务",其为被用于通过根据关联任务或请求被指引到的存储位置来将列表排序而利 用时间和空间局部性两者的列表。降级任务被用来管理数据存储和取回系统内和主机计算 机与数据存储和取回系统之间的数据移动。换言之,降级TCB是将磁道从高速缓冲器降级 到存储装置(例如,磁盘驱动器)的任务。
[0036] 降级TCB可以是用以开始存储磁道的降级的命令。然而,当在相对短的时间段期 间存在降级TCB的显著增加时,降级过程必须"跳跃"到这一新增加的降级TCB数量。例如, 降级TCB可从四个TCB转到40个TCB。到这一增加数目的跳跃是由于超过一半运行的秩扫 描连续写入的磁道。到增加的TCB数目的这一跳跃引起存储磁道到秩的降级突发,从而使 得读操作在突发期间花费更长(例如,客户可每几分钟经历超过1秒的长事务响应)。随着 存储磁道到秩的降级突发,驱动器忙于存储系统的区域(例如,磁盘)中的降级,并避免寻 找其中可存在读操作的其他区域。为了避免这种情况,使用命令老化极限(CAL)超时来迫 使驱动器在发生超时之后服务于读操作。然而,CAL被设定在500毫秒(MS),然而,即使在 500MS之后,事务可执行多次读/写操作,其执行起来花费超过1秒。
[0037] 因此,当降级任务的所需数目超过降级任务的当前数量时,存储磁道的降级突发 增加的概率导致用于针对读操作的输入/输出(10)操作的长事务响应。需要通过使降级 过程平滑化来减少存储磁道的降级突发。
[0038] 为了解决这些低效,本发明的机制设法通过对降级任务进行平滑化或控制、导致 用于在处理中经历显著延迟的读操作的更少I/O而减少存储磁道的降级突发。为了实现这 一目的,本发明根据标准时间间隔和可变重计算降级任务间隔中的一个来计算降级任务。 根据该计算来控制在降级任务的期望数目与降级任务的当前数目之间的存储磁道的降级。 用于秩的降级TCB的实际(或当前数目)是当前在秩上活跃的降级任务的数目。用于秩的 降级任务(TCB)的期望数目是基于用于秩的非易失性存储装置(NVS)(例如,非易失性存储 器(NVM))占用的秩所需的降级任务(TCB)的数目。因此,并不是即刻从降级任务的当前数 目跳跃至降级任务的所需数目,控制过程允许用于存储磁道降级的降级任务的斜升和/或 斜降。并且,当在当前降级TCB与所需降级TCB之间的差(该差是德耳塔值)高于预定德 耳塔值时,更频繁地计算(用计算机计算)降级任务。
[0039] 当在降级任务的当前数目与降级任务的所需数目之间的差更大时,由计算系统执 行的平滑化过程增加计算降级任务的当前数目的速率。并不是经历降级任务突发,计算系 统增加用以计算当前降级任务的速率。这允许加速降级任务的递增和/或递减。通过增加 降级任务的当前数目的递增和递减的加速度速率以达到降级任务的所需数目,计算系统在 不经历突发的情况下以平滑的受控方式达到降级任务的所需数目。在这样做时,显著地减 少了用于读操作的I/O的更长事务响应。可将计算环境的处理器和硬件部件从存储磁道的 降级解除和释放并服务于其他I/O请求(例如,以加速的步幅释放计算系统驱动以用于服 务于和响应于先前其中经历显著延迟的I/O读操作)。因此,计算环境经历用于用户的增加 的效率。
[0040] 转到图1,用于使降级任务平滑化的系统100的一个实施例的框图。至少在所图示 实施例中,系统100包括经由总线140 (例如,有线和/或无线总线)被耦合到高速缓冲器 120和处理器130的存储器110。
[0041] 存储器110可以是在本领域中已知或在未来开发的任何类型的存储器设备。存储 器110的示例包括但不限于具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机 存取存储器(RAM)、只读存储器(ROM)、可擦可编程序只读存储器(EPROM或闪速存储器)、光 纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储设备、磁存储设备或以上各项的任何适当 组合。在存储器110的各种实施例中,存储磁道能够被存储在存储器110中。此外,当向存 储磁道写入数据时,可以将每个存储磁道从高速缓冲器120降级到存储器110。
[0042] 在一个实施例中,高速缓冲器120包括被划分成一个或多个秩1210的写高速缓冲 器,其中每个秩1210包括一个或多个存储磁道。高速缓冲器120可以是本领域中已知或未 来开发的任何高速缓冲器。
[0043] 在操作期间,在存储磁道已被写入之后在前景降级过程中将每个秩1210中的存 储磁道降级到存储器110。也就是说,前景降级过程在主机(未示出)主动地向高速缓冲 器120的秩1210中的各种存储磁道进行写入的同时将存储磁道从一个或多个秩1210降级 到存储器110。理想地,当一个或多个主机期望向特定存储磁道写入时(这被称为降级冲 突),该特定存储磁道不在被降级。为了使用于将秩1210中的存储磁道降级的降级任务平 滑化,处理器130被配置用于执行用于使降级任务平滑化的方法。
[0044] 在各种实施例中,处理器130包括或者可访问降级管理模块1310,其包括在被处 理器130执行时使得处理器130执行用于使降级任务平滑化的方法的计算机可读代码。在 各种实施例中,处理器130被配置用于根据标准时间间隔和可变重计算降级任务间隔中的 任一个来计算降级任务的数目。
[0045] 在各种其他实施例中,处理器130被配置用于根据已根据标准时间间隔和/或可 变重计算降级任务间隔所计算的降级任务数目而使在降级任务的期望数目与降级任务的 当前数目之间的存储磁道的降级平滑化。
[0046] 在各种其他实施例中,处理器130被配置用于当在降级任务的期望数目与降级任 务的当前数目之间的德耳塔值大于预定德耳塔值时根据可变重计算降级任务间隔来执行 基于计算降级任务的平滑化。
[0047] 在各种其他实施例中,处理器130被配置用于当在降级任务的期望数目与降级任 务的当前数目之间的德耳塔值小于预定德耳塔值时根据标准时间间隔来执行基于计算降 级任务的平滑化。
[0048] 在各种其他实施例中,处理器130被配置用于使在降级任务的期望数目与降级任 务的当前数目之间的平滑化斜升和/或斜降。
[0049] 在各种其他实施例中,处理器130被配置用于如果降级任务的当前数目大于降级 任务的期望数目则以一的值将降级任务的当前数目递减和/或如果降级任务的当前数目 小于降级任务的期望数目则以一的值将降级任务的当前数目递增。在递减或递增之后,处 理器130被配置用于在达到针对计算所选择的标准时间间隔和可变重计算降级任务间隔 中的任一个之后重计算降级任务的当前数目。
[0050] 在一个实施例中,每个秩1210在高速缓冲器120中被分配相同预定数量的存储空 间。在另一实施例中,至少两个秩1210在高速缓冲器120中被分配不同预定数量的存储空 间。在又一实施例中,每个秩1210在高速缓冲器120中被分配不同预定数量的存储空间。 在这些实施例中的每一个实施例中,高速缓冲器120中的存储空间的每个预定数量不超过 存储空间的预定最大数量。
[0051] 在各种实施例中,处理器130被配置用于基于百分比来分配存储空间的预定最大 数量。在一个实施例中,被分配给相应的秩1210的存储空间的预定最大数量在高速缓冲器 120的总存储容量的约百分之一至约百分之二十五(1%-50%)的范围内。在另一实施例 中,被分配给相应的秩1210的存储空间的预定最大数量是高速缓冲器120的总存储容量的 百分之二十五(25% )。
[0052] 在各种其他实施例中,处理器130被配置用于基于存储磁道而分配存储空间的预 定最大数量。也就是说,每个秩1210局限于存储磁道的预定最大数目,其对于不同的秩而 言可以不同。
[0053] 在各种实施例中,处理器130被配置用于监视高速缓冲器120中的每个秩1210并 相对于其在高速缓冲器120中的所分配的存储空间数量确定每个相应秩1210正在存储的 存储磁道的数量。在一个实施例中,处理器130被配置用于基于百分比来确定每个相应秩 1210中的存储磁道的数量。也就是说,处理器130被配置用于监视每个秩1210并相对于高 速缓冲器120中的总存储空间的单独分配而确定每个相应秩1210正在用来存储存储磁道 的百分比。
[0054] 在另一实施例中,处理器130被配置用于确定每个相应秩1210中的存储磁道的数 目。具体地,处理器130被配置用于监视每个秩1210并相对于高速缓冲器120中的总存储 空间的单独分配而确定每个相应秩1210正在用来存储存储磁道的存储磁道的数目。
[0055] 在各种实施例中,处理器被配置用于将存储磁道从每个相应秩1210降级直至在 每个相应秩1210中仍有相对于高速缓冲器120中的存储空间的其预定分配量而言存储空 间的预定最小量为止,并且然后停止或者不再将存储磁道从正在使用小于或等于存储空间 的预定最小量的秩1210降级。在一个实施例中,处理器130被配置用于将存储磁道从每个 秩1210降级,直至达到高速缓冲器120中的存储空间的预定数量的预定百分比(例如,百 分之三十(30%))。在另一实施例中,处理器130被配置用于将存储磁道从每个秩1210降 级,直至达到存储磁道的预定最小数目。
[0056] 例如,在包括十(10)个秩1210并且其中每个秩1210被分配高速缓冲器120的 总存储空间的百分之10(10% )且存储磁道的预定最小数量是百分之三十(30% )的实施 例中,处理器130将继续将存储磁道从包括高速缓冲器120的总存储容量的超过百分之三 (3% ) ( 8卩,10% X30%= 3% )的每个秩1210降级。一旦特定秩1210已达到百分之三的 阈值,则处理器130将停止或不再将存储磁道从特定存储磁道降级,直至特定秩1210正在 使用超过存储磁道的预定数量为止(即,在本示例中为高速缓冲器120的总存储容量的百 分之三)。
[0057] 在各种实施例中,处理器130被配置用于利用公式来确定要在将存储磁道从每个 相应秩1210降级时利用的降级任务的数目。在各种实施例中,该公式基于高速缓冲器120 的全局压力因数,因为其涉及每个相应秩1210。也就是说,被用来将存储磁道从每个相应秩 1210降级的降级任务的数目与每个相应秩1210的其已分配存储空间的数量乘以全局压力 因数成比例,该全局压力因数是由秩1210正在利用的高速缓冲器120中的存储空间的总数 量的共同百分比确定的因数。
[0058] 在一个实施例中,该公式包括当特定秩1210正在利用大量的其已分配存储空间 且全局压力因数高时利用的预定最大数目降级任务(例如,四十(40)个降级任务)。在另 一实施例中,该公式包括当特定秩1210相对于高速缓冲器120中的其存储空间的分配量而 言正在利用小于或等于预定最小数量的存储空间量时所利用的零(〇)个降级任务的默认 值。
[0059] 图2是示出了根据本发明的计算机系统中的数据存储系统的硬件结构的示例性 框图200。示出了主机计算机210、220、225,每个充当用于作为数据存储系统200的一部分 而执行数据处理的中央处理单元。集群主机/节点(物理或虚拟设备)210、220和225可 以是一个或多个新物理设备或逻辑设备以在数据存储系统200中实现本发明的目的。网络 (例如,存储结构)连接260可以是光纤信道结构、光纤信道点到点链路、通过以太网结构或 点到点链路的光纤信道、FICON或ESC0N I/O接口。主机210、220和225可以是本地的或 者被分布在一个或多个位置之间,并且可装配有到存储控制器240的任何类型的结构(或 结构信道)(在图2中未示出)或网络适配器260,诸如光纤信道、FIC0N、ESC0N、以太网、光 纤、无线或同轴适配器。数据存储系统200相应地装配有适当的结构(在图2中未示出) 或网络适配器260以进行通信。在图2中描述了包括存储控制器240和集群主机210、220 和225的数据存储系统200。集群主机210、220以及225可包括集群节点。
[0060] 为了有助于对本文所描述的方法的更清楚理解,在图2中将存储控制器240示出 为单个处理单元,包括微处理器242、系统存储器243和非易失性存储装置("NVS") 216,其 将在下面被更详细地描述。应注意的是,在某些实施例中,存储控制器240由多个处理单元 组成,每个处理单元具有其自己的处理器复合体和系统存储器,并被数据存储系统200内 的专用网络互连。此外,在给定存储结构网络连接260的使用时,可通过使用存储结构260 来将多个存储控制器240连同被连接至每个存储控制器240的一个或多个集群主机210、 220和225 -起连接来采用附加架构配置。
[0061] 在某些实施例中,存储控制器240的系统存储器243包括操作软件250并存储处 理器242可访问以用于执行与执行本发明的步骤和方法相关联的功能和方法步骤的程序 指令和数据。如图2中所示,系统存储器243还可包括用于缓存"写数据"和"读数据"(其 分别指的是写/读请求及其关联数据)的高速缓冲器245 (在本文中也被称为"高速缓冲 存储器")或与之通信。在一个实施例中,在系统存储器243外部的设备中分配高速缓冲器 245,其仍可是微处理器242可访问的,并且除执行如本文所描述的操作之外,还可服务于 提供针对数据丢失的附加安全性。
[0062] 在某些实施例中,高速缓冲器245可用易失性存储器和非易失存储器来实现并经 由本地总线(在图2中未示出)耦合到微处理器242以用于数据存储系统200的增强的性 能。被包括在数据存储控制器中的NVS216是微处理器242可访问的,并且为如在其他附图 中所描述的操作和执行提供附加支持。NVS216也可被称为"持久性"高速缓冲器或"高速缓 冲存储器",并且用可利用也可不利用外部电功率来保持存储在其中的数据的非易失性存 储器来实现。可出于适合于实现本发明的目标的任何目的将NVS存储在高速缓冲器245中 并用其来存储。在某些实施例中,诸如电池之类的备用电源(在图2中未示出)向NVS216 供应足够的功率以在到数据存储系统200的功率损失的情况下保持存储在其中的数据。在 某些实施例中,NVS216的容量小于或等于高速缓冲器245的总容量。
[0063] 存储控制器240可包括降级管理模块255和平滑化降级任务模块257。降级管理 模块255和平滑化降级任务模块257可以是同时地运行的一个完整模块或分离的模块。降 级管理模块255和平滑化降级任务模块257可具有某个内部存储器(未示出),其中降级算 法可存储未处理、已处理或"半处理"数据。降级管理模块255和平滑化降级任务模块257 可结合存储控制器240、主机210、220、225以及可经由存储结构260而被远程连接的其他 存储控制器240和主机210、220和225的每个部件进行工作。降级管理模块255和平滑化 降级任务模块257两者可以在结构上是一个完整模块,或者可以与其他单独模块相关联和 /或被其他单独模块包括。降级管理模块255和平滑化降级任务模块257还可位于高速缓 冲器245或存储控制器240的其他部件中。
[0064] 存储控制器240包括用于控制到主机计算机210、220、225的光纤信道协议的控制 交换机241、用于控制所有存储控制器240的微处理器242、用于存储用于控制存储控制器 240的操作的微程序(操作软件)250的非易失性控制存储器243、用于临时地存储(缓冲) 数据的高速缓冲器245以及用于帮助高速缓冲器245读和写数据的缓冲器244,用于控制协 议以控制到或来自降级管理模块255和其中可设定信息的平滑化降级任务模块257的数据 传输的控制交换机241。可被实现用于辅助如本文所描述的方法和步骤的多个缓冲器244。
[0065] 在一个实施例中,集群主机/节点210、220、225和存储控制器240通过作为接口 的网络适配器(这可以是光纤信道)260(即经由被称为"结构"的交换机)而被连接。在 一个实施例中,可如下描述在图2中所示的系统的操作。微处理器242可控制存储器243 以存储来自集群主机/节点设备(物理或虚拟)210的命令信息和用于标识集群主机/节 点设备(物理或虚拟)210的信息。控制交换机241、缓冲器244、高速缓冲器245、操作软件 250、微处理器242、存储器243、NVS216、降级管理模块255以及平滑化降级任务模块257相 互通信且可以是分离的或一个单独部件。并且,可与存储器243 -起包括多个(如果不是 全部的话)部件,诸如操作软件250。可将所示设备内的每个部件链接在一起且其可出于适 合于本发明的目的而相互通信。
[0066] 转到图3,描述了图示了用于使降级任务平滑化的示例性方法300的流程图。方法 300开始(步骤302)。计算降级任务的期望数目(步骤304)。计算降级任务的当前数目 (步骤306)。计算德耳塔值,其为在降级任务的期望数目和当前数目之间的差(步骤308)。 方法300然后将确定所计算的德耳塔值是否是零(步骤309)。如果所计算的德耳塔值是 零,则方法300可跳到步骤318,其确定可变重计算降级任务间隔是否小于标准时间间隔。 如果所计算的德耳塔值不是零,则方法300可用由历史数据(或关于降级过程所获得的其 他实验数据)获得的可变时间段除以德耳塔值以用于计算可变重计算降级任务间隔(步骤 310)。可变重计算降级任务间隔是等于可变时间段除以德耳塔值的时间段。
[0067] 接下来,方法300可确定降级任务的当前数目是否大于降级任务的期望数目(步 骤312)。如果是,则方法300可以一的值将降级任务的当前数目递减(步骤314)。如果不 是,则方法300可以一的值将降级任务的当前数目递增(步骤316)。应注意的是,如果所计 算的德耳塔值大于预定德耳塔值,则可始终使用该可变重计算降级任务间隔。德耳塔值在 任一方向上(例如,增加或减小)都适用。例如,如果预定德耳塔值是4,并且如果所计算的 德耳塔值是8,则使用可变重计算降级任务间隔。如果可变时间段等于2且所计算的德耳 塔值是8,则可变重计算降级任务间隔将是250毫秒(MS)(例如,2/8 = 0. 25)。如果可变 时间段等于2且所计算的德耳塔值是16,则可变重计算降级任务间隔将是125MS。如果可 变时间段等于2且所计算的德耳塔值是40的最大德耳塔值,则可变重计算降级任务间隔将 是50MS。然而,如果所计算的德耳塔值仅为2,则将使用标准时间间隔,因为所计算的德耳 塔值小于预定德耳塔值。
[0068] 接下来,方法300可确定可变重计算降级任务间隔是否小于标准时间间隔(例如, 其值为在两个时间间隔之间的最小值)(步骤318)。如果是,则方法300可根据可变重计 算降级任务间隔来设定定时器(步骤320)。方法300在定时器到期时返回步骤304(步骤 322)。如果标准时间间隔小于可变重计算降级任务间隔,则根据标准时间间隔来设定定时 器(步骤324)。方法300在定时器到期时返回步骤304(步骤326)。应注意的是,可将定 时器重置且通过返回步骤304而在该时间段到期时连续地执行重计算。换言之,基于可变 重计算降级任务间隔或标准时间间隔来不断地执行重计算(例如,如果可变重计算降级任 务间隔是50MS,则重计算每50MS发生)。该方法可重复地继续此过程。
[0069] 仅以示例的方式,考虑用于通过使降级任务平滑化来增加降级效率的以下情形。 首先,假设降级任务的当前数目处于20的值,但是降级任务的期望数目等于40的值。还假 设标准时间间隔被测量为半秒(例如,〇. 5秒或500毫秒)。并不是直接跳到降级任务的期 望数目(该降级数目现在处于40),首先计算在降级任务的期望数目与当前数目之间的德 耳塔值。这一德耳塔值将是20 (例如,40减20等于20)。先前,在任意或固定时间段内,将 已从历史数据或涉及降级过程所获得的某些其他实验数据而获得了可变时间段。出于本示 例的目的,假设这一可变时间段等于1秒。使用这一可变时间段和计算的德耳塔值,通过用 可变时间段(1秒)除以德耳塔值(20)、得到50MS的结果(例如,1/20 = 0. 05秒或50毫 秒)来计算可变重计算降级任务间隔。现在,如果降级任务的当前数目大于降级任务的期 望数目,则本发明的机制将以一的值将降级任务的当前数目递减。如果降级任务的当前数 目小于降级任务的期望数目,则本发明的机制将以一的值将降级任务的当前数目递增。
[0070] 此时,先前已确定了可变重计算降级任务间隔(50MS)小于标准时间间隔 (500MS),则针对50MS设定定时器。在到达50MS之后,重计算降级任务的当前数目且将每 50MS继续重计算,其比500MS标准时间间隔快了 10倍(10X)。在确定标准时间间隔小于 可变重计算降级任务间隔的情况下,根据标准时间间隔(例如,500MS)来设定定时器,并且 降级任务的当前数目的重计算每500MS发生。这一过程然后继续,只要存在用于存储磁道 飞降级的要执行的降级任务即可。因此,通过以短或较快的时间间隔重计算降级任务的当 前数目,本发明的机制使降级任务的期望数目和降级任务的当前数目的递增和/或递减斜 升和/或斜降。
[0071] 使用所描述的方法的计算机系统以受控步幅针对存储磁道的降级执行平滑化。这 一平滑化过程消除了用于存储磁道降级的降级任务突发,并且通过当在降级任务的当前数 目与降级任务的所需数目之间的差为大时增加降级任务的当前数目的计算速率来引起用 于读操作的较少长I/O。这允许加速降级任务的递增和/或递减。通过增加降级任务的当 前数目的递增和递减的加速度速率以用于达到降级任务的所需数目,计算系统以平滑的受 控方式达到降级任务的所需数目。现在消除了突发。
[0072] 在这样做时,显著地减少了用于读操作的I/O的较长事务响应。可将计算环境的 处理器和硬件部件从存储磁道的降级解除和释放并服务于其他I/O请求(例如,以加速的 步幅释放计算系统驱动以用于服务于和响应于先前其中经历显著延迟的I/O读操作)。因 此,计算环境经历用于用户的增加的效率。
[0073] 虽然在本发明的前述详细描述中已呈现了至少一个示例性实施例,但应领会到的 是存在许多的变体。还应领会到的是一个或多个示例性实施例仅仅是示例,并且并不意图 以任何方式限制本发明的范围、可适用性或配置。相反,前述详细描述将为本领域的技术人 员提供用于实现本发明的示例性实施例的方便指导方针,应理解的是在不脱离如在所附权 利要求及其法律等价物中所阐述的本发明的范围的情况下可以对在示例性实施例中描述 的元件的功能和布置方面进行各种改变。如本领域普通技术人员将认识到的,可以将本发 明的各方面体现为系统、方法或计算机程序产品。因此,本公开可以具体采取完全硬件实施 例、完全软件实施例(包括固件、驻留软件、微代码等)或将软件和在本文中一般地可全部 称为"电路"、"模块"或"系统"的硬件方面组合的实施例的形式。此外,本发明的方面还可 以采取在一个或多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质 具有体现于其上的计算机可读的程序代码。
[0074] 可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机 可读信号介质或物理计算机可读存储介质。物理计算机可读存储介质例如可以是但不限于 电、磁、光、结晶、聚合物、电磁、红外线、或半导体的系统、装置或设备,或者以上各项的任何 适当组合。物理计算机可读存储介质的示例包括但不限于具有一个或多个导线的电连接、 便携式计算机磁碟、硬盘、RAM、ROM、EPROM、闪速存储器、光纤、CD-ROM、光学存储设备、磁存 储设备或前述各项的任何适当组合。在本文的上下文中,计算机可读存储介质可以是任何 能够包含或存储程序或数据的有形介质,该程序或数据可以被指令执行系统、装置或者器 件使用或者与其结合被使用。
[0075] 计算机可读介质上体现的计算机代码可以用任何适当的介质传输,包括但不限于 无线、有线、光缆、射频(RF)等等,或者上述各项的任何适当组合。可用任何静态语言来编 写用于执行用于本发明的各方面的操作的计算机代码,诸如"C"编程语言或其他类似编程 语言。计算机代码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为 独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行或者完全在远程计算 机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任何种类的网络或 通信系统(包括但不限于局域网(LAN)或广域网(WAN)、会聚网络,或者可实现到外部计算 机的连接(例如,通过使用因特网服务提供商的因特网))而连接到用户的计算机。
[0076] 上文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/ 或框图描述了本发明的各方面。将理解的是可以由计算机程序指令来实现流程图和/或方 框图的每个方框以及流程图和/或方框图中的方框的组合。这些计算机程序指令可以被提 供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器, 以使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生用于实现 在流程图和/或框图中的一个或多个方框中指定的功能/动作的装置。
[0077] 也可以把这些计算机程序指令存储在计算机可读介质中,这些指令引导计算机、 其它可编程数据处理装置、或其他设备以特定方式工作,以使得存储在计算机可读介质中 的指令产生包括实现在流程图和/或框图中的一个或多个方框中指定的功能/动作的指令 的制造品(article of manufacture)。也可以把计算机程序指令加载到计算机、其它可编 程数据处理装置、或其它设备上,以使得在计算机、其它可编程数据处理装置或其它设备上 执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上 执行的指令提供用于实现在流程图和/或框图中的一个或多个方框中指定的功能/动作的 过程。
[0078] 以上附图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算 机程序产品的可能的实现方式的架构、功能和操作。在这点上,流程图或框图中的每个方框 可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个 用于实现指定的逻辑功能的可执行指令。还应注意的是,在一些备选实现方式中,在方框中 所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个被连续示出的方框实 际上可以基本并行地被执行,或者方框有时也可以按相反的顺序被执行,这依赖于所涉及 的功能。还应注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框 的组合,可以用执行指定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用 硬件与计算机指令的组合来实现。
[0079] 虽然已详细地图示了本发明的一个或多个实施例,但本领域普通技术人员将认识 到在不脱离如在以下权利要求中阐述的本发明的范围的情况下可以对那些实施例进行变 更和修改。
【权利要求】
1. 一种用于通过控制降级任务以减少计算环境中的处理器设备的长输入/输出(I/O) 读操作来增加降级效率的方法,所述方法包括: 根据标准时间间隔和可变重计算降级任务间隔之一来计算降级任务;以及 根据所述计算来控制在降级任务的期望数目与降级任务的当前数目之间的存储磁道 的降级。
2. 根据权利要求1所述的方法,还包括当在降级任务的所述期望数目与降级任务的所 述当前数目之间的德耳塔值大于预定德耳塔值时根据所述可变重计算降级任务间隔来执 行基于所述计算所述降级任务的所述控制。
3. 根据权利要求1所述的方法,还包括当在降级任务的所述期望数目与降级任务的所 述当前数目之间的德耳塔值小于预定德耳塔值时根据所述标准时间间隔来执行基于所述 计算所述降级任务的所述控制。
4. 根据权利要求1所述的方法,其中所述可变重计算降级任务间隔是等于通过用历史 数据除以在降级任务的所述期望数目与降级任务的所述当前数目之间的德耳塔值获得的 可变时间段的时间段。
5. 根据权利要求1所述的方法,还包括执行使在降级任务的所述期望数目与降级任务 的所述当前数目之间的平滑化斜升和斜降之一。
6. 根据权利要求1所述的方法,还包括执行以下各项之一: 如果降级任务的所述当前数目大于降级任务的所述期望数目,则以一的值将降级任务 的所述当前数目递减,以及 如果降级任务的所述当前数目小于降级任务的所述期望数目,则以一的值将降级任务 的所述当前数目递增。
7. 根据权利要求6所述的方法,还包括在执行所述递减和所述递增之一时,在达到所 述标准时间间隔和所述可变重计算降级任务间隔之一后重计算降级任务的所述当前数目。
8. 根据权利要求1所述的方法,还包括结合所述计算来执行以下各项之一: 利用公式来确定将用来使存储磁道降级的降级任务的所述当前数目,降级任务的所述 当前数目基于高速缓冲器中的存储磁道的当前数量, 利用所述公式来确定降级任务的所述期望数目,以及 利用降级任务的所述当前数目来使多个存储磁道降级。
9. 一种用于通过控制降级任务以减少计算环境中的长输入/输出(I/O)读操作来增加 降级效率的系统,所述系统包括: 处理器设备,在计算存储环境中可操作,其中所述处理器设备被适配用于: 根据标准时间间隔和可变重计算降级任务间隔之一来计算降级任务,以及 根据所述计算来控制在降级任务的期望数目与降级任务的当前数目之间的存储磁道 的降级。
10. 根据权利要求9所述的系统,其中所述处理器设备还被适配用于当在降级任务的 所述期望数目与降级任务的所述当前数目之间的德耳塔值大于预定德耳塔值时根据所述 可变重计算降级任务间隔来执行基于所述计算所述降级任务的所述控制。
11. 根据权利要求9所述的系统,其中所述处理器设备还被适配用于当在降级任务的 所述期望数目与降级任务的所述当前数目之间的德耳塔值小于预定德耳塔值时根据所述 标准时间间隔来执行基于所述计算所述降级任务的所述控制。
12. 根据权利要求9所述的系统,其中所述可变重计算降级任务间隔是等于通过用历 史数据除以在降级任务的所述期望数目与降级任务的所述当前数目之间的德耳塔值获得 的可变时间段的时间段。
13. 根据权利要求9所述的系统,其中所述处理器设备还被适配用于执行使在降级任 务的所述期望数目与降级任务的所述当前数目之间的所述控制斜升和斜降之一。
14. 根据权利要求9所述的系统,其中所述处理器设备还被适配用于执行以下各项之 如果降级任务的所述当前数目大于降级任务的所述期望数目,则以一的值将降级任务 的所述当前数目递减,以及 如果降级任务的所述当前数目小于降级任务的所述期望数目,则以一的值将降级任务 的所述当前数目递增。
15. 根据权利要求14所述的系统,还包括在执行所述递减和所述递增之一时,在达到 所述标准时间间隔和所述可变重计算降级任务间隔之一后重计算降级任务的所述当前数 目。
16. 根据权利要求9所述的系统,其中所述处理器设备还被适配用于结合所述计算来 执行以下各项之一: 利用公式来确定将用来使存储磁道降级的降级任务的所述当前数目,降级任务的所述 当前数目基于高速缓冲器中的存储磁道的当前数量, 利用所述公式来确定降级任务的所述期望数目,以及 利用降级任务的所述当前数目来使多个存储磁道降级。
17. -种用于通过控制降级任务以减少处理器设备在计算环境中的长输入/输出(1/ 〇)读操作来增加降级效率的计算机程序产品,所述计算机程序产品包括非瞬态计算机可读 存储介质,其具有存储在其中的计算机可读程序代码部分,所述计算机可读程序代码部分 包括: 第一可执行部分,用于根据标准时间间隔和可变重计算降级任务间隔之一来计算降级 任务;以及 第二可执行部分,用于根据所述计算来控制在降级任务的期望数目与降级任务的当前 数目之间的存储磁道的降级。
18. 根据权利要求17所述的计算机程序产品,还包括第三可执行部分,所述第三可执 行部分用于当在降级任务的所述期望数目与降级任务的所述当前数目之间的德耳塔值大 于预定德耳塔值时根据所述可变重计算降级任务间隔来执行基于所述计算所述降级任务 的所述控制。
19. 根据权利要求17所述的计算机程序产品,还包括第三可执行部分,所述第三可执 行部分用于当在降级任务的所述期望数目与降级任务的所述当前数目之间的德耳塔值小 于预定德耳塔值时根据所述标准时间间隔来执行基于所述计算所述降级任务的所述控制。
20. 根据权利要求17所述的计算机程序产品,其中所述可变重计算降级任务间隔是等 于通过用历史数据除以在降级任务的所述期望数目与降级任务的所述当前数目之间的德 耳塔值获得的可变时间段的时间段。
21. 根据权利要求17所述的计算机程序产品,还包括第三可执行部分,所述第三可执 行部分用于执行使在降级任务的所述期望数目与降级任务的所述当前数目之间的所述控 制斜升和斜降之一。
22. 根据权利要求17所述的计算机程序产品,还包括第三可执行部分,所述第三可执 行部分用于执行以下各项之一: 如果降级任务的所述当前数目大于降级任务的所述期望数目,则以一的值将降级任务 的所述当前数目递减,以及 如果降级任务的所述当前数目小于降级任务的所述期望数目,则以一的值将降级任务 的所述当前数目递增。
23. 根据权利要求22所述的计算机程序产品,还包括第四可执行部分,所述第四可执 行部分用于在执行所述递减和所述递增之一时,在达到所述标准时间间隔和所述可变重计 算降级任务间隔之一后重计算降级任务的所述当前数目。
24. 根据权利要求17所述的计算机程序产品,还包括第三可执行部分,所述第三可执 行部分用于结合所述计算来执行以下各项之一: 利用公式来确定将用来使存储磁道降级的降级任务的所述当前数目,降级任务的所述 当前数目基于高速缓冲器中的存储磁道的当前数量, 利用所述公式来确定降级任务的所述期望数目,以及 利用降级任务的所述当前数目来使多个存储磁道降级。
【文档编号】G06F3/06GK104067214SQ201380006371
【公开日】2014年9月24日 申请日期:2013年1月17日 优先权日:2012年1月31日
【发明者】L·M·古普塔, M·T·本哈斯, R·哈索恩, S·E·威廉斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1