TW201519251A - 非揮發性記憶體裝置及其操作方法 - Google Patents

非揮發性記憶體裝置及其操作方法 Download PDF

Info

Publication number
TW201519251A
TW201519251A TW102140173A TW102140173A TW201519251A TW 201519251 A TW201519251 A TW 201519251A TW 102140173 A TW102140173 A TW 102140173A TW 102140173 A TW102140173 A TW 102140173A TW 201519251 A TW201519251 A TW 201519251A
Authority
TW
Taiwan
Prior art keywords
physical
data
volatile memory
physical block
page
Prior art date
Application number
TW102140173A
Other languages
English (en)
Other versions
TWI520153B (zh
Inventor
Ming-Tung Hsu
Yi-Lin Lai
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Priority to TW102140173A priority Critical patent/TWI520153B/zh
Priority to CN201410016156.9A priority patent/CN103699344B/zh
Priority to CN201610114822.1A priority patent/CN105786411B/zh
Priority to CN201610115166.7A priority patent/CN105786412B/zh
Publication of TW201519251A publication Critical patent/TW201519251A/zh
Application granted granted Critical
Publication of TWI520153B publication Critical patent/TWI520153B/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/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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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

Abstract

一種非揮發性記憶體裝置及其操作方法,其中非揮發性記憶體裝置的非揮發性記憶體模組包括第一實體塊與第二實體塊。此操作方法包括以下步驟。對非揮發性記憶體裝置進行重整,並將已完成重整的第一重整資料寫入第一實體塊的至少一第一頁面。在於斷電事件後再一次供電給非揮發性記憶體裝置時,對第二實體塊進行抹除程序。將第一實體塊在斷電事件之前所寫入的第一重整資料,複製到第二實體塊的至少一第二頁面上。繼續對非揮發性記憶體裝置進行重整,並將所述再一次供電給非揮發性記憶體裝置之後所重整的第二重整資料,寫入第二實體塊。

Description

非揮發性記憶體裝置及其操作方法
本發明是有關於一種記憶體裝置,且特別是有關於一種非揮發性記憶體裝置及其操作方法。
一般使用反及快閃(NAND flash)記憶體做為資料儲存媒介的硬碟,例如固態硬碟(solid state disk,SSD)、嵌入式快閃記憶卡(Embedded MultiMediaCard,eMMC)或行動硬碟等,通常包括多個實體塊(block),且每一個實體塊會包括多個頁面(page)。由於一個被寫滿的實體塊在被抹除之前無法重複地再被寫入資料,因此當一個主機要更新實體塊中的資料時,則會先將新資料寫入至另一個未被寫滿的實體塊(暫存區塊)。此另一個實體塊會儲存有效資料,而原先的實體塊中儲存的待更新的資料(原始資料)則會被無效化並留存於原本的實體塊中。因此,當暫存區塊的空間已不夠用時,這反及快閃記憶體便需要對原始資料與新資料進行重整。
重整是將一個或是多個實體塊上的有效資料搬移或複製至一個備用的實體塊,藉以讓一個被寫滿有效及無效資料的實體塊可以被抹除並於之後用以儲存其他資料。所述重整操作為本領域之技術人員所熟知,故不再贅述。然而,當這些實體塊被重整時,倘若有斷電事件發生,則這備用的實體塊中可能會有已被寫入重整資料卻尚未完成重整操作的頁面,而這些頁面可能因此斷電事件而造成資料損毀或錯誤。因此若實體塊被重整時有斷電事件發生,則硬碟可能會損失部份的資料。
另一方面,一般來說,硬碟(如:固態硬碟、eMMC等)在使用時,需要使用信息表來記錄邏輯位址至實體位址的映射關係。而在不斷執行主機的眾多資料存取指令或者重整指令的過程中,由於邏輯位址與實體位址之對應關係可被對應地改變,因此信息表的內容可被不斷地更新。然而,隨著固態硬碟所寫入的資料增多,信息表所記錄的內容也會隨著增加。因此,傳統固態硬碟需要使用非常大的儲存空間來放置此信息表。
此外,上述的硬碟可能具有單層記憶胞(Single Level Cell,SLC)NAND型快閃記憶體、多層記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體、三層記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體或其他型快閃記憶體。其中,三層記憶胞快閃記憶體具有較高的位元錯誤率。
本發明提供一種非揮發性記憶體裝置與其操作方法,其可避免在斷電事件後再次供電給非揮發性記憶體裝置時,對非揮發性記憶體裝置進行重整所造成的資料錯誤。
本發明提供一種操作方法,其可有效減少位址映射表(address mapping table)的資料量。
本發明提供一種操作方法,其可兼顧資料寫入的正確性以及資料寫入速度。
本發明實施例提出一種非揮發性記憶體裝置的操作方法,其中非揮發性記憶體裝置的非揮發性記憶體模組包括第一實體塊與第二實體塊。此操作方法包括:對非揮發性記憶體裝置進行重整,並將已完成重整的第一重整資料寫入第一實體塊的至少一第一頁面;在於斷電事件後再一次供電給非揮發性記憶體裝置時,對第二實體塊進行抹除程序;在抹除程序完成後將第一實體塊在斷電事件之前所寫入的第一重整資料,複製到第二實體塊的至少一第二頁面上,其中所述至少一第二頁面對應於所述至少一第一頁面;以及繼續對非揮發性記憶體裝置進行重整,並將再一次供電給非揮發性記憶體裝置之後所繼續重整的第二重整資料,寫入第二實體塊。
本發明實施例另提出一種非揮發性記憶體裝置,其包括非揮發性記憶體模組以及記憶體控制器。非揮發性記憶體模組包括第一實體塊與第二實體塊,其中第一實體塊具有至少一第一頁面,第二實體塊具有至少一第二頁面。記憶體控制器耦接於非揮 發性記憶體模組。當記憶體控制器對非揮發性記憶體裝置進行重整時,記憶體控制器將已完成重整的第一重整資料寫入第一實體塊的所述至少一第一頁面。在於斷電事件後再一次供電給非揮發性記憶體裝置時,記憶體控制器對第二實體塊進行抹除程序,並在抹除程序完成後將第一實體塊在斷電事件之前所寫入的第一重整資料複製到第二實體塊的所述至少一第二頁面上,其中所述至少一第二頁面對應於所述至少一第一頁面,以及記憶體控制器繼續對非揮發性記憶體裝置進行重整,並將再一次供電給非揮發性記憶體裝置之後所繼續重整的第二重整資料寫入第二實體塊。
本發明實施例另提出一種非揮發性記憶體裝置的操作方法,非揮發性記憶體裝置的非揮發性記憶體模組包括至少一實體塊。此操作方法包括:將資料寫入所述至少一實體塊中;判斷條件是否成立,其中所述條件包括所述資料的多個邏輯位址為連續且所述資料位在同一個實體塊的多個連續頁面中;以及當所述條件成立時,將所述資料的起始邏輯位址、所述資料的起始實體位址與所述資料的資料長度分別記錄在執行長度映射表(run-length mapping table)中的邏輯位址欄位、實體位址欄位以及長度欄位。
本發明實施例另提出一種非揮發性記憶體裝置的操作方法,非揮發性記憶體裝置的非揮發性記憶體模組包括多個操作於單層記憶胞模式的實體塊以及多個操作於三層記憶胞模式的實體塊。此操作方法包括:將資料寫入所述操作於單層記憶胞模式的實體塊其中之一;當在非揮發性記憶體模組內所述操作於單層記 憶胞模式的實體塊之中的三個實體塊的所有頁面均被使用時,依據一條件而決定對所述三個實體塊進行內部重整或是外部重整,以將所述三個實體塊的資料重整至操作於三層記憶胞模式的該些實體塊中的擇定實體塊。
基於上述,在於斷電事件後再一次供電給非揮發性記憶體裝置時,記憶體控制器會將已完成重整的重整資料複製另一實體塊,並利用所述另一實體塊來繼續寫入下一個重整資料。藉此,可提高非揮發性記憶體裝置進行重整時的正確性。此外,在將資料寫入非揮發性記憶體模組的實體塊時,記憶體控制器可透過執行長度映射表,來記錄具有連續邏輯位址且位在同一個實體塊的多個連續頁面中的重整資料,以有效減少位址映射表的資料量。再者,非揮發性記憶體模組可選擇透過外部的記憶體控制器來對寫入操作於三層記憶胞模式的實體塊的資料進行糾錯,或者選擇直接透過非揮發性記憶體模組內部的控制電路將資料進行重整,藉以兼顧資料寫入的正確性以及資料寫入速度。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧非揮發性記憶體裝置
10‧‧‧主機
110‧‧‧記憶體控制器
120‧‧‧非揮發性記憶體模組
122、124‧‧‧實體塊
122p、124p‧‧‧頁面
202‧‧‧微處理單元
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧緩衝記憶體
210‧‧‧錯誤檢查與校正單元
D0‧‧‧第一重整資料
D1‧‧‧重整資料
D2‧‧‧第二重整資料
P1-0~P1-(x+1)、P2-0~P2-y‧‧‧頁面
n1、n1+1~n1+4、n1、n2、n3、n4、n5‧‧‧邏輯頁位址
m1、m2、m3、m4、m5‧‧‧實體塊位址
k1、k1+1~k1+4、k2、k3、k4、k5‧‧‧實體頁位址
S302~S308‧‧‧非揮發性記憶體裝置的操作方法各步驟
S602~S608、S801~S808‧‧‧操作方法各步驟
圖1是依照本發明之一實施例所繪示的非揮發性記憶體裝置的方塊示意圖。
圖2是依照本發明之一實施例所繪示圖1的記憶體控制器的方塊示意圖。
圖3是依照本發明一實施例所繪示的非揮發性記憶體裝置的操作方法流程示意圖。
圖4與5A至圖5D為說明非揮發性記憶體裝置進行重整的示意圖。
圖6是依照本發明一實施例所繪示的非揮發性記憶體裝置的操作方法流程示意圖。
圖7A是依照本發明一實施例所繪示的第一重整資料的邏輯位址資訊與實體位址資訊的示意圖。
圖7B是依照本發明一實施例所繪示的執行長度映射表的示意圖。
圖7C是依照本發明一實施例所繪示的頁映射表的示意圖。
圖8是依照本發明一實施例所繪示的操作方法流程示意圖。
圖1是依照本發明之一實施例所繪示的非揮發性記憶體裝置的方塊示意圖。請參照圖1,非揮發性記憶體裝置100例如是以快閃記憶體(flash memory)作為儲存媒介的快閃記憶體儲存裝置,例如固態硬碟(Solid State Disk,SSD)、嵌入式快閃記憶卡(Embedded MultiMediaCard,eMMC)或行動硬碟等硬碟。在一些應用情境中,非揮發性記憶體裝置100可做為儲存放置各種快 取資料(cache data)的快取空間(cache space)。在另一些應用情境中,非揮發性記憶體裝置100可做為大容量儲存設備(mass storage device)。此外,本實施例的非揮發性記憶體裝置100可耦接於主機10,以供主機10存取資料,其中主機10可以是個人電腦、筆記型電腦、平板電腦、智慧型手機或是其他計算平台/裝置。非揮發性記憶體裝置100可設置於主機10的內部,並與主機10電性連接。或者,非揮發性記憶體裝置100也可以利用外接的方式與主機10電性連接,例如,透過通用序列匯流排(Universal Serial Bus,USB)等各式匯流排與主機10電性連接等等,本實施例不對其加以限制。
非揮發性記憶體裝置100包括一個記憶體控制器110以及一或多個非揮發性記憶體模組120,其中記憶體控制器110耦接於非揮發性記憶體模組120。本實施例並不限制非揮發性記憶體模組120的數量。記憶體控制器110可以用硬體型式或韌體型式實作之。例如,記憶體控制器110可能包括多個邏輯閘。記憶體控制器110可根據主機10所下達的指令在非揮發性記憶體模組120中進行資料的寫入、讀取、抹除、重整與/或其他運作。
非揮發性記憶體模組120具有至少一實體塊以儲存主機10所寫入的資料。為了方便說明,在此以非揮發性記憶體模組120所包括的第一實體塊122與第二實體塊124為例,但本實施例並不限制實體塊的數量。詳細而言,第一實體塊122具有至少一頁面122p。第二實體塊124具有至少一頁面124p,其中屬於同一個 實體塊的不同頁面可被獨立地寫入,且屬於同一個實體塊的所有頁面可以被同時地抹除。舉例而言,每一實體塊可由128個頁面所組成,但不限於此。在其他實施例中,每一實體塊也可由64個頁面、256個頁面或其他任意個頁面所組成。在本實施例中,非揮發性記憶體模組120例如是單層記憶胞(Single Level Cell,SLC)NAND型快閃記憶體、多層記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體、三層記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體或其他類型快閃記憶體。其中,SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料,MLC NAND型快閃記憶體的每個記憶胞可儲存2個位元的資料,而TLC NAND型快閃記憶體的每個記憶胞可儲存3個位元的資料。
圖2是依照本發明之一實施例所繪示圖1的記憶體控制器110的方塊示意圖。請同時參照圖1與圖2,記憶體控制器110包括微處理單元202、主機介面204、記憶體介面206、緩衝記憶體208以及錯誤檢查與校正單元210。
微處理單元202用以控制記憶體控制器110的整體運作。例如,微處理單元202可以控制記憶體控制器110以執行本實施例的操作方法(容後詳述),來對非揮發性記憶體裝置100中的非揮發性記憶體模組120進行重整,或者將資料寫入非揮發性記憶體模組120中。此外,記憶體控制器110會維護一個或多個邏輯轉實體位址(logical to physical address)的信息表(或稱為位址映射表),以記錄資料在主機10的邏輯位址與在非揮發性記 憶體模組120中實體位址的映射關係。藉此,當主機10欲存取某一邏輯位址時,微處理單元202便可根據所述信息表取得對應的實體位址,並於非揮發性記憶體模組120中的所述實體位址上存取資料。
主機介面204是耦接於微處理單元202,並且用以接收主機10所傳送的指令與資料。也就是說,主機10所傳送的指令與資料會透過主機介面204來傳送至微處理單元202。在本實施例中,主機介面204例如是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準的介面電路。然而,必須瞭解的是本發明不限於此。例如在其他實施例中,主機介面204亦可以是相容於並列先進附件(Parellel Advanced TechnologyAttachment,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)標準或其他適合的資料傳輸標準的介面電路。
記憶體介面206耦接於微處理單元202並且用以存取非揮發性記憶體模組120。記憶體介面206可以將資料信號轉換為非揮發性記憶體模組120所能接受的格式。也就是說,微處理單元202可以將欲寫入至非揮發性記憶體模組120的資料經由記憶體介面206儲存至非揮發性記憶體模組120中。
緩衝記憶體208耦接於微處理單元202並且用以暫存來自於主機10的資料與指令,或是儲存微處理單元202對非揮發性記憶體模組120的管理訊息(例如上述的信息表),或是暫存來自於非揮發性記憶體模組120的資料等。在此,緩衝記憶體208例如是動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態隨機存取記憶體(static random access memory,SRAM)或是其他揮發性記憶體(volatile memory)等。
錯誤檢查與校正單元210耦接於微處理單元202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當微處理單元202從主機10中接收到寫入指令時,錯誤檢查與校正單元210會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且微處理單元202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至非揮發性記憶體模組120中。之後,微處理單元202從非揮發性記憶體模組120中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,而錯誤檢查與校正單元210會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
底下即搭配上述非揮發性記憶體裝置100來說明本實施例的操作方法各步驟。圖3是依照本發明一實施例所繪示的記憶體裝置100的操作方法流程圖。圖4以及圖5A至圖5D為說明非揮發性記憶體裝置100進行重整的示意圖。請參照圖1、圖3與圖4,於步驟S302,當記憶體控制器110對非揮發性記憶體裝置100進行重整時,記憶體控制器110將已完成重整的第一重整資料寫入第一實體塊122的至少一個頁面122p。例如在圖4A中,以標示為P1-0~P1-1的所述頁面122p來存放已完成重整的重整資料D0,而以標示為P1-2~P1-x的所述頁面122p來存放已完成重整的重整資料D1。重整資料D0與D1依序被寫入的所述至少一個頁面122p,其中x為正整數。值得注意的是,對於多層記憶胞(Multi Level Cell,MLC)及三層記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體而言,其具有成對頁面(Pair Page)與多頁面於同一個記憶胞的特性,即一個記憶胞中具有對應的兩個頁面或三個頁面的位元資料。另外,對於同一實體塊而言,這些成對頁面可能是連續或是不連續,其端視不同的設計而定。例如在圖4中,假設標示為P1-x及P-(x-1)的所述頁面122p對應同一個記憶胞,則此為連續的成對頁面,而假設標示為P1-x及P-(x-2)的所述頁面122p對應同一個記憶胞,則此為不連續的成對頁面。
此外,在本實施例中,若沒有發生斷電事件,則在將重整資料D1寫入圖4中標示為P1-2至P1-x的這些頁面122p之後,記憶體控制器110可從重整資料D1的最後一個頁面122p所接續 的頁面,即自標示為P1-(x+1)的這個頁面122p開始,繼續儲存下一筆重整資料。假設在將所述下一筆重整資料寫入第一實體塊122的過程中發生斷電事件,使得所述下一筆重整資料未能完整寫入第一實體塊122。重新上電後,記憶體控制器110可再一次將所述下一筆重整資料寫入第一實體塊122,以及進行後續資料重整操作。然而,在沒有應用本實施例所述技術的情況下,重新上電後在將所述下一筆重整資料再一次寫入第一實體塊122的過程中,所述下一筆重整資料可能會發生錯誤/逸失。例如所述下一筆重整資料未完整地寫入標示為P1-(x+1)的這個頁面122p便發生斷電事件,則重新上電後記憶體控制器110可根據標示為P1-0至P1-x的這個頁面122p中的對應資訊而判斷出重整資料D1已完整地寫入到標示為P1-x的這個頁面122p。在沒有應用本實施例所述技術的情況下,重新上電後標示為P1-(x+1)的這個頁面122p本身與它的的成對頁面(Pair Page)的資料會發生錯誤/逸失。
值得一提的是,記憶體控制器110可提供一個信息表來記錄對應於第一重整資料D0的至少一實體位址信息,其中實體位址信息分別指出第一實體塊122中標示為P1-0~P1-1的所述頁面122p的實體位址。因此,當主機10欲存取第一實體塊122中的重整資料D0時,記憶體控制器110可根據信息表而在第一實體塊122中對重整資料D0進行存取。此外,當記憶體控制器110將已完成重整的重整資料D0寫入第一實體塊122的其中一個頁面122p時,記憶體控制器110可利用一個指標,來記錄目前已寫入已完 成重整的重整資料D0的後一個頁面122p的實體位址。其中,指標例如是被儲存在記憶體控制器110的緩衝記憶體208(繪示於圖2)中,且可根據記憶體控制器110所寫入的實體塊的頁面進行更新,以記錄相同或不同的實體塊中頁面的實體位址。
假設在未進行本發明之步驟S304~S308的情況下,當在斷電事件後再一次供電給非揮發性記憶體裝置100時,非揮發性記憶體裝置100可能會發生重整資料D1錯誤/逸失的問題。所述在未進行步驟S304~S308的情況下發生重整資料D1錯誤/逸失的原因說明如下。
舉例來說,如圖4所示,倘若記憶體控制器110將重整資料D1寫入第一實體塊122中標示為P1-x的頁面122p時有一斷電事件發生,使得記憶體控制器110已執行的寫入動作被中斷時,則除了正在寫入的頁面P1-x可能受損之外,也可能會連帶影響同一記憶胞中的其他成對頁面(Pair Page,例如標示為P1-(x-1)或P-(x-2)的所述頁面122p),而導致一個或多個頁面資料錯誤。換言之,若重整過程中發生斷電事件,則對於MLC NAND型快閃記憶體而言,可能會產生連續或不連續成對頁面的資料錯誤。或者,對於TLC NAND型快閃記憶體而言,則可能會產生連續或不連續的三個頁面的資料錯誤。本發明實施例的步驟S304~S308可以有效防止在斷電與重新上電的過程中重整資料發生錯誤/逸失,以下即搭配圖5A至圖5D來進行說明。
請參照圖5A,記憶體控制器110將資料D0寫入第一實 體塊122中標示為P1-0或P-1的頁面122p,其中資料D0例如為已完成重整的重整資料。在將資料D0寫入第一實體塊122之後,記憶體控制器110可繼續儲存下一筆重整資料至第一實體塊122。在此將假設在將所述下一筆重整資料寫入第一實體塊122的過程中發生斷電事件,使得所述下一筆重整資料未能完整寫入第一實體塊122。在於斷電事件後再一次供電給非揮發性記憶體裝置100時,如圖5B所示,記憶體控制器110可以進行步驟S304,以從多個自由實體塊選擇一個實體塊(例如第二實體塊124),並對第二實體塊124進行抹除程序。在此,記憶體控制器110例如是抹除第二實體塊124中所儲存的資料。例如,圖5B所繪示的第二實體塊124,表示於斷電事件後再一次供電給非揮發性記憶體裝置100時,第二實體塊124中所儲存的資料已被抹除。
於步驟S306,在上述抹除程序完成後,記憶體控制器110會搜尋在斷電事件之前所完整寫入第一實體塊122的有效資料。例如,在重新上電後,記憶體控制器110可根據頁面122p中的對應資訊,而判斷出這些重整資料D0在斷電事件之前已完整地寫入到第一實體塊122。因此,記憶體控制器110在步驟S306中將第一實體塊122在斷電事件之前所完整寫入的重整資料D0複製到第二實體塊124的至少一個頁面124p上,其中所述至少一個頁面124p對應於所述至少一個頁面122p。例如於圖5C,在第二實體塊124中標示為P2-0~P2-1的所述頁面124p來存放從第一實體塊122複製而來的重整資料D0。
於步驟S308,記憶體控制器110會繼續對非揮發性記憶體裝置100進行重整,並將再一次供電給非揮發性記憶體裝置100之後所繼續重整的第二重整資料寫入第二實體塊124,而不寫入第一實體塊122。例如在圖5D中,在完成重整資料D0複製至第二實體塊124之後,記憶體控制器110可以繼續對非揮發性記憶體裝置100進行重整而獲得第二重整資料D2,並將第二重整資料D2存放在第二實體塊124中標示為P2-2~P2-y的所述頁面124p上,其中y為正整數。在一實施例中,等到第二實體塊124完成資料重整作業後,記憶體控制器110還可選擇性地對第一實體塊122進行抹除程序,來釋放第一實體塊122的儲存空間。
此外,記憶體控制器110還可更新信息表的實體位址信息。其中,實體位址信息分別指出對應於第二實體塊124中標示為P2-0~P2-y的頁面124p的實體位址。如此一來,記憶體控制器110便可根據信息表而存取非揮發性記憶體裝置100中經重整的資料(包括斷電事件前所重整的第一重整資料D0,以及斷電事件後再一次供電給非揮發性記憶體裝置100所重整的第二重整資料D2)。
在此說明的是,倘若記憶體控制器110在將第二重整資料D2存入至第二實體塊124的過程中,又有另一斷電事件發生而使記憶體控制器110正在進行的重整動作再一次中斷時,則記憶體控制器110會再一次執行與上述步驟S304~S306。亦即,在於斷電事件後再一次供電給記憶體裝置100時,記憶體控制器110 會對另一個實體塊進行初始化程序,以及在上述初始化程序完成後,記憶體控制器110會再一次將第一實體塊122在斷電事件之前所寫入的第一重整資料D0複製到所述另一個實體塊對應的頁面上。並且,記憶體控制器110會繼續對記憶體裝置100進行重整而獲得第二重整資料D2,並將所述而獲得第二重整資料D2寫入所述另一個實體塊。
基於上述,由於在於斷電事件後再一次供電給非揮發性記憶體裝置100時,記憶體控制器110會將已完成重整的第一重整資料D0從原先的第一實體塊122複製到已經過抹除程序的第二實體塊124。並且,記憶體控制器110可將電源恢復供應後所重整的第二重整資料D2(即接續第一重整資料D0後的重整資料)寫入第二實體塊124,而不寫入第一實體塊122。如此一來,當記憶體控制器110對非揮發性記憶體裝置100進行重整時,若有斷電事件又再次恢復供電的情況,則由於斷電事件之前的第一重整資料D0被安全的保留於第一實體塊122,因此記憶體控制器110可避免於第一實體塊122因斷電被破壞所造成的錯誤,藉以提高重整資料的正確性。
值得一提的是,上述記憶體控制器110在將已完成重整的重整資料寫入實體塊(例如實體塊122、124或其他實體塊)中的至少一頁面時,還可透過執行長度映射表(run-length mapping table),來記錄具有連續邏輯位址且位在同一個實體塊的多個連續頁面中的重整資料,以減少用來儲存重整資料的邏輯位址資訊以 及實體位址資訊的空間。為了方便說明,底下以記憶體控制器110將已完成重整的重整資料寫入非揮發性記憶體模組120的至少一實體塊時的步驟為例,來說明將重整資料寫入實體塊中的操作方法。
圖6是依照本發明一實施例所繪示的非揮發性記憶體裝置的操作方法流程示意圖。請同時參照圖1與圖6,於步驟S602,記憶體控制器110將重整資料寫入非揮發性記憶體模組120的至少一實體塊,例如是第一實體塊122或第二實體塊124。於步驟S604,記憶體控制器110會判斷第一條件是否成立,其中第一條件包括所述重整資料的多個邏輯位址為連續且所述重整資料位在同一個實體塊的多個連續頁面中。舉例來說,若記憶體控制器110將具有多個連續邏輯位址的重整資料寫入非揮發性記憶體模組120的第一實體塊122的多個連續頁面中,則第一條件成立。然而,若記憶體控制器110將重整資料寫入非揮發性記憶體模組120的第一實體塊122的非連續頁面,則第一條件不成立。
當第一條件成立時,則如步驟S606所示,記憶體控制器110會將重整資料的起始邏輯位址、重整資料的起始實體位址與重整資料的資料長度分別記錄在執行長度映射表中的邏輯位址欄位、實體位址欄位以及長度欄位,其中記憶體控制器110可根據重整資料的起始實體位址與終止實體位址而得知重整資料的資料長度。
圖7A是依照本發明一實施例所繪示被寫入非揮發性記 憶體模組120的重整資料的邏輯位址資訊與實體位址資訊的關係示意圖。圖7B是依照本發明一實施例所繪示的執行長度映射表的示意圖。在圖7B所示實施例中,執行長度映射表的邏輯位址欄位為邏輯頁位址(logical page address)欄位,而執行長度映射表中的實體位址欄位包括實體塊位址(physical block address)欄位以及實體頁位址(physical page address)欄位。從圖6A的邏輯位址資訊可知重整資料的邏輯頁位址為連續,例如邏輯位址為n1~n1+4。並且,根據圖7A的實體位址資訊可知重整資料是位在同一個實體塊的多個連續頁面中,例如實體塊位址皆是為m1,而實體頁位址為k1~k1+4。記憶體控制器110可根據此重整資料的起始實體頁位址k1與終止實體頁位址k1+4而得知此重整資料的資料長度為5。
因此,記憶體控制器110在步驟S604會判斷圖7A所例舉的重整資料符合第一條件,所以記憶體控制器110在步驟S606將此重整資料的位址映射關係記錄在執行長度映射表中。例如圖7B所示,記憶體控制器110會將此重整資料的起始邏輯頁位址(在此例為n1)、實體塊位址(在此例為m1)、起始實體頁位址(在此例為k1)與資料長度(在此例為5)分別記錄在執行長度映射表中的邏輯頁位址欄位、實體塊位址欄位、實體頁位址欄位以及長度欄位。
另一方面,當圖6的步驟S604判斷第一條件不成立時,則記憶體控制器110會進行步驟S608。如步驟S608所示,記憶體 控制器110會將重整資料的所述多個邏輯位址與多個實體位址分別記錄在頁映射表(page mapping table)中的邏輯位址欄位與實體位址欄位。例如,圖7C是依照本發明一實施例所繪示的頁映射表的示意圖。在圖7C的頁映射表中,重整資料位在不同實體塊的非連續頁面中,其中邏輯位址欄位的邏輯頁位址欄位記錄了重整資料的邏輯頁位址為n1、n2、n3、n4與n5,實體位址欄位的實體塊位址欄位記錄了重整資料的實體塊位址為m1、m2、m3、m4與m5,而實體位址欄位的實體頁位址欄位記錄了重整資料的實體頁位址為k1、k2、k3、k4與k5。
另需說明的是,上述圖6的操作方法,不限定應用於重整資料的寫入操作。例如,當記憶體控制器110從主機10接收一資料寫入指令而對應地將一筆資料寫入非揮發性記憶體模組120後,記憶體控制器110也可根據上述圖6所示第一條件來進行判斷,以選擇利用執行長度映射表或者頁映射表來記錄資料的邏輯位址與實體位址的映射關係資訊。亦即,當記憶體控制器110將一筆資料寫入非揮發性記憶體模組120的至少一實體塊後,若圖6的步驟S604判斷第一條件成立,則記憶體控制器110會選擇利用執行長度映射表來記錄資料的邏輯位址與實體位址的映射關係資訊。然而,若圖6的步驟S604判斷第一條件不成立時,則記憶體控制器110會選擇利用頁映射表來記錄資料的邏輯位址與實體位址的映射關係資訊。
基於上述,本實施例的記憶體控制器110在將資料寫入 非揮發性記憶體模組120的至少一實體塊時,可透過執行長度映射表,來記錄具有連續邏輯位址且位在同一個實體塊的多個連續頁面中的重整資料,以有效儲存對應於重整資料的邏輯位址資訊以及實體位址資訊。藉此,映射表的資料量可以大幅減少。
值得一提的是,本實施例的非揮發性記憶體模組120可具有操作於單層記憶胞(Single Level Cell,SLC)模式的多個實體塊以及操作於三層記憶胞(Trinary Level Cell,TLC)模式的多個實體塊。在將資料寫入TLC模式實體塊的操作過程中,所述資料會被暫存於SLC模式的實體塊中,而不會直接寫入TLC模式實體塊。當在非揮發性記憶體模組120內操作於SLC實體塊之中的三個實體塊的所有頁面均被使用時,也就是所述三個SLC實體塊的暫存空間均被用盡時,所述三個SLC實體塊會進行重整,以將所述三個SLC實體塊的資料重整/搬移至非揮發性記憶體模組120內操作於TLC模式的實體塊中。在此,假設第一實體塊122與第二實體塊124是操作於TLC模式,則當非揮發性記憶體模組120內操作於SLC模式的實體塊之中的三個實體塊的所有頁面均被使用時,記憶體控制器110還可對所述三個SLC實體塊進行重整,以將所述三個SLC實體塊的資料重整至非揮發性記憶體模組120內操作於TLC模式的第一實體塊122或第二實體塊124中。底下再舉一實施例來進行說明。
圖8是依照本發明一實施例所繪示的操作方法流程圖。底下即搭配上述非揮發性記憶體裝置100來說明本實施例的操作 方法各步驟。請參照圖1與圖8,記憶體控制器110在步驟S801中將資料寫入操作於SLC模式的實體塊其中之一。於步驟S802,記憶體控制器110判斷是否需要將SLC實體塊的資料搬移至TLC實體塊。當在非揮發性記憶體模組120內操作於SLC模式的多個實體塊之中的三個實體塊的所有頁面均被使用時,也就是步驟S802的判斷結果為「SLC實體塊的資料需要搬移至TLC實體塊」,記憶體控制器110會接著進行步驟S803。在步驟S803中,記憶體控制器110依據一第二條件而決定對所述三個SLC實體塊進行「內部重整」或是「外部重整」,以將所述三個SLC實體塊的資料重整至非揮發性記憶體模組120內操作於TLC模式的實體塊中的一個擇定實體塊。反之,當所述三個SLC實體塊尚有頁面未被使用時,也就是步驟S802的判斷結果為「SLC實體塊的資料尚不需搬移至TLC實體塊」,記憶體控制器110會返回至步驟S801,以等待下一筆資料。
於圖8所示實施例中,步驟S803包含子步驟S804、S806與S808。於步驟S804,記憶體控制器110會判斷所述第二條件是否成立。此第二條件包括:非揮發性記憶體模組120內操作於TLC模式的實體塊中任一者的抹除(erasing)次數已達第一門檻值,或是非揮發性記憶體模組120內操作於TLC模式的實體塊中任一者的位元錯誤率已達第二門檻值。例如,非揮發性記憶體模組120可以記錄操作於TLC模式的實體塊的抹除次數。並且/或者,記憶體控制器110可以記錄這些TLC實體塊各自的位元錯誤率。例如, 當記憶體控制器110從TLC模式的實體塊中讀取資料時,可透過錯誤檢查與校正電路210對從TLC實體塊讀出的資料進行錯誤檢查與校正(請參照於圖2的相關說明),藉以獲得所述操作於TLC模式的實體塊的位元錯誤率。
當步驟S804判斷所述第二條件成立時,則非揮發性記憶體裝置100進行所述外部重整,以將操作於SLC模式的所述三個實體塊的資料重整至操作於TLC模式的所述擇定實體塊。所述外部重整如步驟S806所示。於步驟S806中,非揮發性記憶體模組120內的所述三個SLC實體塊的資料會被讀取至非揮發性記憶體模組120外部的記憶體控制器110,並由所述記憶體控制器110對所述三個SLC實體塊的資料進行糾錯(例如進行錯誤檢查與校正),以及將糾錯後的資料從所述記憶體控制器110寫入操作於TLC模式的所述擇定實體塊中(例如寫入第一實體塊122或第二實體塊124中)。具體而言,記憶體控制器110中的錯誤檢查與校正電路210(繪示於圖2)可對所述三個SLC實體塊的資料進行糾錯,並且經糾錯的資料寫入操作於TLC模式的第一實體塊122或第二實體塊124,以降低TLC實體塊中資料的位元錯誤率。在完成所述外部重整後,所述三個SLC實體塊中的資料會被抹除以釋放記憶體空間。
另一方面,當步驟S804判斷所述第二條件不成立時,則非揮發性記憶體裝置100進行所述內部重整,以將操作於SLC模式的所述三個實體塊的資料重整至操作於TLC模式的所述擇定實 體塊。與所述外部重整的差別在於,所述內部重整在將所述三個SLC實體塊的資料搬移至TLC實體塊的過程中並不會進行糾錯作業。所述內部重整如步驟S808所示。於步驟S808中,由非揮發性記憶體模組120內部的控制電路將所述三個SLC實體塊的資料重整至操作於TLC模式的的所述擇定實體塊中(例如寫入第一實體塊122或第二實體塊124中)。具體來說,非揮發性記憶體模組120內部的此控制電路可執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,以控制所述三個SLC實體塊中的資料重整所分別寫入的操作於TLC模式的第一實體塊122或第二實體塊124。也就是說,控制電路可根據預先設定的指令,以自動將資料重整寫入對應的操作於TLC模式的實體塊。藉此,當進行資料重整以將所述三個SLC實體塊中的資料寫入TLC模式的實體塊時,所述內部重整可具有較高的資料寫入速度。在完成所述內部重整後,所述三個SLC實體塊中的資料會被抹除以釋放記憶體空間。
基於上述,非揮發性記憶體裝置100在步驟S804中可根據第二條件的成立與否,判斷是否透過非揮發性記憶體模組120外部的記憶體控制器110來對非揮發性記憶體模組120進行資料重整作業,例如將所述三個SLC實體塊中的資料搬移至TLC模式的實體塊。在資料重整作業中,記憶體控制器110在步驟S806中可以對寫入於TLC實體塊的資料進行糾錯,以降低TLC實體塊中資料的位元錯誤率。或者,非揮發性記憶體裝置100在步驟S808中透過非揮發性記憶體模組120內部的控制電路將資料直接從原 本的實體塊搬移至TLC實體塊而不進行糾錯,以獲得較高的資料重整速度。藉此,本實施例可同時兼顧資料寫入的正確性以及資料寫入速度。
綜上所述,在本實施例的非揮發性記憶體裝置與其操作方法中,當在於斷電事件後再一次供電給非揮發性記憶體裝置時,記憶體控制器110會將已完成重整的第一重整資料從第一實體塊複製到已經過抹除程序的第二實體塊,並且將電源恢復供應後所重整的第二重整資料接續第一重整資料寫入第二實體塊。如此一來,若有斷電事件又再次恢復供電的情況,則記憶體控制器110可避免於同一實體頁重複寫入重整資料所造成的錯誤,藉以提高重整資料的正確性。此外,在本實施例的操作方法中,記憶體控制器110在將資料寫入非揮發性記憶體模組120的至少一實體塊時,可透過執行長度映射表,來記錄具有連續邏輯位址且位在同一個實體塊的多個連續頁面中的資料,以減少映射表的資料量。在本實施例另一操作方法可判斷是否透過非揮發性記憶體模組120外部的記憶體控制器110來對寫入非揮發性記憶體模組120內TLC實體塊的資料進行糾錯,或者透過非揮發性記憶體模組120內部的控制電路將資料直接從原本的實體塊搬移至TLC實體塊而不進行糾錯。藉此,本實施例可同時兼顧資料寫入的正確性以及資料寫入速度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的 精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S302~S308‧‧‧非揮發性記憶體裝置的操作方法各步驟

Claims (27)

  1. 一種非揮發性記憶體裝置的操作方法,其中該非揮發性記憶體裝置的一非揮發性記憶體模組包括一第一實體塊與一第二實體塊,該操作方法包括:對該非揮發性記憶體裝置進行重整,並將已完成重整的一第一重整資料寫入該第一實體塊的至少一第一頁面;在於一斷電事件後再一次供電給該非揮發性記憶體裝置時,對該第二實體塊進行一抹除程序;在該抹除程序完成後,將該第一實體塊在該斷電事件之前所寫入的該第一重整資料,複製到該第二實體塊的至少一第二頁面上,其中所述至少一第二頁面對應於所述至少一第一頁面;以及繼續對該非揮發性記憶體裝置進行重整,並將再一次供電給該非揮發性記憶體裝置之後所繼續重整的一第二重整資料,寫入該第二實體塊。
  2. 如申請專利範圍第1項所述的操作方法,其中在將該第一實體塊在該斷電事件之前所寫入的該第一重整資料,複製到該第二實體塊的該些第二頁面上的步驟包括:取得在該斷電事件之前已完整寫入該第一實體塊的該第一重整資料,並將該第一重整資料複製到該第二實體塊的該些第二頁面上。
  3. 如申請專利範圍第1項所述的操作方法,其中在對該非揮發性記憶體裝置進行重整,並將已完成重整的該第一重整資料寫入該第一實體塊的該些第一頁面的步驟包括:提 供一信息表,用以記錄至少一實體位址信息,該些實體位址信息分別指出該第一實體塊的該些第一頁面的多個第一實體位址;以及在繼續對該非揮發性記憶體裝置進行重整,並將所述再一次供電給該非揮發性記憶體裝置之後所重整的該第二重整資料,寫入該第二實體塊的步驟包括:更新該信息表的該些實體位址信息,使該些實體位址信息分別從指出該些第一實體位址,改成指出該第二實體塊的該些第二頁面的多個第二實體位址。
  4. 如申請專利範圍第1項所述的操作方法,其中該斷電事件造成該第一實體塊的至少二該第一頁面的資料錯誤,而具有錯誤資料的該些頁面對應同一記憶胞。
  5. 如申請專利範圍第1項所述的操作方法,其中所述將已完成重整的該第一重整資料寫入該第一實體塊的至少一第一頁面的步驟包括:將該第一重整資料寫入該第一實體塊中;判斷一條件是否成立,其中該條件包括該第一重整資料的多個邏輯位址為連續且該第一重整資料位在同一個實體塊的多個連續頁面中;以及當該條件成立時,將該第一重整資料的起始邏輯位址、該第一重整資料的起始實體位址與該第一重整資料的資料長度分別記錄在一執行長度映射表中的一邏輯位址欄位、一實體位址欄位以及一長度欄位。
  6. 如申請專利範圍第5項所述的操作方法,其中該執行長度映射表中的該邏輯位址欄位為一邏輯頁位址欄位,該執行長度映射表中的該實體位址欄位包括一實體塊位址欄位以及一實體頁位址欄位。
  7. 如申請專利範圍第5項所述的操作方法,其中所述將已完成重整的該第一重整資料寫入該第一實體塊的至少一第一頁面的步驟更包括:當該條件不成立時,將該第一重整資料的所述多個邏輯位址與該第一重整資料的多個實體位址分別記錄在一頁映射表中的一邏輯位址欄位與一實體位址欄位。
  8. 如申請專利範圍第1項所述的操作方法,更包括:當在該非揮發性記憶體模組內操作於單層記憶胞模式的多個實體塊之中的三個實體塊的所有頁面均被使用時,對所述三個實體塊進行重整,以將所述三個實體塊的資料重整至該非揮發性記憶體模組內操作於三層記憶胞模式的該第一實體塊或該第二實體塊中。
  9. 如申請專利範圍第8項所述的操作方法,其中對所述三個實體塊進行重整之步驟包括:判斷一條件是否成立,其中該條件包括該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的抹除次數已達一第一門檻值,或是該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的位元錯誤率已達一第二門檻值;以及 當該條件成立時,讀取所述三個實體塊的資料至該非揮發性記憶體模組外部的一記憶體控制器,由所述記憶體控制器對所述三個實體塊的資料進行糾錯,以及將糾錯後的資料從所述記憶體控制器寫入操作於三層記憶胞模式的該第一實體塊或該第二實體塊中。
  10. 如申請專利範圍第8項所述的操作方法,其中對所述三個實體塊進行重整之步驟更包括:判斷一條件是否成立,其中該條件包括該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的抹除次數已達一第一門檻值,或是該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的位元錯誤率已達一第二門檻值;以及當該條件不成立時,由該非揮發性記憶體模組內部的一控制電路將所述三個實體塊的資料重整至操作於三層記憶胞模式的該第一實體塊或該第二實體塊中。
  11. 一種非揮發性記憶體裝置,包括:一非揮發性記憶體模組,包括一第一實體塊與一第二實體塊,其中該第一實體塊具有至少一第一頁面,該第二實體塊具有至少一第二頁面;以及一記憶體控制器,耦接於該非揮發性記憶體模組,其中當該記憶體控制器對該非揮發性記憶體裝置進行重整時,該記憶體控制器將已完成重整的一第一重整資料寫入該第一實體塊的所述至少一第一頁面,而在於一斷電事件後再一次供電給該非揮發性記 憶體裝置時,該記憶體控制器對該第二實體塊進行一抹除程序,並在該抹除程序完成後將該第一實體塊在該斷電事件之前所寫入的該第一重整資料複製到該第二實體塊的所述至少一第二頁面上,其中所述至少一第二頁面對應於所述至少一第一頁面,以及該記憶體控制器繼續對該非揮發性記憶體裝置進行重整,並將再一次供電給該非揮發性記憶體裝置之後所繼續重整的一第二重整資料寫入該第二實體塊。
  12. 如申請專利範圍第11項所述的非揮發性記憶體裝置,其中該記憶體控制器取得在該斷電事件之前已完整寫入該第一實體塊的該第一重整資料,並將該第一重整資料複製到該第二實體塊的該些第二頁面上。
  13. 如申請專利範圍第11項所述的非揮發性記憶體裝置,其中該記憶體控制器依據一信息表,記錄至少一實體位址信息,該些實體位址信息分別指出該第一實體塊的該些第一頁面的多個第一實體位址,以及該記憶體控制器更新該信息表的該些實體位址信息,使該些實體位址信息分別從指出該些第一實體位址,改成指出該第二實體塊的該些第二頁面的多個第二實體位址。
  14. 如申請專利範圍第11項所述的非揮發性記憶體裝置,其中該斷電事件造成該第一實體塊的至少二該第一頁面的資料錯誤,而具有錯誤資料的該些頁面對應同一記憶胞。
  15. 如申請專利範圍第11項所述的非揮發性記憶體裝置,其中該記憶體控制器將該第一重整資料寫入該第一實體塊中,並判 斷一條件是否成立,其中該條件包括該第一重整資料的多個邏輯位址為連續且該第一重整資料位在同一個實體塊的多個連續頁面中;以及當該條件成立時,該記憶體控制器將該第一重整資料的起始邏輯位址、該第一重整資料的起始實體位址與該第一重整資料的資料長度分別記錄在一執行長度映射表中的一邏輯位址欄位、一實體位址欄位以及一長度欄位。
  16. 如申請專利範圍第15項所述的非揮發性記憶體裝置,其中該執行長度映射表中的該邏輯位址欄位為一邏輯頁位址欄位,該執行長度映射表中的該實體位址欄位包括一實體塊位址欄位以及一實體頁位址欄位。
  17. 如申請專利範圍第15項所述的非揮發性記憶體裝置,其中當該條件不成立時,該記憶體控制器將該第一重整資料的所述多個邏輯位址與該第一重整資料的多個實體位址分別記錄在一頁映射表中的一邏輯位址欄位與一實體位址欄位。
  18. 如申請專利範圍第11項所述的非揮發性記憶體裝置,更包括:當在該非揮發性記憶體模組內操作於單層記憶胞模式的多個實體塊之中的三個實體塊的所有頁面均被使用時,該記憶體控制器對所述三個實體塊進行重整,以將所述三個實體塊的資料重整至該非揮發性記憶體模組內操作於三層記憶胞模式的該第一實體塊或該第二實體塊中。
  19. 如申請專利範圍第18項所述的非揮發性記憶體裝置,其 中該記憶體控制器判斷一條件是否成立,其中該條件包括該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的抹除次數已達一第一門檻值,或是該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的位元錯誤率已達一第二門檻值,以及當該條件成立時,該記憶體控制器讀取所述三個實體塊的資料至該非揮發性記憶體模組外部的一控制器,由所述控制器對所述三個實體塊的資料進行糾錯,以及將糾錯後的資料從所述控制器寫入操作於三層記憶胞模式的該第一實體塊或該第二實體塊中。
  20. 如申請專利範圍第18項所述的非揮發性記憶體裝置,其中該記憶體控制器判斷一條件是否成立,其中該條件包括該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的抹除次數已達一第一門檻值,或是該非揮發性記憶體模組內操作於三層記憶胞模式的實體塊中任一者的位元錯誤率已達一第二門檻值,以及當該條件不成立時,由該非揮發性記憶體模組內部的一控制電路將所述三個實體塊的資料重整至操作於三層記憶胞模式的該第一實體塊或該第二實體塊中。
  21. 一種非揮發性記憶體裝置的操作方法,該非揮發性記憶體裝置的一非揮發性記憶體模組包括至少一實體塊,該操作方法包括:將一資料寫入所述至少一實體塊中;判斷一條件是否成立,其中該條件包括該資料的多個邏輯位 址為連續且該資料位在同一個實體塊的多個連續頁面中;以及當該條件成立時,將該資料的起始邏輯位址、該資料的起始實體位址與該資料的資料長度分別記錄在一執行長度映射表中的一邏輯位址欄位、一實體位址欄位以及一長度欄位。
  22. 如申請專利範圍第21項所述的操作方法,其中該執行長度映射表中的該邏輯位址欄位為一邏輯頁位址欄位,該執行長度映射表中的該實體位址欄位包括一實體塊位址欄位以及一實體頁位址欄位。
  23. 如申請專利範圍第21項所述的操作方法,更包括:當該條件不成立時,將該資料的所述多個邏輯位址與該資料的多個實體位址分別記錄在一頁映射表中的一邏輯位址欄位與一實體位址欄位。
  24. 一種非揮發性記憶體裝置的操作方法,該非揮發性記憶體裝置的一非揮發性記憶體模組包括多個操作於單層記憶胞模式的實體塊以及多個操作於三層記憶胞模式的實體塊,該操作方法包括:將一資料寫入該些操作於單層記憶胞模式的實體塊其中之一;以及當在該非揮發性記憶體模組內該些操作於單層記憶胞模式的實體塊之中的三個實體塊的所有頁面均被使用時,依據一條件而決定對所述三個實體塊進行一內部重整或是一外部重整,以將所述三個實體塊的資料重整至該非揮發性記憶體模組內操作於三層 記憶胞模式的該些實體塊中的一擇定實體塊。
  25. 如申請專利範圍第24項所述的操作方法,其中該條件包括該非揮發性記憶體模組內該些操作於三層記憶胞模式的實體塊中任一者的抹除次數已達一第一門檻值,或是該非揮發性記憶體模組內該些操作於三層記憶胞模式的實體塊中任一者的位元錯誤率已達一第二門檻值。
  26. 如申請專利範圍第24項所述的操作方法,其中當該條件成立時,進行所述外部重整以將操作於單層記憶胞模式的所述三個實體塊的資料重整至操作於三層記憶胞模式的所述擇定實體塊;以及所述外部重整包括:讀取操作於單層記憶胞模式的所述三個實體塊的資料至該非揮發性記憶體模組外部的一記憶體控制器;透過該記憶體控制器對該些操作於單層記憶胞模式的所述三個實體塊的資料進行糾錯;以及將糾錯後的資料從該記憶體控制器寫入操作於三層記憶胞模式的所述擇定實體塊中。
  27. 如申請專利範圍第24項所述的操作方法,其中當該條件不成立時,進行所述內部重整以將操作於單層記憶胞模式的所述三個實體塊的資料重整至操作於三層記憶胞模式的所述擇定實體塊;以及所述內部重整包括:由該非揮發性記憶體模組內部的一控制電路將操作於單層記憶胞模式的所述三個實體塊的資料寫入至操作於三層記憶胞模式的所述擇定實體塊中。
TW102140173A 2013-11-05 2013-11-05 非揮發性記憶體裝置及其操作方法 TWI520153B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW102140173A TWI520153B (zh) 2013-11-05 2013-11-05 非揮發性記憶體裝置及其操作方法
CN201410016156.9A CN103699344B (zh) 2013-11-05 2014-01-14 非易失性存储器装置及其操作方法
CN201610114822.1A CN105786411B (zh) 2013-11-05 2014-01-14 非易失性存储器装置的操作方法
CN201610115166.7A CN105786412B (zh) 2013-11-05 2014-01-14 非易失性存储器装置的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102140173A TWI520153B (zh) 2013-11-05 2013-11-05 非揮發性記憶體裝置及其操作方法

Publications (2)

Publication Number Publication Date
TW201519251A true TW201519251A (zh) 2015-05-16
TWI520153B TWI520153B (zh) 2016-02-01

Family

ID=50360885

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102140173A TWI520153B (zh) 2013-11-05 2013-11-05 非揮發性記憶體裝置及其操作方法

Country Status (2)

Country Link
CN (3) CN105786411B (zh)
TW (1) TWI520153B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI569139B (zh) * 2015-08-07 2017-02-01 群聯電子股份有限公司 有效資料合併方法、記憶體控制器與記憶體儲存裝置
TWI657339B (zh) * 2017-06-25 2019-04-21 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
US10866751B2 (en) 2017-06-25 2020-12-15 Silicon Motion, Inc. Method for managing flash memory module and associated flash memory controller

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10025531B2 (en) * 2015-09-10 2018-07-17 HoneycombData Inc. Reducing read command latency in storage devices
US10203888B2 (en) * 2015-12-18 2019-02-12 Intel Corporation Technologies for performing a data copy operation on a data storage device with a power-fail-safe data structure
US10223198B2 (en) * 2016-02-18 2019-03-05 Micron Technology, Inc. Error rate reduction
CN105892946A (zh) * 2016-03-30 2016-08-24 联想(北京)有限公司 一种数据存储方法及电子设备
TWI614605B (zh) * 2016-03-31 2018-02-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR20180041428A (ko) * 2016-10-14 2018-04-24 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그의 동작 방법
KR20180058894A (ko) * 2016-11-24 2018-06-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN108572786B (zh) * 2017-03-09 2021-06-29 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
CN108572920B (zh) 2017-03-09 2022-04-12 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
CN109542335B (zh) 2017-09-22 2022-04-01 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
TWI726475B (zh) * 2017-09-22 2021-05-01 慧榮科技股份有限公司 快閃記憶體的資料內部搬移方法以及使用該方法的裝置
CN108052410B (zh) * 2017-12-20 2021-04-13 北京兆易创新科技股份有限公司 一种防止SPI-Nand读取数据页出错的方法及装置
CN110008059B (zh) * 2019-02-20 2021-05-11 深圳市汇顶科技股份有限公司 非易失性存储介质的数据更新方法、装置及存储介质
CN111949565A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
CN112015708B (zh) * 2020-10-30 2021-02-19 北京金山云网络技术有限公司 一种分布式存储系统数据均衡的方法和相关装置
CN114993540A (zh) * 2022-08-02 2022-09-02 国网江西省电力有限公司建设分公司 张力传感器数据采集保护与存储装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336590A (zh) * 2000-07-27 2002-02-20 乔工科技股份有限公司 有缺陷的挥发性内存重新格式化的方法及其装置
CN1173272C (zh) * 2000-09-12 2004-10-27 财团法人资讯工业策进会 多重可变地址映射电路
US20030225962A1 (en) * 2002-05-31 2003-12-04 Hitachi, Ltd. Memory card and memory card system
CN101408864B (zh) * 2007-10-09 2011-08-24 群联电子股份有限公司 用于断电时的数据保护方法及使用此方法的控制器
CN101464836B (zh) * 2007-12-20 2010-10-20 宇瞻科技股份有限公司 闪存储存装置的数据储存方法
CN101667157A (zh) * 2008-09-04 2010-03-10 群联电子股份有限公司 闪存数据传输方法、闪存储存系统及控制器
US20110252187A1 (en) * 2010-04-07 2011-10-13 Avigdor Segal System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory
TWI442222B (zh) * 2010-07-21 2014-06-21 Silicon Motion Inc 快閃記憶裝置與快閃記憶裝置管理方法
EP2413329B1 (en) * 2010-07-28 2014-03-26 Fujitsu Semiconductor Europe GmbH Electronic apparatuses
CN102005245B (zh) * 2010-11-30 2015-07-22 公安部第三研究所 一种智能卡擦写保护方法
CN102566937A (zh) * 2010-12-30 2012-07-11 慧荣科技股份有限公司 快闪存储装置及其运作方法
CN102279803A (zh) * 2011-04-13 2011-12-14 西安交通大学 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法
US8577840B2 (en) * 2012-01-03 2013-11-05 International Business Machines Corporation Replication of data sets
CN103176920A (zh) * 2013-03-26 2013-06-26 杭州华三通信技术有限公司 Nor flash掉电保护方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI569139B (zh) * 2015-08-07 2017-02-01 群聯電子股份有限公司 有效資料合併方法、記憶體控制器與記憶體儲存裝置
TWI657339B (zh) * 2017-06-25 2019-04-21 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
US10866751B2 (en) 2017-06-25 2020-12-15 Silicon Motion, Inc. Method for managing flash memory module and associated flash memory controller

Also Published As

Publication number Publication date
TWI520153B (zh) 2016-02-01
CN105786411B (zh) 2019-04-09
CN103699344A (zh) 2014-04-02
CN105786412A (zh) 2016-07-20
CN105786411A (zh) 2016-07-20
CN105786412B (zh) 2019-04-19
CN103699344B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
TWI520153B (zh) 非揮發性記憶體裝置及其操作方法
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
TWI585778B (zh) 非揮發性記憶體裝置的操作方法
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
US8386905B2 (en) Error correcting method, and memory controller and memory storage system using the same
US9122498B2 (en) Firmware code loading method, memory controller and memory storage apparatus
TWI490871B (zh) 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
TWI476590B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TW201339958A (zh) 記憶體控制器、記憶體儲存裝置與資料寫入方法
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI606458B (zh) 非揮發性記憶體裝置的操作方法
TWI516934B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI564901B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI622044B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI814501B (zh) 映射表重建方法、記憶體儲存裝置及記憶體控制電路單元
TWI813362B (zh) 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元
CN112527184A (zh) 数据管理方法、存储器控制电路单元以及存储器存储装置