專利名稱:非worm盒的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器蓋寫保護(hù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及有關(guān)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器和數(shù)據(jù)存儲(chǔ)盒(cartridge)的數(shù)據(jù)存儲(chǔ),更具體地說,本發(fā)明涉及數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)蓋寫保護(hù)。
背景技術(shù):
數(shù)據(jù)存儲(chǔ)盒可包括可重寫介質(zhì)。其實(shí)例包括磁帶介質(zhì)、各種形式的光盤介質(zhì),磁盤介質(zhì)、各種形式的光學(xué)磁帶介質(zhì)以及電子存儲(chǔ)介質(zhì)。在許多情況下,用戶希望通過防止數(shù)據(jù)被蓋寫來保護(hù)寫入此類可重寫介質(zhì)的數(shù)據(jù)。美國專利6982846和7193803允許保護(hù)寫入具有受數(shù)據(jù)存儲(chǔ)盒控制且防篡改的可重寫介質(zhì)的數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)。這允許將盒裝入不同數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器并且數(shù)據(jù)仍受到保護(hù)。將一次寫入標(biāo)志寫入盒存儲(chǔ)器的可鎖定部分,然后鎖定所述盒存儲(chǔ)器。此外,將一次寫入標(biāo)志寫入可重寫介質(zhì)的所需數(shù)據(jù)集。因此,同時(shí)在盒存儲(chǔ)器的鎖定部分以及可重寫介質(zhì)的所需數(shù)據(jù)集處提供一次寫入標(biāo)志。數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器受一次寫入標(biāo)志限制并且被防止蓋寫受保護(hù)的數(shù)據(jù)。使用盒存儲(chǔ)器的可鎖定部分使得可以防止篡改保護(hù)。對(duì)于此類盒(稱為WORM,一次寫入-多次讀取)而言,重要的是始終受到保護(hù)。具有此類保護(hù)的盒可能在用戶希望防止蓋寫數(shù)據(jù)時(shí)不可用。數(shù)據(jù)保護(hù)的實(shí)例在’810專利中進(jìn)行了介紹,其中通過自動(dòng)使寫入附加限制符提前并操作數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器以防止在寫入附加限制符之前發(fā)生數(shù)據(jù)更改,來將可重寫數(shù)據(jù)存儲(chǔ)介質(zhì)用作一次寫入介質(zhì), 并且’ 314專利同時(shí)在介質(zhì)和盒存儲(chǔ)器處提供指針以防止篡改。
發(fā)明內(nèi)容
各種方法和數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為可移動(dòng)、可重寫(非WORM)數(shù)據(jù)存儲(chǔ)盒提供了盒無關(guān)的蓋寫保護(hù)。在一個(gè)實(shí)施例中,配置命令結(jié)構(gòu),以便在不受缺少與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件影響(或盡管缺少與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件)的情況下,執(zhí)行可重寫非WORM盒的盒數(shù)據(jù)蓋寫保護(hù)程序;以及對(duì)于此類盒,所述命令結(jié)構(gòu)響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。針對(duì)可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器啟用所配置的命令結(jié)構(gòu)。在進(jìn)一步的實(shí)施例中,所述命令結(jié)構(gòu)所允許的寫入型命令可包括帶有或沒有確定開始寫入位置的命令的寫入命令。在另一實(shí)施例中,所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器數(shù)據(jù)蓋寫保護(hù)程序包括使任何嘗試蓋寫所述數(shù)據(jù)存儲(chǔ)盒的先前寫入數(shù)據(jù)的寫入型命令失效,除了蓋寫所述先前寫入數(shù)據(jù)末尾處的寫入附加限制符以外。在又一實(shí)施例中,配置數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器命令結(jié)構(gòu)的步驟包括建立模式頁。在進(jìn)一步的實(shí)施例中,啟用所述命令結(jié)構(gòu)的步驟包括在所述模式頁中放置啟用信號(hào)。
在另一實(shí)施例中,所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器命令結(jié)構(gòu)還包括以下步驟響應(yīng)于緊接所述允許數(shù)據(jù)蓋寫命令之后的非寫入型命令,重置所述數(shù)據(jù)保護(hù)蓋寫程序,并且后續(xù)蓋寫嘗試將導(dǎo)致返回故障檢查條件并發(fā)出數(shù)據(jù)保護(hù)檢測關(guān)鍵字(sense key)。在又一實(shí)施例中,所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器命令結(jié)構(gòu)還包括以下步驟一旦所述緊接的寫入型命令完成,便重置所述數(shù)據(jù)保護(hù)蓋寫程序。在再一實(shí)施例中,所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器命令結(jié)構(gòu)的允許寫入型命令的步驟僅可應(yīng)用于所述數(shù)據(jù)存儲(chǔ)盒的所述允許數(shù)據(jù)蓋寫命令所針對(duì)的分區(qū),使得所述數(shù)據(jù)保護(hù)蓋寫程序繼續(xù)應(yīng)用于所述數(shù)據(jù)存儲(chǔ)盒的其他分區(qū)。另一實(shí)施例包括防止可重寫數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)蓋寫,包括以下步驟檢測盒是否為非WORM盒;執(zhí)行非WORM盒的盒數(shù)據(jù)蓋寫保護(hù)程序,而不受缺少可重寫數(shù)據(jù)存儲(chǔ)盒的與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件的影響;以及對(duì)于此類非WORM盒,響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。
現(xiàn)在將僅通過實(shí)例的方式參考附圖描述本發(fā)明的實(shí)施例,這些附圖是圖1是具有諸如磁帶之類的介質(zhì)以及具有以虛線示出的盒存儲(chǔ)器的可移動(dòng)數(shù)據(jù)存儲(chǔ)盒的等距視圖;圖2是用于處理圖1的可移動(dòng)數(shù)據(jù)存儲(chǔ)盒并可實(shí)現(xiàn)本發(fā)明的各方面的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的方塊圖表示;圖3是在磁帶上提供的信息的圖形表示;圖4是例如可以提供給數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的命令結(jié)構(gòu)的信息的圖形表示;圖5是示出提供和啟用圖4的命令結(jié)構(gòu)的流程圖;圖6是提供給圖2的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的命令的圖形表示;以及圖7是示出操作圖2的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的示例性方法的流程圖。
具體實(shí)施例方式在以下描述中,參考附圖在優(yōu)選實(shí)施例中描述本發(fā)明,其中相同的編號(hào)表示相同或相似的元素。盡管按照用于實(shí)現(xiàn)本發(fā)明目標(biāo)的最佳方式描述本發(fā)明,但本領(lǐng)域的技術(shù)人員將理解,可以根據(jù)這些教導(dǎo)實(shí)現(xiàn)改變而不偏離如所附權(quán)利要求中限定的本發(fā)明的范圍。參考圖1,示出了諸如磁帶盒之類的數(shù)據(jù)存儲(chǔ)盒10的一個(gè)實(shí)例,所述盒包括纏繞在卷盤(reel) 13的輪軸(hub) 12上的可重寫磁帶11,以及盒存儲(chǔ)器14。磁帶盒的一個(gè)實(shí)例包括基于LTO (線性磁帶開放)技術(shù)的盒。盒存儲(chǔ)器14例如包括具有非接觸接口的應(yīng)答器(transponder),如本領(lǐng)域的技術(shù)人員所理解的,所述應(yīng)答器例如通過在安裝時(shí)封裝在盒內(nèi)而容納在盒10中。所示的磁帶盒為單卷盤盒。磁帶盒還可以包括其中磁帶在盒的兩個(gè)卷盤之間饋送的雙卷盤盒。參考圖2,其中示出磁帶驅(qū)動(dòng)器15。其中可以應(yīng)用本發(fā)明的磁帶驅(qū)動(dòng)器的一個(gè)實(shí)例是基于LTO技術(shù)的IBM 3580 Ultrium磁帶驅(qū)動(dòng)器,其中帶有用于執(zhí)行與磁帶盒10相關(guān)的所需操作的微代碼等。在該實(shí)例中,磁帶11纏繞在盒10中的卷盤13上,并且當(dāng)裝入磁帶驅(qū)動(dòng)器15時(shí),在磁帶驅(qū)動(dòng)器的供帶盤和收帶盤16之間饋送。備選地,驅(qū)動(dòng)雙卷盤盒的兩個(gè)卷盤以便在卷盤之間饋送磁帶。磁帶驅(qū)動(dòng)器包括用于從磁帶盒10的盒存儲(chǔ)器14讀取信息或?qū)⑿畔懭牒写鎯?chǔ)器 14的存儲(chǔ)器接口 17。提供了讀/寫系統(tǒng)以便從磁帶讀取信息或?qū)⑿畔懭氪艓?,并且例如?所述讀/寫系統(tǒng)可以包括帶有用于在磁帶11的側(cè)向移動(dòng)磁頭的伺服系統(tǒng)的讀/寫和伺服磁頭系統(tǒng)18、讀/寫伺服控件19以及在盒卷盤13與收帶盤16之間并跨讀/寫和伺服磁頭系統(tǒng)18移動(dòng)磁帶11的驅(qū)動(dòng)馬達(dá)系統(tǒng)20。讀/寫和伺服控件19控制驅(qū)動(dòng)馬達(dá)系統(tǒng)20的操作以便以所需的速度跨讀/寫和伺服磁頭系統(tǒng)18移動(dòng)磁帶11,并且在一個(gè)實(shí)例中,確定讀 /寫和伺服磁頭系統(tǒng)相對(duì)于磁帶11的位置。在一個(gè)實(shí)例中,讀/寫和伺服磁頭系統(tǒng)18以及讀/寫和伺服控件19在磁帶11上使用伺服信號(hào)以確定讀/寫和伺服磁頭系統(tǒng)的位置,并且在另一實(shí)例中,讀/寫和伺服控件19使用至少一個(gè)卷盤(例如借助轉(zhuǎn)速計(jì))確定讀/寫和伺服磁頭系統(tǒng)相對(duì)于磁帶11的位置。讀/寫和伺服磁頭系統(tǒng)18以及讀/寫和伺服控件 19可以包括硬件元素并且可以包括任何適當(dāng)形式的邏輯,其中包括通過軟件或微代碼或固件操作的處理器,或者可以包括硬件邏輯或它們的組合。接口 23提供關(guān)于一個(gè)或多個(gè)主機(jī)系統(tǒng)或工具處理器25的通信,并被配置為從數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的外部接收信息以及向數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的外部發(fā)送信息。備選地,磁帶驅(qū)動(dòng)器15可以形成子系統(tǒng)(例如庫)的一部分,并且還可以在接口 23處從子系統(tǒng)接收命令??丶?4與主機(jī)接口 23、存儲(chǔ)器接口 17通信,并且例如在讀/寫和伺服控件19處與讀/寫系統(tǒng)通信。控件24可以包括任何適當(dāng)形式的邏輯,其中包括通過軟件或微代碼或固件操作的一個(gè)或多個(gè)處理器,或者可以包括硬件邏輯或它們的組合。所示的磁帶驅(qū)動(dòng)器實(shí)施例以及備選實(shí)施例(包括采取雙卷盤盒的實(shí)施例)是本領(lǐng)域的技術(shù)人員公知的。其他類型的可移動(dòng)數(shù)據(jù)存儲(chǔ)盒和數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器也是本領(lǐng)域的技術(shù)人員公知的。 其實(shí)例包括光盤盒和驅(qū)動(dòng)器、光學(xué)磁帶盒和驅(qū)動(dòng)器、可移動(dòng)計(jì)算機(jī)軟盤和驅(qū)動(dòng)器、硬磁盤盒和驅(qū)動(dòng)器等。 控件24 —般通過接口 23與一個(gè)或多個(gè)主機(jī)系統(tǒng)25、工具或子系統(tǒng)進(jìn)行通信,并且根據(jù)主機(jī)等發(fā)出的命令操作磁帶驅(qū)動(dòng)器15,并且還響應(yīng)來自子系統(tǒng)的命令。如圖所示,磁帶驅(qū)動(dòng)器15向磁帶盒10的磁帶11提供信息。參考圖3,可以通過許多方式組織磁帶11。典型地,磁帶布置有并行磁道,并且還可以布置有具有并行磁道組的若干并列盤帶(wrap)。在一個(gè)實(shí)例中,磁帶在磁頭系統(tǒng)相對(duì)于一個(gè)盤帶讀取和/或?qū)懭霐?shù)據(jù)時(shí)沿第一方面縱向移動(dòng),然后反轉(zhuǎn)沿相反方向移動(dòng)并且磁頭系統(tǒng)移位到另一盤帶。參考圖3,為了例示,作為磁帶11的單個(gè)盤帶的一部分展示信息。典型結(jié)構(gòu)包括位于例如文件開始處的頭部71,后跟用戶數(shù)據(jù)73。諸如用戶文件結(jié)束處的尾部78可以指示文件結(jié)束,并且例如包括文件標(biāo)記79,并且數(shù)據(jù)的結(jié)尾可以包括多個(gè)附加文件標(biāo)記80和一個(gè)數(shù)據(jù)結(jié)束標(biāo)記81。在圖3的實(shí)例中,指針82指示位于用戶數(shù)據(jù)73的結(jié)尾并在數(shù)據(jù)結(jié)構(gòu)的結(jié)尾之前的位置。本領(lǐng)域的技術(shù)人員可以針對(duì)其他磁帶實(shí)例或針對(duì)其他類型的數(shù)據(jù)存儲(chǔ)盒構(gòu)想類似的結(jié)構(gòu)。如上所述,在許多情況下,用戶希望通過防止蓋寫數(shù)據(jù)來保護(hù)寫入此類可重寫介質(zhì)的數(shù)據(jù)。上述’ 846和’ 803專利允許保護(hù)寫入具有受數(shù)據(jù)存儲(chǔ)盒控制且防篡改的可重寫介質(zhì)的數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)。這允許將盒裝入不同數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器并且數(shù)據(jù)仍受到保護(hù)。參考圖1,一次寫入標(biāo)志被寫入盒存儲(chǔ)器14的可鎖定部分,并且鎖定盒存儲(chǔ)器。另外,一次寫入標(biāo)志被寫入可重寫介質(zhì)11的所需數(shù)據(jù)集。因此,同時(shí)在盒存儲(chǔ)器的鎖定部分以及可重寫介質(zhì)的所需數(shù)據(jù)集處提供一次寫入標(biāo)志。數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器受所述一次寫入標(biāo)志限制并且被防止蓋寫其中的受保護(hù)數(shù)據(jù)。使用盒存儲(chǔ)器的可鎖定部分使得可以防止篡改保護(hù)。此類盒可以被稱為WORM或“一次寫入-多次讀取”盒。典型地,盒被初始化為具有WORM保護(hù),但是具有此類保護(hù)的初始化后的盒可能在用戶希望防止數(shù)據(jù)被蓋寫時(shí)不可用。另一方面,存儲(chǔ)在非WORM盒上的全部或部分?jǐn)?shù)據(jù)可能喪失其有效性,并且可能希望回收盒或盒的分區(qū)以存儲(chǔ)新的數(shù)據(jù)。本發(fā)明允許用戶控制數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器處的非WORM盒的數(shù)據(jù)保護(hù)。在一個(gè)實(shí)施例中,通過數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的命令結(jié)構(gòu)控制數(shù)據(jù)保護(hù)。參考圖4,其中示出諸如模式頁之類的具有根據(jù)本發(fā)明的實(shí)施例的信息的命令結(jié)構(gòu)100的一個(gè)實(shí)例。模式頁是帶有隨時(shí)從主機(jī)或工具處理器發(fā)送到數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的Mode Select命令的數(shù)據(jù)。模式頁和Mode Select命令包括命令結(jié)構(gòu)的許多實(shí)施例之一。設(shè)置 103可以啟用或禁用現(xiàn)有命令結(jié)構(gòu),或者啟用或禁用設(shè)置103可以在提供命令結(jié)構(gòu)數(shù)據(jù)時(shí)位于數(shù)據(jù)內(nèi)。根據(jù)諸如SCSI之類的正常行為,命令結(jié)構(gòu)100和設(shè)置103可以保存到圖2的控件24的非易失性存儲(chǔ)器或易失性存儲(chǔ)器。如果設(shè)置保存到非易失性存儲(chǔ)器,則該設(shè)置始終被記住(即使跨多次重新啟動(dòng)(power cycle)也是如此),并且在被另一Mode Select命令顯式更改之前,一直處于設(shè)定狀態(tài)。如果命令結(jié)構(gòu)和設(shè)置僅存儲(chǔ)在易失性存儲(chǔ)器中,則它們僅保持到出現(xiàn)重新啟動(dòng)或直到被另一 Mode Select命令顯式更改。圖5示出提供和啟用圖4的命令結(jié)構(gòu)100的過程的實(shí)施例,所述過程始于步驟 100。圖2的主機(jī)或工具處理器25提供Mode Select命令,該命令包括圖4的命令結(jié)構(gòu)100, 或備選地包括在收到所述命令結(jié)構(gòu)之后的啟用信號(hào)。參考圖2、4和5,在步驟105,在接口 23處接收命令結(jié)構(gòu)或Mode Select命令,以及在步驟107,將命令結(jié)構(gòu)100插入控件24的所需存儲(chǔ)器(易失性或非易失性)中。在一個(gè)實(shí)施例中,由隨命令結(jié)構(gòu)提供的啟用信號(hào)啟用108該命令結(jié)構(gòu),或由隨命令結(jié)構(gòu)100提供的禁用信號(hào)禁用109該命令結(jié)構(gòu),這均由設(shè)置103指示。備選地,在收到命令結(jié)構(gòu)100之后例如由另一 Mode Select命令激活啟用108信號(hào)103。一個(gè)優(yōu)選實(shí)施例作為模式頁100提供命令結(jié)構(gòu),所述模式頁中帶有啟用信號(hào)103。命令結(jié)構(gòu)100的功能是在不受缺少盒控件影響或盡管缺少盒控件的情況下,執(zhí)行可重寫非WORM盒的盒數(shù)據(jù)蓋寫保護(hù)程序,其中包括防止對(duì)先前寫入的數(shù)據(jù)的任何蓋寫。因此,寫入非WORM盒的數(shù)據(jù)仍受到保護(hù)以防被蓋寫。備選地,可以由圖2的控件24直接在數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器處實(shí)現(xiàn)所述程序。圖6示出了其中數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器通過允許蓋寫可重寫非WORM盒的數(shù)據(jù)來控制該盒的特殊命令。所述特殊命令是可以由圖4的命令結(jié)構(gòu)100實(shí)現(xiàn)的“允許數(shù)據(jù)蓋寫”命令 120?!霸试S數(shù)據(jù)蓋寫”命令120包括例如未由任何其他命令(例如SCSI命令)使用的操作碼121。對(duì)于所有命令而言,操作碼伴隨有可以詳細(xì)描述命令的各方面的信息122,例如標(biāo)識(shí)數(shù)據(jù)存儲(chǔ)盒上存儲(chǔ)的將應(yīng)用該命令的數(shù)據(jù)分區(qū)。一旦數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器接收到命令120,當(dāng)且僅當(dāng)該命令后面緊跟寫入型命令(包括一個(gè)緊跟的命令),才允許該寫入型命令蓋寫該分區(qū)或盒的任何數(shù)據(jù)。相反,如果“允許數(shù)據(jù)蓋寫”命令120后面緊跟非寫入型命令,則重置“允許數(shù)據(jù)蓋寫”功能,并且隨后的蓋寫嘗試將導(dǎo)致返回故障檢查條件并發(fā)出數(shù)據(jù)保護(hù)檢測關(guān)鍵字。在一個(gè)實(shí)施例中,所允許的寫入型命令包括帶有或沒有確定開始寫入位置的命令的寫入命令。所述定位必須與該寫入命令關(guān)聯(lián)。在一個(gè)實(shí)施例中,可以緊接特殊命令120之后開始一系列命令。例如,作為緊接的寫入型命令的結(jié)果,對(duì)于磁帶而言,蓋寫本身將有效地刪除任何先前數(shù)據(jù)以及寫入命令位置后的寫入附加限制符。因此,執(zhí)行所述寫入命令和所有緊接的寫入命令,并且最后一個(gè)命令建立新的寫入附加限制符。—旦緊接的寫入型命令完成,便重置數(shù)據(jù)保護(hù)蓋寫程序。在一個(gè)實(shí)施例中,所述允許數(shù)據(jù)蓋寫命令指定允許蓋寫的位置。如果盒包括多個(gè)分區(qū),并且允許數(shù)據(jù)蓋寫命令120指定其所作用的分區(qū),則所允許的寫入型命令僅應(yīng)用于該寫入型命令針對(duì)的分區(qū),使得數(shù)據(jù)保護(hù)蓋寫程序繼續(xù)應(yīng)用于數(shù)據(jù)存儲(chǔ)盒的其他分區(qū)。備選地,所述允許數(shù)據(jù)蓋寫命令可以例如通過更改分區(qū)的數(shù)量和/或大小來準(zhǔn)許完全重新格式化介質(zhì)。參考圖3,在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器數(shù)據(jù)蓋寫保護(hù)程序包括使任何嘗試蓋寫數(shù)據(jù)存儲(chǔ)盒的先前寫入數(shù)據(jù)的寫入型命令失效,除了蓋寫先前寫入數(shù)據(jù)末尾處的寫入附加限制符(如附加文件標(biāo)記80和數(shù)據(jù)結(jié)束指示符81)以外。這允許將額外數(shù)據(jù)附加到先前寫入數(shù)據(jù)的末尾處。圖7中示出啟用的命令結(jié)構(gòu)和允許數(shù)據(jù)蓋寫命令的程序的一個(gè)實(shí)例。參考圖4、 6和7,所啟用的命令結(jié)構(gòu)可以被稱為“數(shù)據(jù)安全模式”,并且在步驟150進(jìn)入該模式。在步驟153接收命令并在步驟154判定安裝在驅(qū)動(dòng)器上的數(shù)據(jù)存儲(chǔ)盒是否具有盒寫入控件,即是否為WORM盒。這可以通過檢查盒存儲(chǔ)器14或讀取介質(zhì)11中的標(biāo)志或其他指示來確定。 如果盒是WORM盒,則在步驟156中遵循WORM的盒寫入控制程序?qū)ζ溥M(jìn)行處理。如果盒不是WORM盒,則步驟155判定是否在前一命令中收到允許數(shù)據(jù)蓋寫命令。一種跟蹤方法是使允許數(shù)據(jù)蓋寫命令設(shè)置“緊接寫入”(ISW)觸發(fā)器??梢葬槍?duì)特定分區(qū)設(shè)置該觸發(fā)器。步驟 155針對(duì)該觸發(fā)器執(zhí)行檢查。在步驟155中也可以使用用于判定是否作為前一命令收到允許數(shù)據(jù)蓋寫的備選方法。如果未設(shè)置“緊接寫入”,則步驟157查找允許數(shù)據(jù)蓋寫命令。如果命令為允許數(shù)據(jù)蓋寫,則命令結(jié)構(gòu)預(yù)期緊接的命令是寫入型命令。一種指示此預(yù)期的方法是如以上所述那樣在步驟160設(shè)置“緊接寫入”(ISW)觸發(fā)器。但是,如果所接收的命令不是允許數(shù)據(jù)蓋寫命令,則步驟163查找寫入命令。如果命令是寫入命令以外的命令,則在步驟165進(jìn)行正常處理。過程然后在步驟153查找下一命令。如果命令是寫入命令,則如上所述,數(shù)據(jù)蓋寫保護(hù)步驟167判定該寫入命令(如果允許)是否將蓋寫數(shù)據(jù)存儲(chǔ)盒的先前寫入的數(shù)據(jù)。如果是,則步驟170根據(jù)適用的協(xié)議使命令失效,例如,返回故障檢查條件、發(fā)出數(shù)據(jù)保護(hù)檢測關(guān)鍵字。過程可然后在步驟153查找下一命令。如果命令結(jié)構(gòu)的協(xié)議允許不會(huì)導(dǎo)致蓋寫的寫入命令,則步驟167繼續(xù)到步驟173以處理可接受的寫入命令。不會(huì)導(dǎo)致蓋寫先前寫入數(shù)據(jù)的可接受寫入命令的一個(gè)實(shí)例是將數(shù)據(jù)附加到先前寫入數(shù)據(jù)的末尾的寫入命令。如上所述,該命令可以蓋寫先前寫入數(shù)據(jù)末尾的諸如圖3所示的附加文件標(biāo)記80和數(shù)據(jù)結(jié)束指示符81之類的寫入附加限制符。 過程然后在步驟153查找下一命令。返回參考步驟155,如果該步驟指示已作為前一命令接收允許數(shù)據(jù)蓋寫(即 “是”),則步驟180判定當(dāng)前命令是否為寫入型命令。如果否,則在步驟183重置數(shù)據(jù)保護(hù)蓋寫程序。在一個(gè)實(shí)施例中,重置“緊接寫入”(ISW)觸發(fā)器。然后可以在步驟165中正常處理該非寫入型命令。過程然后在步驟153查找下一命令。由于緊跟特殊允許數(shù)據(jù)蓋寫命令的命令不是寫入型命令,因此命令結(jié)構(gòu)的步驟 183實(shí)際上使允許數(shù)據(jù)蓋寫命令失效并對(duì)先前寫入的數(shù)據(jù)提供持續(xù)保護(hù)。在一個(gè)實(shí)施例中,并非每個(gè)非寫入命令都重置步驟183的“緊接寫入”觸發(fā)器。例如,只有影響寫入的非寫入型命令才重置ISW。如本領(lǐng)域中的技術(shù)人員公知的,諸如更改位置、更改塊大小之類的命令將影響寫入。諸如查詢之類的命令不影響寫入,并且不會(huì)重置步驟183的ISW。在步驟165處理命令,如路徑184所示,繞過步驟183。如果允許數(shù)據(jù)蓋寫命令是如步驟155指示的前一命令,并且當(dāng)前緊接的命令是如步驟180指示的寫入型命令,則允許在步驟186處理該寫入型命令以寫入盒,即使該寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。如上所述,如果蓋寫磁帶,則蓋寫本身的效果是刪除蓋寫之后的數(shù)據(jù), 直到分區(qū)的前一數(shù)據(jù)末尾。因此,任何持續(xù)的寫入就像數(shù)據(jù)是步驟173的正常附加。所述蓋寫和任何附加然后必須以新的數(shù)據(jù)結(jié)尾(例如,新的寫入附加限制符)結(jié)束。一旦緊接的寫入型命令(或一系列命令)完成,便在步驟189重置數(shù)據(jù)保護(hù)蓋寫程序。在一個(gè)實(shí)施例中,重置“緊接寫入”(ISW)觸發(fā)器。過程然后在步驟153查找下一命令。對(duì)于步驟186的蓋寫完成之后的任何命令而言,命令結(jié)構(gòu)的步驟189實(shí)際上使允許數(shù)據(jù)蓋寫命令失效并且重新建立對(duì)新寫入的數(shù)據(jù)以及任何未被蓋寫的數(shù)據(jù)的持續(xù)保護(hù)??梢允褂脠D7所示以外的備選協(xié)議和程序提供可重寫數(shù)據(jù)存儲(chǔ)盒的盒無關(guān)的數(shù)據(jù)保護(hù)功能,其中包括執(zhí)行盒數(shù)據(jù)蓋寫保護(hù)程序,而與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件無關(guān); 以及響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。所述實(shí)施方式可以包括軟件、固件、微代碼、硬件和/或它們的任意組合。所述實(shí)施方式可以采取在介質(zhì)(例如圖2的控件24的存儲(chǔ)器、存儲(chǔ)器件和/或電路)中實(shí)現(xiàn)的代碼或邏輯的形式,其中所述介質(zhì)可以包括硬件邏輯(例如集成電路芯片、可編程門陣列 [PGA]、專用集成電路[ASIC]或其他電路、邏輯或器件)或諸如磁存儲(chǔ)介質(zhì)之類的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)、半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)軟盤、隨機(jī)存取存儲(chǔ)器[RAM]、只讀存儲(chǔ)器[ROM]、硬磁盤、光盤、光盤只讀存儲(chǔ)器 (CD-ROM)、光盤讀/寫存儲(chǔ)器[CD-R/W]和DVD)。本領(lǐng)域的技術(shù)人員將理解,可以對(duì)上面討論的方法進(jìn)行更改,其中包括對(duì)步驟順序的更改。此外,本領(lǐng)域的技術(shù)人員將理解,可以采用與在此所示不同的特定組件布置。盡管詳細(xì)示出了本發(fā)明的優(yōu)選實(shí)施例,但是顯而易見的是,本領(lǐng)域技術(shù)人員可想到對(duì)這些實(shí)施例的修改和改變而不偏離在以下權(quán)利要求中闡述的本發(fā)明的范圍。
權(quán)利要求
1.一種用于防止可重寫非WORM數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)蓋寫的方法,包括(A)檢測數(shù)據(jù)存儲(chǔ)盒是否為可重寫非WORM盒;(B)執(zhí)行盒數(shù)據(jù)蓋寫保護(hù)程序,而不受缺少所述可重寫非WORM數(shù)據(jù)存儲(chǔ)盒的與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件的影響;以及(C)響應(yīng)于允許數(shù)據(jù)蓋寫命令,允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。
2.如權(quán)利要求1中所述的方法,其中所允許的寫入型命令包括帶有或沒有確定開始寫入位置的命令的寫入命令。
3.如權(quán)利要求1中所述的方法,其中所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器數(shù)據(jù)蓋寫保護(hù)程序包括使任何嘗試蓋寫所述數(shù)據(jù)存儲(chǔ)盒的先前寫入數(shù)據(jù)的寫入型命令失效,除了蓋寫所述先前寫入數(shù)據(jù)末尾處的寫入附加限制符以外。
4.如權(quán)利要求1中所述的方法,還包括以下步驟響應(yīng)于緊接所述允許數(shù)據(jù)蓋寫命令之后的非寫入型命令,重置所述數(shù)據(jù)保護(hù)蓋寫程序,使得后續(xù)蓋寫嘗試將導(dǎo)致返回故障檢查條件并發(fā)出數(shù)據(jù)保護(hù)檢測關(guān)鍵字。
5.如權(quán)利要求1中所述的方法,還包括以下步驟一旦所述緊接的寫入型命令完成,便重置所述數(shù)據(jù)保護(hù)蓋寫程序。
6.如權(quán)利要求1中所述的方法,其中允許寫入型命令的步驟僅應(yīng)用于所述數(shù)據(jù)存儲(chǔ)盒的所述允許數(shù)據(jù)蓋寫命令所針對(duì)的分區(qū),使得所述數(shù)據(jù)保護(hù)蓋寫程序繼續(xù)應(yīng)用于所述數(shù)據(jù)存儲(chǔ)盒的其他分區(qū)。
7.一種用于控制可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的方法,包括(A)配置用于可重寫非WORM數(shù)據(jù)存儲(chǔ)盒的盒無關(guān)的數(shù)據(jù)保護(hù)的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器命令結(jié)構(gòu),所述命令結(jié)構(gòu)包括(i)執(zhí)行可重寫非WORM盒的盒數(shù)據(jù)蓋寫保護(hù)程序,而不受缺少與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件的影響;以及(ii)針對(duì)所述可重寫非WORM盒,響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù);以及(B)針對(duì)所述可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器啟用所述命令結(jié)構(gòu)。
8.如權(quán)利要求7中所述的方法,其中配置所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器命令結(jié)構(gòu)的步驟包括建立模式頁。
9.如權(quán)利要求8中所述的方法,其中啟用所述命令結(jié)構(gòu)的步驟包括在所述模式頁中放置啟用信號(hào)。
10.一種可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,包括讀/寫裝置,配置為針對(duì)裝入所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)盒讀取和寫入信息;驅(qū)動(dòng)裝置,配置為在所裝入的數(shù)據(jù)存儲(chǔ)盒的介質(zhì)與所述讀/寫裝置之間提供相對(duì)運(yùn)動(dòng),以及針對(duì)所述介質(zhì)和所述讀/寫裝置提供定位功能,以便實(shí)現(xiàn)所述讀/寫裝置對(duì)所裝入的數(shù)據(jù)存儲(chǔ)盒的信息的讀取和寫入;至少一個(gè)接口,配置為從所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的外部接收信息以及向所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的外部發(fā)送信息;以及控件,配置為對(duì)在所述至少一個(gè)接口處接收的命令做出響應(yīng),以及操作所述讀/寫裝置和所述驅(qū)動(dòng)裝置,所述控件被配置為防止可重寫非WORM數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)蓋寫,包括執(zhí)行可重寫非WORM盒的盒數(shù)據(jù)蓋寫保護(hù)程序,而不受缺少所述可重寫數(shù)據(jù)存儲(chǔ)盒的與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件的影響;以及對(duì)于所述可重寫非WORM盒,響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。
11.如權(quán)利要求10中所述的可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中所允許的寫入型命令包括帶有或沒有確定開始寫入位置的命令的寫入數(shù)據(jù)命令。
12.如權(quán)利要求10中所述的可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中所述控件的所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器數(shù)據(jù)蓋寫保護(hù)程序包括使任何嘗試蓋寫所述數(shù)據(jù)存儲(chǔ)盒的先前寫入數(shù)據(jù)的寫入型命令失效,除了蓋寫所述先前寫入數(shù)據(jù)末尾處的寫入附加限制符以外。
13.如權(quán)利要求10中所述的可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中所述控件還被配置為 響應(yīng)于緊接所述允許數(shù)據(jù)蓋寫命令之后的非寫入型命令,重置所述數(shù)據(jù)保護(hù)蓋寫程序,使得后續(xù)蓋寫嘗試將導(dǎo)致返回故障檢查條件并發(fā)出數(shù)據(jù)保護(hù)檢測關(guān)鍵字。
14.如權(quán)利要求10中所述的可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中所述控件還被配置為 一旦所述緊接的寫入型命令完成,便重置所述數(shù)據(jù)保護(hù)蓋寫程序。
15.如權(quán)利要求10中所述的可移動(dòng)盒式數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中所述控件被配置為僅針對(duì)所述數(shù)據(jù)存儲(chǔ)盒的所述允許數(shù)據(jù)蓋寫命令所針對(duì)的分區(qū)而允許所述寫入型命令,使得所述數(shù)據(jù)保護(hù)蓋寫程序繼續(xù)應(yīng)用于所述數(shù)據(jù)存儲(chǔ)盒的其他分區(qū)。
16.一種被配置為針對(duì)可重寫數(shù)據(jù)存儲(chǔ)盒讀取和寫入數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,包括 讀/寫裝置,配置為針對(duì)裝入所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)盒讀取和寫入信息;驅(qū)動(dòng)裝置,配置為在所裝入的數(shù)據(jù)存儲(chǔ)盒的介質(zhì)與所述讀/寫裝置之間提供相對(duì)運(yùn)動(dòng),以及針對(duì)所述介質(zhì)和所述讀/寫裝置提供定位功能,以便實(shí)現(xiàn)所述讀/寫裝置對(duì)所裝入的數(shù)據(jù)存儲(chǔ)盒的信息的讀取和寫入;至少一個(gè)接口,配置為從所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的外部接收信息以及向所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的外部發(fā)送信息;以及控件,配置為對(duì)在所述至少一個(gè)接口處接收的命令做出響應(yīng),以及操作所述讀/寫裝置和所述驅(qū)動(dòng)裝置,可根據(jù)在所述至少一個(gè)接口處接收的命令結(jié)構(gòu)配置所述控件,所述命令結(jié)構(gòu)包括檢測數(shù)據(jù)存儲(chǔ)盒是否為可重寫非WORM盒;對(duì)于可重寫非WORM盒,執(zhí)行盒數(shù)據(jù)蓋寫保護(hù)程序,而不受缺少與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件的影響;以及對(duì)于所述可重寫非WORM盒,響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。
17.如權(quán)利要求16中所述的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中在所述接口處接收的所述命令結(jié)構(gòu)包括模式頁。
18.如權(quán)利要求17中所述的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中通過所述模式頁內(nèi)的啟用信號(hào)啟用所述命令結(jié)構(gòu)。
19.如權(quán)利要求18中所述的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中與所述模式頁一起提供所述啟用信號(hào)。
20.如權(quán)利要求18中所述的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中在接收到所述模式頁之后激活所述啟用信號(hào)。
21.一種在介質(zhì)上的包括程序代碼的計(jì)算機(jī)程序,所述程序代碼當(dāng)在計(jì)算機(jī)上執(zhí)行時(shí), 將使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1至9中的任一權(quán)利要求中所述的步驟。
全文摘要
通過數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器執(zhí)行盒數(shù)據(jù)蓋寫保護(hù)程序,在不受缺少與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件影響(或盡管缺少與數(shù)據(jù)蓋寫保護(hù)相關(guān)的盒控件)的情況下,提供了防止可重寫非WORM數(shù)據(jù)存儲(chǔ)盒的數(shù)據(jù)蓋寫。另外對(duì)于非WORM盒,所述驅(qū)動(dòng)器響應(yīng)于允許數(shù)據(jù)蓋寫命令而允許緊接的寫入型命令寫入所述盒,即使所述寫入命令將蓋寫現(xiàn)有數(shù)據(jù)。可以針對(duì)所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器配置和啟用蓋寫保護(hù)程序和數(shù)據(jù)蓋寫程序。
文檔編號(hào)G06F3/06GK102483940SQ201080037618
公開日2012年5月30日 申請(qǐng)日期2010年8月18日 優(yōu)先權(quán)日2009年8月27日
發(fā)明者K·D·布特, S·O·布魯姆, 浩一 中山 申請(qǐng)人:國際商業(yè)機(jī)器公司