存储系统及其控制方法

文档序号:6650982阅读:183来源:国知局
专利名称:存储系统及其控制方法
技术领域
本发明涉及用于控制存储系统的方法、存储控制器和存储系统。
背景技术
本申请要求2002年9月18日在日本提交的日本专利申请No.2002-271595的优先权,在此将其引入以供参考。
信息系统周围的环境正快速变化,诸如IT技术的进展,并且正转向宽带。伴随而来的是,迫切地需要相对于所处理的数据量的快速增加的措施。因此,正使在数据中心操作的存储系统快速转向较大容量和较高性能的存储控制器,诸如磁盘阵列装置。
为增加存储区,例如,可另外提供磁盘阵列装置。然而,相应地,随着所安装的磁盘阵列装置的数量增加,也不可避免地增加主计算机端的管理负荷,这可能影响在主计算机端上的应用程序的运行。此外,用于有效地管理巨量存储区(huge storage area)而尽可能不让用户知道硬件配置的技术,即所谓的“虚拟化”正在发展中。然而,虚拟化会导致主计算机端上的处理负荷增加。
鉴于这些情况,预计对用于降低主计算机端的处理负荷的技术的需要将变得越来越大。因此,正在探索确保更大容量和更高性能的存储控制器而不增加主计算机端的处理负荷的技术。

发明内容
基于上述问题构想了本发明,并且本发明的一个目的是提供用于控制存储系统的方法、存储控制器和存储系统。
根据本发明的一个方面实现上述和其他目的存储系统包括主计算机;可通信地连接到主计算机上的第一存储控制器,用于接收从主计算机传送的数据帧以及响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第一存储设备和执行从第一存储设备输出数据;以及可通信地连接到第一存储控制器的第二存储控制器,用于接收从主计算机传送到第一存储控制器并由第一存储控制器中继的数据帧以及响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第二存储设备和执行从第二存储设备输出数据,其中当第一存储控制器接收从主计算机传送的数据帧时,第一存储控制器响应在数据帧内描述的信息,将数据帧中继到第二存储控制器。
根据本发明,能提供用于控制存储系统的方法、存储控制器和存储系统。
通过参考附图阅读本说明书的描述,除上述以外的本发明的特征和目的将变得清楚明白。


