TWI664528B - 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents

記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 Download PDF

Info

Publication number
TWI664528B
TWI664528B TW107119539A TW107119539A TWI664528B TW I664528 B TWI664528 B TW I664528B TW 107119539 A TW107119539 A TW 107119539A TW 107119539 A TW107119539 A TW 107119539A TW I664528 B TWI664528 B TW I664528B
Authority
TW
Taiwan
Prior art keywords
super
units
unit
entity
good
Prior art date
Application number
TW107119539A
Other languages
English (en)
Other versions
TW202001567A (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 TW107119539A priority Critical patent/TWI664528B/zh
Priority to US16/045,754 priority patent/US10678477B2/en
Application granted granted Critical
Publication of TWI664528B publication Critical patent/TWI664528B/zh
Publication of TW202001567A publication Critical patent/TW202001567A/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Abstract

一種用於可複寫式非揮發性記憶體模組的記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。可複寫式非揮發性記憶體模組包括多個超實體單元,多個超實體單元至少包括多個好超實體單元及多個部分好超實體單元。所述方法包括接收主機寫入指令;根據多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合,其中第一超實體單元集合包括按個數比率從多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元;以及將資料寫入至第一超實體單元集合的好實體抹除單元中,以回應主機寫入指令。

Description

記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
本發明是有關於一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
為了提高快閃記憶體的最高速度(即頻寬),當今快閃記憶體大部分使用多通道(channel)的設計。屬於不同通道且區塊面不同的實體抹除單元(block)可以組成一個虛擬區塊 (Virtual Block,VB)(在此亦稱為超實體單元)。然而因為出廠良率與使用壽命等因素 (early bad / later bad),超實體單元中的一些實體抹除單元會因壞掉而無法使用,其中,包含因壞掉而無法使用的實體抹除單元的超實體單元稱之為部分好超實體單元(non all good VB),所有實體抹除單元皆可用的超實體單元稱之為好超實體單元(all good VB)。
為了提高生產的良率以及快閃記憶體的壽命,部分好超實體單元也會拿來使用。但在使用部分好超實體單元的時候,有些通道會因此通道的實體抹除單元壞掉而無法使用,就會造成整個通道閒置,浪費頻寬。
請參照圖1,圖1為單位時間內快閃記憶體的速度持續低落的示意圖。當快閃記憶體設計不良,單位時間內連續挑到包括有壞實體抹除單元的部分好超實體單元的話,就可能會造成單位時間內快閃記憶體的速度持續低落,或是速度忽快忽慢等等性能不穩定的情形,這在許多應用上是不樂意見到的。
本發明提供一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。
本發明的一範例實施例提出一種記憶體管理方法,用於可複寫式非揮發性記憶體模組。可複寫式非揮發性記憶體模組包括至少包括多個好超實體單元及多個部分好超實體單元的多個超實體單元,其中每一個好超實體單元包括多個好實體抹除單元,每一個部分好超實體單元包括至少一個壞實體抹除單元。此記憶體管理方法包括:接收主機寫入指令;根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合,其中第一超實體單元集合包括按個數比率從多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元;以及將資料寫入至第一超實體單元集合的好實體抹除單元中,以回應主機寫入指令。
在本發明的一範例實施例中,上述記憶體管理方法更包括根據多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率。
在本發明的一範例實施例中,上述記憶體管理方法更包括根據可複寫式非揮發性記憶體模組中好超實體單元與部分好超實體單元的個數比率從可複寫式非揮發性記憶體模組中除第一超實體單元集合以外的剩餘超實體單元之中選擇出第二超實體單元集合,其中第二超實體單元集合包括按個數比率從剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元;以及將資料繼續寫入至第二超實體單元集合的好實體抹除單元中。
在本發明的一範例實施例中,上述記憶體管理方法更包括將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元;對壞超實體單元、部分好超實體單元以及好超實體單元分別作標記;以及更新超實體單元佇列表。
在本發明的一範例實施例中,上述記憶體管理方法更包括依據每一超實體單元中壞實體抹除單元的個數與每一超實體單元中實體抹除單元的總個數的比例將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合的步驟包括:依據超實體單元佇列表選擇出第一超實體單元集合;以及對第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
本發明的一範例實施例提出一種記憶體控制電路單元,用於包括多個超實體單元的可複寫式非揮發性記憶體模組。多個超實體單元至少包括多個好超實體單元及多個部分好超實體單元,其中每一個好超實體單元包括多個好實體抹除單元,每一個部分好超實體單元包括至少一個壞實體抹除單元。此記憶體控制電路單元包括:主機介面、記憶體介面以及記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。記憶體管理電路耦接至主機介面與記憶體介面。其中記憶體管理電路用以接收主機寫入指令,根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合,第一超實體單元集合包括按個數比率從多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元。記憶體管理電路更用以將資料寫入至第一超實體單元集合的好實體抹除單元中,以回應主機寫入指令。
在本發明的一範例實施例中,其中記憶體管理電路更用以根據多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率。
在本發明的一範例實施例中,其中記憶體管理電路更用以根據可複寫式非揮發性記憶體模組中好超實體單元與部分好超實體單元的個數比率從可複寫式非揮發性記憶體模組中除第一超實體單元集合以外的剩餘超實體單元之中選擇出第二超實體單元集合,其中第二超實體單元集合包括按個數比率從剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元。此外,記憶體管理電路更用以將資料繼續寫入至第二超實體單元集合的好實體抹除單元中。
在本發明的一範例實施例中,其中記憶體管理電路更用以將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元並且對壞超實體單元、部分好超實體單元以及好超實體單元分別作標記。此外,記憶體管理電路更用以更新超實體單元佇列表。
在本發明的一範例實施例中,其中記憶體管理電路更用以依據每一超實體單元中壞實體抹除單元的個數與每一超實體單元中實體抹除單元的總個數的一比例將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元。
在本發明的一範例實施例中,其中記憶體管理電路更用以根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合的操作包括,記憶體管理電路更用以依據超實體單元佇列表選擇出第一超實體單元集合。記憶體管理電路更用以對第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
本發明的一範例實施例提出一種記憶體儲存裝置,包括:連接介面單元、可複寫式非揮發性記憶體模組以及記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組包括多個超實體單元,多個超實體單元至少包括多個好超實體單元及多個部分好超實體單元,其中每一個好超實體單元包括多個好實體抹除單元,每一個部分好超實體單元包括至少一個壞實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組。其中記憶體控制電路單元用以接收主機寫入指令,根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合,第一超實體單元集合包括按個數比率從多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元。記憶體控制電路單元更用以將資料寫入至第一超實體單元集合的好實體抹除單元中,以回應主機寫入指令。
在本發明的一範例實施例中,其中記憶體控制電路單元更用以根據多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率。
在本發明的一範例實施例中,其中記憶體控制電路單元更用以根據可複寫式非揮發性記憶體模組中好超實體單元與部分好超實體單元的個數比率從可複寫式非揮發性記憶體模組中除第一超實體單元集合以外的剩餘超實體單元之中選擇出第二超實體單元集合,其中第二超實體單元集合包括按個數比率從剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元。記憶體控制電路單元更用以將資料繼續寫入至第二超實體單元集合的好實體抹除單元中。
在本發明的一範例實施例中,其中記憶體控制電路單元更用以將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元並且對壞超實體單元、部分好超實體單元以及好超實體單元分別作標記。記憶體控制電路單元更用以更新超實體單元佇列表。
在本發明的一範例實施例中,其中記憶體控制電路單元更用以依據每一超實體單元中壞實體抹除單元的個數與每一超實體單元中實體抹除單元的總個數的比例將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元。
在本發明的一範例實施例中,其中記憶體控制電路單元更用以根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合的操作包括,記憶體控制電路單元更用以依據超實體單元佇列表選擇出第一超實體單元集合。記憶體控制電路單元更用以對第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
基於上述,本發明提供一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置,依據好超實體單元與部分好超實體單元的個數比率選擇超實體單元集合以供主機系統的資料寫入,平均了部分好超實體單元中壞實體抹除單元出現的機率,使得單位時間內可複寫式非揮發性記憶體模組速度穩定,並且可複寫式非揮發性記憶體模組的實體抹除單元使用次數較為平均,減少了平均磨損的機率,提高了可複寫式非揮發性記憶體模組的使用壽命。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路單元)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖2是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖,並且圖3是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。
請參照圖2與圖3,主機系統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是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖4,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的SD卡32、CF卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded MMC, eMMC)341及/或嵌入式多晶片封裝儲存裝置(embedded Multi Chip Package, eMCP)342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖5是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。
請參照圖5,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於安全數位(Secure Digital, SD)介面標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合序列先進附件(Serial Advanced Technology Attachment, SATA)標準、並列先進附件(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)介面標準、記憶棒(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)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組406為單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個資料位元的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組406亦可是多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個資料位元的快閃記憶體模組)、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)或其他具有相同特性的記憶體模組。
圖6是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖6,記憶體控制電路單元404包括記憶體管理電路502、主機介面504與記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
主機介面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所能接受的格式。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體508、電源管理電路510與錯誤檢查與校正電路512。
緩衝記憶體508是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。
電源管理電路510是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
錯誤檢查與校正電路512是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路512會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code, ECC Code),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路512會根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
在本範例實施例中,錯誤檢查與校正電路512是以低密度奇偶檢查碼(low density parity code,LDPC)來實作。然而,在另一範例實施例中,錯誤檢查與校正電路512也可以BCH碼、迴旋碼(convolutional code)、渦輪碼(turbo code)、位元翻轉(bit flipping)等編碼/解碼演算法來實作。
具體來說,記憶體管理電路202會依據所接收之資料及對應的錯誤檢查與校正碼(以下亦稱為錯誤校正碼)來產生錯誤校正碼框(ECC Frame)並且將錯誤校正碼框寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406讀取資料時,錯誤檢查與校正電路512會根據錯誤校正碼框中的錯誤校正碼來驗證所讀取之資料的正確性。
以下描述記憶體管理電路502、主機介面504與記憶體介面506、緩衝記憶體508、電源管理電路510與錯誤檢查與校正電路512所執行的操作,亦可參考為由記憶體控制電路單元404所執行。
圖7是根據一範例實施例所繪示之管理超實體單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以“分組”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖7,可複寫式非揮發性記憶體模組406包括分別屬於通道310、通道320、通道330以及通道340(以下簡稱通道310~340)且分別屬於第一區塊面312、第一區塊面322、第一區塊面332、第一區塊面342(以下簡稱第一區塊面312~342)、第二區塊面314、第二區塊面324、第二區塊面334、第二區塊面344(以下簡稱第二區塊面314~344)的多個實體抹除單元組成的多個超實體單元。例如,通道310~340分別地為不同通道,第一區塊面312~342與第二區塊面314~344分別地為不同的區塊面。
其中,實體抹除單元410(0)~410(N)與實體抹除單元420(0)~420(N)分別屬於通道310的第一區塊面312與第二區塊面314。實體抹除單元430(0)~430(N) 與實體抹除單元440(0)~440(N) 屬於通道320的第一區塊面322與第二區塊面324。實體抹除單元450(0)~450(N)與實體抹除單元460(0)~460(N) 屬於通道330的第一區塊面332與第二區塊面334。並且實體抹除單元470(0)~470(N) 與實體抹除單元480(0)~480(N) 屬於通道340的第一區塊面342與第二區塊面344。
再請參照圖7,而屬於不同通道且屬於不同區塊面的多個實體抹除單元可以組成一個虛擬區塊 (Virtual Block,VB)(在此亦稱為超實體單元)。例如,實體抹除單元410(0)、實體抹除單元420(0)、實體抹除單元430(0)、實體抹除單元440(0)、實體抹除單元450(0)、實體抹除單元460(0)、實體抹除單元470(0)及實體抹除單元480(0)(以下簡稱實體抹除單元410(0)~480(0))可以組成超實體單元VB0。同樣地,實體抹除單元410(1)~480(1)可以組成超實體單元VB1。實體抹除單元410(2)~480(2) 可以組成超實體單元VB2。以此類推,實體抹除單元410(N)~480(N)可以組成超實體單元VBn。
於一範例實施例中,超實體單元VB0包括有壞實體抹除單元450(0)以及壞實體抹除單元470(0),超實體單元VB1包括有壞實體抹除單元440(1)以及壞實體抹除單元450(1),超實體單元VBn包括有壞實體抹除單元460(N)。也就是說,超實體單元VB0、超實體單元VB1以及超實體單元VBn均包括至少一個壞實體抹除單元,僅部分實體抹除單元可用,因此,超實體單元VB0、超實體單元VB1以及超實體單元VBn可視為部分好超實體單元。而超實體單元VB2中包括的實體抹除單元410(2)~480(2)均為可用的好實體抹除單元,超實體單元VB2可視為好超實體單元。
圖8是根據一範例實施例所繪示之超實體單元中的實體抹除單元與邏輯位址映射的範例示意圖,並且圖9是根據一範例實施例所繪示之超實體單元中的實體抹除單元與邏輯位址重新映射的範例示意圖。
請參照圖8。在一範例實施例中,記憶體管理電路502會配置邏輯位址610(0)~680(N)給主機系統11,以映射至實體抹除單元410(0)~480(N),以利於儲存資料之實體抹除單元進行資料存取。特別是,主機系統11會透過邏輯位址610(0)~680(N)來存取實體抹除單元410(0)~480(N)中的資料。此外,記憶體管理電路502會建立邏輯-實體映射表(logical-physical mapping table),以記錄邏輯位址與實體抹除單元之間的映射關係。此邏輯-實體映射表還可以例如是記錄邏輯位址與實體程式化單元、邏輯程式化單元與實體程式化單元及/或邏輯程式化單元與實體抹除單元之間的映射關係等各種邏輯與實體的對應關係,本發明不加以限制。
一般來說,在記憶體儲存裝置10出廠之前,製造商會使用量產工具(Mass Production tool,MP tool)來對記憶體儲存裝置10執行開卡操作,以執行初始化動作。
請參照圖9,記憶體儲存裝置10執行開卡操作時,會利用重新映射(即remap)的方式來將多個超實體單元VB0~VBn至少分組為壞超實體單元、部分好超實體單元以及好超實體單元,從而排列出盡可能多的好超實體單元來使用,延長記憶體儲存裝置10的使用壽命。在一範例實施例中,記憶體控制電路單元404從多個超實體單元VB0~VBn之中選擇第一部分好超實體單元(例如部分好超實體單元VB0)及第二部分好超實體單元(例如部分好超實體單元VB1)。例如,部分好超實體單元VB0包括壞實體抹除單元450(0)以及壞實體抹除單元470(0),部分好超實體單元VB1包括壞實體抹除單元440(1)以及壞實體抹除單元450(1)。記憶體控制電路單元404將部分好超實體單元VB0的好實體抹除單元440(0)映射至部分好超實體單元VB1的壞實體抹除單元440(1)的邏輯位址640(1)。部分好超實體單元VB1的壞實體抹除單元440(1)不再映射至邏輯地址,並且部分好超實體單元VB0的好實體抹除單元440(0)與部分好超實體單元VB1的壞實體抹除單元440(1)屬於同一通道320且屬於同一區塊面324。此外,記憶體控制電路單元404更新邏輯-實體映射表。
同樣地,記憶體控制電路單元404從多個超實體單元VB0~VBn之中選擇第三部分好超實體單元(例如部分好超實體單元VBn),記憶體控制電路單元404將第一部分好超實體單元(例如部分好超實體單元VB0)的好實體抹除單元460(0)映射至部分好超實體單元VBn的壞實體抹除單元460(N)的邏輯位址660(N)。部分好超實體單元VBn的壞實體抹除單元460(N)不再映射至邏輯地址,並且部分好超實體單元VB0的好實體抹除單元460(0)與部分好超實體單元VBn的壞實體抹除單元460(N)屬於同一通道330且屬於同一區塊面334。此外,記憶體控制電路單元404更新邏輯-實體映射表。
在上述範例實施例中,記憶體控制電路單元404利用重新映射的方式將壞實體抹除單元(例如壞實體抹除單元440(1)、壞實體抹除單元460(N))集中在超實體單元VB0中,並且記憶體控制電路單元404會依據超實體單元VB0~VBn中每一個超實體單元的壞實體抹除單元的個數與實體抹除單元個數的比例將超實體單元VB0~VBn至少分組為壞超實體單元、部分好超實體單元以及好超實體單元。
一般來說,當一個超實體單元的壞實體抹除單元的個數與一個超實體單元的實體抹除單元的總個數的比例超出四分之一時,可以判定此超實體單元為壞超實體單元。也就是說,此超實體單元不可用。若超實體單元至少包括一個壞實體抹除單元但壞實體抹除單元的個數少於四分之一的實體抹除單元的總個數時,可以判定此超實體單元為部分好超實體單元。若超實體單元不包括壞實體抹除單元,則可以判定此超實體單元為好超實體單元。
此外,記憶體控制電路單元404會對壞超實體單元、部分好超實體單元以及好超實體單元分別作標記,並更新超實體單元佇列表。在此,超實體單元佇列表是用以記錄代表超實體單元的資訊,例如可以是超實體單元的標記、編號、識別值或是其實體抹除單元所對應的邏輯位址。也就是說,記憶體儲存裝置10執行開卡操作重新映射之後,其資訊對應記錄在更新後的超實體單元佇列表中。在一範例實施例中,記憶體控制電路單元404可以依序將壞超實體單元、部分好超實體單元以及好超實體單元的資訊記錄在超實體單元佇列表,為便於記憶體控制電路單元404選取。
在一範例實施例中,記憶體控制電路單元404依據超實體單元佇列表選擇出第一超實體單元集合、第二超實體單元集合等多個超實體單元集合,並且同時對超實體單元集合中的多個好超實體單元的個數及至少一個部分好超實體單元的個數計數,根據多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率,以使得第一超實體單元集合包括按個數比率選擇出的好超實體單元及部分好超實體單元,第二超實體單元集合包括按更新的個數比率選擇出的好超實體單元及部分好超實體單元,以此類推,直至選擇出多個超實體單元集合。
舉例而言,可複寫式非揮發性記憶體模組406包括1000個超實體單元,其中好超實體單元為980個,而部分好超實體單元為20個。記憶體控制電路單元404根據可複寫式非揮發性記憶體模組406中好超實體單元與部分好超實體單元的個數比率從多個超實體單元VB0~VBn中選擇出第一超實體單元集合。換句話說,可複寫式非揮發性記憶體模組406中好超實體單元與部分好超實體單元的個數比率為49:1,記憶體控制電路單元404從多個超實體單元VB0~VBn的好超實體單元中選擇49個好超實體單元,再從多個超實體單元VB0~VBn的部分好超實體單元中選擇1個部分好超實體單元。此49個好超實體單元與1個部分好超實體單元構成第一超實體單元集合(例如超實體單元VB0~VB49,其中超實體單元VB0~VB48為好超實體單元,超實體單元VB49為部分好超實體單元)。記憶體控制電路單元404再繼續從剩餘超實體單元之中選擇出第二超實體單元集合,記憶體控制電路單元404根據可複寫式非揮發性記憶體模組406中除第一超實體單元集合以外的剩餘超實體單元之中的多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率,並且根據更新的個數比率從可複寫式非揮發性記憶體模組406中除第一超實體單元集合以外的剩餘超實體單元之中選擇出第二超實體單元集合。也就是說,此時,可複寫式非揮發性記憶體模組406中除第一超實體單元集合以外的剩餘超實體單元之中的多個好超實體單元的個數與多個部分好超實體單元的個數分別為931個與19個,更新的個數比率為49:1,記憶體控制電路單元404繼續從剩餘的超實體單元VB50~VBn的好超實體單元中選擇49個好超實體單元,再從超實體單元VB50~VBn的部分好超實體單元中選擇1個部分好超實體單元。同樣地,此49個好超實體單元與1個部分好超實體單元構成第二超實體單元集合(例如超實體單元VB50~VB99,其中超實體單元VB50~VB98為好超實體單元,超實體單元VB99為部分好超實體單元)。以此類推,記憶體控制電路單元404將多個超實體單元VB0~VBn選擇出多個超實體單元集合,並且將主機系統的資料依序寫入至選擇出的多個超實體單元集合的好實體抹除單元中,上述動態地更新個數比率是由於可複寫式非揮發性記憶體模組406中的好超實體單元會因程式化操作而變為部分好超實體單元,甚至會變為壞超實體單元,因此,在寫入資料的過程中,好超實體單元的個數會逐漸減少,部分好超實體單元的個數會逐漸增加。
圖10是一範例實施例中單位時間內快閃記憶體的存取速度平穩的示意圖。
請參照圖10,記憶體控制電路單元404將多個超實體單元VB0~VBn中的好超實體單元與部分好超實體單元以固定的比例(個數比率)選擇出多個超實體單元集合來使用,避免了過多的部分好超實體單元集中在某一時刻被使用,使得可複寫式非揮發性記憶體模組406中的實體抹除單元使用次數較為平均,並且存取速度較為平穩。
值得一提的是,雖然本發明範例實施例是以包括4個通道、2個區塊面的可複寫式非揮發性記憶體模組406為例來描述,但本發明不限於此。在其他範例實施例中,可複寫式非揮發性記憶體模組406也可以包括更多或更少的通道或者更多或更少的區塊面。
圖11是根據一範例實施例所繪示之記憶體管理方法的流程圖。
請參照圖11,在步驟S1101中,記憶體控制電路單元404接收主機寫入指令。
在步驟S1103中,記憶體控制電路單元404根據可複寫式非揮發性記憶體模組406中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合,其中第一超實體單元集合包括按個數比率從多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元。
在步驟S1105中,記憶體控制電路單元404根據多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率。
在步驟S1107中,記憶體控制電路單元404根據可複寫式非揮發性記憶體模組406中好超實體單元與部分好超實體單元的個數比率從可複寫式非揮發性記憶體模組406除第一超實體單元集合以外的剩餘超實體單元之中選擇出第二超實體單元集合,其中第二超實體單元集合包括按個數比率從剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元。
在步驟S1109中,記憶體控制電路單元404將主機系統的資料寫入至第一超實體單元集合的好實體抹除單元中。
在步驟S1111中,記憶體控制電路單元404將主機系統的資料繼續寫入至第二超實體單元集合的好實體抹除單元中,以回應主機寫入指令。
圖12是根據一範例實施例所繪示之實體抹除單元與邏輯位址重新映射的流程圖。
請參照圖12,在步驟S1201中,記憶體控制電路單元404從多個超實體單元之中選擇第一部分好超實體單元及第二部分好超實體單元。
在步驟S1203中,記憶體控制電路單元404將第一部分好超實體單元的好實體抹除單元映射至第二部分好超實體單元的壞實體抹除單元的邏輯位址,第二部分好超實體單元的壞實體抹除單元不再映射至邏輯地址,其中,第一部分好超實體單元的好實體抹除單元與第二部分好超實體單元的壞實體抹除單元屬於同一通道且屬於同一區塊面。
在步驟S1205中,記憶體控制電路單元404更新邏輯-實體映射表。
圖13是根據另一範例實施例所繪示之記憶體管理方法的流程圖。
請參照圖13,在步驟S1301中,記憶體控制電路單元404將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元。
在步驟S1303中,記憶體控制電路單元404對壞超實體單元、部分好超實體單元以及好超實體單元分別作標記。
在步驟S1305中,記憶體控制電路單元404更新超實體單元佇列表。
在步驟S1307中,記憶體控制電路單元404依據超實體單元佇列表選擇出第一超實體單元集合。
在步驟S1309中,記憶體控制電路單元404對第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
綜上所述,本發明提供一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置,依據好超實體單元與部分好超實體單元的個數比率選擇超實體單元集合以供主機系統的資料寫入,平均了部分好超實體單元中壞實體抹除單元出現的機率,使得單位時間內可複寫式非揮發性記憶體模組速度穩定,並且可複寫式非揮發性記憶體模組的實體抹除單元使用次數較為平均,減少了平均磨損的機率,提高了可複寫式非揮發性記憶體模組的使用壽命。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧輸入/輸出(I/O)裝置
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體(RAM)/緩衝記憶體
113‧‧‧唯讀記憶體(ROM)
114‧‧‧資料傳輸介面
20‧‧‧主機板
201‧‧‧隨身碟
202‧‧‧記憶卡
203‧‧‧固態硬碟
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
30‧‧‧記憶體儲存裝置
31‧‧‧主機系統
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
408‧‧‧選項唯讀記憶體
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧緩衝記憶體
510‧‧‧電源管理電路
512‧‧‧錯誤檢查與校正電路
310、320、330、340‧‧‧通道
312、322、332、342‧‧‧第一區塊面
314、324、334、344‧‧‧第二區塊面
410(0)~410(N)、420(0)~420(N)、430(0)~430(N)、440(0)~440(N)、450(0)~450(N)、460(0)~460(N)、470(0)~470(N)、480(0)~480(N) ‧‧‧實體抹除單元
VB0、VB1、VB2、VBn‧‧‧超實體單元
VB0、VB1‧‧‧部分好超實體單元
450(0)、470(0)、440(1)、450(1)、460(N)‧‧‧壞實體抹除單元
440(0)、460(0)‧‧‧好實體抹除單元
610(0)~680(N)‧‧‧邏輯位址
S1101‧‧‧接收主機寫入指令
S1103‧‧‧根據可複寫式非揮發性記憶體模組中多個好超實體單元與多個部分好超實體單元的個數比率從多個超實體單元選擇出第一超實體單元集合的步驟
S1105‧‧‧根據多個好超實體單元的個數與多個部分好超實體單元的個數動態地更新個數比率的步驟
S1107‧‧‧根據可複寫式非揮發性記憶體模組中好超實體單元與部分好超實體單元的個數比率從可複寫式非揮發性記憶體模組除第一超實體單元集合以外的剩餘超實體單元之中選擇出第二超實體單元集合的步驟
S1109‧‧‧將主機系統的資料寫入至第一超實體單元集合的好實體抹除單元中的步驟
S1111‧‧‧將主機系統的資料繼續寫入至第二超實體單元集合的好實體抹除單元中,以回應主機寫入指令的步驟
S1201‧‧‧從多個超實體單元之中選擇第一部分好超實體單元及第二部分好超實體單元的步驟
S1203‧‧‧將第一部分好超實體單元的好實體抹除單元映射至第二部分好超實體單元的壞實體抹除單元的邏輯位址,第二部分好超實體單元的壞實體抹除單元不再映射至邏輯地址,其中,第一部分好超實體單元的好實體抹除單元與第二部分好超實體單元的壞實體抹除單元屬於同一通道且屬於同一區塊面的步驟
S1205‧‧‧更新邏輯-實體映射表的步驟
S1301‧‧‧將多個超實體單元至少分組為壞超實體單元、部分好超實體單元以及好超實體單元的步驟
S1303‧‧‧對壞超實體單元、部分好超實體單元以及好超實體單元分別作標記的步驟
S1305‧‧‧更新超實體單元佇列表的步驟
S1307‧‧‧依據超實體單元佇列表選擇出第一超實體單元集合的步驟
S1309‧‧‧對第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數的步驟
圖1為單位時間內快閃記憶體的速度持續低落的示意圖。 圖2是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖3是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖4是根據另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖5是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。 圖6是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。 圖7是根據一範例實施例所繪示之管理超實體單元的範例示意圖。 圖8是根據一範例實施例所繪示之超實體單元中的實體抹除單元與邏輯位址映射的範例示意圖。 圖9是根據一範例實施例所繪示之超實體單元中的實體抹除單元與邏輯位址重新映射的範例示意圖。 圖10為單位時間內快閃記憶體的速度平穩的示意圖。 圖11是根據一範例實施例所繪示之記憶體管理方法的流程圖。 圖12是根據一範例實施例所繪示之實體抹除單元與邏輯位址重新映射的流程圖。 圖13是根據另一範例實施例所繪示之記憶體管理方法的流程圖。

