專利名稱:記錄設備、介質(zhì)、方法及相關的計算機程序的制作方法
技術領域:
本發(fā)明涉及一種記錄設備、記錄介質(zhì)、記錄方法,以及相關的計算機程序,所述記錄設備將諸如加密密鑰、權限管理信息和計費信息之類的安全數(shù)據(jù)寫入到SD存儲卡或類似的記錄介質(zhì)中。
背景技術:
安全數(shù)字(SD)存儲卡是用來記錄由內(nèi)容分發(fā)服務分發(fā)的內(nèi)容、安全數(shù)據(jù)等等的記錄介質(zhì)。不僅如此,所述SD存儲卡還能夠以高級保密性來存儲已分發(fā)的安全數(shù)據(jù),并且由于這個緣故SD存儲卡很快地贏得了內(nèi)容分發(fā)服務供應商的信任?,F(xiàn)在,讓我簡單來描述一下能提供這種高級保密性的SD存儲卡的結(jié)構(gòu)。SD存儲卡包括(i)用戶數(shù)據(jù)區(qū)域,在其中內(nèi)容是以加密形式來記錄的,和(ii)受保護區(qū)域,在其中記錄對應于所述內(nèi)容的安全數(shù)據(jù)。連接于SD存儲卡的設備,能夠自由訪問所述用戶數(shù)據(jù)區(qū)域。相反,只有在SD存儲卡與所述設備之間存在相互驗證的情況下,才能訪問所述受保護區(qū)域。因而,擁有許可的設備將能跳過相互驗證過程,而由未經(jīng)授權的設備訪問時將在相互驗證階段遭到拒絕,所述許可是由內(nèi)容分發(fā)服務供應商提供用以管理已分發(fā)內(nèi)容的。照此,保持了安全數(shù)據(jù)的保密性。
當需要相互驗證以訪問受保護區(qū)域時,像半導體存儲卡上的任何其他區(qū)域一樣,所述受保護區(qū)域也是利用文件系統(tǒng)來管理的。根據(jù)常規(guī)的文件分配表(FAT)文件系統(tǒng),以公知稱為“簇(cluster)”的單位來管理單個文件。盡管高度保密,但是安全數(shù)據(jù)趨向于小的16字節(jié)或64字節(jié)的大小,其小于單個簇大小的一百分之一。由于在大小上的巨大差別,當一塊安全數(shù)據(jù)被存儲在單個文件中時,存儲空間的使用效率很低。
這個問題能夠通過將多塊安全數(shù)據(jù)一起存儲在單個文件中來克服。然而,在單個文件中存儲多塊安全數(shù)據(jù),最終導致“碎片”問題(即,在已使用區(qū)域之間零散地存在著未使用區(qū)域)。
當使用SD存儲卡記錄已分發(fā)內(nèi)容經(jīng)過一段長時間以后,大量安全數(shù)據(jù)積聚在該SD存儲卡上??梢栽黾铀鯯D存儲卡上的文件數(shù)目以滿足存儲需要。在另一方面,當相對應的內(nèi)容變得過時的時候,刪除安全數(shù)據(jù)。由于SD存儲卡的存儲空間往往是有限的,因而最好應該將對應于新內(nèi)容的安全數(shù)據(jù)記錄在因刪除而產(chǎn)生的未使用區(qū)域中。然而,因為當在單個文件中存儲多塊安全數(shù)據(jù)時,未使用區(qū)域遍布多個文件變得分散,所以需要進行搜索,以確定哪些文件具有可以用來寫入安全數(shù)據(jù)的未使用區(qū)域。此外,在SD存儲卡與設備之間需要相互驗證,以便訪問受保護區(qū)域中的文件,并且這個相互驗證過程變成一種額外開銷,這種額外開銷延長了完成一次文件訪問所需的時間。由于在打開每個文件的過程中招致這種額外開銷,因而搜索具有未使用區(qū)域的文件浪費了很多時間,這樣使得要完成寫數(shù)據(jù)需要很長一段時間。
發(fā)明內(nèi)容
未使用區(qū)域遍布多個文件的分散,可以通過執(zhí)行“垃圾回收”處理過程加以避免,以便將未使用區(qū)域回收在一起。然而,垃圾回收要求更多的文件讀和寫操作。諸如SD存儲卡之類的半導體存儲卡包括閃速存儲器,而閃速存儲器能被重寫的次數(shù)限制在了幾十萬次。因此,因一兩個未使用區(qū)域而執(zhí)行垃圾回收縮短了SD存儲卡的壽命。如果不執(zhí)行垃圾回收,則為了進行寫操作就必須要選擇遍布多個文件而分散的未使用區(qū)域。
本發(fā)明的目的是,提供一種能夠高速地將安全數(shù)據(jù)寫入到遍布多個文件的未使用區(qū)域中的記錄設備。
上述目的是通過一種用于在上面記錄有多個文件的記錄介質(zhì)的記錄設備來實現(xiàn)的,其中每個文件都具有多個項目區(qū)域。所述記錄設備包括讀單元,可操作地用于從記錄介質(zhì)中讀取狀態(tài)信息,所述狀態(tài)信息為每個文件顯示出所述文件是處于第一狀態(tài)還是處于第二狀態(tài),在所述第一狀態(tài)中一個或多個項目區(qū)域不在使用中,而所述第二狀態(tài)中所有的項目區(qū)域都在使用中;寫單元,可操作地用于通過參考所讀取的狀態(tài)信息來指定處于第一狀態(tài)的文件,并且將數(shù)據(jù)寫入到指定文件的未使用項目區(qū)域中;和更新單元,可操作地用于在指定文件中的所有項目區(qū)域由于通過寫單元寫入數(shù)據(jù)而變成在使用中的情況下,就更新狀態(tài)信息以便將指定文件顯示成處于第二狀態(tài)。
根據(jù)這種結(jié)構(gòu),提供能顯示出多個文件中的哪些文件包含未使用項目區(qū)域的狀態(tài)信息。因此,即使當未使用的區(qū)域遍布多個文件時,也能通過參考所述狀態(tài)信息來迅速確定具有未使用區(qū)域的文件。由于需要總共兩次文件訪問操作(也就是,一次是打開狀態(tài)信息,而再一次是打開具有未使用區(qū)域的文件),因而所述記錄設備就不必搜索并打開多個文件來查找具有未使用區(qū)域的文件,因此,就能夠縮短寫入新內(nèi)容所需的時間。
這里,所述記錄設備可以進一步包括創(chuàng)建單元,可操作地用于當寫單元訪問所述已讀取的狀態(tài)信息時,如果記錄介質(zhì)上的所有文件都顯示為處于第二狀態(tài),則就創(chuàng)建處于第一狀態(tài)的文件。
根據(jù)這種結(jié)構(gòu),在現(xiàn)存文件中所有的項目區(qū)域已被寫入之后,由記錄設備來創(chuàng)建新的文件,并且因此不會不必要地創(chuàng)建新文件。因為將文件的數(shù)目減小到最少,所以就能夠長期有效地組織好記錄在所述記錄介質(zhì)上的數(shù)據(jù)。如果所述記錄介質(zhì)是SD存儲器卡,則所述受保護區(qū)域往往是SD存儲器卡總區(qū)域中相對小的區(qū)域。具體而言,將SD存儲卡的總區(qū)域的1%分配給受保護區(qū)域。照此,就限制了受保護區(qū)域中的文件數(shù)目。然而,因為上述記錄設備將文件的數(shù)目減小到最少,所以能夠很有效地使用所述受保護區(qū)域。
附圖簡要說明
圖1A示出根據(jù)本發(fā)明實施例1的SD存儲卡100的外部視圖;圖1B示出SD存儲卡100中的構(gòu)造層;圖1C示出SD存儲卡100中的物理層;圖2示出SD存儲卡的用戶數(shù)據(jù)區(qū)域及受保護區(qū)域中的文件和目錄;圖3示出EPUBxxx.KEY文件的內(nèi)部結(jié)構(gòu);圖4示出受保護區(qū)域中的多個Key&Rule Entry區(qū)域與用戶數(shù)據(jù)區(qū)域中的多個內(nèi)容之間的對應關系;圖5示出EPUBxxx.KEY文件中的示范性位圖;圖6詳細示出為多個EPUBxxx.KEY文件設置的位圖;圖7詳細示出當如圖6中那樣設置EPUB005.KEY中的Key&RuleEntry區(qū)域時,為EPUB005.KEY文件設置的位圖;圖8示出SD_EPUB.MMG文件中的位圖;圖9詳細示出當如圖6中那樣設置EPUBxxx.KEY文件中的Key&RuleEntry區(qū)域時,在SD_EPUB.MMG中設置的位圖;圖10示出當EPUB005.KEY中的Key&Rule Entry#3對應于Content001時,轉(zhuǎn)換表存儲文件的設置;
圖11A示出根據(jù)本發(fā)明實施例2、當其每一個由單個簇形成時的SD_EPUB.MMG和EPUB001.KEY~EPUB005.KEY;圖11B示出可擦除塊與一個或多個簇之間的關系;圖11C示出當x=1時的可擦除塊—簇的關系;圖11D示出當x=16時可擦除塊—簇的關系;圖12A示出根據(jù)本發(fā)明實施例3的受保護區(qū)域的詳細結(jié)構(gòu);圖12B示出分配給存儲卷管理信息的y個簇的示例,所述y個簇屬于總共s個簇的一部分,所述s個簇被包含在s個可擦除塊當中;圖12C示出當x=1時,對存儲卷管理信息的簇的分配;圖12D示出當x=16時,對存儲卷管理信息的簇的分配;圖13示出在大小調(diào)整之后的受保護區(qū)域的設計詳圖;圖14A示出作為一臺通用音頻設備的記錄設備;圖14B示出作為一臺計算機或一臺類似的信息設備一部分的記錄設備;圖15示出根據(jù)本發(fā)明實施例4的記錄設備的內(nèi)部結(jié)構(gòu);圖16是寫處理操作的流程圖;圖17是再現(xiàn)處理操作的流程圖;和圖18是刪除處理操作的流程圖。
實施發(fā)明的最佳方式實施例1參照附圖來描述根據(jù)本發(fā)明實施例1的記錄介質(zhì)。所描述的記錄介質(zhì)是SD存儲卡。由于能夠以高級保密性來存儲安全數(shù)據(jù),因此對于描述本發(fā)明的特征,SD存儲卡是理想的。
圖1A示出SD存儲卡100的外部視圖。SD存儲卡100為32.0毫米長、24.0毫米寬、及2.1毫米厚。這種郵票大小的尺寸允許SD存儲卡100易于被處理。在SD存儲卡100上提供九個連接器,以便于與設備相聯(lián)系,并且在SD存儲卡100的一側(cè)上提供保護開關101,該保護開關101允許用戶人工地決定是否能重寫已存儲的內(nèi)容。
圖1B示出SD存儲卡100的構(gòu)造層。如圖1B所示,SD存儲卡100包括(i)物理層,在該物理層中,內(nèi)容連同對應于所述內(nèi)容的權限管理信息和加密密鑰一起被安全地存儲,(ii)文件系統(tǒng)層,根據(jù)文件分配表(FAT、ISO/IEC 9293)來訪問該文件系統(tǒng)層,最小的可訪問單位是一個簇,以及(iii)應用層,在該應用層中,把包含受版權保護作品的加密內(nèi)容與安全數(shù)據(jù)一起存儲。
圖1C示出SD存儲卡100的物理層結(jié)構(gòu)。如圖1C所示,所述物理層包括系統(tǒng)區(qū)域1、隱藏區(qū)域2、受保護區(qū)域3、AKE處理單元4、AKE處理單元5、Ks解密單元6、Ks加密單元7以及用戶數(shù)據(jù)區(qū)域8。
系統(tǒng)區(qū)域1是存儲了介質(zhì)密鑰塊(MKB)和介質(zhì)ID的只讀區(qū)域,它們這二者都不能夠被重寫。與SD存儲卡100相連接的設備,能夠通過讀取所述MKB及介質(zhì)ID,并且利用所讀取的MKB和介質(zhì)ID,結(jié)合屬于該設備的裝置密鑰Kd正確地執(zhí)行預定操作,來獲得加密密鑰Kmu。
隱藏區(qū)域2存儲有效的加密密鑰Kmu,該加密密鑰在所述設備利用所讀取的MKB和介質(zhì)ID以及合法的裝置密鑰Kd正確地執(zhí)行了預定操作的情況下由所述設備獲得。
受保護區(qū)域3是SD存儲卡100中的非易失性存儲器(例如EEPROM)的一部分,并且存儲諸如加密密鑰、權限管理信息等等之類的安全數(shù)據(jù)。
驗證&密鑰交換(AKE)單元4和5實施所述設備與SD存儲卡100之間相互驗證的“詢問應答(challenge response)”形式,以便互相驗證SD 100及所述設備。如果相互驗證不成功,則終止處理,而如果相互驗證成功,則在SD存儲卡100與設備之間共用加密密鑰(即會話密鑰Ks)。
由設備所實施的驗證,包括以下三個階段第一詢問階段、第一應答階段和第一核實階段。在第一詢問階段中,所述設備產(chǎn)生一隨機數(shù),利用已獲得的加密密鑰Kmu來對所產(chǎn)生的隨機數(shù)進行加密,并且將加密過的隨機數(shù)作為詢問值A發(fā)送到SD存儲卡100。在第一應答階段中,SD存儲卡100使用在隱藏區(qū)域2中存儲的加密密鑰Kmu來對詢問值A進行解密,并且將所獲得的結(jié)果作為應答值B發(fā)送到所述設備。在第一核實階段中,所述設備利用其加密密鑰Kmu來對詢問值A進行解密,并且將解密結(jié)果與從SD存儲卡100所發(fā)送的應答值B進行比較。
由SD存儲卡100所處理的驗證還包括以下三個階段第二詢問階段、第二應答階段和第二核實階段。在第二詢問階段中,SD存儲卡100產(chǎn)生一隨機數(shù),利用存儲在隱藏區(qū)域2中的加密密鑰Kmu來對所產(chǎn)生的隨機數(shù)進行加密,并且將加密隨機數(shù)作為詢問值C發(fā)送到所述設備。在第二應答階段中,所述設備使用其加密密鑰Kmu來對詢問值C進行解密,并且將所獲得的結(jié)果作為應答值D發(fā)送到SD存儲卡100。在第二核實階段中,SD存儲卡100利用其加密密鑰Kmu來對詢問值C進行解密,并且將解密結(jié)果與從所述設備所發(fā)送的應答值D進行比較。
如果所述設備在相互驗證過程中使用無效的加密密鑰Kmu,則所述詢問值將不會與它們各自的應答值相匹配,并且因此就將終止該相互驗證過程。相反,如果相互驗證被確認,則AKE單元4和5利用詢問值A和C來執(zhí)行異或(XOR)操作,并且利用加密密鑰Kmu來對結(jié)果進行加密,以獲得會話密鑰Ks。
如果將加密數(shù)據(jù)從與SD存儲卡100連接的設備發(fā)送到SD存儲卡100,則Ks解密單元6就假定該加密數(shù)據(jù)是利用會話密鑰Ks來進行加密的安全數(shù)據(jù),并且利用會話密鑰Ks來對該加密數(shù)據(jù)進行解密。然后,Ks解密單元6假定作為解密過程的結(jié)果而獲得的安全數(shù)據(jù)是合法的,并且將所述解密安全寫入到受保護區(qū)域中。
當將讀取安全數(shù)據(jù)的命令從與SD存儲卡100連接的設備輸出到SD存儲卡100時,加密單元7利用會話密鑰Ks來對在受保護區(qū)域中存儲的安全數(shù)據(jù)進行加密,并且將加密后的安全數(shù)據(jù)輸出到發(fā)出該命令的設備上。
同受保護區(qū)域3一樣,用戶數(shù)據(jù)區(qū)域8是非易失性存儲器(例如EEPROM)的一部分。然而,與受保護區(qū)域3不同的是,設備訪問用戶數(shù)據(jù)區(qū)域8不需要相互驗證。加密內(nèi)容被存儲在用戶數(shù)據(jù)區(qū)域8中。如果從受保護區(qū)域3中讀取的加密密鑰是合法的,則它可用于對存儲在用戶數(shù)據(jù)區(qū)域8中的加密內(nèi)容進行解密。由于受保護區(qū)域3中數(shù)據(jù)的讀/寫要依賴于Ks加密單元7的加密和Ks解密單元6的解密,因而受保護區(qū)域3只有在與SD存儲卡100連接的設備正確實施AKE處理的情況下才能夠被合法地訪問。
接下來,描述根據(jù)實施例1的SD存儲卡中的文件和目錄結(jié)構(gòu)。
圖2示出SD存儲卡的用戶數(shù)據(jù)區(qū)域及受保護區(qū)域中的文件和目錄。實施例1的SD存儲卡用來記錄由內(nèi)容分發(fā)服務所分發(fā)的內(nèi)容。在所述給定示例中,所分發(fā)的內(nèi)容是電子出版物。圖2中的“SD_EPUB”示出將被記錄在SD存儲卡上的內(nèi)容是電子出版物。該電子出版物可以是日報或周刊。使用諸如上述的電子出版物,每天或每周都發(fā)行新的內(nèi)容,而就此同諸如音樂之類的內(nèi)容比較起來,這類內(nèi)容極其快地變得過時。而且,為了發(fā)行出版物,利用不同的加密密鑰來對出版物的每章、每節(jié)、每段或每頁進行加密,并且往往把這些加密部分中的每個部分作為單獨的加密內(nèi)容。如果把每個章、節(jié)、段或頁當作為單獨的內(nèi)容,那么一次所發(fā)行內(nèi)容的數(shù)量可能會在三十到四十之間。這意味著需要SD存儲卡來存儲的內(nèi)容的數(shù)量將很大。同樣地,將很頻繁地處理對實施例1的SD存儲卡中過時內(nèi)容的刪除和新內(nèi)容的寫入。
接下來,詳細描述受保護區(qū)域及用戶數(shù)據(jù)區(qū)域中的文件和目錄的結(jié)構(gòu)。如圖2右半邊所示,受保護區(qū)域中的目錄具有以下結(jié)構(gòu),即在頂端上是根目錄,在下面是SD_EPUB目錄,并且在所述SD_EPUB目錄中,置有主管理文件“SD_EPUB.MMG”以及多個安全數(shù)據(jù)存儲文件“EPUB001.KEY”、“EPUB002.KEY”、“EPUB003.KEY”、“EPUB004.KEY”和“EPUB005.KEY”。在圖2的左半邊上,示出了用戶數(shù)據(jù)區(qū)域中的目錄結(jié)構(gòu)。多個加密內(nèi)容存儲文件“Content001”、“Content002”、“Content003”和“Content004”置于用戶數(shù)據(jù)區(qū)域中的SD_EPUB目錄中,并且多個加密內(nèi)容存儲文件“Content005”、“Content006”和“Content007”置于SD_EPUB目錄底下的子目錄中。
現(xiàn)在描述所述安全數(shù)據(jù)存儲文件。安全數(shù)據(jù)存儲文件的文件名是“EPUB001.KEY”、“EPUB002.KEY”、“EPUB003.KEY”、“EPUB004.KEY”和“EPUB005.KEY”。文件名中的連續(xù)序號“001”、“002”、“003”等等,是用來清楚地標識位于受保護區(qū)域中的每個文件的文件序號。
在以下說明中,用“EPUBxxx.KEY”來指代由文件序號“xxx”標識的安全數(shù)據(jù)儲存文件。由文件序號“001”、“002”、“003”等等所標識的EPUBxxx.KEY文件,將被參考來使用文件名“EPUB001.KEY”、“EPUB002.KEY”、“EPUB003.KEY”等,且文件序號包括在其中。
圖3示出EPUBxxx.KEY的內(nèi)部結(jié)構(gòu)。如圖3所示,EPUBxxx.KEY包括n個Key&Rule Entry區(qū)域,和由n位組成的位圖。
所述多個Key&Rule Entry區(qū)域(即,#1、#2、#3、#4等等)被一對一分配給記錄在用戶數(shù)據(jù)區(qū)域里的多個加密內(nèi)容,并且這些區(qū)域是固定長度的區(qū)域,在這些區(qū)域中寫入了諸如加密密鑰、及權限管理信息之類的安全數(shù)據(jù),每一塊安全數(shù)據(jù)都與相應的內(nèi)容有關。權限管理信息也稱為應用狀態(tài)。例如,在管理關于內(nèi)容的版權的過程中,通過示出所述內(nèi)容的應用狀態(tài)來使用權限管理信息。由于根據(jù)實施例1的示范性內(nèi)容是電子出版物,因而這里的“應用”包括出版物的再現(xiàn)和復制。加密密鑰是用來對將被再現(xiàn)的內(nèi)容進行解密的信息。為了有效地管理內(nèi)容的版權,必須以高級保密性來存儲加密密鑰和權限管理信息,并且由于這個緣故,它們在Key&Rule Entry區(qū)域中是以加密形式被記錄的。為了輔助加密過程,加密密鑰與一塊權限管理信息的每種組合,都必須具有固定長度(例如,16字節(jié)、32字節(jié)、64字節(jié)),這要由所用的加密方法來決定。因為這種組合的長度是常數(shù),所以每個Key&Rule Entry區(qū)域的長度也必須是常數(shù)。
圖3中的序號(即,#1、#2、#3等等)都是EPUBxxx.KEY中的Key&RuleEntry區(qū)域的局部序號。圖4示出多個Key&Rule Entry區(qū)域與用戶數(shù)據(jù)區(qū)域中的多個內(nèi)容之間的對應關系。在圖4中,箭頭AK1至Ak7示出哪個內(nèi)容對應于哪個Key&Rule Entry區(qū)域。換句話說,這些箭頭示出Content001對應于存儲在Key&Rule Entry#1中的安全數(shù)據(jù)(箭頭AK1)、Content002對應于存儲在Key&Rule Entry#2中的安全數(shù)據(jù)(箭頭Ak2)、Content003對應于存儲在Key&Rule Entry#3中的安全數(shù)據(jù)(箭頭Ak3),諸如此類。如上所述,實施例1的SD存儲卡用來記錄所發(fā)行的電子出版物,因此,內(nèi)容以高頻率被刪除。結(jié)果,對應于所述內(nèi)容的Key&Rule Entry區(qū)域不斷地從“使用中”變成“未使用”。
EPUBxxx.KEY中的n位位圖,是用于輔助Key&Rule Entry區(qū)域管理的信息,并且包括與n個Key&Rule Entry區(qū)域一一對應的n個1位的標志。圖5示出EPUBxxx.KEY中的示范性位圖。在圖5中,在n位位圖中,從頭數(shù)第v位標志(1≤v≤n)示出了EPUBxxx.KEY中的第v個Key&Rule Entry區(qū)域的狀態(tài),所述第v個Key&Rule Entry區(qū)域是由局部序號“v”來標識的,并且稱為Key&Rule Entry#v。如果第v位標志是“1”,則這顯示了Key&Rule Entry#v是用安全數(shù)據(jù)加以寫入的,并且處于“使用中”。如果第v位標志是“0”,則這顯示了Key&Rule Entry#v不是用安全數(shù)據(jù)(即,還有要寫入的數(shù)據(jù)或已刪除的數(shù)據(jù))加以寫入的,并且處于“未使用”或“空”。因此,通過檢測最接近于所述n位位圖的頭的“0”標志,將此標志指定為第v位,并且將安全數(shù)據(jù)寫入到Key&Rule Entry#v中,從而以填充遍布多個文件而分散的空區(qū)域的方式來實施安全數(shù)據(jù)的寫入。
現(xiàn)在將詳細描述EPUBxxx.KEY中的n位位圖的示范性設置。在圖6中示出了這種示范性的位圖設置。在該示例中,五個文件(即,EPUB001.KEY到EPUB005.KEY),被存儲在受保護區(qū)域中。圖6中的陰影線空間標示出當前使用中的Key&Rule Entry區(qū)域,而空白空間標示出當前未使用的Key&Rule Entry區(qū)域。從圖6中可以看出,在EPUB001.KEY到EPUB004.KEY中,所有的Key&Rule Entry區(qū)域都處于使用中。在EPUB005.KEY中,除第三個和第五個(即,key&Rule Entry#3和Key&RuleEntry#5)以外的所有Key&Rule Entry區(qū)域都在使用中。
圖7示出當EPUB005.KEY中的Key&Rule Entry區(qū)域如圖6中所示時,EPUB005.KEY中位圖的設置。
由于當前未使用EPUB005.KEY中的Key&Rule Entry#3和Key&RuleEntry#5,因而EPUB005.KEY的n位位圖中的第三位和第五位都為“0”。當將把安全數(shù)據(jù)寫入到具有圖7中所示位圖的EPUB005.KEY中時,搜索最接近于該位圖的頭的“0”標志,將在該位圖中產(chǎn)生出第三位,并且由此將該安全數(shù)據(jù)寫入到對應于所述第三位的Key&Rule Entry#3中。這樣結(jié)束了對EPUBxxx.KEY文件的描述。接下來描述SD_EPUB.MMG文件。
SD_EPUB.MMG是主管理文件,并且具有包括m個1位的標志的位圖。M位對應于存儲在受保護區(qū)域中的EPUBxxx.KEY文件的總文件數(shù)。圖8示出SD_EPUB.MMG的位圖。在圖8中,從該位圖的頭數(shù)起第u位的標志畫陰影線。第u位的標志(1≤u≤m)示出了多個EPUBxxx.KEY文件當中第u個文件的狀態(tài)。所述第u個文件是由文件序號“u”來標識的EPUBxxx.KEY文件,也就是EPUB#u.KEY。所述兩個箭頭ty1和ty2,在圖8中示出了所述第u位的標志的兩個可能值(即“0”或“1”)。如果SD_EPUB.MMG的m位位圖中的第u位標志是“1”(箭頭ty1),則這就顯示出當前EPUB#u.KEY中的所有Key&Rule Entry區(qū)域都在使用中。在另一方面,如果SD_EPUB.MMG的m位位圖中的第u位標志是“0”(箭頭ty2),則這顯示出(i)EPUB#u.KEY文件具有至少一個未使用的Key&Rule Entry區(qū)域,或者(ii)EPUB#u.KEY文件它本身不存在。
因此,通過搜索最接近于SD_EPUB.MMG位圖的頭的“0”標志,將這個標志指定為第u位,并將安全數(shù)據(jù)寫入到對應于該第u位的EPUB#u.KEY中,以文件序號的升序來填充EPUBxxx.KEY文件中的未使用區(qū)域。
如上所述,如果SD_EPUB.MMG位圖中的第u位是“0”,則兩個狀態(tài)是可能的(i)EPUB#u.KEY具有至少一個未使用的Key&Rule Entry區(qū)域,或者(ii)EPUB#u.KEY它本身不存在。然而,我們?nèi)绾未_定適用于這兩個狀態(tài)中的哪一個呢?通過參考所述目錄的目錄項目(directory entry),容易地解決了這個問題,在所述目錄項目中設置有EPUB#u.KEY。如果EPUB#u.KEY存在,則任何人都將自然地期待查找在該目錄項目中由文件序號“u”來標識的文件名“EPUB#u.KEY”。如果這個文件名存在,則第u位的“0”標志顯示出EPUB#u.KEY具有至少一個未使用的Key&Rule Entry區(qū)域。相反,如果這個文件名不在所述目錄項目中,則第u位的“0”標志顯示出EPUB#u.KEY它本身不存在。照此,通過第u位的“0”標志所顯示出的這兩個可能的狀態(tài),可以僅僅通過搜索目錄項目以查找文件名“EPUB#u.KEY”來明顯加以區(qū)分。
現(xiàn)在將詳細描述SD_EPUB.MMG中位圖的示范性設置。該示范性設置與圖6中的相同。圖9示出當EPUB001.KEY到EPUB005.KEY如同圖6中所示的那樣時,SD_EPUB.MMG中位圖的設置。由于在受保護區(qū)域中存儲有五個文件,因而在位圖中比第五位高的那些位(即,第6位、第7位、第8位……)的標志全都為“0”,這顯示出對應于這些位的文件(即,EPUB006.KEY以及上述文件)都不存在。此外,由于當前包含在EPUB001.KEY到EPUB004.KEY中的所有Key&Rule Entry區(qū)域都在使用中,因而SDEPUB.MMG當中的位圖的第一位到第四位全都為“1”。由于當前EPUB005.KEY中的第三個和第五個Key&Rule Entry區(qū)域(即,Key&RuleEntry#3和Key&Rule Entry#5)都未使用,因而對應于epub005.KEY的SD_EPUB.MMG位圖中的第5位是“0”。在圖9的下半部中所示的示范性目錄項目設置中,提供文件EPUB001.KEY到EPUB005.KEY。這個目錄項目包含EPUB001.KEY到EPUB005.KEY的文件名和擴展名,還包含當安全數(shù)據(jù)被寫入到這些文件中時相應的日期/時間。由于文件EPUB006.KEY和上述文件都不存在,因而在所述目錄項目中沒有示出對應于這些文件的文件名。因此,通過參考目錄項目和SD_EPUB.MMG位圖這兩者,就可以迅速地確定EPUB005.KEY具有當前未使用的至少一個Key&RuleEntry區(qū)域。
通過搜索最接近于SD_EPUB.MMG位圖的頭的“0”標志,將此標志指定為第u位,并打開對應于該第u位的EPUB#u.KEY,僅僅需要對受保護區(qū)域的單一訪問以打開具有至少一個未使用Key&Rule Entry區(qū)域的EPUB005.KEY。
然而,仍有一個問題尚未解答如果必須在每次寫入新安全數(shù)據(jù)之后更新SD_EPUB.MMG位圖,那么這不會增加重寫半導體存儲卡的次數(shù)且從而縮短SD存儲卡的壽命嗎?這無疑是肯定的就SD存儲卡而論,可能的重寫次數(shù)限于幾十萬次,而且在記錄新安全數(shù)據(jù)之后更新SD_EPUB.MMG位圖減少了剩余的可能重寫次數(shù)。所以讓我們接著研究一下SD_EPUB.MMG位圖需要更新的實際次數(shù)。
如果例如每個EPUBxxx.KEY文件中的Key&Rule Entry區(qū)域的數(shù)目是十,則SD_EPUB.MMG位圖中的第u位僅僅需要保持在“0”值,不管EPUB#u.KEY中是否是有九個未使用的Key&Rule Entry區(qū)域還是只有一個未使用的Key&Rule Entry區(qū)域。換句話說,SD_EPUB.MMG中的位圖將不需要更新,直到所有這十個Key&Rule Entry區(qū)域都已被寫入數(shù)據(jù)為止。因此,對于EPUB#u.KEY中的每十次或更多次位圖更新而言,僅僅需要一次SD_EPUB.MMG位圖更新。同樣地,如果在每個EPUBxxx.KEY文件中有一百個Key&Rule Entry區(qū)域,那么對于EPUB#u.KEY中的一百次或更多次位圖更新而言,僅僅需要一次SD_EPUB.MMG位圖更新,繼而對于每兩百次或更多次n位位圖更新而言,僅僅需要一次m位位圖更新。結(jié)果,沒有過度地縮短在其中設置有SD_EPUB.MMG的區(qū)域的壽命。
現(xiàn)在將詳細描述用戶數(shù)據(jù)區(qū)域中的轉(zhuǎn)換表存儲文件。該轉(zhuǎn)換表存儲文件示出了哪個內(nèi)容對應于哪個Key&Rule Entry區(qū)域,或者更準確地說,它示出了每個內(nèi)容的標識號(例如,001、002等)與全局序號之間的一一對應,所述全局序號針對每個Key&Rule Entry區(qū)域計算后得出的。Key&Rule Entry區(qū)域的全局序號“s”是利用以下等式來計算的,其中“u”是EPUBxxx.KEY文件的文件序號,“v”是該Key&Rule Entry區(qū)域的局部序號,而“n”是EPUBxxx.KEY中Key&Rule Entry區(qū)域的數(shù)目。
等式1s=n·(u-1)+v圖10示出當EPUB005.KEY中的Key&Rule Entry#3(參看圖6)對應于Content001時,轉(zhuǎn)換表存儲文件的設置。由于在每個EPUB001.KEY到EPUB005.KEY中有十個Key&Rule Entry區(qū)域(即,n=10),n·(u-1)結(jié)果是10·(5-1)=40(如圖10中的※1所示)。而且,由于將把安全數(shù)據(jù)寫入到EPUB005.KEY中的Key&Rule Entry#3中,因而局部序號#v是“3”(即,v=3)。
因此,等式1是10·(5-1)+3=43。也就是說,Key&Rule Entry#3的全局序號#s計算出為“43”。由于在該示例中,Content001對應于Key&Rule Entry#3,因而把目錄當中存儲Content001的轉(zhuǎn)換表存儲文件設置成將Content001的標識號“001”顯示為Key&Rule Entry#3的全局序號“43”。因此,可以迅速地根據(jù)Content001的標識號“001”來追蹤EPUB005.KEY中的Key&Rule Entry#3。圖10中的箭頭vy1到vy4示出這樣的過程,即根據(jù)內(nèi)容標識號、由所述過程來指定EPUBxxx.KEY文件中的Key&Rule Entry區(qū)域。如圖10中的※2所示,全局序號“43”(箭頭vy2)產(chǎn)生文件序號“5”(箭頭vy3)和局部序號“3”(箭頭vy4),這樣使得EPUB005.KEY中的Key&Rule Entry#3被訪問。
在上述實施例1中,SD_EPUB.MMG中的m位位圖示出多個EPUBxxx.KEY文件中的哪一個具有未使用的Key&Rule Entry區(qū)域。因此,即使遍布多個文件分散有未使用區(qū)域,但通過參考SD_EPUB.MMG中的位圖,也可以迅速指定具有“空”區(qū)域的文件。此外,由于僅僅需要兩個文件訪問操作來指定具有未使用Key&Rule Entry區(qū)域的EPUB#u.KEY(也就是說,一次是打開SDEPUB.MMG,而再一次是打開EPUB#u.KEY),訪問SD存儲卡的設備不必為了指定EPUB#u.KEY而打開多個EPUBxxx.KEY文件,從而這樣就能夠縮短寫入新內(nèi)容所需的時間。
實施例2在實施例2中,確定將要在單一文件中提供的Key&Rule Entry區(qū)域的數(shù)目。將EPUBxxx.KEY文件的數(shù)目(即,“m”)和Key&Rule Entry區(qū)域的數(shù)目(即,“n”)設置為數(shù)值,這些數(shù)值符合以下等式,其中“size”是Key&Rule Entry區(qū)域的大小,而“SC”是簇的大小。
等式2SC≥n×size+n等式3SC≥m在等式2中,“n×size”是n個Key&Rule Entry區(qū)域在EPUBxxx.KEY中所占據(jù)的大小,而“n”是位圖在EPUBxxx.KEY中所占據(jù)的大小。這兩個值的總和必須小于或等于簇的大小的事實表明將EPUBxxx.KEY構(gòu)造成由單個簇形成的文件。在等式3中,“m”值是SD_EPUB.MMG中位圖的大小。“m”必須小于或等于簇的大小的事實表明也將SD_EPUB.MMG構(gòu)造成由單個簇形成的文件。
如果設置“m”和“n”以便符合上述等式,則就可以將實施例1中所述的SD_EPUB.MMG和多個EPUBxxx.KEY文件中每一個構(gòu)造成由單個簇形成的文件。圖11A將SD_EPUB.MMG和多個EPUBxxx.KEY文件顯示為其每一個都是由單個簇形成的文件。在圖11A中,示出六個簇(即,Cluster001到Cluster006)。在Cluster001中記錄這六個簇中的SD_EPUB.MMG,而在Cluster002到Cluster006中分別記錄EPUB001.KEY到EPUB005.KEY。換句話說,給每個簇分配單個文件。
接著,人們?nèi)绾未_定如下值,即將一個簇的大小設置成上述的值。簇是文件系統(tǒng)層中管理區(qū)域的單位,而單個文件通常占據(jù)單個簇。SD存儲卡的物理層中的最小可寫單元,往往是預先決定的。這個最小單元被稱為“可擦除塊”。在下文的描述中,假設將由32個扇區(qū)組成的可擦除塊(16K字節(jié))作為一個例子。如果將SD存儲卡構(gòu)造成包括可擦除塊,將要被寫入數(shù)據(jù)的每個可擦除塊必須在被寫入以前恢復空白狀態(tài)。同樣,在確定簇大小的過程中,簇與可擦除塊之間的關系是一個重要因素。
假定這個事實,根據(jù)實施例2的單個簇的大小被設置為單個可擦除塊大小的1/x。圖11B示出可擦除塊與一個或多個簇之間的關系。將簇大小確定為單個可擦除塊的16K字節(jié)的1/x(即,32個扇區(qū)的1/x)。圖11C示出當x=1時的簇。圖11D示出當x=16時的簇。
在實施例2中,如上所述,將簇的大小確定為可擦除塊的1/x大小,確定Key&Rule Entry區(qū)域的數(shù)目(“n”)和EPUBxxx.KEY文件的數(shù)目(“m”),以便將每個文件(即,SD_EPUB.MMG或EPUBxxx.KEY)包含在單個簇之內(nèi)。因此,當EPUBxxx.KEY文件或SD_EPUB.MMG需要更新時,使需要被重寫的可擦除塊的數(shù)目最小化,并且沒有過度地縮短可擦除塊的壽命。
實施例3在實施例3中所公開內(nèi)容是這樣一種技術,即當在卷管理信息方面有變化時,用來防止將單個簇置于跨在兩個可擦除塊的邊界之間的位置上。
圖12A示出受保護區(qū)域的格式化。由于受保護區(qū)域是利用文件系統(tǒng)加以管理的,因而在該受保護區(qū)域的開頭提供卷管理信息的區(qū)域,并且緊跟所述卷管理信息之后提供文件區(qū)域。所述卷管理信息遵循ISO/IEC9293,并且是由主引導記錄&分區(qū)表扇區(qū)、分區(qū)引導扇區(qū)、備份文件分配表(FAT)和根目錄項目(entry)形成的。所述備份FAT對應于多個簇,所述多個簇包含在受保護區(qū)域中,并且顯示出單獨簇之間的鏈接。如上所述,緊接在卷管理信息之后放置文件區(qū)域。在這個文件區(qū)域中提供實施例中所述的SD_EPUB.MMG和多個EPUBxxx.KEY文件。如圖12A所示,圖11A中的多個簇(即,存儲SD_EPUB.MMG、EPUB001.KEY、EPUB002.KEY、EPUB003.KEY……的簇001、002、003……)被存儲在所述文件區(qū)域中。
由于備份FAT是在卷管理信息方面導致變化的原因,因而現(xiàn)在將對它們進行詳細描述。所述備份FAT包括兩個FAT,其中的每一個都遵循ISO/IEC 9293。每個FAT都由多個FAT項目(entries)形成的,這些FAT項目與所述簇一一對應。每個FAT項目顯示了相對應的簇是“使用中”還是“未使用”。如果是“使用中”,則FAT項目就顯示與使用中的簇有關系的簇的簇號。如果是“未使用”,則FAT項目就顯示“0”值。
接下來,描述在卷管理信息方面導致變化的原因。在將數(shù)據(jù)存儲在受保護區(qū)域中的過程期間,對于用戶或記錄設備而言,存在確定受保護區(qū)域數(shù)據(jù)大小的許多時機。如果受保護區(qū)域的大小隨用戶請求而變化,則包含在所述受保護區(qū)域中的簇的數(shù)目據(jù)此而增加或減少。如果簇的數(shù)目增加或減少,則對應于這些簇的由FAT項目形成的FAT的大小也要增加或減少,這將導致包含了所述FAT的卷管理信息的大小的增加或減少。如果所述卷管理信息的大小發(fā)生變化,則跟隨所述卷管理信息的文件區(qū)域的起始地址也將發(fā)生變化。由于文件區(qū)域的起始地址隨受保護區(qū)域大小的變化而變化,因而包含在所述文件區(qū)域中的單獨簇的起始地址當然也將隨受保護區(qū)域大小的變化而變化。
如果簇的起始地址隨受保護區(qū)域大小的變化而變化,則有可能會將所述簇置于跨在兩個可擦除塊之間的邊界的位置上,或者有可能會將所述卷管理信息的末尾部分與位于所述文件區(qū)域開頭部分的簇置于相同的可擦除塊中。
為了防止這種不希望的后果出現(xiàn),在實施例3中提出一種改良措施,該措施對實施例2中所提到的改良措施進行了補充。
在此第二種改良措施中,將相當于y個簇的區(qū)域分配給位于受保護區(qū)域中的卷管理信息的存儲器。圖12B示出在s個可擦除塊中、從總共s·x個簇當中選出的y個等效簇,所述可擦除塊是分配給卷管理信息存儲器的。通過把y個簇的等效簇分配到卷管理信息的存儲器中,s個可擦除塊的整個內(nèi)部區(qū)域的y/x部分,將被卷管理信息所占據(jù),而所述內(nèi)部區(qū)域中剩余的(s·x-y)/x部分,將被分配作為文件區(qū)域。
通過將卷管理信息的大小設置成相當于y個簇的區(qū)域,剛好將卷管理信息以及s·x-y個簇置于s個可擦除塊內(nèi),而且不會將這些簇置于跨在兩個可擦除塊之間的邊界的位置上。
圖12C示出當x=1時,對卷管理信息存儲器的簇的分配,而圖12D示出當x=16時,到卷管理信息存儲器的簇的分配。如圖12C和12D所示,通過設置卷管理信息,剛好將一個或多個簇置于每個可擦除塊內(nèi),這樣使得沒有一個簇被置于跨在兩個可擦除塊之間的邊界的位置上。
圖13示出在大小調(diào)整之后的受保護區(qū)域的設計詳圖。在圖13中,分區(qū)管理區(qū)域存儲主引導記錄&分區(qū)表扇區(qū),而系統(tǒng)區(qū)域存儲分區(qū)引導扇區(qū)、備份FAT以及根目錄項目。在圖13中,“NOM”是分區(qū)管理區(qū)域的大小,“RSC”是分區(qū)引導扇區(qū)的大小,“Size1×2”是備份FAT的大小,“RDE”是根目錄項目的大小,“TS”是扇區(qū)的總計大小,而“SC”是包含在單個簇中的扇區(qū)的數(shù)目。
在圖13中,包含在備份FAT中的FAT的Size1依TS值而定。Size1是利用以下公式11來計算的公式11FAT12Size1=((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512FAT16Size1=((((TS-(RSC+RDE))/SC)+2)×16/8)+511)/512FAT12是在其中每個FAT項目都分配有12字節(jié)大小的FAT,而FAT16是在其中每個FAT項目都分配有16字節(jié)大小的FAT。
在公式11中,(TS-RSC+RDE)/SC是存儲文件區(qū)域所需的簇的數(shù)目。FAT的字節(jié)長度是通過將指示符(indicator)“2”加上(TS-(RSC+RDE))/SC、再乘以FAT項目的字節(jié)長度(即12或16)、然后再除以“8”來計算得到的。最后,存儲單個FAT所需的扇區(qū)的數(shù)目是通過將511字節(jié)的偏移量值加上(((TS-(RSC+RDE))/SC)+2)×12/8)的結(jié)果、再除以512字節(jié)的扇區(qū)長度來計算得到的。
在圖13中需特別注意的是“NOM”值,該值是所述分區(qū)管理區(qū)域的大小。將NOM設置成“SC+α”的值,以確保將所述分區(qū)管理區(qū)域和系統(tǒng)區(qū)域存儲在不同的簇中。
“SC+α”中的“α“值是通過將(RSC+RDE+Size1×2)除以SC、再減去由SC產(chǎn)生的結(jié)果來設置的。這確保了RSC、Size1×2和RDE的總和是SC的整數(shù)倍數(shù)。同樣,NOM是利用公式12來計算的。
公式12NOM=(SC-(RSC+RDE+Size1×2)/SC)+SC照此,通過確定所述α值,分區(qū)管理區(qū)域和文件區(qū)域均勻地被包含在多個可擦除塊內(nèi)。而且,系統(tǒng)區(qū)域與文件區(qū)域之間的邊界與兩個可擦除之間的邊界相一致,這樣使得所有后續(xù)的簇之間的邊界也將與兩個可擦除塊之間的邊界相一致。
在圖13中,SD_EPUB.MMG、EPUB001.KEY和EPUB002.KEY分別記錄在Cluster001、Cluster002和Cluster003中。由于如上所述x=1,因而簇001到003分別對應于可擦除塊e1到e3。如果讀取具有未使用Key&Rule Entry的SD_EPUB.MMG和EPUB001.KEY,則僅僅需要讀取包含這兩個文件的兩個可擦除塊e1和e2。同樣,如果將要重寫具有未使用Key&Rule Entry的SD_EPUB.MMG和EPUB001.KEY,則僅僅需要重寫包含這兩個文件的兩個可擦除塊e1和e2。由于將需要讀或?qū)懙目刹脸龎K的數(shù)目(即,兩個)減到最小,因而沒有過度地縮短非易失性存儲器的壽命。
如上所述,在實施例3中,即使在卷管理信息的大小方面有變化,也可以將簇之間的邊界設置成與可擦除塊之間的邊界相一致,這樣從而能夠在很短一段時間內(nèi)完成簇的重寫。而且,也可以減少可擦除塊需要擦除的次數(shù)。
實施例4相對于實施例1到3中公開的SD存儲卡而言,實施例4涉及一種用于執(zhí)行記錄處理過程和再現(xiàn)處理過程的設備。為了方便起見,執(zhí)行這些處理操作的設備將在下文中稱為“記錄設備”。所述記錄設備例如可以是如圖14A所示的一臺通用音頻設備,或是一臺諸如圖14B所示的計算機這樣的信息設備。實施例4的記錄設備其功能是將加密內(nèi)容和與加密內(nèi)容有關的安全數(shù)據(jù)寫入到SD存儲卡中。加密內(nèi)容的再現(xiàn)限于預定的次數(shù),并且包含在安全數(shù)據(jù)中的是加密密鑰以及許可的再現(xiàn)次數(shù)信息,所述加密密鑰用于對所述加密內(nèi)容進行解密,而再現(xiàn)序號信息示出可以對內(nèi)容進行再現(xiàn)的許可次數(shù)。現(xiàn)在將對能讀/寫加密密鑰和許可再現(xiàn)次數(shù)信息的記錄設備的內(nèi)部結(jié)構(gòu)進行描述。圖15示出根據(jù)實施例4的記錄設備的內(nèi)部結(jié)構(gòu)。圖15中所示的記錄設備包括內(nèi)部存儲器10、瀏覽器單元11、安全處理單元12、解密單元13、再現(xiàn)單元14,和控制單元15。
內(nèi)部存儲器10是動態(tài)隨機存取存儲器(DRAM)或同步動態(tài)隨機存取存儲器(SDRAM),其存儲從SD存儲卡的受保護區(qū)域中讀取的SD_EPUB.MMG和/或EPUB#u.KEY。如果重寫EPUB#u.KEY中的Key&Rule Entry區(qū)域或者更新EPUB#u.KEY中位圖的設置,則在內(nèi)部存儲器10中讀取EPUB#u.KEY,并且處理重寫或設置變化,在此之后將已更新的EPUB#u.KEY從內(nèi)部存儲器10寫回到SD存儲卡的受保護區(qū)域中。同樣,如果SD_EPUB.MMG中的位圖設置將被改變,則在內(nèi)部存儲器10中讀取SD_EPUB.MMG并且處理設置變化,在此之后將已更新的SD_EPUB.MMG從內(nèi)部存儲器10寫回到受保護區(qū)域中。EPUB#u.KEY和SD_EPUB.MMG的重寫是在記錄設備的內(nèi)部存儲器10中進行的,這是因為DRAM或SDRAM的存取速度顯著大于SD存儲卡中存儲器的存取速度,從而使得照此來更新文件甚至比直接地更新SD存儲卡更加地有效。從SD存儲卡讀取EPUB#u.KEY和SD_EPUB.MMG文件并將這些文件置于內(nèi)部存儲器10中的過程,稱為“文件打開過程”。如果所述EPUB#u.KEY和SD_EPUB.MMG文件不存在,則所述記錄設備就執(zhí)行文件創(chuàng)建過程,從而在內(nèi)部存儲器10中創(chuàng)建這些文件。
瀏覽器單元11,除了顯示存儲在SD存儲卡的文件區(qū)域中的內(nèi)容之外,其功能還在于從與將被再現(xiàn)或刪除的目標內(nèi)容相關的用戶那里接收指令。用戶指令的接收是通過檢測用戶對包含作為記錄設備的一部分的按鈕、按鍵、觸摸板或類似的指向設備的操作而實施的。
安全處理單元12在進行相對于受保護區(qū)域的任何數(shù)據(jù)讀或?qū)懼?,先利用SD存儲卡中的AKE處理單元4、AKE處理單元5、Ks解密單元6和Ks加密單元7,來執(zhí)行相互驗證過程。如果不能核實相互驗證,則立即取消記錄設備對數(shù)據(jù)讀/寫的啟動。在存儲在SD存儲卡的受保護區(qū)域中的安全數(shù)據(jù)能被讀或?qū)懼?,對記錄設備和SD存儲卡彼此互相驗證的需求,應該考慮到將被保存的安全數(shù)據(jù)的保密性。在相互驗證的前提條件的基礎上由安全處理單元12進行的數(shù)據(jù)寫或讀,分別稱為“安全寫”和“安全讀”。
解密單元13使用從內(nèi)部存儲器10那里讀取的Rule&Key Entry區(qū)域當中具有的加密密鑰,以解密要再現(xiàn)的已加密內(nèi)容。
再現(xiàn)單元14再現(xiàn)解密后的內(nèi)容。再現(xiàn)單元14還測量從再現(xiàn)開始以來的時間,并且如果再現(xiàn)時間超過一預定閾值則通知控制單元15。所述閾值等于單次內(nèi)容再現(xiàn)所必需的最小時間周期。通過通知控制單元15已經(jīng)超過此時間周期,再現(xiàn)單元14提示控制單元15將許可再現(xiàn)次數(shù)減一。
控制單元15包括處理器(CPU)和以可執(zhí)行格式存儲程序的ROM,并且控制單元15功能是執(zhí)行相對于SD存儲卡的寫處理、再現(xiàn)(即,讀)處理和刪除處理?,F(xiàn)在將按陳述順序來描述這些處理操作。圖16是包含在寫處理中的操作的流程圖。所述寫處理是由控制單元15中的CPU來執(zhí)行的,所述控制單元執(zhí)行由圖16流程圖中所示處理操作形成的程序。流程圖中的步驟S1到S4涉及新內(nèi)容的寫入。在步驟S1中,控制單元15選擇用戶數(shù)據(jù)區(qū)域中的目錄以提供新的內(nèi)容。在步驟S2中,控制單元15將內(nèi)容的ID號確定為“#t”。在步驟S3中,控制單元15打開在其文件名中具有“#t”的文件(即Content#t)。在步驟S4中,控制單元15對所述內(nèi)容進行加密,并將所述加密內(nèi)容寫入到已打開的Content#t文件中。
步驟S5到S20涉及將與新內(nèi)容有關的安全數(shù)據(jù)(例如,加密密鑰、許可再現(xiàn)次數(shù))寫入到受保護區(qū)域中。這些步驟中的S5到S16涉及確定將受保護區(qū)域中多個EPUBxxx.KEY文件的哪一個作為目標而寫入安全數(shù)據(jù)。在步驟S5中,控制單元15安全地將SD_EPUB.MMG從SD存儲卡的受保護區(qū)域中讀到記錄設備的內(nèi)部存儲器10當中。在步驟S6中,控制單元15判斷在內(nèi)部存儲器10當中存儲的SD_EPUB.MMG的m位位圖中的所有位是否為“1”。如果″是″,則控制單元15就終止寫處理。如果“否”(即,“0”標志),則進入步驟S7。
在步驟S7中,控制單元15檢測最接近于SD_EPUB.MMG中位圖的頭的“0”位,以將其作為第u位。在步驟S8中,控制單元15判斷是否存在對應于所述第u位的EPUB#u.KEY文件。如果“否”則進入步驟S9,而如果“是”則進入步驟S10。在步驟S9中,控制單元15在內(nèi)部存儲器10中創(chuàng)建EPUB#u.KEY文件,并且前進至步驟S11。在步驟S10中,控制單元15安全地將EPUB#u.KEY從受保護區(qū)域讀到記錄設備中的內(nèi)部存儲器10當中,并且前進至步驟S11。
在步驟S11中,控制單元15判斷存儲在內(nèi)部存儲器10當中的EPUB#u.KEY中n位位圖的所有位是否都為“1”。在步驟S11中的判定是作為防止不太可能錯誤的防護設施來執(zhí)行的,在所述錯誤中,不管SD_EPUB.MMG位圖中的第u位是不是EPUB#u.KEY中的未使用Rule&KeyEntry區(qū)域,該第u位皆為“0”。在步驟S11中,如果“是”則進入步驟S12,而如果“否”則進入步驟S13。在步驟S12中,控制單元15檢測SD_EPUB.MMG位圖中后續(xù)的“0”標志,以將其作為第u位,并且回到步驟S8。如果需要的話,重復步驟S10到S12,直到檢測出具有帶“0”標志的位圖的EPUB#u.KEY文件,在此之后控制單元15繼續(xù)執(zhí)行步驟S13。
步驟S13到S16涉及將安全數(shù)據(jù)寫入到未使用的Rule&Key Entry區(qū)域中。在步驟S13中,控制單元15檢測最接近于存儲在內(nèi)部存儲器10當中的EPUB#u.KEY文件中位圖的頭的“0”標志,以將其作為第v位。在步驟S14中,控制單元15將與新內(nèi)容有關的加密密鑰和許可再現(xiàn)次數(shù)寫入到EPUB#u.KEY中對應于所述第v位的Rule&Key Entry區(qū)域(即Rule&Key Entry#v)中。在步驟S15中,控制單元15將EPUB#u.KEY位圖中的第v位設置為“1”。在步驟S16中,控制單元15安全地將已更新的EPUB#u.KEY文件從記錄設備的內(nèi)部存儲器10寫入到SD存儲卡的受保護區(qū)域中。
這里,有可能的是在步驟S15中將第v位設置為x可能會導致EPUB#u.KEY位圖中的所有位都變成“1”。盡管這種概率是1/(n-1)或者更大,但它也還留有可能性,因此在步驟S17中,控制單元15判斷現(xiàn)在EPUB#u.KEY位圖中的所有位是否都為“1”。如果“是”則進入步驟S18,而如果“否”則進入步驟S20。
在步驟S18中,控制單元15將存儲在內(nèi)部存儲器10當中的SD_EPUB.MMG中位圖的第u位設置為“1”。在步驟S19中,控制單元15安全地將已更新的SD_EPUB.MMG文件從內(nèi)部存儲器10寫入到受保護區(qū)域中。在步驟S20中,控制單元15計算Key&Rule Entry區(qū)域的全局序號,其中所述安全數(shù)據(jù)是通過把文件序號#u和局部序號#v應用到等式#s=(n-1)·#u+#v而被寫入到所述key&Rule Entry區(qū)域中的,所述文件序號#u和局部序號#v是根據(jù)上述操作來確定的。在步驟S21中,控制單元15將如下信息寫入到目錄中的轉(zhuǎn)換表存儲文件當中,在所述信息中內(nèi)容序號#t對應于全局序號#s,在所述目錄中已經(jīng)記錄了新的內(nèi)容。這樣,相對于所述SD存儲卡就完成了新內(nèi)容的寫處理。
當給現(xiàn)存的EPUB#u.KEY文件中的未使用Key&Rule Entry區(qū)域的選擇賦予優(yōu)先權以供寫入新的安全數(shù)據(jù)時,將尤其要以諸如EPUB001.KEY和EPUB002.KEY等具有低文件序號的EPUBxxx.KEY文件為目標,從而造成對應于這些文件的可擦除塊壽命的縮短。這種不希望有的效果能利用以下方法加以克服??蓪⒁槐砀翊鎯υ赟D存儲卡中,在該SD存儲卡中,邏輯地址對應于的提前分配給每個可擦除塊的物理地址,并且可以經(jīng)由這個邏輯地址來管理用于確定寫入的EPUBxxx.KEY文件的目標。這釋放了相對于諸如EPUB001.KEY和EPUB002.KEY等具有低文件序號的文件的可擦除塊的分配。也就是說,通過重寫表,可以改變可擦除塊的分配,從而防止任何一個可擦除塊的壽命被不必要地縮短,甚至當寫處理針對于諸如EPUB001.KEY和EPUB002.KEY等具有低文件序號的文件時也是如此。在描述了新內(nèi)容的寫處理后,現(xiàn)在將描述重點轉(zhuǎn)移到存儲量的再現(xiàn)處理上。
圖17是對存儲在SD存儲卡的用戶數(shù)據(jù)區(qū)域中的內(nèi)容進行再現(xiàn)所涉及的處理操作的流程圖。所述內(nèi)容的再現(xiàn)是通過控制單元15中的CPU執(zhí)行計算機程序來實現(xiàn)的,所述計算機程序包括圖17的流程圖中所示的操作。通過假定經(jīng)由瀏覽器單元11進行的用戶操作指導內(nèi)容的再現(xiàn),來對所述再現(xiàn)處理作出描述,所述內(nèi)容是在用戶數(shù)據(jù)區(qū)域中的其中一個目錄中提供的。在步驟S31中,控制單元15獲得對應于將根據(jù)目錄的轉(zhuǎn)換表存儲文件被再現(xiàn)的內(nèi)容的Key&Rule Entry區(qū)域的全局序號,在所述目錄中提供了所述內(nèi)容。在步驟S32中,控制單元15分別獲得滿足等式#s=(n-1)·#u+#v的EPUBxxx.KEY和Key&Rule Entry區(qū)域的文件序號#u和局部序號#v。在步驟S33中,控制單元15安全地將EPUB#u.KEY從受保護區(qū)域讀到內(nèi)部存儲器10中。在步驟S34中,控制單元15判斷存儲在內(nèi)部存儲器10當中的EPUB#u.KEY中位圖的第v位是否為“1”。盡管在這里所述轉(zhuǎn)換表存儲文件明顯地顯示出對應所述第v位的Key&RuleEntry#v是否在使用中,但是將步驟S34作為防止不太可能的錯誤的防護設施來執(zhí)行的,在所述錯誤中當前未使用Key&Rule Entry#v。如果步驟S34是“否”(即第v位=“0”),控制單元15終止所述再現(xiàn)處理。如果步驟S34是“是”(即,第v位=“1”),則進入步驟35到39涉及實際的內(nèi)容再現(xiàn)。
在步驟S35中,控制單元15從Key&Rule Entry#v獲得加密密鑰,并且開始利用讀出的加密密鑰進行解密以及再現(xiàn)解密后的內(nèi)容。在步驟S37中,控制單元15經(jīng)過等待預定時間周期,然后當已經(jīng)經(jīng)過預定時間周期后就進行步驟S38。在步驟S38中,控制單元15將Key&Rule Entry#v中的許可再現(xiàn)次數(shù)減一。在步驟S39中,控制單元15安全地將已更新的EPUB#u.KEY文件寫入到受保護區(qū)域中。就此,完成了再現(xiàn)處理的描述?,F(xiàn)在描述轉(zhuǎn)移到刪除過程。
圖18是刪除存儲在SD存儲卡的用戶數(shù)據(jù)區(qū)域當中的內(nèi)容所涉及的處理操作的流程圖。所述刪除處理是通過讓CPU執(zhí)行計算機程序來執(zhí)行的,所述計算機程序包括圖18流程圖中所示的處理操作。通過假定按照經(jīng)由瀏覽器單元11的用戶操作指導刪除在SD存儲器卡的用戶數(shù)據(jù)區(qū)域中的其中一個目錄所提供的內(nèi)容,將對所述刪除處理進行描述。在步驟S51中,控制單元15從目錄項目中刪除文件#t,所述文件#t包含將被刪除的內(nèi)容,并且將file #t占據(jù)的簇返回為空。在步驟S52中,控制單元15獲得對應于將被刪除的內(nèi)容的Key&Rule Entry區(qū)域的全局序號。在步驟S53中,控制單元15分別獲得滿足等式#s=(n-1)·#u+#v的EPUBxxx.KEY文件和Key&Rule Entry區(qū)域的文件序號#u和局部序號#v。在步驟S54中,控制單元15安全地將EPUB#u.KEY從受保護區(qū)域讀到內(nèi)部存儲器10中。
在步驟S55中,控制單元15判斷存儲在內(nèi)部存儲器10當中的EPUB#u.KEY中位圖的第v位是否為“1”。盡管在這里轉(zhuǎn)換表存儲文件明顯地顯示出對應于所述第v位的Key&Rule Entry區(qū)域(即Key&RuleEntry#v)是否在使用中,但步驟S55是作為防止不太可能的錯誤而作為防護設施來執(zhí)行的,在所述錯誤中實際上Key&Rule Entry#v是未使用的。如果步驟S55是“否”,則控制單元15終止刪除處理。如果步驟S55是“是”,則進入步驟S56。
步驟S56到S58涉及Key&Rule Entry#v的實際刪除。在步驟S56中,控制單元15將一隨機數(shù)寫入到存儲在內(nèi)部存儲器10當中的EPUB#u.KEY中的Key&Rule Entry#v中。在步驟S57中,控制單元15將EPUB#u.KEY位圖中的第v位設置為“0”。在步驟S58中,控制單元15安全地將已更新的EPUB#u.KEY文件從內(nèi)部存儲器10寫入到受保護區(qū)域中。
這里,存在這樣的可能性,即在步驟S57中,將EPUB#u.KEY位圖中的第v位設置為“0”可能會造成EPUB#u.KEY位圖中的所有位變成“0”。在步驟S59中,控制單元15判斷現(xiàn)在EPUB#u.KEY位圖中的所有位是否都為“0”。在步驟S59中,如果“是”則進入步驟S60,而如果“否”則進入步驟S61。由于這種刪除減少了受保護區(qū)域中EPUBxxx.KEY文件的數(shù)目。如果在受保護區(qū)域中創(chuàng)建新的EPUBxxx.KEY文件,則將給所述新文件分配已刪除的EPUB#u.KEY文件的文件序號(即“#u”)。就此提供了文件序號的再使用。簡而言之,由于EPUBxxx.KEY文件的刪除而造成的文件序號序列中所空開的間隔,可以通過重用已刪除文件的文件序號來消除。
此外,如果EPUB#u.KEY位圖中的第v位被更新為顯示“0”值,則就存在還將需要更新SD_EPUB.MMG位圖的至少1/(n-1)的概率。換句話說,如果EPUB#u.KEY中的所有“1”標志恢復成作為在步驟S57中的設置變化而造成具有單個“0”標志的位圖,則所述SD_EPUB.MMG位圖將需要進行更新,以便表現(xiàn)出這種事實。因此,在步驟S61中,控制單元15安全地將SD_EPUB.MMG從受保護區(qū)域讀到內(nèi)部存儲器10中。在步驟S62中,控制單元15判斷內(nèi)部存儲器10中SD_EPUB.MMG位圖中的第u位是否為“1”。如果“是”則進入步驟S63,而如果“否”則進入步驟S65。
步驟S63和S64涉及SD_EPUB.MMG的更新。在步驟S63中,控制單元15將SD_EPUB.MMG位圖中的第u位設置為“0”。在步驟S64中,控制單元15安全地將存儲在記錄設備的內(nèi)部存儲器10中的已更新的SD_EPUB.MMG文件寫入到受保護區(qū)域中。
在步驟S65中,控制單元15從轉(zhuǎn)換表存儲文件中刪除已刪除內(nèi)容的標識號#t,以及刪除對應于已刪除內(nèi)容的Key&Rule Entry區(qū)域的全局序號。就此完成了所述刪除處理。
在如上所述的實施例4中,只有在現(xiàn)存EPUBxxx.KEY文件中的所有Key&Rule Entry區(qū)域已被寫入之后才創(chuàng)建新的EPUBxxx.KEY文件,這樣從而避免了不必要地創(chuàng)建新的EPUBxxx.KEY文件。照此,將EPUBxxx.KEY文件的數(shù)目減小到最少,要考慮到長期將被維護的SD存儲卡上所存儲內(nèi)容的有效組織。由于受保護區(qū)域往往占據(jù)SD存儲卡上總可用區(qū)域的相對少的百分比,因而物理限制在于可能被記錄在其中的文件數(shù)目。同樣,在實施例4中,所述記錄設備寫數(shù)據(jù)同時將SD存儲卡的受保護區(qū)域中的EPUBxxx.KEY文件數(shù)目最小化的能力,提供了使用受保護區(qū)域的最有用且最有效的方式。
在本發(fā)明的實施例1到4中所公開的數(shù)據(jù)結(jié)構(gòu)和各種處理操作,是以下列國際專利申請公開出版物為基準的,并且可以通過參考這些參考文獻來獲得相關技術問題的更詳細的說明WO 00/65602(02/11/2000)WO 00/74054(07/12/2000)WO 00/74059(07/12/2000)WO 00/74060(07/12/2000)WO 01/16821(08/03/2001)變形雖然已經(jīng)根據(jù)上述實施例對本發(fā)明作了描述,但是這些實施例僅僅是目前可想到的本發(fā)明最佳方式的示例。因此,在上述公開內(nèi)容的范圍內(nèi),可以允許本發(fā)明的變形。下面給出了示范性的變形(A)至(J)。
(A)在實施例1中,Rule&Key Entry區(qū)域的最大數(shù)目是通過等式nm來確定的,其中“n”是單個EPUBxxx.KEY文件中Rule&Key Entry區(qū)域的數(shù)目,而“m”是SD_EPUB.MMG位圖中位的數(shù)目。這個最大數(shù)目是以在受保護區(qū)域中存在一個SD_EPUB.MMG文件為基礎的。因此,最大數(shù)目可以通過增加SD_EPUB.MMG文件的數(shù)目來增加。例如,如果在受保護區(qū)域中提供兩個SD_EPUB.MMG文件,則Rule&Key Entry區(qū)域的最大數(shù)目變?yōu)椤?·n·m”。
(B)在實施例1中,將顯示EPUBxxx.KEY文件狀態(tài)的m位位圖置于SD_EPUB.MMG當中。然而,這個位圖可能處于第一EPUBxxx.KEY文件中(例如,EPUB001.KEY)。換句話說,實施例1需要兩次文件訪問操作(即,一次是打開SD_EPUB.MMG,而再一次是打開具有未使用的Rule&KeyEntry區(qū)域的EPUB#u.KEY),但是這個變形卻考慮到將只通過打開EPUB001.KEY而確定的EPUBxxx.KEY文件的狀態(tài)。如果在EPUB001.KEY中存在未使用的Rule&Key Entry區(qū)域,則因此就能通過只打開一個文件來寫入新的安全數(shù)據(jù)。即使在EPUB001.KEY中沒有未使用的Rule&KeyEntry區(qū)域,也仍然可以根據(jù)EPUB001.KEY中的m位位圖來確定EPUB#u.KEY,且因此在寫入過程中將需要頂多兩次文件訪問操作。
同樣,盡管在實施例1中在每個EPUBxxx.KEY文件中都提供了顯示Rule&Key Entry區(qū)域狀態(tài)的n位位圖,但是作為選擇也可以在SD_EPUB.MMG中提供所述n位位圖。
(C)對具有未使用的Rule&Key Entry區(qū)域的EPUBxxx.KEY文件(即,EPUB#u.KEY)的搜索,可以通過只訪問SD_EPUB.MMG中的m位位圖來進行,而不必在每個EPUBxxx.KEY文件中都提供n位位圖。換句話說,如果記錄設備在寫入新的安全數(shù)據(jù)以前先調(diào)查這些文件中Rule&KeyEntry區(qū)域的狀態(tài),則將沒有必要提供顯示每個Rule&Key Entry區(qū)域的狀態(tài)的位圖。這個變形的前提是將未使用Rule&Key Entry區(qū)域(即,具有還有待于寫入或已經(jīng)使數(shù)據(jù)被刪除的區(qū)域)設置為允許迅速確定刪除條件的值(例如,“000000000”)。然而,由于安全數(shù)據(jù)是以加密形式來存儲的,并且通常通過將一隨機數(shù)寫入到在其中存儲有所述安全數(shù)據(jù)的Rule&Key Entry區(qū)域中,來刪除安全數(shù)據(jù),因而不容易區(qū)別加密數(shù)據(jù)與已刪除數(shù)據(jù)。因此實際上進行上述的調(diào)查是不可實現(xiàn)的。在實施例1中,在每個EPUBxxx.KEY文件中位圖的標志為每個Rule&Key Entry區(qū)域明顯地顯示出所述Rule&Key Entry區(qū)域是否已經(jīng)使安全數(shù)據(jù)被記錄或刪除。因此,通過參考所述n位位圖,就可以迅速地確定文件中的哪些Rule&Key Entry區(qū)域不在使用中,以及確定哪些Rule&Key Entry區(qū)域已被寫入。
(D)實施例1到4是通過參考示范性SD存儲卡來描述的,所述SD存儲卡導入了與訪問文件所需的相互驗證有關的額外開銷。然而,實施例1到4可以應用于任何導入額外開銷的記錄介質(zhì),所述額外開銷是因打開多個文件花費時間而造成的。例如,所述記錄介質(zhì)可以是閃速存儲卡,其中的示例包括緊湊閃速卡、智能化介質(zhì)、記憶棒、多媒體卡以及PCM-CIA卡。除了半導體存儲卡之外,所述記錄介質(zhì)還可以是光盤,其中的示例包括磁性記錄盤(例如,軟磁盤、SuperDisk、Zip、Clik!)、可拆卸式硬盤驅(qū)動器(例如,ORB、Jaz、SparQ、SyJet、EZFley、微驅(qū)動器)、DVD-RAM、DVD-RW、PD、DVD+RW、以及CD-RW。
(E)如圖16到18中的流程圖所示,在實施例4中所述的記錄設備的特征,是通過計算機可讀計算機程序完成的改進來實現(xiàn)的。同樣,可以獨立于所述記錄設備來執(zhí)行所述計算機程序。如果計算機程序被存儲在存儲介質(zhì)上,則就可以向用戶分發(fā)或出借所述存儲介質(zhì),然后由用戶來獨立地執(zhí)行所述計算機程序。作為選擇,如果在網(wǎng)絡上發(fā)布所述計算機程序,則用戶可以下載該計算機程序,然后由用戶獨立地執(zhí)行下載到的計算機程序。
(F)在實施例1到4中,將被記錄在SD存儲卡上的內(nèi)容稱作為電子出版物。然而,可以將其它內(nèi)容記錄在該SD存儲器卡上,其中的示例包括音樂和電影。
(G)在上述實施例中,將m位位圖中的m個位一對一分配給m個EPUBxxx.KEY文件,這允許為每個EPUBxxx.KEY文件顯示兩種狀態(tài);也就是,所述文件具有(i)一個或多個未使用的Key&Rule Entry區(qū)域,還是(ii)所有Key&Rule Entry區(qū)域都在使用中。然而,通過增加已分配的位的數(shù)目,可以為每個EPUBxxx.KEY文件顯示三種或三種以上的狀態(tài)。
(H)在上述實施例中,將n位位圖中的n個位一對一分配給每個EPUBxxx.KEY文件中的n個Key&Rule Entry區(qū)域,這允許為EPUBxxx.KEY文件中的每個Key&Rule Entry區(qū)域顯示兩個狀態(tài);也就是說,所述Key&Rule Entry區(qū)域是否(i)未使用,或(ii)在使用中。然而,通過增加已分配的位的數(shù)目,可以為每個Key&Rule Entry區(qū)域顯示三種或三種以上的狀態(tài)。
(I)上述實施例是就記錄在所述受保護區(qū)域中的權限管理信息而言來描述的。然而,也可以將需要高級保密性的其它類型的信息記錄在所述受保護區(qū)域中,其中的示例包括計費信息、私人信息和商業(yè)秘密信息。同樣,如果將被再現(xiàn)的內(nèi)容是實施例1到4中所述的出版物,則再現(xiàn)處理可能包括諸如顯示或印刷該出版物之類的變形。許可使用條件可以依再現(xiàn)形式而定。
(J)在上述實施例中,所述權限管理信息設置諸如再現(xiàn)、拷貝等等之類的使用的許可條件??截愄幚砜梢园ㄖT如傳遞、轉(zhuǎn)移、和檢驗拷貝之類的變形。當將要刪除原始內(nèi)容時,傳遞拷貝用來在記錄介質(zhì)之間傳遞內(nèi)容。
轉(zhuǎn)移拷貝以在記錄介質(zhì)上所產(chǎn)生的權限管理信息為前提的,在所述記錄介質(zhì)上,內(nèi)容將被拷貝。
檢驗拷貝是一種用于當許可拷貝的數(shù)目是有限的時,在將許可拷貝的數(shù)目減一后執(zhí)行所述拷貝過程。不同于其它的有限次數(shù)拷貝的形式,檢驗拷貝考慮到增加許可拷貝的數(shù)目。可以在第一次進行“登記(check-in)”過程之后增加許可拷貝次數(shù),從而禁止對已拷貝到記錄介質(zhì)上的內(nèi)容進行再現(xiàn)。
(K)權限管理信息中的許可使用條件可以以任何優(yōu)選的方式加以規(guī)定。例如,可以對剩余再現(xiàn)數(shù)目或拷貝數(shù)目應用限制,或作為選擇可以設定上限。也可以在時間方面應用這些限制,而不是使用次數(shù),或者相反可以設定使用的有效期。
工業(yè)實用性本發(fā)明考慮到在其中具有未使用區(qū)域的文件,所述文件記錄將從多個文件中被迅速指定的安全數(shù)據(jù),所述多個文件存儲在受保護區(qū)域當中。因此,遍布全世界的那些需要用來記錄安全數(shù)據(jù)的記錄介質(zhì)、記錄設備或再現(xiàn)設備的消費者們,可以使用本發(fā)明。同樣,將與本發(fā)明有關的記錄介質(zhì)、記錄設備和再現(xiàn)設備用在諸如通用設備工業(yè)之類的領域里,具備巨大的潛力。
權利要求
1.一種用于在上面記錄有多個文件的記錄介質(zhì)的記錄設備,每個文件都具有多個項目區(qū)域,包括讀單元,可操作地用于從記錄介質(zhì)中讀取狀態(tài)信息,所述狀態(tài)信息為每個文件顯示出所述文件是處于第一狀態(tài)還是處于第二狀態(tài),在所述第一狀態(tài)中一個或多個項目區(qū)域不在使用中,而所述第二狀態(tài)中所有的項目區(qū)域都在使用中;寫單元,可操作地用于通過參考所讀取的狀態(tài)信息來指定處于第一狀態(tài)的文件,并且將數(shù)據(jù)寫入到指定文件的未使用項目區(qū)域中;和更新單元,可操作地用于在已指定的文件中的所有項目區(qū)域由于通過寫單元寫入數(shù)據(jù)而變成在使用中的情況下,更新狀態(tài)信息以便將已指定的文件顯示成處于第二狀態(tài)。
2.如權利要求1所述的記錄設備,其中由所述更新單元來更新狀態(tài)信息,以便當處于第二狀態(tài)的文件中的項目區(qū)域變?yōu)槲词褂脮r,將所述文件顯示為處于第一狀態(tài)。
3.如權利要求1所述的記錄設備,其中存在m個文件,m是2或更大值的整數(shù),所述狀態(tài)信息是標志序列,該標志序列包括m個標志,這m個標志與m個文件一一對應,每個標志都被設定為off標志或on標志,所述off標志顯示出將處于第一狀態(tài)的相應文件,而所述on標志顯示出將處于第二狀態(tài)的相應文件,由寫單元所指定的文件對應于off標志,并且由更新單元進行的更新包括在已指定的文件中的所有項目區(qū)域都由于由寫單元進行的數(shù)據(jù)寫入而變成在使用中的情況下,就將off標志改變?yōu)閛n標志。
4.如權利要求3所述的記錄設備,其中所述文件對應的off標志是最接近于標志序列頭的off標志。
5.如權利要求3所述的記錄設備,其中所述狀態(tài)信息被置于具有多個項目區(qū)域的文件之一中,或被置于一個與具有多個項目區(qū)域的文件不同的文件中。
6.如權利要求1所述的記錄設備,進一步包括創(chuàng)建單元,可操作地用于當寫單元參考所讀取的狀態(tài)信息時,在記錄介質(zhì)上的所有文件都顯示為處于第二狀態(tài)的情況下,就創(chuàng)建處于第一狀態(tài)的文件。
7.如權利要求1所述的記錄設備,其中在每個文件中存在n個項目區(qū)域,n是2或更大值的整數(shù),所述記錄介質(zhì)進一步在上面記錄有標志序列,該標志序列包括n個標志,這n個標志與文件中的n個項目區(qū)域一一對應,每個標志都被設定為off標志或on標志,所述off標志顯示出相應項目區(qū)域不在使用中,而所述on標志顯示出相應項目區(qū)域在使用中,并且由寫單元把數(shù)據(jù)寫入到其中的項目區(qū)域是一個對應于off標志的項目區(qū)域。
8.如權利要求7所述的記錄設備,其中所述項目區(qū)域?qū)膐ff標志是最接近于標志序列頭的off標志。
9.如權利要求7所述的記錄設備,其中所述標志序列被置于具有n個項目區(qū)域的文件之一中,或被置于一個與具有n個項目區(qū)域的文件不同的文件中。
10.如權利要求9所述的記錄設備,其中所述標志序列和狀態(tài)信息被置于與具有n個項目區(qū)域的所述文件不同的文件中。
11.如權利要求1所述的記錄設備,其中所述記錄介質(zhì)是半導體存儲卡,該半導體存儲卡包括驗證電路,用于驗證與所述半導體存儲卡相連接的設備,以及受保護區(qū)域,只有當所述設備已經(jīng)由驗證電路進行了驗證時,該設備才可以參考所述受保護區(qū)域,以及在所述受保護區(qū)域中記錄所述多個文件。
12.如權利要求11所述的記錄設備,其中所述半導體存儲卡進一步地包括在其中記錄有多個加密內(nèi)容的用戶數(shù)據(jù)區(qū)域,將記錄在所述受保護區(qū)域當中的文件中的多個項目區(qū)域一對一分配給所述多個加密內(nèi)容,并且由寫單元寫入到已指定的文件的未使用項目區(qū)域中的數(shù)據(jù),包括解密密鑰或權限管理信息,其中這兩者都涉及被分配給未使用項目區(qū)域的加密內(nèi)容。
13.如權利要求1所述的記錄設備,其中該記錄介質(zhì)的區(qū)域由多個簇形成,文件中的項目區(qū)域均是固定長度的,并且每個文件中項目區(qū)域的數(shù)目被設置成這樣,使每個文件的大小小于或等于一個簇的大小。
14.如權利要求13所述的記錄設備,其中所述記錄介質(zhì)是半導體存儲卡,所述半導體存儲卡要求在由寫單元進行數(shù)據(jù)寫入以前,先擦除在其上記錄的數(shù)據(jù),并且一個簇的大小等于所述半導體存儲卡的最小可擦除區(qū)域大小或者是其分數(shù)。
15.一種記錄介質(zhì),在該記錄介質(zhì)上記錄有多個文件,每個文件都具有多個項目區(qū)域;和狀態(tài)信息,它為每個文件顯示出所述文件是處于第一狀態(tài)還是處于第二狀態(tài),在所述第一狀態(tài)中一個或多個項目區(qū)域不在使用中,而在第二狀態(tài)中所有的項目區(qū)域都在使用中。
16.如權利要求15所述的記錄介質(zhì),其中存在m個文件,m是2或更大值的整數(shù);并且所述狀態(tài)信息是標志序列,該標志序列包括m個標志,這m個標志與m個文件一一對應,每個標志都被設置為off標志或on標志,所述off標志顯示出處于第一狀態(tài)的相應文件,而所述on標志顯示出處于第二狀態(tài)的相應文件。
17.如權利要求15所述的記錄介質(zhì),其中在每個文件中存在n個項目區(qū)域,n是2或更大值的整數(shù),并且所述記錄介質(zhì)進一步在上面記錄有標志序列,該標志序列包括n個標志,這n個標志與一個文件中的n個項目區(qū)域一一對應,每個標志都被設置為off標志或on標志,所述off標志顯示出相應項目區(qū)域不在使用中,而所述on標志顯示出相應項目區(qū)域在使用中。
18.如權利要求15所述的記錄介質(zhì),其中所述記錄介質(zhì)是半導體存儲卡,該半導體存儲卡包括驗證電路,用于驗證與所述半導體存儲卡相連接的設備,以及受保護區(qū)域,只有當所述設備已經(jīng)由驗證電路進行了驗證時,該設備才可以參考所述受保護區(qū)域,以及在所述受保護區(qū)域中記錄所述多個文件。
19.如權利要求18所述的記錄介質(zhì),其中所述半導體存儲卡進一步地包括在其中記錄有多個加密內(nèi)容的用戶數(shù)據(jù)區(qū)域,將記錄在所述受保護區(qū)域當中的文件中的多個項目區(qū)域一對一分配給所述多個加密內(nèi)容,并且由寫單元寫入到已指定的文件的未使用項目區(qū)域中的數(shù)據(jù),包括解密密鑰或權限管理信息,其中這兩者都涉及被分配給未使用項目區(qū)域的加密內(nèi)容。
20.如權利要求15所述的記錄介質(zhì),其中該記錄介質(zhì)的區(qū)域由多個簇形成,所述文件中的項目區(qū)域均是固定長度的,并且每個文件中的項目區(qū)域的數(shù)目被設置成這樣,使每個文件的大小小于或等于一個簇的大小。
21.如權利要求20所述的記錄介質(zhì),其中所述記錄介質(zhì)是半導體存儲卡,所述半導體存儲卡要求在由寫單元進行數(shù)據(jù)寫入以前,先擦除在其上記錄的數(shù)據(jù),并且一個簇的大小等于所述半導體存儲卡的最小可擦除區(qū)域的大小或者是其分數(shù)。
22.一種用于讓計算機執(zhí)行與記錄介質(zhì)有關的記錄過程的計算機程序,所述記錄介質(zhì)在上面記錄有多個文件,每個文件都具有多個項目區(qū)域,所述計算機程序包括讀步驟,從記錄介質(zhì)中讀取狀態(tài)信息,所述狀態(tài)信息為每個文件顯示出所述文件是處于第一狀態(tài)還是處于第二狀態(tài),在所述第一狀態(tài)中一個或多個項目區(qū)域不在使用中,而所述第二狀態(tài)中所有的項目區(qū)域都在使用中;寫步驟,通過參考所讀取的狀態(tài)信息來指定處于第一狀態(tài)的文件,并且將數(shù)據(jù)寫入到已指定的文件的未使用項目區(qū)域中;和更新步驟,在已指定的文件中的所有項目區(qū)域由于通過在寫步驟寫入數(shù)據(jù)而變成在使用中的情況下,就更新狀態(tài)信息以便將已指定的文件顯示成處于第二狀態(tài)。
23.如權利要求22所述的計算機程序,其中在所述更新步驟中更新狀態(tài)信息,以便當處于第二狀態(tài)的文件中的項目區(qū)域未使用時,將所述文件顯示為處于第一狀態(tài)。
24.如權利要求22所述的計算機程序,其中存在m個文件,m是2或更大值的整數(shù),所述狀態(tài)信息是標志序列,該標志序列包括m個標志,這m個標志與m個文件一一對應,每個標志都被設定為off標志或on標志,所述off標志顯示出將處于第一狀態(tài)的相應文件,而所述on標志顯示出將處于第二狀態(tài)的相應文件,在寫步驟中所指定的文件對應于off標志,并且在更新步驟中進行的更新包括如果已指定的文件中的所有項目區(qū)域都由于在寫步驟中進行的數(shù)據(jù)寫入而變成在使用中,則就將off標志改變?yōu)閛n標志。
25.如權利要求24所述的計算機程序,其中所述文件所對應的off標志是最接近于標志序列頭的off標志。
26.如權利要求24所述的計算機程序,其中所述狀態(tài)信息被置于具有多個項目區(qū)域的文件之一中,或被置于一個與具有多個項目區(qū)域的文件不同的文件中。
27.如權利要求22所述的計算機程序,進一步包括創(chuàng)建步驟,當在寫步驟參考所讀取的狀態(tài)信息時,如果記錄介質(zhì)上的所有文件都顯示為處于第二狀態(tài),則就創(chuàng)建處于第一狀態(tài)的文件。
28.如權利要求22所述的計算機程序,其中在每個文件中存在n個項目區(qū)域,n是2或更大值的整數(shù),所述記錄介質(zhì)進一步在上面記錄有標志序列,該標志序列包括n個標志,這n個標志與一個文件中的n個項目區(qū)域一一對應,每個標志都被設定為off標志或on標志,所述off標志顯示出相應項目區(qū)域不在使用中,而所述on標志顯示出相應項目區(qū)域在使用中,并且在寫步驟把數(shù)據(jù)寫入到其中的項目區(qū)域是一個對應于off標志的項目區(qū)域。
29.如權利要求28所述的計算機程序,其中所述文件對應的off標志是最接近于標志序列頭的off標志。
30.如權利要求28所述的計算機程序,其中所述標志序列被置于具有n個項目區(qū)域的文件之一中,或被置于一個與具有n個項目區(qū)域的文件不同的文件中。
31.如權利要求30所述的計算機程序,其中所述標志序列和狀態(tài)信息被置于與具有n個項目區(qū)域的所述文件不同的文件中。
32.如權利要求22所述的計算機程序,其中所述記錄介質(zhì)是半導體存儲卡,該半導體存儲卡包括驗證電路,用于驗證與所述半導體存儲卡相連接的設備,以及受保護區(qū)域,只有當所述設備已經(jīng)由驗證電路進行了驗證時,該設備才可以參考所述受保護區(qū)域,以及在所述受保護區(qū)域中記錄所述多個文件。
33.如權利要求32所述的計算機程序,其中所述半導體存儲卡進一步地包括在其中記錄有多個加密內(nèi)容的用戶數(shù)據(jù)區(qū)域,將記錄在所述受保護區(qū)域當中的文件中的多個項目區(qū)域一對一分配給所述多個加密內(nèi)容,并且在寫步驟中寫入到已指定的文件的未使用項目區(qū)域中的數(shù)據(jù),包括解密密鑰或權限管理信息,其中這兩者都涉及被分配給未使用項目區(qū)域的加密內(nèi)容。
34.如權利要求22所述的計算機程序,其中該記錄介質(zhì)的區(qū)域由多個簇形成,所述文件中的項目區(qū)域均是固定長度的,并且每個文件中的項目區(qū)域的數(shù)目被設置成這樣,使每個文件的大小小于或等于一個簇的大小。
35.如權利要求34所述的計算機程序,其中所述記錄介質(zhì)是半導體存儲卡,所述半導體存儲卡要求在寫步驟進行數(shù)據(jù)寫入以前,先擦除在其上記錄的數(shù)據(jù),并且一個簇的大小等于所述半導體存儲卡的最小可擦除區(qū)域的大小或者是其分數(shù)。
36.如權利要求22所述的計算機程序,其中所述計算機程序被存儲在計算機可讀存儲介質(zhì)上。
37.一種與在上面記錄有多個文件的記錄介質(zhì)有關的記錄方法,所述多個文件中的每一個都具有多個項目區(qū)域,該方法包括讀步驟,從記錄介質(zhì)中讀取狀態(tài)信息,所述狀態(tài)信息為每個文件顯示出所述文件是處于第一狀態(tài)還是處于第二狀態(tài),在所述第一狀態(tài)中一個或多個項目區(qū)域不在使用中,而所述第二狀態(tài)中所有的項目區(qū)域都在使用中;寫步驟,通過參考所讀取的狀態(tài)信息來指定處于第一狀態(tài)的文件,并且將數(shù)據(jù)寫入到已指定的文件的未使用項目區(qū)域中;和更新步驟,如果已指定的文件中的所有項目區(qū)域由于通過在寫步驟寫入數(shù)據(jù)而變成在使用中,則就更新狀態(tài)信息以便將已指定的文件顯示成處于第二狀態(tài)。
全文摘要
一種用于SD存儲卡的記錄設備,該記錄設備在其上記錄有多個EPUBxxx.KEY文件,每個文件都具有在寫入數(shù)據(jù)之前先從記錄介質(zhì)中讀取的多個Key&Rule Entry區(qū)域和SD_EPUB.MMG文件。SD_EPUB.MMG中的位圖為每個EPUBxxx.KEY文件顯示出EPUBxxx.KEY文件是否具有至少一個未使用的Key&Rule Entry區(qū)域,或者是否所有的Key&Rule Entry區(qū)域都在使用中。根據(jù)已讀取的SD_EPUB.MMG文件中的位圖,所述記錄設備打開具有未使用Key&Rule Entry區(qū)域的EPUB#u.KEY,并且將數(shù)據(jù)寫入到文件當中這些未使用的Key&Rule Entry區(qū)域中。如果EPUB#u.KEY中的所有Key&Rule Entry區(qū)域由于寫入數(shù)據(jù)而變成在使用中,則所述記錄設備就更新SD_EPUB.MMG中的位圖。
文檔編號G06F21/77GK1552023SQ0281745
公開日2004年12月1日 申請日期2002年7月1日 優(yōu)先權日2001年7月5日
發(fā)明者松居真一, 彥, 野口直彥, 佐藤光弘, 弘, 下島崇, 喜一, 夫, 長谷川喜一, 中村典夫, 哉, 藤村一哉 申請人:松下電器產(chǎn)業(yè)株式會社