專利名稱:信息處理系統(tǒng)和信息處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括非易失性存儲器的信息處理系統(tǒng),并涉及一種信息 處理方法。
背景技術(shù):
與上
述的NOR型閃速存儲器相比,NAND型閃速存儲器具有集成度高且比特單 位成本低的優(yōu)點。另一方面,NAND型閃速存儲器在數(shù)據(jù)可靠性方面具有如 下缺點即,NAND型閃速存儲器具有在先天(congenital )或后天(postnatal) 環(huán)境下、出現(xiàn)在其中數(shù)據(jù)不能被正確讀取/寫入的故障塊的一定可能性,還具 有因長期使用而出現(xiàn)比特錯誤的一些可能性。結(jié)果,這些NAND型閃速存 儲器已經(jīng)被主要用作數(shù)據(jù)區(qū)域的存儲器,而沒有被用作需要高可靠性的程序 區(qū)域的存儲器。
然而,近來,為了在有效地利用NAND型閃速存儲器的優(yōu)點的同時以 更低的成本構(gòu)建系統(tǒng),在本技術(shù)領(lǐng)域中已經(jīng)提出了能夠?qū)AND型閃速存 儲器用作程序存儲區(qū)域的數(shù)據(jù)更高可靠性實現(xiàn)技術(shù)。在上述的技術(shù)中,CPU 將用于初始啟動系統(tǒng)的程序從NAND型閃速存儲器傳送到隨機存取存儲器 以便執(zhí)行這些程序。
關(guān)于NAND型閃速存儲器的數(shù)據(jù)可靠性中包含的問題,故障塊信息以 多路復用的方式存儲在在外部提供的非易失性存儲設(shè)備中或者存儲在 NAND型閃速存儲器中,從而提高關(guān)于故障塊信息的可靠性(參見專利公開 1)。此外,關(guān)于比特錯誤方面,執(zhí)行利用檢驗碼的錯誤檢測處理操作和錯誤 校正處理操作,來提高數(shù)據(jù)可靠性(參見專利公開2和專利公開3)。
專利公開1 專利公開2 專利公開1
JP-A-2006-277395 JP-A-2005-190201 JP-A-2006-323739
然而,根據(jù)專利公開1中描述的方法,雖然可以避免CPU從故障塊初始啟動系統(tǒng),但是不能避免比特錯誤。此外,在專利公開2或?qū)@_3中 描述的方法中,執(zhí)行錯誤校正的指令必須包含在裝入程序中,CPU通過該裝 入程序從NAND型閃速存儲器讀出數(shù)據(jù)。當系統(tǒng)初始啟動時,用于執(zhí)行 NAND型閃速存儲器的錯誤校正和數(shù)據(jù)管理的文件系統(tǒng)還沒有啟動,但是如 果錯誤校正在初始啟動期間執(zhí)行,則啟動時間變長。結(jié)果,下面的想法不是 現(xiàn)實的解決方案即,執(zhí)行錯誤校正的指令包含在裝入程序中,CPU通過該 裝入程序從NAND型閃速存儲器讀出數(shù)據(jù)。
此外,存在許多裝入程序通過不可改變的掩模型只讀存儲器而設(shè)計的機 會。因此,存在當NAND型閃速存儲器的代(generation)改變時、先前設(shè) 計好的裝入程序不能正確與之適應(yīng)的可能性。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種信息處理系統(tǒng)和信息處理方法,其可以基于存 儲在非易失性存儲器中的數(shù)據(jù)穩(wěn)定地執(zhí)行其初始啟動。
本發(fā)明旨在提供一種信息處理系統(tǒng),該信息處理系統(tǒng)包括第一非易失 性存儲器,在該第一非易失性存儲器中,用于啟動信息處理系統(tǒng)的多個第一 程序和多個第 一程序的復本已經(jīng)存儲在彼此不同的塊中;第二易失性存儲
器,多個第一程序被傳送至該第二易失性存儲器;第三非易失性存儲器,在 該第三非易失性存儲器中存儲用于執(zhí)行多個第一程序的第二程序;和CPU, 用于執(zhí)行多個第一程序。
在上述的信息處理系統(tǒng)中,在第二程序中已經(jīng)包含一指令,而該指令指 示多個第一程序從第一存儲器傳送至第二存儲器,將傳送至第二存儲器的多 個第一程序的內(nèi)容進行相互比較;并且,如果多個第一程序的內(nèi)容彼此不一 致,則基于多數(shù)判決從多個第一程序中判定出正常程序;并且CPU執(zhí)行被 判定為正常程序的第 一程序,從而初始啟動信息處理系統(tǒng)。
在上述的信息處理系統(tǒng)中,用于確定將多個第一程序的內(nèi)容相互比較的 總數(shù)的判定值已經(jīng)包含在第一程序中;并且CPU根據(jù)判定值執(zhí)行所述指令。
在上述的信息處理系統(tǒng)中,在已經(jīng)存儲有第 一程序中的 一 個或第 一程序 中的一個的復本的區(qū)域是第一存儲器中的故障塊的情況下,在比較多個第一 程序的內(nèi)容時,不采用存儲在包括故障塊的區(qū)域中的程序。
在上述的信息處理系統(tǒng)中,當更新第一程序中的一個時,將用于第一程序中的一個的更新程序覆寫在已經(jīng)存儲有第一程序中的一個的區(qū)域中,并 且,將更新程序的復本覆寫在已經(jīng)存儲有第 一程序中的 一個的復本的區(qū)域
中;并且在已經(jīng)存儲有第 一程序中的 一個或第 一程序中的 一個的復本的區(qū)域
中存在故障塊的情況下,將更新程序或更新程序的復本寫入第一存儲器的預(yù) 先準備好的備用區(qū)域中。
在上述的信息處理系統(tǒng)中,在CPU成功執(zhí)行第一程序之后,CPU將被 判定為正常數(shù)據(jù)的數(shù)據(jù)覆寫在被判定為錯誤區(qū)域的區(qū)域中,其中錯誤區(qū)域位 于多個第一程序的內(nèi)容彼此不一致的地方。
本發(fā)明旨在提供一種信息處理系統(tǒng),該信息處理系統(tǒng)包括第一非易失 性存儲器,在該第一非易失性存儲器中,用于啟動信息處理系統(tǒng)的多個第一 程序和多個第 一程序的復本已經(jīng)存儲在彼此不同的塊中;第二易失性存儲 器,多個第一程序被傳送至該第二易失性存儲器;第三非易失性存儲器,在 該第三非易失性存儲器中存儲用于執(zhí)行多個第一程序的第二程序;CPU,用 于執(zhí)行多個第一程序和第二程序;和程序校正電路,用于校正第一程序的錯 誤。
在上述的信息處理系統(tǒng)中,程序校正電路將傳送至第二存儲器的多個第 一程序的內(nèi)容相互比較;當多個第一程序的內(nèi)容彼此不一致時,程序校正電 路基于多數(shù)判決判定多個第 一程序中的正常程序;并且程序校正電路將被判 定為正常程序的第 一程序重新寫入到第二存儲器中。
在上述的信息處理系統(tǒng)中,在第二程序中已經(jīng)包含一指令,而所述指令 指示多個第一程序從第一存儲器傳送至第二存儲器,以便啟動程序校正電 路;并且CPU執(zhí)行被程序校正電路判定為正常程序的第一程序,以便初始 啟動信息處理系統(tǒng)。
在上述的信息處理系統(tǒng)中,用于確定將多個第一程序的內(nèi)容相互比較的 總數(shù)的判定值已經(jīng)包含在第一程序中;CPU根據(jù)判定值執(zhí)行所述指令;并 且程序校正電路將多個第一程序的內(nèi)容相互比較,并根據(jù)判定值基于多數(shù)判 決判定正常程序。
在上述的信息處理系統(tǒng)中,在已經(jīng)存儲有第 一程序中的 一 個或第 一程序 中的一個的復本的區(qū)域是第一存儲器中的故障塊的情況下,在比較多個第一 程序的內(nèi)容時,不采用存儲在包括故障塊的區(qū)域中的程序。
在上述的信息處理系統(tǒng)中,當更新第一程序中的一個時,將用于第一程
8序中的 一個的更新程序覆寫在已經(jīng)存儲有第 一程序中的 一個的區(qū)域中,并 且,將更新程序的復本覆寫在已經(jīng)存儲有第 一程序中的 一個的復本的區(qū)域
中;并且在已經(jīng)存儲有第 一程序中的 一個或第 一程序中的一個的復本的區(qū)域 中存在故障塊的情況下,將更新程序或更新程序的復本寫入第 一存儲器的預(yù) 先準備好的備用區(qū)域中。
在上述的信息處理系統(tǒng)中,在CPU成功執(zhí)行第一程序之后,CPU將被 判定為正常數(shù)據(jù)的數(shù)據(jù)覆寫在被判定為錯誤區(qū)域的區(qū)域中,其中錯誤區(qū)域位
于多個第 一程序的內(nèi)容^:此不 一致的地方。
本發(fā)明旨在提供一種由信息處理系統(tǒng)執(zhí)行的信息處理方法,信息處理系 統(tǒng)包括CPU和用于在其中存儲該信息處理系統(tǒng)的啟動時間信息的非易失性
存儲器;在該信息處理方法中,在信息處理系統(tǒng)啟動時,CPU更新啟動時 間信息;并且當啟動時間超過指定的閾值時,CPU覆寫存儲在非易失性存 儲器中的相同內(nèi)容。
在上述的信息處理方法中,已經(jīng)存儲在非易失性存儲器中的內(nèi)容是由 CPU執(zhí)行的程序。
在上述的信息處理方法中,啟動時間信息是信息處理系統(tǒng)的啟動次數(shù)信息。
在上述的信息處理方法中,啟動時間信息是信息處理系統(tǒng)在其中被啟動 的實際時間
本發(fā)明旨在提供一種信息處理系統(tǒng)的信息處理方法,信息處理系統(tǒng)包 括CPU;非易失性存儲器,用于在其中存儲信息處理系統(tǒng)的啟動時間信息; 和通知單元,用于對使用該信息處理系統(tǒng)的用戶通知程序刷新的執(zhí)行;其中
在用戶對于由通知單元所通知的通知發(fā)出許可的情況下,CPU在信息處理 系統(tǒng)被啟動時更新啟動時間信息;并且當啟動時間超過指定的閾值時,CPU 覆寫存儲在非易失性存儲器中的相同內(nèi)容。
在上述的信息處理方法中,已存儲在非易失性存儲器中的內(nèi)容是由CPU 執(zhí)行的程序。
在上述的信息處理方法中,啟動時間信息是信息處理系統(tǒng)的啟動次凄t信
自
在上述的信息處理方法中,啟動時間信息是信息處理系統(tǒng)在其中被啟動 的實際時間。根據(jù)本發(fā)明所涉及的信息處理系統(tǒng)和信息處理方法,可以基于存儲在非 易失性存儲器中的數(shù)據(jù)穩(wěn)定地執(zhí)行初始啟動。此外,由于可以以簡單的方式
校正比特錯誤,因此,即使在非易失性存儲器的代(generation)改變時,該信 息處理系統(tǒng)和信息處理方法也可以正確地操作。此外,可以抑制比特4昔誤的 出現(xiàn)頻率,從而可以縮短系統(tǒng)的初始啟動時間。
圖1是示出根據(jù)本發(fā)明第一實施方式的信息處理系統(tǒng)的框圖。 圖2是用于指示存儲在第一實施方式的第一存儲器110中的程序的安排 示例的示圖。
圖3是用于說明與第一實施方式的系統(tǒng)初始啟動相關(guān)的CPU的處理操 作的流程圖。
圖4是示出根據(jù)本發(fā)明第二實施方式的信息處理系統(tǒng)的框圖。 圖5是用于指示存儲在第二實施方式的第一存儲器110中的程序的安排 示例的示圖。
圖6是用于說明與第二實施方式的系統(tǒng)初始啟動相關(guān)的CPU的處理操 作的流程圖。
圖7是用于說明在圖6所示的流程圖中當出現(xiàn)故障塊時CPU的處理操 作的流程圖。
圖8是示出根據(jù)本發(fā)明第三實施方式的信息處理系統(tǒng)的框圖。
圖9是用于說明當CPU更新第三實施方式中的第一程序組時CPU的處
理操作的流程圖。
圖10是示出根據(jù)本發(fā)明第四實施方式的信息處理系統(tǒng)的框圖。
圖11是用于指示存儲在第四實施方式的第一存儲器110中的程序的安
排示例的示圖。
圖12是表示第四實施方式的程序校正電路201的框圖。
圖13是用于說明與第四實施方式的系統(tǒng)初始啟動相關(guān)的CPU和程序校
正電路201的各處理操作的流程圖。
圖14是示出根據(jù)本發(fā)明第五實施方式的信息處理系統(tǒng)的框圖。
圖15是用于說明與第五實施方式的系統(tǒng)初始啟動相關(guān)的CPU和程序校
正電路201的各處理操作的流程圖。
10圖16是用于說明當圖15所示的流程圖中出現(xiàn)故障塊時CPU和程序校
正電路的處理操作的流程圖。
圖17是表示根據(jù)本發(fā)明第六實施方式的信息處理系統(tǒng)的框圖。 圖18是表示根據(jù)本發(fā)明第七實施方式的信息處理系統(tǒng)的框圖。 圖19是用于說明由第七實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操
作的流程圖。
圖20是用于說明由第七實施方式的信息處理系統(tǒng)所執(zhí)行的一不同的信
息處理操作的流程圖。
圖21是指示根據(jù)本發(fā)明第八實施方式的信息處理系統(tǒng)的框圖。
圖22是用于說明由第八實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操
作的流程圖。
圖23是用于說明由第八實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操 作的流程圖。
圖24是用于說明由第八實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操 作的流程圖。
圖25是用于說明由第八實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操 作的流程圖。
圖26是指示根據(jù)本發(fā)明第九實施方式的信息處理系統(tǒng)的框圖。 圖27是用于說明由第九實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操 作的流程圖。
圖28是表示4艮據(jù)本發(fā)明第十實施方式的信息處理系統(tǒng)的框圖。 圖29是用于說明由第十實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操 作的流程圖。
圖30是用于說明由第十實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操
作的流程圖。
具體實施例方式
現(xiàn)在參照附圖描述本發(fā)明的實施方式。應(yīng)當理解,在下面所^提到的實施 方式中,將描述下述的信息處理系統(tǒng)和信息處理方法當最初從諸如NAND 型閃速存儲器等的非易失性存儲器啟動該信息處理系統(tǒng)時,所述信息處理系 統(tǒng)和信息處理方法通過避免出現(xiàn)故障塊并通過校正比特錯誤、能夠在正常且
ii安全的條件下初始啟動信息處理系統(tǒng)。非易失性存儲器具有在先天或后天環(huán) 境下出現(xiàn)在其中數(shù)據(jù)不能被正確讀取/寫入的故障塊的 一定可能性,還具有因 長期使用而出現(xiàn)比特錯誤的一些可能性。當出現(xiàn)這種比特錯誤時,保存在該 非易失性存儲器中的數(shù)據(jù)值發(fā)生變化。 (第一實施方式)
圖1是指示本發(fā)明第一實施方式的信息處理系統(tǒng)1的框圖。如圖l所示,
第一實施方式的信息處理系統(tǒng)1配備有CPU 101、在其中存儲了第一程序組 111的第一非易失性存儲器110、第二易失性存儲器120、以及在其中存儲了 第二程序131的第三非易失性存儲器130。應(yīng)當理解,CPU101和第三存儲 器130設(shè)置在LSI 100內(nèi)。
圖2是表示關(guān)于存儲在第一存儲器110中的程序的安排示例的框圖。如 圖2所示,關(guān)于第一存儲器110內(nèi)的第一程序組111,已經(jīng)將對應(yīng)于具有相 同內(nèi)容的程序的第一程序112、 113、 114存儲在不同的塊中。
圖3是用于說明與第一實施方式的系統(tǒng)初始啟動有關(guān)的、CPU 101的處 理操作的流程圖。還應(yīng)當注意,表述"多數(shù)判定數(shù)(majority judging number)" 表示在多數(shù)判定中所使用的程序的總數(shù)。在該第一實施方式中,已將"多數(shù) 判定數(shù)"設(shè)定為3。
CPU 101通過釋放系統(tǒng)復位102來訪問第三存儲器130,從而4丸行第二 程序131。接下來,CPU 101從第一存儲器110讀出第一程序組111,然后, 將所讀出的第一程序組111傳送到第二存儲器120。接下來,CPU 101將第 一程序組111中包含的第一程序112-114的內(nèi)容相互比較。還應(yīng)當注意,上 述比較操作以1、 2、 4、 8字節(jié)等為單位來進行。作為比較操作的結(jié)果,在 存在不一致的數(shù)據(jù)內(nèi)容的情況下,CPU101進行多數(shù)判決,然后將較多數(shù)的 一致數(shù)據(jù)內(nèi)容判定為正常數(shù)據(jù)。CPU 101將被判定為正常數(shù)據(jù)的凄t據(jù)重新寫 入第二存儲器120中。當CPU 101將第一程序組111中的全部內(nèi)容相互比較 時,CPU 101訪問已經(jīng)在其中重新寫入了被判定為正常數(shù)據(jù)的數(shù)據(jù)的第二存 儲器120,以執(zhí)行系統(tǒng)的初始啟動。
(第二實施方式)
圖4是指示本發(fā)明第二實施方式的信息處理系統(tǒng)1的框圖。第一存儲器 110中已經(jīng)存儲有第一程序組151,該第一程序組151包含有總數(shù)大于多數(shù) 判定數(shù)的初始安排示例的框圖。作為第一程序組151,已經(jīng)存儲了對應(yīng)于具有相同內(nèi)容的
程序的第一組152-156。指示多數(shù)判定數(shù)的參數(shù)162-166已經(jīng)分別存儲在第 一程序152-156中。還應(yīng)當注意,在第二實施方式中,多數(shù)判定凝:改變了。
圖6是用于"^兌明與第二實施方式的系統(tǒng)初始啟動有關(guān)的、CPU 101的處 理操作的流程圖。還應(yīng)當注意,多數(shù)判定數(shù)的初始值例如設(shè)定為3,然后在 第二實施方式中改變?yōu)?。
CPU 101通過釋放系統(tǒng)復位102來訪問第三存儲器130,從而^丸行第二 程序131。接下來,CPU 101從第一存儲器110讀出第一程序組151,然后, 將所讀出的第一程序組151與參數(shù)162-164比較。在第一程序組151與參數(shù) 一致的情況下,CPU 101將由該參數(shù)指示的數(shù)確定為多數(shù)判定數(shù)。相反,在 第一程序組151與參數(shù)不一致的情況下,CPU 101通過進行多數(shù)判決來確定 多數(shù)判定數(shù)。
CPU 101根據(jù)多數(shù)判定數(shù)將第一程序152-156傳送至第二存儲器120。 接下來,CPU 101將第一程序152-156的內(nèi)容相互比較。還應(yīng)當注意,上述 比較操作以1、 2、 4、 8字節(jié)等為單位來進行。作為比較操作的結(jié)果,在存 在不一致的數(shù)據(jù)內(nèi)容的情況下,CPU 101進行多數(shù)判決,然后將4交多數(shù)的一 致數(shù)據(jù)內(nèi)容判定為正常數(shù)據(jù)。CPU 101將被判定為正常數(shù)據(jù)的數(shù)據(jù)重新寫入 第二存儲器120中。當CPU 101將第一程序組111中的全部內(nèi)容相互比較時, CPU 101訪問已經(jīng)在其中重新寫入了被判定為正常數(shù)據(jù)的數(shù)據(jù)的第二存儲 器120,以#1行信息處理系統(tǒng)1的初始啟動。
圖7是用于說明當在圖6所示的流程圖中存在故障塊時CPU 101的處理 操作的流程圖。如圖7所示,當在存儲于第一存儲器110中的第一程序組151 中存在故障塊時,CPU 101不將數(shù)據(jù)從第一存儲器110傳送到第二存儲器 120。此外,當存在故障塊時,CPU 101將通過從多數(shù)判定數(shù)中減去故障塊 總的出現(xiàn)數(shù)得到的數(shù)確定為多數(shù)判定數(shù)。
(第三實施方式)
圖8是指示本發(fā)明第三實施方式的信息處理系統(tǒng)1的框圖。在該第三實 施方式中,更新了第一程序組。如圖8所示,第三實施方式的信息處理系統(tǒng) 1配備有CPU 101;第一存儲器110,用于在其中存儲第一程序組111和提 供用來執(zhí)行更新處理操作的第三程序181;第二存儲器120;第三存儲器130, 用于在其中存儲第二程序131;第四存儲器190,用于在其中存儲更新程序191和更新請求數(shù)據(jù)192;以及傳送設(shè)備193。
作為用于更新第一程序組111的觸發(fā)對象,存在從位于信息處理系統(tǒng)1 外部的外部源發(fā)出的程序更新請求103、以及存儲在第四存儲器190中的更 新請求數(shù)據(jù)192。此外,傳送設(shè)備193具有能夠從第四存儲器190讀出數(shù)據(jù) 以將所讀出的數(shù)據(jù)傳送到第二存儲器120的功能。此外,傳送設(shè)備193具有 能夠從第二存儲器120讀出數(shù)據(jù)以將所讀出的數(shù)據(jù)傳送到第一存儲器110的 另一功能。
圖9是用于描述當CPU 101更新第一程序組111時CPU 101的處理操 作的流程圖。當CPU 101檢測到程序更新請求103或更新請求數(shù)據(jù)192時, CPU 101相對于第一程序組111執(zhí)行更新處理操作。CPU 101從第四存儲器 190讀出更新程序191,然后將讀出的更新程序191傳送至第一存^t器110。 此時,更新程序191可以可選擇地經(jīng)由第二存儲器120傳送至第一存儲器 110??蛇x地,更新程序191的更新操作可以由傳送設(shè)備193執(zhí)行。
CPU 101檢驗傳送至第一存儲器110的數(shù)據(jù)是否已在正常條件下寫入。 此時,在已經(jīng)寫入數(shù)據(jù)的塊成為故障塊的情況下,CPU101在該故障塊中寫 入故障塊信息,并在備用區(qū)域中重新寫入程序。此時,CPU101類似地進行 寫入檢驗。當CPU 101完成了總數(shù)等于多數(shù)判定數(shù)的多個程序的寫入操作 時,CPU 101就完成了程序更新處理操作。
此外,在當CPU 101執(zhí)行圖3、圖6或圖7所示的信息處理系統(tǒng)1的初 始啟動序列時、在進行數(shù)據(jù)比較操作時發(fā)生數(shù)據(jù)不一致事件的情況下,在初 始啟動成功后,CPU 101通過采用存儲在第二存儲器120中的可以j吏初始啟 動成功的程序,對存儲在第一存儲器110中的第一程序組111執(zhí)行覆寫操作。
(第四實施方式)
圖10是指示本發(fā)明第四實施方式的信息處理系統(tǒng)2的方框圖。如圖10 所示,第四實施方式的信息處理系統(tǒng)2配備有CPU101、用于在其中存儲第 一程序組111的第一存儲器110、第二存儲器120、用于在其中存儲第二程 序231的第三存儲器130、以及程序校正電路201。程序校正電路201檢查 第一程序組lll的內(nèi)容,并且,如果發(fā)生錯誤,程序校正電路201對錯誤的 程序進行校正。應(yīng)當注意,CPU 101和第三存儲器130均提供在LSI 100內(nèi)。
圖11是用于表示關(guān)于存儲在第一存儲器110中的程序的安排示例的框 圖。如圖ll所示,關(guān)于第一存儲器110內(nèi)的第一程序組111,已經(jīng)將對應(yīng)于具有相同內(nèi)容的程序的第一程序112、 113、 114存儲在不同的塊中。
圖12是示出程序校正電路201的方框圖。程序校正電路201主要具有 數(shù)據(jù)比較功能、基于多數(shù)判決的數(shù)據(jù)校正功能、以及數(shù)據(jù)的傳送控制功能。 此外,響應(yīng)于從CPU 101發(fā)出的指令,程序校正電3各201可以進4亍凄t據(jù)傳送 控制操作,并可以改變多數(shù)判定數(shù)。
圖13是用于說明與第四實施方式的系統(tǒng)初始啟動相關(guān)的CPU 101和程 序校正電路201的各處理操作的流程圖。還應(yīng)當注意,在該第四實施方式中, 已將多數(shù)判定數(shù)設(shè)定為3。
CPU 101通過釋放系統(tǒng)復位102來訪問第三存儲器130,從而4丸行第二 程序231。接下來,CPU 101啟動程序校正電路201。程序校正電^各201從 第一存儲器IIO讀出第一程序組111,然后將讀出的第一程序組111傳送到 第二存儲器120。接下來,程序校正電路201將第一程序組111中包含的第 一程序112-114的內(nèi)容相互比較。作為比較操作的結(jié)果,在存在不一致的數(shù) 據(jù)內(nèi)容的情況下,程序校正電路201進行多數(shù)判決,然后將較多數(shù)的一致數(shù) 據(jù)內(nèi)容判定為正常數(shù)據(jù)。程序校正電路201將被判定為正常數(shù)據(jù)的數(shù)據(jù)重新 寫入第二存儲器120中。當程序校正電路201將第一程序組111中的全部內(nèi) 容相互比較時,CPU 101訪問已經(jīng)在其中重新寫入了被判定為正常數(shù)據(jù)的數(shù) 據(jù)的第二存儲器120,以執(zhí)行信息處理系統(tǒng)2的初始啟動。
(第五實施方式)
圖14是指示本發(fā)明第五實施方式的信息處理系統(tǒng)2的框圖。除了包含 總數(shù)大于多數(shù)判定數(shù)的初始值的多個第一程序的第一程序組151已存儲在第 一存儲器110中以外,第五實施方式的信息處理系統(tǒng)2與第四實施方式的信 息處理系統(tǒng)類似。應(yīng)當理解,在該第五實施方式中,多數(shù)判定數(shù)也改變。
圖15是用于說明與第五實施方式的系統(tǒng)初始啟動相關(guān)的CPU 101和程 序校正電路201的各處理操作的流程圖。還應(yīng)當注意,在該第五實施方式中, 多數(shù)判定數(shù)的初始值例如設(shè)定為3,然后變成5。
CPU 101通過釋放系統(tǒng)復位102來訪問第三存儲器130,從而4丸行第二 程序23L接下來,CPU 101 A^第一存儲器llO讀出第一程序組151,然后 將參數(shù)162-164互相比較。當這些參數(shù)彼此一致時,CPU101將由這些一致 的參數(shù)指示的數(shù)確定為多數(shù)判定數(shù),而當這些參數(shù)彼此不一致時,CPU 101 基于多數(shù)判決來確定多數(shù)判定數(shù)。
15接下來,CPU 101啟動程序校正電路201。此時,CPU101將多數(shù)判定 數(shù)設(shè)定到程序校正電路201,并設(shè)定數(shù)據(jù)傳送控制操作等。程序校正電路201 將第一程序組151中包含的第一程序152-156傳送至第二存儲器120。接下 來,程序校正電路201將第一程序152-156的內(nèi)容相互比較。作為比較操作 的結(jié)果,在存在不一致的數(shù)據(jù)內(nèi)容的情況下,程序校正電路201進行多數(shù)判 決,然后將較多數(shù)的一致數(shù)據(jù)內(nèi)容判定為正常數(shù)據(jù)。程序校正電路201將被 判定為正常數(shù)據(jù)的數(shù)據(jù)重新寫入第二存儲器120中。當程序校正電^各201將 第一程序組151中的全部內(nèi)容相互比較時,程序才交正電路201向CPU 101 通知數(shù)據(jù)傳送操作的完成。CPU 101訪問已經(jīng)在其中重新寫入了^C判定為正 常數(shù)據(jù)的數(shù)據(jù)的第二存儲器120,以執(zhí)行系統(tǒng)的初始啟動。
圖16是用于說明當圖15所示的流程圖中存在故障塊時CPU 101和程序 校正電路201的各處理操作的流程圖。如圖16所示,在存儲在第一存儲器 110中的第一程序組151中存在故障塊的情況下,程序校正電路201不執(zhí)行 對應(yīng)于故障塊的程序的傳送/設(shè)定操作。而且,當存在故障塊時,CPU 101 將通過從多數(shù)判定數(shù)中減去故障塊的出現(xiàn)數(shù)而計算出的數(shù)作為多數(shù)判定數(shù) 設(shè)定到程序校正電路201 。
(第六實施方式)
圖17是指示本發(fā)明第六實施方式的信息處理系統(tǒng)2的框圖。除了在第 三實施方式的信息處理系統(tǒng)1中提供的結(jié)構(gòu)部件以外,第六實施方式的信息 處理系統(tǒng)2配備有在第四實施方式中解釋的程序校正電路201 。
CPU 101更新第一程序組111時CPU 101的處理操作的內(nèi)容與參照圖9 在第三實施方式中描述的內(nèi)容類似。在當CPU101執(zhí)行圖13、圖15或圖16 指示的系統(tǒng)初始啟動序列時、在CPU 101對數(shù)據(jù)相互比較時發(fā)生凄t據(jù)不一致 事件的情況下,在系統(tǒng)初始啟動成功后,CPU 101通過采用在第二存儲器120 上的初始啟動可以成功的程序,對第一存儲器110中的第一程序組Ul進行 覆寫。
(第七實施方式)
圖18是指示本發(fā)明第七實施方式的信息處理系統(tǒng)3的框圖。如圖18所 示,第七實施方式的信息處理系統(tǒng)3配備有CPU 301;計時器302;閾值 303,其被用于與啟動時間相比較;第一存儲器310,用于在其中存儲啟動時 間信息311;以及第二存儲器320。
16圖19是用于說明由第七實施方式的信息處理系統(tǒng)3所執(zhí)行的信息處理
操作的流程圖。在信息處理系統(tǒng)3啟動之后,CPU301從第一存儲器310讀 出啟動時間信息311。接下來,CPU301將啟動時間信息311與包含在CPU 301中的閾值303進行比較。在啟動時間信息311小于閾值303的情況下, CPU 301不執(zhí)行任何處理操作而前進至下一處理操作。在啟動時間信息311 大于閾值303的情況下,CPU 301讀出已存儲在第一存儲器310中的數(shù)據(jù) 312。此外,CPU 301相對于讀出的數(shù)據(jù)312執(zhí)行錯誤校正處理操作,然后 將經(jīng)過錯誤校正的數(shù)據(jù)重新寫入第一存儲器310上的在其中存儲過數(shù)據(jù)312 的同一存儲區(qū)中,此后前進至下一處理操作。接下來,CPU301更新啟動時 間信息311,然后將更新的啟動時間信息311重新寫入第一存儲器310中。 此時,在啟動時間信息311超過閾值303的情況下,CPU301重復地執(zhí)行上 述處理操作。
圖20是用于說明由第七實施方式的信息處理系統(tǒng)3所執(zhí)行的信息處理 操作的流程圖,其與第六實施方式的信息處理系統(tǒng)所執(zhí)行的信息處理操作不 同。雖然圖20所示的流程圖與圖19所示的流程圖基本相同,但其在啟動時 間信息311已更新之后的處理操作不同于圖19所示的流程圖中的處理操作。 即,CPU 301更新啟動時間信息311,然后將更新的啟動時間信息311重新 寫入第一存儲器310。此時,即使啟動時間信息311超過閾值303, CPU 301 也完成處理序列。
(第八實施方式)
圖21是指示根據(jù)本發(fā)明第八實施方式的信息處理系統(tǒng)3的框圖。在該 第八實施方式中,第一存儲器310中存儲由CPU301執(zhí)行的程序313,而不 是圖18中所示的數(shù)據(jù)312。
在由第八實施方式的信息處理系統(tǒng)3執(zhí)行的信息處理操作中,如圖22 和23所示,當將圖21所示的啟動時間信息311定義為啟動次lt "n"時, 每次CPU301進行初始啟動時,CPU301執(zhí)行11=11+1的處理操作。可選地, 如圖24和圖25所示,當圖21指示的啟動時間信息311可定義為由計時器 302測量的"X(即,啟動時間的測量時間)"的累計值"T"時,CPU 301可 以執(zhí)行T=T+X的處理操作。
(第九實施方式)
圖26是指示本發(fā)明第九實施方式的信息處理系統(tǒng)4的框圖。如圖26所示,在第九實施方式的信息處理系統(tǒng)4中,相對于圖18所示的第七實施方 式的信息處理系統(tǒng)3,額外地采用了用于用戶的通知部件450。此外,許可 信息451從用戶輸入到CPU 301 。
圖27是用于說明由第九實施方式的信息處理系統(tǒng)4所執(zhí)行的信息處理 操作的流程圖。在信息處理系統(tǒng)4啟動之后,CPU301從第一存儲器310讀 出啟動時間信息311。接下來,CPU301將啟動時間信息311與包含在CPU 301中的閾值303進行比較。在啟動時間信息311小于閾值303的情況下, CPU 301不執(zhí)行任何處理操作而前進至下一處理操作。在啟動時間信息311 大于閾值303的情況下,CPU301經(jīng)由通知部件450請求用戶,以確:〖人第一 存儲器310的內(nèi)容被重新寫入。當CPU 301從用戶接受許可信息451時, CPU301讀出已存儲在第一存儲器310中的數(shù)據(jù)312。此外,CPU 301對讀 出的數(shù)據(jù)312執(zhí)行錯誤校正處理操作,然后將經(jīng)過錯誤校正的數(shù)據(jù)重新寫入 第一存儲器310上的在其中存儲過數(shù)據(jù)312的同一存儲區(qū)中,此后前進至下 一處理操作。另一方面,當CPU 301不能接受從用戶發(fā)出的許可信息451 時,CPU 301不執(zhí)行任何處理操作而前進至下一處理操作。接下來,CPU 301 更新啟動時間信息311,然后將更新的啟動時間信息311重新寫入第一存儲 器310中。此時,在啟動時間信息311超過閾值303的情況下,CPU 301完 成上述處理序列操作。
(第十實施方式)
圖28是指示根據(jù)本發(fā)明第十實施方式的信息處理系統(tǒng)4的框圖。在該 第十實施方式中,在第一存儲器310中存儲由CPU301執(zhí)行的程序313,而 不是圖26中所示的數(shù)據(jù)312。
在由第十實施方式的信息處理系統(tǒng)4執(zhí)行的信息處理操作中,如圖29 所示,當將圖28所示的啟動時間信息311定義為啟動次數(shù)"n"時,每次 CPU 301進行初始啟動時,CPU 301執(zhí)行r^n+l的處理操作,??蛇x地,如 圖30所示,當將圖28所示的啟動時間信息311定義為由計時器302測量的 "X(即,啟動時間的測量時間)"的累計值"T"時,CPU 301可以執(zhí)行T:T+X 的處理操作。
根據(jù)上述實施方式的信息處理系統(tǒng)和信息處理方法,當?shù)谝怀绦?11和 復制的第一程序111已存儲在第一存儲器110中時,將相應(yīng)的第一程序111 及其復制的程序相互比較,然后基于多數(shù)判決來判定正常程序。結(jié)果,可以在正常的條件下以安全的方式執(zhí)行系統(tǒng)的初始啟動。此外,由于避免了故障 塊并校正了比特錯誤,該系統(tǒng)可以以更穩(wěn)定的方式進行初始啟動。此外,由 于可以用簡單的方式校正比特錯誤,因此即使當非易失性存儲器的代改變 時,該信息處理系統(tǒng)和信息處理方法也可以正確地操作。此外,可以抑制比 特錯誤的出現(xiàn)頻率,從而可以縮短系統(tǒng)的初始啟動時間。
根據(jù)本發(fā)明,信息處理系統(tǒng)和信息處理方法可以有用地用作需要初始啟 動系統(tǒng)的、諸如個人計算機、便攜式信息設(shè)備、便攜式電話、數(shù)字照相機、 數(shù)字攝像機、游戲機和數(shù)字音頻設(shè)備的電子設(shè)備。
權(quán)利要求
1. 一種信息處理系統(tǒng),包括第一非易失性存儲器,在該第一非易失性存儲器中,用于啟動該信息處理系統(tǒng)的多個第一程序和所述多個第一程序的復本已經(jīng)存儲在彼此不同的塊中;第二易失性存儲器,所述多個第一程序被傳送至該第二易失性存儲器;第三非易失性存儲器,在該第三非易失性存儲器中存儲用于執(zhí)行所述多個第一程序的第二程序;和CPU,用于執(zhí)行所述多個第一程序。
2. 如權(quán)利要求1所述的信息處理系統(tǒng),其中在所述第二程序中已經(jīng)包含一指令,所述指令指示所述多個第一程序從 所述第 一存儲器傳送至所述第二存儲器,將傳送至所述第二存儲器的所述多 個第一程序的內(nèi)容進行相互比較;并且,如果所述多個第一程序的內(nèi)容彼此 不一致,則基于多數(shù)判決從所述多個第一程序中判定正常程序;并且其中所述CPU執(zhí)行;故判定為所述正常程序的第一程序,從而初始啟動所述 信息處理系統(tǒng)。
3. 如權(quán)利要求2所述的信息處理系統(tǒng),其中用于確定將所述多個第 一程序的內(nèi)容相互比較的總數(shù)的判定值已經(jīng)包 含在所述第一程序中;并且其中所述CPU根據(jù)所述判定值執(zhí)行所述指令。
4. 如權(quán)利要求2所述的信息處理系統(tǒng),其中在已經(jīng)存儲有所述第 一程序中的一個或所述第 一程序中的一個的復本 的區(qū)域是所述第 一存儲器中的故障塊的情況下,在比較所述多個第 一程序的 所述內(nèi)容時,不采用存儲在包括所述故障塊的區(qū)域中的程序。
5. 如權(quán)利要求2所述的信息處理系統(tǒng),其中當更新所述第 一程序中的一個時,將用于所述第 一程序中的一個的更新 程序覆寫在已經(jīng)存儲有所述第一程序中的一個的區(qū)域中,并且,將所述更新 程序的復本覆寫在已經(jīng)存儲有所述第一程序中的一個的復本的區(qū)域中;并且 其巾在已經(jīng)存儲有所述第一程序中的一個或所述第一程序中的一個的所述復本的區(qū)域中存在故障塊的情況下,將所述更新程序或所述更新程序的復本 寫入所述第一存儲器的預(yù)先準備好的備用區(qū)域中。
6. 如權(quán)利要求2所述的信息處理系統(tǒng),其中在所述CPU成功執(zhí)行所述第一程序之后,所述CPU將被判定為正常數(shù) 據(jù)的數(shù)據(jù)覆寫在被判定為錯誤區(qū)域的區(qū)域中,其中所述錯誤區(qū)域位于所述多 個第 一程序的內(nèi)^f皮此不 一致的地方。
7. —種信息處理系統(tǒng),包括第一非易失性存儲器,在該第一非易失性存儲器中,用于啟動該信息處 理系統(tǒng)的多個第 一程序和所述多個第 一程序的復本已經(jīng)存儲在彼此不同的 塊中;第二易失性存儲器,所述多個第一程序被傳送至該第二易失性存儲器; 第三非易失性存儲器,在該第三非易失性存儲器中存儲用于執(zhí)行所述多 個第一程序的第二程序;CPU,用于執(zhí)行所述多個第一程序和所述第二程序;和 程序校正電路,用于校正所述第一程序的錯誤。
8. 如權(quán)利要求7所述的信息處理系統(tǒng),其中所述程序校正電路將傳送至所述第二存儲器的所述多個第 一程序的內(nèi) 容相互比較;當所述多個第 一程序的內(nèi)容彼此不一致時,所述程序校正電路基于多數(shù) 判決來判定所述多個第一程序中的正常程序;并且所述程序校正電路將被判定為所述正常程序的第 一程序重新寫入到所 述第二存儲器中。
9. 如權(quán)利要求8所述的信息處理系統(tǒng),其中在所述第二程序中已經(jīng)包含一指令,所述指令指示所述多個第一程序從 所述第一存儲器傳送至所述第二存儲器,以便啟動所述程序校正電路;并且 其中所述CPU執(zhí)行被所述程序校正電路判定為正常程序的所述第一程序, 以便初始啟動所述信息處理系統(tǒng)。
10. 如權(quán)利要求9所述的信息處理系統(tǒng),其中用于確定將所述多個第 一 程序的內(nèi)容相互比較的總數(shù)的判定值已經(jīng)包 含在所述第一程序中;所述CPU根據(jù)所述判定值執(zhí)行所述指令;并且所述程序校正電路將所述多個第一程序的內(nèi)容相互比較,并根據(jù)所述判 定值,基于多數(shù)判決來判定所述正常程序。
11. 如權(quán)利要求9所述的信息處理系統(tǒng),其中在已經(jīng)存儲有所述第 一程序中的一個或所述第 一程序中的一個的復本 的區(qū)域是所述第一存儲器中的故障塊的情況下,在比較所述多個第一程序的 所述內(nèi)容時,不采用存儲在包括所述故障塊的區(qū)域中的程序。
12. 如權(quán)利要求9所述的信息處理系統(tǒng),其中當更新所述第 一程序中的一個時,將用于所述第 一程序中的一個的更新 程序覆寫在已經(jīng)存儲有所述第一程序中的一個的區(qū)域中,并且,將所述更新 程序的復本覆寫在已經(jīng)存儲有所述第一程序中的一個的復本的區(qū)域中;并且 其中在已經(jīng)存儲有所述第一程序中的一個或所述第一程序中的一個的所述 復本的區(qū)域中存在故障塊的情況下,將所述更新程序或所述更新程序的復本 寫入所述第一存儲器的預(yù)先準備好的備用區(qū)域中。
13. 如權(quán)利要求9所述的信息處理系統(tǒng),其中在所述CPU成功執(zhí)行所述第 一程序之后,所述CPU將被判定為正常數(shù) 據(jù)的數(shù)據(jù)覆寫在被判定為錯誤區(qū)域的區(qū)域中,其中所述錯誤區(qū)域位于所述多 個第 一程序的內(nèi)容彼此不 一致的地方。
14. 一種由信息處理系統(tǒng)執(zhí)行的信息處理方法,所述信息處理系統(tǒng)包括 CPU和用于在其中存儲該信息處理系統(tǒng)的啟動時間信息的非易失性存儲器; 其中在所述信息處理系統(tǒng)啟動時,所述CPU更新所述啟動時間信息;并且 其中當所述啟動時間超過指定的閾值時,所述CPU覆寫存儲在所述非易失 性存儲器中的相同內(nèi)容。
15. 如權(quán)利要求14所述的信息處理方法,其中 已經(jīng)存儲在所述非易失性存儲器中的內(nèi)容是由所述CPU執(zhí)行的程序。
16. 如權(quán)利要求14所述的信息處理方法,其中 所述啟動時間信息是所述信息處理系統(tǒng)的啟動次數(shù)信息。
17. 如權(quán)利要求14所述的信息處理方法,其中所述啟動時間信息是所述信息處理系統(tǒng)被啟動的實際時間。
18. —種信息處理系統(tǒng)的信息處理方法,所述信息處理系統(tǒng)包括 CPU;非易失性存儲器,用于在其中存儲所述信息處理系統(tǒng)的啟動時間信息;和通知單元,用于對使用該信息處理系統(tǒng)的用戶通知程序刷新的^丸行;其中在所述用戶對于由所述通知單元所通知的通知發(fā)出許可的情況下,所述 CPU在所述信息處理系統(tǒng)被啟動時更新所述啟動時間信息;并且其中當所述啟動時間超過指定的閾值時,所述CPU覆寫存儲在所述非易失 性存儲器中的相同內(nèi)容。
19. 如權(quán)利要求18所述的信息處理方法,其中 已存儲在所述非易失性存儲器中的內(nèi)容是由所述CPU執(zhí)行的程序。
20. 如權(quán)利要求18所述的信息處理方法,其中所述啟動時間信息是所述信息處理系統(tǒng)的啟動次數(shù)信息。
21. 如權(quán)利要求18所述的信息處理方法,其中所述啟動時間信息是所述信息處理系統(tǒng)被啟動的實際時間。
全文摘要
信息處理系統(tǒng)包括第一非易失性存儲器,在其中,用于啟動信息處理系統(tǒng)的多個第一程序和該多個第一程序的復本已存儲在彼此不同的塊中;第二易失性存儲器,該多個第一程序被傳送至其中;第三非易失性存儲器,向其中存儲執(zhí)行所述多個第一程序的第二程序;和CPU(中央處理單元),用于執(zhí)行所述多個第一程序。在第二程序中已包含一指令,該指令指示該多個第一程序從第一存儲器傳送至第二存儲器,將傳送至第二存儲器的該多個第一程序的內(nèi)容相互比較;并且,如果所述多個第一程序的內(nèi)容彼此不一致,則基于多數(shù)判決從所述多個第一程序中判定出正常程序。CPU執(zhí)行被判定為正常程序的第一程序,以初始啟動信息處理系統(tǒng)。
文檔編號G06F9/445GK101504624SQ200910008500
公開日2009年8月12日 申請日期2009年2月5日 優(yōu)先權(quán)日2008年2月5日
發(fā)明者永田榮治, 西原慎治 申請人:松下電器產(chǎn)業(yè)株式會社