TW202109542A - 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW202109542A TW202109542A TW108130145A TW108130145A TW202109542A TW 202109542 A TW202109542 A TW 202109542A TW 108130145 A TW108130145 A TW 108130145A TW 108130145 A TW108130145 A TW 108130145A TW 202109542 A TW202109542 A TW 202109542A
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- units
- logic
- physical erasing
- logical
- Prior art date
Links
Images
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置。所述方法包括:記錄分別對應於多個邏輯單元的多個邏輯更新次數;根據所述多個邏輯更新次數計算分別對應多個實體抹除單元的多個參考更新次數;根據多個第一邏輯單元所分別對應的多個第一邏輯更新次數計算一參考值;以及根據所述參考值以及所述多個參考更新次數判斷前述多個實體抹除單元中屬於冷區域的至少一第一實體抹除單元。
Description
本發明是有關於一種冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
一般來說,可複寫式非揮發性記憶體模組中的實體抹除單元依照被存取的頻率又可以被分為屬於「冷區域」的實體抹除單元或者是屬於「熱區域」的實體抹除單元。特別是,屬於熱區域的實體抹除單元中的資料被存取的頻率會高於冷區域被存取的頻率。而如何識別一個實體抹除單元屬於冷區域或熱區域,是本領域技術人員所欲解決的問題之一。
本發明提供一種冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置,其可以有效地識別出屬於冷區域的實體抹除單元。
本發明提出一種冷區域判斷方法,用於一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元,所述冷區域判斷方法包括:記錄分別對應於多個邏輯單元的多個邏輯更新次數;根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的多個參考更新次數;根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值;以及根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於一冷區域的至少一第一實體抹除單元。
在本發明的一實施例中,記錄分別對應於所述多個邏輯單元的所述多個邏輯更新次數的步驟包括:當根據多個邏輯子單元中的一第一邏輯子單元執行一第一寫入操作時,更新所述多個邏輯單元中所述第一邏輯子單元所屬的一第二邏輯單元的一寫入次數;當所述第二邏輯單元的所述寫入次數等於一門檻值時,更新所述多個邏輯更新次數中所述第二邏輯單元的一第二邏輯更新次數,並且將所述第二邏輯單元的所述寫入次數設為零。
在本發明的一實施例中,所述門檻值為一個邏輯單元所具有的邏輯子單元的數量。
在本發明的一實施例中,根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的所述多個參考更新次數的步驟包括:根據所述多個邏輯單元中的多個第三邏輯單元的多個第三邏輯更新次數,計算所述多個實體抹除單元中的一第二實體抹除單元的參考更新次數,其中所述第二實體抹除單元中的實體程式化單元映射所述多個第三邏輯單元。
在本發明的一實施例中,所述第二實體抹除單元的參考更新次數為所述多個第三邏輯更新次數的平均值。
在本發明的一實施例中,根據所述多個邏輯單元中的所述多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的所述多個第一邏輯更新次數計算所述參考值的步驟包括:根據最近執行的多個第二寫入操作所對應的所述多個第一邏輯單元,計算所述多個第一邏輯單元的所述多個第一邏輯更新次數的平均值以作為所述參考值。
在本發明的一實施例中,根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於所述冷區域的所述第一實體抹除單元的步驟包括:分別計算所述參考值與所述多個參考更新次數的多個差值;以及根據所述多個差值從所述多個實體抹除單元中選擇所述第一實體抹除單元以將所述第一實體抹除單元識別為屬於所述冷區域。
在本發明的一實施例中,所述多個差值中對應於所述第一實體抹除單元的一第一差值的數量為i,當所述多個差值以由大到小的順序排列時,所述第一差值是位在所述順序中的前i個差值,其中i為正整數。
本發明提出一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括:主機介面、記憶體介面以及記憶體管理電路。主機介面用以耦接至一主機系統。記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元。記憶體管理電路耦接至所述主機介面以及所述記憶體介面。記憶體管理電路用以執行下述運作:記錄分別對應於多個邏輯單元的多個邏輯更新次數;根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的多個參考更新次數;根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值;以及根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於一冷區域的至少一第一實體抹除單元。
在本發明的一實施例中,在記錄分別對應於所述多個邏輯單元的所述多個邏輯更新次數的運作中,當根據多個邏輯子單元中的一第一邏輯子單元執行一第一寫入操作時,記憶體管理電路更用以更新所述多個邏輯單元中所述第一邏輯子單元所屬的一第二邏輯單元的一寫入次數。當所述第二邏輯單元的所述寫入次數等於一門檻值時,記憶體管理電路更用以更新所述多個邏輯更新次數中所述第二邏輯單元的一第二邏輯更新次數,並且將所述第二邏輯單元的所述寫入次數設為零。
在本發明的一實施例中,所述門檻值為一個邏輯單元所具有的邏輯子單元的數量。
在本發明的一實施例中,在根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的所述多個參考更新次數的運作中,記憶體管理電路更用以根據所述多個邏輯單元中的多個第三邏輯單元的多個第三邏輯更新次數,計算所述多個實體抹除單元中的一第二實體抹除單元的參考更新次數,其中所述第二實體抹除單元中的實體程式化單元映射所述多個第三邏輯單元。
在本發明的一實施例中,所述第二實體抹除單元的參考更新次數為所述多個第三邏輯更新次數的平均值。
在本發明的一實施例中,在根據所述多個邏輯單元中的所述多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的所述多個第一邏輯更新次數計算所述參考值的運作中,記憶體管理電路更用以根據最近執行的多個第二寫入操作所對應的所述多個第一邏輯單元,計算所述多個第一邏輯單元的所述多個第一邏輯更新次數的平均值以作為所述參考值。
在本發明的一實施例中,在根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於所述冷區域的所述第一實體抹除單元的運作中,記憶體管理電路更用以執行下述運作:分別計算所述參考值與所述多個參考更新次數的多個差值;以及根據所述多個差值從所述多個實體抹除單元中選擇所述第一實體抹除單元以將所述第一實體抹除單元識別為屬於所述冷區域。
在本發明的一實施例中,所述多個差值中對應於所述第一實體抹除單元的一第一差值的數量為i,當所述多個差值以由大到小的順序排列時,所述第一差值是位在所述順序中的前i個差值,其中i為正整數。
本發明提出一種記憶體儲存裝置。記憶體儲存裝置包括連接介面單元、可複寫式非揮發性記憶體模組以及記憶體控制電路單元。連接介面單元用以耦接至主機系統。所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元。記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。記憶體控制電路單元用以執行下述運作:記錄分別對應於多個邏輯單元的多個邏輯更新次數;根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的多個參考更新次數;根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值;以及根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於一冷區域的至少一第一實體抹除單元。
在本發明的一實施例中,在記錄分別對應於所述多個邏輯單元的所述多個邏輯更新次數的運作中,當根據多個邏輯子單元中的一第一邏輯子單元執行一第一寫入操作時,記憶體控制電路單元更用以更新所述多個邏輯單元中所述第一邏輯子單元所屬的一第二邏輯單元的一寫入次數。當所述第二邏輯單元的所述寫入次數等於一門檻值時,記憶體控制電路單元更用以更新所述多個邏輯更新次數中所述第二邏輯單元的一第二邏輯更新次數,並且將所述第二邏輯單元的所述寫入次數設為零。
在本發明的一實施例中,所述門檻值為一個邏輯單元所具有的邏輯子單元的數量。
在本發明的一實施例中,在根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的所述多個參考更新次數的運作中,記憶體控制電路單元更用以根據所述多個邏輯單元中的多個第三邏輯單元的多個第三邏輯更新次數,計算所述多個實體抹除單元中的一第二實體抹除單元的參考更新次數,其中所述第二實體抹除單元中的實體程式化單元映射所述多個第三邏輯單元。
在本發明的一實施例中,所述第二實體抹除單元的參考更新次數為所述多個第三邏輯更新次數的平均值。
在本發明的一實施例中,在根據所述多個邏輯單元中的所述多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的所述多個第一邏輯更新次數計算所述參考值的運作中,記憶體控制電路單元更用以根據最近執行的多個第二寫入操作所對應的所述多個第一邏輯單元,計算所述多個第一邏輯單元的所述多個第一邏輯更新次數的平均值以作為所述參考值。
在本發明的一實施例中,在根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於所述冷區域的所述第一實體抹除單元的運作中,記憶體控制電路單元更用以執行下述運作:分別計算所述參考值與所述多個參考更新次數的多個差值;以及根據所述多個差值從所述多個實體抹除單元中選擇所述第一實體抹除單元以將所述第一實體抹除單元識別為屬於所述冷區域。
在本發明的一實施例中,所述多個差值中對應於所述第一實體抹除單元的一第一差值的數量為i,當所述多個差值以由大到小的順序排列時,所述第一差值是位在所述順序中的前i個差值,其中i為正整數。
本發明提出一種冷區域判斷方法,用於一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元,所述冷區域判斷方法包括:記錄分別對應於多個邏輯單元的多個邏輯更新次數;根據用於記錄分別對應於所述多個實體抹除單元的多個有效資料計數的一有效資料計數表,從所述多個實體抹除單元中選擇多個候選實體抹除單元,其中當所述多個有效資料計數由小到大的順序排列時,所述多個候選實體抹除單元的有效資料計數是位在所述順序中的前k個有效資料計數,其中k為正整數;根據所述多個邏輯更新次數計算分別對應所述多個候選實體抹除單元的多個參考更新次數;根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值;根據所述參考值以及所述多個參考更新次數判斷所述多個候選實體抹除單元中屬於一冷區域的至少一第一實體抹除單元;以及從所述第一實體抹除單元中選擇至少一來源實體抹除單元以執行一有效資料合併操作。
基於上述,本發明的冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置可以有效地識別出屬於冷區域的實體抹除單元。此外,本發明的冷區域判斷方法可以找出用於執行有效資料合併操作的來源實體抹除單元以避免一有效資料合併操作的目的實體抹除單元在下一次的有效資料合併操作被挑選為來源實體抹除單元。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的SD卡32、CF卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded MMC, eMMC)341及/或嵌入式多晶片封裝儲存裝置(embedded Multi Chip Package, eMCP)342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、安全數位(Secure Digital, SD)介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、多晶片封裝(Multi-Chip Package)介面標準、多媒體儲存卡(Multi Media Card, MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card, eMMC)介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)介面標準、小型快閃(Compact Flash, CF)介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取、抹除與合併等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404,並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406具有實體抹除單元510(0)~ 510(N)。例如,實體抹除單元510(0)~510(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,例如本發明的範例實施例中,每一個實體抹除單元包含258個實體程式化單元,而其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。
在本發明的範例實施例中,可複寫式非揮發性記憶體模組406為複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組406亦可是多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5A與圖5B是根據本範例時實施例所繪示之記憶胞儲存架構與實體抹除單元的範例示意圖。
請參照圖5A,可複寫式非揮發性記憶體模組406的每個記憶胞的儲存狀態可被識別為“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如圖5A所示),其中左側算起之第1個位元為LSB、從左側算起之第2個位元為CSB以及從左側算起之第3個位元為MSB。此外,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。
請參照圖5B,一個實體抹除單元是由多個實體程式化單元組所組成,其中每個實體程式化單元組包括由排列在同一條字元線上的數個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元。例如,在實體抹除單元中,屬於下實體程式化單元的第0個實體程式化單元、屬於中實體程式化單元的第1個實體程式化單元和屬於上實體程式化單元的第2個實體程式化單元會被視為一個實體程式化單元組。類似地,第3、4、5個實體程式化單元會被視為一個實體程式化單元組,並且以此類推其他實體程式化單元亦是依據此方式被區分為多個實體程式化單元組。
圖6是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖6,記憶體控制電路單元404包括記憶體管理電路702、主機介面704、記憶體介面706及錯誤檢查與校正電路708。
記憶體管理電路702用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路702具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路702或任何包含於記憶體控制電路單元404中的電路元件之操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路702的控制指令是以韌體型式來實作。例如,記憶體管理電路702具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路702的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路702具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路702的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路702的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路702包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或其群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路702還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
主機介面704是耦接至記憶體管理電路702並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面704來傳送至記憶體管理電路702。在本範例實施例中,主機介面704是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面704亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面706是耦接至記憶體管理電路702並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面706轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路702要存取可複寫式非揮發性記憶體模組406,記憶體介面706會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路702產生並且透過記憶體介面706傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
錯誤檢查與校正電路708是耦接至記憶體管理電路702並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路702從主機系統11中接收到寫入指令時,錯誤檢查與校正電路708會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路702會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路702從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路708會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體710與電源管理電路712。
緩衝記憶體710是耦接至記憶體管理電路702並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路712是耦接至記憶體管理電路702並且用以控制記憶體儲存裝置10的電源。
在本範例實施例中,錯誤檢查與校正電路708可以針對儲存於同一個實體程式化單元中的資料進行單框架(single-frame)編碼,也可以針對儲存於多個實體程式化單元中的資料進行多框架(multi-frame)編碼。單框架編碼與多框架編碼可以分別採用低密度奇偶檢查校正碼(low density parity code,LDPC)、BCH碼、迴旋碼(convolutional code)或渦輪碼(turbo code)等編碼演算法的至少其中之一。或者,在一範例實施例中,多框架編碼還可以採用里德-所羅門碼(Reed-solomon codes, RS codes)演算法或互斥或(XOR)演算法。此外,在另一範例實施例中,更多未列於上的編碼演算法也可以被採用,在此便不贅述。根據所採用的編碼演算法,錯誤檢查與校正電路708可以編碼欲保護之資料來產生相對應的錯誤更正碼及/或錯誤檢查碼。為了說明方便,以下將經由編碼產生的錯誤更正碼及/或錯誤檢查碼統稱為編碼資料。
圖7與圖8是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
請參照圖7,可複寫式非揮發性記憶體模組406具有實體抹除單元510(0)~510(N),並且記憶體管理電路702會邏輯地分割(partition)為資料區502、閒置區504、暫存區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統11的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統11接收到寫入指令與欲寫入之資料時,記憶體管理電路702會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於暫存區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括邏輯-實體映射表、關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路302會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、暫存區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至資料區502、閒置區504、暫存區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖8,記憶體管理電路702會配置邏輯單元LBA(0)~LBA(H)以映射資料區502的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統11欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體管理電路702會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別每個邏輯單元的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體管理電路702會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統11欲在邏輯子單元中存取資料時,記憶體管理電路702會確認此邏輯子單元所屬的邏輯單元,並且在此邏輯單元所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體管理電路702會在可複寫式非揮發性記憶體模組406中儲存邏輯-實體映射表來記錄每一邏輯單元所映射的實體抹除單元,並且當欲存取資料時記憶體管理電路702會將邏輯-實體映射表載入至緩衝記憶體710來維護。
值得一提的是,由於緩衝記憶體710的容量有限無法儲存記錄所有邏輯單元之映射關係的映射表,因此,在本範例實施例中,假設記憶體管理電路702會將邏輯單元LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯單元配置一個邏輯-實體映射表。特別是,當記憶體管理電路702欲更新某個邏輯單元的映射時,對應此邏輯單元所屬之邏輯區域的邏輯-實體映射表會被載入至緩衝記憶體710來被更新。在本範例實施例中,儲存所有的邏輯-實體映射表所需的空間為對應於可複寫式非揮發性記憶體模組406中可用於儲存資料的空間的千分之一。也就是說,假設可複寫式非揮發性記憶體模組406的容量為1TB(Terabyte),則儲存所有的邏輯-實體映射表所需的空間為1GB(Gigabyte)。然而,在其他範例實施例中,儲存所有的邏輯-實體映射表所需的空間可以隨著可複寫式非揮發性記憶體模組406的容量的不同而改變。
一般來說,可複寫式非揮發性記憶體模組406中的實體抹除單元依照被存取的頻率又可以被分為屬於「冷區域」的實體抹除單元或者是屬於「熱區域」的實體抹除單元。特別是,屬於熱區域的實體抹除單元中的資料被存取的頻率會高於冷區域被存取的頻率。而如何識別一個實體抹除單元屬於冷區域或熱區域,是本領域技術人員所欲解決的問題之一。
在本發明的冷區域判斷方法中,首先記憶體管理電路702會對圖8中的邏輯單元LBA(0)~LBA(H)分別記錄多個邏輯更新次數。也就是說,在本實施例中,一個邏輯單元會有一張對應的邏輯-實體映射表以及該邏輯單元的一個邏輯更新次數。
更詳細來說,當記憶體管理電路702根據一邏輯子單元(亦稱為,第一邏輯子單元)的位址執行一寫入操作(亦稱為,第一寫入操作)以寫入對應該第一邏輯子單元的資料至可複寫式非揮發性記憶體模組406中時,記憶體管理電路702會更新第一邏輯子單元所屬的邏輯單元(亦稱為,第二邏輯單元)的一寫入次數。例如,每寫入一次第二邏輯單元的一邏輯子單元的資料至可複寫式非揮發性記憶體模組406中時,記憶體管理電路702會對該寫入次數加一。之後,當第二邏輯單元的寫入次數等於一門檻值時,記憶體管理電路702會更新第二邏輯單元的一邏輯更新次數(亦稱為,第二邏輯更新次數)(例如,將邏輯更新次數加一),並且將上述第二邏輯單元的寫入次數設定為零以從零再開始累加。在本實施例中,前述的門檻值為可複寫式非揮發性記憶體模組406中一個邏輯單元所具有的邏輯子單元的數量(例如,1024)。也就是說,在本實施例中,當根據一個邏輯單元執行1024次的寫入操作後,該邏輯單元的邏輯更新次數會加一。然而,本發明並不用於限定前述的門檻值。藉由上述方式,可以獲得每一個邏輯單元LBA(0)~LBA(H)的邏輯更新次數。
之後,記憶體管理電路702會根據邏輯單元LBA(0)~LBA(H)的邏輯更新次數計算分別對應實體抹除單元510(0)~510(S-1)的多個參考更新次數。也就是說,在本實施例中,每一個實體抹除單元會有一個參考更新次數。
圖9是根據一範例實施例所繪示之計算一實體抹除單元的參考更新次數的範例示意圖。需說明的是,圖9是以計算實體抹除單元510(0)的參考更新次數為例,而可複寫式非揮發性記憶體模組406中其他的實體抹除單元也可以使用相同的方式計算出對應的參考更新次數。
請參照圖9,以實體抹除單元510(0)(亦稱為,第二實體抹除單元)為例,為了簡化說明,在此假設實體抹除單元510(0)僅有六個實體程式化單元。假設實體抹除單元510(0)的實體程式化單元P1是儲存邏輯子單元SLBA0的資料且邏輯子單元SLBA0是屬於邏輯單元LBA(0)。實體抹除單元510(0)的實體程式化單元P2是儲存邏輯子單元SLBA4096的資料且邏輯子單元SLBA4096是屬於邏輯單元LBA(Z)。實體抹除單元510(0)的實體程式化單元P3是儲存邏輯子單元SLBA5的資料且邏輯子單元SLBA5是屬於邏輯單元LBA(0)。實體抹除單元510(0)的實體程式化單元P4是儲存邏輯子單元SLBA5000的資料且邏輯子單元SLBA5000是屬於邏輯單元LBA(Z)。實體抹除單元510(0)的實體程式化單元P5是儲存邏輯子單元SLBA8193的資料且邏輯子單元SLBA8193是屬於邏輯單元LBA(P)。實體抹除單元510(0)的實體程式化單元P6是儲存邏輯子單元SLBA8194的資料且邏輯子單元SLBA8193是屬於邏輯單元LBA(P)。
之後,記憶體管理電路702會取得實體抹除單元510(0)中的每一個實體程式化單元所對應的邏輯單元的邏輯更新次數,並根據所取得的多個邏輯更新次數計算一平均值以將此平均值作為實體抹除單元510(0)的參考更新次數。以圖9為例,記憶體管理電路702會取得實體抹除單元510(0)中實體程式化單元P1所對應的邏輯單元LBA(0)的邏輯更新次數(例如,42)。記憶體管理電路702會取得實體抹除單元510(0)中實體程式化單元P2所對應的邏輯單元LBA(Z)的邏輯更新次數(例如,52)。記憶體管理電路702會取得實體抹除單元510(0)中實體程式化單元P3所對應的邏輯單元LBA(0)的邏輯更新次數(例如,42)。記憶體管理電路702會取得實體抹除單元510(0)中實體程式化單元P4所對應的邏輯單元LBA(Z)的邏輯更新次數(例如,52)。記憶體管理電路702會取得實體抹除單元510(0)中實體程式化單元P5所對應的邏輯單元LBA(P)的邏輯更新次數(例如,38)。記憶體管理電路702會取得實體抹除單元510(0)中實體程式化單元P6所對應的邏輯單元LBA(P)的邏輯更新次數(例如,38)。在此,可以將實體抹除單元510(0)中實體程式化單元P1~P6所映射的邏輯單元簡稱為「第三邏輯單元」,且此些第三邏輯單元的邏輯更新次數可以簡稱為「第三邏輯更新次數」。
在取得實體抹除單元510(0)中的每一個實體程式化單元所對應的邏輯單元的邏輯更新次數後,記憶體管理電路702會根據所取得的多個邏輯更新次數計算一平均值(例如,((42+52+42+52+38+38)/6)=44)。記憶體管理電路702會將此平均值作為實體抹除單元510(0)的參考更新次數。類似地,可複寫式非揮發性記憶體模組406中其他的實體抹除單元也可以使用相同的方式計算出對應的參考更新次數,在此不再贅述。
此外,在本發明的範例實施例中,記憶體管理電路702會根據最近執行(例如,最近執行的1024個)的多個寫入操作(亦稱為,第二寫入操作)所分別使用到的多個邏輯單元(亦稱為,第一邏輯單元)的邏輯更新次數(亦稱為,第一邏輯更新次數),計算此些第一邏輯更新次數的平均值以作為參考值。
舉例來說,為了簡化說明,假設記憶體管理電路702是根據最近執行的六個寫入操作所分別使用到的邏輯單元的邏輯更新次數計算前述的參考值。假設在記憶體管理電路702最近執行的六個寫入操作中依序使用邏輯單元LBA(0)、邏輯單元LBA(Z)、邏輯單元LBA(0)、邏輯單元LBA(Z)、邏輯單元LBA(P)與邏輯單元LBA(P)。假設邏輯單元LBA(0)的邏輯更新次數為42,邏輯單元LBA(Z)的邏輯更新次數為52,邏輯單元LBA(P)的邏輯更新次數為38。在根據最近執行的六個寫入操作所分別使用到的邏輯單元的邏輯更新次數計算前述的參考值的運作中,記憶體管理電路會記算出參考值為44(即,(42+52+42+52+38+38)/6)=44)。
在完成前述計算後,記憶體管理電路702會根據前述的參考值以及實體抹除單元510(0)~510(S-1)的參考更新次數判斷實體抹除單元510(0)~510(S-1)中屬於冷區域的實體抹除單元(亦稱為,第一實體抹除單元)。
舉例來說,圖10是根據一範例實施例所繪示之判斷屬於冷區域的實體抹除單元的範例示意圖。為了簡化說明,在圖10的範例中僅以實體抹除單元510(0)~510(5)進行說明。而相類似的計算方式也可以應用至圖8中的實體抹除單元510(0)~510(S-1)。
請參照圖10,在圖10的範例中,假設前述的參考值為50。此外,假設實體抹除單元510(0)的參考更新次數為50,實體抹除單元510(1)的參考更新次數為33,實體抹除單元510(2)的參考更新次數為22,實體抹除單元510(3)的參考更新次數為75,實體抹除單元510(4)的參考更新次數為40,且實體抹除單元510(5)的參考更新次數為25。
在圖10的範例中,記憶體管理電路702還會分別計算參考值與圖10中每一個參考更新次數的差值。例如,值為50的參考值與實體抹除單元510(0)的參考更新次數(值為50)的差值為0。值為50的參考值與實體抹除單元510(1)的參考更新次數(值為33)的差值為17。值為50的參考值與實體抹除單元510(2)的參考更新次數(值為22)的差值為28。值為50的參考值與實體抹除單元510(3)的參考更新次數(值為75)的差值為-25。值為50的參考值與實體抹除單元510(4)的參考更新次數(值為40)的差值為10。值為50的參考值與實體抹除單元510(5)的參考更新次數(值為25)的差值為25。
在算出每一個實體抹除單元的參考值與參考更新次數的差值後,記憶體管理電路702會根據所計算出的差值從實體抹除單元510(0)~510(5)中選擇至少一實體抹除單元(亦稱為,第一實體抹除單元)以將所選擇出的第一實體抹除單元識別為屬於冷區域的實體抹除單元。
在一實施例中,記憶體管理電路702會將所計算出的多個差值以由大到小的順序排列,並且從此順序中挑選前i個差值(即,值最大的i個差值,亦稱為第一差值)以將此i個差值所對應的實體抹除單元(即,前述的第一實體抹除單元)識別為屬於冷區域的實體抹除單元。以圖10的範例來說,實體抹除單元510(0)~510(5)根據所計算出的差值由大到小排列依序為實體抹除單元510(2)、實體抹除單元510(5)、實體抹除單元510(1)、實體抹除單元510(4)、實體抹除單元510(0)、實體抹除單元510(3)。假設前述i的值為3,則記憶體管理電路702會識別實體抹除單元510(2)、實體抹除單元510(5)與實體抹除單元510(1)為冷區域的實體抹除單元,而剩餘其他的實體抹除單元不會被識別為冷區域的實體抹除單元。需說明的是,前述的i值為正整數。
在另一實施例中,記憶體管理電路702也可以從所計算出的差值中挑出值為最大的差值(例如,28),並將僅將此差值所對應的實體抹除單元510(2)識別為冷區域的實體抹除單元。
圖11是根據一範例實施例所繪示之冷區域判斷方法的流程圖。
請參照圖11,在步驟S1101中,記憶體管理電路702記錄分別對應於多個邏輯單元的多個邏輯更新次數。在步驟S1103中,記憶體管理電路702根據前述多個邏輯更新次數計算分別對應多個實體抹除單元的多個參考更新次數。在步驟S1105中,記憶體管理電路702根據前述多個邏輯單元中的多個第一邏輯單元所分別對應的多個第一邏輯更新次數計算一參考值。最後在步驟S1107中,記憶體管理電路702根據前述的參考值以及前述的多個參考更新次數判斷前述的多個實體抹除單元中屬於冷區域的第一實體抹除單元。
特別是,本發明的冷區域判斷方法也可以應用在有效資料合併操作中。一般來說,當可複寫式非揮發性記憶體模組406的閒置區504中閒置的實體抹除單元的個數為非大於一預先定義值時,記憶體管理電路702會執行一有效資料合併操作。例如,記憶體管理電路702會從資料區502中挑選有效資料最少的多個實體抹除單元(亦稱為,來源實體抹除單元),並從此些來源實體抹除單元中複製有效資料至閒置區中的一實體抹除單元(亦稱為,目的實體抹除單元)。之後,記憶體管理電路702會將前述的來源實體抹除單元執行抹除操作並重新將該些來源實體抹除單元關聯置閒置區504中以增加閒置區504中實體抹除單元的數量。此外,記憶體管理電路702還會將前述的目的實體抹除單元關連至資料區502。
然而需注意的是,當用於執行有效資料合併操作的來源實體抹除單元是屬於熱區域的實體抹除單元時,該些來源實體抹除單元中的有效資料被記憶體管理電路702存取的機率(或頻率)會較高。當屬於熱區域的來源實體抹除單元中的有效資料被複製到目的實體抹除單元後,該些有效資料可能會再次地(或立即地)被更新(例如,將該些有效資料的更新資料寫入另一實體抹除單元)而使得目的實體抹除單元中的有效資料又變為無效資料,進而導致該目的實體抹除單元的有效資料計數又急速地降低並且成為下次執行有效資料合併操作時的來源實體抹除單元的候選之一。為了避免一有效資料合併操作的目的實體抹除單元在下一次的有效資料合併操作被挑選為來源實體抹除單元,可以使用本發明的冷區域判斷方法來從冷區域中挑選用於執行有效資料合併操作的來源實體抹除單元以避免前述情況發生。
詳細來說,圖12是根據一範例實施例所繪示之從屬於冷區域的實體抹除單元中選擇有效資料合併操作的來源實體抹除單元的範例示意圖。
請參照圖12,記憶體管理電路702會記錄分別對應於邏輯單元LBA(0)~LBA(H)的多個邏輯更新次數。計算邏輯更新次數的方法已詳述如前,在此不再贅述。此外,記憶體管理電路702還會建立一有效資料計數表以記錄實體抹除單元510(0)~510(S-1)中每一個實體抹除單元的有效資料計數。如何取得實體抹除單元510(0)~510(S-1) 的有效資料計數可以由習知技術得知,在此不再贅述。
在本實施例中,記憶體管理電路702會根據一有效資料計數表,從實體抹除單元510(0)~510(S-1)中選擇多個候選實體抹除單元。在本實施例中,候選實體抹除單元是前k個具有最小的有效資料計數的實體抹除單元。換句話說,當有效資料表中的多個有效資料計數以由小到大的順序排列時,該些候選實體抹除單元的有效資料計數是位在所述順序中的前k個有效資料計數,其中k為正整數。在圖12的實施例中,假設選出的候選實體抹除單元為實體抹除單元510(77)、實體抹除單元510(58)、實體抹除單元510(62)、實體抹除單元510(28)、實體抹除單元510(200)與實體抹除單元510(210)。此外,假設實體抹除單元510(77)的有效資料計數為312、實體抹除單元510(58)的有效資料計數為298、實體抹除單元510(62)的有效資料計數為301、實體抹除單元510(28)的有效資料計數為250、實體抹除單元510(200)的有效資料計數為330、實體抹除單元510(210)的有效資料計數為333。
此外,記憶體管理電路702會根據前述的多個邏輯更新次數計算分別對應候選實體抹除單元的多個參考更新次數。如何計算一個實體抹除單元的參考更新次數已詳述如前,在此不再贅述。在本實施例中,假設實體抹除單元510(77)的參考更新次數為50、實體抹除單元510(58)的參考更新次數為33、實體抹除單元510(62)的參考更新次數為22、實體抹除單元510(28)的參考更新次數為75、實體抹除單元510(200)的參考更新次數為40、實體抹除單元510(210)的參考更新次數為25。
此外,記憶體管理電路702還會計算一參考值。例如,記憶體管理電路702會根據最近執行(例如,最近執行的1024個)的多個寫入操作所分別使用到的多個邏輯單元(亦稱為,第一邏輯單元)的邏輯更新次數(亦稱為,第一邏輯更新次數),計算此些第一邏輯更新次數的平均值以作為前述的參考值。參考值的計算範例已詳述如前,在此不再贅述。在本實施例中,假設參考值為50。
在圖12的範例中,記憶體管理電路702還會分別計算參考值與圖10中每一個參考更新次數的差值。例如,值為50的參考值與實體抹除單元510(77)的參考更新次數(值為50)的差值為0。值為50的參考值與實體抹除單元510(58)的參考更新次數(值為33)的差值為17。值為50的參考值與實體抹除單元510(62)的參考更新次數(值為22)的差值為28。值為50的參考值與實體抹除單元510(28)的參考更新次數(值為75)的差值為-25。值為50的參考值與實體抹除單元510(200)的參考更新次數(值為40)的差值為10。值為50的參考值與實體抹除單元510(210)的參考更新次數(值為25)的差值為25。
在算出每一個實體抹除單元的參考值與參考更新次數的差值後,記憶體管理電路702會根據所計算出的差值從候選實體抹除單元中選擇至少一實體抹除單元(亦稱為,第一實體抹除單元)以將所選擇出的第一實體抹除單元識別為屬於冷區域的實體抹除單元。記憶體管理電路702會從選擇出的第一實體抹除單元中選擇至少一實體抹除單元以作為執行有效資料合併操作時的來源實體抹除單元。
例如,記憶體管理電路702會將所計算出的多個差值以由大到小的順序排列,並且從此順序中挑選前i個差值(即,值最大的i個差值,亦稱為第一差值)以將此i個差值所對應的實體抹除單元(即,前述的第一實體抹除單元)識別為屬於冷區域的實體抹除單元。以圖12的範例來說,圖12中的候選實體抹除單元根據所計算出的差值由大到小排列依序為實體抹除單元510(62)、實體抹除單元510(210)、實體抹除單元510(58)、實體抹除單元510(200)、實體抹除單元510(77)、實體抹除單元510(28)。假設前述i的值為3,則記憶體管理電路702會識別實體抹除單元510(62)、實體抹除單元510(210)與實體抹除單元510(58)為冷區域的實體抹除單元,而剩於其他的實體抹除單元不會被識別為冷區域的實體抹除單元。需說明的是,前述的i值為正整數。記憶體管理電路702會從選擇出的實體抹除單元510(62)、實體抹除單元510(210)與實體抹除單元510(58)中選擇至少一實體抹除單元以作為執行有效資料合併操作時的來源實體抹除單元。
在另一實施例中,記憶體管理電路702也可以從所計算出的差值中挑出值為最大的差值(例如,28),並將僅將此差值所對應的實體抹除單元510(62)識別為冷區域的實體抹除單元並作為執行有效資料合併操作時的來源實體抹除單元。
圖13是根據另一範例實施例所繪示之冷區域判斷方法的流程圖。
請參照圖13,在步驟S1301中,記憶體管理電路702記錄分別對應於多個邏輯單元的多個邏輯更新次數。在步驟S1303中,記憶體管理電路702根據用於記錄分別對應於多個實體抹除單元的多個有效資料計數的一有效資料計數表,從前述的多個實體抹除單元中選擇多個候選實體抹除單元。在步驟S1305中,記憶體管理電路702根據前述的多個邏輯更新次數計算分別對應多個候選實體抹除單元的多個參考更新次數。在步驟S1307中,記憶體管理電路702根據前述的多個邏輯單元中的多個第一邏輯單元所分別對應的多個第一邏輯更新次數計算一參考值。在步驟S1309中,記憶體管理電路702根據參考值以及前述的多個參考更新次數判斷候選實體抹除單元中屬於冷區域的第一實體抹除單元。最後在步驟S1311中,記憶體管理電路702從第一實體抹除單元中選擇至少一來源實體抹除單元以執行有效資料合併操作。
綜上所述,本發明的冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置可以有效地識別出屬於冷區域的實體抹除單元。此外,本發明的冷區域判斷方法可以找出用於執行有效資料合併操作的來源實體抹除單元以避免一有效資料合併操作的目的實體抹除單元在下一次的有效資料合併操作被挑選為來源實體抹除單元。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:記憶體儲存裝置
11:主機系統
110:系統匯流排
111:處理器
112:隨機存取記憶體
113:唯讀記憶體
114:資料傳輸介面
12:輸入/輸出(I/O)裝置
20:主機板
201:隨身碟
202:記憶卡
203:固態硬碟
204:無線記憶體儲存裝置
205:全球定位系統模組
206:網路介面卡
207:無線傳輸裝置
208:鍵盤
209:螢幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式儲存裝置
341:嵌入式多媒體卡
342:嵌入式多晶片封裝儲存裝置
402:連接介面單元
404:記憶體控制電路單元
406:可複寫式非揮發性記憶體模組
702:記憶體管理電路
704:主機介面
706:記憶體介面
708:錯誤檢查與校正電路
710:緩衝記憶體
712:電源管理電路
502:資料區
504:閒置區
506:暫存區
508:取代區
510(0)~510(N):實體抹除單元
LBA(0)~LBA(H):邏輯單元
LZ(0)~LZ(M):邏輯區域
P1~P6:實體程式化單元
SLBA0、SLBA4096、SLBA5、SLBA5000、SLBA8193、SLBA8194:邏輯子單元
S1101:記錄分別對應於多個邏輯單元的多個邏輯更新次數的步驟
S1103:根據前述多個邏輯更新次數計算分別對應多個實體抹除單元的多個參考更新次數的步驟
S1105:根據前述多個邏輯單元中的多個第一邏輯單元所分別對應的多個第一邏輯更新次數計算一參考值的步驟
S1107:根據前述的參考值以及前述的多個參考更新次數判斷前述的多個實體抹除單元中屬於冷區域的第一實體抹除單元的步驟
S1301:記錄分別對應於多個邏輯單元的多個邏輯更新次數的步驟
S1303:根據用於記錄分別對應於多個實體抹除單元的多個有效資料計數的一有效資料計數表,從前述的多個實體抹除單元中選擇多個候選實體抹除單元的步驟
S1305:根據前述的多個邏輯更新次數計算分別對應多個候選實體抹除單元的多個參考更新次數的步驟
S1307:根據前述的多個邏輯單元中的多個第一邏輯單元所分別對應的多個第一邏輯更新次數計算一參考值的步驟
S1309:根據參考值以及前述的多個參考更新次數判斷候選實體抹除單元中屬於冷區域的第一實體抹除單元的步驟
S1311:從第一實體抹除單元中選擇至少一來源實體抹除單元以執行有效資料合併操作的步驟
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。
圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
圖5A與圖5B是根據本範例時實施例所繪示之記憶胞儲存架構與實體抹除單元的範例示意圖。
圖6是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
圖7與圖8是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖9是根據一範例實施例所繪示之計算一實體抹除單元的參考更新次數的範例示意圖。
圖10是根據一範例實施例所繪示之判斷屬於冷區域的實體抹除單元的範例示意圖。
圖11是根據一範例實施例所繪示之冷區域判斷方法的流程圖。
圖12是根據一範例實施例所繪示之從屬於冷區域的實體抹除單元中選擇有效資料合併操作的來源實體抹除單元的範例示意圖。
圖13是根據另一範例實施例所繪示之冷區域判斷方法的流程圖。
S1101:記錄分別對應於多個邏輯單元的多個邏輯更新次數的步驟
S1103:根據前述多個邏輯更新次數計算分別對應多個實體抹除單元的多個參考更新次數的步驟
S1105:根據前述多個邏輯單元中的多個第一邏輯單元所分別對應的多個第一邏輯更新次數計算一參考值的步驟
S1107:根據前述的參考值以及前述的多個參考更新次數判斷前述的多個實體抹除單元中屬於冷區域的第一實體抹除單元的步驟
Claims (25)
- 一種冷區域判斷方法,用於一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元,所述冷區域判斷方法包括: 記錄分別對應於多個邏輯單元的多個邏輯更新次數; 根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的多個參考更新次數; 根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值;以及 根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於一冷區域的至少一第一實體抹除單元。
- 如申請專利範圍第1項所述的冷區域判斷方法,其中記錄分別對應於所述多個邏輯單元的所述多個邏輯更新次數的步驟包括: 當根據多個邏輯子單元中的一第一邏輯子單元執行一第一寫入操作時,更新所述多個邏輯單元中所述第一邏輯子單元所屬的一第二邏輯單元的一寫入次數; 當所述第二邏輯單元的所述寫入次數等於一門檻值時,更新所述多個邏輯更新次數中所述第二邏輯單元的一第二邏輯更新次數,並且將所述第二邏輯單元的所述寫入次數設為零。
- 如申請專利範圍第2項所述的冷區域判斷方法,其中所述門檻值為一個邏輯單元所具有的邏輯子單元的數量。
- 如申請專利範圍第1項所述的冷區域判斷方法,其中根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的所述多個參考更新次數的步驟包括: 根據所述多個邏輯單元中的多個第三邏輯單元的多個第三邏輯更新次數,計算所述多個實體抹除單元中的一第二實體抹除單元的參考更新次數,其中所述第二實體抹除單元中的實體程式化單元映射所述多個第三邏輯單元。
- 如申請專利範圍第4項所述的冷區域判斷方法,其中所述第二實體抹除單元的參考更新次數為所述多個第三邏輯更新次數的平均值。
- 如申請專利範圍第1項所述的冷區域判斷方法,其中根據所述多個邏輯單元中的所述多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的所述多個第一邏輯更新次數計算所述參考值的步驟包括: 根據最近執行的多個第二寫入操作所對應的所述多個第一邏輯單元,計算所述多個第一邏輯單元的所述多個第一邏輯更新次數的平均值以作為所述參考值。
- 如申請專利範圍第1項所述的冷區域判斷方法,其中根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於所述冷區域的所述第一實體抹除單元的步驟包括: 分別計算所述參考值與所述多個參考更新次數的多個差值;以及 根據所述多個差值從所述多個實體抹除單元中選擇所述第一實體抹除單元以將所述第一實體抹除單元識別為屬於所述冷區域。
- 如申請專利範圍第7項所述的冷區域判斷方法,其中所述多個差值中對應於所述第一實體抹除單元的一第一差值的數量為i,當所述多個差值以由大到小的順序排列時,所述第一差值是位在所述順序中的前i個差值,其中i為正整數。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元; 一記憶體管理電路,耦接至所述主機介面以及所述記憶體介面, 其中所述記憶體管理電路用以記錄分別對應於多個邏輯單元的多個邏輯更新次數, 其中所述記憶體管理電路更用以根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的多個參考更新次數, 其中所述記憶體管理電路更用以根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值, 其中所述記憶體管理電路更用以根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於一冷區域的至少一第一實體抹除單元。
- 如申請專利範圍第9項所述的記憶體控制電路單元,其中在記錄分別對應於所述多個邏輯單元的所述多個邏輯更新次數的運作中, 當根據多個邏輯子單元中的一第一邏輯子單元執行一第一寫入操作時,所述記憶體管理電路更用以更新所述多個邏輯單元中所述第一邏輯子單元所屬的一第二邏輯單元的一寫入次數, 當所述第二邏輯單元的所述寫入次數等於一門檻值時,所述記憶體管理電路更用以更新所述多個邏輯更新次數中所述第二邏輯單元的一第二邏輯更新次數,並且將所述第二邏輯單元的所述寫入次數設為零。
- 如申請專利範圍第10項所述的記憶體控制電路單元,其中所述門檻值為一個邏輯單元所具有的邏輯子單元的數量。
- 如申請專利範圍第9項所述的記憶體控制電路單元,其中在根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的所述多個參考更新次數的運作中, 所述記憶體管理電路更用以根據所述多個邏輯單元中的多個第三邏輯單元的多個第三邏輯更新次數,計算所述多個實體抹除單元中的一第二實體抹除單元的參考更新次數,其中所述第二實體抹除單元中的實體程式化單元映射所述多個第三邏輯單元。
- 如申請專利範圍第12項所述的記憶體控制電路單元,其中所述第二實體抹除單元的參考更新次數為所述多個第三邏輯更新次數的平均值。
- 如申請專利範圍第9項所述的記憶體控制電路單元,其中在根據所述多個邏輯單元中的所述多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的所述多個第一邏輯更新次數計算所述參考值的運作中, 所述記憶體管理電路更用以根據最近執行的多個第二寫入操作所對應的所述多個第一邏輯單元,計算所述多個第一邏輯單元的所述多個第一邏輯更新次數的平均值以作為所述參考值。
- 如申請專利範圍第9項所述的記憶體控制電路單元,其中在根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於所述冷區域的所述第一實體抹除單元的運作中, 所述記憶體管理電路更用以分別計算所述參考值與所述多個參考更新次數的多個差值,以及 所述記憶體管理電路更用以根據所述多個差值從所述多個實體抹除單元中選擇所述第一實體抹除單元以將所述第一實體抹除單元識別為屬於所述冷區域。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其中所述多個差值中對應於所述第一實體抹除單元的一第一差值的數量為i,當所述多個差值以由大到小的順序排列時,所述第一差值是位在所述順序中的前i個差值,其中i為正整數。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元;以及 一記憶體控制電路單元,耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組, 其中所述記憶體控制電路單元用以記錄分別對應於多個邏輯單元的多個邏輯更新次數, 其中所述記憶體控制電路單元更用以根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的多個參考更新次數, 其中所述記憶體控制電路單元更用以根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值, 其中所述記憶體控制電路單元更用以根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於一冷區域的至少一第一實體抹除單元。
- 如申請專利範圍第17項所述的記憶體儲存裝置,其中在記錄分別對應於所述多個邏輯單元的所述多個邏輯更新次數的運作中, 當根據多個邏輯子單元中的一第一邏輯子單元執行一第一寫入操作時,所述記憶體控制電路單元更用以更新所述多個邏輯單元中所述第一邏輯子單元所屬的一第二邏輯單元的一寫入次數, 當所述第二邏輯單元的所述寫入次數等於一門檻值時,所述記憶體控制電路單元更用以更新所述多個邏輯更新次數中所述第二邏輯單元的一第二邏輯更新次數,並且將所述第二邏輯單元的所述寫入次數設為零。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中所述門檻值為一個邏輯單元所具有的邏輯子單元的數量。
- 如申請專利範圍第17項所述的記憶體儲存裝置,其中在根據所述多個邏輯更新次數計算分別對應所述多個實體抹除單元的所述多個參考更新次數的運作中, 所述記憶體控制電路單元更用以根據所述多個邏輯單元中的多個第三邏輯單元的多個第三邏輯更新次數,計算所述多個實體抹除單元中的一第二實體抹除單元的參考更新次數,其中所述第二實體抹除單元中的實體程式化單元映射所述多個第三邏輯單元。
- 如申請專利範圍第20項所述的記憶體儲存裝置,其中所述第二實體抹除單元的參考更新次數為所述多個第三邏輯更新次數的平均值。
- 如申請專利範圍第17項所述的記憶體儲存裝置,其中在根據所述多個邏輯單元中的所述多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的所述多個第一邏輯更新次數計算所述參考值的運作中, 所述記憶體控制電路單元更用以根據最近執行的多個第二寫入操作所對應的所述多個第一邏輯單元,計算所述多個第一邏輯單元的所述多個第一邏輯更新次數的平均值以作為所述參考值。
- 如申請專利範圍第17項所述的記憶體儲存裝置,其中在根據所述參考值以及所述多個參考更新次數判斷所述多個實體抹除單元中屬於所述冷區域的所述第一實體抹除單元的運作中, 所述記憶體控制電路單元更用以分別計算所述參考值與所述多個參考更新次數的多個差值, 所述記憶體控制電路單元更用以根據所述多個差值從所述多個實體抹除單元中選擇所述第一實體抹除單元以將所述第一實體抹除單元識別為屬於所述冷區域。
- 如申請專利範圍第23項所述的記憶體儲存裝置,其中所述多個差值中對應於所述第一實體抹除單元的一第一差值的數量為i,當所述多個差值以由大到小的順序排列時,所述第一差值是位在所述順序中的前i個差值,其中i為正整數。
- 一種冷區域判斷方法,用於一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元中的每一個實體抹除單元具有多個實體程式化單元,所述冷區域判斷方法包括: 記錄分別對應於多個邏輯單元的多個邏輯更新次數; 根據用於記錄分別對應於所述多個實體抹除單元的多個有效資料計數的一有效資料計數表,從所述多個實體抹除單元中選擇多個候選實體抹除單元,其中當所述多個有效資料計數由小到大的順序排列時,所述多個候選實體抹除單元的有效資料計數是位在所述順序中的前k個有效資料計數,其中k為正整數; 根據所述多個邏輯更新次數計算分別對應所述多個候選實體抹除單元的多個參考更新次數; 根據所述多個邏輯單元中的多個第一邏輯單元所分別對應的所述多個邏輯更新次數中的多個第一邏輯更新次數計算一參考值; 根據所述參考值以及所述多個參考更新次數判斷所述多個候選實體抹除單元中屬於一冷區域的至少一第一實體抹除單元;以及 從所述至少一第一實體抹除單元中選擇至少一來源實體抹除單元以執行一有效資料合併操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108130145A TWI688958B (zh) | 2019-08-23 | 2019-08-23 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
US16/592,780 US11010291B2 (en) | 2019-08-23 | 2019-10-04 | Cold area determining method, memory controlling circuit unit and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108130145A TWI688958B (zh) | 2019-08-23 | 2019-08-23 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI688958B TWI688958B (zh) | 2020-03-21 |
TW202109542A true TW202109542A (zh) | 2021-03-01 |
Family
ID=70766939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108130145A TWI688958B (zh) | 2019-08-23 | 2019-08-23 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11010291B2 (zh) |
TW (1) | TWI688958B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632037B (zh) * | 2024-01-25 | 2024-05-03 | 合肥兆芯电子有限公司 | 数据存储方法、存储器存储装置及存储器控制器 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
KR101257691B1 (ko) * | 2011-08-12 | 2013-04-24 | 아주대학교산학협력단 | 메모리 컨트롤러 및 이의 데이터 관리방법 |
CN102981971B (zh) * | 2012-12-25 | 2016-06-08 | 重庆大学 | 一种快速响应的相变存储器损耗均衡方法 |
US20140207998A1 (en) * | 2013-01-21 | 2014-07-24 | Skymedi Corporation | System and method of wear leveling for a non-volatile memory |
US9830098B1 (en) * | 2016-07-11 | 2017-11-28 | Silicon Motion, Inc. | Method of wear leveling for data storage device |
KR102664704B1 (ko) * | 2016-10-24 | 2024-05-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
KR20180065075A (ko) * | 2016-12-06 | 2018-06-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
KR102233400B1 (ko) * | 2017-05-29 | 2021-03-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20190019429A (ko) * | 2017-08-17 | 2019-02-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR20190078133A (ko) * | 2017-12-26 | 2019-07-04 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
KR102507646B1 (ko) * | 2018-02-01 | 2023-03-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10860219B2 (en) * | 2018-10-05 | 2020-12-08 | Micron Technology, Inc. | Performing hybrid wear leveling operations based on a sub-total write counter |
CN109783443A (zh) * | 2018-12-25 | 2019-05-21 | 西安交通大学 | 一种分布式存储系统中海量数据的冷热判断方法 |
-
2019
- 2019-08-23 TW TW108130145A patent/TWI688958B/zh active
- 2019-10-04 US US16/592,780 patent/US11010291B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11010291B2 (en) | 2021-05-18 |
US20210056018A1 (en) | 2021-02-25 |
TWI688958B (zh) | 2020-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI693516B (zh) | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI681295B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI731338B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI725416B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI656531B (zh) | 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI705331B (zh) | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW202009942A (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI668699B (zh) | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI709850B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI553477B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI688958B (zh) | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI653632B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US10546640B2 (en) | Data protecting method and memory storage device | |
TWI750013B (zh) | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI545576B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN105573662B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN110874282B (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
CN112445416B (zh) | 冷区域判断方法、存储器控制电路单元与存储器存储装置 | |
TWI834149B (zh) | 表格管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI819876B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI777087B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI780003B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN114527941B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI813362B (zh) | 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元 |