本發(fā)明是有關(guān)于一種管理存儲器的技術(shù),且特別是有關(guān)于一種能暫時增加緩沖存儲器的存儲空間的存儲器管理方法及使用此方法的存儲器控制電路單元與存儲器存儲裝置。
背景技術(shù):
::數(shù)碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對存儲媒體的需求也急速增加。由于可復(fù)寫式非易失性存儲器(rewritablenon-volatilememory)具有數(shù)據(jù)非易失性、省電、體積小、無機械結(jié)構(gòu)、讀寫速度快等特性,最適于便攜式電子產(chǎn)品,例如筆記本電腦。固態(tài)硬盤就是一種以快速存儲器模塊作為存儲媒體的存儲器存儲裝置。因此,近年快速存儲器產(chǎn)業(yè)成為電子產(chǎn)業(yè)中相當熱門的一環(huán)。在使用可復(fù)寫式非易失性存儲器作為存儲媒體的存儲器存儲裝置中,通常也會配置緩沖存儲器,用以暫存程序碼或是數(shù)據(jù)。由于成本的考量,這樣的緩沖存儲器并不會有很大的存儲空間。因此,當緩沖存儲器的可用存儲空間不足時,如何能夠快速且暫時的空出緩沖存儲器的存儲空間,以執(zhí)行需較多暫存空間的操作,為此領(lǐng)域技術(shù)人員所關(guān)心的議題。技術(shù)實現(xiàn)要素:本發(fā)明提出一種存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置,其能夠暫時且快速的空出緩沖存儲器的存儲空間。本發(fā)明的一范例實施例提供一種存儲器管理方法,用于操作存儲器存儲裝置的緩沖存儲器。其中,存儲器存儲裝置包括可復(fù)寫式非易失性存儲器模塊且可復(fù)寫式非易失性存儲器模塊包括多個存儲器平面,此些存儲器平面被平行地操作。存儲器管理方法包括:將暫存數(shù)據(jù)從緩沖存儲器中傳送至上述存儲器平面之中的第一存儲器平面的暫存器;釋放緩沖存儲器的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù);使用第一存儲空間對上述存儲器平面之中的第二存儲器平面執(zhí)行第一操作;以及在完成對第二存儲器平面所執(zhí)行的第一操作之后,將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器的第一存儲空間,其中上述對第一存儲器平面以及第二存儲器平面的操作為非同步操作。在本發(fā)明的一實施例中,其中存儲器平面中的每一個存儲器平面具有多個實體抹除單元,其中在將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的步驟之前,存儲器管理方法還包括:執(zhí)行寫入操作以將第一數(shù)據(jù)寫入至第二存儲器平面的第一實體抹除單元;以及當對應(yīng)寫入操作產(chǎn)生寫入失敗信號時,執(zhí)行上述將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的步驟。在本發(fā)明的一實施例中,其中在使用第一存儲空間執(zhí)行第一操作的步驟中,還包括:使用第一存儲空間以及緩沖存儲器的第二存儲空間對第二存儲器平面執(zhí)行第一操作。在本發(fā)明的一實施例中,其中使用第一存儲空間以及緩沖存儲器的第二存儲空間對第二存儲器平面執(zhí)行第一操作的步驟包括:從第二存儲器平面的第一實體抹除單元中復(fù)制第二數(shù)據(jù)與第三數(shù)據(jù)至緩沖存儲器的第一存儲空間以及第二存儲空間;以及將第二數(shù)據(jù)與第三數(shù)據(jù)從緩沖存儲器的第一存儲空間以及第二存儲空間中同時寫入至第二存儲器平面的第二實體抹除單元中。在本發(fā)明的一實施例中,存儲器管理方法還包括:將第一數(shù)據(jù)寫入至第二存儲器平面的第二實體抹除單元。在本發(fā)明的一實施例中,其中緩沖存儲器的第一存儲空間的大小為16K比特組。本發(fā)明一范例實施例提供一種用于控制可復(fù)寫式非易失性存儲器模塊的存儲器控制電路單元,其中可復(fù)寫式非易失性存儲器模塊包括多個存儲器平面,此些存儲器平面被平行地操作。此存儲器控制電路單元包括:用以電性連接至主機系統(tǒng)的主機接口;用以電性連接至可復(fù)寫式非易失性存儲器模塊的存儲器接口;電性連接至主機接口及存儲器接口的緩沖存儲器;以及電性連接至主機接口、存儲器接口與緩沖存儲器的存儲器管理電路。存儲器管理電路用以將暫存數(shù)據(jù)從緩沖存儲器中傳送至上述存儲器平面之中的第一存儲器平面的暫存器。存儲器管理電路還用以釋放緩沖存儲器的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù)。存儲器管理電路還用以使用第一存儲空間對上述存儲器平面之中的第二存儲器平面執(zhí)行第一操作。在完成對第二存儲器平面所執(zhí)行的第一操作之后,存儲器管理電路還用以將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器的第一存儲空間,其中上述對第一存儲器平面以及第二存儲器平面的操作為非同步操作。在本發(fā)明的一實施例中,存儲器平面中的每一個存儲器平面具有多個實體抹除單元。其中在將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的運作之前,存儲器管理電路還用以執(zhí)行寫入操作以將第一數(shù)據(jù)寫入至第二存儲器平面的第一實體抹除單元。當存儲器管理電路對應(yīng)寫入操作產(chǎn)生寫入失敗信號時,存儲器管理電路還用以執(zhí)行上述將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的運作。在本發(fā)明的一實施例中,其中在使用第一存儲空間執(zhí)行第一操作的運作中,存儲器管理電路還用以使用第一存儲空間以及緩沖存儲器的第二存儲空間對第二存儲器平面執(zhí)行第一操作。在本發(fā)明的一實施例中,其中在使用第一存儲空間以及緩沖存儲器的第二存儲空間對第二存儲器平面執(zhí)行第一操作的運作中,存儲器管理電路還用以從第二存儲器平面的第一實體抹除單元中復(fù)制第二數(shù)據(jù)與第三數(shù)據(jù)至緩沖存儲器的第一存儲空間以及第二存儲空間。存儲器管理電路還用以將第二數(shù)據(jù)與第三數(shù)據(jù)從緩沖存儲器的第一存儲空間以及第二存儲空間中同時寫入至第二存儲器平面的第二實體抹除單元中。在本發(fā)明的一實施例中,存儲器管理電路還用以將第一數(shù)據(jù)寫入至第二存儲器平面的第二實體抹除單元。在本發(fā)明的一實施例中,其中緩沖存儲器的第一存儲空間的大小為16K比特組。本發(fā)明一范例實施例提供一種存儲器存儲裝置。其包括:用以電性連接至主機系統(tǒng)的連接接口單元、可復(fù)寫式非易失性存儲器模塊以及電性連接至連接接口單元與可復(fù)寫式非易失性存儲器模塊的存儲器控制電路單元。其中可復(fù)寫式非易失性存儲器模塊包括多個存儲器平面,此些存儲器平面被平行地操作。其中存儲器控制電路單元包括緩沖存儲器。存儲器控制電路單元用以將暫存數(shù)據(jù)從緩沖存儲器中傳送至上述存儲器平面之中的第一存儲器平面的暫存器。存儲器控制電路單元還用以釋放緩沖存儲器的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù)。存儲器控制電路單元還用以使用第一存儲空間對上述存儲器平面之中的第二存儲器平面執(zhí)行第一操作。在完成對第二存儲器平面所執(zhí)行第一操作之后,存儲器控制電路單元還用以將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器的第一存儲空間,其中上述對第一存儲器平面以及第二存儲器平面的操作為非同步操作。在本發(fā)明的一實施例中,其中存儲器平面中的每一個存儲器平面具有多個實體抹除單元,其中在將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的運作之前,存儲器控制電路單元用以執(zhí)行寫入操作以將第一數(shù)據(jù)寫入至第二存儲器平面的第一實體抹除單元。當存儲器控制電路單元對應(yīng)寫入操作產(chǎn)生寫入失敗信號時,存儲器控制電路單元還用以執(zhí)行上述將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的運作。在本發(fā)明的一實施例中,其中在使用第一存儲空間執(zhí)行第一操作的運作中,存儲器控制電路單元還用以使用第一存儲空間以及緩沖存儲器的第二存儲空間對第二存儲器平面執(zhí)行第一操作。在本發(fā)明的一實施例中,其中在使用第一存儲空間以及緩沖存儲器的第二存儲空間對第二存儲器平面執(zhí)行第一操作的運作中,存儲器控制電路單元還用以從第二存儲器平面的第一實體抹除單元中復(fù)制第二數(shù)據(jù)與第三數(shù)據(jù)至緩沖存儲器的第一存儲空間以及第二存儲空間。存儲器控制電路單元還用以將第二數(shù)據(jù)與第三數(shù)據(jù)從緩沖存儲器的第一存儲空間以及第二存儲空間中同時寫入至第二存儲器平面的第二實體抹除單元中。在本發(fā)明的一實施例中,存儲器控制電路單元還用以將第一數(shù)據(jù)寫入至第二存儲器平面的第二實體抹除單元。在本發(fā)明的一實施例中,其中緩沖存儲器的第一存儲空間的大小為16K比特組(Bytes)。基于上述,本發(fā)明提出的存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置,可以暫時地空出緩沖存儲器的存儲空間。特別是,由于數(shù)據(jù)被暫存在可復(fù)寫式非易失性存儲器的一存儲器平面的暫存器,存儲器控制器可以利用緩沖存儲器的存儲空間來對另外一個存儲器平面中的實體抹除單元進行操作。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。附圖說明圖1是根據(jù)本發(fā)明的一范例實施例所示出的主機系統(tǒng)、存儲器存儲裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據(jù)本發(fā)明的另一范例實施例所示出的主機系統(tǒng)、存儲器存儲裝置及I/O裝置的示意圖。圖3是根據(jù)本發(fā)明的另一范例實施例所示出的主機系統(tǒng)與存儲器存儲裝置的示意圖。圖4是根據(jù)本發(fā)明的一范例實施例所示出的存儲器存儲裝置的概要方塊圖。圖5是根據(jù)本發(fā)明的一范例實施例所示出的存儲器控制電路單元的概要方塊圖。圖6是根據(jù)一范例實施例所示出的緩沖存儲器的示意圖。圖7A~圖7E是根據(jù)一范例實施例說明空出緩沖存儲器的部分存儲器空間的示意圖。圖8是根據(jù)一范例實施例所示出的存儲器的管理方法的流程圖。圖9是根據(jù)另一范例實施例所示出的存儲器的管理方法的流程圖。附圖標號說明:10、30:存儲器存儲裝置;11、31:主機系統(tǒng);110:系統(tǒng)總線;111:處理器;112:隨機存取存儲器;113:只讀存儲器;114:數(shù)據(jù)傳輸接口;12:輸入/輸出(I/O)裝置;20:主機板;201:U盤;202:存儲卡;203:固態(tài)硬盤;204:無線存儲器存儲裝置;205:全球定位系統(tǒng)模塊;206:網(wǎng)絡(luò)接口卡;207:無線傳輸裝置;208:鍵盤;209:屏幕;210:喇叭;32:SD卡;33:CF卡;34:嵌入式存儲裝置;341:嵌入式多媒體卡;342:嵌入式多芯片封裝存儲裝置;402:連接接口單元;404:存儲器控制電路單元;406:可復(fù)寫式非易失性存儲器模塊;408、414:存儲器平面;410、416:暫存器;412(0)~412(N)、418(0)~418(N):實體抹除單元;502:存儲器管理電路;504:主機接口;506:存儲器接口;508:錯誤檢查與校正電路;510:緩沖存儲器;512:電源管理電路;610(0)~610(511):緩存單元;620、630:緩存單元組;BD:暫存數(shù)據(jù);ID(0)、ID(1)、ID(2):數(shù)據(jù);S801:將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的步驟;S803:釋放緩沖存儲器的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù)的步驟;S805:使用第一存儲空間對第二存儲器平面執(zhí)行第一操作的步驟;S807:將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器的第一存儲空間的步驟;S901:執(zhí)行寫入操作以將第一數(shù)據(jù)寫入至第二存儲器平面的第一實體抹除單元的步驟;S903:判斷是否發(fā)生寫入失敗的步驟;S905:當發(fā)生寫入失敗時,將暫存數(shù)據(jù)從緩沖存儲器中傳送至第一存儲器平面的暫存器的步驟;S907:釋放緩沖存儲器的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù)的步驟;S909:從第二存儲器平面的第一實體抹除單元中復(fù)制第二數(shù)據(jù)與第三數(shù)據(jù)至緩沖存儲器的第一存儲空間以及第二存儲空間的步驟;S911:將第二數(shù)據(jù)與第三數(shù)據(jù)從緩沖存儲器的第一存儲空間以及第二存儲空間中同時寫入至第二存儲器平面的第二實體抹除單元中的步驟;S913:將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器的第一存儲空間的步驟;S915:將第一數(shù)據(jù)寫入至第二存儲器平面的第二實體抹除單元的步驟。具體實施方式一般而言,存儲器存儲裝置(也稱,存儲器存儲系統(tǒng))包括可復(fù)寫式非易失性存儲器模塊與控制器(也稱,控制電路)。通常存儲器存儲裝置是與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數(shù)據(jù)寫入至存儲器存儲裝置或從存儲器存儲裝置中讀取數(shù)據(jù)。圖1是根據(jù)本發(fā)明的一范例實施例所示出的主機系統(tǒng)、存儲器存儲裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據(jù)本發(fā)明的另一范例實施例所示出的主機系統(tǒng)、存儲器存儲裝置及I/O裝置的示意圖。請參照圖1與圖2,主機系統(tǒng)11一般包括處理器111、隨機存取存儲器(randomaccessmemory,RAM)112、只讀存儲器(readonlymemory,ROM)113及數(shù)據(jù)傳輸接口114。處理器111、隨機存取存儲器112、只讀存儲器113及數(shù)據(jù)傳輸接口114皆電性連接至系統(tǒng)總線(systembus)110。在本范例實施例中,主機系統(tǒng)11是通過數(shù)據(jù)傳輸接口114與存儲器存儲裝置10電性連接。例如,主機系統(tǒng)11可通過數(shù)據(jù)傳輸接口114將數(shù)據(jù)寫入至存儲器存儲裝置10或從存儲器存儲裝置10中讀取數(shù)據(jù)。此外,主機系統(tǒng)11是通過系統(tǒng)總線110與I/O裝置12電性連接。例如,主機系統(tǒng)11可通過系統(tǒng)總線110將輸出信號傳送至I/O裝置12或從I/O裝置12接收輸入信號。在本范例實施例中,處理器111、隨機存取存儲器112、只讀存儲器113及數(shù)據(jù)傳輸接口114是可設(shè)置在主機系統(tǒng)11的主機板20上。數(shù)據(jù)傳輸接口114的數(shù)目可以是一或多個。通過數(shù)據(jù)傳輸接口114,主機板20可以通過有線或無線的方式電性連接至存儲器存儲裝置10。其中存儲器存儲裝置10可例如是U盤201、存儲卡202、固態(tài)硬盤(SolidStateDrive,SSD)203或無線存儲器存儲裝置204。其中,無線存儲器存儲裝置204可例如是近距離無線通訊(NearFieldCommunication,NFC)存儲器存儲裝置、無線保真(WiFi)存儲器存儲裝置、藍牙(Bluetooth)存儲器存儲裝置或低功耗藍牙存儲器存儲裝置(例如,iBeacon)等以各式無線通訊技術(shù)為基礎(chǔ)的各種類型存儲器存儲裝置。此外,主機板20也可以通過系統(tǒng)總線110電性連接至全球定位系統(tǒng)(GlobalPositioningSystem,GPS)模塊205、網(wǎng)絡(luò)接口卡206、無線傳輸裝置207、鍵盤208、屏幕209、喇叭210等各種類型的式I/O裝置。例如,在一范例實施例中,主機板20可通過無線傳輸裝置207存取無線存儲器存儲裝置204。在一范例實施例中,所提及的主機系統(tǒng)為可實質(zhì)地與存儲器存儲裝置配合以存儲數(shù)據(jù)的任意系統(tǒng)。雖然在上述范例實施例中,主機系統(tǒng)是以電腦系統(tǒng)來作說明,然而,圖3是根據(jù)本發(fā)明的另一范例實施例所示出的主機系統(tǒng)與存儲器存儲裝置的示意圖。請參照圖3,在另一范例實施例中,主機系統(tǒng)31也可以是數(shù)碼相機、攝像機、通訊裝置、音頻播放器、視頻播放器或平板電腦等系統(tǒng),而存儲器存儲裝置30可為其所使用的SD卡32、CF卡33或嵌入式存儲裝置34等各式非易失性存儲器存儲裝置。嵌入式存儲裝置34包括嵌入式多媒體卡(embeddedMMC,eMMC)341和/或嵌入式多芯片封裝存儲裝置(embeddedMultiChipPackage,eMCP)342等各類型將存儲器模塊直接電性連接于主機系統(tǒng)的基板上的嵌入式存儲裝置。圖4是根據(jù)本發(fā)明的一范例實施例所示出的存儲器存儲裝置的概要方塊圖。請參照圖4,存儲器存儲裝置10包括連接接口單元402、存儲器控制電路單元404與可復(fù)寫式非易失性存儲器模塊406。在本范例實施例中,連接接口單元402是相容于串行高級技術(shù)附件(SerialAdvancedTechnologyAttachment,SATA)標準。然而,必須了解的是,本發(fā)明不限于此,連接接口單元402也可以是符合并列先進附件(ParallelAdvancedTechnologyAttachment,PATA)標準、電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,IEEE)1394標準、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標準、通用串行總線(UniversalSerialBus,USB)標準、安全數(shù)字(SecureDigital,SD)接口標準、超高速一代(UltraHighSpeed-I,UHS-I)接口標準、超高速二代(UltraHighSpeed-II,UHS-II)接口標準、記憶棒(MemoryStick,MS)接口標準、多芯片封裝(Multi-ChipPackage)接口標準、多媒體存儲卡(MultiMediaCard,MMC)接口標準、嵌入式多媒體存儲卡(EmbeddedMultimediaCard,eMMC)接口標準、通用快速存儲器(UniversalFlashStorage,UFS)接口標準、嵌入式多芯片封裝(embeddedMultiChipPackage,eMCP)接口標準、小型快速(CompactFlash,CF)接口標準、整合式驅(qū)動電子接口(IntegratedDeviceElectronics,IDE)標準或其他適合的標準。連接接口單元402可與存儲器控制電路單元404封裝在一個芯片中,或者連接接口單元402是布設(shè)于一包含存儲器控制電路單元404的芯片外。存儲器控制電路單元404用以執(zhí)行以硬件或軟件實作的多個邏輯門或控制指令,并且根據(jù)主機系統(tǒng)11的指令在可復(fù)寫式非易失性存儲器模塊406中進行數(shù)據(jù)的寫入、讀取與抹除等運作??蓮?fù)寫式非易失性存儲器模塊406是電性連接至存儲器控制電路單元404并且用以存儲主機系統(tǒng)11所寫入的數(shù)據(jù)??蓮?fù)寫式非易失性存儲器模塊406可以是單階存儲單元(SingleLevelCell,SLC)NAND型快速存儲器模塊(即,一個存儲單元中可存儲1個比特的快速存儲器模塊)、多階存儲單元(MultiLevelCell,MLC)NAND型快速存儲器模塊(即,一個存儲單元中可存儲2個比特的快速存儲器模塊)、復(fù)數(shù)階存儲單元(TripleLevelCell,TLC)NAND型快速存儲器模塊(即,一個存儲單元中可存儲3個比特的快速存儲器模塊)、其他快速存儲器模塊或其他具有相同特性的存儲器模塊。在本范例實施例中,上述可復(fù)寫式非易失性存儲器模塊406的裝置是依據(jù)可復(fù)寫式非易失性存儲器模塊406的存儲器晶粒(die)中的存儲器平面(plane)所劃分的。具體來說,可復(fù)寫式非易失性存儲器模塊406可具有1個或多個存儲器晶粒,每一存儲器晶粒具有1個或多個存儲器平面,并且每一存儲器平面會有多個實體抹除單元。在出廠時,廠商會根據(jù)其需求將1個或多個存儲器平面劃分為1個裝置。借此,廠商可依裝置為單位來管理整個可復(fù)寫式非易失性存儲器模塊406。特別是,本發(fā)明并不限定每一裝置所包含的存儲器平面的數(shù)量。在本范例實施例中,可復(fù)寫式非易失性存儲器模塊406包括存儲器平面408(以下稱為第二存儲器平面)以及存儲器平面414(以下稱為第一存儲器平面)。其中,存儲器平面408包括暫存器410以及實體抹除單元412(0)~412(N)。暫存器410是用以暫存來自于存儲器控制電路單元404或是暫存實體抹除單元412(0)~412(N)的數(shù)據(jù)。具體來說,在可復(fù)寫式非易失性存儲器模塊406中寫入數(shù)據(jù)的過程包括數(shù)據(jù)傳輸以及數(shù)據(jù)編程兩個部分。在數(shù)據(jù)傳輸?shù)牟糠?,存儲器控制電路單?04的存儲器管理電路502會將欲寫入的數(shù)據(jù)傳輸至暫存器410。而在數(shù)據(jù)編程的部分,欲寫入的數(shù)據(jù)會從暫存器410中編程至實體抹除單元412(0)~412(N)中。在一范例實施例中,暫存器410可為易失性存儲器,例如動態(tài)隨機存取存儲器(dynamicrandomaccessmemory,DRAM),但是暫存器410也可以是靜態(tài)隨機存取存儲器(staticrandomaccessmemory,SRAM)、磁電阻式隨機存取記憶(MagnetoresistiveRandomAccessMemory,MRAM)、快取隨機存取存儲器(CacheRAM)、同步動態(tài)隨機存取存儲器(synchronousdynamicrandomaccessmemory,SDRAM)、視頻隨機存取存儲器(VideoRAM,VRAM)嵌入式動態(tài)隨機存取存儲器(embeddedDRAM,eDRAM)或其他的存儲器。在另一范例實施例中,暫存器410可為非易失性存儲器,例如或非門閃存存儲器(NORFlash)或其他的存儲器。此外,實體抹除單元412(0)~412(N)分別具有復(fù)數(shù)個實體編程單元,其中屬于同一個實體抹除單元的實體編程單元可被獨立地寫入且被同時地抹除。然而,必須了解的是,本發(fā)明不限于此,每一實體抹除單元可以是由64個實體編程單元、256個實體編程單元或其他任意個實體編程單元所組成。在本范例實施例中,存儲器平面414包括暫存器416以及實體抹除單元418(0)~418(N)。暫存器416以及實體抹除單元418(0)~418(N)可以是類似上述存儲器平面408中的暫存器410以及實體抹除單元412(0)~412(N),在此并不再贅述。特別是,本發(fā)明并不用于限定可復(fù)寫式非易失性存儲器模塊406所包括的存儲器平面的數(shù)量,且本發(fā)明也不用于限定每個存儲器平面所具有的實體抹除單元的數(shù)量。在一般的情況下,存儲器平面408以及存儲器平面414是被平行地進行操作。具體來說,當存儲器控制電路單元404的存儲器管理電路502在執(zhí)行寫入操作以將一筆數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模塊406時,存儲器控制電路單元404的存儲器管理電路502可以將此數(shù)據(jù)分為多個子數(shù)據(jù),并將此些子數(shù)據(jù)平行地編程至存儲器平面408中的實體編程單元以及存儲器平面414中的實體編程單元。通過此方式可以同時地對存儲器平面408以及存儲器平面414進行寫入,并且提升寫入操作的執(zhí)行效率。當存儲器控制電路單元404的存儲器管理電路502在執(zhí)行讀取操作時,存儲器控制電路單元404的存儲器管理電路502可以平行地(或同時地)從存儲器平面408中以及存儲器平面414中讀取多個子數(shù)據(jù),并且將此些子數(shù)據(jù)重組為原始的數(shù)據(jù)。此外,當存儲器控制電路單元404的存儲器管理電路502在執(zhí)行抹除操作時,存儲器控制電路單元404的存儲器管理電路502也可以平行地(或同時地)對存儲器平面408中的實體抹除單元以及存儲器平面414中的實體抹除單元同時進行抹除。也就是說,在一般的情況下,存儲器平面408以及存儲器平面414是被同步地進行操作。特別是,本發(fā)明不限于此。在一實施例中,存儲器控制電路單元404的存儲器管理電路502也可以平行地(或同步地)對存儲器平面408以及存儲器平面414執(zhí)行其他的操作。圖5是根據(jù)本發(fā)明的一范例實施例所示出的存儲器控制電路單元的概要方塊圖。請參照圖5,存儲器控制電路單元404包括存儲器管理電路502、主機接口504及存儲器接口506。存儲器管理電路502用以控制存儲器控制電路單元404的整體運作。具體來說,存儲器管理電路502具有多個控制指令,并且在存儲器存儲裝置10運作時,此些控制指令會被執(zhí)行以進行數(shù)據(jù)的寫入、讀取與抹除等運作。以下說明存儲器管理電路502執(zhí)行各項操作的同時,可以理解為由存儲器控制電路單元404來執(zhí)行此些操作。在本范例實施例中,存儲器管理電路502的控制指令是以軟件來實作。例如,存儲器管理電路502具有微處理器單元(未示出)與只讀存儲器(未示出),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器存儲裝置10運作時,此些控制指令會由微處理器單元來執(zhí)行以進行數(shù)據(jù)的寫入、讀取與抹除等運作。在另一范例實施例中,存儲器管理電路502的控制指令也可以程序碼型式存儲于可復(fù)寫式非易失性存儲器模塊406的特定區(qū)域(例如,存儲器模塊中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。此外,存儲器管理電路502具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此只讀存儲器具有開機碼(bootcode),并且當存儲器控制電路單元404被致能時,微處理器單元會先執(zhí)行此開機碼來將存儲于可復(fù)寫式非易失性存儲器模塊406中的控制指令載入至存儲器管理電路502的隨機存取存儲器中。之后,微處理器單元會運轉(zhuǎn)此些控制指令以進行數(shù)據(jù)的寫入、讀取與抹除等運作。此外,在另一范例實施例中,存儲器管理電路502的控制指令也可以一硬件來實作。例如,存儲器管理電路502包括微控制器、存儲單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數(shù)據(jù)處理電路。存儲單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器抹除電路與數(shù)據(jù)處理電路是電性連接至微控制器。存儲單元管理電路用以管理可復(fù)寫式非易失性存儲器模塊406的存儲單元或其群組。存儲器寫入電路用以對可復(fù)寫式非易失性存儲器模塊406下達寫入指令序列以將數(shù)據(jù)寫入至可復(fù)寫式非易失性存儲器模塊406中。存儲器讀取電路用以對可復(fù)寫式非易失性存儲器模塊406下達讀取指令序列以從可復(fù)寫式非易失性存儲器模塊406中讀取數(shù)據(jù)。存儲器抹除電路用以對可復(fù)寫式非易失性存儲器模塊406下達抹除指令序列以將數(shù)據(jù)從可復(fù)寫式非易失性存儲器模塊406中抹除。數(shù)據(jù)處理電路用以處理欲寫入至可復(fù)寫式非易失性存儲器模塊406的數(shù)據(jù)以及從可復(fù)寫式非易失性存儲器模塊406中讀取的數(shù)據(jù)。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程序碼或指令碼并且用以指示可復(fù)寫式非易失性存儲器模塊406執(zhí)行相對應(yīng)的寫入、讀取及抹除等操作。在一范例實施例中,存儲器管理電路502還可以下達其他類型的指令序列給可復(fù)寫式非易失性存儲器模塊406以指示執(zhí)行相對應(yīng)的操作。主機接口504是電性連接至存儲器管理電路502并且用以接收與識別主機系統(tǒng)11所傳送的指令與數(shù)據(jù)。也就是說,主機系統(tǒng)11所傳送的指令與數(shù)據(jù)會通過主機接口504來傳送至存儲器管理電路502。在本范例實施例中,主機接口504是相容于SATA標準。然而,必須了解的是本發(fā)明不限于此,主機接口504也可以是相容于PATA標準、IEEE1394標準、PCIExpress標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的數(shù)據(jù)傳輸標準。存儲器接口506是電性連接至存儲器管理電路502并且用以存取可復(fù)寫式非易失性存儲器模塊406。也就是說,欲寫入至可復(fù)寫式非易失性存儲器模塊406的數(shù)據(jù)會通過存儲器接口506轉(zhuǎn)換為可復(fù)寫式非易失性存儲器模塊406所能接受的格式。具體來說,若存儲器管理電路502要存取可復(fù)寫式非易失性存儲器模塊406,存儲器接口506會傳送對應(yīng)的指令序列。例如,這些指令序列可包括指示寫入數(shù)據(jù)的寫入指令序列、指示讀取數(shù)據(jù)的讀取指令序列、指示抹除數(shù)據(jù)的抹除指令序列、以及用以指示各種存儲器操作(例如,改變讀取電壓準位或執(zhí)行垃圾回收操作等等)的相對應(yīng)的指令序列。這些指令序列例如是由存儲器管理電路502產(chǎn)生并且通過存儲器接口506傳送至可復(fù)寫式非易失性存儲器模塊406。這些指令序列可包括一或多個信號,或是在總線上的數(shù)據(jù)。這些信號或數(shù)據(jù)可包括指令碼或程序碼。例如,在讀取指令序列中,會包括讀取的辨識碼、存儲器地址等信息。錯誤檢查與校正電路508是電性連接至存儲器管理電路502并且用以執(zhí)行錯誤檢查與校正程序以確保數(shù)據(jù)的正確性。具體來說,當存儲器管理電路502從主機系統(tǒng)11中接收到寫入指令時,錯誤檢查與校正電路508會為對應(yīng)此寫入指令的數(shù)據(jù)產(chǎn)生對應(yīng)的錯誤更正碼(errorcorrectingcode,ECC)和/或錯誤檢查碼(errordetectingcode,EDC),并且存儲器管理電路502會將對應(yīng)此寫入指令的數(shù)據(jù)與對應(yīng)的錯誤更正碼和/或錯誤檢查碼寫入至可復(fù)寫式非易失性存儲器模塊406中。之后,當存儲器管理電路502從可復(fù)寫式非易失性存儲器模塊406中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應(yīng)的錯誤更正碼和/或錯誤檢查碼,并且錯誤檢查與校正電路508會依據(jù)此錯誤更正碼和/或錯誤檢查碼對所讀取的數(shù)據(jù)執(zhí)行錯誤檢查與校正程序。緩沖存儲器510是電性連接至存儲器管理電路502并且用以暫存來自于主機系統(tǒng)11的數(shù)據(jù)與指令或來自于可復(fù)寫式非易失性存儲器模塊406的數(shù)據(jù)。電源管理電路512是電性連接至存儲器管理電路502并且用以控制存儲器存儲裝置10的電源。圖6是根據(jù)一范例實施例所示出的緩沖存儲器的示意圖。請參照圖6,在本范例實施例中,緩沖存儲器510具有512個緩存單元(即,緩存單元610(0)~610(511)),且每一個緩存單元的大小為4KB。具體而言,四個緩存單元的大小為對應(yīng)可復(fù)寫式非易失性存儲器406的一個實體編程單元的大小。換句話說,在本范例實施例中,一個實體編程單元的大小為16KB。為了方便于描述,在此將四個緩存單元邏輯上定義為一個緩存單元組。例如,緩沖存儲器510中的緩存單元610(0)~610(3)可以邏輯上地被定義為緩存單元組620,緩存單元610(4)~610(7)可以邏輯上地被定義為緩存單元組630,以此類推。當存儲器管理電路502從可復(fù)寫式非易失性存儲器模塊406的一個實體編程單元讀取數(shù)據(jù)時,此實體編程單元的數(shù)據(jù)可以剛好被存儲至一個緩存單元組中。然而,必須了解的是,本范例實施例不限定配置在緩沖存儲器510中的緩存單元的個數(shù)、緩存單元的大小、實體編程單元的大小以及主機系統(tǒng)11所傳送的數(shù)據(jù)的大小。例如,在其他范例實施例中,緩沖存儲器510中緩存單元的個數(shù)可以多于或少于512個緩存單元。此外,主機系統(tǒng)11例如是以4KB為單位來傳送或存取數(shù)據(jù)。或者,在另一范例實施例中,主機系統(tǒng)11每次所傳送或存取的數(shù)據(jù)的大小也可以大于或小于4KB。再者,本發(fā)明也不用于限定一個實體編程單元的大小,且在另一范例實施例中,一個緩存單元組可以包括更多個或更少個緩存單元。在另一范例實施例中,緩存單元組中的緩存單元也可以不連續(xù)。需注意的是,在與非(NAND)型快速存儲器模塊中,實體編程單元是由排列在同一條字節(jié)線上的數(shù)個存儲單元所組成。依據(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型快速存儲器模塊中,排列在同一條字節(jié)線上的數(shù)個存儲單元是對應(yīng)一個實體編程單元。相對于SLCNAND型快速存儲器模塊來說,MLCNAND型快速存儲器模塊的每個存儲單元的浮動柵存儲層可存儲2個比特的數(shù)據(jù),其中每一個存儲狀態(tài)(即,“11”、“10”、“01”與“00”)包括最低有效比特(LeastSignificantBit,LSB)以及最高有效比特(MostSignificantBit,MSB)。例如,存儲狀態(tài)中從左側(cè)算起的第1個比特的值為LSB,而從左側(cè)算起的第2個比特的值為MSB。因此,排列在同一條字節(jié)線上的數(shù)個存儲單元可組成2個實體編程單元,其中由此些存儲單元的LSB所組成的實體編程單元稱為下實體編程單元(lowerphysicalprogrammingunit),并且由此些存儲單元的MSB所組成的實體編程單元稱為上實體編程單元(upperphysicalprogrammingunit)。特別是,當編程上實體編程單元發(fā)生錯誤時,下實體編程單元所存儲的數(shù)據(jù)也可能因此遺失。此外,在3DMLCNAND型快速存儲器模塊中,若要確保一條字節(jié)線上的數(shù)據(jù)可穩(wěn)定地被存儲,必須同時地對上實體編程單元以及下實體編程單元進行編程。特別是,當存儲器管理電路502欲對可復(fù)寫式非易失性存儲器模塊406執(zhí)行一預(yù)設(shè)操作時,倘若緩沖存儲器510中保留給此預(yù)設(shè)操作的存儲空間僅可以容納一個實體編程單元的大小的數(shù)據(jù),則當此預(yù)設(shè)操作對于可復(fù)寫式非易失性存儲器模塊406進行寫入操作時容易造成寫入失敗。換句話說,在上述的情況下,由于緩沖存儲器510的容量關(guān)系,緩沖存儲器510一次只能對一個實體編程單元進行寫入,故容易造成寫入失敗。特別是,上述的預(yù)設(shè)操作例如是發(fā)生寫入失敗時所需進行的壞區(qū)塊取代(Badblockreplace)操作(又稱為,壞實體抹除單元取代操作)。由于壞區(qū)塊取代操作通常會對多個實體編程單元進行寫入,倘若緩沖存儲器510保留給此壞區(qū)塊取代操作的存儲空間僅可以容納一個實體編程單元的大小的數(shù)據(jù),則當壞區(qū)塊取代操作對可復(fù)寫式非易失性存儲器模塊406進行寫入操作時,容易造成寫入失敗。特別是,由于壞區(qū)塊取代操作通常會針對某一個存儲器平面來執(zhí)行,因此在本范例實施例中,可以通過將緩沖存儲器510中的部份數(shù)據(jù)暫存至另一個存儲器平面的暫存器中,使得緩沖存儲器510能夠暫時地增加存儲空間來執(zhí)行壞區(qū)塊取代操作。為了更請楚地了解本發(fā)明的數(shù)據(jù)管理方法,圖7A~圖7E是根據(jù)一范例實施例說明空出緩沖存儲器的部分存儲器空間的示意圖。請參照圖7A,為方便說明,在此僅示出存儲器平面408中部份的實體抹除單元(即,實體抹除單元412(0)~412(1))以及存儲器平面414中部份的實體抹除單元(即,實體抹除單元418(0)~418(1))進行描述。此外,在本范例實施例中假設(shè)一個實體抹除單元具有64個實體編程單元。特別是,在圖7A~圖7E的范例實施例中,可復(fù)寫式非易失性存儲器模塊406是MLCNAND型快速存儲器模塊,也就是說,每一個實體抹除單元所擁有的實體編程單元包括多個下實體編程單元以及多個上實體編程單元。如圖7A所示,假設(shè)緩沖存儲器510中的緩存單元組620存儲有暫存數(shù)據(jù)BD而緩存單元組630尚未存儲數(shù)據(jù),并且假設(shè)數(shù)據(jù)ID(0)~ID(1)已成功地被分別寫入實體抹除單元412(0)(以下稱為第一實體抹除單元)的第0個實體編程單元以及實體抹除單元412(0)的第1個實體編程單元。其中,實體抹除單元412(0)的第0個實體編程單元以及實體抹除單元412(0)的第1個實體編程單元分別為同一個存儲單元的下實體編程單元以及上實體編程單元。接著,倘若存儲器管理電路502執(zhí)行寫入操作將數(shù)據(jù)ID(2)(以下稱為第一數(shù)據(jù))寫入至實體抹除單元412(0)的第2個實體編程單元時發(fā)生寫入失敗。此時,存儲器管理電路502會產(chǎn)生寫入失敗信號,并且執(zhí)行壞區(qū)塊取代操作。詳細來說,請參照圖7B,存儲器管理電路502會將緩沖存儲器中510中存儲在緩存單元組620中的暫存數(shù)據(jù)BD傳送(或復(fù)制)到存儲器平面414的暫存器416。此時,存儲器管理電路502可以釋放緩沖存儲器510中緩存單元組620的存儲空間(以下稱為第一存儲空間)。之后,存儲器管理電路502可以利用緩存單元組620的存儲空間以及緩存單元組630的存儲空間(以下稱為第二存儲空間)來對存儲器平面408執(zhí)行壞區(qū)塊取代操作。請參照圖7C,在執(zhí)行壞區(qū)塊取代操作時,存儲器管理電路502會將已成功寫入實體抹除單元412(0)的數(shù)據(jù)ID(0)(以下稱為第二數(shù)據(jù))以及數(shù)據(jù)ID(1)(以下稱為第三數(shù)據(jù))分別復(fù)制至緩沖存儲器510的緩存單元組620~630。之后,請參照圖7D,存儲器管理電路502會將數(shù)據(jù)ID(0)~ID(1)從緩沖存儲器510的緩存單元組620~630寫入(或復(fù)制)至存儲器平面408的實體抹除單元412(1)(以下稱為第二實體抹除單元)中的第0個實體編程單元以及實體抹除單元412(1)的第1個實體編程單元。其中,實體抹除單元412(1)的第0個實體編程單元以及實體抹除單元412(1)的第1個實體編程單元分別為同一個存儲單元的下實體編程單元以及上實體編程單元。請參照圖7E,在利用緩存單元組620~630的存儲空間對存儲器平面80執(zhí)行上述的壞區(qū)塊取代操作的步驟之后,假設(shè)數(shù)據(jù)ID(0)~ID(1)已成功地被寫入實體抹除單元412(1)的第0個實體編程單元以及實體抹除單元412(1)的第1個實體編程單元。之后,存儲器管理電路502可以釋放緩存單元組620~630的存儲空間,并且將暫存數(shù)據(jù)BD從存儲器平面414的暫存器416重新載入至緩沖存儲器510的緩存單元組620中。此外,存儲器管理電路502可以接著將前次發(fā)生寫入失敗的數(shù)據(jù)ID(2)重新寫入至實體抹除單元412(1)的第2個實體編程單元,并且再繼續(xù)執(zhí)行其他寫入操作以將更多數(shù)據(jù)寫入至實體抹除單元412(1)中。特別是,在上述圖7B~圖7E的實施例中,存儲器管理電路502對存儲器平面408以及存儲器平面414的操作為非同步操作。換句話說,存儲器管理電路502在將暫存數(shù)據(jù)BD傳送(或復(fù)制)到存儲器平面414的暫存器416后,可以對存儲器平面408執(zhí)行壞區(qū)塊取代操作。而在對存儲器平面408執(zhí)行壞區(qū)塊取代操作的同時,存儲器管理電路502并不會對存儲器平面414進行壞區(qū)塊取代操作或其他的操作。此外,上述將緩沖存儲器510中的暫存數(shù)據(jù)復(fù)制到一存儲器平面的暫存器并且使用緩沖存儲器510中所空出的存儲空間對另一存儲器平面進行操作的實施例也可以應(yīng)用至其他操作。例如,在一范例實施例中,當存儲器管理電路502從可復(fù)寫式非易失性存儲器406中讀取數(shù)據(jù)發(fā)生讀取錯誤時,存儲器管理電路502可以執(zhí)行本發(fā)明的方法以暫時增加緩沖存儲器510的存儲空間,并且執(zhí)行在發(fā)生讀取錯誤后所需執(zhí)行的預(yù)設(shè)操作。圖8是根據(jù)一范例實施例所示出的存儲器的管理方法的流程圖。請參照圖8,在步驟S801中,存儲器管理電路502將暫存數(shù)據(jù)從緩沖存儲器510中傳送至第一存儲器平面的暫存器。在步驟S803中,存儲器管理電路502釋放緩沖存儲器510的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù)。在步驟S805中,存儲器管理電路502利用第一存儲空間對第二存儲器平面執(zhí)行第一操作。在完成對第二存儲器平面所執(zhí)行的第一操作之后,在步驟S807中,存儲器管理電路502將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器的第一存儲空間。特別是,上述步驟S801至步驟S807中存儲器管理電路502對第一存儲器平面以及第二存儲器平面的操作為非同步操作。圖9是根據(jù)另一范例實施例所示出的存儲器的管理方法的流程圖。請參照圖9,在步驟S901中,存儲器管理電路502執(zhí)行寫入操作以將第一數(shù)據(jù)寫入至第二存儲器平面的第一實體抹除單元。在步驟S903中,存儲器管理電路502會判斷是否發(fā)生寫入失敗。當沒有發(fā)生寫入失敗時,此流程會結(jié)束。例如,存儲器管理電路502會根據(jù)指令執(zhí)行其他操作。當發(fā)生寫入失敗時,在步驟S905中,存儲器管理電路502會將暫存數(shù)據(jù)從緩沖存儲器510中傳送至第一存儲器平面的暫存器。特別是,在步驟S905中,存儲器管理電路502會指示可復(fù)寫式非易失性存儲器406,不將暫存數(shù)據(jù)編程至第一存儲器平面的存儲器抹除單元。接著,在步驟S907中,存儲器管理電路502釋放緩沖存儲器510的第一存儲空間,其中第一存儲空間用以存儲暫存數(shù)據(jù)。在步驟S909中,存儲器管理電路502會從第二存儲器平面的第一實體抹除單元中復(fù)制第二數(shù)據(jù)與第三數(shù)據(jù)至緩沖存儲器的第一存儲空間以及第二存儲空間。在步驟S911中,存儲器管理電路502將第二數(shù)據(jù)與第三數(shù)據(jù)從緩沖存儲器的第一存儲空間以及第二存儲空間中同時寫入至第二存儲器平面的第二實體抹除單元中。在步驟S913中,存儲器管理電路502將暫存數(shù)據(jù)從第一存儲器平面的暫存器中重新載入至緩沖存儲器510的第一存儲空間。最后,在步驟S915中,存儲器管理電路502將第一數(shù)據(jù)寫入至第二存儲器平面的第二實體抹除單元。特別是,上述步驟S905至步驟S915中存儲器管理電路502對第一存儲器平面以及第二存儲器平面的操作為非同步操作。綜上所述,本發(fā)明提出的存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置,可以暫時地空出緩沖存儲器的存儲空間。并且,由于數(shù)據(jù)被暫存在可復(fù)寫式非易失性存儲器的一存儲器平面的暫存器,存儲器控制器可以利用緩沖存儲器的存儲空間來對另外一個存儲器平面中的實體抹除單元進行操作。因此,緩沖存儲器的可用存儲空間可以暫時地增加。最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。當前第1頁1 2 3 當前第1頁1 2 3