CN1763721A - 在信息存储和检索系统中提供故障恢复保护的设备和方法 - Google Patents
在信息存储和检索系统中提供故障恢复保护的设备和方法 Download PDFInfo
- Publication number
- CN1763721A CN1763721A CN200510083310.5A CN200510083310A CN1763721A CN 1763721 A CN1763721 A CN 1763721A CN 200510083310 A CN200510083310 A CN 200510083310A CN 1763721 A CN1763721 A CN 1763721A
- Authority
- CN
- China
- Prior art keywords
- device adapter
- readable program
- processor
- program code
- driver
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
Abstract
本发明公开一种用于在信息存储和检索系统中进行故障恢复保护的方法,该信息存储和检索系统包括两个群集、两个设备适配器、以及多个数据存储设备。该方法提供用于第一和第二设备适配器的第一和第二设备驱动程序并将这些设备驱动程序安设在两个群集中。然后,该方法将安设在第一群集中的第一设备驱动程序置于工作中,将安设在第二群集中的第二设备驱动程序置于工作中,并且将安设在第二群集中的第一设备驱动程序置于备用模式中。该方法检测第一群集的故障,随后第二设备适配器的故障。然后,该方法使安设在第二群集中的第一设备驱动程序工作,并且使用第一设备适配器和安设在第二群集中的第一设备驱动程序继续访问存储在该多个数据存储设备中的信息。
Description
技术领域
本发明涉及一种在信息存储和检索系统中提供故障恢复(failover)保护的设备和方法。
背景技术
数据存储和检索系统用来存储由一个或多个主机计算机系统提供的信息。这样的数据存储和检索系统接收向一个或多个次级存储设备写入信息的请求、以及从这些一个或多个次级存储设备检索信息的请求。当接收到写请求时,该系统在数据高速缓存中存储从主机计算机接收的信息。在特定实现中,还将该信息的副本存储在非易失性存储设备中。当接收到读请求时,系统从该一个或多个次级存储设备取回(recall)信息,并且将该信息移动到数据高速缓存。这样,系统不断地向和从存储设备以及向和从数据高速缓存移动信息。
很多数据处理应用要求有时被称作的“24/7/365”工作能力,即数据存储和检索系统最优地不断处于工作中。为了提供这样的“24/7/365”工作能力,一些信息存储和检索系统包括多个群集。需要一种在一个群集出现故障之后并且安设在该工作群集内的设备适配器随后出现故障之后在多群集信息存储和检索系统中提供故障恢复保护的方法。
发明内容
本发明包括一种信息存储和检索系统,其包括:多个数据存储设备;第一设备适配器,与该多个存储设备互连;第二设备适配器,与该多个存储设备互连;第一群集,包括第一处理器、第一数据高速缓存、用于该第一设备适配器的工作设备驱动程序(driver)、以及用于该第二设备适配器的备用(standby)设备驱动程序;第二群集,包括第二处理器、第二数据高速缓存、用于该第二设备适配器的工作设备驱动程序、以及用于所述第一设备适配器的备用设备驱动程序;以及远程I/O网络,互连第一群集、第二群集、第一设备适配器和第二设备适配器。
本发明还包括一种用于在本发明的信息存储和检索系统中进行故障恢复保护的方法。本发明的方法提供用于第一设备适配器的第一设备驱动程序和用于第二设备适配器的第二设备驱动程序,并且将这些设备驱动程序安设在两个群集中。然后,该方法将安设在第一群集中的第一设备驱动程序置于工作中,将安设在第二群集中的第二设备驱动程序置于工作中,并且将安设在第二群集中的第一设备驱动程序置于备用模式中。
随后,本发明的方法检测第一群集的故障,随后是第二设备适配器的故障。然后,该方法使安设在第二群集中的第一设备驱动程序工作,并且使用第一设备适配器和安设在第二群集中的第一设备驱动程序继续访问存储在该多个数据存储设备中的信息。
附图说明
通过阅读下面结合附图的详细描述,本发明将会变得更好理解,其中相同的附图标记用来指定相同的单元,并且其中:
图1是现有技术的信息存储和检索系统的方框图;
图2A是图1的现有技术系统的方框图,其示出了群集故障;
图2B是图1的现有技术系统的方框图,其示出了与设备适配器故障组合的群集故障;
图3是本发明的信息存储和检索系统的方框图;
图4A是图3的本发明系统的方框图,其示出了群集故障;
图4B是图3的本发明系统的方框图,其示出了与设备适配器故障组合的群集故障;
图5是示出图4B的系统的方框图,其中该系统具有经过重新配置的设备驱动程序;
图6是概述本发明方法的第一实施例的步骤的流程图;以及
图7是概述本发明方法的第二实施例的步骤的流程图。
具体实施方式
参照附图在下文的优选实施例中描述本发明,其中相同的附图标记表示相同或类似的单元。本发明将被描述为在包括两个群集、两个设备适配器和一个存储设备环(1oop)的数据处理系统中实施。然而,下面对本发明的设备和方法的描述不旨在将本发明局限于任何具体数据处理系统,而是这里的本发明可以一般性地应用于为数据存储系统提供故障恢复保护。
现在参照图1,现有技术的信息存储和检索系统100包括第一群集110、第二群集120、第一设备适配器舱(bay)140、第二设备适配器舱150、通信总线130、设备环180、以及多个数据存储设备190。通信总线130互连群集110、群集120、包括设备适配器160的设备适配器舱140、以及包括设备适配器170的设备适配器舱150。设备环180互连设备适配器160、设备适配器170和多个数据存储设备190。
群集110还包括处理器111、数据高速缓存112、DA1设备驱动程序114、I/O桥115、I/O总线116以及可选的非易失性存储装置(“NVS”)113。I/O总线116互连处理器111、数据高速缓存112、设备驱动程序114、I/O桥115以及可选的NVS 113。
I/O总线116可以采取各种形式。在特定实施例中,I/O总线116包括PCI总线,其在通常小于一英尺的短距离上支持并行数据、多站式I/O适配器环境。在其它实施例中,I/O总线116以串行方式传送数据,支持点到点拓扑结构,并且可以跨越一公里或更大的距离。I/O桥115接口I/O总线116与通信总线130。I/O处理器111和设备适配器160管理向和从数据高速缓存112的数据流动,控制I/O设备190,并且在需要时执行数据协议翻译。
群集120还包括处理器121、数据高速缓存122、DA2设备驱动程序124、I/O桥125、I/O总线126以及可选的非易失性存储装置123。I/O总线126互连处理器121、数据高速缓存122、设备驱动程序124、I/O桥125以及可选的NVS 123。
I/O总线126可以采取各种形式。在特定实施例中,I/O总线126包括PCI总线,其在通常小于一英尺的短距离上支持并行数据、多站式I/O适配器环境。在其它实施例中,I/O总线126以串行方式传送数据,支持点到点拓扑结构,并且可以跨越一公里或更大的距离。I/O桥125接口I/O总线126与通信总线130。I/O处理器121和设备适配器170管理向和从数据高速缓存122的数据流动,控制I/O设备190,并且在需要时执行数据协议翻译。
现在参照图2A,在系统100中的群集之一例如群集120出现故障的情况下,则不能使用出现故障的群集向多个I/O设备190写入或者从其读取信息。其余工作群集,例如图2A的所示实施例中的群集110,仍然可以向多个数据存储设备190写入数据和/或从其读取数据。
参照图2B,在安设在系统100中的第一群集例如群集120出现故障然后安设在第二群集中的设备适配器例如设备适配器160也出现故障的情况下,则不能向该多个存储设备190写入或者从其读取数据。
现在参照图3,本发明的信息存储和检索系统300包括第一群集310、第二群集320、第一设备适配器舱140、第二设备适配器舱150、远程I/O网络330、设备环180以及多个数据存储设备190。远程I/O(“RIO”)网络330互连群集310、群集320、包括设备适配器160的设备适配器舱140、以及包括设备适配器170的设备适配器舱150。设备环180互连设备适配器160、设备适配器170和多个数据存储设备190。在特定实施例中,设备环180包括光纤通道仲裁环(Fibre ChannelArbitrated Loop)。
群集310还包括处理器311、数据高速缓存312、I/O桥315、I/O总线316以及可选的非易失性存储装置313。群集310还包括用于安设在设备适配器舱140中的设备适配器160的设备适配器驱动程序314,即DA1设备驱动程序,其中该第一设备适配器驱动程序314工作。群集310还包括用于安设在设备适配器舱150中的设备适配器170的设备适配器驱动程序318,即DA2设备驱动程序,其中该第二设备适配器驱动程序318不工作,但是被置于备用模式中。I/O总线316互连处理器311、数据高速缓存312、设备驱动程序314、设备驱动程序318、I/O桥315以及可选的NVS 313。
这里所谓的设备驱动程序正在“工作”或者被置于“工作模式”中是指设备驱动程序已被装载、初始化和配置。在此,“配置”设备驱动程序是指在设备驱动程序例如设备驱动程序314与适配器本身之间设置接口,其中读/写适配器的PCI配置空间,并且其中在设备驱动程序与适配器之间交换存储器地址,从而使得命令的交换因而是可能的。
这里所谓的“备用”设备驱动程序或者将设备驱动程序置于“备用模式”中是指设备驱动程序已被装载和初始化,但是未被配置。在设置PCI接口之后,该设备适配器及其对应的设备适配器可以服务I/O请求。根据系统负载,装载和初始化设备驱动程序可能花费数毫秒到数秒,而配置该设备驱动程序的PCI接口仅花费大约一毫秒。这样,可以在大约一毫秒内使“备用”设备驱动程序工作。
群集320还包括处理器321、数据高速缓存322、I/O桥325、I/O总线326以及可选的非易失性存储装置323。I/O总线326互连处理器321、数据高速缓存322、NVS 323、设备驱动程序324、以及I/O桥325。群集320还包括用于安设在设备适配器舱150中的设备适配器170的第一设备适配器驱动程序324,即DA2设备驱动程序,其中该第一设备适配器驱动程序324工作。群集320还包括用于安设在设备适配器舱140中的设备适配器160的第二设备适配器驱动程序328,即DA1设备驱动程序,其中如上所述该第二设备适配器驱动程序328不工作,但是被置于备用模式中。
在特定实施例中,在RIO网络330上传送的每组信号包括8个数据、1个时钟以及1个标志线。在特定实施例中,RIO网络330能够以高达大约500MB(单向或双向)传输数据。RIO网络330包括面向分组的总线。通过硬件分组重试和替换路径重试来采用链路级流控制,以确保数据的可靠传递。分组的长度大小范围为12到276字节,其包括8到12字节首标、4字节尾部循环冗余校验(“CRC”)、以及0到260字节的数据有效载荷。对I/O操作的低延迟管理进行强调。命令已被设计成高效执行常规I/O操作例如:编程I/O(PIO)、装载和存储、中断处理、包括有序和无序传输的选项的数据读/写、以及高速缓存协调。
在特定实施例中,以有规律的间隔,控制器311发送“心跳”信号到控制器321。当接收到该心跳信号时,控制器321将响应心跳信号发送到目标控制器311。只要第一群集中的处理器在规定的心跳响应间隔内从相邻群集中的控制器接收到心跳信号,控制器就确定相邻群集工作。另一方面,例如,如果控制器311没有在心跳响应间隔内从控制器321接收到响应心跳信号,则控制器311确定群集320不再工作,即该群集320出现“故障”。
在特定实施例中,心跳响应间隔由制造商在安设在每个群集内的固件中设置。在特定实施例中,心跳响应间隔由系统300的操作员设置。在特定实施例中,心跳响应间隔由一个或多个互连的主机计算机设置。在特定实施例中,心跳响应间隔在100毫秒与5秒之间。
本发明包括一种方法,其使用本发明的信息存储和检索系统300在群集故障加上设备适配器故障的期间提供故障恢复保护。图6概述了本发明方法的第一实施例的步骤。现在参照图6,在步骤610,本发明方法提供双群集信息存储和检索系统,例如系统300(图3),其中除了两个群集之外,该系统还包括两个或更多个设备适配器例如设备适配器160和170、以及多个数据存储设备例如多个数据存储设备190。
在步骤615,本发明方法将用于两个设备适配器的设备驱动程序安设在每个群集中。在特定实施例中,这些设备驱动程序被安设在位于第一群集的处理器例如处理器311内的RAM、以及位于第二群集的处理器例如处理器321内的RAM中。在特定实施例中,这些设备驱动程序被写入到安设在每个群集中的NVS,例如NVS 313和NVS 323。在特定实施例中,这些设备驱动程序被写入到安设在每个群集中的数据高速缓存,例如高速缓存312和高速缓存322。
在步骤620,本发明方法使安设在第一群集中的用于第一设备适配器的设备驱动程序工作。在特定实施例中,步骤620包括装载、初始化并配置该设备驱动程序。在特定实施例中,步骤620由安设在第一群集如群集310中的处理器如处理器311执行。在特定实施例中,在系统启动时、或者在每次系统重启时执行步骤620。
在步骤625,本发明方法将安设在第一群集中的用于第二设备适配器的设备驱动程序置于备用模式中。在特定实施例中,步骤625包括装载并初始化,但是不配置该设备驱动程序。在特定实施例中,步骤625由安设在第一群集如群集310中的处理器如处理器311执行。在特定实施例中,在系统启动时、或者在每次系统重启时执行步骤625。
在步骤630,本发明方法使安设在第二群集中的用于第二设备适配器的设备驱动程序工作。在特定实施例中,步骤630包括装载、初始化并配置该设备驱动程序。在特定实施例中,步骤630由安设在第二群集如群集320中的处理器如处理器321执行。在特定实施例中,在系统启动时、或者在每次系统重启时执行步骤630。
在步骤635,本发明方法将安设在第二群集中的用于第一设备适配器的设备驱动程序置于备用模式中。在特定实施例中,步骤635包括装载并初始化,但是不配置该设备驱动程序。在特定实施例中,步骤635由安设在第二群集如群集320中的处理器如处理器321执行。在特定实施例中,在系统启动时、或者在每次系统重启时执行步骤635。
步骤620、625、630和635可以以任何次序执行。步骤620、625、630和635可以在步骤615之后和步骤640之前的任何时间执行。
在步骤640,本发明方法检测两个群集之一的故障,例如群集320的故障。在特定实施例中,步骤640由安设在未出现故障的群集如群集310中的处理器如处理器311执行。
现在参照图4A,在步骤645,在第一群集例如群集320的故障之后,本发明方法使用第一设备适配器例如设备适配器160和第一设备驱动程序例如设备驱动程序314,通过工作群集,例如图4A的所示实施例中的群集310,访问多个数据存储设备190。
参照图4B和6,在步骤650,本发明方法检测安设在另外工作群集例如群集310中的设备适配器例如设备适配器160的故障。在特定实施例中,步骤650由安设在工作群集中的处理器,例如图4B的所示实施例中的处理器311执行。
现在参照图5和6,在步骤655,本发明方法使在步骤625/635置于备用模式中的设备驱动程序工作。例如,如果在步骤640检测到群集320的故障,并且在步骤650检测到设备适配器160的故障,则在步骤655,本发明方法使设备驱动程序318工作。在特定实施例中,步骤655包括配置设备驱动程序318。在特定实施例中,在大约1毫秒的总时间内执行步骤650和655。在特定实施例中,步骤655由安设在工作群集中的处理器例如图4B的所示实施例中的处理器311执行。
在步骤660,本发明方法使用工作群集例如图5的所示实施例中的群集310、设备驱动程序318、RIO网络330和设备适配器170,继续访问多个数据存储设备。
图7概述了本发明方法的第二实施例的步骤。步骤710、715、720和730对应于图6所示的步骤610、615、620和625。在步骤735,安设在每个群集中的处理器向/从安设在其它群集中的处理器发送/接收心跳信号。如上所述,心跳响应间隔在100毫秒与5秒之间。
在步骤737,本发明方法确定是否检测到群集故障,即是否在心跳响应间隔内没有接收到心跳信号。本领域的技术人员应当理解,步骤737还包括检索预定的心跳响应间隔。在特定实施例中,步骤737由每个群集中的处理器执行。
如果本发明方法在步骤737确定没有检测到群集故障,则该方法从步骤737转到步骤735并且继续。可选地,如果本发明方法在步骤737确定第一群集例如群集320出现故障,则该方法从步骤737转到步骤740,其中该方法将安设在第二群集即工作群集310中的用于第一设备适配器如设备适配器170的设备驱动程序如设备驱动程序318置于备用状态。在特定实施例中,步骤740包括装载并初始化该设备驱动程序。步骤745、750、755和760对应于图6所述的步骤645、650、655和660。随后,在步骤755配置在步骤740装载并配置的设备驱动程序。
可以单独实现图6和/或7所述的本发明方法的实施例。而且,在特定实施例中,可以对图6和/或7所述的各个步骤进行组合、去除或重新排序。
在特定实施例中,本发明包括驻留在存储器例如数据高速缓存312(图3)和/或NVS 313(图3)和/或数据高速缓存322(图3)和/或NVS323中的指令,其中这些指令由处理器311(图3)和/或处理器321(图3)执行,以执行图6所示的步骤620到660和/或图7所示的步骤720到760。
在其它实施例中,本发明包括驻留在任何其它计算机程序产品中的指令,其中这些指令由外部或内部于系统300的计算机执行,以执行图6所示的步骤620到660和/或图7所示的步骤720到760。在任何情况下,这些指令可被编码在信息存储介质中,该信息存储介质包括例如磁信息存储介质、光信息存储介质、电子信息存储介质等。在此,“电子存储介质”例如是指诸如PROM、EPROM、EEPROM、快闪PROM、致密闪存(compactflash)、智能介质(smartmedia)等的设备。
尽管对本发明的优选实施例进行了详细的阐述,但是显而易见,在不脱离如所附权利要求所述的本发明范围的情况下,本领域的技术人员可以对这些实施例进行变更和修改。
Claims (35)
1.一种信息存储和检索系统,包括:
多个数据存储设备;
第一设备适配器,与所述多个存储设备互连;
第二设备适配器,与所述多个存储设备互连;
第一群集,包括第一处理器、第一数据高速缓存、用于所述第一设备适配器的工作设备驱动程序、以及用于所述第二设备适配器的备用设备驱动程序;
第二群集,包括第二处理器、第二数据高速缓存、用于所述第二设备适配器的工作设备驱动程序、以及用于所述第一设备适配器的备用设备驱动程序;以及
远程I/O网络,互连所述第一群集、所述第二群集、所述第一设备适配器和所述第二设备适配器。
2.如权利要求1所述的信息存储和检索系统,其中装载、初始化并配置安设在所述第一群集中的所述工作设备驱动程序;以及
其中装载、初始化并配置安设在所述第二群集中的所述工作设备驱动程序。
3.如权利要求2所述的信息存储和检索系统,其中装载并初始化,但是不配置安设在所述第一群集中的所述备用设备驱动程序。
4.如权利要求3所述的信息存储和检索系统,其中装载并初始化,但是不配置安设在所述第二群集中的所述备用设备驱动程序。
5.如权利要求4所述的信息存储和检索系统,其中所述远程I/O网络能够单向或双向地以高达大约500MB传输数据。
6.如权利要求4所述的信息存储和检索系统,其中所述远程I/O网络包括面向分组的总线,其中所述分组的长度大小范围为12到276字节,其包括8到12字节首标、4字节尾部循环冗余校验、以及0到260字节的数据有效载荷。
7.如权利要求4所述的信息存储和检索系统,还包括光纤通道仲裁环,其互连所述多个数据存储设备、所述第一设备适配器和所述第二设备适配器。
8.一种用于在信息存储和检索系统中进行故障恢复保护的方法,其中所述信息存储和检索系统包括两个群集、两个设备适配器以及多个数据存储设备,该方法包括以下步骤:
提供用于第一设备适配器的第一设备驱动程序和用于第二设备适配器的第二设备驱动程序;
将所述第一设备驱动程序和所述第二设备驱动程序安设在两个群集中;
将安设在第一群集中的所述第一设备驱动程序置于工作中;
将安设在第二群集中的所述第二设备驱动程序置于工作中;
将安设在所述第二群集中的所述第一设备驱动程序置于备用模式中;
检测所述第一群集的故障;
检测第二设备适配器的故障;
使安设在所述第二群集中的所述第一设备驱动程序工作;以及
使用所述第一设备适配器和安设在所述第二群集中的所述第一设备驱动程序,访问存储在所述多个数据存储设备中的信息。
9.如权利要求8所述的方法,其中所述访问步骤还包括使用所述第二群集和所述第一设备适配器向所述多个数据存储设备中的一个或更多个写入数据。
10.如权利要求8所述的方法,其中所述访问步骤还包括使用所述第二群集和所述第一设备适配器从所述多个数据存储设备中的一个或更多个读取数据。
11.如权利要求8所述的方法,还包括以下步骤:将安设在第一群集中的用于第二设备适配器的设备驱动程序置于备用模式中。
12.如权利要求8所述的方法,还包括以下步骤:由所述第一处理器监视所述第二群集的状态。
13.如权利要求12所述的方法,其中所述监测步骤还包括以下步骤:
由所述第一处理器向所述第二处理器发送查询心跳信号;
由所述第二处理器接收所述查询心跳信号;
由所述第二处理器向所述第一处理器发送响应心跳信号;
由所述第一处理器接收所述响应心跳信号。
14.如权利要求13所述的方法,还包括以下步骤:
设置心跳响应间隔;
由所述第一处理器确定是否在所述心跳响应间隔内接收到答复心跳信号;
如果所述第一处理器没有在所述心跳响应间隔内接收到答复心跳信号,则工作,从而由所述第一处理器确定所述第二群集出现故障。
15.如权利要求8所述的方法,还包括以下步骤:
提供远程I/O网络;
使用所述远程I/O网络,互连所述第一群集、所述第二群集、所述第一设备适配器和所述第二设备适配器。
16.如权利要求15所述的方法,其中所述访问步骤还包括使用所述远程I/O网络在所述第二群集与所述第一设备适配器之间单向或双向地以高达大约500MB提供数据。
17.如权利要求16所述的方法,其中所述访问步骤还包括使用所述远程I/O网络提供一个或多个信息分组,其中所述分组的长度在大约12到大约276字节之间,其包括8到12字节首标、4字节尾部循环冗余校验、以及0到260字节的数据有效载荷。
18.如权利要求8所述的方法,还包括以下步骤:
提供光纤通道仲裁环;
使用所述光纤通道仲裁环,互连所述第一设备适配器、所述第二设备适配器和所述多个数据存储设备。
19.一种产品,包括处理器、存储器设备、第一设备驱动程序、第二设备驱动程序、以及计算机可用介质,所述计算机可用介质具有安设在其中的计算机可读程序代码,以提供故障恢复保护,其中所述产品能够与使用所述第一设备驱动程序的第一设备适配器和与使用所述第二设备驱动程序的第二设备适配器通信,并且其中所述第一设备适配器和所述第二设备适配器能够与多个数据存储设备通信,并且其中所述产品能够与计算群集通信,该计算机可读程序代码包括一系列计算机可读程序步骤以实现:
将所述第一设备驱动程序置于工作中;
将所述第二设备驱动程序置于备用模式中;
使用所述第一设备驱动程序和所述第一设备适配器,访问存储在所述多个数据存储设备中的信息;
检测所述计算群集的故障;
检测所述第一设备适配器的故障;
使所述第二设备驱动程序工作;以及
使用所述第二设备驱动程序和所述第二设备适配器,继续访问存储在所述多个数据存储设备中的信息。
20.如权利要求19所述的产品,其中继续访问信息的所述可读程序代码还包括一系列计算机可读程序步骤,以实现使用所述第二设备驱动程序和所述第二设备适配器向所述多个数据存储设备中的一个或更多个写入数据。
21.如权利要求19所述的产品,其中继续访问信息的所述可读程序代码还包括一系列计算机可读程序步骤,以实现使用所述第二设备驱动程序和所述第二设备适配器从所述多个数据存储设备中的一个或更多个读取数据。
22.如权利要求19所述的产品,所述计算机可读程序代码还包括一系列计算机可读程序步骤,以实现将所述第二设备驱动程序置于备用模式中。
23.如权利要求19所述的产品,所述计算机可读程序代码包括一系列计算机可读程序步骤,以实现由所述处理器监视所述计算群集的状态。
24.如权利要求23所述的产品,其中监视状态的所述可读程序代码还包括一系列计算机可读程序步骤,以实现:
由所述处理器将查询心跳信号发送到所述计算群集;
从所述计算群集接收响应心跳信号。
25.如权利要求24所述的产品,其中监视状态的所述可读程序代码还包括一系列计算机可读程序步骤,以实现:
检索心跳响应间隔;
由所述处理器确定是否在所述心跳响应间隔内接收到所述响应心跳信号;
如果所述处理器没有在所述心跳响应间隔内接收到所述响应心跳信号,则工作,从而由所述处理器确定所述计算群集出现故障。
26.如权利要求19所述的产品,还包括远程I/O网络,其互连所述产品、所述计算群集、所述第一设备适配器和所述第二设备适配器,所述计算机可读程序代码还包括一系列计算机可读程序步骤,以在所述产品与所述第一设备适配器之间以及在所述产品与所述第二设备适配器之间单向或双向地以高达大约500MB提供数据。
27.如权利要求26所述的产品,所述计算机可读程序代码还包括一系列计算机可读程序步骤,以实现使用所述远程I/O网络提供一个或多个信息分组,其中所述分组的长度在约12到约276字节之间,其包括8到12字节首标、4字节尾部循环冗余校验、以及0到260字节的数据有效载荷。
28.一种可用于可编程计算机处理器的计算机程序产品,其具有包含在其中以向信息存储和检索系统提供故障恢复保护的计算机可读程序代码,所述信息存储和检索系统包括多个数据存储设备;第一设备适配器,与所述多个存储设备互连;第二设备适配器,与所述多个存储设备互连;第一群集,包括可编程计算机处理器、第一数据高速缓存、用于所述第一设备适配器的工作设备驱动程序、用于所述第二设备适配器的备用设备驱动程序;第二群集,包括第二数据高速缓存、用于所述第二设备适配器的工作设备驱动程序、以及用于所述第一设备适配器的备用设备驱动程序;以及远程I/O网络,互连所述第一群集、所述第二群集、所述第一设备适配器和所述第二设备适配器,所述计算机程序产品包括:
使所述可编程计算机处理器将安设在所述第一群集中的所述第一设备驱动程序置于工作中的计算机可读程序代码;
使所述可编程计算机处理器将安设在所述第一群集中的所述第二设备驱动程序置于备用模式中的计算机可读程序代码;
使所述可编程计算机处理器检测所述第二群集的故障的计算机可读程序代码;
使所述可编程计算机处理器检测所述第一设备适配器的故障的计算机可读程序代码;
使所述可编程计算机处理器让安设在所述第一群集中的所述第二设备驱动程序工作的计算机可读程序代码;以及
使所述可编程计算机处理器使用所述第二设备适配器和安设在所述第一群集中的所述第二设备驱动程序访问存储在所述多个数据存储设备中的信息的计算机可读程序代码。
29.如权利要求28所述的计算机程序产品,其中访问信息的所述计算机可读程序代码还包括使所述可编程计算机处理器使用所述第一群集和所述第二设备适配器向所述多个数据存储设备中的一个或更多个写入数据的计算机可读程序代码。
30.如权利要求28所述的计算机程序产品,其中访问信息的所述计算机可读程序代码还包括使所述可编程计算机处理器使用所述第一群集和所述第二设备适配器从所述多个数据存储设备中的一个或更多个读取数据的计算机可读程序代码。
31.如权利要求28所述的计算机程序产品,还包括使所述可编程计算机处理器监视所述第二群集的状态的计算机可读程序代码。
32.如权利要求31所述的计算机程序产品,还包括:
使所述可编程计算机处理器确定心跳响应间隔的的计算机可读程序代码;
使所述可编程计算机处理器向所述第二群集发送查询心跳信号的计算机可读程序代码;
使所述可编程计算机处理器从所述第二群集接收响应心跳信号的计算机可读程序代码。
33.如权利要求32所述的计算机程序产品,还包括:
使所述可编程计算机处理器确定是否在所述心跳响应间隔内接收到所述响应心跳信号的计算机可读程序代码;
如果在所述心跳响应间隔内没有接收到所述响应心跳信号则使所述可编程计算机处理器确定所述第二群集出现故障的计算机可读程序代码。
34.如权利要求28所述的计算机程序产品,其中所述信息存储和检索系统还包括远程I/O网络,其互连所述第一群集、所述第二群集、所述第一设备适配器和所述第二设备适配器,还包括使所述可编程计算机处理器在所述第一群集与所述第一设备适配器之间以及在所述第一群集与所述第二设备适配器之间单向或双向地以高达大约500MB提供数据的计算机可读程序代码。
35.如权利要求34所述的计算机程序产品,还包括使所述可编程计算机处理器使用所述远程I/O网络提供一个或多个信息分组的计算机可读程序代码,其中所述分组的长度在大约12到大约276字节之间,其包括8到12字节首标、4字节尾部循环冗余校验、以及0到260字节的数据有效载荷。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/971,801 US7373433B2 (en) | 2004-10-22 | 2004-10-22 | Apparatus and method to provide failover protection in an information storage and retrieval system |
US10/971,801 | 2004-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1763721A true CN1763721A (zh) | 2006-04-26 |
CN100422945C CN100422945C (zh) | 2008-10-01 |
Family
ID=36317682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100833105A Expired - Fee Related CN100422945C (zh) | 2004-10-22 | 2005-07-12 | 在信息存储和检索系统中提供故障恢复保护的设备和方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7373433B2 (zh) |
CN (1) | CN100422945C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510142B (zh) * | 2008-02-15 | 2011-12-21 | 环旭电子股份有限公司 | 存储设备的多输出入接口系统与通信方法 |
CN102495773A (zh) * | 2011-11-25 | 2012-06-13 | 清华大学 | 一种实时设备驱动恢复系统及方法 |
CN101779395B (zh) * | 2007-08-08 | 2013-09-25 | 惠普开发有限公司 | 电子系统、自由空间模块及其制造方法 |
CN111611130A (zh) * | 2020-05-13 | 2020-09-01 | 上海龙旗科技股份有限公司 | 一种用于目标接口防烧的方法、系统及设备 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1209708C (zh) * | 2000-03-01 | 2005-07-06 | 电脑联合想象公司 | 用于更新计算机文件的备份文件的方法和系统 |
US7519851B2 (en) * | 2005-02-08 | 2009-04-14 | Hitachi, Ltd. | Apparatus for replicating volumes between heterogenous storage systems |
US7430629B2 (en) * | 2005-05-12 | 2008-09-30 | International Business Machines Corporation | Internet SCSI communication via UNDI services |
US8495019B2 (en) | 2011-03-08 | 2013-07-23 | Ca, Inc. | System and method for providing assured recovery and replication |
CN103019202A (zh) * | 2012-12-06 | 2013-04-03 | 国电南瑞科技股份有限公司 | 冗余fep备用接口状态在线检测方法 |
US20140258771A1 (en) | 2013-03-06 | 2014-09-11 | Fortinet, Inc. | High-availability cluster architecture and protocol |
US10084678B2 (en) * | 2016-04-19 | 2018-09-25 | International Business Machines Corporation | Managing connections for data communications using heartbeat messaging |
US10827001B2 (en) | 2016-07-27 | 2020-11-03 | International Business Machines Corporation | Managing connections for data communications |
US10742747B2 (en) | 2017-07-06 | 2020-08-11 | International Business Machines Corporation | Managing connections for data communications following socket failure |
CN110874926A (zh) | 2018-08-31 | 2020-03-10 | 百度在线网络技术(北京)有限公司 | 智能路侧单元 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5437022A (en) | 1992-12-17 | 1995-07-25 | International Business Machines Corporation | Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto |
US5574950A (en) | 1994-03-01 | 1996-11-12 | International Business Machines Corporation | Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level |
US5870537A (en) | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
US6304980B1 (en) | 1996-03-13 | 2001-10-16 | International Business Machines Corporation | Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device |
JPH10187638A (ja) * | 1996-10-28 | 1998-07-21 | Mitsubishi Electric Corp | クラスタ制御システム |
US6014669A (en) | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6006342A (en) | 1997-12-11 | 1999-12-21 | International Business Machines Corporation | Failover and failback system for a direct access storage device |
US6470397B1 (en) | 1998-11-16 | 2002-10-22 | Qlogic Corporation | Systems and methods for network and I/O device drivers |
US6408343B1 (en) * | 1999-03-29 | 2002-06-18 | Hewlett-Packard Company | Apparatus and method for failover detection |
JP4864210B2 (ja) * | 1999-05-20 | 2012-02-01 | イヴァン, チョン−ション ホワン, | 作業グループサーバー実施の方法と装置 |
US20030050990A1 (en) | 2001-06-21 | 2003-03-13 | International Business Machines Corporation | PCI migration semantic storage I/O |
US20030046474A1 (en) | 2001-06-21 | 2003-03-06 | International Business Machines Corporation | Mixed semantic storage I/O |
US6728818B2 (en) | 2001-06-27 | 2004-04-27 | International Business Machines Corporation | Dual storage adapters utilizing clustered adapters supporting fast write caches |
US7325051B2 (en) | 2001-11-06 | 2008-01-29 | International Business Machines Corporation | Integrated storage appliance |
US7111084B2 (en) * | 2001-12-28 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Data storage network with host transparent failover controlled by host bus adapter |
US6934878B2 (en) | 2002-03-22 | 2005-08-23 | Intel Corporation | Failure detection and failure handling in cluster controller networks |
-
2004
- 2004-10-22 US US10/971,801 patent/US7373433B2/en not_active Expired - Fee Related
-
2005
- 2005-07-12 CN CNB2005100833105A patent/CN100422945C/zh not_active Expired - Fee Related
-
2008
- 2008-05-08 US US12/117,682 patent/US7761616B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779395B (zh) * | 2007-08-08 | 2013-09-25 | 惠普开发有限公司 | 电子系统、自由空间模块及其制造方法 |
CN101510142B (zh) * | 2008-02-15 | 2011-12-21 | 环旭电子股份有限公司 | 存储设备的多输出入接口系统与通信方法 |
CN102495773A (zh) * | 2011-11-25 | 2012-06-13 | 清华大学 | 一种实时设备驱动恢复系统及方法 |
CN111611130A (zh) * | 2020-05-13 | 2020-09-01 | 上海龙旗科技股份有限公司 | 一种用于目标接口防烧的方法、系统及设备 |
CN111611130B (zh) * | 2020-05-13 | 2021-11-05 | 上海龙旗科技股份有限公司 | 一种用于目标接口防烧的方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100422945C (zh) | 2008-10-01 |
US7761616B2 (en) | 2010-07-20 |
US20060101201A1 (en) | 2006-05-11 |
US7373433B2 (en) | 2008-05-13 |
US20080209081A1 (en) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1763721A (zh) | 在信息存储和检索系统中提供故障恢复保护的设备和方法 | |
US7774641B2 (en) | Storage subsystem and control method thereof | |
US7587627B2 (en) | System and method for disaster recovery of data | |
EP1595363B1 (en) | Scsi-to-ip cache storage device and method | |
KR100941041B1 (ko) | 아웃 오브 메모리 및 무리없는 셧다운의 검출 | |
US20070245105A1 (en) | Storage system and data management method | |
EP1372076B1 (en) | Storage control system and method | |
US7882223B2 (en) | System and method for saving dump data of a client in a network | |
US7984260B2 (en) | Storage system provided with a plurality of controller modules | |
CN100340982C (zh) | 一种传输设备单板软件在线升级出错后的恢复方法 | |
US5901280A (en) | Transmission monitoring and controlling apparatus and a transmission monitoring and controlling method | |
JP2004062344A (ja) | 記憶装置システムのデステージ方法、ディスク制御装置、記憶装置システム、及びプログラム | |
JP2004287648A (ja) | 外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラム | |
CN101673283A (zh) | 管理终端和计算机系统 | |
CN1794198A (zh) | 容错双工计算机系统及其控制方法 | |
CN1975671A (zh) | 用于配置相连设备的方法和系统 | |
US8504786B2 (en) | Method and apparatus for backing up storage system data | |
US11531498B2 (en) | Peer storage device messaging over control bus | |
US7418549B2 (en) | Storage system with disk array controllers that independently manage data transfer | |
US7493443B2 (en) | Storage system utilizing improved management of control information | |
CN1534920A (zh) | 实现内外网络物理隔离的方法及其装置 | |
CN1777117A (zh) | 用于设置网络的信令速率的装置和方法 | |
JP2007334764A (ja) | Nasシステムおよびnasシステムの情報処理方法 | |
CN1773502A (zh) | 验证信息存储和检索系统的配置的设备和方法 | |
CN1940875A (zh) | 计算机平台快取资料备援处理方法及系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081001 Termination date: 20200712 |