CN102629225B - 双控制器磁盘阵列、存储系统以及数据存储路径切换方法 - Google Patents

双控制器磁盘阵列、存储系统以及数据存储路径切换方法 Download PDF

Info

Publication number
CN102629225B
CN102629225B CN201210049908.2A CN201210049908A CN102629225B CN 102629225 B CN102629225 B CN 102629225B CN 201210049908 A CN201210049908 A CN 201210049908A CN 102629225 B CN102629225 B CN 102629225B
Authority
CN
China
Prior art keywords
controller node
port
switching equipment
opposite terminal
data
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
CN201210049908.2A
Other languages
English (en)
Other versions
CN102629225A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210049908.2A priority Critical patent/CN102629225B/zh
Publication of CN102629225A publication Critical patent/CN102629225A/zh
Priority to PCT/CN2012/081178 priority patent/WO2013097485A1/zh
Priority to US13/622,908 priority patent/US8930608B2/en
Priority to EP12187557.9A priority patent/EP2610750B1/en
Application granted granted Critical
Publication of CN102629225B publication Critical patent/CN102629225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种双控制器磁盘阵列,应用于包括双控制器磁盘阵列和服务器的存储系统中,双控制器磁盘阵列包括磁盘框以及两个控制器节点,每个控制器节点包括交换设备,其中交换设备的一个端口与对端控制器节点中交换设备的一个端口相连接;每个控制器节点用于通过端口检测对端控制器节点是否失效;当检测到对端控制器节点失效时,本控制器节点使对端控制器节点将接收到的服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中,由于本发明不必在服务器中安装多路径软件,因此减少了服务器装置的冗余。本发明还公开了一种存储系统和数据存储路径切换方法。

Description

