TWI734370B - 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 - Google Patents
快閃記憶體之資料合併方法、控制電路單元與儲存裝置 Download PDFInfo
- Publication number
- TWI734370B TWI734370B TW109103748A TW109103748A TWI734370B TW I734370 B TWI734370 B TW I734370B TW 109103748 A TW109103748 A TW 109103748A TW 109103748 A TW109103748 A TW 109103748A TW I734370 B TWI734370 B TW I734370B
- Authority
- TW
- Taiwan
- Prior art keywords
- physical erasing
- memory
- unit
- effective data
- data amount
- Prior art date
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
快閃記憶體之資料合併方法、快閃記憶體控制電路單元與快閃記憶體儲存裝置,本方法可應用於立體(3D)結構之快閃記憶體、嵌入式記憶體裝置或固態硬碟。所述方法包括:根據至少一第一實體抹除單元的有效資料量以及每一多個記憶體子模組的有效資料量,從第一實體抹除單元中選擇至少一來源實體抹除單元;以及複製來源實體抹除單元中的有效資料至至少一目的實體抹除單元以執行有效資料合併操作。
Description
本發明是有關於一種快閃記憶體之資料合併方法、快閃記憶體控制電路單元與快閃記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組具有多個實體抹除單元,並且記憶體管理電路會邏輯地分割為多個區域。此些區域中通常會包括資料區與閒置區。當從主機系統接收到寫入指令與欲寫入之資料時,記憶體管理電路會從閒置區中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區的實體抹除單元。當可複寫式非揮發性記憶體模組的閒置區中閒置的實體抹除單元的個數為非大於一預先定義值時,記憶體管理電路會執行一有效資料合併操作。例如,記憶體管理電路會從資料區中挑選有效資料最少的多個實體抹除單元(亦稱為,來源實體抹除單元),並從此些來源實體抹除單元中複製有效資料至閒置區中的一實體抹除單元(亦稱為,目的實體抹除單元)。之後,記憶體管理電路會將前述的來源實體抹除單元執行抹除操作並重新將該些來源實體抹除單元關聯置閒置區中以增加閒置區中實體抹除單元的數量。此外,記憶體管理電路還會將前述的目的實體抹除單元關連至資料區。
然而,可複寫式非揮發性記憶體模組通常是由多個記憶體子模組所組成,且每一個記憶體子模組會包括多個實體抹除單元。以可複寫式非揮發性記憶體模包括四個記憶體子模組且來源實體抹除單元總共有八個為例,當在執行有效資料合併操作時,若來源實體抹除單元中有五個實體抹除單元分布在一記憶體子模組,而剩餘的三個來源實體抹除單元是平均分佈在其他的記憶體子模組中(即,每一個其他的記憶體子模組包括一個來源實體抹除單元)。當上述記憶體子模組平行地運作以搬移來源實體抹除單元中的資料時,相對於上述其他的記憶體子模組來說,具有五個來源實體抹除單元的記憶體子模組需要花費較多的時間。也就是說,其他的記憶體子模組需等待該具有五個來源實體抹除單元的記憶體子模組完成資料的搬移,而此情況會造成有效資料合併操作在執行時的效能低落。若來源實體抹除單元是平均地分布在多個記憶體子模組中時,基於記憶體子模組平行地運作的原理,在執行有效資料合併操作時可以達到最佳的效率。
因此,如何讓來源實體抹除單元平均地分佈在可複寫式非揮發性記憶體模組的多個記憶體子模組中以提升有效資料合併操作的執行效率,是本領域技術人員所欲解決的問題之一。
本發明提供一種快閃記憶體之資料合併方法、快閃記憶體控制電路單元與快閃記憶體儲存裝置,可以提升有效資料合併操作的執行效率。
本發明提出一種快閃記憶體之資料合併方法,用於一可複寫式非揮發性記憶體模組,所述可複寫式非揮發性記憶體模組包括多個記憶體子模組,每一所述多個記憶體子模組包括多個實體抹除單元,所述方法包括:根據所述多個實體抹除單元中的至少一第一實體抹除單元的有效資料量以及每一所述多個記憶體子模組的有效資料量,從所述第一實體抹除單元中選擇至少一來源實體抹除單元;以及複製所述來源實體抹除單元中的有效資料至所述多個實體抹除單元中的至少一目的實體抹除單元以執行一有效資料合併操作。
在本發明的一實施例中,從所述第一實體抹除單元中選擇所述來源實體抹除單元的步驟包括:根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,產生每一所述第一實體抹除單元的一參考數值;以及將所述第一實體抹除單元中所述參考數值小於一門檻值的至少一第二實體抹除單元識別為所述來源實體抹除單元。
在本發明的一實施例中,根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,計算每一所述第一實體抹除單元的所述參考數值的步驟包括:將所述第一實體抹除單元中的一第三實體抹除單元的有效資料量乘上一第一權重以獲得一第一數值;將所述第三實體抹除單元中的有效資料的冷熱程度乘上一第二權重以獲得一第二數值;將每一所述多個記憶體子模組的有效資料量的總和乘上一第三權重以獲得一第三數值;以及將所述第一數值、所述第二數值以及所述第三數值的總和識別為所述第三實體抹除單元的所述參考數值。
在本發明的一實施例中,所述多個記憶體子模組包括一第一記憶體子模組,所述多個實體抹除單元包括至少一其他來源實體抹除單元,所述方法還包括:將所述其他來源實體抹除單元在所述第一記憶體子模組中的有效資料量的總和加上所述第三實體抹除單元在所述第一記憶體子模組中的有效資料量以獲得一第四數值,並將所述第四數值除以所述其他來源實體抹除單元的數量以獲得所述第一記憶體子模組的一第一平均有效資料量;將所述其他來源實體抹除單元的有效資料量的總和除以所述其他來源實體抹除單元的數量與所述多個記憶體子模組的數量的乘積以獲得所述多個記憶體子模組的一第二平均有效資料量;以及將所述第一平均有效資料量與所述第二平均有效資料量的差值取平方作為所述所述第一記憶體子模組的有效資料量。
在本發明的一實施例中,所述其他來源實體抹除單元組成一來源池(source pool),其中執行所述有效資料合併操作的步驟之前,所述方法還包括:將所述來源實體抹除單元加入所述來源池中。
本發明提出一種快閃記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,所述快閃記憶體控制電路單元包括:主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組包括多個記憶體子模組,每一所述多個記憶體子模組包括多個實體抹除單元。記憶體管理電路耦接至所述主機介面以及所述記憶體介面,並用以執行下述運作:根據所述多個實體抹除單元中的至少一第一實體抹除單元的有效資料量以及每一所述多個記憶體子模組的有效資料量,從所述第一實體抹除單元中選擇至少一來源實體抹除單元;以及複製所述來源實體抹除單元中的有效資料至所述多個實體抹除單元中的至少一目的實體抹除單元以執行一有效資料合併操作。
在本發明的一實施例中,在從所述第一實體抹除單元中選擇所述來源實體抹除單元的運作中,所述記憶體管理電路更用以執行下述運作:根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,產生每一所述第一實體抹除單元的一參考數值;以及將所述第一實體抹除單元中所述參考數值小於一門檻值的至少一第二實體抹除單元識別為所述來源實體抹除單元。
在本發明的一實施例中,在根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,計算每一所述第一實體抹除單元的所述參考數值的運作中,所述記憶體管理電路更用以執行下述運作:將所述第一實體抹除單元中的一第三實體抹除單元的有效資料量乘上一第一權重以獲得一第一數值;將所述第三實體抹除單元中的有效資料的冷熱程度乘上一第二權重以獲得一第二數值;將每一所述多個記憶體子模組的有效資料量的總和乘上一第三權重以獲得一第三數值;以及將所述第一數值、所述第二數值以及所述第三數值的總和識別為所述第三實體抹除單元的所述參考數值。
在本發明的一實施例中,所述多個記憶體子模組包括一第一記憶體子模組,所述多個實體抹除單元包括至少一其他來源實體抹除單元,所述記憶體管理電路更用以執行下述運作:將所述其他來源實體抹除單元在所述第一記憶體子模組中的有效資料量的總和加上所述第三實體抹除單元在所述第一記憶體子模組中的有效資料量以獲得一第四數值,並將所述第四數值除以所述其他來源實體抹除單元的數量以獲得所述第一記憶體子模組的一第一平均有效資料量;將所述其他來源實體抹除單元的有效資料量的總和除以所述其他來源實體抹除單元的數量與所述多個記憶體子模組的數量的乘積以獲得所述多個記憶體子模組的一第二平均有效資料量;以及將所述第一平均有效資料量與所述第二平均有效資料量的差值取平方作為所述所述第一記憶體子模組的有效資料量。
在本發明的一實施例中,所述其他來源實體抹除單元組成一來源池(source pool),其中在執行所述有效資料合併操作的運作之前,所述記憶體管理電路更用以將所述來源實體抹除單元加入所述來源池中。
本發明提出一種快閃記憶體儲存裝置,包括:連接介面單元、可複寫式非揮發性記憶體模組以及快閃記憶體控制電路單元。連接介面單元用以耦接至一主機系統。所述可複寫式非揮發性記憶體模組包括多個記憶體子模組,每一所述多個記憶體子模組包括多個實體抹除單元。快閃記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組並用以執行下述運作:根據所述多個實體抹除單元中的至少一第一實體抹除單元的有效資料量以及每一所述多個記憶體子模組的有效資料量,從所述第一實體抹除單元中選擇至少一來源實體抹除單元;以及複製所述來源實體抹除單元中的有效資料至所述多個實體抹除單元中的至少一目的實體抹除單元以執行一有效資料合併操作。
在本發明的一實施例中,在從所述第一實體抹除單元中選擇所述來源實體抹除單元的運作中,快閃記憶體控制電路單元更用以執行下述運作:根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,產生每一所述第一實體抹除單元的一參考數值;以及將所述第一實體抹除單元中所述參考數值小於一門檻值的至少一第二實體抹除單元識別為所述來源實體抹除單元。
在本發明的一實施例中,在根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,計算每一所述第一實體抹除單元的所述參考數值的運作中,快閃記憶體控制電路單元更用以執行下述運作:將所述第一實體抹除單元中的一第三實體抹除單元的有效資料量乘上一第一權重以獲得一第一數值;將所述第三實體抹除單元中的有效資料的冷熱程度乘上一第二權重以獲得一第二數值;將每一所述多個記憶體子模組的有效資料量的總和乘上一第三權重以獲得一第三數值;以及將所述第一數值、所述第二數值以及所述第三數值的總和識別為所述第三實體抹除單元的所述參考數值。
在本發明的一實施例中,所述多個記憶體子模組包括一第一記憶體子模組,所述多個實體抹除單元包括至少一其他來源實體抹除單元,其中快閃記憶體控制電路單元更用以執行下述運作:將所述其他來源實體抹除單元在所述第一記憶體子模組中的有效資料量的總和加上所述第三實體抹除單元在所述第一記憶體子模組中的有效資料量以獲得一第四數值,並將所述第四數值除以所述其他來源實體抹除單元的數量以獲得所述第一記憶體子模組的一第一平均有效資料量;將所述其他來源實體抹除單元的有效資料量的總和除以所述其他來源實體抹除單元的數量與所述多個記憶體子模組的數量的乘積以獲得所述多個記憶體子模組的一第二平均有效資料量;以及將所述第一平均有效資料量與所述第二平均有效資料量的差值取平方作為所述所述第一記憶體子模組的有效資料量。
在本發明的一實施例中,所述其他來源實體抹除單元組成一來源池(source pool),其中在執行所述有效資料合併操作的運作之前,所述快閃記憶體控制電路單元更用以將所述來源實體抹除單元加入所述來源池中。
基於上述,本發明的快閃記憶體之資料合併方法、快閃記憶體控制電路單元與快閃記憶體儲存裝置可以讓用於執行有效資料合併操作的來源實體抹除單元平均地分佈在可複寫式非揮發性記憶體模組的多個記憶體子模組中以提升有效資料合併操作的執行效率。
一般而言,快閃記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(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是符合高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準,且相容於快速非揮發性記憶體(NVM express)介面標準。具體而言,快速非揮發性記憶體介面標準為一種主機系統與記憶體裝置之間通訊的協議,其定義了快閃記憶體儲存裝置之控制器與主機系統之作業系統之間的暫存器介面、指令集與功能集,並藉由對快閃記憶體儲存裝置的介面標準最佳化,來促進以PCIe介面為主的快閃記憶體儲存裝置之資料存取速度與資料傳輸速率。然而,在另一範例實施例中,連接介面單元402亦可以是符合其他適合的標準。此外,連接介面單元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。
記憶體管理電路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是相容於PCI Express標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、SATA標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,快閃記憶體控制電路單元404還包括錯誤檢查與校正電路508、緩衝記憶體510與電源管理電路512。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路512是耦接至記憶體管理電路502並且用以控制快閃記憶體儲存裝置10的電源。
圖6是根據本發明一範例實施例所繪示之可複寫式非揮發性記憶體模組的概要方塊圖。
請參照圖6,可複寫式非揮發性記憶體模組406包括第一記憶體子模組310、第二記憶體子模組320、第三記憶體子模組330與第四記憶體子模組340。例如,第一、第二、第三與第四記憶體子模組310、320、330與340分別地為記憶體晶粒(die)。第一記憶體子模組310具有實體抹除單元410(0)~410(N)。第二記憶體子模組320具有實體抹除單元420(0)~420(N)。第三記憶體子模組330具有實體抹除單元430(0)~430(N)。第四記憶體子模組340具有實體抹除單元440(0)~440(N)。
例如,第一、第二、第三與第四記憶體子模組310、320、330與340是分別地透過獨立的資料匯流排316、326、336與346耦接至快閃記憶體控制電路單元404。基此,記憶體管理電路502可以平行(parallel)方式將資料透過資料匯流排316、326、336與346寫入至第一、第二、第三與第四記憶體子模組310、320、330與340。
然而,必須瞭解的是,在本發明另一範例實施例中,第一、第二、第三與第四記憶體子模組310、320、330與340亦可僅透過1個資料匯流排與快閃記憶體控制電路單元404耦接。在此,記憶體管理電路502可以交錯(interleave)方式將資料透過單一資料匯流排寫入至第一、第二、第三與第四記憶體子模組310、320、330與340。
特別是,第一、第二、第三與第四記憶體子模組310、320、330與340可以分別包括多條字元線,而同一條字元線上的多個記憶胞會形成多個實體頁面,同一條字元線的多個實體頁面可以稱為實體頁面組。第一、第二、第三與第四記憶體子模組310、320、330與340的每一實體抹除單元分別具有複數個實體頁面,其中屬於同一個實體抹除單元之實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實體頁面所組成。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。然而,必須瞭解的是,在本發明另一範例實施例中,寫入資料的最小單位亦可以是扇區(Sector)或其他大小。每一實體頁面通常包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。需注意的是,在另一範例實施例中,一個實體抹除單元亦可以是指一個實體位址、一個實體程式化單元或由多個連續或不連續的實體位址組成。
值得一提的是,雖然本發明範例實施例是以包括四個記憶體子模組的可複寫式非揮發性記憶體模組406為例來描述。但本發明不限於此,在其他的實施例中,可複寫式非揮發性記憶體模組406也可以包含二、六、八或十個記憶體子模組。
在此,假設記憶體管理電路502將可複寫式非揮發性記憶體模組406中的實體抹除單元邏輯上至少被區分為資料區與閒置區。邏輯上屬於資料區與閒置區的實體抹除單元是用以儲存來自於主機系統11的資料。具體來說,資料區的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區的實體抹除單元是用以替換資料區的實體抹除單元。也就是說,當從主機系統11接收到寫入指令與欲寫入之資料時,記憶體管理電路502會從閒置區中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區的實體抹除單元。
特別是,資料區與閒置區之實體抹除單元的數量會依據不同的記憶體規格而有所不同。必須瞭解的是,在快閃記憶體儲存裝置10的運作中,實體抹除單元關聯至資料區與閒置區的分組關係會動態地變動。此外,雖然本實施例是描述可複寫式非揮發性記憶體模組406包括資料區與閒置區,但在其他實施例中,可複寫式非揮發性記憶體模組406也可以包括其他的區域。
當可複寫式非揮發性記憶體模組406的閒置區中閒置的實體抹除單元的個數為非大於一預先定義值時,記憶體管理電路502會執行一有效資料合併操作。例如,記憶體管理電路502會執行本發明快閃記憶體之資料合併方法以從資料區的實體抹除單元(亦稱為,第一實體抹除單元)中挑選用於執行之後的有效資料合併操作的來源實體抹除單元。在本實施例中,假設記憶體管理電路502會維護一個來源池(source pool),此來源池中會包括已挑選出可用於執行有效資料合併操作的來源實體抹除單元(以下稱為,其他來源實體抹除單元),而此些來源實體抹除單元尚未被用來執行有效資料合併操作。
以下實施例說明本發明如何挑選來源實體抹除單元。首先,記憶體管理電路502會根據上述第一實體抹除單元中每一個實體抹除單元的有效資料量、上述第一實體抹除單元中每一個實體抹除單元的有效資料的冷熱程度以及每一個記憶體子模組所具有的有效資料量,計算第一實體抹除單元中每一個實體抹除單元的參考數值。
例如,記憶體管理電路502可以存取一邏輯位址-實體位址映射表,此邏輯位址-實體位址映射表用以記錄目前可複寫式非揮發性記憶體模組406中的每一個有效資料是儲存在哪一個實體抹除單元中。記憶體管理電路502可以從邏輯位址-實體位址映射表得知一個實體抹除單元中儲存了哪些邏輯位址的有效資料,進而得知一個實體抹除單元的有效資料量。然而,如何獲得一實體抹除單元的有效資料量也可以由其他的習知技術所得知,在此不再贅述。
此外,記憶體管理電路502可以存取一冷熱程度記錄表,此冷熱程度記錄表用以記錄一邏輯位址的資料被存取的次數。在記憶體管理電路502從邏輯位址-實體位址映射表得知一個實體抹除單元中儲存了哪些邏輯位址的有效資料後,記憶體管理電路502可以存取冷熱程度記錄表以計算該實體抹除單元中的有效資料被存取的次數(或頻率)的總和,進而得知該實體抹除單元的有效資料的冷熱程度。然而,如何獲得一實體抹除單元的有效資料的冷熱程度也可以由其他的習知技術所得知,在此不再贅述。
而如何獲得一個記憶體子模組所具有的有效資料量請容後詳述。
以下以計算某一個實體抹除單元(以下稱為,第三實體抹除單元)的參考數值為例進行說明。相類似地方式可以應用在其他的實體抹除單元。記憶體管理電路502可以藉由下述公式(1)來獲得第三實體抹除單元的參考數值:
……………………(1)
其中,K代表第三實體抹除單元的參考數值。X為第三實體抹除單元的有效資料量,k1為一權重值(亦稱為,第一權重)。Y為第三實體抹除單元中資料的冷熱程度,k2為一權重值(亦稱為,第二權重)。此外,N[CE]代表第CE個記憶體子模組的有效資料量,而
代表所有的記憶體子模組(即,記憶體子模組310~340)的有效資料量的總和,k3為一權重值(亦稱為,第三權重)。
以下將第三實體抹除單元的有效資料量(即,X)與第一權重(即,k1)的乘積稱為「第一數值」;將第三實體抹除單元的冷熱程度(即,Y)與第二權重(即,k2)的乘積稱為「第二數值」;將記憶體子模組310~340的有效資料量的總和(即,
)與第三權重(即,k3)的乘積稱為「第三數值」。而記憶體管理電路502會將第一數值、第二數值以及第三數值的總和(即,K)識別為前述第三實體抹除單元的參考數值。
以下說明如何計算一個記憶體子模組所具有的有效資料量。接續前述範例,在計算第三實體抹除單元的參考數值的過程中,記憶體管理電路502可以參考下述公式(2)計算每一個記憶體子模組的有效資料量。以計算第一記憶體子模組310所具有的有效資料量N[CE]為例,請參考下述公式(2):
………………………………….(2)
在此需說明的是,在計算第三實體抹除單元的參考數值的過程中,記憶體管理電路502會先假定第三實體抹除單元已加入前述的資源池中。而Ni[CE]代表已加入第三實體抹除單元的資源池中第i個來源實體抹除單元在第一記憶體子模組310中的有效資料量,而
則代表資源池中所有的來源實體抹除單元在第一記憶體子模組310中的有效資料量。換句話說,
代表尚未加入第三實體抹除單元的資源池中的來源實體抹除單元(即,前述的「其他來源實體抹除單元」)在第一記憶體子模組310中的有效資料量的總和加上第三實體抹除單元在第一記憶體子模組310中的有效資料量。在此將
的數值稱為「第四數值」。此外,n代表前述「其他來源實體抹除單元」的數量。記憶體管理電路502會將前述第四數值除以「其他來源實體抹除單元」的數量(即,n)以獲得第一記憶體子模組310的平均有效資料量(亦稱為,第一平均有效資料量)。
此外,在公式(2)中,Ni代表尚未加入第三實體抹除單元的資源池中第i個其他來源實體抹除單元的有效資料量,而
代表尚未加入第三實體抹除單元的資源池中的其他來源實體抹除單元的有效資料量的總和。n代表前述其他來源實體抹除單元的數量。ce_cnt代表可複寫式非揮發性記憶體模組406中記憶體子模組310~340的數量。記憶體管理電路502會將前述其他來源實體抹除單元的有效資料量的總和(即,
)除以其他來源實體抹除單元的數量(即,n)與記憶體子模組的數量(即,ce_cnt)的乘積以獲得記憶體子模組310~340的平均有效資料量(亦稱為,第二平均有效資料量)。
藉由上述方式,可以計算出第一實體抹除單元中每一個實體抹除單元的參考數值,進而根據此些參考數值從第一實體抹除單元中選擇來源實體抹除單元。
例如,記憶體管理電路502會將第一實體抹除單元中參考數值小於一門檻值的實體抹除單元(亦稱為,第二實體抹除單元)識別為可用於執行有效資料合併操作的來源實體抹除單元,並將此來源實體抹除單元加入來源池中。之後,當要執行有效資料合併操作時,記憶體管理電路502會從來源池中選擇一來源實體抹除單元,並且複製所選擇的來源實體抹除單元中的有效資料至某一個實體抹除單元(亦稱為,目的實體抹除單元)以執行有效資料合併操作。
圖7A是根據本發明一範例實施例所繪示之識別用於執行有效資料合併操作的來源實體抹除單元的示意圖。圖7B至圖7C是根據本發明一範例實施例所繪示之記憶體子模組是否處於忙碌狀態的示意圖。
請參照圖7A,以圖7A的範例來說,假設目前有四個實體抹除單元700~705被用來判斷是否作為用於執行有效資料合併操作的來源實體抹除單元。假設實體抹除單元700的有效資料量為30 (即,valid cnt=30),實體抹除單元701的有效資料量為30 (即,valid cnt=30),實體抹除單元703的有效資料量為32 (即,valid cnt=32),實體抹除單元705的有效資料量為32 (即,valid cnt=32)。為了方便說明,在本範例中,假設實體抹除單元700~705中的每一個實體抹除單元的資料會可以分別分布於不同的記憶體子模組310~340中。其中,針對圖7中每個實體抹除單元的每個記憶體子模組中繪製為灰色的部份為有效資料。
以一般習知的方法來說,記憶體管理電路502會選擇有效資料量最小的至少一個實體抹除單元作為用於執行有效資料合併操作的來源實體抹除單元。在此範例中,若使用一般習知的方法,記憶體管理電路502例如會選擇有效資料量最小的實體抹除單元700~701作為用於執行有效資料合併操作的來源實體抹除單元。然而由圖7可看出,實體抹除單元700~701中的有效資料大部分是位於記憶體子模組310中。因此,當使用實體抹除單元700~701在執行有效資料合併操作時,記憶體子模組320~340需等待記憶體子模組310的運作完成,此情況會造成有效資料合併操作執行的效率低落。例如,請參照圖7B,假設圖7B中低電位代表「忙碌狀態」,高電位代表「閒置狀態」。在上述的範例中執行有效資料合併操作時,由於記憶體子模組310中需要被搬移的資料較多,因此當記憶體子模組320~340從忙碌狀態返回閒置狀態後,記憶體子模組320~340仍需被迫花大量的時間等待記憶體子模組310完成資料的搬移(即,等待記憶體子模組310的忙碌狀態),此情況會造成有效資料合併操作執行的效率低落。
然而,由於本發明會參考記憶體子模組310~340中的有效資料量來選擇來源實體抹除單元,記憶體管理電路502會選擇實體抹除單元700與實體抹除單元703作為用於執行有效資料合併操作的來源實體抹除單元。特別是,而由圖7A可看出,實體抹除單元700與實體抹除單元703位於記憶體子模組310中的有效資料量的總和會相近於實體抹除單元700與實體抹除單元703位於記憶體子模組320中的有效資料量的總和、實體抹除單元700與實體抹除單元703位於記憶體子模組330中的有效資料量的總和以及實體抹除單元700與實體抹除單元703位於記憶體子模組340中的有效資料量總和。因此,當使用實體抹除單元700與實體抹除單元703在執行有效資料合併操作時,可以避免多個記憶體子模組長時間等待另一記憶體子模組運作完成,進而提升有效資料合併操作的執行效率。例如,請參照圖7C,類似於圖7B,圖7C中的低電位代表「忙碌狀態」,高電位代表「閒置狀態」。在上述的範例中,由於記憶體子模組310~340中的每一個記憶體子模組所需搬移的資料量較為接近,因此記憶體子模組310~340會在相近的時間從忙碌狀態返回閒置狀態。由圖7C可知,本發明的快閃記憶體之資料合併方法可以避免多個記憶體子模組長時間等待另一記憶體子模組運作完成。
圖8是根據本發明一範例實施例所繪示之快閃記憶體之資料合併方法的流程圖。
請參照圖8,在步驟S801中,記憶體管理電路502根據第一實體抹除單元的有效資料量以及每一個記憶體子模組的有效資料量,從第一實體抹除單元中選擇來源實體抹除單元。之後在步驟S803中,記憶體管理電路502複製來源實體抹除單元中的有效資料至目的實體抹除單元以執行有效資料合併操作。
綜上所述,本發明的快閃記憶體之資料合併方法、快閃記憶體控制電路單元與快閃記憶體儲存裝置可以讓用於執行有效資料合併操作的來源實體抹除單元平均地分佈在可複寫式非揮發性記憶體模組的多個記憶體子模組中以提升有效資料合併操作的執行效率。
30、10:快閃記憶體儲存裝置
31、11:主機系統
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:記憶體介面
508:錯誤檢查與校正電路
510:緩衝記憶體
512:電源管理電路
310:第一記憶體子模組
320:第二記憶體子模組
330:第三記憶體子模組
340:第四記憶體子模組
316、326、336、346:資料匯流排
410(0)~410(N)、420(0)~420(N)、430(0)~430(N)、440(0)~440(N)、700~705:實體抹除單元
Valid cnt:有效資料量
步驟S701:根據第一實體抹除單元的有效資料量以及每一個記憶體子模組的有效資料量,從第一實體抹除單元中選擇來源實體抹除單元的步驟
步驟S703:複製來源實體抹除單元中的有效資料至目的實體抹除單元以執行有效資料合併操作的步驟
圖1是根據本發明的一範例實施例所繪示的主機系統、快閃記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。
圖2是根據本發明的另一範例實施例所繪示的主機系統、快閃記憶體儲存裝置及I/O裝置的示意圖。
圖3是根據本發明的另一範例實施例所繪示的主機系統與快閃記憶體儲存裝置的示意圖。
圖4是根據本發明的一範例實施例所繪示的快閃記憶體儲存裝置的概要方塊圖。
圖5是根據本發明的一範例實施例所繪示的快閃記憶體控制電路單元的概要方塊圖。
圖6是根據本發明一範例實施例所繪示之可複寫式非揮發性記憶體模組的概要方塊圖。
圖7A是根據本發明一範例實施例所繪示之識別用於執行有效資料合併操作的來源實體抹除單元的示意圖。
圖7B至圖7C是根據本發明一範例實施例所繪示之記憶體子模組是否處於忙碌狀態的示意圖。
圖8是根據本發明一範例實施例所繪示之快閃記憶體之資料合併方法的流程圖。
步驟S801:根據第一實體抹除單元的有效資料量以及每一個記憶體子模組的有效資料量,從第一實體抹除單元中選擇來源實體抹除單元的步驟
步驟S803:複製來源實體抹除單元中的有效資料至目的實體抹除單元以執行有效資料合併操作的步驟
Claims (9)
- 一種快閃記憶體之資料合併方法,用於一可複寫式非揮發性記憶體模組,所述可複寫式非揮發性記憶體模組包括多個記憶體子模組,每一所述多個記憶體子模組包括多個實體抹除單元,所述方法包括:根據所述多個實體抹除單元中的至少一第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,產生每一所述第一實體抹除單元的一參考數值;將所述第一實體抹除單元中所述參考數值小於一門檻值的至少一第二實體抹除單元識別為至少一來源實體抹除單元;以及複製所述來源實體抹除單元中的有效資料至所述多個實體抹除單元中的至少一目的實體抹除單元以執行一有效資料合併操作,其中根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,計算每一所述第一實體抹除單元的所述參考數值的步驟包括:將所述第一實體抹除單元中的一第三實體抹除單元的有效資料量乘上一第一權重以獲得一第一數值;將所述第三實體抹除單元中的有效資料的冷熱程度乘上一第二權重以獲得一第二數值;將每一所述多個記憶體子模組的有效資料量的總和乘上一第三權重以獲得一第三數值;以及將所述第一數值、所述第二數值以及所述第三數值的總和識別為所述第三實體抹除單元的 所述參考數值。
- 如申請專利範圍第1項所述的快閃記憶體之資料合併方法,其中所述多個記憶體子模組包括一第一記憶體子模組,所述多個實體抹除單元包括至少一其他來源實體抹除單元,所述方法還包括:將所述其他來源實體抹除單元在所述第一記憶體子模組中的有效資料量的總和加上所述第三實體抹除單元在所述第一記憶體子模組中的有效資料量以獲得一第四數值,並將所述第四數值除以所述其他來源實體抹除單元的數量以獲得所述第一記憶體子模組的一第一平均有效資料量;將所述其他來源實體抹除單元的有效資料量的總和除以所述其他來源實體抹除單元的數量與所述多個記憶體子模組的數量的乘積以獲得所述多個記憶體子模組的一第二平均有效資料量;以及將所述第一平均有效資料量與所述第二平均有效資料量的差值取平方作為所述第一記憶體子模組的有效資料量。
- 如申請專利範圍第2項所述的快閃記憶體之資料合併方法,其中所述其他來源實體抹除單元組成一來源池(source pool),其中執行所述有效資料合併操作的步驟之前,所述方法還包括:將所述來源實體抹除單元加入所述來源池中。
- 一種快閃記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,所述快閃記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組包括多個記憶體子模組,每一所述多個記憶體子模組包括多個實體抹除單元;一記憶體管理電路,耦接至所述主機介面以及所述記憶體介面,其中所述記憶體管理電路用以根據所述多個實體抹除單元中的至少一第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,產生每一所述第一實體抹除單元的一參考數值,其中所述記憶體管理電路更用以將所述第一實體抹除單元中所述參考數值小於一門檻值的至少一第二實體抹除單元識別為至少一來源實體抹除單元,其中所述記憶體管理電路更用以複製所述來源實體抹除單元中的有效資料至所述多個實體抹除單元中的至少一目的實體抹除單元以執行一有效資料合併操作,其中在根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,計算每一所述第一實體抹除單元的所述參考數值的運作中, 所述記憶體管理電路更用以將所述第一實體抹除單元中的一第三實體抹除單元的有效資料量乘上一第一權重以獲得一第一數值,所述記憶體管理電路更用以將所述第三實體抹除單元中的有效資料的冷熱程度乘上一第二權重以獲得一第二數值,所述記憶體管理電路更用以將每一所述多個記憶體子模組的有效資料量的總和乘上一第三權重以獲得一第三數值,所述記憶體管理電路更用以將所述第一數值、所述第二數值以及所述第三數值的總和識別為所述第三實體抹除單元的所述參考數值。
- 如申請專利範圍第4項所述的快閃記憶體控制電路單元,其中所述多個記憶體子模組包括一第一記憶體子模組,所述多個實體抹除單元包括至少一其他來源實體抹除單元,其中所述記憶體管理電路更用以將所述其他來源實體抹除單元在所述第一記憶體子模組中的有效資料量的總和加上所述第三實體抹除單元在所述第一記憶體子模組中的有效資料量以獲得一第四數值,並將所述第四數值除以所述其他來源實體抹除單元的數量以獲得所述第一記憶體子模組的一第一平均有效資料量,所述記憶體管理電路更用以將所述其他來源實體抹除單元的有效資料量的總和除以所述其他來源實體抹除單元的數量與所述多個記憶體子模組的數量的乘積以獲得所述多個記憶體子模組的一第二平均有效資料量, 所述記憶體管理電路更用以將所述第一平均有效資料量與所述第二平均有效資料量的差值取平方作為所述第一記憶體子模組的有效資料量。
- 如申請專利範圍第5項所述的快閃記憶體控制電路單元,其中所述其他來源實體抹除單元組成一來源池(source pool),其中在執行所述有效資料合併操作的運作之前,所述記憶體管理電路更用以將所述來源實體抹除單元加入所述來源池中。
- 一種快閃記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組包括多個記憶體子模組,每一所述多個記憶體子模組包括多個實體抹除單元;以及一快閃記憶體控制電路單元,耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組,其中所述快閃記憶體控制電路單元用以根據所述多個實體抹除單元中的至少一第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,產生每一所述第一實體抹除單元的一參考數值,其中所述快閃記憶體控制電路單元更用以將所述第一實體抹除單元中所述參考數值小於一門檻值的至少一第二實體抹除單元 識別為至少一來源實體抹除單元,其中所述快閃記憶體控制電路單元更用以複製所述來源實體抹除單元中的有效資料至所述多個實體抹除單元中的至少一目的實體抹除單元以執行一有效資料合併操作,其中在根據所述第一實體抹除單元的有效資料量、所述第一實體抹除單元中的有效資料的冷熱程度以及每一所述多個記憶體子模組的有效資料量,計算每一所述第一實體抹除單元的所述參考數值的運作中,所述快閃記憶體控制電路單元更用以將所述第一實體抹除單元中的一第三實體抹除單元的有效資料量乘上一第一權重以獲得一第一數值,所述快閃記憶體控制電路單元更用以將所述第三實體抹除單元中的有效資料的冷熱程度乘上一第二權重以獲得一第二數值,所述快閃記憶體控制電路單元更用以將每一所述多個記憶體子模組的有效資料量的總和乘上一第三權重以獲得一第三數值,所述快閃記憶體控制電路單元更用以將所述第一數值、所述第二數值以及所述第三數值的總和識別為所述第三實體抹除單元的所述參考數值。
- 如申請專利範圍第7項所述的快閃記憶體儲存裝置,其中所述多個記憶體子模組包括一第一記憶體子模組,所述多個實體抹除單元包括至少一其他來源實體抹除單元,其中所述快閃記憶體控制電路單元更用以將所述其他來源實體抹 除單元在所述第一記憶體子模組中的有效資料量的總和加上所述第三實體抹除單元在所述第一記憶體子模組中的有效資料量以獲得一第四數值,並將所述第四數值除以所述其他來源實體抹除單元的數量以獲得所述第一記憶體子模組的一第一平均有效資料量,所述快閃記憶體控制電路單元更用以將所述其他來源實體抹除單元的有效資料量的總和除以所述其他來源實體抹除單元的數量與所述多個記憶體子模組的數量的乘積以獲得所述多個記憶體子模組的一第二平均有效資料量,所述快閃記憶體控制電路單元更用以將所述第一平均有效資料量與所述第二平均有效資料量的差值取平方作為所述第一記憶體子模組的有效資料量。
- 如申請專利範圍第8項所述的快閃記憶體儲存裝置,其中所述其他來源實體抹除單元組成一來源池(source pool),其中在執行所述有效資料合併操作的運作之前,所述快閃記憶體控制電路單元更用以將所述來源實體抹除單元加入所述來源池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109103748A TWI734370B (zh) | 2020-02-06 | 2020-02-06 | 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109103748A TWI734370B (zh) | 2020-02-06 | 2020-02-06 | 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI734370B true TWI734370B (zh) | 2021-07-21 |
TW202131313A TW202131313A (zh) | 2021-08-16 |
Family
ID=77911224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109103748A TWI734370B (zh) | 2020-02-06 | 2020-02-06 | 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI734370B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200423779A (en) * | 2002-08-23 | 2004-11-01 | Qualcomm Inc | Method and system for a data transmission in a communication system |
CN101356519A (zh) * | 2006-06-19 | 2009-01-28 | 三星电子株式会社 | 用于可利用空中机制的便携式设备的程序升级系统及方法 |
US20090158005A1 (en) * | 2007-12-14 | 2009-06-18 | Spansion Llc | Clock encoded pre-fetch to access memory data in clustering network environment |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
-
2020
- 2020-02-06 TW TW109103748A patent/TWI734370B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200423779A (en) * | 2002-08-23 | 2004-11-01 | Qualcomm Inc | Method and system for a data transmission in a communication system |
CN101356519A (zh) * | 2006-06-19 | 2009-01-28 | 三星电子株式会社 | 用于可利用空中机制的便携式设备的程序升级系统及方法 |
US20090158005A1 (en) * | 2007-12-14 | 2009-06-18 | Spansion Llc | Clock encoded pre-fetch to access memory data in clustering network environment |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
Also Published As
Publication number | Publication date |
---|---|
TW202131313A (zh) | 2021-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI688953B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111258505B (zh) | 快闪存储器的数据合并方法、控制电路单元与存储装置 | |
TWI717751B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI796882B (zh) | 讀取干擾檢查方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TW201908957A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI711048B (zh) | 快閃記憶體之資料整理方法、控制電路單元與儲存裝置 | |
TWI734370B (zh) | 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 | |
TWI730600B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN112463018B (zh) | 指令传送方法、存储器控制电路单元及存储器存储装置 | |
TWI728448B (zh) | 指令傳送方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI818370B (zh) | 資料儲存分配方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI793966B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI724427B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI780003B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI810719B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI831366B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN114527941B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI823792B (zh) | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN117632038B (zh) | 损耗平衡方法、存储器存储装置及存储器控制电路单元 | |
CN114115739B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI769386B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN114300020A (zh) | 解码电路模块、存储器控制电路单元及存储器存储装置 | |
CN114385244A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TW202326392A (zh) | 多通道記憶體儲存裝置、控制電路單元及其資料讀取方法 |