技术领域
本发明涉及存储系统,特别是涉及多个存储系统间的数据复制。背景技术
近年来,经常由于要对顾客提供连续的服务,因此,既便是在第一存储系统中发生障碍的情况下,数据处理系统也能够提供服务的、有关存储系统间的数据复制的技术变得越来越重要。作为将第一存储系统内存储的信息复制到第二和第三存储系统的技术,存在以下的专利文献中所公开的技术。
美国专利No.5170480号公报中,公开了这样一种技术:连接在第一存储系统上的第一计算机,通过第一计算机和第二计算机间的通信链i?各,将第一存储系统内存储的数据传送给第二计算机,第二计算机再将其传送给与第二计算机相连的第二存储系统。
在美国专利6209002号公报中公开了以下技术:第一存储系统将第一存储系统内存储的数据传送给第二存储系统,而后,第二存储系统将其传送给第三存储系统。计算机和第一存储系统是通过通信链路而连接的,第一存储系统和第二存储系统是通过通信链路连接的,而且,第二存储系统和第三存储系统是
通过通信链路连接的。第一存储系统保持复制对象的第一逻辑巻。第二存储系统,保存作为第一逻辑巻的副本(copy)的第二逻辑巻,以及作为第二逻辑巻的副本的第三逻辑巻。第三存储系统保存作为第三逻辑巻的副本的第四逻辑巻。在该专利文献中,第二逻辑系统排他地执行从第二逻辑巻到第三逻辑巻的数据复制处理,与从第三逻辑巻到第四逻辑巻的数据复制处理。
(专利文献l)美国专利No. 5170480号公报
(专利文献2)美国专利No. 6209002号/A才艮发明内容
(发明目的)
美国专利No. 5170480号公报中所公开的技术,为了数据复制而经常要使用第一计算机和第二计算机。第一计算机执行通常的业务,不能无视对于第一
计算机所添加的数据复制处理的负荷。再有,用于复制的数据,由于《吏用第一计算机和第一存储系统间的通信链路,因此与通常业务所必需的数据传输发生冲突,存在通常业务所必需的数据参考、数据更新时间变长的问题。
美国专利No. 620卯02号公报中公开的技术,在第二存储系统和第三存储系统中,必须是执行复制的数据量的存储容量的2倍的存储容量。由于复制对象的数据量多,因此,数据复制处理所花费的时间变长,第三存^f诸系统的数据会变旧。其结果,使用第三存储系统的数据再次执行业务的情况下,使第三存储系统的数据变为最新数据的时间变长,存在到再开始业务时的时间延长的问题。再者,在该文献中,第一存储系统,除了执行第一存储系统内的数据更新处理外,还在与第二存储系统之间的数据行进处理结束的时间点上,还对上一级计算机执行数据更新完毕报告。因此,来自于计算机的数据更新所耗费的时间长,如果第一存储系统和第二存储系统之间的距离越远,则数据更新所耗费的时间越长。其结果,如果按照该文献中所公开的技术,则存在不能把各存储系统间的距离设置得太远的问题。
本发明的目的是对于存储系统的上一级计算机不施加影响,而在多个存储系统间执行数据传输或数据复制。再者,本发明的目的还有对存储系统和计算机间的通信也不施加影响。
还有,本发明的目的是能够使多个存储系统内存储的数据存储区变少。另外,以不对多个存储系统的上一级计算机的业务施加影响的方式,高速有效地在多个存储系统之间执行数据传输或数据复制。(发明概述)
为了解决这些问题,在本发明中,第一存储系统,将有关第一存储系统内存储的数据之更新的信息作为日志(journal)进行存储。日志,具体而言是用更新中使用的数据的拷贝和更新时的写入命令等更新信息构成的。另外,第二存储系统通过第一存储系统和第二存储系统间的通信线,获取所述日志。第二存储系统保持第一存储系统所保持的数据的副本,并使用所述日志,按照第一存储系统中的数据更新顺序,更新与第一存储系统的数据相对应的数据。
在本发明中,第二存储系统保持第二存储区,用于存储第一存储系统执行
存储的第一存储区内所存储的数据的副本;将有关第二存储区的数据的更新之
信息作为日志,存储在日志专用的第三存储区内。第三存储区的存储容量,可以是比第二存储区少的存储容量。另外,第三存储系统,通过第二存储系统和
第三存储系统之间的通信线,来获取所述日志,并将其存储在日志专用的第四存储区内。第四存储区的存储容量可以是比第二存储区少的存储容量。第三存储系统,保持用于存储被存储在第二存储区内的数据之副本的第五存储区,并使用所述日志,按照第二存储区中的数据更新顺序,对与第二存储区相对应的第五存储区的数据进行更新。附图说明
图1是本发明一实施例的逻辑结构框图。
图2是本发明一实施例的存储系统的框图。
图3是用于说明本发明一实施例的更新信息和写入数据的关系的图。
图4是用于说明本发明一实施例的巻信息的例子的图。
图5是用于说明本发明一实施例的对(pair)信息的例子的图。
图6是用于说明本发明一实施例组信息的例子的图。
图7是用于说明本发明 一 实施例的指针信息的例子的图。
图8是用于说明本发明一实施例的日志逻辑巻的结构的图。
图9是用于说明本发明一实施例的开始数据复制的顺序的流程图。
图IO是用于说明本发明一实施例的初期拷贝处理的流程图。
图ll是用于说明本发明一实施例的命令接收处理的图。
图12是用于说明本发明一实施例的命令接收处理的流程图。
图13是本发明一实施例的日志生成处理的流程图。 图14是用于说明本发明一实施例的日志读接收处理的图。
图15是用于说明本发明一实施例的日志读接收处理的流程图。
图16是用于说明本发明一实施例的日志读命令处理的图。
图17是用于说明本发明一实施例的日志读命令处理的流程图。图18是用于说明本发明一实施例的日志存储处理的流程图。
图19是用于说明本发明一实施例的重新启动处理的图。
图20是用于说明本发明一实施例的重新启动处理的流程图。
图21是用于说明本发明一实施例的更新信息的例子的图。
图22是用于说明本发明一实施例的日志生成处理时的更新信息的例子的图。
图23是显示本发明第2实施例的图。图24是显示本发明第3实施例的图。具体实施方式
以下,将利用附图,详细地说明按照本发明的数据处理系统的实施例。图1是显示本发明第一实施例的逻辑结构的框图。
本发明的一个实施例是这样构成的:主才几180和存4渚系统100A通过连接总线l卯相连,存储系统100A和用于保持存储系统100A中所保存的数据之副本的存储系统100B通过连接总线200相连。在以下的说明中,为了容易区分保持复制对象的数据的存储系统100,和保持复制数据的存储系统100,我们决定将保持复制对象的数据的存储系统IOO称为正存储系统100A,将保持复制数据的存储系统IOO称为副存储系统IOOB。
对存储系统100的存储区进行分割管理,分割后的存储区叫做逻辑巻230。逻辑巻230的容量和存储系统100内的物理存储位置(物理地址),能够使用连接在存储系统100上的计算机等维修终端或主机180来指定。各逻辑巻230的物理地址,保存在后述的巻信息400内。物理地址,例如是用于识别存储系统100内的存储装置150的编号(存储装置编号),和唯一地显示存储装置内的存储区的数值,例如是从存储装置的存储区的开头开始的位置。在以下的说明中,设物理地址是存储装置编码和从存储装置的存储区的开头开始的位置的组。在以下的说明中,逻辑巻是一个存储装置的存储区,但是,通过逻辑地址和物理地址的变换,1个逻辑巻可能对应多个存储装置的存储区。
存储系统100保存的数据的参照、更新,能够利用识别逻辑巻的编号(逻辑巻编号)和唯一显示存储区的数值,例如是从逻辑巻的存储区开头开始的位置,来唯一指定。以下,将逻辑巻编号和从逻辑巻的存储区开头开始的位置(逻辑地址内位置)的组称为逻辑地址。
在以下说明中,为了容易区分复制对象的数据和复制数据,我们决定将复
制对象的逻辑巻230称为正逻辑巻,而将作为复制数据的逻辑巻230称为副逻辑巻。 一对正逻辑巻和副逻辑巻称为对(pair)。正逻辑巻和副逻辑巻的关系和状态等保存在后述的对信息500内。
为了遵守逻辑巻间的数据的更新顺序,设置了所谓组管理单元。例如,主机180,更新正逻辑巻1的数据1,之后,读出数据1,使用数据1的数值,来执行更新正逻辑巻2的数据2的处理。在从正逻辑巻1到副逻辑巻1的数据复制处理,以及从正逻辑巻2到副逻辑巻2的数据复制处理是独立执行的情况下,存在在复制到副逻辑巻1的数据1的复制处理之前,执行复制到副逻辑巻2的数据2的复制处理的情况。在复制到副逻辑巻2的数据2的复制处理和复制到副逻辑巻1的数据1的复制处理之间,在由于故障等发生复制到副逻辑巻1的数据1的复制处理停止的情况下,则缺少副逻辑巻1和副逻辑巻2的数据的一致性。为了在这种情况下也保持副逻辑巻1和副逻辑巻2的数据的一致性,遵守数据更新顺序所必要的某个逻辑巻,在同一组中进行登录,每当有数据更新时,就分配后述的组信息600的更新编号,并按照更新编号的顺序,在副逻辑巻中执行复制处理。例如,在图1中,正存储系统100A的逻辑巻(DATA1)和逻辑巻(DATA2)构成了组1。作为逻辑巻(DATA1)之副本的逻辑巻(C0PY1)和逻辑巻(DATA2)之副本的逻辑巻(COPY2),构成了副存储系统内的组1。
在更新作为数据复制对象的正逻辑巻的数据的情况下,为了更新副逻辑巻的数据,生成了后述的日志,并将器保存在正存储系统100A内的逻辑巻内。在本实施例的说明中,为每组分配仅保存日志的逻辑巻(以下称为日志逻辑巻)。图1中,为组1分配了逻辑巻(JNL1)。
还为副存储系统100B的组,分配了日志逻辑巻。日志逻辑巻,是为了保存从正存储系统100A传送到副存储系统100B的日志而使用的。通过将日志保存于日志逻辑巻内,例如,在副存储系统100B的负荷高的情况下,在曰志接收时不执行副逻辑巻的数据更新,稍后,能够在副存储系统100B的负荷低的时侯,更新副逻辑巻的数据。又,在连接线200有多条的情况下,多路(日文:多重仁)执行从正存储系统100A到副存储系统100B的日志的传输,从而
10能够有效利用连接线200的传输能力。存在为了轮流进行更新,而在副存储系统100B中积压了许多日志的可能性,由于不能立刻用于副逻辑巻的凝:据更新的日志,退避到日志逻辑巻内,因此能够释放高速緩沖存储器。图1中,对副存储系统内的组1分配了逻辑巻(JNL2)。
日志由写入数据和更新信息构成。更新信息是用于管理写入数据的信息,由接收写入命令的时刻、组编号、后述的组信息600的更新编号、写入命令的逻辑地址、写入数据的数据大小、存储写入数据的日志的逻辑巻的逻辑地址等构成。更新信息也可以仅仅保持接收写入命令的时刻和更新编号中的任何一方。当在来自主机180的写入命令中存在写入命令之产生时刻的情况下,也可以使用该写入命令内的产生时刻,而不是接收写入命令的时刻。使用图3和图21,来说明日志的更新信息的例子。更新信息310,存储了在1999年3月17日的22时20分10秒时所接收的写入命令。该写入命令,是将写入数据存储在从逻辑巻编号1的存储区开头开始700的位置上的命令,数据大小是300。日志的写入数据,是从逻辑巻编号4(日志逻辑巻)的存储区开头开始1500的位置开始存储的。我们明白,逻辑巻编号1的逻辑巻属于组1,是从组l的数据复制开始的第4个数据更新。
例如如图3所示,将日志逻辑巻分割为存储更新信息的存储区(更新信息区域)和存储写入数据的存储区(写入数据区)来使用。更新信息区域,从更新信息区域的开头开始,^按照更新编号的顺序执行存储,在到达更新信息区域的终端后,就从更新信息区域的开头开始执行存储。写入数据区,从写入凄t据区的开头开始存储写入数据,如果到达写入数据区的终端,就从写入数据区的开头开始执行存储。更新信息区域和写入数据区的比可以是固定值,也可以是由维修终端或主机180设定的。这些信息保持在后述的指针信息700内。在以下的说明中,将日志逻辑巻分割为更新信息和写入数据的区域,并使用日志逻辑巻,但也可以采用从逻辑巻的开头开始,连续存储日志即更新信息和写信息的方式。
将使用图1,将传给存储系统IOOA的正逻辑巻之数据更新,反映给副存储系统100B的副逻辑巻的操作,进行简要说明。
(I)存储系统IOOA,在接收了来自主机180的、针对正逻辑巻内的数据的写入命后,利用后述的命令接收处理210以及写处理220,扭^亍正逻辑巻 (DATA1)内的数据更新,以及在日志逻辑巻(JNL1)内执行日志的保存(图1的 270)。
(2) 存储系统100B,利用后述的日志读处理240,从存储系统100A中读出 日志,通过读写处理220,在日志逻辑巻(JNL2)内保存日志(图1的280)。
(3) 存储系统100A,在接收了读取来自存储系统100B的日志之命令后, 通过后述的命令接收处理210和读写处理220,从日志逻辑巻(JNL1)读出日志, 并将其传送给存储系统100B(图1的280)。
(4) 存储系统100B,通过后述的重新启动处理250和读写处理220,使用 指针信息700,按照更新编号的升序,从日志逻辑巻(JNL2)中读出日志,并更 新副逻辑巻(COPYl)的数据(图1的290)。
在图2中显示了存储系统IOO的内部结构。存储系统IOO是这样构成的, 它具有一个以上的主适配器110、 一个以上的盘适配器120、 一个以上的高速 緩冲存储器130、 一个以上的公用存储器140、 一个以上的存储装置150、 一 个以上的公共总线160、以及一个以上的连接线170。主适配器110、盘适配 器120、高速缓冲存储器130、公用存储器140通过公共总线160而相互连接。 公共总线160也可以因公共总线160发生障碍时而被2路复用。盘适配器120 和存储装置150通过连接线170进行连接。尽管图中未示,但是,用于执行存 储系统100的设定、监视、维修等的维修终端,利用专用线,与所有的主适配 器IIO和盘适配器120相连接。
主适配器IIO,控制主机180和高速緩冲存储器130间的数据传输。主适 配器110,利用连接线l卯和连接线200,与主机180或其他存储系统IOO相 连接。盘适配器120控制高速緩冲存储器130和存储装置150之间的数据传输。 高速緩沖存储器130,是用于临时保存将所接收的来自于主机180的数据,或 将从存储装置150读出的数据的存储器。公用存储器140是存储系统100内的 所有主适配器110和盘适配器120共用的存储器。
巻信息400是管理逻辑巻的信息,它保持了巻状态、格式形式、容量、对 编号以及物理地址。图4中显示了巻信息400的一个例子。巻信息400被保存 在可由主适配器110和盘适配器120进行查找的存储器,例如是管理存储器140内。巻状态保持"正常"、"正"、"副"、"异常"、"未使用"中的任何一个。
巻状态为"正常,,或"正"的逻辑巻230,显示其是可/人主4几180正常进4亍访问的 逻辑巻230。巻状态为"副"的逻辑巻230也可以许可来自主才几180的访问。巻 状态为"正"的逻辑巻230显示其是执行数据复制的逻辑巻230。巻状态为"副,, 的逻辑巻230显示其是复制中使用的逻辑巻230。巻状态为"异常"的逻辑巻230 显示其是由于故障而不能正常进行访问的逻辑巻230。所谓故障例如是保持逻 辑巻230的存储装置150的故障。巻状态为"未使用,,的逻辑巻230显示其是没 有使用的逻辑巻230。对编号,在巻状态为"正,,或"副,,的情况下是有效的,保 持用于指定后述的对信息500的对编号。在图4所示的例子中,逻辑巻1从格 式形式为OPEN3、容量为3GB、存储装置编号1的存储装置150的存储区的 开头开始存储数据,其显示为可以进行访问,并且是数据复制对象。
对信息500是管理对的信息,保持由对状态、正存储系统编号、正逻辑巻 编号、副存储系统编号、副逻辑巻编号、组编号、以及拷贝结束地址。图5 中,显示了对信息500的一个例子。对信息500保存在可从主适配器110和盘 适配器120进行查找的存储器例如是管理存储器140内。对状态保存"正常"、 "异常"、"未使用"、"为复制"、"复制中,,中的任何一个。对状态为"正常"的情 况,显示正逻辑巻230的数据复制正在正常执行。对状态为"异常,,的情况显示 了由于故障而没有扭^亍正逻辑巻230的复制。所谓障碍,例如是连接总线200 的断线等。对状态为"未使用"的情况下,显示该对编号的信息不是有效的。对 状态为"复制中,,的情况显示是后述的初期复制处理中。对状态是"未复制"的情 况显示还没有执行后述的初期复制处理。正存储系统编号,保持用于指定保持 正逻辑巻230的正存储系统IOOA的编号。副存储系统编号,保持指定保持副 逻辑巻230的副存储系统100B的编号。组编号在正存储系统的情况下,保持 正逻辑巻所属的组编号。在副存储系统的情况下,保持副逻辑巻所属的组编号。 拷贝结束地址将在后述的初期拷贝处理中进行说明。图5的对信息1,显示执 行了数据复制对象是正存储系统1的正逻辑巻1、数据复制接受者是副存储系 统2的副逻辑巻1的、正常的数据复制处理。
组信息600保持组状态、对集合、日志逻辑巻编号以及更新编号。图6 中显示了组信息600的一个例子。组信息600保存在可从主适配器110和盘适
13配器120进行查找的存储器例如是管理存储器140内。组状态保持"正常"、"异 常"、"未使用"中的任何一个。组状态为"正常"的情况,显示了对集合的至少 一个对状态为"正常"。组状态为"异常"的情况,显示了对集合的所有对状态都 为"异常"。组状态为"未使用"的情况,显示了该组编号的信息不是有效的。对 集合,在正存储系统的情况下,保持组编号所示的组所属的所有正逻辑巻的对 编号。在副存储系统的情况下,保持组编号所示的组所属的所有副逻辑巻的对 编号。日志逻辑巻编号显示该组编号的组所属的日志逻辑巻编号。更新编号初 始值为1,在对组内的正逻辑巻执行了数据写入后,加l。更新编号存储在日 志的更新信息内,是为了在副存储系统100B中遵守数据的更新顺序而使用的。 例如,图6的组信息1,根据对信息l, 2,由正逻辑巻l, 2以及日志逻辑巻 4构成,它显示正常地执行数据的复制处理。
指针信息700为每一组进行保持,它是用于管理该组的日志逻辑巻的信 息,它保持了更新信息区域起始地址、写入数据区起始地址、更新信息最新地 址、更新信息最旧地址、写入数据最新地址、写入数据最旧地址、读开始地址、 重试开始地址。图7和图8中显示了指针信息700的一个例子。更新信息区域 起始地址保持用于存储日志逻辑巻的更新信息之存储区(更新信息区域)的起 始逻辑地址。写入数据区起始地址,保持用于存储日志逻辑巻的写入数据之存 储区(写入数据区)的起始逻辑地址。更新信息最新地址,在存储下一个日志的 情况下,保持更新信息的保存中所使用的起始逻辑地址。更新信息最旧地址, 保持用于保存最老的(更新编号小的)日志的更新信息之起始逻辑地址。写入数 据最新地址,在存储下一个日志的情况下,保持写入数据的保存中所使用的起 始逻辑地址。写入数据最旧地址,保持用于保存最旧的(更新编号小的)日志的 写入数据之起始逻辑地址。写起始地址和重试起始地址,^U又在正存储系统 100A中使用,在后述的日志读接收处理中使用。在图7和图8的指针信息700 的例子中,保存日志的管理信息的区域(更新信息区域),从逻辑巻4的存储区 开头到699的位置为止;保存日志的写入数据之区域(写入数据区)是逻辑巻4 的存储区的从700的位置到2699的位置为止。日志的管理信息被保存在逻辑 巻4的存储区的从200的位置到499的位置中,下一个日志的管理信息是从逻 辑巻4的存储区的500的位置开始保存。日志的写入数据被保存在逻辑巻4
14的存储区的从1300的位置到2199的位置中;下一个日志的写入数据从逻辑巻 4的存储区2200的位置开始保存。
在下述说明中,尽管是在为1个组分配了 一个日志逻辑巻的状态下进行的 说明,但是,也可以为1个组分配多个日志逻辑巻。例如,为一个组分配2 个曰志逻辑巻,并为每个日志逻辑巻设置指针信息700,以交替存储曰志。由 此,能够分散对于日志的存储装置150的写入,预计能够提高性能。另外,也 提高了日志的读性能。作为另一个例子,为一个组分配2个日志逻辑巻,通常, 仅仅使用1个日志逻辑巻。另 一个日志逻辑巻是在正在使用的日志逻辑巻的性 能低下的情况下使用的。性能低下的例子是这样一种情况:日志逻辑巻由多个 存储装置150构成,按RAID5的方式正在保持数据的、所构成的存储装置150 的一台处于故障中。
上述巻信息400、对信息500、组信息600、以及指针信息700等,最好 是存储在公用存储器140内。但是,本实施例并不仅限于这种情况,也可以将 这些信息集中存储或分散存储在高速緩冲存储器130、主适配器110、盘适配 器120、其他其他存储装置150内,来执行存储。
接下来,将使用图9、图10,从正存储系统IOOA对副存储系统100B开 始数据复制的顺序进行说明。
(l)就组生成进行说明(步骤卯0)。用户使用维》务终端或主机180,对照正 存储系统100A的组信息600,来获取组状态为"未使用"之组编号。用户使用 维修终端或主机180,来指定组编号A,并对正存储系统IOOA执行组生成指 示。
正存储系统IOOA接受组生成指示,并将指定的组编号A的组状态改变为 "正常"。
同样,用户对照副存储系统100B的组信息600,来获取组状态为"未使用" 之组编号B。用户使用维修终端或主机180,来指定副存储系统100B和组编 号B,并在正存储系统100A上执行组生成指示。正存储系统100A,将所接 收的组生成指示传送到副存储系统IOOB。副存储系统100B,将所指定的组编 号B的组状态改变为"正常"。
用户也可以使用副存储系统100B的维修终端,或连接于副存储系统100B上的主机180,来指定组编号B,并对副存储系统IOOB执行组生成指示。
(2) 就对登录进行说明(步骤910)。用户使用维修终端或主机180,来指定 显示数据复制对象之信息和显示数据复制接受者之信息,并在正存储系统 100A上执行对登录指示。显示数据复制对象的信息,是lt据复制对象的组编 号A和正逻辑巻的编号。显示数据接受者的信息是保存复制数据之副记录系 统100B和组编号B、副逻辑巻编号。
接受所述对登录指示,正存储系统100A,从对信息500中获取对信息为"未 使用"之对编号,将对状态设定为"未拷贝",将显示正存储系统IOOA的正存储 系统编号设定为正存储系统编号,将被指示的正逻辑巻编号设定为正逻辑巻编 号,将被指示的副存储系统编号设定为副存储系统编号,将被指示的副逻辑巻 编号设定为副逻辑巻编号,将被指示的组编号A设定为组编号。正存储系统 100A,将所获取的对编号追加到被指示的组编号A的组信息600的对集合中, 并将正逻辑巻编号的巻状态修改为"正"。
正存储系统100A向副存储系统100B指示:显示正存储系统100A之正 存储系统编号、由用户指定的组编号B、正逻辑巻编号、以及副逻辑巻编号。 副存储系统100B从对信息500中获取未使用的对编号,将对状态设定为"未 拷贝",将显示存储系统100A的正存储系统编号设定为正存储系统编号,将 被指示的正逻辑巻编号设定为正逻辑巻编号,将显示副存储系统B的副存4渚 系统编号设定为副存储系统编号,将被指示的副逻辑巻编号设定为副逻辑巻编 号,将被指示的组编号B设定为组编号。
副存储系统100B向所指示的组编号B的组信息600的对集合中,追加了 所述获取到的对编号,并将副逻辑巻编号的巻状态改变为"副"。
以上操作是针对所有的数据复制对象的对执行的。
在所述说明中,尽管说明了通知执行对于逻辑巻的组的登录,以及逻辑巻 的对的设置,但是,它们也可以分别执行。
(3) 就日志逻辑巻登录进行说明(步骤920)。用户^_用维修终端或主机180, 对正存储系统100A执行将把日志保存中所使用的逻辑巻(日志逻辑巻)登录到 组内之指示(日志逻辑巻登录指示)。日志逻辑巻登录指示,由组编号和逻辑巻 编号构成。正存^f渚系统100A,将被指示的逻辑巻编号登录为所指示的组编号之组信 息600的日志逻辑巻编号。将该逻辑巻的巻信息400的巻状态设定为"正常"。
同样,用户使用维修终端或主机180,对照副存储系统100B的巻信息400, 来指定副存储系统IOOB、组编号B、作为日志逻辑巻使用的逻辑巻编号,并 对正存储系统100A执行日志逻辑巻登录。正存储系统100A将日志逻辑巻登 录指示传送给副存储系统IOOB。副存储系统100B,将被指示的逻辑巻编号登 录为所指示的组编号B之组信息600的日志逻辑巻编号。将该逻辑巻的巻信 息400的巻状态设定为"正常"。
也可以是用户使用副存储系统100B的维修终端或连接于副存储系统 100B上的主机180,来指定组编号、作为日志逻辑巻使用的逻辑巻编号,并 对副存储系统100B执行日志逻辑巻登录指示。
以上的操作是针对作为全体日志逻辑巻而使用的逻辑巻执行的。步骤910 和步骤920的顺序没有不同。
(4) 对数据复制处理的开始进行说明(步骤930)。用户使用维修终端或主机 180,来指定开始数据复制处理的組编号,并将数据复制处理的开始指示给正 存储系统IOOA。正存储系统100A将所指示的组所属的所有对信息400的拷 贝结束地址设定为"O"。
正存^f诸系统100A向副存储系统100B指示了后述日志读处理和重新启动 处理的开始。
正存储系统IOOA开始后述的初期拷贝处理。
(5) 就初期拷贝技术进行说明(步骤940)。
当初期复制结束后,正存储系统IOOA将初期拷贝处理的结束通知给副存 储系统100B。副存储系统IOOB将所指示的组所属的所有副逻辑巻的对装置改 变为"正常"。
图IO是初期拷贝处理的流程图。初期拷贝处理,对于数据复制对象的正 逻辑巻的所有存储区,使用对信息500的拷贝完毕地址,从存储区开头开始顺 序执行以下操作:每单位大小就产生一个日志。拷贝完毕地址,其初始值为0, 每做成一个日志就加上所做成的数据量。从逻辑巻的存储区开头开始到拷贝结 束地址的前一个,是利用初期拷贝处理做成的日志。由于执行了初期拷贝处理,因此,可能将正逻辑巻中未更新的数据传送给副逻辑巻。在以下说明中,记载
的是正存储系统100A内的主适配器A执行处理,4旦是也可以是盘适配器120 来执行处理。
(1) 正存储系统100A的主适配器A,得到了处理对象的组所属的对中其对 状态为"未拷贝"的正逻辑巻A,并将对的状态修改为"拷贝中",并反复执行以 下操作(步骤1010, 1020)。在正逻辑巻A不存在的情况下,结束处理(步骤1030)。
(2) 在步骤1020中,在逻辑巻A不存在的情况下,主适配器A以单位大小 (例如是1MB)的数据为对象,作成日志。日志作成处理将在后面进行i兌明(步 骤1040)。
(3) 主适配器A将作成的日志的数据大小加到拷贝结束地址上。
(4) 拷贝结束地址在到达正逻辑巻A的容量之前, 一直重复执行上述处理 (步骤1060)。在拷贝结束地址变为与正逻辑巻A的容量相等的情况下,由于 针对逻辑巻A的所有存储区作成了日志,因此,将对状态更新为"正常",并开 始另一个正逻辑巻的处理(步骤1070)。
所述流程图中,是平均以一个逻辑巻为对象来进行说明的,但也可以同时 处理多个逻辑巻。
图11是说明命令接收处理210的处理的图,图12是命令接收处理210的 流程图,图13是日志作成处理的流程图。以下,将使用这些图,就正存储系 统IOOA在接收了来自主机180的、对数据复制对象的逻辑巻230之写入命令 的情况下的操作进行说明。
(1) 存储系统100A内的主适配器A接收来自于主机的访问命令。访问命令, 含有读、写、后述的日志读等的命令、命令对象的逻辑地址、数据量等。以下, 令访问命令内的逻辑地址为逻辑地址A,逻辑巻编号为逻辑巻A,逻辑巻内位 置为逻辑巻内位置A,凄t据量为数据量A(步骤1200)。
(2) 主适配器A调查访问命令(步骤1210、 U15)。在步骤1215的调查中, 在访问命令为日志读命令的情况下,执行后述的日志接收处理(步骤1220)。访 问命令除了是日志读命令和写命外,例如读命令的情况下,以与已有技术相同 的方式执行读处理(步骤1230)。
(3) 在步骤1210的调查中,在访问明令为写入命令的情况下,参照逻辑巻
18A的巻信息400来调查巻状态(步骤1240)。在步-骤1240的调查中,在逻辑巻 A的巻状态为"正常"或"正"以外的情况下,由于不可能对逻辑巻A进行访问, 因此,将主机180报告异常结束(步骤1245)。
(4) 在步骤1240的调查中,在逻辑巻A的巻状态为"正常"、"正"的任何一 种情况下,主适配器A确保高速緩冲存储器130,并将已作好数据接收准备之 事通知主机180。主机180接受该通知,并将写入数据传送给正存储系统IOOA。 主适配器A接收写入数据,并将器保存在该高速緩冲存储器130内(步骤1250、 图11的1100)。
(5) 主适配器A参照逻辑巻A的巻状态,调查逻辑巻A是否是数据复制对 象(步骤1260)。在步骤1260的调查中,在巻状态为"正"的情况下,由于逻辑 巻A是数据复制对象,因此执行后述的日志作成处理(步骤1265)。
(6) 在步骤1260的调查中,在巻状态为"正常"的情况下,或者在步骤1265 的日志作成处理结束后,主适配器A,对数据适配器120发出命令,令其将写 入数据写入存储装置150(图U)的1140,并向主机180进行结束报告(步骤 1270、 1280)。之后,该盘适配器120,通过读些处理,将写入数据保存在存4诸 装置150内(图11的1110)。
接下来,将就日志作成处理进行说明。
(1) 主适配器A调查日志逻辑巻的巻状态(步骤1310)。在步骤1310的调查 中,在日志逻辑巻的巻状态为"异常,,的情况下,由于不能向日志逻辑巻存储曰 志,因此组状态变更为"异常",并结束处理(步骤1315)。这种情况下,执行将 曰志逻辑巻变更为正常的逻辑巻等。
(2) 在步骤1310的调查中,在日志逻辑巻为正常的情况下,继续执行曰志 作成处理。日志作成处理,根据是初期拷贝处理内的处理,还是命令接收处理 内的处理,其处理不同(步骤1320)。在日志作成处理是命令接收处理内的处理 的情况下,执行从步骤1330开始的处理。在日志作成处理是初期拷贝处理内 的情况下,执行从步骤1370开始的处理。
(3) 在日志作成处理是命令接收处理内的处理的情况下,主适配器A调查 写入对象的逻辑地址A是否已成为初期拷贝处理的处理对象(步骤1330)。在 逻辑巻A的对状态为"未拷贝"的情况下,由于后面要执行初期拷贝处理中的曰
19志作成处理,因此在这里不产生日志而是结束处理(步骤1335)。逻辑巻A的 对装置为"拷贝中,,的情况下,当拷贝结束地址等于或小于逻辑地址内位置A 时,由于在后面会^^f亍初期拷贝处理中的日志作成处理,因此,在这里不产生 曰志而是结束处理(步骤1335)。除上述情况外,即当逻辑巻A的对状态为"拷 贝中,,,且拷贝结束地址为逻辑地址内位置A以上的情况时,由于初期拷贝处 理已经结束,因此继续执行日志作成处理。
(4) 接下来,主适配器A调查日志可能存储在日志逻辑巻内。使用指针信 息700,来调查是否有更新信息区域的未使用区域(步骤1340)。在指针信息700 的更新信息最新地址与更新信息最旧地址相等的情况下,由于更新信息区域中 不存在未使用区域,因此结束处理,作为日志作成失败(步骤1390)。
在步骤1340的调查中,在更新信息区域中存在未使用区域的情况下,使 用指针信息700,来调查能否在写入数据区内存储写入数据(步骤1345)。在写 入数据最新地址和数据量A的和,等于或大于写入数据最老地址的情况下, 由于不能存储在写入凄t据区内,因此结束处理,作为日志作成失败(步骤1390)。
(5) 在可能存储日志的情况下,主适配器A获取用来存储更新编号和更新 信息之逻辑地址,以及用于存储写入数据之逻辑地址,并在高速緩冲存储器 130内作成更新信息。更新编号是从对象组的组信息600中获取到的,并将加 l后的数值设定为组信息600的更新编号。存储更新信息的逻辑地址,是指针 信息700的更新信息最新地址,将加上了更新信息大小后的数值设定为指针信 息700的更新信息最新地址。存储写入数据的逻辑地址是指针信息700的写入 数据最新地址,将写入数据最新地址加上了数据量A后的数值,设定为指针 信息700的写入凄t据最新地址。
主适配器A将上述获取的数值和组编号、接收写命令的时刻、写命令内 的逻辑地址A、数据量A设定为更新信息(步骤1350、图11的1120)。例如, 在图6所示的组信息600、图7所示的指针信息700的状态下,在从组1所属 的正逻辑巻1的存储区开头开始的800的位置处接收到数据大小100的写命令 的情况下,作成图22所示的更新信息。组信息的更新编号变为5,指针信息 的更新信息最近地址变为600(设最近信息的大小为100),写入数据最新地址 变为2300。C6)主适配器A对盘适配器120发出命令,令其将日志的更新信息和写入 数据写入存储装置150内,并正常结束(步骤1360、图11的1130、 1140、 1150)。
(7) 日志作成处理,在是初期拷贝处理内的处理的情况下,执行从步骤1370 开始的处理。主适配器A调查日志是可以作成的。使用指针信息700,来调查 有无更新信息区域的未使用区域(步骤1370)。在指针信息700的更新信息最新 地址和更新信息最旧地址相等的情况下,由于在更新信息区域内不存在未使用 区域,因此结束处理,作为日志作成失败(步骤1390)。在本实施例中,在所示 的初期拷贝处理的情况下,日志的写入数据是从正逻辑巻中读出的,由于没有 使用写入数据区,因此不需要确认写入数据区的未使用区域。
(8) 在步骤1370的调查中,在可以作成日志的情况下,主适配器A获取在 更新信息内设定的数值,并在高速緩沖存储器130内作成更新信息。更新编号 是从对象组的组信息600中获取的,并将加1后的数值设定为组信息600的更 新编号。存储更新信息的逻辑地址,是指针信息700的更新信息最新地址的位 置,将加上更新信息大小后的数值设定为指针700的更新信息最新地址。
主适配器A将初期拷贝处理对象的逻辑地址,设定为存储上述获取的数 值、以及组编号、本处理的开始时刻、处理拷贝处理对象的逻辑地址、初期拷 贝一次的处理量、以及写入数据的日志逻辑巻的逻辑地址(步骤1380,图11 的1120)。
(9) 主适配器A对盘适配器120发出命令,令其将更新信息写入存储装置 150内,并正常结束(步骤1385、图11的1140、 1160)。
在上述说明中,尽管是以更新信息存在于高速緩沖存储器130内的方式进 行记载的,但是也可以将其存储于公共存储器140内。
将写入数据写入存储装置150的写入操作也可以是非同步的,即也可以不 必紧跟着步骤1360和步骤1385。但是,在主机180再次对逻辑地址A执行写 命令的情况下,由于没有写上日志的写入数据,因此,在从主机接收写入数据 之前,日志的写入数据,必须要写入与更新信息的日志逻辑巻的逻辑地址相对 应的存储装置150中。或者是,也可以退避到别的高速緩沖存储器内,之后, 执行写入到与更新信息的日志逻辑巻的逻辑地址对应的存储装置150内。
在所述日志作成处理中,将日志保存在存储装置150内,但是,由于为曰志用途准备了预定量的高速緩冲存储器130,因而使用了所有的高速缓冲存储
器,因此,也可以将日志保存在存储装置150内。日志用的高速緩冲存储器的 量例如可以从维修端进行指定。
读写处理220是盘适配器120实施接受来自于主适配器110或盘适配器 120的命令的处理。实施的处理是将被指定的高速緩冲存储器130的数据写入 与被指定的逻辑地址相对应的存储装置150内的存储区之处理、从与被指定的 逻辑地址对应的存储装置150内的存储区中读出数据至高速緩冲存储器130 的处理等。
图14是说明接收了日志读命令的正存储系统100A的主适配器的操作(日 志读接收处理)的图,图15是流程图。以下,使用这些图,来说明正存储系统 IOOA接收了来自于副存储系统100B的日志读命令情况下之操作。
(1) 正存储系统100A内的主适配器A接收来自于副存储系统100B的访问 命令。访问命令包含:显示为日志读命令的标识符、命令对象的组编号、有无 重试指示。以下,设访问命令内的组编号为组编号A(步骤1220、图14的1410)。
(2) 主适配器A调查组编号A的组状态是否为"正常"(步骤1510)。在步骤 1510的调查中,组状态为"正常"之外例如为"故障"的情况下,将组状态通知副 存储系统100B,并结束处理。副存储系统IOOB根据所接收的组状态来执行处 理。例如,在组状态为"故障,,的情况下,结束日志读处理(步骤1515)。
(3) 在步骤1510的调查中,在组编号A的组状态为"正常,,的情况下,主适 配器A调查日志逻辑巻的状态(步骤1520)。在步骤1520的调查中,在日志逻 辑巻的逻辑状态不是"正常"的情况下,例如在"故障"的情况下,组状态变更为 "故障",将给组状态通知给副存储系统100B,并结束处理。副存储系统100B 根据所接收的组状态来执行处理。例如,在组状态为"故障"的情况下,结束日 志读处理(步骤1525)。
(4) 在步骤1520的调查中,在日志逻辑巻的逻辑状态为"正常,,的情况下, 调查日志读命令是否是重试指示(步骤1530)。
(5) 在步骤1530的调查中,在调查日志读命令是重试指示的情况下,主适 配器A将前一次发送的日志再次传送给副存储系统IOOB。主适配器A,确保 高速緩冲存储器130,并命令盘适配器:从指针信息700的重试开始地址开始,将更新信息之大小的信息读入高速緩冲存储器内(图14的1430)。
盘适配器的读写处理,从存储装置150中读出更新信息,将其保存在高速 緩冲存储器130内,并通知给主适配器A(图14的1430)。
主适配器A接受更新信息的读结束的通知,并从更新信息中获取写入数 据的逻辑地址以及写入数据,确保高速緩冲存储器130,并命令盘适配器将写 入数据读入高速緩冲存储器内(步骤1540,图14的1440)。
盘适配器的读写处理,从存储装置150中读出写入数据,将其保存于高速 緩冲存储器内,并通知给主适配器A(图14的1450)。
主适配器A接受写入数据的写入结束通知,将更新信息和写入数据传送 到副存储系统100B,释放保持日志的高速缓冲存储器130,并结束处理(步骤 1545,图14的1460)。
(6) 在步骤1530的调查中,在不是重试指示的情况下,主适配器A调查是 否存在没有发送的日志,如果存在,则将日志传送给副存储系统IOOB。主适 配器A对指针信息700的读开始地址和更新信息最新地址进行比较(步骤 1550)。
在读开始地址与更新信息最新地址相等的情况下,由于将所有的日志都传 送给了副存储系统IOOB,因此,向副存储系统100B传送"无日志,,(步骤1560), 并释放前一次的日志命令时,传送给副存储系统100B的日志的存储区(步骤 1590)。
日志的存储区的释放处理,是将重试开始地址设定为指针信息700的更新 信息最旧地址。在更新信息最旧地址变为写入数据区开始地址的情况下,令更 新信息最旧地址为零。指针信息700的写入数据最旧地址,变更为加上了根据 前一次的读日志命令所发送的写入数据之大小后的数值。在写入数据最旧地址 变为日志逻辑巻的容量以上的逻辑地址的情况下,减去写入数据区开始地址来 进行々务正。
(7) 在步骤1550的调查中,在存在未发送的日志的情况下,主适配器A确 保高速緩冲存储器130,并命令盘适配器:将从指针信息700的读出开始地址 开始的、更新信息之大小的信息读入高速緩沖存储器内(图14的1420)。
主适配器A的读写处理是从存储装置150中读出更新信息,并将其保存于高速緩冲存储器130内,并通知给主适配器(图4的1430)。
主适配器A接受更新信息的读结束通知,并从更新信息中获取写入数据 的逻辑地址以及写入数据的大小,确保高速緩冲存储器130,并命令盘适配器: 将写入数据读入高速緩沖存储器内(步骤1570,图14的1440)。
主适配器A的读写处理是从存储装置150中读出写入数据,并将其保存 于高速緩冲存^f诸器130内,并通知给主适配器(图4的1450)。
主适配器A接受写入数据的读结束通知,将更新信息以及写入数据传送 到副存储系统100B内(步骤"80),并释放保持日志的高速緩沖存储器130 (图 14的1460)。于是,将读开始地址设定为指针信息700的重试开始地址,并将 加上了发送的日志之更新信息大小后的数值设定为读开始地址。
(8)主适配器A释放在前一次日志读命令的处理时,发送给副存储系统 100B的日志的存储区(步骤l590)。
在前述日志读接收处理中,正存储系统IOOA,是将日志发送给平均一个 副存储系统100B,但是,也可以将其同时发送给多个副存储系统IOOB。在一 个日志读命令中,发送的日志数目也可以由副存储系统100B在日志读命令中 进行指定,在组登录时等情况中,也可以由用户指定给正存储系统IOOA和副 存储系统100B。另外,也可以根据正存储系统IOOA和副存储系统100B的连 接总线200的传输能力或负荷等,动态地利用一个日志读命令来改变发送的曰 志数。也可以不考虑日志数而是考虑日志的写入数据的大小,来指定日志的传 输量。
在所述日志读接收处理中,将日志从存储装置150中读入到高速緩沖存储 器130内,但是,在存在于高速緩冲存储器130内的情况下,就不需要该处理。
前述日志读接收处理内的日志的存储区的释放处理,是在下一个日志读命 令的处理时刻进行的,但是,也可以直接在将日志发送给副存储系统IOOB后 就释放。副存储系统100B设定也可以在日志读命令内进行释放的更新编号, 正存储系统IOOA也可以根据其指示,释放日志的存储区。
图16是说明日志读命令处理240的图,图17是流程图,图18是日志存 储处理的流程图。以下,将使用这些流程图,对副存储系统100B的主适配器 B从正存储系统100A中读出日志,并将其存储于日志逻辑巻内的操作进行说明。
(1) 副存储系统100B内的主适配器B,确保存储日志的高速緩冲存储器 130,并向正存储系统100A发送包含显示是日志读命令之标识符、命令对象 的正存储系统100A的组编号、以及有无重试指示的访问命令。以下,设访问 命令内的组编号为组编号A(步骤1700,图16的1610)。
(2) 主适配器B接收正存储系统100A的应答以及日志(图16的1620)。主 适配器调查应答,当来自正存储系统IOOA的应答为"无日志"的情况下,由于 在正存储系统100A中不存在指定组的日志,因此,在一定时间后,将读日志 命令发送给正存储系统IOOA(步骤1720、 1725)。
(4) 当正存储系统100A的应答为"组状态故障,,或者是"组状态未使用"的情 况下,副存储系统100B的组状态改变为接收状态,并结束日志读处理(步骤 1730、 1735)。
(5) 当正存储系统IOOA的应答为上述情况之外,即正常结束的情况下,调 查日志逻辑巻的巻状态(步骤1740)。在日志逻辑巻的巻状态为"异常"的情况 下,由于不可能在日志逻辑巻中存储日志,因此,组状态改变为"异常",并结 束处理(步骤1745)。这种情况,执行将日志逻辑巻变更为正常逻辑巻等,并正 常返回组的状态。
(6) 在步骤1740的调查中,在日志逻辑巻的巻状态为"正常"的情况下,执 行后述的日志存储处理1800。在日志存储处理1800正常结束的情况下,发送 下一个日志读命令。或者是在经过一定时间后,发送下一个日志读命令(步骤 1760)。发送下一个日志命令的定时,可以以一定的时间间隔定期发送,也可 以由接收的日志的个数,或者是,连接线200的通信量、副存储系统100B保 持的日志的存储容量,副存储系统100B的负荷等来决定。此外,也可以从副 存储系统100B中,读出存储系统IOOA保持的日志的存储容量,或者正存储 系统100A的指针信息,从而根据该数值来作决定。上述信息的传输,也可以 用专用的指令来执行,也可以包含于日志读命令的应答内。此后的处理,与步 骤1710后的相同。
(7) 在步骤1800的日志存储处理没有正常结束的情况下,由于不足日志逻 辑巻的未使用区域,因此舍弃接收的日志,并在一定时间后发送重试指示的曰
25志读命令(步骤1755)。或者是,将日志保持在高速缓冲存储器内,并在一定时 间后,再次执行日志存储处理。这是因为,由于执行后述的重新启动处理250, 因此,在一定时间后,存在日志逻辑巻内的未使用区域增加的可能性。在这种 方式的情况下,就不需要日志读命令内的重试指示的有无。 接下来,就图18所示的日志存储处理1800进行说明。
(1) 主适配器B调查日志是否可能存储在日志逻辑巻内。使用指针信息 700,来调查更新信息区域内的未使用区域的有无(步骤1810)。在指针信息700 的更新信息最新地址和更新信息最旧地址相等的情况下,由于在更新信息区域 内不存在未使用区域,因此以日志作成失败而结束了处理(步骤1820)。
(2) 在步骤1810的调查中,当更新信息区域内存在未使用区域的情况下, 使用指针信息700,来调查是否能够在写入数据区内存储写入数据(步骤1830)。 在写入数据最新地址和接收的日志的写入数据的数据量的和,等于或大于写入 数据最旧地址的情况下,由于不能在写入凄丈据区内存储写入数据,因此以日志 作成失败而结束了处理(步骤1820)。
(3) 在日志可存储的情况下,主适配器B改变接收的更新信息的组编号, 和曰志逻辑巻的逻辑地址。组编号变更为副存储系统100B的组编号,日志逻 辑巻的逻辑地址变更为指针信息700的写入数据最新地址。主适配器B,将指 针信息700的更新信息最新地址变更为在更新信息最新地址上加上了更新信 息之大小后的数值。主适配器B,将指针信息700的写入数据最新地址,变更 为在写入数据最新地址上加上了写入数据之大小后的数值(步骤1840)。
(4) 主适配器B,命令盘适配器120:将跟新信息和写入数据读入存储装置 150内,并以日志作成成功而结束该处理(步骤1850,图16的1630)。之后, 盘适配器120通过读写处理,将更新信息和写入数据写入存储装置150,并释 放高速緩冲存储器130(图16的1640)。
在前述的日志存储处理中,是将日志保存于存储装置150内的,但是由于 为日志用途准备了一定量的高速緩冲存储器130,因而使用了所有的高速緩冲 存储器,因此,也可以将日志保存于存储装置150内。日志用的日志存储器量 例如从维修终端进行指定。
图19是说明重新启动处理250的图。图20是流程图。以下,使用这些附
26图,对副存储系统100B的主适配器B利用日志,来执行数据更新之操作进行 说明。重新启动处理250也可以是副存储系统100B的盘适配器12(H丸行处理。
(1) 主适配器B,调查组编号B的组状态是否为"正常,,(步骤2010)。在步骤 2010的调查中,在组状态为"正常"以外,例如"故障"的情况下,结束重新启动 处理(步骤2015)。
(2) 在步骤2010的调查中,当组状态为"正常"的情况下,调查曰志逻辑巻 的巻状态(步骤2020)。在步骤2020的调查中,在日志逻辑巻的巻状态为"异常" 的情况下,由于不可能进行访问,组状态改变为"异常",并结束处理(步骤 2025)。
(3) 在步骤2020的调查中,在日志逻辑巻的巻状态为"正常"的情况下,调 查是否存在重新启动对象的日志。主适配器B获取指针信息700的更新信息 最旧地址和更新信息最新地址。当更新信息最旧地址和更新信息最新地址相等 的情况下,由于不存在日志,因此一旦重新启动处理结束,则会在一定时间后, 再次开始重新启动处理(步骤2030)。
(4) 在步骤2030的调查中,在存在重新启动对象的日志的情况下,针对持 有最旧(最小)的更新编号之日志执行下一个处理。持有最旧(最小)的更新编号 之日志的更新信息,从指针信息700的更新信息最旧地址开始被保存。主适配 器B,确保高速緩冲存储器130,命令盘适配器:从更新信息最旧地址开始, 将更新信息之大小信息读入高速援冲存储器130内(图19的1910)。
盘适配器的读写处理,从存储装置150中读出更新信息,保存于高速緩冲 存储器130内,并通知给主适配器B(图19的1920)。
主适配器B接受更新信息的读结束通知,并从更新信息中获取写入数据 的逻辑地址以及写入数据的大小,确保高速緩冲存储器130,并命令盘适配器: 将写入数据读入高速緩沖存储器内(图19的1930)。
主适配器B的读写处理是从存储装置150中读出写入数据,并将其保存 于高速緩冲存Y者器!30内,并通知给主适配器(步骤2040、图19的1940)。
(5) 主适配器B从更新信息中求出更新的副逻辑巻的逻辑地址,并命令盘 适配器:将写入数据写入副逻辑巻内(步骤2050,图19的1950)。盘适配器的 读写处理,将lt据写入与副逻辑巻的逻辑地址对应的存储装置150内,并释放高速緩冲存储器130,之后,通知给主适配器(图19的1960)。
(6)主适配器B接受盘适配器的写入处理结束的通知,释放日志的存储区。 日志的存储区的释放处理,将指针信息700的更新信息最旧地址变更为加上了 更新信息之大小后的数值。在最新信息最旧地址变为写入数据区开始地址的情 况下,写入数据区开始地址为O。指针信息700的写入l史据最旧地址,变更为 加上了写入数据之大小后的数值。当写入数据最旧地址变成日志逻辑巻的容量 以上的逻辑地址的情况下,减去写入数据区开始地址而进行修正。之后,主适 配器B开始下一个重新启动处理(步-骤2060)。
前述重新启动处理250,将日志从存储装置150读入到高速緩冲存储器130 内,但是,当其存在与高速緩冲存储器130内的情况下,则不需要该处理。
在所述日志读接收处理和日志读命令处理240中,是利用指针信息700 来决定正存储系统IOOA发送的日志的,但是,也可以决定副存储系统100B 发送的日志。例如,将更新编号追加到日志读命令上。在这种情况下,在曰志 读接收处理中,为了求出副存储系统IOOB指定的更新编号的更新信息的逻辑 地址,而在正存储系统IOOA的共用存储器140内,设置了表或检索方法,用 于从更新编号中求出存储了更新信息之逻辑地址。
在前述日志读接收处理和日志读命令处理240中,尽管使用了日志读命 令,但是也可以使用通常的读命令。例如,将正存储系统100A的组信息600 和指针信息700预先传送到副存储系统100B内,副存储系统100B读出正存 储系统100A的日志逻辑巻的数据(即日志)。
在前述的日志读接收处理中,是以按照更新编号的顺序,将日志从正存储 系统IOOA发送到副存储系统100B内的情况为例进行说明,但是,也可以不 按更新编号的顺序发送。也可以将多个日志读命令从正存储系统IOOA发送到 副存储系统100B内。这种情况下,为了在重新启动处理中按照更新编码顺序 处理日志,因此,在副存储系统100B中,设置了从更新编号中求出存储了更 新信息之逻辑地址的表或检索方法。
在前述本发明的数据处理系统中,正存储系统获取了日志,副存储系统执 行数据的复制。由此,与正存储系统相连的主机,不承担与数据复制相关的负 荷。此外,由于在正存储系统和副存储系统之间传输日志,因此,没有使用正存储系统和与正存储系统相连的主机的通信线。
图23是显示本发明第二实施例的逻辑结构的图。
主机180和存储系统100C通过连接总线190相连,存储系统100C和正 存储系统100A通过连接总线200相连,正存储系统100A和副存储系统100B 通过连接总线200而连接构成。存储系统100C,在对存储系统100C的逻辑巻 (ORGl)执行数据更新时,执行逻辑巻(ORGl)的数据更新和正存储系统100A 内的逻辑巻(DATA1)的数据更新。
正存储系统100A,如第一实施中所说明的那样,在对正逻辑巻(DATA1) 进行数据更新时,还利用前述的命令接收处理210和读写处理220,而在日志 逻辑巻(JNL1)内执行日志的保存(2310)。
副存储系统IOOB,利用前述的日志读处理240,从正存储系统100A中读 出日志,利用读写处理220,将日志保存到日志逻辑巻(JNL2)内(2320)。
正存储系统IOOA在接收到从副存储系统100B中读出日志的命令后,利 用命令接收处理210和读写处理220,从日志逻辑巻(JNL1)中读出日志,并将 其传送给副存储系统100B(2320)。
副存储系统100B利用前述的重新启动处理250和读写处理220,按照更 新编号,从日志逻辑巻(JNL2)中读出日志,并更新作为正逻辑巻(DATA1)之副 本的副逻辑巻(COPYl)的数据(2330)。如此,由于按照更新编号的顺序来更新 数据,因此能够确保逻辑巻之间的数据的一致性。
在前述的本发明的数据处理系统中,正存储系统获取日志,并将其存储于 曰志专用的存储区内。另外,副存储系统将从正存储系统中接收的日志存储在 日志专用的存储区内。日志专用的存储区可能比数据复制对象的存储区更少, 但利用这更少的存储容量,能够在副存储系统中,实现正存储系统的凄史据的复 制。
图24是显示第三实施例的逻辑结构的图。
主机180和存储系统100C通过连接总线190进行连接,存储系统100C 和正存储系统100A通过连接总线200进行连接,正存储系统100A和副存储 系统100B通过连接总线200连接而构成。存储系统100C就像是在已有技术 中说明的那样,在执行对存储系统IOOC的逻辑巻(ORGI)的数据更新时,执行逻辑巻(ORGl)的数据更新和正存储系统100A的逻辑巻(DATAl)的凄t据更新。
正存储系统100A是以相对于存储系统100C的、具有正逻辑巻(DATA1) 的方式显现的,但是实际的存储区,即存储装置150并没有分割。例如,在巻 信息400的物理地址中,设定了显示没有分割存储装置150的数值。正存储系 统IOOA,在从存储系统IOOC到正逻辑巻(DATAI)的数据的写入命令接收时, 不执行前述的命令接收处理210内的步骤1270的处理,而仅仅在日志逻辑巻 (JNL1)中执行日志的保存(2410)。
副存储系统100B通过所述日志读处理240,从正存储系统100A中读出 日志,并利用读写处理220,将日志保存于日志逻辑巻(JNL2)内(2420)。
正存储系统100A,在从副存储系统100B接收了读出如之的命令之后, 利用命令接收处理210和读写处理220,从日志逻辑巻(JNL1)中读出日志,并 将其发送到存储系统100B内(2420)。
副存储系统100B,利用所述重新启动处理250和读写处理220,根据更 新编号,从日志逻辑巻(JNL2)中读出日志,并更新作为逻辑巻(0RG1)之副本 的副逻辑巻(COPYl)的数据(2430)。这样,由于按照跟新编号的顺序来更新数 据,因此,可能保持逻辑巻间的数据的一致性。
在前述的本发明的数据处理系统中,在存储系统100C,或者与存储系统 IOOC相连的主机180中产生故障的情况下,由于对副存储系统100B的逻辑巻 (COPYl),反映了正存储系统100A内的日志(JNL1),因此,利用与存储系统 100B相连的主机,可以执行最新数据的对照、更新。此外,通过在正存储系 统100A内不保持数据副本,而仅仅存储日志,从而可使数据复制中所需的存 储容量减少。
以上,是基于实施例的形式来具体说明本发明的发明人所作出的发明,但 是,本发明并不仅仅限于实施例例,在不脱离其主旨的范围内,也可以有各种 改变。
(发明效果)
根据本发明,能够提供这样一种存储系统:不对存储系统的上一级计算机 施加影响,而可以在多个存储系统间执行数据传输或数据复制。此外,能够提 供对存储系统和计算机之间的通信也不施加影响的存储系统。此外,根据本发明,能够减少在多个存储系统内保持的数据存储区。又, 能够以不对多个存储系统的上一级计算机的业务施加影响的方式,高速且有效 地在多个存储系统之间执行数据传输或数据的复制。
31