TW201401050A - 資料寫入方法、記憶體控制器與記憶體儲存裝置 - Google Patents
資料寫入方法、記憶體控制器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201401050A TW201401050A TW101122833A TW101122833A TW201401050A TW 201401050 A TW201401050 A TW 201401050A TW 101122833 A TW101122833 A TW 101122833A TW 101122833 A TW101122833 A TW 101122833A TW 201401050 A TW201401050 A TW 201401050A
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- physical erasing
- physical
- stylized
- units
- 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/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
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)
Abstract
一種資料寫入方法,用於控制具有多個實體抹除單元的可複寫式非揮發性記憶體模組。此方法包括:接收一個指示將資料寫入到第一邏輯位址的寫入指令,其中第一邏輯位址是映射至第二實體抹除單元:判斷第二實體抹除單元是否為連續寫入狀態,此連續寫入狀態表示第二實體抹除單元中超過預設比例的實體程式化單元在預設時間內曾經被連續地程式化;若是,將資料以第一程式化模式寫入至一個第三實體抹除單元,其中第一程式化模式表示上實體程式化單元為不可程式化。藉此,可以增加資料寫入的速度。
Description
本發明是有關於一種用於可複寫式非揮發性記憶體模組的資料寫入方法與使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組會與一個主機系統搭配使用。主機系統可以下達存取邏輯位址的指令給可複寫式非揮發性記憶體模組來讀取或寫入資料。然而,主機系統可能從邏輯位址中劃分出一個特定的區域,此區域可被用以備份或傾印(dump)資料。當主機系統存取此區域時,可能會下達多個寫入指令來存取多個連續的邏輯位址。如果所要備份或傾印的資料量很大,則寫入的速度明顯的影響主機系統的效能。因此,如何快速地寫入有連續邏輯位址的資料到可複寫式非揮發性記憶體模組,是此領域研究人員所關心的議題。
本發明的範例實施例提出一種資料寫入方法,記憶體控制器與記憶體儲存裝置,可以增加寫入資料的速度。
本發明在一範例實施例中提出一種資料寫入方法,用於控制可複寫式非揮發性記憶體模組。可複寫式非揮發性記憶體模組包括多個實體抹除單元,每一個實體抹除單元包括多個實體程式化單元組,每一個實體程式化單元組包括多個實體程式化單元。每一個實體程式化單元組的實體程式化單元包括一個下實體程式化單元與一個上實體程式化單元。多個邏輯位址是映射至實體抹除單元中的多個第一實體抹除單元。此資料寫入方法包括:接收一個第一寫入指令,此第一寫入指令指示將一個資料寫入至邏輯位址的至少一個第一邏輯位址,其中第一邏輯位址是映射至第一實體抹除單元中的第二實體抹除單元。此方法還包括:判斷第二實體抹除單元是否為連續寫入狀態,連續寫入狀態表示第二實體抹除單元中超過預設比例的實體程式化單元在預設時間內曾經被連續地程式化;以及若第二實體抹除單元是連續寫入狀態,將資料以第一程式化模式寫入至第三實體抹除單元,其中第一程式化模式表示上實體程式化單元為不可程式化。
在一範例實施例中,上述在判斷第二實體抹除單元是否為連續寫入狀態的步驟之前,此資料寫入方法更包括:判斷第一寫入指令是否為連續寫入指令。連續寫入指令表示第一邏輯位址是在第二寫入指令指示要存取的邏輯位址
之後,並且第二寫入指令是被接收在第一寫入指令之前。
在一範例實施例中,上述的資料寫入方法還包括:若第一寫入指令不為連續寫入指令,則將資料寫入至第四實體抹除單元;以及設定第四實體抹除單元不為連續寫入狀態。
在一範例實施例中,上述在判斷第二實體抹除單元是否為連續寫入狀態的步驟之前,此資料寫入方法更包括:判斷第二實體抹除單元是否為未曾被寫入過;以及若第二實體抹除單元未曾被寫入過,將資料以第二程式化模式寫入至第二實體抹除單元,其中第二程式化模式表示所有的實體程式化單元可被程式化。
在一範例實施例中,上述若第二實體抹除單元為連續寫入狀態,將資料以第一程式化模式寫入至第三實體抹除單元的步驟包括:判斷第二實體抹除單元是否是以第一程式化模式寫入;若第二實體抹除單元是第一程式化模式,判斷實體抹除單元中的閒置實體抹除單元的數目是否不小於第一預設數目;以及若閒置實體抹除單元的數目不小於第一預設數目,將資料以第一程式化模式寫入至第三實體抹除單元;以及設定第三實體抹除單元為連續寫入狀態。
在一範例實施例中,上述若第二實體抹除單元為連續寫入狀態,將資料以第一程式化模式寫入至第三實體抹除單元的步驟包括:判斷第二實體抹除單元是否是以第一程式化模式寫入;若第二實體抹除單元不是以第一程式化模式寫入,判斷實體抹除單元中的一閒置實體抹除單元的數
目是否不小於第二預設數目;以及若閒置實體抹除單元的數目不小於第二預設數目,將資料以第一程式化模式寫入至第三實體抹除單元,並且設定第三實體抹除單元為連續寫入狀態。
在一範例實施例中,上述的資料寫入方法更包括:若閒置實體抹除單元的數目小於第二預設數目,判斷閒置實體抹除單元的數目是否不小於第一預設數目,其中第二預設數目大於第一預設數目;若閒置實體抹除單元的數目不小於第一預設數目,將資料以第二程式化模式寫入至實體抹除單元中的第五實體抹除單元;以及設定第五實體抹除單元為連續寫入狀態。
在一範例實施例中,上述的資料寫入方法更包括:若第二實體抹除單元不為連續寫入狀態,判斷實體抹除單元中閒置實體抹除單元的數目是否不小於第一預設數目;若閒置實體抹除單元的數目不小於第一預設數目,將資料以第二程式化模式寫入至實體抹除單元中的第六實體抹除單元;以及設定第六實體抹除單元為連續寫入狀態。
以另外一個角度來說,本發明一範例實施例提出一種記憶體儲存裝置,包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器是用以耦接至主機系統。可複寫式非揮發性記憶體模組包括多個實體抹除單元,其中每一個實體抹除單元包括多個實體程式化單元組,每一個實體程式化單元組包括多個實體程式化單元,每一個實體程式化單元組的這些實體程式化單元包括一個下實體程式
化單元與一個上實體程式化單元。多個邏輯位址是映射至多個第一實體抹除單元。記憶體控制器是耦接至連接器與可複寫式非揮發性記憶體模組,用以接收一個第一寫入指令。此第一寫入指令指示將一個資料寫入至少一個第一邏輯位址,並且第一邏輯位址是映射至所述第一實體抹除單元中的一個第二實體抹除單元。記憶體控制器還用以判斷第二實體抹除單元是否為一個連續寫入狀態,此連續寫入狀態表示第二實體抹除單元中超過一個預設比例的實體程式化單元在一個預設時間內曾經被連續地程式化。若第二實體抹除單元為連續寫入狀態,記憶體控制器還用以將資料以第一程式化模式寫入至一個第三實體抹除單元,其中第一程式化模式表示上實體程式化單元為不可程式化。
在一範例實施例中,上述的記憶體控制器還用以判斷第一寫入指令是否為連續寫入指令。連續寫入指令表示第一邏輯位址是在第二寫入指令指示要存取的邏輯位址之後,並且第二寫入指令是被記憶體控制器接收在第一寫入指令之前。
在一範例實施例中,若第一寫入指令不為連續寫入指令,記憶體控制器還用以將資料寫入至實體抹除單元中的第四實體抹除單元,並且設定第四實體抹除單元不為連續寫入狀態。
在一範例實施例中,上述的記憶體控制器還用以判斷第二實體抹除單元是否未曾被寫入過。若第二實體抹除單元未曾被寫入過,記憶體控制器還用以將資料以第二程式
化模式寫入至第二實體抹除單元,其中第二程式化模式表示實體程式化單元可被程式化。
在一範例實施例中,上述的記憶體控制器還用以判斷第二實體抹除單元是否是以第一程式化模式寫入。若第二實體抹除單元是以第一程式化模式寫入,記憶體控制器還用以判斷實體抹除單元中閒置實體抹除單元的數目是否不小於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體控制器還用以將資料以第一程式化模式寫入至第三實體抹除單元,並且設定第三實體抹除單元為連續寫入狀態。
在一範例實施例中,上述的記憶體控制器還用以判斷第二實體抹除單元是否是以第一程式化模式寫入。若第二實體抹除單元不是以第一程式化模式寫入,記憶體控制器還用以判斷實體抹除單元中閒置實體抹除單元的數目是否不小於第二預設數目。若閒置實體抹除單元的數目不小於第二預設數目,記憶體控制器還用以將資料以第一程式化模式寫入至第三實體抹除單元,並且設定第三實體抹除單元為連續寫入狀態。
在一範例實施例中,若閒置實體抹除單元的數目小於第二預設數目,記憶體控制器還用以判斷閒置實體抹除單元的數目是否不小於第一預設數目,其中第二預設數目大於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體控制器還用以將資料第二程式化模式寫入至實體抹除單元的第五實體抹除單元。記憶體控制器還
用以設定第五實體抹除單元為連續寫入狀態。
在一範例實施例中,若第二實體抹除單元不為連續寫入狀態,記憶體控制器還用以判斷閒置實體抹除單元的數目是否不小於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體控制器還用以將資料以第一程式化模式寫入至第六實體抹除單元,並且設定第六實體抹除單元為連續寫入狀態。
以另外一個角度來說,本發明一範例實施例提出一種記憶體控制器,包括主機介面、記憶體介面與記憶體管理電路。主機介面是用以耦接至主機系統。記憶體介面是用以耦接至一個可複寫式非揮發性記憶體模組。此可複寫式非揮發性記憶體模組包括多個實體抹除單元,其中每一個實體抹除單元包括多個實體程式化單元組,每一個實體程式化單元組包括多個實體程式化單元,每一個實體程式化單元組的這些實體程式化單元包括一個下實體程式化單元與一個上實體程式化單元。多個邏輯位址是映射至多個第一實體抹除單元。記憶體管理電路是耦接至連接器與可複寫式非揮發性記憶體模組,用以接收一個第一寫入指令。此第一寫入指令指示將一個資料寫入至少一個第一邏輯位址,並且第一邏輯位址是映射至所述第一實體抹除單元中的一個第二實體抹除單元。記憶體管理電路還用以判斷第二實體抹除單元是否為一個連續寫入狀態,此連續寫入狀態表示第二實體抹除單元中超過一個預設比例的實體程式化單元在一個預設時間內曾經被連續地程式化。若第二實
體抹除單元為連續寫入狀態,記憶體管理電路還用以將資料以第一程式化模式寫入至一個第三實體抹除單元。第一程式化模式表示上實體程式化單元為不可程式化。
在一範例實施例中,上述的記憶體管理電路還用以判斷第一寫入指令是否為連續寫入指令。連續寫入指令表示第一邏輯位址是在第二寫入指令指示要存取的邏輯位址之後,並且第二寫入指令是被記憶體管理電路接收在第一寫入指令之前。
在一範例實施例中,若第一寫入指令不為連續寫入指令,記憶體管理電路還用以將資料寫入至實體抹除單元中的第四實體抹除單元,並且設定第四實體抹除單元不為連續寫入狀態。
在一範例實施例中,上述的記憶體管理電路還用以判斷第二實體抹除單元是否未曾被寫入過。若第二實體抹除單元未曾被寫入過,記憶體管理電路還用以將資料以第二程式化模式寫入至第二實體抹除單元,其中第二程式化模式表示實體程式化單元可被程式化。
在一範例實施例中,上述的記憶體管理電路還用以判斷第二實體抹除單元是否是以第一程式化模式寫入。若第二實體抹除單元是以第一程式化模式寫入,記憶體管理電路還用以判斷實體抹除單元中閒置實體抹除單元的數目是否不小於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體管理電路還用以將資料以第一程式化模式寫入至第三實體抹除單元,並且設定第三實體抹
除單元為連續寫入狀態。
在一範例實施例中,上述的記憶體管理電路還用以判斷第二實體抹除單元是否是以第一程式化模式寫入。若第二實體抹除單元不是以第一程式化模式寫入,記憶體管理電路還用以判斷實體抹除單元中閒置實體抹除單元的數目是否不小於第二預設數目。若閒置實體抹除單元的數目不小於第二預設數目,記憶體管理電路還用以將資料以第一程式化模式寫入至第三實體抹除單元,並且設定第三實體抹除單元為連續寫入狀態。
在一範例實施例中,若閒置實體抹除單元的數目小於第二預設數目,記憶體管理電路還用以判斷閒置實體抹除單元的數目是否不小於第一預設數目,其中第二預設數目大於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體管理電路還用以將資料第二程式化模式寫入至實體抹除單元的第五實體抹除單元。記憶體管理電路還用以設定第五實體抹除單元為連續寫入狀態。
在一範例實施例中,若第二實體抹除單元不為連續寫入狀態,記憶體管理電路還用以判斷閒置實體抹除單元的數目是否不小於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體管理電路還用以將資料以第一程式化模式寫入至第六實體抹除單元,並且設定第六實體抹除單元為連續寫入狀態。
基於上述,本發明範例實施例提出的資料寫入方法、記憶體控制器與記憶體儲存裝置,可以在主機系統要寫入
邏輯位址為連續的資料時,增加資料寫入的速度。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖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)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2A是繪示圖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)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元304(0)~304(R)。例如,實體抹除單元304(0)~304(R)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,並且屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實
體程式化單元所組成。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組,即一個記憶胞中可儲存至少2個位元資料。亦即,每一個實體抹除單元會包括多個實體程式化單元組,而每個實體程式化單元組會包括下實體程式化單元與上實體程式化單元。其中下實體程式化單元的程式化速度會大於上實體程式化單元的程式化速度。然而,本發明不限於此,
可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖2B是根據一範例實施例說明第一程式化模式與第二程式化模式的範例示意圖。
在本範例實施例中,一個實體抹除單元的程式化模式至少可包括兩種,即第一程式化模式與第二程式化模式。而第一程式化模式表示上實體程式化單元不可被程式化。第二程式化模式表示每一個實體程式化單元組中所有的實體程式化單元都可被程式化。舉例來說,請參照圖2B,實體抹除單元304(0)是操作在第二程式化模式,而實體抹除單元304(1)是操作在第一程式化模式。實體抹除單元304(0)包括了實體程式化單元組220(0)~220(127),其中所有的實體程式化單元(即,實體位址0~255的實體程式化單元)都可被程式化。另一方面,實體抹除單元304(1)裡的上實體程式化單元為不可被程式化,換言之,僅下實體程式化單元(即,實體位址0~127的實體程式化單元)可被程式化。當一個實體抹除單元操作在第一程式化模式時,其抹除次數的上限為第一臨界值。當一個實體抹除單元操作在第二程式化模式時,其抹除次數的上限為第二臨界值。並且,第二臨界值會大於第一臨界值。在本範例實施例中,每一個實體抹除單元304(0)~304(R)都可用第一程式化模式或第二程式化模式來寫入資料。
圖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。在另一範例實施例中,取代區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會配置邏輯位址502(0)~502(A)以利於在以上述輪替方式在儲存資料之實體抹除單元中進行資料存取。例如,當記憶體儲存裝置100被作業系統1110透過檔案系統(例如,FAT 32)格式化時,邏輯位址502(0)~502(A)分別地映射至資料區402的實體抹除單元304(0)~304(D)(亦稱第一實體抹除單元)。在此,記憶體管理電路202會建立邏輯位址-實體抹除單元映射表(logical address-physical erase unit mapping table),以記錄邏輯位址與實體抹除單元之間的映射關係。在一範例實施例中,一個邏輯位址對應的記憶體空間容量為一個實體抹除單元的容量,此時邏輯位址亦被稱為邏輯區塊位址(logical block address)。然而,在其他範例實施例中,一個邏輯位址對應的記憶體空間容量亦可是一個實體程式化單元的容量。本發明並不限制邏輯位址所對應的記憶體空間容量。
舉例來說,當主機系統1000要將資料504寫入至實體抹除單元304(0)時,會下達存取邏輯位址502(0)(亦稱第一邏輯位址)的寫入指令給記憶體管理電路202。記憶體管
理電路202會根據邏輯位址-實體抹除單元映射表找到映射至邏輯位址502(0)的實體抹除單元304(0)(亦稱第二實體抹除單元)。在本範例實施例中,記憶體管理電路202會判斷實體抹除單元304(0)中的實體程式化單元是否曾經連續地被程式化,若是,則表示主機系統1000有可能是在傾印或備份大量的資料。此時,記憶體管理電路202會設定一個實體抹除單元(亦稱第三實體抹除單元)是以第一程式化模式寫入,並將資料504寫入至此實體抹除單元。由於實體抹除單元在第一程式化模式下的程式化速度比在第二程式化模式下的程式化速度快,因此可以快速的將資料504寫入。
詳細來說,記憶體管理電路202會先判斷所接收到的寫入指令(亦稱第一寫入指令)是否為一個連續寫入指令。例如,當下達第一寫入指令之前,主機系統1000還下達了第二寫入指令給記憶體管理電路202。若第一寫入指令指示要存取的邏輯位址與第二寫入指令指示要存取的邏輯位址相同,則記憶體管理電路202會判斷第一寫入指令不是連續寫入指令。或者,若第一寫入指令指示要存取的邏輯位址與第二寫入指令指示要存取的邏輯位址是映射到同一個實體抹除單元,但以程式化順序來說,第一寫入指令所要存取的實體程式化單元是在第二寫入指令所要存取的實體程式化單元之前,則記憶體管理電路202也會判斷第一寫入指令不是連續寫入指令。在其餘情況,記憶體管理電路202會判斷第一寫入指令為連續寫入指令。在另一範例
實施例中,記憶體管理電路202也可以判斷第一寫入指令指示要存取的邏輯位址是否接續在第二寫入指令指示要存取的邏輯位址之後,若是,則判斷第一寫入指令為連續寫入指令。換言之,若一個寫入指令為連續寫入指令,表示主機系統1000有可能正在寫入大量且邏輯位址為連續的資料,然而,本發明並不限制記憶體管理電路202如何判斷所接收的寫入指令為連續寫入指令。
若目前所接收的寫入指令並不是連續寫入指令,則記憶體管理電路202會將資料504寫入至閒置區404的一個實體抹除單元(亦稱第四實體抹除單元,例如,實體抹除單元304(D+1))。然而,記憶體管理電路202可以設定實體抹除單元304(D+1)是以第一程式化模式寫入或是第二程式化模式寫入,本發明並不在此限。並且,記憶體管理電路202會紀錄實體抹除單元304(D+1)不為一個連續寫入狀態。此外,判斷實體抹除單元304(D+1)是否以第一程式化模式寫入或是第二程式化模式寫入的方式,可於資料寫入時,於實體抹除單元304(D+1)所屬的實體程式化單元的冗餘區中(例如只在第一個下實體程式化單元中標記)或是於邏輯位址-實體抹除單元映射表中,利用一位元,來註記寫入的方式,或是判斷實體抹除單元304(D+1)的上實體程式化單元中的資料是否皆是0xFFFF。若是,則判斷是以第一程式化模式寫入,本發明並不在此限。
在本範例實施例中,當一個實體抹除單元被紀錄為連續寫入狀態時,表示此實體抹除單元中超過一個預設比例
的實體程式化單元在一個預設時間內曾經被連續地被程式化。例如,此預設比例可設定為75%、100%或被程式化的實體程式化單元的數目,本發明並不在此限。值得注意的是,預設時間可以用實體抹除單元被程式化的次數來表示。例如,若預設時間表示一次,則記憶體管理電路202是根據一個實體抹除單元在上一次被程式化時,其中75%的實體程式化單元是否連續地被程式化,來判斷此實體抹除單元是否為連續寫入狀態。然而,在其他範例實施例中,記憶體管理電路202也可以在一個實體抹除單元最近兩次被程式化時,其中75%的實體程式化單元都連續地被程式化以後,才設定此實體抹除單元為連續寫入狀態。在一範例實施例中,記憶體管理電路202可以用一個有限狀態機(finite state machine)或是紀錄表來紀錄一個實體抹除單元中的實體程式化單元最近是否連續地被程式化,本發明並不在此限。舉例來說,有限狀態機包括多個狀態,每個狀態都記錄一個實體抹除單元的實體程式化單元在前n次是否被連續的程式化。其中,若干狀態會是連續寫入狀態,其他狀態不是連續寫入狀態。當一個實體抹除單元被程式化時,都會根據其中的實體程式化單元是否連續地被程式化而將此實體抹除單元的狀態切換至另一個狀態(或停留在原本的狀態)。另一方面,記憶體管理電路202也可以用一個計時器來得知一個實體抹除單元上一次被程式化是在什麼時候。當一個實體抹除單元為連續寫入狀態時,表示主機系統1000有可能正在對某些特定的邏輯位址寫入邏
輯位址為連續的資料。
值得一提的是,用以儲存使用者資料的實體抹除單元皆會映射至邏輯位址502(0)~502(A)的其中之一。因此,在另一範例實施例中,記憶體管理電路202也可以在邏輯位址的層級判斷一個邏輯位址是否為連續寫入狀態。舉例來說,一個邏輯位址中還包括多個次邏輯位址(例如,一個邏輯抹除單元位址包括多個邏輯程式化單元位址)。當一個邏輯位址被紀錄為連續寫入狀態時,表示此邏輯位址中超過一個預設比例的次邏輯位址在一個預設時間內曾經被連續地被程式化。換言之,當一個實體抹除單元為連續寫入狀態時,表示所映射的邏輯位址也為連續寫入狀態。本發明並不限制是在實體或是邏輯的層級來紀錄連續寫入狀態。
當判斷所接收的寫入指令是連續寫入指令以後,記憶體管理電路202會判斷實體抹除單元304(0)是否未曾被寫入過。若實體抹除單元304(0)未曾被寫入過,則記憶體管理電路202會將資料以第二程式化模式寫入至實體抹除單元304(0)。
若判斷實體抹除單元304(0)曾經被寫入過,則記憶體管理電路202會進一步判斷實體抹除單元304(0)是否是以第一程式化模式寫入。
若實體抹除單元304(0)是以第一程式化模式寫入,則記憶體管理電路202會提取一個閒置實體抹除單元,並以第一程式化模式將資料504寫入至此閒置實體抹除單元。當一個實體抹除單元為閒置實體抹除單元時,表示此實體
抹除單元並沒有儲存任何有效的資料。例如,分組為閒置區404的實體抹除單元便是閒置實體抹除單元。為了要提取一個閒置實體抹除單元,記憶體管理電路202會判斷閒置區404中閒置實體抹除區塊的數目是否不小於一個第一預設數目。例如,此第一預設數目為1。亦即,此時只要閒置實體抹除區塊的數目不小於1,便可以完成寫入的動作。
圖6是根據一範例實施例說明第二實體抹除單元是以第一程式化模式寫入時的寫入操作的範例示意圖。
請參照圖6,當實體抹除單元304(0)是以第一程式化模式寫入時,表示其中所能儲存的資料量較少(相較於第二程式化模式)。在本範例實施例中,邏輯位址502(0)的所對應的記憶體空間的容量是一個實體抹除單元的上實體程式化單元與下實體程式化單元。因此,除了實體抹除單元304(0)外,部份屬於邏輯位址502(0)的資料還會儲存在另一個實體抹除單元304(1)。在此假設閒置實體抹除單元的數目不小於第一預設數目(例如,實體抹除單元304(D+1)為閒置實體抹除單元)。記憶體管理電路202會取得實體抹除單元304(D+1),並且將資料504的一部份以第一程式化模式寫入至實體抹除單元304(D+1)。此外,記憶體管理電路202還會設定實體抹除單元304(D+1)為連續寫入狀態。值得注意的是,當實體抹除單元304(D+1)被寫滿之後,亦表示實體抹除單元304(0)中所儲存的已是無效資料,此時屬於邏輯位址502(0)的資料是儲存在實體抹除單元
304(D+1)與304(1)當中。接下來,記憶體管理電路202會對實體抹除單元304(0)下達抹除的指令,並將資料504的另一個部分寫入至實體抹除單元304(0)。完成上述步驟以後,屬於邏輯位址502(0)的資料便是儲存在實體抹除單元304(D+1)與304(0),並且實體抹除單元304(1)中所儲存的是無效資料。在實體抹除單元304(1)被抹除以後便可成為閒置實體抹除單元,用以在接收下一個寫入指令時使用。
然而,此時若閒置實體抹除區塊的數目小於第一預設數目,則記憶體管理電路202會執行整併(merge)操作或將資料寫入至閒置的實體程式化單元。具體來說,記憶體管理電路202會將兩個或兩個以上的實體抹除單元中的有效資料複製到同一個實體抹除單元。並且,記憶體管理電路會對沒有儲存有效資料的實體抹除單元執行抹除的操作,此被執行抹除操作的實體抹除單元便會成為閒置實體抹除單元。接下來,記憶體管理電路202便可以圖6所示的方式將資料504以第一程式化模式的方式寫入至此閒置實體抹除單元。或者,當記憶體管理電路202是以實體程式化單元為基本單位來管理可複寫式非揮發性記憶體模組106時,即使閒置實體抹除區塊的數目小於第一預設數目,但一些實體抹除單元中可能還有閒置的實體程式化單元。此時,記憶體管理電路202可將資料504寫入至任一個閒置的實體程式化單元,本發明並不在此限。
另一方面,若實體抹除單元304(0)為連續寫入狀態,但不是以第一程式化模式寫入,記憶體管理電路202也會
以第一程式化模式的方式將資料504寫入。然而,當一個實體抹除單元是以第一程式化模式來儲存資料時,所能使用的實體程式化單元的個數較少(相較於第二程式化模式)。因此,記憶體管理電路202會判斷閒置區404中閒置實體抹除單元的個數是否不小於第二預設數目。例如,此第二預設數目表示每一個實體程式化單元組中實體程式化單元的數目,在本範例實施例中為2。然而,在其他範例實施例中,第二預設數目也可以為其他的正整數,本發明並不在此限。
圖7是根據一範例實施例說明第二實體抹除單元不是以第一程式化模式寫入時的寫入操作的範例示意圖。
請參照圖7,在此假設記憶體管理電路202判斷閒置實體抹除單元的個數不小於第二預設數目,其中實體抹除單元304(D+1)與304(D+2)(亦稱為第三實體抹除單元)為閒置實體抹除單元。另一方面,在此假設邏輯位址502(0)是原始映射至實體抹除單元304(0)。記憶體管理電路202會將資料504以第一程式化模式寫入至實體抹除單元304(D+1)與304(D+2),並且設定實體抹除單元304(D+1)與304(D+2)為連續寫入狀態。此外,記憶體管理電路202也會將原始映射至實體抹除單元304(0)的邏輯位址502(0)重新映射至實體抹除單元304(D+1)與304(D+2)。
圖8是根據一範例實施例說明第二實體抹除單元不是以第一程式化模式寫入,且閒置實體抹除單元的數目小於第二預設數目時的寫入操作的範例示意圖。
請參照圖8,若實體抹除單元304(0)為連續寫入狀態,不是以第一程式化模式寫入,且閒置實體抹除單元的個數小於第二預設數目時,記憶體管理電路202還會進一步判斷閒置實體抹除單元的個數是否不小於第一預設數目。在此假設閒置實體抹除單元的個數不小於第一預設數目,且實體抹除單元304(D+3)(亦稱第五實體抹除單元)為閒置實體抹除單元。邏輯位址502(0)是原始映射至實體抹除單元304(0)。記憶體管理電路202會將資料504以第二程式化模式寫入至實體抹除單元304(D+3),並且設定實體抹除單元304(D+3)為連續寫入狀態。此外,記憶體管理電路202也會將原始映射至實體抹除單元304(0)的邏輯位址502(0)重新映射至實體抹除單元304(D+3)。另一方面,若閒置實體抹除單元的個數小於第一預設數目時,記憶體管理電路202會執行整併操作或將資料寫入至閒置的實體程式化單元。然而,閒置實體抹除單元不足時的寫入操作已說明如上,在此便不再贅述。
當實體抹除單元304(0)不為連續寫入狀態時,記憶體管理電路202會先判斷閒置實體抹除單元的數目是否不小於第一預設數目。若閒置實體抹除單元的數目不小於第一預設數目,記憶體管理電路202會取得一個閒置實體抹除單元(亦稱第六實體抹除單元),並將資料504以第二程式化模式寫入至此第六實體抹除單元。然而,此步驟類似於圖8所示的例子,以下將配合圖式一併說明。
圖9A~圖9C是根據一範例實施例說明資料寫入方法
的流程圖。
請參照圖9A,在步驟S602中,記憶體管理電路202會接收一個寫入指令,此寫入指令指示將一份資料寫入至至少一個邏輯位址(亦稱第一邏輯位址)當中。其中第一邏輯位址是映射至第二實體抹除單元。
在步驟S602中,記憶體管理電路202會判斷所接收的寫入指令是否為連續寫入指令。
若所接收的寫入指令不是連續寫入指令,則在步驟S606中,記憶體管理電路202會將資料寫入至一個第四實體抹除單元。並且,記憶體管理電路202會設定第四實體抹除單元不為連續寫入狀態。
若所接收的寫入指令是連續寫入指令,在步驟S608中,記憶體管理電路202會判斷第二實體抹除單元是否未曾被程式化過。
若第二實體抹除單元未曾被程式化過,在步驟S610中,記憶體管理電路202會將資料以第二程式化模式寫入至第二實體抹除單元。
若第二實體抹除單元曾經被程式化過,在步驟S612中,記憶體管理電路202會判斷第二實體抹除單元是否為連續寫入狀態。
若第二實體抹除單元為連續寫入狀態,在步驟S614中,記憶體管理電路202會判斷第二實體抹除單元是否是以第一程式化模式寫入。
若第二實體抹除單元是以第一程式化模式寫入,在步
驟S616中,記憶體管理電路202會判斷閒置實體抹除單元的個數是否不小於第一預設數目。
若閒置實體抹除單元的個數不小於第一預設數目,在步驟S618中,記憶體管理電路202會取得一個閒置的實體抹除單元(亦稱第三實體抹除單元)。記憶體管理電路202會將資料以第一程式化模式寫入至此第三實體抹除單元,並且設定第三實體抹除單元為連續寫入狀態。
若閒置實體抹除單元的個數小於第一預設數目,在步驟S620中,記憶體管理電路202會將資料寫入至閒置的實體程式化單元。
若在步驟S614的結果為”否”,請參照圖9B,在步驟S622中,記憶體管理電路202會判斷閒置實體抹除單元的數目是否不小於第二預設數目。若是,在步驟S624中,記憶體管理電路202會取得兩個第三實體抹除單元,將資料以第一程式化模式寫入至第三實體抹除單元,並設定第三實體抹除單元為連續寫入狀態。
若步驟S622的結果為”否”,在步驟S626中,記憶體管理電路202會判斷閒置實體抹除單元的數目不小於第一預設數目。
若步驟S626的結果為”是”,在步驟S628中,記憶體管理電路202會將資料以第二程式化模式寫入至一個第五實體抹除單元,並且設定第五實體抹除單元為連續寫入狀態。
若步驟S626的結果為”否”,在步驟S630中,記憶體
管理電路202會將資料寫入至閒置的實體程式化單元。
若步驟S612的結果為”否”,請參照圖9C,在步驟S632中,記憶體管理電路202會判斷閒置實體抹除單元的數目是否不小於第一預設數目。
步驟S632的結果為”是",在步驟S634中,記憶體管理電路202會將資料以第二程式化模式寫入至一個第六實體抹除單元,並設定第六實體抹除單元符合連續寫入狀態。
若步驟S632的結果為”否”,在步驟S636中,記憶體管理電路202會將資料寫入至閒置的實體程式化單元。
在圖9A~圖9C中,記憶體管理電路202是先判斷所接收的寫入指令是否為連續寫入指令,再判斷是否要以第一程式化模式將資料寫入。然而,在另一範例實施例中,記憶體管理電路202也可以預設所接收的寫入指令都是連續寫入指令,因此並不判斷寫入指令是否為連續寫入指令。
圖10是根據另一範例實施例說明資料寫入方法的流程圖。
請參照圖10,在步驟S1002中,記憶體管理電路202會接收一個寫入指令。此寫入指令指示將一份資料寫入到至少一個邏輯位址,此至少一個邏輯位址是映射至一個第二實體抹除單元。
在步驟S1004中,記憶體管理電路202判斷第二實體抹除單元是否為連續寫入狀態。
若第二實體抹除單元為連續寫入狀態,在步驟S1006中,記憶體管理電路202會將資料以第一程式化模式寫入
至第三實體抹除單元。
若第二實體抹除單元不為連續寫入狀態,在步驟S1008中,記憶體管理電路202會將資料以第一程式化模式或第二程式化模式寫入至一個閒置實體抹除單元。
然而,圖10中各步驟已詳細說明如上,在此便不再贅述。
值得一提的是,在另一範例實施例中,記憶體管理電路202也可以將一或多個實體抹除單元邏輯地劃分為一個實體單元,並且根據實體單元是否為連續寫入狀態來寫入資料。具體來說,一個實體單元可包括2、4或8個實體抹除單元,但本發明並不在此限。當一個實體單元中超過一預設比例的實體程式化單元在一預設時間內被連續地程式化,記憶體管理電路202會判斷此實體單元為連續寫入狀態。另一方面,記憶體管理電路202也可以將一或多個邏輯位址分組為一個邏輯單元,並且一個邏輯單元是映射至一個實體單元。
或者,實體抹除單元之間也可以是以交錯式(interleave)的方式來寫入。當以交錯式的方式來寫入時,判斷連續寫入的方式也可以是交錯式的。舉例來說,若主機系統1000要存取的是編號為0~100的邏輯位址,則一個實體抹除單元可用以儲存屬於編號0、2、4...100的邏輯位址的資料,而另一個實體抹除單元可用以儲存屬於編號1、3、5...99的邏輯位址的資料。若為上述情況,則這兩個實體抹除單元也可為連續寫入狀態,進而使用第一程式化模式來資
料,本發明並不在此限。
綜上所述,本發明範例實施例所提出的資料寫入方法、記憶體控制器與記憶體管理電路,可以在主機系統1000要對某一邏輯區域連續的資料時,加快資料寫入的速度。。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
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(R)‧‧‧實體抹除單元
220(0)~220(127)‧‧‧實體程式化單元組
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
252‧‧‧緩衝記憶體
254‧‧‧電源管理電路
256‧‧‧錯誤檢查與校正電路
402‧‧‧資料區
404‧‧‧閒置區
406‧‧‧系統區
408‧‧‧取代區
504‧‧‧資料
502(0)~502(A)‧‧‧邏輯位址
S602、S604、S606、S608、S610、S612、S614、S616、S618、S620、S622、S624、S626、S628、S630、S632、S634、S636、S1002、S1004、S1006、S1008‧‧‧資料寫入方法的步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2A是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖2B是根據一範例實施例說明第一程式化模式與第二程式化模式的範例示意圖。
圖3是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖4與圖5是根據一範例實施例所繪示之管理可複寫
式非揮發性記憶體模組的範例示意圖。
圖6是根據一範例實施例說明第二實體抹除單元是以第一程式化模式寫入時的寫入操作的範例示意圖。
圖7是根據一範例實施例說明第二實體抹除單元不是以第一程式化模式寫入時的寫入操作的範例示意圖。
圖8是根據一範例實施例說明第二實體抹除單元不是以第一程式化模式寫入,且閒置實體抹除單元的數目小於第二預設數目時的寫入操作的範例示意圖。
圖9A~圖9C是根據一範例實施例說明資料寫入方法的流程圖。
圖10是根據另一範例實施例說明資料寫入方法的流程圖。
S1002、S1004、S1006、S1008‧‧‧資料寫入方法的步驟
Claims (24)
- 一種資料寫入方法,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,每一該些實體抹除單元包括多個實體程式化單元組,每一該些實體程式化單元組包括多個實體程式化單元,每一該些實體程式化單元組的該些實體程式化單元包括一下實體程式化單元與一上實體程式化單元,其中,該些下實體程式化單元程式化的速度快於該些上實體程式化單元,多個邏輯位址是映射至該些實體抹除單元中的多個第一實體抹除單元,該資料寫入方法包括:接收一第一寫入指令,該第一寫入指令指示將一資料寫入至該些邏輯位址的至少一第一邏輯位址,其中該至少一第一邏輯位址是映射至該些第一實體抹除單元中的一第二實體抹除單元;判斷該第二實體抹除單元是否為一連續寫入狀態,該連續寫入狀態表示該第二實體抹除單元中超過一預設比例的該些實體程式化單元在一預設時間內曾經被連續地程式化;以及若該第二實體抹除單元是該連續寫入狀態,將該資料以一第一程式化模式寫入至該些實體抹除單元中的一第三實體抹除單元,其中該第一程式化模式表示該些上實體程式化單元為不可程式化。
- 如申請專利範圍第1項所述之資料寫入方法,其中在判斷該第二實體抹除單元是否為該連續寫入狀態的步驟 之前,該資料寫入方法更包括:判斷該第一寫入指令是否為一連續寫入指令,其中該連續寫入指令表示該至少一第一邏輯位址是在一第二寫入指令指示要存取的邏輯位址之後,並且該第二寫入指令是被接收在該第一寫入指令之前。
- 如申請專利範圍第2項所述之資料寫入方法,還包括:若該第一寫入指令不為該連續寫入指令,則將該資料寫入至該些實體抹除單元中的一第四實體抹除單元;以及設定該第四實體抹除單元不為該連續寫入狀態。
- 如申請專利範圍第1項所述之資料寫入方法,其中在判斷該第二實體抹除單元是否為該連續寫入狀態的步驟之前,該資料寫入方法更包括:判斷該第二實體抹除單元是否為未曾被寫入過;以及若該第二實體抹除單元未曾被寫入過,將該資料以一第二程式化模式寫入至該第二實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化。
- 如申請專利範圍第1項所述之資料寫入方法,其中若該第二實體抹除單元為該連續寫入狀態,將該資料以第一程式化模式寫入至該些實體抹除單元中的該第三實體抹除單元的步驟包括:判斷該第二實體抹除單元是否是以該第一程式化模式寫入;若該第二實體抹除單元是以該第一程式化模式寫 入,判斷該些實體抹除單元中的一閒置實體抹除單元的數目是否不小於一第一預設數目;以及若該閒置實體抹除單元的數目不小於該第一預設數目,將該資料以該第一程式化模式寫入至該第三實體抹除單元;以及設定該第三實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第1項所述之資料寫入方法,其中若該第二實體抹除單元為該連續寫入狀態,將該資料以該第一程式化模式寫入至該第三實體抹除單元的步驟包括:判斷該第二實體抹除單元是否是以該第一程式化模式寫入;若該第二實體抹除單元不是以該第一程式化模式寫入,判斷該些實體抹除單元中的一閒置實體抹除單元的數目是否不小於一第二預設數目;以及若該閒置實體抹除單元的數目不小於該第二預設數目,將該資料以該第一程式化模式寫入至該第三實體抹除單元,並且設定該第三實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第6項所述之資料寫入方法,更包括:若該閒置實體抹除單元的數目小於該第二預設數目,判斷該閒置實體抹除單元的數目是否不小於一第一預設數目,其中該第二預設數目大於該第一預設數目;若該閒置實體抹除單元的數目不小於該第一預設數目,將該資料以一第二程式化模式寫入至該些實體抹除單 元中的一第五實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化;以及設定該第五實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第1項所述之資料寫入方法,更包括:若該第二實體抹除單元不為該連續寫入狀態,判斷該些實體抹除單元中一閒置實體抹除單元的數目是否不小於一第一預設數目;若該閒置實體抹除單元的數目不小於該第一預設數目,將該資料以一第二程式化模式寫入至該些實體抹除單元中的一第六實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化;以及設定該第六實體抹除單元為該連續寫入狀態。
- 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元,其中每一該些實體抹除單元包括多個實體程式化單元組,每一該些實體程式化單元組包括多個實體程式化單元,每一該些實體程式化單元組的該些實體程式化單元包括一下實體程式化單元與一上實體程式化單元,其中,該等下實體程式化單元程式化的速度快於該等上實體程式化單元,並且多個邏輯位址是映射至該些實體抹除單元中的多個第一實體抹除單元;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮 發性記憶體模組,用以接收一第一寫入指令,其中該第一寫入指令指示將一資料寫入至該些邏輯位址的至少一第一邏輯位址,並且該至少一第一邏輯位址是映射至該些第一實體抹除單元中的一第二實體抹除單元,該記憶體控制器還用以判斷該第二實體抹除單元是否為一連續寫入狀態,其中該連續寫入狀態表示該第二實體抹除單元中超過一預設比例的該些實體程式化單元在一預設時間內曾經被連續地程式化,若該第二實體抹除單元為該連續寫入狀態,該記憶體控制器還用以將該資料以一第一程式化模式寫入至該些實體抹除單元的一第三實體抹除單元,其中該第一程式化模式表示該些上實體程式化單元為不可程式化。
- 如申請專利範圍第9項所述之記憶體儲存裝置,其中該記憶體控制器還用以判斷該第一寫入指令是否為一連續寫入指令,其中該連續寫入指令表示該至少一第一邏輯位址是在一第二寫入指令指示要存取的邏輯位址之後,並且該第二寫入指令是被該記憶體控制器接收在該第一寫入指令之前。
- 如申請專利範圍第10項所述之記憶體儲存裝置,其中若該第一寫入指令不為該連續寫入指令,該記憶體控制器還用以將該資料寫入至該些實體抹除單元中的一第四實體抹除單元,並且設定該第四實體抹除單元不為該連續寫入狀態。
- 如申請專利範圍第9項所述之記憶體儲存裝置, 其中該記憶體控制器還用以判斷該第二實體抹除單元是否未曾被寫入過,若該第二實體抹除單元未曾被寫入過,該記憶體控制器還用以將該資料以一第二程式化模式寫入至該第二實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化。
- 如申請專利範圍第9項所述之記憶體儲存裝置,其中該記憶體控制器還用以判斷該第二實體抹除單元是否是以該第一程式化模式寫入,若該第二實體抹除單元是以該第一程式化模式寫入,該記憶體控制器還用以判斷該些實體抹除單元中的一閒置實體抹除單元的數目是否不小於一第一預設數目,若該閒置實體抹除單元的數目不小於該第一預設數目,該記憶體控制器還用以將該資料以該第一程式化模式寫入至該第三實體抹除單元,並且設定該第三實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第9項所述之記憶體儲存裝置,其中該記憶體控制器還用以判斷該第二實體抹除單元是否是以該第一程式化模式寫入,若該第二實體抹除單元不是以該第一程式化模式寫入,該記憶體控制器還用以判斷該些實體抹除單元中的一閒置實體抹除單元的數目是否不小於一第二預設數目,若該閒置實體抹除單元的數目不小於該第二預設數目,該記憶體控制器還用以將該資料以該第一程式化模式 寫入至該第三實體抹除單元,並且設定該第三實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第14項所述之記憶體儲存裝置,若該閒置實體抹除單元的數目小於該第二預設數目,該記憶體控制器還用以判斷該閒置實體抹除單元的數目是否不小於一第一預設數目,其中該第二預設數目大於該第一預設數目,若該閒置實體抹除單元的數目不小於該第一預設數目,該記憶體控制器還用以將該資料一第二程式化模式寫入至該些實體抹除單元的一第五實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化,該記憶體控制器還用以設定該第五實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第9項所述之記憶體儲存裝置,若該第二實體抹除單元不為該連續寫入狀態,該記憶體控制器還用以判斷該些實體抹除單元中一閒置實體抹除單元的數目是否不小於一第一預設數目,若該閒置實體抹除單元的數目不小於該第一預設數目,該記憶體控制器還用以將該資料以該第一程式化模式寫入至該些實體抹除單元中的一第六實體抹除單元,並且設定該第六實體抹除單元為該連續寫入狀態。
- 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制器包括:一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體程式化單元,每一該些實體程式化單元組包括多個實體程式化單元,每一該些實體程式化單元組的該些實體程式化單元包括一下實體程式化單元與一上實體程式化單元,其中,該等下實體程式化單元程式化的速度快於該等上實體程式化單元,並且多個邏輯位址是映射至該些實體抹除單元中的多個第一實體抹除單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,用以接收一第一寫入指令,其中該第一寫入指令指示將一資料寫入至該些邏輯位址的至少一第一邏輯位址,並且該至少一第一邏輯位址是映射至該些第一實體抹除單元中的一第二實體抹除單元,該記憶體管理電路還用以判斷該第二實體抹除單元是否為一連續寫入狀態,其中該連續寫入狀態表示該第二實體抹除單元中超過一預設比例的該些實體程式化單元在一預設時間內曾經被連續地程式化,若該第二實體抹除單元為該連續寫入狀態,該記憶體管理電路還用以將該資料以一第一程式化模式寫入至該些實體抹除單元的一第三實體抹除單元,其中該第一程式化模式表示該些上實體程式化單元為不可程式化。
- 如申請專利範圍第17項所述之記憶體控制器,其中該記憶體管理電路還用以判斷該第一寫入指令是否為一連續寫入指令,其中該連續寫入指令表示該至少一第一邏 輯位址是在一第二寫入指令指示要存取的邏輯位址之後,並且該第二寫入指令是被該記憶體管理電路接收在該第一寫入指令之前。
- 如申請專利範圍第18項所述之記憶體控制器,其中若該第一寫入指令不為該連續寫入指令,該記憶體管理電路還用以將該資料寫入至該些實體抹除單元中的一第四實體抹除單元,並且設定該第四實體抹除單元不為該連續寫入狀態。
- 如申請專利範圍第17項所述之記憶體控制器,其中該記憶體管理電路還用以判斷該第二實體抹除單元是否未曾被寫入過,若該第二實體抹除單元未曾被寫入過,該記憶體管理電路還用以將該資料以一第二程式化模式寫入至該第二實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化。
- 如申請專利範圍第17項所述之記憶體控制器,其中該記憶體管理電路還用以判斷該第二實體抹除單元是否是以該第一程式化模式寫入,若該第二實體抹除單元是以該第一程式化模式寫入,該記憶體管理電路還用以判斷該些實體抹除單元中的一閒置實體抹除單元的數目是否不小於一第一預設數目,若該閒置實體抹除單元的數目不小於該第一預設數目,該記憶體管理電路還用以將該資料以該第一程式化模式寫入至該第三實體抹除單元,並且設定該第三實體抹除 單元為該連續寫入狀態。
- 如申請專利範圍第17項所述之記憶體控制器,其中該記憶體管理電路還用以判斷該第二實體抹除單元是否是以該第一程式化模式寫入,若該第二實體抹除單元不是以該第一程式化模式寫入,該記憶體管理電路還用以判斷該些實體抹除單元中的一閒置實體抹除單元的數目是否不小於一第二預設數目,若該閒置實體抹除單元的數目不小於該第二預設數目,該記憶體管理電路還用以將該資料以該第一程式化模式寫入至該第三實體抹除單元,並且設定該第三實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第22項所述之記憶體控制器,若該閒置實體抹除單元的數目小於該第二預設數目,該記憶體管理電路還用以判斷該閒置實體抹除單元的數目是否不小於一第一預設數目,其中該第二預設數目大於該第一預設數目,若該閒置實體抹除單元的數目不小於該第一預設數目,該記憶體管理電路還用以將該資料一第二程式化模式寫入至該些實體抹除單元的一第五實體抹除單元,其中該第二程式化模式表示該些實體程式化單元可被程式化,該記憶體管理電路還用以設定該第五實體抹除單元為該連續寫入狀態。
- 如申請專利範圍第17項所述之記憶體控制器,若該第二實體抹除單元不為該連續寫入狀態,該記憶體管理 電路還用以判斷該些實體抹除單元中一閒置實體抹除單元的數目是否不小於一第一預設數目,若該閒置實體抹除單元的數目不小於該第一預設數目,該記憶體管理電路還用以將該資料以該第一程式化模式寫入至該些實體抹除單元中的一第六實體抹除單元,並且設定該第六實體抹除單元為該連續寫入狀態。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101122833A TWI454913B (zh) | 2012-06-26 | 2012-06-26 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US13/596,075 US9141530B2 (en) | 2012-06-26 | 2012-08-28 | Data writing method, memory controller and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101122833A TWI454913B (zh) | 2012-06-26 | 2012-06-26 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201401050A true TW201401050A (zh) | 2014-01-01 |
TWI454913B TWI454913B (zh) | 2014-10-01 |
Family
ID=49775419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101122833A TWI454913B (zh) | 2012-06-26 | 2012-06-26 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9141530B2 (zh) |
TW (1) | TWI454913B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573661A (zh) * | 2014-10-15 | 2016-05-11 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
TWI615710B (zh) * | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5970867B2 (ja) * | 2012-03-05 | 2016-08-17 | 富士ゼロックス株式会社 | 情報処理装置、画像形成装置およびプログラム |
TWI596476B (zh) * | 2015-11-27 | 2017-08-21 | 群聯電子股份有限公司 | 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI591641B (zh) * | 2016-02-19 | 2017-07-11 | 群聯電子股份有限公司 | 資料程式化方法、記憶體控制電路單元及記憶體儲存裝置 |
CN107132989B (zh) * | 2016-02-26 | 2020-05-12 | 群联电子股份有限公司 | 数据程序化方法、存储器控制电路单元及存储器存储装置 |
CN111625482B (zh) * | 2016-03-23 | 2022-02-01 | 北京忆恒创源科技股份有限公司 | 顺序流检测方法与装置 |
TWI607448B (zh) * | 2016-09-07 | 2017-12-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
CN111858389B (zh) * | 2019-04-30 | 2023-07-04 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
FR3104277B1 (fr) * | 2019-12-04 | 2022-05-06 | St Microelectronics Grenoble 2 | gestion de mémoire pour économiser de l’énergie |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3585091B2 (ja) * | 1998-06-15 | 2004-11-04 | 富士通株式会社 | 記憶装置 |
KR100533682B1 (ko) * | 2003-12-26 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
EP2977906A1 (en) * | 2004-04-28 | 2016-01-27 | Panasonic Corporation | Nonvolatile storage device and data write method |
WO2007073536A2 (en) * | 2005-12-21 | 2007-06-28 | Sandisk Corporation | Non-volatile memories and methods with memory allocation for a directly mapped file storage system |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
KR101464338B1 (ko) * | 2007-10-25 | 2014-11-25 | 삼성전자주식회사 | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 |
US8060719B2 (en) * | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
TWI385667B (zh) * | 2008-06-26 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的資料管理方法、儲存系統與控制器 |
US8407400B2 (en) * | 2008-11-12 | 2013-03-26 | Micron Technology, Inc. | Dynamic SLC/MLC blocks allocations for non-volatile memory |
US8078848B2 (en) * | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
WO2011007599A1 (ja) * | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
TWI399643B (zh) * | 2009-12-31 | 2013-06-21 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與資料寫入方法 |
TWI409633B (zh) * | 2010-02-04 | 2013-09-21 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與資料寫入方法 |
US8656256B2 (en) * | 2010-07-07 | 2014-02-18 | Stec, Inc. | Apparatus and method for multi-mode operation of a flash memory device |
-
2012
- 2012-06-26 TW TW101122833A patent/TWI454913B/zh active
- 2012-08-28 US US13/596,075 patent/US9141530B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573661A (zh) * | 2014-10-15 | 2016-05-11 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
CN105573661B (zh) * | 2014-10-15 | 2018-11-09 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
TWI615710B (zh) * | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
US9141530B2 (en) | 2015-09-22 |
US20130346674A1 (en) | 2013-12-26 |
TWI454913B (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454913B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI506430B (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
TWI447735B (zh) | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 | |
TWI537728B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI480733B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI585770B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI476590B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI501243B (zh) | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI525625B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20140181372A1 (en) | Data reading method, memory controller, and memory storage device | |
TWI571882B (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
TW201945927A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
TW201801089A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201413450A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI553477B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI559141B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |