亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

非易失性存儲(chǔ)器系統(tǒng)的制作方法

文檔序號(hào):6552972閱讀:234來源:國知局
專利名稱:非易失性存儲(chǔ)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及非易失性存儲(chǔ)器系統(tǒng),特別是,涉及包括非易失性存儲(chǔ)器、對(duì)包含改寫上述非易失性存儲(chǔ)器內(nèi)容的操作命令的程序進(jìn)行存儲(chǔ)的易失性存儲(chǔ)器、以及控制上述非易失性存儲(chǔ)器和上述易失性存儲(chǔ)器的運(yùn)算處理裝置的非易失性存儲(chǔ)器系統(tǒng)。
背景技術(shù)
將具有CPU、非易失性存儲(chǔ)器和易失性存儲(chǔ)器等的IC芯片(半導(dǎo)體集成電路)安裝在塑料制造的卡上所形成的IC卡與目前得到廣泛應(yīng)用的磁卡相比,由于可存儲(chǔ)更大量的數(shù)據(jù)、或者能夠進(jìn)行數(shù)據(jù)加密從而保密性優(yōu)越等,因而開始普及。另外,近年來,作為裝載于IC卡上的非易失性存儲(chǔ)器,與現(xiàn)有的EEPROM相比,安裝了可存儲(chǔ)更大量數(shù)據(jù)的閃速型EEPROM(閃速存儲(chǔ)器)的IC卡正在實(shí)用化。
一般地,現(xiàn)有的閃速存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)區(qū)由塊單位構(gòu)成,在實(shí)施一次寫入、改寫其數(shù)據(jù)的情況下,需要在擦除對(duì)數(shù)據(jù)進(jìn)行改寫的塊中所存儲(chǔ)的數(shù)據(jù)之后進(jìn)行再寫入。并且,針對(duì)閃速存儲(chǔ)器的數(shù)據(jù)的寫入和擦除,不能按照存儲(chǔ)在單一的閃速存儲(chǔ)器中的程序直接對(duì)該閃速存儲(chǔ)器本身實(shí)施數(shù)據(jù)的寫入和數(shù)據(jù)的擦除。因此,一般來說,將針對(duì)閃速存儲(chǔ)器的包含數(shù)據(jù)的寫入命令的程序和包含數(shù)據(jù)的擦除命令的程序預(yù)先傳送給RAM等易失性存儲(chǔ)器、進(jìn)行閃速存儲(chǔ)器的數(shù)據(jù)寫入或數(shù)據(jù)擦除時(shí),根據(jù)存儲(chǔ)在上述易失性存儲(chǔ)器中的寫入命令或擦除命令,對(duì)閃速存儲(chǔ)器執(zhí)行寫入和擦除。
根據(jù)附圖對(duì)現(xiàn)有技術(shù)一般使用的針對(duì)閃速存儲(chǔ)器的數(shù)據(jù)寫入以及擦除技術(shù)的一例進(jìn)行說明。
圖1示出了一般的IC卡系統(tǒng)的結(jié)構(gòu)。IC卡6至少由1個(gè)CPU1、非易失性存儲(chǔ)器2、易失性存儲(chǔ)器3和通信接口4構(gòu)成,通過通信接口4與終端裝置5進(jìn)行指令交換,由此,進(jìn)行工作。
CPU1按照存儲(chǔ)在非易失性存儲(chǔ)器2中的控制程序?qū)C卡6的各結(jié)構(gòu)要素進(jìn)行控制。例如,IC卡6通過通信接口4從終端裝置5接收到對(duì)非易失性存儲(chǔ)器2寫入數(shù)據(jù)的指令時(shí),CPU1按照寫入到非易失性存儲(chǔ)器2中的控制程序,執(zhí)行針對(duì)非易失性存儲(chǔ)器2的寫入工作,若寫入工作結(jié)束,則通過通信接口4將指令的執(zhí)行結(jié)果發(fā)送給終端裝置5。
如圖2(a)所示,非易失性存儲(chǔ)器2由塊1~塊N構(gòu)成。非易失性存儲(chǔ)器2配置為CPU1可訪問的地址空間,在塊1中預(yù)先存儲(chǔ)有IC卡6的控制程序??刂瞥绦蛴蒀PU1可執(zhí)行的命令組構(gòu)成,包含用于對(duì)非易失性存儲(chǔ)器2寫入數(shù)據(jù)的寫入程序以及用于擦除非易失性存儲(chǔ)器2的數(shù)據(jù)的擦除程序。在此處,在控制程序中還包含用于對(duì)IC卡6進(jìn)行初始化工作的初始化程序。塊2~N存儲(chǔ)利用IC卡6服務(wù)用的應(yīng)用程序或各種數(shù)據(jù)。
如圖2(b)所示,易失性存儲(chǔ)器3配置為CPU1可訪問的地址空間,由以下區(qū)域構(gòu)成對(duì)寫入子程序進(jìn)行存儲(chǔ)的區(qū)域,該寫入子程序包含針對(duì)非易失性存儲(chǔ)器2的寫入命令;對(duì)擦除子程序進(jìn)行存儲(chǔ)的區(qū)域,該擦除子程序包含非易失性存儲(chǔ)器2的擦除命令;以及其它作業(yè)區(qū)域等。
然后,根據(jù)圖3至圖7對(duì)CPU1所執(zhí)行的控制程序的工作進(jìn)行說明。
圖3是表示存儲(chǔ)在非易失性存儲(chǔ)器2中的控制程序開始執(zhí)行時(shí)初始化程序的工作的流程圖。CPU1在控制程序開始執(zhí)行后(步驟S001),執(zhí)行非易失性存儲(chǔ)器2的初始化程序,將針對(duì)非易失性存儲(chǔ)器2的寫入子程序傳送到易失性存儲(chǔ)器3(步驟S002),將非易失性存儲(chǔ)器2的擦除子程序傳送到易失性存儲(chǔ)器3(步驟S003)。
然后,根據(jù)圖4和圖5的流程圖說明對(duì)非易失性存儲(chǔ)器2的數(shù)據(jù)寫入。
圖4示出了存儲(chǔ)在非易失性存儲(chǔ)器2內(nèi)的控制程序中所包含的針對(duì)非易失性存儲(chǔ)器2的寫入程序的工作。CPU1按照非易失性存儲(chǔ)器2上的寫入程序,首先將存儲(chǔ)有寫入源數(shù)據(jù)的區(qū)域的起始地址設(shè)定為變量SRC(步驟S101),將寫入目的地的非易失性存儲(chǔ)器2上的地址設(shè)定為變量DST(步驟S102),將寫入數(shù)據(jù)數(shù)目N設(shè)定為變量CNT(步驟S103)。然后,CPU1調(diào)用圖5所示的易失性存儲(chǔ)器3上的寫入子程序(步驟S104)。CPU1在執(zhí)行存儲(chǔ)于易失性存儲(chǔ)器3中的程序后,結(jié)束非易失性存儲(chǔ)器2的寫入程序(步驟S105)。
圖5示出了在圖3的步驟S002中傳送給易失性存儲(chǔ)器3的、針對(duì)非易失性存儲(chǔ)器2的寫入子程序的工作。首先,CPU1確認(rèn)寫入數(shù)據(jù)數(shù)目CNT(步驟S201)。在步驟S201中,在寫入數(shù)據(jù)數(shù)目CNT為0以外的情況下,從地址SRC所表示的寫入源數(shù)據(jù)的存儲(chǔ)區(qū)取得寫入數(shù)據(jù)(步驟S202)。接著,對(duì)非易失性存儲(chǔ)器2的寫入目的地地址DST執(zhí)行寫入命令,開始寫入數(shù)據(jù)(步驟S203)。若確認(rèn)數(shù)據(jù)的寫入完成(在步驟S204中為“是”的分支),為了準(zhǔn)備下一個(gè)數(shù)據(jù)的寫入,CPU1將地址SRC以及DST的值更新為下一個(gè)地址的值。在此處,例如,使地址SRC以及DST的值都增加1(步驟S205)。并且,使寫入數(shù)據(jù)數(shù)目CNT減少1(步驟S206),轉(zhuǎn)到步驟S201,繼續(xù)進(jìn)行以后的處理。在步驟S201中,CPU1判定為寫入數(shù)據(jù)數(shù)目CNT為0、全部數(shù)據(jù)的寫入已結(jié)束時(shí),結(jié)束寫入子程序(步驟S207)。
根據(jù)圖6和圖7的流程圖說明非易失性存儲(chǔ)器2的數(shù)據(jù)擦除。圖6示出了存儲(chǔ)在非易失性存儲(chǔ)器2內(nèi)的控制程序中所包含的擦除程序的工作。CPU1按照非易失性存儲(chǔ)器2上的擦除程序,首先將非易失性存儲(chǔ)器2上的擦除目的地的地址設(shè)定為變量DST(步驟S301)。然后,CPU1調(diào)用圖7所示的易失性存儲(chǔ)器3上的擦除子程序(步驟S302)。CPU1在執(zhí)行存儲(chǔ)于易失性存儲(chǔ)器3中的程序后,結(jié)束非易失性存儲(chǔ)器2的擦除程序(步驟S303)。
圖7示出了在圖3的步驟S003中預(yù)先傳送給易失性存儲(chǔ)器3的、非易失性存儲(chǔ)器2的擦除子程序的工作。CPU1對(duì)非易失性存儲(chǔ)器2的擦除目的地的地址DST執(zhí)行數(shù)據(jù)擦除命令,開始數(shù)據(jù)的擦除(步驟S401)。然后,若確認(rèn)數(shù)據(jù)的擦除完成(在步驟S402中為“是”的分支),則CPU1結(jié)束擦除子程序(步驟S403)。
此外,希望出現(xiàn)以下技術(shù)IC卡在將個(gè)人信息等寫入到非易失性存儲(chǔ)器中并加以利用的性質(zhì)方面優(yōu)良,尤其是在IC卡的CPU由于某種原因而運(yùn)行失控的情況下能防止針對(duì)裝載于IC卡上的非易失性存儲(chǔ)器的數(shù)據(jù)誤寫入或數(shù)據(jù)誤消失。
然而,在上述現(xiàn)有技術(shù)中,在CPU由于某種原因而誤工作,錯(cuò)誤地分支到存儲(chǔ)有寫入子程序以及擦除子程序的易失性存儲(chǔ)器的地址的情況下,由于未執(zhí)行位于非易失性存儲(chǔ)器內(nèi)的正常的寫入程序以及擦除程序的正常過程,所以,會(huì)產(chǎn)生非本意的針對(duì)閃速存儲(chǔ)器的數(shù)據(jù)寫入或擦除動(dòng)作,在最壞的情況下,存在導(dǎo)致IC卡發(fā)生故障的可能性。
與這樣的現(xiàn)有技術(shù)相對(duì),作為防止針對(duì)非易失性存儲(chǔ)器的誤寫入的技術(shù),例如,存在如下的存儲(chǔ)器裝置(例如,參照專利文獻(xiàn)1)具有非易失性存儲(chǔ)器、控制針對(duì)該非易失性存儲(chǔ)器的寫入以及讀出的單元、監(jiān)視電源電壓的單元,在對(duì)該非易失性存儲(chǔ)器進(jìn)行寫入時(shí),監(jiān)視該電源電壓的單元檢測(cè)出電源電壓降低時(shí)禁止寫入。該存儲(chǔ)器裝置不設(shè)置外置電路即可防止針對(duì)非易失性存儲(chǔ)器的數(shù)據(jù)誤寫入。另外,還具有根據(jù)該寫入禁止而存儲(chǔ)寫入失敗了的單元、和在針對(duì)上述非易失性存儲(chǔ)器的寫入結(jié)束后讀出該存儲(chǔ)單元內(nèi)容的單元,可確認(rèn)針對(duì)非易失性存儲(chǔ)器的寫入是否正常結(jié)束。
另外,作為防止因程序處理的運(yùn)行失控而進(jìn)行非易失性存儲(chǔ)器的數(shù)據(jù)誤寫入的技術(shù),例如,存在如下的數(shù)據(jù)保護(hù)裝置(例如,參照專利文獻(xiàn)2)在對(duì)單片微型計(jì)算機(jī)進(jìn)行初始化時(shí),在將指定數(shù)據(jù)預(yù)先存入RAM的指定地址、確認(rèn)具有易失特性的RAM的指定地址的內(nèi)容與初始化時(shí)刻的內(nèi)容相同以后,移至閃速存儲(chǔ)器的數(shù)據(jù)寫入工作。該數(shù)據(jù)保護(hù)裝置在單片微型計(jì)算機(jī)的程序處理運(yùn)行失控時(shí),因?yàn)镽AM的指定地址的內(nèi)容與在初始化時(shí)刻本意生成的內(nèi)容不同,所以,即使伴隨程序處理的運(yùn)行失控而錯(cuò)誤地執(zhí)行寫入用的子例行程序(subroutineprogram)命令,也可防止閃速存儲(chǔ)器的誤寫入。
專利文獻(xiàn)1特開平8-22422號(hào)公報(bào)專利文獻(xiàn)2特開2000-112826號(hào)公報(bào)然而,對(duì)于專利文獻(xiàn)1的存儲(chǔ)器裝置來說,對(duì)電源電壓進(jìn)行監(jiān)視,只有在檢測(cè)出電源電壓降低時(shí)才禁止針對(duì)非易失性存儲(chǔ)器的寫入,所以,在電源電壓正常而CPU運(yùn)行失控的情況下,仍無法防止針對(duì)非易失性存儲(chǔ)器的誤寫入。另外,對(duì)于專利文獻(xiàn)2的數(shù)據(jù)保護(hù)裝置來說,由于需要對(duì)初始化時(shí)刻的RAM的內(nèi)容進(jìn)行存儲(chǔ)的單元,所以,為了實(shí)現(xiàn)該數(shù)據(jù)保護(hù)裝置,需要設(shè)置外置電路,難以用低成本實(shí)現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明是鑒于上述問題而進(jìn)行的,其目的在于提供一種技術(shù),其中即使CPU等運(yùn)算處理裝置誤工作而分支到存儲(chǔ)有寫入命令或擦除命令的易失性存儲(chǔ)器的預(yù)定地址等時(shí),也無需設(shè)置外置電路而以低成本防止針對(duì)非易失性存儲(chǔ)器的誤寫入以及誤擦除。
為達(dá)到上述目的,本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)包括非易失性存儲(chǔ)器;易失性存儲(chǔ)器,對(duì)程序進(jìn)行存儲(chǔ),該程序包含對(duì)上述非易失性存儲(chǔ)器的內(nèi)容進(jìn)行改寫的操作命令;運(yùn)算處理裝置,對(duì)上述非易失性存儲(chǔ)器和上述易失性存儲(chǔ)器進(jìn)行控制,其中,具有第一無效命令寫入單元,在初始化時(shí),向上述易失性存儲(chǔ)器的預(yù)定地址寫入無效命令以代替上述操作命令,該易失性存儲(chǔ)器的預(yù)定地址用于存儲(chǔ)針對(duì)上述非易失性存儲(chǔ)器的上述操作命令;控制單元,在上述非易失性存儲(chǔ)器的操作開始前,向存儲(chǔ)有上述無效命令的上述易失性存儲(chǔ)器的上述預(yù)定地址寫入上述操作命令,根據(jù)上述操作命令對(duì)上述非易失性存儲(chǔ)器進(jìn)行操作;第二無效命令寫入單元,在上述非易失性存儲(chǔ)器的操作執(zhí)行后,向上述易失性存儲(chǔ)器的上述預(yù)定地址寫入無效命令。
按照本特征,即使運(yùn)算處理裝置誤工作而不正常地分支到存儲(chǔ)有程序的易失性存儲(chǔ)器的地址的情況下,由于操作命令被置換為無效命令并存儲(chǔ)起來,所以,執(zhí)行無效命令,上述程序包含對(duì)非易失性存儲(chǔ)器進(jìn)行操作的命令。因此,不執(zhí)行針對(duì)非易失性存儲(chǔ)器的操作,可防止非易失性存儲(chǔ)器的誤操作。
上述本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)的特征在于,上述程序包含針對(duì)上述非易失性存儲(chǔ)器的寫入命令,上述第一無效命令寫入單元以及第二無效命令寫入單元向存儲(chǔ)上述寫入命令的上述易失性存儲(chǔ)器的預(yù)定地址寫入上述無效命令。
按照本特征,即使運(yùn)算處理裝置誤工作而不正常地分支到存儲(chǔ)針對(duì)非易失性存儲(chǔ)器的寫入命令的易失性存儲(chǔ)器的地址時(shí),因?yàn)樵谝资源鎯?chǔ)器的上述地址中存儲(chǔ)的是無效命令而不是針對(duì)非易失性存儲(chǔ)器的寫入命令,所以,不執(zhí)行針對(duì)非易失性存儲(chǔ)器的寫入,可防止針對(duì)非易失性存儲(chǔ)器的誤寫入。
具有上述任意特征的本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)的特征在于,上述程序包含針對(duì)上述非易失性存儲(chǔ)器的擦除命令,上述第一無效命令寫入單元以及第二無效命令寫入單元向存儲(chǔ)上述擦除命令的上述易失性存儲(chǔ)器的預(yù)定地址寫入上述無效命令。
按照本特征,即使運(yùn)算處理裝置誤工作而不正常地分支到存儲(chǔ)非易失性存儲(chǔ)器的擦除命令的易失性存儲(chǔ)器的地址時(shí),由于易失性存儲(chǔ)器的上述地址存儲(chǔ)的是無效命令而不是非易失性存儲(chǔ)器的擦除命令,所以,不執(zhí)行非易失性存儲(chǔ)器的擦除,可防止非易失性存儲(chǔ)器的誤擦除。
另外,具有上述任意特征的本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)的特征在于,上述無效命令是使上述運(yùn)算處理裝置復(fù)位的命令。
按照本特征,在運(yùn)算處理裝置誤工作而不正常地分支到存儲(chǔ)有非易失性存儲(chǔ)器的操作命令的易失性存儲(chǔ)器的地址時(shí),由于在易失性存儲(chǔ)器的上述地址中存儲(chǔ)的是運(yùn)算處理裝置的復(fù)位命令而不是非易失性存儲(chǔ)器的操作命令,所以,執(zhí)行該復(fù)位命令。從而,由于不執(zhí)行非易失性存儲(chǔ)器的操作就使運(yùn)算處理裝置復(fù)位,所以,可防止非易失性存儲(chǔ)器的誤工作。
此外,具有上述任意特征的本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)的特征在于,上述無效命令是上述運(yùn)算處理裝置中的無操作命令。
按照本特征,在運(yùn)算處理裝置誤工作而不正常地分支到存儲(chǔ)有非易失性存儲(chǔ)器的操作命令的易失性存儲(chǔ)器的地址時(shí),由于在易失性存儲(chǔ)器的上述地址中存儲(chǔ)的是運(yùn)算處理裝置的無操作命令而不是非易失性存儲(chǔ)器的操作命令,所以,不執(zhí)行非易失性存儲(chǔ)器的操作。由此,可防止非易失性存儲(chǔ)器的誤工作。
此外,具有上述任意特征的本發(fā)明的其他非易失性存儲(chǔ)器系統(tǒng)的特征在于,上述無效命令是上述運(yùn)算處理裝置中的未定義命令。
按照本特征,在運(yùn)算處理單元誤工作而不正常地分支到存儲(chǔ)有非易失性存儲(chǔ)器的操作命令的易失性存儲(chǔ)器的地址時(shí),由于在易失性存儲(chǔ)器的上述地址中存儲(chǔ)的是運(yùn)算處理裝置的未定義命令而不是非易失性存儲(chǔ)器的操作命令,所以,不執(zhí)行非易失性存儲(chǔ)器的操作。并且,檢測(cè)到運(yùn)算處理裝置的未定義命令執(zhí)行錯(cuò)誤,可防止非易失性存儲(chǔ)器的誤工作。
另外,本發(fā)明的非易失性存儲(chǔ)器控制程序的特征在于包含在計(jì)算機(jī)上執(zhí)行上述任意特征的本發(fā)明非易失性存儲(chǔ)器系統(tǒng)中的各單元功能的程序步驟。
按照本發(fā)明的非易失性存儲(chǔ)器控制程序,可起到本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)的全部上述作用效果,能無需設(shè)置外置電路而以低成本防止非易失性存儲(chǔ)器的誤工作。


