远程复制方法及存储系统的制作方法

文档序号:6637171阅读:287来源:国知局
专利名称:远程复制方法及存储系统的制作方法
技术领域
本发明总体上涉及远程复制方法及存储系统,更具体地涉及用于进行具有顺序保证的异步复制的远程复制方法,以及采用这种远程复制方法的存储系统。
背景技术
通常,在存储系统中设置高速缓冲存储器,实现高速缓冲存储器的方法大致分为两种方法。根据一种方法,所有控制器模块共享高速缓冲存储器。另一方面,根据另一种方法,高速缓冲存储器被分配给各个控制器模块,并为各个控制器模块所保留。本发明涉及采用后一种结构的存储系统。
在分布式高速缓冲存储器类型的存储系统中,可以对各个控制器模块分布式地执行对于逻辑卷的数据的读写处理,由此可以分散硬件的负荷,并且可以提高可扩展性。然而,在需要存储器模块之间进行连接的处理中,控制器模块必须互相通信,结果,控制变得复杂。
1.1远程复制的顺序保证在诸如数据库系统的存储系统中,即使对于诸如盘驱动器的记录介质的写入由于服务器的操作系统(OS)的崩溃而突然停止,也能通过例如自控制对于盘的写入顺序来提供恢复功能以恢复数据库内的文件。在利用远程复制的数据库的镜像(mirroring)中,即使复制操作由于某种原因突然停止,复制目的地处的盘的状态变为与数据库突然停止写入时的状态相同,由此,利用存储系统的恢复功能,可以在复制目的地处恢复数据库的文件。
在通常的存储系统中,数据库的文件在很多情况下记录在多个盘中,以提高存储系统的性能和可靠性,在数据库镜像的情况下也一样。因此,在存储系统中的存储复制功能中,要求按照与写入顺序相同的顺序来执行所有数据库的文件的复制。
在同步复制模式的情况下,复制与写入同步进行,并且上述要求得以满足。然而,在远程位置之间进行镜像的情况下,采用同步复制模式导致的问题是,同步复制模式受传输路径引起的延迟的影响,因而必需采用较少受到传输路径引起的延迟的影响的异步复制模式。
但是在常规存储系统的异步复制模式中,仅对于单个复制会话提供顺序保证。为此,为了进行数据的镜像,存在以下问题,需要传送的数据库的所有文件必须强制性地存储在单个盘中。因此,需要通过在多个盘(复制会话)之间提供顺序保证来使得能够进行复制。
1.2复制源的顺序写入性能另一方面,在常规存储系统中,以执行从主机单元的写入所使用的单位为单位来执行到复制目的地的数据传输。但是由于从主机单元的写入操作和复制操作必须排他地进行,因此产生了与同步模式的情况下类似的状况。图1是用于总体说明这种情况下的存储系统的写入操作和复制操作的图。在图1中,外侧的粗实线表示由高速缓冲存储器管理的最小单位(例如,64KB)的存储器,而内侧的细实线表示以64KB或通过分割64KB的区域得到的更小尺寸进行写入访问。垂直箭头代表写入操作,而水平箭头代表复制操作。
如图1中所示,在顺序写入性能中没有引入问题的情况下,可以立刻完成写入处理[(1),(2)]的写入(1)和响应(2)。复制处理[(3),(5)]的复制(3)在写入处理[(1),(2)]完成之后进行。如果在复制处理[(3),(5)]的复制(3)之后立刻发生写入处理[(4),(6)]的写入(4),则由于在执行与前一个写入处理[(1),(2)]相关的复制处理[(3),(5)],因此该写入处理[(4),(6)]的响应(6)就处于排他等待。从而,写入处理[(4),(6)]的响应(6)处于排他等待直到接收到复制处理[(3),(5)]的响应(5)。结果,在写入处理期间加入了复制处理的时间,并且在最差的情况下的顺序写入性能变得与同步复制一样。
如果只有顺序写入性能是个问题,则可以考虑采取措施故意延迟复制处理,例如在写入处理[(4),(6)]之后执行复制处理[(3),(5)]的复制(3)。但是,如果试图解决访问区域与写入处理[(1),(2)]的写入(1)访问的区域相同的写入处理,则除非将写入数据保存到另一位置,否则基本上不可能消除对排他控制的需要。
1.3传送效率在常规的存储系统中,以执行写入处理所使用的单位为单位执行复制处理。因此,例如在以8KB为单位进行写入处理的情况下,以8KB为单位执行复制处理。当传输路径的等待时间少时,这种复制处理不产生问题,但是当使用具有大约300毫秒单程延迟(例如为日本和英国之间的情况)的传输路径时,传送8KB数据需要大约1.2秒。以吞吐量而言,这相当于大约6.5KB/秒。因此,在以执行写入处理所使用的单位为单位执行复制处理的存储系统中,如果要实现100MB/秒的传送量,必需管理大约16,000个复制处理,由此从管理存储系统内的资源的角度看这将导致崩溃。这在目前的存储系统的使用环境中尚不是问题,但预计将来将变得难于支持两个远距离的位置之间的联系。
申请人注意到日本特开2003-167684号公报。
如上所述,存在这样的需求,即在常规存储系统中提供顺序保证,使得当顺序得到保证时可以在多个盘之间(复制会话之间)执行复制。
然而,如果试图在分布式高速缓冲存储器类型的存储系统中满足这样的需求,则为了提供顺序保证,需要在用于各个写入处理的控制模块之间进行通信。结果,存在管理开支变大的问题。此外,因为该顺序是在特定的控制器模块中管理的,所以存在负荷集中在该特定控制器模块中的问题。
此外,在常规的存储系统中,由于到复制目的地的数据传送是以执行从主机单元的写入所使用的单位为单位来执行的,因此在写入处理期间加入了复制处理的时间。结果,存在如下问题(即,与复制源的顺序写入性能相关的问题)在最差的情况下复制源的顺序写入性能变成与同步复制一样。
此外,在其中以执行写入处理所使用的单位为单位来执行复制处理的存储系统中,如果要实现100MB/秒的传送吞吐量,则必须管理大约16,000个复制处理,由此,从管理存储系统内的资源的角度来看引起了崩溃。于是,存在如下问题(即,与传送效率相关的问题)将来将难于支持两个远距离的位置之间的联系。

