用于在接收到包括混合的讀取和寫入命令的一系列命令時執(zhí)行最優(yōu)寫入的線性記錄設備 ...的制作方法
【專利摘要】提供一種即使在組合的讀取/寫入操作期間引入改寫操作時仍然具有最優(yōu)寫入方法的帶存儲設備。在帶上的數(shù)據(jù)的改寫位置在帶上的改寫的數(shù)據(jù)的結束位置上游時,更新改寫數(shù)據(jù)位置為改寫的數(shù)據(jù)的結束位置;并且在帶上的數(shù)據(jù)的改寫位置在帶上的改寫的數(shù)據(jù)的結束位置的下游時,更新改寫數(shù)據(jù)位置為非易失性存儲器中的改寫的數(shù)據(jù)的結束位置(存儲器中的EOD)。這允許即使在將來自更高級設備的讀取和改寫組合在一起的命令串中引入改寫操作時,仍然在帶存儲設備中提高組合操作的總性能。
【專利說明】用于在接收到包括混合的讀取和寫入命令的一系列命令時執(zhí)行最優(yōu)寫入的線性記錄設備及其執(zhí)行方法和程序
【技術領域】
[0001]本發(fā)明涉及一種在接收到包括混合的讀取和寫入命令(讀取和寫入)的一系列命令時執(zhí)行最優(yōu)寫入的線性記錄帶存儲設備及其執(zhí)行方法和程序。
【背景技術】
[0002]帶記錄設備(帶驅動)是依次訪問設備。驅動操作包括裝載/加載和卸裝/卸載帶盒。帶操作包括對帶介質的操作,這些操作包括位置移動(定位命令)、寫入(寫入命令)、讀取(讀取命令)和同步(Sync命令:同步)。
[0003]將在帶中寫入的數(shù)據(jù)包括用戶數(shù)據(jù)和代表用戶數(shù)據(jù)定界符的文件標記(FM)。既可以在寫入-追加方法(其中在移動帶之后在帶中從在數(shù)據(jù)結束之后的位置起寫入數(shù)據(jù))中,也可以在改寫方法(其中用新數(shù)據(jù)改寫舊數(shù)據(jù))中執(zhí)行寫入操作。
[0004]通常,帶驅動可以用混合方式執(zhí)行讀取和寫入操作,并且這些操作涉及到移動操作和同步操作(刷新)。同步和移動操作使帶在其縱向方向上移動,由此降低了帶驅動的讀取和寫入性能。注意同步操作是如下操作,該操作確保在緩沖器中暫時存儲的數(shù)據(jù)被寫入帶介質中。
[0005]分級存儲管理(HSM)系統(tǒng)使得混合的讀取和寫入操作對帶驅動執(zhí)行。也在帶庫中包括帶驅動,該帶庫在HSM系統(tǒng)的更低層。然而單個帶驅動不要求用混合方式執(zhí)行讀取和寫入操作,以便防止降低整個讀取和寫入處理的總性能。
[0006]取而代之,單個帶驅動針對帶盒的每次裝載執(zhí)行寫入操作或者讀取操作。備選地,多個帶驅動各自用于寫入和讀取操作中的任一操作。這些教導需要更多帶驅動、增加耗時(費力)的裝載操作、因此降低處理性能。
[0007]非專利文獻I和2舉例說明如下使用環(huán)境,在這些使用環(huán)境中,帶盒被獨占地用于讀取或者寫入操作。具體而言,如果單個帶盒被用于混合的讀取和寫入操作,則大規(guī)??茖W和技術計算不能夠實現(xiàn)更高性能。這對于包括一般帶存儲設備的分級存儲系統(tǒng)也成立。
[0008]專利文獻I提供用于使帶驅動在單個盒中用混合方式執(zhí)行讀取/寫入操作的發(fā)明。這里,在這一發(fā)明中考慮的寫入方法是追加寫入方法(追加寫入)。在追加寫入方法中,通過使用帶驅動的依次移動方法來依次找回帶中的寫入數(shù)據(jù)的數(shù)據(jù)結束(E0D)。
[0009]然而帶驅動的寫入方法除了追加寫入之外還包括改寫。改寫命令被用來通過使用追加寫入來以新數(shù)據(jù)改寫已經(jīng)在帶中寫入的數(shù)據(jù)(例如數(shù)據(jù)集)。
[0010][專利文獻引用]
[0011][專利文獻]
[0012][專利文獻I]
[0013]日本專利申請第2009-294309號
[0014][非專利文獻]
[0015][非專利文獻I][0016]http://castor.web.cern.ch/castorold/presentations/2006/Review/Castor—Monitoring, pdf
[0017][非專利文獻2]
[0018]https://twik1.cern.ch/twiki/pub/FIOgroup/TapeRefCernUsageNov2 007/tape—usage—efficiency—v05.pdf
【發(fā)明內容】
[0019][本發(fā)明將解決的問題]
[0020]因而,有必要考慮如下情況:在單個帶驅動和帶盒中在混合的讀取/寫入操作中接收到改寫。
[0021]因此,本發(fā)明的目的是提供一種在以混合方式執(zhí)行讀取/寫入操作中間接收到改寫時具有最優(yōu)寫入方法的(線性記錄)帶存儲設備及其執(zhí)行方法和程序。
[0022][用于解決問題的手段] [0023]為了實現(xiàn)以上目的,本發(fā)明提供一種帶記錄設備,該帶記錄設備在帶介質的縱向方向往復對帶介質執(zhí)行位置移動、讀取和寫入操作,并且該帶記錄設備從更高級設備接收一系列命令,該系列命令包括混合的讀取(讀取)、改寫和追加寫入(寫入)命令,并且多個讀取命令包括按照這一順序的第一、第二、…、第m、第η、…(m,n=m+l)讀取命令。帶記錄設備包括:緩沖器,用于存儲與讀取和寫入有關的數(shù)據(jù);帶,用于記錄緩沖器中存儲的數(shù)據(jù);讀取/寫入頭,用于從帶向緩沖器中讀取數(shù)據(jù)并且從緩沖器向帶上寫入數(shù)據(jù);控制裝置,用于響應于讀取命令從帶的指定的位置讀取數(shù)據(jù)并且在緩沖器中存儲數(shù)據(jù),并且用于響應于追加寫入命令從帶的用于數(shù)據(jù)寫入的追加的數(shù)據(jù)結束位置(EOD)寫入緩沖器中存儲的數(shù)據(jù);以及非易失性存儲器,用于響應于寫入命令存儲緩沖器中存儲的數(shù)據(jù)。另外,控制裝置執(zhí)行:(a)在接收到追加寫入命令時,在非易失性存儲器中從追加的數(shù)據(jù)結束位置(存儲器中的E0D)起存儲緩沖器中存儲的數(shù)據(jù);(b)在緩沖器中的數(shù)據(jù)被寫入非易失性存儲器中時,向更高級設備發(fā)送回追加寫入命令的完成通知;(c)在接收到追加寫入命令之后從針對第m讀取命令的讀取數(shù)據(jù)在帶上的結束位置移向針對第η讀取命令的讀取開始位置時,移動非易失性存儲器中暫時存儲的數(shù)據(jù)、然后基于預定標準移向將寫入非易失性存儲器中暫時存儲的數(shù)據(jù)的帶寫入位置(EOD)以執(zhí)行寫入,以便最小化帶相對于頭行進的移動距離;以及(d)在接收在一系列命令中的混合的命令之間的、對于帶上的預定位置處數(shù)據(jù)的改寫命令(改寫)的情況下,其中改寫命令使寫入的數(shù)據(jù)的結束在數(shù)據(jù)結束位置(E0D),如果用于改寫數(shù)據(jù)的帶位置比帶的追加的數(shù)據(jù)結束位置(EOD)更早(更小的值)則更新改寫數(shù)據(jù)位置為追加的數(shù)據(jù)結束位置(E0D),并且如果用于改寫數(shù)據(jù)的帶位置比帶的追加的數(shù)據(jù)結束位置(EOD)更晚(更大的值)則更新改寫數(shù)據(jù)位置為非易失性存儲器中的追加的數(shù)據(jù)結束位置(存儲器中的E0D)。
[0024]該設備的特征在于如果將寫入數(shù)據(jù)的帶的數(shù)據(jù)結束位置(EOD)存在于移動距離內(結束位置與開始位置之間),則滿足標準。
[0025]該設備的特征在于控制裝置向非易失性存儲器中存儲更新的數(shù)據(jù)結束位置(EOD)0
[0026]該設備的特征在于控制裝置向包括帶的盒的非易失性存儲器中存儲更新的數(shù)據(jù)結束位置(EOD)。
[0027]為了實現(xiàn)上述目的,本發(fā)明提出一種用于向帶記錄設備中寫入的方法,該帶記錄設備包括:緩沖器,用于暫時存儲與讀取和追加寫入有關的數(shù)據(jù);帶,用于記錄緩沖器中存儲的數(shù)據(jù);讀取/寫入頭,用于從帶向緩沖器中讀取數(shù)據(jù)并且從緩沖器向帶上寫入數(shù)據(jù);以及控制裝置,用于響應于讀取命令從帶的指定的位置讀取數(shù)據(jù)并且將數(shù)據(jù)存儲在緩沖器中,并且用于響應于追加寫入命令從帶寫入緩沖器中存儲的數(shù)據(jù),并且在帶介質的縱向方向往返對帶介質執(zhí)行位置移動、讀取和寫入操作,其中在帶記錄設備上加載具有帶介質的單個帶盒并且?guī)в涗浽O備從更高級設備接收包括混合的讀取(讀取)、改寫和追加寫入(寫入)命令的一系列命令(每個命令移向移動命令、即定位指定的帶位置),其中多個讀取命令包括按照這一順序的第一、第二、…、第m、第η、…(m,n=m+l)讀取命令。在這一方法中,帶記錄設備或者盒具有用于響應于寫入命令存儲緩沖器中存儲的數(shù)據(jù)的非易失性存儲器。該方法包括以下步驟:(a)在接收到追加寫入命令時,在非易失性存儲器中從追加的數(shù)據(jù)結束位置(存儲器中的E0D)起存儲緩沖器中存儲的數(shù)據(jù);(b)在緩沖器中的數(shù)據(jù)被寫入非易失性存儲器中時,向更高級設備發(fā)送回追加寫入(同步)命令的完成通知;(c)在從針對第m讀取命令的讀取數(shù)據(jù)在帶上的結束位置移向針對后續(xù)第η讀取命令的讀取開始位置時,移動非易失性存儲器中暫時存儲的數(shù)據(jù)、然后基于預定標準移向將寫入非易失性存儲器中暫時存儲的數(shù)據(jù)的帶寫入位置(EOD)以執(zhí)行寫入,以便最小化帶相對于頭行進的移動距離;以及(d)在接收在一系列命令中的混合的命令之間的、對于在帶上的預定位置處數(shù)據(jù)的改寫(改寫)命令的情況下,其中改寫命令使寫入的數(shù)據(jù)的結束在數(shù)據(jù)結束位置(E0D),如果用于改寫數(shù)據(jù)的帶位置比帶的追加的數(shù)據(jù)結束位置(EOD)更早(更小的值)則更新改寫數(shù)據(jù)位置為追加的數(shù)據(jù)結束位置(E0D),并且如果用于改寫數(shù)據(jù)的帶位置比帶的追加的數(shù)據(jù)結束位置(EOD)更晚(更大的值)則更新改寫數(shù)據(jù)位置為非易失性存儲器中的追加的數(shù)據(jù)結束位置(存儲器中的E0D)。
[0028]為了實現(xiàn)上述目的,本發(fā)明提出一種向帶記錄設備中寫入的程序,該帶記錄設備包括:緩沖器,用于暫時存儲與讀取和追加寫入有關的數(shù)據(jù);帶,用于記錄緩沖器中存儲的數(shù)據(jù);讀取/寫入頭,用于從帶向緩沖器中讀取數(shù)據(jù)并且從緩沖器向帶上寫入數(shù)據(jù);以及控制裝置,用于響應于讀取命令從帶的指定的位置讀取數(shù)據(jù)并且將數(shù)據(jù)存儲在緩沖器中,并且用于響應于寫入命令從帶寫入緩沖器中存儲的數(shù)據(jù)并且在帶記錄設備上加載具有帶介質的單個帶盒并且?guī)в涗浽O備從更高級設備接收包括混合的讀取(讀取)、改寫和追加寫入(寫入)命令的一系列命令(每個命令移向移動命令、即定位指定的帶位置)的情況下,其中多個讀取命令包括按照這一順序的第一、第二、…、第m、第η、…(m,n=m+l)讀取命令,帶記錄裝置在帶介質的縱向方向往復對帶介質執(zhí)行位置移動、讀取和寫入操作。另外,對于這一程序,帶記錄設備或者盒具有用于響應于寫入命令而存儲緩沖器中存儲的數(shù)據(jù)的非易失性存儲器。該程序使計算機執(zhí)行以下步驟:(a)在接收到追加寫入命令時,在非易失性存儲器中從追加的數(shù)據(jù)結束位置(存儲器中的E0D)起存儲緩沖器中存儲的數(shù)據(jù);(b)在緩沖器中的數(shù)據(jù)被寫入非易失性存儲器中時,向更高級設備發(fā)送回追加寫入(同步)命令的完成通知;(c)在從對于第m讀取命令的讀取的數(shù)據(jù)在帶上的結束位置移向對于后續(xù)第η讀取命令的讀取開始位置時,移動非易失性存儲器中暫時存儲的數(shù)據(jù)、然后基于預定標準移向將寫入非易失性存儲器中暫時存儲的數(shù)據(jù)的帶寫入位置(EOD)以執(zhí)行寫入,以便最小化帶相對于頭行進的移動距離;以及(d)在接收在一系列命令中的混合的命令之間的、對于在帶上的預定位置處數(shù)據(jù)的改寫(改寫)命令的情況下,其中改寫命令使寫入的數(shù)據(jù)的結束在數(shù)據(jù)結束位置(EOD),如果用于改寫數(shù)據(jù)的帶位置比帶的追加的數(shù)據(jù)結束位置(EOD)更早(更小的值)則更新改寫數(shù)據(jù)位置為追加的數(shù)據(jù)結束位置(E0D),并且如果用于改寫數(shù)據(jù)的帶位置比帶的追加的數(shù)據(jù)結束位置(EOD)更晚(更大的值)則更新改寫數(shù)據(jù)位置為非易失性存儲器中的追加的數(shù)據(jù)結束位置(存儲器中的EOD )。
[0029][本發(fā)明的優(yōu)點]
[0030]根據(jù)如以上描述的本發(fā)明,本發(fā)明的帶記錄設備即使在更高級設備干預在包括混合的讀取和追加寫入命令的系列命令中的改寫的情況下仍然能夠增加混合的操作的總性倉泛。
【專利附圖】
【附圖說明】
[0031]圖1是圖示帶庫100的配置示例的圖,該帶庫100包括這一實施例被應用于其中的帶驅動;
[0032]圖2圖示對帶驅動的帶23執(zhí)行的正常移動、讀取和寫入操作;
[0033]圖3圖示常規(guī)混合的讀取和寫入操作的示例;
[0034]圖4圖示省略同步操作造成帶移動距離減少;
[0035]圖5圖示實施例中的省略寫入和同步操作造成移動距離減少;
[0036]圖6圖示如下表,該表概括在省略同步操作和后續(xù)重寫操作之間移動距離增加或者減少的關系(圖5中的情況l_a至4-b);
[0037]圖7圖示寫入位置在情況l_a中存在于移動路線上;
[0038]圖8圖示如下模式,在這些模式中,在非易失性存儲區(qū)域中不存在自由空間時在帶中寫入數(shù)據(jù);
[0039]圖9圖示追加的數(shù)據(jù)寫入(寫入)操作流程;
[0040]圖10圖示在混合的追加寫入和讀取操作中接收改寫和追加寫入命令二者的流程;
[0041]圖11圖示同步(Sync)操作流程;以及
[0042]圖12圖示在寫入位置存在于兩點之間時在該兩點之間移動(定位)的操作流程?!揪唧w實施方式】
[0043]下文給出如下方法的一個實施例(下文稱為“示例”)的描述,該方法在如下線性記錄帶驅動中的改寫(改寫)干預情況下追加寫入新數(shù)據(jù),在該線性記錄帶驅動上加載單個帶盒并且該線性記錄帶驅動已經(jīng)從主機接收包括混合的讀取和追加寫入(追加寫入)命令的系列命令。這些示例僅為舉例而未旨在于限制根據(jù)本發(fā)明的用于追加寫入的帶記錄設備及其方法和程序。
[0044]設想在有單個帶盒(盒)加載于其上的帶驅動的混合的追加寫入和讀取操作中減少關于讀取/寫入頭的全部帶移動距離和持續(xù)時間。因而給出本發(fā)明的概括使得實現(xiàn)本發(fā)明的以下特定內容(構成)。
[0045]1.當存在對寫入到緩沖器中的數(shù)據(jù)進行同步操作(在帶中寫入數(shù)據(jù))時,在暫時非易失性存儲區(qū)域中寫入待刷新的數(shù)據(jù)。
[0046]2.作為暫時存儲區(qū)域,使用如下區(qū)域,在該區(qū)域中無需帶的移動或者在該區(qū)域中使全部帶移動距離和持續(xù)時間少于用于在原定區(qū)域中記錄的全部帶移動距離和持續(xù)時間。此外,寫入時間等于或者短于正常寫入時間。
[0047]3.隨后在原定記錄位置重寫暫時存儲的數(shù)據(jù)。通常,數(shù)據(jù)留在緩沖器中,并且在重寫時無需從暫時存儲區(qū)域重讀。
[0048]4.在后續(xù)過程中作為移動操作來執(zhí)行重寫操作。
[0049]5.如果緩沖器中的數(shù)據(jù)由于意外掉電而丟失,則從暫時非易失性存儲區(qū)域讀取數(shù)據(jù)作為從錯誤恢復的處理,然后在原定記錄位置寫入數(shù)據(jù)。
[0050]首先給出這一實施例被應用于的帶驅動和包括帶驅動的帶庫的描述。圖1是圖示帶庫100的配置示例,該帶庫100包括這一實施例被應用于其中的帶驅動。如圖1中所示,帶庫100包括帶驅動10、庫控制機制30、訪問器40和盒槽50。在它們之中,帶驅動10包括主機接口(下文稱為“主機I/F”)11、緩沖器12、信道13、寫入頭14a、讀取頭14b和馬達15并且還包括控制器16、頭位置控制系統(tǒng)17和馬達驅動器18。另外,也圖示帶盒(下文簡稱為“盒”)20,因為盒20可通過向帶驅動10中插入來在帶驅動10中加載。盒20包括在卷軸21和22周圍纏繞的帶23。在旋轉卷軸21和22時,帶23在其縱向方向上從卷軸21移向卷軸22或者從卷軸22移向卷軸21。帶23以磁帶為例,但是可以使用除了磁帶之外的帶介質。
[0051]盒20也包括盒存儲器24。盒存儲器24記錄例如如何在帶23中寫入數(shù)據(jù)的信息。例如通過使用RF接口用無接觸方式檢查帶23中寫入的數(shù)據(jù)和帶23的使用狀態(tài)的指標,由此實現(xiàn)對數(shù)據(jù)的高速訪問。在圖1中,示出用于訪問盒存儲器24的接口、比如RF接口為盒存儲器接口(下文稱為“CMI/F”)19。
[0052]同時,主機I/F11與主機200通信。例如主機I/F11從主機200接收用于在帶23中寫入數(shù)據(jù)的命令、用于將帶23移向目標位置的命令和用于從帶23讀取數(shù)據(jù)的命令。附帶提一點,用于主機I/F11的通信標準以SCSI為例。在SCSI中,第一命令對應于寫入命令,第二命令對應于用于帶移動操作的定位命令或者間隔命令;并且第三命令對應于讀取命令。無論響應于命令中的對應命令的處理是否成功或者失敗,主機I/F11對主機200做出響應。
[0053]同步操作(刷新)在帶23中寫入緩沖器12中緩沖的數(shù)據(jù)。在寫入之后的同步由命令(比如寫入文件標記命令)顯式地指定或者由命令(比如用于移動位置的定位、間隔、倒帶或者卸載命令)隱式地指定。另外,根據(jù)寫入命令本身的選項,直至完成同步才可以完成寫入命令本身。
[0054]緩沖器12是如下存儲器,在該存儲器中積累將向帶23中寫入的數(shù)據(jù)和從帶23讀取的數(shù)據(jù)。例如緩沖器12由DRAM(動態(tài)隨機存取存儲器)組成。另外,緩沖器12由多個緩沖器段形成,并且每個緩沖器段存儲數(shù)據(jù)集,該數(shù)據(jù)集是從帶23讀取和在帶23中寫入的單位。信道13是用于向寫入頭14a發(fā)送將在帶23中寫入的數(shù)據(jù)和用于從讀取頭14b接收已經(jīng)從帶23讀取的數(shù)據(jù)的通信信道。在帶23在縱向方向上移動時,寫入頭14a在帶23中寫入數(shù)據(jù),而讀取頭14b從帶23讀取信息。馬達15旋轉卷軸21和22。雖然馬達15中在圖1中由單個矩形示出,但是優(yōu)選為卷軸21和22中的每個卷軸提供一個馬達15、即共計兩個馬達15。
[0055]控制器16控制整個帶驅動10。例如控制器16根據(jù)主機I/F11接收的命令控制向帶23寫入或者從帶23讀取數(shù)據(jù)??刂破?6也控制頭位置控制系統(tǒng)17和馬達驅動器18。頭位置控制系統(tǒng)17是將寫入頭14a和讀取頭14b控制到所需繞卷(wrap)上的軌道的系統(tǒng)。繞卷是帶23上的一組多個軌道。在需要移向一個不同的繞卷時,也需要電切換寫入頭14a或者讀取頭14b。因此,頭位置控制系統(tǒng)17控制這樣的切換。馬達驅動器18驅動馬達15。在如以上描述的那樣提供兩個馬達15時,也應當提供兩個馬達驅動器18。
[0056]同時,庫控制機制30是響應于來自主機200的指令控制訪問器40和帶驅動10的機制。具體而言,庫控制機制30指示訪問器40在帶驅動10中加載盒20,從而能夠讀取或者寫入主機200指定的數(shù)據(jù),并且指示帶驅動10從訪問器40加載的盒20讀取主機200指定的數(shù)據(jù)或者向盒20上寫入數(shù)據(jù)。訪問器40根據(jù)庫控制機制30的控制從盒槽50取出盒20以在帶驅動10中加載盒20。盒槽50是用于存儲盒20的空間,在該空間中未對數(shù)據(jù)進行讀取或者寫入。這里,盒槽50由單個矩形示出,但是實際上提供分別用于存儲多個盒的多個槽。
[0057]注意在圖1中僅示出一個帶驅動10,但是可以提供多個帶驅動10。在后一種情況下,庫控制機制30向訪問器40通知讀取或者寫入命令將被發(fā)送到的帶驅動10之一的標識信息,并且由此指示訪問器40在帶驅動10中加載盒20。
[0058]圖2圖示在帶驅動的帶23中執(zhí)行的數(shù)據(jù)正常位置移動(定位命令)、讀取(讀取命令)和追加寫入(寫入命令)操作。帶驅動是線性記錄企業(yè)帶產品(IBM的TSxx系列)或者服從Liner Tape-Open (LTO)的帶產品。首先如箭頭201所示在右方向上對繞卷#0執(zhí)行數(shù)據(jù)讀取和寫入,然后如箭頭202所示反向帶23的行進方向。隨后在左方向上對繞卷#1執(zhí)行數(shù)據(jù)讀取和寫入,然后如箭頭203所示反向帶23的行進方向。另外,在右方向上對繞卷#2執(zhí)行數(shù)據(jù)讀取和寫入,然后如箭頭204所示反向帶23的行進方向。在最后步驟中,如箭頭205所示在左方向上對繞卷#55執(zhí)行數(shù)據(jù)讀取和寫入。
[0059]如以上描述的那樣,在線性記錄帶驅動中,在帶23中定義的稱為繞卷的數(shù)據(jù)存儲區(qū)域中執(zhí)行數(shù)據(jù)讀取和寫入,而讀取/寫入頭在帶23的開始(Β0Τ:帶開始)與帶的結束(EOT:帶結束)之間往復。繞卷是相互平行布置并且在帶的寬度方向上相互間隔開的多個軌道的集合。寫入頭14a和讀取頭14b中的每個頭可以包括多個信道(八個或者16個讀取/寫入元件)。寫入頭14a和讀取頭14b使得移動、讀取和寫入操作能夠對相同繞卷中的多個平行軌道執(zhí)行。在串行讀取/寫入的情況下,讀取/寫入頭在繞卷中往復。注意帶23的開始是第一端部的示例,而帶24的結束是第二端部的示例。
[0060]同時,通過HSM系統(tǒng),位于最低層中的帶庫100從主機200接收用于混合的讀取/寫入操作的系列命令。以下提供單個帶驅動接收這樣的用于混合的讀取/寫入操作的系列命令的情況下,增強整個一系列命令的操作處理性能的示例。在這一實施例中,在帶驅動對加載到帶驅動中的單個帶盒執(zhí)行混合的追加寫入和讀取操作時,減少了整體帶移動距離和持續(xù)時間。
[0061]在描述示例之前,給出同步操作如何在混合的讀取/寫入操作中增加移動距離的描述。然后提供如下示例,在該示例中,通過基本上省略同步操作涉及到的移動距離來實現(xiàn)增強總性能。首先,作為示例的描述前提,應當理解如下示例,在該示例中,常規(guī)混合的讀取和寫入操作涉及到不必要的移動距離。
[0062]圖3圖示常規(guī)混合的讀取/寫入操作的示例。給出如下示例的描述,該示例為在帶相對于軌道比如從右到左或者從左到右線性行進時接收包括混合的讀取和寫入命令的一系列命令。如以下系列命令(I)至(9)中所示,在執(zhí)行寫入(追加寫入)操作(寫入)之后執(zhí)行移動以執(zhí)行讀取操作(讀取),并且進一步執(zhí)行寫入操作(寫入):(I)寫入數(shù)據(jù)9 —(2)寫入FM9w/Sync (與寫入文件標記(FileMarker) 9同時執(zhí)行同步[刷新])—(3)定位到C(用于移向位置C的命令)一(4)讀取數(shù)據(jù)3 — (5)定位到B — (6)寫入數(shù)據(jù)10 — (7)寫入FMlOw/Sync — (8)定位到F — (9)讀取數(shù)據(jù)7。
[0063]如以下描述的那樣執(zhí)行帶驅動的操作。用戶數(shù)據(jù)由數(shù)據(jù)I至數(shù)據(jù)10代表,并且作為數(shù)據(jù)定界符的文件標記(FM)由FMl至FMlO代表。
[0064]1.在位置A,在緩沖器中緩沖數(shù)據(jù)9 ((I))。
[0065]2.在作為同步操作從緩沖器寫入數(shù)據(jù)9之后,寫入FM9 ((2))。數(shù)據(jù)9和FM9的寫入造成從位置A到位置B的移動。
[0066]3.位置從 B 移向 C ((3))。
[0067]4.讀取數(shù)據(jù)3 ((4))。讀取數(shù)據(jù)3造成從位置C到位置D的移動。
[0068]5.從D向B移動位置((5 ))。
[0069]6.在緩沖器中緩沖數(shù)據(jù)10 ((6))。
[0070]7.在作為同步操作寫入數(shù)據(jù)10之后,寫入FMlO ((7))。從B向E移動位置。
[0071]8.從E向F移動位置((8))。
[0072]9.讀取數(shù)據(jù)7。從F移動G位置(9)。
[0073]如示意地示出全部帶長度的圖3 (圖3的下部分)中所示,以上系列操作造成如位置A — B — C — D — B — E — F — G所不的帶的移動距尚。同步操作(例如同步命令引起的刷新)和移動操作(定位命令)總是出現(xiàn)于寫入操作與讀取操作之間?;旌系牟僮魃婕暗介L的帶移動距離?;旌系牟僮髟谶@一情況下造成增加了重疊節(jié)段(B —E),該重疊節(jié)段是由同步操作并且后續(xù)途中移向目標位置F造成的。具體而言,在常規(guī)操作中,產生的問題是移動操作需要將持續(xù)時間增加這一增加數(shù)量。因此,進行關于是否可以省略同步操作和后續(xù)重疊節(jié)段的研究。
[0074]圖4示出省略同步操作實現(xiàn)帶移動距離減少。通過從常規(guī)操作(圖3)省略響應于相同系列命令((I)至(9))中的同步命令而向帶介質中進行的寫入,能夠減少移動距離。以下是根據(jù)如在前頁中相同的系列命令的帶驅動的操作。
[0075]1.在位置A,在緩沖器中緩沖數(shù)據(jù)9 ((I))。
[0076]2.在從緩沖器寫入數(shù)據(jù)9作為同步操作之后,寫入FM9 ((2))。位置從A移向B。
[0077]3.位置從 B 移向 C ((3))。
[0078]4.讀取數(shù)據(jù)3 ((4))。位置從C移向D。
[0079]5.省略從位置D移向B ((5))。
[0080]6.在緩沖器中緩沖數(shù)據(jù)10 ((6))。
[0081]7.省略對數(shù)據(jù)10和FMlO的同步操作((7))并且維持在緩沖器中緩沖數(shù)據(jù)10(6)。
[0082]8.位置從 D 移向 F ((8))。
[0083]9.讀取數(shù)據(jù)7 ((9))。位置從F移向G。[0084]移動距離由位置A — B — C — D — F — G代表。包括同步操作的前述示例具有三個移動操作(D — B — E — F),而這一示例僅有用于從位置D移向F的一個移動操作、由此減少移動距離。具體而言,與圖3中的情況比較,在以下三個操作中減少移動距離:
[0085]-根據(jù)第五命令從位置D移向B的操作;
[0086]-根據(jù)第七命令的涉及到從位置B移向E的數(shù)據(jù)10和FMlO同步寫入操作;以及
[0087]-根據(jù)第八命令的從位置E移向F的操作。
[0088]然而在響應于同步命令的完成通知的時候,有必要在介質中恰當寫入數(shù)據(jù)并且保證將來訪問。本發(fā)明確保為主機基本上保證同步操作。此外,以下示例公開如下一次性寫入方法,該方法通過設置寫入來抑制包括混合的讀取和寫入命令的一系列命令的移動距離的增加。
[0089]在本發(fā)明中討論以下配置以便為主機保證關于緩沖器中存儲的數(shù)據(jù)的同步操作。
[0090]1.帶盒或者帶驅動具有新的暫時非易失性存儲區(qū)域。提供非易失性存儲區(qū)域向帶盒或者帶驅動給予了用于減少同步操作的訪問特性。非易失性存儲區(qū)域的示例包括非易失性存儲器、比如附著到盒或者驅動的閃存、帶介質中的特殊存儲區(qū)域等。
[0091]2.在帶驅動中,追加的數(shù)據(jù)暫時存儲于非易失性存儲區(qū)域中以將帶中的追加寫入操作延遲到帶上的原定寫入數(shù)據(jù)結束(物理數(shù)據(jù)結束[E0D])。單獨地,在方便時間,在帶上的原定數(shù)據(jù)結束(EOD)開始重寫操作。
[0092](I)非易失性存儲器區(qū)域用來保證總是可以在發(fā)送回響應于來自主機的同步請求的處理完成通知之后從帶盒(或者帶驅動)讀取數(shù)據(jù)。
[0093](2)向主機隱藏非易失性存儲區(qū)域。具體而言,在讀取操作出現(xiàn)于寫入操作之后時,從非易失性存儲區(qū)域讀取數(shù)據(jù),就如同在原定位置寫入數(shù)據(jù)一樣。
[0094]通過提供新的非易失性存儲區(qū)域,帶驅動接收從主機發(fā)送的包括混合的讀取和寫入的一系列命令。一般而言,經(jīng)常在指定讀取位置之后執(zhí)行讀取。類似地,在指明寫入位置為EOD之后執(zhí)行用于追加寫入的寫入。然而讀取位置和寫入位置經(jīng)?;ゲ幌嚓P。如果可以在讀取操作之間移動的過程中執(zhí)行在帶上的目標位置(物理E0D)的寫入操作(基本上同步操作)作為追加寫入,則能夠減少不必要的帶移動距離。如果在帶上的、用于寫入在非易失性存儲區(qū)域中存儲的數(shù)據(jù)的寫入位置(物理E0D)存在于用于后續(xù)讀取操作的多個移動位置中的任何兩個移動位置之間,則在移動期間在帶中的寫入增加了這一系列命令的總性能。
[0095]1.在示例中,根據(jù)在追加寫入命令(寫入)之后的同步操作,在非易失性存儲區(qū)域中存儲緩沖器中存儲的數(shù)據(jù)。
[0096]2.有必要執(zhí)行如下操作,在該操作中在帶上的原定位置(數(shù)據(jù)結束(EOD))寫入非易失性存儲區(qū)域中暫時存儲的數(shù)據(jù)。
[0097]在寫入操作中的移動距離與在寫入和同步操作中的移動距離具有相反關系。這意味著通過省略同步操作而減少的距離等于重寫操作所增加的移動距離。在可以使移動距離或者持續(xù)時間比在常規(guī)操作中的移動距離或者持續(xù)時間更少的情況下,對數(shù)據(jù)進行重寫。例如,如果將在用于多個讀取命令的移動操作期間穿過待重寫(待追加寫入)的位置(E0D),則能夠重寫數(shù)據(jù)而無需專門為重寫操作而移動。
[0098]為了為本發(fā)明的同步操作保證數(shù)據(jù)存儲,有必要防止如下狀態(tài),在該狀態(tài)中在暫時存儲區(qū)域中無自由空間。在接收同步命令時,可以根據(jù)用于重寫的移動距離和暫時存儲的數(shù)據(jù)量降低非易失性存儲區(qū)域中的自由空間(未用率)。如果非易失性存儲區(qū)域最終全滿,則從帶的EOD無條件地重寫非易失性存儲區(qū)域中的數(shù)據(jù)。在重寫操作之后,對帶后續(xù)執(zhí)行正常寫入操作。此外,在接收用于盒的倒帶命令或者卸載命令時,無條件地執(zhí)行重寫操作,因為倒帶和卸載意味著帶盒用盡。
[0099]圖5圖示在追加重寫操作時的移動距離,在該操作中通過使用非易失性存儲區(qū)域來保證基本上同步操作。圖5圖示在示例中通過省略同步操作和重寫操作而引起的移動距離增加和減少。
[0100]-考慮在帶的縱向方向上的距離。
[0101]-假設在從當前位置A移向移動目標位置B(C,D,E)期間執(zhí)行重寫。
[0102]-劃分從當前位置A來查看的在重寫開始位置X、完成位置Y和移動目標位置B(C,D,E)之間的關系。
[0103]1.移動目標位置B位于與重寫開始位置X和完成位置B相同的方向上并且比從重寫開始位置X和完成位置Y更遠離當前位置A。
[0104]2.移動目標位置C位于與重寫開始位置X和完成位置Y相同的方向上并且位于重寫開始位置X與完成位置Y之間。
[0105]3.移動目標位置D位于與重寫開始位置X與完成位置Y相同的方向上并且比重寫開始位置X和完成位置Y更接近當前位置A。
[0106]4.移動目標位置E相對于當前位置A位于與重寫開始位置X和完成位置Y相反的方向上。
[0107]-此外,寫入方向差異影響從位置A到B(到C,D,E)的移動方向。有兩個寫入方向:與移動方向相同的寫入方向(圖5的上圖);以及與移動方向相反的寫入方向(圖5的下圖)。
[0108]-以下描述在由于從位置A—B(C,D,E)的移動操作所產生的距離與由于添加重寫操作所致的從位置A — X — Y — B(C,D,E)的移動距離之間的在以上方向上的關系。
[0109]1.在相同方向的情況下,由于重寫所致的移動距離未增加(l_a)。在相反方向的情況下,位置A — B的移動與位置A — X — B的移動相同,因此移動距離增加了在位置X與Y之間的往復距離(1-b)。
[0110]2.在相同方向的情況下,距離增加在位置X — Y — C的移動與位置X — C的移動之間的差值(2-a)。在相反方向的情況下,位置A — C的移動與位置A — Y — C的移動相同,因此移動距離增加在位置Y與X之間的往復距離(2-b)。
[0111]3.在相同方向的情況下,位置A —X的移動與位置A —D —X的移動相同,因此距離增加了位置D — X — Y — D的移動距離(3-a)。在相反方向的情況下,位置A — X的移動與A — D — Y — X的移動相同,因此移動距尚增加了位置D — Y — X — Y — D的移動距尚
(3~b)o
[0112]4.在每個方向上,距離增加位置A —X —Y —A的移動距離(4-a,4-b)。
[0113]通過省略寫入和同步操作,無論在重寫之后的移動目標位置如何,使移動距離相對或者減少??梢栽谥貙懛较蛏系囊苿泳嚯x與在同步操作的移動距離具有相反關系時減少移動距離。
[0114]圖6圖示如下表,該表概括了在省略同步操作和后續(xù)重寫操作之間的移動距離增加或者減少關系(圖5中的情況Ι-a至4-b)。
[0115]1.發(fā)現(xiàn)如參照圖5描述的那樣在帶介質上由于省略同步操作而減少的移動距離與由于重寫操作所致的移動距離具有相反關系。
[0116]2.在同步操作的省略與重寫操作的出現(xiàn)之比為1:1時,總移動距離未出現(xiàn)改變。在本發(fā)明中,在同步操作中在非易失性存儲區(qū)域(非易失性存儲器)中存儲緩沖器中存儲的任何數(shù)據(jù)。通過在非易失性存儲器中存儲數(shù)據(jù),可以省略涉及到帶移動的重寫操作。然后,如果可以省略用于重寫操作的移動,則可以減少總移動距離。情況l_a是其中可以完全省略用于重寫操作的移動距離的情況。在情況l_a中,帶上的重寫位置(物理E0D)位于在兩個讀取命令之間的移動距離(從用于讀取帶的第一讀取的數(shù)據(jù)結束位置移向用于讀取帶的第二讀取的數(shù)據(jù)開始位置)內。在情況l_a中,在后續(xù)移動的過程中在帶中重寫同步操作在非易失性存儲器中存儲的數(shù)據(jù)。
[0117]3.如果省略多個同步操作并且如果可以在用于多個后續(xù)讀取操作的移動過程中執(zhí)行對于非易失性存儲器中存儲的數(shù)據(jù)的重寫操作,則總是會減少包括混合的讀取/寫入命令的一系列命令的總移動距離。
[0118]在本發(fā)明的示例中,確定移動操作中的重寫處理如下:
[0119]-移動模式:情況l_a
[0120]在開始移動操作之前,確定執(zhí)行重寫操作。在移動模式如在情況l_a中那樣時,用于重寫操作的移動距離未增加,也就是說,移動距離增加為零。因此,在用于后續(xù)讀取操作的移動中總是執(zhí)行重寫操作。參照圖5,這是其中帶寫入位置(X —Y)位于兩個帶位置(A —B)之間的情況。
[0121 ] _移動模式:情況l_b、2-a和2-b
[0122]重寫操作增加移動距離。增加率依賴于原定移動距離、位置A —B (C,D,E)、重寫開始位置X,和位置Y,該位置Y依賴于待重寫的數(shù)據(jù)量(X —— Y)。
[0123]基于在暫時存儲的數(shù)據(jù)量與由于重寫所致的移動距離之間的稍后將描述的關系來確定是否執(zhí)行重寫處理。能夠執(zhí)行重寫(X — Y)非易失性存儲器中存儲的數(shù)據(jù),而無需增加直至從位置X到Y寫入的中途。然而在從位置X到Y的距離未與在兩點之間的移動距離(A —C,D,E)完全重疊的情況下,重寫操作引起距離增加。如果增加少量,則可以在移動距離內執(zhí)行重寫數(shù)據(jù)的大部分。然而由于存在用于帶寫入的某一部分的移動所致的增加出現(xiàn),所以在這一情況下沒有在讀取命令之間的這樣多的寫入優(yōu)點。
[0124]-移動模式:情況3-a、3-b、4-a 和 4-b
[0125]由于用于重寫操作的移動操作比原定移動距離大量增加移動距離,所以未執(zhí)行重寫。這顯然是如下情況:待寫入的數(shù)據(jù)的位置(X — Y)在用于后續(xù)多個讀取命令的移動過程期間未重疊,因此對于整個一系列命令無優(yōu)點。
[0126]在接收追加寫入命令和同步命令時,可設想以下兩個操作。
[0127]1.未執(zhí)行移動操作,但是在暫時存儲區(qū)域中寫入新用戶數(shù)據(jù)。
[0128](優(yōu)點)由于未執(zhí)行用于寫入處理的移動,所以可以減少移動距離。
[0129](確定)暫時存儲區(qū)域可能在寫入期間短缺。
[0130]2.未執(zhí)行在暫時存儲區(qū)域中寫入,但是執(zhí)行重寫操作,然后在原定位置執(zhí)行寫入。
[0131](優(yōu)點)可以節(jié)省暫時存儲區(qū)域。[0132](確定)有必要移向重寫開始位置X、然后執(zhí)行重寫。
[0133]以上兩個操作中的每個操作的優(yōu)點和缺點與以下兩點具有相關性。具體而言,基于暫時非易失性存儲區(qū)域中存儲的數(shù)據(jù)量(使用率)和從當前位置到重寫開始位置的移動距離確定這兩個操作。例如在前述移動模式l_b、2-a和2-b的情況下,如果大量增加了在用于讀取的兩點之間的移動,則原則上選擇不對帶執(zhí)行重寫操作。此外,即使在讀取操作之間的重寫操作涉及到移動距離的某一增加,則由于在暫時存儲區(qū)域中寫入所致的距離減少可以大于增加。在這一情況下,有可能選擇在用于讀取的移動期間執(zhí)行重寫操作。
[0134]圖7圖示情況Ι-a,其中作為追加寫入位置的EOD存在于移動過程中。在帶中未追加寫入緩沖器中存儲的數(shù)據(jù),但是將其存儲在非易失性存儲區(qū)域中。在為了讀取而從位置A移向B的情況下,移動過程包括用于正常同步操作的追加帶寫入位置(物理E0D)和用于寫入的距離(距離X - Y)。在帶中寫入數(shù)據(jù)的方向(X — Y)與用于讀取的移動方向(A — B)相同。如以上描述的那樣,在同步命令之后的移動中,在移動距離中包括追加寫入位置(物理E0D)和帶寫入長度(數(shù)據(jù)卷)。如果讀取方向與重寫方向匹配,則有利的是在移動期間執(zhí)行對于非易失性存儲區(qū)域中存儲的數(shù)據(jù)的重寫的操作。
[0135]圖8圖示如下模式,在這些模式中,在非易失性存儲區(qū)域中無自由空間的情況下在帶中寫入數(shù)據(jù)。
[0136]-在暫時存儲區(qū)域在其中寫入期間短缺的情況下,無條件地執(zhí)行重寫操作。除非對帶執(zhí)行重寫操作,不能繼續(xù)寫入操作,因為在非易失性存儲區(qū)域中無自由空間。在重寫操作之后,可以連續(xù)執(zhí)行正常帶寫入操作。
[0137]-以下示出來自正常寫入和同步操作的移動距離差值。
[0138]在暫時存儲區(qū)域中已經(jīng)存在數(shù)據(jù)10和FMlO。
[0139]在暫時存儲區(qū)域在重新接收數(shù)據(jù)11期間短缺的情況下,如果從當前位置A到重寫開始位置X的移動方向與寫入方向相同(上圖,情況Ι-a),則移動距離無改變。如果從當前位置A到重寫開始位置X的移動方向與寫入方向相反(下圖,情況l_b),則有增加在位置Y與X之間的往復距離。移動距離增加通常小于由于在暫時存儲區(qū)域中寫入所致的距離減少,因此可以執(zhí)行本發(fā)明的追加寫入。
[0140]在接收用于盒的倒帶命令或者卸載命令時,無條件地執(zhí)行重寫操作,因為倒帶和卸載意味著帶盒用盡。在這一狀態(tài)中,位置B或者E的移動目標是帶的Β0Τ。位置C和D(圖5)不能是移動目標、即Β0Τ。對應移動模式是1-a、l_b、4_a和4_b。重寫操作可能引起移動距離明顯增加。例如移動模式4-a和4-b對應于這一情況。要求重寫操作保證數(shù)據(jù)保管,并且在重新裝載盒時照常使用盒。除了如下情況之外,移動距離增加被在暫時存儲區(qū)域中寫入所致的距離減少而抵消,在該情況下在當前位置A比重寫開始位置X更接近BOT的狀態(tài)中重復移動模式4-a。
[0141 ] 基于如下線性記錄方法提供本發(fā)明的示例,在該方法中在帶介質的縱向方向上來回執(zhí)行用于讀取和寫入的位置移動。對帶驅動中的帶的在移動中的追加寫入適用于如下情況,在該情況下從帶或者在帶中依次讀取數(shù)據(jù)。本發(fā)明的示例應用于如下情況,該情況是在帶驅動中加載一個盒的情況下從上級設備(主機)接收包括混合的讀取和寫入命令的一系列命令。執(zhí)行在主機向帶驅動發(fā)出的系列命令中包括的混合的讀取和寫入命令。下文給出用于追加寫入命令(寫入)、讀取命令(讀取)和假設用于讀取的移動命令(定位)的操作流程圖的描述。
[0142]圖9圖示追加數(shù)據(jù)寫入(寫入)的操作流程。
[0143]1.帶驅動從主機接收在帶位置A的寫入命令(圖5)。在緩沖器中存儲從主機發(fā)送的將在帶中追加寫入的數(shù)據(jù)。將在帶中追加寫入數(shù)據(jù)的帶位置(物理E0D)是位置X (圖5)。在追加寫入之后,位置Y (X —Y)是E0D。定位命令引起移向位置X。在追加寫入之后的EOD是位置Y。通過使用移動 命令(定位命令)來執(zhí)行從位置Y移向例如位置B。在本發(fā)明中,假設在帶的當前位置是在讀取之后的位置A的情況下為下一讀取而執(zhí)行直接向目標位置B的移動。雖然稍后描述,但是節(jié)段X-Y在這一移動中位于相同繞卷中,因此在非易失性存儲器中存儲數(shù)據(jù)以便在帶中追加寫入數(shù)據(jù)(圖12)。
[0144]2.檢查是否可以向NV高速緩存(非易失性存儲器)中寫入數(shù)據(jù)。如果在NV高速緩存中無自由空間,則需要正常執(zhí)行寫入。
[0145]3.如果有自由空間,則在NV高速緩存中存儲數(shù)據(jù)。
[0146]4.如果無自由空間,則對數(shù)據(jù)執(zhí)行正常寫入。
[0147]5.在以上兩種情況中的任一情況下,向主機發(fā)送回寫入操作的完成通知。
[0148]以上已經(jīng)僅關于追加寫入描述寫入命令。在追加寫入方法中,通過使用帶驅動的依次移動方法來依次恢復帶中的寫入數(shù)據(jù)的數(shù)據(jù)結束(EOD )。
[0149]然而帶驅動的寫入方法除了追加寫入之外還包括改寫。改寫命令用來通過使用追加寫入用新數(shù)據(jù)重寫已經(jīng)在帶中寫入的數(shù)據(jù)(例如數(shù)據(jù)集)。在重寫操作時,重寫數(shù)據(jù)的結束變成帶的數(shù)據(jù)結束(E0D),并且將后續(xù)寫入數(shù)據(jù)視為無數(shù)據(jù)。
[0150]圖10圖示在混合的追加寫入和讀取操作中接收改寫和追加寫入命令二者的流程。以下描述圖10中的步驟I至100中的每個步驟:
[0151]1.帶驅動在混合的讀取和寫入操作中接收寫入命令(寫入)。在混合的操作期間接收的寫入命令中的多數(shù)寫命令可能是追加寫入命令。在本發(fā)明中,也假設帶驅動在混合的操作中接收改寫命令。
[0152]10.帶驅動檢查接收的寫入命令是否為改寫命令或者追加寫入命令。如果命令是追加寫入,則在步驟?中執(zhí)行追加寫入(對應于圖9中的步驟2至5)。
[0153]2.如果帶驅動接收改寫命令,則處理繼續(xù)步驟3或者5。
[0154]3.為帶驅動接收改寫命令并且?guī)е械臄?shù)據(jù)將被改寫的情況提供這一步驟。
[0155]更新和存儲在如下帶物理位置的數(shù)據(jù)結束作為將在帶中追加寫入的數(shù)據(jù)結束(E0D),該帶物理位置被改寫命令指定用于數(shù)據(jù)寫入。在這一點,未在指定的帶物理位置寫入數(shù)據(jù)。在后續(xù)步驟7中,在非易失性存儲器(NV)高速緩存中暫時存儲數(shù)據(jù)。最后,在后續(xù)移動操作的最優(yōu)時間(圖12中的步驟10 — 11 — 12)在帶的指定的物理位置寫入NV高速緩存中存儲的數(shù)據(jù)。在改寫方法中,將帶中的在EOD之后的數(shù)據(jù)視為無效(換而言之為空)。另外,也關于如下數(shù)據(jù)將數(shù)據(jù)視為無效,該數(shù)據(jù)將用于在改寫命令之前接收的追加寫入命令并且該數(shù)據(jù)暫時存儲于NV高速緩存中、但是未對帶進行移動。EOD暫時存儲于非易失性存儲器、比如NV高速緩存、盒存儲器(CM:帶盒中的非易失性存儲器)或者數(shù)據(jù)集(帶中的數(shù)據(jù))中。
[0156]5.為帶驅動接收改寫命令并且NV高速緩存中的數(shù)據(jù)將被改寫的情況提供這一步驟。[0157]在一些情況下,存在如下數(shù)據(jù),這些數(shù)據(jù)將用于在改寫命令之前接收的追加寫入命令并且被暫時存儲于NV高速緩存中、但是未對帶進行移動。改寫NV高速緩存中的數(shù)據(jù)。高速緩存中的改寫的數(shù)據(jù)的結束被視為高速緩存中的追加的數(shù)據(jù)的結束(高速緩存中的EOD),并且在非易失性存儲器中更新和存儲數(shù)據(jù)結束。NV高速緩存中的在EOD之后的數(shù)據(jù)視為無效(換而言之為空)。最后以后續(xù)移動操作期間的最優(yōu)時間(圖12中的步驟10 — 11 — 12)在帶中從追加的數(shù)據(jù)的結束(EOD)起寫入高速緩存中直至更新的EOD的數(shù)據(jù)。
[0158]6.作為改寫的結果,帶中的追加的數(shù)據(jù)的結束(帶中的E0D)和NV高速緩存中的追加的數(shù)據(jù)的結束(高速緩存中的E0D)被存儲作為邏輯E0D。更高級設備(主機)未追加的數(shù)據(jù)是否存在于NV高速緩存中或者帶中。
[0159]7.這一步驟是改寫和追加寫入命令共有的。
[0160]如已經(jīng)參照追加寫入流程(圖9)描述的那樣,這一步驟對應于圖9中的步驟2 —(3或者4)— 5的流程。在本發(fā)明的示例中,在圖9的步驟3中,在NV高速緩存中暫時存儲用于改寫命令的數(shù)據(jù)。除非可以在NV高速緩存中存儲數(shù)據(jù),執(zhí)行與用于圖9中的步驟4相同的處理。
[0161]100:如果在NV高速緩存中存儲改寫的數(shù)據(jù),則向主機發(fā)送回寫入操作的完成指
示[0162]圖11圖示同步(Sync)命令的操作流程。
[0163]1.帶驅動從主機接收同步命令(Sync)。備選地,寫入命令可以涉及到同步操作。另外,帶驅動可以在數(shù)據(jù)由于寫入命令而保留于緩沖器中的狀態(tài)中接收由位置移動命令隱式地指定的同步請求。
[0164]2.檢查是否已經(jīng)正在帶中寫入數(shù)據(jù)。
[0165]3.如果正在寫入數(shù)據(jù),則通過正常同步處理對帶執(zhí)行正常追加寫入。
[0166]4.如果未正在寫入數(shù)據(jù),則檢查是否可以在NV高速緩存中寫入數(shù)據(jù)。換而言之,通過確定是否有以下區(qū)域來進行檢查。
[0167]5.如果在NV高速緩存中有自由空間,則在NV高速緩存中存儲數(shù)據(jù),然后向主機發(fā)送回同步的完成通知(8)。
[0168]6.如果在NV高速緩存中無自由空間,則執(zhí)行正常寫入(3),然后向主機發(fā)送回通知的完成通知(8)。
[0169]圖12圖示在寫入位置存在于兩個位置之間的移動中的情況下的移動操作的流程。
[0170]1.從主機接收移動命令
[0171]2.它是移向邏輯E0D?
[0172]邏輯EOD是如下位置,在該位置為主機完成數(shù)據(jù)寫入作為E0D,并且?guī)寗酉蛑鳈C通知該位置。物理EOD是驅動的內部數(shù)據(jù)結束。物理EOD是如下位置,在該位置驅動完成對帶的數(shù)據(jù)寫入。在將數(shù)據(jù)寫入非易失性存儲器中的狀態(tài)中,存在“帶上的E0D”和“非易失性存儲器中的E0D”這兩個物理E0D。在未在非易失性存儲器中寫入數(shù)據(jù)的狀態(tài),僅有“帶上的EOD ”這一個物理EOD。邏輯EOD在這一情況下對應于帶上的EOD。
[0173]3.如果當前位置是EOD (帶上的EOD或者NV高速緩存中的E0D),則無需移動。向主機發(fā)送回移動的完成通知(4)。執(zhí)行寫入流程(6,圖9或者圖10)、然后執(zhí)行同步命令流程(7,圖 11)。
[0174]8.如果當前位置不是邏輯EOD (2),則檢查數(shù)據(jù)是否存在于NV高速緩存中。
[0175]9.如果數(shù)據(jù)未存在于NV高速緩存中,則執(zhí)行從主機發(fā)送的用于讀取的移動命令(A —B)。然后向主機發(fā)送回移動的完成通知(13)。
[0176]10.如果數(shù)據(jù)存在于NV高速緩存中,則確定是否應當在移動期間執(zhí)行寫入。例如,如果用于數(shù)據(jù)寫入的EOD存在于移動期間的路線上,則確定執(zhí)行寫入。
[0177]11.如果應當寫入數(shù)據(jù),則在帶中從帶上的EOD重寫NV高速緩存中的數(shù)據(jù)(12)。
[0178]12.執(zhí)行正常移動(9)。如果在步驟10中確定不應在移動期間寫入數(shù)據(jù),則簡單地執(zhí)行移動(A —B) (9)。然后向主機發(fā)送回移動的完成通知(13)。
[0179]已經(jīng)主要關于在包括混合的寫入和讀取命令的系列命令中的讀取命令之間的移動以上示例。本發(fā)明的范圍不限于這一示例,并且是在非易失性存儲區(qū)域中進行寫入時保證完成同步操作的假設下提供的。如果在帶上的后續(xù)移動中均在后續(xù)遇到目標帶位置的機會,則本發(fā)明的范圍包括對非易失性存儲區(qū)域中存儲的數(shù)據(jù)執(zhí)行基本上帶寫入。一般而言,在分級存儲管理系統(tǒng)中,最底層帶庫接收包括混合的讀取和寫入命令的一系列命令。具有一個加載于其上的盒的帶驅動具有許多如下機會,在這些機會中,用于寫入和同步命令的帶寫入位置與在用于后續(xù)讀取命令的移動重疊。只要在帶驅動或者盒中提供新的非易失性存儲區(qū)域并且保證其預定容量(例如100兆字節(jié)或者更多),則有可能通過推遲帶中的追加寫入來確保一系列命令作為整體的操作性能。
[0180]如以上描述的那樣,本發(fā)明的庫系統(tǒng)實現(xiàn)通過專門為寫入或者讀取而卸載和加載盒來避免更換的有利效果。本發(fā)明的系統(tǒng)具有即使在混合的讀取和寫入操作中包括改寫的情況下仍然通過最小化數(shù)據(jù)寫入涉及到的移動操作來整體實現(xiàn)加速的有利效果。
[0181]10帶驅動
[0182]11 主機 I/F
[0183]12緩沖器
[0184]13 信道
[0185]14a寫入頭
[0186]14b讀取頭
[0187]15 馬達
[0188]16控制器
[0189]17磁頭位置控制系統(tǒng)
[0190]18馬達驅動器
[0191]19 CMI/F
[0192]20 盒
[0193]30庫控制機制
[0194]40訪問器
[0195]50 盒槽
[0196]100 帶庫
[0197]200 主機
【權利要求】
1.一種用于在帶介質的縱向方向往復地對所述帶介質執(zhí)行位置移動、讀取和寫入操作的帶記錄設備,具有在其上加載的具有所述帶介質的單個帶盒并且從更高級設備接收一系列命令(每次移向由移動命令指定的帶位置,即定位),所述系列命令包括混合的讀取、改寫和追加寫入命令,并且所述多個讀取命令包括按照這一順序的第一、第二、…、第m、第η、…(m, n=m+l)讀取命令,所述帶記錄設備包括: 緩沖器,用于存儲與所述讀取和寫入有關的數(shù)據(jù); 帶,用于記錄所述緩沖器中存儲的所述數(shù)據(jù); 讀取/寫入頭,用于從所述帶向所述緩沖器中讀取所述數(shù)據(jù)并且從所述緩沖器向所述帶上寫入所述數(shù)據(jù); 控制裝置,用于響應于讀取命令而從所述帶的所述指定的位置讀取數(shù)據(jù)并且在所述緩沖器中存儲所述數(shù)據(jù),并且用于響應于追加寫入命令從所述帶的追加的數(shù)據(jù)結束位置(EOD)寫入所述緩沖器中存儲的所述數(shù)據(jù);以及 非易失性存儲器,用于響應于寫入命令存儲所述緩沖器中存儲的所述數(shù)據(jù), 其中所述控制裝置執(zhí)行: (a)在接收到所述追加寫入命令時,在所述非易失性存儲器中從追加的數(shù)據(jù)結束位置(所述存儲器中的E0D)起存儲所述緩沖器中存儲的所述數(shù)據(jù); (b)在所述緩沖器中的所述數(shù)據(jù)被寫入所述非易失性存儲器中時,向所述更高級設備發(fā)送回所述追加寫入命令的完成通知; (c)在接收到所述追加寫入命令之后從針對所述第m讀取命令的讀取數(shù)據(jù)在所述帶上的結束位置移向針對所述第`η讀取命令的讀取開始位置時,移動所述非易失性存儲器中暫時存儲的所述數(shù)據(jù)、然后`基于預定標準移向將寫入所述非易失性存儲器中暫時存儲的所述數(shù)據(jù)的帶寫入位置(EOD)以執(zhí)行追加寫入,以便最小化所述帶相對于所述頭行進的移動距離;以及 (d)在接收在所述一系列命令中的所述混合的命令之間的、對于所述帶上的預定位置處數(shù)據(jù)的改寫命令的情況下,如果用于改寫所述數(shù)據(jù)的所述帶位置比所述帶的所述追加的數(shù)據(jù)結束位置(EOD)更早則更新所述改寫數(shù)據(jù)位置為追加的數(shù)據(jù)結束位置(E0D),并且如果用于改寫所述數(shù)據(jù)的所述帶位置比所述帶的所述追加的數(shù)據(jù)結束位置(EOD)更晚則更新所述改寫數(shù)據(jù)位置為所述非易失性存儲器中的追加的數(shù)據(jù)結束位置(所述存儲器中的E0D) ο
2.根據(jù)權利要求1所述的設備,其中如果將寫入所述數(shù)據(jù)的所述帶的所述數(shù)據(jù)結束位置(EOD)存在于所述移動距離內、也就是在所述結束位置與所述開始位置之間,則滿足所述標準。
3.根據(jù)權利要求1所述的設備,其中所述控制裝置向所述非易失性存儲器中存儲所述更新的數(shù)據(jù)結束位置(E0D)。
4.根據(jù)權利要求1所述的設備,其中所述控制裝置向包括所述帶的所述盒的所述非易失性存儲器中存儲所述更新的數(shù)據(jù)結束位置(EOD )。
5.一種用于向帶記錄設備中寫入的追加寫入方法,所述帶記錄設備包括:緩沖器,用于暫時存儲與讀取和追加寫入有關的數(shù)據(jù);帶,用于記錄所述緩沖器中存儲的所述數(shù)據(jù);讀取/寫入頭,用于從所述帶向所述緩沖器中讀取所述數(shù)據(jù)并且從所述緩沖器向所述帶上寫入所述數(shù)據(jù);以及控制裝置,用于響應于讀取命令從所述帶的指定的位置讀取數(shù)據(jù)并且將所述數(shù)據(jù)存儲在所述緩沖器中,并且用于響應于追加寫入命令從所述帶的追加的數(shù)據(jù)結束位置(EOD)起寫入所述緩沖器中存儲的所述數(shù)據(jù),并且在所述帶記錄設備上加載具有帶介質的單個帶盒并且所述帶記錄設備從更高級設備接收包括混合的讀取、改寫和追加寫入命令的一系列命令的情況下,其中所述多個讀取命令包括按照這一順序的第一、第二、…、第m、第η、…(m,n=m+l)讀取命令,所述帶記錄設備在所述帶介質的縱向方向往復地對所述帶執(zhí)行位置移動、讀取和寫入操作,其中所述帶記錄設備或者所述盒具有用于響應于寫入命令而存儲所述緩沖器中存儲的所述數(shù)據(jù)的非易失性存儲器,其中所述方法包括以下步驟: (a)在接收到所述追加寫入命令時,在所述非易失性存儲器中從追加的數(shù)據(jù)結束位置(所述存儲器中的E0D)起存儲所述緩沖器中存儲的所述數(shù)據(jù); (b)在所述緩沖器中的所述數(shù)據(jù)被寫入所述非易失性存儲器中時,向所述更高級設備發(fā)送回所述追加寫入命令的完成通知; (c)在從針對所述第m讀取命令的讀取數(shù)據(jù)在所述帶上的結束位置移向針對所述后續(xù)第η讀取命令的讀取開始位置時,移動所述非易失性存儲器中暫時存儲的所述數(shù)據(jù)、然后基于預定標準移向將寫入所述非易失性存儲器中暫時存儲的所述數(shù)據(jù)的帶寫入位置(EOD)以執(zhí)行追加寫入,以便最小化所述帶相對于所述頭行進的移動距離;以及 (d)在接收在所述一系列命令中的所述混合的命令之間的、對于在所述帶上的預定位置處數(shù)據(jù)的改寫命令的情況下,如果用于改寫所述數(shù)據(jù)的所述帶位置比所述帶的所述追加的數(shù)據(jù)結束位置(EOD)更早則更新所述改寫數(shù)據(jù)位置為追加的數(shù)據(jù)結束位置(E0D),并且如果用于改寫所述數(shù)據(jù)的所述 帶位置比所述帶的所述追加的數(shù)據(jù)結束位置(EOD)更晚則更新所述改寫數(shù)據(jù)位置為所述非易失性存儲器中的追加的數(shù)據(jù)結束位置(所述存儲器中的E0D)。
6.一種用于向帶記錄設備中進行寫入的程序,所述帶記錄設備包括:緩沖器,用于暫時存儲與讀取和追加寫入有關的數(shù)據(jù);帶,用于記錄所述緩沖器中存儲的所述數(shù)據(jù);讀取/寫入頭,用于從所述帶向所述緩沖器中讀取所述數(shù)據(jù)并且從所述緩沖器向所述帶上寫入所述數(shù)據(jù);以及控制裝置,用于響應于讀取命令從所述帶的指定的位置讀取數(shù)據(jù)并且將所述數(shù)據(jù)存儲在所述緩沖器中,并且用于響應于寫入命令從所述帶寫入所述緩沖器中存儲的所述數(shù)據(jù),并且在所述帶記錄設備上加載具有帶介質的單個帶盒并且所述帶記錄設備從更高級設備接收包括混合的讀取、改寫和追加寫入命令的一系列命令的情況下,其中所述多個讀取命令包括按照這一順序的第一、第二、…、第m、第η、…(m,n=m+l)讀取命令,所述帶記錄裝置在所述帶介質的縱向方向往復地對所述帶介質執(zhí)行位置移動、讀取和寫入操作,其中所述帶記錄設備或者所述盒具有用于響應于寫入命令而存儲所述緩沖器中存儲的所述數(shù)據(jù)的非易失性存儲器,其中所述程序使計算機執(zhí)行以下步驟: (a)在接收到所述追加寫入命令時,在所述非易失性存儲器中從追加的數(shù)據(jù)結束位置(所述存儲器中的E0D)起存儲所述緩沖器中存儲的所述數(shù)據(jù); (b)在所述緩沖器中的所述數(shù)據(jù)被寫入所述非易失性存儲器中時,向所述更高級設備發(fā)送回所述追加寫入命令的完成通知; (c)在從對于所述第m讀取命令的讀取的數(shù)據(jù)在所述帶上的結束位置移向對于所述后續(xù)第η讀取命令的讀取開始位置時,移動所述非易失性存儲器中暫時存儲的所述數(shù)據(jù)、然后基于預定標準移向將寫入所述非易失性存儲器中暫時存儲的所述數(shù)據(jù)的帶寫入位置(EOD)以執(zhí)行追加寫入,以便最小化所述帶相對于所述頭行進的移動距離;以及 (d)在接收在所述一系列命令中的所述混合的命令之間的、對于在所述帶上的預定位置處數(shù)據(jù)的改寫命令的情況下,如果用于改寫所述數(shù)據(jù)的所述帶位置比所述帶的所述追加的數(shù)據(jù)結束位置(EOD)更早則更新所述改寫的數(shù)據(jù)結束位置為追加的數(shù)據(jù)結束位置(E0D),并且如果用于改寫所述數(shù)據(jù)的所述帶位置比所述帶的所述追加的數(shù)據(jù)結束位置(EOD)更晚則更新所述改寫的數(shù)據(jù)結束位置為所述非易失性存儲器中的追加的數(shù)據(jù)結束位置(所述存儲器中的E`0D)。
【文檔編號】G11B20/10GK103534759SQ201280022782
【公開日】2014年1月22日 申請日期:2012年4月13日 優(yōu)先權日:2011年6月24日
【發(fā)明者】田口浩平, 白鳥敏幸 申請人:國際商業(yè)機器公司