TW201351425A - 用於解碼取決於干擾條件下之資料之系統與方法 - Google Patents

用於解碼取決於干擾條件下之資料之系統與方法 Download PDF

Info

Publication number
TW201351425A
TW201351425A TW102107694A TW102107694A TW201351425A TW 201351425 A TW201351425 A TW 201351425A TW 102107694 A TW102107694 A TW 102107694A TW 102107694 A TW102107694 A TW 102107694A TW 201351425 A TW201351425 A TW 201351425A
Authority
TW
Taiwan
Prior art keywords
adjacent
memory
word line
data
memory unit
Prior art date
Application number
TW102107694A
Other languages
English (en)
Inventor
Abreu Manuel Antonio D
Stephen Skala
Original Assignee
Sandisk Technologies Inc
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 Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW201351425A publication Critical patent/TW201351425A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Abstract

本發明揭示一種方法,該方法包含在包含一控制器及一記憶體之一資料儲存裝置中之一錯誤校正碼(ECC)硬位元解碼器處對資料起始一第一解碼操作。該方法進一步包含回應於該第一解碼操作指示不可藉由該第一解碼操作校正該資料,識別該資料之對應於一干擾條件測試型樣之一或多個位元;改變該資料之該一或多個識別位元之一值以產生修改資料;及使用該修改資料在該ECC硬位元解碼器處起始一第二解碼操作。

Description

