TW200915324A - Wear leveling method and controller using the same - Google Patents
Wear leveling method and controller using the same Download PDFInfo
- Publication number
- TW200915324A TW200915324A TW096135924A TW96135924A TW200915324A TW 200915324 A TW200915324 A TW 200915324A TW 096135924 A TW096135924 A TW 096135924A TW 96135924 A TW96135924 A TW 96135924A TW 200915324 A TW200915324 A TW 200915324A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- area
- erasures
- spare
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
200915324 Γ〇η^-^υυ/-υυιο 25083twf.doc/n 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種平均磨損方法,且特別是有關於 一種用於非揮發性記憶體的平均磨損方法以及使用此方法 的控制器。 【先前技術】 Ο u 數位相機、手機相機與MP3在這幾年來的成長十分 迅速,使得消費者對儲存媒體的需求也急速增加,由於快 閃記憶體(Flash Memory)具有資料非揮發性、省電、體 積小與無機械結構等的特性,適合可攜式制,最適 用於這類可攜式由電池供㈣產品上。除了可攜式產品内 建I己憶體需要之外,對於小型記憶卡與隨身碟等外接 品來說’每個人可能同時擁有多贿身碟與小型記 所以市場規模較輕設備更大。因此,近年快閃記 業成為電子產業中相當熱門的—環。 _產 雖然快閃記憶體具有可寫入、可抹 可保存數據的優點。然而,_ 區仍 有限的,例如記憶體區塊抹除一萬;修欠數是 體區塊磨損導致儲存容量之部分炎當記憶 =響會造成使_存資料的損 快閃記憶體區塊的磨損取 (P卿啦)或抹除的次數。也就是、,二中被程式 者寫入)-次,而後未被±右£塊僅被程式(或 未被再私式日夺,則此區塊的磨 200915324 r πυ-ζυυ /-w 1 δ 25083twf.doc/n 對地低’反之,若-區塊被重複地程式與抹除時,則此區 塊的磨損就會相對地高。例如’當存取記憶體區塊的主機 重複地使用相同邏輯區塊位址來寫入資料時,則快閃記憶 體内之相同實體位置的區塊會被重複地寫入與抹除。 當某些區塊被磨損同時其他區塊相對地未磨損時,— 般而言磨損區狀存在會降低㈣記憶體的性能。除了磨 損區塊本身性能的退化之外,t未磨損的區塊不足以儲存 Ο
U 貧料時’快閃記憶體整體的性能亦會降低。也就是,當快 閃記憶體發生超過-服數的磨損區塊時,即使仍有&他 區塊未磨損,$,此快閃記憶體會被判為無法再使用’。、备 磨祕塊被視為無法仙時,將為造成資源實i 上的浪費。 增加侧記憶_壽命,會盡可能平均地使用快 的區塊。-般來說,快閃記憶體的區塊會區分為 備顏,傳辭均磨躺妓是循序地在快閃記 $細-段時間時將資料區中的區塊與備用區中的區 上交換,以期使得抹除次數較少的區塊可被交換至 以供程式(或寫入)使用。然而,此種依序地將資 ==與備用區中的區塊邏輯上交換的方式,無法 數抹除次錄少的區塊’若較換的是抹除次 限。又夕W反而更加速其磨損’因此平均磨損的效果有 基此’衫要發展—平均賴方法,以纽地延長快 閃§己憶體的壽命。 200915324 i 〇ι J 25083twf.doc/n 【發明内容】 本發明提供-_於非揮發性記憶體的平均磨損方 法’其可有效地平均記憶體區塊的磨損,以延長記憶體的 使用壽命。 本發明提供-種控制器’其可執行用於非揮發性記憶 體的平均磨㈣法,由此有效地平均記紐區塊的磨損, 以延長記憶體的使用壽命。 、 ο 本發明提出-種用於非揮發性記憶體的平均磨損方 法,其中揮發性記憶體實質上分割為多個區塊且此些區塊 至少分組為讀區、備賴、#換區與暫態區,此平均磨 損方法包括:a.當從備中提取區塊時,依據不同 途來提取區塊;以及b.執行耗損調整程序。 „明之-實施例中’上述之平均磨損方法的步驟 ㈣次數相對多的至少一個區塊;以及 =用於替換區的第-區塊時,倘若第—區塊的抹除次數s …區的區塊的抹除次數加第—門插值時搬移第袪 換區,倘若第-區塊的抹除次數>熱區的區塊= 加第-門檻值時搬移熱區中的區塊的其中之 施 且將第一區塊標記為熱區的區塊。 芏瞀換區並 在本發明之-實施例中,上述之平均磨損方法 a更包括:從備用區提取用於暫態區的第二區塊,盆^ 二區塊是備用區之中具有相對少抹除次數的-第 在本發明之一實施例中,上述之耗損調整程序包括將 200915324 25083twf.doc/n 熱區中至少一個區塊的其中之一搬移至資料區,同時將資 料區的第三區塊搬移至備用區且將第三區塊標記為熱區的 區塊,其中第三區塊是在資料區之中具有相對少抹除次數 的區塊。 在本發明之一實施例中,上述之平均磨損方法,更包 括:當熱區的區塊的抹除次數>所有區塊的抹除次數之中 最大抹除次數與最小抹除次數的中間值加第二門檻值時則
將一计數值加1,以及當計數值大於第三門檻值時,則執 行步驟b並且重置計數值。 在本發明之-實_巾,上狀平均方法更包 括:當執行寫人或抹除指令時,縣計數值加丨;以及當 计數值大於第二服值時,執行轉b並且重置計數值。 在本發明之-實_中,上狀平均磨損方法更包 括:當熱區的區塊的抹除次數>所有區塊的抹除次數之令 最大抹除魏與S小抹除錢㈣間值加帛 執行步驟b。 @ 了⑴ 在本發明之一實施例中,上述之平均磨損方法更包括 以一隨機方式執行步驟b。 広又匕栝 在本發明之-實施例中,上述之平均磨損方法更包括 建立對應㈣區的至少-個區域的至少—個資料 次數表、_轉絲讀表、替祕齡除_ = 態區塊抹除次數表,其分別用以記錄資料區、備用 換區與暫態區的區塊的抹除次數。 替 在本發明之-實施例中,上述之建立至少—個資料區 200915324 α t ν/ν» i 3 25083twf.doc/π 塊抹除次數表是以對應邏輯實體對映表來建立,其中至少 一個資料區塊抹除次數表是對應邏輯實體對映表來分別地 記錄資料區的區塊的抹除次數。 在本發明之一實施例中’上述之平均磨損方法更包括 將至少一個資料區塊抹除次數表、備用區塊抹除次數表、 替換區塊抹除次數表與暫態區塊抹除次數表儲將^塊 更分組的系統區。 在本發明之-實施例中,上述之平均磨損方法更包括 執行主機端正常的寫入指令來完成步驟b。 在本發明之-實補巾,上叙轉純記憶體為 SLC (Single Level Cell)或 MLC (Μ_cdi)反及 (NAND)快閃記憶體。 $在本發明之-實施例中’上述之平均磨損方法更包括 當抹除或寫入區塊時,增加所抹除區塊的抹除次數。 ,在本發明之-實施例中,上述之平均磨損方法更包括 當抹除或以區塊的同時掃描至少—個資料區塊抹除次數 表並且記錄抹除次數最少的區塊。 在本發明之—實施例中,上述之平均磨損方法更包括 ^更動備用區的區塊時更新至少—個資觀塊抹除次數 、、備用區塊抹除次數表、替換區塊抹除:欠數表與暫態區 塊抹除次數表的至少其中之一。 2明提供—種控·,其適用於儲存裝置,儲存裝 揮發性記憶體實質上分割為多個記憶體區塊並且此 二5己’思體區塊至少分組為資料區、制區、替換區與暫態 200915324 -*3 25083twf.doc/n :’控制II包括非揮發性記憶體介面與記憶體管理模組。 —軍發性記憶體介面是用以存取非揮發性記憶體。記情體 官理模組是用奸理_發性記憶體,其巾減體管理模 =執行平均磨損方法。平均磨損方法包括:a.當從備用 區中提取輯時,依據不同_途來提取區塊;以及 行耗損調整程序。 巩 在本發明之-實施例中,上述之平均磨損方法的步驟 a包括:在·區中區分熱區,以標記在備籠的區塊之 中抹除次數相對多的至少-個區塊;以及#從備用區中提 取用於替換區的第-區塊時,齡第—區塊的抹除次數^ 熱區的區塊的抹除:欠數加第—門檻值時搬移第—區塊至替 換區,倘若第-區塊的抹除次數〉魅的區塊的抹除次數 加第一門檻值時搬移熱區中的區塊的其中之一至替換區並 且將第一區塊標記為熱區的區塊。 、°»、’ 在本發明之一實施例中,上述之平均磨損方法的步驟 a更包括:從備用區提取用於暫態區的第二區塊,其中第 —區塊是備用區之中具有相對少抹除次數的區塊。 在本發明之一實施例中,上述之耗損調整程序包括將 熱區中至少一個區塊的其中之一搬移至資料區,同時將資 料區的第三區塊搬移至備用區且將第三區塊標記為熱區二 區塊,其中第三區塊是在資料區之中具有相對少抹除次數 的區塊。 ’' 在本發明之一實施例中,上述之平均磨損方法,更包 括.當熱區的區塊的抹除次數>所有區塊的抹除次數之中 200915324 r or / · 25083twf.doc/n 最小抹除次數的中間值加第二門檻值時則 牛二及當計數值大於第三嶋時,: 仃步驟b並且重置計數值。 j執 在本發明m财,上述 =當執行寫人或抹除齡時,_計數值加、 叶數值大於第三服斜,職行步驟b並 田 在本發明之一實施例中,上述數值 當熱㈣輯的抹除錄〉所姐塊猶除次 與最小抹除次數的中間值加第四門檻值時則 在本發明之一實施例中,上述之平均磨損方法更包括 以一隨機方式執行步驟b。 在本發明之-實施例中’上述之平均磨損方法更包括 建立對應資料區的至少-個區域的至少—個資料區塊抹除 ^數表、備龍塊抹除次數表、替換區塊抹除次數表與暫 怨區塊抹除次數表’其分別用以記錄資料區、備用區、替 換區與暫態區的區塊的抹除次數。 在本發明之一實施例中,上述之建立至少—個資料區 塊抹除次數表是以對應邏輯實體對映表來建立,其中至少 一個資料區塊抹除次數表是對應邏輯實體對映表^分別= 記錄資料區的區塊的抹除次數。 在本發明之一實施例中,上述之平均磨損方法更包括 將至少一個資料區塊抹除次數表、備用區塊抹除次數表、 替換區塊抹除次數表與暫態區塊抹除次數表儲存在將區塊 200915324 3 25083twf.doc/n 更分組的系統區。 在本發明之一實施例中,上述之平均磨損方法更包括 執行主機端正常的寫入指令來完成步驟b。 在本發明之一實施例中,上述之非揮發性記憶體為 SLC (Single Level Cell)或 MLC (Multi Level Cell)反及 * (NAND)快閃記憶體。 ^在本發明之一實施例中,上述之平均磨損方法更包括 0 當抹除或寫入區塊時,增加所抹除區塊的抹除次數。 ^在本發明之一實施例中,上述之平均磨損方法更包括 當抹除或寫入區塊的同時掃描至少一個資料區塊抹除次數 表並且記錄抹除次數最少的區塊。 〜在本發明之—實施射,上述之平均磨損方法更包括 :虽更動備賴的區塊時更新至少—個資料區塊抹除次數 ί枯抹除次數表、替換區塊抹除次數表與暫態區 塊抹除-人數表的至少其中之一。 3明提出—種用於非揮發性記 記憶體實質上分割為多個區塊= f y m續區、備㈣與替魏,此平均磨損方法 .塊之巾心it 熱區’以標記在該備用區的區 r於替換區的第一區塊時,以熱區的鬼區==提 弟門檻值為提取的判斷條件;以及 口 在本發明之—奋#y,丄 奶^丁和相項整程序。 第-區塊的抹除-欠二:「二上述之判斷條件包括:倘若 '、人數=熱區的區塊的抹除次數加第—門檻 200915324 x ux j_/—/ i J 25083twf.doc/n 值時搬移第一區塊至替換區,倘若第一區塊的抹除次數〉 熱區的區塊的抹除讀加第—門梭麟搬移熱區中的區塊 的其中之-至祕區並且將第—區塊標記為熱區的區塊。 在本發明之-實施例中,上述之耗損調整程序包括將 熱區中至少—倾塊的其巾之—搬移至資料區,同時將資 料區的第三區塊搬移至備用區且將第三區塊標記為熱區的
區塊’其中第三區塊是在資料區之巾具有相對少抹 的區塊。 .在本發明之-實施例巾,上述之平均磨損方法更包 括:當熱區的區塊的抹除次數>區塊的抹除次數之 ,除次數與最小抹除次數的中間值加第二服值時則
Ui加1 π及當計數值大於第三服值時 並且重置計數值。 丁 在本發明之一實施例中,上述之平均磨損方法 括:當執行寫入或抹除指令時,則將計數值力口、1;以及去 汁數,大於第三Η檻_,職行步驟e並且重置計數值田。 之-實施财,上述之平均磨損方法,更包 熱區的區塊的齡缝〉區塊的抹除錄 數與最小抹除次數的中間值加“門魏時則執行 上述之平均磨損方法更包 在本發明之一實施例中 括:以隨機方式執行步驟c。 在本發明之一實施例中,上述之平 建立對應資料區的至少一個區域的至少一個;料區塊= 12 200915324 a a-» -t-w/ 25083twf.doc/n 次數表、備用區塊抹除次數表與替換區塊抹除次數表,其 分別用以記錄資料區、備用區與替換區的區塊的抹除次數。 在本發明之一實施例中,上述之平均磨損方法更包括 執行主機端正常的寫入指令來完成步驟C。 在本發明之一實施例中,上述之非揮發性記憶體為 SLC (Single Level Cell)或 MLC (Multi Level Cell)反及 (NAND)快閃記憶體。
在本發明之-實施例中,上述之平均磨損方法更包括 當抹除或寫入區塊的同時掃描至少一個資料區塊抹除次數 表並且記錄抹除次數最少的區塊。 本發明提供一種控制器,其適用於儲存裝置,儲存 裝置的非揮發性記憶體實#上分割為多個記紐區塊並且 此些記憶體區塊至少分組為資料區、備用區與替換區,控 ,器包括丨N科性記憶齡面、_記鐘、微處理單二 ^己憶體管賴組。轉發性記憶體介面是用以存取 發性記憶體。緩衝記憶體用以暫時地儲存㈣。用 的ft運作,管理模組是用以管理非揮^性 磨二二㈣傾模組會執行平均蘭方法。平均 磨才貝方法包括:a.在該備用區中P?八舶广 =:塊之中抹除次數相=== 用區令提取用於替換區的第一區塊時, .從備 在本發明之一實施例中 上述之判斷條件包括:倘若 13 200915324 r^ru~z\jv/-\jviq 25083twf.doc/n 第一區塊的抹除次數^熱區的區塊的抹除次數加第—門檻 值時搬移第一區塊至替換區,倘若第一區塊的抹除次數> 熱區的區塊的抹除次數加第一門檻值時搬移熱區令的區塊 的其中之一至替換區茸且將第一區塊標記為熱區的區塊。 在本發明之一實施例中,上述之耗損調整程序包括將 熱區中至少一個區塊的其中之一搬移至資料區,同時將資 料區的第三區塊搬移至備用區且將第三區塊標記為熱區的 區塊,其中第三區塊是在資料區之中具有相對少抹除次 的區塊。 μ 在本發明之一實施例中,上述之平均磨損方法更包 括··當熱區的區塊的抹除次數> 區塊的抹除次數之中
與最小抹除:欠㈣中間值加第二門檻值時則將叶 並且重°置計1及/。魏值大於第三服㈣,_行步驟C =發明之—實施财,上狀平均磨損方 Ϊ數則將計數值加以及ΐ Ufe值k’喊行频e並且 在本發日狀-實施例中,上述之 ^錢值。 括:當熱區的區塊的抹除次數> 區塊的包 步驟c。,、:,、 、: 、 間值加 第四門檻值時則g 括:以隨Hi執行^^! ’上述之平均磨損方法更包 在本發明之-實施例中,上述之平均磨損方法更包括 200915324 ^ϊ>κυ-2υυ/-υυΐδ 25083twf.doc/n 建立對應資料區的至少個區域的至少一個資料區塊抹除 次數表、備用區塊抹除次數表與替換區塊抹除次數表,其 为別用以§己錄資料區、備用區與替換區的區塊的抹除次數。 在本發明之-實施例中’上述之平均磨損方法更包括 執行主機端正常的寫入指令來完成步驟c。 在本發明之-實關巾’上述之非揮發性記憶體為 SLC (Smgle Level Cell)或 MLC (MuW Levd Cdl)反及
(NAND)快閃記憶體。 *在本發明之-實施例中,上述之平均磨損方法更包括 ^抹除或寫人H塊的同時掃描至少—個資料區塊抹除次數 表並且§己錄抹除次數最少的區塊。 、本發明提供一種用於非揮發性記憶體的平均磨損方 f,其中_發性記憶體實質上分割Μ健塊且此些區 磨資料區、備用區、替換區與暫態區,此平均 在備用區中區分熱區,以標記在備用區 中提取_ ^除:域相對乡的至少—顧塊;b.從備用區 —特定值奐區的第—區塊;e.以熱區的抹除次數比對 叫=:=r及d.當計數值大於第三門 區的補巾,上狀騎條件包括:當熱 加^。鬼攸除次數 >特定值加第二服值_將計數值 次數ίΐίΓί—實施例中’上述之特定值為區塊的抹除 大抹除次數與最小抹除次數的中間值。 15
200915324 J. OA / ~\J\f 1 O 25083twf.doc/n 在本發明之一實施例中,上述之耗損調整程序包括將 熱區中至少一個區塊的其中之一搬移至資料區,同時將資 料區的第三區塊搬移至備用區且將第三區塊標記為熱區的 區塊,其中第三區塊是在資料區之中具有相對少抹除次數 的區塊。 在本發明之-實施例中,上述之平均磨損方法更包括 建立對應育料區的至少-個區域的至少—個資料區塊抹除 =數表、制區塊抹除次數表、替換區塊抹除次數表與暫 悲區塊抹除次數表,其分別用以記錄資料區、 換區與暫態區的區塊的抹除次數。 °° 在本發明之-實施例中,上述之平均磨損方法更包括 執行主機端正常的寫入指令來完成耗損調整程序。 在本七明之-實施财’上述之轉發性記憶體為 SLC (Single Level Cell)或 Μιχ (MuW 卜㈣ Ce 反及 (NAND)快閃記憶體。 本發明提出-種平均磨損方法,其可適時地 記憶體^塊’由此平均記紐區__,崎長記憶 的使用壽命。 〜_ 為讓本發明之上述特徵和優點能更明顯易懂,下 舉較佳實關’並配合所_式,作詳細制如下。、 【實施方式】 ^,^性纪憶體儲存系統一般而言包括非揮發性記 通常非揮發性記憶體儲存系 憶體與控制器(控制晶片 統會與主齡統―起使用,崎域彡統可將資料寫入至 16 200915324 a ux \j\j I -\j\j i\f 25083twflcioc/ii 非揮發性έ己憶體儲存系統或從非揮發性記憶體儲存系統中 讀取資料。另外,亦有非揮發性記憶體儲存系統是包括嵌 入式非揮發性記憶體與可執行於主機系統上以實質地作 此嵌入式快閃記憶體之控制器的軟體。 … ' [第一實施例] 圖1Α疋根據本發明第一實施例緣示使用非揮發性 丨 憶體儲存裝置的主機。 ° 请參照圖1A,主機1〇〇 一般包括微處理器1〇2、隨機 存取記憶體(random access memory, RAM) 1〇4、輪入/於 出(input/output,I/O)裝置106、系統匯流排1〇8二及^ 料傳輸介面110。必須瞭解的是,主機1〇〇可更包括其^ 組件,例如顯示器裝置或網路裝置等。 “ 主機100可以是電腦、數位相機、攝影機、通信裝置、 音訊播放器或視訊播放器等系統。一般而言,主可 實質地為可儲存資料的任意系統。 —在本發明實施例中非揮發性記憶體儲存裝置β 過貧料傳輪介面110與主機100的其他元件電性連接疋— 由微處理器1〇2、隨機存取記憶體1〇4與輸入/輪出裂置: til將資料寫人至非揮發性記憶體儲錢置m或從 非揮發性記憶體儲存裝置120中讀取資料。 圖是繪示圖丨八所示非揮發性記憶體儲 細方塊圖。 砰 請參照圖1B’非揮發性記憶體儲存裝置12〇—般包括 17 200915324 ία …二--------- 25083twf.d〇c/n 控制器122與非揮發性記憶體124。 整體=2二,_生記憶體儲存裝置⑽的 包讀取與抹除等。控制器⑵ 咖與非揮發,_體介面咖、微處理單元 o 記憶體管理模組122a用以管理非揮發性記憶 列如執行平均磨損(wearIeve ^ 護對映表(卿pingtable)等。g;方法㈣塊吕理、維 憶體介面咖用以存取非揮發性記憶體 體人“二:⑽欲寫人至的#料會經由非揮發性記憶 體”面U2b轉換為非揮發性記憶體124所能接受的格式。 緩衝記憶體md用以暫時地儲存系統資料(例如對映 表)或者主機所讀取或寫入的資料。在本實施例中,緩衝 記憶體122d為靜態隨機存取記憶體(static random access memory,SRAM)。然而,必須瞭解的是,本發明不限於
此,動態隨機存取記憶體(DRAM)、磁阻式記憶體 (MRAM)、相變化記憶體(pRAM)或其他適合的記憶體亦可 應用於本發明。 祕處理單元122h用以控制控制器122的整體運作。 非揮發性記憶體124用以儲存資料。在本實施中非揮 發性記憶體124為快閃記憶體,更具體來說,非揮發性記 憶體124為多層記憶胞(Multi Level Cell, MLC)反及 (NAND)快閃記憶體。但必須瞭解的是,本發明不限於 此’例如非揮發性記憶體124亦可為單層記憶胞(Single 18 200915324 r or / -\j\j i J 25083twf.doc/n
Level Cell, SLC)反及快閃記憶體。 在本發明另一實施例中,控制器更包括主機傳輪介面 122c、程式記憶體122e、錯誤校正模組122f與電源管理模 組122g (如圖1C所示的122’)。 、
主機傳輸介面122c用以與主機1〇〇通訊,機 面似可以是USB介面、舰E 1394介面、SAT^= PCI Express介面、MS介面、MMC介面、SD介面、CF 介面或IDE介面。 所執行用以控制非 粒式§己體122e用以儲存控制哭 揮發性§己憶體儲存裝置120的程式碼。 錯誤校正模組122f用以計算錯誤校正碼(打⑽ correcting code)來檢查與校正主機所讀取或寫入的資料。 電源管理模組吻用以管理非揮發性記憶 置120的電源。 t衣 非揮發性記憶體m通常實質上分割為多個實體 (PhySiCalb1〇ck) 124_〇至124_N,為方便說明以下將 區塊簡稱為區塊。-般而言,在快閃記憶體中區塊為抹除 之最小單位。亦即’每-轉含有最小數目之—併被抹除 之記憶胞。每-區塊通常會分割域個頁(卩哪)。頁通 常為程式(program)的最小單元,但要特別說明的是 些不同的㈣記憶體賴’最小的程式單位也可為一個屢 區(sector)大小,即—頁巾有多個祕並以—扇區為程=
的最小單元。換言之,W寫人資㈣讀取資料的的最小 單元。每-頁通常包括使用者資料區D與冗餘區R 19 200915324 ^υ-Αυυ,-υυΐϋ 25083twf.doc/n 者資料區用以儲存使用者的資料,而冗餘區用以儲存系統 的資料(例如,上述之ECC code)。 為對應於磁碟驅動器的扇區(sector)大小,—般而 δ,使用者貧料區D通常為512位元組,而冗餘區R通常 為16位元組。也就是,一頁為一個扇區。然而,亦可以多 個扇區形成一頁,例如一頁包括4個扇區。一般而言,區 塊可由任思數目的頁所組成,例如64頁、128頁、256 ^ 〇 等。區塊124-〇至通常會被分組為數個區域(z〇ne)、, 以區域來管理記憶體某種程度上是彼此獨立地操作以增加 操作執行的平行程度且簡化管理的複雜度。 當非揮發性記憶體124的某些區塊被持續地程式(例 如重複地寫入及抹除)時,此些區塊一般而言會較未被持 續地程式的區塊更快磨損。為有效地平均非揮發性記憶體 124内之區塊的磨損,透過本發明所提出的平均磨損方法 可自動地減少使用已被持續程式的區塊而使用未被持續程 式的區塊,由此延長非揮發性記憶體124的壽命。 ^ 以下將根據本發明並配合圖式詳細說明非揮發性記 憶體的運作。必須瞭解的是’在以下描述中使用“提取”、“搬 移”、“交換”等詞來操作快閃記憶體區塊是邏輯上的概念。 • 也就是說’快閃記憶體區塊的實際位置並未更動,而是"邏 輯上對快閃記憶體區塊進行操作。 圖2 A與2 B是繪示非揮發性記憶體〗2 4及其運作的 細方塊圖。 ° 請參照圖2A,在本發明實施例中,為了有效率地程 20 200915324 Γ^Γ^νν/-υυι〇 25083twf.doc/n 式(即寫入與抹除)非揮發性記憶體124,非性 體以的區塊叫至m_N會在邏輯上分組為一系統^、 20^、—貪料區204與一備用區罵。—般來說,非揮發性 •記憶中屬於資料區綱的區塊會佔90%以上,剩下 的才是系統區202與備用區206。 口系統區202中的區塊用以記錄系統資料,系統資料例 如疋,於非揮發性δ己憶體124的區域數、每一區域的區塊 〇 數、每—區塊的頁數、邏輯實體對映表等。 貧料區204中的區塊用以儲存使用者的資料,一般來 說就是主機100所操作之邏輯區塊位址所對應的區塊。 備用區206中的區塊是用以替換資料區204中的區 兔、[^此在備用區206中的區塊為空的區塊,即無記錄資 料或,記為已沒用的無效資料。具體來說,由於若要對已 寫k資料位置再次寫入資料時,必須先執行抹除的動作。 然而’如前所述快閃記憶體寫入單位為頁,而抹除單位為 11塊。—個抹除的單位大於寫人的單位,這表示若要執行 塊抹除動作’賴先將欲抹除區塊巾的有效頁複製至1 它區塊後才可進行。因此,當欲在資料區204中已寫過資 料4置的區塊]VI中寫入新資料時,一般會在備用區206中 提取一^塊C,然後將區塊”中的有效資料複製至區塊匸 f將新資料寫人區塊C後,將區塊M抹除後搬移至備用 區206同時將區塊(:搬#至資料區2〇4。必須瞭解的是, f區,Μ抹除後搬移至備用區2〇6同時將區塊c搬移至 貝料區204 ;!:邏輯上將區塊Μ關聯於備用區2〇6而將區塊 21 200915324 rM"u-zuu/-uuxo 25083twf.doc/n C關聯於資料區204。其中此領域具—般技藝 資料區204中區塊的邏輯關係可由邏輯實體對映表^維 護。 • 在本發明實施例中,為了更有效率地使用非揮發性記 憶體124,區塊124-1至124_N在邏輯上更分為一替換區 208與一暫態區210。 睛參照圖2B ’替換區2G8是用以暫時存放準備替換 Ο :身料區204之區塊的區塊。更詳細而言,當上述備用區206 的區塊C被提取來取代資料區204的區塊M時,在本發 明實施例中會將新資料人至區塊c,但不會立_區塊M 中的有效資料搬移至區塊C而抹除區塊M。此是因為,區 塊Μ中的有效資料有可能在下個操作中變成無效,因此立 刻將區塊Μ中的有效資料搬移至實體區塊c會造成無謂 的搬移。在本發明實施例中,會將寫入新資料的區塊c暫 時地關聯為替換區,並且在邏輯區塊位址與實體區塊位址 的對映上會記錄多個實體區塊位址對應到一個邏輯區塊位 址的情況,也就是區塊Μ與區塊C的内容整合起來才是 所對映邏輯區塊的内容,由此提升區塊的使用效率◎此等 母子區塊(區塊Μ與區塊C )的關係可依據控制器122中 緩衝記憶體122d的大小而定’在本發明實施例中是以五組 來實作。 暫態區210的功能與替換區208類似。如上所述,在 本發明實施例中是使用MLC NAND快閃記憶體。此MLC NAND快閃記憶體1頁中可包括4個扇區,即1頁中有4 22 200915324 ^νν,-ννχ3 25083twf.doc/n 個512 b=s的扇區’共2Kbytes。如上所述,快閃記憶體 在寫入4疋以頁為單位,因此在使用皿爾快閃記 憶體的情況下每次必須程式4個扇區,由此當寫入小量資 ^時會造成資源的浪費。在本發明實施例中,暫態區210 •疋用以暫時存放此類少量資料。具體來說,如上所述當欲 1入替換區2〇8的區塊C的資料為不滿一個頁的小量資料 時,會從備用區206中提取一區塊τ,然後將此小量資料 D 寫入至區塊τ並且將區塊Τ關聯為暫態區21〇。之後,當 後續寫入的資料量足夠寫入一頁時再將此些資料寫入至區 塊c,然後再將區塊τ抹除且從暫態區21〇中搬移至備用 區 206。 值得一提的是,在非揮發性記憶體儲存裝置的運作期 間上述區塊的邏輯對映關係會在缓衝記憶體122d中持續 ,新,並且例如在非揮發性記憶體儲存裝置結束運作或者 每動作一定次數後將此些資訊記錄至系統區202的區塊 〕 中。其中此些邏輯對映關係會以邏輯實體對映表、備用區 ^ 塊表、替換區塊表與暫態區塊表來記錄,此些表格將在以 下配合圖4A-4D來詳細說明。 一般來說,經常會在資料區204與備用區2〇6之間交 換的區塊稱為動態資料區塊。在本發明實施例中,使用替 換區208與暫態區210的設計是為了使動態資料區塊的使 用更有效率。另外,在資料區204中往往有一些資料寫入 後就長時間未曾更動’例如資料區204中有1〇〇首mp3 歌曲為使用者喜愛的音樂,寫入後不曾再去更動。儲存此 23 ^料的區塊稱為靜態資料區塊。靜態資料區塊由於很少 π因此其抹除讀會相對低。在本發明實施中,控制 =22的記憶體管理模組ma會執行平均磨損方法,以有 效地平均區塊124-1至124_贝的磨損。
200915324 25083twf.doc/n a圖3是緣示上述控制器122所執行的平均磨損方法的 〜程圖,翔於程式記憶體區塊時平均地制記憶體區塊 以達到平均磨損的目的。本發明的平均磨損綠包括依據 不同的騎_射_靖條件來㈣題中提取區塊 (乂驟S1310)以及執行耗損調整程序(步驟s出〇)。 以下將配合圖3詳細說明平均磨損方法。 °月參妝圖3,為了平均區塊的磨損,必須記錄非揮發 性記憶體124内區塊124-1至124_N的抹除次數。在步驟 S301中,當初始化非揮發性記憶體儲存裝置12〇時,會建 ^或載入至少一個資料區塊抹除次數表、一備用區塊抹除 次數表、一替換區塊抹除次數表與一暫態區塊抹除次數 表。具體來說,倘若非揮發性記憶體124的系統區2〇2未 儲存此些抹除次數表時則會重新建立,倘若系統區2〇2中 儲存有此些抹除次數表時,則將其載入至控制器122的缓 衝記憶體122d中。 圖4A是根據本發明實施例繪示邏輯實體對映表與資 料區塊抹除次數表的示意圖。圖4B是根據本發明實施例 繪示備用區塊表與備用區塊抹除次數表的示意圖。圖4C 是根據本發明實施例繪示替換區塊表與替換區塊抹除次數 表的示意圖。圖4D是根據本發明實施例繪示暫態區塊表 24 Γ c 200915324 riru-zuuz-uuio 25083twf.doc/n 與暫態區塊抹除次數表的示意圖。
請參照圖4A,邏輯實體對映表401的位置為邏輯區 塊位址(logical block address, LBA ),位址内的值為此LB A 對應到非揮發性記憶體124内部的實體區塊位址(physical block address, PBA) ’也就是資料區204的區塊。基此, 建立一個與邏輯實體對映表相同維度大小的表格,稱為資 料區塊抹除次數表402,此表格是為了記錄所有邏輯實體 對映表内對應的PBA的抹除次數。舉例來說,邏輯實體對 映表401中第3個位址LBA2的值是1〇〇’而資料區塊抹 除次數表402第3個位置的值是50,則表示LBA2對應到 實體區塊100,而實體區塊丨00的抹除次數是5〇。值得一 提的是,如上所述為了管理方便,一般會將非揮發性記憶 體的實體區塊分為數個區域(Zone),因此實際上邏輯實 體對映表會依據區域的數目而建立。例如,將實體區塊分 為8個區域時,則會建立8個邏輯實體對映表。在本發^ 中,亦會根據邏輯實體對映表的數目來建立相同數目^資 料區塊抹除次數表。為了方便說明,在本實施 個區域為例。 、 疋人 在本發明實施中’當主機1〇〇不斷存取邏輯實體對映 區控制器122會即時更新資料區塊抹除 桐咨^ ’並且S在抹除與寫人區塊的忙碌時間内,掃描整 〜广區塊抹除次數表搬並記錄抹除次數最少的區塊。 二如上述,非揮發性記憶體124分割為Ν個區域的情況 ,控制器122會分別記錄則目資料區塊抹除次數表術 25 200915324 Γΰη^-ζυυ/-υυιο 25083twf.doc/n 内的具隶少抹除次數之區塊的抹除次數,再比較從Ν個資 料區塊抹除次數表402中所記錄的每一最小抹除次數,然 後記錄具有最少抹除次數的區塊。 請參照圖4Β,備用區塊表403是記錄關聯於備用區 206的區塊,而備用區塊抹除次數表4〇4則是依據備用區 塊表403來記錄每一備用區2〇6中之區塊的抹除次數。例 如,倘若備用區塊表403的第一個位置記錄ι1〇時,且備 〇 用區塊抹除次數表404的第一個位置記錄55時,表示區塊 110目前屬於備用區206且其抹除次數為55。 .請參照圖4C,替換區塊表405是記錄關聯於替換區 208的區塊,而替換區塊抹除次數表4〇6則是依據替換區 塊表405來記錄每一替換區2〇8中之區塊的抹除次數。例 如,倘若替換區塊表405的第一個位置記錄12〇時,且替 換區塊抹除次數表406的第一個位置記錄6〇時,表示區塊 120目前屬於替換區208且其抹除次數為6〇。 〇 請參照圖4D,類似地,暫態區塊表407是記錄歸屬 於暫態區210的區塊,而暫態區塊抹除次數表4〇8則是依 ,暫態區塊表407來記錄每一暫態區210中之區塊的抹除 次數。例如,倘若暫態區塊表407的第一個位置記錄13于〇 時,且暫態區塊抹除次數表408的第一個位置記錄4〇時, 表示區,130目前屬於暫態區21〇且其抹除次數為4〇。 值得一提的是,在非揮發性記憶體儲存裝置的運作期 間每當抹㈣塊時’則上述抹除次數表會在緩衝記憶體 122d中持縯更新,並且例如在非揮發性記憶體儲存裝置 26 200915324 1 w'-叫 d 25083twf.doc/n 120結束運作或者每動作一定次數後會將此些資訊記錄至 系統區202的區塊中’此備份動作是避免因不正常斷電而 遺失已更新的此些區塊表與抹除次數表。 請再參考圖3 ’在步驟S303中,會在備用區206中區 分一熱區206a’以標記備用區206的區塊之中抹除次數相 對多的一個區塊。具體來說,會依據步驟S3〇1所建立或 載入的備用區塊表與備用區塊抹除次數表來搜尋並記錄抹 〇 除次數相對多的一個區塊。在此,必須瞭解的是所謂相對 多之抹除次數意指在特定數個區塊之中具有最多或較多抹 除次數,例如在備用區的區塊之中較多抹除次數的區塊表 示在備用區中抹除次數多於備用區之區塊的平均抹除次數 的區塊。由於備用區206中的區塊經常會被提取作為替換 區塊,因此標記熱區206a的目的是希望盡可能不要提取備 用區206中抹除次數較多的區塊。值得一提的是,雖然在 本發明實施例中,熱區206a僅標示一個抹除次數較多的一 個區塊,但在本發明另一實施例中,熱區206a可標示多個 抹除次數較多的區塊,例如2個或3個。 當欲從備用區206中提區區塊(即程式記憶體區塊時) 時,在步驟S305中會判斷欲提取的區塊是用於替換區2〇8 或暫態區210。也就是說,在平均磨損方法中,當從備用 區206中提區區塊時會判斷欲提取的區塊是用於一般資料 使用(替換區208)或者是暫時儲存資料使用(暫態區 210)。具體來說,在本發明實施例中會依據所提取的區塊 是用於替換區208或暫態區21〇而有不同的提取判斷條件。 27 200915324 a kjx I - w j. 〇 25083twf.doc/n 倘若在步驟S305中判斷欲提取的區塊是用於替換區 208 8守’貝彳在步驟S307中會按照一順序從備用區206中提 取區塊(以下將此提取用於替換區208的區塊稱為第一區 塊)並且在步驟S309中會判斷是否滿足EC1S(ECH + P1) 條件’其117 EC1表示第一區塊的抹除次數、ECH表示熱區 • 206a中的區塊的抹除次數且P1表示一第一門檻值。特別 是,第一門檻值是根據預期達到的平均磨損效果而決定的 〇 數目,在本實施例中,第一門檻值可以是10〜50的任意數, 其中农佳為20。另外,在本發明另一實施例中,倘若熱區 206a中標示超過一個區塊時,ECH表示是在熱區206a中 任一區塊的抹除次數。 倘若在步驟S309中判斷EC1S(ECH + P1)時,則在步 驟S311中會將第一區塊搬移至替換區208。具體來說,在 步驟S311中所謂的搬移會產生第一區塊與替換區2〇8的 關聯同時取消第一區塊與備用區206的關聯。倘若在步驟 〇 S309中判斷EC1>(ECH + P1)時,則在步驟S313中會以 熱區206a的區塊作為搬移至替換區208的區塊以取代第一 - 區塊。具體來說,在步驟S313中會產生熱區206a中的區 塊與替換區208的關聯同時取消熱區中的區塊與備用區 2〇6的關聯並且之後將第一區塊標記為熱區2〇如的區塊。 __另外,在本發明另一實施例中,倘若熱區206a中標 示超過—個區塊時,則會以熱區206a中任一區塊來與第一 區塊進行交換。 倘若在步驟S305中判斷所提取的區塊是用於暫態區 28 200915324 x - —w,-ν,ν,,β 25083twf.doc/n 210時,則在步驟S315中會選擇在備用區2〇6的區塊之中 抹除次數相對少的區塊(以下將此提取用於暫態區210的 區塊稱為第二區塊)來搬移至暫態區210。也就是,取消 • 第二區塊•與備用區206的關聯同時產生第二區塊與暫態區 210的關聯。在此,必須瞭解的是所謂相對少之抹除次數 思才曰在特定數個區塊之中具有最少或較少抹除次數,例如 在備用區的區塊之中較少抹除次數的區塊表示在備用區中 抹除_人數少於備用區之區塊的平均抹除次數的區塊。 在平均磨損方法中除上述依據不同的用途從備用區 中提取區塊之外更包括啟動與執行耗損調整程序(步驟 S1320)。在本實施例中,會以熱區的抹除次數比對一特 疋值為計數的判斷條件。具體來說,每當從備用區2〇6中 提取區塊之後’判斷是否滿足ECH> (ECL + eCs)/2+P2條 件(步驟S317)。其中ECL與ECS分別表示資料區2〇4^ 備用區206、替換區208與暫態區210中的所有區塊中最 大抹除次數與最小抹除次數,但依據不同的設計需要,也 U 可只選其中特定的資料區或區塊來定義最大與最小抹除次 數ECL及ESC,且P2表示-第二門檻值。在本發明實施 例中,第二門檻值是根據預期達到的平均磨損效果而決定 的數目,在本實施例中第二門檻值是要使(ECL + ECS)/2+P2所計算出的值比ECL與ECS的平均大但比ecl 小的任意正數。倘若在步驟S317中判斷滿足ech>(ecl + ECS)/2+P2時’則在步驟S319中會將一計數值加j累計 於緩衝記憶體122d中。 ’、 29 200915324 rorj^-z.uu/-wi〇 25083twf.doc/n 在本發明另一實施例中,增加計數值的條件亦可是在 執行寫人或抹除時將將此計數值加丨累計於緩衝記 122d中(未繪示)。 心@
在步驟S321中,會判斷計數值是否大於一第三門卢 值。其中第三Η檻值是__達到的平均磨損效果而二 定的數目。在本實施例中,第三服值可以是任意正數, 其中本只把例中第二門捏值為10。倘若在步驟中判 辦计數值疋大於第二門檻值時,則在步驟幻23中合在資 料區204之中選擇具有抹除次數相對少的區塊(以;稱為 第二區塊)來與熱區206a的區塊交換並且重置計數值(例 如重置為0)。也就疋’產生熱區2〇6a中的區塊與資料區 綱的_同時取消熱區2嶋中的區塊與備用區施的關 耳Ϊι’並且產生第三區塊與備用區206的關聯且將第三區塊 標記為熱區206a的區塊同時取消第三區塊與資料區2〇4 的關聯(即耗損調整程序)。 另外,在熱區206a具有多個區塊的另一實施例中, 則第三區塊會與熱區施中任—或具相對多抹除次數 區塊交換。 在本發明另一實施例中,在步驟S323中更包括倘若 資料區204的區塊之中具有多個具最少抹除次數的區= 時,則會選擇具有對應最大LBA的區塊作為第三區塊。 在本發明另一實施例中,在步驟S323中更包括倘若 資料區204的區塊之中具有多個具最少抹除次數的區塊 時’則會選擇具有對應最小LBA或任意隨機LBA的區塊 30 200915324 r〇r〇-^〇,-wio 25083twf.doc/n 作為第三區塊。 值得一提的是,在本發明另一實施例中,步驟S323 的執行是由控制器122執行主機1〇〇正常的寫入指令來完 成。具體來說,在本實施例中,當執行步驟S323時,控 制器122會執行寫入指令,而欲寫入的資料為空集合,由 此執行上述產生母子區塊的方式的一般寫入指令來替換熱 區206a的區塊與第三區塊。 广、.
[第二實施例] 本發明第二實施例的硬體架構、非揮發性記憶體運作 以及區塊抹除次數的記錄是相同於第一實施例(如圖 1A〜IB、2A〜2B、4A〜4D),因此在此不再重複說明。第 二實施例與第一實施例所不同的之處在於第二實施例在平 均磨損方法中僅對用於替換區的區塊提取設定規則。 圖5是根據在本發明第二實施例繪示平均磨損的流程 f 圖。請參照圖5 ’圖5所示的流程圖與圖3所示的流程圖 D 其不同之處在於圖5的步驟sl31〇,僅對於用於替換區2〇8 的區塊提取設定提取規則。在第二實施例用於替換區2〇8 的區塊的提取規則與其他執行耗損調整的步驟是相同於圖 3,在此不再重複說明。 [第三實施例] 本發明第三實施例的硬體架構、非揮發性記憶體運作 以及區塊抹除次數的記錄是相同於第一實施例(如圖 31 200915324 /-υυ i δ 250S3twf.doc/n 1A〜m 4A〜4D) ’因此在此不再重複說明。第 三實施例與第一實施例所不同的之處在於第二實施例在平 均磨損方法中僅對用於暫態區的區塊提取設定規則。 圖6是根據在本發明第三實施例繪示平均磨損的流程 圖。請參照圖6,圖6所示的流程圖與圖3所示的流程圖 其不同之處在於圖6的步驟S1310,,僅對於用於暫態區21〇 的區塊提取設定提取規則。在第三實施例用於暫態區21〇 的區塊的提取規則與其他執行耗損調整的步驟是相同於圖 3,在此不再重複說明。 [第四實施例] 本發明第四實施例的硬體架構、非揮發性記憶體運作 以及區塊抹除次數的記錄是相同於第一實施例(如圖 1A〜IB、2A〜2B、4A〜4D) ’因此在此不再重複說明。第 四實施例與第-實施例所不同把處在於第四實施例在平 均磨損方法中簡化啟動調整耗損程序的步驟。 圖7是根據在本發明第四實施例繪示平均磨損的流程 圖。請參照圖7’ ® 6所示的流程圖與圖3所示的流程圖 其不同之處在於在圖7中將原本圖3的步驟S317_S323合 併簡化為步驟迎〇,,除此之外其他步驟相同於圖3,在 此不再重複綱。步驟S132Q,包括躺是否滿足ECH> (ECL + ECS)/2+P2’條件(圖7的步驟S317,)以及偏若 >(ECL + ECS)/2+P21啟動與執行上述耗損調整程序(圖 7的步驟S323,)。其中P2,表示—第四服值。在本發明 32 200915324 ΓΛΓΐ-/-ζυυ/-υυιοί 25083twf.d〇c/n 中 數目 ,第四門錄是根據獅相的平補損效果而決定的 a值得一提的是上述圖3、圖5、_圖7的實施例 皆疋以特疋條件下啟動與執行耗損調整程序。㊈而 中亦可以隨機方式啟動與執行耗損調整程 Ο
在根據本發_提k平均磨損方法是勒於 發性記憶體’目此本發明所提㈣平均賴方法可應 種以非揮躲記憶體作讀存舰的裝置。例如 的USB快閃碟802、數位相機(攝影機)8〇4所 厅: 卡8〇4a、MMC卡祕、CF卡8〇4c與記憶棒(啊町姐 讓以及固態硬碟8G6 #。尤其是固態硬碟_ 的平均磨财法。 、”不上所述本發明所提出用於非揮發性記憶體的平 磨損方法可有效地平均記憶體_塊的磨損,由此延長記 =體的壽命。再者’本發日⑽提出的平均蘭方法的總抹 除次數與傳財法_抹除讀差料大並不會增加造成 額外抹除貞擔,然而本發明的方紐傳統方法更可以平均 記憶體區塊的抹除次數。 —雖然本發明已以較佳實關揭露如上,然其並非用以 、本lx月任何所屬技術領域中具有通常知識者,在不 脫離本發明之精朴範圍内,當可作些許之更動與潤都, ^此本發明之保魏圍當視制之申料職圍所界定者 33 200915324 r^ru-zi7u/-uuA〇 25083twf.doc/n 【圖式簡單說明】 圖1A疋根據本發明第一實施例繪示使用非揮發性記 憶體儲存裝置的主機。 Χ 圖1Β是繪示圖ία所示非揮發性記憶體儲存裝置的詳 細方塊圖。 圖1C是根據本發明另一實施例繪示控制器的方塊 圖。 圖2Α與2Β是根據本發明第一實施例繪示非揮發性記 憶體124及其運作的詳細方塊圖。 圖3疋根據本發明第一實施例緣示平均磨損方法的流 程圖。 圖4Α是根據本發明第一實施例繪示邏輯實體對映表 與資料區塊抹除次數表的示意圖。 圖4Β是根據本發明第一實施例繪示備用區塊表與備 用區塊抹除次數表的示意圖。 圖4C是根據本發明第一實施例繪示替換區塊表與替 換區塊抹除次數表的示意圖。 圖4D是根據本發明第一實施例繪示暫態區塊表與暫 態區塊抹除次數表的示意圖。 圖5是根據本發明第二實施例緣示平均磨損方法的流 程圖。 圖6是根據本發明第三實施例繪示平均磨損方法的流 程圖。 圖7是根據本發明第四實施例繪示平均磨損方法的流 34 200915324 r arxj-ζυυ / -υυ j o 25083twf.doc/n 程圖。 圖8是繪示本發明實施例之平均磨損方法可應用之裝 置的示意圖。 【主要元件符號說明】 100 :主機 102 :微處理器 104 :隨機存取記憶體 106 :輸入/輸出裝置 108 :系統匯流排 110 :資料傳輸介面 120 :非揮發性記憶體儲存裝置 122 :控制器 122a :記憶體管理模組 122b :非揮發性記憶體介面 122c :主機傳輸介面 122d :緩衝記憶體 122e :程式記憶體 122f :錯誤校正模組 122g :電源管理模組 122h :微處理單元 124 :非揮發性記憶體 124-0、124-1、124-2、124-N :區塊 202 :系統區 204 ··資料區 35 200915324 PSPD-2007-0018 25083twf.doc/n 206 :備用區 208 :替換區 210 :暫態區 Μ、C、T :區塊 S1310、S1310’、S1310,,、S1320、S1320,:步驟 S301、S303、S305、S307、S309、S3H、S313、S315、 S317、S319、S321、S323、S317,、S323,:步驟 401 :邏輯實體對映表 402 .資料區塊抹除次數表 403 :備用區塊表 404 .備用區塊抹除次數表 405 .替換區塊表 406 :替換區塊抹除次數表 407 :暫態區塊表 408 .暫怨區塊抹除次數表 802 : USB快閃碟 804 :數位相機 804a : SD 卡 804b : MMC 卡 804c : CF 卡 804d :記憶棒 806 :固態硬碟 36
Claims (1)
- 200915324 PSPD-2007-〇〇]S 25083twf.doc/n 十、申請專利範圍: L一種用於非揮發性記憶體的平均磨損方法,其中該 揮發性§己憶體實質上分割為多個區塊且該些區塊至少分組 為-資料區、一備用區、一替換區與一暫態區,該平:廢 才貝方法包括: a. 當從該備用區中提取該些區塊時,依據不同的用 來提取該些區塊;以及 、 b. 執行一耗損調整程序。 2. 如申請專利範圍第1項所述之用於非揮發性記憶體 的平均磨損方法’其中步驟a包括: ^ 在該備用區中區分一熱區,以標記在該備用區的區塊 之中抹除次數相對多的至少一個區塊;以及 當從該備用區中提取用於該替換區的一第—區壤 時,倘若該第一區塊的抹除次數^該熱區的區塊的抹除次 數加該第一門檻值時搬移該第一區塊至該替換區,倘若^ 第一區塊的抹除次數〉該熱區的區塊的抹除次數加該第一 門棱值時搬移該熱區中的區塊的其中之一至該替換區並且 將該第一區塊標記為該熱區的區塊。 3. 如申請專利範圍第2項所述之用於非揮發性記惊體 的平均磨損方法,其中步驟a更包括: 從该備用區k取用於該暫態區的一第二區塊,甘中今· 卓一區逸是該備用區之中具有相對少抹除次數的區塊。 4. 如申請專利範圍第1項所述之用於非揮發性記憶體 的平均磨損方法,其中該耗損調整程序包括將該熱區^該 37 200915324 rsru-zw/-wi6 25083twf.doc/n 至少一個區塊的其中之一搬移至該資料區,同時將該資料 區的-第三區塊搬移至該制區且將該第三區塊標記為該 熱區的區塊,其中該第三區塊是在該資料區之中具有相對 少抹除次數的區塊。 ~ 5·如申請專娜圍第1項職之用於非揮發性記憶體 的平均磨損方法,更包括··當該熱區的區塊的抹除次數>該些區塊 之中最大抹除次數與最小抹除次數的中間值二 值時則將-計數值加1; Μ 當該計數值大於-第三門播值時,則執行步驟b並且 重置該計數值。 的平項所述之用於非揮發性_ 及 當執行一寫入或抹除指令時,則將—計數值加 以虽該計數值大於 门板值時,則執行步驟 重置該計數值。 二如申請專娜圍第i項所述之用於_發性記憶體 的平均磨損方法,更包括: ,該熱區的㈣的抹除次數〉該些區塊的抹除次數 中取大抹除次數與最小抹除次數的巾隨加—第四 值時則執行步驟b。 m 的平糊第1韻紅麟鱗發性記憶體 的干均磨彳貝方法,更包括: 38 200915324 ^ί>^υ-2υυ/-υυΐ8 25083twf.doc/n 以一隨機方式執行步驟b。 9. 如申請專利範圍第丨項所述之用於非揮發性記憶體 的平均磨損方法,更包括建立對應該資料區的至少一個區 域的至少一個資料區塊抹除次數表、一備用區塊抹除次數 表、一替換區塊抹除次數表與一暫態區塊抹除次數表,其 勺別用以s己錄該資料區、該備用區、該替換區與該暫態區 的區塊的抹除次數。 10. 如申請專利範圍第9項所述之用於非揮發性記憶 體的平均磨損方法,其中建立該至少一個資料區塊抹除次 數表是以對應一邏輯實體對映表來建立,其中該至少一個 資料區塊抹除次數表是對應該邏輯實體對映表來分別地記 錄該資料區的區塊的抹除次數。 11·如申請專利範圍第9項所述之用於非揮發性記憶 體的平均磨損方法,更包括將該至少—個資料區塊抹除^ 數表:該 11塊抹除:欠數表、鱗換區塊抹除次數表與 該暫態區塊抹除次數表儲存在將該些區塊更分組的一系統 區。 12. 如申請專利範圍第丨項所述之用於非揮發性記憶 體的平均磨損方法’其中更包括執行―主機端正常的寫入 指令來完成步驟b。 13. 如申明專利範圍第1項所述之用於非揮發性記憶 體的平均磨損方法,其中該非揮發性記憶體為一 (Single Level Cell)或 MLC (Μ_ Uvd cdi)反及 (NAND)快閃記憶體。 39 200915324 PSPD-2007^0018 25083twf.doc/n M·如申請專職圍第9韻述之用 體的平均磨損方法,更包括當抹除或寫人 發^ ^ 抹除區塊的抹除次數。 曰加所 15. 如申請專職圍第9項所述之用 體的平均磨損方法,更包括當抹除或“區__掃= =少-«髓塊抹除键表並且記錄抹除次數最寺=田 區塊。 ^ 16. 如中料職㈣9項所述之麟 磨損方法,更包括每當更動該備用區的 :貝麻塊抹除次數表、該備用區塊抹除次數 J其t區塊抹除次數表與該暫態區塊抹除次數表的至 17. -種控制器,其適用於—儲存|置,該儲存裝置的 =揮發性記鐘實質上分割衫個區塊並 少分組為-資料區、一備用區、一替換 :鬼 O 控制器包括: 、l,、a 、非揮發性記㈣介面,用畴取該轉發性記憶 騷’以及 由姑Γ~§己憶?管理模組,用以管理該非揮發性記憶體,其 “己丨’5體g理模组會執行―平均磨損方法,該平均磨損 方法包括: 、 a. §從該備用區中提取該些區塊時,依據不同的 用途來提取該些區塊;以及 b. 執行一耗損調整程序。 200915324 /-υυι8 25083twf.doc/n 18. 如申請專利範圍第17項所述之控制器,其中該 均磨損方法的步驟a包括: 在該備用區中區分一熱區,以標記在該備用區的區 之中抹除次數相對多的至少一個區塊;以及 °° 當從該備用區中提取用於該替換區的—第一區塊 時,倘若該第一區塊的抹除次數$該熱區的區塊的抹除次 數加該第一門播值時搬移該第一區塊至該替換區,倘 第一區塊的抹除次數>該熱區的區塊的抹除次數加該第」 門播值時搬移該熱區中的區塊的其中之一至該替換區並且 將該第一區塊標記為該熱區的區塊。 19. 如申請專利範圍第μ項所述之控制器,其中該平 均磨損方法的步驟a更包括: 從該備用區提取用於該暫態區的一第二區塊,其中該 第二區塊是該備用區之中具有相對少抹除次數的區塊。 20. 如申請專利範圍第17項所述之控制器,其中該耗 損調整程序包括將該熱區中該至少一個區塊的其中之一搬 私至為資料區,同時將該資料區的一第三區塊搬移至該備 用區且將§亥第三區塊標記為該熱區的區塊,其中該第三區 塊是在該資料區之中具有相對少抹除次數的區塊。 21. 如申請專利範圍第17項所述之控制器,其中該平 均磨損方法更包括: 當該熱區的區塊的抹除次數>該些區塊的抹除次數 之中最大抹除次數與最小抹除次數的中間值加一第二門檻 值時則將一計數值加1 ;以及 41 200915324 ι^^υ-ζυυ/-υυΐδ 25083twf.doc/n 會晉值大於—第三門刪’則執行师並且 重置該計數值。 22. 如申請專利範圍第17項所述之 均磨損方法更包括: 甲这十 當執行-寫入或抹除指令時,則將—計數值加!;以 及 Ο c J 田。亥》十數值大於帛二門檻值時,則執行步驟b並且 重置該計數值。 23. 如申明專利範圍第17項所述之控制器,該 均磨損方法更包括: 〃 $該熱區的區塊的抹除次數〉婦區塊的抹除次數 :最大鎌讀與最小嫌:錄的巾間值加—第四門植 值吩則執行步驟b。 24. 如申δ月專利範圍第17項所述之控制器,其中該 均磨損方法更包括: 〃 以一隨機方式執行步驟b。 沾a 25.如申叫專利範圍第17項所述之控制器,其中該平 7 4 貝方法更包括建立對應該資料區的 ^個資料輯抹除次數表、—備㈣塊抹除次數ί 、&塊抹除次數表與—暫祕塊抹除次數表,其分別用 料區、該備用區、該替換區與該暫態區的區塊 6.如申明專利範圍帛25項所述之控制器,其中建立 5 ^個資料d塊抹除:欠數表是以對應—邏輯實體對映 42 200915324 ^ , *3 25083twf.doc/n 表來建立,其中該至少一個資料區塊抹除次數表是對應該 邏輯實體對映表來分別地記錄該㈣區的區塊的抹除次 數。 27.如申晴專利範圍第25項所述之控制器,其中該平 .均磨損方法更包括將該至少-個資料區塊抹除次數表、該 備用區塊抹除次數表、該替換區塊抹除次數表與該暫態區 塊抹除次數表儲存在將該些區塊更分組的一系統區。 〇 28.如申請專利範圍第17項所述之控制器,其中該平 均磨損方法更包括執行一主機端正常的寫入指令來完成步 驟b 〇 29. 如申請專利範圍第17項所述之控制器,其中該非 揮發性記憶體為一SLC (Single Level Cell)或 MLC (Multi Level Cell)反及(NAND)快間記憶體。 30. 如申請專利範圍第26項所述之控制器,該平均磨 損方法更包括當抹除或寫入區塊時,增加所抹除區塊的抹 除次數。 { j J 31.如申請專利範圍第25項所述之控制器,其中該平 均磨4貝方法更包括當抹除或寫入區塊的同時掃描該至少一 個資料區塊抹除次數表並且記錄抹除次數最少的區塊。 ' 32.如申請專利範圍第25項所述之控制器,其中該平 均磨損方法更包括每當更動該備用區的區塊時更新該至少 一個資料區塊抹除次數表、該備用區塊抹除次數表、該替 換£塊抹除次數表與該暫態區塊抹除次數表的至少其中之 43 200915324 -..i 25083twf.doc/n 33, 一種用於非揮發性記憶體的平均磨損方法,其中非 該揮發性記憶體實質上分割為多個區塊且該些區塊至少分 組為一資料區、一備用區與一替換區,該平均磨損方法【 括: 、匕 a. 在該備用區中區分一熱區,以標記在該備用區的區 塊之中抹除次數相對多的至少一個區塊; b. 從該備用區中提取用於該替換區的一第一區境時, 以該熱區的區塊的抹除次數加一第一門檻值為提取的— 斷條件;以及 c. 執行一耗損調整程序。 34. 如申請專利範圍第33項所述之用於非揮發性記儕 體的平均磨損方法,其中該判斷條件包括: 口心 O 倘若該第-區塊的抹除錢^該熱區的區塊的抹除 次數加該第―門檻值時搬移—區塊至該替換區,倘若 該第》區塊的抹除次數〉該熱區的區塊的抹除次數加該第 一門播值時搬移該無中的區塊的其中之— 且將該第-d塊標記為絲區_塊。 T、並 辦二5:„:月專利^圍第33項所述之用於非揮生記憶 兮其中她損調整程序包括將該熱區中 塊的其中之一搬移至該資料區,同時將該資 區塊搬移至該備腿且將該第三區塊標記為 其中該第三區塊是在該資料區之中具有相 對少抹除次數的區塊。 T/、W曰 .如申明專利_第33項所述之用於非揮發性記憶 44 200915324 25083twf.doc/n 體的平均磨損方法,更包括: 當該熱區的區塊的抹除次數>該些區塊的抹除次數 之中最大抹除次數與最小抹除次數的中間值加—當_ 值時則將一計數值加1;以及 f門播 當該計數值大於-第三門植值時,則執行步驟c並且 重置該計數值。 〇 ㈣Π申請糊範圍第33項所述之用於_發性記憶 體的平均磨損方法,更包括: 當執行-寫入或抹除指令時,則將—計數值加1;以 及 重置m值切健時,職行步I並且 體的鄕^33顧叙祕轉發性記憶 o 值時則執行步驟〇。 ϋ第四門捏 39.如申請專利範圍第幻 體的平均麵方法,更包括·· &之用於非揮發性記憶 以一隨機方式執行步驟c。 4〇·如申請專利範圍第% 體的平均磨損枝,更包非揮發性記憶 區域的至少—個資料 應5亥資料區的至少—個 45 200915324 B 25083twf.doc/n 跑、竣彳有用lik興孩朁換區的區塊抹除次數。 41_如申請專利範圍第33項所述之用於非揮發性記憶 體的平均磨損方法,其中更包括執行—主機端正常的寫入 指令來完成步驟c。 42.如申吻專利範圍第33項所述之用於非揮發性記憶 體的平均磨損方法’其巾該非揮發性記憶體為[咖 (Singie Level Cell)或 ΜΙχ (Μ_ ωι)反及 o (NAND)快閃記憶體。 43·如申請專利範圍第4〇項所述之用於 = =法’更包括#抹除或寫人區塊的同時触 = >個貧料區塊抹除次數表並且記錄抹除次數最少的 區塊。 一 ι=Γ.Γ健制器’其適用於—儲麵置,該儲存裝置的 實2分割為多個區塊並且該些區塊至 一 用以存取該非揮發性記憶體; -緩衝錢體,用以暫時地错存資料. -微處理單元,㈣控_蝴 一記憶體管理频,㈣f =作’以及 中該記㈣管贿該鱗發性記憶體,其 ==e理她會執行—平均磨損方法,該平均磨損 a.在該備用區中八也广 的區塊之t抹除次以標記在該備用區 b料供田「對的至少—個區塊; 亥備用區中提取用於該_區的H 46 200915324 -——— —3 25083t\vf.(J〇c/jj 塊時’以該熱區的區塊的抹除次數加一第一門檻值為 提取的一判斷條件;以及 C.執行一耗損調整程序。 45.如申請專利範圍第44項所述之控制器,其中該判 ' 斷條件包括: 倘若該第一區塊的抹除次數^該熱區的區塊的抹除 次數加該第一門檻值時搬移該第一區塊至該替換區,倘若 〇 該第一區塊的抹除次數〉該熱區的區塊的抹除次數加該第 一門摇值時搬移該熱區中的區塊的其中之一至該替換區並 且將該第一區塊標記為該熱區的區塊。 46·如申請專利範圍第44項所述之控制器,其中該耗 損調整程序包括將該熱區中該至少一個區塊的其中之一搬 移至該資料區,同時將該資料區的一第三區塊搬移至該備 用區且將該第三區塊標記為該熱區的區塊,其中該第三區 塊是在該資料區之中具有相對少抹除次數的區塊。 Q 47·如申請專利範圍第44項所述之控制器,其中該平 ’ 均磨損方法更包括: 當該熱區的區塊的抹除次數>該些區塊的抹除次數 之中最大抹除次數與最小抹除次數的中間值加一第二門檻 、 值時則將一計數值加1;以及 當該计數值大於一第三門權值時,則執行步驟c並且 重置該計數值。 48.如申請專利範圍第44項所述之控制器,其中該平 均磨損方法更包括: ~ 47200915324 _.j 25083twf.doc/n 當執行一寫入或抹除指令時,則將一計數值加丨;以 及 當該計數值大於一第三門檻值時,則執行步驟c並且 重置該叶數值。 49.如申請專利範圍第44項所述之控制器,其中該平 均磨損方法更包括: 、 當該熱區的區塊的抹除次數 > 該些區塊的抹除次數 之中最大抹除次數與最小抹除次數的中間值加一第四門檻 值時則執行步驟c。 50·如申請專利範圍第44項所述之控制器,其中該平 均磨損方法更包括: 以一隨機方式執行步驟e。 51. 如申請專利範圍第44項所述之控制器,其中該平 均磨損方法更包括建立對應該資料區的至少—個區域的至 少一個資料區塊抹除次數表、一備用區塊抹除次數表與一 替換區塊抹除次數表,其分別用以記錄該資料區、該備用 區與該替換區的區塊抹除次數。 52. 如申請專利範圍第44項所述之控制器,其中該平 均磨損方法更包括執行一主機端正常的寫入指令來完成步 驟c。 53. 如申請專利範圍第44項所述之控制器,其中該非 揮發性記憶體為一 SLC (Single Level Cell)或 MLC (Multi Level Cell)反及(NAND)快閃記憶體。 54. 如申請專利範圍第51項所述之控制器,其中平均 48 200915324 8 25083twf.doc/n f知方法更包括當抹除或寫入區塊的同時掃描該至少一個 資料區塊抹除次數表並且記錄抹除次數最少的區塊。 ^ 5 5. —種用於非揮發性記憶體的平均磨損方法,其中非 .該揮發性記憶體實質上分割為多個區塊且該些區塊至少分 組為一資料區、一備用區與一替換區,該平均磨損方法【 括: a. 在該備用區中區分—熱區,以標記在該備用區的區 f) 塊之中抹除次數相對多的至少一個區塊; b. 從該備用區中提取用於該替換區的一第一區塊; c. 以該熱區的抹除次數比對一特定值為計數的一 條件;以及 d. 當該計數值大於—第三服值時,執行—耗損 程序。 56.如申請專利範圍第55項所述之用於非揮發性記憶 體的平均磨損方法,其中該判斷條件包括: -s 當該熱區的區塊的抹除次數>該特定值加一第二門 ^ 檀值時則將一計數值加1。 57·如申5月專利範圍第55項所述之用於 •體的平均磨損方法,其中該特定值為該些區塊的抹除次^ • 之中最大抹除次數與最小抹除次數的中間值。 58.如申吻專利範圍弟y項所述之用於非揮發性 體的平均磨財法,射__錄柯括將該熱區;: 該至少-個區塊的其中之一搬移至該資料區,同時將該資 料區的-第三區塊搬移至該傷用區且將該第三區塊標記為 49 200915324 3 25083twf.doc/n 該熱區的區塊,其中該第三區塊是在該資料區之中具有相 對少抹除次數的區塊。 ~ 59.如申請專利範圍第55項所述之用於非揮發性記憶 體的平均磨損方法,其中該平均磨損方法更包括建立對應 該資料區的至少一個區域的至少一個資料區塊抹除次數 • 表、一備用區塊抹除次數表、一替換區塊抹除次數表與一 暫態區塊抹除次數表,其分別用以記錄該資料區、該備用 區、該替換區與該暫態區的區塊的抹除次數。 60·如申請專利範圍第55項所述之用於非揮發性記憶 體的平均磨損方法,其中更包括執行一主機端正常的寫入 指令來完成該耗損調整程序。 61.如申請專利範圍第55項所述之用於非揮發性記憶 體的平均磨損方法,其巾該非揮發性記鐘為為一 SLC (Single Level Cell)或 MLC (Multi Level Cell)反及 (NAND)快閃記憶體。 50
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096135924A TWI366828B (en) | 2007-09-27 | 2007-09-27 | Wear leveling method and controller using the same |
US12/021,885 US8046526B2 (en) | 2007-09-27 | 2008-01-29 | Wear leveling method and controller using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096135924A TWI366828B (en) | 2007-09-27 | 2007-09-27 | Wear leveling method and controller using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200915324A true TW200915324A (en) | 2009-04-01 |
TWI366828B TWI366828B (en) | 2012-06-21 |
Family
ID=40509671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096135924A TWI366828B (en) | 2007-09-27 | 2007-09-27 | Wear leveling method and controller using the same |
Country Status (2)
Country | Link |
---|---|
US (1) | US8046526B2 (zh) |
TW (1) | TWI366828B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI416525B (zh) * | 2009-12-15 | 2013-11-21 | Asolid Technology Co Ltd | 非揮發性記憶體裝置及其損耗平均方法 |
CN103946819A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于非易失性***存储器的统计耗损均衡 |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
TWI454916B (zh) * | 2012-05-08 | 2014-10-01 | Phison Electronics Corp | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 |
Families Citing this family (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
WO2008070813A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
TWI373772B (en) * | 2007-10-04 | 2012-10-01 | Phison Electronics Corp | Wear leveling method and controller using the same |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US7925822B2 (en) * | 2008-01-31 | 2011-04-12 | Sandisk Il Ltd | Erase count recovery |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
TWI382422B (zh) * | 2008-07-11 | 2013-01-11 | Genesys Logic Inc | 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法 |
US8001318B1 (en) * | 2008-10-28 | 2011-08-16 | Netapp, Inc. | Wear leveling for low-wear areas of low-latency random read memory |
US8700840B2 (en) * | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
KR101586047B1 (ko) * | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US20110035540A1 (en) * | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US8601202B1 (en) * | 2009-08-26 | 2013-12-03 | Micron Technology, Inc. | Full chip wear leveling in memory device |
WO2011031796A2 (en) * | 2009-09-08 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for caching data on a solid-state storage device |
EP2476079A4 (en) | 2009-09-09 | 2013-07-03 | Fusion Io Inc | APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
KR101097438B1 (ko) * | 2009-10-29 | 2011-12-23 | 주식회사 하이닉스반도체 | 웨어 레벨링을 유동적으로 제어하는 반도체 스토리지 시스템 및 그 제어 방법 |
US8285946B2 (en) | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
US8713066B1 (en) | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
US8621141B2 (en) * | 2010-04-01 | 2013-12-31 | Intel Corporations | Method and system for wear leveling in a solid state drive |
TWI455131B (zh) * | 2010-04-16 | 2014-10-01 | Silicon Motion Inc | 記憶體之資料寫入方法及資料儲存裝置 |
TWI475564B (zh) * | 2010-04-21 | 2015-03-01 | Silicon Motion Inc | 記憶體之資料寫入方法及資料儲存裝置 |
KR101131560B1 (ko) * | 2010-07-15 | 2012-04-04 | 주식회사 하이닉스반도체 | 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
US8909851B2 (en) | 2011-02-08 | 2014-12-09 | SMART Storage Systems, Inc. | Storage control system with change logging mechanism and method of operation thereof |
US20120203993A1 (en) * | 2011-02-08 | 2012-08-09 | SMART Storage Systems, Inc. | Memory system with tiered queuing and method of operation thereof |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8966191B2 (en) | 2011-03-18 | 2015-02-24 | Fusion-Io, Inc. | Logical interface for contextual storage |
US8935466B2 (en) | 2011-03-28 | 2015-01-13 | SMART Storage Systems, Inc. | Data storage system with non-volatile memory and method of operation thereof |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US9021231B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
WO2013066357A1 (en) * | 2011-11-04 | 2013-05-10 | Intel Corporation | Nonvolatile memory wear management |
KR20130060791A (ko) * | 2011-11-30 | 2013-06-10 | 삼성전자주식회사 | 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브 |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US8782344B2 (en) | 2012-01-12 | 2014-07-15 | Fusion-Io, Inc. | Systems and methods for managing cache admission |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
US9298252B2 (en) | 2012-04-17 | 2016-03-29 | SMART Storage Systems, Inc. | Storage control system with power down mechanism and method of operation thereof |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
US8949689B2 (en) | 2012-06-11 | 2015-02-03 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
JP6003610B2 (ja) * | 2012-12-17 | 2016-10-05 | 日本電気株式会社 | 情報処理装置 |
US9547586B2 (en) * | 2013-01-03 | 2017-01-17 | Macronix International Co., Ltd. | Metadata containers with indirect pointers |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9470720B2 (en) | 2013-03-08 | 2016-10-18 | Sandisk Technologies Llc | Test system with localized heating and method of manufacture thereof |
US9575844B2 (en) * | 2013-03-15 | 2017-02-21 | Skyera, Llc | Mass storage device and method of operating the same to back up data stored in volatile memory |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9015409B2 (en) * | 2013-03-15 | 2015-04-21 | Advanced Digital Broadcast Sa | Apparatus and methods for prolonging service life of solid-state memory device in a digital video recorder |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10417123B1 (en) | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
TWI470431B (zh) * | 2013-06-14 | 2015-01-21 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction and method of manufacture thereof |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
TWI501244B (zh) * | 2013-12-26 | 2015-09-21 | Phison Electronics Corp | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI548991B (zh) * | 2014-02-14 | 2016-09-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10152408B2 (en) * | 2014-02-19 | 2018-12-11 | Rambus Inc. | Memory system with activate-leveling method |
US9336136B2 (en) | 2014-10-08 | 2016-05-10 | HGST Netherlands B.V. | Apparatus, systems, and methods for providing wear leveling in solid state devices |
US9606733B2 (en) * | 2014-11-10 | 2017-03-28 | Silicon Motion, Inc. | Data storage device and operating method |
WO2016095103A1 (zh) | 2014-12-16 | 2016-06-23 | 华为技术有限公司 | 存储空间管理方法及装置 |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10007432B2 (en) * | 2015-10-13 | 2018-06-26 | Dell Products, L.P. | System and method for replacing storage devices |
US9830098B1 (en) * | 2016-07-11 | 2017-11-28 | Silicon Motion, Inc. | Method of wear leveling for data storage device |
KR102500618B1 (ko) * | 2017-12-12 | 2023-02-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102534648B1 (ko) * | 2018-03-08 | 2023-05-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10908823B2 (en) * | 2018-10-12 | 2021-02-02 | Micron Technology, Inc. | Data transfer for wear leveling with bank clusters |
US11481119B2 (en) * | 2019-07-15 | 2022-10-25 | Micron Technology, Inc. | Limiting hot-cold swap wear leveling |
US11450394B2 (en) * | 2019-09-11 | 2022-09-20 | SK Hynix Inc. | Controller and operating method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
-
2007
- 2007-09-27 TW TW096135924A patent/TWI366828B/zh active
-
2008
- 2008-01-29 US US12/021,885 patent/US8046526B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI416525B (zh) * | 2009-12-15 | 2013-11-21 | Asolid Technology Co Ltd | 非揮發性記憶體裝置及其損耗平均方法 |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
CN103946819A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于非易失性***存储器的统计耗损均衡 |
US9298606B2 (en) | 2011-09-30 | 2016-03-29 | Intel Corporation | Statistical wear leveling for non-volatile system memory |
CN103946819B (zh) * | 2011-09-30 | 2017-05-17 | 英特尔公司 | 用于非易失性***存储器的统计耗损均衡 |
TWI454916B (zh) * | 2012-05-08 | 2014-10-01 | Phison Electronics Corp | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 |
US9274943B2 (en) | 2012-05-08 | 2016-03-01 | Phison Electronics Corp. | Storage unit management method, memory controller and memory storage device using the same |
Also Published As
Publication number | Publication date |
---|---|
US8046526B2 (en) | 2011-10-25 |
US20090089485A1 (en) | 2009-04-02 |
TWI366828B (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200915324A (en) | Wear leveling method and controller using the same | |
TWI373772B (en) | Wear leveling method and controller using the same | |
TWI398770B (zh) | 用於快閃記憶體的資料存取方法、儲存系統與控制器 | |
TWI385669B (zh) | 用於快閃記憶體的平均磨損方法、儲存系統與控制器 | |
JP6378226B2 (ja) | メモリシステム | |
TWI379194B (en) | Block management method for flash memory, and storage system and controller using the same | |
TWI261168B (en) | Non-volatile memory system with erase counts stored in an erase count block | |
TW200917261A (en) | Wear leveling method and controller using the same | |
TW200915327A (en) | Method of protecting data for power failure and controller using the same | |
TWI249100B (en) | Tracking the least frequently erased blocks in non-volatile memory systems | |
TWI354996B (en) | Wear leveling method and controller thereof | |
KR101446832B1 (ko) | 메모리 맵핑 기술 | |
TW201128648A (en) | Memory management and writing method and rewritable non-volatile memory controller and storage system thereof | |
TW200828273A (en) | Hard disk cache device and method | |
TW200929224A (en) | Data writing method for flash memory and controller thereof | |
JP2006221636A (ja) | Run単位アドレスマッピングテーブル及びそれの構成方法 | |
TW200937422A (en) | Data reading method for flash memory, controller and system therof | |
TW200935422A (en) | Flash memory data writing method and controller thereof | |
TW200919474A (en) | Writing method for non-volatile memory and controller using the same | |
TW201007449A (en) | Flash memory storage system and data writing method thereof | |
TW201003391A (en) | Block management method and storage system and controller thereof | |
TW201122811A (en) | Flash memory storage system and controller and data writing method thereof | |
TW201001422A (en) | Block accessing method for flash memory and storage system and controller using the same | |
TW200929227A (en) | Method for preventing read-disturb happened in non-volatile memory and controller thereof | |
TW201007735A (en) | Block management method for flash memory and storage system and controller using the same |