TW201007748A - Method and apparatus for error correction - Google Patents

Method and apparatus for error correction Download PDF

Info

Publication number
TW201007748A
TW201007748A TW098112510A TW98112510A TW201007748A TW 201007748 A TW201007748 A TW 201007748A TW 098112510 A TW098112510 A TW 098112510A TW 98112510 A TW98112510 A TW 98112510A TW 201007748 A TW201007748 A TW 201007748A
Authority
TW
Taiwan
Prior art keywords
data
memory
error
read data
comparison
Prior art date
Application number
TW098112510A
Other languages
English (en)
Inventor
Avraham Meir
Menahem Lasser
Original Assignee
Sandisk Il Ltd
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 Sandisk Il Ltd filed Critical Sandisk Il Ltd
Publication of TW201007748A publication Critical patent/TW201007748A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)
  • Detection And Correction Of Errors (AREA)

Description

201007748 六、發明說明: 【發明所屬之技術領域】 本發明係關於用於在自記憶體(例如快閃記憶體)讀取之 資料中校正錯誤之裝置、方法及電腦媒體。 【先前技術】 快閃記憶體器件中之錯誤校正 快閃記憶體器件已知多年。除其他特性以外,NAND型 快閃記憶體與其他類型之快閃記憶體(例如,NOR型)之區 別在於可自處於一「翻轉」狀態(即,不同於向記憶體寫 入原始位元之狀態)下之記憶體讀取某一寫入至記憶體之 資訊位元數之事實。 為了克服此現象並使NAND型記憶體可供實際應用使用, 與此等記憶體相結合使用錯誤校正碼(ECC)係一常見技術。 存在一對用於處置快閃記憶體器件中、以及包括不同於 快閃記憶體之記憶體之儲存器件中之錯誤校正之改良技術 及裝置之迫切需要。 對例示性器件架構之說明 圖1A(先前技術)係一快閃記憶體儲存器件260(先前技術) 之一方塊圖。該快閃記憶體儲存器件包括一快閃記憶體 270及一快閃控制器280,快閃控制器280運作以讀取資料 並將資料寫入至快閃記憶體270。術語「程式化(program)」、 「程式化(programming)」、「程式化(programmed)」及「可程 式化(programmable)」在本文中可分別與術語「寫入 (write)」、「寫入(writing)」、「寫入(written)」及「可寫 139476.doc 201007748 (b )」通用,以表不將資料储存於快閃記憶體 快閃記憶體館存器件之一個實例係一「周邊快閃儲存器 件」。周邊快閃健存器件在形體因數方面係計算技術 所周知的’例如USB快閃驅動器⑽D);pc卡;及用於數 ‘ 位相機、音樂播放器 '手持式及掌上型電腦、以及蜂 .^之小型儲存卡。於—些實施形式中,周邊快閃儲存; 件部署於主機器件之機箱内。 。 ❹ 冑1B(先前技術)係一周邊快閃記憶體儲存器件26〇竹 星號指不該快閃記憶體儲存器件係一周邊快閃儲存器们 之一方塊圖’周邊快閃記憶體儲存器件26〇'經由器件側介 面250與-主機器件31〇(例如,一膝上型或桌上型或手持 式電腦、、數位相機、行動電話、音樂播放器及視訊遊戲控 制臺)「連接」或組態用於與該主機器件31〇交換資料。周 邊快閃記憶體儲存器件260*及主機器件31〇使用主機側^ = 350及器件側介面25〇(例如’相應聰或犯介面)經由通 φ 信鏈路300來與彼此通信。 於-實例中’快閃記憶體儲存器件26〇*為主機器件η。 . 提供轉讀取及資料寫人服務。由㈣記憶體儲存器件 , 260*自主機器件31〇所接收之資料由快閃控制器勘寫入至 快閃記憶體270。此外,回應於由快閃記憶體儲存器所接 收之「資料讀取」請求,快閃控制器28()自快閃記憶體27〇 讀取資料。 可在「讀取時刻」或在任一猶後時刻在該讀取資料中校 正錯誤。該錯誤校正可至少部分地由快閃控制器28〇、至 139476.doc 201007748 p刀地由主機器件31G在任—其他位置及以任—其他方 :進仃(例如,藉由由主機側處理器32〇來執行RAM 33〇 之可執行碼或以任一其他方式)。 j習此項技術者應瞭解,「周邊㈣儲存器件」並非係 乂類別之快閃記憶體儲存器件〇舉例而言,某些行動電 ” 1或藤上型電腦、pDA器件或其他電子器件亦可 2括快閃記憶體及-快閃控制器,且可能未必組態用於與 連接及/或為—主機器件提供資料讀取服務及/ 或資料寫入服務。 :習此項技術者應瞭解,圖1A_1B中所描述之快閃記憶 二件僅係-種類別之周邊儲存記憶體器件,且其他記憶 體器件可包括其他類型之 " 平赞『生°己隐體,例如磁性記憶體 (例如,磁阻隨機存取 < 廢 。己隐體(MRAM)或硬磁碟盤)。此 應瞭解’ §亥一些周邊儲存器件可使用揮發性記憶體來 代替或補充快閃記憶體270。 如圖ic(先前技術)中所示,於一些系統中…己憶體 (即,包括但不限於快閃記憶體)可包括一「快取儲存區域 二」及-「主儲存區域274」部分,其中資料首先寫入至 »亥快取儲存區域272」(例如,自一快閃器件控制器28〇 之Ram複製至快閃記憶體之快取健存區域⑺)並隨後自快 取儲存區域272複製至主儲存區域274。 在终多實例中,⑴使用一比一用於主健存區域Μ之寫 入模式「較快之寫人模式」來對快取儲存區域Μ寫入; 及/或⑻錢存^域274切快取儲存區域Μ(即具有一 139476.doc 201007748 更大容量);及/或(iii)儲存至快取儲存區域272之資料儲存 具有一較儲存至主儲存區域274之資料為大之可靠度(即, 在程式化時刻及/或在程式化時刻之後不太易於出現錯 誤)。 曰 於一特定實例中,「快取儲存區域272」包括若干其中
在每一快閃單元中儲存#個資料位元之快閃區塊,其中W 係正整數,且主儲存區域274包括若干其中在每一快閃
早兀中儲存Μ個資料位元之快閃區塊,其中从係一超過#之 正整數。 【發明内容】 各實施例解決此等及相關問題,本文中提供各實施例之 實例’包括方法及系統。 一個實施例係一種用於處置錯誤校正之方法。該方法包 含以下步驟:a)將原始資料寫入至一記憶體;b)在該寫入 之後,自該記憶體讀取,由此產生第一讀取資料;c)將該 第-讀取資料與該原始資料相比較;d)在該比較之後,自 該記憶體讀取,由此產生第二讀取資料,·及〇根據步驟⑷ 之該比較之結果,在該第二讀取資料中校正錯誤。 可對任何揮發性或非揮魏記憶體實㈣前述方法,包 括但不限於快閃記憶體、光學儲存器、磁性記憶體、靜態 隨機存取記憶體(SRAM)及動態隨機存取記憶體(dram)。 於-些實施例中’步驟⑷之該比較可包括實施至少一個 選自由以下組成之群組之比較:i)該第一讀取資料與該原 始資料之間的一直接比較;Η)該第一讀取資料與該原始資 I39476.doc 201007748 料之-指不性非恒等函數之間的―直接比較;出)該第一 讀取資料之—⑸性非恒等函數與該原始資料之間的一直 接比較;及iv)該第-讀取㈣之—指示性非恒等函數與該 原始資料之—指㈣非恒等函數之間的-直接比較。 於一些實施例中,步驟(b)之該讀取可回應於步驟之 該寫入之一完成而進行。 步驟(b)之該讀取可在任一時刻進行。於一特定實施例 中’步驟(b)之該讀取係在步驟⑷之該寫人之該完成之後 即刻進行。 於些實施例中,步驟(a)之該寫入係向該記憶體内之一 的地位置,及u)步驟(b)之該讀取及步驟(d)之該讀取中 之至;一者係自該記憶體内之該目的地位置。 於—些實施例中,該方法進一步包含確定至少一個選自 由以下組成之群組之錯誤指示:丨)該第一讀取資料中之位 兀錯誤數量;U)含有錯誤資料之記憶體單元數量;iii)其 中儲存有錯誤資料之一個或多個位元位置之列表;b)其中 儲存有錯誤資料之一個或多個記憶體單元之列表;及v)該 第。賣取資料中之—特定位元或複數個位元係錯誤的機率 值其中步驟(e)之該錯誤校正係根據所確定之至少一個錯 誤指示來進行。 本文中閣述多種用於根據所確定之作業參數來校正錯誤 的技術。 於—實例中’丨)該原始資料在步驟(a)中寫入至該記憶體 之主儲存區;ii)步驟(b)之該讀取包括自該記憶體之該主 139476.doc 201007748 儲存區讀取以從該主儲存區之内容中產生該第〆讀取資 料及^丨)"玄方法進一步包含:在步驟(a)之該寫入之前, 自一不同於該記憶體之該主儲存區之該記憶體之快取區讀 取以獲得該原始資料。 於再貫例中’根據步驟(c)之該比較之該等結果之該錯 誤杈正包括根據步驟(c)之該比較之該等結果來選擇一解碼 匯流排寬度大小。
於再實例中,根據步驟(c)之該比較之該等結果之該錯 誤校正包括實施以下作業中之至少-者:i)根據步驟⑷之 該比較之該等結果來選擇一第一解碼器及一第二解碼器中 之者並僅使用該第一及第二解碼器中之該選擇之解碼器 來杬正錯°吳,及u)根據步驟(c)之該比較之該等結果來選擇 -解碼Hi -第—模式及該解碼器之―第二模式中之一者 並僅使用該第—s1 ^ 及第一模式中之該選擇之模式來校正錯 誤0 再冑例中’根據步驟⑷之該比較之該等結果之該# 誤校正包括以下中之至卜者:丨)決定是否:A)嘗試使月 較輕加權解石馬器來校正錯誤或B)嘗試僅使用—慢於該幸 ^解碼$之較慢解碼器來校正錯誤;ii)決定;I:否:A)嘗言5 使用-較快解碼器來校正錯誤或B)f試僅使用—慢於該車 决解碼器之較慢解碼器來校正錯誤;iii)決定是否:A)! ^式使用1定解碼器之-較輕加權模式來校正錯誤或刚 j僅使用該特定解碼器之―重於該較輕加權模式之較重办 權模式來校正錯誤;及⑺決定是否:人)嘗試使用―特定阁 139476.doc 201007748 碼器之一較快模式來校正錯誤或B)嘗試僅使用該特定解碼 器之一慢於該較快模式之較慢模式來校正錯誤。 於再一實例中’根據步驟(C)之該比較之該等結果之該第 二貧料中之該錯誤校正包括根據步驟(c)之該比較之該等結 果來確定該第二讀取資料之一個或多個位元機率值。 一些當前所揭示實施例提供一種用於處置錯誤校正之方 法。該方法包含以下步驟:a)將原始資料自一記憶體之一 快取區複製至該記憶體之一主儲存區;…在該複製之後, 自該記憶體之該主儲存區讀取,由此產生第一主儲存讀取 資料;C)在該複製之後,自該記憶體之該快取區讀取,由 此產生快取讀取資料;d)將該快取讀取資料與該第一主餘 存讀取資料相比較;e)在該比較之後,自該記憶體之該主 儲存區讀取,由此產生第二主儲存讀取資料;及f)根據步 驟(d)之該比較之結果,在該第二主儲存讀取資料中校正錯 誤。 於一些實施例中,步驟(d)之該比較包括實施至少一個 選自由以下組成之群組之比較:i}該第一主儲存讀取資料 與該快取讀取資料之間的一直接比較;ii}該第一主儲存讀 取資料與該快取讀取資料之一指示性非恒等函數之間的— 直接比較;iii)該第一主儲存讀取資料之一指示性非恒等 函數與該快取讀取資料之間的一直接比較;及iv)該第一讀 取主儲存區資料之一指示性非恒等函數與該快取讀取資料 之一指示性非恒等函數之間的一直接比較。 一些當前所揭示實施例提供一種用於處置錯誤校正之方 139476.doc -10- 201007748 法。該方法包含以下步驟.a)將原始資料寫入至一記恒 體;b)在該寫入之後,自該記憶體讀取,由此產生第—讀 取資料;c)根據該第一讀取資料來確定一對該第一讀取資 料與該原始資料之間的一差異之指示;幻在對該差異指示 之該確定之後,自該記憶體讀取,由此產生第二讀取資 料;及e)根據該差異指示,在該第二讀取資料中校正錯 誤。 一些當前所揭示實施例提供一種揭示用於一記憶體器件 之控制器。該控制器包含:a)電路系統,其運作以:〇將 原始資料寫入至一記憶體;ii)在該寫入之後,自該記憶體 讀取,由此產生第一讀取資料;iH)將該第一讀取資料與 該原始寅料相比較;iv)在該比較之後,自該記憶體讀取, 由此產生第二讀取資料;及v)根據該比較之結果,在該第 二讀取資料中校正錯誤。 於一些實施例中,該電路系統包括軟體及硬體中之至少 一者。 於些實施例中,該控制器經組態以將該原始資料寫入 至揮發性圮憶體並自該揮發性記憶體讀取。 於些貫施例中,該控制器經組態以將該原始資料寫入 至非揮發性記憶體並自該非揮發性記憶體讀取。 i於—些實施例中’控制器在步驟⑷(iii)中運作以實施至 乂個選自由以下組成之群組之比較:i)該第一讀取資料 與該原:始資料之間的-直接比較;ii)該第-讀取資料與該 原始貝料之_指示性非恒等函數之間的—直接比較;出) 139476.doc 201007748 該第一讀取資料之一指示性非恒等函數與該原始資料之間 的一直接比較;及iv)該第一讀取資料之—指示性非恒等函 數與該原始資料之一指示性非恒等函數之間的—直接比 較。 於一些實施例中,該控制器運作以回應於步驟⑷⑴之 該寫入之一完成而進行步驟(a)(ii)之該讀取。 於一些實施例中,該控制器運作以在步驟(a)(i)之該寫 入之該完成之後即刻進行步驟(a)(ii)之該讀取。 參 於一些實施例中,i)該控制器運作以進行步驟(a)(i)之向 該記憶體内之一目的地位置之該寫入;及ii)該控制器進一 步運作以進行自該記憶體内之該目的地位置之步驟0)(^) 之該續取及步驟(a)(iv)之該讀取中之至少一者。 量 表 表 於一些實施例中,i)該控制器進一步運作以確定至少一 個選自由以下組成之群組之錯誤指示:A)該第—讀取資料 :之-位元錯誤數量;B)—含有錯誤資料之記憶體單元數 C) 其中儲存有錯誤資料之一個或多個位元位置之一列 D) 其中儲存錯誤資料之一個或多個記憶體單元之一列 广)該第-讀取資料中之一特定位元或複數個位元係 錯誤之-機率之-值;及⑴該控制器運作以根據所確定之 至 個錯誤指示來進行步驟⑷(v)之該錯誤校正。 於:些實施例中’ 〇該控制器運作以將該原始資料寫入 至該β己憶體之—主儲存區;Η)該控制器運作以按—方式來 進行步驟⑷⑼之該讀取,該方式包括自該記憶體之該主 儲存區讀取錢從該主儲存區之内容中產生該第—讀取資 139476.doc -12- 201007748 料;及ill)在步驟(a)(1)之該寫入之前,該控制器進—步運 作,以自一不同於該記憶體之該主儲存區之該記憶體之快 取區讀取以便獲得該原始資料。 於一些實施例中,該控制器以_方式運作以根據步驟 (a)(m)之該比較之該等結果來進行該錯誤校正,該方式包 括根據步驟(a)(iii)之該比較之該等結果來選擇一解碼匯^ 排寬度大小。 於一些X施例中
Λ 々八逆邗以根據步驟 (a)(iii)之該比較之該等結果來進行該錯誤校正該方式包 括實施以下中之至少一者:i)根據步驟⑷㈣之該比較: 該等結果來選擇一第一解碼器及一第二解碼器中之—者並 僅使用該第—及第:解媽器中之該選擇之解碼器來校正錯 誤;及Π)根據步驟⑷㈣线比較之該等結果來選擇—解 碼器之-第-模式及該解碼器之―第二模式中之_者並僅 使用該第-及第二模式中之該選擇之模式來校正錯誤。 於-些實施例中,該控制器以—方式運作以根據步驟 ⑷㈣之該比較之該等結果來進行該錯誤校正% 括以下中之至少-者:i)決定是否:A)f試使用—較輕加 校正錯誤或B)嘗試僅使用-重於該較輕加權解 馬益之較重加權解碼器來校正錯誤;⑴決定是否 使用一較快解碼器來校正錯誤或B)f試僅使用—慢於钱 快解碼^之較慢解喝器來校正錯誤;叫決定是否.A)嘗 ^用一衫解碼器之—較輕加權模式來校_ = 試僅使用該特定解喝器之一重於該較輕加權模式: 139476.doc -13- 201007748 權模式來校正錯誤;及iv)決定是否:A)嘗試使用一特定解 碼器之一較快模式來校正錯誤或B)嘗試僅使用該特定解碼 器之一慢於該較快模式之較慢模式來校正錯誤。 於一些實施例中’該控制器以一方式運作以根據步驟之 該比較之該等結果來進行該第二讀取資料中之該錯誤校 正’該方式包括根據步驟之該比較之該等結果來確定該第 一續取資料之一個或多個位元機率值。 些虽刖所揭示實施例提供一種揭示用於一記憶體器件 之控制器。該控制器包含:a)電路系統,其運作以:i)將 原始資料自一記憶體之一快取區複製至該記憶體之一主儲 存區;ii)在該複製之後,自該記憶體之該主儲存區讀取, 由此產生第一主儲存讀取資料;in)在該複製之後,自該 記憶體之該快取區讀取,由此產生快取讀取資料;iv)將該 快取讀取資料與該第一主儲存讀取資料相比較;v)在該比 較之後,自該記憶體之該主儲存區讀取,由此產生第二主 儲存讀取資料;及vi)根據步驟(d)之該比較之結果,在該 第二主儲存讀取資料中校正錯誤。 於一些實施例中,該電路系統包括軟體及硬體中之至少 一者。 於一些實施例中,該控制器在步驟(a)(iv)中運作以實施 至少一個選自由以下組成之群組之比較:0該第一主儲存 讀取資料與該快取讀取資料之間的一直接比較;Η)該第— 主儲存讀取資料與該快取讀取資料之一指示性非恒等函數 之間的一直接比較’ iii)該第一主儲存讀取資料之一指示 139476.doc -14- 201007748 性非恒等函數與該快取讀取資料之間的一直接比較;及iv) 該第一讀取主儲存區資料之一指示性非恒等函數與該快取 讀取資料之一指示性非恒等函數之間的一直接比較。 一些當前所揭示實施例提供一種揭示用於一記憶體器件 之控制器’該控制器包含:a)電路系統,其運作以:i)將 原始資料寫入至一記憶體;在該寫入之後,自該記憶體 讀取’由此產生第一讀取資料;ni)根據該第一讀取資料 來確定一對該第一讀取資料與該原始資料之間的一差異之 指示;iv)在對該差異指示之該確定之後,自該記憶體讀 取’由此產生第二讀取資料;及幻根據該差異指示,在該 弟一讀取資料中校正錯誤。 於一些實施例中,該電路系統包括軟體及硬體中之至少 一者。 現在首次揭示一種其中儲存有用於處置對一記憶體之錯 誤校正之電腦可讀程式碼的電腦可讀媒體,該程式碼可運 作以· a)將原始資料寫入至該記憶體;b)在該寫入之後, 自该記憶體讀取,由此產生第一讀取資料;c)將該第一讀 取資料與該原始資料相比較;幻在該比較之後,自該記憶 體讀取,由此產生第二讀取資料;及约根據步驟(c)之該比 較之結果,在該第二讀取資料中校正錯誤。 現在首人揭示種其中儲存有用於處置對一記憶體之錯 誤校正之電腦可讀程式碼的電腦可讀媒體,該程式碼可運 作以:a)將原始資料自該記憶體之—快取區複製至該記憶 體之一主儲存區·,b)在該複製之後,自該記憶體之該主儲 139476.doc -15- 201007748 存區讀取,由此產生第一主儲存讀取資料;c)在該複製之 後,自該記憶體之該快取區讀取,由此產生快取讀取資 料丨㈣該快取讀取資料與該第―主儲存讀取資料相比 較,e)在該比較之後,自該記憶體之該主儲存區讀取,由 此產生第二主儲存讀取資料;及f)根據步驟(d)之該比較之 結果,在該第二主儲存讀取資料中校正錯誤。 〇 現在1·次揭示-種其中儲存有用於處置對—記憶體之錯 誤校正之電腦可讀程式碼的電腦可讀媒體,該程式碼可運 作以:a)將原始資料寫入至該記憶體;b)在該寫入之後, 自該記憶體讀取,由此產生第一讀取資料;c)根據該第一 讀取資料來破定-對該第一讀取資料與該原始資料之間的 差八之扣不,d)在對該差異指示之該確定之後自該記 憶體讀取,由此產生篦-士 奎而―公 座生弟一 af取貧料;及e)根據該差異指 示’在該第二讀取資料中校正錯誤。 庄意’上文闡述為與某些實施例有關的特徵亦可包括於 其他實施例中,除非下文另有指示。 Φ 【實施方式】 參考圖式_本發明對各實㈣實施例之詳細說明將更 好地理解下文申請專利範圍。說明、實施例及圖式不應視 為限制申請專利範圍之範嘴。應理解,並非用於處置錯誤 权正之當前所揭示方法及裝置之一切特徵在所有實施形式 中皆係必不可少的。亦應理解,貫穿於其中顯示或閣述一 過程或方法之本揭示内容,該方法之各步驟可按任一次序 或同時實施,除非根據上下文很清楚,一個步驟依賴於首 139476.doc -16- 201007748 先實施之另一步驟。如貫穿於本申請案所使用,字詞「可 能」使用具有許可意義(即,意謂「具有…的可能性」), 而不具有強制意義(即,意謂「必須」)。
本發明之各實施例係關於令人驚訝的發現,其在將「原 始」資料寫入至一快閃記憶體之後適用於:⑴自該快閃記 憶體回讀(即’實施-「第—讀取作f」);(Η)將該回讀資 料與該原始資料相比較;及(iii)在該比較之後,在隨後自 該快閃記憶體讀取資料時(即,在一「第二讀取作業」 中),根據由該回讀資料與該原始資料之比較而產生資訊 在該隨後所讀取資料中校正錯誤。 一於-些實施例中,藉由該比較所產生之資訊指示該原始 資料與可能已由在程式化時刻所出現之錯誤(例如,由所 謂「程式化干擾效應」@引起之錯誤)破壞之快閃駐存資 料之間的差異。因&,藉由該比較所產生之資訊可提供一 對資料向快閃記憶體之程式化或寫入「多麼成功」之指 7F ° 可在稍後在「第二讀取作業」期間所讀取之資料中校正 錯誤時使用關於資料向㈣記憶體之程式化或寫入「多麼 成功」之此資訊。舉例而言,若藉由該比較所獲得之資訊 指示記憶體資料寫人相肖「成功」及/或寫人至記憶體之 貢料之品質相對「高」,則其可適用於隨後以一相對「樂 觀」方式校正自記憶體讀取之資料中的錯誤。否則,一用 於校正錯誤之更「悲觀」技術也許係較佳的。 下文參考圖5至圖8來闡述相對 樂觀」及「悲觀」技術 139476.doc -17- 201007748 之各個實例。 在-個與圖6A相關之非限制性實例中,可在校正錯誤時 使用一「較重加權」解碼器或—「較輕加權」解碼器。於 此實例中,該「較輕加權」解碼器比該「較重加權」解碼 器較快及/或耗用更少計算資源,但成功地校正錯誤之可 能性更小(即,與一較低失敗機率相關聯)。 應瞭解,圖5至圖8之「樂觀/悲觀」錯誤校正並旨在為 一窮盡性列表,且亦可使用其他「悲觀」或「樂觀」技 術。 根據與圖6A相關之此非限制性實例,稍後,當校正來自 「第二讀取作業」之資料聘,可使用在「第一讀取」作業 之後從該比較中所獲得之資訊來加速錯誤校正。若原始資 料與自快閃讀取之資料之間的先前比較指示快閃駐存資料 (或在某一先前時間點處)相對無錯誤,則可能最好稍後採 用一「樂觀策略」並嘗試使用較快之「較輕加權」解碼器 來校正錯誤。另一選擇係,若該比較指示快閃駐存資料包 括(或在某一先前時間點處包括)一「更大數量之錯誤」, 則可能最好稍後採用一「悲觀策略」並嘗試使用較慢之 「較重加權」解碼器來校正錯誤。 注意,此僅係一個「根據該比較之結果來校正錯誤」之 非限制性實例且下文闡述各種額外實例闡。此外,下文揭 不與根據一對回讀資料與原始資料之間的—差異之指示來 校正錯誤相關之額外技術。 於—些實施例中,「第一讀取作業」之回讀係在第一讀 139476.doc 201007748 取作業「之後即刻」(即,在幾秒内)進行。此可適用於在 程式化時刻或接近於程式化時刻收#指示t料及/或「目 標記憶體」之品質之資訊。另_選擇係或另外,該回讀可 在一稱後時刻進行。
貫穿於本揭示内容,當用「快閃記憶體」的字眼來解釋 某些技術時,應瞭解此等技術亦適用於不同於快閃記憶體 的其他記憶體。例示性記憶體包括但不限於不同於快閃記 憶體之非揮發性記憶體(例如,磁性記憶體或光學儲存器) 及例如SRAM或DRAM之揮發性記憶體。 例示性磁性記憶體包括但不限於磁阻隨機存取記憶體 (MRAM)及硬磁碟盤。 熟習此項技術者應瞭解,用於校正錯誤之當前所揭示技 術可與任何其他用於在自記憶體讀取之資料巾校正錯誤之 技術相組合。 對在快閃記憶體中使用ECC之 之定義(在接下來的兩個段落 在闡述圖式之前,呈現一 一般概述並提供各種術語 中)。 快閃記憶體器件中之錯誤校正 下面呈現一對在快閃記憶體中使用ECC之一般概述且包 括以下步驟: ⑴在將資料寫入至記憶體之前,對資料應用一 ecc演 算法以計算稍後用於錯誤偵測及校正之額外(即,冗餘)位 兀。此等冗餘位元通常稱作「同位位元」或「同位」。輸 入至一 ECC模組中之資料與由彼模組輸出之同位之一組合 139476.doc -19- 201007748 稱作一碼字。至一ECC模組之輸入資料之每—不同值產生 一不同碼字。 (2) 將整個碼字(即’原始資料及同位)記錄至快閃記憶 體。應注意,NANDs快閃記憶體之實際大小大於原始資 料之大小’且該記憶體經設計以亦容置同位。 (3) 當自記憶體擷取資料時,重新讀取整個碼字,並 對資料及同位應用一 Ecc演算法以偵測並校正可能之「命 中翻轉」(即,錯誤)。 應注意,ECC之實施可由硬體、軟體或硬體與軟體之一 組合來完成。此外,ECC可在一記憶體器件内、在一記憶 體器件控制器内、在一主機電腦内實施,或可「分散」於 一系統之此等組件之中。 通常使用之演算法包括Reed_s〇1〇m〇n、BCH、加權平均 (Hammmg)及許多其他演算法。每一 ECC演算法皆由兩個 部分(接收資料位元並產生同位位元(或等效地,產生碼字) 之部分、及接收碼字並產生經校正資料位元之部分)構 成。第一部分稱作「編碼器」且在寫入期間使用,而第二 部分稱作「解碼器」且在讀取期間使用。可在硬體或軟體 中實施該兩個部分中之每一者,且亦可在硬體中實施一個 部分而將在軟體中實施另一部分。亦可在硬體與軟體之一 組合中實施該等部分中之每一者。 接收資料位元並產生對應碼字稱作「編碼」。接收碼字 並產生經校正資料位元稱作「解碼」。 應注意,實際上存在兩種類型之Ecc。其中將資料位元 139476.doc -20· 201007748 ^識別馬保存於媽字中之上述類型之ECC稱作「系統化」 CC在非系統化」ECC中,將資料位元轉換至一复 不保存原始資料之識別碼之碼字。 ^ 選擇—演算法(如BCH)作為擬在一快閃記憶體系統中 用之ECC㊉算法並不唯—性地定義所選解決方案。任 類ECC肩异法實際上並非係一單一演算法而係一族演算 法同-族内之演算法在其能夠保護之資料位元數量方面 其之間有所不同。一需要保護1〇〇個資料位元之演算法不 二於「需要保護10,_個資料位元之演算法,即使該兩種 演算法通常相當類似並按相同原理運作。 但甚至同—族中之兩種演算法(兩者保護相同數量之資 料位元)未必相同。該等演算法可能在所提供之可靠性水 平方面,或等效地(在該等演算法能夠校正之資料中之位 元錯誤數量量方面)有所不同。舉例而言,—種系統可能 需要保護1’_個資料位元之組塊以免出現任何達到3個位 元錯誤之組合(但不免出現4個或更多個位元錯誤),而在另 一系統中,期望一高得多的可靠性且因此需要保護i,〇〇〇 個資料位元之組塊以免出現任何達到1〇個位元錯誤之組 合。通常’保護以免出現更多錯誤f要使用更多同位位元 (或更長碼字),從而使ECC方案不太「有效」,其中效率 係以一碼字中之資料位元數與該碼字中之總位元數(包 括,在系統化ECC中,資料位元及同位位元兩者)之比為量 度。該量度通常稱作ECC編碼之「速率」。 不同ECC演算法及實施形式亦在其他方面(編碼過程之 I39476.doc •21 - 201007748 mr之速度、編碼過程之複雜度、解碼過程之 複雜度、至解蜗$ 元之品質界定)等等^ 接义錯誤率(根據儲存單 要不僅因為其二::不同。編碼及解碼之複雜度很重 因為其景,響作業之速度’而且 之硬體實施形式之功㈣耗及⑪面積。W響咖方案 顯’為—記憶體系統選擇—ECC解決方案涉及 一在多個考量因素之 權衡。—些在EC(:設計領域 中具有代表性的非限制性經驗法則係: =針對一既定記憶體可靠性,輸出可靠性越好(或等效 可杈正錯誤數越高)碼之速率就越低(或等效 統化ECC,需要更多同位位元)。 b.針對一既定記憶體可靠性,輸出可靠性越好,解碼 器就越複雜。 C.針對—既定輸出可靠性水平,碼之速率越高,解碼 器就越複雜。 d.針對-既定輸出可#性水平,碼之速率越高,解碼 就越慢。 當設計―咖解決方案時,人們通常從解碼器輸入處之 錯誤率(其取決於儲存單元之σ mu 于早兀之口口貝)及所期望之輸出可靠性 求AW °基於此等數,人們通常選擇 一特定ECC鎮,計算所需同抑办-奴 异π而Π位位兀數,並隨後估計編碼器 及解碼器之速度及複雜度。 在-些情況下,系統設計員之最重要考量係解碼之速 度,因為解碼之速度可限制從記憶體當中讀取資料之速 139476.doc •22- 201007748 度。在此等情ί兄下,言免計者可能面對進退兩難的局面—滿 足輸出可靠性要求所需之ECC方案可能結果導致一具有緩 :運作之相當複雜的解碼器,從而無法滿足系統之速度目 標。但是’另—方面’選擇_相#簡單但促成快速解蜗之 ECC方案並不提供所需之輸出可靠性水平。 定義 广便起見’在本文說明之上下文中’此處呈現各種術 居。由於在本申請案中之此處或別處明碟地或含蓄地提供 2義’以致熟習相關技術者將此等定義理解為與所定義術 =用途相-致。此外,此等定義應視為具有與此用途相 一致的最廣泛可能意義。 由:某些類型之記憶體(例如,快閃記憶體、磁性記情 固3儲存器或揮發性記憶體)係「破壞媒體」,因此 :個或多個錯誤有時被引人至寫人至該記㈣之「原始 -貝料中,從而在自該纪情俨 ’、。」 -表…… 該資料(即,原始資料之 【式)時翻轉」-個或多個資訊位元。 「原始資料」係針對其作出— 「 (例如,-p At α 目標記憶體」 可此係一破壞媒體之快 體)之嘗試之資如,]°己隐體或任一其他記憶 式之見枓。在一些情況 際儲存於該「目桿¥體φ纟於3亥寫入嘗試而實 體」中之資料相同於該「屌妒眘 枓」。在其他情況下,一個或〜 …亥原始資 中之資料寫入至卞「 —夕錯誤隨著駐存於記憶體 針對其作出一寫入r斥私一 馬入原始賁料,之營4 士 」之嘗试之目標記憶體中 憶體」中而被引入至今資料中 (或隨後即刻卜例如’因程式化干 至6亥謝 4+姐廿从· .1· . 139476.doc •23- 201007748 目的地位 :實體或邏輯位置稱作「目標記憶體」中之 從自該記憶體回讀 .. Γ 之資料中重構該原始、盔扭μ 過程係杈正錯誤」。德;^ γ q「 ‘,、、錯誤資料之 儘官術s吾「校正錯组 使用,但應瞭解「校 、J以複數形式 . 正錯誤」亦係指校正—置t 瞭解,於一此實絲 早一錯誤。摩 一頁靶例中,對錯誤之該「 應 個或多個失敗校正錯誤嘗試。 止」亦可包括一 如上文所提到,錯誤校正技術可分類為 校正’其t將資料^线料保㈣㈣^化錯誤 系統化」錯誤校正,其中將資料位元轉換至及⑻非 原始資料之識別碼的碼字。在前—種情況下$ :保存 存於碼字中之資料位元寫入至「目標記憶體」 將保 將此等資料位元視為「原始資料」。在後—種情況;,二 出一將「經轉換」或「經編碼」資料位元寫入作 土· 目才票"I己 憶體」之嘗試並將此等經轉換或「經編碼」資料位_ 「原始資料」。 70視為 一些實施例包括將自「目標記憶體」回讀之資料與「原 始資料」相「比較」。於一個實施形式中,此可μ + u j糟由貫施 回讀資料與原始資料之間的一「直接比較」來進行,在此 情況下,全部或部分地檢查原始資料與回讀資料在其内六 方面是否匹配。另一選擇係或另外,回讀資料與「原妒資 料」之比較可係一涉及原始資料之一數學函數及/或第— 讀取資料之一數學函數之「間接比較」。熟習此項技術者 參考圖9及隨附說明以獲得更多細節。 139476.doc -24 - 201007748 如先前所提到,為了校正錯誤,可使用一「解碼器」來 從一碼字之—表示形式中恢復原始資料。一些實施例涉及 多個解碼器,包括「較輕加權」解碼器及「較重加權解碼 器」。 • %、較重加權」及「車父輕加權」用於比較兩種解碼器 及/或一單一解碼器之兩種模式。「較重加權」解碼器(或 . 一單一解碼器之較重加權模式)(i)耗用較「較輕加權」配 φ 對物為多之電流及/或⑴)需要較「較輕加權」配對物為多 之記憶體(用於解碼器本身之電腦可執行碼及/或更多用於 在校正錯誤時儲存計算之「中間結果」之記憶體)及/或 (111)需要較「較輕加權」配對物為多之計算作業。 對圖2之說明 圖2係一種根據一些實施例用於處置錯誤校正之例示性 技術之一流程圖。在步驟8411中,將原始資料寫入至記憶 體(即作出一將原始資料寫入至「目標記憶體」中之嘗 〇 試)。如先前所提到,不保證實際上在該寫入作業之後即 刻駐存於「目標記憶體」中之資料相同於針對其作出該嘗 . 試之原始資料(例如,因可在「寫入時刻」將錯誤引入至 資料中之程式化干擾效應)。 在一個實例中,在步驟S411t,將原始資料自揮發性記 憶體(例如,RAM及/或暫存器及/或任一其他類型之揮發性 記憶體)複製至例如快閃記憶體或磁性「磁碟」儲存器之 非揮發性記憶體中。在―個與圖1B相關之特定實例中,資 料由周邊儲存器件260*自一主機器件31〇接收。回應於該 139476.doc -25· 201007748 :料接收,在步驟S4U中,將「傳入」接收資料寫入至周 2存器件26G*内之非揮發性記憶體27()中。儘管本揭示 内谷中所述之幾個實例與一周邊儲存器件之實施形式 相關,但應瞭解此決非係一限制,且可使用一並非係一周 邊館存器件26G*之記,_料||件來實絲-所揭示 技術。 句不 於再-實例中,在步驟8411中,將原始資料自揮發性纪 憶體中之一個位置複製至同一揮發性記憶體中之另一「目 標」位置(例如,RAM中之另一位置)。於再一實例中 =始資料自-種類型之揮發性記憶體(例如,一暫存器)複 製至另-種類型之揮發性記憶體(例如,RAM)中。 二:驟S415中,進行-「第-讀取作業」。在-個非限 制性實例中,自在步驟S411中向其寫入「原始」資 :票記憶體内之「目的地位置」回讀資料。然後,在步驟 419中’直接或間接地將回讀資料(即,自步驟s化 一讀取作業)與「原始資料」相比較。 m 在各實施例中,步驟8419之資料比較可適用於產 由於步驟則之寫人作業而駐存於「目標記憶體」中= 「品質」:(或另-選擇係,指示目標記憶體本身之 口口質」)的資訊。「資料σ暂 遂 H 口質」資訊之例示性指 括但不限於:i)第—讀取資料中之-位元錯誤數量 含有錯誤資料之記憶體單元數量;叫其中儲存有錯丄 -:固或多個位元位置之一列表;iv)其中儲存有 料: 一個或多個記憶體單元之—列表;及V)第—讀取資料^ 139476.doc • 26 - 201007748 一特定位元或複數個位元係錯誤的一機率之一值。 此品質資訊可儲存並擷取供稍後使用。如下文將解釋, 此品質資訊可稍後在校正錯誤時在步驟S427中使用。於— 個非限制性實例中,此品質資訊係在程式化時刻(即,在 步驟S419時或「隨後即刻」(即,在幾秒内)確定並儲存且 稍後使用。儘管如此,如上文所提到,不存在任何在「程 式化時刻」確定此資訊(即,在步驟S415及/或S4 19中)之明 確要求(此可在任一時刻進行)。 於一些實施例中’步驟S415之讀取及/或步驟S419之比 較⑴由儲存器件260*「自動地」且「由於」步驟S4 η之寫 入而進行,(ii)不需要自主機器件31〇接收任何外部「資料 讀取請求」且(iii)不回應於自主機器件所接收之任何「資 料請求」而進行。此外,於一些實施例中,由步驟8419之 第一讀取作業所產生之第一讀取資料可供在周邊儲存器件 260*内「内部使用」(即,在步驟S419_S427中)且不自周邊 儲存器件260*「輸出」。 相反’步驟S415之讀取及/或步驟S419之比較可「回應 於」步驟S411之寫入及/或回應於一由快閃記憶體儲存器 件260經由相應器件間介面25〇、35〇自主機器件3丨〇接收之 「外部接收」資料寫入命令而進行。 如上文所提到,可在一稍後時刻儲存(未顯示於圖2中) 並擷取「品質資訊」(儲存及擷取步驟未顯示於圖2中)。該 儲存及/或擷取可在任一時刻進行,包括在步驟MU之讀 取之前、與其同時、在其之後。 139476.doc •27· 201007748 在步驟S423 t在「第二讀取作業」中自記憶體讀取 資料。於一些實施例中,與步驟S415之讀取相反,「第二 讀取作業」可回應於-由快閃記憶體儲存器件所接收之外 4接收f料讀取」命令而進行,且在步驟s423中所讀取 之資料(在步驟則之錯誤校正之前或之後)之結果可自記 憶體儲存器件260*「輸出 至—主機器件。 m 不存在對步驟則及/或⑽之讀取之「目標位置」之 限制。於-些實施例中,步驟㈣之「第一讀取」及/或 步驟S423之「第二讀取」之「目標位置」係在步驟8川中 向其寫入「原始資料」之「目標位置」。 在步驟S427中,期望在步驟S423中所讀取之「第二讀取 資料」中校正錯誤。在步驟§427中,該錯誤校正係根據在 步驟⑷9中所獲得之資訊(即,根據第_讀取資料與原始 資料之比較之結果)來進行。下文(例如,參考圖5_8)闡述 如何「根據該比較t結果來校正錯誤」<不同實例。 「即刻」回讀
s不疋限制,但注意,於一些實施例中,步驟S4【5 之讀取及/或步驟S419之比較係在步驟以丨丨之寫入「之後 :刻」(例如’在幾秒内)進行。此可適用於「釋放」其中 儲存有原始資料之記憶體中之位置。 因此,在一個非限制性實例中,「原始資料」駐存於快 閃。己隐體儲存器件26Q内之揮發性記憶體(未顯示)(例如, 但不限於’快閃控制器280内之揮發性記憶體(例如,RAM 及/或暫存器))中。根據此實例,在步驟S4 11中,將此「原 139476.doc -28- 201007748
始資料」自該揮發性記憶體寫入至快閃記憶體27〇(即,該 揮發性係「源記憶體」且該快閃記憶體係「目標記惊 體」)。根據此實例,藉由「即刻」(例如,在幾秒内)回讀' S415及/或比較S419,丨需要將該「原始資料」保持於該 揮發性記憶體中且在該揮發性記憶體内為該「原始資料」 「保持預留空間」。因此’在此非限制性實例中,在步驟 ,之比較之後’可將其中駐存有該「原始資料」之揮發 性記憶體(即’揮發性記憶體中之位置)用於其他目的。 儘管如此,此並非係-限制,且當然可在步驟s4ii之寫 入之後之任一時刻實施該比較。 對圖3之說明 仪過用於確定一對原 始資料與第-讀取資料(即,與原始資料相比較之資料k 間的一差異之指示。 現在參考圖3。可如同在圖2中一樣實施圖3中之步驟 T、s化及⑽。在步魏35中,確定_對原始資料盘
:一讀取資料之間的-差異之指示(例如,指示駐存於I 中向其寫入原始資料之「目標」記憶體中之資料 中存在多少錯誤)。 於一個實例中,此指示係藉由 料相比較來確定。 將第一續取資料與原始資 二另外,該指示可在不將第-讀取資料與原 ==比較之情況下確定。在—個實例中,在第一讀取 板正錯誤,並將經錯誤校正之資料與第-讀取資料 139476.doc -29· 201007748 相比較(即直接地或間接地)。若(例如)經錯誤校正之資 料相同於或接近於第—讀取資料,則此可指示駐存於「^ 標記憶體」中之資料中幾乎不存在或完全不存在錯誤。此 可指示「原始資料與第一讀取資料之間的差異」不存在或 最小。另一方面,經錯誤校正之資料與第一讀取資料之^ 的更多差異可指示步驟S411之「資料寫入」過程係「有; 擾的」(例如,因程式化干擾效應)且原始資料與第—讀取 資料之間的差異相對「大」。 在所有前述實例中,對原始資料與第一讀取資料之間❸0 差異之指示係根據在步驟S415中自「目標記憶體」讀取 (例如’在步驟S415中自在步驟則中向其寫入原始資料 之「目標記憶體」内之一「目標位置」讀取)之第—讀取 資料而確定。 多個與可館存指示原始資料舆讀取資料之間的差異(即, 在步称S435中)之資訊類型相關的例示性使用索例 應瞭解,所提供之實例列表並非旨在為一窮盡性列表。 此外,應瞭解’在不同實施形式中,可具有各種組合。戶斤_ 有實例皆旨在為闡釋性的而非限制性的。 :第一實例:在本段落之一第一實例中,健存第—讀取二身-料:之錯誤之具體位置(即,如在步驟s4i9及/或$化中所 ,疋)’以便在讀取時刻一記憶體儲存系統之快閃控制器 其他元件旎夠容易校正所列出之錯誤位元。在一個 疋實施形式中’將儲存之錯誤位置數限制至—最大數 (此可簡化對在步驟剛及/或仙及/或剛中所確定之錯 139476.doc •30- 201007748 誤或「品質」資訊之儲存之管理)。 出之-#貫施例中,儲存從已知錯誤資料中導 ㈣右干值’而不儲存對該(該 位置之描述。枭俐而+ _ , 心逐(該等) Q,可儲存該錯誤數而不儲存其位 r如下文所解釋,此-值可適用於在-些錯誤校正方宰 中增強錯誤校正過程。 又方案 :第三實施例··當使用MLC快閃器件時,
快閃單元視為基本單元。因此,㈣存具體位置時,2 1=敎位元及/或識別特定單元。因此,在不同非限 ,切存錯誤數時,人們謂存錯誤位元數及/ 或錯誤單元數。 根據-個其中儲存有錯誤位元之具體位置之實施例,在 讀取㈣者資料㈣地使㈣(料)料位置也許非常 簡单。在若干特定實例中,該錯誤校正過程隨後可實施為 一兩㈣過程(首先反轉所揭示錯誤位元,並隨後採用該 常規錯决权正方案)。此可適用於任一類型之錯誤校正方 案0 多個與指示在步細15中自「目標」記憶艘回讀之資料十 之錯誤之「儲存及操取資訊」相關的例示性使用案例 如上文所提到’於_些實施例中,由步驟s419之比較及, 或由步驟S435之確定所產生之資訊首先儲存(圖中未顯示 之步驟)’並稍後擷取以在步驟S427及/或步驟S439中使 不存在對儲存所產生資訊之方式及/或地點之限制。 所產生資訊可儲存於揮發性及/或非揮發性記憶體之任一 I39476.doc 31 201007748 組合中。 於—些實施例中,所產4咨 生貝δί1儲存於在步驟S411中向苴 寫入原始資料之「目標 斯m 體」巾。另—選擇係或另外, 所產生貝況可儲存於—不同於琴日 j於該目# 5己憶體之記憶體中。
現在闡述一些盘—,Ιφ. SB .-、 、I己憶體器件器件之特定案例相關 器· “六 ^閃5己憶體器件包括:⑴-控制 器280 ’其駐存於—第—曰 27〇,,. 日日片上,及(11) 一快閃記憶體 270(例如,Nand快閃),政駐.认 一 J ,、駐存於一不同於第一晶片之第 一晶片上(或駐存於容伯^ 片上)。 夕個不同於第-「控制器」晶片之晶 =㈣Α:將該資訊儲存於該财仙快閃晶片中。在實 器&將^較作業(例如’參見步驟剛)之後,該快閃控制 决閃曰曰片中。可將該資訊附著至與 眘料。£ 。貝枓之頁面之額外區中相關之使用者 貝料。另一選擇係,可將却夕百工 W ^ D夕頁面之資訊組合至一中心位 3有多個頁面之相關資訊之項目表)中。 於一些實施形式中,笛_杜 —替代形式可能更可取,此乃因 ⑴ >、有在使用者資料 ^ 枓已厶儲存至快閃頁面中之後方可知道 "亥貧sfl ’及(ii)進行一 至彼頁面中之第二寫入作業可能違 件之部分程式化限制。於此實施形式中,該控制 第Λ 在該控制以要該儲存資訊時《之前)擁取該 ^^’在步_29或_中)。於各實施形式 _ , $ 280可在讀取使用者資料(即,在步驟S423之第 ' 業中)之别或在讀取使用得資料之後進行此擷 139476.doc 201007748 取。於―些實施例中’該控制器在解碼使用者資料之前掘 取該資訊以便能夠將其用於該解碼過程中可能更可取。 使用案例B :根據該使用㈣,將該資訊儲存於該控制器 晶片中而不是該快閃記憶體晶片中。 對圖4之說明 圖4係一根據一些實施例用於處置錯誤校正之常式之一 流程圖。在步驟S451中,將原始資料自一快取儲存區域 272(例如,一快閃記憶體270之一快取儲存區域272)複製至 一主儲存區(例如,一快閃記憶體27〇之一主儲存區域 274)。注意’因在程式化主儲存區域274時的可能錯誤, 故不保證在步驟S451之複製作業之後,駐存於主儲存區域 274中之貫際資料將相同於自快取儲存區域複製之資料 (例如,因程式化干擾效應)。 在步驟S455中,將資料自主儲存區域274讀取(例如)至 揮發性記憶體中,以產生「第一主儲存讀取資料」。在一 個實例中’步驟S455之資料讀取作業包括自在步驟S451中 向其複製資料之主儲存區域274内之「目標位置」讀取。 在步驟S459中,將資料自快取儲存區域272讀取(例如) 至揮發性記憶體中,以產生「快取讀取資料」。在一個實 例中’步驟S459之資料讀取作業包括自在步驟8451中自其 複製資料之快取272中之「源位置」讀取。 在步驟S463中,將該快取讀取資料(即,其可理解為 「類似於」原始資料)與第一主儲存讀取資料(即,其可理 解為「類似於」第一讀取資料)相比較。於一些實施例 139476.doc -33- 201007748 中’步驟S463之此比較提供一對該快取讀取資料與第一主 儲存讀取資料之間的一差異之指示,該指示可適用於確定 該複製多麼「成功」(不成功)及/或作為步驟8451之複製作 業之「目標」之主區駐存資料中存在或不存在程式化時的 錯誤。類似於步驟S419之比較,步驟S463之比較可實施為 一「直接比較」及/或一「間接比較」(熟習此項技術者參 考圖10)。 在步驟S467中’進行一對主儲存區域274之「第二讀 取」。於一些實施例中,此「第二讀取」可根據或回應於參 一由儲存器件260自主機器件310接收之接收「外部讀取命 令」而進行。 在步驟S471中,根據步驟S463之比較之結果在「第二主 儲存讀取資料」中校正錯誤。在―個實例中,若步㈣如 之比較指示主儲存區讀取資料相同於或幾乎相同於快取讀 取資料(即,指示步驟S451之複製事件相對「成功」),則 在步驟S71中使用一相對「樂觀」錯誤校正常式。否則, 若步驟S463之比較指示主儲存區讀取資料不同於快取讀取 資料,則可使用-不太「樂觀」錯誤校正常式或一「非 觀」錯誤校正常式。 心 下文參考圖5-8闡述「樂_ 乃「非站 衆覜」及悲觀」錯誤校正常式 之非限制性實例。 在一個使用案例中,可經由快取儲存區域272將「目 =資料自揮發性記憶體「間接地」寫人至主儲存區域 在此使㈣例中,快取區域272係—比主儲存區域 139476.doc •34· 201007748 274「更可靠之儲存媒體」,且假定:⑴寫人至快取加之 資料未必包括錯誤;(ii)複製(即,在步驟8451中)至主儲存 區域274之資料更有可能包括錯誤。由於快取272中之資料 假疋為相^「無錯誤」,目此不需要在處理自主儲存區域 278回5賣之資料的同時將「原始資料」保持於該揮發性記 u體中(而疋,可利用自「相對可靠」快取區域272回讀之 資料)。
參考圖5A-5B、圓6A_6B對步驟购及,或則及,或s439之 例示性實施形式之說明 設想具有以下特性之兩種解碼器(或一個能夠在兩種不 同模式下運作之解碼器): a·第一解碼器係較快及/或「較輕加權」的,但另一方 面不保證成功地產生解碼過程之結果。 b.第一解碼器係較慢及/或「較重加權」的,但保證始 ”產生解碼過程之正確結果(或至少更有彳能產生解碼過 程之正確結果)。 通㊉,貝料中之錯誤數越高,第一解碼器失敗就越頻 繁。遺憾的是,當在步驟S423或S467中自記憶體回讀(例 如藉由回6賣碼字之表示形式)時不一定事先知道回讀 貝料中存在多少錯誤。因此,不-定知道是否需要-「較 重加權」解碼器(或—單一解碼器之較重加權模式),或一 「較輕加權」解碼器是否將足夠。 本發明人現在揭示若⑴步驟S419(或步驟S463)之比較或 ()乂驟S43 5之確定指示步驟以丨丨之資料寫入或步驟s45i 139476.doc •35· 201007748 之資料複製相對「成功」,貝,】可選擇一用於稍後校正錯誤 之相對「樂觀」技術在步驟S423或S467中所讀取之資料中 校正錯誤。因此,在此情況下,可有利地「冒險」使用 較輕加權」解碼器(或一單一解碼器之較輕加權模式)來 校正錯誤。否則,使用「較重加權」解碼器或一單一解碼 器之較輕加權模式來校正錯誤可能更可取。 現在參考圖5A。在步驟8615中,根據該比較及/或差異 才曰示之結果來從複數個候選解碼器中選擇一解碼器。 在步驟S619中,僅使用所選擇之解碼器而不使用未選的 「被拒絕」解碼器來校正錯誤。 現在參考圖5B。在步驟S625中,根據該比較及/或一在 步驟S419或S435或S463中所確定之差異指示之結果從複數 個候選解碼器模式中選擇一既定解碼器之一模式。 在步驟S629中,僅使用所選擇之解碼器模式而不使用未 選的「被拒絕」解碼器模式來校正錯誤。 現在參考圖6 A。 在步驟S651中,作出一是否嘗試根據該比較及/或一在 步驟S4i9或S435或S463中所確定之差異指示之結果使用一 較輕加權解碼器(即,複數個候選解碼器中之)來校正錯誤 之決策。 若該比較及/或一在步驟S419或S43 5或S463中所確定之 差異指示之結果指示步驟S411之寫入或步驟8451之複製相 對「成功」(例如,因第一讀取資料「非常類似」於原始 資料,或因第一主儲存讀取資料「非常類似」於快取讀取 139476.doc -36- 201007748 資料),則可採用—相對「樂觀」錯誤校正策略。因此 在此情形下,在步職55_作出—使用較輕加權解瑪 校正錯誤之嘗試。若較輕加權解碼器成功(參見 歸)m要嘗試制較重加權解碼器來校正錯: 見步驟S667)。若較輕加權解碼器無法校正錯誤,則作出 S663—使用一較重加權解碼器來校正錯誤之嘗試。
若該比較及/或一在步驟 異才日不之結果指示步驟 對「不太成功」(例如, 此外’注意,參考步驟S651, S419或S435或S463令所4定之差 S411之寫入或步驟S451之複製相 」於原始資料,或因第—主儲 快取讀取資料),則可採用一 因第一讀取資料「相對不同 存讀取資料「相對不同」於 相對「悲觀」錯誤校正策略。在此情形τ,可跳過步驟 S665,並嘗試使用較重加權解碼器而不是較輕加 來校正錯誤(在步驟S663巾)。 ^ 現在參考圖6B。
在步驟S851中,作出一是否嘗試根據該比較及/或一在 步驟S419或S435或S463中所確定之差異指示之結果使用一 較快解碼器(即,複數個候選解碼器中之)來校正錯誤之決 策0 右该比較及/或一在步驟S419或S435或S463中所確定之 差異指不之結果指示可採用一相對「樂觀」錯誤校正策 略,則在步驟S855中作出一使用該較快解碼器來校正錯誤 之嘗试。若該較快解碼器成功(參見步驟S859),則不需要 嘗試使用較慢解碼器來校正錯誤(參見步驟S867)。若該較 139476.doc •37· 201007748 快解碼器無法校正錯誤,則作出S863一使用一較慢解碼器 來校正錯誤之嘗試。 此外,注意,參考步驟S851,若該比較及/或一在步驟 S/19或S435或S463中所確定之差異指示之結果指示一相對 心觀」錯誤校正策略更可取,則可跳過步驟S865,並嘗 試使用》亥較慢解碼器而不是該較快解碼器來校正錯誤(在 步驟S863中)。 現在參考圖6C。 在步驟S671中,作出一是否嘗試根據該比較及/或一在 步驟S419或8435或8463中所確定之差異指示之結果使用一 較輕加權模式(即,一既定解碼器之複數個候選解碼器模 式中之)來校正錯誤之決策。 右該比較及/或一在步驟S419或8435或8463中所確定之 差異指示之結果指示可採用一相對「樂觀」錯誤校正策 略,則在步驟S675中作出一使用該較輕加權模式來校正錯 誤之嘗試。若該較輕加權模式成功(參見步驟S679),則不 需要嘗試使用該較重加權模式來校正錯誤(參見步驟 S687)。右该較重加權模式無法校正錯誤,則作出%83一 使用一較重加權模式來校正錯誤之嘗試。 此外,注意,參考步驟S671,若該比較及/或一在步驟 S419或S435或S463中所確定之差異指示之結果指示一相對 「悲觀」錯誤校正策略更可取,則可跳過S675,並嘗試使 用該較重加權模式而不是該較輕加權模式來校正錯誤(在 步驟S683中)。 139476.doc • 38 · 201007748 現在參考圖6D。 在步驟S871中,作出一是否嘗試根據該比較及/或—在 步驟S419或S435或S463中所確定之差異指示之結果使用一 較快解碼器模式(即,複數個候選解碼器模式中之)來校正 錯誤之決策。
若該比較及/或一在步驟S419或S435或S463中所確定之 差異指示之結果指示可採用—相對「樂觀」錯誤校正策 略,則在步驟S875中作出一使用該較快解碼器模式來校正 錯誤之嘗試。若該較快解碼器模式成功(參見步驟MM, 則不需要嘗試使㈣較快解碼器模式來校正錯誤(參見步 驟S887)。若該較快解碼器模式無法校正錯誤,則作出步 驟S883—使用一較慢解碼器模式來校正錯誤之嘗試。 此外,注意、,參考步驟S871,若該比較及/或一在步驟 S419或S435或S463中所確定之差異指示之結果指示一相對 「悲觀」錯誤校正策略更可取,則可跳過步驟““,並嘗 試使用該較快解碼器模式而不是該較快解碼器模式來校正 錯誤(在步驟S863中)。 對圖7-8之說明 圖7-8係用於根據該比較及/或差異指示之結果使用—軟 解碼器來校正錯誤之技術的流程圖。 軟解碼器藉由下述方式來運作:為碼字中的每一位元指 配一機率(例如,該位元之值為丨而不是〇之機率"並運行 多:疊代’在該多重疊代中之每一者中,根據其他位元之 當前機率來改變每一位元之機率。 139476.doc -39· 201007748 任何不屬於軟解碼器之解碼器在本文中稱作「代數解碼 器」。 在步驟S711中,根據該比較及/或差異指示之結果來指 配一個或多個位元機率值。 對於本揭示内容而言,一「位元機率值」界定為一指定 位元具有—指定值(例如,0或1)之一機率。
在一個與對稱解碼器相關之非限制性實例中,在步驟 S423或S467中自記憶體讀取對應於原始資料之位元。在此 實例中,可翻轉回讀位元中之一者或多者(針對每一位 兀,最初指配一「翻轉」該位元之相應機率)。若最初將 y翻轉」一既定位元之機率指配為「高」於必要的或 「低」於必要的,則疊代機率性錯誤校正常式可能「不必 要慢地」集中(即,對於計算而言,所需之步驟或資源及/ 或需要集中之時間量)。
因此,在一個非限制性使用案例中,若「該比較及^ 一在步驟S419或S435或S463中所確定之差異指示」之結; 指示一「樂觀情形」,則可指配指示一較低位元翻轉機; 之適當初始機率(此可「有助於」疊代機率性錯誤校正, 式較快地集中)。若該比較及/或一在步驟8419或“Μ 3 S463中所確定之差異指示之結果之值指示—「悲觀^ 形」,則可指配指示一較高位元翻轉機率之適當初始4 率〇 在步驟S715及S719中,進行春代當十,甘+ * τ 逆叮®代吊式,其中更新機率 (參見步驟S715)直至在步驟S719中滿足—「停止條件」為 139476.doc 40- 201007748 止(例如,直至作屮_ p 「τ , , _ 且主怍出已正確地」恢復「原始」資料之 確定為止)。在步驟S723中,該常式停止。 現在參考圖8。 如上文所提到,軟解碼器藉由下述方式來運作:為瑪字 中之每一位元指配一機率(例如,該位元之值為丨而不是〇 之機率),並運行乡重疊代,在該多重叠代中之每一者 中,根據其他位元之當前機率來改變每一位元之概論。 此類計算據說制「訊息傳遞」技術,因為每—位元皆 向其對等物「傳遞訊息」。—構建此等解碼器之主要設計 決策係訊息傳遞之匯流排寬度。使用一寬匯流排(例如ι〇 個位元)確保,若該演算法可應付錯誤,則該演算法實際 上將集中於正痛資料。但另一方面,解碼器之功率消料 此設計中較高。使用—窄匯流排(例如3個位元)提供低得多 的功能消耗,但在具有相對大量錯誤之情況下解碼器可能 無法集中於正確資料(即使在一相應寬匯流排解碼器中正 φ 確地解碼同—f料及錯誤耗於訊息傳遞之位元數 對解碼過程之功率消耗具有主要影響(位元數越高, 消耗就越高)。 此現象之原因之-在於在料作業期間該軟解碼器之訊 息及頻道輸人(軟值)儲存大功sRAMt。當例如我們 針對每一訊息使用3個位元而不是1〇個位元時,可關閉該 RAM之鄕。功率隸節省之另—源係處理此等傳遞訊息 之處理單元。很明顯,對3個位元而不是ι〇個位元實施計 算需要較小及較少功耗單元。 139476.doc •41· 201007748 可構建一其中可在解碼開始時設定「訊息傳遞」中之位 兀數之軟解碼器。因此,於—些實施例中,根據該比較及/ 或一在步驟S419或S435或S463中所確定之差異指示之結果 來選擇一解碼匯流排寬度大小。若該比較及一在步驟s4i9 或S435或S463中所確定之差異指示之結果指示一「樂觀情 形」,則可選擇一較小解碼匯流排寬度大小並相應地校正 錯誤。否則,選擇一較大解碼匯流排寬度大小可能更可 取0 此以圖形方式顯示於圖8中。在步驟S75〖中,根據該比參 較及/或差異指示之結果來選擇一解碼器匯流排寬度。在 步驟S755中,根據解碼器匯流排寬度之選定值來校正錯 誤。 對圖9之說明 於一些實施例中,步驟8419及/或8463之比較係原始資 料與第一讀取資料及/或快取讀取資料與第一主儲存讀取 資料之間的一「直接比較」。 另一選擇係或另外,步驟S419及/或S463之比較係一涉 及比較作業之該等輸人中之至少—者之—非識料指示函 數之「間接比較」。 貝料扣不函數」係一其結果指示並依賴於資料之函 數,其與(例如)一其結果係恆定或完全任意/隨機之函數形 成對比。-「非識別碼」函數係—不同於—識別碼函數之 函數(即,函數之結果不同於「函數之輸入」。 在-個實例中,明確地計算該等非識別碼指示函數中之 139476.doc -42- 201007748 -者或多者。另一選擇係,$需要明確地計算該等非識別 s 丁函數中之I或多者。在一個非限制性實例中,原 始:料j /或第-讀取資料及/或快取讀取資料及/或主儲存 區項取貧料之非識別碼指示函數可偶然駐存於記憶體。 現在參考圖9A。在圖9A之實例中,可在步驟㈣中藉 由下述方式來將第—讀取資料與原始資料相比較··⑴如同 在步驟S479中—樣實施-直接比較;及/或⑼實施一間接 比較。
該間接比較可包括以下直接比較中之任何一者: 0第-讀取資料與原始f料之—指示性非恒等函數之 間的一直接比較(即,一明確計算之函數或相反中 之任何一者); π)第一讀取資料之一指示性非恒等函數(即,一明確 計算之函數或相反中之任何一者)與原始資料之間 的一直接比較;及 iii)第一讀取資料之一指示性非恒等函數(即,一明確 計算之函數或相反中之任何一者)與原始資料之一 指示性非恒等函數(即,一明確計算之函數或相反 中之任何一者)之間的一直接比較。 在一個實例中,「原始資料之指示性非恒等函數」係藉 由明確地比較原始資料之函數而獲得。 如圖9B中所示,可在步驟S463中藉由以下方式來將第一 主储存讀取資料與快取讀取資料相比較:⑴如同在步驟 S489中一樣實施一直接比較;及/或(Η)實施一間接比較(例 139476.doc -43- 201007748 如,如同在步驟S491、S493中一樣)。 該間接比較可包括以下直接比較十之任何—者: Ο第一主儲存讀取資料與快取讀取資料之一 .恒等函數之間的-直接比較; ^性非 ⑴第一主儲存讀取資料之-指示性非恒等函數(即,一 明確計算之函數或相反中之任何一者)與快取讀 料之間的一直接比較;及 參 ill)第一主儲存讀取資料之一指示性非恒等函數(即,一 明確計算之函數或相反中之任何一者)與快取讀取資 料之一指示性非恒等函數(即,一明確計算之函數或 相反中之任何一者)之間的一直接比較。 對圓10之說明 圖10提供-用於校正錯誤之例示性常式之一流程圖。在 步驟S407中,編碼使用者資料以獲得原始資料。在一個非 限制性實例中’將「使用者資料」自主機31〇發送至周邊 快閃.器件26G*。在此實例中,根據「非系統化錯誤校正」 技術’周邊快閃器件26〇*在步驟S4〇7中將使用者資料編碼_ 至一其中不保存「使用者資料」之識別碼之碼字(在此實 例中,該「碼字」係在步驟S41丨中針對其作出一寫入至 . 「目標」記憶體(例如,快閃記憶體)之嘗試之原始資料) 中。 圖10之步驟S415類似於圖3之步驟S415。 在步驟S419’中,在第一讀取資料與使用者資料之間進 行一比較。該比較可係一直接比較或一間接比較。在一個 139476.doc •44- 201007748 非限制性實例中,「解碼」第—讀取資料並隨後將「所解 碼第一凟取資料」與使用者資料(其可係在步驟S411中寫 入之原始資料之一指示性非恒等函數)相比較。注意,步 驟S419僅係步驟S419之一特定案例(即,步驟s4i9,僅係一 .與參考圖3之步驟S419所述之原始資料與第一讀取資料之 間的比較相關聯之「間接比較」之一個實施形式)。 進步/主意,上文所述實施例中之任何一者可進一步包 籲 括在電腦可讀媒體上接收、發送或儲存實施上文結合各圖 式所述之作業之指令及/或資料。一般地說,一電腦可讀 媒體可包括諸如磁性或快閃或光學媒體之儲存媒體或記憶 媒體,例如磁碟或CD_R〇M、諸如RAM、R〇M等之揮發性 或非揮發性媒體、以及諸如經由一通信媒體(例如網路及/ 或無線鏈路)傳送之電、電磁或數位信號之傳輸媒體或信 號。 如此闡述上述例示性實施例之後,熟習此項技術者將易 Φ 知,可具有上述例示性實施例之各種等效、變更、修改及 改進形式,此並不背離下文所述之申請專利範圍之範疇及 • 主旨。特定而言,不同實施例可包括不同於本文中所述之 特徵組合。因此,申請專利範圍不僅限於上述說明。 【圖式簡單說明】 圖1A係一習用快閃記憶體儲存器件之一方塊圖; 圖1B係一與一主機器件連接之習用周邊快閃記憶體儲存 器件之一方塊圖; 圖1C係一包括一主儲存區域及一快取區域之習用快閃記 139476.doc -45- 201007748 憶體之一方塊圖; 圖2至圖8、圖10係根據一些實施例之錯誤校正技術之流 程圖;及 圖9A至圖9B圖解闡釋用於比較資料之不同常式。 【主要元件符號說明】 250 器件側介面 260 快閃記憶體儲存器件 260* 快閃記憶體儲存器件 270 快閃記憶體 270 快閃記憶體 272 快取區 274 主儲存區 280 快閃控制器 300 通信鏈路 310 主機器件 320 處理器 330 隨機存取記憶體 340 可執行碼 350 主機側介面 139476.doc • 46·

Claims (1)

  1. 201007748 七、申請專利範圍: 1· 一種用於處置錯誤校正之方法,該方法包含 a) 將原始資料寫入至一記憶體; b) 在该寫入之後,自該記憶體讀取,由此產生第一 讀取資料; c) 將該第一讀取資料與該原始資料相比較; d) 在该比較之後,自該記憶體讀取,由此產生第二 讀取資料;及 e) 根據步驟(c)之該比較之結果,在該第二讀取資料 中校正錯誤。 2·如請求項丨之方法,其中該記憶體係一揮發性記憶體。 3. 如請求項丨之方法,其中該記憶體係一非揮發性記憶 體0 4. 如請求項3之方法,其中該非揮發性記憶體係一快閃記 憶體。 5·如請求項1之方法,其中步驟⑷之該比較包括實施選自 由以下組成之群組之至少一個比較: 0該第一讀取資料與該原始資料之間的一直接比 較; H)該第一讀取資料與該原始資料之一指示性非恒等 函數之間的一直接比較; 次出)該第-讀取資料之-指示性非惶等函數與該原始 ^料之間的一直接比較;及 iv)遠第一讀取資料之—指示性非 •等函數與該原始 139476.doc 201007748 6. 7. 8. 9. 10. 資料之一指示性非恒等函數之間的一直接比較。 如請求項1之方法,其中回應於步驟&)之該寫入之一完 成進行步驟(b)之該讀取。 如請求項6之方法,以在步驟⑷之該寫入之該完成之 後即刻進行步驟(b)之該讀取。 如請求項1之方法,其中: 1}步驟⑷之該寫入係至該記憶體内之一目的地位 置;及 U)步驟(b)之該讀取及步驟(d)之該讀取中之至少一瘳 者係自該記憶體内之該目的地位置。 如。月求項1之方法,其進一步包含確定選自由以下組成 之群組之至少一個錯誤指示: 〇 該第一讀取資料中之一位元錯誤數量; u) 一含有錯誤資料之記憶體單元數量; )八中儲存有錯誤資料之一個或多個位元位置之一 列表; 1V)其中儲存有錯誤資料之一個或多個記憶體單元之® 一列表;及 Λ第凟取資料中之一特定位元或複數個位元係 — 錯誤的一機率之—值, I 據忒確疋之至少一個錯誤指示進行步驟(e)之該錯 誤校正。 如請求項1之方法,其中: )在步驟(a)中,將該原始資料寫入至該記憶體之一 139476.doc -2 - 201007748 主儲存區; n)步驟(b)之該讀取包括自該記憶體之該主儲存區讀 取以便從該主儲存區之内容產生該第一讀取資料;且 iu)該方法進一步包含: 在步驟(a)之該寫入之前,自不同於該記憶體之 該主儲存區之該記憶體之一快取區讀取以便獲得 ‘ 該原始資料。 n _如请求項1之方法,其中根據步驟(c)之該比較之該等結 果之該錯誤校正包括根據步驟(C)之該比較之該等結果來 選擇一解碼匯流排寬度大小。 12·如請求項I之方法,其中根據步驟(c)之該比較之該等結 果之β亥錯誤校正包括實施以下中之至少一者: 0根據步驟(C)之該比較之該等結果來選擇一第一解 瑀器及一第二解碼器尹之一者並僅使用該第—及第二解 瑪器中之該選擇之解碼器來校正錯誤;及 φ 1〇根據步驟(C)之該比較之該等結果來選擇一解碼器 之一第一模式及該解碼器之一第二模式中之—者且僅使 用該第-及第二模式,之該選擇之模式來校正錯誤。 13.如請求項1之方法,其中根據步驟(c)之該比較之該等結 果之該錯誤校正包括以下中之至少一者·· i)決定是否: A) 嘗試使用一較輕加權解碼器來校正錯誤或 B) 嘗試僅使用一重於該較輕加權解碼器之較重加 權解碼器來校正錯誤; 139476.d〇c 201007748 ϋ)決定是否: A)嘗試使用一較快解碼器來校正錯誤或 慢於該較快解二慢― iii) 決定是否: A) 嘗試使用一特定解碼器 卿之較輕加權模式來浐 正錯誤或 、來板 B) 嘗試僅使用該特定解碼器之—重於 模式之較重加權模式來校正錯誤;及…較加權 iv) 決定是否: 句嘗試使用一特定解碼器之一較快模式來校正錯 误或 曰 B)嘗試僅使㈣特定解碼器之―慢於該較快模式 之較慢模式來校正錯誤。 14. 如請求項1之方法,其中根據步驟⑷之該比較之該等結 果之邊第:資料中之該錯誤校正包括根據步驟⑷之該比 較之該等結果來確定該第二讀取資料之一個或多個位元 機率值。 15. —種用於處置錯誤校正之方法,該方法包含·· a) 將原始資料自一夺,廢# & 寸目D己隐體之一快取區複製至該記憶 體之一主儲存區; b) 在該複製之後,自該記憶體之該主儲存區讀取, 由此產生第一主儲存讀取資料; c) 在該複製之後’自該記憶體之該快取區讀取,由 139476.doc -4- 201007748 此產生快取讀取資料; d) 將該快取讀取資料與該第一主儲存讀取資料相比 較; e) 在該比較之後,自該記憶體之該主儲存區讀取, 由此產生第二主儲存讀取資料;及 f) 根據步驟(d)之該比較之結果,在該第二主儲存讀 取資料中校正錯誤。 16.如請求項15之方法,其中步驟⑷之該比較包括實施選自 由以下組成之群組之至少一個比較: 〇該第一主儲存讀取資料與該快取讀取資料之間的 一直接比較; ⑴該第一儲存區讀取資料與該快取讀取資料之一指 示性非恒等函數之間的一直接比較; 叫該第—主儲存讀取資料之-指示性非恒等函數盘 該快取讀取資料之間的-直接比較;及 ^ '讀取”存資料之-指示性非恒等函數盘 該快取讀取資料之—指示性非惶等函數之間的—直接^ 較。 17· 一種用於處置錯誤校正之方法,該方法包括 a) 將原始資料寫入至一記憶體; b) 在該寫入之後,ό 自”亥3己憶體讀取,由此產生第一 讀取資料; c) 根據該第一讀取資料, 貝竹確疋對該第一讀取資料與 该原始資料之間的一差異之一指示· 139476.doc 201007748 d) 在該差異指示之該確定之後,自該記憶體讀取, 由此產生第二讀取資料;及 e) 根據該差異指示,在該第二讀取資料中校正錯 誤0 139476.doc