Claims (18)

  1. 一種記憶體管理方法,用於一包括多個超實體單元的可複寫式非揮發性記憶體模組,所述多個超實體單元至少包括多個好超實體單元及多個部分好超實體單元,其中每一個所述好超實體單元包括多個好實體抹除單元,每一個所述部分好超實體單元包括至少一個壞實體抹除單元,所述記憶體管理方法包括:接收一主機寫入指令;根據所述可複寫式非揮發性記憶體模組中所述多個好超實體單元與所述多個部分好超實體單元的一個數比率從所述多個超實體單元選擇出一第一超實體單元集合,其中所述第一超實體單元集合包括按所述個數比率從所述多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元;以及將一資料寫入至所述第一超實體單元集合的好實體抹除單元中,以回應所述主機寫入指令。
  2. 如申請專利範圍第1項所述的記憶體管理方法,更包括:根據所述多個好超實體單元的個數與所述多個部分好超實體單元的個數動態地更新所述個數比率。
  3. 如申請專利範圍第1項所述的記憶體管理方法,更包括:根據所述可複寫式非揮發性記憶體模組中所述好超實體單元與所述部分好超實體單元的所述個數比率從所述可複寫式非揮發性記憶體模組中除所述第一超實體單元集合以外的剩餘超實體單元之中選擇出一第二超實體單元集合,其中所述第二超實體單元集合包括按所述個數比率從所述剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元;以及將所述資料繼續寫入至所述第二超實體單元集合的好實體抹除單元中。
  4. 如申請專利範圍第1項所述的記憶體管理方法,更包括:將所述多個超實體單元分組為一壞超實體單元;對所述壞超實體單元、所述部分好超實體單元以及所述好超實體單元分別作一標記;以及更新一超實體單元佇列表。
  5. 如申請專利範圍第4項所述的記憶體管理方法,更包括:依據每一所述超實體單元中壞實體抹除單元的個數與每一所述超實體單元中實體抹除單元的總個數的一比例將所述多個超實體單元至少分組為所述壞超實體單元、所述部分好超實體單元以及所述好超實體單元。
  6. 如申請專利範圍第4項所述的記憶體管理方法,其中所述根據所述可複寫式非揮發性記憶體模組中所述多個好超實體單元與所述多個部分好超實體單元的所述個數比率從所述多個超實體單元選擇出所述第一超實體單元集合的步驟包括:依據所述超實體單元佇列表選擇出所述第一超實體單元集合;以及對所述第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
  7. 一種記憶體控制電路單元,用於一包括多個超實體單元的可複寫式非揮發性記憶體模組,所述多個超實體單元至少包括多個好超實體單元及多個部分好超實體單元,其中每一個所述好超實體單元包括多個好實體抹除單元,每一個所述部分好超實體單元包括至少一個壞實體抹除單元,所述記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至所述可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至所述主機介面與所述記憶體介面,其中所述記憶體管理電路用以接收一主機寫入指令,所述記憶體管理電路用以根據所述可複寫式非揮發性記憶體模組中所述多個好超實體單元與所述多個部分好超實體單元的一個數比率從所述多個超實體單元選擇出一第一超實體單元集合,其中所述第一超實體單元集合包括按所述個數比率從所述多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元,其中所述記憶體管理電路更用以將對應所述主機寫入指令的一資料寫入至所述第一超實體單元集合的好實體抹除單元中,以回應所述主機寫入指令。
  8. 如申請專利範圍第7項所述的記憶體控制電路單元,其中所述記憶體管理電路更用以根據所述多個好超實體單元的個數與所述多個部分好超實體單元的個數動態地更新所述個數比率。
  9. 如申請專利範圍第7項所述的記憶體控制電路單元,其中所述記憶體管理電路更用以根據所述可複寫式非揮發性記憶體模組中所述好超實體單元與所述部分好超實體單元的所述個數比率從所述可複寫式非揮發性記憶體模組中除所述第一超實體單元集合以外的剩餘超實體單元之中選擇出一第二超實體單元集合,其中所述第二超實體單元集合包括按所述個數比率從所述剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元,所述記憶體管理電路更用以將所述資料繼續寫入至所述第二超實體單元集合的好實體抹除單元中。
  10. 如申請專利範圍第7項所述的記憶體控制電路單元,其中所述記憶體管理電路更用以將所述多個超實體單元分組為一壞超實體單元,所述記憶體管理電路更用以對所述壞超實體單元、所述部分好超實體單元以及所述好超實體單元分別作一標記,以及所述記憶體管理電路更用以更新一超實體單元佇列表。
  11. 如申請專利範圍第10項所述的記憶體控制電路單元,其中所述記憶體管理電路更用以依據每一所述超實體單元中壞實體抹除單元的個數與每一所述超實體單元中實體抹除單元的總個數的一比例將所述多個超實體單元至少分組為所述壞超實體單元、所述部分好超實體單元以及所述好超實體單元。
  12. 如申請專利範圍第10項所述的記憶體控制電路單元,其中所述記憶體管理電路更用以根據所述可複寫式非揮發性記憶體模組中所述多個好超實體單元與所述多個部分好超實體單元的所述個數比率從所述多個超實體單元選擇出所述第一超實體單元集合的操作包括,所述記憶體管理電路更用以依據所述超實體單元佇列表選擇出所述第一超實體單元集合,以及所述記憶體管理電路更用以對所述第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
  13. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個超實體單元,所述多個超實體單元至少包括多個好超實體單元及多個部分好超實體單元,其中每一個所述好超實體單元包括多個好實體抹除單元,每一個所述部分好超實體單元包括至少一個壞實體抹除單元;以及一記憶體控制電路單元,耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組,其中所述記憶體控制電路單元用以接收一主機寫入指令,所述記憶體控制電路單元用以根據所述可複寫式非揮發性記憶體模組中所述多個好超實體單元與所述多個部分好超實體單元的一個數比率從所述多個超實體單元選擇出一第一超實體單元集合,其中所述第一超實體單元集合包括按所述個數比率從所述多個超實體單元選擇出的多個第一好超實體單元及至少一個第一部分好超實體單元,其中所述記憶體控制電路單元用以將對應所述主機寫入指令的一資料寫入至所述第一超實體單元集合的好實體抹除單元中,以回應所述主機寫入指令。
  14. 如申請專利範圍第13項所述的記憶體儲存裝置,其中所述記憶體控制電路單元用以根據所述多個好超實體單元的個數與所述多個部分好超實體單元的個數動態地更新所述個數比率。
  15. 如申請專利範圍第13項所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以根據所述可複寫式非揮發性記憶體模組中所述好超實體單元與所述部分好超實體單元的所述個數比率從所述可複寫式非揮發性記憶體模組中除所述第一超實體單元集合以外的剩餘超實體單元之中選擇出一第二超實體單元集合,其中所述第二超實體單元集合包括按所述個數比率從所述剩餘超實體單元選擇出的多個第二好超實體單元及至少一個第二部分好超實體單元,所述記憶體控制電路單元更用以將所述資料繼續寫入至所述第二超實體單元集合的好實體區塊中。
  16. 如申請專利範圍第13項所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以將所述多個超實體單元分組為一壞超實體單元,所述記憶體控制電路單元更用以對所述壞超實體單元、所述部分好超實體單元以及所述好超實體單元分別作一標記,以及所述記憶體控制電路單元更用以更新一超實體單元佇列表。
  17. 如申請專利範圍第16項所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以依據每一所述超實體單元中壞實體抹除單元的個數與每一所述超實體單元中實體抹除單元的總個數的一比例將所述多個超實體單元至少分組為所述壞超實體單元、所述部分好超實體單元以及所述好超實體單元。
  18. 如申請專利範圍第16項所述的記憶體儲存裝置,其中所述記憶體控制電路單元更用以根據所述可複寫式非揮發性記憶體模組中所述多個好超實體單元與所述多個部分好超實體單元的所述個數比率從所述多個超實體單元選擇出所述第一超實體單元集合的操作包括,所述記憶體控制電路單元更用以依據所述超實體單元佇列表選擇出所述第一超實體單元集合,以及所述記憶體控制電路單元更用以對所述第一超實體單元集合中的多個第一好超實體單元的個數及至少一個第一部分好超實體單元的個數計數。
