新四季網

半導體存儲卡的訪問裝置、計算機可讀記錄介質、初始化方法和半導體存儲卡的製作方法

2023-10-07 18:49:54 2

專利名稱:半導體存儲卡的訪問裝置、計算機可讀記錄介質、初始化方法和半導體存儲卡的製作方法
技術領域:
本發明涉及一種用於訪問內含EEPROM(電可擦可編程只讀存儲器)類非易失存儲器的半導體存儲卡的訪問裝置,一種用於記錄半導體存儲卡初始化程序的計算機可讀記錄介質,一種初始化方法以及一種半導體存儲卡,特別是還涉及一種能提高數據在所述非易失存儲器中重寫效率的改進方法。
背景技術:
半導體存儲卡具有體積小重量輕的優點,而且在多種技術領域裡為鞏固其作為可選記錄介質的地位而發展順利。半導體存儲卡具有一種稱為EEPROM的內在非易失存儲器,該存儲器由相連的設備訪問,所以這種半導體存儲卡能用作記錄介質。而且能夠以與磁碟或光碟相同的方法直接將數據寫入空白EEPROM扇區。但是,當EEPROM扇區裡已存有數據,則必須將這些數據刪除,使這些扇區恢復為空白狀態,新的數據才能寫入該扇區。在許多半導體存儲卡中使用的這種稱為NAND(與非)的EEPROM中,將扇區恢復為空白狀態的操作必須在32個扇區裡同時執行(在這種非易失存儲器中,一個32扇區組叫做一個可擦塊)。所以,所述半導體存儲卡包含一個特殊的內部控制電路,通過將可擦塊用作訪問單元來實現存儲器管理。可擦塊的狀態控制以及對可擦塊進行的數據讀和寫均由該控制電路管理。
這意味著所述半導體存儲卡具有與磁碟或光碟中所使用的完全不同的獨特硬體結構(物理層)。但是,圖1A中所示的層模型由物理層、文件系統層和應用層組成,這與磁碟或光碟中所用的方式相同。圖1B所示為所述物理層的詳細配置。在該圖中,所述物理層包括一個卷區,其中安排有多個可擦塊。每個可擦塊由32個扇區組成,且數據長度為16KB。圖1C中所示的文件系統層的配置就是通常所稱的FAT(文件分配表)文件系統。在FAT文件系統中,所述卷區的管理在一些叫做簇的單元裡執行。卷管理信息設置在所述卷區的起始部分,接著該卷管理信息設置的是用於記錄用戶數據的用戶區。所述卷管理信息包括主引導記錄、分區表、分區引導區、雙文件分配表(FAT)和根目錄登記項。所述雙FAT表示卷區中所包含的多個簇之間的連結。這類文件系統層的規定使數據能夠在所述應用層中按由目錄和文件形成的分級結構進行存儲。通過設置層模型,所述訪問裝置使用與訪問磁碟或光碟這類記錄介質相同的程序便能夠訪問半導體存儲卡,而不必注意所述物理層的區別。
但是,在所述文件系統的卷區中存儲數據時,用戶有多種確定該卷區數據長短的可能。當卷區的大小根據用戶的需求而改變時,該卷區內所含簇的數量就會相應的增加或減少。如果簇的數量增加或減少,則由對應於這些簇的登記項所組成的FAT便會相應地增加或減少,而且包含有所述FAT的卷管理信息的大小也是這樣。如果所述卷管理信息的大小增加或減少,則接著該卷管理信息的用戶區的起始地址也將改變。該用戶區起始地址根據卷區的大小而改變。因此,每個簇的起始地址也會根據該用戶區的大小而改變。
如果每個簇的起始地址根據用戶區的大小而發生變化,那麼簇可能跨越兩個可擦塊之間的邊界,並且所述卷管理信息的結束部分可能會與位於所述用戶區的開始處的一個簇設置在同一個可擦塊中。圖1D所示為當卷管理信息的結束部分和所述位於用戶區開始的簇在同一個可擦塊中時的卷區配置。如果如該圖所示那樣設置簇,而且用戶希望修改存儲在一個特定簇中的數據時,則必須讀其中設置了該簇的這兩個可擦塊,然後將其恢復成空白狀態。然而,非易失存儲器由一種在絕緣層中埋置有浮柵的存儲元件構成。這種存儲元件只能擦除幾萬次,所以如果必須擦除兩個可擦塊以便修改一個簇的情況經常發生,那麼該非易失存儲器的壽命將明顯縮短。
一般來說,如果已經完成了對寫目標簇的擦除,則當將32個扇區作為一個簇管理時,向一個簇寫入信息能夠在32×200μs(200μs是寫每個扇區所需的時間)內完成。但如果在能夠寫數據之前必須對寫目標進行擦除,那麼還要加上2ms的擦除期。如果該簇跨越兩個可擦塊之間的邊界,則這兩個塊都需要進行擦除,並且擦除該寫目標需要4ms。因此,寫數據所花的時間明顯增加。

發明內容
本發明的目的是提供一種訪問裝置,以實現縮短修改可擦塊所需的處理時間,以及在半導體存儲卡中構造一種存儲數據格式,使非易失存儲器的壽命更長。
根據本發明的對半導體存儲卡執行文件訪問的訪問裝置,所述半導體存儲卡具有一個包含多個扇區的存儲區,所述存儲區內的每組2i個連續扇區組成一個塊,i為0或正整數,塊是能夠執行數據擦除的最小單位,該訪問裝置包括計算單元,可被操作用於計算卷管理信息的大小;預留單元,可被操作用來預留一個用於記錄所述卷管理信息的第一區域以及一個用於記錄用戶數據的第二區域,所述第一區域所具有的數據長度大於所計算的卷管理信息並且包括三個或更多的塊,而第二區域由接著第一區域的塊組成;以及記錄單元,可被操作用來在所述第一區域裡記錄卷管理信息、在第二區域裡記錄用戶數據,其中所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,而且所述記錄單元在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
根據本發明的以計算機可讀格式存儲程序的記錄介質,用於初始化計算機以便在一個半導體存儲卡上執行文件訪問,所述半導體存儲卡具有一個包含多個扇區的存儲區,所述存儲區內的每組2i個連續扇區組成一個塊,其中i為0或正整數,塊是能夠執行數據擦除的最小單位,該記錄介質使計算機執行如下步驟計算步驟,即計算卷管理信息的大小;預留步驟,即預留一個用於記錄所述卷管理信息的第一區域以及一個用於記錄用戶數據的第二區域,所述第一區域所具有的數據長度大於所計算的卷管理信息並且包括三個或更多的塊,而第二區域由接著第一區域的塊組成;以及記錄步驟,即在所述第一區域裡記錄卷管理信息、在第二區域裡記錄用戶數據,其中所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,而且在所述的記錄步驟中,在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
根據本發明的初始化計算機的初始化方法,用於在一個半導體存儲卡上執行文件訪問,所述半導體存儲卡具有一個包含多個扇區的存儲區,所述存儲區內的每組2i個連續扇區組成一個塊,其中i為0或正整數,塊是能夠執行數據擦除的最小單位,該初始化方法包括如下步驟計算步驟,即計算卷管理信息的大小;預留步驟,即預留一個用於記錄所述卷管理信息的第一區域以及一個用於記錄用戶數據的第二區域,所述第一區域所具有的數據長度大於所計算的卷管理信息並且包括三個或更多的塊,而第二區域由接著第一區域的塊組成;以及記錄步驟,即在所述第一區域裡記錄卷管理信息、在第二區域裡記錄用戶數據,其中所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,而且在所述的記錄步驟中,在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
根據本發明的包含存儲區的半導體存儲卡,所述存儲區包括(1)只有當與所述半導體存儲卡相連的設備已得到授權驗證時才能由該設備進行訪問的保護區,和(2)不管所述相連設備的授權是否得到驗證均能由該設備進行訪問的用戶數據區;所述的保護區和用戶數據區包括多個扇區,每組2i個連續扇區組成一個塊,其中i為0或正整數,塊是能夠執行數據擦除的最小單位,所述的保護區和用戶數據區中的至少一個包括第一區域,包括三個或更多的塊,用於記錄卷管理信息;以及第二區域,由接著第一區域的塊組成,用於記錄用戶數據;所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,其中在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
一種稱為保密數字(SD)存儲卡的這類半導體存儲卡由於下述原因已在解決上述縮短處理時間和延長固定存儲卡壽命的問題上大有進展。在SD存儲卡中,提供一塊叫做保護區的區域,一般的用戶不能使用該區域。該保護區用於存儲秘密信息,如用於加密數據的加密密鑰、用於通知用戶在複製版權資料時付帳的帳單信息等等。這些需要保密的數據的數量根據所使用的應用程式的類型會發生變化,因此所述保護區的大小也必須根據應用程式的類型而改變。如果保護區的大小發生改變,那麼卷區的配置也會根據應用程式的類型而改變。如果卷區的配置按這種方式改變,則這種配置下的某些簇經常會跨越可擦塊之間的邊界,因此特別希望實現上述目的。為了實現上述目的,所述半導體存儲卡訪問裝置可以具有如下結構通過將每組2j(j為0或正整數)個扇區上的數據作為一個簇進行管理,以及將一個或多個簇作為一個文件進行管理,所述訪問裝置在包含一個由多個扇區組成的存儲區的半導體存儲卡上實現文件訪問。這裡,在該存儲區內的每組2i個連續扇區組成一個塊(i為0或正整數),塊是能夠執行數據擦除的最小單位。所述訪問裝置包括一個計算單元、一個預留單元和一個記錄單元。所述計算單元根據所述存儲區內要管理的簇的數量來計算卷管理信息的大小。這裡,卷管理信息包括一個文件分配表,用於為每個文件指示與該文件相對應的各簇之間的連結。所述預留單元預留一個用於記錄卷管理信息的第一區域,和一個用於記錄用戶數據的第二區域。第一區域所具有的數據長度大於所計算的卷管理信息,並且由m×2j(m是一個正整數)個扇區組成,而第二區域由接著第一區域的扇區組成。所述記錄單元在第一區域裡記錄卷管理信息,在第二區域裡記錄用戶數據,並將這些卷管理信息和用戶數據作為多個簇進行管理。在該訪問裝置中,在含有m(m是一個正整數)個簇的所述卷區裡預留出一個區域用於記錄卷管理信息,這樣便不會存在任何所存儲的簇跨越兩個可擦塊的可能性。簇邊界能夠與可擦塊的邊界一致,且所述卷管理信息的邊界能夠與一個可擦塊的邊界一致。因此,當重寫或改寫一個簇時,只需擦除一個可擦塊,這樣便能夠減少可擦塊必需的擦除次數。如果可擦塊的擦除次數減少了,該半導體存儲卡便能在較短的時間內完成寫數據,而且能增加該非易失存儲器本身的壽命。
這裡,除了所述文件分配表之外,所述卷管理信息還可以包括主引導記錄、分區表、分區引導區信息、根目錄登記項。另外,所述記錄單元在所述第一區域的第一扇區裡記錄所述主引導記錄和分區表,跳過預定數量的扇區後在後續的扇區裡記錄所述分區引導區信息、文件分配表和根目錄登記項。因此,所述第一區域的結束可以與根目錄登記項的結束相一致。在表示驅動開始的所述主引導記錄和表示分區開始的分區引導區之間的扇區數量能夠調整,因此,所述卷管理信息可以只限於由m個扇區組成的第一區域,並與使用所保存的FAT文件系統的設備兼容。
這裡,所述計算單元可以通過將用於記錄所述分區引導區信息、文件分配表和根目錄登記項的扇區數相加而計算出其和SUM。所述預留單元通過根據{公式1}NOM+SUM=2j+m計算出m值來預留出第一區域。其中,NOM為扇區數。所述記錄單元通過將扇區數NOM減1計算出預定扇區數。即使所述文件分配表的大小發生變化,仍會預留出一個第一區域,該區域大於所述卷管理信息的大小,而且為可擦塊大小的整數倍。因此,無論怎樣計算出文件分配表的大小,總能預留出所述第一區域必需的最小尺寸。
這裡,所述記錄單元可以在所述記錄卷管理信息的分區表中設置預定數量的扇區。在該結構中,即使所述第一區域的大小發生變化,並引起所述第二區域的起始地址發生變化,仍會在所述分區表內設置一定數量的扇區,該數量通過將扇區數NOM減1得到,這樣,所述訪問裝置便能通過參照所述分區表而對用戶區進行準確地訪問。


