TWI454916B - 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 - Google Patents
儲存單元管理方法、記憶體控制器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TWI454916B TWI454916B TW101116380A TW101116380A TWI454916B TW I454916 B TWI454916 B TW I454916B TW 101116380 A TW101116380 A TW 101116380A TW 101116380 A TW101116380 A TW 101116380A TW I454916 B TWI454916 B TW I454916B
- Authority
- TW
- Taiwan
- Prior art keywords
- rewritable non
- memory
- volatile memory
- physical
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種記憶體儲存裝置的儲存單元管理方法,且特別是有關於一種識別冷資料以管理儲存單元的方法及使此方法的記憶體控制器與記憶體儲存裝置。
可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小與無機械結構等特性,故被廣泛地應用於各種電子裝置。一般來說,可複寫式非揮發性記憶體具有多個記憶體區塊,且每一記憶體區塊包括多個頁面。其中,記憶體區塊為資料抹除之最小單位,而頁面則是資料寫入的最小單位。雖然可複寫式非揮發性記憶體具有上述優點,然而每一記憶體區塊的抹除次數是有限的。例如,記憶體區塊在抹除一萬次後就會磨損,當記憶體區塊磨損導致儲存容量之部分容量損失或性能明顯退化時,會造成使用者所儲存的資料遺失或無法儲存資料等不利影響。
記憶體區塊的磨損係取決於每一記憶體區塊中被程式(program)或抹除的次數。也就是,若一記憶體區塊僅被程式(或者寫入)一次,爾後未被再次程式時,此記憶體區塊的磨損將相對地低。反之,若一記憶體區塊被重複地程式與抹除時,則此記憶體區塊的磨損就會相對地高。例如,當存取記憶體區塊的主機重複地使用相同邏輯區塊位址來寫入資料時,則可複寫式非揮發性記憶體內之相同實體位置的記憶體區塊會被重複地寫入與抹除。
當某些記憶體區塊被磨損而其他記憶體區塊相對地未磨損時,受磨損記憶體區塊之存在會降低可複寫式非揮發性記憶體的性能。除了受磨損記憶體區塊本身性能的退化之外,可複寫式非揮發性記憶體整體的性能亦會降低。也就是,當可複寫式非揮發性記憶體發生超過一門檻數的受磨損記憶體區塊時,即使仍有其他記憶體區塊未磨損,此可複寫式非揮發性記憶體仍會被判定為無法再使用。當實質上未磨損記憶體區塊被視為無法使用時,將會造成資源實際上的浪費。
為了增加可複寫式非揮發性記憶體的壽命,會盡可能平均地使用其中的記憶體區塊。一般來說,可複寫式非揮發性記憶體的記憶體區塊會區分為資料區與閒置區,傳統平均磨損(wear-leveling)的方法是在可複寫式非揮發性記憶體每執行一段固定的時間後,便將資料區中的記憶體區塊與閒置區中的記憶體區塊交換,以期讓在資料區中抹除次數較少的記憶體區塊可被交換至閒置區以供程式(或寫入)使用。
在將資料區中抹除次數較少的記憶體區塊交換至閒置區時,通常會從閒置區中選擇具有較高抹除次數的記憶體區塊交換至資料區,但倘若此記憶體區塊儲存的資料屬於頻繁更新的資料,則此記憶體區塊很可能在資料更新時再次被關聯至閒置區。然而,在下一次需執行平均磨損時,已再被關聯至閒置區的這個記憶體區塊因其具有抹除次數高於其他記憶體區塊,而再次被交換至資料區的機會將遠比其他記憶體區塊高出許多。
有鑑於此,本發明提供一種記憶體儲存裝置,其記憶體控制器與儲存單元管理方法,其能避免實體單元的抹除次數不平均,以延長記憶體儲存裝置的使用壽命。
本發明提出一種儲存單元管理方法,用以管理可複寫式非揮發性記憶體模組中的多個實體單元。此方法包括配置數個邏輯單元以映射部分的實體單元。判斷可複寫式非揮發性記憶體模組中是否存在冷資料(cold data)。若判定可複寫式非揮發性記憶體模組中不存在冷資料,則對所有實體單元執行第一平均磨損程序,若判定可複寫式非揮發性記憶體模組中存在冷資料,則對所有實體單元執行第二平均磨損程序。
在本發明之一範例實施例中,其中上述實體單元至少分組為資料區與閒置區,在判斷可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括在資料區與閒置區之間執行實體單元交換時,記錄第一記憶體抹除次數,其中第一記憶體抹除次數為屬於閒置區的一特定實體單元被交換至資料區時,可複寫式非揮發性記憶體模組的目前記憶體抹除次數。隨著可複寫式非揮發性記憶體模組的使用更新可複寫式非揮發性記憶體模組的記憶體抹除次數。當特定實體單元被再次關聯至閒置區時,取得可複寫式非揮發性記憶體模組在此時的記憶體抹除次數以作為第二記憶體抹除次數。將第一與第二記憶體抹除次數之間的差值與預定值進行比較。若差值小於或等於預定值,判定可複寫式非揮發性記憶體模組中不存在冷資料。若差值大於預定值,判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中預定值為實體單元的總數。
在本發明之一範例實施例中,其中判斷可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括記錄各邏輯單元的寫入次數。在所有邏輯單元中取得所對應之寫入次數大於0的數個已使用邏輯單元,並根據各已使用邏輯單元之寫入次數的分佈特性,判斷可複寫式非揮發性記憶體模組中是否存在冷資料。
在本發明之一範例實施例中,其中根據各已使用邏輯單元之寫入次數的分佈特性,判斷可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括若各已使用邏輯單元兩兩之間之寫入次數的差值均不超過誤差範圍,則判定可複寫式非揮發性記憶體模組中不存在冷資料。若各已使用邏輯單元兩兩之間之寫入次數的差值有超過誤差範圍,則判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中根據各已使用邏輯單元之寫入次數的分佈特性,判斷可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括若各已使用邏輯單元的寫入次數均大於或等於特定次數,則判定可複寫式非揮發性記憶體模組中不存在冷資料。若在各已使用邏輯單元的寫入次數中存在小於特定次數的寫入次數,則判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中特定次數為各已使用邏輯單元之寫入次數中一最大寫入次數的分數值。
在本發明之一範例實施例中,其中上述實體單元至少分組為資料區與閒置區,第一平均磨損程序是每隔第一時間間隔在資料區與閒置區之間執行實體單元交換。第二平均磨損程序是每隔第二時間間隔在資料區與閒置區之間執行實體單元交換。其中第一時間間隔大於第二時間間隔。
在本發明之一範例實施例中,其中每隔第一時間間隔在資料區與閒置區之間執行實體單元交換時,是從屬於閒置區的所有實體單元中隨機選擇實體單元或選擇抹除次數較高但非最高的實體單元來與資料區中具有最小抹除次數的實體單元交換。每隔第二時間間隔在資料區與閒置區之間執行實體單元交換時,是從屬於閒置區的所有實體單元中選擇抹除次數最高的實體單元來與資料區中具有最小抹除次數的實體單元交換。
在本發明之一範例實施例中,其中上述實體單元至少分組為資料區與閒置區,第一平均磨損程序是不在資料區與閒置區之間執行實體單元交換。第二平均磨損程序是每隔預設時間間隔在資料區與閒置區之間執行實體單元交換。
從另一觀點來看,本發明提出一種記憶體控制器,用於具有可複寫式非揮發性記憶體模組的記憶體儲存裝置。此記憶體控制器包括主機系統介面、記憶體介面,以及記憶體管理電路。主機系統介面用以耦接主機系統。記憶體介面用以耦接可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組包括多個實體單元。記憶體管理電路耦接至主機系統介面與記憶體介面,用以配置多個邏輯單元以映射部分的實體單元。其中,記憶體管理電路判斷可複寫式非揮發性記憶體模組中是否存在冷資料。若判定可複寫式非揮發性記憶體模組中不存在冷資料,記憶體管理電路對實體單元執行第一平均磨損程序。若判定可複寫式非揮發性記憶體模組中存在冷資料,記憶體管理電路對實體單元執行第二平均磨損程序。
在本發明之一範例實施例中,其中記憶體管理電路記憶體管理電路將所有實體單元至少分組為資料區與閒置區,並在資料區與閒置區之間執行實體單元交換時,記錄第一記憶體抹除次數,其中第一記憶體抹除次數為屬於閒置區的一特定實體單元被交換至資料區時,可複寫式非揮發性記憶體模組的目前記憶體抹除次數。記憶體管理電路隨著可複寫式非揮發性記憶體模組的使用更新可複寫式非揮發性記憶體模組的記憶體抹除次數。當特定實體單元被再次關聯至閒置區時,記憶體管理電路取得可複寫式非揮發性記憶體模組在此時的記憶體抹除次數以作為第二記憶體抹除次數。記憶體管理電路將第一與第二記憶體抹除次數之間的差值與預定值進行比較。若差值小於或等於預定值,記憶體管理電路判定可複寫式非揮發性記憶體模組中不存在冷資料。若差值大於預定值,記憶體管理電路判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中記憶體管理電路記錄各邏輯單元的寫入次數,在所有邏輯單元中取得所對應之寫入次數大於0的數個已使用邏輯單元,並根據各已使用邏輯單元之寫入次數的分佈特性,判斷可複寫式非揮發性記憶體模組中是否存在冷資料。
在本發明之一範例實施例中,其中若各已使用邏輯單元兩兩之間之寫入次數的差值均不超過誤差範圍,記憶體管理電路判定可複寫式非揮發性記憶體模組中不存在冷資料。若各已使用邏輯單元兩兩之間之寫入次數的差值有超過誤差範圍,記憶體管理電路判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中記憶體管理電路將所有實體單元至少分組為資料區與閒置區,第一平均磨損程序是每隔第一時間間隔在資料區與閒置區之間執行實體單元交換。第二平均磨損程序是每隔第二時間間隔在資料區與閒置區之間執行實體單元交換。其中第一時間間隔大於第二時間間隔。
在本發明之一範例實施例中,其中記憶體管理電路在每隔第一時間間隔在資料區與閒置區之間執行實體單元交換時,是從屬於閒置區的所有實體單元中隨機選擇實體單元或選擇抹除次數較高但非最高的實體單元來與資料區中具有最小抹除次數的實體單元交換。記憶體管理電路在每隔第二時間間隔在資料區與閒置區之間執行實體單元交換時,是從屬於閒置區的所有實體單元中選擇抹除次數最高的實體單元來與資料區中具有最小抹除次數的實體單元交換。
在本發明之一範例實施例中,其中記憶體管理電路將所有實體單元至少分組為資料區與閒置區,第一平均磨損程序是不在資料區與閒置區之間執行實體單元交換。第二平均磨損程序是每隔預設時間間隔在資料區與閒置區之間執行實體單元交換。
從又一觀點來看,本發明提出一種記憶體儲存裝置,包括可複寫式非揮發性記憶體模組、連接器,以及記憶體控制器。其中可複寫式非揮發性記憶體模組具有多個實體單元。連接器用以耦接主機系統。記憶體控制器耦接至可複寫式非揮發性記憶體模組與連接器,用以配置多個邏輯單元以映射部分的實體單元。其中,記憶體控制器判斷可複寫式非揮發性記憶體模組中是否存在冷資料。若判定可複寫式非揮發性記憶體模組中不存在冷資料,記憶體控制器對實體單元執行第一平均磨損程序。若判定可複寫式非揮發性記憶體模組中存在冷資料,記憶體控制器對實體單元執行一第二平均磨損程序。
在本發明之一範例實施例中,其中記憶體控制器將所有實體單元至少分組為資料區與閒置區,並在資料區與閒置區之間執行實體單元交換時,記錄第一記憶體抹除次數,其中第一記憶體抹除次數為屬於閒置區的一特定實體單元被交換至資料區時,可複寫式非揮發性記憶體模組的目前記憶體抹除次數。記憶體控制器隨著可複寫式非揮發性記憶體模組的使用更新可複寫式非揮發性記憶體模組的記憶體抹除次數。當特定實體單元被再次關聯至閒置區時,記憶體控制器取得可複寫式非揮發性記憶體模組在此時的記憶體抹除次數以作為第二記憶體抹除次數。記憶體控制器將第一與第二記憶體抹除次數之間的差值與預定值進行比較。若差值小於或等於預定值,記憶體控制器判定可複寫式非揮發性記憶體模組中不存在冷資料。若差值大於預定值,記憶體控制器判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中記憶體控制器記錄各邏輯單元的寫入次數,在所有邏輯單元中取得所對應之寫入次數大於0的數個已使用邏輯單元,並根據各已使用邏輯單元之寫入次數的分佈特性,判斷可複寫式非揮發性記憶體模組中是否存在冷資料。
在本發明之一範例實施例中,其中若各已使用邏輯單元兩兩之間之寫入次數的差值均不超過誤差範圍,記憶體控制器判定可複寫式非揮發性記憶體模組中不存在冷資料。若各已使用邏輯單元兩兩之間之寫入次數的差值有超過誤差範圍,記憶體控制器判定可複寫式非揮發性記憶體模組中存在冷資料。
在本發明之一範例實施例中,其中記憶體控制器將所有實體單元至少分組為資料區與閒置區,第一平均磨損程序是每隔第一時間間隔在資料區與閒置區之間執行實體單元交換。第二平均磨損程序是每隔第二時間間隔在資料區與閒置區之間執行實體單元交換。其中第一時間間隔大於第二時間間隔。
在本發明之一範例實施例中,其中記憶體控制器在每隔第一時間間隔在資料區與閒置區之間執行實體單元交換時,是從屬於閒置區的所有實體單元中隨機選擇實體單元或選擇抹除次數較高但非最高的實體單元來與資料區中具有最小抹除次數的實體單元交換。記憶體控制器在每隔第二時間間隔在資料區與閒置區之間執行實體單元交換時,是從屬於閒置區的所有實體單元中選擇抹除次數最高的實體單元來與資料區中具有最小抹除次數的實體單元交換。
在本發明之一範例實施例中,其中記憶體控制器將所有實體單元至少分組為資料區與閒置區,第一平均磨損程序是不在資料區與閒置區之間執行實體單元交換。第二平均磨損程序是每隔預設時間間隔在資料區與閒置區之間執行實體單元交換。
基於上述,本發明是藉由判斷可複寫式非揮發性記憶體模組中是否存在冷資料而依據判斷結果採取對應方式來管理其中的實體單元。例如,依據是否存在冷資料而對實體單元施以不同的平均磨損程序。如此能有效平均實體單元的抹除次數,以延長記憶體儲存裝置的使用壽命。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據本發明一範例實施例所繪示之使用記憶體儲存裝置之主機系統的示意圖。
主機系統1000包括電腦1100與輸入/輸出(Input/Output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(Random Access Memory,RAM)1104、系統匯流排1108以及資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B所示的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明範例實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104以及輸入/輸出裝置1106的運作,主機系統1000可將資料寫入至記憶體儲存裝置100,或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的記憶卡1214、隨身碟1212、或固態硬碟(Solid State Drive,SSD)1216。
一般而言,主機系統1000為可儲存資料的任意系統。雖然在本範例實施例中主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中,主機系統1000亦可以是手機、數位相機、攝影機、通訊裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機1310時,記憶體儲存裝置則為其所使用的安全數位(Secure Digital,SD)卡1312、多媒體記憶(Multimedia Card,MMC)卡1314、記憶棒(Memory Stick)1316、小型快閃(Compact Flash,CF)卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示之記憶體儲存裝置100的方塊圖。請參照圖2,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
連接器102耦接至記憶體控制器104,並且用以耦接主機系統1000。在本範例實施例中,連接器102所支援的傳輸介面種類為序列先進附件(Serial Advanced Technology Attachment,SATA)介面。然而在其他範例實施例中,連接器102的傳輸介面種類也可以是通用序列匯流排(Universal Serial Bus,USB)介面、多媒體儲存卡(Multimedia Card,MMC)介面、平行先進附件(Parallel Advanced Technology Attachment,PATA)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394介面、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)介面、安全數位(Secure Digital,SD)介面、記憶棒(Memory Stick,MS)介面、小型快閃(Compact Flash,CF)介面,或整合驅動電子(Integrated Drive Electronics,IDE)介面等任何適用的介面,在此並不加以限制。
記憶體控制器104會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。其中,記憶體控制器104更特別用以根據本範例實施例之儲存單元管理方法來採取對應的規則進行管理。例如,分別在可複寫式非揮發性記憶體模組106具有冷資料以及不具有冷資料的情況下採取不同的平均磨損(wear-leveling)程序。本範例實施例之儲存單元管理方法將於後配合圖示再作說明。
可複寫式非揮發性記憶體模組106耦接至記憶體控制器104。可複寫式非揮發性記憶體模組106包括多個實體單元。在一範例實施例中,每一實體單元是由一個實體區塊(一實體區塊包括多個實體頁面)所組成,然而本發明並不侷限於此。在其他範例實施例中,每一實體單元也可由數個實體區塊所組成,在此並不對實體單元的組成加以限制。舉例來說,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組,但本發明不限於此,可複寫式非揮發性記憶體模組106也可以是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、其他快閃記憶體模組或任何具有相同特性的記憶體模組。
圖3是根據本發明一範例實施例所繪示的記憶體控制器的概要方塊圖。請參照圖3,記憶體控制器104包括主機系統介面1041、記憶體管理電路1043,以及記憶體介面1045。
主機系統介面1041耦接至記憶體管理電路1043,並透過連接器102以耦接主機系統1000。主機系統介面1041係用以接收與識別主機系統1000所傳送的指令與資料。據此,主機系統1000所傳送的指令與資料會透過主機系統介面1041而傳送至記憶體管理電路1043。在本範例實施例中,主機系統介面1041對應連接器102而為SATA介面,而在其他範例實施例中,主機系統介面1041也可以是USB介面、MMC介面、PATA介面、IEEE 1394介面、PCI Express介面、SD介面、MS介面、CF介面、IDE介面或符合其他介面標準的介面。
記憶體管理電路1043係用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路1043具有多個控制指令,在記憶體儲存裝置100被運轉(power on)時,上述控制指令會被執行以實現本範例實施例之儲存單元管理方法。
在一範例實施例中,記憶體管理電路1043的控制指令是以韌體型式來實作。例如,記憶體管理電路1043具有微處理器單元(未繪示)與唯讀記憶體(未繪示),且上述控制指令是被燒錄在唯讀記憶體中。當記憶體儲存裝置100運作時,上述控制指令會由微處理器單元來執行以完成本範例實施例之儲存單元管理方法。
在本發明另一範例實施例中,記憶體管理電路1043的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,可複寫式非揮發性記憶體模組106中專用於存放系統資料的系統區)中。此外,記憶體管理電路1043具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。其中,唯讀記憶體具有驅動碼段,並且當記憶體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路1043的隨機存取記憶體中。之後,微處理器單元會運轉上述控制指令以執行本範例實施例之儲存單元管理方法。
此外,在本發明另一範例實施例中,記憶體管理電路1043的控制指令亦可以一硬體型式來實作。舉例來說,記憶體管理電路1043包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體單元。記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中。記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料。記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除。而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
記憶體介面1045耦接至記憶體管理電路1043,以使記憶體控制器104與可複寫式非揮發性記憶體模組106相耦接。據此,記憶體控制器104可對可複寫式非揮發性記憶體模組106進行相關運作。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面1045轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
在本發明之另一範例實施例中,記憶體控制器104還包括錯誤檢查與校正電路3002。錯誤檢查與校正電路3002耦接至記憶體管理電路1043,用以執行錯誤檢查與校正程序以確保資料的正確性。具體而言,當記憶體管理電路1043接收到來自主機系統1000的寫入指令時,錯誤檢查與校正電路3002會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),且記憶體管理電路1043會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106。之後當記憶體管理電路1043從可複寫式非揮發性記憶體模組106中讀取資料時,會同時讀取此資料對應的錯誤檢查與校正碼,且錯誤檢查與校正電路3002會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序,以識別該筆資料是否存在錯誤位元。
在本發明之另一範例實施例中,記憶體控制器104還包括緩衝記憶體3004。緩衝記憶體3004可以是靜態隨機存取記憶體(Static Random Access Memory,SRAM)、或動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)等,本發明並不加以限制。緩衝記憶體3004耦接至記憶體管理電路1043,用以暫存來自於主機系統1000的指令與資料,或暫存來自於可複寫式非揮發性記憶體模組106的資料。
在本發明又一範例實施例中,記憶體控制器104還包括電源管理電路3006。電源管理電路3006耦接至記憶體管理電路1043,用以控制記憶體儲存裝置100的電源。
為了方便說明,在以下的範例實施例中假設每一實體單元是由一個實體區塊組成。圖4是根據本發明之一範例實施例所繪示之管理可複寫式非揮發性記憶體模組之實體區塊的示意圖。必須說明的是,以下雖然是以實體區塊作為管理的單位,然而本發明並不拘限於此。
此外,在以下描述可複寫式非揮發性記憶體模組106之實體區塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區塊是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組106之實體區塊的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組106的實體區塊進行上述操作。
請參照圖4,本範例實施例之可複寫式非揮發性記憶體模組106包括實體區塊410(0)~410(N)。記憶體控制器104中的記憶體管理電路1043會將實體區塊410(0)~410(N)邏輯地分組為資料區502、閒置區504、系統區506與取代區508。其中,圖4所標示的F、S、R與N為正整數,代表各區配置的實體區塊數量,其可由記憶體儲存裝置100的製造商依據所使用之可複寫式非揮發性記憶體模組106的容量來設定。
邏輯上屬於資料區502與閒置區504的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,對於被分組至資料區502的實體區塊,在其尚未儲存任何資料之前,會被視為空的實體區塊。當主機系統1000下達寫入指令欲將資料寫入至可複寫式非揮發性記憶體模組106時,記憶體管理電路1043會從資料區502中提取空的實體區塊來寫入資料。然而在主機系統1000下達寫入指令而資料區502中已無空的實體區塊時,記憶體管理電路1043則會從閒置區504中提取實體區塊,並且將資料寫入至所提取的實體區塊中,以替換資料區502的實體區塊。或者,當需要對一邏輯區塊執行資料合併程序時,記憶體管理電路1043會從閒置區504提取實體區塊並將資料寫入其中,以替換原先映射此邏輯區塊的實體區塊。
邏輯上屬於系統區506的實體區塊是用以記錄系統資料。舉例來說,系統資料包括關於可複寫式非揮發性記憶體模組106的製造商與型號、可複寫式非揮發性記憶體模組106的實體區塊數、每一實體區塊的實體頁面數等等。
邏輯上屬於取代區508的實體區塊是用以在資料區502、閒置區504或系統區506中的實體區塊損毀時,取代損壞的實體區塊。具體而言,在記憶體儲存裝置100運作期間,倘若取代區508中仍存有正常之實體區塊且資料區502的實體區塊損壞時,記憶體管理電路1043會從取代區508中提取正常的實體區塊來更換資料區502中損壞的實體區塊。也因此,在記憶體儲存裝置100的運作過程中,資料區502、閒置區504、系統區506與取代區508的實體區塊會動態地變動。例如,用以輪替儲存資料的實體區塊會變動地屬於資料區502或閒置區504。
為了讓主機系統1000能對可複寫式非揮發性記憶體模組106進行存取,記憶體管理電路1043會配置數個邏輯區塊610(0)~610(L)以映射資料區502中的實體區塊410(0)~410(F-1)。其中每一邏輯區塊包括多個邏輯頁面,而邏輯區塊610(0)~610(L)中的邏輯頁面會映射實體區塊410(0)~410(F-1)中的實體頁面。
詳言之,記憶體管理電路1043將所配置的邏輯區塊610(0)~610(L)提供給主機系統1000,並維護邏輯區塊-實體區塊映射表(logical block-physical block mapping table)以記錄邏輯區塊610(0)~610(L)與實體區塊410(0)~410(F-1)的映射關係。因此,當主機系統1000欲存取一邏輯存取位址時,記憶體管理電路1043會將此邏輯存取位址轉換為對應的邏輯區塊的邏輯頁面,再透過邏輯區塊-實體區塊映射表找到其所映射的實體頁面來進行存取。
基於可複寫式非揮發性記憶體模組106的特性,已寫入資料的實體區塊必須先被抹除後才可再用於寫入資料。由於實體區塊為抹除之最小單位,記憶體管理電路1043會記錄每一實體區塊的抹除次數。舉例來說,實體區塊與其抹除次數可記錄為一對應表並儲存於緩衝記憶體3004。記憶體管理電路1043亦能據此統計可複寫式非揮發性記憶體模組106到目前為止所發生的記憶體抹除次數(即,實體區塊410(0)~410(N)的抹除次數總合)。
在記憶體儲存裝置100被使用的期間,每當有實體區塊被執行抹除運作,記憶體管理電路1043會更新此實體區塊的抹除次數。舉例來說,當主機系統1000需更新已儲存在資料區502之實體區塊410(0)中的資料時,記憶體管理電路1043會從閒置區504提取實體區塊(例如,實體區塊410(F))來寫入欲更新的新資料以及不需更新的舊有效資料,並將屬於資料區502的實體區塊410(0)抹除並關連至閒置區504,以及將實體區塊410(F)關連至資料區502。由此可見,頻繁地更新資料會導致可複寫式非揮發性記憶體模組106的部分實體區塊經常需要在資料區502與閒置區504之間輪替,而經常輪替的實體區塊會有較高的抹除次數。反之,對於被寫入可複寫式非揮發性記憶體模組106後就長時間未曾更動或甚至被設定成唯讀屬性的資料(以下將這類資料稱為冷資料(cold data)),儲存此類資料的實體區塊因資料鮮少更新或不能更新,因此其抹除次數會相對較低。
一般來說,記憶體管理電路1043會執行平均磨損(wear-leveling)程序來平均可複寫式非揮發性記憶體模組106內所有實體區塊的磨損程度。詳言之,平均磨損程序是分別在資料區502與閒置區504選擇一實體區塊並進行這兩個實體區塊的交換動作。基本上,記憶體管理電路1043在執行實體區塊交換時會從資料區502中選擇具有較低抹除次數的實體區塊和閒置區504中具有較高抹除次數的實體區塊進行交換,以期將抹除次數低的實體區塊換至閒置區504以供後續寫入使用。
倘若可複寫式非揮發性記憶體模組106中存在冷資料,由於用以儲存冷資料的實體區塊具有較低的抹除次數,因此容易被選擇和閒置區504中具有較高抹除次數的實體區塊交換。且當原屬於閒置區504且具有較高抹除次數的實體區塊被換至資料區502來儲存冷資料時,因冷資料的更新機會低,此實體區塊因資料更新而快速輪替回閒置區504的機率也不高。
反之,倘若可複寫式非揮發性記憶體模組106所儲存的都是更新頻率高的資料(即,不存在冷資料),記憶體管理電路1043在要進行平均磨損程序時,即便是從資料區502選擇抹除次數較低的實體區塊與閒置區504中具有較高抹除次數的實體區塊交換,被換至資料區502且具有較高抹除次數的實體區塊很可能因為儲存的是需要經常更新的資料,而很快地輪替回閒置區504。待下次需要執行平均磨損程序時,此實體區塊因具有較高的抹除次數容易再次被選擇交換至資料區502。
舉例來說,假設可複寫式非揮發性記憶體106之資料區502中具有一千個未使用的實體區塊且其中有一實體區塊具有高於其他實體區塊的抹除次數。在固定每隔一段時間便執行一次平均磨損程序的情況下(例如,可複寫式非揮發性記憶體106每經歷一百次抹除操作便執行一次平均磨損程序),此實體區塊不斷在資料區502與閒置區504之間交換的次數將是其他實體區塊的10倍,因而此實體區塊的磨損程度會大幅高出其他實體區塊。如此一來,原用以平均使用實體區塊所進行的平均磨損程序卻會導致實體區塊之抹除次數不平均的結果。
為避免上述情況,記憶體管理電路1043會識別可複寫式非揮發性記憶體模組106中是否存在冷資料,並根據識別結果採取不同的平均磨損程序,以達到平均實體區塊之磨損的目的。以下將以數個範例實施例說明記憶體管理電路1043如何識別可複寫式非揮發性記憶體模組106是否具有冷資料,以及根據識別結果採取不同平均磨損程序的詳細步驟。
在一範例實施例中,每當記憶體管理電路1043在執行平均磨損程序而將閒置區504中的一實體區塊換至資料區502,記憶體管理電路1043會判斷該實體區塊是否很快從資料區502被再次換回閒置區504。若該實體區塊很快地被換回閒置區504,表示可複寫式非揮發性記憶體模組106所儲存的都是更新頻率高的資料(即,不存在冷資料),而倘若該實體區塊歷經長時間才被換回閒置區504,則判定可複寫式非揮發性記憶體模組106具有冷資料。在本範例實施例中,記憶體管理電路1043是以可複寫式非揮發性記憶體模組106發生之抹除次數來判斷實體區塊由資料區502被再次關聯至閒置區504的時間長短。
圖5是根據本發明之一範例實施例所繪示之儲存單元管理方法的流程圖。請參閱圖5,首先如步驟S510所示,每當要執行平均磨損程序而在資料區502與閒置區504之間進行實體區塊交換時,記憶體管理電路1043記錄一第一記憶體抹除次數。此第一記憶體抹除次數是當原屬於閒置區504的實體區塊(以下稱之為特定實體區塊)被交換至資料區502時,可複寫式非揮發性記憶體模組106目前之記憶體抹除次數。
接下來在步驟S520中,隨著可複寫式非揮發性記憶體模組106的使用,記憶體管理電路1043會不斷更新可複寫式非揮發性記憶體模組106的記憶體抹除次數。
在步驟S530中,一旦特定實體區塊被再次關聯至閒置區504時,記憶體管理電路1043取得可複寫式非揮發性記憶體模組106在此時的記憶體抹除次數以作為第二記憶體抹除次數。
並如步驟S540所示,將第一記憶體抹除次數與第二記憶體抹除次數之間的差值與一預定值進行比較,以判斷差值是否小於或等於預定值。
倘若差值小於或等於預定值,則如步驟S550所示,記憶體管理電路1043識別可複寫式非揮發性記憶體模組106中不存在冷資料。若差值大於預定值,如步驟S570所示,記憶體管理電路1043識別可複寫式非揮發性記憶體模組106中存在冷資料。
在本範例實施例中,預定值例如是實體區塊410(0)~410(N)的總數。舉例來說,假設實體區塊410(0)~410(N)的總數為兩千,且假設在特定實體區塊被交換至資料區502之際,可複寫式非揮發性記憶體模組106的記憶體抹除次數為一百次,而當特定實體區塊再次被關聯至閒置區504時,可複寫式非揮發性記憶體模組106的記憶體抹除次數為一萬次。亦即,特定實體區塊被交換至資料區502後,在記憶體儲存裝置100發生9900次抹除操作後才再次回到閒置區504,由於記憶體抹除次數的差值大於實體區塊總數,記憶體管理電路1043會認為特定實體區塊在上一次執行平均磨損程序時是被換到資料區502來儲存冷資料,因而產生在可複寫式非揮發性記憶體模組106中存在冷資料的識別結果。
然而,倘若在特定實體區塊再次被關聯至閒置區504時,可複寫式非揮發性記憶體模組106的記憶體抹除次數為一千次,表示特定實體區塊在可複寫式非揮發性記憶體模組106發生900次抹除操作後便從資料區502再次被關聯為閒置區504。由於特定實體區塊被交換至資料區502與被換回閒置區504的記憶體抹除次數差值小於或等於實體區塊總數,記憶體管理電路1043會判定特定實體區塊在前次執行平均磨損程序時是被換到資料區502以儲存經常需要更新的資料。據此,記憶體管理電路1043識別在可複寫式非揮發性記憶體模組106中不存在冷資料。
在識別可複寫式非揮發性記憶體模組106中不存在冷資料的情況下,如步驟S560所示,記憶體管理電路1043每隔第一時間間隔進行一次平均磨損程序(即,在資料區502與閒置區504之間執行實體區塊交換)。而在識別可複寫式非揮發性記憶體模組106中存在冷資料時,如步驟S580所示,記憶體管理電路1043每隔第二時間間隔進行一次平均磨損程序。在本範例實施中,第一時間間隔與第二時間間隔是以可複寫式非揮發性記憶體模組106發生的記憶體抹除次數為單位,且第一時間間隔大於第二時間間隔。例如,第一時間間隔為可複寫式非揮發性記憶體模組106發生1000次記憶體抹除,而第二時間間隔為可複寫式非揮發性記憶體模組106發生100次記憶體抹除。
在圖5所示之範例實施例中,記憶體管理電路1043會根據識別結果動態調整執行平均磨損程序的時間間隔。如果特定實體區塊需要較長的時間才回到閒置區504,則可知特定實體區塊先前是被換到資料區502以儲存冷資料,因此記憶體管理電路1043會以較短的時間間隔來執行平均磨損程序,例如在可複寫式非揮發性記憶體模組106每發生100次記憶體抹除次數便執行一次平均磨損程序。但若是特定實體區塊在相當短的時間內便回到閒置區504,則表示特定實體區塊先前是被換到資料區502中用以儲存需經常更新的資料,此情況表示可複寫式非揮發性記憶體模組106可能沒有冷資料,基此,記憶體管理電路1043會以較長的時間間隔來執行平均磨損程序,例如在可複寫式非揮發性記憶體模組106每發生1000次記憶體抹除次數才執行一次平均磨損程序,以避免原本就具有較高抹除次數的實體區塊因頻繁的平均磨損程序而產生大幅高出其他實體區塊的抹除次數。
除了根據可複寫式非揮發性記憶體模組106是否存在冷資料來調整平均磨損程序的執行頻率,在另一範例實施例中,記憶體管理電路1043亦會根據可複寫式非揮發性記憶體模組106是否存在冷資料,而以不同的方式在資料區502與閒置區504中選擇要交換的實體區塊。例如,在不具有冷資料的情況下,記憶體管理電路1043每隔第一時間間隔在資料區502與閒置區504之間執行實體區塊交換時,會從屬於閒置區504的所有實體區塊中隨機選擇實體區塊,或選擇抹除次數較高但非最高的實體區塊來與資料區502中具有最小抹除次數的實體區塊交換。而在有冷資料的情況下,記憶體管理電路1043每隔第二時間間隔在資料區502與閒置區504之間執行實體區塊交換時,會從屬於閒置區504的所有實體區塊中選擇抹除次數最高的實體區塊來與資料區502中具有最小抹除次數的實體區塊交換。
必須特別說明的是,上述範例實施例在執行平均磨損程序時是使資料區502與閒置區504彼此交換一個實體區塊,然而本發明並不對交換的單位加以限定。在另一範例實施例中,倘若每一實體單元是由m個實體區塊所組成(m為大於1的整數),則每當要進行平均磨損程序時,記憶體管理電路1043會在資料區502選出具有較小抹除次數的m個實體區塊來和閒置區504中具有較高抹除次數的m個實體區塊做交換。在又一範例實施例中,執行平均磨損程序而交換的單位也可以是任何預設單位,而不限定於與實體單元的大小相符。
在另一範例實施例中,記憶體管理電路1043會根據邏輯區塊610(0)~610(L)的寫入次數來判斷可複寫式非揮發性記憶體模組106中是否存在冷資料。具體來說,每當主機系統1000欲將資料寫入一邏輯存取位址時,記憶體管理電路1043會將此邏輯存取位址轉換為對應的邏輯區塊,並更新此邏輯區塊的寫入次數。寫入次數大於0的邏輯區塊以下稱之為已使用邏輯區塊。記憶體管理電路1043會根據所有已使用邏輯區塊之寫入次數的分佈特性來判斷可複寫式非揮發性記憶體模組106中是否存在冷資料。
圖6是根據本發明之另一範例實施例所繪示之儲存單元管理方法的流程圖。首先如步驟S610所示,記憶體管理電路1043在記憶體儲存裝置100被使用的期間,持續記錄每一邏輯區塊610(0)~610(L)的寫入次數。
在步驟S620中,記憶體管理電路1043從所有邏輯區塊610(0)~610(L)的中,取得所對應之寫入次數大於0的數個已使用邏輯區塊。
接著如步驟S630所示,記憶體管理電路1043判斷各已使用邏輯區塊兩兩之間之寫入次數的差值是否均不超過誤差範圍。其中,誤差範圍例如為25,但本發明並不侷限於此。
若兩兩寫入次數之間的差值都未超過誤差範圍,表示主機系統1000是平均地對這些已使用邏輯區塊進行寫入操作,因此各已使用邏輯區塊對應之實體區塊所儲存的資料被更新的頻率接近,故如步驟S640所示,記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中不存在冷資料。反之,倘若步驟S630的判斷結果為否,表示至少有一已使用邏輯區塊的寫入次數與其他已使用邏輯區塊的寫入次數差距較大,亦即,其對應之實體區塊所儲存的資料相對來說較少被更新,因此如步驟S660所示,記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中存在冷資料。
舉例來說,假設記憶體管理電路1043從所有邏輯區塊610(0)~610(L)中取得3個已使用邏輯區塊,其分別對應的寫入次數為100、80、80。由於這3個已使用邏輯區塊兩兩之間之寫入次數的差值全都小於誤差範圍(例如,25),因此記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中不存在冷資料。
假設記憶體管理電路1043所取得之3個已使用邏輯區塊所分別對應的寫入次數為100、80、10,則因並非所有寫入次數兩兩之間的差值都小於誤差範圍,故記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中存在冷資料。
在本範例實施例中,當記憶體管理電路1043判定可複寫式非揮發性記憶體模組106不存在冷資料,接著如步驟S650所示,記憶體管理電路1043每隔第一時間間隔在資料區502與閒置區504之間執行實體區塊交換。而當記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中存在冷資料,則如步驟S670所示,記憶體管理電路1043每隔第二時間間隔在資料區502與閒置區504之間執行實體區塊交換。由於每隔第一或第二時間間隔在資料區502與閒置區504之間執行實體區塊交換的詳細步驟與圖5所示之範例實施例相同或相似,故在此不再贅述。必須說明的是,在前述範例實施例中雖是以交換一個實體區塊為例來進行說明,但本發明並不限定執行平均磨損程序時的交換單位。
圖7是根據本發明之又一範例實施例所繪示之儲存單元管理方法的流程圖。圖7與圖6的差異在於步驟S730的判斷機制,由於圖7的其餘步驟均與圖6相似,故以下僅就差異之處進行說明。
在步驟S730中,記憶體管理電路1043判斷各個已使用邏輯區塊的寫入次數是否均大於或等於一特定次數。在本範例實施例中,特定次數是所有已使用邏輯區塊之寫入次數中,最大寫入次數的分數值(例如二分之一,但本發明並不以此為限)。倘若所有已使用邏輯區塊的寫入次數都大於或等於特定次數,表示各已使用邏輯區塊對應之實體區塊所儲存的資料被更新的次數都相當頻繁,基此如步驟S740所示,記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中不存在冷資料。然而,倘若有一或多個已使用邏輯區塊的寫入次數小於特定次數,則表示其對應之實體區塊所儲存的資料被更新的頻率遠低於其他資料,因此如步驟S760所示,記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中存在冷資料。
舉例來說,假設記憶體管理電路1043自邏輯區塊610(0)~610(L)中取得3個已使用邏輯區塊,其分別對應的寫入次數為100、80、10,若特定次數為最大寫入次數的二分之一(即,50)。由於在這3個已使用邏輯區塊中存在對應之寫入次數小於50的已使用邏輯區塊,因此記憶體管理電路1043判定可複寫式非揮發性記憶體模組106中存在冷資料。另一範例實施例中,倘若記憶體管理電路1043取得3個已使用邏輯區塊,分別對應的寫入次數為100、80、80。由於所有已使用邏輯區塊的寫入次數均大於特定次數,記憶體管理電路1043則判定可複寫式非揮發性記憶體模組106中不存在冷資料。
值得一提的是,上述統計寫入次數的基本單位是以邏輯區塊(亦稱邏輯單元)來舉例說明,然而本發明並不以此為限,邏輯單元亦可為一個邏輯扇、多個邏輯扇、一個邏輯頁面、多個邏輯頁面或多個邏輯區塊等。
圖8是根據本發明之另一範例實施例所繪示之儲存單元管理方法的流程圖。
請參閱圖8,如步驟S810所示,記憶體管理電路1043配置多個邏輯單元以映射可複寫式非揮發性記憶體模組106之所有實體單元中的部份實體單元。其中,每一實體單元可為一個實體區塊或多個實體區塊,而各邏輯單元的大小則對應實體單元的大小。
接著在步驟S820中,記憶體管理電路1043判斷可複寫式非揮發性記憶體模組106中是否存在冷資料。
並且如步驟S830所示,記憶體管理電路1043根據判斷結果選擇對所有實體單元執行第一平均磨損程序或第二平均磨損程序。在一範例實施例中,第一與第二平均磨損程序的不同之處在於實體單元做交換的執行時間間隔及/或實體單元的選擇方式。例如,在判斷沒有冷資料的情況下以較長的時間間隔來執行實體單元交換,而在有冷資料的情況下以較短的時間間隔來執行實體單元交換。然而本發明並不侷限於上述平均磨損程序的執行方式。在另一範例實施例中,記憶體管理電路1043亦可根據不同的識別結果選擇對應的規則來管理可複寫式非揮發性記憶體模組106中的實體單元,例如,根據不具有冷資料的識別結果,記憶體管理電路1043亦可不執行平均磨損程序,而僅在識別有冷資料的情況下,才每隔預設時間間隔進行資料區502與閒置區504之間的實體單元交換。
綜上所述,本發明所述之記憶體儲存裝置,記憶體控制器與儲存單元管理方法不僅能判斷可複寫式非揮發性記憶體模組中是否存在冷資料,亦能根據判斷結果採取不同方式管理實體單元。例如動態控制每次進行平均磨損的時間間隔,如此一來可避免不斷增加某些實體單元的抹除次數而造成抹除次數不平均的情況,從而延長記憶體儲存裝置的使用壽命。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...可複寫式非揮發性記憶體模組
1041...主機系統介面
1043...記憶體管理電路
1045...記憶體介面
3002...錯誤檢查與校正電路
3004...緩衝記憶體
3006...電源管理電路
410(0)~410(N)...實體區塊
502...資料區
504...閒置區
506...系統區
508...取代區
610(0)~610(L)...邏輯區塊
S510~S580...本發明之一實施例所述之儲存單元管理方法的各步驟
S610~S670...本發明之另一實施例所述之儲存單元管理方法的各步驟
S710~S770...本發明之又一實施例所述之儲存單元管理方法的各步驟
S810~S830...本發明之再一實施例所述之儲存單元管理方法的各步驟
圖1A是根據本發明一範例實施例繪示之使用記憶體儲存裝置的主機系統的示意圖。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據本發明另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據本發明一範例實施例繪示之記憶體控制器的概要方塊圖。
圖4是根據本發明之一範例實施例所繪示之管理實體區塊的示意圖。
圖5是根據本發明之一範例實施例所繪示之儲存單元管理方法的流程圖。
圖6是根據本發明之另一範例實施例所繪示之儲存單元管理方法的流程圖。
圖7是根據本發明之又一範例實施例所繪示之儲存單元管理方法的流程圖。
圖8是根據本發明之再一範例實施例所繪示之儲存單元管理方法的流程圖。
S510~S580...本發明之一實施例所述之儲存單元管理方法的各步驟
Claims (24)
- 一種儲存單元管理方法,用以管理一可複寫式非揮發性記憶體模組中的多個實體單元,該方法包括:配置多個邏輯單元以映射部份的該些實體單元;判斷該可複寫式非揮發性記憶體模組中是否存在冷資料(cold data);若判定該可複寫式非揮發性記憶體模組中不存在冷資料,則對該些實體單元執行一第一平均磨損程序;以及若判定該可複寫式非揮發性記憶體模組中存在冷資料,則對該些實體單元執行一第二平均磨損程序,其中該些實體單元至少分組為一資料區與一閒置區,該第一平均磨損程序是每隔一第一時間間隔在該資料區與該閒置區之間執行一實體單元交換,而該第二平均磨損程序是每隔一第二時間間隔在該資料區與該閒置區之間執行該實體單元交換。
- 如申請專利範圍第1項所述之方法,其中該些實體單元至少分組為一資料區與一閒置區,在判斷該可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括:在該資料區與該閒置區之間執行一實體單元交換時,記錄一第一記憶體抹除次數,其中該第一記憶體抹除次數為屬於該閒置區的一特定實體單元被交換至該資料區時,該可複寫式非揮發性記憶體模組的目前記憶體抹除次數;隨著該可複寫式非揮發性記憶體模組的使用更新該 可複寫式非揮發性記憶體模組的記憶體抹除次數;當該特定實體單元被再次關聯至該閒置區時,取得該可複寫式非揮發性記憶體模組在此時的記憶體抹除次數以作為一第二記憶體抹除次數;將該第一記憶體抹除次數與該第二記憶體抹除次數之間的一差值與一預定值比較;若該差值小於或等於該預定值,判定該可複寫式非揮發性記憶體模組中不存在冷資料;以及若該差值大於該預定值,判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第2項所述之方法,其中該預定值為該些實體單元的一總數。
- 如申請專利範圍第1項所述之方法,其中判斷該可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括:記錄各該些邏輯單元的一寫入次數;在該些邏輯單元中取得所對應之寫入次數大於0的多個已使用邏輯單元;以及根據各該些已使用邏輯單元之該寫入次數的一分佈特性,判斷該可複寫式非揮發性記憶體模組中是否存在冷資料。
- 如申請專利範圍第4項所述之方法,其中根據各該些已使用邏輯單元之該寫入次數的該分佈特性,判斷該可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包 括:若各該些已使用邏輯單元兩兩之間之該寫入次數的差值均不超過一誤差範圍,判定該可複寫式非揮發性記憶體模組中不存在冷資料;以及若各該些已使用邏輯區塊兩兩之間之該寫入次數的差值有超過該誤差範圍,判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第4項所述之方法,其中根據各該些已使用邏輯單元之該寫入次數的該分佈特性,判斷該可複寫式非揮發性記憶體模組中是否存在冷資料的步驟包括:若各該些已使用邏輯單元的該寫入次數均大於或等於一特定次數,判定該可複寫式非揮發性記憶體模組中不存在冷資料;以及若在各該些已使用邏輯單元的該寫入次數中存在小於該特定次數的寫入次數,判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第6項所述之方法,其中該特定次數為各該些已使用邏輯單元之該寫入次數中一最大寫入次數的一分數值。
- 如申請專利範圍第1項所述之方法,其中該第一時間間隔大於該第二時間間隔。
- 如申請專利範圍第8項所述之方法,其中每隔該第一時間間隔在該資料區與該閒置區之間執行該實體單元交 換時,是從屬於該閒置區的所有實體單元中隨機選擇實體單元或選擇抹除次數較高但非最高的實體單元來與該資料區中具有最小抹除次數的實體單元交換,而每隔該第二時間間隔在該資料區與該閒置區之間執行該實體單元交換時,是從屬於該閒置區的所有實體單元中選擇抹除次數最高的實體單元來與該資料區中具有最小抹除次數的實體單元交換。
- 如申請專利範圍第1項所述之方法,其中該些實體單元至少分組為一資料區與一閒置區,該第一平均磨損程序是不在該資料區與該閒置區之間執行一實體單元交換,而該第二平均磨損程序是每隔一預設時間間隔在該資料區與該閒置區之間執行該實體單元交換。
- 一種記憶體控制器,用於具有一可複寫式非揮發性記憶體模組的一記憶體儲存裝置,該記憶體控制器包括:一主機系統介面,用以耦接一主機系統;一記憶體介面,用以耦接該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體單元;以及一記憶體管理電路,耦接至該主機系統介面與該記憶體介面,用以配置多個邏輯單元以映射部份的該些實體單元,其中該記憶體管理電路判斷該可複寫式非揮發性記憶體模組中是否存在冷資料,若判定該可複寫式非揮發性記憶體模組中不存在冷 資料,該記憶體管理電路對該些實體單元執行一第一平均磨損程序,若判定該可複寫式非揮發性記憶體模組中存在冷資料,該記憶體管理電路對該些實體單元執行一第二平均磨損程序,其中該記憶體管理電路將該些實體單元至少分組為一資料區與一閒置區,該第一平均磨損程序是每隔一第一時間間隔在該資料區與該閒置區之間執行一實體單元交換,而該第二平均磨損程序是每隔一第二時間間隔在該資料區與該閒置區之間執行該實體單元交換。
- 如申請專利範圍第11項所述之記憶體控制器,其中該記憶體管理電路將該些實體單元至少分組為一資料區與一閒置區,並在該資料區與該閒置區之間執行一實體單元交換時,記錄一第一記憶體抹除次數,其中該第一記憶體抹除次數為屬於該閒置區的一特定實體單元被交換至該資料區時,該可複寫式非揮發性記憶體模組的目前記憶體抹除次數,該記憶體管理電路隨著該可複寫式非揮發性記憶體模組的使用更新該可複寫式非揮發性記憶體模組的記憶體抹除次數,該記憶體管理電路在該特定實體單元被再次關聯至該閒置區時,取得該可複寫式非揮發性記憶體模組在此時的記憶體抹除次數以作為一第二記憶體抹除次數,並將該第一記憶體抹除次數與該第二記憶體抹除次數之間的一差 值與一預定值比較,若該差值小於或等於該預定值,該記憶體管理電路判定該可複寫式非揮發性記憶體模組中不存在冷資料,若該差值大於該預定值,該記憶體管理電路判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第11項所述之記憶體控制器,其中該記憶體管理電路記錄各該些邏輯單元的一寫入次數,在該些邏輯單元中取得所對應之寫入次數大於0的多個已使用邏輯單元,並根據各該些已使用邏輯單元之該寫入次數的一分佈特性,判斷該可複寫式非揮發性記憶體模組中是否存在冷資料。
- 如申請專利範圍第13項所述之記憶體控制器,其中該記憶體管理電路在各該些已使用邏輯單元兩兩之間之該寫入次數的差值均不超過一誤差範圍時,判定該可複寫式非揮發性記憶體模組中不存在冷資料,該記憶體管理電路在各該些已使用邏輯單元兩兩之間之該寫入次數的差值有超過該誤差範圍時,判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第11項所述之記憶體控制器,其中該第一時間間隔大於該第二時間間隔。
- 如申請專利範圍第15項所述之記憶體控制器,其中該記憶體管理電路在每隔該第一時間間隔在該資料區與該閒置區之間執行該實體單元交換時,是從屬於該閒置區的所有實體單元中隨機選擇實體單元或選擇抹除次數較高 但非最高的實體單元來與該資料區中具有最小抹除次數的實體單元交換,該記憶體管理電路在每隔該第二時間間隔在該資料區與該閒置區之間執行該實體單元交換時,是從屬於該閒置區的所有實體單元中選擇抹除次數最高的實體單元來與該資料區中具有最小抹除次數的實體單元交換。
- 如申請專利範圍第11項所述之記憶體控制器,其中該記憶體管理電路將該些實體單元至少分組為一資料區與一閒置區,該第一平均磨損程序是不在該資料區與該閒置區之間執行一實體單元交換,而該第二平均磨損程序是每隔一預設時間間隔在該資料區與該閒置區之間執行該實體單元交換。
- 一種記憶體儲存裝置,包括:一可複寫式非揮發性記憶體模組,包括多個實體單元;一連接器,用以耦接一主機系統;以及一記憶體控制器,耦接至該可複寫式非揮發性記憶體模組與該連接器,用以配置多個邏輯單元以映射部份的該些實體單元,其中該記憶體控制器判斷該可複寫式非揮發性記憶體模組中是否存在冷資料,若判定該可複寫式非揮發性記憶體模組中不存在冷資料,該記憶體控制器對該些實體單元執行一第一平均磨損程序, 若判定該可複寫式非揮發性記憶體模組中存在冷資料,該記憶體控制器對該些實體單元執行一第二平均磨損程序,其中該記憶體控制器將該些實體單元至少分組為一資料區與一閒置區,該第一平均磨損程序是每隔一第一時間間隔在該資料區與該閒置區之間執行一實體單元交換,而該第二平均磨損程序是每隔一第二時間間隔在該資料區與該閒置區之間執行該實體單元交換。
- 如申請專利範圍第18項所述之記憶體儲存裝置,其中該記憶體控制器將該些實體單元至少分組為一資料區與一閒置區,並在該資料區與該閒置區之間執行一實體單元交換時,記錄一第一記憶體抹除次數,其中該第一記憶體抹除次數為屬於該閒置區的一特定實體單元被交換至該資料區時,該可複寫式非揮發性記憶體模組的目前記憶體抹除次數,該記憶體控制器隨著該可複寫式非揮發性記憶體模組的使用更新該可複寫式非揮發性記憶體模組的記憶體抹除次數,該記憶體控制器在該特定實體單元被再次關聯至該閒置區時,取得該可複寫式非揮發性記憶體模組在此時的記憶體抹除次數以作為一第二記憶體抹除次數,並將該第一記憶體抹除次數與該第二記憶體抹除次數之間的一差值與一預定值比較,若該差值小於或等於該預定值,該記憶體控制器判定 該可複寫式非揮發性記憶體模組中不存在冷資料,若該差值大於該預定值,該記憶體控制器判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第18項所述之記憶體儲存裝置,其中該記憶體控制器記錄各該些邏輯單元的一寫入次數,在該些邏輯單元中取得所對應之寫入次數大於0的多個已使用邏輯單元,並根據各該些已使用邏輯單元之該寫入次數的一分佈特性,判斷該可複寫式非揮發性記憶體模組中是否存在冷資料。
- 如申請專利範圍第20項所述之記憶體儲存裝置,其中該記憶體控制器在各該些已使用邏輯單元兩兩之間之該寫入次數的差值均不超過一誤差範圍時,判定該可複寫式非揮發性記憶體模組中不存在冷資料,該記憶體控制器在各該些已使用邏輯單元兩兩之間之該寫入次數的差值有超過該誤差範圍時,判定該可複寫式非揮發性記憶體模組中存在冷資料。
- 如申請專利範圍第18項所述之記憶體儲存裝置,其中該第一時間間隔大於該第二時間間隔。
- 如申請專利範圍第22項所述之記憶體儲存裝置,其中該記憶體控制器在每隔該第一時間間隔在該資料區與該閒置區之間執行該實體單元交換時,是從屬於該閒置區的所有實體單元中隨機選擇實體單元或選擇抹除次數較高但非最高的實體單元來與該資料區中具有最小抹除次數的實體單元交換, 該記憶體控制器在每隔該第二時間間隔在該資料區與該閒置區之間執行該實體單元交換時,是從屬於該閒置區的所有實體單元中選擇抹除次數最高的實體單元來與該資料區中具有最小抹除次數的實體單元交換。
- 如申請專利範圍第18項所述之記憶體儲存裝置,其中該記憶體控制器將該些實體單元至少分組為一資料區與一閒置區,該第一平均磨損程序是不在該資料區與該閒置區之間執行一實體單元交換,而該第二平均磨損程序是每隔一預設時間間隔在該資料區與該閒置區之間執行該實體單元交換。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101116380A TWI454916B (zh) | 2012-05-08 | 2012-05-08 | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 |
US13/562,284 US9274943B2 (en) | 2012-05-08 | 2012-07-30 | Storage unit management method, memory controller and memory storage device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101116380A TWI454916B (zh) | 2012-05-08 | 2012-05-08 | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201346561A TW201346561A (zh) | 2013-11-16 |
TWI454916B true TWI454916B (zh) | 2014-10-01 |
Family
ID=49549561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101116380A TWI454916B (zh) | 2012-05-08 | 2012-05-08 | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9274943B2 (zh) |
TW (1) | TWI454916B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI718492B (zh) * | 2019-03-12 | 2021-02-11 | 群聯電子股份有限公司 | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089560A1 (en) * | 2012-09-25 | 2014-03-27 | Adesto Technologies Corporation | Memory devices and methods having write data permutation for cell wear reduction |
TWI536166B (zh) | 2015-01-27 | 2016-06-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置 |
CN105988950B (zh) * | 2015-02-03 | 2019-05-21 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US10007432B2 (en) * | 2015-10-13 | 2018-06-26 | Dell Products, L.P. | System and method for replacing storage devices |
KR20180123385A (ko) * | 2017-05-08 | 2018-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
TWI689816B (zh) * | 2018-03-06 | 2020-04-01 | 群聯電子股份有限公司 | 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置 |
KR20200121621A (ko) * | 2019-04-16 | 2020-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 복수의 메모리 블록의 특성을 결정하는 방법 및 장치 |
CN112445416B (zh) * | 2019-09-02 | 2022-11-22 | 群联电子股份有限公司 | 冷区域判断方法、存储器控制电路单元与存储器存储装置 |
US11450394B2 (en) * | 2019-09-11 | 2022-09-20 | SK Hynix Inc. | Controller and operating method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200849261A (en) * | 2007-03-07 | 2008-12-16 | Mosaid Technologies Inc | Partial block erase architecture for flash memory |
TW200915324A (en) * | 2007-09-27 | 2009-04-01 | Phison Electronics Corp | Wear leveling method and controller using the same |
TW201003391A (en) * | 2008-07-10 | 2010-01-16 | Phison Electronics Corp | Block management method and storage system and controller thereof |
TW201005745A (en) * | 2008-07-23 | 2010-02-01 | Phison Electronics Corp | Wear leveling method and storage system and controller using the same |
TW201128648A (en) * | 2010-02-05 | 2011-08-16 | Phison Electronics Corp | Memory management and writing method and rewritable non-volatile memory controller and storage system thereof |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US6345001B1 (en) * | 2000-09-14 | 2002-02-05 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US7441067B2 (en) * | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
US20060161724A1 (en) | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7945728B1 (en) * | 2007-06-18 | 2011-05-17 | Marvell International Ltd. | Storage device cache |
KR101401560B1 (ko) * | 2007-12-13 | 2014-06-03 | 삼성전자주식회사 | 반도체 메모리 시스템 및 그것의 마모도 관리 방법 |
KR101454817B1 (ko) * | 2008-01-11 | 2014-10-30 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 마모도 관리 방법 |
CN102201259A (zh) | 2010-03-24 | 2011-09-28 | 建兴电子科技股份有限公司 | 非易失性存储器的平均抹写方法 |
US8612804B1 (en) * | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
-
2012
- 2012-05-08 TW TW101116380A patent/TWI454916B/zh active
- 2012-07-30 US US13/562,284 patent/US9274943B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200849261A (en) * | 2007-03-07 | 2008-12-16 | Mosaid Technologies Inc | Partial block erase architecture for flash memory |
TW200915324A (en) * | 2007-09-27 | 2009-04-01 | Phison Electronics Corp | Wear leveling method and controller using the same |
TW201003391A (en) * | 2008-07-10 | 2010-01-16 | Phison Electronics Corp | Block management method and storage system and controller thereof |
TW201005745A (en) * | 2008-07-23 | 2010-02-01 | Phison Electronics Corp | Wear leveling method and storage system and controller using the same |
TW201128648A (en) * | 2010-02-05 | 2011-08-16 | Phison Electronics Corp | Memory management and writing method and rewritable non-volatile memory controller and storage system thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI718492B (zh) * | 2019-03-12 | 2021-02-11 | 群聯電子股份有限公司 | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 |
US10922021B2 (en) | 2019-03-12 | 2021-02-16 | Phison Electronics Corp. | Data storage method based on data type identification, memory storage apparatus and memory control circuit unit |
Also Published As
Publication number | Publication date |
---|---|
TW201346561A (zh) | 2013-11-16 |
US9274943B2 (en) | 2016-03-01 |
US20130304965A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454916B (zh) | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 | |
US8898370B2 (en) | Data storage method for flash memory, and flash memory controller and flash memory storage system using the same | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
TWI585770B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
US10936203B2 (en) | Memory storage device and system employing nonvolatile read/write buffers | |
KR20150020385A (ko) | 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 | |
TWI420308B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
US9965400B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
TWI656531B (zh) | 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
TW201945927A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
TW201403319A (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US9223688B2 (en) | Data storing method and memory controller and memory storage device using the same | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN107817943A (zh) | 数据传输方法、存储器存储装置及存储器控制电路单元 | |
TWI550625B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9710374B2 (en) | Data writing method, memory controller and memory storage device | |
US11886741B2 (en) | Method and storage device for improving NAND flash memory performance for intensive read workloads | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
TWI711048B (zh) | 快閃記憶體之資料整理方法、控制電路單元與儲存裝置 |