TWI501244B - 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents

資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 Download PDF

Info

Publication number
TWI501244B
TWI501244B TW102148519A TW102148519A TWI501244B TW I501244 B TWI501244 B TW I501244B TW 102148519 A TW102148519 A TW 102148519A TW 102148519 A TW102148519 A TW 102148519A TW I501244 B TWI501244 B TW I501244B
Authority
TW
Taiwan
Prior art keywords
unit
physical erasing
temporary
temporary storage
storage area
Prior art date
Application number
TW102148519A
Other languages
English (en)
Other versions
TW201526006A (zh
Inventor
Wei Lin
Cheng-Long Low
Kiang-Giap Lau
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW102148519A priority Critical patent/TWI501244B/zh
Priority to US14/188,713 priority patent/US9001585B1/en
Publication of TW201526006A publication Critical patent/TW201526006A/zh
Application granted granted Critical
Publication of TWI501244B publication Critical patent/TWI501244B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Description

資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
本發明是有關於一種資料寫入方法,且特別是有關於用於可複寫式非揮發性記憶體模組的資料寫入方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
依據每個記憶胞可儲存的位元數,反及(NAND)型快閃記憶體可區分為單階儲存單元(Single Level Cell,SLC)NAND型快閃記憶體、多階儲存單元(Multi Level Cell,MLC)NAND型快閃記憶體與三階儲存單元(Trinary Level Cell,TLC)NAND型快閃記憶體,其中SLC NAND型快閃記憶體的每個記憶胞可儲存1 個位元的資料(即,“1”與“0”),MLC NAND型快閃記憶體的每個記憶胞可儲存2個位元的資料並且TLC NAND型快閃記憶體的每個記憶胞可儲存3個位元的資料。
在NAND型快閃記憶體中,實體程式化單元是由排列在同一條字元線上的數個記憶胞所組成。由於SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料,因此,在SLC NAND型快閃記憶體中,排列在同一條字元線上的數個記憶胞是對應一個實體程式化單元。
相對於SLC NAND型快閃記憶體來說,MLC NAND型快閃記憶體的每個記憶胞的浮動閘儲存層可儲存2個位元的資料,其中每一個儲存狀態(即,“11”、“10”、“01”與“00”)包括最低有效位元(Least Significant Bit,LSB)以及最高有效位元(Most Significant Bit,MSB)。例如,儲存狀態中從左側算起之第1個位元的值為LSB,而從左側算起之第2個位元的值為MSB。因此,排列在同一條字元線上的數個記憶胞可組成2個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元(low physical programming unit),並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元(upper physical programming unit)。特別是,下實體程式化單元的寫入速度會快於上實體程式化單元的寫入速度,並且當程式化上實體程式化單元發生錯誤時,下實體程式化單元所儲存之資料亦可能因此遺失。
類似地,在TLC NAND型快閃記憶體中,的每個記憶胞可儲存3個位元的資料,其中每一個儲存狀態(即,“111”、“110”、“101”、“100”、“011”、“010”、“001”與“000”)包括每一個儲存狀態包括左側算起之第1個位元的LSB、從左側算起之第2個位元的中間有效位元(Center Significant Bit,CSB)以及從左側算起之第3個位元的MSB。因此,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。特別是,對排列在同一條字元線上的數個記憶胞進行程式化時,僅能選擇僅程式化下實體程式化單元或者同時程式化下實體程式化單元、中實體程式化單元與上實體程式化單元,否則所儲存之資料可能會遺失。
一般而言,使用TLC NAND型快閃記憶體的記憶體模組,會將其中的部份實體抹除單元分組為使用只操作於下實體程式化單元的一單頁模式來模擬SLC NAND型快閃記憶體的運作,藉此也提高了壽命(抹除次數上限),也因為只操作於下實體程式化單元,寫入、讀取速度也增進許多。而此模擬SLC NAND型快閃記憶體操作模式的部份實體抹除單元,會被使用於做為記憶體模組的緩衝區,用來暫存資料,或是用來儲存系統資料。但,若是大量使用此緩衝區來做資料暫存,會使此緩衝區的實體抹除單 元抹除次數快速增加導致老化,而使之後暫存其中的資料容易發生不可恢復的資料錯誤。
基於上述,如何避免因為此緩衝區的實體抹除單元老化所導致的資料錯誤,以及提升每一記憶胞可儲存多個位元的快閃記憶體的可靠度與效能是此領域技術人員所致力的目標。
本發明提供一種資料寫入方法、記憶體控制電路單元及記憶體儲存裝置,其能夠有效地延長記憶體儲存裝置的壽命。
本發明的一範例實施例提出一種資料寫入方法,用於可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元。本資料寫入方法包括:將這些實體抹除單元至少分組為閒置區與暫存區;接收第一資料,其中第一資料欲被儲存至第一邏輯單元的多個邏輯子單元中;根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元;使用單頁模式將第一資料寫入至第一暫存實體抹除單元組的這些暫存實體抹除單元;以及從閒置區中的這些實體抹除單元中提取第一實體抹除單元,從第一暫存實體抹除單元組的這些暫存實體抹除單元中將第一資料複製至第一實體抹除單元中並且將第一邏輯單元映射至第一實體抹除單元,其中這些第一資料會被寫 入至第一實體抹除單元的每個實體程式單元組的下實體程式化單元與上實體程式化單元中並且第一實體抹除單元的每個實體程式化單元組的下實體程式化單元與上實體程式化單元會同時被程式化。
在本發明的一範例實施例中,上述根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟包括:判斷暫存區的實體抹除單元的平均抹除次數是否小於第一預設門檻值;以及倘若暫存區的實體抹除單元的平均抹除次數小於第一預設門檻值時,僅從暫存區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元。
在本發明的一範例實施例中,上述根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟更包括:判斷暫存區的實體抹除單元的平均抹除次數是否大於第二預設門檻值;以及倘若暫存區的實體抹除單元的平均抹除次數大於第二預設門檻值時,僅從閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元。
在本發明的一範例實施例中,上述根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟更包括:倘若暫存區的實體抹除單元的平均抹除次數介於第一預設門檻值與第二預設門檻值之間時,從暫存區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的一部份且從閒置區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的另一部份。
在本發明的一範例實施例中,上述根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟更包括:根據暫存區的實體抹除單元的平均抹除次數計算暫存區提取比率;建立隨機亂數模組,其中隨機亂數模組是由多個第一數值與多個第二數值所組成並且這些第一數值的數目與這些第二數值的數目的比率相同於暫存區提取比率;從隨機亂數模組中的這些第一數值與這些第二數值之中隨機取得數值,並且判斷此數值是否屬於這些第一數值的其中之一;倘若此數值屬於這些第一數值的其中之一時,則從暫存區的實體抹除單元之中提取一個 實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的其中之一;以及倘若數值非屬於這些第一數值的其中之一時,則從閒置區的實體抹除單元之中提取一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的其中之另一。
在本發明的一範例實施例中,上述閒置區的這些實體抹除單元和暫存區的這些實體抹除單元是彼此獨立地被操作。
在本發明的一範例實施例中,在第一資料複製至第一實體抹除單元之後,作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該暫存區的實體抹除單元會被關聯回該暫存區,並且作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該閒置區的實體抹除單元會被關聯回該閒置區。
在本發明的一範例實施例中,上述僅從暫存區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的步驟包括:從暫存區的這些實體抹除單元之中提取3個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的第一暫存實體抹除單元、第二暫存實體抹除單元與第三暫存實體抹除單元。
在本發明的一範例實施例中,上述僅從閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的步驟包括:從閒置區的這些實體抹除單元之中提取3個實體抹除單元作為對應第 一邏輯單元的第一暫存實體抹除單元組的第一暫存實體抹除單元、第二暫存實體抹除單元與第三暫存實體抹除單元。
在本發明的一範例實施例中,上述從暫存區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的一部份且從閒置區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的另一部份的步驟包括:從暫存區的這些實體抹除單元之中提取1個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的第一暫存實體抹除單元;以及從閒置區的這些實體抹除單元之中提取2個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的第二暫存實體抹除單元與第三暫存實體抹除單元。
在本發明的一範例實施例中,上述從暫存區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的一部份且從閒置區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的另一部份的步驟包括:從暫存區的這些實體抹除單元之中提取2個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的第一暫存實體抹除單元與第二暫存實體抹除單元;以及從閒置區的這些實體抹除單元之中提取1個實體抹除單元作為對應第 一邏輯單元的第一暫存實體抹除單元組的第三暫存實體抹除單元。
本發明一範例實施例提供一種記憶體控制電路單元,用於控制可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元。此記憶體控制電路單元包括:用以耦接至主機系統的主機介面;用以耦接至可複寫式非揮發性記憶體模組的記憶體介面;以及耦接至主機介面與記憶體介面的記憶體管理電路。記憶體管理電路用以將此些實體抹除單元至少分組為閒置區與暫存區,並且從主機系統中接收第一資料,其中主機系統指示將第一資料儲存至第一邏輯單元的多個邏輯子單元中。此外,記憶體管理電路更用以根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元。再者,記憶體管理電路更使用單頁模式將第一資料寫入至第一暫存實體抹除單元組的這些暫存實體抹除單元。另外,記憶體管理電路更用以從閒置區中的這些實體抹除單元中提取第一實體抹除單元,從第一暫存實體抹除單元組的這些暫存實體抹除單元中將第一資料合併至第一實體抹除單元中並且將第一邏輯單元映射至第一實體抹除單元,其中這些第一資料會被寫入至第一實體抹除單元的每個實體程式化單元組的下實體程式化單元與上實體程式化單元中並且第一實體抹除單元的每個實體程式化單元組的下實體程式化單 元與上實體程式化單元會同時被程式化。
在本發明的一範例實施例中,在根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的運作中,記憶體管理電路更用以判斷暫存區的實體抹除單元的平均抹除次數是否大於第二預設門檻值,其中倘若暫存區的實體抹除單元的平均抹除次數大於第二預設門檻值時,記憶體管理電路僅從閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元。
在本發明的一範例實施例中,在根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的運作中,倘若暫存區的實體抹除單元的平均抹除次數介於第一預設門檻值與第二預設門檻值之間時,記憶體管理電路從暫存區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的一部份且從閒置區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的另一部份。
在本發明的一範例實施例中,上述記憶體管理電路更用 以根據暫存區的實體抹除單元的平均抹除次數計算暫存區提取比率,並且設定隨機亂數模組,其中隨機亂數模組是由多個第一數值與多個第二數值所組成並且這些第一數值的數目與這些第二數值的數目的比率相同於暫存區提取比率。並且,在根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的運作中,記憶體管理電路從隨機亂數模組中的這些第一數值與這些第二數值之中隨機取得數值,並且判斷數值是否屬於這些第一數值的其中之一。倘若數值屬於這些第一數值的其中之一時,記憶體管理電路從暫存區的實體抹除單元之中提取實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的其中之一;並且倘若數值非屬於這些第一數值的其中之一時,記憶體管理電路從閒置區的實體抹除單元之中提取實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的其中之另一。
在本發明的一範例實施例中,在第一資料複製至第一實體抹除單元之後,上述記憶體管理電路更將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該暫存區的實體抹除單元關聯回該暫存區,並且該記憶體管理電路也將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該閒置區的實體抹除單元關聯回該閒置區。
本發明的一範例實施例提供一種記憶體儲存裝置,其包括:用以耦接至主機系統的連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。可複寫式非揮發性記憶體模組具有多個實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,並且用以將這些實體抹除單元至少分組為閒置區與暫存區。記憶體控制電路單元更用以從主機系統中接收第一資料,其中主機系統指示將第一資料儲存至第一邏輯單元的多個邏輯子單元中。此外,記憶體控制電路單元更用以根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的多個暫存實體抹除單元。另外,記憶體控制電路單元更使用單頁模式將第一資料寫入至第一暫存實體抹除單元組的這些暫存實體抹除單元。再者,記憶體控制電路單元更用以從閒置區中的這些實體抹除單元中提取第一實體抹除單元,從第一暫存實體抹除單元組的這些暫存實體抹除單元中將第一資料合併至第一實體抹除單元中並且將第一邏輯單元映射至第一實體抹除單元,其中這些第一資料會被寫入至第一實體抹除單元的每個實體程式化單元組的下實體程式化單元與上實體程式化單元中並且第一實體抹除單元的每個實體程式化單元組的下實體程式化單元與上實體程式化單元會同時被程式化。
在本發明的一範例實施例中,在根據暫存區的實體抹除 單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的運作中,記憶體控制電路單元更用以判斷暫存區的實體抹除單元的平均抹除次數是否大於第二預設門檻值,其中倘若暫存區的實體抹除單元的平均抹除次數大於第二預設門檻值時,記憶體控制電路單元僅從閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元。
在本發明的一範例實施例中,在根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的運作中,倘若暫存區的實體抹除單元的平均抹除次數介於第一預設門檻值與第二預設門檻值之間時,記憶體控制電路單元從暫存區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的一部份且從閒置區的實體抹除單元之中提取至少一個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的另一部份。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以根據暫存區的實體抹除單元的平均抹除次數計算暫存區提 取比率,並且設定隨機亂數模組,其中隨機亂數模組是由多個第一數值與多個第二數值所組成並且這些第一數值的數目與這些第二數值的數目的比率相同於暫存區提取比率。並且,在根據暫存區的實體抹除單元的平均抹除次數,從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的運作中,記憶體控制電路單元從隨機亂數模組中的這些第一數值與這些第二數值之中隨機取得數值,並且判斷數值是否屬於這些第一數值的其中之一,其中倘若數值屬於這些第一數值的其中之一時,記憶體控制電路單元從暫存區的實體抹除單元之中提取實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的其中之一,其中倘若數值非屬於這些第一數值的其中之一時,記憶體控制電路單元從閒置區的實體抹除單元之中提取實體抹除單元作為對應第一邏輯單元的第一暫存實體抹除單元組的這些暫存實體抹除單元的其中之另一。
在本發明的一範例實施例中,在第一資料複製至第一實體抹除單元之後,上述記憶體控制電路單元更將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該暫存區的實體抹除單元關聯回該暫存區並且該記憶體控制電路單元也將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該閒置區的實體抹除單元關聯回該閒置區。
基於上述,本發明的資料寫入方法、記憶體控制電路單 元及記憶體儲存裝置可以根據暫存區的實體抹除單元的平均抹除次數,動態地從暫存區、或閒置區、或者暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應一邏輯單元的暫存實體抹除單元組的多個暫存實體抹除單元,如此一來可以避免暫存區的實體抹除單元因為使用次數過大所導致儲存其中的資料錯誤,從而增進可儲存多個位元的快閃記憶體的可靠度與效能。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
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‧‧‧可複寫式非揮發性記憶體模組
302‧‧‧記憶體管理電路
304‧‧‧主機介面
306‧‧‧記憶體介面
308‧‧‧緩衝記憶體
310‧‧‧電源管理電路
312‧‧‧錯誤檢查與校正電路
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧暫存區
508‧‧‧取代區
510(0)~510(N)‧‧‧實體抹除單元
510(S+1)‧‧‧取自暫存區作為第一暫存實體抹除單元組的第一暫存實體抹除單元的實體抹除單元
510(S+2)‧‧‧取自暫存區作為第一暫存實體抹除單元組的第二暫存實體抹除單元的實體抹除單元
510(S+3)‧‧‧取自暫存區作為第一暫存實體抹除單元組的第三暫存實體抹除單元的實體抹除單元
510(F+4)‧‧‧取自閒置區作為第一暫存實體抹除單元組的第一暫存實體抹除單元的實體抹除單元
510(F+2)‧‧‧取自閒置區作為第一暫存實體抹除單元組的第二暫存 實體抹除單元的實體抹除單元
510(F+3)‧‧‧取自閒置區作為第一暫存實體抹除單元組的第三暫存實體抹除單元的實體抹除單元
510(F+1)‧‧‧第一實體抹除單元
530‧‧‧隨機亂數模組
532‧‧‧第一數值
534‧‧‧第二數值
LBA(0)‧‧‧第一邏輯單元
S1101、S1103、S1105、S1107、S1109、S1111、S1113‧‧‧寫入資料的步驟
S1201、S1203、S1205、S1207‧‧‧寫入資料的步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖1C是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
圖3A與圖3B是根據本範例時實施例所繪示之記憶胞儲存架構與實體抹除單元的範例示意圖。
圖4是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖5與圖6是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖7是根據一範例所繪示之資料暫存的示意圖。
圖8是根據一範例所繪示之資料合併程序的示意圖。
圖9A為根據第一範例所繪示之資料暫存的範例示意圖。
圖9B為根據第一範例所繪示之資料合併的範例示意圖。
圖9C為根據第一範例所繪示之資料暫存的另一範例示意圖。
圖9D為根據第一範例所繪示之資料合併的另一範例示意圖。
圖9E為根據第一範例所繪示之資料暫存的另一範例示意圖。
圖9F為根據第一範例所繪示之資料合併的另一範例示意圖。
圖9G為根據第一範例所繪示之資料暫存的另一範例示意圖。
圖9H為根據第一範例所繪示之資料合併的另一範例示意圖。
圖10為根據第二範例所繪示的隨機亂數模組的範例示意圖。
圖11為根據本發明的一範例實施例所繪示的寫入資料的流程圖。
圖12為根據本發明的另一範例實施例所繪示的寫入資料的流程圖。
圖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可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為圖1C中的數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得 一提的是,嵌入式多媒體卡是直接電性連接於主機系統的基板上。
圖2是繪示圖1A所示的記憶體儲存裝置的概要方塊圖。
請參照圖2,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於安全數位(Secure Digital,SD)介面標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、序列先進附件(serial Advanced Technology Attachment,SATA)標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元可與記憶體控制電路單元封裝在一個晶片中,或佈設於一包含記憶體控制電路單元之晶片外。
記憶體控制電路單元104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令 在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取、抹除與合併等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制電路單元104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元510(0)~510(N)。例如,實體抹除單元510(0)~510(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,例如本發明的範例實施例中,每一個實體抹除單元包含258個實體程式化單元,而其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可 包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。
在本發明的範例實施例中,可複寫式非揮發性記憶體模組106為複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3A與圖3B是根據本範例時實施例所繪示之記憶胞儲存架構與實體抹除單元的範例示意圖。
請參照圖3A,可複寫式非揮發性記憶體模組106的每個記憶胞的儲存狀態可被識別為“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如圖3A所示),其中左側算起之第1個位元為LSB、從左側算起之第2個位元為CSB以及從左側算起之第3個位元為MSB。此外,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。
請參照圖3B,一個實體抹除單元是由多個實體程式化單元組所組成,其中每個實體程式化單元組包括由排列在同一條字元線上的 數個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元。例如,在實體抹除單元中,屬於下實體程式化單元的第0個實體程式化單元、屬於中實體程式化單元的第1個實體程式化單元和屬於上實體程式化單元的第2個實體程式化單元會被視為一個實體程式化單元組。類似地,第3、4、5個實體程式化單元會被視為一個實體程式化單元組,並且以此類推其他實體程式化單元亦是依據此方式被區分為多個實體程式化單元組。
圖4是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。必須瞭解的是,圖4所繪示之記憶體控制電路單元僅為一個範例,本發明不限於此。
請參照圖4,記憶體控制電路單元104包括記憶體管理電路302、主機介面304、記憶體介面306、緩衝記憶體308、電源管理電路310、錯誤檢查與校正電路312。
記憶體管理電路302用以控制記憶體控制電路單元104的整體運作。具體來說,記憶體管理電路302具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取、抹除與合併等運作。
在本發明的範例實施例中,記憶體管理電路302的控制指令是以韌體型式來實作。例如,記憶體管理電路302具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取、抹除與合併等運作。
在本發明另一範例實施例中,記憶體管理電路302的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路302具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路302的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取、抹除與合併等運作。
此外,在本發明另一範例實施例中,記憶體管理電路302的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路302包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是電性連接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組106的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫 式非揮發性記憶體模組106中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面304是電性連接至記憶體管理電路302並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面304來傳送至記憶體管理電路302。在本範例實施例中,主機介面304是相容於SD標準。然而,必須瞭解的是本發明不限於此,主機介面304亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準、UHS-II介面標準、SATA標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面306是耦接至記憶體管理電路302並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面306轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
在本發明一範例實施例中,記憶體控制電路單元104還包括緩衝記憶體308、電源管理電路310與錯誤檢查與校正電路312。
緩衝記憶體308是耦接至記憶體管理電路302並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路310是耦接至記憶體管理電路302並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路312是耦接至記憶體管理電路302並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路302從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路312會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路302會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路302從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路312會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
在本範例實施例中,可複寫式非揮發性記憶體模組至少被分組為暫存區與閒置區。例如,於本發明的範例實施例中,分組於暫存區或閒置區的實體抹除單元數量於出廠時便已設定完畢,而在其他實施例中,每區所含的實體抹除單元數量,亦可以經由韌體或是軟體來設定。
圖5與圖6是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
請參照圖5,可複寫式非揮發性記憶體模組106具有實體抹除單元510(0)~510(N),並且記憶體控制電路單元104(或記憶體管理 電路302)會邏輯地分割(partition)為資料區502、閒置區504、暫存區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於暫存區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括邏輯轉實體位址映射表、關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。特別是,在本範例實施例中,暫存區506除了可以用了儲存一些系統資料之外,更可做為對應邏輯單元之暫存實體抹除單元組中暫存實體抹除單元,以暫存主機系統1000所寫入的資料。詳細的暫存資料的方法以及步驟,將配合圖示說明如後。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路302會從取代區508中提取 正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、暫存區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體抹除單元關聯至資料區502、閒置區504、暫存區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖6,記憶體控制電路單元104(或記憶體管理電路302)會配置邏輯單元LBA(0)~LBA(H)以映射資料區502的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統100欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別資料每個邏輯單元的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統1000欲在邏輯子單元中存取資料時,記憶體控制電路單元104(或記憶體管理電路302)會確認此邏輯子單元所屬的邏輯單元,並且在此邏輯單元所映射的實體抹除單元中來存取資 料。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯單元所映射的實體抹除單元,並且當欲存取資料時記憶體控制電路單元104(或記憶體管理電路302)會將邏輯轉實體位址映射表載入至緩衝記憶體308來維護。
值得一提的是,由於緩衝記憶體308的容量有限無法儲存記錄所有邏輯單元之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會將邏輯單元LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯轉實體位址映射表。特別是,當記憶體控制電路單元104(或記憶體管理電路202)欲更新某個邏輯單元的映射時,對應此邏輯單元所屬之邏輯區域的邏輯轉實體位址映射表會被載入至緩衝記憶體308來被更新。
在本發明的範例實施例中,當從主機系統1000接收到指示將資料(以下稱為第一資料)儲存至邏輯單元(以下稱為第一邏輯單元)的寫入指令時,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504或暫存區506中提取數個實體抹除單元作為對應第一邏輯單元的暫存實體抹除單元組(以下稱為第一暫存實體抹除單元組)的暫存實體抹除單元,並且使用單頁模式先將第一資料暫存至暫存實體抹除單元的下實體程式化單元。之後,記憶體控制電路單元104(或記憶體管理電路302)才使用多頁模式將暫存實體抹除單元組中的資 料寫入至對應的實體抹除單元並且將此第一邏輯單元映射至此對應的實體抹除單元。
在此,所謂單頁模式是指,僅使用下實體程式化單元來儲存資料。也就是說,在單頁模式中,記憶體控制電路單元104(或記憶體管理電路302)僅會對下實體程式化單元進行資料的寫入運作。由於暫存實體抹除單元是用單頁模式來被操作,因此,在本範例實施例中,一個暫存實體抹除單元僅有三分之一的容量會被使用且對應一個邏輯單元的暫存實體抹除單元組會包含3個暫存實體抹除單元以提供足夠的空間來儲存一個邏輯單元的資料。在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)是使用單頁模式來操作暫存區506的實體抹除單元,或是使用單頁模式來操作暫存實體抹除單元組中的暫存實體抹除單元。
所謂多頁模式是指使用下實體程式化單元、中實體程式化單元與上實體程式化單元來儲存資料。也就是說,當使用多頁模式來寫入資料時,記憶體控制電路單元104(或記憶體管理電路302)會對一個實體程式化單元組的下實體程式化單元、中實體程式化單元與上實體程式化單元執行程式化。值得一提的,在一範例實施例中,使用多頁模式來操作實體抹除單元時,同一個實體程式化單元組的實體程式化單元會同時地或階段性地被程式化。再者,相較於以單頁模式來操作的實體抹除單元,以多頁模式來操作的實體抹除單元的使用壽命較短。具體來說,每個實體抹除單元能夠被寫入或抹除的次數是有限的,當一個實體抹除單元被寫入的次數超過一個臨界值時,此實體抹 除單元可能就會損壞而無法再被寫入資料,其中對應以多頁模式來操作之實體抹除單元的臨界值會低於對應以單頁模式來操作之實體抹除單元的臨界值。在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)是使用多頁模式來操作關聯至資料區502的實體抹除單元。
在本範例實施例中,當一個實體抹除單元被劃分至暫存區506後,此實體抹除單元將僅能用於暫存區506,而不會與閒置區504與資料區502的實體抹除單元混用。也就是說,記憶體控制電路單元104(或記憶體管理電路302)會獨立地操作暫存區506與閒置區504的實體抹除單元。例如,當一個實體抹除單元被劃分至暫存區506後,記憶體控制電路單元104(或記憶體管理電路302)會以單頁模式於暫存區506中操作此實體抹除單元,直到此實體抹除單元損壞為止。
圖7是根據一範例所繪示之資料暫存的示意圖。
請參照圖7,當記憶體儲存裝置100從主機系統1000中接收到指示將更新資料儲存至邏輯單元LBA(0)的第0~257個邏輯子單元的寫入指令時,假設於本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)僅從暫存區506中提取3個實體抹除單元510(S+1)、510(S+2)、510(S+3)分別做為對應邏輯單元LBA(0)的暫存實體抹除單元組的第一暫存實體抹除單元、第二暫存實體抹除單元、第三暫存實體抹除單元,記憶體控制電路單元104(或記憶體管理電路302)會使用此對應邏輯單元LBA(0)的暫存實體抹除單元組的第一暫存實體抹除單元510(S+1)、第二暫存實體抹除單元510(S+2)、第三 暫存實體抹除單元510(S+3)來寫入屬於邏輯單元LBA(0)的更新資料。
例如,記憶體控制電路單元104(或記憶體管理電路302)會將欲儲存至邏輯單元LBA(0)的第0~85個邏輯子單元的更新資料(亦稱為第一部份資料)依序地寫入至第一暫存實體抹除單元510(S+1)的下實體程式化單元、將欲儲存至邏輯單元LBA(0)的第86~171個邏輯子單元的更新資料(亦稱為第二部份資料)依序地寫入至第二暫存實體抹除單元510(S+2)的下實體程式化單元以及將欲儲存至邏輯單元LBA(0)的第172~257個邏輯子單元的更新資料(亦稱為第三部份資料)依序地寫入至第三暫存實體抹除單元510(S+3)的下實體程式化單元中。值得一提的是,當連續地寫入大量資料時,上述依據第一暫存實體抹除單元、第二暫存實體抹除單元與第三暫存實體抹除單元的頁面順序來寫入資料可利用快取程式化(cache programming)指令以有效地提升寫入資料的速度。在另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會將欲儲存至邏輯單元LBA(0)的各個邏輯子單元的更新資料經過再整理或排列後,再同時寫入至第一暫存實體抹除單元510(S+1)的下實體程式化單元、第二暫存實體抹除單元510(S+2)的下實體程式化單元以及第三暫存實體抹除單元510(S+3)的下實體程式化單元中。
在本範例實施例中,當將主機系統1000欲儲存之更新資料寫入至對應邏輯單元LBA(0)的暫存實體抹除單元組的第一暫存實體抹除單元510(S+1)、第二暫存實體抹除單元510(S+2)、第三暫存實體抹除單元510(S+3)後,記憶體控制電路單元104(或記憶體管理電路 302)就會傳送通知已完成指令的回覆(Response)給主機系統1000。並且,之後,當記憶體儲存裝置100屬於閒置狀態一段時間(例如,30秒未從主機系統1000中接收到任何指令)或者暫存區506以及閒置區504空的實體抹除單元的數目小於預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)才會從對應邏輯單元的暫存實體抹除單元組中將屬於此邏輯單元的有效資料合併至一個空的實體抹除單元並且將此邏輯單元映射至此實體抹除單元。例如,預設門檻值會被設定為3。然而,必須瞭解的是,本發明不限於此,預設門檻值亦可以是其他適當的數值。在此,從對應一邏輯單元的暫存實體抹除單元組中將屬於此邏輯單元的有效資料複製至資料區502的對應此邏輯單元的一實體抹除單元的運作稱為資料合併運作。
圖8是根據一範例所繪示之資料合併程序的示意圖。
假設對應邏輯單元LBA(0)的暫存實體抹除單元組的第一暫存實體抹除單元510(S+1)、第二暫存實體抹除單元510(S+2)、第三暫存實體抹除單元510(S+3)已儲存邏輯單元LBA(0)的所有邏輯子單元的有效資料(如圖7所示)並且記憶體管理電路302選擇對邏輯單元LBA(0)進行資料合併運作。
首先,如同圖8所繪示,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504中提取一個實體抹除單元作為當作用於輪替的實體抹除單元510(F+1)(以下亦稱為第一實體抹除單元510(F+1))。具體來說,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504中選擇一個空的實體抹除單元或者所儲存之資料 為無效資料的實體抹除單元。特別是,倘若所提取之實體抹除單元是儲存無效資料的實體抹除單元時,記憶體控制電路單元104(或記憶體管理電路302)會先對此實體抹除單元執行抹除運作。也就是說,實體抹除單元上的無效資料必須先被抹除。
之後,請參照圖8,記憶體控制電路單元104(或記憶體管理電路302)會從第一暫存實體抹除單元510(S+1)的下實體程式化單元中將屬於邏輯單元LBA(0)的第0~85邏輯子單元的有效資料複製至第一實體抹除單元510(F+1)的對應頁面(例如,第0~85實體程式化單元)。接著,記憶體控制電路單元104(或記憶體管理電路302)會從第二暫存實體抹除單元510(S+2)的下實體程式化單元中將屬於邏輯單元LBA(0)的第86~171邏輯子單元的有效資料複製至第一實體抹除單元510(F+1)的對應頁面(例如,第86~171實體程式化單元)。然後,記憶體控制電路單元104(或記憶體管理電路302)會從第三暫存實體抹除單元510(S+3)的下實體程式化單元中將屬於邏輯單元LBA(0)的第172~257邏輯子單元的有效資料複製至第一實體抹除單元510(F+1)的對應頁面(例如,第172~257實體程式化單元)。
值得一提的是,如上所述,欲被關聯至資料區502的實體抹除單元是以多頁模式來操作,因此,寫入至第一實體抹除單元510(F+1)是以實體程式化單元組為單位來同時或階段性地程式化。具體來說,在一範例實施例中,第一實體抹除單元510(F+1)的第0、1、2個實體程式化單元會同時地被程式化以寫入屬於邏輯單元LBA(0)的第0、1、2個邏輯子單元的資料;第一實體抹除單元510(F+1)的第3、4、5個 實體程式化單元會同時地被程式化以寫入屬於邏輯單元LBA(0)的第3、4、5個邏輯子單元的資料;並且以此類推其他邏輯子單元的資料皆是以實體程式化單元組為單位被寫入至第一實體抹除單元510(F+1)中。
最後,記憶體控制電路單元104(或記憶體管理電路302)會在邏輯轉實體位址映射表中將邏輯單元LBA(0)映射至第一實體抹除單元510(F+1)並且將對應邏輯單元的暫存實體抹除單元組的暫存實體抹除單元510(S+1)~510(S+3)執行抹除運作。也就是說,在執行下一個寫入指令時,已被抹除的暫存實體抹除單元510(S+1)~510(S+3)就可再被選擇作為欲寫入之邏輯單元的暫存實體抹除單元。
如上所述,當接收到寫入指令時,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504或暫存區506中提取數個實體抹除單元作為對應第一邏輯單元的暫存實體抹除單元組的暫存實體抹除單元來暫存資料。特別是,在本發明的範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會計算位於暫存區506的實體抹除單元的平均抹除次數,並且會與出廠預設的一個或多個預設門檻值做比較,以決定從暫存區506或是從閒置區504中取實體抹除單元來做為對應一個邏輯單元的暫存實體抹除單元組中的暫存實體抹除單元。以下將以數個範例實施例來說明本發明的根據暫存區的實體抹除單元的平均抹除次數,動態地僅從暫存區、或僅從閒置區、或者從暫存區及閒置區的實體抹除單元之中提取多個實體抹除單元作為對應一邏輯單元的暫存實體抹除單元組的多個暫存實體抹除 單元且將資料寫入暫存實體抹除單元組的資料寫入方法。
[第一範例]
圖9A為根據第一範例所繪示之資料暫存的範例示意圖。
請參照圖9A,記憶體控制電路單元104(或記憶體管理電路302)會接收到欲存入第一邏輯單元的第一資料。為了便於說明,在此,第一資料大小為一個實體抹除單元大小,而必須了解的是,於其他實施例中,此第一資料大小也可為多個實體抹除單元大小或小於一個實體抹除單元大小,本發明不限於此。而於第一範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)設定了三個數值大於零的預設門檻值,而其大小關係是第二預設門檻值大於第三預設門檻值,第三預設門檻值大於第一預設門檻值,而必須了解的是,本範例實施例的門檻值的設定與比較,僅用於說明本發明的概念,並不用於限制本發明。
在接收到第一資料之後,記憶體控制電路單元104(或記憶體管理電路302)會先決定對應此第一邏輯單元的第一暫存實體抹除單元組中的三個暫存實體抹除單元。倘若暫存區506的實體抹除單元的平均抹除次數小於或等於第一預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)會提取暫存區506的3個實體抹除單元,做為此第一暫存實體抹除單元組中的3個暫存實體抹除單元(例如,圖9A、9B中的第一暫存實體抹除單元510(S+1)、第二暫存實體抹除單元510(S+2)以及第三暫存實體抹除單元510(S+3)(斜線方格),並將第一資料寫入於此3個暫存實體抹除單元中(即,圖9A所示之“資 料暫存”運作)。特別是,如上所述,記憶體控制電路單元104(或記憶體管理電路302)是使用單頁模式來操作暫存實體抹除單元的寫入,因此,第一資料會只被寫入到此3個暫存實體抹除單元的下實體程式化單元中。
圖9B為根據第一範例所繪示之資料合併的範例示意圖。
請參照圖9B,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504取一個第一實體抹除單元510(F+1)。之後,記憶體控制電路單元104(或記憶體管理電路302)會依照上述第一資料寫入至第一暫存實體抹除單元組中的3個暫存實體抹除單元的順序,依序從此3個暫存實體抹除單元的下實體程式化單元中讀取第一資料,並將讀出的第一資料合併且同時寫入到第一實體抹除單元510(F+1)的上、中、下實體程式化單元中(即,此為圖9B所示的“資料合併”運作)。之後,記憶體控制電路單元104(或記憶體管理電路302)會將此第一資料所屬的第一邏輯單元映射至第一實體抹除單元510(F+1)(即,將第一實體抹除單元510(F+1)關聯至資料區)。
圖9C為根據第一範例所繪示之資料暫存的另一範例示意圖。
請參照圖9C,倘若暫存區506的實體抹除單元的平均抹除次數小於或等於一第三預設門檻值但大於第一預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)會提取暫存區506的2個實體抹除單元和閒置區504的1個實體抹除單元,做為此第一暫存實體抹除單元組中的3個暫存實體抹除單元(例如,圖9C、9D中的第一暫存實體抹除單元510(S+1)、第二暫存實體抹除單元510(S+2)以及第 三暫存實體抹除單元510(F+3)),並將第一資料暫存於此3個暫存實體抹除單元中。
圖9D為根據第一範例所繪示之資料合併的另一示意圖。
請參照圖9D,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504取一個第一實體抹除單元510(F+1)。之後,記憶體控制電路單元104(或記憶體管理電路302)會依照上述第一資料寫入至第一暫存實體抹除單元組中的3個暫存實體抹除單元的順序,從此3個暫存實體抹除單元的下實體程式化單元中讀取第一資料,並將讀出的第一資料合併且同時寫入到成為資料區的第一實體抹除單元510(F+1)的上、中、下實體程式化單元中。之後,記憶體控制電路單元104(或記憶體管理電路302)會將此第一資料所屬的第一邏輯單元映射至第一實體抹除單元510(F+1)。
圖9E為根據第一範例所繪示之資料暫存的另一範例示意圖。
請參照圖9E,倘若暫存區506的實體抹除單元的平均抹除次數小於或等於一第二預設門檻值但大於第三預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)會提取暫存區506的1個實體抹除單元和閒置區504的2個實體抹除單元,做為此第一暫存實體抹除單元組中的3個暫存實體抹除單元(例如,圖9E、9F中的第一暫存實體抹除單元510(S+1)、第二暫存實體抹除單元510(F+2)以及第三暫存實體抹除單元510(F+3)),並將第一資料暫存於此3個暫存實體抹除單元中。
圖9F為根據第一範例所繪示之資料合併的另一示意圖。
請參照圖9F,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504取一個第一實體抹除單元510(F+1)。之後,記憶體控制電路單元104(或記憶體管理電路302)會依照上述第一資料寫入至第一暫存實體抹除單元組中的3個暫存實體抹除單元的順序,從此3個暫存實體抹除單元的下實體程式化單元中讀取第一資料,並將讀出的第一資料合併且同時寫入到成為資料區的第一實體抹除單元510(F+1)的上、中、下實體程式化單元中。之後,記憶體控制電路單元104(或記憶體管理電路302)會將此第一資料所屬的第一邏輯單元映射至第一實體抹除單元510(F+1)。
圖9G為根據第一範例所繪示之資料暫存的另一示意圖。
請參照圖9G,倘若暫存區506的實體抹除單元的平均抹除次數大於第二預設門檻值時,記憶體管理電路302會提取閒置區504的3個實體抹除單元,做為此第一暫存實體抹除單元組中的3個暫存實體抹除單元(例如,圖9G、9H中的第一暫存實體抹除單元510(F+4)、第二暫存實體抹除單元510(F+2)以及第三暫存實體抹除單元510(F+3)),並將第一資料暫存於此3個暫存實體抹除單元中。
圖9H為根據第一範例所繪示之資料合併的另一範例示意圖。
請參照圖9H,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區504取一個第一實體抹除單元510(F+1)。接著,記憶體控制電路單元104(或記憶體管理電路302)會依照上述第一資料寫入至第一暫存實體抹除單元組中的3個暫存實體抹除單元的順序,從此3個暫存實體抹除單元的下實體程式化單元中讀取第一資料,並將 讀出的第一資料合併且同時寫入到成為資料區的第一實體抹除單元510(F+1)的上、中、下實體程式化單元中。之後,記憶體管理電路302會將此第一資料所屬的第一邏輯單元映射至第一實體抹除單元510(F+1)。
綜合上述,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會根據暫存區506的實體抹除單元的平均抹除次數以及預先設定之預設門檻值來決定從暫存區506或閒置區504來提取用作為暫存實體抹除單元組的暫存實體抹除單元。然而,值得注意的是,所述之預設門檻值的數值,以及對應的由暫存區或是閒置區提取實體抹除單元的個數,並不限於本範例實施例。舉例來說,可以只有1個預設門檻值和其對應的暫存實體抹除單元提取方式,並且在此範例實施例中,當暫存區506的實體抹除單元的平均抹除次數小於或等於此第一預設門檻值時,對應一邏輯單元的一暫存實體抹除單元組的3個暫存實體抹除單元,便會全部從暫存區的實體抹除單元之中來提取;當暫存區506的實體抹除單元的平均抹除次數大於此第一預設門檻值時,對應一邏輯單元的一暫存實體抹除單元組的3個暫存實體抹除單元,便會全部從閒置區504的實體抹除單元之中來提取。
[第二範例]
第二範例的“資料暫存”、“資料合併”的步驟相似於上述第一範例,以下將說明不同於第一範例的地方。
在第二範例中只有兩個預設門檻值會被使用。當暫存區的實體抹除單元的平均抹除次數小於或等於第一預設門檻值時,記憶體控 制電路單元104(或記憶體管理電路302)會提取暫存區的3個實體抹除單元,做為對應第一邏輯單元的第一暫存實體抹除單元組中的3個暫存實體抹除單元。當暫存區的實體抹除單元的平均抹除次數大於第一預設門檻值且小於或等於第二預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)會使用一隨機亂數模組與一暫存區提取比率,來決定從暫存區或是閒置區提取共3個實體抹除單元,做為對應第一邏輯單元的第一暫存實體抹除單元組中的3個暫存實體抹除單元。並且,當暫存區的實體抹除單元的平均抹除次數大於第二預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)會提取閒置區的3個實體抹除單元,做為對應第一邏輯單元的第一暫存實體抹除單元組中的3個暫存實體抹除單元。
圖10為根據第二範例所繪示的隨機亂數模組的示意圖。
請參照圖10,隨機亂數模組530包含0~9的10個數值。例如,在本範例實施例中,對應預設門檻值的暫存區提取比率為2比3,因此,隨機亂數模組530會按照此暫存區提取比率將10個數值分為兩組(即,第一數值532與第二數值534),其中在第一數值532與第二數值534的數值個數比率為2比3。如同圖10所示,數值0~3分組為第一數值532,數值4~9分組為第二數值534,而此兩組數值個數分別為4個和6個。也就是說,兩組數值的數值個數比為2比3,以對應暫存區提取比率2比3。
記憶體控制電路單元104(或記憶體管理電路302)會使用此隨機亂數模組,從其中的第一數值與第二數值之中,隨機取得1個 數值,並判斷隨機取得的此數值是否屬於第一數值的其中之一。
當隨機取得的此數值屬於第一數值時,記憶體控制電路單元104(或記憶體管理電路302)便從暫存區的實體抹除單元之中提取1個實體抹除單元,來做為對應第一邏輯單元的第一暫存實體抹除單元組中的1個暫存實體抹除單元。而,當隨機取得的此數值不屬於第一數值時(例如,屬於第二數值時),記憶體控制電路單元104(或記憶體管理電路302)便從閒置區的實體抹除單元之中提取1個實體抹除單元,來做為對應第一邏輯單元的第一暫存實體抹除單元組中的1個暫存實體抹除單元。
使用此隨機亂數模組提取3個對應第一邏輯單元的第一暫存實體抹除單元組中的3個暫存實體抹除單元之後,記憶體控制電路單元104(或記憶體管理電路302)便會將第一資料依序寫入此對應第一邏輯單元的第一暫存實體抹除單元組中的3個暫存實體抹除單元的下實體程式化單元,完成“資料暫存”,而之後的“資料合併”與第一範例相同。值得注意的是,本發明並不限定於本範例實施例的暫存區提取比率,暫存區提取比率可出廠時設定,或是經由韌體/軟體設定。
[第三範例]
與上述第二範例類似,第三範例也是使用對應一暫存區提取比率的隨機亂數模組來提取對應第一邏輯單元的第一暫存實體抹除單元組中的3個暫存實體抹除單元,與第二範例不同地方在於,在第三範例中,並沒有預設門檻值的設定,記憶體管理電路302會依照暫存區的全部實體抹除單元的平均抹除次數去計算暫存區提取比率。也就 是說,此暫存區提取比率會根據平均抹除次數的大小來動態做變化,而記憶體控制電路單元104(或記憶體管理電路302)每次提取暫存實體抹除單元組的暫存實體抹除單元之前,都會使用隨機亂數模組與當時所計算出的暫存區提取比率,來決定從暫存區或是閒置區來提取實體抹除單元,以做為暫存實體抹除單元組的暫存實體抹除單元。
具體來說,在第三範例中,記憶體控制電路單元104(或記憶體管理電路302)會記錄暫存區的實體抹除單元的平均抹除次數,並依照此平均抹除次數與出廠時位於暫存區的使用單頁模式操作的實體抹除單元,其最大抹除次數做計算。於本範例實施例中,是使用此最大抹除次數減去此時暫存區的實體抹除單元的平均抹除次數的差值與此時暫存區的實體抹除單元的平均抹除次數的比率當作此時的暫存區提取比率,當然本發明不限於此計算方法。根據本範例實施例的計算方法。
舉例來說,暫存區的實體抹除單元,假設其使用單頁模式操作的最大抹除次數為3000次,當暫存區的實體抹除單元的平均抹除次數為1500時,根據本範例實施例,暫存區提取比率為(3000-1500)比1500,即為1比1,而此時隨機亂數模組中位於第一數值與第二數值的數值個數比率便為1比1。
當暫存區的實體抹除單元的平均抹除次數大於或等於此最大抹除次數的極端例子時,暫存區提取比率為0比1,而此時隨機亂數模組中全部的數值會分組為第二數值。
而當暫存區的實體抹除單元的平均抹除次數為0的極端例子 時,暫存區提取比率為1比0,而此時隨機亂數模組中全部的數值會分組為第一數值。
舉例來說,隨機亂數模組也可以依據暫存區的實體抹除單元的最大抹除次數3000來設定共有1~3000的數值,其中第一數值的個數為此最大抹除次數減去此時平均抹除次數為1500。也就是說,1~1500分組為第一數值,且1501~3000分組為第二數值,本發明不限於此隨機亂數模組的設定方法。例如,於其他實施例中,隨機亂數模組的數值總個數為暫存區的實體抹除單元的最大抹除次數,第一數值的數值個數為當時的平均抹除次數,第二數值即為隨機亂數模組中非分組為第一數值的數值。當使用此隨機亂數模組隨機取得的數值屬於第一數值,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區提取實體抹除單元做為暫存實體抹除單元;並且當使用此隨機亂數模組隨機取得的數值屬於第二數值,記憶體控制電路單元104(或記憶體管理電路302)會從暫存區提取實體抹除單元做為暫存實體抹除單元。
之後,記憶體控制電路單元104(或記憶體管理電路302)使用此時的隨機亂數模組來提取暫存實體抹除單元做“資料暫存”,以及隨後的“資料合併”。在本範例實施例中,此暫存提取比率會按照暫存區的平均抹除次數來動態做調整,其中在暫存區中的實體抹除單元的平均抹除次數低時,記憶體控制電路單元104(或記憶體管理電路302)會提取暫存區的實體抹除單元來做為暫存實體抹除單元,另一方面,在暫存區中的實體抹除單元的平均抹除次數高時,也就是 暫存區中的實體抹除單元老化時,記憶體控制電路單元104(或記憶體管理電路302)會逐漸提取閒置區的實體抹除單元來做為暫存實體抹除單元,如此一來可避免因為暫存區的實體抹除單元老化容易發生資料錯誤時,又被當作暫存實體抹除單元來做“資料暫存”所導致的不可挽回的資料錯誤發生。
圖11為根據本發明一範例實施例所繪示的寫入資料的流程圖。
請參照圖11,在步驟S1101中,記憶體控制電路單元104(或記憶體管理電路302)會從主機系統900接收到欲寫入至一個邏輯單元(以下稱第一邏輯單元)的資料(以下稱第一資料)。
在步驟S1103中,記憶體控制電路單元104(或記憶體管理電路302)會判斷暫存區506中的實體抹除單元的平均抹除次數是否小於或等於第一預設門檻值。
當暫存區506中的全部實體抹除單元的平均抹除次數小於或等於第一預設門檻值時,在步驟S1111中,記憶體控制電路單元104(或記憶體管理電路302)會從暫存區506中提取3個實體抹除單元,做為對應第一邏輯單元的第一暫存實體抹除單元組的3個暫存實體抹除單元。
當暫存區506中的全部實體抹除單元的平均抹除次數大於第一預設門檻值時,在步驟S1105中,記憶體控制電路單元104(或記憶體管理電路302)會判斷暫存區506中的全部實體抹除單元的平均抹除次數是否小於或等於第二預設門檻值。
當暫存區506中的全部實體抹除單元的平均抹除次數大於第二預設門檻值時,在步驟S1107中,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區502中提取3個實體抹除單元,做為對應第一邏輯單元的第一暫存實體抹除單元組的3個暫存實體抹除單元。
當暫存區506中的全部實體抹除單元的平均抹除次數大於第一預設門檻值且小於或等於第二預設門檻值時,在步驟S1109中,記憶體控制電路單元104(或記憶體管理電路302)會使用對應一暫存區提取比率的隨機亂數模組530,來決定從暫存區506或是閒置區504中提取共3個實體抹除單元來做為對應第一邏輯單元的第一暫存實體抹除單元組的3個暫存實體抹除單元。
在步驟S1107、S1109、S1111步驟中,完成從暫存區506或是閒置區504提取3個實體抹除單元,以做為對應第一邏輯單元的第一暫存實體抹除單元組的3個暫存實體抹除單元之後,在步驟S1113,記憶體控制電路單元104(或記憶體管理電路302)會將第一資料寫入第一暫存實體抹除單元組的3個暫存實體抹除單元的下實體程式化單元中,結束第一資料的資料暫存流程。
圖12為根據本發明的另一範例實施例所繪示的寫入資料的流程圖。
請參照圖12,在步驟S1201中,記憶體控制電路單元104(或記憶體管理電路302)會從主機系統1000接收到欲寫入至一個邏輯單元(以下稱第一邏輯單元)的資料(以下稱第一資料)。
然後,在步驟S1203中,記憶體控制電路單元104(或記憶體管理電路302)會計算暫存區提取比率。本發明不限定此暫存區提取比率的計算方式,但所計算出的暫存區提取比率,會依照暫存區506的平均抹除次數增多,而動態變化。也就是說,不論使用何種計算方式所得到的動態變化的暫存區提取比率,記憶體控制電路單元104(或記憶體管理電路302)會在暫存區506的平均抹除次數增多時,降低提取自暫存區的實體抹除單元做為暫存實體抹除單元組的暫存實體抹除單元的比率,達到減低暫存區的實體抹除單元老化速率的效果。
然後,在步驟S1205中,記憶體控制電路單元104(或記憶體管理電路302)會使用對應此暫存區提取比率的隨機亂數模組,從暫存區或閒置區中提取共3個實體抹除單元,以做為對應第一邏輯單元的第一暫存實體抹除單元組的3個暫存實體抹除單元。
完成從暫存區506或是閒置區504提取3個實體抹除單元,以做為對應第一邏輯單元的第一暫存實體抹除單元組的3個暫存實體抹除單元之後,在步驟S1207中,記憶體控制電路單元104(或記憶體管理電路302)會將第一資料寫入第一暫存實體抹除單元組的3個暫存實體抹除單元的下實體程式化單元中,結束第一資料的資料暫存流程。
值得一提的是,在本發明的範例實施例中,更會在第一資料複製至第一實體抹除單元之後,更將作為該第一暫存實體抹除單元組的暫存實體抹除單元之中取自暫存區的實體抹除單元關聯回暫存區,並且也將作為該第一暫存實體抹除單元組的暫存實體抹除單元之中取 自閒置區的實體抹除單元關聯回閒置區。也就是說,在完成“資料合併”之後,這些使用過後的暫存實體抹除單元,可以回到原本所屬的暫存區或是閒置區,以便於可以用來做上述的原本暫存區或閒置區的實體抹除單元的其他用途。例如,關聯回閒置區之後的實體抹除單元,更可以用來與位於資料區的實體抹除單元一起做耗損平均(wear leveling)的程序,進一步地增進資料區的實體抹除單元的壽命,以增進穩定性。
綜上所述,藉由上述的範例實施例,本發明可以動態調整暫存區的實體抹除單元的提取比率,可避免因為暫存區的實體抹除單元老化時,又繼續自暫存區提取老化的實體抹除單元做為資料暫存所導致的資料錯誤。此外,主機系統欲寫入的資料會先暫存至以單頁模式操作的暫存實體抹除單元組中,因此,根據本範例實施例的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置能夠有效地提升寫入資料的速度,避免因為TLC的寫入速度較慢,所導致的主機逾時。此外,由於欲寫入的資料是先暫存在暫存實體抹除單元組中,並且,之後再以實體程式化單元(即,由位於同一條字元線的多個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元)為單位程式化至資料區的實體抹除單元,因此,可有效地提升儲存資料的可靠度。特別是,倘若主機系統持續地對同一個邏輯單元重覆執行寫入時,由於資料是在暫存區中被更新,因此,根據本範例實施例的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置能夠有效地減少資料區之實體抹除單元的磨損。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S1101、S1103、S1105、S1107、S1109、S11011、S11013‧‧‧寫入資料的步驟

