国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      信息處理設(shè)備和用于該設(shè)備的rom圖像生成設(shè)備的制作方法

      文檔序號:6611679閱讀:191來源:國知局
      專利名稱:信息處理設(shè)備和用于該設(shè)備的rom圖像生成設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種信息處理設(shè)備,該信息處理設(shè)備通過利用存儲裝置中 所存^f渚的程序來執(zhí)4亍系統(tǒng)引導(dǎo),所述存儲裝置可以包含壞塊并且在執(zhí)行讀 取例如NAND型快閃存儲器之后需要檢錯/糾錯過程。
      背景技術(shù)
      快閃存儲器通常分為NOR型和NAND型。同NAND型快閃存儲器相比, NOR型快閃存儲器的優(yōu)點(diǎn)在于它能夠按逐字節(jié)接收隨機(jī)訪問,但是也具有 缺點(diǎn),因?yàn)樗嘿F而且只允許低度集成。從另一方面來說,NAND型快閃存 儲器是4艮定其包含確定個數(shù)或少量壞塊的存儲器。因此,必須在按照管理 保持壞塊的位置的同時執(zhí)行對NAND型快閃存儲器的讀或?qū)?。盡管NAND型 快閃存儲器是不利的,因?yàn)樗荒芙邮枕樞蛟L問并且在執(zhí)行讀取之后需要 檢錯/糾錯過程,但是同NOR型快閃存儲器相比,NAND型快閃存儲器具有 優(yōu)點(diǎn),因?yàn)樗畠r而且允許高度集成。
      為了執(zhí)行包含壞塊并且在讀取之后需要檢錯/糾錯過程的存儲裝置 (下文中稱為"低可靠性存儲器";例如NAND型快閃存儲器)中所存儲的 程序,通常已經(jīng)實(shí)施了下列技術(shù)。常規(guī)技術(shù)不但采用低可靠性的存儲器, 而且還采用不包含任何壞塊并且不需要檢錯/糾錯過程的存儲裝置(下文
      中稱為"高可靠性存儲器";例如,掩模ROM或NOR型快閃存儲器)。低可 靠性存儲器存儲向其分配錯誤校—驗(yàn)碼的主程序,而高可靠性存儲器存儲執(zhí) 行包含主程序的傳送的功能的初始程序。在脫離復(fù)位狀態(tài)之后,系統(tǒng)CPU 依照高可靠性存儲器中所存儲的初始程序?qū)⒅鞒绦驈牡涂煽啃源鎯ζ鱾?送到RAM。在完成主程序的傳送之后,CPU的控制分支到RAM上的主程序, 隨后執(zhí)行RAM上的主程序。
      由于沒有快速執(zhí)行初始程序的特定需要,因而還是把初始程序存儲在 低速存儲裝置中為好。相應(yīng)地,人們還已知這樣一種技術(shù),該技術(shù)不是采 用高可靠性存儲器來存儲初始程序,而是利用NAND型快閃存儲器中存儲 的初始程序來執(zhí)行系統(tǒng)引導(dǎo)。例如,在日本已公開專利公報2002-55822 中描述了這種技術(shù)-根據(jù)在這篇公報中描述的技術(shù),在電力激活的時候由 傳送電路將存儲在NAND型快閃存儲器中的初始程序傳送到靜態(tài).RAM等等中。
      然而,在這篇公報中描迷的技術(shù)中,當(dāng)將初始程序(包含引導(dǎo)程序、 驅(qū)動程序等等)傳送給靜態(tài)RAM等等時不執(zhí)行檢錯/糾錯過程。因此,如 果已讀取的初始程序包含錯誤的話,則就無法正確地執(zhí)行系統(tǒng)引導(dǎo)。由于 靜態(tài)RAM比其它類型的存儲裝置更加昂貴,因而初始程序大小上的增加會 導(dǎo)致整個系統(tǒng)的成本增加。

      發(fā)明內(nèi)容
      因此,本發(fā)明的一個目的是,提供一種能夠在無需高可靠性存儲器來 存儲初始程序的情況下穩(wěn)定地執(zhí)行系統(tǒng)引導(dǎo)的信息處理設(shè)備。
      本發(fā)明具有下列特征以實(shí)現(xiàn)上述目的。
      本發(fā)明的第一方面涉及一種用于通過使用在非易失性存儲裝置中存 儲的程序來執(zhí)行系統(tǒng)引導(dǎo)的信息處理設(shè)備,包括CPU;非易失性第一存 儲裝置,用于將具有所分配的第一校驗(yàn)碼的引導(dǎo)程序和具有所分配的第二 校驗(yàn)碼的主程序存為將由CPU執(zhí)行的程序,第二校驗(yàn)碼是通過不同于用來
      計(jì)算第一校驗(yàn)碼的方法來計(jì)算的;傳送器,用于讀取第一存儲裝置中存儲 的程序,其中在系統(tǒng)引導(dǎo)期間,傳送器從第一存儲裝置中讀取引導(dǎo)程序, 使引導(dǎo)程序經(jīng)歷基于第一校驗(yàn)碼的第一檢錯/糾錯處理過程,并將所處理 的引導(dǎo)程序傳送到第二存儲裝置;易失性第二存儲裝置,用于存儲從第一 存儲裝置中讀取的程序;和CPU控制器,用于禁止CPU的4喿作直到完成引 導(dǎo)程序的傳送。根據(jù)這個結(jié)構(gòu),能夠通過使用具有所分配的校驗(yàn)碼并且存 儲在低可靠性存儲器(比如使用MND型快閃存儲器而不采用高可靠性存 儲器(諸如像R0M)來存儲初始程序)中的程序來穩(wěn)定地執(zhí)行系統(tǒng)引導(dǎo)。
      在這種情況下,當(dāng)不再被CPU控制器禁止時,依照第二存儲裝置中所 存儲的引導(dǎo)程序,CPU將第一存儲裝置中所存儲的主程序傳送到第二存儲 裝置,并且使主程序經(jīng)過基于第二校驗(yàn)碼的第二檢錯/糾錯過程。根據(jù)這 個結(jié)構(gòu),就可以在檢錯/糾錯過程之后依照引導(dǎo)程序來為主程序執(zhí)行復(fù)雜 的基于軟件的檢錯/糾錯過程。
      所述傳送器可以包^":傳送控制單元,用于控制引導(dǎo)程序的傳送;錯 誤處理單元,用于根據(jù)正在傳送的引導(dǎo)程序的第 一校驗(yàn)碼來執(zhí)行第一檢錯 /糾4普過程;和通知單元,用于如果當(dāng)完成引導(dǎo)程序的傳送時錯誤處理單 元尚未檢查出任何不可糾正錯誤則通知到CPU控制器的傳送結(jié)束。根據(jù)這 個結(jié)構(gòu),能夠通過使用具有所分配的校驗(yàn)碼并且存儲在低可靠性存儲器中 的程序來穩(wěn)定地執(zhí)行系統(tǒng)引導(dǎo),而不必采用高可靠性存儲器來存儲初始程 序。
      所述CPU控制器可以禁止CPU的時鐘信號的提供直到完成引導(dǎo)程序的 傳送為止,作為選擇,所述CPU控制器連續(xù)地提供CPU的復(fù)位信號直到完 成引導(dǎo)程序的傳送為止。根據(jù)這個結(jié)構(gòu),能夠僅僅通過使用少量的硬件來 禁止CPU的操作。
      所述CPU控制器可以阻止CPU訪問第二存儲裝置直到完成引導(dǎo)程序的 傳送為止。更為優(yōu)選地,所述CPU控制器按這樣的方式來裁定對連接于第
      二存儲裝置的總線的訪問權(quán),所述方式就是給傳送器賦予優(yōu)先權(quán)直到完 成引導(dǎo)程序的傳送為止并且在完成引導(dǎo)程序的傳送之后給CPU賦予優(yōu)先 權(quán)。根據(jù)這個結(jié)構(gòu),能夠僅僅通過在訪問第二存儲裝置的控制電路上引入 微小變化來禁止CPU的操作。
      如果引導(dǎo)程序的傳送失敗則所述CPU控制器可以保持禁止CPU的操 作。根據(jù)這個結(jié)構(gòu),能夠防止當(dāng)系統(tǒng)引導(dǎo)已經(jīng)失敗時發(fā)生系統(tǒng)失控 (runway )。
      第一存儲裝置包括多塊,將這些塊中的每一塊都視作為正常塊或者壞 塊,并且將引導(dǎo)程序、主程序、和表示第一存儲裝置中的主程序的已存位 置的已存位置信息都存儲在第一存儲裝置的正常塊中。根這個結(jié)構(gòu),提供 了一種能通過使用包含正常塊和壞塊的低可靠性存儲器(例如NAND型快 閃存儲器)中所存儲的程序來^^亍系統(tǒng)引導(dǎo)的信息處理設(shè)備。
      具體而言,所述引導(dǎo)程序包括已存位置信息和用于根據(jù)第二校驗(yàn)碼來 執(zhí)行第二檢錯/糾錯過程的錯誤處理程序,并且當(dāng)不再被CPU控制器禁止 時,CPU在基于第一校驗(yàn)碼的第一檢錯/糾錯過程之后依照已存位置信息、 經(jīng)由傳送器將第一存儲裝置中所存儲的主程序傳送到第二存儲裝置,并且 在基于第 一校驗(yàn)碼的第 一檢錯/糾錯過程之后,依照錯誤處理程序來為第 二存儲裝置中所存儲的主程序執(zhí)行基于第二檢驗(yàn)碼的第二檢錯/糾錯過 程。根據(jù)這個結(jié)構(gòu),就可以從正確的已存位置上讀取主程序,并且為已經(jīng) 讀取出的主程序執(zhí)行復(fù)雜的基于軟件的檢錯/糾錯過程。
      作為選擇,所述第一存儲裝置存儲具有所分配的第一校驗(yàn)碼的已存位 置信息,所述傳送器也根據(jù)第一校驗(yàn)碼來為從第一存儲裝置中讀取的已存 位置信息執(zhí)行第一檢錯/糾錯過程。所述引導(dǎo)程序包括在其上于第一存儲 裝置中存儲已存位置信息的地址以及用于根據(jù)第二校驗(yàn)碼來執(zhí)行第二檢 錯/糾錯過程的錯誤處理程序,并且當(dāng)不再被CPU控制器禁止時,CPU在基 于第一校驗(yàn)碼的第一檢錯/糾錯過程之后通過利用地址、經(jīng)由傳送器將第
      一存儲裝置中所存儲的已存位置信息傳送到第二存儲裝置,在基于第一校 驗(yàn)碼的第 一檢錯/糾錯過程之后依照已存位置信息、經(jīng)由傳送器將第 一存 儲裝置中所存儲的主程序傳送到第二存儲裝置,并且在基于第 一校驗(yàn)碼的 第 一檢錯/糾錯過程之后依照錯誤處理程序來為第二存儲裝置中所存儲的 主程序執(zhí)行基于第二檢驗(yàn)碼的第二檢錯/糾錯過程。根據(jù)這個結(jié)構(gòu),能夠 在尺寸上減小引導(dǎo)程序,并且可以從正確的已存位置上讀取主程序,并且 為已經(jīng)讀取出的主程序執(zhí)行復(fù)雜的基于軟件的檢錯/糾錯過程。
      在第一存儲裝置的正常塊中可以以預(yù)定大小的數(shù)據(jù)單元的形式來存 儲引導(dǎo)程序,并且所述傳送器從第一存儲裝置中讀取引導(dǎo)程序的每個預(yù)定 大小的數(shù)據(jù)單元,使所述數(shù)據(jù)單元經(jīng)過基于第一校驗(yàn)碼的第一檢錯/糾錯 過程,并且將所處理的數(shù)據(jù)單元傳送到第二存儲裝置。才艮據(jù)這個結(jié)構(gòu),能 夠?yàn)橐灶A(yù)定大小劃分的每個數(shù)據(jù)單元分配提供所希望的檢錯/糾錯能力的 ;艮驗(yàn)碼以作為第 一校驗(yàn)碼。
      具體而言,如果通過根據(jù)第 一校驗(yàn)碼為從第 一存儲裝置中讀取的預(yù)定 大小的數(shù)據(jù)單元執(zhí)行檢錯/糾錯過程而檢查出不可糾正錯誤,那么傳送器 就從緊跟在包含該數(shù)據(jù)單元之后的正常塊中讀取將要處理的下一個數(shù)據(jù) 單元。才艮據(jù)這個結(jié)構(gòu),能夠正確地檢查出包含壞塊的第一存儲裝置中所存 儲的引導(dǎo)程序。
      作為選擇,以預(yù)定大小的數(shù)據(jù)單元的形式將引導(dǎo)程序隨帶分配給每個 數(shù)據(jù)單元的對照碼一起存儲在第一存儲裝置的正常塊中,以及所述傳送器 保留對照碼的參考數(shù)據(jù),并且如果將等同于參考數(shù)據(jù)的對照碼分配給從第
      一存儲裝置中讀取的預(yù)定大小的翁:據(jù)單元,則將所讀取出的數(shù)據(jù)單元傳送 到第二存儲裝置。根據(jù)這個結(jié)構(gòu),能夠解決把壞塊誤會為正常塊的問題, 并且能夠快速地檢查出包含壞塊的第一存儲裝置中所存儲的引導(dǎo)程序。
      更為優(yōu)選地,所述傳送器被設(shè)置成允許根據(jù)已知數(shù)據(jù)來改變參考數(shù) 據(jù)。根據(jù)這個結(jié)構(gòu),甚至是在不同的CPU更改版或系統(tǒng)配置等等的情況下, 也能夠通過依照CPU更改版、系統(tǒng)配置等等從第一存儲裝置內(nèi)部選擇引導(dǎo)
      程序來正確地執(zhí)行系統(tǒng)引導(dǎo)。
      所述傳送器可以包括傳送控制單元,用于控制引導(dǎo)程序的傳送;第 一錯誤處理單元,用于根據(jù)第一校驗(yàn)碼來為正在傳送的引導(dǎo)程序執(zhí)行第一 檢錯/糾錯過程;第二錯誤處理單元,用于根據(jù)第二校驗(yàn)碼來為從第一存 儲裝置中讀取的主程序執(zhí)行第二檢錯/糾一睹過程的至少一部分;和通知單 元,用于如果當(dāng)完成引導(dǎo)程序的傳送時第 一錯誤處理單元尚未檢查出任何 不可糾正錯誤則通知到CPU控制器的傳送結(jié)束。根據(jù)這個結(jié)構(gòu),能夠快速 地執(zhí)行主程序的才企錯/糾錯過程,并且能夠快速地執(zhí)行系統(tǒng)引導(dǎo)。
      具特而言,第二錯誤處理單元相對于從第一存儲裝置中讀取的主程 凈、根據(jù)第二校驗(yàn)碼來計(jì)算校驗(yàn)子,并且依照第二存儲裝置中所存儲的引 導(dǎo)程序,CPU通過使用由第二錯誤處理單元計(jì)算出的校驗(yàn)子、根據(jù)第二校 驗(yàn)碼來為從第 一存儲裝置中讀取的主程序執(zhí)行第二檢錯/糾錯過程的其余 部分。根據(jù)這個結(jié)構(gòu),僅僅通過使用少量的硬件,就能夠提高主程序的檢 錯/糾錯過程的速度。
      作為選擇,當(dāng)通知單元已經(jīng)通知傳送結(jié)束時,傳送器從第一錯誤處理 單元到第二錯誤處理單元地切換處理單元以便處理從第一存儲裝置中讀 取的程序。根據(jù)這個結(jié)構(gòu),當(dāng)完成引導(dǎo)程序的傳送時,能夠自動地變換傳 送器中的才企錯/糾錯過程的內(nèi)容。
      作為選擇,所述傳送器受CPU的控制、從第一錯誤處理單元到第二錯 誤處理單元地切換處理單元以便處理從第一存儲裝置中讀取的程序。根據(jù) 這個結(jié)構(gòu),能夠通過CPU的軟件處理來自動地變換傳送器中的檢錯/糾錯 過程的內(nèi)容。
      作為選擇,如果第二錯誤處理單元已經(jīng)檢查出不可糾正錯誤,則傳送 器就通知CPU傳送失敗,并且當(dāng)接收到傳送失敗的通知時,所述CPU執(zhí)行 異常處理過程。才艮據(jù)這個結(jié)構(gòu),如果系統(tǒng)引導(dǎo)失敗,則能夠4吏系統(tǒng)產(chǎn)生異
      常結(jié)束,并且能夠向用戶通知不可恢復(fù)錯誤的發(fā)生。
      除傳送引導(dǎo)程序之外,受CPU的控制,傳送器可以以預(yù)定大小的數(shù)據(jù)
      單元的形式從第一存儲裝置中讀取主程序,并將已讀取出的每個數(shù)據(jù)單元 傳送到第二存儲裝置。根據(jù)這個結(jié)構(gòu),能夠在尺寸上減小引導(dǎo)程序,能夠
      降低CPU的載荷,并且能夠快速地執(zhí)行系統(tǒng)引導(dǎo)。
      本發(fā)明的第二方面涉及一種用于通過^f吏用非易失性存儲裝置中所存
      儲的程序來執(zhí)行系統(tǒng)引導(dǎo)的信息處理設(shè)備,包括CPU;非易失性第一存 儲裝置,用于將具有所分配的第 一校驗(yàn)碼的《1導(dǎo)程序和具有所分配的第二 校驗(yàn)碼的主程序存為將由CPU執(zhí)行的程序,所述第二校驗(yàn)碼是通過不同于 用來計(jì)算第一校驗(yàn)碼的方法來計(jì)算的;傳送器,用于讀取第一存儲裝置中 所存儲的程序;和易失性第二存儲裝置,用于存儲從第一存儲裝置中讀取 的程序,其中所述傳送器從第一存儲裝置中讀取引導(dǎo)程序,使該引導(dǎo)程序 經(jīng)過基于第 一校驗(yàn)碼的第 一檢錯/糾錯過程并內(nèi)部地存儲所處理的引導(dǎo)程 序,并且響應(yīng)于來自CPU的讀請求輸出已存儲的引導(dǎo)程序,并且在系統(tǒng)引 導(dǎo)期間,CPU依照傳送器中所存儲的引導(dǎo)程序來進(jìn)行操作。根據(jù)這個結(jié)構(gòu), 能夠通過使用具有所分配的校驗(yàn)碼并且存儲在低可靠性存儲器(比如, NAND型快閃存儲器)中的程序來穩(wěn)定地執(zhí)行系統(tǒng)引導(dǎo),而不必采用高可靠 性存儲器(比如,ROM)來存儲初始程序。此外,不必確保用于存儲引導(dǎo) 程序的存儲區(qū)。
      在這種情況下,所述引導(dǎo)程序可以包括錯誤處理程序,用于根據(jù)第二 校驗(yàn)碼來執(zhí)行檢錯/糾錯過程,并且在系統(tǒng)引導(dǎo)期間,依照傳送器中所存 儲的引導(dǎo)程序,CPU根據(jù)第二校驗(yàn)碼來為從第一存儲裝置中讀取的主程序 執(zhí)行檢錯/糾錯過程。根據(jù)這個結(jié)構(gòu),就可以在第一檢錯/糾錯過程之后依 照引導(dǎo)程序來為主程序執(zhí)行復(fù)雜的基于軟件的第二檢錯/糾錯過程。
      本發(fā)明的第三發(fā)明涉及一種用于根據(jù)多個數(shù)據(jù)來生成將要寫入到包 含壞塊的存儲裝置中的ROM圖像的ROM圖像生成設(shè)備,包括壞塊信息保
      留單元,用于保留存儲裝置中所包含的壞塊的位置信息,ROM圖像將被寫 入到所述壞塊中;代碼信息管理單元,用于管理與輸入數(shù)據(jù)的類型相關(guān)聯(lián) 的校驗(yàn)碼的類型;圖像重新格式化單元,用于將輸入數(shù)據(jù)轉(zhuǎn)換為適合于具 有所分配的與輸入數(shù)據(jù)類型相關(guān)聯(lián)的校驗(yàn)碼的格式;和寫入圖像生成單 元,用于通過參照壞塊信息保留單元中所存儲的位置信息來把已經(jīng)由圖像 重新格式化單元重新格式化后的多個數(shù)據(jù)合并成單個數(shù)據(jù),同時避開壞 塊,并且將與輸入數(shù)據(jù)類型相關(guān)聯(lián)的校驗(yàn)碼分配給合并后的數(shù)據(jù),根據(jù)這 個結(jié)構(gòu),就可以生成將要寫入存儲器的ROM圖像,所述存儲器將被用作為 根據(jù)本發(fā)明的第 一或第二方面的信息處理設(shè)備中所包含的第 一存儲裝置。 依照數(shù)據(jù)類型分配校驗(yàn)碼,并且能夠生成ROM圖像以便其數(shù)據(jù)中任何一個 都不會^皮存儲在壞塊中。
      在這種情況下,所述ROM圖像生成設(shè)備可以進(jìn)一步包括用于保留對照 碼的對照碼保留單元,其中所述圖像重新才各式化單元將對照碼保留單元中 保留的對照碼分配給輸入數(shù)據(jù)。根據(jù)這個結(jié)構(gòu),能夠生成具有所分配的對 照碼的ROM圖像。
      所述ROM圖像生成設(shè)備可以進(jìn)一步包括存儲控制單元,用于執(zhí)行在存 儲裝置中搜索壞塊的位置以獲取位置信息的過程和將由寫入圖像生成單 元生成的數(shù)據(jù)寫入到存儲裝置中的過程。才艮據(jù)這個結(jié)構(gòu),能夠獲得一種能 把ROM圖像寫入到實(shí)際存儲器的ROM圖象生成設(shè)備。
      因此,依照本發(fā)明的信息處理設(shè)備,能夠通過使用具有所分配的校驗(yàn) 碼并且存儲在低可靠性存儲器(比如,MND型快閃存儲器)中的程序來穩(wěn) 定地執(zhí)行系統(tǒng)引導(dǎo),而不必采用高可靠性存儲器(比如,ROM)來存儲初 始程序。此外,依照本發(fā)明的ROM圖象生成設(shè)備,就可以生成將要寫入存 儲器的ROM圖像,所述存儲器將被用作為信息處理設(shè)備中所包含的第一存 儲裝置。
      當(dāng)結(jié)合附圖閱讀本發(fā)明的下列詳細(xì)說明時,本發(fā)明的這些及其它目的、特征、方面和優(yōu)點(diǎn)將變得更加明顯。


      圖1是舉例說明根據(jù)本發(fā)明第一實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖2是舉例說明NAND型快閃存儲器中的塊與頁之間的關(guān)系的圖3是舉例說明圖1中所示的信息處理設(shè)備中的引導(dǎo)程序和第一錯誤 校驗(yàn)碼的格式的圖4是舉例說明圖1中所示的信息處理設(shè)備中的壞塊信息表和第三錯 誤校^^碼的格式的圖5是舉例說明圖1中所示的信息處理設(shè)備中的CPU控制器的示例性 結(jié)構(gòu)的圖6是舉例說明圖1中所示的信息處理設(shè)備中的CPU控制器的示例性 結(jié)構(gòu)的圖7是舉例說明圖1中所示的信息處理設(shè)備中的傳送器的操作的流程
      圖8A和8B是舉例說明圖1中所示的信息處理設(shè)備中的引導(dǎo)程序的示 例性結(jié)構(gòu)的圖9是舉例說明圖1中所示的信息處理設(shè)備的CPU的自引導(dǎo)過程的流 程圖10是舉例說明根據(jù)本發(fā)明第一實(shí)施例的信息處理設(shè)備的變形結(jié)構(gòu) 的圖11是舉例說明根據(jù)本發(fā)明第二實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖12是舉例說明圖11中所示的信息處理設(shè)備中的引導(dǎo)程序和第一錯 誤校-瞼碼的格式的圖13是舉例說明圖11中所示的信息處理設(shè)備中的傳送器的操作的流 程圖14是舉例說明根據(jù)本發(fā)明第二實(shí)施例的信息處理設(shè)備的變形的圖15是舉例說明根據(jù)本發(fā)明第三實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖16是舉例說明根據(jù)本發(fā)明第三實(shí)施例的信息處理設(shè)備的變形的圖17是舉例說明根據(jù)本發(fā)明第四實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖18是舉例說明圖17中所示的信息處理設(shè)備的CPU的自引導(dǎo)過程的 流程圖19是舉例說明根據(jù)本發(fā)明第五實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖20是舉例說明根據(jù)本發(fā)明第六實(shí)施例的ROM圖像生成設(shè)備的結(jié)構(gòu) 的圖;和
      圖21A和21B是舉例說明來自圖20中所示的ROM圖像生成設(shè)備中的 重新格式化區(qū)域的輸出的圖。
      具體實(shí)施例方式
      在下文中,將參照這些圖來描述本發(fā)明的各種實(shí)施例。在每個實(shí)施例 中,等同于前述實(shí)施例中的那些組成部分的任何組成部分都將用相似的數(shù) 字來表示,并且將省略對它們的描述。
      (第一實(shí)施例)
      圖1是舉例說明根據(jù)本發(fā)明第一實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖。 圖1中所示的信息處理設(shè)備1包括CPU 10、第一至第三存儲裝置11至 13、傳送器14和CPU控制器15。
      CPU IO是信息處理設(shè)備I的主CPU。在電力激活以前存在的初始狀態(tài) 下,把將由CPU IO執(zhí)行的任何程序都存儲在第一存儲裝置11中。不限定 在初始狀態(tài)下的第二和第三存儲裝置12和13的內(nèi)容。第一至第三存儲裝 置ll至13經(jīng)由數(shù)據(jù)總線16a至16c互連。 一旦激活電力,就把第一存儲 裝置11中所存儲的程序傳送給第二和第三存儲裝置12和13。更具體而言, 在初始狀態(tài)下,第一存儲裝置11存儲操縱初始設(shè)定才喿作的引導(dǎo)程序(引 導(dǎo)程序在下文中,縮寫為"BSP") 111以及主程序112。 BSP 111將被傳 送給第二存儲裝置12,而主程序112將被傳送給第三存儲裝置13。直到 BSP lll的傳送結(jié)束,CPU控制器15才禁止CPU IO取指令。
      第一存儲裝置11由可以包含壞塊(即,未正確執(zhí)行存儲功能的塊) 并且在讀取時需要檢錯/糾錯過程的非易失性存儲裝置組成。在下文中, 假定第一存儲裝置11是NAND型快閃存儲器。圖2是舉例說明NAND型快 閃存儲器中的塊與頁之間的關(guān)系的圖。如圖2所示,將NAND型快閃存儲 器的存儲區(qū)分成多塊,將每一塊再分成多頁。在一類NAND型快閃存儲器 中, 一塊由32頁構(gòu)成,其中每一頁例如是由512字節(jié)的數(shù)據(jù)和16字節(jié)備 用區(qū)、總計(jì)528字節(jié)構(gòu)成的。然而,取決于NAND型快閃存儲器的類型, 塊大小和頁大小除采用32頁和528字節(jié)之外可以采用任意數(shù)值。由于假 定第一存儲裝置11包含壞塊,因而必須執(zhí)行對第一存儲裝置11的任意讀 或?qū)懸証便避開壞塊。
      如圖1所示,在除壞塊110之外的塊中,第 一存儲裝置11存儲BSP 111 、 主程序112、壞塊信息表113和第一至第三錯誤校驗(yàn)碼U4至116。BSP111 至少包含為執(zhí)行系統(tǒng)引導(dǎo)所必需的系統(tǒng)配置和用于將主程序112從第一存 儲裝置11傳送到第三存儲裝置13的主程序傳送例程(參見圖8A和8B, 稍后做描述)。主程序112是在系統(tǒng)引導(dǎo)結(jié)束之后將由CPU IO執(zhí)行的程序。 在任何信息處理設(shè)備中, 一般而言,主程序112的尺寸大于BSP 111的大 小。壞塊信息表113是表示壞塊的位置的表(參見圖4,稍后做描述)。第 一至第三錯誤校驗(yàn)碼114至116分別是分配給BSP lll的錯誤核z驗(yàn)碼、主 程序112和壞塊信息表113。正如下面所述的那樣,利用相同的方法來計(jì) 算第一和第三錯誤4交驗(yàn)碼114和116,而利用與之不同的方法來計(jì)算第二
      錯誤校驗(yàn)碼115。
      圖3是舉例說明BSP 111和第一錯誤校驗(yàn)碼114的格式的圖。在圖3 中,D[i]表示信息位,P[U表示錯誤校驗(yàn)碼位(其中i是非負(fù)整數(shù);在下 文中,相同的假設(shè)對于任何"i"的實(shí)例而言都適用)。如圖3所示,把BSP111 存儲在每個地址的低4位中,而把第一錯誤校驗(yàn)碼114存儲在每個地址的 高4位中。更具體而言,從BSP 111開始處起將其分成4位的組,并且按 照地址的升序?qū)⑦@些組中的每一組都存儲在每個地址的低4位中。對于由 此而分出的每個4位的組,將(利用如下所述的計(jì)算方法)計(jì)算4位的第 一錯誤校驗(yàn)碼114,并且按照地址的升序?qū)⑵浯鎯υ诿總€地址的高4位中。 因此,以4位為單位(總共8位)來處理BSP 111和第一錯誤校驗(yàn)碼ll4。
      圖4是舉例說明壞塊信息表113和第三錯誤校驗(yàn)碼116的格式的圖。 在圖4中,每個地址的低4位(數(shù)值"0"或"r')表示信息位,而P[i]表示 錯誤校驗(yàn)碼位。把壞塊信息表113存儲在每個地址的低4位中,而把第三 錯誤校驗(yàn)碼116存儲在每個地址的高4位中。更具體而言,壞塊信息表113 通過每塊中占一位的方式來存儲表示第一存儲裝置11中的每一塊是好塊 (正常塊)還是壞塊的信息。將壞塊信息表113從其開始處起分成4位的 組,并且按地址的升序?qū)⑦@些組中的每一組都存儲在每個地址的低4位中。 用于由此而劃分出的每個4位的組,將利用與用于計(jì)算BSP lll相同的計(jì) 算方法來計(jì)算4位的第三錯誤校3企碼116,并且按地址的升序?qū)⑵浯鎯υ?每個地址的高4位中。
      例如,如果NAND型快閃存儲器具有256兆比特的存儲容量并且把16 K 字節(jié)的塊用作為第一存儲裝置11,則總塊數(shù)為2048 K。在這種情況下, 在第一存儲裝置U的正常塊之一中,確保了相當(dāng)于2 K位的兩倍的區(qū)域 (即512字節(jié))(其包含用于存儲第三錯誤校驗(yàn)碼116的區(qū)域)。在確保的 512字節(jié)的存儲區(qū)中,存儲壞塊信息表113和第三錯誤校驗(yàn)碼116。假設(shè) 將要把對應(yīng)每個正常塊的數(shù)值"0"和對應(yīng)每個壞塊的數(shù)值"1"存儲在壞塊
      信息表113中,則圖4中所示的壞塊信息表113將表明第一存儲裝置11 中的第五和第十二塊都是壞塊。
      對于NAND型快閃存儲器而言,推薦依據(jù)它的類型來^f吏用特定的編碼 方法。在前述的包含512字節(jié)的數(shù)據(jù)頁和16字節(jié)的備用區(qū)的NAND型快閃 存儲器的情況下,例如推薦實(shí)施允許將至少為512字節(jié)的數(shù)據(jù)執(zhí)行的1位 糾錯和2位枱r錯的編碼。相應(yīng)地,將主程序112從其開始處起分成512 字節(jié)的組,并且為由此而劃分出的每個512字節(jié)的組分配利用為NAND型 快閃存儲器推薦的編碼方法計(jì)算出的第二錯誤檢查代碼115 (大約24比 特)。
      通過在執(zhí)行對第一存儲裝置11的寫入之前先利用預(yù)定方法訪問第一 存儲裝置11,來獲得關(guān)于第一存儲裝置11中的塊是好塊(正常塊)還是 壞塊的知識。當(dāng)執(zhí)行對第一存儲裝置11的寫入時,必須確保不對壞塊執(zhí) 行寫入,而是僅對正常塊執(zhí)行寫入。在下列說明中,假定BSP 111將被存 ^i者在一個或多個連續(xù)塊中,這些連續(xù)塊的塊號是從第一頁中沖洗出的第一 存儲裝置11中所包含的正常塊當(dāng)中的最小號。還可以^f艮定主程序112將 被存儲在從第一頁刷新的第一存儲裝置11中所包含的正常塊當(dāng)中的其中 存有BSP 111的塊的后續(xù)的一個或多個連續(xù)塊中。
      第二存儲裝置12是能夠在無需任何特定的初始"i殳定的情況下^皮CPU IO和傳送器11兩者訪問的易失性存儲器。由于將要把BSP 111傳送給如 上所述的第二存儲裝置12,因而把容量大于BSP 111的尺寸的存儲器用作 為第二存儲裝置12。由于一旦CPU 10結(jié)束第二存儲裝置12上的BSP的執(zhí) 行時第二存儲裝置12將變得不必要,因此信息處理設(shè)備1可以運(yùn)用已作 為第二存儲裝置12而位于系統(tǒng)LSI內(nèi)部的靜態(tài)RAM等等,而不是配備充 當(dāng)?shù)诙鎯ρb置12的專用存儲器。盡管在下列說明中將順便把第二和第 三存儲裝置12和13視作為獨(dú)立的存儲裝置,但是將會認(rèn)識到的是第二 和第三存儲裝置12和13也可以是保證位于單個存儲裝置之內(nèi)的離散存儲
      區(qū)。在這種情況下,在完成系統(tǒng)引導(dǎo)之后,例如可以將確保作為第二存儲
      裝置12的存儲區(qū)用作為工作區(qū)。
      由于將要把主程序112傳送給如上所迷的第三存儲裝置13,將比第二 存儲裝置12的容量更大的存儲器用作為第三存儲裝置13。因此,第三存 儲裝置13最好是允許隨機(jī)訪問的易失存儲裝置,并且其每比特的價格是 4艮《氐的,例如SDRAM。
      如圖1所示,傳送器14包括傳送控制單元141、錯誤處理單元142和 通知單元143。傳送控制單元141具有將第一存儲裝置11中所存儲的BSP 111自動傳送到第二存儲裝置12的功能以及受CPU 10的控制讀取第一存 儲裝置11中所存儲的主程序112的功能。當(dāng):J巴BSP 111從第一存儲裝置 11傳送到第二存儲裝置12時,錯誤處理單元142根據(jù)第一錯誤校驗(yàn)碼114 來為正在傳送的BSP 111執(zhí)行檢4普/糾錯過程。如果正確地完成BSP 111 的傳送,則通知單元143就輸出傳送表明向CPU控制器15進(jìn)行的傳送的 正確結(jié)束的結(jié)束通知信號144。
      根據(jù)從通知單元143那里輸出的傳送結(jié)束通知信號144, CPU控制器 15輸出CPU激活控制信號151。圖5和6是舉例說明CPU控制器15的示 例性結(jié)構(gòu)的圖。在圖5中所示的結(jié)構(gòu)當(dāng)中,CPU控制器15屏蔽CPU 10的 時鐘信號直到傳送結(jié)束通知信號144變?yōu)橛行У臑橹?,由此來中止CPU 10。 一旦傳送結(jié)束通知信號144變?yōu)橛行У模珻PU控制器15就不再屏蔽時鐘信 號,并且CPU IO開始工作。在圖6中所示的結(jié)構(gòu)當(dāng)中,CPU控制器15允 許CPU 10的復(fù)位信號通過直到傳送結(jié)束通知信號144變?yōu)橛行У臑橹梗?由此來中止CPU 10。 一旦傳送結(jié)束通知信號144變?yōu)橛行У模珻PU控制器 15就屏蔽復(fù)位信號,以使CPU10開始工作。根據(jù)CPU控制器15的這類動 作,禁止CPU IO取指令直到傳送結(jié)束通知信號144變?yōu)橛行У臑橹埂?br> 在下文中,將描述傳送器14的細(xì)節(jié)。 一旦激活電力,傳送器14就在 第一存儲裝置11中獲取在其上存有BSP 111的位置,從這個已存儲的位
      置開始按頁順序讀取BSP 111,并且將BSP 111傳送到第二存儲裝置12。 更具體而言, 一旦激活電力,傳送控制單元141就從第一存儲裝置11的 起始處開始順序地讀取已存儲的內(nèi)容。如圖3所示,錯誤處理單元142為 8位的處理的每個單元執(zhí)行檢錯/糾錯過程。傳送控制單元141在檢錯/糾 錯過程之后將BSP 111的每4位的塊打包成預(yù)定的傳送單元,然后將所述 預(yù)定傳送單元傳送給第二存儲裝置12。在此,從CPU IO在電力激活以后 自其中取指令的地址開始順序更新第二存儲裝置12中的lt據(jù)的傳送目的 地。在本實(shí)施例中,假定傳送器14按16位的傳送單元執(zhí)行傳送,并且假 定CPU IO從其中首次取指令的地址是第二存儲裝置12的第一地址。
      現(xiàn)在,將描述將要在錯誤處理單元142中執(zhí)行的檢錯/糾錯過程。 將要分配給BSP 111的第一錯誤校驗(yàn)碼114可以是滿足第一存儲裝置11 的推薦技術(shù)規(guī)范的任意代碼。在前述的包含512字節(jié)的數(shù)據(jù)頁和16字節(jié) 的備用區(qū)的NAND型快閃存儲器的情況下,例如推薦執(zhí)行允許將為512字 節(jié)的數(shù)據(jù)執(zhí)行的l位糾錯和2位檢錯的編碼。在這種情況下,能夠通過把 允許將為512字節(jié)或更少字節(jié)的信息位執(zhí)行的1位糾錯和2位檢錯的代碼 選作為第一錯誤校驗(yàn)碼114來滿足最低要求。
      在這個實(shí)施例中,將提供比1位糾錯和2位檢錯所提供的能力更高的 4企錯/糾錯處理能力的代碼用于第一錯誤校驗(yàn)碼1",以便即使在第一存儲 裝置11中包含比在1位糾錯和2位檢錯過程中所預(yù)期的缺陷有更多的缺 陷也能夠正確地執(zhí)行系統(tǒng)引導(dǎo)。具體地說,通過根據(jù)BSP 111、使用生成 矩陣G來計(jì)算第一錯誤校驗(yàn)碼114,正如下面用等式1表示的那樣。在下 列說明中,假定D
      至D[3]表示BSP 111的4位的塊;P
      至P[3]表示 分配給D[O]至D[3]的第一錯誤校驗(yàn)碼,并且假定在矩陣計(jì)算中對于每次 加法使用異或。 P[l] P[2] P[3]]-[D
      D[l] D[2] D[3〗]G . .等式1
      <formula>formula see original document page 18</formula>通過使用如等式2所示的校驗(yàn)矩陣H來計(jì)算利用等式1得到的代碼 [D[O] D[l] D[2] D[3] P[O] P[l] P[2] P[3]]的校驗(yàn)子[X
      X[l] X[2] X[3〗]: X[l] X[2] X[3]〗
      -[D[O] D[l] D[2] D[3] P[O] P[l] P[2] P [3] ] HT ...等式2
      其中=
      10 10 10 0 0
      0 10 10 10 0
      1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1
      ;HT表示H的轉(zhuǎn)置矩陣
      接下來,錯誤處理單元142依據(jù)由此得到的X [3]至X [O]的值來 執(zhí)行下列過程(其中X = (aPY5)指的是X[3]=a; X[2],; X[l]-y;和 X
      -6):
      a)如果X -,0},那么無錯誤;不執(zhí)行糾錯;b)如果x -{0101},那么D[O]是錯誤;倒置D[O];
      c)如果x -{0110},那么D[l]是錯誤;倒置D[1〗;
      d)如果x -{1001},那么D[2]是錯誤;倒置D[2〗;
      e)如果x -{1010},那么D[3]是錯誤;倒置D[3];
      f)如果x =歸1},那么P[O]是錯誤;不執(zhí)行糾錯;
      g)如果x ={0010},那么P[l]是錯誤;不執(zhí)行糾錯;i)如果X- {0100},那么P[2]是錯誤;不執(zhí)行糾錯;以及
      j)如果X- {1000},那么P[3]是錯誤;不執(zhí)行糾錯。
      情況(b)至(e)都是這樣的情況,即其中對在信息位中出現(xiàn)的1位 錯誤進(jìn)行糾錯。情況(f)至(j)都是這樣的情況,即其中由于僅僅在錯誤校 ^r碼中存在1位錯誤,因而不對信息位進(jìn)行糾錯。如果X采用除前述數(shù)值 以外的任何數(shù)值,那么錯誤處理單元142就判定已經(jīng)發(fā)生了不可糾正的錯 誤。將會認(rèn)識到的是,上面描述的用于第一錯誤校驗(yàn)碼114的計(jì)算方法只 是示例性的,可以使用任何其它的計(jì)算方法。
      圖7是舉例說明傳送控制單元141在電力激活之后的操作的流程圖。 依照圖7中所示的程序,傳送控制單元141在第一存儲裝置11中獲取存 儲BSP 111的位置,從這個已存儲的位置起按頁順序讀取BSP 111,并且 將BSP 111傳送到第二存儲裝置12。在此^f艮定BSP 111的尺寸為一塊或更 少塊。變量B表示讀取的塊號,而變量P表示讀取的頁號。
      一旦激活電力,傳送控制單元141就首先將B和P初始化為0 (步驟 S101)。其結(jié)果是,在第一塊(即"第0塊")中的第一頁(即"第0頁") 上設(shè)置第一存儲裝置11中的讀取位置。接下來,傳送控制單元1"讀取 第一存儲裝置11中的第B塊的第P頁,并將這一頁傳送到第二存儲裝置 12中的預(yù)定地址上(步驟S102)。在此時,錯誤處理單元142將所傳送的 頁劃分成預(yù)定的處理單元(在這個示例中,假定每個處理單元是8位), 并且為每個處理單元執(zhí)行檢錯/糾錯過程。如果在每個處理單元中包含任 何可糾正錯誤的話,那么錯誤處理單元142就糾正所述錯誤。如果在每個 處理單元中包含任何不可糾正錯誤的話,那么錯誤處理單元就內(nèi)部地 存儲這個事件。
      接下來,傳送控制單元141判斷P是否小于BSP lll中的頁數(shù)目(下 文中稱為"M")(步驟S103)。如果判斷的結(jié)果為"是"的話,則傳送控制 單元141就將P加1 (步驟S106),并前進(jìn)至步驟S102。由此,連續(xù)地執(zhí)
      行M次步驟S102中的傳送。如果步驟S103的判斷結(jié)果是否,則傳送控制 單元141就判斷在于步驟S102中傳送M頁期間是否已經(jīng)檢測到不可糾正 錯誤(步驟S104)。如果判斷的結(jié)果為"否",則傳送控制單元141就判定 BSP 111的傳送成功,并且結(jié)束該過程。在這種情況下,通知單元143向 CPU控制器15輸出傳送結(jié)束通知信號144。
      如果步驟S104的判斷結(jié)果為"是",則傳送控制單元141就判斷B是 否小于將要搜索的塊數(shù)目(下文中稱為"N")(步驟S105)。如果判斷的結(jié) 果為"否",則傳送控制單元141就判定BSP 111的傳送已經(jīng)失敗,并且 結(jié)束該過程。如果步驟S105的判斷結(jié)果為"是",則傳送控制單元141就 將B加1,將P設(shè)定為0 (步驟S107),并且前進(jìn)至步驟S102。由此,傳 送控制單元141至多相對于N塊查找BSP 111。注意,M和N的值可能在 傳送器14中是固定的,或者可能是可通過切換而變化的。
      當(dāng)從通知單元143那里接收到傳送結(jié)束通知信號144時,CPU控制器 15確認(rèn)已經(jīng)正確地完成了 BSP lll的傳送,并且令CPU激活控制信號151 變換,以便實(shí)現(xiàn)CPU IO的操作。其結(jié)果是,CPU IO開始從第二存儲裝置 12中取指令。在另一方面,如果尚未正確^k^完成BSP 111的傳送,則就不 輸出傳送結(jié)束通知信號144,以便在CPU激活控制信號151中不發(fā)生變換, 并且CPU IO就不會開始從第二存儲裝置12中取指令。注意,用于通過CPU 控制器15來控制CPU 10取指令的方法例如包括一種控制提供給CPU 10 的時鐘信號的方法(圖5 )和一種控制提供給CPU 10的復(fù)位信號的方法(圖 6)。
      在下文中,將描述BSP 111的細(xì)節(jié)。BSP 111包含用于執(zhí)行系統(tǒng)配置、 主程序傳送例程和壞塊信息表113 (或指向壞塊信息表113的指針)的數(shù) 據(jù)。由于將把主程序112存儲在第一存儲裝置11的正常塊中,因而可以 將壞塊信息表113視/f乍為表示第一存儲裝置11中的主程序112的已存位 置的位置信息。
      圖8A和8B是舉例說明BSP 111的示例性結(jié)構(gòu)的圖。如圖8A所示, BSP 111包括配置單元117、主程序傳送單元118和壞塊信息表指針119。 配置單元117包含為執(zhí)行基本系統(tǒng)配置所必需的數(shù)據(jù),比如將在總線控制 器中設(shè)置的數(shù)據(jù)。根據(jù)配置單元117中所含的數(shù)據(jù),例如執(zhí)行為訪問第三 存儲裝置13所必需的存儲器控制器設(shè)置。主程序傳送單元118包含主程 序傳送例程,該主程序傳送例程包括根據(jù)第二錯誤4吏-瞼碼115來執(zhí)行檢錯 /糾錯過程的錯誤處理程序。壞塊信息表指針119包含壞塊信息表113的 第一地址。
      作為選擇,如圖8B所示,BSP 111可以包含壞塊信息表113,而不是 壞塊信息表指針119。在其中采用圖8B的結(jié)構(gòu)的情況下,BSP 111的尺寸 變得比在其中采用圖8A的結(jié)構(gòu)的情況更大。然而,當(dāng)在結(jié)束BSP 111的 傳送之后訪問壞塊信息表113時,CPU 10只須訪問第二存儲裝置l2,而 不必訪問第一存儲裝置11。因此,在其中采用圖8B的結(jié)構(gòu)的情況下,能 夠快速地執(zhí)行向第三存儲裝置13傳送主程序112的過程。
      圖9是舉例說明CPU 10的自引導(dǎo)過程的流程圖。在完成BSP 111的 傳送并且輸出傳送結(jié)束通知信號144之后,CPU 10 ^l行第二存儲裝置12 上的BSP 111以便執(zhí)行圖9中所示的過程。在圖9中,變量B表示讀取的 塊號,而變量P表示讀取的頁號。
      一旦完成BSP 111的傳送,CPU IO就首先通過利用BSP 111的系統(tǒng)配 置單元117中所存儲的數(shù)據(jù)來執(zhí)行系統(tǒng)配置(步驟S201 )。在步驟S201, 例如,在存儲器接口電路等等中設(shè)置各種參數(shù),以便訪問第三存儲裝置13。
      接下來,CPU IO從BSP 111中讀取壞塊信息表指針119,并且通過利 用這個指針來把壞塊信息表113從第一存儲裝置11拷貝到第三存儲裝置 13(步驟S202 )。在此時,傳送器14中的錯誤處理單元142根據(jù)已從第一 存儲裝置11中讀出的壞塊信息表113的第一錯誤校-驗(yàn)碼114來執(zhí)行檢錯/ 糾錯過程。注意,在采用如圖8B所示的BSP 111的情況下,不執(zhí)行步驟 S202的過程,因?yàn)橐呀?jīng)把壞塊信息表113存儲在了第二存儲裝置12中。 接下來,CPU IO將包含BSP 111的塊的數(shù)目設(shè)置為B (步驟S203 )。
      接下來,通過參照第三存儲裝置13上的壞塊信息表,CPU IO判斷下 一個正常塊的數(shù)目并且把這個數(shù)目設(shè)置成B (步驟S204 ),并將P置0 (步 驟S205 )。然后,CPU IO調(diào)用拷貝功能以把第一存儲裝置11中的第B塊 中的第P頁拷貝到第三存儲裝置13中的預(yù)定地址上(步驟S206 )。接下 來,作為執(zhí)行^r4普/糾錯過程的準(zhǔn)備,CPU 10先計(jì)算相對于已在步驟S206 拷貝的頁的校驗(yàn)子(步驟S207 )。那么,根據(jù)在步驟S207中計(jì)算的校驗(yàn) 子,CPU 10通過軟件手段來執(zhí)行檢4普/糾錯過程(步驟S208 )。經(jīng)由步驟 S208的過程,已經(jīng)讀取的頁中所含的任何可糾正錯誤都被糾正。
      接下來,CPU 10判斷在步驟S208的檢錯/糾錯過程期間是否已經(jīng)發(fā)現(xiàn) 任何不可糾正錯誤(超出糾正能力之外的錯誤)(步驟S209 )。如果判斷 的結(jié)果為"否,,,則CPU10就判斷P是否小于一塊中的頁數(shù)(步驟S210)。 如果判斷的結(jié)果為"是,,,則CPU 10就將P力。1 (步驟S212 ),并且前 進(jìn)至步驟S206。如果步驟S210的判斷結(jié)果為"否",則CPU IO就判斷B 是否小于BSPlll中的塊數(shù)(步驟S211)。如果判斷的結(jié)果為"是",則 CPU IO就將B力卩I,將P置0 (步驟S213),并且前進(jìn)至步驟S2(M。
      如果在步驟S211中的判斷結(jié)果為"否,,,則CPU10就判定主程序112 的傳送成功。在這種情況下,CPU 10的控制分支到第三存儲裝置13上的 主程序112。在另一方面,如果步驟S209的判斷結(jié)果為"是",則CPU 10 就判定主程序1U的傳送已經(jīng)失敗。在這種情況下,CPU10不執(zhí)行任4可過 程,并且進(jìn)入無P艮循環(huán)。
      由此,CPU IO執(zhí)行第二存儲裝置12上的BSP 111,以將第一存儲裝 置11的正常塊中所存儲的主程序112傳送到第三存儲裝置13。爾后,如 果主程序112的傳送變成功,則CPU 10繼續(xù)執(zhí)行第三存儲裝置13上的主 程序112;如果主程序112的傳送失敗,則CPU IO就停止工作。
      如上所述,依照信息處理i殳備1,能夠通過使用具有所分配的校驗(yàn)碼
      且正存儲在低可靠性存儲器(比如,NAND型快閃存儲器)中的程序來穩(wěn)定 地執(zhí)行系統(tǒng)引導(dǎo),而無需采用高可靠性存儲器(比如,ROM)來存儲初始 程序。由于依照存儲在第二存儲裝置中的引導(dǎo)程序來將存儲在第 一存儲裝 置中的主程序傳送給第二存儲裝置并且根據(jù)第二校驗(yàn)碼來執(zhí)行檢錯/糾錯 過程,因此就可以為所述主程序執(zhí)行復(fù)雜的基于軟件的檢錯/糾錯過程。
      在上述信息處理設(shè)備1中,CPU 10取指令受CPU控制器15的控制。 作為選擇,正如圖10中所示的信息處理i殳備2所例示的那樣,可以通過 為數(shù)據(jù)總線16a采用仲裁器20來控制CPU 10取指令。在圖10中,仲裁 器20裁定對訪問第二存儲裝置12所必須的凄t據(jù)總線16a的訪問權(quán)。更具 體而言,在電力激活之后,仲裁器20以較高優(yōu)先權(quán)向傳送器14準(zhǔn)許對數(shù) 據(jù)總線16a的訪問權(quán),直到輸出傳送結(jié)束通知信號144為止。 一旦完成BSP 111的傳送以致輸出傳送結(jié)束通知信號144,仲裁器20就以較高優(yōu)先權(quán)向 CPU 10準(zhǔn)許對數(shù)據(jù)總線16a的訪問權(quán)。
      其結(jié)杲是,雖然CPU IO在電力激活之后立即嘗試從第二存儲裝置12 中取指令,但是仲裁器20進(jìn)行動作以便CPU 10不具有對數(shù)據(jù)總線16a的 訪問權(quán),即無法訪問第二存儲裝置12,直到BSP111的傳送結(jié)束為止。由 此,在開始CPU IO取指令之前,必須等待BSP 111的傳送結(jié)束。照此, 信息處理設(shè)備2與信息處理設(shè)備1提供了相同的效果。
      信息處理設(shè)備l采用從第一存儲裝置11中的第一塊開始順序搜索BSP 111并根據(jù)在M頁的傳送期間是否檢查出不可糾正錯誤來檢查壞塊的壞塊 校驗(yàn)方法。然而,如果在輸出時剛好把偶然通過檢錯/糾錯過程的一個值 作為初始值數(shù)據(jù)存儲在壞塊中,那么這個方法就可能會4巴壞塊誤會為正常 塊。為了解決這個問題,當(dāng)執(zhí)行對第一存儲裝置11的寫入時,可以重復(fù) 地把包含不可糾正錯誤的數(shù)據(jù)寫入到壞塊。結(jié)果,將在傳送M頁期間安全 地檢查出不可糾正錯誤,借此能夠避免把壞塊誤會成正常塊的問題。(第二實(shí)施例)
      圖11是舉例說明根據(jù)本發(fā)明第二實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖。
      除了用傳送器30替代傳送器14并將對照碼121添加到BSP 111上之外, 圖11中所示的信息處理設(shè)備3等同于第一實(shí)施例的信息處理設(shè)備1(圖1 )。 信息處理設(shè)備3通過使用對照碼121來解決把壞塊誤會成正常塊的問題。
      除了用傳送控制單元311替代傳送控制單元141以及添加了包含對照 碼保留單元301和對照碼比較單元302的傳送數(shù)據(jù)判斷單元303之外,傳 送器30等同于第一實(shí)施例的傳送器14。對照碼保留單元301存儲在系統(tǒng) 中唯一確定的對照碼。盡管對用作為對照碼值沒有特定的限制,但是最好 4吏用區(qū)別于^f壬何其它值的特征4直(例如,由"o"位和"r位的混合組成的 值)。在本實(shí)施例中,例如使用2字節(jié)的對照碼"5a3c"(十六進(jìn)制)。
      當(dāng)把BSP 111寫入第一存儲裝置11時,將與在對照碼保留單元301 中保留的對照碼相同的對照碼121分配給該BSP 111。圖12是類似于圖3 的圖,該圖舉例說明了具有所分配的對照碼121的BSP lll的格式以及第 一錯誤校驗(yàn)碼114的格式。在第一存儲裝置11中的一個或多個正常塊的 多頁上存儲BSP 111。在其中存有BSP 111的一部分的每個數(shù)據(jù)頁的最后 4字節(jié)(512字節(jié))中,帶錯誤校驗(yàn)碼地存儲對照碼121。更具體而言,把 2字節(jié)的對照碼121分成四個4位的組,并且將這些組中的每一組都存為 每一頁的最末4字節(jié)的低4位。對于對照碼121的每4位,通過使用等式 1來計(jì)算4位錯誤校驗(yàn)碼,并且將每一頁的最末4字節(jié)的高4位存為對照 碼的錯誤校驗(yàn)碼122。例如,如果對照碼具有值"5a3c"(十六進(jìn)制),于是 M[15] = 0; M[14〗=1; M〖13] = 0; M[12〗- 1; P[2047〗- 1; P[2046〗 - 1; P[2045] = 0; P[2044] = 0;等等。
      圖13是類似于圖7的流程圖,該圖舉例說明了在電力激活之后、傳 送控制單元311的操作。作為帶有第一實(shí)施例中的傳送控制單元141的情 況,依照圖13中所示的程序,傳送控制單元311在第一存儲裝置11中獲
      取BSP lll的已存位置,從這個已存位置起按頁順序地讀取BSP 111,并 將該BSP 111傳送到第二存儲裝置12。此外,再假定BSP 111的尺寸是一 塊或更少塊。變量B和P的含義與圖7定義的含義相同。
      一旦激活電力,傳送控制單元311就將B和P初始化成0(步驟S301 )。 接下來,傳送控制單元311判斷P是否小于BSP 111的M的大小(步驟S302 )。 如果判斷的結(jié)果為"否",則傳送控制單元311就判定BSP 111的傳送成 功,并且結(jié)束該過程。在這種情況下,CPU控制器15輸出傳送結(jié)束通知信 號144。
      如果步驟S302的判斷結(jié)果為"是",則傳送控制單元311就讀取第 一存儲裝置11中的第B塊中的第P頁,并且把這一頁傳送到第二存儲裝 置12中的預(yù)定地址上(步驟S303)。在此時,錯誤處理單元142執(zhí)行與 圖7中的步驟S102相同的檢錯/糾錯過程。對照碼比較單元302將已傳送 的頁的數(shù)據(jù)(512字節(jié))的最末4字節(jié)中所存儲的對照碼121與對照碼保 留單元301中的保留的對照碼(即,對照碼應(yīng)該采用的參考值)進(jìn)行比較。
      接下來,傳送控制單元311判斷對照碼比較單元302是否已經(jīng)發(fā)現(xiàn)對 照碼121匹配所述對照碼的參考值(步驟S304 )。如果判斷的結(jié)果為"是", 則傳送控制單元311就在步驟S303中判斷在一頁的傳送期間是否已經(jīng)檢 查出不可糾正錯誤(步驟S305 )。如果判斷的結(jié)杲為"否",則傳送控制單 元311就將P加1(步驟S307 ),并前進(jìn)至步驟S302。
      如果步驟S304的判斷結(jié)果為"否",則傳送控制單元311就判斷B是 否小于將要搜索的塊的數(shù)目N (步驟S306 )。如果判斷的結(jié)果為"是",則 傳送控制單元311就將B加1,將P置0(步驟S308 ),并前進(jìn)至步驟S302。
      如果步驟S305的判斷結(jié)果為"是",或者如果步驟S306的判斷結(jié)果 為"否",則傳送控制單元311就判定BSP 111的傳送已經(jīng)失敗,并且結(jié) 束該過程。在這種情況下,CPU控制器15不輸出傳送結(jié)束通知信號144。
      不論引導(dǎo)程序的傳送變成功還是變失敗,信息處理設(shè)備3都類似于第
      一實(shí)施例的信息處理設(shè)備l的那樣操作。因此,信息處理設(shè)備3提供了與 由第一實(shí)施例的信息處理設(shè)備l提供的效果相同的效杲。另外,對照碼的 使用解決了把壞塊誤會成正常塊的問題,并且實(shí)現(xiàn)了對第一存儲裝置中所 存儲的估計(jì)可能包含壞塊的引導(dǎo)程序的快速檢測。
      在信息處理設(shè)備3中,作為選擇可以采用圖5或圖6中所示的CPU控 制器15或者圖10中所示的仲裁器20來控制CPU IO取指令。對如下所述 的第三至第五實(shí)施例來說也是成立的。
      正如圖14中所示的信息處理設(shè)備4所例示的那樣,信息處理設(shè)備可 以包括允許從外界重寫對照碼的傳送器。在圖14中,構(gòu)建傳送器40以便 能夠經(jīng)由數(shù)據(jù)總線16d將數(shù)據(jù)寫入對照碼保留單元301中。第一存儲裝置 11存+者兩類BSP llla和lllb;并且通過利用相同的方法來相對于這兩 類BSP計(jì)算第一 114a和114b。 BSP llla和第一錯誤校驗(yàn)碼114a將對應(yīng) 于圖11中所示的信息處理設(shè)備3中的BSP 111和第一錯誤校驗(yàn)碼114。BSP lllb是不同于BSP llla的BSP,例如用于不同更改版的CPU的BSP或用 于具有不同系統(tǒng)配置的信息處理設(shè)備的BSP。將BSP llla和lllb隨帶分 別分配給它們的對照碼121a和121b —起存儲在第一存儲裝置11中。將 為對照碼121b使用不同于對照碼121a的值。
      可以根據(jù)CPU 10或系統(tǒng)配置的更改來重寫對照碼保留單元301中所 保留的對照碼(即,對照碼應(yīng)該采用的參考值)。 一旦激活電力,傳送器 40就依照對照碼保留單元301中保留的對照碼來選擇BSP llla或者BSP lllb,并將所選定的BSP傳送到第二存儲裝置12。 CPU IO依照第二存儲 裝置12上的BSP llla或BSP 111b來進(jìn)行操作。由此,甚至是在不同的 CPU更改版或系統(tǒng)配置的情況下等等,也能夠通過依照CPU更改版、系統(tǒng) 配置等使用從單個第一存儲裝置11中選出的最佳BSP來正確執(zhí)行系統(tǒng)引 導(dǎo)。盡管將上迷信息處理設(shè)備4舉例說明成了通過使用相同的方法來計(jì)算 BSP llla和111b的第一錯誤校驗(yàn)碼114a和114b,但是也可以通過不同
      的方法來計(jì)算它們;在這種情況下,每個錯誤校驗(yàn)碼的檢錯/糾錯都將由 ^"誤處理單元142來執(zhí)行。
      (第三實(shí)施例)
      圖15是舉例說明才艮據(jù)本發(fā)明第三實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖。 除了用傳送器50替代傳送器14之外,圖15中所示的信息處理設(shè)備5等 同于第一實(shí)施例的信息處理設(shè)備l (圖l)。信息處理設(shè)備5的特征在于 主程序112的檢錯/糾錯過程的一部分是在傳送器50中執(zhí)行的。
      除了用第一和第二錯誤處理單元501和502以及錯誤處理選擇單元 503替代錯誤處理單元142之外,傳送器50等同于第一實(shí)施例的傳送器 14。第一錯誤處理單元501根據(jù)第一和第三錯誤校驗(yàn)碼114和116來執(zhí)行 檢錯/糾錯過程。例如,第一錯誤處理單元501中的檢錯/糾錯過程是由預(yù) 定的處理單元(在本例中是8位的處理單元)使用等式2來執(zhí)行的。
      第二錯誤處理單元502根據(jù)第二錯誤校驗(yàn)碼115來執(zhí)行檢錯/糾錯過 程的一部分。假定第二錯誤校驗(yàn)碼115是一個16字節(jié)的錯誤校驗(yàn)碼,其 中所述錯誤校驗(yàn)碼是沖艮據(jù)512字節(jié)的數(shù)據(jù)加以計(jì)算的,那么基于第二錯誤 校驗(yàn)碼115的檢錯/糾錯過程將必然導(dǎo)致比對應(yīng)第一和第三錯誤校驗(yàn)碼114 和116的計(jì)算量更大的計(jì)算量。因此,如果第二錯誤處理單元502將要根 據(jù)第二錯誤校驗(yàn)碼115來執(zhí)行所有的檢錯/糾錯過程,那么傳送器50就將 需要增加的硬件數(shù)量,由此導(dǎo)致信息處理設(shè)備5的成本上的增加。因此, 在基于第二錯誤校驗(yàn)碼115的檢錯/糾錯過程之內(nèi),第二錯誤處理單元502 僅僅處理校驗(yàn)子計(jì)算。將要通過CPU 10的軟件處理來執(zhí)行利用計(jì)算出的 校驗(yàn)子的檢錯/糾錯過程。
      在CPU 10的控制下,錯誤處理選擇單元503有選擇地令第一和第二 錯誤處理單元501和502中的任一個工作。錯誤處理選擇單元503包括CPU 10能夠向其中寫入凄t值的寄存器。在這個寄存器中,例如,存儲數(shù)值"O" 直到BSP 111的傳送結(jié)束為止。 一旦完成BSP 111的傳送,CPU IO例如將
      錯誤處理選擇單元503中的前述寄存器的值更新為"l"。如果寄存器的值 為"0",則錯誤處理選擇單元503就向第一錯誤處理單元501提供從第一 存儲裝置ll讀取的數(shù)據(jù)。如果寄存器的值為"l", 4晉誤處理選擇單元503 就向第二錯誤處理單元502提供從第一存儲裝置11讀取的數(shù)據(jù)。
      由此,在傳送器50中,在激活電力之后,為將要傳送的BSP 111執(zhí) 行基于第一錯誤校驗(yàn)碼114的檢錯/糾錯過程,直到錯誤處理選擇單元503 中的寄存器的值轉(zhuǎn)變?yōu)?l"。當(dāng)CPU 10執(zhí)行預(yù)定的指令時,錯誤處理選 擇單元503中的寄存器的值轉(zhuǎn)變?yōu)?l"。爾后,在基于將為要被傳送的主 程序112執(zhí)行的第二錯誤校驗(yàn)碼115的4企錯/糾錯過程之內(nèi),在傳送器50 中發(fā)生校驗(yàn)子計(jì)算。
      由此,依照信息處理設(shè)備5,由傳送器來處理檢錯/糾錯過程的一部分, 借此以供主程序的檢錯/糾錯過程的快速執(zhí)行使用,由此以供系統(tǒng)引導(dǎo)使 用。
      在上面舉例說明的信息處理設(shè)備5中,用來自CPU 10的指令來重寫 錯誤處理選擇單元503中的寄存器的值。作為選擇,正如圖16中所示的 信息處理設(shè)備6所例示的那樣,傳送器60中的錯誤處理選擇單元601可 以與接收自通知單元143的傳送結(jié)束通知信號144相同步地將前述寄存器 的值從"O"變換為'T'。
      (第四實(shí)施例)
      圖17是舉例說明根據(jù)本發(fā)明第四實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖。 除了用傳送器70替代傳送器50之外,圖17中所示的信息處理設(shè)備7等 同于第三實(shí)施例的信息處理設(shè)備5 (圖15 )。信息處理設(shè)備7的特征在于 所述傳送器70具有傳送主程序112的功能。
      除了傳送器70還包括控制信息存儲單元701、壞塊信息表指針存儲單 元702和壞塊信息表存儲單元703之外,傳送器70等同于第三實(shí)施例的 傳送器50 (圖15 )??刂菩畔⒋鎯卧?01存儲傳送源地址、傳送大小、
      傳送目的地址等等。壞塊信息表指針存儲單元702存々者BSP lll中所包含 的壞塊信息表指針119 (壞塊信息表113的第一地址)。
      將利用與用于BSP 111的相同方法計(jì)算的第三4普誤4交驗(yàn)碼116分配到 壞塊信息表113。受CPU10的控制,傳送器70從第一存儲裝置11中讀取 的壞塊信息表113和第三錯誤校驗(yàn)碼116,借助于第一錯誤處理單元501 使它們經(jīng)過檢錯/糾錯過程,并且把已經(jīng)經(jīng)過檢錯/糾錯過程的壞塊信息表 寫入第二存儲裝置12。
      在本實(shí)施例中,第二錯誤處理單元502才艮據(jù)第二4昔誤校驗(yàn)碼來執(zhí)行全 部檢錯/糾錯過程。在這種情況下,如果當(dāng)執(zhí)行主程序112的檢錯/糾錯過 程時檢查出不可糾正錯誤,那么第二錯誤處理單元502就停止錯誤處理, 并且(通過利用圖中未示出的裝置)向CPU 10通知已經(jīng)檢查出不可恢復(fù) 錯誤。當(dāng)接收到這個通知時,CPU 10執(zhí)行異常處理過程。例如,CPU 10 可以異常中止系統(tǒng),并且通過在顯示裝置(未示出)上顯示消息來向用戶 通知已經(jīng)出現(xiàn)了不可恢復(fù)錯誤。
      圖18是舉例說明根據(jù)當(dāng)前實(shí)施例的CPU 10的自引導(dǎo)過程的流程圖。 由于圖18中所示的流程圖與圖9中所示的流程圖相似,因而下面將僅Y又 描述它們之間的差別。
      在圖9中所示的流程圖中,CPU 10從BSP 111中讀取壞塊信息表指針 119,并且使用壞塊信息表指針119來把該壞塊信息表113從第一存儲裝 置11拷貝到第三存儲裝置13 (步驟S202 )。從另一方面來說,在圖18 中所示的流程圖中,CPU IO從BSP 111中讀取壞塊信息表指針119,并且 把該壞塊信息表指針119寫入到傳送器70的壞塊信息表指針存儲單元702 中(步驟S402 )。在此時,通過引用存儲在壞塊信息表指針存儲單元702 中的壞塊信息表指針,傳送器70從第一存儲裝置11中讀取壞塊信息表113 和第三錯誤校驗(yàn)碼116,并根據(jù)第一錯誤校驗(yàn)碼114使它們經(jīng)過檢錯/糾錯 過程,并且把該過程的結(jié)果寫入到壞塊信息表存儲單元703中。
      此外,在圖9中所示的流程圖中,CPU IO調(diào)用拷貝功能以將一頁拷貝 到第三存儲裝置13 (步驟S206 ),并且為所拷貝的頁計(jì)算校驗(yàn)子(步驟 S207 )。從另一方面來說,在圖18中所示的流程圖中,CPU 10^巴傳送所 必需的參數(shù)(例如,作為傳送源的B和P的值)寫入到傳送器70的控制 信息存儲單元701中,并且等待傳送器70完成傳送(步驟S406 )。在此 時,傳送控制單元141按照由控制信息存儲單元701中存儲的參數(shù)所指定 的那樣將第一存儲裝置11中的第B塊中的第P頁傳送到第二存儲裝置12 中的預(yù)定地址上,并且第二錯誤處理單元502為所傳送的頁計(jì)算^H瞼子。 當(dāng)完成一頁的傳送時,CPU10讀取已在第二錯誤處理單元502中計(jì)算出的 校驗(yàn)子(步驟S408 )。根據(jù)已讀取出的校驗(yàn)子來執(zhí)行步驟S409的檢錯/ 糾錯過程。
      由此,依照信息處理設(shè)備7,能夠減小引導(dǎo)程序的大小,并且能夠降 低CPU上的載荷,借此實(shí)現(xiàn)系統(tǒng)引導(dǎo)的快速執(zhí)行。
      (第五實(shí)施例)
      圖19是舉例說明根據(jù)本發(fā)明第五實(shí)施例的信息處理設(shè)備的結(jié)構(gòu)的圖。 除了消除掉第二存儲裝置12以及用傳送器80替代傳送器30之外,圖19 中所示的信息處理設(shè)備8等同于第三實(shí)施例的信息處理設(shè)備3 (圖11)。 信息處理設(shè)備8的特征在于它沒有用于存儲BSP lll的專用存儲裝置, 而且BSP 111是從傳送器80那里提供的。
      除了用傳送控制單元803和緩沖控制單元801替代傳送控制單元311 以及添加了指令提供緩沖器802之外,傳送器80等同于第三實(shí)施例的傳 送器30 (圖11)。指令提供緩沖器802是用于存儲預(yù)定數(shù)量的指令的緩 沖器 一旦激活電力,傳送控制單元803就從第一存儲裝置11的開始處 起順序讀取預(yù)定量的BSP 111,并且錯誤處理單元142為已經(jīng)讀取出的預(yù) 定量的BSP 111執(zhí)行檢錯/糾錯過程。把已經(jīng)經(jīng)過檢錯/糾錯的BSP 111經(jīng) 由數(shù)據(jù)總線16c、 16b和16e存儲到指令提供緩沖器802中。 一旦激活電
      力,CPU IO就嘗試從指令提供緩沖器802中取指令。
      如果當(dāng)CPU 10已經(jīng)嘗試取指令時已把下一條指令存儲在了指令提供 緩沖器802中,那么緩沖控制單元801就允許CPU IO讀出那條指令。在 這種情況下,CPU10成功地取出指令,并且執(zhí)行所取出的指令。在另一方 面,如果當(dāng)CPU 10已經(jīng)嘗試取指令時、在指令提供緩沖器802中尚未存 儲下一條指令,那么緩沖控制單元801就停止CPU IO取指令,并且控制 傳送控制單元803從第一存儲裝置11中讀取下一條指令。使已讀取出的 指令經(jīng)過檢錯/糾錯過程,并且爾后將其存儲在指令提供緩沖器802中。 通過這種控制,傳送器80確保如果在指令提供緩沖器802中尚未存儲 下一條指令的話則CPU 10就無法執(zhí)4于取指令直到下一條指令變成就緒狀 態(tài)為止。
      由此,依照信息處理設(shè)備8,能夠在沒有確保用于存儲BSP的存儲區(qū) 的情況下提供與第 一 實(shí)施例的信息處理i殳備所提供的效果相同的效果。
      (第六實(shí)施例)
      圖20是舉例說明根據(jù)本發(fā)明第六實(shí)施例的ROM圖像生成設(shè)備的結(jié)構(gòu) 的圖。圖20中所示的R0M圖像生成設(shè)備9是一種將包含BSP 111、主程 序112等等的ROM圖像寫入到存儲器(下文中稱為"目標(biāo)存儲器")中的設(shè) 備,其中所述存儲器被用作為根據(jù)上述實(shí)施例中的任何一個的信息處理設(shè) 備中所包含的第一存儲裝置11。
      ROM圖像生成i殳備9包括圖像重新格式化單元91、寫入圖像生成單元 92、存儲控制單元93、對照碼管理單元94、代碼信息管理單元"、壞塊 信息保留單元96和壞塊信息表生成單元97。圖像重新格式化單元91包括 對照碼分配單元911和重新格式化單元912。寫入圖像生成單元92包括圖 像合并單元921、壞塊信息表指針分配單元9"和錯誤校驗(yàn)碼分配單元 923。存儲控制單元93包括壞塊搜索單元931和存儲器寫入單元932。
      在將輸入數(shù)據(jù)900輸入之前,對照碼管理單元94先存儲對照碼941
      (它將被作為對輸入數(shù)據(jù)900的賦值而寫入),并且代碼信息管理單元95 存儲表明將在計(jì)算每一種類型的輸入數(shù)據(jù)900的錯誤校驗(yàn)碼的過程中使用 哪種方法的錯誤校驗(yàn)碼賦值信息951。壞塊搜索單元931利用預(yù)定方法來 訪問目標(biāo)存儲器,并且輸出表明目標(biāo)存儲器中所含的壞塊的位置的壞塊信 息933。把從壞塊搜索單元931中輸出的壞塊信息933存儲到壞塊信息保 留單元96中。
      作為輸入數(shù)據(jù)900,把將要寫入目標(biāo)存儲器的BSP、主程序等等(它 們都為二進(jìn)制形式)都作為到ROM圖像生成設(shè)備9的獨(dú)立的文件來加以輸 入。根據(jù)壞塊信息保留單元96中的壞塊信息961,壞塊信息表生成單元 97以二進(jìn)制形式生成壞塊信息表971。把輸入數(shù)據(jù)900和壞塊信息表971 都以獨(dú)立的文件的形式輸入到圖像重新4各式化單元91中。
      圖像重新格式化單元91把輸入數(shù)據(jù)900和壞塊信息表971重新格式 化成用于寫入到目標(biāo)存儲器中的適當(dāng)形式。更具體而言,對照碼分配單元 911根據(jù)需要將對照碼管理單元94中所存儲的對照碼941分配給輸入數(shù)據(jù) 900。依照代碼信息管理單元95中所存儲的錯誤校驗(yàn)碼賦值信息951,重 新格式化單元912將輸入數(shù)據(jù)900和壞塊信息表971的每一個都重新格式 化成能夠適于接收分配給它的錯誤校驗(yàn)碼的形式,并將結(jié)果作為獨(dú)立的文 件加以輸出。已經(jīng)由圖像重新格式化單元91重新格式化后的數(shù)據(jù)將稱為 重新格式化單元輸出913。
      圖21A和21B是舉例說明示例性的重新格式化單元輸出913的圖。圖 21A示出了在輸入BSP 111的情況下的重新格式化單元輸出913。圖21B 示出了在輸入主程序112的情況下的重新格式化單元輸出913。當(dāng)正在輸 入BSP 111時,代碼信息管理單元95保持輸出表明必須執(zhí)行到一種格式 的重新格式化的錯誤校驗(yàn)碼賦值信息951,在所述格式中將4位錯誤校驗(yàn) 碼分配給4位的信息位(即,圖3中所示的格式)。依照錯誤校驗(yàn)碼賦值 信息951,重新格式化單元912將BSP 111 (它已經(jīng)以二進(jìn)制形式被輸入)
      重新格式化成圖21A中所示的格式。在另一方面,當(dāng)正在輸入主程序112 時,代碼信息管理單元95保持輸出表明必須執(zhí)行到一種形式的重新格式 化的錯誤校驗(yàn)碼賦值信息951,在所述形式中將16字節(jié)備用區(qū)分配給每 512字節(jié)的數(shù)據(jù)。依照這個錯誤校驗(yàn)碼賦值信息951,重新格式化單元912 將主程序112 (它已經(jīng)以二進(jìn)制形式被輸入)重新格式化成圖21B中所示 的格式。
      寫入圖像生成單元92對來自圖像重新格式化單元91的重新格式化節(jié) 輸出913進(jìn)行合并以生成將要寫入目標(biāo)存儲器的ROM圖像924,同時注意 目標(biāo)存儲器中所包含的壞塊的位置。更具體而言,圖像合并單元921把已 經(jīng)以獨(dú)立文件的形式被輸出的重新格式化單元輸出913合并成單個文件。 在此時,根據(jù)從壞塊信息保留單元96中輸出的壞塊信息961,圖像合并單 元921輸出僅僅對與正常塊相對應(yīng)的位置有效的數(shù)據(jù),由此避開壞塊。
      一旦圖像合并單元921已經(jīng)把重新格式化單元輸出913合并成單個文 件,將把壞塊信息表971存儲在哪個正常塊中就將變成確定的了。因此, 為了從圖像合并單元921中輸出,壞塊信息表指針分配單元922分配這個 正常塊(對應(yīng)于壞塊信息表指針119)的數(shù)目。
      一旦壞塊信息表指針分配單元922已經(jīng)分配了前述正常塊的數(shù)目,則 除了錯誤校驗(yàn)碼外就最終確定了將要寫入目標(biāo)存儲器的ROM圖像中的所有 數(shù)據(jù)。因此,為了從壞塊信息表指針分配單元922中輸出,錯誤校驗(yàn)碼分 配單元923依照從代碼信息管理單元95中輸出的錯誤校驗(yàn)碼賦值信息951 來分配4晉誤校驗(yàn)碼。例如,錯誤校驗(yàn)碼分配單元923將第一錯誤校驗(yàn)碼114 分配給BSP 111,而把第二錯誤校驗(yàn)碼115分配給主程序112。
      存儲器寫入單元932把從寫入圖像生成單元92中輸出的ROM圖像924 寫入到目標(biāo)存儲器。在此時,才艮據(jù)壞塊信息保留單元96中所保留的壞塊 信息961,存儲器寫入單元932把ROM圖像924只寫入到目標(biāo)存儲器中所 包含的正常塊當(dāng)中。
      如上所述,依照本實(shí)施例的ROM圖像生成設(shè)備,能夠把包含BSP、主 程序等等的ROM圖像寫入到作為根據(jù)第一至第五實(shí)施例中的任何一個的信
      息處理設(shè)備中所包含的第 一存儲裝置的存儲器當(dāng)中。
      根據(jù)本發(fā)明的信息處理設(shè)備的特征在于它能夠在不采用R0M等等來 存儲初始程序的情況下穩(wěn)定地執(zhí)行系統(tǒng)引導(dǎo)。因此,可以把信息處理設(shè)備 用作為各種信息處理設(shè)備,比如筆記本型個人電腦、移動式信息裝置、蜂 窩式電話、數(shù)字照相機(jī)、視頻電影裝置、游戲。
      雖然已經(jīng)詳細(xì)描述了本發(fā)明,但是上述說明在所有方面中都是例證性 的而非限制性的。當(dāng)然在不背離本發(fā)明的范圍的情況下能夠設(shè)計(jì)出許多其 它的^l"改和變形。
      權(quán)利要求
      1、一種用于根據(jù)多個數(shù)據(jù)來生成將要寫入到包含壞塊的存儲裝置中的ROM圖像的ROM圖像生成設(shè)備,包括壞塊信息保留單元,用于保留存儲裝置中所包含的壞塊的位置信息,ROM圖像將被寫入到所述壞塊中;代碼信息管理單元,用于管理與輸入數(shù)據(jù)的類型相關(guān)聯(lián)的校驗(yàn)碼的類型;圖像重新格式化單元,用于將輸入數(shù)據(jù)轉(zhuǎn)換為適合于具有所分配的與輸入數(shù)據(jù)類型相關(guān)聯(lián)的校驗(yàn)碼的格式;和寫入圖像生成單元,用于通過參照壞塊信息保留單元中所存儲的位置信息來把已經(jīng)由圖像重新格式化單元重新格式化后的多個數(shù)據(jù)合并成單個數(shù)據(jù),同時避開壞塊,并且將與輸入數(shù)據(jù)類型相關(guān)聯(lián)的校驗(yàn)碼分配給合并后的數(shù)據(jù)。
      2、 根據(jù)權(quán)利要求1所述的ROM圖像生成設(shè)備,進(jìn)一步包括用于保留 對照碼的對照碼保留單元,其中所述圖像重新格式化單元將對照碼保留單元中保留的對照碼分 配給輸入數(shù)據(jù)。
      3、 根據(jù)權(quán)利要求1所述的ROM圖像生成設(shè)備,進(jìn)一步包括存儲控制 單元,用于執(zhí)行在存儲裝置中搜索壞塊的位置以獲取位置信息的過程和將 由寫入圖像生成單元生成的數(shù)據(jù)寫入到存儲裝置中的過程。
      全文摘要
      本發(fā)明公開了一種信息處理設(shè)備和用于該設(shè)備的ROM圖像生成設(shè)備,其中,在電力激活之后,傳送器14檢查具有所分配的第一錯誤校驗(yàn)碼114并且存儲在第一存儲裝置11中的引導(dǎo)程序111,使所述引導(dǎo)程序111經(jīng)歷檢錯/糾錯過程,并將所述引導(dǎo)程序111傳送到第二存儲裝置12。如果通過執(zhí)行第二存儲裝置12上的引導(dǎo)程序111而正確地完成傳送,CPU 10就為具有所分配的第二錯誤校驗(yàn)碼115的主程序112執(zhí)行檢錯/糾錯過程,并將主程序112傳送到第三存儲裝置13,在此之后CPU的控制分支到第三存儲裝置13上的主程序112。結(jié)果,能夠在不采用NOR型快閃存儲器的情況下執(zhí)行系統(tǒng)引導(dǎo)。
      文檔編號G06F9/24GK101183313SQ200710142349
      公開日2008年5月21日 申請日期2004年12月24日 優(yōu)先權(quán)日2003年12月25日
      發(fā)明者三野吉輝, 山本泰宜, 隅田圭三 申請人:松下電器產(chǎn)業(yè)株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1