TWI587136B - 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法 - Google Patents

快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法 Download PDF

Info

Publication number
TWI587136B
TWI587136B TW100115987A TW100115987A TWI587136B TW I587136 B TWI587136 B TW I587136B TW 100115987 A TW100115987 A TW 100115987A TW 100115987 A TW100115987 A TW 100115987A TW I587136 B TWI587136 B TW I587136B
Authority
TW
Taiwan
Prior art keywords
flash memory
record
invalid data
area
information
Prior art date
Application number
TW100115987A
Other languages
English (en)
Other versions
TW201245960A (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 TW100115987A priority Critical patent/TWI587136B/zh
Priority to CN201110188667.5A priority patent/CN102768644B/zh
Priority to US13/244,328 priority patent/US9122580B2/en
Publication of TW201245960A publication Critical patent/TW201245960A/zh
Application granted granted Critical
Publication of TWI587136B publication Critical patent/TWI587136B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/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/7209Validity control, e.g. using flags, time stamps or sequence numbers

Description

快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
本發明係關於一種記憶體系統以及記憶體無效資料頁資訊之管理方法與回收方法,特別是有關於一種快閃記憶體系統以及快閃記憶體無效資料頁資訊之管理方法與回收方法。
快閃記憶體(flash memory)係由複數頁(page)組成,64頁或是128頁定義為一個區塊(block),以作為快閃記憶體的儲存單位。然而快閃記憶體的特性是當一頁被寫入資料之後,無法立即對該頁重新寫入新的資料,必須將該頁所在的區塊(block)執行抹除(erase)步驟之後才能繼續對該頁寫入新資料。然而上述抹除區塊再重新寫入資料的方式相當耗時,故通常是將欲寫入至該頁的更新資料先寫入至相對應於相同邏輯位址之另一實體位址。
舉例來說,邏輯位址(logical address)”100”的資料存放於實體位址”150”,當欲再次寫入更新資料至該邏輯位址”100”以取代舊版本資料時,係將該更新資料寫到另一實體位址”200”(與實體位址”150”為不相同的區塊)。因此會有兩個版本的邏輯位址”100”之資料,此時實體位址”150”稱為無效資料頁(invalid page),當邏輯位址”100”之更新資料版本持續增加,儲存舊版本資料的無效資料頁(invalid page)越來越多,佔用實體位址空間越大。因此需要回收(collect)對應於該邏輯位址”100”的無效資料頁之實體位址空間,以增加快閃記憶體可用的有效資料頁面。
上述回收舊版本無效資料頁(invalid page)的過程稱為記憶體回收(garbage collection,GC)步驟,然而進行記憶體回收(GC)步驟時,需要判斷區塊的頁係為”無效”(invalid)或是”有效”(valid)之狀態。習知技術中,當頁變成無效時,於頁的閒置區域(spare area)寫入一旗標(flag),以作為判斷該頁是否為有效的依據。然而上述方式僅適用於單階儲存單元(single-level cell,SLC)之快閃記憶體,並不適用於多階儲存單元(multi-level cell,MLC)之快閃記憶體,因為多階儲存單元(MLC)僅能一次寫入,而無法以單階儲存單元(SLC)寫入旗標至備用區域(spare area)的方式進行,而無法作為判斷該頁是否為有效的依據。另一習知技術中,若將所有區塊的所有頁為”無效”(invalid)或是”有效”(valid)之狀態作記錄,以作為判斷該頁是否為有效的依據時,將會額外耗費相當大的記憶空間儲存這些記錄狀態。
此外,在快閃記憶體的應用中,邏輯位址與實體位址的對應關係受到侷限,亦即同一個邏輯區塊的資料放在同一實體區塊中,由於經常取用資料(hot data)以及很少取用資料(cold data)可能放在同一邏輯區塊中,故當欲判斷該實體區塊中是否存在有效資料頁時,必須掃描整個該邏輯區塊對應的實體區塊,造成記憶體回收(GC)的效能大幅降低。因此需要提出一種新式的快閃記憶體無效資料頁之管理方法,以改善上述問題。
本發明之一目的在於提供一種快閃記憶體系統以及快閃記憶體無效資料頁資訊之管理方法與回收方法,當快閃記憶體的有效資料頁轉變成無效資料頁時,利用第一記錄區記錄複數無效資料頁的位址資訊,以有效回收快閃記憶體大量無效資料頁的空間。
本發明另一目的在於提供一種快閃記憶體系統以及快閃記憶體無效資料頁資訊之管理方法與回收方法,以於執行記憶體回收步驟時,依據該第一記錄區記錄複數無效資料頁的位址資訊,以快速地選出適合回收的區塊(block),並且辨認該區塊中有效的頁以進行複製搬移之動作。
依據上述之目的,本發明提出一種快閃記憶體系統,包括:一快閃記憶體控制器,具有一微處理單元;以及一快閃記憶體,耦接於該快閃記憶體控制器,具有一保留區以及一資料區,該保留區具有一記錄區,該資料區具有複數有效資料頁以及複數無效資料頁,該記錄區具有至少一記錄頁,該微處理單元控制該記錄區,以記錄相對應於該些無效資料頁的複數無效資料頁資訊於該至少一記錄頁中。
另一實施例中,本發明提出一種快閃記憶體系統,包括:一快閃記憶體控制器,具有一微處理單元;一快閃記憶體,耦接於該快閃記憶體控制器,具有一資料區,該資料區具有複數有效資料頁以及複數無效資料頁;以及一記錄區,耦接於該快閃記憶體控制器,用以記錄相對應於該些無效資料頁的複數無效資料頁資訊。
又一實施例中,本發明提出一種快閃記憶體的無效資料頁之管理方法,該快閃記憶體具有複數有效資料頁及複數空白頁,該管理方法包括下列步驟:
(a)執行該些有效資料頁的資料更新步驟;
(b)轉換該些有效資料頁成為複數無效資料頁,其中每一該些無效資料頁具有一無效資料頁資訊;
(c)將該些無效資料頁資訊寫入至一記錄區;
(d)判斷該記錄區是否需要重整,當需要重整執行步驟(e),否則執行步驟(f);
(e)重整該記錄區;以及
(f)結束。
再一實施例中,本發明提出一種快閃記憶體的無效資料頁之回收方法,該快閃記憶體包括複數區塊,該些區塊包括至少一資料區塊及至少一空白區塊,該資料區塊包括複數無效資料頁及複數有效資料頁,該回收方法包括下列步驟:
(a) 觸發一回收程序;
(b) 讀取該快閃記憶體中一記錄區,以擷取複數無效資料頁資訊;
(c) 依據該些無效資料頁資訊選擇該資料區塊,並且複製該資料區塊之該些有效資料頁至該空白區塊;以及
(d) 抹除該資料區塊,以使該些無效資料頁轉換成為非無效資料頁。
第1A圖繪示本發明第一實施例中快閃記憶體無效資料頁資訊之管理系統200a方塊圖。管理系統200a包括快閃記憶體控制器(flash memory controller)202、連結於快閃記憶體控制器202的快閃記憶體(flash memory)204以及連結於快閃記憶體控制器202的儲存裝置205,快閃記憶體控制器202包括微處理單元(micro processing unit,MPU)210、以及連結於微處理單元210之緩衝器207與記憶體213。本發明之快閃記憶體的無效資料頁資訊之管理系統200a以及方法適用於單階儲存單元(SLC)、多階儲存單元(MLC)、三階儲存單元(triple-level cell,TLC)之快閃記憶體以及任何型式之快閃記憶體。
快閃記憶體204包括保留區(reserved area)206以及資料區(data area)208,保留區206以及資料區208耦接於微處理單元210。保留區206與資料區208的差異在於使用者無法使用保留區206內之區塊,而只使用資料區208內的區塊,快閃記憶體控制器202可存取保留區206與資料區208。保留區206包括一記錄區206a以及空白區塊備用區206b,記錄區206a例如是區塊B0、B1,空白區塊備用區206b例如是區塊B2、B3,每一區塊例如是由6頁組成,其中區塊B2、B3均為空白區塊。資料區208例如是由區塊B4~B9組成,每一區塊例如是由6頁組成。
每一區塊係由複數頁組成,該些頁依資料儲存狀態可區分為有效資料頁、無效資料頁及/或空白頁。例如資料區208的區塊B4中,頁P0~P2、P4、P5為有效資料頁,頁P3為無效資料頁。在區塊B7中,頁P0、P2~P5為有效資料頁,頁P1為無效資料頁。在區塊B8中,頁P0~P2為有效資料頁,頁P3~P5為空白頁。值得注意的是,一個區塊中所含頁的個數,係取決於快閃記憶體製作出廠時的初始設定。本發明之一區塊為6個,係為方便說明,並非用以限定本發明的區塊之頁的組成數量,亦即本發明中的區塊亦可由64頁、128頁或是其他數量的頁組成。
具體來說,記錄區206a具有至少一記錄頁,用於記錄複數無效資料頁資訊,例如記錄資料區208中各個區塊的無效資料頁之無效資料頁資訊(B4;P3)、(B5;P1~P3,P5)、(B6;P1,P5)、(B7;P1)。空白區塊備用區206b係當記錄區206a快寫滿或已寫滿無效資料頁資訊時,用以儲存記錄區206a中正確的無效資料頁資訊,以重整記錄區206a,例如儲存區塊B0之正確無效資料頁資訊P1~P5至空白區塊備用區206b的區塊B2,接著抹除區塊B0,之後區塊B2轉變成記錄區206a之區塊,而區塊B0轉變成空白區塊備用區206b中備用。更具體的來說,記錄區206a中的區塊代號與空白區塊備用區206b中的實體區塊代號,是會隨著無效資料頁資訊在保留區206存放位置的不同而作調整變更。緩衝器207用於暫存記錄無效資料頁資訊,當緩衝器207寫滿無效資料頁資訊之後,以一次寫入方式將無效資料頁資訊寫入至記錄區206a中。此外,空白區塊備用區206b亦可作為資料區208更新資料之暫存區,例如作為區塊B7更新資料的暫存區。
第1B圖繪示本發明第二實施例中快閃記憶體的無效資料頁資訊之管理系統200b方塊圖。第1B圖之管理系統200b類似於第1A圖之管理系統200a,其差異在於記錄區206a獨立於快閃記憶體204之外部而設置於儲存裝置205。管理系統200b包括快閃記憶體控制器202、連結於快閃記憶體控制器202的快閃記憶體204以及連結於快閃記憶體控制器202的儲存裝置205,其中儲存裝置205例如是非揮發性儲存裝置。快閃記憶體控制器202包括微處理單元(MPU)210、以及連結於微處理單元(MPU)210之緩衝器207與記憶體213。快閃記憶體204係由資料區208組成,資料區208包括複數區塊B0~B5。例如在區塊B0中,頁P0~P2、P4、P5為有效資料頁,頁P3為無效資料頁。在區塊B1中,頁P0、P4為有效資料頁,頁P1~P3、P5為無效資料頁。儲存裝置205係由記錄區206a組成,記錄區206a包括複數區塊B0~B3,例如區塊B0之頁P0~P5用以記錄在記錄資料區208中各個區塊的無效資料頁之無效資料頁資訊。當記錄區206a的區塊B0快寫滿或已寫滿無效資料頁資訊時,可重整區塊B0。
第1C圖繪示本發明第三實施例中快閃記憶體的無效資料頁資訊之管理系統200c方塊圖。第1C圖之管理系統200c類似於第1A圖之管理系統200a,其差異在於快閃記憶體204的結構不相同。在第1C圖中,快閃記憶體204包括保留區206以及資料區208。保留區206包括記錄區206a,例如區塊B0之頁P0~P5用以記錄在記錄資料區208中各個區塊的無效資料頁之無效資料頁資訊。資料區208包括空白區塊B3作區塊B1、B2的資料移動之暫存區塊,以及空白區塊B4作為區塊B0的資料移動之暫存區塊,以記錄複數無效資料頁資訊。換言之,資料區208的空白區塊同時做為記錄區206a及資料區208中資料移動時的暫存區塊,當記錄區206a的區塊B0快寫滿或已寫滿無效資料頁資訊時,儲存記錄區206a中仍有效的無效資料頁資訊至空白區塊,以重整記錄區206a。
參考第1A圖、第1D圖以及第2A圖,第1D圖繪示本發明實施例中快閃記憶體204的無效資料頁之管理方法流程圖。第2A圖繪示本發明實施例中緩衝器207之資料結構示意圖。快閃記憶體204具有複數有效資料頁及複數空白頁,管理方法包括下列步驟:在步驟S200中,當執行有效資料頁的資料更新步驟時,將有效資料頁的更新資料寫入空白頁中,並且轉換該有效資料頁成為複數無效資料頁,其中每一無效資料頁具有一無效資料頁資訊。具體來說,將不同版本的資料按照時間先後寫入至相同邏輯位址之頁面(page)時,對應於相同邏輯位址的不相同實體頁面位址存放複數不同版本的資料,其中只有最後的一版本資料對應的一實體頁面位址定義為有效資料頁,其餘舊版本資料對應的實體頁面位址均定義為無效資料頁。亦即舊版本資料對應的複數實體頁面位址以不同更新資料陸續被更新的過程中係由”有效”(valid)狀態轉換成為”無效”(invalid)狀態。
在步驟S201中,利用緩衝器207暫存記錄無效資料頁資訊,以一次寫入方式將無效資料頁資訊寫入至記錄區206a。換言之,緩衝器207的記錄容量之單位較佳是等於記錄區206a的記錄容量之單位,但並不限定於此,以使緩衝器207寫滿之後,可將位址資訊一次寫入至記錄區206a。在另一實施例中,記錄區206a的記錄容量係為緩衝器207的記錄容量之倍數。緩衝器207例如是隨機存取記憶體(random access memory,RAM)。
在步驟S202中,記錄相對應於無效資料頁的無效資料頁資訊至記錄區206a,如第2A圖所示,其中記錄區206a包括記錄目錄(log directory)211以及相對應於記錄目錄的記錄內容(log content)212,記錄目錄211具有複數資訊區段214,每一資訊區段214包括區域標識(region identification)214a、起始記錄點(starting record point)214b、記錄長度(record length)214c、記錄總數(total record amount)214d以及先前版本指標(previous version pointer)214e,且記錄內容212包括複數位址欄位群組216,每一資訊區段相對應於每一位址欄位群組216,每一位址欄位群組216包括複數位址欄位218,位址欄位218用以儲存無效資料頁資訊。記錄區206a的記錄容量不受限制,可為任意容量大小。較佳實施例中,記錄區206a的記錄容量例如是快閃記憶體中至少一個頁容量大小。
在步驟S204中,判斷記錄區206a的記錄容量是否到達第一預定值,當到達第一預定值時,執行步驟S206。當未到達第一預定值時,執行步驟S208。第一預定值例如是小於或是等於記錄區206a的記錄容量,且第一預定值較佳為快閃記憶體204中至少一個頁(page)容量的整數倍。
在步驟S206中,當判斷記錄區206a中無效資料頁資訊是否有效之後,複製有效的無效資料頁資訊至空白區塊備用區206b之空白區塊,清空記錄區206a之區塊,並變更記錄區206a指向至儲存有無效資料頁資訊的空白區塊以及將清空後的實體區塊轉換成空白區塊備用區。
在步驟S208中,結束。
本發明之快閃記憶體的無效資料頁之管理方法更包含有複數個記錄區206a,分別記錄快閃記憶體204資料區208中不同區塊群組之無效資料頁資訊,並可利用多個通道存取記錄區206a,以在大容量的快閃記憶體204中快速存取無效資料頁的位址資訊。
根據上述,本發明之快閃記憶體的無效資料頁之管理方法,當快閃記憶體204的有效資料頁轉變成無效資料頁時,利用記錄區206a以及緩衝器207記錄複數無效資料頁的位址資訊,以有效管理快閃記憶體記錄大量無效資料頁資訊的空間。上述記錄區206a以及緩衝器207的詳細結構說明如下。
第2A圖繪示本發明實施例中緩衝器207之資料結構示意圖。緩衝器207暫存的位址資料包括記錄目錄211以及記錄內容212,記錄目錄211相對應於記錄內容212,且記錄目錄211具有複數資訊區段214,每一資訊區段214包括區域標識(此處標示為”k”)214a、起始記錄點(此處標示為“x”)214b、記錄長度(此處標示為“l”)214c、記錄總數214d以及先前版本指標214e。記錄內容212包括複數群位址欄位216,每一資訊區段214相對應於一群位址欄位216,其中每一群位址欄位216具有複數位址欄位218,每一位址欄位218用以記錄一個無效資料頁資訊位址。在一較佳實施例中,每一資訊區段214依據其對應的區域標識214a依序排列(例如遞增或是遞減)。記錄總數214d表示記錄目錄211中記錄長度214c的總和。
當微處理單元210依據區域標識214a對緩衝器207暫存的記錄內容212進行排序,以使每一資訊區段214的群位址欄位216集中形成記錄長度214c,並且使每一群位址欄位216依據區域標識214a作排列。在一較佳實施例中,當複製緩衝器207中暫存的位址資料至記錄區206a之前,先進行上述之緩衝器207暫存的記錄內容212的排序步驟,藉由記錄內容212的位址資料在記錄區206a中排列的連續性,以提高對記錄區206a的讀取效能。在一實施例中,上述之記錄區206a設置於快閃記憶體204中,如第1A圖所示。此外,每一資訊區段214的起始記錄點“x” 214b係指相對應的每一群位址欄位216與記錄內容212的開始位置之欄位間距。
第2B圖繪示本發明實施例中緩衝器207以及記錄區206a之各種版本的位址資料之連接結構示意圖。緩衝器207包括最新的位址資料版本,記錄區206a例如包括快閃記憶體中某一筆資料的3種位址資料版本,即該筆資料被寫入一次後又更新過二次,且均存放於不同的實體記憶體位址。具體來說,在記錄區206a的第一版本中,區域標識214a為”15”的資訊區段214用以記錄5筆無效資料頁資訊之位址資料,累積的記錄總數214d為5筆,且先前版本指標214e指向零(null)(表示其為第一版本的資料);接著在第二版本中,區域標識214a為”12”的資訊區段214插入於區域標識214a為”15”的資訊區段214之前,且區域標識214a為”15”的資訊區段214記錄7筆無效資料頁資訊之位址資料,累積的記錄總數214d為12筆,且先前版本指標指向第一版本之先前版本指標214e。同樣地,在第三版本中,區域標識214a為”15”的資訊區段214記錄8筆無效資料頁資訊之位址資料,累積的記錄總數214d為20筆,且先前版本指標指向第二版本之先前版本指標214e。在緩衝器207暫存之最新的位址資料版本中,區域標識214a為”15”的資訊區段214記錄1筆無效資料頁資訊之位址資料,累積的記錄總數214d為21筆,且先前版本指標指向第三版本之先前版本指標214e。
換言之,緩衝器207儲存一目前版本的記錄目錄211以及一目前版本的記錄內容212,記錄區206a儲存至少一先前版本的記錄目錄211以及至少一先前版本的記錄內容212。目前版本的記錄目錄211依據先前版本指標依序連結於至少一先前版本的記錄目錄211,以使具有相同的區域標識214a之資訊區段214連結在一起,例如複數個各種版本的區域標識214a為”15”資訊區段214依據版次連結在一起,故可以依據先前版本指標尋找出全部的區域標識214a為”15”之資訊區段214。
參考第2A-2C以及第3圖,第2C圖繪示本發明實施例中具有回收記錄222的記錄區206a以及緩衝器207之連接結構示意圖。第3圖繪示本發明實施例中快閃記憶體的無效資料頁資訊之回收方法的步驟流程圖。記錄區206a例如包括3種位址資料版本,如第2A圖所示。本發明提供一種快閃記憶體的無效資料頁之回收方法,快閃記憶體包括複數區塊,該些區塊包括至少一資料區及至少一空白區塊,資料區包括複數無效資料頁及複數有效資料頁,回收方法包括下列步驟:在步驟S300中,觸發一回收程序。
在步驟S302中,讀取快閃記憶體中一記錄區206a、一緩衝器207及一回收記錄區222,以擷取複數無效資料頁資訊。回收記錄區222包括記錄目錄以及相對應於記錄目錄的記錄內容,記錄目錄具有複數資訊區段,每一資訊區段包括區域標識、起始記錄點、記錄長度、記錄總數以及先前版本指標,且記錄內容包括複數位址欄位群組,每一資訊區段相對應於每一位址欄位群組,每一位址欄位群組包括複數位址欄位。回收記錄區222可與記錄區206a整合在一起,例如將回收記錄區222設置於快閃記憶體204內部、快閃記憶體控制器202內部的記憶體213例如相變記憶體(phase change memory,PCM),或其他具永久保存性之儲存裝置。
在步驟S304中,依據無效資料頁資訊選擇資料區塊,並且複製資料區塊之有效資料頁至空白區塊。在一實施例中,選擇無效資料頁資訊中具有較多無效資料頁的資料區塊進行回收,或是選擇較多抹除次數的資料區塊進行回收。
在步驟S306中,抹除資料區塊。
在步驟S308中,寫入一筆回收記錄至回收記錄區222或記錄區206a。例如當寫入回收記錄至回收記錄區222時,回收記錄區222的資訊區段之區域標識修正為”-1”,清除已被回收之區域標識於記錄區206a中之記錄,使該區域標識內之無效資料頁資訊不再有效,或於下一版本之相對應的資訊區段中先前版本指標指向零(null),中斷與回收前該區域標識之無效資料頁資訊之連結。
具體來說,當對快閃記憶體進行回收步驟S300~S308時,快閃記憶體控制器202參考記錄區206a、緩衝器207以及回收記錄區222所記錄之無效資料頁資訊,以選擇欲回收的區塊。由於快閃記憶體進行抹除是以區塊為單位,故優先選擇具有較多無效資料頁之區塊進行回收,或是同時考量區塊的抹除次數,再進行欲回收區塊的選擇,將欲回收區塊內資料之有效資料頁複製至一空白區塊中予以保留,並抹除欲回收區塊,而欲回收區塊之無效資料頁轉換成為非無效資料頁,記錄於回收記錄區222,以重置無效資料頁回收後的資訊。例如於回收記錄區222之資訊區段214之區域標識214a修正為”-1”,而後的下一筆頁位址之無效資料頁資訊,其先前版本指標214e指向零(null),或同時將最新的位址資料版本的區域標識214a修正為”-1”,且修正起始記錄點214b、記錄長度214c以及記錄總數214d之值修正為”-1”。
本發明之快閃記憶體的無效資料頁資訊之管理方法,當快閃記憶體的有效資料頁轉變成無效資料頁時,利用記錄區以及緩衝器記錄複數無效資料頁資訊,並可快速追蹤快閃記憶體內大量無效資料頁資訊,於執行記憶體回收步驟時,依據記錄區以及緩衝器記錄複數無效資料頁資訊,快速地選出適合回收的區塊,並且辨認區塊中有效的頁面以進行複製搬移之動作。
雖然本發明已用較佳實施例揭露如上,然其並非用以限定本發明,本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200a、200b、200c...管理系統
202...快閃記憶體控制器
204...快閃記憶體
205...儲存裝置
206...保留區
206a...記錄區
206b...空白區塊備用區
207...緩衝器
208...資料區
210...微處理單元
211...記錄目錄
212...記錄內容
214...資訊區段
214a...區域標識
214b...起始記錄點
214c...記錄長度
214d...記錄總數
214e...先前版本指標
216...複數位址欄位群組
218...位址欄位
222‧‧‧回收記錄區
第1A圖繪示本發明第一實施例中快閃記憶體的無效資料頁資訊之管理系統方塊圖。
第1B圖繪示本發明第二實施例中快閃記憶體的無效資料頁資訊之管理系統方塊圖。
第1C圖繪示本發明第三實施例中快閃記憶體的無效資料頁資訊之管理系統方塊圖。
第1D圖繪示本發明實施例中快閃記憶體的無效資料頁資訊之管理方法流程圖。
第2A圖繪示本發明實施例中緩衝器之資料結構示意圖。
第2B圖繪示本發明實施例中緩衝器以及記錄區之各種版本的位址資料之連接資料結構示意圖。
第2C圖繪示本發明實施例中具有回收記錄的記錄區以及緩衝器之連接資料結構示意圖。
第3圖繪示本發明實施例中快閃記憶體的無效資料頁資訊之回收方法的步驟流程圖。

Claims (38)

  1. 一種快閃記憶體系統,包括:一快閃記憶體控制器,具有一微處理單元;以及一快閃記憶體,耦接於該快閃記憶體控制器,具有一保留區以及一資料區,該保留區具有一記錄區,該資料區具有複數有效資料頁以及複數無效資料頁,該微處理單元控制該記錄區,以記錄相對應於該些無效資料頁的複數無效資料頁資訊,其中該記錄區包括一記錄目錄以及相對應於該記錄目錄的一記錄內容,該記錄目錄具有複數資訊區段,每一該些資訊區段包括一區域標識、一起始記錄點、一記錄長度、一記錄總數以及一先前版本指標,且該記錄內容包括複數位址欄位群組,每一該些資訊區段相對應於每一該些位址欄位群組。
  2. 如申請專利範圍第1項所述之快閃記憶體系統,其中該保留區更包括一空白區塊備用區,該空白區塊備用區具有至少一空白區塊,用以儲存該些無效資料頁資訊。
  3. 如申請專利範圍第1項所述之快閃記憶體系統,其中該資料區更包括一空白區塊,用以儲存該些無效資料頁資訊。
  4. 如申請專利範圍第1項所述之快閃記憶體系統,其中該快閃記憶體控制器更包括一緩衝器,耦接於該微處理單元,用於暫存並累積記錄該些無效資料頁資訊,以一次寫入該些無效資料頁資訊至該記錄區。
  5. 如申請專利範圍第4項所述之快閃記憶體系統,其中該記錄區的記錄容量係為該緩衝器的記錄容量之整數倍。
  6. 如申請專利範圍第4項所述之快閃記憶體系統,其中每一該些資訊 區段的該起始記錄點係為相對應的每一該些位址欄位群組與該記錄內容的開始位置之欄位距離。
  7. 如申請專利範圍第6項所述之快閃記憶體系統,其中該緩衝器儲存一目前版本的該記錄目錄以及該目前版本的該記錄內容。
  8. 如申請專利範圍第6項所述之快閃記憶體系統,其中該記錄區儲存至少一先前版本的該記錄目錄以及該至少一先前版本的該記錄內容。
  9. 如申請專利範圍第6項所述之快閃記憶體系統,其中該記錄總數表示該記錄目錄中該些記錄長度的總和。
  10. 如申請專利範圍第6項所述之快閃記憶體系統,其中一目前版本的該記錄目錄依據該先前版本指標依序連結於至少一先前版本的該記錄目錄,以連結相同的該區域標識之該些資訊區段。
  11. 如申請專利範圍第1項所述之快閃記憶體系統,其中該記錄區更包括一回收記錄區,存放該快閃記憶體系統之至少一回收記錄。
  12. 如申請專利範圍第1項所述之快閃記憶體系統,更包括一非揮發性儲存裝置,存放該快閃記憶體系統至少一回收記錄。
  13. 一種快閃記憶體系統,包括:一快閃記憶體控制器,具有一微處理單元;一快閃記憶體,耦接於該快閃記憶體控制器,具有一資料區,該資料區具有複數有效資料頁以及複數無效資料頁;以及一儲存裝置,耦接於該快閃記憶體控制器,具有一記錄區,用以記錄相對應於該些無效資料頁的複數無效資料頁資訊,其中該記錄區包括一記錄目錄以及相對應於該記錄目錄的一記錄內容,該記錄目錄具有複數資訊 區段,每一該些資訊區段包括一區域標識、一起始記錄點、一記錄長度、一記錄總數以及一先前版本指標,且該記錄內容包括複數位址欄位群組,每一該些資訊區段相對應於每一該些位址欄位群組。
  14. 如申請專利範圍第13項所述之快閃記憶體系統,其中該快閃記憶體控制器更包括一緩衝器,耦接於該微處理單元,用於暫存並累積記錄該些無效資料頁資訊,以一次寫入該些無效資料頁資訊至該記錄區。
  15. 如申請專利範圍第14項所述之快閃記憶體系統,其中該記錄區的記錄容量係為該緩衝器的記錄容量之整數倍。
  16. 如申請專利範圍第14項所述之快閃記憶體系統,其中每一該些資訊區段的該起始記錄點係為相對應的每一該些位址欄位群組與該記錄內容的開始位置之欄位距離。
  17. 如申請專利範圍第16項所述之快閃記憶體系統,其中該緩衝器儲存一目前版本的該記錄目錄以及該目前版本的該記錄內容。
  18. 如申請專利範圍第16項所述之快閃記憶體系統,其中該記錄區儲存至少一先前版本的該記錄目錄以及該至少一先前版本的該記錄內容。
  19. 如申請專利範圍第16項所述之快閃記憶體系統,其中該記錄總數表示該記錄目錄中該些記錄長度的總和。
  20. 如申請專利範圍第16項所述之快閃記憶體系統,其中一目前版本的該記錄目錄依據該先前版本指標依序連結於至少一先前版本的該記錄目錄,以連結相同的該區域標識之該些資訊區段。
  21. 如申請專利範圍第13項所述之快閃記憶體系統,其中該記錄區更包括一回收記錄區,存放該快閃記憶體系統之至少一回收記錄。
  22. 如申請專利範圍第13項所述之快閃記憶體系統,更包括一非揮發性儲存裝置,存放該快閃記憶體系統至少一回收記錄。
  23. 一種快閃記憶體的無效資料頁之管理方法,該快閃記憶體具有複數有效資料頁及複數空白頁,該管理方法包括下列步驟:(a)執行該些有效資料頁的資料更新步驟;(b)轉換該些有效資料頁成為複數無效資料頁,其中每一該些無效資料頁具有一無效資料頁資訊;(c)將該些無效資料頁資訊寫入至一記錄區,其中該記錄區包含一記錄目錄以及一記錄內容組成,該記錄目錄相對應於該記錄內容,且該記錄目錄具有複數資訊區段,每一該些資訊區段包括一區域標識、一起始記錄點、一記錄長度、一記錄總數以及一先前版本指標,該記錄內容包括複數群位址欄位,每一該些資訊區段相對應於一群位址欄位;(d)判斷該記錄區是否需要重整,當需要重整執行步驟(e),否則執行步驟(f);(e)重整該記錄區;以及(f)結束。
  24. 如申請專利範圍第23項所述之快閃記憶體的無效資料頁之管理方法,在步驟(a)中,更包括:寫入該些有效資料頁的一更新資料至該些空白頁之步驟。
  25. 如申請專利範圍第23項所述之快閃記憶體的無效資料頁之管理方法,在步驟(c)中,更包括:利用一緩衝器暫存記錄該些無效資料頁資訊,以一次寫入該些無效資料頁資訊至該記錄區。
  26. 如申請專利範圍第25項所述之快閃記憶體的無效資料頁之管理方法,其中該記錄區的記錄容量係為該緩衝器的記錄容量之倍數。
  27. 如申請專利範圍第25項所述之快閃記憶體的無效資料頁之管理方法,在步驟(e)之前,更包括步驟(e1):依據該些區域標識對該緩衝器的該記錄內容進行排序,以使每一該些資訊區段相對應的每一該些位址欄位群組集中形成該記錄長度,並且使每一該些位址欄位群組依據該些區域標識的順序排列。
  28. 如申請專利範圍第27項所述之快閃記憶體的無效資料頁之管理方法,其中每一該些資訊區段的該起始記錄點係為相對應的每一該些位址欄位群組與該記錄內容的開始位置之欄位距離。
  29. 如申請專利範圍第27項所述之快閃記憶體的無效資料頁之管理方法,其中該緩衝器儲存一目前版本的該記錄目錄以及該目前版本的該記錄內容,一第一記錄區儲存至少一先前版本的該記錄目錄以及該至少一先前版本的該記錄內容。
  30. 如申請專利範圍第29項所述之快閃記憶體的無效資料頁之管理方法,其中該記錄總數表示該記錄目錄中該些記錄長度的總和。
  31. 如申請專利範圍第29項所述之快閃記憶體的無效資料頁之管理方法,其中該目前版本的該記錄目錄依據該先前版本指標依序連結於該至少一先前版本的該記錄目錄,以連結相同的該區域標識之該些資訊區段。
  32. 如申請專利範圍第23項所述之快閃記憶體的無效資料頁之管理方法,在步驟(d)中,判斷該記錄區的記錄容量是否到達一第一預定值,當到達該第一預定值時,執行步驟(e),當未到達該第一預定值時,執行步驟(f)。
  33. 如申請專利範圍第32項所述之快閃記憶體的無效資料頁之管理方法,在步驟(e)中,更包括:判斷該記錄區中該些無效資料頁資訊之有效性,複製有效的該些無效資料頁資訊至該些空白頁,並且清空該記錄區。
  34. 如申請專利範圍第32項所述之快閃記憶體的無效資料頁之管理方法,在步驟(e)中,更包括:判斷該記錄區中該些無效資料頁資訊之有效性,之後,新的無效資料頁資訊直接覆寫於已無效之該些無效資料頁資訊。
  35. 一種快閃記憶體的無效資料頁之回收方法,該快閃記憶體包括複數區塊,該些區塊包括至少一資料區塊及至少一空白區塊,該資料區塊包括複數無效資料頁及複數有效資料頁,該回收方法包括下列步驟:(a)觸發一回收程序;(b)讀取該快閃記憶體中一記錄區,以擷取複數無效資料頁資訊,其中該記錄區更包括回收記錄區,其中該回收記錄區包括一記錄目錄以及相對應於該記錄目錄的一記錄內容,該記錄目錄具有複數資訊區段,每一該些資訊區段包括一區域標識、一起始記錄點、一記錄長度、一記錄總數以及一先前版本指標,且該記錄內容包括複數位址欄位群組,每一該些資訊區段相對應於每一該些位址欄位群組,每一位址欄位群組包括複數位址欄位;(c)依據該些無效資料頁資訊選擇該資料區塊,並且複製該資料區塊之該些有效資料頁至該空白區塊;以及(d)抹除該資料區塊,以使該些無效資料頁轉換成為非無效資料頁。
  36. 如申請專利範圍第35項所述之快閃記憶體的無效資料頁之回收方法,其中在步驟(c)中,選擇該些無效資料頁資訊中具有較多無效資料頁的該資料區塊進行回收,或是選擇較多抹除次數的該資料區塊進行回收。
  37. 如申請專利範圍第35項所述之快閃記憶體的無效資料頁之回收方法,其中該回收記錄區的資訊區段之該區域標識修正為”-1”。
  38. 如申請專利範圍第35項所述之快閃記憶體的無效資料頁之回收方法,其中該回收記錄區的資訊區段之下一版本之相對應的資訊區段中該先前版本指標指向零(null)。
TW100115987A 2011-05-06 2011-05-06 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法 TWI587136B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW100115987A TWI587136B (zh) 2011-05-06 2011-05-06 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
CN201110188667.5A CN102768644B (zh) 2011-05-06 2011-07-07 闪存系统及其闪存无效数据页信息的管理方法与回收方法
US13/244,328 US9122580B2 (en) 2011-05-06 2011-09-24 Flash memory system and managing and collecting methods for flash memory with invalid page messages thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100115987A TWI587136B (zh) 2011-05-06 2011-05-06 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法

Publications (2)

Publication Number Publication Date
TW201245960A TW201245960A (en) 2012-11-16
TWI587136B true TWI587136B (zh) 2017-06-11

Family

ID=47091033

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100115987A TWI587136B (zh) 2011-05-06 2011-05-06 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法

Country Status (3)

Country Link
US (1) US9122580B2 (zh)
CN (1) CN102768644B (zh)
TW (1) TWI587136B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI676176B (zh) * 2018-10-25 2019-11-01 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200287B2 (en) * 2011-09-30 2021-12-14 Google Llc Global address list
CN103092771A (zh) * 2011-10-31 2013-05-08 建兴电子科技股份有限公司 固态储存装置及其高速缓存的控制方法
CN103336744B (zh) * 2013-06-20 2015-11-04 华中科技大学 一种固态存储设备的垃圾回收方法及其系统
TWI533311B (zh) 2013-07-17 2016-05-11 慧榮科技股份有限公司 快閃記憶體裝置及其運作方法
CN104699626B (zh) * 2013-12-10 2019-02-19 中兴通讯股份有限公司 终端内存处理方法、装置及终端
CN103744615A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 一种动态补偿接收器及动态补偿接收方法
TWI516922B (zh) 2014-03-12 2016-01-11 慧榮科技股份有限公司 資料儲存裝置及快閃記憶體零散資料收集方法
CN104932981B (zh) * 2014-03-20 2018-05-25 宏达国际电子股份有限公司 移动电子装置与清理存储区块的方法
TWI611408B (zh) * 2015-11-25 2018-01-11 旺宏電子股份有限公司 記憶體裝置的抹除方法
CN105677244B (zh) * 2015-12-31 2019-04-09 记忆科技(深圳)有限公司 一种降低tlc闪存的固态硬盘写放大的方法
TWI615847B (zh) * 2016-02-17 2018-02-21 光寶電子(廣州)有限公司 固態儲存裝置及其資料處理方法
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
KR20180064198A (ko) * 2016-12-05 2018-06-14 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10282297B2 (en) * 2017-02-08 2019-05-07 Arm Limited Read-with overridable-invalidate transaction
TWI628542B (zh) * 2017-04-21 2018-07-01 慧榮科技股份有限公司 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
CN109117383B (zh) * 2017-06-25 2022-09-20 慧荣科技股份有限公司 管理闪存模块的方法和闪存控制器
TWI644207B (zh) * 2017-12-29 2018-12-11 國科美國研究實驗室 Method for garbage collection of data storage device
CN109376095B (zh) * 2018-12-04 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种基于flash区域地址映射机制的垃圾回收方法
CN109725853B (zh) * 2018-12-04 2022-10-04 浙江大华存储科技有限公司 一种数据回收方法及装置
TWI759580B (zh) * 2019-01-29 2022-04-01 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200951711A (en) * 2008-06-02 2009-12-16 A Data Technology Co Ltd Method for memory space management
TW201104690A (en) * 2009-07-31 2011-02-01 Silicon Motion Inc Flash memory apparatus and method for operating a flash memory apparatus

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ500202A (en) * 1997-03-21 2001-11-30 Canal Plus Sa Updating of flash memory pages in computer memory system
JP2000057039A (ja) * 1998-08-03 2000-02-25 Canon Inc アクセス制御方法及び装置及びファイルシステム及び情報処理装置
US20080114940A1 (en) * 2004-09-30 2008-05-15 Renesas Technology Corp. Data Processor
TW200705180A (en) * 2005-07-29 2007-02-01 Genesys Logic Inc Adjustable flash memory management system and method
CA2714745A1 (en) * 2008-02-12 2009-08-20 Netapp, Inc. Hybrid media storage system architecture
TWI473100B (zh) * 2008-09-05 2015-02-11 A Data Technology Co Ltd Flash memory system and its operation method
US8291192B2 (en) * 2008-10-30 2012-10-16 Kyocera Document Solutions, Inc. Memory management system
US8285970B2 (en) * 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
US20100281207A1 (en) * 2009-04-30 2010-11-04 Miller Steven C Flash-based data archive storage system
JP2011003094A (ja) * 2009-06-19 2011-01-06 Toshiba Corp 二重化処理装置および二重化処理制御方法
TWI404071B (zh) * 2009-06-23 2013-08-01 Phison Electronics Corp 能識別快閃記憶體中錯誤資料的控制電路及儲存系統與方法
CN101727402B (zh) * 2009-10-23 2012-07-04 深圳市江波龙电子有限公司 一种非易失性存储器数据的读写控制方法及系统
US9785561B2 (en) * 2010-02-17 2017-10-10 International Business Machines Corporation Integrating a flash cache into large storage systems
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
TWI438630B (zh) * 2011-03-22 2014-05-21 Phison Electronics Corp 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200951711A (en) * 2008-06-02 2009-12-16 A Data Technology Co Ltd Method for memory space management
TW201104690A (en) * 2009-07-31 2011-02-01 Silicon Motion Inc Flash memory apparatus and method for operating a flash memory apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI676176B (zh) * 2018-10-25 2019-11-01 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元

Also Published As

Publication number Publication date
US20120284450A1 (en) 2012-11-08
US9122580B2 (en) 2015-09-01
TW201245960A (en) 2012-11-16
CN102768644A (zh) 2012-11-07
CN102768644B (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
TWI587136B (zh) 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
KR100644602B1 (ko) 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US8321652B2 (en) Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
JP4633802B2 (ja) 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法
US6865658B2 (en) Nonvolatile data management system using data segments and link information
KR100881669B1 (ko) 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
TWI399644B (zh) 非揮發記憶體區塊管理方法
CN101354681B (zh) 存储器系统、非易失性存储器的磨损均衡方法及装置
US20060168392A1 (en) Flash memory file system
US20080120488A1 (en) Apparatus and method of managing nonvolatile memory
KR100922308B1 (ko) 페이징된 가비지 콜렉션
US20090031076A1 (en) Method for Managing Flash Memory
US20070113030A1 (en) Methods for the management of erase operations in non-volatile memories
US20070113029A1 (en) Structures for the management of erase operations in non-volatile memories
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
TW201413451A (zh) 非揮發性記憶體的資料收集方法
WO2013123855A1 (zh) 存储器的读写控制方法及对应的存储器和服务器
US20100318726A1 (en) Memory system and memory system managing method
JP2004303238A (ja) フラッシュメモリアクセス装置及び方法
CN104598386A (zh) 通过追踪和利用二级映射索引重复利用固态驱动器块
US8954646B2 (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
CN111580754B (zh) 一种写友好的闪存固态盘缓存管理方法
TWI553481B (zh) 固態硬碟的資料管理方法、寫入管理系統及其方法
JP4501881B2 (ja) メモリコントローラ及びフラッシュメモリシステム