欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

推測(cè)性數(shù)據(jù)鏡像裝置、方法和系統(tǒng)的制作方法

文檔序號(hào):6434955閱讀:167來(lái)源:國(guó)知局
專利名稱:推測(cè)性數(shù)據(jù)鏡像裝置、方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)系統(tǒng)。本發(fā)明尤其涉及用于推測(cè)性地(speculatively)將數(shù)據(jù)鏡像到一目標(biāo)卷的裝置、方法和系統(tǒng)。
背景技術(shù)
在如今的信息時(shí)代,常常使用計(jì)算設(shè)備來(lái)處理和存儲(chǔ)大量數(shù)據(jù)。商業(yè)和個(gè)人都同樣越來(lái)越依賴于計(jì)算機(jī)來(lái)存儲(chǔ)重要的個(gè)人和商務(wù)信息。當(dāng)對(duì)機(jī)器可讀的數(shù)據(jù)的依賴性增加時(shí),商業(yè)和個(gè)人更容易受到由數(shù)據(jù)丟失造成的損害。因此,數(shù)據(jù)備份系統(tǒng)的可靠性和效率從未象現(xiàn)在這樣重要。
數(shù)據(jù)備份系統(tǒng)通常創(chuàng)建與一計(jì)算設(shè)備相關(guān)聯(lián)的源數(shù)據(jù)的備份副本。源數(shù)據(jù)可包括文件、存儲(chǔ)卷、存儲(chǔ)器內(nèi)的數(shù)據(jù)、存儲(chǔ)設(shè)備內(nèi)的數(shù)據(jù)等。如果與計(jì)算設(shè)備相關(guān)聯(lián)的源數(shù)據(jù)被破壞或丟失,則可使用數(shù)據(jù)備份系統(tǒng)以用一備份副本來(lái)代替該被破壞或丟失的源數(shù)據(jù)。然而,備份副本和源數(shù)據(jù)之間的相似程度從而可靠性會(huì)根據(jù)備份數(shù)據(jù)被更新以匹配源數(shù)據(jù)的頻率而變化。如果備份數(shù)據(jù)與源數(shù)據(jù)同步更新,則備份數(shù)據(jù)被稱為是源數(shù)據(jù)的“鏡像”,并因而與源數(shù)據(jù)“一致”。
在數(shù)據(jù)鏡像的一種形式中,平行地將數(shù)據(jù)寫入兩個(gè)或更多的存儲(chǔ)卷中。其結(jié)果是,總可得到一個(gè)或多個(gè)多余的數(shù)據(jù)副本以防一個(gè)卷出現(xiàn)故障。在遠(yuǎn)程數(shù)據(jù)鏡像系統(tǒng)中,將數(shù)據(jù)寫入位于一個(gè)位置的源卷以及位于遠(yuǎn)程位置的一個(gè)或多個(gè)目標(biāo)卷。通常,一傳輸鏈路便利了在與源卷相連接的源存儲(chǔ)控制器和與目標(biāo)卷相連接的目標(biāo)存儲(chǔ)控制器之間的數(shù)據(jù)傳輸。傳輸鏈路通常是低效率的,其傳輸速率遠(yuǎn)低于源存儲(chǔ)控制器的讀和寫速率。
圖1是示出一典型的現(xiàn)有技術(shù)的遠(yuǎn)程數(shù)據(jù)鏡像系統(tǒng)100的結(jié)構(gòu)圖。所述現(xiàn)有技術(shù)的數(shù)據(jù)鏡像系統(tǒng)100包括一主機(jī)110、一文件系統(tǒng)112、一源存儲(chǔ)控制器114a、一目標(biāo)服務(wù)器120、一文件系統(tǒng)122、一目標(biāo)存儲(chǔ)控制器114b、一個(gè)或多個(gè)源卷130a和目標(biāo)卷130b,以及一傳輸鏈路150。
主機(jī)110可經(jīng)由文件系統(tǒng)112向源存儲(chǔ)控制器114a請(qǐng)求數(shù)據(jù)或向其發(fā)送數(shù)據(jù)。該文件系統(tǒng)112將操作系統(tǒng)調(diào)用翻譯成可被源存儲(chǔ)控制器114a識(shí)別的與存儲(chǔ)有關(guān)的命令。同樣地,目標(biāo)服務(wù)器120可經(jīng)由文件系統(tǒng)122向目標(biāo)控制控制器114b請(qǐng)求數(shù)據(jù)或發(fā)送數(shù)據(jù),該文件系統(tǒng)122將操作系統(tǒng)調(diào)用翻譯成可被目標(biāo)存儲(chǔ)控制器114b識(shí)別的與存儲(chǔ)有關(guān)的命令。
響應(yīng)于接收到來(lái)自操作系統(tǒng)或直接來(lái)自于應(yīng)用程序或?qū)嵱贸绦虻呐c存儲(chǔ)有關(guān)的命令,源存儲(chǔ)控制器114a將該些與存儲(chǔ)有關(guān)的命令翻譯成在源卷130a上的存儲(chǔ)操作。同樣地,目標(biāo)存儲(chǔ)控制器114b將與存儲(chǔ)有關(guān)的命令翻譯成在目標(biāo)卷130b上的存儲(chǔ)操作。存儲(chǔ)操作的示例包括讀操作、寫操作、復(fù)制操作等。
在數(shù)據(jù)鏡像期間,主機(jī)110經(jīng)由文件系統(tǒng)112和源存儲(chǔ)控制器114a向源卷130a發(fā)送寫數(shù)據(jù)。該源存儲(chǔ)控制器114a在源卷130a上進(jìn)行相應(yīng)的寫操作,同時(shí)還將該數(shù)據(jù)的一副本經(jīng)由傳輸鏈路150發(fā)送給目標(biāo)存儲(chǔ)控制器114b。作為響應(yīng),該目標(biāo)存儲(chǔ)控制器114b將該復(fù)制的數(shù)據(jù)寫入目標(biāo)存儲(chǔ)卷130b。這樣,目標(biāo)卷130b可包括源卷130a的一個(gè)相對(duì)最新的副本,并以一種基本連續(xù)的方式“鏡像”源卷130a。
傳輸鏈路150可用的帶寬經(jīng)常遠(yuǎn)小于源存儲(chǔ)控制器114a和源卷130a之間的帶寬。此外,同步鏡像操作經(jīng)常要求源存儲(chǔ)控制器114a在進(jìn)行到后面的操作之前,等待目標(biāo)卷上的鏡像操作完成。因此,源存儲(chǔ)控制器114a進(jìn)行的存儲(chǔ)操作的速率會(huì)降低到與該傳輸鏈路150的傳輸速率相匹配。這樣,該遠(yuǎn)程數(shù)據(jù)鏡像系統(tǒng)100的數(shù)據(jù)吞吐量被傳輸鏈路150的較低帶寬所限制,從而導(dǎo)致低效率的系統(tǒng)性能。
一種用于提高數(shù)據(jù)吞吐量的技術(shù)被稱為異步復(fù)制。在該技術(shù)中,使用一緩沖器來(lái)保存尚未通過(guò)傳輸鏈路150被發(fā)送給目標(biāo)存儲(chǔ)控制器114b的數(shù)據(jù)。將相應(yīng)于源卷130a上的讀和寫操作的數(shù)據(jù)存儲(chǔ)在該緩沖器中,并且一旦傳輸鏈路150允許就將該數(shù)據(jù)發(fā)送給目標(biāo)存儲(chǔ)控制器114b。因此,源存儲(chǔ)控制器11a可以接近全速的速度讀和寫源卷130a和向源卷130a,而與傳輸鏈路150的傳輸速率無(wú)關(guān)。盡管異步復(fù)制對(duì)一些操作是有用的,但是它并不適用于每種操作。一些操作例如鎖定操作就需要同步以便正確地完成。
鎖定操作鎖定存儲(chǔ)卷的一個(gè)區(qū)域,有效地阻止除某些讀和寫操作之外的全部操作訪問(wèn)該被鎖定區(qū)域。鎖定操作確保有序地訪問(wèn)可被多個(gè)進(jìn)程更新的存儲(chǔ)器。在某些實(shí)施例中,鎖定操作包括讀鎖定和/或?qū)戞i定,其中寫鎖定僅允許另一進(jìn)程進(jìn)行讀操作,而讀鎖定既不允許另一進(jìn)程進(jìn)行讀操作也不允許其進(jìn)行寫操作。
為了起動(dòng)鎖定操作,源存儲(chǔ)控制器114a向目標(biāo)存儲(chǔ)控制器114b發(fā)送一鎖定請(qǐng)求。當(dāng)該目標(biāo)存儲(chǔ)控制器114b已準(zhǔn)許該鎖定后,作為響應(yīng),該目標(biāo)存儲(chǔ)控制器114b向該源存儲(chǔ)控制器114a發(fā)送一確認(rèn)消息。該確認(rèn)消息通知源存儲(chǔ)控制器114a,目標(biāo)存儲(chǔ)控制器114b已準(zhǔn)備好接收另外的讀和寫操作。
在上述情境中,在目標(biāo)存儲(chǔ)控制器114b結(jié)束讀或?qū)懸槐徽?qǐng)求區(qū)域之前,目標(biāo)存儲(chǔ)控制器114b不能準(zhǔn)許在該被請(qǐng)求的區(qū)域上的鎖定。另外,在發(fā)送讀和寫數(shù)據(jù)之前,源存儲(chǔ)控制器114a必須等待確認(rèn)消息。因此,與迄今的同步操作例如鎖定操作有關(guān)的延遲大大降低了遠(yuǎn)程數(shù)據(jù)鏡像系統(tǒng)100的效率、可靠性和性能。
因此,需要一種可以克服與迄今的同步操作例如鎖定操作有關(guān)的傳輸?shù)却龝r(shí)間和其他時(shí)延的數(shù)據(jù)鏡像系統(tǒng)。具體地說(shuō),需要用于以異步方式在遠(yuǎn)程存儲(chǔ)卷上進(jìn)行鎖定操作的裝置、方法和系統(tǒng)。

發(fā)明內(nèi)容
響應(yīng)現(xiàn)有技術(shù)的當(dāng)前狀況,并尤其響應(yīng)當(dāng)前可用的數(shù)據(jù)鏡像系統(tǒng)還不能完全解決的現(xiàn)有技術(shù)中的問(wèn)題和需求,做出本發(fā)明。因此,所做出的本發(fā)明提供一種用于鏡像數(shù)據(jù)的裝置、方法和系統(tǒng),其克服了現(xiàn)有技術(shù)的許多或全部上述缺點(diǎn)。
在本發(fā)明的第一方面中,一種用于推測(cè)性數(shù)據(jù)鏡像的裝置包括一回退(rollback)日志,該日志被配置成接收與一個(gè)或多個(gè)對(duì)一源卷內(nèi)的一被選擇的存儲(chǔ)區(qū)域的寫操作相對(duì)應(yīng)的數(shù)據(jù)。還包括一鏡像控制模塊,該模塊被配置成在一目標(biāo)卷內(nèi)的一相應(yīng)存儲(chǔ)區(qū)域上起動(dòng)一同步操作,并向該目標(biāo)卷發(fā)送與該寫操作相對(duì)應(yīng)的數(shù)據(jù)而無(wú)需等待關(guān)于鎖定操作的反饋。該同步操作可以是一鎖定操作。該鏡像控制模塊也可被配置成響應(yīng)于在該目標(biāo)上成功地完成該寫操作而刪除與該寫操作相對(duì)應(yīng)的數(shù)據(jù),或者在發(fā)生錯(cuò)誤時(shí)重新發(fā)送與該寫操作相對(duì)應(yīng)的數(shù)據(jù)。由于本發(fā)明的元件的獨(dú)特的配置和操作,通過(guò)假設(shè)同步鏡像操作例如鎖定操作將成功,基本上消除了與該些操作相關(guān)聯(lián)的等待時(shí)間。
在某些實(shí)施例中,將命令與數(shù)據(jù)一起存儲(chǔ)在該回退日志中,該些命令指示將在該目標(biāo)卷上執(zhí)行什么操作。該裝置也可包括一可操作地與該源卷相連接的源存儲(chǔ)控制器和一可操作地與該目標(biāo)卷相連接的目標(biāo)存儲(chǔ)控制器。在某些實(shí)施例中,一傳輸鏈路可操作地將該源存儲(chǔ)控制器和該目標(biāo)存儲(chǔ)控制器相連接。
同步鏡像操作例如鎖定操作被假設(shè)成功完成。例如,在起動(dòng)一鎖定操作的同時(shí),可將一鎖定命令發(fā)送給該目標(biāo)卷。然后該目標(biāo)控制器可在該源卷上鎖定一個(gè)區(qū)域,并對(duì)該區(qū)域進(jìn)行一個(gè)或多個(gè)寫操作而無(wú)需等待關(guān)于該目標(biāo)卷上的鎖定操作的反饋。如果操作失敗,則可參考位于該回退日志中的命令和數(shù)據(jù)以再次嘗試該失敗的操作。
在某些實(shí)施例中,在一被選擇的目標(biāo)卷區(qū)域上起動(dòng)一鎖定操作鎖定了該目標(biāo)卷的被選擇的區(qū)域,從而允許在該被選擇的區(qū)域上進(jìn)行寫操作。在其他實(shí)施例中,寫操作和鎖定操作基本上是原子的(atomic),發(fā)送與一寫操作相對(duì)應(yīng)的數(shù)據(jù)到該目標(biāo)卷自動(dòng)在特定于該寫操作的被選擇的目標(biāo)卷區(qū)域上起動(dòng)一鎖定操作。
該鏡像控制模塊的其他功能可包括響應(yīng)于拒絕該鎖定操作而暫停傳輸對(duì)應(yīng)于該寫操作的數(shù)據(jù),并響應(yīng)于該鎖定操作的后來(lái)執(zhí)行而重新開始傳輸存儲(chǔ)在該回退日志中的數(shù)據(jù)。在另一實(shí)施例中,響應(yīng)于該鎖定操作的后來(lái)執(zhí)行,該鏡像控制模塊起動(dòng)重新傳輸該數(shù)據(jù)。根據(jù)本地和遠(yuǎn)程存儲(chǔ)系統(tǒng)的不同特性,在不同系統(tǒng)中可使用不同實(shí)施例以獲得最佳性能。
在本發(fā)明的另一方面中,一種用于推測(cè)性數(shù)據(jù)鏡像的方法包括接收與一個(gè)或多個(gè)對(duì)一源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作相對(duì)應(yīng)的數(shù)據(jù),將該數(shù)據(jù)插入一回退日志,在一目標(biāo)卷內(nèi)的一相應(yīng)存儲(chǔ)區(qū)域上起動(dòng)一同步操作,以及將對(duì)應(yīng)于該寫操作的數(shù)據(jù)發(fā)送給該目標(biāo)卷而無(wú)需等待關(guān)于該鎖定操作的反饋。
起動(dòng)一鎖定操作的某些實(shí)施例可包括向該目標(biāo)卷發(fā)送一鎖定命令。在一個(gè)實(shí)施例中,向一目標(biāo)卷發(fā)送一鎖定命令促使鎖定該目標(biāo)卷的一個(gè)區(qū)域,從而允許在該鎖定區(qū)域上進(jìn)行多個(gè)寫操作。在另一實(shí)施例中,響應(yīng)于在該目標(biāo)卷或控制器上接收到與一寫操作相對(duì)應(yīng)的數(shù)據(jù),自動(dòng)發(fā)生鎖定該目標(biāo)卷區(qū)域。在某些實(shí)施例中,推測(cè)性執(zhí)行不能適用于讀鎖定以及任何與之有關(guān)的操作。
在將對(duì)應(yīng)于寫操作的數(shù)據(jù)插入該回退日志的同時(shí),也可將同步命令例如鎖定命令插入該回退日志,并且響應(yīng)于在該目標(biāo)卷上成功執(zhí)行該相應(yīng)的操作而從回退日志中刪除該同步命令。另外,響應(yīng)于在該目標(biāo)卷上成功執(zhí)行相應(yīng)的操作,也可從該回退日志中刪除與操作例如寫操作相對(duì)應(yīng)的數(shù)據(jù)。
用于推測(cè)性數(shù)據(jù)鏡像的該方法的一個(gè)實(shí)施例包括響應(yīng)于拒絕在該目標(biāo)卷上執(zhí)行一鎖定操作而暫停傳輸對(duì)應(yīng)于該寫操作的數(shù)據(jù)。響應(yīng)于成功執(zhí)行該鎖定操作,該方法可隨后重新開始傳輸存儲(chǔ)在該回退日志中的數(shù)據(jù)。
該推測(cè)性數(shù)據(jù)鏡像方法提供了用于鏡像數(shù)據(jù)的吞吐量高效的過(guò)程。這種效率的獲得部分地是由于進(jìn)行隨后的操作,例如寫操作,而無(wú)需等待關(guān)于初始操作的反饋,例如該初始操作或與其相關(guān)聯(lián)的命令的接受、完成或拒絕。
可將本發(fā)明的各種元件結(jié)合到一個(gè)用于推測(cè)性數(shù)據(jù)鏡像的系統(tǒng)中。在一個(gè)實(shí)施例中,用于推測(cè)性數(shù)據(jù)鏡像的系統(tǒng)包括一可操作地與一源卷相連接的源存儲(chǔ)控制器、一可操作地與一目標(biāo)卷相連接的目標(biāo)存儲(chǔ)控制器、一回退日志、一可操作地與該目標(biāo)存儲(chǔ)控制器相連接的存儲(chǔ)控制模塊和一可操作地與該源存儲(chǔ)控制器相連接的鏡像控制模塊。
該回退日志可接收與操作例如對(duì)該源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作相對(duì)應(yīng)的數(shù)據(jù),并且該存儲(chǔ)控制模塊可在該目標(biāo)卷的一相應(yīng)區(qū)域上起動(dòng)一鎖定操作。另外,該鏡像控制模塊可將對(duì)應(yīng)于該寫操作的數(shù)據(jù)發(fā)送給該目標(biāo)卷而無(wú)需等待關(guān)于該鎖定操作的反饋。
本發(fā)明的各種元件和方面有利于在一數(shù)據(jù)鏡像系統(tǒng)內(nèi)進(jìn)行吞吐量高效的數(shù)據(jù)傳輸。從以下的說(shuō)明和所附的權(quán)利要求,或者從對(duì)下文給出的本發(fā)明的實(shí)施中,可更清楚地了解本發(fā)明的這些和其他的特征和優(yōu)點(diǎn)。


