基于服务质量的存储分层与迁移技术的系统和方法

文档序号:6607624阅读:217来源:国知局
专利名称:基于服务质量的存储分层与迁移技术的系统和方法
技术领域
本发明涉及存储资源和数据管理领域,特别是涉及一种基于服务质量OioS)的存 储分层与迁移技术的系统和方法。
背景技术
目前可用的用于在数据存储系统中提供存储资源和数据管理的方法不可以提供 预期的性能水平。因此,可能需要在数据存储系统中能够提供数据资源和数据管理的系统/方法, 该系统/方法的目的是提供上述问题的当前可获得的解决方案。

发明内容
相应的,本发明的一个实施例涉及一种用于提供基于服务质量OioS)的存储系统 中的存储分层和迁移,所述方法包括步骤当一应用进程访问存储系统的第一存储层时监 控所述应用进程;基于所述的监控,确定所述应用进程的服务质量OioS)因子测量;比较所 述QoS因子测量与以下至少一项第一预先确定的服务质量OioS)因子阈值(例如层阈 值)和第二预先确定的服务质量(QoS)因子阈值(例如迁移阈值);当所述比较表明所述 QoS因子测量大于所述第一预先确定的QoS因子阈值时,创建一时间点(PiT)拷贝并设置 所述PiT拷贝的访问许可为只读(Read Only),其中所述PiT拷贝基于所述第一存储层;当 所述比较表明所述QoS因子测量小于所述第一预先确定的QoS因子阈值而大于所述第二预 先确定的QoS因子阈值时,数据从所述PiT拷贝迁移到第二存储层;在数据从所述PiT拷 贝迁移到所述第二存储层完成后,设置创建所述第二存储层的访问许可为读(Read)和写 (Write)并指引输入/输出(I/O)命令给所述第二存储层;当所述比较表明所述QoS因子测 量小于所述第一预先确定的QoS因子阈值并且小于所述第二预先确定的QoS因子阈值时, 将第二存储层数据镜像到所述第一存储层;当所述第二存储层数据到所述第一存储层的数 据的镜像是同步时,指引读命令到所述第二存储层;当所述第二存储层数据到所述第一存 储层的镜像是同步时,同步所述第一存储层与所述第二存储层之间的写命令。本发明的另一个是实施例是一种计算机程序产品,其包括一信号承载介质,其承 载被配置用以在应用进程访问存储系统的第一存储层时监控所述应用进程的计算机可用 代码;被配置用以基于所述监控确定所述应用进程的QoS因子测量的计算机可用代码;被 配置用以比较所述QoS因子测量与以下至少一项的计算机可用代码第一预先确定的QoS 因子阈值和第二预先确定的QoS因子阈值;计算机可用代码,其被配置用以当所述比较表 明所述QoS因子测量大于所述第一预先确定的QoS因子阈值时创建一时间点(PiT)拷贝并 设置所述PiT拷贝的访问许可为只读,其中所述PiT拷贝基于所述第一存储层;计算机可 用代码,其被配置用以当所述比较表明所述QoS因子测量小于所述第一预先确定的QoS因 子阈值而大于所述第二预先确定的QoS因子阈值时,数据从所述PiT拷贝迁移到第二存储 层;计算机可用代码,其被配置用以在数据从所述PiT拷贝迁移到所述第二存储层完成后,设置创建所述第二存储层的访问许可为读和写并指引输入/输出(I/O)命令给所述第二存 储层;计算机可用代码,其被配置用以当所述比较表明所述QoS因子测量小于所述第一预 先确定的QoS因子阈值并且小于所述第二预先确定的QoS因子阈值时,将第二存储层数据 镜像到所述第一存储层;计算机可用代码,其被配置用以当所述第二存储层数据到所述第 一存储层的数据的镜像是同步时,指引读命令到所述第二存储层;计算机可用代码,其被配 置用以当所述第二存储层数据到所述第一存储层的镜像是同步时,同步所述第一存储层与 所述第二存储层之间的写命令。本发明的又一个具体实施例是一种存储系统,其包括一处理器;一存储器,所述 存储器与所述处理器相连接;以及用于在所述处理器上执行的控制编程,其中所述控制编 程被配置用以在应用进程访问存储系统的第一存储层时监控所述应用进程;基于所述监 控确定所述应用进程的QoS因子测量;比较所述QoS因子测量与以下至少一项第一预先 确定的QoS因子阈值和第二预先确定的QoS因子阈值;以及当所述比较表明所述QoS因子 测量大于所述第一预先确定的QoS因子阈值时,创建一 PiT拷贝并设置所述PiT拷贝的访 问许可为只读,其中所述PiT拷贝基于所述第一存储层;其中所述控制编程进一步被配置 用以当所述比较表明所述QoS因子测量小于所述第一预先确定的QoS因子阈值而大于所 述第二预先确定的QoS因子阈值时,数据从所述PiT拷贝迁移到第二存储层;在数据从所述 PiT拷贝迁移到所述第二存储层完成后,设置创建所述第二存储层的访问许可为读和写并 指引输入/输出(I/O)命令给所述第二存储层;当所述比较表明所述QoS因子测量小于所 述第一预先确定的QoS因子阈值并且小于所述第二预先确定的QoS因子阈值时,将第二存 储层数据镜像到所述第一存储层;当所述第二存储层数据到所述第一存储层的数据的镜像 是同步时,指引读命令到所述第二存储层;当所述第二存储层数据到所述第一存储层的镜 像是同步时,同步所述第一存储层与所述第二存储层之间的写命令。应该理解的是,不管是上述概括的描述还是以下详细的说明都仅仅是示例性和说 明性的,不仅限于当前发明要求的内容。包括并组成说明书一部分的附图揭示了本发明的 实施例。同时,说明书和附图用来解释本发明的原理。


