專利名稱:基于閃存的磁帶仿真方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息技術(shù)領(lǐng)域,尤其是一種基于閃存的磁帶仿真方法。
背景技術(shù):
隨著計(jì)算機(jī)系統(tǒng)的廣泛應(yīng)用,用戶對(duì)計(jì)算機(jī)數(shù)據(jù)的保護(hù)顯得越來(lái)越重要。目前,保 護(hù)數(shù)據(jù)安全的主要手段是對(duì)數(shù)據(jù)進(jìn)行定期備份和歸檔。在備份和歸檔設(shè)備的選擇上,在過(guò) 去的很長(zhǎng)一段時(shí)間里用戶通常會(huì)選擇磁帶介質(zhì)(磁帶機(jī)、磁帶庫(kù))。隨著磁盤技術(shù)的飛速發(fā) 展和企業(yè)IT運(yùn)維預(yù)算的日益縮減,虛擬磁帶庫(kù)技術(shù)應(yīng)運(yùn)而生。傳統(tǒng)的虛擬磁帶庫(kù)是利用虛擬磁帶庫(kù)技術(shù),將磁盤陣列仿真為行業(yè)標(biāo)準(zhǔn)的物理磁 帶庫(kù)/磁帶驅(qū)動(dòng)器,從而在無(wú)需更換現(xiàn)有的磁帶備份軟件的基礎(chǔ)上,提高介質(zhì)的訪問速度、 可靠性及可用性。這種技術(shù)的缺點(diǎn)在于備份到虛擬磁帶庫(kù)中的數(shù)據(jù)需要移動(dòng)整個(gè)磁盤陣 列,磁盤陣列是一個(gè)1U、2U甚至幾U的硬件設(shè)備,移動(dòng)很不方便,造成數(shù)據(jù)歸檔、數(shù)據(jù)交換的 局限。目前,閃存(Flash Memory)可以被仿真成磁盤,將其當(dāng)做硬盤、磁盤陣列使用,這 種仿真技術(shù)存在的問題對(duì)于文件的操作特別是大量小文件的操作,文件的增加、刪除、修 改操作比較多,因此對(duì)仿真成硬盤、磁盤陣列的閃存反復(fù)讀寫次數(shù)多,對(duì)閃存的寫操作頻 繁。對(duì)于數(shù)據(jù)庫(kù)操作而言也是,數(shù)據(jù)庫(kù)記錄的增加、刪除、修改操作比較頻繁,因此對(duì)閃存的 寫操作也比較多。而閃存的基本存儲(chǔ)單元是頁(yè),并以塊為單位進(jìn)行擦除操作。閃存的寫入 操作必須在空白區(qū)域進(jìn)行,如果目標(biāo)區(qū)域已經(jīng)有數(shù)據(jù),必須先擦除后寫入,因此擦除操作是 閃存的基本操作。對(duì)于大量小文件、數(shù)據(jù)庫(kù)這種頻繁小數(shù)據(jù)量的操作,那就可能造成一方 面對(duì)某一些塊的頻繁讀寫而沒有有效使用整個(gè)閃存空間,使整個(gè)閃存的使用效率低,另一 方面對(duì)某一塊寫一次同樣計(jì)為使用了一次,在同樣的使用次數(shù)限制下閃存整體使用壽命降 低。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于閃存的磁帶仿真方法,該 磁帶仿真方法可以將閃存仿真成可以離線保存的磁帶,能夠隨時(shí)拔出離線保存并在另外的 虛擬磁帶裝置上讀出,既保證了數(shù)據(jù)的安全,又方便了用戶的使用。本發(fā)明解決現(xiàn)有的技術(shù)問題是采取以下技術(shù)方案實(shí)現(xiàn)的—種基于閃存的磁帶仿真方法,包括基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法和基 于閃存的磁帶仿真數(shù)據(jù)讀取處理方法,其中基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法包括如下步驟步驟1 裝載磁帶的步驟;步驟2 設(shè)定寫入數(shù)據(jù)偏移量的步驟;步驟3 以虛擬磁帶形式向閃存寫入數(shù)據(jù)的步驟;基于閃存的磁帶仿真數(shù)據(jù)讀取處理方法包括如下步驟
步驟1 裝載磁帶的步驟;步驟2 設(shè)定讀取數(shù)據(jù)偏移量的步驟;步驟3 以虛擬磁帶形式從閃存中讀取數(shù)據(jù)的步驟。而且,所述裝載磁帶的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI裝載磁帶命令;(2)磁帶庫(kù)仿真管理模塊檢查驅(qū)動(dòng)器狀態(tài)并進(jìn)行裝載磁帶處理;(3)磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶裝載狀態(tài)。而且,所述設(shè)定寫入數(shù)據(jù)偏移量的步驟包括如下處理過(guò)程(1)應(yīng)用模塊向?qū)ν饨涌谀K發(fā)送SCSI寫入命令;(2)對(duì)外接口模塊設(shè)定寫入數(shù)據(jù)偏移量并傳送給存儲(chǔ)訪問控制模塊;(3)存儲(chǔ)訪問控制模塊訪問閃存指定數(shù)據(jù)偏移量的位置;(4)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回設(shè)定寫入數(shù)據(jù)偏移量狀 態(tài)。而且,所述以虛擬磁帶形式向閃存寫入數(shù)據(jù)的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送寫入數(shù)據(jù)命令;(2)仿真磁帶存儲(chǔ)池模塊向閃存的指定偏移量位置寫入數(shù)據(jù);(3)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回寫入數(shù)據(jù)狀態(tài)。而且,所述仿真磁帶存儲(chǔ)池模塊向閃存的指定偏移量位置寫入數(shù)據(jù)的過(guò)程包括如 下步驟①仿真磁帶存儲(chǔ)池模塊判斷閃存是否格式化,如果未格式化則將閃存格式化后進(jìn) 入下一步;②檢測(cè)能否讀取閃存的序列號(hào),如果不能讀取則進(jìn)行出錯(cuò)處理;③讀取閃存的序列號(hào)及容量,將閃存的序列號(hào)作為磁帶的條碼,根據(jù)磁帶庫(kù)仿真 管理模塊的設(shè)置獲取磁帶的容量;④判斷磁帶容量是否滿足數(shù)據(jù)寫入,如果容量不夠則進(jìn)行出錯(cuò)處理;⑤按磁帶格式記錄數(shù)據(jù);⑥讀取已經(jīng)記錄數(shù)據(jù)的最后一個(gè)塊號(hào);⑦從下一個(gè)塊開始記錄數(shù)據(jù);⑧每次執(zhí)行寫入操作時(shí)均在閃存內(nèi)的磁帶頭索引部分中記錄數(shù)據(jù)集元數(shù)據(jù);⑨記錄數(shù)據(jù)在磁帶中寫入的數(shù)據(jù)終點(diǎn)并在閃存內(nèi)此帶頭索引部分記錄元數(shù)據(jù);⑩通知存儲(chǔ)訪問控制模塊寫入完成。而且,所述設(shè)定讀取數(shù)據(jù)偏移量的步驟包括如下處理過(guò)程(1)應(yīng)用模塊向?qū)ν饨涌谀K發(fā)送SCSI讀取命令;(2)對(duì)外接口模塊設(shè)定讀取數(shù)據(jù)偏移量并傳送給存儲(chǔ)訪問控制模塊;(3)存儲(chǔ)訪問控制模塊訪問閃存指定數(shù)據(jù)偏移量的位置;(4)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回設(shè)定讀取數(shù)據(jù)偏移量狀 態(tài)。而且,所述以虛擬磁帶形式從閃存中讀取數(shù)據(jù)的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送讀取數(shù)據(jù)命令;
(2)仿真磁帶存儲(chǔ)池模塊從閃存中的指定數(shù)據(jù)偏移量位置讀取數(shù)據(jù);(3)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回讀取數(shù)據(jù)狀態(tài)。而且,所述仿真磁帶存儲(chǔ)池模塊從閃存中的指定數(shù)據(jù)偏移量位置讀取數(shù)據(jù)的過(guò)程 包括如下步驟①判斷能否讀取磁帶的條碼,如果不能讀取則進(jìn)行出錯(cuò)處理;②讀取磁帶的條碼;③判斷條碼是否匹配,如果不匹配則進(jìn)行出錯(cuò)處理;④讀取磁帶索引表;⑤按磁帶格式讀取閃存中的數(shù)據(jù);⑥判斷是否讀到所需數(shù)據(jù)段的最后位置,如果不是則循環(huán)執(zhí)行④ ⑥;⑦通知存儲(chǔ)訪問控制模塊讀取數(shù)據(jù)完成。而且,所述基于閃存的磁帶仿真方法,還包括在數(shù)據(jù)存取前的閃存入庫(kù)處理方法 和閃存移動(dòng)前的閃存出庫(kù)處理方法,其中閃存入庫(kù)處理方法包括如下步驟步驟1 應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI磁帶入庫(kù)準(zhǔn)備 命令;步驟2 磁帶庫(kù)仿真管理模塊檢查入出口狀態(tài);步驟3 磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回入庫(kù)準(zhǔn)備狀態(tài);步驟4 插入熱插拔閃存;步驟5 應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送SCSI磁帶入庫(kù)命令;步驟6 存儲(chǔ)訪問控制模塊讀取磁帶條碼和磁帶數(shù)據(jù)格式;步驟7 存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶入庫(kù)狀態(tài);閃存出庫(kù)處理方法包括如下步驟步驟1 應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI磁帶出庫(kù)命 令;步驟2 磁帶庫(kù)仿真管理模塊準(zhǔn)備需要出庫(kù)的磁帶;步驟3 磁帶庫(kù)仿真管理模塊解除磁帶鎖定并彈出熱插拔閃存;步驟4 存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶出庫(kù)狀態(tài)。本發(fā)明的優(yōu)點(diǎn)和積極效果是1、本磁帶仿真方法將閃存仿真成可以離線保存的磁帶,數(shù)據(jù)通過(guò)虛擬磁帶裝置線 性寫入,寫好數(shù)據(jù)的閃存可以當(dāng)成磁帶隨時(shí)拔出離線保存,用于數(shù)據(jù)歸檔、數(shù)據(jù)交換,同時(shí), 仿真成磁帶的離線閃存中的數(shù)據(jù)可以在另一個(gè)虛擬磁帶裝置上讀出,可廣泛用于遠(yuǎn)程數(shù)據(jù) 保護(hù)。2、本磁帶仿真方法將閃存仿真成可以離線保存的磁帶,充分利用磁帶是線性記 錄、能離線的固有特性,在數(shù)據(jù)寫入時(shí),磁帶的每次數(shù)據(jù)寫入都從下一個(gè)塊開始記錄,也就 是說(shuō)只有在寫滿整個(gè)閃存才算對(duì)閃存操作一次,有效提高閃存整體使用壽命;數(shù)據(jù)刪除時(shí), 將數(shù)據(jù)所在的閃存塊做一個(gè)標(biāo)記而沒有從閃存上真實(shí)的把數(shù)據(jù)刪除,只有整個(gè)閃存的數(shù)據(jù) 寫滿后才開始從頭記錄,避免了大量小文件、數(shù)據(jù)庫(kù)這種頻繁小數(shù)據(jù)量操作時(shí)只針對(duì)某一 塊頻繁讀寫的弊端,能充分利用整個(gè)閃存空間,提高閃存的使用效率。
3、本磁帶仿真方法將閃存與磁帶技術(shù)有機(jī)結(jié)合,通過(guò)將閃存的序列號(hào)當(dāng)成磁帶的 Brocode,并將閃存的容量當(dāng)成磁帶的容量,并仿真寫保護(hù)等磁帶屬性,使閃存變成磁帶的 操作方式,提高了閃存性能,拓展了其適用范圍。4、本磁帶仿真方法將閃存仿真成離線保存的磁帶用于數(shù)據(jù)歸檔,對(duì)于保存使用率 低且需要長(zhǎng)期保存的數(shù)據(jù),比使用磁盤存儲(chǔ)更加有效。5、本發(fā)明將閃存仿真成可以離線的磁帶并在另一個(gè)虛擬磁帶裝置上讀出,提高了 數(shù)據(jù)安全性,方便了用戶的使用,提高了閃存性能,延長(zhǎng)了閃存的使用壽命,拓展了其適用 范圍。
圖1是磁帶虛擬裝置的結(jié)構(gòu)示意圖;圖2是基于閃存的磁帶仿真數(shù)據(jù)寫入處理流程圖;圖3是閃存仿真磁帶存儲(chǔ)池模塊寫入數(shù)據(jù)處理流程圖;圖4是基于閃存的磁帶仿真數(shù)據(jù)讀取處理流程圖;圖5是閃存仿真磁帶存儲(chǔ)池模塊讀取數(shù)據(jù)處理流程圖。圖6是閃存入庫(kù)處理流程圖;圖7是閃存出庫(kù)處理流程圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明實(shí)施例做進(jìn)一步詳述。一種基于閃存的磁帶仿真方法,是在如圖1所示的虛擬磁帶裝置上實(shí)現(xiàn)的,該虛 擬磁帶裝置包括對(duì)外接口模塊、磁帶庫(kù)仿真管理模塊、存儲(chǔ)訪問控制模塊及仿真磁帶存儲(chǔ) 池模塊,對(duì)外接口模塊一方面與安裝在備份服務(wù)器中的應(yīng)用模塊通過(guò)NAS、iSCSI、FCSCSI 架構(gòu)連接在一起,另一方面與磁帶庫(kù)仿真管理模塊、存儲(chǔ)訪問控制模塊相連接,存儲(chǔ)訪問控 制模塊還分別與仿真磁帶存儲(chǔ)池模塊及磁帶庫(kù)仿真管理模塊相連接。虛擬磁帶裝置通過(guò)與 備份服務(wù)器中的應(yīng)用模塊進(jìn)行交互式工作實(shí)現(xiàn)閃存的磁帶仿真處理任務(wù)。基于閃存的磁帶仿真方法通過(guò)虛擬磁帶裝置將各種閃存仿真成真實(shí)磁帶,其將閃 存的序列號(hào)當(dāng)成磁帶的Brocode,將閃存的容量當(dāng)成磁帶的容量,并仿真寫保護(hù)等磁帶屬 性。磁帶作為一種線性記錄方法,能從下一個(gè)塊開始記錄,每次數(shù)據(jù)寫入都從下一個(gè)塊開始 記錄,數(shù)據(jù)的刪除是將數(shù)據(jù)所在的閃存塊做一個(gè)標(biāo)記而沒有從閃存上真實(shí)的把數(shù)據(jù)刪除, 只有整個(gè)閃存的數(shù)據(jù)寫滿后才開始從頭記錄。一種基于閃存的磁帶仿真方法,包括基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法、基 于閃存的磁帶仿真數(shù)據(jù)讀取處理方法、數(shù)據(jù)存取前的閃存入庫(kù)處理方法和閃存移動(dòng)前的閃 存出庫(kù)處理方法?;陂W存的磁帶仿真數(shù)據(jù)寫入處理方法,如圖2及圖3所示,包括如下步驟步驟1 裝載磁帶的步驟;裝載磁帶的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI裝載磁帶命令;(2)磁帶庫(kù)仿真管理模塊檢查驅(qū)動(dòng)器狀態(tài)并進(jìn)行裝載磁帶處理;
(3)磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶裝載狀態(tài);磁帶庫(kù)仿真管理模塊向應(yīng)用模塊返回的的磁帶裝載狀態(tài)包括磁帶裝載成功、驅(qū)動(dòng) 器狀態(tài)異常和磁帶裝載失敗三種情況,如果驅(qū)動(dòng)器狀態(tài)異?;虼艓аb載失敗,則本次寫入 處理失敗,需要進(jìn)行出錯(cuò)處理。步驟2 設(shè)定寫入數(shù)據(jù)偏移量的步驟;設(shè)定寫入數(shù)據(jù)偏移量的步驟包括如下處理過(guò)程(1)應(yīng)用模塊向?qū)ν饨涌谀K發(fā)送SCSI寫入命令;(2)對(duì)外接口模塊設(shè)定寫入數(shù)據(jù)偏移量并傳送給存儲(chǔ)訪問控制模塊;(3)存儲(chǔ)訪問控制模塊訪問閃存指定數(shù)據(jù)偏移量的位置;(4)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回設(shè)定寫入數(shù)據(jù)偏移量狀 態(tài);步驟3 以虛擬磁帶形式向閃存寫入數(shù)據(jù)的步驟;以虛擬磁帶形式向閃存寫入數(shù)據(jù)的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送寫入數(shù)據(jù)命令;(2)仿真磁帶存儲(chǔ)池模塊向閃存的指定偏移量位置寫入數(shù)據(jù);(3)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回寫入數(shù)據(jù)狀態(tài);其中,仿真磁帶存儲(chǔ)池模塊向閃存的指定偏移量位置寫入數(shù)據(jù)的處理過(guò)程,如圖5 所示,包括①仿真磁帶存儲(chǔ)池模塊判斷閃存是否格式化,如果未格式化則將閃存格式化后進(jìn) 入下一步;②檢測(cè)能否讀取閃存的序列號(hào),如果不能讀取則進(jìn)行出錯(cuò)處理;③讀取閃存的序列號(hào)及容量,將閃存的序列號(hào)作為磁帶的條碼,根據(jù)磁帶庫(kù)仿真 管理模塊的設(shè)置獲取磁帶的容量;④判斷磁帶容量是否滿足數(shù)據(jù)寫入,如果容量不夠則進(jìn)行出錯(cuò)處理;⑤按磁帶格式記錄數(shù)據(jù);⑥讀取已經(jīng)記錄數(shù)據(jù)的最后一個(gè)塊號(hào);⑦從下一個(gè)塊開始記錄數(shù)據(jù);⑧每次執(zhí)行寫入操作時(shí)均在閃存內(nèi)的磁帶頭索引部分中記錄數(shù)據(jù)集元數(shù)據(jù);⑨記錄數(shù)據(jù)在磁帶中寫入的數(shù)據(jù)終點(diǎn)并在閃存內(nèi)此帶頭索引部分記錄元數(shù)據(jù);⑩通知存儲(chǔ)訪問控制模塊寫入完成。通過(guò)上述步驟即可實(shí)現(xiàn)將閃存仿真為磁帶的寫入數(shù)據(jù)的功能?;陂W存的磁帶仿真數(shù)據(jù)讀取處理方法,如圖4及圖5所示,包括如下步驟步驟1 裝載磁帶的步驟;裝載磁帶的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI裝載磁帶命令;(2)磁帶庫(kù)仿真管理模塊檢查驅(qū)動(dòng)器狀態(tài)并進(jìn)行裝載磁帶處理;(3)磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶裝載狀態(tài);磁帶庫(kù)仿真管理模塊向應(yīng)用模塊返回的的磁帶裝載狀態(tài)包括磁帶裝載成功、驅(qū)動(dòng) 器狀態(tài)異常和磁帶裝載失敗三種情況,如果驅(qū)動(dòng)器狀態(tài)異?;虼艓аb載失敗,則本次寫入處理失敗,需要進(jìn)行出錯(cuò)處理。步驟2 設(shè)定讀取數(shù)據(jù)偏移量的步驟;設(shè)定讀取數(shù)據(jù)偏移量的步驟包括如下處理過(guò)程(1)應(yīng)用模塊向?qū)ν饨涌谀K發(fā)送SCSI讀取命令;(2)對(duì)外接口模塊設(shè)定讀取數(shù)據(jù)偏移量并傳送給存儲(chǔ)訪問控制模塊;(3)存儲(chǔ)訪問控制模塊訪問閃存指定數(shù)據(jù)偏移量的位置;(4)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回設(shè)定讀取數(shù)據(jù)偏移量狀 態(tài);步驟3 以虛擬磁帶形式從閃存中讀取數(shù)據(jù)的步驟以虛擬磁帶形式從閃存中讀取數(shù)據(jù)的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送讀取數(shù)據(jù)命令;(2)仿真磁帶存儲(chǔ)池模塊從閃存中的指定數(shù)據(jù)偏移量位置讀取數(shù)據(jù);(3)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回讀取數(shù)據(jù)狀態(tài)。其中,仿真磁帶存儲(chǔ)池模塊從閃存中的指定數(shù)據(jù)偏移量位置讀取數(shù)據(jù)的過(guò)程,如 圖5所示,包括①判斷能否讀取磁帶的條碼,如果不能讀取則進(jìn)行出錯(cuò)處理;②讀取磁帶的條碼;③判斷條碼是否匹配,如果不匹配則進(jìn)行出錯(cuò)處理;④讀取磁帶索引表;⑤按磁帶格式讀取閃存中的數(shù)據(jù);⑥判斷是否讀到所需數(shù)據(jù)段的最后位置,如果不是則循環(huán)執(zhí)行④ ⑥;⑦通知存儲(chǔ)訪問控制模塊讀取數(shù)據(jù)完成。通過(guò)上述步驟即可實(shí)現(xiàn)從仿真為磁帶的閃存中讀取數(shù)據(jù)的功能。閃存入庫(kù)處理方法,如圖6,包括如下步驟步驟1 應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI磁帶入庫(kù)準(zhǔn)備 命令;步驟2 磁帶庫(kù)仿真管理模塊檢查入出口狀態(tài);步驟3 磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回入庫(kù)準(zhǔn)備狀態(tài);步驟4:插入熱插拔閃存;步驟5 應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送SCSI磁帶入庫(kù)命令;步驟6 存儲(chǔ)訪問控制模塊讀取磁帶條碼和磁帶數(shù)據(jù)格式;步驟7 存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶入庫(kù)狀態(tài)。通過(guò)上述步驟即可實(shí)現(xiàn)在虛擬磁帶裝置中安全插入閃存的功能。閃存出庫(kù)處理方法,如圖7所示,包括如下步驟步驟1 應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI磁帶出庫(kù)命 令;步驟2 磁帶庫(kù)仿真管理模塊準(zhǔn)備需要出庫(kù)的磁帶;步驟3 磁帶庫(kù)仿真管理模塊解除磁帶鎖定并彈出熱插拔閃存;步驟4 存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶出庫(kù)狀態(tài)。
通過(guò)上述入庫(kù)及出庫(kù)處理方法可以實(shí)現(xiàn)在虛擬磁帶裝置中安全拔出閃存的功能。本發(fā)明所述的實(shí)施例是說(shuō)明性的,而不是限定性的,因此發(fā)明并不限于具體實(shí)施 方式中所述的實(shí)施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方 式,同樣屬于本發(fā)明保護(hù)的范圍。
權(quán)利要求
一種基于閃存的磁帶仿真方法,其特征在于包括基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法和基于閃存的磁帶仿真數(shù)據(jù)讀取處理方法,其中基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法包括如下步驟步驟1裝載磁帶的步驟;步驟2設(shè)定寫入數(shù)據(jù)偏移量的步驟;步驟3以虛擬磁帶形式向閃存寫入數(shù)據(jù)的步驟;基于閃存的磁帶仿真數(shù)據(jù)讀取處理方法包括如下步驟步驟1裝載磁帶的步驟;步驟2設(shè)定讀取數(shù)據(jù)偏移量的步驟;步驟3以虛擬磁帶形式從閃存中讀取數(shù)據(jù)的步驟。
2.根據(jù)權(quán)利要求1所述的基于閃存的磁帶仿真方法,其特征在于所述裝載磁帶的步 驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI裝載磁帶命令;(2)磁帶庫(kù)仿真管理模塊檢查驅(qū)動(dòng)器狀態(tài)并進(jìn)行裝載磁帶處理;(3)磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶裝載狀態(tài)。
3.根據(jù)權(quán)利要求1所述的基于閃存的磁帶仿真方法,其特征在于所述設(shè)定寫入數(shù)據(jù) 偏移量的步驟包括如下處理過(guò)程(1)應(yīng)用模塊向?qū)ν饨涌谀K發(fā)送SCSI寫入命令;(2)對(duì)外接口模塊設(shè)定寫入數(shù)據(jù)偏移量并傳送給存儲(chǔ)訪問控制模塊;(3)存儲(chǔ)訪問控制模塊訪問閃存指定數(shù)據(jù)偏移量的位置;(4)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回設(shè)定寫入數(shù)據(jù)偏移量狀態(tài)。
4.根據(jù)權(quán)利要求1所述的基于閃存的磁帶仿真方法,其特征在于所述以虛擬磁帶形 式向閃存寫入數(shù)據(jù)的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送寫入數(shù)據(jù)命令;(2)仿真磁帶存儲(chǔ)池模塊向閃存的指定偏移量位置寫入數(shù)據(jù);(3)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回寫入數(shù)據(jù)狀態(tài)。
5.根據(jù)權(quán)利要求4所述的基于閃存的磁帶仿真方法,其特征在于所述仿真磁帶存儲(chǔ) 池模塊向閃存的指定偏移量位置寫入數(shù)據(jù)的過(guò)程包括如下步驟①仿真磁帶存儲(chǔ)池模塊判斷閃存是否格式化,如果未格式化則將閃存格式化后進(jìn)入下 一步;②檢測(cè)能否讀取閃存的序列號(hào),如果不能讀取則進(jìn)行出錯(cuò)處理;③讀取閃存的序列號(hào)及容量,將閃存的序列號(hào)作為磁帶的條碼,根據(jù)磁帶庫(kù)仿真管理 模塊的設(shè)置獲取磁帶的容量;④判斷磁帶容量是否滿足數(shù)據(jù)寫入,如果容量不夠則進(jìn)行出錯(cuò)處理;⑤按磁帶格式記錄數(shù)據(jù);⑥讀取已經(jīng)記錄數(shù)據(jù)的最后一個(gè)塊號(hào);⑦從下一個(gè)塊開始記錄數(shù)據(jù);⑧每次執(zhí)行寫入操作時(shí)均在閃存內(nèi)的磁帶頭索引部分中記錄數(shù)據(jù)集元數(shù)據(jù);⑨記錄數(shù)據(jù)在磁帶中寫入的數(shù)據(jù)終點(diǎn)并在閃存內(nèi)此帶頭索引部分記錄元數(shù)據(jù);⑩通知存儲(chǔ)訪問控制模塊寫入完成。
6.根據(jù)權(quán)利要求1所述的基于閃存的磁帶仿真方法,其特征在于所述設(shè)定讀取數(shù)據(jù) 偏移量的步驟包括如下處理過(guò)程(1)應(yīng)用模塊向?qū)ν饨涌谀K發(fā)送SCSI讀取命令;(2)對(duì)外接口模塊設(shè)定讀取數(shù)據(jù)偏移量并傳送給存儲(chǔ)訪問控制模塊;(3)存儲(chǔ)訪問控制模塊訪問閃存指定數(shù)據(jù)偏移量的位置;(4)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回設(shè)定讀取數(shù)據(jù)偏移量狀態(tài)。
7.根據(jù)權(quán)利要求1所述的基于閃存的磁帶仿真方法,其特征在于所述以虛擬磁帶形 式從閃存中讀取數(shù)據(jù)的步驟包括如下處理過(guò)程(1)應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送讀取數(shù)據(jù)命令;(2)仿真磁帶存儲(chǔ)池模塊從閃存中的指定數(shù)據(jù)偏移量位置讀取數(shù)據(jù);(3)存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回讀取數(shù)據(jù)狀態(tài)。
8.根據(jù)權(quán)利要求7所述的基于閃存的磁帶仿真方法,其特征在于所述仿真磁帶存儲(chǔ) 池模塊從閃存中的指定數(shù)據(jù)偏移量位置讀取數(shù)據(jù)的過(guò)程包括如下步驟①判斷能否讀取磁帶的條碼,如果不能讀取則進(jìn)行出錯(cuò)處理;②讀取磁帶的條碼;③判斷條碼是否匹配,如果不匹配則進(jìn)行出錯(cuò)處理;④讀取磁帶索引表;⑤按磁帶格式讀取閃存中的數(shù)據(jù);⑥判斷是否讀到所需數(shù)據(jù)段的最后位置,如果不是則循環(huán)執(zhí)行④ ⑥;⑦通知存儲(chǔ)訪問控制模塊讀取數(shù)據(jù)完成。
9.根據(jù)權(quán)利要求1所述的基于閃存的磁帶仿真方法,其特征在于所述基于閃存的磁 帶仿真方法,還包括在數(shù)據(jù)存取前的閃存入庫(kù)處理方法和閃存移動(dòng)前的閃存出庫(kù)處理方 法,其中閃存入庫(kù)處理方法包括如下步驟步驟1 應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI磁帶入庫(kù)準(zhǔn)備命令;步驟2 磁帶庫(kù)仿真管理模塊檢查入出口狀態(tài);步驟3 磁帶庫(kù)仿真管理模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回入庫(kù)準(zhǔn)備狀態(tài); 步驟4 插入熱插拔閃存;步驟5 應(yīng)用模塊經(jīng)對(duì)外接口模塊向存儲(chǔ)訪問控制模塊發(fā)送SCSI磁帶入庫(kù)命令; 步驟6 存儲(chǔ)訪問控制模塊讀取磁帶條碼和磁帶數(shù)據(jù)格式; 步驟7 存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶入庫(kù)狀態(tài); 閃存出庫(kù)處理方法包括如下步驟步驟1 應(yīng)用模塊經(jīng)對(duì)外接口模塊向磁帶庫(kù)仿真管理模塊發(fā)送SCSI磁帶出庫(kù)命令;步驟2 磁帶庫(kù)仿真管理模塊準(zhǔn)備需要出庫(kù)的磁帶;步驟3 磁帶庫(kù)仿真管理模塊解除磁帶鎖定并彈出熱插拔閃存;步驟4 存儲(chǔ)訪問控制模塊經(jīng)對(duì)外接口模塊向應(yīng)用模塊返回磁帶出庫(kù)狀態(tài)。
全文摘要
本發(fā)明涉及一種基于閃存的磁帶仿真方法,包括基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法和基于閃存的磁帶仿真數(shù)據(jù)讀取處理方法,其中基于閃存的磁帶仿真數(shù)據(jù)寫入處理方法包括如下步驟步驟1裝載磁帶的步驟;步驟2設(shè)定寫入數(shù)據(jù)偏移量的步驟;步驟3以虛擬磁帶形式向閃存寫入數(shù)據(jù)的步驟;基于閃存的磁帶仿真數(shù)據(jù)讀取處理方法包括如下步驟步驟1裝載磁帶的步驟;步驟2設(shè)定讀取數(shù)據(jù)偏移量的步驟;步驟3以虛擬磁帶形式從閃存中讀取數(shù)據(jù)的步驟。本發(fā)明將閃存仿真成可以離線的磁帶并在另一個(gè)虛擬磁帶裝置上讀出,提高了數(shù)據(jù)安全性,方便了用戶的使用,提高了閃存性能,延長(zhǎng)了閃存的使用壽命,拓展了其適用范圍。
文檔編號(hào)G06F3/06GK101968722SQ20101029411
公開日2011年2月9日 申請(qǐng)日期2010年9月28日 優(yōu)先權(quán)日2010年9月28日
發(fā)明者劉江, 史瑛, 李峻巍, 郭競(jìng)遠(yuǎn), 黃疆, 龔平 申請(qǐng)人:天津火星科技有限公司