TWI375887B - Flash memory device with wear-leveling mechanism and controlling method thereof - Google Patents

Flash memory device with wear-leveling mechanism and controlling method thereof Download PDF

Info

Publication number
TWI375887B
TWI375887B TW097141954A TW97141954A TWI375887B TW I375887 B TWI375887 B TW I375887B TW 097141954 A TW097141954 A TW 097141954A TW 97141954 A TW97141954 A TW 97141954A TW I375887 B TWI375887 B TW I375887B
Authority
TW
Taiwan
Prior art keywords
block
physical memory
erased
memory
bit
Prior art date
Application number
TW097141954A
Other languages
English (en)
Other versions
TW201017406A (en
Inventor
Li Pin Chang
Ming Dar Chen
Chien Ting Huang
Original Assignee
A Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by A Data Technology Co Ltd filed Critical A Data Technology Co Ltd
Priority to TW097141954A priority Critical patent/TWI375887B/zh
Priority to US12/396,547 priority patent/US8103821B2/en
Publication of TW201017406A publication Critical patent/TW201017406A/zh
Application granted granted Critical
Publication of TWI375887B publication Critical patent/TWI375887B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Description

九、發明說明·· 【發明所屬之技術領域】 本發明係涉及-種_記憶體裝置及兑 方ί指一種具有平均抹除機制之快閃記憶體裝置及其控制 【先前技術】 —於採用NAND型快閃記憶體作儲存媒體之非禮路14 5己憶體儲存萝罟且古駚接,·、 租什烁篮之非揮發性 因此目‘ ^八"'、、省電、安靜及耐震等優點, 網路飼服器、筆記型電腦、之應用糸統,例如: 置、數位彳目B 桌上31電腦、隨身音樂播放裝 跃位相機、打動通訊裝置等。 衣 請參考第一圖,為習知技 構方塊圖。纟m ^㈣㈣體裝置之系統架 單元8m 所不’㈣記憶體裝置8包括一控制 用:二至少一快閃記憶體82。其中,快閃二! 受應用系統9所下素!疋連接於一應用系統9,接 之作業來㈣行運作,並配合指令指定 到快閃記恃體82 /以f應用系統9輸入的資料記錄 ^體82中,或自快閃記情魏 所要求的資料後傳回。在牟槿卜己5體82 _用系統9 數個記憶單元二=,_上’快閃記憶體82中是由複 記憶陣列二 存寫入的資料,其中
Block),而每―個實體記憶區塊(Physical
Page)。在存取運^區塊更包括複數個記憶頁(Memory 資料讀取、寫 ,快閃記憶體82是以記憶頁來作為 作業的單位 U的單位,而以記憶區塊來作為抹除 1375887 目前,快閃記憶體用於儲存方面之應用時,其必須面 臨的便是使用壽命的問題,亦即快閃記憶體所能承受的袜 除次數(Erase Cycle)之問題。我們都知道快閃記憶體在進 行資料寫入運作前,會以一個記憶區塊為單位來先執行抹 除區塊的動作。其中,每一記憶區塊會因寫入資料所執行 的抹除動作而增加累計抹除次數(Accumulated Erase Count)’當其耗損程度接近可用壽命(Useable Life Cycle) 時,保存資料的可靠度(Reliability of Data Retention) 將逐漸劣化(gradually degraded),而不能可靠且正確地 記錄資料,同時導致快閃記憶體裝置可能因為記憶單元中 部分s己憶區塊的劣化而產生故障。一般而言,快閃記憶體 所能承受的抹除次數約在一萬次至十萬次之間(依不同快 閃記憶體結構而定),而也就因此,頻繁的存取動作將會大 幅地影響快閃記憶體的壽命。 而為了降低各記憶區塊間的累計抹除次數差異,必須 透過平均抹除技術(Wear-Leveling Technique),來平均使 用各個記憶區塊,藉以避免過度集中使用部分的記憶區 塊,而使其過早達到使用壽命限制,進而導致在其他記憶 區塊尚未充分使用前,發生快閃記憶體裝置無法可靠 正確資料的現象。 目前提出的平均抹除技術大致分為動態平均抹除 (Dynamic Wear-Leveling)與靜態平均抹除
Wear-Leveling)兩種。動態平均抹除是在記憶區塊内記錄 保存的資料改變更新時,從已抹除之記憶區塊中選出累計 抹除次數最低者來贿更新後的資料。祕只有内容被更 新改變的動Μ料會被調整存放位置,·被稱為動態平 6 1375887 均抹除技術。 而靜態平均抹除則是指,在記憶區塊内記錄保存的資 料雖未改變更新,但當已配置資料的記憶區塊中,累計抹 除次數最咼及最低的差異到達一預先設定的門限值時,即 ,始進行靜態平均抹除作業。執行靜態平均抹除時,控制 器會將累計抹除次數最低的記憶區塊中的資料搬至累計抹 除次數最高的已抹除之記憶區塊中,並將最低㈣抹除次
數的記憶區塊抹除。藉此,可改變靜態#料使㈣記憶區 塊的位置’並釋出先前長期被靜態資料佔用,使累計抹除 次數較低的記憶區塊,得以供後續寫人更新資料時使用, 進而達到雛靜態資料錢之記憶區塊位置,實現靜態平 均抹除的功效。 恐 rfr7 、、E + 上地心十均抹除作業需要消耗大量的時間及養 搜哥科次數較低的記憶區塊,而動態平均抹除作« ^只針對有更新資料的記憶區塊進行平均抹除,故仍有
均的缺點,因此如何提升平均抹除作業的效能一 直疋此技術領域值得加以研發改良的地方。 【發明内容】 此’本發明所要解決的技術問題在於,透過較 資ί斗2 s理方法去追縱抹除次數高的記憶區塊以及冷門 記憶體的平均抹除作業。 佴^ 了解決上述問題’根據本發明所提出之一方荦,提 (、-種具平均抹除 方案& 快閃記憶體一_^閃疏體裝置,包括:至少一 …ΐπ早、一位元對應表、一來源指標及 δ/ 憶d:有ΐ: ’快閃記憶體是包含-記憶單元,而記 仏的複數個。熱”清單是記錄最近 位元,鞞塊 位元對應表是具有複數個 記情ϋ塊的1姑應3亥些實體記憶區塊,並且標示該些實體 ; 除狀態,再者來源指標則是循序指向位元 以抹除的實體記憶區塊,並且透過更新 ;t ^ — 疋依據熱門清單來確認取得至少一抹除 記憶區塊’並且再控制將來源指標所指的 ί地中之資料搬移到該抹除次數較高的實體記憶 £塊,以完成平均抹除作業。 輝決上述問題’根據本發明所提出之另一方案, 制:^,甘0ΐ述之具平均抹除機制之快閃記憶體裝置的控 幛區塊來:二驟包括:f先’選擇至少一欲回收之實體記 記憶區塊回收作業,並將該欲回收之實體 5己隱S塊中的有效資料搬剌—已抹除之實 ,在=欲回收之實體記憶區機所對應之邏輯;塊位址 單,且該欲回收之實體記憶區塊是為抹除 區塊時,將該欲回收之實體記憶區塊 3體,更新來源指標’以將來源指標所指 區塊設為一來源區塊。最後’在將來源謝 之身科稷裏到目標區塊之後,採除來源區 的已抹除之實體記憶區塊。 成马新 ,此,透過熱尸?清單、位元對應表與來源指標的管 理,可以正確地追蹤出長時間未被抹除的實體圮憶區 並將該追㈣的實體記憶區塊中的資料搬^ 高的實體記親中’藉術㈣_=== 止抹除次數高的實體Μ繼續磨耗。此外, 平均可=幅地提升快閃記憶體裝置執行 亚更能有效地發揮快辑體裝置 進二==的詳細說明及附圖,皆是為了能 功效:預定目的所採取之方式、手段及 政而有關本發明的其他目的及優點 及圖式中加以闡述。 將在後、.只的况明 【實施方式】 $明透魏纽_f g綠, ;=ί料所tr體記憶區塊來執行丄憶= :吟抹除健’以改善平均抹除作業的
升以快閃記憶體作為儲存媒體 、’ A 往 q师什姝體的快閃圮憶體裝置之壽命。 體f置ιΓ為本發明具平均抹除機制之快閃記憶 髖裝置的貫施例方塊圖。如第二圖所示, 種快閃記憶體裝置卜1包括. 貫Jki、 閃記憶體…其中,,、二· Τη : 10及至少一快 介面101、一士达控制早70 10中進一步包含:一系統 、一纪憶體介面102、一資料緩衝 理器104及-暫存單亓1ης貝概衝£ 1〇3、-减 憶單元f圖4 _ λ 〇5。而快閃記憶體Η是包含一記 ii'aa,# Β 《也就是所謂的記憶胞陣列(Memory Cel1 未示)。’ ”㊉憶單元是被_為複數個倾記憶區塊(圖 的方的暫存單元105是以内嵌於控制單元10 可是以外接的方式來料、“:際°又十L暫存早兀105亦 以限制。並且,暫,Γ:接於控制單几10,在此並無加 子早兀105可例如是採用可隨機讀寫記 fe體(RAM )的設計。 作為中的系統介面101是連接-應用系統9, ^。記憶體介面皿是連 :介如採用可隨機讀寫記憶體的設計^ 間所傳細料。而微處二。= S Γ記憶體介面102及暫存單元105,用以執 統9對快閃記憶體裝置i所發出的指令,而進行 控制存取快閃記憶體11。 暫存單元105中包含有-熱門清單㈤t Ust)1〇51、 一位凡對應表(Bitmap)1052、一來源指標(3〇_ 〇inter)l〇53、一邏輯實體位址轉換表(L2p)1〇54及一子 區塊記錄表(Log BlQCk Table)1G55。請再同時參考第三 圖,為^發明所提供之表單及指標實施例示意圖,其中, 熱門f單1051是記錄最近寫入的複數個邏輯區塊位址,也 就是,寫入一筆資料便記錄該筆資料的邏輯區塊位址於熱 門清單1051中,讓熱門清單1〇51是包含最近經常更新資 料之邏輯區塊位址的清單,並且在控制單元1〇中的微處理 器104接受一寫入指令來進行更新資料時,隨即會據以更 新熱門清單1051。此外,由於抹除次數較高的實體記憶區 塊即是屬於常被更新的記憶區塊,所以抹除次數較高的實 體記憶區塊會對應到經常被寫入的邏輯區塊位址,因此, 熱門清單1051中所列出之邏輯區塊位址所對應的實體記 憶區塊即可能是抹除次數較高的實體記憶區塊。於是,透 過檢查熱門清單1051即可追蹤到抹除次數較高的實體記 1375887 憶區塊。 位元對應表1052是具有複數個位元(圖未示),用以 . ㈣對應_實體記憶區塊,並分㈣示該些實體記憶區 • 塊的—抹除狀態。也就是說,位元對應表1052是分別提# 快閃記憶體U财實體記憶區塊—個對應位元,並藉由ς 兀值來表示實體記憶區塊是否被抹除過。而在設計上,該 位元可例如是以「數位!」之位元值來表示為已抹除之^ 體,憶區塊;而以「數位〇」之位元值來表示為尚未抹除 • 之實f記憶區塊,當㉟,實際依應用上的不同’亦可為相 反之纟又&十。 來源指標1053是搭配位元對應表1〇52來運作,用以 循序地指向位元對應表1〇52中標示為尚未抹除之實體記 憶區塊’,:位元對應表1〇52中對應之位元值被設為「數 位〇」的貫體記憶區塊。並且透過更新來源指標1053之指 令來進行移動來源指標1〇53,以從位元對應表1〇52中的 第一個實體記憶區塊循序向下移動,並在指到最後的尚未 藝抹除之貫體5己憶區塊後,再從頭由位元對應表1 Ο”的起始 位置向下指向尚未抹除的實體記憶區塊。藉以追蹤長時間 未,抹除的實體記憶區塊,進而將所指到的實體記憶區塊 認定為儲存冷門資料的實體記憶區塊。 一附帶一提的是,來源指標1053是循序且循環地指向 位π對應表1052,並且當來源指標丨〇53經過位元對應表 1052中標示為已抹除的實體記憶區塊後,位元對應表1052 =將該已抹除的實體記憶區塊改變設定以成為尚未抹除的 實體記憶區塊。因此,當來源指標1053巡迴一圈回到起始 位置的時候,即是代表相關的實體記憶區塊在來源指標 11 1375887 1053巡迴一圈的過程中是否有被抹除過的記錄。也就是 說’利用位元對應表1052與來源指標1〇53的管理方法, 可表示來源指標1053離開該位址之後,在接下來巡迴一圈 的過程中忒位址的貫體記憶區塊是否有被抹除過的記錄。
此外,熟悉該項技術者應可了解,暫存單元1〇5中的 邏輯實體位址轉換表1054及子區塊記錄表1〇55是控制單 兀10用來與應用系統9溝通所使用的表格。其中,邏輯實 體位址轉齡1054是提健料it 10進行邏輯區塊位址 與實體區塊位址之對應。如第三圖所示,邏輯區塊位址 LBA0係對應實體記憶區塊pBA2、㈣區塊㈣圓係對 應實體記憶區塊PBA4…等。 子區塊兄錄表1055是搭配邏輯實體位址轉換表 1054’絲記躲閃記髓u中實體纖區塊的連結關 係’也就是說,-個邏輯區塊位㈣際上可能會對應到一
的實體記憶區塊(以下稱之為—實體記憶區 塊=)來^树效㈣’料作塊記騎廳便是 _該貫體記憶區塊鏈中所形成之母、子區塊的連結關係。 、、主嚴單元」G中的微處理器104即可依據熱門 二並且餘^ 5忍取付至少—抹除次數較高的實體記憶區 來源指標咖所指的實體記憶區塊中之 抹實體;憶區塊,以完成執行 例,若栌命丨置_ in ;圖所以貫體記憶區塊PBA2為 LBA0二靳二接收應用系統9傳來邏輯區塊位址為 LBA0的更新-貝料,則控制單元 實體記憶區塊ΡΜ6來記錄更新更,挑1已抹除的 中皆在右右4咨t m更新的貝料,所以PBA2與PBA6 中白存有有效料’因而利用子區塊對縣脳來記錄 12 1375887 PBA2與PBA6間的連結關係,而若應用系統9接下來再次 寫入LBAO的更新資料時,即是使用已抹除的實體區塊ρβΑ9 來記錄,並且同樣透過子區塊對應表1〇55的更新來記錄 ΡΒΑ2、ΡΒΑ6及ΡΒΑ9間的連結關係,以便追蹤實體記憶區 塊上的有效資料。 值得一提的是,前述有關確認取得抹除次數較高的實 體記憶區塊的部分,控制單元1〇的微處理器1〇4可進一步 疋暫存有s亥些貫體s己憶區塊各自累計的一抹除次數以及快 • 閃記憶體裝置1的一整體平均抹除次數,並且依據該些實 體5己憶區塊的抹除次數及整體平均抹除次數來確認取得。 而進一步說明即是,微處理器1〇4在判斷任一實體記憶區 塊的抹除次數大於該整體平均抹除次數達一預設值時,便 可確認該實體記憶區塊是為抹除次數較高的實體記憶區 塊。 接著’以下之說明是進一步揭示本發明之快閃記憶體 裝置的詳細運作流程。請先參考第四圖,為本發明快閃記 鲁憶體裝置啟動及控制進行寫入作業的實施例流程圖。如第 四圖所示’首先,進行啟動快閃記憶體裝置(S4〇1),並且 快閃記憶體裝置隨即進行初始化作業之流程(54〇3),以使 快閃記憶體裝置得以與應用系統建立連線,而進行溝通及 傳遞指令與資料。 接著,基於前述實施例中本發明快閃記憶體裝置的設 計’在執行步驟(S4〇3)之後’快閃記憶體裝置中的控制單 元便會自暫存單元中載入邏輯實體位址轉換表、子區塊記 錄表、位元對應表、熱門清單及來源指標(S4〇5)。之後, 快閃記憶體裝置即進入待機狀態(S407),以等待應用系統 13 1375887 後續所下達之指令。 而當應用系統下達指令時,控制單元會根據該指令來 判斷是否進入一寫入資料作業(S409)。若步驟(S4〇9)的判 斷結果為是,則表示應用系統是下達一寫入資料指令,於 是便會進行選擇一已抹除的記憶區塊,作為寫入資料的目 標區塊(S411)。然後接受應用系統傳輸資料,以寫入該些 資料至目標區塊脚3)。並且在寫人完成之後,隨即進行 更新熱^清單’以將該寫人指令所指的邏輯區塊位址列入 熱門清單,並且更新邏輯實H純對縣以雜邏輯區塊 位址與實魏塊位址之對應,而若有需要的話,則也會更 H區塊記錄表以更新記錄母、子區塊間的連結關係 CM15) 〇 Μ ⑽9)的判斷結果為^,則表示目前應 用糸統並非下達寫入資料指令,於 _ 系統所下達之指令所代表的其他處“業(s二。灯』 寫入二之,僅是說明快閃記憶體裝置執行 程’然而由於本發明執行平均抹除作業 二!it點:f進订一記憶區塊回收作業的時候,也就是ί 才會執行平均抹除作業之流程。因此,請接著A 二:二,閃記憶體裝置控制二 作業;實際運=;;圖,㈣朗本發明執行平均抹除 亓π 如第五A圖所示,快閃記憶體裝置中的控制單 收之實體記憶區塊鍵及—已採除之實:憶 1375887 進而將該欲回收之實體記憶區塊鏈中的有效資料複製到該 已抹除之實體記憶區塊(S505)。然後更新子區塊記錄表, 以取消該欲回收之實體記憶區塊鏈中各實體記憶區塊間的 連結關係,以及更新邏輯實體位址轉換表,以將儲存有有 效資料的實體記憶區塊對應到相對應的邏輯區塊位址 (S507)。
而由於該欲回收之實體記憶區塊鏈中的有效資料皆 已儲存至5亥已抹除之貫體δ己憶區塊中,接著便可抹除該欲 回收之貫體記憶區塊鏈中的實體記憶區塊(S5〇9),以釋放 出原本所佔用的區塊空間。而在步驟(S509)將該些實體記 憶區塊抹除後,便可進行更新位元對應表(S511),以標示 該些實體記憶區塊為已抹除過之實體記憶區塊。此外了在 完成位元對應表的更新作業後,即進行累計該些被抹除的 各貫體記憶區塊的抹除次數,以及快閃記憶體裝置的整體 平均抹除次數(S513)。
而由於控制單元在選擇該欲回收之實體記憶區塊鏈 時,即會暫存該欲时之實體記龍塊鏈·應的邏輯區 塊位址’於是在步驟側3)之後,即進行朗欲回 體記憶區塊鏈所對應的邏輯區塊位址是否存在於 ? (S5⑸。若步驟(S515)的騎結果為否,則表示財;^ 中未發現簡輯區塊㈣,於是便結束Μ需執彳 二之’若步驟(S5⑸的判斷結果為是的話, 示二逐一進行判斷欲回收之實體記憶區塊鏈 平均抹除貫體記㈣塊的抹除錢是衫於該整體 十岣抹除-人數達一預設值(S517),換 主菔 回收之實體記憶區塊鍵t各個已抹除之實體記 15 1375887 除次數是否超過-預設抹除次數,而預設抹除 些實體記憶區塊的整體平均抹除次數加上該預設值,^ 判斷該已抹除之實體記情圬楠a* 貝又值藉以 除作聿的尸準m 已達到觸發執行平均抹 為抹除次數較高的實體記憶區塊。盆中 =的設定是可依據實際搭配的快閃記憶體耐抹除能力 平均斷結果為否,則表示並未達到啟動 ==區塊則供循環再度使用。』步= 準,於、:將目則表二已達到觸發平均抹除作業的標 ρ姑二疋i月·J |J斷的該欲回收之實體記憶區塊鏈中的 貫體記憶區塊設為—目標區塊(·)。並且更新 原指標所指的實體記憶區塊設為-來源 _Γ 八,來源指標所指的實體記憶區塊即是代 的實體:己,實體記憶區塊,亦即表示是儲存冷門資料 的貫體Π己’h區塊。 ⑽!t疋’便可將來源區塊中的資料複製到目標區塊 童t將冷門資料(較少更新的資料)複製到抹除次 二貫/己憶區塊。而在複製完成後,即進行更新邏 斜庙轉換表及子區塊記錄表(S525),以將目標區塊 办Ί相對應的邏輯區塊位址。再接下來,即可進行抹除 j^(S527) ’以釋放出原本儲存冷門資料的實體記憶 I 人數較少的實體記憶區塊),而成為一新的已抹 :之貫體記憶區塊’以供使用。並且隨即再進行更新該被 除的來、源區塊的抹除次數以及整體平均抹除次數 529) ’以及更新位元對應表中的抹除狀態(),以將 該破ΐ除的來源區塊標示為已抹除過之實體記憶區塊。 :後’判斷是否欲回收之實體記,隨塊鏈的各 ‘二次數皆已判斷完畢(S533),若步驟(咖3)的 ^到將該欲时之實體記憶區塊鏈中所 ^ 執行完畢,才結束平均抹除作#。 塊 叶閃記憶體裝置的控制單元執行記 常更新的冷門資料複製到抹 塊中’避免其繼續抹除而能緩和其增加抹除次 數的速度,進而達到快閃記憶體平均抹除的效果。 所接ίΙΓ步說明上述第五4圖及第五_之實施例中 戶^到的各種表料指標於㈣記憶體裝置運作時 之表=續參考第六Α圖至第六Ε圖,為本發明所提供 部八I : *的運作狀態示意圖。其+在各财,斜線的 心疋用來表示目前所會執行及運用到的區塊,而並非表 示區塊中是否有資料。 、主时f先’如第六A圖所示,其中控制單元已載入了熱門 月單1051、位元對應表1Q52、來源指標1Q53、邏輯實體 立址轉換表1054及子區塊記錄表1Q55,並且假設本實施 =是選擇實體記憶區塊PBA2為起始財體記憶區塊键來 進行記憶區塊回收之作業。 〜於是再如第六B圖所示,控制單元另外選擇一已抹除 =貫體δ己憶區塊PBA12來作為目標區塊,然後將所選擇的 =體記憶區塊鏈中的各個實體記憶區塊ρβΑ2、ρβΑ6及刪 中的有效資料複製到目標區塊ρβΑ12。 1375887 而在資料複製完畢之後,如第六C圖所示,控制單元 先是進行更新邏輯實體位址轉換表1054及子區塊記錄表 1055,以將原本對應實體記憶區塊PBA2的邏輯區塊位址 LBA0,更新為對應實體記憶區塊PBA12。再者,進行抹除 實體記憶區塊PBA2、PBA6及PBA9。並且再更新位元對應 表1052,以將實體記憶區塊PBA2、PBA6及PBA9所對應的 位元設定為「數位1」之位元值(圖中僅以實體記憶區塊 PBA2來做代表說明)’其中本實施例是設計以「數位1」之 位元值來標示為已抹除過之實體記憶區塊。除此之外,由 於實體記憶區塊PBA2、PBA6及PBA9的抹除次數已有變動, 因此控制單元會再進行更新實體記憶區塊ΡβΑ2、ΡΒΑ6及 ΡΒΑ9的抹除次數以及快閃記憶體裝置的整體平均抹除次 數。 而同樣參考第六C圖,控制單元隨即會進行檢查熱門 清単1051 ’以判斷目前所選擇的邏輯區塊位址lba〇是否 存在於熱門清單1051中,而如第六C圖所示,邏輯區塊位 址LBA0是有存在於熱門清單1051中,表示邏輯區塊位址 LBA0是最近才有被更新資料過。 於是,再逐一判斷原本所選擇之實體記憶區塊鏈中各 實體記憶區處ΡΒΑ2、ΡΒΑ6及ΡΒΑ9的抹除次數是否大於整 體平均抹除次數達一預設值。假設實體記憶區塊ΡΒΑ2所累 計的抹除次數已大於整體平均抹除次數達該預設值,而屬 於抹除次數較南的實體記憶區塊時,則如第六D圖所示, 會將實體記憶區塊ΡΒΑ2設為目標區塊,並且進行更新來源 指標1053,以讓來源指標1053移動到下一個未抹除之實 體記憶區塊(標示「數位〇」之位元值),也就是實體記憶 18 1375887
區,PBA卜並將實體記憶區塊pBA1設為來 二提的丄衫六D_,_相發現位元對應塊表二 j來源域1053所經過的已抹除過之實體記憶區塊LBAO 之立兀也已重設為未抹除之實體記憶區塊之位元值(「數位 0」)。 於是’控制單元便可將上述所設定之來源區塊麵 中的資料複製到目標區塊PBA2中。並且再如第六E圖所 不’進仃更新邏輯實體位址轉換表1〇54及子區塊記錄表 1055 ’以讓實體記憶區塊pBA2取代實體記憶區塊卜 而對應於邏輯區塊位址LBA3。進而便可抹除實體呓 刪,以釋放出來以供使用,並且隨即更新實體^區塊 PBA1所累計的抹除次數及該整體平均抹除次數。以及在更 新位元對應表1052,以將實體記憶區塊PBA1之對應位元 設為「數位1」之位元值,以代表已抹除過之實體記憶區 塊。藉此,以完成對實體記憶區塊PM2的判斷。 同理可證,再依據相同的運作原理來繼續判斷該實體 記憶區塊鏈中其餘的實體記憶區塊PM6及PBA9的抹除次 數,以便執行相關之動作,藉以完成整個實體記憶區塊鏈 的回收作業。 最後,補充提到的是,針對位元對應表及來源指標執 行時會遇到的情況作進一步說明。由於本發明的來源指標 與位元對應表皆疋以貧體區塊位址為基礎來設計,因而所 指向的實體記憶區塊(於位元對應表上標示為尚未抹除之 貫體§己憶區塊>(標示為「數位〇」之位元值所對應的實體記 憶區塊)),有可能是以下幾種情形: (A)系統£塊(存放勒體、區塊分配表或其他控制單 19 1375887 加以限制。 主时綜上所述’透過本發明之平均抹除方法, 二資 中’藉此槪冷Η資騎纟用的實體$叶義£塊 抹除次數高的實體記憶區塊繼續夕 止 時,所造成的大量系統資源耗7的作業 :行平均抹除’以及更有效發揮快閃記憶體裝 惟,以上所述,僅為本發明的且 及圖式而已,並非用以限制本發明:、本發明 :====悉該項技藝者在: 案所界定之專利ίί 一修飾皆可涵蓋在以下本 【圖式簡單說明】 第-圖係習知技術快閃記憶體裝置之系 第二圖具平均抹除機制之快閃記憶體裝置的實施 第三圖係本發明所提供之表單及指榡實施例示 第四圖=:_置敌動及控制進;;;入作業 第五A :裝置控制進行平 第六A圖至第六E圖係本發明所提供之表單及指標的運作 21 1375887 狀態示意圖。 【主要元件符號說明】 [習知技術] 8快閃記憶體裝置 81控制單元 82快閃記憶體 9應用系統 [本發明] 1快閃記憶體裝置 10控制單元 101系統介面 102記憶體介面 103資料緩衝區 104微處理器 105暫存單元 1051熱門清單 1052位元對應表 1053來源指標 1054邏輯實體位址轉換表 10 5 5子區塊記錄表 11快閃記憶體 9應用系統 S401〜S417流程圖步驟說明 S501〜S533流程圖步驟說明 22

Claims (1)

101年8月20日修正替換 、申請專利範圍: 種具平均抹除機制之快閃記憶體裝置,包括: 至少一快閃記憶體,係包含一記憶單元,該記憶單元 係具有複數個實體記憶區塊; …、門巧單,係έ己錄最近寫入的複數個區 址; 位元對應表’係具有複數個位元,並且各位元係分 別對應表示該些實體記憶區塊的—抹除狀態; 來源指標,賴序指向綠元職表巾表示為尚未 抹除的實體記憶區塊;及 制單元,係依__清單以及該些實體記憶區 $的:抹除次數來取得至少—抹除次數較高的實 己憶區塊’並且賴㈣指標所指的實體記憶區 鬼中之貧料複製到該抹除次數較高的實體記 >塊,然後抹除該來源指標所指的實體記憶區塊:。° …=請專利範㈣丨項所述之具平均抹 二3裝置’其中該熱門清單、該位元對應表及= /原私標係儲存於一暫存單元。 、述之具平均抹除機制之快閃 。己隐肢馭置,其中該暫存單元進一步包含·· —邏輯實·輯縣,储供雜鮮元進 區塊位址與實體記憶區塊之位址之對應,及 耳 —子區塊_表,係搭配該魏實體位輯換 來記錄該實體記憶區塊的母、子區塊之連‘用 而母、子區塊各為該實體記憶區塊且形:二實 23 1375887 一ιοί年8月20曰佟,下珐祕 邏輯區塊位:竭有蝴’並對應至同- ΐ‘=ΓΐΓ項所述之具平均抹除機制之快閃 置’其令該暫存單元係内嵌或外接於該控制 5、 如申請專利範圍第3 J菖戶斤+曰τ 記憶體裝置,兑中外^具平均抹除機制之快閃 體記憶區塊各1累;二早二 次數,並且依據該此實體:mi體平均抹除 ==均抹除次數來確認該些實體二. 6 ' 疋否為抹除: 人數較高的實體記憶區塊。 :=範=項所述之具平均抹除機制之快閃 心月旦哀置,、中该控制單元係判斷任一該此實 憶區塊的抹除次數大於該整 體記憶區塊。^塊係為抹除次數較高的實 範Ζ3項所述之具平均抹除機制之㈣ 位元對庫% :,、Ιί來源指標係循序且循環地指向該 尸干^! 來源指標經過該位元對應表中 ^不為已抹㈣實體記憶區塊後,該位元對應表 體記憶區塊。^塊5又疋成為該尚未抹除的實 :二TJ範項所述之具平均抹除機制之快閃 肢凌置,其中該控制單元進一步包含: 一系統介面,係連接一應用系統,作 該快閃記憶體裝置間指令與資料之傳。面';、、、· 24 8、 —/ —記憶體介面’係連接該快閃記. 緩衝區1連接於該系統;:面及 之間,並且暫存該應用系 己卜面 傳遞之資料;及 —之間所 9、 -=理器,係連接該系統介面'該記憶體 = ==:執=應_對該“ —該來源指標來執行平均抹_^依據賴門清單及 '二二所述之具平均抹除機制之 的控制方法,其步驟包括: 將至欲回收之實體記憶區 -已抹除之實體記憶區塊中存放广錢到 當二::二憶,對應之邏輯區塊位址 子仕L亥熱門清羊’且該欲回收 一預設抹除次數時:= 私循序拍向该位元對應表中下一個表示 將=的實體記憶區塊,已更新該來源指標;及 ,二末料標所㈣龍記憶區塊巾 欲回收之實敎,ltd塊巾存放。 到°亥 10、
如申请專利範圍第9項所述之快閃記憶 方法,其中該快閃記憶體裝置在啟動後,^步包:1. 載二清;、該位元對應表、該來源指標」邏 貝月且位址轉換表及一子區塊記錄表。 ::請圍第9項所述之快嶋體裝置的控制 方法、中該預設抹除次數係為該些實體記憶區塊之 25 11、 121375.887 ,句,束除:人數力σ上—預&值,以確認該欲回收之實體 s己憶區塊係為抹除次數較高的實體記憶區塊。 、如申請專概㈣9項所述之_記憶體裝置的控制 方法’進一步包含: 抹除該來源指標所指的實體記憶區塊; 更新該㈣除的實體記舰塊之絲’讀及該些實 體兄憶區塊之平均抹除次數;及 更新邊位元對應表中的抹除狀態。 13 =請專利範圍第9項所述之;閃記憶 方法,進一步包含: 抹除該欲回收之實體記憶區塊; 更=該欲贱之實體記㈣塊之絲次數及該些實 肢·5己憶區塊之平均抹除次數;及 、 更新該位元對應表中的抹除狀雜。 14 =請==項所述之㈣記憶體裝置的控制 且循心'"來源指標時’該來源指標係循序 且趣地才曰向该位it對應纟,並 該位元對絲巾標示為已抹糾山射日^經過 位元對應㈣將該已抹區塊後,該 該尚未抹除的她⑽㈣區料定成為 26
TW097141954A 2008-10-31 2008-10-31 Flash memory device with wear-leveling mechanism and controlling method thereof TWI375887B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW097141954A TWI375887B (en) 2008-10-31 2008-10-31 Flash memory device with wear-leveling mechanism and controlling method thereof
US12/396,547 US8103821B2 (en) 2008-10-31 2009-03-03 Flash memory device with wear-leveling mechanism and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097141954A TWI375887B (en) 2008-10-31 2008-10-31 Flash memory device with wear-leveling mechanism and controlling method thereof

Publications (2)

Publication Number Publication Date
TW201017406A TW201017406A (en) 2010-05-01
TWI375887B true TWI375887B (en) 2012-11-01

Family

ID=42132876

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097141954A TWI375887B (en) 2008-10-31 2008-10-31 Flash memory device with wear-leveling mechanism and controlling method thereof

Country Status (2)

Country Link
US (1) US8103821B2 (zh)
TW (1) TWI375887B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI571882B (zh) * 2016-02-19 2017-02-21 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4666080B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4666081B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4844639B2 (ja) * 2009-02-19 2011-12-28 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8176295B2 (en) 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
US8065469B2 (en) * 2009-04-20 2011-11-22 Imation Corp. Static wear leveling
US8266481B2 (en) * 2009-07-29 2012-09-11 Stec, Inc. System and method of wear-leveling in flash storage
US8453021B2 (en) 2009-07-29 2013-05-28 Stec, Inc. Wear leveling in solid-state device
US8478725B2 (en) * 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
KR101662273B1 (ko) * 2009-11-27 2016-10-05 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 마모도 관리 방법
KR20110060493A (ko) * 2009-11-30 2011-06-08 삼성전자주식회사 메모리 장치의 소거 카운트 관리 방법 및 장치
JP2011129192A (ja) * 2009-12-16 2011-06-30 Samsung Electronics Co Ltd 半導体記憶装置
US8949506B2 (en) 2010-07-30 2015-02-03 Apple Inc. Initiating wear leveling for a non-volatile memory
TWI417721B (zh) * 2010-11-26 2013-12-01 Etron Technology Inc 衰減熱資料之方法
US8521948B2 (en) * 2011-01-03 2013-08-27 Apple Inc. Handling dynamic and static data for a system having non-volatile memory
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
CN102508785B (zh) * 2011-11-02 2015-08-19 清华大学 一种磨损均衡方法及装置
CN102222046B (zh) * 2011-06-09 2013-09-18 清华大学 一种磨损均衡方法及装置
CN102231136B (zh) * 2011-07-12 2014-06-11 晨星软件研发(深圳)有限公司 一种闪存存储设备的数据存储方法和装置
WO2013095641A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Sub-block based wear leveling
US9262336B2 (en) 2011-12-23 2016-02-16 Intel Corporation Page miss handler including wear leveling logic
EP2839377A4 (en) 2012-04-20 2015-12-02 Enmotus Inc STORAGE SYSTEM WITH DATA MANAGEMENT MECHANISM AND METHOD FOR OPERATION THEREOF
US8898405B2 (en) * 2012-06-12 2014-11-25 Storart Technology Co. Ltd Method for static wear leveling in non-violate storage device
US20140013028A1 (en) * 2012-07-09 2014-01-09 Hamilton Sundstrand Corporation Hardware flash memory wear monitoring
GB2507961A (en) 2012-11-14 2014-05-21 Ibm Back-up and restoration of data between volatile and flash memory
GB2517435A (en) 2013-08-19 2015-02-25 Ibm Fast data back-up and restore between volatile and flash memory
US9292210B1 (en) 2014-08-29 2016-03-22 International Business Machines Corporation Thermally sensitive wear leveling for a flash memory device that includes a plurality of flash memory modules
US9934872B2 (en) * 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
KR102513491B1 (ko) * 2015-07-15 2023-03-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9632715B2 (en) 2015-08-10 2017-04-25 International Business Machines Corporation Back-up and restoration of data between volatile and flash memory
CN106610901B (zh) * 2015-10-21 2019-08-13 深圳市江波龙电子股份有限公司 存储器的磨损次数平衡方法及装置
CN107977163B (zh) * 2017-01-24 2019-09-10 腾讯科技(深圳)有限公司 共享数据回收方法及装置
US10678446B2 (en) 2017-07-11 2020-06-09 Western Digital Technologies, Inc. Bitmap processing for log-structured data store
CN108563397B (zh) * 2018-01-04 2021-08-24 威盛电子股份有限公司 存储装置以及数据保存方法
CN108089994B (zh) * 2018-01-04 2021-06-01 威盛电子股份有限公司 存储装置以及数据保存方法
CN109542354B (zh) * 2018-11-28 2021-08-13 广东工业大学 一种基于擦除上限的磨损均衡方法、装置及设备
CN111324284B (zh) * 2018-12-14 2024-02-23 兆易创新科技集团股份有限公司 一种存储器
CN111324288B (zh) * 2018-12-14 2024-02-23 兆易创新科技集团股份有限公司 一种存储器
TWI702497B (zh) * 2018-12-26 2020-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US10817187B2 (en) * 2019-01-24 2020-10-27 Western Digital Technologies, Inc. Balancing the block wearing leveling for optimum SSD endurance
KR20200121621A (ko) 2019-04-16 2020-10-26 에스케이하이닉스 주식회사 메모리 시스템 내 복수의 메모리 블록의 특성을 결정하는 방법 및 장치
KR20210000414A (ko) * 2019-06-25 2021-01-05 에스케이하이닉스 주식회사 메모리 시스템
FR3101974B1 (fr) * 2019-10-15 2021-09-10 Continental Automotive Procédé d’aide à l’identification de secteurs vierges d’une mémoire non-volatile d’un microcontrôleur
US10978097B1 (en) 2020-01-16 2021-04-13 International Business Machines Corporation Indicating tracks as erased without deleting data for the tracks
CN114415962A (zh) * 2022-01-24 2022-04-29 广东工业大学 一种静态磨损均衡方法、系统、设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441067B2 (en) * 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
CN100538662C (zh) * 2007-07-05 2009-09-09 炬力集成电路设计有限公司 一种基于局部采样的存储器的磨损平衡方法
US20090254729A1 (en) * 2008-04-07 2009-10-08 Skymedi Corporation Method of wear leveling for a non-volatile memory
TWI389125B (zh) * 2008-07-18 2013-03-11 A Data Technology Co Ltd 記憶體儲存裝置及其控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI571882B (zh) * 2016-02-19 2017-02-21 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置

Also Published As

Publication number Publication date
US20100115186A1 (en) 2010-05-06
US8103821B2 (en) 2012-01-24
TW201017406A (en) 2010-05-01

Similar Documents

Publication Publication Date Title
TWI375887B (en) Flash memory device with wear-leveling mechanism and controlling method thereof
TWI389125B (zh) 記憶體儲存裝置及其控制方法
TWI597605B (zh) 用於資料儲存裝置的損耗平均方法
CN103425595B (zh) 数据储存装置和闪存的区块管理方法
KR100885181B1 (ko) 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
TWI405082B (zh) 記憶體系統及其映射方法
US7487303B2 (en) Flash memory device and associated data merge method
US8510500B2 (en) Device driver including a flash memory file system and method thereof and a flash memory device and method thereof
TWI399644B (zh) 非揮發記憶體區塊管理方法
TW201413451A (zh) 非揮發性記憶體的資料收集方法
CN110895514A (zh) 映射表更新方法
US20150127889A1 (en) Nonvolatile memory system
KR20180017148A (ko) 스토리지 시스템, 스토리지 관리 디바이스, 스토리지 디바이스, 하이브리드 스토리지 디바이스, 및 스토리지 관리 방법
CN106201335B (zh) 存储系统
EP3752905B1 (en) Append only streams for storing data on a solid state device
CN110309077B (zh) 主机与设备协同工作的闪存转换层构建方法及装置
US20100318726A1 (en) Memory system and memory system managing method
KR20170084675A (ko) 메모리 내의 데이터를 액세스하는 방법과 이를 이용하는 메모리 장치
Subramani et al. Garbage collection algorithms for nand flash memory devices--an overview
US20190026045A1 (en) Storage Device and Data Control Method for Storage Error Control
Lee et al. Efficient logging of metadata using NVRAM for NAND flash based file system
Kim et al. A log-based flash translation layer for large NAND flash memory
CN109144896A (zh) 一种基于mlc奇偶对称性的可感知型数据缓存管理方法
TWI420528B (zh) 用來增進一快閃記憶體的效能之方法以及相關之可攜式記憶裝置及其控制器
Du et al. Adaptive garbage collection mechanism for N-log block flash memory storage systems