專利名稱::具多重分割區(qū)及自動執(zhí)行功能的通用串行總線快閃存儲卡的制作方法
技術領域:
:本發(fā)明是有關一種電子數據快閃存儲卡,特別是指一種電子數據快閃存儲卡中的多功能快閃存儲系統(tǒng)。
背景技術:
:此應用是為2007年2月5日申請?zhí)柕?1/671,431號的美國專利"具有多分割區(qū)及自動執(zhí)行功能的通用串行總線電子數據快閃存儲卡"的延續(xù)案(CIP),此第11/671,431號的美國專利為2006年8月23日申請?zhí)柕?1/466,759號的美國專利"電子數據快閃存儲卡的快閃存儲器控制器"的延續(xù)案,而此第11/466,759號的美國專利又為2004年2月26日申請?zhí)柕?0/789,333號的美國專利"控制快閃存儲器的系統(tǒng)及方法"的延續(xù)案,"控制快閃存儲器的系統(tǒng)及方法"此專利申請已放棄。本發(fā)明的應用亦與1999年8月4日申請、申請?zhí)柕?9/366,976號、專利證書第6,547,130號的"具有指紋驗證功能的集成電路卡,,及2000年1月6曰申請、申請?zhí)柕?9/366,976號、專利證書第7,257,714號的"具有指紋驗證功能的電子數據儲存媒體"相關。在此將上述所有專利合并陳述如下。機密數據文件常常儲存于軟式磁盤或通過網路輸入密碼取得,或是將其加密編碼以確保安全,機密文件送出時會附加安全圖章且在傳送期間留下印記,然而密碼、加密編碼、安全圖章及印記有可能被破解,使機密數據文件及文件暴露在危險中,因此需解決未經授權存取機密信息的問題。隨著快閃存儲器技術演進,在攜帶式移動系統(tǒng)中作為儲存媒體的傳統(tǒng)磁性磁盤已被快閃存儲器所取代,快閃存儲器與軟性磁盤與磁性磁盤相較之下具有高阻抗、低功率消耗等優(yōu)點,且快閃存儲器小尺寸實體更益于移動系統(tǒng)使用。因此,快閃存儲器的趨勢隨著其適用于攜帶型移動系統(tǒng)及低耗電的特性而逐漸成長。通用串行總線電子數據快閃存儲卡為可攜式、低耗電的裝置,利用通用串行總線(USB)技術做為一主機電腦及一快閃存儲卡中快閃存儲裝置之間的接口,通用串行總線電子數據快閃存儲卡具有多種應用形式,如筆型驅動儲存裝置、MP3播放器及數碼相機等,在每一形式中通用串行總線電子數據快閃存儲卡都包含一快閃存儲裝置、一處理器及通用串行總線的接口電路。通用串行總線快閃存儲裝置在儲存數據上廣受大眾歡迎,傳統(tǒng)的通用串行總線快閃存儲裝置雖然只能儲存數據,但其受歡迎是在于可攜帶、易于刪除且易于格式化,但傳統(tǒng)的通用串行總線快閃存儲裝置具有一潛在問題,由于其易于刪除及格式化,可能不小心就會將數據刪除或格式化,因此,通用凈行總線快閃存儲裝置一般用于轉傳數據而不是用于永久儲存,儲存在通用串行總線快閃存儲裝置中的數據一般備份在其它地方,如硬盤。有鑒于此,本發(fā)明遂針對上述現(xiàn)有技術的缺點,提出一種利用多樣快閃存儲單元建立具有多重分割區(qū)及自動執(zhí)行功能的通用串行總線數據快閃存儲卡,其彈性、安全、簡單、成本經濟且為可實現(xiàn)的技術,以有效克服上述的該等問題。
發(fā)明內容本發(fā)明的目的在于克服現(xiàn)有USB快閃存儲裝置易被刪除和格式化的缺點,提供一種具有多重分割區(qū)及自動執(zhí)行功能的快閃存儲卡,使其方便、安全。本發(fā)明的實施例給出了一種電子數據快閃存儲卡,包含一快閃存儲裝置、一光學指紋傳感器、一輸入輸出接口電路及一處理單元,此電子數據快閃存儲卡適用于連接到終端主機電腦,如個人電腦、筆記型電腦或其他電子主機裝置,由于電子數據快閃存儲卡易于攜帶且耐用,因此可將個人數據加密成只讀后儲存于快閃存儲裝置之中,例如光學指紋傳感器與配對的卡片可讓未授權者無法使用此卡片。本發(fā)明的實施例特別給出了一種電子數據快閃存儲卡,利用類似格式化硬盤的格式化技術將快閃存儲器的復數快閃存儲單元分割成至少一分割區(qū),包括一自動執(zhí)行功能(例如一Autorun.inf文件及包含一軟件應用程序的至少一應用程序文件,此軟件應用程序是在開機時由Autorun.inf文件所送出)及一個或一個以上的磁盤分割區(qū)以儲存使用者可存取的數據,其中,自動執(zhí)行分割區(qū)是利用一支撐或促進自動執(zhí)行功能的文件系統(tǒng)(例如光盤只讀存儲器文件系統(tǒng)(CD-ROMFileSystem,CDFS)或通用文件系統(tǒng)(Universalfilesystem,UFS))來格式4匕,而磁盤分割區(qū)則是利用一典型的數據儲存文件系統(tǒng)(例如16位元文件配置表(FAT16)、32位元文件配置表(FAT32)或新技術文件系統(tǒng)(NTFS))來格式化。在一實施例中,末端使用者無法存取自動執(zhí)行分割區(qū),僅在特殊使用及有制造者制定的密碼時才可以存取。本發(fā)明的另一實施例中,當電子數據快閃存儲卡與主機電腦之間建立一通訊連接連接時,將電子數據快閃存儲卡初始化,并自動執(zhí)行儲存在Autorun.inf檔文件中的指令(例如利用卡片的控制單元來執(zhí)行軟件應用程序,或是使主機電腦執(zhí)行該軟件應用程序);在初始化完成(在部分例子中是全部完成)后執(zhí)行軟件應用程序,快閃存儲器控制器輸入一"標準"操作模式,包含下列三種模式其中的一一編程模式,快閃存儲器控制器啟動輸入/輸出接口電路以接收來自主機電腦的一數據文件并將數據文件儲存于磁盤分割區(qū)中;一數據恢復模式,快閃存儲器控制器從磁盤分割區(qū)中讀取數據文件,啟動輸入/輸出接口電路以將文件數據傳送給主;fe/L電腦;以及一數據重置模式,將數據文件從^磁盤分割區(qū)中消除。在本發(fā)明的一實施例中,將一快閃存儲裝置分割成包含自動執(zhí)行分割區(qū)及磁盤分割區(qū)等兩個或多個分割區(qū),且本發(fā)明提供一強化的電子數據快閃存儲卡,可幫助只有單一分割區(qū)的快閃存儲卡的操作。本發(fā)明的優(yōu)點包括電子數據快閃存儲卡具有小體積大儲存容量,因此可以使得數據傳輸更加便利;因為每個人都有獨一無二的指紋,電子數據快閃存儲卡只允許授權的人來存取其內所儲存的數據文件,因此也增加了安全性;第三,本發(fā)明的一個實施例提供一種加強的電子數據快閃存儲卡可以實現(xiàn)那些只有單一分割區(qū)的快閃存儲卡所無法做到的操作,舉個例子來說,電子數據快閃存儲卡10B可以被公司免費散布給使用者作為一個促銷禮品,自動執(zhí)行功能可能用做來播放事先錄制好的廣告,每次使用者使用該電子數據快閃存儲卡10B時,這廣告就會顯示到^使用者的終端機熒幕上;在一特殊實施例中,各分割區(qū)的容量巻(capacityvolume)會隨著一固定總大小容量而變化,此部分可利用一工具程序編程來達到,其優(yōu)點在于其讓數據儲存更具彈性。本發(fā)明的更多優(yōu)點將在后文結合實施例詳細說明。通過下面具體實施例詳加說明,當更容易了解本發(fā)明的目的、技術內容、特點及其所達成的功效。圖1A為本發(fā)明中電子數據快閃存儲卡及主機系統(tǒng)的實施例的方塊圖;圖1B為本發(fā)明中電子數據快閃存儲卡及主機系統(tǒng)的另一實施例的方塊圖;圖1C為本發(fā)明中詳述圖1B所示的電子數據快閃存儲卡的方塊圖;圖ID為本發(fā)明中一程序單元使用在電子數據快閃存儲卡的另一實施例的方塊圖;圖2為本發(fā)明操作圖ID中快閃存儲器系統(tǒng)的操作方法的簡單流程圖;圖3為本發(fā)明中快閃存儲器系統(tǒng)的另一實施例的方塊圖;圖4為本發(fā)明中快閃存儲器系統(tǒng)的實施例的詳細方塊圖,其可執(zhí)行第3圖中的快閃存儲器系統(tǒng)。圖5為本發(fā)明中的轉換表,其可執(zhí)行圖3的索引或圖4的地址轉換表。圖6A圖6B為本發(fā)明示范應用圖5中地址轉換表的示意圖;圖7-l和圖7-2為本發(fā)明提供圖5中轉換表的方法的流程圖;圖8-1和圖8-2為本發(fā)明中另一實施例的轉換表。圖9為本發(fā)明建立圖8中轉換表的方法的一特殊實施例的流程圖;圖IO為本發(fā)明中對圖4的快閃存儲器系統(tǒng)編程的方法的流程圖;圖11為本發(fā)明在制造商主機端設定一自動執(zhí)行功能的方法的流程圖;圖12為本發(fā)明中在使用者模式下執(zhí)行自動執(zhí)行功能的方法的流程圖;圖13為本發(fā)明中啟動一只讀存儲器(ROM)的方法的流程圖;圖14為本發(fā)明設定制造測試的安全分割區(qū)的方法的流程圖;圖14A為本發(fā)明一快閃存儲裝置中一數據區(qū)塊的實施例的方塊圖;圖15為本發(fā)明在使用者模式下操作一安全分割區(qū)的方法的流程圖;圖16為本發(fā)明在快閃存儲裝置中提供防護的程序的流程圖。附圖標記"i兌明10、10A-電子數據快閃存儲卡;l-卡片本體;2、2A-處理單元;3-存儲器裝置;3A-快閃存儲器裝置;4-指紋傳感器;4A-感應單元;5、5A-輸入/輸出接口電路;6-顯示單元;7-電源;8-功能按鍵組;9-外部電腦/主機電腦;12-讀卡機;13-接口總線;10B-電子數據快閃存儲卡;1-卡片本體;2B-處理單元;3B-快閃存儲器裝置;31-保留空間;31A-動態(tài)啟動程序碼;31B-控制程序碼;32-自動執(zhí)行分割區(qū);32A-Autorun.inf文件;32B-應用程序文件;33-磁盤分割區(qū);33A-公開數據;33B-安全數據;5B-輸入/輸出接口電路;6B-顯示單元;8B-功能按鍵組;9B-主機電腦;15-接口總線;20-電子數據快閃存儲卡;202-通用串行總線收發(fā)器;204-快閃存儲器控制器;206-中央處理器(CPU);208-只讀存儲器;210-快閃存儲器;212-主存儲器;214、216、218-分割區(qū);220-索引;21-快閃存儲器控制器;22-電源調整器;23-重置電路;230-使用者主機;232-使用者應用程序分割區(qū)/密碼/自動執(zhí)行;234-驅動程序;236-批量限制傳輸(bulk-only-transport,B0T);240-制造商主機;242-制造商應用程序;244-驅動程序;246-批量限制傳輸;400-快閃存儲器系統(tǒng);402-收發(fā)器;404-快閃存儲器控制器;440-制造商特殊指令解碼器;442-小型電腦系統(tǒng)接口光盤專用指令解碼器;444-小型電腦系統(tǒng)接口固定磁盤種類指令解碼器;446-小型電腦系統(tǒng)接口通用指令解碼器;456-末端點1(EP1);458-末端點2(EP2);406-中央處理器;408-只讀存儲器;410-快閃存儲器;414、416、418-分割區(qū);450-保留區(qū)域;412-主存儲器;420-索引/地址轉換表;430-邏輯單元編號(LUN)計數器;432-邏輯單元編號種類暫存器;434-邏輯單元編號基準地址暫存器;452-硬編碼(hard-coded)暫存器;454-末端點0(endpoint0,EP0)5500-轉換表;500、502、504、506-邏輯單元編號;510、512、514、516-靜態(tài)隨機存取存儲器基本地址;520、522、524、526-邏輯區(qū)塊地址LBAblk;530-邏輯單元編號基準地址暫存器;602-邏輯區(qū)塊地址行(LBAtbl);604-邏輯區(qū)塊地址基本地址;606-邏輯區(qū)塊地址;608-LBALSB;610-邏輯區(qū)塊地址;612-物理區(qū)塊地址分頁地址;614-物理地址區(qū)塊PBAm(轉換表的對應結果);616-位元偏移;800-轉換表;802-第一邏輯單元編號基準地址暫存器;804-第二邏輯單元編號基準地址暫存器;806-第三邏輯單元編號基準地址暫存器;810-索引;812-物理區(qū)塊狀態(tài)分頁;814-快閃存儲器保留區(qū)域;816-區(qū)塊;1440-物理區(qū)塊;1445-數據區(qū)域;1446-備用區(qū)域;1451-糾錯碼防護;1452-位元;1453-邏輯區(qū)塊地址的區(qū)段地址;1454-同位元牛文l^碼。具體實施方式本發(fā)明的實施例是針對通用串行總線電子快閃存儲卡進行說明,但本發(fā)明的創(chuàng)新速外部設備互聯(lián)總線(PCI-Express,PCIE)、安全數字(SecureDigital,SD)、存儲棒(memorystick,MS)、小型快閃存儲器(Compactflash,CF)、集成驅動電子設備(IntegratedDriveElectronics,IDE)及一串行ATA,即串行高技術裝置(SerialAdvancedTechnologyAttachment,SATA)快閃存儲卡上。這些應用可以適用于各種垂直螺旋掃描(Vertical-Helical-Scan,VHS)和多功能數字光盤(Digital-Versatile-Disk,DVD)格式上來自動播放其上的媒體內容,無論自動播放裝置是否插在主機上,它都可以實現(xiàn)與今日主流的媒體栽體(mediacarrier)同樣的功能。在接下來的敘述中,會先說明數個細節(jié)以提供對本發(fā)明的實施例更詳盡的說明,然而對于熟知此領域的人,本發(fā)明的具體實施例不需要這些細節(jié)即可被實施。在其他范例中,廣為人知的結構和裝置將以區(qū)塊圖的方式來呈現(xiàn),以避免混淆本發(fā)明的實施例。在本說明中提"一個(one)實施例,,或"一(an)實施例"意指一與實施例連接的特定功能、結構或特性至少出現(xiàn)在本發(fā)明中的其中一個實施例中,在本文件說明中出現(xiàn)"在一實施例中"一詞不見得是指同一件實施例。請參考圖1A,根據本發(fā)明的實施例,一電子數據快閃存儲卡10能被外部(主機)電腦9通過一接口總線13或一存儲卡讀卡器(圖中未示)或其他接口機制(圖中未示)進行讀取,并且包含一個卡片本體l、處理單元2、一個或多個快閃存儲器裝置3、一非必備的指紋傳感器(安全裝置)4、一輸出/輸入接口電路5、一非必備的顯示單元6、一非必備的電力來源(例如電池)7和一非必備的功能按鍵組8。快閃存儲器裝置3設置于卡片本體1上,并以特定方式存放包含一數據文件、一參照密碼和通過掃描允許訪問該數據文件人的指紋所記錄下來的參照指紋數據。舉例來說,該數據文件如之后所示可以是一照片文件或一文本文件,該快閃存儲器裝置3也包含啟動程序碼和控制程序碼。指紋傳感器4設置于卡片本體1上,用以掃描電子數據快閃存儲卡10的使用者的指紋來產生指紋掃描數據,本發(fā)明中使用指紋傳感器4的一個實施例已于相關前案美國專利號第6,547,130號"具指紋驗證功能的集成電路卡"中揭露,此處將以其所揭露的內容合并作為參考。上述專利所描述的指紋傳感器包含一掃描芯片陣列建立一個指紋掃描區(qū)域,指紋掃描數據是通過掃描芯片陣列的每一行所得到的多組掃描線數據結合而成,掃描芯片陣列的每一行會使用橫向掃描過也會縱向掃描過,每一個掃描芯片產生的第一個邏輯信號是根據偵測卡片本體持有人的指紋的隆起處,而第二個邏輯信號是根據偵測卡片本體持有人的指紋的凹陷處。輸入/輸出接口電路5設置在卡片本體1上,可啟動并通過接口總線13的引腳或存儲卡讀卡器以適當的方式用來建立與主機電腦9的通訊,在一實施例中,輸入/輸出接口電路5包含通用串行總線(USB)、個人計算機存儲卡國際協(xié)會(PersonalComputerMemoryCardInternationalAssociation,PCMCIA)和RS232接口結構的電路和控制邏輯,其可以連接或插到主機電腦對應的引腳。在另一實施例中,輸入/輸出接口電路5可包含一安全數字(SD)接口電路、多媒體卡(MMC)接口電路、小型快閃存儲器(CF)接口電路、存儲棒(MS)接口電路、高速外部設備互聯(lián)總線(PCI-Express)接口電路、集成驅動電子設備(IDE)接口電路和一串行高技術裝置(SATA)接口電路,這些接口與主機電腦9通過一接口總線13或一存儲卡讀卡器連接。處理單元2設置于卡片本體1上,并且通過相應的微導線或暴露在卡片本體1上的線路連接到存儲器裝置3、指紋傳感器4和輸出/輸入接口電路5。在一實施例中,以英特爾<^司(Intel)的可獲得產品為例,處理單元2為一8051、8052和80286的《效處理器,而在另一個實施例中,處理單元2包含一個RISC(精簡指令集計算機)、ARM(高級RISC架構)、MIPS或其它數字信號處理器,以本發(fā)明的面向來看,處理單元2受到一存放在快閃存儲器裝置3的程序所控制,如此處理單元2就得以在下列模式中運作(l)編程模式,此時處理單元2啟動輸出/輸入接口電路5來從主機電腦9接收數據文件、啟動程序碼數據、控制程序碼數據和非必需的指紋參照數據,并且將其數據存放快閃存儲器裝置3中(亦可通過壓縮的格式來增加存儲器裝置的可存放容量);(2)重置模式,在此模式中啟動程序碼數據和控制程序碼數據從快閃存儲器裝置中讀取且用以設定和控制處理單元2;(3)數據接收模式,在此模式中處理單元會從指紋傳感器4上讀取指紋掃描數據,與快閃存儲器裝置3的至少一個區(qū)段指紋參照數據進行比對來驗證是否該電子數據快閃存儲卡10的使用者可授權訪問放在快閃存儲器裝置3的數據文件,并且一旦驗證該使用者可授權訪問儲存在快閃存儲器裝置3中的數據文件,就會啟動輸出/輸入接口電路5來傳輸數據文件到主機電腦9;(4)程序碼更新模式,在此模式中存儲器裝置3內的啟動程序碼數據和控制程序碼數據會被升級;(5)數據重置模式,此模式中數據文件和指紋參照數據會被從存儲器裝置3中抹除,在操作過程中,主機電腦9通過存儲卡讀卡器或接口總線13以及輸出/輸入接口電路5來送出寫入和讀取要求到電子數據快閃存儲卡10上的處理單元2,其接著會使用快閃存儲器控制器(圖中未示)來讀取和/或寫入到相對應的一個或多個快閃存儲器裝置3,在一實施例中,一但偵測到存儲器裝置3中預先設置的存放數據文件和指紋參照數據時間期間已經耗盡,處理單元2會自動初始化數據重置模式操作。8051、8052和80286處理器為英特爾公司所開發(fā)的微處理器,這些處理器使用復雜指令集,8051和8052微處理器擁有一8位元的數據總線,而80286有一個16位元的數據總線,RISC、ARM和MIPS是使用精簡指令集架構的微處理器,8051和8052處理器廣泛使用于低成本的應用上,80286處理器可用于高速/高效能的應用上,RISC、ARM和MIPS處理器是成本較高的微處理器,適用于更復雜的應用像是進階糾錯碼(ECC)和數據加密上。非必備的電力來源7設置于卡片本體1上,并且連接到處理單元2和其他卡片本體1上的相關單元以提供所需的電力。非必備的功能鍵組8設置于卡片本體1上,連接到處理單元2并且可以對處理單元2所選擇的編程、數據接收、程序碼升級和數據重置模式等操作其中之一進行初始化,功能鍵組8可提供處理單元2密碼輸入的#:作,處理單元2會比對輸入的密碼和存放在快閃存儲器裝置3的密碼互相參照,一旦驗證輸入的密碼與參照密碼相符合,就會初始化授權電子數據快閃存儲卡10的操作。非必備的顯示單元6設置于卡片本體1上,并連接到處理單元2,利用處理單元2控制以顯示數據文件與主機電腦9的交換和顯示電子數據快閃存儲卡10的操作狀態(tài)。接下來為本發(fā)明的部分優(yōu)點第一,電子數據快閃存儲卡具有小體積大儲存容量,因此可以使得數據傳輸更加便利;第二,因為每個人都有獨一無二的指紋,了安全性。本發(fā)明額外的特色與優(yōu)點會之后會一一說明。圖1B為根據本發(fā)明另一個實施例中電子數據快閃存儲卡IOA的方塊圖,其中是以一通用感應單元4A取代先前敘述的指紋傳感器,可用的傳感器單元包含視網膜(眼睛)掃描器或是可用來偵測授權使用者的物理特征的語音辨識裝置,這些操作行為類似于參考之前指紋傳感器4所述的行為。圖1C所示為圖1B中處理單元2A更細節(jié)的部分,電子數據快閃存儲卡10A包含一個電源調整器22用來提供一個或多個電力供應,電力供應根據各單元不同元。可能需要電容(圖中未示)來增加電源穩(wěn)定性,電子數據快閃存儲卡10A包含一重置電路23以提供重置訊號給處理單元2A,一旦電源開啟,重置電路23插入一重置信號給所有的單元,在內部的電壓到達穩(wěn)定的程度之后,重置訊號就會被解除,電阻和電容(圖中未示)用來提供足夠的重置時序調整,電子數據快閃存儲卡10A也包含了石英水晶振蕩器(圖中未示)來提供標準的頻率到一處理單元2A中的PLL(鎖相環(huán))。根據本發(fā)明的一實施例,輸出/輸入接口電路5A、重置電路23和電源調整器22被整合起來且/或部分整合在處理單元2A中,一個高度整合整體上將降低整個空間的需求、復雜度且/或制造的成本。精簡和降低成本是可移除裝置如在此說明的電子數據快閃存儲卡的關鍵要素,現(xiàn)代集成電路封裝可以整合數個不同技術和材料的集成電路元件到一個集成電路封裝內,舉例來說,輸出/輸入接口電路是模擬和數字混和電路,可以與處理單元一起被整合到一個多芯片封裝(Multi-ChipPackage),重置電路和電源調整器為模擬電路,其可與處理單元被整合到多芯片封裝(MulU-ChipPackage),混合信號集成電路技術(mixedsignalICtechnology)的本質允許混合整合模擬與數字電路,因此一個高度整合可以將一個包含輸入/輸出接口電路、快閃存儲器控制器、重置電路和電源調整器的處理單元整合到一個芯片上。圖1D所示為本發(fā)明另一實施例中電子數據快閃存儲卡IOB的方塊圖,電子數據快閃存儲卡IOB移除指紋傳感器和其相關使用者認證程序,電子數據快閃存儲卡10B也包含一個高度整合輸出/輸入接口電路5B和一快閃存儲器控制器21的處理單元2B進而降低成本,輸出/輸入接口電路5B包含一個傳送器區(qū)塊、一個串行接口驅動區(qū)塊、數據緩沖區(qū)、暫存器和中斷琿輯,輸出/輸入接口電路5B連接到一個內部總線來允許多個輸出/輸入接口電路5B的元件與快閃存儲器控制器21溝通,快閃存儲器控制器21包含一個微處理器單元、只讀存儲器、隨機存取存儲器、快閃存儲器控制器邏輯、錯誤校正碼邏輯和通用輸出/輸入(GPIO)邏輯,在一實施例中,通用輸出/輸入連接到復數個發(fā)光二極管用以標示電源狀態(tài)、讀/寫快閃存儲器活動等與其他輸出/輸入裝置??扉W存儲器控制器21連接到一個或多個快閃存儲器裝置3B。主機電腦9B可為一臺包含一組功能鍵組8B的制造/測試系統(tǒng)或使用者系統(tǒng),當電子數據快閃存儲卡IOB運作時,功能鍵組8B通過接口總線15連接到處理單元2B;當主機電腦9B是一臺制造/測試系統(tǒng)時,功能鍵組8B用以選擇設定電子數據快閃存儲卡10B到格式化/測試模式和程序升級模式,而當主機電腦9B是制造/測試系統(tǒng),功能鍵組8B被用以選擇設定電子數據快閃存儲卡10B到數據寫入(程序化)模式、數據接收模式和數據重置模式,功能鍵組8B也可以用來提供輸入密碼功能給主機電腦9B作為授權進入格式化/測試或是程序碼更新模式(如輸入制造商定義密碼),或授權存取安全數據(如輸入使用者定義密碼)。處理單元2B比對輸入密碼與存放在快閃存儲器裝置3B中的參照密碼,并且當驗證輸入密碼跟參照密碼符合時,初始化授權電子數據快閃存儲卡10B的操作。當通過接口總線或存儲卡讀取機進行操作時,主機電腦9B包含顯示單元6B被連接到被連接到處理單元2B,顯示單元6B用以顯示數據文件與主機電腦9B互相交換,也用以顯示電子數據快閃存儲卡10B的操作狀態(tài),除此之外,下面會將詳述顯示單元6B可以選擇性的受到電子數據快閃存儲卡10B的控制進而自動地顯示一則廣告或當電子數據快閃存儲卡IOB手動地連接到主機電腦9B時顯示其他訊息等額外細節(jié)。在本發(fā)明的一實施例中,處理單元2B包含快閃存儲器類型演算法來偵測該快閃存儲器類型是否受到快閃存儲器控制器邏輯所支持,關于具有此智慧演算法的快閃存儲器控制器的上述相關關聯(lián)性被揭露在如正在申請中的美國專利申請?zhí)柕?1/466,759號,
專利名稱:為"電子數據快閃存儲卡的快閃存儲器控制器"的全文中。一般快閃存儲器系統(tǒng)的系統(tǒng)架構包含一個具有處理器的快閃存儲器控制器、只讀存儲器和隨機存取存儲器,其中啟動程序碼和控制程序碼存放在只讀存儲器作為只讀存儲器程序碼,一但電源啟動,處理器會取得該啟動程序碼來執(zhí)行,啟動程序碼會初始化系統(tǒng)元件并且載入控制程序碼到隨機存取存儲器,一旦控制程序碼被載入進到隨機存取存儲器之中,其會進一步控制系統(tǒng),控制程序碼包含一個或多個驅動程序來運行基準工作,比方說控制和配置存儲器、調整指令執(zhí)行的優(yōu)先權、控制輸出和輸入口等等,控制程序碼也包含了一個快閃存儲器類型偵測演算法和快閃存儲器參數數據。只讀存儲器是一種只能讀取的存儲器,在快閃存儲器控制器設計完成后并進入生產階段,只讀存儲器中的軟件程序碼就會被寫死必須不斷地開發(fā)一種新的快閃存儲器控制器來支持新的快閃存儲器,如此一來將非常損耗金錢和時間。根據本發(fā)明的一實施例,快閃存儲器裝置3B包含一個保留空間31(如一預先定義的快閃存儲器區(qū)塊)以存放動態(tài)啟動程序碼31A和控制程序碼31B,當在啟動時,快閃存儲器控制器21使用存放在控制器的只讀存儲器中的啟動程序碼來讀取動態(tài)啟動程序碼31A和控制程序碼31B到主存儲器,之后由快閃存儲器控制器21使用讀取的動態(tài)啟動程序碼31A和控制程序碼31B啟動和控制操作,通過在保留空間31中存放一部分快閃存儲器控制器21會使用到的啟動程序碼和控制程序碼,而非存放在快閃存儲器控制器的只讀存儲器中,啟動程序碼和控制程序碼可以被馬上升級,不需要更換快閃存儲器控制器,而且控制器的只讀存儲器大小可以被最小化。關于快閃存儲卡中的快閃存儲器包含存放啟動程序碼和控制程序碼的技術已揭露于2006年12月13號申請、申請?zhí)柕?1/611,811號的美國專利中,其
專利名稱:為"電子數據快閃存儲卡的快閃存儲器控制器"。此外根據本發(fā)明,快閃存儲器裝置3B的快閃存儲單元可用類似使用在硬盤磁盤機上的格式化技巧來分割區(qū)化出兩個或多個分割區(qū),其中至少包含一個自動執(zhí)行分割區(qū)32,其被格式化為一個文件系統(tǒng)以做為自動執(zhí)行(Autorun)功能之用,如光盤只讀文件系統(tǒng)(CD—ROMFileSystem,CDFS)或通用文寸牛系統(tǒng)(UniversalFileSystem,UFS),且至少一個;茲盤分割區(qū)33用典型的數據儲存文件系統(tǒng)進行格式4匕,如16位元文件配置表(16—bitFileAllocationTable,FAT16)文件系統(tǒng)、32位元文件配置表(32-bitFileAllocationTable,FAT32)文件系統(tǒng)或tH支術文件系統(tǒng)(NewTechnologyFileSystem,NTFS),自動執(zhí)行分割區(qū)32包含一Autorun.inf文件32A,當電子數據快閃存儲卡10B通過接口總線15連接到主機電腦9B時,其會被快閃存儲器控制器21所執(zhí)行,且一包含一個或多個軟件應用程序的應用程序文件32B會執(zhí)行回應從Autorun.inf文件32A傳過來的呼叫。關于自動執(zhí)行將說明更詳細的相關操作如后。磁盤分割區(qū)33包含數據,其可以是不需使用者定義密碼就可存取的公開數據33A,或者是需要密碼才能存取的安全數據33B。圖2所示為本發(fā)明的一實施例中簡化過的電子數據快閃存儲卡10B的操作流程圖,當電子數據快閃存儲卡10B和主機電腦9B的通訊連接建立后(如當電子數據快閃存儲卡IOB插入一電腦主機9B上的通用串行總線(USB)插槽時;區(qū)塊50為"是"的分支),電子數據快閃存儲卡10B電源啟動并初始化系統(tǒng)操作,并且與主機電腦9B建立連線(區(qū)塊52);接下來,快閃存儲器控制器21會根據啟動程序碼31A所提供的指令,執(zhí)行存放在Autorun.inf文件32A中的指令(如執(zhí)行軟件應用程序32B或讓主機電腦9B來執(zhí)行軟件應用程序32B),軟件應用程序32B的執(zhí)行初始化完畢后(在某些情形下為整個結束),快閃存儲器控制器21進入一"一般"操作模式,此時使用者可以在這個狀態(tài)存取存放在磁盤分割區(qū)33上的數據,且/或寫入新的數據到磁盤分割區(qū)33(如進行編程模式的操作,該模式中快閃存儲器控制器21啟動輸入/輸出接口電路5B來自主機電腦9B接收數據文件,并且存放數據文件到磁盤分割區(qū)33;或數據接收模式,該模式中快閃存儲器控制器21從磁盤分割區(qū)33讀取數據文件,并且啟動輸入/輸出接口電路5B來傳送數據文件到主機電腦9B;和一種數據重置模式,該模式中快閃存儲器控制器21從磁盤分割區(qū)33抹除掉數據文件)。通過快閃存儲器裝置3B分割區(qū)劃成兩個或多個分割區(qū)包含自動執(zhí)行分割區(qū)32和磁盤分割區(qū)33,本發(fā)明的一個實施例提供一種加強的電子數據快閃存儲卡可以實現(xiàn)那些只有單一分割區(qū)的快閃存儲卡所無法做到的操作,舉個例子來說,電子數據快閃存儲卡IOB可以被公司免費散布給使用者作為一個促銷禮品,自動執(zhí)行功能可能用做來播放事先錄制好的廣告,每次使用者使用該電子數據快閃存儲卡10B時,這廣告就會顯示到使用者的終端機焚幕上。根據本發(fā)明所制造的電子數據快閃存儲卡可以作為更多之用途,底下會描述更多個細節(jié)。第3圖所示為本發(fā)明中一特定實施例的一電子數據快閃存儲卡200的方塊圖,之后會參考作為一個快閃存儲器系統(tǒng)200,快閃存儲器系統(tǒng)200包含一個收發(fā)器202、快閃存儲器控制器204、中央處理器(CPU)206、只讀存儲器208、快閃存儲器210和一主存儲器212,在這個特定的實施例中,收發(fā)器202是一個通用串行總線收發(fā)器,注意快閃存儲器這個詞代表一個或多個快閃存儲器裝置,快閃存儲器控制器204是一個嵌入式控制器且掌控大部份的只讀存儲器208的韌體所提供之中央處理器指令,且/或存放在預先定義的快閃存儲器210區(qū)段。在本發(fā)明中,快閃存儲器210在初始格式化/測試操作期間被設定來包含多個分割區(qū)214、216、218,分割區(qū)的特定個數并不一定且依照特定的應用而定,快閃存儲器系統(tǒng)200使用多個214-218來提供多種功能,并依靠主存儲器212內的索引220來存取多個分割區(qū),這些功能可以包含如自動執(zhí)行功能、無保密數據儲存和保密數據儲存,實做這些多分割區(qū)214-218、索引220和這些示范功能的實施例將會在之后其他的圖例進行詳細的說明。在一般操作期間,快閃存儲器系統(tǒng)200可以連接到使用者主機230,該使用者主機230可以是個人電腦或是麥金塔個人電腦(MacintoshPC,其為蘋果公司的產品),該使用者主機230包含一使用者應用程序232和一驅動程序234其執(zhí)行批量限制傳輸(bulk-only-transport,BOT)協(xié)議236。在此特定實施例中,驅動程序234為一通用串行總線驅動程序,并且可以通過操作系統(tǒng)如視窗(Windows)操作系統(tǒng)提供。在格式化/測試模式操作期間,快閃存儲器系統(tǒng)200可以連接到制造商主機240,制造商主機240可為具有特殊編程硬件和軟件的個人電腦,在此特定實施例中,制造商主機240包含一制造商應用程序242以及驅動程序244其執(zhí)行批量限制傳輸協(xié)議246,在此特定實施例中,驅動程序246為一通用串行總線驅動程序。在將其運送到使用者手上前,制造商主機240格式化并測試快閃存儲器系統(tǒng)200,此格式化/測試模式操作讓快閃存儲器系統(tǒng)200建立多個分割區(qū)214、216和218并且用以執(zhí)行多種功能,如數據儲存和自動執(zhí)行功能,驅動程序246是一個特殊驅動程序(例如USBmfg.sys),其可以作為編程程序。批量限制傳輸協(xié)議246指令作用在快閃存儲器210的編程保留區(qū)域。圖4所示為本發(fā)明中一快閃存儲器系統(tǒng)400的詳細方塊圖,其可執(zhí)行圖3中的快閃存儲器系統(tǒng)200。一般而言,快閃存儲器系統(tǒng)400包含一個收發(fā)器402、一快閃存儲器控制器404、一中央處理器406、一只讀存儲器408、一快閃存儲器410和一主存儲器412,快閃存儲器410被設定用來包含多分割區(qū)414、416和418,主存儲器412存放一索引或地址轉換表420,此地址轉換表420存放一些快閃存儲器410相關的設定信息如擁有多少個分割區(qū)以及這些分割區(qū)如何被格式化(如一光盤、磁盤機或其他等),地址轉換表420也讓中央處理器406得以存取多分割區(qū)414-418。多分割區(qū)(MULTIPLEPARTITIONS)在本發(fā)明的一實施例中,分割區(qū)414-418擁有不同的文件系統(tǒng)(如結構或格式)的功能可作為自動執(zhí)行制造商定義的自動執(zhí)行操作和一個"一般"(使用者控制)數據存取操作,多個不同文件結構的例子如光盤文件結構(CDFSs),文件配置表(FATs)如16位元文件配置表和32位元文件配置表以及新技術文件結構(NTFSs),通過具有不同文件結構的多個分割區(qū)414-418,快閃存儲器系統(tǒng)400可以讓主;f幾系統(tǒng)來執(zhí)行多種功能,舉例來說,一分割區(qū)414(其也可#1參照為分割區(qū)0)可以被格式化為光盤只讀類型分割區(qū),其使用的是光盤只讀文件系統(tǒng)文件結構,該光盤格式得以讓快閃存儲器系統(tǒng)支持自動執(zhí)行功能,底下會進一步詳細描述自動執(zhí)行功能。另一個分割區(qū)416(亦可參照為分割區(qū)1)可被分割為一個磁盤分割區(qū),一磁盤分割區(qū)可使用不同的文件結構(例如16位元文件配置表、32位元文件配置表或新技術文件系統(tǒng)等)并且可用來做為一般快閃存儲器之用途(如數據儲存)。做為一磁盤種類分割區(qū),該分割區(qū)可被設定為一個公開分割區(qū),并可以不需要任何條件進行存取(如不需要任何密碼)。另一個分割區(qū)418(其也可被參照為分割區(qū)2)也可被分割為一個磁盤分割區(qū),在本發(fā)明中,一個磁盤分割區(qū)可以被設定為公開分割區(qū)或作為安全分割區(qū),若該磁盤分割區(qū)是為一安全分割區(qū),則其可使用特殊工具程序通過密碼進行存取,安全分割區(qū)將于之后詳加描迷。根據制造商特定的應用可以使用不同的分割區(qū)種類和特定的分割區(qū)數量??扉W存儲器系統(tǒng)400也包含一邏輯單元編號(logicunitnumber,LUN)計數器430、一邏輯單元編號種類暫存器432以及一邏輯單元編號基準地址暫存器434,快閃存儲器控制器404包含一制造商特殊指令解碼器440、一小型電腦系統(tǒng)接口(smallcomputersystemsinterface,SCSI)光盤專用指令解碼器442、一小型電腦系統(tǒng)接口固定磁盤種類指令解碼器444和一小型電腦系統(tǒng)接口通用指令解碼器446。邏輯單元編號(LOGICUNITNUMBERS,LUNS)地址轉換表420包含根據快閃存儲器410設定的信息,且中央處理器406可以使用地址轉換表420來建立和存取快閃存儲器410中的多個分割區(qū)414-418。更詳細地說,在本發(fā)明的一實施例中,地址轉換表420將邏輯單元編號和對應的分割區(qū)414-418產生關聯(lián),邏輯單元編號是一個獨一無二的識別數字,其在小型電腦系統(tǒng)接口總線中使用來辨識分享同一總線的兩個不同裝置。運作中時,利用邏輯單元編號辨識每一個分割區(qū),且一邏輯單元編號可以對應到一個或多個分割區(qū),舉例來說,一個邏輯單元編號可以對應到光盤只讀分割區(qū),其可作為自動執(zhí)行功能之用,而另外一個邏輯單元編號可以聯(lián)系到兩個磁盤種類分割區(qū),其可以做為公開和安全分割區(qū)。根據特定實作不同,邏輯單元編號以及每一邏輯單元編號所相關聯(lián)的分割區(qū)的種類會有所不同。邏輯單元編號計數器430重置并增加分割區(qū)數目,每一分割區(qū)具有不同種類的可移除或固接式儲存功能、可儲存容量和容量身份識別(volumeID)或磁盤標號(driveletter),邏輯單元編號基準地址暫存器434存方丈每一個分割區(qū)的地址和總容量的高位最高有鄉(xiāng)丈位元(mostsignificantbit,MSB)三個位元的數值,邏輯單元編號基準地址暫存器434是一個非易失性暫存器,每個特定分割區(qū)對應到一個邏輯單元編號號碼,其可以由制造商程序來決定。保留區(qū)域450中存放有512位元的快閃存儲器410的預先編程的控制信息,控制信息包含有邏輯單元編號號碼、邏輯單元編號種類、儲存容量、身份辨識、非易失性暫存器存放的容量、分割區(qū)信息等等,在一特定實施例中,非易失暫存器存放的容量以及每一分割區(qū)信息被存放在保留區(qū)域450第一個可用的存儲器空間,基本上來說,保留區(qū)域450的信息需要在制造地點進行編程作為初始化設定之用,或著重新編程作為回復或是韌體升級之用。在一特定實施例中,保留區(qū)域中保留四份控制信息的備份(作為復制、備份等用途)用以進行快閃存儲器的寫入前4未除(erase-before-write)的操作。一個"保留空間比例"是由制造商決定保留的快閃存儲器空間相對于快閃存儲器總容量的比例。在快閃存儲器保留區(qū)域450后接著有一以光盤只讀存儲器為基礎的區(qū)域,存儲器空間用來作為不同的功能區(qū)塊可以稱作區(qū)域(zones),保留區(qū)域可以有一個區(qū)域號碼(如000),并且光盤只讀存儲器相關地址可以擁有另一個區(qū)域號碼(如001,如果保留空間只占據一個區(qū)域)。當磁盤儲存區(qū)域需要頻繁的讀取和寫入時,某些關聯(lián)到最終物理地址空間的區(qū)域號碼可以在一開始的時候設定為損耗平衡(wearleveling)。然而損耗平衡區(qū)塊可以在稍后在任何地方除了保留區(qū)域和光盤只讀存儲器區(qū)域外被重新配置。硬編碼(hard-coded)暫存器452是用以回應給使用者主機,特別是當快閃存儲器還沒編程時(完全是空的),因此列舉描述符(enumerationdescriptor)中一預設的值會被送回給使用者主機。倘若快閃存儲器系統(tǒng)400已經被程序化,列舉描述符中一個程序化后的值會被送回,而非送回預設值??扉W存儲器系統(tǒng)400的架構使用批量限制傳輸通訊協(xié)議和具有31字節(jié)控制信息的控制信息指令區(qū)塊包(commandblockwrapper,CBW),將制造指令(如Fl,F2等等,這些特殊編碼指令未被列在小型電腦系統(tǒng)接口指令手冊中)或一通用指令區(qū)塊包指令區(qū)塊(commandblockwrappercommandblock)(如小型電腦系統(tǒng)接口查詢指令)和一專屬的要求-邏輯單元編號-號碼指令(如43h指令碼)解碼,并傳送給快閃存儲器控制器404以進行快閃存儲器系統(tǒng)400相對的操作。一末端點0(endpointO,EPO)454專用以進行列舉程序(enumerationprocess),且在裝置描述符欄位(devicedescriptorfield)中編程一封包大小(如64個字節(jié)),以作為信息傳輸之用。末端點1(EP1)456是一個批量輸入管線(bulk-inpipe)作為主才幾從快閃存儲器系統(tǒng)讀取數據之用,末端點2(EP2)458則是批量輸出管線(bulk-outpipe)作為主機傳輸數據給快閃存儲器系統(tǒng)之用。末端點1456和末端點2458的傳輸大小會根據不同的特定應用改變(如通用串行總線版本1.1使用64字節(jié),而通用串行總線版本2.G則使用512字節(jié))。轉換表-第一實施例圖5為一具有四個分割區(qū)的轉換表500范例,在本發(fā)明中可用來實作圖3的索引220或圖4的地址轉換表420,轉換表中包含邏輯單元編號500、502、504和506,邏輯單元編號500、502、504和506也被分別參照為邏輯單元編號0、邏輯單元編號l、邏輯單元編號2、邏輯單元編號3。在特定實施例中,光盤只讀存儲器分割區(qū)被指定給邏輯單元編號0500,視窗操作系統(tǒng)會給予邏輯單元編號0500最高優(yōu)先權,并顯示較低的磁盤標號,邏輯單元編號502到506各自被指派到不同的分區(qū),與邏輯單元編號502相關的分割區(qū)受到密碼保護,而與邏輯單元編號504和506相關的分割區(qū)為公開分割區(qū),亦即可進行一般存取。在此范例中,兩個公開分割區(qū)對于數據整理來說十分有用。在運作中時,地址轉換表420可將邏輯單元編號500-506從主機的邏輯區(qū)塊地址對應到物理區(qū)塊地址,邏輯單元編號500、502、504和506分別聯(lián)系到相對應的靜態(tài)隨機存取存儲器基本地址510、512、514和516,以及分別聯(lián)系到對應的LBAblk520、522、524和526。一般而言,邏輯單元編號500-506和LBAblk520-526被快閃存儲器裝置的韌體用來計算物理區(qū)塊地址,LBAblk520-526被各自加到對應的存放在邏輯單元編號基準地址暫存器530中的基本地址,將LBAblk520-526與基本地址510-516相加將得到可作為地址轉換的唯一數值,該唯一數值為物理區(qū)塊地址,其提供一個快閃存儲器物理地址給控制器存取之用,計算LBAblk的方法會在接下來的章節(jié)討論。圖6A和圖6B是根據本發(fā)明的一實施例中圖5的地址轉換表500的范例應用,在此范例中快閃存儲器總容量為256兆位元,其每分頁有2K個字節(jié),每個可消除區(qū)塊有64個分頁,圖6A被套用到一被格式化為光盤只讀存儲器分割區(qū)的分割區(qū)(換言之,每個光盤只讀存儲器區(qū)段有2K個字節(jié)),且圖6B被套用到一被格式化為磁盤分割區(qū)(換言之,每個磁盤區(qū)段有512個字節(jié))。一般來說,邏輯單元編號和邏輯區(qū)塊地址會被快閃存儲器裝置韌體用來計算物理區(qū)塊地址以作為存取物理區(qū)塊地址之用。參照圖6A,在邏輯區(qū)塊地址行602(LBAtbl)的數值是由加總邏輯區(qū)塊地址基本地址604和LBAblk地址606而成,邏輯區(qū)塊地址基本地址604與邏輯單元編號基本地址相同。LBAblk地址606是從一個指令區(qū)塊包指令區(qū)塊的邏輯區(qū)塊地址(CBWCB)610通過LBALSB608推導而成(亦即是右移特定位元個數),在此范例中,一個可消除區(qū)塊有64個分頁,其被右移六個位元。物理區(qū)塊地址分頁地址612每分頁有2K個字節(jié),且由兩個元件構成PBAtbl614(轉換表的對應結果)和六個位元偏移616,PBAtbl表地址614是轉換表420(圖4)的從LBAtbl602索引的對應結果,偏移量616由指令區(qū)塊包指令區(qū)塊(CBWCB)610中邏輯區(qū)塊地址里面較低的六個位元所提供。在本例中,六位元物理區(qū)塊地址最低有效位元(PBALSB)=六位元LBALSB608。請參考圖6B,數值的推算類似于圖6A中的推算方式,除了LBALSB的偏移量是八位元(由于每區(qū)段512個字節(jié)超過快閃存儲器每分頁2K個字節(jié)),LBALSB的六個MSB最高有效位元與PBAtbl連接起來構成快閃存儲器的物理區(qū)塊地址,LBALSB的兩個LSB最低有效位元被用來存取超過每分頁2K字節(jié)的快閃存儲器的512字節(jié)。在本例中,六個位元的PBALSB等同于八位元的LBALSB中六個位元的最高有效位元。在本發(fā)明的一實施例中,快閃存儲器可以有不同的大小格式,如小型格式有每分頁的區(qū)塊大小為512個字節(jié)以及每個消除區(qū)塊16K字節(jié),大型格式有每分頁的區(qū)塊大小為2K個字節(jié)以及每個消除區(qū)塊128K字節(jié),確切的大小會根據不同的實作而定。接下來是一個大型格式快閃存儲器轉換靜態(tài)隨機存取存儲器的范例。圖7所示為本發(fā)明中提供圖5的轉換表500的方法實施例的流程圖;首先,快閃存儲器系統(tǒng)在步驟700中被初始化,快閃存儲器控制器決定在快閃存儲器系統(tǒng)中快閃存儲器的種類,無論快閃存儲器為大型格式或小型格式,并決定每分頁有多少字節(jié)、每區(qū)塊有多少分頁以及每區(qū)塊有多少字節(jié)的數目??扉W存儲器控制器也會在快閃存儲器中重建轉換表420,裝置控制器從第一個區(qū)塊到最后一個區(qū)塊使用物理地址對每一消除區(qū)塊的第一個分頁進行讀取,每次讀取時,裝置控制器會讀取存放在數據區(qū)域旁2K個字節(jié)(或512個字節(jié))備用區(qū)域的區(qū)塊相關信息(如LBAtbl),裝置控制器接著使用有效的LBAtbl作為到地址轉換表420的索引并且存;^丈對應的物理地址。下一步,接收一個新的指令區(qū)塊包指令區(qū)塊(CBWCB),并且在步驟702中使用裝置控制器萃取出其中信息,舉例來說,這些信息可以包含要求的總傳輸字節(jié)長度、該指令為讀取或寫入指令、邏輯單元編號號碼、起始邏輯區(qū)塊地址等等。接下來,在步驟706中基本地址數值LBAbase和基本地址大小LBAsize由邏輯單元編號號碼決定??偡猪摯笮?分頁總量,PageTotal)由總大小除以每分頁多少字節(jié)來計算出來。接著在步驟708,RSbits數值基于每區(qū)塊多少字節(jié)和邏輯區(qū)塊地址的分頁大小來計算出來,該RSbits被用來計算LBAblock的數值(通過將邏輯區(qū)塊地址右移RSbits個位元),也被用以計算LBALSB(較低邏輯區(qū)塊地址的RSbits個位元)。接著,在步驟710中計算出轉換表LBAtbl的索引,接著在步驟712中由轉換表的內容計算出物理區(qū)塊地址。之后,在步驟714會決定快閃存儲器為大型或小型格式,若快閃存儲器是小型格式(每分頁512個字節(jié)),則在步驟724中,裝置控制器需要一個五位元的物理區(qū)塊地址最低有效位元作為分頁偏移地址。五位元的PBALSB會等于五位元的LBALSB,或根據邏輯區(qū)塊地址的分頁大小其等同于三位元的LBALSB在右邊接上兩個"0"。在這個例子中,若快閃存儲器的格式則為大型格式(每分頁2K個字節(jié)),則判斷邏輯區(qū)塊地址分頁大小是大于512字節(jié)或等于512字節(jié)的話,如步驟716所述;在步驟718中若其大于512字節(jié),六位元的PBALSB數值會等于六位元LBALSB數值。步驟720中,若少于512字節(jié),分頁偏移量將會等同于LBALSB兩個最小有效位元,且在步驟722中六位元PBALSB會等同于LBALSB六個最高有效位元。根據邏輯區(qū)塊地址的文件格式區(qū)段大小,快閃存儲器控制器需要六個位元的PBALSB作為分頁偏移地址,六位元的PBALSB會等同于六個位元的LBALSB或八位元LBALSB的六個高位元。接著如步驟726所述,八位元LBALSB中兩個較低位元為偏移量。接下來,在步驟730中決定快閃存儲器存取操作是讀取操作或寫入操作,若操作為讀取操作,數據會在步驟732中從物理區(qū)塊地址分頁中讀取,若為寫入操作,則步驟734會判斷該地址或該分頁是否已經被使用,如果已經被使用,在步驟736中找出新的地址并且更新新的物理區(qū)塊地址的值到地址轉換表中。如此一個新的物理區(qū)塊地址分頁會根據新的PBAtbl計算出來。若分頁未被使用的話,則在步驟738中將數據寫到物理區(qū)塊地址分頁中。之后,在步驟706中所定義的分頁總量的值會在步驟740里減掉一,接著步驟742判斷這是不是分頁總量的最后分頁,如果是最后分頁,在步驟744中,指令區(qū)塊包指令區(qū)塊(CBWCB)處理就會結束。若否,則在步驟746中會判斷其是否為該區(qū)塊最后一個分頁,若否,則物理區(qū)塊地址分頁就會在步驟748里加一,此程序會從步驟730開始重復進行。若在步驟746中判斷其為該區(qū)塊最后一個分頁,則LBAtbl會在步驟750中加一,且回到步驟712重復進行整個流程。所述的索引是以一具有絕對地址系統(tǒng)的轉換表來實施,此僅為本發(fā)明的較佳實施例而已,并非用來限定本發(fā)明實施的范圍。故即凡符合本發(fā)明所述特征及精神的使用其他系統(tǒng)的相關索引仍在本發(fā)明中。轉換表-第二實施例圖8所示為本發(fā)明另一實施例中所應用的轉換表。每一邏輯單元編號(LUN)皆有一相關的邏輯單元編號代碼(LUNcode),其是為一與文件結構及屬性串接的邏輯單元編號計算值,舉例而言,一第一邏輯單元編號基準地址暫存器802,其儲存邏輯單元編號0(與一光盤只讀存儲器分割區(qū)有關聯(lián))的數值,具有一邏輯單元編號計算值為0、一光盤只讀存儲器文件系統(tǒng)(CD-ROMFileSystem,CDFS)文件結構、一OO類型的文件系統(tǒng)型態(tài)、一公開屬性以及導致00/00/0編碼;一第二邏輯單元編號基準地址暫存器804,其儲存邏輯單元編號l(與一安全分割區(qū)有關聯(lián))的數值,具有一邏輯單元編號計算值為1、一16位元文件配置表(FAT16)文件結構、一01類型的文件系統(tǒng)型態(tài)、一安全屬性以及導致01/01/1編碼;一第三邏輯單元編號基準地址暫存器806,其儲存另一個邏輯單元編號1(與一安全分割區(qū)有關聯(lián))的數值亦與公開分割區(qū)相關,因此邏輯單元編號1的邏輯單元編號計算值為l,具有一16位元文件配置表(FAT16)文件結構、一01類型的文件系統(tǒng)型態(tài)、一安全屬性以及導致Gl/01/1編碼。一般來說,邏輯單元編號代碼是用以連接復數邏輯區(qū)塊地址(LBAs)并產生相應的復數物理地址區(qū)塊(PBAs),操作系統(tǒng)面對不同邏輯單元編號可產生同樣的邏輯區(qū)塊地址來存取數據。單一靜態(tài)隨機存取存儲器(StaticRandomAccessMemory,SRAM)的查表(lookuptable)可用于所有的邏輯單元編號,然而當邏輯單元編號改變時,利用一復原程序重建靜態(tài)隨機存取存儲器中的地址轉換表以做為之后操作系統(tǒng)存取之用。地址轉換表的索引810是由連接邏輯區(qū)塊地址的邏輯單元編號代碼所組成,關系表中提供了物理地址區(qū)塊PBAtbl值。在此實施例中,索引編號的最大值為2048(假設快閃存儲器為256Mbits);每一物理區(qū)塊狀態(tài)分頁812的復本(copy)包含有效狀態(tài)的邏輯單位號編碼,此復本是儲存于快閃存儲器保留區(qū)域814中做為韌體統(tǒng)計之用,實體快閃存儲器中每一區(qū)塊816的分頁都由數據及備用區(qū)域所組成,備用區(qū)域中包括主機的邏輯單元編號代碼及邏輯區(qū)塊地址數據。圖9為本發(fā)明建立圖8中轉換表800的方法的實施例流程圖,請同時參考圖8及圖9;一般來說,若邏輯單元編號改變,轉換表的內容在每一次存取時會溢出,接著轉換表重建。更特別的是,首先在步驟904中,所有入口的有效旗標(validflag)在邏輯單元編號改變程序中皆變得無效,而使有效旗標無效將使轉換表溢出;接著,在步驟904中,從快閃存儲器的保留區(qū)域814中讀取物理區(qū)塊狀態(tài)分頁812(圖8)中的內容,此物理區(qū)塊狀態(tài)分頁812的內容接著儲存到轉換表中。舉例來說,大小為256兆字節(jié)(每個區(qū)塊有64頁)的快閃存儲器的邏輯單元編號狀態(tài)區(qū)段共有2K個字節(jié),其中每個字節(jié)呈現(xiàn)一對應的物理區(qū)塊的狀態(tài)(邏輯單元編號代碼、有效旗標及失效旗標),當一邏輯單元編號改變時產生區(qū)段讀取動作。將第0個字節(jié)連接到一物理區(qū)塊地址#0,僅一個有效旗標(等于l)設置并符合邏輯單元編號代碼將指出一個有效區(qū)塊狀態(tài),而失效旗標代表區(qū)塊數據已過期,需要再循環(huán)以再次宣告有效性。接續(xù),在步驟906中,依序讀取物理區(qū)塊狀態(tài)區(qū)段中的一物理字節(jié)編號(physicalbytenumber),物理區(qū)塊狀態(tài)區(qū)段中包含所有所需的物理區(qū)塊信息,如邏輯單元編號代碼、有效旗標、失效旗標等;接著,步驟908中,判斷物理區(qū)塊是否完成有效下載的請求;若是,則步驟910判斷有效旗標是否相符,步驟912判斷失效旗標是否符合一非舊狀態(tài),步驟914判斷邏輯單元編號代碼是否符合;若在步驟910至914中判斷皆為是,則快閃存儲器中的物理地址區(qū)塊(PBA)用來定義邏輯區(qū)塊地址(LBA),且物理地址區(qū)塊及邏輯區(qū)塊地址兩者皆用來重建轉換表,如步驟916所述;接著,增加物理字節(jié)編號,若有效旗標、非失效旗標及邏輯單元編號代碼有任一不相符,物理字節(jié)編號將在不更新轉換表的情況下增加,如步驟918所述;當物理區(qū)塊如步驟920所述結束時,會在步驟922完成重建新的轉換表;若尚未到達物理區(qū)塊狀態(tài)分頁812的末端,則回到步驟908的流程。此方法可支持多重邏輯單元編號的結構并分享單一轉換表,因此,此方法可支持更多類型的操作系統(tǒng),而不局限在視窗操作系統(tǒng)。制造商工具程序編程(ManufacturerUtilityProgramming)圖IO是本發(fā)明中對圖4的快閃存儲器系統(tǒng)編程的方法的流程圖,快閃存儲器系統(tǒng)400在寄送給末端使用者之前先經過格式化,一制造商工具程序編程是利用特殊軟件驅動器將快閃存儲器系統(tǒng)400編程,當快閃存儲器系統(tǒng)400編程后,末端使用者不可再改變基準結構,甚至不可使用如視窗操作系統(tǒng)等操作系統(tǒng)對快閃存儲器系統(tǒng)400進行格式化。首先在步驟1002中將制造商主機初始化,接著步驟1004將一通用串行總線大量儲存種類裝置(USBmassstorageclassdevice)移除;接著步驟1006中載入一預先測試通用串行總線的驅動程序,此預先測試通用串行總線的驅動程序支持特殊制造商指令;接著,步驟1008將快閃存儲器系統(tǒng)連線至一制造商主機,然后在步驟1010中進行一列舉程序(enumerationprocess),再載入一部分變數歹寸舉描述符欄位4直(partialvariableenumerationdescriptorfieldvalue),其是為各快閃存儲器所訂制。例如各快閃存儲器與各大量儲存種類裝置所需的序號必須不同,此外,產品識別碼及版本編號在每次更新韌體時皆會提供。接著,步驟1012確認快閃存儲器系統(tǒng)中一專用集成電路硬編碼身分識別(ASIChard-codedID),若專用集成電路硬編碼身分識別并不符合,如步驟1014所述,則工具程序軟件將快閃存儲器系統(tǒng)剔除;若專用集成電路硬編碼身分識別符合,則如步驟1016所述,快閃存儲器系統(tǒng)中只讀存儲器的韌體識別出快閃存儲器的類型及容量,并將此信息傳送給制造商主機;亦可徒手操作將此信息輸入制造商主才幾中。接著,在步驟1018中移除快閃存儲器中的數據并預先分配要寫入快閃存儲器的形態(tài),在一特殊實施例中,只有具好旗標的區(qū)塊被移除,而未被移除或無法正確寫入的區(qū)塊則標記為壞區(qū)塊,且將這些區(qū)塊記錄在快閃存儲器的保留區(qū)域的一壞區(qū)塊表中。再接著于步驟1022中檢查壞區(qū)塊的百分比例,此百分比例是與預設編程或使用者輸入的一預設值做比較;若百分比例較預設值高,則如步驟1024所述將快閃存儲器系統(tǒng)移除;反之,若百分比例較預設值低或與預設值相等,則如步驟1026所述,判斷快閃存儲器的總實體容量及一回復比率。接著,如步驟1028所述,利用特殊制造指令在快閃存儲器中寫入一糾錯碼(errorcorrectioncode,ECC),如回復區(qū)段碼(reservedsectorcode)的檢查碼,以指出物理地址;每當將回復區(qū)段碼更新至另一空的保留空間時,快閃存儲器控制器中的韌體檢查此糾錯碼,并移除一過期的復本。接著,在步驟1030中將快閃存儲器相關信息寫入保留區(qū)域中。啟動程序中包含一運作時間碼,將任何不直接涉及控制裝置初始啟動的程序碼放在快閃存儲器裝置中,以減少控制裝置中只讀存儲器的使用大小。列舉字段程序值(enumerationfieldprogrammedvalue)如序號及產品版本編號,和一些分割區(qū)(如容量)大小在同一時間載入,快閃存儲器控制器可辨識出部分特殊的載入指令,并在快閃存儲器的保留區(qū)域中載入使用者無法修改或移除的數值。當存取保留區(qū)域時,檢查嵌入了專用集成電路身分識別(ASICID)及寫入特殊密碼的控制裝置;將運作時間碼載入到保留區(qū)域中,當發(fā)現(xiàn)任何錯誤或有更新版本時,可更新此運作時間碼。此外,會提供一注意事項給制造商的操作員,指出在測試裝置中使用發(fā)光二極管是否恰當。再如步驟1032所述,判斷快閃存儲器裝置的分割區(qū)、容量、媒體類型及復數邏輯單元編號,特別是分割區(qū)數量的判斷需依據容量、媒體類型及各分割區(qū)相關的邏輯單元編號,各邏輯單元編號。當制造商工具程序編程判斷出分割區(qū)的數量后,一使用者無法再變更或修改分割區(qū)的數量。接著,步驟1034定義格式化文件系統(tǒng)中各分割區(qū)的格式,包括光盤只讀存儲器文件系統(tǒng)(CD-ROMFileSystem,CDFS)、16位元文件配置表(FAT16)、32位元文件配置表(FAT32)及新技術文件系統(tǒng)(NewTechnologyfilesystem,NTFS)等。再如步驟1036中,依據步驟1034所定義的格式對各分割區(qū)進行格式化;步驟1036中,制造商主機系統(tǒng)并在各分割區(qū)中載入一分割區(qū)表、分割區(qū)類型及總容量,這些信息是做為辨識分割區(qū)中的文件所需求的。此裝置是依據制造商操作員想要定義的文件結構來格式化,例如,16位元文件配置表/32位元文件配置表/新技術文件系統(tǒng)對于電腦使用者來說非常普通,每一選擇可取決于裝置的容積,若超過1G字節(jié),則32位元文件配置表比16位元文件配置表更適合做為最佳選擇。步驟1038中,分割區(qū)塊記錄(partitionblockrecord,PBR)、兩份文件配置表的復本及根目錄會預先載入給末端使用者。接著,步驟1040執(zhí)行一最終讀寫測試(finalwrite-readtest),在測試期間,分割區(qū)中允許儲存的部分會寫入并讀取以確認其功能正常。任何錯誤文件結構都需要測試,以保證使用者儲存數據時的安全,任一次失敗都會被標記,如步驟1040所述。接著,步驟1042將分割區(qū)中允許儲存的部分清除成一空白狀態(tài),步驟1044再判斷整體流程是否順利成功,若成功,則步驟1046利用一發(fā)光二極管顯示器將以特別的閃爍模式指出成功了,此發(fā)光二極管顯示器連接到一通用的輸入輸出口。當插入制造商主機時,任何未經測試的快閃存儲器系統(tǒng)將會顯示出另一種閃爍模式(或不閃爍),如步驟1048所述,指出一快閃存儲器系統(tǒng)是否經過編程或測試。例如,其中,MBR/PBR/Dir/FATl,2是寫入快閃存儲器的邏輯區(qū)段地址。與硬件自動執(zhí)行相關的文件autorun.inf其他相關文件是以CDFS格式載入到快閃存儲器的光盤只讀存儲器部份中。與軟件自動執(zhí)行相關的文件autorun.inf;loader.exe;loader.dll等是以FAT文件格式載入到快閃存儲器的本地磁盤分割區(qū)中。自動執(zhí)行功能在快閃存儲器裝置中配置一光盤只讀存儲器的分割區(qū)以使其可支持自動執(zhí)行功能,自動執(zhí)行為一項作業(yè)系統(tǒng)特征,當一片光盤插入電腦的光盤機時,可讓相聯(lián)文件自動打開一文件或執(zhí)行一應用程序,舉例而言,當使用者在光盤機中插入一片光盤后,自動執(zhí)行功能會使該光盤自動開始進行一安裝程序或一屏幕菜單。自動執(zhí)行功能常出現(xiàn)在插入視窗操作系統(tǒng)的磁片或光盤到一電腦后。在本發(fā)明的一實施例中,自動執(zhí)行功能利用以快閃存儲器軔體配置一額外空間并結合以硬體支持仿效視窗系統(tǒng)的光盤只讀存儲器的特性來完成。列舉視窗操作系統(tǒng)可支持分割區(qū)中光盤只讀存儲器類型分割區(qū)或固定磁盤分割區(qū)(一般用于固定式磁盤或極盤(ZIPdrive))的自動執(zhí)行功能,在本發(fā)明的一實施例中,由上述的光盤只讀類型分割區(qū)來執(zhí)行自動執(zhí)行功能,列舉被修改并告知作業(yè)系統(tǒng)快閃存儲器裝置不再是可移動的裝置,但可取代光盤只讀存儲器裝置,而快閃存儲器控制器中只讀存儲器的編號亦被修改使只讀存儲器的編號可支持自動執(zhí)4于功能。在本發(fā)明的另一實施例中,自動執(zhí)行功能可利用一固定式磁盤分割區(qū)來執(zhí)行,因此,與自動執(zhí)行功能相聯(lián)的分割區(qū)被格式化如同一個固定式磁盤分割區(qū),此可以一軟件的安裝啟動作為參考,因為軟件的自動執(zhí)行功能在執(zhí)行時可不需施加任何硬件對快閃存儲器系統(tǒng)的改變。然而,若自動執(zhí)行檔儲存在一固定式磁盤分割區(qū)中,自動執(zhí)行功能的相關文件是可被刪除的,若是將自動執(zhí)行檔儲存在光盤只讀存儲器分割區(qū)中則無法刪除。廣告特征如上所述,自動執(zhí)行功能用以自動執(zhí)行一軟件程序,在一特殊實施例中,軟件程序可提供廣告功能,例如當快閃存儲器系統(tǒng)插入一使用者主機時,自動執(zhí)行功能可自動執(zhí)行一軟件程序,通過該主機送出一廣告,此廣告可在連接使用者主機的一熒幕上看到;此廣告的特殊模式依賴特定的應用程序而將有多種變化,廣告特征亦可配置為末端使用者無法自行移除廣告。測試軟件特征電腦偵錯軟件可自動執(zhí)行,好處在于軟件影像可受到保護避免被還原工程,此外自動執(zhí)行功能對于使用者來說是非常親切的,因為電腦偵錯軟件的測試功能會自動執(zhí)行;軟盤亦可提供類似的功能,但并無影像保護。輸入特征輸入軟件程序提供存取主機系統(tǒng)的特權,因此輸入軟件可利用自動執(zhí)行特征來執(zhí)行,舉例而言,若將快閃存儲裝置插入通用串行總線連接口中,則自動執(zhí)行特征會自動執(zhí)行主機系統(tǒng)中的一輸入軟件以存取信息或數據,將其儲存在主機電腦系統(tǒng)中,若使用者將快閃存儲裝置從通用串行總線連接口中拔出,則主機系統(tǒng)將鎖上。使用者設定檔特征當使用者設定檔軟件提供各應用程序的使用者設定檔的信息(系統(tǒng)設定)時,利用自動執(zhí)行特征可自動執(zhí)行使用者設定檔軟件。舉例而言,使用者設定檔信息可包含網路瀏覽器選項的使用者客制化(如書簽、預設首頁)、電子郵件設定、字型設定等。圖11為本發(fā)明在制造商主機端設定一自動執(zhí)行功能的方法的流程圖,步驟1102在制造商工具程序編程啟動之前,先將大量儲存驅動裝置移除,接著如步驟1104所述,一裝置描述符(descriptor)設定到單一組態(tài)配置中,一組態(tài)配置描述符接著如步驟1106設定在單一接口上,再如步驟11G8所述設定接口描述符。這些描述符包括一接口種類(例如大量儲存種類)、接口子類(例如小型計算機系統(tǒng)接口透明指令集)及接口協(xié)定(例如批量限制傳輸,bulk-onlytransport,B0T)。接著,步驟1110設定一第一末端點描述符(如批量進入,bulk-in),再于步驟1112設定一第二末端點描述符(如批量輸出,bulk-out),在執(zhí)行批量輸入及輸出作業(yè)時需要此兩末端點;再如步驟1114所述,定義分割區(qū)及邏輯單元編號;完成列舉之后,送出一大量儲存種類請求(如取得最大邏輯單元號指令,get-max-LUNcommand)到快閃存儲器系統(tǒng)中并回復邏輯單元編號的一預i殳值,或是一名作業(yè)員利用一手動測試工具程序徒手輸入信息。接著在步驟1116中執(zhí)行一消除測試及一寫入-讀取測試,定義壞區(qū)塊及保留區(qū)域的比例,并在步驟1118中將保留信息下載到快閃存儲器中,保留信息包括一序號、一供應商、一產品身分識別碼、一韌體版本等,在標準操作模式的列舉程序期間,利用一作業(yè)系統(tǒng)驅動器可有效存取此信息,而諸如大量儲存種類、批量限制傳輸及小型計算機接口系統(tǒng)子類等信息則回存到制造商主機中。接著,在步驟1120中定義分割區(qū)容量、多媒體類型、文件系統(tǒng)類型及自動執(zhí)行類型。當各邏輯單元編號分割區(qū)在快閃存儲器中記錄文件結構信息后,一工具程序發(fā)出一特殊指令(例如F0h)以將計數器增值;分割區(qū)信息儲存在快閃存儲器的保留空間以供未來的使用者參考,而諸如主區(qū)塊記錄(masterblockrecord,MBR)、分割區(qū)塊記錄(partitionblockrecord,PBR)及每一分割區(qū)的文件配置表等文件結構必須再次編程并儲存在一作業(yè)系統(tǒng)可存取區(qū)域中。例如預設可移動媒體;在軟件自動執(zhí)行或資料儲存上,選擇本地磁盤形態(tài);在硬件自動執(zhí)行上,選擇光盤只讀存儲器形態(tài)。所有執(zhí)行文件必須儲存在一光盤只讀存儲器文件系統(tǒng)(CD-ROMFileSystem,CDFS)格式中以執(zhí)行光盤只讀存儲器的自動執(zhí)行功能,光盤只讀存儲器文件的存取方法不同于存取一磁盤儲存文件。在步驟1122中將各邏輯單元號分割區(qū)格式化,將一光盤只讀存儲器文件系統(tǒng)(CDFS)影像目錄下載到快閃存儲器,同時將自動執(zhí)行影像文件下載到光盤只讀存儲器分割區(qū)中,如步驟1124所述。圖12為本發(fā)明中在使用者模式下執(zhí)行自動執(zhí)行功能的方法的流程圖,在步驟1202中,當使用者插入快閃存儲器系統(tǒng)到一使用者主機中,操作系統(tǒng)會執(zhí)行通用串行總線大量儲存裝置;接著步驟1204在單一組態(tài)配置設定一裝置描述符,一組態(tài)描述符并設定到單一接口上,如步驟1206,并在步驟1208中設定復數接口描述符。這些描述符包括一接口種類(例如大量儲存種類)、接口子類(例如小型計算機系統(tǒng)接口透明指令集)及接口協(xié)議(例如批量限制傳輸,bulk-onlytransport,B0T)。接著,步驟1210設定一第一末端點描述符(如批量進入,bulk-in),再于步驟1212設定一第二末端點描述符(如批量輸出,bulk-out),在執(zhí)行批量輸入及輸出作業(yè)時需要此兩末端點;再如步驟1214所述,定義一控制末端點(EP0),并在步驟1216中回復最大邏輯單元編號,在此例中假設邏輯單元編號有兩個。下列步驟有關于一光盤只讀存儲器分割區(qū)。在完成步驟1216后,若涉及一光盤只讀存儲器分割區(qū),則如步驟1218所述,使用者主機發(fā)出請求以獲取該光盤只讀存儲器分割區(qū)的邏輯單元編號類型,并在步驟1220中將邏輯單元編號類型送到該使用者主機中;當確認邏輯單元編號正確后,步驟1222讀取光盤只讀存儲器的容量,并在步驟1224中利用一小型計算機系統(tǒng)接口的光盤只讀存儲器讀取指令將數據讀出。下列步驟有關于除了光盤只讀存儲器分割區(qū)之外的一個或一個以上磁盤分割區(qū)。在完成步驟1216后,若涉及除了光盤只讀存儲器分割區(qū)之外的一磁盤分割區(qū),則如步驟1226所述,使用者主機發(fā)出請求以獲取該磁盤分割區(qū)的邏輯單元編號類型,并在步驟1228中將邏輯單元標號類型送到該使用者主機中;當確認邏輯單元編號正確后,步驟1230讀取磁盤分割區(qū)的儲存容量,并在步驟1232中利用使用者主機操作系統(tǒng)分配一巻標(volumeID)。列舉從快閃存儲器保留空間中讀取出一串數值,由于自動執(zhí)行功能需由光盤只讀存儲器分割區(qū)提供,因此在預存影像會自動執(zhí)行,與此同時,自動執(zhí)行特征將執(zhí)行,而使用者使標準磁盤類型儲存功能可用。圖13為本發(fā)明中啟動一只讀存儲器(ROM)的方法的流程圖,首先,在步驟1302中開始一電源啟動重置作業(yè),接著在步驟1304中執(zhí)行一快閃存儲器身分識別信號交換序列(flashIDhandshakesequence),如快閃存儲器芯片地址90h讀取指令;接著步驟1306定義各快閃存儲器芯片的特征,此信息包含分頁或區(qū)段大小、芯片容量、地址結構等,從保留區(qū)域中可取得一快閃存儲器裝置的執(zhí)行碼影像文件。在步驟1308中,利用保留區(qū)域中的信息來重建一邏輯區(qū)塊地址-物理地址區(qū)塊對應表(LBA-to-PBAtable),并更新描述符的數值,如步驟1310;接著,步驟1312主機執(zhí)行一列舉程序,在執(zhí)行列舉程序期間,使用者主機請求諸如裝置類型及其組態(tài)配置特征等信息;接著步驟1314中,將儲存在保留區(qū)域的預先編程值回復到使用者主機中,若一快閃存儲器芯片為空的,則提供預設的硬編碼值,因此每當列舉程序時,使用者主機就會分配新的地址給快閃存儲器,而韌體則將正在進行的程序的新地址記錄下來。接著,步驟1316中韌體將請求的回應回復給大量儲存種類批量限制傳輸(bulk-onlytransport,B0T),舉例而言,送出的一請求為支持裝置的最大邏輯單元編號,而儲存在保留空間中的正確數值則被回復到使用者主機中,若快閃存儲器是空的,則回傳一預設值,如OOh或至少一邏輯單元編號。接著在步驟1318中,指令區(qū)塊包(commandblockwrapper,CBW)查詢的指令有了回應,由于預先已知分割區(qū)數目,因此當各分割區(qū)回傳其特征值之后,一邏輯單元編號技術器會增值。最初的指令區(qū)塊包將被一目前的邏輯單元編號所取代,以在快閃存儲器中儲存主區(qū)塊記錄(masterblockrecord,MBR)或分割區(qū)塊記錄(partitionblockrecord,PBR)系統(tǒng)文件結構。韌體提供多種指令區(qū)塊包指令的子程序以執(zhí)行不同指令,包括回收使用過的區(qū)塊等指令。再如步驟1320所述,接受指令區(qū)塊包的指令。安全分割區(qū)一安全分割區(qū)及一公開分割區(qū)分享同一邏輯單元編號為一特殊的實施例,本發(fā)明中,一安全工具程序編程允許一安全分割區(qū)及一公開分割區(qū)分享快閃存儲器中的同一邏輯單元編號,作業(yè)系統(tǒng)可依此在這些區(qū)域中存取數據而不需對這些分割區(qū)進行區(qū)別;在一特殊實施例中,各分割區(qū)的容量巻(capacityvolume)會隨著一固定總大小容量而變化,此部分可利用一工具程序編程來達到,其優(yōu)點在于其讓數據儲存更具彈性。圖14為本發(fā)明設定制造測試的安全分割區(qū)的方法的流程圖,首先在步驟1402中,設定一專用分割區(qū)的一初始容量,接著在步驟1404中寫入一邏輯單元編號代碼、一預設容量、一預設密碼及復數邏輯基準地址暫存器;再如步驟1406所述,寫入安全分割區(qū)的主區(qū)塊記錄(MBR)、分割區(qū)塊記錄(PBR)或文件配置表(FAT)等系統(tǒng)文件。圖14A為本發(fā)明一快閃存儲裝置中一數據區(qū)塊的實施例的方塊圖;請參考圖14A,一物理區(qū)塊1440的結構,其作用是顯示一安全分割區(qū)及一公開分割區(qū)如何分享同一邏輯單元編號,卻可利用控制裝置分辨并設置在不同的物理區(qū)塊中;對于一多層單元(multi-levelcell,MLC)快閃存儲器而言,一區(qū)塊一般具有128頁,且每一頁包含一2048字節(jié)的數據區(qū)域及一64字節(jié)的備用區(qū)域,在一實施例中,一頁可分成四區(qū)段,每一區(qū)段分別包含一512字節(jié)的數據區(qū)域1445及一16字節(jié)的備用區(qū)域1446,16字節(jié)的備用區(qū)域1446主要用于糾錯碼防護1451及耗損平衡(wear-leveling)。在圖14A中,16字節(jié)的備用區(qū)域1446中有12.5字節(jié)做為糾錯碼之用,而3字節(jié)則做為損耗平衡,此3字節(jié)可記錄邏輯區(qū)塊信息及錯誤防護,然而為了要標記此區(qū)塊為安全分割區(qū)或公開分割區(qū),需利用這3字節(jié)中至少一位元1452定義做為分割區(qū)特定的旗標,而剩余的23位元則用以定義邏輯區(qū)塊地址的區(qū)段地址1453。在圖中,四位元的同位元校驗碼1454是作為防護1452及1453,因此甚至在兩分割區(qū)使用同樣邏輯單元編號時,控制裝置仍可依據物理區(qū)塊正確地存取數據。圖15為本發(fā)明在使用者模式下操作一安全分割區(qū)的方法的流程圖,首先如步驟1502所述,請求安全分割區(qū)的一密碼,接著步驟1504提供一預存的邏輯單元編號密碼以符合該請求,并在步驟1506中設定該安全分割區(qū)的容量;步驟1508中,寫入一邏輯單元編號代碼、一容量、一新的更新密碼及復數邏輯基準暫存區(qū),當電源開啟后預設模式為公開模式,因此在步驟1510中將一邏輯單元編號代碼設定為安全模式;接著在步驟1512中,當安全分割區(qū)及公開分割區(qū)使用不同的邏輯單元編號時,使用者主機要求安全分割區(qū)的邏輯單元編號,并在步驟1514中由使用者主機讀取該安全分割區(qū)的容量。接著,步驟1516提供預先儲存的邏輯單位編號信息,步驟1518提供安全分割區(qū)的一物理基準地址,步驟1520讀取出先前儲存在快閃存儲器中的主區(qū)塊記錄(MBR)、分割區(qū)塊記錄(PBR)及文件配置表(FAT)信息。當安全分割區(qū)與公開分割區(qū)使用相同邏輯單元編號時,保護安全分割區(qū)的密碼可與公開分割區(qū)共用。當快閃存儲器系統(tǒng)啟動后會出現(xiàn)一預設的公開區(qū)域,請求一安全工具程序編碼并給予正確的密碼以啟動安全功能。快閃存儲器的一儲存區(qū)域中存在一安全分割區(qū),利用制造商工具程序載入一預設容量,且制造商主機利用一特殊驅動器將啟動格式化,讓使用者在收到快閃存儲器裝置后可自行設定個人的格式。假若工具程序軟件的詢問請求提供一正確的密碼,則設定一屬性暫存器讓使用者可選擇公開分割區(qū)或安全分割區(qū)。使用者主機將新的主區(qū)塊記錄(MBR)、分割區(qū)塊記錄(PBR)及文件配置表(FAT)值儲存在快閃存儲器中,接著使用者可存取由密碼保護的安全數據,當一使用者注銷后,由于屬性暫存器依預設值重置,因此先前的公開分割區(qū)會顯示出來,因此,公開分割區(qū)的邏輯單元編號代碼會再次存到邏輯區(qū)塊地址(LBA)中,而與此同時,將會從預先儲存的系統(tǒng)文件中讀取出主要數據。無論容量或文件結構何時變化,格式化都會被執(zhí)行,因此舊數據會被刪除并載入新的系統(tǒng)文件。由于圖15中主機和裝置之間傳輸密碼時并沒有任何安全機制,駭客可通過邏輯分析或總線分析抓到密碼,因此更需要安全防護。圖16為本發(fā)明在主機與快閃存儲裝置之間提供安全連接的程序的流程圖,如圖所示,當電源開啟后,主機與裝置兩者皆在公開分割區(qū)模式下工作,主機送出一包含安全字節(jié)(securitybyte)的安全指令到該裝置中,如步驟1550;安全字節(jié)是由一預設數學公式計算得出,例如F-f(AUTH,RGS),其中RGS為隨機產生種子(randomlygeneratedseed)。步驟1552中裝置接收此安全字節(jié),并在步驟1554中驗證,若裝置成功驗證該安全字節(jié),則步驟1556中裝置以另些安全字節(jié)來回應,其是由另一預設公式所產生,例如G=G(AUTH,RGS),當主機限制G后,主機及裝置互相認可,此程序可視為"授權",當授權程序結束后,主機及裝置傳送可對安全數據解碼的密碼;由于主機和裝置之間的授權及密碼傳送實質上是傳送由函數G、F及隨機產生種子RGS所產生的安全字節(jié),因此在主機與裝置之間總線上的字節(jié)為隨機模式,可避免任何駭客的試探。步驟1560及1662可取代圖15中步驟1502以提高取得密碼時的防護,當成功通過授權且將以隨機產生種子加密的密碼傳送出去后,控制裝置可如圖15所述繼續(xù)進行下去。根據此處所提及的系統(tǒng)及方法,本發(fā)明的實施例更可提供眾多好處,舉例而言,利用增加其功能性可使快閃存儲器系統(tǒng)更彈性,而本發(fā)明更可使任一嵌入式控制快閃存儲卡包含多媒體卡(Multi-MediaCard,MMC)、安全數字(SecureDigital,SD)、小型快閃存儲器(Compactflash,CF)、存儲棒(memorystick,MS)、周邊構件互連總線(PCI-Express,PCIE)、集成驅動電子設備(IntegratedDriveElectronics,IDE)及一串列高技術配置(SATA)等。上述已揭露執(zhí)行快閃存儲器系統(tǒng)的系統(tǒng),快閃存儲器系統(tǒng)包括具有多重分割區(qū)的快閃存儲器,此快閃存儲器系統(tǒng)包可利用多重分割區(qū)提供多種功能,包括如自動執(zhí)行功能、非安全數據儲存及安全數據儲存等。雖然本發(fā)明已描述一些特殊實施例,從本發(fā)明所清楚揭露的發(fā)明特征亦可應用于其他實施例,所有的實施例皆為本發(fā)明實施例的范圍。舉例而言,當上述方法及系統(tǒng)特別為通用串行總線裝置時,本發(fā)明的精神及范圍還是包括不同接口的總線類型,例如一個或一個以上的高速外部設備互聯(lián)總線(PCI-Express,PCIE)、安全數位(SecureDigital,SD)、存儲棒(memorystick,MS)、小型快閃存儲器(Compactflash,CF)、集成驅動電子設備(IntegratedDriveElectronics,IDE)及一串行高技術裝置(SATA)等。先前所述的部分技術是以演算法及電腦存儲器中數據位元的操作符號來表示,數據程序的技術利用這些演算法的描述法及表示法以最有效率地方式傳送其工作實質給其他技術部分。演算法在這里一般做為作業(yè)時一自體相容(self-consistent)序列以產生預期的結果,此作業(yè)為需求實體數量的實體操作部分,雖然通常不是必須的作業(yè),但數量可形成可儲存、傳送、合并、比較及其他操作的電性或磁性訊號。從多方面可證明在一般使用下需參考這些訊號,如位元、數值、元素、符號、字符、關系、數目或其他此類的訊號。所有這些及相似的關系會與適當實體數量產生關聯(lián),且不僅是便利的數量標記,然而這會造成注意力上的負荷,從上述討論中相當明顯可看出,除非將特殊狀態(tài)除外,否則縱觀前述討論使用的關系,如"處理(processing)"或"計算(computing),,或"運算(calculating),,或"定義(determining),,或"顯示(displaying)"諸如此類,參考電腦系統(tǒng)或相似電子計算裝置的動作及流程,將電腦系統(tǒng)的暫存器及存儲器中的實體(電性)數量的數據操作及轉換為其他相似實體數量的數據儲存在電腦系統(tǒng)的存儲器或暫存器或其他信息儲存、傳送或顯示的裝置中。本發(fā)明的實施例關于一實現(xiàn)上述操作的裝置,此裝置可依需求而特地構成,或由電腦中所儲存的一電腦程序利用通用電腦選擇性活性化或重新裝配來組成,此電腦程序可儲存在一電腦可讀取的儲存媒體中,例如任何類型的磁盤,包括軟式磁盤片、光學磁盤片、光盤只讀存儲器及磁光盤(magnetic-opticaldisk)、只讀存儲器、隨機存取存儲器、可擦除可編程只讀存儲器、電可擦除可編程只讀存儲器、磁性或光學卡片、或任意類型適合儲存電子指令的媒體,且皆可連接到一電腦系統(tǒng)總線。本發(fā)明中所描述的演算法及顯示并非與任何特定電腦活其他裝置不相關,多種通用系統(tǒng)可使用本發(fā)明中所述的程序,或是證明本發(fā)明可建立更專業(yè)的裝置來實現(xiàn)所欲的操作方法。多樣化系統(tǒng)的需求結構將于下闡述。此外,本發(fā)明的實施例并未特別提及任何程序語言,因為多種程序語言皆可使用于本發(fā)明于上所述的實施例中。才幾器可讀取媒體(machine-readablemedium)可包括任何可利用一機器(如電腦)儲存或傳遞可讀取的信息的機構,舉例來說,一機器可讀取媒體包括只讀存儲器;隨機存取存儲器;磁性磁盤儲存媒體;光學儲存媒體;快閃存儲器裝置;電子式、光學式、聲學式或其他任何形式的傳播信號(例如載體波形、紅外線信號、數位信號等)等。以上所述,僅為本發(fā)明的較佳實施例而已,并非用來限定本發(fā)明實施的范圍。故即凡依本發(fā)明申請范圍所述的特征及精神所為的均等變化或修飾,均應包括于本發(fā)明的申請專利范圍內。權利要求1.一種電子數據快閃存儲卡,其是通過一通訊連接與一主機電腦連接,該通訊連接是建立在該主機電腦的一接口總線上,其特征在于,該電子數據快閃存儲卡包括(A)一卡片本體;(B)一快閃存儲裝置,其是設于該卡片本體上,該快閃存儲裝置包含復數快閃存儲單元,該復數快閃存儲單元包括至少一具有一第一文件系統(tǒng)格式的自動執(zhí)行分割區(qū)(autorunpartition)及至少一具有一第二文件系統(tǒng)格式的磁盤分割區(qū),其中該至少一磁盤分割區(qū)包含一公開數據分割區(qū)及一安全數據分割區(qū),該公開數據分割區(qū)及該安全數據分割區(qū)分享同樣的一邏輯單元編號(logicalunitnumber,LUN)且設置于不同的復數物理區(qū)塊中,每一該物理區(qū)塊包括至少一位元,用以指示與各該物理區(qū)塊相關的一數據分割區(qū)為一安全數據分割區(qū)或一公開數據分割區(qū);(C)一輸入/輸出接口電路,其是設于該卡片本體上,當該電子數據快閃存儲卡被操作連接到該主機電腦時,該輸入/輸出接口電路可在該主機電腦及該電子數據快閃存儲卡之間建立該通訊連接;以及(D)一快閃存儲器控制器,其是設于該卡片本體上,與該快閃存儲裝置及該輸入/輸出接口電路電性連接,其中該快閃存儲器控制器包含一種自動執(zhí)行一預設應用程序的手段,當該通訊連接于該主機電腦及該電子數據快閃存儲卡之間建立時,將該預設應用程序儲存于該至少一自動執(zhí)行分割區(qū)中;以及一種操作的手段,應用于該預設應用程序初始化執(zhí)行之后,以下列三種模式之一操作一編程模式,該快閃存儲器控制器啟動該輸入/輸出接口電路以接收來自該主機電腦的一數據文件并將該數據文件儲存于該磁盤分割區(qū)中;一數據恢復模式,該快閃存儲器控制器從該磁盤分割區(qū)中讀取該數據文件,啟動該輸入/輸出接口電路以將該文件數據傳送給該主機電腦;以及一數據重置模式,將該數據文件從該磁盤分割區(qū)中消除。2.根據權利要求1所述的電子數據快閃存儲卡,其特征在于,該預設應用程序包括產生該主機電腦的一顯示畫面,以在操作該編程模式、該數據恢復模式及該數據重置模式其中之一之前顯示出一預設廣告,且預設廣告是儲存于該至少一自動執(zhí)行分割區(qū)中,避免于該編程模式及該數據重置模式中消除該預設廣告。3.根據權利要求1所述的電子數據快閃存儲卡,其特征在于,該預設應用程序包括讓該主機電腦執(zhí)行一預設偵錯程序的手段、促進該主機電腦存取儲存于該設定的手段。4.根據權利要求1所述的電子數據快閃存儲卡,其特征在于,該至少一磁盤分割區(qū)包括至少一公開分割區(qū)及至少一安全分割區(qū),而該復數快閃存儲單元更包括一保留空間,其包括動態(tài)啟動碼及控制碼。5.根據權利要求1所述的電子數據快閃存儲卡,其特征在于,更包括與該快閃存儲器控制器配對的一索引,其中該索引包括一關于該至少一快閃存儲裝置的組態(tài)配置的信息,該索引提供該至少一自動執(zhí)行分割區(qū)及該至少一磁盤分割區(qū)的存取通道。6.根據權利要求5所述的電子數據快閃存儲卡,其特征在于,該索引與每一該自動執(zhí)行分割區(qū)及每一該磁盤分割區(qū)的該邏輯單元編號相關,且該邏輯單元編號是以一個或一個以上的該自動執(zhí)行分割區(qū)及該磁盤分割區(qū)為依據。7.根據權利要求6所述的電子數據快閃存儲卡,其中該索引將該邏輯單元編號映射到與該復數快閃存儲單元相關的復數邏輯區(qū)塊地址(logicalblockaddresses,LBAs)及復數物理地址區(qū)塊(physicaladdressblocks,PBAs)。8.根據權利要求1所述的電子數據快閃存儲卡,其特征在于,每一該物理區(qū)塊包括復數分頁,每一該分頁具有復數區(qū)段,每一該區(qū)段包括一數據區(qū)及一備用區(qū),該備用區(qū)包含一屬性指向以判斷與各該物理區(qū)塊有關聯(lián)的一數據分割區(qū)是否為一安全數據分割區(qū)。9.根據權利要求8所述的電子數據快閃存儲卡,其特征在于,每一該分頁包含四區(qū)段,每一該區(qū)段包含一512字節(jié)的數據區(qū)及一16字節(jié)的備用區(qū),其中該備用區(qū)包括一糾錯-碼(errorcorrectioncode,ECC)欄位、一代表相關數據分割區(qū)為一安全分割區(qū)的分割區(qū)性質欄位、一邏輯區(qū)塊地址(LBA)區(qū)段地址欄位及一同位元校驗碼,該同位元校驗碼是用以保護儲存在該分割區(qū)性質欄位及邏輯區(qū)塊地址區(qū)段地址欄位中的數據。10.—種電子數據快閃存儲卡與主機的連接系統(tǒng),其特征在于,包括一主才幾電腦,包括一接口總線;以及一電子數據快閃存儲卡,其通過一通訊連接與該主機電腦連接,該通訊連接是建立在該主機電腦的一接口總線上,且該電子數據快閃存儲卡包括(A)—卡片本體;(B)—快閃存儲裝置,其是設于該卡片本體上,該快閃存儲裝置包含復數快閃存儲單元,該復數快閃存儲單元包括至少一具有一第一文件系統(tǒng)格式的自動執(zhí)行分割區(qū)(autorunparUtion)及至少一具有一第二文件系統(tǒng)格式的磁盤分割區(qū);(C)一輸入/輸出接口電路,其是設于該卡片本體上,當該電子數據快閃存儲卡被操作連接到該主機電腦時,該輸入/輸出接口電路可建立于該主機電腦及該電子數據快閃存儲卡之間的該通訊連接;以及(D)—快閃存儲器控制器,其是設于該卡片本體上,與該快閃存儲裝置及該輸入/輸出4妄口電路電性連接,其中該主機電腦送出一第一指令給該電子數據快閃存儲卡,該第一指令具有一個或一個以上的安全字節(jié),其是利用以隨機產生種子值(randomlygeneratedseedvalue)為基礎的一第一預定函數所產生,其中該第一指令被成功驗證后,該快閃存儲器控制器送出一第二指令給該主機電腦,該第二措令具有一個或一個以上的安全字節(jié),其是利用以隨機產生種子值為基礎的一第一預定函數所產生,其中該第二指令被成功驗證后,該主機電腦送出一第三指令給該電子數據快閃存儲卡以要求一密碼,該第三指令是利用該隨機產生種子值來加密,以及其中該電子數據快閃存儲卡回應該第三指令而送出要求的該密碼給該主機電腦,且該密碼是以該隨機產生種子值來加密,之后該主機電腦及該電子數據快閃存儲卡利用該密碼保護以交換數據。全文摘要本發(fā)明提供一種利用多樣快閃存儲單元建立具有多重分割區(qū)及自動執(zhí)行功能的通用串行總線數據快閃存儲卡,其包括一處理器及至少一快閃存儲裝置,將此快閃存儲裝置分割,包括一支持一自動執(zhí)行函數(如光盤只讀存儲器文件系統(tǒng)格式、固定式磁盤格式或通用文件系統(tǒng)格式)來格式化的第一分割區(qū)及一利用一典型基準控制快閃存儲裝置文件系統(tǒng)(如FAT16)、FAT32或(NTFS)來格式化的磁盤分割區(qū)。電子數據快閃存儲卡產生可自動執(zhí)行的應用程序,自動執(zhí)行一預定應用程序或在一主機系統(tǒng)中安裝電子數據快閃存儲卡時動作。在一實施例中,自動執(zhí)行應用程序包括在允許存取磁盤分割區(qū)上的數據之前于主機系統(tǒng)上顯示一廣告。文檔編號G06F12/16GK101403997SQ200810090289公開日2009年4月8日申請日期2008年4月17日優(yōu)先權日2007年10月4日發(fā)明者俞一康,周圭璋,李中和,沈明祥,馬治剛申請人:智多星電子科技有限公司