專利名稱:處理寫命令的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及寫命令的處理,所述寫命令包括存儲區(qū)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù)。這樣的寫命令可為例如依據(jù)與智能卡有關(guān)的ISO 7816標(biāo)準(zhǔn)的寫命令。
背景技術(shù):
智能卡通常包括電可擦可編程只讀存儲器(EEPROM)。EEPROM以非易失的方式存儲數(shù)據(jù),這樣即使當(dāng)存儲器沒有加電時,數(shù)據(jù)保持記錄在存儲器中。EEPROM也允許通過擦除部分或全部存儲器以及通過寫入新的數(shù)據(jù)而更新數(shù)據(jù)。所述擦除操作通過對存儲器應(yīng)用高電壓而電執(zhí)行。
圖1是智能卡電氣部分的方框圖。圖1中所示的電路包括組成卡的電子芯片的微控制器1,和使卡能夠與讀取/寫入終端(沒示出)通信的接口2。
該微控制器1主要包括微處理器10、存儲單元20、30、40、輸入/輸出電路50以及將電路20、30、40和50連接到微處理器10的數(shù)據(jù)總線60。存儲單元20和30分別包括包含管理芯片的操作、被稱作“操作系統(tǒng)”的計算機程序的只讀存儲器(ROM),以及用于暫時存儲微處理器10所處理的數(shù)據(jù)的隨機存取存儲器(RAM)。
EEPROM單元40用于存儲用戶特定的數(shù)據(jù),如姓名、密碼(PIN)或可用的錢的總數(shù)。參考圖2,存儲器40特別包括EEPROM400、用于擦除存儲在存儲器400中的數(shù)據(jù)的升壓模塊410、以及包含其二進制“0”或“1”狀態(tài)指示擦除存儲器400的處理是否已經(jīng)終止的標(biāo)志的寄存器420。
接口2可由適用于與讀取/寫入終端的相應(yīng)電氣插頭接合的電氣插頭,和/或通過適用于與所示終端交換無線信號的無線收發(fā)機部件所組成,其中,這樣的收發(fā)機部件被認(rèn)為提供“無縫”連接。配備用于無縫連接的智能卡可被用作例如電子錢包。用戶可以通過讓所述卡進入所述終端所產(chǎn)生的電磁場中而進行如購買物品的交易,所述電磁場除了其它功能之外,用于充電所述芯片。
圖3示出了更新圖2的EEPROM 400中的數(shù)據(jù)的傳統(tǒng)方法。在第一步驟E1中,數(shù)據(jù)通過接口2和輸入/輸出電路50被微處理器40接收。每個接收的數(shù)據(jù)項被暫時存儲在RAM 30中(步驟E2)。在下面的步驟E3中,EEPROM 400的包含將被更新的數(shù)據(jù)的區(qū)域,通過微處理器400控制下的升壓模塊410被擦除。當(dāng)寄存器420指示擦除完成時,則接收的數(shù)據(jù)被從RAM 30中提取,寫入到上述區(qū)域中(步驟E4)。
上述方法的主要缺點在于它實現(xiàn)起來相對較長。當(dāng)使用無縫智能卡時尤其麻煩,因為在這樣的條件下控制智能卡在所述終端的電磁場中所花費的時間的長度是困難的。這個時間取決于用戶多快處理所述卡。有關(guān)與所述終端通信的所有操作,包括擦除和寫入EEPROM的操作,因此必須盡快被執(zhí)行。實際上,這些操作一起必須不需要多于幾十毫秒是可以接受的。不幸地,單獨一筆交易可需要多個存儲器的擦除和寫入操作,并且這些操作的每一個本身可需要幾毫秒。
發(fā)明內(nèi)容
本發(fā)明設(shè)法減少處理寫命令所需要的時間,所述寫命令包括存儲區(qū)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù)為此,以下面的方式進行處理。在接收步驟中,數(shù)據(jù)被寫入緩沖存儲器。在擦除步驟中,所述寫命令所定義的存儲區(qū)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲區(qū)。在傳遞步驟中,所述數(shù)據(jù)被從緩沖存儲器傳遞到寫命令所定義的存儲區(qū)。
這樣,所述接收步驟和所述擦除步驟至少部分并行實施。因此,本發(fā)明與上述傳統(tǒng)的方法相比,減少了處理相關(guān)寫命令所需要的時間。
所關(guān)心的存儲區(qū)可以位于例如電可擦可編程只讀存儲器(EEPROM)中。目前市場上可用的所述EEPROM通常需要幾毫秒來擦除。在這個時間內(nèi),所有或部分相關(guān)數(shù)據(jù)可被接收并暫時存儲在緩沖存儲器中。
通過參考附圖的以下詳細(xì)描述,將了解本發(fā)明的這些和其它特性以及優(yōu)點。
圖1如上所述,示出了智能卡的電氣部分的方框圖;
圖2如上所述,詳細(xì)示出了包含在圖1的裝置中的EEPROM;圖3如上所述,示出了用于更新EEPROM中的數(shù)據(jù)的傳統(tǒng)算法;圖4示出了本發(fā)明的用于更新可擦除存儲器中的數(shù)據(jù)的算法。
具體實施例方式
圖4例舉了依據(jù)本發(fā)明的一種算法。圖4所示的算法被存儲在圖1所示的智能卡的微控制器1中。更具體地,該算法以計算機程序的方式例如作為微控制器1的操作系統(tǒng)中的子程序,存儲在ROM20中。
假定圖1所示的智能卡被連接到讀取/寫入終端。還假定所述讀取/寫入終端依照ISO標(biāo)準(zhǔn)7816對所述智能卡應(yīng)用跟隨有數(shù)據(jù)的寫命令。ISO 7816命令典型地包括五個字節(jié)CLA、INS、P1、P2、P3。CLA是指示將應(yīng)用所述命令的卡的類型的一個字節(jié)。INS是指示所述命令的類型的一個字節(jié)。在寫命令的情況下,P1和P2是指示起始地址的兩個字節(jié),以及P3是指示需要寫入所述智能卡中的數(shù)據(jù)的大小即有關(guān)字節(jié)數(shù)的字節(jié)。
當(dāng)智能卡收到所述命令時,它引起一個中斷,激活圖1所示的微控制器1。微處理器10通過圖1所示的接口2(有插頭或沒有插頭)以及通過輸入/輸出電路50,從讀取/寫入終端接收寫命令。
在圖4所示的第一步驟F1中,微處理器10解碼所述寫命令。因此,所述微處理器識別到它將要收到更新數(shù)據(jù),用于寫入到圖2所示的EEPROM 400的區(qū)域ZN中。如上所述,EEPROM 400形成圖1所示的EEPROM單元40的一部分。
在下面的步驟F2中,所述微處理器10確定所述區(qū)域ZN是否為空。如果對步驟F2的響應(yīng)是“否”,那么通過激活EEPROM 40的升壓模塊410,在步驟F3中開始擦除包含在區(qū)域ZN中的數(shù)據(jù)的操作。如圖4中的虛線所示,所述區(qū)域ZN然后被獨立于通過微處理器10的算法程序而擦除(步驟F3)。這樣,在進行擦除的同時,微處理器可以在步驟F4中從所示讀取/寫入終端接收所示更新數(shù)據(jù),并可以將每個數(shù)據(jù)項存儲在RAM30中(步驟F5)。
如果步驟F2確定區(qū)域ZN沒有包含數(shù)據(jù),那么,微處理器10在進行步驟F4和F5之前,等待直到它已經(jīng)收到上述更新數(shù)據(jù)。
一旦所述更新數(shù)據(jù)被收到并被存儲在RAM 30中,以及如果開始區(qū)域ZN不是空的(步驟F2),那么,在步驟F6中,微處理器驗證是否區(qū)域ZN的擦除已經(jīng)終止。為此,微處理器10詢問EEPROM單元40的寄存器420。如果包含在該寄存器中的標(biāo)志指示所述擦除沒有終止,那么,微處理器10以固定的時間間隔詢問寄存器420,直到該標(biāo)志改變狀態(tài)。
一旦在步驟F6中所執(zhí)行的驗證過程中,該標(biāo)志指示擦除已終止,那么,區(qū)域ZN通過在其中寫入存儲在RAM 30中的數(shù)據(jù)而被更新(步驟F7)。
如果在步驟F2中發(fā)現(xiàn)區(qū)域ZN是空的,則省略步驟F6,如虛線F57所示所示算法直接從接收和存儲步驟F4、F5到寫入步驟F7。
上述參考附圖的描述例舉了以下基本特性。所述寫命令包括存儲區(qū)(ZN)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù),所述寫命令按照以下方式處理。在接收步驟中(F4),數(shù)據(jù)被寫入到緩沖存儲器(RAM)。在擦除步驟中(F3),所述寫命令所定義的存儲區(qū)(ZN)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲器(RAM)。這樣,所述接收步驟(F4)和擦除步驟(F3)至少部分是并行實施的。在傳遞步驟(F7)中,數(shù)據(jù)被從緩沖存儲器(RAM)傳遞到寫命令所定義的存儲區(qū)(ZN)。
如上所述和所附權(quán)利要求書所定義的本發(fā)明不限于僅組成部分EEPROM400的區(qū)域ZN。所述區(qū)域ZN可以組成整個可擦除存儲器。
另外,本發(fā)明可被應(yīng)用于除智能卡之外的裝置,尤其可被應(yīng)用于其它類型的可移動裝置。
權(quán)利要求
1.一種用于處理寫命令的方法,所述寫命令包括一存儲區(qū)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù),所述方法包括接收步驟,其中,所述數(shù)據(jù)被寫入到一緩沖存儲器;擦除步驟,其中,所述寫命令所定義的存儲區(qū)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲器;以及傳遞步驟,其中,數(shù)據(jù)被從所述緩沖存儲器傳遞到所述寫命令所定義的存儲區(qū)。
2.一種能夠處理寫命令的裝置,所述寫命令包括一存儲區(qū)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù),所述裝置包括一控制器,所述控制器響應(yīng)于所述寫命令,使得所述裝置實施以下步驟接收步驟,其中,所述數(shù)據(jù)被寫入到一緩沖存儲器;擦除步驟,其中,所述寫命令所定義的存儲區(qū)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲器;以及傳遞步驟,其中,數(shù)據(jù)被從所述緩沖存儲器傳遞到所述寫命令所定義的存儲區(qū)。
3.一種能夠處理寫命令的智能卡,所述寫命令包括一存儲區(qū)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù),所述智能卡包括一控制器,所述控制器響應(yīng)于所述寫命令,使得所述智能卡實施以下步驟接收步驟,其中,所述數(shù)據(jù)被寫入到一緩沖存儲器;擦除步驟,其中,所述寫命令所定義的存儲區(qū)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲器;以及傳遞步驟,其中,數(shù)據(jù)被從所述緩沖存儲器傳遞到所述寫命令所定義的存儲區(qū)。
4.一種用于智能卡的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括一指令集,當(dāng)裝入所述智能卡時,所述指令集使得所述智能卡響應(yīng)于一包括一存儲區(qū)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù)的寫命令,實施以下步驟接收步驟,其中,所述數(shù)據(jù)被寫入到一緩沖存儲器;擦除步驟,其中,所述寫命令所定義的存儲區(qū)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲器;以及傳遞步驟,其中,數(shù)據(jù)被從所述緩沖存儲器傳遞到所述寫命令所定義的存儲區(qū)。
全文摘要
一種包括一存儲區(qū)(ZN)的定義和隨后的將被存儲在所述存儲區(qū)中的數(shù)據(jù)的寫命令。這樣的寫命令可為例如依據(jù)與智能卡有關(guān)的ISO 7816標(biāo)準(zhǔn)的寫命令。所述寫命令按照以下方式處理。在接收步驟中(F4),數(shù)據(jù)被寫入到緩沖存儲器(RAM)。在擦除步驟中(F3),所述寫命令所定義的存儲區(qū)(ZN)被擦除,同時數(shù)據(jù)被寫入到所述緩沖存儲器(RAM)。這樣,所述接收步驟(F4)和擦除步驟(F3)至少部分是并行實施的。在傳遞步驟(F7)中,數(shù)據(jù)被從緩沖存儲器(RAM)傳遞到寫命令所定義的存儲區(qū)(ZN)。
文檔編號G11C16/06GK1430784SQ01809519
公開日2003年7月16日 申請日期2001年5月17日 優(yōu)先權(quán)日2000年5月17日
發(fā)明者喬斯·門內(nèi)卡特 申請人:施藍(lán)姆伯格系統(tǒng)公司