圖1A所示為一種配置模型,該模型由一個物理層、一個符合ISO/IEC9293的文件系統層和一個應用層組成;圖1B和1C所示為所述物理層和文件系統層的格式;圖1D所示為當所述卷管理信息的結束部分和一個位於所述用戶區開始的簇被安排在同一個可擦塊中時的一種卷區配置;圖2A為半導體存儲卡的外部視圖;圖2B和2C為訪問裝置的外部視圖;圖3A所示為半導體存儲卡和訪問裝置的內部結構;圖3B所示為在所述訪問裝置中使用的軟體的層模型;
圖4所示為非易失存儲器1所使用的一種數據存儲格式,且符合ISO/IEC9293標準;圖5所示為包含在所述卷區裡的分區控制區、系統區和用戶區的結構;圖6A示例性地表示主引導記錄和分區表扇區的結構;圖6B所示為分區引導區的結構;圖7A所示為雙FAT的結構;圖7B所示為根目錄登記項的結構;圖7C所示為所述用戶區的結構;圖8所示為文件存儲方法的實施例;圖9所示為當文件AOB001.SA1存儲在多個簇中時,對所述根目錄登記項和FAT進行設置的實施例;圖10A所示為可擦塊和簇之間的關係;圖10B所示為n=1時的多個簇;圖10C所示為n=16時的多個簇;圖11A假設當將s個可擦塊中的m個簇分配用於記錄卷管理信息時的狀態;圖11B所示為n=1時分配用於記錄卷管理信息的簇的數量;圖11C所示為n=16時分配用於記錄卷管理信息的簇的數量;圖12是通過藉助用公式11及12計算出的大小來繪製所述分區控制區、系統區和簇而得到的圖;圖13為表示所述卷區初始化過程的流程圖;圖14所示為第二實施方案中的訪問裝置和半導體存儲卡的結構;圖15所示為保密處理單元11的內部結構;圖16所示為提供有保護區的卷區的詳細結構;圖17所示為所述用戶數據區的示例性配置;圖18所示為所述保護區的示例性配置;圖19所示為第三實施方案中的訪問控制單元2的內部結構;圖20A~20D所示為當對可擦塊進行重寫時的處理順序;圖21所示為第三實施方案中的文件系統操作單元9的內部結構;圖22是表示由第三實施方案中的文件系統操作單元9執行的詳細處理過程的流程圖;
圖23A和23B所示為在第三實施方案中的一個可擦塊中執行的擦除過程;圖24所示為第四實施方案中的訪問控制單元2的內部結構;圖25是表示在第四實施方案中由文件系統操作單元9執行的詳細處理過程的流程圖;圖26A和26B所示為在第四實施方案中的一個可擦塊中執行的擦除過程;圖27A和27B所示為當發出命令後存儲片段和輔助操作之間的因果關係;圖28是表示在一個邏輯地址上執行的存儲片段消除處理的詳細處理順序的流程圖;圖29A~29D所示為對應於圖28的流程圖中各變量s、t、u、v和y的設想模型;圖30A~30C所示為在第五實施方案中如何消除存儲片段;圖31所示為利用UDF中的實施用途擴充屬性來定義一種新的擴充屬性;圖32所示為含有備份區的半導體存儲卡的內部結構;圖33所示為在第六實施方案中半導體存儲卡的內部結構;以及圖34A~34C所示為在第七實施方案中由文件系統操作單元9執行的處理內容。
具體實施例方式
下面參照附圖對半導體存儲卡以及含有半導體存儲卡和訪問裝置的系統的實施方案進行闡述。
圖2A為半導體存儲卡100的外部視圖,圖2B和2C為訪問裝置的外部視圖。圖3A所示為半導體存儲卡100和訪問裝置200的內部結構。
所述半導體存儲卡具有圖2A所示的外部結構,長32.0mm,寬24.0mm,厚2.1mm,大約是一枚郵票的大小,小到能放在用戶的一個手指尖上。該半導體存儲卡100有九個用於連接訪問裝置200的接插件,在一側有一個防寫開關101,該開關能由用戶設置成允許或禁止改寫所記錄的數據。如圖3A下部所示,該半導體存儲卡100包括一個由NAND EEPROM構成的非易失存儲器1、一個訪問控制單元2和一個工作存儲器3。所述訪問控制單元2根據所述訪問裝置200發出的指令將數據寫入非易失存儲器1、從非易失存儲器1讀出數據、以及擦除數據。當要對從非易失存儲器讀出的數據進行重寫或寫回該非易失存儲器時,所述工作存儲器3用於對這些數據進行暫時存儲。
接下來闡述訪問裝置200,例如圖2B所示的一種家用音響系統或圖2C所示的諸如個人計算機這類的信息處理裝置。這種訪問裝置200包括一個卡接插件4、一個輔助存儲器5、一個CPU 6和一個主存儲器7。所述卡接插件4用於連接所述半導體存儲卡100。所述輔助存儲器5存儲各類用於訪問該半導體存儲卡100的軟體。所述CPU 6對該訪問裝置200進行全面控制。所述主存儲器7用於當訪問該半導體存儲卡100時暫時存儲所述FAT和根目錄登記項。圖3B表示所述訪問裝置200中所使用的軟體的配置模型。在本圖中,所述訪問裝置軟體包括應用程式8、文件系統操作單元9和設備驅動程序10。所述應用程式8為該訪問裝置200執行諸如音頻和視頻再現的預定處理。所述文件系統操作單元9根據來自所述應用程式8的指令,在該文件系統中執行文件的讀、寫、擦除和修改(重寫)操作。所述設備驅動程序10通過對該半導體存儲卡100發出讀和寫命令而在該文件系統中執行操作。
下面解釋所述非易失存儲器1的數據存儲格式的一個實施例。該非易失存儲器1用圖4所示的格式執行數據存儲。在本圖中,整個非易失存儲器1稱為所述的卷區。該卷區劃分成多個簇,並包括一個分區控制區和一個分區(也稱常規區)。該分區分為一個系統區和一個用戶區,如圖4的右手邊所示。
所述用戶區的起始地址直接接在系統區後。但是,系統區中的雙FAT的大小根據所述用戶區的大小而變化,所以,如技術背景部分所述,用戶區的起始地址也會相應地發生變化。該卷區中的每個扇區用相對於該卷區起始的物理地址指示。
下面依次闡述包含在該卷區中的每個區域。圖5所示為包含在所述卷區裡的分區控制區、系統區和用戶區的結構。
所述分區控制區包括主引導記錄和分區表扇區,以及預留信息1/2和2/2。圖6A表示主引導記錄和分區表扇區的詳細結構。在本圖中,所述主引導記錄和分區表扇區的內容在一對箭頭ky1之間分級列出。該主引導記錄和分區表扇區包括一個主引導記錄,四個分區表1、2、3和4,以及一個標誌字。
所述主引導記錄是對該訪問裝置200的一種符號指示,其後續區域為一物理意義上的介質(一塊物理介質)。在圖6A中,所述卷區只有一條主引導記錄,因此所述訪問裝置200將該卷區識別為一塊物理介質。通常,如果卷區中有兩條主引導記錄,則所述訪問裝置200將其識別為兩塊物理介質。
所述分區表是一張記錄分區信息的表。如箭頭ky2所示,當所述半導體存儲卡100用作起動驅動器時,則該分區表包括如下欄位『引導標誌』、『起始端』、『起始扇區/起始柱面』、『系統ID』、『終止端』、『終止扇區/終止柱面』、『相對扇區』和『總扇區』。所述『引導標誌』欄位設置為『0x80』。『起始端』欄位定義了一個分區的起始端。『起始扇區/起始柱面』欄位定義了該分區的起始扇區和起始柱面。『系統ID』定義了文件系統類型,該欄位在所述分區的大小少於32680位元組時設置為『01』,在所述分區的大小少於655 36位元組時設置為『04』。『結束扇區/結束柱面』欄位定義了該分區的結束扇區和結束柱面。『相對扇區』欄位定義了在該分區的起始扇區之前存在的扇區數量。『總扇區』欄位定義了該分區中的扇區數量。
下面對所述半導體存儲卡100中的分區進行說明。該分區由所述系統區組成,接著是用戶區,但本說明首先參照圖7C闡述用戶區。
所述用戶區在不小於一簇的單元中存儲文件。圖7C中的虛線箭頭ff2表示包含在用戶區內的若干簇002、003、004、005...。圖7C中所使用的數字002、003、004、005、006、007、008...是三位十六進位簇號,僅僅用於識別每個簇。由於能夠執行訪問的最小單位是一簇,因此用簇號來指示所述用戶區中的存儲位置。
所述系統區包括分區引導區、雙文件分配表和根目錄登記項。所述分區引導區、雙文件分配表FAT和根目錄登記項將參照圖6B、7A和7B依次闡述。
將圖6B中所示的、含有所述信息欄位的擴充FDC(軟盤控制器)描述符設置在所述分區引導區中。該擴充FDC描述符包括如下欄位『轉移指令』、『建立系統標識符』、『扇區大小』、『每簇扇區數』、『預留扇區計數』、『FAT編號』(包含在所述雙FAT中的FAT編號)、『根目錄登記項編號』(該根目錄登記項的數據長度)、『總扇區』、『介質標識符』、『每個FAT的扇區數』、『每磁軌扇區數』、『磁面編號』、『隱藏扇區編號』、『總扇區數』(在系統區和用戶區內的總扇區數)、『物理磁碟編號』、『擴充引導記錄標誌』、『卷ID編號』、『卷標』、『文件系統類型』和『標誌字』。
所述雙FAT由兩個符合ISO/IEC(國際標準化組織/國際電工技術委員會)9293標準的FAT組成。每個FAT包括多條FAT登記項,每條FAT登記項鍊接到一個簇。FAT登記項指示相應簇是否被使用如果該簇沒有使用,則將該登記項置『0』;如果該簇在使用,則置為相應的簇號。所述簇號指示了通向緊接著該簇需要讀取的下一簇的連結。圖7A中所畫虛線箭頭ff1表示包含在該FAT中的多條FAT登記項002、003、004、005...。這些附屬於每條FAT登記項的數值表示相應簇的簇號。
所述根目錄登記項包括多條文件登記項,對應於存在於該引導目錄中的多個文件。每條文件登記項包括現有文件的『文件名』,『文件標識符』,存儲在該文件開始的『文件的第一簇編號』,『文件屬性』,表示文件何時存儲的『存儲時間』和『存儲日期』,以及『文件長度』。
下面參照圖8通過說明如何將文件名為『AOB001.SA1』存儲在所述根目錄中來闡述文件存儲方法。由於能夠訪問用戶區的最小單元是一簇,所以文件『AOB001.SA1』需要存儲在不小於一簇的扇區的數據區內。因此該文件『AOB001.SA1』先劃分成簇後再存儲。在圖8中,將文件『AOB001.SA1』按簇的大小劃分成五個扇區,並將劃分好的扇區存儲在編號為003、004、005、00A和00C的簇中。
圖9所示實施例為已劃分成多個扇區的文件『AOB001.SA1』在存儲時,需要如何設置所述根目錄登記項和FAT並存儲。在本圖中,該文件『AOB001.SA1』的開始存儲在簇003中,因此將該簇號003寫入所述根目錄登記項的『文件的第一簇編號』中,以表示該簇存儲的是該文件的第一片段。該文件『AOB001.SA1』的後續片段存儲在簇004和005中。因此,當該FAT的登記項003(004)對應於存儲文件『AOB001.SA1』第一片段的簇003時,該登記項則表示簇004是存儲文件『AOB001.SA1』下一片段的簇。同樣,當該FAT的登記項004(005)和005(00A)分別對應於存儲文件『AOB001.SA1』下一片段的簇004和005時,這些登記項則分別表示簇005和00A是存儲該文件『AOB001.SA1』下一片段的簇。如圖9中的箭頭fk1、fk2、fk3、fk4、fk5...所示,通過讀取其簇號被按順序寫FAT登記項的那些簇,所有經劃分文件『AOB001.SA1』而得到的扇區均能讀取。如上所述,該半導體存儲卡100的用戶區的訪問是以簇為單位進行的,每個簇均與一條FAT登記項相聯繫。應當指出將與存儲AOB文件結束片段的簇(圖9實施例中的簇00C)相對應的FAT登記項設置成簇號『FFF』,以表示相應簇存儲的是文件的結束片段。
上述闡述給出了本發明所述固定存儲器1中的文件系統的概況。下面的闡述將著重於實施方案的原理,闡述如何調整簇邊界和可擦塊的邊界,也就是如何使所述系統區和用戶區的邊界與兩個可擦塊之間的邊界相一致。該實施方案的兩種改進方案目的是實現這種邊界的一致。第一種改進方案是將簇的大小設置為可擦塊大小的1/n(n是1、2、4、8、16或32)。圖10A所示為可擦塊和簇之間的關係。這裡,一簇定義為一個可擦塊大小的1/n,即16KB的1/n(32扇區的1/n)。圖10B所示為n=1時的多個簇,圖10C所示為n=16時的多個簇。
第二種改進方案是在所述卷區中劃出一塊區域,其大小是一簇的m倍,用於記錄所述卷管理信息。圖11A假設了當將s個可擦塊中的s個簇的m個簇分配用於記錄卷管理信息時的狀態。如果將m個簇劃出用於記錄卷管理信息,那麼所述卷管理信息將佔用這s個可擦塊的m/n區域,剩餘(s·n-m)/n區域將劃為用戶區。
通過將所述卷管理信息的大小設置成簇大小的m倍,便能將卷管理信息和s·n-m個簇壓縮,使得簇不會跨越兩個可擦塊之間的邊界。
圖11B所示為n=1時分配用於記錄卷管理信息的簇的數量,圖11C所示為n=16時分配用於記錄卷管理信息的簇的數量。這些圖清楚表示通過設置所述卷管理信息,多個簇與多個可擦塊準確配合,這樣不會有簇跨越可擦塊之間的邊界。其大小已按該方法調整過的卷區的詳細設置如圖5所示。在該圖中,所述分區控制區的大小為NOM,分區引導區的大小為RSC,雙FAT的大小為尺寸1×2,根目錄登記項的大小為RDE,總扇區大小為TS,一簇所含的扇區數為SC。
圖5中,雙FAT中FAT的大小「尺寸1」根據總扇區大小TS確定。特別是,該值用下述公式11計算得出。
公式11對於FAT12尺寸1(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512對於FAT16尺寸1(((((TS-(RSC+RDE))/SC)+2)×16/8)+511)/512這裡,FAT12代表一個為每個FAT登記項分配12比特的文件系統,FAT16代表一個為每個FAT登記項分配16比特的文件系統。
在公式11中,(TS-(RSD+RDE))為用戶區進行記錄所需簇的數量。並將該數加上指示數2,其結果再與該FAT登記項的字節長度(12或16)相乘,然後除以8便得到該FAT的字節長度。在該計算結果上加上511位元組的偏移值,並將該結果除以一個扇區的字節長度512計算出存儲一個FAT所需的扇區數。如果FAT的數據長度為1位元組,那麼用521除該FAT數據將會得到FAT的扇區數被計算為0。但是,公式11加上偏移值511將確保所計算的尺寸1具有至少一個扇區。
在圖5中,需指出的重要一點是所述被稱為NOM的分區控制區大小。將NOM的值設置為『SC+α』以保證所述分區控制區和系統區屬於不同的簇。按此方法設置NOM的原因是為了在系統區修改簇發生失誤時防止對分區控制區的衝擊影響。換句話說,如果該分區中所述主引導記錄和分區表扇區受到這種修改失誤的損壞,那麼該半導體存儲卡100將不再由所述訪問裝置200識別為授權的記錄介質。為了避免這種不利情況而將NOM的值設置為SC+α。
SC+α值的設置按如下方法進行。用(RSC+RDE+尺寸1×2)除以SC計算出α值,這樣RSC、尺寸1×2和RDE的和是SC的整數倍,並從SC中減去這次計算的餘數。如果已考慮這些因素,則NOM按公式12計算。
公式12NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC如按該方法定義α,將會形成所述分區控制區和用戶區以便準確地配合多個可擦塊,並且所述系統區和用戶區之間的邊界將與可擦塊的邊界一致。如果能實現這種邊界對準,那麼所有後續簇的邊界將與可擦塊的邊界一致。
這裡,所述實施例說明了當SC為32扇區(16KB),RDE為32扇區,RSC為1扇區,且TS為65600扇區時如何計算該NOM和尺寸1。如果所述雙FAT的類型為FAT12,則用公式11按下述方法計算尺寸1。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512=(((((65600-(1+32))/SC)+2)×12/8)+511)/512=7扇區另外,用公式12按下述方法計算該NOM。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC=(32-(1+32+7×2)%32)+32=47扇區圖12根據計算出的大小列舉出分區控制區、系統區和簇。所述主引導記錄和分區表扇區, 以及預留信息1/2安排在扇區PSN000~PSN031,所述預留信息2/2、分區引導區和雙FAT安排在扇區PSN032~PSN063。所述根目錄登記項安排在扇區PSN064~PSN095。在該卷區中,32個扇區構成一個可擦塊,因此,所述主引導記錄、分區表和預留信息1/2安排在第一可擦塊001中,所述預留信息2/2、分區引導區和雙FAT安排在第二可擦塊002中,所述根目錄登記項安排在第三可擦塊003中。將所述根目錄登記項存儲在同樣大小的可擦塊中,以便使用戶區與系統區之間的邊界與可擦塊之間的邊界相匹配。
當所述文件系統操作單元9在非易失存儲器1上執行初始化時,便會實現上述卷區的配置。執行該初始化處理的程序將參照圖13的流程圖進行闡述。
在步驟S1,根據要格式化區域的大小(TS),以及所述半導體存儲卡100、訪問裝置200所使用的作業系統和來自用戶的指令的總存儲量,由所述文件系統操作單元9確定簇的大小。
一旦確定了簇的大小,在步驟S2,所述文件系統操作單元9利用簇的大小SC和總扇區大小TS來確定應當使用哪個文件系統FAT12或FAT16。一旦確定了文件系統FAT12和FAT16之一,所述文件系統操作單元9便在步驟S3確定所述根目錄登記項的長度RDE(在這些實施方案中RDE定為32扇區),接著,在步驟S4中確定所述分區引導區的長度RSC(在這些實施方案中RSC定為1個扇區)。一旦得出RDE和RSC,所述文件系統操作單元9便會在步驟S5中用公式11計算出該FAT的數據長度。然後,在步驟S6中,所述文件系統操作單元9用公式12計算出NOM,以致所述主引導記錄和分區引導區位於不同的簇中。
在上述步驟S5~S7中執行的處理實際上與前述公式11和12中執行的處理完全一樣。但是,在該流程圖中先介紹在步驟S7~S9中執行的處理。在步驟S7,所述文件系統操作單元9用公式13計算出所述用戶區中的簇數CN。
公式13CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC在步驟S8,所述文件系統操作單元9用下面的公式14計算出FAT的數據長度。
公式14對於FAT12尺寸2=(((CN+2)×12/8+511)/512對於FAT16尺寸2=(((CN+2)×16/8+511)/512在步驟S9,所述文件系統操作單元9將在步驟S5中計算出的尺寸1與在步驟S8中計算出的尺寸2進行比較,如果這兩個值相等,則結束處理。如果這兩個值不相等,則所述文件系統操作單元9在步驟S10用尺寸1替代尺寸2,轉到步驟S6,並計算NOM。由於尺寸1現在因替代而成為一個不同值,因此通過轉至步驟S6能計算出一個不同的NOM。然後,所述文件系統操作單元9根據新計算出的NOM在步驟S8再計算尺寸2,並且,如果尺寸1和尺寸2相等,那麼步驟S9為「是」,並結束處理。
『ab經上述處理計算得到的NOM置入所述分區表中的『相對扇區』欄位,以表示在該分區起始扇區之前存在的扇區數量,並將TS置入該分區表中的『總扇區』欄位。
將所述SC置入分區引導區中的『每簇扇區數』欄位,以表示每簇中所含的扇區數。此外,將表示扇區數量的RDE與扇區長度512位元組相乘,然後除以32便得到文件登記項的數量,再將該數量置入所述分區引導區中的『根目錄登記項編號』欄位。將尺寸1置入所述分區引導區中的『每個FAT的扇區數』欄位,表示每個FAT中的扇區數量。所述訪問裝置200在確定所述 FAT、根目錄登記項和用戶區的位置時,將參考置入分區表和分區引導區的這些值。
這是對圖13中的流程圖的解釋。下述示例性計算將說明當TS為65568時,如何計算所述分區和系統的大小。
由於TS為65568,在步驟S1,所述文件系統操作單元9將簇的大小確定為32扇區。一旦將簇的大小確定為32扇區,在步驟S2,所述文件系統操作單元9就會根據所述簇的大小SC和總扇區的大小TS確定應使用FAT12文件系統。在這些實施方案中,RDE和RSC分別定為32扇區和1扇區,因此不執行步驟S3和S4的計算。在步驟S5,所述文件作業系統用公式11和12計算所述FAT的數據長度。這裡,由於FAT為FAT12,所以進行下面的計算。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512=(((((65568-(1+32))/SC)+2)×12/8)+511)/512=7扇區一旦計算出尺寸1,在步驟S6,所述文件系統操作單元9用公式12計算NOM,以便使所述主引導記錄和分區引導區位於不同的簇中。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC=(32-(1+32+7×2)%32)+32=49扇區一旦計算出NOM,在步驟S7,所述文件系統操作單元9用公式13計算在所述常規區中的簇數。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC=(65568-(1+32+7×2+49))/32=2046扇區在步驟S8,所述文件系統操作單元9用公式14計算所述FAT的數據長度。
對於FAT12尺寸2=(((CN+2)×12/8)+511)/512=(((2046+2)×12/8)+511)/512=6扇區在步驟S9,所述文件系統操作單元9比較在步驟S5計算出的尺寸1和在步驟S8計算出的尺寸2。這裡,尺寸1為7扇區,尺寸2為6扇區。由於這兩個值不相等,所以所述文件系統操作單元9轉到步驟S10,用尺寸1替代尺寸2,再轉到步驟S6並計算NOM。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC=(32-(1+32+6×2)%32)+32
=51扇區一旦計算出NOM,在步驟S7,所述文件系統操作單元9計算所述常規區中的簇數。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC(65568-(1+32+6×2+49))/32=2046扇區在步驟S8,計算所述FAT的數據長度。
對於FAT12尺寸2=(((CN+2)×12/8)+511)/512=(((2046+2)×12/8)+511)/512=6接著該計算,在步驟S9,所述文件系統操作單元9比較尺寸1和尺寸2,由於這兩個值相等,所以流程圖的處理結束。
如上所示,由於本實施方案能夠計算出NOM,所以所述分區和系統區的大小是所述可擦塊數量的整數倍,因此保證了簇的存儲不會跨越兩個可擦塊。簇的邊界與可擦塊的邊界一致,而所述卷管理信息的邊界與一個可擦塊的邊界一致,這樣,當對一個簇進行重寫或改寫時,需要擦除的可擦塊的數量就限制為一個,因此減少了任意一個可擦塊需要擦除的次數。因而縮短了向所述半導體存儲卡100寫入數據所需的時間,而且能夠延長非易失存儲器1的壽命。
第二實施方案第二實施方案提出一種安排將所述卷區分為一個普通用戶能訪問的區域(用戶數據區)和一個存儲保密數據的區域(保護區)。
第二實施方案中的訪問裝置200和半導體存儲卡100的結構如圖14所示。在該圖中所示的內部結構中,與圖3A中所示的相反,所述非易失存儲器1已提供了一個保護區,而且所述半導體存儲卡100和訪問裝置200也分別提供了保密處理單元11和12。
下面闡述提供的保密處理單元11,該單元執行對所述非易失存儲器1中的保護區的保密讀和寫。如圖15所示,該保密處理單元11包括系統區13、隱藏區14、AKE處理單元15、Ks解密單元16和Ks加密單元17。
所述系統區13是一塊用於存儲介質密鑰程序塊(MKB)和介質-ID的只讀區域。存儲在該區域中的MKB和介質-ID不能改寫。假設所述半導體存儲卡100和訪問裝置200相連,便通過該訪問裝置200讀取MKB和介質-ID。如果所述訪問裝置200利用該MKB、介質-ID和一種內部存儲的設備密鑰Kd正確地執行特定計算,便能得到正確的加密密鑰Kmu。
所述隱藏區14存儲所述加密密鑰Kmu的正確值,換句話說,如果所述訪問裝置200使用有效的設備密鑰Kd執行正確的計算,就應得到所述加密密鑰Kmu。
所述AKE(驗證和密鑰交換)處理單元15用詢問-響應方法執行所述訪問裝置200與半導體存儲卡100之間的相互驗證,校驗相對設備的真實性,如果該相對設備無效,則停止處理。但如果該相對設備有效,則在所述訪問裝置200與半導體存儲卡100之間共享一個加密密鑰(對話關鍵字Ks)。由所述訪問裝置200執行的驗證分三個階段首先,在第一詢問階段,該訪問裝置200產生一個隨機數,用所述加密密鑰Kmu對該隨機數進行加密,並將該加密的隨機數作為詢問值A傳遞給所述半導體存儲卡100;其次,在第一響應階段,該半導體存儲卡100利用內部存儲的加密密鑰Kmu解密所述詢問值A,並將該解密值作為響應值B傳遞給所述訪問裝置200;最後,在第一校驗階段,所述訪問裝置200利用其加密密鑰Kmu解密內部存儲的所述詢問值A,並將該解密值與所述半導體存儲卡100傳遞來的響應值B進行比較。
由所述半導體存儲卡100執行的驗證也分三個階段首先,在第二詢問階段,該半導體存儲卡100產生一個隨機數,用所述加密密鑰Kmu對該隨機數進行加密,並將該加密的隨機數作為詢問值C傳遞給所述訪問裝置200;其次,在第二響應階段,該訪問裝置200利用內部存儲的加密密鑰Kmu解密所述詢問值C,並將該解密值作為響應值D傳遞給所述半導體存儲卡100;最後,在第二校驗階段,所述半導體存儲卡100利用其加密密鑰Kmu解密內部存儲的所述詢問值C,並將該解密值與所述訪問裝置200傳遞來的響應值D進行比較。
如果所述訪問裝置200使用無效的加密密鑰執行相互驗證,則第一校驗階段的詢問值A和響應值B,以及第二校驗階段的詢問值C和響應值D將被判定為非匹配值,而且將停止相互驗證。但是,如果所述相對設備的真實性得到確認,那麼所述AKE處理單元15將計算出詢問值A和詢問值C的異或值,並通過利用所述加密密鑰Kmu解密該異或值便得到所述對話關鍵字Ks。
當與所述半導體存儲卡100相連的訪問裝置200輸出要寫入所述保護區的加密數據時,所述Ks解密單元16用所述對話關鍵字Ks解密這些在輸出前就已經由該對話關鍵字Ks加密了的數據。將通過該解密得到的這些數據寫入所述保護區內,作為原始數據。
所述Ks加密單元17接到由與所述半導體存儲卡100相連的訪問裝置200發出的讀數據指令,用所述對話關鍵字Ks加密存儲在保護區中的數據,然後向訪問裝置200輸出這些加密的數據。對所述保護區執行數據的讀和寫是在所述Ks解密單元16執行解密和Ks加密單元17執行加密之後進行的,所以,只有當所述半導體存儲卡100和相連的訪問裝置200成功地執行了AKE處理時,才能訪問所述保護區。
下面參照圖16中的包含所述保護區的卷區詳圖來闡述所述第二實施方案的卷區格式。在本圖中,如果所述卷區總的大小為『卷大小』,那麼用戶區是一塊從該卷區開始處延伸出的『卷大小×(1-β)』,並將接著該用戶區的『卷大小×β』區域劃為所述保護區。其中,β的最小設定值為0.01。例如,如果卷大小為64MB且β為0.01,則保護區設定在640KB。在所述文件系統操作單元9執行圖9所示的初始化處理時,便可實現所數用戶數據區和保護區的格式。
如下描述為一示例性計算,計算當所述用戶數據區中的總扇區數TS為124160時,該用戶數據區中的分區控制區和系統區的大小。
由於TS為124160,在步驟S1,所述文件系統操作單元9確定簇的大小為32扇區。一旦確定了簇的大小為32扇區,在步驟S2,該文件系統操作單元9便參照簇的大小SC和總扇區大小TS確定應使用FAT12文件系統。在這些實施方案中,所述RDE和RSC的大小分別定為32扇區和1扇區,所以不執行步驟S3和S4的計算。在步驟5,該文件作業系統用公式11和12計算所述FAT的數據長度。這裡,由於該FAT是FAT12,所以執行下述計算。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512=(((((124160-(1+32))/32)+2)×12/8)+511)/512=12扇區一旦計算出尺寸1,在步驟S6,所述文件系統操作單元9用公式12計算NOM,以便使所述主引導記錄和分區引導區位於不同的簇中。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC=(32-(1+32+12×2)%32)+32=39扇區一旦計算出NOM,在步驟S7,所述文件系統操作單元9用公式13計算在所述常規區中的簇數。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC=(124160-(1+32+12×2+49))/32=3877扇區在步驟S8,所述文件系統操作單元9用公式14重新計算所述FAT的數據長度。
對於FAT12尺寸2=(((CN+2)×12/8)+511)/512=(((3877+2×12/8)+511)/512=12扇區在步驟S9,所述文件系統操作單元9比較在步驟S5計算出的尺寸1和在步驟S8計算出的尺寸2。這裡,所計算的尺寸1和尺寸2均為12扇區,所以判定這兩個值相等,該流程圖處理結束。
當所述系統區和分區控制區是通過用上述計算公式計算出的TS、尺寸1和NOM構成時,所述保護區的配置如圖17所示。如果比較該圖與圖12,能夠看出所述雙FAT的大小已由14扇區增加為24扇區,而預留信息1/2和2/2的大小已由17扇區縮減為7扇區,這樣,分區控制區和系統區恰好安排在3個可擦塊中。
如下描述為一示例性計算,計算所述用戶數據區中的總扇區數TS為1280時,所述保護區中的分區控制區和系統區的大小。
由於TS為1280,在步驟S1,所述文件系統操作單元9確定簇的大小為2扇區(1KB的存儲器,並只有所述用戶數據區大小的1/16)。一旦確定了簇的大小為2扇區,在步驟S2,該文件系統操作單元9便參照簇的大小SC和總扇區大小TS確定應使用FAT12文件系統。在這些實施方案中,所述RDE和RSC的大小分別定為32扇區和1扇區,所以不執行步驟S3和S4。在步驟5,該文件作業系統用公式11和12計算所述FAT的數據長度。這裡,由於該FAT是FAT12,所以執行下述計算。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512
=(((((1280-(1+32))/2)+2)×12/8)+511)/512=2扇區一旦計算出尺寸1,在步驟S6,所述文件系統操作單元9用公式12計算NOM,以便使所述主引導記錄和分區引導區位於不同的簇中。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC=(2-(1+32+2×2)%2)+2=3扇區一旦計算出NOM,在步驟S7,所述文件系統操作單元9用公式13計算在所述常規區中的簇數。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC=(1280-(1+32+2×2+3))/32=620扇區在步驟S8,所述文件系統操作單元9用公式14計算所述FAT的數據長度。
對於FAT12尺寸2=(((CN+2)×12/8)+511)/512=(((620+2)×12/8)+511)/512=2在步驟S9,所述文件系統操作單元9比較在步驟S5計算出的尺寸1和在步驟S8計算出的尺寸2。這裡,所計算的尺寸1和尺寸2均為2扇區,所以判定這兩個值相等,該流程圖處理結束。
當所述系統區和分區控制管理區是通過用上述計算公式計算出的TS、尺寸1和NOM的大小構成時,所述保護區的安排如圖18所示。在本實施方案中,用戶數據區和保護區均含有一個分區控制區、一個系統區和一個保護區,所以,所述訪問裝置200將每個區均當作是一塊獨立的物理介質。這樣,雖然所述用戶數據區和保護區所含簇的大小不同,但該用戶數據區和保護區的邊界均能夠與可擦塊的邊界一致。
在上述實施方案中,即使所述卷區包括兩個區域—用戶數據區和保護區,這些區域的邊界也與可擦塊的邊界一致,所以,簇的重寫能夠在短時間內完成。而且,減少了可擦塊需要擦除的次數,因此,不會不必要地縮短所述非易失存儲器的壽命。
第三實施方案第三實施方案涉及一種在擦除可擦塊中存儲的數據時所使用的改進方法,其中所述可擦塊用邏輯地址和物理地址進行管理。在本實施方案中的訪問控制單元2的結構如圖19所示。圖中,該訪問控制單元2包括指令解碼單元21、邏輯/物理地址轉換單元22、讀控制單元23、分配變換單元24、寫控制單元25、擦除控制單元26和修改控制單元27。
所述指令解碼單元21接收由訪問裝置200發出的指令,並在發出點解碼出指令的原始內容。如果收到讀指令,指令解碼單元21命令所述讀控制單元23從非易失存儲器1中讀出數據(讀)。如果收到寫指令,指令解碼單元21則命令所述寫控制單元25將數據寫入非易失存儲器1(寫)。如果收到指定一個未經擦除的塊作為訪問目標的寫指令,則指令解碼單元21命令所述修改控制單元修改(重寫)存儲在非易失存儲器1中的數據(修改)。如果收到獲取狀態指令,指令解碼單元21則命令所述分配變換單元24讀出已擦塊的列表(稍後再解釋該規定)。如果收到擦除指令,指令解碼單元21則命令所述分配變換單元24擦除所指定的可擦塊。
所述邏輯/物理地址轉換單元22包含一個表示可擦塊的邏輯和物理地址之間對應關係的地址對應表。當由所述訪問裝置200確定出所要訪問的邏輯地址時,該邏輯/物理地址轉換單元22便參照所述地址對應表中所示的該邏輯地址的對應關係,將該邏輯地址轉換為相應的物理地址,並向所述讀控制單元23、分配變換單元24和修改控制單元27輸出該物理地址。
當所述訪問裝置200發出讀指令時,便由所述寫控制單元23進行控制,使得該訪問裝置200能夠讀出存儲在該讀指令所定義的讀位置上的數據。
所述分配變換單元24存有一個已擦塊列表,在該列表中,已經擦除的可擦塊的物理地址按先進先出(FIFO)的格式安排。當所述訪問裝置200發出讀指令,該分配變換單元24則判斷被定義為讀目標的邏輯地址所對應的物理地址是否在該已擦塊列表中存在。如果判斷這個物理地址存在,則該分配變換單元14向所述寫控制單元25輸出該物理地址,並將該物理地址從已擦塊列表中刪除。如果相應物理地址所指示的可擦塊還未經擦除,則該分配變換單元24就會將所述已擦塊列表的始端物理地址作為讀目標分配給該邏輯地址,並向所述讀控制單元25輸出這個已分配的物理地址,而將先前作為讀目標分配給該邏輯地址的那個物理地址加在所述已擦塊列表的結尾處。另外,當該訪問裝置200發出獲取狀態指令時,所述分配變換單元24便將該已擦塊列表中所示的物理地址轉換成邏輯地址,並向該訪問裝置200輸出一個用邏輯地址表指示已擦除可擦塊的已擦塊列表。如果指示一個邏輯地址的擦除指令已經由該訪問裝置200發出,那麼所述分配變換單元24將控制操作以便將對應於該邏輯地址的物理地址加入到所述的已擦塊列表中。
當收到對一個塊進行寫操作的寫指令時,所述寫控制單元25便根據分配變換單元24輸出的物理地址將數據寫入非易失存儲器1中。
擦除控制單元26按固定間隔進行輪詢來確定一個未擦塊的物理地址是否已被加到所述已擦塊列表中。如這個物理地址已被添加,則該擦除控制單元24擦除該物理地址所指示的可擦塊。
當收到對已經寫有數據的可擦塊進行修改的寫指令時,所述修改控制單元27便將數據從非易失存儲器1讀到所述工作存儲器3中,並對保持在該工作存儲器3中的數據進行修改,然後將這些修改後的數據從工作存儲器3寫入非易失存儲器1。這種由所述修改控制單元27執行的修改處理是通過與所述分配變換單元24的協同處理而完成的。由所述修改控制單元27執行的這種數據修改處理流程按時間順序如圖20所示。
在圖20A中所示的初始狀態,數據當前存儲在陰影塊中(塊的物理地址為001、002、004、007~015),且預留塊003、005和006已經經過擦除。表示已擦除塊的物理地址003、005和006按排在所述已擦塊列表中。在表示邏輯地址和物理地址之間的對應關係的地址對應表中,邏輯地址001、002、003、004和005分別對應物理地址001、002、003、004和005。
這裡,如果所述訪問裝置200所發出的寫指令指示將不同的值寫入邏輯地址為001的可擦塊中,那麼所述寫控制單元25便將寫入邏輯地址001的塊中的數據從所述非易失存儲器1轉到所述工作存儲器3中(見圖20A箭頭『①讀』)。然後寫控制單元25對這些寫入邏輯地址為001的塊中的數據進行修改,而這些塊存在於所述工作存儲器3中(見圖20A箭頭『②修改』)。
接下來在圖2B中,所述修改控制單元27將所述已擦塊列表中前面的物理地址003讀出,如箭頭BN1所示,並將數據寫入由該物理地址003所指示的塊中,如箭頭『③寫』所示。接著在圖20C中,所述修改控制單元27將其相應塊應被擦除的物理地址001安排在該已擦塊列表中,如箭頭④所示。
最後,所述修改控制單元27將對應的邏輯地址/物理地址互換,如圖2 0D所示。這裡,物理地址003分配給邏輯地址001,物理地址001分配給邏輯地址003。因而通過把數據寫入物理地址003便能實現將數據重寫入邏輯地址001,然後在邏輯和物理地址之間作相應的轉換。
下面將闡述所述訪問裝置200的內部結構。圖21所示為第三實施方案訪問裝置200中的文件系統操作單元9的內部結構。圖中所示的該文件系統操作單元9包括一個文件刪除單元28和一個優先擦除控制單元29。
所述文件刪除單元28通過更新從所述主存儲器7中讀出的FAT來刪除文件,並將更新後的FAT寫入所述半導存儲卡100。如果該應用程式8發出刪除文件的指令,則所述文件刪除單元28將通過把對應於存儲該文件片段的相應簇的FAT登記項設置為『0』來執行文件的刪除,『0』表示未被使用的那些簇。但是,存儲文件片段的這些簇(可擦塊)仍未恢復空白狀態,所以首先必須將這些簇擦除,才能在這些簇中存儲其它文件。因此,擦除處理所需時間的增加與刪除舊文件和記錄新文件的次數的增加成正比。
在等待來自應用程式8的指令時,所述優先擦除控制單元29向所述半導體存儲卡100發出獲取狀態指令,命令它讀出已擦除的空閒存儲器列表。一旦發出該指令及輸出所述已擦除空閒存儲器列表,該優先控制單元29便收到輸出的所述已擦除空閒列表,並將該列表與所述FAT進行比較,以便確定出在該FAT中設置為未使用的多個簇所對應的可擦塊。(當一個可擦塊包含多個簇時,只能確定出那些全部由未使用簇組成的可擦塊)。因此,在這些可擦塊中,也要確定已擦塊列表中不存在的那些塊。這些塊是既未使用也未經擦除的可擦塊,並且,所述優先擦除控制單元29向所述半導體存儲卡100發出擦除指令以命令將這些塊擦除。該擦除指令包括一個邏輯地址定義,以及一條將該邏輯地址對應的物理地址加入所述已擦塊列表中的指令。當由該擦除控制單元26執行輪詢時,如果通過發出這樣的擦除指令將一個物理地址加到所述已擦塊列表中,那麼由該擦除指令所指示的塊的擦除方法與其他未使用和未擦除塊的處理方法相同。而且對於所有未使用和未擦除的塊均執行同樣的處理過程。下面將參照圖22的流程圖來對所述優先擦除控制單元29所執行的詳細過程進行闡述。
在本實施方案中,如果啟動該優先擦除控制單元29,它會轉到步驟S21~S22的循環處理。在步驟S21,該優先擦除控制單元29判斷是否已收到所述應用程式8發出的訪問指令,在步驟S22,判斷是否已過預定的輪詢時間。如果已收到所述應用程式8發出的一條指令,那麼該優先擦除控制單元29轉到步驟S23,按照該指令執行文件系統操作並訪問所述半導體存儲卡100。如果已過預定的輪詢時間,那麼該優先擦除控制單元29從步驟S22轉到步驟S24,並向該半導體存儲卡100發出獲取狀態指令以讀出所述已擦的空閒列表,接著,在步驟S25,該優先擦除控制單元29處於一種等待狀態,等待讀出所述已擦塊的列表。一旦讀出所述已擦塊列表,則在步驟S26由該優先擦除控制單元29為所有由FAT中設置為未使用的簇組成的可擦塊和所述已擦塊列表中不存在的可擦塊定義邏輯地址。
在步驟S27,所述優先擦除控制單元29判斷是否存在未使用的仍未擦除的可擦塊,如果不存在這樣的塊,則馬上返回到步驟S21~S22的循環處理。如果存在這樣的塊,則該優先擦除控制單元29執行步驟S28~S30的循環處理。換句話說,該優先擦除控制單元29向所述半導體存儲卡100發出擦除指令,以保證將在步驟S26確定的未使用和未擦除的塊的每個物理地址上的數據擦除。一旦發出了這樣的指令,便在所述已擦塊列表中加入每個這種塊的物理地址,並進行擦除。
下面將參照圖23A和23B對上述優先擦除控制單元29的操作進行更詳細的闡述。在圖23A所示的初始化狀態中,在該FAT中將一個可擦塊地址0001設置為正在使用,而物理地址0003,0005和0006作為已擦塊地址而被安排在所述已擦塊列表中。數據存儲在圖中塗成陰影的文件系統的塊中(地址為0000,0001,0002,0004)。在該狀態下,如果沒有來自所述應用程式8的指令,並且預定的輪詢時間已過(步驟S21否,步驟S22是),所述訪問裝置200中的該文件系統操作單元9則通過向所述半導體存儲卡100發出獲取狀態指令來讀出已擦塊列表(步驟S24),並將讀出的已擦塊列表與所述FAT進行比較(步驟S2 5)。比較結果是確定出那些在FAT中設置為未使用的塊,以及那些邏輯地址在所述已擦塊列表中不存在的塊(可擦塊地址為0000,0002,0004)(步驟S26)。由於這些塊未使用,所述文件作業系統單元9便向所述半導體存儲卡100發出擦除指令以便將這些可擦塊擦除(步驟S28~S30)。因此,如圖2 3B所示,地址0000,0002和0004被加到所述已擦塊列表中,並擦除這些地址所指示的可擦塊。
在上述實施方案中,所述訪問裝置200從所述半導體存儲卡100讀出已擦塊列表,並將該讀出的已擦塊列表與所述FAT進行比較,以便確定仍未擦除的未使用的可擦塊,並命令該半導體存儲卡100將這些塊擦除。所以,在等待來自所述應用程式9的指令時,該文件作業系統單元9能將那些仍未擦除的未使用的可擦塊擦除,並使這些未使用塊的這種擦除更有效地執行。
另外,無論何時所述訪問裝置200空閒,均能執行對未使用塊的擦除,所以能大大增加執行塊擦除的機會。因此不會存在所述可擦塊列表中物理地址不夠的危險,而且修改和重寫塊時的處理效率會大大提高。
在本實施方案中的所述訪問裝置200中,將所述已擦塊列表從所述半導體存儲卡100中讀出,並確定未使用的和仍未擦除的塊。但是,在該半導體存儲卡100的訪問控制單元2中,所述擦除控制單元26可以根據所述FAT確定出既未使用也未經擦除的塊,然後刪除這些塊。這裡,該訪問控制單元2將所述已擦塊列表中的物理地址換成邏輯地址,並把已轉換的地址傳給所述訪問裝置200。但也可以將該已擦塊列表和地址對應表傳給所述訪問裝置200,在該訪問裝置200中執行將物理地址換成邏輯地址。數據擦除可以在刪除一個文件時執行,或在執行其它指令時作為並行處理執行。而且,其它信息,例如管理未擦除可擦塊的物理地址的未擦塊列表可以用來代替管理已擦可擦塊的物理地址的已擦塊列表。本實施方案用FAT進行描述,但信息可以用列表或其他類似的形式進行存儲。
第四實施方案第四實施方案闡述的是通過用已擦塊表代替已擦塊列表來執行所述第三實施方案的處理所實現的改進方案。圖24所示為第四實施方案的訪問裝置2002的內部結構。如果比較該圖與圖19,能夠看出所述已擦塊列表已由一個已擦塊表替代。第四實施方案中的該已擦塊表由多個對應於每個可擦塊的登記項組成。如果一個塊經過擦除,則相應的登記項置為『1』,且如果一個塊未經擦除,則相應的登記項置為『0』。該已擦塊表通過在該已擦塊表中置『1』或置『0』來表示每個可擦塊的擦除狀態。
由於所述已擦塊列表已由所述已擦塊表代替,所以在第四實施方案中由所述寫控制單元25和擦除控制單元26執行的處理在下述方面與第三實施方案中所執行的不同。
當所述訪問裝置200產生一條寫指令時,所述第四方案中的寫控制單元25便根據該已擦塊表判斷是否將該指令確定的寫目標擦除,並判斷其是否為一未使用的塊。這樣,如果所述寫目標塊是未擦除塊,則在往該塊中寫入新數據之前,由所述寫控制單元25令所述擦除控制塊26將該塊中的數據擦除。換句話說,第四實施方案中的所述寫控制單元25在執行寫數據前會將數據擦除。
接著,將闡述第四實施方案中所述優先擦除控制單元29的處理過程。在等待來自所述應用程式8的指令時,該優先擦除控制單元29執行可擦塊的擦除。該擦除過程與第三實施方案中所述相同,並在圖25的流程圖中示出。該流程圖除了已將「已擦塊列表」換成『已擦塊表』之外,其他均與圖22中所示一致。而且由於內容無太大變化,所以這裡省去詳細的闡述。下面將參照圖26A和26B闡述第四實施方案中所述優先擦除控制單元29執行的處理過程。
在圖26A所示的初始狀態中,將地址為0001的塊作為已用塊進行管理,並將該已擦塊表中的地址為0003、0005和0006的塊作為已擦除數據的塊進行管理。數據存儲在該圖中已塗為陰影的非易失存儲器的塊中(地址為0000,0001,0002,0004)。在該初始狀態下,如果塊未被使用,但卻包含有數據,並已產生向這些未用塊寫入數據的寫指令,則需要執行數據擦除處理。在本實施方案中,如果優先擦除控制單元29正等待所述應用程式8發出指令,而且已過了預定輪詢時間(步驟S21否,步驟S22是,),則該優先擦除控制單元29通過向所述半導體存儲卡100發出獲取狀態指令來讀出所述已擦塊表(步驟S24),並將該讀出的已擦塊表與所述FAT進行比較(步驟S25)。該比較的結果是找出在該FAT中被設置為未使用的、且其邏輯地址不由所述已擦塊表管理的塊(可擦塊地址為0000,0002,0004)(步驟S26)。在圖26中,對於地址為0000,0002和0004的塊,在所述FAT和已擦塊表中設置為『0』,所以這些塊未使用且仍作為未經擦除的塊。由於這些塊未使用,因此所包含的數據可以安全地進行擦除,於是所述優先擦除控制單元29發出擦除指令,以便將該已擦塊表中每個相應的地址設置為『1』,以指示將要擦除這些塊(步驟S28~S30)。因此,擦除未使用塊中的所有數據,然後所述已擦塊表將這些塊作為已擦除的塊進行管理。所以,無需任何擦除處理,便能通過分配未用塊來完成數據寫處理,而且能夠實現高速寫數據,所述未用塊的分配將在本說明書後面講述。
第五實施方案第五實施方案提出了一種解決文件分段存儲問題的方法。按慣例,文件分段存儲指的是將一個文件劃分成多個文件片段,然後將這些片段不連續地存儲在存儲器中的處理。如果在一種記錄介質,如一張光碟或一張磁碟上不連續地存儲多個文件片段,那麼需要查找大量碟片以讀出非連續存儲的文件片段,於是會加長讀處理的時間。為了解決這種分段存儲產生的問題,所述文件系統操作單元9將非連續存儲的文件片段讀出,再將它連續地存儲在存儲器中(消除分段存儲)。如果完成上述處理,則無需執行任何磁碟搜索便能順利地讀出構成一個文件的那些文件片段,且能高速讀出數據。這總結概括了多磁碟分段存儲問題的解決方法。下面將考慮發生在所述半導體存儲卡100中的分段存儲。當從所述半導體存儲卡100讀出數據時,無需進行磁碟搜索,所以如果所述文件片段為非連續存儲,那麼由於該原因使處理過程加長是不可能的。
但是,雖然磁碟搜索不是問題,但分段存儲仍會導致下述情況大幅增加,1.發送指令時發生的附加操作;2.讀FAT時發生的高速緩存失誤(兩種情況將在下面做更詳細的描述);因此讀出一個文件所需的時間加長了。
1.發送指令時發生的附加操作如果參照圖27A~27B闡述能夠更容易理解分段存儲在發送指令時對附加操作方面帶來的影響。圖27A示例性說明了一種情況,其中將一個48KB的文件劃分為3個16KB的文件片段並隨機地存儲在三個區域中。圖27B示例性說明了一種情況將一個48KB的文件存儲在連續的存儲區域中。在圖27A和27B中,所述文件系統操作單元9向所述非易失存儲器發出格式為『讀(地址,大小)』的讀指令來執行讀數據。這裡,『地址』代表讀目標的邏輯地址,『大小』代表要讀出數據的大小。每次讀指令所花的時間等於讀出數據時間的和,該時間與所讀數據的長度和發送該讀指令所需的一定附加時間成比例。在圖27A中所示的數據排列中,讀出文件1必須發送三條讀指令『讀(0000,16KB)』,『讀(0002,16KB)』和『讀(0004,16KB)』。這意味著讀出該文件所需的時間為36ms(=(8+4)×3)。另一方面,如果按圖27B安排數據,則讀出該文件全部48KB數據只需簡單地發送一條讀指令『讀(0000,48KB)』即可。因此在本例中讀出該文件所需的時間為28ms(=(8×3+4))。這樣便能夠看出發送指令時產生的附加操作與文件片段存儲的隨機程度成正比。
2.FAT高速緩存FAT緩存是一種將安排在所述半導體存儲卡100系統區中的FAT讀入到所述訪問裝置200的內部存儲器中的先行讀操作,所述訪問裝置200允許通過訪問其內部存儲器來高速查詢該FAT。如果所述訪問裝置200是一臺具有小規模內部存儲器的便攜設備,則需經常高速緩存該FAT,並通過依次讀取存儲器中連續存儲的FAT片段對該FAT進行高速緩存。但是,如果FAT已經分段存儲,那麼高速緩存該FAT將會把包含該FAT的片段和包含其它數據的片段兩者按順序讀入所述內部存儲器中。如果不讀FAT片段而只將數據讀入所述內部存儲器,則將讀入大量非高速緩存目標的數據,便會產生高速緩存失誤。如果發生大量這種高速緩存失誤,那麼所述內部存儲器的讀入次數便會相應增加,進而延長讀該FAT所需的時間。
儘管存在這兩個問題,但為了解決所述半導體存儲卡100中的分段存儲問題而採用與解決磁碟中該問題相同的方法是不明智的。其原因是若要修改存儲在所述半導體存儲卡塊中的數據,則需要擦除已存儲的數據,而且與在磁碟上執行同樣操作所需的時間相比,該擦除需要更長的處理時間。在本實施方案中,推薦通過改變物理地址與邏輯地址之間的對應關係來作為防止分段存儲時增加指令附加操作時間和產生高速緩存失誤的對策。換言之,通過改變物理地址與邏輯地址之間的對應關係,使存儲FAT片段的塊能夠用邏輯地址連續地表示,而無需改變其在存儲器中的物理安排。
如圖27A所示,當把一個48KB的文件劃分為3個16KB的片段存儲在3個獨立的存儲區中時,在這些塊用邏輯地址連續指示的情況下,所述訪問裝置200能夠讀出存儲在這三個區域(塊)中的文件片段。而讀操作是通過發出一條讀指令以指明這些邏輯地址的第一條地址及該文件的長度(這裡為48KB)來執行的。另外,如果將所述FAT劃分為3個片段,並存儲在三個存儲區(塊)中,那麼,只要這些塊的邏輯地址連續地指示,該訪問裝置200就能夠將這些非連續存儲的FAT片段依次讀入所述內部存儲器中。這裡,通過發出依次將每個連續的邏輯地址指定為讀目標的讀指令來執行讀操作。如執行這種處理,便不再發生高速緩存失誤。所以,即使多個文件和FAT片段隨機存儲在多個區域中,由於能夠為這些區域分配連續的邏輯地址,也就解決了發出讀指令時所產生附加操作的問題,也能避免高速緩存失誤的產生。
所述優先擦除控制單元29應用邏輯地址解決分段存儲問題的操作將參照圖28所示的流程圖進行闡述。該闡述還將參照圖29,該圖表示所述流程圖中變量t,u,v和y所對應的實際對象。在步驟S50,該優先擦除控制單元29為變量x和y賦初值(x←1,y←1)。這表示在第一個文件的第一片段處所完成的處理。接著,在步驟S51,該優先擦除控制單元29將對應於存儲第x個文件第y個片段的塊的邏輯地址s與對應於存儲第x個文件第y+1個片段的塊的邏輯地址t進行比較,以確定這些塊是否相鄰。如圖29A所示,當第y個片段和第y+1個片段存儲在不相鄰的可擦塊中、且順序是y→y+1時,步驟S52為「是」,且所述優先擦除控制單元29轉到步驟S54。
如圖29B所示,當這些片段的存儲順序為y+1→y時,所述優先擦除控制單元29便轉到步驟S53,並將物理地址u分配給邏輯地址t,而且將物理地址v分配給邏輯地址s。因此,在圖29B中用箭頭rv1和rv2示出這種將物理地址分配給邏輯地址的變化。接著,在步驟S54,所述優先擦除控制單元29判斷存儲第y個片段的可擦塊邏輯地址與存儲第y+1個片段的可擦塊的邏輯地址是否連續。如圖29C所示,如果所述存儲第y+1個片段的可擦塊緊接著存儲第y個片段的可擦塊,則關係式s+1=t成立,所以步驟S54為「是」,並將處理轉到步驟S56。如果所述存儲第y個片段與第y+1個片段的可擦塊不相鄰,則關係式s+1=t不成立,步驟S54為「否」,並將處理轉到步驟S55。這裡,如果對應於邏輯地址s+1的物理地址為w,則在步驟S55中將存儲第y+1個片段的可擦塊的物理地址v分配給邏輯地址s+1,並將物理地址w分配給邏輯地址t。如圖29D,在存儲第y個和第y+1個片段時,如果執行步驟S55的處理,則地址對應關係將如箭頭rv3和rv4所示發生變化。
一旦完成上述處理,所述優先擦除控制單元29便在步驟S56作出判斷變量y是否為最終片段的編號。如果y不是最終編號,所述優先擦除控制單元29便在步驟S57將y加1,並將處理轉到步驟S51。通過執行步驟S56的檢驗,對第x個文件的每個片段重複S51~S57的處理,並在步驟S57將y加1。
換言之,如果步驟S56為「是」,則所述優先擦除控制單元29在步驟58判斷x是否為該文件最後編號,並且,如回答是「否」,則轉到步驟S59,將變量X加1(x←x+1),並在步驟S60為變量y賦初值。因此,通過執行步驟S58的檢驗,對所有文件重複執行步驟S51~S57的處理,並在步驟S59對變量y加1。
本實施方案提出的對分段存儲所產生問題的解決方法將參照圖30所示的實例進行闡述。在圖30A所示的初始狀態中,組成文件1的片段文件1-1/3,1-2/3和1-3/3存儲在對應邏輯地址0000,0001和0004的可擦塊中。另外,組成文件2的片段文件2-1/4,2-2/4,2-3/4和2-4/4存儲在對應邏輯地址0002,0003,0005和0006的可擦塊中。
存儲片段文件2-1/4的可擦塊的對應地址(邏輯地址0002)接著存儲片段文件1-2/3的邏輯地址0001,並且存儲片段文件1-3/3的可擦塊對應的邏輯地址為0004。
如果將圖28流程圖的處理方法應用於該圖的實施例,則片段文件1-1/3和片段文件1-2/3分別對應於邏輯地址0000和0001,這樣,這些片段的安排順序便與相應邏輯地址的順序相同,且不用互換其對應關係。但是,如果注意到片段文件1-2/3和1-3/3之間的關係,則可以看出當存儲片段文件1-2/3的可擦塊對應於邏輯地址0001時,對應於下一個邏輯地址0002的可擦塊將是文件2-1/4。因此,步驟S54為「否」,且處理轉到步驟S55。於是,在步驟S55,存儲片段文件1-1/3的可擦塊其邏輯地址和物理地址之間的對應關係將與存儲片段文件2-1/4的可擦塊其邏輯地址和物理地址之間的對應關係進行互換。因此,片段文件1-2/3和1-3/3便能用連續的邏輯地址表示,於是將邏輯地址0004分配給存儲片段文件2-1/4的可擦塊的物理地址0002,反過來,將邏輯地址0002分配給存儲片段文件1-3/3的可擦塊的物理地址0004、。這樣變化之後,物理地址與邏輯地址之間的對應關係如圖30B所示。一旦完成了對片段文件1-3/3的處理,便執行對片段文件2-2/4的處理。在圖30B中,片段文件2-1/4和2-2/4之間的關係為片段文件2-1/4存儲在對應邏輯地址0004的可擦塊中,其下一片段文件2-2/4存儲在對應邏輯地址0003的可擦塊中。這樣,附加在這些片段上的邏輯地址應按逆序排列。所以,步驟S52為「否」,且處理轉到步驟S53,在這裡將對應於片段文件2-1/4和文件2-2/4的地址順序互換。這裡,將對應於存儲片段文件2-1/4的可擦塊的物理地址0002分配給邏輯地址0003,並將對應於存儲片段文件2-2/4的可擦塊的物理地址0003分配給邏輯地址0004。這樣處理的結果是組成文件1和文件2的文件片段均用連續的邏輯地址指示。
在本實施方案中,即使文件片段存儲在不連續的存儲區中,也能為這些存儲區分配連續的邏輯地址,這樣便減少了在發出讀指令時所產生的附加操作以及在高速緩存FAT和文件時所產生的高速緩存失誤。
第六實施方案第六實施方案闡述了一種改進方法,該方法應用於用分發業務在所述非易失存儲器中記錄不同內容,以及在可攜式重放設備上重現所記錄的這些內容。在該情形下,具有諸如音樂、圖像、遊戲和文本等多種屬性的文件將被存儲在所述半導體存儲卡100中。如果根據文件類型,文件區在是否可讀或可編輯方面是有所差別的,那麼所述訪問裝置200中的文件系統操作單元9就需要在執行讀或編輯之前對該文件的內容進行核對。如果每次讀或編輯文件時均需要進行這種核對,那麼由該文件系統操作單元9執行的處理就會變得複雜。因此,在數字通用盤(DVD)中使用通用盤格式(UDF)為每個文件設置一種擴充屬性,這樣,無需查看該文件的內容便能夠瞬間識別出文件中所存數據的類型。
圖31所示為一種擴充屬性的實施例。圖中所示的該屬性是根據所述UDF中的實施用途擴充屬性而形成的一種新類型的擴充屬性。該擴充屬性包括屬性類型2000,屬性子類型2010,預留區2020,屬性長度2030,實施用途長度2040,實施標識符2050(與所述UDF中實施用途擴充屬性的欄位相同,所以這裡略去更詳細的說明)以及實施用途2060。所述實施用途2060包括一個為所述擴充屬性的標題部分存儲檢驗和的標題檢驗和2061,一個存儲文件名的名稱2063和一個存儲文件屬性的特徵位2062。將所述特徵位2062的每一位設置成『0』或『1』來表示文件屬性。該特徵位2062的第一位表示該對應文件是否為文本文件,第二位表示該對應文件是否為圖像文件,第三位以上的區域為預留區。
如果該擴充屬性存儲在所述半導體存儲卡100中,有一個困難是明顯的。即如前所述,該半導體存儲卡100的卷管理信息服從ISO/IEC9293標準提出的數據格式,因此沒有規定為每個文件給定一種擴充屬性。
在本實施方案中,所述擴充屬性存儲在保護區和備份區至少一個區域中。由於在第二實施方案中已經闡述過所述保護區,因此在這裡略去進一步的闡述。所述備份區獨立於所述用戶區中常規區的管理。當所述非易失存儲器的用戶區中出現壞扇區時,分配變換單元24便從所述備份區中選出一個扇區取代該壞扇區。圖32所示為含有壞扇區的半導體存儲卡100的內部結構。通過在所述保護區或備份區中存儲不能在FAT文件系統中定義的新擴充屬性,便能夠為每個文件設置這種屬性。而且,由於通常用戶所用的用戶區和用戶數據區使用的是與新設置的擴充屬性完全無關的普通文件系統,所以該系統與其它系統兼容。另外,由於所述訪問裝置200隻需要執行每種文件類型所必需的操作,所以該訪問裝置200執行的操作更少,因而能夠減少訪問裝置200的存儲器尺寸。而且,由於僅藉助於所述擴充屬性信息而不必藉助於該文件的內容便能判斷出每個文件的文件類型,因而能夠實現高速操作。
第七實施方案本實施方案提出將FAT文件系統中的文件設置為禁止寫和禁止讀,以進一步加強文件的保護。在通常的FAT文件系統中,能夠在文件登記項中對獨立文件的屬性設置為寫禁止和讀禁止。當所述訪問裝置200與所述半導體存儲卡100相連時,所述文件系統操作單元9便將卷管理信息讀出並保存,並藉助於特定文件的文件屬性來判斷是否能對該文件進行讀或寫。如果所述訪問裝置200中的應用程式8通過所述文件系統操作單元9對半導體存儲卡100進行訪問,那麼所述文件登記項中的屬性有效。但是,如果該應用程式8對所述半導體存儲卡100的訪問是跳過所述文件系統操作單元9,並通過向該半導體存儲卡100發出直接寫或讀指令來執行寫或讀,那麼在所述文件登記項中設置的任何寫禁止或讀禁止屬性將沒有意義。這裡,該實施方案提出如圖33所示構造所述半導體存儲卡100,這樣,即使所述應用程式8直接訪問該半導體存儲卡100,寫禁止和讀禁止也將有效。圖33所示為第七實施方案中的半導體存儲卡100的內部結構。該圖的特點是所述非易失存儲器1具有包含了塊屬性表的備份區。
所述塊屬性表由對應於所述卷區中可擦塊的登記項組成。如果一個登記項設置為『1』,則對應的塊為寫禁止。並且,如果一個登記項設置為『2』,則對應的塊為讀禁止。在第五實施方案中闡述的文件系統操作單元9和訪問控制單元2除了根據文件登記項進行操作外還根據塊屬性表執行操作。如果所述應用程式8命令該文件系統操作單元9打開已設置屬性的文件,那麼該文件系統操作單元9便在對應該文件的文件登記項中設置該屬性。例如,如果所述應用程式8已收到指令將某一文件設置為寫禁止,則將相應文件登記項的屬性設置為寫禁止。如果該應用程式8已收到指令將文件設置為讀禁止,則將相應文件登記項的屬性設置為讀禁止。如果該應用程式8已收到指令設置隱藏屬性,則所述文件系統操作單元9在相應文件登記項中設置讀禁止屬性。
如果用這種方式在文件登記項中設置文件屬性,所述文件系統操作單元9則將文件劃分成簇大小的片段,並在所述用戶區的多個簇中記錄這些片段。在所述簇中記錄這些文件片段後,所述文件系統操作單元9在所述塊屬性表中的對應於每個存儲該文件的可擦塊的登記項中設置所述的文件屬性。如果禁止對該文件執行寫操作,那麼所述文件系統操作單元9便在與存儲該文件片段的每個簇相對應的登記項中設置寫禁止屬性,如果該文件屬性是讀禁止,則在與存儲該文件片段的每個簇相對應的登記項中設置讀禁止屬性。如果該文件屬性為隱藏,則所述文件系統操作單元9在與存儲該文件片段的每個簇相對應的登記項中設置讀禁止屬性。
如果用這種方法在所述用戶區中記錄該文件,則根據所述塊屬性表中示出的屬性對塊進行讀或寫數據。換言之,如果所述訪問裝置200發出讀指令,所述讀控制單元23則查閱對應於該目標地址的塊屬性表中的登記項。如果該登記項表示允許讀,則讀控制單元23從該讀目標地址所指示的塊中將數據讀出,否則,如果該登記項指示禁止讀,則不從該讀目標地址所指示的塊中讀出數據。
如果所述訪問裝置200發出寫指令,則所述寫控制單元25或修改控制單元27查閱塊屬性表中對應該寫目標地址的登記項。如果該登記項指示允許寫,所述寫控制單元25或修改控制單元27則將數據寫入該寫目標地址指示的塊中,並且,如果該登記項指示禁止寫,則不把數據寫入該寫目標地址所指示的塊中。
這種寫和讀控制既能在所述應用程式8發出寫或讀指令時經所述文件系統操作單元9執行,也能在所述應用程式8跳過該文件系統操作單元9直接發出寫或讀指令時執行。所以不管所述訪問裝置200發出的指令是否經過該文件系統操作單元9,都能限制塊的讀和寫。本實施方案中的文件系統操作單元9將參照圖34中的實施例進行闡述。在圖34A中,文件1所包含的數據存儲在地址為0000、0002和0003的可擦塊中,文件2所含數據存儲在地址為0001和0004的可擦塊中,文件3包含的數據存儲在地址為0005的可擦塊中,而文件4所包含的數據存儲在地址為0006的可擦塊中。圖34B示出了存儲文件1時的狀態,該文件已經設置了寫禁止屬性。在塊屬性表中,與存儲文件1片段的塊(地址為0000,0002和0003)相對應的登記項設置為『1』,表示寫禁止屬性。如果用這種方法設置所述的塊屬性表,那麼所述寫控制單元25將拒絕在地址為0000,0002和0003的塊上執行寫操作指令。
圖34C所示為在所述非易失存儲器1中存儲文件2時的狀態,該文件已經設置了讀禁止屬性。在本例中,指示讀禁止屬性的特徵位設置在所述塊屬性表內的對應於文件2的登記項中。然後,將該文件2劃分為多個片段,並將這些片段存儲在所述用戶區的多個塊中。
當在邏輯地址為0001和0004的塊中存儲文件2的文件片段時,所述塊屬性表中對應於這些塊的登記項被設置為『2』,指示讀禁止屬性。如果用這種方法設置所述塊屬性表,那麼所述讀控制單元23將拒絕執行從地址為0001和0004的塊中讀出數據的指令。
在上述實施方案中,能在所述半導體存儲卡100中對應於每個塊設置讀禁止和寫禁止屬性,所以,即使所述應用程式8跳過所述文件系統操作單元9直接訪問該半導體存儲卡100,該半導體存儲卡100也能防止對被禁止文件的訪問。因此,通過用這種方法將存儲文件的塊設置讀禁止和寫禁止屬性,能保證對該文件的保護,而且,如果該文件取得版權,那麼還能實現版權保護。
在本實施方案中,所述表示寫禁止屬性的特徵位用「1」表示,表示讀禁止屬性的特徵位用「2」表示,但這些僅為示例,而且本發明不必受這種特徵位的限制。此外,在本實施方案中,塊屬性表用於給所述非易失存儲器1中的每個塊附加讀和寫禁止屬性,但是,如果要為每個單獨塊設置一種屬性,也可以使用列表或類似的結構。在本實施方案中,所闡述的方法用於在所述非易失存儲器1中將讀和寫禁止屬性設置為塊屬性,但除了這些實施方案描述之外的信息也可以用作塊屬性。實施例包括了塊管理,所以只有擁有固定特權的用戶才能獲得訪問權;或者給每個塊一個用戶ID,只允許擁有該ID的用戶才有訪問權;或者為每個用戶單獨設置塊訪問權。在上述對文件系統的闡述中,使用了一種FAT文件系統,但使用諸如UDF或WindowsNTTM中所用的新技術文件系統(NTFS)或定製文件系統等其它常規文件系統也可獲得相似的效果。此外,在這些實施方案中,一個可擦塊所包含的扇區數為32,但這只是一個實施例,一個可擦塊的扇區數可以比該數多或少。
工業應用性如上所述,本發明中的半導體存儲卡100延長了所述非易失存儲器1的壽命。因此,當用這種半導體存儲卡100記錄通過數位音樂分發所獲得的音樂內容時,即使重複地進行記錄,也即先擦除這些音樂內容,然後再頻繁地記錄其它的音樂內容,也不會縮短該非易失存儲器1的壽命。所以,一塊單獨的半導體存儲卡100能夠用來反覆記錄經數位音樂分發而獲得的音樂內容。
權利要求
1.一種對半導體存儲卡執行文件訪問的訪問裝置,所述半導體存儲卡具有一個包含多個扇區的存儲區,所述存儲區內的每組2i個連續扇區組成一個塊,i為0或正整數,塊是能夠執行數據擦除的最小單位,該訪問裝置包括計算單元,可被操作用於計算卷管理信息的大小;預留單元,可被操作用來預留一個用於記錄所述卷管理信息的第一區域以及一個用於記錄用戶數據的第二區域,所述第一區域所具有的數據長度大於所計算的卷管理信息並且包括三個或更多的塊,而第二區域由接著第一區域的塊組成;以及記錄單元,可被操作用來在所述第一區域裡記錄卷管理信息、在第二區域裡記錄用戶數據,其中所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,而且所述記錄單元在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
2.權利要求1的訪問裝置,其中所述第一區域的第一塊由所述的第一扇區和一第一片段組組成,該第一片段組用於記錄預留信息的一部分,而且所述的直接位於所述第一區域的最後一塊之前的一個或多個連續塊以一第二片段組開始,該第二片段組用於記錄預留信息的一部分,所述的分區引導區信息和文件分配表被記錄在該第二片段組之後。
3.權利要求1的訪問裝置,其中所述計算單元可被操作用來通過將用於記錄所述分區引導區信息、文件分配表和根目錄登記項的扇區數相加而計算出其和SUM;所述的第一區域由m×2j個扇區組成,其中j為正整數,所述預留單元可被操作用來通過根據{公式1}計算出m值而預留出第一區域,{公式1}NOM+SUM=2j×m,NOM為扇區數;而且所述記錄單元可被操作用來通過將扇區數NOM減1而計算出在所述第一扇區和分區引導區之間存在的扇區數。
4.權利要求3的訪問裝置,其中所述記錄單元可被操作用來在記錄所述卷管理信息時在所述分區表中設置所述的扇區數NOM。
5.權利要求3的訪問裝置,其中在多個扇區中,每組2j個扇區中的數據作為一個簇被管理,其中j為0或正整數,一個或多個簇作為一個文件被管理,所述的文件分配表是一種雙文件分配表,所述的文件分配表為每個文件指明了與該文件相對應的各簇之間的連結,以及把根據存儲區內需要被管理的簇數而已計算出來的文件分配表的大小加倍,由此來計算被用來記錄上述是雙文件分配表的文件分配表的扇區數。
6.權利要求5的訪問裝置,其中所述文件分配表有多個登記項、與若干需要被記錄到所述第二區域裡的簇相對應的若干登記項,而且每條登記項表示了在同一文件中到其它簇的連結;所述訪問裝置包括接收單元,可被操作用來接收在所述存儲區內對扇區總數的設定;所述計算單元包括第一計算單元,可被操作用來通過用所述扇區總數除以扇區數2j計算出總簇數,而且可被操作用來通過將所述總簇數乘以一條登記項的位長度計算出所述文件分配表的大小,以及所述預留單元包括第二計算單元,可被操作用來通過將所述文件分配表的大小與分別構成所述分區引導區信息和根目錄登記項的扇區數相加而計算出其和SUM,並將該和SUM代入{公式1}計算出m值。
7.權利要求6的訪問裝置,其中所述存儲區包括只有當與所述半導體存儲卡相連的設備已得到授權驗證時才能由該設備進行訪問的保護區,和不管所述相連設備的授權是否得到驗證均能由該設備進行訪問的用戶數據區;所述接收單元可被操作用來從所述訪問設備之外的源中接收對分配給每個所述保護區和用戶數據區的扇區數和簇數的設定;所述第一計算單元可被操作用來根據所接收的設定為每個所述保護區和用戶數據區計算文件分配表的大小;以及所述第二計算單元可被操作用來分別通過將保護區大小和用戶數據區大小中的每一個與構成所述分區引導區信息的扇區數及構成根目錄登記項的扇區數相加,以便分別計算出該保護區和用戶數據區的兩個和SUM,再將這兩個和SUM的每個值代入{公式1},分別計算出該保護區和用戶數據區的m值。
8.權利要求7的訪問裝置,其中所述保護區內的簇與所述用戶數據區內的簇在大小上是不同的。
9.權利要求6的訪問裝置,其中所述記錄單元能執行(a)第一處理將分成多個片段的用戶數據在所述第二區域內記錄為若干簇,所述多個片段的每個片段被存儲在該第二區域中的若干簇的一簇中;(b)第二處理在所述文件分配表中設置多個登記項,所述多個登記項的每個登記項指示簇之間的一個連結;以及(c)第三處理在所述根目錄登記項中記錄一個文件名和表示該文件第一簇位置的位置信息。
10.權利要求9的訪問裝置,其中所述文件名的一部分被記錄在所述的用戶數據區中。
11.一種以計算機可讀格式存儲程序的記錄介質,用於初始化計算機以便在一個半導體存儲卡上執行文件訪問,所述半導體存儲卡具有一個包含多個扇區的存儲區,所述存儲區內的每組2i個連續扇區組成一個塊,其中i為0或正整數,塊是能夠執行數據擦除的最小單位,該記錄介質使計算機執行如下步驟計算步驟,即計算卷管理信息的大小;預留步驟,即預留一個用於記錄所述卷管理信息的第一區域以及一個用於記錄用戶數據的第二區域,所述第一區域所具有的數據長度大於所計算的卷管理信息並且包括三個或更多的塊,而第二區域由接著第一區域的塊組成;以及記錄步驟,即在所述第一區域裡記錄卷管理信息、在第二區域裡記錄用戶數據,其中所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,而且在所述的記錄步驟中,在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
12.權利要求11的記錄介質,其中所述第一區域的第一塊由所述的第一扇區和一第一片段組組成,該第一片段組用於記錄預留信息的一部分,而且所述的直接位於所述第一區域的最後一塊之前的一個或多個連續塊以一第二片段組開始,該第二片段組用於記錄預留信息的一部分,所述的分區引導區信息和文件分配表被記錄在該第二片段組之後。
13.權利要求11的記錄介質,其中在所述的計算步驟中,通過將用於記錄所述分區引導區信息、文件分配表和根目錄登記項的扇區數相加而計算出其和SUM;所述的第一區域由m×2j個扇區組成,其中j為正整數,在所述的預留步驟中,根據{公式1}計算出m值,{公式1}NOM+SUM=2j×m,NOM為扇區數;而且在所述的記錄步驟中,通過將扇區數NOM減1而計算出在所述第一扇區和分區引導區之間存在的扇區數。
14.權利要求13的記錄介質,其中在所述的記錄步驟中,在記錄所述卷管理信息時在所述分區表中設置所述的扇區數NOM。
15.權利要求13的記錄介質,其中在多個扇區中,每組2j個扇區中的數據作為一個簇被管理,其中j為0或正整數,一個或多個簇作為一個文件被管理,所述的文件分配表是一種雙文件分配表,所述的文件分配表為每個文件指明了與該文件相對應的各簇之間的連結,以及把根據存儲區內需要被管理的簇數而已計算出來的文件分配表的大小加倍,由此來計算被用來記錄上述是雙文件分配表的文件分配表的扇區數。
16.權利要求15的記錄介質,其中所述文件分配表有多個登記項、與若干需要被記錄到所述第二區域裡的簇相對應的若干登記項,而且每條登記項表示了在同一文件中到其它簇的連結;所述記錄介質還包括以下的計算機動作接收步驟,即接收在所述存儲區內對扇區總數的設定;所述計算步驟包括第一計算子步驟,即通過用所述扇區總數除以扇區數2j計算出總簇數,而且通過將所述總簇數乘以一條登記項的位長度計算出所述文件分配表的大小,以及所述預留步驟包括第二計算子步驟,即通過將所述文件分配表的大小與分別構成所述分區引導區信息和根目錄登記項的扇區數相加而計算出其和SUM,並將該和SUM代入{公式1}計算出m值。
17.權利要求16的記錄介質,其中所述存儲區包括只有當與所述半導體存儲卡相連的設備已得到授權驗證時才能由該設備進行訪問的保護區,和不管所述相連設備的授權是否得到驗證均能由該設備進行訪問的用戶數據區;在所述的接收步驟中,從所述訪問設備之外的源中接收對分配給每個所述保護區和用戶數據區的扇區數和簇數的設定;在所述第一計算子步驟中,根據所接收的設定為每個所述保護區和用戶數據區計算文件分配表的大小;以及在所述第二計算子步驟中,分別通過將保護區大小和用戶數據區大小中的每一個與構成所述分區引導區信息的扇區數及構成根目錄登記項的扇區數相加,以便分別計算出該保護區和用戶數據區的兩個和SUM,再將這兩個和SUM的每個值代入{公式1},分別計算出該保護區和用戶數據區的m值。
18.權利要求17的記錄介質,其中所述保護區內的簇與所述用戶數據區內的簇在大小上是不同的。
19.一種初始化計算機的初始化方法,用於在一個半導體存儲卡上執行文件訪問,所述半導體存儲卡具有一個包含多個扇區的存儲區,所述存儲區內的每組2i個連續扇區組成一個塊,其中i為0或正整數,塊是能夠執行數據擦除的最小單位,該初始化方法包括如下步驟計算步驟,即計算卷管理信息的大小;預留步驟,即預留一個用於記錄所述卷管理信息的第一區域以及一個用於記錄用戶數據的第二區域,所述第一區域所具有的數據長度大於所計算的卷管理信息並且包括三個或更多的塊,而第二區域由接著第一區域的塊組成;以及記錄步驟,即在所述第一區域裡記錄卷管理信息、在第二區域裡記錄用戶數據,其中所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,而且在所述的記錄步驟中,在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
20.一種包含存儲區的半導體存儲卡,所述存儲區包括(1)只有當與所述半導體存儲卡相連的設備已得到授權驗證時才能由該設備進行訪問的保護區,和(2)不管所述相連設備的授權是否得到驗證均能由該設備進行訪問的用戶數據區;所述的保護區和用戶數據區包括多個扇區,每組2i個連續扇區組成一個塊,其中i為0或正整數,塊是能夠執行數據擦除的最小單位,所述的保護區和用戶數據區中的至少一個包括第一區域,包括三個或更多的塊,用於記錄卷管理信息;以及第二區域,由接著第一區域的塊組成,用於記錄用戶數據;所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,其中在所述第一區域的第一塊的第一扇區裡記錄所述主引導記錄和分區表,在所述第一區域的最後一塊裡記錄根目錄登記項,以及在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。
21.權利要求20的半導體存儲卡,其中所述第一區域的第一塊由所述的第一扇區和一第一片段組組成,該第一片段組用於記錄預留信息的一部分,而且所述的直接位於所述第一區域的最後一塊之前的一個或多個連續塊以一第二片段組開始,該第二片段組用於記錄預留信息的一部分,所述的分區引導區信息和文件分配表被記錄在該第二片段組之後。
22.權利要求20的半導體存儲卡,其中所述的第一區域由m×2j個扇區組成,其中j為正整數,在所述第一扇區和分區引導區之間存在的扇區數是通過將扇區數NOM減1而被計算出,所述的扇區數NOM滿足{公式1}{公式1}NOM+SUM=2j×m,其中SUM表示通過把用於記錄所述分區引導區信息、文件分配表和根目錄登記項的扇區數相加而計算出的總和。
23.權利要求22的半導體存儲卡,其中所述的扇區數NOM被設定在所述的分區表中。
24.權利要求22的半導體存儲卡,其中在多個扇區中,每組2j個扇區中的數據作為一個簇被管理,其中j為0或正整數,一個或多個簇作為一個文件被管理,所述的文件分配表是一種雙文件分配表,所述的文件分配表為每個文件指明了與該文件相對應的各簇之間的連結,以及把根據存儲區內需要被管理的簇數而已計算出來的文件分配表的大小加倍,由此來計算被用來記錄上述是雙文件分配表的文件分配表的扇區數。
全文摘要
本發明涉及對半導體存儲卡執行文件訪問的裝置和方法及該半導體存儲卡,其中該卡具有一個包含多個扇區的存儲區,其中預留一個記錄卷管理信息的第一區域以及記錄用戶數據的第二區域;所述卷管理信息包括主引導記錄、分區表、分區引導區信息、文件分配表和根目錄登記項,記錄單元在第一區域的第一塊的第一扇區裡記錄主引導記錄和分區表,在第一區域的最後一塊裡記錄根目錄登記項,在直接位於所述第一區域的最後一塊之前的一個或多個連續塊裡記錄所述分區引導區信息和文件分配表。本發明可縮短修改可擦塊的處理時間,使非易失存儲器的壽命更長。
文檔編號G06F3/06GK1674159SQ20051005581
公開日2005年9月28日 申請日期2000年10月19日 優先權日1999年10月21日
發明者前田卓治, 廣田照人 申請人:松下電器產業株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