利用順序存取數據存儲設備輔助通信埠重新傳輸輸入/輸出操作的方法和設備的製作方法
2023-04-24 20:08:41 1
專利名稱:利用順序存取數據存儲設備輔助通信埠重新傳輸輸入/輸出操作的方法和設備的製作方法
技術領域:
一般而言,本發明的實施例涉及數據存儲和管理,具體來說,涉及利用順序存取數據存儲設備的輔助通信埠重新傳輸輸入/輸出(I/O)操作的方法、系統以及設備。
背景技術:
隨著數據處理系統的使用變得越來越普通,用於存儲和管理由這樣的數據處理系統產生的數據的技術已經得到發展。用於存儲這樣的數據,提供對這樣的數據的存取,以及處理這樣的數據的一種機制是數據存儲子系統。數據存儲子系統包括數據存儲控制器和/或主機總線適配器、數據存儲設備,以及用於向一個或多個數據處理系統提供數據存儲服務的任何所需的控制軟體的集成的集合。數據存儲子系統可以簡單,也可以複雜,或大或小(就物理結構和/或數據存儲容量而言),從單一數據存儲設備,到智能存儲陣列,再到存儲區域網絡或其存儲域。常規數據存儲設備包括機器可讀介質(例如,固定磁碟、CD/DVD-ROM、磁帶、固態存儲器等等),可以是固定的、可移動的、磁性、光學、隨機/直接存取,和/或順序存取以及用於存取這樣的介質的介質裝載器和機器人。
在順序存取數據存儲設備(例如,磁帶數據存儲驅動器)中,數據的組織以及I/O操作的執行都是以順序的方式進行的。換句話說,單個I/O操作(例如,讀取和寫入操作)這樣執行使得數據被按照接收它的順序連續地寫入,並按照它在關聯的順序存取數據存儲介質內的存儲順序連續地讀取,並且設備存取的進行使得I/O操作串行地執行。在許多順序存取數據存儲設備中,通過諸如小型計算機系統接口(SCSI)或光纖通道(FC)埠之類的單半雙工通信埠提供數據存取。雖然最近提供了具有另外的通信埠的順序存取數據存儲設備,但是,到目前為止,另外的埠被嚴格用於故障轉移/冗餘,或者相反提供順序的和串行數據存取。
隨著開發出了數據存儲子系統,最初由主機數據處理系統(例如,伺服器)管理或執行的越來越多的功能被轉移到數據存儲設備和存儲子系統基礎架構中。此功能轉移的一個示例是使用「無伺服器」備份。
在無伺服器備份中,使用了諸如由Storage Network IndustryAssociation(SNIA)提供的Third Party Copy Protocol之類的現有過程或協議或如Information Technology-SCSI Primary Commands-4(SPC-4),Working Draft,Revision 02,T10,a Technical Committeeof the Accredited Standards Committee of the National Committee forInformation Technology Standards(NCITS),September 15,2005所描述的Extended Copy(X Copy)Command來將數據從第一數據存儲設備複製或「備份」到第二數據存儲設備,無需使用伺服器數據處理系統來進行數據傳輸。通常,使用SAN重新分發節點(例如,FC交換機)或智能存儲設備(例如,磁碟存儲器陣列、磁帶數據存儲驅動器、磁帶庫等等)來執行無伺服器備份。
由於它們的數據存儲結構和存取機制,,就可以通過「讀取」或「寫入」型輸入/輸出(I/O)操作存取存儲在常規順序存取數據存儲設備中的數據的速率,以及可以執行諸如無伺服器備份之類的比較複雜的數據存儲和管理操作的速率而言,與其他數據存儲設備類型(例如,固定磁碟、直接存取存儲設備)相比相對來說比較慢。
發明內容
本發明提供了利用順序存取數據存儲設備的輔助通信埠重新傳輸輸入/輸出(I/O)操作的方法、系統以及設備。根據本發明的一個實施例,提供了一種方法,該方法包括通過主數據存儲設備的第一通信埠接收輸入/輸出(I/O)操作請求,利用主數據存儲設備處理I/O操作請求,以及通過主數據存儲設備的第二通信埠基本上與處理同時向輔助數據存儲設備重新傳輸I/O操作請求。在所描述的實施例中,主數據存儲設備包括順序存取數據存儲設備。
前面的內容是小結,因此,根據需要,包含的內容是對細節的簡述、概括和省略;因此,那些精通相關技術的人將理解,小結只說明性的,不以任何方式作出限制。對那些本領域技術人員顯而易見的,這裡所說明的操作可以以許多方式實現、包括以硬體、軟體或其組合實施,在不偏離本發明以及其廣泛的方面,可以作出這樣的更改和修改。在下面闡述的非限制性詳細描述中,只由權利要求定義的本發明的其他方面、發明的功能以及優點將變得顯而易見。
通過參考附圖,可以更好地理解本發明,其很多功能和優點對於那些本領域技術人員將變得顯而易見,其中圖1顯示了根據本發明的實施例的包括順序存取數據存儲設備的企業的高級別的方框圖表示形式;圖2顯示了根據本發明的實施例的順序存取數據存儲設備的方框圖表示形式;圖3(包括圖3A和3B)顯示了根據本發明的實施例的執行主機控制的I/O操作複製的過程的流程圖;圖4顯示了根據本發明的實施例的利用直接存取存儲器設備緩衝區的對順序存取存儲設備執行寫入操作的過程的流程圖;以及圖5顯示了根據本發明的實施例的利用直接存取存儲器設備緩衝區的從順序存取存儲設備執行讀取操作的過程的流程圖。
在附圖內相同的或類似附圖標記表示類似的或相同的項目。
具體實施例方式
下面闡明了用於實現這裡所描述的一個或多個系統、設備和/或過程的至少最佳的預期模式的詳細描述。描述只是說明性的,不應該被理解為限制性的。
在下面的詳細描述中,闡述了諸如特定方法順序、結構、元素以及連接之類的很多具體細節。然而,應該理解,這些及其他具體細節不必被利用來實施本發明的實施例。在其他情況下,省略了已知的結構、元素或連接,或者沒有特別詳細描述,以便避免對本說明造成不必要的模糊認識。
在本說明書中,對「一個實施例」、「實施例」的引用表示,在本發明的至少一個實施例中包括與實施例一起描述的特定功能、結構或特徵。在本說明書中的不同位置出現這樣的短語不一定都是指同一個實施例,也不是指與其他實施例互相排斥的單獨的或備選實施例。此外,還描述了某些實施例可以表現出的,而其它實施例沒用表現的不同的特徵。類似地,還描述了可能是某些實施例的要求,但不是其他實施例的要求的各種要求。
本發明的實施例提供了利用順序存取數據存儲設備的輔助通信埠執行重新傳輸或複製輸入/輸出(I/O)操作的方法、系統以及設備。如SCSI(FCP)體系結構的SCSI和光纖通道協議中所說明的,通信埠(例如,FC或SCSI埠)在數據傳輸操作中可以承擔目標或者始發端的角色。例如,當執行無伺服器備份過程時,SCSI XCopy命令從主始發端埠(例如,伺服器數據處理系統的)傳輸到主要目標埠(例如,磁帶數據存儲驅動器),這會在主要目標埠和輔助目標埠(例如,磁碟存儲器陣列的)之間建立和啟用傳輸數據序列。一旦啟用,主要目標埠充當臨時始發端,以向輔助目標埠發送命令,並管理X Copy操作和關聯的數據傳輸。一旦完成,主要目標埠恢復目標的角色,並向主始發端埠返回狀態數據。本發明的實施例在基本上與由數據存儲設備正在接收和處理I/O操作的同時,通過數據存儲設備的一個或多個輔助通信埠,利用類似於就X Copy操作描述的體系結構的體系結構,以擴展數據存儲和管理(例如,執行I/O操作的請求),從而實現了高級操作和/或改善的性能。
本發明的實施例提供了這樣的環境,隨著在數據存儲設備的主要目標埠從主始發端埠接收執行I/O操作的請求,利用數據存儲設備的輔助通信埠作為向/從另一個以通信方式連接的設備(例如,在SAN)重新傳輸I/O操作請求的始發端。向其中重新傳輸I/O操作請求的其他(輔助目標)設備可以包括順序存取或直接存取數據存儲設備(例如,磁帶數據存儲設備、磁碟數據存儲設備等等)。
圖1顯示了根據本發明的實施例的包括順序存取數據存儲設備的企業的高級別的方框圖表示形式。圖1的企業100包括許多主機數據處理系統(例如,伺服器數據處理系統102和關聯的客戶端數據處理系統104),它們通過如圖所示的第一網絡互連(例如,區域網或「LAN」互連106)以連接在一起以便可以進行通信。所描述的實施例的伺服器數據處理系統102進一步連接到包括許多數據存儲設備和第二網絡互連(例如,存儲區域網絡或「SAN」互連114)的存儲子系統108。
在圖1的示範性實施例中,存儲子系統108包括第一順序存取數據存儲設備(磁帶數據存儲設備110A)、第二順序存取數據存儲設備(磁帶數據存儲設備110B),以及直接存取數據存儲設備(磁碟存儲器陣列112),這些存儲設備通過諸如FC交換機、交換機布線、仲裁循環等等之類的存儲器互連(SAN互連114)以通信方式連接在一起,並以通信方式連接到伺服器數據處理系統102。圖1的實施例的伺服器數據處理系統102A包括應用程式伺服器(例如,資料庫伺服器),以向一個或多個客戶端數據處理系統104A-104N(其中,「N」是正整數)提供核心操作功能,伺服器數據處理系統102B還包括另一個伺服器(例如,群集故障轉移伺服器、負載平衡伺服器、備份伺服器等等)。
所描述的實施例的磁帶數據存儲設備110A通過如圖所示的第一通信鏈路116A和第二通信鏈路116B連接到SAN互連114。每一個通信鏈路都可以包括能夠在SAN互連114和磁帶數據存儲設備110A的通信埠之間傳輸一個或多個電的、光學和/或聲音傳播的信號的許多通信介質(例如,銅線、光纖電纜等等)中的任何一種。
在所說明的實施例中,通過第一通信鏈路116A在磁帶數據存儲設備110A的第一通信埠(例如,諸如FC或SCSI埠之類的物理接口或其抽象)接收到的I/O操作被磁帶數據存儲設備110A處理,並通過第二通信鏈路116B基本上同時地重新傳輸到另一個存儲設備(例如,磁帶數據存儲設備110B和/或磁碟存儲器陣列112)或主機數據處理系統(例如,伺服器數據處理系統102A),本文將進行比較詳細的描述。
儘管在圖1的實施例中特別描述了常規的SAN型互連(SAN互連114),但是,在本發明的備選實施例中,也可以利用其他互連(例如,直接連接、區域網、城域網和/或廣域網)及其他協議(例如,FICON、ESCON、SSA等等)。此外,儘管關於圖1的企業100說明了特定數量的元件和布局,但是,應該理解,本發明的實施例不僅限於具有這裡明確地列舉的之外的任何特定數量、類型或組件的布局的企業、系統或數據存儲設備,因此,可以包含各式各樣的系統類型、體系結構和構成因數。
圖2顯示了根據本發明的實施例的順序存取數據存儲設備(具體來說,磁帶數據存儲設備200)的方框圖表示形式。在所描述的實施例中,磁帶數據存儲設備200包括可移動數據存儲磁帶盒202和通信信道接口(例如,通信埠接口206),以將磁帶數據存儲設備200通過一個或多個包括的通信埠204A和204B以通信方式連接到一個或多個主機數據處理系統或關聯的通信信道(例如,SAN互連114)。
在圖2的實施例中,通信埠接口206被配置為通過通信埠204A接收輸入/輸出(I/O)操作請求(例如,「讀取」或「寫入」請求),並基本上同時處理接收到的I/O操作請求和通過通信埠204B將I/O操作請求重新傳輸到另一個數據存儲設備。
所顯示的實施例的數據存儲磁帶盒202包括磁帶數據存儲介質208(例如,磁帶),該介質利用如圖所示的介質輸送捲軸212和214和一個或多個介質輸送電機216在磁帶存取(例如,讀取/寫入)磁頭210的附件走動。在所顯示的實施例中,磁帶存取磁頭210被配置為從磁帶數據存儲介質208中讀取數據,並將數據寫入磁帶數據存儲介質208中,將這樣的數據臨時存儲或「升級(stage)」在緩衝區218(例如,一個或多個「預讀」或登臺緩衝區)中。
在圖2的實施例中,磁帶數據存儲設備200進一步包括控制器或控制單元220。控制單元220通過向通信埠接口206、緩衝區218和/或介質輸送電機216中的一個或多個發出的控制信號來控制和管理數據流、格式化以及數據存儲子系統操作,以便使本發明的一個或多個方法或過程實施例或其操作得以執行。在另一個實施例中,這樣的控制功能可以集成到通信埠接口206、控制單元220以及通信埠204中的一個或多個中。
在本發明的一個實施例中,利用主要目標順序存取數據存儲設備的輔助通信埠,I/O操作(例如,寫入操作)被從主要目標順序存取數據存儲設備重新傳輸到輔助目標順序存取數據存儲設備。在所描述的實施例中,輔助目標順序存取數據存儲設備可以在物理上遠離主要目標順序存取數據存儲設備,只要兩個目標順序存取數據存儲設備以通信方式連接到網絡互連(例如,圖1的SAN互連)。
通過利用這樣的方法,在輔助目標順序存取數據存儲設備中同時生成正在被寫入到主要目標順序存取數據存儲設備的數據的輔助(雙工)副本。這樣的對I/O操作的複製可以以主機數據處理系統控制的或者主機數據處理系統透明的方式來執行。圖3(包括圖3A和3B)顯示了根據本發明的實施例的執行主機控制的I/O操作複製的過程的流程圖。
在圖3A的實施例中,顯示了根據本發明的實施例的用於執行主機控制的I/O複製的主機數據處理系統操作過程的流程圖。在所顯示的過程實施例中,主要目標順序存取數據存儲設備(例如,由主機數據處理系統主始發端)預留、安裝並配置(處理方框302)。
在常規存儲子系統中,每一個主要目標數據存儲設備的默認設備都使得所有通信埠提供對一個共同的邏輯單元(即,單一目標)的存取。相比之下,在圖3A的實施例中,提供了配置機制,以獨立地預留輔助通信埠,並允許它執行第三方操作,如這裡所描述的。在一個實施例中,利用軟體通過SCSI「Reserve」命令的擴展實現了這樣的配置機制,以便與它們的關聯的設備(例如,LUN)分離地預留一個或多個通信埠。在其他實施例中,可以利用軟體操縱設備至關重要的產品數據(VPD)或通過對設備操作員面板控制項的直接或自動化的操縱,來實現這樣的配置。
在本發明的不同的實施例中可以靜態地或動態地執行設備配置。在實現了動態配置的情況下,最初被配置為重新傳輸接收到的I/O操作請求的埠隨後可以重新被配置為執行常規(例如,故障轉移)功能。作為所描述的預留、安裝,以及配置的一部分,實現了定向到主要目標存儲設備的I/O操作的自動「鏡像」或重新傳輸。在本發明的一個或多個實施例中,通過為整個安裝或在較低粒度級別(例如,作為每一個I/O操作命令中的參數嵌入)激活的機制(例如,ModeSelect參數)提供這樣的功能,允許有選擇性的I/O操作複製,以便只有某些I/O操作寫入數據被鏡像到輔助目標。
此後,在所顯示的過程實施例中,輔助目標順序存取數據存儲設備(例如,由主機數據處理系統主始發端)預留、安裝並配置(處理方框304)。儘管在圖3A中所描述的主要目標順序存取數據存儲設備和輔助目標順序存取數據存儲設備的預留、安裝以及配置是串行地發生的,但是,在本發明的備選實施例中,這樣的操作可以並行地執行和/或以交錯的方式執行。
一旦正確地配置了目標順序存取數據存儲設備,就向主要目標順序存取數據存儲設備發出執行I/O操作(例如,寫入操作)的請求(處理方框306)。隨著接收到每一個I/O操作請求(例如,寫入操作命令和關聯的數據),它被通過輔助通信埠(例如,物理光纖埠)重新傳輸到輔助目標數據存儲設備。在不同的實施例中可以利用許多技術中的任何一種執行這樣的I/O操作的重新傳輸。在一個這樣的實施例中,每一個接收到的數據報(例如,光纖通道幀)被臨時緩存和修改,以重新指向輔助順序存取數據存儲設備。在另一個實施例中,從每一個接收到的數據報提取相關的I/O操作特定的有效負載數據(例如,利用光纖通道接口硬體),隨後封裝在新生成的具有例如不同的傳輸與接收標識符和關聯的控制信息/元數據的數據報內。
此後,接收指定了請求的I/O操作的結果的I/O操作狀態數據(處理方框308)。如果請求的I/O操作狀態數據指出請求的I/O操作已經失敗,則將失敗的I/O操作重新發到主要目標順序存取數據存儲設備(處理方框310),直到成功地執行請求的I/O操作。一旦成功地執行請求的I/O操作,可以發出隨後的I/O操作,如圖所示。
在本發明的一個或多個實施例中,所描述的I/O操作狀態數據可以指出要只在主要目標順序存取數據存儲設備中執行的I/O操作的「組合」的完成狀態和/或完成狀態。在提供了組合完成狀態的情況下,所描述的狀態數據表示對主要目標順序存取數據存儲設備的I/O操作和對輔助目標順序存取數據存儲設備的重新傳輸/重複I/O操作的完成狀態。在這樣的實施例中,只有在主要目標順序存取數據存儲設備在本地成功地完成I/O操作並也從輔助目標順序存取數據存儲設備接收到指出成功的狀態數據時,主要目標順序存取數據存儲設備發出指出成功地完成I/O操作的這樣的狀態數據(例如,向主機數據處理系統主始發端)。
在只指出主要目標順序存取數據存儲設備的完成狀態的情況下,主要目標順序存取數據存儲設備使用其自己的數據緩衝區來異步地管理向輔助目標順序存取數據存儲設備的I/O操作狀態,根據需要重新驅動/發出I/O操作命令,生成錯誤恢復序列。在這樣的實施例中,在I/O操作請求的序列結束時,同步或組合完成I/O操作狀態(例如,當在一系列寫入命令之後發出rewind命令)。儘管在圖3A的實施例中描述了重新發出I/O操作,但是,在本發明的其他實施例中,也可以不執行這樣的操作。當完成了完整的I/O操作命令序列時,釋放與輔助目標關聯的並利用主要目標數據存儲設備的輔助埠持有的所有預留或控制。然後,主要目標順序存取數據存儲設備停止充當始發端,恢復「目標」操作模式或狀態。
在圖3B的實施例中,顯示了根據本發明的實施例的用於執行主機控制的I/O操作複製的主要目標順序存取數據存儲設備操作過程的流程圖。根據所顯示的過程實施例,最初通過第一(例如,主)通信埠接收(處理方框312)I/O操作請求/命令。此後,由主要目標順序存取數據存儲設備處理接收到的I/O操作請求(處理方框316),I/O操作請求的副本基本上同時通過第二(例如,輔助)通信埠被重新傳輸到輔助目標順序存取數據存儲設備(處理方框314)。
一旦接收到的I/O操作請求已經被處理和重新傳輸,如圖所示,則生成組合的I/O操作請求處理狀態數據(處理方框318)。如前所述,儘管在圖3B的實施例中描述了組合的狀態數據,但是,在本發明的備選實施例中,這樣的狀態數據可以只是主存儲設備中的處理狀態的反映。然而,在接收下一個I/O操作進行處理之前,將I/O操作請求處理狀態數據返回到主始發端(處理方框320)。
在本發明的備選實施例中,I/O操作複製可以以主機透明的而不是主機控制的方式來執行。
在操作的主機「透明」模式下,在接收I/O操作請求之前,主要目標順序存取數據存儲設備被配置為它能夠管理其自己的輔助通信埠並持有輔助目標數據存儲設備的輔助通信埠的隱式預留的模式。在所描述的實施例中,類似地配置輔助目標。在一個實施例中,主輔助目標存儲設備的這樣的配置都是通過動態配置來完成的。
利用前面為執行「雙工」I/O操作分配的可用卷的預先定義的暫存池(如這裡所描述的,用於重新傳輸I/O操作請求),執行輔助目標存儲設備的安裝操作。如果對於安裝在主要目標數據存儲設備上的主卷存在輔助「雙配對」卷,則將現有的輔助雙盒安裝到輔助目標卷中。主要目標數據存儲設備不作為「準備好」接收或處理I/O操作請求而呈現,直到輔助目標存儲設備也準備好。然後,以常規單工方式向主要目標數據存儲設備發出I/O操作請求。主要目標數據存儲設備又以對於I/O的原始源始發端透明的方式管理輔助目標中的雙工I/O操作的性能,包括管理重試、錯誤,以及狀態的合併。
當完成完整的I/O操作(例如,寫入)命令序列時,以及,例如,發出rewind/unload(回卷/卸載)序列命令,主要目標數據存儲系統向輔助目標存儲設備重新傳輸或「鏡像」這些相同的命令,以在其上停止I/O操作(例如,停止驅動器,並卸載磁帶)。然後,通過將兩個設備的狀態數據合併,生成最後的I/O操作狀態。
在本發明的另一個實施例中,利用I/O操作請求的重新傳輸,來給順序存取存儲設備提供對共享的直接存取存儲器陣列緩衝區的存取,如此擴大了順序存取存儲設備自己的內部緩衝區(如果有的話)。在所描述的實施例中,主要目標順序存取數據存儲設備被配置為使用其輔助通信埠來在「高級緩衝區」模式下操作,並利用輔助目標直接存取數據存儲設備(例如,鏡像的共享磁碟陣列)作為非易失性共享緩衝區。
在所描述的實施例中,輔助目標存儲設備磁碟陣列緩衝區可以駐留在以通信方式連接到主要目標存儲設備並可由主要目標存儲設備存取的任何地方(例如,主要目標數據存儲設備以通信方式連接到的網絡段內的任何地方)。為便於錯誤恢復,連接到同一個主機數據處理系統的其他存儲設備按類似的方式存取共享磁碟緩衝區,並共享標識了與共享緩衝區上的數據關聯的某些元數據(例如,主機數據處理系統ID、驅動器ID、卷所有權等等)的共同的標記文件系統。如此,在將要恢復前面緩衝的數據並且啟動(例如,寫入)驅動器失敗的情況下,啟用錯誤恢復。在此情況下,啟動主機數據處理系統可以通過替代驅動器路徑連接共享的緩衝區,並從其中恢復數據。
在本發明的一個實施例中,主要目標順序存取數據存儲設備(例如,磁帶驅動器)以這樣的方式管理輔助目標直接存取數據存儲設備(例如,磁碟驅動器或陣列),以便由輔助目標直接存取數據存儲設備提供的另外的虛擬緩衝區以及所有關聯的操作(例如,文件管理、協議管理、錯誤恢復管理等等)對啟動主機來說是透明的。在另一個實施例中,如果主次數據存儲設備之間的通信鏈路/連接發生故障,或在輔助目標直接存取數據存儲設備的操作中檢測到某些錯誤狀態,則輔助目標直接存取數據存儲設備回復到正常操作,並停止提供這樣的緩衝區功能。
如前面所描述的,諸如所描述的主輔助目標數據存儲設備之類的設備的配置可以通過VPD/Op面板/用戶輸入裝置、庫接口裝置或主機裝置來實現。在本發明的一個實施例中,啟用並被配置為連接到共享緩衝區的每一個主要目標順序存取數據存儲設備也能夠存取共同的狀態區域,該區域用於管理緩衝區向直接存取存儲器設備「驅動器」池的分配和/或存儲指定與存儲在共享輔助目標數據存儲設備緩衝區中的數據關聯的文件結構的元數據。儘管輔助目標直接存取數據存儲設備內緩衝區分配這裡被描述為靜態地存在的,但是,在其他實施例中,這種緩衝存儲器區域的動態分配也是可以的。
通過利用這樣的直接存取或「磁碟」存儲陣列緩衝區,I/O操作(例如,寫入命令)可以有效地以可恢復的方式緩存在非易失性存儲器中,甚至在不實際執行順序存取數據存儲設備存取的情況下,在發生同步事件時,可以提供指定每一個I/O操作或命令的完成狀態的狀態數據。與通常在順序存取數據存儲設備中提供的半導體緩衝區相比,本發明的實施例提供的緩衝區數據存儲容量增大,從而提高了I/O操作性能,數據流吞吐量,以及存儲容量利用率。此外,另外的緩衝以及伴隨提供的增強的「預讀」功能,使特定操作(例如,短跳定位(short-hop locate)命令,多個正向空隔(forward space)命令等等)能更有效地執行。在本發明的其他實施例中,利用另外的通信埠來將這樣的特定操作分開,以便提供另外的更多的帶寬。
有關I/O操作相關的數據存儲,在一個實施例中,與存儲在共享數據緩衝區中的其他I/O操作數據一起維護某些數據或元數據元素(例如,循環冗餘檢驗碼或校驗和),好像共享數據緩衝區是主要目標順序存取存儲設備緩衝區的擴展,以便驗證整個共事緩衝區中的數據的完整性。在另一個實施例中,利用輔助目標直接存取存儲器設備內的輔助通信埠來向第三存儲設備重新傳輸這樣的I/O操作數據,生成I/O相關數據的另外的副本。也可以利用這樣的共享、直接存取存儲器設備數據緩衝區作為雙工操作的臨時區域,以向多個目標存儲設備複製或重新傳輸I/O操作請求。
圖4顯示了根據本發明的實施例的利用直接存取存儲器設備緩衝區的對順序存取存儲設備執行寫入操作的過程的流程圖。在所顯示的過程實施例中,主機數據處理系統主始發端預留、安裝。以及配置主要目標順序存取數據存儲設備(未顯示)。作為所描述的過程的安裝操作的一部分,主要目標數據存儲設備存取共享緩衝區,創建分配的緩衝區,並生成與分配的緩衝區關聯的元數據條目。
一旦正確地配置了主要目標順序存取數據存儲設備,主機數據處理系統主始發端就可以開始向主要目標存儲設備發出I/O操作請求或命令(例如,寫入操作請求)。主要目標按照其發出的樣子接收每一個寫入操作請求(處理方框402),隨後判斷存儲在用於提供共享數據緩衝區功能的關聯的輔助目標數據直接存取存儲器設備內的數據量是否已經達到預先定義的閾值(處理方框404)。
如果判斷已經達到(或超過)所描述的緩衝區數據存儲閾值,則將I/O操作數據從輔助目標數據存儲設備讀回(例如,讀回到主要目標順序存取數據存儲設備的緩衝存儲器中),隨後存儲在主數據存儲設備的物理存儲介質(例如,磁帶)內(處理方框406)。此後,或如果判斷沒有達到/超過預先確定的緩衝區數據存儲閾值,則通過主要目標的輔助通信埠將接收到的I/O操作請求複製到共享的緩衝區(即,輔助目標直接存取數據存儲設備)(處理方框408)。在本發明的備選實施例中,可以在單一通信埠上串行地或並行地,時分多路復用地,執行往返於主次數據存儲設備的I/O操作請求和關聯的數據的應用,和/或在提供另外的帶寬的專用埠上分離地執行。
一旦已經重新傳輸了所描述的I/O操作,如圖所示,就生成指定I/O操作的完成狀態的狀態數據(處理方框410)。在一個實施例中,響應在主要目標數據存儲設備接收到緩衝的命令的關聯的數據,生成這樣的狀態數據。在另一個實施例中,當I/O操作請求相關的數據成功地存儲在共享緩衝區中(例如,對於同步事件),生成/返回這樣的狀態數據。
在某些情況下(例如,當發出rewind/unload或其他重新定位命令時),包含I/O操作請求相關的數據的輔助目標數據存儲設備的共享緩衝區的一部分在命令被表示為完成之前被寫入到主數據存儲設備的物理存儲介質(例如,磁帶)中。在以比較高的速率(例如,>100MB/s)傳輸數據的情況下,如常規順序存取數據存儲設備常見的情況一樣,對可以緩存的數據的最大量設置的實際極限,大致為在對諸如介質「unload」命令等施加無法接受的時間延遲之前可以寫入的數據量。在本發明的一個實施例中,可以緩存的最大數據量大致為10-20GB,產生了大致為在1-2分鐘之間的額外的延遲時間。
圖5顯示了根據本發明的實施例的利用直接存取存儲器設備緩衝區的從順序存取存儲設備執行讀取操作的過程的流程圖。在所顯示的過程實施例中,主機數據處理系統主始發端預留、安裝。以及配置主要目標順序存取數據存儲設備(未顯示)。作為所描述的過程的安裝操作的一部分,主要目標數據存儲設備存取由輔助目標直接存取數據存儲設備所提供的共享緩衝區,創建分配的緩衝區,並生成與分配的緩衝區關聯的元數據條目。
一旦正確地配置了主要目標順序存取數據存儲設備,主機數據處理系統主始發端就可以開始向存儲設備發出I/O操作請求或命令(例如,讀取操作請求)。主要目標數據存儲設備按照其發出時的樣子接收每一個讀取操作請求(處理方框502),隨後判斷請求的數據是否在輔助目標直接存取數據存儲設備共享緩衝區內(處理方框504)。如果判斷可能不能利用共享數據緩衝區的數據執行請求的讀取操作,那麼,在主要目標順序存取數據存儲設備中本地處理接收到的讀取操作請求(處理方框506)。在所顯示的過程實施例中,主要目標存儲設備直接向主始發端返回讀取的數據,而不是通過共享緩衝區,以最小化延遲。
在處理每一個讀取操作請求,讀取關聯的數據,並提供到主始發端時,執行「預讀」操作,此時,利用主要目標數據存儲設備的輔助通信埠作為始發端,從主要目標數據存儲設備的存儲介質中讀取另外的數據(由當前讀取操作請求的數據之外的數據),並存儲在輔助數據存儲設備共享緩衝區內(處理方框508)。如果判斷當前讀取操作的請求的數據存儲或緩存在輔助數據存儲設備內,則利用主要目標數據存儲設備的輔助通信埠,從共享的緩衝區讀回請求的塊,並提供到主始發端(處理方框510)。在一個實施例中,由於空間局限性,連續地執行這樣的「預讀」活動,以利用與當前讀取塊地址關聯的數據加載共享緩衝區。相應地,可以通過主要目標數據存儲設備的輔助埠,利用共享緩衝區執行讀取和寫入I/O請求。
雖然是參考特定系統元件來描述圖3-5中所描述的操作的,但是,用於執行這樣的操作的實際元件對於處理本發明的實施例無關緊要。此外,在備選實施例中,可以通過任何數據存儲設備或其子組件來執行。類似地,儘管所描述的流程圖指出了處理操作的特定順序和特定粒度,但是,在備選實施例中,可以改變所顯示的順序(例如,可以以另一種順序執行處理操作,或基本上並行地執行),可以組合或分解處理操作中的一個或多個。類似地,在本發明的備選實施例中,在必要時,可以添加另外的處理操作。
本發明的實施例可以包括軟體、信息處理硬體,以及這裡進一步描述的各種處理操作。各種發明的特點和處理操作可以通過諸如數據處理系統存儲器、存儲設備、通信設備或介質等等之類的機器可讀介質內實現的可執行的指令來實現。機器可讀介質可以包括以可由機器(例如,數據處理系統)讀取的形式提供(即,存儲和/或傳輸)數據的任何機制。
例如,機器可讀介質包括,但不僅限於隨機存取存儲器(RAM);只讀存儲器(ROM);磁存儲介質;光存儲介質;快閃記憶體設備;電的、光學的和/或聲音傳播信號(例如,載波、紅外信號、數位訊號等等);等等。所描述的可執行的指令可以用來使一般或以指令編程的專用處理器執行本發明的操作、方法或進程。或者,可以由包含用於執行這樣的操作的硬連線邏輯,或由編程的數據處理組件和自定義硬體組件的任何組合,來執行本發明的功能或操作。
儘管是在完全運轉的數據處理系統的上下文中描述本發明的,但是,那些本領域普通技術人員將認識到,本發明能夠以各種形式作為程序產品進行分發,不管實際用於進行分發的信號攜帶介質的特定類型是什麼,本發明都同樣適用。這樣的信號攜帶介質的示例包括可記錄的介質,如軟盤和CD-ROM,傳送類型的介質,如數字和模擬通信鏈路,以及將來開發的介質存儲器和分發系統。利用用於執行某些操作或任務的軟體模塊,可以類似地實現本發明的實施例。所描述的軟體模塊可以包括腳本、批處理,或其他可執行文件,並可以存儲在機器可讀或計算機可讀的介質上。如此,模塊可以存儲在計算機系統存儲器內,配置數據處理或計算機系統執行軟體模塊的一個或多個功能。其他新的以及各種機器或計算機可讀的存儲介質都可以用來存儲這裡所討論的模塊。
雖然顯示和描述了本發明的特定實施例,但是,對於那些本領域技術人員顯而易見的是,基於這裡的原理,在不偏離本發明以及其廣泛的方面的情況,可以作出更改和修改。因此,所附的權利要求將包含在它們的範圍內,所有這樣的更改和修改都將在本發明的正確的精神和範圍內,本發明的實施例只由所附的權利要求的範圍加以限制,在權利要求書中給出了對各個方面的等效物的認定。
權利要求
1.一種方法,包括通過主數據存儲設備的第一通信埠接收輸入/輸出(I/O)操作請求,其中,所述主數據存儲設備包括順序存取存儲設備;利用所述主數據存儲設備來處理所述I/O操作請求;以及通過所述主數據存儲設備的第二通信埠,基本上與所述處理同時向輔助數據存儲設備重新傳輸所述I/O操作請求。
2.根據權利要求1所述的方法,其中所述主數據存儲設備包括第一磁帶數據存儲設備,所述輔助數據存儲設備包括第二磁帶數據存儲設備,所述接收包括接收來自主機數據處理系統的所述I/O操作請求,以及利用所述主機數據處理系統,為I/O操作保留所述第二磁帶數據存儲設備。
3.根據權利要求1所述的方法,其中所述主數據存儲設備包括第一磁帶數據存儲設備,所述輔助數據存儲設備包括第二磁帶數據存儲設備,以及利用所述第一磁帶數據存儲設備,為I/O操作保留所述第二磁帶數據存儲設備。
4.根據權利要求1所述的方法,其中所述輔助數據存儲設備包括伺服器數據處理系統。
5.根據權利要求1所述的方法,其中所述輔助數據存儲設備包括固定磁碟、直接存取存儲驅動器。
6.根據權利要求1所述的方法,其中,所述重新傳輸包括對與所述I/O操作請求關聯的數據進行編碼;以及響應所述編碼,重新傳輸與所述I/O操作請求關聯的所述數據。
7.根據權利要求6所述的方法,其中,所述編碼操作至少包括下列之一對與所述I/O操作關聯的所述數據進行壓縮和對與所述I/O操作關聯的所述數據進行加密。
8.一種設備,包括用於通過主數據存儲設備的第一通信埠接收輸入/輸出(I/O)操作請求的裝置,其中,所述主數據存儲設備包括順序存取存儲設備;利用所述主數據存儲設備處理所述I/O操作請求,以及通過所述主數據存儲設備的第二通信埠,基本上同時向輔助數據存儲設備重新傳輸所述I/O操作請求的裝置。
9.根據權利要求8所述的設備,其中所述主數據存儲設備包括第一磁帶數據存儲設備,所述輔助數據存儲設備包括第二磁帶數據存儲設備,所述用於接收的裝置包括用於接收來自主機數據處理系統的所述I/O操作請求的裝置,以及利用所述主機數據處理系統,為I/O操作保留所述第二磁帶數據存儲設備。
10.根據權利要求8所述的設備,其中所述主數據存儲設備包括第一磁帶數據存儲設備,所述輔助數據存儲設備包括第二磁帶數據存儲設備,以及利用所述第一磁帶數據存儲設備,為I/O操作保留所述第二磁帶數據存儲設備。
11.根據權利要求8所述的設備,其中所述輔助數據存儲設備包括伺服器數據處理系統。
12.根據權利要求8所述的設備,其中所述輔助數據存儲設備包括固定磁碟、直接存取存儲驅動器。
13.根據權利要求8所述的設備,其中,所述用於處理和重新傳輸的裝置包括用於對與所述I/O操作請求關聯的數據進行編碼的裝置;以及用於響應對與所述I/O操作請求關聯的所述數據的編碼,重新傳輸與所述I/O操作請求關聯的所述數據的裝置。
14.根據權利要求13所述的設備,其中,所述用於編碼的裝置至少包括下列之一用於對與所述I/O操作關聯的所述數據進行壓縮的裝置和用於對與所述I/O操作關聯的所述數據進行加密的裝置。
全文摘要
說明了利用順序存取數據存儲設備的輔助通信埠執行重新傳送輸入/輸出(I/O)操作的方法和設備。根據一個實施例,提供了一種方法,該方法包括通過主數據存儲設備的第一通信埠接收輸入/輸出(I/O)操作請求,利用主數據存儲設備處理I/O操作請求,以及通過主數據存儲設備的第二通信埠基本上與處理同時向輔助數據存儲設備重新傳輸I/O操作請求。在所描述的實施例中,主數據存儲設備包括順序存取數據存儲設備。
文檔編號G06F3/06GK101059781SQ200710086338
公開日2007年10月24日 申請日期2007年3月13日 優先權日2006年4月18日
發明者詹姆斯·M.·卡普, 保羅·M.·格雷科, 格林·A.·加奎特 申請人:國際商業機器公司