TW201344432A - 記憶體管理方法、記憶體控制器與記憶體儲存裝置 - Google Patents
記憶體管理方法、記憶體控制器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201344432A TW201344432A TW101113618A TW101113618A TW201344432A TW 201344432 A TW201344432 A TW 201344432A TW 101113618 A TW101113618 A TW 101113618A TW 101113618 A TW101113618 A TW 101113618A TW 201344432 A TW201344432 A TW 201344432A
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- area
- memory
- cluster
- invalid
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/7202—Allocation control and policies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種記憶體管理方法,用於一種具有多個實體單元集合的可複寫式非揮發性記憶體模組。這些實體單元集合會至少被劃分出資料區與第二區。多個邏輯單元集合位址會由檔案系統來管理且被配置及映射至資料區的實體單元集合。此方法包括:當程式化第二區的第三實體單元集合時若發生程式化錯誤,則執行一個程序。此程序包括:從資料區取得映射至第二邏輯單元集合位址的第二實體單元集合;以及將第二邏輯單元集合位址映射至第三實體單元集合。藉此,本方法會延長可複寫式非揮發性記憶體模組的使用壽命。
Description
本發明是有關於一種記憶體管理方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的記憶體管理方法、記憶體控制器與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組會包括多個實體區塊,其中部份的實體區塊會提供給一個主機系統來存取。當提供給主機系統的實體區塊損壞時,會從一個取代區中提取實體區塊來替換損壞的實體區塊。當取代區中不存在可用的實體區塊時,便表示可複寫式非揮發性記憶體模組的使用壽命已經結束。然而,此時可複寫式非揮發性記憶體模組中可能還包括一些閒置的實體區塊可利用,若結束可複寫式非揮發性記憶體模組的使用壽命會造成記憶體空間的浪費。因此,如何在取代區已不存在可用實體區塊的情況下延長可複寫式非揮發性記憶體模組的使用壽命,為此領域所關心的議題。
本發明的範例實施例提供一種記憶體管理方法,記憶體儲存裝置與記憶體控制器,可以增加可複寫式非揮發性記憶體模組的使用壽命。
本發明一範例實施例中,提出一種記憶體管理方法,用於一可複寫式非揮發性記憶體模組。此可複寫式非揮發性記憶體模組包括多個實體單元集合,其中這些實體單元集合會被至少劃分出一個資料區與一個第二區。多個邏輯單元集合位址會被配置且映射至這些資料區的實體單元集合,而這些邏輯單元集合位址是由一個檔案系統來管理。此記憶體管理方法包括:接收一個寫入指令,此寫入指令是指示將一資料寫入至上述邏輯單元集合位址中的第一邏輯單元集合位址,其中第一邏輯單元集合位址映射至資料區的第一實體單元集合;將資料程式化至第二區的第三實體單元集合;判斷資料程式化至第三實體單元集合時是否發生一程式化錯誤;以及若發生程式化錯誤,執行一個第一程序。上述的第一程序包括:從資料區取得第二實體單元集合,此第二實體單元集合是映射至上述邏輯單元集合位址中的第二邏輯單元集合位址;以及將第二邏輯單元集合位址映射至第三實體單元集合。
在一範例實施例中,上述的第一程序還包括:根據上述的寫入指令將資料寫入至第二實體單元集合;將第一邏輯單元集合位址重新映射至第二實體單元集合;以及將第一實體單元集合關聯至第二區,並將第二實體單元集合關聯至資料區。
在一範例實施例中,上述的第一程序還包括:將第一實體單元集合中的有效資料複製到第二實體單元集合。
在一範例實施例中,當上述的邏輯單元集合位址被配置時,第二區的實體單元集合並不會映射(non-mappable)至上述的邏輯單元集合位址,而資料區的每一個實體單元集合則會被映射至上述邏輯單元集合位址的其中之一。
在一範例實施例中,上述的第一程序更包括:在檔案系統中建立一個無效檔案,並設定此無效檔案是透過第二邏輯單元集合位址來存取;以及設定上述的無效檔案為不可存取。
在一範例實施例中,上述的檔案系統包括檔案配置表區、根目錄區以及檔案區。檔案配置表區具有多個叢集項(cluster entry)欄位,每一個叢集項欄位記錄有一叢集項。根目錄區具有多個目錄項(directory entry)欄位。檔案區具有多個叢集,而每一個叢集是對應至叢集項欄位的其中之一。上述從資料區取得第二實體單元集合的步驟還包括:從上述多個叢集項欄位中,取得閒置的多個第二叢集項欄位,其中第二叢集項欄位所對應的多個叢集是屬於上述的第二邏輯單元集合位址;將第二叢集項欄位分配給上述的無效檔案,並根據無效檔案修改第二叢集項欄位所紀錄的叢集項;以及,產生無效檔案的檔案描述區塊,其中無效檔案的檔案描述區塊紀錄有無效檔案所儲存在的一起始叢集。
在一範例實施例中,上述在檔案系統中建立無效檔案的步驟還包括:將無效檔案的檔案描述區塊紀錄在目錄項欄位的其中之一。
在一範例實施例中,上述在檔案系統中建立無效檔案的步驟還包括:建立一無效檔案目錄,並將無效檔案目錄儲存在檔案區的叢集中;建立無效檔案目錄的檔案描述區塊,並將無效檔案目錄的檔案描述區塊記錄在目錄項欄位的其中之一;以及,將無效檔案的檔案描述區塊紀錄在無效檔案目錄當中。
在一範例實施例中,上述從叢集項欄位中,取得閒置的第二叢集項欄位的步驟還包括:當上述的叢集項欄位中不存在閒置的第二叢集項欄位時,對可複寫式非揮發性記憶體模組執行一鎖卡程序。此鎖卡程序是用以禁止對可複寫式非揮發性記憶體模組執行一寫入操作。
在一範例實施例中,上述的第一程序更包括:判斷第二區是否還存在可寫入的第四實體單元集合。
以另外一個角度來說,本發明一範例實施例提出一種記憶體儲存裝置,包括連接器、可複寫式非揮發性記憶體模組以及記憶體控制器。其中,連接器是用以耦接至一主機系統。可複寫式非揮發性記憶體模組包括多個實體單元集合,這些實體單元集合至少會被劃分出一個資料區與一個第二區。多個邏輯單元集合位址會被配置且映射至資料區的實體單元集合,這些邏輯單元集合位址是由一個檔案系統來管理。記憶體控制器是耦接至連接器與可複寫式非揮發性記憶體模組。其中,記憶體控制器會從主機系統接收一個寫入指令。此寫入指令是指示將一個資料寫入至邏輯單元集合位址中的第一邏輯單元集合位址。而此第一邏輯單元集合位址是映射至資料區的第一實體單元集合。記憶體控制器也會將上述的資料程式化至第二區的第三實體單元集合。記憶體控制器會判斷資料程式化至第三實體單元集合時是否發生程式化錯誤。若發生程式化錯誤,記憶體控制器會從資料區取得第二實體單元集合,此第二實體單元集合是映射至邏輯單元集合位址的第二邏輯單元集合位址。記憶體控制器還會將第二邏輯單元集合位址映射至第三實體單元集合。
在一範例實施例中,上述的記憶體控制器更用以根據上述的寫入指令將資料寫入至第二實體單元集合。記憶體控制器還會將第一邏輯單元集合位址重新映射至第二實體單元集合,將第一實體單元集合關聯至第二區,並將第二實體單元集合關聯至資料區。
在一範例實施例中,上述的記憶體控制器更用以將第一實體單元集合的一有效資料複製到第二實體單元集合。
在一範例實施例中,當上述的邏輯單元集合位址被配置時,第二區的實體單元集合並不會映射(non-mappable)至上述的邏輯單元集合位址,而資料區的每一個實體單元集合則會被映射至上述邏輯單元集合位址的其中之一。
在一範例實施例中,上述的記憶體控制器還會在檔案系統中建立一個無效檔案,設定此無效檔案是透過第二邏輯單元集合位址來存取,並設定無效檔案為不可存取。
在一範例實施例中,上述的檔案系統包括檔案配置表區、根目錄區以及檔案區。檔案配置表區具有多個叢集項(cluster entry)欄位,每一個叢集項欄位記錄有一叢集項。根目錄區具有多個目錄項(directory entry)欄位。檔案區則具有多個叢集,且每一個叢集是對應至上述叢集項欄位的其中之一。其中,記憶體控制器會從叢集項欄位中取得閒置的多個第二叢集項欄位,其中第二叢集項欄位所對應的多個叢集是屬於第二邏輯單元集合位址。記憶體控制器也會將第二叢集項欄位分配給無效檔案,並根據無效檔案修改第二叢集項欄位所紀錄的叢集項。記憶體控制器還會產生無效檔案的檔案描述區塊,此無效檔案的檔案描述區塊紀錄有無效檔案所儲存在的一起始叢集。
在一範例實施例中,上述的記憶體控制器會將無效檔案的檔案描述區塊紀錄在目錄項欄位的其中之一。
在一範例實施例中,上述的記憶體控制器會建立一無效檔案目錄,並將無效檔案目錄儲存在檔案區的叢集中。記憶體控制器也會建立無效檔案目錄的檔案描述區塊,並將無效檔案目錄的檔案描述區塊記錄在上述目錄項欄位的其中之一。記憶體控制器還會將無效檔案的檔案描述區塊紀錄在此無效檔案目錄當中。
在一範例實施例中,當叢集項欄位中不存在閒置的第二叢集項欄位時,上述的記憶體控制器會對可複寫式非揮發性記憶體模組執行一鎖卡程序。此鎖卡程序是用以禁止對可複寫式非揮發性記憶體模組執行寫入操作。
在一範例實施例中,上述的記憶體控制器更用以判斷第二區是否還存在可寫入的第四實體單元集合。
以另外一個角度來說,本發明一範例實施例提出一種記憶體控制器,包括主機介面、記憶體介面以及記憶體管理電路。其中,主機介面是用以耦接至一主機系統。記憶體介面是用以耦接至一個具有多個實體單元集合的可複寫式非揮發性記憶體模組,這些實體單元集合至少會被劃分出一個資料區與一個第二區。其中多個邏輯單元集合位址會被配置且映射至資料區的實體單元集合,這些邏輯單元集合位址是由一個檔案系統來管理。記憶體管理電路是耦接至主機介面與記憶體介面。其中,記憶體管理電路會從主機系統接收一個寫入指令。此寫入指令是指示將一個資料寫入至邏輯單元集合位址中的第一邏輯單元集合位址。而此第一邏輯單元集合位址是映射至資料區的第一實體單元集合。記憶體管理電路也會將資料程式化至第二區的第三實體單元集合。記憶體管理電路會判斷將資料程式化至第三實體單元集合時是否發生程式化錯誤。若發生程式化錯誤,記憶體管理電路會從資料區取得第二實體單元集合,此第二實體單元集合是映射至邏輯單元集合位址的第二邏輯單元集合位址。記憶體管理電路還會將第二邏輯單元集合位址映射至第三實體單元集合。
在一範例實施例中,上述的記憶體管理電路更用以根據上述的寫入指令將資料寫入至第二實體單元集合。記憶體管理電路還會將第一邏輯單元集合位址重新映射至第二實體單元集合,將第一實體單元集合關聯至第二區,並將第二實體單元集合關聯至資料區。
在一範例實施例中,上述的記憶體管理電路更用以將第一實體單元集合的一有效資料複製到第二實體單元集合。
在一範例實施例中,當上述的邏輯單元集合位址被配置時,第二區的實體單元集合並不會映射(non-mappable)至上述的邏輯單元集合位址,而資料區的每一個實體單元集合則會被映射至上述邏輯單元集合位址的其中之一。
在一範例實施例中,上述的記憶體管理電路還會在檔案系統中建立一個無效檔案,設定此無效檔案是透過第二邏輯單元集合位址來存取,並設定無效檔案為不可存取。
在一範例實施例中,上述的檔案系統包括檔案配置表區、根目錄區以及檔案區。檔案配置表區具有多個叢集項(cluster entry)欄位,每一個叢集項欄位記錄有一叢集項。根目錄區具有多個目錄項(directory entry)欄位。檔案區則具有多個叢集,且每一個叢集是對應至上述叢集項欄位的其中之一。其中,記憶體管理電路會從叢集項欄位中取得閒置的多個第二叢集項欄位,其中第二叢集項欄位所對應的多個叢集是屬於第二邏輯單元集合位址。記憶體管理電路也會將第二叢集項欄位分配給無效檔案,並根據無效檔案修改第二叢集項欄位所紀錄的叢集項。記憶體管理電路還會產生無效檔案的檔案描述區塊,此無效檔案的檔案描述區塊紀錄有無效檔案所儲存在的一起始叢集。
在一範例實施例中,上述的記憶體管理電路會將無效檔案的檔案描述區塊紀錄在目錄項欄位的其中之一。
在一範例實施例中,上述的記憶體管理電路會建立一無效檔案目錄,並將無效檔案目錄儲存在檔案區的叢集中。記憶體管理電路也會建立無效檔案目錄的檔案描述區塊,並將無效檔案目錄的檔案描述區塊記錄在上述目錄項欄位的其中之一。記憶體管理電路還會將無效檔案的檔案描述區塊紀錄在此無效檔案目錄當中。
在一範例實施例中,當上述的叢集項欄位中不存在閒置的第二叢集項欄位時,上述的記憶體管理電路會對可複寫式非揮發性記憶體模組執行一個鎖卡程序。此鎖卡程序是用以禁止對可複寫式非揮發性記憶體模組執行寫入操作。
在一範例實施例中,上述的記憶體管理電路更用以判斷第二區是否還存在可寫入的第四實體單元集合。
基於上述,本發明範例實施例所提出的記憶體管理方法,記憶體儲存裝置與記憶體控制器,可以用資料區的實體單元集合來取代發生程式化錯誤的實體單元集合,藉此增加可複寫式非揮發性記憶體模組的使用壽命。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。微處理器1102會執行被載入至隨機存取記憶體1104中的作業系統1105與應用程式1107,以使主機系統1000根據使用者之操作而提供對應的功能。輸入/輸出裝置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)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體區塊304(0)~304(R)。例如,實體區塊304(0)~304(R)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體區塊分別具有複數個實體頁面,並且每一實體頁面具有至少一實體扇區,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區塊是由128個實體頁面所組成,並且每一實體頁面具有8個實體扇區(sector)。也就是說,在每一實體扇區為512位元組(byte)的例子中,每一實體頁面的容量為4千位元組(Kilobyte,KB)。然而,必須瞭解的是,本發明不限於此,每一實體區塊是可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。
更詳細來說,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。然而,必須瞭解的是,在本發明另一範例實施例中,寫入資料的最小單位亦可以是實體扇區或其他大小。每一實體頁面通常包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,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的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制器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標準、MS標準、MMC標準、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 Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路256會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖4與圖5是根據一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體區塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區塊是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體區塊的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體區塊進行操作。
請參照圖4,記憶體控制器104可將可複寫式非揮發性記憶體模組的實體區塊304(0)~304(R)邏輯地分組為多個區域,例如為資料區402、閒置區404、系統區406與取代區408。在本範例實施例中,閒置區404與取代區408亦被統稱為第二區,也就是說第二區包括了閒置區404與取代區408。在另一範例實施例中,取代區408亦可與閒置區404共用包含無效資料之實體區塊。
資料區402與閒置區404的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,資料區402是已儲存資料的實體區塊,而閒置區404的實體區塊是用以替換資料區402的實體區塊。因此,閒置區404的實體區塊為空或可使用的實體區塊,即無記錄資料或標記為已沒用的無效資料。也就是說,在閒置區404中的實體區塊已被執行抹除運作,或者當閒置區404中的實體區塊被提取用於儲存資料之前所提取之實體區塊會先被執行抹除運作。因此,閒置區404的實體區塊為可被使用的實體區塊。
邏輯上屬於系統區406的實體區塊是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體區塊數、每一實體區塊的實體頁面數等。
邏輯上屬於取代區408中的實體區塊是替代實體區塊。例如,可複寫式非揮發性記憶體模組於出廠時會預留4%的實體區塊作為更換使用。也就是說,當資料區402、閒置區404與系統區406中的實體區塊損毀時,預留於取代區408中的實體區塊是用以取代損壞的實體區塊(即,壞實體區塊(bad block))。因此,倘若取代區408中仍存有正常之實體區塊且發生實體區塊損毀時,記憶體控制器104會從取代區408中提取正常的實體區塊來更換損毀的實體區塊。倘若取代區408中無正常之實體區塊且發生實體區塊損毀時,則記憶體控制器104會將整個記憶體儲存裝置100宣告為寫入保護(write protect)狀態,而無法再寫入資料。
特別是,資料區402、閒置區404、系統區406與取代區408之實體區塊的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體區塊關聯至資料區402、閒置區404、系統區406與取代區408的分組關係會動態地變動。例如,當閒置區中的實體區塊損壞而被取代區的實體區塊取代時,則原本取代區的實體區塊會被關聯至閒置區。
請參照圖5,如上所述,資料區402與閒置區404的實體區塊是以輪替方式來儲存主機系統1000所寫入之資料。在本範例實施例中,記憶體控制器104會配置邏輯區塊位址LBA(0)~LBA(D)以利於在以上述輪替方式在儲存資料之實體區塊中進行資料存取。例如,當記憶體儲存裝置100被作業系統1105格式化時,邏輯區塊位址LBA(0)~LBA(D)分別地映射至資料區402的實體區塊304(0)~304(D)。在此,記憶體管理電路202會建立邏輯區塊位址-實體區塊映射表(logical block address-physical block mapping table),以記錄邏輯區塊位址與實體區塊之間的映射關係。而每個邏輯區塊位址LBA(0)~LBA(D)還可包括多個邏輯位址,以供主機系統1000來存取。例如,一個邏輯區塊位址包含了1百萬位元組(megabyte,MB)的記憶體空間,而每個邏輯位址則包含4千位元組(kilobyte,KB)的記憶體空間,因此一個邏輯區塊位址可以包括250個邏輯位址。然而,本發明並不限制邏輯區塊位址與邏輯位址所包含的記憶體空間的大小。
值得注意的是,在本範例實施例中,實體區塊亦被稱為實體單元集合,實體頁面組亦被稱為實體單元組,實體頁面亦被稱為實體單元。邏輯區塊亦被稱為邏輯單元集合,邏輯頁面組亦被稱為邏輯單元組,邏輯頁面亦被稱為邏輯單元。然而,在其他範例實施例中,實體單元可以為其他具有可複寫與非揮發特性的一或多個電子元件,例如實體扇,本發明並不在此限,而邏輯單元亦為相應實體單元之配置。
另一方面,當記憶體管理電路202在程式化一個實體區塊時,若發生程式化錯誤或是判斷此實體區塊已損壞時,會使用第二區(例如,取代區408)的實體區塊來替換此發生異常(即,發生程式化錯誤或是已損壞)的實體區塊。特別的是,若第二區中已經沒有可用的實體區塊,記憶體管理電路202會從資料區402取得一個閒置的實體區塊來替換發生異常的實體區塊。由於資料區402的實體區塊是映射至提供給主機系統1000的邏輯區塊位址,因此在一範例實施例中,記憶體管理電路202會在一個檔案系統中建立一個無效檔案,並將此無效檔案對應至發生異常的實體區塊所映射的邏輯區塊位址。例如,記憶體管理電路202會將此無效檔案設定為不可存取,如此一來,主機系統1000便不能存取這個發生異常的實體區塊。藉此,即使第二區已沒有可替換的實體區塊,可複寫式非揮發性記憶體模組106還是可以正常運作下去,因此可以延長可複寫式非揮發性記憶體模組106的使用壽命。在另一範例實施例當中,記憶體管理電路202也可以不建立無效檔案,直接將發生異常的實體區塊所映射的邏輯區塊位址設定為不可存取,本發明並不限制是否要建立無效檔案。
圖6是根據一範例實施例說明檔案系統的範例示意圖。
請參照圖6,當主機系統1000的作業系統1105將記憶體儲存裝置100格式化以後,邏輯區塊位址LBA(0)~LBA(D)是由一個檔案系統(例如,檔案配置表(File Allocation Table,FAT)、高效能檔案系統(High Performance File System,HPFS)、或新技術檔案系統(New Technology File Ststem,NTFS))來管理。例如,在FAT檔案系統中,邏輯區塊位址LBA(0)~LBA(D)會被劃分出一個分割區(partition)600,其中分割區600包括主引導磁區620、檔案配置表區640、根目錄區660與檔案區680。
屬於主引導磁區620的邏輯位址是用以儲存記憶體儲存裝置100的可儲存空間的系統資訊。
屬於檔案配置表區640的邏輯位址是用以儲存檔案配置表。檔案配置表是用以紀錄儲存檔案之邏輯位址所對應的叢集。例如,檔案配置表區中會儲存兩個檔案配置表,其中一個檔案配置表為正常存取所使用,而另一個檔案配置表為備份檔案配置表。
屬於根目錄區660的邏輯位址是用以儲存檔案描述區塊(File Description Block,FDB),其用以記錄目前儲存於記憶體儲存裝置100中之檔案與目錄的屬性資訊。特別是,檔案描述區塊會記錄用以儲存此些檔案的起始儲存位址(即,起始叢集)。
屬於檔案區680的邏輯位址是用以實際地儲存檔案的內容。
具體來說,磁碟儲存最小單位為扇區,每一個扇區包含了512位元組(byte)的資訊內容。然而,使用扇區當單位來儲存時,主機系統1000的效率會很差。一般來說,主機系統1000的作業系統1105不會以一個扇區當作存取檔案的單位,而是以叢集為一基本檔案單位。每一個叢集是架構在扇區的2次方倍數上。假定連續的8個扇區構成一個叢集,則此叢集的大小就為4096位元組。基此,在作業系統1105在存取資料時會以8個扇區連續讀取而提升了相對效率。但,叢集並非越大越好。因為當叢集越大時相對的可能會浪費許多儲存空間。例如,在一個叢集為4 KB的情況下,當主機系統1000所儲存的檔案內容只有1KB時,此檔案還是佔用掉一個叢集的空間,剩餘之3KB的儲存空間就浪費掉了。特別是,叢集的總數目會受限於可複寫式非揮發性記憶體模組的容量與檔案配置表型態而有所不同。以FAT16來說,根據定義其本身最大的叢集數目必須介於4048個~65526個之間,所以當格式化一張128MB的記憶卡,其每一個叢集至少必須要包含4個扇區,不然會超出65526個叢集(cluster)的限制(127,901,696/512/4=62,452clusters)。所以每一叢集的大小為2KB。類似地,在FAT32中,最大的叢集數目必須介於65526個~4177918個之間。值得一提的是,在FAT16中,根目錄區660的大小是固定的。而在FAT32中,根目錄區660會被放在檔案區680來一起管理。
例如,在本範例實施例中,分割區(partition)600是符合FAT32規範的分割區。因此,屬於根目錄區660與檔案區680的扇區會被分組為叢集(cluster)682(0)~682(E)。在此假設叢集682(0)是被配置為根目錄區660的起始叢集。
圖7是根據一範例實施例說明檔案配置表區、根目錄區與檔案區的範例示意圖。
請參照圖7,檔案配置表區640至少包括了檔案配置表740,並且檔案配置表740具有叢集項欄位720(1)~720(F)。在此,叢集項欄位720(0)與叢集項欄位720(1)會被保留並填入預設值。此外,從叢集項欄位720(2)開始的每一個叢集項欄位都會對應至叢集682(0)~682(E)的其中之一。例如,叢集項欄位720(2)是對應至叢集682(0),叢集項欄位720(3)是對應至叢集682(1),以此類推。對應叢集之叢集項欄位分別地會被填入一個叢集項,以表示叢集的鏈結關係。
在此,叢集項欄位的叢集項是以特殊字元來表示所對應之叢集的狀態。例如,在FAT32中,當叢集項欄位被填入“0000000h”時,則表示此叢集為閒置叢集(即,未儲存資料)。例如,對應至叢集項欄位720(3)的叢集682(1)為閒置叢集,因此叢集項欄位702(3)裡的叢集項便是“0000000h”。此外,當叢集項欄位被填入“FFFFFF8h”-“FFFFFFFh”時,則表示此叢集為所儲存檔案的最後一個叢集。在此,“FFFFFF8h”-“FFFFFFFh”亦稱為檔案結束標記(End Of Clusterchain Mark,EOC Mark),例如,叢集項欄位720(2)所記錄的便是檔案結束標記。再者,當一個叢集項欄位被填入一個叢集的邏輯位址時,則表示此叢集是接續此叢集項欄位所對應之叢集來儲存資料。例如,叢集項欄位720(4)中記錄的叢集項為叢集682(3),表示叢集682(3)是接續在對應叢集項欄位720(4)的叢集682(2)之後繼續來儲存所對應之檔案。因此,根據叢集項欄位720(4)與720(5)中的資訊,作業系統1110便能得知某一檔案702是依序地被儲存在叢集682(2)與682(3)之中。
根目錄區660包括目錄項欄位662(0)~662(G),並且每一個目錄項欄位可用來儲存一個檔案描述區塊(file description block,FDB)。而一個檔案描述區塊是用來紀錄一個檔案的檔名、副檔名與起始叢集等資訊。例如,目錄項欄位662(0)儲存了屬於檔案702的檔案描述區塊704。檔案描述區塊704紀錄了檔案702的檔名與副檔名分別為”app”與”.exe”,並且紀錄了檔案702的起始叢集為叢集682(2)。如此一來,根據對檔案配置表區640與根目錄區660中的資訊,作業系統1110可獲知在記憶體儲存裝置100中儲存有一個檔案”app.exe”,此檔案的起始叢集是叢集682(2),並且此檔案是依序地被儲存在叢集682(2)與叢集682(3)中。
此外,在此範例實施例中,根目錄區660是儲存在叢集682(0)當中。但值得一提的是,在FAT 32中,由於根目錄區660是與檔案區680一起管理。因此,屬於根目錄區660的叢集是可被動態地擴充以記錄更多檔案描述區塊,而使得記憶體儲存裝置100可儲存之檔案數量不受限制。例如,若根目錄區660是紀錄在叢集682(0)與叢集682(1)當中時,則叢集項欄位720(2)的叢集項會是”682(1)”,而叢集項欄位720(3)的叢集項會是”FFFFFFFh”。本發明並不限制根目錄區660所儲存在的叢集的個數。
在本範例實施例中,一個邏輯區塊位址會包括兩個叢集。例如,叢集682(0)與682(1)是屬於同一個邏輯區塊位址,而叢集682(2)與682(3)是屬於另一個邏輯區塊位址。而主機系統1000會根據圖7所示的檔案系統來下達存取邏輯區塊位址的指令給記憶體管理電路202。例如,當主機系統1000會先讀取根目錄區660與檔案配置表740,以得知檔案702是儲存在叢集682(2)與叢集682(3)中。當主機系統1000要寫入資料至檔案702時,會取得叢集682(2)與682(3)所屬的邏輯區塊位址(在此稱為第一邏輯區塊位址)。接著,主機系統1000會下達將一資料寫入至第一邏輯區塊位址的寫入指令給記憶體管理電路202。然而,在其他範例實施例中,一個邏輯區塊位址也可以包括更多或更少的叢集,本發明並不在此限。
圖8是根據一範例實施例說明建立無效檔案的範例示意圖。
請參照圖8,檔案702是邏輯上地被儲存在叢集682(2)與682(3)當中,而叢集682(2)與682(3)是屬於邏輯區塊位址LBA(1)(亦稱為第一邏輯區塊位址),邏輯區塊位址LBA(1)是映射至實體區塊304(1)(亦稱第一實體區塊)。也就是說,檔案702是實體上地被儲存在實體區塊304(1)當中,主機系統1000可以透過存取邏輯區塊位址LBA(1)來存取檔案702。
當主機系統1000要根據資料706來更新檔案702時,記憶體管理電路202會從主機系統1000接收到指示將資料706寫入至邏輯區塊位址LBA(1)的寫入指令。但由於一個實體區塊必須要在抹除後才能程式化新的資料,因此記憶體管理電路202會將資料706程式化至第二區(例如,閒置區404)中的實體區塊304(N)(亦稱第三實體區塊)。並且,在根據所接收的寫入指令將資料706寫入至實體區塊304(N)時,記憶體管理電路202會判斷是否發生一程式化錯誤。如果沒有發生程式化錯誤,記憶體管理電路202還會將實體區塊304(1)中的有效資料複製到實體區塊304(N),將邏輯區塊位址LBA(1)重新映射至實體區塊304(N),並將實體區塊304(1)關聯至閒置區404。在另一範例實施例中,資料706是屬於一個新檔案,實體區塊304(1)並沒有此新檔案的有效資料。因此,在另一範例實施例中,記憶體管理電路僅會將將邏輯區塊位址LBA(1)重新映射至實體區塊304(N),並將實體區塊304(1)關聯至閒置區404。
相反的,如果在將資料706程式化至實體區塊304(N)時發生程式化錯誤,則記憶體管理電路202會從第二區(例如,取代區408)中取得一個可寫入的實體區塊(亦稱第四實體區塊)來替換實體區塊304(N)。特別的是,如果第二區中不存在可寫入的實體區塊,記憶體管理電路202會從資料區402中找到一個閒置的實體區塊來替換實體區塊304(N)。具體來說,記憶體管理電路202會先從叢集項欄位720(0)~720(F)中找到閒置的叢集項欄位(亦統稱為第二叢集項欄位)。例如,記憶體管理電路202會找到叢集項為”0000000h”的叢集項欄位720(F-1)與720(F),其中叢集項欄位720(F-1)與720(F)是分別對應至叢集682(E-1)與682(E),而叢集682(E-1)與682(E)是屬於邏輯區塊位址LBA(D)(亦稱第二邏輯區塊位址),並且,邏輯區塊位址LBA(D)是映射至實體區塊304(D)(亦稱第二實體區塊位址)。換言之,記憶體管理電路202會從資料區402中找到沒有儲存任何檔案的實體區塊304(D)。
在本範例實施例中,實體區塊304(D)是用以替換發生程式化錯誤的實體區塊304(N)。特別的是,在一範例實施例中,記憶體管理電路202會建立一個無效檔案,設定此無效檔案是透過邏輯區塊位址LBA(D)來存取。此外,記憶體管理電路202會將邏輯區塊位址LBA(D)映射至實體區塊304(N)。也就是說,記憶體管理電路202所產生的無效檔案會被間接的映射至實體區塊304(N)。例如,記憶體管理電路202會將此無效檔案設定為不可存取,使得主機系統1000不能存取實體區塊304(N)。然而,在其他範例實施例中,此無效檔案也可以被設定為可存取,本發明並不在此限。
圖9是根據一範例實施例說明將無效檔案的檔案描述區塊記錄在目錄項欄位的範例示意圖。
舉例來說,請參照圖9,記憶體管理電路202會建立無效檔案902,設定此無效檔案902是邏輯地被儲存在叢集682(E-1)與682(E)。也就是說,記憶體管理電路202是將閒置的叢集項欄位720(F-1)與720(F)分配給無效檔案902。並且,記憶體管理電路202會將叢集項欄位720(F-1)的叢集項設定為”682(E)”,並將叢集項欄位720(F)的叢集項設定為”FFFFFFFh”,用以表示無效檔案902是被儲存在叢集682(E-1)與682(E)。換言之,透過上述設定,無效檔案902是經由邏輯區塊位址LBA(D)來存取。此外,記憶體管理電路202還會產生無效檔案902的檔案描述區塊904,並將檔案描述區塊904紀錄在目錄項欄位662(1)當中。記憶體管理電路202會設定檔案描述區塊904包括了無效檔案902的檔名(例如,”bad”)與副檔名(例如,”.dat”)以及無效檔案902的起始叢集682(E-1)。特別的是,記憶體管理電路202會將用以存取無效檔案902的邏輯區塊位址LBA(D)重新映射至實體區塊304(N)。在一範例實施例中,記憶體管理電路202還會將無效檔案902設定為不可存取。例如,記憶體管理電路202會設定邏輯區塊位址LBA(D)為不可存取。如此一來,當主機系統1000要存取邏輯區塊位址LBA(D)時,記憶體管理電路202會傳送一存取錯誤訊息給主機系統1000。藉此,主機系統1000便不能存取發生程式化錯誤的實體區塊304(N)。值得一提的是,此時主機系統1000並不會得知實體區塊304(N)發生程式化錯誤,主機系統只會發現記憶體儲存裝置100的檔案系統中多一個無效檔案902。
接下來,記憶體管理電路202會完成資料706的寫入操作。具體來說,記憶體管理電路202會取得原本映射至邏輯區塊位址LBA(D)的實體區塊304(D),並將實體區塊304(1)中的有效資料複製到實體區塊304(D)。接下來,記憶體管理電路202會將資料706寫入至實體區塊304(D),並將邏輯區塊位址LBA(1)重新映射至實體區塊304(D)。如此一來,主機系統1000會認為資料706已成功地寫入至邏輯區塊位址LBA(1)所映射的實體區塊當中。
在此範例實施例中,在記憶體管理電路202從叢集項欄位720(0)~720(F)中尋找閒置的叢集項欄位的過程中,記憶體管理電路202會取得連續、閒置、且記憶體空間符合一個邏輯區塊位址的多個叢集項欄位。例如,叢集項欄位720(F-1)與720(F)便是連續、閒置、且記憶體空間符合邏輯區塊位址LBA(D)的叢集項欄位。也就是說,記憶體管理電路202會找到並用連續的叢集682(E-1)與682(E)來邏輯地儲存無效檔案。然而,在另一範例實施例當中,記憶體管理電路202也可以取得不連續但閒置的多個叢集項欄位,並且,記憶體管理電路202會透過資料整併與資料搬移的方式取得一個閒置的邏輯區塊位址以儲存無效檔案。本發明並不限制所取得的叢集項欄位及叢集為連續或不連續。
此外,在記憶體管理電路202尋找閒置的叢集項欄位時,若找不到閒置且記憶體空間符合一個邏輯區塊位址的多個叢集項欄位時,表示資料區402中已經沒有未被使用的實體區塊。此亦表示可複寫式非揮發性記憶體模組106已經沒有閒置的實體區塊可替換發生程式化錯誤的實體區塊,因此,記憶體管理電路202會對可複寫式非揮發性記憶體模組106執行一個鎖卡程序。而此鎖卡程序是用以禁止對可複寫式非揮發性記憶體模組106執行寫入操作。
此外,在本範例實施例中,無效檔案902的檔案描述區塊904是被紀錄在目錄項欄位662(0)~662(G)的其中之一。然而,在另一範例實施例中,記憶體管理電路202也可以建立一個無效檔案目錄,用來紀錄所有無效檔案的檔案描述區塊。
圖10是根據另一範例實施例說明建立無效檔案目錄的範例示意圖。
請參照圖10,在圖10所示的範例實施例當中,記憶體管理電路202會在叢集682(4)與682(5)建立從無效檔案目錄906,並相對應的修改叢集項欄位720(6)與720(7)。並且,記憶體管理電路202會建立無效檔案目錄906的檔案描述區塊908,並將檔案描述區塊908紀錄在目錄項欄位662(1)當中。特別的是,當記憶體管理電路202建立無效檔案902的檔案描述區塊以後,會將無效檔案902的檔案描述區塊紀錄在無效檔案目錄906當中。也就是說,無效檔案目錄906中紀錄所有無效檔案的檔案描述區塊,如此一來,便不會產生每一個無效檔案的檔案描述區塊都佔據一個目錄項欄位的情形。在本範例實施例中無效檔案目錄906是佔據兩個叢集,然而,在其他範例實施例中無效檔案目錄906也可以占據數目更多或更少的叢集,本發明並不在此限。
圖11是根據一範例實施例說明記憶體管理方法的流程圖。
請參照圖11,在步驟S1102中,記憶體管理電路202會接收一個寫入指令,此寫入指令是指示將一資料寫入至一個邏輯區塊位址(亦稱第一邏輯區塊位址),而第一邏輯區塊位址是映射至第一實體區塊。在步驟S1104中,記憶體管理電路202會根據寫入指令,將資料程式化至第二區的第三實體區塊。在步驟S1106中,記憶體管理電路202會判斷將資料程式化至第三實體區塊時是否發生一程式化錯誤。
若沒有發生程式化錯誤,在步驟S1108中,記憶體管理電路202會將第一實體區塊的有效資料複製到第三實體區塊。在步驟S1110中,記憶體管理電路202會將第一邏輯區塊位址映射至第三實體區塊。在步驟S1112中,記憶體管理電路202會將第一實體區塊關聯至第二區(例如,閒置區404),並將第三實體區塊關聯至資料區402。
若發生程式化錯誤,在步驟S1114中,記憶體管理電路202會判斷第二區(例如,取代區408)是否還存在可寫入的第四實體區塊。若存在第四實體區塊,在步驟S1116中,記憶體管理電路202會使用第四實體區塊來替換第三實體區塊。
若不存在第四實體區塊,在步驟S1118中,記憶體管理電路202會從資料區402取得第二實體區塊,此第二實體區塊是映射至第二邏輯區塊位址。在步驟S1122中,記憶體管理電路202會將第二邏輯區塊位址映射至第三實體區塊。
在步驟S1124中,記憶體管理電路202會對第二實體區塊執行寫入指令。例如,記憶體管理電路202會將第一實體區塊的有效指令複製到第二實體區塊,根據寫入指令將資料寫入至第二實體區塊。記憶體管理電路202還會將第一邏輯區塊位址重新映射至第二實體區塊,將第一實體區塊關聯至第二區,並將第二實體區塊關聯至資料區402。其中,步驟S1114、S1116、S1118、S1122與步驟S1124亦稱為第一程序。然而,圖11中各步驟已詳細說明如上,在此便不再贅述。
綜上所述,本發明範例實施例所提出的記憶體管理方法,記憶體控制器與記憶體管理電路,可以在實體區塊發生程式化錯誤且第二區(例如,取代區)已經沒有可用的實體區塊時,使用資料區中的實體區塊來取代發生程式化錯誤的實體區塊。如此一來,可以延長可複寫式非揮發性記憶體模組的使用壽命。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1105...作業系統
1106...輸入/輸出裝置
1107...應用程式
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(R)...實體區塊
202...記憶體管理電路
204...主機介面
206...記憶體介面
252...緩衝記憶體
254...電源管理電路
256...錯誤檢查與校正電路
402...資料區
404...閒置區
406...系統區
408...取代區
LBA(0)~LBA(D)...邏輯區塊位址
600...分割區
620...主引導磁區
640...檔案配置表區
660...根目錄區
680...檔案區
682(0)~682(E)...叢集
662(0)~662(G)...目錄項欄位
702...檔案
704、904、908...檔案描述區塊
706...資料
720(0)~720(F)...叢集項欄位
740...檔案配置表
902...無效檔案
906...無效檔案目錄
S1102、S1104、S1106、S1108、S1110、S1112、S1114、S1116、S1118、S1122、S1124...記憶體管理方法的步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖4與圖5是根據一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
圖6是根據一範例實施例說明檔案系統的範例示意圖。
圖7是根據一範例實施例說明檔案配置表區、根目錄區與檔案區的範例示意圖。
圖8是根據一範例實施例說明建立無效檔案的範例示意圖。
圖9是根據一範例實施例說明將無效檔案的檔案描述區塊記錄在目錄項欄位的範例示意圖。
圖10是根據另一範例實施例說明建立無效檔案目錄的範例示意圖。
圖11是根據一範例實施例說明記憶體管理方法的流程圖。
S1102、S1104、S1106、S1108、S1110、S1112、S1114、S1116、S1118、S1122、S1124...記憶體管理方法的步驟
Claims (30)
- 一種記憶體管理方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體單元集合,其中該些實體單元集合至少被劃分出一資料區與一第二區,多個邏輯單元集合位址會被配置且映射至該資料區的該些實體單元集合,該些邏輯單元集合位址是由一檔案系統來管理,該記憶體管理方法包括:接收一寫入指令,該寫入指令指示將一資料寫入至該些邏輯單元集合位址中的一第一邏輯單元集合位址,其中該第一邏輯單元集合位址映射至該資料區的一第一實體單元集合;將該資料程式化至該第二區的一第三實體單元集合;判斷該資料程式化至該第三實體單元集合時是否發生一程式化錯誤;以及若發生該程式化錯誤,執行一第一程序,其中該第一程序包括:從該資料區取得一第二實體單元集合,其中該第二實體單元集合是映射至該些邏輯單元集合位址的一第二邏輯單元集合位址;以及將該第二邏輯單元集合位址映射至該第三實體單元集合。
- 如申請專利範圍第1項所述之記憶體管理方法,其中該第一程序還包括:根據該寫入指令將該資料寫入至該第二實體單元集合;將該第一邏輯單元集合位址重新映射至該第二實體單元集合;以及將該第一實體單元集合關聯至該第二區,並將該第二實體單元集合關聯至該資料區。
- 如申請專利範圍第1項所述之記憶體管理方法,其中該第一程序還包括:將該第一實體單元集合的一有效資料複製到該第二實體單元集合。
- 如申請專利範圍第1項所述之記憶體管理方法,其中當該些邏輯單元集合位址被配置時,該第二區的該些實體單元集合並不會映射(non-mappable)至該些邏輯單元集合位址,而該資料區的各該些實體單元集合會被映射至該些邏輯單元集合位址的其中之一。
- 如申請專利範圍第1項所述之記憶體管理方法,其中該第一程序更包括:在該檔案系統中建立一無效檔案,並設定該無效檔案是透過該第二邏輯單元集合位址來存取;以及設定該無效檔案為不可存取。
- 如申請專利範圍第5項所述之記憶體管理方法,其中該檔案系統包括一檔案配置表區、一根目錄區以及一檔案區,該檔案配置表區具有多個叢集項(cluster entry)欄位,每一該些叢集項欄位記錄有一叢集項,該根目錄區具有多個目錄項(directory entry)欄位,並且該檔案區具有多個叢集,每一該些叢集是對應至該些叢集項欄位的其中之一,其中從該資料區取得該第二實體單元集合的步驟還包括:從該些叢集項欄位中,取得閒置的多個第二叢集項欄位,其中該些第二叢集項欄位所對應的多個叢集是屬於該第二邏輯單元集合位址;將該些第二叢集項欄位分配給該無效檔案,並根據該無效檔案修改該些第二叢集項欄位所紀錄的該些叢集項;以及產生該無效檔案的一檔案描述區塊,其中該無效檔案的該檔案描述區塊紀錄有該無效檔案所儲存在的一起始叢集。
- 如申請專利範圍第6項所述之記憶體管理方法,其中在該檔案系統中建立該無效檔案的步驟還包括:將該無效檔案的該檔案描述區塊紀錄在該些目錄項欄位的其中之一。
- 如申請專利範圍第6項所述之記憶體管理方法,其中在該檔案系統中建立該無效檔案的步驟還包括:建立一無效檔案目錄,並將該無效檔案目錄儲存在該檔案區的該些叢集中;建立該無效檔案目錄的一檔案描述區塊,並將該無效檔案目錄的該檔案描述區塊記錄在該些目錄項欄位的其中之一;以及將該無效檔案的該檔案描述區塊紀錄在該無效檔案目錄當中。
- 如申請專利範圍第6項所述之記憶體管理方法,其中從該些叢集項欄位中,取得閒置的該些第二叢集項欄位的步驟還包括:當該些叢集項欄位中不存在閒置的該些第二叢集項欄位時,對該可複寫式非揮發性記憶體模組執行一鎖卡程序,其中該鎖卡程序是用以禁止對該可複寫式非揮發性記憶體模組執行一寫入操作。
- 如申請專利範圍第1項所述之記憶體管理方法,其中該第一程序更包括:判斷該第二區是否還存在可寫入的一第四實體單元集合。
- 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體單元集合,其中該些實體單元集合至少被劃分出一資料區與一第二區,多個邏輯單元集合位址會被配置且映射至該資料區的該些實體單元集合,該些邏輯單元集合位址是由一檔案系統來管理;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,其中,該記憶體控制器從該主機系統接收一寫入指令,該寫入指令指示將一資料寫入至該些邏輯單元集合位址中的一第一邏輯單元集合位址,其中該第一邏輯單元集合位址映射至該資料區的一第一實體單元集合,其中,該記憶體控制器將該資料程式化至該第二區的一第三實體單元集合,其中,該記憶體控制器判斷該資料程式化至該第三實體單元集合時是否發生一程式化錯誤,其中,若發生該程式化錯誤,該記憶體控制器從該資料區取得一第二實體單元集合,其中該第二實體單元集合是映射至該些邏輯單元集合位址的一第二邏輯單元集合位址,該記憶體控制器還會將該第二邏輯單元集合位址映射至該第三實體單元集合。
- 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制器更用以根據該寫入指令將該資料寫入至該第二實體單元集合,將該第一邏輯單元集合位址重新映射至該第二實體單元集合,將該第一實體單元集合關聯至該第二區,並將該第二實體單元集合關聯至該資料區。
- 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制器更用以將該第一實體單元集合的一有效資料複製到該第二實體單元集合,
- 如申請專利範圍第11項所述之記憶體儲存裝置,其中當該些邏輯單元集合位址被配置時,該第二區的該些實體單元集合並不會映射(non-mappable)至該些邏輯單元集合位址,而該資料區的各該些實體單元集合會被映射至該些邏輯單元集合位址的其中之一。
- 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制器更用以在該檔案系統中建立一無效檔案,設定該無效檔案是透過該第二邏輯單元集合位址來存取,並設定該無效檔案為不可存取。
- 如申請專利範圍第15項所述之記憶體儲存裝置,其中該檔案系統包括一檔案配置表區、一根目錄區以及一檔案區,該檔案配置表區具有多個叢集項(cluster entry)欄位,每一該些叢集項欄位記錄有一叢集項,該根目錄區具有多個目錄項(directory entry)欄位,並且該檔案區具有多個叢集,每一該些叢集是對應至該些叢集項欄位的其中之一,該記憶體控制器從該些叢集項欄位中,取得閒置的多個第二叢集項欄位,其中該些第二叢集項欄位所對應的多個叢集是屬於該第二邏輯單元集合位址,其中,該記憶體控制器將該些第二叢集項欄位分配給該無效檔案,並根據該無效檔案修改該些第二叢集項欄位所紀錄的該些叢集項,該記憶體控制器產生該無效檔案的一檔案描述區塊,其中該無效檔案的該檔案描述區塊紀錄有該無效檔案所儲存在的一起始叢集。
- 如申請專利範圍第16項所述之記憶體儲存裝置,其中,該記憶體控制器將該無效檔案的該檔案描述區塊紀錄在該些目錄項欄位的其中之一。
- 如申請專利範圍第16項所述之記憶體儲存裝置,其中,該記憶體控制器建立一無效檔案目錄,並將該無效檔案目錄儲存在該檔案區的該些叢集中,其中,該記憶體控制器建立該無效檔案目錄的一檔案描述區塊,並將該無效檔案目錄的該檔案描述區塊記錄在該些目錄項欄位的其中之一,其中,該記憶體控制器將該無效檔案的該檔案描述區塊紀錄在該無效檔案目錄當中。
- 如申請專利範圍第16項所述之記憶體儲存裝置,其中當該些叢集項欄位中不存在閒置的該些第二叢集項欄位時,該記憶體控制器對該可複寫式非揮發性記憶體模組執行一鎖卡程序,其中該鎖卡程序是用以禁止對該可複寫式非揮發性記憶體模組執行一寫入操作。
- 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制器更用以判斷該第二區是否還存在可寫入的一第四實體單元集合。
- 一種記憶體控制器,包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體單元集合,其中該些實體單元集合至少被劃分出一資料區與一第二區,多個邏輯單元集合位址會被配置且映射至該資料區的該些實體單元集合,該些邏輯單元集合位址是由一檔案系統來管理;以及一記憶體管理電路,耦接至該主機介面與該可複寫式非揮發性記憶體模組,其中,該記憶體管理電路從該主機系統接收一寫入指令,該寫入指令指示將一資料寫入至該些邏輯單元集合位址中的一第一邏輯單元集合位址,其中該第一邏輯單元集合位址映射至該資料區的一第一實體單元集合,其中,該記憶體管理電路將該資料程式化至該第二區的一第三實體單元集合,其中,該記憶體管理電路判斷該資料程式化至該第三實體單元集合時是否發生一程式化錯誤,其中,若發生該程式化錯誤,該記憶體管理電路從該資料區取得一第二實體單元集合,其中該第二實體單元集合是映射至該些邏輯單元集合位址的一第二邏輯單元集合位址,該記憶體管理電路還會將該第二邏輯單元集合位址映射至該第三實體單元集合。
- 如申請專利範圍第21項所述之記憶控制器,其中該記憶體管理電路更用以根據該寫入指令將該資料寫入至該第二實體單元集合,將該第一邏輯單元集合位址重新映射至該第二實體單元集合,將該第一實體單元集合關聯至該第二區,並將該第二實體單元集合關聯至該資料區。
- 如申請專利範圍第21項所述之記憶體控制器,其中該記憶體管理電路更用以將該第一實體單元集合的一有效資料複製到該第二實體單元集合,
- 如申請專利範圍第21項所述之記憶體控制器,其中當該些邏輯單元集合位址被配置時,該第二區的該些實體單元集合並不會映射(non-mappable)至該些邏輯單元集合位址,而該資料區的各該些實體單元集合會被映射至該些邏輯單元集合位址的其中之一。
- 如申請專利範圍第21項所述之記憶體控制器,其中該記憶體管理電路更用以在該檔案系統中建立一無效檔案,設定該無效檔案是透過該第二邏輯單元集合位址來存取,並設定該無效檔案為不可存取。
- 如申請專利範圍第25項所述之記憶體控制器,其中該檔案系統包括一檔案配置表區、一根目錄區以及一檔案區,該檔案配置表區具有多個叢集項(cluster entry)欄位,每一該些叢集項欄位記錄有一叢集項,該根目錄區具有多個目錄項(directory entry)欄位,並且該檔案區具有多個叢集,每一該些叢集是對應至該些叢集項欄位的其中之一,該記憶體管理電路從該些叢集項欄位中,取得閒置的多個第二叢集項欄位,其中該些第二叢集項欄位所對應的多個叢集是屬於該第二邏輯單元集合位址,其中,該記憶體管理電路將該些第二叢集項欄位分配給該無效檔案,並根據該無效檔案修改該些第二叢集項欄位所紀錄的該些叢集項,該記憶體管理電路產生該無效檔案的一檔案描述區塊,其中該無效檔案的該檔案描述區塊紀錄有該無效檔案所儲存在的一起始叢集。
- 如申請專利範圍第26項所述之記憶體控制器,其中,該記憶體管理電路將該無效檔案的該檔案描述區塊紀錄在該些目錄項欄位的其中之一。
- 如申請專利範圍第26項所述之記憶體控制器,其中,該記憶體管理電路建立一無效檔案目錄,並將該無效檔案目錄儲存在該檔案區的該些叢集中,其中,該記憶體管理電路建立該無效檔案目錄的一檔案描述區塊,並將該無效檔案目錄的該檔案描述區塊記錄在該些目錄項欄位的其中之一,其中,該記憶體管理電路將該無效檔案的該檔案描述區塊紀錄在該無效檔案目錄當中。
- 如申請專利範圍第26項所述之記憶體控制器,其中當該些叢集項欄位中不存在閒置的該些第二叢集項欄位時,該記憶體管理電路對該可複寫式非揮發性記憶體模組執行一鎖卡程序,其中該鎖卡程序是用以禁止對該可複寫式非揮發性記憶體模組執行一寫入操作。
- 如申請專利範圍第21項所述之記憶體控制器,其中該記憶體管理電路更用以判斷該第二區是否還存在可寫入的一第四實體單元集合。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101113618A TWI463313B (zh) | 2012-04-17 | 2012-04-17 | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 |
US13/549,523 US20130275655A1 (en) | 2012-04-17 | 2012-07-16 | Memory management method and memory controller and memory storage device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101113618A TWI463313B (zh) | 2012-04-17 | 2012-04-17 | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201344432A true TW201344432A (zh) | 2013-11-01 |
TWI463313B TWI463313B (zh) | 2014-12-01 |
Family
ID=49326128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101113618A TWI463313B (zh) | 2012-04-17 | 2012-04-17 | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130275655A1 (zh) |
TW (1) | TWI463313B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI661302B (zh) * | 2018-06-25 | 2019-06-01 | 慧榮科技股份有限公司 | 實體儲存對照表產生裝置及方法以及電腦程式產品 |
TWI669610B (zh) * | 2018-06-13 | 2019-08-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TWI705329B (zh) * | 2018-06-25 | 2020-09-21 | 慧榮科技股份有限公司 | 實體儲存對照表產生裝置及方法以及電腦程式產品 |
TWI747191B (zh) * | 2020-03-09 | 2021-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477421B1 (en) * | 2013-06-27 | 2016-10-25 | EMC IP Holding Company LLC | System and method for storage management using root and data slices |
KR102282952B1 (ko) * | 2014-12-15 | 2021-07-30 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 |
KR102435890B1 (ko) | 2017-08-17 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법 |
TWI661299B (zh) * | 2018-04-30 | 2019-06-01 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
CN110471612B (zh) * | 2018-05-09 | 2022-09-16 | 深圳大心电子科技有限公司 | 存储器管理方法以及存储控制器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI381390B (zh) * | 2008-04-10 | 2013-01-01 | Phison Electronics Corp | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
US8327066B2 (en) * | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US8095831B2 (en) * | 2008-11-18 | 2012-01-10 | Freescale Semiconductor, Inc. | Programmable error actions for a cache in a data processing system |
US20100235605A1 (en) * | 2009-02-13 | 2010-09-16 | Nir Perry | Enhancement of storage life expectancy by bad block management |
US8634240B2 (en) * | 2009-10-28 | 2014-01-21 | SanDisk Technologies, Inc. | Non-volatile memory and method with accelerated post-write read to manage errors |
US8423866B2 (en) * | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
-
2012
- 2012-04-17 TW TW101113618A patent/TWI463313B/zh active
- 2012-07-16 US US13/549,523 patent/US20130275655A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI669610B (zh) * | 2018-06-13 | 2019-08-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US10817215B2 (en) | 2018-06-13 | 2020-10-27 | Silicon Motion, Inc. | Data storage system and control method for non-volatile memory |
TWI661302B (zh) * | 2018-06-25 | 2019-06-01 | 慧榮科技股份有限公司 | 實體儲存對照表產生裝置及方法以及電腦程式產品 |
TWI705329B (zh) * | 2018-06-25 | 2020-09-21 | 慧榮科技股份有限公司 | 實體儲存對照表產生裝置及方法以及電腦程式產品 |
TWI747191B (zh) * | 2020-03-09 | 2021-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11662940B2 (en) | 2020-03-09 | 2023-05-30 | Silicon Motion, Inc. | Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short |
Also Published As
Publication number | Publication date |
---|---|
US20130275655A1 (en) | 2013-10-17 |
TWI463313B (zh) | 2014-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI463313B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI425355B (zh) | 資料存取方法、記憶體控制器與儲存系統 | |
TWI526830B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8332576B2 (en) | Data reading method for flash memory and controller and storage system using the same | |
TWI638263B (zh) | 資料備份方法、資料恢復方法以及儲存控制器 | |
TWI480733B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI537728B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI420305B (zh) | 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法 | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI476590B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103377143B (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
TW201719415A (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
TWI489272B (zh) | 保護資料的方法、記憶體控制器與記憶體儲存裝置 | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
TW202016937A (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI651650B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
CN111737165B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TW201413450A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller | |
TW201643722A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI553654B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 |