用於解碼取決於干擾條件下之資料之系統與方法
本發明大體上係關於解碼取決於一干擾條件之資料。
諸如保持電力循環之間之資料之通用串列匯流排(USB)快閃記憶體裝置或可抽換式儲存卡之非揮發性記憶體裝置容許增加資料及軟體應用程式之可攜性。隨著進程實現更小實體尺寸的記憶體單元,諸如相鄰記憶體單元之電晶體之浮動閘極之間之耦合之物理效應變得更明顯。在某些境況下,一記憶體單元處之一讀取操作或一寫入操作可影響讀取自一鄰近記憶體單元之一電荷位準。當一字線中之錯誤數目超過一資料儲存裝置之一錯誤校正能力時,可損失儲存在該字線處之資料。
本發明揭示用於解碼儲存在一資料儲存裝置上之資料之系統及方法。可基於將讀取自一特定記憶體單元之一或多個資料位元識別為對應於一干擾條件測試型樣改變該一或多個資料位元。該干擾條件測試型樣可至少部分基於該特定記憶體單元之一或多個相鄰記憶體單元之一狀態。例如,可比較該等相鄰記憶體單元之狀態與對應於傾向於可由該等相鄰記憶體單元之一或多者之一讀取操作或一寫入操作所致之一干擾錯誤之特定記憶體單元之一或多個型樣。
100‧‧‧系統
102‧‧‧資料儲存裝置
104‧‧‧記憶體
106‧‧‧控制器
110‧‧‧第一資料
112‧‧‧第二資料
114‧‧‧第三資料
120‧‧‧干擾偵測器/硬位元更新器
122‧‧‧干擾條件測試型樣
124‧‧‧記憶體
126‧‧‧修改資料
128‧‧‧錯誤校正碼(ECC)硬位元解碼器
130‧‧‧主機裝置
150‧‧‧匯流排
200‧‧‧系統
201‧‧‧位元線
202‧‧‧字線
203‧‧‧位元線
204‧‧‧字線
205‧‧‧位元線
206‧‧‧字線
207‧‧‧位元線
209‧‧‧位元線
210‧‧‧型樣表
211‧‧‧位元線
212‧‧‧上部頁
213‧‧‧位元線
214‧‧‧中間頁
215‧‧‧位元線
216‧‧‧下部頁
220‧‧‧記憶體單元之第一群組
222‧‧‧記憶體單元
224‧‧‧記憶體單元
226‧‧‧記憶體單元
230‧‧‧記憶體單元之第二群組
232‧‧‧記憶體單元
234‧‧‧記憶體單元
236‧‧‧記憶體單元
240‧‧‧記憶體單元之第三群組
250‧‧‧相鄰記憶體單元
252‧‧‧記憶體單元
254‧‧‧相鄰記憶體單元之第一群組
256‧‧‧記憶體單元
258‧‧‧記憶體單元
260‧‧‧相鄰記憶體單元之第二群組
262‧‧‧記憶體單元
264‧‧‧記憶體單元
266‧‧‧記憶體單元
270‧‧‧相鄰記憶體單元之第三群組
272‧‧‧記憶體單元
274‧‧‧記憶體單元
276‧‧‧記憶體單元
280‧‧‧第一干擾條件測試型樣
282‧‧‧第二干擾條件測試型樣
284‧‧‧第三干擾條件測試型樣
圖1係用於解碼取決於一干擾條件之資料之一系統之一闡釋性實施例之一方塊圖;圖2係圖解說明圖1之系統之一記憶體及一控制器之額外細節之一圖;及圖3係圖解說明解碼取決於一干擾條件之資料之一方法之一實施例之一流程圖。
參考圖1,描繪用於解碼取決於一干擾條件之資料之一系統之一特定實施例且該系統整體以100標示。該系統100包含耦合至一主機裝置130之一資料儲存裝置102。該資料儲存裝置102包含經由一匯流排150耦合至一控制器106之一記憶體104。
該主機裝置130可經組態以提供待儲存於該記憶體104處之資料或請求待讀取自該記憶體104之資料。例如,該主機裝置130可包含一行動電話、一音樂播放器或視訊播放器、一遊戲主控台、一電子書閱讀器、一個人數位助理(PDA)、諸如一膝上型電腦、一筆記型電腦或一平板電腦之電腦、任何其他電子裝置或其等之任何組合。
該資料儲存裝置102可為一記憶體卡,諸如一Secure Digital SD®卡、一microSD®卡、一miniSD.TM卡(德拉瓦州,威明頓,SD-3C LLC商標)、一MultiMediaCard.TM(MMC.TM)卡(維吉尼亞州,阿靈頓,JEDEC固態技術協會之商標)或一CompactFlash®(CF)卡(加利福尼亞州,米爾皮塔斯,SanDisk公司的商標)。作為另一實例,該資料儲存裝置102可為該主機裝置103中之嵌入式記憶體,諸如如闡釋性實例之eMMC®(維吉尼亞州,阿靈頓,JEDEC固態技術協會之商標)及eSD記憶體。
該記憶體104可為一快閃裝置之一非揮發性記憶體,諸如一 NAND快閃裝置、一NOR快閃裝置或任何其他類型的快閃裝置。該記憶體104包含資料,諸如代表性第一資料(資料1)110、代表性第二資料(資料2)112及代表性第三資料(資料3)114。如關於圖2進一步詳細描述,該第一資料110可對應於儲存於該記憶體104中之一第一字線中之資料,該第二資料112可對應於儲存於該記憶體104中之一第二字線中之資料,且該第三資料114可對應於儲存於該記憶體104中之一第三字線中之資料。
該控制器106可經組態以自該主機裝置130接收記憶體存取請求且處理讀取自該記憶體104之資料。該控制器106包含一干擾偵測器/硬位元更新器120、一記憶體124及一錯誤校正碼(ECC)硬位元解碼器128。該記憶體124可為一隨機存取記憶體(RAM),諸如一ECC RAM。
該控制器106可經組態以將讀取自該記憶體104之資料提供給該ECC硬位元解碼器128。回應於一解碼失敗,該控制器106可經組態以在儲存資料之每一記憶體單元之一或多個相鄰記憶體單元處起始一讀取操作。該控制器106可基於與干擾機制(舉例而言,諸如程式干擾條件、讀取干擾條件、其他干擾條件或其等之任何組合)有關的已知相互關係判定讀取哪些相鄰記憶體單元。
例如,離線研究可判定某些記憶體單元之讀取與一組相關聯之其他記憶體單元之讀取之間的相互關係。或者或此外,可使用物理模型以判定某些記憶體單元之讀取與一組相關聯之其他記憶體單元之讀取之間的相互關係。可在該控制器106處記錄且儲存或編碼與特定記憶體單元處之程式干擾或讀取干擾相關的其他記憶體單元之位置。為圖解說明,離線研究或物理模型可指示與一特定記憶體單元共用一位元線且在特定記憶體單元之四個字線內之記憶體單元可充分耦合至該特定記憶體單元,使得一寫入操作可影響該特定記憶體單元之狀態。 該特定記憶體單元之狀態歸因於發生在另一記憶體單元處之一寫入操作而產生之此一干擾被稱為一「程式干擾」、「程式化干擾」及「程式化-時間干擾」。作為另一圖解,離線研究或物理模型可指示與一特定記憶體單元共用一位元線且在特定記憶體單元之四個字線內之記憶體單元可充分耦合至該特定記憶體單元,使得一讀取操作(或重複讀取操作)可影響該特定記憶體單元之狀態。該特定記憶體單元之狀態歸因於發生在另一記憶體單元處之一讀取操作而產生之此一干擾被稱為一「讀取干擾」、「讀取干擾」及「讀取-時間干擾」。
除潛在地將共用一相同位元線之記憶體單元識別為充分耦合至特定記憶體單元以導致一程式干擾或讀取干擾以外,作為另一闡釋性、非限制實例,離線研究或物理模型可指示共用特定記憶體單元之相同字線之兩個最接近記憶體單元或鄰近字線及位元線處之四個對角線鄰近記憶體單元或其等之任何組合可充分耦合至該特定記憶體單元以導致一程式干擾或一讀取干擾。經判定充分耦合至特定記憶體單元以在該特定記憶體單元處由於一資料寫入或讀取操作而潛在地導致一干擾條件之記憶體單元被稱為「相鄰記憶體單元」。雖然此等記憶體單元被稱為「相鄰記憶體單元」,但是其等無須實體鄰近於該特定記憶體單元且替代性地可在記憶體陣列104內之任何位置處。例如,一相鄰記憶體單元可在與該特定記憶體單元相同之區塊內之任何位置處。
該控制器106可經組態以在ECC硬位元解碼器128處對資料起始一第一解碼操作。例如,該記憶體124可經組態以儲存讀取自該記憶體104之資料。為圖解說明,該記憶體124可儲存讀取自該記憶體104之第一資料110。該第一資料110可對應於讀取自該記憶體104之一字線之一頁之資料,且可包含讀取自該記憶體104之該字線之該頁之一特定記憶體單元之一或多個資料位元。該ECC硬位元解碼器128可經組 態以對接收自該記憶體124之資料執行一解碼操作。例如,該ECC硬位元解碼器128可對接收自該記憶體124之第一資料110執行一第一解碼操作。
回應於第一解碼操作指示資料不可藉由第一解碼操作校正,該控制器106可經組態以起始該資料之對應於一干擾條件測試型樣122之一或多個位元之識別,起始改變該資料之該一或多個識別位元之一值以產生修改資料126,且使用該修改資料126在該ECC硬位元解碼器128處起始一第二解碼操作。
該ECC硬位元解碼器128可為一里德索羅門(Reed Solomon)ECC硬位元解碼器、一博斯-喬達利-奧昆岡(Bose-Chaudhuri-Hocquenghem)(BCH)ECC硬位元解碼器、一低密度同位檢查ECC硬位元解碼器、一或多個其他ECC硬位元解碼器或其等之任何組合。該ECC硬位元解碼器128可產生指示該第一資料110不可藉由該第一解碼操作校正之一指示,諸如一第一資料解碼失敗(「資料1解碼失敗」)指示。
該干擾偵測器/硬位元更新器120可經組態以應用該等干擾條件測試型樣122之一或多者以定位有可能取決於一干擾條件之位元。例如,回應於接收第一資料解碼失敗指示,該干擾偵測器/硬位元更新器120可經組態以識別該第一資料110對應於該干擾條件測試型樣122之一或多個位元。該干擾條件測試型樣122可儲存在該干擾偵測器/硬位元更新器120處且可包含一或多個干擾型樣。例如,該干擾條件測試型樣122可包含一或多個程式干擾型樣。或者或此外,該干擾條件測試型樣122可包含一或多個讀取干擾型樣。例如,如上所述,該干擾條件測試型樣122可表示已至少部分基於某些記憶體單元之讀取與一組相關聯之其他記憶體單元之讀取之間的相互關係而判定為對應於特定記憶體單元處之一干擾條件之相鄰記憶體單元之狀態值。
在識別該第一資料110對應於該干擾條件測試型樣122之一或多個位元之後,該干擾偵測器/硬位元更新器120可經組態以改變該第一資料110之該一或多個識別位元之一值以產生修改資料126。例如,可藉由該干擾偵測器/硬位元更新器120憑藉改變或「翻轉」該第一資料110之該一或多個識別位元而產生第一更新資料(「更新資料1」)。在改變或「翻轉」該第一資料110之該一或多個識別位元之後,可藉由該記憶體124接收該第一更新資料。該第一更新資料可覆寫該第一資料110以形成該修改資料126。或者,該第一更新資料可獨立於該第一資料110而儲存以形成該修改資料126。可使用該修改資料126在該ECC硬位元解碼器128處執行一第二解碼操作。
在該ECC硬位元解碼器128處之該第二解碼操作判定該修改資料126不可校正之情況下,該控制器106可經組態以讀取其他資料,諸如相鄰記憶體單元之狀態、該第二資料112、該第三資料114或其等之任何組合,且在一ECC解碼操作成功之前可產生額外的修改資料126。例如,若該第二解碼操作係基於相同頁中且鄰近於含有該一或多個識別位元之一特定記憶體單元之相鄰記憶體單元之狀態且該ECC硬位元解碼器128處之該第二解碼操作判定該修改資料126不可校正,則自其他相鄰記憶體單元至該特定記憶體單元之狀態之一後續讀取可使該控制器106能夠成功地解碼讀取自該記憶體104之資料。例如,可比較鄰近於該特定記憶體單元且在不同於該特定記憶體單元之頁中之相鄰記憶體單元之狀態與該干擾條件測試型樣122。作為另一實例,可比較在不同於含有該特定記憶體單元之字線之字線中之相鄰記憶體單元之狀態與該干擾條件測試型樣122。或者,該控制器106可對可嘗試之連續ECC解碼操作之次數強加限制。例如,該限制可與諸如ECC操作之一預定次數或一逾時之一ECC操作臨限值相關聯。
在操作期間,可在該控制器106處自主機裝置130接收一記憶體 讀取請求以自該記憶體104讀取資料,諸如自該記憶體104之一字線讀取資料(例如,該第一資料110)。可讀取來自該字線之一頁之資料且該資料可包含讀取自該記憶體104之該字線之該頁之一特定記憶體單元且藉由該控制器106提供給該ECC硬位元解碼器128之資料之一或多個位元。該ECC硬位元解碼器128可對該讀取第一資料110執行一第一解碼操作。回應於第一解碼操作指示該第一資料110不可藉由第一解碼操作校正,該干擾偵測器/硬位元更新器120可識別該第一資料110對應於該干擾條件測試型樣122之一或多個位元且可改變該第一資料110之該一或多個識別位元之一值以產生該修改資料126。可使用該修改資料126在該ECC硬位元解碼器128處執行一第二解碼操作。
藉由在執行一第一解碼操作之後將對應於一干擾條件測試型樣之位元識別為有可能錯誤,該控制器106可在一後續解碼操作中校正足夠數目個錯誤位元以使該控制器106能夠成功地解碼讀取自該記憶體104之資料。為圖解說明,在該第一解碼操作判定資料(例如,讀取自一字線之資料)不可校正時,可比較相鄰記憶體單元之狀態與該干擾條件測試型樣122且在該ECC硬位元解碼器128處之一解碼操作成功之前可基於該干擾條件測試型樣122產生該修改資料126。例如,該控制器106可經組態以比較一特定記憶體單元之狀態值及相鄰記憶體單元之狀態值與該干擾條件測試型樣122。基於該比較,該控制器106可經組態以將對應於該特定記憶體單元之資料之一位元錯誤識別為對應於該干擾條件測試型樣並藉由改變該特定記憶體單元中之資料之一或多個識別位元之一值而產生該修改資料126。或者,該控制器106可對可基於該修改資料126而嘗試之連續解碼操作之次數強加限制。例如,該限制可與諸如解碼操作之一預定次數或一逾時之一解碼操作臨限值相關聯。
參考圖2,描繪圖1之展示記憶體104及控制器106之額外細節之 系統之一特定闡釋性實施例且該系統整體以200標示。該系統200包含經由匯流排150耦合至該控制器106之記憶體104。
該記憶體104包含代表性字線202、204及206。該記憶體104亦包含代表性位元線201、203、205、207、209、211、213及215。代表性記憶體儲存元件或記憶體單元係描繪於字線與位元線之交叉處,諸如耦合至該位元線207之記憶體單元222、224及226、耦合至該位元線211之記憶體單元256、262及272、耦合至該位元線213之記憶體單元252、264及274、耦合至該位元線215之記憶體單元258、266及276及分別耦合至該位元線203、201及205之記憶體單元232、234及236。該記憶體104亦可包含對應於特定干擾條件測試型樣之記憶體單元群組。例如,記憶體單元之一第一群組220可對應於一第一干擾條件測試型樣,記憶體單元之一第二群組230可對應於一第二干擾條件測試型樣,且記憶體單元之一第三群組240可對應於一第三干擾條件測試型樣。
一記憶體單元群組可包含多個多位階記憶體單元(MLC)記憶體單元。每一記憶體單元可具有對應於該記憶體單元之一狀態(例如,對應於臨限電壓值之一特定範圍之一預定義狀態)之一臨限電壓。每一記憶體單元之狀態可對應於儲存於該記憶體單元處之資料。儲存於一記憶體單元處之資料可藉由比較臨限電壓與一或多個讀取臨限值而讀取。
每一記憶體單元可儲存每記憶體單元多個位元,諸如每記憶體單元3個位元。例如,儲存於每一記憶體單元處之資料可包含一上部頁212之一位元、一中間頁214之一位元及一下部頁216之一位元。為圖解說明,詳細展示字線202,其中記憶體單元234可包含具有儲存於該上部頁212中之一值「0」、儲存於該中間頁214中之一值「0」及儲存於該下部頁216中之一值「1」(對應於一值「001」)之資料。類似 地,該記憶體單元232可包含具有儲存於該上部頁212中之一值「1」、儲存於該中間頁214中之一值「1」及儲存於該下部頁216中之一值「0」(對應於一值「110」)之資料。
每一記憶體單元可程式化為多個預定義狀態之一者。例如,一3位元記憶體單元可具有一組可能狀態「Er(擦除)」、「A」、「B」、「C」、「D」、「E」、「F」及「G」。該等預定義狀態之各者可映射至一特定位元值。為圖解說明,該記憶體單元232可儲存對應於狀態「A」之一位元值「110」,且該記憶體單元234可儲存對應於狀態「G」之位元值「001」。對應於所判定MLC狀態之位元值被稱為「(若干)硬位元」。可用以指示一記憶體單元之讀取之可靠性之額外資訊被稱為「(若干)軟位元」。
該控制器106包含記憶體124及干擾偵測器/硬位元更新器120。該記憶體124可經組態以接收第一資料110及修改資料126。該干擾偵測器/硬位元更新器120包含一型樣表210。該型樣表210包含對應於記憶體單元之第一群組220之一第一干擾條件測試型樣280、對應於記憶體單元之第二群組230之一第二干擾條件測試型樣282及對應於記憶體單元之第三群組240之一第三干擾條件測試型樣284。該控制器106可經組態以自該型樣表210選擇該第一干擾條件測試型樣、該第二干擾條件測試型樣及該第三干擾條件測試型樣280至284之一或多者。雖然該型樣表210係圖解說明為在該控制器106內,但是在其他實施方案中,該型樣表210可代替性地在資料儲存裝置102之記憶體104內。
在操作期間,該控制器106可自圖1之主機裝置130接收一資料讀取請求,且可起始一讀取操作以自該記憶體104讀取資料。例如,該控制器106可自該主機裝置130接收一資料讀取請求以自該字線202讀取資料。為圖解說明,可讀取來自該字線202之中間頁214之資料且可藉由該控制器106將該資料提供給圖1之ECC硬位元解碼器128。該 ECC硬位元解碼器128可對讀取自該中間頁214之資料執行一第一解碼操作。回應於第一解碼操作指示讀取自該中間頁214之資料不可藉由第一解碼操作校正,可執行可包含該記憶體104之一第二讀取操作之一錯誤校正操作。例如,該第二讀取操作可包含讀取該中間頁214中一特定記憶體單元之相鄰記憶體單元之狀態,其中該特定記憶體單元被識別為有可能包含錯誤位元值。或者,該第二讀取操作可包含自鄰近於該特定記憶體單元且在與該特定記憶體單元相同之一字線中之一相鄰記憶體單元讀取軟位元。
藉由該第二讀取操作讀取之資料可藉由該控制器106提供給該ECC硬位元解碼器128。該ECC硬位元解碼器128可對藉由該第二讀取操作讀取之資料執行另一解碼操作。回應於另一解碼操作指示讀取自該第二讀取操作之資料不可藉由該另一解碼操作校正,該干擾偵測器/硬位元更新器120可識別讀取自該第二讀取操作之資料之對應於該等干擾條件測試型樣280至284之一者之一或多個位元,且可改變讀取自該第二讀取操作之該資料之該一或多個識別位元之一值以產生修改資料126。
例如,當該第二讀取操作包含讀取該中間頁214中一特定記憶體單元之相鄰記憶體單元之狀態時,該控制器106可起始一或多個相鄰記憶體單元之讀取,該一或多個相鄰記憶體單元之狀態值可與一干擾條件相關且可用於與該等干擾條件測試型樣280至284之一或多者進行比較。該等干擾條件測試型樣280至284之一或多者可至少部分基於鄰近於該記憶體之一第一記憶體單元之該記憶體之一第二記憶體單元之一狀態,其中該第一記憶體單元儲存識別位元之一或多者。例如,該控制器106可讀取共用與特定記憶體單元相同之位元線207之記憶體單元之狀態值、共用與特定記憶體單元相同之字線202之記憶體單元之狀態值或其等之任何組合。例如,該第一記憶體單元可耦合至一第一 位元線及一第一字線,且該第二記憶體單元可耦合至該第一位元線及一第二字線。
為圖解說明,若將特定記憶體單元識別為記憶體單元222,則該控制器106可讀取共用與特定記憶體單元222相同之位元線207之記憶體單元之狀態值,諸如在字線204與位元線207之交叉處之記憶體單元224之一第一狀態值(例如,狀態「G」)。因為源自程式化附近的記憶體單元之程式干擾效應最有可能發生在一較低電壓狀態中且源自讀取附近的記憶體單元之讀取干擾效應最有可能發生在一較高電壓狀態中,所以該記憶體單元224之第一狀態值(例如,「G」-一較高電壓狀態)可影響儲存於該記憶體單元222中之資料(例如,「A」-一較低電壓狀態)。
或者或此外,干擾條件測試型樣可至少部分基於一第三記憶體單元之一狀態,其中該第三記憶體單元鄰近於該第一記憶體單元,其中該第三記憶體單元係耦合至該第一位元線及一第三字線,且其中該第一字線係位於該第二字線與該第三字線之間。為圖解說明,除讀取該記憶體單元224之第一狀態值以外,該控制器106亦可讀取字線206與位元線207之交叉處之記憶體單元226之一狀態值(例如,狀態「G」)以判定讀取自該記憶體單元222之資料是否可能取決於一干擾條件。
該控制器106可經組態以比較該記憶體單元222之狀態值及該記憶體單元224之第一狀態值與該等干擾條件測試型樣280至284之一或多者,且基於該比較,該控制器106可經組態以將對應於該記憶體單元222之資料之一位元錯誤識別為對應於一干擾條件測試型樣。作為另一實例,該控制器106可經組態以執行比較該記憶體單元222之狀態值、該記憶體單元224之第一狀態值及該記憶體單元226之第二狀態值與該等干擾條件測試型樣280至284之一或多者之一第二比較。該控制 器106可經組態以基於該第二比較改變該一或多個識別位元之一值。
為圖解說明,當該控制器106執行該第二讀取操作且讀取該記憶體單元224之第一狀態值時,該控制器106亦可讀取該字線206與該位元線207之交叉處之記憶體單元226之一狀態值(例如,狀態「G」)。該記憶體單元224之第一狀態值(例如,「G」-一較高電壓狀態)及第二狀態值(例如,「G」-一較高電壓狀態)可影響儲存於該記憶體單元222中之資料(例如,「A」-一較低電壓狀態)。因此,歸因於與儲存於該記憶體單元222中之較低電壓狀態相比該一或多個鄰近的相鄰記憶體單元224及226之較高電壓狀態,錯誤資料儲存於該記憶體單元222中之一可能性可更大。若該一或多個識別位元(例如,對應於狀態「A」之一「011」值)對應於第一干擾條件測試型樣280(例如,分別對應於下部頁204、中間頁202及上部頁206中之狀態「GAG」之一干擾條件測試型樣),則可藉由改變識別位元之一或多者(例如,將對應於狀態「A」之「011」值改變為對應於狀態「Er」之「111」值)產生修改資料,且可使用修改資料在圖1之ECC硬位元解碼器128處執行一第二解碼操作。
作為另一實例,該第二讀取操作可包含自鄰近於特定記憶體單元且在與該特定記憶體單元相同之一字線中之一相鄰記憶體單元讀取軟位元。例如,若該特定記憶體單元被識別為記憶體單元232,則該控制器106可起始字線202中之一或多個相鄰記憶體單元之軟位元讀取,該一或多個相鄰記憶體單元之狀態值可與一干擾條件相關且可用於與該等干擾條件測試型樣280至284之一或多者進行比較。例如,該控制器106亦可讀取鄰近於該特定記憶體單元232且共用與該特定記憶體單元232相同之字線202之記憶體單元(諸如記憶體單元234及記憶體單元236)之軟位元。該記憶體單元232可介於記憶體單元234與另一記憶體單元236之間。
該控制器106可經組態以比較讀取自該等記憶體單元234、236之軟位元與該等干擾條件測試型樣280至284之一或多者,且基於該比較可改變一或多個識別位元之一值。例如,讀取自具有狀態「G」之記憶體單元234之軟位元及讀取自具有狀態「G」之記憶體單元236之軟位元可指示儲存於該記憶體單元232(例如,具有一狀態「A」-一較低電壓狀態)中之資料可受該等相鄰記憶體單元234、236影響。歸因於與儲存於該記憶體單元232中之較低電壓狀態相比該一或多個鄰近的相鄰記憶體單元234及236之較高電壓狀態,錯誤資料儲存於該記憶體單元232中之一可能性可更大。若該一或多個識別位元對應於一干擾條件測試型樣(諸如第二干擾條件測試型樣282),則可產生修改資料,且可使用修改資料在圖1之ECC硬位元解碼器128處執行一第二解碼操作。
作為另一實例,該干擾條件測試型樣可至少部分基於儲存識別位元之一或多者之一特定記憶體單元252之一或多個相鄰記憶體單元250之一狀態。該特定記憶體單元252可耦合至一特定位元線(例如,位元線213)及一特定字線(例如,字線202),且該一或多個相鄰記憶體單元250之一第一相鄰記憶體單元262可耦合至一第一相鄰位元線(例如,位元線211)及一第一相鄰字線(例如,字線204)。或者或此外,該一或多個相鄰記憶體單元250之一第二相鄰記憶體單元276可耦合至一第二相鄰位元線(例如,位元線215)及一第二相鄰字線(例如,字線206)。該特定字線202可位於該第一相鄰字線204與該第二相鄰字線206之間,且該特定位元線213可位於該第一相鄰位元線211與該第二相鄰位元線215之間。
該一或多個相鄰記憶體單元250之一第一群組254可包含第一複數個相鄰記憶體單元,諸如相鄰記憶體單元256及258。相鄰記憶體單元之第一群組254可耦合至特定字線202。該一或多個相鄰記憶體單元 250之一第二群組260可包含第二複數個相鄰記憶體單元(其等包含第一相鄰記憶體單元262),諸如相鄰記憶體單元262、264及266。該第二群組260可耦合至該第一相鄰字線204。該一或多個相鄰記憶體單元250之一第三群組270可包含第三複數個相鄰記憶體單元(其等包含第二相鄰記憶體單元276),諸如相鄰記憶體單元272、274及276。該第三群組270可耦合至該第二相鄰字線206。
該控制器106可經組態以比較該等相鄰記憶體單元250之一或多者之狀態值與該等干擾條件測試型樣280至284之一或多者,且基於該比較,該控制器106可經組態以改變一或多個識別位元之一值。為圖解說明,當該控制器106讀取儲存於該特定記憶體單元252中之資料(例如,對應於狀態值「A」之資料)時,該控制器106亦可讀取對應於該等相鄰記憶體單元250之一或多者之一狀態值之資料。例如,該控制器106可讀取儲存於記憶體單元256中之對應於狀態值「F」之資料、儲存於記憶體單元258中之對應於狀態值「G」之資料、儲存於記憶體單元262中之對應於狀態值「F」之資料、儲存於記憶體單元264中之對應於狀態值「F」之資料、儲存於記憶體單元266中之對應於狀態值「G」之資料、儲存於記憶體單元272中之對應於狀態值「G」之資料、儲存於記憶體單元274中之對應於狀態值「G」之資料及儲存於記憶體單元276中之對應於狀態值「F」之資料或其等之任何組合。
該等相鄰記憶體單元250可影響對應於儲存於該特定記憶體單元252中之狀態(例如,狀態「A」-一較低電壓狀態)之資料。例如,歸因於與儲存於該記憶體單元252中之較低電壓狀態相比該等相鄰記憶體單元250之一或多者之較高電壓狀態,錯誤資料儲存於該記憶體單元252中之一可能性可更大。例如,如圖解說明,因為該記憶體單元252係由記憶體單元256、258、262、264、266、272、274及276(例 如,分別具有狀態「F」、「G」、「F」、「F」、「G」、「G」、「G」、「F」-較高電壓值)包圍,所以該記憶體單元252有可能程式化為一最低電壓狀態(例如,狀態「Er」)且已經干擾而處於狀態「A」中。若該一或多個識別位元(例如,對應於狀態「A」之一「011」值)對應於干擾條件測試型樣(例如,對應於包圍該記憶體單元252之記憶體單元中之狀態「F」、「G」、「F」、「F」、「G」、「G」、「G」、「F」之一干擾條件測試型樣),則可藉由改變該等識別位元之一或多者(例如,將對應於狀態「A」之「011」值改變為對應於狀態「Er」之「111」值)產生修改資料,且可使用修改資料在圖1之ECC硬位元解碼器128處執行一第二解碼操作。
在另一實施方案中,該控制器106可自圖1之主機裝置130接收一資料讀取請求且可起始一讀取操作以自該記憶體104讀取資料。例如,該控制器106可自該主機裝置130接收一資料讀取請求以自字線202之中間頁214讀取資料,且來自一記憶體單元之資料以及一或多個相鄰記憶體單元之狀態可讀取自該記憶體104且藉由該控制器106提供給該ECC硬位元解碼器128。例如,當該資料讀取請求包含對儲存於記憶體單元222處之資料之一請求時,該控制器106亦可起始一或多個相鄰記憶體單元之讀取,該一或多個相鄰記憶體單元之狀態值可與一干擾條件相關且可用於與該等干擾條件測試型樣280至284之一或多者進行比較。例如,該控制器106亦可讀取共用與該記憶體單元222相同之位元線207之記憶體單元之狀態值、共用與該記憶體單元222相同之字線202之記憶體單元之狀態值或其等之任何組合。
該控制器106可在該ECC硬位元解碼器128處起始資料讀取(例如,包含讀取自該記憶體單元222之對應於狀態「A」之資料)之一第一解碼操作。回應於第一解碼操作指示讀取自中間頁214之資料不可校正,該控制器106可(例如,藉由自該記憶體讀取相鄰記憶體單元且 比較所讀取記憶體單元之狀態與一干擾條件測試型樣)識別該資料之對應於該干擾條件測試型樣之一或多個位元(例如,讀取自該記憶體單元222之一位元)。該干擾條件測試型樣可至少部分基於鄰近於該記憶體之一第一記憶體單元之該記憶體之一第二記憶體單元之一狀態,其中該第一記憶體單元儲存該等識別位元之一或多者。例如,該干擾條件測試型樣可表示已被判定為對應於該第一記憶體單元處之一干擾條件之相鄰記憶體單元之狀態值。該第一記憶體單元可耦合至一第一位元線及一第一字線,且該第二記憶體單元可耦合至該第一位元線及一第二字線。
為圖解說明,當該控制器106讀取儲存於該字線202與該位元線207之交叉處之記憶體單元222中之資料時,該控制器106亦可讀取共用與該記憶體單元222相同之位元線207之記憶體單元之狀態值,諸如該字線202與該位元線207之交叉處之記憶體單元224之一第一狀態值(例如,狀態「G」)。因為源自程式化附近的記憶體單元之程式干擾效應最有可能發生在一較低電壓狀態中且源自讀取附近的記憶體單元之讀取干擾效應最有可能發生在一較高電壓狀態中,所以該記憶體單元224之第一狀態值(例如,「G」-一較高電壓狀態)可影響儲存於該記憶體單元222中之資料(例如,「A」-一較低電壓狀態)。
或者或此外,干擾條件測試型樣可至少部分基於一第三記憶體單元之一狀態,其中該第三記憶體單元鄰近於該第一記憶體單元,其中該第三記憶體單元係耦合至該第一位元線及一第三字線,且其中該第一字線係位於該第二字線與該第三字線之間。為圖解說明,除讀取儲存於該記憶體單元222中之資料及該記憶體單元224之第一狀態值以外,該控制器106亦可讀取該字線206與該位元線207之交叉處之記憶體單元226之狀態值(例如,狀態「G」)以判定讀取自該記憶體單元222之資料是否可能取決於一干擾條件。
該控制器106可經組態以比較該記憶體單元222之狀態值及該記憶體單元224之第一狀態值與該等干擾條件測試型樣280至284之一或多者,且基於該比較,該控制器106可經組態以將對應於該記憶體單元222之資料之一位元錯誤識別為對應於一干擾條件測試型樣。作為另一實例,該控制器106可經組態以執行比較該記憶體單元222之狀態值、該記憶體單元224之第一狀態值及該記憶體單元226之第二狀態值與該等干擾條件測試型樣280至284之一或多者之一第二比較。該控制器106可經組態以基於該第二比較改變該一或多個識別位元之一值。
為圖解說明,當該控制器106讀取儲存於該記憶體單元222中之資料及該記憶體單元224之第一狀態值時,該控制器106亦可讀取該字線206與該位元線207之交叉處之記憶體單元226之一狀態值(例如,狀態「G」)。該記憶體單元224之第一狀態值(例如,「G」-一較高電壓狀態)及第二狀態值(例如,「G」-一較高電壓狀態)可影響儲存於該記憶體單元222中之資料(例如,「A」-一較低電壓狀態)。因此,歸因於與儲存於該記憶體單元222中之較低電壓狀態相比該一或多個鄰近的相鄰記憶體單元224及226之較高電壓狀態,錯誤資料儲存於該記憶體單元222中之一可能性可更大。若該一或多個識別位元(對應於狀態「A」之一「011」值)對應於干擾條件測試型樣(例如,分別對應於下部頁204、中間頁202及上部頁206中之狀態「GAG」之一干擾條件測試型樣),則可藉由改變識別位元之一或多者(例如,將對應於狀態「A」之「011」值改變為對應於狀態「Er」之「111」值)產生修改資料,且可使用修改資料在圖1之ECC硬位元解碼器128處執行一第二解碼操作。
作為另一實例,諸如記憶體單元232之一特定記憶體單元可儲存識別位元之一或多者,且干擾條件測試型樣可至少部分基於讀取自鄰近於該特定記憶體單元232且在與該特定記憶體單元232相同之字線 202中之記憶體單元234之軟位元及讀取自鄰近於該特定記憶體單元232且在與該特定記憶體單元232相同之字線202中之另一記憶體單元236之軟位元。該特定記憶體單元232可介於該記憶體單元234與該另一記憶體單元236之間。
例如,當資料讀取請求請求儲存於該特定記憶體單元232處之資料時,該控制器106亦可起始該字線202中之一或多個相鄰記憶體單元之軟位元讀取,該一或多個相鄰記憶體單元之狀態值可與一干擾條件相關且可用於與該等干擾條件測試型樣280至284之一或多者進行比較。例如,該控制器106亦可讀取鄰近於該特定記憶體單元232且共用與該特定記憶體單元232相同之字線202之記憶體單元(諸如記憶體單元234及記憶體單元236)之軟位元。
該控制器106可經組態以比較讀取自該等記憶體單元234、236之軟位元與該等干擾條件測試型樣280至284之一或多者,且基於該比較可改變一或多個識別位元之一值。例如,讀取自具有狀態「G」之記憶體單元234之軟位元及讀取自具有狀態「G」之記憶體單元236之軟位元可指示儲存於該記憶體單元232(例如,具有一狀態「A」-一較低電壓狀態)中之資料可受該等相鄰記憶體單元234、236影響。歸因於與儲存於該記憶體單元232中之較低電壓狀態相比該一或多個鄰近的相鄰記憶體單元234及236之較高電壓狀態,錯誤資料儲存於該記憶體單元232中之一可能性可更大。若該一或多個識別位元對應於一干擾條件測試型樣(諸如第二干擾條件測試型樣282),則可產生修改資料,且可使用修改資料在圖1之ECC硬位元解碼器128處執行一第二解碼操作。
作為另一實例,該干擾條件測試型樣可至少部分基於儲存識別位元之一或多者之一特定記憶體單元252之一或多個相鄰記憶體單元250之一狀態。該特定記憶體單元252可耦合至一特定位元線(例如, 位元線213)及一特定字線(例如,字線202),且該一或多個相鄰記憶體單元250之一第一相鄰記憶體單元262可耦合至一第一相鄰位元線(例如,位元線211)及一第一相鄰字線(例如,字線204)。或者或此外,該一或多個相鄰記憶體單元250之一第二相鄰記憶體單元276可耦合至一第二相鄰位元線(例如,位元線215)及一第二相鄰字線(例如,字線206)。該特定字線202可位於該第一相鄰字線204與該第二相鄰字線206之間,且該特定位元線213可位於該第一相鄰位元線211與該第二相鄰位元線215之間。
該一或多個相鄰記憶體單元250之一第一群組254可包含第一複數個相鄰記憶體單元,諸如相鄰記憶體單元256及258。相鄰記憶體單元之第一群組254可耦合至該特定字線202。該一或多個相鄰記憶體單元250之一第二群組260可包含第二複數個相鄰記憶體單元(其等包含第一相鄰記憶體單元262),諸如相鄰記憶體單元262、264及266。該第二群組260可耦合至該第一相鄰字線204。該一或多個相鄰記憶體單元250之一第三群組270可包含第三複數個相鄰記憶體單元(其等包含第二相鄰記憶體單元276),諸如相鄰記憶體單元272、274及276。該第三群組270可耦合至該第二相鄰字線206。
該控制器106可經組態以比較該等相鄰記憶體單元250之一或多者之狀態值與該等干擾條件測試型樣280至284之一或多者,且基於該比較,該控制器106可經組態以改變一或多個識別位元之一值。為圖解說明,當該控制器106讀取儲存於該特定記憶體單元252中之資料時,該控制器106亦可讀取該等相鄰記憶體單元250之一或多者之一狀態值。例如,該控制器106可讀取儲存於記憶體單元256中之對應於狀態值「F」之資料、儲存於記憶體單元258中之對應於狀態值「G」之資料、儲存於記憶體單元262中之對應於狀態值「F」之資料、儲存於記憶體單元264中之對應於狀態值「F」之資料、儲存於記憶體單元 266中之對應於狀態值「G」之資料、儲存於記憶體單元272中之對應於狀態值「G」之資料、儲存於記憶體單元274中之對應於狀態值「G」之資料及儲存於記憶體單元276中之對應於狀態值「F」之資料或其等之任何組合。
該等相鄰記憶體單元250可影響對應於儲存於該特定記憶體單元252中之狀態(例如,狀態「A」-一較低電壓狀態)之資料。因此,歸因於與儲存於該記憶體單元252中之較低電壓狀態相比該等相鄰記憶體單元250之一或多者之較高電壓狀態,錯誤資料儲存於該記憶體單元252中之一可能性可更大。若一或多個識別位元對應於干擾條件測試型樣,則可產生修改資料,且可使用修改資料在圖1之ECC硬位元解碼器128處執行一第二解碼操作。
藉由在執行一第一解碼操作之後將對應於一干擾條件測試型樣之位元識別為有可能錯誤,該控制器106可在一後續解碼操作中校正足夠數目個錯誤位元以使該控制器106能夠成功地解碼讀取自該記憶體104之資料。例如,如圖解說明,因為該記憶體單元252(例如,具有一狀態「A」-一較低電壓狀態)係由記憶體單元256、258、262、264、266、272、274及276(例如,分別具有狀態「F」、「G」、「F」、「F」、「G」、「G」、「G」、「F」-較高電壓值)包圍,所以該記憶體單元252有可能程式化為一最低電壓狀態(例如,狀態「Er」)且已經干擾而處於狀態「A」中。為圖解說明,若狀態「Er」對應於一位元值「111」,則一Er→A轉變在下部頁216中而非在中間頁214或上部頁212中導致一錯誤。若字線202之下部頁216具有一解碼失敗,則可針對改變或翻轉而識別來自該記憶體單元252之一位元。然而,若字線202之上部頁212或中間頁214具有一ECC失敗,則不一定將來自該記憶體單元252之位元識別為有可能取決於一干擾條件且可針對改變或翻轉而識別來自該字線202中之另一記憶體單元之一位元。
圖3係解碼取決於一干擾條件之資料之一方法300之一特定實施例之一流程圖。該方法300可藉由圖1之資料儲存裝置102執行。
在302處,在包含一控制器及一記憶體之一資料儲存裝置中之一錯誤校正碼(ECC)硬位元解碼器處對資料起始一第一解碼操作。例如,該控制器106可自記憶體104讀取第一資料110且將該第一資料110提供給ECC硬位元解碼器128。該ECC硬位元解碼器128可對該第一資料110執行一第一解碼操作。
在304處,回應於該第一解碼操作指示資料不可藉由該第一解碼操作校正,可識別該資料之對應於一干擾條件測試型樣之一或多個位元,可改變該資料之該一或多個識別位元之一值以產生修改資料,且可使用修改資料在該ECC硬位元解碼器處起始一第二解碼操作。例如,若該第一解碼操作判定該第一資料110不可校正,則可比較相鄰記憶體單元之狀態與干擾條件測試型樣122且可基於該干擾條件測試型樣122產生修改資料126。例如,該控制器106可經組態以比較一特定記憶體單元之狀態值及相鄰記憶體單元之狀態值與該干擾條件測試型樣122。基於該比較,該控制器106可經組態以將對應於該特定記憶體單元之資料之一位元錯誤識別為對應於該干擾條件測試型樣並藉由改變該特定記憶體單元中之資料之一或多個識別位元之一值產生該修改資料126。
為圖解說明,干擾偵測器/硬位元更新器120可識別第一資料110對應於該干擾條件測試型樣122之一或多個位元,且可改變該第一資料110之該一或多個識別位元之一值以產生該修改資料126。可使用該修改資料126在該ECC硬位元解碼器128處執行第二解碼操作。
干擾條件測試型樣可基於一讀取干擾條件或一程式干擾條件。可根據經驗判定干擾條件測試型樣以指示干擾條件或可使用物理模型而判定。例如,圖2之干擾條件測試型樣280至284可分別對應於圖2之 記憶體單元之第一群組220、記憶體單元之第二群組230或記憶體單元之第三群組240,且可藉由該控制器106自該型樣表210選擇。
例如,記憶體單元222可儲存識別位元之一或多者,且第一干擾條件測試型樣280可至少部分基於記憶體單元224之一狀態。或者或此外,該第一干擾條件測試型樣280可至少部分基於記憶體單元226之一狀態。
作為另一實例,特定記憶體單元232可儲存識別位元之一或多者,且第二干擾條件測試型樣282可至少部分基於讀取自記憶體單元234之軟位元及讀取自另一記憶體單元236之軟位元。
作為另一實例,特定記憶體單元252可儲存識別位元之一或多者,且第三干擾條件測試型樣284可至少部分基於該特定記憶體單元252之相鄰記憶體單元250之一或多者之一狀態。
在執行一第一解碼操作之後將對應於一干擾條件測試型樣之位元識別為有可能錯誤可使控制器106能夠在一後續解碼操作中校正足夠數目個錯誤位元並能夠成功地解碼讀取自記憶體104之資料。
雖然本文描繪之各種組件被圖解說明為區塊組件且以一般術語加以描述,但是此等組件可包含一或多個微處理器、狀態機或經組態以使一資料儲存裝置(諸如圖1之資料儲存裝置102)能夠執行屬於此等組件之特定功能之其他電路或其等之任何組合。例如,圖1及圖2之控制器106可表示實體組件,諸如控制器、處理器、狀態機、邏輯電路或指示干擾偵測器/硬位元更新器120識別資料之對應於干擾條件測試型樣之一或多個位元並藉由改變該資料之一或多個識別位元之值產生修改資料之其他結構。
該控制器106可使用經程式化以產生控制資訊並指示干擾偵測器/硬位元更新器120之一微處理器或微控制器加以實施。在一特定實施例中,該控制器106包含執行儲存於記憶體104處之指令之一處理器。 或者或此外,藉由該處理器執行之可執行指令可儲存於並非該非揮發性記憶體104之部分之一單獨記憶體位置處,諸如儲存於一唯讀記憶體(ROM)處。
在一特定實施例中,資料儲存裝置102可為經組態以選擇性地耦合至一或多個外部裝置之一可攜式裝置。例如,該資料儲存裝置102可為一可抽換式裝置,諸如一通用串列匯流排(USB)快閃隨身碟或可抽換式記憶體卡。然而,在其他實施例中,該資料儲存裝置102可附接或嵌入於一或多個主機裝置內,諸如一可攜式通信裝置之一外殼內。例如,該資料儲存裝置102可在一封裝設備(諸如一無線電話、一個人數位助理(PDA)、一遊戲裝置或主控台、一可攜式導航裝置、一電腦或使用內部非揮發性記憶體之其他裝置)內。在一特定實施例中,該資料儲存裝置102包含一非揮發性記憶體,諸如一快閃記憶體(例如,NAND、NOR、多位階記憶體單元(MLC)、分割位元線NOR(DINOR)、AND、高電容耦合率(HiCR)、不對稱非接觸式電晶體(ACT)或其他快閃記憶體)、一可擦除可程式化唯讀記憶體(EPROM)、一電可擦除可程式化唯讀記憶體(EEPROM)、一唯讀記憶體(ROM)、一次性可程式化記憶體(OTP)或任何其他類型的記憶體。
本文描述之實施例之圖解旨在提供對各種實施例之一般理解。可利用其他實施例且可自本發明導出其他實施例,使得可在不脫離本發明之範疇之情況下作出結構及邏輯替代及改變。本發明旨在涵蓋各種實施例之任何及所有後續調適或變動。
上文揭示之標的被視為闡釋性且並非限制性,且隨附申請專利範圍旨在涵蓋屬於本發明之範疇內之所有此等修改、增強及其他實施例。因此,在法律容許之最大程度內,應藉由下列申請專利範圍及其等效物之最廣可允許解釋判定本發明之範疇,且該範疇不應受前述實施方式約束或限制。
100‧‧‧系統
102‧‧‧資料儲存裝置
104‧‧‧記憶體
106‧‧‧控制器
110‧‧‧第一資料
112‧‧‧第二資料
114‧‧‧第三資料
120‧‧‧干擾偵測器/硬位元更新器
122‧‧‧干擾條件測試型樣
124‧‧‧記憶體
126‧‧‧修改資料
128‧‧‧錯誤校正碼(ECC)硬位元解碼器
130‧‧‧主機裝置
150‧‧‧匯流排

