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

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

Info

Publication number
TW201732822A
TW201732822A TW105107162A TW105107162A TW201732822A TW 201732822 A TW201732822 A TW 201732822A TW 105107162 A TW105107162 A TW 105107162A TW 105107162 A TW105107162 A TW 105107162A TW 201732822 A TW201732822 A TW 201732822A
Authority
TW
Taiwan
Prior art keywords
unit
read
physical
threshold
erase
Prior art date
Application number
TW105107162A
Other languages
English (en)
Other versions
TWI587304B (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 TW105107162A priority Critical patent/TWI587304B/zh
Priority to US15/145,814 priority patent/US9946478B2/en
Application granted granted Critical
Publication of TWI587304B publication Critical patent/TWI587304B/zh
Publication of TW201732822A publication Critical patent/TW201732822A/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/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/065Replication mechanisms
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本發明提出一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。本方法包括:為每一實體抹除單元設定讀取干擾門檻值;根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值;以及根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作。

Description

記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
本發明是有關於一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,最適於可攜式電子產品,例如筆記型電腦。固態硬碟就是一種以快閃記憶體模組作為儲存媒體的記憶體儲存裝置。因此,近年快閃記憶體產業成為電子產業中相當熱門的一環。
一般來說,可複寫式非揮發性記憶體模組通常包括多個實體抹除單元,並且每一個實體抹除單元會包括多個實體程式化頁面。特別是,可複寫式非揮發性記憶體模組中的實體抹除單元的抹除次數是有限的,例如,一個實體抹除單元在經歷一萬次的抹除操作後就會磨損。而當一個實體抹除單元磨損時,會導致將資料程式化(亦稱,寫入)至此實體抹除單元時產生錯誤位元,更嚴重者還會導致例如資料遺失或無法儲存資料等不利的影響。
此外,當一個實體抹除單元中的一個實體程式化單元所儲存的資料被進行多次的讀取後(例如,十萬至百萬次的讀取次數),則此實體程式化單元所儲存的資料也很有可能會因所施加的讀取電壓而產生錯誤位元或遺失,甚至可能造成位於同一實體抹除單元中儲存於其他實體程式化單元中的資料產生錯誤位元或遺失,此類現象被本發明領域具有通常知識者慣稱為「讀取干擾」(read-disturb)。
可複寫式非揮發性記憶體模組存在著實體抹除單元會隨著使用而造成磨損與讀取干擾的現象,此些現象無不驅使各家廠商必須發展出各種記憶體的管理方法,藉以有效地降低實體抹除單元磨損的機率或抑制讀取干擾發生的機率。
本發明提供一種記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置,可有效地降低實體抹除單元磨損的機率或抑制讀取干擾發生的機率,進而提高可複寫式非揮發性記憶體模組的生命週期與可靠度。
本發明提出一種記憶體管理方法,用於可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元,實體抹除單元之中的每一個具有多個實體程式化單元,此記憶體管理方法包括:為每一實體抹除單元設定讀取干擾門檻值;根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值;以及根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作。
在本發明的一範例實施例中,上述根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的步驟包括:記錄每一實體抹除單元的抹除計數;以及當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,將第一實體抹除單元的讀取干擾門檻值從第一門檻值調整成第二門檻值,其中第二計數值大於第一計數值,且第二門檻值小於第一門檻值。
在本發明的一範例實施例中,其中根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的步驟包括:判斷對應第一實體抹除單元的第一實體程式化單元的讀取次數是否大於第一實體抹除單元的讀取干擾門檻值;以及倘若對應第一實體程式化單元的讀取次數大於第一實體抹除單元的讀取干擾門檻值時,將儲存在第一實體抹除單元的資料複製到些實體抹除單元之中的第二實體抹除單元。
在本發明的一範例實施例中,上述根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的步驟包括:記錄每一實體抹除單元的抹除計數,以及當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,將第一實體抹除單元的讀取干擾門檻值從第三門檻值調整為第四門檻值,其中第二計數值大於第一計數值,第四門檻值大於第三門檻值。
在本發明的一範例實施例中,其中根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的步驟包括:從第一實體抹除單元的第一實體程式化單元讀取一讀取資料;判斷從第一實體程式化單元所讀取的讀取資料的錯誤位元數目是否大於第一實體抹除單元的讀取干擾門檻值;倘若從第一實體程式化單元所讀取的讀取資料的錯誤位元數目大於第一實體抹除單元的讀取干擾門檻值時,將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
在本發明的一範例實施例中,上述根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的步驟包括:偵測可複寫式非揮發性記憶體模組的溫度;以及根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值的步驟包括:當可複寫式非揮發性記憶體模組的溫度從第一溫度值增加為第二溫度值時,將第一實體抹除單元的讀取干擾門檻值從第五門檻值調整為第六門檻值,其中第二溫度值大於第一溫度值,第六門檻值大於第五門檻值。
本發明一範例實施例提供一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元。此記憶體控制電路單元包括:用以耦接至主機系統的主機介面;用以耦接至可複寫式非揮發性記憶體模組的記憶體介面,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元,此些實體抹除單元之中的每一個實體抹除單元具有多個實體程式化單元;以及耦接至主機介面與記憶體介面的記憶體管理電路。記憶體管理電路用以為每一實體抹除單元設定讀取干擾門檻值,根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值,以及根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的運作中,記憶體管理電路更用以記錄每一實體抹除單元的抹除計數,當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,記憶體管理電路更用以將第一實體抹除單元的讀取干擾門檻值從第一門檻值調整成第二門檻值,其中第二計數值大於第一計數值,且第二門檻值小於第一門檻值。
在本發明的一範例實施例中,其中根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的運作中,記憶體管理電路更用以判斷對應第一實體抹除單元的第一實體程式化單元的讀取次數是否大於第一實體抹除單元的讀取干擾門檻值,倘若對應第一實體程式化單元的讀取次數大於第一實體抹除單元的讀取干擾門檻值時,記憶體管理電路更用以將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的運作中,記憶體管理電路更用以記錄每一實體抹除單元的抹除計數,當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,記憶體管理電路更用以將第一實體抹除單元的讀取干擾門檻值從第三門檻值調整為第四門檻值,其中第二計數值大於第一計數值,第四門檻值大於第三門檻值。
在本發明的一範例實施例中,其中根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的運作中,記憶體管理電路更用以從第一實體抹除單元的第一實體程式化單元讀取一讀取資料,記憶體管理電路更用以判斷從第一實體程式化單元所讀取的讀取資料的錯誤位元數目是否大於第一實體抹除單元的讀取干擾門檻值,倘若從第一實體程式化單元所讀取的讀取資料的錯誤位元數目大於第一實體抹除單元的讀取干擾門檻值時,記憶體管理電路更用以將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的運作中,記憶體管理電路更用以偵測可複寫式非揮發性記憶體模組的溫度,記憶體管理電路更用以根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值的運作中,當可複寫式非揮發性記憶體模組的溫度從第一溫度值增加為第二溫度值時,記憶體管理電路更用以將第一實體抹除單元的讀取干擾門檻值從第五門檻值調整為第六門檻值,其中第二溫度值大於第一溫度值,第六門檻值大於第五門檻值。
本發明一範例實施例提供一種記憶體儲存裝置。其包括:用以耦接至主機系統的連接介面單元、可複寫式非揮發性記憶體模組以及耦接至連接介面單元與可複寫式非揮發性記憶體模組的記憶體控制電路單元。其中可複寫式非揮發性記憶體具有多個實體抹除單元,此些實體抹除單元之中的每一個實體抹除單元具有多個實體程式化單元。記憶體控制電路單元用以為每一實體抹除單元設定讀取干擾門檻值,根據可複寫式非揮發性記憶體模組的一狀態資訊,調整第一實體抹除單元的讀取干擾門檻值,以及根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的運作中,記憶體控制電路單元更用以記錄每一實體抹除單元的抹除計數,當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,記憶體控制電路單元更用以將第一實體抹除單元的讀取干擾門檻值從第一門檻值調整成第二門檻值,其中第二計數值大於第一計數值,且第二門檻值小於第一門檻值。
在本發明的一範例實施例中,其中根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的運作中,記憶體控制電路單元更用以判斷對應第一實體抹除單元的第一實體程式化單元的讀取次數是否大於第一實體抹除單元的讀取干擾門檻值,倘若對應第一實體程式化單元的讀取次數大於第一實體抹除單元的讀取干擾門檻值時,記憶體控制電路單元更用以將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的運作中,記憶體控制電路單元更用以記錄每一實體抹除單元的抹除計數,當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,記憶體控制電路單元更用以將第一實體抹除單元的讀取干擾門檻值從第三門檻值調整為第四門檻值,其中第二計數值大於第一計數值,第四門檻值大於第三門檻值。
在本發明的一範例實施例中,其中根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的運作中,該記憶體控制電路單元更用以從第一實體抹除單元的第一實體程式化單元讀取一讀取資料,記憶體控制電路單元更用以判斷從第一實體程式化單元所讀取的讀取資料的錯誤位元數目是否大於第一實體抹除單元的讀取干擾門檻值,倘若從第一實體程式化單元所讀取的讀取資料的錯誤位元數目大於第一實體抹除單元的讀取干擾門檻值時,記憶體控制電路單元更用以將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的運作中,記憶體控制電路單元更用以偵測可複寫式非揮發性記憶體模組的溫度,記憶體控制電路單元更用以根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值。
在本發明的一範例實施例中,其中根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值的運作中,當可複寫式非揮發性記憶體模組的溫度從第一溫度值增加為第二溫度值時,記憶體控制電路單元更用以將第一實體抹除單元的讀取干擾門檻值從第五門檻值調整為第六門檻值,其中第二溫度值大於第一溫度值,第六門檻值大於第五門檻值。
基於上述,本發明提出根據實體抹除單元的抹除次數動態地調整讀取干擾門檻值,藉以有效地降低實體抹除單元磨損的機率或讀取干擾發生的機率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路單元)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖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)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組406為複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個資料位元的快閃記憶體模組)。然而,本發明不限於此,可複寫式非揮發性記憶體模組406亦可是多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個資料位元的快閃記憶體模組)或其他具有相同特性的記憶體模組。
圖5是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504與記憶體介面506、緩衝記憶體508、電源管理電路510、錯誤檢查與校正電路512與溫度感測電路514。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
圖6與圖7是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以“提取”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
請參照圖6,記憶體控制電路單元404(或記憶體管理電路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。
請參照圖7,記憶體控制電路單元404(或記憶體管理電路502)會配置邏輯位址LBA(0)~LBA(H)以映射資料區602的實體抹除單元,其中每一邏輯位址具有多個邏輯單元以映射對應之實體抹除單元的實體程式化單元。並且,當主機系統11欲寫入資料至邏輯位址或更新儲存於邏輯位址中的資料時,記憶體控制電路單元404(或記憶體管理電路502)會從閒置區604中提取一個實體抹除單元作為作動實體抹除單元來寫入資料,以輪替資料區602的實體抹除單元。並且,當此作為作動實體抹除單元的實體抹除單元被寫滿時,記憶體控制電路單元404(或記憶體管理電路502)會再從閒置區504中提取空的實體抹除單元作為作動實體抹除單元,以繼續寫入對應來自於主機系統1000之寫入指令的更新資料。此外,當閒置區604中可用的實體抹除單元的數目小於預設值時,記憶體控制電路單元404(或記憶體管理電路502)會執行有效資料合併程序(亦稱為,垃圾蒐集(garbage collecting)程序)來整理資料區602中的有效資料,以將資料區602中無儲存有效資料的實體抹除單元重新關聯至閒置區604。
為了識別每個邏輯位址的資料被儲存在哪個實體抹除單元,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會記錄邏輯位址與實體抹除單元之間的映射。例如,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會在可複寫式非揮發性記憶體模組406中儲存邏輯位址-實體位址映射表來記錄每一邏輯位址所映射的實體抹除單元。當欲存取資料時記憶體控制電路單元404(或記憶體管理電路502)會將邏輯位址-實體位址映射表載入至緩衝記憶體508來維護,並且依據邏輯位址-實體位址映射表來寫入或讀取資料。
值得一提的是,由於緩衝記憶體508的容量有限無法儲存記錄所有邏輯位址之映射關係的映射表,因此,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會將邏輯位址LBA(0)~LBA(H)分組為多個邏輯區域LZ(0)~LZ(M),並且為每一邏輯區域配置一個邏輯位址-實體位址映射表。特別是,當記憶體控制電路單元404(或記憶體管理電路502)欲更新某個邏輯位址的映射時,對應此邏輯位址所屬之邏輯區域的邏輯位址-實體位址映射表會被載入至緩衝記憶體508來被更新。
在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。其中,記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
請再參照圖5,主機介面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會根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
溫度感測電路514是耦接至記憶體管理電路502並且用以偵測可複寫式非揮發性記憶體模組406的溫度。
需注意的是,假設當實體抹除單元410(0)中的第一個實體程式化單元(亦稱為,實體程式化單元410(0)-1)所儲存的資料被記憶體控制電路單元404(或記憶體管理電路502)進行多次的讀取時(例如,十萬至百萬次的讀取次數),由於記憶體控制電路單元404(或記憶體管理電路502)在每一次的讀取操作皆會施加讀取電壓至實體程式化單元410(0)-1中的記憶胞,實體程式化單元410(0)-1所儲存的資料很有可能因為記憶胞被反覆地施加讀取電壓而產生錯誤位元或遺失,甚至造成位於實體抹除單元410(0)中儲存於其他實體程式化單元中的資料產生錯誤位元或遺失,此即造成了「讀取干擾」的問題。
一般來說,可以藉由判斷「讀取次數」是否大於一讀取干擾值,來避免讀取干擾所造成的資料錯誤或遺失。具體來說,以上述記憶體控制電路單元404(或記憶體管理電路502)重複讀取實體程式化單元410(0)-1的例子來說,由於實體程式化單元410(0)-1被多次的讀取後可能會在實體抹除單元410(0)中產生錯誤位元或資料遺失,記憶體控制電路單元404(或記憶體管理電路502)可以判斷對應儲存在實體程式化單元410(0)-1的資料被讀取的次數(即,讀取次數)是否大於讀取干擾門檻值,以決定是否搬移儲存在實體抹除單元410(0)中的資料。其中倘若對應儲存在實體程式化單元410(0)-1的資料的讀取次數大於讀取干擾門檻值時,記憶體控制電路單元404(或記憶體管理電路502)會將實體程式化單元410(0)-1中的資料搬移至例如其他閒置的實體程式化單元中,以防止原本儲存於實體程式化單元410(0)-1中的資料因重複地被讀取而產生過多的錯誤位元或資料遺失。
此外,還可以藉由判斷被讀取的讀取資料的「錯誤位元數目」是否大於一讀取干擾值來避免讀取干擾所造成的資料錯誤或遺失。具體來說,當記憶體控制電路單元404(或記憶體管理電路502)從實體抹除單元410(0)中的實體程式化單元410(0)-1讀取一讀取資料時,記憶體控制電路單元404(或記憶體管理電路502)會同時讀取此讀取資料對應的錯誤檢查與校正碼,並且藉由錯誤檢查與校正電路512根據此錯誤檢查與校正碼對所讀取的讀取資料執行錯誤檢查與校正程序,進而根據實體程式化單元410(0)-1所儲存的資料的錯誤位元數目,為實體程式化單元410(0)-1計算錯誤位元數目。之後,記憶體控制電路單元404(或記憶體管理電路502)可以判斷從實體程式化單元410(0)-1所讀取的讀取資料的錯誤位元數目是否大於讀取干擾門檻值。倘若從實體程式化單元410(0)-1所讀取的讀取資料的錯誤位元數目大於讀取干擾門檻值時,記憶體控制電路單元404(或記憶體管理電路502)會將實體程式化單元410(0)-1中的資料搬移至例如其他閒置的實體程式化單元中,以防止發生儲存於實體程式化單元410(0)-1中的資料因重複地被讀取而產生更多的錯誤位元或資料遺失。
然而需注意的是,在先前技術中使用「讀取次數」或「錯誤位元數目」來避免讀取干擾的方法中,「讀取干擾門檻值」並沒有動態地做改變的機制,且此些方法皆沒有考慮到實體抹除單元會磨損的情況。其中,假設當實體抹除單元410(0)磨損時,會導致記憶體控制電路單元404(或記憶體管理電路502)將資料程式化至實體抹除單元410(0)中的實體程式化單元410(0)-1時即產生過多的錯誤位元,更嚴重者還會導致例如資料遺失或無法儲存資料。
基此,本發明提出一種記憶體管理方法,藉由根據可複寫式非揮發性記憶體模組406的狀態資訊,動態地調整對應於實體抹除單元的「讀取干擾門檻值」,藉以有效地降低實體抹除單元磨損的機率或抑制讀取干擾發生的機率。
圖8是根據一範例實施例所繪示之記憶體管理方法的流程圖。
請參照圖8,在步驟S801中,記憶體控制電路單元404(或記憶體管理電路502)會為每一實體抹除單元410(0)~410(N)設定讀取干擾門檻值。
以實體抹除單元410(0)為例,在本發明的一範例實施例中,對應於實體抹除單元410(0)的讀取干擾門檻值可以是用於判斷實體抹除單元410(0)中的實體程式化單元的其中一所儲存的資料的「讀取次數」是否大於一特定數值,以決定是否搬移實體抹除單元410(0)中的資料。
在本發明的另一範例實施例中,對應於實體抹除單元410(0)的讀取干擾門檻值可以是用於判斷從實體抹除單元410(0)中的實體程式化單元的其中一所讀取的讀取資料的「錯誤位元數目」是否大於一特定數值,以決定是否搬移實體抹除單元410(0)中的資料。
接著,在步驟S803中,記憶體控制電路單元404(或記憶體管理電路502)會根據可複寫式非揮發性記憶體模組406的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值。並且在步驟S805中,記憶體控制電路單元404(或記憶體管理電路502)會根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作。
在一範例實施例中,可複寫式非揮發性記憶體模組406狀態資訊可以是可複寫式非揮發性記憶體模組406中每一實體抹除單元410(0)~410(N)的抹除計數。例如,記憶體控制電路單元404(或記憶體管理電路502)會記錄每一實體抹除單元410(0)~410(N)的抹除計數。具體來說,在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會在可複寫式非揮發性記憶體模組406中儲存抹除計數表來記錄每一個實體抹除單元410(0)~410(N)的抹除計數,並且記憶體控制電路單元404(或記憶體管理電路502)會將抹除計數表載入至緩衝記憶體508來維護。記憶體控制電路單元404(或記憶體管理電路502)可以在每次對實體抹除單元410(0)~410(N)的其中之一進行抹除操作時,對應地在抹除計數表中記錄(或更新)被進行抹除操作的實體抹除單元的抹除計數。以實體抹除單元410(0)為例,假設記憶體控制電路單元404(或記憶體管理電路502)對實體抹除單元410(0)進行一次的抹除操作時,記憶體控制電路單元404(或記憶體管理電路502)可以在抹除計數表中對應於實體抹除單元410(0)的抹除計數值加一。
之後,記憶體控制電路單元404(或記憶體管理電路502)會根據抹除計數表中對應於實體抹除單元410(0)的抹除計數,動態地調整對應於實體抹除單元410(0)讀取干擾門檻值,藉以用來更改搬移實體抹除單元410(0)中的資料的時機。其中,所述預防讀取干擾操作可以是上述搬移實體抹除單元410(0)中的資料,也就是將實體抹除單元410(0)中的資料複製到實體抹除單元410(0)~410(N)之中的其他實體抹除單元中。
此外,在另一範例實施例中,可複寫式非揮發性記憶體模組406狀態資訊可以是可複寫式非揮發性記憶體模組406的溫度。例如,記憶體控制器404(或記憶體管理電路502)會藉由溫度感測電路514偵測可複寫式非揮發性記憶體模組406的溫度,並且根據可複寫式非揮發性記憶體模組406的溫度調整實體抹除單元410(0)~410(N)的讀取干擾門檻值。藉以用來更改搬移實體抹除單元410(0)中的資料的時機。其中,所述預防讀取干擾操作可以是上述搬移實體抹除單元410(0)中的資料,也就是將實體抹除單元410(0)中的資料複製到實體抹除單元410(0)~410(N)之中的其他實體抹除單元中。
經由上述方式,可以降低實體抹除單元410(0)~410(N)磨損的機率或抑制讀取干擾發生的機率。以下提供數個範例實施例來進行更詳細的說明。
[第一範例實施例]
在本發明的第一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會記錄每一實體抹除單元410(0)~410(N)的抹除計數於抹除計數表中,並且根據抹除計數表中對應於實體抹除單元410(0)的抹除計數,動態地調整對應於實體抹除單元410(0)的讀取干擾門檻值。特別是,在本發明的第一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是藉由判斷實體抹除單元410(0)的實體程式化單元410(0)-1的資料的「讀取次數」是否大於讀取干擾門檻值,以決定是否執行預防讀取干擾操作。基於實體抹除單元會因抹除的次數過多而造成磨損的緣故,假設當實體抹除單元410(0)磨損時,可能會導致在將資料程式化至實體程式化單元410(0)-1時產生錯誤位元。此時,倘若僅使用固定的讀取干擾門檻值來避免實體抹除單元410(0)的讀取干擾,在此情況下,當記憶體控制電路單元404(或記憶體管理電路502)之後重複地讀取已磨損的實體抹除單元410(0)中的實體程式化單元410(0)-1的資料時,則實體程式化單元410(0)-1很可能會在實體程式化單元410(0)-1的讀取次數尚未大於讀取干擾門檻值的情況下,因實體抹除單元410(0)的磨損以及被記憶體控制電路單元404(或記憶體管理電路502)重複地讀取而產生了過多的錯誤位元。也就是說,在實體程式化單元410(0)-1的讀取次數尚未大於讀取干擾門檻值的情況下,實體程式化單元410(0)-1可能因為實體抹除單元410(0)的磨損所產生的錯誤位元,加上實體程式化單元410(0)-1被重複地讀取所額外增加的錯誤位元,造成儲存於實體程式化單元410(0)-1中的資料產生過多的錯誤位元。
因此,在本發明的第一範例實施例中,假設當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於實體抹除單元410(0)的讀取干擾數門檻值調低,藉以避免實體程式化單元410(0)-1中的資料產生過多的錯誤位元。
具體來說,假設當記憶體控制電路單元404(或記憶體管理電路502)對實體抹除單元410(0)(以下參考為,第一實體抹除單元)進行抹除操作時,記憶體控制電路單元404(或記憶體管理電路502)會對應地將第一實體抹除單元的抹除計數加一。之後,實體抹除單元410(0)的抹除計數從第一計數值增加為第二計數值時,記憶體控制電路單元404(或記憶體管理電路502)將實體抹除單元410(0)的讀取干擾門檻值從第一門檻值調整為第二門檻值,其中第二計數值大於第一計數值,且第二門檻值小於第一門檻值。
舉例來說,圖9是根據第一範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的示意圖。請參照圖9,在一狀態下,假設對應於實體抹除單元410(0)的抹除計數被紀錄為7000(即,第一計數值),而對應於實體抹除單元410(0)的讀取干擾門檻值被設定為90000(即,第一門檻值)。假設在經過一段時間後,記憶體控制電路單元404(或記憶體管理電路502)因對實體抹除單元410執行了1000次的抹除操作後而將對應於實體抹除單元410(0)的抹除計數增加為8000(即,第二計數值)時,記憶體控制電路單元404(或記憶體管理電路502)例如會在實體抹除單元410(0)的抹除計數增加為8000的同時,將對應於實體抹除單元410(0)的讀取干擾門檻值從7000調整為9000(即,第二門檻值),藉以在當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調低。然而需注意的是,本發明並不用於限定上述抹除計數以及讀取干擾門檻值的數值,抹除計數以及讀取干擾門檻值之間最佳的對應關係可以依不同類型的記憶體儲存裝置經由反覆地實驗而求得。
此外,記憶體控制電路單元404(或記憶體管理電路502)還會根據實體抹除單元410(0)~410(N)中每一個實體程式化單元被讀取的次數,為每一個實體程式化單元記錄讀取計數。
舉例來說,記憶體控制電路單元404(或記憶體管理電路502)可以根據實體抹除單元410(0)中的實體程式化單元410(0)-1(即,第一實體程式化單元)被讀取的次數,記錄對應於實體程式化單元410(0)-1的讀取計數於讀取計數表中。在本範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會在可複寫式非揮發性記憶體模組406中儲存讀取計數表來記錄每一個實體抹除單元中的每一個實體抹除單元的讀取計數,並且記憶體控制電路單元404(或記憶體管理電路502)會將此讀取計數表載入至緩衝記憶體508來維護。
之後,記憶體控制電路單元404(或記憶體管理電路502)會判斷對應實體抹除單元410(0)的實體程式化單元410(0)-1的讀取次數是否大於上述實體抹除單元410(0)的讀取干擾門檻值。倘若對應實體程式化單元410(0)-1的讀取次數大於實體抹除單元410(0)的讀取干擾門檻值時,記憶體控制電路單元404(或記憶體管理電路502)將儲存在實體抹除單元410(0)的資料複製到實體抹除單元410(0)~410(N)之中的一實體抹除單元中。
詳細來說,由於記憶體控制電路單元404(或記憶體管理電路502)將對應於實體抹除單元410(0)的讀抹除計數調整為8000時,記憶體控制電路單元404(或記憶體管理電路502)將對應於實體抹除單元410(0)的讀取干擾門檻值調整為9000,假設此時記憶體控制電路單元404(或記憶體管理電路502)連續地對實體抹除單元410(0)的實體程式化單元410(0)-1進行讀取操作,記憶體控制電路單元404(或記憶體管理電路502)例如可以在對實體程式化單元410(0)-1進行第9001次的讀取操作後,複製儲存於實體抹除單元410(0)中的資料至例如閒置區604中的實體抹除單元410(F),並對實體抹除單元410(0)進行抹除操作,接著將實體抹除單元410(0)關聯至閒置區604並將實體抹除單元410(F)關聯至資料區602。然而需注意的是,本發明並不用於限定搬移第一實體抹除單元中的資料的方式。在一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)例如可以在對實體程式化單元410(0)-1進行第9001次的讀取操作後,複製儲存於實體程式化單元410(0)-1中的資料至例如緩衝記憶體508中,並對實體抹除單元410(0)進行抹除操作後,重新將原本儲存於實體程式化單元410(0)-1的資料從緩衝記憶體508中寫回實體抹除單元410(0)中。
藉由上述方式,當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調低,藉以避免在實體程式化單元410(0)-1的讀取計數尚未大於讀取干擾門檻值的情況下,實體程式化單元410(0)-1因為實體抹除單元410(0)的磨損所產生的錯誤位元加上實體程式化單元410(0)-1被重複地讀取所額外增加的錯誤位元,造成實體程式化單元410(0)-1產生了過多的錯誤位元。
圖10是根據第一範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的流程圖。
請參照圖10,在步驟S1001中,記憶體控制電路單元404(或記憶體管理電路502)對第一實體抹除單元進行抹除操作。之後,在步驟S1003中,記憶體控制電路單元404(或記憶體管理電路502)更新第一實體抹除單元的抹除計數。最後,在步驟S1005中,當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,記憶體控制電路單元404(或記憶體管理電路502)將第一實體抹除單元的讀取干擾門檻值從第一門檻值調整成第二門檻值,其中第二計數值大於第一計數值,且第二門檻值小於第一門檻值。
圖11是根據第一範例實施例所繪示之執行預防讀取干擾操作的流程圖。
請參照圖11,在步驟S1101,記憶體控制電路單元404(或記憶體管理電路502)對第一實體抹除單元的第一實體程式化單元進行讀取操作。接著,在步驟S1103,記憶體控制電路單元404(或記憶體管理電路502)更新對應於第一實體程式化單元的讀取次數。之後,在步驟S1105,記憶體控制電路單元404(或記憶體管理電路502)判斷對應第一實體抹除單元的第一實體程式化單元的讀取次數是否大於第一實體抹除單元的讀取干擾門檻值。倘若對應第一實體抹除單元的第一實體程式化單元的讀取次數非大於第一實體抹除單元的讀取干擾門檻值時,則執行步驟S1101。倘若對應第一實體抹除單元的第一實體程式化單元的讀取次數大於第一實體抹除單元的讀取干擾門檻值時,則在步驟S1107中,記憶體控制電路單元404(或記憶體管理電路502)將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
因此,在本發明的第一範例實施例中,當一實體抹除單元被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於此實體抹除單元的讀取干擾門檻值調低,藉以避免此實體抹除單元中的其中一個實體程式化單元的讀取計數尚未大於讀取干擾門檻值的情況下,即產生了過多的錯誤位元或資料遺失。
[第二範例實施例]
在本發明的第二範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會記錄每一實體抹除單元410(0)~410(N)的抹除計數於抹除計數表中,並且根據抹除計數表中的抹除計數動態地調整對應於實體抹除單元410(0)的讀取干擾門檻值。特別是,在本發明的第二範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)是藉由判斷實體抹除單元410(0)的實體程式化單元410(0)-1中被讀取的讀取資料的「錯誤位元數目」是否大於讀取干擾門檻值,以決定是否執行預防讀取干擾操作。基於實體抹除單元會因抹除的次數過多而造成磨損的緣故,假設當實體抹除單元410(0)磨損時,可能會導致在將資料程式化至實體程式化單元410(0)-1時產生錯誤位元。倘若僅使用固定的讀取干擾門檻值來避免實體抹除單元410(0)的讀取干擾,可能因實體抹除單元410(0)的磨損而在將資料寫入至實體程式化單元410(0)-1時產生多於錯誤位元數目的錯誤位元。此時,記憶體控制電路單元404(或記憶體管理電路502)即會搬移實體抹除單元410(0)中的資料並且對實體程式化單元410(0)執行抹除操作。在此情況下,倘若記憶體控制電路單元404(或記憶體管理電路502)反覆地對已磨損的實體抹除單元410(0)中的其中一個實體程式化單元進行寫入,可能會因寫入資料的錯誤位元數目大於錯誤位元計數門檻值,造成實體程式化單元410(0)被反覆地進行抹除操作,進而加劇了實體程式化單元410(0)的磨損。
因此,在本發明的第二範例實施例中,假設當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調高,藉以避免實體抹除單元410(0)被執行過多的抹除操作而造成更嚴重的磨損。
具體來說,假設當記憶體控制電路單元404(或記憶體管理電路502)對實體抹除單元410(0)(以下參考為,第一實體抹除單元)進行抹除操作時,記憶體控制電路單元404(或記憶體管理電路502)會對應地將第一實體抹除單元的抹除計數加一。之後,實體抹除單元410(0)的抹除計數從第一計數值增加為第二計數值時,記憶體控制電路單元404(或記憶體管理電路502)將實體抹除單元410(0)的讀取干擾門檻值從第三門檻值調整為第四門檻值,其中第二計數值大於第一計數值,且第四門檻值大於第三門檻值。
舉例來說,圖12是根據第二範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的示意圖。請參照圖12,在一狀態下,假設對應於實體抹除單元410(0)的抹除計數被紀錄為7000(即,第一計數值),而對應於實體抹除單元410(0)的讀取干擾門檻值被設定為90(即,第三門檻值)。假設在經過一段時間後,記憶體控制電路單元404(或記憶體管理電路502)因對實體抹除單元410執行了1000次的抹除操作後而將對應於實體抹除單元410(0)的抹除計數增加為8000(即,第二計數值)時,記憶體控制電路單元404(或記憶體管理電路502)例如會將對應於實體抹除單元410(0)的讀取干擾門檻值從90調整為100(即,第四門檻值),藉以在當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調高。然而需注意的是,本發明並不用於限定上述抹除計數以及讀取干擾門檻值的數值,抹除計數以及讀取干擾門檻值之間最佳的對應關係可以依不同類型的記憶體儲存裝置經由反覆地實驗而求得。
此外,記憶體控制電路單元404(或記憶體管理電路502)還會根據第一實體抹除單元中的第一實體程式化單元被讀取的讀取資料的錯誤位元數目,為第一實體程式化單元計算錯誤位元計數。
舉例來說,當記憶體控制電路單元404(或記憶體管理電路502)從實體抹除單元410(0)中的實體程式化單元410(0)-1(即,第一實體程式化單元)讀取資料時,記憶體控制電路單元404(或記憶體管理電路502)會同時讀取此資料對應的錯誤檢查與校正碼,並且藉由錯誤檢查與校正電路512根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序,進而根據實體程式化單元410(0)-1所儲存的資料的錯誤位元數目,為實體程式化單元410(0)-1計算錯誤位元計數。然而本發明並不用於限定計算錯誤位元計數的時機,在一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)也可以在將資料寫入實體程式化單元410(0)-1後即藉由錯誤檢查與校正電路512執行錯誤檢查與校正程序,進而根據實體程式化單元410(0)-1所儲存的資料的錯誤位元數目,為實體程式化單元410(0)-1計算錯誤位元計數。
之後,記憶體控制電路單元404(或記憶體管理電路502)會判斷從實體程式化單元410(0)-1所讀取的讀取資料的錯誤位元數目是否大於實體抹除單元410(0)的讀取干擾門檻值。倘若從實體程式化單元410(0)所讀取的讀取資料的錯誤位元數目大於實體抹除單元410(0)的讀取干擾門檻值時,記憶體控制電路單元404(或記憶體管理電路502)會將儲存在實體抹除單元410(0)的資料複製到實體抹除單元410(0)~410(N)之中的一實體抹除單元中。
詳細來說,由於記憶體控制電路單元404(或記憶體管理電路502)將對應於實體抹除單元410(0)的讀抹除計數調整為8000時,記憶體控制電路單元404(或記憶體管理電路502)將對應於實體抹除單元410(0)的讀取干擾門檻值調整為100,假設此時記憶體控制電路單元404(或記憶體管理電路502)從實體程式化單元410(0)-1讀取資料時,記憶體控制電路單元404(或記憶體管理電路502)會同時讀取此資料對應的錯誤檢查與校正碼,並且藉由錯誤檢查與校正電路512根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序,進而根據實體程式化單元410(0)-1所儲存的資料的錯誤位元數目,為實體程式化單元410(0)-1計算錯誤位元計數。假設此時實體程式化單元410(0)-1的錯誤位元計數的值為101,記憶體控制電路單元404(或記憶體管理電路502)例如可以在對實體程式化單元410(0)-1進行讀取操作後,複製儲存於實體抹除單元410(0)中的資料至例如閒置區604中的實體抹除單元410(F),並對實體抹除單元410(0)進行抹除操作,接著將實體抹除單元410(0)關聯至閒置區604並將實體抹除單元410(F)關聯至資料區602。然而需注意的是,本發明並不用於限定搬移第一實體抹除單元中的資料的方式。在一範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)例如可以在對實體程式化單元410(0)-1進行第101次的讀取操作後,複製儲存於實體程式化單元410(0)-1中的資料至例如緩衝記憶體508中,並對實體抹除單元410(0)進行抹除操作後,重新將原本儲存於實體程式化單元410(0)-1的資料從緩衝記憶體508寫回實體抹除單元410(0)中。
藉由上述方式,當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調高,藉以避免因實體抹除單元410(0)的磨損使得資料寫入時即產生多於讀取干擾門檻值的錯誤位元數目,造成實體抹除單元410(0)被頻繁地進行抹除操作的問題。基於本發明的第二範例實施例,可以有效地減緩實體抹除單元410(0)的磨損。
圖13是根據第二範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的流程圖。
請參照圖13,在步驟S1301中,記憶體控制電路單元404(或記憶體管理電路502)對第一實體抹除單元進行抹除操作。之後,在步驟S1303中,記憶體控制電路單元404(或記憶體管理電路502)更新對應於第一實體抹除單元的抹除計數。最後,在步驟S1305中,當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,記憶體控制電路單元404(或記憶體管理電路502)將第一實體抹除單元的讀取干擾門檻值從第三門檻值調整為第四門檻值,其中第二計數值大於第一計數值,且第四門檻值大於第三門檻值。
圖14是根據第二範例實施例所繪示之執行預防讀取干擾操作的流程圖。
請參照圖14,在步驟S1401中,記憶體控制電路單元404(或記憶體管理電路502)從第一實體抹除單元的第一實體程式化單元讀取一讀取資料。接著,在步驟S1403中,記憶體控制電路單元404(或記憶體管理電路502)判斷從實體程式化單元所讀取的讀取資料的錯誤位元數目是否大於第一實體抹除單元的讀取干擾門檻值。倘若從實體程式化單元所讀取的讀取資料的錯誤位元數目非大於第一實體抹除單元的讀取干擾門檻值時,則執行步驟S1401。倘若從實體程式化單元所讀取的讀取資料的錯誤位元數目大於第一實體抹除單元的讀取干擾門檻值時,在步驟S1405中,記憶體控制電路單元404(或記憶體管理電路502)將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元。
因此,在本發明的第二範例實施例中,假設當一實體抹除單元被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於此實體抹除單元的讀取干擾門檻值調高,藉以避免此實體抹除單元被執行過多的抹除操作而造成更嚴重的磨損。
[第三範例實施例]
在本發明的第三範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會藉由溫度感測電路514偵測可複寫式非揮發性記憶體模組406的溫度,並且根據可複寫式非揮發性記憶體模組406的溫度調整實體抹除單元410(0)~410(N)的讀取干擾門檻值。
舉例來說,本發明的第三實施例是藉由判斷「錯誤位元數目」以及可複寫式非揮發性記憶體模組406的溫度來調整讀取干擾門檻值。以實體抹除單元410(0)與實體程式化單元410(0)-1為例,記憶體控制電路單元404(或記憶體管理電路502)可以藉由判斷實體抹除單元410(0)的實體程式化單元410(0)-1中被讀取的讀取資料的「錯誤位元數目」是否大於讀取干擾門檻值,以決定是否執行預防讀取干擾操作。其中,假設當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調高,藉以避免實體抹除單元410(0)被執行過多的抹除操作而造成更嚴重的磨損。然而需注意的是,此時當可複寫式非揮發性記憶體模組406的溫度升高時,記憶體控制電路單元404(或記憶體管理電路502)在將資料寫入至可複寫式非揮發性記憶體模組406中的實體程式化單元時也更容易產生錯誤位元。因此,倘若之後記憶體控制電路單元404(或記憶體管理電路502)再次對處於高溫的實體抹除單元410(0)中的實體程式化單元410(0)-1進行寫入,則記憶體控制電路單元404(或記憶體管理電路502)可能會偵測到實體程式化單元410(0)-1中已產生過多的錯誤位元,則記憶體控制電路單元404(或記憶體管理電路502)會搬移實體抹除單元410(0)中的資料並且對實體程式化單元410(0)執行抹除操作。在此情況下,倘若記憶體控制電路單元404(或記憶體管理電路502)反覆地對處於高溫且已磨損的實體抹除單元410(0)中的其中一個實體程式化單元進行寫入,可能會因寫入資料的錯誤位元數目大於錯誤位元計數門檻值,造成實體程式化單元410(0)被反覆地進行抹除操作,進而加劇了實體程式化單元410(0)的磨損。
因此,在本發明的第三範例實施例中,記憶體控制電路單元404(或記憶體管理電路502)會藉由溫度感測電路514偵測可複寫式非揮發性記憶體模組406的溫度,並且根據可複寫式非揮發性記憶體模組406的溫度調整第一實體抹除單元的讀取干擾門檻值。特別是,當可複寫式非揮發性記憶體模組406的溫度從第一溫度值增加為第二溫度值時,記憶體控制電路單元404(或記憶體管理電路502)會將第一實體抹除單元的讀取干擾門檻值從第五門檻值調整為第六門檻值,其中第二溫度值大於第一溫度值,第六門檻值大於第五門檻值。
詳細來說,圖15A、圖15B與圖15C是根據第三範例實施例所繪示之根據可複寫式非揮發性記憶體模組的溫度調整讀取干擾門檻值的示意圖。
請同時參照圖15A、圖15B與圖15C,假設在圖15A的狀態下,假設目前可複寫式非揮發性記憶體模組406的溫度為60℃,對應於實體抹除單元410(0)的抹除計數被紀錄為7000(即,第一計數值),而對應於實體抹除單元410(0)的讀取干擾門檻值被設定為90(即,第三門檻值)。假設在經過一段時間後,記憶體控制電路單元404(或記憶體管理電路502)因對實體抹除單元410執行了1000次的抹除操作後而將對應於實體抹除單元410(0)的抹除計數增加為8000(即,第二計數值)時,記憶體控制電路單元404(或記憶體管理電路502)例如會將對應於實體抹除單元410(0)的讀取干擾門檻值從90調整為100(即,第四門檻值),藉以在當實體抹除單元410(0)被抹除的次數增加時,記憶體控制電路單元404(或記憶體管理電路502)動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調高。
假設此時可複寫式非揮發性記憶體模組406的溫度從60℃上升至80℃,如圖15B所示,則記憶體控制電路單元404(或記憶體管理電路502)例如可以再將讀取干擾門檻值從100調整至105(即,第五門檻值)。
之後,假設可複寫式非揮發性記憶體模組406的溫度從80℃(即,第一溫度值)上升至100℃(即,第二溫度值),如圖15C所示,則記憶體控制電路單元404(或記憶體管理電路502)例如可以再將讀取干擾門檻值從105調整至110(即,第六門檻值)。
假設此時記憶體控制電路單元404(或記憶體管理電路502)從實體程式化單元410(0)-1讀取資料時,記憶體控制電路單元404(或記憶體管理電路502)會同時讀取此資料對應的錯誤檢查與校正碼,並且藉由錯誤檢查與校正電路512根據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序,進而根據實體程式化單元410(0)-1所儲存的資料的錯誤位元數目,為實體程式化單元410(0)-1計算錯誤位元計數。假設此時實體程式化單元410(0)-1的錯誤位元計數的值為111,記憶體控制電路單元404(或記憶體管理電路502)例如可以在對實體程式化單元410(0)-1進行讀取操作後,複製儲存於實體抹除單元410(0)中的資料至例如緩衝記憶體508中,並對實體抹除單元410(0)進行抹除操作,並且在之後可複寫式非揮發性記憶體模組406的溫度下降至某一溫度值後,重新將原本儲存於實體程式化單元410(0)-1的資料從緩衝記憶體508寫回實體抹除單元410(0)中。
然而需注意的是,本發明並不用於限定上述搬移第一實體抹除單元中的資料的方式,且本發明並不用於限定上述抹除計數、可複寫式非揮發性記憶體模組406的溫度以及讀取干擾門檻值的數值,抹除計數、可複寫式非揮發性記憶體模組406的溫度以及讀取干擾門檻值之間最佳的對應關係可以依不同類型的記憶體儲存裝置經由反覆地實驗而求得。
藉由上述方式,可以有效地避免當可複寫式非揮發性記憶體模組406的溫度升高時,實體抹除單元410(0)被執行過多的抹除操作而造成更嚴重的磨損的問題。
圖16是根據第三範例實施例所繪示之根據溫度調整讀取干擾門檻值的流程圖。
在步驟S1601中,記憶體控制電路單元404(或記憶體管理電路502)會偵測可複寫式非揮發性記憶體模組406的溫度,用以根據可複寫式非揮發性記憶體模組的溫度調整第一實體抹除單元的讀取干擾門檻值。
接著,在步驟S1603中,當可複寫式非揮發性記憶體模組406的溫度從第一溫度值增加為第二溫度值時,記憶體控制電路單元404(或記憶體管理電路502)會將第一實體抹除單元的讀取干擾門檻值從第五門檻值調整為第六門檻值,其中第二溫度值大於第一溫度值,第六門檻值大於第五門檻值。
因此,在本發明的第三範例實施例中,假設當可複寫式非揮發性記憶體模組406的溫度升高時,記憶體控制電路單元404(或記憶體管理電路502)會動態地將對應於實體抹除單元410(0)的讀取干擾門檻值調高,藉以避免實體抹除單元410(0)被執行過多的抹除操作而造成更嚴重的磨損。
值得一提的是,在第三範例實施例中,是根據可複寫式非揮發性記憶體模組406的溫度來動態地調整對應每一實體抹除單元的讀取干擾門檻值,但本發明不限於此。在另一範例實施例中,記憶體控制器404(或記憶體管理電路502)還可一併考量可複寫式非揮發性記憶體模組406的溫度及各實體抹除單元的抹除計數下來設定讀取干擾門檻值。也就是說,在上述第一與第二範例實施例的記憶體控制電路單元404(或記憶體管理電路502)可更如第三範例實施例所述之根據可複寫式非揮發性記憶體模組406的溫度來動態地調整對應每一實體抹除單元的讀取干擾門檻值。
綜上所述,由於可複寫式非揮發性記憶體模組存在著實體抹除單元會磨損以及讀取干擾的現象,本發明提出根據實體抹除單元的抹除次數動態地調整讀取干擾門檻值,藉以有效地降低實體抹除單元磨損的機率或讀取干擾發生的機率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧輸入/輸出(I/O)裝置
110‧‧‧系統匯流排
111‧‧‧處理器
112‧‧‧隨機存取記憶體(RAM)
113‧‧‧唯讀記憶體(ROM)
114‧‧‧資料傳輸介面
20‧‧‧主機板
204‧‧‧無線記憶體儲存裝置
205‧‧‧全球定位系統模組
206‧‧‧網路介面卡
207‧‧‧無線傳輸裝置
208‧‧‧鍵盤
209‧‧‧螢幕
210‧‧‧喇叭
30‧‧‧記憶體儲存裝置
31‧‧‧主機系統
32‧‧‧SD卡
33‧‧‧CF卡
34‧‧‧嵌入式儲存裝置
341‧‧‧嵌入式多媒體卡
342‧‧‧嵌入式多晶片封裝儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
410(0)~410(N)‧‧‧實體抹除單元
502‧‧‧記憶體管理電路
504‧‧‧主機介面
506‧‧‧記憶體介面
508‧‧‧緩衝記憶體
510‧‧‧電源管理電路
512‧‧‧錯誤檢查與校正電路
514‧‧‧溫度感測電路
602‧‧‧資料區
604‧‧‧閒置區
606‧‧‧系統區
608‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯位址
LZ(0)~LZ(M)‧‧‧邏輯區域
S801‧‧‧為每一實體抹除單元設定讀取干擾門檻值的步驟
S803‧‧‧根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的步驟
S805‧‧‧根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的步驟
S1001‧‧‧對第一實體抹除單元進行抹除操作的步驟
S1003‧‧‧更新第一實體抹除單元的抹除計數的步驟
S1005‧‧‧當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,將第一實體抹除單元的讀取干擾門檻值從第一門檻值調整成第二門檻值,其中第二計數值大於第一計數值,且第二門檻值小於第一門檻值的步驟
S1101‧‧‧對第一實體抹除單元的第一實體程式化單元進行讀取操作的步驟
S1103‧‧‧更新對應於第一實體程式化單元的讀取次數的步驟
S1105‧‧‧判斷對應第一實體抹除單元的第一實體程式化單元的讀取次數是否大於第一實體抹除單元的讀取干擾門檻值的步驟
S1107‧‧‧將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元的步驟
S1301‧‧‧對第一實體抹除單元進行抹除操作的步驟
S1303‧‧‧更新對應於第一實體抹除單元的抹除計數的步驟
S1305‧‧‧當第一實體抹除單元的抹除計數從第一計數值增加為第二計數值時,將第一實體抹除單元的讀取干擾門檻值從第三門檻值調整為第四門檻值,其中第二計數值大於第一計數值,且第四門檻值大於第三門檻值的步驟
S1401‧‧‧從第一實體抹除單元的第一實體程式化單元讀取一讀取資料的步驟
S1403‧‧‧判斷從實體程式化單元所讀取的讀取資料的錯誤位元數目是否大於第一實體抹除單元的讀取干擾門檻值的步驟
S1405‧‧‧將儲存在第一實體抹除單元的資料複製到實體抹除單元之中的第二實體抹除單元的步驟
S1601‧‧‧偵測可複寫式非揮發性記憶體模組的溫度的步驟
S1603‧‧‧當可複寫式非揮發性記憶體模組的溫度從第一溫度值增加為第二溫度值時,將第一實體抹除單元的讀取干擾門檻值從第五門檻值調整為第六門檻值,其中第二溫度值大於第一溫度值,第六門檻值大於第五門檻值的步驟
圖1是根據一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據另一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖3是根據本發明範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的概要方塊圖。 圖5是根據一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。 圖6與圖7是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。 圖8是根據一範例實施例所繪示之記憶體管理方法的流程圖。 圖9是根據第一範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的示意圖。 圖10是根據第一範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的流程圖。 圖11是根據第一範例實施例所繪示之執行預防讀取干擾操作的流程圖。 圖12是根據第二範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的示意圖。 圖13是根據第二範例實施例所繪示之根據抹除計數調整讀取干擾門檻值的流程圖。 圖14是根據第二範例實施例所繪示之執行預防讀取干擾操作的流程圖。 圖15A、圖15B與圖15C是根據第三範例實施例所繪示之根據可複寫式非揮發性記憶體模組的溫度調整讀取干擾門檻值的示意圖。 圖16是根據第三範例實施例所繪示之根據溫度調整讀取干擾門檻值的流程圖。
S801‧‧‧為每一實體抹除單元設定讀取干擾門檻值的步驟
S803‧‧‧根據可複寫式非揮發性記憶體模組的狀態資訊,調整第一實體抹除單元的讀取干擾門檻值的步驟
S805‧‧‧根據第一實體抹除單元的讀取干擾門檻值,執行預防讀取干擾操作的步驟

