存储系统以及存储控制方法

文档序号:9240003阅读:434来源:国知局
存储系统以及存储控制方法【
技术领域
】[0001]本发明涉及将来自主机的写入数据写入到存储系统的缓存区域中的技术。【
背景技术
】[0002]已知一种存储系统,在从主机计算机接收写入请求并将该写入请求所附带的写入数据保存到缓存存储区域(以下,称为缓存区域)时,对主机计算机报告写入结束。另外,还已知一种存储系统,其通过对保存到缓存区域的写入数据进行多重化(通常,双重化)来提高写入数据相对于电源丧失等故障的保护。[0003]在专利文献I中,在对来自主机计算机的写入数据进行双重化时,通过消除具有缓存区域的多个控制器之间的排他控制,来不会使性能降低地实现数据保护。[0004]在专利文献2中,在附加奇偶校验位(parity)等冗余数据来保存用户数据的存储系统中,将来自主机计算机的更新数据(写入数据)保存到与更新前的数据(旧数据)不同的缓存区域,由此减少在生成冗余数据时向存储装置的访问,从而改善了存储系统的处理效率。[0005]在先技术文献[0006]专利文献[0007]专利文献1:日本特开平9-146842号公报[0008]专利文献2:日本特开平7-328072号公报【
发明内容】[0009]作为将来自主机计算机的写入数据保存到存储系统的缓存区域的数据传送方式,存在以下方式㈧和(B)。[0010](A)在存储系统的FE-1/F(前端(frontend)的通信接口设备)所具有的缓冲区域中暂时保存来自主机计算机的写入数据,在保存的写入数据成为一定数据量的情况下,将写入数据集中地传送至缓存区域。[0011](B)不经由FE-1/F所具有的缓冲区域地,在存储系统的缓存区域中保存来自主机计算机的写入数据。[0012]通常,中型等级(midrangeclass)的一部分和高端等级(highendclass)的存储系统中,通过集中传送写入数据来减少存储系统内部的数据传送路径的传送效率下降,因此多使用方式(A)。在中型等级的存储系统中,以获得高功能、开发容易化为目的,从高端等级的存储系统中挪用微型程序,另一方面,以低成本化为目的而硬件的简单化、与服务器等之间的共通化不断发展。作为其一个环节,以往将物理地分离的保存用户数据的缓存区域以及使用于数据传送的缓冲区域汇集到与处理器直接进行连接的存储器。[0013]在具有这种存储器的硬件结构中,在通过经由缓冲区域的方式(A)来执行主机计算机与存储系统之间的数据传送的情况下,汇集后的存储器中的数据输入输出量增加,从而有时产生性能下降。因此,考虑期望通过不经由缓冲区域的方式(B)来执行主机计算机与存储系统之间的数据传送。[0014]另一方面,在从主机计算机接收写入数据的过程中,有时由于主机计算机与存储系统之间的故障等,来自主机计算机的写入数据的传送中断。在该情况下,存储系统对来自主机计算机的写入请求响应错误,期待基于主机计算机进行的写入请求的重试,但是在主机计算机与存储系统之间的故障原因为路径的断线等的情况下,难以进行来自主机计算机的写入请求的重试。[0015]此时,在经由缓冲区域的方式(A)的情况下,即使写入数据的传送中断,丢弃该缓冲区域的数据即可。但是,在不经由缓冲区域的方式(B)的情况下,在存储系统的缓存区域中有可能混合存在传送中断的写入数据的一部分和写入数据被写入之前的数据。[0016]因此,在方式(B)中,以下成为课题:在接受来自主机计算机的写入数据的过程中,即使在由于难以进行来自主机计算机的写入请求的重试这样的故障导致写入数据的传送中断的情况下,也正确地维持在存储系统的缓存区域内保存的用户数据。[0017]存储系统具有:存储设备组,其由一个以上的存储设备构成;第一控制器,其与存储设备组和主机计算机连接,具有第一缓冲区域和第一缓存区域;以及第二控制器,其与存储设备组和主机计算机连接,具有第二缓冲区域和第二缓存区域。第一控制器从主机计算机接收写入请求,将遵从于写入请求的写入数据不经由第一缓冲区域地保存到第一缓存区域,为了将保存到第一缓存区域的写入数据不经由第二缓冲区域地保存到第二缓存区域而将其传送到第二控制器,将第一缓存区域内的写入数据写入到存储设备组。第一控制器管理第一缓存子区域的状态是否为第一写入数据向第一缓存子区域的保存成功的情况下被清除的第一中断状态,第一控制器或第二控制器管理第二缓存子区域的状态是否为写入数据从第一缓存子区域向第二缓存子区域的传送成功的情况下被清除的第二中断状态。第一控制器进行中断状态恢复处理。中断恢复处理包括判断第一缓存子区域是否为第一中断状态且第二缓存子区域是否为第二中断状态。另外,中断恢复处理还包括以下内容:在第一缓存子区域为第一中断状态且第二缓存子区域为第二中断状态的情况下,将第一缓存子区域设定为复制目的地,将第二缓存子区域设定为复制源,从复制源向复制目的地复制数据,并且对分别与第一缓存子区域和第二缓存子区域对应的第一中断状态和第二中断状态进行清除。另外,中断恢复处理还包括以下内容:在第一缓存子区域并非为第一中断状态且第二缓存子区域为第二中断状态的情况下,将第二缓存子区域设定为复制目的地,将第一缓存子区域设定为复制源,从复制源向复制目的地复制数据,并对与第二缓存子区域对应的第二中断状态进行清除。[0018]发明效果[0019]在将来自主机计算机的写入数据不经由缓冲区域地传送至缓存区域的方式中,即使在从主机计算机接收写入数据的过程中该写入数据的传送中断的情况下,也能够正确地维持在缓存区域内保存的用户数据。【附图说明】[0020]图1表示实施例的概要。[0021]图2表示实施例的计算机系统的一例。[0022]图3表示实施例的缓冲区域管理表的一例。[0023]图4表不实施例的VOL管理表的一例。[0024]图5表示实施例的缓存目录表(cachedirectorytable)的一例。[0025]图6表示实施例的CS区域管理表的一例。[0026]图7表示实施例的缓存分配管理表的一例。[0027]图8表示实施例的队列头(queueheader)的一例。[0028]图9表示实施例的缓冲区域的管理的一例。[0029]图10表示实施例的缓存区域的管理的一例。[0030]图11表不实施例的读取直接传送的一例。[0031]图12表示实施例的读取两级传送的一例。[0032]图13表示实施例的写入两级传送的一例。[0033]图14表不实施例的写入直接传送的一例。[0034]图15表示实施例的写入传送方式的特征比较的一例。[0035]图16表示实施例的读取处理的流程的一例的一部分。[0036]图17表示实施例的读取处理的流程的一例的其余部分。[0037]图18表示实施例的写入处理的流程的一例的一部分。[0038]图19表示实施例的写入处理的流程的一例的另一部分。[0039]图20表示实施例的写入处理的流程的一例的其余部分。[0040]图21表示实施例的中断状态恢复处理的一例。【具体实施方式】[0041]以下,说明实施例。[0042]在以下说明中,有时以“XXX表”的形式来说明信息,但是信息也可以通过任一种数据结构来表现。即,为了表示信息不依赖于数据结构这一情况,能够将“XXX表”称为“XXX信息”。[0043]另外,在以下说明中,有时将“程序”作为主语来对处理进行说明,但是程序是通过由控制设备所具有的处理器(例如CPU(CentralProcessingUnit:中央处理器))执行,而适当地使用存储资源(例如存储器)和/或通信接口设备(例如通信端口)来进行所确定的处理,因此也可以将处理的主语设为处理器、具有该处理器的控制器或装置(例如存储系统)。也可以通过控制器所具有的硬件电路来进行处理器所进行的处理的一部分或全部。也可以将计算机程序从程序源安装到控制设备。程序源例如也可以是程序分发服务器或存储介质。[0044]另外,在以下说明中,在区别说明同类要素的情况下,有时代替该要素的附图标记,而使用分配给该要素的标识符(例如编号)。例如,在不特别区分控制器地说明的情况下,记载为控制器22,在区别说明各控制器的情况下,有时记载为控制器#0和#1。[0045]另外,在以下说明中,作为各种对象(例如,VOL)的识别信息,使用编号或名称等,但是这些也能够相互取代或也可以使用其他种类的识别信息。[0046]另外,以下说明中的术语的含义如下。[0047]⑷“V0L”为逻辑卷的简称,是逻辑存储设备。VOL可以是实体的VOL(RVOL),也可以是虚拟的VOL(VVOL)。另外,VOL也可以是向与提供该VOL的存储系统连接的外部装置(例如主机计算机)提供的在线VOL以及不向外部装置提供的(无法从外部装置识别)离线V0L。[0048](*)“RV0L”为基于具有该RVOL的存储系统所具有的物理性存储资源(例如,由多个F1DEV构成的RAID(RedundantArrayofIndependent(orInexpensive)Disks:独立(或廉价)磁盘冗余阵列)组)的V0L。[0049]⑷“RG”为RAID组的简称。[0050](*)作为“VV0L”,例如可以是基于与具有该VVOL的存储系统连接的外部存储系统的存储资源(例如V0L)且遵从于存储虚拟化技术的VOL即外部连接VOL(EVOL)、由多个虚拟页(虚拟存储区域)构成且遵从于容量虚拟化技术(典型地为ThinProvis1ning:自动精简配置)的VOL(TPVOL)以及作为原VOL的快照(snapshot)而提供的快照VOL。TPVOL典型地为在线V0L。快照VOL也可以是RV0L。[0051](*)“PDEV”为非易失性的物理存储设备的简称。也可以由多个I3DEV构成多个RAID组。RAID组也可以称为奇偶校验组(paritygroup)。[0052](*)“池”为逻辑存储区域(例如多个池VOL的集合),也可以分别按用途来准备。例如,作为池可以是TP池和快照池。TP池为由多个实页(实体存储区域)构成的存储区域。也可以从TP池对TPVOL的虚拟页分配实页。快照池也可以是保存从原VOL转移来的数据的存储区域。池(典型地为TP池)也可以具有性能(例如1/0性能)不同的多个层级。各层级也可以由1/0性能为相同程度的一个或多个池VOL构成。[0053]⑷“池V0L”是成为池的构成要素的V0L。池VOL可以是RVOL也可以是EV0L。池VOL典型地为离线V0L。[0054](*)缓冲区域由多个缓冲子区域构成。从缓冲区域以缓冲子区域单位来确保区域。以下,将缓冲子区域记载为“BS区域”。[0055](*)缓存区域(缓存存储区域)由多个缓存子区域构成。从缓存区域以缓存子区域单位来确保区域。以下,将缓存子区域记载为“CS区域”。[0056]然后,首先,说明实施例的概要。[0057]图1示出实施例的概要。[0058]主机计算机I(#0、#1)经由通信网络11与存储系统2连接。为了确保数据的冗余性,在存储系统2中存在冗余化后的控制器22(双重化的控制器#0和#1)。控制器#0、#1彼此相互连接。[0059]各控制器22(#0、#1)具有FE-1/F210(#0、#1)、CPU230(#0、#1)以及存储器240(#0、#1)ο在存储器240中存在缓冲区域242(#0、#1)和缓存区域244(#0、#1)。缓冲区域242为暂时保存对缓存区域244进行输入输出的数据的存储区域。从缓冲区域242读出的数据被从缓冲区域242删除。另一方面,缓存区域244为暂时保存对TOEV(RG)进行输入输出的数据的存储区域。虽说是从缓存区域244读出了数据,然而也与缓冲区域242不同地,读出的数据不一定必须从缓存区域244删除。缓冲区域242和缓存区域244可以分散至不同的存储器,但是在本实施例中,在存储器240中汇集了缓冲区域242和缓存区域244。在缓存区域244中,有时作为写入从TOEV(RG)读出的数据的区域而确保读取面41(41a),或者作为写入用于写入TOEV(RG)的数据的区域而确保写入面42(42a、42b)。在本实施例的说明中,在没有特别说明的情况下,读取当前第1页1 2 3 4 5 6 
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1