存储装置、控制器以及存储了程序的计算机可读记录介质的制作方法

文档序号:6378271阅读:164来源:国知局
专利名称:存储装置、控制器以及存储了程序的计算机可读记录介质的制作方法
技术领域
在本文讨论的实施例涉及存储装置、控制器以及具有存储在其中的程序的计算机可读记录介质。
背景技术
一种称为单点拷贝(OPC)的方案是一种已知的将存储在产品(诸如存储装置或计算机等)的复制源卷中的数据进行备份的方法。OPC创建了称为快照的数据,该数据包含在某一时间点要被备份的数据,但是其不包含在该时间点之后的更改。换言之,OPC是将复制源卷中的、要在快照创建的时间点被复制的全部数据进行备份的方案。例如,如果执行OPC的存储系统接收到执行OPC的OPC指令,则该系统在接收到OPC指令时将将复制源卷的全部数据进行复制。然后,存储系统将数据作为在接收到OPC指令时的快照存储到复制目标卷中,该数据是在复制源卷中的数据的副本。换言之,复制源卷中的数据的副本也可以被认为是备份数据。例如,存储系统将通过复制全部复制源卷而生成的备份数据存储到与会话数据相关的复制目标卷,该会话数据包含接收到OPC指令的时间和正被复制的数据的生成。专利文献1:第2007-334709号日本早期专利公开。然而,如果在复制源卷的快照创建之前发出用于复制源卷的重写请求,则存储系统中的该种现有的数据备份方式具有在重写没有创建之前备份数据的可能性。附图12是描述现有的OPC处理的图。在图12的示例中,存储系统包括卷01_04和11-14。第一复制会话将卷01的快照存储到卷11中;类似地,第二复制会话将卷02的快照存储到卷12中;第三复制会话将卷03的快照存储到卷13中;以及第四复制会话将卷04的快照存储到卷14中。在图12的示例中,发出写请求以将数据“a”重写到卷01的存储数据“A”的区域。类似地,发出重写请求以将数据“b”重写到卷02的存储数据“B”的区域;将数据“c”重写到卷03的存储数据“C”的区域;以及将数据“d”重写到卷04的存储数据“D”的区域。以卷01、02、03以及04的顺序创建各自卷的快照。图12的示例假定正好在卷02的快照创建之前的时间点发出请求(I/o处理请求)以将数据“C”写入卷03中的数据“C”的区域。首先,未示出的主机装置向卷01发出OPC的启动命令,并且作为响应,如通过箭头Al所示,卷01中存储数据A的区域的快照被存储到卷11中。之后,在I/O处理请求时数据“a”被写入卷01中存储数据A的区域(参见箭头A2)。然后,数据“c”被写入卷03中存储数据C的区域(参见箭头A3)。之后,向卷02发出启动命令,并且如通过箭头A4所示,卷02中存储数据B的区域的快照被存储到卷12中。而且,数据“b”被写入在卷02中存储数据B的区域(参见箭头A5)。然后,向卷03发出启动命令,并且如通过箭头A6所示,在卷03中存储数据C的区域的快照被存储到卷13中。在此,因为已经用数据“(^’重写了在卷03中的数据C,数据“c”的快照被存储到卷13中。如上所述,尽管存储系统意在创建存储在卷01-04中的数据A、B、C、以及D的快照,但是因为在向卷03发出启动命令之前执行了 I/O处理请求中的处理,对于卷03创建了重写之后的数据“c”的快照。结果,难以创建确保快照的定时完全性(integrity of timing)的多个卷的快照。作为创建确保快照的定时完全性的多个卷的快照的一个解决方案,可以提议在完成与用于所有卷01-04的启动命令相关的处理之前临时地停止I/O处理请求的接收,以阻止在启动命令发出之前执行I/O处理。然而,在完成与用于所有卷01-04的启动命令相关的处理之前临时地停止I/O处理请求的接收,有可能延迟I/o处理并且影响存储装置的操作。

发明内容
作为一个方面,本实施例的目的是实现数据备份,该数据备份与确保将要被复制的数据的定时完全性的多个复制会话相关。在上述目的之外,从描述本发明的以下实施例的各种的配置得到的,而非通过现有技术实现的效果,也被认为是本发明的目的。根据实施例的某个方面,存储装置包括:复制源卷,存储将要被复制的数据;复制目标卷,存储复制源卷的数据的副本;复制处理器,执行复制处理,复制处理将存储在复制源卷中的数据的副本存储到复制目标卷;复制管理器,准备与复制处理相关的复制并且将复制处理设置为待命状态;激活管理器,设置激活目标数据,激活目标数据代表对于由来自上级装置的激活指令指定的复制处理将要激活的目标;以及复制控制器,取消被设置了激活目标数据的复制处 理的待命状态,并且使复制处理器执行复制处理。另外,提供了一种控制器装置,控制装置对于将存储在复制源卷的数据的副本存储到复制目标卷进行控制,控制器装置包括:复制处理器,执行复制处理,复制处理将存储在复制源卷中的数据的副本存储到复制目标卷;复制管理器,准备与复制处理相关的复制并且将复制处理设置为待命状态;激活管理器,设置激活目标数据,激活目标数据代表对于由激活指令指定的复制处理将要激活的目标;以及复制控制器,取消被设置了激活目标数据的复制处理的待命状态,并且使复制处理器执行复制处理。另外,提供了一种存储了程序的计算机可读记录介质,该程序用于使计算机执行对于将存储在复制源卷中的数据的副本存储到复制目标卷的控制,控制包括:准备与复制处理相关的复制,复制处理将存储在复制源卷中的数据的副本存储到复制目标卷;将复制处理设置为待命状态;设置激活目标数据,激活目标数据代表对于由激活指令指定的复制处理将要激活的目标;取消被设置了激活目标数据的复制处理的待命状态;以及执行复制处理。在此公开的技术可以实现与多个复制会话相关的数据备份,从而在不降低I/O处理的能力的情况下确保将要备份的数据的定时的完全性。


图1是示意性地示出根据第一实施例的存储系统的配置的示例的框图;图2是示意性地示出存储装置的卷配置的示例的图;图3是描述第一实施例的会话管理表的示例的图;图4是描述第一实施例的存储系统的复制位图的示例的图;图5是表示在第一实施例中在轮询时机中激活的一连串程序步骤的示例的流程图;图6是表示在第一实施例的存储系统中在来自主机装置的I/O时机中激活的一连串程序步骤的示例的流程图;图7是表示通过第一实施例的存储系统的主机装置执行的一连串程序步骤的示例的流程图;图8是表示通过第一实施例的存储系统的存储装置的会话定义的一连串程序步骤的示例的流程图;图9是示意性地示出复制会话的卷配置的示例的图;图10是示意性地示出当接收到CCC命令时,通过根据第一实施例的存储系统的存储装置执行的一连串程序步骤的示例的流程图。图11是示意性地描述复制会话的状态转变的图;以及图12是描述现有OPC处理的图。
具体实施例方式在下文中,将参照附图进行描述,该描述涉及根据实施例的存储装置、控制器、以及具有存储在其中的程序的计算机可读的存储介质。然而,应当注意,以下实施例是示例,并且无意排除未在以下实施例及其修改例中提及的技术的修改和应用。换言之,可以改变或修改以下实施例和修改例而不背离本发明的宗义。图1示意性地示出了根据第一实施例的存储系统I的配置的示例;并且图2示意性地示出了存储装置10的卷配置的示例。如在图1中所示,充当第一实施例的示例的存储系统I经由未示出的通信线被连接到充当上级装置的主机装置2。主机装置2将数据写入到连接到其上的存储装置10的卷(逻辑卷)并且从连接到其上的存储装置10的卷(逻辑卷)读取数据。例如,主机装置2向充当存储装置10的商业卷的复制源卷#00-#02 (参见图2)发出输入/输出(I/O)处理请求以读和/或写(B卩,数据存取请求)。响应于I/O处理请求,存储装置10存取在复制源卷#00-#02中的数据并且然后回复主机装置2。主机装置2是信息处理器,并且通过计算机例示主机装置2,该计算机装备有未示出的中央处理器单元(CPU)、随机存取存储器(RAM)、以及只读存储器(ROM)。例如,主机装置2创建与将要在存储装置10中执行的复制会话(复制处理)相关的会话数据。该会话数据与复制会话相关,并且该会话数据包括例如以下的数据段:会话ID ;复制源的逻辑单元号(LUN)和起始逻辑块地址(LBA);复制目标的LUN和起始LBA ;BC (块数目);以及复制类型。
通过主机装置2创建的会话数据被发送到存储装置10,并且作为将在以下描述的会话管理表201 (参见图3)被存储到存储装置10的RAM121等中。可以通过任何已知的方法创建会话数据。而且,如下详述地,主机装置2向存储装置10发出并行控制复制命令(在下文中称为CCC命令)。CCC命令是同时使处于就绪状态(将在下面详述)的多个复制会话进入激活状态(将在下面详述)的指令,并且该命令包括,例如,启动或重启命令以及指定将要进入激活状态的多个复制会话的参数数据(例如,会话ID)。在此,主机装置2使用CCC命令中的启动命令在任意时间点激活复制会话,而当存储装置10重启时使用CCC命令中的重启命令激活复制会话。主机装置2具有通过现有方案向单个卷发出启动或重启命令来创建每个单个卷的备份的额外功能。存储装置10为主机装置2提供存储区域,并且通过冗余磁盘阵列(RAID)装置例示存储装置10。为了方便起见,图1示出了连接到单个主机装置2的存储装置10,但是替选地,存储装置10可以连接到两个或多个主机装置2。替选地,其它的存储装置可以被连接到存储装置10。可以想到对图1的存储系统的各种修改。如在图1中所示,存储装置10包括控制器模块(CM) 111和211、通道适配器(CA)124、以及磁盘单元131和231。CM 111和211执行存储装置10中的各种控制,诸如响应于来自主机装置2的I/O处理请求对磁盘单元131和231的存取控制。通过硬盘驱动器(HDD)例示磁盘单元131和231。CM 111连接到一个或多个(在图1的示例中为二个)HDD 131 ;并且CM 211连接到一个或多个(在图1的示例中为二个)HDD231。在存储装置10中,HDD131和231的存储区域被指定给逻辑卷。连接到CM 111的HDD131的数量和连接到CM 211的HDD 231的数量可以有各种各样的改变。在图2的示例中,存储装置10包括六个逻辑卷(在下文中简单地称为多个卷)LUN0-LUN2 和 LUN10-12:LUN0_LUN2 被指定给 HDD 131 并且 LUN10-LUN12 被指定给 HDD 231。在下文中,LUN0-LUN2有时被分别地称为#00-#02,并且LUN10-LUN12有时被分别地称为#10-#12。此存储系统I具有将数据从存储装置10中的一个卷复制到另一个卷的数据复制功能。第一实施例将描述示例,该示例假定连接到CM 111的卷#00-#02中的数据被复制到连接到CM 211的卷#10-#12。这意味着卷#00-#02是复制源卷并且卷#10-#12是复制目标卷。针对以上情况,卷#00-#02有时被称为复制源卷;#10-#12有时被称为复制目标卷;数据复制可能有时被称为数据传输或数据备份。例如,复制源卷#00_#02是主机装置2的存储商业数据的商业卷,并且通过基于来自主机装置2的I/O处理请求的数据写入来更新复制源卷#00-#02。在此存储系统I中,存储在存储装置10的复制源卷#00-#02中的数据将会被复制以用于备份。复制目标卷#10_#12用作存储装置10中的复制源卷#00_#02的备份-目标卷(本地备份)。换言之,复制源卷#00-#02的数据(复制源数据)作为备份数据被分别地存储到复制目标卷#10-#12中。CA 124是将CM 111或211可通信地连接到主机装置2的接口控制器,并且通过光纤通道适配器例示CA 124。例如,CA 124接收复制存储装置10中的数据的指令,通过作业员将该指令输入到主机装置2。同样地,CA 124从主机装置2接收到用于卷#00-#02的I/O处理请求。DA 126和266是分别将CM 111和211可通信地连接到HDD 131和231的接口控制器,并且通过光纤通道适配器、SCSI适配器、或iSCSI适配器例不DA 126和266。如在图1中所示,CM 111是包括CPU 110、ROM 122、以及RAM 121的信息处理器;并且CM 211是包括CPU 210、ROM 222、以及RAM 221的信息处理器。在第一实施例中,CM111管理复制源卷#00_#02,并且CM 211管理复制目标卷#10_#12。RAM 121和122是临时地存储各种数据段和程序的存储器(存储器区域)。RAM 121和122的预定的区域临时地存储从主机装置2接收的数据和将要发送到主机装置2的数据,并且因此起缓冲存储器的作用。另外,当将在以下详述的CPU 110和210要执行程序时,相关的数据和程序被临时地存储并且扩展到RAM 121和221的其它区域。另外,RAM 121的另一区域存储以下将详述的会话管理表201。RAM 121的另一区域存储以下将详述的复制位图132。上述的分别存储在RAM 121和221中的各个区域的数据段可能替选地存储在各个存储器装置中。可以适当地修改存储这些数据段的方式。ROM 122和222是存储器装置,该存储器装置存储将要由CPU 110和210分别执行和使用的程序和各种数据段。CPU 110和210是处理器,该处理器执行各种的控制和计算,并且通过执行存储在ROM 122和222以及其它中的程序实现各种的功能。如在图1中所示,CPU 110用做数据存取控制器11、复制处理器12、会话定义器
13、激活管理器14、以及异步激活控制器15。以存储在计算机可读的记录介质(诸如软盘、⑶(例如⑶-ROM、⑶-R、⑶-RW)、以及DVD (例如 DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD+RW、HD DVD)、蓝光光盘、磁盘、光盘、以及磁
光盘等)中的形式,提供了用于实现数据存取控制器11、复制处理器12、会话定义器13、激活管理器14、以及异步激活控制器15的功能的程序。计算机从记录介质读取程序并且将程序存储到内部或外部的存储装置用于将来使用。程序可以存储在存储装置(记录介质)中,存储装置诸如是磁盘、光盘、以及磁光盘,并且该程序可以从存储装置通过通信通道提供给计算机。通过微处理器(对应第一实施例的CPU 110)执行存储在内部存储装置(对应第一实施例中RAM 121或ROM 122)中的程序来实现数据存取控制器11、复制处理器12、会话定义器13、激活管理器14、以及异步激活控制器15的功能。替选地,计算机可以读取存储在记录介质中的程序并且执行所读取的程序。在此,计算机包括硬件和操作系统(OS)、以及在OS的控制下操作的装置硬件。另夕卜,如果程序独立于OS操作硬件,则硬件对应于计算机。硬件至少包括微处理器(诸如CPU)和读取记录在存储介质中的计算机程序的装置。在第一实施例中,CM 111和211充当计算机功能。数据存取控制器11响应于来自主机装置2的I/O处理请求存取在复制源卷#00-02中的数据。例如,当主机装置2发出用于从卷#00-02读取数据和将数据写入卷#00-02的存取请求(即,I/O处理请求)时,数据存取控制器11响应于I/O处理请求,从卷#00-02读取数据和将数据写入卷#00-02。使从主机装置2接收的I/O处理请求进入队列(例如,未示出的管理队列)。数据存取控制器11以FIFO (先进先出)方式顺序地将I/O处理请求从管理队列中除去,并且对该I/O处理请求执行相应处理。复制处理12将存储在复制源卷#00-02每个中的复制源数据的副本转发至复制目标卷#10-12中的相应卷,并且将各个副本存储到复制目标卷#10-12,以使得可以备份存储在复制源卷的数据。在第一实施例中,复制处理器12以通过OPC、SnapOPC、SnapOPC+、或者QuickOPC例示的方式将存储在复制源卷#00-02每个中的复制源数据的副本转发至复制目标卷#10-12中的相应卷。以上在OPC中备份复制源卷#00-02的数据的方式是已知的,因此在此省略详细的描述。在下文中,将进行与在OPC方案中与通过复制处理器12从复制源卷#00_#02至复制目标卷S10-S12的数据转发示例相关的描述。以如同OPC方案的这样的方式的复制处理的一个周期单位称为“会话”。在下文中,将复制源卷中的数据的副本存储到复制目标卷的复制操作有时称为“复制会话”或简单地为“会话”。复制处理器12不执行其状态(将在以下详述)未被设置为“激活”的复制会话。因此,在存储系统I中的复制处理器12还充当禁止执行状态未被设置为“激活的”复制会话的禁止器。会话定义器(复制管理器)13准备与复制会话相关的复制,并且定义复制会话。为了准备与复制会话相关的复制,例如,会话定义器13设置识别复制会话的会话ID、获取用于复制会话的资源、以及创建会话管理表201和复制位图132。获取用于复制会话的资源是,例如保留在复制目标卷中的存储区域以存储将要复制的数据。关于在复制目标卷中保留的存储区域的数据被存储在会话管理表201中。会话ID是唯一地识别相应复制会话的识别数据。可以使用例如获取会话ID命令或启动命令以任何已知方法定义复制会话。对于与重启相关的复制会话,使用重启命令代替启动命令。图3是描述第一实施例的存储系统I中的会话管理表201的示例的图。会话管理表201包括用于管理与复制会话相关的数据的管理数据。如在图3中所描述,在会话管理表201中,互相关联地管理会话ID、复制源的起始LBA的LUN、复制目标的起始LBA的LUN、块数目(BC)、复制类型、状态、异步启动、以及异步重启。“复制源的LUN”是为在对应的复制会话中存储将要被复制的数据的卷设置的LUN,即为充当数据转发源的卷设置的LUN。“复制源的起始LBA”是在对应的复制会话中代表将要被复制的区域的起始位置的地址。“复制目标的LUN”是为在对应的复制会话中数据被转发到的卷设置的LUN,并且“复制目标的起始LBA”是代表在对应的复制会话中存储将要复制的数据的区域的起始位置的地址。“BC”代表在对应的复制会话中将要复制的数据的大小(副本大小,块大小)。“复制类型”是对应的复制会话的类型,并且在该类型中设置代表例如0PC、SnapOPC, SnapOPC+、或者QuickOPC的数据。“状态”是对应的复制会话的状态,并且具体地代表通过会话定义器13准备复制的进程。“状态”的示例为“空闲”、“保留”、“就绪”、“激活的”以及“错误/挂起”。在此,“空闲”代表没有执行对应的复制会话的状态;“保留”代表在通过会话定义器13进行的复制的准备中保留会话ID但不获取资源的状态;“激活”代表正在执行复制会话(正被复制的)的状态;以及“错误/挂起”代表出于某一原因不能执行复制会话的状态。例如,如果将要复制的数据损坏或复制源或复制目标不能存取,则将状态设置为“错误/挂起”。“就绪”代表在通过会话定义器13进行的复制的准备中完成保留会话ID和获取资源的状态。换言之,“就绪”是能够执行复制会话但是还未执行复制会话的状态(即,待命状态)。依照准备复制的进程通过会话限制器13不定期地设置这些状态。会话定义器13还充当复制管理器,复制管理器将完成复制准备的复制处理设置为待命状态(就绪)。“异步启动”和“异步重启”是代表对应的复制会话将通过异步激活控制器15 (将在以下详述)激活的数据(激活目标数据)。换言之,“异步启动”和“异步重启”是代表对应的复制会话将要激活的激活目标数据。例如,在“异步启动”和“异步重启”的每个中设置“O”或“I”作为标志。当为“异步启动”或“异步重启”设置标志“I”时,将要激活对应的复制会话,并且如在下详述的,异步激活控制器15激活复制会话。在此,“异步启动”代表对应的复制会话要受到异步激活控制器15在任一定时执行的激活;并且“异步重启”代表复制会话要在存储装置10重启时受到激活。通过激活管理器14在会话管理表201中设置“异步启动”和“异步重启”。对于通过从主机装置2接收的CCC命令的参数指定的复制会话,激活管理器14在“异步启动”和“异步重启”中设置“I”。具体地,如果接收到的CCC命令包括启动命令,则激活管理器14在“异步启动”中设置标志“I”;并且如果接收到的CCC命令中包括重启命令,则激活管理器14在“异步重启”中设置标志“I”。在下文中,会话管理表201中的“异步启动”有时被称为异步激活标志,并且类似地,会话管理表201中的“异步重启”有时被称为用于重启的异步激活标志。在下文中,具有设置为“I”的异步激活标志或用于重启的异步激活标志的复制会话有时被称为异步激活目标复制会话。例如,将进行关于具有在会话管理表201开始时注册的会话ID “00”的复制会话的描述。具有会话ID#00的复制会话具有OPC的复制类型。该复制会话将在卷LUN “00”中从地址LBA “000”起始的1000块数据复制到在在卷LUN “10”中从地址LBA “000”起始的区域中。如在图3中所示,具有会话ID “00”的复制会话处于就绪的状态,并且正等待通过异步激活控制器15执行的激活。另外,为具有会话ID “00”的复制会话设置异步激活标志“I”。换言之,为具有会话ID “00”的复制会话设置异步激活标志“I”。换言之,具有会话ID “00”的复制会话是异步激活控制器15 (将在以下详细描述)的激活目标。通过会话定义器13创建的会话管理表201存储在例如RAM 121中。复制位图132是与在存储系统I中提供的卷之间的转发状态相关的管理数据。
例如通过将复制源卷分割为多个单元区域(多个单元区域中的每个单元区域具有预定的大小(例如,8KB)),并且将每个单元区域与代表存储在该单元区域中的数据是否被转发到复制目标卷的数据相关联而创建复制位图132。换言之,复制位图132管理处于转发复制源卷#00的数据的状态中的进程。当存储装置10具有多个复制会话时,会话定义器13为每个复制会话创建复制位图 132。图4是表示作为第一实施例的示例的存储系统I的位图132的图。在图4的示例中,复制源卷#00被分割成4个区域(部分),使得复制位图132将构成复制源卷#00的四个区域的每个区域与代表在该区域内的转发数据是否完成的数据“O”或“I”相关联。例如,为该区域的数据还没有被转发的区域设置数据“I”,而为该区域的数据已经被转发并且不需要进一步复制的区域设置数据“O”。复制处理器12参考复制位图132并且顺序地复制区域中的数据,对于各个区域“I”代表在该区域中的数据还没有被转发到复制目标卷。另外,复制处理器为在其中数据转发已经完成的区域设置数据“ O ”。因此,通过参照复制位图132可以容易的确定构成复制源卷#00的多个区域的每个中的数据是否已经被转发。激活管理器14在与通过从主机装置2接收到的CCC命令中的参数指定的复制会话相关的会话管理表201的“异步启动”或“异步重启”中设置标志“I”。具体地,当从主机装置2接收到包含启动命令的CCC命令时,对由接收到的CCC命令指定的复制会话,激活管理器在会话管理表201的“异步启动”中设置标志“I”。类似地,当从主机装置2接收到包含启动命令的CCC命令时,对通过接收到的CCC命令指定的复制会话,激活管理器在会话管理表201 “异步重启”中设置标志“ I ”。依照从主机装置2接收到的CCC命令,激活管理器14设置目标数据(异步激活标志),该数据代表复制会话是用于通过接收到的CCC命令指定的复制会话的激活的目标。异步激活控制器15将与“异步启动”或“异步重启”(在会话管理表201中在该“异步启动”或“异步重启”中设置标志“I)相关的复制会话的状态从“就绪”改变为“激活”。在下文中,术语“激活”意味着将复制会话的状态从“就绪”改变为“激活”。在本存储系统I中,复制处理器12执行复制会话,该会话被确认为与设置为“I”的异步激活标志和设置为“激活”的状态相关。换言之,复制处理器12不执行与“激活”状态无关的复制会话。异步激活控制器15 (复制控制器)取消与被设置为“I”的异步激活标志相关的复制会话的就绪的状态,并且然后设置复制会话的状态为激活。因此,异步激活控制器15使复制处理器12执行与复制会话相关的复制。异步激活控制器15将在会话管理表201中的复制会话的状态从就绪改变为激活。在本存储系统I中,异步激活控制器15在(I)轮询时机和(2)来自主机装置2的I/o时机时激活复制会话。(I)轮询时机的激活在本存储系统I中的存储装置10在每个预定的间隔(例如,I秒)开始轮询。在轮询过程中,激活管理器14参考会话管理表201中的异步激活标志。激活管理器14顺序地将异步激活标志被设置为“ I”的复制会话的状态从就绪改变为激活。参照图5的流程图(步骤AlO至A70),现在将描述在第一实施例的示例的存储系统I中在轮询时机激活的一连串程序步骤。在轮询开始时,异步激活控制器15将在会话管理表201开始时注册的复制会话设置(选择)为将要处理的复制会话(步骤A10)。异步激活控制器15确定所选择的复制会话的异步激活标志是否被设置为“I” (步骤A20)。如果异步激活标志被设置为“I”(参见步骤A20中的是的路线),则异步激活控制器15将选择的复制会话的状态从就绪改变为激活(步骤A30)。具体地,异步激活控制器15改变会话管理表201中的状态。异步激活控制器15将会话管理表201中的会话的异步激活标志从“I”改变为“O”(步骤A40)。之后,复制处理器12执行其状态变为激活的复制会话。具体地,复制处理器12参考会话管理表201,并且如在复制会话中所定义的那样将复制源卷中的数据复制到复制目标卷中,从而备份数据(步骤A50)。如上所述,本存储系统I的复制处理器12执行被确认为与被设置为“I”的异步激活标志和被设置为激活的状态相关的复制会话。然后,异步激活控制器15确认对于所有在会话管理表201中注册的复制会话是否完成了程序步骤A20-A50(步骤A60)。如果对于所有复制会话程序步骤A20-A50没有完成,(参见步骤A60中的否路线),则设置下一会话(步骤A70),并且程序返回步骤A20。相反地,如果对于所有复制会话程序步骤A20-A50已经完成(参见步骤A60中的是路线),则程序结束。如果选择的复制会话的异步激活标志未被设置为“I”(参见步骤A20中的否路线),则程序移动至步骤A60。在轮询情况下,以上述方式同时备份通过与在会话管理表201中设置为“I”的异步激活标志相关的一个或多个复制会话指定的数据段。与接收来自主机装置2的CCC命令的时间异步,在存储装置10中在轮询时机的自发的定时(spontaneous timing)执行与设置为“I”的异步激活标志相关的复制会话相关的数据备份。(2) I/O时机的激活在本存储系统I中,当从主机装置2或其它元件接收到对于卷的I/O处理请求并且通过I/o处理请求指定的卷与将要设置为异步激活目标的复制会话的复制区域重叠时,激活异步激活目标的复制会话。具体地,在存储装置10从主机装置2接收到CCC命令之后通过轮询将与设置为异步激活目标的复制会话相关的数据进行备份之前,主机装置2等有时向存储装置10发出I/O处理请求。在以上情况下,如果在接收到I/O处理请求时将要处理的存储区域与被设置为异步激活目标的复制会话的复制区域重叠,则临时禁止I/O处理请求的执行。同时,将被设置为异步激活目标的复制会话激活,并且将在接收到I/O处理请求时将要处理的区域的数据进行备份。之后,执行I/o处理请求。参照图6的流程图(步骤B10-B80)现在将详述在来自充当第一实施例的示例的存储系统I中的主机装置2的I/O时机的激活。当接收到来自主机装置2的I/O处理请求时,存储装置10的CPU 111确定在接收到的I/o处理请求中的将要处理的卷中的区域是否与在会话管理表201中注册的复制会话相关的区域中的任一个区域重叠(步骤B10)。该确定是基于会话管理表201中的LUN、LBA、以及BC的值。如果在I/O处理请求中将要处理的区域与复制会话的复制区域至少部分地重叠(参见步骤BlO中的是路线),则异步激活控制器15确认重叠的复制会话是否具有被设置为“ I ”的异步激活标志(步骤B20)。如果在会话管理表201中重叠复制会话具有被设置为“I”的异步激活标志(参见步骤B20中的是路线),则数据存取控制器11,例如使I/O处理请求进入管理队列(步骤B30)。异步激活控制器15将重叠的复制会话的状态从就绪改变为激活(步骤B40),以使得复制会话变为用于开始的就绪状态。具体地,异步激活控制器15在会话管理表201中将重叠的复制会话的状态从就绪改变为激活。异步激活控制器15在会话管理表201中将重叠的复制会话的异步激活标志设置为“O”(步骤B50)。数据存取控制器11使I/O处理请求从管理队列中退出(步骤B60)。之后,复制处理器12将存储在I/O处理请求中的将要处理的复制源卷的区域(部分)中的数据备份到复制目标卷(步骤B70)。因此,在复制目标卷中备份在经历I/O处理之前的复制源卷的数据。数据存取控制器11执行跟在在步骤B60中出队的I/O处理请求之后的I/O处理(步骤B80)并且结束程序。另一方面,如果在I/O处理请求中的要处理的区域根本不与复制会话的复制区域重叠(参见步骤BlO中的否的路线),则确定来自主机装置2的I/O处理不存取OPC的复制区域,以使得在步骤B80中执行来自主机装置2的I/O处理请求。如果重叠的复制会话具有在会话管理表201中未被设置为“I”的异步激活标志(参见步骤B20中的否路线),则通过从主机装置2接收的I/O处理请求执行通常的0PC。具体地,在步骤B70中备份接收到的I/O处理请求中的要处理的区域的数据,并且然后在步骤B80中执行I/O处理。参照图7的流程图(步骤C10-C30),现在将详述在具有根据第一实施例的上述配置的存储系统I中通过主机装置2执行的处理。当在特定的定时(例如,正好在存储系统I的维护开始之前)要备份存储装,主机装置2执行以下处理。首先,主机装置2指示存储装置10定义复制会话(步骤C10)。定义复制会话的指令包括,例如,指定将是接下来的备份的来源和目的地的复制源卷的区域和复制目标卷的区域的数据。在定义了复制会话的指令之后,存储装置10中的会话定义器13准备复制并且定义复制会话。将在以下描述在存储装置10中定义复制会话的详细处理。会话定义器13将已经完成用于复制的准备的复制会话的状态改变为就绪。主机装置2确认是否完成了所有用于备份数据的复制会话的定义(步骤C20)并且重复步骤ClO直到定义了所有复制会话(参见步骤C20中的否路线)。这意味着当定义了多个复制会话时,将步骤ClO的处理重复与复制会话的数量相同的次数。在完成了所有复制会话的定义之后(参见步骤C20的是路线),主机装置2向存储装置10发出CCC命令,从而指示激活所定义的复制会话(步骤C30)。CCC命令包含作为参数的每个会话ID,会话ID指明将要激活的复制会话。通过该参数指定每个将要激活的复制会话。将在以下详述当接收到CCC命令时存储装置10的处理。接收到CCC命令的存储装置10用命令响应回复主机装置2,以使得主机装置2能够向存储装置10发出I/O处理请求。然后,现在将参照图9和图8的流程图(步骤D10-D30)描述通过第一实施例的示例的存储系统I的存储装置10定义会话。图9是说明关于复制会话的卷配置的示例的示意图。当从主机装置2接收到定义复制会话的指令时(参见图7中的步骤C10),存储装置10的会话定义器13确定是否可以定义所指定的复制会话(步骤D10)。例如,如果出于某些原因(诸如指定的卷不存在)所指定的复制会话不能定义(参见步骤DlO中的否路线),则由于会话定义异常的发生,会话定义器13结束复制会话的定义。优选地,存储装置10对主机装置2通知会话定义异常发生。如果可以定义所指定的复制会话(步骤DlO中的是路线),则会话定义器13获取用于定义复制会话的资源(步骤D20)并且定义复制会话。具体地,会话定义器13在复制目标卷中保留其中存储将要复制的数据的区域,设置用于指定复制会话的会话ID的数据,将会话ID的数据注册到会话管理表201中(换言之,创建会话管理表201),以及创建复制位图132。如在图9中所示,会话定义器13然后在会话管理表201中将定义的复制会话的状态设置为就绪(步骤D30),并且结束程序。存储装置10通知主机装置2会话定义正常的完成。图9的示例假定卷#00_#02被分别地复制到卷#10_#12,并且描述了被设置为就绪的各个复制会话(SSIDs:0至2)的状态。然后,现在将参照图11和图10的流程图(步骤E10-E30)描述当接收到CCC命令时作为第一实施例的示例的存储系统I中的存储装置10的处理。图11示意性地描述了复制会话的状态的转变。当接收到来自主机装置2的CCC命令时(参见图7中的步骤E30),激活管理器14获取以CCC命令中的参数的形式设置的会话ID,并且确定通过会话ID指定的复制会话的状态是否可以改变为激活(步骤E10)。该确定是基于例如,确认与每个指定的复制会话相关的卷是否没有损坏,包括卷的HDD 131和HDD 231是否被供电,和/或HDD 131和HDD 231的马达是否由于节能设置处于关闭状态。如果不能够激活指定的复制会话中的每一个(参见步骤ElO中的否路线),则因为发生命令异常,所以结束关于指定的复制会话的CCC命令处理,。存储装置10通知主机装置2CCC命令发生异常。相反地,如果可以激活指定的复制会话中的每一个(参见步骤ElO中是路线),则激活管理器14在会话管理表201中将复制会话的异步激活标志(异步启动)设置为“I”(步骤 E20)。
之后,激活管理器14确认通过接收的CCC命令指定的所有复制会话的异步激活标志是否都被设置为“I”(步骤E30)。如果通过接收的CCC命令指定的所有复制会话的异步激活标志都被设置为“I”(参见步骤E30中的是路线),则因为CCC命令的正常完成而终止程序。存储装置10通知主机装置2CCC命令正常完成。在图11的示例中,将复制会话(SSID=0_2)的状态从就绪改变为激活,并且然后开始复制。如果通过接收的CCC命令指定的所有复制会话的异步激活标志异步激活标志还未被设置为“I”(参见步骤E30中的否的路线),则程序返回步骤E20。当重启存储装置10时,除了在对应步骤E20的步骤中,激活管理器14将在会话管理表201中的用于指定的复制会话的重启的异步激活标志(异步重启)设置为“I”之外,执行与图10中的CCC命令处理相同的程序,。如上所述,在充当第一实施例的示例的存储系统I中,随着从主机装置2发出的CCC命令之后,会话定义器13定义多个复制会话,并且然后将复制会话的状态设置为就绪,激活管理器14为指定的复制会话设置异步激活标志。之后,在轮询的自发的定时,异步激活控制器15激活具有被设置为I的异步激活标志的每个复制会话,以使得开始与指定的复制会话相关的数据备份。上述程序使得能够在短时间内执行包括通过CCC命令指定的多个复制会话的复制处理。因为可以在短时间内执行包括多个复制会话的复制处理,因此能够减少在备份复制处理过程中输入I/o处理请求的可能性。而且,几乎可以在相同的定时备份与多个复制会话相关的数据。与涉及从主机装置2接收启动命令并且重复由启动命令指定的卷的备份的现有方案相比,复制处理器12可以减少花费在执行包括多个复制会话的备份复制处理上的时间。即使在备份复制处理执行过程中接收到I/O处理请求,如果在接收到I/O处理请求中的要处理的区域与具有被设置为“I”的异步激活标志的复制会话的复制区域重叠,则在创建重叠的复制区域的备份之后执行对应的I/O处理。换言之,如果在接收到I/O处理请求中的要处理的存储区域与被设置为异步激活目标的复制会话的复制区域重叠,则异步激活控制器15临时停止I/O处理请求的执行。在停止期间,激活被设置为异步激目标的复制会话,并且备份重叠的复制区域。然后执行I/O处理请求。因此,可以确定地创建处于执行I/O处理之前的状态的复制源卷的备份,以使得用于多个卷的备份能够在不降低I/o处理的能力的情况下,确保将要备份的数据的定时的
完全性。可以想到各种的修改和改变而不背离第一实施例的精神。例如,第一实施例的存储装置10包括管理复制源卷的单个CM 111和管理复制目标卷的单个CM 211,但是该实施例不限于此。替选地,存储装置10可以总计包括三个或更多个CM 111和CM 211。换言之,存储装置10可能包括管理复制源卷的多个CM 111和/或管理复制目标卷的多个CM 211。也可以采取其它的修改。而且,第一实施例的存储装置10包括六个逻辑卷LUN0-LUN2和LUN10-LUN12,并且卷#00-#02被分别地复制到卷#10-#12。然而,第一实施例不限制于该种卷配置。可以适当地更改复制源卷和/或复制目标卷的配置和数量。在上述的第一实施例中,复制处理器12通过OPC方案将存储在复制源卷#00_#02中的数据转发至复制目标卷#10_#12,但是数据转发不限于此。替选地,可能以其它方案执行数据备份,其它方案诸如是SnapOPC、SnapOPC+、或QuickOPC等。在上述的第一实施例中,以会话管理表201的形式管理与每个复制会话相关的数据,但是数据管理不限于此。替选地,可以以除了表之外的其它形式管理如在图3中所示的互相关联的各种数据段。而且,在如图5所示的轮询过程中执行激活的同时,可以临时停止与从存储装置10的外部装置接收的I/O处理请求相关的处理。因此,可以优先执行伴随着轮询的卷的备份,从而确保将要备份的数据的定时的完全性。存储系统I可以缩短复制处理器12执行包括多个复制会话的备份复制处理所花费的时间。该优点使得即使在轮询中的激活过程中临时停止处理,也能够减轻对根据I/o处理请求执行的处理的限制,。本领域的一般技术人员可以根据以上公开执行并制造第一实施例。本文描述的所有实施例和条件性语言都用于教导目的,以帮助读者理解本发明和发明人在现有技术基础上作出的构思,并且不应解释为对具体描述的实施例和条件的限制,说明书中实施例的编排也并不是本发明优缺点的体现。尽管详细地描述了本发明的一个或多个实施例,但是应当理解可以进行各种的改变、替换、以及替选,而不背离本发明的精神和范围。
权利要求
1.一种存储装置,包括: 复制源卷,存储将要被复制的数据; 复制目标卷,存储所述复制源卷的数据的副本; 复制处理器,执行复制处理,所述复制处理将存储在所述复制源卷中的数据的副本存储到所述复制目标卷; 复制管理器,准备与所述复制处理相关的复制并且将所述复制处理设置为待命状态;激活管理器,设置激活目标数据,所述激活目标数据代表对于由来自上级装置的激活指令指定的所述复制处理将要激活的目标;以及 复制控制器,取消被设置了所述激活目标数据的复制处理的待命状态,并且使所述复制处理器执行所述复制处理。
2.根据权利要求1所述的存储装置,其中 当接收到用于存取与所述复制处理相关的复制源卷的数据存取请求时,为所述复制处理设置激活目标数据, 在根据数据存取请求执行数据存取之前,所述复制处理器将存储在所述复制源卷的区域中的数据复制到所述复制目标卷,复制源卷的区域是要根据所述数据存取请求而被访问的。
3.—种控制装置,所述控制装置对于将存储在复制源卷的数据的副本存储到复制目标卷进行控制,所述控制器装置 包括: 复制处理器,执行复制处理,所述复制处理将存储在所述复制源卷中的数据的副本存储到所述复制目标卷; 复制管理器,准备与所述复制处理相关的复制并且将所述复制处理设置为待命状态;激活管理器,设置激活目标数据,所述激活目标数据代表对于由激活指令指定的所述复制处理将要激活的目标;以及 复制控制器,取消被设置了所述激活目标数据的复制处理的待命状态,并且使所述复制处理器执行所述复制处理。
4.根据权利要求3所述的控制器装置,其中: 当接收到用于存取与所述复制处理相关的复制源卷的数据存取请求时,为所述复制处理设置激活目标数据, 在根据数据存取请求执行数据存取之前,所述复制处理器将存储在所述复制源卷的区域中的数据复制到所述复制目标卷,复制源卷的区域是要根据数据存取请求而被访问的。
5.一种存储了程序的计算机可读记录介质,所述程序用于使计算机执行对于将存储在复制源卷中的数据的副本存储到复制目标卷的控制,所述控制包括: 准备与复制处理相关的复制,所述复制处理将存储在所述复制源卷中的数据的副本存储到所述复制目标卷; 将所述复制处理设置为待命状态; 设置激活目标数据,所述激活目标数据代表对于由激活指令指定的所述复制处理将要激活的目标; 取消被设置了所述激活目标数据的复制处理的待命状态;以及 执行所述复制处理。
6.根据权利要求5所述的计算机可读记录介质,所述控制还包括: 当接收到用于存取与所述复制处理相关的复制源卷的数据存取请求时,为所述复制处理设置激活目标数据; 在根据数据存取请求执行数据存取之前,将存储在所述复制源卷的区域中的数据复制到所述复制目 标卷,复制源卷的区域是要根据数据存取请求而被访问的。
全文摘要
本发明公开了一种存储装置、控制器以及存储了程序的计算机可读记录介质。该存储装置包括复制处理器,执行复制处理,所述复制处理将存储在所述复制源卷中的数据的副本存储到所述复制目标卷;复制管理器,准备与所述复制处理相关的复制并且将所述复制处理设置为待命状态;激活管理器,设置激活目标数据,所述激活目标数据代表对于由来自上级装置的激活指令指定的所述复制处理将要激活的目标;以及复制控制器,取消被设置了所述激活目标数据的复制处理的待命状态,并且使所述复制处理器执行所述复制处理。此配置能够备份多个复制会话的数据,以在不降低I/O处理的能力的情况下确保将要备份的数据的时间完全性。
文档编号G06F11/14GK103197989SQ20121037692
公开日2013年7月10日 申请日期2012年9月29日 优先权日2011年11月30日
发明者闵中中 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1