專利名稱:用于從數據存儲系統的故障中恢復的方法和系統的制作方法
技術領域:
本公開涉及用于從數據存儲系統中的適配器故障中恢復的方法、系統、以及產品。
背景技術:
在某些數據存儲環境中,多個服務器可以提供對存儲裝置的訪問,其中經由適配器將每個服務器連接到存儲裝置。例如,在雙服務器數據存儲環境中,兩個服務器中的每一個都可以具有提供對共享存儲裝置的盤驅動器的訪問的適配器。第一服務器可以控制第一適配器以訪問盤驅動器,而第二服務器可以控制第二適配器以訪問盤驅動器。數據存儲環境通過允許主系統經過兩個服務器中的任一個或兩者訪問存儲在盤驅動器中的數據而提供了冗余。
在適配器出現故障的情況下,控制適配器的服務器可以就不能訪問盤驅動器。例如,在第一適配器出現故障的情況下,第一服務器可以失去對盤驅動器的訪問。數據存儲環境提供的冗余可以允許主系統通過使用第二服務器來訪問盤驅動器,其中第二服務器使用第二適配器來訪問盤驅動器并處理來自主機的命令。然而,可以直到第一適配器再次運轉才使用第一服務器。
發明內容
提供了一種方法、系統和產品,其中在第一計算裝置上接收命令,該第一計算裝置連接到能夠允許第一計算裝置訪問數據存儲裝置的第一適配器。第一計算裝置發送命令到第二計算裝置。由連接到第二計算裝置的第二適配器處理該命令,其中第二適配器允許第二計算裝置訪問數據存儲裝置,并且其中第二適配器訪問第一計算裝置中的存儲器以處理命令。在特定實施例中,允許第一計算裝置訪問數據存儲裝置的第一適配器已經出故障。
在另一個實施例中,第一計算裝置和第二計算裝置為產生命令的主機提供冗余。
在另一個實施例中,由第二適配器處理命令還包括執行對第一計算裝置中的存儲器的直接存儲器訪問,以執行命令。將完成通知發送到第二計算裝置,以轉發到第一計算裝置。將命令狀態字寫入到第一計算裝置的存儲器,以指示命令執行的完成。
在另一個實施例中,第一計算裝置在命令狀態字被寫入到第一計算裝置的存儲器之前接收來自第二計算裝置的完成通知。
在另一個實施例中,第二適配器和第一計算裝置之間的第一路徑長度與第二計算裝置和第一計算裝置之間的第二路徑長度不同。
在另一個實施例中,第一計算裝置基于完成通知和指示完成的命令狀態字二者的接收確定已經執行命令。
在另一個實施例中,第一和第二適配器能夠執行對第一計算裝置的存儲器和第二計算裝置的存儲器的直接存儲器訪問操作,其中第二適配器經由直接存儲器訪問操作來訪問第一計算裝置的存儲器。
在另一個實施例中,第二適配器響應對命令的處理而產生結果,并將該結果傳送給第一計算裝置。第一計算裝置將該結果發送到第一計算裝置從其上接收命令的主機。
在另一個實施例中,第一計算裝置產生用于執行命令的數據和控制信息。將數據和控制信息存儲在第一計算裝置的存儲器中。由第二適配器經由對存儲器的直接存儲器訪問來訪問所存儲的數據和所存儲的控制信息。
在另一個實施例中,即使第一適配器已經出故障,命令的發送方也能夠使用第一計算裝置和第二計算裝置二者來發起對命令的執行。
在另一個實施例中,第二適配器處理命令的結果等價于當前已經出故障的第一適配器處理命令的結果。
現在參考附圖,其中相同的附圖標記始終表示對應部分圖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包括存儲器104,第二服務器包括存儲器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的指示完成的命令狀態字,就可以得出已經處理來自主機118的命令的結論。在某些替換實施例中,僅在來自第二適配器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中示出或提到的數據結構和組件描述為具有特有類型的信息。在替換實施例中,與在圖中示出或提到的數據結構和組件相比較,這些數據結構和組件可以被不同地構造,并具有更少、更多或不同領域或不同功能。
因此,為了說明和描述的目的,陳述了對實施例的以上描述。不期望窮舉實施例或將實施例限制到所公開的精確形式。按照上面的講述內容,可以有許多修改和變更。
權利要求
1.一種方法,包括在第一計算裝置上接收命令,該第一計算裝置連接到能夠允許第一計算裝置訪問數據存儲裝置的第一適配器;由第一計算裝置發送命令到第二計算裝置;以及由連接到第二計算裝置的第二適配器處理該命令,其中第二適配器允許第二計算裝置訪問數據存儲裝置,并且其中第二適配器訪問第一計算裝置中的存儲器以處理命令。
2.根據權利要求1的方法,其特征在于,允許第一計算裝置訪問數據存儲裝置的第一適配器已經出故障。
3.根據權利要求2的方法,其特征在于,第一計算裝置和第二計算裝置為產生命令的主機提供冗余。
4.根據權利要求2的方法,其特征在于,由第二適配器處理命令還包括執行對第一計算裝置中的存儲器的直接存儲器訪問,以執行命令;將完成通知發送到第二計算裝置,以轉發到第一計算裝置;以及將指示命令執行完成的命令狀態字寫入到第一計算裝置的存儲器。
5.根據權利要求4的方法,其特征在于,第一計算裝置在命令狀態字被寫入到第一計算裝置的存儲器之前接收來自第二計算裝置的完成通知。
6.根據權利要求5的方法,其特征在于,第二適配器和第一計算裝置之間的第一路徑長度與第二計算裝置和第一計算裝置之間的第二路徑長度不同。
7.根據權利要求4的方法,其特征在于,第一計算裝置基于完成通知和指示完成的命令狀態字二者的接收確定已經執行命令。
8.根據權利要求2的方法,其特征在于,第一和第二適配器能夠執行對第一計算裝置的存儲器和第二計算裝置的存儲器的直接存儲器訪問操作,并且其中第二適配器經由直接存儲器訪問操作來訪問第一計算裝置的存儲器。
9.根據權利要求2的方法,還包括由第二適配器響應對命令的處理而產生結果;將該結果傳送給第一計算裝置;以及由第一計算裝置將該結果發送到第一計算裝置從其上接收命令的主機。
10.根據權利要求2的方法,還包括由第一計算裝置產生用于執行命令的數據和控制信息;將數據和控制信息存儲在第一計算裝置的存儲器中;以及由第二適配器經由對該存儲器的直接存儲器訪問來訪問所存儲的數據和所存儲的控制信息。
11.根據權利要求2的方法,其特征在于,即使第一適配器已經出故障,命令的發送方也能夠使用第一計算裝置和第二計算裝置二者來發起對命令的執行。
12.根據權利要求2的方法,其特征在于,第二適配器處理命令的結果等價于當前已經出故障的第一適配器處理命令的結果。
13.一種系統,包括數據存儲裝置;具有存儲器的第一計算裝置;連接到第一計算裝置的第一適配器,其中第一適配器能夠允許第一計算裝置訪問數據存儲裝置;第二計算裝置;連接到第二計算裝置的第二適配器,其中第二適配器允許第二計算裝置訪問數據存儲裝置,其中第一計算裝置接收命令,其中第一計算裝置發送命令到第二計算裝置,并且其中第二適配器通過訪問在第一計算裝置中的存儲器來處理命令。
14.根據權利要求13的系統,其特征在于,允許第一計算裝置訪問數據存儲裝置的第一適配器已經出故障。
15.根據權利要求14的系統,其特征在于,第一計算裝置和第二計算裝置為產生命令的主機提供冗余。
16.根據權利要求14的系統,其特征在于,由第二適配器處理命令還包括執行對第一計算裝置中的存儲器的直接存儲器訪問,以執行命令;將完成通知發送到第二計算裝置,以轉發到第一計算裝置;以及將指示命令執行完成的命令狀態字寫入到第一計算裝置的存儲器。
17.根據權利要求16的系統,其特征在于,第一計算裝置在命令狀態字被寫入到第一計算裝置的存儲器之前接收來自第二計算裝置的完成通知。
18.根據權利要求17的系統,其特征在于,第二適配器和第一計算裝置之間的第一路徑長度與第二計算裝置和第一計算裝置之間的第二路徑長度不同。
19.根據權利要求16的系統,其特征在于,第一計算裝置基于完成通知和指示完成的命令狀態字二者的接收確定已經執行命令。
20.根據權利要求14的系統,其特征在于,第一和第二適配器能夠執行對第一計算裝置的存儲器和第二計算裝置的存儲器的直接存儲器訪問操作,并且其中第二適配器經由直接存儲器訪問操作來訪問第一計算裝置的存儲器。
21.根據權利要求14的系統,其特征在于,第二適配器響應對命令的處理而產生結果,其中該結果被傳送給第一計算裝置,并且其中第一計算裝置將該結果發送到第一計算裝置從其上接收命令的主機。
22.根據權利要求14的系統,其特征在于,第一計算裝置產生用于執行命令的數據和控制信息,其中數據和控制信息被存儲在第一計算裝置的存儲器中,并且其中第二適配器經由對第一計算裝置的存儲器的直接存儲器訪問來訪問所存儲的數據和所存儲的控制信息。
23.根據權利要求14的系統,其特征在于,即使第一適配器已經出故障,命令的發送方也能夠使用第一計算裝置和第二計算裝置二者來發起對命令的執行。
24.根據權利要求14的系統,其特征在于,第二適配器處理命令的結果等價于當前已經出故障的第一適配器處理命令的結果。
25.一種產品,其中該產品能夠引起操作,該操作包括在第一計算裝置上接收命令,該第一計算裝置連接到能夠允許第一計算裝置訪問數據存儲裝置的第一適配器;由第一計算裝置發送命令到第二計算裝置;以及由連接到第二計算裝置的第二適配器處理該命令,其中第二適配器允許第二計算裝置訪問數據存儲裝置,并且其中第二適配器訪問第一計算裝置中的存儲器以處理命令。
26.根據權利要求25的產品,其特征在于,允許第一計算裝置訪問數據存儲裝置的第一適配器已經出故障。
27.根據權利要求26的產品,其特征在于,第一計算裝置和第二計算裝置為產生命令的主機提供冗余。
28.根據權利要求26的產品,其特征在于,由第二適配器處理命令還包括執行對第一計算裝置中的存儲器的直接存儲器訪問,以執行命令;將完成通知發送到第二計算裝置,以轉發到第一計算裝置;以及將指示命令執行完成的命令狀態字寫入到第一計算裝置的存儲器。
29.根據權利要求28的產品,其特征在于,第一計算裝置在命令狀態字被寫入到第一計算裝置的存儲器之前接收來自第二計算裝置的完成通知。
30.根據權利要求29的產品,其特征在于,第二適配器和第一計算裝置之間的第一路徑長度與第二計算裝置和第一計算裝置之間的第二路徑長度不同。
31.根據權利要求28的產品,其特征在于,第一計算裝置基于完成通知和指示完成的命令狀態字二者的接收確定已經執行命令。
32.根據權利要求26的產品,其特征在于,第一和第二適配器能夠執行對第一計算裝置的存儲器和第二計算裝置的存儲器的直接存儲器訪問操作,并且其中第二適配器經由直接存儲器訪問操作來訪問第一計算裝置的存儲器。
33.根據權利要求26的產品,該操作還包括由第二適配器響應對命令的處理而產生結果;將該結果傳送給第一計算裝置;以及由第一計算裝置將該結果發送到第一計算裝置從其上接收命令的主機。
34.根據權利要求26的產品,該操作還包括由第一計算裝置產生用于執行命令的數據和控制信息;將數據和控制信息存儲在第一計算裝置的存儲器中;以及由第二適配器經由對存儲器的直接存儲器訪問來訪問所存儲的數據和所存儲的控制信息。
35.根據權利要求26的產品,其特征在于,即使第一適配器已經出故障,命令的發送方也能夠使用第一計算裝置和第二計算裝置二者來發起對命令的執行。
36.根據權利要求26的產品,其特征在于,第二適配器處理命令的結果等價于當前已經出故障的第一適配器處理命令的結果。
37.一種用于配置計算基礎設施的方法,包括將計算機可讀代碼集成到計算系統,其特征在于,與計算系統結合的代碼能夠執行在第一計算裝置上接收命令,該第一計算裝置連接到能夠允許第一計算裝置訪問數據存儲裝置的第一適配器;由第一計算裝置發送命令到第二計算裝置;以及由連接到第二計算裝置的第二適配器處理該命令,其中第二適配器允許第二計算裝置訪問數據存儲裝置,并且其中第二適配器訪問第一計算裝置中的存儲器以處理命令。
38.根據權利要求37的方法,其特征在于,允許第一計算裝置訪問數據存儲裝置的第一適配器已經出故障。
39.根據權利要求38的方法,其特征在于,由第二適配器處理命令還包括執行對第一計算裝置中的存儲器的直接存儲器訪問,以執行命令;將完成通知發送到第二計算裝置,以轉發到第一計算裝置;以及將指示命令執行完成的命令狀態字寫入到第一計算裝置的存儲器。
40.根據權利要求39的方法,其特征在于,第一計算裝置在命令狀態字被寫入到第一計算裝置的存儲器之前接收來自第二計算裝置的完成通知,并且其中第二適配器和第一計算裝置之間的第一路徑長度與第二計算裝置和第一計算裝置之間的第二路徑長度不同。
全文摘要
提供了一種方法、系統和產品,其中在第一計算裝置上接收命令,該第一計算裝置連接到能夠允許第一計算裝置訪問數據存儲裝置的第一適配器。第一計算裝置發送命令到第二計算裝置。由連接到第二計算裝置的第二適配器處理該命令,其中第二適配器允許第二計算裝置訪問數據存儲裝置,并且其中第二適配器訪問第一計算裝置中的存儲器以處理命令。在特定實施例中,允許第一計算裝置訪問數據存儲裝置的第一適配器已經出故障。
文檔編號G06F11/20GK1776642SQ20051008840
公開日2006年5月24日 申請日期2005年7月26日 優先權日2004年11月16日
發明者邁克爾·T·本哈斯, 馬修·J·卡洛斯, 卡爾·A·尼爾森, 宋正中 申請人:國際商業機器公司