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

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

Info

Publication number
TWI564901B
TWI564901B TW104113925A TW104113925A TWI564901B TW I564901 B TWI564901 B TW I564901B TW 104113925 A TW104113925 A TW 104113925A TW 104113925 A TW104113925 A TW 104113925A TW I564901 B TWI564901 B TW I564901B
Authority
TW
Taiwan
Prior art keywords
unit
physical erasing
storage area
physical
units
Prior art date
Application number
TW104113925A
Other languages
English (en)
Other versions
TW201638960A (zh
Inventor
葉志剛
Original Assignee
群聯電子股份有限公司
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 群聯電子股份有限公司 filed Critical 群聯電子股份有限公司
Priority to TW104113925A priority Critical patent/TWI564901B/zh
Priority to US14/751,147 priority patent/US9830077B2/en
Publication of TW201638960A publication Critical patent/TW201638960A/zh
Application granted granted Critical
Publication of TWI564901B publication Critical patent/TWI564901B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

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型快閃記憶體操作模式的部份實體抹除單元,會被使用於做為記憶體模 組的暫存區,用來暫存資料,或是用來儲存系統資料。然而,相較於以單頁模式來操作的實體抹除單元,以多頁模式來操作的實體抹除單元的使用壽命相對較短,且對應以多頁模式來操作之實體抹除單元的寫入或抹除次數的臨界值會低於對應以單頁模式來操作之實體抹除單元的寫入或抹除次數的臨界值,且以多頁模式來操作之實體抹除單元的寫入或抹除的速度也相較於以單頁模式來操作的實體抹除單元的寫入或抹除的速度來的慢。
基於上述,如何避免因為使用多頁模式來操作之實體抹除單元而使其壽命快速下降,以及提升每一記憶胞可儲存多個位元的快閃記憶體的可靠度與存取速度是此領域技術人員所致力的目標。
本發明提供一種資料寫入方法、記憶體控制電路單元與記憶體儲存裝置,其可有效延長快閃記憶體的壽命以及存取資料的速度。
本發明的一範例實施例提出一種資料寫入方法,用於可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一實體抹除單元具有多個實體程式化單元。本資料寫入方法包括將此些實體抹除單元至少分組為儲存區與暫存區,其中暫存區的實體抹除單元是以單頁模式來寫入資料並且儲存區的實體抹除單元是以多頁模式來寫入資料。本資料 寫入方法還包括從暫存區的實體抹除單元之中選擇第一實體抹除單元,將此第一實體抹除單元中的多個有效資料複製至暫存區的實體抹除單元之中的第二實體抹除單元,並對第一實體抹除單元進行抹除操作。本資料寫入方法更包括從暫存區的實體抹除單元之中選擇第三實體抹除單元,將此第三實體抹除單元中的多個有效資料複製至儲存區的實體抹除單元之中的第四實體抹除單元,並對第三實體抹除單元進行抹除操作。
在本發明的一範例實施例中,上述資料寫入方法更包括從儲存區的實體抹除單元之中選擇第五實體抹除單元,將此第五實體抹除單元中的多個有效資料複製至儲存區的實體抹除單元之中的第六實體抹除單元,並對此第五實體抹除單元進行抹除操作。
在本發明的一範例實施例中,上述資料寫入方法更包括:從儲存區的實體抹除單元之中選擇第七實體抹除單元,將此第七實體抹除單元中的多個有效資料複製至暫存區的實體抹除單元之中的第八實體抹除單元,並對此第七實體抹除單元進行抹除操作;以及將儲存於第八實體抹除單元中屬於第七實體抹除單元的有效資料複製至儲存區的實體抹除單元之中的第九實體抹除單元。
在本發明的一範例實施例中,上述從暫存區的實體抹除單元之中選擇第一實體抹除單元的步驟包括:從暫存在暫存區中的資料之中識別至少一熱資料,並且依據此至少一熱資料選擇第一實體抹除單元,其中此至少一熱資料是被儲存在第一實體抹除 單元中。此外,上述從暫存區的實體抹除單元之中選擇第三實體抹除單元的步驟包括:從暫存在暫存區中的資料之中識別至少一冷資料,並且依據此至少一冷資料選擇第三實體抹除單元,其中此至少一冷資料是被儲存在第三實體抹除單元中。
在本發明的一範例實施例中,上述資料寫入方法更包括:依據暫存區的實體抹除單元中的有效資料的數量為暫存區中的每一實體抹除單元記錄有效資料計數。並且,上述從暫存區的實體抹除單元之中選擇第一實體抹除單元的步驟包括:依據對應暫存區的每一實體抹除單元的有效資料計數選擇第一實體抹除單元,其中對應此第一實體抹除單元的有效資料計數小於對應暫存區中其他實體抹除單元的有效資料計數。
在本發明的一範例實施例中,上述資料寫入方法更包括:依據暫存區的實體抹除單元中的有效資料的數量為暫存區的每一實體抹除單元記錄有效資料計數。並且,上述從暫存區的實體抹除單元之中選擇第三實體抹除單元的步驟包括:依據對應暫存區的每一實體抹除單元的有效資料計數選擇第三實體抹除單元,其中對應第三實體抹除單元的有效資料計數非小於對應暫存區中其他實體抹除單元的有效資料計數。
本發明的一範例實施例提供一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元,其中此可複寫式非揮發性記憶體模組具有多個實體抹除單元且每一實體抹除單元具有多個實體程式化單元。此記憶體控制電路單元包括:用以耦接至主 機系統的主機介面;用以耦接至可複寫式非揮發性記憶體模組的記憶體介面;以及耦接至主機介面與記憶體介面的記憶體管理電路。記憶體管理電路用以將此些實體抹除單元至少分組為儲存區與暫存區,其中暫存區的實體抹除單元是以單頁模式來寫入資料並且儲存區的實體抹除單元是以多頁模式來寫入資料。此外,記憶體管理電路更用以從暫存區的實體抹除單元之中選擇第一實體抹除單元,將此第一實體抹除單元中的多個有效資料複製至暫存區的實體抹除單元之中的第二實體抹除單元,並對第一實體抹除單元進行抹除操作。另外,記憶體管理電路更用以從暫存區的實體抹除單元之中選擇第三實體抹除單元,將此第三實體抹除單元中的多個有效資料複製至儲存區的實體抹除單元之中的第四實體抹除單元,並對第三實體抹除單元進行抹除操作。
在本發明的一範例實施例中,上述記憶體管理電路更用以從儲存區的實體抹除單元之中選擇第五實體抹除單元,將此第五實體抹除單元中的多個有效資料複製至儲存區的實體抹除單元之中的第六實體抹除單元,並對此第五實體抹除單元進行抹除操作。
在本發明的一範例實施例中,上述記憶體管理電路更用以從儲存區的實體抹除單元之中選擇第七實體抹除單元,將此第七實體抹除單元中的多個有效資料複製至暫存區的實體抹除單元之中的第八實體抹除單元,並對此第七實體抹除單元進行抹除操作;以及將儲存於第八實體抹除單元中屬於第七實體抹除單元的 有效資料複製至儲存區的實體抹除單元之中的第九實體抹除單元。
在本發明的一範例實施例中,在從暫存區的實體抹除單元之中選擇第一實體抹除單元的運作中,上述記憶體管理電路從暫存在暫存區中的資料之中識別至少一熱資料,並且依據此至少一熱資料選擇第一實體抹除單元,其中此至少一熱資料是被儲存在第一實體抹除單元中。另外,在從暫存區的實體抹除單元之中選擇該第三實體抹除單元的運作中,上述記憶體管理電路從暫存在暫存區中的資料之中識別至少一冷資料,並且依據此至少一冷資料選擇第三實體抹除單元,其中此至少一冷資料是被儲存在第三實體抹除單元中。
在本發明的一範例實施例中,上述記憶體管理電路更用以依據暫存區的實體抹除單元中的有效資料的數量為暫存區的每一實體抹除單元記錄有效資料計數。並且,在從暫存區的實體抹除單元之中選擇第一實體抹除單元的運作中,記憶體管理電路依據對應暫存區的每一實體抹除單元的有效資料計數選擇第一實體抹除單元,其中對應此第一實體抹除單元的有效資料計數小於對應暫存區中其他實體抹除單元的有效資料計數。
在本發明的一範例實施例中,上述記憶體管理電路更用以依據暫存區的實體抹除單元中的有效資料的數量為暫存區的每一實體抹除單元記錄有效資料計數。並且,在從暫存區的實體抹除單元之中選擇第三實體抹除單元的運作中,記憶體管理電路依 據對應暫存區的每一該些實體抹除單元的有效資料計數選擇第三實體抹除單元,其中對應第三實體抹除單元的有效資料計數非小於對應暫存區中其他實體抹除單元的有效資料計數。
本發明的一範例實施例提供一種記憶體儲存裝置,其包括:用以耦接至主機系統的連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。可複寫式非揮發性記憶體模組具有多個實體抹除單元且每一實體抹除單元具有多個實體程式化單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,並且用以將這些實體抹除單元至少分組為儲存區與暫存區,其中暫存區的實體抹除單元是以單頁模式來寫入資料並且儲存區的實體抹除單元是以多頁模式來寫入資料。此外,記憶體控制電路單元更用以從暫存區的實體抹除單元之中選擇第一實體抹除單元,將此第一實體抹除單元中的多個有效資料複製至暫存區的實體抹除單元之中的一第二實體抹除單元,並對第一實體抹除單元進行抹除操作。另外,記憶體控制電路單元更用以從暫存區的實體抹除單元之中選擇第三實體抹除單元,將此第三實體抹除單元中的多個有效資料複製至儲存區的實體抹除單元之中的一第四實體抹除單元,並對第三實體抹除單元進行抹除操作。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以從儲存區的實體抹除單元之中選擇第五實體抹除單元,將此第五實體抹除單元中的多個有效資料複製至儲存區的實體抹除單元之中的第六實體抹除單元,並對此第五實體抹除單元進行抹 除操作。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以從儲存區的實體抹除單元之中選擇第七實體抹除單元,將此第七實體抹除單元中的多個有效資料複製至暫存區的實體抹除單元之中的第八實體抹除單元,並對此第七實體抹除單元進行抹除操作;以及將儲存於第八實體抹除單元中屬於第七實體抹除單元的有效資料複製至儲存區的實體抹除單元之中的第九實體抹除單元。
在本發明的一範例實施例中,在從暫存區的實體抹除單元之中選擇第一實體抹除單元的運作中,上述記憶體控制電路單元從暫存在暫存區中的資料之中識別至少一熱資料,並且依據此至少一熱資料選擇第一實體抹除單元,其中此至少一熱資料被儲存在第一實體抹除單元中。另外,在從暫存區的實體抹除單元之中選擇該第三實體抹除單元的運作中,上述記憶體控制電路單元從暫存在暫存區中的資料之中識別至少一冷資料,並且依據此至少一冷資料選擇第三實體抹除單元,其中此至少一冷資料被儲存在第三實體抹除單元中。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以依據暫存區的實體抹除單元中的有效資料的數量為暫存區的每一實體抹除單元記錄一有效資料計數。並且,在從暫存區的實體抹除單元之中選擇第一實體抹除單元的運作中,記憶體控制電路單元依據對應暫存區的每一該些實體抹除單元的有效資料計 數選擇第一實體抹除單元,其中對應此第一實體抹除單元的有效資料計數小於對應暫存區中其他實體抹除單元的有效資料計數。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以依據暫存區的實體抹除單元中的有效資料的數量為暫存區的每一實體抹除單元記錄有效資料計數。並且,在從暫存區的實體抹除單元之中選擇第三實體抹除單元的運作中,記憶體控制電路單元依據對應暫存區的每一該些實體抹除單元的有效資料計數選擇第三實體抹除單元,其中對應第三實體抹除單元的有效資料計數非小於對應暫存區中其他實體抹除單元的有效資料計數。
基於上述,本發明所提出的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置會透過暫存區內部的實體抹除單元所進行的資料合併運作,以及將暫存區中的實體抹除單元進行資料合併運作至儲存區中,藉此避免因為過多地使用多頁模式來操作儲存區之實體抹除單元而使其壽命快速下降與降低存取速度。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
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‧‧‧儲存區
502a‧‧‧資料區
502b‧‧‧閒置區
504‧‧‧暫存區
506‧‧‧系統區
508‧‧‧取代區
510(0)~510(N)‧‧‧實體抹除單元
510(S+1)、510(S+2)、510(S+3)、510(S+4)、510(S+6)、510(F+2)、510(F+3)、510(F+4)、510(F+5)、510(F+6)‧‧‧實體抹除單元
LBA(0)‧‧‧邏輯單元
S1301、S1303、S1305、S107‧‧‧資料合併運作的步驟
圖1A是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖1B是根據一範例實施例所繪示的電腦、輸入/輸出裝置與 記憶體儲存裝置的示意圖。
圖1C是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是根據一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
圖3A與圖3B是根據一範例實施例所繪示之記憶胞儲存架構與實體抹除單元的示意圖。
圖4是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖5與圖6是根據一範例實施例所繪示之管理實體抹除單元的示意圖。
圖7是根據一範例所繪示之使用單頁模式將資料暫存在暫存區的示意圖。
圖8是根據一範例所繪示之使用多頁模式將暫存在暫存區的資料寫入至儲存區的示意圖。
圖9為根據一範例所繪示之在暫存區內執行資料合併運作的示意圖。
圖10為根據一範例所繪示之從暫存區的實體抹除單元中搬移有效資料至儲存區的資料合併運作的示意圖。
圖11為根據一範例所繪示之對儲存區中的實體抹除單元進行資料合併運作的示意圖。
圖12為根據另一範例所繪示之對儲存區中的實體抹除單元 進行資料合併運作的示意圖。
圖13為根據一範例實施例所繪示的資料合併運作的流程圖。
圖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是根據一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖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具有多個實體抹除單元。例如,此些實體抹除單元可屬於同一個記憶體晶粒(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。
記憶體管理電路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)會將實體抹除單元510(0)~510(N)邏輯地分組為儲存區502、暫存區504、系統區506與取代區508。必須了解的是,儲存區502、暫存區504、系統區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同,本揭露不對此進行限制。
邏輯上屬於儲存區502的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,儲存區502包括資料區502a與閒置區502b,資料區502a的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區502b的實體抹除單元是用以替換資料區502a的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區502b中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502a的實體抹除單元。
邏輯上屬於暫存區504的實體抹除單元是用以暫存區504作為對應邏輯單元之暫存實體抹除單元組中的暫存實體抹除單元,以暫存主機系統1000所寫入的資料。詳細的暫存資料的方法以及步驟,將配合圖示說明如後。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括邏輯轉實體位址映射表、關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體 模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502a的實體抹除單元損壞時,記憶體管理電路302會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
請參照圖6,記憶體控制電路單元104(或記憶體管理電路302)會配置邏輯單元LBA(0)~LBA(H)以映射資料區502a的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統1000欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區502b中提取一個實體抹除單元來寫入資料,以輪替資料區502a的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別每個邏輯單元的資料被儲存在哪個實體抹除單元中,在本範例實施例中,記憶體控制電路單元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中提取數個實體抹除單元作為對應與儲存之邏輯單元的暫存實體抹除單元組的暫存實體抹除單元,並且使用單頁模式先將第一資料暫存至暫存實體抹除單元的下實體程式化單元。之後,記憶體控制電路單元104(或記憶體管理電路302)才使用多頁模式將暫存實體抹除單元組中的資料寫入至儲存區502中對應的實體抹除單元並且將此邏輯單元映射至此對應的實體抹除單元。
在此,所謂單頁模式是指,僅使用下實體程式化單元來儲存資料。也就是說,在單頁模式中,記憶體控制電路單元104(或記憶 體管理電路302)僅會對下實體程式化單元進行資料的寫入運作。由於暫存實體抹除單元是用單頁模式來被操作,因此,在本範例實施例中,一個暫存實體抹除單元僅有三分之一的容量會被使用且對應一個邏輯單元的暫存實體抹除單元組會包含3個暫存實體抹除單元以提供足夠的空間來儲存一個邏輯單元的資料。在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)是使用單頁模式來操作暫存區504的實體抹除單元,或是使用單頁模式來操作暫存實體抹除單元組中的暫存實體抹除單元。
所謂多頁模式是指使用下實體程式化單元、中實體程式化單元與上實體程式化單元來儲存資料。也就是說,當使用多頁模式來寫入資料時,記憶體控制電路單元104(或記憶體管理電路302)會對一個實體程式化單元組的下實體程式化單元、中實體程式化單元與上實體程式化單元執行程式化。值得一提的,在一範例實施例中,使用多頁模式來操作實體抹除單元時,同一個實體程式化單元組的實體程式化單元會同時地或階段性地被程式化。再者,相較於以單頁模式來操作的實體抹除單元,以多頁模式來操作的實體抹除單元的使用壽命較短。具體來說,每個實體抹除單元能夠被寫入或抹除的次數是有限的,當一個實體抹除單元被寫入的次數超過一個臨界值時,此實體抹除單元可能就會損壞而無法再被寫入資料,其中對應以多頁模式來操作之實體抹除單元的臨界值會低於對應以單頁模式來操作之實體抹除單元的臨界值。在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)是使用多頁模式來操作關聯至儲存區502的實體 抹除單元。
在本範例實施例中,當一個實體抹除單元被劃分至暫存區504後,此實體抹除單元將僅能用於暫存區504,而不會與儲存區502的實體抹除單元混用。也就是說,記憶體控制電路單元104(或記憶體管理電路302)會獨立地操作儲存區502與暫存區504的實體抹除單元。例如,當一個實體抹除單元被劃分至暫存區504後,記憶體控制電路單元104(或記憶體管理電路302)會以單頁模式於暫存區504中操作此實體抹除單元,直到此實體抹除單元損壞為止。
圖7是根據一範例所繪示之使用單頁模式將資料暫存在暫存區的示意圖。
請參照圖7,當記憶體儲存裝置100從主機系統1000中接收到指示將更新資料儲存至邏輯單元LBA(0)的第0~257個邏輯子單元的寫入指令時,假設於本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)僅從暫存區504中提取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)的下實體程式化單元中。值得一提的是,當連續地寫入大量資料時,上述依據暫存實體抹除單元510(S+1)、暫存實體抹除單元510(S+2)與暫存實體抹除單元510(S+3)的頁面順序來寫入資料可利用快取程式化(cache programming)指令以有效地提升寫入資料的速度。在另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)會將欲儲存至邏輯單元LBA(0)的各個邏輯子單元的更新資料經過再整理或排列後,再同時寫入至暫存實體抹除單元510(S+1)的下實體程式化單元、暫存實體抹除單元510(S+2)的下實體程式化單元以及暫存實體抹除單元510(S+3)的下實體程式化單元中。
圖8是根據一範例所繪示之使用多頁模式將暫存在暫存區的資料寫入至儲存區的示意圖。
假設對應邏輯單元LBA(0)的暫存實體抹除單元組的暫存實體抹除單元510(S+1)、暫存實體抹除單元510(S+2)、暫存實體抹除單元510(S+3)已儲存邏輯單元LBA(0)的所有邏輯子單元的有效資料(如圖7所示)時,首先,如同圖8所繪示,記憶體控制電路單元104(或記憶體管理電路302)會從閒置區502b中提取一個實體抹除單元作為當作用於輪替的實體抹除單元510(F+1)。具體來說,記憶體控制電路 單元104(或記憶體管理電路302)會從閒置區502b中選擇一個空的實體抹除單元或者所儲存之資料為無效資料的實體抹除單元。特別是,倘若所提取之實體抹除單元是儲存無效資料的實體抹除單元時,記憶體控制電路單元104(或記憶體管理電路302)會先對此實體抹除單元執行抹除操作。也就是說,實體抹除單元上的無效資料必須先被抹除。
之後,記憶體控制電路單元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實體程式化單元)。
值得一提的是,如上所述,欲被關聯至資料區502a的實體抹除單元是以多頁模式來操作,因此,寫入至實體抹除單元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)就可再被選擇作為欲寫入之邏輯單元的暫存實體抹除單元。
值得一提的是,在本範例實施例中,當將主機系統1000欲儲存之更新資料寫入至暫存區504後,記憶體控制電路單元104(或記憶體管理電路302)就會傳送通知已完成指令的回覆(Response)給主機系統1000。值得一提的是,暫存區504的實體程式化單元中的有效資料,會因為對應的更新資料被寫入至暫存區504的另一個實體程式化單元,而變成無效資料,並且類似地,資料區502a的實體程式化單元中的有效資料也會因為對應的更新資料被寫入至暫存區504的另一個實體程式化單元變成無效資料,因此,暫存區504與資料區502a中會出現許多儲存無效資料的實體程式化單元,並且記憶體控制電路單元104(或記憶體管理電路302)會進行有效資料合併運作以回收此些儲存無效資料的實體程式化單元。例如,當記憶體儲存裝置100屬 於閒置狀態一段時間(例如,30秒未從主機系統1000中接收到任何指令)或者是當暫存區504或閒置區502b中空的實體抹除單元的數目小於預設門檻值時,記憶體控制電路單元104(或記憶體管理電路302)會對儲存區502或暫存區504中的有效資料進行資料合併運作,以釋放出空的實體抹除單元。例如,預設門檻值會被設定為3。然而,必須瞭解的是,本發明不限於此,預設門檻值亦可以是其他適當的數值。
在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)可在儲存區502與暫存區504之間進行資料合併運作中、在暫存區504中進行資料合併運作或者在儲存區502中進行資料運作程序。
圖9為根據一範例所繪示之在暫存區內執行資料合併運作的示意圖。
請參照圖9,假設記憶體控制電路單元104(或記憶體管理電路302)欲對暫存區504中的實體抹除單元進行資料合併運作時(例如,週期性地對暫存區504中的實體抹除單元進行資料合併運作或者主機系統1000處於閒置狀態時)時,例如,記憶體控制電路單元104(或記憶體管理電路302)從暫存區504中選擇實體抹除單元510(S+1)(亦稱為,第一實體抹除單元);並且將實體抹除單元510(S+1)中的有效資料複製至暫存區504中的實體抹除單元510(S+4)(亦稱為,第二實體抹除單元)中。
具體來說,記憶體控制電路單元104(或記憶體管理電路302)會從實體抹除單元510(S+1)的下實體程式化單元中讀取有效資料,並 將所讀出的有效資料寫入到實體抹除單元510(S+4)的下實體程式化單元中(即,此為圖9所示的“資料合併”運作)。之後,記憶體控制電路單元104(或記憶體管理電路302)會將原本實體抹除單元510(S+1)中有效資料所屬的邏輯子單元映射至實體抹除單元510(S+4)的實體程式化單元,並對實體抹除單元510(S+1)進行抹除操作,以釋放實體抹除單元510(S+1)的空間。在此範例中,執行在暫存區504內部的資料合併運作能夠減少將有效資料從暫存區504複製到儲存區502的資料合併運作,降低儲存區502的實體抹除單元的寫入(抹除)次數,有效地提昇可複寫式非揮發性記憶體的效能與壽命。
例如,在一範例實施例中,在執行暫存區504內部的資料合併運作時,記憶體控制電路單元104(或記憶體管理電路302)會從暫存區504中的實體抹除單元中識別至少一熱資料,並且依據此至少一熱資料選擇上述欲進行資料合併運作的實體抹除單元。具體來說,記憶體控制電路單元104(或記憶體管理電路302)會記錄暫存區504中實體抹除單元的資料的更新情況,來識別暫存區504中實體抹除單元中的資料是否為熱資料。以圖9為例,假如暫存區504中位於實體抹除單元510(S+1)中的資料的更新情況為最近(或較常)被主機系統1000所更新時,則記憶體控制電路單元104(或記憶體管理電路302)會識別此資料為熱資料,並且將儲存此熱資料的實體抹除單元510(S+1)選作為進行資料合併運作的實體抹除單元。
除了選擇儲存熱資料的實體抹除單元來進行暫存區504內的資料合併運作(如圖9所示)外,在另一範例實施例中,記憶體控制電路 單元104(或記憶體管理電路302)亦可依據暫存區504中的實體抹除單元中的有效資料的數量,為暫存區504的每一個實體抹除單元紀錄一個有效資料計數,並且依據每一個實體抹除單元的有效資料計數,來選擇進行資料合併運作的實體抹除單元。例如,記憶體控制電路單元104(或記憶體管理電路302)會選擇暫存區504的實體抹除單元之中有效資料計數最小的實體抹除單元(即,所選擇的實體抹除單元的有效資料計數小於暫存區504中的其他實體抹除單元的有效計數)來進行資料合併運作。
圖10為根據一範例所繪示之從暫存區的實體抹除單元中搬移有效資料至儲存區的資料合併運作的示意圖。
請參照圖10,假設記憶體控制電路單元104(或記憶體管理電路302)欲對暫存區504中的實體抹除單元進行資料合併時(例如,週期性地對暫存區504中的實體抹除單元進行資料合併或者主機系統1000處於閒置狀態時或者暫存區504中所有的實體抹除單元沒有足夠空間時)時,例如,記憶體控制電路單元104(或記憶體管理電路302)會從暫存區504中選擇實體抹除單元510(S+6)(亦稱為,第三實體抹除單元)並且將實體抹除單元510(S+6)中的有效資料儲存至閒置區502b的實體抹除單元510(F+3)(亦稱為,第四實體抹除單元)中。
具體來說,記憶體控制電路單元104(或記憶體管理電路302)會從實體抹除單元510(S+6)的下實體程式化單元中讀取有效資料,並將所讀出的有效資料寫入到實體抹除單元510(F+3)的下、中、上實體程式化單元中。之後,記憶體控制電路單元104(或記憶體管理電路 302)會將原本實體抹除單元510(S+6)中有效資料所屬的邏輯子單元映射至實體抹除單元510(F+3)的實體程式化單元,並對實體抹除單元510(S+6)進行抹除操作,以釋放實體抹除單元510(S+6)的空間。
例如,在一範例實施例中,當執行圖10的資料合併運作時,記憶體控制電路單元104(或記憶體管理電路302)會從暫存區504中的實體抹除單元中識別至少一冷資料,並且依據此至少一冷資料選擇欲進行資料合併運作的實體抹除單元。具體來說,記憶體控制電路單元104(或記憶體管理電路302)會記錄暫存區504中實體抹除單元的資料的更新情況,來識別暫存區504中實體抹除單元中的資料是否為冷資料。以圖10為例,假如暫存區504中位於實體抹除單元510(S+6)的一資料的更新情況為最近沒有(或較少)被主機系統1000所更新,則記憶體控制電路單元104(或記憶體管理電路302)會識別此資料為冷資料,並且由此儲存此冷資料的實體抹除單元510(S+6)作為進行資料合併運作的實體抹除單元。
除了選擇儲存冷資料的實體抹除單元來進行圖10所示之資料合併運作外,在另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路302)亦可依據暫存區504中的實體抹除單元中的有效資料的數量,為暫存區504的每一個實體抹除單元記錄一個有效資料計數,並且依據每一實體抹除單元的有效資料計數,選擇進行資料合併運作的實體抹除單元。例如,記憶體控制電路單元104(或記憶體管理電路302)會選擇暫存區504的實體抹除單元之中有效資料計數最大的實體抹除單元(即,所選擇的實體抹除單元的有效資料計數大 於暫存區504中的其他實體抹除單元的有效計數)來進行資料合併運作。
圖11為根據一範例所繪示之對儲存區中的實體抹除單元進行資料合併運作的示意圖。
請參照圖11,假設記憶體控制電路單元104(或記憶體管理電路302)欲對儲存區502中的實體抹除單元進行資料合併運作時(例如,週期性地對儲存區502中的實體抹除單元進行資料合併運作或者主機系統1000處於閒置狀態時),記憶體控制電路單元104(或記憶體管理電路302)從儲存區502的資料區502a中選擇實體抹除單元510(F+4)(亦稱為,第五實體抹除單元)並且將實體抹除單元510(F+4)中的有效資料儲存至儲存區502的閒置區502b中的實體抹除單元510(F+5)(亦稱為,第六實體抹除單元)中。
具體來說,在進行資料合併運作的過程中,記憶體控制電路單元104(或記憶體管理電路302)會從實體抹除單元510(F+4)的下、中、上實體程式化單元中讀取有效資料,並將所讀出的有效資料寫入到實體抹除單元510(F+5)的下、中、上實體程式化單元中(即,此為圖11所示的“資料合併”運作)。之後,記憶體控制電路單元104(或記憶體管理電路302)會將原本實體抹除單元510(F+4)中有效資料所屬的邏輯子單元映射至實體抹除單元510(F+5)的實體程式化單元,並對實體抹除單元510(F+4)進行抹除操作,以釋放實體抹除單元510(F+4)的空間。
圖12為根據另一範例所繪示之對儲存區中的實體抹除單元 進行資料合併運作的示意圖。
請參照圖12,假設記憶體控制電路單元104(或記憶體管理電路302)欲對儲存區502的資料區502a中的實體抹除單元進行資料合併運作時(例如,週期性地對資料區502a中的實體抹除單元進行資料合併運作或者主機系統1000處於閒置狀態時或者資料區502a中所有的實體抹除單元沒有足夠空間時),記憶體控制電路單元104(或記憶體管理電路302)從儲存區502的資料區502a中選擇實體抹除單元510(F+6)(亦稱為,第七實體抹除單元),從暫存區504中選擇實體抹除單元510(S+6)(亦稱為,第八實體抹除單元)作為資料合併運作的緩衝區,並且先將實體抹除單元510(F+6)中的有效資料複製至實體抹除單元510(S+6)中。具體來說,記憶體控制電路單元104(或記憶體管理電路302)會從實體抹除單元510(F+6)的下、中、上實體程式化單元中讀取有效資料,並將所讀出的有效資料寫入到實體抹除單元510(S+6)的下實體程式化單元中(即,此為圖12所示的“資料合併A”運作),並對實體抹除單元510(F+6)進行抹除操作,以釋放實體抹除單元510(F+6)的空間。
之後,記憶體控制電路單元104(或記憶體管理電路302)會從實體抹除單元510(S+6)的下實體程式化單元中讀取該些有效資料,將所讀出的有效資料寫入到儲存區502的閒置區502b的實體抹除單元510(F+2)(亦稱為,第九實體抹除單元)的下、中、上實體程式化單元中(即,此為圖12所示的“資料合併B”運作),並將儲存於實體抹除單元510(S+6)中屬於實體抹除單元510(F+3)的資料標記為無 效。之後,記憶體控制電路單元104(或記憶體管理電路302)會將此些有效資料所屬的邏輯子單元映射至實體抹除單元510(F+2)的實體程式化單元。在圖12的例子中,資料區502a的實體抹除單元510(F+6)中的有效資料會先被複製到暫存區504中的實體抹除單元510(S+6),之後所複製的資料會再從實體抹除單元510(S+6)中複製到閒置區502b的實體抹除單元510(F+2)中。基此,資料區502a的實體抹除單元510(F+6)中的所有資料就變成為無效資料,並且實體抹除單元510(F+6)就可被執行抹除操作並被釋放出來(即,實體抹除單元510(F+6)會被關聯至閒置區502b)。
圖13為根據本發明一範例實施例所繪示的資料合併運作的流程圖。
在步驟S1301中,記憶體控制電路單元104(或記憶體管理電路302)會判斷暫存區504中空的實體抹除單元的數目是否小於預定門檻值。
當暫存區504中空的實體抹除單元的數目非小於預定門檻值時,圖13的流程會結束。
當暫存區504中空的實體抹除單元的數目小於預定門檻值時,在步驟S1303中,記憶體控制電路單元104(或記憶體管理電路302)會判斷是否執行暫存區504內資料合併運作。例如,記憶體控制電路單元104(或記憶體管理電路302)會依據暫存區504內有效資料的量來決定是否執行暫存區504內資料合併運作。例如,若暫存區504內的有效資料小於預定數目時,記憶體控制電路單元104(或記憶體 管理電路302)會決定執行暫存區504內資料合併運作。
倘若判斷執行暫存區504內資料合併運作時,在步驟S1305中,記憶體控制電路單元104(或記憶體管理電路302)會從暫存區504的實體抹除單元中選擇一個存有資料的實體抹除單元(以下稱為第一實體抹除單元),將第一實體抹除單元中的有效資料複製至暫存區504中的另一實體抹除單元中(以下稱為第二實體抹除單元)中,並對第一實體抹除單元進行抹除操作。
倘若判斷無需執行暫存區504內資料合併運作時,在步驟S1307中,記憶體控制電路單元104(或記憶體管理電路302)從暫存區504的實體抹除單元中選擇一個存有資料的實體抹除單元(以下稱為第三實體抹除單元),將第三實體抹除單元中的有效資料複製至儲存區502中的實體抹除單元中(以下稱為第四實體抹除單元)中,並對第三實體抹除單元進行抹除操作。
必須了解的是,圖13中的步驟及其順序僅一範例,本發明不限於此。例如,步驟S1305與S1307的步驟亦可分別地依據不同的驅動訊號來啟動運作,而不依據步驟S1301與步驟S1303的判斷來運作。
綜上所述,本發明透過暫存區內部的實體抹除單元所進行的資料合併運作,以及將暫存區中的實體抹除單元進行資料合併運作至閒置區中,藉此避免因為過多地使用多頁模式來操作儲存區之實體抹除單元而使其壽命快速下降,以提升每一記憶胞可儲存多個位元的快閃記憶體的可靠度與存取速度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S1301、S1303、S1305、S1307‧‧‧資料合併運作的步驟

