TW201525693A - 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents
資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201525693A TW201525693A TW102149043A TW102149043A TW201525693A TW 201525693 A TW201525693 A TW 201525693A TW 102149043 A TW102149043 A TW 102149043A TW 102149043 A TW102149043 A TW 102149043A TW 201525693 A TW201525693 A TW 201525693A
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- entity
- data
- physical
- stylizing
- Prior art date
Links
Classifications
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0656—Data buffering arrangements
-
- 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
- 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
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)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一種用於在可複寫式非揮發性記憶體模組中儲存資料的資料儲存方法。本方法包括:在緩衝記憶體中暫存第一資料;並且啟動清空操作,以從此緩衝記憶體中將第一資料寫入至第一實體程式化單元中。本方法還包括:判斷第一實體程式化單元是否為下實體程式化單元;並且若是,將第二資料寫入至第二實體程式化單元,其中第二實體程式單元屬於上實體程式化單元且第二實體程式化單元與第一實體程式化單元是由於同一條字元線上的多個記憶胞所構成。基此,本方法可有效地避免執行清空操作所寫入之資料因其他實體程式化單元的程式化失敗而遺失。
Description
本發明是有關於一種用於可複寫式非揮發性記憶體模組的資料儲存方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
依據每個記憶胞可儲存的位元數,反及(NAND)型快閃記憶體可區分為單階儲存單元(Single Level Cell,SLC)NAND型快閃記憶體與多階儲存單元(Multi Level Cell,MLC)NAND型快
閃記憶體,其中SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料(即,”1”與”0”),並且MLC NAND型快閃記憶體的每個記憶胞可儲存2個位元的資料。
在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 page),並且由此些記憶胞之MSB所組成的實體頁面稱為上實體頁面(upper physical page)。特別是,下實體頁面的寫入速度會快於上實體頁面的寫入速度,並且當程式化上實體頁面發生錯誤時,下實體頁面所儲存之資料亦可能因此遺失。
特別是,在執行清空(flush)操作,以將記憶體儲存裝置之緩衝記憶體內的資料寫入至快閃記憶體模組後,緩衝記憶體內的
資料會被清除。之後,若發生因程式化上實體頁面發生程式化錯誤而導致對應之下實體頁面所儲存之資料遺失,由於緩衝記憶體內的資料已被清除,將造成資料無法被復原,而嚴重影響記憶體儲存裝置的可靠度。
本發明提供一種資料儲存方法、記憶體控制電路單元與記憶體儲存裝置,其可有效地避免執行清空操作而寫入至可複寫式非揮發性記憶體中的資料因其他實體程式化單元的程式化失敗而遺失。
本發明的一範例實施例提出一種用於在可複寫式非揮發性記憶體模組中儲存資料的資料儲存方法,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一實體抹除單元具有多個實體程式化單元,並且實體程式化單元包括多個下實體程式化單元與多個上實體程式化單元。本資料儲存方法包括:在緩衝記憶體中暫存第一資料;並且啟動清空操作,以從此緩衝記憶體中將第一資料寫入至第一實體抹除單元的第一實體程式化單元中。本資料儲存方法還包括:在將第一資料寫入至第一實體抹除單元的第一實體程式化單元之後,判斷第一實體抹除單元的第一實體程式化單元是否為下實體程式化單元。本資料儲存方法更包括:倘若第一實體抹除單元的第一實體程式化單元為下實體程式化單元時,將第二資料寫入至第一實體抹除單元的第二實體程式化單
元,其中第一實體抹除單元的第二實體程式單元屬於上實體程式化單元且第一實體抹除單元的第二實體程式化單元與第一實體抹除單元的第一實體程式化單元是由第一字元線上的多個記憶胞所構成。
在本發明的一範例實施例中,上述的資料儲存方法更包括判斷是否持續一預定時間未從主機系統接收到資料,並且上述啟動清空操作以從緩衝記憶體中將第一資料寫入至第一實體抹除單元的第一實體程式化單元的步驟是在持續此預定時間未從主機系統接收到任何資料時以一背景執行模式來被執行。
在本發明的一範例實施例中,上述的資料儲存方法更包括:在將第一資料寫入至第一實體抹除單元的第一實體程式化單元之後,開始啟動一計時器,並且上述判斷第一實體程式化單元是否為下實體程式化單元的步驟是在計時器的值大於一預設延遲時間後被執行。
在本發明的一範例實施例中,上述的第二資料為一虛構資料(dummy data)。
在本發明的一範例實施例中,上述將第二資料寫入至第一實體抹除單元的第二實體程式化單元的步驟包括:從此實體抹除單元之中的第二實體抹除單元的第一實體程式化單元中將第二資料複製到第一實體抹除單元的第二實體程式化單元;將原先映射至第二實體抹除單元的第一實體程式單元的第一邏輯頁面重新映射至第一實體抹除單元的第二實體程式化單元;以及將第二實
體抹除單元的第一實體程式化單元的狀態標記為無效狀態,其中第二資料為屬於此第一邏輯頁面的有效資料。
在本發明的一範例實施例中,上述的資料儲存方法更包括:從主機系統中接收第三資料,其中主機系統指示將第三資料儲存至第二邏輯頁面。上述的資料儲存方法更包括:從此些實體抹除單元中選擇第三實體抹除單元;並且判斷可複寫式非揮發性記憶體模組的儲存狀態是否符合預設狀態。上述的資料儲存方法更包括:倘若可複寫式非揮發性記憶體模組的儲存狀態符合預設狀態時,使用第一寫入模式來將第三資料寫入至第三實體抹除單元的第一實體程式化單元中,且將第二邏輯頁面映射至第三實體抹除單元的第一實體程式化單元;以及倘若可複寫式非揮發性記憶體模組的儲存狀態不符合預設狀態時,使用第二寫入模式來將第三資料寫入至第三實體抹除單元的第二實體程式化單元中,且將第二邏輯頁面映射至第三實體抹除單元的第二實體程式化單元。在此,在第一寫入模式中第三實體抹除單元的下實體程式化單元會被使用來寫入資料且第三實體抹除單元的上實體程式化單元不會被用來寫入資料,而在第二寫入模式中第三實體抹除單元的下實體程式化單元與上實體程式化單元會被用來寫入資料。
在本發明的一範例實施例中,上述的資料儲存方法更包括:在將第二資料寫入至第一實體抹除單元的第二實體程式化單元之前,將第二資料寫入至第一實體抹除單元的第三實體程式化單元;並且在將第二資料寫入至第一實體抹除單元的第三實體程
式化單元之後,將第二資料寫入至第一實體抹除單元的第四實體程式化單元。第一實體抹除單元的第三實體程式單元屬於上實體程式化單元的其中之一,第一實體抹除單元的第三實體程式化單元是由第二字元線上的多個記憶胞所構成,且此第二字元線相鄰於上述之第一字元線。第一實體抹除單元的第四實體程式單元屬於下實體程式化單元的其中之一,第一實體抹除單元的第三實體程式化單元是由第三字元線上的多個記憶胞所構成,且此第三字元線相鄰於上述之第一字元線
本發明的一範例實施例提出用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元。此記憶體控制電路單元包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組,其中此可複寫式非揮發性記憶體模組具有多個實體抹除單元,並且每一實體抹除單元具有多個實體程式化單元,實體程式化單元包括多個下實體程式化單元與多個上實體程式化單元。記憶體管理電路耦接至主機介面與記憶體介面,並且用以在緩衝記憶體中暫存第一資料。此外,該記憶體管理電路更用以啟動清空操作,以從緩衝記憶體中將第一資料寫入至第一實體抹除單元的第一實體程式化單元中。此外,記憶體管理電路更用以在將第一資料寫入至第一實體抹除單元的第一實體程式化單元之後,判斷第一實體抹除單元的第一實體程式化單元是否為下實體程式化單元。倘若第一實體抹除單元的第一實體程式化單元為下實體程式
化單元時,記憶體管理電路更用以將第二資料寫入至第一實體抹除單元的第二實體程式化單元,其中第一實體抹除單元的第二實體程式單元屬於上實體程式化單元且第一實體抹除單元的第二實體程式化單元與第一實體抹除單元的第一實體程式化單元是由第一字元線上的多個記憶胞所構成。
在本發明的一範例實施例中,上述記憶體管理電路更用以判斷是否持續一預定時間未從主機系統接收到資料,並且記憶體管理電路是在持續此預定時間未從主機系統接收到任何資料時以一背景執行模式執行上述啟動清空操作以從緩衝記憶體中將第一資料寫入至第一實體抹除單元的第一實體程式化單元的運作。
在本發明的一範例實施例中,上述記憶體管理電路更用以在將第一資料寫入至第一實體抹除單元的第一實體程式化單元之後,開始啟動一計時器,且記憶體管理電路是在計時器的值大於預設延遲時間後執行上述判斷第一實體程式化單元是否為下實體程式化單元的運作。
在本發明的一範例實施例中,在將第二資料寫入至第一實體抹除單元的第二實體程式化單元的運作中,記憶體管理電路從此些實體抹除單元之中的第二實體抹除單元的第一實體程式化單元中將第二資料複製到第一實體抹除單元的第二實體程式化單元,將原先映射至第二實體抹除單元的第一實體程式單元的第一邏輯頁面重新映射至第一實體抹除單元的第二實體程式化單元,並且將第二實體抹除單元的第一實體程式化單元的狀態標記為無
效狀態,其中第二資料為屬於第一邏輯頁面的有效資料。
在本發明的一範例實施例中,記憶體管理電路更用以從主機系統中接收第三資料,其中主機系統指示將第三資料儲存至第二邏輯頁面。此外,記憶體管理電路更用以從此些實體抹除單元中選擇第三實體抹除單元,且判斷可複寫式非揮發性記憶體模組的儲存狀態是否符合預設狀態。倘若可複寫式非揮發性記憶體模組的儲存狀態符合預設狀態時,記憶體管理電路更用以使用第一寫入模式來將第三資料寫入至第三實體抹除單元的第一實體程式化單元中,且將第二邏輯頁面映射至第三實體抹除單元的第一實體程式化單元,其中在第一寫入模式中第三實體抹除單元的下實體程式化單元會被使用來寫入資料且第三實體抹除單元的上實體程式化單元不會被用來寫入資料。倘若可複寫式非揮發性記憶體模組的儲存狀態不符合預設狀態時,記憶體管理電路更用以使用第二寫入模式來將第三資料寫入至第三實體抹除單元的第二實體程式化單元中,且將第二邏輯頁面映射至第三實體抹除單元的第二實體程式化單元,其中在第二寫入模式中第三實體抹除單元的下實體程式化單元與上實體程式化單元會被用來寫入資料。
在本發明的一範例實施例中,在將第二資料寫入至第一實體抹除單元的第二實體程式化單元之前,記憶體管理電路更用以將第二資料寫入至第一實體抹除單元的第三實體程式化單元,其中第一實體抹除單元的第三實體程式單元屬於上實體程式化單元的其中之一,第一實體抹除單元的第三實體程式化單元是由第
二字元線上的多個記憶胞所構成,且此第二字元線相鄰於上述之第一字元線。此外,在將第二資料寫入至第一實體抹除單元的第三實體程式化單元之後,記憶體管理電路更用以將第二資料寫入至第一實體抹除單元的第四實體程式化單元,其中第一實體抹除單元的第四實體程式單元屬於下實體程式化單元的其中之一,第一實體抹除單元的第四實體程式化單元是由第三字元線上的多個記憶胞所構成,且此第三字元線相鄰於上述之第一字元線。
本發明的一範例實施例提出記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元,其中每一實體抹除單元具有多個實體程式化單元,並且實體程式化單元包括多個下實體程式化單元與多個上實體程式化單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,並且用以在緩衝記憶體中暫存第一資料。此外,該記憶體控制電路單元更用以啟動清空操作,以從緩衝記憶體中將第一資料寫入至第一實體抹除單元的第一實體程式化單元中。此外,記憶體控制電路單元更用以在將第一資料寫入至第一實體抹除單元的第一實體程式化單元之後,判斷第一實體抹除單元的第一實體程式化單元是否為下實體程式化單元。倘若第一實體抹除單元的第一實體程式化單元為下實體程式化單元時,記憶體控制電路單元更用以將第二資料寫入至第一實體抹除單元的第二實體程式化單元,其中第一實體抹除單元
的第二實體程式單元屬於上實體程式化單元且第一實體抹除單元的第二實體程式化單元與第一實體抹除單元的第一實體程式化單元是由第一字元線上的多個記憶胞所構成。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以判斷是否持續一預定時間未從主機系統接收到資料,並且記憶體控制電路單元是在持續此預定時間未從主機系統接收到任何資料時以一背景執行模式執行上述啟動清空操作以從緩衝記憶體中將第一資料寫入至第一實體抹除單元的第一實體程式化單元的運作。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以在將第一資料寫入至第一實體抹除單元的第一實體程式化單元之後,開始啟動一計時器,且記憶體控制電路單元是在計時器的值大於預設延遲時間後執行上述判斷第一實體程式化單元是否為下實體程式化單元的運作。
在本發明的一範例實施例中,在將第二資料寫入至第一實體抹除單元的第二實體程式化單元的運作中,記憶體控制電路單元從此些實體抹除單元之中的第二實體抹除單元的第一實體程式化單元中將第二資料複製到第一實體抹除單元的第二實體程式化單元,將原先映射至第二實體抹除單元的第一實體程式單元的第一邏輯頁面重新映射至第一實體抹除單元的第二實體程式化單元,並且將第二實體抹除單元的第一實體程式化單元的狀態標記為無效狀態,其中第二資料為屬於第一邏輯頁面的有效資料。
在本發明的一範例實施例中,記憶體控制電路單元更用以從主機系統中接收第三資料,其中主機系統指示將第三資料儲存至第二邏輯頁面。此外,記憶體控制電路單元更用以從此些實體抹除單元中選擇第三實體抹除單元,且判斷可複寫式非揮發性記憶體模組的儲存狀態是否符合預設狀態。倘若可複寫式非揮發性記憶體模組的儲存狀態符合預設狀態時,記憶體控制電路單元更用以使用第一寫入模式來將第三資料寫入至第三實體抹除單元的第一實體程式化單元中,且將第二邏輯頁面映射至第三實體抹除單元的第一實體程式化單元,其中在第一寫入模式中第三實體抹除單元的下實體程式化單元會被使用來寫入資料且第三實體抹除單元的上實體程式化單元不會被用來寫入資料。倘若可複寫式非揮發性記憶體模組的儲存狀態不符合預設狀態時,記憶體控制電路單元更用以使用第二寫入模式來將第三資料寫入至第三實體抹除單元的第二實體程式化單元中,且將第二邏輯頁面映射至第三實體抹除單元的第二實體程式化單元,其中在第二寫入模式中第三實體抹除單元的下實體程式化單元與上實體程式化單元會被用來寫入資料。
在本發明的一範例實施例中,在將第二資料寫入至第一實體抹除單元的第二實體程式化單元之前,記憶體控制電路單元更用以將第二資料寫入至第一實體抹除單元的第三實體程式化單元,其中第一實體抹除單元的第三實體程式單元屬於上實體程式化單元的其中之一,第一實體抹除單元的第三實體程式化單元是
由第二字元線上的多個記憶胞所構成,且此第二字元線相鄰於上述之第一字元線。此外,在將第二資料寫入至第一實體抹除單元的第三實體程式化單元之後,記憶體控制電路單元更用以將第二資料寫入至第一實體抹除單元的第四實體程式化單元,其中第一實體抹除單元的第四實體程式單元屬於下實體程式化單元的其中之一,第一實體抹除單元的第四實體程式化單元是由第三字元線上的多個記憶胞所構成,且此第三字元線相鄰於上述之第一字元線。
基於上述,本發明範例實施例的資料儲存方法、記憶體控制電路單元與記憶體儲存裝置藉由在執行清除操作而將資料寫入至下實體程式化單元時一併對對應的上實體程式化單元進行寫入操作,由此避免資料的遺失。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
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‧‧‧可複寫式非揮發性記憶體模組
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧緩衝記憶體
210‧‧‧電源管理電路
212‧‧‧錯誤檢查與校正電路
410(0)~410(N)‧‧‧實體抹除單元
502‧‧‧系統區
504‧‧‧資料區
506‧‧‧閒置區
508‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯頁面
LZ(0)~LZ(M)‧‧‧邏輯區域
800‧‧‧邏輯位址轉實體位址映射表
802‧‧‧邏輯頁面欄位
804‧‧‧實體程式化單元欄位
PBA(0-0)~PBA(0-K)、PBA(D-0)、PBA(D-1)、PBA(D-2)、PBA(D-3)、PBA(D-6)‧‧‧實體程式化單元
W(0)~W((L)-1)‧‧‧字元線
D1~D7‧‧‧資料
DD‧‧‧虛構資料
S1901、S1903、S1905、S1907‧‧‧資料儲存方法的步驟
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據本發明範例實施例所繪示的主機系統與記憶體儲
存裝置的示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖6與圖7是根據一範例實施例所繪示之管理實體區塊的範例示意圖。
圖8是根據本發明範例實施例繪示邏輯位址轉實體程式化單元映射表的範例。
圖9是根據一範例實施例所繪示的實體程式化單元的排列順序的示意圖。
圖10~圖12是根據本發明範例實施例所繪示當在可複寫式非揮發性記憶體模組106的儲存狀態為預設狀態下進行寫入操作的一範例。
圖13~圖15是根據本發明範例實施例所繪示當在可複寫式非揮發性記憶體模組106的儲存狀態非為預設狀態下進行寫入操作的一範例。
圖16是根據本發明一範例實施例所繪示的執行清空操作將資料寫入至下實體程式化單元的示意圖。
圖17是根據另一範例實施例所繪示的實體程式化單元的排列順序的示意圖。
圖18是根據本發明另一範例實施例所繪示的執行清空操作將資料寫入至下實體程式化單元的示意圖。
圖19是根據本發明一範例實施例所繪示之資料儲存方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖2所示的隨身碟1212、
記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖3所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(Parellel 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 Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。在本範例實施例中,連接介面單元可與記憶體控制電路單元封裝在一個晶片中,或佈設於一包含記憶體控制電路單元之晶片外。
記憶體控制電路單元104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制電路單元104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有實體抹除單元410(0)~410(N)。例如,實體抹除單元410(0)~410(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256
個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是其他具有相同特性的記憶體模組。
圖5是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元104包括記憶體管理電
路202、主機介面204與記憶體介面206。
記憶體管理電路202用以控制記憶體控制電路單元104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202
包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組106的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準、UHS-II介面標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以
存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
在本發明一範例實施例中,記憶體控制電路單元104還包括緩衝記憶體208、電源管理電路210與錯誤檢查與校正電路212。
緩衝記憶體208是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路210是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路212是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路212會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路212會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖6與圖7是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
請參照圖6,記憶體控制電路單元104(或記憶體管理電路202)會將實體抹除單元410(0)~410-(N)邏輯地分組為資料區502、閒置區504、系統區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體管理電路202會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路202會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、系統區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體抹除單元關聯至資料區502、閒置區504、系統區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖7,記憶體控制電路單元104(或記憶體管理電路202)會配置邏輯頁面LBA(0)~LBA(H)以映射資料區502的實體程式化單元。並且,當主機系統100欲寫入資料至邏輯頁面或更新儲存於邏輯頁面中的資料時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。
為了識別資料每個邏輯頁面的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會記錄邏輯頁面與實體程式化單元之間的映射。並且,當主機系統1000欲在邏輯頁面中存取資料時,記憶體控制電路單元104(或記憶體管理電路202)會確認此邏輯頁面所映射的實體程式化單元,並且在此實體程式化單元中來存取資料。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯位址轉實體位址映射表來記錄每一邏輯頁面所映射的實體程式化單元,並
且當欲存取資料時記憶體控制電路單元104(或記憶體管理電路202)會將邏輯位址轉實體位址映射表載入至緩衝記憶體208來維護。
值得一提的是,由於緩衝記憶體208的容量有限無法儲存記錄所有邏輯頁面之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將邏輯頁面LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯位址轉實體位址映射表。特別是,當記憶體控制電路單元104(或記憶體管理電路202)欲更新某個邏輯頁面的映射時,對應此邏輯頁面所屬之邏輯區域的邏輯位址轉實體位址映射表會被載入至緩衝記憶體208來被更新。
如上所述,在執行寫入指令時,不管目前資料是要寫入至那個邏輯頁面,記憶體控制電路單元104(或記憶體管理電路202)皆會以一個實體程式化單元接續一個實體程式化單元的方式來寫入資料(以下亦稱為隨機寫入機制)。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取一個空的實體抹除單元作為目前使用或作動(active)實體抹除單元來寫入資料。並且,當此作動實體抹除單元已被寫滿時,記憶體控制電路單元104(或記憶體管理電路202)會再從閒置區504中提取另一個空的實體抹除單元作為作動實體抹除單元,以繼續寫入對應來自於主機系統1000之寫入指令的隨機資料。特別是,為了避免閒置區504的實體抹除單元被耗盡,當閒置區504的實體抹除單
元的數目下降到所設定之垃圾回收門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會執行資料合併程序,以使資料區502的至少一個實體抹除單元中的資料成為無效資料,並且之後將資料區502中所儲存之資料皆為無效資料之實體抹除單元關聯回閒置區504。例如,在執行資料合併程序時,記憶體控制電路單元104(或記憶體管理電路202)至少需使用一個空的實體抹除單元,因此,垃圾回收門檻值至少會被設定大於最低門檻值(即,1)。
圖8是根據本發明範例實施例繪示邏輯位址轉實體位址映射表的範例。
請參照圖8,邏輯位址轉實體位址映射表800包括邏輯頁面欄位802以及實體程式化單元欄位804。邏輯頁面欄位802記錄所配置的每個邏輯頁面的編號並且實體程式化單元欄位804記錄每個邏輯頁面映射的實體程式化單元。例如,在記憶體儲存裝置100為全新且未曾被用來儲存資料的狀態下,實體抹除單元410(F)~410(S-1)會被關聯至閒置區504,並且在邏輯位址轉實體位址映射表800中記錄對應每一個邏輯頁面所映射之實體程式單元的欄位會被標記為空值(例如,NULL)。
圖9是根據一範例實施例所繪示的實體程式化單元的排列順序的示意圖。在此,以實體抹除單元410(0)為例進行說明,其他實體抹除單元的結構亦可以此類推。
請參照圖9,實體抹除單元410(0)包括實體程式化單元PBA(0-0)~PBA(0-K)。例如,在本範例實施例中,K為整數。例如,
K為255。實體程式化單元PBA(0-0)與實體程式化單元PBA(0-2)是由字元線W(0)上的記憶胞所構成;實體程式化單元PBA(0-1)與實體程式化單元PBA(0-4)是由字元線W(1)上的記憶胞所構成;實體程式化單元PBA(0-3)與實體程式化單元PBA(0-6)是由字元線W(2)上的記憶胞所構成;實體程式化單元PBA(0-5)與實體程式化單元PBA(0-8)是由字元線W(3)上的記憶胞所構成;並且以此類推,實體程式化單元PBA(0-(K-4))與實體程式化單元PBA(0-(K-1))是由字元線W(L-1)上的記憶胞所構成且實體程式化單元PBA(0-(K-2))與實體程式化單元PBA(0-K)是由字元線W(L)上的記憶胞所構成。在此,實體程式化單元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-(K-4))、PBA(0-(K-2))為下實體程式化單元,而實體程式化單元PBA(0-2)、PAB(0-4)、PBA(0-6)、PBA(0-8)、…、PBA(0-(K-1))、PBA(0-K)為上實體程式化單元。
在本範例實施例中,當欲將資料寫入至實體程式化單元時,記憶體控制電路單元104(或記憶體管理電路202)會判斷可複寫式非揮發性記憶體模組106的儲存狀態。倘若可複寫式非揮發性記憶體模組106的儲存狀態為預設狀態時,記憶體控制電路單元104(或記憶體管理電路202)會以第一寫入模式來將此資料寫入至可複寫式非揮發性記憶體模組106;並且倘若可複寫式非揮發性記憶體模組106的儲存狀態非為預設狀態時,記憶體控制電路單元104(或記憶體管理電路202)會以第二寫入模式來將此資料寫入至可複寫式非揮發性記憶體模組106。
在本範例實施例中,在第一寫入模式中,記憶體控制電路單元104(或記憶體管理電路202)會使用下實體程式化單元來儲存主機系統1000欲寫入的資料,而不使用上實體程式化單元來儲存資料。而在第二寫入模式中,記憶體控制電路單元104(或記憶體管理電路202)會使用下實體程式化單元與上實體程式化單元來儲存主機系統1000欲寫入的資料。也就是說,在第二寫入模式中,可複寫式非揮發性記憶體模組106的下實體程式化單元與上實體程式化單元都會被選擇來儲存資料,而在第一寫入模式中僅下實體程式化單元會被選擇來儲存資料。因此,第一寫入模式的寫入速度會高於在第二寫入模式的寫入速度。
在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會判斷在可複寫式非揮發性記憶體模組106中儲存有效資料的實體程式化單元的數目是否小於第一門檻值。倘若在可複寫式非揮發性記憶體模組106中儲存有效資料的實體程式化單元的數目小於第一門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會識別可複寫式非揮發性記憶體模組106的儲存狀態為預設狀態;並且倘若在可複寫式非揮發性記憶體模組106中儲存有效資料的實體程式化單元的數目非小於第一門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會識別可複寫式非揮發性記憶體模組106的儲存狀態非為預設狀態。在此,第一門檻值可被設定為所有實體程式化單元的數目乘以一預定比例。例如,此預定比例可以是50%,但本範例實施例不限於此。
在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會根據邏輯位址轉實體位址映射表中的資訊來判斷在可複寫式非揮發性記憶體模組106中儲存有效資料的實體程式化單元的數目是否小於第一門檻值。具體來說,當一個實體程式化單元被寫入屬於一個邏輯頁面的有效資料時,在邏輯位址轉實體位址映射表中此邏輯頁面會被映射至此實體程式化單元。基此,記憶體控制電路單元104(或記憶體管理電路202)可藉由計算被記錄在邏輯位址轉實體位址映射表中之實體程式化單元的數目來獲取儲存有效資料的實體程式化單元的數目。
值得一提的是,除了上述就由比較在可複寫式非揮發性記憶體模組106中儲存有效資料的實體程式化單元的數目與第一門檻值來識別可複寫式非揮發性記憶體模組106的儲存狀態是否為預設狀態之外,在本發明另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)亦可根據閒置區414中的實體抹除單元的數目來識別可複寫式非揮發性記憶體模組106的儲存狀態是否為預設狀態。具體來說,倘若閒置區414中的實體抹除單元的數目小於第二門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會識別可複寫式非揮發性記憶體模組106的儲存狀態非為預設狀態;並且倘若閒置區414中的實體抹除單元的數目非小於第二門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會識別可複寫式非揮發性記憶體模組106的儲存狀態為預設狀態。例如,第二門檻值可被設定為8,但本範例實施例不限於
此。
圖10~圖12是根據本發明範例實施例所繪示當在可複寫式非揮發性記憶體模組106的儲存狀態為預設狀態下進行寫入運作的一範例。
請參照圖10,倘若在圖9所示的狀態下主機系統1000欲寫入資料D1至邏輯頁面LBA(1)時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504選擇一個實體抹除單元(例如,實體抹除單元410(0))並且將主機系統1000欲寫入的資料D1寫入至實體程式化單元PBA(0-0)。在完成資料的寫入後,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯位址轉實體位址映射表800中將邏輯頁面LBA(1)映射至實體程式化單元PBA(0-0)。
請參照圖11,倘若在圖10的狀態下主機系統1000欲寫入資料D2至邏輯頁面LBA(129)時,記憶體控制電路單元104(或記憶體管理電路202)會將主機系統1000欲寫入的資料D2寫入至實體程式化單元PBA(0-1)中。此時,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯位址轉實體位址映射表800中將邏輯頁面LBA(129)映射至實體程式化單元PBA(0-1)。
請參照圖12,倘若在圖11的狀態下主機系統1000欲寫入資料D3至邏輯頁面LBA(1)時,記憶體控制電路單元104(或記憶體管理電路202)會將主機系統1000欲寫入的資料D3寫入至實體程式化單元PBA(0-3)中。此時,記憶體控制電路單元104(或記
憶體管理電路202)會在邏輯位址轉實體位址映射表800中將邏輯頁面LBA(1)映射至實體程式化單元PBA(0-3)。
在圖10~12的寫入運作中,由於複寫式非揮發性記憶體模組106的儲存狀態為預設狀態,因此,記憶體控制電路單元104(或記憶體管理電路202)是選擇下實體程式化單元(即,實體程式化單元PBA(0-0)、實體程式化單元PBA(0-1)、實體程式化單元PBA(0-3))來寫入資料,而不會使用上實體程式化單元(即,第一寫入模式)。
圖13~圖15是根據本發明範例實施例所繪示當在可複寫式非揮發性記憶體模組106的儲存狀態非為預設狀態下進行寫入運作的一範例。
請參照圖13,倘若在可複寫式非揮發性記憶體模組106的儲存狀態非為預設狀態下主機系統1000欲寫入資料D4至邏輯頁面LBA(1)時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504選擇一個實體抹除單元(例如,實體抹除單元410(D))並且將主機系統1000欲寫入的資料D4寫入至實體程式化單元PBA(D-0)。在完成資料的寫入後,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯頁面-實體位址映射表800中將邏輯頁面LBA(1)映射至實體程式化單元PBA(D-0)。
請參照圖14,倘若在圖13的狀態下主機系統1000欲寫入資料D5至邏輯頁面LBA(129)時,記憶體控制電路單元104(或記憶體管理電路202)會將主機系統1000欲寫入的資料D5寫入至
實體程式化單元PBA(D-1)中。此時,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯頁面-實體位址映射表800中將邏輯頁面LBA(129)映射至實體程式化單元PBA(D-1)。
請參照圖15,倘若在圖14的狀態下主機系統1000欲寫入資料D6至邏輯頁面LBA(1)時,記憶體控制電路單元104(或記憶體管理電路202)會將主機系統1000欲寫入的資料D6寫入至實體程式化單元PBA(D-2)中。此時,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯頁面-實體位址映射表800中將邏輯頁面LBA(1)映射至實體程式化單元PBA(D-2)。
在圖13~15的寫入運作中,由於可複寫式非揮發性記憶體模組106的儲存狀態為非預設狀態,因此,下實體程式化單元與上實體程式化單元(即,實體程式化單元PBA(D-0)、實體程式化單元PBA(D-1)、實體程式化單元PBA(D-2))會被用來寫入資料(即,第二寫入模式)。
在本範例實施例中,在從主機系統1000接收到寫入指令與欲寫入的資料時,記憶體控制電路單元104(或記憶體管理電路202)會將此寫入指令與寫入資料暫存於緩衝記憶體208,並且回覆主機系統1000已完成此寫入指令。之後,記憶體控制電路單元104(或記憶體管理電路202)會在適當時機處理此寫入指令,由此提升記憶體儲存裝置100的效能。例如,由此緩衝記憶體208是揮發性記憶體,為了避免異常斷電而遺失資料,當持續一預定時間未從主機系統1000接收到指令或資料時,記憶體控制電路單元
104(或記憶體管理電路202)會以一背景執行模式執行清空(flush)操作以將暫存於緩衝記憶體208中的資料寫入至可複寫式非揮發性記憶體模組106。具體來說,當記憶體儲存裝置100接收到來自主機系統1000的指令時,記憶體控制電路單元104(或記憶體管理電路202)需立即執行並且回應主機系統1000,以避免逾時。在此,為回應主機系統1000所執行之程序的模式,稱為前景執行模式。相對地,記憶體控制電路單元104(或記憶體管理電路202)亦可在閒置下(即,未收到主機系統1000所傳送之指令)運作,例如,搬移資料等。在此,不是為了回應主機系統1000所執行之程序的模式,稱為背景執行模式。
特別是,在本範例實施例中,在執行清空操作以將資料寫入至實體程式化單元後,倘若寫入此資料的實體程式化單元為下實體程式化單元時,記憶體控制電路單元104(或記憶體管理電路202)會在其對應的上實體程式化單元寫入資料,由此避免儲存於下實體程式化單元中的資料因為上實體程式化單元的程式化錯誤而遺失。
圖16是根據本發明一範例實施例所繪示的執行清空操作將資料寫入至下實體程式化單元的示意圖。
請參照圖16,在執行清空操作且資料D4、D5、D6及D7從緩衝記憶體208被寫入至一個作動實體抹除單元(例如,實體抹除單元410(D))中空的實體程式化單元PBA(D-0)~PBA(D-3)的例子中,記憶體控制電路單元104(或記憶體管理電路202)會將預先設
定的虛構資料(dummy data)DD寫入至對應下實體程式化單元PBA(D-1)的上實體程式化單元PBA(D-4)、下實體程式化單元PBA(D-5)、對應下實體程式化單元PBA(D-3)的上實體程式化單元PBA(D-6),其中上實體程式化單元PBA(D-6)與下實體程式化單元PBA(D-3)是由同一條字元線(以下稱為第一字元線)上的記憶胞所構成,上實體程式化單元PBA(D-4)是由相鄰於第一字元線的一條字元線(以下稱為第二字元線)上的記憶胞所構成,而下實體程式化單元PBA(D-5)是由相鄰於第一字元線的另一條字元線(以下稱為第三字元線)上的記憶胞所構成。在此例子,倘若在將虛構資料DD程式化至實體程式化單元PBA(D-4)或實體程式化單元PBA(D-6)過程中發生程式化錯誤而造成儲存於實體程式化單元PBA(D-1)中的資料D5或儲存於實體程式化單元PBA(D-3)中的資料D7遺失時,由於緩衝記憶體208中的資料D5與資料D7尚未被刪除,因此,記憶體控制電路單元104(或記憶體管理電路202)可回復資料D5與資料D7。反之,在虛構資料DD被成功地程式化至實體程式化單元PBA(D-4)與實體程式化單元PBA(D-6)之後,資料D5與資料D7將不會因實體程式化單元PBA(D-4)與實體程式化單元PBA(D-6)的程式化失敗而遺失,因此,記憶體控制電路單元104(或記憶體管理電路202)可將緩衝記憶體208中的資料D5與資料D7刪除,以完成清空操作。
必須了解的是,在圖16所述的例子中,由於在實體抹除單元中的實體程式化單元之排列順序(如圖9所示),使得在執行
清空操作時,記憶體控制電路單元104(或記憶體管理電路202)需在兩個上實體程式化單元中寫入虛構資料。然而,本發明不限於此。例如,在實體抹除單元中的下實體程式化單元與上實體程式化單元之排列順序為對稱(如圖17所示)時,記憶體控制電路單元104(或記憶體管理電路202)在執行清空操作時可只需在一個上實體程式化單元中寫入虛構資料。
圖18是根據本發明另一範例實施例所繪示的執行清空操作將資料寫入至下實體程式化單元的示意圖。
請參照圖18,在如圖17之實體程式化單元的排列順序的例子中,倘若在行清空操作時資料D4、D5、D6從緩衝記憶體208被寫入至實體抹除單元410(D)中空的實體程式化單元PBA(D-0)~PBA(D-2)時,記憶體控制電路單元104(或記憶體管理電路202)僅需將預先設定的虛構資料DD寫入至對應下實體程式化單元PBA(D-2)的上實體程式化單元PBA(D-3)。
圖19是根據本發明一範例實施例所繪示之資料儲存方法的流程圖。
請參照圖19,在步驟S1901中,記憶體控制電路單元104(或記憶體管理電路202)會判斷是否持續一預定時間未從主機系統1000接收到資料。若否,則步驟S1901會反覆被執行。
倘若持續一預定時間未從主機系統1000接收到資料時,在步驟S1903中,記憶體控制電路單元104(或記憶體管理電路202)會啟動一清空操作,以從緩衝記憶體208中將資料(以下稱為第一
資料)寫入至作動實體抹除單元(以下稱為第一實體抹除單元)的空實體程式化單元(以下稱為第一實體程式化單元)中。
之後,在步驟S1905中,記憶體控制電路單元104(或記憶體管理電路202)會判斷第一實體抹除單元的第一實體程式化單元是否為下實體程式化單元。倘若第一實體抹除單元的第一實體程式化單元為下實體程式化單元時,在步驟S1907中,記憶體控制電路單元104(或記憶體管理電路202)會將一資料(以下稱為第二資料)寫入至第一實體抹除單元中由構成第一實體抹除單元之相同記憶胞所形成的上實體程式化單元(以下稱為第二實體程式化單元)中。
倘若第一實體抹除單元的第一實體程式化單元非為下實體程式化單元時,則在清空操作會被完成並且步驟S1901會被執行。
值得一提的是,在圖17的流程圖中,在從緩衝記憶體208將資料搬移至可複寫式非揮發性記憶體模組106後,記憶體控制電路單元104(或記憶體管理電路202)會立即執行判斷用於寫入清空操作所指示之資料的實體程式化單元是否為下實體程式化單元的運作,由此決定是否執行對上實體程式化單元寫入資料的運作。然而,由於在搬移資料之後,緩衝記憶體208亦可能又從主機系統1000中接收到新的寫入指令與寫入資料,因此,記憶體控制電路單元104(或記憶體管理電路202)可將此新的寫入資料寫入至對應的下實體程式化單元(即,上述之第一實體抹除單元的第三
實體程式化單元)。基此,在本發明另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會搬移資料之後啟動一計時器,並且在計時器計時超過一預設延遲時間後,記憶體控制電路單元104(或記憶體管理電路202)才會執行判斷用於寫入清空操作所指示之資料的實體程式化單元是否為下實體程式化單元的運作,由此決定是否執行對上實體程式化單元寫入資料的運作。在此,預設延遲時間可根據需求適當地設定,在此不作限制。
必須了解的是,在執行清空操作時除了將虛構資料寫入至對應的上實體程式化單元之外,在本發明另一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)亦可將屬於某個邏輯頁面的有效資料寫入至對應的上實體程式化單元,由此可一併執行資料合併的操作,避免實體程式化單元被無意義的使用。
具體來說,若在執行清空操作之後需要在第一實體抹除單元之第一實體程式化單元對應的第二實體程式化單元寫入資料時,記憶體控制電路單元104(或記憶體管理電路202)會從映射資料區502的實體抹除單元之中選擇一個實體抹除單元(以下稱為第二實體抹除單元),將第二實體抹除單元的實體程式化單元(以下稱為第二實體抹除單元的第一實體程式化單元)內的有效資料複製到第一實體抹除單元的第二實體程式化單元,並且將第二實體抹除單元的第一實體程式化單元標記為無效。特別是,倘若在將第二實體抹除單元的第一實體程式化單元標記為無效之後,第二實體抹除單元已無存有有效資料時,記憶體控制電路單元104(或記
憶體管理電路202)更可直接對第二實體抹除單元執行抹除操作,並且將抹除後的第二實體抹除單元從資料區502關聯回閒置區504,由此一併執行資料合併操作。
基於上述,在本範例實施例的資料儲存方法、記憶體控制電路單元與記憶體儲存裝置,會在執行清空操作並將資料寫入至下實體程式化單元時一併對上實體程式化單元寫入資料,由此可避免在執行清空操作中寫入至可複寫式非揮發性記憶體模組106內的資料因其他實體程式化單元之程式化而遺失。此外,在本範例實施例的資料儲存方法、記憶體控制電路單元與記憶體儲存裝置,會在執行清空操作時一併執行資料合併操作,由此避免實體程式化單元被無意義的使用。
S1901、S1903、S1905、S1907‧‧‧資料儲存方法的步驟
Claims (21)
- 一種資料儲存方法,用於在一可複寫式非揮發性記憶體模組中儲存資料,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元,且該些實體程式化單元包括多個下實體程式化單元與多個上實體程式化單元,該資料儲存方法包括:在一緩衝記憶體中暫存一第一資料;啟動一清空操作,以從該緩衝記憶體中將該第一資料寫入至該些實體抹除單元之中的一第一實體抹除單元的一第一實體程式化單元中;在將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元之後,判斷該第一實體抹除單元的該第一實體程式化單元是否為該些下實體程式化單元的其中之一;以及倘若該第一實體抹除單元的該第一實體程式化單元為該些下實體程式化單元的其中之一時,將一第二資料寫入至該第一實體抹除單元的一第二實體程式化單元,其中該第一實體抹除單元的該第二實體程式單元屬於該些上實體程式化單元的其中之一且該第一實體抹除單元的該第二實體程式化單元與該第一實體抹除單元的第一實體程式化單元是由一第一字元線上的多個記憶胞所構成。
- 如申請專利範圍第1項所述的資料儲存方法,更包括判斷是否持續一預定時間未從一主機系統接收到一資料, 其中上述啟動該清空操作以從該緩衝記憶體中將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元的步驟是在持續該預定時間未從該主機系統接收到任何資料時以一背景執行模式來被執行。
- 如申請專利範圍第1項所述的資料儲存方法,更包括:在將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元之後,開始啟動一計時器,其中上述判斷該第一實體程式化單元是否為該些下實體程式化單元的其中之一的步驟是在該計時器的值大於一預設延遲時間後被執行。
- 如申請專利範圍第1項所述的資料儲存方法,其中該第二資料為一虛構資料。
- 如申請專利範圍第1項所述的資料儲存方法,其中將該第二資料寫入至該第一實體抹除單元的該第二實體程式化單元的步驟包括:從該些實體抹除單元之中的一第二實體抹除單元的一第一實體程式化單元中將該第二資料複製到該第一實體抹除單元的該第二實體程式化單元;將原先映射至該第二實體抹除單元的該第一實體程式單元的一第一邏輯頁面重新映射至該第一實體抹除單元的該第二實體程式化單元;以及將該第二實體抹除單元的該第一實體程式化單元的狀態標記 為一無效狀態,其中該第二資料為屬於該第一邏輯頁面的一有效資料。
- 如申請專利範圍第1項所述的資料儲存方法,更包括:從該主機系統中接收一第三資料,其中該主機系統指示將該第三資料儲存至一第二邏輯頁面;從該些實體抹除單元中選擇一第三實體抹除單元;判斷該可複寫式非揮發性記憶體模組的儲存狀態是否符合一預設狀態;倘若該可複寫式非揮發性記憶體模組的儲存狀態符合該預設狀態時,使用一第一寫入模式來將該第三資料寫入至該第三實體抹除單元的一第一實體程式化單元中,且將該第二邏輯頁面映射至該第三實體抹除單元的該第一實體程式化單元,其中在該第一寫入模式中該第三實體抹除單元的下實體程式化單元會被使用來寫入資料且該第三實體抹除單元的上實體程式化單元不會被用來寫入資料;以及倘若該可複寫式非揮發性記憶體模組的儲存狀態不符合該預設狀態時,使用一第二寫入模式來將該第三資料寫入至該第三實體抹除單元的一第二實體程式化單元中,且將該第二邏輯頁面映射至該第三實體抹除單元的該第二實體程式化單元,其中在該第二寫入模式中該第三實體抹除單元的下實體程式化單元與上實體程式化單元會被用來寫入資料。
- 如申請專利範圍第1項所述的資料儲存方法,更包括:在將該第二資料寫入至該第一實體抹除單元的該第二實體程式化單元之前,將該第二資料寫入至該第一實體抹除單元的一第三實體程式化單元;以及在將該第二資料寫入至該第一實體抹除單元的該第三實體程 式化單元之後,將該第二資料寫入至該第一實體抹除單元的一第四實體程式化單元其中該第一實體抹除單元的該第三實體程式單元屬於該些上實體程式化單元的其中之一,該第一實體抹除單元的該第三實體程式化單元是由一第二字元線上的多個記憶胞所構成,且該第二字元線相鄰於該第一字元線,其中該第一實體抹除單元的該第四實體程式單元屬於該些下實體程式化單元的其中之一,該第一實體抹除單元的該第四實體程式化單元是由一第三字元線上的多個記憶胞所構成,且該第三字元線相鄰於該第一字元線。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,每一該些實體抹除單元具有多個實體程式化單元,並且該些實體程式化單元包括多個下實體程式化單元與多個上實體程式化單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以在一緩衝記憶體中暫存一第一資料,其中該記憶體管理電路更用以啟動一清空操作,以從該緩衝記憶體中將該第一資料寫入至該些實體抹除單元之中的一第一實體抹除單元的一第一實體程式化單元中,其中該記憶體管理電路更用以在將該第一資料寫入至該第一 實體抹除單元的該第一實體程式化單元之後,判斷該第一實體抹除單元的該第一實體程式化單元是否為該些下實體程式化單元的其中之一,其中倘若該第一實體抹除單元的該第一實體程式化單元為該些下實體程式化單元的其中之一時,該記憶體管理電路更用以將一第二資料寫入至該第一實體抹除單元的一第二實體程式化單元,其中該第一實體抹除單元的該第二實體程式單元屬於該些上實體程式化單元的其中之一且該第一實體抹除單元的該第二實體程式化單元與該第一實體抹除單元的第一實體程式化單元是由一第一字元線上的多個記憶胞所構成。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該記憶體管理電路更用以判斷是否持續一預定時間未從該主機系統接收到一資料,其中該記憶體管理電路是在持續該預定時間未從該主機系統接收到任何資料時以一背景執行模式執行上述啟動該清空操作以從該緩衝記憶體中將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元的運作。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該記憶體管理電路更用以在將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元之後,開始啟動一計時器,其中該記憶體管理電路是在該計時器的值大於一預設延遲時 間後執行上述判斷該第一實體程式化單元是否為該些下實體程式化單元的其中之一的運作。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該第二資料為一虛構資料。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中在將該第二資料寫入至該第一實體抹除單元的該第二實體程式化單元的運作中,該記憶體管理電路從該些實體抹除單元之中的一第二實體抹除單元的一第一實體程式化單元中將該第二資料複製到該第一實體抹除單元的該第二實體程式化單元,將原先映射至該第二實體抹除單元的該第一實體程式單元的一第一邏輯頁面重新映射至該第一實體抹除單元的該第二實體程式化單元,並且將該第二實體抹除單元的該第一實體程式化單元的狀態標記為一無效狀態,其中該第二資料為屬於該第一邏輯頁面的一有效資料。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該記憶體管理電路更用以從該主機系統中接收一第三資料,其中該主機系統指示將該第三資料儲存至一第二邏輯頁面,其中該記憶體管理電路更用以從該些實體抹除單元中選擇一第三實體抹除單元,且判斷該可複寫式非揮發性記憶體模組的儲存狀態是否符合一預設狀態,倘若該可複寫式非揮發性記憶體模組的儲存狀態符合該預設狀態時,該記憶體管理電路更用以使用一第一寫入模式來將該第三資料寫入至該第三實體抹除單元的一第一實體程式化單元中, 且將該第二邏輯頁面映射至該第三實體抹除單元的該第一實體程式化單元,其中在該第一寫入模式中該第三實體抹除單元的下實體程式化單元會被使用來寫入資料且該第三實體抹除單元的上實體程式化單元不會被用來寫入資料;以及倘若該可複寫式非揮發性記憶體模組的儲存狀態不符合該預設狀態時,該記憶體管理電路更用以使用一第二寫入模式來將該第三資料寫入至該第三實體抹除單元的一第二實體程式化單元中,且將該第二邏輯頁面映射至該第三實體抹除單元的該第二實體程式化單元,其中在該第二寫入模式中該第三實體抹除單元的下實體程式化單元與上實體程式化單元會被用來寫入資料。
- 如申請專利範圍第8項所述的記憶體控制電路單元,其中該記憶體管理電路更用以在將該第二資料寫入至該第一實體抹除單元的該第二實體程式化單元之前,將該第二資料寫入至該第一實體抹除單元的一第三實體程式化單元,其中該第一實體抹除單元的該第三實體程式單元屬於該些上實體程式化單元的其中之一,該第一實體抹除單元的該第三實體程式化單元是由一第二字元線上的多個記憶胞所構成,且該第二字元線相鄰於該第一字元線,其中該記憶體管理電路更用以在將該第二資料寫入至該第一實體抹除單元的該第三實體程式化單元之後,將該第二資料寫入至該第一實體抹除單元的一第四實體程式化單元,其中該第一實體抹除單元的該第四實體程式單元屬於該些下實體程式化單元的其中之一,該第一實體抹除單元的該第四實體程式化單元是由一第三字元線上的多個記憶胞所構成,且該第三字元線相鄰於該第一字元線。
- 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,其中每一該些實體抹除單元具有多個實體程式化單元,並且該些實體程式化單元包括多個下實體程式化單元與多個上實體程式化單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,並且用以在一緩衝記憶體中暫存一第一資料,其中該記憶體控制電路單元更用以啟動一清空操作,以從該緩衝記憶體中將該第一資料寫入至該些實體抹除單元之中的一第一實體抹除單元的一第一實體程式化單元中,其中該記憶體控制電路單元更用以在將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元之後,判斷該第一實體抹除單元的該第一實體程式化單元是否為該些下實體程式化單元的其中之一,其中倘若該第一實體抹除單元的該第一實體程式化單元為該些下實體程式化單元的其中之一時,該記憶體控制電路單元更用以將一第二資料寫入至該第一實體抹除單元的一第二實體程式化單元,其中該第一實體抹除單元的該第二實體程式單元屬於該些上實體程式化單元的其中之一且該第一實體抹除單元的該第二實體程式化單元與該第一實體抹除單元的第一實體程式化單元是由一 第一字元線上的多個記憶胞所構成。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以判斷是否持續一預定時間未從該主機系統接收到一資料,其中該記憶體控制電路單元是在持續該預定時間未從該主機系統接收到任何資料時以一背景執行模式執行上述啟動該清空操作以從該緩衝記憶體中將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元的運作。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以在將該第一資料寫入至該第一實體抹除單元的該第一實體程式化單元之後,開始啟動一計時器,其中該記憶體控制電路單元是在該計時器的值大於一預設延遲時間後執行上述判斷該第一實體程式化單元是否為該些下實體程式化單元的其中之一的運作。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該第二資料為一虛構資料。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中在將該第二資料寫入至該第一實體抹除單元的該第二實體程式化單元的運作中,該記憶體控制電路單元從該些實體抹除單元之中的一第二實體抹除單元的一第一實體程式化單元中將該第二資料複製到該第一實體抹除單元的該第二實體程式化單元,將原先映射 至該第二實體抹除單元的該第一實體程式單元的一第一邏輯頁面重新映射至該第一實體抹除單元的該第二實體程式化單元,並且將該第二實體抹除單元的該第一實體程式化單元的狀態標記為一無效狀態,其中該第二資料為屬於該第一邏輯頁面的一有效資料。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以從該主機系統中接收一第三資料,其中該主機系統指示將該第三資料儲存至一第二邏輯頁面,其中該記憶體控制電路單元更用以從該些實體抹除單元中選擇一第三實體抹除單元,且判斷該可複寫式非揮發性記憶體模組的儲存狀態是否符合一預設狀態,倘若該可複寫式非揮發性記憶體模組的儲存狀態符合該預設狀態時,該記憶體控制電路單元更用以使用一第一寫入模式來將該第三資料寫入至該第三實體抹除單元的一第一實體程式化單元中,且將該第二邏輯頁面映射至該第三實體抹除單元的該第一實體程式化單元,其中在該第一寫入模式中該第三實體抹除單元的下實體程式化單元會被使用來寫入資料且該第三實體抹除單元的上實體程式化單元不會被用來寫入資料;以及倘若該可複寫式非揮發性記憶體模組的儲存狀態不符合該預設狀態時,該記憶體控制電路單元更用以使用一第二寫入模式來將該第三資料寫入至該第三實體抹除單元的一第二實體程式化單元中,且將該第二邏輯頁面映射至該第三實體抹除單元的該第二實體程式化單元,其中在該第二寫入模式中該第三實體抹除單元 的下實體程式化單元與上實體程式化單元會被用來寫入資料。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以在將該第二資料寫入至該第一實體抹除單元的該第二實體程式化單元之前,將該第二資料寫入至該第一實體抹除單元的一第三實體程式化單元,其中該第一實體抹除單元的該第三實體程式單元屬於該些上實體程式化單元的其中之一,該第一實體抹除單元的該第三實體程式化單元是由一第二字元線上的多個記憶胞所構成,且該第二字元線相鄰於該第一字元線,其中該記憶體控制電路單元更用以在將該第二資料寫入至該第一實體抹除單元的該第三實體程式化單元之後,將該第二資料寫入至該第一實體抹除單元的一第四實體程式化單元,其中該第一實體抹除單元的該第四實體程式單元屬於該些下實體程式化單元的其中之一,該第一實體抹除單元的該第四實體程式化單元是由一第三字元線上的多個記憶胞所構成,且該第三字元線相鄰於該第一字元線。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102149043A TWI516934B (zh) | 2013-12-30 | 2013-12-30 | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 |
US14/195,871 US9778862B2 (en) | 2013-12-30 | 2014-03-04 | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102149043A TWI516934B (zh) | 2013-12-30 | 2013-12-30 | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201525693A true TW201525693A (zh) | 2015-07-01 |
TWI516934B TWI516934B (zh) | 2016-01-11 |
Family
ID=53481806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102149043A TWI516934B (zh) | 2013-12-30 | 2013-12-30 | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9778862B2 (zh) |
TW (1) | TWI516934B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI584122B (zh) * | 2015-11-17 | 2017-05-21 | 群聯電子股份有限公司 | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI596476B (zh) * | 2015-11-27 | 2017-08-21 | 群聯電子股份有限公司 | 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10141049B2 (en) * | 2014-12-19 | 2018-11-27 | Sandisk Technologies Llc | Nonvolatile memory system storing system data in marginal word lines |
JP2023044277A (ja) | 2021-09-17 | 2023-03-30 | 株式会社東芝 | 磁気ディスク装置 |
US12014772B2 (en) | 2021-11-17 | 2024-06-18 | Samsung Electronics Co., Ltd. | Storage controller and storage device including the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI385516B (zh) * | 2008-08-12 | 2013-02-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其資料寫入方法 |
US20140013031A1 (en) * | 2012-07-09 | 2014-01-09 | Yoko Masuo | Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus |
-
2013
- 2013-12-30 TW TW102149043A patent/TWI516934B/zh active
-
2014
- 2014-03-04 US US14/195,871 patent/US9778862B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI584122B (zh) * | 2015-11-17 | 2017-05-21 | 群聯電子股份有限公司 | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI596476B (zh) * | 2015-11-27 | 2017-08-21 | 群聯電子股份有限公司 | 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
US20150186058A1 (en) | 2015-07-02 |
TWI516934B (zh) | 2016-01-11 |
US9778862B2 (en) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI516927B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI451249B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
TW201437807A (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
TWI489466B (zh) | 記憶體抹除方法、記憶體控制器與記憶體儲存裝置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN104765568A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
US8812772B2 (en) | Data merging method for non-volatile memory and controller and storage apparatus using the same | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
TWI447579B (zh) | 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置 | |
TWI540428B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI516934B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8762685B2 (en) | Data writing method, memory controller and memory storage apparatus | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TW201526006A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TW201441816A (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 |