双控制器磁盘阵列、存储系统以及数据存储路径切换方法
本申请要求于2011年12月31日提交中国专利局、申请号为201110459979.5、发明名称为“一种数据路径切换方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种双控制器磁盘阵列、存储系统以及数据存储路径切换方法。
背景技术
存储设备,通常指磁盘阵列,是独立在服务器外的一台或多台用以存储数据的磁盘设备,其包括磁盘框以及多个控制器节点。当前主流的磁盘阵列使用的是双控制器磁盘阵列,如图1所示,双控制器磁盘阵列包括两个控制器节点以及用于安装物理存储介质(例如,固态硬盘)的磁盘框,服务器中的数据通过其中的一个控制器节点存储在磁盘框中。
在实际应用中,当双控制器磁盘阵列中的一个控制器节点失效时,另外一个控制器节点必须能接管失效控制器节点的数据。为了实现上述目的,当前已经提出一种技术方案。在该方案中,当某个控制器节点失效后,运行在服务器上的多路径软件检测链路状态,根据失效的路径(图1中细实线所示的数据路径1),切换至备份的路径上(图1中虚线所示的数据路径2),也即,服务器将失效的控制器节点的数据传输路径切换至另一控制器节点上,向另一控制器节点重新发送待存储的数据。
上述方案虽然能够解决某个控制器节点失效的情况,但是会存在如下问题:在服务器上安装存储设备厂商提供的多路径软件,并使用该软件进行路径切换时,需要预先在服务器和磁盘阵列进行一系列复杂配置才能实现,增加了服务器和磁盘阵列的冗余数据量。
发明内容
有鉴于此,本发明实施例目的在于提供一种双控制器磁盘阵列、存储系统以及数据存储路径切换方法,以解决服务器应用多路径软件切换失效控制器节点时,服务器和双控制器磁盘阵列需增加一系列复杂的配置来使用多路径软件的缺点。
为实现上述目的,本发明实施例提供如下技术方案:
一种双控制器磁盘阵列,应用于包括双控制器磁盘阵列和服务器的存储系统中,所述双控制器磁盘阵列包括磁盘框以及两个控制器节点,每个所述控制器节点包括交换设备,其中交换设备的一个端口与对端控制器节点中交换设备的一个端口相连接;每个所述控制器节点通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框,其中:
每个所述控制器节点,还用于通过所述端口检测对端控制器节点是否失效;当检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数,使得对端控制器节点将接收到的所述服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中;
每个所述控制器节点,还用于通过本控制器节点交换设备中所述端口接收对端控制器节点发来的数据,并将接收到的数据存储至所述磁盘框中,所述数据是服务器发送至对端控制器节点的。
一种存储系统,包括服务器和如上述的双控制器磁盘阵列。
一种数据存储路径的切换方法,应用于包括双控制器磁盘阵列和服务器的存储系统中,包括:
双控制器磁盘阵列中的每个控制器节点通过其交换设备中与对端控制器节点连接的端口检测对端控制器节点是否失效,所述双控制器磁盘阵列包括磁盘框以及两个控制器节点,每个所述控制器节点通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框,每个所述控制器节点包括交换设备,其中交换设备的一个端口与对端控制器节点中交换设备的一个端口相连接;
当检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数,使得对端控制器节点将接收到的所述服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中;
通过本控制器节点交换设备中所述端口接收对端控制器节点发来的数据,所述数据是服务器发送至对端控制器节点的;并将接收到的数据存储至所述磁盘框中。
上述双控制器磁盘阵列、存储系统以及数据存储路径切换方法可带来以下有益效果:
服务器只需要向双控制器磁盘阵列中的任意一个控制器节点发送一次数据,如果接收数据的控制器节点失效,就由对端节点接收数据,通过控制器节点间相互检测对方是否失效,因此本发明不必事先设定冗余的数据路径,服务器则不必安装多路径软件即可以实现将数据传输路径切换至对端控制器节点上,减少了服务器和双控制器磁盘阵列的冗余数据量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中数据存储路径的切换方法示意图;
图2为本发明实施例一提供的双控制磁盘阵列和服务器的第一结构示意图;
图3为本发明实施例二提供的一种数据存储路径切换方法的第一流程图;
图4为本发明实施例三提供的双控制磁盘阵列和服务器的第二结构示意图;
图5为本发明实施例四提供的一种数据存储路径切换方法中重新设置配置参数的方法流程图;
图6为本发明实施例五提供的数据存储路径切换方法的时序图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了引用和清楚起见,下文中使用的简写或缩写或设备的中英文对照总结如下:
PCIE:Peripheral Component Interconnect Express,外设部件互连标准扩展;
PCIE端点设备:PCIE End Point;
PCIE交换设备:PCIE Switch Device;
CPU:Central Processing Unit,中央处理器;
NTB:None-Transparent Bridge,非透明桥;
上游端口:upstream口;
下游端口:downstream口。
实施例一
参考图2,示出了本实施例提供的一种双控制器磁盘阵列结构示意图和双控制器磁盘阵列与服务器的连接示意图。
双控制器磁盘阵列包括磁盘框以及两个控制器节点,每个控制器节点包括交换设备,其中交换设备的一个端口与对端控制器节点中交换设备的一个端口相连接;每个控制器节点通过本控制器节点中的交换设备接收服务器发送的数据,并将数据存储至磁盘框中。
为了叙述方便,将双控制器磁盘阵列中的两个控制器节点分别称为控制器节点A以及控制器节点B。控制器节点A和控制器节点B的功能类似,可以互为主备,服务器或该磁盘阵列可以根据一定的选择策略选择其中的一个控制器节点来向磁盘框传输待存储数据。控制器节点A中包含交换设备A,控制器节点B中包含交换设备B。控制器节点A和控制器节点B均可以通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框。
交换设备A的端口A5与交换设备B的端口B5连接。每个所述控制器节点通过本控制节点的交换设备的端口检测对端控制器节点是否失效;当检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数,使得对端控制器节点将接收到的所述服务器发送的数据,通过对端控制器节点交换设备中与本控制器节点连接的端口发送至本控制器节点交换设备的端口中;通过本控制器节点交换设备中所述端口接收对端控制器节点发来的数据,所述数据是服务器发送至对端控制器节点的;并将接收到的数据存储至所述磁盘框中。例如,在控制器节点A接收服务器发送的数据,并将所述数据存储至磁盘框的过程中,控制器节点B通过端口B5检测控制器节点A是否失效,并在检测到控制器节点A失效时,重新设置控制器节点A和控制器节点B的配置参数,使得控制器节点B将接收到的服务器发送的数据,通过端口A5发送至端口B5中;并将端口B5中接收到的数据存储至磁盘框中。
可选地,上述控制器节点检测对端控制器节点是否失效的方式包括但不限于:
控制器节点判断在预设的时间段内本控制器节点交换设备中与对端控制器节点连接的端口是否收到对端控制器节点发送的握手消息;如果判断结果为否,则确定对端控制器节点失效。例如,控制器节点B判断在10秒内,端口B5是否收到端口A5发来的握手消息,如果未收到握手消息,则确定对端控制器节点失效。在设置预设时间段(即监测握手消息的时间间隔)时,在系统允许的范围内,可以综合考虑控制器节点的处理性能、用户对数据传输的实时性要求等因素,如果控制器节点的处理性能较高、且用户实时性要求较高,那么监测握手消息的时间间隔可以设置较短,反之可以适当延长。
当然,还可以采用其他方式来检测对端控制器节点是否失效,例如,控制器节点B以预设的时间间隔向控制器节点A发送探测消息,判断是否能接收到控制器节点A反馈的响应消息,若超过预设时间段未收到响应消息,则确定控制器节点A失效。或者,两个控制器节点事先约定,每个控制器节点当接收到对端控制器节点发送的中断消息时,确认对端控制器节点失效。
相应地,图2所示的双控制器磁盘阵列中的每个控制器节点还用于周期性地向对端控制器节点发送握手消息,所述周期中的时间间隔不大于确定是否失效时所述预设的时间段。
上述双控制器磁盘阵列可带来以下有益效果:
服务器只需要向双控制器磁盘阵列中的任意一个控制器节点发送一次数据,如果接收数据的控制器节点失效,就由对端控制器节点接收数据,即本实施例中的服务器向控制器节点A发送一次数据,当控制器节点A失效时,由控制器节点B主动接管所述数据。
本实施例通过控制器节点间相互检测对方是否失效,因此不必事先设定冗余的数据路径,服务器则不必应用多路径软件即可以实现将数据传输路径切换至对端控制器节点上,避免了额外购买多路径软件的费用,也避免了现有存储设备厂商各自提供的多路径软件容易产生的不兼容问题。
由于服务器不必安装多路径软件,服务器和双控制器磁盘阵列就不需要增加配置来使用多路径软件,因此减少了服务器和双控制器磁盘阵列的冗余数据量。
实施例二
请参照附图3,本实施例提供了一种数据存储路径的切换方法,附图2中的每个控制器节点可以采用该方法来实现切换数据存储路径。
本实施例以控制器节点A失效,控制器节点B接管失效的控制器节点A上的数据为例。
步骤201:每个控制器节点通过其交换设备中与对端控制器节点连接的端口检测对端控制器节点是否失效。
控制器节点B通过端口B5检测控制器节点A是否失效,上述控制器节点B检测控制器节点A是否失效的方式包括但不限于:
控制器节点B判断在预设的时间段内本控制器节点中交换设备的端口B5是否收到控制器节点A发送的握手消息;如果判断结果为否,则确定控制器节点A失效。例如,控制器节点B判断在10秒内,端口B5是否收到端口A5发来的握手消息,如果未收到握手消息,则确定对端控制器节点失效。在设置预设时间段(即监测握手消息的时间间隔)时,在系统允许的范围内,可以综合考虑控制器节点的处理性能、用户对数据传输的实时性要求等因素,如果控制器节点的处理性能较高、且用户实时性要求较高,那么监测握手消息的时间间隔可以设置较短,反之可以适当延长。
当然,还可以采用其他方式来检测对端控制器节点是否失效,例如,控制器节点B以预设的时间间隔向控制器节点A发送探测消息,判断是否能接收到控制器节点A反馈的响应消息,若超过预设时间段未收到响应消息,则确定控制器节点A失效。
相应地,控制器节点B还用于周期性地向控制器节点A发送握手消息,所述周期中的时间间隔不大于确定是否失效时所述预设的时间段。
步骤202:当检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数,使得对端控制器节点将接收到的所述服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中。
如图2中所示,双控制器磁盘阵列包括磁盘框以及两个控制器节点,分别为控制器节点A和控制器节点B,每个控制器节点均可以通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框,每个控制器节点包括交换设备,其中交换设备A的端口A5与交换设备B的端口B5连接。
在控制器节点A接收服务器发送的数据,并将所述数据存储至磁盘框的过程中,控制器节点B通过端口B5检测控制器节点A是否失效,并在检测到控制器节点A失效时,重新设置控制器节点A和控制器节点B的配置参数,使得控制器节点B将接收到的服务器发送的数据,通过端口A5发送至端口B5中。
步骤203:通过本控制器节点交换设备中所述端口接收对端控制器节点发来的数据,并将接收到的数据存储至所述磁盘框中,所述数据是服务器发送至对端控制器节点的。
控制器节点B的端口B5接收控制器节点A发来的数据,并将接收到的数据存储至所述磁盘框中。
上述数据存储路径的切换方法可带来以下有益效果:
服务器只需要向双控制器磁盘阵列中的任意一个控制器节点发送一次数据,如果接收数据的控制器节点失效,就由对端节点接收数据,本发明实施例通过控制器节点间相互检测对方是否失效,因此不必事先设定冗余的数据路径,服务器则不必应用多路径软件即可以实现将数据传输路径切换至对端控制器节点上,避免了额外购买多路径软件的费用。由于服务器不必安装多路径软件,服务器和双控制器磁盘阵列就不需要增加配置来使用多路径软件,因此减少了服务器和双控制器磁盘阵列的冗余。
实施例三
本发明实施例提供了在双控制器磁盘阵列以及服务器均支持PCIE总线的场景下,双控制器磁盘阵列的一种具体结构,如附图4所示。
附图4中的每个控制器节点除了包含交换设备(该交换设备的端口与对端控制器节点中交换设备的端口相连接)之外,还包括与服务器连接的第一端点设备、与所述磁盘框连接的第二端点设备和用于运行读写控制程序的中央处理器CPU。
可选地,第一端点设备和第二端点设备可以是PCIE端点设备,交换设备可以是PCIE交换设备。具体地:控制器节点A具有与服务器连接的PCIE端点设备A1,与磁盘框连接的PCIE端点设备A4。控制器节点A还具有PCIE交换设备A,用于运行读写控制程序的CPU A以及内存A。PCIE交换设备A具有多个端口,分别为端口A2、端口A3、端口A5以及端口A6;PCIE端点设备A1与端口A2连接;端口A3与PCIE端点设备A4连接,并通过PCIE端点设备A4将服务器下发的数据传输至磁盘框;内存A通过中央处理器A与PCIE交换设备A的端口A6连接。
控制器节点B同样具有与服务器连接的PCIE端点设备B1,与磁盘框连接的PCIE端点设备B4、PCIE交换设备B、CPU B以及内存B,PCIE交换设备B具有端口B2、端口B3、端口B5以及端口B6,其结构与控制器节点A相同,在此不做赘述。
在双控制器磁盘阵列中,控制器节点A与控制器节点B通过端口A5和端口B5连接,可选地,端口A5和端口B5可以为PCIE非透明桥端口。
在附图2所示的双控制器磁盘阵列中,待存储数据的存储过程为:每个控制器节点中的第一端点设备接收服务器发送的数据,将数据发送至本控制器节点中的交换设备中;控制器节点中的CPU根据交换设备配置空间中的配置参数,将交换设备中的数据发送至本控制器节点中的第二端点设备中,第二端点设备将数据发送至磁盘框。
具体地,当控制器节点A起作用时,控制器节点A中的PCIE端点设备A1接收服务器发送的数据,将数据发送至本控制器节点中的PCIE交换设备A中;控制器节点A中的CPU A根据PCIE交换设备A配置空间中的配置参数,将PCIE交换设备A中的数据发送至本控制器节点中的PCIE端点设备A4中,PCIE端点设备A4将数据发送至磁盘框。同理,控制器节点B接收服务器发送的数据,并将数据存储至磁盘框的过程与上述控制器节点A接收服务器发送的数据,并将数据存储至磁盘框的过程相同,在此不做赘述。
双控制器磁盘阵列中的每个控制器节点,还用于通过其交换设备中与对端控制器节点连接的端口检测对端控制器节点是否失效;当检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数,使得对端控制器节点将接收到的服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中;通过本控制器节点交换设备中端口接收对端控制器节点发来的数据,数据是服务器发送至对端控制器节点的;并将接收到的数据存储至磁盘框中。具体来说,控制器节点B可用于通过端口B5检测控制器节点A是否失效,当检测到控制器节点A失效时,控制器节点B重新设置本控制器节点和控制器节点A的配置参数,使得控制器节点A将接收到的服务器发送的数据,通过控制器节点A的PCIE交换设备A的端口A5发送至PCIE交换设备B的端口B5中。控制器节点B通过本控制器节点PCIE交换设备B中的端口B5接收控制器节点A发来的数据,数据是服务器发送至控制器节点A的;并将接收到的数据存储至磁盘框中。
本实施例的数据传输路径参考图2中的箭头方向,服务器发送的数据以数据路径3存储至磁盘框中。
下面将详细地介绍重新设置配置参数的过程:
控制器节点将本控制器节点交换设备中与对端控制器节点连接的端口配置为上游端口,并通过该端口将对端控制器节点交换设备中与该节点连接的端口配置为下游端口,其中上游端口和下游端口是PCIE规范中定义的一种端口属性,上游端口是指靠近接管方CPU方向的端口,下游端口是指远离接管方CPU的端口,被配置为上游端口的端口能够扫描与该端口连接的下游端口的配置参数,而被配置为下游端口的端口是不能够扫描所连接的其他端口的配置参数的;控制器节点通过本控制器节点交换设备中与对端控制器节点连接的端口扫描对端控制器节点配置空间,以获取对端控制器节点交换设备和第一端点设备配置空间中的配置参数。所述配置空间存储有本控制器节点中的交换设备、端点设备和CPU的配置参数,该配置参数为交换设备、端点设备和CPU的运行参数。重新设置对端控制器节点交换设备和第一端点设备的配置参数,使得对端控制器节点的第一端点设备将接收到的数据发送到对端控制器节点的交换设备中后,通过对端控制器节点交换设备中与本控制器连接的端口发送至本控制器节点交换设备的端口中;本控制器节点交换设备将端口接收到的数据发送到本控制器节点的第二端点设备中。
通过设置端口的配置参数,上述PCIE交换设备中的端口可以被设置成为上游端口、下游端口。
根据PCIE协议规范:上游端口能扫描发现到连接在下游端口下所有PCIE端点设备以及交换设备,并进行统一编址、路由访问;PCIE非透明桥端口会进行隔离,也就是说,隔离在PCIE非透明桥端口两侧的设备不能相互扫描发现对方。而端口的属性能够通过设置端口的配置参数进行修改,因此,控制器节点A中的上述端口被分别设置成为下游端口A5、下游端口A6、下游端口A2以及下游端口A3。控制器节点B中的上述端口被分别设置成为上游端口B5、上游端口B6、下游端口B2以及下游端口B3。
在控制器节点B的上游端口B5与控制器节点A的下游端口A5相连后,与控制器节点B的上游端口B6相连的CPU B可以扫描到控制器节点A的PCIE交换设备A以及控制器节点A中所有的PCIE端点设备。
具体的,如图3所示,以控制器节点A失效或故障为例,重新设置控制器节点B和控制器节点A中交换设备的端口的配置参数包括:控制器节点B将本控制器节点PCIE交换设备B的端口B5配置为上游端口,并通过本控制器节点PCIE交换设备B的端口B5,将控制器节点A中PCIE交换设备A的端口A5配置为下游端口;控制器节点B通过本控制器节点PCIE交换设备B中的端口B5扫描控制器节点A的配置空间,以获取控制器节点A中PCIE交换设备A和PCIE端点设备A1配置空间中的配置参数;重新设置控制器节点A中PCIE交换设备A和PCIE端点设备A1配置空间中的配置参数,使得控制器节点A的PCIE端点设备A1将接收到的数据发送到控制器节点A的PCIE交换设备A中后,通过控制器节点A中PCIE交换设备A的端口A5发送至控制器节点B中PCIE交换设备B的端口B5中;控制器节点B中的PCIE交换设备B将端口B5接收到的数据发送到本控制器节点的PCIE端点设备B1中。
本实施例提供的双控制器磁盘阵列可带来以下有益效果:
服务器只需要向双控制器磁盘阵列中的任意一个控制器节点发送一次数据,如果接收数据的控制器节点失效,就由对端控制器节点接收数据,即本实施例中的服务器向控制器节点A发送一次数据,当控制器节点A失效时,由控制器节点B主动接管所述数据。
本技术方案不必事先设定冗余的数据路径,通过控制器节点间相互检测对方是否失效,实现互相检测并进行数据路径的切换,服务器不必应用多路径软件即可以实现将数据传输路径切换至对端的控制器节点上,避免了额外购买多路径软件的费用。由于服务器不必安装多路径软件,服务器和双控制器磁盘阵列就不需要增加配置来使用多路径软件,因此减少了服务器和双控制器磁盘阵列的冗余。并且,当控制器节点A失效后,控制器节点A上的某些部件(如图4中的PCIE端点设备A1)还可以继续提供服务,避免了部分可用部件的浪费。
实施例四
参见图5,本发明实施例提供了在双控制器磁盘阵列以及服务器均支持PCIE总线的场景下,一种数据存储路径的切换方法,附图4中的每个控制器节点可以采用该方法来实现切换数据存储路径。
本实施例还以控制器节点A失效,控制器节点B接管失效的控制器节点A上的数据为例。
附图4中的每个控制器节点的具体结构可参见实施三,在此不做赘述。本实施例与实施例二中的数据存储路径的切换方法相同,其中,实施例二中的“每个控制器节点均可以通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框”过程具体为:每个控制器节点中的第一端点设备接收服务器发送的数据,将数据发送至本控制器节点中的交换设备中;控制器节点中的CPU根据交换设备配置空间中的配置参数,将交换设备中的数据发送至本控制器节点中的第二端点设备中,第二端点设备将数据发送至磁盘框。
具体地,当控制器节点A起作用时,控制器节点A中的PCIE端点设备A1接收服务器发送的数据,将数据发送至本控制器节点中的PCIE交换设备A中;控制器节点A中的CPU A根据PCIE交换设备A配置空间中的配置参数,将PCIE交换设备A中的数据发送至本控制器节点中的PCIE端点设备A4中,PCIE端点设备A4将数据发送至磁盘框。同理,控制器节点B接收服务器发送的数据,并将数据存储至磁盘框的过程与上述控制器节点A接收服务器发送的数据,并将数据存储至磁盘框的过程相同,在此不做赘述。
下面详细地介绍实施例二中重新设置配置参数的过程,参考图5:
步骤501:控制器节点将本控制器节点交换设备中与对端控制器节点连接的端口配置为上游端口。
控制器节点B将本控制器节点PCIE交换设备B的端口B5配置为上游端口。
步骤502:通过本控制器节点交换设备中的所述端口将所连接的对端控制器节点交换设备中端口配置为下游端口。
控制器节点B通过本控制器节点PCIE交换设备B的端口B5,将控制器节点A中PCIE交换设备A的端口A5配置为下游端口。
步骤503:通过本控制器节点交换设备中的所述端口,扫描对端控制器节点配置空间,以获取对端控制器节点交换设备和第一端点设备配置空间中的配置参数。
控制器节点B通过本控制器节点PCIE交换设备B中的端口B5扫描控制器节点A的配置空间,以获取控制器节点A中PCIE交换设备A和PCIE端点设备A1配置空间中的配置参数。
步骤504:重新设置对端控制器节点交换设备和第一端点设备配置空间中的配置参数,使得对端控制器节点的第一端点设备将接收到的数据发送到对端控制器节点的交换设备中后,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中。
重新设置控制器节点A中PCIE交换设备A和PCIE端点设备A1配置空间中的配置参数,使得控制器节点A的PCIE端点设备A1将接收到的数据发送到控制器节点A的PCIE交换设备A中后,通过控制器节点A中PCIE交换设备A的端口A5发送至控制器节点B中PCIE交换设备B的端口B5中
步骤505:本控制器节点交换设备将所述端口接收到的数据发送到本控制器节点的第二端点设备中。
控制器节点B中的PCIE交换设备B将端口B5接收到的数据发送到本控制器节点的PCIE端点设备B1中。
本实施例提供的数据存储路径的切换方法可带来以下有益效果:
服务器只需要向双控制器磁盘阵列中的任意一个控制器节点发送一次数据,如果接收数据的控制器节点失效,就由对端控制器节点接收数据,即本实施例中的服务器向控制器节点A发送一次数据,当控制器节点A失效时,由控制器节点B主动接管所述数据。
本技术方案不必事先设定冗余的数据路径,通过控制器节点间相互检测对方是否失效,实现互相检测并进行数据路径的切换,服务器不必应用多路径软件即可以实现将数据传输路径切换至对端的控制器节点上,避免了额外购买多路径软件的费用。由于服务器不必安装多路径软件,服务器和双控制器磁盘阵列就不需要增加配置来使用多路径软件,因此减少了服务器和双控制器磁盘阵列的冗余。并且,当控制器节点A失效后,控制器节点A上的某些部件(如图4中的PCIE端点设备A1)还可以继续提供服务,避免了部分可用部件的浪费。
实施例五
参考图6,为了使本方案更加清楚,下面以双控制器磁盘阵列中控制器节点A失效,控制器节点B接管控制器节点A上的数据,以时序图的方式加以介绍:
另参考图4的双控制磁盘阵列和服务器的结构示意图,控制器节点A具有与服务器连接的PCIE端点设备A1,与磁盘框连接的PCIE端点设备A4。控制器节点A还具有PCIE交换设备A,用于运行读写控制程序的中央处理器CPU A以及内存A。PCIE交换设备A具有多个端口,分别为端口A2、端口A3、端口A5以及端口A6;PCIE端点设备A1与端口A2连接;端口A3与PCIE端点设备A4连接,并通过PCIE端点设备A4将服务器下发的数据传输至磁盘框;内存A通过中央处理器A与PCIE交换设备A的端口A6连接。
控制器节点B同样具有与服务器连接的PCIE端点设备B1,与磁盘框连接的PCIE端点设备B4、PCIE交换设备B、CPU B以及内存B,PCIE交换设备B具有端口B2、端口B3、端口B5以及端口B6,其结构与控制器节点A相同,在此不做赘述。
该方法至少可以包括以下步骤:
步骤601:周期性的发送握手消息。
控制器节点A通过端口A5周期性的向控制器节点B发送握手消息。上述握手消息可以为心跳消息。
步骤602:判断在预设的时间段内本控制器节点中交换设备的端口是否收到控制器节点A发送的握手消息,若是,说明对端控制器工作正常,则继续监控,重复本步骤,否则,确定出对端控制器节点失效,进入步骤603。
控制器节点B判断在预设的时间段内本控制器节点中PCIE交换设备B的端口B5是否收到控制器节点A发送的握手消息,在本实施例中控制器节点未能在预设的时间段内接收到握手消息,因此判断出控制器节点A失效。
步骤603:将本控制器节点PCIE交换设备B中与对端控制器节点连接的端口配置为上游端口。
控制器节点B将本控制器节点PCIE交换设备B的端口B5配置为上游端口。
步骤604:控制器节点B通过本控制器节点交换设备中与对端控制器节点连接的端口将控制器节点A交换设备中与该端口连接的端口配置为下游端口。
具体的,控制器节点B通过本控制器节点PCIE交换设备B的端口B5将控制器节点A中PCIE交换设备A中端口A5配置为下游端口。
步骤605:控制器节点B通过本控制器节点交换设备中与对端控制器节点连接的端口扫描控制器节点A的配置空间。
具体的,控制器节点B通过本控制器节点PCIE交换设备B的端口B5扫描控制器节点A的配置空间。
步骤606:控制器节点B获取控制器节点A交换设备和第一端点设备配置空间中的配置参数。
控制器节点B获取控制器节点A中PCIE交换设备A和PCIE端点设备A1配置空间中的配置参数。
步骤607:控制器节点B重新设置控制器节点A交换设备和第一端点设备配置空间中的配置参数。
控制器节点B重新设置控制器节点A中PCIE交换设备A和PCIE端点设备A1配置空间中的配置参数。
重新设置之后的结果是控制器节点A清除掉PCIE交换设备A和PCIE端点设备A1失效前的运行状态,使之重新进入到上电之初的状态,另外,控制器节点A的PCIE交换设备A以及PCIE端点设备A1可以在控制器节点B的PCIE域中正常工作,也就是说,重新设置完成之后的效果为:控制器节点A上的PCIE交换设备A和PCIE端点设备A1等同于控制器节点B上的PCIE交换设备B和PCIE端点设备B1。重新初始化完成后,当PCIE端点设备A1收到服务器发送的数据时会直接将数据转移到控制器节点B。
步骤608:控制器节点A的第一端点设备将接收到的数据发送到控制器节点A的交换设备中后,通过控制器节点A交换设备中与控制器节点B连接的端口发送至控制器节点B交换设备的端口中。
控制器节点A的PCIE端点设备A1将接收到的数据发送到控制器节点A的PCIE交换设备A中后,通过控制器节点A的PCIE交换设备A的端口A5发送至控制器节点B的PCIE交换设备B的端口B5中。
步骤609:控制器节点B的交换设备将端口接收到的数据发送到本控制节点的第二端点设备中。
控制器节点B的PCIE交换设备B将端口B5接收到的数据发送到本控制节点的PCIE端点设备B4中。
需要说明的是,不限定控制器节点A接收服务器发送的数据的步骤时序,可以理解的是,控制器节点A接收服务器发送的数据是一个随机的事件,其可以在本方案的任一时刻发生。
实施例六
本发明还提供了一种存储系统,包括服务器和双控制器磁盘阵列,双控制器磁盘阵列为上述实施例一、实施例三任一实施例中的双控制器磁盘阵列,具体参见实施例一和实施例三中双控制器磁盘阵列的结构,在此不做赘述。
本存储系统应具有上述实施例中的双控制器磁盘阵列,其具有上述双控制器磁盘阵列的有益效果,在此不做赘述。
在本发明上述的所有实施例中,通过端口检测对端控制器节点是否失效包括:每个控制器节点判断在预设的时间段内本控制器节点中交换设备的端口是否收到对端控制器节点发送的握手消息;如果判断结果为否,则确定对端控制器节点失效。
具体的,控制器节点B判断在预设的时间段内本控制器节点中的端口B5是否收到控制器节点A发送的握手消息;如果判断结果为否,则确定控制器节点A失效。
握手消息可以为心跳消息,心跳消息可用来指示控制器节点还在正常工作。例如,在控制器节点中的交换设备、端点设备均支持PCIE总线、两个控制器节点之间相互连接的端口为非透明桥端口的场景下,控制器节点B可监控控制器节点A的状态,控制器节点A可以通过门铃寄存器向控制器节点B传送心跳消息,当控制器节点B在规定的时间段内没有收到预先规定好的心跳消息时,就可以认为控制器节点A失效,如果控制器节点B发现控制器节点A失效,它就需要采取一些必要的措施,使控制器节点A上的数据传输路径切换至控制器节点B。其中,门铃寄存器是用来送从非透明的桥一侧到另一侧的中断请求,关于门铃寄存器和门铃机制,请参照非透明桥的相关技术文档,在这里不再详述。
在上述所有实施例中,每个控制器节点还用于周期性地向对端控制器节点发送握手消息,周期中的时间间隔不大于预设的时间段。
在上述所有实施例中,所述对端控制器节点失效包括对端控制器节点中CPU故障,和/或与CPU连接的内存故障。
在上述所有实施例中,所述第一端点设备和第二端点设备包括外设部件互连标准扩展PCIE端点设备,所述交换设备包括PCIE交换设备。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到对端个装置,或一些特征可以忽略,或不执行。
另外,所描述装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它装置,模块,技术或方法结合或集成。对端点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种双控制器磁盘阵列,应用于包括双控制器磁盘阵列和服务器的存储系统中,所述双控制器磁盘阵列包括磁盘框以及两个控制器节点,其特征在于,
每个所述控制器节点包括交换设备,其中本控制器节点中交换设备的一个端口与对端控制器节点中交换设备的一个端口相连接;每个所述控制器节点通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框,其中:
所述本控制器节点,用于通过所述端口检测对端控制器节点是否失效;当检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数;
所述对端控制器节点,用于在重新设置配置参数之后接收所述服务器发送的数据,并根据重新设置的配置参数将接收到的所述服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中;
所述本控制器节点,还用于根据重新设置的配置参数通过本控制器节点交换设备中所述端口接收对端控制器节点发送的数据,并将接收到的数据存储至所述磁盘框中,所述对端控制器节点发送的数据是服务器发送至对端控制器节点的。
2.如权利要求1所述的双控制器磁盘阵列,其特征在于,每个所述控制器节点还包括与所述服务器连接的第一端点设备、与所述磁盘框连接的第二端点设备和用于运行读写控制程序的中央处理器CPU;
所述通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框,包括:
每个所述控制器节点中的第一端点设备接收所述服务器发送的数据,将所述数据发送至本控制器节点中的交换设备中;
所述控制器节点中的CPU根据所述交换设备配置空间中的配置参数,将所述交换设备中的数据发送至本控制器节点中的第二端点设备中,所述第二端点设备将所述数据发送至磁盘框。
3.如权利要求2所述的双控制器磁盘阵列,其特征在于,所述重新设置本控制器节点和对端控制器节点中交换设备的所述端口的配置参数,包括:
所述控制器节点将本控制器节点交换设备中与对端控制器节点连接的端口配置为上游端口,并通过本控制器节点交换设备中的所述上游端口将所连接的对端控制器节点中的端口配置为下游端口;
所述控制器节点通过本控制器节点交换设备中的所述上游端口扫描对端控制器节点配置空间,以获取对端控制器节点交换设备和第一端点设备的配置参数;
重新设置对端控制器节点交换设备和第一端点设备的配置参数,使得对端控制器节点的第一端点设备将接收到的数据发送到对端控制器节点的交换设备中后,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的所述上游端口中;
本控制器节点交换设备将所述上游端口接收到的数据发送到本控制器节点的第二端点设备中。
4.如权利要求1至3任一所述的双控制器磁盘阵列,其特征在于,所述通过所述端口检测对端控制器节点是否失效,包括:
每个所述控制器节点判断在预设的时间段内本控制器节点交换设备中与对端控制器节点连接的端口是否收到对端控制器节点发送的握手消息;
如果判断结果为否,则确定对端控制器节点失效。
5.一种存储系统,其特征在于,包括服务器和如权利要求1、2、3或4所述的双控制器磁盘阵列。
6.一种数据存储路径的切换方法,应用于包括双控制器磁盘阵列和服务器的存储系统中,其特征在于,所述双控制器磁盘阵列包括磁盘框以及两个控制器节点,每个所述控制器节点包括交换设备,其中本控制器节点中交换设备的一个端口与对端控制器节点中交换设备的一个端口相连接,所述方法包括:
所述本控制器节点通过其交换设备中与对端控制器节点连接的端口检测对端控制器节点是否失效,所述本控制器节点通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框;
当所述本控制器节点检测到对端控制器节点失效时,重新设置本控制器节点和对端控制器节点的配置参数;
所述对端控制器节点在重新设置配置参数之后接收所述服务器发送的数据,并根据重新设置的配置参数将接收到的所述服务器发送的数据,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的端口中;
所述本控制器节点根据重新设置的配置参数通过本控制器节点交换设备中所述端口接收对端控制器节点发送的数据,并将接收到的数据存储至所述磁盘框中,所述对端控制器节点发送的数据是服务器发送至对端控制器节点的。
7.如权利要求6所述的方法,其特征在于,所述通过本控制器节点中的交换设备接收所述服务器发送的数据,并将所述数据存储至所述磁盘框,包括:
所述控制器节点中的第一端点设备接收所述服务器发送的数据,将所述数据发送至本控制器节点中的交换设备中,所述控制器节点包括与所述服务器连接的第一端点设备、与所述磁盘框连接的第二端点设备和用于运行读写控制程序的CPU;
所述控制器节点中的CPU根据所述交换设备配置空间中的配置参数,将所述交换设备中的数据发送至本控制器节点中的第二端点设备中,所述第二端点设备将所述数据发送至磁盘框。
8.如权利要求7所述的方法,其特征在于,所述重新设置本控制器节点和对端控制器节点中交换设备的所述端口的配置参数,包括:
所述控制器节点将本控制器节点交换设备中与对端控制器节点连接的端口配置为上游端口,并通过本控制器节点交换设备中的所述上游端口将所连接的对端控制器节点中的端口配置为下游端口;
所述控制器节点通过本控制器节点交换设备中的所述上游端口扫描对端控制器节点配置空间,以获取对端控制器节点交换设备和第一端点设备的配置参数;
重新设置对端控制器节点交换设备和第一端点设备的配置参数,使得对端控制器节点的第一端点设备将接收到的数据发送到对端控制器节点的交换设备中后,通过对端控制器节点交换设备的端口发送至本控制器节点交换设备的所述上游端口中;
本控制器节点交换设备将所述上游端口接收到的数据发送到本控制器节点的第二端点设备中。
9.如权利要求6至8任一所述的方法,其特征在于,所述通过其交换设备中与对端控制器节点连接的端口检测对端控制器节点是否失效,包括:
每个所述控制器节点判断在预设的间隔时间内本控制器节点交换设备中与对端控制器节点连接的端口是否收到对端控制器节点发送的握手消息;
如果判断结果为否,则确定对端控制器节点失效。
10.如权利要求7或8所述的方法,其特征在于,所述对端控制器节点失效包括对端控制器节点中CPU故障,和/或与CPU连接的内存故障。
11.如权利要求7或8所述的方法,其特征在于,所述第一端点设备和第二端点设备均包括外设部件互连标准扩展PCIE端点设备,所述交换设备包括PCIE交换设备。
CN201210049908.2A 2011-12-31 2012-02-29 双控制器磁盘阵列、存储系统以及数据存储路径切换方法 Active CN102629225B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210049908.2A CN102629225B (zh) 2011-12-31 2012-02-29 双控制器磁盘阵列、存储系统以及数据存储路径切换方法
PCT/CN2012/081178 WO2013097485A1 (zh) 2011-12-31 2012-09-10 磁盘阵列、存储系统以及数据存储路径切换方法
US13/622,908 US8930608B2 (en) 2011-12-31 2012-09-19 Switch disk array, storage system and data storage path switching method
EP12187557.9A EP2610750B1 (en) 2011-12-31 2012-10-08 Disk array, storage system and data storage path switching method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110459979.5 2011-12-31
CN201110459979 2011-12-31
CN201210049908.2A CN102629225B (zh) 2011-12-31 2012-02-29 双控制器磁盘阵列、存储系统以及数据存储路径切换方法