Claims (21)

  1. 一種記憶體管理方法,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,該些實體抹除單元之中的每一個實體抹除單元具有多個實體程式化單元,該記憶體管理方法包括: 為每一該些實體抹除單元設定一讀取干擾門檻值; 根據該可複寫式非揮發性記憶體模組的一狀態資訊,調整一第一實體抹除單元的讀取干擾門檻值;以及 根據該第一實體抹除單元的該讀取干擾門檻值,執行一預防讀取干擾操作。
  2. 如申請專利範圍第1項所述的記憶體管理方法,根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的步驟包括: 記錄每一該些實體抹除單元的一抹除計數;以及 當該第一實體抹除單元的該抹除計數從一第一計數值增加為一第二計數值時,將該第一實體抹除單元的該讀取干擾門檻值從一第一門檻值調整成一第二門檻值, 其中該第二計數值大於該第一計數值,且該第二門檻值小於該第一門檻值。
  3. 如申請專利範圍第2項所述的記憶體管理方法,根據該第一實體抹除單元的該讀取干擾門檻值,執行該預防讀取干擾操作的步驟包括: 判斷對應該第一實體抹除單元的一第一實體程式化單元的一讀取次數是否大於該第一實體抹除單元的讀取干擾門檻值;以及 倘若對應該第一實體程式化單元的該讀取次數大於該第一實體抹除單元的讀取干擾門檻值時,將儲存在該第一實體抹除單元的資料複製到該些實體抹除單元之中的一第二實體抹除單元。
  4. 如申請專利範圍第1項所述的記憶體管理方法,根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的步驟包括: 記錄每一該些實體抹除單元的一抹除計數;以及 當該第一實體抹除單元的該抹除計數從一第一計數值增加為一第二計數值時,將該第一實體抹除單元的該讀取干擾門檻值從一第三門檻值調整為一第四門檻值, 其中該第二計數值大於該第一計數值,該第四門檻值大於該第三門檻值。
  5. 如申請專利範圍第4項所述的記憶體管理方法,根據該第一實體抹除單元的該讀取干擾門檻值,執行該預防讀取干擾操作的步驟包括: 從該第一實體抹除單元的一第一實體程式化單元讀取一讀取資料; 判斷從該第一實體程式化單元所讀取的該讀取資料的錯誤位元數目是否大於該第一實體抹除單元的該讀取干擾門檻值; 倘若從該第一實體程式化單元所讀取的該讀取資料的錯誤位元數目大於該第一實體抹除單元的該讀取干擾門檻值時,將儲存在該第一實體抹除單元的資料複製到該些實體抹除單元之中的一第二實體抹除單元。
  6. 如申請專利範圍第1項所述的記憶體管理方法,根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的步驟包括: 偵測該可複寫式非揮發性記憶體模組的一溫度;以及 根據該可複寫式非揮發性記憶體模組的該溫度調整該第一實體抹除單元的該讀取干擾門檻值。
  7. 如申請專利範圍第6項所述的記憶體管理方法,其中根據該可複寫式非揮發性記憶體模組的該溫度調整該第一實體抹除單元的該讀取干擾門檻值的步驟包括: 當該可複寫式非揮發性記憶體模組的該溫度從一第一溫度值增加為一第二溫度值時,將該第一實體抹除單元的該讀取干擾門檻值從一第五門檻值調整為一第六門檻值, 其中該第二溫度值大於該第一溫度值,該第六門檻值大於該第五門檻值。
  8. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括: 一主機介面,用以耦接至一主機系統; 一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體抹除單元,該些實體抹除單元之中的每一個實體抹除單元具有多個實體程式化單元;以及 一記憶體管理電路,耦接至該主機介面與該記憶體介面, 該記憶體管理電路用以為每一該些實體抹除單元設定一讀取干擾門檻值, 該記憶體管理電路更用以根據該可複寫式非揮發性記憶體模組的一狀態資訊,調整一第一實體抹除單元的讀取干擾門檻值, 該記憶體管理電路更用以根據該第一實體抹除單元的該讀取干擾門檻值,執行一預防讀取干擾操作。
  9. 如申請專利範圍第8項所述的記憶體控制電路單元,其中根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 該記憶體管理電路更用以記錄每一該些實體抹除單元的一抹除計數, 當該第一實體抹除單元的該抹除計數從一第一計數值增加為一第二計數值時,該記憶體管理電路更用以將該第一實體抹除單元的該讀取干擾門檻值從一第一門檻值調整成一第二門檻值, 其中該第二計數值大於該第一計數值,且該第二門檻值小於該第一門檻值。
  10. 如申請專利範圍第9項所述的記憶體控制電路單元,其中根據該第一實體抹除單元的該讀取干擾門檻值,執行該預防讀取干擾操作的運作中, 該記憶體管理電路更用以判斷對應該第一實體抹除單元的一第一實體程式化單元的一讀取次數是否大於該第一實體抹除單元的讀取干擾門檻值, 倘若對應該第一實體程式化單元的該讀取次數大於該第一實體抹除單元的讀取干擾門檻值時,該記憶體管理電路更用以將儲存在該第一實體抹除單元的資料複製到該些實體抹除單元之中的一第二實體抹除單元。
  11. 如申請專利範圍第8項所述的記憶體控制電路單元,其中根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 該記憶體管理電路更用以記錄每一該些實體抹除單元的一抹除計數, 當該第一實體抹除單元的該抹除計數從一第一計數值增加為一第二計數值時,該記憶體管理電路更用以將該第一實體抹除單元的該讀取干擾門檻值從一第三門檻值調整為一第四門檻值, 其中該第二計數值大於該第一計數值,該第四門檻值大於該第三門檻值。
  12. 如申請專利範圍第11項所述的記憶體控制電路單元,其中根據該第一實體抹除單元的該讀取干擾門檻值,執行該預防讀取干擾操作的運作中, 該記憶體管理電路更用以從該第一實體抹除單元的一第一實體程式化單元讀取一讀取資料, 該記憶體管理電路更用以判斷從該第一實體程式化單元所讀取的該讀取資料的錯誤位元數目是否大於該第一實體抹除單元的該讀取干擾門檻值, 倘若從該第一實體程式化單元所讀取的該讀取資料的錯誤位元數目大於該第一實體抹除單元的該讀取干擾門檻值時,該記憶體管理電路更用以將儲存在該第一實體抹除單元的資料複製到該些實體抹除單元之中的一第二實體抹除單元。
  13. 如申請專利範圍第8項所述的記憶體控制電路單元,其中根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 該記憶體管理電路更用以偵測該可複寫式非揮發性記憶體模組的一溫度, 該記憶體管理電路更用以根據該可複寫式非揮發性記憶體模組的該溫度調整該第一實體抹除單元的該讀取干擾門檻值。
  14. 如申請專利範圍第13項所述的記憶體控制電路單元,其中根據該可複寫式非揮發性記憶體模組的該溫度調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 當該可複寫式非揮發性記憶體模組的該溫度從一第一溫度值增加為一第二溫度值時,該記憶體管理電路更用以將該第一實體抹除單元的該讀取干擾門檻值從一第五門檻值調整為一第六門檻值, 其中該第二溫度值大於該第一溫度值,該第六門檻值大於該第五門檻值。
  15. 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組,具有多個實體抹除單元,該些實體抹除單元之中的每一個實體抹除單元具有多個實體程式化單元;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以為每一該些實體抹除單元設定一讀取干擾門檻值, 該記憶體控制電路單元更用以根據該可複寫式非揮發性記憶體模組的一狀態資訊,調整一第一實體抹除單元的讀取干擾門檻值, 該記憶體控制電路單元更用以根據該第一實體抹除單元的該讀取干擾門檻值,執行一預防讀取干擾操作。
  16. 如申請專利範圍第15項所述的記憶體儲存裝置,其中根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 該記憶體控制電路單元更用以記錄每一該些實體抹除單元的一抹除計數, 當該第一實體抹除單元的該抹除計數從一第一計數值增加為一第二計數值時,該記憶體控制電路單元更用以將該第一實體抹除單元的該讀取干擾門檻值從一第一門檻值調整成一第二門檻值, 其中該第二計數值大於該第一計數值,且該第二門檻值小於該第一門檻值。
  17. 如申請專利範圍第16項所述的記憶體儲存裝置,其中根據該第一實體抹除單元的該讀取干擾門檻值,執行該預防讀取干擾操作的運作中, 該記憶體控制電路單元更用以判斷對應該第一實體抹除單元的一第一實體程式化單元的一讀取次數是否大於該第一實體抹除單元的讀取干擾門檻值, 倘若對應該第一實體程式化單元的該讀取次數大於該第一實體抹除單元的讀取干擾門檻值時,該記憶體控制電路單元更用以將儲存在該第一實體抹除單元的資料複製到該些實體抹除單元之中的一第二實體抹除單元。
  18. 如申請專利範圍第15項所述的記憶體儲存裝置,其中根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 該記憶體控制電路單元更用以記錄每一該些實體抹除單元的一抹除計數, 當該第一實體抹除單元的該抹除計數從一第一計數值增加為一第二計數值時,該記憶體控制電路單元更用以將該第一實體抹除單元的該讀取干擾門檻值從一第三門檻值調整為一第四門檻值, 其中該第二計數值大於該第一計數值,該第四門檻值大於該第三門檻值。
  19. 如申請專利範圍第18項所述的記憶體儲存裝置,其中根據該第一實體抹除單元的該讀取干擾門檻值,執行該預防讀取干擾操作的運作中, 該記憶體控制電路單元更用以從該第一實體抹除單元的一第一實體程式化單元讀取一讀取資料, 該記憶體控制電路單元更用以判斷從該第一實體程式化單元所讀取的該讀取資料的錯誤位元數目是否大於該第一實體抹除單元的該讀取干擾門檻值, 倘若從該第一實體程式化單元所讀取的該讀取資料的錯誤位元數目大於該第一實體抹除單元的該讀取干擾門檻值時,該記憶體控制電路單元更用以將儲存在該第一實體抹除單元的資料複製到該些實體抹除單元之中的一第二實體抹除單元。
  20. 如申請專利範圍第15項所述的記憶體儲存裝置,其中根據該可複寫式非揮發性記憶體模組的該狀態資訊,調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 該記憶體控制電路單元更用以偵測該可複寫式非揮發性記憶體模組的一溫度, 該記憶體控制電路單元更用以根據該可複寫式非揮發性記憶體模組的該溫度調整該第一實體抹除單元的該讀取干擾門檻值。
  21. 如申請專利範圍第20項所述的記憶體儲存裝置,其中根據該可複寫式非揮發性記憶體模組的該溫度調整該第一實體抹除單元的該讀取干擾門檻值的運作中, 當該可複寫式非揮發性記憶體模組的該溫度從一第一溫度值增加為一第二溫度值時,該記憶體控制電路單元更用以將該第一實體抹除單元的該讀取干擾門檻值從一第五門檻值調整為一第六門檻值, 其中該第二溫度值大於該第一溫度值,該第六門檻值大於該第五門檻值。
