TW201801089A - 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 - Google Patents
資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201801089A TW201801089A TW105119063A TW105119063A TW201801089A TW 201801089 A TW201801089 A TW 201801089A TW 105119063 A TW105119063 A TW 105119063A TW 105119063 A TW105119063 A TW 105119063A TW 201801089 A TW201801089 A TW 201801089A
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- physical
- units
- data
- area
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
一種用於可複寫式非揮發性記憶體模組的資料寫入方法。此方法包括:將可複寫式非揮發性記憶體模組的實體抹除單元至少分組為第一區與第二區,其中第二區的實體抹除單元是以單頁程式化模式來寫入資料並且第一區的實體抹除單元是以多頁程式化模式來寫入資料。此方法更包括:接收第一資料;以及判斷在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目,以及若是,則將第一資料寫入至第二區的實體抹除單元。
Description
本發明是有關於一種資料寫入方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的資料寫入方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體模組作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
在反及(NAND)型快閃記憶體模組中,實體程式化單元是由排列在同一條字元線上的數個記憶胞所組成。依據每個記憶胞可儲存的位元數, 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個位元的資料。
由於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型快閃記憶體模組中,若要確保一條字元線上的資料可穩定的被儲存,必須對此字元線完成三次程式化。例如,對第一條字元線上的記憶胞進行第一次的程式化後,第一條字元線上的記憶胞會處於第一狀態(first state)。而在對第二條字元線上的記憶胞進行程式化的同時第一條字元線上的記憶胞會再次被程式化。此時,第一條字元線上的記憶胞會處於模糊狀態(foggy state)。然後,在對第三條字元線上的記憶胞進行程式化的同時第一、第二條字元線上的記憶胞會再次被程式化,此時,第一條字元線上的記憶胞會處於良好狀態(fine state)。再者,在對第四條字元線上的記憶胞進行程式化的同時第二、第三條字元線上的記憶胞會再次被程式化。此時,第二條字元線上的記憶胞會處於良好狀態,由此第一條字元線上的記憶胞中的資料才能被確保是穩定的儲存。
一般而言,在使用TLC NAND型快閃記憶體的記憶體儲存裝置中,記憶體控制電路單元會將其中的部份實體抹除單元分組為暫存區,並且使用一單頁程式化模式(即,一個記憶胞儲存1個位元資料)來操作被分組為暫存區的實體抹除單元,以模擬SLC NAND型快閃記憶體的運作,藉此提高寫入速度。然而,考量到儲存容量,TLC NAND型快閃記憶體的大部分實體抹除單元,仍是以多頁程式化模式(即,一個記憶胞儲存3個位元資料)來操作。然而,以多頁程式化模式的實體抹除單元的使用壽命相對較短,且其寫入資料的速度也相較於以單頁程式化模式來操作的實體抹除單元來的慢。
基於上述,如何提升TLC NAND型快閃記憶體模組的可靠度與程式化速度是此領域技術人員所致力的目標。
本發明提供一種資料寫入方法、記憶體控制電路單元級記憶體儲存裝置,其能夠有效提升程式化資料的速度與可靠度。
本發明的一範例實施例提出一種用於可複寫式非揮發性記憶體模組的資料寫入方法,此可複寫式非揮發性記憶體模組具有多個實體抹除單元,此些實體抹除單元至少被分組為第一區與第二區,第二區的實體抹除單元的每個記憶胞儲存的資料位元的數目是小於第一區的實體抹除單元的每個記憶胞儲存的資料位元的數目。此資料寫入方法包括:接收一第一資料,判斷在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目,以及倘若在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,將第一資料寫入至第二區的至少一實體抹除單元。
在本發明的一範例實施例中,上述資料寫入方法更包括:倘若在第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目小於預定數目時,將第一資料寫入至第一區的多個實體抹除單元之中的一實體抹除單元。
在本發明的一範例實施例中,上述資料寫入方法更包括:選擇第一區的第一實體抹除單元以執行第一有效資料合併操作,並且在第一有效資料合併操作中將第一區的至少一第二實體抹除單中的有效資料複製到第一實體抹除單元中。其中當第一實體抹除單元尚未被寫滿時,則第一實體抹除單元會被判斷為只有部分實體程式化單元被程式化的實體抹除單元。
在本發明的一範例實施例中,上述的資料寫入方法更包括:當上述第一實體抹除單元已被寫滿時,從第一區中選擇一第三實體抹除單元;將第二區中的第一資料複製到第三實體抹除單元;以及對所述第二區的上述至少一實體抹除單元執行抹除操作。
在本發明的一範例實施例中,上述的資料寫入方法更包括:在接收到第一資料之前,從主機系統接收寫入指令與對應此寫入指令的第二資料;從第一區中選擇第四實體抹除單元;以及將第二資料寫入至第四實體抹除單元。其中當第四實體抹除單元尚未被寫滿時,則第四實體抹除單元會被判斷為只有部分實體程式化單元被程式化的實體抹除單元。
在本發明的一範例實施例中,上述資料寫入方法更包括:選擇第二區的實體抹除單元之中的多個第五實體抹除單元以執行第二有效資料合併操作;在第二有效資料合併操作中,將第一區的實體抹除單元之中的至少一第六實體抹除單中的有效資料複製到第五實體抹除單元,從第一區的實體抹除單元中選擇第七實體抹除單元,且將第五實體抹除單元中的有效資料複製到第七實體抹除單元;以及在將第五實體抹除單元中的有效資料複製到第七實體抹除單元之後,對第五實體抹除單元執行抹除操作。
本發明的一範例實施例提出一種記憶體控制電路單元,其包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組包括多個實體抹除單元。記憶體管理電路耦接至主機介面與記憶體介面。記憶體管理電路用以將實體抹除單元至少分組為第一區與第二區,其中第二區的實體抹除單元的每個記憶胞儲存的資料位元的數目是小於第一區的實體抹除單元的每個記憶胞儲存的資料位元的數目。記憶體管理電路更用以接收第一資料,判斷在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目,並且若在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,將第一資料寫入至第二區的實體抹除單元之中的至少一實體抹除單元。
在本發明的一範例實施例中,若在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,記憶體管理電路將第一資料寫入至第二區的實體抹除單元之中的一實體抹除單元。
在本發明的一範例實施例中,其中記憶體管理電路更用以選擇第一區的第一實體抹除單元以執行第一有效資料合併操作,並且在第一有效資料合併操作中下達指令序列以將第一區的至少一第二實體抹除單中的有效資料複製到第一實體抹除單元中。其中當第一實體抹除單元尚未被寫滿時,則第一實體抹除單元會被判斷為只有部分實體程式化單元被程式化的實體抹除單元。
在本發明的一範例實施例中,其中當第一實體抹除單元已被寫滿時,記憶體管理電路更用以從第一區中選擇第三實體抹除單元,下達另一指令序列以將第二區中的第一資料複製到第三實體抹除單元,並且下達另一指令序列以對第二區的上述至少一實體抹除單元執行抹除操作。
在本發明的一範例實施例中,在接收到上述第一資料之前,該記憶體管理電路更用以從主機系統接收寫入指令與對應此寫入指令的第二資料,從第一區中選擇第四實體抹除單元,且下達另一指令序列以將第二資料寫入至第四實體抹除單元。其中當第四實體抹除單元尚未被寫滿時,則第四實體抹除單元會被判斷為只有部分實體程式化單元被程式化的實體抹除單元。
在本發明的一範例實施例中,記憶體管理電路更用以選擇第二區的實體抹除單元之中的多個第五實體抹除單元以執行第二有效資料合併操作。在第二有效資料合併操作中,記憶體管理電路下達另一指令序列以將第一區的實體抹除單元之中的至少一第六實體抹除單中的有效資料複製到第五實體抹除單元,從第一區的實體抹除單元中選擇第七實體抹除單元,且下達另一指令序列以將第五實體抹除單元中的有效資料複製到第七實體抹除單元。並且,在將第五實體抹除單元中的有效資料複製到第七實體抹除單元之後,記憶體管理電路下達另一指令序列以對第五實體抹除單元執行抹除操作。
本發明的一範例實施例提出一種記憶體儲存裝置其包括用以耦接至主機系統的連接介面單元、上述可複寫式非揮發性記憶體模組與上述記憶體控制電路單元。
本發明的一範例實施例提出一種用於可複寫式非揮發性記憶體模組的資料寫入方法,此可複寫式非揮發性記憶體模組具有多個實體抹除單元,此些實體抹除單元至少被分組為第一區與第二區,第二區的實體抹除單元的每個記憶胞儲存的資料位元的數目是小於第一區的實體抹除單元的每個記憶胞儲存的資料位元的數目。此資料寫入方法包括:接收一第一資料,倘若在第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目小於預定數目時,將第一資料不經由第二區的路徑而寫入至第一區的多個實體抹除單元之中的一實體抹除單元,以及倘若在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,將第一資料寫入至第二區的至少一實體抹除單元。
本發明的一範例實施例提出一種記憶體儲存裝置其包括用以耦接至主機系統的連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。記憶體控制電路單元用以接收第一資料。若在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目小於預定數目時,記憶體控制電路單元更用以將第一資料不經由第二區的路徑而寫入至第一區的實體抹除單元之中的一實體抹除單元。並且,若在第一區的實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,記憶體控制電路單元更用以將第一資料寫入至第二區的實體抹除單元之中的至少一實體抹除單元。
基於上述,本發明範例實施例的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置會控制作為儲存區作動單元的實體抹除單元的數量,由此有效提升程式化資料的速度以及可靠度。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路單元)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。且圖2是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114是可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication Storage, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的SD卡32、CF卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded MMC, eMMC)341及/或嵌入式多晶片封裝儲存裝置(embedded Multi Chip Package, eMCP)342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(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)介面標準、安全數位(Secure Digital, SD)介面標準、記憶棒(Memory Stick, MS)介面標準、多晶片封裝(Multi-Chip Package)介面標準、多媒體儲存卡(Multi Media Card, MMC)介面標準、嵌入式多媒體儲存卡(Embedded Multimedia Card, eMMC)介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)介面標準、小型快閃(Compact Flash, CF)介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404,並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406具有實體抹除單元510(0)~ 510(N)。例如,實體抹除單元510(0)~510(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含8個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組406為複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組406亦可是多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個資料位元的快閃記憶體模組)或其他具有相同特性的記憶體模組。
圖5A與圖5B是根據本範例實施例所繪示之記憶胞儲存架構與實體抹除單元的範例示意圖。
請參照圖5A,可複寫式非揮發性記憶體模組406的每個記憶胞的儲存狀態可被識別為“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如圖5A所示),其中左側算起之第1個位元為LSB、從左側算起之第2個位元為CSB以及從左側算起之第3個位元為MSB。此外,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。
請參照圖5B,一個實體抹除單元是由多個實體程式化單元組所組成,其中每個實體程式化單元組包括由排列在同一條字元線上的數個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元。例如,在實體抹除單元中,屬於下實體程式化單元的第0個實體程式化單元、屬於中實體程式化單元的第1個實體程式化單元和屬於上實體程式化單元的第2個實體程式化單元會被視為一個實體程式化單元組。類似地,第3、4、5個實體程式化單元會被視為一個實體程式化單元組,並且以此類推其他實體程式化單元亦是依據此方式被區分為多個實體程式化單元組。也就是說,在圖5B的範例實施例中,實體抹除單元總共有258個實體程式化單元,且由於排列在同一條字元線上的數個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元會組成一個實體程式化單元組,故圖5B的實體抹除單元總共可以分成86個實體程式化單元組。然而需注意的是,本發明並不用於限定實體抹除單元中的實體程式化單元或實體程式化單元組的個數。
圖6是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖6,記憶體控制電路單元404包括記憶體管理電路602、主機介面604與記憶體介面606、緩衝記憶體608、電源管理電路610與錯誤檢查與校正電路612。
記憶體管理電路602用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路602具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路602的控制指令是以韌體型式來實作。例如,記憶體管理電路602具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。必須了解的是,以下描述記憶體管理電路602所執行的操作可被參考為由記憶體控制電路單元404所執行。
圖7與圖8是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以“提取”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖7,記憶體管理電路602會將實體抹除單元510(0)~510(N)邏輯地分組為儲存區502(亦可參考為第一區)、暫存區504(亦可參考為第二區)、系統區506與取代區508。必須了解的是,儲存區502、暫存區504、系統區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同,本揭露不對此進行限制。
邏輯上屬於儲存區502的實體抹除單元是用以儲存來自於主機系統11的資料。具體來說,儲存區502包括資料區502a與閒置區502b,資料區502a的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區502b的實體抹除單元是用以替換資料區502a的實體抹除單元。也就是說,當從主機系統11接收到寫入指令與欲寫入之資料時,記憶體管理電路602會從閒置區502b中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502a的實體抹除單元。
在本範例實施例中,記憶體管理電路602是以多頁程式化模式來操作屬於儲存區502的實體抹除單元。所謂多頁程式化模式是指,一個記憶胞儲存多個資料位元的寫入模式。多頁程式化模式例如是複數階記憶胞程式化模式或類似模式。在多頁程式化模式中,下實體程式化單元、中實體程式化單元與上實體程式化單元皆會被用來儲存資料。也就是說,當使用多頁程式化模式來寫入資料時,記憶體管理電路602會對一個實體程式化單元組的下實體程式化單元、中實體程式化單元與上實體程式化單元執行程式化。值得一提的,在一範例實施例中,使用多頁程式化模式來操作實體抹除單元時,同一個實體程式化單元組的實體程式化單元會同時地或階段性地被程式化。
邏輯上屬於暫存區504的實體抹除單元是用以暫存主機系統11所寫入的資料。在本範例實施例中,記憶體管理電路602是以單頁程式化模式來操作屬於暫存區504的實體抹除單元。在此,所謂單頁程式化模式是指,一個記憶胞只儲存一個資料位元的寫入模式。單頁程式化模式例如是單層記憶胞(single layer memory cell, SLC)程式化模式、下實體程式化(lower physical programming)模式、混合程式化(mixture programming)模式及少層記憶胞(less layer memory cell)程式化模式的其中之一。更詳細來說,在單層記憶胞模式中,一個記憶胞只儲存一個位元的資料。在下實體程式化模式中,只有下實體程式化單元會被程式化,而此下實體程式化單元所對應之上實體程式化單元可不被程式化。在混合程式化模式中,有效資料(或,真實資料)會被程式化於下實體程式化單元中,而同時虛擬資料(dummy data)會被程式化至儲存有效資料之下實體程式化單元所對應的上實體程式化單元中。在少層記憶胞模式中,一個記憶胞儲存一第一數目之位元的資料,例如,此第一數目可設為“1”。也就是說,在單頁程式化模式中,一條字元線上的記憶胞僅提供一個實體程式化單元的空間來儲存資料。相較於以多頁程式化模式來操作的實體抹除單元,以單頁程式化模式來操作的實體抹除單元的使用壽命較長。具體來說,每個實體抹除單元能夠被寫入或抹除的次數是有限的,當一個實體抹除單元被寫入的次數超過一個臨界值時,此實體抹除單元可能就會損壞而無法再被寫入資料,其中對應以多頁程式化模式來操作之實體抹除單元的臨界值會低於對應以單頁程式化模式來操作之實體抹除單元的臨界值。此外,以單頁程式化模式來程式化資料至實體抹除單元的可靠度會大於以多頁程式化模式來程式化資料至實體抹除單元的可靠度。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括邏輯轉實體位址映射表、關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502a的實體抹除單元損壞時,記憶體管理電路602會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
請參照圖8,記憶體管理電路602會配置邏輯單元LBA(0)~LBA(H)以映射資料區502a的實體抹除單元,其中每一邏輯單元具有多個邏輯子單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統11欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體管理電路602會從閒置區502b中提取一個實體抹除單元來寫入資料,以輪替資料區502a的實體抹除單元。在本範例實施例中,邏輯子單元可以是邏輯頁面或邏輯扇區。
為了識別每個邏輯單元的資料被儲存在哪個實體抹除單元中,在本範例實施例中,記憶體管理電路602會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統11欲在邏輯子單元中存取資料時,記憶體管理電路602會確認此邏輯子單元所屬的邏輯單元,並且在此邏輯單元所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體管理電路602會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯單元所映射的實體抹除單元,並且當欲存取資料時記憶體管理電路602會將邏輯轉實體位址映射表載入至緩衝記憶體608來維護。
值得一提的是,由於緩衝記憶體608的容量有限無法儲存記錄所有邏輯單元之映射關係的映射表,因此,在本範例實施例中,記憶體管理電路602會將邏輯單元LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯轉實體位址映射表。特別是,當記憶體管理電路602欲更新某個邏輯單元的映射時,對應此邏輯單元所屬之邏輯區域的邏輯轉實體位址映射表會被載入至緩衝記憶體608來被更新。
值得一的是,在本範例實施例中,一個邏輯單元的大小是與以多頁程式化模式操作的一個實體抹除單元的容量一致。因此,在本範例實施例中,暫存區504的3個實體抹除單元才能提供足夠的空間來儲存一個邏輯單元的資料。
在本範例實施例中,當一個實體抹除單元被劃分至暫存區504後,此實體抹除單元將僅能用於暫存區504,而不會與儲存區502的實體抹除單元混用。也就是說,記憶體管理電路602會獨立地操作儲存區502與暫存區504的實體抹除單元。例如,當一個實體抹除單元被劃分至暫存區504後,記憶體管理電路602會以單頁程式化模式操作此實體抹除單元,直到此實體抹除單元損壞為止。
在本範例實施例中,程式化資料至儲存區502的方式是有兩種,一種是經由暫存區504來寫入資料的路徑,而另一種是不經由暫存區504的寫入路徑。例如,當接收到主機系統11的寫入指令之後,記憶體管理電路602可以使用單頁程式化模式將資料暫存至暫存區504,然後再使用多頁程式化模式將資料從暫存區504搬移至儲存區502,或者記憶體管理電路602亦可直接使用多頁程式化模式將資料寫入至儲存區502。
圖9與圖10是根據一範例所繪示之使用單頁程式化模式將資料暫存在暫存區並且之後使用多頁程式化模式將資料從暫存區寫入至儲存區的範例示意圖。
請參照圖9,當記憶體儲存裝置100從主機系統11中接收到指示將更新資料儲存至邏輯單元LBA(0)的第0~257個邏輯子單元的寫入指令時,記憶體管理電路602會從暫存區504中提取3個實體抹除單元510(S+1)、510(S+2)、510(S+3)分別做為對應邏輯單元LBA(0)的暫存區作動單元,並且使用暫存區作動單元510(S+1)、暫存區作動單元510(S+2)、暫存區作動單元510(S+3)來寫入屬於邏輯單元LBA(0)的更新資料。在此所謂作動單元是指,一個實體抹除單元已經被選出來使用寫入資料(即,此實體抹除單元的第一個實體程式化單元已被寫入資料),但此實體抹除單元尚未被寫滿(即,此實體抹除單元的部分實體程式化單元尚未被寫入資料)的狀態。而暫存區作動單元是指,在暫存區504中已經被選出來使用寫入資料但尚未被寫滿的實體抹除單元(即,僅部分實體程式化單元被程式化的實體抹除單元)。
例如,記憶體管理電路602會下達指令序列以將欲儲存至邏輯單元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)指令以有效地提升寫入資料的速度。在另一範例實施例中,記憶體管理電路602會將欲儲存至邏輯單元LBA(0)的各個邏輯子單元的更新資料經過再整理或排列後,再同時寫入至暫存區作動單元510(S+1)的下實體程式化單元、暫存區作動單元510(S+2)的下實體程式化單元以及暫存區作動單元510(S+3)的下實體程式化單元中。
請參照圖10,在將邏輯單元LBA(0) 的所有邏輯子單元的資料暫存至暫存區作動單元510(S+1)、暫存區作動單元510(S+2)、暫存區作動單元510(S+3)之後,記憶體管理電路602會從閒置區502b中提取實體抹除單元510(F+1)(以下可參考為第三實體抹除單元)作為儲存區作動單元。具體來說,記憶體管理電路602會從閒置區502b中選擇一個空的實體抹除單元或者所儲存之資料為無效資料的實體抹除單元作為儲存區作動單元。特別是,倘若所提取之實體抹除單元是儲存無效資料的實體抹除單元時,記憶體管理電路602會先對此實體抹除單元執行抹除操作。也就是說,實體抹除單元上的無效資料必須先被抹除。
之後,記憶體管理電路602會下達指令序列以從暫存區作動單元510(S+1)的下實體程式化單元中將屬於邏輯單元LBA(0)的第0~85邏輯子單元的有效資料複製至目前作為儲存區作動單元的實體抹除單元510(F+1)的對應頁面(例如,第0~85實體程式化單元)。在此,儲存區作動單元是指,在儲存區502中已經被選出來使用寫入資料但尚未被寫滿的實體抹除單元(即,僅部分實體程式化單元被程式化的實體抹除單元)。接著,記憶體管理電路602會下達指令序列以從暫存區作動單元510(S+2) 的下實體程式化單元中將屬於邏輯單元LBA(0)的第86~171邏輯子單元的有效資料複製至目前作為儲存區作動單元的實體抹除單元510(F+1)的對應頁面(例如,第86~171實體程式化單元)。然後,記憶體管理電路602會下達指令序列以從暫存區作動單元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)中。
最後,記憶體管理電路602會在邏輯轉實體位址映射表中將邏輯單元LBA(0)映射至實體抹除單元510(F+1),重新設定實體抹除單元510(S+1)~510(S+3)成非為暫存區作動單元並對實體抹除單元510(S+1)~510(S+3)執行抹除操作。也就是說,在執行下一個寫入指令時,空的實體抹除單元510(S+1)~510(S+3)就可再被選擇作為暫存區作動單元。
圖11是根據一範例所繪示之使用多頁程式化模式將資料寫入至儲存區的寫入範例示意圖。
請參照圖11,當記憶體儲存裝置100從主機系統11中接收到指示將更新資料儲存至邏輯單元LBA(0)的第0~257個邏輯子單元的寫入指令時,記憶體管理電路602會從閒置區502b中提取實體抹除單元510(F+3)(以下參考為第四實體抹除單元)作為儲存區作動單元。具體來說,記憶體管理電路602會從閒置區502b中選擇一個空的實體抹除單元或者所儲存之資料為無效資料的實體抹除單元作為儲存區作動單元。特別是,倘若所提取之實體抹除單元是儲存無效資料的實體抹除單元時,記憶體管理電路602會先對此實體抹除單元執行抹除操作。也就是說,實體抹除單元上的無效資料必須先被抹除。
之後,記憶體管理電路602會下達指令序列以將所接收到的資料以多頁程式化模式寫入至目前作為儲存區作動單元的實體抹除單元510(F+3)中。類似地,實體抹除單元510(F+3)是以實體程式化單元組為單位來同時或階段性地程式化
值得一提的是,資料區502a的實體程式化單元中的有效資料會因為對應的更新資料被寫入至儲存區502或暫存區504的另一個實體程式化單元變成無效資料,因此,資料區502a中會出現許多儲存無效資料的實體程式化單元,並且記憶體管理電路602會進行有效資料合併操作以回收此些儲存無效資料的實體程式化單元。例如,當記憶體儲存裝置100屬於閒置狀態一段時間(例如,30秒未從主機系統11中接收到任何指令)或者是當閒置區502b中空的實體抹除單元的數目小於預設門檻值時,記憶體管理電路602會對儲存區502中的有效資料進行有效資料合併操作,以釋放出空的實體抹除單元。例如,此預設門檻值會被設定為3。然而,必須瞭解的是,本發明不限於此,預設門檻值亦可以是其他適當的數值。
在本範例實施例中,記憶體管理電路602可在儲存區502中進行有效資料合併操作(以下參考為第一有效資料合併操作)或者在儲存區502與暫存區504之間進行有效資料合併操作(以下參考為第二有效資料合併操作)中。
圖12為根據一範例所繪示之對儲存區中的實體抹除單元進行第一有效資料合併操作的示意圖。
請參照圖12,假設記憶體管理電路602欲對儲存區502中的實體抹除單元進行資料合併操作時(例如,週期性地對儲存區502中的實體抹除單元進行資料合併操作或者主機系統11處於閒置狀態時),記憶體管理電路602從儲存區502的資料區502a中選擇實體抹除單元510(F+5)(以下參考為第一實體抹除單元)作為儲存區作動單元並且下達指令序列以將實體抹除單元510(F+4) (以下參考為第二實體抹除單元)中的有效資料複製到被設定為儲存區作動單元的實體抹除單元510(F+5)中。
具體來說,在進行資料合併操作的過程中,記憶體管理電路602)會從實體抹除單元510(F+4)的下、中、上實體程式化單元中讀取有效資料,並將所讀出的有效資料寫入到目前被設定為儲存區作動單元的實體抹除單元510(F+5)的下、中、上實體程式化單元中(即,此為圖12所示的“資料合併”操作)。之後,記憶體管理電路602會將原本實體抹除單元510(F+4)中有效資料所屬的邏輯子單元映射至實體抹除單元510(F+5)的實體程式化單元,並對實體抹除單元510(F+4)進行抹除操作,以釋放實體抹除單元510(F+4)的空間。
圖13為根據另一範例所繪示之對儲存區中的實體抹除單元進行第二有效資料合併操作的示意圖。
請參照圖13,假設記憶體管理電路602欲對儲存區502的資料區502a中的實體抹除單元進行資料合併操作時(例如,週期性地對資料區502a中的實體抹除單元進行資料合併操作或者主機系統11處於閒置狀態時或者資料區502a中所有的實體抹除單元沒有足夠空間時),記憶體管理電路602從儲存區502的資料區502a中選擇實體抹除單元510(F+6)(以下參考為第六實體抹除單元),從暫存區504中選擇實體抹除單元510(S+6) (以下參考為第五實體抹除單元)作為用於有效資料合併操作的暫存區作動單元,並且下達指令序列以先將實體抹除單元510(F+6)中的有效資料複製至實體抹除單元510(S+6)中。具體來說,記憶體管理電路602會從實體抹除單元510(F+6)的下、中、上實體程式化單元中讀取有效資料,並將所讀出的有效資料寫入到實體抹除單元510(S+6)的下實體程式化單元中(即,此為圖14所示的“資料合併A”操作),並對實體抹除單元510(F+6)進行抹除操作,以釋放實體抹除單元510(F+6)的空間。
之後,記憶體管理電路602會從儲存區502的閒置區502b中選擇一個實體抹除單元510(F+2)(以下參考為第七實體抹除單元)作為儲存區作動單元,下達指令序列以從實體抹除單元510(S+6)的下實體程式化單元中讀取該些有效資料,下達指令序列以將所讀出的有效資料寫入到目前作為儲存區作動單元的實體抹除單元510(F+2)的下、中、上實體程式化單元中(即,此為圖14所示的“資料合併B”操作),重新設定實體抹除單元510(S+6)非為暫存區作動單元並對實體抹除單元510(S+6)執行抹除操作。之後,記憶體管理電路602會將此些有效資料所屬的邏輯子單元映射至實體抹除單元510(F+2)的實體程式化單元。在圖13的例子中,資料區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)。
值得一提的是,如上所述,多頁程式化模式的寫入速度會低於單頁程式化模式的寫入速度,在執行如圖9~圖11所示的資料寫入操作以及圖12~圖13的資料合併操作時,記憶體管理電路602會限制作為儲存區作動單元的實體抹除單元的數目不大於一預定數目,並且不限制作為暫存區作動單元的實體抹除單元的數目,由此提升記憶體儲存裝置10的效能。例如,在本範例實施例中,記憶體管理電路602會限制作為儲存區作動單元的實體抹除單元的數目不大於1。也就是說,同時僅能有一個儲存區502的實體抹除單元作為儲存區作動單元。
具體來說,當從主機系統11接收到寫入指令與對應此寫入指令的資料時,記憶體管理電路602會判斷儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目。倘若儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,記憶體管理電路602會使用圖9所示的方法先將從主機系統11中所接收到的資料暫存至暫存區504,而不會再設定儲存區502的另一個實體抹除單元作為儲存區作動單元來寫入資料。類似地,在本範例實施例中,當需要在儲存區502中執行有效資料合併操作時,記憶體管理電路602會判斷儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目。倘若儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,記憶體管理電路602會使用圖13所示的方法,先將有效資料複製到暫存區504的暫存區作動單元中並且之後在此實體抹除單元被重新設定成非為儲存區作動單元時,記憶體管理電路602會再將資料從暫存區504中搬移至儲存區502。
圖14是根據一範例實施例所繪示的資料寫入方法的流程圖。
請參照圖14,在步驟S1401中,記憶體管理電路602會從主機系統11接收到寫入指令與對應此寫入指令的資料。
在步驟S1403中,記憶體管理電路602會判斷儲存區502的實體抹除單元之中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目。
倘若儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,在步驟S1405中,記憶體管理電路602會從暫存區504中選擇至少一實體抹除單元,並且將從主機系統11中所接收的資料以單頁程式化模式寫入至所選擇的實體抹除單元中。將資料暫存至暫存區504的操作已配合圖9詳細描述如上,在此不再重複說明。
倘若儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目小於預定數目時,在步驟S1407中,記憶體管理電路602會從儲存區502中選擇一個實體抹除單元,並在不經暫存區504的路徑下,將從主機系統11中所接收的資料以多頁程式化模式寫入至所選擇的實體抹除單元中。例如,在步驟S1407中,記憶體管理電路602以圖11所示的操作直接將資料從緩衝記憶體608中寫入至從儲存區502中選出作為儲存區作動單元的實體抹除單元中。
圖15是根據本發明另一範例實施例所繪示的資料寫入方法的流程圖。
在步驟S1501中,記憶體管理電路602會判斷是否需對儲存區502執行有效資料合併操作。
倘若無需執行有效資料合併操作時,圖16的流程會結束。
倘若需執行有效資料合併操作時,在步驟S1503中,記憶體管理電路602會從儲存區502的資料區502a中選擇至少一個實體抹除單元(以下參考為目標實體抹除單元)。
在步驟S1505中,記憶體管理電路602會判斷儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目。
倘若儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目非小於預定數目時,在步驟S1507中,記憶體管理電路602會從暫存區504中選取至少一實體抹除單元,將在目標實體抹除單元的有效資料以單頁程式化模式寫入至所選取的實體抹除單元中。將有效資料暫存至暫存區504的有效資料合併操作已配合圖14詳細描述如上,在此不再重複說明。
倘若儲存區502中僅部分實體程式化單元被程式化的實體抹除單元的數目小於預定數目時,在步驟S1509中,記憶體管理電路602會從儲存區502中選擇一個實體抹除單元,並在不經暫存區504的路徑下,將在目標實體抹除單元的有效資料以多頁程式化模式寫入至所選取的實體抹除單元中。例如,在步驟S1509中,記憶體管理電路602會使用多頁程式化模式,在儲存區502中將有效資料從目標實體抹除單元複製到選出作為儲存區作動單元的實體抹除單元中(如圖13所示的操作)。
綜上所述,本發明範例實施例的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置在執行寫入操作、有效資料合併操作時,會依據目前作為儲存區作動單元的實體抹除單元的數目來決定直接將資料程式化至儲存區或先暫存至暫存區,由此可以有效地提升程式化資料的速度以及可靠度
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧輸入/輸出(I/O)裝置
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體(RAM)
113‧‧‧唯讀記憶體(ROM)
114‧‧‧資料傳輸介面
20‧‧‧主機板
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
30‧‧‧記憶體儲存裝置
31‧‧‧主機系統
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧儲存區
502a‧‧‧資料區
502b‧‧‧閒置區
504‧‧‧暫存區
506‧‧‧系統區
508‧‧‧取代區
510(0)~510(N)‧‧‧實體抹除單元
602‧‧‧記憶體管理電路
604‧‧‧主機介面
606‧‧‧記憶體介面
608‧‧‧緩衝記憶體
610‧‧‧電源管理電路
612‧‧‧錯誤檢查與校正電路
LBA(0)~LBA(H)‧‧‧邏輯單元
LZ(0)~LZ(M)‧‧‧邏輯區域
S1401‧‧‧從主機系統接收到寫入指令與對應此寫入指令的資料的步驟
S1403‧‧‧判斷儲存區的實體抹除單元之中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目的步驟
S1405‧‧‧從暫存區中選擇至少一實體抹除單元,並且將從主機系統中所接收的資料以單頁程式化模式寫入至所選擇的實體抹除單元中的步驟
S1407‧‧‧從儲存區中選擇一個實體抹除單元,並在不經暫存區的路徑下,將從主機系統中所接收的資料以多頁程式化模式寫入至所選擇的實體抹除單元中的步驟
S1501‧‧‧判斷是否需對儲存區執行有效資料合併操作的步驟
S1503‧‧‧從儲存區的資料區中選擇至少一個實體抹除單元(以下參考為目標實體抹除單元)的步驟
S1505‧‧‧判斷儲存區的實體抹除單元之中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目的步驟
S1507‧‧‧從暫存區中選取至少一實體抹除單元,將在目標實體抹除單元的有效資料以單頁程式化模式寫入至所選取的實體抹除單元中的步驟
S1509‧‧‧從儲存區中選擇一個實體抹除單元,並在不經暫存區的路徑下,將在目標實體抹除單元的有效資料以多頁程式化模式寫入至所選取的實體抹除單元中的步驟
11‧‧‧主機系統
12‧‧‧輸入/輸出(I/O)裝置
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體(RAM)
113‧‧‧唯讀記憶體(ROM)
114‧‧‧資料傳輸介面
20‧‧‧主機板
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
30‧‧‧記憶體儲存裝置
31‧‧‧主機系統
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧儲存區
502a‧‧‧資料區
502b‧‧‧閒置區
504‧‧‧暫存區
506‧‧‧系統區
508‧‧‧取代區
510(0)~510(N)‧‧‧實體抹除單元
602‧‧‧記憶體管理電路
604‧‧‧主機介面
606‧‧‧記憶體介面
608‧‧‧緩衝記憶體
610‧‧‧電源管理電路
612‧‧‧錯誤檢查與校正電路
LBA(0)~LBA(H)‧‧‧邏輯單元
LZ(0)~LZ(M)‧‧‧邏輯區域
S1401‧‧‧從主機系統接收到寫入指令與對應此寫入指令的資料的步驟
S1403‧‧‧判斷儲存區的實體抹除單元之中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目的步驟
S1405‧‧‧從暫存區中選擇至少一實體抹除單元,並且將從主機系統中所接收的資料以單頁程式化模式寫入至所選擇的實體抹除單元中的步驟
S1407‧‧‧從儲存區中選擇一個實體抹除單元,並在不經暫存區的路徑下,將從主機系統中所接收的資料以多頁程式化模式寫入至所選擇的實體抹除單元中的步驟
S1501‧‧‧判斷是否需對儲存區執行有效資料合併操作的步驟
S1503‧‧‧從儲存區的資料區中選擇至少一個實體抹除單元(以下參考為目標實體抹除單元)的步驟
S1505‧‧‧判斷儲存區的實體抹除單元之中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目的步驟
S1507‧‧‧從暫存區中選取至少一實體抹除單元,將在目標實體抹除單元的有效資料以單頁程式化模式寫入至所選取的實體抹除單元中的步驟
S1509‧‧‧從儲存區中選擇一個實體抹除單元,並在不經暫存區的路徑下,將在目標實體抹除單元的有效資料以多頁程式化模式寫入至所選取的實體抹除單元中的步驟
圖1是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖3是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。 圖5A與圖5B是根據一範例實施例所繪示之記憶胞儲存架構與實體抹除單元的範例示意圖。 圖6是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。 圖7與圖8是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。 圖9與圖10是根據一範例所繪示之使用單頁程式化模式將資料暫存在暫存區並且之後使用多頁程式化模式將資料從暫存區寫入至儲存區的範例示意圖。 圖11是根據一範例所繪示之使用多頁程式化模式將資料寫入至儲存區的範例示意圖。 圖12為根據一範例所繪示之對儲存區中的實體抹除單元進行有第一效資料合併操作的示意圖。 圖13為根據另一範例所繪示之對儲存區中的實體抹除單元進行第二有效資料合併操作的示意圖。 圖14是根據一範例實施例所繪示的資料寫入方法的流程圖。 圖15是根據另一範例實施例所繪示的資料寫入方法的流程圖。
S1401‧‧‧從主機系統接收到寫入指令與對應此寫入指令的資料的步驟
S1403‧‧‧判斷儲存區的實體抹除單元之中僅部分實體程式化單元被程式化的實體抹除單元的數目是否小於預定數目的步驟
S1405‧‧‧從暫存區中選擇至少一實體抹除單元,並且將從主機系統中所接收的資料以單頁程式化模式寫入至所選擇的實體抹除單元中的步驟
S1407‧‧‧從儲存區中選擇一個實體抹除單元,並在不經暫存區的路徑下,將從主機系統中所接收的資料以多頁程式化模式寫入至所選擇的實體抹除單元中的步驟
Claims (20)
- 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元至少被分組為一第一區與一第二區,所述第二區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目是小於所述第一區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目,所述資料寫入方法包括: 接收一第一資料; 判斷在所述第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目是否小於一預定數目;以及 倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目非小於所述預定數目時,將所述第一資料寫入至所述第二區的所述多個實體抹除單元之中的至少一實體抹除單元。
- 如申請專利範圍第1項所述的資料寫入方法,更包括: 倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目小於所述預定數目時,將所述第一資料寫入至所述第一區的所述多個實體抹除單元之中的一實體抹除單元。
- 如申請專利範圍第1項所述的資料寫入方法,更包括: 選擇所述第一區的所述多個實體抹除單元之中的一第一實體抹除單元以執行一第一有效資料合併操作,並且在所述第一有效資料合併操作中將所述第一區的所述多個實體抹除單元之中的至少一第二實體抹除單中的有效資料複製到所述第一實體抹除單元中, 其中當所述第一實體抹除單元尚未被寫滿時,則所述第一實體抹除單元會被判斷為所述只有部分實體程式化單元被程式化的實體抹除單元。
- 如申請專利範圍第3項所述的資料寫入方法,更包括: 當所述第一實體抹除單元已被寫滿時,從所述第一區的所述多個實體抹除單元之中選擇一第三實體抹除單元; 將所述第二區的所述至少一實體抹除單元中的所述第一資料複製到所述第三實體抹除單元;以及 對所述第二區的所述至少一實體抹除單元執行一抹除操作。
- 如申請專利範圍第1項所述的資料寫入方法,更包括: 在接收到所述第一資料之前,從一主機系統接收一寫入指令與對應所述寫入指令的一第二資料; 從所述第一區的所述實體抹除單元之中選擇一第四實體抹除單元;以及 將所述第二資料寫入至所述第四實體抹除單元, 其中當所述第四實體抹除單元尚未被寫滿時,則所述第四實體抹除單元會被判斷為所述只有部分實體程式化單元被程式化的實體抹除單元。
- 如申請專利範圍第5項所述的資料寫入方法,更包括: 選擇所述第二區的所述多個實體抹除單元之中的多個第五實體抹除單元以執行一第二有效資料合併操作; 在所述第二有效資料合併操作中,將所述第一區的所述多個實體抹除單元之中的至少一第六實體抹除單中的有效資料複製到所述多個第五實體抹除單元,從所述第一區的所述多個實體抹除單元中選擇一第七實體抹除單元,且將所述多個第五實體抹除單元中的有效資料複製到所述第七實體抹除單元;以及 在將所述多個第五實體抹除單元中的有效資料複製到所述第七實體抹除單元之後,對所述多個第五實體抹除單元執行一抹除操作。
- 一種記憶體控制電路單元,包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元;以及 一記憶體管理電路,耦接至該主機介面與該記憶體介面, 其中該記憶體管理電路用以將所述多個實體抹除單元至少分組為一第一區與一第二區,其中所述第二區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目是小於所述第一區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目, 其中該記憶體管理電路更用以接收一第一資料, 其中該記憶體管理電路更用以判斷在所述第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目是否小於一預定數目, 其中倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目非小於所述預定數目時,該記憶體管理電路將所述第一資料寫入至所述第二區的所述多個實體抹除單元之中的至少一實體抹除單元。
- 如申請專利範圍第7項所述的記憶體控制電路單元, 其中倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目小於所述預定數目時,該記憶體管理電路將所述第一資料寫入至所述第一區的所述多個實體抹除單元之中的一實體抹除單元。
- 如申請專利範圍第7項所述的記憶體控制電路單元, 其中所述記憶體管理電路更用以選擇所述第一區的所述多個實體抹除單元之中的一第一實體抹除單元以執行一第一有效資料合併操作,並且在所述第一有效資料合併操作中下達一指令序列以將所述第一區的所述多個實體抹除單元之中的至少一第二實體抹除單中的有效資料複製到所述第一實體抹除單元中, 其中當所述第一實體抹除單元尚未被寫滿時,則所述第一實體抹除單元會被判斷為所述只有部分實體程式化單元被程式化的實體抹除單元。
- 如申請專利範圍第9項所述的記憶體控制電路單元, 其中當所述第一實體抹除單元已被寫滿時,所述記憶體管理電路更用以從所述第一區的所述多個實體抹除單元之中選擇一第三實體抹除單元,下達另一指令序列以將所述第二區的所述至少一實體抹除單元中的所述第一資料複製到所述第三實體抹除單元,並且下達另一指令序列以對所述第二區的所述至少一實體抹除單元執行一抹除操作。
- 如申請專利範圍第7項所述的記憶體控制電路單元, 其中在接收到所述第一資料之前,該記憶體管理電路更用以從所述主機系統接收一寫入指令與對應所述寫入指令的一第二資料,從所述第一區的所述實體抹除單元之中選擇一第四實體抹除單元,且下達另一指令序列以將所述第二資料寫入至所述第四實體抹除單元, 其中當所述第四實體抹除單元尚未被寫滿時,則所述第四實體抹除單元會被判斷為所述只有部分實體程式化單元被程式化的實體抹除單元。
- 如申請專利範圍第11項所述的記憶體控制電路單元, 其中所述記憶體管理電路更用以選擇所述第二區的所述多個實體抹除單元之中的多個第五實體抹除單元以執行一第二有效資料合併操作, 其中在所述第二有效資料合併操作中,該記憶體管理電路下達另一指令序列以將所述第一區的所述多個實體抹除單元之中的至少一第六實體抹除單中的有效資料複製到所述多個第五實體抹除單元,從所述第一區的所述多個實體抹除單元中選擇一第七實體抹除單元,且下達另一指令序列以將所述多個第五實體抹除單元中的有效資料複製到所述第七實體抹除單元, 其中在將所述多個第五實體抹除單元中的有效資料複製到所述第七實體抹除單元之後,該記憶體管理電路下達另一指令序列以對所述多個第五實體抹除單元執行一抹除操作。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組,具有多個實體抹除單元;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以將所述多個實體抹除單元至少分組為一第一區與一第二區,其中所述第二區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目是小於所述第一區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目, 其中該記憶體控制電路單元更用以接收一第一資料, 其中該記憶體控制電路單元更用以判斷在所述第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目是否小於一預定數目, 其中倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目非小於所述預定數目時,該記憶體控制電路單元將所述第一資料寫入至所述第二區的所述多個實體抹除單元之中的至少一實體抹除單元。
- 如申請專利範圍第13項所述的記憶體儲存裝置, 其中倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目小於所述預定數目時,該記憶體控制電路單元將所述第一資料寫入至所述第一區的所述多個實體抹除單元之中的一實體抹除單元。
- 如申請專利範圍第13項所述的記憶體儲存裝置, 其中所述記憶體控制電路單元更用以選擇所述第一區的所述多個實體抹除單元之中的一第一實體抹除單元以執行一第一有效資料合併操作,並且在所述第一有效資料合併操作中將所述第一區的所述多個實體抹除單元之中的至少一第二實體抹除單中的有效資料複製到所述第一實體抹除單元中, 其中當所述第一實體抹除單元尚未被寫滿時,則所述第一實體抹除單元會被判斷為所述只有部分實體程式化單元被程式化的實體抹除單元。
- 如申請專利範圍第15項所述的記憶體儲存裝置, 其中當所述第一實體抹除單元已被寫滿時,所述記憶體控制電路單元更用以從所述第一區的所述多個實體抹除單元之中選擇一第三實體抹除單元,將所述第二區的所述至少一實體抹除單元中的所述第一資料複製到所述第三實體抹除單元,並且對所述第二區的所述至少一實體抹除單元執行一抹除操作。
- 如申請專利範圍第13項所述的記憶體儲存裝置, 其中在接收到所述第一資料之前,所述記憶體控制電路單元更用以 從所述主機系統接收一寫入指令與對應所述寫入指令的一第二資料,從所述第一區的所述實體抹除單元之中選擇一第四實體抹除單元,且將所述第二資料寫入至所述第四實體抹除單元, 其中當所述第四實體抹除單元尚未被寫滿時,則所述第四實體抹除單元會被判斷為所述只有部分實體程式化單元被程式化的實體抹除單元。
- 如申請專利範圍第17項所述的記憶體儲存裝置, 其中所述記憶體控制電路單元更用以選擇所述第二區的所述多個實體抹除單元之中的多個第五實體抹除單元以執行一第二有效資料合併操作, 其中在所述第二有效資料合併操作中,該記憶體控制電路單元將所述第一區的所述多個實體抹除單元之中的至少一第六實體抹除單中的有效資料複製到所述多個第五實體抹除單元,從所述第一區的所述多個實體抹除單元中選擇一第七實體抹除單元,且將所述多個第五實體抹除單元中的有效資料複製到所述第七實體抹除單元, 其中在將所述多個第五實體抹除單元中的有效資料複製到所述第七實體抹除單元之後,該記憶體控制電路單元對所述多個第五實體抹除單元執行一抹除操作。
- 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體抹除單元,所述多個實體抹除單元至少被分組為一第一區與一第二區,所述第二區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目是小於所述第一區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目,所述資料寫入方法包括: 接收一第一資料; 倘若在所述第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目小於一預定數目時,將所述第一資料不經由所述第二區的路徑而寫入至所述第一區的所述多個實體抹除單元之中的一實體抹除單元;以及 倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目非小於所述預定數目時,將所述第一資料寫入至所述第二區的所述多個實體抹除單元之中的至少一實體抹除單元。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組,具有多個實體抹除單元;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以將所述多個實體抹除單元至少分組為一第一區與一第二區,其中所述第二區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目是小於所述第一區的所述多個實體抹除單元的每個記憶胞儲存的資料位元的數目, 其中該記憶體控制電路單元更用以接收一第一資料, 其中倘若在所述第一區的所述實體抹除單元之中只有部分實體程式化單元被程式化的實體抹除單元的數目小於一預定數目時,該記憶體控制電路單元將所述第一資料不經由所述第二區的路徑而寫入至所述第一區的所述多個實體抹除單元之中的一實體抹除單元, 其中倘若在所述第一區的所述實體抹除單元之中所述只有部分實體程式化單元被程式化的實體抹除單元的數目非小於所述預定數目時,該記憶體控制電路單元將所述第一資料寫入至所述第二區的所述多個實體抹除單元之中的至少一實體抹除單元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105119063A TWI597730B (zh) | 2016-06-17 | 2016-06-17 | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 |
US15/238,715 US10283196B2 (en) | 2016-06-17 | 2016-08-16 | Data writing method, memory control circuit unit and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105119063A TWI597730B (zh) | 2016-06-17 | 2016-06-17 | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI597730B TWI597730B (zh) | 2017-09-01 |
TW201801089A true TW201801089A (zh) | 2018-01-01 |
Family
ID=60660337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105119063A TWI597730B (zh) | 2016-06-17 | 2016-06-17 | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10283196B2 (zh) |
TW (1) | TWI597730B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI705331B (zh) * | 2019-06-24 | 2020-09-21 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI748507B (zh) * | 2020-06-08 | 2021-12-01 | 瑞昱半導體股份有限公司 | 資料存取系統及操作資料存取系統的方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442299B (zh) * | 2018-05-03 | 2022-12-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器储存装置 |
TWI727327B (zh) * | 2019-05-29 | 2021-05-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
CN112051963B (zh) * | 2019-06-06 | 2023-06-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
CN112181859B (zh) * | 2019-07-02 | 2024-03-12 | 群联电子股份有限公司 | 有效数据合并方法、存储器控制电路单元与存储装置 |
TWI777087B (zh) * | 2019-09-06 | 2022-09-11 | 群聯電子股份有限公司 | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
TWI430092B (zh) | 2011-10-27 | 2014-03-11 | Silicon Motion Inc | 三階儲存單元的快閃記憶體裝置及其控制方法 |
US9965345B2 (en) | 2014-09-24 | 2018-05-08 | Macronix International Co., Ltd. | Health management of non-volatile memory |
US9697134B2 (en) * | 2015-06-10 | 2017-07-04 | Micron Technology, Inc. | Memory having a static cache and a dynamic cache |
-
2016
- 2016-06-17 TW TW105119063A patent/TWI597730B/zh active
- 2016-08-16 US US15/238,715 patent/US10283196B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI705331B (zh) * | 2019-06-24 | 2020-09-21 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 |
US11144210B2 (en) | 2019-06-24 | 2021-10-12 | Phison Electronics Corp. | Valid data merging method, memory control circuit unit and memory storage apparatus |
TWI748507B (zh) * | 2020-06-08 | 2021-12-01 | 瑞昱半導體股份有限公司 | 資料存取系統及操作資料存取系統的方法 |
Also Published As
Publication number | Publication date |
---|---|
US10283196B2 (en) | 2019-05-07 |
US20170365334A1 (en) | 2017-12-21 |
TWI597730B (zh) | 2017-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI597730B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI622923B (zh) | 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10310739B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US9177656B2 (en) | Data writing method, memory storage device and memory controlling circuit unit | |
CN107544922B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
TWI607448B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI582776B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI451249B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
TWI454913B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI615711B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI584189B (zh) | 記憶體控制器、記憶體儲存裝置與資料寫入方法 | |
TWI611410B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
TWI540428B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI523030B (zh) | 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
TWI501244B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI521346B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
TW201643722A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI564901B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI622044B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI591641B (zh) | 資料程式化方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN112445418B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 |