TW107119539A 2018-06-06 2018-06-06 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 TWI664528B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107119539A TWI664528B (zh) 2018-06-06 2018-06-06 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US16/045,754 US10678477B2 (en) 2018-06-06 2018-07-26 Memory management method, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107119539A TWI664528B (zh) 2018-06-06 2018-06-06 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TWI664528B true TWI664528B (zh) 2019-07-01
TW202001567A TW202001567A (zh) 2020-01-01

Family

ID=68049471

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107119539A TWI664528B (zh) 2018-06-06 2018-06-06 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US10678477B2 (zh)
TW (1) TWI664528B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI770945B (zh) * 2021-04-12 2022-07-11 大陸商合肥兆芯電子有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI829252B (zh) * 2022-07-20 2024-01-11 慧榮科技股份有限公司 低密度奇偶校檢碼的解碼方法及電腦程式產品及裝置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210333999A1 (en) * 2018-08-30 2021-10-28 SK Hynix Inc. Data storage device, operation method thereof and storage system having the same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052446A1 (en) * 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
US20100211820A1 (en) * 2009-02-18 2010-08-19 Samsung Electronics Co., Ltd. Method of managing non-volatile memory device and memory system including the same
US20110002169A1 (en) * 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US20120047409A1 (en) * 2010-08-23 2012-02-23 Apple Inc. Systems and methods for generating dynamic super blocks
CN104765695A (zh) * 2015-04-03 2015-07-08 上海交通大学 一种nand flash坏块管理系统及方法
US9239781B2 (en) * 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
CN108028071A (zh) * 2015-09-29 2018-05-11 桑迪士克科技有限责任公司 3-d非易失性存储器中的部分坏的块的操作

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US8700961B2 (en) * 2011-12-20 2014-04-15 Sandisk Technologies Inc. Controller and method for virtual LUN assignment for improved memory bank mapping
US20150339223A1 (en) * 2014-05-22 2015-11-26 Kabushiki Kaisha Toshiba Memory system and method
KR102420025B1 (ko) * 2017-06-19 2022-07-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10372355B2 (en) * 2017-12-29 2019-08-06 Micron Technology, Inc. Managing partial superblocks in a NAND device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052446A1 (en) * 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
US20100211820A1 (en) * 2009-02-18 2010-08-19 Samsung Electronics Co., Ltd. Method of managing non-volatile memory device and memory system including the same
US20110002169A1 (en) * 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US20120047409A1 (en) * 2010-08-23 2012-02-23 Apple Inc. Systems and methods for generating dynamic super blocks
US9239781B2 (en) * 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
CN104765695A (zh) * 2015-04-03 2015-07-08 上海交通大学 一种nand flash坏块管理系统及方法
CN108028071A (zh) * 2015-09-29 2018-05-11 桑迪士克科技有限责任公司 3-d非易失性存储器中的部分坏的块的操作

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI770945B (zh) * 2021-04-12 2022-07-11 大陸商合肥兆芯電子有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US11620072B2 (en) 2021-04-12 2023-04-04 Hefei Core Storage Electronic Limited Memory management method, memory control circuit unit and memory storage apparatus
TWI829252B (zh) * 2022-07-20 2024-01-11 慧榮科技股份有限公司 低密度奇偶校檢碼的解碼方法及電腦程式產品及裝置

Also Published As

Publication number Publication date
TW202001567A (zh) 2020-01-01
US20190377514A1 (en) 2019-12-12
US10678477B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
TWI681295B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI731338B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI688953B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI656531B (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
TWI602061B (zh) 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元
TWI658361B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI705331B (zh) 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置
TW201820145A (zh) 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元
TW202016937A (zh) 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
TW201725588A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI664528B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
CN109273033B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI688956B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI757216B (zh) 溫度控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI596477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
TW201916051A (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TW201802820A (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI591641B (zh) 資料程式化方法、記憶體控制電路單元及記憶體儲存裝置
TW202103007A (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN110609795B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置