两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

文檔序號:6393897閱讀:137來源:國知局
專利名稱:非易失性存儲器的存取控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種非易失性存儲器的存取控制系統(tǒng)。
背景技術(shù)
根據(jù)一現(xiàn)有技術(shù),通過在用于存儲會計信息、余額信息等的非易失性存儲器中設(shè)置特定地址的寫入次數(shù)限制電路,以此防止IC卡的不正當(dāng)使用(參照專利文獻(xiàn)1)。
根據(jù)另一現(xiàn)有技術(shù),為了在非易失性存儲器中讓數(shù)據(jù)和程序混合存在,而在特定地址區(qū)域可進(jìn)行數(shù)據(jù)的改寫,對用于程序存儲的其他地址區(qū)域在硬件上禁止改寫(參照專利文獻(xiàn)2)。
例如,在移動電話機(jī)中接受音樂、電影等收費內(nèi)容的配送時,需要用戶ID和口令這樣的個人認(rèn)證信息。為了將密碼化的內(nèi)容解密,需要密鑰信息。將這些信息存儲到非易失性存儲器中使用時,防止被竄改的安全對策是非常重要的。
但是,在上述那樣的在非易失性存儲器中設(shè)置特定地址的寫入次數(shù)限制電路的現(xiàn)有技術(shù)中,當(dāng)系統(tǒng)的制作者寫入防止竄改信息失敗時,就有可能出現(xiàn)不能再寫入的情況。
專利文獻(xiàn)1特開平8-329208號公報;專利文件2特開平11-110287號公報。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種系統(tǒng)制作者可以自由寫入需要防止竄改的信息,并且可以可靠防止該信息被竄改的非易失性存儲器的存取控制系統(tǒng)。
為了達(dá)到上述目的,在本發(fā)明中,按照在引導(dǎo)ROM中存儲的系統(tǒng)初始化用的程序,CPU在非易失性存儲器上設(shè)置禁止改寫區(qū)域,并且根據(jù)在該禁止改寫區(qū)域上設(shè)置的已寫入標(biāo)志,存取控制電路進(jìn)行允許改寫或禁止改寫的控制。
具體講,本發(fā)明采用包括非易失性存儲器、存儲系統(tǒng)初始化用程序的引導(dǎo)ROM、向非易失性存儲器發(fā)出指令的CPU、和接收來自該CPU的指令并控制對非易失性存儲器的存取的存取控制電路的構(gòu)成;CPU在每次系統(tǒng)電源啟動時,通過執(zhí)行在引導(dǎo)ROM中存儲的系統(tǒng)初始化用程序,按照在非易失性存儲器上只設(shè)置禁止改寫區(qū)域一次,在該禁止改寫區(qū)域上只設(shè)定已寫入標(biāo)志一次那樣進(jìn)行動作;存取控制電路,在沒有檢驗已寫入標(biāo)志的狀態(tài)之前,非易失性存儲器的任何寫入都不被許可,在檢驗了已寫入標(biāo)志的狀態(tài)之后,如果該已寫入標(biāo)志沒有表示禁止改寫,則允許對禁止改寫區(qū)域進(jìn)行任何次數(shù)的寫入,在向該已寫入標(biāo)志設(shè)定了禁止改寫之后,對禁止改寫區(qū)域內(nèi)的寫入一概不被許可。


