協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的制作方法
【專利摘要】根據(jù)本發(fā)明的一個(gè)方面,公開一種用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的方法和技術(shù)。該方法包括:響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求,從主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求;生成用于寫入的當(dāng)前序列號(hào);基于當(dāng)前序列號(hào)生成第一標(biāo)識(shí)符,第一標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí);基于當(dāng)前序列號(hào)和先前序列號(hào)生成第二標(biāo)識(shí)符,第二標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí);向主設(shè)備傳輸當(dāng)前序列號(hào)和第二標(biāo)識(shí)符;以及向基于先前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸當(dāng)前序列號(hào)和第一標(biāo)識(shí)符。
【專利說明】協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列
【背景技術(shù)】
[0001]經(jīng)常向另一存儲(chǔ)站點(diǎn)復(fù)制關(guān)鍵數(shù)據(jù)以防范可能造成數(shù)據(jù)丟失的災(zāi)難。一種用于這一目的的技術(shù)稱為遠(yuǎn)程復(fù)制,其中一個(gè)盤(或者邏輯卷)與用作備份的另一個(gè)盤配對(duì)。原始盤稱為主裝置,而備份盤稱為輔裝置。無論何時(shí)向主裝置寫入數(shù)據(jù),也必須向輔裝置寫入該數(shù)據(jù)以保證備份保持最新。可以同步實(shí)施遠(yuǎn)程復(fù)制,從而延遲在主機(jī)的處理直至確認(rèn)完成在輔裝置的對(duì)應(yīng)寫入。也可以異步實(shí)施遠(yuǎn)程復(fù)制,從而不延遲向主存儲(chǔ)裝置寫入數(shù)據(jù)的主機(jī)而數(shù)據(jù)被復(fù)制到輔存儲(chǔ)裝置。也就是說,一旦已經(jīng)向主存儲(chǔ)裝置寫入數(shù)據(jù)就向主機(jī)通知它的完成。然后向輔存儲(chǔ)裝置異步復(fù)制數(shù)據(jù)。在一些實(shí)例中,根據(jù)主機(jī)提交寫入的順序來向有關(guān)盤集合中的重復(fù)的寫入指派序列號(hào)。對(duì)遠(yuǎn)程站點(diǎn)或者備份站點(diǎn)重復(fù)這些寫入并且按照序列號(hào)順序來應(yīng)用這些寫入以保證盤總是相互一致。
【發(fā)明內(nèi)容】
[0002]根據(jù)本公開的一個(gè)方面,公開一種用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的方法和技術(shù)。該方法包括:響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求,從主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求;生成用于寫入的當(dāng)前序列號(hào);基于當(dāng)前序列號(hào)生成第一標(biāo)識(shí)符,第一標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí);基于當(dāng)前序列號(hào)和先前序列號(hào)生成第二標(biāo)識(shí)符,第二標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí);向主設(shè)備傳輸當(dāng)前序列號(hào)和第二標(biāo)識(shí)符;以及向基于先前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸當(dāng)前序列號(hào)和第一標(biāo)識(shí)符。
【專利附圖】
【附圖說明】
[0003]現(xiàn)在將參照附圖僅通過示例描述本發(fā)明的優(yōu)選實(shí)施例,在附圖中:
[0004]圖1是可以在其中實(shí)施本公開的示例實(shí)施例的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的一個(gè)實(shí)施例;
[0005]圖2是可以在其中實(shí)施本公開的示例實(shí)施例的數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例;
[0006]圖3是圖示可以在其中實(shí)施本公開的示例實(shí)施例的用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例的圖示;
[0007]圖4是圖示可以在其中實(shí)施本公開的示例實(shí)施例的用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例的圖示;
[0008]圖5是圖示可以在其中實(shí)施本公開的示例實(shí)施例的用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的與入序列的系統(tǒng)的一個(gè)實(shí)施例的圖不;以及
[0009]圖6是圖示根據(jù)本公開的用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的方法的實(shí)施例的流程圖。
【具體實(shí)施方式】
[0010]本公開的實(shí)施例提供一種用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。例如,在一些實(shí)施例中,該方法和技術(shù)包括:響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求,從主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求;生成用于寫入的當(dāng)前序列號(hào);基于當(dāng)前序列號(hào)生成第一標(biāo)識(shí)符,第一標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí);基于當(dāng)前序列號(hào)和先前序列號(hào)生成第二標(biāo)識(shí)符,第二標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí);向主設(shè)備傳輸當(dāng)前序列號(hào)和第二標(biāo)識(shí)符;以及向基于先前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸當(dāng)前序列號(hào)和第一標(biāo)識(shí)符。因此,在本公開的一些實(shí)施例中,該方法和技術(shù)包括標(biāo)識(shí)符,這些標(biāo)識(shí)符指示哪些輔設(shè)備涉及當(dāng)前序列號(hào)寫入而哪些輔設(shè)備涉及先前序列號(hào)寫入。標(biāo)識(shí)符用來按正確序列處理寫入,同時(shí)最小化在設(shè)備之間關(guān)于完成寫入的消息傳送。
[0011]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0012]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0013]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0014]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0015]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語(yǔ)言一諸如“C”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0016]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器使得生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0017]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作使得,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。
[0018]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程使得使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令提供實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的過程。
[0019]現(xiàn)在參照附圖并且具體參照?qǐng)D1-2,提供可以在其中實(shí)施本公開的示例實(shí)施例的數(shù)據(jù)處理環(huán)境的示例圖。應(yīng)當(dāng)理解圖1-2僅為示例而未旨在于聲明或者暗示關(guān)于其中可以實(shí)施不同實(shí)施例的環(huán)境的任何限制。可以對(duì)描繪的環(huán)境進(jìn)行許多修改。
[0020]圖1是可以在其中實(shí)施本公開的示例實(shí)施例的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡(luò)的圖解表示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是可以在其中實(shí)施本公開的示例實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)130,該網(wǎng)絡(luò)是用來在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備和計(jì)算機(jī)之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)130可以包括連接、比如有線、無線通信鏈路或者光纖線纜。
[0021]在一些實(shí)施例中,服務(wù)器140和服務(wù)器150連接到網(wǎng)絡(luò)130連同數(shù)據(jù)存儲(chǔ)庫(kù)160。服務(wù)器140和服務(wù)器150可以例如是IBM? Power Systems?服務(wù)器。此外,客戶端110和120連接到網(wǎng)絡(luò)130??蛻舳?10和120可以例如是個(gè)人計(jì)算機(jī)或者網(wǎng)絡(luò)計(jì)算機(jī)。在描繪的示例中,服務(wù)器140向客戶端110和120提供數(shù)據(jù)和/或服務(wù)、比如但不限于數(shù)據(jù)文件、操作系統(tǒng)映像和應(yīng)用。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可以包括附加服務(wù)器、客戶端和其它設(shè)備。
[0022]在描繪的示例中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是因特網(wǎng),網(wǎng)絡(luò)130代表使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)協(xié)議套件相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的全世界匯集。在因特網(wǎng)的心臟是在由路由數(shù)據(jù)和消息的數(shù)以千計(jì)的商業(yè)、政府、教育和其它計(jì)算機(jī)系統(tǒng)構(gòu)成的主要節(jié)點(diǎn)或者主機(jī)計(jì)算機(jī)之間的高速數(shù)據(jù)通信線路的中樞。當(dāng)然,也可以實(shí)施網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100為許多不同類型的網(wǎng)絡(luò)、比如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或者存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)。圖1旨在于作為示例而不是作為針對(duì)不同示例實(shí)施例的架構(gòu)限制。
[0023]圖2是數(shù)據(jù)處理系統(tǒng)200的一個(gè)實(shí)施例,諸如但不限于客戶端110和/或服務(wù)器140,可以在該數(shù)據(jù)處理系統(tǒng)中實(shí)施根據(jù)本公開的用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的系統(tǒng)的一個(gè)實(shí)施例。在這一實(shí)施例中,數(shù)據(jù)處理系統(tǒng)200包括在處理器單元204、存儲(chǔ)器206、持久存儲(chǔ)裝置208、通信單元210、輸入/輸出(I/O)單元212和顯示器214之間提供通信的總線或者通信結(jié)構(gòu)202。
[0024]處理器單元204服務(wù)于執(zhí)行用于可以向存儲(chǔ)器206中加載的軟件的指令。處理器單元204根據(jù)特定實(shí)現(xiàn)方式可以是一個(gè)或者多個(gè)處理器的集合或者可以是多處理器核。另夕卜,可以使用其中主處理器與輔處理器存在于單個(gè)芯片上的一個(gè)或者多個(gè)異構(gòu)處理器系統(tǒng)來實(shí)施處理器單元204。作為另一備選示例,處理器單元204可以是包含相同類型的多個(gè)處理器的對(duì)稱多處理器系統(tǒng)。
[0025]在一些實(shí)施例中,存儲(chǔ)器206可以是隨機(jī)存取存儲(chǔ)器或者任何其它適當(dāng)易失性或者非易失性存儲(chǔ)設(shè)備。持久存儲(chǔ)裝置208可以根據(jù)特定實(shí)現(xiàn)方式采用各種形式。例如持久存儲(chǔ)裝置208可以包含一個(gè)或者多個(gè)部件或者設(shè)備。持久存儲(chǔ)裝置208可以是硬驅(qū)動(dòng)、閃存、可重寫光盤、可重寫磁帶或者以上各項(xiàng)的某個(gè)組合。持久存儲(chǔ)裝置208使用的介質(zhì)也可以是可拆卸的、比如但不限于可拆卸硬驅(qū)動(dòng)。
[0026]通信單元210提供與其它數(shù)據(jù)處理系統(tǒng)或者設(shè)備的通信。在這些示例中,通信單元210是網(wǎng)絡(luò)接口卡。調(diào)制器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡僅為當(dāng)前可用網(wǎng)絡(luò)接口適配器類型中的幾個(gè)例子。通信單元210可以通過使用物理或者無線通信鏈路或者二者來提供通?目。
[0027]輸入/輸出單元212實(shí)現(xiàn)與可以連接到數(shù)據(jù)處理系統(tǒng)200的其它設(shè)備的數(shù)據(jù)輸入和輸出。在一些實(shí)施例中,輸入/輸出單元212可以提供用于通過鍵盤和鼠標(biāo)的用戶輸入的連接。另外,輸入/輸出單元212可以向打印機(jī)發(fā)送輸出。顯示器214提供用于向用戶顯示信息的機(jī)制。
[0028]用于操作系統(tǒng)和應(yīng)用或者程序的指令位于持久存儲(chǔ)裝置208上??梢韵虼鎯?chǔ)器206中加載這些指令以供處理器單元204執(zhí)行。處理器單元204可以使用可以位于存儲(chǔ)器、比如存儲(chǔ)器206中的計(jì)算機(jī)實(shí)施的指令來執(zhí)行不同實(shí)施例的過程。這些指令稱為程序代碼、計(jì)算機(jī)可用程序代碼或者計(jì)算機(jī)可讀程序代碼,該程序代碼可以由處理器單元204中的處理器讀取和執(zhí)行。可以在不同物理的或者有形的計(jì)算機(jī)可讀介質(zhì)、比如存儲(chǔ)器206或者持久存儲(chǔ)裝置208上體現(xiàn)不同實(shí)施例中的程序代碼。
[0029]程序代碼216以函數(shù)形式位于選擇性可拆卸的計(jì)算機(jī)可讀介質(zhì)218中并且可以向數(shù)據(jù)處理系統(tǒng)200上加載或者向數(shù)據(jù)處理系統(tǒng)200傳送以供處理器單元204執(zhí)行。程序代碼216和計(jì)算機(jī)可讀介質(zhì)218在這些示例中形成計(jì)算機(jī)程序產(chǎn)品220。在一個(gè)示例中,計(jì)算機(jī)可讀介質(zhì)218可以是有形形式、比如光盤或者磁盤,該光盤或者磁盤被插入或者放置到作為持久存儲(chǔ)裝置208的一部分的驅(qū)動(dòng)或者其它設(shè)備中以供傳送到存儲(chǔ)設(shè)備、比如作為持久裝置208的一部分的硬驅(qū)動(dòng)上。在有形形式中,計(jì)算機(jī)可讀介質(zhì)218也可以采用持久存儲(chǔ)裝置的形式、比如連接到數(shù)據(jù)處理系統(tǒng)200的硬驅(qū)動(dòng)、拇指驅(qū)動(dòng)或者閃存。計(jì)算機(jī)可讀介質(zhì)218的有形形式也稱為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在一些實(shí)例中,計(jì)算機(jī)可讀介質(zhì)218可以是不可拆卸的。
[0030]備選地,可以從計(jì)算機(jī)可讀介質(zhì)218通過與通信單元210的通信鏈路和/或通過與輸入/輸出單元212的連接向 數(shù)據(jù)處理系統(tǒng)200傳送程序代碼216。通信鏈路和/或連接在示例中可以是物理的或者無線的。
[0031]對(duì)于數(shù)據(jù)處理系統(tǒng)200圖示的不同部件并不意在提供對(duì)其中可以實(shí)施不同實(shí)施例的方式的架構(gòu)限制。不同示例實(shí)施例可以在除了對(duì)于數(shù)據(jù)處理系統(tǒng)200圖示的部件之外還包括其它部件或者包括取代圖示的部件的部件的數(shù)據(jù)處理系統(tǒng)中實(shí)施。圖2中所示其它部件可以不同于所示示例。例如數(shù)據(jù)處理系統(tǒng)200中的存儲(chǔ)設(shè)備是可以存儲(chǔ)數(shù)據(jù)的任何硬件裝置。存儲(chǔ)器206、持久存儲(chǔ)裝置208和計(jì)算機(jī)可讀介質(zhì)218是有形形式的存儲(chǔ)設(shè)備的示例。[0032]圖3是用于協(xié)調(diào)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的寫入序列的系統(tǒng)300的一個(gè)示例實(shí)施例。系統(tǒng)300可以實(shí)施于數(shù)據(jù)處理系統(tǒng)或者平臺(tái)上、比如但不限于服務(wù)器140和/或150、客戶端110和/或120,或者實(shí)施于其它數(shù)據(jù)處理系統(tǒng)或者節(jié)點(diǎn)位置。在圖3中所示實(shí)施例中,系統(tǒng)300包括用于處理向主存儲(chǔ)裝置312的寫入的主設(shè)備310。主設(shè)備310可以包括服務(wù)器、客戶端或者其它類型的數(shù)據(jù)處理系統(tǒng)。在圖3中,系統(tǒng)300包括主設(shè)備3IOp3IO2、3IO3至3IOn,從而主設(shè)備數(shù)量可以在系統(tǒng)300中變化。主設(shè)備310呈現(xiàn)主存儲(chǔ)裝置312,從而使主存儲(chǔ)裝置312通過一個(gè)或者多個(gè)主設(shè)備310對(duì)外部服務(wù)器或者數(shù)據(jù)處理系統(tǒng)(例如服務(wù)器140和150或者客戶端110和120)可見。主存儲(chǔ)裝置312可以包括主存儲(chǔ)設(shè)備314的集合。主存儲(chǔ)設(shè)備314可以例如包括而不限于光或者磁盤、帶存儲(chǔ)裝置或者其功能或者結(jié)構(gòu)等效的存儲(chǔ)設(shè)備。在圖3中,主存儲(chǔ)裝置312包括表示為^)13141、?023142、^)33143至?01131411的主存儲(chǔ)設(shè)備314,從而主存儲(chǔ)設(shè)備314的數(shù)量可以在系統(tǒng)300中變化。
[0033]在圖3中所示實(shí)施例中,系統(tǒng)300也包括經(jīng)由有線或者無線通信網(wǎng)絡(luò)322耦合到主設(shè)備310的輔設(shè)備320。輔設(shè)備320處理向輔存儲(chǔ)裝置324的寫入。輔設(shè)備320可以包括服務(wù)器、客戶端或者其它類型的數(shù)據(jù)處理系統(tǒng)。在圖3中,系統(tǒng)300包括輔設(shè)備32(^32(^3203至320n,從而輔設(shè)備數(shù)量可以在系統(tǒng)300中變化。輔設(shè)備324可以包括輔存儲(chǔ)設(shè)備326的集合。輔存儲(chǔ)設(shè)備326可以例如包括而不限于光或者磁盤、帶存儲(chǔ)裝置或者其功能或者結(jié)構(gòu)等效的存儲(chǔ)設(shè)備。在圖3中,輔存儲(chǔ)裝置324包括表示為SDJZe1、SD23262、SD33263至SDn326n的輔存儲(chǔ)設(shè)備326,從而輔存儲(chǔ)設(shè)備326的數(shù)量可以在系統(tǒng)300中變化。
[0034]系統(tǒng)300被配置用于實(shí)現(xiàn)數(shù)據(jù)的一致遠(yuǎn)程復(fù)制。圖3中所示主設(shè)備310和輔設(shè)備320的布置和位置旨在于示例性,并且可以實(shí)施許多其它布置,僅作為示例,將主設(shè)備310和輔設(shè)備320定位于數(shù)據(jù)處理或者通信網(wǎng)絡(luò)的中間和通信節(jié)點(diǎn)。服務(wù)器或者其它數(shù)據(jù)處理應(yīng)用可以向主存儲(chǔ)設(shè)備314的集合寫入,為此需要跨越主存儲(chǔ)裝置312和輔存儲(chǔ)裝置324的寫入一致性。輔設(shè)備320控制輔存儲(chǔ)設(shè)備326,從而每個(gè)輔存儲(chǔ)設(shè)備326由一個(gè)或者多個(gè)輔設(shè)備320控制并且 可以在需要訪問時(shí)(例如用于災(zāi)難恢復(fù))通過輔設(shè)備320變得對(duì)外部服務(wù)器或者數(shù)據(jù)處理應(yīng)用可見。在主存儲(chǔ)裝置312 (例如主存儲(chǔ)設(shè)備314)上的數(shù)據(jù)和向主存儲(chǔ)裝置312寫入的數(shù)據(jù)被復(fù)制到輔存儲(chǔ)裝置324 (例如每個(gè)主存儲(chǔ)設(shè)備314或者主存儲(chǔ)設(shè)備314的集合可以對(duì)應(yīng)于輔存儲(chǔ)裝置324中的相應(yīng)輔存儲(chǔ)設(shè)備326)。因此,在操作中,每個(gè)主存儲(chǔ)設(shè)備314或者主存儲(chǔ)設(shè)備314的集合可以映射到輔存儲(chǔ)裝置324中的對(duì)應(yīng)輔存儲(chǔ)設(shè)備326。在一些實(shí)例中,需要跨越多個(gè)存儲(chǔ)設(shè)備按照特定順序來應(yīng)用寫入(例如異步遠(yuǎn)程復(fù)制)。例如在一些實(shí)施例中,有關(guān)存儲(chǔ)設(shè)備集合中的重復(fù)的寫入根據(jù)主機(jī)提交它們的順序而被指派序列號(hào)、被復(fù)制到遠(yuǎn)程存儲(chǔ)裝置并且按照序列號(hào)順序在輔存儲(chǔ)裝置中被應(yīng)用,由此保證主存儲(chǔ)設(shè)備和輔存儲(chǔ)設(shè)備相互一致。
[0035]參照?qǐng)D4,示出系統(tǒng)300的主設(shè)備310和輔設(shè)備320的一個(gè)示例實(shí)施例。在圖4中所示實(shí)施例中,主設(shè)備310和輔設(shè)備320各自分別包括用于處理寫入和/或執(zhí)行各種其它數(shù)據(jù)處理功能的輸入/輸出(IO)處理器410和420。在圖4中,主設(shè)備310包括序列生成器440。在一些實(shí)施例中,序列生成器440駐留在一個(gè)主設(shè)備310上;然而應(yīng)當(dāng)理解可以有許多這樣的序列生成器440 (例如每個(gè)序列生成器440用于需要跨越寫入的一致性的主存儲(chǔ)設(shè)備314的不同集合)。在圖4中,主設(shè)備310也包括具有生成器數(shù)據(jù)450的存儲(chǔ)器446。生成器數(shù)據(jù)450可以包括序列生成器440生成、跟蹤和/或推導(dǎo)的信息。例如生成器數(shù)據(jù)450可以包括序列號(hào)460。例如服務(wù)器或者其它數(shù)據(jù)處理應(yīng)用向主存儲(chǔ)裝置312的主存儲(chǔ)設(shè)備314寫入,其中寫入通過這種應(yīng)用而跨越主存儲(chǔ)設(shè)備14分布。寫入也通過該應(yīng)用根據(jù)哪些主設(shè)備310具有對(duì)相應(yīng)主存儲(chǔ)設(shè)備314的訪問而跨越主設(shè)備310分布。響應(yīng)于主設(shè)備接收到寫入470,向序列生成器440提交對(duì)于生成序列號(hào)460的請(qǐng)求。在圖4中,圖示寫入470為由具有序列生成器440的主設(shè)備接收;然而應(yīng)當(dāng)理解寫入可以由一個(gè)主設(shè)備接收,其中序列生成器440駐留在不同主設(shè)備上(例如寫入由主設(shè)備3102接收并且序列生成器440駐留在主設(shè)備3103上)。在這樣的情況下,主設(shè)備3102請(qǐng)求來自主設(shè)備3103的序列號(hào)460。序列號(hào)460—般始于零并且對(duì)于每個(gè)后續(xù)寫入被遞增一??梢杂每梢曰谟布?、基于軟件或者二者的某個(gè)組合的任何適當(dāng)方式來實(shí)施序列生成器440。例如序列生成器440可以包括用于執(zhí)行如這里描述的各種功能的軟件、邏輯和/或可執(zhí)行代碼(例如駐留作為在處理器單元上運(yùn)行的軟件和/或算法、在處理器或者其它類型的邏輯芯片中駐留的硬件邏輯、集中于單個(gè)集成電路中或者分布于數(shù)據(jù)處理系統(tǒng)中的不同芯片之中)。
[0036]在圖4中,生成器數(shù)據(jù)450也包括序列生成器440生成和/或以其他方式推導(dǎo)的標(biāo)識(shí)符462、464和466。在一些實(shí)施例中,標(biāo)識(shí)符462、464和466包括位矢量(在圖4中分別標(biāo)識(shí)為Vc、Vp和Vt)。在一些實(shí)施例中,位矢量Vc422、Vp424和Vt466被配置為具有與系統(tǒng)300的輔設(shè)備320的數(shù)量對(duì)應(yīng)的大小或者位數(shù),從而位矢量Vc422、Vp424和Vt466的每個(gè)位位置/值對(duì)應(yīng)于特定輔設(shè)備320。因此,在位矢量Vc422、Vp424和Vt466中設(shè)置的位標(biāo)識(shí)特定輔設(shè)備320。Vp464用來標(biāo)識(shí)先前序列號(hào)460的寫入是對(duì)于哪些輔設(shè)備320,并且Vc用來標(biāo)識(shí)當(dāng)前序列號(hào)460的寫入是對(duì)于哪些輔設(shè)備320。Vt466是Vc462和Vp464的按位“或(OR) ” (例如在C編程語(yǔ)言中為Vc I Vp)。
[0037]在操作中,接收寫入的主設(shè)備310向序列生成器440發(fā)送請(qǐng)求序列號(hào)460的消息,該消息包括將需要向哪個(gè)輔設(shè)備320發(fā)送寫入。初始地,可以不設(shè)置Vp464和Vc462,并且序列號(hào)(“N”)460開始于零。序列生成器440比對(duì)已經(jīng)從不同主設(shè)備310向它發(fā)送的對(duì)于序列號(hào)的未決請(qǐng)求并且根據(jù)每個(gè)寫入將被發(fā)送到的輔設(shè)備320而適當(dāng)設(shè)置Vc462中的位。序列生成器440也生成Vt466,該Vt是將涉及當(dāng)前序列號(hào)的輔設(shè)備320的全集。序列生成器440利用包含當(dāng)前序列號(hào)460和Vt466的消息,向請(qǐng)求了序列號(hào)的每個(gè)主設(shè)備310針對(duì)它為之請(qǐng)求序列號(hào)的每個(gè)寫入來答復(fù)(例如經(jīng)由IO處理器410)。序列生成器440也向Vp464中而不是Vc462中(例如在C編程語(yǔ)言中為Vp&(?Vc))的每個(gè)輔設(shè)備傳輸包含當(dāng)前序列號(hào)460和Vc462 (而不是Vt466)的偽寫入消息。
[0038]響應(yīng)于接收到當(dāng)前序列號(hào)460和Vt466,請(qǐng)求序列號(hào)460的主設(shè)備310向主存儲(chǔ)裝置312提交寫入并且將寫入與當(dāng)前序列號(hào)460和Vt466的值一起向具有對(duì)輔存儲(chǔ)裝置324的對(duì)應(yīng)輔存儲(chǔ)設(shè)備326的訪問的輔設(shè)備320發(fā)送。例如對(duì)應(yīng)輔設(shè)備320需要確定它何時(shí)可以處理它的對(duì)應(yīng)寫入。初始地,任何輔設(shè)備320可以處理具有序列號(hào)為零的寫入,因?yàn)闆]有輔設(shè)備320可以依賴的更早寫入。隨后,輔設(shè)備320將接收具有當(dāng)前序列號(hào)(例如N=I)的一個(gè)或者多個(gè)寫入或者具有當(dāng)前序列號(hào)(例如N= I)的偽寫入消息。在處理特定序列號(hào)的每個(gè)寫入之后,輔設(shè)備320將向輔設(shè)備320的集合發(fā)送序列號(hào)完成消息。例如,如果輔設(shè)備320已經(jīng)接收其中N = I的寫入并且已經(jīng)完成其中N = O的所有寫入,則接收序列號(hào)完成消息的輔設(shè)備320的集合是其中N = I的寫入(所有這樣的寫入將包含相同Vt466)的Vt466所標(biāo)識(shí)的輔設(shè)備。如果輔設(shè)備320已經(jīng)接收其中N = I的偽寫入消息并且已經(jīng)完成其中N = O的所有寫入,則接收序列號(hào)完成消息的輔設(shè)備320的集合是包含在該偽寫入消息中的Vc462所標(biāo)識(shí)的輔設(shè)備。在已經(jīng)接收其中N = I的寫入的輔設(shè)備320已經(jīng)從在那些寫入的Vt466中被設(shè)置位的輔設(shè)備320接收序列號(hào)完成消息時(shí),輔設(shè)備320可以向輔設(shè)備324提交其中N= I的寫入470 (例如因?yàn)橐呀?jīng)處理序列號(hào)N= I為了一致性而可以依賴的所有寫入)。
[0039]在一些實(shí)例中,在Vt466僅有單個(gè)位被設(shè)置(例如單個(gè)輔設(shè)備320)——這可能在寫入工作量高峰期間經(jīng)常發(fā)生一時(shí),無需輔設(shè)備之間的消息發(fā)送,因?yàn)閮H在Vt466中設(shè)置的單個(gè)位所代表的單個(gè)輔設(shè)備320負(fù)責(zé)確定它可以從一個(gè)序列號(hào)移向下一序列號(hào),由此實(shí)現(xiàn)迅速處理寫入的快速同步操作。在Vt466包含多個(gè)設(shè)置的位時(shí)(例如多個(gè)輔設(shè)備320被標(biāo)識(shí)),在最后輔設(shè)備320完成序列號(hào)的寫入到所有輔設(shè)備320能夠處理下一序列號(hào)的寫入之間的最大時(shí)間長(zhǎng)度是消息在兩個(gè)最遠(yuǎn)輔設(shè)備320之間單向行進(jìn)而花費(fèi)的時(shí)間。
[0040]圖5是圖示根據(jù)本公開的用于協(xié)調(diào)寫入序列的系統(tǒng)和方法的圖示。在所示實(shí)施例中,主設(shè)備3103已經(jīng)接收寫入并且向序列生成器440請(qǐng)求序列號(hào)。對(duì)于序列號(hào)的請(qǐng)求也包括涉及當(dāng)前寫入的輔設(shè)備(在這一示例中為輔設(shè)備3203)的標(biāo)識(shí)。向主設(shè)備3103所請(qǐng)求的寫入指派的當(dāng)前序列號(hào)為N1。用于寫入的先前序列號(hào)(由Ntl代表)涉及輔設(shè)備320jP 3202。在操作中,響應(yīng)于序列生成器440接收到對(duì)于序列號(hào)的請(qǐng)求,序列生成器440設(shè)置Vc462中的、與當(dāng)前序列號(hào)N1對(duì)應(yīng)的位(標(biāo)識(shí)輔設(shè)備3203的位被設(shè)置)。序列生成器440也基于先前序列號(hào)Ntl設(shè)置Vp464中的、與涉及寫入的輔設(shè)備對(duì)應(yīng)的位(例如在一些實(shí)例中,Vc462的先前值可以用作Vp464的當(dāng)前值)。序列生成器440也生成Vt466(例如通過對(duì)Vc462和Vp464執(zhí)行OR函數(shù))。序列生成器440將當(dāng)前序列號(hào)N1與Vt466 —起向主設(shè)備3103傳輸。序列生成器440也向涉及先前序列號(hào)Ntl的輔設(shè)備(例如在Vp464中設(shè)置的位所標(biāo)識(shí)的輔設(shè)備)傳輸偽寫入消息。偽寫入消息包括當(dāng)前序列號(hào)NI連同Vc462(該Vc標(biāo)識(shí)涉及當(dāng)前序列號(hào)寫入的輔設(shè)備)。
[0041]主設(shè)備3103向主存儲(chǔ)裝置312提交寫入并且將寫入與當(dāng)前序列號(hào)N1和Vt406 —起向具有對(duì)用于寫入的對(duì)應(yīng)輔存儲(chǔ)設(shè)備326的訪問的輔設(shè)備(例如輔設(shè)備3203)傳輸。輔設(shè)備320i和3202在完成用于先前序列號(hào)Ntl的寫入時(shí)向涉及當(dāng)前序列號(hào)N1寫入的輔設(shè)備(例如從輔設(shè)備32(^和3202從序列生成器440接收的Vc462推導(dǎo)的)傳輸序列號(hào)完成消息。輔設(shè)備3203在從涉及先前序列號(hào)Ntl寫入的輔設(shè)備(這些輔設(shè)備可以由輔設(shè)備3203從Vt466推導(dǎo)出)接收序列號(hào)完成消息時(shí)向輔存儲(chǔ)裝置324提交用于當(dāng)前序列號(hào)N1的寫入。
[0042]圖6是圖示用于協(xié)調(diào)寫入序列的方法的一個(gè)實(shí)施例的流程圖。該方法始于塊600,其中特定主設(shè)備310接收寫入。在塊602,主設(shè)備310將對(duì)于序列號(hào)的請(qǐng)求與用于寫入的對(duì)應(yīng)輔設(shè)備320的指示一起向序列生成器440傳輸。在塊604,序列生成器440接收序列號(hào)請(qǐng)求。在塊606,序列生成器440生成用于寫入的當(dāng)前序列號(hào)。在塊608,序列生成器440生成用于當(dāng)前序列號(hào)的Vc462。在塊610,序列生成器440基于先前序列號(hào)生成Vp464。在塊612,序列生成器440基于Vc462和Vp464生成Vt466。
[0043]在塊614,序列生成器440向請(qǐng)求主設(shè)備310傳輸當(dāng)前序列號(hào)和Vt466。在塊616,主設(shè)備310向主存儲(chǔ)裝置312提交寫入。在塊618,主設(shè)備310向?qū)?yīng)輔設(shè)備320 (例如Vc462所指示的輔設(shè)備320)傳輸寫入、當(dāng)前序列號(hào)和Vt466。在塊620,序列生成器440向涉及先前序列號(hào)的輔設(shè)備320 (例如Vp464所指示的輔設(shè)備320)傳輸當(dāng)前序列號(hào)和Vc462。在塊622,涉及先前序列號(hào)寫入的輔設(shè)備320向涉及當(dāng)前序列號(hào)寫入的輔設(shè)備320 (例如Vc462所指示的輔設(shè)備320)傳輸先前序列號(hào)完成消息。在塊624,涉及當(dāng)前序列號(hào)寫入的輔設(shè)備320從涉及先前序列號(hào)寫入的輔設(shè)備320接收先前序列號(hào)完成消息。在塊626,響應(yīng)于接收到所有先前序列號(hào)完成消息(例如驗(yàn)證從如Vt466指示的除了本身之外的每個(gè)輔設(shè)備320接收到序列號(hào)完成消息),涉及當(dāng)前序列號(hào)寫入的輔設(shè)備320向輔存儲(chǔ)裝置324提交寫入。
[0044]因此,本公開的實(shí)施例通過減少帶寬來實(shí)現(xiàn)更高效的寫入定序。例如本公開的實(shí)施例實(shí)現(xiàn)在減少設(shè)備之間的消息傳送之時(shí)按正確序列處理寫入。另外,本公開的實(shí)施例實(shí)現(xiàn)對(duì)于任何數(shù)目的設(shè)備按正確序列處理寫入而在任何一對(duì)相鄰序列號(hào)僅包含用于特定輔設(shè)備的寫入時(shí)無需向其它設(shè)備進(jìn)行消息傳送。
[0045]這里所用術(shù)語(yǔ)僅為了描述具體實(shí)施例而未旨在于限制公開內(nèi)容的示例實(shí)施例。如這里所用,除非上下文另有明示,單數(shù)形式“一個(gè)”和“該”旨在于也包括復(fù)數(shù)形式。還將理解術(shù)語(yǔ)“包括”在說明書中使用時(shí)指定存在陳述的特征、整件、步驟、操作、單元和/或部件、但是未排除存在或者添加一個(gè)或者多個(gè)其它特征、整件、步驟、操作、單元、部件和/或其組
八
口 ο
[0046]所附權(quán)利要求中的所有裝置或者步驟加上功能要素的對(duì)應(yīng)結(jié)構(gòu)、材料、動(dòng)作和等效物旨在于包括用于與如具體要求保護(hù)的其它權(quán)利要求要素組合執(zhí)行功能的任何結(jié)構(gòu)、材料或者動(dòng)作。已經(jīng)出于示例的目的而呈現(xiàn)本公開內(nèi)容的描述,但是該描述未旨在于窮舉公開內(nèi)容或者使公開內(nèi)容限于公開的實(shí)施例。許多修改和變化將為本領(lǐng)域普通技術(shù)人員所清楚而未脫離公開內(nèi)容的范圍和精神實(shí)質(zhì)。選擇和描述實(shí)施例以便最好地說明公開內(nèi)容的原理和實(shí)際應(yīng)用并且使本領(lǐng)域其他普通技術(shù)人員能夠?qū)τ诰哂腥缗c設(shè)想的特定使用相配的各種修改的各種實(shí)施例理解公開內(nèi)容。
[0047]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
【權(quán)利要求】
1.一種用于協(xié)調(diào)的寫入定序的方法,包括: 響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求,從所述主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求; 生成用于所述寫入的當(dāng)前序列號(hào); 基于所述當(dāng)前序列號(hào)生成第一標(biāo)識(shí)符,所述第一標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí); 基于所述當(dāng)前序列號(hào)和先前序列號(hào)生成第二標(biāo)識(shí)符,所述第二標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí); 向所述主設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第二標(biāo)識(shí)符;以及 向基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的所述輔設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第一標(biāo)識(shí)符。
2.根據(jù)權(quán)利要求1所述的方法,還包括從所述主設(shè)備向基于所述當(dāng)前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸所述寫入、所述當(dāng)前序列號(hào)和所述第二標(biāo)識(shí)符。
3.根據(jù)權(quán)利要求2所述的方法,還包括從基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的所述輔設(shè)備向基于所述當(dāng)前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸寫入完成消息,所述寫入完成消息指示完成基于 所述先前序列號(hào)的寫入。
4.根據(jù)權(quán)利要求1所述的方法,還包括配置所述第一標(biāo)識(shí)符為位矢量,其中所述位矢量的每個(gè)位位置對(duì)應(yīng)于特定輔設(shè)備。
5.根據(jù)權(quán)利要求1所述的方法,還包括配置所述第一標(biāo)識(shí)符和第二標(biāo)識(shí)符為位矢量,其中相應(yīng)位矢量的每個(gè)位位置對(duì)應(yīng)于特定輔設(shè)備。
6.根據(jù)權(quán)利要求4所述的方法,還包括配置具有與輔設(shè)備數(shù)量對(duì)應(yīng)的位數(shù)的所述位矢量。
7.根據(jù)權(quán)利要求3所述的方法,還包括響應(yīng)于所述輔設(shè)備從基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的每個(gè)輔設(shè)備接收到所述寫入完成消息,向輔存儲(chǔ)裝置提交用于所述當(dāng)前序列號(hào)的所述寫入。
8.一種用于協(xié)調(diào)的寫入定序的系統(tǒng),包括: 輸入/輸出(IO)處理器,被配置用于響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求而從所述主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求;以及 序列生成器,被配置用于: 生成用于所述寫入的當(dāng)前序列號(hào); 基于所述當(dāng)前序列號(hào)生成第一標(biāo)識(shí)符,所述第一標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí); 基于所述當(dāng)前序列號(hào)和先前序列號(hào)生成第二標(biāo)識(shí)符,所述第二標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí); 向所述主設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第二標(biāo)識(shí)符;以及 向基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的所述輔設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第一標(biāo)識(shí)符。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述主設(shè)備被配置用于向基于所述當(dāng)前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸所述寫入、所述當(dāng)前序列號(hào)和所述第二標(biāo)識(shí)符。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的所述輔設(shè)備被配置用于向基于所述當(dāng)前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸寫入完成消息,所述寫入完成消息指示完成基于所述先前序列號(hào)的寫入。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述第一標(biāo)識(shí)符包括位矢量,其中所述位矢量的每個(gè)位位置對(duì)應(yīng)于特定輔設(shè)備。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述第一標(biāo)識(shí)符和第二標(biāo)識(shí)符包括位矢量,其中相應(yīng)位矢量的每個(gè)位位置對(duì)應(yīng)于特定輔設(shè)備。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述位矢量包括與輔設(shè)備數(shù)量對(duì)應(yīng)的位數(shù)。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其中響應(yīng)于所述輔設(shè)備從基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的每個(gè)輔設(shè)備接收到所述寫入完成消息,向輔存儲(chǔ)裝置提交用于所述當(dāng)前序列號(hào)的所述寫入。
15.一種用于協(xié)調(diào)的寫入定序的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括: 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),具有利用其體現(xiàn)的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼包括計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼被配置用于: 響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求,從所述主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求; 生成用于所述寫入的當(dāng)前序列號(hào); 基于所述當(dāng)前序列號(hào)生成第一標(biāo)識(shí)符,所述第一標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí); 基于所述當(dāng)前序列號(hào)和先前序列號(hào)生成第二標(biāo)識(shí)符,所述第二標(biāo)識(shí)符指示向輔存儲(chǔ)裝置寫入的輔設(shè)備的標(biāo)識(shí); 向所述主設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第二標(biāo)識(shí)符;以及 向基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的所述輔設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第一標(biāo)識(shí)符。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中所述計(jì)算機(jī)可讀程序代碼被配置用于使所述主設(shè)備向基于所述當(dāng)前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸所述寫入、所述當(dāng)前序列號(hào)和所述第二標(biāo)識(shí)符。
17.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)程序產(chǎn)品,其中所述計(jì)算機(jī)可讀程序代碼被配置用于使基于所述先前序列號(hào)向輔存儲(chǔ)裝置寫入的所述輔設(shè)備向基于所述當(dāng)前序列號(hào)向輔存儲(chǔ)裝置寫入的輔設(shè)備傳輸寫入完成消息,所述寫入完成消息指示完成基于所述先前序列號(hào)的與入。
18.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中所述計(jì)算機(jī)可讀程序代碼被配置用于配置所述第一標(biāo)識(shí)符為位矢量,其中所述位矢量的每個(gè)位位置對(duì)應(yīng)于特定輔設(shè)備。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中所述計(jì)算機(jī)可讀程序代碼被配置用于配置具有與輔設(shè)備數(shù)量對(duì)應(yīng)的位數(shù)的所述位矢量。
20.一種用于協(xié)調(diào)的寫入定序的方法,包括: 響應(yīng)于主設(shè)備接收到對(duì)于向主存儲(chǔ)裝置寫入的請(qǐng)求,從所述主設(shè)備接收對(duì)于序列號(hào)的請(qǐng)求; 生成用于所述寫入的當(dāng)前序列號(hào);基于所述當(dāng)前序列號(hào)生成第一位矢量,所述第一位矢量標(biāo)識(shí)向輔存儲(chǔ)裝置寫入的輔設(shè)備; 基于先前序列號(hào)生成第二位矢量,所述第二位矢量標(biāo)識(shí)向輔存儲(chǔ)裝置寫入的輔設(shè)備;從所述第一位矢量和第二位矢量生成第三位矢量,所述第三位矢量標(biāo)識(shí)所述第一位矢量和所述第二位矢量所標(biāo)識(shí)的輔設(shè)備; 向所述主設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第三位矢量;以及 向所述第二位矢量所標(biāo)識(shí)的所述輔設(shè)備傳輸所述當(dāng)前序列號(hào)和所述第一位矢量。
21.根據(jù)權(quán)利要求20所述的方法,還包括從所述主設(shè)備向所述第二位矢量所標(biāo)識(shí)的輔設(shè)備傳輸所述寫入、所述當(dāng)前序列號(hào)和所述第三位矢量。
22.根據(jù)權(quán)利要求21所述的方法,還包括從所述第二位矢量所標(biāo)識(shí)的所述輔設(shè)備向所述第一位矢量所標(biāo)識(shí)的輔設(shè)備傳輸寫入完成消息,所述寫入完成消息指示完成基于所述先iu序列號(hào)的與入。
23.根據(jù)權(quán)利要求22所述的方法,還包括響應(yīng)于接收到所述寫入完成消息,向輔存儲(chǔ)裝置提交用于所述當(dāng)前序列號(hào)的所述寫入。
24.根據(jù)權(quán)利要求20所述的方法,還包括配置所述第一位矢量、第二位矢量和第三位矢量,其中每個(gè)相應(yīng)第一位矢量、第二位矢量和第三位矢量中的位位置對(duì)應(yīng)于特定輔設(shè)備。
25.根據(jù)權(quán)利要求24所述的方法,還包括配置具有與輔設(shè)備數(shù)量對(duì)應(yīng)的位數(shù)的所述第一位矢量、第二位矢量和第三位矢量。
【文檔編號(hào)】G06F12/16GK103959262SQ201280059137
【公開日】2014年7月30日 申請(qǐng)日期:2012年11月16日 優(yōu)先權(quán)日:2011年12月2日
【發(fā)明者】J·P·威爾金森 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司