TWI648634B - 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TWI648634B TWI648634B TW106139704A TW106139704A TWI648634B TW I648634 B TWI648634 B TW I648634B TW 106139704 A TW106139704 A TW 106139704A TW 106139704 A TW106139704 A TW 106139704A TW I648634 B TWI648634 B TW I648634B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- time interval
- past
- memory
- receiving time
- Prior art date
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明的一範例實施例提供一種記憶體管理方法,包括:從主機系統接收多個指令;計數對應於所述指令的最新閒置時間與過去平均指令接收時間間隔;若最新閒置時間大於第一門檻值且過去平均指令接收時間間隔大於第二門檻值,動態地將記憶體儲存裝置的工作模式從第一工作模式切換為第二工作模式。藉此,可降低記憶體儲存裝置的耗電量,且可避免記憶體儲存裝置在不同工作模式之間太頻繁地切換。
Description
本發明是有關於一種記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,記憶體儲存裝置可能會預設有一個固定的門檻值,用來判斷是否進入閒置模式或省電模式。當記憶體儲存裝置長時間未接收到來自主機系統的指令使得其閒置時間超過此門檻值時,記憶體儲存裝置會進入此閒置模式或省電模式,以節省電力消耗。此外,在進入閒置模式時,記憶體儲存裝置通常會利用此閒置時間將緩衝記憶體中的資料寫入可複寫式非揮發性記憶體模組中。然而,若記憶體儲存裝置太過於頻繁地進入閒置模式或省電模式,則可能會大幅增加對於可複寫式非揮發性記憶體模組的讀寫頻率,縮短可複寫式非揮發性記憶體模組的使用壽命。
本發明的範例實施例提供一種記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元,可根據兩種不同意義的參數來決定是否切換工作模式,延長可複寫式非揮發性記憶體模組的使用壽命。
本發明的一範例實施例提供一種記憶體管理方法,其用於包括計數電路、工作模式控制器及可複寫式非揮發性記憶體模組的記憶體儲存裝置,所述記憶體管理方法包括:從主機系統接收多個指令;由所述計數電路計數對應於所述指令的最新閒置時間與對應於所述指令的過去平均指令接收時間間隔;若所述最新閒置時間大於第一門檻值且所述過去平均指令接收時間間隔大於第二門檻值,由所述工作模式控制器動態地將所述記憶體儲存裝置的工作模式從第一工作模式切換為第二工作模式;以及若所述最新閒置時間未大於所述第一門檻值或所述過去平均指令接收時間間隔未大於所述第二門檻值,由所述工作模式控制器將所述記憶體儲存裝置的所述工作模式維持於所述第一工作模式,其中所述記憶體儲存裝置操作於所述第一工作模式的耗電量高於所述記憶體儲存裝置操作於所述第二工作模式的耗電量。
在本發明的一範例實施例中,由所述計數電路計數所述指令的所述過去平均指令接收時間間隔的步驟包括:計數第一過去指令接收時間間隔與第二過去指令接收時間間隔;以及計算所述第一過去指令接收時間間隔與所述第二過去指令接收時間間隔的加權平均以獲得所述過去平均指令接收時間間隔。
在本發明的一範例實施例中,計算所述第一過去指令接收時間間隔與所述第二過去指令接收時間間隔的所述加權平均的步驟包括:決定對應於所述第一過去指令接收時間間隔的第一權重值與對應於所述第二過去指令接收時間間隔的第二權重值;以及根據所述第一權重值、所述第二權重值、所述第一過去指令接收時間間隔及所述第二過去指令接收時間間隔來計算所述加權平均。
在本發明的一範例實施例中,所述第一過去指令接收時間間隔是指所述指令中的第一指令與所述第一指令的前一指令的接收時間間隔,所述第二過去指令接收時間間隔是指所述指令中的第二指令與所述第二指令的前一指令的接收時間間隔,而決定對應於所述第一過去指令接收時間間隔的所述第一權重值與對應於所述第二過去指令接收時間間隔的所述第二權重值的步驟包括:根據所述第一指令與所述第二指令的接收順序決定所述第一權重值與所述第二權重值。
在本發明的一範例實施例中,根據所述第一指令與所述第二指令的所述接收順序決定所述第一權重值與所述第二權重值的步驟包括:響應於所述第一指令的接收時間點早於所述第二指令的接收時間點,將所述第一權重值決定為第一數值並將所述第二權重值決定為大於所述第一數值的第二數值。
在本發明的一範例實施例中,根據所述第一權重值、所述第二權重值、所述第一過去指令接收時間間隔及所述第二過去指令接收時間間隔來計算所述加權平均的步驟包括:根據以下方程式計算所述加權平均:
其中REF代表所述過去平均指令接收時間間隔,V[k]代表第k權重值,ΔT[k]代表第k過去指令接收時間間隔,且k與N皆為正整數。
在本發明的一範例實施例中,所述第二工作模式包括中斷模式,且所述記憶體管理方法更包括:響應於所述記憶體儲存裝置的所述工作模式被切換為所述中斷模式,發送寫入指令序列以指示將暫存於緩衝記憶體的資料儲存至所述可複寫式非揮發性記憶體模組中;以及清空所述緩衝記憶體。
本發明的另一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組,其中所述記憶體控制電路單元用以從所述主機系統接收多個指令,其中所述記憶體控制電路單元更用以計數對應於所述指令的最新閒置時間與對應於所述指令的過去平均指令接收時間間隔,其中若所述最新閒置時間大於第一門檻值且所述過去平均指令接收時間間隔大於第二門檻值,所述記憶體控制電路單元更用以動態地將所述記憶體儲存裝置的工作模式從第一工作模式切換為第二工作模式,其中若所述最新閒置時間未大於所述第一門檻值或所述過去平均指令接收時間間隔未大於所述第二門檻值,所述記憶體控制電路單元更用以將所述記憶體儲存裝置的所述工作模式維持於所述第一工作模式,其中所述記憶體儲存裝置操作於所述第一工作模式的耗電量高於所述記憶體儲存裝置操作於所述第二工作模式的耗電量。
在本發明的一範例實施例中,所述記憶體控制電路單元計數所述指令的所述過去平均指令接收時間間隔的操作包括:計數第一過去指令接收時間間隔與第二過去指令接收時間間隔;以及計算所述第一過去指令接收時間間隔與所述第二過去指令接收時間間隔的加權平均以獲得所述過去平均指令接收時間間隔。
在本發明的一範例實施例中,所述記憶體控制電路單元計算所述第一過去指令接收時間間隔與所述第二過去指令接收時間間隔的所述加權平均的操作包括:決定對應於所述第一過去指令接收時間間隔的第一權重值與對應於所述第二過去指令接收時間間隔的第二權重值;以及根據所述第一權重值、所述第二權重值、所述第一過去指令接收時間間隔及所述第二過去指令接收時間間隔來計算所述加權平均。
在本發明的一範例實施例中,所述第一過去指令接收時間間隔是指所述指令中的第一指令與所述第一指令的前一指令的接收時間間隔,所述第二過去指令接收時間間隔是指所述指令中的第二指令與所述第二指令的前一指令的接收時間間隔,而所述記憶體控制電路單元決定對應於所述第一過去指令接收時間間隔的所述第一權重值與對應於所述第二過去指令接收時間間隔的所述第二權重值的操作包括:根據所述第一指令與所述第二指令的接收順序決定所述第一權重值與所述第二權重值。
在本發明的一範例實施例中,所述記憶體控制電路單元根據所述第一指令與所述第二指令的所述接收順序決定所述第一權重值與所述第二權重值的操作包括:響應於所述第一指令的接收時間點早於所述第二指令的接收時間點,將所述第一權重值決定為第一數值並將所述第二權重值決定為大於所述第一數值的第二數值。
在本發明的一範例實施例中,所述記憶體控制電路單元根據所述第一權重值、所述第二權重值、所述第一過去指令接收時間間隔及所述第二過去指令接收時間間隔來計算所述加權平均的操作包括:根據以下方程式計算所述加權平均:
其中REF代表所述過去平均指令接收時間間隔,V[k]代表第k權重值,ΔT[k]代表第k過去指令接收時間間隔,且k與N皆為正整數。
在本發明的一範例實施例中,所述第二工作模式包括中斷模式,且所述記憶體控制電路單元更用以響應於所述記憶體儲存裝置的所述工作模式被切換為所述中斷模式,發送寫入指令序列以指示將暫存於緩衝記憶體的資料儲存至所述可複寫式非揮發性記憶體模組中,其中所述記憶體控制電路單元更用以清空所述緩衝記憶體。
本發明的另一範例實施例提供一種記憶體控制電路單元,其用於控制記憶體儲存裝置,其中所述記憶體儲存裝置包括可複寫式非揮發性記憶體模組,其中所述記憶體控制電路單元包括主機介面、記憶體介面、計數電路、工作模式控制器及記憶體管理電路。所述主機介面用以耦接至主機系統。所述記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組。所述記憶體管理電路耦接至所述主機介面、所述記憶體介面、所述計數電路及所述工作模式控制器,其中所述記憶體管理電路用以從所述主機系統接收多個指令,其中所述計數電路用以計數對應於所述指令的最新閒置時間與對應於所述指令的過去平均指令接收時間間隔,其中若所述最新閒置時間大於第一門檻值且所述過去平均指令接收時間間隔大於第二門檻值,所述工作模式控制器用以動態地將所述記憶體儲存裝置的工作模式從第一工作模式切換為第二工作模式,其中若所述最新閒置時間未大於所述第一門檻值或所述過去平均指令接收時間間隔未大於所述第二門檻值,所述工作模式控制器更用以將所述記憶體儲存裝置的所述工作模式維持於所述第一工作模式,其中所述記憶體儲存裝置操作於所述第一工作模式的耗電量高於所述記憶體儲存裝置操作於所述第二工作模式的耗電量。
在本發明的一範例實施例中,所述計數電路計數所述指令的所述過去平均指令接收時間間隔的操作包括:計數第一過去指令接收時間間隔與第二過去指令接收時間間隔;以及計算所述第一過去指令接收時間間隔與所述第二過去指令接收時間間隔的加權平均以獲得所述過去平均指令接收時間間隔。
在本發明的一範例實施例中,所述計數電路計算所述第一過去指令接收時間間隔與所述第二過去指令接收時間間隔的所述加權平均的操作包括:決定對應於所述第一過去指令接收時間間隔的第一權重值與對應於所述第二過去指令接收時間間隔的第二權重值;以及根據所述第一權重值、所述第二權重值、所述第一過去指令接收時間間隔及所述第二過去指令接收時間間隔來計算所述加權平均。
在本發明的一範例實施例中,所述第一過去指令接收時間間隔是指所述指令中的第一指令與所述第一指令的前一指令的接收時間間隔,所述第二過去指令接收時間間隔是指所述指令中的第二指令與所述第二指令的前一指令的接收時間間隔,而所述計數電路決定對應於所述第一過去指令接收時間間隔的所述第一權重值與對應於所述第二過去指令接收時間間隔的所述第二權重值的操作包括:根據所述第一指令與所述第二指令的接收順序決定所述第一權重值與所述第二權重值。
在本發明的一範例實施例中,所述計數電路根據所述第一指令與所述第二指令的所述接收順序決定所述第一權重值與所述第二權重值的操作包括:響應於所述第一指令的接收時間點早於所述第二指令的接收時間點,將所述第一權重值決定為第一數值並將所述第二權重值決定為大於所述第一數值的第二數值。
在本發明的一範例實施例中,所述計數電路根據所述第一權重值、所述第二權重值、所述第一過去指令接收時間間隔及所述第二過去指令接收時間間隔來計算所述加權平均的操作包括:根據以下方程式計算所述加權平均:
其中REF代表所述過去平均指令接收時間間隔,V[k]代表第k權重值,ΔT[k]代表第k過去指令接收時間間隔,且k與N皆為正整數。
在本發明的一範例實施例中,所述第二工作模式包括中斷模式,且所述記憶體管理電路更用以響應於所述記憶體儲存裝置的所述工作模式被切換為所述中斷模式,發送寫入指令序列以指示將暫存於緩衝記憶體的資料儲存至所述可複寫式非揮發性記憶體模組中,其中所述記憶體管理電路更用以清空所述緩衝記憶體。
基於上述,本發明除了基於最新閒置時間是否大於第一門檻值來作為判斷是否切換記憶體儲存裝置之工作模式的條件外,還進一步根據過去平均指令接收時間間隔是否大於第二門檻值來對是否切換工作模式進行雙重確認。藉此,可較為準確地決定切換工作模式的時機、降低工作模式的切換頻率並可延長可複寫式非揮發性記憶體模組的使用壽命。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的安全數位(Secure Digital, SD)卡32、小型快閃(Compact Flash, CF)卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded Multi Media Card, eMMC)341及/或嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)儲存裝置342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
連接介面單元402用以將記憶體儲存裝置10耦接至主機系統11。在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(Universal Serial Bus, USB)標準、SD介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、MCP介面標準、MMC介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504、記憶體介面506、計數電路507、工作模式控制器509及緩衝記憶體510。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或其群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路502還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
主機介面504是耦接至記憶體管理電路502並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
計數電路507耦接至記憶體管理電路502。計數電路50用以根據從主機系統11接收每一個指令的時間點來計數任兩個指令的接收時間間隔。例如,若在時間點T1接收到某一個指令並且在另一時間點T2接收到另一指令,則這兩個指令的接收時間間隔ΔT可視為T1-T2。
在本範例實施例中,在接收到來自主機系統11的多個指令之後,計數電路507還可以計數對應於此些指令的最新閒置時間與對應於此些指令的過去平均指令接收時間間隔。須注意的是,對應於此些指令的最新閒置時間是指在最新接收到一個指令之後所經過的閒置時間。在此閒置時間內,沒有來自主機系統11的新的指令被接收。而對應於此些指令的過去平均指令接收時間間隔則是指在過去一段時間內所接收到的多個指令的多個接收時間間隔的平均值、加權平均值或中位值等等,只要可以反映在過去一段時間內多個接收時間間隔的概略平均值即可。
計數電路507可包括計數器(counter)、取樣電路、時脈電路及/或正反器(flip-flop)等各式可提供計數功能的邏輯電路元件,所屬技術領域中具有通常知識者應當知曉如何應用此些邏輯電路元件來實現計數電路507,在此便不贅述。在一範例實施例中,計數電路507還可以包括微處理器、微控制器及/或嵌入式控制器等具邏輯運算及/或資料處理功能的處理電路,本發明不加以限制。此外,在另一範例實施例中,計數電路507亦可以是設置在記憶體管理電路502內部或實現為軟體或韌體而由記憶體管理電路502執行,本發明不加以限制。
工作模式控制器509耦接至記憶體管理電路502與計數電路507。工作模式控制器509可根據計數電路507的計數結果來判斷是否要切換記憶體儲存裝置10的工作模式。假設記憶體儲存裝置10當前的工作模式為某一工作模式(亦稱為第一工作模式)。根據計數電路507的計數結果,若工作模式控制器509判定要切換記憶體儲存裝置10的工作模式,則工作模式控制器509可傳送一個觸發訊號(或中斷訊號)給記憶體管理電路502。記憶體管理電路502可根據此觸發訊號(或中斷訊號)來指示將記憶體儲存裝置10的工作模式從第一工作模式切換為另一工作模式(亦稱為第二工作模式)。然而,若工作模式控制器509未傳送此觸發訊號(或中斷訊號)給記憶體管理電路502,則記憶體管理電路502可將記憶體儲存裝置10的工作模式維持在第一工作模式或者從當前的第二工作模式切換為第一工作模式。
在一範例實施例中,工作模式控制器509儲存有一個第一門檻值與一個第二門檻值。在一範例實施例中,第二門檻值大於第一門檻值。例如,第一門檻值與第二門檻值之間的差值可為預設值或可動態決定。此外,在另一範例實施例中,第二門檻值亦可能小於或等於第一門檻值,本發明不加以限制。根據計數電路507的計數結果,工作模式控制器509會判斷對應於已接收的多個指令的最新閒置時間是否大於第一門檻值並判斷對應於此些指令的過去平均指令接收時間間隔是否大於第二門檻值。若對應於此些指令的最新閒置時間大於第一門檻值且對應於此些指令的過去平均指令接收時間間隔大於第二門檻值,工作模式控制器509會判定要切換記憶體儲存裝置10的工作模式,例如將記憶體儲存裝置10的工作模式從第一工作模式切換為第二工作模式。然而,若對應於此些指令的最新閒置時間不大於第一門檻值及/或對應於此些指令的過去平均指令接收時間間隔不大於第二門檻值,則工作模式控制器509會判定將記憶體儲存裝置10的工作模式維持在第一工作模式。
在一範例實施例中,第一工作模式是指正常工作模式。在正常工作模式下,記憶體儲存裝置10可正常的執行所有的排程工作。每一個排程工作可以是來自主機系統11的指令所指示須執行的工作,例如存取可複寫式非揮發性記憶體以寫入或讀取資料,或者由記憶體管理電路502自行安排的任何工作。
在一範例實施例中,記憶體儲存裝置10操作於第一工作模式的耗電量會高於記憶體儲存裝置10操作於第二工作模式的耗電量。在一範例實施例中,記憶體儲存裝置10操作於第一工作模式的工作量會高於記憶體儲存裝置10操作於第二工作模式的工作量。在一範例實施例中,記憶體儲存裝置10操作於第一工作模式的運算量會高於記憶體儲存裝置10操作於第二工作模式的運算量。須注意的是,前述耗電量、工作量及運算量皆是以某一單位時間內的耗電量、工作量及運算量進行衡量。
在一範例實施例中,第二工作模式包括中斷(suspend)模式、閒置模式或者省電模式。在中斷模式下(例如,響應於記憶體儲存裝置10的工作模式被切換為中斷模式),記憶體管理電路502會發送寫入指令序列以指示將暫存於緩衝記憶體510的資料儲存至可複寫式非揮發性記憶體模組406中以進行長期儲存。在將暫存於緩衝記憶體510的資料完整複製到可複寫式非揮發性記憶體模組406之後,記憶體管理電路502可清空緩衝記憶體510,以釋放出緩衝記憶體510中額外的儲存空間。在閒置模式下(例如,響應於記憶體儲存裝置10的工作模式被切換為閒置模式),記憶體管理電路502可進入閒置狀態及/或可執行某些預設工作。在省電模式下(例如,響應於記憶體儲存裝置10的工作模式被切換為省電模式),記憶體管理電路502可進入省電狀態以降低部分系統效能,例如降低記憶體儲存裝置10的工作電壓及/或工作頻率等。在一範例實施例中,第二工作模式亦可包含前述中斷模式、閒置模式及省電模式的至少部分特性,視實務上的需求而定。此外,在一範例實施例中,第一工作模式是指第二工作模式以外的所有工作模式,只要符合記憶體儲存裝置10操作於第一工作模式的耗電量會高於記憶體儲存裝置10操作於第二工作模式的耗電量即可。
在一範例實施例中,若當前記憶體儲存裝置10的工作模式為第二工作模式,則當接收到來自主機系統11的最新指令時,工作模式控制器509可指示將記憶體儲存裝置10的工作模式切換回第一工作模式。在第一工作模式下,記憶體管理電路502可執行此最新指令所指示之資料讀取、資料寫入或資料刪除(或抹除)等操作。
在一範例實施例中,工作模式控制器509可包括微處理器、微控制器及/或嵌入式控制器等具邏輯運算及/或控制功能的控制電路,本發明不加以限制。此外,在一範例實施例中,工作模式控制器509亦可以是設置在記憶體管理電路502內部或實現為軟體或韌體而由記憶體管理電路502執行,本發明不加以限制。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料
在一範例實施例中,記憶體控制電路單元404還包括錯誤檢查與校正電路508與電源管理電路512。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
圖6是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。
請參照圖6,記憶體管理電路502會將可複寫式非揮發性記憶體模組406的實體單元610(0)~610(B)邏輯地分組至儲存區601與替換區602。儲存區601中的實體單元610(0)~610(A)是用以儲存資料,而替換區602中的實體單元610(A+1)~610(B)則是用以替換儲存區601中損壞的實體單元。例如,若從某一個實體單元中讀取的資料所包含的錯誤過多而無法被更正時,此實體單元會被視為是損壞的實體單元。須注意的是,若替換區602中沒有可用的實體抹除單元,則記憶體管理電路502可能會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。
在本範例實施例中,每一個實體單元是指一個實體抹除單元。然而,在另一範例實施例中,一個實體單元亦可以是指一個實體位址、一個實體程式化單元或由多個連續或不連續的實體位址組成。記憶體管理電路502會配置邏輯單元612(0)~612(C)以映射儲存區601中的實體單元610(0)~610(A)。在本範例實施例中,每一個邏輯單元是指一個邏輯位址。然而,在另一範例實施例中,一個邏輯單元也可以是指一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯位址組成。此外,邏輯單元612(0)~612(C)中的每一者可被映射至一或多個實體單元。
記憶體管理電路502會將邏輯單元與實體單元之間的映射關係(亦稱為邏輯-實體位址映射關係)記錄於至少一邏輯-實體位址映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路502可根據此邏輯-實體位址映射表來執行對於記憶體儲存裝置10的資料存取操作。
圖7是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分布的示意圖。
請參照圖7,當接收到來自主機系統11的寫入指令時,記憶體管理電路502會根據此寫入指令所指示寫入的資料與寫入位址(例如,邏輯單元)來發送寫入指令序列以指示可複寫式非揮發性記憶體模組406程式化相應的記憶胞以儲存此資料。以SLC NAND型快閃記憶體為例,經程式化的記憶胞的臨界電壓分布可包括狀態701與702。狀態701對應於儲存有第一位元值的記憶胞的記憶胞數目,而狀態702則對應於儲存有第二位元值的記憶胞的記憶胞數目。在本範例實施例中,第一位元值為1,而第二位元值為0。或者,在另一範例實施例中,第一位元值為0,而第二位元值為1。
當接收到來自主機系統11的讀取指令時,記憶體管理電路502會發送讀取指令序列以指示可複寫式非揮發性記憶體模組406從此些記憶胞讀取資料。例如,根據接收到的讀取指令序列,可複寫式非揮發性記憶體模組406可使用讀取電壓準位Vread來從此些記憶胞讀取資料。例如,在將讀取電壓準位Vread施予至相應的記憶胞後,若某一個記憶胞的臨界電壓小於讀取電壓準位Vread,則記憶體管理電路502會讀到具有第一位元值(例如,1)的位元資料;或者,若某一個記憶胞的臨界電壓大於讀取電壓準位Vread,則記憶體管理電路502會讀到具有第二位元值(例如,0)的位元資料。
須注意的是,隨著每一個記憶胞所儲存的位元的總數不同,記憶胞的臨界電壓分布所包含的狀態之總數也可能不同。例如,在圖7的範例實施例中,每一個記憶胞是儲存一個位元,因此,記憶胞的臨界電壓分布包含兩個狀態。然而,在其他範例實施例中,若一個記憶胞可儲存兩個位元(例如,MLC NAND型快閃記憶體),則可複寫式非揮發性記憶體模組406中記憶胞的臨界電壓分布可包含四個狀態。或者,若一個記憶胞可儲存三個位元(例如,TLC NAND型快閃記憶體),則可複寫式非揮發性記憶體模組406中記憶胞的臨界電壓分布可包含八個狀態。
圖8是根據本發明的一範例實施例所繪示的最新閒置時間與多個指令的接收時間間隔的示意圖。
請參照圖8,假設記憶體管理電路502依序從主機系統11接收指令CMD(0)~CMD(N),其中N為整數,且指令CMD(N)為最新接收的指令。接收指令CMD(0)的時間點與接收指令CMD(1)的時間點之間具有接收時間間隔ΔT[0],接收指令CMD(1)的時間點與接收指令CMD(2)的時間點之間具有接收時間間隔ΔT[1],以此類推,接收指令CMD(N-1)的時間點與接收指令CMD(N)的時間點之間具有接收時間間隔ΔT[N-1]。接收時間間隔ΔT[0]~ΔT[N-1]可各不相同或至少部分相同。
在一範例實施例中,接收時間間隔ΔT[0]~ΔT[N-1]中的每一者亦稱為過去指令接收時間間隔,而ΔT[N]為最新閒置時間。在接收時間間隔ΔT[0]~ΔT[N-1]中的每一個接收時間間隔內,沒有來自主機系統11的指令被接收。此外,最新閒置時間ΔT[N]則是在接收到最後一個指令CMD(N)之後尚未接收到下一個指令CMD(N+1)的閒置時間。
計數電路507可根據接收到指令CMD(0)~CMD(N)的時間點來計數接收時間間隔ΔT[0]~ΔT[N-1]並可計數最新閒置時間ΔT[N]。在一範例實施例中,計數電路507可計算接收時間間隔ΔT[0]~ΔT[N-1]的加權平均以獲得對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔。
在一範例實施例中,計數電路507可為接收時間間隔ΔT[0]~ΔT[N-1]中的每一者配置一個權重值。例如,計數電路507可為接收時間間隔ΔT[k]配置一個權重值V[k],其中k為介於0至N-1之間的整數。例如,權重值V[0]對應於接收時間間隔ΔT[0],且權重值V[1]對應於接收時間間隔ΔT[1],以此類推,權重值V[N-1]對應於接收時間間隔ΔT[N-1]。權重值V[0]~V[N-1]可彼此各不相同或至少部分相同。
計數電路507可根據接收時間間隔ΔT[0]~ΔT[N-1]與相應的權重值V[0]~V[N-1]來計算接收時間間隔ΔT[0]~ΔT[N-1]的加權平均。例如,計數電路507可根據以下方程式(1.1)來計算接收時間間隔ΔT[0]~ΔT[N-1]的加權平均。
(1.1)
在方程式(1.1)中,REF代表對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔。以圖8為例,假設已依序接收到30個指令(即N=29),則根據方程式(1.1)可計算出對應於這30個指令的過去平均指令接收時間間隔。須注意的是,在一範例實施例中,對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔之計算與最新閒置時間ΔT[N]無關,如方程式(1.1)所示。
在一範例實施例中,方程式(1.1)亦可以被調整,例如加入其他變數或調整至少部分邏輯運算元素,以符合實務需求,只要可計算出(概略)反映在過去一段時間內多個指令之接收時間間隔的平均值之數值即可。此外,在另一範例實施例中,計數電路507亦可以將接收時間間隔ΔT[0]~ΔT[N-1]與相應的權重值V[0]~V[N-1]輸入至一查找表並將此查找表的輸出作為對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔。
在圖8的一範例實施例中,指令CMD(0)~CMD(N)是依序被接收。亦即,指令CMD(0)最先被接收,接著指令CMD(1)被接收,接著指令CMD(2)被接收,以此類推,指令CMD(N)最後被接收。在一範例實施例中,根據指令CMD(0)~CMD(N)的接收順序,權重值V[0]~V[N-1]可被決定。
在一範例實施例中,響應於某一指令(亦稱為第一指令)的接收時間點早於另一指令(亦稱為第二指令)的接收時間點,計數電路507可將對應於第一指令的權重值(亦稱為第一權重值)決定為某一數值(亦稱為第一數值)並將對應於第二指令的權重值(亦稱為第二權重值)決定為大於第一數值的另一數值(亦稱為第二數值)。換言之,若指令CMD(k)的接收時間點越早,則對應於接收時間間隔ΔT[k]的權重值V[k]可被決定為越小的數值。或者,若指令CMD(k)的接收時間點越晚,則對應於接收時間間隔ΔT[k]的權重值V[k]越大。以圖8為例,指令CMD(2)是晚於指令CMD(0)被接收,故所決定的權重值V[1]會大於所決定的權重值V[0];同理,指令CMD(N)是晚於指令CMD(2)被接收,故所決定的權重值V[N-1]會大於所決定的權重值V[1]。從另一角度來看,在一範例實施例中,權重值V[k]可根據相應的指令CMD[k]在整個指令隊列CMD(0)~CMD(N)中的排序位置而決定。
在圖8的範例實施例中,若工作模式控制器509判定最新閒置時間ΔT[N]大於第一門檻值且對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔(例如,方程式(1.1)中的REF)大於第二門檻值,則工作模式控制器509可指示記憶體管理電路502將記憶體儲存裝置10的工作模式從第一工作模式切換為第二工作模式。然而,若最新閒置時間ΔT[N]不大於第一門檻值,及/或對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔不大於第二門檻值,則工作模式控制器509可指示記憶體管理電路502將記憶體儲存裝置10的工作模式維持在第一工作模式。換言之,若最新閒置時間ΔT[N]不大於第一門檻值及/或對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔不大於第二門檻值,則工作模式控制器509可不指示將記憶體儲存裝置10的工作模式從第一工作模式切換為第二工作模式。
須注意的是,圖8的範例實施例中的最新閒置時間ΔT[N]是從接收最新的指令CMD(N)的時間點開始計數,直到接收到來自主機系統11的下一個指令CMD(N+1)為止。換言之,在接收到下一個指令CMD(N+1)之前,若最新閒置時間ΔT[N]大於第一門檻值且對應於指令CMD(0)~CMD(N)的過去平均指令接收時間間隔大於第二門檻值,則工作模式控制器509可指示將記憶體儲存裝置10的工作模式從第一工作模式切換為第二工作模式。若在最新閒置時間ΔT[N]大於第一門檻值之前就接收到下一個指令CMD(N+1),工作模式控制器509會判定最新閒置時間ΔT[N]不大於第一門檻值。
在圖8的一範例實施例中,在將記憶體儲存裝置10的工作模式切換為第二工作模式之後,若接收到下一個指令CMD(N+1),則工作模式控制器509可指示將記憶體儲存裝置10的工作模式從第二工作模式切換回第一工作模式,以執行由指令CMD(N+1)所指示之工作。
圖9是根據本發明的一範例實施例所繪示的記憶體管理方法的流程圖。
請參照圖9,在步驟S901中,從主機系統接收多個指令。在步驟S902中,計數對應於所述指令的最新閒置時間與對應於所述指令的過去平均指令接收時間間隔。在步驟S903中,判斷是否對應於所述指令的最新閒置時間大於第一門檻值且對應於所述指令的過去平均指令接收時間間隔大於第二門檻值。若對應於所述指令的最新閒置時間大於第一門檻值且對應於所述指令的過去平均指令接收時間間隔大於第二門檻值,在步驟S904中,將記憶體儲存裝置的工作模式從第一工作模式切換為第二工作模式。若對應於所述指令的最新閒置時間不大於第一門檻值及/或對應於所述指令的過去平均指令接收時間間隔不大於第二門檻值,在步驟S905中,將記憶體儲存裝置的工作模式維持在第一工作模式。
然而,圖9中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖9中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖9的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明除了基於尚未接收到下一個指令的最新閒置時間是否大於第一門檻值來作為判斷是否切換記憶體儲存裝置之工作模式的條件外,還進一步根據過去平均指令接收時間間隔是否大於第二門檻值來對是否切換工作模式進行雙重確認。藉此,可較為準確地決定切換工作模式的時機、降低工作模式的切換頻率並可延長可複寫式非揮發性記憶體模組的使用壽命。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10、30‧‧‧記憶體儲存裝置
11、31‧‧‧主機系統
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體
113‧‧‧唯讀記憶體
114‧‧‧資料傳輸介面
12‧‧‧輸入/輸出(I/O)裝置
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
507‧‧‧計數電路
508‧‧‧錯誤檢查與校正電路
509‧‧‧工作模式控制器
510‧‧‧緩衝記憶體
512‧‧‧電源管理電路
601‧‧‧儲存區
602‧‧‧替換區
610(0)~610(B)‧‧‧實體單元
612(0)~612(C)‧‧‧邏輯單元
701、702‧‧‧狀態
CMD(0)~CMD(N+1)‧‧‧指令
ΔT[0]~ΔT[N-1]‧‧‧接收時間間隔
ΔT[N]‧‧‧最新閒置時間
S901‧‧‧步驟(接收多個指令)
S902‧‧‧步驟(計數對應於所述指令的最新閒置時間與對應於所述指令的過去平均指令接收時間間隔)
S903‧‧‧步驟(是否最新閒置時間大於第一門檻值且過去平均指令接收時間間隔大於第二門檻值)
S904‧‧‧步驟(將記憶體儲存裝置的工作模式從第一工作模式切換為第二工作模式)
S905‧‧‧步驟(將記憶體儲存裝置的工作模式維持在第一工作模式)
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的示意圖。 圖7是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分布的示意圖。 圖8是根據本發明的一範例實施例所繪示的最新閒置時間與多個指令的接收時間間隔的示意圖。 圖9是根據本發明的一範例實施例所繪示的記憶體管理方法的流程圖。
Claims (21)
- 一種記憶體管理方法,用於包括一計數電路、一工作模式控制器及一可複寫式非揮發性記憶體模組的一記憶體儲存裝置,該記憶體管理方法包括: 從一主機系統接收多個指令; 由該計數電路計數對應於該些指令的一最新閒置時間與對應於該些指令的一過去平均指令接收時間間隔; 若該最新閒置時間大於一第一門檻值且該過去平均指令接收時間間隔大於一第二門檻值,由該工作模式控制器動態地將該記憶體儲存裝置的一工作模式從一第一工作模式切換為一第二工作模式;以及 若該最新閒置時間未大於該第一門檻值或該過去平均指令接收時間間隔未大於該第二門檻值,由該工作模式控制器將該記憶體儲存裝置的該工作模式維持於該第一工作模式, 其中該記憶體儲存裝置操作於該第一工作模式的一耗電量高於該記憶體儲存裝置操作於該第二工作模式的一耗電量。
- 如申請專利範圍第1項所述的記憶體管理方法,其中由該計數電路計數該些指令的該過去平均指令接收時間間隔的步驟包括: 計數一第一過去指令接收時間間隔與一第二過去指令接收時間間隔;以及 計算該第一過去指令接收時間間隔與該第二過去指令接收時間間隔的一加權平均以獲得該過去平均指令接收時間間隔。
- 如申請專利範圍第2項所述的記憶體管理方法,其中計算該第一過去指令接收時間間隔與該第二過去指令接收時間間隔的該加權平均的步驟包括: 決定對應於該第一過去指令接收時間間隔的一第一權重值與對應於該第二過去指令接收時間間隔的一第二權重值;以及 根據該第一權重值、該第二權重值、該第一過去指令接收時間間隔及該第二過去指令接收時間間隔來計算該加權平均。
- 如申請專利範圍第3項所述的記憶體管理方法,其中該第一過去指令接收時間間隔是指該些指令中的一第一指令與該第一指令的前一指令的一接收時間間隔,該第二過去指令接收時間間隔是指該些指令中的一第二指令與該第二指令的前一指令的一接收時間間隔,而決定對應於該第一過去指令接收時間間隔的該第一權重值與對應於該第二過去指令接收時間間隔的該第二權重值的步驟包括: 根據該第一指令與該第二指令的一接收順序決定該第一權重值與該第二權重值。
- 如申請專利範圍第4項所述的記憶體管理方法,其中根據該第一指令與該第二指令的該接收順序決定該第一權重值與該第二權重值的步驟包括: 響應於該第一指令的一接收時間點早於該第二指令的一接收時間點,將該第一權重值決定為一第一數值並將該第二權重值決定為大於該第一數值的一第二數值。
- 如申請專利範圍第3項所述的記憶體管理方法,其中根據該第一權重值、該第二權重值、該第一過去指令接收時間間隔及該第二過去指令接收時間間隔來計算該加權平均的步驟包括: 根據以下方程式計算該加權平均: 其中REF代表該過去平均指令接收時間間隔,V[k]代表第k權重值,ΔT[k]代表第k過去指令接收時間間隔,且k與N皆為正整數。
- 如申請專利範圍第1項所述的記憶體管理方法,其中該第二工作模式包括一中斷模式,且該記憶體管理方法更包括: 響應於該記憶體儲存裝置的該工作模式被切換為該中斷模式,發送一寫入指令序列以指示將暫存於一緩衝記憶體的資料儲存至該可複寫式非揮發性記憶體模組中;以及 清空該緩衝記憶體。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以從該主機系統接收多個指令, 其中該記憶體控制電路單元更用以計數對應於該些指令的一最新閒置時間與對應於該些指令的一過去平均指令接收時間間隔, 其中若該最新閒置時間大於一第一門檻值且該過去平均指令接收時間間隔大於一第二門檻值,該記憶體控制電路單元更用以動態地將該記憶體儲存裝置的一工作模式從一第一工作模式切換為一第二工作模式, 其中若該最新閒置時間未大於該第一門檻值或該過去平均指令接收時間間隔未大於該第二門檻值,該記憶體控制電路單元更用以將該記憶體儲存裝置的該工作模式維持於該第一工作模式, 其中該記憶體儲存裝置操作於該第一工作模式的一耗電量高於該記憶體儲存裝置操作於該第二工作模式的一耗電量。
- 如申請專利範圍第8項所述的記憶體儲存裝置,其中該記憶體控制電路單元計數該些指令的該過去平均指令接收時間間隔的操作包括: 計數一第一過去指令接收時間間隔與一第二過去指令接收時間間隔;以及 計算該第一過去指令接收時間間隔與該第二過去指令接收時間間隔的一加權平均以獲得該過去平均指令接收時間間隔。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該記憶體控制電路單元計算該第一過去指令接收時間間隔與該第二過去指令接收時間間隔的該加權平均的操作包括: 決定對應於該第一過去指令接收時間間隔的一第一權重值與對應於該第二過去指令接收時間間隔的一第二權重值;以及 根據該第一權重值、該第二權重值、該第一過去指令接收時間間隔及該第二過去指令接收時間間隔來計算該加權平均。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一過去指令接收時間間隔是指該些指令中的一第一指令與該第一指令的前一指令的一接收時間間隔,該第二過去指令接收時間間隔是指該些指令中的一第二指令與該第二指令的前一指令的一接收時間間隔,而該記憶體控制電路單元決定對應於該第一過去指令接收時間間隔的該第一權重值與對應於該第二過去指令接收時間間隔的該第二權重值的操作包括: 根據該第一指令與該第二指令的一接收順序決定該第一權重值與該第二權重值。
- 如申請專利範圍第11項所述的記憶體儲存裝置,其中該記憶體控制電路單元根據該第一指令與該第二指令的該接收順序決定該第一權重值與該第二權重值的操作包括: 響應於該第一指令的一接收時間點早於該第二指令的一接收時間點,將該第一權重值決定為一第一數值並將該第二權重值決定為大於該第一數值的一第二數值。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元根據該第一權重值、該第二權重值、該第一過去指令接收時間間隔及該第二過去指令接收時間間隔來計算該加權平均的操作包括: 根據以下方程式計算該加權平均: 其中REF代表該過去平均指令接收時間間隔,V[k]代表第k權重值,ΔT[k]代表第k過去指令接收時間間隔,且k與N皆為正整數。
- 如申請專利範圍第8項所述的記憶體儲存裝置,其中該第二工作模式包括一中斷模式,且該記憶體控制電路單元更用以響應於該記憶體儲存裝置的該工作模式被切換為該中斷模式,發送一寫入指令序列以指示將暫存於一緩衝記憶體的資料儲存至該可複寫式非揮發性記憶體模組中, 其中該記憶體控制電路單元更用以清空該緩衝記憶體。
- 一種記憶體控制電路單元,用於控制一記憶體儲存裝置,其中該記憶體儲存裝置包括一可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組; 一計數電路; 一工作模式控制器; 一記憶體管理電路,耦接至該主機介面、該記憶體介面、該計數電路及該工作模式控制器, 其中該記憶體管理電路用以從該主機系統接收多個指令, 其中該計數電路用以計數對應於該些指令的一最新閒置時間與對應於該些指令的一過去平均指令接收時間間隔, 其中若該最新閒置時間大於一第一門檻值且該過去平均指令接收時間間隔大於一第二門檻值,該工作模式控制器用以動態地將該記憶體儲存裝置的一工作模式從一第一工作模式切換為一第二工作模式, 其中若該最新閒置時間未大於該第一門檻值或該過去平均指令接收時間間隔未大於該第二門檻值,該工作模式控制器更用以將該記憶體儲存裝置的該工作模式維持於該第一工作模式, 其中該記憶體儲存裝置操作於該第一工作模式的一耗電量高於該記憶體儲存裝置操作於該第二工作模式的一耗電量。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其中該計數電路計數該些指令的該過去平均指令接收時間間隔的操作包括: 計數一第一過去指令接收時間間隔與一第二過去指令接收時間間隔;以及 計算該第一過去指令接收時間間隔與該第二過去指令接收時間間隔的一加權平均以獲得該過去平均指令接收時間間隔。
- 如申請專利範圍第16項所述的記憶體控制電路單元,其中該計數電路計算該第一過去指令接收時間間隔與該第二過去指令接收時間間隔的該加權平均的操作包括: 決定對應於該第一過去指令接收時間間隔的一第一權重值與對應於該第二過去指令接收時間間隔的一第二權重值;以及 根據該第一權重值、該第二權重值、該第一過去指令接收時間間隔及該第二過去指令接收時間間隔來計算該加權平均。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該第一過去指令接收時間間隔是指該些指令中的一第一指令與該第一指令的前一指令的一接收時間間隔,該第二過去指令接收時間間隔是指該些指令中的一第二指令與該第二指令的前一指令的一接收時間間隔,而該計數電路決定對應於該第一過去指令接收時間間隔的該第一權重值與對應於該第二過去指令接收時間間隔的該第二權重值的操作包括: 根據該第一指令與該第二指令的一接收順序決定該第一權重值與該第二權重值。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該計數電路根據該第一指令與該第二指令的該接收順序決定該第一權重值與該第二權重值的操作包括: 響應於該第一指令的一接收時間點早於該第二指令的一接收時間點,將該第一權重值決定為一第一數值並將該第二權重值決定為大於該第一數值的一第二數值。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該計數電路根據該第一權重值、該第二權重值、該第一過去指令接收時間間隔及該第二過去指令接收時間間隔來計算該加權平均的操作包括: 根據以下方程式計算該加權平均: 其中REF代表該過去平均指令接收時間間隔,V[k]代表第k權重值,ΔT[k]代表第k過去指令接收時間間隔,且k與N皆為正整數。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其中該第二工作模式包括一中斷模式,且該記憶體管理電路更用以響應於該記憶體儲存裝置的該工作模式被切換為該中斷模式,發送一寫入指令序列以指示將暫存於一緩衝記憶體的資料儲存至該可複寫式非揮發性記憶體模組中, 其中該記憶體管理電路更用以清空該緩衝記憶體。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139704A TWI648634B (zh) | 2017-11-16 | 2017-11-16 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139704A TWI648634B (zh) | 2017-11-16 | 2017-11-16 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI648634B true TWI648634B (zh) | 2019-01-21 |
TW201923599A TW201923599A (zh) | 2019-06-16 |
Family
ID=65803904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106139704A TWI648634B (zh) | 2017-11-16 | 2017-11-16 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI648634B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI731338B (zh) * | 2019-05-30 | 2021-06-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI796935B (zh) * | 2022-01-19 | 2023-03-21 | 宏碁股份有限公司 | 記憶體控制方法與記憶體儲存系統 |
TWI802068B (zh) * | 2021-10-22 | 2023-05-11 | 大陸商合肥兆芯電子有限公司 | 記憶體效能優化方法、記憶體控制電路單元以及記憶體儲存裝置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI755068B (zh) * | 2020-09-21 | 2022-02-11 | 宜鼎國際股份有限公司 | 具有系統作業能力的資料儲存裝置 |
TWI793966B (zh) * | 2022-01-10 | 2023-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030210658A1 (en) * | 2002-05-08 | 2003-11-13 | Microsoft Corporation | Method and system for managing power consumption of a network interface module in a wireless computing device |
TW201338537A (zh) * | 2012-03-09 | 2013-09-16 | Ind Tech Res Inst | 動態派工錄影系統與方法 |
TWI595412B (zh) * | 2016-09-09 | 2017-08-11 | 大心電子(英屬維京群島)股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2017
- 2017-11-16 TW TW106139704A patent/TWI648634B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030210658A1 (en) * | 2002-05-08 | 2003-11-13 | Microsoft Corporation | Method and system for managing power consumption of a network interface module in a wireless computing device |
TW201338537A (zh) * | 2012-03-09 | 2013-09-16 | Ind Tech Res Inst | 動態派工錄影系統與方法 |
TWI595412B (zh) * | 2016-09-09 | 2017-08-11 | 大心電子(英屬維京群島)股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI731338B (zh) * | 2019-05-30 | 2021-06-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
US11573704B2 (en) | 2019-05-30 | 2023-02-07 | Phison Electronics Corp. | Memory control method, memory storage device and memory control circuit unit |
TWI802068B (zh) * | 2021-10-22 | 2023-05-11 | 大陸商合肥兆芯電子有限公司 | 記憶體效能優化方法、記憶體控制電路單元以及記憶體儲存裝置 |
US11693567B2 (en) | 2021-10-22 | 2023-07-04 | Hefei Core Storage Electronic Limited | Memory performance optimization method, memory control circuit unit and memory storage device |
TWI796935B (zh) * | 2022-01-19 | 2023-03-21 | 宏碁股份有限公司 | 記憶體控制方法與記憶體儲存系統 |
US12026373B2 (en) | 2022-01-19 | 2024-07-02 | Acer Incorporated | System and method to control temperature in a memory device |
Also Published As
Publication number | Publication date |
---|---|
TW201923599A (zh) | 2019-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10592126B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
TWI595412B (zh) | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI648634B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110333770B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI592799B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI587135B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11693567B2 (en) | Memory performance optimization method, memory control circuit unit and memory storage device | |
TW201821994A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI602061B (zh) | 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元 | |
TW201810282A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TW201703048A (zh) | 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TW201911298A (zh) | 溫度控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI649653B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107817943B (zh) | 数据传输方法、存储器存储装置及存储器控制电路单元 | |
TWI862428B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI688956B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI722490B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI810865B (zh) | 表格排序方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI597731B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW202420099A (zh) | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI554884B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US10884660B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
TWI712886B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110096215B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 |