專利名稱:閃存管理方法
閃存管理方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域和背景
本發(fā)明涉及使用用于數(shù)據(jù)和應(yīng)用程序存儲的非易失性存儲器
(NVM)的數(shù)據(jù)處理系統(tǒng),以及管理這種存儲的方法。被公開的系統(tǒng) 和方法用以提高數(shù)據(jù)處理系統(tǒng),如包含閃存和電可擦可編程只讀存儲 器(EEPROM) NVM模塊的增強(qiáng)型智能卡的性能和持久性。
這樣的數(shù)據(jù)處理系統(tǒng)的典型示例是智能卡。智能卡是具有嵌入的 集成電路(ICs)的塑料卡片。智能卡作為磁條卡的改進(jìn)而被開發(fā),并 且相對于磁條卡提供多個優(yōu)點(diǎn)。例如,智能卡的最大存儲容量遠(yuǎn)大于 磁條卡。用于智能卡應(yīng)用的高容量SIM卡典型地包含多于256KB的 內(nèi)存存儲,有很多包含多于64MB的內(nèi)存存儲。閃存是在這樣的應(yīng)用 中使用的普及型存儲器。
智能卡典型地包含存儲器和微控制器(具有相關(guān)聯(lián)的邏輯存儲器 和軟件)。存儲在智能卡內(nèi)的數(shù)據(jù)通過由操作系統(tǒng)和安全邏輯控制的 接口來訪問。 一個高級的大容量智能卡的示例是MegaSIM 卡(可從 以色列Kefar Saba的Msystems有限公司獲得)。MegaSIMTM卡使得 智能卡供應(yīng)商能夠針對各種高級移動服務(wù),如下栽MMS(即多媒體消 息服務(wù))、MP3 (即媒體播放器3標(biāo)準(zhǔn))和視頻文件而在SIM中提供 存儲容量(相對于外部存儲卡存儲),提供完整的個人信息管理(PIM ) 功能,并且使能高清晰度圖像存儲。
高容量SIM卡是具有超大存儲內(nèi)存的標(biāo)準(zhǔn)SIM卡。EEPROM是 標(biāo)準(zhǔn)SIM功能的一部分,并且被用于保持經(jīng)由ISO-7816 SIM接口管 理的SIM數(shù)據(jù)文件。這樣的數(shù)據(jù)包括加密密鑰和基于SIM的聯(lián)系列 表。EEPROM被認(rèn)為是高度安全的存儲器組件,因?yàn)镋EPROM是SIM 控制器的一部分,其比存儲內(nèi)存更加安全。存儲內(nèi)存典型地是沒有特 殊安全機(jī)制的商業(yè)化閃存。存儲內(nèi)存可通過高速接口 (例如,MMC、SD和USB)訪問,并且被用來存儲用戶數(shù)據(jù)如圖片、音樂、視頻,和 應(yīng)用程序。不同于EEPROM,存儲內(nèi)存典型地被格式化為標(biāo)準(zhǔn)的FAT (文件分配表)文件系統(tǒng),其由主設(shè)備(例如,移動電話)的操作系 統(tǒng),而不是由SIM卡自己來管理。
圖l是現(xiàn)有技術(shù)的數(shù)據(jù)處理系統(tǒng)高容量SIM卡18的簡化示意 框圖。高容量SIM卡18包括經(jīng)由SIM總線4連接至各種類型存儲器 的SIM CPU 2。 RAM 6是主要用于臨時數(shù)據(jù)存儲的易失性存儲器。 RAM 6還用作應(yīng)用程序緩存。ROM 8是用于存儲操作系統(tǒng)和應(yīng)用程 序的永久不可擦存儲器。 一些系統(tǒng)可以應(yīng)用可擦內(nèi)存存儲來代替ROM 8以提高在改變和增強(qiáng)已載入軟件上的靈活性。
EEPROM 10是可字節(jié)編程的電可擦NVM。 EEPROM 10主要用 于存儲配置相關(guān)信息以及,取決于應(yīng)用程序,半永久(semi-permanent) 數(shù)據(jù)。大的NAND型閃存12也是電可擦NVM,但閃存12在大小上 明顯大于EEPROM 10。閃存12典型地用于大容量數(shù)據(jù)存儲,如圖片、 音樂、視頻,和數(shù)據(jù)庫(例如,電話簿)。EEPROM 10是每次一個 字(即,能夠?qū)懭氲淖钌傥粩?shù))被寫入、 一個字被刪除的"逐字"可 擦除。 一些EEPROM還提供可選的塊擦寫命令,其有助于更快地寫 入。這與僅僅"逐塊"可擦除的閃存12不同。兩種接口用于連接數(shù)據(jù) 處理系統(tǒng)和外部設(shè)備(例如,移動電話)。高速接口 14A用于訪問高 容量存儲而低速接口 14B是用于連接舊有設(shè)備的ISO 7816接口。
組件(SIM CPU 2、 SIM總線4、 RAM 6、 ROM 8、 EEPROM 10、 閃存12,以及接口 14A和14B)位于殼16內(nèi)。閃存12包括用戶數(shù)據(jù) 20、閃存管理數(shù)據(jù)22、 FAT 24,以及文件元數(shù)據(jù)目錄26。用于確定 在哪里存儲各種類型的信息(即,用戶數(shù)據(jù)20或者管理數(shù)據(jù)22)的 邏輯由SIMCPU2來處理,SIMCPU2負(fù)責(zé)管理設(shè)備資源。
位于移動電話28內(nèi)的高容量SIM卡18具有可操作地連接至電話 總線30的高速接口 14B。移動電話28具有用于執(zhí)行電話操作的電話 CPU 32、表示用戶接口組件(例如,小鍵盤、麥克風(fēng)、揚(yáng)聲器、和屏 幕)的1/0 34,和用于存儲管理閃存12中的存儲的操作系統(tǒng)38的存
5儲器36。
兩種主要類型的硅基NVM與本發(fā)明相關(guān)
(1) EEPROM設(shè)備是由浮柵晶體管構(gòu)成的NVM。 EEPROM設(shè) 備與隨機(jī)訪問存儲器(RAM)類似地操作;然而,EEPROM的寫時 序慢于RAM,并且寫入每個位置的數(shù)目限制為100000。
(2) 閃存設(shè)備類似于EEPROM設(shè)備,因?yàn)殚W存設(shè)備也是由閃存 型浮柵晶體管構(gòu)成的非易失性、電可擦可編程、只讀存儲器。然而,
制。在閃存設(shè)備中,在沒有對前一個已經(jīng)被寫入的區(qū)域的在先擦除操 作的情況下不可能再次寫入存儲器中前一個已經(jīng)被寫入的區(qū)域,意味 著閃存單元在它們能夠被再次編程之前必須被擦除(例如,編程至"邏 輯1" 。 )EEPROM單元也需要這樣的擦除搡作。區(qū)別在于,在EEPROM 中,擦除操作由設(shè)備作為寫操作的一部分而內(nèi)部執(zhí)行。
閃存設(shè)備進(jìn)一步被劃分為NAND型閃存設(shè)備和NOR型閃存設(shè) 備。NAND型和NOR型設(shè)備之間的主要區(qū)別是NAND型設(shè)備被限制 為塊讀取訪問,而NOR型設(shè)備具有隨機(jī)讀取訪問。閃存設(shè)備上的擦除 僅僅能針對相對大的一組單元來執(zhí)行,通常被稱為"擦除塊,,,在當(dāng) 前的商業(yè)化NAND型設(shè)備中其大小典型的是16-128K字節(jié)(NOR型 設(shè)備具有更大的擦除塊)。因此,更新單個字節(jié)、或者K字節(jié)中的一 部分的內(nèi)容,需要"內(nèi)務(wù)(houseke印ing)"操作(即,擦除塊中不
且接著那些扇區(qū)優(yōu)選地被移回它們的原始位置)。、 ' '
而且,NAND型設(shè)備塊通常包括一些"壞塊"。這樣的塊不可靠 并且對它們的使用應(yīng)該被避免。塊在初始設(shè)備測試期間由制造商指定 為壞塊,并且隨后當(dāng)在實(shí)際應(yīng)用(in the field)的設(shè)備使用期間塊的失 敗被偵測時由應(yīng)用程序軟件指定。閃存設(shè)備,特別是NAND型設(shè)備, 具有較高密度,并且與EEPROM設(shè)備相比相對便宜。這使得閃存設(shè) 備作為固態(tài)硬盤的替代是非常有吸引力的。
為了克服現(xiàn)有技術(shù)的閃存設(shè)備的局限,閃存文件系統(tǒng)(Flash FileSystem, FFS )被公開在Ban的No.5404485號美國專利中(以后稱為 BanM85),其被轉(zhuǎn)讓給本發(fā)明的受讓人,并且因此通過引用而并入, 就如在本文中被完整描述一樣。FFS在閃存設(shè)備內(nèi)提供允許這些設(shè)備 模擬磁盤的數(shù)據(jù)存儲和管理系統(tǒng)。在現(xiàn)有技術(shù)中,應(yīng)用程序或者操作 系統(tǒng)與使用虛擬地址而不是物理地址的閃存存儲子系統(tǒng)交互。在軟件
盡管軟件可以被視為具有能夠被隨機(jī)而沒有限制地讀取或者寫 入的連續(xù)無缺陷媒介的存儲系統(tǒng),但物理尋址方案在方案的地址范圍 內(nèi)具有"空洞"(例如,由于壞塊),并且在虛擬地址范圍內(nèi)相互鄰 近的一部分?jǐn)?shù)據(jù)在物理地址范圍內(nèi)可能是分離的。執(zhí)行上述映射的中 間層可以是軟件驅(qū)動。在典型的智能卡內(nèi),驅(qū)動運(yùn)行在智能卡的內(nèi)嵌 CPU中。作為替代,中間層可以嵌入在控制閃存設(shè)備的控制器中,并 且當(dāng)主計(jì)算機(jī)訪問存儲時作為主計(jì)算機(jī)的主CPU的接口 。
執(zhí)行這樣的地址映射的軟件或者固件實(shí)現(xiàn)典型地被稱為"閃存管 理系統(tǒng)"或者"閃存文件系統(tǒng)"。后一個術(shù)語是不恰當(dāng)?shù)?,因?yàn)檫@樣 的實(shí)現(xiàn)不需要支持在個人計(jì)算機(jī)的操作系統(tǒng)上使用的文件意義上的文 件,而是支持類似于由硬盤軟件驅(qū)動輸出的那些塊設(shè)備接口。
所有類型的硅基NVM都會遭受損耗。這意味著在一定數(shù)量的寫 入/擦除周期后,相關(guān)塊或者字節(jié)將會失靈(malfunction)的可能性很 高。典型的數(shù)據(jù)周期數(shù)量(稱為數(shù)據(jù)耐久性)是100,000擦除/寫入周 期,其后一個位置再也不能被擦除的可能性很高。
使用上述閃存管理的現(xiàn)有技術(shù)設(shè)備保留了一個閃存扇區(qū)以保持 管理信息(例如,映射表)。每次閃存設(shè)備被新數(shù)據(jù)更新,其操作包 括寫入真實(shí)數(shù)據(jù)和更新后的管理信息的另一寫入。該處理延緩了寫入 過程,因?yàn)檫@兩個寫入操作必須被串行執(zhí)行。使用閃存區(qū)域以存儲管 理信息的另一個缺點(diǎn)歸結(jié)于閃存的塊訪問特性。單字節(jié)更新包括整頁 寫入操作以及可能的塊擦除操作,其使得該處理更加緩慢。
另 一個被考慮的因素是數(shù)據(jù)處理系統(tǒng)典型地以與文件元數(shù)據(jù)相
7關(guān)聯(lián)的文件來組織數(shù)據(jù),文件元數(shù)據(jù)典型地包括文件名、大小、屬性 (例如,訪問權(quán)限),以及保持文件數(shù)據(jù)的至少一個扇區(qū)的物理地址。
文件元數(shù)據(jù)被保持在目錄和記錄對文件的存儲地址分配的FAT中?,F(xiàn) 有技術(shù)將FAT保持在相同的數(shù)據(jù)存儲設(shè)備中針對該目的而指定的存 儲器區(qū)域中。寫入新文件或者更新已有文件包括多個串行的寫入操作; 一個是寫入真實(shí)數(shù)據(jù), 一個寫入至目錄,以及另一個寫入至FAT。如 果存儲設(shè)備是閃存設(shè)備,如上所述,這些寫入操作的每一個實(shí)際上包 括兩個寫入操作 一個寫入至實(shí)際的扇區(qū),而另一個更新閃存管理數(shù) 據(jù)。盡管管理目錄更新可能僅僅需要寫入少量字節(jié),但寫入至閃存總 是需要整頁寫入操作以及可能的塊擦除操作。
描述在Chen的No.6456528美國專利中的現(xiàn)有技術(shù)提出了寫入 FAT數(shù)據(jù)至具有兩種不同的存儲信息的方法的相同設(shè)備內(nèi)的位置。該 現(xiàn)有技術(shù)討論了使用 一種方法存儲FAT ,并且使用另 一種方法存儲數(shù) 據(jù)的益處。然而,該現(xiàn)有技術(shù)針對數(shù)據(jù)和管理數(shù)據(jù)使用相同的存儲設(shè) 備。該現(xiàn)有技術(shù)沒有解決兩個串行寫入操作,以及在本申請中討論的 需要整頁更新的問題。
現(xiàn)有技術(shù)系統(tǒng)的另一個示例被描述在Auclair和Harari的 No.5778418號美國專利中。該專利教導(dǎo)了 一種用于提高磁盤性能的固 態(tài)存儲器設(shè)備和輪轉(zhuǎn)(rotating)磁盤的組合。該專利描述了機(jī)械硬盤 或者固態(tài)存儲器設(shè)備中的邏輯扇區(qū)地址和物理數(shù)據(jù)存儲位置之間的映 射。該現(xiàn)有技術(shù)系統(tǒng)沒有解決如本申請所討論的通過區(qū)分將要寫入至 設(shè)備的管理相關(guān)數(shù)據(jù)和實(shí)際數(shù)據(jù)而提高寫入操作的效率的問題。
期望具有使用兩個獨(dú)立的存儲設(shè)備的系統(tǒng)。這樣的系統(tǒng)將允許上 述的兩個寫入操作(一個針對用戶數(shù)據(jù)而一個針對管理數(shù)據(jù))被并行 地執(zhí)行,從而提供性能。
發(fā)明內(nèi)容
出于清楚的目的,下面的多個術(shù)語針對本申請中的使用而被特別 定義。本文中使用的術(shù)語"映射表"涉及閃存文件系統(tǒng)(FFS)管理
8信息。本文中使用的術(shù)語"文件元數(shù)據(jù)"涉及文件系統(tǒng)(FS)管理信 息。本文中使用的術(shù)語"管理數(shù)據(jù)"涉及由FFS或者FS軟件模塊使 用的管理信息。
本文中使用的術(shù)語"用戶數(shù)據(jù)"涉及由用戶存儲的實(shí)際文件。本 發(fā)明應(yīng)用至單層式存儲單元(SLC)閃存和多層式存儲單元(MLC) 閃存。盡管后續(xù)討論主要集中在SLC單元上,對于本領(lǐng)域技術(shù)人員而 言如何將本發(fā)明應(yīng)用至MLC單元將會是明顯的。本文中使用的術(shù)語 "擦除"和"寫入"涉及設(shè)置存儲器單元的閾值電壓,其中擦除典型
地設(shè)置電壓為對應(yīng)于邏輯值1,而寫入典型地設(shè)置電壓,在SLC單元 的情況中,對應(yīng)于邏輯值0,本文中術(shù)語"寫入"和"編程,,被可互 換地使用。
本文中使用的術(shù)語"高容量SIM卡"涉及SIM卡,在上述的舊 有SIM卡功能之外,包含典型地用于存儲圖像和音樂文件的大量(即, >256KB,優(yōu)選地〉64MB)內(nèi)存存儲(例如,閃存)。高容量SIM卡 通常具有高速接口,如SDTm (安全數(shù)字tm)或者M(jìn)MC (多媒體卡) 接口,用于訪問大容量存儲。
本發(fā)明的目的是提供用于提高數(shù)據(jù)處理系統(tǒng)(如包含閃存和 EEPROM NVM模塊的高容量SIM卡)的性能和耐久性的系統(tǒng)和方法。
兩種不同類型的管理應(yīng)用程序被包含在本申請中
(1) 閃存文件系統(tǒng)(FFS)(其,除名字外,與文件沒有關(guān)系) 將閃存作為塊設(shè)備管理。FFS處理損耗均衡(wear leveling)、錯誤偵 測和糾正,并且當(dāng)需要時執(zhí)行擦除操作。FFS保持邏輯映射虛擬地址 至物理設(shè)備地址的映射表(即,將扇區(qū)編號轉(zhuǎn)換為針對邏輯/虛擬地址
(即,扇區(qū)編號)當(dāng)前分配的物理地址)。
(2) 文件系統(tǒng)(FS)典型的是使用中的操作系統(tǒng)的一部分。FS 在目錄區(qū)域和文件分配表(FAT )中存儲文件元數(shù)據(jù)(包括文件名、 文件屬性)。
根據(jù)本發(fā)明,當(dāng) 一部分(或者全部)管理數(shù)據(jù)被存儲在EEPROM 模塊時閃存模塊被用于存儲數(shù)據(jù)。通過在EEPROM中存儲FFS映射表而獲得如下的主要改進(jìn)
(a) 提高的性能在大部分情況下,僅僅少量字節(jié)需要被寫入。 而如果映射表被存儲在閃存中,在每次寫入閃存時整頁可能被重寫。 此外,如果沒有空的頁可用,包括塊擦除操作的該操作會使得該處理 更加緩慢。
(b) 更緩慢的存儲器損耗因?yàn)閮H僅少量字節(jié)被包含在一個典 型的管理數(shù)據(jù)更新中,使用EEPROM消除了重寫整頁的需求。
(c) 簡化的、更有效的FFS管理FFS管理應(yīng)用程序能夠直接 訪問EEPROM中的相關(guān)字節(jié)而不需要整頁訪問。
本發(fā)明的附加改進(jìn)通過在EEPROM而不是閃存中存儲文件元數(shù) 據(jù),或者具體而言FAT而獲得。FAT典型地在文件每次被更新時被更 新。本發(fā)明使用可字節(jié)訪問的存儲器(EEPROM)來存儲FAT。其導(dǎo) 致類似于通過在EEPROM而不是閃存中存儲映射表信息而獲得的提 高的性能和更緩慢的損耗。
本發(fā)明在任何基于閃存的數(shù)據(jù)存儲系統(tǒng)中都是有用處的,但因?yàn)?其它原因在EEPROM典型地出現(xiàn)的高容量SIM卡中特別有用處。應(yīng) 當(dāng)注意本發(fā)明不限于管理閃存的特定方法。任何閃存管理算法可以通 過將文件元數(shù)據(jù)放置在EEPROM中以及將用戶數(shù)據(jù)放置在閃存中而 被提高。
因此,根據(jù)本發(fā)明,首次提供一種SIM卡,該卡包括U)用
于存儲用戶數(shù)據(jù)的第一NVM;以及(b)第二NVM,與第一NVM分
離,用于存儲與用戶數(shù)據(jù)相關(guān)的管理數(shù)據(jù)。
優(yōu)選地,第一NVM能夠塊擦除并且第二NVM能夠字擦除。 優(yōu)選地,第一NVM是閃存并且第二NVM是EEPROM。 優(yōu)選地,該卡進(jìn)一步包括(c)用于容納第一NVM和第二NVM
的殼。最優(yōu)選地,該殼被構(gòu)造成具有智能卡ID1或者ID-000形成因子。 優(yōu)選地,管理數(shù)據(jù)包括用于將第一 NVM的虛擬地址映射到物理
設(shè)備地址的映射表。
優(yōu)選地,用戶數(shù)據(jù)和管理數(shù)據(jù)被組織在文件系統(tǒng)中。
10最優(yōu)選地,管理數(shù)據(jù)包括至少一個文件分配表。
最優(yōu)選地,管理數(shù)據(jù)包括至少一個文件目錄,其中至少一個文件 目錄包括從由文件名、文件大小、文件屬性、和文件扇區(qū)的物理地址 組成的組中選擇的至少一項(xiàng)。
根據(jù)本發(fā)明,首次提供一種用于管理SIM卡中的數(shù)據(jù)的方法,該 方法包括步驟(a)接收要被存儲在SIM卡中的數(shù)據(jù);(b)將用戶 數(shù)據(jù)寫入至第一 NVM;以及(c)將與用戶數(shù)據(jù)相關(guān)的管理數(shù)據(jù)寫入 至與第一NVM分離的第二NVM。
優(yōu)選地,管理數(shù)據(jù)包括用于將第一NVM的虛擬地址映射到物理 設(shè)備地址的映射表。
優(yōu)選地,用戶數(shù)據(jù)和管理數(shù)據(jù)被組織在文件系統(tǒng)中。
最優(yōu)選地,管理數(shù)據(jù)包括至少一個文件分配表。
最優(yōu)選地,管理數(shù)據(jù)包括至少一個文件目錄,其中至少一個文件 目錄包括從由文件名、文件大小、文件屬性、和文件扇區(qū)的物理地址 組成的組中選擇的至少一項(xiàng)。
這些以及進(jìn)一步的實(shí)施例在隨后的詳細(xì)描述和示例中將會很明顯。
在本文中,本發(fā)明,通過僅僅示例的方式,參考附圖而被描述, 附圖中
圖l是現(xiàn)有技術(shù)的數(shù)據(jù)處理系統(tǒng)的簡化示意框圖2是根據(jù)本發(fā)明優(yōu)選實(shí)施例的典型數(shù)據(jù)處理系統(tǒng)的簡化示意框
圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的作為存儲器設(shè)備驅(qū)動的一部分而 實(shí)現(xiàn)的寫入扇區(qū)的典型操作步驟的流程圖。
具體實(shí)施例方式
本發(fā)明涉及用于提高數(shù)據(jù)處理系統(tǒng)的性能和耐久性的系統(tǒng)和方法。根據(jù)本發(fā)明的用于提高數(shù)據(jù)處理系統(tǒng)的性能和耐久性的原理和操 作,在參考后附描述和附圖時可以被更好地理解。
現(xiàn)在參考附圖,圖2是根據(jù)本發(fā)明優(yōu)選實(shí)施例的典型數(shù)據(jù)處理系 統(tǒng)的簡化示意框圖。特別地,圖2顯示了根據(jù)本發(fā)明的原理而修改的 圖1的高容量SIM卡。SIM總線4連接多種類型的存儲器。RAM 6 是主要用于臨時數(shù)據(jù)存儲的易失性存儲器。RAM 6也用作應(yīng)用程序緩 存。ROM8是用于存儲操作系統(tǒng)和應(yīng)用程序的永久不可擦存儲器。一 些系統(tǒng)可以應(yīng)用可擦內(nèi)存存儲來代替ROM 8以提供在改變和提高載 入軟件上的靈活性。如本發(fā)明所指出的一樣,管理數(shù)據(jù)22、 FAT 24, 和元數(shù)據(jù)目錄26被存儲在EEPROM 10 (相對于圖1所示的結(jié)構(gòu)), 而用戶數(shù)據(jù)2(H皮存儲在閃存12。
EEPROM 10是可字節(jié)編程的電可擦NVM。 EEPROM 10被用于 存儲配置相關(guān)信息以及,取決于應(yīng)用程序,半永久數(shù)據(jù)。然而,在與 現(xiàn)有技術(shù)相同的EEPROM 10的使用之外,本發(fā)明的EEPROM 10還 存儲閃存管理數(shù)據(jù)22、 FAT 24,和文件元數(shù)據(jù)目錄26。閃存12也是 電可擦NVM,但閃存12在大小上明顯大于EEPROM 10。閃存12典 型地用于大容量數(shù)據(jù)存儲,如圖片、音樂、視頻、和數(shù)據(jù)庫(例如, 電話簿)。接口 14A和14B被用于連接數(shù)據(jù)處理系統(tǒng)和外部設(shè)備(例 如,移動電話)。組件(總線4、 RAM 6、 ROM 8、 EEPROM 10、閃 存12,以及接口 14A和14B)位于殼16內(nèi)。在優(yōu)選實(shí)施例中,殼16 具有智能卡形成因子(例如,智能卡ID1或者ID-000)。
圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的作為存儲器設(shè)備驅(qū)動的一部分而 實(shí)現(xiàn)的寫入扇區(qū)的典型操作步驟的流程圖。在描述圖3所示的操作步 驟時,參考圖2所示的組件會更加清楚。這個例子描述了在EEPROM 10中保持管理數(shù)據(jù)22和FAT24,同時其它文件元數(shù)據(jù)和用戶數(shù)據(jù)20 被存儲在閃存12的系統(tǒng)。文件系統(tǒng)命令(例如,寫文件、擦除文件、 創(chuàng)建文件、創(chuàng)建目錄)由設(shè)備經(jīng)由接口(例如,智能卡接口 14A和14B, 圖2中所示)接收,并且設(shè)備啟動一個扇區(qū)上的操作(塊40)。檢查 由操作請求所定義的扇區(qū)編號以確定扇區(qū)編號是否屬于FAT 24 (塊
1242)。
假設(shè)執(zhí)行該算法的固件知道FAT結(jié)構(gòu)和物理位置。如果執(zhí)行該 算法的固件不知道FAT結(jié)構(gòu)和物理位置,該步驟(塊42)可以被跳 過,而所有扇區(qū)被當(dāng)作非FAT。如果扇區(qū)被識別為FAT24的一部分, 才艮據(jù)本發(fā)明FAT 24被存儲在EEPROM 10中,則更新FAT 24(塊44 )。 在此情況下,沒有數(shù)據(jù)被需要寫入閃存12,并且處理結(jié)束(塊46)。 如果扇區(qū)不是FAT扇區(qū),固件需要分配空的區(qū)域以存儲用戶數(shù)據(jù)20 (塊48)。如果存在用戶數(shù)據(jù)20的空間,固件將用戶數(shù)據(jù)20寫入至 閃存12 (塊50 ),并且更新EEPROM 10中的管理數(shù)據(jù)22 (塊52 )。 操作50和52被并行執(zhí)行,并且接著處理結(jié)束(塊54 )。
在智能卡的實(shí)現(xiàn)中,這意味著CPU 2在更新EEPROM 10內(nèi)的管 理數(shù)據(jù)22之前不需要等待直到用戶數(shù)據(jù)20實(shí)際被寫入閃存12。如果 沒有空間可用,固件執(zhí)行"內(nèi)務(wù)"操作(塊S6)(包括擦除未使用的 塊),并且壓縮閃存12中的用戶數(shù)據(jù)20。此外,更新EEPROM l中 的管理數(shù)據(jù)22 (塊58)以反映用戶數(shù)據(jù)20的重新排列,用戶數(shù)據(jù)20 的重新排列在塊56中被執(zhí)行。兩個操作(塊56和58 )被并行執(zhí)行(即, 在CPU 2更新EEPROM 10內(nèi)的管理數(shù)據(jù)22 (塊58 )之前CPU 2不 等待閃存相關(guān)的操作(塊56)的完成)。
因?yàn)橄旅娴脑颍脸词褂玫膲K的步驟(塊56)是必需的。為 了寫入閃存12,必需保證將要被寫入的塊的所有位具有邏輯1。寫入 操作僅僅能將代表電平從邏輯1變?yōu)檫壿? (從邏輯0變?yōu)檫壿?由 擦除操作執(zhí)行)。如果塊沒有被使用,其不清楚塊是否已經(jīng)被擦除(即, 塊的所有位具有邏輯1)。典型地,未使用的塊將不會是預(yù)先已經(jīng)被 擦除的。
盡管本發(fā)明已經(jīng)結(jié)合有限數(shù)目的實(shí)施例被描述,將能理解可以對 本發(fā)明做出許多變化、修改、和其它應(yīng)用。
1權(quán)利要求
1. 一種SIM卡,所述卡包含(a)第一NVM,用于存儲用戶數(shù)據(jù);以及(b)第二NVM,與所述第一NVM分離,用于存儲與所述用戶數(shù)據(jù)相關(guān)的管理數(shù)據(jù)。
2. 如權(quán)利要求1所述的卡,其中所述第一 NVM能夠塊擦除并且 所述第二 NVM能夠字擦除。
3. 如權(quán)利要求l所述的卡,其中所述第一NVM是閃存并且所述 第二 NVM是EEPROM。
4. 如權(quán)利要求l所述的卡,所述卡進(jìn)一步包含(c) 用于容納所述第一NVM和所述第二NVM的殼。
5. 如權(quán)利要求4所述的卡,其中所述殼被構(gòu)造成具有智能卡ID 1 形成因子。
6. 如權(quán)利要求4所述的卡,其中所述殼被構(gòu)造成具有智能卡ID -000形成因子。
7. 如權(quán)利要求1所述的卡,其中所述管理數(shù)據(jù)包括用于將所述 第一 NVM的虛擬地址映射到物理設(shè)備地址的映射表。
8. 如權(quán)利要求1所述的卡,其中所述用戶數(shù)據(jù)和所述管理數(shù)據(jù) -故組織在文件系統(tǒng)中。
9. 如權(quán)利要求8所述的卡,其中所述管理數(shù)據(jù)包括至少一個文 件分配表。
10. 如權(quán)利要求8所述的卡,其中所述管理數(shù)據(jù)包括至少一個文 件目錄,其中所述至少一個文件目錄包括從由文件名、文件大小、文 件屬性、和文件扇區(qū)的物理地址組成的組中選擇的至少一項(xiàng)。
11. 一種管理SIM卡中的數(shù)據(jù)的方法,所述方法包含如下步驟(a) 接收要存儲在SIM卡中的用戶數(shù)據(jù);(b) 將所述用戶數(shù)據(jù)寫入至第一NVM;以及(c )將與所述用戶數(shù)據(jù)相關(guān)的管理數(shù)據(jù)寫入至與所述第一NVM分離的第二NVM。
12. 如權(quán)利要求11所述的方法,其中所述管理數(shù)據(jù)包括用于將 所述第一 NVM的虛擬地址映射到物理設(shè)備地址的映射表。
13. 如權(quán)利要求11所述的方法,其中所述用戶數(shù)據(jù)和所述管理 數(shù)據(jù)被組織在文件系統(tǒng)中。
14. 如權(quán)利要求13所述的方法,其中所述管理數(shù)據(jù)包括至少一 個文件分配表。
15. 如權(quán)利要求13所述的方法,其中所述管理數(shù)據(jù)包括至少一 個文件目錄,其中所述至少一個文件目錄包括從由文件名、文件大小、 文件屬性、和文件扇區(qū)的物理地址組成的組中選擇的至少一項(xiàng)。
全文摘要
SIM卡包括(a)用于存儲用戶數(shù)據(jù)的第一NVM;以及(b)第二NVM,與第一NVM分離,用于存儲與用戶數(shù)據(jù)相關(guān)的管理數(shù)據(jù)。優(yōu)選地,第一NVM能夠塊擦除并且第二NVM能夠字擦除。優(yōu)選地,第一NVM是閃存并且第二NVM是EEPROM。優(yōu)選地,管理數(shù)據(jù)包括用于將第一NVM的虛擬地址映射到物理設(shè)備地址的映射表。優(yōu)選地,用戶數(shù)據(jù)和管理數(shù)據(jù)被組織在文件系統(tǒng)中。最優(yōu)選地,管理數(shù)據(jù)包括至少一個文件分配表。最優(yōu)選地,管理數(shù)據(jù)包括至少一個文件目錄,其中至少一個文件目錄包括從由文件名、文件大小、文件屬性、和文件扇區(qū)的物理地址組成的組中選擇的至少一項(xiàng)。
文檔編號G06F12/00GK101484882SQ200680050847
公開日2009年7月15日 申請日期2006年12月3日 優(yōu)先權(quán)日2005年12月9日
發(fā)明者M·阿蓋密 申請人:晟碟以色列有限公司