Publications (2)

Publication Number Publication Date
CN102629225A CN102629225A (zh) 2012-08-08
CN102629225B true CN102629225B (zh) 2014-05-07

Family

ID=46587485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210049908.2A Active CN102629225B (zh) 2011-12-31 2012-02-29 双控制器磁盘阵列、存储系统以及数据存储路径切换方法

Country Status (4)

Country Link
US (1) US8930608B2 (zh)
EP (1) EP2610750B1 (zh)
CN (1) CN102629225B (zh)
WO (1) WO2013097485A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808155A (zh) * 2014-12-31 2016-07-27 北京神州云科数据技术有限公司 基于双控制器的读写锁方法及装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629225B (zh) 2011-12-31 2014-05-07 华为技术有限公司 双控制器磁盘阵列、存储系统以及数据存储路径切换方法
KR102007368B1 (ko) * 2012-12-17 2019-08-05 한국전자통신연구원 Pci 익스프레스 스위치 및 이를 이용한 컴퓨터 시스템
CN103440177A (zh) * 2013-08-23 2013-12-11 浪潮电子信息产业股份有限公司 一种基于numa多物理层分区的存储控制冗余方法
US20160196078A1 (en) * 2013-09-05 2016-07-07 Hewlett Packard Enterprise Development Lp Mesh topology storage cluster with an array based manager
CN103645864B (zh) * 2013-12-26 2016-08-24 深圳市迪菲特科技股份有限公司 一种磁盘阵列双控系统及其实现方法
WO2015122814A1 (en) * 2014-02-14 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) Synchronising playing of streaming content on plural streaming clients
CN104049915B (zh) * 2014-06-20 2017-01-25 华为技术有限公司 一种存储系统及通信方法
CN104579802A (zh) * 2015-02-15 2015-04-29 浪潮电子信息产业股份有限公司 一种多路服务器快速故障恢复的方法
CN104881246B (zh) * 2015-03-30 2018-01-12 北京华胜天成软件技术有限公司 应用于集群存储系统的输出入传递方法及系统
CN105045533B (zh) * 2015-07-09 2019-03-22 上海爱数信息技术股份有限公司 适用于双控高可用存储系统的磁盘心跳收发方法
CN105094706B (zh) * 2015-07-27 2018-03-30 北京华胜天成软件技术有限公司 定时更新磁盘smart信息的方法及双控系统
US10333865B2 (en) * 2015-08-21 2019-06-25 Cisco Technology, Inc. Transformation of peripheral component interconnect express compliant virtual devices in a network environment
KR102498223B1 (ko) * 2015-10-13 2023-02-09 삼성전자주식회사 Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법
CN106059791B (zh) 2016-05-13 2020-04-14 华为技术有限公司 一种存储系统中业务的链路切换方法和存储设备
CN108664361B (zh) * 2017-03-27 2021-07-16 杭州宏杉科技股份有限公司 Pcie非透明通道修复方法及装置
CN109213702B (zh) 2017-06-30 2022-08-30 伊姆西Ip控股有限责任公司 虚拟机环境中的虚拟双控制模块之间的通信
CN109656478A (zh) * 2018-12-11 2019-04-19 浪潮(北京)电子信息产业有限公司 一种存储服务器
CN109783280A (zh) * 2019-01-15 2019-05-21 上海海得控制系统股份有限公司 共享存储系统和共享存储方法
US11194678B2 (en) 2020-03-02 2021-12-07 Silicon Motion, Inc. Method and apparatus for performing node information exchange management of all flash array server
CN111813334B (zh) * 2020-06-04 2024-04-05 中国科学院上海微系统与信息技术研究所 一种Ceph的写性能优化和双控节点组合方法
CN113872868B (zh) * 2020-06-30 2022-11-25 华为技术有限公司 通知消息传输方法、装置及系统、存储介质
CN111881067B (zh) * 2020-07-30 2022-07-08 北京浪潮数据技术有限公司 一种内存申请方法、装置、电子设备和介质
US11637750B2 (en) * 2021-03-31 2023-04-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Providing configuration data to a connected network switch

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625747B1 (en) * 2000-06-30 2003-09-23 Dell Products L.P. Computer storage system and failover method
US6792511B2 (en) * 2002-08-16 2004-09-14 Hewlett-Packard Development Company, L.P. Dual cache module support for array controller
CN101414283A (zh) * 2007-10-19 2009-04-22 英业达股份有限公司 具有双控制器的存储服务装置及其高速缓存的镜射方法
CN101465769A (zh) * 2009-01-16 2009-06-24 华中科技大学 双控制器磁盘阵列的动态故障检测系统
CN101576806A (zh) * 2009-06-12 2009-11-11 浪潮电子信息产业股份有限公司 一种可提高磁盘阵列性能的装置
CN101576805A (zh) * 2009-06-12 2009-11-11 浪潮电子信息产业股份有限公司 一种基于并行处理的多主机接口冗余san控制器
CN102200889A (zh) * 2010-03-25 2011-09-28 英业达股份有限公司 具有双控制器的磁盘阵列的控制方法与其控制系统
CN102209103A (zh) * 2010-03-29 2011-10-05 英特尔公司 向多个存储控制器多播写请求

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839788B2 (en) * 2001-09-28 2005-01-04 Dot Hill Systems Corp. Bus zoning in a channel independent storage controller architecture
US7093043B2 (en) * 2001-12-27 2006-08-15 Hewlett-Packard Development Company, L.P. Data array having redundancy messaging between array controllers over the host bus
US6941396B1 (en) * 2003-02-19 2005-09-06 Istor Networks, Inc. Storage controller redundancy using bi-directional reflective memory channel
US7467191B1 (en) 2003-09-26 2008-12-16 Network Appliance, Inc. System and method for failover using virtual ports in clustered systems
US20050226148A1 (en) * 2004-04-12 2005-10-13 Nortel Networks Limited Method and apparatus for enabling redundancy in a network element architecture
US7062594B1 (en) * 2004-06-30 2006-06-13 Emc Corporation Root complex connection system
US8301810B2 (en) * 2004-12-21 2012-10-30 Infortrend Technology, Inc. SAS storage virtualization controller, subsystem and system using the same, and method therefor
US9495263B2 (en) 2004-12-21 2016-11-15 Infortrend Technology, Inc. Redundant SAS storage virtualization subsystem and system using the same, and method therefor
US7774514B2 (en) * 2005-05-16 2010-08-10 Infortrend Technology, Inc. Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method
US7676625B2 (en) * 2006-08-23 2010-03-09 Sun Microsystems, Inc. Cross-coupled peripheral component interconnect express switch
CN101217402B (zh) * 2008-01-15 2012-01-04 杭州华三通信技术有限公司 一种提高集群可靠性的方法和一种高可靠性通信节点
JP5232602B2 (ja) * 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
CN101488077B (zh) * 2009-02-24 2011-08-24 浪潮电子信息产业股份有限公司 冗余磁盘控制服务器系统
US7913027B2 (en) * 2009-04-07 2011-03-22 Lsi Corporation Configurable storage array controller
JP2012133405A (ja) * 2009-07-24 2012-07-12 Hitachi Ltd ストレージ装置及びそのデータ転送制御方法
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
CN101834796B (zh) 2010-05-06 2015-01-28 中兴通讯股份有限公司 一种双控制器通信系统和方法
US8412863B2 (en) * 2010-10-19 2013-04-02 Hitachi, Ltd. Storage apparatus and virtual port migration method for storage apparatus
US8589723B2 (en) * 2010-12-22 2013-11-19 Intel Corporation Method and apparatus to provide a high availability solid state drive
US8880800B2 (en) * 2011-05-20 2014-11-04 Promise Technology, Inc. Redundant array of independent disks system with inter-controller communication and method of operation thereof
CN102629225B (zh) * 2011-12-31 2014-05-07 华为技术有限公司 双控制器磁盘阵列、存储系统以及数据存储路径切换方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625747B1 (en) * 2000-06-30 2003-09-23 Dell Products L.P. Computer storage system and failover method
US6792511B2 (en) * 2002-08-16 2004-09-14 Hewlett-Packard Development Company, L.P. Dual cache module support for array controller
CN101414283A (zh) * 2007-10-19 2009-04-22 英业达股份有限公司 具有双控制器的存储服务装置及其高速缓存的镜射方法
CN101465769A (zh) * 2009-01-16 2009-06-24 华中科技大学 双控制器磁盘阵列的动态故障检测系统
CN101576806A (zh) * 2009-06-12 2009-11-11 浪潮电子信息产业股份有限公司 一种可提高磁盘阵列性能的装置
CN101576805A (zh) * 2009-06-12 2009-11-11 浪潮电子信息产业股份有限公司 一种基于并行处理的多主机接口冗余san控制器
CN102200889A (zh) * 2010-03-25 2011-09-28 英业达股份有限公司 具有双控制器的磁盘阵列的控制方法与其控制系统
CN102209103A (zh) * 2010-03-29 2011-10-05 英特尔公司 向多个存储控制器多播写请求

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808155A (zh) * 2014-12-31 2016-07-27 北京神州云科数据技术有限公司 基于双控制器的读写锁方法及装置
CN105808155B (zh) * 2014-12-31 2018-10-19 深圳神州数码云科数据技术有限公司 基于双控制器的读写锁方法及装置

