国产精品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>

      檢測靜態(tài)數(shù)據(jù)區(qū)、磨損均衡、和合并數(shù)據(jù)單元的方法和裝置的制作方法

      文檔序號:6779746閱讀:205來源:國知局
      專利名稱:檢測靜態(tài)數(shù)據(jù)區(qū)、磨損均衡、和合并數(shù)據(jù)單元的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種磨損均衡(wear-leveling)方法,并且更加特別地,涉 及一種用于非易失性數(shù)據(jù)存儲設(shè)備的裝置和方法,由此通過在非易失性數(shù)據(jù) 存儲設(shè)備的每個數(shù)據(jù)單元中存儲指明寫入時間的老化值、以及使用老化值檢 測靜態(tài)數(shù)據(jù)區(qū),來使磨損均衡效果最大化。
      背景技術(shù)
      近來,由于閃存的特性,諸如低耗電量、小尺寸、低發(fā)熱量和高穩(wěn)定性, 以及由于單個閃存的快速增長的存儲量,使得閃存作為在包括移動設(shè)備的各 種多媒體設(shè)備中使用的一種非易失性數(shù)據(jù)存儲設(shè)備而廣泛地用作優(yōu)選的存 儲設(shè)備。然而, 一般地,閃存具有低的編程(寫入)速度,并且,為了更新記錄 數(shù)據(jù)的塊,必須在針對該塊執(zhí)行寫入操作之前對該塊進行擦除。構(gòu)成擦除操作的基本單元的每個塊可以承受多次擦除計數(shù),稱為承受條 件。例如,對于單級單元(SLC: Single Level Cell)型為100000次擦除計 數(shù)而對于多級單元(MLC)型為10000次擦除計數(shù)。承受條件也被應(yīng)用到可 以執(zhí)行寫入和擦除操作的其它非易失性數(shù)據(jù)存儲設(shè)備,因此,下面的描述一 般可應(yīng)用到所有的非易失性數(shù)據(jù)存儲設(shè)備中。如果在存儲器的特定塊中發(fā)生頻繁的更新,則由于老化過程導(dǎo)致生成壞 的塊,從而導(dǎo)致整個存儲器的壽命的快速減少。為了防止老化過程,用于管 理閃存的文件系統(tǒng),例如閃存翻譯層(FTL)系統(tǒng),要求磨損均衡方案,并 且存儲器的壽命很大程度上取決于所采用的磨損均衡方法。存的每個塊的擦除計數(shù)數(shù)量的圖。用于管理擦除計數(shù)數(shù)量的磨損均衡方法一般使用存儲每個塊的擦除計 數(shù)數(shù)量的方法,該方法可以被分為兩種方法。第一種方法是其中將包含關(guān)于 擦除計數(shù)數(shù)量的信息的管理表存儲在閃存上,以及第二種方法是其中將包含 關(guān)于擦除計數(shù)數(shù)量的信息的管理表存儲在用于驅(qū)動閃存的系統(tǒng)的存儲器(隨機存取存儲器(RAM))上。上述第二種方法是僅對運行時間進行計數(shù)的方法。根據(jù)第一種方法(存儲在閃存上),具有閃存的物理塊地址的擦除計數(shù)數(shù)量被存儲在包括在閃存中的塊映射(map)表中,并且只有映射表高速緩 存被存儲在系統(tǒng)存儲器中。因此,因為每個塊的擦除計數(shù)的數(shù)量被存儲在閃 存中,所以可以執(zhí)行正確的閃存磨損均衡,然而,由于關(guān)于擦除計數(shù)數(shù)量的 附加信息,塊映射表的計算開銷變?yōu)閮杀洞?。根?jù)第二種方法(僅對運行時間進行計數(shù)的方法),只有物理塊地址被存儲在包括在閃存中的塊映射表上,并且以擦除計數(shù)陣列形式在系統(tǒng)存儲器 中存儲和管理關(guān)于擦除計數(shù)數(shù)量的信息。因為當(dāng)系統(tǒng)的電力關(guān)斷時,關(guān)于擦 除計數(shù)數(shù)量的信息被復(fù)位,所以很難執(zhí)行理想的閃存磨損均衡,然而,不需 要計算開銷來更新包括在閃存中的塊映射表。參照圖1,當(dāng)使用其中沒有計算開銷的第二種方法(僅對運行時間進行 計數(shù)的方法)時,即使由于利用擦除計數(shù)數(shù)量管理的磨損均衡方法、基本上 通過FTL執(zhí)行的地址重新映射和垃圾收集功能, 一般也顯示擦除計數(shù)數(shù)量。 參考塊編號0到749,可以看出每個塊的擦除計數(shù)之間的差不是很大。然而,參考塊編號為749到953 (參見附圖標記110),每塊的擦除計數(shù) 數(shù)量很小,并因此,塊編號為749到953的塊與其它周圍塊之間的擦除計數(shù) 數(shù)量的差很大。區(qū)110是靜態(tài)數(shù)據(jù)區(qū),其中數(shù)據(jù)被保護很長時間而不被更新 或擦除。當(dāng)用第二種方法時,由于復(fù)位了關(guān)于擦除計數(shù)數(shù)量的信息,很難準 確地檢測靜態(tài)數(shù)據(jù)區(qū)110 。因為當(dāng)系統(tǒng)電力關(guān)斷時與磨損有關(guān)的信息(關(guān)于擦除計數(shù)數(shù)量的信息)被復(fù) 位,所以如果靜態(tài)數(shù)據(jù)區(qū)110在存儲設(shè)備中廣泛地分布,則磨損均衡效果將 相當(dāng)大地減小。圖2是用于描述根據(jù)已有技術(shù)、關(guān)于閃存中的靜態(tài)區(qū)的磨損均衡方法的流程圖。參照圖2,在根據(jù)已有技術(shù)的關(guān)于靜態(tài)區(qū)的磨損均衡方法中,在操作210 中對寫入或擦除操作的數(shù)量進行計數(shù),并當(dāng)計數(shù)值是所選數(shù)目,例如1000, 的倍數(shù)時,在操作220中執(zhí)行任意處理,并且在操作230開始磨損均衡方法。 通過在操作240中設(shè)置特定的選擇順序或在操作250中激活任意處理,在操 作260中選擇一單元,在操作270中將所選擇的單元的數(shù)據(jù)移動到另 一個自 由單元,并且擦除所選4奪的單元。然而,根據(jù)磨損均衡方法,因為關(guān)于整個閃存使用任意功能發(fā)生塊的移 動或調(diào)換(swapping),所以沒有處于靜態(tài)數(shù)據(jù)區(qū)中的塊的調(diào)換頻繁發(fā)生。 也就是說,因為在空閑單元之間的調(diào)換或頻繁更新的塊的調(diào)換發(fā)生、并且此 外發(fā)生伴隨調(diào)換的不必要的擦除操作,所以整個閃存的壽命減小。發(fā)明內(nèi)容本發(fā)明提供了 一種磨損均衡方法和裝置,由此通過在非易失性數(shù)據(jù)存儲 設(shè)備的每個數(shù)據(jù)單元中存儲用于指明寫入時間的老化值、并準確地檢測靜態(tài) 數(shù)據(jù)區(qū)而使磨損均衡效果最大化。根據(jù)本發(fā)明的一方面,提供一種在非易失性數(shù)據(jù)存儲設(shè)備中檢測靜態(tài)數(shù) 據(jù)區(qū)的方法,該方法包括在被分配為在其中寫入數(shù)據(jù)的每個單元中存儲指 明寫入時間的老化值;讀取存儲在單元中的老化值;以及基于所讀取的老化 值確定該單元是否為靜態(tài)數(shù)據(jù)區(qū)。所述老化值可指明當(dāng)寫入數(shù)據(jù)時的相對順序。存儲老化值的步驟可包括當(dāng)在擦除每個單元之后寫入數(shù)據(jù)時存儲老化 值,并且可以在每個單元的備用區(qū)中存儲該老化值。該老化值可以是通過存在于非易失性數(shù)據(jù)存儲設(shè)備中的至少 一個老化 計數(shù)器來記錄的,所述老化計數(shù)器具有老化計數(shù)器值,并且每當(dāng)分配其中沒 有記錄數(shù)據(jù)的空閑單元時,該老化計數(shù)器改變其老化計數(shù)器值,以及所述老 化計數(shù)器值可以通過依次增加來改變。老化計數(shù)器值可被記錄在關(guān)于所分配的空閑單元的映射表的備用區(qū)中, 并當(dāng)該映射表^皮更新時凈皮存儲。所存儲的老化值可以與當(dāng)記錄與該老化值一起存儲的數(shù)據(jù)時的老化計 數(shù)器值相同。非易失性存儲設(shè)備可以是閃存,每個單元可以是數(shù)據(jù)塊,存儲老化值的 備用區(qū)可以是該數(shù)據(jù)塊的第一頁的備用區(qū),并且每一個數(shù)據(jù)塊可存在一個老 化值??梢栽隍?qū)動非易失性數(shù)據(jù)存儲設(shè)備的系統(tǒng)的停歇時間期間,執(zhí)行對被存 儲在單元中的老化值的讀取,并且所述讀取在單元中存儲的老化值可以是相 對于向其分配數(shù)據(jù)的所有單元來依次執(zhí)行的?;谒x取的老化值來確定單元是否為靜態(tài)數(shù)據(jù)區(qū)的步驟還可以包括 比較所讀取的老化值和老化計數(shù)器值,并且比較所讀取的老化值和老化計數(shù)器值的步驟可包括比較所讀取的老化值和老化計數(shù)器值,并且如果在所讀取的老化值和老化計數(shù)器值之間的差大于預(yù)定的閾值,則確定具有所讀取的 老化值的單元為靜態(tài)數(shù)據(jù)區(qū)。根據(jù)本發(fā)明另 一方面,提供一種用于非易失性數(shù)據(jù)存儲設(shè)備中的磨損均入時間的老化值;讀取存儲在單元中的老化值;基于所讀取的老化值確定該 單元是否為靜態(tài)數(shù)據(jù)區(qū);以及將處于被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中的數(shù)據(jù)移 動到另一單元。所述老化值可指明當(dāng)寫入數(shù)據(jù)時的相對順序,存儲老化值的步驟可包 括當(dāng)記錄數(shù)據(jù)時存儲老化值,并且可以在每個單元的備用區(qū)中存儲該老化值。該老化值可以是通過存在于非易失性數(shù)據(jù)存儲設(shè)備中的至少 一個老化 計數(shù)器來記錄,并且所述老化計數(shù)器可具有老化計數(shù)器值,并且每當(dāng)分配其 中沒有記錄數(shù)據(jù)的空閑單元時,該老化計數(shù)器改變其老化計數(shù)器值。可以在驅(qū)動非易失性數(shù)據(jù)存儲設(shè)備的系統(tǒng)的停歇時間期間,執(zhí)行對所存述讀取?;x取的老化值來確定單元是否為靜態(tài)數(shù)據(jù)區(qū)的步驟還可以包括 比較所讀取的老化值和老化計數(shù)器值,其中,作為比較結(jié)果,如果在所讀取 的老化值和老化計數(shù)器值之間的差大于預(yù)定的閾值,則將具有所讀取的老化 值的單元檢測為靜態(tài)數(shù)據(jù)區(qū)。將被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中的數(shù)據(jù)移動到另一單元的步驟可包括 將被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中的數(shù)據(jù)移動到?jīng)]有記錄數(shù)據(jù)的空閑單元,并且該方法還包括更新所移動的數(shù)據(jù)已被移動到的單元的老化值。將被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中數(shù)據(jù)移動到另 一 單元的步驟可包括將 被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中的數(shù)據(jù)與記錄其他數(shù)據(jù)的另一單元調(diào)換,記錄 其他數(shù)據(jù)的另一單元可具有比確定為靜態(tài)數(shù)據(jù)區(qū)的單元的老化值更大的老 化值,并且該方法還可包括更新已記錄調(diào)換的數(shù)據(jù)的單元的老化值。在驅(qū)動非易失性數(shù)據(jù)存儲設(shè)備的系統(tǒng)的停歇時間期間,可執(zhí)行將從被確 定為靜態(tài)數(shù)據(jù)區(qū)的單元中的數(shù)據(jù)移動到另一單元。根據(jù)本發(fā)明另 一方面,提供一種用于在非易失性數(shù)據(jù)存儲設(shè)備中合并數(shù)據(jù)單元的方法,該方法包括在被分配為在其中寫入數(shù)據(jù)的每個單元中存儲 指明寫入時間的老化值;讀取所存儲的老化值;基于所讀取的老化值來檢測 要被合并的多個單元;以及合并所述多個單元。所述老化值可指明當(dāng)記錄數(shù)據(jù)時的相對順序,存儲老化值的步驟可包 括當(dāng)記錄數(shù)據(jù)時存儲老化值,并且可以在每個單元的備用區(qū)中存儲該老化 值。該老化值可以是通過存在于非易失性數(shù)據(jù)存儲設(shè)備中的至少 一個老化 計數(shù)器來記錄,其中所述老化計數(shù)器可具有老化計數(shù)器值,并且每當(dāng)分配其 中沒有記錄數(shù)據(jù)的空閑單元時,該老化計數(shù)器改變其老化計數(shù)器值??梢栽隍?qū)動非易失性數(shù)據(jù)存儲設(shè)備的系統(tǒng)的停歇時間期間,執(zhí)行對所存 儲的老化值的讀取,并且可以相對于向其分配數(shù)據(jù)的所有單元來依次執(zhí)行所 述讀取?;谒x取的老化值來確定要合并的多個單元的步驟還可以包括比較 所讀取的老化值的每一個和老化計數(shù)器值,其中,作為比較結(jié)果,如果在所讀取的老化值的每一個和老化計數(shù)器值之間的差大于預(yù)定的閾值,則將具有 所讀取的老化值的單元檢測為要合并的單元。對所存儲的老化值進行讀取的步驟還包括計算與系統(tǒng)所識別的邏輯基 本單元相關(guān)的多個數(shù)據(jù)單元的老化值的平均值?;谒x取的老化值對要合并的多個單元進行檢測的步驟可包括將具 有最低平均老化值的多個數(shù)據(jù)單元檢測為要合并的單元?;谒x取的老化值對要合并的多個單元進行檢測的步驟還可包括計 算伴隨合并的計算開銷和效益,其中,所述計算開銷對應(yīng)于根據(jù)合并要移動 的數(shù)據(jù)量和所計算的平均老化值,并且所述效益對應(yīng)于由于合并而要被收集在空閑單元中的廢數(shù)據(jù)量?;谒x取的老化值對要合并的多個單元進行檢測的步驟還可包括計算反比于所計算出的計算開銷并且正比于所計算出的效益的優(yōu)先級值,其 中,具有最高優(yōu)先級值的多個數(shù)據(jù)單元被檢測作為要合并的單元。根據(jù)本發(fā)明的另 一方面,提供一種用于在非易失性數(shù)據(jù)存儲設(shè)備中檢測靜態(tài)數(shù)據(jù)區(qū)的裝置,該裝置包括老化記錄器,在被分配為具有寫入在其中 的數(shù)據(jù)的每個單元中存儲指明寫入時間的老化值;老化讀取器,讀取存儲在 單元中的老化值;以及靜態(tài)數(shù)據(jù)確定器,基于所讀取的老化值來確定靜態(tài)數(shù) 據(jù)區(qū)。根據(jù)本發(fā)明的另 一方面,提供一種用于非易失性數(shù)據(jù)存儲設(shè)備中的磨損 均衡裝置,該裝置包括老化記錄器,在被分配為具有寫入在其中的數(shù)據(jù)的 每個單元中存儲指明寫入時間的老化值;老化讀取器,讀取所存儲的老化值; 靜態(tài)數(shù)據(jù)檢測器,基于所讀取的老化值來檢測靜態(tài)數(shù)據(jù)區(qū);以及數(shù)據(jù)單元轉(zhuǎn) 換器,用于將處于所檢測的靜態(tài)數(shù)據(jù)區(qū)中的數(shù)據(jù)移動到另 一單元。根據(jù)本發(fā)明的另 一方面,提供一種用于在非易失性數(shù)據(jù)存儲設(shè)備中合并 數(shù)據(jù)單元的裝置,該裝置包括老化記錄器,在被分配為具有寫入在其中的 數(shù)據(jù)的每個單元中存儲指明寫入時間的老化值;老化讀取器,讀取所存儲的 老化值;合并目標搜索單元,其基于所讀取的老化值來檢測要合并的多個單 元;以及合并單元,合并所檢測的多個單元。根據(jù)本發(fā)明的另一方面,提供一種計算機可讀記錄介質(zhì),其存儲用于運 行靜態(tài)數(shù)據(jù)區(qū)檢測方法、磨損均衡方法、或者數(shù)據(jù)單元合并方法的計算機可 讀程序。


      通過參考附圖詳細描述本發(fā)明的具體實施例,本發(fā)明實施例的上面和其 它特征以及優(yōu)點將變得更加明顯,在附圖中圖l是示出了根據(jù)已有技術(shù)借助于僅對運行時間進行計數(shù)的方法的、閃 存的每個塊的擦除計數(shù)數(shù)量的圖;圖2是用于描述根據(jù)已有技術(shù)關(guān)于閃存中的靜態(tài)區(qū)的磨損均衡方法的流 程圖;圖3是根據(jù)本發(fā)明的實施例、檢測非易失性數(shù)據(jù)存儲設(shè)備中的靜態(tài)數(shù)據(jù)區(qū)的方法的流程圖;圖4是根據(jù)本發(fā)明的實施例、借助于如圖3中所圖示的讀取的老化值來 確定靜態(tài)數(shù)據(jù)區(qū)的處理的流程圖;圖5圖示了根據(jù)本發(fā)明的實施例的每個數(shù)據(jù)單元的老化值和老化計數(shù)器值;圖6是根據(jù)本發(fā)明另一個實施例、在非易失性數(shù)據(jù)存儲設(shè)備中的磨損均 衡方法的流程圖;圖7是根據(jù)本發(fā)明的實施例、圖6所示的將靜態(tài)數(shù)據(jù)移動到另一單元的 處理的流程圖;圖8是根據(jù)本發(fā)明另一實施例、如圖6所示的將靜態(tài)數(shù)據(jù)移動到另一單 元的處理的流程圖;圖9是根據(jù)本發(fā)明另一個實施例、在非易失性數(shù)據(jù)存儲設(shè)備中合并數(shù)據(jù) 單元的方法的流程圖;圖10圖示了根據(jù)本發(fā)明另一實施例的數(shù)據(jù)單元合并處理;圖11圖示了根據(jù)本發(fā)明另一實施例、如圖9所示的讀取所存儲的老化圖12是根據(jù)本發(fā)明另一實施例、如圖9所示的讀取存儲的老化值并基 于所讀取的老化值;險測將被合并的單元的處理的流程圖;圖13是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中用于檢測 靜態(tài)數(shù)據(jù)區(qū)的裝置的框圖;圖14是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中的磨損均 衡裝置的框圖;圖15是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備用于合并數(shù) 據(jù)單元的裝置的框圖。
      具體實施方式
      下文中,本發(fā)明的優(yōu)選實施例將參照附圖被詳細說明。盡管下文中所描 述的是閃存,但該描述可以應(yīng)用到所有的非易失性數(shù)據(jù)存儲設(shè)備。圖3是根據(jù)本發(fā)明實施例、檢測非易失性數(shù)據(jù)存儲設(shè)備中的靜態(tài)數(shù)據(jù)區(qū) 的方法的流程圖。參照圖3,在操作310中將老化值存儲在每個數(shù)據(jù)單元。所述數(shù)據(jù)單元可以是閃存的數(shù)據(jù)塊。老化值是指明寫入時間的參數(shù),并且每次對于所有數(shù)據(jù)塊記錄數(shù)據(jù)時, 存儲每個數(shù)據(jù)塊的一個老化值。也就是說,當(dāng)在數(shù)據(jù)塊的第一頁中記錄數(shù)據(jù)時,可以在該第一頁備用(spare)區(qū)中記錄老化值。數(shù)據(jù)塊的每一頁具有 16或64字節(jié)的備用區(qū),用于在其中記錄糾錯碼(ECC)信息等等。因為要 存儲的老化值具有整數(shù)大小,因此該老化值可以使用一部分備用區(qū)。指明寫 入時間的老化值指明了數(shù)據(jù)塊之間的相對寫入順序而不是絕對時間。通過在 非易失性數(shù)據(jù)存儲設(shè)備(例如閃存)中存在的至少一個老化計數(shù)器來記錄每 一個老化值,其中指明數(shù)據(jù)何時被存儲的老化計數(shù)器值被記錄為老化值。每 當(dāng)分配其中沒有數(shù)據(jù)被記錄的空閑(free)單元,例如空閑塊時,老化計數(shù) 器改變其值。例如,如果老化計數(shù)器值依次地增加1,則在數(shù)據(jù)塊具有老化 值20和數(shù)據(jù)塊具有老化值21的情況下,對前者記錄要相對比后者早。如上 所述,老化值指明數(shù)據(jù)塊的相對寫入順序。重要地,因為當(dāng)數(shù)據(jù)塊被擦除后 將數(shù)據(jù)記錄在數(shù)據(jù)塊時存儲老化值,所以如果老化值相對較小,則具有該老 化值的數(shù)據(jù)塊先被擦除。另外,因為當(dāng)分配空閑區(qū)時總是更新映射表,所以 當(dāng)映射表被更新時可以將老化計數(shù)器值記錄在映射表的相關(guān)頁的備用區(qū)中。 因此,沒有附加的計算開銷來操作老化值和老化計數(shù)器,并且不管電力是開 啟還是關(guān)斷,非易失性數(shù)據(jù)存儲設(shè)備總可以保持被稱為"老化"的寫入時間 信息。在操作320中讀取存儲在數(shù)據(jù)塊中的老化值。讀取所存儲的老化值的操 作在系統(tǒng)停歇(idle)時間執(zhí)行,并且對于被分配了數(shù)據(jù)的所有數(shù)據(jù)塊來依 次執(zhí)行。在操作330中基于所讀取的老化值來確定靜態(tài)數(shù)據(jù)區(qū),將參照圖4進行 i羊纟田4苗述。圖4是根據(jù)本發(fā)明的實施例、圖3所示的操作330的流程圖。 參照圖4,為了確定靜態(tài)數(shù)據(jù)區(qū),在操作410中將所讀取的老化值與當(dāng) 前老化計數(shù)器值進行比較。因為老化值是在相關(guān)數(shù)據(jù)塊中記錄數(shù)據(jù)的時間的 代表值,所以將該老化值與當(dāng)前老化計數(shù)器值進行比較。這是因為每當(dāng)分配 空閑塊時,老化計數(shù)器值增加,通過比較老化計數(shù)器值與所選擇的數(shù)據(jù)塊的 老化值,可以確定相對的寫入時間。因此,如果在操作420中從當(dāng)前老化計數(shù)器值減去所讀取的老化值所獲得的結(jié)果大于預(yù)定的閾值,這意味著在相對長時間前在具有該所讀取的老化 值的數(shù)據(jù)塊中記錄了數(shù)據(jù)并且該數(shù)據(jù)沒有被更新。所述預(yù)定閾值可以由系統(tǒng) 設(shè)計者根據(jù)存儲設(shè)備的目的來確定,或可以確定為導(dǎo)出最佳性能的值。因此,如果從當(dāng)前老化計數(shù)器值減去所讀取的老化值獲得的結(jié)果大于預(yù)定的閾值,則在操作430中可以將具有所述老化值的數(shù)據(jù)塊確定為靜態(tài)數(shù)據(jù) 區(qū)。圖5圖示了根據(jù)本發(fā)明的實施例、在閃存中使用老化值的示例。參照圖5,現(xiàn)在將描述圖5中所示的老化值和老化計數(shù)器值之間的相互 關(guān)系。示出了作為非易失性數(shù)據(jù)存儲設(shè)備的閃存510、以及與空白單元對應(yīng) 的第O到第2物理數(shù)據(jù)塊511、 512和513。將第O數(shù)據(jù)塊作為數(shù)據(jù)塊的代表 示例,第一頁包括數(shù)據(jù)區(qū)511a和備用區(qū)511b。如上所述,第O數(shù)據(jù)塊的老 化值520被存儲在備用區(qū)511b中,并且在該情況下為12。在其它數(shù)據(jù)塊的 情況下,第1數(shù)據(jù)塊512的老化值520是5,以及第2數(shù)據(jù)塊513的老化值 520為21。因為當(dāng)前老化計數(shù)器值530是30,通過比較當(dāng)前老化計數(shù)器值 530和具有最小老化值的第l數(shù)據(jù)塊512,可以知道因為分配了第1數(shù)據(jù)塊 512所以25個(=30-5)空閑塊被另外地分配。因為第1數(shù)據(jù)塊512沒有被 擦除,所以可以將第1數(shù)據(jù)塊512確定為相對靜態(tài)數(shù)據(jù)區(qū)。圖6是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中的磨損均衡 方法的流程圖,以及圖7和8是如圖6所示的操作640的流程圖。參照圖6、 7和8,在被分配為在其中記錄數(shù)據(jù)的每個單元(數(shù)據(jù)塊)中 存儲用于指明寫入時間的老化值(稱為610)、讀取所存儲的老化值(稱為 620 )、并通過所讀取的老化值檢測靜態(tài)數(shù)據(jù)區(qū)(稱為630 )的操作610、 620 和630與圖3所示的操作310、 320和330相同。用兩種方法中的一種而在操作640中將所檢測數(shù)據(jù)區(qū)中的數(shù)據(jù)移動到另 一數(shù)據(jù)塊。根據(jù)第一種方法,在操作710中將靜態(tài)數(shù)據(jù)移動到空閑塊。因為被檢測 為靜態(tài)數(shù)據(jù)區(qū)的數(shù)據(jù)塊是很長時間沒有被更新或擦除的數(shù)據(jù)塊,所以通過將 靜態(tài)數(shù)據(jù)移動到空閑塊、并指定具有靜態(tài)數(shù)據(jù)的數(shù)據(jù)塊作為新的空閑塊,被 指定為新的空閑塊的數(shù)據(jù)塊可以在下一次更新中被用作要新分配的空閑塊, 并因此,對于被指定為新的空閑塊的數(shù)據(jù)塊將更加頻繁發(fā)生擦除和寫入操 作。如上所述,在操作720中,因為新的老化值(當(dāng)前老化值)被更新、并被存儲在靜態(tài)數(shù)據(jù)要移動到的第一頁數(shù)據(jù)塊的備用區(qū)中,該數(shù)據(jù)塊最初為空 閑塊,所以在靜態(tài)數(shù)據(jù)要移動到的數(shù)據(jù)塊中存儲的數(shù)據(jù)將不再被移動直到數(shù) 據(jù)被檢測為靜態(tài)數(shù)據(jù)(當(dāng)然,如果數(shù)據(jù)塊連續(xù)地保持為靜態(tài)數(shù)據(jù)區(qū),則該數(shù) 據(jù)塊中的靜態(tài)數(shù)據(jù)將再被移動到空閑塊)。根據(jù)第二種方法,靜態(tài)數(shù)據(jù)區(qū)的數(shù)據(jù)和沒有被確定為靜態(tài)數(shù)據(jù)區(qū)的另一數(shù)據(jù)塊的數(shù)據(jù)被調(diào)換。為了調(diào)換,在操作810中檢測具有比記錄靜態(tài)數(shù)據(jù)的 數(shù)據(jù)塊的老化值相對大的老化值的數(shù)據(jù)塊。在操作820中,所檢測數(shù)據(jù)塊的 數(shù)據(jù)與記錄靜態(tài)數(shù)據(jù)的數(shù)據(jù)塊中的數(shù)據(jù)調(diào)換。在操作830中,更新已經(jīng)記錄 所調(diào)換的數(shù)據(jù)的數(shù)據(jù)塊的老化值。因為已知具有相對大老化值的數(shù)據(jù)塊被后 更新,所以被確定并檢測為具有靜態(tài)數(shù)據(jù)的數(shù)據(jù)塊的數(shù)據(jù)塊中的數(shù)據(jù)與具有 相對大的老化值的數(shù)據(jù)塊中的數(shù)據(jù)調(diào)換。因為這意味著再次更新具有相對大 老化值的數(shù)據(jù)塊中的數(shù)據(jù)的可能性大,所以可以通過調(diào)換實現(xiàn)磨損均衡。這 是因為頻繁更新導(dǎo)致垃圾收集操作更加頻繁,導(dǎo)致空閑塊的更多指定,從而 允許對空閑塊重復(fù)擦除和寫入操作。在系統(tǒng)的停歇時間期間,可以執(zhí)行檢測靜態(tài)數(shù)據(jù)區(qū)并移動或調(diào)換所檢測 的靜態(tài)數(shù)據(jù)的操作,并且可以根據(jù)系統(tǒng)設(shè)計者的指定而選擇性地應(yīng)用第一種 和第二種方法。圖9是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中合并數(shù)據(jù)單 元的方法的流程圖。在閃存存儲設(shè)備中,通過使用頻繁更新操作而將單個邏輯數(shù)據(jù)塊分布并 存儲在多個物理數(shù)據(jù)塊中。這種情況下,合并操作通常被用作通過收集由于 更新(無效頁)出現(xiàn)的未用區(qū)而生成空閑塊的方法。也就是說,合并操作提 供了一種將在多個數(shù)據(jù)塊中分布并存儲的數(shù)據(jù)收集到單個數(shù)據(jù)塊、將多個數(shù) 據(jù)塊改變?yōu)榭臻e塊、并重新使用該空閑塊的方法。參照圖9,該方法包括在被分配為在其中寫入數(shù)據(jù)的每個單元中存儲指 明寫入時間的老化值(操作910),讀取存儲的老化值(操作920 ),利用所 讀取的老化值檢測多個要合并的單元(操作930 ),以及合并多個單元(操作 940)。也就是說,當(dāng)檢測要合并的數(shù)據(jù)塊時,選擇存儲靜態(tài)數(shù)據(jù)的數(shù)據(jù)塊。因 此,利用合并操作將在靜態(tài)數(shù)據(jù)區(qū)中的數(shù)據(jù)塊收集為空閑塊,使在下一個更 新操作中在所收集的空閑塊中執(zhí)行擦除和寫入操作,從而實現(xiàn)磨損均衡。圖10圖示了根據(jù)本發(fā)明另一實施例的數(shù)據(jù)單元合并處理。參照圖10,圖示了邏輯基本單元(4個數(shù)據(jù)塊1010、 1020、 1030、和 1040)。假設(shè)每個數(shù)據(jù)塊具有4頁。第一數(shù)據(jù)塊1010具有4頁無效頁,第二 數(shù)據(jù)塊1020和第三數(shù)據(jù)塊1030只有1頁有效頁,和第4數(shù)據(jù)塊1040具有2 頁有效頁和2頁無效頁。因為邏輯基本單元被寫入并不具有任何干凈(clean ) 頁,所以在下一更新中,首先執(zhí)行對4個數(shù)據(jù)塊1010、 1020、 1030、和1040 的合并操作。因此,通過將4頁有效頁收集(復(fù)制回)在一個空閑塊1050 中,生成了有效塊1060和4個空閑塊1070、 1080、 1090和1100。 圖ll和12是圖9所圖示的操作920和930的流程圖。 如圖10所圖示的合并操作可通過應(yīng)用兩種方法之一、使用靜態(tài)數(shù)據(jù)區(qū) 來執(zhí)行。第 一 種方法是計算多個數(shù)據(jù)塊中每組老化值的平均值的方法,每組構(gòu)成 一個邏輯基本單元,并選擇具有最低平均老化值的數(shù)據(jù)塊合并。也就是說,老化值相對低時,根據(jù)當(dāng)前實施例、通過選擇要合并的靜態(tài)數(shù)據(jù)生成空閑塊 實現(xiàn)了磨損均衡的目的。因此,在操作1110中計算關(guān)于系統(tǒng)所識別的邏輯 基本單元的數(shù)據(jù)單元的老化值的平均值,并且在操作1120中檢測具有最低 平均值的數(shù)據(jù)單元作為要合并的單元。第二種方法是考慮計算開銷和效益以能夠以高速度寫入成批數(shù)據(jù)的方 法。示意性地,第二種方法包括計算關(guān)于邏輯基本單元的數(shù)據(jù)單元的老化值 的平均值(操作1210),考慮優(yōu)先級(操作1220),并基于該優(yōu)先級檢測要 合并的數(shù)據(jù)塊(操作1230)。合并操作的一個目的在于收集多個空閑塊。因此,合并操作通過合并靜 態(tài)數(shù)據(jù)區(qū)中的數(shù)據(jù)塊而實現(xiàn)了磨損均衡,并同時利用較低的計算開銷而獲得 了更多的效益。計算開銷對應(yīng)于由于合并操作要移動的數(shù)據(jù)(有效數(shù)據(jù))量, 并且計算開銷對應(yīng)于在更新執(zhí)行之前、作為合并操作的結(jié)果而被收集到空閑 塊的數(shù)據(jù),即廢的或無效的數(shù)據(jù)。如上所述,如果數(shù)據(jù)單元具有較低的平均 老化值,則數(shù)據(jù)單元更適合合并,并因此當(dāng)計算所述計算開銷時可以考慮平 均老化值。通過選擇常數(shù)C1、 C2和C3以便與計算開銷成反比并與效益成 正比,可以通過公式1計算優(yōu)先級。優(yōu)先級=要移動的數(shù)據(jù)x Cl/ (要收集的無效數(shù)據(jù)x C2 x老化值的平均值xC3) ( 1 )因此,如果數(shù)據(jù)塊具有更高的優(yōu)先級,則該數(shù)據(jù)塊所具有的效益與計算 開銷的比率就更高,并因此具有更高優(yōu)先級的數(shù)據(jù)塊被選擇為要合并的數(shù)據(jù)塊。常數(shù)Cl和C3可以由系統(tǒng)設(shè)計者根據(jù)系統(tǒng)的目的來選擇,或可確定為通過試驗示出最高性能的值。圖13是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中用于檢測 靜態(tài)數(shù)據(jù)區(qū)的裝置1300的框圖。參照圖13,裝置1300包括老化記錄器1310,在被分配為具有寫入在 其中的數(shù)據(jù)的每個單元中存儲用于指明寫入時間的老化值;老化讀取器 1320,讀取存儲在單元中的老化值;以及靜態(tài)數(shù)據(jù)確定器1330,通過所讀取 的老化值來確定靜態(tài)數(shù)據(jù)區(qū)。圖14是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中的磨損均 衡裝置1400的框圖。參照圖14,磨損均衡裝置1400包括老化記錄器1410,在被分配為具 有寫入在其中的數(shù)據(jù)的每個單元中存儲用于指明寫入時間的老化值;老化讀 取器1420,讀取所存儲的老化值;靜態(tài)數(shù)據(jù)檢測器1430,通過所讀取的老 化值來檢測靜態(tài)數(shù)據(jù)區(qū);以及數(shù)據(jù)單元轉(zhuǎn)換器1440,將所檢測的靜態(tài)數(shù)據(jù)區(qū) 中的數(shù)據(jù)移動到另一單元。圖15是根據(jù)本發(fā)明另一實施例、在非易失性數(shù)據(jù)存儲設(shè)備中用于合并 數(shù)據(jù)單元的裝置1500的框圖。參照圖15,裝置1500包括老化記錄器1510,在被分配為具有在其中 寫入的數(shù)據(jù)的每個單元上存儲指明寫入時間的老化值;老化讀取器1520,讀 取所存儲的老化值;合并目標搜索單元1530,通過所讀取的老化值來檢測多 個要合并的單元;以及合并單元1540,合并多個所檢測的單元。根據(jù)本發(fā)明實施例的檢測靜態(tài)數(shù)據(jù)區(qū)的方法、磨損均衡方法、以及合并 數(shù)據(jù)單元方法也可以實施為計算機可讀記錄介質(zhì)上的計算機可讀代碼。計算 機可讀記錄介質(zhì)是可以存儲其后可由計算機系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存 儲設(shè)備。計算機可讀取記錄介質(zhì)的示例包括只讀存儲器(ROM)、隨機存取 存儲器(RAM)、 CD-ROM、磁帶、軟盤、光數(shù)據(jù)存儲設(shè)備、以及載波(例 如通過因特網(wǎng)的數(shù)據(jù)傳輸)。計算機可讀記錄介質(zhì)還可以分布在與計算機系 統(tǒng)耦接的網(wǎng)絡(luò)上,使得計算機可讀代碼被以分布方式存儲并執(zhí)行。如上所述,根據(jù)依據(jù)本發(fā)明實施例在非易失性數(shù)據(jù)存儲設(shè)備中的磨損均 衡方法,由于使用存儲在每個數(shù)據(jù)單元的老化值檢測靜態(tài)數(shù)據(jù)區(qū),所以通過據(jù)單元的方法,通過增加靜態(tài)數(shù)據(jù)區(qū)作為在選擇要合并的單元時可變的因 素,可以增加選擇靜態(tài)數(shù)據(jù)作為要合并的數(shù)據(jù)的可能性。因此,可以在不增 加計算開銷的情況下正確地檢測靜態(tài)數(shù)據(jù)區(qū),并且通過從和向靜態(tài)數(shù)據(jù)區(qū)移動數(shù)據(jù)可以增加整個存儲設(shè)備的磨損均衡效果增加,從而延長了存儲設(shè)備的 壽命。雖然參照本發(fā)明的優(yōu)選實施例而具體示出并描述了本發(fā)明,但本領(lǐng)域技 術(shù)人員將理解,在不脫離所附權(quán)利要求所限定的本發(fā)明的精神和范圍的情況 下,可以在其中進行形式和細節(jié)上的各種改變。優(yōu)選實施例應(yīng)只被認為描述 意義而不以限定為目的。因此,本發(fā)明的范圍不是由本發(fā)明的詳細描述而是 由所附權(quán)利要求來限定,并且在所述范圍內(nèi)的所有差異被理解為包括在本發(fā) 明中。
      權(quán)利要求
      1.一種在非易失性數(shù)據(jù)存儲設(shè)備中檢測靜態(tài)數(shù)據(jù)區(qū)的方法,該方法包括在被分配為在其中寫入數(shù)據(jù)的每個單元中存儲指明寫入時間的老化值;讀取存儲在單元中的老化值;以及基于所讀取的老化值確定該單元是否為靜態(tài)數(shù)據(jù)區(qū)。
      2. 如權(quán)利要求1所述的方法,其中老化值指明當(dāng)寫入數(shù)據(jù)時的相對順序。
      3. 如權(quán)利要求2所述的方法,其中存儲老化值的步驟包括在每個單元 的備用區(qū)存儲該老化值。
      4. 如權(quán)利要求3所述的方法,其中該老化值是通過存在于非易失性數(shù) 據(jù)存儲設(shè)備中的至少 一個老化計數(shù)器來記錄的。
      5. 如權(quán)利要求4所述的方法,其中所述老化計數(shù)器具有老化計數(shù)器值, 并且每當(dāng)分配其中沒有記錄數(shù)據(jù)的空閑單元時,該老化計數(shù)器改變其老化計 數(shù)器值。
      6. 如權(quán)利要求5所述的方法,其中老化計數(shù)器值被記錄在關(guān)于所分配 的空閑單元的映射表的備用區(qū)中,并當(dāng)該映射表被更新時存儲所述老化計數(shù) 器值。
      7. 如權(quán)利要求6所述的方法,其中所存儲的老化值與當(dāng)記錄與該老化 值一起存儲的數(shù)據(jù)時的老化計數(shù)器值相同。
      8. 如權(quán)利要求2所述的方法,其中在驅(qū)動非易失性數(shù)據(jù)存儲設(shè)備的系 統(tǒng)的停歇時間期間執(zhí)行對被存儲在單元中的老化值的讀取。
      9. 如權(quán)利要求8所述的方法,其中對被存儲在單元中的老化值的讀取 是相對于向其分配數(shù)據(jù)的所有單元來依次執(zhí)行的。
      10. 如權(quán)利要求9所述的方法,其中比較所讀取的老化值和老化計數(shù)器 值的步驟包括比較所讀取的老化值和老化計數(shù)器值,并且如果在所讀取的 老化值和老化計數(shù)器值之間的差大于預(yù)定的閾值,則確定具有所讀取的老化 值的單元為靜態(tài)數(shù)據(jù)區(qū)。
      11. 如權(quán)利要求l所述的方法,還包括通過將確定為靜態(tài)數(shù)據(jù)區(qū)的單 元中的數(shù)據(jù)移動到另 一單元來進行磨損均衡。
      12. 如權(quán)利要求11所述的方法,其中老化值是通過存在于非易失性數(shù)據(jù)存儲設(shè)備的至少一個老化計數(shù)器來記錄的,以及該老化計數(shù)器具有該老化計數(shù)器值,并且每次分配其中沒有數(shù)據(jù)記錄的 空閑單元時,該老化計數(shù)器改變其老化計數(shù)器值。
      13. 如權(quán)利要求12所述的方法,其中基于所讀取的老化值來確定單元 是否是靜態(tài)數(shù)據(jù)區(qū)的步驟還包括比較所讀取的老化值和老化計數(shù)器值,其中,作為比較的結(jié)果,如果在所讀取的老化值和老化計數(shù)器值之間的 差大于預(yù)定的閾值,則具有所讀取的老化值的單元被檢測為靜態(tài)數(shù)據(jù)區(qū)。
      14. 如權(quán)利要求11所述的方法,其中將被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中 的數(shù)據(jù)移動到另 一單元的步驟包括將被確定為靜態(tài)數(shù)據(jù)區(qū)的單元中的數(shù)據(jù) 與記錄其它數(shù)據(jù)的另 一 單元的數(shù)據(jù)調(diào)換。
      15. —種用于在非易失性數(shù)據(jù)存儲設(shè)備中合并數(shù)據(jù)單元的方法,該方法包括在被分配為具有寫入在其中的數(shù)據(jù)的每個單元中存儲指明寫入時間的 老化值;讀取所存儲的老化值;基于所讀取的老化值來檢測要被合并的多個單元;以及 合并所述多個單元。
      16. 如權(quán)利要求15所述的方法,其中該老化值是通過存在于非易失性 存儲設(shè)備中的至少一個老化計數(shù)器來記錄的,其中老化計數(shù)器具有老化計數(shù)器值,并且每當(dāng)分配沒有記錄數(shù)據(jù)的空閑 單元時,該老化計數(shù)器改變其老化計數(shù)器值。
      17. 如權(quán)利要求16所述的方法,其中,在用于驅(qū)動非易失性數(shù)據(jù)存儲 設(shè)備的系統(tǒng)的停歇時間期間,執(zhí)行對所存儲的老化值的讀取,并且該讀取是 相對于將數(shù)據(jù)分配到的所有單元來依次執(zhí)行的。
      18. 如權(quán)利要求17所述的方法,其中基于所讀取的老化值對要合并的 多個單元進行檢測的步驟還包括將所讀取的老化值的每一個與老化計數(shù)器 值進行比較,其中,作為比較的結(jié)果,如果在所讀取的老化值的每一個與和老化計數(shù) 器值之間的差大于預(yù)定的閾值,則具有所讀取的老化值的單元被檢測為要合 并的單元。
      19. 如權(quán)利要求17所述的方法,其中對所存儲的老化值進行讀取的步驟還包括計算與系統(tǒng)所識別的邏輯基本單元相關(guān)的多個數(shù)據(jù)單元的老化值 的平均值。
      20. 如權(quán)利要求19所述的方法,其中基于所讀取的老化值對要合并的 多個單元進行檢測的步驟還包括計算伴隨合并的計算開銷和效益,其中所述計算開銷對應(yīng)于根據(jù)合并而要移動的數(shù)據(jù)量和所計算的平均 老化值,并且所述效益對應(yīng)于由于合并而要被收集在空閑單元中的廢數(shù)據(jù)量。
      21. 如權(quán)利要求20所述的方法,其中基于所讀取的老化值對要合并的 多個單元進行檢測的步驟還包括計算反比于所計算出的計算開銷并且正比 于所計算出的效益的優(yōu)先級值,其中,具有最高優(yōu)先級值的多個數(shù)據(jù)單元被檢測作為要合并的單元。
      22. —種裝置,包括老化記錄器,在被分配為具有寫入在其中的數(shù)據(jù)的每個單元中存儲指明 寫入時間的老化值;老化讀取器,讀取存儲在單元中的老化值;以及 靜態(tài)數(shù)據(jù)確定器,基于所讀取的老化值來確定靜態(tài)數(shù)據(jù)區(qū)。
      23. 如權(quán)利要求22所述的裝置,還包括磨損均衡數(shù)據(jù)單元轉(zhuǎn)換器,將處于所確定的靜態(tài)數(shù)據(jù)區(qū)中的數(shù)據(jù)移動到 另一單元。
      24. —種用于在非易失性數(shù)據(jù)存儲設(shè)備中合并數(shù)據(jù)單元的裝置,該裝置 包括老化記錄器,在被分配為具有寫入在其中的數(shù)據(jù)的每個單元中存儲指明 寫入時間的老化值;老化讀取器,讀取所存儲的老化值;合并目標搜索單元,其基于所讀取的老化值來檢測要合并的多個單元;以及合并單元,合并所檢測的多個單元。
      25. —種計算機可讀記錄介質(zhì),其存儲用于運行包括如下步驟的方法的 計算機可讀程序,所述方法包括在被分配為在其中寫入數(shù)據(jù)的每個單元中存儲指明寫入時間的老化值;讀取存儲在單元中的老化值;以及基于所讀取的老化值來確定所述單元是否是靜態(tài)數(shù)據(jù)區(qū)。
      全文摘要
      提供了一種用于非易失性數(shù)據(jù)存儲設(shè)備的磨損均衡的方法和裝置,從而通過在非易失性數(shù)據(jù)存儲設(shè)備的每個數(shù)據(jù)單元中存儲指明寫入時間的老化值、并基于老化值檢測靜態(tài)數(shù)據(jù)區(qū)來使磨損均衡效果最大化。該方法包括在被分配為在其中寫入數(shù)據(jù)的每個單元中存儲指明寫入時間的老化值;讀取存儲在單元中的老化值;以及基于所讀取的老化值確定靜態(tài)數(shù)據(jù)區(qū)。因此,可以在不增加計算開銷的情況下正確地檢測靜態(tài)數(shù)據(jù)區(qū)能,并且可以通過向和從靜態(tài)數(shù)據(jù)區(qū)移動數(shù)據(jù)來增加整個存儲裝置的磨損均衡效果,從而延長了存儲設(shè)備的壽命。
      文檔編號G11C29/00GK101236789SQ20071018006
      公開日2008年8月6日 申請日期2007年12月17日 優(yōu)先權(quán)日2006年12月18日
      發(fā)明者鄭圣勛 申請人:三星電子株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1