欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

閃存存儲器的改寫控制系統(tǒng)及改寫控制方法

文檔序號:6368029閱讀:200來源:國知局
專利名稱:閃存存儲器的改寫控制系統(tǒng)及改寫控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲有作為電子設(shè)備的固體軟件的存儲有引導(dǎo)程序和主程序的閃存存儲器的存儲器改寫控制系統(tǒng)、存儲器改寫控制方法、實施存儲器改寫控制方法的各步驟的程序及信息記錄介質(zhì)。
在改寫存儲在引導(dǎo)區(qū)域中的數(shù)據(jù)(引導(dǎo)數(shù)據(jù))時,由于軟件的規(guī)則是禁止引導(dǎo)數(shù)據(jù)改寫存儲自身程序的區(qū)域,因此需要進(jìn)行三次下載處理。
圖12為說明以往的改寫處理的數(shù)據(jù)的遷移的說明圖。在閃存存儲器改寫處理中,引導(dǎo)區(qū)域以外的閃存存儲器的區(qū)域的改寫處理通過存儲在引導(dǎo)區(qū)域內(nèi)的引導(dǎo)數(shù)據(jù)來實施,引導(dǎo)區(qū)域的改寫處理通過新下載的引導(dǎo)改寫數(shù)據(jù)來實施。
根據(jù)引導(dǎo)數(shù)據(jù),通過第1次的下載處理取得引導(dǎo)改寫數(shù)據(jù),清除主存儲區(qū)域的數(shù)據(jù)(主數(shù)據(jù)),并將取得的引導(dǎo)改寫數(shù)據(jù)寫入主存儲區(qū)域(圖12中的I)。
接下來,根據(jù)引導(dǎo)改寫數(shù)據(jù),通過第2次的下載處理取得新的引導(dǎo)數(shù)據(jù),清除引導(dǎo)區(qū)域的數(shù)據(jù),并將取得的新的引導(dǎo)數(shù)據(jù)寫入引導(dǎo)區(qū)域(圖12中的II)。
根據(jù)新的引導(dǎo)數(shù)據(jù),通過第3次的下載處理取得新的主數(shù)據(jù),清除主存儲區(qū)域的引導(dǎo)改寫數(shù)據(jù),并將取得的新的主數(shù)據(jù)寫入主存儲區(qū)域(圖12中的III)。這里,在沒有必要更新主數(shù)據(jù)的情況下,通過第3次的下載處理取得舊的主數(shù)據(jù)(與通過I的處理被清除的主數(shù)據(jù)同樣的數(shù)據(jù))并寫入主存儲區(qū)域。
如上述的那樣,由于改寫存儲在閃存存儲器的引導(dǎo)區(qū)域的數(shù)據(jù)(引導(dǎo)數(shù)據(jù))的操作不實施三次的下載操作的話就沒有結(jié)束,因而操作程序很煩瑣,存在著容易發(fā)生操作錯誤的問題。而且,還存在著改寫操作耗費(fèi)時間很長的問題。
本發(fā)明的閃存存儲器的存儲改寫控制系統(tǒng),是一種對于可以在由多個區(qū)域構(gòu)成的,能夠以區(qū)域為單位清除數(shù)據(jù)的,具有存儲起動引導(dǎo)數(shù)據(jù)的起動引導(dǎo)區(qū)域、存儲被所述起動引導(dǎo)數(shù)據(jù)選擇性地起動的引導(dǎo)數(shù)據(jù)的至少2個引導(dǎo)區(qū)域、和存儲被所述起動引導(dǎo)數(shù)據(jù)或所述引導(dǎo)數(shù)據(jù)所起動的主數(shù)據(jù)的主存儲區(qū)域的閃存存儲器的存儲器改寫控制系統(tǒng),其特征在于包括從所述引導(dǎo)區(qū)域分別存儲的所述引導(dǎo)數(shù)據(jù)中,根據(jù)所述引導(dǎo)區(qū)域分別存儲的引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù),選擇出應(yīng)由所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)的引導(dǎo)數(shù)據(jù)判斷部;和除了存儲有由所述引導(dǎo)數(shù)據(jù)判斷部所選擇的所述引導(dǎo)數(shù)據(jù)的引導(dǎo)區(qū)域,對存儲在所述引導(dǎo)區(qū)域和/或所述主存儲區(qū)域的數(shù)據(jù)進(jìn)行改寫的改寫部。通過該結(jié)構(gòu),就可以簡化閃存存儲器的引導(dǎo)區(qū)域改寫處理的操作順序并縮短處理所需的時間。
另外,所述改寫部具有接收改寫所述閃存存儲器所存儲的數(shù)據(jù)的更新數(shù)據(jù)的更新數(shù)據(jù)接收部;根據(jù)所述更新數(shù)據(jù)接收部接收到的所述更新數(shù)據(jù),從所述引導(dǎo)區(qū)域及所述主存儲區(qū)域當(dāng)中選擇應(yīng)存儲更新數(shù)據(jù)的區(qū)域的區(qū)域判斷部;將所述更新數(shù)據(jù)接收部接收到的所述更新數(shù)據(jù)寫入由所述區(qū)域判斷部選擇的所述區(qū)域的更新數(shù)據(jù)寫入部;當(dāng)所述區(qū)域判斷部選擇的所述區(qū)域為所述引導(dǎo)區(qū)域時,計算出所述引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)并進(jìn)行更新的更新判斷數(shù)據(jù)算出部。
還有,所述改寫部具備有當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第1引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂銎饎右龑?dǎo)區(qū)域及所述第1引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第1改寫部;當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第2引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂銎饎右龑?dǎo)區(qū)域及所述第2引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第2改寫部。通過該結(jié)構(gòu),就可以避免引導(dǎo)區(qū)域的改寫處理異常的控制裝置不啟動狀態(tài)。
還有,所述改寫部判斷更新數(shù)據(jù)是否為將具有規(guī)定的數(shù)據(jù)長的特定數(shù)據(jù)寫入所述閃存存儲器的規(guī)定地址的規(guī)定的更新數(shù)據(jù),在所述更新數(shù)據(jù)為所述規(guī)定的更新數(shù)據(jù)的情況下,能夠?qū)λ銎饎右龑?dǎo)區(qū)域進(jìn)行改寫。根據(jù)該結(jié)構(gòu),就可以在保護(hù)有可能產(chǎn)生電子設(shè)備不能啟動狀態(tài)的啟動引導(dǎo)數(shù)據(jù)的同時,在有必要改寫啟動數(shù)據(jù)的情況下,通過將寫入特定數(shù)據(jù)旨意的數(shù)據(jù)包含在更新數(shù)據(jù)中發(fā)送到規(guī)定的地址,就可以作為可改寫啟動引導(dǎo)區(qū)域的狀態(tài)很容易地進(jìn)行啟動引導(dǎo)數(shù)據(jù)的改寫。也就是說,既使在改寫啟動引導(dǎo)數(shù)據(jù)的情況下,也沒有必要準(zhǔn)備特別的改寫程序等,就可以用和引導(dǎo)數(shù)據(jù)及主數(shù)據(jù)同樣的操作順序來進(jìn)行改寫。
另外,所述改寫部具有當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第1引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂龅?引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第1改寫部;當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第2引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂龅?引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第2改寫部。
另外,所述引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)包括引導(dǎo)更新次數(shù)、驗證所述各個引導(dǎo)區(qū)域中所存儲的所述引導(dǎo)數(shù)據(jù)的正當(dāng)性的所述引導(dǎo)區(qū)域的檢測總數(shù),所述引導(dǎo)數(shù)據(jù)判定部選擇出存儲有表示至少改寫了2個引導(dǎo)區(qū)域的所述引導(dǎo)數(shù)據(jù)的累計次數(shù)的引導(dǎo)區(qū)域。
本發(fā)明作為存儲改寫控制方法來掌握也是適合的,既使在這一情況也可以達(dá)到同樣的作用和效果。
另外,本發(fā)明的存儲改寫控制方法可以作為通過電子設(shè)備的控制部實施的程序來進(jìn)行提供,可以通過信息記錄介質(zhì)或互聯(lián)網(wǎng)等網(wǎng)絡(luò)提供該程序。作為信息記錄介質(zhì),如可以采用小型磁盤、軟盤、硬盤、光磁盤、鎳銀面盤、磁帶、或半導(dǎo)體存儲器。
圖2為表示閃存存儲器的區(qū)域結(jié)構(gòu)圖。
圖3為與存儲改寫控制系統(tǒng)的存儲改寫處理有關(guān)的功能方框圖。
圖4為表示改寫兩個W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù)的順序圖。
圖5為表示引導(dǎo)處理順序的流程圖。
圖6為表示第1實施例的W引導(dǎo)處理的閃存存儲器改寫處理順序的流程圖。
圖7的(a)為表示實施第1實施例的W引導(dǎo)處理A的情況下的閃存存儲器的改寫范圍的圖,(b)為表示實施第1實施例的W引導(dǎo)處理B的情況下的閃存存儲器的改寫范圍的圖。
圖8的(a)為表示實施W引導(dǎo)處理A的情況下的W引導(dǎo)區(qū)域B的改寫狀態(tài)的說明圖,(b)為表示實施W引導(dǎo)處理B的情況下的W引導(dǎo)區(qū)域A的改寫狀態(tài)的說明圖。
圖9為表示對移動到啟動引導(dǎo)改寫模式的判斷處理順序的流程圖。
圖10為表示第2實施例的W引導(dǎo)處理的閃存存儲器改寫處理順序的流程圖。
圖11的(a)為表示實施第2實施例的W引導(dǎo)處理A的情況下的閃存存儲器的改寫范圍的圖,(b)為表示實施第2實施例的W引導(dǎo)處理B的情況下的閃存存儲器的改寫范圍的圖。
圖12為說明以往的改寫處理的數(shù)據(jù)的遷移圖。
具體實施例方式
下面,參照


