对数据存储库中的具有冗余拷贝的数据卷的平衡存取的制作方法

文档序号:6435085阅读:218来源:国知局
专利名称:对数据存储库中的具有冗余拷贝的数据卷的平衡存取的制作方法
通过参考所包含的文献包含了K.F.DayⅢ等共同提出的美国专利申请No.09/283,223,其中描述了数据存储库系统,该数据存储库系统具有存储和跟踪系统数据存储库中多个数据拷贝的导向器。
包含了T.W.Bish等共同提出的美国专利申请No.09/391,186,其中描述了数据存储库系统,该数据存储库系统从具有高速缓存和后备存储器的多个数据存储库中跟踪和存取数据卷。
本发明涉及多个数据存储库中数据卷的冗余拷贝的存储,数据存储库具有对数据卷有不同存取速度级别的存储器,例如高速缓存和后备存储器,本发明尤其涉及从数据存储库中存取数据卷拷贝。
数据处理系统包括至少一个主机,该主机通常需要大量的数据存储。如果主机不急需通常作为数据卷存储的数据,例如,如果数据卷很少被存取,则数据卷可以存储在可移动可重写数据存储介质上,例如磁带或光盘上,利用数据存储驱动器可以对数据卷进行写或读操作。
数据存储驱动器通常利用外部设备接口与主机或处理单元相连,在外部设备接口中命令仅从处理单元直接到数据存储驱动器,数据存储驱动器响应那些命令,执行这些命令功能。数据存储驱动器不会将命令发送到所连接的处理单元。通常,命令由设备控制器执行。
如果有时要存储并存取大量的数据,则使用数据存储库。这种数据存储库提供对存储在可移动数据存储介质上的后备存储器中的大量数据卷的有效存取,介质存储在存储器架上,在机器人控制器的控制下由机器人进行存取。由于所存储的数据量大,通常多个主机利用同一数据存储库,在库中包括多个数据驱动器允许主机存取。库管理器,可包括一个或多个处理器,或可包括与机器人控制器相同的处理器,通常跟踪每个数据卷和上面存储每个数据卷的数据存储介质,并跟踪每个数据存储介质的存储器架位置。
在这里,无论有无机器人控制器,库管理器均可以定义为数据存储库的“控制器”或“库控制器”。
如果数据存储介质在被访问后可以被再次访问,则采用既有高速缓存又有后备存储器的数据存储库是有利的。数据存储库从后备存储器中存取可移动介质的数据卷并将数据卷临时存储在高速缓存中,以使其能被立即再存取。然后可移动介质返回至存储器架,当数据卷位于高速缓存中不需要再访问可移动介质时,数据卷进行更新。通常高速缓存的容量是有限的,需要将数据卷迁移到后备存储器中,以释放高速缓存中的空间。通常,使用最近最少使用(LRU)算法来将数据卷从高速缓存迁移到后备存储器中。
即使在数据存储库或通向数据存储库的通信路径无法使用,也希望提供数据冗余级别以提供对数据卷的持续存取。
所结合的K.E.DayⅢ等提出的申请中描述的数据存储库系统的示例,该数据存储库系统用于存储冗余存储和存取在多个数据存储库中可移动数据存储介质上的数据卷。每个库的库控制器提供与每个数据卷直接关联的可更新同步标记。提供多个导向器,每个导向器彼此独立并与主机相连,而且每个导向器彼此独立并与每个数据存储库相连。每个导向器响应由主机寻址的独立、分区数据存储驱动器地址。响应导向器将主机提供的每个数据卷提供给所有数据存储库,并更新与所提供的数据卷直接相关的每个同步标记。因此,不使用主机,导向器就可以存储数据存储库中数据卷的副本拷贝。在大多数的数据处理应用中,存取最新的数据是很关键的。因此,利用直接关联的同步标记对每个当前的数据卷进行跟踪,主机不跟踪同步标记。
存取高速缓存中的数据卷的时间比存取后备存储器中的数据卷的时间至少要快一个数量级。这是因为在高速缓存中存取数据卷是以电子速度、或硬盘驱动器速度完成的,而机器人必须从存储器架上取出包含数据卷的数据存储介质,将数据存储器移动到数据存储器驱动器上,然后安装数据存储介质并定位所需的数据卷。因此存取高速缓存中的数据卷是有利的,会是“高速缓存命中”,而不是由于不得不等待额外时间来存取后备存储器中的数据卷而出现的“高速缓存未中”。
所结合的K.F.DayⅢ等的申请中,通过请求来自所连接的、属于那个数据卷的数据存储库的所有同步标记,导向器响应对可识别数据卷的再调用请求。导向器使用该同步标记来确定可识别数据卷的当前更新的同步标记,并存取数据存储库上的具有当前更新的同步标记的可识别数据卷。在结合T.W.Bish等提出的申请中,如果不止一个数据存储库具有最新同步标记,则存取存储在库的高速缓存中的数据卷拷贝,而不是存取存储在其它库的后备存储器中的拷贝。
如果同步标记表示两个拷贝是最新的,则两个拷贝都存储在高速缓存中并处在高速缓存的同一存取级别上,结合Bish等的申请使用“正规”算法选择库来存取数据卷,例如旋转循环基本原理(rotating roundrobin basis)。
然而,这种“正规”算法可能导致试图从数据存储库中存取数据时,数据存储库完全被正在处理的现存作业所占据,使得库之间的相对作业负荷不平衡。
本发明的一个目的是选择数据存储库来存取可识别数据卷的冗余拷贝,以平衡数据存储库之间的工作负荷。
一种数据存储库系统,具有多个自动数据存储库,以及至少一个主机或导向器,使用以下方法存取可识别数据卷的冗余拷贝,即该方法可由计算机执行,利用每个库的空闲时间状态来平衡工作负荷。
每个数据存储库具有库控制器,以及至少两个以不同存取速度存储及存取可识别数据卷的存取级别。存取级别可以是以电子速度运行的高速缓存,以及以机械速度运行的后备存储器,诸如盒式磁带的后备存储器必须从存储器架中存取。库控制器提供与每个数据卷直接关联的同步标记,同步标记识另数据卷的更新级别。另外,标记提供表示数据存储库中可识别数据卷的存取级别的标志。
导向器请求数据卷,当提供与所请求的数据卷直接关联的同步标记时,每个库的库控制器确定其当前空闲时间状态并将编码的空闲时间状态提供给请求导向器。
导向器从数据存储库中读取与数据卷直接关联的同步标记;导向器通过所读取的标记确定数据卷的多个冗余拷贝是否为最新的更新级别、是否为同一存取级别以及数据卷的拷贝是否不具有更快的存取级别,使得数据卷的拷贝以同一最快有效存取级别存储在数据存储库中。
一旦确定表明至少其中两个数据卷拷贝具有同一最快有效存取级别,则导向器将所提供的存储这些拷贝的数据存储库的空闲时间状态进行比较,指出哪个库提供更大的空闲时间状态。然后导向器从所指示的数据存储库中存取数据卷。
空闲时间状态可以包括库处于空闲时的有效运行时间百分比,也可以是库处于空闲时有效运行时间百分比和库处于I/O等待状态时有效运行时间百分比的组合,或者其它与库装载有关的指示符。
为更完整地理解本发明,下面参考附图对本发明进行详细描述。


