TW201703052A - 平均磨損方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents

平均磨損方法、記憶體儲存裝置及記憶體控制電路單元 Download PDF

Info

Publication number
TW201703052A
TW201703052A TW104122031A TW104122031A TW201703052A TW 201703052 A TW201703052 A TW 201703052A TW 104122031 A TW104122031 A TW 104122031A TW 104122031 A TW104122031 A TW 104122031A TW 201703052 A TW201703052 A TW 201703052A
Authority
TW
Taiwan
Prior art keywords
physical erasing
unit
erasing unit
physical
data
Prior art date
Application number
TW104122031A
Other languages
English (en)
Other versions
TWI563509B (en
Inventor
陳 國榮
Original Assignee
群聯電子股份有限公司
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 群聯電子股份有限公司 filed Critical 群聯電子股份有限公司
Priority to TW104122031A priority Critical patent/TWI563509B/zh
Priority to US14/824,092 priority patent/US9665481B2/en
Application granted granted Critical
Publication of TWI563509B publication Critical patent/TWI563509B/zh
Publication of TW201703052A publication Critical patent/TW201703052A/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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/7207Details relating to flash memory management management of metadata or control data
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Abstract

本發明提出一種用於可複寫式非揮發性記憶體模組的平均磨損方法。本方法包括:根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄時間標記,以及將每一實體抹除單元記錄抹除次數。本方法還包括:根據時間標記從存有有效資料的實體抹除單元中選擇第一實體抹除單元,根據每一實體抹除單元配置的抹除次數從無存有有效資料的實體抹除單元之中提取第二實體抹除單元,以及將第一實體抹除單元中的有效資料寫入第二實體抹除單元,並且將第一實體抹除單元標記為無存有有效資料的實體抹除單元。

Description

平均磨損方法、記憶體儲存裝置及記憶體控制電路單元
本發明是有關於一種平均磨損方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的平均磨損方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,因此,近年可複寫式非揮發性記憶體產業成為電子產業中相當熱門的一環。例如,以快閃記憶體作為儲存媒體的固態硬碟(Solid-state drive)已廣泛應用作為電腦主機的硬碟,以提升電腦的存取效能。
一般來說,為了增加可複寫式非揮發性記憶體的壽命,會盡可能平均地使用可複寫式非揮發性記憶體中的實體抹除單元。例如,可複寫式非揮發性記憶體的實體抹除單元會區分為資 料區與閒置區,傳統平均磨損(wear leveling)的方法是在可複寫式非揮發性記憶體每執行一段固定的時間後或某個特定的時間點,將資料區中的實體抹除單元與閒置區中的實體抹除單元交換,以期讓在資料區中抹除次數較少的實體抹除單元可被交換至閒置區以供程式化(或寫入)使用。
在將資料區中抹除次數較少的實體抹除單元交換至閒置區時,通常會從閒置區中選擇具有較高抹除次數的實體抹除單元交換至資料區,但倘若此實體抹除單元儲存的資料屬於頻繁更新的資料,則此實體抹除單元很可能在資料更新時再次被關聯至閒置區。然而,在下一次需執行平均磨損時,已再被關聯至閒置區的這個實體抹除單元因其具有抹除次數高於其他實體抹除單元,而再次被交換至資料區的機會將遠比其他實體抹除單元高出許多,造成可複寫式非揮發性記憶體之實體抹除單元的使用不平均。基此,如何選擇實體抹除單元來進行平均磨損運作,以使得每個實體抹除單元的使用較為平均,而有效延長可複寫式非揮發性記憶體的壽命是此領域技術人員所致力的目標。
本發明提供一種一平均磨損方法、記憶體儲存裝置及記憶體控制電路單元,其能夠有效地平均實體抹除單元的磨損以延長記憶體儲存裝置的壽命。
本發明的一範例實施例提出一種平均磨損方法,用於可 複寫式非揮發性記憶體模組,且可複寫式非揮發性記憶體模組包括多個實體抹除單元。本平均磨損方法包括:根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄時間標記。本平均磨損方法還包括:將每一實體抹除單元記錄抹除次數,並且根據時間標記從存有有效資料的實體抹除單元中選擇第一實體抹除單元。本平均磨損方法更包括:根據每一實體抹除單元記錄的抹除次數從無存有有效資料的實體抹除單元中提取第二實體抹除單元,以及將所述第一實體抹除中的有效資料寫入所述第二實體抹除單元,並且將第一實體抹除單元標記為無存有有效資料的實體抹除單元。
在本發明的一範例實施例中,上述根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄時間標記的步驟包括:配置多個邏輯位址,其中所述邏輯位址映射存有有效資料的實體抹除單元;建立一佇列;將屬於所述邏輯位址之中的第一邏輯位址的第一資料程式化至實體抹除單元之中的實體抹除單元;在所述佇列中記錄程式化第一資料的實體抹除單元;接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後,將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至實體抹除單元之中的實體抹除單元;以及在所述佇列中記錄程式化第二資料的實體抹除單元。所述佇列有第一端與第二端,且在所述第一端與所述第二端之間有多個位置。在所述佇列中記錄程式化第一資料的實體抹除 單元的位置是接續在記錄程式化第二資料的實體抹除單元的位置之後,並且記錄映程式化第一資料的實體抹除單元的位置與所述第一端之間的距離大於記錄錄程式化第二資料的實體抹除單元的位置與所述第一端之間的距離。
在本發明的一範例實施例中,上述根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的步驟包括:(a)從所述佇列的所述第二端開始依序選出一個實體抹除單元;(b)判斷所選出的實體抹除單元的抹除次數是否小於將實體抹除單元的平均抹除次數減去一預定值所獲得的值;(c)倘若所選出的實體抹除單元的抹除次數小於將實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,將所選出的實體抹除單元作為所述第一實體抹除單元;以及(d)倘若所選出的實體抹除單元的抹除次數非小於將實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,從所述佇列的所述第二端開始依序選出下一個實體抹除單元並執行上述步驟(b)。
在本發明的一範例實施例中,上述根據實體抹除單元之中存有有效資料的實體抹除單元的實體抹除單元的所述程式化順序將所述存有有效資料的每一實體抹除單元記錄所述時間標記的步驟包括:配置多個邏輯位址,其中所述邏輯位址映射所述存有有效資料的實體抹除單元;將屬於所述邏輯位址之中的第一邏輯位址的第一資料程式化至實體抹除單元之中映射所述第一邏輯位址的實體抹除單元;在程式化順序表將對應程式化第一資料的實 體抹除單元的時間標記記錄為一第一時間戳記;接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後,將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至實體抹除單元之中的實體抹除單元;以及在所述程式化順序表將對應映射程式化第二資料的實體抹除單元的時間標記記錄為第二時間戳記。其中所述第一時間戳記小於所述第二時間戳記。
在本發明的一範例實施例中,上述根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的步驟包括:(a)依據記錄在所述程式化順序表的時間戳記,選出對應最小的時間戳記的實體抹除單元;(b)判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值;(c)倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,將所選出的實體抹除單元作為所述第一實體抹除單元;以及(d)倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,依據記錄在所述程式化順序表的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述步驟(b)。
在本發明的一範例實施例中,上述每一實體抹除單元包括多個實體程式化單元,且每一實體程式化單元包括一資料位元區與一冗餘位元區,其中根據實體抹除單元之中存有有效資料的實體抹除單元的所述程式化順序將所述存有有效資料的每一實體 抹除單元記錄所述時間標記的步驟包括:配置多個邏輯位址,其中所述邏輯位址映射所述存有有效資料的實體抹除單元;將屬於所述邏輯位址之中的第一邏輯位址的第一資料程式化至所述實體抹除單元之中的實體抹除單元;在程式化第一資料的實體抹除單元的冗餘位元區中記錄第一時間戳記;接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後,將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至所述實體抹除單元之中的實體抹除單元;以及在程式化第二資料的實體抹除單元的冗餘位元區中記錄第二時間戳記。其中所述第一時間戳記小於所述第二時間戳記。
在本發明的一範例實施例中,上述根據所述時間標記從所述存有有效資料的些實體抹除單元中選擇所述第一實體抹除單元的步驟包括:(a)依據記錄在所述存有有效資料的實體抹除單元的冗餘位元區中的多個時間戳記,選出具有最小時間戳記的實體抹除單元;(b)判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值;(c)倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,將所選出的實體抹除單元作為所述第一實體抹除單元;以及(d)倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,依據記錄在所述存有有效資料的實體抹除單元的冗餘位元區中的時間戳記,由小到大依序選出對 應下一個時間戳記的實體抹除單元並執行上述步驟(b)。
本發明的一範例實施例提出一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元,其中所述可複寫式非揮發性記憶體模組包括多個實體抹除單元。此記憶體控制電路單元包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統,記憶體介面用以耦接至可複寫式非揮發性記憶體模組,以及記憶體管理電路耦接至主機介面與記憶體介面。記憶體管理電路用以根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將所述存有有效資料的每一實體抹除單元記錄時間標記,並且將每一實體抹除單元記錄抹除次數。記憶體管理電路更用以根據所述時間標記從所述存有有效資料的實體抹除單元中選擇第一實體抹除單元,並且根據每一實體抹除單元記錄的抹除次數從無存有有效資料的實體抹除單元中提取第二實體抹除單元。記憶體管理電路更用以發送一第一指令序列,並且第一指令序列用以指示將所述第一實體抹除單元中的有效資料寫入所述第二實體抹除單元,以及記憶體管理電路會將第一實體抹除單元標記為無存有有效資料的實體抹除單元。
在本發明的一實施例中,上述在根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄時間標記的操作中,所述記憶體管理電路更用以配置多個邏輯位址,其中所述邏輯位址映射存有有效資料的實體抹除單元。記憶體管理電路更用以建立一佇列,並且發送第 二指令序列,其中第二指令序列指示將屬於所述邏輯位址之中的第一邏輯位址的第一資料程式化至所述實體抹除單元之中的實體抹除單元。記憶體管理電路更用以在所述佇列中記錄程式化第一資料的實體抹除單元,並且接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後發送第三指令序列,其中第三指令序列指示將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至所述實體抹除單元之中的實體抹除單元。記憶體管理電路更用以在所述佇列中記錄程式化第二資料的實體抹除單元。其中所述佇列有第一端與第二端,且在所述第一端與所述第二端之間有多個位置,在所述佇列中記錄程式化第一資料的實體抹除單元的位置是接續在記錄程式化第二資料的實體抹除單元的位置之後,並且記錄映程式化第一資料的實體抹除單元的位置與所述第一端之間的距離大於記錄程式化第二資料的實體抹除單元的位置與所述第一端之間的距離。
在本發明的一實施例中,上述在根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的操作中,所述記憶體管理電路更用以從所述佇列的所述第二端開始依序選出一個實體抹除單元。記憶體管理電路更用以執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值。其中倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體 管理電路將所選出的實體抹除單元作為第一實體抹除單元。倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,所述記憶體管理電路從所述佇列的第二端開始依序選出下一個實體抹除單元並執行上述抹除次數判斷運作。
在本發明的一實施例中,上述在根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄所述時間標記的操作中,記憶體管理電路更用以配置多個邏輯位址,其中所述邏輯位址映射存有有效資料的實體抹除單元。記憶體管理電路更用以發送第二指令序列,其中第二指令序列指示將屬於邏輯位址之中的第一邏輯位址的第一資料程式化至實體抹除單元之中的實體抹除單元。記憶體管理電路更用以在程式化順序表將對應程式化第一資料的實體抹除單元的時間標記記錄為第一時間戳記,並且接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後發送第三指令序列,其中第三指令序列指示將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至實體抹除單元之中的實體抹除單元。記憶體管理電路更用以在所述程式化順序表將程式化第二資料的實體抹除單元的時間標記記錄為第二時間戳記,其中所述第一時間戳記小於所述第二時間戳記。
在本發明的一實施例中,上述在根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的 操作中,記憶體管理電路更用以依據記錄在所述程式化順序表的所述時間戳記,選出對應最小的時間戳記的實體抹除單元。記憶體管理電路更用執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值。倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體管理電路將所選出的實體抹除單元作為所述第一實體抹除單元。倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體管理電路依據記錄在所述程式化順序表的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述抹除次數判斷運作。
在本發明的一實施例中,上述每一實體抹除單元包括多個實體程式化單元,且每一實體程式化單元包括一資料位元區與一冗餘位元區,其中在根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將所述存有有效資料的每一實體抹除單元記錄時間標記的操作中,記憶體管理電路更用以配置多個邏輯位址,其中所述邏輯位址映射所述存有有效資料的實體抹除單元。記憶體管理電路更用以發送第二指令序列,其中第二指令序列指示將屬於所述邏輯位址之中的第一邏輯位址的第一資料程式化至所述實體抹除單元之中的實體抹除單元,並且在程式化第一資料的實體抹除單元的冗餘位元區中記錄有第一時間戳記。記憶 體管理電路更用以接續在將所述第一資料程式化至實體抹除單元之中的的實體抹除單元之後發送第三指令序列,其中第三指令序列指示將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至所述實體抹除單元之中的實體抹除單元,並且在程式化第二資料的實體抹除單元的冗餘位元區中記錄有第二時間戳記。其中所述第一時間戳記小於所述第二時間戳記。
在本發明的一實施例中,上述在根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的操作中,記憶體管理電路更用以依據記錄在所述存有有效資料的實體抹除單元的冗餘位元區中的多個時間戳記,選出具有最小時間戳記的實體抹除單元。記憶體管理電路更用以執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值。倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體管理電路將所選出的實體抹除單元作為所述第一實體抹除單元。倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體管理電路依據記錄在所述存有有效資料的實體抹除單元的冗餘位元區中的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述抹除次數判斷運作。
本發明的一範例實施例提出一種記憶體儲存裝置,其包 括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組包括多個實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組。記憶體控制電路單元用以根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將所述存有有效資料的每一實體抹除單元記錄一時間標記。記憶體控制電路單元更用以將每一實體抹除單元記錄抹除次數,並且根據所述時間標記從所述存有有效資料的實體抹除單元中選擇第一實體抹除單元。記憶體控制電路單元更用以根據每一實體抹除單元記錄的抹除次數從無存有有效資料的實體抹除單元中提取第二實體抹除單元,並且記憶體控制電路單元更用以發送第一指令序列,其中第一指令序列用以指示將所述第一實體抹除單元中的有效資料寫入所述第二實體抹除單元,以及記憶體控制電路單元將第一實體抹除單元標記為無存有有效資料的實體抹除單元。
在本發明的一範例實施例中,上述在根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄時間標記的操作中,所述記憶體控制電路單元更用以配置多個邏輯位址,其中所述邏輯位址映射存有有效資料的實體抹除單元。記憶體控制電路單元更用以建立一佇列,並且發送第二指令序列,其中第二指令序列指示將屬於邏輯位址之中的第一邏輯位址的第一資料程式化至所述實體抹除單元 之中的實體抹除單元。記憶體控制電路單元更用以在所述佇列中記錄程式化第一資料的實體抹除單元,並且接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後發送第三指令序列,其中第三指令序列指示將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至所述實體抹除單元之中的實體抹除單元。記憶體控制電路單元更用以在所述佇列中記錄程式化第二資料的實體抹除單元。其中所述佇列有第一端與第二端,且在所述第一端與所述第二端之間有多個位置。其中在所述佇列中記錄程式化第一資料的實體抹除單元的位置是接續在記錄程式化第二資料的實體抹除單元的位置之後,並且記錄程式化第一資料的實體抹除單元的位置與所述第一端之間的距離大於記錄程式化第二資料的實體抹除單元的位置與所述第一端之間的距離。
在本發明的一範例實施例中,上述在根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的操作中,所述記憶體控制電路單元更用以從所述佇列的所述第二端開始依序選出一個實體抹除單元,並且執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值。倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體控制電路單元將所選出的實體抹除單元作為所述第一實體抹除單元。倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹 除次數減去所述預定值所獲得的值時,記憶體控制電路單元從所述佇列的第二端開始依序選出下一個實體抹除單元並執行上述抹除次數判斷運作。
在本發明的一範例實施例中,上述在根據實體抹除單元之中存有有效資料的實體抹除單元的程式化順序將存有有效資料的每一實體抹除單元記錄所述時間標記的操作中,記憶體控制電路單元更用以配置多個邏輯位址,其中所述邏輯位址映射存有有效資料的實體抹除單元。記憶體控制電路單元更用以發送第二指令序列,其中第二指令序列指示將屬於邏輯位址之中的第一邏輯位址的第一資料程式化至實體抹除單元之中的實體抹除單元。記憶體控制電路單元更用以在程式化順序表將對應程式化第一資料的實體抹除單元的時間標記記錄為第一時間戳記,並且接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後發送第三指令序列,其中第三指令序列指示將屬於邏輯位址之中的第二邏輯位址的第二資料程式化至所述實體抹除單元之中的實體抹除單元。記憶體控制電路單元更用以在所述程式化順序表將對應程式化第二資料的實體抹除單元的時間標記記錄為第二時間戳記,其中所述第一時間戳記小於所述第二時間戳記。
在本發明的一範例實施例中,上述在根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的操作中,記憶體控制電路單元更用以依據記錄在所述程式化順序表的時間戳記,選出對應最小的時間戳記的實體抹除單元, 並且執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值。倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體控制電路單元將所選出的實體抹除單元作為所述第一實體抹除單元。倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體控制電路單元依據記錄在所述程式化順序表的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述抹除次數判斷運作。
在本發明的一範例實施例中,上述每一實體抹除單元包括多個實體程式化單元,每一實體程式化單元包括一資料位元區與一冗餘位元區,且記憶體控制電路單元更用以配置多個邏輯位址,其中所述邏輯位址映射存有有效資料的實體抹除單元。記憶體控制電路單元更用以發送第二指令序列,其中第二指令序列指示將屬於邏輯位址之中的第一邏輯位址的第一資料程式化至實體抹除單元之中的實體抹除單元,其中在程式化第一資料的實體抹除單元的冗餘位元區中記錄有第一時間戳記。記憶體控制電路單元更用以接續在將所述第一資料程式化至實體抹除單元之中的實體抹除單元之後發送第三指令序列,其中第三指令序列用以指示將屬於所述邏輯位址之中的第二邏輯位址的第二資料程式化至所述實體抹除單元之中的實體抹除單元,其中在程式化第二資料的 實體抹除單元的冗餘位元區中記錄有第二時間戳記,且所述第一時間戳記小於所述第二時間戳記。
在本發明的一範例實施例中,上述在根據所述時間標記從所述存有有效資料的實體抹除單元中選擇所述第一實體抹除單元的操作中,記憶體控制電路單元更用以依據記錄在存有有效資料的實體抹除單元的冗餘位元區中的多個時間戳記,選出具有最小時間戳記的實體抹除單元,並且執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將所述實體抹除單元的平均抹除次數減去一預定值所獲得的值。倘若所選出的實體抹除單元的抹除次數小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體控制電路單元將所選出的實體抹除單元作為所述第一實體抹除單元。倘若所選出的實體抹除單元的抹除次數非小於將所述實體抹除單元的平均抹除次數減去所述預定值所獲得的值時,記憶體控制電路單元依據記錄在存有有效資料的實體抹除單元的冗餘位元區中的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述抹除次數判斷運作。
基於上述,本發明是藉由時間戳記以及抹除次數選出儲存有長時間未更動之資料的實體抹除單元以及具有較大抹除次數的實體抹除單元,並將其作為平均磨損操作的實體抹除單元。如此能有效地平均實體單元的抹除次數,以延長記憶體儲存裝置的使用壽命。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧電腦
13‧‧‧輸入/輸出裝置
122‧‧‧微處理器
124‧‧‧隨機存取記憶體(RAM)
126‧‧‧系統匯流排
128‧‧‧資料傳輸介面
21‧‧‧滑鼠
22‧‧‧鍵盤
23‧‧‧顯示器
24‧‧‧印表機
25‧‧‧隨身碟
26‧‧‧記憶卡
27‧‧‧固態硬碟
31‧‧‧數位相機
32‧‧‧SD卡
33‧‧‧MMC卡
34‧‧‧記憶棒
35‧‧‧CF卡
36‧‧‧嵌入式儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
410(0)~410(N)‧‧‧實體抹除單元
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧緩衝記憶體
510‧‧‧電源管理電路
512‧‧‧錯誤檢查與校正電路
602‧‧‧資料區
604‧‧‧閒置區
606‧‧‧系統區
608‧‧‧取代區
610(0)~610(D)‧‧‧邏輯位址
700‧‧‧佇列
702‧‧‧第一端
704‧‧‧第二端
A1~An‧‧‧位置
1302、1304‧‧‧資料
S1101、S1103、S1105、S1107、S1109‧‧‧平均磨損方法的步驟
1200‧‧‧程式化順序表
1202‧‧‧實體抹除單元欄位
1204‧‧‧時間標記欄位
1200_1、1200_2、1300_1、1300_2‧‧‧時間戳記
1306‧‧‧資料位元區
1308‧‧‧冗餘位元區
圖1是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是根據第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是根據第一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
圖5是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖6A與圖6B是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖7是根據第一範例實施例所繪示之用以記錄對應資料區的實體抹除單元之時間標記的佇列示意圖。
圖8A與圖8B是根據第一範例實施例所繪示之為資料區的實體抹除單元配置時間標記的示意圖。
圖9是根據第一範例實施例所繪示之根據時間標記選擇實體 抹除單元的示意圖。
圖10A與圖10B是根據第一範例實施例所繪示之執行平均磨損操作的一個範例示意圖。
圖11是根據第一範例實施例所繪示之平均磨損方法的流程圖。
圖12A與圖12B是根據第二範例實施例所繪示之為資料區的實體抹除單元配置時間標記的示意圖。
圖13A與圖13B是根據第三範例實施例所繪示之為資料區的實體抹除單元配置時間標記的示意圖。
[第一範例實施例]
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖,且圖2是根據第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
請參照圖1,主機系統11一般包括電腦12與輸入/輸出(input/output,I/O)裝置1106。電腦12包括微處理器122、隨機存取記憶體(random access memory,RAM)124、系統匯流排126與資 料傳輸介面128。輸入/輸出裝置13包括如圖2的滑鼠21、鍵盤22、顯示器23與印表機24。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可更包括其他裝置。
在本實施例中,記憶體儲存裝置10是透過資料傳輸介面128與主機系統11的其他元件電性連接。藉由微處理器122、隨機存取記憶體124與輸入/輸出裝置13的運作可將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。例如,記憶體儲存裝置10可以是如圖2所示的隨身碟25、記憶卡26或固態硬碟(Solid State Drive,SSD)27等的可複寫式非揮發性記憶體儲存裝置。
圖3是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
一般而言,主機系統11為可實質地與記憶體儲存裝置10配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統11是以電腦系統來做說明,然而,在另一範例實施例中主機系統11可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為圖3中的數位相機(攝影機)31時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡32、MMC卡33、記憶棒(memory stick)34、CF卡35或嵌入式儲存裝置36(如圖3所示)。嵌入式儲存裝置36包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接於主機系統的基板上。
圖4是根據第一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parellel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、安全數位(Secure Digital,SD)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元可與記憶體控制電路單元封裝在一個晶片中,或佈設於一包含記憶體控制電路單元之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在 可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404,並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406具有實體抹除單元410(0)~410(N)。例如,實體抹除單元410(0)~410(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含8個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為 實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組406為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個資料位元的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組406亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個資料位元的快閃記憶體模組)、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504與記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至 此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
主機介面504是耦接至記憶體管理電路502並且用以耦接至連接介面單元402,以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準、UHS-II介面標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以 存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體508、電源管理電路510與錯誤檢查與校正電路512。
緩衝記憶體508是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。
電源管理電路510是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
錯誤檢查與校正電路512是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路512會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組4()6中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路512會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖6A與圖6B是根據第一範例實施例所繪示之管理實體 抹除單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體抹除單元的運作時,以“提取”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖6A,記憶體控制電路單元404(或記憶體管理電路502)會將實體抹除單元410(0)~410-(N)邏輯地分組為資料區602、閒置區604、系統區606與取代區608。
邏輯上屬於資料區602與閒置區604的實體抹除單元是用以儲存來自於主機系統11的資料。具體來說,資料區602的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區604的實體抹除單元是用以替換資料區602的實體抹除單元。也就是說,當從主機系統11接收到寫入指令與欲寫入之資料時,記憶體管理電路502會從閒置區604中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區602的實體抹除單元。一般而言,資料區602中的實體抹除單元經過使用者操作後會存有有效資料,而閒置區604中的實體抹除單元為無存有有效資料的實體抹除單元。
邏輯上屬於系統區606的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的 製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區608中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區608中仍存有正常之實體抹除單元並且資料區602的實體抹除單元損壞時,記憶體管理電路502會從取代區608中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區602、閒置區604、系統區606與取代區608之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至資料區602、閒置區604、系統區606與取代區608的分組關係會動態地變動。例如,當閒置區604中的實體抹除單元損壞而被取代區608的實體抹除單元取代時,則原本取代區608的實體抹除單元會被關聯至閒置區604。
請參照圖6B,如上所述,資料區602、閒置區604的實體抹除單元是以輪替方式來儲存主機系統11所寫入之資料。在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會配置邏輯位址610(0)~610(D)給主機系統11,以映射至資料區602中部份的實體抹除單元414(0)~410(F-1),以利於在以上述輪替方式來儲存資料之實體抹除單元中進行資料存取。特別是,主機系統11會透過邏輯位址610(0)~610(D)來存取資料區602中的資料。此外,記憶體控制電路單元404(或記憶體管理電路502)會 建立邏輯-實體映射表(logical-physical mapping table),以記錄邏輯位址與實體抹除單元之間的映射關係。此邏輯-實體映射表還可以例如是記錄邏輯位址與實體程式化單元、邏輯程式化單元與實體程式化單元及/或邏輯程式化單元與實體抹除單元之間的映射關係等各種邏輯與實體的對應關係,本發明不加以限制。
請再參照圖6A,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會根據資料區602的實體抹除單元410(0)~410(F-1)的程式化順序為資料區602的每一實體抹除單元410(0)~410(F-1)記錄時間標記。在此,程式化順序指的是資料區602的實體抹除單元410(0)~410(F-1)被寫入資料的先後順序。例如,資料區602的每一實體抹除單元410(0)~410(F-1)的程式化順序,即代表每一實體抹除單元410(0)~410(F-1)中的資料的新舊程度,也就是說,越早被寫入資料的實體抹除單元中的寫入資料為較舊的資料,越晚被寫入資料的實體抹除單元中的寫入資料為較新的資料。
在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會為每一實體抹除單元410(0)~410(N)記錄對應的抹除次數。具體而言,每一實體抹除單元410(0)~410(N)的抹除次數是有限的。例如,實體抹除單元在抹除一萬次之後就會損壞,並且當實體抹除單元磨損導致儲存容量之部分容量損失或性能明顯退化時,會造成使用者所儲存的資料遺失或無法儲存資料等不利影響。特別是,實體抹除單元的磨損係取決於每一實體抹除單元 中被程式化或抹除的次數。也就是說,若一實體抹除單元僅被程式化(或者寫入)一次,爾後未被再次程式時,此實體抹除單元的磨損程度將相對地低。反之,若一個實體抹除單元被重複地程式化與抹除時,則此實體抹除單元的磨損程度就會相對地高。例如,當可複寫式非揮發性記憶體模組406中的一個實體抹除單元被抹除時,記憶體控制電路單元404(或記憶體管理電路502)會將對應此實體抹除單元的抹除次數加1。在此,抹除次數可被記錄於一抹除次數表中或者其所對應的實體抹除單元中。
在本範例實施例中,當執行平均磨損操作時,記憶體控制電路單元404(或記憶體管理電路502)會根據每一實體抹除單元410(0)~410(N)的磨損狀態(即,抹除次數)以及所記錄的時間標記從閒置區604與資料區602中來選擇實體抹除單元來進行交換。例如,記憶體控制電路單元404(或記憶體管理電路502)會根據時間標記從資料區602的實體抹除單元410(0)~410(F-1)中選擇一個實體抹除單元(亦稱為第一實體抹除單元),並且根據每一實體抹除單元記錄的抹除次數從閒置區604提取另一個實體抹除單元(亦稱為第二實體抹除單元)。接著,記憶體控制電路單元404(或記憶體管理電路502)會發送一指令序列(亦稱為第一指令序列),此第一指令序列包括一或多個指令或程式碼,並且用以指示將第一實體抹除單元中的有效資料寫入第二實體抹除單元,以及將第一實體抹除單元標記為無存有有效資料的實體抹除單元。換言之,記憶體控制電路單元404(或記憶體管理電路502)會將第二實體抹除單元 關聯至資料區602,並且將第一實體抹除單元關聯至閒置區604,以完成平均磨損操作。在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是提取閒置區604中具有最大抹除次數的實體抹除單元來執行平均抹除操作。也就是說,第二實體抹除單元的抹除次數大於閒置區604中其他的實體抹除單元的抹除次數。然而,本發明不加以限制所提取之第二實體抹除單元的抹除次數,例如,在另一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是提取閒置區604中具有次大抹除次數的實體抹除單元來執行平均抹除操作。
例如,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會建立一個佇列以依序地根據資料區602的實體抹除單元410(0)~410(F-1)的程式化順序記錄實體抹除單元410(0)~410(F-1)來表示資料區602的每一實體抹除單元的時間標記。
圖7是根據第一範例實施例所繪示之用以記錄對應資料區的實體抹除單元之時間標記的佇列示意圖。
請參照圖7,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)所建立的佇列700具有第一端702與第二端704,並且在第一端702與第二端704之間有多個位置A1~An。在此,第一端702為佇列700的頭端,而第二端704為佇列700的尾端。然而,必須了解的是,本發明不限於此,在另一範例實施例中,第一端702亦可以是佇列700的尾端,而第二 端704亦可以是佇列700的頭端。佇列700可以表格的形式被儲存在緩衝記憶體508或隨機存取記憶體124中,並且於主機系統11關機時或記憶體儲存裝置10斷電時被更新至可複寫式非揮發性記憶體模組406中。
圖8A與圖8B是根據第一範例實施例所繪示之為資料區的實體抹除單元配置時間標記的示意圖。
請參照圖8A,倘若記憶體控制電路單元404(或記憶體管理電路502)從主機系統11接收到欲寫入資料(亦稱為第一資料)至邏輯位址610(1)(亦稱為第一邏輯位址)的操作指令序列時,記憶體控制電路單元404(或記憶體管理電路502)會發送一指令序列(亦稱為第二指令序列),此第二指令序列包括一或多個指令或程式碼,並且用以指示將屬於第一邏輯位址610(1)的第一資料程式化至一個實體抹除單元(例如,實體抹除單元410(1)),記憶體控制電路單元404(或記憶體管理電路502)會將實體抹除單元410(1)映射至第一邏輯位址610(1)(即,將實體抹除單元410(1)關聯至資料區602),並且從佇列700的第一端702開始將映射此第一邏輯位址610(1)的實體抹除單元410(1)記錄於佇列700中的位置A1。值得注意的是,本發明並不限制記錄於佇列700之實體抹除單元的形式。舉例來說,記憶體控制電路單元404(或記憶體管理電路502)可在佇列700中記錄用以代表實體抹除單元410(1)的資訊,例如,圖8A中所示之佇列700中的「“410(1)”」可以是實體抹除單元410(1)的編號、識別值或是其所對應的邏輯位址。
請參照圖8B,在將第一資料程式化至映射第一邏輯位址610(1)的實體抹除單元410(1)之後,倘若記憶體控制電路單元404(或記憶體管理電路502)從主機系統11接收到欲寫入資料(亦稱為第二資料)至邏輯位址610(2)(亦稱為第二邏輯位址)的操作指令序列時,記憶體控制電路單元404(或記憶體管理電路502)會發送第三指令序列,此第三指令序列亦包括一或多個指令或程式碼,並且第三指令序列用以指示將屬於第二邏輯位址610(2)的第二資料程式化至一個實體抹除單元(例如,實體抹除單元410(2)),將實體抹除單元410(2)映射至第一邏輯位址610(2)(即,將實體抹除單元410(2)關聯至資料區602),並且在佇列700中記錄映射此第二邏輯位址610(2)的實體抹除單元410(2)。類似地,圖8B中所示之佇列700中的「“410(2)”」可以是實體抹除單元410(2)的編號、識別值或是其所對應的邏輯位址。
此時,如圖8B所示,在佇列700中記錄映射第一邏輯位址610(1)的實體抹除單元410(1)的位置A2是接續在記錄映射第二邏輯位址610(2)的實體抹除單元410(2)的位置A1之後。也就是說,記錄映射第一邏輯位址610(1)的實體抹除單元410(1)的位置A2與第一端702之間的距離大於記錄映射第二邏輯位址610(2)的實體抹除單元410(2)的位置A1與第一端702之間的距離。
具體而言,對於被寫入可複寫式非揮發性記憶體模組406後就長時間未曾更動或甚至被設定成唯讀屬性的資料(以下將這類資料稱為冷資料(cold data)),儲存此類資料的實體抹除單元因資 料鮮少更新或不能更新,因此其抹除次數會相對較低。由於在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是從佇列700的第一端702開始記錄依序被程式化的實體抹除單元。也就是說,被記錄在佇列700中具有距離與第二端704越小且距離與第一端702越大之位置的實體抹除單元中的資料為較舊的且較少被更動的資料,而此些較舊的且較少被更動的資料為冷資料的可能性較大。因此,在根據時間標記從資料區602的實體抹除單元中選擇第一實體抹除單元的操作中,記憶體控制電路單元404(或記憶體管理電路502)會從佇列700的第二端704開始依序選出一個實體抹除單元。
圖9是根據第一範例實施例所繪示之根據時間標記選擇實體抹除單元的示意圖。
請參照圖9,在本範例實施例中,假設目前佇列700的位置A1~An已由記憶體控制電路單元404(或記憶體管理電路502)依照各實體抹除單元的程式化順序記錄有依序被程式化的實體抹除單元的資訊,因此,在根據時間標記從資料區602的實體抹除單元410(0)~410(F-1)中選擇第一實體抹除單元的操作中,記憶體控制電路單元404(或記憶體管理電路502)會從佇列700的第二端704開始選出記錄於位置An的實體抹除單元410(1)。接著,記憶體控制電路單元404(或記憶體管理電路502)會執行抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將實體抹除單元的平均抹除次數減去預定值所獲得的值。在本範例實施 例中,實體抹除單元的平均抹除次數例如是可複寫式非揮發性記憶體模組406中所有實體抹除單元的抹除次數的平均,而預定值為大於或等於0的一個正整數。然而,本發明並不限於此,例如,在另一範例實施例中,實體抹除單元的平均抹除次數可以是部分實體抹除單元的抹除次數的平均,而預定值可依據記憶體儲存裝置10的執行性能而被調整與設定。
之後,倘若所選出的實體抹除單元的抹除次數小於將實體抹除單元的平均抹除次數減去預定值所獲得的值時,記憶體控制電路單元404(或記憶體管理電路502)會將所選出的實體抹除單元作為第一實體抹除單元。反之,倘若所選出的實體抹除單元的抹除次數非小於將實體抹除單元的平均抹除次數減去預定值所獲得的值時,記憶體控制電路單元404(或記憶體管理電路502)會從佇列700的第二端704開始依序選出下一個實體抹除單元並執行上述抹除次數判斷運作。
請再參照圖9,舉例而言,在如圖9所示的狀態下,記憶體控制電路單元404(或記憶體管理電路502)會從佇列700的第二端704開始選出記錄於位置An的實體抹除單元410(1),並且判斷所選出的實體抹除單元410(1)的抹除次數是否小於將實體抹除單元的平均抹除次數減去預定值所獲得的值。在此,假設實體抹除單元410(1)的抹除次數經記憶體控制電路單元404(或記憶體管理電路502)判斷後的結果為非小於將實體抹除單元的平均抹除次數減去預定值所獲得的值,因此,記憶體控制電路單元404(或記憶 體管理電路502)會從佇列700的第二端704開始依序選出記錄於位置A(n-1)的實體抹除單元410(2)並執行上述抹除次數判斷運作。
記憶體控制電路單元404(或記憶體管理電路502)接續地判斷所選出的實體抹除單元410(2)的抹除次數是否小於將實體抹除單元的平均抹除次數減去預定值所獲得的值,在此,倘若所選出的實體抹除單元410(2)的抹除次數小於將所有實體抹除單元的平均抹除次數減去預定值所獲得的值,則記憶體控制電路單元404(或記憶體管理電路502)會將所選出的實體抹除單元410(2)作為第一實體抹除單元。
圖10A與圖10B是根據第一範例實施例所繪示之執行平均磨損操作的一個範例示意圖。
請參照圖10A與圖10B,在執行平均磨損操作時,記憶體控制電路單元404(或記憶體管理電路502)會根據時間標記與抹除次數(如圖9所示的判斷)從資料區602中選出一個實體抹除單元(例如,實體抹除單元410(2)),從閒置區604中選出具有最大抹除次數的實體抹除單元(例如,實體抹除單元410(F+2)),將實體抹除單元410(2)中的有效資料複製到實體抹除單元410(F+2),將實體抹除單元410(F+2)關聯至資料區602(即,將實體抹除單元410(F+2)映射至邏輯位址610(2)),並且將實體抹除單元410(2)(或抹除後的將實體抹除單元410(2))關聯至閒置區604。在本範例實施例中,藉由上述根據時間標記選擇實體抹除單元的操作以及對所選擇之實體抹除單元執行抹除次數判斷的運 作,可以選到儲存有較舊且較少被更動的冷資料的實體抹除單元,且所選到之實體抹除單元具有較小的抹除次數。如此一來,實體抹除單元410(F+2)被再次執行平均抹除操作的機率會降低,並且原先儲存冷資料且抹除次數較小的第一實體抹除單元410(2)有機會用以寫入資料。
值得一提的是,本發明並不加以限制上述執行平均磨損操作的時間點,例如,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是在某一實體抹除單元的抹除次數大於某個門檻值時,執行所述平均磨損操作,其中所述門檻值可依據記憶體儲存裝置10的執行效能與需求而被設定。然而,本發明並不限於此,例如,在另一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是每隔一特定的時間執行所述平均磨損操作。
圖11是根據第一範例實施例所繪示之平均磨損方法的流程圖。
請參照圖11,在步驟S1101中,記憶體控制電路單元404(或記憶體管理電路502)根據實體抹除單元之中存有有效資料的實體抹除單元410(0)~410(F-1)的程式化順序為存有有效資料的每一實體抹除單元記錄時間標記。
在步驟S1103中,記憶體控制電路單元404(或記憶體管理電路502)為每一實體抹除單元記錄抹除次數。
在步驟S1105中,記憶體控制電路單元404(或記憶體管 理電路502)根據時間標記從存有有效資料的實體抹除單元中選擇第一實體抹除單元。
在步驟S1107中,記憶體控制電路單元404(或記憶體管理電路502)根據每一實體抹除單元記錄的抹除次數從實體抹除單元之中無存有有效資料的實體抹除單元中提取第二實體抹除單元。
在步驟S1109中,記憶體控制電路單元404(或記憶體管理電路502)發送一第一指令序列,此第一指令序列用以指示將第一實體抹除單元中的有效資料寫入第二實體抹除單元,並且將第一實體抹除單元標記為無存有有效資料的實體抹除單元。
[第二範例實施例]
第二範例實施例的記憶體儲存裝置的硬體結構本質上是相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第一範例實施例的記憶體儲存裝置是以佇列的形式為資料區的每一實體抹除單元配置時間標記,而第二範例實施例的記憶體儲存裝置是以程式化順序表為資料區的每一實體抹除單元配置時間標記。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第二範例實施例的記憶體儲存裝置的運作。
圖12A與圖12B是根據第二範例實施例所繪示之為資料區的實體抹除單元配置時間標記的示意圖。
請參照圖12A,記憶體控制電路單元404(或記憶體管理 電路502)會建立程式化順序表1200。例如,程式化順序表1200包括實體抹除單元欄位1202與時間標記欄位1204,其中實體抹除單元欄位1202記錄被執行程式化之實體抹除單元的編號、識別值或是其所對應的邏輯位址,而時間標記欄位1204用以記錄對應此實體抹除單元的時間戳記。
倘若記憶體控制電路單元404(或記憶體管理電路502)從主機系統11接收到欲寫入資料(亦稱為第一資料)至邏輯位址610(1)(亦稱為第一邏輯位址)的操作指令序列時,記憶體控制電路單元404(或記憶體管理電路502)會發送第二指令序列,此第二指令序列包括一或多個指令或程式碼,並且用以指示將屬於第一邏輯位址610(1)的第一資料程式化至一個實體抹除單元(例如,實體抹除單元410(1)),記憶體控制電路單元404(或記憶體管理電路502)會將實體抹除單元410(1)映射至邏輯位址610(1),並且在程式化順序表1200中將對應映射此第一邏輯位址610(1)的實體抹除單元410(1)的時間標記記錄為第一時間戳記1200_1。例如,記憶體控制電路單元404(或記憶體管理電路502)是在程式化順序表1200中將對應映射此第一邏輯位址610(1)的實體抹除單元410(1)記錄為“410(1)”,以及將第一時間戳記1200_1記錄為“000001”。舉例來說,圖12A中所示之程式化順序表1200中的「“410(1)”」可以是實體抹除單元410(1)的編號、識別值或是其所對應的邏輯位址。
請參照圖12B,在將第一資料程式化至實體抹除單元 410(1)之後,倘若記憶體控制電路單元404(或記憶體管理電路502)從主機系統11接收到欲寫入資料(亦稱為第二資料)至邏輯位址610(2)(亦稱為第二邏輯位址)的操作指令序列時,記憶體控制電路單元404(或記憶體管理電路502)會發送第三指令序列,此第三指令序列亦包括一或多個指令或程式碼並且用以指示將屬於第二邏輯位址610(2)的第二資料程式化至一個實體抹除單元(例如,實體抹除單元410(2)),將實體抹除單元410(2)映射至第二邏輯位址610(2),並且在程式化順序表1200中將對應映射此第二邏輯位址610(2)的實體抹除單元410(2)記錄為“410(2)”,以及將對應映射此第二邏輯位址610(2)的實體抹除單元410(2)的第二時間戳記1200_2記錄為“000002”。類似地,圖12B中所示之程式化順序表1200中的「“410(2)”」可以是實體抹除單元410(2)的編號、識別值或是其所對應的邏輯位址。在此,如圖12B所示,由於對應第一時間戳記1200_1的映射第一邏輯位址610(1)的實體抹除單元410(1)被程式化的時間早於對應第二時間戳記1200_2的映射第二邏輯位址610(2)的實體抹除單元410(2),因此,記憶體控制電路單元404(或記憶體管理電路502)所記錄的第一時間戳記1200_1小於第二時間戳記1200_2。
之後,在執行平均磨損操作時,記憶體控制電路單元404(或記憶體管理電路502)會依據記錄在程式化順序表1200的時間戳記,選出對應最小的時間戳記的實體抹除單元。例如,在如圖12B所示的狀態下,記憶體控制電路單元404(或記憶體管理電 路502)會從程式化順序表1200中選擇對應最小時間戳記1200_1的實體抹除單元410(1)(即,其時間標記記錄為“000001”的實體抹除單元410(1)),並且判斷所選出的實體抹除單元410(1)的抹除次數是否小於將實體抹除單元的平均抹除次數減去預定值所獲得的值。在此,假設實體抹除單元410(1)的抹除次數經記憶體控制電路單元404(或記憶體管理電路502)判斷後的結果為非小於將實體抹除單元的平均抹除次數減去預定值所獲得的值,因此,記憶體控制電路單元404(或記憶體管理電路502)會依據記錄在程式化順序表1200的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元420(2)並執行上述抹除次數判斷運作。
記憶體控制電路單元404(或記憶體管理電路502)接續地判斷所選出的實體抹除單元410(2)的抹除次數是否小於將實體抹除單元的平均抹除次數減去預定值所獲得的值,在此,倘若所選出的實體抹除單元410(2)的抹除次數小於將所有實體抹除單元的平均抹除次數減去預定值所獲得的值,則記憶體控制電路單元404(或記憶體管理電路502)會將所選出的實體抹除單元410(2)作為第一實體抹除單元。類似地,在記憶體控制電路單元404(或記憶體管理電路502)根據時間戳記與抹除次數選出第一實體抹除單元後,以及根據各個實體抹除單元的抹除次數選出具有最大抹除次數的第二實體抹除單元後,記憶體控制電路單元404(或記憶體管理電路502)會執行平均磨損操作以將第一實體抹除單元的資料寫入第二實體抹除單元,將第二實體抹除單元關聯至資料區602, 並且將第一實體抹除單元關聯至閒置區604。在此,平均磨損操作是相同於第一範例實施例中圖10A與圖10B所示之方法,在此不再重複。
[第三範例實施例]
第三範例實施例的記憶體儲存裝置的硬體結構本質上是相同於第一範例實施例的記憶體儲存裝置的硬體結構,其差異之處在於第三範例實施例的記憶體儲存裝置是以實體抹除單元的冗餘位元區記錄資料區的每一實體抹除單元配置時間標記。以下將使用第一範例實施例的記憶體儲存裝置的圖式與元件編號來詳細說明第三範例實施例的記憶體儲存裝置的運作。
圖13A與圖13B是根據第三範例實施例所繪示之為資料區的實體抹除單元配置時間標記的示意圖。
請參照圖13A,每一實體抹除單元包括多個實體程式化單元,且每一實體程式化單元包括一資料位元區與一冗餘位元區,以實體抹除單元410(1)為例,實體抹除單元410(1)包括多個實體程式化單元(即,第0個實體程式化單元至第M-1個實體程式化單元),且每一實體程式化單元包括資料位元區1306與冗餘位元區1308。
在本範例實施例中,倘若從主機系統11接收到欲寫入資料1302(亦稱為第一資料)至邏輯位址610(1)(亦稱為第一邏輯位址)的操作指令序列時,記憶體控制電路單元404(或記憶體管理電路502)會發送第二指令序列,此第二指令序列包括一或多個指令或 程式碼,並且第二指令序列用以指示將屬於第一邏輯位址610(1)的第一資料1302程式化至一個實體抹除單元(例如,實體抹除單元410(1)),記憶體控制電路單元404(或記憶體管理電路502)會同時在實體抹除單元410(1)的冗餘位元區1308中將時間標記記錄為第一時間戳記1300_1,並且將實體抹除單元410(1)映射至第一邏輯位址610(1)。例如,記憶體控制電路單元404(或記憶體管理電路502)是在實體抹除單元410(1)的第0個實體程式化單元中記錄值為“000001”的第一時間戳記1300_1。然而,本發明並不加以限制用以記錄時間戳記的實體程式化單元,例如,在另一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是使用實體抹除單元410(1)中的其他實體程式化單元中來記錄第一時間戳記。
請參照圖13B,在將第一資料1302程式化至實體抹除單元410(1)之後,倘若記憶體控制電路單元404(或記憶體管理電路502)從主機系統11接收到欲寫入資料1304(亦稱為第二資料)至邏輯位址610(2)(亦稱為第二邏輯位址)的操作指令序列時,記憶體控制電路單元404(或記憶體管理電路502)會發送第三指令序列,此第三指令序列包括一或多個指令或程式碼,且第三指令序列用以指示將屬於第二邏輯位址610(2)的第二資料1304程式化至一個實體抹除單元(例如,實體抹除單元410(2)),並且記憶體控制電路單元404(或記憶體管理電路502)會同時在實體抹除單元410(2)的第0個實體程式化單元中記錄值為“000002”的第二時間戳記 1300_2,以及將實體抹除單元410(2)映射至第二邏輯位址610(2)。在此,如圖13B所示,由於對應第一時間戳記1300_1的映射第一邏輯位址610(1)的實體抹除單元410(1)被程式化的時間早於對應第二時間戳記1300_2的映射第二邏輯位址610(2)的實體抹除單元410(2),因此,記憶體控制電路單元404(或記憶體管理電路502)所記錄的第一時間戳記1300_1小於第二時間戳記1300_2。
之後,在執行平均磨損操作時,記憶體控制電路單元404(或記憶體管理電路502)會依據記錄在資料區602的實體抹除單元410(0)~410(F-1)的冗餘位元區1308中的多個時間戳記,選出具有最小時間戳記的實體抹除單元。例如,在如圖13B所示的狀態下,記憶體控制電路單元404(或記憶體管理電路502)會從實體抹除單元410(0)~410(F-1)中選擇對應最小的第一時間戳記1300_1的實體抹除單元410(1)(即,其時間標記記錄為“000001”的實體抹除單元410(1)),並且判斷所選出的實體抹除單元410(1)的抹除次數是否小於將實體抹除單元的平均抹除次數減去預定值所獲得的值。在此,假設實體抹除單元410(1)的抹除次數經記憶體控制電路單元404(或記憶體管理電路502)判斷後的結果為非小於將實體抹除單元的平均抹除次數減去預定值所獲得的值,因此,記憶體控制電路單元404(或記憶體管理電路502)會依據記錄在資料區602的實體抹除單元410(0)~410(F-1)的冗餘位元區1308中的時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元420(2)並執行上述抹除次數判斷運作。類似地,在記憶體控制電路 單元404(或記憶體管理電路502)根據時間戳記與抹除次數選出第一實體抹除單元後,以及根據各個實體抹除單元的抹除次數選出具有最大抹除次數的第二實體抹除單元後,記憶體控制電路單元404(或記憶體管理電路502)會執行平均磨損操作以將第一實體抹除單元的資料寫入第二實體抹除單元,將第二實體抹除單元關聯至資料區602,並且將第一實體抹除單元關聯至閒置區604。在此,平均磨損操作是相同於第一範例實施例中圖10A與圖10B所示之方法,在此不再重複。
綜上所述,本發明的平均磨損方法會以原先具有較大抹除次數的實體抹除單元與儲存有長時間未更動之資料的實體抹除單元進行平均磨損操作,由此原先具有較大抹除次數的實體抹除單元接下來被抹除的機會減小,而原先具有較小抹除次數的實體抹除單元被關聯至閒置區以作為用以輪替的實體抹除單元。如此一來,實體抹除單元的磨損程度更為平均且延長了記憶體儲存系統的壽命。
S1101、S1103、S1105、S1107、S1109‧‧‧平均磨損方法的步驟