Claims (24)

  1. 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元,該資料寫入方法包括:將該些實體抹除單元至少分組為一閒置區與一暫存區,其中該暫存區的該些實體抹除單元是以單頁模式來寫入資料;接收一第一資料,其中該第一資料欲被儲存至一第一邏輯單元的多個邏輯子單元中;根據該暫存區的實體抹除單元的一平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的一第一暫存實體抹除單元組的多個暫存實體抹除單元;其中該第一暫存實體抹除單元組的該些暫存實體抹除單元是以單頁模式來寫入該第一資料;以及從該閒置區中的該些實體抹除單元中提取一第一實體抹除單元,從該第一暫存實體抹除單元組的該些暫存實體抹除單元中將該第一資料複製至該第一實體抹除單元中並且將該第一邏輯單元映射至該第一實體抹除單元。
  2. 如申請專利範圍第1項所述之資料寫入方法,其中該第一資料會被寫入至該第一實體抹除單元的每一實體程式化單元組的下實體程式化單元與上實體程式化單元中並且該第一實體抹除單 元的每一實體程式化單元組的下實體程式化單元與上實體程式化單元會同時或階段性地被程式化。
  3. 如申請專利範圍第1項所述之資料寫入方法,其中根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟包括:判斷該暫存區的實體抹除單元的該平均抹除次數是否小於一第一預設門檻值;以及倘若該暫存區的實體抹除單元的該平均抹除次數小於該第一預設門檻值時,僅從該暫存區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元。
  4. 如申請專利範圍第1項所述之資料寫入方法,其中根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟更包括:判斷該暫存區的實體抹除單元的該平均抹除次數是否大於一第二預設門檻值;以及倘若該暫存區的實體抹除單元的該平均抹除次數大於該第二預設門檻值時,僅從該閒置區的實體抹除單元之中提取多個實體 抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元。
  5. 如申請專利範圍第1項所述之資料寫入方法,其中根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟更包括:倘若該暫存區的實體抹除單元的該平均抹除次數介於該第一預設門檻值與該第二預設門檻值之間時,從該暫存區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的一部份且從該閒置區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的另一部份。
  6. 如申請專利範圍第1項所述之資料寫入方法,其中根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的多個暫存實體抹除單元的步驟更包括:根據該暫存區的實體抹除單元的該平均抹除次數計算一暫存區提取比率;建立一隨機亂數模組,其中該隨機亂數模組是由多個第一數 值與多個第二數值所組成並且該些第一數值的數目與該些第二數值的數目的一比率相同於該暫存區提取比率;從該隨機亂數模組中的該些第一數值與該些第二數值之中隨機取得一數值,並且判斷該數值是否屬於該些第一數值的其中之一;倘若該數值屬於該些第一數值的其中之一時,則從該暫存區的實體抹除單元之中提取一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的其中之一;以及倘若該數值非屬於該些第一數值的其中之一時,則從該閒置區的實體抹除單元之中提取一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的其中之另一。
  7. 如申請專利範圍第1項所述之資料寫入方法,其中該閒置區的該些實體抹除單元和該暫存區的該些實體抹除單元是彼此獨立地被操作。
  8. 如申請專利範圍第1項所述之資料寫入方法,其中在該第一資料複製至該第一實體抹除單元之後,作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該暫存區的實體抹除單元會被關聯回該暫存區並且作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該閒置區的實體抹除單元會被關聯回該閒置區。
  9. 如申請專利範圍第3項所述之資料寫入方法,其中僅從該暫存區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的步驟包括:從該暫存區的該些實體抹除單元之中提取3個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的一第一暫存實體抹除單元、一第二暫存實體抹除單元與一第三暫存實體抹除單元。
  10. 如申請專利範圍第4項所述之資料寫入方法,其中僅從該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的步驟包括:從該閒置區的該些實體抹除單元之中提取3個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的一第一暫存實體抹除單元、一第二暫存實體抹除單元與一第三暫存實體抹除單元。
  11. 如申請專利範圍第5項所述之資料寫入方法,其中從該暫存區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的一部份且從該閒置區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的另一部份的步驟包括: 從該暫存區的該些實體抹除單元之中提取1個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的一第一暫存實體抹除單元;以及從該閒置區的該些實體抹除單元之中提取2個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的一第二暫存實體抹除單元與一第三暫存實體抹除單元。
  12. 如申請專利範圍第5項所述之資料寫入方法,其中從該暫存區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的一部份且從該閒置區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的另一部份的步驟包括:從該暫存區的該些實體抹除單元之中提取2個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的一第一暫存實體抹除單元與一第二暫存實體抹除單元;以及從該閒置區的該些實體抹除單元之中提取1個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的一第三暫存實體抹除單元。
  13. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模 組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以將該些實體抹除單元至少分組為一閒置區與一暫存區,其中該暫存區的該些實體抹除單元是以單頁模式來寫入資料,其中該記憶體管理電路更用以從該主機系統中接收一第一資料,其中該主機系統指示將該第一資料儲存至一第一邏輯單元的多個邏輯子單元中;其中該記憶體管理電路更用以根據該暫存區的實體抹除單元的一平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的一第一暫存實體抹除單元組的多個暫存實體抹除單元,其中該記憶體管理電路更用單頁模式來寫入該第一資料至該第一暫存實體抹除單元組的該些暫存實體抹除單元中,其中該記憶體管理電路更用以從該閒置區中的該些實體抹除單元中提取一第一實體抹除單元,從該第一暫存實體抹除單元組的該些暫存實體抹除單元中將該第一資料複製至該第一實體抹除單元中並且將該第一邏輯單元映射至該第一實體抹除單元。
  14. 如申請專利範圍第13項所述之記憶體控制電路單元,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中 提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,該記憶體管理電路更用以判斷該暫存區的實體抹除單元的該平均抹除次數是否小於一第一預設門檻值,其中倘若該暫存區的實體抹除單元的該平均抹除次數小於該第一預設門檻值時,該記憶體管理電路僅從該暫存區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元。
  15. 如申請專利範圍第13項所述之記憶體控制電路單元,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,該記憶體管理電路更用以判斷該暫存區的實體抹除單元的該平均抹除次數是否大於一第二預設門檻值,其中倘若該暫存區的實體抹除單元的該平均抹除次數大於該第二預設門檻值時,該記憶體管理電路僅從該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元。
  16. 如申請專利範圍第13項所述之記憶體控制電路單元,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中 提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,倘若該暫存區的實體抹除單元的該平均抹除次數介於該第一預設門檻值與該第二預設門檻值之間時,該記憶體管理電路從該暫存區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的一部份且從該閒置區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的另一部份。
  17. 如申請專利範圍第13項所述之記憶體控制電路單元,其中該記憶體管理電路更用以根據該暫存區的實體抹除單元的該平均抹除次數計算一暫存區提取比率,並且設定一隨機亂數模組,其中該隨機亂數模組是由多個第一數值與多個第二數值所組成並且該些第一數值的數目與該些第二數值的數目的一比率相同於該暫存區提取比率,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,該記憶體管理電路從該隨機亂數模組中的該些第一數值與該些第二數值之中隨機取得一數值,並且判斷該數值是否屬於該些第一數值的其中之一, 其中倘若該數值屬於該些第一數值的其中之一時,該記憶體管理電路從該暫存區的實體抹除單元之中提取一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的其中之一,其中倘若該數值非屬於該些第一數值的其中之一時,該記憶體管理電路從該閒置區的實體抹除單元之中提取一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的其中之另一。
  18. 如申請專利範圍第13項所述之記憶體控制電路單元,其中在該記憶體管理電路將該第一資料複製至該第一實體抹除單元之後,該記憶體管理電路更將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該暫存區的實體抹除單元關聯回該暫存區並且該記憶體管理電路將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該閒置區的實體抹除單元關聯回該閒置區。
  19. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,並且用以將該些實體抹除單元至少分組為一閒置區與一暫存區,其中該暫存區的該些實體抹除單元是以 單頁模式來寫入資料,其中該記憶體控制電路單元更用以從該主機系統中接收一第一資料,其中該主機系統指示將該第一資料儲存至一第一邏輯單元的多個邏輯子單元中;其中該記憶體控制電路單元更用以根據該暫存區的實體抹除單元的一平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的一第一暫存實體抹除單元組的多個暫存實體抹除單元,其中該記憶體控制電路單元更用單頁模式來寫入該第一資料至該第一暫存實體抹除單元組的該些暫存實體抹除單元中,其中該記憶體控制電路單元更用以從該閒置區中的該些實體抹除單元中提取一第一實體抹除單元,從該第一暫存實體抹除單元組的該些暫存實體抹除單元中將該第一資料複製至該第一實體抹除單元中並且將該第一邏輯單元映射至該第一實體抹除單元。
  20. 如申請專利範圍第19項所述之記憶體儲存裝置,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,該記憶體控制電路單元更用以判斷該暫存區的實體抹除單元的該平均抹除次數是否小於一第一預設門檻值, 其中倘若該暫存區的實體抹除單元的該平均抹除次數小於該第一預設門檻值時,該記憶體控制電路單元僅從該暫存區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元。
  21. 如申請專利範圍第19項所述之記憶體儲存裝置,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,該記憶體控制電路單元更用以判斷該暫存區的實體抹除單元的該平均抹除次數是否大於一第二預設門檻值,其中倘若該暫存區的實體抹除單元的該平均抹除次數大於該第二預設門檻值時,該記憶體控制電路單元僅從該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元。
  22. 如申請專利範圍第19項所述之記憶體儲存裝置,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,倘若該暫存區的實體抹除單元的該平均抹除次數介於該第一預設門檻值與該第二預設門檻值之間時,該記憶體控制電路單元從該暫存區的實體抹除 單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的一部份且從該閒置區的實體抹除單元之中提取至少一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的另一部份。
  23. 如申請專利範圍第19項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以根據該暫存區的實體抹除單元的該平均抹除次數計算一暫存區提取比率,並且設定一隨機亂數模組,其中該隨機亂數模組是由多個第一數值與多個第二數值所組成並且該些第一數值的數目與該些第二數值的數目的一比率相同於該暫存區提取比率,其中在根據該暫存區的實體抹除單元的該平均抹除次數,從該暫存區、或該閒置區、或者該暫存區及該閒置區的實體抹除單元之中提取多個實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的運作中,該記憶體控制電路單元從該隨機亂數模組中的該些第一數值與該些第二數值之中隨機取得一數值,並且判斷該數值是否屬於該些第一數值的其中之一,其中倘若該數值屬於該些第一數值的其中之一時,該記憶體控制電路單元從該暫存區的實體抹除單元之中提取一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的其中之一, 其中倘若該數值非屬於該些第一數值的其中之一時,該記憶體控制電路單元從該閒置區的實體抹除單元之中提取一實體抹除單元作為對應該第一邏輯單元的該第一暫存實體抹除單元組的該些暫存實體抹除單元的其中之另一。
  24. 如申請專利範圍第19項所述之記憶體儲存裝置,其中在該記憶體控制電路單元將該第一資料複製至該第一實體抹除單元之後,該記憶體控制電路單元更將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該暫存區的實體抹除單元關聯回該暫存區並且該記憶體控制電路單元將作為該第一暫存實體抹除單元組的該些暫存實體抹除單元之中取自該閒置區的實體抹除單元關聯回該閒置區。
