專(zhuān)利名稱(chēng):閃存系統(tǒng)及其閃存無(wú)效數(shù)據(jù)頁(yè)信息的管理方法與回收方法
技術(shù)領(lǐng)域:
本發(fā)明系關(guān)于ー種內(nèi)存系統(tǒng)以及內(nèi)存無(wú)效數(shù)據(jù)頁(yè)信息的管理方法與回收方法,特別是有關(guān)于ー種閃存系統(tǒng)以及閃存無(wú)效數(shù)據(jù)頁(yè)信息的管理方法與回收方法。
背景技術(shù):
閃存(flash memory)是由多頁(yè)(page)組成,64頁(yè)或是128頁(yè)定義為ー個(gè)區(qū)塊(block),以作為閃存的儲(chǔ)存單位。然而閃存的特性是當(dāng)ー頁(yè)被寫(xiě)入數(shù)據(jù)之后,無(wú)法立即對(duì)所述頁(yè)重新寫(xiě)入新的數(shù)據(jù),必須將所述頁(yè)所在的區(qū)塊(block)執(zhí)行抹除(erase)步驟之后才能繼續(xù)對(duì)所述頁(yè)寫(xiě)入新資料。然而上述抹除區(qū)塊再重新寫(xiě)入數(shù)據(jù)的方式相當(dāng)耗時(shí),故通常是將欲寫(xiě)入至所述頁(yè)的更新數(shù)據(jù)先寫(xiě)入至相對(duì)應(yīng)于相同邏輯地址的另ー實(shí)體地址。舉例來(lái)說(shuō),邏輯地址(logical address) “ 100”的數(shù)據(jù)存放于實(shí)體地址“ 150”,當(dāng) 欲再次寫(xiě)入更新數(shù)據(jù)至所述邏輯地址“100”以取代舊版本數(shù)據(jù)時(shí),系將所述更新數(shù)據(jù)寫(xiě)到另ー實(shí)體地址“200”(與實(shí)體地址“150”為不相同的區(qū)塊)。因此會(huì)有兩個(gè)版本的邏輯地址“100”之?dāng)?shù)據(jù),此時(shí)實(shí)體地址“150”稱(chēng)為無(wú)效數(shù)據(jù)頁(yè)(invalid page),當(dāng)邏輯地址“100”之更新數(shù)據(jù)版本持續(xù)增加,儲(chǔ)存舊版本數(shù)據(jù)的無(wú)效數(shù)據(jù)頁(yè)(invalid page)越來(lái)越多,占用實(shí)體地址空間越大。因此需要回收(collect)對(duì)應(yīng)于所述邏輯地址“100”的無(wú)效數(shù)據(jù)頁(yè)之實(shí)體地址空間,以增加閃存可用的有效數(shù)據(jù)頁(yè)面。上述回收舊版本無(wú)效數(shù)據(jù)頁(yè)(invalid page)的過(guò)程稱(chēng)為內(nèi)存回收(garbagecollection, GC)步驟,然而進(jìn)行內(nèi)存回收(GC)步驟時(shí),需要判斷區(qū)塊的頁(yè)為“無(wú)效”(invalid)或是“有效”(valid)的狀態(tài)?,F(xiàn)有技術(shù)中,當(dāng)頁(yè)變成無(wú)效時(shí),于頁(yè)的閑置區(qū)域(spare area)寫(xiě)入一旗標(biāo)(flag),以作為判斷所述頁(yè)是否為有效的依據(jù)。然而上述方式僅適用于單階儲(chǔ)存單元(single-level cell, SLC)的閃存,并不適用于多階儲(chǔ)存單元(multi-level cell, MLC)的閃存,因?yàn)槎嚯A儲(chǔ)存單元(MLC)僅能一次寫(xiě)入,而無(wú)法以單階儲(chǔ)存單元(SLC)寫(xiě)入旗標(biāo)至備用區(qū)域(spare area)的方式進(jìn)行,而無(wú)法作為判斷所述頁(yè)是否為有效的依據(jù)。另ー現(xiàn)有技術(shù)中,若將所有區(qū)塊的所有頁(yè)為“無(wú)效”(invalid)或是“有效”(valid)的狀態(tài)作記錄,以作為判斷所述頁(yè)是否為有效的依據(jù)時(shí),將會(huì)額外耗費(fèi)相當(dāng)大的記憶空間儲(chǔ)存這些記錄狀態(tài)。此外,在閃存的應(yīng)用中,邏輯地址與實(shí)體地址的對(duì)應(yīng)關(guān)系受到局限,亦即同一個(gè)邏輯區(qū)塊的數(shù)據(jù)放在同一實(shí)體區(qū)塊中,由于經(jīng)常取用數(shù)據(jù)(hot data)以及很少取用數(shù)據(jù)(cold data)可能放在同一邏輯區(qū)塊中,故當(dāng)欲判斷所述實(shí)體區(qū)塊中是否存在有效數(shù)據(jù)頁(yè)吋,必須掃描整個(gè)所述邏輯區(qū)塊對(duì)應(yīng)的實(shí)體區(qū)塊,造成內(nèi)存回收(GC)的效能大幅降低。因此需要提出ー種新式的閃存無(wú)效數(shù)據(jù)頁(yè)的管理方法,以改善上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明之一目的在于提供一種閃存系統(tǒng)以及閃存無(wú)效數(shù)據(jù)頁(yè)信息的管理方法與回收方法,當(dāng)閃存的有效數(shù)據(jù)頁(yè)轉(zhuǎn)變成無(wú)效數(shù)據(jù)頁(yè)時(shí),利用第一記錄區(qū)記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)的地址信息,以有效回收閃存大量無(wú)效數(shù)據(jù)頁(yè)的空間。本發(fā)明另一目的在于提供一種閃存系統(tǒng)以及閃存無(wú)效數(shù)據(jù)頁(yè)信息的管理方法與回收方法,以于執(zhí)行內(nèi)存回收步驟時(shí),依據(jù)所述第一記錄區(qū)記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)的地址信息,以快速地選出適合回收的區(qū)塊(block),并且辨認(rèn)所述區(qū)塊中有效的頁(yè)以進(jìn)行復(fù)制搬移的動(dòng)作。依據(jù)上述之目的,本發(fā)明提出ー種閃存系統(tǒng),包括一閃存控制器,具有一微處理単元;以及ー閃存,耦接于所述閃存控制器,具有一保留區(qū)以及ー數(shù)據(jù)區(qū),所述保留區(qū)具有ー記錄區(qū),所述數(shù)據(jù)區(qū)具有多個(gè)有效數(shù)據(jù)頁(yè)以及多個(gè)無(wú)效數(shù)據(jù)頁(yè),所述記錄區(qū)具有至少ー記錄頁(yè),所述微處理單元控制所述記錄區(qū),以記錄相對(duì)應(yīng)于所述些無(wú)效數(shù)據(jù)頁(yè)的多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息至所述至少一記錄頁(yè)中。另ー實(shí)施例中,本發(fā)明提出ー種閃存系統(tǒng),包括一閃存控制器,具有ー微處理單元;ー閃存,耦接于所述閃存控制器,具有ー數(shù)據(jù)區(qū),所述數(shù)據(jù)區(qū)具有多個(gè)有效數(shù)據(jù)頁(yè)以及多個(gè)無(wú)效數(shù)據(jù)頁(yè);以及ー記錄區(qū),耦接于所述閃存控制器,用以記錄相對(duì)應(yīng)于所述些無(wú)效數(shù)據(jù)頁(yè)的多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息。 又一實(shí)施例中,本發(fā)明提出一種閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,所述閃存具有多個(gè)有效數(shù)據(jù)頁(yè)及多個(gè)空白頁(yè),所述管理方法包括下列步驟(a)執(zhí)行所述些有效數(shù)據(jù)頁(yè)的數(shù)據(jù)更新步驟;(b)轉(zhuǎn)換所述些有效數(shù)據(jù)頁(yè)成為多個(gè)無(wú)效數(shù)據(jù)頁(yè),其中每一所述些無(wú)效數(shù)據(jù)頁(yè)具有一無(wú)效數(shù)據(jù)頁(yè)信息;(C)將所述些無(wú)效數(shù)據(jù)頁(yè)信息寫(xiě)入至ー記錄區(qū);(d)判斷所述記錄區(qū)是否需要重整,當(dāng)需要重整執(zhí)行步驟(e),否則執(zhí)行步驟(f) ;(e)重整所述記錄區(qū);以及(f)結(jié)束。再一實(shí)施例中,本發(fā)明提出一種閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,所述閃存包括多個(gè)區(qū)塊,所述些區(qū)塊包括至少ー數(shù)據(jù)區(qū)塊及至少一空白區(qū)塊,所述數(shù)據(jù)區(qū)塊包括多個(gè)無(wú)效數(shù)據(jù)頁(yè)及多個(gè)有效數(shù)據(jù)頁(yè),所述回收方法包括下列步驟(a)觸發(fā)一回收程序;(b)讀取所述閃存中ー記錄區(qū),以擷取多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息;(C)依據(jù)所述些無(wú)效數(shù)據(jù)頁(yè)信息選擇所述數(shù)據(jù)區(qū)塊,并且復(fù)制所述數(shù)據(jù)區(qū)塊之所述些有效數(shù)據(jù)頁(yè)至所述空白區(qū)塊;以及(d)抹除所述數(shù)據(jù)區(qū)塊,以使所述些無(wú)效數(shù)據(jù)頁(yè)轉(zhuǎn)換成為非無(wú)效數(shù)據(jù)頁(yè)。本發(fā)明的優(yōu)點(diǎn)在于,當(dāng)閃存的有效數(shù)據(jù)頁(yè)轉(zhuǎn)變成無(wú)效數(shù)據(jù)頁(yè)時(shí),利用記錄區(qū)以及緩沖器記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息,并可快速追蹤閃存內(nèi)大量無(wú)效數(shù)據(jù)頁(yè)信息,于執(zhí)行內(nèi)存回收步驟時(shí),依據(jù)記錄區(qū)以及緩沖器記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息,快速地選出適合回收的區(qū)塊,并且辨認(rèn)區(qū)塊中有效的頁(yè)面以進(jìn)行多個(gè)搬移動(dòng)作。
附圖IA所示是本發(fā)明第一實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)方塊圖。附圖IB所示是本發(fā)明第二實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)方塊圖。附圖IC所示是本發(fā)明第三實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)方塊圖。附圖ID所示是本發(fā)明實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理方法流程圖。附圖2A所示是本發(fā)明實(shí)施例中緩沖器的數(shù)據(jù)結(jié)構(gòu)示意圖。附圖2B所示是本發(fā)明實(shí)施例中緩沖器以及記錄區(qū)的各種版本的地址數(shù)據(jù)的連接數(shù)據(jù)結(jié)構(gòu)示意圖。
附圖2C所示是本發(fā)明實(shí)施例中具有回收記錄的記錄區(qū)以及緩沖器的連接數(shù)據(jù)結(jié)構(gòu)示意圖。附圖3所示是本發(fā)明實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的回收方法的步驟流程圖。
具體實(shí)施例方式附圖IA所示是本發(fā)明第一實(shí)施例中閃存無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)200a方塊圖。管理系統(tǒng)200a包括閃存控制器(flash memory controller) 202、連結(jié)于閃存控制器202的閃存(flash memory) 204以及連結(jié)于閃存控制器202的儲(chǔ)存裝置205,閃存控制器202包括微處理單元(micro processing unit, MPU) 210、以及連結(jié)于微處理單元210的緩沖器207與內(nèi)存213。本發(fā)明的閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)200a以及方法適用于單階儲(chǔ)存単元(SLC)、多階儲(chǔ)存単元(MLC)、三階儲(chǔ)存単元(triple-level cell, TLC)的閃存以及任何型式的閃存。閃存204包括保留區(qū)(reserved area) 206以及數(shù)據(jù)區(qū)(data area) 208,保留區(qū)206以及數(shù)據(jù)區(qū)208耦接于微處理単元210。保留區(qū)206與數(shù)據(jù)區(qū)208的差異在于使用者無(wú) 法使用保留區(qū)206內(nèi)的區(qū)塊,而只使用數(shù)閃存控制器據(jù)區(qū)208內(nèi)的區(qū)塊,閃存控制器202可存取保留區(qū)206與數(shù)據(jù)區(qū)208。保留區(qū)206包括一記錄區(qū)206a以及空白區(qū)塊備用區(qū)206b,記錄區(qū)206a例如是區(qū)塊B0、BI,空白區(qū)塊備用區(qū)206b例如是區(qū)塊B2、B3,每一區(qū)塊例如是由6頁(yè)組成,其中區(qū)塊B2、B3均為空白區(qū)塊。數(shù)據(jù)區(qū)208例如是由區(qū)塊B4 B9組成,每ー區(qū)塊例如是由6頁(yè)組成。每一區(qū)塊是由多個(gè)頁(yè)組成,所述些頁(yè)依數(shù)據(jù)儲(chǔ)存狀態(tài)可區(qū)分為有效數(shù)據(jù)頁(yè)、無(wú)效數(shù)據(jù)頁(yè)和/或空白頁(yè)。例如資料區(qū)208的區(qū)塊B4中,頁(yè)P(yáng)O P2、P4、P5為有效數(shù)據(jù)頁(yè),頁(yè)P(yáng)3為無(wú)效數(shù)據(jù)頁(yè)。在區(qū)塊B7中,頁(yè)P(yáng)0、P2 P5為有效數(shù)據(jù)頁(yè),頁(yè)P(yáng)l為無(wú)效數(shù)據(jù)頁(yè)。在區(qū)塊B8中,頁(yè)P(yáng)O P2為有效數(shù)據(jù)頁(yè),頁(yè)P(yáng)3 P5為空白頁(yè)。值得注意的是,一個(gè)區(qū)塊中所含頁(yè)的個(gè)數(shù)取決于閃存制作出廠時(shí)的初始設(shè)定。為方便說(shuō)明,本發(fā)明之一區(qū)塊為6個(gè),并非用以限定本發(fā)明的區(qū)塊頁(yè)的組成數(shù)量,亦即本發(fā)明中的區(qū)塊亦可由64頁(yè)、128頁(yè)或是其它數(shù)量的頁(yè)組成。具體來(lái)說(shuō),記錄區(qū)206a具有至少ー記錄頁(yè),用于記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息,例如記錄數(shù)據(jù)區(qū)208中各個(gè)區(qū)塊的無(wú)效數(shù)據(jù)頁(yè)的無(wú)效數(shù)據(jù)頁(yè)信息(B4 ;P3)、(B5 ;P1 P3,P5)、(B6;P1,P5)、(B7;P1)??瞻讌^(qū)塊備用區(qū)206b是當(dāng)記錄區(qū)206a快寫(xiě)滿(mǎn)或已寫(xiě)滿(mǎn)無(wú)效數(shù)據(jù)頁(yè)信息時(shí),用以?xún)?chǔ)存記錄區(qū)206a中正確的無(wú)效數(shù)據(jù)頁(yè)信息,以重整記錄區(qū)206a,例如儲(chǔ)存區(qū)塊BO的正確無(wú)效數(shù)據(jù)頁(yè)信息Pl P5至空白區(qū)塊備用區(qū)206b的區(qū)塊B2,接著抹除區(qū)塊B0,之后區(qū)塊B2轉(zhuǎn)變成記錄區(qū)206a的區(qū)塊,而區(qū)塊BO轉(zhuǎn)變成空白區(qū)塊備用區(qū)206b中備用。更具體的來(lái)說(shuō),記錄區(qū)206a中的區(qū)塊代號(hào)與空白區(qū)塊備用區(qū)206b中的實(shí)體區(qū)塊代號(hào),是會(huì)隨著無(wú)效數(shù)據(jù)頁(yè)信息在保留區(qū)206存放位置的不同而作調(diào)整變更。緩沖器207用于暫存記錄無(wú)效數(shù)據(jù)頁(yè)信息,當(dāng)緩沖器207寫(xiě)滿(mǎn)無(wú)效數(shù)據(jù)頁(yè)信息之后,以一次寫(xiě)入方式將無(wú)效數(shù)據(jù)頁(yè)信息寫(xiě)入至記錄區(qū)206a中。此外,空白區(qū)塊備用區(qū)206b亦可作為數(shù)據(jù)區(qū)208更新數(shù)據(jù)的暫存區(qū),例如作為區(qū)塊B7更新數(shù)據(jù)的暫存區(qū)。附圖IB所示是本發(fā)明第二實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)200b方塊圖。附圖IB的管理系統(tǒng)200b類(lèi)似于附圖IA的管理系統(tǒng)200a,其差異在于記錄區(qū)206a獨(dú)立于閃存204的外部而設(shè)置于儲(chǔ)存裝置205。管理系統(tǒng)200b包括閃存控制器202、連結(jié)于閃存控制器202的閃存204以及連結(jié)于閃存控制器202的儲(chǔ)存裝置205,其中儲(chǔ)存裝置205例如是非揮發(fā)性?xún)?chǔ)存裝置。閃存控制器202包括微處理単元(MPU) 210、以及連結(jié)于微處理單元(MPU) 210之緩沖器207與內(nèi)存213。閃存204系由數(shù)據(jù)區(qū)208組成,數(shù)據(jù)區(qū)208包括多個(gè)區(qū)塊BO B5。例如在區(qū)塊BO中,頁(yè)P(yáng)O P2、P4、P5為有效數(shù)據(jù)頁(yè),頁(yè)P(yáng)3為無(wú)效數(shù)據(jù)頁(yè)。在區(qū)塊BI中,頁(yè)P(yáng)0、P4為有效數(shù)據(jù)頁(yè),頁(yè)P(yáng)l P3、P5為無(wú)效數(shù)據(jù)頁(yè)。儲(chǔ)存裝置205是由記錄區(qū)206a組成,記錄區(qū)206a包括多個(gè)區(qū)塊BO B3,例如區(qū)塊BO的頁(yè)P(yáng)O P5用以記錄在記錄數(shù)據(jù)區(qū)208中各個(gè)區(qū)塊的無(wú) 效數(shù)據(jù)頁(yè)之無(wú)效數(shù)據(jù)頁(yè)信息。當(dāng)記錄區(qū)206a的區(qū)塊BO快寫(xiě)滿(mǎn)或已寫(xiě)滿(mǎn)無(wú)效數(shù)據(jù)頁(yè)信息時(shí),可重整區(qū)塊B0。附圖IC所示是本發(fā)明第三實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理系統(tǒng)200c方塊圖。附圖IC的管理系統(tǒng)200c類(lèi)似于附圖IA的管理系統(tǒng)200a,其差異在于閃存204的結(jié)構(gòu)不相同。在附圖IC中,閃存204包括保留區(qū)206以及數(shù)據(jù)區(qū)208。保留區(qū)206包括記錄區(qū)206a,例如區(qū)塊BO的頁(yè)P(yáng)O P5用以記錄在記錄數(shù)據(jù)區(qū)208中各個(gè)區(qū)塊的無(wú)效數(shù)據(jù)頁(yè)的無(wú)效數(shù)據(jù)頁(yè)信息。數(shù)據(jù)區(qū)208包括空白區(qū)塊B3作區(qū)塊B1、B2的數(shù)據(jù)移動(dòng)的暫存區(qū)塊,以及空白區(qū)塊B4作為區(qū)塊BO的數(shù)據(jù)移動(dòng)的暫存區(qū)塊,以記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息。換言之,數(shù)據(jù)區(qū)208的空白區(qū)塊同時(shí)做為記錄區(qū)206a及數(shù)據(jù)區(qū)208中數(shù)據(jù)移動(dòng)時(shí)的暫存區(qū)塊,當(dāng)記錄區(qū)206a的區(qū)塊BO快寫(xiě)滿(mǎn)或已寫(xiě)滿(mǎn)無(wú)效數(shù)據(jù)頁(yè)信息時(shí),儲(chǔ)存記錄區(qū)206a中仍有效的無(wú)效數(shù)據(jù)頁(yè)信息至空白區(qū)塊,以重整記錄區(qū)206a。參考附圖1A、附圖ID以及附圖2A,附圖ID所示是本發(fā)明實(shí)施例中閃存204的無(wú)效數(shù)據(jù)頁(yè)的管理方法流程圖。附圖2A所示是本發(fā)明實(shí)施例中緩沖器207的數(shù)據(jù)結(jié)構(gòu)示意圖。閃存204具有多個(gè)有效數(shù)據(jù)頁(yè)及多個(gè)空白頁(yè),管理方法包括下列步驟。在步驟S200中,當(dāng)執(zhí)行有效數(shù)據(jù)頁(yè)的數(shù)據(jù)更新步驟時(shí),將有效數(shù)據(jù)頁(yè)的更新數(shù)據(jù)寫(xiě)入空白頁(yè)中,并且轉(zhuǎn)換所述有效數(shù)據(jù)頁(yè)成為多個(gè)無(wú)效數(shù)據(jù)頁(yè),其中每ー無(wú)效數(shù)據(jù)頁(yè)具有一無(wú)效數(shù)據(jù)頁(yè)信息。具體來(lái)說(shuō),將不同版本的數(shù)據(jù)按照時(shí)間先后寫(xiě)入至相同邏輯地址之頁(yè)面(page)吋,對(duì)應(yīng)于相同邏輯地址的不相同實(shí)體頁(yè)面地址存放多個(gè)不同版本的數(shù)據(jù),其中只有最后的一版本數(shù)據(jù)對(duì)應(yīng)的一實(shí)體頁(yè)面地址定義為有效數(shù)據(jù)頁(yè),其余舊版本數(shù)據(jù)對(duì)應(yīng)的實(shí)體頁(yè)面地址均定義為無(wú)效數(shù)據(jù)頁(yè)。即舊版本數(shù)據(jù)對(duì)應(yīng)的多個(gè)實(shí)體頁(yè)面地址以不同更新數(shù)據(jù)陸續(xù)被更新的過(guò)程中由“有效”(valid)狀態(tài)轉(zhuǎn)換成為“無(wú)效”(invalid)狀態(tài)。在步驟S201中,利用緩沖器207暫存記錄無(wú)效數(shù)據(jù)頁(yè)信息,以一次寫(xiě)入方式將無(wú)效數(shù)據(jù)頁(yè)信息寫(xiě)入至記錄區(qū)206a。換言之,緩沖器207的記錄容量的単位較佳是等于記錄區(qū)206a的記錄容量的単位,但并不限定于此,以使緩沖器207寫(xiě)滿(mǎn)之后,可將地址信息一次寫(xiě)入至記錄區(qū)206a。在另ー實(shí)施例中,記錄區(qū)206a的記錄容量是為緩沖器207的記錄容量的倍數(shù)。緩沖器207例如是隨機(jī)存取內(nèi)存(random access memory, RAM)。在步驟S202中,記錄相對(duì)應(yīng)于無(wú)效數(shù)據(jù)頁(yè)的無(wú)效數(shù)據(jù)頁(yè)信息至記錄區(qū)206a,如附圖2A所示,其中記錄區(qū)206a包括記錄目錄(log directory) 211以及相對(duì)應(yīng)于記錄目錄的記錄內(nèi)容(log content) 212,記錄目錄211具有多個(gè)信息區(qū)段214,姆一信息區(qū)段214包括兇域不不識(shí)(region identificatioru 214a、起始記求點(diǎn)(starting record point) 214b、記錄長(zhǎng)度(record length) 214c、記錄總數(shù)(total record amount) 214d以及先前版本指標(biāo)(previous version pointer) 214e,且記錄內(nèi)容212包括多個(gè)地址字段群組216,姆一信息區(qū)段相對(duì)應(yīng)于每一地址字段群組216,每一地址字段群組216包括多個(gè)地址字段218,地址字段218用以?xún)?chǔ)存無(wú)效數(shù)據(jù)頁(yè)信息。記錄區(qū)206a的記錄容量不受限制,可為任意容量大小。較佳實(shí)施例中,記錄區(qū)206a的記錄容量例如是閃存中至少ー個(gè)頁(yè)容量大小。在步驟S204中,判斷記錄區(qū)206a的記錄容量是否到達(dá)第一預(yù)定值,當(dāng)?shù)竭_(dá)第一預(yù)定值時(shí),執(zhí)行步驟S206。當(dāng)未到達(dá)第一預(yù)定值時(shí),執(zhí)行步驟S208。第一預(yù)定值例如是小于或是等于記錄區(qū)206a的記錄容量,且第一預(yù)定值較佳為閃存204中至少ー個(gè)頁(yè)(page)容量的整數(shù)倍。在步驟S206中,當(dāng)判斷記錄區(qū)206a中無(wú)效數(shù)據(jù)頁(yè)信息是否有效之后,復(fù)制有效的無(wú)效數(shù)據(jù)頁(yè)信息至空白區(qū)塊備用區(qū)206b的空白區(qū)塊,清空記錄區(qū)206a的區(qū)塊,并變更記錄區(qū)206a指向至儲(chǔ)存有無(wú)效數(shù)據(jù)頁(yè)信息的空白區(qū)塊以及將清空后的實(shí)體區(qū)塊轉(zhuǎn)換成空白區(qū)塊備用區(qū)。在步驟S208中,結(jié)束。
本發(fā)明的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法更包含有多個(gè)記錄區(qū)206a,分別記錄閃存204數(shù)據(jù)區(qū)208中不同區(qū)塊群組的無(wú)效數(shù)據(jù)頁(yè)信息,并可利用多個(gè)信道存取記錄區(qū)206a,以在大容量的閃存204中快速存取無(wú)效數(shù)據(jù)頁(yè)的地址信息。根據(jù)上述,本發(fā)明的閃存的無(wú)效資料頁(yè)的管理方法,當(dāng)閃存204的有效數(shù)據(jù)頁(yè)轉(zhuǎn)變成無(wú)效數(shù)據(jù)頁(yè)時(shí),利用記錄區(qū)206a以及緩沖器207記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)的地址信息,以有效管理閃存記錄大量無(wú)效數(shù)據(jù)頁(yè)信息的空間。上述記錄區(qū)206a以及緩沖器207的詳細(xì)結(jié)構(gòu)說(shuō)明如下。附圖2A所示是本發(fā)明實(shí)施例中緩沖器207的數(shù)據(jù)結(jié)構(gòu)示意圖。緩沖器207暫存的地址數(shù)據(jù)包括記錄目錄211以及記錄內(nèi)容212,記錄目錄211相對(duì)應(yīng)于記錄內(nèi)容212,且記錄目錄211具有多個(gè)信息區(qū)段214,每一信息區(qū)段214包括區(qū)域標(biāo)識(shí)(此處標(biāo)示為” k”)214a、起始記錄點(diǎn)(此處標(biāo)示為“x”)214b、記錄長(zhǎng)度(此處標(biāo)示為“ I ”)214c、記錄總數(shù)214d以及先前版本指標(biāo)214e。記錄內(nèi)容212包括多個(gè)群地址字段216,每一信息區(qū)段214相對(duì)應(yīng)于一群地址字段216,其中姆一群地址字段216具有多個(gè)地址字段218,每一地址字段218用以記錄一個(gè)無(wú)效數(shù)據(jù)頁(yè)信息地址。在一較佳實(shí)施例中,每一信息區(qū)段214依據(jù)其對(duì)應(yīng)的區(qū)域標(biāo)識(shí)214a依序排列(例如遞增或是遞減)。記錄總數(shù)214d表示記錄目錄211中記錄長(zhǎng)度214c的總和。當(dāng)微處理単元210依據(jù)區(qū)域標(biāo)識(shí)214a對(duì)緩沖器207暫存的記錄內(nèi)容212進(jìn)行排序,以使每一信息區(qū)段214的群地址字段216集中形成記錄長(zhǎng)度214c,并且使每一群地址字段216依據(jù)區(qū)域標(biāo)識(shí)214a作排列。在一較佳實(shí)施例中,當(dāng)復(fù)制緩沖器207中暫存的地址數(shù)據(jù)至記錄區(qū)206a之前,先進(jìn)行上述之緩沖器207暫存的記錄內(nèi)容212的排序步驟,通過(guò)記錄內(nèi)容212的地址數(shù)據(jù)在記錄區(qū)206a中排列的連續(xù)性,以提高對(duì)記錄區(qū)206a的讀取效能。在一實(shí)施例中,上述的記錄區(qū)206a設(shè)置于閃存204中,如附圖IA所示。此外,每一信息區(qū)段214的起始記錄點(diǎn)“x”214b是指相對(duì)應(yīng)的每一群地址字段216與記錄內(nèi)容212的開(kāi)始位置的字段間距。附圖2B所示是本發(fā)明實(shí)施例中緩沖器207以及記錄區(qū)206a的各種版本的地址數(shù)據(jù)的連接結(jié)構(gòu)示意圖。緩沖器207包括最新的地址數(shù)據(jù)版本,記錄區(qū)206a例如包括閃存中某一筆數(shù)據(jù)的3種地址數(shù)據(jù)版本,即所述筆數(shù)據(jù)被寫(xiě)入一次后又更新過(guò)二次,且均存放于不同的物理內(nèi)存地址。具體來(lái)說(shuō),在記錄區(qū)206a的第一版本中,區(qū)域標(biāo)識(shí)214a為“15”的信息區(qū)段214用以記錄5筆無(wú)效數(shù)據(jù)頁(yè)信息的地址數(shù)據(jù),累積的記錄總數(shù)214d為5筆,且先如版本指標(biāo)214e指向零(null)(表不其為弟一版本的資料);接著在弟_■版本中,區(qū)域標(biāo)識(shí)214a為” 12”的信息區(qū)段214插入于區(qū)域標(biāo)識(shí)214a為“15”的信息區(qū)段214之前,且區(qū)域標(biāo)識(shí)214a為“ 15”的信息區(qū)段214記錄7筆無(wú)效數(shù)據(jù)頁(yè)信息的地址數(shù)據(jù),累積的記錄總數(shù)214d為12筆,且先前版本指標(biāo)指向第一版本的先前版本指標(biāo)214e。同樣地,在第三版本中,區(qū)域標(biāo)識(shí)214a為”15”的信息區(qū)段214記錄8筆無(wú)效數(shù)據(jù)頁(yè)信息的地址數(shù)據(jù),累積的記錄總數(shù)214d為20筆,且先前版本指標(biāo)指向第二版本的先前版本指標(biāo)214e。在緩沖器207暫存的最新的地址數(shù)據(jù)版本中,區(qū)域標(biāo)識(shí)214a為”15”的信息區(qū)段214記錄I筆無(wú)效數(shù)據(jù)頁(yè)信息的地址數(shù)據(jù),累積的記錄總數(shù)214d為21筆,且先前版本指標(biāo)指向第三版本的先前版本指標(biāo)214e。換言之,緩沖器207儲(chǔ)存一目前版本的記錄目錄211以及一目前版本的記錄內(nèi) 容212,記錄區(qū)206a儲(chǔ)存至少一先前版本的記錄目錄211以及至少一先前版本的記錄內(nèi)容212。目前版本的記錄目錄211依據(jù)先前版本指標(biāo)依序連結(jié)于至少一先前版本的記錄目錄211,以使具有相同的區(qū)域標(biāo)識(shí)214a的信息區(qū)段214連結(jié)在一起,例如多個(gè)各種版本的區(qū)域標(biāo)識(shí)214a為“15”信息區(qū)段214依據(jù)版次連結(jié)在一起,故可以依據(jù)先前版本指針尋找出全部的區(qū)域標(biāo)識(shí)214a為“ 15”的信息區(qū)段214。參考附圖2A至2C以及附圖3,附圖2C所示是本發(fā)明實(shí)施例中具有回收記錄222的記錄區(qū)206a以及緩沖器207的連接結(jié)構(gòu)示意圖。附圖3所示是本發(fā)明實(shí)施例中閃存的無(wú)效數(shù)據(jù)頁(yè)信息的回收方法的步驟流程圖。記錄區(qū)206a例如包括3種地址數(shù)據(jù)版本,如附圖2A所示。本發(fā)明提供一種閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,閃存包括多個(gè)區(qū)塊,所述些區(qū)塊包括至少ー數(shù)據(jù)區(qū)及至少一空白區(qū)塊,數(shù)據(jù)區(qū)包括多個(gè)無(wú)效數(shù)據(jù)頁(yè)及多個(gè)有效數(shù)據(jù)頁(yè),回收方法包括下列步驟。在步驟S300中,觸發(fā)一回收程序。在步驟S302中,讀取閃存中ー記錄區(qū)206a、一緩沖器207及一回收記錄區(qū)222,以擷取多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息?;厥沼涗泤^(qū)222包括記錄目錄以及相對(duì)應(yīng)于記錄目錄的記錄內(nèi)容,記錄目錄具有多個(gè)信息區(qū)段,每一信息區(qū)段包括區(qū)域標(biāo)識(shí)、起始記錄點(diǎn)、記錄長(zhǎng)度、記錄總數(shù)以及先前版本指針,且記錄內(nèi)容包括多個(gè)地址字段群組,每一信息區(qū)段相對(duì)應(yīng)于每ー地址字段群組,每一地址字段群組包括多個(gè)地址字段?;厥沼涗泤^(qū)222可與記錄區(qū)206a整合在一起,例如將回收記錄區(qū)222設(shè)置于閃存204內(nèi)部、閃存控制器202內(nèi)部的內(nèi)存213例如相變內(nèi)存(phase change memory, PCM),或其它具永久保存性的儲(chǔ)存裝置。在步驟S304中,依據(jù)無(wú)效數(shù)據(jù)頁(yè)信息選擇數(shù)據(jù)區(qū)塊,并且多個(gè)數(shù)據(jù)區(qū)塊的有效數(shù)據(jù)頁(yè)至空白區(qū)塊。在一實(shí)施例中,選擇無(wú)效數(shù)據(jù)頁(yè)信息中具有較多無(wú)效數(shù)據(jù)頁(yè)的數(shù)據(jù)區(qū)塊進(jìn)行回收,或是選擇較多抹除次數(shù)的數(shù)據(jù)區(qū)塊進(jìn)行回收。在步驟S306中,抹除數(shù)據(jù)區(qū)塊。在步驟S308中,寫(xiě)入一筆回收記錄至回收記錄區(qū)222或記錄區(qū)206a。例如當(dāng)寫(xiě)入回收記錄至回收記錄區(qū)222吋,回收記錄區(qū)222的信息區(qū)段的區(qū)域標(biāo)識(shí)修正為”_1”,清除已被回收的區(qū)域標(biāo)識(shí)在記錄區(qū)206a中的記錄,使所述區(qū)域標(biāo)識(shí)內(nèi)的無(wú)效數(shù)據(jù)頁(yè)信息不再有效,或在下一版本之相對(duì)應(yīng)的信息區(qū)段中先前版本指標(biāo)指向零(null),中斷與回收前所述區(qū)域標(biāo)識(shí)的無(wú)效數(shù)據(jù)頁(yè)信息的連結(jié)。具體來(lái)說(shuō),當(dāng)對(duì)閃存進(jìn)行回收步驟S300 S308時(shí),閃存控制器202參考記錄區(qū)206a、緩沖器207以及回收記錄區(qū)222所記錄的無(wú)效數(shù)據(jù)頁(yè)信息,以選擇欲回收的區(qū)塊。由于閃存進(jìn)行抹除是以區(qū)塊為單位,故優(yōu)先選擇具有較多無(wú)效數(shù)據(jù)頁(yè)的區(qū)塊進(jìn)行回收,或是同時(shí)考慮區(qū)塊的抹除次數(shù),再進(jìn)行欲回收區(qū)塊的選擇,將欲回收區(qū)塊內(nèi)數(shù)據(jù)的有效數(shù)據(jù)頁(yè)復(fù)制至一空白區(qū)塊中予以保留,并抹除欲回收區(qū)塊,而欲回收區(qū)塊的無(wú)效數(shù)據(jù)頁(yè)轉(zhuǎn)換成為非無(wú)效數(shù)據(jù)頁(yè),記錄于回收記錄區(qū)222,以重置無(wú)效數(shù)據(jù)頁(yè)回收后的信息。例如于回收記錄區(qū)222的信息區(qū)段214的區(qū)域標(biāo)識(shí)214a修正為”_1”,而后的下ー筆頁(yè)地址的無(wú)效數(shù)據(jù)頁(yè)信息,其先前版本指標(biāo)214e指向零(null),或同時(shí)將最新的地址數(shù)據(jù)版本的區(qū)域標(biāo)識(shí)214a修正為”-1”,且修正起始記錄點(diǎn)214b、記錄長(zhǎng)度214c以及記錄總數(shù)214d之值修正為”-1”。本發(fā)明的閃存的無(wú)效數(shù)據(jù)頁(yè)信息的管理方法,當(dāng)閃存的有效數(shù)據(jù)頁(yè)轉(zhuǎn)變成無(wú)效數(shù)據(jù)頁(yè)時(shí),利用記錄區(qū)以及緩沖器記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息,并可快速追蹤閃存內(nèi)大量無(wú)效數(shù)據(jù)頁(yè)信息,于執(zhí)行內(nèi)存回收步驟時(shí),依據(jù)記錄區(qū)以及緩沖器記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息,快 速地選出適合回收的區(qū)塊,并且辨認(rèn)區(qū)塊中有效的頁(yè)面以進(jìn)行多個(gè)搬移動(dòng)作。綜上所述,雖然本發(fā)明已用較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書(shū)所界定者為準(zhǔn)。
權(quán)利要求
1.ー種閃存系統(tǒng),包括 一閃存控制器,具有ー微處理單兀;以及 ー閃存,耦接于所述閃存控制器,具有一保留區(qū)以及ー數(shù)據(jù)區(qū),所述保留區(qū)具有ー記錄區(qū),所述數(shù)據(jù)區(qū)具有多個(gè)有效數(shù)據(jù)頁(yè)以及多個(gè)無(wú)效資料頁(yè),所述微處理單元控制所述記錄區(qū),以記錄相對(duì)應(yīng)于所述些無(wú)效數(shù)據(jù)頁(yè)的多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息。
2.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其特征在于,所述保留區(qū)更包括一空白區(qū)塊備用區(qū),所述空白區(qū)塊備用區(qū)具有至少一空白區(qū)塊,用以?xún)?chǔ)存所述些無(wú)效數(shù)據(jù)頁(yè)信息。
3.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其特征在于,所述數(shù)據(jù)區(qū)進(jìn)ー步包括一空白區(qū)塊,用以?xún)?chǔ)存所述些無(wú)效數(shù)據(jù)頁(yè)信息。
4.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其特征在于,所述閃存控制器進(jìn)ー步包括ー緩沖器,耦接于所述微處理單元,用于暫存并累積記錄所述些無(wú)效數(shù)據(jù)頁(yè)信息,以一次寫(xiě)入所述些無(wú)效數(shù)據(jù)頁(yè)信息至所述記錄區(qū)。
5.根據(jù)權(quán)利要求所述4所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)的記錄容量系為所述緩沖器的記錄容量之整數(shù)倍。
6.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)包括一記錄目錄以及相對(duì)應(yīng)于所述記錄目錄的ー記錄內(nèi)容,所述記錄目錄具有多個(gè)信息區(qū)段,每一所述些信息區(qū)段包括一區(qū)域標(biāo)識(shí)、一起始記錄點(diǎn)、一記錄長(zhǎng)度、一記錄總數(shù)以及一先前版本指針,且所述記錄內(nèi)容包括多個(gè)地址字段群組,每一所述些信息區(qū)段相對(duì)應(yīng)于每一所述些地址字段群組。
7.根據(jù)權(quán)利要求6所述的閃存系統(tǒng),其特征在于,每一所述些信息區(qū)段的所述起始記錄點(diǎn)為相對(duì)應(yīng)的每一所述些地址字段群組與所述記錄內(nèi)容的開(kāi)始位置的字段距離。
8.根據(jù)權(quán)利要求7所述的閃存系統(tǒng),其特征在于,所述緩沖器儲(chǔ)存一目前版本的所述記錄目錄以及一目前版本的所述記錄內(nèi)容。
9.根據(jù)權(quán)利要求7所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)儲(chǔ)存至少一先前版本的所述記錄目錄以及至少一先前版本的所述記錄內(nèi)容。
10.根據(jù)權(quán)利要求7所述的閃存系統(tǒng),其特征在于,所述記錄總數(shù)表示所述記錄目錄中所述些記錄長(zhǎng)度的總和。
11.根據(jù)權(quán)利要求7所述的閃存系統(tǒng),其特征在于,所述目前版本的所述記錄目錄依據(jù)所述先前版本指標(biāo)依序連結(jié)于至少一先前版本的所述記錄目錄,以連結(jié)相同的所述區(qū)域標(biāo)識(shí)的所述些信息區(qū)段。
12.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)進(jìn)ー步包括一回收記錄區(qū),存放所述閃存系統(tǒng)之至少一回收記錄。
13.根據(jù)權(quán)利要求I所述的閃存系統(tǒng),其特征在干,進(jìn)ー步包括一非揮發(fā)性?xún)?chǔ)存裝置,存放所述閃存系統(tǒng)至少一回收記錄。
14.一種閃存系統(tǒng),包括 一閃存控制器,具有ー微處理單兀; ー閃存,耦接于所述閃存控制器,具有ー數(shù)據(jù)區(qū),所述數(shù)據(jù)區(qū)具有多個(gè)有效數(shù)據(jù)頁(yè)以及多個(gè)無(wú)效數(shù)據(jù)頁(yè);以及 ー儲(chǔ)存裝置,耦接于所述閃存控制器,具有ー記錄區(qū),用以記錄相對(duì)應(yīng)于所述些無(wú)效數(shù)據(jù)頁(yè)的多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息。
15.根據(jù)權(quán)利要求14所述的閃存系統(tǒng),其特征在于,所述閃存控制器更包括一緩沖器,耦接于所述微處理單元,用于暫存并累積記錄所述些無(wú)效數(shù)據(jù)頁(yè)信息,以一次寫(xiě)入所述些無(wú)效數(shù)據(jù)頁(yè)信息至所述記錄區(qū)。
16.根據(jù)權(quán)利要求15所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)的記錄容量為所述緩沖器的記錄容量的整數(shù)倍。
17.根據(jù)權(quán)利要求14所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)包括一記錄目錄以及相對(duì)應(yīng)于所述記錄目錄的一記錄內(nèi)容,所述記錄目錄具有多個(gè)信息區(qū)段,每一所述些信息區(qū)段包括一區(qū)域標(biāo)識(shí)、一起始記錄點(diǎn)、一記錄長(zhǎng)度、一記錄總數(shù)以及一先前版本指針,且所述記錄內(nèi)容包括多個(gè)地址字段群組,每一所述些信息區(qū)段相對(duì)應(yīng)于每一所述些地址字段群組。
18.根據(jù)權(quán)利要求17所述的閃存系統(tǒng),其特征在于,每一所述些信息區(qū)段的所。
19.根據(jù)權(quán)利要求18所述的閃存系統(tǒng),其特征在于,所述緩沖器儲(chǔ)存一目前版本的所述記錄目錄以及一目前版本的所述記錄內(nèi)容。
20.根據(jù)權(quán)利要求18所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)儲(chǔ)存至少一先前版本的所述記錄目錄以及至少一先前版本的所述記錄內(nèi)容。
21.根據(jù)權(quán)利要求18所述的閃存系統(tǒng),其特征在于,所述記錄總數(shù)表示所述記錄目錄中所述些記錄長(zhǎng)度的總和。
22.根據(jù)權(quán)利要求18所述的閃存系統(tǒng),其特征在于,所述目前版本的所述記錄目錄依據(jù)所述先前版本指標(biāo)依序連結(jié)于至少一先前版本的所述記錄目錄,以連結(jié)相同的所述區(qū)域標(biāo)識(shí)的所述些信息區(qū)段。
23.根據(jù)權(quán)利要求14所述的閃存系統(tǒng),其特征在于,所述記錄區(qū)更包括一回收記錄區(qū),存放所述閃存系統(tǒng)的至少一回收記錄。
24.根據(jù)權(quán)利要求所述14所述的閃存系統(tǒng),其特征在于,進(jìn)一步包括一非揮發(fā)性?xún)?chǔ)存裝置,存放所述閃存系統(tǒng)至少一回收記錄。
25.一種閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,所述閃存具有多個(gè)有效數(shù)據(jù)頁(yè)及多個(gè)空白頁(yè),所述管理方法包括下列步驟 (a)執(zhí)行所述些有效數(shù)據(jù)頁(yè)的數(shù)據(jù)更新步驟; (b)轉(zhuǎn)換所述些有效數(shù)據(jù)頁(yè)成為多個(gè)無(wú)效數(shù)據(jù)頁(yè),其中每一所述些無(wú)效數(shù)據(jù)頁(yè)具有一無(wú)效數(shù)據(jù)頁(yè)信息; (c)將所述些無(wú)效數(shù)據(jù)頁(yè)信息寫(xiě)入至一記錄區(qū); (d)判斷所述記錄區(qū)是否需要重整,當(dāng)需要重整執(zhí)行步驟(e),否則執(zhí)行步驟(f); (e)重整所述記錄區(qū);以及 (f)結(jié)束。
26.根據(jù)權(quán)利要求25所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,在步驟(a)中,進(jìn)一步包括寫(xiě)入所述些有效數(shù)據(jù)頁(yè)的一更新數(shù)據(jù)至所述些空白頁(yè)的步驟。
27.根據(jù)權(quán)利要求25所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,在步驟(c)中,進(jìn)一步包括利用一緩沖器暫存記錄所述些無(wú)效數(shù)據(jù)頁(yè)信息,以一次寫(xiě)入所述些無(wú)效數(shù)據(jù)頁(yè)信息至所述記錄區(qū)。
28.根據(jù)權(quán)利要求27所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,所述紀(jì)錄區(qū)包含一記錄目錄以及ー記錄內(nèi)容組成,所述記錄目錄相對(duì)應(yīng)于所述記錄內(nèi)容,且所述記錄目錄具有多個(gè)信息區(qū)段,每一所述些信息區(qū)段包括一區(qū)域標(biāo)識(shí)、一起始記錄點(diǎn)、一記錄長(zhǎng)度、一記錄總數(shù)以及一先前版本指針,所述記錄內(nèi)容包括多個(gè)群地址字段,每一所述些信息區(qū)段相對(duì)應(yīng)于一群地址字段。
29.根據(jù)權(quán)利要求28所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,所述記錄區(qū)的記錄容量為所述緩沖器的記錄容量的倍數(shù)。
30.根據(jù)權(quán)利要求28所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,在步驟(e)之前,進(jìn)ー步包括步驟(el):依據(jù)所述些區(qū)域標(biāo)識(shí)對(duì)所述緩沖器的所述記錄內(nèi)容進(jìn)行排序,以使每一所述些信息區(qū)段相對(duì)應(yīng)的每一所述些地址字段群組集中形成所述記錄長(zhǎng)度,并且使每一所述些地址字段群組依據(jù)所述些區(qū)域標(biāo)識(shí)的順序排列。
31.根據(jù)權(quán)利要求30所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,每一所述些信息區(qū)段的所述起始記錄點(diǎn)為相對(duì)應(yīng)的每一所述些地址字段群組與所述記錄內(nèi)容的開(kāi)始位置的字段距離。
32.根據(jù)權(quán)利要求30所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,所述緩沖器儲(chǔ)存一目前版本的所述記錄目錄以及一目前版本的所述記錄內(nèi)容,所述第一記錄區(qū)儲(chǔ)存至少一先前版本的所述記錄目錄以及至少一先前版本的所述記錄內(nèi)容。
33.根據(jù)權(quán)利要求32所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,所述記錄總數(shù)表示所述記錄目錄中所述些記錄長(zhǎng)度的總和。
34.根據(jù)權(quán)利要求32所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,所述目前版本的所述記錄目錄依據(jù)所述先前版本指標(biāo)依序連結(jié)于至少一先前版本的所述記錄目錄,以連結(jié)相同的所述區(qū)域標(biāo)識(shí)的所述些信息區(qū)段。
35.根據(jù)權(quán)利要求25所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,在步驟(d)中,判斷所述記錄區(qū)的記錄容量是否到達(dá)ー第一預(yù)定值,當(dāng)?shù)竭_(dá)所述第一預(yù)定值吋,執(zhí)行步驟(e),當(dāng)未到達(dá)所述第一預(yù)定值時(shí),執(zhí)行步驟(f)。
36.根據(jù)權(quán)利要求35所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,在步驟(e)中,更包括判斷所述記錄區(qū)中所述些無(wú)效數(shù)據(jù)頁(yè)信息的有效性,復(fù)制有效的所述些無(wú)效數(shù)據(jù)頁(yè)信息至所述些空白頁(yè),并且清空所述記錄區(qū)。
37.根據(jù)權(quán)利要求35所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的管理方法,其特征在于,在步驟(e)中,進(jìn)ー步包括判斷所述記錄區(qū)中所述些無(wú)效數(shù)據(jù)頁(yè)信息的有效性,之后,新的無(wú)效數(shù)據(jù)頁(yè)信息直接覆寫(xiě)于已無(wú)效的所述些無(wú)效數(shù)據(jù)頁(yè)信息。
38.一種閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,所述閃存包括多個(gè)區(qū)塊,所述些區(qū)塊包括至少一數(shù)據(jù)區(qū)塊及至少一空白區(qū)塊,所述數(shù)據(jù)區(qū)塊包括多個(gè)無(wú)效數(shù)據(jù)頁(yè)及多個(gè)有效數(shù)據(jù)頁(yè),所述回收方法包括下列步驟 (a)觸發(fā)一回收程序; (b)讀取所述閃存中ー記錄區(qū),以擷取多個(gè)無(wú)效數(shù)據(jù)頁(yè)信息; (c)依據(jù)所述些無(wú)效數(shù)據(jù)頁(yè)信息選擇所述數(shù)據(jù)區(qū)塊,并且復(fù)制所述數(shù)據(jù)區(qū)塊的所述些有效數(shù)據(jù)頁(yè)至所述空白區(qū)塊;以及 (d)抹除所述數(shù)據(jù)區(qū)塊,以使所述些無(wú)效數(shù)據(jù)頁(yè)轉(zhuǎn)換成為非無(wú)效數(shù)據(jù)頁(yè)。
39.根據(jù)權(quán)利要求38所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,其特征在于,所述記錄區(qū)進(jìn)ー步包括回收記錄區(qū)。
40.根據(jù)權(quán)利要求39所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,其特征在于,所述回收記錄區(qū)包括一記錄目錄以及相對(duì)應(yīng)于所述記錄目錄的ー記錄內(nèi)容,所述記錄目錄具有多個(gè)信息區(qū)段,每一所述些信息區(qū)段包括所述區(qū)域標(biāo)識(shí)、所述起始記錄點(diǎn)、所述記錄長(zhǎng)度、所述記錄總數(shù)以及所述先前版本指針,且所述記錄內(nèi)容包括多個(gè)地址字段群組,每一所述些信息區(qū)段相對(duì)應(yīng)于每一所述些地址字段群組,每一地址字段群組包括多個(gè)地址字段。
41.根據(jù)權(quán)利要求40所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,其特征在于,在步驟(c)中,選擇所述些無(wú)效數(shù)據(jù)頁(yè)信息中具有較多無(wú)效數(shù)據(jù)頁(yè)的所述數(shù)據(jù)區(qū)塊進(jìn)行回收,或是選擇較多抹除次數(shù)的所述數(shù)據(jù)區(qū)塊進(jìn)行回收。
42.根據(jù)權(quán)利要求40所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,其特征在于,所述回收記錄區(qū)的信息區(qū)段的區(qū)域標(biāo)識(shí)修正為”-I”。
43.根據(jù)權(quán)利要求40所述的閃存的無(wú)效數(shù)據(jù)頁(yè)的回收方法,其特征在于,所述回收記錄區(qū)的信息區(qū)段的下一版本的相對(duì)應(yīng)的信息區(qū)段中所述先前版本指標(biāo)指向零。
全文摘要
本發(fā)明提供一種閃存系統(tǒng)及其閃存無(wú)效數(shù)據(jù)頁(yè)信息的管理方法與回收方法,當(dāng)閃存的有效數(shù)據(jù)頁(yè)轉(zhuǎn)變成無(wú)效數(shù)據(jù)頁(yè)時(shí),利用第一記錄區(qū)記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)的信息,以有效回收閃存大量無(wú)效數(shù)據(jù)頁(yè)的空間。并且于執(zhí)行內(nèi)存回收步驟時(shí),依據(jù)所述第一記錄區(qū)記錄多個(gè)無(wú)效數(shù)據(jù)頁(yè)的信息,以快速地選出適合清除的區(qū)塊,并且辨認(rèn)該區(qū)塊中有效的頁(yè)以進(jìn)行復(fù)制搬移的動(dòng)作。
文檔編號(hào)G06F12/02GK102768644SQ20111018866
公開(kāi)日2012年11月7日 申請(qǐng)日期2011年7月7日 優(yōu)先權(quán)日2011年5月6日
發(fā)明者盧永豐, 張?jiān)? 張家麟, 謝仁偉, 黃柏鈞 申請(qǐng)人:創(chuàng)惟科技股份有限公司