TW105107162A 2016-03-09 2016-03-09 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 TWI587304B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW105107162A TWI587304B (zh) 2016-03-09 2016-03-09 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US15/145,814 US9946478B2 (en) 2016-03-09 2016-05-04 Memory managing method, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105107162A TWI587304B (zh) 2016-03-09 2016-03-09 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TWI587304B TWI587304B (zh) 2017-06-11
TW201732822A true TW201732822A (zh) 2017-09-16

Family

ID=59688078

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105107162A TWI587304B (zh) 2016-03-09 2016-03-09 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9946478B2 (zh)
TW (1) TWI587304B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11307982B2 (en) 2020-09-09 2022-04-19 Phison Electronics Corp. Memory management method with a data merging process based on risk physical units and distribution counts, memory storage device and memory control circuit unit
TWI767584B (zh) * 2021-02-24 2022-06-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348605B2 (en) * 2016-10-28 2019-07-09 Western Digital Technologies, Inc. Embedding analyzer functionality in storage devices
TWI602061B (zh) * 2017-03-16 2017-10-11 群聯電子股份有限公司 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元
US10885991B2 (en) * 2017-04-04 2021-01-05 Sandisk Technologies Llc Data rewrite during refresh window
KR20200114216A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법
JP7353889B2 (ja) * 2019-09-19 2023-10-02 キオクシア株式会社 メモリシステムおよび方法
US11334272B2 (en) * 2019-10-01 2022-05-17 SK Hynix Inc. Memory system and operating method thereof
US11302405B2 (en) * 2019-12-10 2022-04-12 Intel Corporation System approach to reduce stable threshold voltage (Vt) read disturb degradation
CN111078149B (zh) 2019-12-18 2023-09-26 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI784224B (zh) * 2019-12-23 2022-11-21 大陸商合肥兆芯電子有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111638994B (zh) * 2020-06-01 2021-05-04 长江存储科技有限责任公司 一种闪存存储器及其错误比特计数检测方法和***
US11507300B2 (en) * 2020-10-26 2022-11-22 Micron Technology, Inc. Word line group read counters
US11442833B2 (en) * 2020-10-30 2022-09-13 Micron Technology, Inc. Memory sub-system temperature control
US11929127B2 (en) * 2021-08-31 2024-03-12 Micron Technology, Inc. Selective data pattern write scrub for a memory system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661184B2 (en) * 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
JPWO2011102126A1 (ja) * 2010-02-22 2013-06-17 パナソニック株式会社 不揮発性半導体記憶装置及び電子機器
EP2549482B1 (en) * 2011-07-22 2018-05-23 SanDisk Technologies LLC Apparatus, system and method for determining a configuration parameter for solid-state storage media
US8838883B2 (en) * 2012-04-13 2014-09-16 Sandisk Technologies Inc. System and method of adjusting a programming step size for a block of a memory
US20140173239A1 (en) * 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US9575829B2 (en) * 2013-03-13 2017-02-21 Sandisk Technologies Llc Probability-based remedial action for read disturb effects
US9652381B2 (en) * 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11307982B2 (en) 2020-09-09 2022-04-19 Phison Electronics Corp. Memory management method with a data merging process based on risk physical units and distribution counts, memory storage device and memory control circuit unit
TWI775143B (zh) * 2020-09-09 2022-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI767584B (zh) * 2021-02-24 2022-06-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11875058B2 (en) 2021-02-24 2024-01-16 Silicon Motion, Inc. Data storage device and non-volatile memory control method

Also Published As

Publication number Publication date
US9946478B2 (en) 2018-04-17
US20170262197A1 (en) 2017-09-14
TWI587304B (zh) 2017-06-11

Similar Documents

Publication Publication Date Title
TWI587304B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI622923B (zh) 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置
TWI681295B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI579696B (zh) 資料重建方法與系統及其記憶體控制電路單元
TWI551991B (zh) 記憶體管理方法與系統及其記憶體儲存裝置
TWI592799B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TW201738751A (zh) 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置
TW201539455A (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TW201907287A (zh) 資料讀取方法以及儲存控制器
TWI582776B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
TWI656531B (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
TWI571882B (zh) 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置
TWI611410B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI607309B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI658361B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TW201945927A (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI642059B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TW201351137A (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI629590B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI527058B (zh) 記憶體控制方法、記憶體儲存裝置與記憶體控制電路單元
TW201407614A (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI644210B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN107204205B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI635495B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置