为更全面地理解本发明及其优点,现在参考结合附图的下面的描述,其中图1示例说明根据本发明的一个实施例的存储系统的配置;图2示例说明根据本发明的一个实施例的在光纤信道上的数据帧的结构;图3示例说明根据本发明的一个实施例的帧首部的结构;图4示例说明根据本发明的一个实施例的FCP_CMND的结构;图5是示例说明当将数据帧从主计算机传送到第一存储控制器时,根据本发明的一个实施例的存储系统的操作的流程图;图6表示根据本发明的一个实施例的LUN管理表;图7表示根据本发明的一个实施例的存取限制管理表;图8是示例说明根据本发明的一个实施例的存取限制功能的流程图;图9表示根据本发明的一个实施例的优先级管理表;图10是示例说明根据本发明的一个实施例的优先级管理功能的流程图;图11表示根据本发明的一个实施例的一对管理表;以及图12是示例说明当传送在其中描述对主逻辑卷(logic volume)的数据写请求的数据帧时,根据本发明的一个实施例的存储系统的处理的流程图。
具体实施例方式
通过本说明书中的解释和附图的描述,将使至少下述主题变得清楚。
用于控制存储系统的方法,存储系统包括主计算机;可通信地连接到主计算机的第一存储控制器,用于接收从主计算机传送的数据帧以及响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第一存储设备以及执行从第一存储设备输出数据;以及可通信地连接到第一存储控制器的第二存储控制器,用于接收从主计算机传送到第一存储控制器以及由第一存储控制器中继的数据帧,并响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第二存储设备以及执行从第二存储设备输出数据,其中当第一存储控制器接收从主计算机传送的数据帧时,第一存储控制器响应在数据帧中描述的信息,将该数据帧中继到第二存储控制器。
在该方法中,第二存储控制器连接到第一存储控制器,以便使从主计算机传送的数据帧暂时由第一存储控制器接收并响应在该数据帧中描述的信息,由第一存储控制器将该数据帧传送到第二存储控制器。在这种配置中,主计算机不加区别地将数据帧传送到第一存储控制器,而不管主计算机将传送的数据帧指向第一存储控制器还是指向第二存储控制器。因此与主计算机执行和第二存储控制器的直接通信的方案相比,主计算机在传送数据帧时,不需要直接与第二存储控制器通信,并且能够把主计算机中的处理负荷减少由于直接通信所产生的量。
通过例如在第一存储控制器上运行的程序,能够实现在已经接收到从主计算机传送的数据帧时,响应在数据帧中描述的信息,将数据帧中继到第二存储控制器的功能。
数据帧是例如符合光纤信道协议的数据帧。通过包括在第一存储控制器内的光纤信道开关执行所述中继。
信息是用于指定数据帧的来源的光纤信道端口的信息、用于指定数据帧的目的地的光纤信道端口的信息以及用于指定存储设备的信息中的至少一个。在它们之中,用于指定来源的光纤信道端口的信息是例如以后所述的Source_ID。用于指定目的地的光纤信道端口的信息是例如以后所述的Destination_ID。用于指定存储设备的信息是例如以后所述的FCP_LUN。
存储设备是例如在由磁盘驱动器提供的存储区或由磁盘驱动器提供的物理存储区上的按区组织的逻辑卷。
在该方法中,第一存储控制器更确切地讲是充当如下的网络开关,该网络开关亲自接收从主计算机传送的数据帧,或将数据帧中继到第二存储控制器。然后,因为第一存储控制器充当网络开关,所以能容易提供所应用的如下操作,在该操作下第一存储控制器所具有的信息和功能与作为网络开关的功能组合在一起。因此,能容易提供诸如以后所述的存取限制功能、优先级控制、数据的双重管理等功能。不限于这些功能,还能容易实现通过组合象网络开关的功能和第一存储控制器作为存储控制器最初所具有的功能而获得的各种功能。
此外,当将虚拟化技术应用于存储系统时,将多个存储设备作为一个设备单一虚拟地加以管理和/或并入管理/操作功能,诸如远程拷贝和数据拷贝管理。通过提供这些功能,对主计算机端上的资源消耗和处理速率的影响是不可避免的。然而,通过使得提供如下功能可行,所述功能是通过将第一存储控制器作为存储控制器最初所具有的功能与通过给第一存储控制器提供与如以上所述的网络开关的功能一样的功能而具有的与网络开关一样的功能组合起来所形成的功能,而将最初包括在主计算机中的功能提供到第一存储控制器端,以便最小化主计算机端上的资源消耗和处理负荷以及提供支持虚拟化的系统是可能的。
此外,当将通用开关诸如光纤信道开关用作网络开关时,可将第一存储控制器和第二存储控制器容易地的连接在一起,即使那些存储控制器是不同型号或来自不同制造商的。因此,能容易地配置存储系统并且能够对资源诸如现有的或过时的存储控制器进行充分的利用。另外,在(i)基本操作、(ii)存取限制功能、(iii)优先级控制、(iv)数据拷贝管理的实施例中,通过将配备这些功能的一个存储控制器连接到没有配备这些功能的多个存储控制器,能够进行对多个存储控制器的充分利用。
在数据帧中,描述了作为信息的、用于指定数据帧的来源的光纤信道端口的信息、用于指定数据帧的目的地的光纤信道端口的信息以及用于指定存储设备的信息的至少一个。第一存储控制器存储存取限制信息,其表示允许或不允许来源的光纤信道端口对目的地的光纤信道端口或存储设备进行存取。因此,可以安排在第一存储控制器从主计算机接收数据帧时,第一存储控制器查阅存取限制信息,以便检查是否允许数据帧的来源的光纤信道端口存取目的地的光纤信道端口或目的地的存储设备,以及仅当允许所述存取时,第一存储控制器才将数据帧中继到第二存储控制器。
用这种方式,第一存储控制器基于存取限制信息判断第一存储控制器是否应当将数据帧传送到第二存储控制器,并且因此,第一存储控制器代替第二存储控制器的角色,执行有关指向第二存储控制器的数据帧的存取限制的过程。因此,仅在第一存储控制器上实现用于处理存取限制的功能就足够了,并且能够从维护负荷中减少由于将这种机制提供到第二存储控制器所产生的量。通过例如在第一存储控制器上运行的程序,实现与存取限制有关的第一存储控制器的功能。
由于不需要给第二存储控制器提供存取限制功能,所以能将具有比第一存储控制器更低的性能的存储控制器用作第二存储控制器,并且因此,能降低引入成本(introduction cost)和操作成本。而且,与新引入的存储控制器相比,具有较低性能的旧类型的存储控制器完全能被用作第二存储控制器。此外,仅将存取限制管理表存储在第一存储控制器中就足够了,因此,进一步降低由统一管理产生的维护负荷。
可以按照如下安排在数据帧中,描述了作为信息的、用于指定数据帧的来源的光纤信道端口的信息以及用于指定数据帧的目的地的光纤信道端口的信息;第一存储控制器存储通过与来源的光纤信道端口和目的地的光纤信道端口的组合相关联,存储表示对应于所述数据帧的数据输入/输出过程的优先级的信息;当第一存储控制器从主计算机接收数据帧时,该装置根据表示优先级的信息执行将数据输入到如下的存储设备和从该存储设备输出数据,所述存储设备被连接到数据帧的目的地的端口。表示优先级的信息例如是,表示用于执行将数据输入到存储设备和从该存储设备输出数据的定时信息,更具体地说,表示稍后将描述的延迟时间的信息。
在该机制中,可以认为第一存储控制器代替第二存储控制器的角色,执行优先级控制功能。即,通过仅在第一存储控制器上实现优先级控制功能,还可以执行对指向第二存储控制器的数据帧的优先级控制,并能够从施加到第二存储控制器上的操作负荷中减少由于提供这种机制而产生的量。
与优先级控制有关的第一存储控制器的功能通过例如在第一存储控制器上运行的程序加以实现。
因为不需要给第二存储控制器提供优先级控制功能,所以能将具有比第一存储控制器更低处理性能的存储控制器用作第二存储控制器,并且因此,能降低引入成本和操作成本。此外,与新引入的存储控制器相比,具有更低性能的旧类型的存储控制器完全能用作第二存储控制器。此外,仅将优先级管理表存储在第一存储控制器中就足够了,从而达到降低用于统一管理的维护负荷。
一种用于控制存储系统的方法,该存储系统包括主计算机;可通信地连接到主计算机的第一存储控制器,用于接收从主计算机传送的数据帧,并响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第一存储设备和从该存储设备输出数据;以及可通信地连接到第一存储控制器的第二存储控制器,用于接收从主计算机传送到第一存储控制器以及由第一存储控制器中继的数据帧,并响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第二存储设备并执行从该存储设备输出数据,其中第一存储控制器,将存储在作为受第一存储控制器影响的数据输入/输出的对象的第一存储设备中的数据拷贝,存储到也作为受第二存储控制器影响的数据输入/输出的对象的第二存储设备中,数据帧具有在此描述的用于指定连接到数据帧的目的地的第一存储设备或第二存储设备的光纤信道端口的信息,以及用于指定存储设备的信息,其中,当第一存储控制器接收在其中描述对第一存储设备的数据写请求的数据帧时,第一存储控制器执行将那个数据帧上的数据写到第一存储设备,同时,第一存储控制器创建如下的数据帧,在该数据帧中,重写用于指定光纤信道端口的信息和用于指定在数据帧中描述的存储设备的信息以便使得对象是第二存储设备,第一存储控制器将所创建的数据帧传送到第二存储控制器,以及其中第二存储控制器接收数据帧以及执行将在那个数据帧上的数据写到第二存储设备上,以便将存储在第一存储设备中的数据的拷贝存储到也作为受第二存储控制器影响的数据输入/输出的对象的第二存储设备中。
根据该方法,通过仅在第一存储控制器中提供如上所述的创建数据帧的机制,很容易实现用于将存储在第一存储设备中的数据同样存储到第二存储设备中的数据拷贝管理的机制。
应注意,通过例如运行在第一存储控制器上的程序,实现与数据拷贝管理有关的第一存储控制器的功能。
如本发明的实施例描述的存储装置系统(存储系统)的配置如图1所示。在例如数据中心中操作存储系统。通过符合光纤信道协议的第一通信装置40连接主计算机5和第一存储控制器10。主计算机5是诸如个人计算权、工作站和通用计算机之类的计算机,通过符合光纤信道协议的第二通信装置50连接第一存储控制器10和第二存储控制器20。
第一存储控制器10包括开关控制单元11以及存储设备控制单元12。通过诸如内部总线之类的内部通信路径13,连接开关控制单元11和存储设备控制单元12。
开关控制单元11包括开关设备111、微处理器112和诸如R0M、RAM等等之类的控制存储器113。开关设备111被提供作为光纤信道开关(以下称为“FC开关”)的功能并具有预定数目的光纤信道端口。开关设备111接收从主计算机5传送的数据帧并将该数据帧中继到存储设备控制单元12或第二存储控制器20。另外,开关设备111还接收从存储设备控制单元12或第二存储控制器20传送的数据帧并将该数据帧中继到主计算机5。微处理器112提供开关控制单元11的各种功能。另外,微处理器112控制包含在开关控制单元11中的各种部件。此外,微处理器112控制在开关设备111实施的数据帧的传送/接收。控制存储器113被用来作为例如用于由微处理器112执行的过程的工作存储器,或用于各种数据诸如表或变量的存储区。
存储设备控制单元12接收通过内部通信路径13传送的数据帧,并响应在该数据帧中描述的数据输入/输出请求,执行将数据输入到磁盘驱动器14和从该磁盘驱动器14输出数据。数据输入/输出过程包括数据写请求和数据读出请求。在下述描述中,数据输入和输出包括在其中包括数据写请求或数据读出请求,以及在其中既包括数据写请求又包括数据读出请求的情形。
微处理器121提供存储设备控制单元12的各种功能,以及控制在存储设备控制单元12等等中包括的各种部件。存储控制器123被用来作为例如用于由微处理器121执行的过程的工作存储器和用于诸如表和变量的各种数据的存储区。高速缓存器124用作例如用于被输入到磁盘驱动器14的数据/从该磁盘驱动器14输出的数据的临时存储装置。驱动控制器125执行到磁盘驱动器14的数据输入/输出过程。驱动控制器125可操作在RAID(廉价磁盘冗余阵列)方案中的磁盘驱动器14。驱动控制器125管理通过将由磁盘驱动器14提供的物理存储区划分成在该物理存储区上组织的逻辑存储区的逻辑卷来管理它。将称为LUN(逻辑单元号)的特定标识符分别指定给每个逻辑卷。当已经指定LUN时,一个或多个磁盘驱动器14就被标识。此外,将至少一个或多个逻辑卷与一个光纤信道端口关联,以及通过指定一个光纤信道端口,标识与其相关的所有逻辑卷。能够将磁盘驱动器14保持在与第一存储控制器10相同的外壳中,或将其保持在不同于第一存储控制器10的外壳中。
第二存储控制器20包括开关装置201、微处理器202、控制存储器203、高速缓存器204、磁盘控制器205和磁盘驱动器21。开关设备201被提供作为具有多个光纤信道端口的光纤信道开关(下文称为“FC开关)的功能,而第二通信装置50连接到所述光纤信道端口上。
微处理器202提供第二存储控制器20的各种功能以及控制包含在第二存储控制器20等等中的各种部件。控制存储器203被用来作为例如用于由微处理器202执行的过程的工作存储器、或用于各种数据诸如表和变量的存储区。高速缓存器204用作例如用于被输入到磁盘驱动器21的数据/被从该磁盘驱动器21输出的数据的临时存储装置。驱动控制器205执行到磁盘驱动器21的数据输入/输出过程。
驱动控制器可操作在RAID(廉价磁盘冗余阵列)方案中的磁盘驱动器21。驱动控制器205通过将由磁盘驱动器21提供的物理存储区划分成在该物理存储区上组织的逻辑存储区的逻辑卷来管理它。将称为LUN(逻辑单元号)的特定标识符分别指定给每个逻辑卷。当已经指定LUN时,一个或多个磁盘驱动器21被标识。
能将磁盘驱动器21保持在与第二存储控制器20相同的外壳中,或保持在不同于第二存储控制器20的外壳中。
接着,将描述符合光纤信道协议的、在主计算机5、第一存储控制器10和第二存储控制器20间传送和接收的数据帧的结构。在例如由FiberChannel Technical Association,Ronsa-sha等等编著的“TechnicalInstruction on Fiber Channel”中描述了光纤信道协议和符合它的数据帧的详细情况。
在图2中示例说明了光纤信道上的数据帧70的结构。在数据帧70的开头,放置四字节的SOF(帧的起始)(71),在SOF之后,提供24字节的帧首部(72)、2112字节的数据字段(73)和四字节的CRC(循环冗余校验)(74)。在数据帧的尾部,放置四字节的EOF(75)。
图2所示的24字节的帧首部(72)的结构如图3所示。Destination_ID(81)是数据帧的目的地的光纤信道端口的标识符,以及在其中描述N_Port_ID、N_Port_Name或等等。Source_ID(82)是数据帧的来源的光纤信道端口的标识符,在其中描述N_Port_ID、N_Port_Name或等等。
在图4中示例说明作为如图2所示的数据字段的有效载荷之一的FCP_CMND(对应SCSI命令的光纤信道协议)的结构。在FCP_LUN(FCP逻辑单元号)(91)中,将有效载荷中描述的SCSI命令所针对的逻辑卷的LUN加以应用。在FCP_CUTL(FCP控制)(92)中,描述命令控制参数。在FCP_CDB(FCP命令描述块)(93)中,描述SCSI命令CDB(命令数据块)。在FCP_DL(FCP数据长度)(94)中,描述了能在发起者和目标间转换的数据大小的上限。
接着,将参考图5所示的流程图,描述在将数据帧从主计算机5传送到第一存储控制器10时的存储系统的操作。
首先,通过第一通信装置40(S511),将数据帧从主计算机5到第一存储控制器10的开关设备111的光纤信道端口。当第一存储控制器10的开关设备111接收数据帧(S512)时,开关设备111将中断请求传送到微处理器112(S513)。当微处理器112接收该中断请求时,微处理器112将所接收的数据帧的Destination_ID(81)、Source_ID(82)和FCP_LUN(91)的内容存储在控制存储器113中(S514)。
在第一存储控制器10的控制存储器113中,存储如图6所示的LUN管理表,在该表中,描述了FCP_LUN(91)是指向第一存储控制器10的逻辑还是第二存储控制器20的逻辑卷。微处理器112通过使存储在存储控制器113中的数据帧的FCP_LUN(91)指向LUN管理表,来检查该数据帧是指向第一存储控制器的逻辑卷还是第二存储控制器的逻辑卷(S515)。
现在,如果该数据帧是指向第一存储控制器10的逻辑卷的,第一存储控制器10通过内部通信路径13将该数据帧传送到存储设备控制单元12(S516)。当存储设备控制单元12接收该数据帧时,存储设备控制单元12针对从数据帧的FCP_LDN(91)的内容所标识的逻辑卷执行数据输入和输出,所述数据输入和输出对应在数据帧中描述的SCSI命令(S517)。在执行数据输入/输出过程后,当必要时,第一存储控制器10将在其中描述了所述过程的结果和从逻辑卷读出的数据等等的数据帧传送到开关控制单元10(S518)。然后,当开关设备111接收该数据帧时,它将该数据帧传送到主计算机5(S519)。
另一方面,在(S515),如果从主计算机5接收的数据帧指向第二存储控制器20的逻辑卷,微处理器112控制开关设备111以便使得开关设备111将数据帧中继到第二存储控制器20(S520)。当第二存储控制器20接收数据帧(S521)时,它针对从数据帧的FCP_LUN(91)的内容所标识的逻辑卷执行数据输入和输出,所述数据输入和输出对应在该数据帧中描述的SCSI命令(S522)。
在执行数据输入/输出过程后,当必要时,第二存储控制器20通过第二通信装置,将在其中描述了完成报告、所述过程的结果或从该逻辑卷读出的数据的数据帧传送到第一存储控制器10(S523)。在数据帧的Destination_ID(81)中,描述用于指定主计算机5的光纤信道端口的信息。当第一存储控制器10的开关设备111接收数据帧(S524)时,它将该数据帧中继到主计算机5(S525)。
如上所述,在开关控制单元11判断从主计算机5传送的并且输入到第一存储控制器10的开关设备111的数据帧是指向第一存储控制器10还是第二存储控制器20,以及如果它指向第二存储控制器20,将该数据帧从开关设备111中继到第二存储控制器20。换句话说,第一存储控制器10代替第二存储控制器20的角色接收主计算机5最初指向第二存储控制器20的数据帧。
此外,通过由第一存储控制器10代替第二存储控制器20的角色接收数据帧,主计算机5仅需要与第一存储控制器10通信,从而将主计算机5的处理负荷减少由于在主计算机5和第二存储控制器20间通信所产生的量。
此外,通过管理在第一存储控制器10统一的LUN管理表,能统一地管理第一存储控制器10和第二存储控制器20的逻辑卷,并且因此,能降低施用在工作诸如由操作员等等更新LUN管理表上的维护负荷。尤其在操作同时可视化的磁盘驱动器14和磁盘驱动器21时,这种统一管理方案相当有助于更有效操作和降低操作负荷。
当磁盘阵列装置被配备有作为与主计算机5之间的连接接口的很常规的接口时,象如上所述的开关设备201,能将磁盘阵列装置用作所述实施例的第二存储控制器20,以及例如,在使用具有更高性能的磁盘阵列装置作为第一存储控制器101和使用具有比另一个更低性能的磁盘阵列装置作为第二存储控制器20的存储系统中,能产生可以将第一存储控制器10的功能应用于第二存储控制器20上的优点。
接着,将描述包括在第一存储控制器10中的存取功能。第一存储控制器10存储在图7中示例的存取限制管理表。在存取限制管理表中,描述不允许任何数据输入/输出过程的Destination_ID、Source_ID和LUN的组合。存取限制功能是这样一种功能,在存取限制管理表中描述由第一存储控制器10从主计算机5接收的数据帧中描述的Destination_ID、Source_ID和LUN的组合时,该功能不允许对应在该数据帧中描述的数据输入/输出请求的任何数据输入/输出过程。可通过第一存储控制器10的功能自动记录或由操作员用手动操作记录存取限制管理表的内容。
将参考图8所示的流程图详细地描述存取限制功能。该流程图描述在其中将描述指向第二存储控制器20的逻辑卷的数据输入/输出请求的数据帧从主计算机5传送到第一存储控制器10的情形。
当第一存储控制器10接收从主计算机5传送(S811)的数据帧(S812)时,第一存储控制器10检查在存取限制管理表中是否描述数据帧中的Destination_ID(81)、Source_ID(82)和FCP_UN(91)的组合(S813、S814)。如果在该存取限制管理表中未描述该组合,第一存储控制器10将该数据帧中继到第二存储控制器20(S815)。
另一方面,如果该组合被描述了,将该数据帧从开关控制单元11传送到存储设备控制单元12(S816)。当存储设备控制单元12接收该数据帧时,存储设备控制单元12查阅该存储控制器113中的存取限制管理表(S817)。如果该数据帧中的Destination_ID(81)、Source_ID(82)和FCP_LUN(91)的组合是不允许存取的组合,存储设备控制单元12创建指向该主计算机5的在其中描述是不允许存取的数据帧,并且将该新创建的数据帧传送到开关设备111(S818)。然后,将该新创建的数据帧通过开关设备111传送到主计算机5。
另一方面,如果所接收的数据帧是允许存取的数据帧,存储设备控制单元12将该数据帧传送到开关设备111(S819),并且该开关设备111将该数据帧中继到第二存储控制器20(S820)。
当第二存储控制器20接收该数据帧时(S821),第二存储控制器20针对在该数据帧的FCP_LUN中描述的逻辑卷执行数据输入和输出,所述数据输入和输出对应在该数据帧的FCP_CDB中描述的SCSI命令(S822)。在执行该数据输入/输出过程后,当必要时,第二存储控制器20将在其中描述了所述过程的结果和从该逻辑卷该出的数据的数据帧传送到第一存储控制器10(S823)。
在该实施例中,在存取限制管理表中描述不允许任何数据输入/输出过程的Source_ID、Destination_ID和LUN的组合,但相反,可在该表中描述允许数据输入/输出过程的Source_ID、Destination_ID和LUN的组合。可用各种形式设置存取限制,不仅包括对所有Source_ID、Destination_ID和IUN的组合执行存取限制的情形,而且包括对Source_ID、Destination_ID和LUN的任何一个或对这些的任何两个或多个的组合执行存取限制的情形。
如上所述,第一存储控制器10代替第二存储控制器20的角色执行与存取限制有关的过程。因此,在第一存储控制器10上实现用于执行存取限制的功能就足够了。因此,能从与存取限制功能有关的维护负荷中减少由于将这种机制提供给第二存储控制器而产生的量。此外,因为在第二存储控制器20中不需要包括任何存取限制功能,所以能将具有比第一存储控制器10更低的处理能力的存储控制器用作第二存储控制器,并且因此,这对降低引入成本和操作成本来说是很有效。
此外,与新引入的存储控制器相比,具有更低性能的旧类型的存储控制器完全能用作第二存储控制器20。此外,仅将存取限制管理表存储在第一存储控制器中就足够了,因此,进一步降低由统一管理产生的维护负荷。
接着,将描述包括在第一存储控制器10中的优先级控制。第一存储控制器10存储如图9所示的优先级管理表。在优先级管理表中,描述Destination_ID、Source_ID、和延迟时间的关系。延迟时间用作例如一个用于确定执行可能增加微处理器121的处理负荷的过程的起始时间的参数。优先级控制功能是这样一种功能,该功能根据在优先级管理表中设置的延迟时间,控制对应于由第一存储控制器10从主计算机5接收的数据帧的数据输入和输出的执行顺序。可由第一存储控制器10的功能自动记录或由操作员用手动操作记录优先级管理表的内容。
将参考图10所示的流程图来详细地描述优先级控制功能。当第一存储控制器10接收从主计算机5传送(S1011)的数据帧A时(S1012),第一存储控制器10检查数据帧A中的Source_ID和Destination_ID的组合是否存在于优先级管理表中(S1013、S1014)。
如果存在该组合,当在该组合中未设置延迟时间时,第一存储控制器10将该组合确定为用于存取优先级的对象(S1015),执行针对数据帧A的数据输入和输出(S1016),以及在执行后,将在其中描述了完成报告的数据帧传送到主计算机5(S1077)。
如果在(S1015)中设置了延迟时间,第一存储控制器10检查在由存储设备控制单元12中的控制存储器123管理的队列中,是否存在等待处理的另一数据帧B(S1020),以及如果存在等待的数据帧B,使执行用于数据帧A的过程的开始等待在优先级管理表中对应于数据帧A的内容而设置的延迟时间段之久(S1021)。考虑施加在微处理器121上的处理负荷,适当地确定应当延迟的用于该数据帧的过程的起始时间,以便使数据输入/输出过程将根据用户需要以适当的顺序加以执行。可以这样安排,由存储系统自动确定使用延迟时间作为参数来执行各过程的顺序的控制或由用户通过连接到该存储系统的控制终端设置的顺序的控制。在过了延迟时间后,第一存储控制器10执行用于数据帧A的数据输入和输出(S1022)并将在其中描述了完成报告的数据帧传送到主计算机5(S1023)。
另一方面,在(S1020)中,如果在队列中不存在等待的另一数据帧B,第一存储控制器10根据对上述基本操作中所描述的用于数据帧A的常规步骤执行各过程。即,如果数据帧A指向第一存储控制器10中的磁盘驱动器14,在第一存储控制器10中执行用于磁盘驱动器14的数据输入/输出过程,以及如果数据帧指向第二存储控制器20中的磁盘驱动器21,第一存储控制器10将该数据帧传送到第二存储控制器,而第二存储控制器20执行指向磁盘驱动器21的数据输入/输出过程(S1031)。在每种情况中,在完成数据输入/输出过程后,如果必要的话,传送完成报告(S1032)。
在(S1014)中,如果在优先级管理表中不存在数据帧A的Source_ID、Destination_ID的组合,根据在上述基本操作中描述的步骤,第一存储控制器10检查数据帧A是指向第一存储控制器10中的磁盘驱动器14还是指向第二存储控制器20(S1041)。现在,如果该数据帧A指向第一存储控制器10,将该数据帧传送到存储设备控制单元12(S1042),并且存储设备控制单元12执行用于该数据帧A的数据输入/输出过程(S1043)并将在其中描述了完成报告的数据帧传送到主计算机5(S1044)。
另一方面,如果数据帧A指向第二存储控制器20中的磁盘驱动器21,第一存储控制器10将数据帧A传送到第二存储控制器20(S1051)。当第二存储控制器20接收数据帧A时(S1052),它针对数据帧A执行指向磁盘驱动器21的数据输入/输出过程(S1053),并通过第一存储控制器10将在其中描述了完成报告的数据帧传送到主计算机5(S1054)。
从上述描述可以理解,在第一存储控制器10中专门执行主计算机5中的数据帧的优先级控制。即,从另一观点看,第一存储控制器10代替第二存储控制器20的角色执行第二存储控制器20的优先级控制。即,在第一存储控制器10上实现优先级控制功能就足够了,并且第二存储控制器20能享有对应于优先级控制功能的功能,而元需具有用于这种功能的机制。
此外,能从用于第二存储控制器20的操作负荷中减少由于提供用于优先级控制的机制而产生的量。此外,即使将具有比第一存储控制器10更低处理能力的存储控制器用作第二存储控制器20,也有可能采用将磁盘驱动器21包括在第二存储控制器20中的形式提供优先级控制功能,并且因此,能降低引入成本和操作成本。
此外,与新引入的存储控制器相比,具有更低性能的旧类型的存储控制器完全能用作第二存储控制器,并且因此,能进一步有效使用资源和降低操作成本。另外,仅将优先级管理表存储在第一存储控制器10中就足够了,并且因此,进一步降低由统一管理产生的维护负荷。
尽管如上已经描述了用于一个LUN的优先级控制功能,也可以这样安排,执行针对在一个数据帧中描述的过程中的多个LUN和物理端口的优先级控制。
在本发明的存储系统中,是以如下的方式实施数据的拷贝管理的,按照所述方式,在第一存储控制器10执行数据输入/输出过程所针对的逻辑卷(以下称为“主逻辑卷”)中所存储的数据的拷贝也被存储在第二存储控制器20中的逻辑卷(以下称为“副逻辑卷”)中。主逻辑卷中的LUN和副逻辑卷中的LUN之间的关系被存储在第一存储控制器10的控制存储器113中,作为一对管理表。该对管理表的例子如图11所示。然而,可由第一存储控制器10的功能自动设置或由操作员等等手动操作设置该关系。
现在,将参考图12的流程图,对把描述了指向主逻辑卷的数据写请求的数据帧从主计算机5传送到第一存储控制器10时的存储系统的过程进行描述。
当第一存储控制器10接收从主计算机5传送(S1261)的数据帧时(S1262)时,它检查在数据帧中描述为FCP_LUN(91)的LUN是否存在于该对管理表中(S1263、S1264)。
如果在该对管理表中不存在在该数据帧中描述为FCP_LUN(91)的LUN,第一存储控制器10将所接收的数据帧传送到存储设备控制单元12(S1265)。当存储设备控制单元12接收数据帧时(S1266),它针对适当的逻辑卷执行对应在该数据帧中描述的SCSI命令的数据写过程(S1267),以及当必要时,将在其中描述了完成报告的数据帧传送到主计算机5(S1268)。因此,在主逻辑卷中已经写入数据。
在(S1264)中,如果在该对管理表中存在LUN,第一存储控制器10创建新数据帧,在该新数据帧中,数据帧的Deatination_ID(81)和FCP_LUN(91)被改变,以便将副逻辑卷指定为拷贝的目的地(S1269)。以如下的方式执行新数据帧的创建,按照所述方式,在将所接收的数据帧存储在控制存储器113中后,将该数据帧的拷贝存储在控制存储器中,并改变在该数据帧的拷贝中的Destination_ID(81)和FCP_LUN(91)来创建新数据帧。
接着,通过控制开关设备111以便使开关设备111这样操作,第一存储控制器10将所创建的新数据帧传送到第二存储控制器20(S1270)。当第二存储控制器20接收该数据帧时(S1271),它针对在数据帧的FCP_LUN中描述的副逻辑卷执行对应在该数据帧的FCP_CDB中描述的SCSI命令的数据写过程(S1272)。用这种方式,也已经把作为在主逻辑卷中所描述的数据的拷贝的数据写入副逻辑卷中。在执行数据写过程后,如果必要的话,第二存储控制器20将在其中描述了完成报告的数据帧传送到主计算机5。用这种方式,已经将数据写入主逻辑卷中,同时,将相同的数据写入副逻辑卷中。
另一方面,在(S1264)中,如果在对管理表中不存在在数据帧中描述的作为FCP_LUN(91)的LUN,在如上的基本操作中描述的过程后,第一存储控制器10检查该数据帧是指向第一存储控制器10中的磁盘驱动器14还是指向第二存储控制器20(S1281)。如果该数据帧是指向第一存储控制器10,将该数据帧传送到存储设备控制单元12,并执行关于该数据帧的数据写过程(1282)。如果必要的话,将在其中描述了完成报告的数据帧传送到主计算机5(S1284)。
如果该数据帧是指向第二存储控制器20中的磁盘驱动器21,第一存储控制器10将该数据帧传送到第二存储控制器20(S1285)。当第二存储控制器20接收数据帧时(S1286),它执行指向磁盘驱动器21的数据写过程(S1287)。然后,如果必要的话,第二存储控制器20通过第一存储控制器10将在其中描述了数据写过程的完成报告的数据帧传送到主计算机5(S1288)。
在上述过程中,当第一存储控制器10接收在其中描述了指向主逻辑卷的数据写请求的数据帧时,第一存储控制器10创建用于拷贝该请求的数据帧,并将其传送到第二存储控制器20。
根据该方法,仅通过向第一存储控制器10提供用于如上所述创建数据帧的机制,能够很容易实现将存储在第一存储控制器10的磁盘驱动器14中的数据也存储在第二存储控制器20的磁盘驱动器21中的数据拷贝管理的机制。
有两种已知的用于数据拷贝管理的方案,诸如所谓的“同步方案”,其中已经接收数据帧的第一存储控制器10在确认用于主逻辑卷和副逻辑卷的写过程完成后,将完成报告告知主计算机5,以及所谓的“异步方案”,其中第一存储控制器10仅在针对主逻辑卷的写过程完成时,才将完成报告告知主计算机5,而不管是否已经完成针对副逻辑卷的写过程。然而,上述实施例的机制可应用于在“同步方案”或者“异步方案”中操作的情形。
尽管通过几个实施例,已经阐述了根据本发明的存储系统控制方法等等,但是上述实施例仅用于方便理解本发明,而不是限定本发明。将意识到,在不背离本发明以及本发明所包含的等效的精神的情况下,可不同地改变或改进本发明。如仅应用如上所述的存取限制、优先级、数据拷贝控制中的一个或应用这些的两个或多个的任意组合。
用于第一通信装置或第二通信装置的通信协议并不限于光纤信道协议,而是可使用其他协议。
在上述实施例中,将磁盘阵列装置描述为存储装置的例子。然后,本发明可应用于除磁盘阵列装置外的其他存储装置上,诸如半导体磁盘装置。
尽管基于实施例,已经描述了本发明,应注意到,本发明将不限于在此陈述的实施例,以及在不背离其精神的情况下,可做出各种改变。
权利要求
1.一种网络开关,耦合到主计算机和盘阵列系统,所述盘阵列系统具有控制器和多个盘驱动器并且具有由所述盘驱动器配置的逻辑卷,所述网络开关包括开关模块;和控制模块;其中所述开关模块还包括第一端口,耦合到所述主计算机并且接收从所述主计算机发送到虚拟卷的输入命令,所述虚拟卷与所述逻辑卷相关并且用作所述主计算机的所述逻辑卷的透明位置;第二端口,耦合到所述盘阵列系统,并且把所述输入命令的数据转送到所述盘阵列系统;和至少一个第一处理器,耦合到所述第一端口和所述第二端口,划分所述输入命令,并且根据所述划分和映像对把所述输入命令的所述数据从所述第一端口中继到从多个端口中选择的所述第二端口进行控制,所述映像具有所述虚拟卷和所述逻辑卷之间的信息;其中所述控制模块包括第二处理器,第二处理器耦合到所述第一处理器并且控制所述网络开关中的控制信息。
2.一种网络开关,耦合到主计算机、第一盘阵列系统和第二盘阵列系统,所述第一盘阵列系统具有第一控制器和多个第一盘驱动器并且具有由所述第一盘驱动器配置的第一逻辑卷,所述第二盘阵列系统具有第二控制器、多个第二盘驱动器和由所述第二盘驱动器配置的第二逻辑卷,所述网络开关包括至少一个开关模块;和至少一个控制模块;其中所述开关模块还包括第一端口,耦合到所述主计算机并且接收从所述主计算机发送到虚拟卷的输入命令,所述虚拟卷与所述第一逻辑卷和所述第二逻辑卷相关并且用作所述主计算机的所述第一和第二逻辑卷的透明位置;至少一个第二端口,耦合到所述盘阵列系统并且把所述输入命令的数据转送到所述第一或者第二盘阵列系统;至少一个第一处理器,耦合到所述第一端口和所述第二端口,划分所述输入命令,以及根据所述划分和映像对把所述输入命令的所述数据从所述第一端口中继到从多个端口中选择的所述第二端口进行控制,所述映像具有在所述虚拟卷和所述第一及第二逻辑卷之间的信息;其中所述控制模块包括第二处理器,第二处理器耦合到所述第一处理器并且控制所述网络开关中的控制信息。
3.一种网络开关,耦合到主计算机和第一盘阵列系统,所述盘阵列系统具有多个盘驱动器和由所述盘驱动器配置的逻辑卷,包括开关模块;和控制模块;其中所述开关模块包括第一端口,接收从所述主计算机到虚拟卷的写存取请求,所述虚拟卷与所述逻辑卷相关并且用于透明地从所述主计算机进行存取;第二端口,把所述写存取请求传送到所述第一盘阵列系统;和第一处理器,耦合到所述第一端口和所述第二端口并且根据所述写请求和表对把所述写存取请求从所述第一端口中继到所述第二端口进行控制,所述表具有在所述虚拟卷和所述逻辑卷之间的关系信息;其中所述控制模块包括第二处理器,控制关于所述网络开关的控制信息并且耦合到所述第一处理器。
4.如权利要求3所述的网络开关,其中所述网络开关还耦合到第二盘阵列系统,所述第二盘阵列系统具有多个第二盘驱动器,以及其中所述第二处理器控制与由所述第二盘驱动器配置的至少第二逻辑卷有关的信息。
5.如权利要求4所述的网络开关,其中所述网络开关还耦合到第二盘阵列系统,所述第二盘阵列系统具有多个第二盘驱动器,和其中所述第二处理器至少控制所述第一端口和由所述第二盘驱动器配置的第二逻辑卷之间的关系。
6.如权利要求4所述的网络开关,其中所述网络开关还耦合到第二盘阵列系统,所述第二盘阵列系统具有多个第二盘驱动器;和其中所述第二处理器至少控制所述虚拟卷和由所述第二盘驱动器配置的第二逻辑卷之间的关系。
7.如权利要求3所述的网络开关,其中所述网络开关存储存取限制信息,所述存取限制信息指示从/所述主计算机发送到所述逻辑卷的存取的允许/拒绝,和其中当所述开关模块接收到从所述主计算机到所述逻辑卷的所述写存取请求时,所述开关模块查阅所述存取限制信息以便检查所述写存取请求是否被允许存取所述逻辑卷。
8.一种网络开关,耦合到主计算机、第一盘阵列系统以及第二盘阵列系统,所述第一盘阵列系统具有多个第一盘驱动器,所述第二盘阵列系统具有多个第二盘驱动器,包括开关模块;和控制模块;其中所述网络开关具有虚拟化功能,用于使第一逻辑卷由所述第一盘驱动器配置并使第二逻辑卷被配置成虚拟的,其中所述开关模块包括第一端口,接收从所述主计算机到虚拟卷的存取请求,所述虚拟卷与所述第一逻辑卷和所述第二逻辑卷这二者都相关;第二端口,把所述存取请求传送到所述第一盘阵列系统;第一处理器,耦合到所述第一端口和所述第二端口并且根据所述写请求和表对把所述存取请求所述第一端口中继到所述第二端口进行控制,所述表具有所述虚拟卷和所述逻辑卷之间的关系信息,以及其中所述控制模块包括第二处理器,控制关于所述网络开关的控制信息并且耦合到所述第一处理器。
9.如权利要求8所述的网络开关,其中所述第二处理器控制所述第一端口和所述第二逻辑卷之间的关系。
10.如权利要求8所述的网络开关,其中所述第二处理器至少控制所述虚拟卷和所述第二逻辑卷之间的关系。
11.如权利要求8所述的网络开关,其中所述网络开关存储存取限制信息,所述存取限制信息表示从/所述主计算机发送到所述第一逻辑卷的存取的允许/拒绝,其中当所述开关模块接收到从所述主计算机到所述第一逻辑卷的所述存取请求时,所述开关模块查阅所述存取限制信息以便检查所述写存取请求是否被允许存取所述逻辑卷。
全文摘要
公开了用于控制如下存储系统的方法,该存储系统包括主计算机、可通信地连接到主计算机的第一存储控制器,用于接收从主计算机传送的数据帧,并响应在数据帧中描述的数据输入/输出请求,执行将数据输入到第一存储设备和从该第一存储设备输出数据,以及可通信地连接到第一存储控制器的第二存储控制器,包括在接收到从主计算机传送的数据帧后,响应在数据帧中描述的信息,由第一存储控制器将数据帧中继到第二存储控制器。
文档编号G06F12/08GK1790250SQ20051012556
公开日2006年6月21日 申请日期2003年9月18日 优先权日2002年9月18日
发明者印南雅隆, 岛田朗伸, 田渕英夫, 中野俊夫 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1