首页> 中国专利> 在动态页重新分配存储系统中的应用和层配置管理

在动态页重新分配存储系统中的应用和层配置管理

摘要

一种在动态页重新分配存储系统中的应用和层配置管理。对于在具有连接至存储系统的主机计算机上运行的一个或多个应用的系统中的分层存储环境中的存储管理,存储系统包括:在池中的存储卷,存储卷被划分为具有不同层级的多层,根据层配置规则来管理多层,以及控制器。控制器基于层级相对于物理存储装置的改变来将池分配给多个虚拟卷。控制器存储由在主机计算机上运行的每个应用正在访问的存储系统中的数据和访问数据的应用的应用ID之间的关系。至少部分地基于访问存储卷中的数据的应用来改变多个存储卷中部分存储卷的层级。

著录项

  • 公开/公告号CN102023813A

    专利类型发明专利

  • 公开/公告日2011-04-20

    原文格式PDF

  • 申请/专利权人 株式会社日立制作所;

    申请/专利号CN201010124234.9

  • 发明设计人 川口智大;大谷俊雄;村濑敦史;

    申请日2010-02-25

  • 分类号G06F3/06(20060101);H04L29/08(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人许静

  • 地址 日本东京都

  • 入库时间 2023-12-18 02:17:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-15

    未缴年费专利权终止 IPC(主分类):G06F3/06 授权公告日:20140813 终止日期:20180225 申请日:20100225

    专利权的终止

  • 2014-08-13

    授权

    授权

  • 2011-06-08

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20100225

    实质审查的生效

  • 2011-04-20

    公开

    公开

说明书

技术领域

本发明总地涉及分层存储系统的管理和配置,更具体地,涉及用于远程副本环境中的动态页重新分配存储系统中的应用和层配置管理的方法和装置。

背景技术

存储系统可以使用多种磁盘,包括例如SSD(固态磁盘)、SAS(串行连接)HDD以及SATA(串行ATA)HDD。这些磁盘的性能、容量、可靠性和成本不同。当存储用户需要存储卷时,该用户从不同类型的磁盘中进行选择以实现目的和需要,从而最大化ROI(投资收回率)。该目的和需要可能随时间而不同。在这种情况下,需要调整磁盘配置以最优化。一种方法是使用分层存储管理来保持高的ROI。此外,可能需要动态地调整分层存储配置以保持最大化的ROI。

管理分层存储环境的技术是现有的。例如,US20070055713A1公开了一种卷容量供应方法,根据该方法存储系统依照当卷需要扩充的容量时的使用和需要的性能来选择适合的磁盘。US20080184000A1公开了在一个池中的多个层之间的精简供应(由页分割(sliced))卷转移方法。存储系统选择低访问卷,并且将该低访问卷无缝地转移到另一个存储模块中的低等待时间层。US20070192560A1公开了一种用于精简供应池的磁盘安装控制方法,根据该方法存储系统依照系统配置将磁盘安装到适合的池。US20070055713A1和US20070192560A1适用于调整卷层配置。US2008184000A1适用于层的容量安装。这些公开结合于此作为参考。还参考关于因特网协议的RFC 791、关于传输控制协议的RFC 793、关于指定号的RFC 790、关于因特网小型计算机系统接口(iSCSI)的RFC 3720、关于SCSI块指令的草案的SBC-3草案(http://www.t10.org)、关于光纤通道成帧和信令-2的草案的FC-FS-2草案(http://www.t11.org)以及关于光纤通道骨干网-5的草案的FC-BB-5草案(http://www.t11.org)。

发明内容

本发明的实施例提供了用于在远程副本环境中的动态页重新分配存储系统中的应用和层配置管理的方法和装置。为了替换某些数据的层,需要知道具有该数据的应用的优先级、活动性和性能需求,因为替换操作可能引起不期望的性能和可靠性降低。存储装置很难判断某些数据是否需要被替换到另一层,因为具有该数据的存储装置不知道哪个应用访问该数据。本发明由此提供了一种技术,在服务器上的应用公布参考应用ID的I/O。当该应用访问数据时,存储装置存储被访问的数据和应用ID之间的关系。存储装置与应用的应用状态一同替换数据的层。这提供了在动态页重新分配存储系统中的应用和层配置管理。

本发明的一个方面提供一种存储系统,用于在具有连接至所述存储系统的主机计算机上运行的一个或多个应用的系统中的分层存储环境中的存储管理。所述存储系统包括:在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器。所述控制器基于所述层级相对于所述物理存储装置的改变来将所述池分配给多个虚拟卷。所述控制器存储由在所述主机计算机上运行的每个应用正在访问的存储系统中的数据和访问所述数据的应用的应用ID之间的关系。至少部分地基于访问所述存储卷中的数据的应用来改变所述多个存储卷中部分存储卷的层级。

在一些实施例中,所述控制器存储由所述主机计算机上运行的每个应用正在访问的存储系统中的存储卷中的数据和向包含由所述应用访问的数据的存储卷公布写I/O的应用的应用ID之间的关系。至少部分地基于访问所述存储卷中的数据的应用的应用状态来改变所述部分存储卷的层级,所述应用状态包括应用的优先级、活动性或性能要求中的至少一个。所述控制器基于层级相对于所述物理存储装置的改变来将所述池动态地分配给所述多个虚拟卷,并且动态地存储由所述主机计算机上运行的每个应用正在访问的存储系统中的数据和访问所述数据的应用的应用ID之间的关系。所述控制器响应于来自管理终端的输入,基于层级相对于所述物理存储装置的改变而将所述池分配给所述多个虚拟卷。所述多个虚拟卷中的至少一个虚拟卷具有一个或多个指定的区域,所述一个或多个指定的区域根据由所述控制器改变层配置能够在其中设置层级。从由iSCSI帧中对所述应用设置的IP地址、光纤通道帧中的应用的光纤通道ID、以及以太网上的光纤通道帧中的应用的光纤通道ID组成的组中选择所述应用ID。

在特定实施例中,所述存储系统连接至远程存储系统。在所述存储系统中的至少一个存储卷与所述远程存储系统中的远程存储卷呈远程副本配对状态,并且是复制源卷或复制目标卷中的一个。对于复制源卷,所述控制器将所述复制源卷的层信息传递到作为与所述复制源卷呈配对状态的复制目标卷的远程存储卷中。对于复制目标卷,所述控制器从作为与所述复制目标卷呈配对状态的复制源卷的所述远程存储卷接收所述复制目标卷的层信息。

本发明的另一个方面提供一种存储系统,在包括连接至具有在其上运行的一个或多个应用的主机计算机的存储系统和连接至具有在其上运行的一个或多个应用的远程主机计算机的远程存储系统的系统中,所述存储系统和所述远程存储系统用于在分层的存储环境中进行存储管理并且彼此连接。所述存储系统包括:在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器。所述控制器基于所述层级相对于所述物理存储装置的改变来将所述池分配给多个虚拟卷。所述控制器存储由在所述主机计算机上运行的每个应用正在访问的存储系统中的数据和访问所述数据的应用的应用ID之间的关系。至少部分地基于访问所述存储卷中的数据的应用来改变所述多个存储卷中部分存储卷的层级。

本发明的另一个方面提供一种存储系统,在包括连接至主机计算机的存储系统和连接至远程主机计算机的远程存储系统的系统中,所述存储系统和所述远程存储系统用于在分层的存储环境中进行存储管理并且彼此连接。所述存储系统包括:在池中的多个存储卷,所述多个存储卷被划分为具有不同层级的多层,根据层配置规则来管理所述多层,由所述存储系统中的多个物理存储装置提供所述多个存储卷;以及控制器,控制所述多个物理存储装置,所述控制器包括处理器和存储器。所述控制器基于所述层级相对于所述物理存储装置的改变来将所述池分配给多个虚拟卷。基于所述层配置规则中的改变而改变所述多个虚拟卷的虚拟卷页的层级。当对于具有远程副本对的卷改变所述虚拟卷页的层级时,所述控制器将所述虚拟卷页的层级的信息发送给所述远程存储系统,使得在所述远程存储系统中改变对应的虚拟卷页的层级。

在一些实施例中,至少部分地基于访问所述存储卷中的数据的应用的应用状态来改变所述多个存储卷的存储卷的层级,所述应用状态包括应用的优先级、活动性或性能要求中的至少一个。所述存储系统中的至少一个存储卷与所述远程存储系统中的远程存储卷呈远程副本配对状态,并且当所述虚拟卷页的层级改变时,检查所述远程副本配对状态以确定所述虚拟卷是否配对。通过将所述虚拟卷页转移到满足所述层级配置的另一个虚拟卷页来改变对应的虚拟卷页的层级。在转移之后,更新所述虚拟卷页和所述池之间的映射信息。

结合下面的特定实施例的具体实施方式,对于本领域普通技术人员来说,本发明的这些和其他特征和优点将变得显而易见。

附图说明

图1表示根据本发明的第一实施例的可以应用本发明的方法和装置的系统的硬件配置;

图2表示根据第一实施例在图1的存储子系统中的存储器的例子;

图3表示磁盘管理表的例子;

图4表示磁盘信息表的例子;

图5表示RAID组管理表的例子;

图6表示虚拟卷管理表的例子;

图7表示层管理表的例子;

图8表示虚拟卷页管理表的例子;

图9表示容量池组块管理表的例子;

图10表示容量池页管理表的例子;

图11表示应用层管理表的例子;

图12表示高速缓冲存储器管理表的例子;

图13表示根据第一实施例的存储子系统逻辑存储配置的概要;

图14表示高速缓冲存储器区域的逻辑结构的例子;

图15表示根据第一实施例的容量池组块的逻辑结构的例子;

图16表示朝向容量池的表参考结构的例子;

图17表示朝向虚拟卷的表参考结构的例子;

图18表示根据第一实施例的写I/O控制处理流的例子;

图19表示读I/O控制处理流的例子;

图20表示升级控制的处理流的例子;

图21表示降级控制的处理流的例子;

图22表示刷新控制的处理流的例子;

图23表示高速缓冲存储器控制的处理流的例子;

图24表示卷供应控制的处理流的例子;

图25表示卷层控制的处理流的例子;

图26表示层配置控制的处理流的例子;

图27表示层注册控制的处理流的例子;

图28表示页映射控制的处理流的例子;

图29表示页转移控制的处理流的例子;

图30表示根据第一实施例来自主计算机的写I/O帧结构的例子;

图31表示根据第一实施例应用终止和层变化的序列的例子;

图32表示根据本发明的第二实施例的来自主计算机的写I/O帧结构的例子;

图33表示根据本发明的第三实施例的来自主计算机的写I/O帧结构的例子;

图34表示根据本发明的第四实施例的可以应用本发明的方法和装置的系统的硬件配置;

图35表示根据第四实施例的在图34的每个存储子系统中的存储器的例子;

图36表示远程副本配对管理表的例子;

图37表示根据第四实施例的写I/O控制的处理流的例子;

图38表示远程副本I/O控制的处理流的例子;

图39表示配置传送控制的处理流的例子;以及

图40表示应用终止、层变化以及层配置传送的序列的例子。

具体实施方式

在下面的具体实施方式中,参考作为公开的一部分的附图,其中通过示例而不是限制的方式表示可以应用本发明的实例实施例。在附图中,相似的附图标记描述若干图中实质上相似的元件。此外,应该注意到,如在下面描述以及附图中示出的,具体实施方式中提供了不同的实例实施例,本发明不局限于在此描述和示出的实例实施例,而是可以扩展到本领域普通技术人员已获知或将要或者的其他实施例。在说明书中的“一个实施例”、“该实施例”或“这些实施例”意味着在至少一个本发明的实施例中包括结合实施例描述的特定特征、结构或属性,并且这些语句出现在说明书的不同地方并不必须参考相同的实施例。此外,在下面的具体实施方式中,阐述了多个特定细节以提供本发明的完整理解。然而,对于本领域普通技术人员来说显而易见,并不需要所有这些特定细节来实现本发明。在其他情况下,没有详细描述公知的结构、材料、电路、处理以及接口,和/或可以以框图形式表示公知的结构、材料、电路、处理以及接口,从而不使本发明不清楚。

此外,通过计算机中的算法和操作的符号表示来表达下面的具体实施方式的一些部分。这些算法描述和符号表示均为数据处理领域的普通技术人员通常使用的,从而最有效地将它们的创新的精髓传递到其他领域的普通技术人员。算法是导致期望的结束状态或结果的一系列定义的步骤。在本发明中,这些步骤执行实际量的需要的物理操作以获得实际的结果。通常但不是必要,这些量采用能够被存储、传送、合并、比较和其他处理的电或磁信号的形式。已知为了方便,主要是为了通用的目的,将这些信号表示为比特、值、元件、符号、字符、术语、数字、指令等。然而,应该牢记全部这些和类似的术语是要与恰当的物理量相关联并且仅是应用于这些量的方便的标记。除非另外提及,如在下面的讨论中显而易见,应该理解到在整个说明书中利用例如“处理”、“计算”、“确定”和“显示”的术语的讨论可以包括计算机系统或其他信息处理设备的动作和处理,其中计算机系统或其他信息处理设备将在计算机系统的寄存器和存储器中表示为物理(电子)量的数据处理并转换为在计算机系统的存储器或寄存器或其他信息存储、传输或显示装置中类似地表示为物理量的其他数据。

如在下面更详细地描述,本发明的实例实施例提供了用于远程副本环境中的动态页重新分配存储系统中的应用和层配置的装置、方法和计算机程序。

第一实施例

1.系统配置

图1示出了其中可以应用本发明的第一实施例的方法和装置的系统的硬件配置的例子。用于存储数据的存储子系统100通过存储网络连接至主机计算机300。存储管理终端400连接至存储子系统100。

存储子系统100包括存储控制器110,存储控制器110具有CPU 111、存储器112、存储接口113、局域网接口114、以及可以包括SAS I/F和SATAI/F的磁盘接口115。CPU 111控制存储子系统100,并且读取存储在存储器112中的程序和表格。存储接口113通过存储网络200与主机计算机300连接。局域网接口114与存储管理终端400连接。磁盘接口115(115a、115b等)与磁盘121连接。磁盘单元120包括用于存储数据的多个磁盘121(121a、121b等),该多个磁盘可以包括SAS SSD(闪存存储器)、SAS HDD以及SATAHDD。

主机计算机300通过存储网络200发送I/O请求至存储子系统100,并且通过存储网络200从存储子系统100发送和接收数据。

存储管理终端400提供存储子系统100的可用性/可靠性信息。终端400包括CPU 411,其读取存储在存储器412中的程序和表格。局域网接口414与存储子系统100连接。显示器419显示存储子系统100的可用性/可靠性信息。

图2表示在根据第一实施例的图1的存储子系统100中的存储器的例子。存储管理表112-11包括用于磁盘121和这些组的物理结构管理的RAID组管理表112-11-1(图5)、用于卷配置管理的虚拟卷管理表112-12-2(图6)、用于磁盘121的磁盘配置管理的磁盘管理表112-11-3(图3)、提供磁盘信息数据库的磁盘信息表112-11-4(图4)、用于其中根据层配置规则(见图7中的配置规则112-11-5-5)组织每个容量池层的容量池层管理的层管理表112-11-5(图7)、用于从部分虚拟卷到部分容量池的参考管理的虚拟卷页管理表112-11-6(图8)、用于容量池的资源管理和用于从容量池页到虚拟卷页的参考管理的容量池组块管理表112-11-7(图9)、用于容量池组块的资源管理的容量池页管理表112-11-8(图10)、以及用于关于应用的应用ID的层号管理的应用层管理表112-11-9(图11)。存储器112还包括用于管理存储器112中存储的高速缓冲存储器数据区域112-30以及用于LRU/MRU管理的高速缓冲存储器管理表112-14(图12)。

卷I/O控制112-21包括写I/O控制112-21-1(图18)和读I/O控制112-21-2(图19)。写I/O控制112-21-1通过写I/O需求运行,并且通过通道接口113接收写数据并将其存储在高速缓冲存储器数据区域112-30。读I/O控制112-21-2通过读I/O需求运行,并且通过通道接口113发送来自高速缓冲存储器数据区域112-30的读数据。物理磁盘控制112-22包括用于从磁盘121向高速缓冲存储器数据区域112-30传送数据的升级控制112-22-1(图20)、以及用于从高速缓冲存储器数据区域112-30向磁盘121传送数据的降级控制112-22-2(图21)。刷新控制112-23(图22)周期地将高速缓冲存储器数据区域112-30中的脏数据刷新到磁盘121。

卷配置控制112-25包括用于供应新虚拟卷的卷供应控制112-25-1(图24)、以及用于改变卷配置的卷层控制112-25-2(图25)。池配置控制112-26包括用于当改变层规则时改变层配置的层配置控制112-26-2(图26)、以及用于根据下面的层配置将容量池组块注册到层的层注册控制112-26-3(图27)。页控制112-27包括用于将新容量池页分配到虚拟卷页或搜索虚拟页链接的容量池页的页匹配控制112-27-1(图28)、以及用于将容量池页复制到另一个容量池页并且改变虚拟卷页和容量池页之间的链接的页转移控制112-27-2(图29)。高速缓冲存储器控制112-28(图23)在高速缓冲存储器数据区域112-30中发现高速缓存的数据并且在高速缓冲存储器数据区域112-30中分配新的高速缓冲存储器区域。核112-40控制运行程序的计划。高速缓冲存储器数据区域112-30存储读和写高速缓冲存储器数据,并且将高速缓冲存储器数据区域112-30划分为多个高速缓冲存储器时隙。

2.表结构

图3表示磁盘管理表112-11-3的例子。磁盘管理表112-11-3包括包含磁盘121的ID的磁盘号112-11-3-1、包含磁盘121所属的RAID组的ID的RAID组号112-11-3、以及包含磁盘121的模型号的模型信息112-11-3-3的列。

图4表示磁盘信息表112-11-4的例子。磁盘信息表112-11-4具有包含磁盘模型的模型号的模型信息112-11-4-1、包含磁盘模型的数据存储类型(例如HDD或SSD)的磁盘类型信息112-11-4-2、包含HDD的每秒转速信息的RPM信息112-11-4-3(如果模型不是HDD,该元件存储“-”)、包含SSD的单元类型信息的单元信息112-11-4-4(如果模型不是SSD,该元件存储“-”)、包含磁盘模型的接口类型的接口信息112-11-4-5、包含磁盘模型的盘片容量的盘片容量信息112-11-4-6(如果该模型不是HDD,该元件存储“-”)、以及包含磁盘模型的容量的物理容量信息112-11-4-7的列。

图5表示RAID组管理表112-11-1的例子。RAID组管理表112-11-1具有包含RAID组的ID的RAID组号112-11-1-1以及包含RAID组的结构的RAID级112-11-1-2的列。“N(=10、5、6等)”意味着“RAID级是N。”“N/A”意味着RAID组不存在。表112-11-1还包括包含属于该RAID组的磁盘121的ID列表的磁盘号112-11-1-3、包含除了冗余区域之外的RAID组的总容量RAID组容量112-11-1-4、包含RAID组所属的层号的层号112-11-1-5、包含RAID组的访问计数器的访问计数器112-11-1-6、包含用于管理未使用的精简供应组块的参数的自由组块队列索引112-11-1-7、以及包含用于管理使用的精简供应组块的参数的使用的组块队列索引112-11-1-8的列。

图6表示虚拟卷管理表112-11-2的例子。虚拟卷管理表112-11-2具有包含卷的ID的卷号112-11-2-1、包含卷的容量的卷容量112-11-2-2(“N/A”意味着卷不存在)、包含卷当前使用的RAID组ID的使用中RAID组号112-11-2-3、包含虚拟卷当前使用的组块ID的使用中组块号112-11-2-5、包含虚拟卷从中分配容量池页的层ID的层号112-11-2-6的列。

图7表示层管理表112-11-5的例子。层管理表112-11-5具有包含卷的ID的层号112-11-5-1、包含在该层中RAID组的总容量总容量112-11-5-2、包含该层的总使用的容量池页的使用的容量112-11-5-3、包含该层中RAID组ID列表的RAID组列表112-11-5-4、以及包含用于将该层分组的配置规则的配置规则112-11-5-5的列。配置规则是基于例如磁盘类型、磁盘接口类型、性能、RAID级、磁盘数目等的因素。

图8表示虚拟卷页管理表112-11-6的例子。虚拟卷页管理表112-11-6包括包含虚拟卷页的前列地址(top address)的虚拟卷页索引112-11-6-1、包含虚拟卷页所属的RAID组ID的RAID组号112-11-6-2(“N/A”意味着没有将容量池页分配给虚拟卷页)、包含虚拟卷页参考的容量池页的前列地址的容量池页索引112-11-6-3、包含对于虚拟卷页中的磁盘的访问计数器的I/O计数器112-11-6-4、包含访问计数的开始时间的计数器清除时间112-11-6-5、以及包含访问页的应用的ID的页所有者应用ID 112-11-6-6的列。

图9表示容量池组块管理表112-11-7的例子。容量池组块管理表112-11-7具有包含容量池组块的ID的容量池组块号112-11-7-1、包含容量池组块参考的虚拟卷的ID的虚拟卷号112-11-7-2、包含容量池组块的使用的容量的使用的容量112-11-7-3、包含一旦使用该区域容量池组块的移除的容量的删除的容量112-11-7-4、包含用于队列管理的前一组块指针的前一组块号112-11-7-5(“NULL”意味着队列头)、包含用于队列管理的下一组块指针的下一组块号112-11-7-6(“NULL”意味着队列末端)的列。

图10表示容量池页管理表112-11-8的例子。容量池页管理表112-11-8包括包含容量池页的ID的容量池页索引112-11-8-1、以及包含容量池页参考的虚拟卷页的ID的虚拟卷页号112-11-8-2的列。“NULL”意味着没有使用容量池页。

图11表示应用层管理表112-11-9的例子。表112-11-9包括用于包含应用的ID的应用ID 112-11-9-1的列,以及用于包含存储应用的层号数据的层号112-11-9-2的列。

图12表示高速缓冲存储器管理表112-14的例子。高速缓冲存储器管理表112-14具有作为包含高速缓冲存储器数据区域112-30中的高速缓冲存储器时隙的ID的索引高速缓冲存储器时隙号112-14-1、包含其中高速缓冲存储器时隙存储数据的例如磁盘121的卷ID的卷号112-14-2、包含高速缓冲存储器时隙存储数据的磁盘地址(例如LBA)的磁盘地址112-14-3、包含用于队列管理的下一高速缓冲存储器时隙号的下一时隙指针112-14-4(“NULL”意味着队列的末端)、包含用于高速缓冲存储器时隙的I/O计数器的I/O计数器112-14-7、以及如果存在应用,包含应用的ID的应用ID112-14-8的列。队列信息的种类的卷112-14-5包含高速缓冲存储器时隙队列的种类。“自由”意味着具有未使用的高速缓冲存储器时隙的队列。“干净”意味着具有存储与磁盘时隙相同的数据的高速缓冲存储器时隙的序列。“脏”意味着具有存储与磁盘时隙中的数据的不同的数据的高速缓冲存储器时隙的序列,指示存储控制器110需要将来将高速缓冲存储器时隙数据刷新到磁盘时隙。队列索引指针112-14-6的列包含高速缓冲存储器时隙队列的索引。

3.逻辑结构

图13表示根据第一实施例的存储子系统100的逻辑存储配置的总结。存储子系统100包括可以由主机计算机300访问的虚拟卷141。每个虚拟卷141具有多个虚拟卷页141-2。每个虚拟卷页141-2参考容量池的容量池页121-2。容量池具有多个RAID组121-4。每个RAID组1212-4包含一组磁盘121。存储子系统100具有若干种类型的RAID组121-4a、121-4b、121-4c,基于RAID组类型将这些RAID组分组或分类为层(层1、层2、层3)。这些层属于容量池。虚拟卷141被类似地由层识别。在主机计算机300上运行多个应用301(301a、301b等)。每个应用301具有应用ID、其可以是例如IP地址、WWPN(全局端口名称)等。当应用301转移到另一个主机计算机时,该ID是连续的(即,保留的)。每个应用301访问在某一层的某一虚拟卷141。

图14表示高速缓冲存储器区域112-30的逻辑结构的例子。带箭头的线包含虚线和实线,虚线意味着对象由指针参考(refer),实线意味着对象由计算参考。高速缓冲存储器数据区域112-0被划分为多个高速缓冲存储器时隙112-30-1。高速缓冲存储器时隙112-30-1的大小等于容量池条121-3的大小和虚拟卷时隙141-3的大小。高速缓冲存储器管理表112-18和高速缓冲存储器时隙112-30-1处于一对一的关系。高速缓冲存储器管理表112-18参考虚拟卷时隙141-3并且它可以通过使用RAID组管理表112-11-1来决定容量池条121-3。

图15表示根据第一实施例的容量池组块121-1的逻辑结构的例子。带箭头的线包含实线和虚线,实线意味着对象由指针参考,虚线意味着对象由计算参考。对于层,层管理表112-11-5参考RAID组管理表112-11-1。对于RAID组,RAID组管理表112-11-1参考层管理表112-11-5,参考所属磁盘的磁盘管理表112-11-3,以及通过自由组块队列112-15-03和使用的组块队列112-15-04来参考容量池组块管理表112-11-7。对于容量池组块121-1,容量池组块121-1和容量池组块管理表112-11-7的关系是固定的。

图16表示朝向容量池的表参考结构的例子。带箭头的线包含实线和虚线,实线意味着对象由指针参考,虚线意味着对象由计算参考。对于虚拟卷141,虚拟卷141和虚拟卷管理表112-11-2处于一对一的关系。虚拟卷管理表112-11-2参考当前使用中的容量池页121-2。对于虚拟卷页141-2,虚拟卷页141-2和虚拟卷页管理表112-11-6处于一对一的关系。如果页被分配,虚拟卷页管理表112-11-6参考一片容量池页121-2。对于RAID组,RAID组和RAID组管理表112-11-1处于一对一的关系。RAID组管理表112-11-1参考使用的和未使用的容量池组块112-1。

图17表示朝向虚拟卷141的表参考结构的例子。带箭头的线包含实线和虚线,实线意味着对象由指针参考,虚线意味着对象由计算参考。对于容量池卷121,容量池组块121-1和容量池组块管理表112-11-7处于一对一的关系。容量池组块管理表112-11-7参考虚拟卷141。对于容量池页121-2,容量池页管理表112-11-8参考虚拟卷页141-2。

3.处理流图表

图18表示根据第一实施例的写I/O控制112-21-1的处理流的例子。该程序在步骤112-21-1-1开始,在步骤112-21-1-2,程序调用高速缓冲存储器控制112-28来搜索高速缓冲存储器时隙112-30-1。在步骤112-21-1-3,程序从主机计算机300接收写I/O数据,并且将该数据存储在前述高速缓冲存储器时隙112-30-1。程序在步骤112-21-1-5结束。

图19表示读I/O控制112-21-2的处理流的例子。该程序在步骤112-21-2-1开始,在步骤112-21-2-2,程序调用高速缓冲存储器控制112-28来搜索高速缓冲存储器时隙112-30-1。在步骤112-21-2-3,程序检查前述高速缓冲存储器时隙112-30-1的状态来确定是否已经在那里存储了数据。在步骤112-21-2-4,程序调用升级控制112-22-1(见图20)。在步骤112-21-2-5,程序将高速缓冲存储器时隙112-30-1中的数据传送到主机计算机300。程序在步骤112-21-2-6结束。

图20表示升级控制112-22-1的处理流的例子。程序在步骤112-22-1-1开始。在步骤112-22-1-2,程序调用页映射控制112-27-1来为搜索用于虚拟卷页的容量池页121-2。在步骤112-22-1-3,程序从磁盘121中的时隙读取数据,并且将该数据存储在高速缓冲存储器数据区域112-30。在步骤112-22-1-4,程序等待数据传送结束。程序在步骤112-22-1-5结束。

图21表示降级控制112-22-2的处理流的例子。程序在步骤112-22-2-1开始。在步骤112-22-2-2,程序调用页映射控制112-27-1来搜索或分配用于虚拟卷页的容量池页121-2。在步骤112-22-2-3中,程序从高速缓冲存储器数据区域112-30中的时隙读取数据并且将该数据存储在磁盘121中。在步骤112-22-2-4,程序等待数据传送结束,程序在步骤112-22-2-5结束。

图22表示刷新控制112-23的处理流的例子。程序在步骤112-23-1开始。在步骤112-23-2中,程序读取高速缓冲存储器管理表112-14的“脏队列”。在步骤112-23-3中,程序调用降级控制112-22-2来降级所发现的脏高速缓冲存储器时隙。如果没有发现脏高速缓冲存储器时隙,程序跳过步骤112-23-3。程序在步骤112-23-4结束。

图23表示高速缓冲存储器控制112-28的处理流的例子。程序在步骤112-28-1开始。在步骤112-2-22,程序搜索指定地址的高速缓冲存储器时隙。如果发现了高速缓冲存储器时隙,程序进行至步骤112-28-6。如果没有发现高速缓冲存储器时隙,程序进行至步骤112-28-3。在步骤112-28-3,程序检测以确定是否存在自由高速缓冲存储器时隙。如果存在自由高速缓冲存储器时隙,在步骤112-28-4中程序从指定地址的自由队列中获得新的高速缓冲存储器时隙。如果没有,在步骤112-28-5中,程序选择干净的高速缓冲存储器时隙,计数干净的高速缓冲存储器时隙的虚拟卷页的I/O计数器,清除干净的时隙,并且对于指定的地址分配高速缓冲存储器时隙。最后,在步骤112-28-6,程序计数I/O计数器或访问计数器112-14-7。程序在步骤112-28-7结束。

图24表示卷供应控制112-25-1的处理流的例子。程序在步骤112-25-1-1开始。在步骤112-25-1-2,程序将虚拟卷信息注册到虚拟卷管理表112-11-2。虚拟卷信息包括卷号、卷容量、以及卷层号。程序在步骤112-25-1-3结束。

图25表示卷层控制112-25-2的处理流的例子。程序在步骤112-25-2-1开始。在步骤112-25-2-2,程序改变虚拟卷管理表112-11-2中的虚拟卷层信息。程序在步骤112-25-2-3结束。

图26表示层配置控制112-26-2的处理流的例子。程序在步骤112-26-2-1开始。在步骤112-26-2-2,程序将层规则注册到层管理表112-11-5以设置层规则配置。在步骤112-26-2-3中,程序选择容量池中的RAID组。在步骤112-26-2-4,为了注册层配置,程序调用层注册控制112-26-3(见图27)来根据注册的层规则改变RAID组的层。在步骤112-26-2-5,程序循环回来以重复步骤112-26-2-3到112-26-2-5直到所有的RAID组被处理。程序在步骤112-26-2-6结束。

图27表示层注册控制112-26-3的处理流的例子。程序在步骤112-26-3-1开始。在步骤112-263-2,程序从磁盘管理表112-11-3和磁盘信息表112-11-4获得RAID组的磁盘信息。在步骤112-26-3-3,程序检查层管理表112-11-5中的层规则并且通过匹配层规则来选择用于RAID组的匹配的层。在用于将容量池组块注册到层的步骤112-26-3-4中,程序将层信息注册到RAID组管理表112-11-1。程序在步骤112-26-3-5结束。

图28表示页匹配控制112-27-1的处理流的例子。程序在步骤112-27-1-1开始。在步骤112-27-1-2,程序检查指定的虚拟页是否已经被分配了容量池页121-2。在用于选择满足层配置的层的步骤112-27-1-3中,程序选择用于虚拟卷页的需要层。在步骤112-27-1-4中,程序检查以确定被选择的层是否具有自由或未使用的容量池页。如果存在自由页,程序将新的容量池页从选定层中的RAID组分配到虚拟卷页,并且在步骤112-27-1-6中将公布的写I/O的应用的应用ID存储到该页。如果不存在自由页,程序在执行步骤112-27-1-6之前在步骤112-27-1-5中首先选择另一个(容量剩余)层。在步骤112-27-1-7中,程序返回被分配或发现的容量池页信息。程序在步骤112-27-1-8结束。

图29表示页转移控制112-27-2的处理流的例子。程序在步骤112-27-2-1开始。在步骤112-27-2-2,程序选择容量池页121-2并且获得包括层号的信息。在步骤112-27-2-3中,程序检查以确定是否已经使用了容量池页。如果没有,程序返回至步骤112-27-2-2。如果容量池页121-2没有被使用,程序在步骤112-27-2-4中通过参考虚拟卷页的层配置来获得容量池页的虚拟卷页信息。在步骤112-27-2-5中,程序检查以确定容量池页121-2是否属于具有匹配的层配置的正确(已配置)层。如果是,程序返回至步骤112-27-2-2。如果不是,程序在步骤112-27-2-6中从属于具有匹配的层配置的正确层的RAID组分配新的容量池页。在步骤112-27-2-7,程序将数据从当前的容量池页复制到新分配的容量池页。在步骤112-27-2-8中,程序检查是否在复制操作过程中对虚拟卷页发生了写I/O。如果是,程序返回至步骤112-27-2-2。如果不是,程序在步骤112-27-2-9中对于新分配的池页改变虚拟卷页和容量池页之间的链接或映射。

5.帧结构

图30表示根据第一实施例的来自主机计算机300的写I/O帧结构的例子。图30示出“iSCSI”帧结构,其中帧A1是包括IP、TCP和SCSI协议的iSCSI帧。应用ID A1-1是公布写I/O的应用的ID。该ID是在本实施例中设置给应用的IP地址。

6.序列

图31表示根据第一实施例的应用终止和层改变的序列的例子。在M1000中,CPU 111在未匹配的层中发现使用容量池页的虚拟卷页,并且使用高速缓冲存储器区域112-30将容量池页复制到新分配的容量池页。在M1001中,高速缓冲存储器区域112-30从磁盘121c接收数据并且将该数据传送到磁盘121b。在M1002中,磁盘121将数据发送到格式存储存储区区域112-30。在M1003中,磁盘121存储从高速缓冲存储器区域112-30接收的数据。

在R2000,主机计算机300正在使用应用,并且通过系统管理终端500从管理员接收终止请求。在R2001,管理员通过系统管理终端500要求应用的终止。在R2002中,系统管理终端500向主机计算机300发生终止请求。系统管理终端500将层改变请求发送至存储子系统100用于其中存储应用数据的区域。在R2003中,CPU 111改变指定的虚拟卷中的指定的区域的层。

第二实施例

在本发明的第二实施例中,使用了不同的帧结构。仅描述关于第一实施例的不同之处。

图32表示根据第二实施例的来自主机计算机的写I/O帧结构的例子。图32示出“FC(光纤通道)”帧结构,其中帧A2是FC帧。应用ID A2-1是公布写I/O的应用的ID。该ID是FCID。存储子系统可以通过对存储网络300中的切换设备的请求来搜索具有该FCID的应用的WWPN(全局端口号)。

第三实施例

在本发明的第三实施例中,使用了不同的帧结构。仅描述关于第二实施例的不同之处。

图33表示根据第三实施例的来自主机计算机的写I/O帧结构的例子。图33示出“FCoE(以太网上的光纤通道)”帧结构,其中帧A3是FCoE帧。应用ID A3-1是公布写I/O的应用的ID。该ID是FCID。存储子系统可以通过对存储网络300中的切换设备的请求来搜索具有该FCID的应用的WWPN(全局端口号)。

第四实施例

本发明的第四实施例具有不同的系统配置、不同的逻辑结构、不同的处理以及不同的序列。仅描述关于第一实施例的不同之处。在该实施例中,系统具有同步远程副本功能。然而,异步远程副本功能也是有用的。

1.系统配置

图34表示其中根据本发明的第四实施例的可以应用本发明的方法和设备的系统的硬件配置。主机计算机300m(与图1中的主机计算机300相同)通过存储网络200m连接至存储子系统100m。另一个主机计算机300r(与图1中的主机计算机相同)通过另一个存储网络200r连接至另一个存储子系统100r。存储网络200m和200r每个均与图1中的存储网络200相同。存储子系统100m类似于图1中的存储子系统100,并且包括用于连接存储子系统100r的存储接口116。存储子系统100r类似于图1中的存储子系统100,并且具有用于连接存储子系统100m的存储接口116。

图35表示根据第四实施例的图34的每个存储子系统100m或100r中的存储器112的例子。与图2相比,图35具有不同的写I/O控制112-21-1’,并且包括远程副本管理表112-19和远程副本控制112-29。远程副本管理表112-19包括远程副本配对管理表112-19-1。写I/O控制112-21-1’通过写I/O要求运行,并且具有新的远程副本相关的步骤。远程副本控制112-29具有用于写I/O复制和传送控制的远程副本I/O控制112-29-1,以及用于虚拟卷和虚拟卷页配置传送控制的配置传送控制112-29-2。

2.逻辑结构

图36表示远程副本配对管理表112-19-1的例子。表112-19-1具有用于包含卷的ID的卷号112-19-1-1的列和用于包含卷配对状态的配对状态112-19-1-2的列。“配对”意味着两个存储子系统之间的两个卷具有相同的数据。“SMPL”意味着卷没有与另一个卷形成配对。“N/A”意味着卷不存在。表112-19-1还包括用于卷属性112-19-3的列。“M-Vol”意味着复制源卷。当该卷接收写I/O时,它将写I/O复制到配对的卷。“R-Vol”意味着复制目标卷。“N/A”意味着卷不存在或没有与另一个卷形成配对。通过用户操作可以互换配对的卷之间的属性。用于远程卷ID 112-19-1-4的列包含配对的卷的ID。“N/A”意味着卷不存在或没有与另一个卷形成配对。

3.流程图表

图37表示根据第四实施例的写I/O控制112-21-1’的处理流的例子。如在图18中该程序在步骤112-21-1-1开始,但是然后在步骤112-21-1-2中调用高速缓冲存储器控制112-28来搜索高速缓冲存储器时隙112-30-1以及在步骤112-21-1-3从主机计算机300接收写I/O数据,并且将该数据存储在前述高速缓冲存储器时隙112-30-1之前,在步骤112-21-1’-4中调用远程副本I/O控制112-29-1。程序在步骤112-21-1-5结束。

图38表示远程副本I/O控制112-29-1的处理流的例子。程序在步骤112-29-1-1中开始。在步骤112-29-1-2,程序检查以从远程副本配对管理表112-19-1中查看该卷是否具有远程副本配对。如果没有,处理在步骤112-29-1-4中结束。如果有,在步骤112-29-1-3中,程序检查以从远程副本配对管理表112-19-1中查看该卷的属性是否是“M-Vol”。如果不是,处理结束。如果是,在步骤112-29-1-4中,程序复制接收的写I/O数据并且将其传送到远程存储子系统中的配对卷(属性为“R-Vol”)中。

图39表示配置传送控制112-29-2的处理流的例子。程序在步骤112-29-2-1中开始。在步骤112-29-2-2中,程序从远程副本配对管理表112-19-1中检查该卷是否具有远程副本配对。如果没有,处理在步骤112-29-2-8中结束。在步骤112-29-2-3中,程序检查卷属性是否是“M-Vol”或“R-Vol”。如果卷属性是“M-Vol”,程序在步骤112-29-2-4读取卷的卷页管理表112-11-6和应用层管理表112-11-9,并且在步骤112-29-2-5中将这些表的信息传送到它的配对卷(“R-Vol”)所属的远程存储子系统。如果卷属性是“R-Vol”,程序在步骤112-29-2-6中从配对卷(“M-Vol”)所属的远程存储子系统接收表信息,并且在步骤112-29-2-7中重写卷的页所有者应用ID 112-11-6-6信息以及应用层管理表112-11-9。处理在步骤112-29-2-8结束。

在步骤112-29-2-4中,程序可以发送页和分配的层之间的关系信息,而不是发送卷的卷页管理表112-11-6以及应用层管理表112-11-9。在这种情况下,程序通过调用页转移控制112-27-21而不是在远程操作子系统重写卷的页所有者应用ID 112-11-6-6信息以及应用层管理表112-11-9来改变层分配。

4.序列

图40表示应用终止、层改变和层配置转移的序列的例子。与图31的第一实施例相比,图40包括如下所述用于层配置传送的额外的序列。在T1000中,存储子系统100m将卷页管理表112-11-6以及应用层管理表112-11-9的信息传送到存储子系统100r。在T1001中,存储子系统100r从存储子系统100m接收卷页管理表112-11-6以及应用层管理表112-11-9的信息并且使用该信息进行重写。

由上述显而易见,本发明提供用于动态页重新分配存储系统管理的方法、装置以及存储在计算机可读介质上的程序。另外,尽管在该说明书中描述了特定实施例,本领域普通技术人员应当理解设计为实现相同目的的任何适当的布置能够替代这里揭示的特定实施例。该揭示意欲覆盖本发明的任何和所有适配或变化,并且应当理解在所附权利要求中使用的术语不应当被理解为将本发明限制为说明书中揭示的特定实施例。相反,本发明的范围应当由所附权利要求以及这样的权利要求的等价物的完全范围来整体地确定,应当根据权利要求解释的已制定原则来理解所附权利要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号