Claims (28)

  1. 一種方法,其包括:在包含一控制器及一記憶體之一資料儲存裝置中藉由該控制器執行以下各者:在一錯誤校正碼(ECC)硬位元解碼器處對資料起始一第一解碼操作;及回應於該第一解碼操作指示該資料不可藉由該第一解碼操作校正:識別該資料之對應於一干擾條件測試型樣之一或多個位元;改變該資料之該一或多個識別位元之一值以產生修改資料;及使用該修改資料在該ECC硬位元解碼器處起始一第二解碼操作。
  2. 如請求項1之方法,其中該干擾條件測試型樣係至少部分基於鄰近於該記憶體之一第一記憶體單元之該記憶體之一第二記憶體單元之一狀態,其中該第一記憶體單元儲存該等識別位元之一或多者。
  3. 如請求項2之方法,其中該第一記憶體單元係耦合至一第一位元線及一第一字線,且其中該第二記憶體單元係耦合至該第一位元線及一第二字線。
  4. 如請求項3之方法,其中該干擾條件測試型樣係至少部分基於一第三記憶體單元之一狀態,其中該第三記憶體單元鄰近於該第一記憶體單元,其中該第三記憶體單元係耦合至該第一位元線及一第三字線,且其中該第一字線係位於該第二字線與該第三 字線之間。
  5. 如請求項1之方法,其中一特定記憶體單元儲存該等識別位元之一或多者,且其中該干擾條件測試型樣係至少部分基於讀取自鄰近於該特定記憶體單元且在與該特定記憶體單元相同之一字線中之一記憶體單元之軟位元及讀取自鄰近於該特定記憶體單元且在與該特定記憶體單元相同之該字線中之另一記憶體單元之軟位元,其中該特定記憶體單元係介於該記憶體單元與該另一記憶體單元之間。
  6. 如請求項1之方法,其中該干擾條件測試型樣係至少部分基於儲存該等識別位元之該一或多者之一特定記憶體單元之一或多個相鄰記憶體單元之一狀態。
  7. 如請求項6之方法,其中該特定記憶體單元係耦合至一特定位元線及一特定字線,且其中該一或多個相鄰記憶體單元之一第一相鄰記憶體單元係耦合至一第一相鄰位元線及一第一相鄰字線。
  8. 如請求項7之方法,其中該一或多個相鄰記憶體單元之一第二相鄰記憶體單元係耦合至一第二相鄰位元線及一第二相鄰字線,其中該特定字線係位於該第一相鄰字線與該第二相鄰字線之間,且其中該特定位元線係位於該第一相鄰位元線與該第二相鄰位元線之間。
  9. 如請求項8之方法,其中該一或多個相鄰記憶體單元之一第一群組包含第一複數個相鄰記憶體單元,其中該第一群組係耦合至該特定字線,其中該一或多個相鄰記憶體單元之一第二群組包含包含該第一相鄰記憶體單元之第二複數個相鄰記憶體單元,其中該第二群組係耦合至該第一相鄰字線,且其中該一或多個相鄰記憶體單元之一第三群組包含包含該第二相鄰記憶體單元 之第三複數個相鄰記憶體單元,其中該第三群組係耦合至該第二相鄰字線。
  10. 如請求項1之方法,其中該干擾條件測試型樣係基於一讀取干擾條件。
  11. 如請求項1之方法,其中該干擾條件測試型樣係基於一程式干擾條件。
  12. 如請求項1之方法,其中該記憶體係一快閃記憶體。
  13. 如請求項12之方法,其中該快閃記憶體包含多位階記憶體單元。
  14. 一種資料儲存裝置,其包括:一記憶體;及一控制器,其經組態以:自該記憶體擷取資料;在一錯誤校正碼(ECC)硬位元解碼器處對該資料起始一第一解碼操作;及回應於該第一解碼操作指示該資料不可藉由該第一解碼操作校正:起始該資料之對應於一干擾條件測試型樣之一或多個位元之識別;起始改變該資料之該一或多個識別位元之一值以產生修改資料;及使用該修改資料在該ECC硬位元解碼器處起始一第二解碼操作。
  15. 如請求項14之資料儲存裝置,其中該控制器包含一干擾偵測器/硬位元更新器,該干擾偵測器/硬位元更新器經組態以:識別該資料之對應於該干擾條件測試型樣之該一或多個位 元;及藉由改變該資料之該一或多個識別位元之該值而產生該修改資料。
  16. 如請求項15之資料儲存裝置,其中該控制器經進一步組態以自一表選擇該干擾條件測試型樣。
  17. 如請求項16之資料儲存裝置,其中該表係在該資料儲存裝置之該控制器中。
  18. 如請求項16之資料儲存裝置,其中該表係在該資料儲存裝置之該記憶體中。
  19. 如請求項14之資料儲存裝置,其中該干擾條件測試型樣係至少部分基於鄰近於該記憶體之一第一記憶體單元之該記憶體之一第二記憶體單元之一狀態,其中該第一記憶體單元儲存該等識別位元之一或多者。
  20. 如請求項19之資料儲存裝置,其中該第一記憶體單元係耦合至一第一位元線及一第一字線,且其中該第二記憶體單元係耦合至該第一位元線及一第二字線。
  21. 如請求項20之資料儲存裝置,其中該干擾條件測試型樣係至少部分基於一第三記憶體單元之一狀態,其中該第三記憶體單元鄰近於該第一記憶體單元,其中該第三記憶體單元係耦合至該第一位元線及一第三字線,且其中該第一字線係位於該第二字線與該第三字線之間。
  22. 如請求項14之資料儲存裝置,其中一特定記憶體單元儲存該等識別位元之一或多者,且其中該干擾條件測試型樣係至少部分基於讀取自鄰近於該特定記憶體單元且在與該特定記憶體單元相同之一字線中之一記憶體單元之軟位元及讀取自鄰近於該特定記憶體單元且在與該特定記憶體單元相同之該字線中之另一 記憶體單元之軟位元,其中該特定記憶體單元係介於該記憶體單元與該另一記憶體單元之間。
  23. 如請求項14之資料儲存裝置,其中該干擾條件測試型樣係至少部分基於儲存該等識別位元之一或多者之一特定記憶體單元之一或多個相鄰記憶體單元之一狀態。
  24. 如請求項23之資料儲存裝置,其中該特定記憶體單元係耦合至一特定位元線及一特定字線,且其中該一或多個相鄰記憶體單元之一第一相鄰記憶體單元係耦合至一第一相鄰位元線及一第一相鄰字線。
  25. 如請求項24之資料儲存裝置,其中該一或多個相鄰記憶體單元之一第二相鄰記憶體單元係耦合至一第二相鄰位元線及一第二相鄰字線,其中該特定字線係位於該第一相鄰字線與該第二相鄰字線之間,且其中該特定位元線係位於該第一相鄰位元線與該第二相鄰位元線之間。
  26. 如請求項25之資料儲存裝置,其中該一或多個相鄰記憶體單元之一第一群組包含第一複數個相鄰記憶體單元,其中該第一群組係耦合至該特定字線,其中該一或多個相鄰記憶體單元之一第二群組包含包含該第一相鄰記憶體單元之第二複數個相鄰記憶體單元,其中該第二群組係耦合至該第一相鄰字線,且其中該一或多個相鄰記憶體單元之一第三群組包含包含該第二相鄰記憶體單元之第三複數個相鄰記憶體單元,其中該第三群組係耦合至該第二相鄰字線。
  27. 如請求項14之資料儲存裝置,其中該干擾條件測試型樣係基於一讀取干擾條件。
  28. 如請求項14之資料儲存裝置,其中該干擾條件測試型樣係基於一程式干擾條件。
