200917256 九、發明說明: 此應用是為丽年2月5日申請號第刪仲號之美國專利「且有 多分割區及自動執行功能之通用串列匯流排電子資料快閃記憶卡」之延續 案(CIP)’此第11/671,431號之盖 就之美國專利為2006年8月23日申請號第 11/466,759號之美國專利「電子眘札 于貝枓_记憶卡之快閃記憶體控制器」之延 續案’而此第_,759號之美國專利又為綱年2月26日申請號第 10/789,333 制制記憶體之系統及方法」此專辦請已放棄。本發明之應用亦與卿 年8月4日中請、中請號第〇9/366,976號專利證書第6,547,⑽號之「具 有指紋驗證功能之積體電路卡」及獅年〗月6日巾請、申請號第 _6,976號、專利證書第7,257,714號之「具有指紋驗證功能之電子資料 儲存媒體」相關。在此將上述所有專利合併陳述如下。 【發明所屬之技術領域】 本發明係有關-種電子資料快閃記憶卡,特狀指—種電子資料快閃 記憶卡中之多功能快閃記憶系統。 【先前技術】 機密資料檔案常常儲存於軟式磁碟或透過網路輸入密碼取得,或是將 其加密編碼以確保安全,機密文件送出時會附加安全圖章且在傳送期間留 下印記’然而密碼、加密編碼、安全圖章及印記有可能被破解,使機密資 料檔案及文件暴露在危險中’因此需解決未經授權存取機密資訊之問題。 隨著快閃s己憶體技術演進,在攜帶式行動系統中做為儲存媒體之傳統 磁性磁碟已被快閃記憶體所取代’快閃記憶體與軟性磁碟與磁性磁碟相較 200917256 2下具有雜抗、低辨雜等優點,且朗記鋪小尺寸實體更益於行 動系統侧。因此,快閃記賴的趨勢隨著其適胁攜㈣行動系統及低 耗電之特性而逐漸成長。 通用串列匯流排電子資料快閃記憶卡為可攜式、低耗電之裝置,利用 通用串列《排(聰)技術做為—主機電腦及—快閃記憶卡中快閃記憶 裝置之間的介面,通用串列匯流排電子資料快閃記憶卡具有多種應用形 式,如筆觸罐置、MP3 位靖,在每—形式中通用 申列匯流排電子資料快閃記憶卡都包含—快閃記憶裝置、—處理器及通用 串列匯流排之介面電路。 通用串列匯流排快閃記憶裝置在儲存資料上廣受絲歡迎,傳統的通 用串列匯流排快閃記憶裝置賴只能儲存資料,但其受歡迎是在於可攜 帶、易於刪除且易於格式化,但傳統之通”列匯流排快閃記憶裝置且有 一潛在問題’由於其易於刪除及格式化,可能不小喊_料刪除或格 式化’因此,通料列匯流排快閃記憶裝置—般用於轉傳資料而不是用於 永久儲存’儲存在通用串列匯流排快閃記憶裝置中之資料一般備份在其他 地方,如硬碟。 』有鑑於此,本發明遂針對上述f知技術之較,提出—制用多樣快 1己隐單70建立具有多重分樞及自純行魏之· _舰流排資料快 閃。己憶卡’其彈性、安全、簡單、成本經濟且為可存在之技術,以有效克 服上述之該等問題。 【發明内容】 本發明之實施例指出-種電子資料快閃記憶卡,包含一快閃記憶裝 200917256 置、一光學指域應器、—輪續出介面電路及-處理單元’此電子資料 快間記憶卡適用於存取終端主機電腦,如個人電腦、筆記型電腦或其他電 子主纖置’㈣電子資密蝴記針胁攜帶且咖,㈣可將個人資 ^加密成唯_存_】_置之中,例如絲__配對的 卡片可讓未授權者無法使用此卡片。 本發明之實關_指出了—種電子:雜_記憶卡,细類似格式 化硬碟之格式化技術將快閃記憶體之複數快閃記憶單元分割成至少一分則 區,包括-自純行魏(㈣—Aut_.inf峨含—倾應用程式之 至)一應職式檔,_應_胁_由Aut咖·inf檔所送出) 及-個或-個以上之磁碟分割區以健存使用者可存取之資料,其中,自動 執行分娜係细—續或促進自純行功能之職系統⑷如光磾唯讀 記憶體觀統(CD侧邮卿,咖S)或通用檔咖200917256 IX. INSTRUCTIONS: This application is a continuation of the U.S. patent "Only a multi-partition and auto-execute function of a universal serial bus electronic data flash memory card" for the February 5th application of the Li Nian. (CIP) 'This is the cover of the United States Patent No. 11/466,759, which is filed on August 23, 2006. The continuation of the controller" and the US patent No. 759, which is the system and method for the production of memory on February 26, Application No. 10/789,333, has been abandoned. The application of the present invention is also related to the "Integrated Circuit Card with Fingerprint Verification Function" and the Year of the Lions, 6th, 547, (10) of the Patent No. 9/366,976 of the August 4th of the Qing Dynasty. Towels, Application No. _6,976, and Patent Certificate No. 7,257,714 are related to "electronic data storage media with fingerprint verification function". All of the above patent combinations are hereby incorporated below. [Technical Field] The present invention relates to an electronic data flash memory card, and a special type of flash memory system in an electronic data flash memory card. [Prior Art] Confidential data files are often stored on a floppy disk or entered via a network password, or encrypted and encoded to ensure security. Secure documents are attached with a security stamp and a stamp is left during transmission. Encryption codes, security stamps and imprints may be cracked, making confidential data files and files exposed to dangers. Therefore, it is necessary to solve the problem of unauthorized access to confidential information. With the evolution of flash memory technology, traditional magnetic disks used as storage media in portable mobile systems have been replaced by flash memory. 'Flash memory and soft disk compared with magnetic disk 200917256 2 has the advantages of hybrid resistance, low discrimination, and the small size entity of Langjipu is more beneficial to the side of the mobile system. As a result, the trend of flash-based recording has grown with its threatening (4) mobile system and low power consumption. Universal Serial Bus Electronic Data Flash Memory Card is a portable, low-power device that uses the universal serial "Cong (Cong) technology as a host computer and - flash memory card between flash memory devices) Interface, universal serial bus electronic data flash memory card has a variety of application forms, such as brush cans, MP3 position, in each form, the general application of the bus electronic data flash memory card contains - flash memory Device, processor, and interface circuit of a universal serial bus. Universal serial bus flash memory devices are popular in storing data. Traditional universal serial bus flash memory devices can only store data, but their popularity is that they are portable, easy to delete and easy to format. However, the traditional communication "column flash memory device has a potential problem" because it is easy to delete and format, it may not be shouted - delete or formatted - therefore, the bus bar flash memory device - For transferring data, rather than for permanent storage, the data stored in the universal serial bus flash memory device is generally backed up elsewhere, such as a hard disk. In view of this, the present invention is directed to the above-mentioned technology. In comparison, it is proposed that the system will be multi-layered and self-contained. It has multiple pivots and self-purity. The ship's data is flashing. The card is 'elastic, safe, simple, cost-effective and can exist. The technology is effective to overcome the above problems. [Description of the Invention] An embodiment of the present invention indicates an electronic data flash memory card, including a flash memory device 200917256, an optical finger field , -Continuous interface circuit and processing unit 'This electronic data fast memory card is suitable for accessing the terminal host computer, such as personal computer, notebook computer or other electronic main fiber set' (4) electronic secrets Carrying and coffee, (4) can encrypt the personal information into a _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ : Miscellaneous_memory card, a format similar to the formatted hard disk format technology divides the flash memory unit of the flash memory into at least one sub-division, including - since the pure line Wei ((4) - Aut_.inf峨 - Placing an application to a job file, _ should be _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , automatic implementation of the sub-system - continuous or promote the function system from the pure line function (4) such as the 磾 磾 read memory (CD side postal, coffee S) or universal file
))來格式化,而磁碟分割區則是利用—典型的資料健存擋 (例如16位權配朗職)、32位蝴赌表(F f技術文件纽(卿S))來格式化。在—實施财,末端使用者盈法 存取自域梅m,爾載_瓣跑㈣柯以存取。 一本發明之另-實施财,#電子雜_記憶卡與主機電腦之間建立 一通訊連科,將電子㈣記針初純,並自顿行儲 财之齡(例如他晰爾行軟體應用程式, 二使主魏職行該軟體顧料);在初始化完成(切分例子中是全 部完成)彳獅軟咖料,嫩纖觸入—「標準」 200917256 式,包含下列三種模式其中之一:一編程模式,快閃記憶體控制器啟動輸 入/輸出介面恤接絲自域败—細錢_概儲存於磁 碟刀應中,-貝料恢復模式,快閃記憶體控㈣從磁碟分龍中讀取資 料檔案’啟動輸入/輸出介面電路以將樓案資料傳送給主機電腦;以及一資 料重置模式’將資料檔案從磁碟分籠中消除。在本發明之—實施例中, 將-快閃記憶裝置分割成包含自動執行分割區及磁碟分割區等兩個或多個 分割區’且本發明提供一強化之電子資料快閃記憶卡,可幫助只有單一分 割區之快閃記憶卡之操作。 底下藉由具體實施例詳加說明,當更容_解本發明之目的、技術内 谷、特點及其所達成之功效。 【實施方式】 本發明之實施例是為了改善製造€子#料快閃記針之方法,雖然底 下所述本發明之實補是針騎財列隨排電子快閃記針進行說明, 但本發明補新方式可以使肖在製造各種不随_電子,_記憶卡上, 其中包含但不限定於週邊構件互連匯流排(PCI-Express,PCIE)、安全數位 (Secure Digital,SD)、記憶棒(memory stick,MS)、小型快閃記憶體 (Compact flash, CF )、集成驅動電子設備(integratecj Drive Electronics,IDE ) 及一串列高技術配置(SATA)快閃記憶卡上。這些應用可以適用於各種垂 直螺旋掃描(Vertical-Helical-Scan,VHS )和多功能數位光碟 (Digital-Versatile-Disk,DVD)格式上來自動播放其上的媒體内容,無論自 動播放装置是否插在主機上,它都可以滿足與今日主流的媒體載體(media carrier)同樣的功能。 200917256 在接下來的敘述中’會先說明數個細節以提供對本發明之實施例更詳 盡的說明,然而對於熟知此領域的人,本發明之具體實施娜需要這些細 節I7可被貫%。在其他範例巾’廣為人知的結構和裝置將以區塊圖的方式 來呈現’以避免混淆本發明之實施例。 在本說明中提到「-個(Gne)實施例」或「―(an)實施例」意指一 與貫_連結之特定魏、結構或特性至少出現在本發明中的其中一個實 仏例中’在本文件規格中出現「在一實施例中」—詞不見得是指同一件實 施例。 °月參考第1(A)圖,根據本發明之貫施例,一電子資料快閃記憶卡1〇能 被外部(主機)電腦9透過一介面匯流排13或—記憶卡讀取機(圖中未示) 或其他介面機制(圖中未示)進行讀取,並且包含一個卡片本體丨、處理單 元2、一個或多個快閃記憶體裝置3、一非必備之指紋感應器(安全裝置) 4、一輸出/輸入介面電路5、一非必備之顯示單元6、一非必備之電力來源 (例如電池)7和一非必備之功能按鍵組8。 快閃記憶體裝置3設置於卡片本體1上,並以特定方式存放包含一資料 檔案、一參照法、碼和透過抑·描允許存取遠資料權案人的指紋所記錄下來的 參照指紋資料。舉例來說,該資料標案如之後所示可以是一照片標案或一 文字檔案,該快閃記憶體裝置3也包含啟動程式碼和控制程式碼。 指紋感應器4設置於卡片本體1上’用以掃描電子資料快閃記憶卡 之使用者的指紋來產生指紋掃描資料,本發明中使用指紋感應器4的一個 實施例已於相關前案美國專利號第6,547,130號「具指紋驗證功能之積體電 200917256 路卡」中_,蝴⑽職爾聯彳。增軸述之指 紋感應器包含-掃描晶片_建立—衡旨崎继域,指崎描資料係透 過掃描晶片陣列的每—行所得到的多組掃描線資料結合而成,掃描晶片陣 列的每一行會使用橫向掃描過也會縱向掃描過,每—個掃描晶片產生的第 一個邏輯訊號是根據伽咐本體射人的餘之隆起處,而第二個邏輯 訊號是根據制卡片本體持有人的指紋之凹陷處。 輸入/輸出介面電路5設置於卡片賴丨上,可啟触透過介面匯流排 13的接腳或記憶卡讀取機以適當的方式用來建立與主機電腦9的通訊,在 實施例中’輸入/輸出介面電路5包含通用争列匯流排(卿)、個人電 腦記憶卡國際協會(Pe職al computer Mem〇ry㈤如隨^ PCMCIA)和RS232介面結構的電路和控制邏輯,其可以連接或插到主機 電腦對應的獅。在另—實關巾,輸人/輸出介面電路5可包含一安全數 位(SD)介面電路、多媒體卡(mmc)介面電路、小型快閃記憶體(cf) 介面電路、記憶棒(MS)介面電路、週邊構件互連匯流排(pci_Express) 介面電路、集成驅動電子設備(IDE)介面電路和一串列高技術配置(sata) 介面電路,這些介面與主機電腦9透過一介面匯流排13或一記憶卡讀取機 介接。 處理單元2設置於卡片本體丨上,並且透過相對的微量導體或暴露在 卡片本體1上之線路連接到記憶體裝置3、指紋感應器4和輸出/輸入介面 電路5。在一實施例中’以英特爾公司(Intel)可取得者為例,處理單元2 為一 8051、8052和80286之微處理器,而在另一個實施例中,處理單元2 200917256 包含-個應、侧、圈或其他數位訊號處理器,以本發明的面向來 看,處理單元2受到-存放在快閃記憶體裝置3的程式所控制,如此處理 單元2就祕™綱作:⑴補式,此時處理單元a啟動輸 出/輸入介面電路5來從主機電腦9接收資料棺案、啟動程式碼資料、控制 程式碼資料和非指,物,並且將其耐磁_&鐘裝置3 令(亦可透纏縮的格式來增加記缝裝置的可存放容量》⑵重置模式, 在此模式愤祕柄龍和控做式碼f料從㈣記髓裝置中讀取且 用以設定和控制處理單元2 ;⑴資料接收模式,在此模式中處理單元會從 指紋感應器4上讀取指紋掃描資料,與快閃記憶體裝置3的至少一個區段 指紋參照龍進行_來驗證料該電付懸閃記針_制者可授 權存取餘_記㈣« 3的㈣鹋,血-旦驗證該細者可授權 存取儲存在快閃記憶體裝置3中的資料樓案,就會啟動輸出/輸入介面電路 5來傳輸麵案耻機物;⑷__模式,在此謝記憶體 裝置3 _啟動程式碼資料和控制程式碼資料會被升級;⑸資料重置模 式此模式中資料檔案和指紋參照資料會被從記憶體裝置3中抹除,在操 作過程中’主機電腦9透過記憶卡讀取機或介面隨排U以纖/輸入介 面電路^紐出寫场魏要求魏子__記憶卡π上的處理單元 2,其接著會使用快閃記憶體控制器(圖中未示)來讀取和/或寫入到相對應 的一個或多個快閃記憶體裝置3,在-實施财,-但偵測到記憶體裝置3 中預先。X置的存故資料檔案和指紋參照資料_綱已祕盡,處理單元2 會自動初始化資料重置模式操作。 200917256 〇52和8〇286處理器為英特爾公司所發展之微處理器,這些處 理器使用複雜指令集’ 8051和8052微處理器擁有-八位元的資料匯流排, 而80286有—個16位元的資料匯流排,RISC ' ARM和MIPS是使用精簡 指令集架構的微處理器’觀和觀處職廣泛使麟低成本之應用上, 處里器可用於南速/尚效能的應用上,⑽匸、和處理器是 成本較_微處理H,適麟更複_顧像是進階錯誤修正碼(E⑹ 和資料加密上。 非必備的電力來源7設置於卡片本體丨上,並且連接到處理單元2和 其他卡片本體1上之相關單元以提供所需的電力。 非必備的功能鍵組8設置於卡片本體丨上,連接到處理單元2並且可 以對處理單元2所選擇的絲、資料接收、程式碼升級和資料重置模式等 操作其中之-進行初始化,魏馳8可提供處理單元2密碼輸人之操作, 處理單7L 2會轉輸人的密碼和雜在侧記紐裝置3的密碼互相參 …一驗€輸入的密碼與參照密碼相符合,就會初始化授權電子資料快 閃記憶卡10的操作。 非必備的顯示單^ 6設置於卡片本體i上,並連接到處理單元2,利用 處理單元2控制_示資機案與域電腦9的交換和顯示電子資料快閃 記憶卡10的操作狀態。 接下來為本㈣之部分m,電子麵,_輯卡具有小體積 大儲存容量’因此可以使得資料傳輸更加便利;第二,因為每個人都有獨 -無二的指紋,電子資料快閃記憶卡只允許授_人來存取其内所儲存的 12 200917256 資料檔案,因此也增加了安全性。 本發明額外的特色與優點會之後會—一說明。 第1(B)圖為根據本發日月另—個實施例中電子資料快閃記憶卡10A之方 塊圖,其中係以一_感應單以A取代先前敘述之指紋感應器,可用的感 應器單元包含視讓(目w)掃㈣或是可棘_授權使財的物轉 徵之語音韻裝置’這些操作行_似於參考之能域懸4所述之行 為0 第1(c)圖所示為第1⑻圖中處理單元从更細節的部分,電子資料快閃 記憶卡驗包含-個電源調整器22用來提供一個或多個電力供應’電力供 應根據各單元不同的電力需求提供不同的電壓給處理單元μ和其他電子 資料快閃8己憶卡10A相關單元。可能需要電容(圖中未示)來增加電源穩 邮電子資料快閃記憶卡驗包含—重置電路23以提供重置訊號給處理 _ —電綱啟’重置電路23插人-重置信號給所有的單元,在 内部的電壓到達穩定的程度之後,重置訊號就會被解除,電阻和電容(圖 中未示)用來提供足夠的重置時序調整,電子㈣快閃記憶卡舰也包含 了石英水晶振盪器(圖中未示)來提供標準的頻率到一處理單元2a令的 pLL。根據本如月的一實施例,輸出/輸入介面電路从、重置電路u和電 源調整器22被整合起來且/或部分整合在處理單元Μ中,-個高度整合整 體上將降低魏空咖需求、_度且/或製造的成本。_和降低成本是 °移除裝ΐ如在此說明的電子資料㈣記憶卡之關鍵要素,現代積體電路 裝可以整σ數個不同技術和材料的積體電路元件到—個積體電路封裝 13 200917256 内’舉例來說’輸出/輸入介面電路是類比和數位混和電路,可以與處理單 元起被t σ到-個多晶片封裝(Multi Chip package ),重置電路和電源 調整__路,訪與纽衫觀合到乡(Multi-Chip kage ) &合>fs號積體電路技術(si_ ic )的本質允 雜合整合_與數位,耻—鶴度整合可⑽-地含輸入/輸出 )1面電路、快閃記憶體控㈣、重置電路和電测的處理單元整合到 '一個晶片上。 第KD)圖所示為本發明另一實施例中電子資料快閃記憶卡側之方塊 圖’電子資料㈣記憶卡1GB移除減感應^和其相關制者認證程序, 電子資撤閃Ail卡也包含—鶴度整合輸丨 快閃記憶體控㈣的處理單元2B進而降低成本,輸出/輸入介面電路和讯 包含-個傳送純塊、—個序列介面引擎區塊、資料緩衝區、暫存器和中 斷邏輯’輸出/輸入介面電路5B連結到一個内部匯流排來允許多個輸出/輸 入介Μ路5B的元件與_記題控繼21溝通,快閃記憶體控制器^ ^個微處理器單元、唯讀記憶體、隨機存取記憶體、快閃記憶體控制 益邏輯、錯誤校正碼邏輯和通用輸似輸入(Gpi〇)邏輯,於—實施例中, 通用輸出/輸入連接到複數個發光二極體用以標示電源狀態、讀/寫快閃記憶 體活動等與其他輸出/輸人裝置。_記憶體控繼21連接到—個或多個快 閃記憶體裝置3B。 -組功能鍵組8B之製造/測試系統或使用者 系統’當電子雜快閃記憶卡1GB運作時,功能鍵組犯透過介面匯流排 200917256 I5連接到處理單元2B ;當主機電腦9B是一台製造/測試系統時,功能鍵組 8B用以選擇設定電子資料快閃記憶卡1〇B到格式化/測試模式和程式升級 模式而田主機電腦9B是製造/測試系統,功能鍵組8B被用以選擇設定電 子資料快卩松計職料寫人(减化)模式、·接賴式和資料 重置模式,魏鍵組犯也可以时提供輸人密碼·給域電腦兜作為 授權進入格式化/測試或是程式碼更新模式(如輸入製造商定義密%,或 授權存取安全資料(如輸入使用者定義密碼)。處理單元犯比對輸入密碼 與存放在㈣記題裝置3B中的參照密碼,並且#驗證輸人_跟參照密 碼符合時,初始化授權電子資料快閃記憶卡1〇B的操作。 當透過介面匯流排或記憶卡讀取機進行操作時,主機電腦兜包含顯示 單元犯被連接到被連接到處理單元2B,顯示單元犯用以顯示資料槽案與主 機電腦9B互相交換’賴_示電子·_記憶卡職操作狀態,除此 之外’下面會麟賴示單元6时以着,_受職子_爛記憶卡· 的控制進而自動地顯示-則廣告或當電子資料快閃記憶卡手動地連接 到主機電腦9B時顯示其他訊息等額外細節。 在本發明之-實施例中,處理單元2B包含快閃記憶體類型演算法純 測該快閃記憶體_是否受到快閃記憶體_器邏輯所支援,關於具有此 智慧演算法職閃記憶體控之上述相關_性被揭露在如正在申靖中 之美國彻魏請佩759號,專物為「㈣侧記憶卡之 快閃記憶體控制器」之全文中。 15 200917256 口口般快閃記憶體系統之系統架構包含一個具有處理器的快間記憶體控 制益、唯讀記憶體和隨機存取記憶體,其中啟動程式碼和控制程式碼存放 在唯讀記倾作為唯讀記憶體程式碼,—但電源簡,處職會取得該啟 動程式碼錄行,啟動程式财她化祕元件並且.控伽式碼到隨 機存取德體,-旦控做式碼賊人制隨機存取記憶體之卜其會進 步控制系統’控制程式碼包含一個或多個驅動程式來運行基準工作,比 方說控制和配置記龍、輕齡執彳爾先權、控概出和輸人谭等等, 控制程式碼也包含了-錄閃記憶義型侧演算法和快耽憶體參數資 料i讀記舰是-種只能讀取的記鐘,在快敝練控㈣設計完成 後並進入生產,唯讀記的軟難式碼齡被寫死並且無法進行 更改以支援之後在市場發表的新型快閃記憶體麵,這種情況下,必須不 斷的開發-種新的快閃記憶遭控制器來支援新的快閃記憶體,如此一來將 非常損耗金錢和時間。 根據本發明的-實施例’快閃記憶體裝置3B包含一個保留空間則如 -預蚊義之_記憶塊)轉放_啟動程式碼3u和控制程式碼 31B ’當在啟動時,快閃記憶體控制器21使用存放在控制器的唯讀記憶體 中的啟動程式碼來讀取動態啟動程式碼31A和控制程式碼仙到主記憶 體’之後由快閃記憶體控制器21使用進行動態啟動程式碼Μ和控制程式 碼31B啟動和控制操作,藉由在保留空間31中存放—部分快閃記憶體控制 器21會使賴雜練柄和控繼柄,_姐在_纖體控制器 的唯讀記顏巾’啟触式碼和控做式碼可㈣馬上升級,#要更換 200917256 快閃記憶體控制器,而且控㈣的唯軌憶體大小可以被最小化。關於快 隐卡中之〖蝴Alt、體包含存放啟動程式碼和控制程式碼之技術已揭露 於2006年12月13號申請、申請號第11/611,811號之美國專利中其專利 名稱為「電子資料快閃記憶卡之快閃記憶體控制器」。 此外根據本發明,快閃記憶體裝置3B的快閃記憶單元可用類似使用在 硬碟磁碟機上的格式化技巧來分割區化出兩個或多個分割區,其中至少包 3個自動執行为割區%,其被格式化為一個標案系統以做為自動執行 (Autorun)功能之用,如:光碟唯讀檔案系統(CD R〇MFiieS声⑽,cd⑻ 或通用擋案系統(11*嶋1版办_,哪),且至少—個磁碟分割區% 用典型的資料儲存檔案系統進行格式化,如:W位元標案配置表(驗哪)) to format, and the disk partition is formatted using a typical data storage (for example, 16-bit rights) and a 32-bit book (Ff technical file (News)). . In the implementation of the financial, the end user profit method access from the domain Mei m, _ _ _ run (four) Ke to access. A further invention of the invention - implementation of the financial, #电子杂_memory card and the host computer to establish a communication link, the electronic (four) pin is pure, and the age of the bank to save money (for example, he is a soft application The program, the second Wei Wei line of the software care); in the initialization is completed (completed in the split example) 彳 软 soft coffee material, tender fiber touch - "standard" 200917256, including one of the following three modes : A programming mode, flash memory controller start input / output interface shirt wire from the domain failure - fine money _ stored in the disk knife should be, - shell material recovery mode, flash memory body control (four) from the disk The sub-long read data file 'starts the input/output interface circuit to transmit the building data to the host computer; and a data reset mode' to eliminate the data file from the disk. In an embodiment of the present invention, the flash memory device is divided into two or more partitions including automatic execution of partitions and disk partitions, and the present invention provides an enhanced electronic data flash memory card. It can help the operation of flash memory cards with only a single partition. The details of the present invention, the technical valley, the characteristics and the effects achieved by the present invention are explained in detail below by way of specific examples. [Embodiment] The embodiment of the present invention is for improving the method for manufacturing the flash drive needle, although the actual compensation of the present invention is described below, the invention is supplemented by the electronic flash needle. The new way allows Xiao to manufacture a variety of non-electronic, _ memory cards, including but not limited to peripheral components interconnect bus (PCI-Express, PCIE), Secure Digital (SD), memory stick (memory Stick, MS), compact flash (CF), integrated drive electronics (integratecj Drive Electronics, IDE) and a series of high-tech configuration (SATA) flash memory cards. These applications can be applied to a variety of Vertical-Helical-Scan (VHS) and Digital-Versatile-Disk (DVD) formats to automatically play media content on them, regardless of whether the autoplay device is plugged into the host. In addition, it can meet the same functions as today's mainstream media carrier. In the following description, several details are set forth to provide a more detailed description of embodiments of the present invention, however, for those skilled in the art, the specific implementation of the present invention requires that these details I7 be consistent. Other well-known structures and devices will be presented in a block diagram to avoid obscuring embodiments of the present invention. References in this specification to "a" ("g" embodiment" or "an" embodiment mean one of the specific examples in which the particular Wei, structure, or characteristic of the _ link is present in the present invention. The word 'in an embodiment' appears in the specification of the document - the word does not necessarily refer to the same embodiment. Referring to FIG. 1(A), according to the embodiment of the present invention, an electronic data flash memory card 1 can be transmitted by an external (host) computer 9 through an interface bus 13 or a memory card reader (Fig. (not shown) or other interface mechanism (not shown) for reading, and includes a card body 丨, processing unit 2, one or more flash memory devices 3, a non-essential fingerprint sensor (security device 4, an output/input interface circuit 5, a non-essential display unit 6, a non-essential power source (such as a battery) 7 and a non-essential function button group 8. The flash memory device 3 is disposed on the card body 1 and stores a reference fingerprint data recorded by a fingerprint including a data file, a reference method, a code, and a transmission permitting access to a remote data right holder in a specific manner. . For example, the data standard may be a photo standard or a text file as shown later, and the flash memory device 3 also includes an activation code and a control code. The fingerprint sensor 4 is disposed on the card body 1 to scan the fingerprint of the user of the electronic data flash memory card to generate fingerprint scanning data. One embodiment of the fingerprint sensor 4 used in the present invention has been related to the prior patent. No. 6,547,130 "Integrated power with fingerprint verification function 200917256 road card" _, Butterfly (10) er er. The incremental fingerprint sensor includes a scan wafer _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ One line will use horizontal scanning and will also be scanned vertically. The first logical signal generated by each scanning chip is based on the ridge of the gamma main body, and the second logical signal is held according to the card body. The depression of the human fingerprint. The input/output interface circuit 5 is disposed on the card, and can be used to establish communication with the host computer 9 in an appropriate manner by using a pin or a memory card reader through the interface bus 13, in the embodiment 'input /Output interface circuit 5 includes the circuit and control logic of the universal contention bus (Qing), PC Memory Card International Association (Pe job al computer Mem〇ry (5), such as with PCMCIA) and RS232 interface structure, which can be connected or plugged in The lion corresponding to the host computer. In the other, the input/output interface circuit 5 can include a secure digital (SD) interface circuit, a multimedia card (mmc) interface circuit, a small flash memory (cf) interface circuit, and a memory stick (MS) interface. a circuit, a peripheral component interconnect bus (pci_Express) interface circuit, an integrated driver electronics (IDE) interface circuit, and a series of high-tech configuration (sata) interface circuits that interface with the host computer 9 through an interface bus 13 or The memory card reader is interfaced. The processing unit 2 is disposed on the card body and is connected to the memory device 3, the fingerprint sensor 4, and the output/input interface circuit 5 through a relatively small number of conductors or lines exposed on the card body 1. In one embodiment, 'Intel's available as an example, processing unit 2 is a microprocessor of 8051, 8052, and 80286, and in another embodiment, processing unit 2 200917256 includes - Side, circle or other digital signal processor, in view of the aspect of the present invention, the processing unit 2 is controlled by a program stored in the flash memory device 3, such that the processing unit 2 is a secret program: (1) complement, At this time, the processing unit a activates the output/input interface circuit 5 to receive data files, start code data, control code data, and non-finger objects from the host computer 9, and to make them magnetically resistant. The tangible format can be used to increase the storage capacity of the sewing device. (2) Reset mode, in which the indignant handle and the control code are read from the (4) recording device and used to set and control the processing. Unit 2; (1) data receiving mode, in which the processing unit reads the fingerprint scanning data from the fingerprint sensor 4, and performs at least one segment fingerprint reference flash with the flash memory device 3 to verify the electricity payment. Dust flashing needle Authorization access _ _ (4) « 3 (four) 鹋, blood - once verified that the user can authorize access to the data store stored in the flash memory device 3, the output / input interface circuit 5 will be activated to transmit the surface (4) __ mode, where the memory device 3 _ boot code data and control code data will be upgraded; (5) data reset mode in this mode data file and fingerprint reference data will be from the memory device 3 in the erasing, during the operation process, the host computer 9 through the memory card reader or interface with the U in the fiber / input interface circuit ^ button out the field Wei request Wei Zi __ memory card π on the processing unit 2, It then uses a flash memory controller (not shown) to read and/or write to the corresponding one or more flash memory devices 3, to implement the money, but to detect the memory. In the body device 3, the X-stored data file and the fingerprint reference data are all secreted, and the processing unit 2 automatically initializes the data reset mode operation. 200917256 〇52 and 8〇286 processors are developed by Intel Corporation. Microprocessors that use complex instruction sets The 8051 and 8052 microprocessors have an eight-bit data bus, while the 80286 has a 16-bit data bus. RISC 'ARM and MIPS are microprocessors that use a reduced instruction set architecture. Widely used for the low cost application of Lin, the device can be used for the application of the South speed / still performance, (10) 匸, and the processor is the cost _ micro processing H, Shi Lin more complex _ Gu is the advanced error correction code (E(6) and data encryption. The non-essential power source 7 is placed on the card body , and connected to the processing unit 2 and other related units on the card body 1 to provide the required power. Non-essential function key group 8 setting On the card body ,, connected to the processing unit 2 and can initialize the operation of the wire, data receiving, code upgrade and data reset mode selected by the processing unit 2, and the Weichi 8 can provide the processing unit 2 password. In the operation of the input, the processing of the single 7L 2 will transfer the person's password and the password of the side note device 3 will be mutually collocated. Once the input password is matched with the reference password, the authorized electronic data flash memory card will be initialized. 10 Operation. The non-essential display unit 6 is disposed on the card body i and is connected to the processing unit 2, and the processing unit 2 controls the exchange of the printer program with the domain computer 9 and displays the operation state of the electronic data flash memory card 10. Next, the part of (4) is m, the electronic surface, the _ card has a small volume and large storage capacity 'so it can make the data transmission more convenient; second, because everyone has a unique fingerprint, the electronic data flash memory The card only allows the _ person to access the 12 200917256 data file stored in it, thus also increasing security. Additional features and advantages of the present invention will be described later. Figure 1(B) is a block diagram of an electronic data flash memory card 10A according to another embodiment of the present invention, wherein the fingerprint sensor is replaced by a _ induction sheet with A, and the available sensor The unit contains a visual (mesh) sweep (four) or a rhythm device that authorizes the transfer of wealth. These operations are similar to the behavior described in the Energy Range of the Reference 0. Figure 1(c) Shown from the more detailed part of the processing unit in Figure 1 (8), the electronic data flash memory card contains a power conditioner 22 for providing one or more power supplies. The power supply is different according to the different power requirements of each unit. The voltage is given to the processing unit μ and other electronic data flash 8 recall card 10A related units. Capacitors (not shown) may be required to increase the power supply. The electronic data flash memory card check includes - reset circuit 23 to provide a reset signal to the processing - the power module is turned on - the reset circuit 23 is inserted - the reset signal For all units, after the internal voltage reaches a stable level, the reset signal will be released. The resistors and capacitors (not shown) are used to provide sufficient reset timing adjustment. The electronic (4) flash memory card also A quartz crystal oscillator (not shown) is included to provide a standard frequency to the pLL of a processing unit 2a. According to an embodiment of the present month, the output/input interface circuit is integrated from the reset circuit u and the power regulator 22 and/or partially integrated in the processing unit, and a highly integrated overall reduction in the requirements of the Weikong coffee , _ degrees and / or manufacturing costs. _ and cost reduction are the key elements of the removal of the electronic data (4) memory card as described here. The modern integrated circuit package can integrate a plurality of integrated circuit components of different technologies and materials into an integrated circuit package. 13 200917256 Inside, for example, the output/input interface circuit is an analog and digital mixing circuit that can be t σ to a multichip package, reset circuit and power supply adjustment. Interview with the new shirt to the township (Multi-Chip kage) &> fs integrated circuit technology (si_ ic) the nature of the hybrid integration _ with digital, shame - crane degree integration (10) - ground input / Output) One-sided circuit, flash memory body control (four), reset circuit and electrical measurement processing unit are integrated into one chip. FIG. KD) is a block diagram of an electronic data flash memory card side according to another embodiment of the present invention. 'Electronic data (4) Memory card 1GB removal minus induction ^ and its related system authentication program, electronic asset withdrawal flash Ail card It also includes the processing unit 2B, which integrates the input and output flash memory control (4), thereby reducing the cost, the output/input interface circuit and the information including a transmission pure block, a sequence interface engine block, a data buffer, and a register. And the interrupt logic 'output/input interface circuit 5B is connected to an internal bus bar to allow the components of the plurality of output/input channels 5B to communicate with the _book control chip 21, the flash memory controller ^ ^ a microprocessor Unit, read-only memory, random access memory, flash memory control logic, error correction code logic, and general input-input (Gpi) logic. In the embodiment, the general-purpose output/input is connected to a plurality of Light-emitting diodes are used to indicate power status, read/write flash memory activity, and other output/input devices. The memory control unit 21 is connected to one or more flash memory devices 3B. - Manufacturing/testing system or user system of group function key group 8B' When the electronic flash memory card 1GB is operated, the function key group is connected to the processing unit 2B through the interface bus 200917256 I5; when the host computer 9B is one When manufacturing/testing the system, the function key group 8B is used to select and set the electronic data flash memory card 1〇B to the format/test mode and the program upgrade mode, while the field host computer 9B is the manufacturing/test system, and the function key group 8B is used. In order to select the setting of electronic data, quick release, manual writing (subtraction) mode, access mode and data reset mode, Wei key group can also provide input password when giving the domain computer pocket as authorization to enter format. /test or code update mode (such as entering the manufacturer definition key %, or authorizing access to security data (such as entering a user-defined password). The processing unit makes a comparison of the input password and the reference stored in (4) the note device 3B The password, and #Verify the input _ to match the reference password, initialize the operation of the authorized electronic data flash memory card 1 〇 B. When operating through the interface bus or memory card reader, the host The computer pocket includes a display unit guilty connected to be connected to the processing unit 2B, and the display unit arbitrarily displays the data slot and exchanges with the host computer 9B 'Lai _ _ _ _ _ memory card operation state, in addition to 'below Hui Lin will show the unit 6 at the time, _ the helper _ rotten memory card · control and then automatically display - then advertising or when the electronic data flash memory card is manually connected to the host computer 9B when displaying additional information and other additional details In the embodiment of the present invention, the processing unit 2B includes a flash memory type algorithm to automatically test whether the flash memory is supported by the flash memory logic, and has a flash memory with this smart algorithm. The above-mentioned related traits of the body control are disclosed in the full text of the "Six-side memory card flash memory controller" in the United States, such as the Shen Weizhong in the Shenjing. 15 200917256 mouth-like flash memory The system architecture of the system includes a fast memory control with a processor, read-only memory and random access memory, where the startup code and control code are stored in the read-only memory as read-only Memory code, but the power supply is simple, the job will get the startup code record line, start the program to her secret components and control the gamma code to random access to the German body, - control the code thief system random Access memory will improve the control system' control code contains one or more drivers to run the benchmark work, for example, control and configuration of the dragon, light age, first control, control and input Etc., the control code also contains - recording flash memory type side algorithm and fast memory parameter data i read the ship is a kind of only can read the clock, after the quick training (four) design is completed Entering production, the hard-to-play aging code is written and can't be changed to support the new flash memory that was released in the market. In this case, it must be continuously developed - a new type of flash memory The controller supports new flash memory, which will be very costly and time consuming. According to the embodiment of the present invention, the flash memory device 3B includes a reserved space such as a pre-mosquito memory block, a boot code _starter code 3u, and a control code 31B 'when activated, the flash memory is activated. The controller 21 uses the boot code stored in the read-only memory of the controller to read the dynamic boot code 31A and the control program code to the main memory 'after the flash memory controller 21 is used for the dynamic boot program. The code and control code 31B start and control operations, by storing in the reserved space 31 - part of the flash memory controller 21 will make the handle and the control handle, _ sister in the _ slimming controller Read the face towel 'start-up code and control code can be (4) upgrade immediately, # to replace the 200917256 flash memory controller, and control (four) of the track-only memory size can be minimized. The technique for the "Floating Alt" in the Quick Hidden Card, including the storage start code and the control code, has been disclosed in the U.S. Patent Application No. 11/611,811, filed on Dec. 13, 2006. "Flash Memory Controller for Electronic Data Flash Memory Card". In addition, according to the present invention, the flash memory unit of the flash memory device 3B can divide two or more partitions by using a formatting technique similar to that used on a hard disk drive, wherein at least three automatic executions are performed. For the % of the cut area, it is formatted as a standard system for use as an Autorun function, such as a CD-ROM file system (CD R〇MFiieS sound (10), cd(8) or general file system (11*)嶋1 version of _, which), and at least - a partition of the disk partition formatted with a typical data storage file system, such as: W bit table configuration table (test
Allocation Table,FAT16)檔案系統、32 位元檔案配置表(32 bit File Μ〇_〇η Τ—,FAT32 )難系統或新技術檔案系統(New Technology File System, NTFS ) ’自動執行分割區%包含一 Aut〇njn时檔案32a,當電子 資料快閃記憶卡10B透過介面匯流排丨5連接到主機電腦9B時,其會被快 閃記憶體控制器21所執行,且一包含—個或多個軟體制程式之應用程式 標案3犯會執行回應從Aut〇mn inf檔案32八傳過來的呼叫。關於自動執行 將說明更詳細的侧操作如後。磁碟分籠33包含資料,其可以是不需使 用者定義密碼就可存取的公職料徽,或者是需要密碼才能存取的安全 資料33B。 第2圖所示為本發明之—實施例中簡化過之電子資料快閃記憶卡10B 之操作流程圖’當電子資料快閃記憶卡1〇B和主機電腦9B的通訊連結建立 17 200917256 後(如當電子資料快閃記憶卡Κ)Β插人-電腦主機兜上的_序列匯流排 (USB)插槽時;區塊50為是之分支)’電子資料快閃記憶卡ι〇β電源啟 動並初始化系統操作,並且與主機電腦9Β建立連線(區塊52);接下來, 快閃記憶體控繼21會根據啟動程式碼31Α所提供的齡,執行存放在 AUt〇run.inf觀3从中的指令(如執行軟體應用程式灿或讓主機電腦阳 來執行軟體應雜式32Β),軟體應式畑的執行初始化料後(在 某些情形下為整個結束)’快0記憶體控制器21進入一「一般」操作模式, 此時使用者可以在這個狀態存取存放在磁碟分割區33上的資料,且/或寫入 新的資料到磁碟分《 33 (如進行編程模式的操作,該模式中快閃記憶體 控制器21啟動輸入/輸出介面電路5β來自主機電腦9β接收資料構案,並 且存放資繼到磁碟娜33 ;物接收模式,該模式中快閃記憶體 控制器21 __ 33翁龍_,細_續_電路5Β 來傳送資料檔案到主機電腦9Β ;和—種f料重置模式,該模式中快閃記憶 體控制器從磁碟分割區33抹除掉_案)。藉由快閃記憶體裝置犯 分割區劃成峨姆㈣含自喻娜η蝴娜33,本 發明的-個實施例提供-種加_電子資料快閃記憶卡可以科只有單一 ^區的綱記憶卡所無法_嶋作,舉侧子來說,電子資料快閃記 ^⑽可以蝴免費散佈給使用者作為一個促銷禮品,自動執行功能 播放事_製好的廣告’每次使用者使用該電子資料快閃記憶 的電子告齡齡顺崎轉峨螢幕上。根縣發明所製造 料快閃記憶卡可以作為更多的用途,底下會描述更多個細節。 200917256 第3圖所示為本發明中一特定實施例之一電子資料快閃記憶卡之方 塊圖’之後會參考作為—織閃記憶體祕2⑻,,_記憶體线2⑽包含 一個收發器202、快間記憶體控制器2〇4、中央處理器(cpu) 、唯讀記 憶體208、快Μ記憶體21〇和一主記憶體212,在這個特定的實施例中,收發 器202是一個通用串列匯流排收發器,注意快閃記憶體這個詞代表一個或多 個快閃記憶體裝置,快閃記憶體控制獅4是_個嵌人式控繼且掌控大部 份的唯讀記憶體2〇8的韋禮所提供的中央處理器指令,且/或存放在預先定義 的快閃記憶體21〇區段。 在本發明中,快閃記憶體21〇在初始格式化/測試操作期間被設定來包含 夕個刀割區214、216、218 ’分割區的特定個數並不—定且依照特定的應用 而定,快閃記憶體系統勘使用多個214德來提供乡種功能,並依靠主記憶 體212内的索引22〇來存取多個分割區,這些功能可以包含如自動執行功 倉b無保心料儲存和保密資料儲存,實做這些多分割區214 218、索引22〇 和延些不範魏的實施例將會在之後其他的關進行詳細的說明。 在一般操作期間’快閃記憶體系統200可以連接到使用者主機230,該 使用者主機230可以是個個人電腦或是麥金塔個人電腦 ,該使用者主機230 包s-使用者應用程式232和一驅動程式234其執行批量限制傳輸 (bulk only-transport,B〇T)協議236。在此特定實施例中,驅動程式236 為通用串列匯流排驅動程式,並且可以透過作業系統如視窗作業系統提 200917256 在格式化/測試模式操作期間,快閃記憶體系統2〇〇可以連接到製造商主 機240,製造商主機24〇可為具有特殊絲硬體和軟體的個人電腦,在此特 定實施例巾’製造商域24G包含-製造商細程式⑽以及驅動程式244其 執雜里限制傳輸協議挪’在此特定實施例中,驅動程式挪為—通用串 列匯流排驅動程式。 在將其運制使用者手上前,製造駐機·格式化並職快閃記憶體 系統200,此格式她m模錢作讓㈣記憶體线2⑻粒乡個分割區 2M、216和218並且用以執行多種功能,如資料儲存和自動執行功能,驅動 程式246是-個特殊驅動程式(例如USBmfgsys),其可以做為編程程序。 批量限制傳觀議246指令_在快閃記憶體2_編程保留區域。 第4圖所不為本發明中一快閃記憶體系統4〇〇之詳細方塊圖,其可執 行第3圖中之快閃記憶體系統2〇〇。一般而言,快閃記憶體系統彻包含一 個收發器402、-快閃記憶體控制器、—中央處理㈣6、一唯讀記憶 體408、-快閃記憶體410和一主記憶體412,快閃記憶體被設定用來 包含多分割區414、416和418,主記憶體412存放—索引或位址轉換表42〇, 此位址轉換表420存放-些快閃記憶體相關的設定資訊如擁有多少個 分割區以及這些分籠如何被格式化(如—光碟^碟機或其他等),位 址轉換表420也讓中央處理器4〇6得以存取多分割區4i4_4i8。 割區(MULTIPLEPARTTTTrw。 在本發明之-實施例中,分割區淋·擁有不同的標案系統(如結構 或格式)的功能可作為自動執行製造商定義的自動執行操作和—個「一般」 20 200917256 (使用者控制)資料存取操作,多個不_結構的例子如光碟檔案結構 (c刪’她啦(FATs)崎灣嶋觸元楷案配置 ⑽簡纖構(卿S),瓣冑™陶❹個分割區 414-418 己‘_統彻可_機_執行多種魏,舉例來說, 刀口'】區414 (其也可被參照為分割區〇)可以被格式化為光碟唯讀類型分 篇’其使㈣是光碟唯讀财系統㈣結構,該光碟格式得以讓快閃記 憶體系統支援自動執行功能,底下會進—料細描述自動執行功能。 、另個刀uj區416 (亦可參照為分割區〇可被分割為一個磁碟分割區, 磁碟刀D'm可使用不同之檔案結構(例如16位元樓案配置表、%位元標 =配置表或新技術檔録統等)並且可絲做為—般___途(如 資料儲存)。做為—磁碟義分割區,該分可被設定為—個公開分割 區’並可以不需要任何條件進行存取(如不需要任何密碼)。 另-個分割區仙(其也可被參照為分割區2)也可被分割為_個磁碟 分割區,在本發财’―個猶分寵可以被設定為公開分或作為安 王刀割區’右該猶分継是為—安全分觀,則其可使闕殊工具程式 透過密碼進行存取’安全分觀將於之W加描述。根聽造商特定之應 用了以使用不同的分割區種類和特定的分割區數量。 决閃S己憶體系、统4〇〇也包含一邏輯單元編號(1〇gic触number,LUN ) 計數器430、一雜單元編號種類暫存器们2以及-邏輯單元編號基準位址 暫存器434,快閃記憶體控制器4〇4包含一製造商特殊指令解碼器44〇、一 光碟專用指令 小型電腦系統介面(small computer systems interface,SCSI) 21 200917256 解碼器442、-小型電腦系統介面固定磁碟種類指令解瑪物和一小裂電 腦系統介面通用指令解碼器446。 邏輯竿元編號(LOGIC UNIT NUMBER、LUNIS、 位址轉絲伽包含根據卿己憶體設定的f訊^中央處理器勸 可以使用位址轉換表420來建立和存取快閃記憶體彻中的多個分割區 4M-418。更詳細魏,在本個之—實施财,位轉絲爾邏輯單元 編號㈣應的分割區惧產生關聯,邏輯料編號是—個獨—無二的識 別數子,其在小型電腦系統介面匯流排中使用來辨識分享同—匯流排的兩 個不同裝置。 且一邏輯單元編號 運作中時’彻賴單元編酬縣—個分割區, 可以對勤卜個或多個分’舉例來說,—個邏輯單元編號可以對應到 先碟唯讀分誕,其可作為自純行魏之用,而糾—鑛輯單元編號 I以聯繫到_補麵分籠,射峨私開和好分籠。根據特 疋實作不Θ,稍單元職以及每―邏輯單元編號__的分割區的種 類會有所不同。 邏輯單元編峨請趣爾#職目,每—娜具有不 同種類的可雜錢接式儲存魏 '謂存容量和容量身份綱 I一D或磁碟標號(driveIetter),邏輯單元編號基準位址暫存器似存放每 :個刀割區的位址和總容量之高位最高有效位元(細_職伽,_ :個位凡的數值’邏輯單元編號基準位址暫存器似是一個非揮發暫存 每個特疋》割區對應到-個邏輯單元編號號碼,其可以由製造商程式 22 200917256 來決定。 保留區域中存放有512位元的快閃記憶體之預先編程的控制資 訊,控制資訊包含有邏輯單元編號號碼、邏輯單元編號種類、儲存容量、 身份辨識、非揮發性暫存器存放的容量、分_資訊等等,在—特定實施 例中’非揮發暫存器存放的容量以及每—分割區資訊被存放在保留區獅 第個可用的s己憶體空間,基本上來說,保留區域45〇的資訊需要在製造地 點進行編程作為初始化設定之用,或著觸編程作為回復或是_升級之 用在一特疋實施例中,保留區域中保留四份控制資訊的備份(作為複製、 備份等用途)用以進行快閃記憶體之寫入前抹除(咖—⑹之操 個保留二間比例」係由製造商決定保留的快閃記憶體空間相對於 快閃記憶體總容量的比例。 在快閃記憶體保留區域後接著有一以光碟唯讀記憶體為基礎之區 域,記憶體空_來作為獨的魏區塊可以稱作區域(證s),保留區 域可以有-個區域號碼(如:_),並且光碟唯讀記憶體相關位址可以擁 有另-個區域號碼(如,,如果保留空間只占據一個區域)。當磁碟儲 存區域需要頻繁的讀取和寫人時,某侧聯到最終實體條㈣的區域號 馬可以在帛始的時候设疋為平均讀寫(weaHeveHng)。然而平均讀寫區 塊可以補後在任何地方除了㈣_和光碟唯讀記顏區域外被重新配 置。 硬編碼(hard-coded)暫存器452係用以回應給使用者主機,特別是當 快閃s己憶體還沒編程時(完全是空的),因此列舉描述符 (enumeration 23 200917256 descriptor)中一預設的值會被送回給使用者主機。倘若快閃記憶體系統柳 已經被程式化,列舉描述符中一個程式化後的值會被送回,而非送回預設 值。 快閃記憶體系統400的架構使用批量限制傳輸通訊協議和具有31位元 、卫控制資訊的控制 > 訊指令區塊包覆(c〇mmand bi〇ck wrapper,CIBW ), 製造指令〇Fl,F2料’這些特殊編碼齡未被列在小型電齡統介面指 令手冊中)或一通用指令區塊包覆指令區塊(c〇mmand w〇ck tapper command block)(如小型電腦系統介面查詢指令)和一專屬之要求邏輯單 兀編號-號碼指令(如43h指令碼)解碼,並傳送給快閃記憶體控制器— 以進行快閃記憶體系統4〇〇相對的操作。 一末端點0 (endpoimo, EP0) 454專用以進行列舉程序(enumerati〇n pocess)且在裝置知述付欄位(device descript〇r心⑷中編程_封包大 小(如64個位元組),以作為資訊傳輸之用。 末端點1 (EP1) 456是一個大量輸入管線(bulk in 作為主機從 快閃記憶體系統讀取資料之用,末端點2 (Ep2) 458則大量輸出管線 (bulk-out pipe)作為主機傳輸資料給快閃記憶體系統之用。末端點1攸 和末端點2 458的傳輪大小會根據不同的特定應用改變(如通用串列匯流排 版本1.1使用64位输’而通用串顺流排版本2 G則使用512位元組)。 鳇換表-第一實施 第5圖為一具有四個分割區的轉絲500範例,在本發明中可用來實作 第3圖的索引22〇或第4圖的位址轉換表42〇,轉換表中包含邏輯單元編號 24 200917256 500、502、504和506 ’邏輯單元編號500、502、504和506也被分別參照為 邏輯單元編號〇、邏輯單元編號1、邏輯單元編號2、邏輯單元編號3。在特 定實施例中,光碟唯讀記憶體分割區被指定給邏輯單元編號〇 5〇〇,視窗作 業系統會給予邏輯單元編號〇 5⑻最高優先權’並顯示較低的磁碟標號,邏 輯單元編號502到506各自被指派到不同的分割’與邏輯單元編號5〇2相關之 分割區受到密碼保護,而與邏輯單元編號5〇4和5〇6相關之分割區為公開分 割區,亦即可進行一般存取。在此範例中,兩個公開分割區對於資料整理 來說十分有用。 在運作中時’位址轉換表420可將邏輯單元編號500-506從主機的邏輯區 塊位址對應到貫體區塊位址,邏輯單元編號5〇〇、5〇2、5〇4和5〇6分別聯繫 到相對應之靜態隨機存取記憶體基本位址51〇 ' 512、5M和516,以及分別 聯繫到對應的LBAblk 520、522、524和526。-般而言,邏輯單元編號··5〇6 和LBAblk 520-526被快閃記憶體裝置之勃體用來計算實體區塊位址,lba趾 52〇-526被各自加賴應畴放在邏料元編麟準位址暫存以对的基 本位址,將LBAblk 520- 526與基本位址派516相加將得到可作為位址轉換 的唯-數值,該唯-數值為實寵塊紐,其提供—錄閃記碰實體位 址給控制胃存取之’計算LBAblk的綠會在接-p來的章節討論。 第6(A)®和第6(B)圖是根據本發明之一實施例中第5圖的位址轉換表 5〇〇的範例顧’在此細巾快閃記憶體總容量為挪百萬位元,其每分頁 有2K個位元組’每個可消除區塊有64個分頁,第6(A)圖被套用到一被格式 化為光碟唯觀憶體分《的分瓶(換言之,每個柄唯敎憶體區段 25 200917256 有2K個位元組),且第6(B)圖被套用到一被格式化為磁碟分割區(換言之, 每個磁碟區段有512個位元組)。一般來說,邏輯單元編號和邏輯區塊位址 會被快閃記憶體裝置韌體用來計算實體區塊位址以作為存取實體區塊位址 之用。 參照到第6(A)圖’在邏輯區塊位址行602 (LBAtbl)的數值是由加總邏 輯區塊位址基本位址604和LBAblk位址606而成,邏輯區塊位址基本位址 604與邏輯單元編號基本位址相同。LBAb|k位址606是從一個指令區塊包覆 指令區塊的邏輯區塊位址(CBWCB) 610透過LBAlsb 608推導而成(亦即是 右移特定位元個數)’在此範例中’ 一個可消除區塊有64個分頁,其被右 移六個位元。實體區塊位址分頁位址612每分頁有2K個位元組,且由兩個 元件構成:PBAtbl 614 (轉換表的對應結果)和六個位元偏移616,PBAtbl 表位址614是轉換表420 (第4圖)的從LBAtbl 602索引的對應結果,偏移 量616由指令區塊包覆指令區塊(CBWCB) 610中邏輯區塊位址裡面較低的 六個位元所提供。在本例中,六位元實體區塊位址最低有效位元(ρβα^β) =六位元 LBA!^sb608。 請參考第6(B)圖’數值的推算類似於第6(A)圖中的推算方式,除了 LBAlsb的偏移量是八位元(由於每區段512個位元組超過快閃記憶體每分頁 2K個位元組),LBALSB的六個MSB最高有效位元與PBAtbl連接起來構成快 閃記憶體的實體區塊位址,LBAlsb的兩個LSB最低有效位元被用來存取超 過每分頁2K位元組的快閃記憶體的512位元組。在本例中,六個位元的 pBALSB等同於八位元的LB ALSB中六個位元的最高有效位元。 26 200917256 在本發明之一實施例中,快閃記憶體可以有不同之大小格式,如小型 格式有每分頁的區塊大小為512個位元組以及每個消除區塊16K位元組,大 型格式有每分頁的區塊大小為2Κ個位元組以及每個消除區塊128κ位元 組,確切的大小會根據不同的實作而定。接下來是一個大型格式快閃記憶 體轉換靜態隨機存取記憶體的範例。 第7圖所示為本發明中提供第5圖之轉換表500之方法實施例之流程 圖。首先,快閃記憶體系統在步驟7〇〇中被初始化,快閃記憶體控制器決 定在快閃記憶體系統巾快閃輯H的麵,無論㈣記,·為大型格式或 小型格式,並決定每分頁有多少位元組、每區塊有多少分頁以及每區塊有 多少位元組的數目。 快閃記憶體控制器也會在快閃記憶體中重建轉換表42〇,裝置控制器從 第一個區塊到最後一個區塊使用實體位址對每一消除區塊的第一個分頁進 行讀取’每次讀取時’裝置控制器會讀取存放在資料區域旁2反個位元組(或 512個位元組)備用區域的區塊相關訊息(如LBA如),裝置控制器接著使 用有效的LBAtbl作為到位址轉換表420的索引並且存放對應的實體位址。 下一步’接收一個新的指令區塊包覆指令區塊(CBWCB),並且在步驟 702中使用裝置控制器萃取出其中訊息,舉例來說,這些訊息可以包含要求 之總傳輸位元組長度、該指令為讀取或寫入指令、邏輯單元編號號碼、起 始邏輯區塊位址等等。 接下來’在步驟706中基本位址數值LBAbase和基本位址大小LBAsize由邏 輯單元編號號碼決定。總分頁大小(分頁總量,Page T〇tal)由總大小除以 27 200917256 每分頁多少位元組來計算出來。接著在步驟7〇8,RSbits數值基於每區塊多少 位元組和邏_塊紐的分頁A小糾算蚊,該Rsb^絲計細〜 的數值(藉由將邏輯區塊錄右移Rsbits個位元),也被用以計算⑶八^較" 低邏輯區塊位址的RSbits個位元)。 接著’在步驟710中計算出轉換表LBAtb|的索引,接著在步驟712中 由轉換表的内容計算出實體區塊位址。 之後,在步驟714會決定快閃記憶體為大型或小型格式,若快閃記憶 體是小型格式(每分頁5丨2 位元組),則在步驟724中,裝置控制器需 要一個五位元之實體區塊位址最低有效位元作為分頁偏移位址。五位元的 ?8八哪會等於五位元的lbAlsb,或根據邏輯區塊位址的分頁大小其等同於 二位兀的LBAlsb在右邊接上兩個「〇」。在這個例子中,若快閃記憶體的 格式則為大型格式(每分頁2K個位元組),則判斷邏輯區塊位址分頁大小 係大於512位元組或等於512位元組的話,如步驟716所述;在步驟718 中若其大於512位元組’六位元的PBAlsb數值會等於六位元LBalsb數值。 步驟720中’若少於512位元組,分頁偏移量將會等同於LBAlsb兩個最小 有效位元’且在步驟722中六位元PBAlsb會等同於LBALSB六個最高有效 位元。根據邏輯區塊位址的檔案格式區段大小’快閃記憶體控制器需要六 個位元的pbalsb作為分頁偏移位址,六位元的PBAlsb會等同於六個位元 的LBAlsb或八位元LBAlsb之六個高位元。接著如步驟726所述’八位元 LBAlsb中兩個較低位元為偏移量。 28 200917256 接下來在步驟730中決定快閃記憶體存取操作是讀取操作或寫入操 作,若操作為讀取操作,資料會在倾732巾從實體區塊位址分頁中讀取, 若為寫入操作,财驟734會酬紐址或齡妓否已經被使用,如果已 經被使用,在轉7辦糾_恤姐麟_實舰塊純的值到位 址轉換表中。如此-個新的實籠塊位址分頁會根據新的pBA⑸計算出來。 若分頁未概賴化’職步驟別帽賴朗實舰塊健分頁中。 之後,於步驟7〇6中所定義之分頁總量的值會在步驟·裡減掉一, 接著步驟742判斷這是不是分頁總量之最後分頁,如果是最後分頁,在步 驟744中’指令區塊包覆指令區塊(CBWCB)處理就會結束。若否,則在步 驟7邮巾會觸其是否為親塊最後__個分頁,若^,則實體區塊位址分 頁就會在步驟748裡加一,此程序會從步驟73〇開始重複進行。若在步驟 746中判斷其為該區塊最後一個分頁,則LBAtb|會在步驟75〇中加—,且回 到步驟712重複進行整個流程。 所述之索引係以一具有絕對位址系統之轉換表來實施,此僅為本發明 之較佳實施例而已,並非用來限定本發明實施之範圍。故即凡符合本發明 所述特徵及精神之使用其他系統之相關索引仍在本發明中。 第二實施例 第8圖所示為本發明另一實施例中所應用之轉換表。每一邏輯單元編 號(LUN)皆有一相關之邏輯單元編號代碼(LUNc〇de),其係為—與標案 結構及屬性串接之邏輯單元編號計算值,舉例而言,一第一邏輯單元編號 基準位址暫存器802,其儲存邏輯單元編號〇 (與一光碟唯讀記憶體分割區 29 200917256 有關聯)之數值,具有一邏輯單元編號計算值為〇、一光碟唯讀記憶體檔案 系統(CD-ROM File System,CDFS )檔案結構、一 00類型之檔案系統型態、 一公開屬性以及導致〇〇/〇〇/〇編碼;一第二邏輯單元編號基準位址暫存器 8〇4其储存邏輯單元編號1 (與一安全分割區有關聯)之數值,具有一邏 輯單元編號計算值為1、一 16位元檔案配置表(FAT16)檔案結構、_ 〇1 類型之檔案系統型態、一安全屬性以及導致01/01/1編碼;一第三邏輯單元 編號基準位址暫存器806,其儲存另一個邏輯單元編號i (與一安全分割區 有關聯)之數值亦與公開分割區相關,因此邏輯單元編號丨之邏輯單元編 號计算值為1 ’具有一 16位元檔案配置表(FAT16)樓案結構、一 〇1類型 之檔案系統型態、一安全屬性以及導致01/01/1編碼。 一般來說’邏輯單元編號代碼係用以連接複數邏輯區塊位址(LBAs) 並產生相應之複數實體位址區塊(PBAs ),作業系統面對不同邏輯單元編號 可產生同樣的邏輯區塊位址來存取資料。單一靜態隨機存取記憶體(Static Random Access Memory,SRAM )之查表(look up table )可用於所有的邏輯 單元編號,然而當邏輯單元編號改變時,利用一復原程序重建靜態隨機存 取記憶體中之位址轉換表以做為之後作業系統存取之用。位址轉換表的索 引810係由連接邏輯區塊位址之邏輯單元編號代碼所組成,關係表中提供 了實體位址區塊PBAtbl值。在此實施例中,索引編號之最大值為2048 (假 設快閃記憶體為256Mbits);每一實體區塊狀態分頁812之複本(copy)包 含有效狀態之邏輯單位號編碼,此複本係儲存於快閃記憶體保留區域814 中做為韌體統計之用,實體快閃記憶體中每一區塊816之分頁都由資料及 200917256 備用區域所組成’備用區域中包括主機之邏輯單元編號代碼及邏輯區塊位 址資料。 第9圖為本發明建立第8圖中轉換表800之方法的實施例流程圖,請 同時參考第8圖及第9圖。一般來說,若邏輯單元編號改變,轉換表之内 容在每一次存取時會溢出,接著轉換表重建。 更特別的是,首先在步驟904中,所有入口的有效旗標(valid flag)在 邏輯單元編號改變程序中皆變得無效,而使有效旗標無效將使轉換表溢 出;接著’在步驟904中,從快閃記憶體之保留區域814中讀取實體區塊 狀態分頁812 (第8圖)中之内容,此實體區塊狀態分頁812之内容接著儲 存到轉換表中。舉例來說,大小為256百萬位元組(每個區塊有64頁)的 快閃記憶體之邏輯單元編號狀態區段共有2K個位元組,其中每個位元組呈 現一對應之實體區塊的狀態(邏輯單元編號代碼、有效旗標及失效旗標), 當一邏輯單元編號改變時產生區段讀取動作。將第〇個位元組連接到一實 體區塊位址,僅-個有效旗標(等於丨)設置並符合邏輯單元編號代碼將 指出一個有效區塊狀態,而失效旗標代表區塊資料已過期,需要再循環以 再次宣告有效性。 接續,在步驟906中,依序讀取實體區塊狀態區段中之一實體位一 *Allocation Table, FAT16) file system, 32-bit file configuration table (32 bit File Μ〇_〇η Τ -, FAT32) difficult system or New Technology File System (NTFS) 'Automatic execution partition %% included An Aut〇njn file 32a, when the electronic data flash memory card 10B is connected to the host computer 9B through the interface bus bar 5, it is executed by the flash memory controller 21, and one includes one or more The application script for the soft program will be executed in response to a call from the Aut〇mn inf file 32. About automatic execution The more detailed side operations will be explained later. The disk cage 33 contains data, which can be a public service badge that can be accessed without requiring a user to define a password, or a security material 33B that requires a password to access. 2 is a flow chart showing the operation of the simplified electronic data flash memory card 10B in the embodiment of the present invention, when the communication link between the electronic data flash memory card 1B and the host computer 9B is established 17 200917256 ( For example, when the electronic data flash memory card is inserted into the _ serial bus (USB) slot on the computer mainframe; the block 50 is the branch) 'electronic data flash memory card ι〇β power supply start And initialize the system operation, and establish a connection with the host computer 9 (block 52); next, the flash memory control 21 will be stored in the AUt〇run.inf view according to the age provided by the startup code 31Α3 From the instruction (such as executing the software application can or let the host computer Yang to execute the software application 32), the software should be executed after the initialization (in some cases, the whole end) 'fast 0 memory controller 21 enters a "normal" mode of operation in which the user can access the data stored on the disk partition 33 and/or write new data to the disk segment "33 (as in programming mode) Operation, flash memory in this mode The controller 21 starts the input/output interface circuit 5β from the host computer 9β to receive the data structure, and stores the capital to the disk Na 33; the object receiving mode, in this mode, the flash memory controller 21 __ 33 Wenglong _, fine _Continued_Circuit 5Β to transfer the data file to the host computer 9Β; and – a material reset mode in which the flash memory controller erases the _ case from the disk partition 33. By flash memory device, the partition is divided into 峨姆(4) containing self-meta η 娜娜娜33, and an embodiment of the present invention provides a kind of addition _ electronic data flash memory card can only have a single ^ area of the memory The card can't be _ 嶋, 举 来说 来说 , 举 举 举 举 举 举 举 电子 电子 电子 电子 电子 电子 电子 电子 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( The flash memory of the electronic ageing Shunqi turned to the screen. The Flash Memory Card manufactured by the Gene County Institute of Inventories can be used for more purposes, and more details will be described below. 200917256 FIG. 3 is a block diagram of an electronic data flash memory card according to a specific embodiment of the present invention, which will be referred to as a woven memory 2 (8), and the _memory line 2 (10) includes a transceiver 202, The fast memory controller 2〇4, the central processing unit (cpu), the read only memory 208, the flash memory 21〇, and a main memory 212. In this particular embodiment, the transceiver 202 is a general purpose Serial bus transceiver, note that the word flash memory represents one or more flash memory devices, and the flash memory control lion 4 is an embedded control and controls most of the read-only memory. 2〇8 of the central processor instructions provided by Wei Li, and / or stored in a predefined flash memory 21〇 section. In the present invention, the flash memory 21 is set during the initial formatting/testing operation to include the singular knives 214, 216, 218 'the specific number of partitions is not fixed and according to the particular application. The flash memory system uses multiple 214s to provide the rural function, and relies on the index 22〇 in the main memory 212 to access multiple partitions. These functions can include, for example, automatic execution of the bunker b. The storage of the concealed materials and the storage of the confidential data, the implementation of these multi-partitions 214 218, index 22 〇 and the extension of these embodiments will be described in detail later. During normal operation, the flash memory system 200 can be coupled to a user host 230, which can be a personal computer or a Macintosh personal computer, the user host 230 package s-user application 232 and A driver 234 executes a bulk only-transport (B〇T) protocol 236. In this particular embodiment, the driver 236 is a universal serial bus driver and can be accessed through an operating system such as a Windows operating system. 200917256 During the format/test mode operation, the flash memory system 2 can be connected to The manufacturer host 240, the manufacturer host 24 can be a personal computer with special wire hardware and software. In this particular embodiment, the towel manufacturer's domain 24G includes - the manufacturer's program (10) and the driver 244. Transport Protocol Move In this particular embodiment, the driver is moved to a universal serial bus driver. Before it is shipped to the user's hand, a parking/formatted flash memory system 200 is created. This format allows us to make (4) memory lines 2 (8) and divide the partitions 2M, 216, and 218 and To perform various functions, such as data storage and auto-execution functions, the driver 246 is a special driver (such as USBmfgsys), which can be used as a programming program. Batch limit pass 246 instructions _ in the flash memory 2_ programming reserved area. 4 is a detailed block diagram of a flash memory system 4 of the present invention, which can execute the flash memory system 2 of FIG. In general, the flash memory system includes a transceiver 402, a flash memory controller, a central processing (four) 6, a read only memory 408, a flash memory 410, and a main memory 412. The flash memory is configured to include multiple partitions 414, 416, and 418. The main memory 412 stores an index or address translation table 42. The address translation table 420 stores some flash memory related setting information. How many partitions are there and how they are formatted (e.g., CD-ROM or other), the address translation table 420 also allows the central processing unit 4 to access the multi-partition 4i4_4i8. Cutting area (MULTIPLEPARTTTTrw. In the embodiment of the invention, the partitioning function) has the function of different marking systems (such as structure or format) as an automatic execution of the manufacturer-defined automatic execution operation and a "general" 20 200917256 (user control) data access operation, multiple examples of non-structures such as CD file structure (c delete 'here (FATs), Saki Bay, touch element configuration (10) simple structure (Qing S), flap TM ❹ ❹ 分割 414 414 414 414 414 414 414 414 414 414 414 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Type sub-section 'The fourth (4) is the CD-ROM system (4) structure, the disc format allows the flash memory system to support the automatic execution function, the bottom will be described in detail - automatic processing function. It can also be referred to as a partitioning area, which can be divided into a disk partitioning area. The disk cutter D'm can use different file structures (for example, a 16-bit building configuration table, a % bit label = a configuration table or a new technical file). Recording system, etc.) and can be used as a general ___ way (such as Data storage). As a disk partition, this point can be set as a public partition and can be accessed without any conditions (if no password is required). Can also be referred to as partition 2) can also be divided into _ disk partitions, in this fortune '- a jujube pet can be set to open points or as an An Wang knife cut area right. For the sake of security, it allows the tool to be accessed via a password. The security lookup will be described in the W. The specific application is used to use different partition types and specific partitions. The number of zones. The flashback system, the system 4 also contains a logical unit number (1〇gic touch number, LUN) counter 430, a miscellaneous unit number type register 2 and - logical unit number reference address The scratchpad 434, the flash memory controller 4〇4 includes a manufacturer special instruction decoder 44〇, a disc-specific instruction small computer systems interface (SCSI) 21 200917256 decoder 442, a small computer System interface fixed magnetic The disc type instruction numerator and a small split computer system interface general instruction decoder 446. The logical unit number (LOGIC UNIT NUMBER, LUNIS, address sigma contains the f signal according to the qing yi yi body ^ central processor advises The address translation table 420 can be used to create and access a plurality of partitions 4M-418 in the flash memory. In more detail, in this case, the implementation of the financial, bit-transit logic unit number (four) should be divided The zone fear is related, and the logical material number is a unique-unidentified identification number, which is used in the small computer system interface bus to identify two different devices sharing the same bus. And when a logical unit number is in operation, 'there is a unit of remuneration county--a partition, which can be used for the diligence or multiple points', for example, a logical unit number can correspond to the first disc only read, and Can be used as a pure line of Wei, and the correction - mining unit number I to contact _ complement face cage, shoot private open and good cage. According to the special implementation, the type of the division and the division of each logical unit number __ will be different. The logical unit is compiled by the user's job title, each of which has different types of miscellaneous money storage, Wei's storage capacity and capacity identity class I-D or disk number (driveIetter), logical unit number reference address The register is like storing the address of each knife cutting area and the highest significant bit of the total capacity (fine _ ga, _: the value of the avatar ' logical unit number reference address register seems to be a non- The volatilization temporary storage of each feature "cutting area" corresponds to a logical unit number, which can be determined by the manufacturer program 22 200917256. The pre-programmed control information of the 512-bit flash memory is stored in the reserved area, The control information includes a logical unit number, a logical unit number type, a storage capacity, an identity, a non-volatile register storage capacity, a minute_information, etc., in a specific embodiment, a non-volatile register is stored. The capacity and per-partition information are stored in the reserved lion's first available space. Basically, the information of the reserved area of 45〇 needs to be programmed at the manufacturing location for initial setting. Or touch programming as a reply or _upgrade in a special embodiment, a backup of four control information in the reserved area (for copying, backup, etc.) for flash memory write before wiping In addition to (the coffee-(6) operation retains the two ratios" is determined by the manufacturer to reserve the ratio of the flash memory space to the total capacity of the flash memory. After the flash memory reserved area, there is a disc-only read The memory-based area, the memory space _ as a unique Wei block can be called a region (certificate s), the reserved area can have a region number (such as: _), and the CD-ROM only reads the memory-related address You can have another area number (for example, if the reserved space only occupies one area). When the disk storage area needs to be frequently read and written, the area number of the side link to the final entity bar (4) can be 帛At the beginning, it is set to mean read and write (weaHeveHng). However, the average read and write block can be reconfigured anywhere except (4)_ and the disc only read area. Hard-coded register 452 series In response to the user host, especially when the flash memory has not been programmed (completely empty), so a preset value in the enumeration descriptor (enumeration 23 200917256 descriptor) will be sent back to the user. Host. If the flash memory system has been programmed, a stylized value in the enumeration descriptor will be sent back instead of being sent back to the default value. The architecture of the flash memory system 400 uses bulk limit transfer communication. Protocol and control with 31-bit, Wei control information > command block wrap (c〇mmand bi〇ck wrapper, CIBW), manufacturing command 〇Fl, F2 material 'The special coding age is not listed in the small electric In the age interface instruction manual) or a common command block wrap block (c〇mmand w〇ck tapper command block) (such as small computer system interface query command) and a dedicated request logic number number-number command (such as the 43h instruction code) is decoded and transmitted to the flash memory controller for relative operation of the flash memory system. An end point 0 (endpoimo, EP0) 454 is dedicated to enumeration procedures (enumerati〇n pocess) and is programmed in the device descriptive payment field (device descript〇r heart (4) programming_packet size (such as 64 bytes), For the purpose of information transmission. End point 1 (EP1) 456 is a large number of input pipelines (bulk in as the host to read data from the flash memory system, end point 2 (Ep2) 458 is a large number of output pipelines (bulk- Out pipe) is used as a host to transfer data to the flash memory system. The size of the end point 1攸 and the end point 2 458 will change according to different specific applications (such as universal serial bus version 1.1 using 64 bit input' The general-purpose serial-synchronized version 2 G uses 512-bit tuples. 鳇 表 - - First Embodiment FIG. 5 is an example of a rotating wire 500 having four divided regions, which can be used to implement the third in the present invention. The index 22 of the graph or the address translation table 42 of the fourth graph, the logical table number 24 200917256 500, 502, 504, and 506 are included in the conversion table. The logical unit numbers 500, 502, 504, and 506 are also referred to as logic, respectively. Unit number 〇, logical unit number 1, logic list Meta number 2, logical unit number 3. In a particular embodiment, the disc-only memory partition is assigned to the logical unit number 〇5〇〇, and the window operating system gives the logical unit number 〇5(8) the highest priority' and displays Low disk label, logical unit numbers 502 through 506 are each assigned to a different partition 'The partition associated with logical unit number 5〇2 is password protected, and the partitions associated with logical unit numbers 5〇4 and 5〇6 The area is a public partition, and general access is also possible. In this example, two public partitions are very useful for data sorting. In operation, the address translation table 420 can have a logical unit number of 500-506. From the logical block address of the host to the block address, the logical unit numbers 5〇〇, 5〇2, 5〇4, and 5〇6 are respectively associated with the corresponding SRAM basic address. 51〇' 512, 5M, and 516, and respectively associated with the corresponding LBAblk 520, 522, 524, and 526. In general, the logical unit number··5〇6 and the LBAblk 520-526 are flashed by the flash memory device. Body used to calculate the physical area The address, lba toe 52〇-526 is placed in the base address of the logical element meta-address, and the LBAblk 520-526 is added to the basic address 516 to obtain the address. The only-value of the address translation, the only-value is the real pet block, which provides - the recording of the physical address of the flash to the control of the stomach access. The calculation of the green of the LBAblk will be discussed in the chapter on the -p. A)® and 6(B) are examples of the address conversion table 5〇〇 according to FIG. 5 in an embodiment of the present invention. Here, the total capacity of the flash memory is tens of millions of bits. There are 2K bytes per page. 'Each of the erasable blocks has 64 pages. The 6th (A) figure is applied to a bottle that is formatted as a CD-ROM. (In other words, each The handle is only 2K bytes, and the 6th (B) is applied to a formatted partition (in other words, there are 512 bits per disk segment). Tuple). In general, the logical unit number and logical block address are used by the flash memory device firmware to calculate the physical block address for accessing the physical block address. Referring to Figure 6(A), the value of the logical block address line 602 (LBAtbl) is formed by summing the logical block address basic address 604 and the LBAblk address 606, and the logical block address basic bit The address 604 is the same as the logical unit number base address. The LBAb|k address 606 is derived from the logical block address (CBWCB) 610 of an instruction block wrapper instruction block via LBLsb 608 (ie, the right bit is shifted by a specific number of bits). 'A cancelable block has 64 pages, which are shifted to the right by six bits. The physical block address paging address 612 has 2K bytes per page and is composed of two elements: PBAtbl 614 (corresponding result of the conversion table) and six bit offsets 616, and the PBAtbl table address 614 is a conversion. The corresponding result of the index from LBAtbl 602 of Table 420 (Fig. 4), offset 616 is provided by the lower six bits of the logical block address in the instruction block wrapper instruction block (CBWCB) 610. In this example, the least significant bit of the six-bit physical block address (ρβα^β) = six-bit LBA!^sb608. Please refer to Figure 6(B). The calculation of the value is similar to the calculation in Figure 6(A) except that the offset of LBAlsb is octet (since 512 bytes per segment exceeds the flash memory) 2K bytes per page), the six MSB most significant bits of LBLALS are connected with PBAtbl to form the physical block address of the flash memory, and the two LSB least significant bits of LBLsb are used to access more than each A 512-bit flash memory of 2K bytes. In this example, the six-bit pBALSB is equivalent to the most significant bit of the six bits in the octet LB ALSB. 26 200917256 In an embodiment of the present invention, the flash memory may have different size formats, such as a small format having a block size of 512 bytes per page and a 16K byte for each elimination block, large The format has a block size of 2 位 bytes per page and 128 κ bytes of each elimination block, the exact size will be determined according to different implementations. Next is an example of a large format flash memory to convert static random access memory. Fig. 7 is a flow chart showing an embodiment of a method for providing the conversion table 500 of Fig. 5 in the present invention. First, the flash memory system is initialized in step 7〇〇, and the flash memory controller determines the surface of the flash memory system flash, regardless of (4), · is a large format or a small format, and Decide how many bytes per page, how many pages per block, and how many bytes per block. The flash memory controller also reconstructs the conversion table 42 in the flash memory, and the device controller uses the physical address from the first block to the last block to perform the first page of each of the eliminated blocks. Read the 'Every reading' device controller will read the block-related information (such as LBA) stored in the alternate area of the next two bytes (or 512 bytes) next to the data area, device controller A valid LBatbl is then used as an index to the address translation table 420 and the corresponding physical address is stored. Next, 'receive a new instruction block wrap command block (CBWCB), and use the device controller to extract the message in step 702. For example, the message may include the required total transmission byte length, The instruction is a read or write instruction, a logical unit number, a starting logical block address, and the like. Next, in step 706, the basic address value LBAbase and the basic address size LBAsize are determined by the logical unit number. The total page size (page total, Page T〇tal) is calculated by dividing the total size by 27 200917256 how many bytes per page. Next, in step 7〇8, the RSbits value is based on the number of bytes per block and the page A of the logic block. The Rsb^ is counted as a small value (by shifting the logical block to the right by Rsbits). The bits are also used to calculate (3) the number of bits of the lower logical block address (RSbits). Next, the index of the conversion table LBattab| is calculated in step 710, and then the physical block address is calculated from the contents of the conversion table in step 712. Thereafter, in step 714, the flash memory is determined to be in a large or small format. If the flash memory is in a small format (5 丨 2 bytes per page), then in step 724, the device controller requires a five-bit device. The least significant bit of the physical block address is used as the page offset address. The five-bit 8-8 will be equal to the five-bit lbAlsb, or the LBAlsb equivalent to the two-bit 根据Balsb will be connected to the two "〇" on the right according to the page size of the logical block address. In this example, if the format of the flash memory is a large format (2K bytes per page), then it is determined that the logical block address page size is greater than 512 bytes or equal to 512 bytes, such as Step 716; if it is greater than 512 bytes in step 718, the six-bit PBAlsb value will be equal to the six-bit LBalsb value. In step 720, if less than 512 bytes, the page offset will be equal to the two least significant bits of LBAlsb and in step 722 the six bits PBAlsb will be equivalent to the six most significant bits of LBLSB. According to the logical format block address file format segment size 'flash memory controller requires six bits of pbalsb as the page offset address, six-bit PBAlsb will be equivalent to six bits of LBLsb or eight bits The six high-order elements of the LBAlsb. Next, as shown in step 726, the two lower bits in the octet LBAlsb are offset. 28 200917256 Next, in step 730, it is determined that the flash memory access operation is a read operation or a write operation. If the operation is a read operation, the data is read from the physical block address page in the dumping area. For the write operation, the 964 remuneration address or age is already used. If it has already been used, it will be in the address conversion table of the correct value. So - a new real cage block paging will be calculated based on the new pBA (5). If the pagination is not on the basis of the "steps", the Lai Langshi block is in the sub-page. Thereafter, the value of the total amount of paging defined in step 7〇6 is subtracted by one in step, and then step 742 determines whether this is the last page of the total amount of pages, and if it is the last page, in step 744, the instruction The block wrap instruction block (CBWCB) processing ends. If not, then in step 7, the mail towel will touch whether it is the last __page of the parent block. If ^, the physical block address page will be incremented in step 748, and the program will repeat from step 73. get on. If it is determined in step 746 that it is the last page of the block, LBAStb| will add - in step 75, and return to step 712 to repeat the entire process. The indexing is implemented in a conversion table with an absolute address system, which is only a preferred embodiment of the present invention and is not intended to limit the scope of the present invention. Therefore, any relevant index for the use of other systems in accordance with the features and spirit of the present invention is still within the scope of the present invention. SECOND EMBODIMENT Fig. 8 is a diagram showing a conversion table applied in another embodiment of the present invention. Each logical unit number (LUN) has an associated logical unit number code (LUNc〇de), which is a logical unit number calculated value concatenated with the standard structure and attributes, for example, a first logical unit The numbered reference address register 802 stores the value of the logical unit number 〇 (associated with a disc-only memory partition 29 200917256), having a logical unit number calculation value 〇, a CD-ROM memory file System (CD-ROM File System, CDFS) file structure, type 0 file system type, a public attribute and result in 〇〇 / 〇〇 / 〇 encoding; a second logical unit number reference address register 8 〇 4 The value of the storage logic unit number 1 (associated with a security partition), has a logical unit number calculation value 1, a 16-bit file configuration table (FAT16) file structure, _ 〇1 type file system type State, a security attribute and result in 01/01/1 encoding; a third logical unit number reference address register 806 that stores the value of another logical unit number i (associated with a secure partition) Also related to the public partition, so the logical unit number of the logical unit number is calculated as 1 'having a 16-bit file configuration table (FAT16) structure, a type 1 file system type, a security attribute, and Lead to the 01/01/1 code. In general, the 'logical unit number code is used to connect complex logical block addresses (LBAs) and generate corresponding complex physical address blocks (PBAs). The operating system faces the different logical unit numbers to generate the same logical block. The address is used to access the data. A single static up random access memory (SRAM) look up table can be used for all logical unit numbers. However, when the logical unit number is changed, a static program is used to reconstruct the static random access memory. The address conversion table in the middle is used as an access to the operating system. The index 810 of the address translation table is composed of logical unit number codes connecting logical block addresses, and the physical address block PBAtbl value is provided in the relation table. In this embodiment, the maximum value of the index number is 2048 (assuming that the flash memory is 256 Mbits); the copy of each physical block status page 812 contains the logical unit number code of the valid state, and the copy is stored in The flash memory reserved area 814 is used for firmware statistics. The paging of each block 816 in the physical flash memory is composed of data and 200917256 spare area. The spare area includes the logical unit number code of the host and Logical block address data. Figure 9 is a flow chart showing an embodiment of the method for establishing the conversion table 800 in Figure 8 of the present invention. Please refer to Figures 8 and 9 at the same time. In general, if the logical unit number changes, the contents of the conversion table overflow during each access, and then the conversion table is reconstructed. More specifically, first in step 904, the valid flag of all entries becomes invalid in the logical unit number change procedure, and invalidating the valid flag will cause the conversion table to overflow; then at step 904 The contents of the physical block status page 812 (Fig. 8) are read from the reserved area 814 of the flash memory, and the contents of the physical block status page 812 are then stored in the conversion table. For example, a logical unit number status section of a flash memory having a size of 256 million bytes (64 pages per block) has a total of 2K bytes, wherein each byte presents a corresponding one. The state of the physical block (logical unit number code, valid flag, and failure flag), when a logical unit number changes, a segment read action is generated. Connect the first byte to a physical block address, only a valid flag (equal to 丨) setting and match the logical unit number code will indicate a valid block status, and the failure flag represents the block data has been Expired, recycling is required to declare validity again. Next, in step 906, one of the entity blocks in the physical block status section is sequentially read.
’實體區塊狀態區段中包含所有所需'The physical block status section contains all the required
旗標是否相符,步驟912判斷失效旗標是否符合— 非舊狀態,步 听有所需之實體區 ;接著,步驟908 ,則步驟910 0判斷有效 步驟914判 31 200917256 斷邏輯單元編號代碼是否符合;若在步驟910至914中判斷皆為是,則快 閃記憶體中之實體位址區塊(PBA)用來定義邏輯區塊位址(lba),且實 體位址區塊及邏輯區塊位址兩者皆用來重建轉換表,如步驟916所述·,接 著,增加實體位元組編號’若有效旗標、非失效旗標及邏輯單元編號代碼 有任一不相符’實體位元組編號將在不更新轉換表之情況下增加,如步驟 918所述;當實體區塊如步驟920所述結束時,會在步驟922完成重建新的 轉換表,若尚未到達實體區塊狀態分頁812之末端,則回到步驟908之流 程。此方法可支援多重邏輯單元編號之結構並分享單一轉換表,因此,此 方法可支援更多類型之作業系統,而不局限在視窗作業系統。 复造商工具程式編程(Manufacturer Utilitv Profyammir^、 第10圖本發明中對第4圖之快閃記憶體系統編程之方法之流程圖,快 閃記憶體纽在寄送給末端賴者之前先_格式化,—製造商工具 程式編程侧關殊軟迦魅將,_記髓系統絲,當快閃記憶 體系統勸編程後,末端使用者不可再改絲準結構,甚至不可使用如視 窗作業系鱗操作純對快閃記紐纽4⑻進行格式化。 首先在步驟1〇〇2中將製造商主機初始化,接著步驟麵將一通用串 驟讓中載入-預先挪試通用串列匯流排之驅動程式,此預先測試通用串 3排之獅㈣域特雜造商指令;歸,轉麵職閃記憶體 系統連線至-_主機,嶋__巾進行—_序(__ process), 32 200917256 descriptor field value),其係為各快閃記憶體所訂製。例如各快閃記憶體與 各大量儲存麵裝置所需之序號必須不同’此外,產品識別碼及版本編號 在每次更新韌體時皆會提供。 接著’步驟1012確認快閃記憶體系統中—專用積體電路硬,編碼身分識 •別(ASIC hard-coded ID) ’若專用積體電路硬編碼身分識別並不符合,如步 .驟1014所述’則工具程式軟體將快閃記憶體系統剔除;若專用積體電路硬 編碼身分識職合’則如步驟祕所述,快閃·齡射唯讀記憶體之 滅識·_記顏之麵及容量,並將此資訊傳送給製造商主機;亦 可徒手操作將此資訊輸入製造商主機中。 接著,在步驟1018中移除快閃記憶體中之資料並預先分配要寫入快閃 記憶體之形態’在-特殊實施财,只有具好旗標之區塊被移除,而未被 移除或無法正確寫入之區塊則標記為壞區塊,且將這些區塊記錄在快閃記 憶體的保留區域之一壞區塊表中。 再接著於步驟1022中檢查壞區塊之百分比例,此百分比例係與預設編 程或使用者輸入之一預設值做比較;若百分比例較預設值高,則如步驟丨〇24 所述將快閃記憶體系統移除;反之,若百分比例較預設值低或與預設值相 等,則如步驟1026所述,判斷快閃記憶體之總實體容量及一回復比率。接 著,如步驟1028所述,利用特殊製造指令在快閃記憶體中寫入一錯誤修正 碼(error correction code,ECC),如回復區段碼(reserved sector ⑶如)之檢 查碼,以指出實體位址;每當將回復區段碼更新至另一空的保留空間時, 快閃記憶體控制器中之韌體檢查此錯誤修正碼,並移除一過期的複本。 33 200917256 接著’在步驟1030中將快閃記憶體相關資訊寫入保留區域中。啟動程 序中包含一運作時間碼’將任何不直接涉及控制裝置初始啟動之程式碼放 在快閃記憶體裝置中,以減少控制裝置中唯讀記憶體之使用大小。列舉欄 位私式值(enumeration field programmed value)如序號及產品版本編號,和 一些分割區(如容量)大小在同一時間載入,快閃記憶體控制器可辨識出 部分特殊的載入指令,並在快閃記憶體之保留區域中載入使用者無法修改 或移除之數值。當存取保留區域時,檢查嵌入了專用積體電路身分識別 (ASIC ID)及寫入特殊密碼之控制裝置;將運作時間碼載入到保留區域 中,當發現任何錯誤或有更新版本時,可更新此運作時間碼。此外,會提 供一注意事項給製造商的操作員,指出在測試裝置中使用發光二極體是否 恰當。 再如步驟1032所述,判斷快閃記憶體裝置之分割區、容量、媒體類型 及複數邏輯單元編號,特別是分割區數量之判斷需依據容量、媒體類型及 各分割區相關之邏輯單元編號,各邏輯單元編號。當製造商工具程式編程 判斷出分割區之數量後’一使用者無法再變更或修改分割區之數量。 接著’步驟1034定義格式化檔案系統中各分割區之格式,包括_唯 讀δ己憶體檔案系統(CD-ROM File System, CDFS)、16位元檔案配置表 (FAT16)、32位元樓案配置表(FAT32)及新技術文件系統(NewTechn〇㈣ file system,NTFS)等。再如步驟廳中,依據步驟職所定義之格式對 各分割區進行格式化;步驟脳巾’製造駐_、在各分駆中載入 -分割區表、分類_聽容量,這錄職做為賴分㈣中之楷案 34 200917256 所需求者。此裝置係依據製造商操作員想要定義_案結構來格式化,例 如’ π位元樓案配置表m位元稽案配置表/新技術文件系統對於電腦使用 者來說非料通’每-選擇可取祕裝置之容積,若超過ig位元組,則 32位元财配置表比丨6位元檔魏置表更適合做騎佳選擇。步驟1〇38 中’分割區塊記錄(partition blockrec〇rd,pBR)、兩份擋案配置表之複本及 根目錄會預先載入給末端使用者。 接著,步驟_執行-最終讀寫測試(fmal娜础⑻,在測試期 間’分中允許儲存之部分會寫人並讀取以顧其功能正常。任何錯誤 ,爾鑛财綱㈣,卜次失敗都會 被標記,如步驟1040所述。 接著,步驟1〇42將分割區中允許儲存之部分清除成一空白狀態,步驟 _再判斷整體流程是否順利成功,若成功,則步驟祕利用一發光二極 f示器將以特別的閃職式指出成功了,此發光二《顯示器連接到- 统料。#插人製造駐機時,任何未細懷之'_記憶體系 ;將會顯不出另-種閃職式(或不_),如 所 閃記憶體系統是否經過編程或測試。 付 動執置一光碟唯讀記憶體之分割_其可支援自 機時,可讓相聯檔案^稱業系統特徵’當一片光碟插入電腦之光媒 用者在光/開-蝴私—她式,她言,當使 機中插入1峨,自域細_糊自動開始進行 35 200917256 一安裝程式或一螢幕選單。自動執行功能常出現在插入視窗作業系統之磁 片或光碟到一電腦後。 在本發明之-實施例中,自動執行功能利用以快閃記憶體柄體配置一 額外空間並結合以硬體支援仿效視㈣、統之光碟唯讀記憶體的特性來完 成。 列舉 f \ 視窗作業系統可支援分割區中光碟唯讀記憶體類型分割區或固定磁碟 分割區(-般用於固定式磁碟或極碟(ZIPdrive))之自動執行功能,在本 發明之-實齡丨巾’由上叙辅唯讀_分魏綠行自動執行功能, 列舉被修改並告知作業系統快閃記憶體裝置不再是可移動之震置但可取 代光碟唯讀記髓裝置’而快閃記,M控㈣巾唯讀記㈣之編號亦被修 改使唯讀記憶體之編號可支援自動執行功能。 固定式磁碟分割區 如同一個固定式磁 在本發明之另-實施例中,自動執行功能可利用— 來執行’因此,與自動執行功能_之分籠被格式化 碟分割區’此可以-軟體之絲啟動作林考,因為軟體之自純行功能 在執行時可不需施加任何硬體對快閃記憶體系統之改變。_,若自動執 行檔儲存在-固定式磁碟分割區中,自動執行魏之_職是可被刪除 的’若是將自動執行機存在柄唯讀記顏分誕巾則無法刪除。 如上所述’自動執行功能用以自動執行一軟體程式,在一特殊實施例 中,軟體程式可提供廣告功能,例如當快閃記憶體系統插入一使用者主機 36 200917256 時’自純行功能可自動執 告可在連肢財椒—m(她主軸-廣告.此廣 用程式而财多_化 ’此廣告之特_缺㈣定之應 告。 ^特徵亦可配置為末端制者無法自行移除廣 显試軟體辞傲 體之㈣功2 對於使用者來說是非常親切的,因為電_軟 _ μ _行;物侧版魏揭影像保護。 行特^軟體程式提供存取主機系統的特權,因此輸入軟體可利用自動執 ’订舉例而言’若將快閃記憶裝置插入通用串列匯流排連接埠 行特徵會自誠行域纽中之—輪人敕㈣存取資訊或資 〃子在主機電腦系統中’若使用者將快閃記憶裳置從通用串列匯 〜排連鱗巾拔出,則域魏將鎖上。 當制者糊軟舰細I切㈣_歡魏(祕設 疋時,利用自動執行特徵可自動執行使用者設定檔軟體。舉例而古,使 用者設定檔資訊可包含網路觀器選項之使用者客製化(如書籤、預設首 頁)、電子郵件設定、字型設定等。 第11圖林發縣製造商錢端設定—自動執行功能之方法之流程 圖步驟1102在製造商工具程(編程啟動之前,先將大量儲存驅動裝置移 37 200917256 除’接著如步驟1104所述’ 一裝置描述符(descriptor)設定到單—組態配 置中,一組態配置描述符接著如步驟1106設定在單一介面上,再如步驟11〇8 所述設定介面描述符。這些描述符包括一介面種類(例如大量儲存種類)、 介面子類(例如小型計算機系統介面透明指令集)及介面協定(例如批量 限制傳輸,bulk-only transport,BOT)。接著,步驟111〇設定—第一末端點 _描述符(如批量進入,―),再於步驟心設定-第二末端點描述符(如 批量輸出,bulk-out),在執行批量輸入及輸出作業時需要此兩末端點;再如 步驟11M所述’定義分割區及邏輯單元編號;完成列舉之後,送出一大量 儲存種崎求(如取得最大單域指令,蛛max_L嶋删心到快 閃記憶體系統中细復邏輯單元編號之—預設值,或是—名作#員利用_ 手動測試工具程式徒手輸入資訊。 接著在步驟ill6中執行-消除測試及一寫入-讀取測試,定義壞區塊及 保留區域之比例,並在步驟1118中將保留資訊下載到快閃記憶體中,保留 資訊包括-序號、—供應商、—產品身分識別碼、—城版本等,在標準 操作模式之列舉程序_ 作業系統驅動器可有效存取此資訊,而 :里儲存種類批畺限制傳輸及小型計算機介面系統子類等資訊則回 存到製造商主機中。 接著’在步驟1120中定義分割區容量、多媒體類型、檔案系統類型及 '亍類w各邏輯單元編號分割區在快閃記憶體中記錄檔案結構資 訊後’ -OL具程式發出—特殊指令(例如以將計數輯值;分割區資 訊儲存在㈣記髓之保留賴以供未來的㈣者參考,而諸如主區塊記 38 200917256 m C-terW〇clcrec〇rd,MBR). (parti,〇n b]〇ck ^ pfiR) 及每-分割區之檔案配置表等槽案結構必須再次編程並儲存在一作業系統 可存取區域_。 所有執行檔案必須儲存在—光碟唯讀記億體播㈣統(cd_r〇m挪Whether the flag matches, step 912 determines whether the invalid flag meets the non-old state, and listens to the required physical area; then, in step 908, step 910 0 determines whether the valid step 914 determines 31 200917256 whether the logical unit number code matches If the determination is yes in steps 910 to 914, the physical address block (PBA) in the flash memory is used to define the logical block address (lba), and the physical address block and the logical block. Both addresses are used to reconstruct the conversion table, as described in step 916, and then, add the entity byte number 'if any of the valid flag, non-failed flag, and logical unit number code does not match' entity bit The group number will be incremented without updating the conversion table, as described in step 918; when the physical block ends as described in step 920, a new conversion table is completed in step 922 if the physical block status page has not been reached. At the end of 812, the process returns to step 908. This method supports the structure of multiple logical unit numbers and shares a single conversion table. Therefore, this method can support more types of operating systems than the Windows operating system. Manufacturer Utilitv Profyammir^, Figure 10 Flow chart of the method for programming the flash memory system of Figure 4 in the present invention, the flash memory button is sent to the end of the last _ Formatting, the manufacturer's tool programming side of the soft will be charmed, _ remember the system of silk, when the flash memory system is persuaded to program, the end user can not change the wire structure, or even use the window system The scale operation is purely formatted by flashing the Newton 4 (8). First, the manufacturer host is initialized in step 1〇〇2, and then the step is to load a general string to be pre-emptively driven by the universal serial bus. Program, this pre-test universal string 3 row of lion (four) domain special manufacturer instructions; return, transfer flash memory system to -_ host, 嶋 __ towel to carry out - _ order (__ process), 32 200917256 Descriptor field value), which is customized for each flash memory. For example, the serial number required for each flash memory device and each mass storage surface device must be different. In addition, the product identification code and version number are provided each time the firmware is updated. Then, in step 1012, it is confirmed that the dedicated integrated circuit is hard in the flash memory system, and the ASIC hard-coded ID is not met if the hard-coded identity of the dedicated integrated circuit does not match, as in step 1014. The software software will remove the flash memory system; if the dedicated integrated circuit is hard-coded, the identity is as described in the step secret, flashing, age-receiving, and reading the memory. Face and capacity, and send this information to the manufacturer's mainframe; this information can also be entered into the manufacturer's mainframe with bare hands. Next, in step 1018, the data in the flash memory is removed and the form to be written into the flash memory is pre-allocated. In the special implementation, only the block with the good flag is removed, and is not moved. Blocks that are or cannot be correctly written are marked as bad blocks, and these blocks are recorded in one of the bad block tables of the reserved area of the flash memory. Then, in step 1022, a percentage of the bad block is checked. The percentage is compared with a preset value of one of the preset programming or the user input; if the percentage is higher than the preset value, as in step 丨〇24 The flash memory system is removed; otherwise, if the percentage example is lower than the preset value or equal to the preset value, then as described in step 1026, the total physical capacity of the flash memory and a response ratio are determined. Then, as described in step 1028, an error correction code (ECC) is written in the flash memory by using a special manufacturing instruction, such as a check code of a reserved sector code (3), to indicate the entity. Address; whenever the reply segment code is updated to another empty reserved space, the firmware in the flash memory controller checks the error correction code and removes an expired copy. 33 200917256 Next, in step 1030, flash memory related information is written into the reserved area. The start-up program includes an operational time code' to place any code that does not directly relate to the initial activation of the control device in the flash memory device to reduce the size of the read-only memory in the control device. The enumeration field programmed value, such as the serial number and the product version number, and some partitions (such as capacity) are loaded at the same time, and the flash memory controller can recognize some special loading instructions. The value that the user cannot modify or remove is loaded in the reserved area of the flash memory. When accessing the reserved area, the control device embedding the dedicated integrated circuit body identification (ASIC ID) and writing the special password is checked; the operating time code is loaded into the reserved area, and when any errors or updated versions are found, This operational time code can be updated. In addition, a precaution is given to the operator of the manufacturer to indicate whether it is appropriate to use the LEDs in the test set. Further, as described in step 1032, determining the partition, capacity, media type, and complex logical unit number of the flash memory device, and in particular, determining the number of partitions according to the capacity, the media type, and the logical unit number associated with each partition. Each logical unit number. When the manufacturer's tool program determines the number of partitions, a user can no longer change or modify the number of partitions. Then, step 1034 defines the format of each partition in the formatted file system, including the CD-ROM File System (CDFS), the 16-bit file configuration table (FAT16), and the 32-bit building. Case configuration table (FAT32) and new technology file system (NewTechn(4) file system, NTFS). In the step hall, the partitions are formatted according to the format defined by the step position; the step wipes 'manufacturing station _, loading in each branch - partition table, classification _ listening capacity, this record is done For those who rely on the case of 34, 200917256. This device is formatted according to the manufacturer's operator's desire to define the structure of the case. For example, the 'π-bit building configuration table m-bit case configuration table/new technology file system is not for the computer user's - Select the volume of the secret device. If it exceeds the ig byte, the 32-bit configuration table is more suitable for the rider than the 6-bit file. In step 1〇38, the partition block record (partition blockrec〇rd, pBR), the duplicate of the two file configuration tables, and the root directory are preloaded to the end user. Then, step_execution-final read/write test (fmalna base (8), during the test period, the part allowed to be stored in the minute will be written and read to take care of its function. Any errors, the mine finance (four), the failure It will be marked as described in step 1040. Next, in step 1〇42, the portion of the partition that is allowed to be stored is cleared to a blank state, and step _ further determines whether the overall process is successful. If successful, the step uses a light-emitting diode. The f indicator will be successfully pointed out with a special flashing position. This light-emitting two "display is connected to - the unified material. # inserts the production of the aircraft, any unrecognized '_memory system; will not show another - Flash empire (or not _), such as whether the flash memory system has been programmed or tested. The implementation of a CD-ROM read-only memory segmentation _ which can support the self-machine, can make the associated file ^ said System characteristics 'When a piece of optical disc is inserted into the computer, the light media player is in the light/open-butter private-she style, she said, when the machine is inserted 1峨, the self-domain fine_ paste automatically starts 35 200917256 an installer or a Screen menu. Auto-execution function often appears in After inserting the magnetic disk or the optical disk of the window operating system into a computer. In the embodiment of the present invention, the automatic execution function utilizes an additional space configured by the flash memory handle body and combined with the hardware support emulation view (4). The CD-ROM only reads the characteristics of the memory. The f \ window operating system can support the disc-only memory type partition or fixed disk partition in the partition (-used for fixed disk or ZIPD) The automatic execution function of the present invention - the actual age wipes 'from the upper syllabus read only _ points Wei green line automatic execution function, the list is modified and informs the operating system that the flash memory device is no longer a movable shock but It can replace the CD-ROM only and the flash memory, the number of the M-control (four) towel read-only (4) is also modified so that the number of the read-only memory can support the automatic execution function. The fixed disk partition is like a fixed magnetic In another embodiment of the present invention, the auto-execution function can be performed by using - thus, and the auto-execution function _ is caged to be formatted by the disc partitioning area. The software's self-purity function does not need to apply any hardware changes to the flash memory system during execution. _, if the automatic execution file is stored in the - fixed disk partition, the automatic execution of Wei's job can be Deleted 'If the automatic execution machine has a handle, it can't be deleted. The automatic execution function is used to automatically execute a software program. In a special embodiment, the software program can provide advertising functions. For example, when the flash memory system is inserted into a user host 36 200917256, the 'self-pure function can be automatically reported to be in the limbs of the pepper-m (she spindle-advertising. This versatile program is more _ _' this ad The special _ lack (four) fixed response. ^ Features can also be configured as the end system can not remove the wide test software body arrogant body (four) work 2 is very intimate for the user, because electricity _ soft _ μ _ Line; object side version of Wei Jie image protection. The software program provides the privilege of accessing the host system, so the input software can be used to automatically perform the subscription. For example, if the flash memory device is inserted into the universal serial bus connection, the feature will be from the domain name. - Wheel people (4) Access information or resources in the host computer system 'If the user pulls the flash memory from the universal serial port ~ row of scales, the domain Wei will be locked. When the maker pastes the soft ship fine I cut (four) _ Huan Wei (secret set, the automatic execution feature can automatically execute the user profile software. For example, the user profile information can include the use of the network viewer option. Customization (such as bookmarks, default homepage), email settings, font settings, etc. Figure 11: Linfa County Manufacturer Money End Setup - Flowchart for Automating Function Steps Step 1102 in the Manufacturer Tools Tool ( Before programming is started, the mass storage drive is moved 37 200917256. In addition to 'the next step as shown in step 1104', a device descriptor is set to the single-configuration configuration, and a configuration configuration descriptor is then set as in step 1106. On a single interface, the interface descriptors are set as described in steps 11 and 8. These descriptors include an interface type (eg, a large number of storage categories), interface subclasses (eg, a small computer system interface transparent instruction set), and interface protocols (eg, batches). Limit transfer, bulk-only transport (BOT). Next, step 111 〇 set - first end point _ descriptor (such as batch entry, ―), then set the steps Definite-second end point descriptor (such as batch output, bulk-out), these two end points are required when performing batch input and output operations; then define the partition and logical unit number as described in step 11M; , send a large amount of storage and solicitation (such as obtaining the largest single-domain command, spider max_L嶋 delete the fine logic unit number in the flash memory system - default value, or - name for #员用_ manual test tool Enter the information by hand. Then perform the - elimination test and a write-read test in step ill6, define the ratio of the bad block and the reserved area, and download the retained information to the flash memory in step 1118, retaining the information. Including - serial number, - supplier, - product identification number, - city version, etc., in the standard operating mode enumeration program _ operating system driver can effectively access this information, and: storage type batch limit transmission and small computer interface Information such as system subclasses is returned to the manufacturer's host. Next, 'in step 1120, the partition capacity, multimedia type, file system type, and '亍 class are defined. w Each logical unit number partitioning area records the file structure information in the flash memory. - -OL program issued - special instructions (for example, to count the value; partition information stored in (4) remember the reservation for future (4) For reference, for example, the main block block 38 200917256 m C-terW〇clcrec〇rd, MBR). (parti,〇nb]〇ck ^ pfiR) and the file configuration table for each partition must be again Programming and storing in an operating system accessible area _. All executable files must be stored in - CD-ROM only to read the billion (4) system (cd_r〇m
System,CDFS)格射峨行辆唯敎鍾之自練行魏,光碟唯讀 記髓檔案之存取方法不同於存取—磁碟儲存·。在步驟肪中將各邏 輯早兀號分割區格式化,將—光碟唯讀記憶體檔案系統㈣⑻影像目錄 下載到快嶋冑,瞻自細爾職了舰綱記憶體分割 區中’如步驟1124所述。 第12圖為本發财在«式下執行自域行魏之方法之流程 圖在步驟12〇2中’當使用者插入快閃記憶體系統到一使用者主機中,作 業系統會執行顧串顺流排大量儲錄置;接著步驟·在單一组態配 置設定-裝置描述符,—組態描述符並設定到單一介面上,如步驟襲, 並在步驟1208中設定複數介面描述符。這些描述符包括一介面麵(例如 大量健存麵)、介面子類(例如小型計算樣統介面透明指令集)及介面 協疋(例如批量限制傳輸,bulk_〇dy transp〇rt,Β〇τ)。接著,步驟⑵〇設 定第-末端點描述符(如批量進入,bulk-in),再於步驟1212設定一第二 末端點描述符(如批量輸出,b秦〇ut) ’在執行批量輸入及輸出作業時需要 此兩末端點·’再如步驟1214所述’定義一控制末端點(Ep〇),並在步驟 咖中回復最大邏輯單元職’在關巾假設雜單元職有兩個。 下列步驟有光碟唯雜憶體分龜。在完成步驟1210後,若涉 39 200917256 及一光碟唯讀記憶體分割區,則如步驟1218所述,使用者主機發出請求以 獲取該光碟唯讀記憶體分割區之邏輯單元編號類型,並在步驟122〇中將邏 輯單元編趣型送麟仙者域巾;當確認邏解元編號正4後,步驟 1222讀取光碟唯讀記憶體之容量,並在步驟1224中利用一小型計算機系統 介面之光碟唯讀記憶體讀取指令將資料讀出。 下列步驟有關於除了光碟唯讀記憶體分割區之外的複數磁碟分割 區。在完成步驟Π16後,若涉及除了光碟唯讀記憶體分割區之外的一磁碟 刀割區’則如步驟1226所述,使用者主機發出請求以獲取該磁碟分割區之 邏輯單S編號類型’並在步驟1228中將邏輯單元標號類型送到該使用者主 機中;當確認邏輯單元編號正確後,步驟123〇讀取磁碟分割區之儲存容量, 並在步驟1232巾_㈣者域㈣緣分配—容量身份識別(ν〇1_ ID)。 列舉從快閃記憶體保留空間中讀取出一串數值,由於自動執行功能需 由光碟唯讀記題分観提供,因絲聽影齡自滅行,與此同時, 自動執行特徵將執行,而使用者使標準磁碟類型儲存功能可用。 第13圖為本發明中啟動一唯讀記憶體(R〇M)之方法之流程圖,首先, 在步驟13〇2中開始一電源啟動重置作業’接著在步驟測中執行一快閃 記憶體身賴別錢·序列(flash ID handshake __),如快閃記憶 體晶片位址90h讀取指令;接著步驟藻定義各快閃記憶體晶片之特徵, 此資訊包含分頁或區段大小m量'位址結構等,從保留區域中可取 知一快閃記憶體裝置之執行碼影像檔案。 200917256 在步驟1308中,利用保留區域中之 TLRa "來轉—邏《触址-實體位 接著她3 2 叫並响·練,诗驟職 1諸如裝置纟域執行一列舉程序,在執行導程序躺,賴者主機 靖求诸如裝《«及其_崎特料親;接著铸13 保留區域_先編程_復顯用者 子在 ΛΑ ΒΙ,Θ/1, 右—快閃記憶體晶片為空 的魏驗物1值,叫當物辦,瓣域就會分配 新的位址給㈣記億體’而_則將正在進行的程序之新位址記錄下來。 接者,步驟⑽中瓣請求之喻復給大量儲細貞批量限制傳 輸⑽“ly t__OT) ’舉例而言,额之1求為繼置之最大 邏輯單元編號,而儲存在保留空間中之正確數值則被回覆到使用者主機 中,若快閃記憶體是空的,則回傳一預設值,如00h或至少一邏輯單元編 號 眛。 接著在步驟⑽中,指令區塊包覆(command bbck wrapper,CBW) 查詢之指令有了回應,由於預先已知分數目,因此當各分觀回傳其 特徵值之後,-邏輯單元職技娜會增值。最批指令區軌覆將被一 目前之邏輯單元編賴取代’以在快閃記憶體中儲存主區塊記錄(爪嫩 block record,MBR)或分割區塊記錄(partiti〇n block record,pBR)系統檔案 結構。韌體提供多種指令區塊包覆指令之子程式以執行不同指令,包括回 收使用過的區塊等指令。再如步驟132〇所述,接受指令區塊包覆的指令。 安全分割區 一安全分割區及一公開分割區分享同一邏輯單元編號為一特殊的實施 41 200917256 例本發明中’一安全工具程式編程允許—安全分割區及一公開分割區分 享快閃記赌巾之同-邏輯單元職,作_統可依此在這㈣域中存取 資料而不需對這些分#m進行區別;在―特殊實施射,各分娜之容量 卷(capacity vGlume)會隨著-固定總大小容量*變化,此部分可利用一工 具程式編程來達到,其優點在於其讓資料儲存更具彈性。 第I4圖為本發明设定製造測試之安全分割區之方法之流程圖,首先在 步驟1402巾’ 6认—專用分觀之—初始容量,接著在步驟1姻中寫入 邏輯單το職代碼、-預設容量、—預設密碼及複數邏輯基準位址暫存 器’再如步驟1406所述’寫入安全分割區之主區塊記錄(MBR)、分割區 塊記錄(PBR)或檔案配置表(FAT)等系統標案。 第14A圖為本發明一快閃記憶裝置中一資料區塊之實施例之方塊圖。 請參考第14A目,-實體區塊浦之結構,其作用係顯示一安全分割區及 一公開分如何分享同-賴單元峨,卻可糊控織置分辨並設置 在不同的實·塊卜對於-多層單元(mu胞eve丨_,)快閃記憶體 而言’一區塊-般具有128胃,且每一頁包含一·位元組之資料區域及 一 64位元組之備龍域,在—實補巾,—頁可分細區段,每—區段分 別包含- 512位元組之資料區域1445及一 16位元組之備用區域ΐ446,Μ 位元組之備用區域1446主要用於錯誤修正碼防護i45i及平均讀寫 (wear-leveling)。在第14A圖中,16位元組的備用區域麗中有以位 元組做為錯誤修正碼n 3位元_做為平均讀寫,此3位元組可記 錄邏輯區塊資減錯誤為了要標減區塊為安全分龜或公開 42 200917256 分割區’需彻這3位歧巾至少—位元1452定義做為分駆特定的旗 標,而剩餘的23位元則用以定義邏輯區塊位址之區段位址1453。在圖中, 四位兀之同位元檢核碼1454係做為防護1452及1453,因此甚至在兩分割 區使用W邏輯單元編號時’控繼置仍可依據實麵塊正確地存取資料。 第15圖為本發明在使用者模式下操作—安全分割區之方法之流程圖, 首先如步驟1502所述,請求安全分割區之一密碼,接著步驟15〇4提供一 預存之邏輯單元編號密碼以符合該請求,並在步驟15〇6中設定該安全分割 區之容量;步驟1508中,寫入一邏輯單元編號代碼、一容量、一新的更新 密碼及複數邏輯基準暫存區,當電源開啟後預設模式為公開模式,因此在 步驟1510中將一邏輯單元編號代碼設定為安全模式;接著在步驟15i2中, 當安全分割區及公開分割區使用不同之邏輯單元編號時,使用者主機要求 安全分割區之邏輯單元編號,並在步驟1514中由使用者主機讀取該安全分 割區之谷量。接著’步驟1516提供預先儲存之邏輯單位編號資訊,步驟丨518 提供安全分割區之一實體基準位址,步驟152〇讀取出先前儲存在快閃記憶 體中之主區塊§己錄(MBR)、分割區塊記錄(pbr)及稽案配置表(fat) 負sfl。當安全分割區與公開分割區使用相同邏輯單元編號時,保護安全分 割區之密碼可與公開分割區共用。當快閃記憶體系統啟動後會出現一預設 之公開區域’請求一安全工具程式編碼並給予正確的密碼以啟動安全功能。 快閃記憶體之一儲存區域中存在一安全分割區,利用製造商工具程式 載入一預設容量,且製造商主機利用一特殊驅動器將啟動格式化,讓使用 者在收到快閃記憶體裝置後可自行設定個人的格式。假若工具程式軟體之 43 200917256 詢問請求提供一正確的密碼,則設定一屬性暫存器讓使用者可選擇公開分 割區或安全分割區。 者機將新的主區塊記錄(㈣幻、分割區塊記錄(PBR)及檔案 配置表(FAT)值儲存在快閃記憶體中,接著使用者可存取由密碼保護之安 全資料’當—制拉概,由於雜雜驗舣值Μ,因此先前之 公開分割區會顯示出來’因此’公開分割區之邏輯單元編號代碼會再次存 到邏輯區塊位址(LBA)巾,而與關時,將會從預先儲存之_案中 明取出主要祕。無論容量或難結構何時變化,格式化都會被執行,因 此舊資料會被刪除並載人新的系統棺案。 由於第iS圖中主機和裝置之間傳輸密碼時並沒有任何安全機制,骇客 可透過邏輯分析或匯流排分析抓到密碼,因此更需要安全防護。第Μ圖為 本發明在域與快閃記憶裝置之·供安全連結之料之流湖,如圖所 示’當電賴啟後’主機與裝置兩者皆在公開分割區模式下碎,主機送 出-包含安全位元組(議ritybyte)之安全指令到該裝置中,如步驟⑽; 安全位元祕由-預錄學公辆算娜,卿F=f (auth,臟),其中 RGS為隨機產生種子(randomly generated seed)。步驟啦中裝置接收此 安全位元組’並在步驟1554中驗證,若裝置成功驗證該安全位元組,則步 驟⑸6中裝置以另些安全位元組來回應,其係由另一預設公式所產生,例 如G=G(AUTH,RGS),當主機限制〇後,主機及裝置互相認可,此程序可 視為「授權」’當授雜序結錢,域及裝置傳送可對安全龍解碼之密 碼;由於域和裝置之_授觀密碼傳㈣f上_送由隨G、F及隨 200917256 機產生種子RGS所產生之安全位元組,因此在主機與裝置之間匯流排上之 位元組為隨機模式’可避免任何骇客的試探。步驟测及麗可取代第 b圖中步驟臟以提高取得密碼時之_,當成功通過授權且將以隨機產 生種子加密之密碼傳送出去後,控制裝置可如第15圖所述繼續進行下去。 ㈣此處所提及之祕及方法,本發.實闕更可提供眾多好處, -舉例而言’增加其功能性可使快閃記憶體系統更彈性,而本發明更可 使任-嵌人式控制_記憶卡包含㈣體卡(Muki_Media㈤,)、安 全數位(Secure Digital,SD)、小型快閃記憶體(c〇mpact flash, CF)、記憶 棒(memory stick,MS)、週邊構件互連匯流排(PCI_Express,pcffi)、集成 驅動電子設備(Integrated Drive Electronics,IDE)及-串列高技術配置 (SATA)等。 上述已揭露執行快閃記憶體系統之系統,快閃記憶體系統包括具有多 重为割區之快閃記憶體,此快閃記憶體系統包可利用多重分割區提供多種 功能’包括如自動執行功能、非安全資料儲存及安全資料儲存等。 雖然本發明已描述一些特殊實施例,從本發明所清楚揭露之發明特徵 亦可應用於其他實施例,所有的實施例皆為本發明實施例之範圍。舉例而 言,當上述方法及系統特別為通用串列匯流排裝置時,本發明之精神及範 圍還疋包括不同介面之匯流排類型,例如一個或一個以上之週邊構件互連 匯流排(PCI-Express,PCIE )、安全數位(Secure Digital,SD )、記憶棒(memory stick,MS)、小型快閃記憶體(c〇mpact flash, CF)、集成驅動電子設備 (Integrated Drive Electronics,IDE)及一串列高技術配置(SATA)等。先 45 200917256 前所述之部分技術係以演算法及電腦記憶體中資料位元之操作符號來表 示,資料程序之技術利用這些演算法之描述法及表示法以最有效率地方式 傳送其工作實質給其他技術部分。演算法在這裡一般做為作業時一自體相 谷(self-consistent)序列以產生預期的結果,此作業為需求實體數量之實體 操作部分,雖然通常不是必須的作業,但數量可形成可儲存傳送、合併、 比較及其他操作之電性或磁性訊號。從多方面可證明在—般使用下需參考 這些訊號’如位元、數值、元素、符號、字符、_、數目或其他此類之 訊號。 所有這些及她之關·與適當實體數量產生咖,且不僅是便利之 數量標記,然而這會造成注意力上的負荷,從上述討論中相當明顯可看出, 除非將特殊狀態除外,賴峨前述討論個之關係,如「程序(解挪㈣」 或「計算(C〇_ting)」或「計算(麵心 或「顯示(displaying)」諸如此類,參考電腦系統或相似電子計算裝置之動 作及流程’將電腦系統之暫存器及記憶體中之實體(電性)數量之資料操 作及轉換域他她實聽量之龍儲存在電腦祕之記健或暫存器或 其他資訊储存、傳送或顯示之裝置中。 本發明之實施麵於-實社雜作之裝置,鱗置可依需求而特地 構成或由電腦中所儲存之一電腦程式利用通用電腦選擇性活性化或重新 裝配來組成,此電雌式存在—賴可讀取之儲存媒體中,例如任何 類型之磁碟,包峨磁、綱別、_讀繼及磁光盤 (magnetic-optica, disk) . ^ 46 200917256 讀記憶體、電子可猶式編程唯讀記憶體、磁性或光學卡片、或任意類型 適合儲存電子指令之媒體,且皆可連接到-》系統匯流排。 本發明中所描述之演算法及顯示並非與任何歡電腦活其他裝置不相 關,多種通㈣統可使用本發射所述之程式,或是證明本發明可建立更 專業的裝置來實現所欲之操作方法。多樣化系統之需求結構將於下閣述。 -此外’本發明之實施例並未特別提及任何程式語言,因為多種程式語言皆 可使用於本發明於上所述之實施例中。 機器可讀取媒體(machine_readaWe medium)可包括任何可利用一機器 (如電腦)儲存或傳遞可讀取之資訊之機構,舉例來說,-機ϋ可讀取媒 體包括唯…己憶體;隨機存取記憶體;磁性磁碟儲存媒體;光學儲存媒體; 快閃記憶猶置;電子式、光學式、聲學式或其他任何形式之傳播訊號(例 如載體波形、紅外線信號、數位信號等)等。 唯以上所述者,僅為本發明之較佳實施例而已,並非用來限定本發明 實把之範ϋ。故即凡依本發日种請細所述之特徵及精神所為之均等變化 或修飾,均應包括於本發明之申請專利範圍内。 【圖式簡單說明】 第1(A)圖為本發明中電子資料快閃記憶卡及主機系統之實施例之方塊圖。 第1(B)圖為本發明中電子資料快閃記憶卡及主機系統之另一實施例之方塊 圖。 第1(c)圖為本發明中詳述第1(Β)圖所示之電子資料快閃記憶卡之方塊圖。 第1(D)圖為本發明中一程序單元使用在電子資料快閃記憶卡之另一實施例 之方塊圖。 200917256 第2圖為本發明操作第1(D)S1中快閃記憶體系統之操作方法之簡單流程圖。 第3圖為本發明中快閃記憶體系統之另—實施例之方塊圖。 第4圖為本發日种快閃記顏域之實施例之詳細方塊圖,其可執行第3 圖中之快閃記憶體系統。 .第5圖為本發明中之轉換表,其可執行第3圖之索引或第4 圖之位址轉換 • 表。 f 6(A)圖及第’圖為本發明示範細第$圖巾位址轉換表之示意圖。 第7 1圖及第7-2圖為本發明提供第5圖中轉換表之方法之流程圖。 第8-1圖及第8-2圖為本發明中另一實施例之轉絲。 第9圖為本發明建立第8圖巾轉換表之方法之—特殊實施例之流程圖。 第10圖為本發明中對第4圖之快閃記憶體系統編程之方法之流程圖。 第11圖為本發明在製造商主機端設定—自動執行魏之方法之流程圖。 $圖為本發明中在使用者模式下執行自動執行功能之方法之流程圖。 f 13 ®為本發B种啟動_唯讀記_ (R◦⑷之方法之流程圖。 V帛14 ®為本判設定製造職之安全分_之方法之流程圖。 第14A圖為本發明一快閃記憶裝置中一資料區塊之實施例之方塊圖。 第I5圖為本判在使用者模式下操作—安全分龍之方法之流程圖。 第16圖為本發明在快閃記,隨置巾提供防護之轉之流程圖。 【主要元件符號說明】 10、10A電子資料快閃記憶卡 1卡片本體 2、2A處理單元 48 200917256 3記憶體裝置 3A快閃記憶體裝置 4指紋感應器 4A感應單元 5、5A輸入/輸出介面電路 6顯示單元 7電源 8功能按鍵組 9外部電腦/主機電腦 12讀卡機 13介面匯流排 10B電子資料快閃記憶卡 1卡片本體 2B處理單元 3B快閃記憶體裝置 31保留空間 31A動態啟動程式碼 31B控制程式碼 32自動執行分割區 32A Autorun.inf 權案 32B應用程式檔案 49 200917256 33磁碟分割區 33A公開資料 33B安全資料 5B輸入/輸出介面電路 6B顯示單元 8B功能按鍵組 9B主機電腦 15介面匯流排 20電子資料快閃記憶卡 202通用串列匯流排收發器 204快閃記憶體控制器 206中央處理器(CPU) 208唯讀記憶體 210快閃記憶體 212主記憶體 214、216、218 分割區 220索引 21快閃記憶體控制器 22電源調整器 23重置電路 230使用者主機 200917256 232使用者應用程式:分割區/密碼/自動執行 234驅動程式 236 批量限制傳輸(bulk-only-transport,BOT) 240製造商主機 242製造商應用程式 244驅動程式 246批量限制傳輸 400快閃記憶體系統 402收發器 404快閃記憶體控制器 440製造商特殊指令解碼器 442小型電腦系統介面光碟專用指令解碼器 444小型電腦系統介面固定磁碟種類指令解碼器 446小型電腦系統介面通用指令解碼器 456末端點1 (EP1) 458末端點2 (EP2) 406中央處理器 408唯讀記憶體 410快閃記憶體 414、416、418 分割區 450保留區域 51 200917256 412主記憶體 420索引/位址轉換表 430邏輯單元編號(LUN)計數器 432邏輯單元編號種類暫存器 434邏輯單元編號基準位址暫存器 452硬編碼(hard-coded)暫存器 454 末端點 0 (endpoint0,EP0) 500轉換表 500、502、504'506邏輯單元編號 510、512、514、516靜態隨機存取記憶體基本位址 520、522'524、526 邏輯區塊位址 LBAblk 530邏輯單元編號基準位址暫存器 602邏輯區塊位址行(LBAtbl) 604邏輯區塊位址基本位址 606邏輯區塊位址 608 LBAlsb 610邏輯區塊位址 612實體區塊位址分頁位址 614實體位址區塊PBAtbl (轉換表的對應結果) 616位元偏移 800轉換表 802第一邏輯單元編號基準位址暫存器 52 200917256 804第二邏輯單元編號基準位址暫存器 806第三邏輯單元編號基準位址暫存器 810索引 812實體區塊狀態分頁 814快閃記憶體保留區域 • 816區塊 1440實體區塊 1445資料區域 1446備用區域 1451錯誤修正碼防護 1452位元 1453邏輯區塊位址之區段位址 1454同位元檢核碼 53System, CDFS) 峨 峨 辆 辆 敎 之 之 , , , , , , , , , , , , , , , , , , , , , , , , , , , , In the step of fat, the logical division of each logical partition is formatted, and the CD-ROM read-only memory file system (4) (8) image catalog is downloaded to the fast-moving, and the self-sufficiency of the ship's memory partition is as 'step 1124' Said. Figure 12 is a flow chart of the method for executing the self-domain method in the formula. In step 12〇2, when the user inserts the flash memory system into a user host, the operating system executes the string. A large number of storage locations are placed downstream; then steps are set in a single configuration configuration - device descriptors - configuration descriptors are set to a single interface, as in the step, and a plurality of interface descriptors are set in step 1208. These descriptors include an interface (such as a large number of storage surfaces), interface subclasses (such as a small computational sample interface transparent instruction set), and interface protocols (such as batch limit transmission, bulk_〇dy transp〇rt, Β〇τ ). Next, step (2) sets a first-end point descriptor (such as bulk entry, bulk-in), and then sets a second end point descriptor (such as batch output, bqin ut) in step 1212. The two end points are required for outputting the job. 'As well as the step 1214', a control end point (Ep〇) is defined, and in the step coffee, the maximum logical unit is returned. The following steps have a disc-only memory. After completing step 1210, if 39 200917256 and a disc-only memory partition are involved, then as described in step 1218, the user host issues a request to obtain the logical unit number type of the disc-only memory partition, and In step 122, the logical unit is programmed to be sent to the celestial domain towel; when the acknowledgment element number is positive 4, step 1222 reads the capacity of the optical disk read-only memory, and in step 1224 uses a small computer system interface. The CD-ROM read-only memory read command reads the data. The following steps are related to the complex disk partition except for the disc-only memory partition. After completing step Π16, if a disk cutting area other than the disc-only memory partition is involved, then as described in step 1226, the user host issues a request to obtain the logical single S number of the disk partition. Type 'and send the logical unit label type to the user host in step 1228; after confirming that the logical unit number is correct, step 123 reads the storage capacity of the disk partition, and in step 1232 the towel_(four) domain (4) Margin allocation—capacity identification (ν〇1_ID). The enumeration reads a string of values from the flash memory reserved space. Since the auto-execution function needs to be provided by the CD-ROM, the auto-execution feature will be executed at the same time. The user makes the standard disk type storage function available. Figure 13 is a flow chart of a method for starting a read-only memory (R〇M) in the present invention. First, in step 13〇2, a power-on reset operation is started. Then a flash memory is executed in the step test. The body ID (flash ID handshake __), such as the flash memory chip address 90h read command; then the step algae defines the characteristics of each flash memory chip, this information includes the page or segment size m amount 'Address structure, etc., the execution code image file of a flash memory device is available from the reserved area. 200917256 In step 1308, using the TLRa " in the reserved area to turn--"the address-physical position followed by her 3 2 call and ring, practice, poetry 1 such as the device domain to perform an enumeration procedure, in the implementation of the guide The program lies, the owner of the singer asks for the installation of "« and its _ saki special material pro; then cast 13 reserved area _ first programming _ re-display user in ΛΑ ΒΙ, Θ / 1, right - flash memory chip for The empty Wei 1 value, called the object, will allocate a new address to the (four) record billion ' and _ will record the new address of the ongoing program. In the case of step (10), the request for the flap request is re-supplied to a large number of stocks. The batch limit transmission is transmitted. (10) "ly t__OT". For example, the first value is the maximum logical unit number that is succeeded, and the correct value stored in the reserved space is Is replied to the user host, if the flash memory is empty, then return a preset value, such as 00h or at least one logical unit number 眛. Then in step (10), the command block wrap (command bbck wrapper , CBW) The query command has responded, because the number of points is known in advance, so after each of the points back to its eigenvalues, the logical unit will increase in value. The most batch of instructions will be a current logic. The unit is replaced by 'to store the main block record (MBR) or the partiti〇n block record (pBR) system file structure in the flash memory. The firmware provides a plurality of instruction blocks. Subprograms of the instructions are executed to execute different instructions, including reclaiming used blocks, etc., and as described in step 132, accepting instructions wrapped by the instruction block. Secure partition-safe partition and a public The partition shares the same logical unit number as a special implementation. 41 200917256 In the present invention, a security tool programming allows the security partition and a public partition to share the same flash-scratch token--the logical unit. According to this, accessing the data in this (4) domain does not need to distinguish between these points. In the "special implementation", each capacity volume (capacity vGlume) will change with the fixed total size capacity *, this part It can be achieved by using a programming program, which has the advantage that it makes the data storage more flexible. The first FIG. 4 is a flow chart of the method for setting a safety partition for manufacturing a test according to the present invention, first in step 1402. Apparently - initial capacity, then in the step 1 marriage to write a logical single τ, job code, - preset capacity, - default password and complex logic reference address register 'and then as described in step 1406' write security System headers such as a primary block record (MBR), a partitioned block record (PBR), or a file configuration table (FAT) of the partition. Figure 14A is an embodiment of a data block in a flash memory device of the present invention. Block diagram Please refer to the 14th item, the structure of the physical block, which shows how a secure partition and a public share share the same-dependent unit, but can be pasted and resolved and set in different real blocks. For the multi-layer unit (mu cell eve丨_,) flash memory, a block has a stomach of 128, and each page contains a data area of one byte and a 64-bit group. The dragon domain, in the -real patch, the page can be divided into thin sections, each section contains - 512 bytes of data area 1445 and a 16-byte spare area ΐ 446, 备用 the spare area of the byte 1446 is mainly used for error correction code protection i45i and wear-leveling. In Fig. 14A, the spare area of the 16-bit tuple has a byte as the error correction code n 3 bits_ as an average read and write, and this 3-bit group can record the logical block resource reduction error in order to To reduce the block for the security of the turtle or the public 42 200917256 partition 'requires the 3 bits of the scarf at least - the bit 1452 is defined as a branching specific flag, and the remaining 23 bits are used to define the logical area The sector address of the block address is 1453. In the figure, the four-bit parity check code 1454 is used as the protection 1452 and 1453, so even when the W logical unit number is used in the two partitions, the control relay can still correctly access the data according to the real block. Figure 15 is a flow chart of a method for operating a secure partition in a user mode. First, as described in step 1502, a password for one of the secure partitions is requested, and then a pre-stored logical unit number password is provided in step 15〇4. In order to comply with the request, and set the capacity of the secure partition in step 15〇6; in step 1508, write a logical unit number code, a capacity, a new update password, and a complex logical reference temporary storage area, when the power supply After the startup, the preset mode is the public mode, so in step 1510, a logical unit number code is set to the security mode; then in step 15i2, when the security partition and the public partition use different logical unit numbers, the user host The logical unit number of the secure partition is required, and in step 1514 the user partition reads the valley of the secure partition. Then, 'Step 1516 provides pre-stored logical unit number information, step 丨518 provides one of the secure partitions, the physical reference address, and step 152 〇 reads out the main block previously stored in the flash memory (MBR) ), partition block record (pbr) and audit configuration table (fat) negative sfl. When the secure partition and the public partition use the same logical unit number, the password protecting the secure partition can be shared with the public partition. When the flash memory system is booted up, a default public area will appear, requesting a security tool code and giving the correct password to activate the security function. There is a secure partition in one of the flash memory storage areas, which is loaded with a preset capacity by the manufacturer's utility program, and the manufacturer's host uses a special drive to format the boot, allowing the user to receive the flash memory. You can set your own personal format after the device. If the tool software 43 200917256 asks for a correct password, then an attribute register is set to allow the user to select the open partition or the secure partition. The player stores the new main block record ((4) phantom, partition block record (PBR) and file configuration table (FAT) values in the flash memory, and then the user can access the password-protected security material' - The system is based on the value of the miscellaneous test, so the previous public partition will be displayed. Therefore, the logical unit number code of the public partition will be stored again in the logical block address (LBA). At the time, the main secret will be removed from the pre-stored case. The formatting will be executed regardless of the capacity or difficult structure change, so the old data will be deleted and the new system will be loaded. Because of the iS chart There is no security mechanism when transferring passwords between the host and the device. The hacker can capture the password through logical analysis or bus analysis, so security protection is needed. The figure is the domain and flash memory device of the present invention. The flow link of the secure link material, as shown in the figure, 'when the power is turned on, the host and the device are both broken in the public partition mode, and the host sends out a security command containing the security byte group (ritybyte) to the In the device For example, step (10); security bit secret - pre-recorded public car, Na F = f (auth, dirty), where RGS is randomly generated seed. In step, the device receives this security byte 'And in step 1554, if the device successfully verifies the security byte, the device in step (5) 6 responds with another security byte, which is generated by another preset formula, such as G=G (AUTH). , RGS), when the host is restricted, the host and the device recognize each other. This program can be regarded as "authorization". When the payment is completed, the domain and device transmit the password that can be decoded to the security dragon. The password transmission (4) f is sent to the security byte generated by the G, F and the seed RGS with the 200917256 machine, so the byte on the bus bar between the host and the device is in random mode 'can avoid any hacker The test device can replace the step dirty in the figure b to improve the password. When the password is successfully transmitted and the password is randomly generated, the control device can continue as described in Figure 15. Go on. (4) And the secrets and methods, this one can provide many benefits, - for example, 'increasing its functionality can make the flash memory system more flexible, and the invention can make any-embedded control _ memory The card includes (4) body card (Muki_Media (5),), Secure Digital (SD), compact flash (c), flash memory (MS), memory stick (MS), peripheral component interconnect bus (PCI_Express , pcffi), integrated drive electronics (IDE) and - tandem high-tech configuration (SATA). The above disclosed system for executing a flash memory system includes a flash memory having multiple cut regions, the flash memory system package can provide multiple functions by using multiple partitions, including, for example, automatic execution functions. , non-secure data storage and secure data storage. While the invention has been described with respect to the specific embodiments, the embodiments of the invention may be applied to other embodiments. For example, when the above method and system are particularly general-purpose serial busbar devices, the spirit and scope of the present invention also includes busbar types of different interfaces, such as one or more peripheral component interconnecting busbars (PCI- Express, PCIE), Secure Digital (SD), memory stick (MS), compact flash memory (C), integrated drive electronics (IDE), and integrated drive electronics (IDE) Serial high-tech configuration (SATA) and so on. First 45 200917256 Some of the techniques described above are represented by algorithms and operating symbols of data bits in computer memory. The technology of data programs uses the description and representation of these algorithms to transmit their work in the most efficient manner. Substantially to other technical parts. The algorithm is generally used here as a self-consistent sequence for the job to produce the expected result. This job is the physical operation part of the number of required entities. Although it is usually not a necessary job, the quantity can be formed to be storable. Electrical or magnetic signals for transmission, merging, comparison, and other operations. In many ways, it can be proved that these signals are referred to as 'bits, values, elements, symbols, characters, _, numbers or other such signals. All of this and her and the number of appropriate entities generate coffee, and not only the convenience of the quantity mark, but this will cause a load of attention, it is quite obvious from the above discussion, unless the special state is excluded, Discuss the relationship, such as "program (solution) ("four") or "calculation (C〇_ting)" or "calculation (face-to-face or "displaying"", etc., refer to the actions and processes of computer systems or similar electronic computing devices 'The operation and conversion domain of the number of entities (electricity) in the scratchpad of the computer system and the memory. The real amount of the dragon is stored in the computer secret memory or the scratchpad or other information storage, transmission or The device of the present invention is embodied in a device of the present invention, and the scale can be specially configured according to requirements or can be selectively activated or reassembled by a computer program stored in a computer. This electric female presence exists in a storage medium that can be read, such as any type of magnetic disk, magnetic, outline, magnetic-optica, disk. ^ 46 200917256 Read Recalling, electronic programming, read-only memory, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and can be connected to the -> system bus. The algorithms and displays described in the present invention are not It is not relevant to any other computer device, and the various programs can use the program described in this transmission, or prove that the invention can establish a more professional device to achieve the desired operation method. The demand structure of the diversified system will be In addition, 'the embodiment of the present invention does not specifically mention any programming language, as a plurality of programming languages can be used in the embodiments of the present invention. The machine readable medium (machine_readaWe medium) can be used. Including any mechanism that can store or transfer readable information using a machine (such as a computer), for example, - readable media including only memory; random access memory; magnetic disk storage media Optical storage media; flash memory; electronic, optical, acoustic or any other form of propagation signal (eg carrier waveform, infrared signal, The above is only the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Equivalent changes or modifications of the spirit are included in the scope of the patent application of the present invention. [Simplified Schematic] FIG. 1(A) is a block diagram of an embodiment of an electronic data flash memory card and a host system of the present invention. Figure 1(B) is a block diagram showing another embodiment of the electronic data flash memory card and the host system of the present invention. Figure 1(c) is a diagram showing the first (Β) of the present invention. A block diagram of an electronic data flash memory card. Fig. 1(D) is a block diagram showing another embodiment of a program unit used in an electronic data flash memory card in the present invention. A simple flow chart of the method of operation of the flash memory system in 1(D)S1. Figure 3 is a block diagram of another embodiment of a flash memory system in accordance with the present invention. Fig. 4 is a detailed block diagram of an embodiment of a flashing field of the present invention, which can execute the flash memory system of Fig. 3. Fig. 5 is a conversion table in the present invention, which can perform the index of Fig. 3 or the address conversion table of Fig. 4. The f 6 (A) diagram and the ‘the diagram are schematic diagrams of the exemplary succinct $ map address conversion table of the present invention. 7 to 7 and 7 to 2 are flowcharts showing a method of providing a conversion table in Fig. 5 of the present invention. Figures 8-1 and 8-2 show a spinning wire according to another embodiment of the present invention. Figure 9 is a flow chart of a special embodiment of the method for establishing the eighth towel conversion table of the present invention. Figure 10 is a flow chart showing the method of programming the flash memory system of Figure 4 in the present invention. Figure 11 is a flow chart of the method for automatically executing Wei on the host side of the manufacturer. $Figure is a flow chart of a method for performing an automatic execution function in a user mode in the present invention. f 13 ® is a flow chart of the method of the B-type start-up _ (R◦(4). V帛14® is a flow chart of the method for determining the safety of the manufacturing job. Figure 14A is the present invention A block diagram of an embodiment of a data block in a flash memory device. Figure I5 is a flow chart of a method for operating in a user mode - safe splitting. Figure 16 is a flash code of the present invention. The towel provides a flow chart of protection. [Main component symbol description] 10, 10A electronic data flash memory card 1 card body 2, 2A processing unit 48 200917256 3 memory device 3A flash memory device 4 fingerprint sensor 4A Induction unit 5, 5A input / output interface circuit 6 display unit 7 power supply 8 function button group 9 external computer / host computer 12 card reader 13 interface bus 10B electronic data flash memory card 1 card body 2B processing unit 3B flash memory Body device 31 reserved space 31A dynamic boot code 31B control code 32 automatic execution of partition 32A Autorun.inf rights 32B application file 49 200917256 33 disk partition 33A public data 33B security data 5B input / output Circuit 6B display unit 8B function button group 9B host computer 15 interface bus bar 20 electronic data flash memory card 202 universal serial bus transceiver 204 flash memory controller 206 central processing unit (CPU) 208 read only memory 210 Flash memory 212 main memory 214, 216, 218 partition 220 index 21 flash memory controller 22 power regulator 23 reset circuit 230 user host 200917256 232 user application: partition / password / automatic execution 234 driver 236 bulk-only-transport (BOT) 240 manufacturer host 242 manufacturer application 244 driver 246 batch limit transfer 400 flash memory system 402 transceiver 404 flash memory controller 440 manufacturing Special Instruction Decoder 442 Small Computer System Interface CD Dedicated Instruction Decoder 444 Small Computer System Interface Fixed Disk Type Command Decoder 446 Small Computer System Interface General Instruction Decoder 456 End Point 1 (EP1) 458 End Point 2 (EP2) 406 central processing unit 408 read only memory 410 flash memory 414, 416, 418 partition area 450 reserved area 51 200917256 412 Memory 420 Index/Address Translation Table 430 Logical Unit Number (LUN) Counter 432 Logical Unit Number Type Register 434 Logical Unit Number Reference Address Register 452 Hard-coded Register 454 End Point 0 (endpoint0, EP0) 500 conversion table 500, 502, 504 '506 logical unit number 510, 512, 514, 516 static random access memory basic address 520, 522 '524, 526 logical block address LBAblk 530 logical unit Numbered Reference Address Register 602 Logical Block Address Line (LBAtbl) 604 Logical Block Address Base Address 606 Logical Block Address 608 LBAlsb 610 Logical Block Address 612 Physical Block Address Page Address 614 Physical address block PBAtbl (corresponding result of conversion table) 616 bit offset 800 conversion table 802 first logical unit number reference address register 52 200917256 804 second logical unit number reference address register 806 third Logical unit number reference address register 810 index 812 physical block status page 814 flash memory reserved area • 816 block 1440 physical block 1445 data area 1446 spare area 1451 error correction code protection 1452 LBA address section 1453 of core 1454 of the parity check code 53