CN1321365C - 数据存储系统及在其中存储数据的方法 - Google Patents
数据存储系统及在其中存储数据的方法 Download PDFInfo
- Publication number
- CN1321365C CN1321365C CNB2005100684257A CN200510068425A CN1321365C CN 1321365 C CN1321365 C CN 1321365C CN B2005100684257 A CNB2005100684257 A CN B2005100684257A CN 200510068425 A CN200510068425 A CN 200510068425A CN 1321365 C CN1321365 C CN 1321365C
- Authority
- CN
- China
- Prior art keywords
- virtual
- controller
- request
- copying request
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提高数据存储系统拷贝操作效率的方法、设备和计算机程序产品。多个虚拟存储控制器均连到主机设备和两个虚拟存储服务器。服务器都连到相应自动存储库。控制器均有拷贝队列。在指示由服务器之一在相关存储库介质上存储客户数据卷后,发起控制器在队列中排队拷贝卷到其它存储库的请求。如该控制器很短时间内未处理请求,向其它控制器广播请求。请求最好先从该控制器发到服务器之一中向各其它控制器广播请求的路由设备。请求在其它控制器的队列中排队。控制器之一处理请求且卷已拷到第二存储库后,向将请求移出相应队列的其它控制器广播消息。发起控制器收到消息时向主机设备发送指示卷已成功存储拷贝的消息。
Description
技术领域
本发明通常涉及数据存储系统,尤其涉及在虚拟存储控制器中提供更有效的卷拷贝操作。
背景技术
高端存储控制器管理从联网主机到诸如存储库的一个或多个存储单元的输入/输出(I/O)请求。存储控制器包括一个或多个主机总线适配器或接口,用于和一个或多个主机通信,以及用于与连接有存储单元的存储服务器通信的适配器或接口。包括存储系统的信息技术系统需要得到保护以避免站点灾难和停机,其中停机可以计划中的或非计划的。此外,信息技术系统可能需要数据迁移、数据备份或数据复制等功能。灾难或停机恢复、数据迁移、数据备份和数据复制的实现可以包括镜像或拷贝存储系统中的数据。这种数据的镜像或拷贝可以涉及信息技术系统的主机、存储系统和连接联网部件间的交互。
在对等(“PtP”)存储环境中,两个虚拟存储服务器均被连接到若干(诸如4或8个)虚拟存储控制器。主机设备连接到每个控制器并且每个服务器连接到存储库。存储库可以包括许多存储驱动器、用于大量数据盒式磁带的机架、以及一个或多个存取器,用来在机架和存储驱动器之间传送所请求的盒式磁带。整个系统对于主机设备而言就像是单个自动存储库。这里将结合存储在磁带介质上的数据来描述本发明。这样,“虚拟存储控制器”和“虚拟存储服务器”在此也可以分别被称为“虚拟磁带控制器”(“VTC”)和“虚拟磁带服务器”(“VTS”)。然而,本发明不局限于在磁带环境中使用,其也可以用于其它环境中,诸如磁盘存储和光盘存储。
图1是其中可实施本发明的典型数据存储系统100的方框图。若干(通常是4或8个)诸如IBMModel AX的虚拟磁带控制器110A、110B、110C和110D的每个都连接到两个诸如IBM 3494 Model Bxx虚拟磁带服务器的虚拟磁带服务器120A和120B上。第一VTS 120A连接到第一磁带库130A,并且第二VTS 120B连接到第二磁带库130B。磁带库130A和130B可以是IBM Model 3494磁带库。每个VTC 110A-D也连接到主机设备140,诸如IBM系统/390。
所描述的配置允许对等拷贝操作。在图2所示的传统方法中,客户数据150的卷作为写请求的一部分从主机140传送到VTC之一110A(步骤1)。卷150被传送到VTS之一120A以最终在有关磁带库130A中的磁带介质上存储(步骤3)。此外,接收主机写请求的VTC 110A也向第二VTS 120B发出请求(步骤4),以将卷150拷贝到第二磁带库130B中的介质上(步骤5)。当在立即方式下操作时,在向主机140提供写请求已经完成的确认之前(步骤7),第一VTC110A一直等待,直到向其通知卷150已经拷贝到第二磁带库130B中(步骤6)。在延迟模式下,在通知第一VTC 110A卷150已经拷贝到第二磁带库130B中之前,第一VTC 110A可以向主机140通知写请求已经完成。在主机140接收到来自VTC 110A的“完成”消息后,它就可以自由地进行其它操作,包括进一步的I/O操作。
在所述的传统方法中,主机设备140通常选择VTC来基本上独立于VTS 110A-D当前工作负载地处理写入操作。因为AXVTC仅仅可以同时执行三个复制操作,而在其工作队列中可能还有大量的积压操作,诸如16或32个复制操作。因此,在能够通知主机140操作已经完成之前,可能已经花费了大量的时间,因此妨碍了主机140在同一时间段执行其它操作。此外,如果另一VTC仅有很少的作业在其队列中,那么它就会空闲,同时第一VTC却在处理其队列中的作业。
如果特定的VTC-VTS通信连接被“过度用于”(over-utilized)其它主机I/O操作,那么也会引发同样的问题。这些其它操作能够导致队列中的拷贝请求被延迟。
因此,需要一种更有效的方法来分配拷贝请求。
发明内容
本发明提供了一种用于提高数据存储系统中的拷贝操作的效率的方法、设备和计算机程序产品。多个虚拟存储控制器均与一主机设备和两个虚拟存储服务器连通。每个虚拟存储服务器都连接有一相应的自动存储库。每个控制器包括一拷贝队列。在指示通过服务器之一把客户数据的卷存储在相关存储库的介质上后,发起方控制器把用于将该卷拷贝到其它存储库的请求在拷贝队列中排队。如果发起方控制器在一段很短的时间内没有处理该请求,则该发起方控制器向其它控制器广播该拷贝请求。最好是,该拷贝请求首先由发起方控制器发送到服务器之一中的路由设备上,由其向每个其它控制器广播该请求。该拷贝请求在每个其它控制器的拷贝队列中排队。在控制器中的一个处理该请求并且该卷已经拷贝到第二存储库后,进行处理的控制器向其它控制器广播一个消息,所述其它控制器则将所述拷贝请求从各自的拷贝队列中移出。在收到这一消息时,发起方控制器向主机设备发送一个指示该卷已被成功存储和拷贝的消息。
为了减少两个或更多的控制器试图基本同时地处理该拷贝请求的可能性,最好在拷贝请求被放置到每个拷贝队列的时间和其被每个控制器处理的时间之间设置一个延迟。该延迟可以是对每个控制器预定的,或者可以是针对每个拷贝请求随机产生的。
附图说明
图1是其中可实现本发明的数据存储系统的方框图;
图2的方框图示出了在数据存储系统中处理拷贝请求的现有方法;
图3的方框图示出了在数据存储系统中处理拷贝请求的本发明的方法;
图4是本发明方法的流程图;以及
图5是本发明虚拟存储控制器的方框图。
具体实施方式
参考图3的方框图和图4的流程图,将描述本发明的实现。数据存储系统300包括数个(诸如4或8个)虚拟磁带控制器310A、310B、310C和310D。每个控制器310A-D都通过适当的适配器和接口连接到两个虚拟磁带服务器320A和320B上。第一服务器320A连接到第一自动存储库330A,第二服务器320B连接到第二自动存储库330B上。每个控制器310A-D也通过适当的适配器和接口连接到主机设备340上。每个控制器310A-D分别包括拷贝队列312A-D,并且服务器320A和320B分别包括路由设备322A和322B。
在操作中,主机340选择虚拟控制器310中的一个(步骤400)并发出一个用于存储客户数据的卷350的写请求(步骤402)。在所示的实例中,所选择的控制器是第二控制器310B;然而,如前所述,可以选择任一控制器。写请求从选择的虚拟控制器310B发送到两个虚拟服务器之一(在所示例子中,写请求被发送到第一服务器320A)(步骤404),由其继续在相关存储库330A中存储该卷(步骤406)。当主机完成了向控制器310B发出写请求时,主机发出一个“写完成”消息(步骤408)。所选择的控制器310B将该请求排列在其队列312B中,以通过第二服务器320B来拷贝该卷,从而存储在相关存储库330B中(步骤410)。
如果在第二控制器310B的拷贝队列312B中有少量待处理的作业(步骤412),则通过向第二服务器320B发送拷贝请求,该请求可在相对较短的时间内被处理,诸如一秒(步骤414)。然而,在第二控制器的队列中会有更多待处理作业以便立即处理该请求。不同于允许拷贝请求一直等待直到其到达队列的起始处(这将可能花费几分钟或更长时间)的方式,第二控制器310B向其它控制器310A、310C和310D广播该拷贝请求(步骤416)。最好是,首先向在服务器320之一中的路由器322发送该拷贝请求;在所述的实例中,采用在第一服务器320A中的路由设备322A(步骤416)。路由设备322A而后向所有其它控制器310A、310C和310D广播该拷贝请求,并且该拷贝请求分别在每个其它控制器310A、310C和310D的拷贝队列312A、312C和312D中排队(步骤418)。
最终,拷贝作业将到达包括发起方控制器310B的拷贝队列在内的拷贝队列312A、B、C和D中的一个的起始处。在所示的实例中,通过向第二服务器320B发送卷的拷贝350A(步骤420),由第三控制器310C处理该拷贝作业,其中所述第二服务器320B将拷贝350A存储到第二存储库330B的介质上(步骤422)。第三控制器310C而后向其它未进行处理的控制器310A、B和D广播一“完成”消息(步骤424)。该“完成”消息最好首先发送到服务器之一中的路由设备(图3中的第二服务器320B的路由设备322B),由其向其它控制器310A、B和D广播该消息(步骤426)。所有其它控制器310A、B和D将把该拷贝作业从各自的拷贝队列312A、B和D中移出(步骤428)。此外,当发起方控制器310B接收到“完成”消息时(或当发起方控制器310B处理该请求时),发起方控制器310B将“完成”消息发回主机340(步骤430)。
两个或更多的控制器310A-D可以同时处理拷贝请求。因此,最好在拷贝请求可被处理前在每个控制器中设置一个延迟。例如,每个控制器310A-D可以生成一随机时间延迟来减少同时处理的可能性。该延迟可以由传统的随机数生成器生成,可以基于被拷贝的卷的名字并结合特定控制器的单元号而产生,可以从时间单位列表(诸如0、1、2或3秒)中随机选择,或者可以用其它合适方法产生。另一个可减少同时处理的可能性的因素是控制器310A-D获取消息(包括拷贝请求)的速度取决于每个控制器的当前工作负载。控制器不能够总是立即暂停操作来获取消息。
图5是其中可实施本发明的虚拟磁带控制器310的方框图。除了拷贝队列312之外,控制器310还包括处理器314,其被编程来执行存储在存储器316中的计算机可读应用代码318所嵌入的指令。
所述技术可以通过利用标准编程和/或工程技术产生软件、固件、硬件或其结合而被实现为方法、设备或计算机程序产品。在此使用的术语“计算机程序产品”是指在硬件逻辑(举例来说,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等),或者计算机可读介质(例如,磁存储介质,诸如硬盘驱动器、软盘、磁带),光存储器(例如,CD-ROM、光盘等等)、易失性和非易失性存储器器件(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等等)中实施的代码或逻辑。在计算机可读介质中的代码由处理器存取并执行。实施本发明的代码可以进一步通过传送介质或通过网络从文件服务器来存取。在这种情况下,实施了该代码的制造产品可包括传输介质,诸如网络传输线、无线传输介质、空间传播信号、无线电波、红外线信号等等。当然,本领域的普通技术人员会认识到,这一配置将可以作出很多变化而不背离本发明的范围,并且该制造产品可以包括本领域公知的任何信息承载介质。
所示的附图的逻辑示出了按特定顺序发生的特定事件。在可选实施例中,特定操作可以以不同的顺序执行,被改变或去除。此外,在上述逻辑中也可以加入步骤,且仍遵循所述的实施例。此外,在此所述的操作可顺序发生,或者某些操作可并行处理。另外,操作可以由单个的处理单元执行或者由分布式处理单元执行。
通过在此公开的具体实施例,本发明的目的能够完整地得以实现。本领域的普通技术人员将理解,在不背离本发明的本质功能的前提下,通过不同的实施例可以实现本发明的各个方面。所述特定实施例是示例性的,并无意限制由附随的权利要求书所限定的本发明的范围。
Claims (34)
1.一种在数据存储系统中存储数据的方法,所述数据存储系统具有两个虚拟服务器、均与主机设备和每个虚拟服务器相连的多个虚拟控制器,每个虚拟服务器都进一步连接到两个存储库中的一个,该方法包括:
在所述多个虚拟控制器中的第一虚拟控制器中接收来自主机设备的用于存储数据卷的写请求;
将该卷发送到所述两个虚拟服务器中的第一虚拟服务器以便在所述两个存储库中的第一存储库中存储;
将拷贝该卷的请求在第一虚拟控制器的队列中排队;
如果拷贝请求在预定时间内没有被第一虚拟控制器处理,则:
向每个其它虚拟控制器广播该拷贝请求;
将该拷贝请求放置到每个其它虚拟控制器的拷贝队列中;
由所述其它虚拟控制器中的一个处理该拷贝请求;以及
从进行处理的虚拟控制器向每个未进行处理的虚拟控制器广播一个“完成”消息;以及
从第一虚拟控制器向主机设备发送“拷贝完成”消息。
2.根据权利要求1的方法,其中向每个其它虚拟控制器广播所述拷贝请求包括:
从第一虚拟控制器向第一虚拟服务器和所述两个虚拟服务器中的第二虚拟服务器之一中的路由设备发送该拷贝请求;以及
从所述路由设备向每个其它虚拟控制器广播该拷贝请求。
3.根据权利要求1的方法,其中向每个未进行处理的虚拟控制器广播“完成”消息包括:
从进行处理的虚拟控制器向第一虚拟服务器和所述两个虚拟服务器中的第二虚拟服务器之一中的路由设备发送该“完成”消息;以及
从所述路由设备向每个未进行处理的虚拟控制器广播该“完成”消息。
4.根据权利要求1的方法,其中:
向每个其它虚拟控制器广播拷贝请求包括:
从第一虚拟控制器向第一虚拟服务器和所述两个虚拟服务器中的第二虚拟服务器之一中的路由设备发送拷贝请求;以及
从所述路由设备向每个其它虚拟控制器广播该拷贝请求;并且
向每个未进行处理的虚拟控制器广播“完成”消息包括:
从进行处理的虚拟控制器向第一和第二虚拟服务器之一中的路由设备发送该“完成”消息;以及
从所述路由设备向每个未进行处理的虚拟控制器广播该“完成”消息。
5.根据权利要求1的方法,还包括,在拷贝请求的处理之后,把该拷贝请求从每个未进行处理的虚拟控制器的拷贝队列中移出。
6.根据权利要求1的方法,其中还包括在拷贝请求可被处理之前在每个虚拟控制器中设置一个延迟时间,且在相应延迟时间内阻止每个虚拟控制器试图处理该拷贝请求。
7.根据权利要求6的方法,其中每个相应延迟时间包括随机延迟。
8.根据权利要求6的方法,其中每个相应延迟时间是从多个预定时间单位中随机选择的。
9.根据权利要求1的方法,其中预定时间单位为1秒。
10.根据权利要求1的方法,其中虚拟控制器是虚拟磁带控制器并且虚拟服务器是虚拟磁带服务器。
11.一种数据存储系统,包括:
多个虚拟控制器,其每个连接到一主机设备;
第一和第二虚拟服务器,其每个虚拟服务器连接到每一个虚拟控制器;
第一和第二存储库,其每个分别连接到第一和第二虚拟服务器;
用于在所述多个虚拟控制器中的第一虚拟控制器中接收来自主机设备的用于存储数据卷的写请求的装置;
用于将该卷发送到第一虚拟服务器以将其存储到第一存储库中的装置;
用于将拷贝该卷的请求在第一虚拟控制器的队列中排队的装置;
如果该拷贝请求在预定时间内没有被第一虚拟控制器处理,则用于向每个其它虚拟控制器广播该拷贝请求的装置;
用于将拷贝请求在每个其它虚拟控制器的队列中排队的装置;
用于通过所述其它虚拟控制器之一处理该拷贝请求的装置;
用于从进行处理的虚拟控制器向每个未进行处理的虚拟控制器广播一个“完成”消息的装置;以及
用于从第一虚拟控制器向主机设备发送“拷贝完成”消息的装置。
12.根据权利要求11的数据存储系统,其中:
第一和第二虚拟服务器均包括一个路由设备;并且
用于向每个其它虚拟控制器广播该拷贝请求的装置包括:
用于从第一虚拟控制器向第一和第二虚拟服务器之一中的路由设备发送拷贝请求的装置;以及
用于从所述路由设备向每个其它虚拟控制器广播该拷贝请求的装置。
13.根据权利要求11的数据存储系统,其中用于向每个未进行处理的虚拟控制器广播“完成”消息的装置包括:
用于从进行处理的虚拟控制器向第一和第二虚拟服务器之一中的路由设备发送该“完成”消息的装置;以及
用于从所述路由设备向每个未进行处理的虚拟控制器广播该“完成”消息的装置。
14.根据权利要求11的数据存储系统,其中:
第一和第二虚拟服务器均包括一路由设备;
用于向每个其它虚拟控制器广播该拷贝请求的装置包括:
用于从第一虚拟控制器向第一和第二虚拟服务器之一中的路由设备发送拷贝请求的装置;以及
用于从所述路由设备向每个其它虚拟控制器广播该拷贝请求的装置;并且
用于向每个未进行处理虚拟控制器广播“完成”消息的装置包括:
用于从进行处理的虚拟控制器向第一和第二虚拟服务器之一中的路由设备发送该“完成”消息的装置;以及
用于从所述路由设备向每个未进行处理的虚拟控制器广播该“完成”消息的装置。
15.根据权利要求11的数据存储系统,进一步包括用于在拷贝请求的处理之后,将该拷贝请求从每个未进行处理的虚拟控制器的队列中移出的装置。
16.根据权利要求11的数据存储系统,进一步包括在拷贝请求可被处理之前在每个虚拟控制器中设置一个延迟时间,且在用于在相应延迟时间内阻止每个虚拟控制器试图处理该拷贝请求的装置。
17.根据权利要求16的数据存储系统,其中每个相应延迟时间包括随机延迟。
18.根据权利要求16的数据存储系统,其中每个相应延迟时间是从多个预定时间单位中随机选择的。
19.根据权利要求11的数据存储系统,其中预定时间单位为1秒。
20.根据权利要求11的数据存储系统,其中虚拟控制器是虚拟磁带控制器并且虚拟服务器是虚拟磁带服务器。
21.一种虚拟存储控制器,包括
主机适配器,用于与主机设备连接;
第一和第二适配器,用于分别与第一和第二虚拟存储服务器连接,所述第一和第二虚拟存储服务器分别连接到第一和第二存储库,并且进一步连接多个其它虚拟存储控制器中的每一个;
拷贝队列,用于存储从所述主机设备接收的拷贝请求;以及
处理器,被编程为执行用于进行以下操作的指令:
从所述主机设备接收用于存储数据卷的写请求;
将该卷发送到第一虚拟存储服务器以在第一存储库中存储;
在拷贝队列中对拷贝该卷的请求进行排队;
如果虚拟存储控制器未在预定时间内处理该拷贝请求,则向每个其它虚拟存储控制器广播该拷贝请求,由此该拷贝请求在每个其它虚拟存储控制器的拷贝队列中排队;
由所述其它虚拟控制器中的一个处理该拷贝请求;以及
从处理了该拷贝请求的虚拟存储控制器接收一“完成”消息,该“完成”消息被广播到每个未进行处理的虚拟存储控制器;以及
向主机设备发送一“拷贝完成”消息。
22.根据权利要求21的虚拟存储控制器,其中:
用于向每个其它虚拟存储控制器广播该拷贝请求的指令包括用于进行以下操作的指令:
向第一和第二虚拟存储服务器之一中的路由设备发送拷贝请求;以及
从所述路由设备向每个其它虚拟存储控制器广播该拷贝请求;并且
用于从进行处理的虚拟存储控制器接收该“完成”消息的指令包括用于从第一和第二虚拟存储服务器之一中的路由设备接收该“完成”消息的指令。
23.根据权利要求21的虚拟存储控制器,其中所述指令进一步包括用于在拷贝请求的处理之后,将该拷贝请求从每个未进行处理的虚拟存储控制器的拷贝队列中移出的指令。
24.根据权利要求21的虚拟存储控制器,其中预定时间大约为1秒。
25.根据权利要求21的虚拟存储控制器,其中虚拟存储控制器是虚拟磁带控制器并且虚拟存储服务器是虚拟磁带服务器。
26.一种虚拟存储控制器,包括:
主机适配器,用于与一主机设备连接;
第一和第二适配器,用于分别与第一和第二虚拟存储服务器连接,所述第一和第二虚拟存储服务器分别连接到第一和第二存储库,并且进一步连接包括第一虚拟存储控制器的多个其它虚拟存储控制器中的每一个;
拷贝队列,用于存储拷贝请求;以及
处理器,被编程为执行用于进行以下操作的指令:
从所述第一虚拟存储控制器接收用于拷贝卷的请求;
将拷贝该卷的请求在拷贝队列中排队;
如果没有从另一虚拟存储控制器接收一“完成”消息,则:
处理该拷贝请求;并且
向每个其它虚拟存储控制器广播一“完成”消息。
27.根据权利要求26的虚拟存储控制器,其中在所述虚拟存储控制器不采用等待方式处理所述拷贝请求的情况下,用于向每个其它虚拟存储控制器广播所述拷贝请求的指令包括用于进行如下操作的指令:
向第一和第二虚拟存储服务器之一中的路由设备发送拷贝请求;以及
从所述路由设备向每个其它虚拟存储控制器广播该拷贝请求。
28.根据权利要求26的虚拟存储控制器,进一步包括用于在拷贝请求的处理之后,将该拷贝请求从拷贝队列中移出的指令。
29.根据权利要求26的虚拟存储控制器,进一步包括用于减少所述虚拟存储控制器试图与另一虚拟存储控制器基本同时地处理该拷贝请求的可能性的指令。
30.根据权利要求29的虚拟存储控制器,其中用于处理拷贝请求的指令包括用于进行如下操作的指令:
如果没有从另一虚拟存储控制器接收到“完成”消息,则在一延迟时间后处理该拷贝请求;以及
如果在该延迟时间内从另一虚拟存储控制器接收到“完成”消息,则取消该拷贝请求并将该拷贝请求从拷贝队列中移出。
31.根据权利要求30的虚拟存储控制器,其中所述延迟时间是一随机时间。
32.根据权利要求30的虚拟存储控制器,其中所述延迟时间是从多个预定时间单位中随机选择的。
33.根据权利要求30的虚拟存储控制器,其中所述延迟时间包括根据虚拟存储控制器的单元号并结合作为拷贝请求的对象的卷的名字而产生的数。
34.根据权利要求26的虚拟存储控制器,其中虚拟存储控制器是虚拟磁带控制器并且虚拟存储服务器是虚拟磁带服务器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/839,516 | 2004-05-05 | ||
US10/839,516 US7636916B2 (en) | 2004-05-05 | 2004-05-05 | Self-optimizing workload distribution among virtual storage controllers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1694057A CN1694057A (zh) | 2005-11-09 |
CN1321365C true CN1321365C (zh) | 2007-06-13 |
Family
ID=35240630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100684257A Expired - Fee Related CN1321365C (zh) | 2004-05-05 | 2005-04-29 | 数据存储系统及在其中存储数据的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7636916B2 (zh) |
JP (1) | JP4617194B2 (zh) |
CN (1) | CN1321365C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853759B2 (en) * | 2007-04-23 | 2010-12-14 | Microsoft Corporation | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices |
US7689759B2 (en) * | 2007-08-29 | 2010-03-30 | International Business Machines Corporation | Method and apparatus for providing continuous access to shared tape drives from multiple virtual tape servers within a data storage system |
JP4674242B2 (ja) * | 2008-02-05 | 2011-04-20 | 富士通株式会社 | 仮想化スイッチ、コンピュータシステムおよびデータコピー方法 |
EP2466446B1 (en) | 2009-10-07 | 2014-02-26 | Intellectual Business Machines Corporation | Storage system, method, and program, comprising a plurality of storage devices |
US9047126B2 (en) * | 2011-04-06 | 2015-06-02 | International Business Machines Corporation | Continuous availability between sites at unlimited distances |
US9058304B2 (en) * | 2011-06-30 | 2015-06-16 | International Business Machines Corporation | Continuous workload availability between sites at unlimited distances |
US9641449B2 (en) | 2012-05-22 | 2017-05-02 | International Business Machines Corporation | Variable configurations for workload distribution across multiple sites |
US8595385B1 (en) * | 2013-05-28 | 2013-11-26 | DSSD, Inc. | Method and system for submission queue acceleration |
JP2016018384A (ja) * | 2014-07-08 | 2016-02-01 | 富士通株式会社 | ストレージ制御装置、ストレージシステム、及びプログラム |
CN107111521B (zh) | 2015-01-13 | 2020-11-06 | 华为技术有限公司 | 用于动态编配的系统和方法 |
US10996967B1 (en) * | 2016-06-24 | 2021-05-04 | EMC IP Holding Company LLC | Presenting virtual disks as dual ported drives to a virtual storage system |
CN113778914B (zh) * | 2020-06-09 | 2024-06-18 | 华为技术有限公司 | 用于执行数据处理的装置、方法、和计算设备 |
CN113176951B (zh) * | 2021-04-20 | 2024-10-18 | 京东科技控股股份有限公司 | 消息复制方法、装置、设备及计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1155340A (zh) * | 1994-07-25 | 1997-07-23 | 英国电讯有限公司 | 具有客户机-服务器层次结构的计算机系统 |
CN1299097A (zh) * | 1999-12-03 | 2001-06-13 | 国际商业机器公司 | 对数据存储库中的具有冗余拷贝的数据卷的平衡存取 |
WO2002103510A2 (en) * | 2001-06-19 | 2002-12-27 | Storage Technology Corporation | Apparatus and method for dynamically changeable virtual mapping scheme |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598549A (en) * | 1993-06-11 | 1997-01-28 | At&T Global Information Solutions Company | Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver |
US5440686A (en) * | 1993-12-22 | 1995-08-08 | International Business Machines Corporation | Selecting a data unit candidate to be demoted to a backing store from a front store based upon thresholds individual to each of the data candidates |
JP2000512416A (ja) * | 1997-03-12 | 2000-09-19 | ストーリッジ テクノロジー コーポレーション | ネットワーク付属仮想テープデータ記憶サブシステム |
US6003044A (en) * | 1997-10-31 | 1999-12-14 | Oracle Corporation | Method and apparatus for efficiently backing up files using multiple computer systems |
US6393537B1 (en) * | 1998-01-06 | 2002-05-21 | International Business Machines Corporation | Host storage management control of outboard data movement |
US6477591B1 (en) * | 1998-03-03 | 2002-11-05 | Highground Systems, Inc. | Method and apparatus for storing and copying data via a first path and a second path wherein second path bypasses mirror driver |
EP0969367A3 (en) * | 1998-05-28 | 2001-07-11 | Compaq Computer Corporation | System and method used in a computer system for distributing tasks between multiprocessing I/O subsystems |
US6249849B1 (en) * | 1999-06-16 | 2001-06-19 | International Business Machines Corporation | “Fail-Safe” updating of redundant data in multiple data storage libraries |
US6526418B1 (en) * | 1999-12-16 | 2003-02-25 | Livevault Corporation | Systems and methods for backing up data files |
US6535967B1 (en) * | 2000-01-19 | 2003-03-18 | Storage Technology Corporation | Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume |
US6477628B1 (en) * | 2000-01-28 | 2002-11-05 | International Business Machines Corporation | Backup copy achieving improved efficiency by waiting until rewind/unload command for bulk data copy |
US6507883B1 (en) * | 2000-10-23 | 2003-01-14 | International Business Machines Corporation | Recalling logical volumes to cache from physical media volumes for redundant storage in automated data storage libraries |
US6510500B2 (en) * | 2001-03-09 | 2003-01-21 | International Business Machines Corporation | System and method for minimizing message transactions for fault-tolerant snapshots in a dual-controller environment |
US6745212B2 (en) * | 2001-06-27 | 2004-06-01 | International Business Machines Corporation | Preferential caching of uncopied logical volumes in an IBM peer-to-peer virtual tape server |
US6779058B2 (en) * | 2001-07-13 | 2004-08-17 | International Business Machines Corporation | Method, system, and program for transferring data between storage devices |
US7672327B2 (en) * | 2001-10-29 | 2010-03-02 | Nokia Siemens Networks Oy | Method for providing multicast and/or broadcast services to user terminals |
JP2003162377A (ja) * | 2001-11-28 | 2003-06-06 | Hitachi Ltd | ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法 |
JP2003242097A (ja) * | 2002-02-15 | 2003-08-29 | Hitachi Ltd | クロスコール機能を備えるディスク制御装置 |
JP2003316715A (ja) * | 2002-04-24 | 2003-11-07 | Hitachi Ltd | 複数ポートを有するコンピュータの制御方法、複数ポートを有するコンピュータ、コンピュータシステムの制御方法 |
US7401124B2 (en) * | 2003-09-05 | 2008-07-15 | International Business Machines Corporation | Apparatus and method to write information to two geographically separated virtual tape servers |
-
2004
- 2004-05-05 US US10/839,516 patent/US7636916B2/en not_active Expired - Fee Related
-
2005
- 2005-04-27 JP JP2005129031A patent/JP4617194B2/ja not_active Expired - Fee Related
- 2005-04-29 CN CNB2005100684257A patent/CN1321365C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1155340A (zh) * | 1994-07-25 | 1997-07-23 | 英国电讯有限公司 | 具有客户机-服务器层次结构的计算机系统 |
CN1299097A (zh) * | 1999-12-03 | 2001-06-13 | 国际商业机器公司 | 对数据存储库中的具有冗余拷贝的数据卷的平衡存取 |
WO2002103510A2 (en) * | 2001-06-19 | 2002-12-27 | Storage Technology Corporation | Apparatus and method for dynamically changeable virtual mapping scheme |
Also Published As
Publication number | Publication date |
---|---|
CN1694057A (zh) | 2005-11-09 |
JP4617194B2 (ja) | 2011-01-19 |
US20050251547A1 (en) | 2005-11-10 |
US7636916B2 (en) | 2009-12-22 |
JP2005322230A (ja) | 2005-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1321365C (zh) | 数据存储系统及在其中存储数据的方法 | |
CN100385406C (zh) | 执行与多个代理节点关联的备份节点的计划备份 | |
CN100378679C (zh) | 用于存储器访问请求的重定向的方法和系统 | |
US9330048B1 (en) | Balancing response times for synchronous I/O requests having different priorities | |
JP3428842B2 (ja) | 情報処理システムおよびデータ多重化システム | |
JP2002259063A (ja) | バックアップ処理可能な記憶システム | |
US7065623B2 (en) | Bandwidth utilization in a PPRC system | |
CN101755257B (zh) | 管理在不同的网络上将写入从首要存储器拷贝到次要存储器 | |
US20090043979A1 (en) | Managing write requests to data sets in a primary volume subject to being copied to a secondary volume | |
JP4309354B2 (ja) | ストレージネットワークにおける書き込みオペレーション制御 | |
CN101310250B (zh) | 选择包括首要和次级群集上的端口的路径的系统和方法 | |
US20040205312A1 (en) | Method, system, and program for maintaining a copy relationship between primary volumes and corresponding secondary volumes | |
US7890714B1 (en) | Redirection of an ongoing backup | |
JP2005322230A5 (zh) | ||
US20100332776A1 (en) | Computer system remote copying system and computer system | |
US20070130432A1 (en) | Storage system for copying data between storage devices, and method of copying data | |
JP2008112447A (ja) | ホストの入力/出力(i/o)活動を変更し、i/o活動が向けられるストレージ・ドライブが要求された情報にアクセスすることを可能にする方法、システム及び製品 | |
CN109783204A (zh) | 一种分布式事务处理方法、装置及存储介质 | |
US6721612B2 (en) | Method and system for installing program in parallel computer system | |
WO2005010767A1 (ja) | データ格納システム | |
US20080059731A1 (en) | Backup of hierarchically structured storage pools | |
CN103119567A (zh) | 用于管理虚拟带库域的系统和方法 | |
US20070136484A1 (en) | Transmit request management in a distributed shared storage system | |
US8452936B2 (en) | System and method for managing resets in a system using shared storage | |
CN102576294A (zh) | 含有多个存储装置的存储系统、方法及程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070613 Termination date: 20150429 |
|
EXPY | Termination of patent right or utility model |