Claims (21)

  1. 一種平均磨損方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該平均磨損的方法包括:根據該些實體抹除單元之中存有有效資料的實體抹除單元的一程式化順序將存有有效資料的每一實體抹除單元記錄一時間標記;將每一該些實體抹除單元記錄一抹除次數;根據該時間標記從存有有效資料的該些實體抹除單元中選擇一第一實體抹除單元;根據每一該些實體抹除單元記錄的該抹除次數從無存有有效資料的實體抹除單元中提取一第二實體抹除單元;以及將該第一實體抹除單元中的有效資料寫入該第二實體抹除單元,並且將該第一實體抹除單元標記為無存有有效資料的實體抹除單元。
  2. 如申請專利範圍第1項所述之平均磨損方法,其中根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄一時間標記的步驟包括:配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元;建立一佇列; 將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元;在該佇列中記錄程式化該第一資料的實體抹除單元;接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後,將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元;以及在該佇列中記錄程式化該第二資料的實體抹除單元,其中該佇列有一第一端與一第二端,且在該第一端與該第二端之間有多個位置,其中在該佇列中記錄程式化該第一資料的實體抹除單元的位置是接續在記錄程式化該第二資料的實體抹除單元的位置之後,並且記錄程式化該第一資料的實體抹除單元的位置與該第一端之間的距離大於記錄程式化該第二資料的實體抹除單元的位置與該第一端之間的距離。
  3. 如申請專利範圍第2項所述之平均磨損方法,其中根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的步驟包括:(a)從該佇列的該第二端開始依序選出一個實體抹除單元;(b)判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值;(c)倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,將所選出 的實體抹除單元作為該第一實體抹除單元;以及(d)倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,從該佇列的該第二端開始依序選出下一個實體抹除單元並執行上述步驟(b)。
  4. 如申請專利範圍第1項所述之平均磨損的方法,其中根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一該些實體抹除單元記錄該時間標記的步驟包括:配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元;將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元;在一程式化順序表將對應程式化該第一資料的實體抹除單元的時間標記記錄為一第一時間戳記;接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後,將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元;以及在該程式化順序表將對應程式化該第二資料的實體抹除單元的時間標記記錄為一第二時間戳記,其中該第一時間戳記小於該第二時間戳記。
  5. 如申請專利範圍第4項所述之平均磨損的方法,其中根據 該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的步驟包括:(a)依據記錄在該程式化順序表的該些時間戳記,選出對應最小的時間戳記的實體抹除單元;(b)判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值;(c)倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,將所選出的實體抹除單元作為該第一實體抹除單元;以及(d)倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,依據記錄在該程式化順序表的該些時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述步驟(b)。
  6. 如申請專利範圍第1項所述之平均磨損方法,其中每一該些實體抹除單元包括多個實體程式化單元,且每一該些實體程式化單元包括一資料位元區與一冗餘位元區,其中根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄該時間標記的步驟包括:配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元;將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元; 在程式化該第一資料的實體抹除單元的冗餘位元區中記錄一第一時間戳記;接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後,將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元;以及在程式化該第二資料的實體抹除單元的冗餘位元區中記錄一第二時間戳記,其中該第一時間戳記小於該第二時間戳記。
  7. 如申請專利範圍第6項所述之平均磨損方法,其中根據該時間標記從該存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的步驟包括:(a)依據記錄在存有有效資料的該些實體抹除單元的冗餘位元區中的多個時間戳記,選出具有最小時間戳記的實體抹除單元;(b)判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值;(c)倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,將所選出的實體抹除單元作為該第一實體抹除單元;以及(d)倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,依據記錄在存有有效資料的該些實體抹除單元的冗餘位元區中的該些時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元 並執行上述步驟(b)。
  8. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,其中該記憶體管理電路用以根據該些實體抹除單元之中存有有效資料的實體抹除單元的一程式化順序將存有有效資料的每一實體抹除單元記錄一時間標記,其中該記憶體管理電路更用以將每一該些實體抹除單元記錄一抹除次數,其中該記憶體管理電路更用以根據該時間標記從該存有有效資料的該些實體抹除單元中選擇一第一實體抹除單元,其中該記憶體管理電路更用以根據每一該些實體抹除單元記錄的該抹除次數從無存有有效資料的實體抹除單元中提取一第二實體抹除單元,其中該記憶體管理電路更用以發送一第一指令序列,其中該第一指令序列用以指示將該第一實體抹除單元中的有效資料寫入該第二實體抹除單元,並且該記憶體管理電路將該第一實體抹除單元標記為無存有有效資料的實體抹除單元。
  9. 如申請專利範圍第8項所述之記憶體控制電路單元,其中在根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄該時間標記的操作中,該記憶體管理電路更用以配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元,其中該記憶體管理電路更用以建立一佇列,其中該記憶體管理電路更用以發送一第二指令序列,其中該第二指令序列用以指示將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體管理電路更用以在該佇列中記錄程式化該第一資料的實體抹除單元,其中該記憶體管理電路更用以接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後發送一第三指令序列,其中該第三指令序列用以指示將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體管理電路更用以在該佇列中記錄程式化該第二資料的實體抹除單元,其中該佇列有一第一端與一第二端,且在該第一端與該第二端之間有多個位置,其中在該佇列中記錄程式化該第一資料的實體抹除單元的位 置是接續在記錄程式化該第二資料的實體抹除單元的位置之後,並且記錄程式化該第一資料的實體抹除單元的位置與該第一端之間的距離大於記錄程式化該第二資料的實體抹除單元的位置與該第一端之間的距離。
  10. 如申請專利範圍第9項所述之記憶體控制電路單元,其中在根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的操作中,該記憶體管理電路更用以從該佇列的該第二端開始依序選出一個實體抹除單元,其中該記憶體管理電路更用以執行一抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值,其中倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體管理電路將所選出的實體抹除單元作為該第一實體抹除單元,其中倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體管理電路從該佇列的該第二端開始依序選出下一個實體抹除單元並執行上述該抹除次數判斷運作。
  11. 如申請專利範圍第8項所述之記憶體控制電路單元,其中在根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一該些實體抹除單元記錄該時間標記的操作中,該記憶體管理電路更用以配置多個邏輯位址, 其中該些邏輯位址映射存有有效資料的該些實體抹除單元,其中該記憶體管理電路更用以發送一第二指令序列,其中該第二指令序列用以指示將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體管理電路更用以在一程式化順序表將對應程式化該第一資料的實體抹除單元的時間標記記錄為一第一時間戳記,其中該記憶體管理電路更用以接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後發送一第三指令序列,其中該第三指令序列用以指示將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體管理電路更用以在該程式化順序表將對應程式化該第二資料的實體抹除單元的時間標記記錄為一第二時間戳記,其中該第一時間戳記小於該第二時間戳記。
  12. 如申請專利範圍第11項所述之記憶體控制電路單元,其中在根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的操作中,該記憶體管理電路更用以依據記錄在該程式化順序表的該些時間戳記,選出對應最小的時間戳記的實體抹除單元, 其中該記憶體管理電路更用執行一抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值,其中倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體管理電路將所選出的實體抹除單元作為該第一實體抹除單元,其中倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體管理電路依據記錄在該程式化順序表的該些時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述該抹除次數判斷運作。
  13. 如申請專利範圍第8項所述之記憶體控制電路單元,其中每一該些實體抹除單元包括多個實體程式化單元,且每一該些實體程式化單元包括一資料位元區與一冗餘位元區,其中在該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄該時間標記的操作中,該記憶體管理電路更用以配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元,其中該記憶體管理電路更用以發送一第二指令序列,其中該第二指令序列用以指示將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元, 其中在程式化該第一資料的實體抹除單元的冗餘位元區中記錄有一第一時間戳記,其中該記憶體管理電路更用以接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後發送一第三指令序列,其中該第三指令序列用以指示將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元,其中在程式化該第二資料的實體抹除單元的冗餘位元區中記錄有一第二時間戳記,其中該第一時間戳記小於該第二時間戳記。
  14. 如申請專利範圍第13項所述之記憶體控制電路單元,其中在根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的操作中,該記憶體管理電路更用以依據記錄在存有有效資料的該些實體抹除單元的冗餘位元區中的多個時間戳記,選出具有最小時間戳記的實體抹除單元,其中該記憶體管理電路更用以執行一抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值,其中倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體管理電路將所選出的實體抹除單元作為該第一實體抹除單元,其中倘若所選出的實體抹除單元的抹除次數非小於將該些實 體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體管理電路依據記錄在存有有效資料的該些實體抹除單元的冗餘位元區中的該些時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述該抹除次數判斷運作。
  15. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元用以根據該些實體抹除單元之中存有有效資料的實體抹除單元的一程式化順序將存有有效資料的每一該些實體抹除單元記錄一時間標記,其中該記憶體控制電路單元更用以將每一該些實體抹除單元記錄一抹除次數,其中該記憶體控制電路單元更用以根據該時間標記從存有有效資料的該些實體抹除單元中選擇一第一實體抹除單元,其中該記憶體控制電路單元更用以根據每一該些實體抹除單元記錄的該抹除次數從無存有有效資料的實體抹除單元中提取一第二實體抹除單元,其中該記憶體控制電路單元更用以發送一第一指令序列,其中該第一指令序列用以指示將該第一實體抹除單元中的有效資料 寫入該第二實體抹除單元,並且該記憶體控制電路單元將該第一實體抹除單元標記為無存有有效資料的實體抹除單元。
  16. 如申請專利範圍第15項所述之記憶體儲存裝置,其中在根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄該時間標記的操作中,該記憶體控制電路單元更用以配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元,其中該記憶體控制電路單元更用以建立一佇列,其中該記憶體控制電路單元更用以發送一第二指令序列,其中該第二指令序列用以指示將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體控制電路單元更用以在該佇列中記錄程式化該第一資料的實體抹除單元,其中該記憶體控制電路單元更用以接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後發送一第三指令序列,其中該第三指令序列用以指示將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體控制電路單元更用以在該佇列中記錄程式化該第二資料的實體抹除單元,其中該佇列有一第一端與一第二端,且在該第一端與該第二 端之間有多個位置,其中在該佇列中記錄程式化該第一資料的實體抹除單元的位置是接續在記錄程式化該第二資料的實體抹除單元的位置之後,並且記錄程式化該第一資料的實體抹除單元的位置與該第一端之間的距離大於記錄程式化該第二資料的實體抹除單元的位置與該第一端之間的距離。
  17. 如申請專利範圍第16項所述之記憶體儲存裝置,其中在根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的操作中,該記憶體控制電路單元更用以從該佇列的該第二端開始依序選出一個實體抹除單元,其中該記憶體控制電路單元更用以執行一抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值,其中倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體控制電路單元將所選出的實體抹除單元作為該第一實體抹除單元,其中倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體控制電路單元從該佇列的該第二端開始依序選出下一個實體抹除單元並執行上述該抹除次數判斷運作。
  18. 如申請專利範圍第15項所述之記憶體儲存裝置,其中在 根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄該時間標記的操作中,該記憶體控制電路單元更用以配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元,其中該記憶體控制電路單元更用以發送一第二指令序列,其中該第二指令序列用以指示將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體控制電路單元更用以在一程式化順序表將對應程式化該第一資料的實體抹除單元的時間標記記錄為一第一時間戳記,其中該記憶體控制電路單元更用以接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後發送一第三指令序列,其中該第三指令序列用以指示將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元,其中該記憶體控制電路單元更用以在該程式化順序表將對應程式化該第二資料的實體抹除單元的時間標記記錄為一第二時間戳記,其中該第一時間戳記小於該第二時間戳記。
  19. 如申請專利範圍第18項所述之記憶體儲存裝置,其中在根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第 一實體抹除單元的操作中,該記憶體控制電路單元更用以依據記錄在該程式化順序表的該些時間戳記,選出對應最小的時間戳記的實體抹除單元,其中該記憶體控制電路單元更用以執行一抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值,其中倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體控制電路單元將所選出的實體抹除單元作為該第一實體抹除單元,其中倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體控制電路單元依據記錄在該程式化順序表的該些時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述該抹除次數判斷運作。
  20. 如申請專利範圍第15項所述之記憶體儲存裝置,其中每一該些實體抹除單元包括多個實體程式化單元,且每一該些實體程式化單元包括一資料位元區與一冗餘位元區,其中在根據該些實體抹除單元之中存有有效資料的實體抹除單元的該程式化順序將存有有效資料的每一實體抹除單元記錄該時間標記的操作中,該記憶體控制電路單元更用以配置多個邏輯位址,其中該些邏輯位址映射存有有效資料的該些實體抹除單元, 其中該記憶體控制電路單元更用以發送一第二指令序列,其中該第二指令序列用以指示將屬於該些邏輯位址之中的一第一邏輯位址的一第一資料程式化至該些實體抹除單元之中的實體抹除單元,其中在程式化該第一資料的實體抹除單元的冗餘位元區中記錄有一第一時間戳記,其中該記憶體控制電路單元更用以接續在將該第一資料程式化至該些實體抹除單元之中的實體抹除單元之後發送一第三指令序列,其中該第三指令序列用以指示將屬於該些邏輯位址之中的一第二邏輯位址的一第二資料程式化至該些實體抹除單元之中的實體抹除單元,其中在程式化該第二資料的實體抹除單元的冗餘位元區中記錄有一第二時間戳記,其中該第一時間戳記小於該第二時間戳記。
  21. 如申請專利範圍第20項所述之記憶體儲存裝置,其中在根據該時間標記從存有有效資料的該些實體抹除單元中選擇該第一實體抹除單元的操作中,該記憶體控制電路單元更用以依據記錄在存有有效資料的該些實體抹除單元的冗餘位元區中的多個時間戳記,選出具有最小時間戳記的實體抹除單元,其中該記憶體控制電路單元更用以執行一抹除次數判斷運作,以判斷所選出的實體抹除單元的抹除次數是否小於將該些實體抹除單元的平均抹除次數減去一預定值所獲得的值, 其中倘若所選出的實體抹除單元的抹除次數小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體控制電路單元將所選出的實體抹除單元作為該第一實體抹除單元,其中倘若所選出的實體抹除單元的抹除次數非小於將該些實體抹除單元的平均抹除次數減去該預定值所獲得的值時,該記憶體控制電路單元依據記錄在存有有效資料的該些實體抹除單元的冗餘位元區中的該些時間戳記,由小到大依序選出對應下一個時間戳記的實體抹除單元並執行上述該抹除次數判斷運作。
