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