Claims (15)

  1. 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元,該資料寫入方法包括:將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料;從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作;以及從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中從該暫存區的該些實體抹除單元之中選擇該第一實體抹除單元的步驟包括:從暫存在該暫存區中的資料之中識別至少一熱資料,並且依據該至少一熱資料選擇該第一實體抹除單元,其中該至少一熱資料被儲存在該第一實體抹除單元中,其中從該暫存區的該些實體抹除單元之中選擇該第三實體抹除單元的步驟包括:從暫存在該暫存區中的資料之中識別至少一 冷資料,並且依據該至少一冷資料選擇該第三實體抹除單元,其中該至少一冷資料被儲存在該第三實體抹除單元中。
  2. 如申請專利範圍第1項所述之資料寫入方法,更包括:從該儲存區的該些實體抹除單元之中選擇一第五實體抹除單元,將該第五實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第六實體抹除單元,並對該第五實體抹除單元進行該抹除操作。
  3. 如申請專利範圍第1項所述之資料寫入方法,更包括:從該儲存區的該些實體抹除單元之中選擇一第七實體抹除單元,將該第七實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第八實體抹除單元,並對該第七實體抹除單元進行該抹除操作;以及將儲存於該第八實體抹除單元中屬於該第七實體抹除單元的該些有效資料複製至該儲存區的該些實體抹除單元之中的一第九實體抹除單元。
  4. 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元,該資料寫入方法包括:將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料; 從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作;從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作;以及依據該暫存區的該些實體抹除單元中的有效資料的數量為該暫存區的每一該些實體抹除單元記錄一有效資料計數,其中從該暫存區的該些實體抹除單元之中選擇該第一實體抹除單元的步驟包括:依據對應該暫存區的每一該些實體抹除單元的該有效資料計數選擇該第一實體抹除單元,其中對應該第一實體抹除單元的有效資料計數小於對應該暫存區的該些實體抹除單元之中的其他實體抹除單元的有效資料計數。
  5. 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元,該資料寫入方法包括:將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該 儲存區的該些實體抹除單元是以一多頁模式來寫入資料;從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作;從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作;以及依據該暫存區的該些實體抹除單元中的有效資料的數量為該暫存區的每一該些實體抹除單元記錄一有效資料計數,其中從該暫存區的該些實體抹除單元之中選擇該第三實體抹除單元的步驟包括:依據對應該暫存區的每一該些實體抹除單元的該有效資料計數選擇該第三實體抹除單元,其中對應該第三實體抹除單元的有效資料計數非小於對應該暫存區的該些實體抹除單元之中的其他實體抹除單元的有效資料計數。
  6. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單 元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料,其中該記憶體管理電路更用以從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作,其中該記憶體管理電路更用以從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中在從該暫存區的該些實體抹除單元之中選擇該第一實體抹除單元的運作中,該記憶體管理電路從暫存在該暫存區中的資料之中識別至少一熱資料,並且依據該至少一熱資料選擇該第一實體抹除單元,其中該至少一熱資料被儲存在該第一實體抹除單元中,其中在從該暫存區的該些實體抹除單元之中選擇該第三實體抹除單元的運作中,該記憶體管理電路從暫存在該暫存區中的資料之中識別至少一冷資料,並且依據該至少一冷資料選擇該第三實體抹除單元,其中該至少一冷資料被儲存在該第三實體抹除單 元中。
  7. 如申請專利範圍第6項所述之記憶體控制電路單元,其中該記憶體管理電路更用以從該儲存區的該些實體抹除單元之中選擇一第五實體抹除單元,將該第五實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第六實體抹除單元,並對該第五實體抹除單元進行該抹除操作。
  8. 如申請專利範圍第6項所述之記憶體控制電路單元,其中該記憶體管理電路更用以從該儲存區的該些實體抹除單元之中選擇一第七實體抹除單元,將該第七實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第八實體抹除單元,對該第七實體抹除單元進行該抹除操作,並且將儲存於該第八實體抹除單元中屬於該第七實體抹除單元的該些有效資料複製至該儲存區的該些實體抹除單元之中的一第九實體抹除單元。
  9. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且 該儲存區的該些實體抹除單元是以一多頁模式來寫入資料,其中該記憶體管理電路更用以從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作,其中該記憶體管理電路更用以從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中該記憶體管理電路更用以依據該暫存區的該些實體抹除單元中的有效資料的數量為該暫存區的每一該些實體抹除單元記錄一有效資料計數,其中在從該暫存區的該些實體抹除單元之中選擇該第一實體抹除單元的運作中,該記憶體管理電路依據對應該暫存區的每一該些實體抹除單元的該有效資料計數選擇該第一實體抹除單元,其中對應該第一實體抹除單元的有效資料計數小於對應該暫存區的該些實體抹除單元之中的其他實體抹除單元的有效資料計數。
  10. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單 元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料,其中該記憶體管理電路更用以從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作,其中該記憶體管理電路更用以從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中該記憶體管理電路更用以依據該暫存區的該些實體抹除單元中的有效資料的數量為該暫存區的每一該些實體抹除單元記錄一有效資料計數,其中在該暫存區的該些實體抹除單元之中選擇該第三實體抹除單元的運作中,該記憶體管理電路依據對應該暫存區的每一該些實體抹除單元的該有效資料計數選擇該第三實體抹除單元,其中對應該第三實體抹除單元的有效資料計數非小於對應該暫存區的該些實體抹除單元之中的其他實體抹除單元的有效資料計數。
  11. 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,並且用以將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料,其中該記憶體控制電路單元更用以從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作,其中該記憶體控制電路單元更用以從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中在從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元的運作中,該記憶體控制電路單元從暫存在該暫存區中的資料之中識別至少一熱資料,並且依據該至少一熱資料選擇該第一實體抹除單元,其中該至少一熱資料被儲存在該第一實體抹除單元中,其中在從該暫存區的該些實體抹除單元之中選擇該第三實體 抹除單元的運作中,該記憶體控制電路單元從暫存在該暫存區中的資料之中識別至少一冷資料,並且依據該至少一冷資料選擇該第三實體抹除單元,其中該至少一冷資料被儲存在該第三實體抹除單元中。
  12. 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以從該儲存區的該些實體抹除單元之中選擇一第五實體抹除單元,將該第五實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第六實體抹除單元,並對該第五實體抹除單元進行該抹除操作。
  13. 如申請專利範圍第11項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以從該儲存區的該些實體抹除單元之中選擇一第七實體抹除單元,將該第七實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第八實體抹除單元,對該第七實體抹除單元進行該抹除操作,並且將儲存於該第八實體抹除單元中屬於該第七實體抹除單元中的該些有效資料複製至該儲存區的該些實體抹除單元之中的一第九實體抹除單元。
  14. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫 式非揮發性記憶體模組,並且用以將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料,其中該記憶體控制電路單元更用以從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作,其中該記憶體控制電路單元更用以從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中該記憶體控制電路單元更用以依據該暫存區的該些實體抹除單元中的有效資料的數量為該暫存區的每一該些實體抹除單元記錄一有效資料計數,其中在從該暫存區的該些實體抹除單元之中選擇該第一實體抹除單元的運作中,該記憶體控制電路單元依據對應該暫存區的每一該些實體抹除單元的該有效資料計數選擇該第一實體抹除單元,其中對應該第一實體抹除單元的有效資料計數小於對應該暫存區的該些實體抹除單元之中的其他實體抹除單元的有效資料計數。
  15. 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,並且用以將該些實體抹除單元至少分組為一儲存區與一暫存區,其中該暫存區的該些實體抹除單元是以一單頁模式來寫入資料並且該儲存區的該些實體抹除單元是以一多頁模式來寫入資料,其中該記憶體控制電路單元更用以從該暫存區的該些實體抹除單元之中選擇一第一實體抹除單元,將該第一實體抹除單元中的多個有效資料複製至該暫存區的該些實體抹除單元之中的一第二實體抹除單元,並對該第一實體抹除單元進行一抹除操作,其中該記憶體控制電路單元更用以從該暫存區的該些實體抹除單元之中選擇一第三實體抹除單元,將該第三實體抹除單元中的多個有效資料複製至該儲存區的該些實體抹除單元之中的一第四實體抹除單元,並對該第三實體抹除單元進行該抹除操作,其中該記憶體控制電路單元更用以依據該暫存區的該些實體抹除單元中的有效資料的數量為該暫存區的每一該些實體抹除單元記錄一有效資料計數,其中在從該暫存區的該些實體抹除單元之中選擇該第三實體抹除單元的運作中,該記憶體控制電路單元依據對應該暫存區的每一該些實體抹除單元的該有效資料計數選擇該第三實體抹除單 元,其中對應該第三實體抹除單元的有效資料計數非小於對應該暫存區的該些實體抹除單元之中的其他實體抹除單元的有效資料計數。