TW104122031A 2015-07-07 2015-07-07 Wear leveling method, memory storage device and memory control circuit unit TWI563509B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104122031A TWI563509B (en) 2015-07-07 2015-07-07 Wear leveling method, memory storage device and memory control circuit unit
US14/824,092 US9665481B2 (en) 2015-07-07 2015-08-12 Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104122031A TWI563509B (en) 2015-07-07 2015-07-07 Wear leveling method, memory storage device and memory control circuit unit

Publications (2)

Publication Number Publication Date
TWI563509B TWI563509B (en) 2016-12-21
TW201703052A true TW201703052A (zh) 2017-01-16

Family

ID=57731916

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104122031A TWI563509B (en) 2015-07-07 2015-07-07 Wear leveling method, memory storage device and memory control circuit unit

Country Status (2)

Country Link
US (1) US9665481B2 (zh)
TW (1) TWI563509B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324921A (zh) * 2017-07-31 2019-02-12 大心电子(英属维京群岛)股份有限公司 数据备份方法、数据恢复方法以及存储控制器
TWI656531B (zh) * 2018-04-11 2019-04-11 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025066A (zh) 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
TWI615711B (zh) * 2017-03-28 2018-02-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI621018B (zh) 2017-07-24 2018-04-11 大陸商深圳大心電子科技有限公司 資料備份方法、資料恢復方法以及儲存控制器
CN110389708B (zh) * 2018-04-19 2022-11-22 群联电子股份有限公司 平均磨损方法、存储器控制电路单元与存储器存储装置
US11762798B2 (en) 2019-06-25 2023-09-19 Micron Technology, Inc. Aggregated and virtualized solid state drives with multiple host interfaces
US11513923B2 (en) 2019-06-25 2022-11-29 Micron Technology, Inc. Dynamic fail-safe redundancy in aggregated and virtualized solid state drives
US11055249B2 (en) 2019-06-25 2021-07-06 Micron Technology, Inc. Access optimization in aggregated and virtualized solid state drives
US11573708B2 (en) * 2019-06-25 2023-02-07 Micron Technology, Inc. Fail-safe redundancy in aggregated and virtualized solid state drives
US10942846B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Aggregated and virtualized solid state drives accessed via multiple logical address spaces
US11768613B2 (en) 2019-06-25 2023-09-26 Micron Technology, Inc. Aggregation and virtualization of solid state drives
US20210406169A1 (en) * 2019-10-09 2021-12-30 Micron Technology, Inc. Self-adaptive wear leveling method and algorithm

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286198B2 (en) * 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8751755B2 (en) * 2007-12-27 2014-06-10 Sandisk Enterprise Ip Llc Mass storage controller volatile memory containing metadata related to flash memory storage
CN101354681B (zh) * 2008-09-23 2010-12-01 美商威睿电通公司 存储器系统、非易失性存储器的磨损均衡方法及装置
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
WO2011061724A1 (en) * 2009-11-23 2011-05-26 Amir Ban Memory controller and methods for enhancing write performance of a flash device
CN101930404B (zh) * 2010-08-27 2012-11-21 威盛电子股份有限公司 存储装置及其操作方法
US8874515B2 (en) * 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US8694754B2 (en) * 2011-09-09 2014-04-08 Ocz Technology Group, Inc. Non-volatile memory-based mass storage devices and methods for writing data thereto
US8687421B2 (en) * 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
TWI486767B (zh) * 2012-06-22 2015-06-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
JP2015001908A (ja) * 2013-06-17 2015-01-05 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
TWI543189B (zh) * 2013-07-11 2016-07-21 威盛電子股份有限公司 資料儲存裝置以及快閃記憶體控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324921A (zh) * 2017-07-31 2019-02-12 大心电子(英属维京群岛)股份有限公司 数据备份方法、数据恢复方法以及存储控制器
TWI656531B (zh) * 2018-04-11 2019-04-11 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置

Also Published As

Publication number Publication date
US20170010961A1 (en) 2017-01-12
US9665481B2 (en) 2017-05-30
TWI563509B (en) 2016-12-21

Similar Documents

Publication Publication Date Title
TWI585770B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TW201703052A (zh) 平均磨損方法、記憶體儲存裝置及記憶體控制電路單元
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
TWI490871B (zh) 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
TWI551991B (zh) 記憶體管理方法與系統及其記憶體儲存裝置
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US20190012080A1 (en) Memory management method, memory control circuit unit and memory storage device
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI476590B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI479314B (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI571882B (zh) 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置
TWI656531B (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
TWI486765B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TW201401050A (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI548991B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TW201903779A (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI534814B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TW201413450A (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI464585B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
CN106354651B (zh) 平均磨损方法、存储器控制电路单元及存储器储存装置