圖1是表示IC卡系統(tǒng)的結(jié)構(gòu)的方框圖。
圖2是表示裝載于IC卡系統(tǒng)中的非易失性存儲(chǔ)器和易失性存儲(chǔ)器結(jié)構(gòu)的說明圖。
圖3是表示裝載于現(xiàn)有技術(shù)的IC卡系統(tǒng)中的非易失性存儲(chǔ)器內(nèi)所存儲(chǔ)的控制程序的初始化工作的流程圖。
圖4是表示現(xiàn)有技術(shù)的非易失性存儲(chǔ)器的控制程序工作的流程圖。
圖5是表示現(xiàn)有技術(shù)的非易失性存儲(chǔ)器的寫入子程序工作的流程圖。
圖6是表示現(xiàn)有技術(shù)的非易失性存儲(chǔ)器的控制程序工作的流程圖。
圖7是表示現(xiàn)有技術(shù)的非易失性存儲(chǔ)器的擦除子程序工作的流程圖。
圖8是表示裝載于本發(fā)明的IC卡系統(tǒng)中的非易失性存儲(chǔ)器內(nèi)所存儲(chǔ)的控制程序的初始化工作的流程圖。
圖9是表示傳送到裝載于本發(fā)明的IC卡系統(tǒng)中的易失性存儲(chǔ)器內(nèi)的寫入子程序的配置的說明圖。
圖10是表示傳送到裝載于本發(fā)明的IC卡系統(tǒng)中的易失性存儲(chǔ)器內(nèi)的擦除子程序的配置的說明圖。
圖11是表示本發(fā)明的控制程序的工作的流程圖。
圖12是表示本發(fā)明的寫入子程序的工作的流程圖。
圖13是表示本發(fā)明的控制程序的工作的流程圖。
圖14是表示本發(fā)明的擦除子程序的工作的流程圖。
圖15是表示命令置換后的本發(fā)明的易失性存儲(chǔ)器的寫入子程序的配置的圖。
圖16是表示命令置換后的本發(fā)明的易失性存儲(chǔ)器的擦除子程序的配置的圖。
具體實(shí)施例方式
然后,根據(jù)

