TW201523616A - 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201523616A TW201523616A TW102145210A TW102145210A TW201523616A TW 201523616 A TW201523616 A TW 201523616A TW 102145210 A TW102145210 A TW 102145210A TW 102145210 A TW102145210 A TW 102145210A TW 201523616 A TW201523616 A TW 201523616A
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- physical erasing
- units
- super
- physical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/70—Details relating to dynamic memory management
- G06F2212/702—Conservative garbage collection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。此方法包括:配置多個超實體抹除單元,其中每一個超實體抹除單元包括至少兩個實體抹除單元。第一超實體抹除單元包括了屬於不同操作單元的第一實體抹除單元與第二實體抹除單元。第一實體抹除單元與第二實體抹除單元儲存了第一資料的不同部分。從每個操作單元中選取儲存最少有效資料的實體抹除單元來執行垃圾收集程序。藉此,可以增加垃圾收集程序的效率。
Description
本發明是有關於一種記憶體管理方法,且特別是有關於一種可複寫式非揮發性記憶體模組的記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組是由一個記憶體控制電路單元所控制。記憶體控制電路單元可接收來自主機系統的資料,並把這些資料寫入至可複寫式非揮發性記憶體模組中。在一些設置中,記憶體控制電路單元會將多個實體抹除單元分為同一個超實體抹除單元,而記憶體控制電路單元會交錯地或是同時地程式化同一個超實體抹除單元內的實體抹除單元。藉
此,當主機系統所下達的是連續資料時,把資料寫入至可複寫式非揮發性記憶體模組的速度會增加。然而,如何在將多個實體抹除單元分為同一個超實體抹除單元時有效地完成垃圾收集(garbage collection)程序,為此領域技術人員所關心的議題。
本發明提供一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置,可以有效地執行垃圾收集程序。
本發明一範例實施例提出一種記憶體管理方法,用於一可複寫式非揮發性記憶體模組。此可複寫式非揮發性記憶體模組包括多個實體抹除單元,每一個實體抹除單元屬於多個操作單元的其中之一。此記憶體管理方法包括:配置多個超實體抹除單元,其中每一個超實體抹除單元包括至少兩個實體抹除單元。上述多個超實體抹除單元包括第一超實體抹除單元。第一超實體抹除單元包括第一實體抹除單元與第二實體抹除單元,第一實體抹除單元屬於第一操作單元,並且第二實體抹除單元屬於第二操作單元。第一實體抹除單元儲存了第一資料第一部份,而第二實體抹除單元儲存第一資料的第二部份。此方法還包括:從第一操作單元中儲存了有效資料的實體抹除單元中,選取儲存最少有效資料的第三實體抹除單元;從第二操作單元中選取第二實體抹除單元;將第三實體抹除單元中的有效資料與第二實體抹除單元中的有效資料搬移至至少一個第四實體抹除單元;以及抹除第三實體
抹除單元與第二實體抹除單元。
在一範例實施例中,上述的第三實體抹除單元是屬於第二超實體抹除單元,並且第二超實體抹除單元不同於第一超實體抹除單元。
在一範例實施例中,超實體抹除單元中的各個實體抹除單元分別是屬於不同的操作單元。
在一範例實施例中,上述的每一個操作單元為通道、晶片或是平面。
在一範例實施例中,上述的記憶體管理方法更包括:配置多個邏輯位址。上述第一資料的第一部分屬於至少一個第一邏輯位址,第一資料的第二部分屬於至少一個第二邏輯位址。所述第二邏輯位址是接續在所述第一邏輯位址之後。
在一範例實施例中,上述的邏輯位址組成多個邏輯程式化單元。邏輯程式化單元組成多個邏輯抹除單元。並且,第一超實體抹除單元是映射至其中一個邏輯抹除單元。
在一範例實施例中,第二實體抹除單元是在第二操作單元中儲存了有效資料的實體抹除單元中,儲存最少有效資料的實體抹除單元。
本發明一範例實施例提出一種記憶體儲存裝置,包括連接介面單元、上述的可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元是用以耦接至主機系統。記憶體控制電路單元是耦接至連接介面單元與可複寫式非揮發性記憶體模組,
用以配置多個超實體抹除單元,其中每一個超實體抹除單元包括至少兩個實體抹除單元。上述的多個超實體抹除單元包括第一超實體抹除單元。第一超實體抹除單元包括第一實體抹除單元與第二實體抹除單元,第一實體抹除單元屬於第一操作單元,並且第二實體抹除單元屬於第二操作單元。第一實體抹除單元儲存了第一資料的第一部份,並且第二實體抹除單元儲存了第一資料的第二部份。記憶體控制電路單元也用以從第一操作單元中儲存了有效資料的實體抹除單元中,選取儲存最少有效資料的第三實體抹除單元,並且從第二操作單元中選取第二實體抹除單元。記憶體控制電路單元更用以將第三實體抹除單元中的有效資料與第二實體抹除單元中的有效資料搬移至至少一個第四實體抹除單元,以及抹除第三實體抹除單元與第二實體抹除單元。
在一範例實施例中,上述的記憶體控制電路單元更用以配置上述的邏輯位址。
本發明一範例實施例提出一種記憶體控制電路單元,用於控制上述的可複寫式非揮發性記憶體模組。記憶體控制電路單元包括:主機介面、記憶體介面與記憶體管理電路。主機介面是用以耦接至主機系統。記憶體介面是用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路是耦接至主機介面與記憶體介面,用以配置多個超實體抹除單元。每一個超實體抹除單元包括至少兩個實體抹除單元。上述的多個超實體抹除單元包括第一超實體抹除單元。第一超實體抹除單元包括第一實體抹除單元與第
二實體抹除單元。第一實體抹除單元屬於第一操作單元,並且第二實體抹除單元屬於第二操作單元。第一實體抹除單元儲存了第一資料的第一部份,並且第二實體抹除單元儲存了第一資料的第二部份。記憶體管理電路也用以從第一操作單元中儲存了有效資料的實體抹除單元中,選取儲存最少有效資料的第三實體抹除單元,並且從第二操作單元中選取第二實體抹除單元。記憶體管理電路更用以將第三實體抹除單元中的有效資料與第二實體抹除單元中的有效資料搬移至至少一個第四實體抹除單元,以及抹除第三實體抹除單元與第二實體抹除單元。
在一範例實施例中,上述的記憶體管理電路更用以配置上述的邏輯位址。
基於上述,本發明範例實施例提出的記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置,可以對不同超實體抹除單元的實體抹除單元執行垃圾收集程序,藉此可以搬移較少的有效資料。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接介面單元
104‧‧‧記憶體控制電路單元
106‧‧‧可複寫式非揮發性記憶體模組
304(0)~304(A)、304(A+1)~304(B)、304(B+1)~304(R)‧‧‧實體抹除單元
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
252‧‧‧緩衝記憶體
254‧‧‧電源管理電路
256‧‧‧錯誤檢查與校正電路
410(0)~410(D)‧‧‧邏輯位址
402‧‧‧資料區
404‧‧‧閒置區
406‧‧‧系統區
510、520、610、620、810、820‧‧‧超實體抹除單元
530、540‧‧‧邏輯抹除單元
532(0)~532(E)、542(0)~542(E)‧‧‧邏輯程式化單元
550‧‧‧第一資料
560‧‧‧第二資料
S701~S708‧‧‧步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖4是根據一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
圖5是根據一範例實施例繪示寫入資料的示意圖。
圖6A與圖6B是根據一範例實施例繪示垃圾收集程序的示意圖。
圖7A與圖7B是根據一範例實施例繪示記憶體管理方法的流程圖。
圖8A是根據一範例實施例繪示超實體抹除單元的示意圖。
圖8B是根據一範例實施例繪示垃圾收集的示意圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫
入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例
中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi
Media Card,MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card,eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。連接介面單元102可與記憶體控制電路單元104封裝在一個晶片中,或者連接介面單元102是佈設於一包含記憶體控制電路單元104之晶片外。
記憶體控制電路單元104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制電路單元104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元304(0)~304(R)。例如,實體抹除單元304(0)~304(R)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,並且屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實體程式化單元所組成。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更具體來說,每一個實體抹除單元包括多條字元線與多
條位元線,每一條字元線與每一位元線交叉處配置有一個記憶胞。每一個記憶胞可儲存一或多個位元。在同一個實體抹除單元中,所有的記憶胞會一起被抹除。在此範例實施例中,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊。另一方面,同一個字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一個字元線上的實體程式化單元可被分類為下實體程式化單元與上實體程式化單元。一般來說,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度。在此範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面或是實體扇(sector)。若實體程式化單元為實體頁面,則每一個實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇,用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤更正碼)。在本範例實施例中,每一個資料位元區包含8個實體扇,且一個實體扇的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含16個、32個或數目更多或更少的實體扇,本發明並不限制實體扇的大小以及個數。
每一個實體抹除單元304(0)~304(R)是屬於多個操作單元的其中之一。屬於不同操作單元的實體抹除單元可以同時或是交錯地被程式化。例如,操作單元可以是通道、晶片或是平面。具
體來說,在一範例實施例中記憶體儲存裝置100具有多個通道,記憶體控制電路單元104是透過不同的通道來存取不同部份的實體抹除單元304(0)~304(R)。不同通道上的實體抹除單元可以獨立的運作。例如,記憶體控制電路單元104對一個通道上的實體抹除單元執行寫入操作時,記憶體控制電路單元104可以同時地對另一個通道上的實體抹除單元執行讀取操作或其他操作。在記憶體儲存裝置100中,同一個通道中的實體抹除單元可以屬於不同的晶片。在一範例實施例中,屬於不同晶片的實體抹除單元亦屬於不同的交錯(interleave)。記憶體控制電路單元104在程式化某一個晶片中的實體抹除單元以後,不需要等此晶片回覆準備好(ready)訊號,便可以繼續程式化下一個晶片中的實體抹除單元。在可複寫式非揮發性記憶體模組106中,同一個交錯中的實體抹除單元還可以屬於不同的平面(plane)。同一個交錯中屬於不同平面的實體抹除單元可以根據同一個寫入指令而同時被程式化。
在此範例實施例中,記憶體儲存裝置100中配置了一個通道與兩個晶片,而每一個晶片包括兩個平面,但本發明並不在此限。在另一範例實施例中,記憶體儲存裝置100也可以包括n個通道、m個交錯、以及k個平面。n、m與k為正整數,並且其中一個正整數會大於1(即,記憶體儲存裝置100包括多個操作單元)。然而,本發明並不限制正整數n、m與k的數值。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Call,MLC)NAND型快閃記憶體模組,
即一個記憶胞中可儲存至少2個位元。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖3,記憶體控制電路單元104包括記憶體管理電路202、主機介面204與記憶體介面206。
記憶體管理電路202用以控制記憶體控制電路單元104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路202的操作時,等同於說明記憶體控制電路單元104的操作,以下並不再贅述。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組
106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元104被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體抹除單元;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮
發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
在本發明一範例實施例中,記憶體控制電路單元104還包括緩衝記憶體252、電源管理電路254與錯誤檢查與校正電路256。
緩衝記憶體252是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路254是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路256是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路256會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤更正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤更正碼,並且錯誤檢查與校正電路256會依據此錯誤更正碼對所讀取的資料執行錯誤檢查與校正程序。
圖4是根據一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體抹除單元的運作時,以“提取”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖4,記憶體管理電路202可將可複寫式非揮發性記憶體模組的實體抹除單元304(0)~304(R)邏輯地劃分為多個區域,例如為資料區402、閒置區404與系統區406。
資料區402的實體抹除單元是用以儲存來自主機系統1000的資料。閒置區404包括了閒置的實體抹除單元,其是用以
作為資料區402的暫存區。舉例來說,若主機系統1000要更新資料區402中的資料,則此資料會先被寫入至閒置區404中的閒置實體抹除單元,之後這些資料會被搬移至資料區402中或與資料區402中的資料合併。或者,閒置區404的實體抹除單元也可用來替換資料區402與系統區406的實體抹除單元。也就是說,當資料區402與系統區406中的實體抹除單元損毀(即,成為壞實體抹除單元(bad physical erasing unit))時,閒置區404的實體抹除單元可用來替換此壞實體抹除單元。倘若閒置區404中無正常之實體抹除單元且有實體抹除單元損毀時,則記憶體控制電路單元104會將整個記憶體儲存裝置100宣告為寫入保護(write protect)狀態,而無法再寫入資料。在另一範例實施例中,記憶體管理電路202也可以將資料區402與閒置區404合併使用,本發明並不在此限。
系統區406的實體抹除單元是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
資料區402、閒置區404與系統區406的實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體抹除單元關聯至資料區402、閒置區404與系統區406的分組關係會動態地變動。例如,當資料區402中的實體抹除單元損壞而被閒置區404的實體抹除單元取代時,則原本閒置區404的實體抹除單元會被關聯至資料
區402。
記憶體管理電路202會配置邏輯位址410(0)~410(D)以映射至資料區402中的實體抹除單元304(0)~304(A)。主機系統1000是透過邏輯位址410(0)~410(D)來存取資料區402中的資料。在此範例實施例中,一個邏輯位址是映射至一個實體扇,多個邏輯位址會組成一個邏輯程式化單元,並且多個邏輯程式化單元會組成一個邏輯抹除單元。
在此範例實施例中,記憶體管理電路202是以邏輯程式化單元來管理可複寫式非揮發性記憶體模組106,因此記憶體管理電路202會建立一個映射表以記錄邏輯程式化單元與實體程式化單元之間的映射關係。在另一範例實施例中,記憶體管理電路202是以邏輯抹除單元來管理可複寫式非揮發性記憶體模組106,因此記憶體管理電路202會建立一個映射表以記錄邏輯抹除單元與實體抹除單元之間的映射關係。
圖5是根據一範例實施例繪示寫入資料的示意圖。
在此範例實施例中,記憶體管理電路202會配置多個超實體抹除單元,並且每一個超實體抹除單元包括至少兩個實體抹除單元。同一個超實體抹除單元中至少兩個實體抹除單元是屬於不同的操作單元,使得可以同時或交錯地被程式化。請參照圖5,在圖5的範例實施例中,超實體抹除單元510(亦稱第一超實體抹除單元)包括了實體抹除單元304(A+1)~304(A+4),超實體抹除單元520(亦稱第二超實體抹除單元)包括了實體抹除單元
304(A+5)~304(A+8)。實體抹除單元304(A+1)(亦稱第一實體抹除單元)與實體抹除單元304(A+5)(亦稱第三實體抹除單元)屬於第一晶片的第一平面;實體抹除單元304(A+2)(亦稱第二實體抹除單元)與實體抹除單元304(A+6)(亦稱第五實體抹除單元)屬於第一晶片的第二平面;實體抹除單元304(A+3)與實體抹除單元304(A+7)屬於第二晶片的第一平面;實體抹除單元304(A+4)與實體抹除單元304(A+8)屬於第二晶片的第二平面。在此,第一晶片或是第一平面亦被稱為第一操作單元,而第二晶片或是第二平面亦被稱為第二操作單元。然而,若記憶體儲存裝置100具有兩個以上的通道,則第一操作單元也可以是第一通道,並且第二操作單元也可以是第二通道,本發明並不在此限。
一個邏輯抹除單元是映射至一個超實體抹除單元,即一個邏輯抹除單元是映射至多個實體抹除單元。在一範例實施例中,上述正整數n、m與k的乘積代表一個超實體抹除單元中有幾個實體抹除單元,即代表一個邏輯抹除單元是映射至幾個實體抹除單元。在圖5的範例實施例中,正整數n為1、正整數m為2、並且正整數k為2。因此,一個邏輯抹除單元是映射至四個不同的實體抹除單元,並且一個邏輯程式化單元是映射至四個不同的實體抹除單元中的一個實體程式化單元,藉此可以增加寫入速度。舉例來說,邏輯抹除單元530是映射至超實體抹除單元510,並且邏輯抹除單元530包括了邏輯程式化單元532(0)~532(E)。若一個實體程式化單元的容量為4KB(kilobyte),則一個邏輯程式化單元
的容量是16KB。主機系統1000下達了一個寫入指令(亦稱第一寫入指令),其指示將第一資料550寫入至邏輯程式化單元532(0)。在此假設第一資料550的大小為16KB,記憶體管理電路202會將第一資料550分為四個部份(從第一部份到第四部份),並且每一個部份的大小都是4KB。其中第二部份所屬的邏輯位址(亦稱第二邏輯位址)是接續在第一部分所屬的邏輯位址(亦稱第一邏輯位址)之後,第三部份所屬的邏輯位址是接續在第二部分所屬的邏輯位址之後,並且第四部份所屬的邏輯位址是接續在第三部分所屬的邏輯位址之後。在接收到第一寫入指令以後,記憶體管理電路202會將第一資料550的第一部分寫入至實體抹除單元304(A+1),並且同時將第一資料550的第二部分寫入至實體抹除單元304(A+2)。記憶體管理電路202也同時將第一資料550的第三部份與第四部份分別寫入至實體抹除單元304(A+3)與實體抹除單元304(A+4)。
在此範例實施例中,若主機系統1000還下達了其他的寫入指令,記憶體管理電路202會將這些寫入指令所指示的資料寫入至實體抹除單元304(A+1)~304(A+4),直到實體抹除單元304(A+1)~304(A+4)中沒有閒置的實體程式化單元。接下來,若記憶體管理電路202再接收到一個寫入指令(亦稱第二寫入指令),其指示寫入第二資料560,記憶體管理電路202會將第二資料560寫入至超實體抹除單元520中。舉例來說,邏輯抹除單元540是映射至超實體抹除單元520,邏輯抹除單元540包括了邏輯程式化
單元542(0)~542(E)。第二資料560是要寫入至邏輯程式化單元542(E),並且第二資料560的大小為16KB。相同於將第一資料550分為四個部份,記憶體管理電路202也會將第二資料560分為四個部分,並且每一個部份的大小都為4KB。記憶體管理電路202會將第二資料560的第一部分寫入至實體抹除單元304(A+5),並同時將第二資料560的第二部分寫入至實體抹除單元304(A+6)。記憶體管理電路202也會同時將第二資料560的第三部份與第四部份分別寫入至實體抹除單元304(A+7)與實體抹除單元304(A+8)。
對於每一個晶片的每一個平面,記憶體管理電路202都會建立一個閒置表以記錄對應的平面中閒置的實體抹除單元。當實體抹除單元304(A+5)~304(A+8)中沒有閒置實體程式化單元時,記憶體管理電路202會根據這些閒置表從每一個晶片的每一個平面中提取一個閒置實體抹除單元(共4個實體抹除單元),藉此寫入資料。當閒置區404中閒置實體抹除單元的個數少於一個臨界值時,記憶體管理電路202會執行一個垃圾收集程序。
圖6A與圖6B是根據一範例實施例繪示垃圾收集程序的示意圖。
請參照圖6A,超實體抹除單元610包括了實體抹除單元304(0)~304(3),超實體抹除單元620包括了實體抹除單元304(4)~304(7)。實體抹除單元304(0)與304(4)都屬於第一晶片的第一平面。實體抹除單元304(1)與304(5)都屬於第一晶片的第二
平面。實體抹除單元304(2)與304(6)都屬於第二晶片的第一平面。實體抹除單元304(3)與304(7)都屬於第二晶片的第二平面。在圖6A中,每一個實體抹除單元中斜線的部份代表有效資料,而空白的部份代表無效資料,若斜面部份的面積越大,表示有效資料越多。
記憶體管理電路202會從每一個平面中選取一個實體抹除單元,並且搬移此實體抹除單元中的有效資料至另一個實體抹除單元。特別的是,所選取的實體抹除單元可以是屬於不同的超實體抹除單元。舉例來說,記憶體管理電路202會從第一晶片的第一平面中選取實體抹除單元304(A+5),從第一晶片的第二平面中選取實體抹除單元304(A+2),從第二晶片的第一平面中選取實體抹除單元304(2),並且從第二晶片的第二平面選取實體抹除單元304(7)。值得注意的是,這些被選取的實體抹除單元304(A+2)、304(A+5)、304(A)與304(7)都屬於不同的超實體抹除單元。請參照圖6B,記憶體管理電路202會將所選取的實體抹除單元中的有效資料搬移至至少一個實體抹除單元(亦稱第四實體抹除單元)。例如,記憶體管理電路202會將實體抹除單元304(A+5)、304(A+2)、304(2)與304(7)中的有效資料搬移至超實體抹除單元630中的實體抹除單元304(8)~304(11)。並且,記憶體管理電路202會抹除實體抹除單元304(A+5)、304(A+2)、304(2)與304(7)以成為閒置實體抹除單元。記憶體管理電路202也會在對應的閒置表中記錄這些被抹除的實體抹除單元。值得注意的是,一個平面中的有效資料可
以搬移至同一個平面的實體抹除單元,或是不同平面的實體抹除單元。也就是說,實體抹除單元304(A+5)中的有效資料可以搬移至實體抹除單元304(8)或實體抹除單元304(9)~304(11)、或是分散在實體抹除單元304(8)~304(11),本發明並不在此限。此外,在圖6A的範例實施例中,所選取的實體抹除單元是屬於不同的超實體抹除單元,但在另一範例實施例中所選取的實體抹除單元也可以屬於同一個超實體抹除單元,本發明並不在此限。
在一範例實施例中,實體抹除單元304(A+5)是在屬於第一晶片的第一平面且儲存了有效資料的實體抹除單元中,儲存最少有效資料的實體抹除單元。例如,相較於實體抹除單元304(A+1)、304(0)與304(4),實體抹除單元304(A+5)儲存較少的有效資料。此外,實體抹除單元304(A+2)是在屬於第一晶片的第二平面且儲存了有效資料的實體抹除單元中,儲存最少有效資料的實體抹除單元。類似地,實體抹除單元304(2)與304(7)也是在對應的平面中,儲存最少有效資料的實體抹除單元。藉此,在進行垃圾收集程序時記憶體管理電路202會搬移較少的有效資料。
圖7A與圖7B是根據一範例實施例繪示記憶體管理方法的流程圖。
請參照圖7A,在步驟S701中,配置多個超實體抹除單元,其中每一個超實體抹除單元包括至少兩個實體抹除單元。在步驟S702中,接收來自主機系統的第一寫入指令,其中第一寫入指令指示寫入第一資料。在步驟S703中,提取第一超實體抹除單
元,其中第一超實體抹除單元包括第一實體抹除單元與第二實體抹除單元,第一實體抹除單元屬於第一操作單元,並且第二實體抹除單元屬於第二操作單元。在步驟S704中,將第一資料的第一部份寫入至第一實體抹除單元,並將第一資料的第二部份寫入至第二實體抹除單元。
請參照圖7B,在步驟S705中,從第一操作單元中選取儲存最少有效資料的第三實體抹除單元。在步驟S706中,從第二操作單元中選取儲存最少有效資料的第二實體抹除單元。在步驟S707中,將第三實體抹除單元中的有效資料與第二實體抹除單元中的有效資料搬移至至少一個第四實體抹除單元。在步驟S708中,抹除第三實體抹除單元與第二實體抹除單元。
步驟S705~S708亦可被稱為垃圾收集程序。然而,圖7A與圖7B中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖7A與圖7B中各步驟可以實作為多個程式碼或是電路,本發明並不在此限。此外,圖7A與圖7B的方法可以搭配以上實施例使用,也可以單獨使用,本發明並不在此限。
圖8A是根據一範例實施例繪示超實體抹除單元的示意圖。
在此僅說明第二範例實施例與第一範例實施例不同之處。在第二範例實施例中,記憶體儲存裝置100包括了兩個通道、每一個通道是連接至一個晶片,並且每一個晶片中只有一個平
面。請參照圖8A,超實體抹除單元810包括實體抹除單元304(A+1)與304(A+2),其中實體抹除單元304(A+1)屬於第一通道,而實體抹除單元304(A+2)屬於第二通道。換言之,超實體抹除單元810中所有的實體抹除單元都屬於不同的操作單元(通道)。當主機系統1000下達一寫入指令以將第一資料550寫入邏輯程式化單元532(0),記憶體管理電路202會將第一資料550的第一部份寫入至實體抹除單元304(A+1),並且同時將第一資料550的第二部分寫入至實體抹除單元304(A+2)。當第一通道與第二通道中的閒置實體抹除單元的個數少於某一臨界值時,記憶體管理電路202會執行一垃圾收集程序。
圖8B是根據一範例實施例繪示垃圾收集的示意圖。
請參照圖8B,超實體抹除單元820包括實體抹除單元304(0)與實體抹除單元304(1)且超實體抹除單元810包括實體抹除單元304(A+1)與實體抹除單元304(A+2),其中實體抹除單元304(0)及實體抹除單元304(A+1)屬於第一通道,實體抹除單元304(1)及實體抹除單元304(A+2)屬於第二通道。記憶體管理電路202會從第一通道中挑選儲存最少有效資料的實體抹除單元,並從第二通道中挑選儲存最少有效資料的實體抹除單元來進行垃圾收集程序。例如,記憶體管理電路202挑選了實體抹除單元304(A+1)與實體抹除單元304(1)。記憶體管理電路202會將所挑選的實體抹除單元中的有效資料搬移至其他的實體抹除單元中,並且抹除所挑選的實體抹除單元。
在此僅說明第三範例實施例與第二範例實施例不同之處。在第三範例實施例中,記憶體儲存裝置100包括一個通道,此通道連接至兩個晶片,並且每一個晶片包括一個平面。同樣以圖8A為例,但其中實體抹除單元304(A+1)屬於第一晶片,實體抹除單元304(A+2)屬於第二晶片,並且第一晶片與第二晶片屬於相同的通道。在接收到第一資料550以後,記憶體管理電路202會將第一資料550的第一部分寫入至實體抹除單元304(A+1),並且尚未等到第一晶片回覆準備好訊號之前,記憶體管理電路202就會將第一資料550的第二部分寫入至實體抹除單元304(A+2)。
請參照圖8B,在第三範例實施例中實體抹除單元304(0)屬於第一晶片,而實體抹除單元304(1)屬於第二晶片。記憶體管理電路202會在第一晶片與第二晶片分別選取儲存最少有效資料的實體抹除單元,將其中的有效資料搬移至其他的實體抹除單元,並且抹除所選取的實體抹除單元。然而,執行垃圾收集程序的步驟已詳細說明如上,在此並不再贅述。
在此僅說明第四範例實施例與第二範例實施例不同之處。在第四範例實施例中,記憶體儲存裝置100包括一個通道,此通道連接至一個晶片,並且此晶片包括兩個平面。同樣以圖8A為例,但其中實體抹除單元304(A+1)屬於第一平面,實體抹除單元304(A+2)屬於第二平面,並且第一平面與第二平面屬於相同的
晶片。在接收到第一資料550以後,記憶體管理電路202會傳送第一資料550的第一部分與第二部分至可複寫式非揮發性記憶體模組106內的緩衝區。記憶體管理電路202會傳送一寫入訊號給可複寫式非揮發性記憶體模組106,使得可複寫式非揮發性記憶體模組106會將第一資料550的第一部分寫入至實體抹除單元304(A+1)並且同時將第二部分寫入至實體抹除單元304(A+2)。
請參照圖8B,在第四範例實施例中,實體抹除單元304(0)屬於第一平面,而實體抹除單元304(1)屬於第二平面。記憶體管理電路202會在第一平面與第二平面分別選取儲存最少有效資料的實體抹除單元,將其中的有效資料搬移至其他的實體抹除單元,並且抹除所選取的實體抹除單元。然而,執行垃圾收集程序的步驟已詳細說明如上,在此並不再贅述。
綜上所述,本發明範例實施例所提出的記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置,可以從每一個操作單元中選取儲存最少有效資料的實體抹除單元來執行垃圾收集程序,藉此可以搬移較少的有效資料。如此一來,可以減少垃圾收集程序所需的時間,或者是減少寫入放大(write amplification)。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
304(A+1)~304(A+8)、304(0)~304(7)‧‧‧實體抹除單元
510、520、610、620‧‧‧超實體抹除單元
Claims (21)
- 一種記憶體管理方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,每一該些實體抹除單元屬於多個操作單元的其中之一,該記憶體管理方法包括:配置多個超實體抹除單元,其中每一該些超實體抹除單元包括該些實體抹除單元的至少其中之二,該些超實體抹除單元包括一第一超實體抹除單元,該第一超實體抹除單元包括該些實體抹除單元中的一第一實體抹除單元與一第二實體抹除單元,該第一實體抹除單元屬於該些操作單元中的一第一操作單元,該第二實體抹除單元屬於該些操作單元中的一第二操作單元,該第一實體抹除單元儲存有一第一資料的一第一部分,並且該第二實體抹除單元儲存有該第一資料的一第二部份;從該第一操作單元中儲存了有效資料的該些實體抹除單元中,選取儲存最少有效資料的一第三實體抹除單元;從該第二操作單元中選取該第二實體抹除單元;將該第三實體抹除單元中的有效資料與該第二實體抹除單元中的有效資料搬移至該些實體抹除單元中的至少一第四實體抹除單元;以及抹除該第三實體抹除單元與該第二實體抹除單元。
- 如申請專利範圍第1項所述的記憶體管理方法,其中該第三實體抹除單元是屬於該些超實體抹除單元中的一第二超實體抹 除單元,並且該第二超實體抹除單元不同於該第一超實體抹除單元。
- 如申請專利範圍第1項所述的記憶體管理方法,其中該些超實體抹除單元中的各該實體抹除單元分別是屬於不同的該些操作單元。
- 如申請專利範圍第1項所述的記憶體管理方法,其中每一該些操作單元為一通道、一晶片或是一平面。
- 如申請專利範圍第1項所述的記憶體管理方法,更包括:配置多個邏輯位址,其中該第一資料的該第一部分屬於該些邏輯位址中的至少一第一邏輯位址,該第一資料的該第二部分屬於該些邏輯位址中的至少一第二邏輯位址,並且該至少一第二邏輯位址是接續在該至少一第一邏輯位址之後。
- 如申請專利範圍第5項所述的記憶體管理方法,其中該些邏輯位址組成多個邏輯程式化單元,該些邏輯程式化單元組成多個邏輯抹除單元,並且該第一超實體抹除單元是映射至該些邏輯抹除單元的至少其中之一。
- 如申請專利範圍第1項所述的記憶體管理方法,其中該第二實體抹除單元是在該第二操作單元中儲存了有效資料的該些實體抹除單元中,儲存最少有效資料的實體抹除單元。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元, 其中每一該些實體抹除單元屬於多個操作單元的其中之一;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,用以配置多個超實體抹除單元,其中每一該些超實體抹除單元包括該些實體抹除單元的至少其中之二,其中,該些超實體抹除單元包括一第一超實體抹除單元,該第一超實體抹除單元包括該些實體抹除單元中的一第一實體抹除單元與一第二實體抹除單元,該第一實體抹除單元屬於該些操作單元中的一第一操作單元,並且該第二實體抹除單元屬於該些操作單元中的一第二操作單元,該第一實體抹除單元儲存一第一資料的一第一部份,並且該第二實體抹除單元儲存該第一資料的一第二部份,其中,該記憶體控制電路單元用以從該第一操作單元中儲存了有效資料的該些實體抹除單元中,選取儲存最少有效資料的一第三實體抹除單元,並從該第二操作單元中選取該第二實體抹除單元,其中,該記憶體控制電路單元用以將該第三實體抹除單元中的有效資料與該第二實體抹除單元中的有效資料搬移至該些實體抹除單元中的至少一第四實體抹除單元,並且抹除該第三實體抹除單元與該第二實體抹除單元。
- 如申請專利範圍第8項所述的記憶體儲存裝置,其中該第三實體抹除單元是屬於該些超實體抹除單元中的一第二超實體抹除單元,並且該第二超實體抹除單元不同於該第一超實體抹除單 元。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該些超實體抹除單元中的各該實體抹除單元分別是屬於不同的該些操作單元。
- 如申請專利範圍第8項所述的記憶體儲存裝置,其中每一該些操作單元為一通道、一晶片或是一平面。
- 如申請專利範圍第8項所述的記憶體儲存裝置,其中,該記憶體控制電路單元更用以配置多個邏輯位址,其中該第一資料的該第一部分屬於該些邏輯位址中的至少一第一邏輯位址,該第一資料的該第二部分屬於該些邏輯位址中的至少一第二邏輯位址,並且該至少一第二邏輯位址是接續在該至少一第一邏輯位址之後。
- 如申請專利範圍第12項所述的記憶體儲存裝置,其中該些邏輯位址組成多個邏輯程式化單元,該些邏輯程式化單元組成多個邏輯抹除單元,並且該第一超實體抹除單元是映射至該些邏輯抹除單元的至少其中之一。
- 如申請專利範圍第8項所述的記憶體儲存裝置,其中該第二實體抹除單元是在該第二操作單元中儲存了有效資料的該些實體抹除單元中,儲存最少有效資料的實體抹除單元。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,每一該些實體抹除單元屬於多個操作單元的其中之 一,並且該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,用以配置多個超實體抹除單元,其中每一該些超實體抹除單元包括該些實體抹除單元的至少其中之二,該些超實體抹除單元包括一第一超實體抹除單元,該第一超實體抹除單元包括該些實體抹除單元中的一第一實體抹除單元與一第二實體抹除單元,該第一實體抹除單元屬於該些操作單元中的一第一操作單元,該第二實體抹除單元屬於該些操作單元中的一第二操作單元,該第一實體抹除單元儲存一第一資料的一第一部份,並且該第二實體抹除單元儲存該第一資料的一第二部份,其中,該記憶體管理電路用以從該第一操作單元中儲存了有效資料的該些實體抹除單元中,選取儲存最少有效資料的一第三實體抹除單元,並且從該第二操作單元中選取該第二實體抹除單元,其中,該記憶體管理電路用以將該第三實體抹除單元中的有效資料與該第二實體抹除單元中的有效資料搬移至該些實體抹除單元中的至少一第四實體抹除單元,並且抹除該第三實體抹除單元與該第二實體抹除單元。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其 中該第三實體抹除單元是屬於該些超實體抹除單元中的一第二超實體抹除單元,並且該第二超實體抹除單元不同於該第一超實體抹除單元。
- 如申請專利範圍第16項所述的記憶體控制電路單元,其中該些超實體抹除單元中的各該實體抹除單元分別是屬於不同的該些操作單元。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其中每一該些操作單元為一通道、一晶片或是一平面。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其中,該記憶體管理電路更用以配置多個邏輯位址,其中該第一資料的該第一部分屬於該些邏輯位址中的至少一第一邏輯位址,該第一資料的該第二部分屬於該些邏輯位址中的至少一第二邏輯位址,並且該至少一第二邏輯位址是接續在該至少一第一邏輯位址之後。
- 如申請專利範圍第19項所述的記憶體控制電路單元,其中該些邏輯位址組成多個邏輯程式化單元,該些邏輯程式化單元組成多個邏輯抹除單元,並且該第一超實體抹除單元是映射至該些邏輯抹除單元的至少其中之一。
- 如申請專利範圍第15項所述的記憶體控制電路單元,其中該第二實體抹除單元是在該第二操作單元中儲存了有效資料的該些實體抹除單元中,儲存最少有效資料的實體抹除單元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102145210A TWI525625B (zh) | 2013-12-09 | 2013-12-09 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US14/160,578 US20150161042A1 (en) | 2013-12-09 | 2014-01-22 | Memory management method, memory controlling circuit unit, and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102145210A TWI525625B (zh) | 2013-12-09 | 2013-12-09 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201523616A true TW201523616A (zh) | 2015-06-16 |
TWI525625B TWI525625B (zh) | 2016-03-11 |
Family
ID=53271297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102145210A TWI525625B (zh) | 2013-12-09 | 2013-12-09 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150161042A1 (zh) |
TW (1) | TWI525625B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI554884B (zh) * | 2015-07-21 | 2016-10-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI664531B (zh) * | 2018-01-25 | 2019-07-01 | 矽創電子股份有限公司 | 快閃記憶體之控制器及控制方法 |
US10339046B1 (en) | 2018-03-09 | 2019-07-02 | Shenzhen Epostar Electronics Limited Co. | Data moving method and storage controller |
TWI696073B (zh) * | 2019-04-02 | 2020-06-11 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN111813325A (zh) * | 2019-04-12 | 2020-10-23 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
KR102653139B1 (ko) | 2016-10-28 | 2024-04-02 | 삼성전자주식회사 | 복수의 입출력 유닛들을 포함하는 불휘발성 메모리 장치 및 그것의 동작 방법 |
TWI646554B (zh) * | 2017-03-28 | 2019-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
-
2013
- 2013-12-09 TW TW102145210A patent/TWI525625B/zh active
-
2014
- 2014-01-22 US US14/160,578 patent/US20150161042A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI554884B (zh) * | 2015-07-21 | 2016-10-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI664531B (zh) * | 2018-01-25 | 2019-07-01 | 矽創電子股份有限公司 | 快閃記憶體之控制器及控制方法 |
US10339046B1 (en) | 2018-03-09 | 2019-07-02 | Shenzhen Epostar Electronics Limited Co. | Data moving method and storage controller |
TWI679537B (zh) * | 2018-03-09 | 2019-12-11 | 深圳大心電子科技有限公司 | 資料移動方法及儲存控制器 |
TWI696073B (zh) * | 2019-04-02 | 2020-06-11 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN111813325A (zh) * | 2019-04-12 | 2020-10-23 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN111813325B (zh) * | 2019-04-12 | 2023-06-27 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
TWI525625B (zh) | 2016-03-11 |
US20150161042A1 (en) | 2015-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI506430B (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
TWI525625B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI501243B (zh) | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 | |
CN109491588B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI476590B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI454913B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI582776B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI554885B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI656531B (zh) | 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
TWI514141B (zh) | 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置 | |
CN110837339A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI553477B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI559141B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI596477B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW201337553A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |