本發(fā)明涉及一種存儲(chǔ)器管理技術(shù),尤其涉及一種存儲(chǔ)器管理方法、存儲(chǔ)器儲(chǔ)存裝置及存儲(chǔ)器控制電路單元。
背景技術(shù):
::數(shù)碼相機(jī)、移動(dòng)電話(huà)與mp3播放器在這幾年來(lái)的成長(zhǎng)十分迅速,使得消費(fèi)者對(duì)儲(chǔ)存媒體的需求也急速增加。由于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊(例如,閃存)具有數(shù)據(jù)非易失性、省電、體積小,以及無(wú)機(jī)械結(jié)構(gòu)等特性,所以非常適合內(nèi)建于上述所舉例的各種可攜式多媒體裝置中。一般來(lái)說(shuō),為了評(píng)估存儲(chǔ)器裝置的效能,測(cè)試者可能會(huì)在存儲(chǔ)器裝置上執(zhí)行效能測(cè)試程序。在某些效能測(cè)試程序中,循序(sequential)數(shù)據(jù)與非循序(non-sequential)數(shù)據(jù)會(huì)被輪流地寫(xiě)入至存儲(chǔ)器裝置中,從而測(cè)試存儲(chǔ)器裝置對(duì)于循序?qū)懭?sequentialwrite)與隨機(jī)寫(xiě)入(randomwrite)的執(zhí)行效率。然而,在某些情況下,若隨機(jī)寫(xiě)入使用了太多的閑置實(shí)體區(qū)塊,則當(dāng)后續(xù)測(cè)試循序?qū)懭霑r(shí),一個(gè)數(shù)據(jù)整并程序(例如,垃圾回收程序)可能會(huì)被觸發(fā),從而降低循序?qū)懭氲膶?xiě)入速度。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供一種存儲(chǔ)器管理方法、存儲(chǔ)器儲(chǔ)存裝置及存儲(chǔ)器控制電路單元,可減少數(shù)據(jù)整并程序?qū)τ谔囟?lèi)型的數(shù)據(jù)的寫(xiě)入速度造成的影響。本發(fā)明的一范例實(shí)施例提供一種存儲(chǔ)器管理方法,其用于包括多個(gè)實(shí)體單元的可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,所述存儲(chǔ)器管理方法包括:接收第一數(shù)據(jù)并執(zhí)行第一程序化程序;在所述第一程序化程序中,將所述第一數(shù)據(jù)的至少一部分?jǐn)?shù)據(jù)程序化至所述實(shí)體單元中的第一實(shí)體單元;判斷所述實(shí)體單元中的第一類(lèi)實(shí)體單元的總數(shù)是否小于或等于第一門(mén)檻值,其中屬于所述第一類(lèi)實(shí)體單元的每一個(gè)實(shí)體單元皆未儲(chǔ)存有效數(shù)據(jù);若所述第一類(lèi)實(shí)體單元 的所述總數(shù)小于或等于所述第一門(mén)檻值,執(zhí)行數(shù)據(jù)整并程序,使得所述第一類(lèi)實(shí)體單元的所述總數(shù)從第一數(shù)目變更為第二數(shù)目,其中所述第二數(shù)目大于所述第一數(shù)目;判斷所述第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù)或第二類(lèi)數(shù)據(jù),其中所述第一類(lèi)數(shù)據(jù)屬于多個(gè)連續(xù)編號(hào)的邏輯單元,而所述第二類(lèi)數(shù)據(jù)不屬于所述連續(xù)編號(hào)的邏輯單元;若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),在所述第二數(shù)目達(dá)到第二門(mén)檻值之前,停止所述數(shù)據(jù)整并程序,其中所述第二門(mén)檻值大于所述第一門(mén)檻值;以及若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),在所述第二數(shù)目達(dá)到所述第二門(mén)檻值之后,停止所述數(shù)據(jù)整并程序。在本發(fā)明的一范例實(shí)施例中,判斷所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)或所述第二類(lèi)數(shù)據(jù)的步驟包括:根據(jù)被程序化至所述第一實(shí)體單元的所述第一數(shù)據(jù)的所述部分?jǐn)?shù)據(jù)判斷所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)或所述第二類(lèi)數(shù)據(jù)。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理方法還包括:若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),在所述數(shù)據(jù)整并程序中判斷所述實(shí)體單元中屬于第二類(lèi)實(shí)體單元的第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于預(yù)置值;若所述第二實(shí)體單元所儲(chǔ)存的所述有效數(shù)據(jù)的數(shù)據(jù)量大于所述預(yù)置值,將儲(chǔ)存于所述第二實(shí)體單元中的所述有效數(shù)據(jù)復(fù)制到所述實(shí)體單元中的第三實(shí)體單元;以及若所述第二實(shí)體單元所儲(chǔ)存的所述有效數(shù)據(jù)的數(shù)據(jù)量不大于所述預(yù)置值,抹除所述第二實(shí)體單元并停止所述數(shù)據(jù)整并程序。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理方法還包括:在判斷所述第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于所述預(yù)置值之前,執(zhí)行選擇程序;以及在所述選擇程序中,選擇所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量小于平均值的所述第二實(shí)體單元。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理方法還包括:若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),在開(kāi)始所述數(shù)據(jù)整并程序之后,暫停所述第一程序化程序,并且在停止所述數(shù)據(jù)整并程序之后,恢復(fù)執(zhí)行所述第一程序化程序;以及若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),允許所述數(shù)據(jù)整并程序與所述第一程序化程序共享傳輸帶寬。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理方法還包括:配置指令隊(duì)列,其用以暫存指示儲(chǔ)存數(shù)據(jù)的至少一指令;若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),暫停將指示儲(chǔ)存所述第一數(shù)據(jù)的指令加入至所述指令隊(duì)列中,以暫停 所述第一程序化程序;以及若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),將指示儲(chǔ)存所述數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令與指示儲(chǔ)存所述第一數(shù)據(jù)的所述指令加入至所述指令隊(duì)列中。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理方法還包括:判斷所述第一程序化程序是否接續(xù)于第二程序化程序,其中所述第二程序化程序用以程序化第二數(shù)據(jù)至所述實(shí)體單元中,其中所述第二數(shù)據(jù)為所述第二類(lèi)數(shù)據(jù)。而在所述第二數(shù)目達(dá)到所述第二門(mén)檻值之前停止所述數(shù)據(jù)整并程序的步驟,是在判定所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)且所述第一程序化程序是接續(xù)于所述第二程序化程序之后執(zhí)行。本發(fā)明的另一范例實(shí)施例提供一種存儲(chǔ)器儲(chǔ)存裝置,其包括連接接口單元、可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊及存儲(chǔ)器控制電路單元。所述連接接口單元用以連接至主機(jī)系統(tǒng)。所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊包括多個(gè)實(shí)體單元。所述存儲(chǔ)器控制電路單元連接至所述連接接口單元與所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,所述存儲(chǔ)器控制電路單元用以接收第一數(shù)據(jù)并執(zhí)行第一程序化程序,在所述第一程序化程序中,所述存儲(chǔ)器控制電路單元發(fā)送程序化指令序列,以指示將所述第一數(shù)據(jù)的至少一部分?jǐn)?shù)據(jù)程序化至所述實(shí)體單元中的第一實(shí)體單元,所述存儲(chǔ)器控制電路單元更用以判斷所述實(shí)體單元中的第一類(lèi)實(shí)體單元的總數(shù)是否小于或等于第一門(mén)檻值,其中屬于所述第一類(lèi)實(shí)體單元的每一個(gè)實(shí)體單元皆未儲(chǔ)存有效數(shù)據(jù),若所述第一類(lèi)實(shí)體單元的所述總數(shù)小于或等于所述第一門(mén)檻值,所述存儲(chǔ)器控制電路單元更用以執(zhí)行數(shù)據(jù)整并程序,使得所述第一類(lèi)實(shí)體單元的所述總數(shù)從第一數(shù)目變更為第二數(shù)目,其中所述第二數(shù)目大于所述第一數(shù)目,其中所述存儲(chǔ)器控制電路單元更用以判斷所述第一數(shù)據(jù)是一第一類(lèi)數(shù)據(jù)或一第二類(lèi)數(shù)據(jù),其中所述第一類(lèi)數(shù)據(jù)屬于多個(gè)連續(xù)編號(hào)的邏輯單元,而所述第二類(lèi)數(shù)據(jù)不屬于所述連續(xù)編號(hào)的邏輯單元,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元更用以在所述第二數(shù)目達(dá)到一第二門(mén)檻值之前,停止所述數(shù)據(jù)整并程序,其中所述第二門(mén)檻值大于所述第一門(mén)檻值,若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元更用以在所述第二數(shù)目達(dá)到所述第二門(mén)檻值之后,停止所述數(shù)據(jù)整并程序。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器控制電路單元判斷所述第一數(shù) 據(jù)是所述第一類(lèi)數(shù)據(jù)或所述第二類(lèi)數(shù)據(jù)的操作包括:根據(jù)被程序化至所述第一實(shí)體單元的所述第一數(shù)據(jù)的所述部分?jǐn)?shù)據(jù)判斷所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)或所述第二類(lèi)數(shù)據(jù)。在本發(fā)明的一范例實(shí)施例中,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元更用以在所述數(shù)據(jù)整并程序中判斷所述實(shí)體單元中屬于第二類(lèi)實(shí)體單元的第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于預(yù)置值,若所述第二實(shí)體單元所儲(chǔ)存的所述有效數(shù)據(jù)的數(shù)據(jù)量大于所述預(yù)置值,所述存儲(chǔ)器控制電路單元更用以指示將儲(chǔ)存于所述第二實(shí)體單元中的所述有效數(shù)據(jù)復(fù)制到所述實(shí)體單元中的第三實(shí)體單元,若所述第二實(shí)體單元所儲(chǔ)存的所述有效數(shù)據(jù)的數(shù)據(jù)量不大于所述預(yù)置值,所述存儲(chǔ)器控制電路單元抹除所述第二實(shí)體單元并停止所述數(shù)據(jù)整并程序。在本發(fā)明的一范例實(shí)施例中,在判斷所述第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于所述預(yù)置值之前,所述存儲(chǔ)器控制電路單元更用以執(zhí)行選擇程序,在所述選擇程序中,所述存儲(chǔ)器控制電路單元選擇所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量小于平均值的所述第二實(shí)體單元。在本發(fā)明的一范例實(shí)施例中,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),在開(kāi)始所述數(shù)據(jù)整并程序之后,所述存儲(chǔ)器控制電路單元更用以暫停所述第一程序化程序,并且在停止所述數(shù)據(jù)整并程序之后,所述存儲(chǔ)器控制電路單元恢復(fù)執(zhí)行所述第一程序化程序,若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元允許所述數(shù)據(jù)整并程序與所述第一程序化程序共享傳輸帶寬。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器控制電路單元更用以配置指令隊(duì)列,其用以暫存指示儲(chǔ)存數(shù)據(jù)的至少一指令,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元更用以暫停將指示儲(chǔ)存所述第一數(shù)據(jù)的指令加入至所述指令隊(duì)列中,以暫停所述第一程序化程序,若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元將指示儲(chǔ)存所述數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令與指示儲(chǔ)存所述第一數(shù)據(jù)的所述指令加入至所述指令隊(duì)列中。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器控制電路單元更用以判斷所述第一程序化程序是否接續(xù)于第二程序化程序,其中所述第二程序化程序用以 程序化第二數(shù)據(jù)至所述實(shí)體單元中,其中所述第二數(shù)據(jù)為所述第二類(lèi)數(shù)據(jù)。所述存儲(chǔ)器控制電路單元是在判定所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)且所述第一程序化程序是接續(xù)于所述第二程序化程序之后,執(zhí)行在所述第二數(shù)目達(dá)到所述第二門(mén)檻值之前停止所述數(shù)據(jù)整并程序的操作。本發(fā)明的另一范例實(shí)施例提供一種存儲(chǔ)器控制電路單元,其用于控制包括多個(gè)實(shí)體單元的可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊,所述存儲(chǔ)器控制電路單元包括主機(jī)接口、存儲(chǔ)器接口及存儲(chǔ)器管理電路。所述主機(jī)接口用以連接至主機(jī)系統(tǒng)。所述存儲(chǔ)器接口用以連接至所述可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊。所述存儲(chǔ)器管理電路連接至所述主機(jī)接口與所述存儲(chǔ)器接口,所述存儲(chǔ)器管理電路用以接收第一數(shù)據(jù)并執(zhí)行第一程序化程序,在所述第一程序化程序中,所述存儲(chǔ)器管理電路發(fā)送程序化指令序列以指示將所述第一數(shù)據(jù)的至少一部分?jǐn)?shù)據(jù)程序化至所述實(shí)體單元中的第一實(shí)體單元,所述存儲(chǔ)器管理電路更用以判斷所述實(shí)體單元中的第一類(lèi)實(shí)體單元的總數(shù)是否小于或等于第一門(mén)檻值,其中屬于所述第一類(lèi)實(shí)體單元的每一個(gè)實(shí)體單元皆未儲(chǔ)存有效數(shù)據(jù),若所述第一類(lèi)實(shí)體單元的所述總數(shù)小于或等于所述第一門(mén)檻值,所述存儲(chǔ)器管理電路更用以執(zhí)行數(shù)據(jù)整并程序,使得所述第一類(lèi)實(shí)體單元的所述總數(shù)從第一數(shù)目變更為第二數(shù)目,其中所述第二數(shù)目大于所述第一數(shù)目,所述存儲(chǔ)器管理電路更用以判斷所述第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù)或第二類(lèi)數(shù)據(jù),其中所述第一類(lèi)數(shù)據(jù)屬于多個(gè)連續(xù)編號(hào)的邏輯單元,而所述第二類(lèi)數(shù)據(jù)不屬于所述連續(xù)編號(hào)的邏輯單元,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),所述存儲(chǔ)器管理電路更用以在所述第二數(shù)目達(dá)到一第二門(mén)檻值之前,停止所述數(shù)據(jù)整并程序,其中所述第二門(mén)檻值大于所述第一門(mén)檻值,若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),所述存儲(chǔ)器管理電路更用以在所述第二數(shù)目達(dá)到所述第二門(mén)檻值之后,停止所述數(shù)據(jù)整并程序。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理電路判斷所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)或所述第二類(lèi)數(shù)據(jù)的操作包括:根據(jù)被程序化至所述第一實(shí)體單元的所述第一數(shù)據(jù)的所述部分?jǐn)?shù)據(jù)判斷所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)或所述第二類(lèi)數(shù)據(jù)。在本發(fā)明的一范例實(shí)施例中,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),所述存儲(chǔ)器管理電路更用以在所述數(shù)據(jù)整并程序中判斷所述實(shí)體單元中屬于第二 類(lèi)實(shí)體單元的第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于預(yù)置值,若所述第二實(shí)體單元所儲(chǔ)存的所述有效數(shù)據(jù)的數(shù)據(jù)量大于所述預(yù)置值,所述存儲(chǔ)器管理電路更用以將儲(chǔ)存于所述第二實(shí)體單元中的所述有效數(shù)據(jù)復(fù)制到所述實(shí)體單元中的第三實(shí)體單元,若所述第二實(shí)體單元所儲(chǔ)存的所述有效數(shù)據(jù)的數(shù)據(jù)量不大于所述預(yù)置值,所述存儲(chǔ)器管理電路抹除所述第二實(shí)體單元并停止所述數(shù)據(jù)整并程序。在本發(fā)明的一范例實(shí)施例中,所述預(yù)置值為零。在本發(fā)明的一范例實(shí)施例中,在判斷所述第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于所述預(yù)置值之前,所述存儲(chǔ)器管理電路更用以執(zhí)行選擇程序,在所述選擇程序中,所述存儲(chǔ)器管理電路選擇所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量小于平均值的所述第二實(shí)體單元。在本發(fā)明的一范例實(shí)施例中,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),在開(kāi)始所述數(shù)據(jù)整并程序之后,所述存儲(chǔ)器控制電路單元更用以暫停所述第一程序化程序,并且在停止所述數(shù)據(jù)整并程序之后,所述存儲(chǔ)器控制電路單元恢復(fù)執(zhí)行所述第一程序化程序,若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),所述存儲(chǔ)器控制電路單元允許所述數(shù)據(jù)整并程序與所述第一程序化程序共享傳輸帶寬。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理電路更用以配置指令隊(duì)列,其用以暫存指示儲(chǔ)存數(shù)據(jù)的至少一指令,若所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù),所述存儲(chǔ)器管理電路更用以暫停將指示儲(chǔ)存所述第一數(shù)據(jù)的指令加入至所述指令隊(duì)列中,以暫停所述第一程序化程序,若所述第一數(shù)據(jù)是所述第二類(lèi)數(shù)據(jù),所述存儲(chǔ)器管理電路將指示儲(chǔ)存所述數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令與指示儲(chǔ)存所述第一數(shù)據(jù)的所述指令加入至所述指令隊(duì)列中。在本發(fā)明的一范例實(shí)施例中,所述存儲(chǔ)器管理電路更用以判斷所述第一程序化程序是否接續(xù)于第二程序化程序,其中所述第二程序化程序用以程序化第二數(shù)據(jù)至所述實(shí)體單元中,其中所述第二數(shù)據(jù)為所述第二類(lèi)數(shù)據(jù)。所述存儲(chǔ)器管理電路是在判定所述第一數(shù)據(jù)是所述第一類(lèi)數(shù)據(jù)且所述第一程序化程序是接續(xù)于所述第二程序化程序之后,執(zhí)行在所述第二數(shù)目達(dá)到所述第二門(mén)檻值之前停止所述數(shù)據(jù)整并程序的操作?;谏鲜?,在存儲(chǔ)器儲(chǔ)存裝置的運(yùn)作中,一個(gè)數(shù)據(jù)整并程序可能會(huì)隨著 第一類(lèi)實(shí)體單元的減少而被觸發(fā)。在開(kāi)始執(zhí)行此數(shù)據(jù)整并程序之后,若判定所需程序化的數(shù)據(jù)是屬于多個(gè)連續(xù)編號(hào)的邏輯單元的第一類(lèi)數(shù)據(jù),則此數(shù)據(jù)整并程序可能會(huì)在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到一預(yù)置數(shù)目之前就停止,從而減少數(shù)據(jù)整并程序?qū)Φ谝活?lèi)數(shù)據(jù)的寫(xiě)入速度造成的影響。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說(shuō)明如下。附圖說(shuō)明圖1是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的主機(jī)系統(tǒng)、存儲(chǔ)器儲(chǔ)存裝置及輸入/輸出(i/o)裝置的示意圖;圖2是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的主機(jī)系統(tǒng)、存儲(chǔ)器儲(chǔ)存裝置及i/o裝置的示意圖;圖3是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲(chǔ)器儲(chǔ)存裝置的示意圖;圖4是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的存儲(chǔ)器儲(chǔ)存裝置的概要方框圖;圖5是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的存儲(chǔ)器控制電路單元的概要方框圖;圖6是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的管理可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的示意圖;圖7是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的程序化程序的示意圖;圖8是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的程序化程序的示意圖;圖9是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的存儲(chǔ)器管理方法的流程圖;圖10是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的存儲(chǔ)器管理方法的流程圖。附圖標(biāo)記:10、30:存儲(chǔ)器儲(chǔ)存裝置11、31:主機(jī)系統(tǒng)110:系統(tǒng)總線(xiàn)111:處理器112:隨機(jī)存取存儲(chǔ)器113:只讀存儲(chǔ)器114:數(shù)據(jù)傳輸接口12:輸入/輸出(i/o)裝置20:主板201:隨身碟202:記憶卡203:固態(tài)硬盤(pán)204:無(wú)線(xiàn)存儲(chǔ)器儲(chǔ)存裝置205:全球定位系統(tǒng)模塊206:網(wǎng)絡(luò)適配器207:無(wú)線(xiàn)傳輸裝置208:鍵盤(pán)209:屏幕210:喇叭32:sd卡33:cf卡34:嵌入式儲(chǔ)存裝置341:嵌入式多媒體卡342:嵌入式多芯片封裝儲(chǔ)存裝置402:連接接口單元404:存儲(chǔ)器控制電路單元406:可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊502:存儲(chǔ)器管理電路504:主機(jī)接口506:存儲(chǔ)器接口508:錯(cuò)誤檢查與校正電路510:緩沖存儲(chǔ)器512:電源管理電路601:儲(chǔ)存區(qū)602:閑置區(qū)610(0)~610(b):實(shí)體單元612(0)~612(d):邏輯單元s901~s907、s1001~s1010:步驟具體實(shí)施方式一般而言,存儲(chǔ)器儲(chǔ)存裝置(亦稱(chēng),存儲(chǔ)器儲(chǔ)存系統(tǒng))包括可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊(rewritablenon-volatilememorymodule)與控制器(亦稱(chēng),控制電路)。通常存儲(chǔ)器儲(chǔ)存裝置是與主機(jī)系統(tǒng)一起使用,以使主機(jī)系統(tǒng)可將數(shù)據(jù)寫(xiě)入至存儲(chǔ)器儲(chǔ)存裝置或從存儲(chǔ)器儲(chǔ)存裝置中讀取數(shù)據(jù)。圖1是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的主機(jī)系統(tǒng)、存儲(chǔ)器儲(chǔ)存裝置及輸入/輸出(i/o)裝置的示意圖。圖2是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的主機(jī)系統(tǒng)、存儲(chǔ)器儲(chǔ)存裝置及i/o裝置的示意圖。請(qǐng)參照?qǐng)D1與圖2,主機(jī)系統(tǒng)11一般包括處理器111、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)112、只讀存儲(chǔ)器(readonlymemory,rom)113及數(shù)據(jù)傳輸接口114。處理器111、隨機(jī)存取存儲(chǔ)器112、只讀存儲(chǔ)器113及數(shù)據(jù)傳輸接口114皆連接至系統(tǒng)總線(xiàn)(systembus)110。在本范例實(shí)施例中,主機(jī)系統(tǒng)11是通過(guò)數(shù)據(jù)傳輸接口114與存儲(chǔ)器儲(chǔ)存裝置10連接。例如,主機(jī)系統(tǒng)11可經(jīng)由數(shù)據(jù)傳輸接口114將數(shù)據(jù)儲(chǔ)存至存儲(chǔ)器儲(chǔ)存裝置10或從存儲(chǔ)器儲(chǔ)存裝置10中讀取數(shù)據(jù)。此外,主機(jī)系統(tǒng)11是通過(guò)系統(tǒng)總線(xiàn)110與i/o裝置12連接。例如,主機(jī)系統(tǒng)11可經(jīng)由系統(tǒng)總線(xiàn)110將輸出信號(hào)傳送至i/o裝置12或從i/o裝置12接收輸入信號(hào)。在本范例實(shí)施例中,處理器111、隨機(jī)存取存儲(chǔ)器112、只讀存儲(chǔ)器113及數(shù)據(jù)傳輸接口114可設(shè)置在主機(jī)系統(tǒng)11的主板20上。數(shù)據(jù)傳輸接口114的數(shù)目可以是一或多個(gè)。通過(guò)數(shù)據(jù)傳輸接口114,主板20可以經(jīng)由有線(xiàn)或無(wú)線(xiàn)方式連接至存儲(chǔ)器儲(chǔ)存裝置10。存儲(chǔ)器儲(chǔ)存裝置10可例如是隨身碟201、記憶卡202、固態(tài)硬盤(pán)(solidstatedrive,ssd)203或無(wú)線(xiàn)存儲(chǔ)器儲(chǔ)存裝置204。無(wú)線(xiàn)存儲(chǔ)器儲(chǔ)存裝置204可例如是近距離無(wú)線(xiàn)通信(nearfieldcommunication,nfc)存儲(chǔ)器儲(chǔ)存裝置、無(wú)線(xiàn)傳真(wifi)存儲(chǔ)器儲(chǔ)存裝置、藍(lán)牙(bluetooth)存儲(chǔ)器儲(chǔ)存裝置或低功耗藍(lán)牙存儲(chǔ)器儲(chǔ)存裝置(例如,ibeacon)等以各式無(wú)線(xiàn)通信 技術(shù)為基礎(chǔ)的存儲(chǔ)器儲(chǔ)存裝置。此外,主板20也可以通過(guò)系統(tǒng)總線(xiàn)110連接至全球定位系統(tǒng)(globalpositioningsystem,gps)模塊205、網(wǎng)絡(luò)適配器206、無(wú)線(xiàn)傳輸裝置207、鍵盤(pán)208、屏幕209、喇叭210等各式i/o裝置。例如,在一范例實(shí)施例中,主板20可通過(guò)無(wú)線(xiàn)傳輸裝置207存取無(wú)線(xiàn)存儲(chǔ)器儲(chǔ)存裝置204。在一范例實(shí)施例中,所提及的主機(jī)系統(tǒng)為可實(shí)質(zhì)地與存儲(chǔ)器儲(chǔ)存裝置配合以?xún)?chǔ)存數(shù)據(jù)的任意系統(tǒng)。雖然在上述范例實(shí)施例中,主機(jī)系統(tǒng)是以計(jì)算機(jī)系統(tǒng)來(lái)作說(shuō)明,然而,圖3是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的主機(jī)系統(tǒng)與存儲(chǔ)器儲(chǔ)存裝置的示意圖。請(qǐng)參照?qǐng)D3,在另一范例實(shí)施例中,主機(jī)系統(tǒng)31也可以是數(shù)碼相機(jī)、攝影機(jī)、通信裝置、音頻播放器、視頻播放器或平板電腦等系統(tǒng),而存儲(chǔ)器儲(chǔ)存裝置30可為其所使用的安全數(shù)字(securedigital,sd)卡32、小型快閃(compactflash,cf)卡33或嵌入式儲(chǔ)存裝置34等各式非易失性存儲(chǔ)器儲(chǔ)存裝置。嵌入式儲(chǔ)存裝置34包括嵌入式多媒體卡(embeddedmmc,emmc)341和/或嵌入式多芯片封裝(embeddedmultichippackage,emcp)儲(chǔ)存裝置342等各類(lèi)型將存儲(chǔ)器模塊直接連接于主機(jī)系統(tǒng)的基板上的嵌入式儲(chǔ)存裝置。圖4是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的存儲(chǔ)器儲(chǔ)存裝置的概要方框圖。請(qǐng)參照?qǐng)D4,存儲(chǔ)器儲(chǔ)存裝置10包括連接接口單元402、存儲(chǔ)器控制電路單元404與可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406。在本范例實(shí)施例中,連接接口單元402是兼容于序列先進(jìn)附件(serialadvancedtechnologyattachment,sata)標(biāo)準(zhǔn)。然而,必須了解的是,本發(fā)明不限于此,連接接口單元402亦可以是符合并列先進(jìn)附件(paralleladvancedtechnologyattachment,pata)標(biāo)準(zhǔn)、電氣和電子工程師協(xié)會(huì)(instituteofelectricalandelectronicengineers,ieee)1394標(biāo)準(zhǔn)、高速周邊零件連接接口(peripheralcomponentinterconnectexpress,pciexpress)標(biāo)準(zhǔn)、通用串行總線(xiàn)(universalserialbus,usb)標(biāo)準(zhǔn)、sd接口標(biāo)準(zhǔn)、超高速一代(ultrahighspeed-i,uhs-i)接口標(biāo)準(zhǔn)、超高速二代(ultrahighspeed-ii,uhs-ii)接口標(biāo)準(zhǔn)、記憶棒(memorystick,ms)接口標(biāo)準(zhǔn)、多芯片封裝(multi-chippackage)接口標(biāo)準(zhǔn)、多媒體儲(chǔ)存卡(multimediacard,mmc)接口標(biāo)準(zhǔn)、emmc接口標(biāo)準(zhǔn)、通用閃存 (universalflashstorage,ufs)接口標(biāo)準(zhǔn)、emcp接口標(biāo)準(zhǔn)、cf接口標(biāo)準(zhǔn)、整合式驅(qū)動(dòng)電子接口(integrateddeviceelectronics,ide)標(biāo)準(zhǔn)或其他適合的標(biāo)準(zhǔn)。連接接口單元402可與存儲(chǔ)器控制電路單元404封裝在一個(gè)芯片中,或者連接接口單元402是布設(shè)于一包含存儲(chǔ)器控制電路單元404的芯片外。存儲(chǔ)器控制電路單元404用以執(zhí)行以硬件型式或固件型式實(shí)作的多個(gè)邏輯門(mén)或控制指令并且根據(jù)主機(jī)系統(tǒng)11的指令在可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與抹除等運(yùn)作。可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406是連接至存儲(chǔ)器控制電路單元404并且用以?xún)?chǔ)存主機(jī)系統(tǒng)11所寫(xiě)入的數(shù)據(jù)??蓮?fù)寫(xiě)式非易失性存儲(chǔ)器模塊406可以是單階記憶胞(singlelevelcell,slc)nand型閃存模塊(即,一個(gè)記憶胞中可儲(chǔ)存1個(gè)位的閃存模塊)、多階記憶胞(multilevelcell,mlc)nand型閃存模塊(即,一個(gè)記憶胞中可儲(chǔ)存2個(gè)位的閃存模塊)、三階記憶胞(triplelevelcell,tlc)nand型閃存模塊(即,一個(gè)記憶胞中可儲(chǔ)存3個(gè)位的閃存模塊)、其他閃存模塊或其他具有相同特性的存儲(chǔ)器模塊??蓮?fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的每一個(gè)記憶胞是以電壓(以下亦稱(chēng)為臨界電壓)的改變來(lái)儲(chǔ)存一或多個(gè)位。具體來(lái)說(shuō),每一個(gè)記憶胞的控制柵極(controlgate)與信道之間有一個(gè)電荷捕捉層。通過(guò)施予一寫(xiě)入電壓至控制柵極,可以改變電荷補(bǔ)捉層的電子量,進(jìn)而改變記憶胞的臨界電壓。此改變臨界電壓的程序亦稱(chēng)為“把數(shù)據(jù)寫(xiě)入至記憶胞”或“程序化記憶胞”。隨著臨界電壓的改變,可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的每一個(gè)記憶胞具有多個(gè)儲(chǔ)存狀態(tài)。通過(guò)施予讀取電壓可以判斷一個(gè)記憶胞是屬于哪一個(gè)儲(chǔ)存狀態(tài),藉此取得此記憶胞所儲(chǔ)存的一個(gè)或多個(gè)位。圖5是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的存儲(chǔ)器控制電路單元的概要方框圖。請(qǐng)參照?qǐng)D5,存儲(chǔ)器控制電路單元404包括存儲(chǔ)器管理電路502、主機(jī)接口504及存儲(chǔ)器接口506。存儲(chǔ)器管理電路502用以控制存儲(chǔ)器控制電路單元404的整體運(yùn)作。具體來(lái)說(shuō),存儲(chǔ)器管理電路502具有多個(gè)控制指令,并且在存儲(chǔ)器儲(chǔ)存裝置10運(yùn)作時(shí),此些控制指令會(huì)被執(zhí)行以進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與抹除等運(yùn)作。以下說(shuō)明存儲(chǔ)器管理電路502的操作時(shí),等同于說(shuō)明存儲(chǔ)器控制電路單元404 的操作。在本范例實(shí)施例中,存儲(chǔ)器管理電路502的控制指令是以固件型式來(lái)實(shí)作。例如,存儲(chǔ)器管理電路502具有微處理器單元(未顯示)與只讀存儲(chǔ)器(未顯示),并且此些控制指令是被刻錄至此只讀存儲(chǔ)器中。當(dāng)存儲(chǔ)器儲(chǔ)存裝置10運(yùn)作時(shí),此些控制指令會(huì)由微處理器單元來(lái)執(zhí)行以進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與抹除等運(yùn)作。在另一范例實(shí)施例中,存儲(chǔ)器管理電路502的控制指令亦可以程序代碼型式儲(chǔ)存于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的特定區(qū)域(例如,存儲(chǔ)器模塊中專(zhuān)用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲(chǔ)器管理電路502具有微處理器單元(未顯示)、只讀存儲(chǔ)器(未顯示)及隨機(jī)存取存儲(chǔ)器(未顯示)。特別是,此只讀存儲(chǔ)器具有開(kāi)機(jī)碼(bootcode),并且當(dāng)存儲(chǔ)器控制電路單元404被致能時(shí),微處理器單元會(huì)先執(zhí)行此開(kāi)機(jī)碼來(lái)將儲(chǔ)存于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中的控制指令加載至存儲(chǔ)器管理電路502的隨機(jī)存取存儲(chǔ)器中。之后,微處理器單元會(huì)運(yùn)轉(zhuǎn)此些控制指令以進(jìn)行數(shù)據(jù)的寫(xiě)入、讀取與抹除等運(yùn)作。此外,在另一范例實(shí)施例中,存儲(chǔ)器管理電路502的控制指令亦可以一硬件型式來(lái)實(shí)作。例如,存儲(chǔ)器管理電路502包括微控制器、記憶胞管理電路、存儲(chǔ)器寫(xiě)入電路、存儲(chǔ)器讀取電路、存儲(chǔ)器抹除電路與數(shù)據(jù)處理電路。記憶胞管理電路、存儲(chǔ)器寫(xiě)入電路、存儲(chǔ)器讀取電路、存儲(chǔ)器抹除電路與數(shù)據(jù)處理電路是連接至微控制器。記憶胞管理電路用以管理可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的記憶胞或其群組。存儲(chǔ)器寫(xiě)入電路用以對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406下達(dá)寫(xiě)入指令序列(亦稱(chēng)為程序化指令序列)以將數(shù)據(jù)寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中。存儲(chǔ)器讀取電路用以對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406下達(dá)讀取指令序列以從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中讀取數(shù)據(jù)。存儲(chǔ)器抹除電路用以對(duì)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406下達(dá)抹除指令序列以將數(shù)據(jù)從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中抹除。數(shù)據(jù)處理電路用以處理欲寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù)以及從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中讀取的數(shù)據(jù)。寫(xiě)入指令序列、讀取指令序列及抹除指令序列可各別包括一個(gè)或多個(gè)程序代碼或腳本并且用以指示可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406執(zhí)行相對(duì)應(yīng)的寫(xiě)入、讀取及抹除等操作。在一范例實(shí)施例中,存儲(chǔ)器管理電路502還可以下達(dá)其他類(lèi)型的指令序列給 可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406以指示執(zhí)行相對(duì)應(yīng)的操作。主機(jī)接口504是連接至存儲(chǔ)器管理電路502并且用以接收與識(shí)別主機(jī)系統(tǒng)11所傳送的指令與數(shù)據(jù)。也就是說(shuō),主機(jī)系統(tǒng)11所傳送的指令與數(shù)據(jù)會(huì)通過(guò)主機(jī)接口504來(lái)傳送至存儲(chǔ)器管理電路502。在本范例實(shí)施例中,主機(jī)接口504是兼容于sata標(biāo)準(zhǔn)。然而,必須了解的是本發(fā)明不限于此,主機(jī)接口504亦可以是兼容于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)、uhs-i標(biāo)準(zhǔn)、uhs-ii標(biāo)準(zhǔn)、ms標(biāo)準(zhǔn)、mmc標(biāo)準(zhǔn)、emmc標(biāo)準(zhǔn)、ufs標(biāo)準(zhǔn)、cf標(biāo)準(zhǔn)、ide標(biāo)準(zhǔn)或其他適合的數(shù)據(jù)傳輸標(biāo)準(zhǔn)。存儲(chǔ)器接口506是連接至存儲(chǔ)器管理電路502并且用以存取可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406。也就是說(shuō),欲寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù)會(huì)經(jīng)由存儲(chǔ)器接口506轉(zhuǎn)換為可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406所能接受的格式。具體來(lái)說(shuō),若存儲(chǔ)器管理電路502要存取可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406,存儲(chǔ)器接口506會(huì)傳送對(duì)應(yīng)的指令序列。例如,這些指令序列可包括指示寫(xiě)入數(shù)據(jù)的寫(xiě)入指令序列、指示讀取數(shù)據(jù)的讀取指令序列、指示抹除數(shù)據(jù)的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準(zhǔn)位或執(zhí)行垃圾回收程序等等)的相對(duì)應(yīng)的指令序列。這些指令序列例如是由存儲(chǔ)器管理電路502產(chǎn)生并且通過(guò)存儲(chǔ)器接口506傳送至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406。這些指令序列可包括一個(gè)或多個(gè)信號(hào),或是在總線(xiàn)上的數(shù)據(jù)。這些信號(hào)或數(shù)據(jù)可包括腳本或程序代碼。例如,在讀取指令序列中,會(huì)包括讀取的辨識(shí)碼、存儲(chǔ)器地址等信息。在一范例實(shí)施例中,存儲(chǔ)器控制電路單元404還包括錯(cuò)誤檢查與校正電路508、緩沖存儲(chǔ)器510及電源管理電路512。錯(cuò)誤檢查與校正電路508是連接至存儲(chǔ)器管理電路502并且用以執(zhí)行錯(cuò)誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來(lái)說(shuō),當(dāng)存儲(chǔ)器管理電路502從主機(jī)系統(tǒng)11中接收到寫(xiě)入指令時(shí),錯(cuò)誤檢查與校正電路508會(huì)為對(duì)應(yīng)此寫(xiě)入指令的數(shù)據(jù)產(chǎn)生對(duì)應(yīng)的錯(cuò)誤更正碼(errorcorrectingcode,ecc)和/或錯(cuò)誤檢查碼(errordetectingcode,edc),并且存儲(chǔ)器管理電路502會(huì)將對(duì)應(yīng)此寫(xiě)入指令的數(shù)據(jù)與對(duì)應(yīng)的錯(cuò)誤更正碼和/或錯(cuò)誤檢查碼寫(xiě)入至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中。之后,當(dāng)存儲(chǔ)器管理電路502從可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中讀取數(shù)據(jù)時(shí)會(huì)同時(shí)讀取此數(shù)據(jù)對(duì)應(yīng)的錯(cuò)誤更正碼和/或錯(cuò)誤檢查 碼,并且錯(cuò)誤檢查與校正電路508會(huì)依據(jù)此錯(cuò)誤更正碼和/或錯(cuò)誤檢查碼對(duì)所讀取的數(shù)據(jù)執(zhí)行錯(cuò)誤檢查與校正程序。緩沖存儲(chǔ)器510是連接至存儲(chǔ)器管理電路502并且用以暫存來(lái)自于主機(jī)系統(tǒng)11的數(shù)據(jù)與指令或來(lái)自于可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的數(shù)據(jù)。電源管理電路512是連接至存儲(chǔ)器管理電路502并且用以控制存儲(chǔ)器儲(chǔ)存裝置10的電源。在本范例實(shí)施例中,可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的記憶胞會(huì)構(gòu)成多個(gè)實(shí)體程序化單元,并且此些實(shí)體程序化單元會(huì)構(gòu)成多個(gè)實(shí)體抹除單元。例如,同一條字符在線(xiàn)的記憶胞會(huì)組成一或多個(gè)實(shí)體程序化單元。若每一個(gè)記憶胞可儲(chǔ)存2個(gè)以上的位,則同一條字符在線(xiàn)的實(shí)體程序化單元至少可被分類(lèi)為下實(shí)體程序化單元與上實(shí)體程序化單元。例如,一記憶胞的最低有效位(leastsignificantbit,lsb)是屬于下實(shí)體程序化單元,并且一記憶胞的最高有效位(mostsignificantbit,msb)是屬于上實(shí)體程序化單元。一般來(lái)說(shuō),在mlcnand型閃存中,下實(shí)體程序化單元的寫(xiě)入速度會(huì)大于上實(shí)體程序化單元的寫(xiě)入速度,和/或下實(shí)體程序化單元的可靠度是高于上實(shí)體程序化單元的可靠度。在本范例實(shí)施例中,實(shí)體程序化單元為程序化的最小單元。即,實(shí)體程序化單元為寫(xiě)入數(shù)據(jù)的最小單元。例如,實(shí)體程序化單元為實(shí)體頁(yè)面(page)或是實(shí)體扇(sector)。若實(shí)體程序化單元為實(shí)體頁(yè)面,則此些實(shí)體程序化單元通常包括數(shù)據(jù)位區(qū)與冗余(redundancy)位區(qū)。數(shù)據(jù)位區(qū)包含多個(gè)實(shí)體扇,用以?xún)?chǔ)存用戶(hù)數(shù)據(jù),而冗余位區(qū)用以?xún)?chǔ)存系統(tǒng)數(shù)據(jù)(例如,錯(cuò)誤更正碼)。在本范例實(shí)施例中,數(shù)據(jù)位區(qū)包含32個(gè)實(shí)體扇,且一個(gè)實(shí)體扇的大小為512字節(jié)(byte,b)。然而,在其他范例實(shí)施例中,數(shù)據(jù)位區(qū)中也可包含8個(gè)、16個(gè)或數(shù)目更多或更少的實(shí)體扇,并且每一個(gè)實(shí)體扇的大小也可以是更大或更小。另一方面,實(shí)體抹除單元為抹除的最小單位。亦即,每一實(shí)體抹除單元含有最小數(shù)目之一并被抹除的記憶胞。例如,實(shí)體抹除單元為實(shí)體區(qū)塊(block)。圖6是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的管理可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊的示意圖。請(qǐng)參照?qǐng)D6,存儲(chǔ)器管理電路502會(huì)將可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406 的記憶胞邏輯地分組為實(shí)體單元610(0)~610(b)。在本范例實(shí)施例中,實(shí)體單元610(0)~610(b)中的每一個(gè)是指一個(gè)實(shí)體抹除單元。然而,在另一范例實(shí)施例中,實(shí)體單元610(0)~610(b)中的每一個(gè)也可以包含多個(gè)實(shí)體抹除單元。在本范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)將實(shí)體單元610(0)~610(b)邏輯地分組為儲(chǔ)存區(qū)601與閑置(spare)區(qū)602。儲(chǔ)存區(qū)601中的實(shí)體單元610(0)~610(a)儲(chǔ)存有數(shù)據(jù),而閑置區(qū)602中的實(shí)體單元610(a+1)~610(b)尚未被用來(lái)儲(chǔ)存數(shù)據(jù)。例如,屬于儲(chǔ)存區(qū)601的每一個(gè)實(shí)體單元可能儲(chǔ)存有有效數(shù)據(jù)和/或無(wú)效數(shù)據(jù),而屬于儲(chǔ)存區(qū)601的某一個(gè)實(shí)體單元被抹除之后就會(huì)被關(guān)聯(lián)至閑置區(qū)602。當(dāng)屬于儲(chǔ)存區(qū)601的某一個(gè)實(shí)體單元被寫(xiě)滿(mǎn)之后,某一個(gè)實(shí)體單元會(huì)被從閑置區(qū)602選擇并且被關(guān)聯(lián)至儲(chǔ)存區(qū)601,以?xún)?chǔ)存其他數(shù)據(jù)。在一范例實(shí)施例中,屬于閑置區(qū)602的每一個(gè)實(shí)體單元亦稱(chēng)為閑置實(shí)體單元,而屬于儲(chǔ)存區(qū)601的每一個(gè)實(shí)體單元亦稱(chēng)為非閑置(non-spare)實(shí)體單元。在一范例實(shí)施例中,閑置實(shí)體單元亦稱(chēng)為第一類(lèi)實(shí)體單元,而非閑置實(shí)體單元亦稱(chēng)為第二類(lèi)實(shí)體單元。在本范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)配置邏輯單元612(0)~612(c)以映象儲(chǔ)存區(qū)601中的實(shí)體單元610(0)~610(a)的至少一部分。在本范例實(shí)施例中,主機(jī)系統(tǒng)11是通過(guò)邏輯地址(logicaladdress,la)來(lái)存取儲(chǔ)存于儲(chǔ)存區(qū)601中的數(shù)據(jù),因此,邏輯單元612(0)~612(c)中的每一個(gè)是指一個(gè)邏輯地址。然而,在另一范例實(shí)施例中,邏輯單元612(0)~612(c)中的每一者也可以是由多個(gè)連續(xù)(例如,連續(xù)編號(hào))的邏輯地址組成。在本范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)將邏輯單元與實(shí)體單元之間的映象關(guān)系(亦稱(chēng)為邏輯-實(shí)體映象關(guān)系)記錄于至少一邏輯-實(shí)體映象表。當(dāng)主機(jī)系統(tǒng)11欲從存儲(chǔ)器儲(chǔ)存裝置10讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)至存儲(chǔ)器儲(chǔ)存裝置10時(shí),存儲(chǔ)器管理電路502可根據(jù)此邏輯-實(shí)體映象表來(lái)執(zhí)行對(duì)于存儲(chǔ)器儲(chǔ)存裝置10的數(shù)據(jù)存取。在一范例實(shí)施例中,邏輯-實(shí)體映象表以及特定的管理數(shù)據(jù)(例如,紀(jì)錄有存儲(chǔ)器儲(chǔ)存裝置10的管理信息的管理表格)會(huì)被儲(chǔ)存在不屬于儲(chǔ)存區(qū)601與閑置區(qū)602的其他實(shí)體單元中,以避免被使用者修改。在本范例實(shí)施例中,有效數(shù)據(jù)是屬于某一個(gè)邏輯單元的當(dāng)前數(shù)據(jù)(或最新數(shù)據(jù)),而無(wú)效數(shù)據(jù)則不是屬于任一個(gè)邏輯單元的當(dāng)前數(shù)據(jù)。例如,若主機(jī)系 統(tǒng)11將一筆新數(shù)據(jù)儲(chǔ)存至某一邏輯單元而覆蓋掉此邏輯單元原先儲(chǔ)存的舊數(shù)據(jù)(即,更新屬于此邏輯單元的數(shù)據(jù)),則儲(chǔ)存區(qū)601中的此筆新數(shù)據(jù)即為屬于此邏輯單元的當(dāng)前數(shù)據(jù)并且會(huì)被標(biāo)記為有效,而被覆蓋掉的舊數(shù)據(jù)可能仍然儲(chǔ)存在儲(chǔ)存區(qū)601中但被標(biāo)記為無(wú)效。在本范例實(shí)施例中,若屬于某一邏輯單元的數(shù)據(jù)被更新,則此邏輯單元與儲(chǔ)存有屬于此邏輯單元的舊數(shù)據(jù)的實(shí)體單元之間的映象關(guān)系會(huì)被移除,并且此邏輯單元與儲(chǔ)存有屬于此邏輯單元的當(dāng)前數(shù)據(jù)(或最新數(shù)據(jù))的實(shí)體單元之間的映象關(guān)系會(huì)被建立。然而,在另一范例實(shí)施例中,若屬于某一邏輯單元的數(shù)據(jù)被更新,則此邏輯單元與儲(chǔ)存有屬于此邏輯單元的舊數(shù)據(jù)的實(shí)體單元之間的映象關(guān)系仍可被維持。當(dāng)存儲(chǔ)器儲(chǔ)存裝置10出廠時(shí),屬于閑置區(qū)602的實(shí)體單元(即,第一類(lèi)實(shí)體單元)的總數(shù)會(huì)是一個(gè)預(yù)置數(shù)目(例如,30)。隨著存儲(chǔ)器儲(chǔ)存裝置10的使用,越來(lái)越多的實(shí)體單元會(huì)被從閑置區(qū)602選擇并且被關(guān)聯(lián)至儲(chǔ)存區(qū)601以?xún)?chǔ)存數(shù)據(jù)(例如,來(lái)自主機(jī)系統(tǒng)11的用戶(hù)數(shù)據(jù))。因此,屬于閑置區(qū)602的實(shí)體單元(即,第一類(lèi)實(shí)體單元)的總數(shù)會(huì)隨著存儲(chǔ)器儲(chǔ)存裝置10的使用而逐漸減少。在存儲(chǔ)器儲(chǔ)存裝置10的運(yùn)作中,存儲(chǔ)器管理電路502會(huì)持續(xù)更新屬于閑置區(qū)602的實(shí)體單元(即,第一類(lèi)實(shí)體單元)的總數(shù)。存儲(chǔ)器管理電路502會(huì)判斷第一類(lèi)實(shí)體單元的總數(shù)是否小于或等于一個(gè)門(mén)檻值(以下亦稱(chēng)為第一門(mén)檻值)。此第一門(mén)檻值例如是2或者更大的值(例如,10),本發(fā)明不加以限制。若第一類(lèi)實(shí)體單元的總數(shù)小于或等于第一門(mén)檻值,存儲(chǔ)器管理電路502會(huì)執(zhí)行一個(gè)數(shù)據(jù)整并程序。在一范例實(shí)施例中,此數(shù)據(jù)整并程序亦稱(chēng)為垃圾回收程序(garbagecollectionprocess)。在數(shù)據(jù)整并程序中,存儲(chǔ)器管理電路502會(huì)從儲(chǔ)存區(qū)601中選擇至少一個(gè)實(shí)體單元并且嘗試將有效數(shù)據(jù)從所選擇的實(shí)體單元集中復(fù)制(或搬移)到另一實(shí)體單元。用來(lái)儲(chǔ)存所復(fù)制(或搬移)的有效數(shù)據(jù)的實(shí)體單元?jiǎng)t是從閑置區(qū)602中選擇并且會(huì)被關(guān)聯(lián)至儲(chǔ)存區(qū)601。若某一個(gè)實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)皆已被復(fù)制(或搬移),則此實(shí)體單元會(huì)被抹除并且被關(guān)聯(lián)至閑置區(qū)602。在一范例實(shí)施例中,將某一個(gè)實(shí)體單元從儲(chǔ)存區(qū)601重新關(guān)聯(lián)回閑置區(qū)602的操作亦稱(chēng)為釋放一個(gè)閑置實(shí)體單元。隨著數(shù)據(jù)整并程序的運(yùn)行時(shí)間增 加,越來(lái)越多的閑置實(shí)體單元會(huì)被釋放。藉此,在開(kāi)始執(zhí)行數(shù)據(jù)整并程序之后,屬于閑置區(qū)602的實(shí)體單元(即,第一類(lèi)實(shí)體單元)的總數(shù)會(huì)逐漸增加,例如,從第一數(shù)目變更至第二數(shù)目。其中,第二數(shù)目大于第一數(shù)目。在本范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)判斷第一類(lèi)實(shí)體單元的總數(shù)是否大于或等于另一個(gè)門(mén)檻值(以下亦稱(chēng)為第二門(mén)檻值)。在本范例實(shí)施例中,第二門(mén)檻值會(huì)大于第一門(mén)檻值。例如,若第一門(mén)檻值是“2”,則第二門(mén)檻值可能是“15”或任何大于“2”的數(shù)值。若第一類(lèi)實(shí)體單元的總數(shù)大于或等于第二門(mén)檻值,存儲(chǔ)器管理電路502會(huì)停止數(shù)據(jù)整并程序。在本范例實(shí)施例中,停止數(shù)據(jù)整并程序是指結(jié)束當(dāng)前執(zhí)行中的數(shù)據(jù)整并程序。在停止一個(gè)數(shù)據(jù)整并程序之后,若第一類(lèi)實(shí)體單元的總數(shù)再次小于或等于第一門(mén)檻值,則下一個(gè)數(shù)據(jù)整并程序會(huì)再次被執(zhí)行。然而,在另一范例實(shí)施例中,第二門(mén)檻值也可能會(huì)等于第一門(mén)檻值。在本范例實(shí)施例中,屬于閑置區(qū)602的實(shí)體單元(即,第一類(lèi)實(shí)體單元)的總數(shù)會(huì)被記載在一個(gè)管理表格中。當(dāng)某一個(gè)閑置實(shí)體單元被釋放時(shí),存儲(chǔ)器管理電路502會(huì)將此管理表格所記載的第一類(lèi)實(shí)體單元的總數(shù)加“1”;當(dāng)某一個(gè)實(shí)體單元被從閑置區(qū)602關(guān)聯(lián)至儲(chǔ)存區(qū)601以?xún)?chǔ)存數(shù)據(jù)時(shí),存儲(chǔ)器管理電路502會(huì)將此管理表格所記載的第一類(lèi)實(shí)體單元的總數(shù)減“1”。在存儲(chǔ)器儲(chǔ)存裝置10的運(yùn)作中,存儲(chǔ)器管理電路502會(huì)根據(jù)此管理表格所記載的第一類(lèi)實(shí)體單元的總數(shù)來(lái)判斷是否需要執(zhí)行下一個(gè)數(shù)據(jù)整并程序和/或是否要停止執(zhí)行中的數(shù)據(jù)整并程序。在一范例實(shí)施例中,當(dāng)欲儲(chǔ)存特定類(lèi)型的數(shù)據(jù)時(shí),存儲(chǔ)器管理電路502也可能直接停止執(zhí)行中的數(shù)據(jù)整并程序,即便當(dāng)前記錄于上述管理表格中的第一類(lèi)實(shí)體單元的總數(shù)尚未達(dá)到第二門(mén)檻值。例如,在一范例實(shí)施例中,此特定類(lèi)型的數(shù)據(jù)是指循序(sequential)數(shù)據(jù)。在一范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)從主機(jī)系統(tǒng)11接收數(shù)據(jù)(以下亦稱(chēng)為第一數(shù)據(jù))并且據(jù)以執(zhí)行一程序化程序(以下亦稱(chēng)為第一程序化程序)。在第一程序化程序中,存儲(chǔ)器管理電路502會(huì)發(fā)送至少一程序化指令序列至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406,以指示將第一數(shù)據(jù)的至少一部分程序化至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中。在一范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)判斷第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù) 或第二類(lèi)數(shù)據(jù)。其中,第一類(lèi)數(shù)據(jù)是指循序數(shù)據(jù),而第二類(lèi)數(shù)據(jù)是指非循序數(shù)據(jù)。例如,第一類(lèi)數(shù)據(jù)屬于多個(gè)連續(xù)(或連續(xù)編號(hào))的邏輯單元,而第二類(lèi)數(shù)據(jù)則不屬于多個(gè)連續(xù)的邏輯單元。例如,若第一數(shù)據(jù)被儲(chǔ)存至連續(xù)編號(hào)的多個(gè)邏輯單元或某一個(gè)邏輯地址范圍內(nèi),則第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù);然而,若第一數(shù)據(jù)被儲(chǔ)存至非連續(xù)編號(hào)的(即,離散的)多個(gè)邏輯單元,則第一數(shù)據(jù)為第二類(lèi)數(shù)據(jù)。在一范例實(shí)施例中,若第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù),則第一程序化程序可視為循序?qū)懭?sequentialwrite)程序;然而,若第一數(shù)據(jù)是第二類(lèi)數(shù)據(jù),則第一程序化程序可視為隨機(jī)寫(xiě)入(randomwrite)程序。在一范例實(shí)施例中,若第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù)(或第一程序化程序是循序?qū)懭氤绦?且當(dāng)前有一個(gè)數(shù)據(jù)整并程序被執(zhí)行,則在此數(shù)據(jù)整并程序中,即便記錄于上述管理表格中的第一類(lèi)實(shí)體單元的總數(shù)(即,上述第二數(shù)目)尚未達(dá)到第二門(mén)檻值,存儲(chǔ)器管理電路502也可能直接停止執(zhí)行中的數(shù)據(jù)整并程序。藉此,可減少數(shù)據(jù)整并程序?qū)τ谘驅(qū)懭氤绦虻膶?xiě)入速度(或?qū)懭霂?的影響;然而,若第一數(shù)據(jù)是第二類(lèi)數(shù)據(jù)(或第一程序化程序是隨機(jī)寫(xiě)入程序),則(只有)當(dāng)記錄于上述管理表格中的第一類(lèi)實(shí)體單元的總數(shù)(即,上述第二數(shù)目)達(dá)到第二門(mén)檻值時(shí),存儲(chǔ)器管理電路502才會(huì)停止執(zhí)行中的數(shù)據(jù)整并程序。圖7是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的程序化程序的示意圖。請(qǐng)參照?qǐng)D7,存儲(chǔ)器管理電路502從主機(jī)系統(tǒng)11接收屬于邏輯單元612(0)~612(d)的數(shù)據(jù)(即第一數(shù)據(jù))。其中,邏輯單元612(0)~612(d)是連續(xù)編號(hào)的(或?qū)儆谕粋€(gè)邏輯地址范圍),故屬于邏輯單元612(0)~612(d)的數(shù)據(jù)為第一類(lèi)數(shù)據(jù)(即循序數(shù)據(jù))。在一范例實(shí)施例中,若一個(gè)邏輯單元是指一個(gè)邏輯地址,則邏輯單元612(0)~612(d)是由多個(gè)連續(xù)的邏輯地址組成。其中,任兩個(gè)連續(xù)編號(hào)的邏輯單元具有連續(xù)的邏輯地址。在另一范例實(shí)施例中,若一個(gè)邏輯單元包含多個(gè)連續(xù)的邏輯地址,則邏輯單元612(0)~612(d)中任兩個(gè)連續(xù)編號(hào)的邏輯單元是指后一個(gè)邏輯單元的起始邏輯地址接續(xù)于前一個(gè)邏輯單元的結(jié)束邏輯地址。例如,邏輯單元612(1)的起始邏輯地址接續(xù)于邏輯單元612(0)的結(jié)束邏輯地址,邏輯單元612(2)的起始邏輯地址接續(xù)于邏輯單元612(1)的結(jié)束邏輯地址等,以此類(lèi)推。在接收到第一數(shù)據(jù)之后,存儲(chǔ)器管理電路502會(huì)執(zhí)行第一程序化程序。在第一程序化程序中,存儲(chǔ)器管理電路502會(huì)指示將第一數(shù)據(jù)程序化至儲(chǔ)存區(qū)601中的至少一實(shí)體單元。在本范例實(shí)施例中,一個(gè)實(shí)體單元可用于儲(chǔ)存屬于32個(gè)邏輯單元的數(shù)據(jù),故屬于邏輯單元612(0)~612(31)的數(shù)據(jù)(即第一數(shù)據(jù)中的至少一部分?jǐn)?shù)據(jù))會(huì)先被程序化至實(shí)體單元601(e)(以下亦稱(chēng)為第一實(shí)體單元)。同時(shí),邏輯單元612(0)~612(31)會(huì)被映象至實(shí)體單元601(e)。由于邏輯單元612(0)~612(31)也是連續(xù)(或連續(xù)編號(hào))的,故實(shí)體單元601(e)所儲(chǔ)存的數(shù)據(jù)也為第一類(lèi)數(shù)據(jù)。在一范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)根據(jù)實(shí)體單元601(e)所儲(chǔ)存的數(shù)據(jù)是否為第一類(lèi)數(shù)據(jù)和/或儲(chǔ)存于實(shí)體單元601(e)的數(shù)據(jù)是否占用連續(xù)(或連續(xù)編號(hào))的多個(gè)邏輯單元來(lái)判定整個(gè)第一數(shù)據(jù)是否為第一類(lèi)數(shù)據(jù)。例如,實(shí)體單元601(e)所儲(chǔ)存的數(shù)據(jù)為第一類(lèi)數(shù)據(jù),故存儲(chǔ)器管理電路502會(huì)據(jù)以判定整個(gè)第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù)。在另一范例實(shí)施例中,若實(shí)體單元601(e)所儲(chǔ)存的數(shù)據(jù)為第二類(lèi)數(shù)據(jù),則存儲(chǔ)器管理電路502會(huì)據(jù)以判定整個(gè)第一數(shù)據(jù)為第二類(lèi)數(shù)據(jù)。在一范例實(shí)施例中,實(shí)體單元601(e)會(huì)儲(chǔ)存一個(gè)系統(tǒng)數(shù)據(jù)。此系統(tǒng)信息用以表示實(shí)體單元601(e)所儲(chǔ)存的數(shù)據(jù)是否為第一類(lèi)數(shù)據(jù)和/或儲(chǔ)存于實(shí)體單元601(e)的數(shù)據(jù)占用了哪些邏輯單元(或邏輯地址)。存儲(chǔ)器管理電路502可查詢(xún)此系統(tǒng)數(shù)據(jù)以獲得實(shí)體單元601(e)所儲(chǔ)存的數(shù)據(jù)是否為第一類(lèi)數(shù)據(jù)。在寫(xiě)滿(mǎn)實(shí)體單元601(e)之后,存儲(chǔ)器管理電路502會(huì)從閑置區(qū)602中選擇另一個(gè)實(shí)體單元以?xún)?chǔ)存第一數(shù)據(jù)中尚未儲(chǔ)存(或程序化)的數(shù)據(jù)。例如,存儲(chǔ)器管理電路502會(huì)從閑置區(qū)602中選擇實(shí)體單元610(e+1)并且將實(shí)體單元610(e+1)關(guān)聯(lián)至儲(chǔ)存區(qū)601。在選擇實(shí)體單元610(e+1)之后,閑置區(qū)602中只剩下實(shí)體單元610(b),如圖7所示。在選擇實(shí)體單元610(e+1)之后,存儲(chǔ)器管理電路502會(huì)在上述管理表格中將第一類(lèi)實(shí)體單元的總數(shù)從“2”更新為“1”并且判定第一類(lèi)實(shí)體單元的總數(shù)(即,“1”)小于第一門(mén)檻值(例如,2)。因此,存儲(chǔ)器管理電路502會(huì)開(kāi)始執(zhí)行一個(gè)數(shù)據(jù)整并程序。然而,在另一范例實(shí)施例中,數(shù)據(jù)整并程序亦可以是在執(zhí)行第一程序化程序之前即已開(kāi)始執(zhí)行,或者在第一程序化程序中的任一時(shí)間點(diǎn)被觸發(fā),本發(fā)明不加以限制。在數(shù)據(jù)整并程序中,存儲(chǔ)器管理電路502會(huì)執(zhí)行一個(gè)選擇程序。此選擇程序是用以選擇有效數(shù)據(jù)的來(lái)源節(jié)點(diǎn)。例如,在選擇程序中,存儲(chǔ)器管理電路502會(huì)從儲(chǔ)存區(qū)601中選擇作為來(lái)源節(jié)點(diǎn)的一個(gè)實(shí)體單元(以下亦稱(chēng)為第二實(shí)體單元)。被選擇作為有效數(shù)據(jù)的來(lái)源節(jié)點(diǎn)的第二實(shí)體單元會(huì)符合選擇程序的一個(gè)篩選條件。例如,在一范例實(shí)施例中,此篩選條件是儲(chǔ)存區(qū)601中儲(chǔ)存最少的有效數(shù)據(jù)的一個(gè)實(shí)體單元?;蛘撸诹硪环独龑?shí)施例中,所選擇的第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量會(huì)小于一個(gè)平均值。其中,此平均值是指儲(chǔ)存區(qū)601中至少部分(或所有)的實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量的平均。然而,此篩選條件也可以包含任意有用的條件,本發(fā)明不加以限制。在一范例實(shí)施例中,在選擇第二實(shí)體單元之后,存儲(chǔ)器管理電路502會(huì)開(kāi)始復(fù)制(或搬移)儲(chǔ)存于第二實(shí)體單元中的有效數(shù)據(jù)。例如,存儲(chǔ)器管理電路502會(huì)將儲(chǔ)存于第二實(shí)體單元中的有效數(shù)據(jù)復(fù)制(或搬移)到另一個(gè)實(shí)體單元(以下亦稱(chēng)為第三實(shí)體單元)。其中,第三實(shí)體單元也是從閑置區(qū)602中選擇并且用以集中儲(chǔ)存在數(shù)據(jù)整并程序中收集的有效數(shù)據(jù)。在將儲(chǔ)存于第二實(shí)體單元中所有的有效數(shù)據(jù)都復(fù)制(或搬移)至第三實(shí)體單元之后,第二實(shí)體單元會(huì)被抹除。在一范例實(shí)施例中,在選擇第二實(shí)體單元之后,存儲(chǔ)器管理電路502還會(huì)判斷第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于一個(gè)預(yù)置值。例如,某一個(gè)實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是用此實(shí)體單元的一個(gè)有效計(jì)數(shù)值來(lái)表示。其中,此有效計(jì)數(shù)值會(huì)對(duì)應(yīng)于此實(shí)體單元中儲(chǔ)存有有效數(shù)據(jù)的實(shí)體子單元的總數(shù)。例如,若第二實(shí)體單元的有效計(jì)數(shù)值是“2”,表示第二實(shí)體單元中有2個(gè)實(shí)體子單元儲(chǔ)存有有效數(shù)據(jù)。在本范例實(shí)施例中,一個(gè)實(shí)體子單元是指一個(gè)實(shí)體程序化單元。然而,在另一范例實(shí)施例中,一個(gè)實(shí)體子單元也可以是由一個(gè)實(shí)體抹除單元中任意數(shù)目的記憶胞組成。在一范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)判斷第二實(shí)體單元的有效計(jì)數(shù)值是否大于一預(yù)置計(jì)數(shù)值。若第二實(shí)體單元的有效計(jì)數(shù)值大于此預(yù)置計(jì)數(shù)值,存儲(chǔ)器管理電路502會(huì)判定第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量大于上述預(yù)置值并且開(kāi)始復(fù)制(或搬移)儲(chǔ)存于第二實(shí)體單元中的有效數(shù)據(jù);然而,若第二實(shí)體單元的有效計(jì)數(shù)值不大于此預(yù)置計(jì)數(shù)值,則存儲(chǔ)器管理電路 502會(huì)判定第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量不大于上述預(yù)置值。若第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量不大于上述預(yù)置值,則存儲(chǔ)器管理電路502會(huì)將第二實(shí)體單元抹除并且直接停止數(shù)據(jù)整并程序。具體而言,在將第二實(shí)體單元抹除(即,釋放一個(gè)閑置實(shí)體單元)之后,存儲(chǔ)器管理電路502可能會(huì)需要一段處理時(shí)間去更新上述管理表格(例如,將第一類(lèi)實(shí)體單元的總數(shù)加“1”)。然而,在一范例實(shí)施例中,若第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量不大于上述預(yù)置值,則在此處理時(shí)間內(nèi),即便第一類(lèi)實(shí)體單元的總數(shù)尚未被更新,存儲(chǔ)器管理電路502也會(huì)直接停止數(shù)據(jù)整并程序。此外,若數(shù)據(jù)整并程序是基于第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量不大于上述預(yù)置值而停止,則在經(jīng)過(guò)上述處理時(shí)間之后,更新后的第一類(lèi)實(shí)體單元的總數(shù)可能會(huì)達(dá)到或未達(dá)到上述第二門(mén)檻值,本發(fā)明不加以限制。在本范例實(shí)施例中,預(yù)置計(jì)數(shù)值與預(yù)置值皆是零。也就是說(shuō),若所選擇要作為有效數(shù)據(jù)的來(lái)源節(jié)點(diǎn)的第二實(shí)體單元中沒(méi)有需要復(fù)制(或搬移)的有效數(shù)據(jù),則第二實(shí)體單元可以隨即被抹除并且被釋放為一個(gè)閑置實(shí)體單元。同時(shí),執(zhí)行中的數(shù)據(jù)整并程序會(huì)立即被停止。藉此,第一數(shù)據(jù)中尚未儲(chǔ)存(或程序化)的數(shù)據(jù)(例如,屬于邏輯單元612(32)~612(d)的數(shù)據(jù))可隨即被程序化至實(shí)體單元610(e+1)或者更多實(shí)體單元。值得一提的是,在圖7的范例實(shí)施例中,第一程序化程序是用以程序化屬于邏輯單元612(0)~612(d)的循序數(shù)據(jù),故每當(dāng)儲(chǔ)存區(qū)601中的一個(gè)實(shí)體單元被寫(xiě)滿(mǎn),相對(duì)應(yīng)地就可以釋放一個(gè)閑置實(shí)體單元。藉此,即便在執(zhí)行第一程序化程序的過(guò)程中,第一類(lèi)實(shí)體單元的總數(shù)始終未達(dá)到一個(gè)預(yù)置數(shù)目(例如,上述第二門(mén)檻值),仍可確保第一程序化程序順暢地執(zhí)行。此外,上述快速地啟動(dòng)并停止數(shù)據(jù)整并程序的操作亦可以應(yīng)用在后續(xù)儲(chǔ)存屬于邏輯單元612(32)~612(d)的數(shù)據(jù)的過(guò)程中,在此便不贅述。在一范例實(shí)施例中,若第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù),則在開(kāi)始執(zhí)行數(shù)據(jù)整并程序之后,第一程序化程序的寫(xiě)入帶寬會(huì)被限制至小于或等于一預(yù)置帶寬。其中,寫(xiě)入帶寬用以表示每秒將多少數(shù)據(jù)程序化至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406中。也就是說(shuō),藉由將第一程序化程序的寫(xiě)入帶寬限制至小于或等于預(yù)置帶寬,可提供更多的寫(xiě)入帶寬供數(shù)據(jù)整并程序使用,從而增加數(shù)據(jù)整并程序中對(duì)于有效數(shù)據(jù)的收集效率并且可縮短數(shù)據(jù)整并程序的運(yùn)行時(shí)間。在一范例實(shí)施例中,若第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù),則在開(kāi)始執(zhí)行數(shù)據(jù)整并程序之后,第一程序化程序會(huì)被暫停。其中,暫停第一程序化程序也可以視為將第一程序化程序的寫(xiě)入帶寬限制為零。例如,在一范例實(shí)施例中,存儲(chǔ)器管理電路502可配置一指令隊(duì)列,其用以暫存指示儲(chǔ)存數(shù)據(jù)的至少一指令。例如,此指令隊(duì)列會(huì)基于先入先出(firstinfirstout)規(guī)則來(lái)將暫存于其中的指令依序輸出。若此指令隊(duì)列輸出一個(gè)用于指示儲(chǔ)存第一數(shù)據(jù)的指令,存儲(chǔ)器管理電路502會(huì)指示可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406儲(chǔ)存第一數(shù)據(jù)的至少一部分。另外,若此指令隊(duì)列輸出一個(gè)用于指示儲(chǔ)存數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令,則存儲(chǔ)器管理電路502會(huì)指示可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406儲(chǔ)存由數(shù)據(jù)整并程序所收集的數(shù)據(jù)。在一范例實(shí)施例中,若第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù),存儲(chǔ)器管理電路502會(huì)暫停將指示儲(chǔ)存第一數(shù)據(jù)的指令加入至此指令隊(duì)列中,以暫停第一程序化程序。同時(shí),更多用于指示儲(chǔ)存數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令可被加入至此指令隊(duì)列中,使得將數(shù)據(jù)整并程序所收集的數(shù)據(jù)回存至可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的操作可以被連續(xù)地執(zhí)行。藉此,可以確保在暫停第一程序化程序的期間所有的傳輸帶寬都可以供數(shù)據(jù)整并程序使用,更進(jìn)一步縮短數(shù)據(jù)整并程序的運(yùn)行時(shí)間。在停止數(shù)據(jù)整并程序之后,第一程序化程序可被恢復(fù)執(zhí)行。例如,在停止數(shù)據(jù)整并程序之后,存儲(chǔ)器管理電路502會(huì)恢復(fù)將指示儲(chǔ)存第一數(shù)據(jù)的指令加入至此指令隊(duì)列中。在一范例實(shí)施例中,若第一數(shù)據(jù)為第二類(lèi)數(shù)據(jù),則在開(kāi)始執(zhí)行數(shù)據(jù)整并程序之后,存儲(chǔ)器管理電路502允許數(shù)據(jù)整并程序與第一程序化程序共享傳輸帶寬。例如,在配置有上述指令隊(duì)列的一范例實(shí)施例中,若第一數(shù)據(jù)為第二類(lèi)數(shù)據(jù),則指示儲(chǔ)存第一數(shù)據(jù)的指令與指示儲(chǔ)存數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令皆可被加入至此指令隊(duì)列中。例如,存儲(chǔ)器管理電路502可隨機(jī)地或依據(jù)一預(yù)置比例將指示儲(chǔ)存第一數(shù)據(jù)的指令與指示儲(chǔ)存數(shù)據(jù)整并程序所收集的數(shù)據(jù)的指令加入至此指令隊(duì)列。然后,根據(jù)此指令隊(duì)列的輸出,相應(yīng)的寫(xiě)入操作可被可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406執(zhí)行。因此,相對(duì)于第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù)的情況,當(dāng)?shù)谝粩?shù)據(jù)為第二類(lèi)數(shù)據(jù)時(shí),若數(shù)據(jù)整并程序被觸發(fā),則第一程序化程序的寫(xiě)入帶寬會(huì)在整個(gè)可復(fù)寫(xiě)式非易失性存儲(chǔ)器模塊406的傳輸帶寬中占有較大比例。在一范例實(shí)施例中,第一程序化程序是接續(xù)于前一個(gè)程序化程序(以下亦稱(chēng)為第二程序化程序)執(zhí)行的。第二程序化程序是用以?xún)?chǔ)存來(lái)自于主機(jī)系統(tǒng)11的另一數(shù)據(jù)(以下亦稱(chēng)為第二數(shù)據(jù))。其中,第二數(shù)據(jù)是第二類(lèi)數(shù)據(jù)。換言之,第二數(shù)據(jù)是屬于多個(gè)離散的邏輯單元。在一范例實(shí)施例中,上述在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到第二門(mén)檻值之前就停止執(zhí)行中的數(shù)據(jù)整并程序的操作是(只有)在判定第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù)(或第一程序化程序是循序?qū)懭氤绦?且第一程序化程序是接續(xù)于此第二程序化程序之后才會(huì)執(zhí)行。圖8是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的程序化程序的示意圖。請(qǐng)參照?qǐng)D8,主機(jī)系統(tǒng)11指示先儲(chǔ)存屬于邏輯單元612(g)、612(g+2)…612(h)的數(shù)據(jù)(即,第二數(shù)據(jù)),然后再儲(chǔ)存屬于邏輯單元612(0)~612(d)的數(shù)據(jù)(即,第一數(shù)據(jù))。其中,邏輯單元612(g)、612(g+2)…612(h)是分散的(即未連續(xù)編號(hào)),而邏輯單元612(0)~612(d)是連續(xù)的(即連續(xù)編號(hào))。因此,第二數(shù)據(jù)是第二類(lèi)數(shù)據(jù),而第一數(shù)據(jù)為第一類(lèi)數(shù)據(jù)。在本范例實(shí)施例中,存儲(chǔ)器管理電路502會(huì)先執(zhí)行一個(gè)程序化程序(即,第二程序化程序)以將第二數(shù)據(jù)程序化至實(shí)體單元610(0)~610(i)。然后,存儲(chǔ)器管理電路502會(huì)執(zhí)行第一程序化程序以將第一數(shù)據(jù)程序化至包含實(shí)體單元610(i+1)在內(nèi)的其余實(shí)體單元。其中,用于程序化第二數(shù)據(jù)的第二程序化程序亦稱(chēng)為隨機(jī)寫(xiě)入程序,而用于程序化第一數(shù)據(jù)的第一程序化程序亦稱(chēng)為循序?qū)懭氤绦?。在本范例?shí)施例中,在執(zhí)行第二程序化程序的過(guò)程中,若一個(gè)數(shù)據(jù)整并程序被執(zhí)行,則存儲(chǔ)器管理電路502只會(huì)依照預(yù)置的規(guī)則來(lái)停止數(shù)據(jù)整并程序(例如,當(dāng)判定第一類(lèi)實(shí)體單元的總數(shù)達(dá)到上述第二門(mén)檻值時(shí),此數(shù)據(jù)整并程序會(huì)被停止),而不會(huì)執(zhí)行上述在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到第二門(mén)檻值之前就停止數(shù)據(jù)整并程序的操作。然而,在切換至執(zhí)行第一程序化程序之后,若一個(gè)數(shù)據(jù)整并程序被執(zhí)行,則在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到第二門(mén)檻值之前,存儲(chǔ)器管理電路502就可能直接停止數(shù)據(jù)整并程序,從而避免第一程序化程序的執(zhí)行速度受到數(shù)據(jù)整并程序的影響。此外,圖8的范例實(shí)施例中其余的操作細(xì)節(jié)皆已詳述于圖7的范例實(shí)施例中,故在此便不贅述。值得一提的是,在圖8的另一范例實(shí)施例中,在執(zhí)行第二程序化程序之前,用來(lái)程序化第一類(lèi)數(shù)據(jù)的另一循序?qū)懭氤绦?以下亦稱(chēng)為第三程序化程序) 已先被執(zhí)行。因此,在接續(xù)于第二程序化程序而執(zhí)行的第一程序化程序中,若有數(shù)據(jù)整并程序被執(zhí)行,表示此時(shí)屬于儲(chǔ)存區(qū)601的實(shí)體單元610(0)~610(f)(即,第二類(lèi)實(shí)體單元)實(shí)際上是同時(shí)儲(chǔ)存有第一類(lèi)數(shù)據(jù)(即,循序數(shù)據(jù))與第二類(lèi)數(shù)據(jù)(非循序數(shù)據(jù))。例如,儲(chǔ)存區(qū)601是被循序數(shù)據(jù)與非循序數(shù)據(jù)寫(xiě)滿(mǎn)。圖9是根據(jù)本發(fā)明的一范例實(shí)施例所顯示的存儲(chǔ)器管理方法的流程圖。請(qǐng)參照?qǐng)D9,在步驟s901中,接收第一數(shù)據(jù)。在步驟s902中,執(zhí)行第一程序化程序。在步驟s903中,判斷第一類(lèi)實(shí)體單元的總數(shù)是否小于或等于第一門(mén)檻值。若否,回到步驟s902。若第一類(lèi)實(shí)體單元的總數(shù)小于或等于第一門(mén)檻值,在步驟s904中,執(zhí)行數(shù)據(jù)整并程序。在步驟s905中,判斷第一數(shù)據(jù)是否是第一類(lèi)數(shù)據(jù)。若第一數(shù)據(jù)是第一類(lèi)數(shù)據(jù),在步驟s906中,在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到第二門(mén)檻值之前,停止數(shù)據(jù)整并程序。若第一數(shù)據(jù)不是第一類(lèi)數(shù)據(jù)(即,第一數(shù)據(jù)為第二類(lèi)數(shù)據(jù)),在步驟s907中,在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到第二門(mén)檻值之后,停止數(shù)據(jù)整并程序。圖10是根據(jù)本發(fā)明的另一范例實(shí)施例所顯示的存儲(chǔ)器管理方法的流程圖。請(qǐng)參照?qǐng)D10,在步驟s1001中,接收第一數(shù)據(jù)并執(zhí)行第一程序化程序。在步驟s1002中,將第一數(shù)據(jù)的至少一部分?jǐn)?shù)據(jù)程序化至第一實(shí)體單元。在步驟s1003中,判斷第一類(lèi)實(shí)體單元的總數(shù)是否小于或等于第一門(mén)檻值。若否,再次執(zhí)行步驟s1002,持續(xù)將第一數(shù)據(jù)程序化至第一實(shí)體單元。若第一類(lèi)實(shí)體單元的總數(shù)小于或等于第一門(mén)檻值,在步驟s1004中,執(zhí)行數(shù)據(jù)整并程序。在步驟s1005中,選擇屬于第二類(lèi)實(shí)體單元的一個(gè)第二實(shí)體單元以作為有效數(shù)據(jù)的來(lái)源節(jié)點(diǎn)。在步驟s1006中,判斷第一數(shù)據(jù)是否為循序數(shù)據(jù)。若第一數(shù)據(jù)是循序數(shù)據(jù),在步驟s1007中,判斷第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量是否大于一預(yù)置值。若第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量不大于此預(yù)置值,在步驟s1008中,抹除第二實(shí)體單元并停止(或結(jié)束)數(shù)據(jù)整并程序。若第二實(shí)體單元所儲(chǔ)存的有效數(shù)據(jù)的數(shù)據(jù)量大于此預(yù)置值,在步驟s1009中,將儲(chǔ)存于第二實(shí)體單元中的有效數(shù)據(jù)復(fù)制到第三實(shí)體單元,然后抹除第二實(shí)體單元。此外,若在步驟s1006中判定第一數(shù)據(jù)不是循序數(shù)據(jù),則步驟1009也會(huì)被執(zhí)行。在步驟s1010中,判斷第一類(lèi)實(shí)體單元的總數(shù) 是否大于第二門(mén)檻值。若是,則步驟s1008會(huì)被執(zhí)行,以停止(或結(jié)束)數(shù)據(jù)整并程序。若在步驟s1010中判定第一類(lèi)實(shí)體單元的總數(shù)仍小于第二門(mén)檻值,則步驟s1005會(huì)再次被執(zhí)行,以選擇屬于第二類(lèi)實(shí)體單元的另一個(gè)第二實(shí)體單元作為有效數(shù)據(jù)的來(lái)源節(jié)點(diǎn)。在步驟s1008之后,步驟s1002可被接續(xù)執(zhí)行。然而,圖9與圖10中各步驟已詳細(xì)說(shuō)明如上,在此便不再贅述。值得注意的是,圖9與圖10中各步驟可以作為多個(gè)程序代碼或是電路,本發(fā)明不加以限制。此外,圖9與圖10的方法可以搭配以上范例實(shí)施例使用,也可以單獨(dú)使用,本發(fā)明不加以限制。綜上所述,在存儲(chǔ)器儲(chǔ)存裝置的運(yùn)作中,一個(gè)數(shù)據(jù)整并程序可能會(huì)隨著第一類(lèi)實(shí)體單元的減少而被觸發(fā)。在開(kāi)始執(zhí)行此數(shù)據(jù)整并程序之后,若判定所需程序化的數(shù)據(jù)是循序數(shù)據(jù),則此數(shù)據(jù)整并程序可能會(huì)在第一類(lèi)實(shí)體單元的總數(shù)達(dá)到一預(yù)置數(shù)目之前就停止,從而減少數(shù)據(jù)整并程序?qū)ρ驍?shù)據(jù)(或循序?qū)懭氤绦?的寫(xiě)入速度造成的影響。雖然本發(fā)明已以實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域:
:中普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的改動(dòng)與潤(rùn)飾,故本發(fā)明的保護(hù)范圍當(dāng)視所附權(quán)利要求界定范圍為準(zhǔn)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12