发明内容
因此,本发明的总体目的是提供一种解决了上述问题的、新的并且有用的远程复制方法以及存储系统。
本发明的另一个更具体的目的是提供一种远程复制方法与存储系统,其可以实现对于顺序保证(即,在执行被保证顺序的远程复制的同时保持分布式高速缓冲存储器类型的存储系统的可扩展性的优势)的需求和/或消除与复制源的顺序写入性能相关的问题以及与传送效率相关的问题中的至少一个。
本发明的又一个目的是提供一种经由网络将第一存储装置内的数据复制到第二存储装置的远程复制方法,该方法包括以下步骤(a)在第一存储装置内,将复制源的至少一个第一记录介质的数据存储到至少一个第一记录专用缓冲区;(b)在第一存储装置内,当所述至少一个第一记录专用缓冲区变满或者从将数据存储到所述至少一个第一记录专用缓冲区起经过了预定时间时,将所述至少一个第一记录专用缓冲区内的数据以整体的方式发送到第二存储装置;(c)在第二存储装置内,将所接收的数据存储到至少一个第二记录专用缓冲区;以及(d)在第二存储装置内,当数据接收完成时,将所述至少一个第二记录专用缓冲区内的数据以整体的方式展开(develop)到复制目的地的至少一个第二记录介质。根据本发明的远程复制方法,可以实现对于顺序保证的需求(即,在执行被保证顺序的远程复制的同时保持分布式高速缓冲存储器类型的存储系统的可扩展性的优势)和/或消除与复制源的顺序写入性能相关的问题以及与传送效率相关的问题中的至少一个。
本发明的又一个目的是提供一种存储系统,该存储系统包括第一存储装置,其包括至少一个控制模块、至少一个第一记录介质和至少一个第一记录专用缓冲区;以及第二存储装置,其可以经由网络与第一存储装置连接,并且包括至少一个第二控制模块、至少一个第二记录介质和至少一个第二记录专用缓冲区,其中第一存储装置内的数据经由网络被复制到第二存储装置,第一控制模块将复制源的所述至少一个第一记录介质的数据存储到所述至少一个第一记录专用缓冲区,并且当所述至少一个第一记录专用缓冲区变满或者从将数据存储到至少一个第一记录专用缓冲区起经过了预定的时间时,将所述至少一个第一记录专用缓冲区内的数据以整体的方式发送到第二存储装置,并且第二控制模块将接收的数据存储到至少一个第二记录专用缓冲区,以及当数据接收完成时,将所述至少一个第二记录专用缓冲区内的数据以整体的方式展开到复制目的地的至少一个第二记录介质。根据本发明的存储系统,可以实现对于顺序保证的需求(即,在执行被保证顺序的远程复制的同时保持分布式高速缓冲存储器类型的存储系统的可扩展性的优势)和/或消除与复制源的顺序写入性能相关的问题和与传送效率相关的问题中的至少一个。
本发明的又一个目的是提供一种经由网络将第一存储装置内的数据复制到第二存储装置的远程复制方法,该方法包括以下步骤(a)以第一缓冲区组为单位从第一存储装置发送数据,每个第一缓冲区组由第一存储装置内的多个第一记录专用缓冲区形成;(b)由第二存储装置以第二缓冲区组(每个第二缓冲区组由第二存储装置内的多个第二记录专用缓冲区形成)为单位接收数据,以保持对于被复制数据的顺序保证。根据本发明的远程复制方法,可以实现对于顺序保证的需求(即,在执行被保证顺序的远程复制的同时保持分布式高速缓冲存储器类型的存储系统的可扩展性的优势)和/或消除与复制源的顺序写入性能相关的问题和与传送效率相关的问题中的至少一个。
本发明的又一个目的是提供一种存储系统,该存储系统包括第一存储装置,其包括至少一个控制模块、至少一个第一记录介质和至少一个第一记录专用缓冲区;以及第二存储装置,其可以经由网络与第一存储装置连接,并且包括至少一个第二控制模块、至少一个第二记录介质和至少一个第二记录专用缓冲区,其中第一存储装置内的数据经由网络被复制到第二存储装置,第一控制模块以第一缓冲区组(每个第一缓冲区组由第一存储装置内的多个第一记录专用缓冲区形成)为单位从第一存储装置发送数据;并且第二控制模块以第二缓冲区组(每个第二缓冲区组由第二存储装置内的多个第二记录专用缓冲区形成)为单位通过第二存储装置接收数据,以保持对于被复制数据的顺序保证。根据本发明的存储系统,可以实现对于顺序保证的需求(即,在执行被保证顺序的远程复制的同时保持分布式高速缓冲存储器类型的存储系统的可扩展性的优势)和/或消除与复制源的顺序写入性能相关的问题和与发送效率相关的问题中的至少一个。
当结合附图阅读下面的详细说明,本发明的其它目的和进一步的特征将明了。


