TWI490871B - 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 - Google Patents

防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 Download PDF

Info

Publication number
TWI490871B
TWI490871B TW103123957A TW103123957A TWI490871B TW I490871 B TWI490871 B TW I490871B TW 103123957 A TW103123957 A TW 103123957A TW 103123957 A TW103123957 A TW 103123957A TW I490871 B TWI490871 B TW I490871B
Authority
TW
Taiwan
Prior art keywords
unit
data
physical erasing
memory
erasing unit
Prior art date
Application number
TW103123957A
Other languages
English (en)
Other versions
TW201603030A (zh
Inventor
Chih Kang Yeh
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW103123957A priority Critical patent/TWI490871B/zh
Priority to US14/490,684 priority patent/US9563498B2/en
Application granted granted Critical
Publication of TWI490871B publication Critical patent/TWI490871B/zh
Publication of TW201603030A publication Critical patent/TW201603030A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Description

防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
本發明是有關於一種用於可複寫式非揮發性記憶體模組的防止讀取干擾的方法以及使用此方法的記憶體控制電路單元和記憶體儲存裝置。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,因此,近年可複寫式非揮發性記憶體產業成為電子產業中相當熱門的一環。例如,以快閃記憶體作為儲存媒體的固態硬碟(Solid-state drive)已廣泛應用作為電腦主機的硬碟,以提升電腦的存取效能。
依據每個記憶胞可儲存的位元數,反及(NAND)型快閃記憶體可區分為單階儲存單元(Single Level Cell,SLC)NAND型快閃記憶體、多階儲存單元(Multi Level Cell,MLC)NAND型快 閃記憶體與複數階儲存單元(Trinary Level Cell,TLC)NAND型快閃記憶體。其中SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料(即,”1”與”0”),MLC NAND型快閃記憶體的每個記憶胞可儲存2個位元的資料並且TLC NAND型快閃記憶體的每個記憶胞可儲存3個位元的資料。
在NAND型快閃記憶體中,實體程式化單元是由排列在同一條字元線上的數個記憶胞所組成。由於SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料,因此,在SLC NAND型快閃記憶體中,排列在同一條字元線上的數個記憶胞是對應一個實體程式化單元。
相對於SLC NAND型快閃記憶體來說,MLC NAND型快閃記憶體的每個記憶胞的浮動閘儲存層可儲存2個位元的資料,其中每一個儲存狀態(即,”11”、”10”、”01”與”00”)包括最低有效位元(Least Significant Bit,LSB)以及最高有效位元(Most Significant Bit,MSB)。例如,儲存狀態中從左側算起之第1個位元的值為LSB,而從左側算起之第2個位元的值為MSB。因此,排列在同一條字元線上的數個記憶胞可組成2個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元(low physical page),並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元(upper physical page)。特別是,下實體程式化單元的寫入速度會快於上實體程式化單元的寫入速度,並且當程式化上實體程式化單元發生錯誤 時,下實體程式化單元所儲存之資料亦可能因此遺失。
類似地,在TLC NAND型快閃記憶體中,每個記憶胞可儲存3個位元的資料,其中每一個儲存狀態(即,”111”、”110”、”101”、”100”、”011”、”010”、”001”與”000”)包括每一個儲存狀態包括左側算起之第1個位元的LSB、從左側算起之第2個位元的中間有效位元(Center Significant Bit,CSB)以及從左側算起之第3個位元的MSB。因此,排列在同一條字元線上的數個記憶胞可組成3個實體程式化單元,其中由此些記憶胞之LSB所組成的實體程式化單元稱為下實體程式化單元,由此些記憶胞之CSB所組成的實體程式化單元稱為中實體程式化單元,並且由此些記憶胞之MSB所組成的實體程式化單元稱為上實體程式化單元。特別是,對排列在同一條字元線上的數個記憶胞進行程式化時,僅能選擇僅程式化下實體程式化單元或者同時程式化下實體程式化單元、中實體程式化單元與上實體程式化單元,否則所儲存之資料可能會遺失。
然而,無論是那種記憶胞快閃記憶體模組,在對同一個實體區塊所儲存的資料進行多次讀取時,例如十萬至百萬次間的讀取次數,很有可能會發生所讀取的資料是錯誤的的狀況,甚至此被多次讀取區塊內所儲存的資料會發生異常或遺失。而此類現象以本發明領域具有通常知識者慣稱為『讀取干擾』(read-disturb)。特別是,快閃記憶體模組中會儲存快閃記憶體儲存系統的系統資料(例如韌體碼(Firmware Code)、檔案配置表 (File Allocation Table,FAT),且此系統資料會在快閃記憶體儲存系統運作期間高頻率地的讀取。也亦因有著這樣的現象存在著,無不驅使著各家廠商必須發展出能確保正確儲存資料的機制。
本發明提供一種防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置,其能夠有效地預防讀取干擾的發生。
本發明的一範例實施例提出一種用於可複寫式非揮發性記憶體模組的防止讀取干擾的方法,此可複寫式非揮發性記憶體模組包括多個實體抹除單元。本防止讀取干擾的方法包括:當從主機系統接收到操作指令時,計數操作次數值,其中此些實體抹除單元之中的第一實體抹除單元被選取以執行此操作指令。本防止讀取干擾的方法也包括,當操作次數值非小於操作次數門檻值時,選擇此些實體抹除單元之中的第二實體抹除單元,並且從第二實體抹除單元中讀取資料。本防止讀取干擾的方法還包括:根據從第二實體抹除單元中所讀取的資料判斷第二實體抹除單元是否發生資料錯誤;以及倘若第二實體抹除單元發生資料錯誤時,選擇此些實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生一已校正資料並且將已校正資料寫入至第三實體抹除單元。
在本發明的一實施例中,上述防止讀取干擾的方法,更包括:將此些實體抹除單元至少分組為資料區與閒置區,其中當 操作次數值非小於操作次數門檻值時,選擇此些實體抹除單元之中的第二實體抹除單元的步驟包括:依序地從資料區的實體抹除單元之中除了對應操作指令的第一實體抹除單元以外的實體抹除單元之中來選出第二實體抹除單元。
在本發明的一實施例中,上述防止讀取干擾的方法,更包括:將此些實體抹除單元至少分組為資料區與閒置區,其中當操作次數值非小於操作次數門檻值時,選擇此些實體抹除單元之中的第二實體抹除單元的步驟包括:隨機地從資料區的實體抹除單元之中除了對應操作指令的第一實體抹除單元以外的實體抹除單元之中來選出第二實體抹除單元。
在本發明的一實施例中,上述防止讀取干擾的方法,更包括:將此些實體抹除單元至少分組為資料區與閒置區並且配置多個邏輯位址,其中此些邏輯位址映射資料區的多個實體抹除單元。並且,上述當此操作次數值非小於操作次數門檻值時,選擇此些實體抹除單元之中的第二實體抹除單元的步驟包括:隨機地從此些邏輯位址之中選擇第一邏輯位址,並且根據邏輯位址-實體抹除單元映射表獲取第二實體抹除單元,其中在邏輯位址-實體抹除單元映射表中第一邏輯位址映射第二實體抹除單元。
在本發明的一實施例中,上述的防止讀取干擾的方法,更包括:為每一邏輯位址記錄一標記,其中此標記會被記錄為未選過狀態或已選過狀態,其中第一邏輯位址的標記被記錄為未選過狀態。
在本發明的一實施例中,上述防止讀取干擾的方法,更包括:在選擇第一邏輯位址之後,將第一邏輯位址的標記重新記錄為已選過狀態。
在本發明的一實施例中,上述根據從第二實體抹除單元中所讀取的資料判斷第二實體抹除單元是否發生資料錯誤的步驟包括:當對應從第二實體抹除單元中所讀取的資料的錯誤位元數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值時,判斷此第二實體抹除單元發生資料錯誤,其中該第二錯誤位元數目門檻值大於該第一錯誤位元數目門檻值。
在本發明的一實施例中,上述防止讀取干擾的方法,更包括:在選擇此些實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生已校正資料並且將已校正資料寫入至第三實體抹除單元之後,將此操作次數值歸零。
在本發明的一實施例中,上述防止讀取干擾的方法,更包括:倘若第二實體抹除單元未發生資料錯誤時,將此操作次數值歸零。
在本發明的一實施例中,上述操作指令為讀取指令、寫入指令或抹除指令。
在本發明的一實施例中,上述資料錯誤為讀取干擾、資料久置或記憶胞磨耗所造成。
本發明的一範例實施例提出一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元。此記憶體控制電路單元 包括主機介面、記憶體介面與記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有多個實體抹除單元。記憶體管理電路耦接至主機介面與記憶體介面。在此,記憶體管理電路更用以當從主機系統接收到操作指令時,計數操作次數值,其中此些實體抹除單元之中的一第一實體抹除單元被選取以執行此操作指令。並且,記憶體管理電路更用以當操作次數值非小於操作次數門檻值時,選擇此些實體抹除單元之中的第二實體抹除單元,並且下達第一指令序列以從第二實體抹除單元中讀取資料。此外,記憶體管理電路更用以根據從第二實體抹除單元中所讀取的資料判斷第二實體抹除單元是否發生資料錯誤,並且倘若此第二實體抹除單元發生資料錯誤時,記憶體管理電路選擇此些實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生已校正資料並且下達第二指令序列以將已校正資料寫入至第三實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以將此些實體抹除單元至少分組為資料區與閒置區並且依序地從資料區的實體抹除單元之中除了對應操作指令的第一實體抹除單元以外的實體抹除單元之中來選出第二實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以將此些實體抹除單元至少分組為資料區與閒置區並且隨機地從資料區的實體抹除單元之中除了對應操作指令的第一實體抹除單元以 外的實體抹除單元之中來選出第二實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以將此些實體抹除單元至少分組為資料區與閒置區並且配置多個邏輯位址,其中此些邏輯位址映射資料區的多個實體抹除單元。此外,記憶體管理電路更用以隨機地從此些邏輯位址之中選擇第一邏輯位址,並且根據邏輯位址-實體抹除單元映射表獲取第二實體抹除單元,其中在邏輯位址-實體抹除單元映射表中第一邏輯位址映射第二實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以為每一邏輯位址記錄一標記,其中此標記會被記錄為未選過狀態或已選過狀態,其中第一邏輯位址的標記被記錄為未選過狀態。
在本發明的一實施例中,上述在記憶體管理電路選擇第一邏輯位址之後,記憶體管理電路更用以將第一邏輯位址的標記重新記錄為已選過狀態。
在本發明的一實施例中,上述記憶體管理電路更用以當對應從第二實體抹除單元中所讀取的資料的錯誤位元數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值時,判斷第二實體抹除單元發生資料錯誤,其中該第二錯誤位元數目門檻值大於該第一錯誤位元數目門檻值。
在本發明的一實施例中,上述在記憶體管理電路選擇此些實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生已校正資料並且下達第二指令序列以 將已校正資料寫入至第三實體抹除單元之後,記憶體管理電路更用以將操作次數值歸零。
在本發明的一實施例中,上述記憶體管理電路更用以在倘若第二實體抹除單元未發生資料錯誤時,將操作次數值歸零。
在本發明的一實施例中,上述操作指令為讀取指令、寫入指令或抹除指令。
在本發明的一實施例中,上述資料錯誤為讀取干擾、資料久置或記憶胞磨耗所造成。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發性記憶體模組具有多個實體抹除單元。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,並且用以當從主機系統接收到操作指令時,計數操作次數值,其中此些實體抹除單元之中的第一實體抹除單元被選取以執行此操作指令。在此,記憶體控制電路單元更用以當操作次數值非小於操作次數門檻值時,選擇此些實體抹除單元之中的第二實體抹除單元,並且從第二實體抹除單元中讀取資料。此外,記憶體控制電路單元更用以根據從第二實體抹除單元中所讀取的資料判斷第二實體抹除單元是否發生資料錯誤並且倘若第二實體抹除單元發生資料錯誤時,記憶體控制電路單元選擇此些實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生已校正資 料並且將已校正資料寫入至第三實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以將此些實體抹除單元至少分組為資料區與閒置區並且依序地從資料區的實體抹除單元之中除了對應操作指令的第一實體抹除單元以外的實體抹除單元之中來選出第二實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以將此些實體抹除單元至少分組為資料區與閒置區並且隨機地從資料區的實體抹除單元之中除了對應操作指令的第一實體抹除單元以外的實體抹除單元之中來選出第二實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以將此些實體抹除單元至少分組為資料區與閒置區並且配置多個邏輯位址,其中此些邏輯位址映射資料區的多個實體抹除單元。此外,記憶體控制電路單元更用以隨機地從此些邏輯位址之中選擇第一邏輯位址,並且根據邏輯位址-實體抹除單元映射表獲取第二實體抹除單元,其中在邏輯位址-實體抹除單元映射表中第一邏輯位址映射第二實體抹除單元。
在本發明的一實施例中,上述記憶體管理電路更用以為每一邏輯位址記錄一標記,其中此標記會被記錄為未選過狀態或已選過狀態,其中第一邏輯位址的標記被記錄為未選過狀態。
在本發明的一實施例中,在記憶體控制電路單元選擇第一邏輯位址之後,記憶體控制電路單元更用以將第一邏輯位址的標記重新記錄為已選過狀態。
在本發明的一實施例中,上述記憶體管理電路更用以當對應從第二實體抹除單元中所讀取的資料的錯誤位元數目大於一第一錯誤位元數目門檻值且小於一第二錯誤位元數目門檻值時,判斷第二實體抹除單元發生資料錯誤,其中該第二錯誤位元數目門檻值大於該第一錯誤位元數目門檻值。
在本發明的一實施例中,在選擇此些實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生已校正資料並且將已校正資料寫入至第三實體抹除單元之後,記憶體控制電路單元更用以將操作次數值歸零。
在本發明的一實施例中,上述的記憶體管理電路更用以在倘若第二實體抹除單元未發生資料錯誤時,將操作次數值歸零。
在本發明的一實施例中,上述的操作指令為讀取指令、寫入指令或抹除指令。
在本發明的一實施例中,上述資料錯誤為讀取干擾、資料久置或記憶胞磨耗所造成。
基於上述,本發明範例實施例中的防止讀取干擾的方法、記憶體控制電路單元及記憶體儲存裝置在操作指令的操作次數值非小於操作次數門檻值時,會選擇另一個非對應於目前所接收之操作指令的實體抹除單元來判斷其是否發生資料錯誤,由此,可監視整個系統的狀況,並且在維持系統執行性能下有效地預防讀取干擾的發生。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉 實施例,並配合所附圖式作詳細說明如下。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體(RAM)
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接介面單元
104‧‧‧記憶體控制電路單元
106‧‧‧可複寫式非揮發性記憶體模組
410(0)~410(N)‧‧‧實體抹除單元
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧緩衝記憶體
210‧‧‧電源管理電路
212‧‧‧錯誤檢查與校正電路
502‧‧‧資料區
504‧‧‧閒置區
506‧‧‧系統區
508‧‧‧取代區
601、901、601’、901’‧‧‧資料
510(0)~510(D)、510’(2)‧‧‧邏輯位址
S101、S103、S105、S107‧‧‧防止讀取干擾的方法的步驟
S700、S701、S703、S705、S707、S709、S711、S713‧‧‧防止讀取干擾的方法的步驟
S800、S801、S803、S805、S807、S809、S811、S813‧‧‧防止讀取干擾的方法的步驟
S1000、S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017‧‧‧防止讀取干擾的方法的步驟
圖1為根據本發明所繪示的防止讀取干擾的方法的流程圖。
圖2A是根據本發明之第一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2B是根據本發明之第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖2C是根據本發明第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖3是繪示圖2A所示的記憶體儲存裝置的概要方塊圖。
圖4是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖5A與圖5B是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖6A與圖6B是根據第一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
圖7A與圖7B是根據第一範例實施例所繪示之防止讀取干擾的方法的流程圖。
圖8A與圖8B是根據第二範例實施例所繪示之防止讀取干擾的方法的流程圖。
圖9A~圖9C是根據第三範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
圖10A與圖10B是根據第三範例實施例所繪示之防止讀取干擾的方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1為根據本發明所繪示的防止讀取干擾的方法的流程圖。
請參照圖1,為了能夠確保在記憶體儲存裝置中正確地儲存資料,並且有效地預防讀取干擾的發生,本發明範例實施例所提出的防止讀取干擾的方法會當從主機系統接收到操作指令時,計數操作次數值,並且第一實體抹除單元被選取以執行此操作指令(S101);當操作次數值非小於操作次數門檻值時,選擇實體抹除單元之中的第二實體抹除單元,並且從第二實體抹除單元中讀取一資料(S103)。接著,根據從第二實體抹除單元中所讀取的資料判斷第二實體抹除單元是否發生資料錯誤(S105);倘若第二實體抹除單元發生資料錯誤時,選擇實體抹除單元之中的第三實體抹除單元,校正從第二實體抹除單元中所讀取的資料以產生已校正資料 並且將已校正資料寫入至第三實體抹除單元(S107)。為了能夠更明瞭本發明,以下將以數個範例實施例來進行說明。
[第一範例實施例]
圖2A是根據本發明之第一範例實施例所繪示的主機系統與記憶體儲存裝置。圖2B是根據本發明之第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。圖2C是根據本發明第一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
請參照圖2A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖2B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件電性連接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖2B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來做說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為圖2C中的數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖2C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接於主機系統的基板上。
圖3是繪示圖2A所示的記憶體儲存裝置的概要方塊圖。
請參照圖3,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(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 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)或者屬於不同的記憶體晶粒。每一實體抹除單元分別具有複數個實體程式化單元,並且屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實體程式化單元所組成。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即, 每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體存取位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體存取位址,且一個實體存取位址的大小為512位元組(byte)。然而,在其他範例實施例中,資料位元區中也可包含數目更多或更少的實體存取位址,本發明並不限制實體存取位址的大小以及個數。例如,在一範例實施例中,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面或實體扇區,但本發明不以此為限。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組,即一個記憶胞中可儲存至少2個位元。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖4是根據第一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖4,記憶體控制電路單元104包括記憶體管理電 路202、主機介面204與記憶體介面206。
記憶體管理電路202用以控制記憶體控制電路單元104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼,並且當記憶體控制電路單元104被致能時,微處理器單元會先執行此驅動碼段來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
主機介面204是耦接至記憶體管理電路202並且用以耦接至連接介面單元102,以接收與識別主機系統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會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。具體來說,錯誤檢查與校正電路212會被設計能夠校正一數目的錯誤位元(以下稱為最大可校正錯誤位元數)。例如,最大可校正錯誤位元數為48。倘若發生在所讀取之資料的錯誤位元的數目非大於48個時,錯誤檢查與校正電路212就能夠依據錯誤校正碼將錯誤位元校正回正確的值。反之,錯誤檢查與校正電路212會回報錯誤校正失敗且記憶體管理電路202會將指示資料已遺失的訊息傳送給主機系統1000。
圖5A與圖5B是根據第一範例實施例所繪示之管理實體抹除單元的範例示意圖。
必須瞭解的是,在此描述可複寫式非揮發性記憶體模組106之實體抹除單元的運作時,以“提取”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操 作。
請參照圖5A,記憶體控制電路單元104(或記憶體管理電路202)會將實體抹除單元410(0)~410-(N)邏輯地分組為資料區502、閒置區504、系統區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體管理電路202會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體管理電路202會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、系統區506與取代區 508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實體抹除單元關聯至資料區502、閒置區504、系統區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖5B,記憶體控制電路單元104(或記憶體管理電路202)會配置邏輯位址510(0)~510(D)以映射至資料區502中部份的實體抹除單元414(0)~410(F-1)。主機系統1000是透過邏輯位址510(0)~510(D)來存取資料區502中的資料。此外,記憶體控制電路單元104(或記憶體管理電路202)會建立邏輯位址-實體抹除單元映射表(logical address-physical erasing unit mapping table),以記錄邏輯位址與實體抹除單元之間的映射關係。此邏輯位址-實體抹除單元映射表還可以例如是記錄邏輯位址與實體程式化單元、邏輯程式化單元與實體程式化單元及/或邏輯程式化單元與實體抹除單元之間的映射關係等各種邏輯與實體的對應關係,本發明不加以限制。
圖6A與圖6B是根據第一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
請參照圖6A,記憶體控制電路單元104(或記憶體管理電路202)會初始地設定一操作次數值為0並且每當接收到主機系統1000所傳送之操作指令(例如,寫入指令或讀取指令)時,記憶體 控制電路單元104(或記憶體管理電路202)會計數此操作次數值。例如,記憶體控制電路單元104(或記憶體管理電路202)會根據主機系統1000所傳送至記憶體控制電路單元104(或記憶體管理電路202)之讀取指令不斷地更新並累計操作次數值。並且當操作次數值非小於操作次數門檻值(例如,10000)時,記憶體控制電路單元104(或記憶體管理電路202)會從資料區502中的實體抹除單元之中,選擇對應此時主機系統1000所傳送之讀取指令的第一實體抹除單元410(0)以外的第二實體抹除單元410(1),並且從第二實體抹除單元410(1)中讀取資料601。
如上所述,在從實體抹除單元中讀取資料時,記憶體控制器104(或錯誤檢查與校正電路212)會根據對應的錯誤檢查與校正碼來判斷所讀取的資料是否存有錯誤位元並且嘗試對錯誤位元進行錯誤校正。在本發明範例實施例中,在錯誤位元的數目小於最大可校正錯誤位元數的狀態下,除了將錯誤位元進行校正之外,記憶體控制器104(或記憶體管理電路202)還會根據判斷操作次數值是否非小於操作次數門檻值的機制以及識別發在所讀取之資料上的錯誤位元的數目,以決定是否搬移資料。
舉例而言,在如圖6A所示的狀態下,記憶體控制器104(或記憶體管理電路202)會從第二實體抹除單元410(1)讀取資料601並且識別從第二實體抹除單元410(1)所讀取的資料601的錯誤位元。倘若發生在所讀取之資料601上的錯誤位元的數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值時, 在記憶體控制器104(或記憶體管理電路202)將所讀取之資料601上的錯誤位元校正後,記憶體控制器104(或記憶體管理電路202)會選擇閒置區504的實體抹除單元之中的第三實體抹除單元410(F)並且將校正後的資料601’寫入至第三實體抹除單元410(F),其中第二錯誤位元數目門檻值大於第一錯誤位元數目門檻值。此後,請參照圖6B,記憶體控制器104(或記憶體管理電路202)會重新調整邏輯位址與實體抹除單元之間的映射關係並且將存有有效資料的第三實體抹除單元410(F)關聯至資料區502,以及在第二實體抹除單元410(1)中的資料抹除後,將第二實體抹除單元410(1)關聯至閒置區504。在此,判斷此第二實體抹除單元之資料上的錯誤位元的數目是否大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值以將校正後的資料重新儲存至另一個實體抹除單元並且重新調整邏輯位址與實體抹除單元之間的映射關係的運作稱為”預防讀取干擾運作”。
特別是,當欲從記憶胞中讀取資料時,記憶體控制電路單元104(或記憶體管理電路202)會對可複寫式非揮發性記憶體模組106下達讀取指令,並且可複寫式非揮發性記憶體模組106會對連接至欲讀取的記憶胞的字元線施予預設讀取電壓,以驗證記憶胞的通道儲存狀態。舉例而言,在寫入與抹除過程中,可複寫式非揮發性記憶體模組106的記憶胞會隨著電子多次的注入與移除而造成部份結構磨損,導致電子寫入速度增加並造成臨界電壓分佈變寬或偏移,因此,記憶體控制電路單元104(或記憶體管理 電路202)將無法正確地區別記憶胞的儲存狀態。也就是說,在上述判斷第二實體抹除單元之資料上的錯誤位元的數目是否大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值的操作中,導致臨界電壓分佈偏移有而造成錯誤位元的原因有很多,例如,讀取干擾、資料久置及記憶胞磨耗。
具體而言,在本發明範例實施例中,第二錯誤位元數目門檻值即為上述的最大可校正錯誤位元數,也就是說,當記憶體控制器104(或記憶體管理電路202)識別所讀取之資料的錯誤位元已大於第二錯誤位元數目門檻值時,錯誤檢查與校正電路212會回報錯誤校正失敗並且記憶體控制器104(或記憶體管理電路202)會將指示資料已遺失的訊息傳送給主機系統1000。
特別是,在本發明之第一範例實施例中,記憶體控制器104(或記憶體管理電路202)是依序地從資料區502的實體抹除單元之中除了對應目前所接收之讀取指令的第一實體抹除單元410(0)以外的實體抹除單元之中來選出第二實體抹除單元。請參照圖6B,舉例而言,倘若在圖6A所示的狀態下主機系統1000欲讀取實體抹除單元410(10)中的資料且此時操作次數值非小於操作次數門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會識別上一次是以由實體抹除單元410(F)所輪替之實體抹除單元410(1)作為用以執行預防讀取干擾運作的實體抹除單元,因此,記憶體控制電路單元104(或記憶體管理電路202)會依序地選擇實體抹除單元410(F)的下一個實體抹除單元410(2),並且對其執行預 防讀取干擾運作。
值得一提的是,在本發明範例實施例中,藉由將上述的操作次數門檻值設為10000,記憶體控制電路單元104(或記憶體管理電路202)會在主機系統1000傳送之讀取指令每累積至10000次時,在資料區502中的實體抹除單元之中讀取非對應於此第10000次之讀取指令的另一個實體抹除單元,並且執行上述預防讀取干擾運作,可使得可複寫式非揮發性記憶體模組106中的實體抹除單元能平均地被管理以及監控,由此來降低讀取干擾發生的可能性。由於讀取干擾的發生通常是在讀取某一個實體抹除單元幾十萬、幾百萬或幾千萬次才可能發生,因此,在本發明的範例實施例中將操作次數門檻值設為10000,亦即,每計數至10000次的讀取指令,即給記憶體儲存裝置100一次機會以檢查其可複寫式非揮發性記憶體模組106中資料區502的實體抹除單元的狀態以避免讀取干擾的發生。然而,值得注意的是,本發明並不限於此,本發明亦可依據記憶體儲存裝置100的執行性能來調整操作次數門檻值的設定。
此外,在本發明範例實施例中,上述的操作次數值是以讀取指令為例來說明,亦即,記憶體控制電路單元104(或記憶體管理電路202)會在接收來自主機系統1000所傳送之讀取指令每累積至10000次時,選擇一非對應目前所接收之操作指令的實體抹除單元來執行預防讀取干擾運作。然而,本發明並不限於此,記憶體控制電路單元104(或記憶體管理電路202)亦可以在每當接收 由主機系統1000所傳送之寫入指令的操作計數值累積至10000次時,選擇非對應於目前所接收之寫入指令所對應的實體抹除單元來執行預防讀取干擾運作,亦或是從主機系統1000所接收之讀取指令與寫入指令兩者的操作計數值之總合累積至10000次時,選擇非對應於目前所接收之操作指令(讀取指令或寫入指令)所對應的實體抹除單元來執行預防讀取干擾運作。此外,在本發明範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)還可以在每當接收由主機系統1000所傳送之抹除指令的操作計數值累積至10000次時,選擇非對應於目前所接收之抹除指令所對應的實體抹除單元來執行預防讀取干擾運作,亦或是從主機系統1000所接收之讀取指令、寫入指令與抹除指令三者的操作計數值之總合累積至10000次時,選擇非對應於目前所接收之操作指令(讀取指令、寫入指令或抹除指令)所對應的實體抹除單元來執行預防讀取干擾運作。
在一範例實施例中,記憶體控制電路單元104(或記憶體管理電路202)會在操作次數值非小於操作次數門檻值(例如,10000)時,選擇非對應於目前所接收之操作指令的實體抹除單元以執行預防讀取干擾運作。並且,在記憶體控制電路單元104(或記憶體管理電路202)執行完預防讀取干擾運作之後,例如,會更進一步地將操作次數值歸零,以使得當記憶體控制電路單元104(或記憶體管理電路202)從主機系統接收到操作指令(例如,讀取指令或操作指令)時,從新計數操作次數值。
圖7A與圖7B是根據第一範例實施例所繪示之防止讀取干擾的方法的流程圖。
請參照圖7A,在步驟S701中,記憶體控制電路單元104(或記憶體管理電路202)會當接收到來自主機系統的操作指令(例如,讀取指令或寫入指令)時,計數操作次數值。
在步驟S703中,記憶體控制電路單元104(或記憶體管理電路202)會判斷所計數之操作次數值是否非小於操作次數門檻值。
倘若操作次數值非小於操作次數門檻值時,在步驟S705中,依序地選擇實體抹除單元中對應此操作指令的第一實體抹除單元以外的第二實體抹除單元,並且從第二實體抹除單元中讀取資料。反之,倘若操作次數值小於操作次數門檻值時,則記憶體控制電路單元104(或記憶體管理電路202)會執行步驟S701以在接收到來自主機系統的操作指令時計數操作次數值。
接著,在步驟S707中,記憶體控制電路單元104(或記憶體管理電路202)會判斷從第二實體抹除單元中所讀取之資料上的錯誤位元的數目是否大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值。
倘若所讀取之資料上的錯誤位元的數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值,在步驟S709中,記憶體控制電路單元104(或記憶體管理電路202)會將所讀取之資料上的錯誤位元校正後,選擇實體抹除單元之中的第三實體抹除 單元並且將校正後的資料寫入至第三實體抹除單元。反之,倘若所讀取之資料上的錯誤位元的數目非小於第一錯誤位元數目門檻值,則回到步驟S705中,記憶體控制電路單元104(或記憶體管理電路202)會依序地選擇下一個實體抹除單元以進行預防讀取干擾運作。此外,倘若所讀取之資料上的錯誤位元的數目大於第二錯誤位元數目門檻值,則在步驟S700中,記憶體控制電路單元104(或記憶體管理電路202)會回報錯誤校正失敗並且將指示資料已遺失的訊息傳給主機。
之後,在步驟S711中,記憶體控制電路單元104(或記憶體管理電路202)會將操作次數值歸零,並且記憶體控制電路單元104(或記憶體管理電路202)會執行步驟S701以在接收到來自主機系統的操作指令時計數操作次數值。
值得一提的是,本發明亦可以在步驟S707中,當記憶體控制電路單元104(或記憶體管理電路202)所讀取之資料上的錯誤位元的數目非大於第一錯誤位元數目門檻值時將操作次數值歸零。請參照圖7B,圖7B所示之防止讀取干擾的方法本質上相同於圖7A所示之防止讀取干擾的方法,不同之處在於,在步驟S707中,當記憶體控制電路單元104(或記憶體管理電路202)判斷所讀取之資料上的錯誤位元的數目小於第一錯誤位元數目門檻值時,會接著進入步驟S713,以使記憶體控制電路單元104(或記憶體管理電路202)會將操作次數歸零,並且回到步驟S701中,以使記憶體控制電路單元104(或記憶體管理電路202)接收到來自主機系統 1000的操作指令時,重新計數操作次數值。特別是,由此可減少在圖7A的步驟S707中,倘若當所讀取之資料上的錯誤位元的數目一直未大於第一錯誤位元數目門檻值時,不斷地回到步驟S705中選擇下一個實體抹除單元以進行預防讀取干擾運作的執行次數,以提升記憶體儲存裝置100的執行性能。
[第二範例實施例]
第二範例實施例的記憶體儲存裝置的結構與第一範例實施例的記憶體儲存裝置是類似的,其不同之處在於第二範例實施例的記憶體控制器(或記憶體管理電路)是使用隨機的方法選擇實體抹除單元來執行預防讀取干擾運作。以下將使用第一範例實施例的元件標號來說明第二範例實施例的差異之處。
在本範例實施例中,記憶體控制電路單元104可更包括一隨機選取模組電路(未繪示),特別是,記憶體控制電路單元104(或記憶體管理電路202)會透過此隨機選取模組電路執行一隨機函數的運算,以取得用以執行預防讀取干擾運作的實體抹除單元。舉例來說,記憶體控制電路單元104(或記憶體管理電路202)會識別可複寫式非揮發性記憶體模組106中之資料區502中的實體抹除單元的位址410(0)~410(F-1)以及對應目前所接收之操作指令的實體抹除單元,並且將對應目前所接收之操作指令的實體抹除單元以外的實體抹除單元的實體位址帶入隨機函數中,透過隨機選取模組電路的運算,計算並獲得一實體抹除單元的位址,再由記憶體控制電路單元104(或記憶體管理電路202)根據隨機選取 模組電路所計算出的實體位址取出此實體抹除單元作為用以執行預防讀取干擾運作的實體抹除單元。透過隨機地選取實體抹除單元的方式,可使得資料區中每一實體抹除單元皆有機會被選取到以檢查其是否發生讀取干擾,並且每一實體抹除單元可重複地被選擇來執行此預防讀取干擾運作。
圖8A與圖8B是根據第二範例實施例所繪示之防止讀取干擾的方法的流程圖。
請參照圖8A,圖8A所示之防止讀取干擾的方法本質上相同於圖7A所示之防止讀取干擾的方法,其中步驟S800、步驟S801、步驟S803以及步驟S807到步驟S811是相同於第一範例實施例之圖7中的防止讀取干擾的方法的步驟S700、步驟S701、步驟S703以及步驟S707到步驟S711,在此不再重複。其不同之處在於,倘若操作次數值非小於操作次數門檻值時,在步驟S805中,記憶體控制電路單元104(或記憶體管理電路202)是隨機地選擇實體抹除單元中對應目前所接收之操作指令的第一實體抹除單元以外的第二實體抹除單元,並且從此第二實體抹除單元中讀取資料。
請參照圖8B,圖8B所示之防止讀取干擾的方法本質上相同於圖7B所示之防止讀取干擾的方法,其中步驟S800、步驟S801、步驟S803以及步驟S807到步驟S813是相同於第一範例實施例之圖7中的讀取資料傳輸方法的步驟S700、步驟S701、步驟S703以及步驟S707到步驟S713,在此不再重複。不同之處在於,倘若操作次數值非小於操作次數門檻值時,在步驟S805中,記憶 體控制電路單元104(或記憶體管理電路202)是隨機地選擇實體抹除單元中對應目前所接收之操作指令的第一實體抹除單元以外的第二實體抹除單元,並且從此第二實體抹除單元中讀取資料。
[第三範例實施例]
第三範例實施例的記憶體儲存裝置的結構與第一範例實施例的記憶體儲存裝置是類似的,且相同於第二範例實施例,皆是以隨機的方法選擇實體抹除單元來執行預防讀取干擾運作。不同之處在於第三範例實施例的防止讀取干擾的方法是先隨機地選擇邏輯位址再映射至對應的實體抹除單元,並且標記所選過的邏輯位址,以使得每一次所選擇來執行預防讀取干擾運作的實體抹除單元不會重複。以下將使用第一範例實施例的元件標號來說明第三範例實施例的差異之處。
在本範例實施例中,記憶體控制電路單元104更包括一隨機選取模組電路(未繪示),特別是,記憶體控制電路單元104(或記憶體管理電路202)會透過此隨機選取模組電路執行一隨機函數的運算,以取得用以執行預防讀取干擾運作的實體抹除單元。首先,如上所述,記憶體控制電路單元104(或記憶體管理電路202)會配置多個邏輯位址510(0)~510(D)以映射至資料區502中部份的實體抹除單元414(0)~410(F-1)。接著,記憶體控制電路單元104(或記憶體管理電路202)會更進一步地為每一邏輯位址記錄一標記,例如,記憶體控制電路單元104(或記憶體管理電路202)會初始地將每一邏輯位址510(0)~510(D)的標記記錄為未選過狀態。
之後,相同於第一與第二範例實施例,當記憶體控制電路單元104(或記憶體管理電路202)從主機系統1000接收到操作指令時會計數一操作次數值,並且當所計數之操作次數值非小於操作次數門檻值時,記憶體控制電路單元104(或記憶體管理電路202)會隨機地從邏輯位址510(0)~510(D)之中選擇其標記為未選過狀態的第一邏輯位址,並且根據邏輯位址-實體抹除單元映射表獲取對應第一邏輯位址的第二實體抹除單元。其中隨機地從邏輯位址510(0)~510(D)之中選擇第一邏輯位址的方式類似於第二範例實施例,記憶體控制電路單元104(或記憶體管理電路202)會識別可複寫式非揮發性記憶體模組106之資料區502中其標記被記錄為未選過狀態的所有邏輯位址以及對應目前所接收之操作指令的實體抹除單元所映射的邏輯位址,並且將對應目前所接收之操作指令的第一實體抹除單元所映射之邏輯位址以外且記錄為未選過狀態的邏輯位址帶入隨機函數中,透過隨機選取模組電路的運算,計算並獲得第一邏輯位址,再由記憶體控制電路單元104(或記憶體管理電路202)根據邏輯位址-實體抹除單元映射表取出由隨機選取模組電路所計算出之第一邏輯位址所映射的第二實體抹除單元作為用以執行預防讀取干擾運作的實體抹除單元。
此外,在本範例實施例中,當記憶體控制電路單元104(或記憶體管理電路202)判斷從第二實體抹除單元中所讀取之資料上的錯誤位元的數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值時,會將所讀取之資料上的錯誤位元校正後,選 擇閒置區之實體抹除單元之中的第三實體抹除單元並且將校正後的資料寫入至第三實體抹除單元。特別是,在此之後,記憶體控制電路單元104(或記憶體管理電路202)會更進一步地將第一邏輯位址映射至第三實體抹除單元並且將第一邏輯位址的標記重新記錄為已選過狀態。據此,可複寫式非揮發性記憶體模組106中之資料區502的實體抹除單元能平均地被選取來檢查其資料上之錯誤位元的數目以評估其是否發生讀取干擾,由此降低記憶體儲存裝置100整體之讀取干擾發生的可能性。
圖9A~圖9C是根據第三範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。
請參照圖9A,記憶體控制電路單元104(或記憶體管理電路202)會配置多個邏輯位址510(0)~510(D)以映射至資料區502中的實體抹除單元414(0)~410(F-1),並且為每一邏輯位址的標記記錄為未選過狀態。記憶體控制電路單元104(或記憶體管理電路202)會根據從主機系統1000所接收之操作指令(讀取指令、寫入指令或抹除指令)不斷地更新並累計操作次數值並且識別資料區502中的邏輯位址510(0)~510(D)目前皆為未選過狀態,因此,當操作次數值非小於操作次數門檻值(例如,10000)時,記憶體控制電路單元104(或記憶體管理電路202)會從資料區502中的實體抹除單元之中,將對應目前所接收之操作指令的第一實體抹除單元410(0)所映射之邏輯位址510(0)以外且記錄為未選過狀態的邏輯位址帶入隨機函數中,透過隨機選取模組電路的運算,計算並獲得第一 邏輯位址510(2),再由記憶體控制電路單元104(或記憶體管理電路202)根據邏輯位址-實體抹除單元映射表取出由隨機選取模組電路所計算出之第一邏輯位址510(2)所映射的第二實體抹除單元410(2),並且從第二實體抹除單元410(2)中讀取資料901。
舉例而言,在如圖9A所示的狀態下,記憶體控制器104(或記憶體管理電路202)會從第二實體抹除單元410(2)讀取資料901並且識別從第二實體抹除單元410(2)所讀取的資料901的錯誤位元。倘若發生在所讀取之資料901上的錯誤位元的數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值時,在記憶體控制器104(或記憶體管理電路202)將所讀取之資料901上的錯誤位元校正後,記憶體控制器104(或記憶體管理電路202)會選擇閒置區504中之實體抹除單元之中的第三實體抹除單元410(F)並且將校正後的資料901’寫入至第三實體抹除單元410(F)。此後,記憶體控制電路單元104(或記憶體管理電路202)會更進一步地將第一邏輯位址510(2)映射至第三實體抹除單元410(F)(如圖9B所示)並且將第一邏輯位址的標記重新記錄為已選過狀態(如圖9B所示的第一邏輯位址510’(2))。此外,請參照圖9C,記憶體控制電路單元104(或記憶體管理電路202)會將存有有效資料的第三實體抹除單元410(F)關聯至資料區502,並且在第二實體抹除單元410(2)中的資料901被抹除後,將第二實體抹除單元410(2)關聯至閒置區504。
也就是說,倘若在圖9C所示的狀態下主機系統1000欲 讀取實體抹除單元410(1)中的資料且此時操作次數值非小於操作次數門檻值,記憶體控制器104(或記憶體管理電路202)會識別資料區502中其標記被記錄為未選過狀態的所有邏輯位址(即,邏輯位址510(0)、邏輯位址510(1)以及邏輯位址510(3)~510(D))以及對應目前操作指令的實體抹除單元410(1)所映射的邏輯位址510(1),並且將對應目前操作指令的第一實體抹除單元所映射之邏輯位址510(1)以外且記錄為未選過狀態的邏輯位址(即,邏輯位址510(0)以及邏輯位址510(3)~510(D))帶入隨機函數中,透過隨機選取模組電路的運算,計算並獲得第二邏輯位址,再由記憶體控制電路單元104(或記憶體管理電路202)根據邏輯位址-實體抹除單元映射表取出由隨機選取模組電路所計算出之第二邏輯位址所映射的第四實體抹除單元作為用以執行預防讀取干擾運作的實體抹除單元。
圖10A與圖10B是根據第三範例實施例所繪示之防止讀取干擾的方法的流程圖。
請參照圖10A,在步驟S1001中,記憶體控制電路單元104(或記憶體管理電路202)會配置多個邏輯位址以映射至資料區中的實體抹除單元,並且將每一邏輯位址的標記記錄為未選過狀態。
在步驟S1003中,記憶體控制電路單元104(或記憶體管理電路202)會當接收到來自主機系統的操作指令(例如,讀取指令或寫入指令)時,計數操作次數值。
在步驟S1005中,記憶體控制電路單元104(或記憶體管理電路202)會判斷所計數之操作次數值是否非小於操作次數門檻值。倘若操作次數值非小於操作次數門檻值時,在步驟S1007中,記憶體控制電路單元104(或記憶體管理電路202)會隨機地從邏輯位址之中選擇第一邏輯位址,根據邏輯位址-實體抹除單元映射表獲取映射第一邏輯位址的第二實體抹除單元,並且從第二實體抹除單元中讀取資料。反之,倘若操作次數值小於操作次數門檻值時,則記憶體控制電路單元104(或記憶體管理電路202)會執行步驟S1003,以在接收到來自主機系統的操作指令時則計數操作次數值。
接著,在步驟S1009中,記憶體控制電路單元104(或記憶體管理電路202)會判斷從第二實體抹除單元中所讀取之資料上的錯誤位元的數目是否大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值。
倘若所讀取之資料上的錯誤位元的數目大於第一錯誤位元數目門檻值且小於第二錯誤位元數目門檻值,在步驟S1011中,記憶體控制電路單元104(或記憶體管理電路202)會將所讀取之資料上的錯誤位元校正後,選擇實體抹除單元之中的第三實體抹除單元並且將校正後的資料寫入至第三實體抹除單元。反之,倘若所讀取之資料上的錯誤位元的數目小於第一錯誤位元數目門檻值,則回到步驟S1007,記憶體控制電路單元104(或記憶體管理電路202)會繼續地使用隨機的方式選擇另一個邏輯位址所映射的 實體抹除單元以進行預防讀取干擾運作。此外,倘若所讀取之資料上的錯誤位元的數目大於第二錯誤位元數目門檻值,則在步驟S1000中,記憶體控制電路單元104(或記憶體管理電路202)會回報錯誤校正失敗並且將指示資料已遺失的訊息傳給主機。
在步驟S1013中,記憶體控制電路單元104(或記憶體管理電路202)會將第一邏輯位址映射至第三實體抹除單元並且將第一邏輯位址的標記重新記錄為已選過狀態。
之後,在步驟S1015中,記憶體控制電路單元104(或記憶體管理電路202)會將操作次數值歸零,並且之後記憶體控制電路單元104(或記憶體管理電路202)會執行步驟S1003,以在接收到來自主機系統的操作指令時則計數操作次數值。
此外,相同於第一範例實施例,本發明之第三範例實施例亦可以在步驟S1009中,當判斷所讀取之資料上的錯誤位元的數目小於第一錯誤位元數目門檻值時,將操作次數值歸零(如圖10B的步驟S1017所示)。由此可減少在圖10A的步驟S1009中,倘若當所讀取之資料上的錯誤位元的數目一直未大於第一錯誤位元數目門檻值時,不斷地回到步驟S1007中選擇下一個實體抹除單元以進行預防讀取干擾運作的執行次數,以提升記憶體儲存裝置100的執行性能。
綜上所述,本發明範例實施例的防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置會當接收來自主機系統所傳送之操作指令的操作計數值每累積至一門檻值時,選擇一非對應 目前所接收之操作指令的實體抹除單元來執行預防讀取干擾運作。據此,記憶體儲存裝置的整體存取狀況可被監控與管理並且可複寫式非揮發性記憶體模組中的實體抹除單元能平均地被選取以檢查其是否發生讀取干擾,由此可確保在記憶體儲存裝置中所儲存之資料的正確性並有效地降低讀取干擾發生的可能性。
S101、S103、S105、S107‧‧‧防止讀取干擾的方法的步驟

Claims (33)

  1. 一種防止讀取干擾的方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該防止讀取干擾的方法包括:當從一主機系統接收到一操作指令時,計數一操作次數值,其中該些實體抹除單元之中的一第一實體抹除單元被選取以執行該操作指令;當該操作次數值非小於一操作次數門檻值時,選擇該些實體抹除單元之中的一第二實體抹除單元,並且從該第二實體抹除單元中讀取一資料;根據從該第二實體抹除單元中所讀取的該資料判斷該第二實體抹除單元是否發生一資料錯誤;以及倘若該第二實體抹除單元發生該資料錯誤時,選擇該些實體抹除單元之中的一第三實體抹除單元,校正從該第二實體抹除單元中所讀取的該資料以產生一已校正資料並且將該已校正資料寫入至該第三實體抹除單元。
  2. 如申請專利範圍第1項所述之防止讀取干擾的方法,更包括:將該些實體抹除單元至少分組為一資料區與一閒置區,其中當該操作次數值非小於該操作次數門檻值時,選擇該些實體抹除單元之中的該第二實體抹除單元的步驟包括:依序地從該資料區的該些實體抹除單元之中除了對應該操作 指令的該第一實體抹除單元以外的實體抹除單元之中來選出該第二實體抹除單元。
  3. 如申請專利範圍第1項所述之防止讀取干擾的方法,更包括:將該些實體抹除單元至少分組為一資料區與一閒置區,其中當該操作次數值非小於該操作次數門檻值時,選擇該些實體抹除單元之中的該第二實體抹除單元的步驟包括:隨機地從該資料區的該些實體抹除單元之中除了對應該操作指令的該第一實體抹除單元以外的實體抹除單元之中來選出該第二實體抹除單元。
  4. 如申請專利範圍第1項所述之防止讀取干擾的方法,更包括:將該些實體抹除單元至少分組為一資料區與一閒置區;以及配置多個邏輯位址,其中該些邏輯位址映射該資料區的該些實體抹除單元,其中當該操作次數值非小於該操作次數門檻值時,選擇該些實體抹除單元之中的該第二實體抹除單元的步驟包括:隨機地從該些邏輯位址之中選擇一第一邏輯位址,並且根據一邏輯位址-實體抹除單元映射表獲取該第二實體抹除單元,其中在該邏輯位址-實體抹除單元映射表中該第一邏輯位址映射該第二實體抹除單元。
  5. 如申請專利範圍第4項所述之防止讀取干擾的方法,更包 括:為每一該些邏輯位址記錄一標記,其中該標記會被記錄為一未選過狀態或一已選過狀態,其中該第一邏輯位址的該標記被記錄為該未選過狀態。
  6. 如申請專利範圍第5項所述之防止讀取干擾的方法,更包括:在選擇該第一邏輯位址之後,將該第一邏輯位址的該標記重新記錄為該已選過狀態。
  7. 如申請專利範圍第1項所述之防止讀取干擾的方法,其中根據從該第二實體抹除單元中所讀取的該資料判斷該第二實體抹除單元是否發生該資料錯誤的步驟包括:當對應從該第二實體抹除單元中所讀取的該資料的一錯誤位元數目大於一第一錯誤位元數目門檻值且小於一第二錯誤位元數目門檻值時,判斷該第二實體抹除單元發生該資料錯誤,其中該第二錯誤位元數目門檻值大於該第一錯誤位元數目門檻值。
  8. 如申請專利範圍第1項所述之防止讀取干擾的方法,更包括:在選擇該些實體抹除單元之中的該第三實體抹除單元,校正從該第二實體抹除單元中所讀取的該資料以產生該已校正資料並且將該已校正資料寫入至該第三實體抹除單元之後,將該操作次數值歸零。
  9. 如申請專利範圍第1項所述之防止讀取干擾的方法,更包括: 倘若該第二實體抹除單元未發生該資料錯誤時,將該操作次數值歸零。
  10. 如申請專利範圍第1項所述之防止讀取干擾的方法,其中該操作指令為一讀取指令、一寫入指令或一抹除指令。
  11. 如申請專利範圍第1項所述之防止讀取干擾的方法,其中該資料錯誤為一讀取干擾、一資料久置或一記憶胞磨耗所造成。
  12. 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個實體抹除單元,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,其中該記憶體管理電路用以當從該主機系統接收到一操作指令時,計數一操作次數值,其中該些實體抹除單元之中的一第一實體抹除單元被選取以執行該操作指令,其中該記憶體管理電路更用以當該操作次數值非小於一操作次數門檻值時,選擇該些實體抹除單元之中的一第二實體抹除單元,並且下達一第一指令序列以從該第二實體抹除單元中讀取一資料,其中該記憶體管理電路更用以根據從該第二實體抹除單元中所讀取的該資料判斷該第二實體抹除單元是否發生一資料錯誤, 其中倘若該第二實體抹除單元發生該資料錯誤時,該記憶體管理電路選擇該些實體抹除單元之中的一第三實體抹除單元,校正從該第二實體抹除單元中所讀取的該資料以產生一已校正資料並且下達一第二指令序列以將該已校正資料寫入至該第三實體抹除單元。
  13. 如申請專利範圍第12項所述之記憶體控制電路單元,其中該記憶體管理電路更用以將該些實體抹除單元至少分組為一資料區與一閒置區,其中該記憶體管理電路更用以依序地從該資料區的該些實體抹除單元之中除了對應該操作指令的該第一實體抹除單元以外的實體抹除單元之中來選出該第二實體抹除單元。
  14. 如申請專利範圍第12項所述之記憶體控制電路單元,其中該記憶體管理電路更用以將該些實體抹除單元至少分組為一資料區與一閒置區,其中該記憶體管理電路更用以隨機地從該資料區的該些實體抹除單元之中除了對應該操作指令的該第一實體抹除單元以外的實體抹除單元之中來選出該第二實體抹除單元。
  15. 如申請專利範圍第12項所述之記憶體控制電路單元,其中該記憶體管理電路更用以將該些實體抹除單元至少分組為一資料區與一閒置區,其中該記憶體管理電路更用以配置多個邏輯位址,其中該些邏輯位址映射該資料區的該些實體抹除單元, 其中該記憶體管理電路更用以隨機地從該些邏輯位址之中選擇一第一邏輯位址,並且根據一邏輯位址-實體抹除單元映射表獲取該第二實體抹除單元,其中在該邏輯位址-實體抹除單元映射表中該第一邏輯位址映射該第二實體抹除單元。
  16. 如申請專利範圍第15項所述之記憶體控制電路單元,其中該記憶體管理電路更用以為每一該些邏輯位址記錄一標記,其中該標記會被記錄為一未選過狀態或一已選過狀態,其中該第一邏輯位址的該標記被記錄為該未選過狀態。
  17. 如申請專利範圍第16項所述之記憶體控制電路單元,其中在該記憶體管理電路選擇該第一邏輯位址之後,該記憶體管理電路更用以將該第一邏輯位址的該標記重新記錄為該已選過狀態。
  18. 如申請專利範圍第12項所述之記憶體控制電路單元,其中該記憶體管理電路更用以當對應從該第二實體抹除單元中所讀取的該資料的一錯誤位元數目大於一第一錯誤位元數目門檻值且小於一第二錯誤位元數目門檻值時,判斷該第二實體抹除單元發生該資料錯誤,其中該第二錯誤位元數目門檻值大於該第一錯誤位元數目門檻值。
  19. 如申請專利範圍第12項所述之記憶體控制電路單元,其中在該記憶體管理電路選擇該些實體抹除單元之中的該第三實體抹除單元,校正從該第二實體抹除單元中所讀取的該資料以產生該已校正資料並且下達該第二指令序列以將該已校正資料寫入至 該第三實體抹除單元之後,該記憶體管理電路更用以將該操作次數值歸零。
  20. 如申請專利範圍第12項所述之記憶體控制電路單元,其中倘若該第二實體抹除單元未發生該資料錯誤時,該記憶體管理電路更用以將該操作次數值歸零。
  21. 如申請專利範圍第12項所述之記憶體控制電路單元,其中該操作指令為一讀取指令、一寫入指令或一抹除指令。
  22. 如申請專利範圍第12項所述之記憶體控制電路單元,其中該資料錯誤為一讀取干擾、一資料久置或一記憶胞磨耗所造成。
  23. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個實體抹除單元;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元用以當從該主機系統接收到一操作指令時,計數一操作次數值,其中該些實體抹除單元之中的一第一實體抹除單元被選取以執行該操作指令,其中該記憶體控制電路單元更用以當該操作次數值非小於一操作次數門檻值時,選擇該些實體抹除單元之中的一第二實體抹除單元,並且從該第二實體抹除單元中讀取一資料,其中該記憶體控制電路單元更用以根據從該第二實體抹除單 元中所讀取的該資料判斷該第二實體抹除單元是否發生一資料錯誤,其中倘若該第二實體抹除單元發生該資料錯誤時,該記憶體控制電路單元選擇該些實體抹除單元之中的一第三實體抹除單元,校正從該第二實體抹除單元中所讀取的該資料以產生一已校正資料並且將該已校正資料寫入至該第三實體抹除單元。
  24. 如申請專利範圍第23項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以將該些實體抹除單元至少分組為一資料區與一閒置區,其中該記憶體控制電路單元更用以依序地從該資料區的該些實體抹除單元之中除了對應該操作指令的該第一實體抹除單元以外的實體抹除單元之中來選出該第二實體抹除單元。
  25. 如申請專利範圍第23項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以將該些實體抹除單元至少分組為一資料區與一閒置區,其中該記憶體控制電路單元更用以隨機地從該資料區的該些實體抹除單元之中除了對應該操作指令的該第一實體抹除單元以外的實體抹除單元之中來選出該第二實體抹除單元。
  26. 如申請專利範圍第23項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以將該些實體抹除單元至少分組為一資料區與一閒置區,其中該記憶體控制電路單元更用以配置多個邏輯位址,其中 該些邏輯位址映射該資料區的該些實體抹除單元,其中該記憶體控制電路單元更用以隨機地從該些邏輯位址之中選擇一第一邏輯位址,並且根據一邏輯位址-實體抹除單元映射表獲取該第二實體抹除單元,其中在該邏輯位址-實體抹除單元映射表中該第一邏輯位址映射該第二實體抹除單元。
  27. 如申請專利範圍第26項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以為每一該些邏輯位址記錄一標記,其中該標記會被記錄為一未選過狀態或一已選過狀態,其中該第一邏輯位址的該標記被記錄為該未選過狀態。
  28. 如申請專利範圍第27項所述之記憶體儲存裝置,其中在該記憶體控制電路單元選擇該第一邏輯位址之後,該記憶體控制電路單元更用以將該第一邏輯位址的該標記重新記錄為該已選過狀態。
  29. 如申請專利範圍第23項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以當對應從該第二實體抹除單元中所讀取的該資料的一錯誤位元數目大於一第一錯誤位元數目門檻值且小於一第二錯誤位元數目門檻值時,判斷該第二實體抹除單元發生該資料錯誤,其中該第二錯誤位元數目門檻值大於該第一錯誤位元數目門檻值。
  30. 如申請專利範圍第23項所述之記憶體儲存裝置,其中在該記憶體控制電路單元選擇該些實體抹除單元之中的該第三實體抹除單元,校正從該第二實體抹除單元中所讀取的該資料以產生 該已校正資料並且將該已校正資料寫入至該第三實體抹除單元之後,該記憶體控制電路單元更用以將該操作次數值歸零。
  31. 如申請專利範圍第23項所述之記憶體儲存裝置,其中倘若該第二實體抹除單元未發生該資料錯誤時,該記憶體控制電路單元更用以將該操作次數值歸零。
  32. 如申請專利範圍第23項所述之記憶體儲存裝置,其中該操作指令為一讀取指令、一寫入指令或一抹除指令。
  33. 如申請專利範圍第23項所述之記憶體儲存裝置,其中該資料錯誤為一讀取干擾、一資料久置或一記憶胞磨耗所造成。
TW103123957A 2014-07-11 2014-07-11 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 TWI490871B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103123957A TWI490871B (zh) 2014-07-11 2014-07-11 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
US14/490,684 US9563498B2 (en) 2014-07-11 2014-09-19 Method for preventing read-disturb errors, memory control circuit unit and memory storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103123957A TWI490871B (zh) 2014-07-11 2014-07-11 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TWI490871B true TWI490871B (zh) 2015-07-01
TW201603030A TW201603030A (zh) 2016-01-16

Family

ID=54151540

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103123957A TWI490871B (zh) 2014-07-11 2014-07-11 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US9563498B2 (zh)
TW (1) TWI490871B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9595354B2 (en) * 2014-12-15 2017-03-14 Infineon Technologies Ag Nonvolatile memory refresh
US9772901B2 (en) * 2015-05-08 2017-09-26 Nxp Usa, Inc. Memory reliability using error-correcting code
US10002082B2 (en) * 2016-02-19 2018-06-19 Ford Global Technologies, Llc Method and apparatus for cyclical key-off file replacement
KR102628239B1 (ko) * 2016-05-02 2024-01-24 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치 및 호스트 장치를 포함하는 컴퓨팅 장치의 동작 방법
USRE50129E1 (en) 2016-05-02 2024-09-17 Samsung Electronics Co., Ltd. Storage device having various recovery methods and recovery modes
CN111427713B (zh) * 2019-01-10 2023-08-22 深圳衡宇芯片科技有限公司 训练人工智能估测存储装置的使用寿命的方法
CN110689914B (zh) * 2019-09-06 2021-08-10 苏州浪潮智能科技有限公司 一种固态硬盘的读纠错方法、装置、设备及存储介质
KR20210076505A (ko) * 2019-12-16 2021-06-24 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN111078149B (zh) * 2019-12-18 2023-09-26 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
CN111625187B (zh) * 2020-05-15 2023-09-29 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
US11797531B2 (en) * 2020-08-04 2023-10-24 Micron Technology, Inc. Acceleration of data queries in memory
US12081235B2 (en) * 2022-01-20 2024-09-03 Micron Technology, Inc. Syndrome check functionality to differentiate between error types

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119431A1 (en) * 2009-11-13 2011-05-19 Chowdhury Rafat Memory system with read-disturb suppressed and control method for the same
US20120233391A1 (en) * 2009-08-12 2012-09-13 Texas Memory Systems, Inc. Efficient Reduction of Read Disturb Errors in NAND FLASH Memory
TWI375953B (en) * 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US8452937B2 (en) * 2010-05-14 2013-05-28 Sandisk Il Ltd. Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory to reduce read disturb
US8719652B2 (en) * 2009-05-12 2014-05-06 Stec, Inc. Flash storage device with read disturb mitigation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5192352B2 (ja) * 2008-10-30 2013-05-08 株式会社日立製作所 記憶装置及びデータ格納領域管理方法
US20140344643A1 (en) * 2013-05-14 2014-11-20 John H. Hughes, Jr. Hybrid memory protection method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI375953B (en) * 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US8719652B2 (en) * 2009-05-12 2014-05-06 Stec, Inc. Flash storage device with read disturb mitigation
US20120233391A1 (en) * 2009-08-12 2012-09-13 Texas Memory Systems, Inc. Efficient Reduction of Read Disturb Errors in NAND FLASH Memory
US20110119431A1 (en) * 2009-11-13 2011-05-19 Chowdhury Rafat Memory system with read-disturb suppressed and control method for the same
US8452937B2 (en) * 2010-05-14 2013-05-28 Sandisk Il Ltd. Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory to reduce read disturb

Also Published As

Publication number Publication date
US20160011930A1 (en) 2016-01-14
TW201603030A (zh) 2016-01-16
US9563498B2 (en) 2017-02-07

Similar Documents

Publication Publication Date Title
TWI490871B (zh) 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
TWI516927B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI585770B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI483111B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI479314B (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI551991B (zh) 記憶體管理方法與系統及其記憶體儲存裝置
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
TWI476590B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
TWI545572B (zh) 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置
TW201703052A (zh) 平均磨損方法、記憶體儲存裝置及記憶體控制電路單元
TWI459393B (zh) 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
TW201709069A (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
TW201351137A (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
TWI501244B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI464585B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
TWI553477B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI564901B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20160034343A1 (en) Data storing method, memory control circuit unit and memory storage device