通过参考附图,当前发明的众多优点可以被本领域的技术人员更好地理解图IA是本发明的一个示例性实施例所述的在与多个应用进程相关的QoS因子在 运行期间处于最佳水平时所述多个应用进程访问存储系统的存储池的框图;图IB是本发明的一个示例性实施例所述的在与其中一个应用进程相关的QoS因 子已降级时多个应用进程访问存储系统的存储池的框图;图2是本发明的一个示例性实施例所述的用于本发明所述的示例存储系统的QoS 因子测量对采样时间和层阈值及迁移阈值的图表。图3A是本发明示例性实施例所述的QoS因子测量与层阈值(TTH)的比较表明所 述QoS因子测量大于层阈值(TTH)大时存储系统中的活动性(例如数据流)方框图;图;3B是本发明示例性实施例所述的QoS因子测量与层阈值(TTH)和迁移阈值 (MTH)的比较表明所述QoS因子测量小于层阈值(TTH)而大于迁移阈值(MTH)时存储系统 内数据迁移的方框图3C是本发明实施例所述的QoS因子测量与层阈值(TTH)和迁移阈值(MTH)的 比较表明所述QoS因子测量小于层阈值(TTH)且小于迁移阈值时(MTH)存储系统内数据迁 移的方框图;图4是本发明的又一示例性实施例所述的提供存储系统中基于服务质量(QoS)的 存储分层和迁移方法的流程具体实施例方式参照相关附图中所描述的内容将详细揭示本发明优选实施例的内容。目前许多市售的分层存储机制可能基于以下几种1)每字节存储空间的费用;2) 数据访问模式;幻低频率访问的数据迁移和布局至低级存储设备;然而,目前市售的存储 分层机制致力于与用户日常基础访问的数据有关的质量方面。另外,这些目前市售的存储 分层机制没有可配置的服务质量(QM)参数(注服务质量也可以简写为OioS))可用以基 于应用进程和用户数据设置用于触发分层/迁移进程的数据访问等待时间阈值。本发明示例性实施例所述的系统和方法,诸如此处公开的那些,允许在每一用户 基础和/或每一应用进程基础上设置的可配置的应用数据等待时间阈值,以便存储分层机 制(例如存储迁移机制)被触发用以移动应用数据到不同级存储器中。此外,本发明披露 的系统和方法可以进一步提供以下特点1)促进与通过存储子系统托管的应用进程相关 的QoS水平的显著提高;2)与存储访问相关的可预测等待时间;幻可协调性,用于确保提 供最高QoS的存储资源的完全利用,从而在性能层提供充分的投资回报率(ROI) ;4)用于提 高商业紧要和/或时间紧要应用进程需求的QoS的紧急手控管理;5)基于QoS阈值自动退 出较低执行的存储;6)基于QoS阈值自动迁移用户和应用数据到不同的存储层;7)维持共 享存储上可预测应用进程性能的重要改善;8)显著改善与应用进程特定数据访问相关的 等待时间;9)基于策略自动分层和迁移,而无需人工干预;10)根据历史应用进程预先建模 合预测以建议需要的高性能层和低性能层的容量。此外,本发明实施例所述的系统和方法, 例如本文披露的,可以涉及由管理员改变企业级,配置每个用户和每个应用进程基础的QoS 参数。在进一步的实施例中,所述的系统和方法根据服务质量在用户级或应用数据级水平 上的应用进程概念,提供自发的存储分层和迁移。参考图1A、图IB以及图3A至图3C,一个存储系统100,在这个存储系统上/中可以 实施本发明的示例实施例所述的用于提供基于服务质量OioS)的存储分层和迁移的方法。 在示例实施例中,存储系统100可以包括处理器102。在另一实施例中,存储系统100还可 以包括存储器104(例如随机存取存储器(RAM))。在又一实施例中,存储系统100还可以包 括总线106。例如,所述处理器102和所述存储器104可以连接至所述总线106。本发明当 前的实施例中,存储系统100还包括存储子系统,所述存储子系统还可以包括多个存储层, 诸如,第一存储层108和第二存储层112。每个存储层可以包括一个或多个存储设备,这些 存储设备构成存储池(例如,基卷108)。而且,第一存储层可以与第二存储层属于不同的存 储级,这两个存储层通过属于第一存储层的存储设备的性能与属于第二存储层的存储设备 的性能的比较来进行区分(例如,一个层的存储设备性能可能比另一个层的存储设备的性 能高)。在进一步的实施例中,存储系统100的存储子系统可以通过总线106连接处理器 102和存储器104。在本发明的再一个实施例中,存储系统100可以被配置(例如,通过在控制处理器102上执行的控制编程)用以允许提供基于QoS的存储分层和迁移方法通过和 /或在存储系统100中执行,将在下文陈述。参考图4,所示的流程图说明了本发明示例实施例所述的一种提供存储系统中基 于服务质量的存储分层和迁移的方法。该方法400可以包括以下步骤当应用进程访问存 储系统的第一存储层时监控所述应用进程402。例如,在本发明实施例所述的存储系统100 中,当一个或多个应用进程150正访问第一存储层(如图IA和IB所示)的一个存储池(例 如,基卷108)时,所述一个或多个应用进程150的/对应的一个或多个QoS因子160可被 监控(例如连续监控或采样)。在本发明实施例中,QoS因子160可以是与应用进程150相 关联/有关系/对应的实时QoS因子。图IA说明了运行期间QoS因子160处于最佳水平 时,多个应用进程150访问第一存储层的存储池108。监控(例如采样)可以实时进行以便 只要应用进程150活动就保持监控窗口打开。在本发明当前实施例中,可以实时控制应用 进程150的一些QoS因子160可以包括但不限于以下几种读等待时间;写等待时间;存储 介质反应时间;空闲时间(例如,当没有活动的读/写被执行的时间);数据遍及性(例如, 被读和写的数据在存储子系统的存储设备中托管的应用共享内紧邻);数据定位(例如,与 其他数据位置相比被访问的具体数据位置的度);数据年龄和应用文件年龄。在另一个实施例中,该方法400可以进一步包括基于所述的监控,确定应用进程 的一 QoS因子测量404。例如,当应用进程150d的(例如相关的)QoS因子160处于被监控 时,确定所述QoS因子的读数和测量值。这些测量值(例如QoS因子测量值)可以在监控 期间连续确定。一段时间后,与特定应用进程150相关的一个或多个QoS因子160可能会 被破坏(如图IB所示通过标记“紧要QoS”),从而影响特定应用进程的总QoS阈值。本发 明的示例实施例中,该方法400还包括以下步骤比较所述QoS因子测量与以下至少一项 第一预先确定的QoS阈值(例如层阈值(TTH))和第二预先确定的QoS阈值(例如迁移阈 值(MTH))406。当前实施例中,这些阈值可以用作存储系统100在等待时间方面的触发点。 例如,基于实施例所述的比较,所述层阈值和迁移阈值可以用作触发点以触发存储系统100 以执行以下系列步骤a)存储分层;或b)将应用数据分别迁移到不同级的存储器,在以下 详细描述中会有说明。图2所示图表(例如曲线图)说明了 QoS因子的QoS水平/测量值 (例如与应用数据相关的存储等待时间)对采样时间(如监控时间)绘制的图标。曲线图 202的第一区域描述了当应用进程105运行在最佳QoS水平时的时间点。实线204表示实 际无分层存储等待时间。虚线206表示预计的无分层存储等待时间。点线208表示应用数 据被分层到不同级(例如,层)存储器后测量的实际等待时间。在采样段时间段(SP)内, QoS水平可被测量并与触发阈值(例如,层阈值(TTH)和迁移阈值(MTH))相比较。在本发明实施例中,该方法400还包括当所述比较表明所述QoS因子测量大于所 述第一预先确定的QoS因子阈值时,创建一时间点(PiT)拷贝并设置所述PiT拷贝的访问 许可为只读,其中所述PiT拷贝基于第一存储层408。例如,如图3A所示,当所述QoS因子 测量与所述层阈值(TTH)的比较表明所述QoS因子测量大于所述TTH时,一个或多个PiT 拷贝110可以基于所述第一存储层被创建(例如,可以离开基卷108被创建)。本发明进一步实施例中,该方法400可以进一步当所述比较表明QoS因子测量小 于第一预先确定的QoS因子而大于第二预先确定的QoS因子时,从PiT拷贝迁移数据到第 二存储层410。例如,如图:3B所示,当QoS因子测量与层阈值(TTH)和迁移阈值(MTH)的比较表明QoS因子小于TTH而大于MTH时,数据会从一个或多个PiT拷贝(例如PiTs) 110迁 移到第二(例如下一个)存储层112。在迁移所述数据以提高当QoS因子测量在阈值之间 快速波动时的情形中预防系统颠簸时,可以实施启发式方法。在本发明的当前实施例中,该方法400可以进一步包括在数据从所述PiT拷贝迁 移到所述第二存储层完成后,设置创建第二存储层的访问许可为读和写并指引I/O命令到 第二存储层412。例如,一旦所有数据从一个或多个PiT拷贝110已迁移到第二存储层412, 引入的I/O命令可以被重新指引到第二存储层112并被第二存储层112应用,第二存储层 112的访问许可被设置为读和写(R/W)以及PiT拷贝离开基卷108连续地被产生。在本发明实施例中,该方法400可以进一步包括当所述比较表明所述QoS因子测 量小于所述第一预先确定的QoS因子阈值,并且小于所述第二预先确定的QoS因子阈值时, 将第二存储层数据镜像到所述第一存储层414。例如,如图3C所示,当QoS因子测量与层阈 值(TTH)和迁移阈值(MTH)的所述比较表明QoS因子小于TTH且小于MTH时,第二存储层 112中的数据将被镜像到第一存储层108。在镜像所述的数据时可以实施启发式方法,以防 止阈值间的系统颠簸。在本发明的进一步实施例中,该方法400可以进一步包括当所述第二存储层数 据到所述第一存储层的数据的镜像是同步时,指引读命令到所述第二存储层416,并同步第 一存储层和第二存储层之间的写命令418。例如,当镜像是同步时,所有读命令可以被第二 存储层112应用,且所有写命令在基卷108与第二存储层112之间可以是同步的。应该注意的是,根据本发明的所述实施例可以使用根据本说明书所教导的内容被 编程的传统的通用数字计算机容易地实现,说明书中的内容对计算机领域的技术人员来说 是显而易见的。基于当前公开的教导,适合的软件代码可以很容易地被熟练的编程员准备 好,所述实现对软件领域的技术人员来说也是显而易见的。应该理解本发明可以以软件包的形式来方便地实现。这样的软件包可以是利用计 算机可读介质的计算机程序产品,该计算机可读介质包括储存的用于编程计算机以实现本 发明已公开的功能和过程的计算机代码。所述计算机可读介质可以包括但不限于任何类 型的传统软盘、光盘、CD-ROM、磁盘、硬盘驱动器、磁光盘、ROM、RAM、EPROM、EEPR0M、磁或光 卡、或者其它任何合适用来存储电子指令的介质。应该理解所述方法公开的步骤的特定顺序或层次是示例方法的例子。应当理解, 基于设计偏好,所述方法中的步骤的特定顺序或层次可以重新排列,而仍在本发明的主题 精神内。所附方法权利要求以样本顺序呈现了不同步骤的要素,并不必意味着仅限于所呈 现的特定次序或层次。应当相信,通过前述将理解本发明和许多其伴随的优点,显而易见,其组成的形 式、结构和布置可以进行不同的变化,而不脱离本发明的范围和精神或不牺牲所有其物质 优点。这里以前所述的形式只是示例说明,下列权利要求的目的是包含和包括此类变化。
权利要求
1.一种提供基于服务质量OioS)的存储系统中存储分层和迁移的方法,所述方法包括当一应用进程访问所述存储系统的一第一存储层时监控所述应用进程; 基于所述的监控,确定所述应用进程的一 QoS因子测量;比较所述QoS因子测量与以下至少一项一第一预先确定的QoS因子阈值和一第二预 先确定的QoS因子阈值;以及当所述比较表明所述QoS因子测量大于所述第一预先确定的QoS因子阈值时,创建一 时间点(PiT)拷贝并设置所述PiT拷贝的访问许可为只读,其中所述PiT拷贝基于所述第一存储层。
2.如权利要求1所述的方法,进一步包括当所述比较表明所述QoS因子测量小于所述第一预先确定的QoS因子阈值而大于所述 第二预先确定的QoS因子阈值时,将数据从所述PiT拷贝迁移到第二存储层。
3.如权利要求2所述的方法,进一步包括在从所述PiT拷贝到所述第二存储层的所述迁移数据完成后,设置创建所述第二存储 层的访问许可为读和写并指引输入/输出(I/O)命令给所述第二存储层。
4.如权利要求3所述的方法,进一步包括当所述比较表明所述QoS因子测量小于所述第一预先确定的QoS因子阈值,且小于所 述第二预先确定的QoS因子阈值时,将第二存储层数据镜像到所述第一存储层。
5.如权利要求4所述的方法,进一步包括当所述第二存储层数据到所述第一存储层的数据的镜像是同步时,指引读命令到所述 第二存储层。
6.如权利要求5所述的方法,进一步包括当所述第二存储层数据到所述第一存储层的镜像是同步时,同步所述第一存储层与所 述第二存储层之间的写命令。
7.如权利要求1所述的方法,其中所述QoS因子测量是基于所述存储系统的一QoS因 子,所述QoS因子是以下至少一项读等待时间;写等待时间;存储介质反应时间;空闲时 间;数据遍及性;数据定位;数据年龄;应用文件年龄。
8.如权利要求1所述的方法,其中所述第一预先确定的QoS因子阈值是层阈值,以及所 述第二预先确定的QoS因子阈值是迁移阈值。
9.一种计算机程序产品,其包括 一信号承载介质,其承载被配置用以在一应用进程访问一存储系统的一第一存储层时监控所述应用进程的计 算机可用代码;被配置用于基于所述监控确定所述应用进程的一 QoS因子测量的计算机可用代码; 被配置用以比较所述QoS因子测量与以下至少一项的计算机可用代码一第一预先确 定的QoS因子阈值和一第二预先确定的QoS因子阈值;以及计算机可用代码,所述计算机可用代码被配置用以当所述比较表明所述QoS因子测量 大于所述第一预先确定的QoS因子阈值时,创建一 PiT拷贝并设置所述PiT拷贝的访问许 可为只读,其中所述PiT拷贝基于所述第一存储层;
10.如权利要求9所述的计算机程序产品,所述信号承载介质进一步承载计算机可用代码,所述计算机可用代码被配置用以当所述比较表明所述QoS因子测量 小于所述第一预先确定的QoS因子阈值而大于所述第二预先确定的QoS因子阈值时,将数 据从所述PiT拷贝迁移到第二存储层。
11.如权利要求10所述的计算机程序产品,所述信号承载介质进一步承载计算机可用代码,所述计算机可用代码被配置用以在从所述PiT拷贝到所述第二存 储层的数据迁移完成后,设置创建所述第二存储层的访问许可为读和写并指引输入/输出 (I/O)命令给所述第二存储层。
12.如权利要求11所述的计算机程序产品,该信号承载介质进一步承载计算机可用代码,所述计算机可用代码被配置用以当所述比较表明所述QoS因子测量 小于所述第一预先确定的QoS因子阈值,并且小于所述第二预先确定的QoS因子阈值时,将 第二存储层数据镜像到所述第一存储层。
13.如权利要求12所述的计算机程序产品,该信号承载介质进一步承载计算机可用代码,所述计算机可用代码被配置用以当所述第二存储层数据到所述第一 存储层的数据的镜像是同步时,指引读命令到所述第二存储层。
14.如权利要求13所述的计算机程序产品,该信号承载介质进一步承载计算机可用代码,所述计算机可用代码被配置用以当所述第二存储层数据到所述第一 存储层的镜像是同步时,同步所述第一存储层与所述第二存储层之间的写命令。
15.如权利要求9所述的计算机程序产品,其中所述QoS因子测量是基于所述存储系统 的一 QoS因子,所述QoS因子是以下至少一项读等待时间;写等待时间;存储介质反应时 间;空闲时间;数据遍及性;数据定位;数据年龄;应用文件年龄。
16.如权利要求9所述的计算机程序产品,其中所述第一预先确定的QoS因子阈值是层 阈值,以及所述第二预先确定的QoS因子阈值是迁移阈值。
17.一种存储系统,包括一处理器;一存储器,所述存储器与处理器连接;以及用于在所述处理器上执行的控制编程,其中所述控制编程被配置用以在一应用进程 访问所述存储系统的一第一存储层时监控所述应用进程;基于所述监控确定所述应用进程 的一 QoS因子测量;比较所述QoS因子测量与以下至少一项一第一预先确定的QoS因子阈 值和一第二预先确定的QoS因子阈值;以及当所述比较表明所述QoS因子测量大于所述第 一预先确定的QoS因子阈值时创建一时间点(PiT)拷贝并设置所述PiT拷贝的访问许可为 只读,其中所述PiT拷贝基于所述第一存储层。
18.如权利要求17所述的存储系统,其中所述控制编程进一步被配置用以当所述比 较表明所述QoS因子测量小于所述第一预先确定的QoS因子阈值而大于所述第二预先确定 的QoS因子阈值时,数据从所述PiT拷贝迁移到第二存储层;在从所述PiT拷贝到所述第二 存储层的数据迁移完成后,设置创建所述第二存储层的访问许可为读和写并指引输入/输 出(I/O)命令给所述第二存储层;当所述比较表明所述QoS因子测量小于所述第一预先确 定的QoS因子阈值并且小于所述第二预先确定的QoS因子阈值时,将第二存储层数据镜像 到所述第一存储层;当所述第二存储层数据到所述第一存储层的数据的镜像是同步时,指引读命令到所述第二存储层;当所述第二存储层数据到所述第一存储层的镜像是同步时, 同步所述第一存储层与所述第二存储层之间的写命令。
19.如权利要求17所述的存储系统,其中所述QoS因子测量是基于所述存储系统的一 QoS因子,所述QoS因子是以下至少一项读等待时间;写等待时间;存储介质反应时间;空 闲时间;数据遍及性;数据定位;数据年龄;应用文件年龄。
20.如权利要求17所述的存储系统,其中所述第一预先确定的QoS因子阈值是层阈值, 以及所述第二预先确定的QoS因子阈值是迁移阈值。
全文摘要
本发明涉及基于服务质量(QoS)的存储分层与迁移技术的系统和方法。该方法允许配置的应用数据等待时间阈值设置在每个用户基础或每个应用进程基础中,以至于存储分层机制或存储迁移机制能够促进应用数据移动到不同的存储级中。
文档编号G06F3/06GK102147709SQ201010252579
公开日2011年8月10日 申请日期2010年8月13日 优先权日2010年2月5日
发明者斯瑞海·巴拉苏伯兰马尼安, 肯尼思·J·福格特 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1