TW102148519A 2013-12-26 2013-12-26 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 TWI501244B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW102148519A TWI501244B (zh) 2013-12-26 2013-12-26 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US14/188,713 US9001585B1 (en) 2013-12-26 2014-02-25 Data writing method, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102148519A TWI501244B (zh) 2013-12-26 2013-12-26 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201526006A TW201526006A (zh) 2015-07-01
TWI501244B true TWI501244B (zh) 2015-09-21

Family

ID=52745169

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102148519A TWI501244B (zh) 2013-12-26 2013-12-26 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9001585B1 (zh)
TW (1) TWI501244B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI564901B (zh) * 2015-04-30 2017-01-01 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN106990921B (zh) * 2017-03-24 2019-10-11 合肥兆芯电子有限公司 数据写入方法、存储器存储装置与存储器控制电路单元
CN112051963B (zh) * 2019-06-06 2023-06-13 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
TWI769386B (zh) 2019-07-04 2022-07-01 群聯電子股份有限公司 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
CN112433674B (zh) * 2020-11-16 2021-07-06 连邦网络科技服务南通有限公司 一种计算机用数据迁移系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046526B2 (en) * 2007-09-27 2011-10-25 Phison Electronics Corp. Wear leveling method and controller using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046526B2 (en) * 2007-09-27 2011-10-25 Phison Electronics Corp. Wear leveling method and controller using the same

Also Published As

Publication number Publication date
US9001585B1 (en) 2015-04-07
TW201526006A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI537728B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI585770B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI501243B (zh) 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元
TWI476590B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI454913B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI435329B (zh) 快閃記憶體管理方法、快閃記憶體控制器與儲存系統
TWI451249B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI525625B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI597730B (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
TWI582776B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI571882B (zh) 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置
TWI584189B (zh) 記憶體控制器、記憶體儲存裝置與資料寫入方法
TW201945927A (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI486765B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI548991B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI517165B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI534814B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TW201413450A (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI521346B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置