TWI569273B - 非揮發性記憶體裝置讀取干擾管理方法 - Google Patents

非揮發性記憶體裝置讀取干擾管理方法 Download PDF

Info

Publication number
TWI569273B
TWI569273B TW104114636A TW104114636A TWI569273B TW I569273 B TWI569273 B TW I569273B TW 104114636 A TW104114636 A TW 104114636A TW 104114636 A TW104114636 A TW 104114636A TW I569273 B TWI569273 B TW I569273B
Authority
TW
Taiwan
Prior art keywords
threshold
read
storage
memory device
error
Prior art date
Application number
TW104114636A
Other languages
English (en)
Other versions
TW201545161A (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 創見資訊股份有限公司
Publication of TW201545161A publication Critical patent/TW201545161A/zh
Application granted granted Critical
Publication of TWI569273B publication Critical patent/TWI569273B/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

非揮發性記憶體裝置讀取干擾管理方法
本發明係關於一種操作非揮發性記憶體裝置之方法,尤其係關於一種對非揮發性記憶體裝置之讀取干擾進行管理之方法。
半導體記憶體裝置基本上分為兩種:一種為揮發性記憶體裝置,另一種為非揮發性記憶體裝置。揮發性記憶體裝置包含有動態隨機記憶體(Dynamic Random Access Memory,DRAM)與靜態隨機存取記憶體(Static Random Access Memory,SRAM)等。非揮發性記憶體裝置包含有電子抹除式可覆寫唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM)、鐵電隨機存取記憶體(Ferroelectric Random Access Memory,FeRAM)、相變隨機存取記憶體(Phase-change Random Access Memory,PRAM)、磁性隨機存取記憶體(Magnetic Random Access Memory,MRAM)以及快閃記憶體(Flash Memory)裝置等。當外加電源被切斷時,揮發性記憶體即喪失內部所有儲存之數據,而非揮發性記憶體仍可持續保存原先內部所儲存之數據。由於快閃記憶體裝置高編程速度、低耗能與大容量等特性,使得快閃記憶體這類非揮發性記憶體裝置普遍且大量使用於桌上型電腦、筆 記型電腦、個人數位助理(Personal Digital Assistants,PDAs)、數位相機、個人電腦、智慧型手機等等裝置上。
其中,快閃記憶體裝置如NOR型具有卓越隨機存取速度特性 的快閃記憶體裝置,或NAND型具有高整合度的快閃記憶體裝置,可採用不同的記憶體單元結構來放置電子於快閃記憶體單元中或將快閃記憶體單元中的電子移除以達到改變成特定記憶體狀態之目的。舉例來說,單階儲存單元(Single-Level Cell,SLC)可透過0跟1兩種狀態來進行配置。類似的方式,多階儲存單元(Multi-Level Cell,MLC)可透過00、01、10、11四種狀態來進行配置,三階儲存單元也依此類推。
當數據自快閃記憶體裝置讀取出來時,有一種稱為「讀取干 擾(Read Disturbance)」的現象可能會產生而影響記憶體單元。讀取干擾的產生係當快閃記憶體裝置中的一個頁(Page)被大量讀取時,鄰近的記憶體單元會由於電子遷移而造成影響,使得鄰近的記憶體單元中所儲存的數據產生改變。故,讀取干擾現象係會影響SLC/MLC快閃記憶體裝置數據的正確性。
因此,需要提供一種方法來改善非揮發性記憶體裝置受到讀取干擾所造成的數據正確性問題。
本發明揭露了一種非揮發性記憶體裝置讀取干擾管理方法,其中該非揮發性記憶體裝置包含複數個儲存區域,且每個儲存區域包含有複數個資料單元,該方法包含下列步驟:對該些資料單元執行一讀取操作;根據執行於一第一儲存區域中之該些資料單元上之該讀取操作之一 總讀取次數更新該些儲存區域中之該第一儲存區域之一讀取次數,其中更新該讀取次數係於數據寫入至該第一儲存區域完成後起計算;當該第一儲存區域之該讀取次數超過一第一讀取次數門檻值時,掃描該第一儲存區域,以獲取該第一儲存區域中所有該些資料單元之錯誤元(Error Bits);以及當該第一儲存區域中該些資料單元至少其中之一之錯誤元超過一錯誤門檻值時,將該第一儲存區域中之數據搬移至該些儲存區域中之一第二儲存區域。
本發明另揭露了一種快閃記憶體裝置讀取干擾管理方法,其 中該快閃記憶體裝置包含複數個儲存區塊(Block),且每個儲存區塊包含有複數個頁(Page),該方法包含下列步驟:對該些頁執行一讀取操作;根據執行於一第一儲存區塊中之該些頁上之該讀取操作之一總讀取次數更新該些儲存區塊中之該第一儲存區塊之一讀取次數,其中更新該讀取次數係於數據寫入至該第一儲存區塊完成後起計算;當該第一儲存區塊之該讀取次數超過一第一讀取次數門檻值時,掃描該第一儲存區塊,以獲取該第一儲存區塊中所有該些頁之錯誤元;以及當該第一儲存區塊中該些頁至少其中之一之錯誤元超過一錯誤門檻值時,將該第一儲存區塊中之數據搬移至該些儲存區塊中之一第二儲存區塊。
10‧‧‧記憶體晶片
12‧‧‧記憶體陣列
14‧‧‧週邊電路
16‧‧‧晶載控制電路
18‧‧‧狀態機
20‧‧‧記憶體控制器
22‧‧‧韌體
24‧‧‧錯誤處理器
200‧‧‧非揮發性記憶體系統
90‧‧‧記憶體裝置
80‧‧‧主機
BLOCK1~BLOCKM‧‧‧記憶體區塊(記憶體區域)
PAGE1~PAGEN‧‧‧頁(資料單元)
步驟110~步驟180
請參閱以下有關本發明較佳實施例之詳細說明及其附圖,在本發明所屬技術領域中具有通常知識者將可進一步了解本發明之技術內容及目的功效: 圖1係根據本發明之一實施例之非揮發性記憶體裝置讀取干擾管理方法流程圖;圖2係根據本發明之一實施例之非揮發性記憶體系統方塊圖;圖3係根據本發明之一實施例之快閃型記憶體裝置中記憶體陣列配置示意圖。
請參閱圖1,係根據本發明之一實施例之非揮發性記憶體裝置讀取干擾管理方法流程圖。如圖所示,其中非揮發性記憶體裝置中具有複數個儲存區域,每個儲存區域具有複數個資料單元,其包含下列步驟:步驟110:設定第一讀取次數門檻值與錯誤門檻值;接著執行步驟120。
步驟120:對具有複數個儲存區域之非揮發性記憶體裝置執行讀取操作;接著執行步驟130。
步驟130:於非揮發性記憶體之第一儲存區域中所有相關的資料單元讀取數據之後,增加非揮發性記憶體中第一儲存區域之讀取次數;接著執行步驟140。
步驟140:判斷第一儲存區域之讀取次數是否超過第一讀取次數門檻值;若超過第一讀取次數門檻值,則執行步驟150;若未超過第一讀取次數門檻值,則執行步驟120。
步驟150:掃描非揮發性記憶體之第一儲存區域,以獲取所 有相關資料單元的錯誤元(Error Bit);接著執行步驟160。
步驟160:判斷所有相關資料單元中的錯誤元是否有超過錯誤門檻值;若有,則執行步驟170;若皆未超過錯誤門檻值,則執行步驟180。
步驟170:將第一儲存區域中之數據移至非揮發性記憶體中之第二儲存區域,並重置第一儲存區域之讀取次數;接著執行步驟120。
步驟180:將第一讀取次數門檻值更新為第二讀取次數門檻值,並重置第一儲存區域之讀取次數;接著執行步驟120。
請參閱圖2,係基於本發明圖1實施例之非揮發性記憶體系統200方塊圖。如圖所示,非揮發性記憶體系統200包含與記憶體裝置90進行溝通之主機80。主機80可傳送數據並儲存(寫入操作)於記憶體裝置90之中,或可自記憶體裝置90讀取相關數據(讀取操作)。記憶體裝置90包含了由記憶體控制器14所管理之一或多個記憶體晶片10。每個記憶體晶片10皆包含有記憶體陣列12、週邊電路14以及晶載控制電路16。記憶體晶片10之記憶體陣列12可採用SLC或MLC結構。週邊電路14可包含行(column)或列(row)解碼器、感測模組、數據鎖存器以及I/O電路(未繪示於圖中)。晶載控制電路16包含了狀態機18。狀態機18可用以與週邊電路14相配合,以控制記憶體陣列12進行低階記憶體操作。
在實施上,主機80透過記憶體控制器20與每個記憶體晶片10進行溝通與互動,而記憶體控制器20包含了韌體22與錯誤處理器24。韌體22提供了記憶體控制器20執行相關功能所需之編碼。於操作記憶體裝置90期間,錯誤處理器24係用以偵測與校正記憶體陣列12中最小單元如:頁(Page)之錯誤元。因此,記憶體控制器20可與記憶體晶片10相配合,以控制記憶體 陣列12進行高階記憶體操作。
在本發明之實施例中,記憶體裝置90可為電子抹除式可覆寫 唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM)、鐵電隨機存取記憶體(Ferroelectric Random Access Memory,FeRAM)、相變隨機存取記憶體(Phase-change Random Access Memory,PRAM)、磁性隨機存取記憶體(Magnetic Random Access Memory,MRAM)或快閃記憶體(Flash Memory)裝置。為配合圖示,後續段落中本發明記憶體裝置90以快閃型(Flash Type)來做為最佳實施說明。然而,此處以非揮發性記憶體做為說明並非係用以限制本發明之範疇。
請參閱圖3,係根據本發明之一實施例之快閃型記憶體裝置 90中記憶體陣列12配置示意圖。如圖所示,記憶體陣列12包含複數個儲存體區塊BLOCK1-BLOCKM,每個儲存區塊皆包含有複數個頁PAGE1-PAGEN(M跟N都是正整數)。一般的快閃記憶體裝置,可對記憶體陣列12進行抹除的最小單位是一個儲存區塊,而可對記憶體陣列12進行寫入或讀取的最小單位是一個頁。當非揮發性記憶體系統200使用快閃型記憶體裝置90執行本發明之方法時,第一儲存區域與第二儲存區域可為記憶體陣列12中儲存區塊BLOCK1-BLOCKM中的任兩個儲存區塊,而資料單元可為記憶體陣列12中每個儲存區塊BLOCK1-BLOCKM中的頁PAGE1-PAGEN。若當非揮發性記憶體系統200使用其他類型記憶體裝置執行本發明之方法,則相關記憶體陣列中的相關單位可能會有不同的稱謂,但皆可對應到本發明之記憶體裝置90中的「儲存區域」以及「資料單元」。
在其一實施例中,圖三中記憶體陣列12的記憶體配置可表示 為快閃型記憶體裝置90中的實體儲存空間,像是柱狀磁頭扇區(Cylinder-Head-Sector,CHS)編址。在其他的實施例中,圖三中記憶體陣列12的記憶體配置可表示為快閃型記憶體裝置90中的邏輯儲存空間,像是邏輯區塊位址(Logical Block Address,LBA)編址。然而,此處關於「儲存區域」與「資料單元」如何在記憶體裝置90中編址之敘述並非係用以限制本發明之範疇。
基於圖2與圖3,請參閱圖1所示之方法。在步驟110中,第一 讀取次數門檻值係表示可能已對當前所讀取之數據造成了讀取干擾現象的讀取次數,第一讀取次數門檻值之數值大小可根據快閃型記憶體裝置90本身的類型、狀態、所處環境或以上之組合來決定。
在一實施例中,當於步驟110中設定了第一讀取次數門檻值 時,可考量快閃型記憶體裝置90本身抵抗讀取干擾的能力。為了說明目的,這裡假設記憶體陣列12係採用MLC結構,並保證有3,000次的讀寫循環(Program/Erase cycle,P/E cycle)次數。也就是說,當記憶體陣列12當前的讀寫循環次數未超過3,000次時,記憶體陣列12中儲存區塊的每個頁可禁得起10,000次的讀取並可修復相關的錯誤元。然而,當記憶體陣列12當前的讀寫循環次數超過3,000次時,記憶體陣列12中儲存區塊的每個頁僅能禁得起5,000次的讀取並可修復相關的錯誤元。在這樣的情形下,可設定第一讀取次數門檻值為一起始值,而該起始值係小於依據快閃型記憶體裝置90本身抵抗讀取干擾的能力(定義為最大允許讀取次數)的某個數量。舉例來說,第一讀取次數門檻值可設定為8,000次(10,000*0.8)。
在其他的實施例中,當於步驟110進行第一讀取次數門檻值 之設定時,可考量記憶體裝置90的類型,如記憶體陣列12的記憶胞構造。舉例來說,當記憶體陣列12採用最大允許讀取次數有100,000次之SLC結構時,第一讀取次數門檻值可設定為80,000次。而當記憶體陣列12採用最大允許讀取次數僅有10,000次之MLC結構時,第一讀取次數門檻值可設定為8,000次。
在其他實施例中,當於步驟110進行第一讀取次數門檻值之 設定時,可考量快閃型記憶體裝置90之狀態,如記憶體陣列12之耗損均衡(Wear-Leveling)。記憶體陣列12之耗損均衡可根據用以紀錄每個儲存區塊的指示器所獲得。擁有高耗損均衡的非揮發性記憶體裝置也較易被讀取干擾所影響。因此,對於最大允許讀取次數僅有10,000次之MLC結構,當記憶體陣列12具有低耗損均衡時,可將第一讀取次數門檻值設定為8,000次,而當記憶體陣列12具有高耗損均衡時,可將第一讀取次數門檻值設定為7,000次。
在其他的實施例中,當於步驟110進行第一讀取次數門檻值 之設定時,可考量記憶體裝置90所處周圍環境狀況,如非揮發性記憶體系統200操作時所處環境之溫度。進一步來說,第一讀取次數門檻值可透過一種方式來進行設定,以補償周圍環境對讀取干擾之影響。舉例來說,對於最大允許讀取次數僅有10,000次之MLC結構,當快閃型記憶體裝置90處於正常環境溫度下進行操作時,可將第一讀取次數門檻值設定為8,000次,而快閃型記憶體裝置90處於讀取干擾較容易發生之高溫或低溫環境時,可將第一讀取次數門檻值設定為7,000次。
在步驟120中,主機80於每次存取期間可自快閃型記憶體裝 置90中任意儲存區塊中的任意頁讀取數據。在步驟130中,快閃型記憶體裝置90中特定儲存區塊中的任意頁在每一次被讀取時,則特定儲存區塊的讀 取次數增加1。在步驟140中,判斷該特定儲存區塊之讀取次數是否超過第一讀取次數門檻值。其中,步驟140可藉由記憶體控制器20與/或快閃型記憶體裝置90中的晶載控制電路16來執行。
特定儲存區域中的讀取次數係與讀取操作下之總讀取次數 有關,而該總讀取次數係自特定儲存區塊寫滿或數據寫入至特定儲存區塊完成後開始計算。為了說明目的,假設於執行讀取操作前,快閃型記憶體裝置90中所有儲存區塊的起始讀取次數皆為0次。在其中一個情況,當讀取操作包含了3次數據的讀取,即該讀取操作透過執行步驟120~步驟140間而造成的讀取次數遠小於第一讀取次數門檻值。根據上述,若該讀取操作的3次數據讀取係分別對儲存區塊BLOCK1中的三個頁PAGE1~PAGE3進行,則當讀取操作結束後,儲存區塊BLOCK1最終的讀取次數為3次,而儲存區塊BLOCK2~BLOCKM最終的讀取次數依然為0次。若該讀取操作的3次數據讀取係分別對儲存區塊BLOCK1~BLOCK3中的頁PAGE1進行讀取,則當讀取操作結束後,儲存區塊BLOCK1~BLOCK3最終的讀取次數分別皆為1次,而儲存區塊BLOCK4~BLOCKM最終的讀取次數依然為0次。若該讀取操作的3次數據讀取係為依序對儲存區塊BLOCK1的頁PAGE1讀取、儲存區塊BLOCK2的頁PAGE1讀取、儲存區塊BLOCK1的頁PAGE2讀取,則當讀取操作結束後,儲存區塊BLOCK1最終的讀取次數為2次,且儲存區塊BLOCK2最終的讀取次數為1次,而儲存區塊BLOCK3~BLOCKM最終的讀取次數依然為0次。
在其他的情況下,讀取操作的總讀取次數可能會超過第一讀 取次數門檻值。在執行步驟120~步驟140非常多次之後,即對特定儲存區塊進行多次讀取動作後,特定儲存區塊的讀取次數可能會超過第一讀取次數 門檻值,故此時,特定儲存區塊就很有可能造成讀取干擾現象。因此,於步驟140中會判斷特定區塊是否超過第一讀取次數門檻值,若超過則進行步驟150,以獲取該特定儲存區塊中所有頁的錯誤元資訊。
在本發明中,步驟150可藉由錯誤處理器根據現行已知的錯 誤偵測手段來執行以獲取錯誤元資訊,像是重複編碼(Repetition Code)、奇偶校正位元(Parity Bit)、檢查總和(Checksum)、循環冗餘檢核(Cyclic Redundancy Check,CRC)、密碼雜湊(Cryptographic Hash Function)或錯誤校正碼(Error-Correction Code,ECC)等方式。然而,上述之錯誤偵測手段的類型並非用以限定本發明之範疇。
回到步驟110,可藉由快閃型記憶體裝置90所使用的錯誤偵 測手段知道數據的錯誤元到達多少數量後即不可再被修復,故可根據這樣的方式來決定錯誤門檻值。錯誤門檻值係做為在偵測到數據的錯誤元於超過可修復的數量之前,決定是否要將數據搬移至其他儲存區塊的基準。若偵測到特定頁的錯誤元數量小於錯誤門檻值,則表示該特定頁產生的錯誤仍可被校正而不需進行數據搬移的動作;倘若偵測到特定頁的錯誤元數量大於錯誤門檻值,則表示該特定頁產生的錯誤可能即將無法進行校正,此時執行步驟170來進行數據的搬移動作。舉例來說,若錯誤處理器24可校正1024位元(1KB)數據的錯誤元,則錯誤門檻值的數量可設定為上限不超過40bit/1KB。
若於步驟160中判斷特定儲存區塊中所有頁中至少一頁的錯 誤元係超過錯誤門檻值,則執行步驟170,將特定儲存區塊中的數據遷移至快閃型記憶體裝置90中的其他儲存區塊。因此,特定儲存區塊被大量讀取 而產生讀取干擾並造成的錯誤元即可被移除。而特定儲存區塊中的數據被搬移至其他儲存區塊後,特定儲存區塊的讀取次數即被重置。透過這樣的方式,這些被降低了讀取干擾可能性的特定儲存區塊中的任一頁後續還可繼續執行讀取的動作。
若於步驟160中判斷特定儲存區塊中所有頁的錯誤元皆未超 過錯誤門檻值,即表示不需執行數據搬移的動作。然而,特定儲存區塊透過實驗可知其具有某一數量的讀取次數循環,而後續對特定儲存區塊執行讀取而造成的讀取干擾的機率會比其他讀取次數還未超過第一讀取次數門檻值的儲存區塊還來的大。因此,就必須將第一讀取次數門檻值更新為第二讀取次數門檻值,如步驟180。
在一實施例中,步驟180中的第二讀取次數門檻值會比原本 步驟110中的第一讀取次數門檻還小。舉例來說,對於最大允許讀取次數僅有10,000次之MLC結構,第一讀取次數門檻值可設定為8,000次,而在步驟180中,當第一讀取次數門檻值更新為第二讀取次數門檻值時,第二讀取次數門檻值可設定為500次。換句話說,第一次掃描特定儲存區塊中所有頁的時候是在特定儲存區塊讀取次數達到8,000次時,若特定儲存區塊中所有頁皆未超過錯誤門檻值,則下次進行掃描是在特定儲存區塊讀取次數再達到500次時,若仍未超過錯誤門檻值,則再下一個500次再進行掃描,依此類推。
在本發明中,非揮發性記憶體裝置中第一儲存區域之數據係 根據兩個因素來決定是否進行搬移:第一儲存區域的讀取次數與第一儲存區域中所有資料單元的錯誤元。再者,可透過設定一動態讀取次數門檻值來監測第一儲存區域的讀取次數,並可透過設定錯誤門檻值來監測資料單 元的錯誤元,以避免不必要的數據搬移程序。因此,是否進行數據搬移僅需透過上述的兩個因素來決定,透過本發明方法即可改善非揮發性記憶體裝置中讀取干擾的影響,且不影響裝置本身的效能。
上列詳細說明係針對本發明之一可行實施例之具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本發明之專利範圍之中。
步驟110~步驟180

Claims (14)

  1. 一種非揮發性記憶體裝置讀取干擾管理方法,其中該非揮發性記憶體裝置包含複數個儲存區域,且每個儲存區域包含有複數個資料單元,其中該些儲存區域至少包含一第一儲存區域與一第二儲存區域,該方法包含下列步驟:對該些資料單元執行一讀取操作;根據執行於該第一儲存區域中之該些資料單元上之該讀取操作之一總讀取次數更新該第一儲存區域之一讀取次數;當該第一儲存區域之該讀取次數超過一第一讀取次數門檻值時,掃描該第一儲存區域,以獲取該第一儲存區域中所有該些資料單元之錯誤元(Error Bits);以及判斷該第一儲存區域中該些資料單元至少其中之一之錯誤元是否超過一錯誤門檻值,若超過該錯誤門檻值,則將該第一儲存區域中之數據搬移至該第二儲存區域,若未超過該錯誤門檻值,則將該第一讀取門檻值更新為一第二讀取次數門檻值,其中該第二讀取次數門檻值係小於該第一讀取次數門檻值。
  2. 如請求項1所述之管理方法,更包含下列步驟:當該第一儲存區域中所有資料單元之錯誤元皆未超過該錯誤門檻值時,將該第一讀取次數門檻值更新為一第二讀取次數門檻值並重置該第一儲存區域之該讀取次數。
  3. 如請求項1所述之管理方法,更包含下列步驟:將該第一儲存區域中之數據搬移至該第二儲存區域後,重置該第一儲存區域之該讀取次數。
  4. 如請求項1所述之管理方法,其中該第一讀取次數門檻值係根據該非揮發性記憶體裝置之類型、狀態或所處環境來決定。
  5. 如請求項1所述之管理方法,更包含下列步驟:根據該非揮發性記憶體裝置所採用之一錯誤偵測手段獲取該些儲存區域中之該些資料單元之錯誤元來設定該錯誤門檻值。
  6. 如請求項1所述之管理方法,其中該些儲存區域係對應該非揮發性記憶體裝置之實體儲存空間。
  7. 如請求項1所述之管理方法,其中該些儲存區域係對應該非揮發性記憶體裝置之邏輯儲存空間。
  8. 一種快閃記憶體裝置讀取干擾管理方法,其中該快閃記憶體裝置包含複數個儲存區塊(Block),且每個儲存區塊包含有複數個頁(Page),其中該些儲存區塊至少包含一第一儲存區塊與一第二儲存區塊,該方法包含下列步驟:對該些頁執行一讀取操作;根據執行於該第一儲存區塊中之該些頁上之該讀取操作之一總讀取次數更新該第一儲存區塊之一讀取次數;當該第一儲存區塊之該讀取次數超過一第一讀取次數門檻值時,掃描該第一儲存區塊,以獲取該第一儲存區塊中所有該些頁之錯誤元;以及判斷該第一儲存區塊中該些頁至少其中之一之錯誤元是否超過一錯誤門檻值,若超過該錯誤門檻值,則將該第一儲存區塊中之數據搬移至該第二儲存區塊,若未超過該錯誤門檻值,則將該第一讀取門檻值更新為一第二讀取次數門檻值,其中該第二讀取次數門檻值係小於該第一 讀取次數門檻值。
  9. 如請求項8所述之管理方法,更包含下列步驟:將該第一儲存區塊中之數據搬移至該第二儲存區塊後,重置該第一儲存區塊之該讀取次數。
  10. 如請求項8所述之管理方法,其中該第一讀取次數門檻值係根據該快閃記憶體裝置之類型、狀態或所處環境來決定。
  11. 如請求項10所述之管理方法,更包含下列步驟:當該快閃記憶體裝置採用單階儲存單元(Single-Level Cell,SLC)結構時,設定該第一讀取次數門檻值為一第一數值,而當該快閃記憶體裝置採用多階儲存單元(Multi-Level Cell,MLC)結構時,設定該第一讀取次數門檻值為一第二數值,其中該第一數值係大於該第二數值。
  12. 如請求項10所述之管理方法,其中該第一讀取次數門檻值或該第二讀取次數門檻值係小於該快閃記憶體之一保證讀寫循環(Program/Erase cycle,P/E cycle)次數相關之一最大允許讀取次數。
  13. 如請求項10所述之管理方法,更包含下列步驟:當該快閃記憶體裝置具有一第一耗損均衡時,設定該第一讀取次數門檻值為一第一數值,或當該快閃記憶體裝置具有一第二耗損均衡時,設定該第一讀取次數門檻值為一第二數值,其中若該第一耗損均衡係小於該第二耗損均衡,則該第一數值係大於該第二數值。
  14. 如請求項10所述之管理方法,更包含下列步驟: 當該快閃記憶體裝置係於一第一溫度下進行操作時,設定該第一讀取次數門檻值為一第一數值,或當該快閃記憶體裝置係於一第二溫度下進行操作時,設定該第一讀取次數門檻值為一第二數值,其中若該第二溫度不同於設定為正常環境溫度之該第一溫度,則該第一數值係大於該第二數值。
TW104114636A 2014-05-20 2015-05-07 非揮發性記憶體裝置讀取干擾管理方法 TWI569273B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/281,910 US9361182B2 (en) 2014-05-20 2014-05-20 Method for read disturbance management in non-volatile memory devices

Publications (2)

Publication Number Publication Date
TW201545161A TW201545161A (zh) 2015-12-01
TWI569273B true TWI569273B (zh) 2017-02-01

Family

ID=54556147

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104114636A TWI569273B (zh) 2014-05-20 2015-05-07 非揮發性記憶體裝置讀取干擾管理方法

Country Status (2)

Country Link
US (1) US9361182B2 (zh)
TW (1) TWI569273B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797193B2 (en) 2022-01-04 2023-10-24 Macronix International Co., Ltd. Error detection method for memory device

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150140496A (ko) * 2014-06-05 2015-12-16 삼성전자주식회사 실시간 데이터 복구를 위한 리드 리클레임 방법 및 그에 따른 메모리 시스템
US9892033B1 (en) * 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
GB2530025B (en) * 2014-09-05 2017-02-15 Ge Aviat Systems Ltd Methods of Integrity Checking Digitally Displayed Data And Display System
US9678827B2 (en) * 2014-10-07 2017-06-13 SK Hynix Inc. Access counts for performing data inspection operations in data storage device
TWI591482B (zh) * 2016-01-30 2017-07-11 群聯電子股份有限公司 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
CN107203476B (zh) * 2016-03-18 2021-08-31 慧荣科技股份有限公司 数据储存装置、存储器控制器及其数据管理方法
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10303623B2 (en) 2016-04-08 2019-05-28 Cryptography Research, Inc. Non-volatile memory for secure storage of authentication data
TWI689930B (zh) * 2016-04-27 2020-04-01 慧榮科技股份有限公司 快閃記憶體裝置及快閃記憶體儲存管理方法
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
TWI604455B (zh) * 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
KR102606490B1 (ko) * 2016-06-30 2023-11-30 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
WO2018140036A1 (en) * 2017-01-27 2018-08-02 Hewlett-Packard Development Company, L.P. Read operation redirect
US10657014B2 (en) * 2017-02-27 2020-05-19 Everspin Technologies, Inc. Methods for monitoring and managing memory devices
CN108572920B (zh) 2017-03-09 2022-04-12 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
CN108572786B (zh) 2017-03-09 2021-06-29 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
US10714195B2 (en) * 2017-08-31 2020-07-14 SK Hynix Inc. Read disturb detection and recovery with adaptive thresholding for 3-D NAND storage
US10691536B2 (en) * 2017-09-22 2020-06-23 SK Hynix Inc. Method to select flash memory blocks for refresh after read operations
CN108052279B (zh) * 2017-11-23 2020-06-19 深圳市江波龙电子股份有限公司 一种提升闪存性能的方法、装置、设备及存储介质
US10446243B2 (en) * 2017-12-18 2019-10-15 Macronix International Co., Ltd. Storage device and associated control method to determine target memory blocks for probe operation
KR102578188B1 (ko) * 2018-05-15 2023-09-14 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이의 동작 방법
CN112534502B (zh) 2018-08-03 2024-04-09 美光科技公司 用于行锤击缓解的方法及采用所述方法的存储器装置及系统
US10691377B2 (en) 2018-09-21 2020-06-23 Micron Technology, Inc. Adjusting scan event thresholds to mitigate memory errors
CN112840400B (zh) 2018-10-09 2024-04-05 美光科技公司 用于行锤击缓解的方法以及采用所述方法的存储器装置和系统
US10783024B2 (en) * 2018-10-12 2020-09-22 International Business Machines Corporation Reducing block calibration overhead using read error triage
KR102599176B1 (ko) * 2018-11-14 2023-11-08 삼성전자주식회사 호스트 메모리 버퍼를 사용하는 스토리지 장치 및 그것의 메모리 관리 방법
EP3899709A4 (en) 2018-12-21 2022-09-14 Micron Technology, Inc. METHODS FOR ACTIVITY-BASED MEMORY MAINTENANCE AND MEMORY DEVICES AND SYSTEMS USING THEM
US11010067B2 (en) * 2018-12-28 2021-05-18 Intel Corporation Defense against speculative side-channel analysis of a computer system
US10817371B2 (en) 2018-12-31 2020-10-27 Micron Technology, Inc. Error correction in row hammer mitigation and target row refresh
KR20200114216A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법
CN114008710A (zh) * 2019-06-29 2022-02-01 华为技术有限公司 一种数据处理方法、装置以及存储介质
CN112233715A (zh) * 2019-07-15 2021-01-15 美光科技公司 用于存储器系统的维护操作
KR20210100790A (ko) 2020-02-06 2021-08-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US11676666B2 (en) * 2020-09-04 2023-06-13 Micron Technology, Inc. Read disturb scan for unprogrammed wordlines
CN112527203B (zh) * 2020-12-14 2024-04-19 深圳市硅格半导体有限公司 闪存存储器的数据重写方法、系统、终端设备及存储介质
DE102021102777A1 (de) * 2021-02-05 2022-08-11 Infineon Technologies Ag Verarbeitung von in einem speicher gespeicherter daten
US11579797B2 (en) * 2021-04-29 2023-02-14 Micron Technology, Inc. Memory sub-system refresh
US20230195351A1 (en) * 2021-12-17 2023-06-22 Samsung Electronics Co., Ltd. Automatic deletion in a persistent storage device
TWI796882B (zh) * 2021-12-20 2023-03-21 群聯電子股份有限公司 讀取干擾檢查方法、記憶體儲存裝置及記憶體控制電路單元
US20230280926A1 (en) * 2022-03-03 2023-09-07 Western Digital Technologies, Inc. Data Relocation With Protection For Open Relocation Destination Blocks
US20240028258A1 (en) * 2022-07-20 2024-01-25 Silicon Motion, Inc. Method and apparatus for performing data management of memory device with aid of targeted protection control
CN116860179A (zh) * 2023-08-31 2023-10-10 合肥康芯威存储技术有限公司 存储装置、存储装置的数据处理方法、计算机设备及介质
CN117666972B (zh) * 2024-02-01 2024-05-14 合肥康芯威存储技术有限公司 一种存储装置及其数据处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099190B2 (en) * 2003-04-22 2006-08-29 Kabushiki Kaisha Toshiba Data storage system
US20100122148A1 (en) * 2008-11-10 2010-05-13 David Flynn Apparatus, system, and method for predicting failures in solid-state storage
US8195978B2 (en) * 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
US20130232289A1 (en) * 2008-11-10 2013-09-05 Fusion-Io, Inc. Apparatus, system, and method for wear management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099190B2 (en) * 2003-04-22 2006-08-29 Kabushiki Kaisha Toshiba Data storage system
US8195978B2 (en) * 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
US20100122148A1 (en) * 2008-11-10 2010-05-13 David Flynn Apparatus, system, and method for predicting failures in solid-state storage
US20130232289A1 (en) * 2008-11-10 2013-09-05 Fusion-Io, Inc. Apparatus, system, and method for wear management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797193B2 (en) 2022-01-04 2023-10-24 Macronix International Co., Ltd. Error detection method for memory device

