專利名稱::數(shù)據(jù)合并方法、控制器與儲(chǔ)存裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種用于可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的數(shù)據(jù)合并方法及使用此方法的存儲(chǔ)器控制器與存儲(chǔ)器儲(chǔ)存裝置。
背景技術(shù):
:數(shù)字相機(jī)、手機(jī)與MP3在這幾年來的成長(zhǎng)十分迅速,使得消費(fèi)者對(duì)儲(chǔ)存媒體的需求也急速增加。由于可復(fù)寫式非揮發(fā)性存儲(chǔ)器(rewritablenon-volatilememory)具有數(shù)據(jù)非揮發(fā)性、省電、體積小、無機(jī)械結(jié)構(gòu)、讀寫速度快等特性,最適于可攜式電子產(chǎn)品,例如筆記型電腦。固態(tài)硬盤就是一種以快閃存儲(chǔ)器模塊作為儲(chǔ)存媒體的儲(chǔ)存裝置。因此,近年快閃存儲(chǔ)器產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當(dāng)熱門的一環(huán)??扉W存儲(chǔ)器模塊具有多個(gè)實(shí)體區(qū)塊(physicalblock),且每一實(shí)體區(qū)塊具有多個(gè)實(shí)體頁(yè)面(physicalpage),其中在實(shí)體區(qū)塊中寫入數(shù)據(jù)時(shí)必須依據(jù)實(shí)體頁(yè)面的順序依序地寫入數(shù)據(jù)。此外,已被寫入數(shù)據(jù)的實(shí)體頁(yè)面必需先被擦除后才能再次用于寫入數(shù)據(jù)。特別是,實(shí)體區(qū)塊為擦除的最小單位,并且實(shí)體頁(yè)面為程式化(亦稱寫入)的最小單元。因此,一般來說,在快閃存儲(chǔ)器模塊的管理中,實(shí)體區(qū)塊至少會(huì)被區(qū)分為數(shù)據(jù)區(qū)(dataarea)與閑置區(qū)(freearea)。數(shù)據(jù)區(qū)的實(shí)體區(qū)塊(亦稱為數(shù)據(jù)實(shí)體區(qū)塊)是用以儲(chǔ)存主機(jī)系統(tǒng)所儲(chǔ)存的數(shù)據(jù)。具體來說,存儲(chǔ)器管理電路會(huì)將主機(jī)系統(tǒng)所存取的邏輯存取位址轉(zhuǎn)換為邏輯區(qū)塊的邏輯頁(yè)面并且將邏輯區(qū)塊的邏輯頁(yè)面映射至數(shù)據(jù)區(qū)的實(shí)體區(qū)塊的實(shí)體頁(yè)面。也就是說,在快閃存儲(chǔ)器模塊的管理中,數(shù)據(jù)區(qū)的實(shí)體區(qū)塊是被視為已被使用的實(shí)體區(qū)塊(例如,已儲(chǔ)存主機(jī)系統(tǒng)所寫入的數(shù)據(jù))。例如,存儲(chǔ)器管理電路會(huì)使用邏輯區(qū)塊-實(shí)體區(qū)塊映射表來記載邏輯區(qū)塊與數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之間的映射關(guān)系,其中邏輯區(qū)塊中的邏輯頁(yè)面是依序的對(duì)應(yīng)所映射的實(shí)體區(qū)塊的實(shí)體頁(yè)面。閑置區(qū)的實(shí)體區(qū)塊(亦稱為閑置實(shí)體區(qū)塊)是用以輪替數(shù)據(jù)區(qū)中的實(shí)體區(qū)塊。具體來說,如上所述,已寫入數(shù)據(jù)的實(shí)體區(qū)塊必須被擦除后才可再次用于寫入數(shù)據(jù),而閑置區(qū)的實(shí)體區(qū)塊是被設(shè)計(jì)用于寫入更新數(shù)據(jù)以替換原先映射邏輯區(qū)塊的實(shí)體區(qū)塊?;耍陂e置區(qū)中的實(shí)體區(qū)塊為空或可使用的實(shí)體區(qū)塊,即無記錄數(shù)據(jù)或標(biāo)記為已沒用的無效數(shù)據(jù)。也就是說,數(shù)據(jù)區(qū)與閑置區(qū)的實(shí)體區(qū)塊的實(shí)體頁(yè)面是以輪替方式來映射邏輯區(qū)塊的邏輯頁(yè)面,以儲(chǔ)存主機(jī)系統(tǒng)所寫入的數(shù)據(jù)。例如,當(dāng)主機(jī)系統(tǒng)欲寫入更新頁(yè)面數(shù)據(jù)的邏輯存取位址是對(duì)應(yīng)儲(chǔ)存裝置的某一邏輯區(qū)塊的某一邏輯頁(yè)面時(shí),儲(chǔ)存裝置的存儲(chǔ)器管理電路會(huì)從閑置區(qū)中提取一個(gè)實(shí)體區(qū)塊作為對(duì)應(yīng)此邏輯區(qū)塊的日志(log)實(shí)體區(qū)塊,并且將此更新數(shù)據(jù)寫入至此日志實(shí)體區(qū)塊的實(shí)體頁(yè)面中,由此縮短執(zhí)行寫入指令的時(shí)間。之后,當(dāng)閑置區(qū)的實(shí)體區(qū)塊快耗盡時(shí),存儲(chǔ)器管理電路會(huì)對(duì)此邏輯區(qū)塊執(zhí)行數(shù)據(jù)合并(Merge)程序。例如,在數(shù)據(jù)合并程序中,存儲(chǔ)器管理電路會(huì)從閑置區(qū)中提取一個(gè)實(shí)體區(qū)塊作為新數(shù)據(jù)實(shí)體區(qū)塊,將屬于此邏輯區(qū)塊的所有最新頁(yè)面數(shù)據(jù)寫入至此新數(shù)據(jù)實(shí)體區(qū)塊中并且將此邏輯區(qū)塊重新映射至此實(shí)體區(qū)塊。如上所述,在數(shù)據(jù)合并程序中,存儲(chǔ)器管理電路必須將屬于同一個(gè)邏輯區(qū)塊的所有數(shù)據(jù)搬移(即,復(fù)制)至空的實(shí)體區(qū)塊中,由此,執(zhí)行數(shù)據(jù)合并程序會(huì)相當(dāng)耗時(shí)并影響快閃存儲(chǔ)器儲(chǔ)存裝置的存取效能。因此,縮短執(zhí)行數(shù)據(jù)合并程序所需的時(shí)間,是此領(lǐng)域技術(shù)人員所致力的目標(biāo)。
發(fā)明內(nèi)容本發(fā)明提供一種數(shù)據(jù)合并方法、存儲(chǔ)器控制器與存儲(chǔ)器儲(chǔ)存裝置,其能夠有效縮短執(zhí)行數(shù)據(jù)合并程序所需的時(shí)間。本發(fā)明范例實(shí)施例提出一種數(shù)據(jù)合并方法,用于在可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于第一邏輯區(qū)塊的數(shù)據(jù),其中此可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊具有多個(gè)實(shí)體區(qū)塊,每一實(shí)體區(qū)塊具有依序排列的多個(gè)實(shí)體頁(yè)面,這些實(shí)體區(qū)塊至少被分組為數(shù)據(jù)區(qū)與閑置區(qū),數(shù)據(jù)區(qū)的實(shí)體區(qū)塊映射多個(gè)邏輯區(qū)塊,每一邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面,上述第一邏輯區(qū)塊為這些邏輯區(qū)塊的其中之一,并且第一邏輯區(qū)塊映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊之中的第一實(shí)體區(qū)塊。本數(shù)據(jù)合并方法包括從閑置區(qū)的實(shí)體區(qū)塊中選擇第二實(shí)體區(qū)塊并且判斷對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)是否小于預(yù)先定義數(shù)目。本數(shù)據(jù)合并方法也包括,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且將屬于第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中。本數(shù)據(jù)合并方法還包括將第一邏輯區(qū)塊重新映射至第二實(shí)體區(qū)塊。在此,上述有效頁(yè)面數(shù)據(jù)屬于第一邏輯區(qū)塊的至少一有效邏輯頁(yè)面,邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表記錄第一邏輯區(qū)塊的有效邏輯頁(yè)面與用以寫入有效頁(yè)面數(shù)據(jù)的實(shí)體頁(yè)面之間的映射關(guān)系。在本發(fā)明的一實(shí)施例中,上述的將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的部分實(shí)體頁(yè)面中的步驟包括接續(xù)于上述啟始實(shí)體頁(yè)面,將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)合并方法還包括在將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中之后,在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中標(biāo)記映射第一邏輯區(qū)塊的第二實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)為部分有效狀態(tài)。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)合并方法還包括根據(jù)至少一整理指令識(shí)別第一邏輯區(qū)塊的邏輯頁(yè)面之中的至少一無效邏輯頁(yè)面。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)合并方法還包括,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)不小于預(yù)先定義數(shù)目時(shí),將屬于第一邏輯區(qū)塊的多筆頁(yè)面數(shù)據(jù)依序地寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中。在本發(fā)明的一實(shí)施例中,上述的數(shù)據(jù)合并方法還包括,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,其中此實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表記錄用以寫入有效頁(yè)面數(shù)據(jù)的實(shí)體頁(yè)面與第一邏輯區(qū)塊的有效邏輯頁(yè)面之間的映射關(guān)系。本發(fā)明范例實(shí)施例提出一種存儲(chǔ)器控制器,用于控制可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊,其中此可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊具有多個(gè)實(shí)體區(qū)塊,并且每一實(shí)體區(qū)塊具有依序排列的多個(gè)實(shí)體頁(yè)面。本存儲(chǔ)器控制器包括主機(jī)界面、存儲(chǔ)器界面與存儲(chǔ)器管理電路。主機(jī)界面用以電性連接至主機(jī)系統(tǒng)。存儲(chǔ)器界面用以電性連接至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊。存儲(chǔ)器管理電路電性連接至主機(jī)界面與存儲(chǔ)器界面,并且用以在可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于第一邏輯區(qū)塊的數(shù)據(jù)。在此,存儲(chǔ)器管理電路將這些實(shí)體區(qū)塊至少分組為數(shù)據(jù)區(qū)與閑置區(qū),并且配置多個(gè)邏輯區(qū)塊以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,其中每一邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面,上述第一邏輯區(qū)塊為這些邏輯區(qū)塊的其中之一,并且第一邏輯區(qū)塊映射數(shù)據(jù)區(qū)中的第一實(shí)體區(qū)塊。此外,存儲(chǔ)器管理電路從閑置區(qū)的實(shí)體區(qū)塊中選擇第二實(shí)體區(qū)塊,并且判斷對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)是否小于預(yù)先定義數(shù)目。當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),存儲(chǔ)器管理電路在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且將屬于第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中。再者,存儲(chǔ)器管理電路將第一邏輯區(qū)塊重新映射至第二實(shí)體區(qū)塊,其中上述有效頁(yè)面數(shù)據(jù)屬于第一邏輯區(qū)塊的邏輯頁(yè)面之中的至少一有效邏輯頁(yè)面,并且邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表記錄第一邏輯區(qū)塊的有效邏輯頁(yè)面與用以寫入有效頁(yè)面數(shù)據(jù)的實(shí)體頁(yè)面之間的映射關(guān)系。在本發(fā)明的一實(shí)施例中,上述的存儲(chǔ)器管理電路,接續(xù)于啟始實(shí)體頁(yè)面,將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中。在本發(fā)明的一實(shí)施例中,在將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中之后,存儲(chǔ)器管理電路在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中標(biāo)記映射第一邏輯區(qū)塊的第二實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)為部分有效狀態(tài)。在本發(fā)明的一實(shí)施例中,上述的存儲(chǔ)器管理電路根據(jù)來自于主機(jī)系統(tǒng)的至少一整理指令識(shí)別第一邏輯區(qū)塊的邏輯頁(yè)面之中的至少一無效邏輯頁(yè)面。在本發(fā)明的一實(shí)施例中,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)不小于預(yù)先定義數(shù)目時(shí),存儲(chǔ)器管理電路將屬于第一邏輯區(qū)塊的多筆頁(yè)面數(shù)據(jù)依序地寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中。在本發(fā)明的一實(shí)施例中,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),存儲(chǔ)器管理電路更在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,其中此實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表記錄用以寫入有效頁(yè)面數(shù)據(jù)的實(shí)體頁(yè)面與第一邏輯區(qū)塊的有效邏輯頁(yè)面之間的映射關(guān)系。本發(fā)明范例實(shí)施例提出一種存儲(chǔ)器儲(chǔ)存裝置,其包連接器、可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊與存儲(chǔ)器控制器。連接器用以電性連接至主機(jī)系統(tǒng)??蓮?fù)寫式非揮發(fā)性存儲(chǔ)器模塊具有多個(gè)實(shí)體區(qū)塊,其中每一實(shí)體區(qū)塊具有依序排列的多個(gè)實(shí)體頁(yè)面。存儲(chǔ)器控制器電性連接至連接器與可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊,并且用以在可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于第一邏輯區(qū)塊的數(shù)據(jù)。在此,存儲(chǔ)器控制器將這些實(shí)體區(qū)塊至少分組為數(shù)據(jù)區(qū)與閑置區(qū),并且配置多個(gè)邏輯區(qū)塊以映射數(shù)據(jù)區(qū)的實(shí)體區(qū)塊,其中每一邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面,上述第一邏輯區(qū)塊為這些邏輯區(qū)塊的其中之一,并且第一邏輯區(qū)塊映射數(shù)據(jù)區(qū)中的第一實(shí)體區(qū)塊。此外,存儲(chǔ)器控制器從閑置區(qū)的實(shí)體區(qū)塊中選擇第二實(shí)體區(qū)塊,并且判斷對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)是否小于預(yù)先定義數(shù)目。當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),存儲(chǔ)器控制器在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且將屬于第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中。再者,存儲(chǔ)器控制器將第一邏輯區(qū)塊重新映射至第二實(shí)體區(qū)塊,其中上述有效頁(yè)面數(shù)據(jù)屬于第一邏輯區(qū)塊的邏輯頁(yè)面之中的至少一有效邏輯頁(yè)面,并且邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表記錄第一邏輯區(qū)塊的有效邏輯頁(yè)面與用以寫入有效頁(yè)面數(shù)據(jù)的實(shí)體頁(yè)面之間的多個(gè)映射關(guān)系。在本發(fā)明的一實(shí)施例中,上述的存儲(chǔ)器控制器,接續(xù)于啟始實(shí)體頁(yè)面,將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中。在本發(fā)明的一實(shí)施例中,上述的其中在將屬于第一邏輯區(qū)塊的有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中之后,存儲(chǔ)器控制器在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中標(biāo)記映射第一邏輯區(qū)塊的第二實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)為部分有效狀態(tài)。在本發(fā)明的一實(shí)施例中,上述的存儲(chǔ)器控制器根據(jù)來自于主機(jī)系統(tǒng)的至少一整理指令識(shí)別第一邏輯區(qū)塊的邏輯頁(yè)面之中的至少一無效邏輯頁(yè)面。在本發(fā)明的一實(shí)施例中,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)不小于預(yù)先定義數(shù)目時(shí),存儲(chǔ)器控制器將屬于第一邏輯區(qū)塊的多筆頁(yè)面數(shù)據(jù)依序地寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中。在本發(fā)明的一實(shí)施例中,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),存儲(chǔ)器控制器更在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,其中此實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表記錄用以寫入有效頁(yè)面數(shù)據(jù)的實(shí)體頁(yè)面與第一邏輯區(qū)塊的有效邏輯頁(yè)面之間的映射關(guān)系?;谏鲜觯景l(fā)明范例實(shí)施例的數(shù)據(jù)合并方法、存儲(chǔ)器控制器與存儲(chǔ)器儲(chǔ)存裝使能夠有效地縮短執(zhí)行數(shù)據(jù)合并程序的時(shí)間。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說明如下。圖IA是根據(jù)本發(fā)明范例實(shí)施例顯示主機(jī)系統(tǒng)與存儲(chǔ)器儲(chǔ)存裝置。圖IB是根據(jù)本發(fā)明范例實(shí)施例所顯示的電腦、輸入/輸出裝置與存儲(chǔ)器儲(chǔ)存裝置的示意圖。圖IC是根據(jù)本發(fā)明另一范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲(chǔ)器儲(chǔ)存裝置的示意圖。圖2是顯示圖IA所示的存儲(chǔ)器儲(chǔ)存裝置的概要方框圖。圖3是根據(jù)本發(fā)明范例實(shí)施例所顯示的存儲(chǔ)器控制器的概要方框圖。圖4A與圖4B是根據(jù)本發(fā)明范例實(shí)施例所顯示管理可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的實(shí)體區(qū)塊的示意圖。圖5圖7是根據(jù)本發(fā)明范例實(shí)施例所顯示的寫入數(shù)據(jù)至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的范例。圖8是根據(jù)本發(fā)明范例實(shí)施例所顯示的執(zhí)行數(shù)據(jù)合并程序的范例。圖9與圖10是根據(jù)圖8所示的狀態(tài)所顯示的邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表的范例。圖11是根據(jù)另一范例所顯示的實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表。圖12是根據(jù)本發(fā)明范例實(shí)施例所顯示的執(zhí)行數(shù)據(jù)合并程序的另一范例。圖13是根據(jù)本發(fā)明范例實(shí)施例所顯示的數(shù)據(jù)合并方法的流程圖。附圖標(biāo)記1000:主機(jī)系統(tǒng)1100:電腦1102:微處理器1104:隨機(jī)存取存儲(chǔ)器1106:輸入/輸出裝置1108:系統(tǒng)匯流排1110:數(shù)據(jù)傳輸界面1202:鼠標(biāo)1204:鍵盤1206:顯示器1208:印表機(jī)1212:隨身碟1214:記憶卡1216:固態(tài)硬盤1310:數(shù)字相機(jī)1312SD卡1314:MMC卡1316:記憶棒1318:CF卡1320:嵌入式儲(chǔ)存裝置100:存儲(chǔ)器儲(chǔ)存裝置102:連接器104:存儲(chǔ)器控制器106:可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊202:存儲(chǔ)器管理電路204:主機(jī)界面206:存儲(chǔ)器界面252:緩沖存儲(chǔ)器254:電源管理電路256:錯(cuò)誤檢查與校正電路502:數(shù)據(jù)區(qū)504:閑置區(qū)、506:系統(tǒng)區(qū)508:取代區(qū)410(0)410(N):實(shí)體區(qū)塊610(0)610(H):邏輯區(qū)塊710(0)710(K):邏輯存取位址S1301、S1303、S1305、S1307、S1309、S1311、S1313:數(shù)據(jù)合并的步驟具體實(shí)施例方式一般而言,存儲(chǔ)器儲(chǔ)存裝置(亦稱,存儲(chǔ)器儲(chǔ)存系統(tǒng))包括可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊與控制器(亦稱,控制電路)。通常存儲(chǔ)器儲(chǔ)存裝置是與主機(jī)系統(tǒng)一起使用,以使主機(jī)系統(tǒng)可將數(shù)據(jù)寫入至存儲(chǔ)器儲(chǔ)存裝置或從存儲(chǔ)器儲(chǔ)存裝置中讀取數(shù)據(jù)。圖IA是根據(jù)本發(fā)明范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲(chǔ)器儲(chǔ)存裝置。請(qǐng)參照?qǐng)D1A,主機(jī)系統(tǒng)1000—般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機(jī)存儲(chǔ)器(randomaccessmemory,RAM)1104、系統(tǒng)匯流排1108與數(shù)據(jù)傳輸界面1110。輸入/輸出裝置1106包括如圖IB的鼠標(biāo)1202、鍵盤1204、顯示器1206與印表機(jī)1208。必須了解的是,圖IB所示的裝置非限制輸A/輸出裝置1106,輸入/輸出裝置1106可還包括其他裝置。在本發(fā)明實(shí)施例中,存儲(chǔ)器儲(chǔ)存裝置100是透過數(shù)據(jù)傳輸界面1110與主機(jī)系統(tǒng)1000的其他元件電性連接。藉由微處理器1102、隨機(jī)存取存儲(chǔ)器1104與輸入/輸出裝置1106的運(yùn)作可將數(shù)據(jù)寫入至存儲(chǔ)器儲(chǔ)存裝置100或從存儲(chǔ)器儲(chǔ)存裝置100中讀取數(shù)據(jù)。例如,存儲(chǔ)器儲(chǔ)存裝置100可以是如圖IB所示的隨身碟1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216等的可復(fù)寫式非揮發(fā)性存儲(chǔ)器儲(chǔ)存裝置。一般而言,主機(jī)系統(tǒng)1000可實(shí)質(zhì)地為可與存儲(chǔ)器儲(chǔ)存裝置100配合以儲(chǔ)存數(shù)據(jù)的任意系統(tǒng)。雖然在本范例實(shí)施例中,主機(jī)系統(tǒng)1000是以電腦系統(tǒng)來作說明,然而,在本發(fā)明另一范例實(shí)施例中主機(jī)系統(tǒng)1000可以是數(shù)字相機(jī)、攝影機(jī)、通信裝置、音訊播放器或視訊播放器等系統(tǒng)。例如,在主機(jī)系統(tǒng)為數(shù)字相機(jī)(攝影機(jī))1310時(shí),可復(fù)寫式非揮發(fā)性存儲(chǔ)器儲(chǔ)存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memorystick)1316、CF卡1318或嵌入式儲(chǔ)存裝置1320(如圖IC所示)。嵌入式儲(chǔ)存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機(jī)系統(tǒng)的基板上。圖2是顯示圖IA所示的存儲(chǔ)器儲(chǔ)存裝置的概要方框圖。請(qǐng)參照?qǐng)D2,存儲(chǔ)器儲(chǔ)存裝置100包括連接器102、存儲(chǔ)器控制器104與可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106。在本范例實(shí)施例中,連接器102是相容于串行先進(jìn)附件(SerialAdvancedTechnologyAttachment,SATA)標(biāo)準(zhǔn)。然而,必須了解的是,本發(fā)明不限于此,連接器102亦可以是符合電氣和電子工程師協(xié)會(huì)(InstituteofElectricalandElectronicEngineers,IEEE)1394標(biāo)準(zhǔn)、高速周邊零件連接界面(PeripheralComponentInterconnectExpress,PCIExpress)標(biāo)準(zhǔn)、通用串行總線(UniversalSerialBus,USB)標(biāo)準(zhǔn)、安全數(shù)字(SecureDigital,SD)界面標(biāo)準(zhǔn)、記憶棒(MemoryStick,MS)界面標(biāo)準(zhǔn)、多媒體儲(chǔ)存卡(MultiMediaCard,MMC)界面標(biāo)準(zhǔn)、小型快閃(CompactFlash,CF)界面標(biāo)準(zhǔn)、集成驅(qū)動(dòng)電子界面(IntegratedDeviceElectronics,IDE)標(biāo)準(zhǔn)或其他適合的標(biāo)準(zhǔn)。存儲(chǔ)器控制器104用以執(zhí)行以硬件形式或軟件形式實(shí)現(xiàn)的多個(gè)邏輯閘或控制指令,并且根據(jù)主機(jī)系統(tǒng)1000的指令在可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中進(jìn)行數(shù)據(jù)的寫入、讀取、擦除與合并等運(yùn)作??蓮?fù)寫式非揮發(fā)性存儲(chǔ)器模塊106是電性連接至存儲(chǔ)器控制器104,并且具有多個(gè)實(shí)體區(qū)塊以儲(chǔ)存主機(jī)系統(tǒng)1000所寫入的數(shù)據(jù)。在本范例實(shí)施例中,每一實(shí)體區(qū)塊分別具有復(fù)數(shù)個(gè)實(shí)體頁(yè)面,其中屬于同一個(gè)實(shí)體區(qū)塊的實(shí)體頁(yè)面可被獨(dú)立地寫入且被同時(shí)地擦除。例如,每一實(shí)體區(qū)塊是由128個(gè)實(shí)體頁(yè)面所組成,并且每一實(shí)體頁(yè)面的容量為4千字節(jié)(Kilobyte,KB)。然而,必須了解的是,本發(fā)明不限于此,每一實(shí)體區(qū)塊是可由64個(gè)實(shí)體頁(yè)面、256個(gè)實(shí)體頁(yè)面或其他任意個(gè)實(shí)體頁(yè)面所組成。更詳細(xì)來說,實(shí)體區(qū)塊為擦除的最小單位。亦即,每一實(shí)體區(qū)塊含有最小數(shù)目之一并被擦除的記憶胞。實(shí)體頁(yè)面為程式化的最小單元。即,實(shí)體頁(yè)面為寫入數(shù)據(jù)的最小單元。然而,必須了解的是,在本發(fā)明另一范例實(shí)施例中,寫入數(shù)據(jù)的最小單位亦可以是實(shí)體扇區(qū)或其他大小。每一實(shí)體頁(yè)面通常包括數(shù)據(jù)位元區(qū)與冗余位元區(qū)。數(shù)據(jù)位元區(qū)用以儲(chǔ)存使用者的數(shù)據(jù),而冗余位元區(qū)用以儲(chǔ)存系統(tǒng)的數(shù)據(jù)(例如,錯(cuò)誤檢查與校正碼)。在本范例實(shí)施例中,可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106為多階記憶胞(MultiLevelCell,MLC)NAND快閃存儲(chǔ)器模塊。然而,本發(fā)明不限于此,可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106亦可是單階記憶胞(SingleLevelCell,SLC)NAND快閃存儲(chǔ)器模塊、其他快閃存儲(chǔ)器模塊或其他具有相同特性的存儲(chǔ)器模塊。圖3是根據(jù)本發(fā)明范例實(shí)施例所顯示的存儲(chǔ)器控制器的概要方框圖。請(qǐng)參照?qǐng)D3,存儲(chǔ)器控制器104包括存儲(chǔ)器管理電路202、主機(jī)界面204與存儲(chǔ)器界面206。存儲(chǔ)器管理電路202用以控制存儲(chǔ)器控制器104的整體運(yùn)作。具體來說,存儲(chǔ)器管理電路202具有多個(gè)控制指令,并且在存儲(chǔ)器儲(chǔ)存裝置100運(yùn)作時(shí),這些控制指令會(huì)被執(zhí)行以根據(jù)本范例實(shí)施例的數(shù)據(jù)合并方法來整理可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中的有效數(shù)據(jù)。在本范例實(shí)施例中,存儲(chǔ)器管理電路202的控制指令是以軟件型式來實(shí)作。例如,存儲(chǔ)器管理電路202具有微處理器單元(未示出)與只讀存儲(chǔ)器(未示出),并且這些控制指令是被燒錄至此只讀存儲(chǔ)器中。當(dāng)存儲(chǔ)器儲(chǔ)存裝置100運(yùn)作時(shí),這些控制指令會(huì)由微處理器單元來執(zhí)行以進(jìn)行數(shù)據(jù)的寫入、讀取與擦除等運(yùn)作。在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器管理電路202的控制指令亦可以程式碼型式儲(chǔ)存于可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的特定區(qū)域(例如,存儲(chǔ)器模塊中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲(chǔ)器管理電路202具有微處理器單元(未示出)、只讀存儲(chǔ)器(未示出)及隨機(jī)存取存儲(chǔ)器(未示出)。特別是,此只讀存儲(chǔ)器具有驅(qū)動(dòng)碼段,并且當(dāng)存儲(chǔ)器控制器104被使能時(shí),微處理器單元會(huì)先執(zhí)行此驅(qū)動(dòng)碼段來將儲(chǔ)存于可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中的控制指令載入至存儲(chǔ)器管理電路202的隨機(jī)存取存儲(chǔ)器中。之后,微處理器單元會(huì)運(yùn)轉(zhuǎn)這些控制指令以進(jìn)行數(shù)據(jù)的寫入、讀取與擦除等運(yùn)作。此外,在本發(fā)明另一范例實(shí)施例中,存儲(chǔ)器管理電路202的控制指令亦可以一硬件型式來實(shí)作。主機(jī)界面204是電性連接至存儲(chǔ)器管理電路202并且用以接收與識(shí)別主機(jī)系統(tǒng)1000所傳送的指令與數(shù)據(jù)。也就是說,主機(jī)系統(tǒng)1000所傳送的指令與數(shù)據(jù)會(huì)透過主機(jī)界面204來傳送至存儲(chǔ)器管理電路202。在本范例實(shí)施例中,主機(jī)界面204是相容于SATA標(biāo)準(zhǔn)。然而,必須了解的是本發(fā)明不限于此,主機(jī)界面204亦可以是相容于PATA標(biāo)準(zhǔn)、IEEE1394標(biāo)準(zhǔn)、PCIExpress標(biāo)準(zhǔn)、USB標(biāo)準(zhǔn)、SD標(biāo)準(zhǔn)、MS標(biāo)準(zhǔn)、MMC標(biāo)準(zhǔn)、CF標(biāo)準(zhǔn)、IDE標(biāo)準(zhǔn)或其他適合的數(shù)據(jù)傳輸標(biāo)準(zhǔn)。存儲(chǔ)器界面206是電性連接至存儲(chǔ)器管理電路202并且用以存取可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106。也就是說,欲寫入至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的數(shù)據(jù)會(huì)經(jīng)由存儲(chǔ)器界面206轉(zhuǎn)換為可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106所能接受的格式。在本發(fā)明一范例實(shí)施例中,存儲(chǔ)器控制器104還包括緩沖存儲(chǔ)器252。緩沖存儲(chǔ)器252是電性連接至存儲(chǔ)器管理電路202并且用以暫存來自于主機(jī)系統(tǒng)1000的數(shù)據(jù)與指令或來自于可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106的數(shù)據(jù)。在本發(fā)明一范例實(shí)施例中,存儲(chǔ)器控制器104還包括電源管理電路254。電源管理電路254是電性連接至存儲(chǔ)器管理電路202并且用以控制存儲(chǔ)器儲(chǔ)存裝置100的電源。在本發(fā)明一范例實(shí)施例中,存儲(chǔ)器控制器104還包括錯(cuò)誤檢查與校正電路256。錯(cuò)誤檢查與校正電路256是電性連接至存儲(chǔ)器管理電路202并且用以執(zhí)行錯(cuò)誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來說,當(dāng)存儲(chǔ)器管理電路202從主機(jī)系統(tǒng)1000中接收到寫入指令時(shí),錯(cuò)誤檢查與校正電路256會(huì)為對(duì)應(yīng)此寫入指令的數(shù)據(jù)產(chǎn)生對(duì)應(yīng)的錯(cuò)誤檢查與校正碼(ErrorCheckingandCorrectingCode,ECCCode),并且存儲(chǔ)器管理電路202會(huì)將對(duì)應(yīng)此寫入指令的數(shù)據(jù)與對(duì)應(yīng)的錯(cuò)誤檢查與校正碼寫入至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中。之后,當(dāng)存儲(chǔ)器管理電路202從可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106中讀取數(shù)據(jù)時(shí)會(huì)同時(shí)讀取此數(shù)據(jù)對(duì)應(yīng)的錯(cuò)誤檢查與校正碼,并且錯(cuò)誤檢查與校正電路256會(huì)依據(jù)此錯(cuò)誤檢查與校正碼對(duì)所讀取的數(shù)據(jù)執(zhí)行錯(cuò)誤檢查與校正程序。圖4A與圖4B是根據(jù)本發(fā)明范例實(shí)施例所顯示管理可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的實(shí)體區(qū)塊的示意圖。請(qǐng)參照?qǐng)D4A,可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊106具有實(shí)體區(qū)塊410(0)410(N),并且存儲(chǔ)器控制器104的存儲(chǔ)器管理電路202會(huì)將實(shí)體區(qū)塊410(0)410-(N)邏輯地分組為數(shù)據(jù)區(qū)(dataarea)502、閑置區(qū)(freearea)504、系統(tǒng)區(qū)(systemarea)506與取代區(qū)(replacementarea)508。邏輯上屬于數(shù)據(jù)區(qū)502與閑置區(qū)504的實(shí)體區(qū)塊是用以儲(chǔ)存來自于主機(jī)系統(tǒng)1000的數(shù)據(jù)。具體來說,數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊(亦稱為數(shù)據(jù)實(shí)體區(qū)塊)是被視為已儲(chǔ)存數(shù)據(jù)的實(shí)體區(qū)塊,而閑置區(qū)504的實(shí)體區(qū)塊(亦稱為閑置實(shí)體區(qū)塊)是用以寫入新數(shù)據(jù)的實(shí)體區(qū)塊。例如,當(dāng)從主機(jī)系統(tǒng)1000接收到寫入指令與欲寫入的數(shù)據(jù)時(shí),存儲(chǔ)器管理電路202會(huì)從閑置區(qū)504中提取實(shí)體區(qū)塊作為日志(log)實(shí)體區(qū)塊,并且將數(shù)據(jù)寫入至此日志實(shí)體區(qū)塊中。再例如,當(dāng)對(duì)某一邏輯區(qū)塊執(zhí)行數(shù)據(jù)合并程序時(shí),存儲(chǔ)器管理電路202會(huì)從閑置區(qū)504中提取實(shí)體區(qū)塊作為對(duì)應(yīng)此邏輯區(qū)塊的新數(shù)據(jù)實(shí)體區(qū)塊來寫入數(shù)據(jù),并且替換原先映射此邏輯區(qū)塊的數(shù)據(jù)實(shí)體區(qū)塊。邏輯上屬于系統(tǒng)區(qū)506的實(shí)體區(qū)塊是用以記錄系統(tǒng)數(shù)據(jù)。例如,系統(tǒng)數(shù)據(jù)包括關(guān)于可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的制造商與型號(hào)、可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的實(shí)體區(qū)塊數(shù)、每一實(shí)體區(qū)塊的實(shí)體頁(yè)面數(shù)等。邏輯上屬于取代區(qū)508中的實(shí)體區(qū)塊是用于壞實(shí)體區(qū)塊取代程序,以取代損壞的實(shí)體區(qū)塊。具體來說,倘若取代區(qū)508中仍存有正常的實(shí)體區(qū)塊并且數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊損壞時(shí),存儲(chǔ)器管理電路202會(huì)從取代區(qū)508中提取正常的實(shí)體區(qū)塊來更換損壞的實(shí)體區(qū)塊?;谏鲜觯诖鎯?chǔ)器儲(chǔ)存裝置100的運(yùn)作中,數(shù)據(jù)區(qū)502、閑置區(qū)504、系統(tǒng)區(qū)506與取代區(qū)508的實(shí)體區(qū)塊會(huì)動(dòng)態(tài)地變動(dòng)。例如,用以輪替儲(chǔ)存數(shù)據(jù)的實(shí)體區(qū)塊會(huì)變動(dòng)地屬于數(shù)據(jù)區(qū)502或閑置區(qū)504。值得一提的是,在本范例實(shí)施例中,存儲(chǔ)器管理電路202是以每一實(shí)體區(qū)塊為單位來進(jìn)行管理。然而,本發(fā)明不限于此,在另一范例實(shí)施例中,存儲(chǔ)器管理電路202亦可將實(shí)體區(qū)塊分組為多個(gè)實(shí)體單元,并且以實(shí)體單元為單位來進(jìn)行管理。例如,每一實(shí)體單元可由同一存儲(chǔ)器子模塊或不同存儲(chǔ)器子模塊中的至少一個(gè)實(shí)體區(qū)塊所組成。請(qǐng)參照?qǐng)D4B,存儲(chǔ)器管理電路202會(huì)配置邏輯區(qū)塊610(0)610(H)以映射數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊,其中每一邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面并且這些邏輯頁(yè)面是依序地映射對(duì)應(yīng)的數(shù)據(jù)實(shí)體區(qū)塊的實(shí)體頁(yè)面。例如,在存儲(chǔ)器儲(chǔ)存裝置100被格式化時(shí),邏輯區(qū)塊610(0)610(H)會(huì)初始地映射數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊410(0)410(F-I)。在本發(fā)明范例實(shí)施例中,存儲(chǔ)器管理電路202會(huì)維護(hù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表(logicalblock-physicalblockmappingtable)以記錄邏輯區(qū)塊610(0)610(H)與數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊之間的映射關(guān)系。此外,由于主機(jī)系統(tǒng)1000是以邏輯存取位址(例如,扇區(qū)(Sector))為單位來存取數(shù)據(jù),當(dāng)主機(jī)系統(tǒng)1000存取數(shù)據(jù)時(shí)存儲(chǔ)器管理電路202會(huì)將對(duì)應(yīng)存儲(chǔ)器儲(chǔ)存裝置100的邏輯存取位址710(0)710(K)轉(zhuǎn)換成對(duì)應(yīng)的邏輯頁(yè)面。例如,當(dāng)主機(jī)系統(tǒng)1000欲存取某一邏輯存取位址時(shí),存儲(chǔ)器管理電路202會(huì)將主機(jī)系統(tǒng)1000所存取的邏輯存取位址轉(zhuǎn)換為以對(duì)應(yīng)的邏輯區(qū)塊與邏輯頁(yè)面所構(gòu)成的多維位址,并且透過邏輯區(qū)塊-實(shí)體區(qū)塊映射表于對(duì)應(yīng)的實(shí)體頁(yè)面中存取數(shù)據(jù)。在本發(fā)明范例實(shí)施例中,存儲(chǔ)器儲(chǔ)存裝置100被格式化時(shí),存儲(chǔ)器管理電路202會(huì)將初始地映射邏輯區(qū)塊610(0)610(H)的所有實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)標(biāo)記為“全部無效狀態(tài)”。具體來說,如上所述,數(shù)據(jù)區(qū)502的實(shí)體區(qū)塊會(huì)被視為已儲(chǔ)存數(shù)據(jù)的實(shí)體區(qū)塊。然而,實(shí)際上,在存儲(chǔ)器儲(chǔ)存裝置100被格式化時(shí),邏輯區(qū)塊610(0)610(H)并未被使用來儲(chǔ)存數(shù)據(jù)。因此,在初始地映射邏輯區(qū)塊610(0)610(H)的所有實(shí)體區(qū)塊的實(shí)體頁(yè)面上的頁(yè)面數(shù)據(jù)皆為無效頁(yè)面數(shù)據(jù)。例如,存儲(chǔ)器管理電路202會(huì)在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將邏輯區(qū)塊所映射的實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)標(biāo)記為“全部無效狀態(tài)”,并且這些邏輯區(qū)塊的邏輯頁(yè)面會(huì)被標(biāo)記為“無效邏輯頁(yè)面”。經(jīng)過上述初始化程序之后,存儲(chǔ)器儲(chǔ)存裝置100就可接收主機(jī)系統(tǒng)1000的寫入指令來寫入數(shù)據(jù)。圖5圖7是根據(jù)本發(fā)明范例實(shí)施例所顯示的寫入數(shù)據(jù)至可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊的范例。在此,假設(shè)邏輯區(qū)塊所映射的實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)初始地皆為“全部無效狀態(tài)”。請(qǐng)參照?qǐng)D5,當(dāng)邏輯區(qū)塊610(0)是映射至實(shí)體區(qū)塊410(0)并且存儲(chǔ)器控制器104從主機(jī)系統(tǒng)1000中接收到指示寫入數(shù)據(jù)至邏輯區(qū)塊610(0)的第24邏輯頁(yè)面的寫入指令時(shí),存儲(chǔ)器管理電路202會(huì)依據(jù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表識(shí)別邏輯區(qū)塊610(0)目前是映射至實(shí)體區(qū)塊410(0)并且從閑置區(qū)504中提取(或選擇)實(shí)體區(qū)塊410(F)作為日志實(shí)體區(qū)塊來寫入屬于邏輯區(qū)塊610(0)的第24邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)。例如,存儲(chǔ)器管理電路202會(huì)記錄實(shí)體區(qū)塊410(0)的第24實(shí)體頁(yè)面中的數(shù)據(jù)已被更新并且更新的有效頁(yè)面數(shù)據(jù)是儲(chǔ)存于實(shí)體區(qū)塊410(F)的第02實(shí)體頁(yè)面中。在此,主機(jī)系統(tǒng)1000已對(duì)邏輯區(qū)塊610(0)的第24邏輯頁(yè)面寫入數(shù)據(jù),因此,存儲(chǔ)器管理電路202會(huì)將邏輯區(qū)塊610(0)的第24邏輯頁(yè)面標(biāo)記為“有效邏輯頁(yè)面”。請(qǐng)參照?qǐng)D6,當(dāng)在圖5所示的狀態(tài)下存儲(chǔ)器控制器104從主機(jī)系統(tǒng)1000中接收到指示寫入數(shù)據(jù)至邏輯區(qū)塊610(0)的第6邏輯頁(yè)面的寫入指令時(shí),存儲(chǔ)器管理電路202會(huì)依據(jù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表識(shí)別邏輯區(qū)塊610(0)目前是映射至實(shí)體區(qū)塊410(0)并且識(shí)別實(shí)體區(qū)塊410(F)目前被用作為對(duì)應(yīng)邏輯區(qū)塊610(0)的日志實(shí)體區(qū)塊?;?,存儲(chǔ)器管理電路202會(huì)將屬于邏輯區(qū)塊610(0)的第6邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)依序地寫入至實(shí)體區(qū)塊410(F)。類似地,存儲(chǔ)器管理電路202會(huì)記錄實(shí)體區(qū)塊410(0)的第6實(shí)體頁(yè)面中的數(shù)據(jù)已被更新并且更新的有效頁(yè)面數(shù)據(jù)是儲(chǔ)存于實(shí)體區(qū)塊410(F)的第3實(shí)體頁(yè)面中。類似地,主機(jī)系統(tǒng)1000已對(duì)邏輯區(qū)塊610(0)的第6邏輯頁(yè)面寫入數(shù)據(jù),因此,存儲(chǔ)器管理電路202會(huì)將邏輯區(qū)塊610(0)的第6邏輯頁(yè)面標(biāo)記為“有效邏輯頁(yè)面”。請(qǐng)參照?qǐng)D7,當(dāng)在圖6所示的狀態(tài)下存儲(chǔ)器控制器104從主機(jī)系統(tǒng)1000中接收到指示寫入數(shù)據(jù)至邏輯區(qū)塊610(0)的第0邏輯頁(yè)面的寫入指令時(shí),存儲(chǔ)器管理電路202會(huì)依據(jù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表識(shí)別邏輯區(qū)塊610(0)目前是映射至實(shí)體區(qū)塊410(0)并且識(shí)別實(shí)體區(qū)塊410(F)目前被用作為對(duì)應(yīng)邏輯區(qū)塊610(0)的日志實(shí)體區(qū)塊?;?,存儲(chǔ)器管理電路202會(huì)將屬于邏輯區(qū)塊610(0)的第0邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)依序地寫入至實(shí)體區(qū)塊410(F)。類似地,存儲(chǔ)器管理電路202會(huì)記錄實(shí)體區(qū)塊410(0)的第0實(shí)體頁(yè)面中的數(shù)據(jù)已被更新并且更新的有效頁(yè)面數(shù)據(jù)是儲(chǔ)存于實(shí)體區(qū)塊410(F)的第4實(shí)體頁(yè)面中。類似地,主機(jī)系統(tǒng)1000已對(duì)邏輯區(qū)塊610(0)的第0邏輯頁(yè)面寫入數(shù)據(jù),因此,存儲(chǔ)器管理電路202會(huì)將邏輯區(qū)塊610(0)的第0邏輯頁(yè)面標(biāo)記為“有效邏輯頁(yè)面”。值得一提的是,在主機(jī)系統(tǒng)1000的作業(yè)系統(tǒng)的檔案管理機(jī)制中,作業(yè)系統(tǒng)是透過檔案配置表來管理儲(chǔ)存于儲(chǔ)存裝置中的數(shù)據(jù)。特別是,在作業(yè)系統(tǒng)執(zhí)行數(shù)據(jù)的刪除運(yùn)作的例子中,作業(yè)系統(tǒng)僅會(huì)于檔案配置表中注記欲刪除的邏輯存取位址中的數(shù)據(jù)已為無效,即完成刪除數(shù)據(jù)的運(yùn)作,而不會(huì)實(shí)際地將所儲(chǔ)存的數(shù)據(jù)進(jìn)行刪除。之后,當(dāng)作業(yè)系統(tǒng)欲在這些邏輯存取位址中寫入數(shù)據(jù)時(shí),作業(yè)系統(tǒng)會(huì)將數(shù)據(jù)直接寫入。在本范例實(shí)施例中,存儲(chǔ)器管理電路202會(huì)從主機(jī)系統(tǒng)1000中接收刪除記錄,其中此刪除記錄中會(huì)記載哪些邏輯存取位址中的數(shù)據(jù)已被刪除的資訊。例如,在本范例實(shí)施例中,主機(jī)系統(tǒng)1000的作業(yè)系統(tǒng)為微軟視窗作業(yè)系統(tǒng)7,并且微軟視窗作業(yè)系統(tǒng)7是透過整理(trim)指令來傳送刪除記錄,而主機(jī)界面206與存儲(chǔ)器管理電路202可支援與識(shí)別此整理指令。在本范例實(shí)施例中,當(dāng)接收到整理指令時(shí),存儲(chǔ)器管理電路202會(huì)根據(jù)整理(trim)指令將已被刪除的邏輯頁(yè)面標(biāo)記為”無效邏輯頁(yè)面”?;?,在本范例實(shí)施例中,當(dāng)一個(gè)邏輯頁(yè)面被標(biāo)記為無效邏輯頁(yè)面時(shí),表示此邏輯頁(yè)面未被主機(jī)系統(tǒng)1000寫過或者儲(chǔ)存于此邏輯頁(yè)面上的數(shù)據(jù)已被主機(jī)系統(tǒng)1000刪除。在本范例實(shí)施例中,為一個(gè)邏輯區(qū)塊及其對(duì)應(yīng)的數(shù)據(jù)實(shí)體區(qū)塊提取日志實(shí)體區(qū)塊來寫入數(shù)據(jù)的運(yùn)作(如圖5、6與圖7所示)稱為開啟(open)母子區(qū)塊,并且原實(shí)體區(qū)塊(例如,上述實(shí)體區(qū)塊410(0))稱為母實(shí)體區(qū)塊而日志實(shí)體區(qū)塊(例如,上述實(shí)體區(qū)塊410(F))稱為子實(shí)體區(qū)塊。值得一提的是,閑置區(qū)504中實(shí)體區(qū)塊的數(shù)目是有限的,基此,在存儲(chǔ)器儲(chǔ)存裝置100運(yùn)作期間,開啟的母子區(qū)塊的組數(shù)亦會(huì)受到限制。因此,當(dāng)存儲(chǔ)器儲(chǔ)存裝置100接收到來自于主機(jī)系統(tǒng)1000的寫入指令時(shí),倘若已開啟母子區(qū)塊的組數(shù)達(dá)到上限時(shí),存儲(chǔ)器管理電路202需執(zhí)行數(shù)據(jù)合并程序(亦稱為關(guān)閉母子區(qū)塊)后才可執(zhí)行此寫入指令。圖8是根據(jù)本發(fā)明范例實(shí)施例所顯示的執(zhí)行數(shù)據(jù)合并程序的范例,其顯示在圖7所示的狀態(tài)下存儲(chǔ)器管理電路202對(duì)邏輯區(qū)塊610(0)執(zhí)行數(shù)據(jù)合并程序。請(qǐng)參照?qǐng)D8,由于在邏輯區(qū)塊610(0)中僅有部分邏輯頁(yè)面為有效邏輯頁(yè)面?;耍鎯?chǔ)器管理電路202會(huì)從閑置區(qū)504提取實(shí)體區(qū)塊410(F+1)作為新數(shù)據(jù)實(shí)體區(qū)塊,建立邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,并且將邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表、實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表和屬于邏輯區(qū)塊610(0)的有效頁(yè)面數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F+1)中。例如,存儲(chǔ)器管理電路202會(huì)將所建立的邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表寫入至實(shí)體區(qū)塊410(F+1)的第0實(shí)體頁(yè)面中,并且依序地將屬于邏輯區(qū)塊610(0)的第2、3、4、6與0邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F+1)的第I5實(shí)體頁(yè)面中。在此,邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表是用以記錄邏輯區(qū)塊610(0)的邏輯頁(yè)面與實(shí)體區(qū)塊410(F+1)的實(shí)體頁(yè)面之間的映射關(guān)系。圖9與圖10是根據(jù)圖8所示的狀態(tài)所顯示的邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表的范例。請(qǐng)參照?qǐng)D9,透過邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表902,存儲(chǔ)器管理電路202可獲知屬于邏輯區(qū)塊610(0)的有效邏輯頁(yè)面(即,第2、3、4、6與0邏輯頁(yè)面)的有效頁(yè)面數(shù)據(jù)是分別地儲(chǔ)存在實(shí)體區(qū)塊410(F+1)中那個(gè)實(shí)體頁(yè)面中。請(qǐng)參照?qǐng)D10,透過實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表904,存儲(chǔ)器管理電路202可獲知實(shí)體區(qū)塊410(F+1)的實(shí)體頁(yè)面是分別儲(chǔ)存屬于邏輯區(qū)塊610(0)的那個(gè)邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)。在完成數(shù)據(jù)的寫入之后,存儲(chǔ)器管理電路202會(huì)在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將邏輯區(qū)塊610(0)重新映射至實(shí)體區(qū)塊410(F+1)并且標(biāo)記實(shí)體區(qū)塊410(F+1)的儲(chǔ)存狀態(tài)為“部分有效狀態(tài)”。之后,倘若主機(jī)系統(tǒng)1000欲讀取邏輯區(qū)塊610(0)的數(shù)據(jù)時(shí),存儲(chǔ)器管理電路202會(huì)根據(jù)邏輯區(qū)塊-實(shí)體區(qū)塊映射表示別邏輯區(qū)塊610(0)目前是映射實(shí)體區(qū)塊410(F+1)并且實(shí)體區(qū)塊410(F+1)的儲(chǔ)存狀態(tài)為“部分有效狀態(tài)”,由此,存儲(chǔ)器管理電路202會(huì)從實(shí)體區(qū)塊410(F+1)的第0實(shí)體頁(yè)面中讀取邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且根據(jù)所讀取的邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表來讀取數(shù)據(jù)。也就是說,在“部分有效狀態(tài)”的實(shí)體區(qū)塊中,所映射的邏輯區(qū)塊的頁(yè)面數(shù)據(jù)是非依序地被儲(chǔ)存。因此,存儲(chǔ)器管理電路202會(huì)建立與儲(chǔ)存邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,以提供識(shí)別邏輯頁(yè)面與實(shí)體頁(yè)面之間的映射關(guān)系。值得一提的是,如上所述,存儲(chǔ)器管理電路202會(huì)根據(jù)整理指令將已被刪除的邏輯頁(yè)面標(biāo)記為“無效邏輯頁(yè)面”。在本發(fā)明范例實(shí)施例中,存儲(chǔ)器管理電路202會(huì)一并調(diào)整實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表并將更新后的實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表儲(chǔ)存于緩沖存儲(chǔ)器252中,由此利于執(zhí)行數(shù)據(jù)合并程序。例如,假設(shè)在圖8所示的狀態(tài)下,主機(jī)系統(tǒng)1000刪除邏輯區(qū)塊610(0)的第3邏輯頁(yè)面的數(shù)據(jù)時(shí),存儲(chǔ)器管理電路202會(huì)將圖10所示的實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表904調(diào)整成如圖11所示的實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表904。具體來說,存儲(chǔ)器管理電路202會(huì)搜尋存有數(shù)據(jù)的實(shí)體頁(yè)面中編號(hào)最大的實(shí)體頁(yè)面,將所搜尋到的實(shí)體頁(yè)面(即,第5實(shí)體頁(yè)面)的映射值復(fù)制到被刪除的邏輯頁(yè)面(即,第3邏輯頁(yè)面)所以映射的實(shí)體頁(yè)面(即,第2實(shí)體頁(yè)面)并且將所搜尋到的實(shí)體頁(yè)面(即,第5實(shí)體頁(yè)面)的映射值改為空值?;耍?dāng)下一次執(zhí)行數(shù)據(jù)合并時(shí),存儲(chǔ)器管理電路202會(huì)將第5實(shí)體頁(yè)面中的頁(yè)面數(shù)據(jù)復(fù)制到第2實(shí)體頁(yè)面中,以致于實(shí)體頁(yè)面中的有效頁(yè)面數(shù)據(jù)是被依序地儲(chǔ)存,由此可提升讀取數(shù)據(jù)的效率。特別是,邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表必須占用此實(shí)體區(qū)塊的儲(chǔ)存空間來儲(chǔ)存中。因此,僅當(dāng)一個(gè)邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)(即,在邏輯區(qū)塊中有效邏輯頁(yè)面的數(shù)目)小于預(yù)先定義數(shù)目時(shí),圖8所示的數(shù)據(jù)合并方式才會(huì)被執(zhí)行。在此,預(yù)先定義數(shù)目是被設(shè)定為一個(gè)實(shí)體區(qū)塊的頁(yè)面數(shù)的二分之一。然而,必須了解的是,本發(fā)明不限于此。例如,在本發(fā)明另一范例實(shí)施例中,此預(yù)先定義數(shù)目可根據(jù)一個(gè)實(shí)體區(qū)塊的頁(yè)面數(shù)以及被用來儲(chǔ)存邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表的實(shí)體頁(yè)面的頁(yè)面數(shù)來設(shè)定。例如,倘若需使用I個(gè)實(shí)體頁(yè)面來儲(chǔ)存邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表時(shí),上述預(yù)先定義數(shù)目為一個(gè)實(shí)體區(qū)塊的頁(yè)面數(shù)減去I個(gè)頁(yè)面數(shù)。必須了解的是,在本范例實(shí)施例中,如上所述,實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表會(huì)被建立以提升讀取數(shù)據(jù)的效率。然而,必須了解的是,在本發(fā)明另一范例實(shí)施例中,亦可僅建立邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表來記錄在“部分有效狀態(tài)”的實(shí)體區(qū)塊中邏輯頁(yè)面與實(shí)體頁(yè)面之間的映射關(guān)系,而無需建立實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表。圖12是根據(jù)本發(fā)明范例實(shí)施例所顯示的執(zhí)行數(shù)據(jù)合并程序的另一范例,其假設(shè)屬于邏輯區(qū)塊610(0)的第2、3、4、6、0邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)已儲(chǔ)存于數(shù)據(jù)實(shí)體區(qū)塊(SP,實(shí)體區(qū)塊410(F+1))中,屬于邏輯區(qū)塊610(0)的第1、5、7(K-I)邏輯頁(yè)面的有效頁(yè)面數(shù)據(jù)已儲(chǔ)存于日志實(shí)體區(qū)塊(即,實(shí)體區(qū)塊410(F+2))中并且存儲(chǔ)器管理電路202需對(duì)邏輯區(qū)塊610(0)執(zhí)行數(shù)據(jù)合并程序。請(qǐng)參照?qǐng)D12,存儲(chǔ)器管理電路202會(huì)識(shí)別對(duì)應(yīng)邏輯區(qū)塊610(0)的有效邏輯頁(yè)面數(shù)不小于預(yù)先定義數(shù)目?;?,存儲(chǔ)器管理電路202會(huì)從閑置區(qū)504提取實(shí)體區(qū)塊410(F+3)作為新數(shù)據(jù)實(shí)體區(qū)塊,將屬于邏輯區(qū)塊610(0)的所有有效頁(yè)面數(shù)據(jù)寫入至實(shí)體區(qū)塊410(F+3)中。并且,在完成數(shù)據(jù)的寫入之后,存儲(chǔ)器管理電路202會(huì)在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將邏輯區(qū)塊610(0)重新映射至實(shí)體區(qū)塊410(F+3)并且將實(shí)體區(qū)塊410(F+3)的儲(chǔ)存狀態(tài)標(biāo)記為“全部有效狀態(tài)”。之后,倘若主機(jī)系統(tǒng)1000欲讀取邏輯區(qū)塊610(0)的數(shù)據(jù)時(shí),存儲(chǔ)器管理電路202會(huì)根據(jù)邏輯區(qū)塊一實(shí)體區(qū)塊映射表示別邏輯區(qū)塊610(0)目前是映射實(shí)體區(qū)塊410(F+3)并且實(shí)體區(qū)塊410(F+3)的儲(chǔ)存狀態(tài)為“全部有效狀態(tài)”,由此,存儲(chǔ)器管理電路202可根據(jù)頁(yè)面的排列順序直接讀取數(shù)據(jù)。也就是說,當(dāng)數(shù)據(jù)實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)被標(biāo)記為“全部有效狀態(tài)”時(shí),邏輯區(qū)塊的邏輯頁(yè)面是根據(jù)排列順序依序地映射實(shí)體區(qū)塊的實(shí)體頁(yè)面。圖13是根據(jù)本發(fā)明范例實(shí)施例所顯示的數(shù)據(jù)合并方法的流程圖,其顯示對(duì)映射數(shù)據(jù)實(shí)體區(qū)塊(以下稱為第一實(shí)體區(qū)塊)的一個(gè)邏輯區(qū)塊(以下稱為第一邏輯區(qū)塊)執(zhí)行數(shù)據(jù)合并程序的步驟。請(qǐng)參照?qǐng)D13,在步驟S1301中,存儲(chǔ)器控制器104會(huì)從閑置區(qū)504的實(shí)體區(qū)塊中提取(或選擇)實(shí)體區(qū)塊(以下稱為第二實(shí)體區(qū)塊)。并且,在步驟S1303中,存儲(chǔ)器控制器104判斷對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)是否小于預(yù)先定義數(shù)目。倘若對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),在步驟S1305中,存儲(chǔ)器控制器104會(huì)在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面(即,第0實(shí)體頁(yè)面)中儲(chǔ)存對(duì)應(yīng)的邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表與實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表。然后,在步驟S1307中,存儲(chǔ)器控制器104會(huì)接續(xù)啟始實(shí)體頁(yè)面,將屬于第一邏輯區(qū)塊的有效邏輯頁(yè)面的數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的部分實(shí)體頁(yè)面中。之后,在步驟S1309中,存儲(chǔ)器控制器104會(huì)在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將第一邏輯區(qū)塊重新映射至第二實(shí)體區(qū)塊并且將第二實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)標(biāo)記為部分有效狀態(tài)。倘若對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)不小于預(yù)先定義數(shù)目時(shí),在步驟S1311中,存儲(chǔ)器控制器104會(huì)將屬于第一邏輯區(qū)塊的頁(yè)面數(shù)據(jù)依序地寫入至第二實(shí)體區(qū)塊的實(shí)體頁(yè)面中。之后,在步驟S1313中,存儲(chǔ)器控制器104會(huì)在邏輯區(qū)塊-實(shí)體區(qū)塊映射表中將第一邏輯區(qū)塊重新映射至第二實(shí)體區(qū)塊并且將第二實(shí)體區(qū)塊的儲(chǔ)存狀態(tài)標(biāo)記為全部有效狀態(tài)。綜上所述,本發(fā)明范例實(shí)施例的數(shù)據(jù)合并方法及使用此方法的存儲(chǔ)器控制器與存儲(chǔ)器儲(chǔ)存裝置能夠在邏輯區(qū)塊的邏輯頁(yè)面非全部有效時(shí),在執(zhí)行數(shù)據(jù)合并程序時(shí)僅搬移部分頁(yè)面數(shù)據(jù)(即,有效頁(yè)面數(shù)據(jù)),由此,有效縮短執(zhí)行數(shù)據(jù)合并所需的時(shí)間。雖然本發(fā)明已以實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域:
的普通技術(shù)人員,當(dāng)可作些許的更動(dòng)與潤(rùn)飾,而不脫離本發(fā)明的精神和范圍。權(quán)利要求1.一種數(shù)據(jù)合并方法,用于在一可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于一第一邏輯區(qū)塊的數(shù)據(jù),其中該可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊具有多個(gè)實(shí)體區(qū)塊,每一所述實(shí)體區(qū)塊具有依序排列的多個(gè)實(shí)體頁(yè)面,所述實(shí)體區(qū)塊至少被分組為一數(shù)據(jù)區(qū)與一閑置區(qū),該數(shù)據(jù)區(qū)的所述實(shí)體區(qū)塊映射多個(gè)邏輯區(qū)塊,每一所述邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面,該第一邏輯區(qū)塊為所述邏輯區(qū)塊的其中之一,并且該第一邏輯區(qū)塊映射該數(shù)據(jù)區(qū)的所述實(shí)體區(qū)塊之中的一第一實(shí)體區(qū)塊,該數(shù)據(jù)合并方法包括從該閑置區(qū)的所述實(shí)體區(qū)塊中選擇一第二實(shí)體區(qū)塊;判斷對(duì)應(yīng)該第一邏輯區(qū)塊的一有效邏輯頁(yè)面數(shù)是否小于一預(yù)先定義數(shù)目;當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于該預(yù)先定義數(shù)目時(shí),在該第二實(shí)體區(qū)塊的一啟始實(shí)體頁(yè)面中儲(chǔ)存一邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且將屬于該第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中;以及將該第一邏輯區(qū)塊重新映射至該第二實(shí)體區(qū)塊,其中該至少一有效頁(yè)面數(shù)據(jù)屬于該第一邏輯區(qū)塊的所述邏輯頁(yè)面的中的至少一有效邏輯頁(yè)面,其中該邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表記錄該第一邏輯區(qū)塊的該至少一有效邏輯頁(yè)面與該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面之間的映射關(guān)系。2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)合并方法,其中將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中的步驟包括接續(xù)于該啟始實(shí)體頁(yè)面,將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中。3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)合并方法,還包括在將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中之后,在一邏輯區(qū)塊-實(shí)體區(qū)塊映射表中標(biāo)記映射該第一邏輯區(qū)塊的該第二實(shí)體區(qū)塊的一儲(chǔ)存狀態(tài)為一部分有效狀態(tài)。4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)合并方法,還包括根據(jù)至少一整理指令識(shí)別該第一邏輯區(qū)塊的所述邏輯頁(yè)面之中的至少一無效邏輯頁(yè)面。5.根據(jù)權(quán)利要求I所述的數(shù)據(jù)合并方法,還包括當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)不小于該預(yù)先定義數(shù)目時(shí),將屬于該第一邏輯區(qū)塊的多筆頁(yè)面數(shù)據(jù)依序地寫入至該第二實(shí)體區(qū)塊的所述實(shí)體頁(yè)面中。6.根據(jù)權(quán)利要求I所述的數(shù)據(jù)合并方法,還包括當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于該預(yù)先定義數(shù)目時(shí),在該第二實(shí)體區(qū)塊的該啟始實(shí)體頁(yè)面中儲(chǔ)存一實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,其中該實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表記錄該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面與該第一邏輯區(qū)塊的該至少一有效邏輯頁(yè)面之間的映射關(guān)系。7.一種存儲(chǔ)器控制器,用于控制一可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊,其中該可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊具有多個(gè)實(shí)體區(qū)塊,并且每一所述實(shí)體區(qū)塊具有依序排列的多個(gè)實(shí)體頁(yè)面,該存儲(chǔ)器控制器包括一主機(jī)界面,用以電性連接至一主機(jī)系統(tǒng);一存儲(chǔ)器界面,用以電性連接至該可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊;以及一存儲(chǔ)器管理電路,電性連接至該主機(jī)界面與該存儲(chǔ)器界面,并且用以在該可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于一第一邏輯區(qū)塊的數(shù)據(jù),其中該存儲(chǔ)器管理電路將所述實(shí)體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),其中該存儲(chǔ)器管理電路配置多個(gè)邏輯區(qū)塊以映射該數(shù)據(jù)區(qū)的所述實(shí)體區(qū)塊,其中每一所述邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面,該第一邏輯區(qū)塊為所述邏輯區(qū)塊的其中之一,并且該第一邏輯區(qū)塊映射該數(shù)據(jù)區(qū)的所述實(shí)體區(qū)塊之中的一第一實(shí)體區(qū)塊,其中該存儲(chǔ)器管理電路從該閑置區(qū)的所述實(shí)體區(qū)塊中選擇一第二實(shí)體區(qū)塊,其中該存儲(chǔ)器管理電路判斷對(duì)應(yīng)該第一邏輯區(qū)塊的一有效邏輯頁(yè)面數(shù)是否小于一預(yù)先定義數(shù)目,其中當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于該預(yù)先定義數(shù)目時(shí),該存儲(chǔ)器管理電路在該第二實(shí)體區(qū)塊的一啟始實(shí)體頁(yè)面中儲(chǔ)存一邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且將屬于該第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中,其中存儲(chǔ)器管理電路將該第一邏輯區(qū)塊重新映射至該第二實(shí)體區(qū)塊,其中該至少一有效頁(yè)面數(shù)據(jù)屬于該第一邏輯區(qū)塊的所述邏輯頁(yè)面之中的至少一有效邏輯頁(yè)面,其中該邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表記錄該第一邏輯區(qū)塊的該至少一有效邏輯頁(yè)面與該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面之間的映射關(guān)系。8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器控制器,其中該存儲(chǔ)器管理電路,接續(xù)于該啟始實(shí)體頁(yè)面,將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中。9.根據(jù)權(quán)利要求7所述的存儲(chǔ)器控制器,其中在將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中之后,該存儲(chǔ)器管理電路在一邏輯區(qū)塊-實(shí)體區(qū)塊映射表中標(biāo)記映射該第一邏輯區(qū)塊的該第二實(shí)體區(qū)塊的一儲(chǔ)存狀態(tài)為一部分有效狀態(tài)。10.根據(jù)權(quán)利要求7所述的存儲(chǔ)器控制器,其中該存儲(chǔ)器管理電路根據(jù)來自于該主機(jī)系統(tǒng)的至少一整理指令識(shí)別該第一邏輯區(qū)塊的所述邏輯頁(yè)面之中的至少一無效邏輯頁(yè)面。11.根據(jù)權(quán)利要求7所述的存儲(chǔ)器控制器,其中當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)不小于該預(yù)先定義數(shù)目時(shí),該存儲(chǔ)器管理電路將屬于該第一邏輯區(qū)塊的多筆頁(yè)面數(shù)據(jù)依序地寫入至該第二實(shí)體區(qū)塊的所述實(shí)體頁(yè)面中。12.根據(jù)權(quán)利要求7所述的存儲(chǔ)器控制器,其中當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于該預(yù)先定義數(shù)目時(shí),該存儲(chǔ)器管理電路更在該第二實(shí)體區(qū)塊的該啟始實(shí)體頁(yè)面中儲(chǔ)存一實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,其中該實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表記錄該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面與該第一邏輯區(qū)塊的該至少一有效邏輯頁(yè)面之間的映射關(guān)系。13.一種存儲(chǔ)器儲(chǔ)存裝置,包括一連接器,用以電性連接至一主機(jī)系統(tǒng);一可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊,具有多個(gè)實(shí)體區(qū)塊,其中每一所述實(shí)體區(qū)塊具有依序排列的多個(gè)實(shí)體頁(yè)面;以及一存儲(chǔ)器控制器,電性連接至該連接器與該可復(fù)寫式非揮發(fā)性存儲(chǔ)器模塊,用以在該可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于一第一邏輯區(qū)塊的數(shù)據(jù),其中該存儲(chǔ)器控制器將所述實(shí)體區(qū)塊至少分組為一數(shù)據(jù)區(qū)與一閑置區(qū),其中該存儲(chǔ)器控制器配置多個(gè)邏輯區(qū)塊以映射該數(shù)據(jù)區(qū)的所述實(shí)體區(qū)塊,其中每一所述邏輯區(qū)塊具有多個(gè)邏輯頁(yè)面,該第一邏輯區(qū)塊為所述邏輯區(qū)塊的其中之一,并且該第一邏輯區(qū)塊映射該數(shù)據(jù)區(qū)的所述實(shí)體區(qū)塊之中的一第一實(shí)體區(qū)塊,其中該存儲(chǔ)器控制器從該閑置區(qū)的所述實(shí)體區(qū)塊中選擇一第二實(shí)體區(qū)塊,其中該存儲(chǔ)器控制器判斷對(duì)應(yīng)該第一邏輯區(qū)塊的一有效邏輯頁(yè)面數(shù)是否小于一預(yù)先定義數(shù)目,其中當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于該預(yù)先定義數(shù)目時(shí),該存儲(chǔ)器控制器在該第二實(shí)體區(qū)塊的一啟始實(shí)體頁(yè)面中儲(chǔ)存一邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表并且將屬于該第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中,其中該存儲(chǔ)器控制器將該第一邏輯區(qū)塊重新映射至該第二實(shí)體區(qū)塊,其中該至少一有效頁(yè)面數(shù)據(jù)屬于該第一邏輯區(qū)塊的所述邏輯頁(yè)面之中的至少一有效邏輯頁(yè)面,其中該邏輯頁(yè)面轉(zhuǎn)實(shí)體頁(yè)面映射表記錄該第一邏輯區(qū)塊的該至少一有效邏輯頁(yè)面與該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面之間的映射關(guān)系。14.根據(jù)權(quán)利要求13所述的存儲(chǔ)器儲(chǔ)存裝置,其中該存儲(chǔ)器控制器,接續(xù)于該啟始實(shí)體頁(yè)面,將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中。15.根據(jù)權(quán)利要求13所述的存儲(chǔ)器儲(chǔ)存裝置,其中在將屬于該第一邏輯區(qū)塊的該至少一有效頁(yè)面數(shù)據(jù)寫入至該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面中之后,該存儲(chǔ)器控制器在一邏輯區(qū)塊-實(shí)體區(qū)塊映射表中標(biāo)記映射該第一邏輯區(qū)塊的該第二實(shí)體區(qū)塊的一儲(chǔ)存狀態(tài)為一部分有效狀態(tài)。16.根據(jù)權(quán)利要求13所述的存儲(chǔ)器儲(chǔ)存裝置,其中該存儲(chǔ)器控制器根據(jù)來自于該主機(jī)系統(tǒng)的至少一整理指令識(shí)別該第一邏輯區(qū)塊的所述邏輯頁(yè)面之中的至少一無效邏輯頁(yè)面。17.根據(jù)權(quán)利要求13所述的存儲(chǔ)器儲(chǔ)存裝置,其中當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)不小于該預(yù)先定義數(shù)目時(shí),該存儲(chǔ)器控制器將屬于該第一邏輯區(qū)塊的多筆頁(yè)面數(shù)據(jù)依序地寫入至該第二實(shí)體區(qū)塊的所述實(shí)體頁(yè)面中。18.根據(jù)權(quán)利要求13所述的存儲(chǔ)器儲(chǔ)存裝置,其中當(dāng)對(duì)應(yīng)該第一邏輯區(qū)塊的該有效邏輯頁(yè)面數(shù)小于該預(yù)先定義數(shù)目時(shí),該存儲(chǔ)器控制器更在該第二實(shí)體區(qū)塊的該啟始實(shí)體頁(yè)面中儲(chǔ)存一實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表,其中該實(shí)體頁(yè)面轉(zhuǎn)邏輯頁(yè)面映射表記錄該第二實(shí)體區(qū)塊的該至少一實(shí)體頁(yè)面與該第一邏輯區(qū)塊的該至少一有效邏輯頁(yè)面之間的映射關(guān)系。全文摘要本發(fā)明提供一種數(shù)據(jù)合并方法、控制器與儲(chǔ)存裝置,其中數(shù)據(jù)合并方法,用于在可復(fù)寫式非揮發(fā)性記憶模塊中合并屬于第一邏輯區(qū)塊的數(shù)據(jù)。本方法包括從可復(fù)寫式非揮發(fā)性記憶模塊的閑置區(qū)的實(shí)體區(qū)塊中選擇第二實(shí)體區(qū)塊并且判斷對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)是否小于預(yù)先定義數(shù)目。本方法也包括,當(dāng)對(duì)應(yīng)第一邏輯區(qū)塊的有效邏輯頁(yè)面數(shù)小于預(yù)先定義數(shù)目時(shí),在第二實(shí)體區(qū)塊的啟始實(shí)體頁(yè)面中儲(chǔ)存對(duì)應(yīng)的頁(yè)面映射表并且將屬于第一邏輯區(qū)塊的至少一有效頁(yè)面數(shù)據(jù)寫入至第二實(shí)體區(qū)塊的至少一實(shí)體頁(yè)面中?;耍痉椒捎行У乜s短執(zhí)行數(shù)據(jù)合并所需的時(shí)間。文檔編號(hào)G06F12/06GK102736985SQ20111008380公開日2012年10月17日申請(qǐng)日期2011年3月30日優(yōu)先權(quán)日2011年3月30日發(fā)明者趙偉程申請(qǐng)人:群聯(lián)電子股份有限公司