TW104113925A 2015-04-30 2015-04-30 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 TWI564901B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104113925A TWI564901B (zh) 2015-04-30 2015-04-30 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US14/751,147 US9830077B2 (en) 2015-04-30 2015-06-26 Data writing method, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104113925A TWI564901B (zh) 2015-04-30 2015-04-30 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201638960A TW201638960A (zh) 2016-11-01
TWI564901B true TWI564901B (zh) 2017-01-01

Family

ID=57205667

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104113925A TWI564901B (zh) 2015-04-30 2015-04-30 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9830077B2 (zh)
TW (1) TWI564901B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740026B2 (en) 2018-05-18 2020-08-11 Micron Technology, Inc. Time indicator of super block operations
TWI668570B (zh) * 2018-08-09 2019-08-11 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227203A1 (en) * 2008-11-12 2013-08-29 Micron Technology, Inc. Dynamic slc/mlc blocks allocations for non-volatile memory
US8694748B2 (en) * 2011-12-15 2014-04-08 Phison Electronics Corp. Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
TW201441816A (zh) * 2011-12-15 2014-11-01 Phison Electronics Corp 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
US9001585B1 (en) * 2013-12-26 2015-04-07 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743203B2 (en) * 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
US8281061B2 (en) * 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
US9141528B2 (en) * 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
US9176862B2 (en) * 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227203A1 (en) * 2008-11-12 2013-08-29 Micron Technology, Inc. Dynamic slc/mlc blocks allocations for non-volatile memory
US20140133226A1 (en) * 2008-11-12 2014-05-15 Micron Technology, Inc. Erasing physical memory blocks of non-volatile memory
US8694748B2 (en) * 2011-12-15 2014-04-08 Phison Electronics Corp. Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
TW201441816A (zh) * 2011-12-15 2014-11-01 Phison Electronics Corp 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
US9001585B1 (en) * 2013-12-26 2015-04-07 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage apparatus

Also Published As

Publication number Publication date
US9830077B2 (en) 2017-11-28
TW201638960A (zh) 2016-11-01
US20160320973A1 (en) 2016-11-03

Similar Documents

Publication Publication Date Title
TWI526830B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
US8386905B2 (en) Error correcting method, and memory controller and memory storage system using the same
TWI436212B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI454911B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI479314B (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI435329B (zh) 快閃記憶體管理方法、快閃記憶體控制器與儲存系統
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
TWI451249B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI454913B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI584189B (zh) 記憶體控制器、記憶體儲存裝置與資料寫入方法
TWI597730B (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI438630B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI463495B (zh) 資料寫入方法、記憶體控制器與儲存裝置
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
TW201413450A (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI464585B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置