Also Published As

Publication number Publication date
TW201545161A (zh) 2015-12-01
US20150339188A1 (en) 2015-11-26
US9361182B2 (en) 2016-06-07

Similar Documents

Publication Publication Date Title
TWI569273B (zh) 非揮發性記憶體裝置讀取干擾管理方法
US10446242B2 (en) Temperature variation compensation
TWI555023B (zh) 快閃記憶體更新方法以及快閃記憶體控制器
TWI658358B (zh) 記憶體中基於機率資料結構之前瞻修正動作
US11862263B2 (en) Storage device and method of operating the same
TWI566252B (zh) 非揮發性記憶體裝置進行耗損管理之方法
US9229644B2 (en) Targeted copy of data relocation
US9996297B2 (en) Hot-cold data separation method in flash translation layer
CN106257594B (zh) 读取干扰收回策略
KR101655306B1 (ko) 메모리 시스템 및 그것의 액세스 방법
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
US8407559B2 (en) Monitoring memory
US10389389B2 (en) Method and data storage device using convolutional low-density parity-check coding with a long page write and a short page read granularity
CN104794063A (zh) 一种具备电阻式存储器的固态储存装置的控制方法
US10803973B2 (en) Memory management method and storage controller
TWI698878B (zh) 記憶體元件及其控制器與系統和其重新編排資料的方法
Novotný et al. Nand flash memory organization and operations
CN116529693A (zh) 加电时的媒体管理
US9430159B2 (en) Non-volatile memory devices and controllers
KR20210099895A (ko) 메모리 시스템 및 그것의 동작방법
KR20210108712A (ko) 메모리 시스템 및 그것의 동작방법
US20220083255A1 (en) Memory system and operating method thereof
CN112086121A (zh) 存储器近接干扰管理
US11966289B2 (en) Cross-temperature compensation in non-volatile memory devices
TWI592801B (zh) 資料儲存裝置及其資料維護方法