图1是用于总体说明数据库系统的写入处理和复制处理的图。
图2是用于说明集成发送系统的图;图3是用于说明缓冲区组控制的图;图4是用于说明缓冲区组的状态的表;图5是用于说明缓冲区组交叠处理的图;图6是用于说明远程位置调整顺序的图;图7是用于说明记录专用缓冲区的图;图8是用于说明记录专用缓冲区的图;图9是用于说明写入处理、存储处理和提取处理的图;图10是用于说明写入处理、存储处理和提取处理的图;图11是用于说明缓冲区切换处理的图;图12是示出根据本发明的存储系统的实施例的重要部分的系统框图;图13是示出远程复制时的数据流的系统框图;图14是用于说明远程复制的过程的流程图;图15是用于说明远程复制的过程的流程图;
图16是用于说明缓冲区切换处理的图;图17是用于说明缓冲区切换处理的过程的图;图18是用于说明缓冲区组控制的图;图19是用于说明缓冲区组控制的过程的图;图20是用于说明传送多路性的优化的图。
具体实施例方式
在本发明中,为了在保持分布式高速缓冲存储器类型的存储系统的可扩展性的优势的同时保证远程复制的顺序,通过以下方式执行远程复制。
首先,在各个控制器模块中设置用于存储待复制数据的缓冲区。所写入的数据不是直接存储在缓冲区中,而是只保存表明数据所写入的区域的信息。写入完成之后,在任意的定时从诸如盘的记录介质中读取数据并将其存储到缓冲区中。当一个控制器模块中的缓冲区变满,或者从第一次存储起经过了预定的时间时,与所有控制器模块相关的存储同时暂时停止,以确定待复制的一组数据。当该组数据确定后,对全部控制器模块中的缓冲区进行切换,以继续进行对于新的缓冲区的存储处理。将所确定的一组数据传送到复制目的地。在复制目的地处,在完全接收了复制源处生成的前一组数据之后,展开本组数据。采取措施以使得除了致命异常(如复制处理无法继续的情形)的情况外,该处理不被打断。通过执行该处理,可以在同时停止了对所有控制器模块的存储的时候实现数据的顺序保证。此外,可以实现具有保证顺序的远程复制,而无需对于每一个写入都在控制模块之间进行通信。
接下来,将参考图2和随后的图,描述根据本发明的远程复制方法和存储系统的实施例。
首先,将描述根据本发明的远程复制方法和存储系统的实施例中采用的(2.1)集成的发送系统,(2.2)缓冲区组控制,(2.3)缓冲区组交叠处理,(2.4)与远程地点配合的顺序,(2.5)记录专用缓冲区,(2.6)写入、存储和提取处理,以及(2.7)缓冲区切换。
2.1集成的发送系统图2是用于说明集成的发送系统的图。在本发明的存储系统10中,在保证数据连贯性的连贯模式下,当将复制数据从图2中所示的复制源处的第一存储装置1-1传送到复制目的地的第二存储装置1-2时,使用记录专用缓冲区(即,专门用于记录的缓冲区)11。换言之,复制数据不是接连地从复制源传送到复制目的地,而是将复制数据临时从复制源的诸如盘的记录介质12存储到记录专用缓冲区11中。
在复制源处,当复制源的记录专用缓冲区11变满时或者从复制数据的存储起经过了预定时间以后,复制数据被整合(或集合)并被传送到复制目的地的记录专用缓冲区11。在复制目的地,所接收的复制数据并不是立即反映到存储介质12的区域,而是在复制目的地的记录专用缓冲区11处等待复制数据的接收完成。因此,在复制目的地,在全部复制数据都存储在复制目的地的记录专用缓冲区11中之后,在复制目的地处的记录介质12中展开该复制数据。当在复制目的地处完成了复制数据的展开后,通知复制源展开完成,并释放复制目的地处的复制数据。为了能够不中断地执行一系列处理,提供多个记录专用缓冲区11,并执行流水线操作(pipeline operation)。
如果对于记录专用缓冲区11所写入的复制数据被立即实际存储到记录专用缓冲区11中,则由于存储处理和下一个写入处理之间的互相干扰,写入处理的性能将变差。因此,在本发明中,将写入处理和存储处理完全分开,以使得不产生存储处理和下一个写入处理之间的干扰。
在写入处理中,只将与要存储的复制数据相关的信息存储在记录专用缓冲区11内的缓冲区索引表中,而不执行复制处理。在存储处理中,参考该缓冲区索引表,并且将复制数据实际存储在记录专用缓冲区11中。
2.2缓冲区组控制图3是用于说明缓冲区组控制的图。
可以将存储装置1-1和1-2内提供的一部分高速缓冲存储器用作图3中所示的记录专用缓冲区11。后面将说明,在可应用本发明的存储装置1-1和1-2中设置多个控制模块,并且具有使高速缓冲存储器位于各个控制模块内的结构。如果记录专用缓冲区11仅由一个控制模块获得,则可用于这一个控制模块的正常输入和输出(I/O)处理的高速缓冲存储器的存储容量将变小。因此,为了有效利用硬件,分布式地设置记录专用缓冲区11,即,在各个控制模块中设置记录专用缓冲区11。
为了通过使用分布式记录专用缓冲区11进行顺序保证来执行根据集成发送系统的复制,采用以下机制,将对于各个控制模块CM1、CM2、……分配的单个记录专用缓冲区作为缓冲区组B1、B2、……成批地进行控制。通过以缓冲区组B1、B2、……为单位成批地执行将复制数据存储到记录专用缓冲区11,以及从记录专用缓冲区11展开该复制数据的处理,保证整个存储系统的顺序。
图4是用于说明缓冲区组B1、B2、……的状态的表。如图4中所示,缓冲区组B1、B2、……具有图4的表中所示的状态。
首先在复制源处定义各个缓冲区组B1、B2、……,并且各个缓冲区组B1、B2、……呈现为组存储状态。各个缓冲区组B1、B2、……具有在各个控制模块CM1、CM2、……中的处于存储状态的记录专用缓冲区11。当控制模块CM1、CM2、……之一中的记录专用缓冲区11变满,或者从复制数据的存储起经过了预定的时间时,通过缓冲区组控制创建新的缓冲区组,并且缓冲区组被切换到处于组存储状态的缓冲区组。由于所述缓冲区组的切换与顺序保证密切相关,因此当执行缓冲区切换时需要停止输入和输出处理。当在缓冲区切换时尚未存储的复制数据全部变为已存储时,处于组提取状态的缓冲区组转变到组传送状态。处于组传送状态的缓冲区组指示从缓冲区组的各个记录专用缓冲区11传送复制数据,并且还将复制目的地通知给缓冲区组。
在复制目的地,当接收到缓冲区组通知时缓冲区组转变到组接收状态。当在各个控制模块CM1、CM2、……的记录专用缓冲区中完成了复制数据的接收时,缓冲区组转变到组接收完成状态。在组接收完成状态,指示对于各个记录专用缓冲区11的复制数据的展开。当完成了来自所有记录专用缓冲区11的复制数据的展开时,缓冲区组转变到组镜像完成状态。当复制源处的缓冲区组呈现组完成状态时,所有缓冲区组的处理完成。
2.3缓冲区组交叠处理图5是用于说明缓冲区组交叠处理的图。在图5中,存储处理表示将复制数据存储到复制源处的记录专用缓冲区11的处理。提取处理表示提取复制源处的记录专用缓冲区11中存储的复制数据的处理。发送与接收处理表示发送从复制源处的记录专用缓冲区11中提取的复制数据的处理,以及通过复制目的地处的记录专用缓冲区11接收从复制源发送的复制数据的处理。展开处理表示在记录目的地处将通过复制目的地的记录专用缓冲区11所接收的复制数据展开到记录介质12中的处理。
对于缓冲区组B1、B2、……的处理可以交叠以有效地传送复制数据。具体地,在经由网络进行的发送和接收的情况下,如图5中的虚线I所示,可以进行交叠处理。如图5中的点划线II所示,在存储处理和提取处理的情况下,当切换缓冲区组时需要两个缓冲区组互相协作。此外,如图5中的双点划线III所示,在展开处理的情况下,为了获得顺序保证,不能进行交叠。
对于两个缓冲区组可以同时进行发送处理。因此,通过无中断地执行发送处理,同时保持较早的缓冲区组的复制数据被更快发送的状态,可以有效地利用网络频段。
2.4与远程地点配合的顺序图6是用于说明与远程地点配合的顺序的图。
在复制源和复制目的地之间的路径延时很长的情况下,如果在复制源和复制目的地之间出现多次握手,则上下行通信耗费时间,这会导致对于存储系统性能的不利影响。因此,对顺序进行设计以使等待次数最少。
如图6中所示,在步骤ST1中,在开通路径的时候,首先将要求所需的记录专用缓冲区11的数量以及希望的缓冲区大小的缓冲区请求从复制源发送到复制目的地。在步骤ST2中,在复制目的地,准备缓冲区请求所要求数量的记录专用缓冲区11,并将各个准备的记录专用缓冲区的缓冲区ID和缓冲区大小通过空缓冲区通知给复制源。由此,基于空缓冲区通知,将记录专用缓冲区11分配给复制源。在步骤ST2中,在复制目的地处,如果无法准备缓冲区请求所要求数量的记录专用缓冲区11,则代替空缓冲区通知,将错误通知发送给复制源。至于缓冲区的大小,通过空缓冲区通知可以准备的记录专用缓冲区11的数量即可。在复制目的地可以准备缓冲区请求所要求数量的记录专用缓冲区11的情况下,在步骤ST3中,随后在任意定时从复制源发送复制数据,并且在步骤ST4-1、ST4-2、……中,当记录专用缓冲区11已准备好并且可接收时,复制目的地通知复制源记录专用缓冲区11已准备好并且可接收。记录专用缓冲区11可通过缓冲区ID而被其它装置识别。当由于控制模块的劣化等使得记录专用模块变得不可用时,可以重构记录专用缓冲区11并通知复制源。这样,复制源无需保存以前被通知的记录专用缓冲区11的信息。
在图6中示出的情况下,复制源不等待来自复制目的地的响应即执行最多8次数据发送处理DPT1、DPT2、……(直到数据发送处理DPT8)。复制目的地进行等待,直到对于各个数据发送处理DPT1、DPT2、……,全部复制数据都存储在记录专用缓冲区11中,并且其后执行相应的数据的展开处理DDP1、DDP2、……,并在步骤ST4-1、ST4-2、……对于复制源进行空缓冲区通知。
2.5记录专用缓冲区图7和8是用于说明记录专用缓冲区11的图。
如图7中所示,记录专用缓冲区11由存储复制数据的缓冲区主体111,以及存储对于各个复制数据的复制源和复制目的地的信息的缓冲区表112构成。缓冲区主体111例如可以以固定单位8KB存储复制数据。缓冲区索引表112存储逻辑地址信息和复制控制信息。逻辑地址信息包括对于8KB复制数据的复制源和复制目的地的逻辑单元(LU)和/或逻辑块地址(LBA)、大小、复制会话数量等。
当从记录专用缓冲区11进行发送时,同时发送缓冲区主体111和缓冲区索引表112的信息,从而可在复制目的地处展开复制数据。
如图8所示,缓冲区索引表112并不单独保存相同区域的逻辑地址信息。此外,当在缓冲区索引表112中存储逻辑地址信息时,利用哈希表等进行判断以确定逻辑地址是否已经存储,如果尚未存储则在新的区域中存储逻辑地址信息。在逻辑地址信息已经存储的情况下,如MS1和MS2所示,再次在已存储的区域中存储逻辑地址信息。在将要把逻辑地址信息存储在与已存储了逻辑地址的区域交叠的区域中的情况下,如MS3所示,以8KB为单位对逻辑地址进行分段,并且分别存储这些段。因此,当在复制目的地处展开复制数据时可以不必知道顺序即可展开复制数据。
2.6写入/存储和提取处理图9和图10是用于说明写入处理、存储处理和提取处理的图。
如图9中的实线箭头所指示,通常,对于来自服务器的复制请求,仅通过将复制处理所需的逻辑地址信息和复制控制信息存储在缓冲区索引表112中,将响应返回到服务器。为此,可以使由于需要复制数据而引起的复制源处的存储装置1-1的负荷很小。然而,如果对于前一缓冲区组的未存储区域执行写入处理,则会破坏复制数据。因此,当执行提取处理时,进行判断以确定在前一缓冲区的未存储区域与写入处理的区域之间是否存在重叠。如果确定存在重叠,存储处理进行等待。
如图9中的点划线所示,存储处理通过参照缓冲区索引表112与写入处理异步地存储复制数据。存储处理不是在写入处理之后立即执行,从而不干扰顺序写入处理。
当检测到用于连续存储还未被存储的复制数据的写入处理处于等待时,提取处理优先地存储复制数据。
当在缓冲区切换之后更新前一缓冲区的未存储区域时,存储处理所需的逻辑地址信息和复制控制信息被存储在切换之后的缓冲区组的缓冲区索引表112中,如图10中的实线箭头所示,然后对于前一缓冲区组执行写入操作,如图10中的点划线所示。对于其它已存储的区域,对于切换之后的缓冲区组执行处理。
2.7缓冲区切换图11是用于说明缓冲区切换处理的图。
需要在保持写入处理的顺序的同时,执行记录专用缓冲区11的切换,于是,必须暂时停止输入和输出操作。但是在可以应用本发明的存储装置中,通过多个控制模块执行输入和输出处理,因而通过对于全部控制模块以同步的方式停止输入和输出处理,来切换记录专用缓冲区11。
如图11中所示,在步骤ST11中,首先从主控制模块向全部控制模块(所管理的全部控制模块)做出写入处理停止请求。在步骤ST12中,接收到写入处理停止请求的所管理的控制模块进行写入停止(或写入闭锁),以使得不能通过存储处理对记录专用缓冲区11进行新的存储,并且将响应返回到主控制模块。接下来,在步骤ST13中,主控制模块等待来自所管理的全部控制模块对写入操作停止请求的响应。在步骤ST14中,接收到缓冲区切换请求的所管理的各个控制模块取消写入停止(或写入闭锁),切换记录专用缓冲区11,并且通知主控制模块可以继续写入入处理。
可以在复制源处的记录专用缓冲区11之一变满的定时,或者在对于预定时间没有切换记录专用缓冲区11的定时,切换记录专用缓冲区11。
在不存在要切换到的记录专用缓冲区11的情况下,切换处理可进行重试处理。在这种情况下,在重试处理期间复制源处的写入操作必须等待,但是可以认为这与负荷调整一致,因为重试操作是由于缺少记录专用缓冲区11而引起的。当从复制目的地接收到与记录专用缓冲区11相关的空缓冲区通知时,在复制源处立即切换记录专用缓冲区11。结果,可以执行处于等待的输入和输出处理。例如,在从对于记录专用缓冲区的切换处理失败起经过一段预定的时间(例如,10秒)之后再次尝试切换处理的情况下,可能由于记录缺少专用缓冲区11而激活自动中断功能。
2.8存储系统的结构图12是示出根据本发明的存储系统的一个实施例的重要部分的系统框图。图12中所示的存储系统包括互相连接的服务器21-1和存储装置1-1、互相连接的服务器21-2和存储装置1-2、以及连接存储装置1-1和1-2的网络23(如存储区域网(SAN))。为了方便起见,假设服务器21-1和21-2由具有相同结构的通用计算机构成,并且存储装置1-1和1-2具有相同的独立盘冗余阵列(RAID)结构。
各个存储装置1-1和1-2包括多个通信适配器(CA)13,其用于与服务器21-1和21-2中的相应的一个通信;多个远程适配器(RA)14,其用于经由网络23进行远程复制;主控制器模块(CM-M)16-1,其控制各个存储装置1-1和1-2的整个操作;从属控制器模块(CM-S)16-2,其在相对于主控制模块的从属关系下控制各个存储装置1-1和1-2的整个操作;路由器(RT)17;多个设备适配器(DA)18,其控制与记录介质12的通信;以及多个记录介质12。在本实施例中,记录介质12由磁盘驱动器构成。各个控制模块16-1和16-2包括高速缓冲存储器160。当然,各个存储装置1-1和1-2内的控制模块的数量不限于2。
为了方便起见,在远程复制中,假设从服务器21-1向复制源处的存储装置1-1写入的数据经由网络23写入复制目的地处的并在服务器21-2控制下的存储装置1-2。
2.9存储系统的操作图13是示出远程复制时的数据流的系统框图。在图13中,对那些与图12中对应的部件指定了相同的标号,并且省略其说明。图14和图15是用于说明远程复制的过程的流程图。
如图13中所示,各个控制模块16-1和16-2内的高速缓冲存储器160包括由主缓冲区部(BUF)111和缓冲区索引表(BIT)112构成的记录专用缓冲区11。此外,各个控制模块16-1和16-2内的高速缓冲存储器160还包括缓冲区组控制表(BSCT)161。缓冲区组控制表161将复制源处和复制目的地处的多个记录专用缓冲区11(用于复制)的组合作为缓冲区组进行存储和管理。在图13中所示的具体情况下,复制源(SRC)的缓冲区ID“400,600”与复制目的地(DST)的缓冲区ID“500,700”相关,并且将相关的缓冲区ID在缓冲区组控制表161中作为缓冲区组来存储和管理。记录专用缓冲区11的主缓冲区部111存储要复制的数据,即复制数据。记录专用缓冲区11的缓冲区索引表112存储主缓冲区部111中的复制数据的索引信息,即,如LUN和LBA的逻辑地址信息,以及复制控制信息。
在图14和15中,复制源处的存储装置1-1的处理由步骤SS1至SS13表示,复制目的地处的存储装置1-2的处理由步骤SD1至SD11表示。在步骤SS1和SD1中,在复制源和复制目的地处执行确定记录专用缓冲区11的缓冲区组的初始结构的处理。在步骤SS2中,在复制源处进行请求记录专用缓冲区11的缓冲区请求,在步骤SD2中,在复制目的地处进行判断以确定是否收到缓冲区请求。当在复制目的地处收到缓冲区请求并且在SD2步骤中的判断结果为是时,在步骤SD3中进行空缓冲区通知。
在步骤SS3中,在复制源处,当接收到空缓冲区通知时,进行判断以确定是否可以进行缓冲区组的初始创建。如果在步骤SS3中的判断结果为是,则在步骤SS4中进行缓冲区组的初始生成,并且在步骤SS5中对于缓冲区组进行存储处理。在步骤SS6中,在复制源处进行判断以确定是否请求了缓冲区组的切换。如果在步骤SS6中的判断结果为否,则处理返回到步骤SS5。在复制源处,如果步骤SS6中的判断结果为是,则在步骤SS7中进行判断以确定是否可以进行对于缓冲区组的缓冲区切换处理。如果步骤SS7中的判断结果为是,则在步骤SS8中执行对于缓冲区组的缓冲区切换处理。图13中的点划线示出了对于所切换到的缓冲区组的处理的流程。此外,在步骤SS9中,在复制源处,进行判断以确定是否完成了对于缓冲区组的所有存储处理。如果步骤SS9中的判断结果为是,则在步骤SS10中对于发送缓冲区组执行复制数据的发送处理。
在步骤SD4中,在复制目的地处,对于从复制源发送的缓冲区组的复制数据执行接收处理。此外,在步骤SD5中,在复制目的地处,进行判断以确定是否接收到缓冲区组的全部复制数据。在复制目的地处,如果步骤SD5中的判断结果为是,则如图15中所示,在步骤SD6中进行判断以确定是否可以对于缓冲区组的复制数据进行展开处理。在复制目的地处,如果步骤SD6中的判断结果为是,则在步骤SD7中对于缓冲区组的复制数据执行展开处理,并且在步骤SD8中,向复制源进行完成通知,该完成通知表明完成了对于缓冲区组的复制数据的展开。
在步骤SS11中,在复制源处,进行判断以确定是否从复制目的地接收到完成通知。如果步骤SS11中的判断结果为是,则在步骤SS12中执行释放处理以释放缓冲区组。此外,在步骤SS13中执行重构处理以重构缓冲区组,并且处理返回图14中所示的步骤SS7以等待缓冲区组的切换。
另一方面,在复制目的地处,在进行了完成通知之后,在步骤SD9中执行释放处理以释放缓冲区组。此外,在步骤SD10中执行重构处理以重构缓冲区组。此外,在步骤SD11中,在复制目的地处向复制源进行空缓冲区通知,并且处理返回到图14中示出的步骤SD4以等待接收缓冲区组的复制数据。
相应地,如图13中的点化线箭头所示,将复制源处的存储装置1-1的主控制模块16-1内的缓冲区组控制表161中的缓冲区ID“500,700”复制到复制目的地处的存储装置1-2的主控制模块16-1内的缓冲区组控制表161。如点划线箭头所示,将复制源处的存储装置1-1的主控制模块16-1内的主缓冲区部111和缓冲区索引表112的内容,以及从属控制模块16-2内的主缓冲区部111和缓冲区索引表112的内容,分别复制到复制目的地处的存储装置1-2的主控制模块16-1内的主缓冲区部111和缓冲区索引表112,以及从属控制模块16-2内的主缓冲区部111和缓冲区索引表112。
图16是用于说明缓冲区切换处理的图,并且图17是用于说明缓冲区切换处理的过程的流程图。
为了方便起见,如图16中所示,假设在复制源处的存储装置1-1的主控制模块16-1中执行到缓冲区ID“400”的存储处理,并且在复制源处的存储装置1-1的从属控制模块16-2中执行到缓冲区ID“600”的存储处理。在这种情况下,如果对于主控制模块16-1接收到了对缓冲区ID“400”的存储停止指令(或停止请求),并且对于从属控制模块16-2接收到了对缓冲区ID“600”的存储停止指令(或停止请求),则等待到缓冲区ID“400”的存储处理的停止的完成,以及到缓冲区ID“600”的存储处理的停止的完成,以确定存储处理的顺序得到保证的点(如图16中的粗虚线所示)。在主控制模块16-1中,响应于从缓冲区ID“400”切换到缓冲区ID“401”的缓冲区切换指令(或缓冲区切换请求),执行到缓冲区ID“401”的存储处理。另一方面,在从属控制模块16-2中,响应于从缓冲区ID“600”切换到缓冲区ID“601”的缓冲区切换指令(或缓冲区切换请求),执行到缓冲区ID“601”的存储处理。
在图17中,复制源处的存储装置1-1内的主控制模块16-1的处理由步骤S101至S111表示,并且复制源处的存储装置1-1内的从属控制模块16-2的处理由步骤S201至S206表示。
在图17中,在步骤S101中,在主控制模块16-1中执行到缓冲区ID“400”的存储处理,并且在步骤S201中,在从属控制模块16-2中执行到缓冲区ID“600”的存储处理。在步骤S102中,主控制模块16-1判断是否执行了缓冲区切换操作,并且如果步骤S102中的判断结果为是,则在步骤S103中发出存储停止指令并将存储停止指令提供给从属控制模块1602。
在步骤S104中,主控制模块16-1判断是否接收到存储停止指令。如果步骤S104中的判断结果为是,则在步骤S105中,主控制模块16-1判断是否存在正在进行的存储处理。如果步骤S105中的判断结果为否,则在步骤S106中主控制模块16-1执行存储停止处理。类似地,在步骤S202中,从属控制模块判断是否接收到存储停止指令。如果步骤S202中的判断结果为是,则在步骤S203中从属控制模块16-2判断是否存在正在进行的存储处理。如果步骤S203中的判断结果为否,则在步骤S204中从属控制模块16-2进行存储停止处理。
在步骤S107中,在主控制模块16-1中,进行判断以确定是否全部存储处理都处于存储停止状态。如果步骤S107中的判断结果为是,则在步骤S108中,主控制模块16-1发出缓冲区切换指令,并将该缓冲区切换指令提供给从属控制模块16-2。
在步骤S109中,在主控制模块16-1中,响应于缓冲区切换指令执行缓冲区切换处理,并且通知对缓冲区切换指令的响应。此外,在步骤S110中,执行到缓冲区ID“401”的存储处理。另一方面,在步骤S205中,在从属控制模块16-2中,响应于缓冲区切换指令执行缓冲区切换处理,并且将对于缓冲区切换指令的响应通知给主控制模块16-1。此外,在步骤S206中,执行到缓冲区“601”的存储处理,并且从属控制模块16-1的处理结束。在步骤S111中,在主控制模块16-1中,进行判断以确定是否从主控制模块16-1和从属控制模块16-2接收到对缓冲区切换指令的响应。如果步骤S111中的判断结果为是,则主控制模块16-1的处理结束。
图18是用于说明缓冲区组控制的图,并且图19是用于说明缓冲区组控制的处理的流程图。
如图18中所示,将复制源处的存储装置1-1的主控制模块16-1内的缓冲区组控制表161中的缓冲区ID“500,700”等复制到复制目的地处的存储装置1-2的主控制模块16-1内的缓冲区组控制表161。将复制源处的存储装置1-1的主控制模块16-1内的主缓冲区部111和缓冲区索引表112的内容,以及复制源处的存储装置1-1的从属控制模块16-2内的主缓冲区部111和缓冲区索引表112的内容,分别复制到复制目的地处的存储装置1-2的主控制模块16-1内的主缓冲区部111和缓冲区索引表112,以及复制目的地处的存储装置1-2的从属控制模块16-2内的主缓冲区部111和缓冲区索引表112。对于复制到缓冲区组控制表161的逻辑地址进行顺序保证,但是对于复制到主缓冲区部111和缓冲区索引表112的内容没有顺序保证,并且在准备缓冲区组的时候执行复制处理。
在图19中,复制源处的存储装置1-1内的控制模块16-1和16-2执行的缓冲区组发送处理由步骤SS21至SS27表示,并且复制目的地处的存储装置1-2内的控制模块16-1和16-2执行的缓冲区组接收处理由步骤SD21至SD25表示。
在图19中,在复制源处的存储装置1-1内的控制模块16-1和16-2中,当在步骤SS21中完成缓冲区切换处理时,在步骤SS22中进行判断以确定是否完成了所有存储操作。如果在步骤SS22中的判断结果为是,则在步骤SS23中,对于复制源和复制目的地处的存储装置1-1和1-2内的控制模块16-1和16-2开始对缓冲区索引表112和主缓冲区部111的内容进行发送处理。
在步骤SS24中,在复制源处的存储装置1-1内的控制模块16-1和16-2中,进行判断以确定是否完成了对于前一缓冲区组的复制数据的发送处理。如果步骤SS24中的判断结果为是,则在步骤SS25中,对于复制目的地处的存储装置1-2内的控制模块16-1和16-2执行对于缓冲区组控制表161内的信息的发送处理。
在步骤SD21中,在复制目的地处的存储装置1-2内的控制模块16-1和16-2中,进行判断以确定是否接收到缓冲区组的全部复制数据。如果步骤SD21中的判断结果为是,则在步骤SD22中进行判断以确定是否完成了对于前一缓冲区组的复制数据的展开操作。如果步骤SD22中的判断结果为是,则在步骤SD23中执行对于当前缓冲区组的复制数据的展开处理。此外,在步骤SD24中,对复制源处的存储装置1-1内的控制模块16-1和16-2进行缓冲区组释放通知。此外,在步骤SD25中对于缓冲区组的复制数据执行释放操作,并且处理结束。
在步骤SS26中,在复制源处的存储装置1-1内的控制模块16-1和16-2中,进行判断以确定是否从复制目的地接收到缓冲区组释放通知。如果步骤SS26中的判断结果为是,则在步骤SS27中对于缓冲区执行复制数据的释放操作,并且处理结束。
如以上结合图5所述的,可通过缓冲区组处理的交叠有效地传送复制数据。具体地,在经由网络执行发送和接收处理的情况下,如图5中的虚线I所示,能够进行交叠处理。
图20是用于说明传送多路性的优化的图。如图20中所示,在进行单个多路传输的情况C1下,在复制数据的传送中产生间隔G1和G2。在进行三个多路传输的情况C3下,即使快速传送也不能展开的复制数据阻止了可以快速传送和展开的复制数据的传送,因此这种C3的情况是不理想的。因此,在对应于情况C2的本实施例中,进行两个多路传输,实现了传送多路性的优化。
因此,本发明可用于要求顺序保证、顺序写入执行以及传送效率的存储系统。
本申请要求2005年3月17日在日本专利局提交的日本特开2005-078014号公报的优先权,在此通过引用并入其公开。
此外,本发明不局限于这些实施例,而是可以在不偏离本发明的范围的情况下进行各种变型和修改。
权利要求
1.一种用于经由网络将第一存储装置内的数据复制到第二存储装置的远程复制方法,包括以下步骤(a)在第一存储装置内,将复制源的至少一个第一记录介质的数据存储到至少一个第一记录专用缓冲区;(b)在第一存储装置内,当所述至少一个第一记录专用缓冲区变满或者从将数据存储到所述至少一个第一记录专用缓冲区起经过了预定时间时,将所述至少一个第一记录专用缓冲区内的数据以整体的方式发送到第二存储装置;(c)在第二存储装置内,将所接收的数据存储到至少一个第二记录专用缓冲区;以及(d)在第二存储装置内,当数据接收完成时,将所述至少一个第二记录专用缓冲区内的数据以整体的方式展开到复制目的地的至少一个第二记录介质。
2.如权利要求1所述的远程复制方法,其中步骤(b)以第一缓冲区组为单位发送数据,各个第一缓冲区组由多个第一记录专用缓冲区构成,并且步骤(c)以第二缓冲区组为单位接收数据,各个第二缓冲区组由多个第二记录专用缓冲区构成,以保持对于被复制数据的顺序保证。
3.如权利要求2所述的远程复制方法,其中第一缓冲区组和第二缓冲区组中的每一个包括多个缓冲区组,以使得能够不中断地执行数据的发送和接收,并执行流水线操作。
4.如权利要求3所述的远程复制方法,还包括以下步骤(e)执行对于任意一个第一缓冲区组的数据发送和对于另一任意一个第二缓冲区组的数据接收的交叠处理。
5.如权利要求2所述的远程复制方法,还包括以下步骤(f)在第一存储装置内,向第二存储装置发送缓冲区请求,请求所需数量的第二记录专用缓冲区以及希望的缓冲区大小;以及(g)在第二存储装置内,准备该缓冲区请求所请求的所述数量的第二记录专用缓冲区,并通过空缓冲区通知将准备的各个第二记录专用缓冲区的缓冲区ID和缓冲区大小通知给第一存储装置,其中步骤(b)不等待来自第二存储装置的响应而以预定次数向第二存储装置发送数据。
6.如权利要求2所述的远程复制方法,其中步骤(a)通过将数据的复制处理所需的复制源和复制目的地的信息存储在第一记录专用缓冲区内的缓冲区索引表中,并将由该信息指定的第一记录介质的数据存储到第一记录专用缓冲区内的主缓冲区部分中,来将第一记录介质的数据存储到第一存储专用缓冲区。
7.如权利要求6所述的远程复制方法,其中通过参考缓冲区索引表,与将所述信息存储在缓冲区索引表中异步地执行将数据存储到主缓冲区部分中。
8.如权利要求2所述的远程复制方法,还包括以下步骤(h)当第一记录专用缓冲区中的一个变满,或者对于预定时间第一记录专用缓冲区未切换时,切换第一记录专用缓冲区。
9.一种存储系统,包括第一存储装置,其包括至少一个控制模块、至少一个第一记录介质和至少一个第一记录专用缓冲区;以及第二存储装置,其可以经由网络连接到第一存储装置,并且包括至少一个第二控制模块、至少一个第二记录介质和至少一个第二记录专用缓冲区,其中第一存储装置内的数据经由网络被复制到第二存储装置,第一控制模块将复制源的所述至少一个第一记录介质的数据存储到所述至少一个第一记录专用缓冲区,而且当所述至少一个第一记录专用缓冲区变满或者从将数据存储到所述至少一个第一记录专用缓冲区起经过了预定时间时,将所述至少一个第一记录专用缓冲区内的数据以整体的方式发送到第二存储装置,并且第二控制模块将所接收的数据存储到所述至少一个第二记录专用缓冲区,并且当数据接收完成时,将所述至少一个第二记录专用缓冲区内的数据以整体的方式展开到复制目的地的至少一个第二记录介质。
10.如权利要求9所述的存储系统,其中第一控制模块以第一缓冲区组为单位发送数据,各个第一缓冲区组由多个第一记录专用缓冲区构成,并且第二控制模块以第二缓冲区组为单位接收数据,各个第二缓冲区组由多个第二记录专用缓冲区构成,以保持对于被复制数据的顺序保证。
11.如权利要求10所述的存储系统,其中第一缓冲区组和第二缓冲区组中的每一个包括多个缓冲区组,以使得能够不中断地执行数据的发送和接收,并执行流水线操作。
12.如权利要求11所述的存储系统,其中执行对于任意一个第一缓冲区组的数据发送以及对于另一任意一个第二缓冲区组的数据接收的交叠处理。
13.如权利要求10所述的存储系统,其中在第一存储装置内,第一控制模块向第二存储装置发送缓冲区请求,请求所需数量的第二记录专用缓冲区以及希望的缓冲区大小;以及在第二存储装置内,第二控制模块准备缓冲区请求所请求的所述数量的第二记录专用缓冲区,并通过空缓冲区通知将所准备的各个第二记录专用缓冲区的缓冲区ID和缓冲区大小通知给第一存储装置,其中第一控制模块不等待来自第二存储装置的响应而以预定次数向第二存储装置发送数据。
14.如权利要求10所述的存储系统,其中第一控制模块通过将数据复制处理所需的复制源和复制目的地的信息存储在第一记录专用缓冲区内的缓冲区索引表中,并将该信息所指定的第一记录介质的数据存储到第一记录专用缓冲区内的主缓冲区部中,来将第一记录介质的数据存储到第一存储专用缓冲区。
15.如权利要求14所述的存储系统,其中第一控制模块通过参考缓冲区索引表,与将所述信息存储到缓冲区索引表中异步地执行将数据存储到主缓冲区部分。
16.如权利要求10所述的存储系统,其中当第一记录专用缓冲区中的一个变满,或者对于预定时间第一记录专用缓冲区未切换时,第一控制模块切换第一记录专用缓冲区。
17.如权利要求9所述的存储系统,其中设置多个第一控制模块和多个第二控制模块,在各个第一控制模块中设置所述至少一个第一记录专用缓冲区,并且在各个第二控制模块中设置所述至少一个第二记录专用缓冲区。
18.一种用于经由网络将第一存储装置内的数据复制到第二存储装置的远程复制方法,包括以下步骤(a)以第一缓冲区组为单位发送来自第一存储装置的数据,各个第一缓冲区组由第一存储装置内的多个第一记录专用缓冲区形成;以及(b)由第二存储装置以第二缓冲区组为单位接收数据,各个第二缓冲区组由第二存储装置内的多个第二记录专用缓冲区形成,以保持对于被复制数据的顺序保证。
19.如权利要求18所述的远程复制方法,其中第一缓冲区组和第二缓冲区组中的每一个包括多个缓冲区组,以使得能够不中断地执行数据的发送和接收,并执行流水线操作。
20.一种存储系统,包括第一存储装置,其包括至少一个控制模块、至少一个第一记录介质和至少一个第一记录专用缓冲区;以及第二存储装置,其可以经由网络连接到第一存储装置,并且包括至少一个第二控制模块、至少一个第二记录介质和至少一个第二记录专用缓冲区,其中第一存储装置内的数据经由网络被复制到第二存储装置,第一控制模块以第一缓冲区组为单位发送来自第一存储装置的数据,各个第一缓冲区组由第一存储装置内的多个第一记录专用缓冲区形成;并且第二控制模块通过第二存储装置以第二缓冲区组为单位接收数据,各个第二缓冲区组由第二存储装置内的多个第二记录专用缓冲区形成,以保持对于被复制数据的顺序保证。
21.如权利要求20所述的存储系统,其中第一和第二缓冲区组中的每一个包括多个缓冲区组,以使得能够不中断地执行数据的发送和接收,并执行流水线操作。
全文摘要
一种经由网络将第一存储装置内的数据复制到第二存储装置的远程复制方法,包括对来自第一存储装置的数据以第一缓冲区组为单位进行发送,各个第一缓冲区组由第一存储装置内的多个第一记录专用缓冲区形成;以及由第二存储装置以第二缓冲区组为单位接收数据,各个第二缓冲区组由第二存储装置内的多个第二记录专用缓冲区形成,以保持对于被复制数据的顺序保证。
文档编号G06F11/14GK1834933SQ200510091918
公开日2006年9月20日 申请日期2005年8月12日 优先权日2005年3月17日
发明者古川博司, 冈本博 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1