本發(fā)明涉及一種應用于可復寫式非易失性內(nèi)存的數(shù)據(jù)寫入方法、內(nèi)存控制電路單元與內(nèi)存儲存裝置。
背景技術:
::數(shù)碼相機、手機與mp3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可復寫式非易失性內(nèi)存(rewritablenon-volatilememory)具有數(shù)據(jù)非易失性、省電、體積小、無機械結構、讀寫速度快等特性,最適于可攜式電子產(chǎn)品,例如筆記本電腦。固態(tài)硬盤就是一種以閃存模塊作為儲存媒體的內(nèi)存儲存裝置。因此,近年閃存產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當熱門的一環(huán)。在反及(nand)型閃存模塊中,實體程序化單元是由排列在同一條字符在線的多個記憶胞所組成。依據(jù)每個記憶胞可儲存的位數(shù),nand型閃存模塊可區(qū)分為單階儲存單元(singlelevelcell,slc)nand型閃存模塊、多階儲存單元(multilevelcell,mlc)nand型閃存模塊與三階儲存單元(trinarylevelcell,tlc)nand型閃存模塊,其中slcnand型閃存模塊的每個記憶胞可儲存1個位的數(shù)據(jù)(即,“1”與“0”),mlcnand型閃存模塊的每個記憶胞可儲存2個位的數(shù)據(jù)并且tlcnand型閃存模塊的每個記憶胞可儲存3個位的數(shù)據(jù)。由于slcnand型閃存模塊的每個記憶胞可儲存1個位的數(shù)據(jù),因此,在slcnand型閃存模塊中,排列在同一條字符在線的多個記憶胞是對應一個實體程序化單元。相對于slcnand型閃存模塊來說,mlcnand型閃存模塊的每個記憶胞的浮動柵儲存層可儲存2個位的數(shù)據(jù),其中每一個儲存狀態(tài)(即,“11”、“10”、“01”與“00”)包括最低有效位(leastsignificantbit,lsb)以及最高有效位(mostsignificantbit,msb)。例如,儲存狀態(tài)中從左側算起之第1個位的值為lsb,而從左側算起之第2個位的值為msb。因此,排列在同一條字符在線的多個記憶胞可組成2個實體程序化單元,其中由此些記憶胞的lsb所組成的實體程序化單元稱為下實體程序化單元(lowphysicalprogrammingunit),并且由此些記憶胞的msb所組成的實體程序化單元稱為上實體程序化單元(upperphysicalprogrammingunit)。特別是,當程序化上實體程序化單元發(fā)生錯誤時,下實體程序化單元所儲存的數(shù)據(jù)亦可能因此遺失。類似地,在tlcnand型閃存模塊中的每個記憶胞可儲存3個位的數(shù)據(jù),其中每一個儲存狀態(tài)(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”與“000”)包括左側算起的第1個位的lsb、從左側算起之第2個位的中間有效位(centersignificantbit,csb)以及從左側算起之第3個位的msb。因此,排列在同一條字符在線的多個記憶胞可組成3個實體程序化單元,其中由此些記憶胞的lsb所組成的實體程序化單元稱為下實體程序化單元,由此些記憶胞的csb所組成的實體程序化單元稱為中實體程序化單元,并且由此些記憶胞的msb 所組成的實體程序化單元稱為上實體程序化單元。特別是,在tlcnand型閃存模塊中,若要確保一條字符在線的數(shù)據(jù)可穩(wěn)定的被儲存,必須對此字符線完成三次程序化。例如,對第一條字符在線的記憶胞進行第一次的程序化后,第一條字符在線的記憶胞會處于第一狀態(tài)(firststate)。而在對第二條字符在線的記憶胞進行程序化的同時第一條字符在線的記憶胞會再次被程序化。此時,第一條字符在線的記憶胞會處于模糊狀態(tài)(foggystate)。然后,在對第三條字符在線的記憶胞進行程序化的同時第一條字符、第二條字符在線的記憶胞會再次被程序化,此時,第一條字符在線的記憶胞會處于良好狀態(tài)(finestate)。再者,在對第四條字符在線的記憶胞進行程序化的同時第二條字符、第三條字符在線的記憶胞會再次被程序化。此時,第二條字符在線的記憶胞會處于良好狀態(tài),由此第一條字符在線的記憶胞中的數(shù)據(jù)才能被確保是穩(wěn)定的儲存。在一情形下,當主機系統(tǒng)下達終止指令(suspendcommand)以將主機系統(tǒng)關機時,會伴隨著下達清倉指令(flushcommand)以將暫存在緩沖存儲器中的暫存數(shù)據(jù)寫入至閃存中,以避免暫存數(shù)據(jù)因斷電后而遺失。而基于上述tlcnand型閃存模塊的硬件限制,為了能夠確保緩沖存儲器中的暫存數(shù)據(jù)已被穩(wěn)定地儲存至tlcnand型閃存模塊,內(nèi)存控制電路單元在將緩沖存儲器中的暫存數(shù)據(jù)寫入至tlcnand型閃存模塊的一作動實體抹除單元后,會使用虛擬數(shù)據(jù)(dummydata)對接續(xù)的另外三條字符線進行程序化,以確保來自緩沖存儲器中的暫存數(shù)據(jù)已被穩(wěn)定地儲存至tlcnand型閃存模塊中。然而,閃存模塊的寫入或抹除次數(shù)是有限的,寫入無效數(shù)據(jù)會縮短tlcnand型閃存模塊的使用壽命。技術實現(xiàn)要素:本發(fā)明提供一種數(shù)據(jù)寫入方法、內(nèi)存控制電路單元與內(nèi)存儲存裝置,能夠在當主機系統(tǒng)下達默認指令時,將緩沖存儲器的數(shù)據(jù)寫入至閃存模塊并且執(zhí)行有效數(shù)據(jù)的搬移,避免儲存無效數(shù)據(jù),延長閃存模塊的使用壽命。本發(fā)明的一范例實施例提供一種數(shù)據(jù)寫入方法,用于一內(nèi)存儲存裝置的可復寫式非易失性內(nèi)存模塊,其中內(nèi)存儲存裝置具有緩沖存儲器,可復寫式非易失性內(nèi)存模塊具有多個實體抹除單元,此些實體抹除單元之中的每一個具有多個實體程序化單元。本方法包括:判斷是否從主機系統(tǒng)中接收到默認指令。本方法還包括:當從主機系統(tǒng)中接收到默認指令時,將緩沖存儲器中的暫存數(shù)據(jù)寫入至實體抹除單元之中的第一實體抹除單元,并從實體抹除單元中選擇第二實體抹除單元。本方法還包括:將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元。在本發(fā)明的一實施例中,在將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的步驟包括以有效數(shù)據(jù)填滿第一實體抹除單元的可用儲存空間。在本發(fā)明的一實施例中,其中默認指令為清倉指令或終止指令。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括:判斷暫存數(shù)據(jù)的數(shù)量是否小于默認門檻值;當暫存數(shù)據(jù)的數(shù)量小于默認門檻值時,將虛擬數(shù)據(jù)寫入第一實體抹除單元中;以及僅當暫存數(shù)據(jù)的數(shù)量非小于默認門檻值時,執(zhí)行上述從實體抹除單元中選擇第二實體抹除單元,并且將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的步驟。在本發(fā)明的一實施例中,上述的數(shù)據(jù)寫入方法還包括對第二實體抹除單元進行抹除操作。在本發(fā)明的一實施例中,其中所述實體程序化單元包括多個下實體程序化單元、多個中實體程序化單元與多個上實體程序化單元。本發(fā)明一范例實施例提供一種用于控制可復寫式非易失性內(nèi)存模塊的內(nèi)存控制電路單元。此內(nèi)存控制電路單元包括:用以電性連接至主機系統(tǒng)的主機接口;用以電性連接至可復寫式非易失性內(nèi)存模塊的內(nèi)存接口,其中可復寫式非易失性內(nèi)存模塊具有多個實體抹除單元,此些實體抹除單元之中的每一個具有多個實體程序化單元;電性連接至主機接口及內(nèi)存接口的緩沖存儲器,此緩沖存儲器用以儲存暫存數(shù)據(jù);以及電性連接至主機接口、內(nèi)存接口與緩沖存儲器的內(nèi)存管理電路。內(nèi)存管理電路用以判斷是否從該主機系統(tǒng)中接收到一默認指令。當從主機系統(tǒng)中接收到默認指令時,內(nèi)存管理電路更用以下達第一指令序列以將緩沖存儲器中的暫存數(shù)據(jù)寫入至實體抹除單元之中的第一實體抹除單元,并從實體抹除單元中選擇第二實體抹除單元。內(nèi)存管理電路更用以下達第二指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元。在本發(fā)明的一實施例中,在將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的運作包括內(nèi)存管理電路以有效數(shù)據(jù)填滿第一實體抹除單元的可用儲存空間。在本發(fā)明的一實施例中,其中默認指令為清倉指令或終止指令。在本發(fā)明的一實施例中,內(nèi)存管理電路更用以判斷暫存數(shù)據(jù)的數(shù)量是否小于默認門檻值,當暫存數(shù)據(jù)的數(shù)量小于默認門檻值時,內(nèi)存管理電路更用以下達第三指令序列以將虛擬數(shù)據(jù)寫入第一實體抹除單元中,僅當暫存數(shù)據(jù)的數(shù)量非小于默認門檻值時,內(nèi)存管理電路用以執(zhí)行上述從實體抹除單元中選擇第二實體抹除單元,并且下達第二指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的運作。在本發(fā)明的一實施例中,內(nèi)存管理電路更用以下達第四指令序列以對第二實體抹除單元進行抹除操作。在本發(fā)明的一實施例中,其中實體程序化單元包括多個下實體程序化單元、多個中實體程序化單元與多個上實體程序化單元。本發(fā)明一范例實施例提供一種內(nèi)存儲存裝置。其包括:用以電性連接至主機系統(tǒng)的連接接口單元、可復寫式非易失性內(nèi)存模塊以及電性連接至連接接口單元與可復寫式非易失性內(nèi)存模塊的內(nèi)存控制電路單元。其中可復寫式非易失性內(nèi)存具有多個實體抹除單元,此些實體抹除單元之中的每一個具有多個實體程序化單元。其中內(nèi)存控制電路單元包括緩沖存儲器,緩沖存儲器用以儲存暫存數(shù)據(jù)。內(nèi)存控制電路單元用以判斷是否從主機系統(tǒng)中接收到默認指令。當從主機系統(tǒng)中接收到默認指令時,內(nèi)存控制電路單元更用以下達第一指令序列以將緩沖存儲器中的暫存數(shù)據(jù)寫入至實體抹除單元之中的第一實體抹除單元,并從實體抹除單元中選擇第二實體抹除單元。內(nèi)存控制電路單元更用以下達第二指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元。在本發(fā)明的一實施例中,在將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的運作包括內(nèi)存控制電路單元以有效數(shù)據(jù)填滿第一實體抹除單元的可用儲存空間。在本發(fā)明的一實施例中,其中默認指令為清倉指令或終止指令在本發(fā)明的一實施例中,內(nèi)存控制電路單元更用以判斷暫存數(shù)據(jù)的數(shù)量是否小于默認門檻值,當暫存數(shù)據(jù)的數(shù)量小于默認門檻值時,內(nèi)存控制電路單元更用以下達第三指令序列以將虛擬數(shù)據(jù)寫入第一實體抹除單元中,僅當暫存數(shù)據(jù)的數(shù)量非小于默認門檻值時,內(nèi)存控制 電路單元用以執(zhí)行上述從實體抹除單元中選擇第二實體抹除單元,并且下達第二指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的運作內(nèi)存控制電路單元。在本發(fā)明的一實施例中,其中內(nèi)存控制電路單元更用以下達第四指令序列以對第二實體抹除單元進行抹除操作。在本發(fā)明的一實施例中,其中實體程序化單元包括多個下實體程序化單元、多個中實體程序化單元與多個上實體程序化單元?;谏鲜觯景l(fā)明的數(shù)據(jù)寫入方法可以在收到主機系統(tǒng)下達的默認指令時,將緩沖存儲器的暫存數(shù)據(jù)儲存至可復寫式非易失性內(nèi)存中的實體抹除單元中,并且將其他實體抹除單元中的有效數(shù)據(jù)寫入至此實體抹除單元,藉此可以有效地提升可復寫式非易失性內(nèi)存的使用效率,延長可復寫式非易失性內(nèi)存的壽命。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。附圖說明圖1是根據(jù)一范例實施例所顯示的主機系統(tǒng)、內(nèi)存儲存裝置及輸入/輸出(i/o)裝置的示意圖;圖2是根據(jù)另一范例實施例所顯示的主機系統(tǒng)、內(nèi)存儲存裝置及輸入/輸出(i/o)裝置的示意圖;圖3是根據(jù)本發(fā)明范例實施例所顯示的主機系統(tǒng)與內(nèi)存儲存裝置的示意圖;圖4是根據(jù)一范例實施例所顯示的主機系統(tǒng)與內(nèi)存儲存裝置的概要方框圖;圖5a與圖5b是根據(jù)一范例實施例所顯示的記憶胞儲存架構與實體抹除單元的示意圖;圖6是根據(jù)一范例實施例所顯示的內(nèi)存控制電路單元的概要方框圖;圖7與圖8是根據(jù)一范例實施例所顯示的管理實體抹除單元的范例示意圖;圖9a~圖9c是根據(jù)一范例實施例所顯示的數(shù)據(jù)寫入的范例示意圖;圖10是根據(jù)一范例實施例所顯示的數(shù)據(jù)寫入方法的流程圖。附圖標記:10:內(nèi)存儲存裝置11:主機系統(tǒng)12:輸入/輸出(i/o)裝置110:系統(tǒng)總線111:處理器112:隨機存取內(nèi)存(ram)113:只讀存儲器(rom)114:數(shù)據(jù)傳輸接口20:主板201:隨身碟202:記憶卡203:固態(tài)硬盤:204:無線內(nèi)存儲存裝置205:全球定位系統(tǒng)模塊206:網(wǎng)絡適配器207:無線傳輸裝置208:鍵盤209:屏幕210:喇叭30:內(nèi)存儲存裝置31:主機系統(tǒng)32:sd卡33:cf卡34:嵌入式儲存裝置341:嵌入式多媒體卡342:嵌入式多芯片封裝儲存裝置402:連接接口單元404:內(nèi)存控制電路單元406:可復寫式非易失性內(nèi)存模塊410(0)~410(n):實體抹除單元502:內(nèi)存管理電路504:主機接口506:內(nèi)存接口508:緩沖存儲器510:電源管理電路512:錯誤檢查與校正電路602:數(shù)據(jù)區(qū)604:閑置區(qū)606:系統(tǒng)區(qū)608:取代區(qū)lba(0)~lba(h):邏輯地址lz(0)~lz(m):邏輯區(qū)域d0(0)~d0(41)、d1(0)~d1(41)、d2(0)~d2(85):有效數(shù)據(jù)bd(1)、bd(2):暫存數(shù)據(jù)s1001:判斷是否從主機系統(tǒng)中接收到默認指令的步驟s1003:當從主機系統(tǒng)中接收到默認指令時,將緩沖存儲器中的暫存數(shù)據(jù)寫入至實體抹除單元之中的第一實體抹除單元的步驟s1005:判斷暫存數(shù)據(jù)的數(shù)量是否小于默認門檻值的步驟s1007:將虛擬數(shù)據(jù)寫入第一實體抹除單元中的步驟s1009:從實體抹除單元中選擇第二實體抹除單元的步驟s1011:將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的步驟具體實施方式一般而言,內(nèi)存儲存裝置(亦稱,內(nèi)存儲存系統(tǒng))包括可復寫式非易失性內(nèi)存模塊與控制器(亦稱,控制電路單元)。通常內(nèi)存儲存裝置是與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數(shù)據(jù)寫入至內(nèi)存儲存裝置或從內(nèi)存儲存裝置中讀取數(shù)據(jù)。圖1是根據(jù)一范例實施例所顯示的主機系統(tǒng)、內(nèi)存儲存裝置及輸入/輸出(i/o)裝置的示意圖。且圖2是根據(jù)另一范例實施例所顯示的主機系統(tǒng)、內(nèi)存儲存裝置及輸入/輸出(i/o)裝置的示意圖。請參照圖1與圖2,主機系統(tǒng)11一般包括處理器111、隨機存取內(nèi)存(randomaccessmemory,ram)112、只讀存儲器(readonlymemory,rom)113及數(shù)據(jù)傳輸接口114。處理器111、隨機存取內(nèi)存112、只讀存儲器113及數(shù)據(jù)傳輸接口114皆電性連接至系統(tǒng)總線(systembus)110。在本范例實施例中,主機系統(tǒng)11是通過數(shù)據(jù)傳輸接口114與內(nèi)存儲存裝置10電性連接。例如,主機系統(tǒng)11可經(jīng)由數(shù)據(jù)傳輸接口114將數(shù)據(jù)寫入至內(nèi)存儲存裝置10或從內(nèi)存儲存裝置10中讀取數(shù)據(jù)。此外,主機系統(tǒng)11是通過系統(tǒng)總線110與i/o裝置12電性連接。例如,主機系統(tǒng)11可經(jīng)由系統(tǒng)總線110將輸出信號信號傳送至i/o裝置12或從i/o裝置12接收輸入信號。在本范例實施例中,處理器111、隨機存取內(nèi)存112、只讀存儲器113及數(shù)據(jù)傳輸接口114是可設置在主機系統(tǒng)11的主板20上。數(shù)據(jù)傳輸接口114的數(shù)目可以是一或多個。通過數(shù)據(jù)傳輸接口114,主板20可以經(jīng)由有線或無線方式電性連接至內(nèi)存儲存裝置10。內(nèi)存儲存裝置10可例如是隨身碟201、記憶卡202、固態(tài)硬盤(solidstatedrive,ssd)203或無線內(nèi)存儲存裝置204。無線內(nèi)存儲存裝置204可例如是近距離無線通信(nearfieldcommunicationstorage,nfc)內(nèi)存儲存裝置、無線傳真(wifi)內(nèi)存儲存裝置、藍牙(bluetooth)內(nèi)存儲存裝置或低功耗藍牙內(nèi)存儲存裝置(例如,ibeacon)等以各式無線通信技術為基礎的內(nèi)存儲存裝置。此外,主板20也可以通過系統(tǒng)總線110電性連接至全球定位系統(tǒng)(globalpositioningsystem,gps)模塊205、網(wǎng)絡適配器206、無線傳輸裝置207、鍵盤208、屏幕209、喇叭210等各式i/o裝置。例如,在一范例實施例中,主板20可通過無線傳輸裝置207存取無線內(nèi)存儲存裝置204。在一范例實施例中,所提及的主機系統(tǒng)為可實質(zhì)地與內(nèi)存儲存裝置配合以儲存數(shù)據(jù)的任意系統(tǒng)。雖然在上述范例實施例中,主機系統(tǒng)是以計算機系統(tǒng)來作說明,然而,圖3是根據(jù)另一范例實施例所顯示的主機系統(tǒng)與內(nèi)存儲存裝置的示意圖。請參照圖3,在另一范例實施例中,主機系統(tǒng)31也可以是數(shù)碼相機、攝影機、通信裝置、音頻播放器、視頻播放器或平板計算機等系統(tǒng),而內(nèi)存儲存裝置30可為其所使用的sd卡32、cf卡33或嵌入式儲存裝置34等各式非易失性內(nèi)存儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embeddedmmc,emmc)341和/或嵌入式多芯片封裝儲存裝置(embeddedmultichippackage,emcp)342等各類型將內(nèi)存模塊直接電性連接于主機系統(tǒng)的基板上的嵌入式儲存裝置。圖4是根據(jù)一范例實施例所顯示的主機系統(tǒng)與內(nèi)存儲存裝置的概要方框圖。請參照圖4,內(nèi)存儲存裝置10包括連接接口單元402、內(nèi)存控制電路單元404與可復寫式非易失性內(nèi)存模塊406。在本范例實施例中,連接接口單元402是兼容于序列先進附件(serialadvancedtechnologyattachment,sata)標準。然而,必須了解的是,本發(fā)明不限于此,連接接口單元402亦可以是符合并列先進附件(paralleladvancedtechnologyattachment,pata)標準、電氣和電子工程師協(xié)會(instituteofelectricalandelectronicengineers,ieee)1394標準、高速周邊零件連接接口(peripheralcomponentinterconnectexpress,pciexpress)標準、通用串行總線(universalserialbus,usb)標準、超高速一代(ultrahighspeed-i,uhs-i)接口標準、超高速二代(ultrahighspeed-ii,uhs-ii)接口標準、安全數(shù)字(securedigital,sd)接口標準、記憶棒(memorystick,ms)接口標準、多芯片封裝(multi-chippackage)接口標準、多媒體儲存卡(multimediacard,mmc)接口標準、嵌入式多媒體儲存卡(embeddedmultimediacard,emmc)接口標準、通用閃存(universalflashstorage,ufs)接口標準、嵌入式多芯片封裝(embeddedmultichippackage,emcp)接口標準、小型快閃(compactflash,cf)接口標準、整合式驅動電子接口(integrateddeviceelectronics,ide)標準或其他適合的標準。在本范例實施例中,連接接口單元402可與內(nèi)存控制電路單元404封裝在一個芯片中,或者連接接口單元402是布設于一包含內(nèi)存控制電路單元的芯片外。內(nèi)存控制電路單元404用以執(zhí)行以硬件型式或固件型式實作的多個邏輯門或控制指令,并且根據(jù)主機系統(tǒng)11的指令在可復寫式非易失性內(nèi)存模塊406中進行數(shù)據(jù)的寫入、讀取與抹除等運作??蓮蛯懯椒且资詢?nèi)存模塊406是電性連接至內(nèi)存控制電路單元404,并且用以儲存主機系統(tǒng)11所寫入的數(shù)據(jù)??蓮蛯懯椒且资詢?nèi)存模塊406具有實體抹除單元410(0)~410(n)。例如,實體抹除單元410(0)~410(n)可屬于同一個內(nèi)存晶粒(die)或者屬于不同的內(nèi)存晶粒。每一實體抹除單元分別具有多個實體程序化單元,其中屬于同一個實體抹除單元的實體程序化單元可被獨立地寫入且被同時地抹除。然而,必須了解的是,本發(fā)明不限于此,每一實體抹除單元是可由64個實體程序化單元、256個實體程序化單元或其他任意個實體程序化單元所組成。更詳細來說,實體抹除單元為抹除的最小單位。亦即,每一實體抹除單元含有最小數(shù)目之一并被抹除的記憶胞。實體程序化單元為程序化的最小單元。即,實體程序化單元為寫入數(shù)據(jù)的最小單元。每一實體程序化單元通常包括數(shù)據(jù)位區(qū)與冗余位區(qū)。數(shù)據(jù)位區(qū)包含多個實體存取地址用以儲存用戶的數(shù)據(jù),而冗余位區(qū)用以儲存系統(tǒng)的數(shù)據(jù)(例如,控制信息與錯誤更正碼)。在本范例實施例中,每一個實體程序化單元的數(shù)據(jù)位區(qū)中會包含8個實體存取地址,且一個實體存取地址的大小為512字節(jié)(byte)。然而,在其他范例實施例中,數(shù)據(jù)位區(qū)中也可包含數(shù)目更多或更少的實體存取地址,本發(fā)明并不限制實體存取地址的大小以及個數(shù)。例如,在一范例實施例中,實體抹除單元為實體區(qū)塊,并且實體程序化單元為實體頁面或實體扇區(qū),但本發(fā)明不以此為限。在本范例實施例中,可復寫式非易失性內(nèi)存模塊406為多階記憶胞(trinarylevelcell,tlc)nand型閃存模塊(即,一個記憶胞中可儲存3個數(shù)據(jù)位的閃存模塊)。然而,本發(fā)明不限于此,可復寫式非易失性內(nèi)存模塊406亦可是多階記憶胞(multilevelcell,mlc)nand型閃存模塊(即,一個記憶胞中可儲存2個數(shù)據(jù)位的閃存模塊)或其他具有相同特性的內(nèi)存模塊。圖5a與圖5b是根據(jù)本范例實施例所顯示的記憶胞儲存架構與實體抹除單元的范例示意 圖。請參照圖5a,可復寫式非易失性內(nèi)存模塊406的每個記憶胞的儲存狀態(tài)可被識別為“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如圖5a所示),其中左側算起的第1個位為lsb、從左側算起的第2個位為csb以及從左側算起的第3個位為msb。此外,排列在同一條字符在線的多個記憶胞可組成3個實體程序化單元,其中由此些記憶胞的lsb所組成的實體程序化單元稱為下實體程序化單元,由此些記憶胞的csb所組成的實體程序化單元稱為中實體程序化單元,并且由此些記憶胞的msb所組成的實體程序化單元稱為上實體程序化單元。請參照圖5b,一個實體抹除單元是由多個實體程序化單元組所組成,其中每個實體程序化單元組包括由排列在同一條字符在線的多個記憶胞所組成的下實體程序化單元、中實體程序化單元與上實體程序化單元。例如,在實體抹除單元中,屬于下實體程序化單元的第0個實體程序化單元、屬于中實體程序化單元的第1個實體程序化單元和屬于上實體程序化單元的第2個實體程序化單元會被視為一個實體程序化單元組。類似地,第3個實體程序化單元、第4個實體程序化單元、第5個實體程序化單元會被視為一個實體程序化單元組,并且以此類推其他實體程序化單元亦是依據(jù)此方式被區(qū)分為多個實體程序化單元組。也就是說,在圖5b的范例實施例中,實體抹除單元總共有258個實體程序化單元,且由于排列在同一條字符在線的多個記憶胞所組成的下實體程序化單元、中實體程序化單元與上實體程序化單元會組成一個實體程序化單元組,故圖5b的實體抹除單元總共可以分成86個實體程序化單元組。然而需注意的是,本發(fā)明并不用于限定實體抹除單元中的實體程序化單元或實體程序化單元組的個數(shù)。圖6是根據(jù)一范例實施例所顯示的內(nèi)存控制電路單元的概要方框圖。請參照圖6,內(nèi)存控制電路單元404包括內(nèi)存管理電路502、主機接口504與內(nèi)存接口506、緩沖存儲器508、電源管理電路510與錯誤檢查與校正電路512。內(nèi)存管理電路502用以控制內(nèi)存控制電路單元404的整體運作。具體來說,內(nèi)存管理電路502具有多個控制指令,并且在內(nèi)存儲存裝置10運作時,此些控制指令會被執(zhí)行以進行數(shù)據(jù)的寫入、讀取與抹除等運作。在本范例實施例中,內(nèi)存管理電路502的控制指令是以固件型式來實作。例如,內(nèi)存管理電路502具有微處理器單元(未顯示)與只讀存儲器(未顯示),并且此些控制指令是被刻錄至此只讀存儲器中。當內(nèi)存儲存裝置10運作時,此些控制指令會由微處理器單元來執(zhí)行以進行數(shù)據(jù)的寫入、讀取與抹除等運作。圖7與圖8是根據(jù)一范例實施例所顯示之管理實體抹除單元的范例示意圖。必須了解的是,在此描述可復寫式非易失性內(nèi)存模塊406的實體抹除單元的運作時,以“提取”、“分組”、“劃分”、“關聯(lián)”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可復寫式非易失性內(nèi)存模塊的實體抹除單元的實際位置并未更動,而是邏輯上對可復寫式非易失性內(nèi)存模塊的實體抹除單元進行操作。請參照圖7,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會將實體抹除單元410(0)~410(n)邏輯地分組為數(shù)據(jù)區(qū)602、閑置區(qū)604、系統(tǒng)區(qū)606與取代區(qū)608。邏輯上屬于數(shù)據(jù)區(qū)602與閑置區(qū)604的實體抹除單元是用以儲存來自于主機系統(tǒng)11的數(shù)據(jù)。具體來說,數(shù)據(jù)區(qū)602的實體抹除單元是被視為已儲存數(shù)據(jù)的實體抹除單元,而閑置區(qū) 604的實體抹除單元是用以替換數(shù)據(jù)區(qū)602的實體抹除單元。也就是說,當從主機系統(tǒng)11接收到寫入指令與欲寫入的數(shù)據(jù)時,內(nèi)存管理電路502會使用從閑置區(qū)604中提取實體抹除單元來寫入數(shù)據(jù),以替換數(shù)據(jù)區(qū)602的實體抹除單元。邏輯上屬于系統(tǒng)區(qū)606的實體抹除單元是用以記錄系統(tǒng)數(shù)據(jù)。例如,系統(tǒng)數(shù)據(jù)包括關于可復寫式非易失性內(nèi)存模塊的制造商與型號、可復寫式非易失性內(nèi)存模塊的實體抹除單元數(shù)、每一實體抹除單元的實體程序化單元數(shù)等。邏輯上屬于取代區(qū)608中的實體抹除單元是用于壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區(qū)608中仍存有正常的實體抹除單元并且數(shù)據(jù)區(qū)602的實體抹除單元損壞時,內(nèi)存管理電路502會從取代區(qū)608中提取正常的實體抹除單元來更換損壞的實體抹除單元。特別是,數(shù)據(jù)區(qū)602、閑置區(qū)604、系統(tǒng)區(qū)606與取代區(qū)608的實體抹除單元的數(shù)量會根據(jù)不同的內(nèi)存規(guī)格而有所不同。此外,必須了解的是,在內(nèi)存儲存裝置10的運作中,實體抹除單元關聯(lián)至數(shù)據(jù)區(qū)602、閑置區(qū)604、系統(tǒng)區(qū)606與取代區(qū)608的分組關系會動態(tài)地變動。例如,當閑置區(qū)604中的實體抹除單元損壞而被取代區(qū)608的實體抹除單元取代時,則原本取代區(qū)608的實體抹除單元會被關聯(lián)至閑置區(qū)604。請參照圖8,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會配置邏輯地址lba(0)~lba(h)以映像數(shù)據(jù)區(qū)602的實體抹除單元,其中每一邏輯地址具有多個邏輯單元以映像對應的實體抹除單元的實體程序化單元。并且,當主機系統(tǒng)11欲寫入數(shù)據(jù)至邏輯地址或更新儲存于邏輯地址中的數(shù)據(jù)時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從閑置區(qū)604中提取一個實體抹除單元作為作動實體抹除單元來寫入數(shù)據(jù),以輪替數(shù)據(jù)區(qū)602的實體抹除單元。并且,當此作為作動實體抹除單元的實體抹除單元被寫滿時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會再從閑置區(qū)504中提取空的實體抹除單元作為作動實體抹除單元,以繼續(xù)寫入對應來自于主機系統(tǒng)1000的寫入指令的更新數(shù)據(jù)。此外,當閑置區(qū)604中可用的實體抹除單元的數(shù)目小于默認值時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會執(zhí)行有效數(shù)據(jù)合并程序(亦稱為,垃圾搜集(garbagecollecting)程序來整理數(shù)據(jù)區(qū)602中的有效數(shù)據(jù),以將數(shù)據(jù)區(qū)602中無儲存有效數(shù)據(jù)的實體抹除單元重新關聯(lián)至閑置區(qū)604。為了識別每個邏輯地址的數(shù)據(jù)被儲存在哪個實體抹除單元,在本范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會記錄邏輯地址與實體抹除單元之間的映像。例如,在本范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會在可復寫式非易失性內(nèi)存模塊406中儲存邏輯地址-實體地址映像表來記錄每一邏輯地址所映像的實體抹除單元。當欲存取數(shù)據(jù)時內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會將邏輯地址-實體地址映像表加載至緩沖存儲器508來維護,并且依據(jù)邏輯地址-實體地址映像表來寫入或讀取數(shù)據(jù)。值得一提的是,由于緩沖存儲器508的容量有限無法儲存記錄所有邏輯地址的映像關系的映像表,因此,在本范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會將邏輯地址lba(0)~lba(h)分組為多個邏輯區(qū)域lz(0)~lz(m),并且為每一邏輯區(qū)域配置一個邏輯地址-實體地址映像表。特別是,當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)欲更新某個邏輯地址的映像時,對應此邏輯地址所屬的邏輯區(qū)域的邏輯地址-實體地址映像表會被加載至緩沖存儲器508來被更新。在本發(fā)明另一范例實施例中,內(nèi)存管理電路502的控制指令亦可以程序代碼型式儲存于 可復寫式非易失性內(nèi)存模塊406的特定區(qū)域(例如,內(nèi)存模塊中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,內(nèi)存管理電路502具有微處理器單元(未顯示)、只讀存儲器(未顯示)及隨機存取內(nèi)存(未顯示)。特別是,此只讀存儲器具有驅動碼,并且當內(nèi)存控制電路單元404被致能時,微處理器單元會先執(zhí)行此驅動碼段來將儲存于可復寫式非易失性內(nèi)存模塊406中之控制指令加載至內(nèi)存管理電路502的隨機存取內(nèi)存中。之后,微處理器單元會運轉此些控制指令以進行數(shù)據(jù)的寫入、讀取與抹除等運作。此外,在本發(fā)明另一范例實施例中,內(nèi)存管理電路502的控制指令亦可以一硬件型式來實作。例如,內(nèi)存管理電路502包括微控制器、記憶胞管理電路、內(nèi)存寫入電路、內(nèi)存讀取電路、內(nèi)存抹除電路與數(shù)據(jù)處理電路。記憶胞管理電路、內(nèi)存寫入電路、內(nèi)存讀取電路、內(nèi)存抹除電路與數(shù)據(jù)處理電路是電性連接至微控制器。其中,記憶胞管理電路用以管理可復寫式非易失性內(nèi)存模塊406的實體抹除單元;內(nèi)存寫入電路用以對可復寫式非易失性內(nèi)存模塊406下達寫入指令以將數(shù)據(jù)寫入至可復寫式非易失性內(nèi)存模塊406中;內(nèi)存讀取電路用以對可復寫式非易失性內(nèi)存模塊406下達讀取指令以從可復寫式非易失性內(nèi)存模塊406中讀取數(shù)據(jù);內(nèi)存抹除電路用以對可復寫式非易失性內(nèi)存模塊406下達抹除指令以將數(shù)據(jù)從可復寫式非易失性內(nèi)存模塊406中抹除;而數(shù)據(jù)處理電路用以處理欲寫入至可復寫式非易失性內(nèi)存模塊406的數(shù)據(jù)以及從可復寫式非易失性內(nèi)存模塊406中讀取的數(shù)據(jù)。請再參照圖6,主機接口504是電性連接至內(nèi)存管理電路502并且用以電性連接至連接接口單元402,以接收與識別主機系統(tǒng)11所傳送的指令與數(shù)據(jù)。也就是說,主機系統(tǒng)11所傳送的指令與數(shù)據(jù)會通過主機接口504來傳送至內(nèi)存管理電路502。在本范例實施例中,主機接口504是兼容于sata標準。然而,必須了解的是本發(fā)明不限于此,主機接口504亦可以是兼容于pata標準、ieee1394標準、pciexpress標準、usb標準、uhs-i接口標準、uhs-ii接口標準、sd標準、ms標準、mmc標準、cf標準、ide標準或其他適合的數(shù)據(jù)傳輸標準。內(nèi)存接口506是電性連接至內(nèi)存管理電路502并且用以存取可復寫式非易失性內(nèi)存模塊406。也就是說,欲寫入至可復寫式非易失性內(nèi)存模塊406的數(shù)據(jù)會經(jīng)由內(nèi)存接口506轉換為可復寫式非易失性內(nèi)存模塊406所能接受的格式。緩沖存儲器508是電性連接至內(nèi)存管理電路502并且用以暫存來自于主機系統(tǒng)11的暫存數(shù)據(jù)與指令或來自于可復寫式非易失性內(nèi)存模塊406的數(shù)據(jù)。電源管理電路510是電性連接至內(nèi)存管理電路502并且用以控制內(nèi)存儲存裝置10的電源。錯誤檢查與校正電路512是電性連接至內(nèi)存管理電路502并且用以執(zhí)行錯誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來說,當內(nèi)存管理電路502從主機系統(tǒng)11中接收到寫入指令時,錯誤檢查與校正電路512會為對應此寫入指令的數(shù)據(jù)產(chǎn)生對應的錯誤檢查與校正碼(errorcheckingandcorrectingcode,ecccode),并且內(nèi)存管理電路502會將對應此寫入指令的數(shù)據(jù)與對應的錯誤檢查與校正碼寫入至可復寫式非易失性內(nèi)存模塊406中。之后,當內(nèi)存管理電路502從可復寫式非易失性內(nèi)存模塊406中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應的錯誤檢查與校正碼,并且錯誤檢查與校正電路512會根據(jù)此錯誤檢查與校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤檢查與校正程序。在本范例實施例中,當主機系統(tǒng)11下達終止指令(suspendcommand)以將主機系統(tǒng)11關機時,主機系統(tǒng)11亦會伴隨著下達清倉指令(flushcommand)以將暫存在緩沖存儲器中的暫存數(shù)據(jù)寫入至可復寫式非易失性內(nèi)存模塊406中,以避免暫存數(shù)據(jù)因斷電后而遺失。而在另一 范例實施例中,當主機系統(tǒng)11下達終止指令以將主機系統(tǒng)11關機時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會自動地執(zhí)行清倉操作(flushoperation)以將暫存在緩沖存儲器中的暫存數(shù)據(jù)寫入至可復寫式非易失性內(nèi)存模塊406中。接著,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會判斷是否從主機系統(tǒng)11中接收到默認指令,其中默認指令例如是上述的清倉指令或終止指令。假設當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)從主機系統(tǒng)11中接收到上述的默認指令時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會執(zhí)行本發(fā)明的數(shù)據(jù)寫入方法。具體來說,當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)從主機系統(tǒng)11接收到默認指令時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以將緩沖存儲器508中的暫存數(shù)據(jù)寫入至可復寫式非易失性內(nèi)存模塊406的實體抹除單元410(0)~410(n)之中的作動實體抹除單元(以下亦可參考為第一實體除單元)中,以避免暫存數(shù)據(jù)因斷電后而遺失。在本范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)是從閑置區(qū)604中的實體抹除單元410(f)~410(s-1)的其中之一選取第一實體抹除單元。需注意的是,當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)將緩沖存儲器508中的暫存數(shù)據(jù)寫入至第一實體抹除單元中后,倘若此時第一實體抹除單元仍有可用儲存空間(即,第一實體抹除單元未被緩沖存儲器508的暫存數(shù)據(jù)填滿)時,則內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從可復寫式非易失性內(nèi)存模塊406的其他實體抹除單元中寫入有效數(shù)據(jù)至第一實體抹除單元。例如,在本范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從數(shù)據(jù)區(qū)602的實體抹除單元410(0)~410(f-1)選取存有有效數(shù)據(jù)的實體抹除單元(以下稱為第二實體抹除單元)。之后,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以將此些第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元,并以此些有效數(shù)據(jù)填滿第一實體抹除單元中的可用儲存空間。特別是,倘若第二實體抹除單元中的有效數(shù)據(jù)皆已寫入至第一實體抹除單元時,第二實體抹除單元中的數(shù)據(jù)皆會變成無效數(shù)據(jù)。特別是,在第二實體抹除單元中的數(shù)據(jù)皆會變成無效數(shù)據(jù)下,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)可對第二實體抹除單元進行抹除操作,并且將第二實體抹除單元分組至閑置區(qū)602,以釋放可復寫式非易失性內(nèi)存模塊406可用的儲存空間。需注意的是,在本發(fā)明的一范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)在將緩沖存儲器508中的暫存數(shù)據(jù)寫入至第一實體抹除單元的運作之后且在內(nèi)存控制電路單元404(或內(nèi)存管理電路502)選取第二實體抹除單元的運作之前,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)還可以判斷暫存數(shù)據(jù)的數(shù)量是否小于默認門檻值。當暫存數(shù)據(jù)的數(shù)量小于默認門檻值時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以將至少一個虛擬數(shù)據(jù)寫入第一實體抹除單元中。而僅當暫存數(shù)據(jù)的數(shù)量非小于默認門檻值時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)才會執(zhí)行上述從實體抹除單元410(0)~410(n)中選擇第二實體抹除單元,并且下達指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元的運作。為了更請楚地了解本發(fā)明的數(shù)據(jù)寫入方法,圖9a~圖9c是根據(jù)一范例實施例所顯示之數(shù)據(jù)寫入的范例示意圖。為方便說明,在此假設可復寫式非易失性內(nèi)存模塊406中的數(shù)據(jù)區(qū)602具有3個實體抹除單元分別為實體抹除單元410(0)~410(2),閑置區(qū)604具有2個實體抹除單元分別為實體抹除單元410(3)~410(4)。特別是,在圖9a~圖9c的范例實施例中,可復寫式非易失性內(nèi)存模塊 406是tlcnand型閃存模塊,也就是說,每一個實體抹除單元410(0)~410(4)所擁有的實體程序化單元包括多個下實體程序化單元、多個中實體程序化單元以及多個上實體程序化單元?;趖lcnand型閃存模塊中每一條字符在線的記憶胞皆必須完成三次程序化才能確保記憶胞的數(shù)據(jù)被穩(wěn)定地儲存的特性,在圖9a~圖9c的范例中假設數(shù)據(jù)是以一個“實體程序化單元組”為單位被寫入,且每一實體抹除單元具有86個實體程序化單元組。其中關于tlcnand型閃存模塊的實體程序化單元組的具體描述已詳述于先前的圖5a與圖5b的范例實施例中,在此便不再贅述。而需注意的是,本發(fā)明不限于此,在其他范例實施例中,數(shù)據(jù)的寫入亦可以是以一個實體程序化單元為單位或是更小的單位進行寫入。請參照圖9a,假設在圖9a的內(nèi)存儲存裝置10的狀態(tài)中,數(shù)據(jù)區(qū)602的實體抹除單元410(0)的第0~41個實體程序化單元組分別儲存了有效數(shù)據(jù)d0(0)~d0(41),實體抹除單元410(1)的第0~41個實體程序化單元組分別儲存了有效數(shù)據(jù)d1(0)~d1(41),且實體抹除單元410(2)的第0~85個實體程序化單元組分別儲存了有效數(shù)據(jù)d2(0)~d2(85)。其中,實體抹除單元410(0)的第42~85個實體程序化單元組中所儲存的數(shù)據(jù)以及實體抹除單元410(1)的第42~85個實體程序化單元組中所儲存的數(shù)據(jù)分別被內(nèi)存控制電路單元404(或內(nèi)存管理電路502)識別為無效的數(shù)據(jù)。假設在圖9a的狀態(tài)中,主機系統(tǒng)11下達終止指令以將主機系統(tǒng)11關機,并且主機系統(tǒng)11伴隨著下達清倉指令以將暫存在緩沖存儲器中的暫存數(shù)據(jù)寫入至可復寫式非易失性內(nèi)存模塊406中。此時,當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)收到來自主機系統(tǒng)11所下達的終止指令或清倉指令后,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從閑置區(qū)604中選擇例如實體抹除單元410(3)(以下參考為,第一實體抹除單元),用以儲存緩沖存儲器508中的暫存數(shù)據(jù)。在本范例實施例中,假設緩沖存儲器508中的暫存數(shù)據(jù)分別為暫存數(shù)據(jù)bd(1)~bd(2),則內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以將緩沖存儲器508中的暫存數(shù)據(jù)bd(1)~bd(2)分別寫入至實體抹除單元410(3)的第1~2個實體程序化單元組中。需注意的是,在本發(fā)明一實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)在將緩沖存儲器508中的暫存數(shù)據(jù)bd(1)~bd(2)分別寫入至實體抹除單元410(3)的第1~2個實體程序化單元組中的運作之后,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)還可以判斷暫存數(shù)據(jù)bd(1)~bd(2)的數(shù)量是否小于默認門檻值。在一范例實施例中,默認門檻值可以例如被設為43。當暫存數(shù)據(jù)bd(1)~bd(2)的數(shù)量小于默認門檻值時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以使用至少一個虛擬數(shù)據(jù)填滿實體抹除單元410(3)在儲存了暫存數(shù)據(jù)bd(1)~bd(2)后剩余的可用儲存空間。而在另一范例實施例中,基于一條字符在線的記憶胞須被進行三次程序化之后才能確保此字符在線的記憶胞中的數(shù)據(jù)被穩(wěn)定地儲存的特性,當暫存數(shù)據(jù)bd(1)~bd(2)的數(shù)量小于默認門檻值時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)也可以使用至少一個虛擬數(shù)據(jù)寫入實體抹除單元410(3)在儲存了暫存數(shù)據(jù)bd(1)~bd(2)后剩余的“部分的”可用儲存空間,其中用于寫入實體抹除單元410(3)的虛擬數(shù)據(jù)的數(shù)目剛好可以使得暫存數(shù)據(jù)bd(1)~bd(2)被穩(wěn)定地儲存在實體抹除單元410(3)中。也就是說,在此范例實施例中,寫入實體抹除單元410(3)的虛擬數(shù)據(jù)可以不需要填滿實體抹除單元410(3)在儲存了暫存數(shù)據(jù)bd(1)~bd(2)后剩余的可用儲存空間,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)可以只寫入一特定或非特定數(shù)量 的虛擬數(shù)據(jù)使得暫存數(shù)據(jù)bd(1)~bd(2)可以被穩(wěn)定地儲存在實體抹除單元410(3)中即可。然而須了解的是,本發(fā)明并不用于限定默認門檻值的數(shù)值,在其他范例實施例中,默認門檻值也可以是其他適當?shù)臄?shù)值。此外,本發(fā)明也不用于限定用于寫入實體抹除單元410(3)的虛擬數(shù)據(jù)的數(shù)量。在本范例實施例中,如圖9a~圖9c所示,假設默認門檻值被設為1。由于此時暫存數(shù)據(jù)bd(1)~bd(2)的數(shù)量非小于默認門檻值,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從實體抹除單元410(0)~410(n)中選擇第二實體抹除單元,并下達指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元。具體來說,由于實體抹除單元410(3)中可用儲存空間尚未被緩沖存儲器508的暫存數(shù)據(jù)bd(1)~bd(2)填滿(亦即,實體抹除單元410(3)中尚有未儲存數(shù)據(jù)的第2~85個實體程序化單元組),內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從數(shù)據(jù)區(qū)602的實體抹除單元410(0)~410(2)中選擇例如實體抹除單元410(0)以及實體抹除單元410(1)(以下參考為,第二實體抹除單元)用于執(zhí)行有效數(shù)據(jù)合并程序,并下達指令序列以將實體抹除單元410(0)以及實體抹除單元410(1)的有效數(shù)據(jù)分別寫入到實體抹除單元410(3)中,并且填滿實體抹除單元410(3)的儲存空間。在本范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)所選擇的實體抹除單元410(0)與實體抹除單元410(1)的有效數(shù)據(jù)的總數(shù)據(jù)量剛好可以填滿實體抹除單元410(3)在儲存了暫存數(shù)據(jù)bd(1)~bd(2)后所剩余的儲存空間,即實體抹除單元410(3)中的第2~85個實體程序化單元組。然而,需注意的是,在其他范例實施例中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)所選擇的第二實體抹除單元的有效數(shù)據(jù)的總數(shù)據(jù)量也可能會多于可以填滿第一實體抹除單元在儲存了緩沖存儲器的暫存數(shù)據(jù)后所剩余的可用儲存空間。此時,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)可以從第二實體抹除單元中僅寫入部分的有效數(shù)據(jù),以使此些有效數(shù)據(jù)剛好可以填滿第一實體抹除單元的可用儲存空間。接著,請同時參照圖9a與圖9b,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會將實體抹除單元410(0)的有效數(shù)據(jù)d0(0)~d0(41)分別寫入至實體抹除單元410(3)的第2~43個實體程序化單元組,并且將實體抹除單元410(1)的有效數(shù)據(jù)d1(0)~d1(41)分別寫入至實體抹除單元410(3)的第44~85個實體程序化單元組,以填滿實體抹除單元410(3)中第2~85個實體程序化單元組的可用儲存空間。接著,請同時參照圖9b與圖9c,在本范例實施例中,由于實體抹除單元410(0)以及實體抹除單元410(1)中的有效數(shù)據(jù)皆已寫入至實體抹除單元410(3),內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會將實體抹除單元410(0)以及實體抹除單元410(1)中所儲存的數(shù)據(jù)皆視為無效數(shù)據(jù),內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列對實體抹除單元410(0)以及實體抹除單元410(1)進行抹除操作,并將實體抹除單元410(0)以及實體抹除單元410(1)關聯(lián)至閑置區(qū)604,以釋放可復寫式非易失性內(nèi)存模塊406的儲存空間并增加閑置區(qū)604中閑置的實體抹除單元的數(shù)量。此外,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會將實體抹除單元410(3)關聯(lián)至數(shù)據(jù)區(qū)602中。圖10是根據(jù)另一范例實施例所顯示的數(shù)據(jù)寫入方法的流程圖。請參照圖10,在步驟s1001中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)判斷是否從主機系統(tǒng)11接收到默認指令。當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)沒有從主機系統(tǒng)11接收到默認指令,則重復執(zhí)行步驟s1001。當內(nèi)存控制電路單元404(或內(nèi)存管理 電路502)從主機系統(tǒng)11接收默認指令時,在步驟s1003中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以將緩沖存儲器508中的暫存數(shù)據(jù)寫入可復寫式非易失性內(nèi)存模塊406的實體抹除單元410(0)~410(n)之中的第一實體抹除單元。之后,在步驟s1005中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會判斷暫存數(shù)據(jù)的數(shù)量是否小于默認門檻值。當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)判斷暫存數(shù)據(jù)的數(shù)量小于默認門檻值時,在步驟s1007中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會下達指令序列以將虛擬數(shù)據(jù)寫入第一實體抹除單元中。當內(nèi)存控制電路單元404(或內(nèi)存管理電路502)判斷暫存數(shù)據(jù)的數(shù)量非小于默認門檻值時,在步驟s1009中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)會從可復寫式非易失性內(nèi)存模塊406的實體抹除單元410(0)~410(n)中選擇第二實體抹除單元。并且在步驟s1011中,內(nèi)存控制電路單元404(或內(nèi)存管理電路502)下達指令序列以將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元。綜上所述,本發(fā)明的數(shù)據(jù)寫入方法可以在收到主機系統(tǒng)下達的默認指令時,將緩沖存儲器的暫存數(shù)據(jù)儲存至可復寫式非易失性內(nèi)存中的第一實體抹除單元中,并且將第二實體抹除單元中的有效數(shù)據(jù)寫入至第一實體抹除單元,藉此可以有效地提升可復寫式非易失性內(nèi)存的使用效率,以避免儲存過多的無效數(shù)據(jù)并延長可復寫式非易失性內(nèi)存的使用壽命。雖然本發(fā)明已以實施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術領域:
:中普通技術人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可作些許的改動與潤飾,故本發(fā)明的保護范圍當視所附權利要求界定范圍為準。當前第1頁12當前第1頁12