為了更好地理解本發(fā)明的優(yōu)點(diǎn),下面將參照附圖中所示的特定實(shí)施例來(lái)更具體地描述上面已簡(jiǎn)單描述的本發(fā)明。理解到這些附圖只是示出了本發(fā)明的典型實(shí)施例,因而不能被認(rèn)為限制本發(fā)明的范圍,將利用附圖用額外的特征和細(xì)節(jié)來(lái)說(shuō)明和解釋本發(fā)明,在附圖中圖1是示出一現(xiàn)有技術(shù)的典型的遠(yuǎn)程數(shù)據(jù)鏡像系統(tǒng)的結(jié)構(gòu)圖;圖2是示出本發(fā)明的推測(cè)性數(shù)據(jù)鏡像系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)圖;圖3是示出本發(fā)明的推測(cè)性數(shù)據(jù)鏡像系統(tǒng)的一個(gè)實(shí)施例的流程圖;圖4是示出本發(fā)明的推測(cè)性數(shù)據(jù)鏡像系統(tǒng)的另一個(gè)實(shí)施例的流程圖;圖5是更詳細(xì)地示出以預(yù)期的方式操作的圖2中的推測(cè)性數(shù)據(jù)鏡像系統(tǒng)的某些方面的結(jié)構(gòu)圖。
圖6是示出本發(fā)明的一雙向推測(cè)性數(shù)據(jù)系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)圖。
具體實(shí)施例方式
應(yīng)容易理解,可將如在這里的附圖中一般地說(shuō)明和示出的、本發(fā)明的部件設(shè)置和設(shè)計(jì)成許多不同配置。因此,后面對(duì)如圖2到6所示的本發(fā)明的裝置、方法和系統(tǒng)的實(shí)施例的更詳細(xì)的說(shuō)明不是旨在限制本發(fā)明的范圍,而是僅代表本發(fā)明的選擇的實(shí)施例,本發(fā)明的范圍在權(quán)利要求書中給出。
已將此說(shuō)明書中說(shuō)明的許多功能單元標(biāo)記為模塊,以便特別強(qiáng)調(diào)它們的實(shí)現(xiàn)無(wú)關(guān)性。例如,一模塊可實(shí)現(xiàn)成一個(gè)包含定制的VLSI電路或門陣列、現(xiàn)成的半導(dǎo)體例如邏輯芯片、晶體管或其他離散元件的硬件電路。一模塊也可在可編程硬件器件例如場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯器件等中實(shí)現(xiàn)。
模塊也可在用于由不同類型的處理器執(zhí)行的軟件中實(shí)現(xiàn)。例如,可執(zhí)行代碼的一被識(shí)別的模塊可包括一個(gè)或多個(gè)例如可被組織成一對(duì)象、過(guò)程或函數(shù)的計(jì)算機(jī)指令的物理塊或邏輯塊。然而,一被識(shí)別的模塊的可執(zhí)行代碼不必物理上位于一起,而是可包括存儲(chǔ)在不同位置的不同的指令,當(dāng)該些指令在邏輯上被接合在一起時(shí),其構(gòu)成該模塊并實(shí)現(xiàn)該模塊的所規(guī)定的用途。
實(shí)際上,一個(gè)可執(zhí)行代碼的模塊可以是單個(gè)指令,或多個(gè)指令,并甚至可以分布在幾個(gè)不同的代碼段上,在不同程序中,并跨越幾個(gè)存儲(chǔ)設(shè)備。同樣,在這里,操作數(shù)據(jù)可在模塊中被識(shí)別和描述,并可體現(xiàn)為任何適當(dāng)?shù)男问胶捅唤M織成任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)。操作數(shù)據(jù)可被集合為單個(gè)數(shù)據(jù)集,或分布在不同位置包括不同存儲(chǔ)設(shè)備上,并且可以至少部分地僅作為系統(tǒng)或網(wǎng)絡(luò)上的電信號(hào)存在。
圖2是示出本發(fā)明的一推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200的一個(gè)實(shí)施例的結(jié)構(gòu)圖。所述推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200包括一主機(jī)110、一文件系統(tǒng)112、一目標(biāo)服務(wù)器120、一文件系統(tǒng)122、一個(gè)或多個(gè)源存儲(chǔ)卷130a、一個(gè)或多個(gè)目標(biāo)存儲(chǔ)卷130b、一傳輸鏈路150、一源存儲(chǔ)控制器210a和一目標(biāo)存儲(chǔ)控制器210b。所述源存儲(chǔ)控制器210a還包括一存儲(chǔ)控制模塊212a、一鏡像控制模塊214a和一回退日志216a,而所述目標(biāo)存儲(chǔ)控制器210b還包括一存儲(chǔ)控制模塊212b、一鏡像控制模塊214b和一提交日志216b。
通過(guò)假設(shè)同步操作例如鎖定操作將在目標(biāo)系統(tǒng)上成功執(zhí)行并通過(guò)提供用于完成失敗的操作的手段,該推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200減小了與同步操作有關(guān)的時(shí)延。例如,在同步操作不成功時(shí),可使用回退日志216a和提交日志216b來(lái)再次嘗試該失敗的操作,以及與之相關(guān)聯(lián)的任何隨后的操作,例如寫操作。
在一個(gè)實(shí)施例中,該源存儲(chǔ)控制器210a在目標(biāo)卷130b上起動(dòng)一同步操作例如鎖定操作,然后立即進(jìn)行隨后的操作例如寫操作而無(wú)需在發(fā)送該寫操作之前等待關(guān)于該同步操作的反饋。不等待反饋提高了該推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200的性能。
在一個(gè)實(shí)施例中,起動(dòng)一鎖定操作包括從源存儲(chǔ)控制器210a經(jīng)由傳輸鏈路150向目標(biāo)存儲(chǔ)控制器210b發(fā)送一鎖定命令。該鎖定命令可包括一個(gè)鎖定跨越幾個(gè)邏輯塊地址(LBA)的、目標(biāo)卷130b的一個(gè)區(qū)域的指令?;蛘?,在一個(gè)實(shí)施例中,通過(guò)向該目標(biāo)存儲(chǔ)控制器210b發(fā)送對(duì)應(yīng)于一寫操作的數(shù)據(jù)起動(dòng)一隱式鎖定操作。
該推測(cè)性操作可由所示與主機(jī)110相連接的源存儲(chǔ)控制器210a和所示與目標(biāo)服務(wù)器120相連接的目標(biāo)存儲(chǔ)控制器210b促成。該主機(jī)110和目標(biāo)服務(wù)器120與該些存儲(chǔ)控制器210相交互,以分別從源卷130a讀取和向目標(biāo)卷130b寫入。
在讀和寫操作期間,主機(jī)110可經(jīng)由文件系統(tǒng)112向源存儲(chǔ)控制器210a發(fā)送讀和寫請(qǐng)求,該文件系統(tǒng)112將操作系統(tǒng)調(diào)用翻譯成針對(duì)源存儲(chǔ)控制器210a的命令。同樣地,目標(biāo)服務(wù)器120可經(jīng)由文件系統(tǒng)122從目標(biāo)存儲(chǔ)控制器210b中請(qǐng)求數(shù)據(jù)并向其發(fā)送數(shù)據(jù)。
源存儲(chǔ)控制器210a可將來(lái)自文件系統(tǒng)112的命令翻譯成在源卷130a上的操作。同樣,目標(biāo)存儲(chǔ)控制器210b可將來(lái)自文件系統(tǒng)122的命令翻譯成在目標(biāo)卷130b上的操作。操作可包括讀操作、寫操作、復(fù)制操作等。
存儲(chǔ)控制模塊212、鏡像控制模塊214和日志216可操作地與本地存儲(chǔ)控制器210相連接。在所述實(shí)施例中,上述模塊包含在該存儲(chǔ)控制器210中。在其他可選擇的實(shí)施例中,根據(jù)在其中使用本發(fā)明的特定系統(tǒng)的結(jié)構(gòu),上述模塊中的每一個(gè)可包含在主機(jī)110、目標(biāo)服務(wù)器120或類似物中。
存儲(chǔ)控制模塊212可起動(dòng)在卷130內(nèi)的存儲(chǔ)區(qū)域上的同步操作例如鎖定操作。鏡像控制模塊214可將與同步操作相關(guān)聯(lián)的命令或數(shù)據(jù)插入它們各自的日志214、以及從中檢索和刪除。另外,鏡像控制模塊214可將存儲(chǔ)在日志216中的命令或數(shù)據(jù)發(fā)送給另一個(gè)控制器210。
在某些實(shí)施例中,鏡像控制模塊214a向目標(biāo)存儲(chǔ)控制器210b發(fā)送一同步命令例如一鎖定命令,然后向該目標(biāo)存儲(chǔ)控制器210b發(fā)送其他的與該同步命令相關(guān)聯(lián)的命令和數(shù)據(jù)(例如寫命令和寫數(shù)據(jù)),而無(wú)需等待關(guān)于同步命令的反饋例如接收。該反饋可包括完成或拒絕同步命令或與其相關(guān)聯(lián)的操作。在某些實(shí)施例中,與讀鎖定有關(guān)的操作可能需要等待任何待決的寫鎖定操作和相關(guān)操作的完成,以及對(duì)該讀鎖定操作的確認(rèn)。在上述實(shí)施例中,推測(cè)性執(zhí)行不能用于讀鎖定以及與其相關(guān)聯(lián)的操作。
在一個(gè)實(shí)施例中,鏡像控制模塊214a被配置為響應(yīng)于一命令在目標(biāo)卷130b上成功執(zhí)行而從回退日志中刪除該命令。另外,響應(yīng)于一命令在目標(biāo)卷130b上成功執(zhí)行,鏡像控制模塊214a可從回退日志216a中刪除對(duì)應(yīng)于該命令的數(shù)據(jù)。
在一個(gè)實(shí)施例中,所述日志216是一數(shù)據(jù)結(jié)構(gòu)例如一鏈表、一數(shù)組、一隊(duì)列或類似物。這樣,日志216可在先進(jìn)先出(FIFO)的基礎(chǔ)上工作。例如,鏡像控制模塊214可以將數(shù)據(jù)或命令插入一日志216中的順序從一日志216中刪除數(shù)據(jù)或命令。另外,可將日志216存儲(chǔ)在存儲(chǔ)控制器210內(nèi)的一處理器存儲(chǔ)器中?;蛘撸蓪⑷罩?16存儲(chǔ)在卷130內(nèi)。在一個(gè)實(shí)施例中,將日志216存儲(chǔ)在存儲(chǔ)控制器210中,并且響應(yīng)于接收到大量的命令或數(shù)據(jù)可將日志216擴(kuò)展到卷130上。
在一個(gè)實(shí)施例中,卷130包括一個(gè)或多個(gè)存儲(chǔ)設(shè)備例如硬盤驅(qū)動(dòng)器。卷130也可以是一獨(dú)立磁盤冗余陣列(RAID)。盡管沒有說(shuō)明,存儲(chǔ)控制器210可以是一冗余控制器,如對(duì)于RAID系統(tǒng)常見的那樣。在這樣的配置中,可用一種本領(lǐng)域的技術(shù)人員所熟知的方式將在存儲(chǔ)控制器210中的所述模塊復(fù)制到每個(gè)控制器上。例如,在一個(gè)實(shí)施例中,與主機(jī)110相連接的冗余存儲(chǔ)控制器210a可也包括一存儲(chǔ)控制模塊212a、一鏡像控制模塊214a和一回退日志216a。與目標(biāo)服務(wù)器120相連接的冗余存儲(chǔ)控制器210b也可包括一存儲(chǔ)控制模塊212b、一鏡像控制模塊214b和一提交日志216b。
推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200中的各種元件有助于提高數(shù)據(jù)鏡像性能。這種性能部分地是通過(guò)鏡像控制模塊214提高的,該模塊在接收到對(duì)在目標(biāo)卷130b上的同步操作的確認(rèn)之前,推測(cè)性地發(fā)送對(duì)應(yīng)于該同步操作的命令和數(shù)據(jù)。
圖3是示出本發(fā)明的一推測(cè)性數(shù)據(jù)鏡像方法300的一個(gè)實(shí)施例的流程圖。推測(cè)性數(shù)據(jù)鏡像方法300的所述實(shí)施例包括一起動(dòng)同步操作的步驟310、一發(fā)送相關(guān)數(shù)據(jù)的步驟320、一插入回退日志的步驟330、一錯(cuò)誤接收檢驗(yàn)340、一起動(dòng)回退操作的步驟350和一結(jié)束步驟360。該推測(cè)性數(shù)據(jù)鏡像方法600是從源存儲(chǔ)控制器例如圖2的源存儲(chǔ)控制器210a的角度進(jìn)行的。
該起動(dòng)同步操作的步驟310在一目標(biāo)卷例如目標(biāo)卷130b上起動(dòng)一同步操作例如一鎖定操作。在一個(gè)實(shí)施例中,圖2的鏡像控制模塊214a通過(guò)經(jīng)由傳輸鏈路150將一對(duì)應(yīng)于該同步操作的命令發(fā)送給鏡像控制模塊214b來(lái)起動(dòng)該同步操作。在另一個(gè)實(shí)施例中,該鏡像控制模塊214a可通過(guò)發(fā)送一寫命令來(lái)起動(dòng)該同步操作,該寫命令暗示對(duì)該鏡像控制模塊214b的鎖定操作。
該發(fā)送相關(guān)數(shù)據(jù)的步驟320將來(lái)自于一源存儲(chǔ)控制器例如源存儲(chǔ)控制器210的數(shù)據(jù)例如與該同步操作相關(guān)聯(lián)的數(shù)據(jù)發(fā)送給一目標(biāo)存儲(chǔ)控制器例如目標(biāo)存儲(chǔ)控制器210b。該發(fā)送相關(guān)數(shù)據(jù)的步驟320還可包括將來(lái)自于鏡像控制模塊214a的對(duì)應(yīng)于寫操作的數(shù)據(jù)發(fā)送給鏡像控制模塊214b。在一個(gè)實(shí)施例中,鏡像控制模塊214a發(fā)送該相關(guān)數(shù)據(jù)而無(wú)需等待來(lái)自于目標(biāo)存儲(chǔ)控制器210b的關(guān)于該鎖定操作的通信。
插入回退日志的步驟330可將一鎖定命令、對(duì)應(yīng)于一寫操作的數(shù)據(jù),或者這兩者插入一日志例如回退日志216a。在一個(gè)實(shí)施例中,鏡像控制模塊214a將與在源卷130a的一個(gè)區(qū)域上進(jìn)行的寫操作相對(duì)應(yīng)的數(shù)據(jù)插入回退日志216a,并也將對(duì)目標(biāo)卷130b的一相應(yīng)區(qū)域的一鎖定命令插入回退日志216a??稍趯⒃搶憯?shù)據(jù)插入回退日志214a之前,將鎖定命令插入回退日志216a。另外,可按FIFO的順序?qū)㈡i定命令和數(shù)據(jù)插入回退日志216a,以及從回退日志216a中將其刪除。
錯(cuò)誤接收檢驗(yàn)340確定是否已經(jīng)從一目標(biāo)存儲(chǔ)控制器例如目標(biāo)存儲(chǔ)控制器210b接收到一錯(cuò)誤消息。一個(gè)這種錯(cuò)誤消息可指示鎖定操作已被拒絕。另一個(gè)錯(cuò)誤消息可指示對(duì)應(yīng)于一寫操作的數(shù)據(jù)已被破壞。在一個(gè)實(shí)施例中,鏡像控制模塊214a接收來(lái)自鏡像控制模塊214b的錯(cuò)誤消息。
如果沒有接收到錯(cuò)誤消息,則該方法轉(zhuǎn)到結(jié)束步驟360。然而,如果接收到錯(cuò)誤消息,則該方法轉(zhuǎn)到起動(dòng)回退操作的步驟350。在步驟350中,該方法可向目標(biāo)存儲(chǔ)控制器重新發(fā)送對(duì)應(yīng)于被破壞的寫操作的鎖定命令或數(shù)據(jù)。
在一個(gè)實(shí)施例中,起動(dòng)回退操作350包括重新發(fā)送對(duì)應(yīng)于被破壞的寫操作的數(shù)據(jù)和其后被插入回退日志216a的所有數(shù)據(jù)或命令。在另一個(gè)實(shí)施例中,如果錯(cuò)誤消息指示一鎖定命令被拒絕,起動(dòng)回退操作350可包括重新發(fā)送鎖定命令以及在該鎖定命令后被插入回退日志216a的所有數(shù)據(jù)或命令?;蛘撸憫?yīng)接收到一鎖定命令拒絕消息而起動(dòng)回退操作350可包括暫停傳送寫數(shù)據(jù),直到已成功執(zhí)行該鎖定操作為止,然后重新開始傳送數(shù)據(jù)、鎖定命令、或數(shù)據(jù)和鎖定命令兩者。然后,該方法在結(jié)束步驟360終止。
因此,該推測(cè)性數(shù)據(jù)鏡像方法300提供了回退操作以從錯(cuò)誤例如鎖定操作拒絕和被破壞的寫數(shù)據(jù)中恢復(fù),以及一種推測(cè)性數(shù)據(jù)傳輸方法。通過(guò)提供方法以從推測(cè)過(guò)程中的潛在錯(cuò)誤中恢復(fù),該推測(cè)性數(shù)據(jù)鏡像方法300提供了用于推測(cè)性地鏡像數(shù)據(jù)的一種健壯的方法。
圖4是示出本發(fā)明的推測(cè)性數(shù)據(jù)鏡像方法400的另一實(shí)施例的流程圖。該推測(cè)性數(shù)據(jù)鏡像方法400的所述實(shí)施例包括一接收命令/數(shù)據(jù)的步驟410、一插入命令/數(shù)據(jù)的步驟420、一操作準(zhǔn)許檢驗(yàn)430、一進(jìn)行有關(guān)操作的步驟440、一刪除命令/數(shù)據(jù)的步驟450和一結(jié)束步驟460。所述推測(cè)性數(shù)據(jù)鏡像方法400是從一目標(biāo)存儲(chǔ)控制器例如圖2的目標(biāo)存儲(chǔ)控制器210b的角度進(jìn)行的。
接收命令/數(shù)據(jù)的步驟410可接收一鎖定命令、對(duì)應(yīng)于一寫操作的數(shù)據(jù)或這兩者。例如,圖2的鏡像控制模塊214b可經(jīng)由傳輸鏈路150從鏡像控制模塊214a接收一鎖定命令和對(duì)應(yīng)于一個(gè)或多個(gè)寫操作的數(shù)據(jù)。
插入命令/數(shù)據(jù)的步驟420將所接收的命令和相關(guān)數(shù)據(jù)插入一提交日志例如提交日志216b??捎孟冗M(jìn)先出(FIFO)的方式插入所接收的命令和數(shù)據(jù),從而最先插入提交日志216b的命令或數(shù)據(jù)最先從提交日志216b中被刪除。
操作準(zhǔn)許檢驗(yàn)430確定在目標(biāo)卷130b的一區(qū)域上是否已準(zhǔn)許對(duì)應(yīng)于所接收的命令的操作。如果準(zhǔn)許該操作例如一鎖定操作,則該方法轉(zhuǎn)到進(jìn)行相關(guān)操作的步驟440。否則,該方法循環(huán)回到操作準(zhǔn)許檢驗(yàn)430。
在一個(gè)實(shí)施例中,如果操作準(zhǔn)許檢驗(yàn)430確定還沒有準(zhǔn)許一操作例如鎖定操作,一模塊例如存儲(chǔ)控制模塊212b可在目標(biāo)存儲(chǔ)控制器210b中創(chuàng)建鎖定拒絕的一個(gè)記錄。該記錄可防止該目標(biāo)存儲(chǔ)控制器210b繼續(xù)在目標(biāo)存儲(chǔ)卷130b的該區(qū)域上執(zhí)行由目標(biāo)服務(wù)器120起動(dòng)的鎖定操作或類似操作。
進(jìn)行相關(guān)操作的步驟440執(zhí)行與被準(zhǔn)許的操作相關(guān)聯(lián)的操作,而刪除命令/數(shù)據(jù)的步驟450從提交日志216b刪除任何與被準(zhǔn)許的操作相關(guān)聯(lián)的命令或數(shù)據(jù)。例如,在進(jìn)行相關(guān)操作的步驟440中可執(zhí)行一個(gè)或多個(gè)與一鎖定操作相關(guān)聯(lián)的寫操作,而在刪除命令/數(shù)據(jù)的步驟450中可從提交日志216b刪除所有與該鎖定操作相關(guān)聯(lián)的命令和數(shù)據(jù)。
在一個(gè)實(shí)施例中,響應(yīng)于在目標(biāo)卷130b的該區(qū)域上成功地執(zhí)行對(duì)應(yīng)于一鎖定命令的鎖定操作,刪除命令/數(shù)據(jù)的步驟450刪除該鎖定命令。在另一個(gè)實(shí)施例中,響應(yīng)于成功執(zhí)行一寫操作,刪除命令/數(shù)據(jù)的步驟450從提交日志216b刪除對(duì)應(yīng)于該寫操作的數(shù)據(jù)。
該方法在結(jié)束步驟460終止。該推測(cè)性數(shù)據(jù)鏡像方法400提供了一種高效的過(guò)程,使得目標(biāo)存儲(chǔ)控制器推測(cè)性地接收鎖定操作和對(duì)應(yīng)于寫操作的數(shù)據(jù)。
圖5是更詳細(xì)地示出以預(yù)期的方式操作的圖2中的推測(cè)性數(shù)據(jù)鏡像系統(tǒng)的某些方面的結(jié)構(gòu)圖。該所述的推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200局限于一鏡像控制模塊214a、一鏡像控制模塊214b、一具有條目510a的回退日志216a和一具有條目510b的提交日志216b。該些條目510a示出日志216的工作方式的一個(gè)示例。
在所述實(shí)施例中,鏡像控制模塊214a經(jīng)由一傳輸鏈路(未示出)與鏡像控制模塊214b通信以促使將鎖定命令、對(duì)應(yīng)于寫操作的數(shù)據(jù)等推測(cè)性地傳輸給一目標(biāo)卷例如目標(biāo)卷130b。通過(guò)促使該推測(cè)性傳輸,上述元件可克服通常與同步操作例如鎖定操作相關(guān)聯(lián)的性能損失。
在所述示例中,回退日志216a中的每個(gè)條目510a和提交日志216b中的每個(gè)條目510b包括與將在一目標(biāo)卷上進(jìn)行的操作相關(guān)聯(lián)的數(shù)據(jù)和/或命令。使用鏡像控制模塊214a可將條目510a插入回退日志216a以及將其從回退日志216a中刪除。同樣,使用鏡像控制模塊214b可將條目510b插入提交日志216b或?qū)⑵鋸奶峤蝗罩?16b中刪除。在某些實(shí)施例中,存儲(chǔ)在條目510a中的數(shù)據(jù)和命令分別對(duì)應(yīng)于將在目標(biāo)卷上進(jìn)行的寫操作和鎖定操作。
在一個(gè)實(shí)施例中,如果一條目510a包含一鎖定命令,則該條目510a也可包含在該目標(biāo)卷上將被鎖定的邏輯塊地址(LBA)的范圍、卷標(biāo)識(shí)符等。該范圍可對(duì)應(yīng)于結(jié)合圖2以及在別處討論的目標(biāo)卷的區(qū)域。如果條目510a包含對(duì)應(yīng)于一寫操作的數(shù)據(jù),則條目510a也可包含用于該寫操作的元數(shù)據(jù),該元數(shù)據(jù)指示將在目標(biāo)卷上的什么地方寫該數(shù)據(jù)。元數(shù)據(jù)可包括地址信息、卷標(biāo)識(shí)符等。
在某些實(shí)施例中,響應(yīng)于在一源卷例如源卷130上執(zhí)行寫操作,鏡像控制模塊214a將一鎖定命令插入回退日志216a。該鏡像控制模塊214a還可將對(duì)應(yīng)于在該源卷上執(zhí)行的寫操作的數(shù)據(jù)插入回退日志216a中。在一個(gè)實(shí)施例中,鏡像控制模塊214a還可向鏡像控制模塊214b發(fā)送該鎖定命令和對(duì)應(yīng)于該寫操作的數(shù)據(jù)。
響應(yīng)于接收到該鎖定命令和與該寫操作相對(duì)應(yīng)的數(shù)據(jù),鏡像控制模塊214b可將該鎖定命令和與該寫操作相對(duì)應(yīng)的數(shù)據(jù)插入提交日志216b。另外,鏡像控制模塊214b可向一模塊例如存儲(chǔ)控制模塊212b發(fā)送該鎖定命令,該模塊轉(zhuǎn)而嘗試在該目標(biāo)卷的一個(gè)區(qū)域上進(jìn)行一鎖定操作。
由于系統(tǒng)等待時(shí)間和該傳輸鏈路有限的帶寬,回退日志216a可包含比提交日志216b更多的條目。回退日志216a中額外的條目代表還沒有通過(guò)傳輸鏈路被發(fā)送的數(shù)據(jù)或命令。在所述實(shí)施例中,已通過(guò)傳輸鏈路發(fā)送了條目510a中的5個(gè)。每一個(gè)被發(fā)送的條目510a已被插入提交日志210b以作為條目510b。箭頭502指示對(duì)應(yīng)于條目510b的條目510a。
響應(yīng)于在該目標(biāo)卷上成功的鎖定操作,該鏡像控制模塊214b可從提交日志216b刪除該鎖定命令并向該鏡像控制模塊214a發(fā)送一確認(rèn)消息,該確認(rèn)消息指示該鎖定操作已成功。在一個(gè)實(shí)施例中,響應(yīng)于接收到該確認(rèn)消息,鏡像控制模塊214a可從回退日志216a中刪除該鎖定命令。
同樣,如果對(duì)應(yīng)于一寫操作的數(shù)據(jù)被成功地寫入目標(biāo)卷,則鏡像控制模塊214b可從提交日志216b刪除該數(shù)據(jù)并向鏡像控制模塊214a發(fā)送一確認(rèn)消息,該確認(rèn)消息指示該寫操作已成功。另外,響應(yīng)于接收到該確認(rèn)消息,該鏡像控制模塊214a可從該回退日志216a刪除該數(shù)據(jù)。
相反地,如果該鎖定操作被拒絕,則圖2的存儲(chǔ)控制模塊212b可創(chuàng)建該鎖定拒絕的一個(gè)記錄。該記錄可防止一目標(biāo)存儲(chǔ)控制器例如目標(biāo)存儲(chǔ)控制器210b繼續(xù)執(zhí)行由一目標(biāo)服務(wù)器例如目標(biāo)服務(wù)器120在該目標(biāo)卷的該區(qū)域上起動(dòng)的鎖定操作。
如果對(duì)應(yīng)于一寫操作的數(shù)據(jù)被破壞,則鏡像控制模塊214b可向鏡像控制模塊214a發(fā)送一錯(cuò)誤消息。在一個(gè)實(shí)施例中,響應(yīng)于接收到該錯(cuò)誤消息,該鏡像控制模塊214a可重新發(fā)送對(duì)應(yīng)于該寫操作的、已由該鏡像控制模塊214b以破壞的形式接收到的數(shù)據(jù)。另外,該鏡像控制模塊214a可重新發(fā)送存儲(chǔ)在諸條目510a中的、在對(duì)應(yīng)于該被破壞的數(shù)據(jù)的條目510a之后被插入回退日志216a的數(shù)據(jù)或命令。
通過(guò)發(fā)送隨后的諸條目510a,推測(cè)性數(shù)據(jù)鏡像裝置200可確保鏡像控制模塊214b接收到一組未被破壞的數(shù)據(jù)。從而,該推測(cè)性數(shù)據(jù)鏡像方法200不僅推測(cè)性地發(fā)送同步命令和對(duì)應(yīng)于寫操作的數(shù)據(jù),而且在出現(xiàn)錯(cuò)誤或該同步命令被拒絕時(shí)也有利于恢復(fù)。
圖6是示出本發(fā)明的一雙向推測(cè)性數(shù)據(jù)系統(tǒng)600的一個(gè)實(shí)施例的結(jié)構(gòu)圖。所述雙向推測(cè)性系統(tǒng)包括所述推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200的很多元件,包括一主機(jī)110、一文件系統(tǒng)112、一目標(biāo)服務(wù)器120、一文件系統(tǒng)122、源存儲(chǔ)卷130a、目標(biāo)存儲(chǔ)卷130b、一傳輸鏈路150、一源存儲(chǔ)控制器210a和一目標(biāo)存儲(chǔ)控制器210b。但是,除了一存儲(chǔ)控制模塊212和一鏡像控制模塊214之外,每個(gè)存儲(chǔ)控制器210同時(shí)包括一回退日志216a和一提交日志216b。
所述雙向推測(cè)性數(shù)據(jù)鏡像系統(tǒng)600被配置為以一種雙向方式提供該推測(cè)性數(shù)據(jù)鏡像系統(tǒng)200的所有功能。因此,每個(gè)控制器210既可以是饋像操作的源,也可以是其目標(biāo)。
該雙向推測(cè)性數(shù)據(jù)鏡像系統(tǒng)600有利于實(shí)現(xiàn)相互的數(shù)據(jù)鏡像而無(wú)需給傳統(tǒng)的鏡像系統(tǒng)增加很大成本。另外,這種設(shè)置可增加系統(tǒng)利用率和效率。例如,主計(jì)算機(jī)110可位于與目標(biāo)服務(wù)器120不同的時(shí)區(qū)內(nèi)。該主計(jì)算機(jī)110可在一個(gè)時(shí)區(qū)的白天中,向該源存儲(chǔ)卷130a寫入一企業(yè)的事務(wù),而該目標(biāo)服務(wù)器120可在另一個(gè)遙遠(yuǎn)的時(shí)區(qū)的白天中,向目標(biāo)存儲(chǔ)卷130b寫入同一企業(yè)的事務(wù)。為了使主機(jī)110和目標(biāo)服務(wù)器120包含相互的鏡像,可以雙向推測(cè)性方式向目標(biāo)服務(wù)器120發(fā)送來(lái)自該主機(jī)110的數(shù)據(jù),并將來(lái)自該目標(biāo)服務(wù)器120的數(shù)據(jù)發(fā)送給該主機(jī)110。
本發(fā)明有利于以一種增加系統(tǒng)性能的方式推測(cè)性地執(zhí)行對(duì)遠(yuǎn)程卷的操作例如鎖定操作和寫操作。本發(fā)明可表現(xiàn)為其他不背離其精神和本質(zhì)特征的特定形式。所述實(shí)施例應(yīng)在所有方面被認(rèn)為是僅起說(shuō)明作用而不是限制性的。因此,本發(fā)明的范圍是由所附權(quán)利要求而不是上述說(shuō)明來(lái)指明的。權(quán)利要求的等同物的含意和范圍內(nèi)的所有變化都包含在它們的范圍內(nèi)。
權(quán)利要求
1.一種用于推測(cè)性數(shù)據(jù)鏡像的裝置,該裝置包括一被配置成接收寫數(shù)據(jù)的回退日志,該寫數(shù)據(jù)對(duì)應(yīng)于至少一個(gè)對(duì)一源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作;一被配置成在一目標(biāo)卷內(nèi)的一相應(yīng)存儲(chǔ)區(qū)域上起動(dòng)一同步操作的鏡像控制模塊;以及該鏡像控制模塊還被配置成向該目標(biāo)卷發(fā)送對(duì)應(yīng)于該至少一個(gè)寫操作的數(shù)據(jù),而無(wú)需等待關(guān)于該目標(biāo)卷上的該鎖定操作的反饋。
2.根據(jù)權(quán)利要求1的裝置,其特征在于,還包括一可操作地與該源卷相連接的源存儲(chǔ)控制器和一可操作地與該目標(biāo)卷相連接的目標(biāo)存儲(chǔ)控制器。
3.根據(jù)權(quán)利要求2的裝置,其特征在于,還包括一傳輸鏈路,該傳輸鏈路可操作地將該源存儲(chǔ)控制器和該目標(biāo)存儲(chǔ)控制器相連接。
4.根據(jù)權(quán)利要求1的裝置,其特征在于,該同步操作包括一鎖定操作,并且該鏡像控制模塊還被配置成向該目標(biāo)卷發(fā)送一鎖定命令。
5.根據(jù)權(quán)利要求4的裝置,其特征在于,該鏡像控制模塊還被配置成將該鎖定命令和對(duì)應(yīng)于該至少一個(gè)寫操作的該數(shù)據(jù)插入到該回退日志中。
6.根據(jù)權(quán)利要求4的裝置,其特征在于,該鏡像控制模塊還被配置成將該鎖定命令和該至少一個(gè)寫操作發(fā)送給該目標(biāo)存儲(chǔ)控制器。
7.根據(jù)權(quán)利要求5的裝置,其特征在于,該鏡像控制模塊還被配置成響應(yīng)于在該目標(biāo)卷上成功執(zhí)行該鎖定操作而從該回退日志中刪除該鎖定命令。
8.根據(jù)權(quán)利要求1的裝置,其特征在于,該鏡像控制模塊還被配置成響應(yīng)于將數(shù)據(jù)成功寫入該目標(biāo)卷而從該回退日志刪除對(duì)應(yīng)于該至少一個(gè)寫操作的該數(shù)據(jù)。
9.根據(jù)權(quán)利要求1的裝置,其特征在于,該鏡像控制模塊還被配置成響應(yīng)于拒絕該鎖定操作而暫停傳輸對(duì)應(yīng)于該至少一個(gè)寫操作的該數(shù)據(jù)。
10.根據(jù)權(quán)利要求9的裝置,其特征在于,該鏡像控制模塊還被配置成響應(yīng)于該鎖定操作的后來(lái)執(zhí)行而重新開始傳輸對(duì)應(yīng)于該至少一個(gè)寫操作的該數(shù)據(jù)。
11.根據(jù)權(quán)利要求1的裝置,其特征在于,該鏡像控制模塊還被配置成響應(yīng)于拒絕該鎖定操作而起動(dòng)重新傳輸對(duì)應(yīng)于該至少一個(gè)寫操作的該數(shù)據(jù)。
12.一種用于雙向推測(cè)性數(shù)據(jù)鏡像的裝置,該裝置包括一被配置成在一第一存儲(chǔ)卷上進(jìn)行同步存儲(chǔ)操作的第一存儲(chǔ)控制模塊;一被配置成在一第二存儲(chǔ)卷上進(jìn)行存儲(chǔ)操作包括鎖定操作的第二存儲(chǔ)控制模塊;一被配置成在該第二存儲(chǔ)卷內(nèi)的一存儲(chǔ)區(qū)域上起動(dòng)一鎖定操作的第一鏡像控制模塊,該第一鏡像控制模塊還被配置成發(fā)送與至少一個(gè)對(duì)該第一存儲(chǔ)卷的寫操作相對(duì)應(yīng)的數(shù)據(jù)而無(wú)需等待關(guān)于在該第二存儲(chǔ)卷上的該鎖定操作的反饋;以及一被配置成在該第一存儲(chǔ)卷內(nèi)的一存儲(chǔ)區(qū)域上起動(dòng)一鎖定操作的第二鏡像控制模塊,該第二鏡像控制模塊還被配置成發(fā)送與至少一個(gè)對(duì)該第二存儲(chǔ)卷的寫操作相對(duì)應(yīng)的數(shù)據(jù)而無(wú)需等待關(guān)于在該第一存儲(chǔ)卷上的該鎖定操作的反饋。
13.根據(jù)權(quán)利要求12的裝置,其特征在于,該同步存儲(chǔ)操作包括一鎖定操作,并且該裝置還包括一第一回退日志和一第二回退日志,該第一回退日志被配置成接收與該至少一個(gè)對(duì)該第一存儲(chǔ)卷的寫操作相對(duì)應(yīng)的數(shù)據(jù),該第二回退日志被配置成接收與該至少一個(gè)對(duì)該第二存儲(chǔ)卷的寫操作相對(duì)應(yīng)的數(shù)據(jù)。
14.一種用于推測(cè)性數(shù)據(jù)鏡像的方法,該方法包括將數(shù)據(jù)插入一回退日志,該數(shù)據(jù)對(duì)應(yīng)于一個(gè)對(duì)一源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作;在一目標(biāo)卷內(nèi)的一相應(yīng)存儲(chǔ)區(qū)域上起動(dòng)一同步操作;以及將對(duì)應(yīng)于該寫操作的該數(shù)據(jù)發(fā)送給該目標(biāo)卷而無(wú)需等待關(guān)于該鎖定操作的反饋。
15.根據(jù)權(quán)利要求14的方法,其特征在于,起動(dòng)一同步操作包括向該目標(biāo)卷發(fā)送一鎖定命令。
16.根據(jù)權(quán)利要求14的方法,其特征在于,還包括響應(yīng)于在該目標(biāo)卷上成功執(zhí)行該寫操作而從該回退日志刪除對(duì)應(yīng)于該寫操作的該數(shù)據(jù)。
17.根據(jù)權(quán)利要求14的方法,其特征在于,將數(shù)據(jù)插入該回退日志的步驟還包括將一鎖定命令插入該回退日志。
18.根據(jù)權(quán)利要求17的方法,其特征在于,還包括響應(yīng)于在該目標(biāo)卷上成功執(zhí)行該鎖定命令而從該回退日志中刪除該鎖定命令。
19.根據(jù)權(quán)利要求14的方法,其特征在于,還包括響應(yīng)于拒絕該鎖定操作而暫停傳輸對(duì)應(yīng)于該寫操作的該數(shù)據(jù)。
20.根據(jù)權(quán)利要求19的方法,其特征在于,還包括響應(yīng)于成功執(zhí)行該鎖定操作而重新開始傳輸存儲(chǔ)在該回退日志中的該數(shù)據(jù)。
21.一種用于推測(cè)性數(shù)據(jù)鏡像的裝置,該裝置包括被配置成接收對(duì)應(yīng)于對(duì)一源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作的數(shù)據(jù)的接收裝置;被配置成在一目標(biāo)卷內(nèi)的一相應(yīng)的存儲(chǔ)區(qū)域上起動(dòng)一同步操作起動(dòng)裝置;以及被配置成將對(duì)應(yīng)于該寫操作的該數(shù)據(jù)發(fā)送給該目標(biāo)卷而無(wú)需等待關(guān)于該鎖定操作的反饋的消息傳送裝置。
22.一種用于推測(cè)性數(shù)據(jù)鏡像的系統(tǒng),該系統(tǒng)包括一可操作地與一源卷相連接的源存儲(chǔ)控制器;一可操作地與一目標(biāo)卷相連接的目標(biāo)存儲(chǔ)控制器;一被配置成接收對(duì)應(yīng)于對(duì)該源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作的數(shù)據(jù)的回退日志;一可操作地與該目標(biāo)存儲(chǔ)控制器相連接的存儲(chǔ)控制模塊,該存儲(chǔ)控制模塊被配置成在該目標(biāo)卷的一相應(yīng)的存儲(chǔ)區(qū)域上起動(dòng)一同步操作。
23.根據(jù)權(quán)利要求22的系統(tǒng),其特征在于,該同步操作包括一鎖定操作,并且該系統(tǒng)還包括一可操作地與該源存儲(chǔ)控制器相連接的鏡像控制模塊,該鏡像控制模塊被配置成在接收到該鎖定操作的確認(rèn)之前將對(duì)應(yīng)于該寫操作的該數(shù)據(jù)發(fā)送給該目標(biāo)卷。
24.一種包含用于實(shí)施一種推測(cè)性數(shù)據(jù)鏡像的方法的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該方法包括將對(duì)應(yīng)于一寫操作的數(shù)據(jù)接收到一回退日志中,該寫操作針對(duì)一源卷內(nèi)的一存儲(chǔ)區(qū)域;在一目標(biāo)卷的一相應(yīng)的存儲(chǔ)區(qū)域上起動(dòng)一同步操作;以及在接收到該鎖定操作的確認(rèn)之前將對(duì)應(yīng)于該寫操作的該數(shù)據(jù)發(fā)送給該目標(biāo)卷。
25.根據(jù)權(quán)利要求24的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,起動(dòng)一同步操作的步驟包含向該目標(biāo)卷發(fā)送一鎖定命令。
26.根據(jù)權(quán)利要求24的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,該方法還包括響應(yīng)于在該目標(biāo)卷上成功執(zhí)行該寫操作而從該回退日志中刪除對(duì)應(yīng)于該寫操作的該數(shù)據(jù)。
27.根據(jù)權(quán)利要求24的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,將數(shù)據(jù)插入該回退日志的步驟還包括將一鎖定命令插入該回退日志。
28.根據(jù)權(quán)利要求27的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,該方法還包括響應(yīng)于在該目標(biāo)卷上成功執(zhí)行該鎖定命令而從該回退日志中刪除該鎖定命令。
29.根據(jù)權(quán)利要求24的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,該方法還包括響應(yīng)于拒絕該鎖定操作而暫停傳輸對(duì)應(yīng)于該寫操作的該數(shù)據(jù)。
30.根據(jù)權(quán)利要求29的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,該方法還包括響應(yīng)于成功執(zhí)行該鎖定操作而重新開始傳輸存儲(chǔ)在該回退日志中的該數(shù)據(jù)。
全文摘要
一種用于推測(cè)性數(shù)據(jù)鏡像的裝置、方法和系統(tǒng),包括一回退日志,該日志接收對(duì)應(yīng)于向一源卷內(nèi)的一存儲(chǔ)區(qū)域的寫操作的寫入數(shù)據(jù)。還包括一存儲(chǔ)控制模塊,該存儲(chǔ)控制模塊在一目標(biāo)卷內(nèi)的相應(yīng)的存儲(chǔ)區(qū)域上起動(dòng)一鎖定操作,和一鏡像控制模塊,該鏡像控制模塊被配置成向該目標(biāo)卷發(fā)送對(duì)應(yīng)于該寫操作的數(shù)據(jù)而無(wú)需等待關(guān)于該鎖定操作的反饋。在一實(shí)施例中,起動(dòng)一鎖定操作的步驟可包括向該目標(biāo)卷發(fā)送一鎖定命令?;蛘撸瑢?duì)應(yīng)于該寫操作的數(shù)據(jù)可起動(dòng)該鎖定操作。另外,響應(yīng)于后來(lái)該鎖定操作的執(zhí)行,該鏡像控制模塊可起動(dòng)重新傳輸該數(shù)據(jù)。由于本發(fā)明的獨(dú)特配置,本發(fā)明減小了同步鏡像操作例如鎖定操作所產(chǎn)生的等待時(shí)間。
文檔編號(hào)G06F11/20GK1614568SQ200410086858
公開日2005年5月11日 申請(qǐng)日期2004年11月2日 優(yōu)先權(quán)日2003年11月3日
發(fā)明者D·A·伯頓, N·S·奧特尼斯, A·L·斯圖爾特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
罗田县| 临邑县| 陕西省| 景德镇市| 开江县| 长顺县| 星子县| 赣榆县| 钟山县| 炎陵县| 郎溪县| 饶河县| 天全县| 包头市| 海口市| 武隆县| 桓仁| 大邑县| 广州市| 凌源市| 科尔| 淳化县| 灌云县| 古田县| 汽车| 建瓯市| 康定县| 米易县| 甘肃省| 金山区| 平凉市| 永寿县| 萨嘎县| 北流市| 本溪市| 平凉市| 仪陇县| 扶风县| 北流市| 鹤壁市| 方城县|