国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      存儲媒體中設(shè)置受保護(hù)分區(qū)保護(hù)狀態(tài)的裝置、系統(tǒng)及方法

      文檔序號:6561988閱讀:263來源:國知局
      專利名稱:存儲媒體中設(shè)置受保護(hù)分區(qū)保護(hù)狀態(tài)的裝置、系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及存儲媒體,更具體地講,本發(fā)明涉及實(shí)現(xiàn)存儲媒體中受保護(hù)的分區(qū)。
      背景技術(shù)
      電子商務(wù)所創(chuàng)建的數(shù)據(jù)的劇增,使存儲器成為各種規(guī)模的公司優(yōu)先考慮的戰(zhàn)略投資。鑒于存儲器的優(yōu)先性,開始主要關(guān)注對以非可重寫和非可擦除方式對數(shù)據(jù)進(jìn)行歸檔的需求。這一需求部分地基于對滿足例如由證券交易委員會與HIPPA所要求的金融數(shù)據(jù)的管理、以及法庭記錄、客戶記錄、和其它長生命期信息的歸檔的法定要求的需求。傳統(tǒng)上,光媒體已經(jīng)用于以非可重寫和非可擦除形式存儲數(shù)據(jù)。也可把非可重寫和非可擦除數(shù)據(jù)稱為參照數(shù)據(jù)、固定內(nèi)容數(shù)據(jù)、或一寫多讀(WORM)數(shù)據(jù)。
      由于存儲子系統(tǒng)中盤價(jià)格的不斷下降以及存儲容量的不斷增加,信息技術(shù)提供商正越來越多地把WORM數(shù)據(jù)轉(zhuǎn)向基于盤的存儲子系統(tǒng)?;诒P的存儲子系統(tǒng)可以為存儲區(qū)域網(wǎng)的一部分。存儲網(wǎng)絡(luò)工業(yè)協(xié)會(SNIA)把SAN定義為一種其主要目的是計(jì)算機(jī)系統(tǒng)和存儲元件之間的數(shù)據(jù)傳送的網(wǎng)絡(luò)。SAN可以包括通信基礎(chǔ)設(shè)施,其提供了物理連接;以及管理層,其對連接、存儲元件以及計(jì)算機(jī)系統(tǒng)進(jìn)行組織,從而可使數(shù)據(jù)傳送安全與魯棒性。SAN還可以包括存儲系統(tǒng),該存儲系統(tǒng)包括存儲元件、存儲設(shè)備、計(jì)算機(jī)系統(tǒng)、和/或器具、以及在網(wǎng)絡(luò)上通信傳送的所有控制軟件。
      通常,存儲區(qū)域網(wǎng)包括與存儲器或盤控制器相連的多個(gè)存儲設(shè)備,例如磁帶驅(qū)動器或硬盤驅(qū)動器??傮w上,盤控制器是配置為處理來自主機(jī)或客戶機(jī)的讀/寫請求的服務(wù)器。主機(jī)可以運(yùn)行諸如視窗(Windows)、Linux、UNIX、AIX、zOS等的各種操作系統(tǒng)。在大規(guī)模計(jì)算環(huán)境中,存儲區(qū)域網(wǎng)是用于提供大量存儲和可升級(scalable)服務(wù)器或存儲控制器性能的理想方案。
      典型的情況是,在存儲區(qū)域網(wǎng)環(huán)境中,主機(jī)從盤控制器請求數(shù)據(jù)。然后,盤控制器從包含所請求數(shù)據(jù)的、通常稱為本地單元(home location)的具體存儲設(shè)備提取數(shù)據(jù)。然后,盤控制器把數(shù)據(jù)發(fā)送至主機(jī)。如果主機(jī)修改了數(shù)據(jù),則把數(shù)據(jù)發(fā)送回盤控制器,盤控制器把所修改的數(shù)據(jù)返回給本地單元。典型的情況是,主機(jī)等待來自盤控制器的指示讀或?qū)懖僮饕呀?jīng)完成的響應(yīng)。通常,本地單元呈盤驅(qū)動器上分區(qū)的形式。分區(qū)還包括至少一個(gè)固定大小的存儲單元,或至少一個(gè)可變大小的存儲單元。在一個(gè)實(shí)施例中,固定大小的存儲單元為邏輯塊地址(LBA)。
      盤控制器還可以提供功能,諸如,提供異構(gòu)服務(wù)器存取的能力、數(shù)據(jù)高速緩沖存儲、諸如各種RAID實(shí)施以及集群的數(shù)據(jù)可用性特性、可升級性、設(shè)備可視化、復(fù)制服務(wù)、以及非可重寫和非可擦除存儲器(WORM)。通常,由駐留在存儲設(shè)備或盤驅(qū)動器之外、例如盤控制器中的微代碼提供WORM功能,該功能防止了對存儲在盤驅(qū)動器上的數(shù)據(jù)的修改、刪除以及添加。通常,盤驅(qū)動器集成和封裝于子系統(tǒng)中,并且不能被去除。也把提供WORM功能的存儲子系統(tǒng)稱為WORM存儲子系統(tǒng)。
      盡管越來越多地把WORM存儲子系統(tǒng)接受為對參照數(shù)據(jù)進(jìn)行歸檔的法定手段,但仍存在這樣的安全性關(guān)注盤驅(qū)動器上的數(shù)據(jù)固有地可重寫和可擦除。防止歸檔數(shù)據(jù)被改變或刪除的最好的防范措施由不允許修改或刪除的控制器微代碼、和封裝在可封閉框架或殼體中的盤驅(qū)動器的物理保護(hù)提供。當(dāng)把盤驅(qū)動器從存儲子系統(tǒng)中去除時(shí),盤驅(qū)動器上的數(shù)據(jù)不再安全,并且可以被蓋寫、刪除或操縱。為了防止這一情況,可以按特定方式對數(shù)據(jù)進(jìn)行格式化,以使對數(shù)據(jù)的改變更為困難,然而,仍有可能對該格式進(jìn)行解碼并且操縱數(shù)據(jù)。與媒體的物理性質(zhì)提供數(shù)據(jù)修改的自然屏障的過去相比,會使歸檔數(shù)據(jù)的完整性冒更大的風(fēng)險(xiǎn)。而且,當(dāng)前的WORM系統(tǒng)通常依賴于主計(jì)算機(jī)或盤控制器的專用(proprietary)接口,可能引發(fā)與現(xiàn)存信息技術(shù)基礎(chǔ)設(shè)施相關(guān)的問題。
      從以上的論述可以看出,顯然存在著對在硬盤驅(qū)動器中實(shí)現(xiàn)受保護(hù)分區(qū)的裝置、系統(tǒng)以及方法的需求。有益的作法是,這樣的裝置、系統(tǒng)以及方法將利用標(biāo)準(zhǔn)化的接口,而不要求專用的硬件或接口。

      發(fā)明內(nèi)容
      針對這一技術(shù)的當(dāng)前狀態(tài),具體地講,針對這一技術(shù)中由當(dāng)前可用的分區(qū)保護(hù)系統(tǒng)尚未完全解決的問題和需求,開發(fā)本發(fā)明。因此,開發(fā)本發(fā)明以提供一種用于設(shè)置克服以上所論述的這一技術(shù)的諸多或全部缺點(diǎn)的受保護(hù)分區(qū)的保護(hù)狀態(tài)的裝置、系統(tǒng)以及方法。
      設(shè)置受保護(hù)分區(qū)的裝置配備有邏輯單元,該邏輯單元包含多個(gè)模塊,所述模塊配置為功能上執(zhí)行保護(hù)分區(qū)所必須的步驟。所描述的實(shí)施例中的這些模塊包括控制模塊,配置為從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;以及檢查模塊,配置為核查目標(biāo)分區(qū)的保護(hù)狀態(tài)。
      在另一實(shí)施例中,該裝置包括寫模塊,該寫模塊被配置為根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換,來執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。所述多個(gè)保護(hù)狀態(tài)還可以包括自動受保護(hù)狀態(tài),將其配置為只允許一個(gè)寫操作,并隨后轉(zhuǎn)換至只讀自動受保護(hù)狀態(tài);以及只讀自動受保護(hù)狀態(tài),配置為一旦數(shù)據(jù)已寫入分區(qū),則防止寫、擦除以及格式命令。
      在一個(gè)實(shí)施例中,所述裝置包括多個(gè)可允許保護(hù)狀態(tài)轉(zhuǎn)換。保護(hù)狀態(tài)轉(zhuǎn)換可以包括從未受保護(hù)狀態(tài)向用于正常讀/寫操作的未受保護(hù)狀態(tài)、自動受保護(hù)狀態(tài)、以及WORM受保護(hù)狀態(tài)之一轉(zhuǎn)換;從自動受保護(hù)狀態(tài)向未受保護(hù)狀態(tài)或只讀自動受保護(hù)狀態(tài)之一轉(zhuǎn)換;以及從只讀自動受保護(hù)狀態(tài)向WORM受保護(hù)狀態(tài)轉(zhuǎn)換。
      在另一實(shí)施例中,所述裝置包括解析(parse)模塊,該解析模塊配置為從保護(hù)狀態(tài)轉(zhuǎn)換命令抽取邏輯塊地址??梢詮挠砂ㄓ脖P控制器、DVD-R、DVD-RW、DVD-RAM、HD-DVD、藍(lán)光(Blu-Ray)、UDO、CD-R、CD-RW、磁光、相變、全息、匣式磁帶(tape cartridge)驅(qū)動器、盒式磁帶(tape cassette)驅(qū)動器、以及固態(tài)媒體的組中選擇存儲設(shè)備。分區(qū)可以包括至少一個(gè)固定大小的存儲單元或一個(gè)可變大小存儲單元。
      本發(fā)明還提供一種實(shí)現(xiàn)存儲媒體中受保護(hù)分區(qū)的系統(tǒng)。具體地講,在一個(gè)實(shí)施例中,所述系統(tǒng)包括以上所描述的裝置、主機(jī)設(shè)備、以及耦合于主機(jī)的存儲設(shè)備。該存儲設(shè)備可以包括包含存儲媒體的封裝和控制模塊。
      本發(fā)明還提供一種保護(hù)存儲媒體中分區(qū)的方法。在所公開的實(shí)施例中,該方法實(shí)質(zhì)包括針對所描述的裝置與系統(tǒng)的操作而執(zhí)行以上所提出的功能所必須的步驟。在一個(gè)實(shí)施例中,所述方法包括從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;核查目標(biāo)分區(qū)的保護(hù)狀態(tài);以及根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換而執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      所述方法還包括從讀和寫命令中抽取邏輯塊地址和保護(hù)狀態(tài)。另外,該方法包括允許從未受保護(hù)狀態(tài)向用于正常讀/寫操作的未受保護(hù)狀態(tài)、自動受保護(hù)狀態(tài)、以及WORM受保護(hù)狀態(tài)之一轉(zhuǎn)換;允許從自動受保護(hù)狀態(tài)向未受保護(hù)狀態(tài)或只讀自動受保護(hù)狀態(tài)之一轉(zhuǎn)換;以及允許從只讀自動受保護(hù)狀態(tài)向WORM受保護(hù)狀態(tài)轉(zhuǎn)換。
      貫穿這一說明書,對特性、優(yōu)點(diǎn)或類似語言的引用,并不意味著通過本發(fā)明可實(shí)現(xiàn)的所有特性與優(yōu)點(diǎn)應(yīng)在或在本發(fā)明的任何單個(gè)實(shí)施例中。而是,應(yīng)該把引用這些特性與優(yōu)點(diǎn)的語言理解為意指與某實(shí)施例相結(jié)合所描述的具體特性、優(yōu)點(diǎn)或特征包含于本發(fā)明的至少一個(gè)實(shí)施例中。因此,在整個(gè)這一說明書中,對特性和優(yōu)點(diǎn)以及類似語言的論述可以但不必涉及同一實(shí)施例。
      而且,可以以任何適當(dāng)?shù)姆绞?,把所描述的本發(fā)明的特性、優(yōu)點(diǎn)以及特征組合于一或多個(gè)實(shí)施例中。相關(guān)技術(shù)領(lǐng)域中的技術(shù)人員將會意識到,可在不采用具體實(shí)施例的一或多個(gè)具體特性或優(yōu)點(diǎn)的情況下,實(shí)踐本發(fā)明。在另一些例子中,在某些實(shí)施例中可以認(rèn)識到的附加特性與優(yōu)點(diǎn)可以不存在于本發(fā)明的所有實(shí)施例中。
      通過以下的描述和所附權(quán)利要求,本發(fā)明的這些特性與優(yōu)點(diǎn)將會變得更加明顯,也可以通過以下所闡述的本發(fā)明的實(shí)踐獲知本發(fā)明的這些特性與優(yōu)點(diǎn)。


      為了容易地理解本發(fā)明的優(yōu)點(diǎn),將參照附圖中所說明的具體實(shí)施例,給出以上簡要描述的本發(fā)明的更具體的說明。應(yīng)該認(rèn)識到,這些附圖僅描述了本發(fā)明的一些典型實(shí)施例,因此,不應(yīng)該把它們視為對本發(fā)明的范圍的限制,將通過使用附圖,更具體和詳細(xì)地描述與解釋本發(fā)明,其中圖1是示意性的方框圖,說明了根據(jù)本發(fā)明的存儲設(shè)備的一個(gè)實(shí)施例;圖2是示意性的方框圖,說明了根據(jù)現(xiàn)有技術(shù)的邏輯塊尋址的一個(gè)實(shí)施例;圖3是示意性的方框圖,說明了根據(jù)本發(fā)明的控制模塊的一個(gè)實(shí)施例;圖4是示意性的方框圖,說明了根據(jù)本發(fā)明的多個(gè)保護(hù)狀態(tài);圖5是示意性的方框圖,說明了根據(jù)本發(fā)明的模式選擇命令的一個(gè)實(shí)施例;圖6是示意性的方框圖,說明了根據(jù)本發(fā)明的模式感測命令的一個(gè)實(shí)施例;圖7是示意性的方框圖,說明了根據(jù)本發(fā)明的模式頁的一個(gè)實(shí)施例;圖8是示意性的流程圖,說明了根據(jù)本發(fā)明的一種用于實(shí)現(xiàn)可允許保護(hù)狀態(tài)轉(zhuǎn)換的方法的一個(gè)實(shí)施例;圖9是示意性的流程圖,說明了一種用于處理寫命令的方法的一個(gè)實(shí)施例;圖10是示意性的方框圖,說明了根據(jù)本發(fā)明的寫命令的一個(gè)實(shí)施例;圖11是示意性的方框圖,說明了根據(jù)本發(fā)明的媒體分區(qū)模式頁的一個(gè)實(shí)施例;以及圖12是示意性的方框圖,說明了一種用于保護(hù)控制模塊106免遭存儲設(shè)備的有意損壞的方法的一個(gè)實(shí)施例。
      具體實(shí)施例方式
      已把本說明書中所描述的許多功能單元標(biāo)記為模塊,這樣做是為了更特別地強(qiáng)調(diào)它們實(shí)現(xiàn)上的獨(dú)立性。例如,可以把一個(gè)模塊作為這樣的一個(gè)硬件電路加以實(shí)現(xiàn),該硬件電路包括定制的(custom)VLSI電路或門陣列;現(xiàn)貨供應(yīng)的(off-the-shelf)半導(dǎo)體,例如邏輯芯片、晶體管、或其它離散部件。也可以以諸如場可編程門陣列的可編程硬件設(shè)備、可編程陣列邏輯、可編程邏輯設(shè)備等來實(shí)現(xiàn)模塊。
      也可以以由各種類型的處理器加以執(zhí)行的軟件來實(shí)現(xiàn)模塊。例如,可執(zhí)行代碼的所標(biāo)識的模塊可以包括可以例如組織為對象、過程或函數(shù)的計(jì)算機(jī)指令的一或多個(gè)物理或邏輯塊。盡管如此,所標(biāo)識模塊的可執(zhí)行部分不需要物理地放置在一起,而可以包括存儲在不同位置的異類的(disparate)指令,當(dāng)邏輯地結(jié)合在一起時(shí),其包括模塊,并且實(shí)現(xiàn)模塊的所陳述的目的。
      實(shí)際上,可執(zhí)行代碼的模塊可以為單個(gè)指令,也可以為多個(gè)指令,甚至可以在多個(gè)不同的代碼段上、在不同的程序之間、以及跨越多個(gè)存儲器設(shè)備加以分布。類似地,操作數(shù)據(jù)此處可以在模塊內(nèi)標(biāo)識和說明,并且可以按任何適當(dāng)形式體現(xiàn),以及在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)中加以組織。操作數(shù)據(jù)可以作為單個(gè)數(shù)據(jù)集合收集,或者可以在包括在不同存儲設(shè)備上的不同位置上加以分布,以及可以僅作為系統(tǒng)或網(wǎng)絡(luò)上的電子信號而存在,或至少部分地存在。
      貫穿這一說明書,對“一個(gè)實(shí)施例”、“實(shí)施例”或類似語言的引用,意指結(jié)合這一實(shí)施例所描述的具體特性、結(jié)構(gòu)或特征包括于本發(fā)明的至少一個(gè)實(shí)施例中。因此,貫穿這一說明書,短語“在一個(gè)實(shí)施例中”、“在實(shí)施例中”或類似語言的出現(xiàn),可以但不必全部涉及同一實(shí)施例。
      所提及的信號承載媒體可以呈能夠生成信號、致使信號得以生成、或者導(dǎo)致機(jī)器可讀指令的程序在數(shù)字處理裝置上執(zhí)行的任何形式。可以通過傳輸線、緊致盤、數(shù)字通用盤、磁帶、Bernoulli(柏努利)驅(qū)動器、磁盤、穿孔卡、快閃存儲器、集成電路、或其它數(shù)字處理裝置存儲器設(shè)備,實(shí)現(xiàn)信號承載媒體。
      而且,可以按任何適當(dāng)?shù)姆绞?,把所描述的本發(fā)明的特性、結(jié)構(gòu)或特征組合于一或多個(gè)實(shí)施例中。在以下的描述中,提供了諸多具體的細(xì)節(jié),諸如程序設(shè)計(jì)、軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)處理、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等的例子,以提供對本發(fā)明各實(shí)施例的全面理解。然而,相關(guān)技術(shù)領(lǐng)域中的技術(shù)人員將會認(rèn)識到,也可以在無一或多個(gè)所述具體細(xì)節(jié),或通過其它方法、部件、設(shè)備等的情況下,實(shí)踐本發(fā)明。在其它的例子中,沒有詳細(xì)示出或描述所熟知的結(jié)構(gòu)、材料或操作,以避免淡化本發(fā)明的各個(gè)方面。
      圖1是示意性的方框圖,說明了根據(jù)本發(fā)明的存儲設(shè)備100的一個(gè)實(shí)施例。存儲設(shè)備100可以包括封裝102、存儲媒體104、控制模塊106、以及通信接口108。存儲媒體104可以包括但不局限于磁、光以及固態(tài)存儲媒體。磁存儲媒體104的例子包括但不局限于硬盤驅(qū)動器和磁帶驅(qū)動器。通信接口108可以包括但不局限于HVD或LVD SCSI、光纖信道、ESCON、FICON以及RS-232。
      光媒體的例子包括DVD-R(數(shù)字通用盤-一次寫)、DVD-RW(可寫DVD)、DVD-RAM(DVD隨機(jī)存取存儲器)、HD-DVD(高清晰度DVD)、藍(lán)光、UDO(超密光)、CD-R(緊致盤-一次寫)、CD-RW(可重寫CD)、磁光(MO)、相變(PC)、全息等。固態(tài)存儲媒體的例子包括易失性存儲器,例如SDRAM;以及非易失性存儲器,例如快閃存儲器。
      控制模塊106配置為通過通信接口108從主機(jī)接收輸入和輸出請求(以下稱為“I/O請求或命令”),并隨后執(zhí)行該I/O請求??梢园芽刂颇K106可操作地與封裝102中的存儲媒體102相耦合。或者,可以把控制模塊106配置為控制網(wǎng)絡(luò)上的多個(gè)存儲媒體104。一個(gè)這樣的實(shí)施包括存儲區(qū)域網(wǎng)絡(luò)(未示出)。
      控制模塊106配置為執(zhí)行對存儲媒體104的最小存儲單元進(jìn)行存取的I/O請求、或讀/寫命令。在一個(gè)實(shí)施例中,最小存儲單元為邏輯塊地址(LBA)。邏輯塊尋址把存儲媒體的物理位置(location)轉(zhuǎn)換成可由主機(jī)加以使用的地址。例如,邏輯塊尋址把硬盤驅(qū)動器的柱面、頭(head)以及扇區(qū)規(guī)格翻譯成可由操作系統(tǒng)或基本輸入/輸出系統(tǒng)(BIOS)所使用的地址。
      在另一實(shí)施例中,控制模塊106可以經(jīng)由通信鏈路連接于主機(jī),并且可以類似地連接于存儲媒體104。如以上所描述的,存儲媒體104可以經(jīng)由備選的通信鏈路而包括盤驅(qū)動器、磁帶驅(qū)動器和/或光驅(qū)動器。還把通信接口108配置為接收I/O請求,并且把I/O請求傳送至控制模塊。可以把控制模塊106配置為執(zhí)行從ESCON到SCSI或者從FICON到SCSI的協(xié)議轉(zhuǎn)換。而且,還可以將其配置為把所附接的存儲媒體104分組為邏輯驅(qū)動器或卷??刂颇K106還可以提供先進(jìn)的功能,例如,遠(yuǎn)程卷鏡像、PPRC(對等遠(yuǎn)程拷貝)、XRC(擴(kuò)展遠(yuǎn)程拷貝)、快照、快閃拷貝(Flashcopy)等。
      圖2是示意性的方框圖,說明了根據(jù)現(xiàn)有技術(shù)的邏輯塊尋址200的一個(gè)實(shí)施例。邏輯塊尋址200可用于諸如硬盤驅(qū)動器、光盤驅(qū)動器以及可去除存儲驅(qū)動器的固定塊體系結(jié)構(gòu)(FBA)系統(tǒng)。在FBA外圍中,通過執(zhí)行存取LBA的讀/寫命令,來實(shí)現(xiàn)I/O。LBA引用固定量的數(shù)據(jù)。
      取決于存儲媒體的容量,存儲媒體104可以包括數(shù)百萬個(gè)LBA。圖2說明了多個(gè)LBA,每一個(gè)LBA表示為單個(gè)框202。如這一技術(shù)領(lǐng)域中所熟知的,可以按任何次序?qū)慙BA,不需要從第一LBA202a順序地寫至最后LBA202b。
      也可以把最后LBA202b稱為最大LBA。根據(jù)媒體上LBA的數(shù)目和LBA202的固定大小,確定存儲媒體104盤驅(qū)動器的容量。例如,假設(shè)典型的LBA的大小為512個(gè)字節(jié),則具有10,000,000個(gè)LBA的硬盤驅(qū)動器占51.2億個(gè)字節(jié)的容量。
      分區(qū)204是存儲媒體104的孤立部分,可以用作為獨(dú)立存儲媒體104。分區(qū)204包括至少一個(gè)LBA202。例如,分區(qū)204a可以包括3個(gè)LBA202,而分區(qū)204b包括一個(gè)LBA202,以及分區(qū)204c包括2個(gè)LBA202?;蛘?,分區(qū)204可以包括數(shù)百萬個(gè)LBA202。存儲媒體104可以包括多個(gè)分區(qū),每一個(gè)分區(qū)204具有不同的保護(hù)狀態(tài)。在另一實(shí)施例中,分區(qū)204從不交疊,這意味著任何兩個(gè)分區(qū)不包含相同的LBA202。
      圖3是示意性的方框圖,說明了根據(jù)本發(fā)明的控制模塊106的一個(gè)實(shí)施例。在一個(gè)實(shí)施例中,控制模塊106包括通信模塊302、寫模塊304、解析模塊306、保護(hù)模塊308、以及檢查模塊310。通信模塊302配置為經(jīng)由通信接口108與主機(jī)通信,以接收讀/寫命令,并隨后把寫命令傳送至寫模塊304,或者把數(shù)據(jù)作為讀命令的結(jié)果返回至主機(jī)。
      在另一實(shí)施例中,解析模塊306配置為從讀/寫命令抽取邏輯塊地址和保護(hù)狀態(tài)。檢查模塊310配置為核查存儲媒體104的分區(qū)204和LBA202的保護(hù)狀態(tài)。保護(hù)模塊308配置為具有多個(gè)保護(hù)狀態(tài)和保護(hù)狀態(tài)之間的可允許轉(zhuǎn)換。以下將參照圖4更詳細(xì)地論述保護(hù)模塊308。寫模塊304配置為把數(shù)據(jù)寫至存儲媒體104,并且執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      圖4是示意性的方框圖,說明了根據(jù)本發(fā)明的多個(gè)保護(hù)狀態(tài)。在一個(gè)實(shí)施例中,可以在保護(hù)模塊308中實(shí)現(xiàn)保護(hù)狀態(tài)。保護(hù)模塊308可以包括未受保護(hù)狀態(tài)402、一寫多讀(WORM)受保護(hù)狀態(tài)404、自動受保護(hù)狀態(tài)406、以及只讀自動受保護(hù)狀態(tài)(以下稱為“只讀狀態(tài)”)408。未受保護(hù)狀態(tài)402可以為針對整個(gè)存儲媒體104的默認(rèn)的出廠設(shè)置,并且允許針對任何LBA202進(jìn)行無限定(indefinite)和重復(fù)次數(shù)的讀/寫操作。
      未受保護(hù)狀態(tài)402保留針對存儲媒體104上未明確地配備有WORM狀態(tài)404或自動受保護(hù)狀態(tài)406的那些區(qū)域的設(shè)置。把WORM狀態(tài)404配置為保護(hù)與“WORM受保護(hù)”相關(guān)的任何分區(qū)204免于任何企圖的寫、擦除或格式操作。自動受保護(hù)狀態(tài)406允許“自動受保護(hù)”分區(qū)204中的任何LBA202被僅寫一次,而且在成功完成寫操作之后,LBA202將自動轉(zhuǎn)換至“只讀自動受保護(hù)”狀態(tài)408。尚未被寫的分區(qū)中的其余的LBA202將保留在自動受保護(hù)狀態(tài)406下。只讀自動受保護(hù)狀態(tài)408配置為一旦LBA202已被寫,則防止任何寫、擦除以及格式操作。
      箭頭412代表說明分區(qū)204的保護(hù)狀態(tài)的可允許狀態(tài)轉(zhuǎn)換的規(guī)則。例如,保護(hù)模塊308配置為允許這樣的分區(qū)204其具有未受保護(hù)狀態(tài)402,以允許重寫數(shù)據(jù),如箭頭412a所指示的??梢酝ㄟ^發(fā)布以下將加以解釋的適當(dāng)?shù)臓顟B(tài)轉(zhuǎn)換命令,把未受保護(hù)狀態(tài)402轉(zhuǎn)換412b至WORM受保護(hù)狀態(tài)404。或者,也可以把未受保護(hù)狀態(tài)作為狀態(tài)轉(zhuǎn)換命令的結(jié)果,而改變412c為自動受保護(hù)狀態(tài)406。如圖中所說明的,可以把WORM受保護(hù)狀態(tài)404配置為不允許任何狀態(tài)轉(zhuǎn)換。
      可以把自動受保護(hù)狀態(tài)406配置為僅允許向分區(qū)204發(fā)布一個(gè)成功的寫命令。當(dāng)已成功地處理了寫命令時(shí),將把自動受保護(hù)狀態(tài)406的保護(hù)狀態(tài)轉(zhuǎn)換412d到只讀自動受保護(hù)狀態(tài)408。盡管存在未被寫的LBA202,但把已被寫的LBA202標(biāo)記為只讀自動受保護(hù)408,而未被寫的LBA202保留在自動受保護(hù)狀態(tài)406下。一旦已寫了自動受保護(hù)的分區(qū)中的所有LBA202,則該分區(qū)中的所有LBA202變?yōu)?12e WORM受保護(hù)404。
      在另一實(shí)施例中,也可以通過發(fā)送適當(dāng)?shù)臓顟B(tài)轉(zhuǎn)換命令412f,把具有自動受保護(hù)狀態(tài)406的分區(qū)改變?yōu)槲词鼙Wo(hù)狀態(tài)402。例如,這使得能夠糾正不希望的狀態(tài)變化,例如,如果已錯(cuò)誤地把分區(qū)的狀態(tài)從未受保護(hù)設(shè)置為自動受保護(hù)。
      一旦分區(qū)處于WORM受保護(hù)狀態(tài)404或只讀自動受保護(hù)狀態(tài)408下,則不能夠蓋寫、刪除或操縱數(shù)據(jù)。另外,一旦被賦值(assigned),則不能重新設(shè)置WORM保護(hù)狀態(tài)404和只讀自動受保護(hù)狀態(tài)408。這意味著,控制模塊106拒絕對這樣的寫、擦除或格式操作的任何I/O請求,所述寫、擦除或格式操作對屬于WORM保護(hù)狀態(tài)404或只讀自動受保護(hù)狀態(tài)的任何LBA進(jìn)行尋址。在另一實(shí)施例中,自動受保護(hù)406分區(qū)中的LBA202保持為自動受保護(hù),直至其被寫。如果自動受保護(hù)406分區(qū)中的至少一個(gè)LBA202已被寫,則該分區(qū)改變?yōu)橹蛔x自動受保護(hù)408。如果自動受保護(hù)的分區(qū)406中的最后LBA202已被寫,則只讀自動受保護(hù)408分區(qū)將轉(zhuǎn)換至WORM404受保護(hù)的分區(qū)。
      在一個(gè)實(shí)施例中,保護(hù)狀態(tài)402、404、406、408可以在查詢命令中表示為由b后綴表示的二進(jìn)制值,或十進(jìn)制值(括號中示出)。例如,可以把未受保護(hù)狀態(tài)402表示為00b(十進(jìn)制0),可以把WORM狀態(tài)404表示為01b(十進(jìn)制1),可以把自動受保護(hù)狀態(tài)406表示為10b(十進(jìn)制2),以及可以把只讀自動受保護(hù)狀態(tài)408表示為11b(十進(jìn)制3)。
      在另一實(shí)施例中,保護(hù)模塊308包括虛擬刪除的受保護(hù)狀態(tài)(未示出)??梢园堰@一虛擬刪除的狀態(tài)配置為表示W(wǎng)ORM或自動受保護(hù)的數(shù)據(jù)已被“虛擬刪除”。出于歷史目的,虛擬刪除的數(shù)據(jù)將仍可由主機(jī)進(jìn)行讀訪問,但出于任何原因,將把該數(shù)據(jù)標(biāo)記為“虛擬刪除”,例如,將該數(shù)據(jù)視為過期的或不再相關(guān)的。
      圖5是示意性的方框圖,說明了根據(jù)SCSI-3接口標(biāo)準(zhǔn)的模式選擇命令500的一個(gè)實(shí)施例。所說明的模式選擇命令500為SCSI(小型計(jì)算機(jī)系統(tǒng)接口)命令,具有命令代碼15h 502。此處,針對狀態(tài)轉(zhuǎn)換命令,以舉例的方式給出模式選擇命令500。例如,可以把模式選擇命令500用于啟動從未受保護(hù)狀態(tài)402到WORM受保護(hù)狀態(tài)404的轉(zhuǎn)換412b、或者從未受保護(hù)狀態(tài)402到自動受保護(hù)狀態(tài)406的轉(zhuǎn)換412c、或者從自動受保護(hù)狀態(tài)406到未受保護(hù)狀態(tài)402的轉(zhuǎn)換412f。模式選擇命令500可以由主機(jī)系統(tǒng)(以下也稱為啟動器)加以啟動,并且由控制模塊106經(jīng)由存儲設(shè)備100的通信接口108加以接收。具有命令代碼15h 502的模式選擇命令500向主機(jī)提供了一種指定目標(biāo)存儲設(shè)備的參數(shù)列表長度504和邏輯單元506的手段。參數(shù)列表長度504指定按字節(jié)傳送的模式頁的大小。模式選擇命令500后總是跟隨從主機(jī)系統(tǒng)發(fā)送至存儲設(shè)備100的模式頁。
      圖6是示意性的方框圖,說明了根據(jù)本發(fā)明的模式感測命令600的一個(gè)實(shí)施例。模式感測命令600允許主機(jī)從例如來自存儲設(shè)備100的模式頁提取或查詢模式頁信息。模式感測命令600可以由主機(jī)系統(tǒng)(以下也稱為啟動器)啟動,并且由控制模塊106經(jīng)由存儲設(shè)備100的通信接口108接收。SCSI模式感測命令的命令代碼602為1Ah。模式感測命令600允許主機(jī)指定頁代碼604和分配長度606,該分配長度606然后指定最大返回?cái)?shù)據(jù)大小。頁代碼604指定將提取的模式頁的頁代碼、和目標(biāo)存儲設(shè)備的邏輯單元608。分配長度指定了模式頁的長度。作為模式感測命令600的結(jié)果,接收模式感測命令600的存儲設(shè)備將返回適當(dāng)?shù)哪J巾摗?br> 圖7是示意性的方框圖,說明了根據(jù)本發(fā)明的模式頁700的一個(gè)實(shí)施例。圖6的分配長度606指定作為模式感測命令600的結(jié)果、從存儲媒體104傳送到主機(jī)的字節(jié)的數(shù)目,即模式頁700的大小。在一個(gè)實(shí)施例中,模式感測命令600將允許主機(jī)獲取分區(qū)或個(gè)別LBA的保護(hù)狀態(tài)。
      由存儲設(shè)備作為對模式感測命令600的響應(yīng)而發(fā)送的模式頁700允許主機(jī)系統(tǒng)查詢分區(qū)或LBA的狀態(tài)。并非模式頁700中的所有字段均由模式感測命令加以使用。例如,如果把模式感測命令600的字段604設(shè)置為指定模式頁代碼0Dh的0Dh,則存儲設(shè)備可以返回具有以下特征的模式頁700如果存儲設(shè)備能夠支持WORM分區(qū),則把字段702設(shè)置為0Dh,把字段704設(shè)置為17h,把字段705設(shè)置為1;如果激活了至少一個(gè)受保護(hù)的分區(qū),則把字段706設(shè)置為1,字段708返回存在于存儲設(shè)備中的受保護(hù)的分區(qū)的數(shù)目,字段710返回其中隨后的字段711、712以及713施加至的分區(qū)的數(shù)目,字段711指定分區(qū)的開始地址(或LBA),字段712概述了分區(qū)的結(jié)束地址,以及字段713返回分區(qū)狀態(tài)的保護(hù)狀態(tài),該保護(hù)狀態(tài)為未受保護(hù)的00b、WORM受保護(hù)的01b、自動受保護(hù)的10b或只讀自動受保護(hù)的11b之一。在這一序列中,存儲設(shè)備將針對每一被配置的分區(qū)多次返回模式頁700。
      可以把模式選擇和模式感測命令相結(jié)合地用于查詢保護(hù)參數(shù),諸如具體分區(qū)的開始和結(jié)束地址(LBA)以及保護(hù)狀態(tài)。該序列開始于發(fā)送模式選擇命令500,該模式選擇命令500在字段502中指定15h、在字段504中指定17h、以及在字段506中指定存儲設(shè)備的邏輯單元地址。然后,發(fā)送帶有字段710的模式頁700,該字段710設(shè)置為向其請求信息的分區(qū)的數(shù)目,并且把模式頁700中的所有其它字段設(shè)置為00h,00h表示這不是狀態(tài)轉(zhuǎn)換。把這兩個(gè)命令從主機(jī)(啟動器)發(fā)送至存儲設(shè)備。
      在一個(gè)實(shí)施例中,然后,主機(jī)發(fā)送模式感測命令600,其中字段602設(shè)置為1Ah,把字段604設(shè)置為0Dh,以及把字段606設(shè)置為17h,該17h表示模式頁的所期望的長度。把字段608設(shè)置為存儲設(shè)備的地址。作為對這一命令序列的響應(yīng),存儲設(shè)備返回模式頁700,在模式頁700中,如果存儲設(shè)備能夠支持WORM分區(qū),則把字段702設(shè)置為0Dh,把字段704設(shè)置為17h,把字段705設(shè)置為1;如果激活了至少一個(gè)受保護(hù)的分區(qū),則把字段706設(shè)置為1,字段708返回存在于存儲設(shè)備中的受保護(hù)的分區(qū)的數(shù)目,以及字段710返回向其請求信息的分區(qū)的數(shù)目。在一個(gè)實(shí)施例中,這一數(shù)目可以與先前發(fā)送的數(shù)目相同。字段711指定了分區(qū)的開始地址(或LBA),字段712概述了分區(qū)的結(jié)束地址,以及字段713返回作為未受保護(hù)的00b、WORM受保護(hù)的01b、自動受保護(hù)的10b或只讀自動受保護(hù)的11b之一的該分區(qū)狀態(tài)的保護(hù)狀態(tài)。
      根據(jù)SCSI標(biāo)準(zhǔn),在存儲設(shè)備和主機(jī)系統(tǒng)之間雙向地使用模式頁。在本發(fā)明中,主機(jī)系統(tǒng)把模式頁700與模式選擇命令相關(guān)聯(lián)地用于啟動狀態(tài)轉(zhuǎn)換。主機(jī)系統(tǒng)還把這一模式頁700與模式感測命令相關(guān)聯(lián)地用于查詢分區(qū)或LBA的狀態(tài)。存儲設(shè)備從模式頁導(dǎo)出一或多個(gè)分區(qū)的保護(hù)狀態(tài)。因此,把模式頁存儲在存儲設(shè)備中。通常,存在多個(gè)模式頁,每一個(gè)模式頁具有唯一的頁代碼。示例性地把受保護(hù)的分區(qū)模式頁的頁代碼設(shè)置為0Dh。
      模式代碼702指示將加以設(shè)置的受保護(hù)的分區(qū)。這是主機(jī)系統(tǒng)啟動狀態(tài)轉(zhuǎn)換或查詢狀態(tài)轉(zhuǎn)換所使用的唯一頁代碼。示例性地把受保護(hù)的分區(qū)模式頁的頁代碼設(shè)置為0Dh。字段704或模式頁700定義了按照字節(jié)的這一模式頁的長度,對于本例,將其設(shè)置為25個(gè)字節(jié)。字段WORM 705指定是否WORM保護(hù)機(jī)制由該產(chǎn)品支持,并且僅用于查詢保護(hù)狀態(tài)。字段ACT 706表示激活至少一個(gè)受保護(hù)的分區(qū)。這一字段也用于查詢命令操作。如果把該字段設(shè)置為“0”,則不存在受保護(hù)的分區(qū)設(shè)置。否則,在這一盤驅(qū)動器上存在受保護(hù)的分區(qū)設(shè)置。
      分區(qū)708的字段最大數(shù)目表示可以使用開始和結(jié)束地址,例如LBA地址加以配置的分區(qū)的最大數(shù)目。這一字段用于查詢命令操作。這是產(chǎn)品特定值,而且通常在存儲設(shè)備的制造期間被賦值。這一值不能超過FFFEh。通過該字段受保護(hù)的分區(qū)710,可以指定現(xiàn)存的分區(qū)。把這一字段設(shè)置為值“0”,可以指定所有分區(qū)。值FFFFh表示將返回字段711中所指定的具體LBA的信息。
      開始邊界711表示在該處這一分區(qū)將經(jīng)歷狀態(tài)轉(zhuǎn)換或查詢操作開始的LBA。結(jié)束邊界712指定在哪個(gè)LBA處這一分區(qū)經(jīng)歷狀態(tài)轉(zhuǎn)換或查詢操作結(jié)束。字段711和712將大于0,而結(jié)束邊界712必須等于或大于開始邊界711。保護(hù)狀態(tài)713指定作為未受保護(hù)的00b、WORM受保護(hù)的01b、自動受保護(hù)的10b或只讀自動受保護(hù)的11b之一的這一分區(qū)狀態(tài)的保護(hù)狀態(tài)。
      如以上所概述的,可以根據(jù)圖4中的可允許的轉(zhuǎn)換,把保護(hù)狀態(tài)配置為單一的LBA或一系列LBA。與00b、01b、10b或11b的保護(hù)狀態(tài)相關(guān)聯(lián)的LBA的每一連續(xù)的序列是受保護(hù)的分區(qū)。因此,受保護(hù)的分區(qū)可以包括媒體上從1到LBA的最大數(shù)目的任何數(shù)目的LBA。
      在一個(gè)實(shí)施例中,把控制模塊106配置為接收現(xiàn)存的SCSI命令,例如模式選擇500和模式感測600,以創(chuàng)建具有WORM受保護(hù)狀態(tài)404或自動受保護(hù)狀態(tài)406的分區(qū),或者以提取可以是未受保護(hù)狀態(tài)402、WORM受保護(hù)狀態(tài)404、自動受保護(hù)狀態(tài)406或只讀自動受保護(hù)狀態(tài)408的分區(qū)狀態(tài)。模式頁700包括關(guān)于分區(qū)的信息710、711、712、713、以及保護(hù)參數(shù),例如將加以設(shè)置的LBA范圍和保護(hù)狀態(tài)??梢愿鶕?jù)分區(qū)的創(chuàng)建與操縱,把保護(hù)模塊308配置為利用可允許的狀態(tài)402、404、406、408。
      圖7通過舉例的方式,給出了作為實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的模式頁700代碼0Dh 702。或者,SCSI命令技術(shù)領(lǐng)域中的技術(shù)人員將會意識到,也可以使用根據(jù)SCSI標(biāo)準(zhǔn)的保留而非使用的模式頁的不同的頁代碼。在存儲設(shè)備100和主機(jī)之間雙向地使用模式頁700。主機(jī)可以結(jié)合模式選擇500命令而使用模式頁700以創(chuàng)建分區(qū),即“選擇模式”。主機(jī)結(jié)合模式感測600命令而使用這一模式頁700以指定將針對其提取保護(hù)狀態(tài)402、404、406、408的分區(qū)。控制模塊106也可以使用模式頁700來獲取駐留在分區(qū)中的數(shù)據(jù)和相應(yīng)的保護(hù)狀態(tài)402、404、406、408,并且當(dāng)向主機(jī)請求時(shí)將其返回。
      下面論述的示意性的流程圖是作為邏輯流程圖總體性地加以描述的。因而,所描述的次序和所標(biāo)識的步驟,是對所介紹的方法的一個(gè)實(shí)施例的說明性描述??梢詷?gòu)想功能、邏輯、或效果上等價(jià)于所說明的方法的一或多個(gè)步驟或所說明的方法的某些部分的其它步驟與方法。另外,所使用的格式與符號的提供,也旨在解釋該方法的邏輯步驟,并且所使用的格式與符號應(yīng)理解為不是對該方法的范圍的限制。盡管在流程圖中使用了各種類型的箭頭和線型,但不應(yīng)將它們視為對相應(yīng)方法的范圍的限制。實(shí)際上,可僅使用某些箭頭或其它連接符來指示該方法的邏輯流。例如,箭頭可以指示所描述的方法的所列步驟之間未指定持續(xù)時(shí)間的等待或監(jiān)視周期。另外,具體方法出現(xiàn)的次序,可以、也可以不嚴(yán)格遵循所示相應(yīng)步驟的次序。
      圖8是示意性的流程圖,說明了根據(jù)本發(fā)明的一種用于實(shí)現(xiàn)可允許保護(hù)狀態(tài)轉(zhuǎn)換的方法800的一個(gè)實(shí)施例。方法800開始802,控制模塊106的通信模塊302經(jīng)由接口108接收804模式選擇命令500和模式頁700。然后,解析模塊306從模式頁700抽取806 LBA和新的保護(hù)狀態(tài)。抽取806 LBA和保護(hù)狀態(tài)可以包括生成LBA的列表和新保護(hù)狀態(tài)。然后,檢查模塊310核查所獲取的那些LBA的實(shí)際的保護(hù)狀態(tài)。在一個(gè)實(shí)施例中,實(shí)際的狀態(tài)為存儲媒體104已經(jīng)與每一所請求的LBA相關(guān)聯(lián)的保護(hù)狀態(tài)。然后,檢查模塊310針對從所述命令抽取的LBA的列表,獲取808實(shí)際保護(hù)狀態(tài)。
      然后,保護(hù)模塊308把新保護(hù)狀態(tài)與實(shí)際保護(hù)狀態(tài)加以比較,并確定狀態(tài)轉(zhuǎn)換是否為可允許810。在一個(gè)實(shí)施例中,預(yù)先確定和定義可允許的轉(zhuǎn)換,如以上參照圖4所描述的。如果對于從模式頁抽取804的每一LBA,允許810向新保護(hù)狀態(tài)轉(zhuǎn)換,則寫模塊304存儲812該新保護(hù)狀態(tài),當(dāng)通信模塊302向主機(jī)返回成功響應(yīng)時(shí),方法800結(jié)束814。然而,如果對于任何LBA都不允許轉(zhuǎn)換810,則保護(hù)模塊308阻止這一轉(zhuǎn)換,而且通信模塊302向主機(jī)返回錯(cuò)誤813,例如SCSI檢查條件狀態(tài)。在一個(gè)實(shí)施例中,錯(cuò)誤可以是“任務(wù)的異常結(jié)束”,或abend(異常終止)、錯(cuò)誤消息。然后,方法800結(jié)束814。
      在一個(gè)實(shí)施例中,可以把存儲媒體104配置為把模式選擇命令500所給出的信息存儲在內(nèi)部存儲器中,該內(nèi)部存儲器可以為檢查模塊310的一部分。例如,使用可負(fù)擔(dān)的(affordable)1Mb的存儲器芯片,可以存儲大約40,000個(gè)保護(hù)分區(qū)的信息。這一內(nèi)部存儲器允許針對例如處理寫命令的隨后操作對這一數(shù)據(jù)進(jìn)行快速存取。在另一實(shí)施例中,可以周期性地把保護(hù)分區(qū)信息寫至存儲媒體104上的保留區(qū)域,通常在空閑期間進(jìn)行此操作。
      圖9是示意性的流程圖,說明了一種用于處理寫命令的方法900的一個(gè)實(shí)施例。方法900開始902,通信模塊302經(jīng)由通信接口108接收904寫命令。然后,解析模塊306從例如寫命令1000的該寫命令獲取906所有命令地址(LBA)。命令地址包括將向其寫數(shù)據(jù)的開始LBA,以及表示將被寫的順序LBA的數(shù)目的傳送長度。然后,檢查模塊310獲取908命令地址(LBA)的實(shí)際保護(hù)狀態(tài)??梢园褟膶懨?000所獲取906的LBA稱為“CMD_LBA”。然后,保護(hù)模塊308把來自該命令的地址與存儲媒體104上的相應(yīng)的保護(hù)狀態(tài)加以比較。如果保護(hù)模塊308發(fā)現(xiàn)CMD_LBA相應(yīng)于910 WORM受保護(hù)的區(qū)域或只讀(RO)自動受保護(hù)的區(qū)域,則保護(hù)模塊308阻止寫命令,而且通信模塊302返回911錯(cuò)誤消息,然后方法900結(jié)束912。在一個(gè)實(shí)施例中,錯(cuò)誤消息可以包括以上所描述的abend錯(cuò)誤消息。
      或者,如果檢查模塊310發(fā)現(xiàn)910所有CMD_LBA賦予至可寫分區(qū),則寫模塊304把數(shù)據(jù)寫914至存儲媒體104。如果寫未成功916,則控制模塊106啟動錯(cuò)誤恢復(fù)過程918。在一個(gè)實(shí)施例中,可以通過執(zhí)行寫核查或讀取刷新寫入的數(shù)據(jù),來確定寫的成功。如果寫成功916,則保護(hù)模塊308判斷920是否把刷新寫入的數(shù)據(jù)寫至自動受保護(hù)的分區(qū)406。如果確定為否,則方法900結(jié)束912。或者,如果確定為是,則把寫模塊304配置為確定922分區(qū)是否充滿。如果屬于該分區(qū)的所有LBA狀態(tài)均處于只讀自動受保護(hù)408,則該分區(qū)充滿。從檢查模塊310中獲取這一信息。
      如果該分區(qū)為充滿的,則寫模塊304把該分區(qū)的保護(hù)狀態(tài)改變924為WORM受保護(hù)的404。如果該分區(qū)為非充滿的,則寫模塊304把剛被寫的LBA的保護(hù)狀態(tài)和分區(qū)本身改變926為只讀自動保護(hù)408。然后,方法900結(jié)束912。
      圖10是示意性的方框圖,說明了根據(jù)本發(fā)明的具有邏輯單元號(LUN)1002的寫命令1000的一個(gè)實(shí)施例。寫命令1000還可以包括開始LBA 1004、字節(jié)2~5、以及傳送長度1006、字節(jié)7~8。在一個(gè)實(shí)施例中,從開始LBA 1004獲取CMD_LBA,除以LBA大小的傳送長度1006加1等于該寫命令1000的結(jié)束LBA。在一個(gè)實(shí)施例中,可以把每個(gè)SCSI接口中固有的邏輯單元號1002用于從WORM數(shù)據(jù)中挑選(sort)可重寫的數(shù)據(jù)。例如,可以跨越存儲設(shè)備100的通信接口108的第一邏輯單元號(LUN-0)發(fā)送可重寫數(shù)據(jù)I/O 402??梢钥缭酵淮鎯υO(shè)備100的同一通信接口108的LUN-2發(fā)送自動受保護(hù)406的數(shù)據(jù)I/O??梢钥缭酵淮鎯υO(shè)備100的同一通信接口108的LUN-3發(fā)送WORM受保護(hù)404的I/O??梢园淹ㄟ^LUN-0發(fā)送的數(shù)據(jù)保存在與LUN-2和LUN-3的數(shù)據(jù)的分區(qū)不同的分區(qū)上。
      為了維持保護(hù)狀態(tài)402、404、406、408的數(shù)據(jù)保護(hù)屬性,禁止了某些命令。例如,在處于保護(hù)狀態(tài)WORM受保護(hù)404、自動受保護(hù)406以及只讀自動受保護(hù)408下的存儲媒體104的分區(qū)上,將不支持格式單元命令和擦除命令??傮w上,允許改變或刪除存儲在WORM受保護(hù)的或只讀自動受保護(hù)的分區(qū)中的數(shù)據(jù)的所有命令將由存儲控制器通過檢查條件加以禁止和拒絕。
      圖11是示意性的方框圖,說明了根據(jù)本發(fā)明的媒體分區(qū)模式頁1100的一個(gè)實(shí)施例。由頁代碼11h 1101指定模式頁1100??梢匀菀椎厥箍刂颇K106適合于控制單軸匣式磁帶和雙軸盒式磁帶。匣式或盒式磁帶可以具有可經(jīng)由模式設(shè)置命令通過主機(jī)加以管理的多個(gè)分區(qū)。于是,對匣式或盒式磁帶上的具體的分區(qū),可以把保護(hù)狀態(tài)設(shè)置為(a)未受保護(hù)、(b)WORM受保護(hù)、以及(c)自動受保護(hù)。
      可以使用模式頁把有關(guān)保護(hù)狀態(tài)的信息從主機(jī)傳送至磁帶驅(qū)動器。圖11說明了根據(jù)INCITS T10/1434-D的媒體分區(qū)模式頁1100。先前已經(jīng)論述過的保留字段1102的兩個(gè)比特1104、00b~11b,可用于表示分區(qū)的保護(hù)狀態(tài)。在一個(gè)實(shí)施例中,特別是,如果把磁帶用作存儲媒體,則可以使用媒體格式識別字段1106表示保護(hù)狀態(tài)。此處,可以并入示出按字節(jié)和比特編碼的具體分區(qū)的保護(hù)狀態(tài)的方案?;蛘?,例如,也可以開發(fā)把SCSI模式感測和模式選擇命令轉(zhuǎn)換成ATA或IDE命令的設(shè)備驅(qū)動器,以把本發(fā)明延伸至非SCSI設(shè)備。
      對于獨(dú)立(stand-alone)磁帶驅(qū)動器,磁帶驅(qū)動器可以把用于分區(qū)和用于該分區(qū)中每一邏輯塊的保護(hù)狀態(tài)存儲在每一可去除匣式或盒式磁帶的每一分區(qū)的初始化區(qū)域中。在一個(gè)實(shí)施例中,可以把每一分區(qū)的保護(hù)狀態(tài)既存儲在匣式或盒式磁帶的初始化區(qū)域中,也存儲在匣式或封裝存儲器中。
      圖12是示意性的方框圖,說明了一種用于保護(hù)控制模塊106免遭存儲設(shè)備100有意損壞的方法1200的一個(gè)實(shí)施例。存儲設(shè)備100的有意損壞的例子是,某人有意取出屬于WORM受保護(hù)實(shí)體的盤,并且修改包含在其中的數(shù)據(jù)。在一個(gè)實(shí)施例中,方法1200開始1202,控制模塊106檢測1204所破壞的存儲媒體104。
      當(dāng)檢測1204存儲媒體104故障時(shí),控制模塊106配置為啟動1206適當(dāng)?shù)腻e(cuò)誤恢復(fù),并且公布錯(cuò)誤消息。如果沒有故障被檢測1204,則方法1200繼續(xù)檢查盤故障。例如,在RAID系統(tǒng)中,適當(dāng)?shù)腻e(cuò)誤恢復(fù)的一個(gè)例子是,重新建立RAID。當(dāng)已經(jīng)替換1208了盤驅(qū)動器時(shí),控制模塊106檢查1210是否又插入了同一個(gè)盤,如這可能是有意操縱,即某人去除了盤、操縱它、并且重新插入它。在一個(gè)實(shí)施例中,同一盤的檢查1210包括把存儲設(shè)備100的唯一系列號和制造商ID進(jìn)行比較。如果盤與先前去除的盤不是同一盤,則控制模塊106把其視為新盤,并且并入1216這一盤。
      如果盤是1210與以前的盤相同的盤,則控制模塊獲取1212口令以越過(override)保護(hù)。必須由插入了該盤的用戶輸入口令。如果口令不正確1214,則控制模塊106遞增1220計(jì)數(shù)器。把該計(jì)數(shù)器配置為維持不正確口令嘗試的次數(shù)。如果該計(jì)數(shù)器大于1222預(yù)先定義的最大值,則控制模塊106將隔離存儲媒體104,并且返回1224錯(cuò)誤狀態(tài)。錯(cuò)誤可以表示操縱數(shù)據(jù)的未經(jīng)授權(quán)的嘗試已檢測到并且已清除的狀態(tài)。如果該計(jì)數(shù)器不大于1222最大次數(shù),則控制模塊106再次嘗試從用戶獲取口令1212。
      當(dāng)驗(yàn)證1214了口令時(shí),控制模塊106將并入1216所述盤。例如,在RAID陣列的情況下,重新建立將啟動。如果盤與先前的盤相同,則控制模塊106將嘗試執(zhí)行對盤的診斷,并且針對可能的缺陷對該媒體進(jìn)行掃描。如果沒有發(fā)現(xiàn)缺陷,則把盤的數(shù)據(jù)視為有效,因此,并入過程可能不需要重新建立。然而,如果盤不是1210同一個(gè)盤,則控制模塊106并入1216該盤,并且將其視為新的空盤。這將要求重新建立過程。然后,方法1200結(jié)束1226。
      可以在不背離本發(fā)明的構(gòu)思或?qū)嵸|(zhì)特征的情況下,按其它特定形式實(shí)施本發(fā)明。例如,可以在光纖信道(“FC”)物理層上,實(shí)現(xiàn)此處所描述的SCSI命令?;蛘撸部梢詿o限制地使用其它協(xié)議,例如FICON、以太網(wǎng)(Ethernet)、千兆比特以太網(wǎng)、Infiniband(無限帶寬)、TCP/IP、iSCSI、ATA、SATA等。在所有方面,所描述的實(shí)施例都僅應(yīng)被視為說明性的,而不是限制性的。因此,本發(fā)明范圍由所附權(quán)利要求,而不是由以上的描述加以表示。落入權(quán)利要求的等同含義和范圍的所有變化均將被包括在其范圍內(nèi)。
      權(quán)利要求
      1.一種用于設(shè)置存儲媒體中受保護(hù)分區(qū)的保護(hù)狀態(tài)的裝置,所述裝置包括控制模塊,配置為從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;檢查模塊,配置為核查所述目標(biāo)分區(qū)的保護(hù)狀態(tài);以及寫模塊,配置為根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換,來執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      2.根據(jù)權(quán)利要求1所述的裝置,其中,所述多個(gè)保護(hù)狀態(tài)包括未受保護(hù)狀態(tài),配置為允許執(zhí)行無限定數(shù)目的讀/寫操作;一寫多讀(WORM)受保護(hù)狀態(tài),配置為保護(hù)所述分區(qū)免遭任何試圖的寫、擦除以及格式化命令;自動受保護(hù)狀態(tài),配置為只允許一個(gè)寫操作,并隨后轉(zhuǎn)換至只讀自動保護(hù)狀態(tài);以及該只讀自動受保護(hù)狀態(tài)配置為一旦數(shù)據(jù)已寫入該分區(qū),則防止寫、擦除以及格式化命令。
      3.根據(jù)權(quán)利要求1所述的裝置,其中,所述多個(gè)可允許轉(zhuǎn)換包括從未受保護(hù)狀態(tài)向用于正常讀/寫操作的未受保護(hù)狀態(tài)、自動受保護(hù)狀態(tài)、以及WORM受保護(hù)狀態(tài)之一的轉(zhuǎn)換;從自動受保護(hù)狀態(tài)向未受保護(hù)狀態(tài)或只讀自動受保護(hù)狀態(tài)之一的轉(zhuǎn)換,以及從只讀自動受保護(hù)狀態(tài)向WORM受保護(hù)狀態(tài)的轉(zhuǎn)換。
      4.根據(jù)權(quán)利要求1所述的裝置,還包括解析模塊,配置為從保護(hù)狀態(tài)轉(zhuǎn)換命令中抽取邏輯塊地址。
      5.根據(jù)權(quán)利要求1所述的裝置,其中,所述存儲設(shè)備從包括硬盤驅(qū)動器、DVD-R、DVD-RW、DVD-RAM、HD-DVD、藍(lán)光、UDO、CD-R、CD-RW、磁光、相變、全息、匣式磁帶驅(qū)動器、盒式磁帶驅(qū)動器、以及固態(tài)媒體的組中選擇。
      6.根據(jù)權(quán)利要求1所述的裝置,其中,所述分區(qū)還包括至少一個(gè)固定大小的存儲單元。
      7.根據(jù)權(quán)利要求1所述的裝置,其中,所述分區(qū)還包括至少一個(gè)可變大小的存儲單元。
      8.一種用于設(shè)置存儲媒體中受保護(hù)分區(qū)的保護(hù)狀態(tài)的系統(tǒng),所述系統(tǒng)包括主機(jī)設(shè)備;存儲設(shè)備,耦合于主機(jī),該存儲設(shè)備包括具有存儲媒體的封裝和控制模塊;控制模塊,配置為從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;檢查模塊,配置為核查所述目標(biāo)分區(qū)的保護(hù)狀態(tài);以及寫模塊,配置為根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換,執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述多個(gè)保護(hù)狀態(tài)包括未受保護(hù)狀態(tài),配置為允許執(zhí)行無限定數(shù)目的讀/寫操作;一寫多讀(WORM)受保護(hù)狀態(tài),配置為保護(hù)所述分區(qū)免遭任何試圖的寫、擦除、以及格式化命令;自動受保護(hù)狀態(tài),配置為只允許一個(gè)寫操作,并隨后轉(zhuǎn)換至只讀自動保護(hù)狀態(tài);以及該只讀自動受保護(hù)狀態(tài)配置為一旦數(shù)據(jù)已寫入該分區(qū),則防止寫、擦除、以及格式化命令。
      10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述多個(gè)可允許轉(zhuǎn)換包括從未受保護(hù)狀態(tài)向用于正常讀/寫操作的未受保護(hù)狀態(tài)、自動受保護(hù)狀態(tài)、以及WORM受保護(hù)狀態(tài)之一的轉(zhuǎn)換;從自動受保護(hù)狀態(tài)向未受保護(hù)狀態(tài)或只讀自動受保護(hù)狀態(tài)之一的轉(zhuǎn)換,以及從只讀自動受保護(hù)狀態(tài)向WORM受保護(hù)狀態(tài)的轉(zhuǎn)換。
      11.根據(jù)權(quán)利要求8所述的系統(tǒng),還包括解析模塊,配置為從保護(hù)狀態(tài)轉(zhuǎn)換命令抽取邏輯塊地址。
      12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述存儲設(shè)備從包括硬盤驅(qū)動器、DVD-R、DVD-RW、DVD-RAM、HD-DVD、藍(lán)光、UDO、CD-R、CD-RW、磁光、相變、全息、匣式磁帶驅(qū)動器、盒式磁帶驅(qū)動器、以及固態(tài)媒體的組中選擇。
      13.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述分區(qū)還包括至少一個(gè)固定大小的存儲單元。
      14.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述分區(qū)還包括至少一個(gè)可變大小的存儲單元。
      15.一種信號承載媒體,有形地體現(xiàn)了機(jī)器可讀指令的程序,所述程序可由數(shù)字處理裝置執(zhí)行,以進(jìn)行用于設(shè)置存儲媒體中受保護(hù)分區(qū)的保護(hù)狀態(tài)的操作,所述操作包括從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;核查該目標(biāo)分區(qū)的保護(hù)狀態(tài);以及根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換來執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      16.根據(jù)權(quán)利要求15所述的信號承載媒體,其中,所述指令還包括從讀和寫命令抽取邏輯塊地址和保護(hù)狀態(tài)的操作。
      17.根據(jù)權(quán)利要求21所述的信號承載媒體,其中,所述指令還包括允許下列轉(zhuǎn)換的操作從未受保護(hù)狀態(tài)向用于正常讀/寫操作的未受保護(hù)狀態(tài)、自動受保護(hù)狀態(tài)、以及WORM受保護(hù)狀態(tài)之一的轉(zhuǎn)換;從自動受保護(hù)狀態(tài)向未受保護(hù)狀態(tài)或只讀自動受保護(hù)狀態(tài)之一的轉(zhuǎn)換;以及從只讀自動受保護(hù)狀態(tài)向WORM受保護(hù)狀態(tài)的轉(zhuǎn)換。
      18.一種用于設(shè)置存儲媒體中受保護(hù)分區(qū)的保護(hù)狀態(tài)的方法,所述方法包括從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;核查目標(biāo)分區(qū)的保護(hù)狀態(tài);以及根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換來執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      19.根據(jù)權(quán)利要求18所述的方法,其中,所述方法包括從讀和寫命令中抽取邏輯塊地址和保護(hù)狀態(tài)。
      20.根據(jù)權(quán)利要求18所述的方法,其中,所述方法包括允許下列轉(zhuǎn)換從未受保護(hù)狀態(tài)向用于正常讀/寫操作的未受保護(hù)狀態(tài)、自動受保護(hù)狀態(tài)、以及WORM受保護(hù)狀態(tài)之一的轉(zhuǎn)換;從自動受保護(hù)狀態(tài)向未受保護(hù)狀態(tài)或只讀自動受保護(hù)狀態(tài)之一的轉(zhuǎn)換;以及從只讀自動受保護(hù)狀態(tài)向WORM受保護(hù)狀態(tài)的轉(zhuǎn)換。
      全文摘要
      一種用于設(shè)置存儲媒體中受保護(hù)分區(qū)的保護(hù)狀態(tài)的裝置、系統(tǒng)以及方法。所述裝置包括控制模塊,配置為從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;檢查模塊,配置為核查目標(biāo)分區(qū)的保護(hù)狀態(tài);以及寫模塊,配置為根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換,執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。所述系統(tǒng)包括主機(jī)設(shè)備;存儲設(shè)備,耦合于主機(jī),該存儲設(shè)備包括具有存儲媒體的封裝和控制模塊、以及所述裝置。所述方法包括從主機(jī)接收針對目標(biāo)分區(qū)的保護(hù)狀態(tài)轉(zhuǎn)換命令;核查目標(biāo)分區(qū)的保護(hù)狀態(tài);以及根據(jù)多個(gè)所定義的可允許狀態(tài)轉(zhuǎn)換執(zhí)行保護(hù)狀態(tài)轉(zhuǎn)換。
      文檔編號G06F12/00GK1953087SQ200610136110
      公開日2007年4月25日 申請日期2006年10月11日 優(yōu)先權(quán)日2005年10月21日
      發(fā)明者尼爾斯·豪斯汀, 馬丁·魯森, 丹尼爾·J·威納斯基, 克雷格·A·克萊因 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1