图1是根据本发明实施例所使用的数据存储库子系统功能元件相互连接框图;图2是根据本发明实施例所使用的图1中一例数据存储库的功能元件框图;图3是在图1和2的数据存储库中使用的存储在单个物理卷上的逻辑数据卷的归纳框图;图4A和4B是使数据卷和与数据卷直接关联的同步标记有关的图表表示法,及指出数据卷是存储在高速缓存中还是存储在后备存储器中的附加指示符;图5是用于标志指示符的代码表示法,该标志指示符表示高速缓存或后备存储器中数据存储卷的存储级别;图6A和6B是使数据卷和与数据卷相关联的同步标记有关的图表表示法,及那些如图5所示的指出高速缓存或后备存储器中的数据卷的存储级别的附加指示符;图7描述的是根据本发明实施例所使用的图1数据存储库子系统方法的归纳实施例的流程图;图8是根据本发明实施例的具有附加空闲时间状态的同步标记的图表表示法;图9是描述迁移数据卷并将标志指示符附加到同步标记上的另一些方法流程图;图10是描述根据本发明实施例用于图2数据存储库所采用的空闲时间状态的方法流程图;及图11是描述根据本发明实施例用于选择数据存储库以提供图1导向器所使用的数据卷的方法流程图。
下面参考附图对本发明的最佳实施例进行描述,在附图中,同样的数字表示相同或类似的元件。同时,根据实现本发明目的的最佳模式来描述本发明,本领域的技术人员可以在不脱离本发明的精神或范围的情况下实现这些变化。
参考图1,示出了数据存储库子系统10的实施例,在该数据存储库子系统10中,按照所结合的DayⅢ等的申请,通过多个导向器71-74,将主机系统11和12冗余地与数据存储库14和15连接。DayⅢ等的申请提供了存储和跟踪数据存储库中多个数据拷贝导向器。通过给每个数据卷的冗余拷贝提供直接关联的同步标记来完成跟踪。每个导向器71-74通过接口69与主机通信,通过接口70与库14和15通信。
主机系统11和12连接到并使用数据存储库子系统10来存储数据,特别是存储主机不急需的数据卷,例如,如果数据卷很少被存取时。然而,当需要数据时,数据卷可能被存取许多次并不断进行更新。因此,再参考图2,每个数据存储库包括“虚”库,“虚”库包括用于保持刚刚存取的数据卷的非易失性高速缓存,例如磁盘驱动器40,或电子存储器39,还包括用于存储很少存取的数据卷的后备存储器,例如具有数据卷18的可移动数据存储介质。
从主机和导向器中将数据卷提供给库,在“返回”信号提供给主机前,主机一直等待至虚库把数据卷写入非易失性高速缓存中。
在结合的Bish等的申请中,通过将除一个以外的全部数据卷的冗余拷贝以高优先级原则迁移到后备存储器中使高速缓存可用。高速缓存以相对快的电子速度或接近电子速度的速度进行存取,同时可以较慢的机械速度存取后备存储器。因此,根据结合Bish等的申请,如果其是一个最新更新的拷贝在高速缓存中,同时另一个在后备存储器中,则存取高速缓存中的拷贝。而且,高速缓存可以有两个存取速度,并存取具有最快存取级别的最新数据卷。
如果所有最新更新的数据卷拷贝都处于同一存取级别,或至少其中两个最新更新拷贝处于最快有效存取级别,则本发明平衡库之间的工作负荷。
主机系统11和12包括多种类型和数量的处理单元、服务器或计算机系统。数据存储库14和15可以包括用于存储可移动可重写数据存储介质的任何类似的库,例如磁性盒式磁带或光盘。一例适用的数据存储库是IBM3494虚拟带服务器。可提供两个以上的数据存储库14-15,每个都存储有每个冗余数据卷的冗余拷贝其中一份。
参考图2,可移动数据存储介质存储在存储器架20上,在库控制器30的控制下,可移动数据介质存储在由至少一个机器人22存取的存储器架20。在包括数据卷18的存储器架20上的可移动数据存储介质包括后备存储器。多个数据存储驱动器34和35允许存取以读和/或写数据卷18。数据存储库是具有非易失性高速缓存39和40的“虚”库,非易失性高速缓存39和40与数据存储驱动器34和35相连。高速缓存39可以包括具有非易失性性能的电子存储器,例如“闪速”存储器,或具有作为备份电源的电池的存储器。高速缓存40可以包括一个或多个磁性磁盘驱动器。库控制器30可以包括库管理器,库管理器利用数据库36跟踪每个数据卷及将其存储在上面的数据存储介质,跟踪每个数据存储介质的存储器架位置20,以及跟踪非易失性快速高速缓存39和非易失性高速缓存40上的每个数据卷。
数据库36和非易失性高速缓存40可以包括相同或不同的磁性磁盘驱动器。
与库之间的通信在存储器接口38传导至库控制器30、非易失性快速高速缓存39和地址驱动器34和35。地址驱动器34和35可适应不同的介质和/或以不同的速度运行。例如,数据存储驱动器34可以包括用于存储在光盘上的数据卷18的光盘驱动器,并依靠对任何磁道的随机存取寻找提供对数据卷更快的存取,同时数据存储驱动器35可以包括用于存储在磁性盒式磁带上的数据卷18的磁带驱动器,提供对数据卷的线性存取。或者,数据存储驱动器34和35都可以包括磁带驱动器,但是数据存储驱动器34的费用更高并提供对数据卷更快速的存取,或数据存储驱动器34可以与具有较少数据容量但对数据卷的存取更快的数据存储介质关联,一种例子是在长度上更短的介质。
参考图1和2,图示导向器71-74是与库分开的,然而,一个或多个导向器可以在物理上位于库14或15中,并可以在库控制器30上包括一个分隔板,或可以是库控制器30的一部分。或者,物理库可被分开,每个都视为独立库,独立库具有各自独立分开的存储器架20、非易失性高速缓存39和40、数据库36以及数据存储驱动器34和35,同时共享这个或这些机器人22。库控制器30可以包括一个或多个处理器,独立跟踪数据卷并共同控制机器人的操作。
如果数据卷在后备存储器20中,接收命令来存取数据卷,则库控制器30识别出数据存储器介质及包含数据卷的存储器架20。然后库控制器操作机器人22来从存储器架20中存取数据存储器介质,并将数据存储器介质递送到驱动器34或35中。当包含所识别的数据卷18的数据存储器介质被递送到驱动器、被物理安装在驱动器上并存取数据卷时,库控制器30在存储器接口38上提供“准备好”信号。然后通常将数据卷读入高速缓存40或39,由地址主机通过存储器接口38上的数据传输进行读和/或写操作。
根据本发明,高速缓存定义为单个高速缓存40或多个存取级别的高速缓存,包括快速高速缓存39和高速缓存40。
一旦数据卷在高速缓存39或40中,其可被快速存取,或所接收到的数据卷不需等待将要被装载的数据存储介质就可以被快速传输到库高速缓存中。由于高速缓存为非易失性的,因此数据卷可保留在存储器中。库控制器30可以使高速缓存仿佛是导向器和主机,好象它是若干安装好介质的驱动器。因此,高速缓存是许多“虚拟驱动器”。
与大量的可以存储在后备存储器中的数据卷18相比,高速缓存39和40在容量上受到限制。因此,在高速缓存39和40中的数据卷必须不断地被从高速缓存迁移到后备存储器。附加地将高速缓存39在容量上限制成高速缓存40。从高速缓存39到高速缓存40的迁移可以作为初始迁移,随后的迁移从高速缓存40到后备存储器20。或者,最初数据卷可以存储在高速缓存39或高速缓存40中,并直接迁移到后备存储器20中。当数据卷被迁移时,以前由迁移数据卷所占据的部分高速缓存被“释放”,变成可用来存储其它所需的数据卷。
从高速缓存到后备存储器20的迁移可直接到达驱动器34或驱动器35,或者迁移可以在后备存储器中继续,数据首先迁移到其中一个驱动器34上的后备存储器中,然后再迁移到其中一个驱动器35上的另一部分后备存储器。
通常,在可移动数据存储系统中,多个数据卷18在单个物理数据存储介质中,称作物理卷。图3是物理卷44的略图,例如盒式磁带中的磁带,其中包括N个逻辑卷,由此代替N个单独的盒式磁带51至58。在单个物理卷中存储多个数据卷称为“卷堆叠”。在一种配置中,单个物理卷可以包括多达140个每个50MB的逻辑卷,每个逻辑卷可被单独寻址和存取。在另一种配置中,单个物理卷可以包括可变数量的可变长度的逻辑数据卷,每个逻辑数据卷可被单独寻址和存取。其中,数据卷18可以包括逻辑卷51等,或者,如果不提供逻辑卷,那么数据卷18可以包括物理卷44。
新物理卷称为“擦除”卷及逻辑卷51等,当其被写时被定义。逻辑卷可被再调用和更新,并被重写,通常在相同或不同的物理卷上的新位置或不同位置。被再调用的逻辑卷的最初位置也是“擦除”卷。有时,库控制器会通过将所有非擦除逻辑卷读入高速缓存并将其重新写在另一个物理卷上而不用更新来收回物理卷,并将第一个物理卷留下作为可完全重写的“擦除”卷。
通常库控制器30将部分高速缓存30和/或40保留为“擦除”逻辑卷,以便当主机需要写入时可以以电子速度写入更新的或新的逻辑卷。
用于逻辑数据卷和物理卷的密钥识别符为“卷序列号”或“VOLSER”,包括预定数量的字符或空格。大多数物理卷有VOLSER,或可译为VOLSER的类似的识别符,用库机器人可读的介质(盒式磁带)侧面上的标号进行编码。因此,物理卷44象逻辑数据卷51至58一样具有VOLSER。典型的通常数据存储介质44包括内容(VTOC)60的索引或卷标,其可识别存储在物理卷上的每个数据卷51-58。用VOLSER也可以识别“擦除”物理卷。
根据所结合的DayⅢ等的申请,库控制器30提供与每个数据卷直接关联的同步标记,该同步标记包括可更新标记。参考图2和3,同步标记通过将标记存储在数据库36中可直接与数据卷18相关联,或者存储与每个物理卷44有关的标记,或存储与每个数据卷51-58直接相关联的标记。
参考图1和2,设有多个导向器71-74,每个导向器彼此独立并与主机11-12相连,每个导向器彼此独立并与每个数据存储库14-15相连。每个导向器响应其中独立分区的存取地址,例如由主机利用所供给的命令编址的数据存储驱动器地址。例如,导向器71响应驱动器地址0-3,导向器72响应驱动器地址4-7,导向器73响应驱动器地址8-B,导向器74响应驱动器地址C-F。每个数据存储库14-15的库控制器30提供直接与每个数据卷相关联的可更新的同步标记。响应导向器71-74将主机所提供的每个数据卷提供给所有的数据存储库,并更新与所提供数据卷直接相关联的每个同步标记。因此,库14-15存储数据卷的复本。通过直接与同步标记相关联来跟踪数据卷的每个当前值,主机不对同步标记进行跟踪,同步标记也不是中央跟踪数据库所需要的。如果数据卷在库上被更新,则导向器将同步标记加1并将更新的同步标记提供给库,以直接将同步标记与数据卷相关联,从而跟踪数据卷的更新级别。当每个冗余拷贝都被更新时,直接关联的同步标记也被更新,使得用同步标记来跟踪数据卷的每个冗余拷贝的当前值。
库控制器30包括至少一个可编程计算机处理器,例如IBM RS-6000处理器,并设有根据本发明来运行的操作系统和应用程序。应用程序包括包含计算机可读取程序代码的计算机程序产品。计算机程序产品可通过导向器从网络或通信接口38上的主机11-12中的一个电子提供。或者,计算机程序产品可从处理器的I/O工作站得到,或从存储可执行计算机指令的存储介质上得到。计算机程序产品包括一种制造品,例如图3中的数据存储介质44。一种制造品的存储介质的另一个示例是磁性软盘。其它适用的存储介质是光盘、磁性盒式磁带、可移动硬盘磁带、只读存储器(ROM)或可编程只读存储器(PROM)。对存储介质或存储器的要求是它们能够存储计算机可执行指令的数字表示。操作系统和应用程序可存储在数据库36中。
数据存储库可以有不同的架结构和不同的驱动器数量,也可以以不同的速率迁移数据卷的冗余拷贝的不同部分,以便在任意时刻用于库14-15中每一个库的高速缓存39-40的内容可以不相同。然而,在进行处理作业时,通常在短时间内会对数据卷进行重复存取,一旦作业完成,数据卷在相当长的时间段内不会被存取。如果数据卷在作业期间被更新,则在处理作业的整个期间,数据卷可能被保存在两个库的高速缓存39-40内。
通过平衡库之间的工作负荷,本发明提高了存储数据卷冗余拷贝的多个数据存储库14-15的性能。
根据本发明,每个数据存储库14-15保持与数据卷直接关联的同步标记。每个数据存储库的库控制器30识别当前存储在数据存储库的高速缓存39和/或40中的每个数据卷,并识别当前存储在数据存储库的后备存储器20中的每个数据卷。
导向器71-74从主机11-12接收用于存储在数据存储库中的数据卷的再调用请求。如上所述,导向器将命令发送到库。在向前传再调用请求时,导向器从每个库请求直接关联的同步标记。然后,每个数据存储库响应用于其中一个可识别数据卷冗余拷贝的再调用请求,并提供与可识别数据卷直接关联的同步标记以及识别符。在识别步骤中,指示符表示可识别数据卷是否被识别为当前存储在高速缓存39-40或后备存储器20中。例如,指示符可以包括附着于同步标记上的标志。因此,通过选择存储在高速缓存中可识别的,而不是选择存储在后备存储器中可识别的可识别数据卷的冗余拷贝来提高存取的性能。
另外参考图4A和4B,指示符的一个实施例是“标志”67,“标志”67是表中特殊位置上的一个或多个位。表61和62分别示出了两个库,即库“1”和库“2”,例如库14和15。每个表最好位于库的数据库36中。每个表都将数据卷(例如VOLSER)65与直接关联同步标记66相关,由此保持并存储同步标记。标志67也称作“高速缓存”标志,附着在用于直接关联数据卷的同步标记上。因此,高速缓存标志表示数据卷是当前存储在高速缓存39-40中,为“1”,或是存储在后备存储器20中,为“0”。其中,“高速缓存”标志表示数据卷是在高速缓存中或是在后备存储器中,也称为“后备存储器”标志。
使用表61和62的示例,同步标记66对于数据卷“0001”是不同的,因此,按照所结合的DayⅢ等的申请,具有最新同步标记的数据卷的库,即库“1”,将被选择用来提供数据卷,而不考虑附加的高速缓存标志67。反之,对于数据卷“0002”也成立,库“2”具有最新同步标记。
对于数据卷“0003”,同步标记是相同的。当库正常运行时,这将是正常的情况。因此,请求导向器71-74将选择高速缓存中的数据卷,该数据卷由高速缓存标志“1”67表示库“1”,而不是选择后备存储器中的数据卷,该数据卷由高速缓存标志“0”67表示库“2”。
图5示出了另一种指示符,该指示符包括用于高速缓存标志的二进制代码90。如图所示,代码“11”表示快速高速缓存39,代码“10”表示另一个高速缓存40,代码“01”表示可由驱动器34存取的后备存储器(1)20,代码“00”表示可由驱动器35存取的后备存储器(2)20。
或者,后备存储器(1),代码“01”,可以表示目前驱动器34-35上的数据卷,后备存储器(2),“00”,可以表示存储器架20中的数据卷。或者,后备存储器(1)又可以包括由机器人22传送的数据卷。
图6A和6B示出了采用图5中表的代码90的高速缓存标志68。高速缓存标志68是每个库的表中的特殊位置上的位。表61和62再次图示了库“1”和“2”,例如库14和15。此外,每个表最好位于库的数据库36中。每个表将数据卷(例如VOLSER)65与直接关联同步标记66相关联,由此保持并存储同步标记。高速缓存标志68可附加到用于直接关联数据卷的同步标记上。因此,高速缓存标志表示数据卷当前是否存储在快速高速缓存39中,若是,为“11”,若存储在其它高速缓存40中,则为“10”,或者是否存储在后备存储器20中,存储在后备存储器(1)为“01”,存储在后备存储器(2)为“00”。
使用表61和62的示例,同步标记66对于所示数据卷是相同的,这是库正常运行时的典型状况。因此,库为数据卷提供附加在同步标记上的高速缓存标志指示符。然后,选择具有最高级别标志数据卷的库,表示数据卷处于提供对数据进行更快存取的存储器中。
例如,用于库“1”中的数据卷“0001”的高速缓存标志为“11”,表示数据卷在快速高速缓存39中,而库“2”中的标志为“10”,表示数据卷在另一个高速缓存40中。因此,导向器将选择库“1”。库“1”中用于数据卷“0002”的高速缓存为“10”,库“2”中的为“01”,表示数据卷处于库“1”中的高速缓存40中以及库“2”中的后备存储器中。因此,将从具有高速缓存中的数据卷的库,即库“1”中选择数据卷。
对于数据卷“0003”,同步标记是相同的。高速缓存标志表示两个库都在后备存储器中存储数据卷。根据本发明,请求导向器71-74选择后备存储器(1)中的数据卷,用于库“1”的标志“01”,而不选择由用于库“2”的高速缓存“00”68表示的后备存储器(2)中的数据卷。
图7根据所结合的DayⅢ等的申请,如本文所述,再参考图1,主机11-12通过存取地址来寻址导向器,存取地址可以包括数据存储驱动地址,提供将要被存储的数据,并接收所存取的数据卷。在步骤75上,导向器接收来自主机11-12的与可识别数据卷有关的命令,并与主机相分离及与每个数据存储库14-15相分离。在步骤76上,导向器响应那些由主机寻址的独立分区的独立存取地址以及任意伴随数据卷。在步骤77上,响应分区存取地址及数据卷再调用请求的导向器,首先从所有存储数据卷的数据存储库中请求同步标记。然后,在步骤78上,导向器检验从库中接收到的同步标记,并识别出具有最新数据卷的同步标记的库。最后,在步骤79上,导向器选择识别出的库。
在主机请求写入的例子中,仅需要“擦除”卷,在所有数据存储库的高速缓存上的卷都是有效的。因此,步骤77和78将被跳过,或步骤79将被跳过,同时步骤78将处理所有的“擦除”卷仿佛其具有最新同步标记。
本发明可使用单个主机或服务器,完成仅有一个导向器的功能。因此,本文中的“导向器”指的是导向器71-74,或完成导向器功能的主机11或12,该导向器选择识别出的库来存取所请求的数据卷。
根据本发明,一个以上的库应具有与数据卷直接关联的最新同步标记,并且一个以上的库应存储在最快存取级别的存储器中,导向器根据库的相对工作负荷可利用性选择其中一个库。根据本发明,相对工作负荷可利用性的指示器由库确定,并可附加到同步标记上。
参考图8,示出了本发明的一个实施例,使用每个库的空闲时间状态200来平衡工作负荷。如图8所示,通过将编码的空闲时间状态附加到同步标记201上,由库将空闲时间状态提供给导向器。如Bish等的申请所述的同步标记包括直接关联数据卷204的标识,存储在直接关联数据卷的库205的标识,数据卷206的更新级别以及表示所存储数据卷的存取级别的高速缓存标志207。或者,可以以独立通信方式将空闲时间状态从同步标记独立转送至导向器,这会不太有效。
再参考图1、2和7,导向器71-74请求数据卷,当其提供直接与所请求的数据卷相关的同步标记201时,每个库的库控制器30确定其当时空闲时间状态200并将编码的空闲时间状态提供给请求导向器。
导向器71-74从数据存储库14-15中读取直接与数据卷相关的同步标记;导向器从读取标志上确定数据卷的多个冗余拷贝是否在最新更新级别及相同存取级别上,并且没有数据卷拷贝处在更快的存取级别上,以便以同一最快有效存取级别将数据卷的拷贝存储在数据存储库上。这包括处于同一最快有效存取级别的“擦除”卷。
一旦确定指示至少其中两个数据卷的拷贝处于同一最快有效存取级别,导向器71-74比较所提供的存储这些拷贝的数据存储库的空闲时间状态,并指示哪一个库提供更大的空闲时间状态。然后导向器从所指示的数据存储库中存取数据卷。
空闲时间状态可包括任何指示符或与安装库有关的指示符的组合。空闲时间状态的示例可以包括库为空闲的有效运行时间百分比,也可以是库为空闲的有效运行时间百分比和库处于I/O等待状态的有效运行时间百分比的组合,和/或可以包括库为“节流(throttling)”的指示,下面将要进行讨论。
图9示出了根据所结合的Bish等的申请的数据卷迁移以及标志指示符附加到同步标记上的示例。在步骤120上,存储过程开始从导向器71-74接收数据卷。
另外,参考图1、2、6A、6B和8,在步骤122上,库控制器30将数据卷存储在快速高速缓存39中,并在步骤123上存储与数据卷直接关联的更新的同步标记66,该数据卷在数据库36的表61或62中。然后,在步骤124上,库控制器将指示符68设置为附加到同步标记上的表61或62的快速高速缓存标志,例如标志“11”。
随后,如果数据卷不被再调用或存取,则库控制器30的算法确定数据卷的迁移。因此,在步骤128上,库控制器将数据卷从快速高速缓存39迁移到其它高速缓存40中,并且在步骤129上,将表61或62中的标志68改变为其它高速缓存,例如“10”。本领域的技术人员知道,所使用的迁移算法只是选择问题。
随后,如果数据卷不被再调用,则库控制器将数据卷从高速缓存39-40迁移到后备存储器20中。在一个实施例中,在步骤130上,根据算法将数据卷迁移到后备存储器(1)或后备存储器(2)中。本领域的技术人员理解这种算法的示例,并可以将数据卷直接指定给后备存储器,在该后备存储器中存储具有共同相似性的其它数据卷,或可以将数据卷指定给与数据卷可能的将来再调用最密切相关的后备存储器。在步骤132上,通过库控制器30,表61或62中的高速缓存标志68从高速缓存标志例如其它高速缓存标志“10”变为后备存储器(高速缓存标志,例如后备存储器(1)为“01”或后备存储器(2)为“00”。
或者,在步骤135上,首先根据算法将数据卷迁移到后备存储器(1)。一旦进行迁移,在步骤136上,库控制器30在表61或62中将标志从高速缓存标志变为指示后备存储器(1)的标志,例如,“01”。在随后的时间内,如果数据卷再次不被再调用或存取,则库控制器30再根据算法将数据卷从后备存储器(1)迁移到后备存储器(2),而且在步骤141上,将表61或62中的标志68从指示后备存储器(1)变为指示后备存储器(2),例如“00”。
然后,当导向器请求数据卷时,每个库控制器30的库控制器30将图4A或4B中的表61或62的标志67,或图6A或6B中的表61或62的标志68,附加给图8中的同步标记201,如标志207所示。然后,库将同步标记提供给请求导向器71-74。
根据本发明的实施例,并参考图10,数据存储库14-15额外确定库的空闲时间状态,并将空闲时间状态提供给请求导向器,例如,通过将空闲时间状态附加到同步标记上。
在步骤210上,库14-15接收来自导向器71-74对同步标记的请求。根据所结合的Bish等的申请,在步骤211上,库控制器30存取用于直接关联数据卷的同步标记201,并附加高速缓存/后备存储器标志67或68,例如,作为标志207,高速缓存/后备存储器标志67或68指示存储在库中的数据卷的存取级别。可以给“擦除”卷一个空标记或指示为“擦除”。
根据本发明,库控制器30确定空闲时间状态。在一个实施例中,在步骤220上,控制器30确定库处于空闲的有效运行时间的百分比。例如,如果库完全空闲,则库处于空闲的有效运行时间的百分比为100%。在本发明的一个实施例中,步骤220上确定的空闲时间的百分比为空闲时间状态。
根据本发明的另一个实施例,空闲时间状态为库处于空闲的有效运行时间百分比以及库处于I/O等待状态的有效运行时间的百分比的组合。因此,步骤221包括确定库处于I/O等待状态的有效运行时间的百分比。在I/O等待状态,库不处于空闲,而是能工作。作为空闲百分比和I/O等待状态百分比的组合的一个示例,确定当前空闲时间状态的算法包括确定(100%减去库处于空闲的有效运行时间的百分比)+((100%减去库处于I/O等待状态的有效运行时间的百分比)/2),总计的百分比越小,包含更多的空闲时间状态。
在对高速缓存进行写入时,数据存储库可能变得过载,以至不是所有的输入命令能够被库即时处理。仅当从高速缓存中迁移其它数据卷时,高速缓存才能有效进行新的写入和更新。正如本领域的技术人员所公知的,然后库可以针对来自导向器或主机的每个输入命令发布延迟,产生对高速缓存40的“写”操作。延迟的发布称作“节流”,在美国专利No.5,926,834中对此进行了论述。
就某方面而言,当高速缓存40是满的且库完全工作时,库为“完全节流”。在一个实施例中,步骤222确定是否已经到达“完全节流”阶段。如果达到,由步骤223设置节流标志,其可以包括特殊的空闲状态指示符。如果没有达到完全节流,在步骤222上为“NO”,在步骤225上由库控制器30计算当前的空闲时间状态。
可根据上述算法进行计算,而且可以将节流结合进算法中,例如,通过将上述确定的(150)+((以毫秒计的节流延迟时间)/2)加进去。
因此,在步骤225中根据示例算法所确定的值可包括指示库有空闲时间的(0-100),值越低,空闲时间和空闲时间状态越高。值为(100-150)表示库繁忙,但在一些时候,库控制器在I/O等待状态时被占用,但仍能运行。如果节流,则值为(150-250)。如步骤222和223的另一个实施例,在步骤225上,值为250可能表示完全节流。因此,在步骤222,如果已知库为完全节流,则步骤223可提供值为250的空闲时间状态。
如上所述,在本发明的一个实施例中,在步骤230,在步骤225中确定或在步骤223中提供的图8的当前编码的空闲时间状态200被附加到与所请求的数据卷直接关联的同步标记201上。然后,在步骤231,库将具有附加有当前空闲时间状态指示符的同步标记提供给请求导向器71-74。
本领域的技术人员可能组织上述步骤有区别,或可能使用不同但类似的算法来确定空闲时间状态200。
图11示出了本发明的一个实施例,其中导向器或主机执行图7的步骤79,选择库来存取所请求的数据卷。在步骤240中,导向器71-74(或主机,如上所述)读取同步标记201,同步标记201由具有所请求数据存储卷拷贝的每个数据存储库14-15提供。如上所述,“擦除”卷能如此被识别,具有设置为空的同步标记。或者,命令将要被写入的指示表示不需要同步标记,而且库被视作仿佛同步标记处于相同的最新更新级别。在步骤241上,导向器从更新级别206的同步标记指示来确定是否不止一个库具有最新拷贝。“擦除”卷具有相同的同步标记,或可视作仿佛是相同的。如果不相同,则在步骤243上选择具有最新拷贝的库。如果不止一个库有最新拷贝,则导向器在步骤245中读取所有最新同步标记的高速缓存/后备存储器标志207。
在步骤248,导向器确定是否所有的标志都相同,或至少其中两个标志指示最快的存取级别,指示数据卷的最新拷贝以同一最快存取级别存储在至少两个库中。例如,存储器的最快存取级别可以包括与后备存储器相对的高速缓存。因此,数据卷可以存储在一个库中的存储器39以及另一个库中的存储器40中,但如图4A和4B中的标志67所指示,两个均被认为是最快的存取级别。该确定可表示存储在数据存储库中的数据卷的至少其中两个直接关联冗余拷贝处于高速缓存中,在高速缓存中也没有相同的最近更新级别的拷贝,而且所有的均处在所述后备存储器中。或者,高速缓存39可被认为是比高速缓存40具有更快存取级别的存储器,如图6A和6B中的标志68所示。如果以最快的存储存取级别仅存储了其是一个最新的拷贝,那么在步骤250上选择存储该拷贝的库。如上所述,库将以最快的高速缓存存取级别为“擦除”卷保留空间。因此,标志是相同的,表示高速缓存的相同的最快存取级别,或将要写入命令的指示表示不需要标志以及把库视为仿佛标志是处于相同最快存取级别。
因此,本文中“擦除”卷解释为具有相同同步标记,表示相同的最新更新级别,具有相同标志,表示相同的最快存取级别。
如果步骤248上的标志相同,则数据卷的至少其中两个最新拷贝处于库中存储器的最快存取级别。
根据本发明,导向器读取库的空闲时间状态,库提供与步骤252中所请求数据卷直接相关的同步标记。在步骤253中,导向器确定是否任一库为完全节流。如上所述,可以通过特殊字符或值来确定节流,也可以根据算法利用达到最大值来确定节流。或者,步骤253可以包括对任何节流的检测,例如,象值为150或在上述算法中更好的值所表示的那样。
一旦步骤253表示至少其中一个库为节流,则步骤255确定是否所有的库为节流(或完全节流)。如果不是所有库都节流,则步骤256选择未节流的库。如果所有的库均节流,则可以在步骤257上采用正规算法,例如循环算法(round robin agorithm),来选择数据存储库以存取数据卷。
如果步骤253表示没有库是节流(或完全节流),则导向器在步骤260中比较每个库的空闲时间状态200。在选项步骤261中,导向器确定库空闲时间状态之差是否会超过阈值。例如,使用上述算法,阈值可包括值为25。因此,如果两个库都处在大致相同级别的活动性并具有几乎相同的空闲时间状态“NO”,则在步骤257上使用正规算法来选择库。
然而,如果以相同的最快存储器存取级别来存储最新拷贝的库具有不同的工作负荷可用性,使得每个的空闲时间状态不同,或如步骤261所示,差异超过阈值,在步骤270上导向器选择具有最大空闲时间状态的库。因此,选择具有最大有效性的数据存储库。
通过在每个实例中选择具有最大可用性的数据存储库来选择数据卷,平衡库之间的工作负荷。因此,本发明选择数据存储库来存取可识别数据卷的冗余拷贝,以便平衡数据存储库之间的工作负荷。
由于已对本发明的最佳实施例进行了详细描述,因此本领域的技术人员可以在不脱离本发明的范围内对上述结果作出各种变化,说明书和附图中包含的所有实施例都是解释性而非限制性的。
权利要求
1.一种响应再调用请求从多个数据存储库中存取可识别数据卷的方法,所述数据存储库存储并存取所述可识别数据卷的冗余拷贝,所述数据存储库具有至少两个存取级别的存储器来存储所述可识别数据卷,所述存取级别包括对所述所存储的可识别数据卷的不同存取速度,每个所述数据存储库将数据卷从较快的所述存取级别的所述存储器迁移到较慢的所述存取级别的所述存储器,每个所述可识别数据卷与标记直接相关,所述标记在所述数据存储库中提供所述可识别数据卷的所述存取级别指示符,所述再调用请求还请求所述直接关联的标记,所述方法包括以下步骤每个所述数据存储库提供所述库的当前空闲时间状态;响应其中一个所述可识别数据卷的所述再调用请求,从至少其中两个所述多个数据存储库中读取与所述数据卷直接关联的所述标记;从所述读取标记确定所述数据卷的多个所述直接关联的冗余拷贝是否具有相同的所述存取级别以及所述数据卷的所述拷贝不处于更快的所述存取级别,使得所述数据卷的所述拷贝以相同的最快有效所述存取级别存储在所述数据存储库中;一旦所述确定步骤指示,存储在所述数据存储库中的所述数据卷的至少其中两个所述直接关联冗余拷贝处于所述相同的最快有效存取级别,则将存储所述直接关联冗余拷贝的所述数据存储库的所述所提供的空闲时间状态进行比较;指示哪一个所述直接关联数据存储库提供更大的所述所提供的空闲时间状态;及响应所述空闲时间指示步骤,从所述被指示的数据存储库中存取所述数据卷。
2.根据权利要求1的方法,其中所述指示步骤还包括指示所述较大空闲时间状态及其它所述直接关联库的所述空闲时间状态之差是否超过阈值;其中所述存取步骤还包括,一旦所述空闲时间状态差未能超过所述阈值,则从根据正规算法指定的其中一个所述数据存储库中存取所述数据卷。
3.根据权利要求1的方法,其中提供所述当前空闲时间状态的所述库的所述步骤包括将所述所提供的状态附加到所述标记。
4.根据权利要求3的方法,其中提供所述当前空闲时间状态的所述步骤包括确定所述库处于空闲时有效运行时间的百分比。
5.根据权利要求4的方法,其中提供所述当前空闲时间状态的所述步骤包括确定所述库处于空闲时有效运行时间的百分比和所述库处于I/O等待状态的有效运行时间百分比的组合。
6.根据权利要求5的方法,其中提供所述当前空闲时间状态的所述步骤包括确定(100%减去库处于空闲时的有效运行时间的百分比)+((100%减去库处于I/O等待状态的有效运行时间的百分比)/2),总计的百分比越小,则包含越大的所述空闲时间状态。
7.根据权利要求1的方法,其中提供所述当前空闲时间状态的所述步骤还包括确定其中一个所述库是否处于节流状态,节流其操作,其中所述指示步骤还包括确定是否非所有所述库均处于所述节流状态,并指示其中一个所述库处于非所述节流状态。
8.一种响应再调用请求从多个数据存储库中存取可识别数据卷的冗余拷贝的方法,可识别数据卷的所述冗余拷贝具有更新级别;所述数据存储库存储并存取所述可识别数据卷的所述冗余拷贝,具有不同存取级别存储器的所述数据存储库包括具有不同存取速度的高速缓存和后备存储器,所述高速缓存比所述后备存储器快,每个所述数据存储库将数据卷从所述较快的高速缓存迁移到所述后备存储器中;每个所述可识别数据卷与可更新同步标记直接相关联,所述同步标记表示所述直接关联冗余拷贝的相对的所述更新级别并提供表示所述可识别数据卷当前是存储在所述高速缓存中还是存储在所述后备存储器中的存储指示符;所述方法包括以下步骤每个所述数据存储库提供所述库的当前空闲时间状态;响应其中一个所述可识别数据卷的所述再调用请求,从所述多个数据存储库的至少两个中读取与所述数据卷直接关联的所述同步标记;从所读取的同步标记确定所述数据卷的所述直接关联冗余拷贝是否处于相同的最新所述更新级别上,从所述存储指示符确定处于所述相同最新更新级别的所述拷贝是在所述高速存储器中还是在所述后备存储器中;一旦所述确定步骤指示至少其中两个存储在所述数据存储库中的所述数据卷的所述直接关联冗余拷贝是以处于相同的最新更新级别且都处在所述高速缓存中,另外,在所述相同的最新更新级别上的所述拷贝都未在所述高速缓存中而都在所述后备存储器中,则将存储所述直接关联冗余拷贝的所述数据存储库的所述所提供的空闲时间状态进行比较;指示哪一个所述直接关联数据存储库提供更大的所述所提供空闲时间状态;及响应所述空闲时间指示步骤,从其中一个所述被指示的数据存储库中存取所述数据卷。
9.根据权利要求8的方法,其中所述高速缓存还包括多个存取级别的所述存储器,所述级别包括对所述被存储的可识别数据卷的不同存取速度;其中所述确定步骤还通过所述指示符确定在所述高速缓存中具有在相同的最新更新级别的拷贝是否处在所述高速缓存的相同的所述存取级别上,且所述数据卷的拷贝都没处于更快的所述存取级别;其中所述比较步骤响应所述确定步骤指示至少其中两个存储在所述数据存储库的所述高速缓存中的所述直接关联冗余拷贝是在所述相同的最快有效存取级别上。
10.根据权利要求8的方法,其中提供所述当前空闲时间状态的所述库的所述步骤包括将所述被提供的状态附加到所述直接关联同步标记上。
11.一种与至少一个主机相连的数据存储库系统,响应来自所述主机的再调用请求,存取可识别数据卷的冗余拷贝,所述数据存储库系统包括多个数据存储库,每个所述数据存储库具有库控制器和至少两个存取级别来存储和存取所述可识别数据卷,所述存取级别包括对所述被存储可识别数据卷的不同存取速度,所述库控制器还提供与每个所述数据卷直接关联的标记,所述标记提供所述数据存储库中所述可识别数据卷的所述存取级别指示符,每个所述库控制器提供所述直接关联库的当前空闲时间状态;及至少一个导向器与所述至少一个主机相连及与每个所述数据存储库相连;所述导向器接收与所述可识别数据卷有关的所述再调用请求;所述导向器响应其中一个所述可识别数据卷的所述再调用请求,从所述多个数据存储库中的至少两个中读取与所述数据卷直接关联的所述标记;所述导向器从所述读取标记确定所述数据卷的多个所述直接关联冗余拷贝是否在相同的所述存取级别上,且所述数据卷的所述拷贝都不在更快的所述存取级别上,以使所述数据卷的所述拷贝以相同的最快有效所述存取级别存储在所述数据存储库中;一旦所述确定指示至少两个存储在所述数据存储库中的所述数据卷的所述直接关联冗余拷贝在所述相同的最快有效存取级别上,则所述导向器将存储所述直接关联冗余拷贝的所述数据存储库的所述所提供的空闲时间状态进行比较,并表示哪一个所述直接关联数据存储库提供更大的所述所提供的空闲时间状态;所述导向器响应所述空闲时间指示,从所述被表示的数据存储库中存取所述数据卷。
12.根据权利要求11的数据存储库系统,其中所述空闲时间状态的所述导向器指示还包括指示所述较大空闲时间状态和其它所述直接关联库的所述空闲时间状态之差是否超过阈值;其中一旦所述空闲时间状态差未能超过所述阈值,则所述导向器从按照正规算法指定的其中一个所述数据存储库存取所述数据卷。
13.根据权利要求11的数据存储库系统,其中所述数据存储库控制器还将所述提供的状态附加到所述标记上。
14.根据权利要求13的数据存储库系统,其中所述数据存储库控制器提供所述当前空闲时间状态,确定所述库为空闲的有效运行时间的百分比。
15.根据权利要求14的数据存储库系统,其中所述数据存储库控制器提供所述当前空闲时间状态,确定所述库为空闲的有效运行时间的百分比和所述库为I/O等待状态的有效运行时间的百分比的组合。
16.根据权利要求15的数据存储库系统,其中所述数据存储库控制器提供所述当前空闲时间状态,确定(100%减去库处于空闲的有效运行时间的百分比)+((100%减去库处于I/O等待状态的有效运行时间的百分比)/2),总计的百分比越小,则包含越多的空闲时间状态。
17.根据权利要求11的数据存储库系统,其中所述数据存储库控制器提供所述当前空闲时间状态,确定其中一个所述库是否处于节流状态,节流其运行,其中所述指示步骤还包括确定是否非所有所述库处于所述节流状态,并指示所述库的其中之一处于非所述节流状态。
18.根据权利要求11的数据存储库系统,其中所述可识别数据卷的冗余拷贝具有更新级别;其中所述数据存储库还包括高速缓存和后备存储器,后备存储器包括存储和存取所述可识别数据卷的所述至少两个存取级别;其中每个提供标记的所述数据存储库控制器还包括可更新的同步标记,该同步标记指示所述可识别数据卷的所述直接关联冗余拷贝的相对所述更新级别,并提供所述可识别数据卷当前是存储在所述高速缓存中还是存储在所述后备存储器中的存储指示符;其中接收所述再调用请求的所述导向器从所述读取同步标记来确定所述数据卷的所述直接关联冗余拷贝是否在相同的最新所述更新级别上,并通过所述存储指示符确定具有所述相同最新更新级别的所述拷贝是在所述高速缓存中还是在所述后备存储器中;而且,一旦所述标记确定指示至少两个存储在所述数据存储库中的所述数据卷的所述直接关联冗余拷贝是在所述相同的最新更新级别上且在所述高速缓存中,同时所述相同的最新更新级别上的所述拷贝都不在所述高速缓存中,而是全部在所述后备存储器中,则将存储所述直接关联冗余拷贝的所述数据存储库的所述所提供的空闲时间状态进行比较。
19.根据权利要求18的数据存储库系统,其中所述数据存储库控制器还将所述所提供的状态附加到所述标记上。
20.一种可与多个可编程计算机处理器一起使用的计算机程序产品,其中包括计算机可读程序代码,用于响应再调用请求来从多个数据存储库中存取可识别数据卷,所述数据存储库存储并存取所述可识别数据卷的冗余拷贝,所述数据存储库具有用于所述可识别数据卷的至少两个存取级别的存储器,所述存取级别包括对所述存储的可识别数据卷的不同的存取速度,每个所述数据存储库将数据卷从较快的所述存取级别的所述存储器迁移到较慢的所述存取级别的所述存储器,每个所述可识别数据卷直接与标记相关联,所述标记提供所述数据存储库中所述可识别数据卷的所述存取级别指示符,包括计算机可读程序代码,其使所述可编程计算机处理器包括所述数据存储库中的库控制器,以提供所述库的当前空闲时间状态;计算机可读程序代码,其使每个所述多个可编程计算机处理器包括响应其中一个所述可识别数据卷的所述再调用请求的导向器,从所述多个数据存储库至少两个中读取与所述数据卷直接关联的所述标记;计算机可读程序代码,其使每个所述可编程计算机处理器导向器从所述读取的标记来确定是否所述数据卷的多个所述直接关联冗余拷贝是在相同的所述存取级别上且所述数据卷的所述拷贝都不在更快的所述存取级别上,以使所述数据卷的所述拷贝以相同的最快有效的所述存取级别存储在所述数据存储库中;计算机可读程序代码,其使一旦所述确定指示存储在所述数据存储库中的所述数据卷的至少其中两个所述直接关联冗余拷贝是在所述相同的最快有效存取级别上,则所述可编程计算机处理器导向器将存储所述直接关联冗余拷贝的所述数据存储库的所述提供的空闲时间状态进行比较;计算机可读程序代码,其使所述可编程计算机处理器导向器指示哪一个所述直接关联数据存储库提供较大的所述提供的空闲时间状态;及计算机可读程序代码,其使所述可编程计算机处理器导向器响应所述指示的较大空闲时间状态,从所述指示的数据存储库中存取所述数据卷。
21.根据权利要求20的计算机程序产品,其中所述计算机可读程序代码,其使所述可编程计算机处理器导向器指示所述较大空闲时间状态,使所述可编程计算机处理器导向器指示所述较大空闲时间状态和其它直接关联库的所述空闲时间状态之差是否超过阈值;及其中使所述可编程计算机存取所述数据卷的所述计算机可读程序代码还包括,一旦所述空闲时间状态差未能超过所述阈值,则使所述计算机处理器导向器按照正规算法指定的所述数据存储库之一来存取所述数据卷。
22.根据权利要求20的计算机程序产品,其中所述计算机可读程序代码还使所述可编程计算机处理器库控制器将所述所提供的当前空闲时间状态附加到所述标记上。
23.一种可与具有计算机可读程序代码的可编程计算机处理器一起使用的计算机程序产品包括,所述可编程计算机处理器包括用于多个数据存储库之一的库控制器,响应导向器的存取请求来从所述多个数据存储库中存取可识别数据卷;所述数据存储库存储和存取所述可识别数据卷的冗余拷贝,所述数据存储库具有高速缓存和后备存储器,每个所述数据存储库将数据卷从所述高速缓存迁移到所述后备存储器;每个所述可识别数据卷与可更新同步标记直接关联,所述同步标记表示所述直接关联的冗余拷贝的相对所述更新级别,并提供指示所述可识别数据卷当前是存储在所述高速缓存中还是存储在所述后备存储器中的存储指示符;所述导向器根据所述同步标记的确定存取请求,该所述同步标记表示存储在所述数据存储库中的所述数据卷的至少其中两个所述直接关联的冗余拷贝是在相同的最新更新级别且在所述高速缓存中,在所述相同的最新更新级别的所述拷贝都不在所述高速缓存中,均在所述后备存储器中,然后将存储所述直接关联冗余拷贝的所述数据存储库的所述空闲时间状态进行比较,并从提供较大所述所提供的空闲时间状态的所述直接关联数据存储库中存取所述数据卷,包括计算机可读程序代码,其使所述可编程计算机处理器确定所述库的所述当前空闲时间状态;及计算机可读程序代码,其使所述可编程计算机处理器为所述存取确定提供所述库的所述确定的当前空闲时间状态。
24.根据权利要求23的计算机程序产品,其中使所述计算机处理器提供所述当前空闲时间状态的所述计算机可读程序代码,还使所述可编程计算机处理器将所述库的所述提供的当前空闲时间状态的指示符附加到与所述数据卷的所述冗余拷贝直接关联的同步标记上。
25.根据权利要求23的计算机程序产品,其中使所述计算机处理器确定所述当前空闲时间状态的所述计算机可读程序代码,包括使所述可编程计算机处理器确定所述库为空闲的有效运行时间的百分比,百分比越小包括的所述空闲时间状态越大。
26.根据权利要求25的计算机程序产品,其中使所述计算机处理器确定所述当前空闲时间状态的所述计算机可读程序代码,包括使所述可编程计算机处理器确定所述库为空闲的有效运行时间的百分比和所述库为I/O等待状态的有效运行时间的百分比的组合。
27.根据权利要求26的计算机程序产品,其中使所述计算机处理器确定所述当前空闲时间状态的所述计算机可读程序代码,包括使所述可编程计算机处理器确定(100%减去所述库处于空闲的有效运行时间的百分比)+((100%减去所述库处于I/O等待状态的有效运行时间的百分比)/2),总计的百分比越小,包含的空闲时间状态越大。
28.根据权利要求23的计算机程序产品,其中使所述计算机处理器确定所述当前空闲时间状态的所述计算机可读程序代码,包括使所述可编程计算机处理器确定所述库之一是否处于节流状态,节流其运行,并由此所述导向器存取包括确定是否非所有所述库处于所述节流状态,并从非所述节流状态中的所述库之一中存取所述数据卷。
29.一种响应导向器的存取请求从多个所述数据存储库中存取可识别数据卷的自动数据存储库;每个所述可识别数据卷与可更新同步标记直接关联,所述同步标记指示所述直接关联冗余拷贝的相对更新级别;所述导向器根据所述同步标记的确定存取请求,所述同步标记指示存储在所述数据存储库中的所述数据卷的至少其中两个所述直接关联的冗余拷贝在相同的最新更新级别上并在其高速缓存中,在所述相同的最新更新级别上的所述拷贝不在所述高速缓存中,且均在其中的后备存储器中,然后对存储所述直接关联冗余拷贝的所述数据存储库的所述空闲时间状态进行比较,并将所述数据卷的存取请求提供给所述直接关联数据存储库,该所述直接关联数据存储库提供更大的所述提供空闲时间状态,所述库包括以较快存取速度存储所述可识别数据卷的高速缓存;以慢于所述高速缓存的存储速度存储所述可识别数据卷的后备存储器;及库控制器,从所述高速缓存将数据卷迁移到所述后备存储器中;所述库控制器将可更新的同步标记与每个所述数据卷直接关联,所述同步标记指示所述直接关联的冗余拷贝的相对所述更新级别并提供存储指示符,该存储指示符表示所述可识别数据卷当前是存储在所述高速缓存中还是存储在所述后备存储器;所述库控制器确定所述库的当前空闲时间状态;所述库控制器将所述库的所述确定的空闲时间状态提供给所述存取确定,由此所述存取请求指向以相同的最新更新级别和相同的最快所述存取速度存储所述数据卷的所述库之一,且其具有最大的所述当前空闲时间状态;所述库控制器响应所述存取请求存取所述数据卷。
30.根据权利要求29的自动数据存储库,其中所述库控制器提供所述当前空闲时间状态,还包括将所述库的所提供的当前空闲时间状态的指示符附加到与所述数据卷的所述冗余拷贝直接关联的所述同步标记上。
31.根据权利要求29的自动数据存储库,其中所述库控制器确定所述当前空闲时间状态,包括确定所述库为空闲的有效运行时间的百分比,百分比越小,包括的所述空闲时间状态越大。
32.根据权利要求31的自动数据存储库,其中所述库控制器确定所述当前空闲时间状态,包括确定所述库为空闲的有效运行时间的百分比和所述库为I/O等待状态的有效运行时间的百分比的组合。
33.根据权利要求32的自动数据存储库,其中所述库控制器确定所述当前空闲时间状态,包括确定(100%减去所述库处于空闲的有效运行时间的百分比)+((100%减去所述库处于I/O等待状态的有效运行时间的百分比)/2),总计的百分比越小,包含的空闲时间状态越大。
34.根据权利要求29的自动数据存储库,其中所述库控制器确定所述当前空闲时间状态,包括确定所述库之一是否处于节流状态,节流其运行,由此所述存取请求是以确定是否非所有所述库处于所述节流状态为基础的,并将所述存取请求提供给处于非所述节流状态的所述数据库。
全文摘要
数据卷存储在具有不同存取速度级别的高速缓存和后备存储器中。导向器向数据卷发出请求,每个库的库控制器确定其当前空闲时间状态,当其提供与所请求数据卷相关联的同步标记时,将当前空闲时间状态提供给请求导向器。该标记指示库的数据卷的更新级别和存取级别。一旦从标记确定至少其中两个数据卷拷贝处于同一最快有效存取级别上,则导向器将所提供的存储这些拷贝的库的空闲时间状态进行比较,并从具有较大的空闲时间状态的库中存取数据卷。
文档编号G06F11/20GK1299097SQ00134469
公开日2001年6月13日 申请日期2000年12月1日 优先权日1999年12月3日
发明者格雷戈里·T·凯什, 马克·A·里德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1