TWI785571B - 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 - Google Patents

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

Info

Publication number
TWI785571B
TWI785571B TW110114441A TW110114441A TWI785571B TW I785571 B TWI785571 B TW I785571B TW 110114441 A TW110114441 A TW 110114441A TW 110114441 A TW110114441 A TW 110114441A TW I785571 B TWI785571 B TW I785571B
Authority
TW
Taiwan
Prior art keywords
power
state
abnormal
physical
memory
Prior art date
Application number
TW110114441A
Other languages
English (en)
Other versions
TW202242662A (zh
Inventor
國榮 陳
Original Assignee
群聯電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 群聯電子股份有限公司 filed Critical 群聯電子股份有限公司
Priority to TW110114441A priority Critical patent/TWI785571B/zh
Priority to US17/337,428 priority patent/US11609822B2/en
Publication of TW202242662A publication Critical patent/TW202242662A/zh
Application granted granted Critical
Publication of TWI785571B publication Critical patent/TWI785571B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)

Abstract

一種資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置。所述方法包括:在所述記憶體儲存裝置重新上電時,根據斷電指令判斷所述記憶體儲存裝置的斷電狀態是否符合異常斷電狀態;以及在判定所述斷電狀態符合所述異常斷電狀態時,使用單頁程式化模式且不使用多頁程式化模式將資料寫入至多個實體程式化單元。

Description

資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置
本發明是有關於一種資料儲存技術,且特別是有關於一種資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory module)(例如,快閃記憶體)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
一般來說,一個可複寫式非揮發性記憶體會具有多個實體抹除單元,而此些實體抹除單元中的每一個實體抹除單元是由多個實體程式化單元所組成。在生產具有可複寫式非揮發性記憶體的記憶體儲存裝置之前,記憶體儲存裝置的製造商(或可複寫式非揮發性記憶體的供應商)需對可複寫式非揮發性記憶體進行斷電測試以確保斷電保護能起作用。需注意的是,在測試的過程中,需反覆地對可複寫式非揮發性記憶體進行程式化或抹除的操作。現今可複寫式非揮發性記憶體(例如,3D 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具有實體抹除單元410(0)~410(N)。例如,實體抹除單元410(0)~410(N)可屬於同一個記憶體晶粒(die)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,其中屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含8個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面(physical page)或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個資料位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個資料位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell, TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5A與圖5B是根據一範例實施例所繪示的記憶胞儲存架構與實體抹除單元的範例示意圖。
請參照圖5A,可複寫式非揮發性記憶體模組406的每個記憶胞的儲存狀態可被識別為“111”、“110”、“101”、“100”、“011”、“010”、“001”或“000”(如圖5A所示),其中左側算起之第1個位元為最低有效位元(Least Significant Bit, LSB)、從左側算起之第2個位元為中間有效位元(Central Significant Bit, CSB)以及從左側算起之第3個位元為最高有效位元(Most Significant Bit, MSB)。此外,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。
請參照圖5B,一個實體抹除單元是由多個實體程式化單元組所組成,其中每個實體程式化單元組包括由排列在同一條字元線上的數個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元。例如,在實體抹除單元中,屬於下實體程式化單元的第0個實體程式化單元、屬於中實體程式化單元的第1個實體程式化單元和屬於上實體程式化單元的第2個實體程式化單元會被視為一個實體程式化單元組。類似地,第3、4、5個實體程式化單元會被視為一個實體程式化單元組,並且以此類推其他實體程式化單元亦是依據此方式被區分為多個實體程式化單元組。也就是說,在圖5B的範例實施例中,實體抹除單元總共有258個實體程式化單元,且由於排列在同一條字元線上的數個記憶胞所組成的下實體程式化單元、中實體程式化單元與上實體程式化單元會組成一個實體程式化單元組,故圖5B的實體抹除單元總共可以分成86個實體程式化單元組。然而需注意的是,本發明並不用於限定實體抹除單元中的實體程式化單元或實體程式化單元組的個數。
圖6是根據一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖6,記憶體控制電路單元404包括記憶體管理電路502、主機介面504、記憶體介面506、緩衝記憶體508、電源管理電路510與錯誤檢查與校正電路512。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
圖7與圖8是根據一範例實施例所繪示的管理實體抹除單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以「提取」、「分組」、「劃分」、「關聯」等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖7,記憶體管理電路502會將實體抹除單元410(0)~410(N)邏輯地分組為資料區602、閒置區604、系統區606與取代區608。
邏輯上屬於資料區602與閒置區604的實體抹除單元是用以儲存來自於主機系統11的資料。具體來說,資料區602的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區604的實體抹除單元是用以替換資料區602的實體抹除單元。也就是說,當從主機系統11接收到寫入指令與欲寫入之資料時,記憶體管理電路502會使用從閒置區604中提取實體抹除單元來寫入資料,以替換資料區602的實體抹除單元。
邏輯上屬於系統區606的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區608中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區608中仍存有正常之實體抹除單元並且資料區602的實體抹除單元損壞時,記憶體管理電路502會從取代區608中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區602、閒置區604、系統區606與取代區608之實體抹除單元的數量會根據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至資料區602、閒置區604、系統區606與取代區608的分組關係會動態地變動。例如,當閒置區604中的實體抹除單元損壞而被取代區608的實體抹除單元取代時,則原本取代區608的實體抹除單元會被關聯至閒置區604。
請參照圖8,記憶體管理電路502會配置邏輯區塊位址LBA(0)~LBA(H)以映射資料區602的實體抹除單元,其中每一邏輯區塊位址具有多個邏輯位址以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統11欲寫入資料至邏輯位址或更新儲存於邏輯位址中的資料時,記憶體管理電路502會從閒置區604中提取一個實體抹除單元作為作動實體抹除單元來寫入資料,以輪替資料區602的實體抹除單元。並且,當此作為作動實體抹除單元的實體抹除單元被寫滿時,記憶體管理電路502會再從閒置區604中提取空的實體抹除單元作為作動實體抹除單元,以繼續寫入對應來自於主機系統11之寫入指令的更新資料。此外,當閒置區604中可用的實體抹除單元的數目小於預設值時,記憶體管理電路502會執行垃圾蒐集(garbage collection)操作(亦稱為,有效資料合併操作)來整理資料區602中的有效資料,以將資料區602中無儲存有效資料的實體抹除單元重新關聯至閒置區604。
為了識別每個邏輯位址的資料被儲存在哪個實體程式化單元,在本範例實施例中,記憶體管理電路502會記錄邏輯位址與實體程式化單元之間的映射關係。例如,在本範例實施例中,記憶體管理電路502會在可複寫式非揮發性記憶體模組406中儲存邏輯至實體映射表來記錄每一邏輯位址所映射的實體程式化單元。當欲存取資料時,記憶體管理電路502會將邏輯至實體映射表載入至緩衝記憶體508來維護,並且依據邏輯至實體映射表來寫入或讀取資料。
值得一提的是,由於緩衝記憶體508的容量有限無法儲存記錄所有邏輯位址之映射關係的映射表,因此,在本範例實施例中,記憶體管理電路502會將邏輯區塊位址LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯至實體映射表。特別是,當記憶體管理電路502欲更新某個邏輯區塊位址的映射時,對應此邏輯區塊位址所屬之邏輯區域的邏輯至實體映射表會被載入至緩衝記憶體508來被更新。具體來說,若對應此邏輯區塊位址所屬之邏輯區域的邏輯至實體映射表未被暫存在緩衝記憶體508中(即,緩衝記憶體508中所暫存的邏輯至實體映射表未記錄欲更新之邏輯區塊位址的映射時),記憶體管理電路502會執行映射表交換操作(mapping table swapping operation)以將目前暫存在緩衝記憶體508中邏輯至實體映射表回存至可複寫式非揮發性記憶體模組406,並且將記錄有欲更新之邏輯區塊位址所映射的邏輯至實體映射表載入至緩衝記憶體508中。
需注意的是,在一範例實施例中,主機系統11可具備為記憶體儲存裝置10提供主機記憶體緩衝區(host memory buffer, HMB)的功能,並且主機記憶體緩衝區用於儲存上述邏輯至實體映射表。在本範例實施例中,記憶體儲存裝置10可以不具有動態隨機存取記憶體(DRAM-Less),而使用主機系統11提供的主機記憶體緩衝區取代緩衝記憶體508來暫存邏輯至實體映射表。
在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
請再參照圖6,主機介面504是耦接至記憶體管理電路502並且用以耦接至連接介面單元402,以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面504來傳送至記憶體管理電路502。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、UHS-I介面標準 、UHS-II介面標準、SD標準 、MS標準、MMC標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。
緩衝記憶體508是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的暫存資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。
電源管理電路510是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
錯誤檢查與校正電路512是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正程序以確保資料的正確性。例如,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路512會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code, ECC Code),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路512會根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
值得一提的是,在本範例實施例中,記憶體管理電路502可使用不同的程式化模式來將資料程式化至可複寫式非揮發性記憶體模組406。例如,記憶體管理電路502可使用單頁程式化模式或多頁程式化模式來將資料程式化至實體抹除單元。在此,基於單頁程式化模式來程式化記憶胞之程式化速度會高於基於多頁程式化模式來程式化記憶胞之程式化速度(即,使用多頁程式化模式來程式化資料的所需操作時間大於使用單頁程式化模式來程式化資料的所需操作時間),而基於單頁程式化模式而被儲存之資料的可靠度也往往高於基於多頁程式化模式而被儲存之資料的可靠度。
單頁程式化模式例如是單階記憶胞(single layer memory cell, SLC)程式化模式、下實體程式化(lower physical programming)模式、混合程式化(mixture programming)模式及少階記憶胞(less layer memory cell)程式化模式的其中之一。更詳細來說,在單階記憶胞模式中,一個記憶胞只儲存一個位元的資料。在下實體程式化模式中,只有下實體程式化單元會被程式化,而此下實體程式化單元所對應之上實體程式化單元可不被程式化。在混合程式化模式中,有效資料(或,真實資料)會被程式化於下實體程式化單元中,而同時虛擬資料(dummy data)會被程式化至儲存有效資料之下實體程式化單元所對應的上實體程式化單元中。在少階記憶胞模式中,一個記憶胞儲存一第一數目之位元的資料,例如,此第一數目可設為“1”。
多頁程式化模式例如是多階記憶胞(MLC)程式化模式、三階(TLC)記憶胞程式化模式或類似模式。在多頁程式化模式中,一個記憶胞儲存有一第二數目之位元的資料,其中此第二數目等於或大於“2”。例如,此第二數目可設為2或3。舉例來說,當使用三階(TLC)記憶胞程式化模式來寫入資料時,記憶體管理電路502會對一個實體程式化單元組的下實體程式化單元、中實體程式化單元與上實體程式化單元執行程式化。
換句話說,構成第一類實體抹除單元的每一個記憶胞在使用單頁程式化模式程式化後所儲存的位元資料的數目(亦即第一數目)會小於構成第二類實體抹除單元的每一個記憶胞在使用多頁程式化模式程式化後所儲存的位元資料的數目(亦即第二數目)。基於上述,使用多頁程式化模式程式化的記憶胞所儲存的資料位元數大於使用單頁程式化模式程式化的記憶胞所儲存的資料位元數,因此,使用多頁程式化模式所程式化的實體抹除單元的資料容量會大於使用單頁程式化模式。
在一範例實施例中,記憶體管理電路502在記憶體儲存裝置10重新上電時,會根據斷電指令判斷記憶體儲存裝置10的斷電狀態是否符合異常斷電狀態。例如,記憶體管理電路502可根據斷電指令判斷在記憶體儲存裝置10斷電時發生正常斷電或異常斷電(unexpected power loss),並記錄發生正常斷電或異常斷電以產生斷電資訊。在本範例實施例中,系統正常斷電時,記憶體儲存裝置10會接收到來自主機系統11的斷電指令。於此,若記憶體儲存裝置10斷電後重新上電時記憶體管理電路502未偵測到斷電指令,則可判定斷電時記憶體儲存裝置10發生異常斷電。若記憶體儲存裝置10斷電後重新上電時記憶體管理電路502偵測到斷電指令,則可判定斷電時記憶體儲存裝置10發生正常斷電。在此情況下,記憶體管理電路502會記錄發生正常斷電及/或異常斷電的資訊並產生斷電資訊,並根據斷電資訊判斷記憶體儲存裝置10的斷電狀態是否符合異常斷電狀態。其中,斷電資訊可反映發生多次斷電時發生異常斷電的頻率或相對次數。
具體來說,記憶體管理電路502記錄的斷電資訊可包括記憶體儲存裝置10發生斷電的時間,以及計數記憶體儲存裝置10發生斷電的次數等資訊,本發明不在此限制。其中,發生斷電的時間例如包括發生正常斷電的時間與發生異常斷電的時間,發生斷電的次數例如包括發生正常斷電的次數與發生異常斷電的次數。
在一範例實施例中,若記憶體儲存裝置10在一預設時間內連續發生異常斷電的次數大於一預設次數閾值(亦稱為,第一閾值),則記憶體管理電路502判定符合異常斷電狀態。
在另一範例實施例中,若記憶體儲存裝置10發生斷電的次數中,發生異常斷電的比例大於一預設比例閾值(亦稱為,第二閾值),則記憶體管理電路502判定符合異常斷電狀態。
在又一範例實施例中,若記憶體儲存裝置10連續發生一預設次數的異常斷電,且前後兩次異常斷電之間的間隔時間皆小於一預設時間閾值(亦稱為,第三閾值),則記憶體管理電路502判定符合異常斷電狀態。
在上述範例實施例中,預設時間、預設次數閾值、預設比例閾值、預設次數及預設時間閾值等資訊可由專業人員經由一連串的事先測試與分析而產生,並將其保存於可複寫式非揮發性記憶體模組406之中,本發明不在此限制。
在記憶體管理電路502判定記憶體儲存裝置10的斷電狀態符合異常斷電狀態時,記憶體管理電路502使用單頁程式化模式且不使用多頁程式化模式將資料寫入至實體程式化單元。另一方面,在記憶體管理電路502判定記憶體儲存裝置10的斷電狀態不符合異常斷電狀態時,記憶體管理電路502可使用單頁程式化模式或多頁程式化模式將資料寫入至實體程式化單元。
在一範例實施例中,若判定記憶體儲存裝置10的斷電狀態符合異常斷電狀態,記憶體管理電路502還判斷記憶體儲存裝置10前次斷電時是否偵測到斷電指令。若未偵測到斷電指令,可判定前次斷電時記憶體儲存裝置10發生異常斷電。在此情況下,記憶體管理電路502執行斷電恢復(sudden power-off recovery,SPOR)操作。在執行斷電恢復操作時,使用單頁程式化模式將發生異常斷電前最後一個被寫入資料的實體抹除單元(亦稱為,第一實體抹除單元)中儲存的資料(亦稱為,第一資料)複製至另一個實體抹除單元(亦稱為,第二實體抹除單元)。並且在執行斷電恢復操作時,記憶體管理電路502可在邏輯至實體映射表中重建/更新第一資料對應的邏輯位址與第二實體抹除單元包括的實體程式化單元之間的映射資訊,以反映第一資料已被複製(搬移)至第二實體抹除單元進行儲存。然而,上述有關重建/更新邏輯至實體映射表的技術概念為本領域技術人員所熟知的技術手段,於此不再贅述。
在一範例實施例中,當記憶體管理電路502偵測到記憶體儲存裝置10重新上電且斷電狀態符合異常斷電狀態後,接收來自主機系統11的指令(亦稱為,第一指令)。其中第一指令可包括寫入指令或其他會指示記憶體管理電路502進行資料寫入的指令。在接收第一指令後,記憶體管理電路502使用單頁程式化模式將對應第一指令的資料寫入至實體程式化單元。
圖9是根據一範例實施例所繪示的資料儲存方法的流程圖。
請參照圖9,在步驟S902中,記憶體儲存裝置重新上電。在步驟S904中,根據斷電指令判斷記憶體儲存裝置的斷電狀態是否符合異常斷電狀態。若判斷符合異常斷電狀態(即,步驟S904判斷為「是」),在步驟S906中,使用單頁程式化模式且不使用多頁程式化模式將資料寫入至實體程式化單元。若判斷不符合異常斷電狀態(即,步驟S904判斷為「否」),在步驟S908中,使用單頁程式化模式或多頁程式化模式將資料寫入至實體程式化單元。
然而,圖9中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖9中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖9的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明實施例提供的資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置,能夠在偵測到符合異常斷電狀態時使用單頁程式化模式寫入資料。此外,本發明實施例在前次斷電為異常斷電時,還可使用單頁程式化模式複製資料及重建/更新邏輯至實體映射表。如此一來,可減少執行斷電恢復操作的時間。基此,可減少異常斷電的恢復時間,並提升記憶體儲存裝置運作效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10, 30: 記憶體儲存裝置 11, 31: 主機系統 12: 輸入/輸出(I/O)裝置 110: 系統匯流排 111: 處理器 112: 隨機存取記憶體(RAM) 113: 唯讀記憶體(ROM) 114: 資料傳輸介面 20: 主機板 201: 隨身碟 202: 記憶卡 203: 固態硬碟 204: 無線記憶體儲存裝置 205: 全球定位系統模組 206: 網路介面卡 207: 無線傳輸裝置 208: 鍵盤 209: 螢幕 210: 喇叭 32: SD卡 33: CF卡 34: 嵌入式儲存裝置 341: 嵌入式多媒體卡 342: 嵌入式多晶片封裝儲存裝置 402: 連接介面單元 404: 記憶體控制電路單元 406: 可複寫式非揮發性記憶體模組 410(0)~410(N): 實體抹除單元 502: 記憶體管理電路 504: 主機介面 506: 記憶體介面 508: 緩衝記憶體 510: 電源管理電路 512: 錯誤檢查與校正電路 602: 資料區 604: 閒置區 606: 系統區 608: 取代區 LBA(0)~LBA(H): 邏輯區塊位址 LZ(0)~LZ(M): 邏輯區域 S902: 步驟(記憶體儲存裝置重新上電) S904: 步驟(根據斷電指令判斷記憶體儲存裝置的斷電狀態是否符合異常斷電狀態) S906: 步驟(使用單頁程式化模式且不使用多頁程式化模式將資料寫入至實體程式化單元) S908: 步驟(使用單頁程式化模式或多頁程式化模式將資料寫入至實體程式化單元)
圖1是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖3是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。 圖5A與圖5B是根據一範例實施例所繪示的記憶胞儲存架構與實體抹除單元的範例示意圖。 圖6是根據一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖7與圖8是根據一範例實施例所繪示的管理實體抹除單元的範例示意圖。 圖9是根據一範例實施例所繪示的資料儲存方法的流程圖。
S902: 步驟(記憶體儲存裝置重新上電) S904: 步驟(根據斷電指令判斷記憶體儲存裝置的斷電狀態是否符合異常斷電狀態) S906: 步驟(使用單頁程式化模式且不使用多頁程式化模式將資料寫入至實體程式化單元) S908: 步驟(使用單頁程式化模式或多頁程式化模式將資料寫入至實體程式化單元)

Claims (18)

  1. 一種資料儲存方法,用於包括一可複寫式非揮發性記憶體模組的一記憶體儲存裝置,其中所述可複寫式非揮發性記憶體模組包括多個實體抹除單元,所述多個實體抹除單元的每一實體抹除單元具有多個實體程式化單元,所述多個實體程式化單元映射至多個邏輯位址,所述資料儲存方法包括:在所述記憶體儲存裝置重新上電時,根據斷電指令判斷所述記憶體儲存裝置的斷電狀態是否符合異常斷電狀態;以及在判定所述斷電狀態符合所述異常斷電狀態時,使用單頁程式化模式且不使用多頁程式化模式將資料寫入至所述多個實體程式化單元,其中使用所述單頁程式化模式且不使用所述多頁程式化模式將所述資料寫入至所述多個實體程式化單元的步驟包括:接收來自主機系統的一第一指令;以及使用所述單頁程式化模式將對應所述第一指令的資料寫入至所述多個實體程式化單元。
  2. 如請求項1所述的資料儲存方法,其中根據所述斷電指令判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的步驟包括:根據所述斷電指令判斷斷電時發生正常斷電或異常斷電,並記錄發生所述正常斷電或所述異常斷電以產生斷電資訊,其中若斷電後重新上電時未偵測到所述斷電指令,判定斷電時發生所述異常斷電,其中若斷電後重新上電時偵測到所述斷電 指令,判定斷電時發生所述正常斷電;以及根據所述斷電資訊判斷所述斷電狀態是否符合所述異常斷電狀態。
  3. 如請求項2所述的資料儲存方法,其中根據所述斷電資訊判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的步驟包括:若在一預設時間內連續發生所述異常斷電的次數大於一第一閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  4. 如請求項2所述的資料儲存方法,其中根據所述斷電資訊判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的步驟包括:若發生斷電的次數中,發生所述異常斷電的比例大於一第二閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  5. 如請求項2所述的資料儲存方法,其中根據所述斷電資訊判斷是否符合所述異常斷電狀態的步驟包括:若連續發生一預設次數的所述異常斷電,且前後兩次所述異常斷電之間的一間隔時間皆小於一第三閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  6. 如請求項1所述的資料儲存方法,其中在判定所述斷電狀態符合所述異常斷電狀態時,使用所述單頁程式化模式且不使用多頁程式化模式將所述資料寫入至所述多個實體程式化單元的步驟包括: 判斷前次斷電時是否偵測到所述斷電指令;以及若未偵測到所述斷電指令,判定前次斷電時發生異常斷電並執行一斷電恢復操作,其中所述斷電恢復操作包括:使用所述單頁程式化模式將發生所述異常斷電前最後一個被寫入資料的第一實體抹除單元中儲存的第一資料複製至第二實體抹除單元;以及在邏輯至實體映射表中更新所述第一資料對應的邏輯位址與所述第二實體抹除單元包括的實體程式化單元之間的映射資訊。
  7. 一種記憶體控制電路單元,用於控制一記憶體儲存裝置,所述記憶體儲存裝置包括一可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組包括多個實體抹除單元,所述多個實體抹除單元的每一實體抹除單元具有多個實體程式化單元,所述多個實體程式化單元映射至多個邏輯位址;一記憶體管理電路,耦接至所述主機介面以及所述記憶體介面,其中所述記憶體管理電路用以在所述記憶體儲存裝置重新上電時,根據斷電指令判斷所述記憶體儲存裝置的斷電狀態是否符合異常斷電狀態,並且 所述記憶體管理電路更用以在判定所述斷電狀態符合所述異常斷電狀態時,使用單頁程式化模式且不使用多頁程式化模式將資料寫入至所述多個實體程式化單元,其中使用所述單頁程式化模式且不使用所述多頁程式化模式將所述資料寫入至所述多個實體程式化單元的操作包括:接收來自主機系統的一第一指令;以及使用所述單頁程式化模式將對應所述第一指令的資料寫入至所述多個實體程式化單元。
  8. 如請求項7所述的記憶體控制電路單元,其中根據所述斷電指令判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的操作包括:根據所述斷電指令判斷斷電時發生正常斷電或異常斷電,並記錄發生所述正常斷電或所述異常斷電以產生斷電資訊,其中若斷電後重新上電時未偵測到所述斷電指令,判定斷電時發生所述異常斷電,其中若斷電後重新上電時偵測到所述斷電指令,判定斷電時發生所述正常斷電;以及根據所述斷電資訊判斷所述斷電狀態是否符合所述異常斷電狀態。
  9. 如請求項8所述的記憶體控制電路單元,其中根據所述斷電資訊判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的操作包括:若在一預設時間內連續發生所述異常斷電的次數大於一第一 閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  10. 如請求項8所述的記憶體控制電路單元,其中根據所述斷電資訊判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的操作包括:若發生斷電的次數中,發生所述異常斷電的比例大於一第二閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  11. 如請求項8所述的記憶體控制電路單元,其中根據所述斷電資訊判斷是否符合所述異常斷電狀態的操作包括:若連續發生一預設次數的所述異常斷電,且前後兩次所述異常斷電之間的一間隔時間皆小於一第三閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  12. 如請求項7所述的記憶體控制電路單元,其中在判定所述斷電狀態符合所述異常斷電狀態時,使用所述單頁程式化模式且且不使用多頁程式化模式將所述資料寫入至所述多個實體程式化單元的操作包括:判斷前次斷電時是否偵測到所述斷電指令;以及若未偵測到所述斷電指令,判定前次斷電時發生異常斷電並執行一斷電恢復操作,其中所述斷電恢復操作包括:使用所述單頁程式化模式將發生所述異常斷電前最後一個被寫入資料的第一實體抹除單元中儲存的第一資料複製至第二實體抹除單元;以及在邏輯至實體映射表中更新所述第一資料對應的邏輯位 址與所述第二實體抹除單元包括的實體程式化單元之間的映射資訊。
  13. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組;以及一記憶體控制電路單元,耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組包括多個實體抹除單元,所述多個實體抹除單元的每一實體抹除單元具有多個實體程式化單元,所述多個實體程式化單元映射至多個邏輯位址,其中所述記憶體控制電路單元用以在所述記憶體儲存裝置重新上電時,根據斷電指令判斷所述記憶體儲存裝置的斷電狀態是否符合異常斷電狀態,並且所述記憶體控制電路單元更用以在判定所述斷電狀態符合所述異常斷電狀態時,使用單頁程式化模式且不使用多頁程式化模式將資料寫入至所述多個實體程式化單元,其中使用所述單頁程式化模式且不使用所述多頁程式化模式將所述資料寫入至所述多個實體程式化單元的操作包括:接收來自主機系統的一第一指令;以及使用所述單頁程式化模式將對應所述第一指令的資料寫入至所述多個實體程式化單元。
  14. 如請求項13所述的記憶體儲存裝置,其中根據所述斷電指令判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的操作包括:根據所述斷電指令判斷斷電時發生正常斷電或異常斷電,並記錄發生所述正常斷電或所述異常斷電以產生斷電資訊,其中若斷電後重新上電時未偵測到所述斷電指令,判定斷電時發生所述異常斷電,其中若斷電後重新上電時偵測到所述斷電指令,判定斷電時發生所述正常斷電;以及根據所述斷電資訊判斷所述斷電狀態是否符合所述異常斷電狀態。
  15. 如請求項14所述的記憶體儲存裝置,其中根據所述斷電資訊判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的操作包括:若在一預設時間內連續發生所述異常斷電的次數大於一第一閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  16. 如請求項14所述的記憶體儲存裝置,其中根據所述斷電資訊判斷所述記憶體儲存裝置的所述斷電狀態是否符合所述異常斷電狀態的操作包括:若發生斷電的次數中,發生所述異常斷電的比例大於一第二閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  17. 如請求項14所述的記憶體儲存裝置,其中根據所述斷電資訊判斷是否符合所述異常斷電狀態的操作包括: 若連續發生一預設次數的所述異常斷電,且前後兩次所述異常斷電之間的一間隔時間皆小於一第三閾值,則判定所述斷電狀態符合所述異常斷電狀態。
  18. 如請求項13所述的記憶體儲存裝置,其中在判定所述斷電狀態符合所述異常斷電狀態時,使用所述單頁程式化模式且且不使用多頁程式化模式將所述資料寫入至所述多個實體程式化單元的操作包括:判斷前次斷電時是否偵測到所述斷電指令;以及若未偵測到所述斷電指令,判定前次斷電時發生異常斷電並執行一斷電恢復操作,其中所述斷電恢復操作包括:使用所述單頁程式化模式將發生所述異常斷電前最後一個被寫入資料的第一實體抹除單元中儲存的第一資料複製至第二實體抹除單元;以及在邏輯至實體映射表中更新所述第一資料對應的邏輯位址與所述第二實體抹除單元包括的實體程式化單元之間的映射資訊。
TW110114441A 2021-04-22 2021-04-22 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 TWI785571B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW110114441A TWI785571B (zh) 2021-04-22 2021-04-22 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置
US17/337,428 US11609822B2 (en) 2021-04-22 2021-06-03 Data storing method, memory control circuit unit and memory storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110114441A TWI785571B (zh) 2021-04-22 2021-04-22 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW202242662A TW202242662A (zh) 2022-11-01
TWI785571B true TWI785571B (zh) 2022-12-01

Family

ID=83694288

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110114441A TWI785571B (zh) 2021-04-22 2021-04-22 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置

Country Status (2)

Country Link
US (1) US11609822B2 (zh)
TW (1) TWI785571B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893275B2 (en) * 2021-09-20 2024-02-06 Western Digital Technologies, Inc. DRAM-less SSD with recovery from HMB loss

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180024920A1 (en) * 2016-07-20 2018-01-25 Sandisk Technologies Llc System and method for tracking block level mapping overhead in a non-volatile memory
CN107943710A (zh) * 2016-10-13 2018-04-20 大心电子股份有限公司 存储器管理方法及使用所述方法的存储控制器
CN110008146A (zh) * 2018-01-05 2019-07-12 群联电子股份有限公司 数据写入方法、有效数据识别方法及存储器存储装置
TWI688965B (zh) * 2019-08-14 2020-03-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
TWI725416B (zh) * 2019-04-23 2021-04-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242734B1 (en) * 2017-09-29 2019-03-26 Intel Corporation Resuming storage die programming after power loss
US11416058B2 (en) * 2020-10-28 2022-08-16 Western Digital Technologies, Inc. Efficient data storage usage associated with ungraceful shutdown
KR20220099641A (ko) * 2021-01-07 2022-07-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180024920A1 (en) * 2016-07-20 2018-01-25 Sandisk Technologies Llc System and method for tracking block level mapping overhead in a non-volatile memory
CN107943710A (zh) * 2016-10-13 2018-04-20 大心电子股份有限公司 存储器管理方法及使用所述方法的存储控制器
CN110008146A (zh) * 2018-01-05 2019-07-12 群联电子股份有限公司 数据写入方法、有效数据识别方法及存储器存储装置
TWI725416B (zh) * 2019-04-23 2021-04-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI688965B (zh) * 2019-08-14 2020-03-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置

Also Published As

Publication number Publication date
US20220342765A1 (en) 2022-10-27
US11609822B2 (en) 2023-03-21
TW202242662A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
TWI622923B (zh) 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置
TWI681295B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US10303367B2 (en) Mapping table updating method without updating the first mapping information, memory control circuit unit and memory storage device
TWI700635B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
TWI656531B (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
TWI447579B (zh) 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置
TWI705331B (zh) 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置
TW201409230A (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TW202040370A (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
CN107045890B (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
TWI798680B (zh) 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元
TWI791981B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN112051971B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN109273033B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI785571B (zh) 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI446170B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN110442299B (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置
CN113138720B (zh) 数据存储方法、存储器控制电路单元以及存储器存储装置
CN111583976B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN111610937A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
TW202109542A (zh) 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置
TWI775341B (zh) 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置