国产精品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è)備的制作方法

      文檔序號:6611794閱讀:264來源:國知局
      專利名稱:存儲器管理方法和便攜式終端設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種以塊為單位執(zhí)行寫入的非易失性存儲器,并且特別涉及 一種存儲器管理方法和一種使用該非易失性存儲器的便攜式終端設(shè)備。
      背景技術(shù)
      對于便攜式終端設(shè)備(也可筒稱為"便攜式終端"),包括各便攜式電話 終端,使用閃速存儲器作為可重寫的非易失性半導(dǎo)體存儲器。在閃速存儲器中有NAND和NOR型。NAND型閃速存儲器(在下文中也稱為"NAND存 儲器")具有適合實現(xiàn)大容量存儲設(shè)備的特征,每單元容量成本低,但是只可 能以固定大小的塊為單位進行讀寫,并且隨機訪問慢。另一方面,NOR型閃 速存儲器具有讀寫速度快、并且可以高速隨機訪問的特征,但是不適合高度 集成,并且寫入需要大電 流。因此,在成本、集成度和功率消耗方面具有優(yōu)勢的NAND存儲器被用來 存儲便攜式終端的程序。當(dāng)從NAND存儲器引導(dǎo)時,程序區(qū)域暫時從NAND 存儲器傳遞到RAM (如SDRAM (同步動態(tài)隨機存取存儲器)),并且程序在 RAM中被執(zhí)行。由于這個原因,程序主體常駐于NAND存儲器中。通常在封裝之前缺陷塊已經(jīng)存在于NAND存儲器中。此外,有必要考慮 NAND存儲器將隨著使用年度而劣化,并且最初曾是好塊的塊將變成有缺陷 的。發(fā)明內(nèi)容在電子設(shè)備(如各便攜式終端)的軟件中,改正稱為程序缺陷(bug)的 錯誤是共同的作法,并且執(zhí)行版本更新以增加和改進功能。當(dāng)執(zhí)行版本更新時,程序使用裝入程序(loader)等存儲到NAND存儲 器中。在這種情況下,通常采用一種跳過缺陷塊的方法,并將程序加載到 NAND存儲器中。當(dāng) 一 個缺陷塊后來出現(xiàn)時,在整個程序區(qū)域加載到NAND存儲器中的情
      況下,沒有問題出現(xiàn)。然而,當(dāng)由于在軟件更新中使用差別(difference)數(shù) 據(jù)而產(chǎn)生了更新前后的差別文件時,由于后來出現(xiàn)的缺陷塊的出現(xiàn),更新前 程序的地址連續(xù)性丟失,與用于更新的文件匹配難以完成,并且程序的更新 難以執(zhí)行。即使程序更新能夠執(zhí)行,該塊的內(nèi)容和隨后塊的內(nèi)容需要移動對 應(yīng)于一個塊的量,并且被重寫。結(jié)果,只更新差別文件是不夠的,并且有一 個問題,即使用差別文件更新軟件的優(yōu)勢被削弱了 。在這樣的背景下,本發(fā)明提供一種存儲器管理方法和使用該存儲器管理 方法的便攜式終端設(shè)備,所述存儲器管理方法適用于針對以塊為單位執(zhí)行寫 入的非易失性存儲器,用差別文件更新軟件。根據(jù)本發(fā)明的實施例,提供了 一種用于管理非易失性存儲器的存儲器管 理方法,向所述非易失性存儲器以塊為單位執(zhí)行寫入,所述存儲器管理方法 包括以下各步驟將非易失性存儲器的多個塊分配到由至少一個塊構(gòu)成的用 來存儲管理信息的管理區(qū)、由多個塊構(gòu)成的向其寫入程序代碼的代碼區(qū)、由 多個塊構(gòu)成的用來替換缺陷塊的替換區(qū)、以及由至少一個塊構(gòu)成干擾區(qū),該 干擾區(qū)提供在管理區(qū)和替換區(qū)之間;至少將替換區(qū)的各塊和替換目標(biāo)的缺陷 塊之間的對應(yīng)信息,作為管理信息存儲在管理區(qū)內(nèi);以及當(dāng)缺陷塊將被使用 時,以對應(yīng)信息為基礎(chǔ)使用替換區(qū)的塊替換缺陷塊。在該存儲器管理方法中,非易失性存儲器的多個塊被分為"管理區(qū)"、"代 碼區(qū)"、"替換區(qū)"和"干擾區(qū)",并且該干擾區(qū)安排在管理區(qū)和替換區(qū)之間。 用這種配置,管理區(qū)和代碼區(qū)可以共同使用替換區(qū)。此外,通過在非易失性 存儲器中提供管理區(qū),可以執(zhí)行缺陷塊的替換管理而不需要外部提供特殊的 存儲器管理裝置。作為更特殊的實施例,當(dāng)管理區(qū)的塊變成有缺陷時,干擾區(qū)被移動到替 換區(qū)內(nèi)與干擾區(qū)有更接近存儲地址的塊,使得將原始干擾區(qū)的 一個塊設(shè)置為 新的管理區(qū)。按照從具有距干擾區(qū)最遠的存儲地址的塊開始的順序,使用替 換區(qū)的塊。結(jié)果,干擾區(qū)用作管理區(qū)和替換區(qū)的之間的邊界,邊界的位置是 可變的,并且管理區(qū)和替換區(qū)都能夠使用替換區(qū)的塊。根據(jù)本發(fā)明的另一個實施例,提供了一種便攜式電話終端,其包括非 易失性存儲器,向其以塊為單位執(zhí)行寫入;以及控制裝置,用于將非易失性 存儲器的多個塊分配到由至少 一個塊構(gòu)成的用以存儲管理信息的管理區(qū)、由 多個塊構(gòu)成的寫入程序代碼的程序區(qū)、由多個塊構(gòu)成的用以替換缺陷塊的替 換區(qū)、以及由至少一個塊構(gòu)成的干擾區(qū),所述干擾區(qū)提供在管理區(qū)和替換區(qū) 之間,并且該控制裝置用于使用各區(qū),其中該控制裝置至少將替換區(qū)的各塊 和替換目標(biāo)的缺陷塊間的對應(yīng)信息,作為管理信息存儲在管理區(qū)內(nèi),以及當(dāng) 缺陷塊被使用時,以對應(yīng)信息為基礎(chǔ)使用替換區(qū)的塊替換缺陷塊。根據(jù)本發(fā)明的實施例,即使當(dāng)后來出現(xiàn)的缺陷塊出現(xiàn)在非易失性存儲器 中時,通過使用替換區(qū)中的塊替換該缺陷塊,可以容易地以更新所用的差別 文件為基礎(chǔ)執(zhí)行軟件的更新。即使當(dāng)后來出現(xiàn)的缺陷塊出現(xiàn)在管理區(qū)時,通過將管理區(qū)向替換區(qū)側(cè)移 動,并且通過使用原始的干擾區(qū)作為新的管理區(qū),實質(zhì)上管理區(qū)和代碼區(qū)都 可以使用替換區(qū)的塊。也就是說,可以有效地利用替換區(qū)的所有塊,而不限 于使用固定數(shù)量的替換區(qū)的塊。通過使用至少兩個用來存儲管理信息的塊作為管理區(qū),不必外部備份管 理信息。通過將關(guān)于使用替換區(qū)的塊替換缺陷塊的管理信息存儲在至少 一個非易 失性存儲器的塊內(nèi),并通過使用該管理信息,不需要提供特定的邏輯/物理地址轉(zhuǎn)換裝置(如MMU)。


      圖1顯示根據(jù)本發(fā)明實施例的便攜式終端IO的硬件的示意性配置; 圖2顯示程序區(qū)存儲在如圖1所示的NAND存儲器的特定塊和隨后各塊 的示例;圖3示意性顯示更新前的程序與更新后的程序比較、并且產(chǎn)生了用于更 新的文件作為差別文件的狀態(tài);圖4示意性顯示以用于更新的文件為基礎(chǔ)、通過軟件更新引擎更新更新 前的程序的狀態(tài);圖5圖示當(dāng)在NAND存儲器中出現(xiàn)缺陷塊時、在使用用于更新的文件在 NAND存儲器內(nèi)更新程序期間的問題;圖6顯示在本發(fā)明的實施例中NAND存儲器15b的存儲器空間的內(nèi)部配 置的示例;圖7圖示在本發(fā)明的實施例中管理區(qū)的內(nèi)部配置和存儲在其中的信息; 圖8圖示用替換區(qū)替換代碼區(qū)中的缺陷塊的狀態(tài);
      圖9圖示在本發(fā)明的實施例中當(dāng)管理區(qū)變成缺陷塊時的操作;圖10顯示在本發(fā)明的實施例中NAND存儲器內(nèi)的替換區(qū)被用盡的狀態(tài);圖11是顯示在本發(fā)明的實施例中、當(dāng)發(fā)現(xiàn)缺陷塊后執(zhí)行的缺陷塊替換過程的示意性過程的流程圖;圖12是顯示在本發(fā)明的實施例中、以用于更新的文件為基礎(chǔ)更新NAND存儲器內(nèi)的程序的過程的流程圖;圖13顯示在本發(fā)明實施例中、對應(yīng)于作為缺陷塊替換結(jié)果的NAND存儲器的物理地址的實際塊和對應(yīng)邏輯地址的代碼區(qū)^^間的關(guān)系;以及 圖14是顯示在本發(fā)明實施例中讀取NAND存儲器的過程的流程圖。
      具體實施方式
      以下將參照附圖詳細說明本發(fā)明的優(yōu)選實施例。圖1顯示根據(jù)本發(fā)明實施例的便攜式終端10的硬件的示意性配置。該便 攜式終端10包括控制器11、音頻處理器12、麥克風(fēng)13、揚聲器14、存儲部 分15、通信部分16、天線17、操作部分18和顯示部分19??刂破?1包括處理器(如中央處理單元(CPU)和數(shù)字信號處理器 (DSP)),并且控制便攜式終端10的處理和每個部分。在控制器11的控制 下,音頻處理器12執(zhí)行音頻處理(如電話交談和音樂再現(xiàn)),執(zhí)行來自麥克 風(fēng)13的音頻輸入和到揚聲器14的音頻輸出。 '存儲部分15是用來存儲程序和數(shù)據(jù)的部分,在該實施例中包括SDRAM 15a和NAND存Y渚器15b。NAND存儲器15b是可重寫非易失性存儲器,用于存儲由控制器11執(zhí) 行的程序。NAND存儲器15b具有用來存儲程序主體的代碼(程序代碼)的 代碼區(qū)21,以及用來存儲用于更新的文件的存儲區(qū)22。在存儲區(qū)22中能夠 存儲程序以及各種數(shù)據(jù),如電話目錄、電子郵件、Web內(nèi)容、音樂和圖像。在引導(dǎo)時代碼區(qū)21被加載到SDRAM 15a中,并且程序在SDRAM 15a 中被執(zhí)行。更明確地,當(dāng)給控制器11和存儲部分15供電時,NAND存儲器 15b的引導(dǎo)區(qū)的內(nèi)容被讀入控制器中包括的存儲區(qū)中,并由控制器ll內(nèi)嵌的 邏輯電路執(zhí)行。由本發(fā)明定義的缺陷塊管理方法嵌入在該程序中。該程序允 許程序代碼被執(zhí)行,被從NAND存儲器15b加載到SDRAM 15a中,并且程 序在SDRAM 15a中被執(zhí)行。用于更新的文件由便攜式終端IO外部的專用工
      具提前生成,通過通信部分16從專用服務(wù)器下載,并存儲在存儲區(qū)22中。在本發(fā)明中,在NAND存儲器中的連續(xù)區(qū)中提供了管理區(qū),并且管理信 息存儲于管理區(qū)中,使得執(zhí)行缺陷塊的管理和塊替換管理(稍后將描述)。本 說明書中的"塊"是指對每個存儲設(shè)備定義的特定大小的成組單元區(qū)域。通信部分16是通過天線17以無線的方式與基站(沒有顯示)執(zhí)行發(fā)送 和接收的部分。操作部分18包括十鍵盤、各種控制鍵等,并且具有從用戶輸 入指令和信息到控制器ii的功能。顯示部分19包括例如顯示設(shè)備(如LCD 或者有機EL),并且具有為用戶顯示可視信息(如文本和圖像(靜態(tài)圖像和 運動圖像))的功能。如上面所描述,當(dāng)從NAND存儲器15b啟動引導(dǎo)程序時,該程序從NAND 存儲器15b加載到SDRAM 15a中,并在SDRAM 15a中被執(zhí)行。圖2顯示程 序區(qū)存儲在NAND存儲器15b的塊3和隨后各塊中的示例。當(dāng)程序被寫入 NAND存儲器15b中時,如圖2 (b)部分中所示,如果某個"塊N"是有缺 陷的,則不使用該缺陷塊,并且將程序?qū)懭胂乱粋€無缺陷的"塊N+l"中。 由于程序在SDRAM 15a中執(zhí)行,這樣足夠了 。當(dāng)在NAND存儲器15b的塊N中檢測到缺陷時,程序存儲在塊N+1中, 跳過塊N。以這種方法,更新了整個程序。然而以這種方法,當(dāng)使用用于更 新的文件(差別文件)來進行軟件更新時,麻煩出現(xiàn)了 。如圖3中示意性所示,通過比較更新前的程序31和更新后的程序32, 產(chǎn)生了用于更新的文件33作為差別文件。通常,用于更新的文件33的大小 (數(shù)據(jù)量)比更新后的程序32要小。優(yōu)點是下載和更新過程所需的時間比更 新后的整個程序32所需的時間縮短了。如圖4中所示,當(dāng)要執(zhí)行軟件更新時,用于更新的文件33存儲于便攜式 終端內(nèi)部的NAND存儲器15b的存儲區(qū)22中。以用于更新的該文件為基礎(chǔ), 軟件更新引擎23對更新前的程序31執(zhí)行更新過程,所述程序31存儲于 NAND存儲器15b的代碼區(qū)21中,并且在NAND存儲器中產(chǎn)生更新后的程 序32。軟件更新引擎23存儲于例如NAND存儲器15b中。在更新過程期間, 軟件更新引擎23被暫時拷貝到RAM 15a,并且執(zhí)行RAM 15a內(nèi)部的軟件更 新引擎23,因此使得可以實現(xiàn)軟件更新。由于程序存儲于NAND存儲器中,所以在相關(guān)技術(shù)中,當(dāng)NAND存儲 器的所有塊無缺陷時不會出現(xiàn)問題。然而,如圖5中所示,當(dāng)缺陷塊N后來
      出現(xiàn)時,更新前的程序的地址連續(xù)性丟失了 ,與用于更新的文件的匹配不能 達到,并且難以執(zhí)行程序更新。如果能夠執(zhí)行程序的更新,對于該缺陷塊和 隨后各塊,程序被移動和存儲。結(jié)果,原先不需要的寫入塊是必須的。在該實施例中,預(yù)先提供了能夠與NAND存儲器中各缺陷塊相關(guān)聯(lián)的替 換塊,并且使用邏輯地址來管理缺陷塊和替換塊的物理地址,使得可以確保 NAND存儲器的地址連續(xù)性。通過使用軟件更新前后的用于更新的文件(差 別文件),其基于地址連續(xù)的假設(shè)產(chǎn)生,即使當(dāng)缺陷塊后來出現(xiàn)在NAND存 儲器中時,也可以執(zhí)行軟件更新。下面將給出用于即使當(dāng)后來出現(xiàn)的缺陷塊出現(xiàn)在存儲了更新前的程序的 NAND中、允許軟件更新的方法的描述。圖6顯示了該實施例中NAND存儲器156的存儲空間的內(nèi)部配置的示 例。NAND存儲器15b被劃分為對應(yīng)多個單元數(shù)據(jù)量的塊,并且功能被分配 到相應(yīng)的各塊如圖6所示。圖6的狀態(tài)是初始時期分配功能的狀態(tài),并且如 后面將要描述的該狀態(tài)能夠改變。引導(dǎo)代碼位于NAND存儲器15b的開始塊(塊0)。使用塊1和隨后各 塊執(zhí)行該實施例的操作。如圖6中所示的示例中,塊0之后的兩個塊(即,塊1和塊2)分別用 作"管理區(qū)1"和"管理區(qū)2"。"管理區(qū)"是用于存儲管理NAND存儲器中 缺陷塊和替換塊的管理信息的區(qū)域。管理信息的細節(jié)將在隨后描述。提供了 多個管理區(qū)組,作為防止由于例如當(dāng)正執(zhí)行寫入NAND存儲器時斷電造成的 管理信息的丟失(損壞)的方法。在"管理區(qū)2"之后,在塊3和4中分別提供了 "干擾區(qū)1"和"干擾區(qū) 2"。"干擾區(qū)"是用來識別管理區(qū)和替換區(qū)邊界的區(qū)域。在"干擾區(qū)2,'的塊4之后,塊5到14^皮設(shè)置為替換區(qū)。替換區(qū)是分配 作為用來替換缺陷塊的區(qū)域。在圖6中所示的示例中,分配了 IO塊作為替換 區(qū)。通過考慮要使用的NAND存儲器容量,將塊的數(shù)量調(diào)整到最佳值。在替換區(qū)和隨后各塊之后的塊(塊15)中,存在實際存儲程序的代碼區(qū)。參照圖7,現(xiàn)在將要給出本實施例中各管理區(qū)的內(nèi)部配置和存儲在其中 的信息的描述。下面的信息存儲在管理區(qū)的一個塊150中。 (1)校驗數(shù)位151:校驗數(shù)據(jù)(如校驗和),用來校驗一個管理區(qū)(塊)內(nèi) 的數(shù)據(jù)的損壞。這樣使得能夠確定關(guān)于當(dāng)例如數(shù)據(jù)正寫入電源被切斷時、塊
      內(nèi)的不完全寫入狀態(tài)。(2) 代名(generation number) 152:當(dāng)管理區(qū)(塊)內(nèi)的管理信息被更新 時指示代的代信息。例如,這是按順序增加的數(shù)量。(3) 替換區(qū)的使用數(shù)量153:在多個提供作為替換區(qū)的塊中已使用的塊的 數(shù)量??梢允褂梦词褂玫膲K數(shù)量替換這個數(shù)量。由于替換區(qū)中塊的初始數(shù)量 是已知的值(這里,10),如果已用的塊數(shù)量和未用的塊數(shù)量中的一個已知, 則另一個數(shù)量能夠知道。如稍后將要描述的,在替換區(qū)的塊變成有缺陷的、 并且這樣的缺陷塊對應(yīng)于"已用"塊的情況下。(4) 替換目標(biāo)的對應(yīng)信息154:當(dāng)將替換區(qū)中未使用的無缺陷塊分配為特 定塊的替換目標(biāo)時,該對應(yīng)信息是指示它們間的對應(yīng)的信息。這里,缺陷塊 的塊數(shù)和替換區(qū)的塊數(shù)以互相對應(yīng)的方式存儲。在該示例中,最多能夠存儲 IO條信息。(5) 關(guān)于管理區(qū)(塊1到14)內(nèi)的缺陷塊的信息155:管理區(qū)、干擾區(qū)和 替換區(qū)(圖6的示例中的塊1到14)是用于管理的區(qū)域。當(dāng)它們之一的塊變 成有缺陷的時,該關(guān)于管理區(qū)內(nèi)缺陷塊的信息,是用來指定記錄的缺陷塊的 信息(這里,塊數(shù))。當(dāng)要使用用于管理的區(qū)的某塊時,在該塊已經(jīng)被記錄為 缺陷的情況下,將跳過該塊并使用下一塊?,F(xiàn)在將參照圖8,給出當(dāng)執(zhí)行寫入塊操作時(當(dāng)執(zhí)行軟件更新時),檢測 到后來出現(xiàn)的缺陷塊時的操作。假設(shè)在塊N+3中檢測到缺陷,并且寫入被確 定為不可能。該塊N+3被標(biāo)記為壞塊,并且以下禁止其使用。將要寫入塊 N+3的代碼以替換的方式寫入替換區(qū)10,而不是寫入下一個塊N+4。該替換 信息被存儲在"管理區(qū)1"中。在該示例中,使替換區(qū)10用塊N+3來替換的 替換信息被存儲。通過以上面描述的方式,使用管理信息執(zhí)行對缺陷塊和替換塊的管理, 可以使實際的物理地址對應(yīng)邏輯地址,并且可以將邏輯地址轉(zhuǎn)換為物理地址。 同樣,通過參照邏輯地址,能夠確保存儲器地址的連續(xù)性。根據(jù)使用存儲在 管理區(qū)中的替換信息將邏輯地址轉(zhuǎn)換為物理地址,不需要外部提供特定的地 址轉(zhuǎn)換裝置,如已知的存儲器管理單元(MMU)。接下來,參照圖9,將要描述當(dāng)管理區(qū)的塊變成缺陷時所執(zhí)行的操作。 在該實施例中,如上面所描述的,對于管理區(qū),原形(original)和副本 (duplicate)兩個區(qū)域使用"管理區(qū)1"和"管理區(qū)2"來管理。"管理區(qū)1"
      和"管理區(qū)2"交替使用,并且使用的一方成為"原形,,而另一方成為"副本"。對于將信息存儲在管理區(qū)中有兩種方法 一種是將一代的管理信息存儲 于一個塊中;而另一種是將多個代的管理信息附加地寫入一個塊中,并且當(dāng) 對原形區(qū)的附加寫入變成不可能時,執(zhí)行"原形"和"副本"間的切換。對 于這點,為了描述筒單的緣故,將描述前一種方法。提供兩個區(qū)域的理由如下。由于應(yīng)用本發(fā)明的存儲器的特征,所以當(dāng)將 信息重新記錄在已經(jīng)記錄了信息的位置時,需要對塊執(zhí)行一 次擦除操作以刪 除記錄在那里的信息。如果只使用一個區(qū)域更新管理區(qū),則在當(dāng)管理區(qū)被擦 除時由于斷電等而出現(xiàn)問題的情況下,當(dāng)前的管理信息丟失了。為了防止這 樣的故障,將用于存儲最近信息的塊、與執(zhí)行擦除操作并且寫入了最近更新 的管理信息的塊分開。在更新管理區(qū)的具體操作中,當(dāng)需要執(zhí)行管理區(qū)的更 新時,"副本"區(qū)被擦除,從"原形"區(qū)讀取的信息被更新,并且使用新的代 名對"副本"區(qū)執(zhí)行寫入。當(dāng)該寫入完成時,原形區(qū)和副本區(qū)的交換完成。 舊的"副本"區(qū)變成了 "原形,,區(qū),而舊的"原形,,區(qū)變成了 "副本"區(qū)。用這樣的方式執(zhí)行管理信息的寫入,使得更新了已經(jīng)預(yù)先讀入RAM的 "原形"管理區(qū)的拷貝,并且將管理信息寫入至此已成為"副本"的管理區(qū) 中(作為更新方法,可以有當(dāng)管理信息的更新成為必要時從"原形"區(qū)產(chǎn)生 拷貝到存儲器的方法。然而,在這個實施例中,通過考慮執(zhí)行期間的效率, 假設(shè)最新的管理信息的拷貝已經(jīng)預(yù)先讀入存儲器中并保持常駐)。為了區(qū)別管 理信息的原形和副本,將附接到管理信息的代名152相互比較,并且已經(jīng)更 近記錄的區(qū)域被處理為"原形"。在圖9 (a)的狀態(tài)中,當(dāng)在RAM中更新的新管理信息要寫入"副本" 區(qū)時,在塊2變成如圖9 (b)所示的缺陷塊的情況下,如圖9(c)所示,塊 3的干擾區(qū)被分配為新的"管理區(qū)2"。原始的"管理區(qū)2"被認為是有缺陷 的,并被記錄在RAM中的管理信息中,并且考慮到塊2是有缺陷的而更新 的管理信息被寫入新分配的"管理區(qū)2"中。結(jié)果,原始的"管理區(qū)1"成為 "副本",新寫入的"管理區(qū)2"成為"原形"。作為塊3變成管理區(qū)的結(jié)果,將干擾區(qū)1和2移動對應(yīng)于一個塊的量, 并且移動到塊4和5。預(yù)定數(shù)據(jù)(如0xAA)被預(yù)先寫入干擾區(qū),使得干擾區(qū) 用作識別代碼區(qū)21和管理區(qū)之間邊界的區(qū)域。在該實施例中,對于干擾區(qū)相 同的預(yù)定數(shù)據(jù)已經(jīng)被寫入替換區(qū)中未使用的塊。在該情況下,根據(jù)塊內(nèi)的數(shù)
      據(jù)不能區(qū)分干擾區(qū)和替換區(qū)。即使將"干擾區(qū)1和2移動了對應(yīng)于一個塊的 量",也只有管理信息改變了,并且不需要在該替換區(qū)上,特別地執(zhí)行特定的 寫入過程等來設(shè)置替換區(qū)的一個塊為新的干擾區(qū)。如上所述,替換區(qū)不但能夠用來替換代碼區(qū)的缺陷塊,而且也可以替換 管理區(qū),如圖9中所示。然而,和替換代碼區(qū)的缺陷塊不同,替換管理區(qū)通過移動干擾區(qū)來執(zhí)行。以上面描述的方式,通過以將干擾區(qū)插入在NAND存 儲器15b內(nèi)的存儲空間中的管理區(qū)和干擾區(qū)之間的方式,分配每個塊的功能, 能夠有效地使用替換空間。作為替代,考慮在管理區(qū)中提供固定數(shù)量的專用替換區(qū)、并且在代碼區(qū) 中提供固定數(shù)量的替換區(qū)的實現(xiàn)格式。然而,依賴于缺陷塊出現(xiàn)在管理區(qū)和 代碼區(qū)中的情形,其中一個替換區(qū)會變成浪費。作為比較,如在該實施例中, 替換區(qū)能夠動態(tài)地用于管理區(qū)和代碼區(qū),可以有效地使用替換區(qū)的所有塊而 沒有浪費。在該實施例中,替換過程能夠持續(xù)直到不能分配對于兩個塊的干擾區(qū)。 在用完替換區(qū)l后,檢測到下一個替換區(qū)是對于干擾區(qū),并且替換操作停止。 這樣防止了管理區(qū)和替換區(qū)相互重疊。在圖9等中,當(dāng)各區(qū)域的分配將被改變時,區(qū)域從l開始重新編號。這 是為了描述的方便,并且分配給相應(yīng)區(qū)域的編號并不是特別重要。如圖8中所示,使用替換區(qū)中離干擾區(qū)最遠的塊,用替換區(qū)對代碼區(qū)中 的缺陷塊執(zhí)行替換。圖IO顯示以上面描述的方式、用替換區(qū)替換代碼區(qū)中缺陷塊的情況,剩 余的替換區(qū)變成一個塊,在該時間點缺陷出現(xiàn)在代碼區(qū)的塊L (沒有顯示) 中,并且替換區(qū)被用完。就是說,直到臨近干擾區(qū)2的替換區(qū)1的區(qū)域已經(jīng) "已使用"。此外,如圖lO的塊ll中所示,存在替換區(qū)中的塊變成有缺陷的 情況。在該情況下,該缺陷塊存儲在關(guān)于用于管理的區(qū)的內(nèi)缺陷塊(圖7) 的信息155中,并被管理,使得這個塊將不會被使用。利用上面的配置,通過管理管理區(qū)內(nèi)的邏輯地址,保持了 NAND存儲器 中程序地址的連續(xù)性。由于這個原因,即使當(dāng)NAND存儲器中有缺陷塊,軟 件更新引擎可以通過參照管理區(qū)以用于更新的文件為基礎(chǔ)執(zhí)行軟件更新。圖11是顯示當(dāng)發(fā)現(xiàn)缺陷塊后、執(zhí)行缺陷塊的替換過程的示意性過程的流 程圖。后來出現(xiàn)的缺陷塊能夠在圖12 (之后將描述)的步驟S23和S24中、
      以及圖11的步驟S18中檢測到。在圖ii的處理中,首先,檢查在替換區(qū)(sri)中是否存在沒有使用的 無缺陷塊。如果不存在,這個過程完成。此時, 一些消息(如錯誤消息)可 以顯示在顯示部分上。當(dāng)存在未使用的無缺陷塊時,檢查缺陷塊是否為管理區(qū)(S12)中的塊。 如果該缺陷塊不是管理區(qū)中的塊,則過程進行到步驟S15。如果是在管理區(qū) 中的塊,則將前干擾區(qū)l設(shè)置為新的管理區(qū)(S13),并且當(dāng)前的替換區(qū)l設(shè) 置為新的干擾區(qū)2 (S14)。在步驟S15中檢查該缺陷塊是否為代碼區(qū)中的塊。當(dāng)該缺陷塊不是代碼 區(qū)中的塊時,考慮到塊(替換區(qū)中塊)是有缺陷的,對管理信息更新(S17), 并且過程進行到步驟S18。當(dāng)缺陷塊是代碼區(qū)中的塊時,用替換區(qū)中未使用的離干擾區(qū)最遠的無缺 陷塊,替換缺陷塊(S16)。其后,NAND存儲器156的管理區(qū)中塊的內(nèi)容被更新(S18)。圖12是顯示以用于更新的文件為基礎(chǔ)、更新NAND存儲器156內(nèi)程序 的過程的流程圖。最初,當(dāng)程序被寫入NAND存儲器15b (S21)時,以管理區(qū)(原形) 的管理信息為基礎(chǔ),確定待寫入的塊是否已經(jīng)由替換區(qū)替換(S22)。當(dāng)待寫入的塊已經(jīng)被替換,程序被寫入由管理信息指定的替換區(qū)域(替 換塊)(S23)。當(dāng)待寫入的塊沒有被替換時,將程序?qū)懭氪龑懭氲膮^(qū)域(S24)。圖13顯示對應(yīng)于作為缺陷塊替換結(jié)果的NAND存儲器的物理地址的實 際塊、和對應(yīng)邏輯地址的代碼區(qū)之間的關(guān)系?;诠芾韰^(qū)中管理信息的、NAND存儲器156的物理地址和邏輯地址之 間的對應(yīng),使得即使當(dāng)更新前的程序的NAND存儲器中存在缺陷塊時,邏輯 地址的連續(xù)性也得以確保。不需要通過使用用于更新的文件來移動NAND存 儲器15b內(nèi)塊的內(nèi)容,并且程序的更新成為可能。當(dāng)程序?qū)腘AND存儲器15b傳遞到SDRAM 15a時,可以通過以類似 的方式4全查替換區(qū)是否可用,將程序正確地傳遞到SDRAM。圖14是顯示讀取NAND存儲器15b過程的流程圖。首先,以管理信息 為基礎(chǔ),檢查將要讀取的塊是否已經(jīng)被替換(S31)。如果將要讀取的塊沒有 被替換,則按原樣讀取要讀取的塊(S32)。如果將要讀取的塊已經(jīng)被替換, 則讀取替換目標(biāo)塊(S33)。如果有另一個塊要讀取(S34),則過程返回到步 驟S31,并且重復(fù)上面描述的過程。通過使用便攜式電話終端作為示例已經(jīng)描述了本發(fā)明。但是,本發(fā)明不 限于電話終端。在本發(fā)明中,軟件差別更新已經(jīng)被描述為主要的應(yīng)用。本發(fā)明不限于軟 件差別更新,并且能夠一般地應(yīng)用到NAND存儲器的一些塊的內(nèi)容需要重寫 而不對其它塊施加影響的情況。本發(fā)明能夠適當(dāng)?shù)貞?yīng)用于NAND型閃速存儲器,但也能夠應(yīng)用于NOR 型閃速存儲器。本領(lǐng)域的技術(shù)人員應(yīng)該理解的是依賴于設(shè)計需要和其它因素,各種修 改、組合、子組合和替換可以出現(xiàn),只要它們在權(quán)利要求或其等效的范圍內(nèi)。 相關(guān)申請的交叉引用本發(fā)明包括涉及于2006年8月4日向日本專利局提交的日本專利申請 JP2006-212751的主題,通過引用包括其全部內(nèi)容。
      權(quán)利要求
      1.一種用于管理非易失性存儲器的存儲器管理方法,向所述非易失性存儲器以塊為單位執(zhí)行寫入,所述存儲器管理方法包括以下各步驟將非易失性存儲器的多個塊分配到由至少一個塊構(gòu)成的用于存儲管理信息的管理區(qū)、由多個塊構(gòu)成的向其寫入程序代碼的代碼區(qū)、由多個塊構(gòu)成的用于替換缺陷塊的替換區(qū)、以及由至少一個塊構(gòu)成的干擾區(qū),所述干擾區(qū)提供在管理區(qū)和替換區(qū)之間;至少將替換區(qū)的各塊和替換目標(biāo)的缺陷塊之間的對應(yīng)信息,作為管理信息存儲在管理區(qū)內(nèi);以及當(dāng)缺陷塊將被使用時,以對應(yīng)信息為基礎(chǔ)使用替換區(qū)的塊替換缺陷塊。
      2. 根據(jù)權(quán)利要求1所述的存儲器管理方法,其中管理信息還包括替換區(qū) 的已使用的塊的數(shù)量或者替換區(qū)的未使用的塊的數(shù)量。
      3. 根據(jù)權(quán)利要求1或2所述的存儲器管理方法,其中管理信息還包括關(guān) 于管理區(qū)和/或替換區(qū)的缺陷塊的信息。
      4. 根據(jù)權(quán)利要求1所述的存儲器管理方法,其中對管理區(qū)使用至少兩個 用來存儲管理信息的塊,并且所述管理信息包括指示管理信息的代的代信息。
      5. 根據(jù)權(quán)利要求1或4所述的存儲器管理方法,其中,當(dāng)管理區(qū)的塊變 成有缺陷時,將干擾區(qū)移動到替換區(qū)內(nèi)的、具有與干擾區(qū)更接近的存儲器地 址的塊,使得將原始干擾區(qū)的一個塊設(shè)置為新的管理區(qū)。
      6. 根據(jù)權(quán)利要求1所述的存儲器管理方法,其中按照從具有離干擾區(qū)最 遠的存儲器地址的塊開始的順序,使用替換區(qū)的塊。
      7. —種便攜式終端設(shè)備,包括 非易失性存儲器,向其以塊為單位執(zhí)行寫入;以及控制裝置,用于將非易失性存儲器的多個塊分配到由至少一個塊構(gòu)成的 用以存儲管理信息的管理區(qū)、由多個塊構(gòu)成的向其寫入程序代碼的代碼區(qū)、 由多個塊構(gòu)成的用以替換缺陷塊的替換區(qū)、以及由至少一個塊構(gòu)成的干擾區(qū), 所述干擾區(qū)提供在管理區(qū)和替換區(qū)之間,并且該控制裝置用于使用各區(qū),其中所述控制裝置至少將替換區(qū)的各塊和替換目標(biāo)的缺陷塊之間的對應(yīng) 信息,作為管理信息存在管理區(qū)內(nèi),以及當(dāng)缺陷塊將被使用時,以對應(yīng)信息為基礎(chǔ)使用替換區(qū)的塊替換缺陷塊。
      8. 根據(jù)權(quán)利要求7所述的便攜式終端設(shè)備,還包括能夠存儲程序代碼的隨機存取存儲器,其中,在執(zhí)行非易失性存儲器內(nèi)的程序代碼之前,所述控制裝置以塊為 單位,將程序代碼傳遞到隨機存取存儲器中,并且在隨機存取存儲器中執(zhí)行 程序代碼。
      9. 根據(jù)權(quán)利要求7所述的便攜式終端設(shè)備,其中,當(dāng)控制裝置訪問非易 失性存儲器的代碼區(qū)內(nèi)的一個塊時,該控制裝置確認管理信息,并且當(dāng)替換 區(qū)的塊分配給目標(biāo)塊時,該控制裝置使用替換區(qū)的塊替換目標(biāo)塊。
      10. 根據(jù)權(quán)利要求7所述的便攜式終端設(shè)備,其中管理信息還包括替換 區(qū)的已使用的塊的數(shù)量或者替換區(qū)的未使用的塊的數(shù)量。
      11. 根據(jù)權(quán)利要求7或IO所述的便攜式終端設(shè)備,其中管理信息還包括 關(guān)于管理區(qū)和/或替換區(qū)的缺陷塊的信息。
      12. 根據(jù)權(quán)利要求7所述的便攜式終端設(shè)備,其中對管理區(qū)使用至少兩個用來存儲管理信息的塊,并且所述管理信息包括指示管理信息的代的代信 白、
      13. 根據(jù)權(quán)利要求7或12所述的便攜式終端設(shè)備,其中,當(dāng)管理區(qū)的塊 變成有缺陷時,所述控制裝置將干擾區(qū)移動到替換區(qū)內(nèi)的、具有與干擾區(qū)更 接近的存儲器地址的塊,使得將原始干擾區(qū)的一個塊設(shè)置為新的管理區(qū)。
      14. 根據(jù)權(quán)利要求7所述的便攜式終端設(shè)備,其中所述控制裝置按照從 具有離干擾區(qū)最遠的存儲器地址的塊開始的順序,使用替換區(qū)的塊。
      15. —種便攜式終端設(shè)備,包括 非易失性存儲器,向其以塊為單位執(zhí)行寫入;以及控制器,其被配置為將非易失性存儲器的多個塊分配到由至少一個塊構(gòu) 成的用以存儲管理信息的管理區(qū)、由多個塊構(gòu)成的向其寫入程序代碼的代碼 區(qū)、由多個塊構(gòu)成的用以替換缺陷塊的替換區(qū)、以及由至少一個塊構(gòu)成的干 擾區(qū),所述干擾區(qū)提供在管理區(qū)和替換區(qū)之間;并被配置來使用各區(qū),其中所述控制器至少將替換區(qū)的各塊和替換目標(biāo)的缺陷塊之間的對應(yīng)信 息,作為管理信息存儲在管理區(qū)內(nèi),以及當(dāng)缺陷塊將被使用時,以對應(yīng)信息為基礎(chǔ)使用替換區(qū)的塊替換缺陷塊。
      全文摘要
      一種用于管理非易失性存儲器的存儲器管理方法,向所述非易失性存儲器以塊為單位執(zhí)行寫入,該方法包括以下各步驟將非易失性存儲器的多個塊分配到由至少一個塊構(gòu)成的用于存儲管理信息的管理區(qū)、由多個塊構(gòu)成的向其寫入程序代碼的代碼區(qū)、由多個塊構(gòu)成的用于替換缺陷塊的替換區(qū)、以及由至少一個塊構(gòu)成的干擾區(qū);至少將替換區(qū)的各塊和替換目標(biāo)的缺陷塊之間的對應(yīng)信息,作為管理信息存儲在管理區(qū)內(nèi);以及當(dāng)缺陷塊將被使用時,以對應(yīng)信息為基礎(chǔ)使用替換區(qū)的塊替換缺陷塊。
      文檔編號G06F12/06GK101118518SQ200710143800
      公開日2008年2月6日 申請日期2007年8月6日 優(yōu)先權(quán)日2006年8月4日
      發(fā)明者三本松利尚, 市川知宏, 平野賢史, 本山佳典, 蒲原匡, 速水徹, 長谷和壽, 青柳勝己 申請人:索尼愛立信移動通信日本株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1