Also Published As

Publication number Publication date
CN102629225A (zh) 2012-08-08
EP2610750A1 (en) 2013-07-03
US8930608B2 (en) 2015-01-06
EP2610750B1 (en) 2015-09-09
WO2013097485A1 (zh) 2013-07-04
US20130173839A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
CN102629225B (zh) 双控制器磁盘阵列、存储系统以及数据存储路径切换方法
JP5796139B2 (ja) Pcieスイッチベースのサーバ・システム、スイッチング方法、及びデバイス
US7536584B2 (en) Fault-isolating SAS expander
EP2052326B1 (en) Fault-isolating sas expander
JP4437984B2 (ja) ネットワーク中継装置及びその制御方法
JP5297310B2 (ja) 単一のsasエクスパンダとして動作する複数のsasエクスパンダのためにパスフェールオーバーを提供するための方法、システム、及び、コンピュータ可読媒体
US7565567B2 (en) Highly available computing platform
US8244948B2 (en) Method and system for combining multiple SAS expanders into a SAS switch
JP2006127201A (ja) ストレージシステムおよび導通確認方法
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
US20140095754A1 (en) Back-Off Retry with Priority Routing
CN103036701A (zh) 一种跨网段的n+1备用方法及装置
JP5480778B2 (ja) 2重化コンピュータネットワークシステム、ネットワーク接続装置および障害検知・対処方法
CN103647710A (zh) 一种路径配置方法及装置
CN107294759A (zh) 服务器系统及数据存取方法
JP6134720B2 (ja) 接続方法
JP2011203941A (ja) 情報処理装置、監視方法、および監視プログラム
JP5176914B2 (ja) 伝送装置及び冗長構成部の系切替え方法
JP5651004B2 (ja) 計算機切替システム、計算機切替プログラム、および計算機切替方法
CN114174999A (zh) 存储系统中实现存储业务连续性的方法、前端接口卡和存储系统
JP5459117B2 (ja) データ伝送装置及びデータ伝送方法
JP2012150555A (ja) 監視システム
JP2004159205A (ja) サーバのネットワーク接続システム、方法およびバックプレーン
JPH0427239A (ja) Lan接続装置の制御方法
JPH1049457A (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
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Effective date: 20120907

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: CORRECT: ADDRESS; FROM: 611731 CHENGDU, SICHUAN PROVINCE TO: 518129 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20120907

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant