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

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

Info

Publication number
TWI524183B
TWI524183B TW103100746A TW103100746A TWI524183B TW I524183 B TWI524183 B TW I524183B TW 103100746 A TW103100746 A TW 103100746A TW 103100746 A TW103100746 A TW 103100746A TW I524183 B TWI524183 B TW I524183B
Authority
TW
Taiwan
Prior art keywords
unit
data
physical erasing
area
physical
Prior art date
Application number
TW103100746A
Other languages
English (en)
Other versions
TW201527973A (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 TW103100746A priority Critical patent/TWI524183B/zh
Priority to US14/226,768 priority patent/US9280460B2/en
Publication of TW201527973A publication Critical patent/TW201527973A/zh
Application granted granted Critical
Publication of TWI524183B publication Critical patent/TWI524183B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
本發明是有關於一種用於可複寫式非揮發性記憶體的資料寫入方法及使用此方法的記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
快閃記憶體模組具有多個實體抹除單元,且每一實體抹除單元具有多個實體程式化單元(physical page),其中在實體抹除單元中寫入資料時必須依據實體程式化單元的順序寫入資料。此 外,已被寫入資料之實體程式化單元必須先被抹除後才能再次用於寫入資料。特別是,實體抹除單元為抹除之最小單位,並且實體程式化單元為程式化(亦稱寫入)的最小單元。因此,在快閃記憶體模組的管理中,實體抹除單元會被區分為資料區與閒置區。
資料區的實體抹除單元是用以儲存主機系統所儲存之資料。具體來說,記憶體儲存裝置中的記憶體控制電路單元會將主機系統所存取的邏輯存取位址轉換為邏輯區塊的邏輯頁面,並且將邏輯區塊的邏輯頁面映射至資料區的實體抹除單元的實體程式化單元。也就是說,快閃記憶體模組的管理上資料區的實體抹除單元是被視為已被使用之實體抹除單元(例如,已儲存主機系統所寫入的資料)。例如,記憶體控制電路單元會使用邏輯轉實體位址映射表來記載邏輯區塊與資料區的實體抹除單元的映射關係,其中邏輯區塊中的邏輯頁面是對應所映射之實體抹除單元的實體程式化單元。
閒置區的實體抹除單元是用以輪替資料區中的實體抹除單元。具體來說,如上所述,已寫入資料的實體抹除單元必須被抹除後才可再次用於寫入資料,因此,閒置區的實體抹除單元是被設計用於寫入資料以替換映射邏輯區塊的實體抹除單元。基此,在閒置區中的實體抹除單元為空或可使用的實體抹除單元,即無記錄資料或標記為已沒用的無效資料。
也就是說,資料區與閒置區的實體抹除單元的實體程式化單元是以輪替方式來映射邏輯區塊的邏輯頁面,以儲存主機系 統所寫入的資料。例如,當主機系統欲寫入資料的邏輯存取位址是對應記憶體儲存裝置之某一邏輯區塊的某一邏輯頁面時,記憶體儲存裝置的記憶體控制電路單元會從閒置區中提取一個或多個實體抹除單元,將此資料寫入至所提取之實體抹除單元的實體程式化單元中,並且將寫入資料的實體抹除單元關聯至資料區。
特別是,在記憶體儲存裝置運作期間,當閒置區的實體抹除單元快被耗盡時,記憶體儲存裝置的記憶體控制電路單元會將資料區中至少一個實體抹除單元中的有效資料整理至資料區中其他實體抹除單元中未被使用的實體程式化單元中(以下稱為「有效資料合併運作」),以對僅儲存無效資料的實體抹除單元執行抹除運作並將抹除後的實體抹除單元關聯至閒置區,以使輪替運作的機制繼續維持以執行後續的寫入指令。
然而,執行上述資料合併操作是相對耗時的,因此,倘若主機系統要求在短時間內寫入(或備份)大量數據(例如,因即將斷電而指示將緩衝記憶體內的資料儲存至可複寫式非揮發性記憶體的請求)並且閒置區的實體抹除單元快被耗盡時,記憶體儲存裝置的記憶體控制電路單元將需要耗費大量時間進行資料合併操作,而無法於預定時間內完成資料的寫入,而使系統所儲存的資料遺失。
本發明提供一種資料寫入方法、記憶體控制電路單元與 記憶體儲存裝置,其能夠快速地寫入與回復備份資料。
據此,本發明一範例實施例提出一種用於一可複寫式非揮發性記憶體模組資料的寫入方法,其中此可複寫式非揮發性記憶體模組包括多個實體抹除單元。本資料寫入方法包括將此些實體抹除單元至少關聯至資料區、備份區與閒置區,配置多個第一邏輯單元與多個第二邏輯單元以提供主機系統存取,且將最低門檻值加上預定數量所獲得的值來設定垃圾回收門檻值,其中第一邏輯單元映射被關聯至資料區的實體抹除單元,且第二邏輯單元映射被關聯至備份區的實體抹除單元。本資料寫入方法還包括從主機系統中接收第一寫入指令,其中此第一寫入指令指示寫入第一資料至此些第二邏輯單元之中的至少一邏輯單元。本資料寫入方法更包括從閒置區的實體抹除單元中提取至少一第一實體抹除單元,將第一資料寫入至第一實體抹除單元,將第一實體抹除單元關聯至備份區,且依據第一實體抹除單元的數目與最低門檻值來調整垃圾回收門檻值,其中調整後的垃圾回收門檻值是藉由將最低門檻值加上預定數量所獲得的值減去此些實體抹除單元之中被關聯至備份區的實體抹除單元的數目來獲得,並且此些實體抹除單元之中被關聯至備份區的實體抹除單元的數目不大於預定數量。
在本發明的一實施例中,上述資料寫入方法更包括從主機系統中接收第二寫入指令,其中此第二寫入指令指示寫入第二資料至此些第一邏輯單元之中的至少一邏輯單元;以及從閒置區 的實體抹除單元中提取至少一第二實體抹除單元,將第二資料寫入至第二實體抹除單元並且將第二實體抹除單元關聯至資料區。
在本發明的一實施例中,上述料寫入方法更包括判斷閒置區的實體抹除單元的數目是否不大於垃圾回收門檻值;以及倘若閒置區的實體抹除單元的數目不大於垃圾回收門檻值時,執行資料合併操作以將資料區的至少一實體抹除單元關聯至閒置區。
在本發明的一實施例中,上述執行資料合併操作以將資料區的至少一實體抹除單元關聯至閒置區的步驟包括:從資料區的實體抹除單元中選擇第三實體抹除單元;倘若第三實體抹除單元存有至少一有效資料時,將此有效資料從第三實體抹除單元複製到資料區中的第四實體抹除單元;以及抹除第三實體抹除單元並且將抹除後的第三實體抹除單元關聯至閒置區。
在本發明的一實施例中,上述資料寫入方法更包括從主機系統中接收刪除指令,其中此刪除指令指示刪除第一資料;以及對上述第一實體抹除單元執行抹除操作,將至少一第一實體抹除單元關聯至閒置區並且依據最低門檻值與此些實體抹除單元之中被關聯至備份區的實體抹除單元的數目來重新調整垃圾回收門檻值。
本發明一範例實施例提出一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元。記憶體控制電路單元包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機 系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接至主機介面與記憶體介面。記憶體管理電路用以將此些實體抹除單元至少關聯至資料區、備份區與閒置區並且配置多個第一邏輯單元與多個第二邏輯單元以提供主機系統存取,其中第一邏輯單元映射被關聯至資料區的實體抹除單元,且第二邏輯單元映射被關聯至備份區的實體抹除單元。在此,記憶體管理電路更用以將最低門檻值加上預定數量所獲得的值來設定垃圾回收門檻值。此外,記憶體管理電路更用以從主機系統中接收第一寫入指令,其中此第一寫入指令指示寫入第一資料至此些第二邏輯單元之中的至少一邏輯單元。再者,記憶體管理電路更用以從閒置區的此些實體抹除單元中提取至少一第一實體抹除單元,將第一資料寫入至第一實體抹除單元,將第一實體抹除單元關聯至該備份區,且依據第一實體抹除單元的數目與最低門檻值來調整該垃圾回收門檻值,其中調整後的垃圾回收門檻值是藉由將最低門檻值加上預定數量所獲得的值減去此些實體抹除單元之中被關聯至備份區的實體抹除單元的數目來獲得,並且些實體抹除單元之中被關聯至備份區的實體抹除單元的數目不大於預定數量。
在本發明的一實施例中,上述記憶體管理電路更用以從主機系統中接收第二寫入指令,其中此第二寫入指令指示寫入第二資料至此些第一邏輯單元之中的至少一邏輯單元。此外,記憶體管理電路更用以從閒置區的實體抹除單元中提取至少一第二實 體抹除單元,將第二資料寫入至第二實體抹除單元並且將第二實體抹除單元關聯至資料區。
在本發明的一實施例中,上述記憶體管理電路更用以判斷閒置區的實體抹除單元的數目是否不大於垃圾回收門檻值。倘若閒置區的實體抹除單元的數目不大於垃圾回收門檻值時,記憶體管理電路執行資料合併操作以將資料區的實體抹除單元關聯至閒置區。
在本發明的一實施例中,上述執行資料合併操作以將資料區的至少一實體抹除單元關聯至閒置區的運作中,記憶體管理電路從資料區的實體抹除單元中選擇第三實體抹除單元,並且抹除第三實體抹除單元並且將抹除後的第三實體抹除單元關聯至閒置區,其中倘若第三實體抹除單元存有至少一有效資料時,記憶體管理電路在抹除第三實體抹除單元之前先將至少一有效資料從第三實體抹除單元複製到資料區中的第四實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以從主機系統中接收刪除指令,其中此刪除指令指示刪除第一資料。此外,記憶體管理電路更用以對第一實體抹除單元執行一抹除操作,將第一實體抹除單元關聯至閒置區並且依據最低門檻值與上述實體抹除單元之中被關聯至備份區的實體抹除單元的數目來重新調整垃圾回收門檻值。
本發明一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路 單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組。記憶體控制電路單元用以將此些實體抹除單元至少關聯至資料區、備份區與閒置區並且配置多個第一邏輯單元與多個第二邏輯單元以提供主機系統存取,其中第一邏輯單元映射被關聯至資料區的實體抹除單元,且第二邏輯單元映射被關聯至備份區的實體抹除單元。在此,記憶體控制電路單元更用以將最低門檻值加上預定數量所獲得的值來設定垃圾回收門檻值。此外,記憶體控制電路單元更用以從主機系統中接收第一寫入指令,其中此第一寫入指令指示寫入第一資料至此些第二邏輯單元之中的至少一邏輯單元。再者,記憶體控制電路單元更用以從閒置區的此些實體抹除單元中提取至少一第一實體抹除單元,將第一資料寫入至第一實體抹除單元,將第一實體抹除單元關聯至該備份區,且依據第一實體抹除單元的數目與最低門檻值來調整該垃圾回收門檻值,其中調整後的垃圾回收門檻值是藉由將最低門檻值加上預定數量所獲得的值減去此些實體抹除單元之中被關聯至備份區的實體抹除單元的數目來獲得,並且些實體抹除單元之中被關聯至備份區的實體抹除單元的數目不大於預定數量。
在本發明的一實施例中,上述記憶體控制電路單元更用以從主機系統中接收第二寫入指令,其中此第二寫入指令指示寫入第二資料至此些第一邏輯單元之中的至少一邏輯單元。此外, 記憶體控制電路單元更用以從閒置區的實體抹除單元中提取至少一第二實體抹除單元,將第二資料寫入至第二實體抹除單元並且將第二實體抹除單元關聯至資料區。
在本發明的一實施例中,上述記憶體控制電路單元更用以判斷閒置區的實體抹除單元的數目是否不大於垃圾回收門檻值。倘若閒置區的實體抹除單元的數目不大於垃圾回收門檻值時,記憶體控制電路單元執行資料合併操作以將資料區的實體抹除單元關聯至閒置區。
在本發明的一實施例中,上述執行資料合併操作以將資料區的至少一實體抹除單元關聯至閒置區的運作中,記憶體控制電路單元從資料區的實體抹除單元中選擇第三實體抹除單元,並且抹除第三實體抹除單元並且將抹除後的第三實體抹除單元關聯至閒置區,其中倘若第三實體抹除單元存有至少一有效資料時,記憶體管理電路在抹除第三實體抹除單元之前先將至少一有效資料從第三實體抹除單元複製到資料區中的第四實體抹除單元。
在本發明的一實施例中,上述記憶體控制電路單元更用以從主機系統中接收刪除指令,其中此刪除指令指示刪除第一資料。此外,記憶體控制電路單元更用以對第一實體抹除單元執行一抹除操作,將第一實體抹除單元關聯至閒置區並且依據最低門檻值與上述實體抹除單元之中被關聯至備份區的實體抹除單元的數目來重新調整垃圾回收門檻值。
基於上述,資料寫入方法、記憶體控制電路單元與記憶 體儲存裝置,藉由動態地維持專用於循序資料的實體抹除單元,由此避免執行資料合併操作以縮短寫入大量循序資料的時間。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
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‧‧‧系統區
506‧‧‧資料區
508‧‧‧閒置區
510‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯單元
LZ(0)~LZ(M)‧‧‧邏輯區域
BD1~BD5‧‧‧備份資料
UD1~UD14‧‧‧資料
S2401、S2403、S2405、S2407、S2409、S2411、S2413‧‧‧資料寫入方法的步驟
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖6與圖7是根據第一範例實施例所繪示之管理實體區塊的範例示意圖。
圖8~20是根據本發明一範例實施例所繪示之以隨機寫入機制寫入隨機資料的範例。
圖21與22是繪示執行有效資料合併程序以完成後續寫入指令的簡化範例。
圖23是根據本發明一範例實施例所繪示之寫入備份資料的範例。
圖24是根據本發明一範例實施例所繪示的資料寫入方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖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亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、 複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖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,在記憶體儲存裝置100的運作過程中,記憶體控制電路單元104(或記憶體管理電路202)會動態地將實體抹除單元410(0)~410-(N)關聯為資料區502、備份區504、閒置區506、系統區508與取代區510。
被關聯至資料區502的實體抹除單元是被視為已儲存來自於主機系統1000之資料的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體管理電路202會從閒置區506中提取實體抹除單元,將資料寫入至所提取的實體抹除單元中,並且將寫入資料的實體抹除單元關聯至資料區502。
被關聯至備份區504的實體抹除單元是已儲存來自於主機系統1000之備份資料的實體抹除單元。例如,在本範例實施例中,主機系統1000配置有不斷電系統(未繪示),當主機系統1000的外部電源發生異常時,不斷電系統會啟動,並且微處理器1102 會利用在不斷電系統提供有限電力的期間對記憶體儲存裝置100下達備份寫入指令,以立即備份暫存於隨機存取記憶體1104中的資料。此時,記憶體控制電路單元104(或記憶體管理電路202)會將從閒置區506中提取實體抹除單元,將主機系統1000欲儲存的備份資料寫入至所提取的實體抹除單元中並且將寫入備份資料的實體抹除單元關聯至備份區504。
被關聯至閒置區506的實體抹除單元是為空的實體抹除單元或者儲存無效資料的實體抹除單元,其用以替換資料區502的實體抹除單元與備份區504的實體抹除單元。具體來說,當關聯至資料區502或備份區504的實體抹除單元中的資料變成為無效時,記憶體控制電路單元104(或記憶體管理電路202)會將此實體抹除單元重新關聯回閒置區506,以利後續執行寫入運作之用。
被關聯至系統區508的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
被關聯至取代區510中的實體抹除單元是用於壞實體抹除單元取代程序,以取代可複寫式非揮發性記憶體模組106中損壞的實體抹除單元。例如,倘若取代區510中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路202會從取代區510中提取正常的實體抹除單元來更換損壞的實體抹除單元。
例如,如圖6所示,在記憶體儲存裝置100被初始化(亦稱為開卡)過程中,實體抹除單元410(0)~410-(S-1)會被關聯至閒置區506,被寫入系統資料的實體抹除單元410(S)~410-(R-1)會被關聯至系統區508,並且剩下的實體抹除單元410(R)~410-(N)會被關聯至取代區510。必須了解的是,被關聯至資料區502、備份區504、閒置區506、系統區508與取代區510之實體抹除單元的數量會依據不同的記憶體規格而有所不同。特別是,在另一範例實施例中,在記憶體儲存裝置100被初始化(亦稱為開卡)過程中,部份實體抹除單元亦可直接被關聯至資料區502,並且被視為已儲存資料。
請參照圖7,記憶體控制電路單元104(或記憶體管理電路202)會配置邏輯單元LBA(0)~LBA(H)(亦稱為系統邏輯單元區)以映射被關聯至資料區502的實體抹除單元並且配置邏輯單元LBA(H+1)~LBA(T)(亦稱為備份邏輯單元區)以映射被關聯至備份區504的實體抹除單元,其中每一邏輯單元具有多個邏輯頁面以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統100欲寫入資料至邏輯單元或更新儲存於邏輯單元中的資料時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取一個實體抹除單元來寫入資料,以輪替資料區502與備份區504的實體抹除單元。
為了識別資料每個邏輯單元的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制電路單元104(或記憶體 管理電路202)會記錄邏輯單元與實體抹除單元之間的映射。並且,當主機系統1000欲在邏輯頁面中存取資料時,記憶體控制電路單元104(或記憶體管理電路202)會確認此邏輯頁面所屬的邏輯單元,並且在此邏輯單元所映射的實體抹除單元中來存取資料。例如,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯單元所映射的實體抹除單元,並且當欲存取資料時記憶體控制電路單元104(或記憶體管理電路202)會將邏輯轉實體位址映射表載入至緩衝記憶體208來維護。
值得一提的是,由於緩衝記憶體208的容量有限無法儲存記錄所有邏輯單元之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會將邏輯單元LBA(0)~LBA(T)分組為多個邏輯區域LZ(0)~LZ(K),並且為每一邏輯區域配置一個邏輯轉實體位址映射表。特別是,當記憶體控制電路單元104(或記憶體管理電路202)欲更新某個邏輯單元的映射時,對應此邏輯單元所屬之邏輯區域的邏輯轉實體位址映射表會被載入至緩衝記憶體208來被更新。
如上所述,在本範例實施例中,記憶體儲存裝置100的可複寫式非揮發性記憶體模組106是以頁面為基礎來進行管理,因此,在執行寫入指令時,不管目前資料是要寫入至那個邏輯單元的邏輯頁面,記憶體控制電路單元104(或記憶體管理電路202)皆會以一個實體程式化單元接續一個實體程式化單元的方式來寫 入資料。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取一個空的實體抹除單元作為目前使用之實體抹除單元來寫入資料。並且,當此目前使用之實體抹除單元已被寫滿時,記憶體控制電路單元104(或記憶體管理電路202)會再從閒置區506中提取另一個空的實體抹除單元作為目前使用之實體抹除單元,以繼續寫入對應來自於主機系統1000之寫入指令的隨機資料。特別是,為了避免閒置區506的實體抹除單元被耗盡,當閒置區506的實體抹除單元的數目下降到所設定之垃圾回收門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會執行資料合併操作,以使資料區502或備份區504中的至少一個實體抹除單元中的資料成為無效資料,並且之後將資料區502或備份區504中所儲存之資料皆為無效資料之實體抹除單元關聯回閒置區506。例如,在執行資料合併操作時,記憶體控制電路單元104(或記憶體管理電路202)至少需使用一個空的實體抹除單元,因此,垃圾回收門檻值至少會被設定大於最低門檻值(即,1)。特別是,在本範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在閒置區506中保留一預定數量的實體抹除單元以用於寫入至邏輯單元LBA(H+1)~LBA(T)的資料。因此,在記憶體儲存裝置100被初始化(亦稱為開卡)過程中,記憶體控制電路單元104(或記憶體管理電路202)會將最低門檻值加上預定數量所獲得的值來初始化地設定垃圾回收門檻值。
圖8~20是根據本發明一範例實施例所繪示之寫入資料的 範例。
請參照圖8,為方便說明,在此假設資料區502初始地未有映射邏輯單元的實體抹除單元(即,記憶體儲存裝置100於開卡後尚未寫入過使用者資料),閒置區506具有7個實體抹除單元,每一實體抹除單元具有3個實體程式化單元,欲寫入至每一實體抹除單元的資料必須依照實體程式化單元的順序來被寫入。此外假設2個實體抹除單元會被保留專用於寫入主機系統1000欲儲存至備份邏輯單元區的資料,1個實體抹除單元會被用作為輪替寫入資料之用並且1個實體抹除單元會被保留來進行資料合併操作,因此,垃圾回收門檻值會初始地被設定為3,3個邏輯單元LBA(0)~LBA(2)會被配置以映射被關聯至資料區502的實體抹除單元且2個邏輯單元LBA(3)~LBA(4)會被配置以映射被關聯至備份區504的實體抹除單元。
請參照圖9,假設欲程式化資料UD1並且資料UD1是屬於邏輯單元LBA(0)的第1個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取實體抹除單元410(0),下達程式化指令以將此資料UD1寫入至實體抹除單元410(0)的第0個實體程式化單元,並且將實體抹除單元410(0)關聯至資料區502。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(0)的第1個邏輯頁面是映射至實體抹除單元410(0)的第0個實體程式化單元。
請參照圖10,接續圖9,假設欲再程式化資料UD2並且資料UD2是屬於邏輯單元LBA(1)的第0個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD2寫入至實體抹除單元410(0)的第1個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(1)的第0個邏輯頁面是映射至實體抹除單元410(0)的第1個實體程式化單元。
請參照圖11,接續圖10,假設欲再程式化資料UD3並且資料UD3是屬於邏輯單元LBA(2)的第1個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD3寫入至實體抹除單元410(0)的第2個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(2)的第1個邏輯頁面是映射至實體抹除單元410(0)的第2個實體程式化單元。
請參照圖12,接續圖11,假設欲再程式化資料UD4並且資料UD4是屬於邏輯單元LBA(0)的第0個邏輯頁面時,由於實體抹除單元410(0)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取實體抹除單元410(1),下達程式化指令以將此資料UD4寫入至實體抹除單元410(1)的第0個實體程式化單元並且將實體抹除單元410(1)關聯至資料區502。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(0)的第0個 邏輯頁面是映射至實體抹除單元410(1)的第0個實體程式化單元。
請參照圖13,接續圖12,假設欲再程式化資料UD5並且資料UD5是屬於邏輯單元LBA(1)的第1個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD5寫入至實體抹除單元410(1)的第1個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(1)的第1個邏輯頁面是映射至實體抹除單元410(1)的第1個實體程式化單元。
請參照圖14,接續圖13,假設欲再程式化資料UD6並且資料UD6是屬於邏輯單元LBA(0)的第2個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD6寫入至實體抹除單元410(1)的第2個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(0)的第2個邏輯頁面是映射至實體抹除單元410(1)的第2個實體程式化單元。
請參照圖15,接續圖14,假設欲再程式化資料UD7並且資料UD4是屬於邏輯單元LBA(2)的第0個邏輯頁面時,由於實體抹除單元410(1)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取實體抹除單元410(2),下達程式化指令以將此資料UD7寫入至實體抹除單元410(2)的第0個實體程式化單元並且將實體抹除單元410(2)關聯至資料區502。此外,記憶體控制電路單元104(或記憶體管理電路 202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(2)的第0個邏輯頁面是映射至實體抹除單元410(2)的第0個實體程式化單元。
請參照圖16,接續圖15,假設欲再程式化資料UD8並且資料UD8是屬於邏輯單元LBA(1)的第2個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD8寫入至實體抹除單元410(2)的第1個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(1)的第2個邏輯頁面是映射至實體抹除單元410(2)的第1個實體程式化單元。
請參照圖17,接續圖16,假設欲再程式化資料UD9並且資料UD9是屬於邏輯單元LBA(2)的第2個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD9寫入至實體抹除單元410(2)的第2個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(2)的第2個邏輯頁面是映射至實體抹除單元410(2)的第2個實體程式化單元。
請參照圖18,接續圖17,假設欲再程式化資料UD10並且資料UD10是屬於邏輯單元LBA(1)的第2個邏輯頁面時,由於實體抹除單元410(2)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取實體抹除單元410(3),下達程式化指令以將此資料UD10寫入至實體抹除單元410(3)的第0個實體程式化單元並且將實體抹除單元410(3)關聯至 資料區502,其中實體抹除單元410(2)的第1個實體程式化單元會被標記為無效(如虛線所示)。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(1)的第2個邏輯頁面是映射至實體抹除單元410(3)的第0個實體程式化單元。
請參照圖19,接續圖18,假設欲再程式化資料UD11並且資料UD11是屬於邏輯單元LBA(2)的第2個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD11寫入至實體抹除單元410(3)的第1個實體程式化單元,其中實體抹除單元410(2)的第2個實體程式化單元會被標記為無效(如虛線所示)。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(2)的第2個邏輯頁面是映射至實體抹除單元410(3)的第1個實體程式化單元。此外,記憶體控制電路單元104(或記憶體管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(2)的第2個邏輯頁面是映射至實體抹除單元410(3)的第1個實體程式化單元。
請參照圖20,接續圖19,假設欲再程式化資料UD12並且資料UD12是屬於邏輯單元LBA(1)的第1個邏輯頁面時,記憶體控制電路單元104(或記憶體管理電路202)會下達程式化指令以將此資料UD12寫入至實體抹除單元410(3)的第2個實體程式化單元,其中實體抹除單元410(1)的第1個實體程式化單元會被標記為無效(如虛線所示)。此外,記憶體控制電路單元104(或記憶體 管理電路202)會在邏輯轉實體位址映射表中記錄邏輯單元LBA(1)的第1個邏輯頁面是映射至實體抹除單元410(3)的第2個實體程式化單元。
以此類推,不論主機系統1000欲將資料儲存至那個邏輯單元的邏輯頁面中,記憶體控制電路單元104(或記憶體管理電路202)會依序地將主機系統1000欲儲存的資料寫入目前使用的實體抹除單元中。特別是,當閒置區506的實體抹除單元的數目不大於垃圾回收門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會在執行寫入指令時一併執行資料合併操作,以防止閒置區的實體抹除單元被用盡;抑或是記憶體控制電路單元104(或記憶體管理電路202)會在一段時間內沒有接收到讀寫指令的時候於背景執行資料合併操作,本發明並不對於執行資料合併操作的時機進行限制。
圖21與22是繪示執行有效資料合併程序以完成後續寫入指令的簡化範例。
接續圖20,假設欲再程式化資料UD13與UD14並且資料UD13與UD14是屬於邏輯單元LBA(2)的第0與第1個邏輯頁面時,由於實體抹除單元410(3)已無儲存空間,因此,記憶體控制電路單元104(或記憶體管理電路202)需要從閒置區504中提取空的實體抹除單元。然而,此時,閒置區504的實體抹除單元的數目是不大於垃圾回收門檻值,因此,記憶體控制電路單元104(或記憶體管理電路202)必須先執行資料合併程序。
請參照圖21,例如,記憶體控制電路單元104(或記憶體管理電路202)從閒置區504中提取實體抹除單元410(4),將實體抹除單元410(1)中的有效資料(即,資料UD4與UD6)和實體抹除單元410(2)中的有效資料(即,資料UD7)複製到實體抹除單元410(4),將實體抹除單元410(4)關聯至資料區502,將實體抹除單元410(1)的第0與1個實體程式化單元和實體抹除單元410(2)的第0實體程式化單元標記為無效,對僅儲存無效資料的實體抹除單元(即,實體抹除單元410(1)與實體抹除單元410(2))執行實體抹除,並且將抹除後的實體抹除單元關聯回閒置區504。此時,閒置區504的實體抹除單元的數目會回復為4(即,大於垃圾回收門檻值)。
請參照圖22,之後,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區504中提取實體抹除單元410(5),下達程式化指令以將資料UD13與資料UD14寫入至實體抹除單元410(5)的第0與第1個實體程式化單元並且將實體抹除單元410(5)關聯至資料區502,其中邏輯單元LBA(2)的第0與第1個邏輯頁面原始所映射的實體程式化單元(即,實體抹除單元410(0)的第2個實體程式化單元以及實體抹除單元410(4)的第2個實體程式化單元)會被標記為無效資料狀態。
如上所述,在本範例實施例中,可複寫式非揮發性記憶體模組中的一預定數量的實體抹除單元會被維持來專用於寫入主機系統1000欲儲存至備份邏輯單元的資料,因此,記憶體控制電 路單元104(或記憶體管理電路202)會根據所寫入之備份資料的量來動態調整垃圾回收門檻值。
圖23是根據本發明一範例實施例所繪示之寫入備份資料的範例。
請參照圖23,接續圖22,假設主機系統1000發生電源異常事件而下達寫入指令指示將隨機存取記憶體1104內的資料(以下稱為備份資料BD1~BD5)寫入至記憶體儲存裝置1000的邏輯單元LBA(3)的第0~2個邏輯頁面以及邏輯單元LBA(4)的第0~1個邏輯頁面時,由於閒置區506中保留有2個實體抹除單元用於寫入欲儲存至邏輯單元LBA(3)與邏輯單元LBA(4)的資料,因此,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取空的實體抹除單元(例如,實體抹除單元410(6)與410(1)),下達程式化指令以將備份資料BD1~BD5循序地寫入至實體抹除單元410(6)與410(1)中並且將實體抹除單元410(6)與410(1)關聯至備份區504。
另外,由於保留用於備份區的實體抹除單元已被使用,因此,記憶體控制電路單元104(或記憶體管理電路202)會據此調整垃圾回收門檻值。具體來說,記憶體控制電路單元104(或記憶體管理電路202)會記錄備份區504中的實體抹除單元的數目,並且將初始垃圾回收門檻值(即,上述最低門檻值加上預定數量所得的值)減去備份區504之實體抹除單元的數目作為新的垃圾回收門檻值(即,調整後的垃圾回收門檻值)。在圖23的範例中,新的垃 圾回收門檻值會被設定為1。
在圖23的例子中,雖然主機系統1000指示一次寫入大量的資料,然而,由於記憶體控制電路單元104(或記憶體管理電路202)無需執行資料合併操作來騰出空間,因此,可有效地縮短執行寫入指令的時間。此外,由於資料是以循序方式被寫入至備份區504的實體抹除單元,因此,當主機系統1000在斷電後重新開機時,可以快速地從備份區504的實體抹除單元中讀取備份資料,而有效地完成回復(recovery)運作。
此外,由於記憶體控制電路單元104(或記憶體管理電路202)僅保留預定數量的實體抹除單元來儲存欲儲存至備份邏輯單元的資料,因此,在記憶體儲存裝置100運作中,備份區504的實體抹除單元不會超過預定數量。例如,在一範例實施例中,當主機系統1000重新開機且完成回復運作(例如,將備份區504的實體抹除單元中的資料回復至隨機存取記憶體1104)後,記憶體控制電路單元104(或記憶體管理電路202)亦可對備份區504的實體抹除單元(例如,實體抹除單元410(6)與410(1))執行抹除操作並且將抹除後的實體抹除單元410(6)與410(1)關聯回閒置區506,由此閒置區506中仍有兩個實體抹除單可再被用來儲存欲儲存至備份邏輯單元的資料。此時,記憶體控制電路單元104(或記憶體管理電路202)會再次根據備份區504中的實體抹除單元的數目與最低門檻值來調整垃圾回收門檻值。例如,在實體抹除單元410(6)與410(1)關聯回閒置區506被關聯回閒置區506後,記憶體控制電路 單元104(或記憶體管理電路202)會將垃圾回收門檻值重新設定為3。
再者,在另一範例實施例中,在主機系統1000重新開機且完成回復運作(例如,將備份區504的實體抹除單元中的備份資料回復至隨機存取記憶體1104)後,主機系統1000亦可下達刪除指令來指示抹除備份區504的部分或全部資料。此備份刪除指令例如為清除指令(trim command)。此時,記憶體控制電路單元104(或記憶體管理電路202)亦可對備份區504中無儲存有效資料的實體抹除單元執行抹除操作並且將抹除後的實體抹除單元關聯回閒置區506。類似地,記憶體控制電路單元104(或記憶體管理電路202)會再次根據備份區504中的實體抹除單元的數目與最低門檻值來調整垃圾回收門檻值。例如,假設根據主機系統1000的清除指令清除部分備份資料後,實體抹除單元410(6)無儲存有效資料時,記憶體控制電路單元104(或記憶體管理電路202)會對實體抹除單元410(6)執行抹除操作,將抹除後的實體抹除單元410(6)關聯回閒置區,並且將垃圾回收門檻值重新設定為2。
從上述範例中,可以清楚地了解,本範例實施例的記憶體控制電路單元104(或記憶體管理電路202)會藉由調整垃圾回收門檻值以動態地維持可複寫式非揮發性記憶體模組106中的一預定數量的實體抹除單元來專用於寫入欲儲存至備份邏輯單元的資料,以使得以頁面為基礎來進行管理的記憶體儲存裝置100在主機系統1000發生異常事件而需備份大量資料時,仍可快速地寫入 資料,由此避免資料遺失。
值得一提的是,儘管在上述實施例中,主機系統1000是在發生異常事件時將備份資料儲存至被配置以映射被關聯至備份區504的實體抹除單元的邏輯單元LBA(3)~LBA(4)中。然而,本發明不限於此,在另一範例實施例中,主機系統1000亦可將一般使用者資料(包括隨機使用者資料或循序使用者資料)儲存至映射備份區504之實體抹除單元的邏輯單元,並且記憶體控制電路單元104(或記憶體管理電路202)亦會根據被關聯至備份區504的實體抹除單元的的數目來調整垃圾回收門檻值。
圖24是根據本發明一範例實施例所繪示的資料寫入方法的流程圖。
請參照圖24,在步驟S2401中,記憶體控制電路單元104(或記憶體管理電路202)將可複寫式非揮發性記憶體模組106的實體抹除單元至少關聯為資料區502、備份區504與閒置區506,配置多個第一邏輯單元(亦稱為系統邏輯單元)以映射資料區502的實體抹除單元,配置多個第二邏輯單元(亦稱為備份邏輯單元)以映射備份區504的實體抹除單元並且將預設的最低門檻值加上預定數量所獲得的值來設定垃圾回收門檻值。如上所述,最低門檻值為執行資料合併運作所需的實體抹除單元的數目並預定數量為欲保留專用於備份資料的實體抹除單元的數目。在此,最低門檻值與預定數量可根據使用者的需求,適當的設定,不限於任何數目。
在步驟S2403中,記憶體控制電路單元104(或記憶體管理電路202)從主機系統1000中接收一寫入指令,並且判斷此寫入指令所指示欲儲存資料的邏輯單元為第一邏輯單元或第二邏輯單元。
倘若此寫入指令所指示欲儲存資料的邏輯單元為第二邏輯單元時,在步驟S2405中記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506的實體抹除單元中提取至少一實體抹除單元(以下稱為第一實體抹除單元),將備份寫入指令所指示的資料(以下稱為第一資料)寫入至第一實體抹除單元中,將第一實體抹除單元關聯至備份區504。並且,在步驟S2407中記憶體控制電路單元104(或記憶體管理電路202)會依據備份區504中實體抹除單元的數目與最低門檻值來調整垃圾回收門檻值。
倘若此寫入指令所指示欲儲存資料的邏輯單元為第一邏輯單元時,在步驟S2409中,記憶體控制電路單元104(或記憶體管理電路202)會判斷閒置區506的實體抹除單元的數目是否不大於垃圾回收門檻值。
倘若閒置區506的實體抹除單元的數目不大於垃圾回收門檻值時,在步驟S2411中,記憶體控制電路單元104(或記憶體管理電路202)會執行一資料合併操作以將資料區502的至少一實體抹除單元關聯至閒置區506。例如,記憶體控制電路單元104(或記憶體管理電路202)從資料區502的實體抹除單元中選擇一實體抹除單元(以下稱為第三實體抹除單元),並且倘若第三實體抹除單 元存有至少一有效資料時,將此至少一有效資料從第三實體抹除單元複製到資料區506中的另一實體抹除單元(以下稱為第四實體抹除單元),抹除第三實體抹除單元並且將抹除後的第三實體抹除單元關聯至閒置區506。資料合併操作的詳細執行方式已配合圖式描述如上,在此不再重覆說明。
之後,在步驟S2413中,記憶體控制電路單元104(或記憶體管理電路202)會從閒置區506中提取至少一實體抹除單元(以下稱為第二實體抹除單元),將此寫入指令所指示的資料(以下稱第二寫入資料)寫入至此第二實體抹除單元,並且將第二實體抹除單元關聯至資料區506。
基於上述,本範例實施例的資料寫入方法、記憶體控制電路單元與記憶體儲存裝置能夠在有效地以頁面為基礎的寫入機制來程式化資料的同時,亦可對於大量備份資料進行有效率地寫入,由此縮短執行請求寫入大量備份資料之備份寫入指令的時間並且避免資料遺失。
S2401、S2403、S2405、S2407、S2409、S2411、S2413‧‧‧資料寫入方法的步驟

Claims (15)

  1. 一種資料寫入方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該資料寫入方法包括:將該些實體抹除單元至少關聯至一資料區、一備份區與一閒置區;配置多個第一邏輯單元與多個第二邏輯單元以提供一主機系統存取,其中該些第一邏輯單元映射被關聯至該資料區的該些實體抹除單元,且該些第二邏輯單元映射被關聯至該備份區的該些實體抹除單元;將一最低門檻值加上一預定數量所獲得的值來設定一垃圾回收門檻值;從該主機系統中接收一第一寫入指令,其中該第一寫入指令指示寫入一第一資料至該些第二邏輯單元之中的至少一邏輯單元;以及從該閒置區的該些實體抹除單元中提取至少一第一實體抹除單元,將該第一資料寫入至該至少一第一實體抹除單元,將該至少一第一實體抹除單元關聯至該備份區,且依據該至少一第一實體抹除單元的數目與該最低門檻值來調整該垃圾回收門檻值,其中調整後的該垃圾回收門檻值是藉由將該最低門檻值加上該預定數量所獲得的值減去該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目來獲得,並且該些實體抹除單元之中 被關聯至該備份區的實體抹除單元的數目不大於該預定數量。
  2. 如申請專利範圍第1項所述的資料寫入方法,更包括:從該主機系統中接收一第二寫入指令,其中該寫入指令指示寫入一第二資料至該些第一邏輯單元之中的至少一邏輯單元;以及從該閒置區的實體抹除單元中提取至少一第二實體抹除單元,將該第二資料寫入至該至少一第二實體抹除單元並且將該至少一第二實體抹除單元關聯至該資料區。
  3. 如申請專利範圍第2項所述的資料寫入方法,更包括:判斷該閒置區的實體抹除單元的數目是否不大於該垃圾回收門檻值;以及倘若該閒置區的實體抹除單元的數目不大於該垃圾回收門檻值時,執行一資料合併操作以將該資料區的至少一實體抹除單元關聯至該閒置區。
  4. 如申請專利範圍第3項所述的資料寫入方法,其中執行該資料合併操作以將該資料區的至少一實體抹除單元關聯至該閒置區的步驟包括:從該資料區的實體抹除單元中選擇一第三實體抹除單元;倘若該第三實體抹除單元存有至少一有效資料時,將該至少一有效資料從該第三實體抹除單元複製到該資料區中的一第四實體抹除單元;以及抹除該第三實體抹除單元並且將抹除後的該第三實體抹除單 元關聯至該閒置區。
  5. 如申請專利範圍第1項所述的資料寫入方法,更包括:從該主機系統中接收一刪除指令,其中該刪除指令指示刪除該第一資料;以及對該至少一第一實體抹除單元執行一抹除操作,將該至少一第一實體抹除單元關聯至該閒置區並且依據該最低門檻值與該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目來重新調整該垃圾回收門檻值。
  6. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以將該些實體抹除單元至少關聯至一資料區、一備份區與一閒置區,其中該記憶體管理電路更用以配置多個第一邏輯單元與多個第二邏輯單元以提供該主機系統存取,其中該些第一邏輯單元映射被關聯至該資料區的該些實體抹除單元,且該些第二邏輯單元映射被關聯至該備份區的該些實體抹除單元,其中該記憶體管理電路更用以將一最低門檻值加上一預定數 量所獲得的值來設定一垃圾回收門檻值,其中該記憶體管理電路更用以從該主機系統中接收一第一寫入指令,其中該第一寫入指令指示寫入一第一資料至該些第二邏輯單元之中的至少一邏輯單元,其中該記憶體管理電路更用以從該閒置區的該些實體抹除單元中提取至少一第一實體抹除單元,將該第一資料寫入至該至少一第一實體抹除單元,將該至少一第一實體抹除單元關聯至該備份區,且依據該至少一第一實體抹除單元的數目與該最低門檻值來調整該垃圾回收門檻值,其中調整後的該垃圾回收門檻值是藉由將該最低門檻值加上該預定數量所獲得的值減去該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目來獲得,並且該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目不大於該預定數量。
  7. 如申請專利範圍第6項所述的記憶體控制電路單元,其中該記憶體管理電路更用以從該主機系統中接收一第二寫入指令,其中該寫入指令指示寫入一第二資料至該些第一邏輯單元之中的至少一邏輯單元,其中該記憶體管理電路更用以從該閒置區的實體抹除單元中提取至少一第二實體抹除單元,將該第二資料寫入至該至少一第二實體抹除單元並且將該至少一第二實體抹除單元關聯至該資料區。
  8. 如申請專利範圍第7項所述的記憶體控制電路單元,其中 該記憶體管理電路更用以判斷該閒置區的實體抹除單元的數目是否不大於該垃圾回收門檻值,倘若該閒置區的實體抹除單元的數目不大於該垃圾回收門檻值時,該記憶體管理電路執行一資料合併操作以將該資料區的至少一實體抹除單元關聯至該閒置區。
  9. 如申請專利範圍第8項所述的記憶體控制電路單元,其中在執行該資料合併操作以將該資料區的至少一實體抹除單元關聯至該閒置區的運作中,該記憶體管理電路從該資料區的實體抹除單元中選擇一第三實體抹除單元,並且抹除該第三實體抹除單元並且將抹除後的該第三實體抹除單元關聯至該閒置區,其中倘若該第三實體抹除單元存有至少一有效資料時,該記憶體管理電路在抹除該第三實體抹除單元之前先將該至少一有效資料從該第三實體抹除單元複製到該資料區中的一第四實體抹除單元。
  10. 如申請專利範圍第6項所述的記憶體控制電路單元,其中該記憶體管理電路更用以從該主機系統中接收一刪除指令,其中該刪除指令指示刪除該第一資料,其中該記憶體管理電路更用以對該至少一第一實體抹除單元執行一抹除操作,將該至少一第一實體抹除單元關聯至該閒置區並且依據該最低門檻值與該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目來重新調整該垃圾回收門檻值。
  11. 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,具有多個實體抹除單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,並且用以將該些實體抹除單元至少關聯至一資料區、一備份區與一閒置區,其中該記憶體控制電路單元更用以配置多個第一邏輯單元與多個第二邏輯單元以提供該主機系統存取,其中該些第一邏輯單元映射被關聯至該資料區的該些實體抹除單元,且該些第二邏輯單元映射被關聯至該備份區的該些實體抹除單元,其中該記憶體控制電路單元更用以將一最低門檻值加上一預定數量所獲得的值來設定一垃圾回收門檻值,其中該記憶體控制電路單元更用以從該主機系統中接收一第一寫入指令,其中該第一寫入指令指示寫入一第一資料至該些第二邏輯單元之中的至少一邏輯單元,其中該記憶體控制電路單元更用以從該閒置區的該些實體抹除單元中提取至少一第一實體抹除單元,將該第一資料寫入至該至少一第一實體抹除單元,將該至少一第一實體抹除單元關聯至該備份區,且依據該至少一第一實體抹除單元的數目與該最低門檻值來調整該垃圾回收門檻值,其中調整後的該垃圾回收門檻值是藉由將該最低門檻值加上該預定數量所獲得的值減去該些實體抹除單元之中被關聯至該備 份區的實體抹除單元的數目來獲得,並且該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目不大於該預定數量。
  12. 如申請專利範圍第11項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以從該主機系統中接收一第二寫入指令,其中該第二寫入指令指示寫入一第二資料至該些第一邏輯單元之中的至少一邏輯單元,其中該記憶體控制電路單元更用以從該閒置區的實體抹除單元中提取至少一第二實體抹除單元,將該第二資料寫入至該至少一第二實體抹除單元並且將該至少一第二實體抹除單元關聯至該資料區。
  13. 如申請專利範圍第12項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以判斷該閒置區的實體抹除單元的數目是否不大於該垃圾回收門檻值,倘若該閒置區的實體抹除單元的數目不大於該垃圾回收門檻值時,該記憶體控制電路單元執行一資料合併操作以將該資料區的至少一實體抹除單元關聯至該閒置區。
  14. 如申請專利範圍第13項所述的記憶體儲存裝置,其中在執行該資料合併操作以將該資料區的至少一實體抹除單元關聯至該閒置區的運作中,該記憶體控制電路單元從該資料區的實體抹除單元中選擇一第三實體抹除單元,並且抹除該第三實體抹除單元並且將抹除後的該第三實體抹除單元關聯至該閒置區,其中倘若該第三實體抹除單元存有至少一有效資料時,該記 憶體控制電路單元在抹除該第三實體抹除單元之前先將該至少一有效資料從該第三實體抹除單元複製到該資料區中的一第四實體抹除單元。
  15. 如申請專利範圍第11項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以從該主機系統中接收一刪除指令,其中該刪除指令指示刪除該第一資料,其中該記憶體控制電路單元更用以對該至少一第一實體抹除單元執行一抹除操作,將該至少一第一實體抹除單元關聯至該閒置區並且依據該最低門檻值與該些實體抹除單元之中被關聯至該備份區的實體抹除單元的數目來重新調整該垃圾回收門檻值。
TW103100746A 2014-01-09 2014-01-09 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 TWI524183B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103100746A TWI524183B (zh) 2014-01-09 2014-01-09 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US14/226,768 US9280460B2 (en) 2014-01-09 2014-03-26 Data writing method, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103100746A TWI524183B (zh) 2014-01-09 2014-01-09 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201527973A TW201527973A (zh) 2015-07-16
TWI524183B true TWI524183B (zh) 2016-03-01

Family

ID=53495278

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103100746A TWI524183B (zh) 2014-01-09 2014-01-09 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9280460B2 (zh)
TW (1) TWI524183B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714975B (zh) * 2018-09-07 2021-01-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TWI749685B (zh) * 2020-08-05 2021-12-11 宇瞻科技股份有限公司 記憶體儲存裝置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102596400B1 (ko) 2016-03-07 2023-11-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
TWI603193B (zh) * 2016-03-31 2017-10-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI602061B (zh) * 2017-03-16 2017-10-11 群聯電子股份有限公司 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元
TWI681295B (zh) * 2017-07-07 2020-01-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN109273033B (zh) * 2017-07-17 2021-03-30 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI644210B (zh) * 2017-09-08 2018-12-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN109491588B (zh) * 2017-09-13 2022-05-31 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
US10884954B2 (en) 2018-09-17 2021-01-05 Silicon Motion, Inc. Method for performing adaptive locking range management, associated data storage device and controller thereof
CN110908925B (zh) 2018-09-17 2022-01-25 慧荣科技股份有限公司 高效能垃圾收集方法以及数据存储装置及其控制器
TWI721365B (zh) * 2018-09-17 2021-03-11 慧榮科技股份有限公司 高效能垃圾收集方法以及資料儲存裝置及其控制器
TWI701552B (zh) * 2019-03-22 2020-08-11 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI729674B (zh) 2020-01-13 2021-06-01 慧榮科技股份有限公司 資料儲存裝置及其垃圾蒐集方法
CN111931255A (zh) * 2020-04-02 2020-11-13 深圳云存科技有限公司 自动销毁与拷贝***
JP2022074450A (ja) * 2020-11-04 2022-05-18 キオクシア株式会社 メモリカード、メモリシステム、及びファイルの断片化解消方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000017874A1 (fr) * 1998-09-18 2000-03-30 Kabushiki Kaisha Toshiba Procede d'enregistrement d'informations, dispositif d'enregistrement d'informations et support d'informations
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
WO2008070173A1 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
US8626986B2 (en) * 2010-06-30 2014-01-07 Sandisk Technologies Inc. Pre-emptive garbage collection of memory blocks
US8856475B1 (en) * 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714975B (zh) * 2018-09-07 2021-01-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TWI749685B (zh) * 2020-08-05 2021-12-11 宇瞻科技股份有限公司 記憶體儲存裝置
US11294779B2 (en) 2020-08-05 2022-04-05 Apacer Technology Inc. Memory device providing fast data recovery

Also Published As

Publication number Publication date
US9280460B2 (en) 2016-03-08
TW201527973A (zh) 2015-07-16
US20150193340A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI526830B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20180260317A1 (en) Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
TWI569139B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
TWI498902B (zh) 資料管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI489466B (zh) 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
TWI479505B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI660271B (zh) 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置
US9965400B2 (en) Memory management method, memory control circuit unit and memory storage device
TW201409230A (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI536166B (zh) 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TW201351137A (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI517165B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TW201913384A (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN112051971B (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
TW201525693A (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI553477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN113138720B (zh) 数据存储方法、存储器控制电路单元以及存储器存储装置