TW098112510A 2008-06-22 2009-04-15 Method and apparatus for error correction TW201007748A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/143,796 US8321757B2 (en) 2008-06-22 2008-06-22 Method and apparatus for error correction

Publications (1)

Publication Number Publication Date
TW201007748A true TW201007748A (en) 2010-02-16

Family

ID=40823047

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098112510A TW201007748A (en) 2008-06-22 2009-04-15 Method and apparatus for error correction

Country Status (3)

Country Link
US (1) US8321757B2 (zh)
TW (1) TW201007748A (zh)
WO (1) WO2009156870A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI455142B (zh) * 2010-04-08 2014-10-01 Silicon Motion Inc 快閃記憶體之資料讀取的方法以及資料儲存裝置
CN112068778A (zh) * 2020-03-23 2020-12-11 杭州华澜微电子股份有限公司 用于保持从存储阵列中读取的数据的完整性的方法和设备

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
KR101139187B1 (ko) * 2009-12-28 2012-04-26 (주)인디링스 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법
WO2011092532A1 (en) 2010-01-28 2011-08-04 Sandisk Il Ltd. Sliding-window error correction
US8589726B2 (en) * 2011-09-01 2013-11-19 Infinidat Ltd. System and method for uncovering data errors
US20140068390A1 (en) * 2011-10-13 2014-03-06 Hyperstone Gmbh Hybrid decoding of bch codes for nonvolatile memories
CN102411548B (zh) * 2011-10-27 2014-09-10 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
KR101941270B1 (ko) * 2012-01-03 2019-04-10 삼성전자주식회사 멀티-레벨 메모리 장치를 제어하는 메모리 제어기 및 그것의 에러 정정 방법
KR102149668B1 (ko) * 2014-04-22 2020-08-31 삼성전자주식회사 비휘발성 메모리 장치의 데이터 디코딩 방법
KR102468751B1 (ko) * 2018-05-09 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10795767B2 (en) * 2018-12-26 2020-10-06 M31 Technology Corporation Error correcting system shared by multiple memory devices
KR102814656B1 (ko) * 2019-01-11 2025-05-30 에스케이하이닉스 주식회사 메모리 시스템에서의 휘발성 메모리 내 오류를 처리하는 방법 및 장치
US11593197B2 (en) 2020-12-23 2023-02-28 Samsung Electronics Co., Ltd. Storage device with data quality metric and selectable data recovery scheme
US20250110826A1 (en) * 2023-10-03 2025-04-03 Micron Technology, Inc. Valley search in read error recovery for a memory device using low-density parity check syndrome weight and auto-read calibration
US12517785B2 (en) * 2023-10-13 2026-01-06 SK Hynix Inc. Non-blocking chipkill recovery

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
TW506030B (en) * 2001-03-30 2002-10-11 Winbond Electronics Corp Testing method for nonvolatile memory
US6961890B2 (en) * 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
US6751766B2 (en) 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
US7210077B2 (en) * 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding
US8402325B2 (en) * 2004-08-02 2013-03-19 St-Ericsson Sa Data storage and replay apparatus
FR2896612B1 (fr) * 2006-01-20 2008-06-27 St Microelectronics Sa Dispositif de memoire non volatile a rafraichissement periodique et procede de programmation d'un tel dispositif
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US7506226B2 (en) * 2006-05-23 2009-03-17 Micron Technology, Inc. System and method for more efficiently using error correction codes to facilitate memory device testing
US8171380B2 (en) * 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI455142B (zh) * 2010-04-08 2014-10-01 Silicon Motion Inc 快閃記憶體之資料讀取的方法以及資料儲存裝置
CN112068778A (zh) * 2020-03-23 2020-12-11 杭州华澜微电子股份有限公司 用于保持从存储阵列中读取的数据的完整性的方法和设备
CN112068778B (zh) * 2020-03-23 2022-04-26 杭州华澜微电子股份有限公司 用于保持从存储阵列中读取的数据的完整性的方法和设备