本發(fā)明的一實施例。但以下說明的實施例只是為了說明,并不限制本發(fā)明的范圍。因此,只要是業(yè)內(nèi)人士,就可以采用將這些各要素或全部要素置換為與此相均等的實施例,而這些實施例也包含在本發(fā)明的范圍內(nèi)。
圖1為表示閃存存儲器的存儲改寫控制系統(tǒng)的硬件結(jié)構(gòu)圖。存儲改寫控制系統(tǒng)100具有能夠分別改寫在作為可以一次清除的最小單位存儲區(qū)域的每個區(qū)段中的數(shù)據(jù)的閃存存儲器101、可讀寫的RAM102及存儲改寫控制系統(tǒng)100和對具有該存儲改寫控制系統(tǒng)100的電子設(shè)備實施控制的CPU103。
閃存存儲器101存儲有實施電子設(shè)備的通常模式控制的主程序、字體數(shù)據(jù)等,存儲有用于控制電子設(shè)備的啟動處理、改寫閃存存儲器101中所存儲的數(shù)據(jù)的引導(dǎo)程序。以下將存儲有引導(dǎo)程序的一個或多個區(qū)段稱為「引導(dǎo)區(qū)域」、將存儲有主程序、字體數(shù)據(jù)等的一個或多個區(qū)域稱為「主存儲區(qū)域」。另外,將引導(dǎo)區(qū)域所存儲的引導(dǎo)程序的數(shù)據(jù)稱為「引導(dǎo)數(shù)據(jù)」、將主存儲區(qū)域所存儲的主程序、字體數(shù)據(jù)等的數(shù)據(jù)稱為「主數(shù)據(jù)」。還有,在本說明書中稱引導(dǎo)區(qū)域、主存儲區(qū)域的情況,包含具有多個可一次清除的最小單位的區(qū)段。(第1實施例)圖2為表示閃存存儲器的區(qū)域結(jié)構(gòu)的一例的圖。以下,將由三個區(qū)域所構(gòu)成的引導(dǎo)區(qū)域作為例子進(jìn)行說明。閃存存儲器101的引導(dǎo)區(qū)域由第1引導(dǎo)區(qū)域201、第2引導(dǎo)區(qū)域202及第3引導(dǎo)區(qū)域203這三個區(qū)域構(gòu)成。
在第1引導(dǎo)區(qū)域201內(nèi)存儲有實施啟動電子設(shè)備的最低限功能的引導(dǎo)數(shù)據(jù)。比如,作為啟動電子設(shè)備的最低限的功能可以舉出CPU103的初始化、堆棧的初始化等的各種初始化、RAM102的Write/Read檢測、門陣列寄存器的Write/Read檢測等的各種檢測、啟動模式的判斷等的各種判斷等。以下,將第1引導(dǎo)區(qū)域201稱為「啟動引導(dǎo)區(qū)域」、將存儲在啟動引導(dǎo)區(qū)域201中引導(dǎo)數(shù)據(jù)稱為「啟動引導(dǎo)數(shù)據(jù)」、將根據(jù)啟動引導(dǎo)數(shù)據(jù)所實施的處理稱為「啟動引導(dǎo)處理」。
在第2引導(dǎo)區(qū)域202內(nèi)存儲有實現(xiàn)作為啟動引導(dǎo)處理的在為了啟動電子設(shè)備的最低限功能以外的啟動時的各種功能(在存儲改寫模式的啟動時的各種功能)及改寫閃存存儲器101內(nèi)存儲的數(shù)據(jù)的功能的引導(dǎo)數(shù)據(jù)。比如,作為讓啟動引導(dǎo)處理的電子設(shè)備啟動的最低限功能以外的啟動時的功能,可以舉出判斷通信接口的種類、對應(yīng)各通信接口的處理、對應(yīng)各種狀態(tài)指令的處理(固體軟件形式ID的發(fā)送處理等)。根據(jù)執(zhí)行改寫閃存存儲器101內(nèi)所存儲的數(shù)據(jù)的功能的引導(dǎo)數(shù)據(jù),執(zhí)行改寫啟動引導(dǎo)區(qū)域201及第2引導(dǎo)區(qū)域(自身的區(qū)域)202以外的閃存存儲器101內(nèi)所存儲的引導(dǎo)數(shù)據(jù)及主數(shù)據(jù)的處理。以下,將第2引導(dǎo)區(qū)域202稱為「W引導(dǎo)區(qū)域A」、將W引導(dǎo)區(qū)域A202所存儲的W引導(dǎo)數(shù)據(jù)稱為「W引導(dǎo)數(shù)據(jù)A」、將根據(jù)W引導(dǎo)數(shù)據(jù)A實施的W引導(dǎo)處理稱為「W引導(dǎo)處理A」。
在第3引導(dǎo)區(qū)域203內(nèi)存儲有實施作為啟動引導(dǎo)處理的在為了啟動電子設(shè)備啟動的最低限功能以外的啟動時的各種功能(在存儲改寫模式的啟動時的各種功能)及將閃存存儲器101內(nèi)存儲的數(shù)據(jù)改寫的功能的W引導(dǎo)數(shù)據(jù)A基本相同的引導(dǎo)數(shù)據(jù)。根據(jù)執(zhí)行改寫閃存存儲器101內(nèi)所存儲的數(shù)據(jù)的功能的引導(dǎo)數(shù)據(jù),執(zhí)行改寫啟動引導(dǎo)區(qū)域201及第3引導(dǎo)區(qū)域(自身的區(qū)域)203以外的閃存存儲器101內(nèi)所存儲的引導(dǎo)數(shù)據(jù)及主數(shù)據(jù)的處理。以下,將第3引導(dǎo)區(qū)域203稱為「W引導(dǎo)區(qū)域B」、將W引導(dǎo)區(qū)域B203所存儲的W引導(dǎo)數(shù)據(jù)稱為「W引導(dǎo)數(shù)據(jù)B」、將根據(jù)W引導(dǎo)數(shù)據(jù)B實施的W引導(dǎo)處理稱為「W引導(dǎo)處理B」。
根據(jù)這樣的區(qū)域結(jié)構(gòu),通過W引導(dǎo)區(qū)域的一方的W引導(dǎo)處理,就可以改寫另一方的W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù),進(jìn)而就可以保證進(jìn)行正常動作的至少一個的W引導(dǎo)區(qū)域。
另外,在W引導(dǎo)區(qū)域A202及B203內(nèi)分別存儲有查證各W引導(dǎo)區(qū)域區(qū)域的正確性(W引導(dǎo)數(shù)據(jù)是否被正確地存儲保持著)的確認(rèn)總數(shù)、識別W引導(dǎo)區(qū)域的數(shù)據(jù)更新次數(shù)的W引導(dǎo)更新次數(shù)及W引導(dǎo)區(qū)域的W引導(dǎo)ID。確認(rèn)總數(shù)及W引導(dǎo)更新次數(shù)作為引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)來使用。即啟動引導(dǎo)處理根據(jù)確認(rèn)總數(shù)及W引導(dǎo)更新次數(shù)來判斷存儲有正常并最新的W引導(dǎo)數(shù)據(jù)的W引導(dǎo)區(qū)域,根據(jù)存儲在判斷的W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù)來實施W引導(dǎo)處理。
圖3為表示存儲改寫控制系統(tǒng)的存儲改寫處理的一例的功能方框圖。存儲改寫控制系統(tǒng)100具有引導(dǎo)數(shù)據(jù)判斷部301、第1改寫部302及第2改寫部303。
第1改寫部302具有第1更新數(shù)據(jù)接收部321、第1區(qū)域判斷部322、第1更新數(shù)據(jù)寫入部323及第1更新判斷數(shù)據(jù)算出部324,第2改寫部303具有第2更新數(shù)據(jù)接收部331、第2區(qū)域判斷部332、第2更新數(shù)據(jù)寫入部333及第2更新判斷數(shù)據(jù)算出部334。
引導(dǎo)數(shù)據(jù)判斷部301為根據(jù)圖2的啟動引導(dǎo)區(qū)域201內(nèi)所存儲的啟動引導(dǎo)數(shù)據(jù)被實施的啟動引導(dǎo)處理的一個功能,根據(jù)引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)的W引導(dǎo)區(qū)域A202、B203內(nèi)所存儲的確認(rèn)總數(shù)及W引導(dǎo)更新次數(shù),判斷實施W引導(dǎo)區(qū)域A202內(nèi)所存儲的W引導(dǎo)數(shù)據(jù)A的W引導(dǎo)處理A或W引導(dǎo)區(qū)域B203內(nèi)所存儲的W引導(dǎo)數(shù)據(jù)B的W引導(dǎo)處理B的哪個處理。
第1改寫部302為圖2的W引導(dǎo)區(qū)域A202的W引導(dǎo)處理A的一個功能,可以改寫構(gòu)成清除啟動引導(dǎo)區(qū)域201及W引導(dǎo)區(qū)域A202的閃存存儲器101的(多個)區(qū)域內(nèi)所存儲的數(shù)據(jù)。通過第1改寫部302可以改寫W引導(dǎo)區(qū)域B203內(nèi)所存儲的W引導(dǎo)數(shù)據(jù)B。
第1改寫部302的第1更新數(shù)據(jù)接收部321利用規(guī)定的通信接口接收來自主裝置的更新數(shù)據(jù)。根據(jù)規(guī)定的格式按規(guī)定大小的數(shù)據(jù)單位(記錄單位)將更新數(shù)據(jù)發(fā)送。
第1改寫部302的第1區(qū)域判斷部322判斷存儲通過第1更新數(shù)據(jù)接收部321接收到的更新數(shù)據(jù)的閃存存儲器101的區(qū)域為哪里的區(qū)域,在為啟動引導(dǎo)區(qū)域201及W引導(dǎo)區(qū)域A202的情況下,就不實施更新數(shù)據(jù)的改寫。第1改寫部302的第1更新數(shù)據(jù)寫入部323將更新數(shù)據(jù)寫入清除啟動引導(dǎo)區(qū)域201及W引導(dǎo)區(qū)域A202的閃存存儲器101所指定(判斷)的區(qū)域。
第1改寫部302的第1更新判斷數(shù)據(jù)算出部324算出被改寫的閃存存儲器101的W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)及主存儲區(qū)域204的確認(rèn)總數(shù),并根據(jù)W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)算出W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù),分別進(jìn)行更新。
第2改寫部303為圖2的W引導(dǎo)區(qū)域B203的W引導(dǎo)處理B的一個功能,可以改寫構(gòu)成清除啟動引導(dǎo)區(qū)域201及W引導(dǎo)區(qū)域B203的閃存存儲器101的(多個)區(qū)域。通過第2改寫部303可以改寫W引導(dǎo)區(qū)域A202內(nèi)所存儲的W引導(dǎo)數(shù)據(jù)A。
第2改寫部303的第2更新數(shù)據(jù)接收部331利用規(guī)定的通信接口接收來自主裝置的更新數(shù)據(jù)。根據(jù)規(guī)定的格式按規(guī)定尺寸的數(shù)據(jù)單位(記錄單位)將更新數(shù)據(jù)發(fā)送。
第2改寫部303的第2區(qū)域判斷部332判斷存儲通過第2更新數(shù)據(jù)接收部331接收到的更新數(shù)據(jù)的閃存存儲器101的區(qū)域為哪里的區(qū)域,在為啟動引導(dǎo)區(qū)域201及W引導(dǎo)區(qū)域B203的情況下,就不實施更新數(shù)據(jù)的改寫。第2改寫部303的第2更新數(shù)據(jù)寫入部333將更新數(shù)據(jù)寫入清除啟動引導(dǎo)區(qū)域201及W引導(dǎo)區(qū)域B203的閃存存儲器101所指定(判斷)的區(qū)域。
第2改寫部303的第2更新判斷數(shù)據(jù)算出部334算出被改寫的閃存存儲器101的W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)及主存儲區(qū)域204的確認(rèn)總數(shù),并根據(jù)W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)算出W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù),分別進(jìn)行更新。
圖4為表示兩個W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù)的改寫順序圖。具有存儲改寫控制系統(tǒng)的電子設(shè)備分別將W引導(dǎo)數(shù)據(jù)A及W引導(dǎo)數(shù)據(jù)B儲存在閃存存儲器101的W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的狀態(tài)發(fā)出。W引導(dǎo)更新次數(shù)作為初始值被儲存在一方的W引導(dǎo)區(qū)域為「1」、被儲存在另一方的W引導(dǎo)區(qū)域為「0」。比如,將W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)定為「1」、將W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)定為「0」。
根據(jù)W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的各W引導(dǎo)區(qū)域區(qū)域的確認(rèn)總數(shù)及W引導(dǎo)更新次數(shù)來判斷啟動引導(dǎo)處理所實施的最新的W引導(dǎo)處理是W引導(dǎo)處理A還是W引導(dǎo)處理B。W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)均為正常的情況下,就實施W引導(dǎo)更新次數(shù)的多的(即最后被寫入的)W引導(dǎo)區(qū)域的W引導(dǎo)處理。另外,W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)只有一方為正常的情況下,就實施正常的確認(rèn)總數(shù)的W引導(dǎo)區(qū)域的W引導(dǎo)處理。
通過執(zhí)行中的W引導(dǎo)區(qū)域的W引導(dǎo)處理來改寫非執(zhí)行中(非選擇)的W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù),并更新W引導(dǎo)更新次數(shù)。比如,如圖所示那樣,在第1次的改寫W引導(dǎo)區(qū)域的情況下,被實施的W引導(dǎo)處理為W引導(dǎo)處理A。因而被改寫的W引導(dǎo)區(qū)域就為W引導(dǎo)區(qū)域B203。既通過W引導(dǎo)處理A來更新W引導(dǎo)區(qū)域B203的W引導(dǎo)數(shù)據(jù)B。
另外,W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)就為在W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)上加上1的次數(shù)。即被更新的W引導(dǎo)區(qū)域的W引導(dǎo)更新次數(shù)的一方變得比執(zhí)行中的W引導(dǎo)區(qū)域的W引導(dǎo)更新次數(shù)多。還有,如圖所示那樣,作為例外的更新次數(shù)為FFFFh次的情況,下一次的更新次數(shù)就為0次。既W引導(dǎo)更新次數(shù)當(dāng)寫入10000h次時就返回到發(fā)出時的狀態(tài)(初始值)。
圖5為表示引導(dǎo)處理順序的例子的流程圖。表示啟動引導(dǎo)區(qū)域201的啟動引導(dǎo)處理、W引導(dǎo)區(qū)域A202的W引導(dǎo)處理及W引導(dǎo)區(qū)域B203的W引導(dǎo)處理B的處理順序的一例。首先,當(dāng)電子設(shè)備的電源被接通時,就實施CPU103的初始化、堆棧的初始化等的各種初始化、RAM102的W/R確認(rèn)、門陣列寄存器的W/R確認(rèn)等的各種確認(rèn)、啟動模式的判斷等的各判斷等(S501)。
接下來,如通過確認(rèn)電子設(shè)備具備的磁傾角開關(guān)的狀態(tài)來判斷是否為存儲改寫模式(S502),在不是存儲改寫模式的情況、即通常模式的情況(S502;No)下,就查證主存儲區(qū)域204的確認(rèn)總數(shù)(S512),確認(rèn)總數(shù)是否正常,即判斷主存儲區(qū)域204的數(shù)據(jù)是否正常(S513)。在確認(rèn)總數(shù)為異常的情況下(S513;No),就實施顯示錯誤等的錯誤處理(S515)。另一方面,在確認(rèn)總數(shù)為正常的情況下(S513;Yes),就實施通常模式的主程序的各種處理(S514)。
在為存儲改寫模式的情況下(S502;Yes),就查證W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)(S503)。判斷W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)是否均為異常(S504),在W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)均為異常的情況下(S504;Yes),就實施顯示錯誤等的錯誤處理(S505)。
另一方面,,在W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)均為非異常的情況下(S504;No),就判斷W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)是否均為正常(S506),在W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)均為正常的情況下(S506;Yes),就取得W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)及W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)(S507),判斷W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)是否也比W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)大(S508)。
在W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)也比W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)多的情況下、即W引導(dǎo)數(shù)據(jù)A為比W引導(dǎo)數(shù)據(jù)B新的W引導(dǎo)數(shù)據(jù)的情況下(S508;Yes),就實施W引導(dǎo)區(qū)域A202的W引導(dǎo)處理A的存儲改寫處理(S510)。另一方面,在W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)在W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)以下情況下、即W引導(dǎo)數(shù)據(jù)B為比W引導(dǎo)數(shù)據(jù)A新的W引導(dǎo)數(shù)據(jù)的情況下(S508;No),就實施W引導(dǎo)數(shù)據(jù)B203的W引導(dǎo)處理B的存儲改寫處理(S509)。
W引導(dǎo)區(qū)域A202及W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)均為不正常的情況下、即其中一方的W引導(dǎo)區(qū)域為異常的情況下(S506;No),就判斷W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)是否正常(S511),在W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)為正常的情況下(S511;Yes),就實施W引導(dǎo)區(qū)域A202的W引導(dǎo)處理A的存儲改寫處理(S510)。另一方面,在W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)為異常的情況下、即W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)為正常的情況下(S511;No),就實施W引導(dǎo)數(shù)據(jù)B203的W引導(dǎo)處理B的存儲改寫處理(S509)。
另外,通過接收來自主裝置的存儲改寫模式移動指令(S516),電子設(shè)備就從通常模式移動到存儲改寫模式,實施閃存存儲器的改寫(S503~511)。
還有,在初始化/確認(rèn)處理(S501)之后,判斷啟動哪一方的W引導(dǎo)處理(S503~S508、S511),另外,判斷是通常模式還是存儲改寫模式(S502),根據(jù)被選擇的其中一方的W引導(dǎo)處理來啟動該模式的處理、即也可以啟動主程序的通常處理(S512~S515)也可以啟動W引導(dǎo)處理的存儲改寫處理(S509/S510)。在這種情況下,也可以讓W(xué)引導(dǎo)處理包含電子設(shè)備的通常模式的(啟動時的)處理功能。
圖6為表示第1實施例的W引導(dǎo)處理(A、B)的閃存存儲器改寫處理順序的例子的流程圖。首先,實施判斷從主裝置接收的改寫閃存存儲器101的更新數(shù)據(jù)的通信接口及各種初始化(S601)、取得識別執(zhí)行中的W引導(dǎo)區(qū)域的W引導(dǎo)處理的W引導(dǎo)ID(S602)。
接下來,將更新數(shù)據(jù)接收到記錄單位(S603)。以下,將接收的記錄單位的更新數(shù)據(jù)稱為「接收記錄數(shù)據(jù)」。下面,判斷接收記錄數(shù)據(jù)是否為結(jié)束記錄、即判斷更新數(shù)據(jù)的接收是否結(jié)束(S604)。
在接收記錄數(shù)據(jù)不是結(jié)束記錄的情況下(S604;No),判斷接收記錄數(shù)據(jù)是否為應(yīng)存儲的閃存存儲器的區(qū)域的更新數(shù)據(jù)(S605)。在接收記錄數(shù)據(jù)中包含有存儲開始地址,根據(jù)該存儲開始地址來判斷應(yīng)存儲的閃存存儲器的區(qū)域。另外,被改寫的區(qū)域為啟動引導(dǎo)區(qū)域201及執(zhí)行中的W引導(dǎo)區(qū)域以外的區(qū)域。
在接收記錄數(shù)據(jù)為應(yīng)存儲的閃存存儲器的區(qū)域的更新數(shù)據(jù)的情況下(S605;Yes),實施接收記錄數(shù)據(jù)的寫入處理(S606),將通知正常接收的正常接收狀態(tài)發(fā)送到主裝置(S607),返回步驟S603,接收下一個更新數(shù)據(jù)的記錄數(shù)據(jù)。在這里,在改寫非執(zhí)行中的W引導(dǎo)區(qū)域的情況時,算出W引導(dǎo)更新次數(shù)并寫入。作為一種實施例,接收應(yīng)儲存在非執(zhí)行中的W引導(dǎo)區(qū)域的記錄數(shù)據(jù),在開始該W引導(dǎo)區(qū)域的數(shù)據(jù)的改寫后,在接收應(yīng)儲存在該W引導(dǎo)區(qū)域以外的區(qū)域的記錄數(shù)據(jù)的情況,就判斷該W引導(dǎo)區(qū)域的改寫結(jié)束了,算出W引導(dǎo)更新次數(shù)并寫入。
另一方面,在接收記錄數(shù)據(jù)不是應(yīng)存儲的閃存存儲器的區(qū)域的更新數(shù)據(jù)的情況(S605;No)下,就不讀取接收記錄數(shù)據(jù),返回到步驟S603,接收下一個更新數(shù)據(jù)的記錄數(shù)據(jù)。
在接收記錄數(shù)據(jù)為結(jié)束記錄的情況下(S604;Yes),算出實施接收記錄數(shù)據(jù)的寫入處理的主存儲區(qū)域204的確認(rèn)總數(shù)及/或非執(zhí)行中的W引導(dǎo)區(qū)域的確認(rèn)總數(shù)并寫入(S608),將CPU103復(fù)位(S609),結(jié)束改寫處理。
另外,也可以通過接收來自主裝置的存儲改寫模式結(jié)束指令(S610),將CPU103復(fù)位(S609),結(jié)束存儲改寫處理。
在這里,從主裝置發(fā)送來的更新數(shù)據(jù),也可以由各個區(qū)域、即W引導(dǎo)區(qū)域A202、B203、主存儲區(qū)域204所構(gòu)成,也可以為總括任意的多個區(qū)域的更新數(shù)據(jù)。另外,W引導(dǎo)更新次數(shù)也可以同時進(jìn)行步驟S608的確認(rèn)總數(shù)的算出·寫入的處理。
圖7為表示第1實施例的閃存存儲器的改寫范圍的圖。圖7(a)為表示實施W引導(dǎo)處理A的情況下的閃存存儲器的改寫范圍的圖,圖7(b)為表示實施W引導(dǎo)處理B的情況下的閃存存儲器的改寫范圍的圖。如圖所示,根據(jù)接收記錄數(shù)據(jù)改寫以下所示的4項數(shù)據(jù)以外的數(shù)據(jù)。
·啟動引導(dǎo)數(shù)據(jù)是未被改寫的引導(dǎo)數(shù)據(jù)。
·執(zhí)行中的W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù)在W引導(dǎo)處理A執(zhí)行中的情況下是W引導(dǎo)數(shù)據(jù)A,在W引導(dǎo)處理B執(zhí)行中的情況下是W引導(dǎo)數(shù)據(jù)B。
·非執(zhí)行中W引導(dǎo)區(qū)域的確認(rèn)總數(shù)在W引導(dǎo)處理A執(zhí)行中的情況下是W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù),在W引導(dǎo)處理B執(zhí)行中的情況下是W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)。
·主存儲區(qū)域204的確認(rèn)總數(shù)是主存儲區(qū)域全部區(qū)域的確認(rèn)總數(shù)。
確認(rèn)總數(shù)如上所述的那樣,在W引導(dǎo)處理的改寫處理當(dāng)中被計算出來并將該值寫入閃存存儲器(S608)。
在閃存存儲器101的數(shù)據(jù)改寫方法中有各種各樣的方法。比如可以利用以下說明的改寫方法來實施。
第1改寫方法為在構(gòu)成閃存存儲器101的所有的區(qū)域內(nèi)、作為記錄數(shù)據(jù)依次接收區(qū)域全域的更新數(shù)據(jù)的改寫方法。在這里,未使用區(qū)域的記錄數(shù)據(jù)作為Oxff被發(fā)送、接收。在接收記錄數(shù)據(jù)為改寫對象的區(qū)域(更新對象區(qū)域)的最初的(先頭)更新數(shù)據(jù)的情況下,清除更新對象區(qū)域的所有的數(shù)據(jù),根據(jù)存儲開始地址將接收記錄數(shù)據(jù)寫入更新對象區(qū)域。在接收記錄數(shù)據(jù)不是更新對象的區(qū)域的最初的更新數(shù)據(jù)的情況下,根據(jù)存儲開始地址將接收記錄數(shù)據(jù)寫入更新對象區(qū)域。
第2改寫方法為在W引導(dǎo)區(qū)域的數(shù)據(jù)中、接收存有數(shù)據(jù)部分的更新數(shù)據(jù)、改寫區(qū)域全域、在W引導(dǎo)區(qū)域以外的區(qū)域內(nèi)只接收應(yīng)更新的數(shù)據(jù)并只改寫該接收記錄數(shù)據(jù)部分的方法。
在W引導(dǎo)區(qū)域為更新對象區(qū)域的情況下、接收記錄數(shù)據(jù)為更新對象區(qū)域的最初的(先頭)更新數(shù)據(jù)的情況下,將更新對象區(qū)域的數(shù)據(jù)復(fù)制到RAM上,生成區(qū)域鏡像,將接收記錄數(shù)據(jù)寫入RAM的區(qū)域鏡像,清除更新對象區(qū)域的所有數(shù)據(jù)。在接收記錄數(shù)據(jù)不是更新對象區(qū)域的最初的更新數(shù)據(jù)的情況下,將存有數(shù)據(jù)部分的所有的接收記錄數(shù)據(jù)寫入RAM的區(qū)域鏡像,將被寫入的RAM上的區(qū)域鏡像寫回到更新對象區(qū)域。
W引導(dǎo)區(qū)域以外區(qū)域為更新對象區(qū)域的情況下,將更新對象區(qū)域的所有的數(shù)據(jù)復(fù)制到RAM上,寫入應(yīng)更新部分的接收記錄數(shù)據(jù),清除更新對象區(qū)域的所有數(shù)據(jù),將被寫入的RAM上的區(qū)域鏡像寫回到更新對象區(qū)域。
第3改寫方法為在構(gòu)成閃存存儲器101的所有的區(qū)域中、只接收應(yīng)更新的數(shù)據(jù)并只改寫該接收記錄數(shù)據(jù)部分的方法。將更新對象區(qū)域的所有數(shù)據(jù)復(fù)制到RAM上,生成區(qū)域鏡像,將應(yīng)更新部分的接收記錄數(shù)據(jù)寫入RAM上的區(qū)域鏡像,清除更新對象區(qū)域的所有數(shù)據(jù),將被寫入的RAM上的區(qū)域鏡像寫回到更新對象區(qū)域。
圖8為表示W(wǎng)引導(dǎo)區(qū)域的改寫的詳細(xì)說明圖。圖8(a)為表示在實施W引導(dǎo)處理A的情況下的W引導(dǎo)區(qū)域B的改寫狀態(tài)的說明圖,圖8(b)為表示在實施W引導(dǎo)處理B的情況下的W引導(dǎo)區(qū)域A的改寫狀態(tài)的說明圖。比如,如圖8(a)所示的那樣,在實施W引導(dǎo)處理A的情況下,依次接收W引導(dǎo)區(qū)域B203的W引導(dǎo)數(shù)據(jù)B,根據(jù)存儲開始地址將該接收記錄數(shù)據(jù)寫入W引導(dǎo)區(qū)域B203。接著算出W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)并寫入W引導(dǎo)區(qū)域B203規(guī)定的區(qū)域。這里,在W引導(dǎo)區(qū)域A202的引導(dǎo)區(qū)域更新次數(shù)為N的情況下,W引導(dǎo)區(qū)域B203的W引導(dǎo)更新次數(shù)就為(N+1)。接下來,算出W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù)并寫入W引導(dǎo)區(qū)域B203規(guī)定的區(qū)域。另外,如圖8(b)所示,在實施W引導(dǎo)處理B的情況下也是為和實施W引導(dǎo)處理A的情況同樣。即、根據(jù)接收記錄數(shù)據(jù)改寫W引導(dǎo)區(qū)域A202的W引導(dǎo)數(shù)據(jù)A,將W引導(dǎo)區(qū)域A202的W引導(dǎo)更新次數(shù)和W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)的算出值寫入。
(第2實施例)
在第2實施例中,在將啟動引導(dǎo)區(qū)域201加上W引導(dǎo)區(qū)域A202、B203及主存儲區(qū)域204包含在改寫對象區(qū)域這一點(diǎn)上與第1實施例不同。以下,對于與第1實施例的不同點(diǎn)進(jìn)行說明。
在起動引導(dǎo)區(qū)域201所存儲的啟動引導(dǎo)數(shù)據(jù)的改寫操作上,由于改寫錯誤,有時會造成電子設(shè)備處于不能啟動的狀態(tài)。為此,在第1實施例中,不將啟動引導(dǎo)區(qū)域作為改寫對象區(qū)域,而是只將W引導(dǎo)區(qū)域202、203及主存儲區(qū)域204作為改寫對象區(qū)域,保護(hù)啟動引導(dǎo)數(shù)據(jù)(以下稱為通常改寫模式)。只將啟動引導(dǎo)處理作為啟動電子設(shè)備的最低限的功能,降低啟動引導(dǎo)數(shù)據(jù)改寫的必要性,在起動引導(dǎo)數(shù)據(jù)中發(fā)現(xiàn)錯誤的情況下的校正及起動引導(dǎo)數(shù)據(jù)的修改等情況才有必要改寫起動引導(dǎo)數(shù)據(jù)。為此,第2實施例的存儲改寫控制系統(tǒng)100具有在W引導(dǎo)區(qū)域202、203及主存儲區(qū)域204的基礎(chǔ)上加之將啟動引導(dǎo)區(qū)域201也作為改寫對象區(qū)域的啟動引導(dǎo)改寫模式。
第2實施例的存儲改寫控制系統(tǒng)100在改寫閃存存儲器101中所存儲的主裝置發(fā)送來的數(shù)據(jù)的更新數(shù)據(jù)當(dāng)中,在檢測出表示將具有規(guī)定的數(shù)據(jù)長的特定的數(shù)據(jù)寫入閃存存儲器101的規(guī)定地址的數(shù)據(jù)的情況下,就轉(zhuǎn)到啟動引導(dǎo)改寫模式。規(guī)定的地址及特性數(shù)據(jù)可以為事先決定好的,在本實施例中,將特定數(shù)據(jù)作為數(shù)據(jù)長7字節(jié)的字符代碼“REWRITE”,在執(zhí)行中的W引導(dǎo)區(qū)域為W引導(dǎo)區(qū)域A202的情況下,將規(guī)定的地址作為OxF1FFEO的地址、在執(zhí)行中的W引導(dǎo)區(qū)域為W引導(dǎo)區(qū)域B203的情況下,將規(guī)定的地址作為OxF0FFEO的地址。還有,也可以將上述的兩個地址分別作為寫入特定數(shù)據(jù)的規(guī)定的地址包含在一個更新數(shù)據(jù)當(dāng)中。在這種情況下,執(zhí)行中的W引導(dǎo)區(qū)域無論是哪一個都可以移動到啟動引導(dǎo)改寫模式。
也就是說,根據(jù)W引導(dǎo)區(qū)域A202所存儲的W引導(dǎo)數(shù)據(jù)A,執(zhí)行改寫自身區(qū)域202以外的閃存存儲器101所存儲的引導(dǎo)數(shù)據(jù)及主數(shù)據(jù)的處理。另外,根據(jù)W引導(dǎo)區(qū)域B203所存儲的W引導(dǎo)數(shù)據(jù)B,執(zhí)行改寫自身區(qū)域203以外的閃存存儲器101所存儲的引導(dǎo)數(shù)據(jù)及主數(shù)據(jù)的處理。這樣,和第1實施例同樣,通過根據(jù)W引導(dǎo)區(qū)域的一方的W引導(dǎo)處理來改寫其他方的W引導(dǎo)區(qū)域,就可以保證正常地進(jìn)行動作的至少一個W引導(dǎo)區(qū)域。
第1改寫部302為圖2的W引導(dǎo)區(qū)域A202的W引導(dǎo)處理A的一個功能,可以改寫構(gòu)成清除W引導(dǎo)區(qū)域A202的閃存存儲器101的區(qū)域所存儲的數(shù)據(jù)。即、可以通過第1改寫部302改寫啟動引導(dǎo)區(qū)域201所存儲的啟動引導(dǎo)數(shù)據(jù)、W引導(dǎo)區(qū)域B203所存儲的W引導(dǎo)數(shù)據(jù)B、主存儲區(qū)域204所存儲的主數(shù)據(jù)。
第1區(qū)域判斷部322判斷存儲通過第1更新數(shù)據(jù)接收部321接收的更新數(shù)據(jù)的閃存存儲器101的區(qū)域為哪里的區(qū)域,當(dāng)為W引導(dǎo)區(qū)域A202的情況下,就不實施更新數(shù)據(jù)的改寫。另外,解析接收的更新數(shù)據(jù),判斷是否移動到啟動引導(dǎo)改寫模式,在不移動到該模式的情況、應(yīng)存儲更新數(shù)據(jù)的區(qū)域為啟動引導(dǎo)區(qū)域201的情況下,就不實施更新數(shù)據(jù)的改寫。
第1更新數(shù)據(jù)寫入部323根據(jù)第1區(qū)域判斷部322的判斷結(jié)果,將更新數(shù)據(jù)寫入閃存存儲器101所指定的區(qū)域。
第2改寫部303為圖2的W引導(dǎo)區(qū)域B203的W引導(dǎo)處理B的一個功能,可以改寫構(gòu)成清除W引導(dǎo)區(qū)域B203的閃存存儲器101的區(qū)域所存儲的數(shù)據(jù)。即、可以通過第2改寫部303改寫啟動引導(dǎo)區(qū)域201所存儲的啟動引導(dǎo)數(shù)據(jù)、W引導(dǎo)區(qū)域A202所存儲的W引導(dǎo)數(shù)據(jù)A、主存儲區(qū)域204所存儲的主數(shù)據(jù)。
第2區(qū)域判斷部332判斷存儲通過第2更新數(shù)據(jù)接收部331接收的更新數(shù)據(jù)的閃存存儲器101的區(qū)域為哪里的區(qū)域,當(dāng)為W引導(dǎo)區(qū)域B203的情況下,就不實施更新數(shù)據(jù)的改寫。另外,解析接收的更新數(shù)據(jù),判斷是否移動到啟動引導(dǎo)改寫模式,在不移動到該模式的情況下、在應(yīng)存儲更新數(shù)據(jù)的區(qū)域為啟動引導(dǎo)區(qū)域201的情況下,就不實施更新數(shù)據(jù)的改寫。
第2更新數(shù)據(jù)寫入部333根據(jù)第2區(qū)域判斷部332的判斷結(jié)果,將更新數(shù)據(jù)寫入閃存存儲器101所指定的區(qū)域。
圖9為表示對移動到啟動引導(dǎo)改寫模式的判斷處理的順序的一例的流程圖。本處理為判斷是否從通常改寫模式移動到啟動引導(dǎo)改寫模式的處理,在圖5所示的存儲改寫處(S509、S510)的當(dāng)中進(jìn)行。
首先,在記錄單位解析接收的更新數(shù)據(jù),判斷被指定的地址是否為規(guī)定的地址(在本例中,為OxF1FFEO地址、OxF0FFEO地址)(S701)。在指定地址為規(guī)定地址的情況下(S701;Yes),就判斷被指定的數(shù)據(jù)的數(shù)據(jù)長是否為規(guī)定的數(shù)據(jù)長(在本例中,為7字節(jié))(S702)。在數(shù)據(jù)長為規(guī)定數(shù)據(jù)長的情況下(S702;Yes),就判斷被指定的數(shù)據(jù)的內(nèi)容是否為特定數(shù)據(jù)(在本例中,為字符代碼“REWRITE”)(S703)。在指定數(shù)據(jù)的內(nèi)容為特定數(shù)據(jù)的情況下(S703;Yes),將通知正常接收的正常接收狀態(tài)數(shù)據(jù)發(fā)送到主裝置(S704),將追加啟動引導(dǎo)區(qū)域201的標(biāo)志調(diào)到閃存存儲器101的改寫對象區(qū)域(S705),不讀取接收的記錄數(shù)據(jù)(S706)。
另外,在指定地址不是規(guī)定地址的情況(S701;No)、數(shù)據(jù)長不是規(guī)定數(shù)據(jù)長的情況(S702;No)或數(shù)據(jù)的內(nèi)容不是特定數(shù)據(jù)的情況下(S703;No),就不將追加啟動引導(dǎo)區(qū)域201的標(biāo)志調(diào)到改寫對象區(qū)域,結(jié)束本判斷處理。在這種情況下,通常改寫模式就維持原狀。
圖10為表示第2實施例的W引導(dǎo)處理(A、B)的閃存存儲器改寫處理順序的一例的流程圖。和圖6所示的第1實施例的順序大致相同,但在第2實施例中,在接收記錄數(shù)據(jù)之后(S803)就實施圖9所示的啟動引導(dǎo)改寫模式判斷處理(S804)。即判斷接收記錄數(shù)據(jù)是否為表示將特定的數(shù)據(jù)寫入規(guī)定地址的數(shù)據(jù),根據(jù)該判斷結(jié)果,決定是轉(zhuǎn)到啟動引導(dǎo)改寫模式還是維持通常改寫模式。以后的S805~S811的處理和第1實施例的S604~S610的處理同樣。被改寫的區(qū)域,在通常改寫模式中為啟動引導(dǎo)區(qū)域201及執(zhí)行中的W引導(dǎo)區(qū)域以外的區(qū)域、在啟動引導(dǎo)改寫模式中為執(zhí)行中的W引導(dǎo)區(qū)域以外的區(qū)域。
另外,在步驟S804,移動到啟動引導(dǎo)改寫模式的情況下,為了將啟動引導(dǎo)區(qū)域201作為改寫對象區(qū)域而被調(diào)節(jié)的標(biāo)志,通過步驟S810的處理被復(fù)位。
在這里,從主裝置發(fā)送來的更新數(shù)據(jù)可以為由各區(qū)域、即啟動區(qū)域201、W引導(dǎo)區(qū)域A202、B203、主存儲區(qū)域204所構(gòu)成的,也可以為總括任意的多個區(qū)域的更新數(shù)據(jù)。
圖11為表示第2實施例的閃存存儲器的改寫范圍的圖。圖11(a)為表示實施W引導(dǎo)處理A情況下的閃存存儲器的改寫范圍的圖,圖11(b)為表示實施W引導(dǎo)處理B情況下的閃存存儲器的改寫范圍的圖。如圖所示,根據(jù)接收記錄數(shù)據(jù)改寫以下所示的三項數(shù)據(jù)以外的數(shù)據(jù)。
·執(zhí)行中的W引導(dǎo)區(qū)域的W引導(dǎo)數(shù)據(jù)在W引導(dǎo)處理A執(zhí)行中的情況下為W引導(dǎo)數(shù)據(jù)A,在W引導(dǎo)處理B執(zhí)行中的情況下為W引導(dǎo)數(shù)據(jù)B。
·非執(zhí)行中的W引導(dǎo)區(qū)域的確認(rèn)總數(shù)在W引導(dǎo)處理A執(zhí)行中的情況下為W引導(dǎo)區(qū)域B203的確認(rèn)總數(shù),在W引導(dǎo)處理B執(zhí)行中的情況下為W引導(dǎo)區(qū)域A202的確認(rèn)總數(shù)。
·主存儲區(qū)域204的確認(rèn)總數(shù)為全主存儲區(qū)域的確認(rèn)總數(shù)。
確認(rèn)總數(shù)如上所述的那樣,在W引導(dǎo)處理的改寫處理當(dāng)中被計算出來,其值被寫入閃存存儲器(S809)。
還有,如上所述的那樣,在通常改寫模式的情況下,和第1實施例相同,啟動引導(dǎo)數(shù)據(jù)也不包含在改寫范圍內(nèi)。
本發(fā)明也可以適用于W引導(dǎo)區(qū)域為三個以上的情況,其結(jié)構(gòu)可以根據(jù)確認(rèn)總數(shù)及更新次數(shù)從多個W引導(dǎo)區(qū)域當(dāng)中判斷應(yīng)實施的W引導(dǎo)區(qū)域、來實施啟動引導(dǎo)區(qū)域所存儲的啟動引導(dǎo)數(shù)據(jù)。
如以上說明的那樣,根據(jù)本發(fā)明,可以在閃存存儲器中設(shè)置啟動引導(dǎo)區(qū)域和至少兩個引導(dǎo)區(qū)域,通過在啟動引導(dǎo)區(qū)域中存儲實施啟動裝置的最低限功能的啟動引導(dǎo)數(shù)據(jù)、在至少兩個引導(dǎo)區(qū)域中分別存儲執(zhí)行改寫包含清除自身引導(dǎo)區(qū)域的閃存存儲器的啟動引導(dǎo)區(qū)域的其他的區(qū)域的功能(和具有啟動引導(dǎo)數(shù)據(jù)以外的啟動時的處理功能等)的引導(dǎo)數(shù)據(jù),就可以避免引導(dǎo)區(qū)域的改寫處理異常的裝置不能啟動的狀態(tài)。比如,將新的功能追加到(已經(jīng)正在正常發(fā)揮功能的)引導(dǎo)處理的情況下,通過將被追加功能的引導(dǎo)數(shù)據(jù)作為W引導(dǎo)數(shù)據(jù)寫入W引導(dǎo)區(qū)域,就可以避免在引導(dǎo)數(shù)據(jù)的改寫操作時的因改寫錯誤使電子設(shè)備不能啟動的狀態(tài)。
另外,在有必要改寫啟動引導(dǎo)數(shù)據(jù)的情況下,通過將特定數(shù)據(jù)寫入規(guī)定的地址旨意的數(shù)據(jù)包含在更新數(shù)據(jù)中進(jìn)行發(fā)送,使啟動引導(dǎo)區(qū)域處于可改寫狀態(tài),就可以很容易地進(jìn)行啟動引導(dǎo)數(shù)據(jù)的改寫。也就是說,既使在改寫啟動引導(dǎo)數(shù)據(jù)情況下,也沒有必要準(zhǔn)備特別的改寫程序等,可以用和W引導(dǎo)數(shù)據(jù)及主數(shù)據(jù)同樣的操作順序來進(jìn)行改寫。
另外,由于只通過一次的下載操作就可以改寫啟動引導(dǎo)數(shù)據(jù)、W引導(dǎo)數(shù)據(jù)及主數(shù)據(jù),因此就可以使操作順序簡單化、減少操作錯誤的發(fā)生。而且還可以縮短改寫操作的時間。
權(quán)利要求
1.一種存儲器改寫控制系統(tǒng),是一種對于可以在由多個區(qū)域構(gòu)成的,能夠以區(qū)域為單位清除數(shù)據(jù)的,具有存儲起動引導(dǎo)數(shù)據(jù)的起動引導(dǎo)區(qū)域、存儲被所述起動引導(dǎo)數(shù)據(jù)選擇性地起動的引導(dǎo)數(shù)據(jù)的至少2個引導(dǎo)區(qū)域、和存儲被所述起動引導(dǎo)數(shù)據(jù)或所述引導(dǎo)數(shù)據(jù)所起動的主數(shù)據(jù)的主存儲區(qū)域的閃存存儲器的存儲器改寫控制系統(tǒng),其特征在于包括從所述引導(dǎo)區(qū)域分別存儲的所述引導(dǎo)數(shù)據(jù)中,根據(jù)所述引導(dǎo)區(qū)域分別存儲的引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù),選擇出應(yīng)由所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)的引導(dǎo)數(shù)據(jù)判斷部;和除了存儲有由所述引導(dǎo)數(shù)據(jù)判斷部所選擇的所述引導(dǎo)數(shù)據(jù)的引導(dǎo)區(qū)域,對存儲在所述引導(dǎo)區(qū)域和/或所述主存儲區(qū)域的數(shù)據(jù)進(jìn)行改寫的改寫部。
2.根據(jù)權(quán)利要求1所述的存儲器改寫控制系統(tǒng),其特征在于,所述改寫部具有接收改寫所述閃存存儲器所存儲的數(shù)據(jù)的更新數(shù)據(jù)的更新數(shù)據(jù)接收部;根據(jù)所述更新數(shù)據(jù)接收部接收到的所述更新數(shù)據(jù),從所述引導(dǎo)區(qū)域及所述主存儲區(qū)域當(dāng)中選擇應(yīng)存儲更新數(shù)據(jù)的區(qū)域的區(qū)域判斷部;將所述更新數(shù)據(jù)接收部接收到的所述更新數(shù)據(jù)寫入由所述區(qū)域判斷部選擇的所述區(qū)域的更新數(shù)據(jù)寫入部;當(dāng)所述區(qū)域判斷部選擇的所述區(qū)域為所述引導(dǎo)區(qū)域時,計算出所述引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)并進(jìn)行更新的更新判斷數(shù)據(jù)算出部。
3.根據(jù)權(quán)利要求1所述的存儲器改寫控制系統(tǒng),其特征在于,所述改寫部具備有當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第1引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂銎饎右龑?dǎo)區(qū)域及所述第1引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第1改寫部;當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第2引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂銎饎右龑?dǎo)區(qū)域及所述第2引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第2改寫部。
4.根據(jù)權(quán)利要求1所述的存儲器改寫控制系統(tǒng),其特征在于所述改寫部判斷更新數(shù)據(jù)是否為將具有規(guī)定的數(shù)據(jù)長的特定數(shù)據(jù)寫入所述閃存存儲器的規(guī)定地址的規(guī)定的更新數(shù)據(jù),在所述更新數(shù)據(jù)為所述規(guī)定的更新數(shù)據(jù)的情況下,能夠?qū)λ銎饎右龑?dǎo)區(qū)域進(jìn)行改寫。
5.根據(jù)權(quán)利要求4所述的存儲器改寫控制系統(tǒng),其特征在于所述改寫部具有當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第1引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂龅?引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第1改寫部;當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷部所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第2引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂龅?引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第2改寫部。
6.根據(jù)權(quán)利要求1所述的存儲器改寫控制系統(tǒng),其特征在于所述引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)包括引導(dǎo)更新次數(shù)、驗證所述各個引導(dǎo)區(qū)域中所存儲的所述引導(dǎo)數(shù)據(jù)的正當(dāng)性的所述引導(dǎo)區(qū)域的檢測總數(shù),所述引導(dǎo)數(shù)據(jù)判定部選擇出存儲有表示至少改寫了2個引導(dǎo)區(qū)域的所述引導(dǎo)數(shù)據(jù)的累計次數(shù)的引導(dǎo)區(qū)域。
7.一種閃存存儲器的存儲器改寫控制方法,是一種對于可以在由多個區(qū)域構(gòu)成的,能夠以區(qū)域為單位清除數(shù)據(jù)的,具有存儲起動引導(dǎo)數(shù)據(jù)的起動引導(dǎo)區(qū)域、存儲被所述起動引導(dǎo)數(shù)據(jù)選擇性地起動的引導(dǎo)數(shù)據(jù)的至少2個引導(dǎo)區(qū)域、和存儲被所述起動引導(dǎo)數(shù)據(jù)或所述引導(dǎo)數(shù)據(jù)所起動的主數(shù)據(jù)的主存儲區(qū)域的閃存存儲器的存儲器改寫控制方法,其特征在于包括從所述引導(dǎo)區(qū)域分別存儲的所述引導(dǎo)數(shù)據(jù)中,根據(jù)所述引導(dǎo)區(qū)域分別存儲的引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù),選擇出應(yīng)由所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)的引導(dǎo)數(shù)據(jù)判步驟;和除了存儲有由所述引導(dǎo)數(shù)據(jù)判斷部所選擇的所述引導(dǎo)數(shù)據(jù)的引導(dǎo)區(qū)域,對存儲在所述引導(dǎo)區(qū)域和/或所述主存儲區(qū)域的數(shù)據(jù)進(jìn)行改寫的改寫步驟。
8.根據(jù)權(quán)利要求7所述的存儲器改寫控制方法,其特征在于,所述改寫步驟包括接收改寫所述閃存存儲器所存儲的數(shù)據(jù)的更新數(shù)據(jù)的更新數(shù)據(jù)接收步驟;根據(jù)所述更新數(shù)據(jù)接收部接收到的所述更新數(shù)據(jù),從所述至少2個引導(dǎo)區(qū)域及所述主存儲區(qū)域當(dāng)中選擇應(yīng)存儲更新數(shù)據(jù)的區(qū)域的區(qū)域判斷步驟;將所述更新數(shù)據(jù)接收步驟接收到的所述更新數(shù)據(jù)寫入由所述區(qū)域判斷部選擇的所述區(qū)域的更新數(shù)據(jù)寫入步驟;當(dāng)在所述區(qū)域判斷步驟所選擇的所述區(qū)域為所述引導(dǎo)區(qū)域時,計算出所述引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)并進(jìn)行更新的更新判斷數(shù)據(jù)算出步驟。
9.根據(jù)權(quán)利要求7所述的存儲器改寫控制方法,其特征在于,所述改寫步驟包括當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷步驟所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第1引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂銎饎右龑?dǎo)區(qū)域及所述第1引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第1改寫步驟;當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷步驟所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第2引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂銎饎右龑?dǎo)區(qū)域及所述第2引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第2改寫步驟。
10.根據(jù)權(quán)利要求7所述的存儲器改寫控制方法,其特征在于在所述改寫步驟中,包括判斷更新數(shù)據(jù)是否為將具有規(guī)定的數(shù)據(jù)長的特定數(shù)據(jù)寫入所述閃存存儲器的規(guī)定地址的更新數(shù)據(jù),在所述更新數(shù)據(jù)為所述規(guī)定的更新數(shù)據(jù)的情況下,能夠?qū)λ銎饎右龑?dǎo)區(qū)域進(jìn)行改寫的步驟。
11.根據(jù)權(quán)利要求10所述的存儲器改寫控制方法,其特征在于在所述改寫步驟中,包括當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷步驟所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第1引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂龅?引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第1改寫步驟;當(dāng)應(yīng)由通過所述引導(dǎo)數(shù)據(jù)判斷步驟所判定的所述起動引導(dǎo)數(shù)據(jù)起動的引導(dǎo)數(shù)據(jù)被存儲在第2引導(dǎo)區(qū)域時,能夠?qū)Υ鎯υ诔怂龅?引導(dǎo)區(qū)域的區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行改寫的第2改寫步驟。
12.根據(jù)權(quán)利要求7所述的存儲器改寫控制方法,其特征在于所述引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù)包括引導(dǎo)更新次數(shù)、驗證所述各個引導(dǎo)區(qū)域中所存儲的所述引導(dǎo)數(shù)據(jù)的正當(dāng)性的所述引導(dǎo)區(qū)域的檢測總數(shù),所述引導(dǎo)數(shù)據(jù)判定步驟選擇出存儲有表示至少改寫了2個引導(dǎo)區(qū)域的所述引導(dǎo)數(shù)據(jù)的累計次數(shù)的引導(dǎo)區(qū)域。
13.一種程序,其特征在于實施權(quán)利要求7~12中任意一項所述的閃存存儲器的改寫控制方法中的各個步驟。
14.一種能夠被計算機(jī)讀取的信息記錄介質(zhì),其特征在于記錄有實施權(quán)利要求7~12中任意一項所述的閃存存儲器的存儲器改寫控制方法的各個步驟的程序。
全文摘要
一種閃存存儲器的改寫控制系統(tǒng)及方法,閃存存儲器(101)具有存儲啟動引導(dǎo)數(shù)據(jù)的啟動引導(dǎo)區(qū)域(201)、存儲引導(dǎo)數(shù)據(jù)的至少兩個引導(dǎo)區(qū)域(202、203)和存儲主數(shù)據(jù)的主存儲區(qū)域。引導(dǎo)數(shù)據(jù)判斷部(301)根據(jù)引導(dǎo)數(shù)據(jù)更新判斷數(shù)據(jù),從分別被儲存在各個引導(dǎo)區(qū)域中的引導(dǎo)數(shù)據(jù)中選擇出應(yīng)由啟動引導(dǎo)數(shù)據(jù)執(zhí)行的引導(dǎo)數(shù)據(jù)。改寫部(302、303)根據(jù)接收的更新數(shù)據(jù)、依據(jù)引導(dǎo)數(shù)據(jù)判斷部(301)所選擇的引導(dǎo)數(shù)據(jù)的功能、改寫被存儲在除了存儲有該被選擇的引導(dǎo)數(shù)據(jù)的引導(dǎo)區(qū)域的引導(dǎo)區(qū)域、啟動引導(dǎo)區(qū)域及主存儲區(qū)域中的數(shù)據(jù)。從而,可通過一次的下載操作實現(xiàn)對存儲在包含有引導(dǎo)區(qū)域的閃存存儲器的各區(qū)域中的數(shù)據(jù)的改寫。
文檔編號G06F9/445GK1469257SQ0314241
公開日2004年1月21日 申請日期2003年6月11日 優(yōu)先權(quán)日2002年6月11日
發(fā)明者高見沢雄史, 廣池豪, 高見 雄史 申請人:精工愛普生株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
东光县| 汪清县| 前郭尔| 临洮县| 措美县| 平罗县| 保山市| 鹤山市| 富裕县| 正镶白旗| 麦盖提县| 尖扎县| 凌云县| 宜丰县| 长乐市| 广西| 大厂| 吉首市| 射阳县| 行唐县| 清河县| 巩义市| 富裕县| 泸州市| 茂名市| 满城县| 孟州市| 三河市| 白玉县| 华坪县| 滕州市| 娱乐| 巴中市| 旬阳县| 甘孜县| 伊吾县| 嘉义市| 收藏| 行唐县| 克山县| 隆回县|