TW102107694A 2012-03-09 2013-03-05 用於解碼取決於干擾條件下之資料之系統與方法 TW201351425A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/416,138 US9362003B2 (en) 2012-03-09 2012-03-09 System and method to decode data subject to a disturb condition

Publications (1)

Publication Number Publication Date
TW201351425A true TW201351425A (zh) 2013-12-16

Family

ID=47901365

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102107694A TW201351425A (zh) 2012-03-09 2013-03-05 用於解碼取決於干擾條件下之資料之系統與方法

Country Status (3)

Country Link
US (1) US9362003B2 (zh)
TW (1) TW201351425A (zh)
WO (1) WO2013134042A1 (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782487B2 (en) * 2012-04-18 2014-07-15 Lsi Corporation Systems and methods for locating and correcting decoder mis-corrections
US8782488B2 (en) * 2012-04-20 2014-07-15 Lsi Corporation Systems and methods for back step data decoding
US9477585B2 (en) * 2012-11-09 2016-10-25 Coherent Logix, Incorporated Real time analysis and control for a multiprocessor system
KR20150006616A (ko) * 2013-07-09 2015-01-19 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작 방법
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9817749B2 (en) 2013-12-04 2017-11-14 Sandisk Technologies Llc Apparatus and method of offloading processing from a data storage device to a host device
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
RU2014119848A (ru) * 2014-05-19 2015-11-27 ЭлЭсАй Корпорейшн Способ декодирования на основе рандомизированных жестких решений и устройство для его осуществления (варианты )
KR102215741B1 (ko) 2014-06-23 2021-02-17 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
US10089177B2 (en) 2014-06-30 2018-10-02 Sandisk Technologies Llc Multi-stage decoder
US9614547B2 (en) 2014-06-30 2017-04-04 Sandisk Technologies Llc Multi-stage decoder
US9583183B2 (en) 2014-09-26 2017-02-28 Sandisk Technologies Llc Reading resistive random access memory based on leakage current
US20160378591A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Adaptive error correction in memory devices
KR20170075065A (ko) * 2015-12-22 2017-07-03 에스케이하이닉스 주식회사 메모리 시스템 동작 방법
TWI588834B (zh) * 2016-02-23 2017-06-21 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
KR20170130683A (ko) 2016-05-18 2017-11-29 에스케이하이닉스 주식회사 반도체장치
KR102504176B1 (ko) 2016-06-23 2023-03-02 에스케이하이닉스 주식회사 반도체장치
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US11294580B2 (en) 2017-12-22 2022-04-05 Samsung Electronics Co., Ltd. Nonvolatile memory device
KR102469539B1 (ko) * 2017-12-22 2022-11-22 삼성전자주식회사 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 저장 장치
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
KR20200071916A (ko) * 2018-12-11 2020-06-22 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US10860420B2 (en) * 2019-02-05 2020-12-08 Alibaba Group Holding Limited Method and system for mitigating read disturb impact on persistent memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11044044B2 (en) 2019-07-16 2021-06-22 Microsoft Technology Licensing, Llc Peak to average power ratio reduction of optical systems utilizing error correction
US11075656B2 (en) 2019-07-16 2021-07-27 Microsoft Technology Licensing, Llc Bit error reduction of communication systems using error correction
US10911284B1 (en) 2019-07-16 2021-02-02 Microsoft Technology Licensing, Llc Intelligent optimization of communication systems utilizing error correction
US11031961B2 (en) 2019-07-16 2021-06-08 Microsoft Technology Licensing, Llc Smart symbol changes for optimization of communications using error correction
US11086719B2 (en) * 2019-07-16 2021-08-10 Microsoft Technology Licensing, Llc Use of error correction codes to prevent errors in neighboring storage
US11172455B2 (en) 2019-07-16 2021-11-09 Microsoft Technology Licensing, Llc Peak to average power output reduction of RF systems utilizing error correction
US11063696B2 (en) 2019-07-16 2021-07-13 Microsoft Technology Licensing, Llc Increasing average power levels to reduce peak-to-average power levels using error correction codes
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US10911141B1 (en) 2019-07-30 2021-02-02 Microsoft Technology Licensing, Llc Dynamically selecting a channel model for optical communications
US11093322B1 (en) * 2019-08-27 2021-08-17 Facebook, Inc. Memory error recovery using shared structural element error correlations
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11467737B2 (en) * 2020-12-04 2022-10-11 Micron Technology, Inc. Reducing probabilistic data integrity scan collisions
US11409599B2 (en) 2020-12-04 2022-08-09 Micron Technology, Inc. Managing probabilistic data integrity scans in workloads with localized read patterns
US11609857B2 (en) 2020-12-04 2023-03-21 Micron Technology, Inc. Identification and caching of frequent read disturb aggressors
US11699498B2 (en) 2020-12-04 2023-07-11 Micron Technology, Inc. Managing probabilistic data integrity scan intervals
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11656936B2 (en) * 2021-09-07 2023-05-23 Micron Technology, Inc. Managing write disturb for units of memory in a memory sub-system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405342B1 (en) * 1999-09-10 2002-06-11 Western Digital Technologies, Inc. Disk drive employing a multiple-input sequence detector responsive to reliability metrics to improve a retry operation
US6694477B1 (en) * 2000-09-28 2004-02-17 Western Digital Technologies, Inc. Communication channel employing an ECC decoder enhanced by likely error events of a trellis sequence detector
US6879530B2 (en) 2002-07-18 2005-04-12 Micron Technology, Inc. Apparatus for dynamically repairing a semiconductor memory
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7966518B2 (en) 2007-05-15 2011-06-21 Sandisk Corporation Method for repairing a neighborhood of rows in a memory array using a patch table
US8117519B2 (en) * 2008-01-15 2012-02-14 Micron Technology, Inc. Memory apparatus and method using erasure error correction to reduce power consumption
US7934130B2 (en) 2008-08-29 2011-04-26 Cadence Design Systems, Inc. System and method for managing non-volatile memory based on health
US7995387B2 (en) * 2009-01-30 2011-08-09 Sandisk Il Ltd. System and method to read data subject to a disturb condition
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8429468B2 (en) 2010-01-27 2013-04-23 Sandisk Technologies Inc. System and method to correct data errors using a stored count of bit values

Also Published As

Publication number Publication date
WO2013134042A1 (en) 2013-09-12
US20130238955A1 (en) 2013-09-12
US9362003B2 (en) 2016-06-07

Similar Documents

Publication Publication Date Title
US9362003B2 (en) System and method to decode data subject to a disturb condition
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
US8811081B2 (en) Systems and methods of updating read voltages in a memory
US9229806B2 (en) Block closure techniques for a data storage device
US9047210B2 (en) Data storage device and method to correct bit values using multiple read voltages
US9153331B2 (en) Tracking cell erase counts of non-volatile memory
US9025374B2 (en) System and method to update read voltages in a non-volatile memory in response to tracking data
US9135105B2 (en) Probability-based remedial action for read disturb effects
US11030096B2 (en) Method of identifying and preparing a key block in a flash memory system and memory controller therefor
US20170091028A1 (en) Error correction based on historical bit error data
US20140281750A1 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
US9129689B2 (en) Tracking erase pulses for non-volatile memory
US8942028B1 (en) Data reprogramming for a data storage device
US20150135023A1 (en) Data retention detection techniques for a data storage device
US8787079B2 (en) Reading data from multi-level cell memory
KR20130077890A (ko) 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩
US9053790B1 (en) Counter for write operations at a data storage device
US8982617B1 (en) Block closure techniques for a data storage device
US20170322843A1 (en) Multi-die data storage device with in-memory parity circuitry
WO2013176849A1 (en) System and method to scramble data
US20170220413A1 (en) Memory system, semiconductor memory device and operating method thereof
US9117533B2 (en) Tracking erase operations to regions of non-volatile memory
WO2013039666A1 (en) Data modification based on matching bit patterns
TWI655640B (zh) 資料儲存裝置與資料處理方法