圖1表示有關(guān)本發(fā)明的非易失性存儲器的存取控制系統(tǒng)的整體結(jié)構(gòu)例的方框圖。
圖2表示圖1中的非易失性存儲器的內(nèi)部結(jié)構(gòu)圖。
圖3表示圖1中的存取控制電路的內(nèi)部結(jié)構(gòu)圖。
圖4表示圖3中的寄存器狀態(tài)機(jī)器的動作狀態(tài)變化圖。
圖5表示圖1中的非易失性存儲器的指令例的圖。
圖6表示圖3中的指令解析部的動作狀態(tài)變化圖。
圖7表示圖1中的非易失性存儲器的另一內(nèi)部結(jié)構(gòu)圖。
圖8表示圖3中的指令解析部的內(nèi)部結(jié)構(gòu)圖。
圖9表示圖3中的指令解析部的另一內(nèi)部結(jié)構(gòu)圖。
圖中1-非易失性存儲器的存取控制系統(tǒng),2-CPU,3-SRAM,4-引導(dǎo)ROM,5-存取控制電路,6-非易失性存儲器,7-系統(tǒng)總線,10-寄存文件,11-禁止改寫區(qū)域地址寄存器,12-禁止改寫區(qū)域地址掩碼寄存器,13-禁止改寫區(qū)段地址寄存器,14-已寫入標(biāo)志地址寄存器,15-已寫入標(biāo)志位寄存器,16-已寫入標(biāo)志校驗指令寄存器,17-寄存器狀態(tài)機(jī)器,20-指令解析部,21-指令輸出部,22-寫入/擦除指令檢測部,23-擦除指令發(fā)出部,24-已寫入標(biāo)志重寫部,30-讀/寫信號發(fā)出部,F(xiàn)-已寫入標(biāo)志。
具體實施例方式
以下參照附圖對本發(fā)明的實施方式進(jìn)行詳細(xì)說明。
圖1表示有關(guān)本發(fā)明的非易失性存儲器的存取控制系統(tǒng)的整體結(jié)構(gòu)例的圖。在圖1的非易失性存儲器的存取控制系統(tǒng)1中,2表示CPU,3表示SRAM,4表示引導(dǎo)ROM,5表示存取控制電路,6表示非易失性存儲器,7表示系統(tǒng)總線。CPU2、SRAM3、和引導(dǎo)ROM4與系統(tǒng)總線7連接。存取控制電路5介于非易失性存儲器6和系統(tǒng)總線7之間。SRAM3是用來存儲程序或數(shù)據(jù)的存儲器。引導(dǎo)ROM4是用來存儲系統(tǒng)初始化程序的存儲器。非易失性存儲器6譬如是閃爍存儲器。CPU2,通過執(zhí)行存儲在SRAM3中的程序或存儲在引導(dǎo)ROM中的程序,而發(fā)出向非易失性存儲器6存取的指令。存取控制電路5是用來接收來自CPU2的指令,并控制向非易失性存儲器6存取的電路。
圖2表示圖1中非易失性存儲器6的內(nèi)部結(jié)構(gòu)。非易失性存儲器6比如被分割成從地址0000h到7FFFh的可改寫區(qū)域和從地址8000h到FFFFh的禁止改寫區(qū)域(h是16進(jìn)位制標(biāo)記以下相同)。更進(jìn)一步,比如禁止改寫區(qū)域里在地址FFF0h上被指定的1字節(jié)中設(shè)定一位的已寫入標(biāo)志F。在以下的說明中把非易失性存儲器6的初始狀態(tài)視為全部位數(shù)是“1”。因此,已寫入標(biāo)志F的初始值也是“1”。在這里認(rèn)為“F=1”表示允許改寫,“F=0”表示禁止改寫。
圖3表示圖1中的存取控制電路5的內(nèi)部結(jié)構(gòu)。圖3的存取控制電路5擁有寄存器文件10、指令解析部20和讀/寫信號發(fā)出部30。寄存器文件10擁有禁止改寫區(qū)域地址寄存器11、禁止改寫區(qū)域地址掩碼寄存器12、禁止改寫區(qū)段地址寄存器13和已寫入標(biāo)志地址寄存器14、已寫入標(biāo)志位寄存器15、已寫入標(biāo)志校驗指令寄存器16和寄存器狀態(tài)機(jī)器17。指令解析部20會參照寄存器文件10,對通過系統(tǒng)總線7從CPU2中接收的指令進(jìn)行分析。讀/寫信號發(fā)出部30會按照指令解析部20分析出的結(jié)果發(fā)出對非易失性存儲器6寫入(write)/讀出(read)/擦除(erase)的信號。特別是當(dāng)存取非易失性存儲器6上的包括已寫入標(biāo)志F在內(nèi)的1字節(jié)時,讀/寫信號發(fā)出部30會參照已寫入標(biāo)志地址寄存器14和已寫入標(biāo)志校驗指令寄存器16發(fā)出信號。
圖1中的CPU2在每次系統(tǒng)電源啟動時,通過執(zhí)行在引導(dǎo)ROM4中存儲的系統(tǒng)初始化用的程序,按照在非易失性存儲器6上只設(shè)置禁止改寫區(qū)域一次,在該禁止改寫區(qū)域上只設(shè)置已寫入標(biāo)志F一次那樣進(jìn)行動作。按照圖2的示例,分別在禁止改寫區(qū)域地址寄存器11上設(shè)定了8000h,在禁止改寫區(qū)域地址掩碼寄存器12上設(shè)定了7FFFh。還分別在已寫入標(biāo)志地址寄存器14上設(shè)定了FFF0h,在已寫入標(biāo)志位寄存器15上設(shè)定了3h。
圖3的存取控制電路,在接到來自CPU2的已寫入標(biāo)志校驗指令并檢驗了已寫入標(biāo)志F的狀態(tài)之前,非易失性存儲器6的任何寫入都不被認(rèn)可,在檢驗了已寫入標(biāo)志F的狀態(tài)之后,只有該已寫入標(biāo)志F指示允許改寫(F=1)時,才允許在禁止改寫區(qū)域進(jìn)行任何次數(shù)的寫入,但是當(dāng)該已寫入標(biāo)志F設(shè)定了禁止改寫(F=0)后在禁止改寫區(qū)域的寫入一概不被認(rèn)可。因此,系統(tǒng)的制作者可以自由地寫入需要防止被竄改的信息,并且能可靠防止該信息的竄改。
圖3中的指令解析部20分析出從CPU2接收的指令是表示非易失性存儲器6的寫入或擦除,如果其寫入位置或擦除位置是非易失性存儲器6的禁止改寫區(qū)域,并且當(dāng)已寫入標(biāo)志F顯示禁止改寫(F=0)時,從CPU2接收的指令不會向讀/寫信號發(fā)出部30傳達(dá)。
圖4表示圖3中寄存器狀態(tài)機(jī)器17的動作情況。狀態(tài)1是寄存器狀態(tài)機(jī)器17的初始狀態(tài)。在狀態(tài)1中由CPU2設(shè)定了禁止改寫區(qū)域地址寄存器11后,就轉(zhuǎn)移到狀態(tài)2。如果沒有設(shè)定就保持狀態(tài)1。在狀態(tài)2中如果設(shè)定了禁止改寫區(qū)域地址掩碼寄存器12后則轉(zhuǎn)移到狀態(tài)3。如果沒有設(shè)定就保持狀態(tài)2。在狀態(tài)3中如果設(shè)定了禁止改寫區(qū)段地址寄存器13后就轉(zhuǎn)移到狀態(tài)4。如果沒有設(shè)定就保持狀態(tài)3。在狀態(tài)4中如果設(shè)定了已寫入標(biāo)志地址寄存器14后就轉(zhuǎn)移到狀態(tài)5。如果沒有設(shè)定就保持狀態(tài)4。在狀態(tài)5中如果設(shè)定了已寫入標(biāo)志位寄存器15后就轉(zhuǎn)移到狀態(tài)6。如果沒有設(shè)定就保持狀態(tài)5。
到了狀態(tài)6之后,已寫入標(biāo)志校驗指令寄存器16才開始受理來自系統(tǒng)總線的寫入。如果在已寫入標(biāo)志校驗指令寄存器16中設(shè)定了已寫入標(biāo)志F的狀態(tài)檢驗執(zhí)行用的指令,已寫入標(biāo)志校驗指令寄存器16會將此指令傳達(dá)給讀/寫信號發(fā)出部30,讀/寫信號發(fā)出部30將已寫入標(biāo)志地址寄存器14設(shè)定的地址的數(shù)據(jù)由非易失性存儲器6讀取。指令解析部20將讀取的數(shù)據(jù)中由已寫入標(biāo)志位寄存器15表示的位的值作為已寫入標(biāo)志F保存。
讓寄存器狀態(tài)機(jī)器17從狀態(tài)1開始向狀態(tài)6轉(zhuǎn)移,并通過發(fā)出已寫入標(biāo)志校驗指令,將已寫入標(biāo)志F保存在指令解析部20中的上述處理,通過CPU2執(zhí)行在引導(dǎo)ROM4中存儲的系統(tǒng)初始化用的程序而完成。這些處理全部完成之前,從系統(tǒng)總線7到非易失性存儲器6的任何寫入或擦除,都會被指令解析部20所禁止。
檢測了已寫入標(biāo)志F之后,由指令解析部20判斷能否進(jìn)行寫入/擦除。具體來說,如果已寫入標(biāo)志F表示允許改寫的話(F=1),指令解析部20就允許由禁止改寫區(qū)域地址寄存器11和禁止改寫區(qū)域地址掩碼寄存器12所示的在非易失性存儲器6的禁止改寫區(qū)域進(jìn)行寫入,也允許由禁止改寫區(qū)段地址寄存器13設(shè)定的區(qū)段擦除,以及允許在非易失性存儲器6的所有區(qū)域上的擦除。因此,系統(tǒng)的制作者在非易失性存儲器6上的已寫入標(biāo)志F改寫成“0”之前,自己可以對需要防止竄改信息的禁止改寫區(qū)域自由進(jìn)行寫入。但是,當(dāng)系統(tǒng)的制作者把非易失性存儲器6上的已寫入標(biāo)志F改寫為“0”后,指令解析部20將不允許對禁止改寫區(qū)域進(jìn)行任何寫入和擦除。而且,如果指令解析部20一直保持非易失性存儲器6上的已寫入標(biāo)志F的復(fù)制的話,可以削減已寫入標(biāo)志校驗指令的發(fā)出次數(shù)。
圖5表示圖1中非易失性存儲器6的指令示例。該非易失性存儲器6是寫入和擦除都需要特殊指令組的閃爍存儲器。圖5中的ADRS表示CPU2發(fā)出的地址,DATA表示CPU2發(fā)出的數(shù)據(jù)。
如圖5上段所示,在寫入指令中,當(dāng)?shù)谝恢芷谳斎氲刂?55h/數(shù)據(jù)AAh,第二周期輸入地址2AAh/數(shù)據(jù)55h,第三周期輸入地址555h/數(shù)據(jù)AOh時,則確定在第四周期輸入的地址WA上輸入第四周期輸入的數(shù)據(jù)WD。
如圖5中段所示,在區(qū)段擦除指令中,當(dāng)在第一周期輸入地址555h/數(shù)據(jù)AAh,第二周期輸入地址2AAh/數(shù)據(jù)55h,第三周期輸入地址555h/數(shù)據(jù)80h,第四周期輸入地址555h/數(shù)據(jù)AAh,第五周期輸入地址2AAh/數(shù)據(jù)55h,第六周期的數(shù)據(jù)輸入30h時,則確定對在第六周期與數(shù)據(jù)30h一同輸入的地址SA所指定的區(qū)段進(jìn)行擦除。
如圖5下段所示,在芯片擦除指令中,一直到第五周期為止和區(qū)段擦除指令相同,當(dāng)在第六周期輸入地址555h/數(shù)據(jù)10h時,則確定對非易失性存儲器6上的全部區(qū)域進(jìn)行擦除。
圖6表示圖3中的指令解析部20的動作。狀態(tài)1是指令解析部20的初始化狀態(tài)。在狀態(tài)1中如果通過系統(tǒng)總線7輸入地址555h/數(shù)據(jù)AAh則轉(zhuǎn)移到狀態(tài)2。除此之外沒有輸入時就保持在狀態(tài)1。在狀態(tài)2中如果輸入地址2AAh/數(shù)據(jù)55h則轉(zhuǎn)移到狀態(tài)3。除此之外沒有輸入時就轉(zhuǎn)移到狀態(tài)1。
在狀態(tài)3中如果輸入地址555h/數(shù)據(jù)AOh時則轉(zhuǎn)移到狀態(tài)4.1。狀態(tài)4.1表示經(jīng)由系統(tǒng)總線輸入了正常的寫入指令時的狀態(tài)。在狀態(tài)4.1中,隨后輸入的地址WA由指令解析部20判斷是否相當(dāng)于由禁止改寫區(qū)域地址寄存器11和禁止改寫區(qū)域地址掩碼寄存器12設(shè)定的非易失性存儲器6的禁止改寫區(qū)域。當(dāng)相當(dāng)于禁止區(qū)域時,就不向該地址進(jìn)行寫入。如果不相當(dāng)于禁止區(qū)域,就向該地址寫入數(shù)據(jù)WD。
在狀態(tài)3中如果輸入地址555h/數(shù)據(jù)80h則轉(zhuǎn)移到狀態(tài)4.2。除此之外沒有輸入時就轉(zhuǎn)移到狀態(tài)1。在狀態(tài)4.2中如果輸入地址555h/數(shù)據(jù)AAh后就轉(zhuǎn)移到狀態(tài)5。除此之外沒有輸入時則轉(zhuǎn)移到狀態(tài)1。狀態(tài)5被輸入地址2AAh/數(shù)據(jù)55h后就轉(zhuǎn)移到狀態(tài)6。除此之外沒有輸入時則轉(zhuǎn)移到狀態(tài)1。
在狀態(tài)6中如果輸入地址555h/數(shù)據(jù)10h,這表示芯片擦除。只有當(dāng)非易失性存儲器6上的已寫入標(biāo)志F指示允許改寫(F=1)時,指令解析部20才向非易失性存儲器6發(fā)出芯片擦除指令。但是,當(dāng)非易失性存儲器6上的已寫入標(biāo)志F改寫成“0”后,該非易失性存儲器6的芯片擦除就被禁止,因此指令解析部20就不向非易失性存儲器6發(fā)出擦除指令。
在狀態(tài)6中如果輸入數(shù)據(jù)30h,這表示區(qū)段擦除。因此,當(dāng)這時輸入的區(qū)段地址SA如果和禁止改寫區(qū)段地址寄存器13設(shè)定的區(qū)段地址不同時,指令解析部20會向非易失性存儲器6發(fā)出相對應(yīng)的區(qū)段擦除指令。當(dāng)和禁止改寫區(qū)段地址寄存器13設(shè)定的區(qū)段地址是同一地址時,由于該區(qū)段的擦除被禁止,所以指令解析部20就不向非易失性存儲器6發(fā)出指令。在狀態(tài)6中除此之外沒有輸入時就轉(zhuǎn)移到狀態(tài)1。
在指令解析部20中如果判明所有指令已被正常輸入,并且CPU2將要寫入的地址,或者CPU2將要擦除的區(qū)段地址不是禁止區(qū)域,則將到此為止積攢的全部指令從最初依次傳給讀/寫信號發(fā)出部30。因此,由于向讀/寫信號發(fā)出部30只能輸入允許存取的指令,因此讀/寫信號發(fā)出部30能夠把從指令解析部20輸入的全部地址/數(shù)據(jù)原封不動地向非易失性存儲器6輸出。
如上所述,由系統(tǒng)總線7輸入的地址/數(shù)據(jù)由存取控制電路5進(jìn)行解析,只有在允許存取的情況下對非易失性存儲器6進(jìn)行寫入/擦除。
詳細(xì)講,指令解析部20對從CPU2接收的全部指令進(jìn)行解析,當(dāng)所接收的指令組表示對非易失性存儲器6進(jìn)行寫入或區(qū)段擦除,其寫入位置或擦除位置是禁止改寫的區(qū)域,并且已寫入標(biāo)志F顯示禁止改寫時,從CPU2接收的指令組一概不向非易失性存儲器6傳達(dá)。再有,指令解析部20從CPU2接收的指令組表示對非易失性存儲器6進(jìn)行芯片擦除,并且已寫入標(biāo)志F顯示禁止改寫時,從CPU2接收的指令組一概不向非易失性存儲器6傳達(dá)。
此外,如果通過替換圖1中的引導(dǎo)ROM4的程序,實現(xiàn)圖2中的寄存文件10的設(shè)定變更,那么非易失性存儲器6上的禁止改寫區(qū)域就可以隨每個系統(tǒng)任意變更。例如,如果分別在禁止改寫區(qū)域地址寄存器11設(shè)定4000h,在禁止改寫區(qū)域地址掩碼寄存器12設(shè)定3FFFh,就可以將地址4000h到7FFFh的區(qū)域設(shè)定為禁止改寫區(qū)域。
圖7表示圖1中的非易失性存儲器6的另一內(nèi)部構(gòu)成。在此,在非易失性存儲器6上設(shè)定一個虛設(shè)區(qū)段來作為不放置有用數(shù)據(jù)的未使用區(qū)域,例如將地址0010h定為虛設(shè)區(qū)段。
這時,當(dāng)從CPU2接收的指令組表示對非易失性存儲器6進(jìn)行寫入,其寫入位置是禁止改寫區(qū)域,并且當(dāng)已寫入標(biāo)志F顯示禁止改寫時,指令解析部20就會進(jìn)行控制以對虛設(shè)字節(jié)進(jìn)行寫入。再有,當(dāng)從CPU2接收的指令組表示對非易失性存儲器6進(jìn)行區(qū)段擦除,其擦除區(qū)域是禁止改寫區(qū)域,并且當(dāng)已寫入標(biāo)志F顯示禁止改寫時,指令解析部20就會進(jìn)行控制以對虛設(shè)區(qū)段進(jìn)行寫入。另外,當(dāng)從CPU2接收的指令組表示對非易失性存儲器6進(jìn)行芯片擦除,并且當(dāng)已寫入標(biāo)志F顯示禁止改寫時,指令解析部20也會進(jìn)行控制以對虛設(shè)區(qū)段進(jìn)行寫入。
這樣指令解析部20在每次經(jīng)由系統(tǒng)總線7輸入圖5所示地址/數(shù)據(jù)后,將該地址/數(shù)據(jù)輸出到讀/寫信號發(fā)出部30,當(dāng)是可改寫區(qū)域的寫入/擦除時,寫入位置/擦除位置不變;當(dāng)是禁止改寫區(qū)域的寫入/擦除時,通過變更寫入位置/擦除位置,來完成寫入/擦除的過程。即,只是犧牲了可改寫區(qū)域中的一部分,這和圖2那種指令解析部20暫時積攢指令組的情況相比,可以提高非易失性存儲器6的存取速度。
最后,圖8和圖9表示了能給試圖竄改禁止寫入?yún)^(qū)域內(nèi)的信息的人以懲罰的結(jié)構(gòu)圖。
圖8是圖3中的指令解析部的內(nèi)部結(jié)構(gòu)圖。圖8中,21是指令輸出部,22是寫入/擦除指令檢測部,23是擦除指令發(fā)出部。指令輸出部21一般是將通過系統(tǒng)總線7從CPU2接收的指令原封不動地提供給讀/寫信號發(fā)出部30。寫入/擦除指令檢測部22,當(dāng)檢測到對禁止改寫區(qū)域的寫入/擦除指令,并且已寫入標(biāo)志F表示禁止改寫(F=0)時,則將旨意向擦除指令發(fā)出部23傳達(dá)。對此進(jìn)行應(yīng)答,擦除指令發(fā)出部23會將對除了圖3禁止改寫區(qū)段地址寄存器13設(shè)定的區(qū)段地址以外的全部區(qū)段進(jìn)行擦除的指令發(fā)出命令傳給指令輸出部21。指令輸出部21會按照此命令發(fā)出各區(qū)段擦除指令。這樣既防止了竄改,又擦除了可改寫區(qū)域中的有用信息以對試圖竄改的人進(jìn)行懲罰。
圖9表示圖3中的指令解析部20的另一內(nèi)部結(jié)構(gòu)圖。圖9中將圖8中的擦除指令發(fā)出部23替換成了已寫入標(biāo)志重寫部24。該已寫入標(biāo)志重寫部24,當(dāng)檢測到對禁止改寫區(qū)域的寫入/擦除指令,并且接收到從寫入/擦除指令檢驗部22傳來的已寫入標(biāo)志F表示禁止改寫(F=0)的旨意時,根據(jù)圖3中的已寫入標(biāo)志校驗指令寄存器16執(zhí)行的狀態(tài)確認(rèn)而得到的和已寫入標(biāo)志F相同的值(=0)作為寫入數(shù)據(jù),向指令輸出部21發(fā)出全部區(qū)域?qū)懭朊?。指令輸出?1按照該命令發(fā)出全區(qū)域?qū)懭胫噶?。這樣,為了懲罰試圖竄改的人,非易失性存儲器6上的全部數(shù)據(jù)都改寫成了和已寫入標(biāo)志F相同的值(=0)。但已寫入標(biāo)志F本身仍然表示禁止改寫(F=0),因此以后的寫入也不被接受。
另外,在非易失性存儲器6的初始狀態(tài),如果全部位的值是“0”,則只要讓“F=0”表示允許改寫,讓“F=1”表示禁止改寫即可。
此外,本發(fā)明還適用于EEPROM等其他種類的非易失性存儲器。
以上所述,依據(jù)本發(fā)明,按照在引導(dǎo)ROM中存儲的系統(tǒng)初始化用的程序,由于CPU會在非易失性存儲器上設(shè)定禁止改寫區(qū)域,并且通過在該禁止改寫區(qū)域上設(shè)定已寫入標(biāo)志,存取控制電路能夠進(jìn)行允許改寫/禁止改寫的控制,因此,可以提供一種系統(tǒng)的制作者可以自由寫入需要防止竄改的信息,并且能可靠防止該信息被竄改的非易失性存儲器的存取控制系統(tǒng)。
權(quán)利要求
1.一種非易失性存儲器的存取控制系統(tǒng),包括非易失性存儲器、存儲系統(tǒng)初始化用程序的引導(dǎo)ROM、向所述非易失性存儲器發(fā)出指令的CPU、和接收來自所述CPU的指令并控制對所述非易失性存儲器的存取的存取控制電路,其特征在于,所述CPU在每次系統(tǒng)電源啟動時,通過執(zhí)行在所述引導(dǎo)ROM中存儲的系統(tǒng)初始化用的程序,按照在所述非易失性存儲器上只設(shè)定禁止改寫區(qū)域一次,在該禁止改寫區(qū)域上只設(shè)定已寫入標(biāo)志一次那樣進(jìn)行動作;所述存取控制電路,在沒有檢驗所述已寫入標(biāo)志的狀態(tài)之前,所述非易失性存儲器的任何寫入都不被認(rèn)可,在檢驗了所述已寫入標(biāo)志的狀態(tài)之后,如果所述已寫入標(biāo)志沒有表示禁止改寫,則允許對所述禁止改寫區(qū)域進(jìn)行任何次數(shù)的寫入,在向所述已寫入標(biāo)志設(shè)定了禁止改寫之后,對所述禁止改寫區(qū)域內(nèi)的寫入一概不被認(rèn)可
2.根據(jù)權(quán)利要求1所述的存取控制系統(tǒng),其特征在于,所述存取控制電路具有對從所述CPU接收的指令進(jìn)行解析的指令解析部;所述指令解析部,當(dāng)從所述CPU接收的指令表示對所述非易失性存儲器進(jìn)行寫入或擦除,其寫入位置或擦除位置是所述非易失性存儲器的禁止改寫區(qū)域,并且所述已寫入標(biāo)志表示禁止改寫時,從所述CPU接收的指令則不會向所述非易失性存儲器傳達(dá)。
3.根據(jù)權(quán)利要求2所述的存取控制系統(tǒng),其特征在于,所述指令解析部,當(dāng)所述非易失性存儲器的寫入或擦除需要特別的指令組時,對從所述CPU接收的全部指令進(jìn)行解析,如果該指令組表示對所述非易失性存儲器進(jìn)行寫入或擦除,其寫入位置或擦除位置是所述非易失性存儲器的禁止改寫區(qū)域,并且所述已寫入標(biāo)志表示禁止改寫時,從所述CPU接收的指令組則一概不會向所述非易失性存儲器傳達(dá)。
4.根據(jù)權(quán)利要求2所述的存取控制系統(tǒng),其特征在于,所述指令解析部,當(dāng)所述非易失性存儲器的全部擦除需要特別的指令組時,對從所述CPU接收的全部指令進(jìn)行解析,如果該指令組表示對所述非易失性存儲器進(jìn)行全部擦除,并且所述已寫入標(biāo)志表示禁止改寫時,從所述CPU接收的指令組則一概不會向所述非易失性存儲器傳達(dá)。
5.根據(jù)權(quán)利要求1所述的存取控制系統(tǒng),其特征在于,在所述非易失性存儲器上設(shè)置不放置有用數(shù)據(jù)的未使用區(qū)域;所述存取控制電路具有對從CPU接收的指令進(jìn)行解析的指令解析部;所述指令解析部,當(dāng)從所述CPU接收的指令表示對所述非易失性存儲器進(jìn)行寫入或擦除,其寫入位置或擦除位置是所述非易失性存儲器的禁止改寫區(qū)域,并且所述已寫入標(biāo)志表示禁止改寫時,按照對所述非易失性存儲器的未使用區(qū)域進(jìn)行寫入或擦除那樣進(jìn)行控制。
6.根據(jù)權(quán)利要求5所述的存取控制系統(tǒng),其特征在于,所述指令解析部,當(dāng)所述非易失性存儲器的寫入或擦除需要特別的指令組時,對從所述CPU接收的全部指令進(jìn)行解析,如果該指令組表示對所述非易失性存儲器進(jìn)行寫入或擦除,其寫入位置或擦除位置是所述非易失性存儲器的禁止改寫區(qū)域,并且所述已寫入標(biāo)志表示禁止改寫時,按照對所述非易失性存儲器的未使用區(qū)域進(jìn)行寫入或擦除那樣進(jìn)行控制。
7.根據(jù)權(quán)利要求5所述的存取控制系統(tǒng),其特征在于,所述指令解析部,當(dāng)所述非易失性存儲器的全部擦除需要特別的指令組時,對從所述CPU接收的全部指令進(jìn)行解析,如果該指令組表示對所述非易失性存儲器進(jìn)行全部擦除,并且所述已寫入標(biāo)志表示禁止改寫時,按照對所述非易失性存儲器的未使用區(qū)域進(jìn)行全部擦除那樣進(jìn)行控制。
8.根據(jù)權(quán)利要求1所述的存取控制系統(tǒng),其特征在于,所述存取控制電路,檢測對所述非易失性存儲器的禁止改寫區(qū)域的寫入或擦除,并且當(dāng)所述已寫入標(biāo)志表示禁止改寫時,按照將除所述非易失性存儲器上的禁止改寫區(qū)域之外的區(qū)域中的數(shù)據(jù)擦除那樣進(jìn)行控制。
9.根據(jù)權(quán)利要求1所述的存取控制系統(tǒng),其特征在于,所述存取控制電路,檢測對所述非易失性存儲器的禁止改寫區(qū)域的寫入或擦除,并且當(dāng)所述已寫入標(biāo)志表示禁止改寫時,按照將所述非易失性存儲器上的全部數(shù)據(jù)改寫成和所述已寫入標(biāo)志相同的值那樣進(jìn)行控制。
全文摘要
本發(fā)明提供一種非易失性存儲器的存取控制系統(tǒng),按照在引導(dǎo)ROM中存儲的系統(tǒng)初始化用程序,CPU在非易失性存儲器(6)上設(shè)置禁止改寫區(qū)域,并且根據(jù)在該禁止改寫區(qū)域上設(shè)置的已寫入標(biāo)志(F),存取控制電路可以進(jìn)行允許改寫或禁止改寫的控制。由此,能使系統(tǒng)的制作者自由寫入需要防止竄改的信息,并且能可靠防止該信息被竄改。
文檔編號G06F12/14GK1532713SQ200410028788
公開日2004年9月29日 申請日期2004年3月18日 優(yōu)先權(quán)日2003年3月19日
發(fā)明者永田太一, 根本祐輔, 輔 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
万盛区| 泰顺县| 开封市| 广水市| 康保县| 萨嘎县| 扶风县| 清镇市| 吉安市| 甘洛县| 北辰区| 六安市| 襄城县| 大城县| 乌兰浩特市| 化隆| 嘉义市| 秦皇岛市| 兴隆县| 衡山县| 墨脱县| 托克托县| 永登县| 通榆县| 阿拉善右旗| 东兰县| 萨嘎县| 淮滨县| 友谊县| 古丈县| 西和县| 车致| 上林县| 满城县| 日照市| 宜章县| 马关县| 津南区| 潮州市| 潞西市| 上蔡县|