CN101504592B - 存储子系统及其控制方法 - Google Patents

存储子系统及其控制方法 Download PDF

Info

Publication number
CN101504592B
CN101504592B CN2009100059659A CN200910005965A CN101504592B CN 101504592 B CN101504592 B CN 101504592B CN 2009100059659 A CN2009100059659 A CN 2009100059659A CN 200910005965 A CN200910005965 A CN 200910005965A CN 101504592 B CN101504592 B CN 101504592B
Authority
CN
China
Prior art keywords
switching equipment
ports
port
disk controller
magnetic disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009100059659A
Other languages
English (en)
Other versions
CN101504592A (zh
Inventor
井上哲也
铃木弘志
小贺努
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN101504592A publication Critical patent/CN101504592A/zh
Application granted granted Critical
Publication of CN101504592B publication Critical patent/CN101504592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

本发明涉及存储子系统及其控制方法。本发明的课题是,提供一种在提高可靠性以及可用性的同时,将系统性能的恶化抑制到最小限度的存储子系统。本发明为一种存储子系统,其包含控制经由多个第1交换设备连接的多个驱动器单元的第1控制器、以及控制经由与该多个第1交换设备对应的多个第2交换设备连接的相应的多个驱动器单元的第2控制器,该存储子系统具有将所述多个第1交换设备和所述对应的多个第2交换设备相互连接起来的连接路径。该存储系统当检测出故障的发生时,确定连接路径中的故障部位,并为了绕过该故障部位而变更交换设备的连接结构。

Description

存储子系统及其控制方法
技术领域
本发明涉及存储子系统及其控制方法,尤其涉及采用冗余化路径结构、具有通过多个交换设备形成的连接路径的存储子系统以及该连接路径的控制方法。
背景技术
存储子系统是对主计算机提供数据存储服务的装置。存储子系统典型地由用于存储数据的硬盘驱动器群和对其进行控制的磁盘控制器构成。磁盘控制器具备:用于控制存储子系统全体的处理器、用于与主计算机连接的前端接口、用于连接硬盘驱动器群的后端接口。典型地在两接口之间配置用于对用户数据进行高速缓冲存储的高速缓冲存储器。另外,硬盘驱动器群经由多段配置的交换电路被设置成阵列状。
存储子系统一般用于关键(mission critical)业务,所以要求高可靠性、高可用性。因此,从耐故障性的观点出发,典型的是冗余地构成存储子系统内的组件。例如,在后端接口中将用于访问硬盘驱动器的路径二重化,即使某条路径发生了故障,也可以用另一条路径继续运用系统。另外,在存储子系统内发生了故障的情况下,马上确定发生该故障的组件,使故障恢复。
下述专利文献1公开了这样的存储控制装置:监视连接有磁盘驱动器的交换电路的多个端口,当在某个端口中检测出错误时,通过设置在控制器中的故障恢复控制部确定故障部位,并进行故障恢复处理。
存储子系统一般被用于关键业务,所以要求高可靠性、高可用性。构成存储子系统的组件的故障从概率上看是会发生的,这无法避免,因此从系统设计的观点出发,需要充分考虑耐故障性。
例如,如上所述,存储子系统即使在二重化的路径的一方中发生了故障的情况下,也可以经由剩下的另一方路径来访问硬盘驱动器,由此能够继续运用系统,能够经得住故障。
然而,在这种现有的存储子系统中存在如下问题:二重化的路径分别是整个地独立地构成,因此,一旦发生故障时,无法使用发生该故障的路径本身,故障的影响会波及较大范围。
另外,存在如下问题:在该故障恢复之前的期间内,仅通过另一方路径进行运用,因此无法应对进一步的故障。因此,万一在剩下的路径中发生了故障时,会引起系统停机。
而且,在仅通过另一方路径进行的运用中,访问负荷集中于该另一方路径,因此存在吞吐性能降低的问题。
【专利文献1】特开2007-141185号公报
发明内容
因此,鉴于上述问题,本发明的目的在于,提供一种可以在提高可靠性以及可用性的同时,将系统性能的恶化抑制到最小限度的存储子系统及其控制方法。
更具体而言,本发明的一个目的在于,提供一种即使在存储子系统内发生了故障时,也能够将故障的影响抑制到最小限度的存储子系统及其控制方法。
另外,本发明的另一目的在于,提供一种即使在存储子系统内发生了故障时,在故障恢复之前的期间内,通过利用未发生故障的组件尽可能地维持冗余结构来分散负荷,能够防止吞吐性能降低的存储子系统及其控制方法。
本发明的其它目的通过后述的实施方式的记载可以明了。
本发明是鉴于上述问题而完成的,其主旨是:本发明的存储子系统在针对驱动器单元的连接路径中检测出故障部位时,以绕过或者避开该故障部位的方式重新构建该连接路径。
即,遵从某观点的本发明的一种存储子系统,其包含控制经由多个第1交换设备连接的多个驱动器单元的第1控制器、以及控制经由与该多个第1交换设备对应的多个第2交换设备连接的相应的多个驱动器单元的第2控制器,该存储子系统具有将该多个第1交换设备和该对应的多个第2交换设备相互连接起来的连接路径。该存储系统当检测出故障的发生时,确定连接路径中的故障部位,为了绕过该故障部位而变更交换设备的连接结构。
由此,存储子系统即使在内部发生了故障时,也能够将故障的影响抑制到最小限度。另外,即使发生了这种故障,存储系统在故障恢复之前的期间内,能够通过未发生故障的组件来尽可能地维持冗余结构,因此可以分散负荷,能够防止吞吐性能的降低。
另外,遵从另一观点的本发明的一种存储子系统,其具备:具有用于存储数据的存储介质的多个驱动器单元;具有多个端口、并在该多个端口中至少一个端口上连接所述多个驱动器单元中至少一个驱动器单元的多个第一交换设备;连接所述多个第一交换设备的至少一个交换设备、并控制所述多个驱动器单元的第一磁盘控制器;具有多个端口、并在该多个端口中至少一个端口上连接所述多个驱动器单元中至少一个驱动器单元的多个第二交换设备,该多个第二交换设备的每一个与所述多第个一交换设备的每一个相对应;以及连接所述多个第二交换设备中至少一个交换设备、并控制所述多个驱动器单元的第二磁盘控制器。并且,该存储子系统具有这样的结构:所述多个第一交换设备的各个交换设备中的所述多个端口中至少一个端口、与所述对应的多个第二交换设备的各个交换设备中的所述多个端口中至少一个端口相互连接。
而且,遵从另一观点的本发明的一种存储子系统,其具备:具有用于存储数据的存储介质的多个第一驱动器单元;具有用于存储数据的存储介质的多个第二驱动器单元;具有多个端口、并在该多个端口中至少一个上连接所述多个第一驱动器单元中至少一个第一驱动器单元的多个第一交换设备;具有多个端口、并在该多个端口中至少一个端口上连接所述多个第一驱动器单元中至少一个第一驱动器单元的多个第二交换设备,该多个第二交换设备的每一个与所述多个第一交换设备的每一个相对应;具有多个端口、并在该多个端口中至少一个端口上连接所述多个第二驱动器单元中至少一个第二驱动器单元的多个第三交换设备;具有多个端口、并在该多个端口中至少一个端口上连接所述多个第二驱动器单元中至少一个第二驱动器单元的多个第四交换设备;第一磁盘控制器,其连接所述多个第一交换设备中至少一个第一交换设备、控制所述多个第一驱动器单元,并且连接所述多个第三交换设备中至少一个第三交换设备、控制所述多个第二驱动器单元;以及第二磁盘控制器,其连接所述多个第二交换设备中至少一个第二交换设备、控制所述多个第一驱动器单元,并且连接所述多个第四交换设备中至少一个第四交换设备、控制所述多个第二驱动器单元。并且,该存储子系统具有这样的结构:所述多个第一交换设备的各个第一交换设备中的所述多个端口中至少一个端口、与所述对应的多个第二交换设备的各个第二交换设备中的所述多个端口中至少一个端口相连,所述多个第三交换设备的各个第三交换设备中的所述多个端口中至少一个端口、与所述对应的多个第四交换设备的各个第四交换设备中的所述多个端口中至少一个端口相连。
而且,遵从另一观点的本发明还作为方法发明来把握。即,本发明是一种包含第一控制器和第二控制器的存储子系统中的交换设备间连接路径的控制方法,所述第一控制器控制经由串联连接的多个第一交换设备而连接的多个驱动器单元,所述第二控制器控制经由串联连接的、与所述多个第一交换设备对应的多个第二交换设备而连接的所述多个驱动器单元。该控制方法包含以下步骤:所述第一控制器以及所述第二磁盘控制器中至少一方,经由与自身连接的所述多个交换设备,向所述多个驱动器单元中至少一个驱动器单元发送基于用于访问的命令的数据帧;所述至少一方的磁盘控制器,接收应答所述命令而经由所述多个交换设备发送来的数据帧,并检查该接收到的数据帧中的错误;所述至少一方的磁盘控制器,当所述检查的结果是在所述数据帧中检查出错误时,对所述多个交换设备发送错误信息发送请求;所述至少一方的磁盘控制器,接收应答所述错误信息发送请求而发送来的错误信息;所述至少一方的磁盘控制器,根据所述接收到的错误信息,将检测出错误的交换设备以及该交换设备的端口确定为故障部位;以及所述至少一方的磁盘控制器,根据所述确定的故障部位,按照预定的连接路径重构模式来变更所述交换设备间连接路径。
根据本发明,存储子系统可以在提供可靠性以及可用性的同时,将系统性能的恶化限制到最小限度。
本发明的其它技术特征及优点,通过参照附图而说明的以下实施方式可以进一步明了。
附图说明
图1是用于说明本发明的一个实施方式的存储子系统的整体结构的图。
图2是表示本发明的一个实施方式的磁盘控制器的存储器单元的内容的一例的图。
图3是用于说明本发明的一个实施方式的存储子系统的交换设备的结构的图。
图4是表示本发明的一个实施方式的交换设备的错误模式表的一例的图。
图5是用于说明本发明的一个实施方式的交换设备的错误寄存器的内容的图。
图6是表示本发明的一个实施方式的磁盘控制器中保存的连接路径图的一例的图。
图7是表示本发明的一个实施方式的磁盘控制器中保存的连接路径图的一例的图。
图8是表示本发明的一个实施方式的磁盘控制器中保存的连接路径重构表的一例的图。
图9是用于说明本发明的一个实施方式的交换设备中的错误检查处理的流程图。
图10是用于说明本发明的一个实施方式的磁盘控制器的I/O处理的流程图。
图11是用于说明本发明的一个实施方式的磁盘控制器的故障恢复处理的流程图。
图12是用于说明本发明的一个实施方式的存储子系统的伴随后端的I/O处理的错误检查时的处理的顺序图。
图13是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图14是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图15是表示本发明的一个实施方式的磁盘控制器中保存的连接路径图的一例的图。
图16是表示本发明的一个实施方式的磁盘控制器中保存的连接路径图的一例的图。
图17是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图18是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图19是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图20是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图21是表示本发明的一个实施方式的存储子系统中的后端的示意图。
图22是表示本发明的一个实施方式的存储子系统的结构的图。
图23是表示本发明的一个实施方式的存储子系统1中的后端的示意图。
图24是用于说明本发明的一个实施方式的磁盘控制器的I/O处理的流程图。
图25是用于说明本发明的一个实施方式的磁盘控制器的故障恢复处理的流程图。
图26是用于说明本发明的一个实施方式的磁盘控制器的忙碌状态监视处理的流程图。
符号说明
1:存储子系统;12、120:磁盘控制器;121:通道适配器;122:数据控制器;123:磁盘适配器;124:处理器;125:存储器单元;126:LAN接口;127:总线;2A、2B:网络;3:主计算机;4:管理装置;11:存储设备;110:驱动器单元;111:硬盘驱动器;112:控制电路。
具体实施方式
接下来,参照附图来说明本发明的实施方式。
【第1实施方式】
图1是用于说明本发明的一个实施方式的存储子系统的全体结构的图。该图中所示的存储子系统1经由网络2A与主计算机3相连,形成了计算机系统。存储子系统1还经由管理用网络2B与管理装置4相连。
网络2A例如可以使用LAN、因特网或SAN(Storage Area Network)的任意一种,典型地包含网络交换机或集线器等而构成。在本实施方式中,网络2A由使用了光纤通道协议的SAN(FC-SAN)构成,管理用网络2B由LAN构成。
主计算机3具备处理器、主存储器、通信接口、本地输入输出装置等硬件资源,并且具备设备驱动程序或操作系统(OS)、应用程序等软件资源(未图示)。由此,主计算机3在处理器的控制下执行各种应用程序,通过与硬件资源的协同作用,在访问存储子系统1的同时实现希望的处理。
存储子系统1是向主计算机3提供数据存储服务的辅助存储装置。存储子系统1具备:包含存储数据的存储介质的存储设备11、和对其进行控制的磁盘控制器12。存储设备11和磁盘控制器12经由磁盘通道相连。磁盘控制器12的内部结构被二重化,磁盘控制器12可以使用两个通道(连接路径)对存储设备11进行访问。
存储设备11包含一个以上的驱动器单元110而构成。驱动器单元110例如由硬盘驱动器111以及控制该硬盘驱动器111的驱动的控制电路112构成。硬盘驱动器111例如被嵌入安装在驱动器单元110的机箱内。也可以代替硬盘驱动器111而使用闪速存储器等固态装置。与磁盘控制器12中的二重化路径结构相对应地,控制电路112也被二重化。
驱动器单元110典型地经由交换设备(扩展器)13与磁盘控制器12相连。通过使用多个交换设备(switching device)13,能够以各种形态连接多个驱动器单元110。在本实施方式中,在串联连接的多个交换设备13的每一个上连接有驱动器单元110。即,磁盘控制器120经由在其下属的串联连接的多个交换设备13来访问驱动器单元110。因此,通过串联地追加连接交换设备,能够容易地增设驱动器单元110,能够容易地扩展存储子系统1的存储容量。存储子系统1内的驱动器单元110的连接形态通过后述的连接路径图被定义。
驱动器单元110的硬盘驱动器111典型地根据预定的RAID结构(例如RAID 5)构成RAID组,在RAID控制下被访问。例如通过安装在磁盘控制器12中的RAID控制器(未图示)进行RAID控制。RAID组可以跨越多个驱动器单元110。属于同一RAID组的硬盘驱动器111被主计算机3识别为1个虚拟逻辑设备。
磁盘控制器12是控制存储子系统1全体的系统组件,其主要作用是根据来自主计算机3的访问请求,执行针对存储设备11的I/O处理。磁盘控制器12还根据来自管理装置4的各种请求,执行与存储子系统1的管理有关的处理。
如上所述,在本实施方式中,从耐故障性的观点出发,将磁盘控制器12内的组件二重化。以下,当指的是二重化的各个磁盘控制器12时,使用“磁盘控制器120”。另外,当指的是磁盘控制器120中的个体时,使用“第1磁盘控制器120”以及“第2磁盘控制器120”。
各磁盘控制器120包含:通道适配器121、数据控制器122、磁盘适配器123、处理器124、存储器单元125、和LAN接口126。磁盘控制器120彼此以能够相互通信的方式通过总线127相连。
通道适配器(CHA)121是用于经由网络2A连接主计算机3的接口,控制与主计算机3之间的遵从预定的协议的数据通信。通道适配器121,当收到来自主计算机的例如写入命令时,经由数据控制器122在存储器单元125中写入该写入命令以及遵从该写入命令的数据。通道适配器121有时也被称为主机接口或前端接口。
数据控制器122是磁盘控制器120内的组件间的接口,控制组件间的数据收发。
磁盘适配器(DKA)123是用于连接驱动器单元110的接口,磁盘适配器123按照来自主计算机3的I/O命令,控制与驱动器单元110之间的遵从预定的协议的数据通信。即,磁盘适配器123周期性地检查存储器单元125,当在存储器单元125上发现I/O命令时,按照该命令访问驱动器单元110。
更具体而言,磁盘适配器123例如在存储器单元125上发现写入命令时,为了将该写入命令指定的存储器单元125上的数据降级到存储设备11(即硬盘驱动器111的预定存储区域),而对存储设备11进行访问。另外,磁盘适配器123,当在存储器单元125上发现读出命令时,为了将该读出命令指定的存储设备11上的数据升级到存储器单元125上,而对存储设备11进行访问。
本实施方式的磁盘适配器123除了上述I/O功能外,还安装了故障恢复功能。例如作为固件来实现这些功能。
磁盘适配器123有时也被称为磁盘接口或后端接口。
处理器124执行加载在存储器单元125上的各种控制程序,来管理磁盘控制器120(即存储子系统1)全体的动作。处理器124也可以是多核型的处理器。
存储器单元125作为处理器124的主存储器来工作,并且作为通道适配器121以及磁盘适配器123的高速缓冲存储器来工作。存储器单元125例如由DRAM等易失性存储器构成,或者由闪速存储器等非易失性存储器构成。存储器单元125例如图2所示,存储存储子系统1自身的系统结构信息。系统结构信息包含:逻辑卷结构信息或RAID结构信息、连接路径图、连接路径重构表等。关于系统结构信息,例如在对存储子系统1接通电源时,在处理器124的控制下,按照初始处理,从硬盘驱动器111的特定存储区域读出该系统结构信息,并将其载入存储器单元125。连接路径图以及连接路径重构表在后面进行描述。
LAN接口126是用于经由LAN连接管理装置4的接口电路。LAN接口例如可以采用遵从TCP/IP及以太网(注册商标)的网络接口。
管理装置4是系统管理者用于管理存储子系统1全体的装置,其典型地是通过安装有管理程序的通用计算机来构成。管理装置4有时被称为服务处理器。在上述图中,管理装置4经由管理用网络2B被设置在存储装置1的外侧,但不限于此,其也可以设置在存储子系统1的内部。或者也可以将磁盘控制器120构成为包含与管理装置4同等的功能。
系统管理者经由管理装置4所提供的用户界面向磁盘控制器发出指示,由此能够取得存储子系统1的系统结构信息来进行参照,或者设定、变更系统结构信息。例如,系统管理者能够操作管理装置4,配合硬盘驱动器的增设来设定逻辑卷或虚拟卷,还能够设定RAID结构。
图3是用于说明本发明的一个实施方式的存储子系统1内的交换设备13的结构的图。
如该图所示,交换设备13具备多个端口部131、交换电路132、地址表133和错误寄存器134。
端口部131包含用于进行外部连接的多个端口1311、和错误检查电路1312。另外,虽未图示,但端口部131包含缓冲器,可以临时存储接收数据帧以及发送数据帧。在端口1311上连接例如磁盘控制器120、其它交换设备13、以及驱动器单元110。对各端口1311分配了在交换设备13内固有的号码(端口号码),以使其可以识别。端口号码可以分配给每个端口部131。在上述图中表示了配置多个端口部131,并在它们上分别连接其它设备的情况,但不特别局限于此,也可以在设置在单一端口部131中的多个端口1311上连接各个设备。
在交换设备13的内部,各端口1311经由数据线D与交换电路132相连。另外,错误检查电路1312按照图4所示的错误模式表,监视各端口1311中的通信错误。具体而言,错误检查电路1312检查通过各端口1311的数据帧中包含的校验位,当该校验位与预定的错误模式一致时,将与该错误模式对应的错误计数器的值增加。错误检查电路1312在错误计数器的值超过预定的阈值时,向错误信号线E输出错误信息。错误信息经由交换电路132被写入错误寄存器134。
交换电路132包含由地址锁存器以及选择器构成的交换元件。交换电路132对输入的数据帧的头信息进行解析,按照地址表133切换数据帧的送出目的地。
错误寄存器134是用于保存从各端口部131的错误检查电路1312送出的错误信息的寄存器。
图4是表示本发明的一个实施方式的交换设备13内的错误模式表的一例的图。错误模式表保存在错误检查电路1312中。
如该图所示,错误模式表400中,按通过预定的比特排列而定义的每个错误模式401,将错误计数器值402以及预定的阈值403对应起来。若是正常的数据通信,则错误模式401是数据帧内的校验位中未出现的比特模式。错误计数器值402是针对每个错误模式401而发生的错误的次数,阈值403是该错误发生次数的允许上限值。
错误检查电路1312,在数据帧内的校验位与错误模式401的某一个相一致时,认为发生了错误,将与该检测出的错误模式401对应的错误计数器值402增加。而且,错误检查电路1312比较该错误计数器值402和阈值403,当判断为该错误计数器值402超过了阈值403时,向错误信号线E输出错误信息。
图5是用于说明本发明的一个实施方式的交换设备13内的错误寄存器134的内容的图。
如该图所示,错误寄存器134存储从错误检查电路1312发送的错误信息。错误信息例如由端口号码1341、错误代码1342、错误计数器值1343构成。端口号码1341是检测出错误的端口1311的端口号码。错误代码1342例如是分配给每个错误模式401的代码,通过参照错误代码1342能够识别错误的内容等。应答从外部的设备(例如通道适配器123)发送的错误信息发送请求,来读出错误寄存器134的错误信息。
图6和图7是表示本发明的一个实施方式的磁盘控制器120的存储器单元125中保存的连接路径图600的一例的图。连接路径图600被存储在二重化的磁盘控制器120的各自的存储器单元125中。图6表示第1磁盘控制器120中的连接路径图600,图7表示第2磁盘控制器120中的连接路径图600。磁盘控制器120经由总线127能够参照其它磁盘控制器120的连接路径图600。
连接路径图600是表示各交换设备13的各端口1311上连接的设备以及该端口1311的状态的表。即,连接路径图600包含:设备名601、端口号码602、连接目的地设备名603和状态604。设备名601是唯一分配给交换设备13的识别名。端口号码602是设置在交换设备13中的端口1311的端口号码。连接目的地设备名603是为了唯一地识别与该端口1311连接的设备而分配的识别名。另外,状态604表示该端口1311是成为了有效状态还是成为了无效状态。
例如,如图6所示,设备名“Switch-11”所表示的交换设备13,将连接目的地设备名“Controller-1”所表示的第1磁盘控制器120连接在了端口号码“#1”所表示的端口上。此时的该端口的状态变成“有效”。同样地,在“Switch-11”的端口“#2”以及“#3”上分别连接有“HDD#1”以及“HDD#2”,另外,在端口“#4”上连接有“Switch-12”。另外,在端口“#5”上什么也没有连接,该端口的状态为“无效”。
图8是表示本发明的一个实施方式的磁盘控制器120的存储器单元125中保存的连接路径重构表800的一例。连接路径重构表800存储在二重化的磁盘控制器120的各自的存储器单元125中。
即,如该图所示,连接路径重构表800由故障模式801和连接路径重构模式802构成。故障模式801是检测出错误的故障部位的组合。故障部位是检测出错误的交换设备13的端口1311。在本例中,故障模式801定义了与端口1311的组合对应的6个模式。图中,“F”意思是该端口号码的端口1311是故障部位,另外,“E”意思是该端口号码的端口1311为有效状态(使用中)。另外,空栏意思是不管有效/无效状态,“-”意思是没有变更。例如,在第一行中表示的故障模式801表示正在使用端口号码#1以及#4,在端口号码#1中检测出了错误。
连接路径重构模式802定义为了重新构建用于绕过故障部位的连接路径而需要的各交换设备13的端口1311的状态。图中,阴影所示的部分表示为了重新构建连接路径,端口1311的状态发生了变更。
关于使用了连接路径重构表800的连接路径重构处理,参照图13至图21进行详细说明。
图9是用于说明本发明的一个实施方式的交换设备13中的错误检查处理的流程图。
即,如该图所示,交换设备13的各端口部131的错误检查电路1312监视数据帧是否被写入端口部131的缓冲器(STEP901)。作为数据帧被写入缓冲器的情况,有交换设备13经由端口部131的端口1311从外部接收数据帧的情况、和该交换设备13内的其它端口部131接收到的数据帧经由交换电路132被转发来的情况。前者是数据帧的接收,后者是数据帧的发送。当在缓冲器中写入数据帧时,错误检查电路1312参照错误模式表400(STEP902),判断该数据帧内的校验位(parity)是否与某个错误模式401相一致(STEP903)。如上所述,错误模式401是在数据通信方面异常的比特排列。
错误检查电路1312,当判断出该校验位与任意错误模式401都不一致时(STEP903中为否),认为数据帧正常,将该数据帧向下转发(STEP906)。即,若从外部接收数据帧,则错误检查电路1312将该数据帧送出到交换电路132,若向外部发送数据帧,则将数据送出到与端口1311相连的其它设备。
与之相对,错误检查电路1312,当判断出该校验位与某个错误模式401一致时(STEP903中为是),将错误模式表400中的与一致的错误模式401对应的错误计数器值402增加1(STEP904)。然后,错误检查电路1312将包含检测出该错误的端口1311的端口号码以及错误计数器值402的错误信息输出到错误信号线E。接收该错误信息后,将该错误信息写入错误寄存器134中。然后,错误检查电路1312将该数据帧向下转发(STEP906)。
图10是用于说明本发明的一个实施方式的磁盘控制器120的磁盘适配器123的I/O处理的流程图。本实施方式的磁盘适配器123的I/O处理包含检测出错误时的故障恢复处理。I/O处理例如通过I/O处理程序来实现。或者,作为磁盘适配器123的固件的一部分来实现。
即,如该图所示,磁盘适配器123取出存储在存储器单元125中的命令,通过预定的协议变换来生成数据帧,并存储在内部缓冲器中(STEP1001)。在此,若命令是读出命令,则生成基于该读出命令的数据帧。另外,若命令是写入命令,则生成基于该写入命令以及写入对象数据的数据帧。
然后,磁盘适配器123针对该生成的数据帧进行错误检查(STEP1002)。磁盘适配器123中的错误检查也与上述的交换设备13中的错误检查处理一样,根据数据帧中包含的校验位是否与预定的错误模式一致来进行。磁盘适配器123,在错误检查的结果是判断出该数据帧没有错误时(STEP1002中为否),经由端口送出该数据帧(STEP1003)。由此,该数据帧经由交换设备13,按照该数据帧的头信息被转发,最终被发送到发送目的地的驱动器单元110。
与之相对,磁盘适配器123,当判断出该数据帧有错误时(STEP1002中为是),向管理装置4发送错误报告(STEP1008),并结束I/O处理。
磁盘适配器123接收应答所发送的数据帧而经由交换设备13从驱动器单元110发送的数据帧,并存储在内部缓冲器中(STEP1004)。接着,磁盘适配器123针对接收到的数据帧进行错误检查(STEP1005)。
磁盘适配器123,当错误检查的结果是判断出该接收到的数据帧中没有错误时(STEP1005中为否),在对该接收到的数据帧进行协议变换后,写入存储器单元125(STEP1006)。例如,若命令是读出命令,则将从硬盘驱动器111的预定区域读出的数据写入存储器单元125的高速缓冲存储区域。
与之相对,磁盘适配器123,当判断出该接收到的数据帧中有错误时(STEP1005中为是),进行以下详细描述的故障恢复处理(STEP1007)。即,接收到的数据帧中包含错误模式,就是在数据帧的传送路径的某处有可能发生了故障。故障恢复处理后,磁盘适配器123尝试再次发送数据帧(STEP1003)。
故障恢复处理包含确定发生了故障的设备及其部位(故障部位)的处理、以及构建绕过所确定的故障部位的新的连接路径的处理。图11是用于说明本发明的一个实施方式的磁盘控制器120的磁盘适配器123的故障恢复处理的流程图。
即,如该图所示,磁盘适配器123,当判断出接收到的数据帧中有错误时,经由端口广播发送错误信息发送请求(STEP1101)。广播发送是以连接路径上的所有设备作为发送目的地的发送。由此,错误信息发送请求被发送到与磁盘适配器123串联连接的所有交换设备13。接收到了错误信息发送请求的交换设备13将存储在自身的错误寄存器134中的错误信息发送到上位的交换设备13,并且将错误信息发送请求转发到下位的交换设备13。
磁盘适配器123接收应答错误信息发送请求而从各交换设备13发送来的错误信息(STEP1102)。在本实施方式中,收集在各交换设备13的错误寄存器134中保存的错误信息。从未检测出错误的交换设备13发送的错误信息,包含表示“没有错误”的状态。
然后,磁盘适配器123根据该收集到的错误信息来确定故障部位(STEP1103)。通过错误信息中包含的交换设备13的设备名以及端口号码来确定故障部位。接着,磁盘适配器123生成包含所确定的故障部位的故障信息,并将其发送到管理装置4(STEP1104)。接收到该故障信息后,管理装置4在用户界面上显示故障信息。
然后,磁盘适配器123为了重新构建绕过所确定的故障部位的连接路径,而参照存储器单元中存储的连接路径重构表800,从所确定的故障部位的组合(故障模式801)中确定连接路径重构模式802(STEP1105)。然后,磁盘适配器123按照所确定的连接路径重构模式802来更新连接路径图600(STEP1105)。
如上所述,根据存储设备11内的连接路径内的故障部位,构建绕过它的新的连接路径,存储子系统1能够在最大限度地确保二重化结构的同时继续存储服务的运用。
图12是用于说明本发明的一个实施方式的存储子系统1的伴随后端的I/O处理的错误检查时的处理的顺序图。
磁盘控制器120的磁盘适配器123,当从存储器单元125取出命令时,在进行预定的协议变换后,发送到串联连接的最上位的交换设备13(STEP1201)。
最上位的交换设备13,当接收到该命令时(STEP1202)进行接收错误检查,根据头信息来选择发送目的地,再进行发送错误检查(STEP1203),并发送到下位的交换设备13(STEP1204)。在下位的交换设备13中同样在接收到该命令时进行接收错误检查,根据头信息来选择发送目的地,再进行发送错误检查,并发送到更下位的交换设备13。另外,各交换设备13,在该命令的发送目的地是与自身连接的驱动器单元110时,将该命令发送到驱动器单元110。
驱动器单元110,当接收到该命令时(STEP1205)进行基于该命令的访问处理(STEP1206),将对该命令的处理结果(命令应答)发送到交换设备13(STEP1207)。例如若命令是写入命令,则命令应答是写入成功状态。另外,例如若命令是读出命令,则命令应答成为从硬盘驱动器111读取的数据。交换设备13当接收到命令应答时(STEP1208),同样地进行接收错误检查,根据头信息选择发送目的地,再进行发送错误检查(STEP1209),发送到上位的交换设备13(STEP1210)。于是,磁盘适配器123经由一个以上的交换设备13从驱动器单元110接收命令应答(STEP1211)。
接收到了命令应答的磁盘适配器123进行接收错误检查(STEP1212)。在本例中,假定在命令应答中检测出错误。磁盘适配器123在检测出错误时,广播发送错误信息发送请求(STEP1213)。广播发送是以所有交换设备13作为发送目的地的发送。
交换设备13,当接收到错误信息发送请求时(STEP1214),将自身的错误寄存器134中存储的错误信息发送到上位的交换设备13(STEP1215),并且将错误信息发送请求转发到下位的交换设备13(STEP1216)。接收到了错误信息发送请求的下位的交换设备13同样地将自身的错误寄存器134中存储的错误信息发送到上位的交换设备13,并且将错误信息发送请求转发到更下位的交换设备。最下位的交换设备13,当接收到错误信息发送请求时(STEP1217),将自身的错误寄存器134中存储的错误信息发送到上位的交换设备13(STEP1218)。另外,各交换设备13,当从下位的交换设备13接收到错误信息时(STEP1219),将其转发到上位的交换设备13(STEP1220)。于是,磁盘适配器123从连接路径上的所有交换设备13收集错误信息(STEP1221)。
接下来,说明本实施方式的基于故障恢复处理的连接路径的重构的具体例。图13是表示本发明的一个实施方式的存储子系统1中的后端的示意图。
如该图所示,关于本实施方式的存储子系统1中的后端,二重化的磁盘控制器120的磁盘适配器123串联地连接4个交换设备13,各交换设备13构成了连接了驱动器单元110的连接路径。将这种后端接口的结构表示为例如图6和图7所示的连接路径图600。
在以下的说明中,将第1磁盘控制器120的磁盘适配器123称为“DKA-1”,将与其连接的4个交换设备13分别称为“Switch-11”、“Switch-12”、“Switch-13”以及“Switch-14”。另外,将第2磁盘控制器120的磁盘适配器123称为“DKA-2”,将与其连接的4个交换设备13分别称为“Switch-21”、“Switch-22”、“Switch-23”以及“Switch-24”。而且,设在“Switch-11”及“Switch-21”上连接的驱动器单元110为“HDD#1”及“HDD#2”,在“Switch-12”及“Switch-22”上连接的驱动器单元为“HDD#3”及“HDD#4”,在“Swtich-13”及“Switch-23”上连接的驱动器单元为“HDD#5”及“HDD#6”,在“Swtich-14”及“Switch-24”上连接的驱动器单元为“HDD#7”及“HDD#8”。另外,图中各交换设备13内的#后面的数字表示端口1311的端口号码。而且,实线箭头表示该端口1311的状态变为有效,虚线箭头表示该端口1311的状态变为无效。
(具体例1)
现在,如图14所示,假定在Switch-12的端口号码#1中发生了故障。DKA-1如上所述发送错误信息发送请求,识别故障部位,此时,参照图8所示的连接路径重构表800,确定为了绕过故障部位而需要的连接路径重构模式802。在本例中由于是Switch-12的端口号码#1的故障,因此确定为在第1行中表示的连接路径重构模式。因此,DKA-1分别将Switch-11的端口号码#5、Switch-12的端口号码#5、Switch-21的端口号码#5、以及Switch-22的端口号码#5有效化,并且将Switch-11的端口号码#4以及Switch-12的端口号码#4无效化。由此,在DKA-1和Switch-12之间构建了通过Switch-11、Switch-21、以及Switch-22的迂回路径(图中的双点划线所示)。图15以及图16表示此时的连接路径图600。
(具体例2)
如图17所示,假定Switch-12的端口号码#1以及#5中发生了故障。在这种情况下,DKA-1按照图8所示的连接路径重构表800,分别将Switch-11的端口号码#5、Switch-13的端口号码#5、Switch-21的端口号码#5以及Switch-23的端口号码#5有效化,并且将Switch-11的端口号码#4以及Switch-12的端口号码#4无效化。由此,在DKA-1和Switch13之间构建了通过Switch-11、Switch-21、Switch-22以及Switch-23的迂回路径。
(具体例3)
如图18所示,假定在Switch-12的端口号码#4中发生了故障。在这种情况下,DKA-1分别将Switch-12的端口号码#5、Switch-13的端口号码#5、Switch-22的端口号码#5以及Switch-23的端口号码#5有效化,并且将Switch-12的端口号码#4以及Switch-13的端口号码#4无效化。由此,在DKA-1和Switch-13之间构建了通过Switch-11、Switch-12、Switch-22、Switch-23的迂回路径。
(具体例4)
如图19所示,假定在Switch-12的端口号码#4以及#5中发生了故障。在这种情况下,DKA-1分别将Switch-11的端口号码#5、Switch-13的端口号码#5、Switch-21的端口号码#5以及Switch-23的端口号码#5有效化,并且将Switch-11的端口号码#4以及Switch-13的端口号码#1无效化。由此,在维持DKA-1和Switch12之间的路径的同时,在DKA-1和Switch-13之间构建了通过Switch-11、Switch-21、Switch-22以及Switch-23的迂回路径。
(具体例5)
如图20所示,假定在Switch-12的端口号码#1和#4中发生了故障。在这种情况下,DKA-1分别将Switch-11的端口号码#5、Switch-12的端口号码#5、Switch-13的端口号码#5、Switch-21的端口号码#5、Switch-22的端口号码#5以及Switch-23的端口号码#5有效化,并且将Switch-11的端口号码#4、Switch-12的端口号码#1及#4、以及Switch-13的端口号码#4无效化。由此,在DKA-1和Switch-12之间构建了通过Switch-11、Switch-21以及Switch-22的迂回路径,并且在DKA-1和Switch-13之间构建了通过Switch-11、Switch-21、Switch-22以及Switch-23的迂回路径。
(具体例6)
如图21所示,假定在Switch-12的端口号码#1、#4以及#5中发生了故障。在这种情况下,DKA-1分别将Switch-11的端口号码#5、Switch-13的端口号码#5、Switch-21的端口号码#5以及Switch-23的端口号码#5有效化,并且将Switch-11的端口号码#4以及Switch-21的端口号码#1及#4无效化。由此,在DKA-1和Switch13之间构建了通过Switch-11、Switch-21、Switch-22以及Switch-23的迂回路径。
【第2实施方式】
图22是表示本发明的一个实施方式的存储子系统的结构的图。
如该图所示,本实施方式的存储子系统1构成为由各磁盘控制器120的磁盘适配器123控制针对存储设备11的多个通道(在图中为2通道)。各通道中的各交换设备13与上述实施方式同样地串联连接,并分别连接了驱动器单元110,但各交换设备13与同一磁盘适配器123的其它通道中的对应的交换设备13相连。按照这种结构定义连接路径图400以及连接路径重构表800的内容。关于其它各部的结构以及处理内容,与上述实施方式相同。
图23是表示本发明的一个实施方式的存储子系统1中的后端的示意图,具体而言,该图表示在Switch-12所示的交换设备13的端口号码#1所示的端口1311中发生了故障时重构而得的连接路径。磁盘适配器123的故障恢复处理与上述实施方式相同。
即,DKA-1在确定Switch-12的端口号码#1为故障部位时,按照预定的连接路径重构表重新构建连接路径。在本例中,DKA-1分别将Switch-11的端口号码#5、Switch-12的端口号码#5、Switch-31的端口号码#5以及Switch-32的端口号码#5有效化,并且分别将Switch-11的端口号码#4以及Switch-12的端口号码#4无效化。
在此需要特别说明的是,形成迂回路径的对应的各个交换设备13属于同一磁盘适配器123。即,即使是在属于一个磁盘适配器123的某个通道内的交换设备13中检测出错误时,另一个磁盘适配器123也不会介入重新构建的连接路径。因此,在二重化的磁盘控制器120中的磁盘适配器123间不会发生冲突,因此能够更高效率地转发数据帧。
【第3实施方式】
本实施方式是在路径交换设备13的端口1311成为忙碌状态时进行连接路径的重构处理的实施方式。本实施方式也能够应用于上述第1实施方式以及第2实施方式中示出的存储子系统1的结构中的任意一方。
图24是用于说明本发明的一个实施方式的磁盘控制器120的磁盘适配器123的I/O处理的流程图。本实施方式的磁盘适配器123的I/O处理包含检测数据帧的转发延迟的处理,这一点与上述实施方式不同。
即,如该图所示,磁盘适配器123取出在存储器单元125中存储的命令,通过预定的协议变换来生成数据帧,并存储在内部缓冲器中(STEP2401)。
然后,磁盘适配器123经由端口送出该数据帧(STEP2402)。磁盘适配器123与上述实施方式一样,也可以针对发送数据帧进行错误检查。由此,该数据帧经由交换设备13按照该数据帧的头信息被转发,最终被发送到发送目的地的驱动器单元110。
磁盘适配器123,在数据帧的发送后,在预定时间内监视是否有命令应答(STEP2403)。当在预定时间以内没有命令应答时,判断为超时。磁盘适配器123当在预定时间内接收到了命令应答时(STEP2403中为否),将该接收到的数据帧存储在内部缓冲器中(STEP2404),在进行预定的协议变换后写入存储器单元125中(STEP2405)。
与之相对,磁盘适配器123在预定时间内未接收到命令应答时(STEP2403中为是),认为发生了故障,进行以下详细描述的故障恢复处理(STEP2406)。在故障恢复处理后,磁盘适配器123尝试再次发送数据帧(STEP2402)。
图25是用于说明本发明的一个实施方式的磁盘控制器120的磁盘适配器123的故障恢复处理的流程图。
即,如该图所示,磁盘适配器123,在判断出所接收到的数据帧中有错误时,经由端口广播发送错误信息发送请求(STEP2501)。由此,磁盘适配器123可以从所有交换设备13收集错误信息(STEP2502)。在这种情况下,在错误信息收集的路径内有可能包含忙碌状态的端口1311,因此,与通常的命令发送时的超时时间相比,理想的是使接收到应答(错误信息)之前的超时时间较长。在本实施方式中,从交换设备13发送的错误信息包含各端口1311的发送接收错误信息以及各端口1311的忙碌信息。发送接收错误信息等价于图5中所示的错误信息。
然后,磁盘适配器123判断在该收集到的错误信息中是否包含发送接收错误信息(STEP2503)。磁盘适配器123,在该收集到的错误信息中包含发送接收错误信息时(STEP2503中为是),根据该收集到的错误信息确定故障部位(STEP2504)。以后的处理与图11所示的STEP1104~STEP1106相同,因此省略说明。
磁盘适配器123,当判断出在该收集到的错误信息中不包含发送接收错误信息时(STEP2503中为否),根据该收集到的错误信息中包含的忙碌信息,将处于忙碌状态的部位确定为故障部位(STEP2508)。然后,磁盘适配器123为了重新构建绕过所确定的故障部位的连接路径,而参照存储在存储器单元中的连接路径重构表800,确定连接路径重构模式802(STEP2509)。
接着,磁盘适配器123生成当前的连接路径图600的备份,并且按照所确定的连接路径重构模式802更新连接路径图600(STEP2510)。然后,磁盘适配器123另外启动忙碌状态监视处理(STEP2511),结束该故障恢复处理。忙碌状态监视处理监视处于忙碌状态的端口1311的忙碌状态是否已解除,当判断为忙碌状态已解除时,恢复为原来的连接路径图。
图26是用于说明本发明的一个实施方式的磁盘适配器123的忙碌状态监视处理的流程图。与上述的I/O处理独立地(通过别的线程)执行忙碌状态监视处理。
即,如该图所示,磁盘适配器123每经过一定时间(STEP2601中为是)就检测成为了忙碌状态的端口1311的忙碌状态是否已解除(STEP2602)。磁盘适配器123,当判断出端口1311的忙碌状态已解除时(STEP2602中为是),将重新构建的连接路径图替换为已备份的连接路径图600(STEP2603)。由此,存储设备11内的连接路径恢复为忙碌状态发生前的连接路径。
如上所述,根据存储设备11中的连接路径内的部位的忙碌状态,构建绕过它的新的连接路径,存储子系统1能够在最大限度地确保二重化结构的同时继续存储服务的运用。
另外,当忙碌状态解除时,存储子系统1恢复为原来的连接路径,因此可以进行更灵活且高效的存储服务的运用。
此外,在本实施方式中,磁盘适配器123当在预定时间内接收到了命令应答时,不进行错误检查就在存储器单元125中写入该命令应答,但也可以与上述实施方式同样地进行错误检查,根据该错误检查的结果进行故障恢复处理。
【其它实施方式】
上述各实施方式是用于说明本发明的例子,不表示将本发明仅限定于这些实施方式。本发明只要不脱离其主旨,可以通过各种形态来实施。例如,在上述实施方式中,按顺序说明了各种程序的处理,但不特别拘泥于此。因此,只要在处理结果中不产生矛盾,也可以用更替处理的顺序或进行并行动作的方式构成。
另外,在上述实施方式中,以由磁盘适配器123进行故障恢复处理的方式构成,但不特别拘泥于此。例如也可以构成为代替磁盘适配器123而由处理器124进行故障恢复处理等。
而且,在上述实施方式中分开地构成驱动器单元110和交换设备13,但也可以用包含交换设备13的功能的方式构成驱动器单元110。
产业上的可利用性
本发明能够广泛应用于采用冗余化路径结构、使用多个交换设备来形成连接路径的存储子系统。

Claims (11)

1.一种存储子系统,其特征在于,
具备:
具有用于存储数据的存储介质的多个驱动器单元;
具有多个端口、并在该多个端口中至少一个端口上连接所述多个驱动器单元中至少一个驱动器单元的多个第一交换设备;
连接所述多个第一交换设备的至少一个交换设备、并控制所述多个驱动器单元的第一磁盘控制器;
具有多个端口、并在该多个端口中至少一个端口上连接所述多个驱动器单元中至少一个驱动器单元的多个第二交换设备,该多个第二交换设备的每一个与所述多个第一交换设备的每一个一一对应;以及
连接所述多个第二交换设备中至少一个交换设备、并控制所述多个驱动器单元的第二磁盘控制器,
所述多个第一交换设备的各个交换设备中的所述多个端口中至少一个端口、与所述对应的多个第二交换设备的各个交换设备中的所述多个端口中至少一个端口相互连接,
所述多个第一交换设备以及所述多个第二交换设备分别经由自身的所述多个端口串联地连接,
所述第一磁盘控制器具有第一连接路径图,该第一连接路径图管理在所述多个第一交换设备的各个交换设备中的所述多个端口的各个端口上连接的设备以及该多个端口的各自的连接状态,
所述多个第一交换设备的每一个以及所述多个第二交换设备的每一个,输出自身的所述多个端口的各个端口中的忙碌信息,
所述第二磁盘控制器具有第二连接路径图,该第二连接路径图管理在所述多个第二交换设备的各个交换设备中的所述多个端口的各个端口上连接的设备以及该多个端口的各自的连接状态。
2.根据权利要求1所述的存储子系统,其特征在于,
所述多个第一交换设备的每一个以及所述多个第二交换设备的每一个,具有:检查发送到所述多个端口的各个端口的数据帧中的错误的错误检查电路,
所述错误检查电路,当在所述数据帧中检查出错误时,输出预定的错误信息。
3.根据权利要求2所述的存储子系统,其特征在于,
所述第一磁盘控制器以及所述第二磁盘控制器中至少一方,经由与自身相连的所述多个交换设备中至少一个交换设备,发送基于命令的数据帧,该命令用于访问所述多个驱动器单元中至少一个驱动器单元,当在应答所述命令而发送来的数据帧中检查出错误时,对所述多个交换设备发送错误信息发送请求。
4.根据权利要求3所述的存储子系统,其特征在于,
与所述至少一方的磁盘控制器相连的所述多个交换设备的每一个,应答所述错误信息发送请求,将所述错误信息发送到所述至少一方的磁盘控制器。
5.根据权利要求4所述的存储子系统,其特征在于,
所述至少一方的磁盘控制器,根据应答所述错误信息发送请求而从所述多个交换设备的每一个发送来的错误信息,将检查出错误的交换设备以及端口确定为故障部位。
6.根据权利要求5所述的存储子系统,其特征在于,
所述至少一方的磁盘控制器,根据所述确定的故障部位,按照预定的连接路径重构模式来更新自身的所述连接路径图的内容。
7.根据权利要求1所述的存储子系统,其特征在于,
所述第一磁盘控制器以及所述第二磁盘控制器的至少一方,将与自身相连的所述多个交换设备中至少一个交换设备以及该对应的所述交换设备的各个交换设备中的所述多个端口中至少一个端口的连接状态设定为有效状态。
8.根据权利要求1所述的存储子系统,其特征在于,
所述第一磁盘控制器以及所述第二磁盘控制器的至少一方,根据所述多个第一交换设备以及所述多个第二交换设备中某一个交换设备输出的忙碌信息,按照预定的连接路径重构模式来更新自身的所述连接路径图的内容。
9.一种存储子系统,其特征在于,
具备:
具有用于存储数据的存储介质的多个第一驱动器单元;
具有用于存储数据的存储介质的多个第二驱动器单元;
具有多个端口、并在该多个端口中至少一个上连接所述多个第一驱动器单元中至少一个第一驱动器单元的多个第一交换设备;
具有多个端口、并在该多个端口中至少一个端口上连接所述多个第一驱动器单元中至少一个第一驱动器单元的多个第二交换设备,该多个第二交换设备的每一个与所述多个第一交换设备的每一个一一对应;
具有多个端口、并在该多个端口中至少一个端口上连接所述多个第二驱动器单元中至少一个第二驱动器单元的多个第三交换设备;
具有多个端口、并在该多个端口中至少一个端口上连接所述多个第二驱动器单元中至少一个第二驱动器单元的多个第四交换设备,该多个第四交换设备的每一个与所述多个第三交换设备的每一个一一对应;
连接所述多个第一交换设备中至少一个第一交换设备、控制所述多个第一驱动器单元,并且连接所述多个第三交换设备中至少一个第三交换设备、控制所述多个第二驱动器单元的第一磁盘控制器;以及
连接所述多个第二交换设备中至少一个第二交换设备、控制所述多个第一驱动器单元,并且连接所述多个第四交换设备中至少一个第四交换设备、控制所述多个第二驱动器单元的第二磁盘控制器,
所述多个第一交换设备的各个第一交换设备中的所述多个端口中至少一个端口、与所述对应的多个第二交换设备的各个第二交换设备中的所述多个端口中至少一个端口相连,
所述多个第三交换设备的各个第三交换设备中的所述多个端口中至少一个端口、与所述对应的多个第四交换设备的各个第四交换设备中的所述多个端口中至少一个端口相连。
10.一种包含第一控制器和第二控制器的存储子系统中的交换设备间连接路径的控制方法,所述第一控制器控制经由串联连接的多个第一交换设备而连接的多个驱动器单元,所述第二控制器控制经由串联连接的、与所述多个第一交换设备一一对应的多个第二交换设备而连接的所述多个驱动器单元,所述多个第一交换设备的各个交换设备中的多个端口中至少一个端口、与所述对应的多个第二交换设备的各个交换设备中的多个端口中至少一个端口相互连接,该控制方法的特征在于,
包含以下步骤:
所述第一控制器以及所述第二磁盘控制器中至少一方,经由与自身连接的所述多个交换设备,向所述多个驱动器单元中至少一个驱动器单元发送基于用于访问的命令的数据帧;
所述至少一方的磁盘控制器,接收应答所述命令而经由所述多个交换设备发送来的数据帧,检查该接收到的数据帧中的错误;
所述至少一方的磁盘控制器,当所述检查的结果是在所述数据帧中检查出错误时,对所述多个交换设备发送错误信息发送请求;
所述至少一方的磁盘控制器,接收应答所述错误信息发送请求而发送来的错误信息;
所述至少一方的磁盘控制器,根据所述接收到的错误信息,将检测出错误的交换设备以及该交换设备的端口确定为故障部位;以及
所述至少一方的磁盘控制器,根据所述确定的故障部位,按照预定的连接路径重构模式来变更所述交换设备间连接路径。
11.根据权利要求10所述的控制方法,其特征在于,
所述变更的步骤,为了绕过所述确定的故障部位,将所述多个第一交换设备中至少一个第一交换设备、和与其对应的所述多个第二交换设备中至少一个第二交换设备的连接状态设定为有效状态。
CN2009100059659A 2008-02-08 2009-01-22 存储子系统及其控制方法 Active CN101504592B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-029561 2008-02-08
JP2008029561 2008-02-08
JP2008029561A JP5127491B2 (ja) 2008-02-08 2008-02-08 ストレージサブシステム及びこれの制御方法

Publications (2)

Publication Number Publication Date
CN101504592A CN101504592A (zh) 2009-08-12
CN101504592B true CN101504592B (zh) 2011-04-13

Family

ID=40592070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100059659A Active CN101504592B (zh) 2008-02-08 2009-01-22 存储子系统及其控制方法

Country Status (4)

Country Link
US (1) US7774641B2 (zh)
EP (1) EP2088508B1 (zh)
JP (1) JP5127491B2 (zh)
CN (1) CN101504592B (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882389B2 (en) * 2008-11-18 2011-02-01 International Business Machines Corporation Dynamic reassignment of devices attached to redundant controllers
WO2010116538A1 (en) * 2009-04-06 2010-10-14 Hitachi, Ltd. Storage apparatus and data transfer method
US8407527B1 (en) * 2009-06-30 2013-03-26 Emc Corporation Diagnosing hardware faults in a data storage system
CN101615145B (zh) * 2009-07-24 2011-12-07 中兴通讯股份有限公司 一种提高存储器数据缓存可靠性的方法和装置
JP5358736B2 (ja) * 2009-11-10 2013-12-04 株式会社日立製作所 複数のコントローラを備えたストレージシステム
JP5573118B2 (ja) * 2009-11-18 2014-08-20 日本電気株式会社 ディスクアレイ装置の故障診断システム、故障診断方法、故障診断プログラムおよびディスク装置
JP5535322B2 (ja) * 2010-06-02 2014-07-02 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
US8468385B1 (en) * 2010-10-27 2013-06-18 Netapp, Inc. Method and system for handling error events
US8667337B2 (en) 2011-04-12 2014-03-04 Hitachi, Ltd. Storage apparatus and method of controlling the same
US9015519B2 (en) * 2012-01-31 2015-04-21 Symantec Corporation Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
WO2013128490A1 (en) * 2012-03-01 2013-09-06 Hitachi, Ltd. Method for reusing resource and storage sub-system using the same
US9135097B2 (en) * 2012-03-27 2015-09-15 Oracle International Corporation Node death detection by querying
JP5962215B2 (ja) 2012-05-28 2016-08-03 富士通株式会社 中継装置、及び情報通信システム
US9116859B2 (en) 2012-07-17 2015-08-25 Hitachi, Ltd. Disk array system having a plurality of chassis and path connection method
US20150331615A1 (en) * 2012-11-20 2015-11-19 Empire Technology Development Llc Multi-element solid-state storage device management
JP6070357B2 (ja) * 2013-03-28 2017-02-01 富士通株式会社 ストレージ装置
US10013216B2 (en) * 2014-02-17 2018-07-03 Hitachi, Ltd. Storage system
JP6185668B2 (ja) * 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
WO2016074151A1 (zh) * 2014-11-11 2016-05-19 华为技术有限公司 一种sas系统及sas系统的遍历方法、装置
CN105743731B (zh) 2014-12-11 2019-03-29 国际商业机器公司 用于存储系统中的故障检测的方法和装置
JP6578731B2 (ja) 2015-04-30 2019-09-25 富士通株式会社 通信システム,制御装置および管理装置
US10644976B2 (en) * 2015-05-18 2020-05-05 Denso Corporation Relay apparatus
JP6513801B2 (ja) 2015-06-05 2019-05-15 株式会社日立製作所 ストレージシステムおよびその制御方法
US10509700B2 (en) 2015-11-10 2019-12-17 Hitachi, Ltd. Storage system and storage management method
US10372364B2 (en) * 2016-04-18 2019-08-06 Super Micro Computer, Inc. Storage enclosure with daisy-chained sideband signal routing and distributed logic devices
US10365981B2 (en) * 2016-08-19 2019-07-30 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability
JP6773974B2 (ja) * 2016-10-06 2020-10-21 富士通株式会社 ストレージ制御装置およびストレージ装置
US10353640B2 (en) * 2016-12-06 2019-07-16 Dell Products L.P. Seamless data migration in a clustered environment
US10402361B2 (en) 2017-04-28 2019-09-03 Hitachi, Ltd. Storage system
JP7179489B2 (ja) * 2018-05-18 2022-11-29 キヤノン株式会社 ストレージシステム及びその制御方法、プログラム、並びに記憶制御システム
JP7087719B2 (ja) * 2018-06-22 2022-06-21 日本電気株式会社 コンピュータシステム
JP6948303B2 (ja) * 2018-11-07 2021-10-13 株式会社日立製作所 ストレージシステム
JP6773755B2 (ja) * 2018-12-13 2020-10-21 株式会社日立製作所 ストレージ装置及びストレージ装置における構成管理リクエストの処理方法
JP6899852B2 (ja) * 2019-01-15 2021-07-07 株式会社日立製作所 ストレージ装置
US11023402B2 (en) * 2019-07-02 2021-06-01 National Instruments Corporation Switch pruning in a switch fabric bus chassis
JP7080863B2 (ja) * 2019-08-02 2022-06-06 株式会社日立製作所 ストレージ装置
US11163630B2 (en) * 2019-10-18 2021-11-02 Dell Products L.P. Using real-time analytics to manage application features

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
JP3049301B2 (ja) * 1997-02-24 2000-06-05 郵政省通信総合研究所長 コネクション型通信網での障害回復方式および輻輳回復方式
JP4024475B2 (ja) * 2000-12-14 2007-12-19 株式会社日立製作所 情報ネットワークの制御方法および情報処理システム
US7127633B1 (en) * 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
GB0214669D0 (en) * 2002-06-26 2002-08-07 Ibm Method for maintaining data access during failure of a controller
JP2005222379A (ja) * 2004-02-06 2005-08-18 Hitachi Ltd ディスクアレイ装置およびその障害回避制御方法
JP2006072717A (ja) 2004-09-02 2006-03-16 Hitachi Ltd ディスクサブシステム
US20060106947A1 (en) * 2004-11-18 2006-05-18 Benhase Michael T Information storage and retrieval system comprising a storage controller and a fibre channel switch controller
JP4713902B2 (ja) * 2005-03-01 2011-06-29 株式会社日立製作所 ストレージシステム
US7302539B2 (en) * 2005-04-20 2007-11-27 Hewlett-Packard Development Company, L.P. Migrating data in a storage system
JP4786312B2 (ja) * 2005-11-22 2011-10-05 株式会社日立製作所 記憶制御装置及び記憶制御装置のエラー情報管理方法
JP2007206766A (ja) * 2006-01-31 2007-08-16 Fujitsu Ltd データストレージシステム、データストレージ制御装置及びその障害箇所診断方法。
JP4635941B2 (ja) * 2006-03-31 2011-02-23 日本電気株式会社 ディスクアレイサブシステム
US7761657B2 (en) * 2006-07-10 2010-07-20 Hitachi, Ltd. Storage control system, control method for storage control system, port selector, and controller
US7596723B2 (en) * 2006-09-22 2009-09-29 International Business Machines Corporation Apparatus, system, and method for selective cross communications between autonomous storage modules

Also Published As

Publication number Publication date
US20090204743A1 (en) 2009-08-13
JP5127491B2 (ja) 2013-01-23
EP2088508A3 (en) 2009-09-02
JP2009187483A (ja) 2009-08-20
EP2088508A2 (en) 2009-08-12
EP2088508B1 (en) 2013-09-04
US7774641B2 (en) 2010-08-10
CN101504592A (zh) 2009-08-12

Similar Documents

Publication Publication Date Title
CN101504592B (zh) 存储子系统及其控制方法
JP4475598B2 (ja) ストレージシステム及びストレージシステムの制御方法
US6691209B1 (en) Topological data categorization and formatting for a mass storage system
US6678788B1 (en) Data type and topological data categorization and ordering for a mass storage system
US7992048B2 (en) Computer system and method for performing failure detecting processing for a logical path
US7603583B2 (en) Fault recovery method in a system having a plurality of storage system
US7627779B2 (en) Multiple hierarichal/peer domain file server with domain based, cross domain cooperative fault handling mechanisms
EP0747822B1 (en) External storage system with redundant storage controllers
US6594775B1 (en) Fault handling monitor transparently using multiple technologies for fault handling in a multiple hierarchal/peer domain file server with domain centered, cross domain cooperative fault handling mechanisms
US6970972B2 (en) High-availability disk control device and failure processing method thereof and high-availability disk subsystem
US6578160B1 (en) Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions
US6865157B1 (en) Fault tolerant shared system resource with communications passthrough providing high availability communications
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
US7984260B2 (en) Storage system provided with a plurality of controller modules
JP2006079603A (ja) 高可用性クラスタ化のためのスマートカード
US6804794B1 (en) Error condition handling
US7308604B2 (en) Real-time fail-over recovery for a media area network
JP4106014B2 (ja) 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム
US6957301B2 (en) System and method for detecting data integrity problems on a data storage device
US20060230099A1 (en) File cache-controllable computer system
JP4322240B2 (ja) 再起動方法、システム及びプログラム
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
US8276017B2 (en) Process, apparatus, and program for system management
KR100604552B1 (ko) 클러스터 시스템에서 상태 정보 및 제어 명령의 공유를통한 시스템 장애 대응방법
JP3254766B2 (ja) 同一データの多重書き込み方法、データの読み出し方法及びデータ回復方法、並びにそのための制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant