国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置與流程

      文檔序號:12595977閱讀:415來源:國知局
      本發(fā)明是有關于一種存儲器管理機制,且特別是有關于一種存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置。
      背景技術
      ::數碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對存儲媒體的需求也急速增加。由于可復寫式非易失性存儲器(rewritablenon-volatilememory)具有數據非易失性、省電、體積小、無機械結構、讀寫速度快等特性,最適于便攜式電子產品,例如筆記本電腦。固態(tài)硬盤就是一種以快閃存儲器作為存儲媒體的存儲器存儲裝置。因此,近年快閃存儲器產業(yè)成為電子產業(yè)中相當熱門的一環(huán)。一般來說,可復寫式非易失性存儲器存儲裝置每隔一段時間就會執(zhí)行一次有效數據的搬移重組程序,而用來決定是否執(zhí)行此有效數據的搬移重組程序的依據是在可復寫式非易失性存儲器存儲裝置出廠時就決定好的。然而,由于有效數據的搬移重組程序的執(zhí)行效率時好時壞,往往導致可復寫式非易失性存儲器存儲裝置的數據存取速度跟著忽上忽下。有鑒于此,如何在執(zhí)行有效數據的搬移重組程序與維持可復寫式非易失性存儲器存儲裝置的數據存取速度之間取得平衡實為本領域所致力的目標之一。技術實現要素:本發(fā)明提供一種存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置,可改善可復寫式非易失性存儲器存儲裝置因執(zhí)行有效數據的搬移所導致的數據存取速度不穩(wěn)定的問題。本發(fā)明的一范例實施例提供用于可復寫式非易失性存儲器模塊的一種存儲器管理方法,其中所述可復寫式非易失性存儲器模塊包括多個物理擦除單 元。所述存儲器管理方法包括接收第一寫入指令并將所述第一寫入指令所對應的數據寫入至所述物理擦除單元中的第一閑置物理擦除單元;檢測所述物理擦除單元中不包含所述第一閑置物理擦除單元的多個第二閑置物理擦除單元的數目;判斷所述第二閑置物理擦除單元的數目是否小于門檻值;以及若所述第二閑置物理擦除單元的數目小于所述門檻值,執(zhí)行第一程序,其中所述第一程序包括將所述物理擦除單元中的多筆有效數據搬移至所述物理擦除單元中的至少一第三閑置物理擦除單元中;以及將所述門檻值從第一門檻值調整為第二門檻值。在本發(fā)明的一范例實施例中,其中將所述門檻值從所述第一門檻值調整為所述第二門檻值的步驟包括記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目;以及根據存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第二門檻值。在本發(fā)明的一范例實施例中,其中記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目的步驟包括:判斷所述物理擦除單元中所存儲的有效數據都已被搬移的多個第一非閑置物理擦除單元的一數目是否符合預設數目;以及若所述第一非閑置物理擦除單元的所述數目符合所述預設數目,記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目。在本發(fā)明的一范例實施例中,其中根據存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第二門檻值的步驟包括根據對應于所述預設數目的參考值與存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第一門檻值與所述第二門檻值之間的差值,其中所述參考值為所述預設數目減一。在本發(fā)明的一范例實施例中,所述存儲器管理方法還包括配置多個邏輯單元;以及根據所述物理擦除單元的總物理容量與所述邏輯單元的總邏輯容量來決定所述預設數目,其中所述總物理容量大于所述總邏輯容量。在本發(fā)明的一范例實施例中,其中所述第一程序還包括根據第一規(guī)則從所述物理擦除單元中選擇所述第一非閑置物理擦除單元;以及在判定所述第一非閑置物理擦除單元的數目符合所述預設數目之后,根據第二規(guī)則從所述物理擦除單元中選擇不包含所述第一非閑置物理擦除單元的至少一第二非閑置物理擦除單元,其中所述第一規(guī)則與所述第二規(guī)則不同。在本發(fā)明的一范例實施例中,所述存儲器管理方法還包括在執(zhí)行所述第一程序之后,接收第二寫入指令;檢測所述物理擦除單元中多個第四閑置物理擦除單元的數目;判斷所述第四閑置物理擦除單元的數目是否大于所述第二門檻值;以及若所述第四閑置物理擦除單元的數目大于所述第二門檻值,停止執(zhí)行所述第一程序并且將所述門檻值從所述第二門檻值調整為第三門檻值。在本發(fā)明的一范例實施例中,其中所述第三門檻值等于所述第一門檻值。本發(fā)明的一范例實施例提供用于控制可復寫式非易失性存儲器模塊的一種存儲器控制電路單元。所述存儲器控制電路單元包括主機接口、存儲器接口與存儲器管理電路。主機接口用以電性連接至主機系統(tǒng)。存儲器接口用以電性連接至所述可復寫式非易失性存儲器模塊,其中所述可復寫式非易失性存儲器模塊包括多個物理擦除單元。存儲器管理電路電性連接至所述主機接口與所述存儲器接口。所述存儲器管理電路用以接收第一寫入指令并發(fā)送寫入指令序列以指示將所述第一寫入指令所對應的數據寫入至所述物理擦除單元中的第一閑置物理擦除單元。所述存儲器管理電路還用以檢測所述物理擦除單元中不包含所述第一閑置物理擦除單元的多個第二閑置物理擦除單元的數目,并且判斷所述第二閑置物理擦除單元的數目是否小于門檻值。若所述第二閑置物理擦除單元的數目小于所述門檻值,所述存儲器管理電路還用以執(zhí)行第一程序。所述第一程序包括將所述物理擦除單元中的多筆有效數據搬移至所述物理擦除單元中的至少一第三閑置物理擦除單元中;以及將所述門檻值從第一門檻值調整為第二門檻值。在本發(fā)明的一范例實施例中,其中所述存儲器管理電路將所述門檻值從所述第一門檻值調整為所述第二門檻值的操作包括記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目;以及根據存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第二門檻值。在本發(fā)明的一范例實施例中,其中所述存儲器管理電路記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目的操作包括判斷所述物理擦除單元中所存儲的有效數據都已被搬移的多個第一非閑置物理擦除單元的數目是否符合預設數目;以及若所述第一非閑置物理擦除單元的所述數目符合所述預設數目,記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目。在本發(fā)明的一范例實施例中,其中所述存儲器管理電路根據存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第二門檻值的操作包括根據對應于所述預設數目的參考值與存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第一門檻值與所述第二門檻值之間的差值,其中所述參考值為所述預設數目減一。在本發(fā)明的一范例實施例中,其中所述存儲器管理電路還用以配置多個邏輯單元,并且根據所述物理擦除單元的一總物理容量與所述邏輯單元的總邏輯容量來決定所述預設數目,其中所述總物理容量大于所述總邏輯容量。在本發(fā)明的一范例實施例中,其中所述存儲器管理電路執(zhí)行所述第一程序的操作還包括根據第一規(guī)則從所述物理擦除單元中選擇所述第一非閑置物理擦除單元;以及在判定所述第一非閑置物理擦除單元的數目符合所述預設數目之后,根據第二規(guī)則從所述物理擦除單元中選擇不包含所述第一非閑置物理擦除單元的至少一第二非閑置物理擦除單元,其中所述第一規(guī)則與所述第二規(guī)則不同。在本發(fā)明的一范例實施例中,在執(zhí)行所述第一程序之后,所述存儲器管理電路還用以接收第二寫入指令。所述存儲器管理電路還用以檢測所述物理擦除單元中多個第四閑置物理擦除單元的數目,并且判斷所述第四閑置物理擦除單元的數目是否大于所述第二門檻值。若所述第四閑置物理擦除單元的數目大于所述第二門檻值,所述存儲器管理電路還用以停止執(zhí)行所述第一程序并且將所述門檻值從所述第二門檻值調整為第三門檻值。本發(fā)明的一范例實施例提供一種存儲器存儲裝置,其包括連接接口單元、可復寫式非易失性存儲器模塊與存儲器控制電路單元。連接接口單元用以電性連接至主機系統(tǒng)??蓮蛯懯椒且资源鎯ζ髂K包括多個物理擦除單元。存儲器控制電路單元電性連接至所述連接接口單元與所述可復寫式非易失性存儲器模塊。所述存儲器控制電路單元用以接收第一寫入指令并發(fā)送寫入指令序列以指示將所述第一寫入指令所對應的數據寫入至所述物理擦除單元中的第一閑置物理擦除單元。所述存儲器控制電路單元還用以檢測所述物理擦除單元中不包含所述第一閑置物理擦除單元的多個第二閑置物理擦除單元的數目,并且判斷所述第二閑置物理擦除單元的數目是否小于門檻值。若所述第二閑置物理擦除單元的數目小于所述門檻值,所述存儲器控制電路單元還 用以執(zhí)行第一程序。所述第一程序包括將所述物理擦除單元中的多筆有效數據搬移至所述物理擦除單元中的至少一第三閑置物理擦除單元中;以及將所述門檻值從第一門檻值調整為第二門檻值。在本發(fā)明的一范例實施例中,其中所述存儲器控制電路單元將所述門檻值從所述第一門檻值調整為所述第二門檻值的操作包括記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目;以及根據存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第二門檻值。在本發(fā)明的一范例實施例中,其中所述存儲器控制電路單元記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目的操作包括判斷所述物理擦除單元中所存儲的有效數據都已被搬移的多個第一非閑置物理擦除單元的數目是否符合預設數目;以及若所述第一非閑置物理擦除單元的數目符合所述預設數目,記錄存儲有效數據的所述至少一第三閑置物理擦除單元的數目。在本發(fā)明的一范例實施例中,其中所述存儲器控制電路單元根據存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第二門檻值的操作包括根據對應于所述預設數目的參考值與存儲有效數據的所述至少一第三閑置物理擦除單元的數目來決定所述第一門檻值與所述第二門檻值之間的差值,其中所述參考值為所述預設數目減一。在本發(fā)明的一范例實施例中,所述存儲器控制電路單元還用以配置多個邏輯單元,并且根據所述物理擦除單元的總物理容量與所述邏輯單元的總邏輯容量來決定所述預設數目,其中所述總物理容量大于所述總邏輯容量。在本發(fā)明的一范例實施例中,其中所述存儲器控制電路單元執(zhí)行所述第一程序的操作還包括根據第一規(guī)則從所述物理擦除單元中選擇所述第一非閑置物理擦除單元;以及在判定所述第一非閑置物理擦除單元的數目符合所述預設數目之后,根據第二規(guī)則從所述物理擦除單元中選擇不包含所述第一非閑置物理擦除單元的至少一第二非閑置物理擦除單元,其中所述第一規(guī)則與所述第二規(guī)則不同。在本發(fā)明的一范例實施例中,在執(zhí)行所述第一程序之后,所述存儲器控制電路單元還用以接收第二寫入指令,并且檢測所述物理擦除單元中多個第四閑置物理擦除單元的數目。所述存儲器控制電路單元還用以判斷所述第四閑置物理擦除單元的數目是否大于所述第二門檻值。若所述第四閑置物理擦 除單元的數目大于所述第二門檻值,所述存儲器控制電路單元還用以停止執(zhí)行所述第一程序并且將所述門檻值從所述第二門檻值調整為第三門檻值?;谏鲜?,本發(fā)明所提供的存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置,可動態(tài)地調整用來決定是否執(zhí)行對于有效數據的搬移操作的門檻值。借此,通過對于觸發(fā)有效數據的搬移操作的控制,可使得可復寫式非易失性存儲器模塊的數據存取速度較為穩(wěn)定。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。附圖說明圖1是本發(fā)明的一范例實施例所示出的主機系統(tǒng)與存儲器存儲裝置的示意圖;圖2是本發(fā)明的一范例實施例所示出的電腦、輸入/輸出裝置與存儲器存儲裝置的示意圖;圖3是本發(fā)明的一范例實施例所示出的主機系統(tǒng)與存儲器存儲裝置的示意圖;圖4是示出圖1所示的存儲器存儲裝置的概要方塊圖;圖5是本發(fā)明的一范例實施例所示出的存儲器控制電路單元的概要方塊圖;圖6是本發(fā)明的一范例實施例所示出的管理可復寫式非易失性存儲器模塊的示意圖;圖7A與圖7B是本發(fā)明的一范例實施例所示出的第一程序的示意圖;圖8是本發(fā)明的一范例實施例所示出的存儲器管理方法的流程圖。附圖標記說明:10:存儲器存儲裝置;11:主機系統(tǒng);12:電腦;122:微處理器;124:隨機存取存儲器;126:系統(tǒng)總線;128:數據傳輸接口;13:輸入/輸出(I/O)裝置;21:鼠標;22:鍵盤;23:顯示器;24:打印機;25:隨身碟;26:記憶卡;27:固態(tài)硬盤;31:數碼相機;32:SD卡;33:MMC卡;34:記憶棒;35:CF卡;36:嵌入式存儲裝置;402:連接接口單元;404:存儲器控制電路單元;406:可復寫式非易失性存儲器模塊;502:存儲器管理電路;504:主機接口;506:存儲器接口;508:錯誤檢查與校正電路;510:緩沖存儲器;512:電源管理電路;600(0)~600(R):物理擦除單元;610(0)~610(D):邏輯單元;602:存儲區(qū);606:系統(tǒng)區(qū);S801~S806:步驟。具體實施方式一般而言,存儲器存儲裝置(也稱,存儲器存儲系統(tǒng))包括可復寫式非易失性存儲器模塊(rewritablenon-volatilememorymodule)與控制器(也稱,控制電路)。通常存儲器存儲裝置是與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數據寫入至存儲器存儲裝置或從存儲器存儲裝置中讀取數據。圖1是本發(fā)明的一范例實施例所示出的主機系統(tǒng)與存儲器存儲裝置的示意圖。圖2是本發(fā)明的一范例實施例所示出的電腦、輸入/輸出裝置與存儲器存儲裝置的示意圖。請參照圖1,主機系統(tǒng)11一般包括電腦12與輸入/輸出(input/output,簡稱:I/O)裝置13。電腦12包括微處理器122、隨機存取存儲器(randomaccessmemory,簡稱:RAM)124、系統(tǒng)總線126與數據傳輸接口128。輸入/輸出裝置13包括如圖2的鼠標21、鍵盤22、顯示器23與打印機24。必須了解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可還包括其他裝置。在一范例實施例中,存儲器存儲裝置10是通過數據傳輸接口128與主機系統(tǒng)11的其他元件電性連接。通過微處理器122、隨機存取存儲器124與輸入/輸出裝置13的運作可將數據寫入至存儲器存儲裝置10或從存儲器存儲裝置10中讀取數據。例如,存儲器存儲裝置10可以是如圖2所示的隨身碟25、記憶卡26或固態(tài)硬盤(SolidStateDrive,簡稱:SSD)27等的可復寫式非易失性存儲器存儲裝置。圖3是本發(fā)明的一范例實施例所示出的主機系統(tǒng)與存儲器存儲裝置的示意圖。一般而言,主機系統(tǒng)11為可實質地與存儲器存儲裝置10配合以存儲數據的任意系統(tǒng)。雖然在本范例實施例中,主機系統(tǒng)11是以電腦系統(tǒng)來作說明,然而,另一范例實施例中,主機系統(tǒng)11可以是數碼相機、攝像機、通信裝置、音頻播放器或視頻播放器等系統(tǒng)。例如,在主機系統(tǒng)為數碼相機(攝像機)31時,可復寫式非易失性存儲器存儲裝置則為其所使用的SD卡32、MMC卡33、記憶棒(memorystick)34、CF卡35或嵌入式存儲裝置36(如圖3所示)。嵌入式存儲裝置36包括嵌入式多媒體卡(EmbeddedMMC,簡稱:eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統(tǒng)的基板上。圖4是示出圖1所示的存儲器存儲裝置的概要方塊圖。請參照圖4,存儲器存儲裝置10包括連接接口單元402、存儲器控制電路單元404與可復寫式非易失性存儲器模塊406。在本范例實施例中,連接接口單元402是兼容于串行高級技術附件(SerialAdvancedTechnologyAttachment,簡稱:SATA)標準。然而,必須了解的是,本發(fā)明不限于此,連接接口單元402也可以是符合并行高級技術附件(ParallelAdvancedTechnologyAttachment,簡稱:PATA)標準、電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,簡稱:IEEE)1394標準、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,簡稱:PCIExpress)標準、通用串行總線(UniversalSerialBus,簡稱:USB)標準、安全數字(SecureDigital,簡稱:SD)接口標準、超高速一代(UltraHighSpeed-I,簡稱:UHS-I)接口標準、超高速二代(UltraHighSpeed-II,簡稱:UHS-II)接口標準、記憶棒(MemoryStick,簡稱:MS)接口標準、多媒體存儲卡(MultiMediaCard,簡稱:MMC)接口標準、崁入式多媒體存儲卡(EmbeddedMultimediaCard,eMMC)接口標準、通用快閃存儲器(UniversalFlashStorage,簡稱:UFS)接口標準、小型快閃(CompactFlash,簡稱:CF)接口標準、集成式驅動電子接口(IntegratedDeviceElectronics,簡稱:IDE)標準或其他適合的標準。連接接口單元402可與存儲器控制電路單元404封裝在一個芯片中,或者連接接口單元402是布設于一包含存儲器控制電路單元404的芯片之外。存儲器控制電路單元404用以執(zhí)行以硬件型式或軟件型式實作的多個邏輯閘或控制指令并且根據主機系統(tǒng)11的指令在可復寫式非易失性存儲器模塊406中進行數據的寫入、讀取與擦除等運作??蓮蛯懯椒且资源鎯ζ髂K406是電性連接至存儲器控制電路單元404并且用以存儲主機系統(tǒng)11所寫入的數據??蓮蛯懯椒且资源鎯ζ髂K406可以是單階存儲單元(SingleLevelCell,簡稱:SLC)NAND型快閃存儲器模塊(即,一個存儲單元中可存儲1個比特數據的快閃存儲器模塊)、多階存儲單元(MultiLevelCell,簡稱:MLC)NAND型快閃存儲器模塊(即,一個存儲單元中可存儲2個比特數據的快閃存儲器模塊)、復數階存儲單元(TripleLevelCell,簡稱:TLC)NAND型快閃存儲器模塊(即,一個存儲單元中可存儲3個比特數據的快閃存儲器模塊)、其他快閃存儲器模塊或其他具有相同特性的存 儲器模塊。圖5是本發(fā)明的一范例實施例所示出的存儲器控制電路單元的概要方塊圖。請參照圖5,存儲器控制電路單元404包括存儲器管理電路502、主機接口504、存儲器接口506及錯誤檢查與校正電路508。存儲器管理電路502用以控制存儲器控制電路單元404的整體運作。具體來說,存儲器管理電路502具有多個控制指令,并且在存儲器存儲裝置10運作時,此些控制指令會被執(zhí)行以進行數據的寫入、讀取與擦除等運作。以下說明存儲器管理電路502的操作時,等同于說明存儲器控制電路單元404的操作。在本范例實施例中,存儲器管理電路502的控制指令是以軟件型式來實作。例如,存儲器管理電路502具有微處理器單元(未示出)與只讀存儲器(未示出),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器存儲裝置10運作時,此些控制指令會由微處理器單元來執(zhí)行以進行數據的寫入、讀取與擦除等運作。在另一范例實施例中,存儲器管理電路502的控制指令也可以程序碼型式存儲于可復寫式非易失性存儲器模塊406的特定區(qū)域(例如,存儲器模塊中專用于存放系統(tǒng)數據的系統(tǒng)區(qū))中。此外,存儲器管理電路502具有微處理器單元(未示出)、只讀存儲器(未示出)及隨機存取存儲器(未示出)。特別是,此只讀存儲器具有開機碼(bootcode),并且當存儲器控制電路單元404被使能時,微處理器單元會先執(zhí)行此開機碼來將存儲于可復寫式非易失性存儲器模塊406中的控制指令載入至存儲器管理電路502的隨機存取存儲器中。之后,微處理器單元會運轉此些控制指令以進行數據的寫入、讀取與擦除等運作。此外,在另一范例實施例中,存儲器管理電路502的控制指令也可以一硬件型式來實作。例如,存儲器管理電路502包括微控制器、物理單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器擦除電路與數據處理電路。物理單元管理電路、存儲器寫入電路、存儲器讀取電路、存儲器擦除電路與數據處理電路是電性連接至微控制器。其中,物理單元管理電路用以管理可復寫式非易失性存儲器模塊406的物理擦除單元;存儲器寫入電路用以對可復寫式非易失性存儲器模塊406下達寫入指令序列以將數據寫入至可復寫式 非易失性存儲器模塊406中;存儲器讀取電路用以對可復寫式非易失性存儲器模塊406下達讀取指令序列以從可復寫式非易失性存儲器模塊406中讀取數據;存儲器擦除電路用以對可復寫式非易失性存儲器模塊406下達擦除指令序列以將數據從可復寫式非易失性存儲器模塊406中擦除;而數據處理電路用以處理欲寫入至可復寫式非易失性存儲器模塊406的數據以及從可復寫式非易失性存儲器模塊406中讀取的數據。寫入指令序列、讀取指令序列及擦除指令序列可各別包括一或多個程序碼或指令碼并且用以指示可復寫式非易失性存儲器模塊406執(zhí)行相對應的寫入、讀取及擦除等操作。主機接口504是電性連接至存儲器管理電路502并且用以接收與識別主機系統(tǒng)11所傳送的指令與數據。也就是說,主機系統(tǒng)11所傳送的指令與數據會通過主機接口504來傳送至存儲器管理電路502。在本范例實施例中,主機接口504是兼容于SATA標準。然而,必須了解的是本發(fā)明不限于此,主機接口504也可以是兼容于PATA標準、IEEE1394標準、PCIExpress標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的數據傳輸標準。存儲器接口506是電性連接至存儲器管理電路502并且用以存取可復寫式非易失性存儲器模塊406。也就是說,欲寫入至可復寫式非易失性存儲器模塊406的數據會通過存儲器接口506轉換為可復寫式非易失性存儲器模塊406所能接受的格式。具體來說,若存儲器管理電路502要存取可復寫式非易失性存儲器模塊406,存儲器接口506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入數據的寫入指令序列、指示讀取數據的讀取指令序列、指示擦除數據的擦除指令序列、以及用以指示各種存儲器操作(例如,改變讀取電壓電平或執(zhí)行垃圾回收程序等等)的相對應的指令序列,在此不一一贅述。這些指令序列例如是由存儲器管理電路502產生并且通過存儲器接口506傳送至可復寫式非易失性存儲器模塊406。這些指令序列可包括一或多個信號,或是在總線上的數據。這些信號或數據可包括指令碼或程序碼。例如,在讀取指令序列中,會包括讀取的辨識碼、存儲器地址等信息。錯誤檢查與校正電路508是電性連接至存儲器管理電路502并且用以執(zhí)行錯誤檢查與校正程序以確保數據的正確性。具體來說,當存儲器管理電路502從主機系統(tǒng)11中接收到寫入指令時,錯誤檢查與校正電路508會為對應 此寫入指令的數據產生對應的錯誤更正碼(errorcorrectingcode,簡稱:ECC)和/或錯誤檢查碼(errordetectingcode,簡稱:EDC),并且存儲器管理電路502會將對應此寫入指令的數據與對應的錯誤更正碼和/或錯誤檢查碼寫入至可復寫式非易失性存儲器模塊406中。之后,當存儲器管理電路502從可復寫式非易失性存儲器模塊406中讀取數據時會同時讀取此數據對應的錯誤更正碼和/或錯誤檢查碼,并且錯誤檢查與校正電路508會依據此錯誤更正碼和/或錯誤檢查碼對所讀取的數據執(zhí)行錯誤檢查與校正程序。在一范例實施例中,存儲器控制電路單元404還包括緩沖存儲器510與電源管理電路512。緩沖存儲器510是電性連接至存儲器管理電路502并且用以暫存來自于主機系統(tǒng)11的數據與指令或來自于可復寫式非易失性存儲器模塊406的數據。電源管理電路512是電性連接至存儲器管理電路502并且用以控制存儲器存儲裝置10的電源。圖6是本發(fā)明的一范例實施例所示出的管理可復寫式非易失性存儲器模塊的示意圖。必須了解的是,在此描述可復寫式非易失性存儲器模塊406的物理擦除單元的運作時,以“選擇”、“分組”、“劃分”、“關聯(lián)”等詞來操作物理擦除單元是邏輯上的概念。也就是說,可復寫式非易失性存儲器模塊的物理擦除單元的實際位置并未更動,而是邏輯上對可復寫式非易失性存儲器模塊的物理擦除單元進行操作??蓮蛯懯椒且资源鎯ζ髂K406的存儲單元會構成多個物理編程單元,并且此些物理編程單元會構成多個物理擦除單元600(0)~600(R)。具體來說,同一條字元線上的存儲單元會組成一或多個物理編程單元。若每一個存儲單元可存儲2個以上的比特,則同一條字元線上的物理編程單元至少可被分類為下物理編程單元與上物理編程單元。例如,在MLCNAND型快閃存儲器中,一存儲單元的最低有效比特(LeastSignificantBit,簡稱:LSB)是屬于下物理編程單元,并且一存儲單元的最高有效比特(MostSignificantBit,簡稱:MSB)是屬于上物理編程單元。一般來說,下物理編程單元的寫入速度會大于上物理編程單元的寫入速度,或下物理編程單元的可靠度是高于上物理編程單元的可靠度。在本范例實施例中,物理編程單元為編程的最小單元。即,物理編程單元為寫入數據的最小單元。例如,物理編程單元為物理頁面或是物理扇 (sector)。若物理編程單元為物理頁面,則每一個物理編程單元通常包括數據比特區(qū)與冗余比特區(qū)。數據比特區(qū)包含多個物理扇,用以存儲使用者數據,而冗余比特區(qū)用以存儲系統(tǒng)數據(例如,錯誤更正碼)。在本范例實施例中,數據比特區(qū)包含32個物理扇,且一個物理扇的大小為512字節(jié)(byte,簡稱:B)。然而,在其他范例實施例中,數據比特區(qū)中也可包含8個、16個或數目更多或更少的物理扇,并且每一個物理扇的大小也可以是更大或更小。另一方面,物理擦除單元為擦除的最小單位。也即,每一物理擦除單元含有最小數目之一并被擦除的存儲單元。例如,物理擦除單元為物理區(qū)塊。請參照圖6,存儲器管理電路502可將可復寫式非易失性存儲器模塊406的物理擦除單元600(0)~600(R)邏輯地劃分為多個區(qū)域,例如為存儲區(qū)602與系統(tǒng)區(qū)606。存儲區(qū)602的物理擦除單元是用以存儲來自主機系統(tǒng)11的數據。存儲區(qū)602中會存儲有效數據與無效數據。例如,當主機系統(tǒng)要刪除一份有效數據時,被刪除的數據可能還是存儲在存儲區(qū)602中,但會被標記為無效數據。在以下范例實施例中,沒有存儲有效數據的物理擦除單元也被稱為閑置(spare)物理擦除單元。例如,被擦除以后的物理擦除單元便會成為閑置物理擦除單元。此外,在以下范例實施例中,有存儲有效數據的物理擦除單元也被稱為非閑置(non-spare)物理擦除單元。在一范例實施例中,若存儲區(qū)602或系統(tǒng)區(qū)606中有物理擦除單元損壞時,存儲區(qū)602中的物理擦除單元也可以用來替換損壞的物理擦除單元。倘若存儲區(qū)602中沒有可用的物理擦除單元來替換損壞的物理擦除單元時,則存儲器管理電路502可能會將整個存儲器存儲裝置10宣告為寫入保護(writeprotect)狀態(tài),而無法再寫入數據。系統(tǒng)區(qū)606的物理擦除單元是用以記錄系統(tǒng)數據,其中此系統(tǒng)數據包括關于存儲器芯片的制造商與型號、存儲器芯片的物理擦除單元數、每一物理擦除單元的物理編程單元數等。在一范例實施例中,存儲區(qū)602與系統(tǒng)區(qū)606的物理擦除單元的數量會依據不同的存儲器規(guī)格而有所不同。此外,必須了解的是,在存儲器存儲裝置10的運作中,物理擦除單元關聯(lián)至存儲區(qū)602與系統(tǒng)區(qū)606的分組關系可能會動態(tài)地變動。例如,當系統(tǒng)區(qū)606中的物理擦除單元損壞而被存儲區(qū)602 的物理擦除單元取代時,則原本在存儲區(qū)602的物理擦除單元會被關聯(lián)至系統(tǒng)區(qū)606。在本范例實施例中,存儲器管理電路502會配置邏輯單元610(0)~610(D)以映射至存儲區(qū)602中的物理擦除單元600(0)~600(A)。例如,在本范例實施例中,主機系統(tǒng)11是通過邏輯地址來存取存儲區(qū)602中的數據,因此,每一個邏輯單元610(0)~610(D)是指一個邏輯地址。此外,在一范例實施例中,每一個邏輯單元610(0)~610(D)也可以是指一個邏輯扇、一個邏輯編程單元、一個邏輯擦除單元或者由多個連續(xù)的邏輯地址組成。在本范例實施例中,每一個邏輯單元610(0)~610(D)是映射至一或多個物理單元。在本范例實施例中,一個物理單元是指一個物理擦除單元。然而,在另一范例實施例中,一個物理單元也可以是一個物理地址、一個物理扇、一個物理編程單元或者是由多個連續(xù)的物理地址組成,本發(fā)明不加以限制。存儲器管理電路502會將邏輯單元與物理單元之間的映射關系記錄于至少一邏輯-物理映射表。當主機系統(tǒng)11欲從存儲器存儲裝置10讀取數據或寫入數據至存儲器存儲裝置10時,存儲器管理電路502可根據此邏輯-物理映射表來執(zhí)行對于存儲器存儲裝置10的數據存取。一般來說,在接收到來自主機系統(tǒng)11的寫入指令之后,存儲區(qū)602中的閑置物理擦除單元會被用來存儲對應于此寫入指令的數據。若存儲區(qū)602中的閑置物理擦除單元不足,存儲器管理電路502會指示可復寫式非易失性存儲器模塊406執(zhí)行一數據整并程序。在一范例實施例中,此數據整并程序也稱為垃圾回收(garbagecollection)程序。在數據整并程序中,散布在存儲區(qū)602的部分有效數據會被收集并且集中搬移到某些閑置物理擦除單元中,以釋放存儲無效數據的物理擦除單元。若某一筆原始標記為有效數據的數據被從某一個非閑置物理擦除單元搬移出去,則此數據會在此非閑置物理擦除單元中被標記為無效數據。若某一個非閑置物理擦除單元所存儲的所有有效數據都已被搬移出去(即,此非閑置物理擦除單元所存儲的所有數據都已標記為無效數據),則此非閑置物理擦除單元將可以被擦除而成為一個新的閑置物理擦除單元。另一方面,在數據整并程序中被用來存儲所收集的有效數據的閑置物理擦除單元會成為一個新的非閑置物理擦除單元。在本范例實施例中,存儲器管理電路502會接收來自主機系統(tǒng)11的一寫入指令(以下也稱為第一寫入指令)并根據第一寫入指令從存儲區(qū)602中選擇一個物理擦除單元。在本范例實施例中,所選擇的物理擦除單元為閑置物理擦除單元(以下也稱為第一閑置物理擦除單元)。然而,在另一范例實施例中,所選擇的物理擦除單元也可能是已經存儲有其他的寫入數據的閑置物理擦除單元。存儲器管理電路502會發(fā)送一寫入指令序列至可復寫式非易失性存儲器模塊406以指示將對應于此第一寫入指令的數據(以下也稱為第一數據)寫入至此第一閑置物理擦除單元中。例如,此第一數據為此寫入指令所指示需存儲的數據。在選擇第一閑置物理擦除單元之后,存儲器管理電路502會檢測存儲區(qū)602中不包含第一閑置物理擦除單元的閑置物理擦除單元(以下也稱為第二閑置物理擦除單元)的數目。例如,此第二閑置物理擦除單元的數目為在第一閑置物理擦除單元被選擇之后存儲區(qū)602中剩余的閑置物理擦除單元的總數。存儲器管理電路502會判斷第二閑置物理擦除單元的數目是否小于一門檻值。例如,判斷第二閑置物理擦除單元的數目是否小于此門檻值的操作是反應于上述存儲器管理電路502接收第一寫入指令或選擇第一閑置物理擦除單元而執(zhí)行。此門檻值可作為判斷存儲區(qū)602中剩余的閑置物理擦除單元是否足夠的依據。例如,在本范例實施例中,此門檻值可以是“6”。然而,在另一范例實施例中,此門檻值也可以是更大或更小的正整數。若第二閑置物理擦除單元的數目小于此門檻值,表示存儲區(qū)602中剩余的閑置物理擦除單元即將不足,故存儲器管理電路502會執(zhí)行一個數據整并程序(以下也稱為第一程序)來釋放存有無效數據的物理擦除單元。然而,若第二閑置物理擦除單元的數目不小于此門檻值,表示存儲區(qū)602中剩余的閑置物理擦除單元仍然足夠,故存儲器管理電路502可以選擇不執(zhí)行此第一程序。若決定執(zhí)行第一程序,存儲器管理電路502會從存儲區(qū)602中選擇另一個閑置物理擦除單元來存儲第一程序中所收集的有效數據。在決定執(zhí)行第一程序之后,對應于存儲器管理電路502將一筆來自主機系統(tǒng)11的數據寫入至第一閑置物理擦除單元中的一個物理編程單元,多筆數據(即,有效數據)會被從存儲區(qū)602中的“N個”連續(xù)或不連續(xù)的物理編程單元中搬移到用來存儲 第一程序中所收集的有效數據的閑置物理擦除單元中,直到第一程序被停止為止。此“N個”連續(xù)或不連續(xù)的物理編程單元可以是包含于一或多個物理擦除單元中。例如,若“N”為“2”,則在第一程序中,對應于將上述第一數據寫入至第一閑置物理擦除單元中的某一個物理編程單元,“2筆”有效數據會被從存儲區(qū)602中的“2個”連續(xù)或不連續(xù)的物理編程單元中搬移到用來存儲所收集的有效數據的閑置物理擦除單元中。在第一程序被停止之前,若接收到更多的寫入指令,則更多的來自主機系統(tǒng)11的數據會被存儲至上述第一閑置物理擦除單元中并且更多來自存儲區(qū)602的有效數據會被收集并且被集中至用來存儲所收集的有效數據的閑置物理擦除單元中。若上述第一閑置物理擦除單元已經或者即將被寫滿,則更多的閑置物理擦除單元可以被選擇來存儲來自主機系統(tǒng)11的數據。在以下的范例實施例中,也可以將第一程序中被選擇來存儲來自主機系統(tǒng)11的數據的每一個閑置物理擦除單元都稱為第一閑置物理擦除單元。在第一程序被停止之前,若目前被選擇來存儲所收集的有效數據的一或多個閑置物理擦除單元已被寫滿或即將被寫滿,則更多的閑置物理擦除單元也可以被選擇并且被用來存儲所收集的有效數據。在以下的范例實施例中,也可以將第一程序中預計被選擇來存儲所收集的有效數據的閑置物理擦除單元稱為第三閑置物理擦除單元。在第一程序中,存儲器管理電路502會從存儲區(qū)602中選擇多個閑置物理擦除單元(即,第三閑置物理擦除單元)并且指示可復寫式非易失性存儲器模塊406將存儲區(qū)602中的多個非閑置物理擦除單元所存儲的有效數據搬移至此些第三閑置物理擦除單元中。例如,在一范例實施例中,第一程序是預設將所收集的有效數據寫滿“N個”閑置物理擦除單元(即,第三閑置物理擦除單元)以至少釋放出“N+1個”新的可用來存儲來自主機系統(tǒng)11的數據的物理擦除單元。其中,用來存儲所收集的有效數據的每一個閑置物理擦除單元會成為一個非閑置物理擦除單元,而所存儲的有效數據都已被搬移出去的每一個非閑置物理擦除單元會成為閑置物理擦除單元。在第一程序中,存儲器管理電路502還會將上述用來判斷是否執(zhí)行第一程序的門檻值從目前的值(以下也稱為第一門檻值)調整為另一個值(以下也稱為第二門檻值)。在本范例實施例中,第二門檻值會大于第一門檻值。而在決 定停止第一程序之后,存儲器管理電路502則會將此門檻值從第二門檻值調整為另一個值(以下也稱為第三門檻值)。在一范例實施例中,第一門檻值、第二門檻值及第三門檻值都各別是一個預設值,其不會隨著第一程序的執(zhí)行狀況而改變。然而,在本范例實施例中,第一門檻值是一個預設值,第二門檻值會隨著第一程序的執(zhí)行狀況而即時地決定,并且第三門檻值等于第一門檻值。在本范例實施例中,在上述將有效數據搬移至第三閑置物理擦除單元的過程中,存儲器管理電路502會判斷所存儲的有效數據都已被搬移出去的多個非閑置物理擦除單元(以下也稱為第一非閑置物理擦除單元)的數目是否符合一預設數目。例如,此預設數目為“N+1”。其中,在將有效數據完整地從某一個第一非閑置物理擦除單元搬移出來之后,此第一非閑置物理擦除單元即成為一個被釋放的閑置物理擦除單元。因此,在一范例實施例中,判斷第一非閑置物理擦除單元的數目是否符合預設數目的操作也可視為判斷在第一程序中被釋放的閑置物理擦除單元的數目是否達到預設數目的操作。若判定第一非閑置物理擦除單元的數目符合預設數目,存儲器管理電路502會將當下存儲有在第一程序中被搬移的有效數據的至少一個物理擦除單元的數目記錄下來。換言之,在某些范例實施例中,第三閑置物理擦除單元是指在第一程序中預設會用來存儲所收集的有效數據的物理擦除單元,而當下存儲有在第一程序中被搬移的有效數據的至少一個物理擦除單元的數目則是指此些第三閑置物理擦除單元中當前已經存儲了所收集的有效數據的物理擦除單元的總數。存儲器管理電路502會根據所記錄的數目(即,當下存儲有在第一程序中被搬移的有效數據的至少一個物理擦除單元的數目)來決定第二門檻值。圖7A與圖7B是本發(fā)明的一范例實施例所示出的第一程序的示意圖。請參照圖7A,在第一程序中,預定是要收集到可以寫滿“N個”閑置物理擦除單元(即,第三閑置物理擦除單元)的有效數據,才會釋放出“N+1個”閑置物理擦除單元。請參照圖7B,在本范例實施例中,若在第一程序中只收集到寫入或寫滿“M個”物理擦除單元的有效數據就已經釋放出“N+1個”物理擦除單元,則“M”這個值就會被記錄下來。M可以是小于或等于N的正整數。在本范例實施例中,存儲器管理電路502會根據對應于上述預設數目的一個參考值與所記錄的數目(例如,“M”)來決定第一門檻值與第二門檻值之間的差值。爾后,存儲器管理電路502會根據此差值來決定第二門檻值。例如,假設預設數目為“N+1”,則對應于預設數目的參考值可以被設定為“N”(即,預設數目減一),并且存儲器管理電路502可將參考值“N”減去“M”而獲得第一門檻值與第二門檻值之間的差值“E”(即,E=N-M)。爾后,存儲器管理電路502可將當前的第一門檻值“T1”加上此差值“E”而獲得第二門檻值“T2”(即,T2=T1+E)。值得一提的是,從上述范例實施例中可以觀察到,第二門檻值與第一門檻值之間的差距會與第一程序中欲收集的有效數據在存儲區(qū)602中的分布或第一程序的執(zhí)行效率有關。例如,若在第一程序中欲收集的有效數據在存儲區(qū)602中的分布較集中(即,只要從少數的非閑置物理擦除單元中收集有效數據就可以釋放出符合預設數目的新的閑置物理擦除單元),則所記錄的“M”可能較小,同時第二門檻值“T2”與第一門檻值“T1”之間的差距可能會較大;反之,若在第一程序中欲收集的有效數據在存儲區(qū)602中的分布較分散(即,需要從許多的非閑置物理擦除單元中收集有效數據才可以釋放出符合預設數目的新的閑置物理擦除單元),則所記錄的“M”可能會較大(例如,M可能趨近于N),同時第二門檻值“T2”與第一門檻值“T1”之間的差距可能會較小。此外,須特別說明的是,在上述范例實施例中,用來計算第二門檻值“T2”的概念可以簡化為:第二門檻值“T2”=第一門檻值“T1”+參考值“N”-所記錄的“M”。然而,在另一范例實施例中,基于實務上的需求,此概念也可以搭配任何邏輯運算來實施?;蛘?,在另一范例實施例中,也可以將第一門檻值“T1”、參考值“N”(或預設數目“N+1”)及所記錄的“M”等參數輸入至一預設算法或通過查表來獲得第二門檻值“T2”。在一范例實施例中,存儲器管理電路502還會根據存儲區(qū)602中所有的物理擦除單元的一總容量(以下也稱為總物理容量)與所配置的所有可用的邏輯單元的一總容量(以下也稱為總邏輯容量)來決定所述預設數目(或所述參考值)。其中,總物理容量會大于總邏輯容量。例如,總邏輯容量會等于主機系統(tǒng)11或存儲器管理電路502所設定的可以用來存儲使用者數據的一最大容 量。例如,在圖8的一范例實施例中,假設對應于可復寫式非易失性存儲器模塊406的所有可用的邏輯單元610(0)~610(D)都可以或者已被用來存儲有效數據且存儲區(qū)602包括物理擦除單元600(0)~600(A),則所述預設數目“N+1”(或所述參考值“N”)可以根據邏輯單元610(0)~610(D)的總邏輯容量“L”與物理擦除單元600(0)~600(A)的總物理容量“P”來決定。例如,可根據:總邏輯容量“L”/(總物理容量“P”-總邏輯容量“L”)來獲得參考值“N”。在本范例實施例中,若初步計算出的參考值“N”不為一正整數,則也可以將:總邏輯容量“L”/(總物理容量“P”-總邏輯容量“L”)的結果取小數點四舍五入、取小數點無條件進位、取高斯或者取某一最接近的有意義(例如為2的次方)的正整數等來獲得參考值“N”。在另一范例實施例中,基于實務上的需求,上述獲得參考值“N”的運算也可以搭配任何邏輯運算來實施。此外,在另一范例實施例中,也可以將總邏輯容量“L”與總物理容量“P”輸入至一預設算法或通過查表來獲得參考值“N”(或預設數目“N+1”)。在圖8的另一范例實施例中,總物理容量“P”也可以包含系統(tǒng)區(qū)606中的至少一物理擦除單元的容量。在一范例實施例中,上述總物理容量也可以是以用來計算此總物理容量的多個物理單元(例如,物理擦除單元)的總數來取代,并且上述總邏輯容量也可以是以用來計算此總邏輯容量的多個邏輯單元的總數來取代。在一范例實施例中,所計算出來的“N”例如是“32”,但若存儲器存儲裝置10的規(guī)格不同,則“N”也可能是更大或更小的正整數。在開始執(zhí)行第一程序之后,若存儲器管理電路502又接收到來自主機系統(tǒng)11的另一寫入指令(以下也稱為第二寫入指令),則存儲器管理電路502會檢測存儲區(qū)602中當前的閑置物理擦除單元(以下也稱為第四閑置物理擦除單元)的數目。例如,此些第四閑置物理擦除單元的數目是指存儲區(qū)602中當前的所有閑置物理擦除單元的總數,并且此些第四閑置物理擦除單元可能會包含在第一程序中被釋放出來的閑置物理擦除單元。存儲器管理電路502會判斷此些第四閑置物理擦除單元的數目是否大于一個門檻值。值得一提的是,在本范例實施例中,門檻值已由第一門檻值調整為第二門檻值,故存儲器管理電路502實際上是判斷存儲區(qū)602中第四閑置物理擦除單元的數目是否大于此第二門檻值。若第四閑置物理擦除單元的數目不大 于此第二門檻值,存儲器管理電路502會持續(xù)執(zhí)行第一程序。關于如何執(zhí)行第一程序已于前述說明,故在此便不贅述。此外,若第四閑置物理擦除單元的數目大于此第二門檻值,則存儲器管理電路502會停止執(zhí)行第一程序。在本范例實施例中,若決定停止執(zhí)行第一程序,則存儲器管理電路502還會將用來判斷是否執(zhí)行第一程序的門檻值從此第二門檻值調整回預設的第一門檻值。借此,在停止執(zhí)行第一程序之后,若又需要對應于來自主機系統(tǒng)11的某一個寫入指令而判斷剩余的閑置物理擦除單元是否足夠,則存儲器管理電路502會再次使用此第一門檻值來判斷是否執(zhí)行下一個第一程序。若決定執(zhí)行下一個第一程序,則存儲器管理電路502會再次根據此第一程序的執(zhí)行狀況來決定相對應的第二門檻值。爾后,存儲器管理電路502可根據所決定的第二門檻值來判斷是否停止執(zhí)行所執(zhí)行的第一程序并且對應于停止執(zhí)行第一程序而再次調整門檻值(例如,將門檻值再次從第二門檻值調整回第一門檻值或其他值等等)。關于如何利用第一門檻值來判斷是否執(zhí)行第一程序、如何決定相對應的第二門檻值以及如何利用第二門檻值來決定是否停止第一程序等操作都已于上述范例實施例中說明,在此便不贅述。換言之,相對于一般用來判斷是否開始執(zhí)行數據整并程序以及欲來判斷是否停止數據整并程序都是使用相同的門檻值,本發(fā)明可以根據每一次數據整并程序的執(zhí)行狀況來對應設定用以停止數據整并程序的門檻值。例如,在決定開始執(zhí)行數據整并程序之后,隨即可根據當前數據整并程序的執(zhí)行狀況將對應于停止此數據整并程序的門檻值調大,從而延長此數據整并程序的執(zhí)行。在一范例實施例中,若檢測到第一非閑置物理擦除單元的數目符合預設數目,則用來選擇第一程序中欲提取有效數據的非閑置物理擦除單元的規(guī)則可能會改變。例如,在一范例實施例中,在檢測到第一非閑置物理擦除單元的數目符合預設數目之前,存儲器管理電路502會根據一個預設規(guī)則(以下也稱為第一規(guī)則)從存儲區(qū)602中選擇第一程序中欲提取有效數據的非閑置物理擦除單元(即,第一非閑置物理擦除單元)。例如,此第一規(guī)則可以包括選擇存儲的有效數據少于一預設值或存儲的無效數據多于此預設值等對于有效數據的搬移效率較佳的非閑置物理擦除單元。而在檢測到第一非閑置物理擦除單元的數目符合預設數目之后,存儲器管理電路502則是會根據另一個預設規(guī) 則(以下也稱為第二規(guī)則)從存儲區(qū)602中選擇在第一程序中還需要被提取有效數據的至少一個非閑置物理擦除單元(以下也稱為第二非閑置物理擦除單元)。其中,第二規(guī)則與第一規(guī)則不同。例如,此第二規(guī)則可以包括選擇存儲的有效數據多于上述預設值、存儲的無效數據少于上述預設值、或隨機選擇等對于有效數據的搬移效率較不佳的非閑置物理擦除單元。以圖7A與圖7B的范例實施例為例,假設預定在第一程序中要收集可以寫滿“N”個閑置物理擦除單元(即,第三閑置物理擦除單元)的有效數據(如圖7A所示),但是在收集到寫滿或寫入“M”個物理擦除單元的有效數據時就已經釋放出“N+1”個新的閑置物理擦除單元(如圖7B所示)。在此情況下,先被寫入至此“M”個物理擦除單元的有效數據例如是從根據第一規(guī)則所選擇的多個非閑置物理擦除單元(即,第一非閑置物理擦除單元)中所提取的,而稍后被寫入至其余“N-M”個或更多的閑置物理擦除單元的有效數據則例如是從根據第二規(guī)則所選擇的非閑置物理擦除單元(即,第二非閑置物理擦除單元)中所提取的。換言之,相對于第二規(guī)則,第一規(guī)則對于非閑置物理擦除單元的篩選是較為嚴格的,且根據第一規(guī)則來選擇非閑置物理擦除單元也相對于根據第二規(guī)則來選擇非閑置物理擦除單元可能需要耗費更多的系統(tǒng)資源。因此,在一范例實施例中,在檢測到已釋放出符合預設數目的閑置物理擦除單元之后,通過使用第二規(guī)則來選擇其余要被提取有效數據的非閑置物理擦除單元,將可節(jié)省耗費在尋找非閑置物理擦除單元的系統(tǒng)資源。此外,在另一范例實施例中,也可以維持使用第一規(guī)則或第二規(guī)則來在第一程序中選擇要被提取有效數據的所有非閑置物理擦除單元,本發(fā)明不加以限制。圖8是本發(fā)明的一范例實施例所示出的存儲器管理方法的流程圖。請參照圖8,在步驟S801中,接收一寫入指令并根據所述寫入指令從可復寫式非易失性存儲器模塊的多個物理擦除單元中選擇一個閑置物理擦除單元來寫入對應于此寫入指令的數據。在步驟S802中,檢測所述物理擦除單元中不包含步驟S801中所選擇的閑置物理擦除單元的其余閑置物理擦除單元的數目。在步驟S803中,判斷在步驟S802中所檢測的閑置物理擦除單元的數目是否小于一門檻值。在此,此門檻值為第一門檻值。若所檢測的閑置物理擦除單元的數目不小于所述第一門檻值,則步驟S801可被重復執(zhí)行。若所述剩余的閑置物理擦除單元的數目小于所述第一門檻值,在步驟S804中,執(zhí)行一數據整并程序(即,上述第一程序)以釋放出新的閑置物理擦除單元。此外,在步驟S804中,根據第一程序的執(zhí)行狀況,用來判斷是否執(zhí)行第一程序的所述第一門檻值會被調整。在此,所述門檻值會被從第一門檻值調整為第二門檻值。關于如何執(zhí)行第一程序以及如何調整門檻值已于前述范例實施例中說明,在此便不贅述。在步驟S805中,判斷可復寫式非易失性存儲器模塊中目前的閑置物理擦除單元的數目是否大于在步驟S804中所設定的第二門檻值。若步驟S805的判斷結果為否,表示閑置物理擦除單元還是不足,故步驟S804會被重復執(zhí)行以釋放出更多的閑置物理擦除單元。若步驟S805的判斷結果為是,則在步驟S806中,停止執(zhí)行第一程序并再次調整門檻值。例如,將門檻值從目前的第二門檻值調整為第三門檻值。例如,此第二門檻值可以是第一門檻值或任意預設值。在步驟S806之后,步驟S801會被重復執(zhí)行。值得一提的是,在步驟S804中,還可以判斷當前使用中的門檻值是否是第一門檻值(或第二門檻值)。若當前使用中的門檻值是第一門檻值,則可以根據執(zhí)行中的第一程序的執(zhí)行狀況來將此門檻值調整為第二門檻值。若當前使用中的門檻值不是第一門檻值,例如,當前使用中的門檻值已經是調整過的第二門檻值,則此門檻值將不會再次被調整。借此,可避免門檻值被重復調整。然而,圖8中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖8中各步驟可以實作為多個程序碼或是電路,本發(fā)明不加以限制。此外,圖8的方法可以搭配以上范例實施例使用,也可以單獨使用,本發(fā)明不加以限制。綜上所述,本發(fā)明所提供的存儲器管理方法、存儲器控制電路單元與存儲器存儲裝置,可動態(tài)地調整用來決定是否執(zhí)行對于有效數據的搬移操作(即,數據整并程序)的門檻值。特別是,當對于閑置物理擦除單元的釋放效率很好時,可增加此門檻值的調整幅度;而當對于閑置物理擦除單元的釋放效率不好時,則可降低此門檻值的調整幅度。借此,通過對于觸發(fā)有效數據的搬移操作的控制,例如,延長所執(zhí)行的有效數據的搬移操作,可使得可復寫式非易失性存儲器模塊的數據存取速度較為穩(wěn)定。最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。當前第1頁1 2 3 當前第1頁1 2 3 
      當前第1頁1 2 3 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1