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