CN100421084C - 用于从数据存储系统的故障中恢复的方法和系统 - Google Patents

用于从数据存储系统的故障中恢复的方法和系统 Download PDF

Info

Publication number
CN100421084C
CN100421084C CNB2005100884075A CN200510088407A CN100421084C CN 100421084 C CN100421084 C CN 100421084C CN B2005100884075 A CNB2005100884075 A CN B2005100884075A CN 200510088407 A CN200510088407 A CN 200510088407A CN 100421084 C CN100421084 C CN 100421084C
Authority
CN
China
Prior art keywords
calculation element
adapter
order
storer
server
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.)
Expired - Fee Related
Application number
CNB2005100884075A
Other languages
English (en)
Other versions
CN1776642A (zh
Inventor
迈克尔·T·本哈斯
马修·J·卡洛斯
卡尔·A·尼尔森
宋正中
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1776642A publication Critical patent/CN1776642A/zh
Application granted granted Critical
Publication of CN100421084C publication Critical patent/CN100421084C/zh
Expired - Fee Related 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/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

Abstract

提供了一种方法、系统和产品,其中在第一计算装置上接收命令,该第一计算装置连接到能够允许第一计算装置访问数据存储装置的第一适配器。第一计算装置发送命令到第二计算装置。由连接到第二计算装置的第二适配器处理该命令,其中第二适配器允许第二计算装置访问数据存储装置,并且其中第二适配器访问第一计算装置中的存储器以处理命令。在特定实施例中,允许第一计算装置访问数据存储装置的第一适配器已经出故障。

Description

用于从数据存储系统的故障中恢复的方法和系统
技术领域
本公开涉及用于从数据存储系统中的适配器故障中恢复的方法、系统、以及产品。
背景技术
在某些数据存储环境中,多个服务器可以提供对存储装置的访问,其中经由适配器将每个服务器连接到存储装置。例如,在双服务器数据存储环境中,两个服务器中的每一个都可以具有提供对共享存储装置的盘驱动器的访问的适配器。第一服务器可以控制第一适配器以访问盘驱动器,而第二服务器可以控制第二适配器以访问盘驱动器。数据存储环境通过允许主系统经过两个服务器中的任一个或两者访问存储在盘驱动器中的数据而提供了冗余。
在适配器出现故障的情况下,控制适配器的服务器可以就不能访问盘驱动器。例如,在第一适配器出现故障的情况下,第一服务器可以失去对盘驱动器的访问。数据存储环境提供的冗余可以允许主系统通过使用第二服务器来访问盘驱动器,其中第二服务器使用第二适配器来访问盘驱动器并处理来自主机的命令。然而,可以直到第一适配器再次运转才使用第一服务器。
发明内容
提供了一种方法、系统和产品,其中在第一计算装置上接收命令,该第一计算装置连接到能够允许第一计算装置访问数据存储装置的第一适配器。第一计算装置发送命令到第二计算装置。由连接到第二计算装置的第二适配器处理该命令,其中第二适配器允许第二计算装置访问数据存储装置,并且其中第二适配器访问第一计算装置中的存储器以处理命令。在特定实施例中,允许第一计算装置访问数据存储装置的第一适配器已经出故障。
在另一个实施例中,第一计算装置和第二计算装置为产生命令的主机提供冗余。
在另一个实施例中,由第二适配器处理命令还包括执行对第一计算装置中的存储器的直接存储器访问,以执行命令。将完成通知发送到第二计算装置,以转发到第一计算装置。将命令状态字写入到第一计算装置的存储器,以指示命令执行的完成。
在另一个实施例中,第一计算装置在命令状态字被写入到第一计算装置的存储器之前接收来自第二计算装置的完成通知。
在另一个实施例中,第二适配器和第一计算装置之间的第一路径长度与第二计算装置和第一计算装置之间的第二路径长度不同。
在另一个实施例中,第一计算装置基于完成通知和指示完成的命令状态字二者的接收确定已经执行命令。
在另一个实施例中,第一和第二适配器能够执行对第一计算装置的存储器和第二计算装置的存储器的直接存储器访问操作,其中第二适配器经由直接存储器访问操作来访问第一计算装置的存储器。
在另一个实施例中,第二适配器响应对命令的处理而产生结果,并将该结果传送给第一计算装置。第一计算装置将该结果发送到第一计算装置从其上接收命令的主机。
在另一个实施例中,第一计算装置产生用于执行命令的数据和控制信息。将数据和控制信息存储在第一计算装置的存储器中。由第二适配器经由对存储器的直接存储器访问来访问所存储的数据和所存储的控制信息。
在另一个实施例中,即使第一适配器已经出故障,命令的发送方也能够使用第一计算装置和第二计算装置二者来发起对命令的执行。
在另一个实施例中,第二适配器处理命令的结果等价于当前已经出故障的第一适配器处理命令的结果。
附图说明
现在参考附图,其中相同的附图标记始终表示对应部分:
图1图解根据特定实施例的计算环境的方框图;
图2图解根据特定实施例示出计算环境中的适配器故障的方框图;
图3图解根据特定实施例示出适配器如何能够执行对服务器的直接存储器访问的方框图;
图4图解根据特定实施例示出在计算环境中的不同的示例路径长度的方框图;
图5图解根据特定实施例示出如何执行从故障中恢复的方框图;
图6图解根据特定实施例示出从适配器的故障中恢复的操作;以及
图7图解在其中实现特定实施例的系统。
具体实施方式
在下面的描述中,讨论形成本文一部分并图解几个实施例的附图。可以理解,可以采用其它实施例,且可以作出结构和操作上的变化。
图1图解根据特定实施例的计算环境100的方框图。计算环境100包括在通信环106上连接到第二服务器104的第一服务器102。
第一服务器102和第二服务器104可以任何合适的计算装置,包括那些目前本领域已知的装置,如个人计算机、工作站、大型机、手持计算机、掌上计算机、电话装置、网络设备、叶片计算机(blade computer)、存储服务器等。通信环106可以包括任何合适的网络,包括那些目前本领域已知的网络,如存储区网(SAN)、局域网(LAN)、以及企业内部互联网等。
通信环106包括数据存储装置108、第一适配器110、以及第二适配器112。数据存储装置108可以包括任何合适的数据存储装置,包括那些目前本领域已知的存储器,如盘驱动器、带驱动器等。第一适配器110能够由第一服务器102控制并为第一服务器102提供对数据存储装置108的访问。第二适配器112能够由第二服务器104控制并为第二服务器104提供对数据存储装置108的访问。
第一服务器102包括存储器114,第二服务器包括存储器116,其中存储器可以包括随机访问存储器。在特定实施例中,第一适配器110和第二适配器112能够执行对服务器102、104中的存储器114、116的直接存储器访问。因此,在计算环境100中,适配器110、112都可以访问数据存储装置108和在两个服务器102、104中的存储器114、116。
主机118可以发送执行命令到服务器102和104中的任一个或二者。命令的执行可能需要对于数据存储装置108的输入/输出(I/O)操作。服务器102、104可以通过访问数据存储装置108来执行命令。由于有两个服务器104,104可以命令执行中为主机118提供冗余。
图1图解这样的特定实施例,其中在双服务器数据存储环境100中,第一服务器102经由第一适配器110访问数据存储装置108,且第二服务器104经由第二服务器112也访问数据存储装置108。在替换的实施例中,可以有多于两个的服务器,并可以有多于两个的适配器。尽管在图1中示出了两个适配器和一个数据存储装置,但是在替换实施例中可以有多于两个适配器和多于一个数据存储装置。
图2图解根据特定实施例示出在计算环境中100的第一适配器110的故障的方框图。尽管图2将第一适配器110示出为已经出故障,但是在替换实施例中,第二适配器112可以出故障而第一适配器110可以是运转的。
第一适配器110的故障可以由各种原因引起,包括硬件故障、软件错误故障、适配器重起等。如果第一适配器110故障,则第一服务器102不能经由第一适配器110访问数据存储装置108。类似地,在替换实施例中,如果第二适配器112故障,则第二服务器104不能经由第二适配器112访问数据存储装置108。
如果主机118等待出故障的第一适配器110开始运转,则只有在诸如经由适配器重起等引起问题的临时适配器问题的情况下,等待才会成功。等待将花费相当长的时间周期,并可能不适于主机118产生的某些命令的执行。另外,如果主机118要等待出故障的第一适配器110开始运转,则在诸如由适配器的硬件故障引起的适配器问题的永久适配器问题的情况下,等待将不会成功。特定实施例提供了对于临时的和永久的适配器故障系统都能够容忍的机制。
如果第一适配器110出故障,则主机118可以停止发送命令到第一服务器102,并将所有命令发送到第二服务器104来执行。所有对数据存储装置108的访问将经由控制运转的第二适配器112的第二服务器104。然而,在这样的情况中,所有的I/O必须通过单个服务器处理。通过使用双服务器环境100获得的冗余将不再可用。另外,当一个适配器出故障时,则控制出故障的适配器的服务器所提供的读/写缓存(caching)将不可用,且系统的性能可以遭到恶化。
即使在诸如第一适配器110的适配器出故障的情况下,特定实施例也允许使用第一服务器102和第二服务器104二者。结果,特定实施例开发了双服务器环境100提供的冗余。
图2图解这样的实施例,其中,即使诸如第一适配器110的适配器出故障,主机118也继续使用第一服务器102和第二服务器104二者来执行命令。
图3图解根据特定实施例示出适配器110、112如何能够执行对服务器102、104二者的直接存储器访问(DMA)的方框图。DMA是不用中央处理器(CPU)的参与就允许装置读和写存储器的一些计算机架构的工具。在特定的实施例中,DMA可以是总线控制的受限形式。
例如,在特定实施例中,第一适配器110能够执行第一服务器102的存储器114的DMA 300a、以及第二服务器104的存储器116的DMA 300b。另外,第二适配器112能够执行第一服务器102的存储器114的DMA 300c、以及第二服务器104的存储器116的DMA 300d。
图3图解适配器110、112二者都可以执行对服务器102、104二者的存储器114、116的DMA的特定实施例。
图4图解根据特定实施例示出在计算环境100中的不同的示例路径长度的方框图。
用通信环106连接的两个元件之间的路径长度可以表示在两个元件之间的近似量度,其中在特定实施例中,近似量度可以是两个元件之间的距离因数。例如,图4图解第二适配器112和第一服务器102之间的路径长度402、以及在第二服务器104和第一服务器102之间的路径长度404。在特定实施例中,路径长度402和路径长度404可能是不同的。结果,与从第二服务器104到第一服务器102的通信相比较,从第二适配器112到第一服务器102的通信可以花费不同的时间量来完成。
例如,在路径长度402大于路径长度404的特定实施例中,即使第二适配器112在第二服务器104将第二通信发送到第一服务器102之前将第一通信发送到第一服务器102,第二通信也可能在第一通信之前到达第一服务器102。除路径长度不同之外的原因也可能引起通信无次序的达到。例如,在不同路径中的不同程度的竞争和拥塞可能引起不同通信要花费不同的时间量来完成,并且可能早于或晚于第二通信接收第一通信。
图4图解这样的特定实施例,其中与将通信传输到第一服务器102的次序相比较,来自第二适配器112和第二服务器104的通信可以以不同的次序到达第一服务器102。
图5图解根据特定实施例示出如何在计算环境100中执行从故障中恢复的方框图。
在第一适配器110出故障的特定实施例中,即使由于第一适配器110的故障,第一服务器102不再能够直接访问数据存储装置108,特定实施例也允许主机118经由第一服务器102和第二服务器104二者来执行命令。因为第二服务器104已经由运转的第二适配器112访问数据存储装置108,所以第二服务器104当然可以执行主机118发送的命令。
在特定的实施例中,主机118可以将命令(附图标记502)发送到第一服务器102来执行。第一服务器102不能使用出故障的第一适配器110来访问数据存储装置108以执行命令。在特定实施例中,第一服务器102在通信环106上发送(附图标记504)命令到第二服务器104。
第二服务器104可以控制运转的第二适配器112并发送(附图标记506)命令到第二适配器112。为了执行这个命令,第二适配器112可能需要与可以存储在第一服务器102的存储器114中的命令关联的数据和其它信息。第二适配器112执行(附图标记508)在第一服务器102的存储器114上的DMA以处理命令,并将产生的结果写到(附图标记510)第一服务器102。
第二适配器112发送(附图标记512)指示在第二适配器112中命令的执行完成的完成通知发送到第二服务器104。在特定的实施例中,第二适配器112可以同时发送(附图标记514)指示命令成功完成的命令状态字到第一服务器102,其中该命令状态字是指示命令的执行完成的指示符。
第二服务器104发送(附图标记516)完成通知到第一服务器102。在一个实施例中,第二服务器104和第一服务器102之间的路径长度可以不同于在第二适配器112和第一服务器102之间的路径长度,第一服务器102可以在接收指示来自第二适配器112的命令的成功完成的命令状态字之前接收来自第二服务器104的完成通知。在其它实施例中,诸如路径中的竞争和拥塞的因素可以引起当与命令状态字比较时的完成通知的无次序到达。
在某些实施例中,一旦第一服务器102已经接收到来自第二服务器104的完成通知和来自第二适配器112的指示完成的命令状态字,就可以得出已经处理来自主机11 8的命令的结论。在某些替换实施例中,仅在来自第二适配器112的命令状态字的基础上就可以得出已经处理来自主机的命令的结论。第一服务器102可以向主机118发送(附图标记518)响应。
图5图解这样的实施例,其中即使第一适配器110出故障,因为第一服务器102和第二服务器104二者都用于执行主机118发送的命令,所以也保持了计算环境100的冗余。尽管第一服务器102不能使用第一适配器110访问数据存储装置108,但是第一服务器102经由第一服务器102的存储器的DMA将命令发送到第二服务器104以由第二适配器112执行。
图6图解根据特定实施例示出在计算环境100中从诸如第一适配器102的适配器故障中恢复的操作。
第一适配器110出故障后,在第一服务器102从主机118接收到命令之后,在方框602开始控制。第一服务器设立要执行的命令,并发送(在方框602)关于该命令的信息到第二服务器104。设立要执行的命令可以包括数据和控制信息的产生以及在第一服务器102的存储器114中存储数据和控制信息,其中为了命令执行的完成,存储的数据和控制信息随后可以被要求与存储在数据存储装置108中的数据结合。第一服务器102进入等待(方框604b)模式,等待某些条件被满足。
第二服务器104接收来自第一服务器的命令,并发送(在方框604a)命令到可经由第二服务器104控制的第二适配器112。通过对第一服务器102的存储器114处理命令所需要的任何数据或控制信息的直接存储器访问,第二适配器112接收并处理(在方框606)命令。
第二适配器112经由DMA操作写入(在方框608)包括命令执行结果的响应数据到第一服务器102的存储器114。然后,第二适配器112发起经由DMA操作将指示命令执行结束的命令状态字向第一服务器102的存储器114的写入(在方框610a)。第二适配器112还可以发起完成消息向第二服务器104的发送(在方框610b),其中,可以与命令状态字的写入并行地执行发送完成消息的发起。一接收到完成消息,第二服务器104就转发(在方框612)完成消息到第一服务器102。
等待模式(在方框604b)下的第一服务器102接收来自第二服务器104和第二适配器112的通信,例如在方框608、610a、612中发送的通信。第一服务器102确定(在方框614)第一服务器102是否已经接收到:(A)指示来自第二适配器112的命令执行完成的命令状态字;以及(B)来自第二服务器104的完成指示。如果是这样,则即使第一适配器110已经出故障了,第一服务器102仍像第一服务器102已经在第一适配器110上运行了来自主机118的命令一样继续(在方框616)。
如果在方框614,第一服务器102确定第一服务器102既没有从第二适配器112接收到指示完成的命令状态字,也没有从第二服务器104接收到完成指示,则第一服务器102继续(在方框604b)等待,并周期性地执行方框614。
图6图解这样的实施例,其中即使在诸如为服务器(诸如第一服务器110)提供对数据存储装置108的访问的第一适配器110的适配器出故障的情况下,主机118也可以使用服务器来执行命令。因为即使当一个适配器出故障时,第一服务器102和第二服务器104也都用于执行主机118发送的命令,所以保持了计算环境100的冗余。
由于为服务器提供对存储装置的访问的适配器出故障,所以特定实施例通过允许对不可以直接访问存储装置的服务器的使用,在双服务器数据存储环境中继续提供冗余。服务器发送消息到其适配器执行DMA操作的另一个服务器,以访问其适配器已经出故障的服务器的存储器。即使在用于一个服务器的适配器已经出故障,主机也可以继续发送命令到基于多个服务器的数据存储环境中的所有服务器以执行。即使在某些适配器出故障的情况下,通过特定实施例也保持了基于多个服务器的数据存储环境中的服务器的冗余。
附加的实施例细节
所描述的技术可以实施为方法、设备或包括了软件、固件、微代码、硬件和/或其任何组合的产品。这里使用的词“产品”指程序指令、代码和/或电路(例如集成电路芯片、可编程门阵列(PGA)、ASIC等)中和/或介质中的逻辑实现,所述介质有:计算机可读介质(例如,诸如硬盘驱动器、软盘、磁带等的磁存储介质)、光存储器(例如,CD-ROM、DVD-ROM、光盘等)、易失性和非易失性存储装置(例如,电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存(flash)、固件、可编程逻辑等)。计算机可读介质中的代码可以由诸如处理器的机器访问并执行。在特定实施例中,还可以通过传输介质或者经由网络从文件服务器访问在其中体现实施例的代码。在这种情况下,其中实现代码的产品可以包括传输介质,如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外信号等。当然,本领域的技术人员将认识到,在不脱离这些实施例的范围的情况下,可以作出许多变化,并且产品可以包括任何本领域公知的信息承载介质。例如,产品包括已在其中存储指令的存储介质,其中当机器执行该指令时导致执行操作。
图7图解在其中可以实现特定实施例的系统700的方框图。在特定实施例中,可以根据系统700实施服务器102、104。系统700可以包括电路702,所述电路702在特定实施例中可以包括处理器704。系统700还可以包括存储器706(例如易失性存储装置)、以及存储装置708。在服务器102、104中可以或可以不发现系统700的某些元件。存储装置708可以包括非易失性存储装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、带驱动器等。存储装置708可以包括内部存储装置、附加的存储装置和/或网络可访问存储装置。系统700可以包括程序逻辑710,其中程序逻辑710包括可以下载到存储器706并由处理器704或电路702执行的代码712。在特定实施例中,可以将包括代码712的程序逻辑710存储到存储装置708中。在其它特定实施例中,程序逻辑710可以在电路702中实现。因此,尽管图7与其它元件分离地示出程序逻辑710,但是程序逻辑710可以在存储器706和/或电路702中实现。
特定实施例可以旨在一种由人或者通过将计算机可读代码集成到计算机系统中的自动处理来配置计算指令的方法,其中启动与计算系统结合的代码,以执行所描述的实施例的操作。
可以并行也可以按顺序执行图6中的至少部分操作。在替换实施例中,一些操作可以以(经调整或删除的)不同次序执行。
此外,为了说明的目的以单独的模块描述了许多软件和硬件组件。可以将这些组件集成到更少数目的组件中,或划分为更多数量的组件。另外,可以由其它组件执行描述为由特有组件执行的某些操作。
将在图1-7中示出或提到的数据结构和组件描述为具有特有类型的信息。在替换实施例中,与在图中示出或提到的数据结构和组件相比较,这些数据结构和组件可以被不同地构造,并具有更少、更多或不同领域或不同功能。
因此,为了说明和描述的目的,陈述了对实施例的以上描述。不期望穷举实施例或将实施例限制到所公开的精确形式。按照上面的讲述内容,可以有许多修改和变更。

Claims (22)

1. 一种方法,包括:
在第一计算装置上接收命令,该第一计算装置连接到能够允许第一计算装置访问数据存储装置的第一适配器;
在第一计算装置的第一适配器出现故障时,由第一计算装置发送该命令到第二计算装置;以及
由连接到第二计算装置的第二适配器处理该命令,其中第二适配器允许第二计算装置访问数据存储装置,并且其中第二适配器访问第一计算装置中的存储器以处理该命令。
2. 根据权利要求1的方法,其特征在于,第一计算装置和第二计算装置为产生命令的主机提供冗余。
3. 根据权利要求1的方法,其特征在于,由第二适配器处理命令还包括:
执行对第一计算装置中的存储器的直接存储器访问,以执行命令;
将完成通知发送到第二计算装置,以转发到第一计算装置;以及
将指示命令执行完成的命令状态字写入到第一计算装置的存储器。
4. 根据权利要求3的方法,其特征在于,第一计算装置在命令状态字被写入到第一计算装置的存储器之前接收来自第二计算装置的完成通知。
5. 根据权利要求4的方法,其特征在于,第二适配器和第一计算装置之间的第一路径长度与第二计算装置和第一计算装置之间的第二路径长度不同。
6. 根据权利要求3的方法,其特征在于,第一计算装置基于完成通知和指示完成的命令状态字二者的接收确定已经执行命令。
7. 根据权利要求1的方法,其特征在于,第一适配器和第二适配器都能够执行对第一计算装置的存储器和第二计算装置的存储器的直接存储器访问操作,并且其中在第一计算装置的第一适配器出现故障时,第二适配器经由直接存储器访问操作来访问第一计算装置的存储器。
8. 根据权利要求1的方法,还包括:
由第二适配器响应对命令的处理而产生结果;
将该结果传送给第一计算装置;以及
由第一计算装置将该结果发送到第一计算装置从其上接收命令的主机。
9. 根据权利要求1的方法,还包括:
由第一计算装置产生用于执行命令的数据和控制信息;
将数据和控制信息存储在第一计算装置的存储器中;以及
由第二适配器经由对该存储器的直接存储器访问来访问所存储的数据和所存储的控制信息。
10. 根据权利要求1的方法,其特征在于,即使第一适配器已经出故障,命令的发送方也能够使用第一计算装置和第二计算装置二者来发起对命令的执行。
11. 根据权利要求1的方法,其特征在于,第二适配器处理命令的结果等价于当前已经出故障的第一适配器处理命令的结果。
12. 一种系统,包括:
数据存储装置;
具有存储器的第一计算装置;
连接到第一计算装置的第一适配器,其中第一适配器能够允许第一计算装置访问数据存储装置;
第二计算装置;
连接到第二计算装置的第二适配器,该第二适配器允许第二计算装置访问数据存储装置,其中第一计算装置能够在第一计算装置的第一适配器出现故障时接收命令、发送该命令到第二计算装置,并且由第二适配器通过访问在第一计算装置中的存储器来处理该命令。
13. 根据权利要求12的系统,其特征在于,第一计算装置和第二计算装置为产生命令的主机提供冗余。
14. 根据权利要求12的系统,其特征在于,由第二适配器处理命令还包括:
执行对第一计算装置中的存储器的直接存储器访问,以执行命令;
将完成通知发送到第二计算装置,以转发到第一计算装置;以及
将指示命令执行完成的命令状态字写入到第一计算装置的存储器。
15. 根据权利要求14的系统,其特征在于,第一计算装置在命令状态字被写入到第一计算装置的存储器之前接收来自第二计算装置的完成通知。
16. 根据权利要求15的系统,其特征在于,第二适配器和第一计算装置之间的第一路径长度与第二计算装置和第一计算装置之间的第二路径长度不同。
17. 根据权利要求14的系统,其特征在于,第一计算装置基于完成通知和指示完成的命令状态字二者的接收确定已经执行命令。
18. 根据权利要求12的系统,其特征在于,第一适配器和第二适配器都能够执行对第一计算装置的存储器和第二计算装置的存储器的直接存储器访问操作,并且其中在第一计算装置的第一适配器出现故障时,第二适配器经由直接存储器访问操作来访问第一计算装置的存储器。
19. 根据权利要求12的系统,其特征在于,第二适配器响应对命令的处理而产生结果,其中该结果被传送给第一计算装置,并且其中第一计算装置将该结果发送到第一计算装置从其上接收命令的主机。
20. 根据权利要求12的系统,其特征在于,第一计算装置产生用于执行命令的数据和控制信息,其中数据和控制信息被存储在第一计算装置的存储器中,并且其中第二适配器经由对第一计算装置的存储器的直接存储器访问来访问所存储的数据和所存储的控制信息。
21. 根据权利要求12的系统,其特征在于,即使第一适配器已经出故障,命令的发送方也能够使用第一计算装置和第二计算装置二者来发起对命令的执行。
22. 根据权利要求12的系统,其特征在于,第二适配器处理命令的结果等价于当前已经出故障的第一适配器处理命令的结果。
CNB2005100884075A 2004-11-16 2005-07-26 用于从数据存储系统的故障中恢复的方法和系统 Expired - Fee Related CN100421084C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/991,110 US7568121B2 (en) 2004-11-16 2004-11-16 Recovery from failure in data storage systems
US10/991,110 2004-11-16

Publications (2)

Publication Number Publication Date
CN1776642A CN1776642A (zh) 2006-05-24
CN100421084C true CN100421084C (zh) 2008-09-24

Family

ID=36387798

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100884075A Expired - Fee Related CN100421084C (zh) 2004-11-16 2005-07-26 用于从数据存储系统的故障中恢复的方法和系统

Country Status (3)

Country Link
US (1) US7568121B2 (zh)
CN (1) CN100421084C (zh)
TW (1) TW200634522A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788530B2 (en) * 2007-06-27 2010-08-31 International Business Machines Corporation Storage server configuration despite an out-of-service storage adapter
CN104424048A (zh) * 2013-08-29 2015-03-18 国际商业机器公司 用于数据存储的方法和装置
US9152513B2 (en) 2014-01-21 2015-10-06 Netapp, Inc. In-band recovery mechanism for I/O modules in a data storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1081005A (zh) * 1992-05-12 1994-01-19 国际商业机器公司 用于构成冗余磁盘存贮系统的适配器
US5668943A (en) * 1994-10-31 1997-09-16 International Business Machines Corporation Virtual shared disks with application transparent recovery
JP2002063126A (ja) * 2000-08-18 2002-02-28 Fujitsu Ltd マルチパス計算機システム
US6760859B1 (en) * 2000-05-23 2004-07-06 International Business Machines Corporation Fault tolerant local area network connectivity

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
US5948108A (en) * 1997-06-12 1999-09-07 Tandem Computers, Incorporated Method and system for providing fault tolerant access between clients and a server
US6594712B1 (en) * 2000-10-20 2003-07-15 Banderacom, Inc. Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link
US20030105931A1 (en) * 2001-11-30 2003-06-05 Weber Bret S. Architecture for transparent mirroring
US7293196B2 (en) * 2002-05-08 2007-11-06 Xiotech Corporation Method, apparatus, and system for preserving cache data of redundant storage controllers
US7194662B2 (en) * 2003-02-28 2007-03-20 International Business Machines Corporation Method, apparatus and program storage device for providing data path optimization
US7676600B2 (en) * 2003-04-23 2010-03-09 Dot Hill Systems Corporation Network, storage appliance, and method for externalizing an internal I/O link between a server and a storage controller integrated within the storage appliance chassis
US7099995B2 (en) * 2004-02-17 2006-08-29 International Business Machines Corporation Metadata access during error handling routines
US8023417B2 (en) * 2004-08-30 2011-09-20 International Business Machines Corporation Failover mechanisms in RDMA operations
US7401260B2 (en) * 2005-01-28 2008-07-15 International Business Machines Corporation Apparatus, system, and method for performing storage device maintenance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1081005A (zh) * 1992-05-12 1994-01-19 国际商业机器公司 用于构成冗余磁盘存贮系统的适配器
US5668943A (en) * 1994-10-31 1997-09-16 International Business Machines Corporation Virtual shared disks with application transparent recovery
US6760859B1 (en) * 2000-05-23 2004-07-06 International Business Machines Corporation Fault tolerant local area network connectivity
JP2002063126A (ja) * 2000-08-18 2002-02-28 Fujitsu Ltd マルチパス計算機システム

Also Published As

Publication number Publication date
TW200634522A (en) 2006-10-01
US7568121B2 (en) 2009-07-28
US20060107004A1 (en) 2006-05-18
CN1776642A (zh) 2006-05-24

Similar Documents

Publication Publication Date Title
CN100378679C (zh) 用于存储器访问请求的重定向的方法和系统
CN103885895B (zh) 容错集群存储系统中的写入性能
US7404057B2 (en) System and method for enhancing read performance of a memory storage system including fully buffered dual in-line memory modules
US7380074B2 (en) Selecting storage clusters to use to access storage
US6757790B2 (en) Distributed, scalable data storage facility with cache memory
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
CN100380334C (zh) 启用远程直接存储器存取的网络接口控制器切换方法
US8751716B2 (en) Adaptive data throttling for storage controllers
US5944838A (en) Method for fast queue restart after redundant I/O path failover
CN106463179B (zh) 利用存储器控制器处理数据错误事件的方法、装置和系统
US8819478B1 (en) Auto-adapting multi-tier cache
KR20180105675A (ko) 데이터 동기화 방법, 장치, 및 시스템
US7107343B2 (en) Method and apparatus for improved RAID 1 write performance in low cost systems
US10114582B1 (en) Dynamically selecting between sync and async replication modes
WO2007057396A2 (en) Selecting a path comprising ports on primary and secondary clusters to use to transmit data at a primary volume to a secondary volume
CN100421084C (zh) 用于从数据存储系统的故障中恢复的方法和系统
US20050039090A1 (en) Non-volatile memory with network fail-over
US20160057222A1 (en) Replica server systems and methods
US7418633B1 (en) Method and apparatus for immunizing applications on a host server from failover processing within a switch
US10838646B2 (en) Method and apparatus for presearching stored data
CN100405333C (zh) 用于处理多处理器系统中的存储器访问的方法和装置
US7200716B1 (en) Method and apparatus to offload operations in a networked storage system
US11340967B2 (en) High availability events in a layered architecture
US9292562B2 (en) Scatter-gather list usage for a configuration database retrieve and restore function and database blocking and configuration changes during a database restore process
US20120017116A1 (en) Memory control device, memory device, and memory control method

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

Granted publication date: 20080924

Termination date: 20200726

CF01 Termination of patent right due to non-payment of annual fee