本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)(以下,適當(dāng)?shù)胤Q為“本發(fā)明系統(tǒng)”)的一種實(shí)施方式。
本實(shí)施方式的非易失性存儲(chǔ)器系統(tǒng)應(yīng)用于IC卡系統(tǒng),所述IC卡系統(tǒng)包括非易失性存儲(chǔ)器;易失性存儲(chǔ)器,對(duì)程序進(jìn)行存儲(chǔ),該程序包含改寫上述非易失性存儲(chǔ)器的內(nèi)容的操作命令;以及運(yùn)算處理裝置,控制上述非易失性存儲(chǔ)器和上述易失性存儲(chǔ)器。上述非易失性存儲(chǔ)器系統(tǒng)構(gòu)成為由作為運(yùn)算處理裝置的一例的CPU在IC卡系統(tǒng)上所執(zhí)行的程序。
本實(shí)施方式中的IC卡系統(tǒng)具有與圖1所示的現(xiàn)有技術(shù)的IC卡系統(tǒng)的一般硬件結(jié)構(gòu)相同的硬件結(jié)構(gòu)。如圖1所示,IC卡6由CPU1、非易失性存儲(chǔ)器2、易失性存儲(chǔ)器3和通信接口4構(gòu)成,通過通信接口4與終端裝置5進(jìn)行指令的交換,由此進(jìn)行工作。
CPU1按照存儲(chǔ)在非易失性存儲(chǔ)器2中的控制程序控制IC卡6的各結(jié)構(gòu)要素。在此處,在本實(shí)施方式中,改寫非易失性存儲(chǔ)器2的內(nèi)容的操作命令是寫入命令以及擦除命令。而且,在IC卡6通過通信接口4從終端裝置5接收到改寫非易失性存儲(chǔ)器2的內(nèi)容的指令的情況下,CPU1按照寫入到非易失性存儲(chǔ)器2中的控制程序,執(zhí)行用于改寫非易失性存儲(chǔ)器2的內(nèi)容的操作,即,執(zhí)行寫入命令和擦除命令中的至少某一命令,若這些操作結(jié)束,則通過通信接口4將上述指令的執(zhí)行結(jié)果發(fā)送給終端裝置5。
如圖2(a)所示,非易失性存儲(chǔ)器2由塊1~塊N構(gòu)成。非易失性存儲(chǔ)器2配置為CPU1可訪問的地址空間,在塊1中預(yù)先存儲(chǔ)有IC卡6的控制程序??刂瞥绦蛴蒀PU1可執(zhí)行的命令組構(gòu)成,包括用于對(duì)非易失性存儲(chǔ)器2寫入數(shù)據(jù)的寫入程序和用于擦除非易失性存儲(chǔ)器2的數(shù)據(jù)的擦除程序。在本實(shí)施方式中,在控制程序中還包括用于進(jìn)行IC卡6的初始化工作的初始化程序。塊2~N存儲(chǔ)用于利用IC卡6的服務(wù)的應(yīng)用程序或各種數(shù)據(jù)。
如圖2(b)所示,易失性存儲(chǔ)器3配置為CPU1可訪問的地址空間,由如下區(qū)域構(gòu)成存儲(chǔ)寫入子程序的區(qū)域,該寫入子程序包含針對(duì)非易失性存儲(chǔ)器2的寫入命令;存儲(chǔ)擦除子程序的區(qū)域,該擦除子程序包含非易失性存儲(chǔ)器2的擦除命令;以及其它作業(yè)區(qū)域等。這些子程序預(yù)先被存儲(chǔ)在非易失性存儲(chǔ)器2中,在非易失性存儲(chǔ)器2中所存儲(chǔ)的控制程序開始執(zhí)行時(shí),在初始化程序中,將這些子程序從非易失性存儲(chǔ)器2中傳送并存儲(chǔ)到易失性存儲(chǔ)器3的預(yù)定區(qū)域。
然后,根據(jù)圖8至圖16說明CPU1所執(zhí)行的控制程序的工作。
圖8是表示存儲(chǔ)在非易失性存儲(chǔ)器2中的控制程序開始執(zhí)行時(shí)初始化程序的工作的流程圖,示出了將存儲(chǔ)在非易失性存儲(chǔ)器2中的寫入子程序和擦除子程序傳送到易失性存儲(chǔ)器3時(shí)的工作。
CPU1在非易失性存儲(chǔ)器2的控制程序開始執(zhí)行后(步驟S501),首先執(zhí)行非易失性存儲(chǔ)器2的初始化程序,將存儲(chǔ)在非易失性存儲(chǔ)器2中針對(duì)非易失性存儲(chǔ)器2的寫入子程序傳送并存儲(chǔ)到易失性存儲(chǔ)器3的預(yù)定區(qū)域(步驟S502)。此時(shí),在應(yīng)存儲(chǔ)針對(duì)非易失性存儲(chǔ)器2的寫入命令的易失性存儲(chǔ)器3上的地址中,寫入無效命令,而不是寫入寫入命令。作為寫入的無效命令,在此處,寫入CPU1的軟件復(fù)位命令。然后,將存儲(chǔ)在非易失性存儲(chǔ)器2中的非易失性存儲(chǔ)器2的擦除子程序傳送并存儲(chǔ)到易失性存儲(chǔ)器3的預(yù)定區(qū)域(步驟S503)。此時(shí),在應(yīng)存儲(chǔ)非易失性存儲(chǔ)器2的擦除命令的易失性存儲(chǔ)器3上的地址中,寫入無效命令,而不是寫入擦除命令。作為寫入的無效命令,在此處,寫入CPU1的軟件復(fù)位命令。
在此處,圖9示出了在步驟S502中傳送并存儲(chǔ)到易失性存儲(chǔ)器3的寫入子程序的配置。該寫入子程序被配置為可從存儲(chǔ)在非易失性存儲(chǔ)器2中的寫入程序調(diào)用的子例行程序(subroutine)。在該時(shí)刻,在應(yīng)存儲(chǔ)針對(duì)非易失性存儲(chǔ)器2的寫入命令的易失性存儲(chǔ)器3的地址,配置CPU1的軟件復(fù)位命令作為無效命令。
圖10示出了在步驟S503中傳送并存儲(chǔ)到易失性存儲(chǔ)器3的、非易失性存儲(chǔ)器2的擦除子程序的配置。擦除子程序被配置為可從存儲(chǔ)在非易失性存儲(chǔ)器2中的擦除程序調(diào)用的子例行程序。在該時(shí)刻,在應(yīng)存儲(chǔ)非易失性存儲(chǔ)器2的擦除命令的易失性存儲(chǔ)器3的地址,配置CPU1的軟件復(fù)位命令作為無效命令。
根據(jù)圖11和圖12的流程圖說明針對(duì)非易失性存儲(chǔ)器2的數(shù)據(jù)寫入。
圖11示出了存儲(chǔ)在非易失性存儲(chǔ)器2內(nèi)的控制程序中所包含的寫入程序的工作。CPU1按照非易失性存儲(chǔ)器2上的寫入程序,首先將存儲(chǔ)有寫入源數(shù)據(jù)的區(qū)域的起始地址設(shè)定為變量SRC(步驟S601)。然后,將寫入目的地的非易失性存儲(chǔ)器2上的地址設(shè)定為變量DST(步驟S602),將寫入數(shù)據(jù)數(shù)目N設(shè)定為變量CNT(步驟S603)。
然后,CPU1將已寫入到易失性存儲(chǔ)器3的地址上的作為無效命令的CPU1的軟件復(fù)位命令置換為正常的寫入命令(步驟S604),所述易失性存儲(chǔ)器3的地址是應(yīng)存儲(chǔ)寫入命令的地址。在此處,圖15圖示了在步驟S604中進(jìn)行命令置換后的、易失性存儲(chǔ)器3上的寫入子程序的配置。在該時(shí)刻,在易失性存儲(chǔ)器3的應(yīng)存儲(chǔ)寫入命令的地址上配置正常的寫入命令。在命令置換后,CPU1調(diào)用圖12所示的易失性存儲(chǔ)器3上的寫入子程序(步驟S605),執(zhí)行存儲(chǔ)于易失性存儲(chǔ)器3中的寫入子程序。CPU1在寫入子程序的執(zhí)行結(jié)束后,將寫入到易失性存儲(chǔ)器3中的正常的寫入命令置換為作為無效命令的CPU1的軟件復(fù)位命令(步驟S606),結(jié)束寫入子程序(步驟S607)。
圖12示出了在步驟S502中預(yù)先傳送給易失性存儲(chǔ)器3的寫入子程序的工作。首先,CPU1確認(rèn)寫入數(shù)據(jù)數(shù)目CNT(步驟S701)。在步驟S701中,在寫入數(shù)據(jù)數(shù)目CNT為0以外的情況下,從地址SRC表示的寫入源數(shù)據(jù)的存儲(chǔ)區(qū)取得寫入數(shù)據(jù)(步驟S702)。接著,對(duì)非易失性存儲(chǔ)器2的寫入目的地的地址DST執(zhí)行寫入命令,開始數(shù)據(jù)的寫入(步驟S703)。若確認(rèn)數(shù)據(jù)的寫入完成(在步驟S704中為“是”的分支),為了準(zhǔn)備下一個(gè)數(shù)據(jù)的寫入,CPU1將地址SRC和地址DST的值更新為下一個(gè)地址的值。在本實(shí)施方式中,使地址SRC和地址DST的值都增加1(步驟S705)。并且,使寫入數(shù)據(jù)數(shù)目CNT減少1(步驟S706),轉(zhuǎn)到步驟S701,繼續(xù)以后的處理。在步驟S701中,在CPU1判定為寫入數(shù)據(jù)數(shù)目CNT為0、全部寫入已結(jié)束時(shí),結(jié)束寫入子程序(步驟S707)。
然后,說明CPU1由于某種原因而誤工作、程序錯(cuò)誤地分支到包括存儲(chǔ)有寫入子程序的區(qū)域的易失性存儲(chǔ)器3上的區(qū)域的情況。
此時(shí),非易失性存儲(chǔ)器2上的寫入程序未被正確地執(zhí)行,圖11所示的寫入程序的步驟S604中的命令置換未被執(zhí)行,分支到易失性存儲(chǔ)器3上的任意區(qū)域。此時(shí)的易失性存儲(chǔ)器3上的寫入子程序的結(jié)構(gòu)為圖9所示的結(jié)構(gòu),成為在應(yīng)存儲(chǔ)寫入命令的易失性存儲(chǔ)器3的地址中配置有作為無效命令的CPU1的軟件復(fù)位命令的狀態(tài)。因此,在圖12所示的流程圖中,在程序因CPU1的運(yùn)行失控分支到易失性存儲(chǔ)器3時(shí),不執(zhí)行步驟S703的寫入命令,實(shí)際上執(zhí)行步驟S703’的無效命令。在此處,由于寫入CPU1的軟件復(fù)位命令作為無效命令,所以,發(fā)生復(fù)位,不執(zhí)行針對(duì)非易失性存儲(chǔ)器2的寫入。由此,可防止針對(duì)非易失性存儲(chǔ)器2的誤寫入。
根據(jù)圖13和圖14的流程圖說明非易失性存儲(chǔ)器2的數(shù)據(jù)擦除。圖13示出了存儲(chǔ)在非易失性存儲(chǔ)器2內(nèi)的控制程序中所包含的擦除程序的工作。CPU1按照非易失性存儲(chǔ)器2上的擦除程序,首先將非易失性存儲(chǔ)器2上的擦除目的地的地址設(shè)定為變量DST(步驟S801)。
接著,CPU1將已寫入到易失性存儲(chǔ)器3的地址上的作為無效命令的CPU1的軟件復(fù)位命令置換為正常的擦除命令(步驟S802),該易失性存儲(chǔ)器3的地址是應(yīng)存儲(chǔ)擦除命令的地址。在此處,圖16示出了在步驟S802中進(jìn)行了命令置換后的、易失性存儲(chǔ)器3上的擦除子程序的配置。在該時(shí)刻,在易失性存儲(chǔ)器3的應(yīng)存儲(chǔ)擦除命令的地址配置正常的擦除命令。在命令置換后,CPU1調(diào)用圖14所示的易失性存儲(chǔ)器3上的擦除子程序(步驟S803),執(zhí)行存儲(chǔ)于易失性存儲(chǔ)器3中的擦除子程序。CPU1在擦除子程序的執(zhí)行結(jié)束后,將寫入到易失性存儲(chǔ)器3中的正常的擦除命令置換為作為無效命令的CPU1的軟件復(fù)位命令(步驟S804),結(jié)束擦除子程序(步驟S805)。
圖14示出了在步驟S503中預(yù)先傳送給易失性存儲(chǔ)器3的擦除子程序的工作。CPU1對(duì)非易失性存儲(chǔ)器2的擦除目的地的地址DST執(zhí)行數(shù)據(jù)擦除命令,開始數(shù)據(jù)的擦除(步驟S901)。接著,若確認(rèn)數(shù)據(jù)的擦除完成(在步驟S902中為“是”的分支),則CPU1結(jié)束擦除子程序(步驟S903)。
然后,說明CPU1由于某種原因而誤工作、程序錯(cuò)誤地分支到包含存儲(chǔ)有擦除子程序的區(qū)域的易失性存儲(chǔ)器3上的區(qū)域的情況。
此時(shí),圖13所示的擦除程序的步驟S802中的命令置換未被執(zhí)行,分支到易失性存儲(chǔ)器3上的任意區(qū)域。此時(shí)的易失性存儲(chǔ)器3上的擦除子程序的結(jié)構(gòu)為圖10所示的結(jié)構(gòu),成為在應(yīng)存儲(chǔ)擦除命令的易失性存儲(chǔ)器3的地址配置有作為無效命令的CPU1的軟件復(fù)位命令的狀態(tài)。因此,在圖14所示的流程圖中,在程序因CPU1的運(yùn)行失控而分支到易失性存儲(chǔ)器3的情況下,不執(zhí)行步驟S901的擦除命令,實(shí)際上執(zhí)行步驟S901’的無效命令。在此處,由于寫入CPU1的軟件復(fù)位命令作為無效命令,所以,發(fā)生復(fù)位,不執(zhí)行非易失性存儲(chǔ)器2上的數(shù)據(jù)的擦除。由此,可防止非易失性存儲(chǔ)器2的誤擦除。
其它實(shí)施方式在上述實(shí)施方式中,對(duì)在圖8的步驟S502以及步驟S503、圖11的步驟S606、圖13的步驟S804中應(yīng)用CPU1的軟件復(fù)位命令作為在易失性存儲(chǔ)器3上的應(yīng)存儲(chǔ)寫入命令以及擦除命令的地址中寫入的無效命令的例子進(jìn)行了說明,但應(yīng)用CPU1可執(zhí)行的其它命令也是合適的。作為可執(zhí)行的其它命令,有如CPU1的NOP命令這樣的無操作命令、CPU1的未定義命令等。
對(duì)使用無操作命令作為無效命令的情況進(jìn)行說明。在CPU1運(yùn)行失控時(shí),在分支到易失性存儲(chǔ)器3的寫入子程序的區(qū)域時(shí),在圖12的步驟S703’中不對(duì)非易失性存儲(chǔ)器2進(jìn)行操作而進(jìn)入下一步驟。同樣地,在CPU1運(yùn)行失控時(shí),在分支到易失性存儲(chǔ)器3的擦除子程序的區(qū)域時(shí),在圖14的步驟S901’中不對(duì)非易失性存儲(chǔ)器2進(jìn)行操作而進(jìn)入下一步驟。從而,在使用無操作命令作為無效命令的情況下,與用軟件復(fù)位命令作為無效命令的情況相同,也可防止針對(duì)非易失性存儲(chǔ)器2的誤寫入和誤擦除。
對(duì)使用CPU1的未定義命令作為無效命令的情況進(jìn)行說明。在CPU1運(yùn)行失控時(shí),在分支到易失性存儲(chǔ)器3的寫入子程序的區(qū)域時(shí),在圖12的步驟S703’中不對(duì)非易失性存儲(chǔ)器2進(jìn)行操作,而檢測(cè)出未定義命令執(zhí)行錯(cuò)誤。同樣地,在CPU1運(yùn)行失控時(shí),在分支到易失性存儲(chǔ)器3的擦除子程序的區(qū)域時(shí),在圖14的步驟S901’中不對(duì)非易失性存儲(chǔ)器2進(jìn)行操作而檢測(cè)出未定義命令執(zhí)行錯(cuò)誤。從而,在使用未定義命令作為無效命令的情況下,與使用軟件復(fù)位命令作為無效命令的情形相同,也可防止針對(duì)非易失性存儲(chǔ)器2的誤寫入和誤擦除。
并且,本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)也可應(yīng)用于如下系統(tǒng)非易失性存儲(chǔ)器、易失性存儲(chǔ)器和運(yùn)算處理裝置中的任意一個(gè)為多個(gè)的系統(tǒng)。另外,還適合應(yīng)用于這些結(jié)構(gòu)裝載在多個(gè)系統(tǒng)上的情況。
工業(yè)上的可利用性本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)可應(yīng)用于包括如下部分的非易失性存儲(chǔ)器系統(tǒng)非易失性存儲(chǔ)器;易失性存儲(chǔ)器,對(duì)程序進(jìn)行存儲(chǔ),該程序包含對(duì)上述非易失性存儲(chǔ)器的內(nèi)容進(jìn)行改寫的操作命令;運(yùn)算處理裝置,控制上述非易失性存儲(chǔ)器和上述易失性存儲(chǔ)器。
權(quán)利要求
1.一種非易失性存儲(chǔ)器系統(tǒng),包括非易失性存儲(chǔ)器;易失性存儲(chǔ)器,對(duì)程序進(jìn)行存儲(chǔ),該程序包含對(duì)上述非易失性存儲(chǔ)器的內(nèi)容進(jìn)行改寫的操作命令;以及運(yùn)算處理裝置,對(duì)上述非易失性存儲(chǔ)器和上述易失性存儲(chǔ)器進(jìn)行控制,其特征在于,具有第一無效命令寫入單元,在初始化時(shí),在上述易失性存儲(chǔ)器的預(yù)定地址寫入無效命令以代替上述操作命令,該易失性存儲(chǔ)器的預(yù)定地址用于存儲(chǔ)針對(duì)上述非易失性存儲(chǔ)器的上述操作命令;控制單元,在上述非易失性存儲(chǔ)器的操作開始前,向存儲(chǔ)有上述無效命令的上述易失性存儲(chǔ)器的上述預(yù)定地址寫入上述操作命令,根據(jù)上述操作命令對(duì)上述非易失性存儲(chǔ)器進(jìn)行操作;以及第二無效命令寫入單元,在上述非易失性存儲(chǔ)器的操作執(zhí)行后,向上述易失性存儲(chǔ)器的上述預(yù)定地址寫入無效命令。
2.如權(quán)利要求1的非易失性存儲(chǔ)器系統(tǒng),其特征在于,上述程序包含針對(duì)上述非易失性存儲(chǔ)器的寫入命令,上述第一無效命令寫入單元以及上述第二無效命令寫入單元向存儲(chǔ)上述寫入命令的上述易失性存儲(chǔ)器的預(yù)定地址寫入上述無效命令。
3.如權(quán)利要求1或2的非易失性存儲(chǔ)器系統(tǒng),其特征在于,上述程序包含針對(duì)上述非易失性存儲(chǔ)器的擦除命令,上述第一無效命令寫入單元以及上述第二無效命令寫入單元向存儲(chǔ)上述擦除命令的上述易失性存儲(chǔ)器的預(yù)定地址寫入上述無效命令。
4.如權(quán)利要求1或2的非易失性存儲(chǔ)器系統(tǒng),其特征在于,上述無效命令是使上述運(yùn)算處理裝置復(fù)位的命令。
5.如權(quán)利要求1或2的非易失性存儲(chǔ)器系統(tǒng),其特征在于,上述無效命令是上述運(yùn)算處理裝置中的無操作命令。
6.如權(quán)利要求1或2的非易失性存儲(chǔ)器系統(tǒng),其特征在于,上述無效命令是上述運(yùn)算處理裝置中的未定義命令。
7.一種非易失性存儲(chǔ)器系統(tǒng)的控制程序,由權(quán)利要求1的非易失性存儲(chǔ)器系統(tǒng)的上述運(yùn)算處理裝置執(zhí)行,其特征在于,具有下述步驟第一無效命令寫入步驟,在初始化時(shí),向上述易失性存儲(chǔ)器的預(yù)定地址寫入無效命令以代替上述操作命令,該易失性存儲(chǔ)器的預(yù)定地址用于存儲(chǔ)針對(duì)上述非易失性存儲(chǔ)器的上述操作命令;控制步驟,在上述非易失性存儲(chǔ)器的操作開始前,向存儲(chǔ)有上述無效命令的上述易失性存儲(chǔ)器的上述預(yù)定地址寫入上述操作命令,根據(jù)上述操作命令對(duì)上述非易失性存儲(chǔ)器進(jìn)行操作;以及第二無效命令寫入步驟,在上述非易失性存儲(chǔ)器的操作執(zhí)行后,向上述易失性存儲(chǔ)器的上述預(yù)定地址寫入無效命令。
全文摘要
本發(fā)明提供一種在運(yùn)算處理裝置誤工作等情況下無需設(shè)置外置電路而以低成本防止針對(duì)非易失性存儲(chǔ)器的誤寫入和誤擦除的技術(shù)。本發(fā)明的非易失性存儲(chǔ)器系統(tǒng)包括非易失性存儲(chǔ)器;易失性存儲(chǔ)器,對(duì)程序進(jìn)行存儲(chǔ),該程序包含對(duì)非易失性存儲(chǔ)器的內(nèi)容進(jìn)行改寫的操作命令;運(yùn)算處理單元,控制非易失性存儲(chǔ)器和易失性存儲(chǔ)器;第一無效命令寫入單元,在初始化時(shí),在存儲(chǔ)針對(duì)非易失性存儲(chǔ)器的操作命令用的易失性存儲(chǔ)器的預(yù)定地址寫入無效命令以代替操作命令;控制裝置,在非易失性存儲(chǔ)器的操作開始前,在存儲(chǔ)有無效命令的易失性存儲(chǔ)器的預(yù)定地址寫入操作命令,根據(jù)操作命令來操作非易失性存儲(chǔ)器;以及第二無效命令寫入單元,在非易失性存儲(chǔ)器的操作執(zhí)行后,在易失性存儲(chǔ)器的預(yù)定地址寫入無效命令。
文檔編號(hào)G06F12/16GK101057226SQ20058003848
公開日2007年10月17日 申請(qǐng)日期2005年10月27日 優(yōu)先權(quán)日2004年11月10日
發(fā)明者小川龍一 申請(qǐng)人:夏普株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1