Also Published As

Publication number Publication date
US20090319843A1 (en) 2009-12-24
WO2009156870A1 (en) 2009-12-30
US8321757B2 (en) 2012-11-27

Similar Documents

Publication Publication Date Title
TW201007748A (en) Method and apparatus for error correction
US10331345B2 (en) Method and apparatus for reducing silent data errors in non-volatile memory systems
CN107015886B (zh) 操作存储设备的方法和操作包括其的数据处理系统的方法
US9921914B2 (en) Redundant array of independent disks (RAID) write hole solutions
TW201001426A (en) Method and apparatus for error correction according to erase counts of a solid-state memory
CN108089951A (zh) 存储系统中的加速数据恢复
CN101427323A (zh) 读取非易失性计算机存储器的系统和方法
TW201239624A (en) Memory storage device, memory controller thereof, and method for programming data thereof
BR112014005623B1 (pt) Método de gravar escritas pendentes em um conjunto de armazenamento e meio de armazenamento legível por computador
CN101681281A (zh) 检测出现的坏块
US7783918B2 (en) Data protection method of storage device
TW201037710A (en) Method for detecting flash program failures
US10445252B2 (en) Storage device and operating method performed by the same
CN113113076B (zh) 解码方法及相关的闪存控制器与电子装置
TW201217968A (en) Data writing method, memory controller and memory storage apparatus
TW201135462A (en) Method of dynamically switching partitions, memory card controller and memory card storage system
CN111831581A (zh) 数据读取方法、装置及数据存储设备
TW201037716A (en) Data access method for a flash memory and storage system and controller thereof
CN110399097A (zh) 一种分布式存储系统数据一致性的检查方法以及装置
US9323610B2 (en) Non-blocking commands
KR102841012B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI273604B (en) Memory card and semiconductor device
CN115840661A (zh) 从hmb丢失恢复的无dram ssd
CN108389600A (zh) 数据储存装置以及参数改写方法
US8423865B2 (en) Apparatus and method for storing data using non-volatile buffer