用于冗余数据拷贝的降级管理的方法和系统的制作方法

文档序号:6458290阅读:280来源:国知局
专利名称:用于冗余数据拷贝的降级管理的方法和系统的制作方法
技术领域
本发明通常涉及计算机,并且更具体地,涉及高速緩存存储子系统中的冗余数据拷贝的降级管理(destage management)。
技术背景诸如国际商业机器公司(181\1@)企业存储服务器(£88@)的存储子系统将接收指向附接的存储系统的输入/输出(i/o)请求。附接的存储系统可包括封装,其包括许多互连的盘驱动器,例如直接访问存储设 备(Direct Access Storage Device , DASD)、独立磁盘冗余阵列 (Redundant Array of Independent Disks, RAIDP车歹'J)、简单磁盘相绑 (Just a Bunch of Drives, JBOD)等等。如果以比处理I/O请求的速率 更快的速率接收I/0请求,则存储子系统将i/o请求放在存储高速緩存 中排队,所述存储高速緩存可包括一个或多个千兆字节的易失性存储 器,例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)等等。 某些修改(写)数据的拷贝还可被放在诸如电池备用易失性存储器的非 易失性存储单元(NVS)中,以便在存储子系统发生故障的情况下,提 供对写数据的额外保护。在高速緩存中的每个磁道的最近最少使用(LRU)列表中包括一 个条目。可以从存储系统升级(stage)磁道以便高速緩存返回到读请求。 此外,磁道的写数据在被传送给附接的存储系统之前可被存储在高速 緩存中。当需要高速緩存中的额外空间以緩冲额外请求的读数据和修 改数据时,在LRU列表的LRU末端处指示的磁道被降级到盘。针对被 添加到高速緩存的每个磁道,将一个条目添加到LRU列表的最近最多 使用(MRU)末端。LRU列表中的每个条目包括指示磁道的当前状态、 在高速緩存中的位置,以及在存储系统中的位置的控制块。为NVS中的磁道维护附加的NVS LRU列表。高速緩存和NVS LRU列表包括用 于NVS和高速緩存两者中的磁道的条目。在提供写高速緩存以增强性能的存储系统中,需要一种持久地存 储和恢复数据的方法来保存失去电源情况期间的数据完整性。如果没 有以持久方式存储数据,则当失去电源时会丢失写高速緩存中的数 据。没有电源中断期间丢失什么数据的记录,所以在子系统中存储的 全部数据是不可信的。写高速緩存的大小影响存储系统的性能能力, 这是由于其决定对在要求将数据降级到诸如硬盘设备(HDD)的持久性 (persistent)介质之前,哪些写事务可被系统处理的限制。发明内容在使用信息的冗余拷贝来在信息的拷贝中的一个变得不可用时 提供备份的存储子系统中,可以改进创建冗余拷贝的过程以加速数据 的单个拷贝的创建。这在创建所需数据结构的持久性拷贝的耗用时间 (elapsed time)是关键性的,例如在如先前描述的电源丢失期间,写高 速緩存数据被紧急降级到持久性介质的情况下是有益的。各种因素影 响写高速緩存降级到持久性介质的可用时间,例如备份电源容量和持 久性介质存储设备控制器的特性以及接口网络特性。数据储存系统通常在保存写高速緩存数据时实现冗余拷贝方法, 使得如果在电源丢失恢复期间存储设备中的一个出现故障的话,则在 独立存储设备上存在数据的备份拷贝。在这些情况下,尽快创建写高 速緩存数据的完整、有效的拷贝是有用处的,以允许由于诸如备份电 源系统故障和/或较慢数据存储设备控制器的某些异常情况而中断写 高速緩存数据的降级的情况。在一个实施例中,本发明是一种在高速緩存存储子系统中冗余数 据拷贝的降级管理的方法,包括提供多个目标存储设备,所述多个目 标存储设备中的每个能够存储数据图像的完整拷贝,将所述数据图像 和所述目标存储设备再分成多个子区域,组织所述多个子区域中的每 个使得在所述目标设备上的所述多个子区域的最小累计总数等于形成所述数据图像的完整拷贝所需的子区域的数量,以及按次序将来自 写高速緩存的数据降级到所述目标存储设备上的多个子区域,使得可 以合并最小数量的子区域以恢复所述数据图像的所述完整拷贝。在另 一个实施例中,本发明是一种用于在高速緩存存储子系统中冗余数据拷贝的降级管理的系统,包括组织多个目标存储设备的计 算机处理设备,所述多个目标存储设备中的每个能够存储数据图像的 完整拷贝,其中所述计算机处理设备将所述数据图像和所述目标存储 设备再分成多个子区域,组织所述多个子区域中的每个使得在所述目 标存储设备上的所述多个子区域的最小累计总数等于形成所述数据 图像的完整拷贝所需的子区域的数量,以及连接到所述计算机处理设 备的降级管理模块,其按次序将来自写高速緩存的数据降级到所述目 标存储设备上的多个子区域,使得可以合并最小数量的子区域以恢复 所述数据图像的所述完整拷贝。在另一个实施例中,本发明是一种产品,其包括用于在高速緩存 存储子系统中冗余数据拷贝的降级管理的代码,其中所述代码能够使 得如下操作将被执行,所述操作包括提供多个目标存储设备,所述多个目标存储设备中的每个能够存储数据图像的完整拷贝,将所述数 据图像和所述目标存储设备再分成多个子区域,组织所述多个子区域 中的每个使得在所述目标存储设备上的所述多个子区域的最小累计 总数等于形成所述数据图像的完整拷贝所需的子区域的数量,以及按 次序将来自写高速緩存的数据降级到所述目标存储设备上的多个子 区域,使得可以合并最小数量的子区域以恢复所述数据图像的所述完 整拷贝。


为了使本发明的优点易于理解,下面会参照附图中图解的特定实 施例提供有关前面概述的本发明的更加具体的说明。应当理解,这些 附图只描述了本发明的典型实施例,因此不应被认为是对本发明的范 围的限制,下面将通过使用附图以更多的特征和细节来描述和说明本发明,在附图中图l图解了实现本发明的各方面的计算环境;图2图解了在存储系统中的盘被组织成RAID等级的实现中,用于 实现高速緩存管理操作的程序部件;图3图解了根据本发明的数据降级到介质操作的示例性管理;图4图解了根据本发明的恢复持久性数据结构的第一示例性方法;图5图解了根据本发明的恢复持久性数据结构的第二示例性方 法;以及图6图解了根据本发明的降级管理的示例性方法。
具体实施方式
在该说明书中所描述的一些功能单元已被标记为模块,以便更具 体地强调其实现独立性。例如,模块可以被实现成硬件电路,包括定 制VLSI电路或门阵列,例如逻辑芯片的现成半导体,晶体管或其它分 立元件。模块也可以被实现成可编程硬件设备,例如现场可编程门阵 列、可编程阵列逻辑、可编程逻辑器件等等。也可以通过由各种处理器执行的软件来实现各模块。例如, 一个 指定的可执行代码模块可以包括一或多个物理或逻辑计算机指令块, 其可以例如被组织成对象、过程或函数。然而,不需要将指定模块的 可执行指令在物理上放置在一起,而是可以包括存储在不同位置的不 同指令,其在被逻辑连接在一起时,构成该模块并且实现该模块的所 述目的。实际上,可执行代码模块可以是单个指令或许多指令,甚至可以 分布于若干不同的代码段、不同程序中间、和若干储存装置上。类似 地,这里在模块内可以指定和说明操作数据,并且可以体现为任何适 当的形式,并且组织在任何适当类型的数据结构内。操作数据可以被 聚集为单个数据集,或者也可以分布于不同位置,包括分布于不同的存储设备上,并且可以至少部分地仅作为系统或网络上的电信号而存在。在整个说明书中有关"一个实施例","实施例"或类似语言是指 结合实施例描述的具体功能、结构或特征被包括在本发明的至少一个 实施例中。于是,整个说明书中短语"在一个实施例中"、"在实施例 中"和类似语言的出现可以,但是不必然,全部指示相同的实施例。有关信号承载介质可采取任何能够生成信号、导致信号被生成、 或导致在数字处理装置上执行机器可读指令的程序的形式。信号承载 介质可通过传输线路、致密盘、数字视频盘、磁带、伯努利驱动器、 磁盘、穿孔卡片、闪存、集成电路或其它数字处理装置存储器设备来 体现。所含的示意性流程图通常被作为逻辑流程图说明。同样地,所述 次序和标记的步骤表示所提供的方法的一个实施例。可以想到在功 能、逻辑或作用上与所图解方法的一个或多个步骤或其部分步骤相对 应的其它步骤和方法。此外,提供了所采用的格式和符号来说明方法 的逻辑步骤,并且不被认为是限制方法的范围。虽然各种箭头类型和 线条类型可被采用于流程图中,但是可以理解其不限制相应方法的范 围。实际上, 一些箭头或其它连接符可被用于仅表明方法的逻辑流程。 例如,箭头可表明所述方法的列举步骤之间的未指明持续时间的等待 或监控周期。此外,特定方法发生的次序可能或可能不严格遵从所示 的相应步骤的次序。此外,本发明的所述功能、结构或特征可以按照任何适当的方式 组合在一个或多个实施例中。在下面的说明中,提供许多细节,例如 编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、 硬件模块、硬件电路、硬件芯片等等的例子,以提供对本发明实施例 的彻底了解。然而本领域技术人员会认识到,可以在没有一个或多个 所述特定细节的情况下,或通过其它方法、部件、材料等等来实施本 发明。在其它实例中,没有详细示出或描述公知结构、材料或操作, 以避免使本发明的各个方面不清楚。本发明提供了一种系统和方法,其首先检测对持久性存储非写高速緩存数据的需要的存在,动态地减少写高速緩存的大小以满足新的 持久性数据存储要求,从而分配持久性存储位置以支持非写高速緩存 数据的持久性存储。本发明管理一种静态总持久性存储器分配,并且动态地控制分配 和分摊持久性存储器作为其它次要任务关键数据的写高速緩存和持 久性存储仓库供系统使用。对用于次要任务关键数据的仓库统配置参数。为有效管理各类持久数据(写高速緩存和次要任务关键数 据)的动态性质,以及对各种持久数据需用的存储器容量的相应要求, 在下面段落中描述了系统动态地重新配置写高速緩存的容量以及分 配/分摊持久性存储。参照图1 ,描述了可以实现本发明的各方面的示例性存储子系统计算环境。存储子系统2从指向存储系统6中的磁道的主机4a、 4b…4n 接收I/0请求,存储系统6包括一个或多个硬盘驱动器8a、 8b…8n。存 储系统6和盘驱动器8a、 8b…8n可^L配置成DASD、 一个或多个RAID 等级等等。存储子系统2还包括一个或多个中央处理单元(CPU)10a、 10b、 lOc...lOn,高速緩存12包括存储磁道的易失性存储器,以及在 其中緩冲高速緩存中的某些脏(被破坏的)或被修改的磁道的非易失性 存储单元(NVS)14。主机4a、 4b…4n经由网络16将I/0请求传送到存储 子系统2,网络16可包括本领域已知的任何网络,例如存储区网络 (SAN)、局域网(LAN)、广域网(WAN)、因特网、内联网等等。高速 緩存12可以用一个或多个易失性存储器设备实现,而NVS 14可以用一 个或多个诸如电池备份易失性存储器的高速非易失性存储设备来实 现。高速緩存管理器18包括硬件部件或由管理高速緩存12的CPU 10a、 10b.,.10n中的一个执行的过程。降级管理器20包括管理降级操作的软 件或硬件部件。高速緩存管理器15和/或降级管理器20可以利用所描述 的硬件和软件进行操作。然而,此外,高速緩存管理器15和/或降级管 理器20还可以利用在存储子系统2上操作和执行的各种硬件和软件的 组合进行操作以执行此处所描述的过程。图2图解了在存储系统6中的盘8a、 8b…8n被组织成RAID等级的 实现中,用于实现高速緩存管理操作的示例性程序部件。图2图解了 其中列出了高速緩存12中的每个磁道的高速緩存LRU列表22,其中列 出了NVS 14中的每个磁道的NVS列表24,以及在存储系统6中配置的 每个RAID等级的一个RAID等级LRU列表26a、 26b…26n。 CPU 10a、 lOb...lOn将执行线程以进行各种操作。执行线程30包括扫描高速緩存 LRU列表22以寻找满足某个条件的被修改的磁道一例如,指定的 RAID等级中的磁道一的条目的LRU任务线程32,被调用来将磁道从 高速緩存12降级到存储系统6的多个执行降级线程34a和34b,以及执 行任何其他存储子系统2操作的其它线程36。如本领域普通技术人员 会理解的那样,当前所述的降级方法构成了降级数据的示例性方法, 并不意欲排除根据本发明的降级数据的其它方法。为尽快创建写高速緩存数据的完整、有效的拷贝,可以构造到介 质的数据降级,使得创建数据图像的可重构拷贝的耗用时间被最小 化,而同时在多个独立存储设备上创建多个完整的冗余拷贝。可以提 供能够存储数据图像的完整拷贝的目标存储设备以实现该任务。 一旦 设备就位,现有数据图像被分成特定子区域。组织数据图像的子区域, 使得只要可以从目标存储设备中获得的不同子区域的最小累计总数 等于形成被保存的结构的单个数据图像所需的子区域的数量,数据图 像就可被恢复。排序并且构造子区域到目标存储设备的降级次序,使 得优先形成能够在每一目标存储设备上恢复完整的数据图像的数据 图像子区域的拷贝。例如,在数据降级到介质的时候,如果数据图像被再分成两个(2) 子区域[子区域l和子区域2],并且目标是被存储在两个(2)存储设备[存 储设备1和存储设备2]上,控制降级的次序,使得(l)首先来自子区 域l的数据被存储到存储设备l中,(2)其次来自子区域2的数据被存储 到存储设备2中,(3)来自子区域2的数据被存储到存储设备1中,以及 (4)来自子区域1的数据被存储到存储设备2中。步骤(2)之后,通过组合 子区域1和子区域2数据图像可以恢复完整的数据图像。参照图3,描述了管理到介质的数据降级的系统36和方法。系统 36通常描述具有持久性数据结构38的高速緩存存储器存储系统。数据 结构38被分成第 一子区域40和第二子区域42 。多个存储设备被指定接 收降级数据。与上段中描述的例子一致,指定第一存储设备44和第二 存储设备46。第一存储设备包括第一子区域48和第二子区域50。第二 存储设备46包括第 一子区域52和第二子区域54 。线56指示数据到设备44和46的第一并行降级。在数据降级的阶段 l期间,持久性数据结构38的第一子区域40被存到第一数据存储设备, 即存储设备44,的子区域48中,并且数据结构38的子区域42并行地被 存到第二数据存储设备,即存储设备46,中。在持久性数据结构保存 的数据降级的阶段l完成时,现在持久性数据结构的完整拷贝已被存 到持久性介质存储设备中。图3还描述了管理到介质的数据降级以使得实线58指示数据到第 一和第二存储设备44、 46的第二并行降级的系统36和方法。在数据降 级操作的阶段2期间,持久性数据结构38的子区域42被存到存储设备 44的子区域50中,并且持久性数据结构38的子区域40并行地被存到存 储设备46的子区域52中。在持久性数据结构保存的数据降级的阶段2 完成时,已经将持久性数据结构的两个完整冗余拷贝保存到两个独立 的持久性介质存储设备中。参照图4,描述了当完成到至少一个持久性介质存储设备(例如存 储设备44、 46)的持久性数据结构降级的阶段1和阶段2时,持久性数据 结构38的恢复的第一示例性方法。被降级到子区域48的数据被再次恢 复到由线62图解的数据结构38中的子区域40。同样,线64图解了被降 级到子区域50的数据恢复回到数据结构38中的子区域42。当完成阶段 l和阶段2两个升级时,可以从单个存储设备(在这种情况下,存储设备 44)中完全恢复持久性数据结构。在大多数情况下,已完成到两个存储 设备的阶段1和阶段2两个降级阶段,从而使得能够进行上述恢复操作。参照图5,描述了当保存到持久性介质存储设备44、 46中时仅仅第二示例性恢复操作。持久性数据结构38从两个存储设备44、 46中被 重组,其中存储设备44保存子区域40的有效拷贝,而存储设备46保存 子区域42的有效拷贝。并且,用线66和68分别指示将数据升级回到结 构38的恢复过程。在该第二例子中,整个持久性数据结构38能够从被 存储到两个独立的存储设备44、 46的两个子区域中被适当地重组。图6图解了先前在上述例子中描述的组织和管理降级操作的示例 性方法70。方法70开始于多个目标存储设备的组织(步骤72),每一目 标存储设备能够存储数据图像的完整拷贝(步骤74)。如先前所述,各 个数据图像被再分成子区域(步骤76)。其次,数据从第一子区域被降 级到第 一 目标存储设备(步骤78),同时数据还以并行操作从第二子区 域被降级到第二存储设备(步骤80)。类似地,数据接着从第一子区域 被降级到第二目标存储设备(步骤82),同时数据还以并行操作从第二 子区域被降级到第一存储设备(步骤84)。然后,方法70终止(步骤86)。可以利用本领域当前已知的工具来创建实现先前所述的方法,例 如所述的从持久性介质降级到目标存储设备的方法,的软件和/或硬 件。所述系统和方法的实现不涉及比使用RAID存储拓朴的标准计算 环境中已经使用的资源或附加硬件的附加费用更大的附加费用,其使 实现成本更有效。因为所述方法将在多个冗余存储设备上完整数据图 像的创建优先级化,所以降级数据到持久性介质所需的时间,以及恢 复图像数据所需的时间被最小化。系统36可以利用处理部分,例如CPU 10,来动态地再校准各个 数据图像、数据图像的子区域以及可用目标存储设备,而且根据存储 系统6中任何确定时间时可用的存储资源的一定数量,动态地实现降 级和恢复过程。这样,当附加磁盘8或类似的目标存储设备在系统6中 可用时,CPU IO可以实现一种进行再校准以便有效地分配存储资源给 特定的降级管理技术的方法。实现和使用所述示例性系统和方法可以提供一种简单、有效方 法,该方法提供了在具有所述的存储系统和子系统的计算环境中冗余数据拷贝的有效降级管理,并且可以用来最大化存储系统的性能。虽 然本发明的一个或多个实施例已被详细地说明,但技术人员会理解在 不偏离如以下权利要求书中提出本发明的范围的情况下,可以对那些 实施例进行修改和调整。
权利要求
1.一种在高速缓存存储子系统中冗余数据拷贝的降级管理方法,包括提供多个目标存储设备,所述多个目标存储设备中的每一个都能够存储数据图像的完整拷贝;将所述数据图像和所述目标存储设备再分成多个子区域,组织所述多个子区域中的每一个,以使得所述目标存储设备上的所述多个子区域的最小累计总数等于重构所述数据图像的完整拷贝所需的子区域的数量;以及按次序将来自写高速缓存的数据降级到所述目标存储设备上的多个子区域以使得可以合并最小数量的子区域以恢复所述数据图像的所述完整拷贝。
2. 如权利要求1所述的方法,其中按照独立磁盘冗余阵列(RAID) 拓朴来组织所述存储子系统。
3. 如权利要求1所述的方法,其中利用在所述存储子系统上运作 的降级模块来执行降级来自写高速緩存的数据的步骤。
4. 如权利要求1所述的方法,其中利用在所述存储子系统上运作 的处理部件来执行将所述数据图像再分成多个子区域的步骤。
5. 如权利要求4所述的方法,其中在使附加目标存储设备可用于 使用时,由所述处理部件动态地校准所述将所述数据图像再分成多个 子区域的步骤。
6. 如权利要求1所述的方法,还包括通过组合来自目标存储设 备的最小数量的子区域来恢复所述数据图像,其中从单个目标存储设 备的子区域恢复所述数据图像优先于从多个目标存储设备的恢复。
7. —种在高速緩存存储子系统中冗余数据拷贝的降级管理系统,包括组织多个目标存储设备的计算机处理设备,所述目标存储设备中 的每一个适合于存储数据图像的完整拷贝,其中所迷计算机处理设备将所述数据图像和目标存储设备再分成多个子区域,组织所述多个子 区域中的每一个,以使得所述目标存储设备上的所述多个子区域的最小累计总数等于形成所述数据图像的完整拷贝所需的子区域的数量; 以及连接到所述计算机处理设备的降级管理器模块,用于按次序将来 自写高速緩存的数据降级到所述目标存储设备上的多个子区域以使 得可以合并最小数量的子区域以恢复所述数据图像的所述完整拷贝。
8. 如权利要求7所述的系统,其中所述存储子系统按照独立磁盘 冗余阵列(RAID)拓朴来组织所述存储子系统。
9. 如权利要求7所述的系统,其中在使附加目标存储设备可用于 使用时,由所述计算机处理设备动态地校准所述将所述数据图像再分 成多个子区域的步骤。
10. 如权利要求7所述的系统,其中所述降级管理器模块还包括在 所述存储子系统上运作的硬件、软件或硬件和软件的组合。
全文摘要
公开了一种高速缓存存储子系统中冗余数据拷贝的降级管理方法,包括提供多个目标存储设备,所述多个目标存储设备中的每一个都能够存储数据图像的完整拷贝。将所述数据图像和所述目标存储设备再分成多个子区域,组织所述多个子区域中的每一个以使得在所述目标存储设备上的所述多个子区域的最小累计总数等于形成所述数据图像的完整拷贝所需的子区域的数量。按次序将来自写高速缓存的数据降级到所述目标存储设备上的多个子区域以使得可以合并最小数量的子区域以恢复所述数据图像的所述完整拷贝。
文档编号G06F11/14GK101241457SQ200810009450
公开日2008年8月13日 申请日期2008年2月2日 优先权日2007年2月9日
发明者杰里米·M.·品桑, 罗伯特·A.·库博 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1