TW201331751A - 記憶體裝置中的增強錯誤校正 - Google Patents

記憶體裝置中的增強錯誤校正 Download PDF

Info

Publication number
TW201331751A
TW201331751A TW101143129A TW101143129A TW201331751A TW 201331751 A TW201331751 A TW 201331751A TW 101143129 A TW101143129 A TW 101143129A TW 101143129 A TW101143129 A TW 101143129A TW 201331751 A TW201331751 A TW 201331751A
Authority
TW
Taiwan
Prior art keywords
data
bit
read
error
bit position
Prior art date
Application number
TW101143129A
Other languages
English (en)
Inventor
Saravanakumar Sevugapandian
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 TW201331751A publication Critical patent/TW201331751A/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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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
    • 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
    • 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/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
    • 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
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/20Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • 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
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本發明揭示一種校正儲存資料之方法,該方法包含讀取儲存於一非揮發性記憶體之一部分中之資料。該方法包含對於該讀取資料之每一特定位元位置回應於偵測該讀取資料不同於該特定位元位置之一對應參考值而更新與該特定位元位置相關聯之資料錯誤例項之一計數。執行該部分之該讀取及資料錯誤例項之該等計數之該更新達一特定重複次數。該方法包含將具有等於該特定重複次數之資料錯誤例項之一相關聯計數之每一位元位置識別為一循環錯誤位元位置。

Description

記憶體裝置中的增強錯誤校正
本發明大體上係關於資料儲存器。
本申請案主張2011年12月8日在印度申請之專利申請案第3445/MUM/2011號之優先權。
在記憶體裝置中儲存資料之能力隨著技術進展而得以改良。例如,一快閃記憶體裝置可在一半導體裝置處實現資料之非揮發性儲存,該半導體裝置可包含一或多個記憶體核心,且每一核心可位於一對應記憶體晶粒上。
歸因於對一記憶體晶粒之一記憶體元件之寫入、讀取、擦除及其他記憶體操作,該記憶體元件可發生耗損。當一記憶體元件經歷過度耗損時,其可不再係一可靠儲存元件。
錯誤校正可使用錯誤校正碼施加於所儲存的資料且可校正已損壞所儲存資料之錯誤。錯誤校正消耗時間及計算資源。減小錯誤校正計算時間將導致更大計算效率。
在一非揮發性記憶體裝置內之記憶體元件之特定位元位置可被識別為循環錯誤位元位置。回應於對儲存在一非揮發性記憶體之一部分處之特定資料之一請求,可改變該部分內處於一循環錯誤位元位置處之每一資料位元,且可在一錯誤校正碼(ECC)解碼器校正包含該等所改變的位元之特定資料並將經校正資料提供給一請求器之前將該資料發 送至該ECC解碼器。該等循環錯誤位元位置可藉由第一數目次讀取該記憶體之該部分之每一資料位元及比較該資料位元之每一讀取值與一參考值予以識別。其中對於該第一數目次之各者該讀取值不同於該參考值之資料之位元位置被識別為循環錯誤位元位置。當首先將資料(例如,一ECC頁面)寫入至該非揮發性記憶體之部分時可識別循環錯誤位元位置。可儲存該等循環錯誤位元位置以供隨後自該非揮發性記憶體讀取資料時使用。
資料可儲存於一非揮發性記憶體之一部分(例如,一頁面或一區塊)內。例如,該非揮發性記憶體之該部分中之每一儲存元件可儲存該資料之一或多個位元。當將資料寫入至該記憶體之該部分且隨後自該非揮發性記憶體之該部分讀取資料時,讀取資料之一或多個位元可不同於最初寫入的資料。例如,錯誤位元可由以下各者所致:該非揮發性記憶體中之缺陷儲存元件(例如,歸因於至一記憶體單元之故障電連接)、物理效應(諸如影響儲存於儲存元件中之資料但並非由缺陷儲存元件所致之程式干擾或讀取干擾)或一或多個其他機制(諸如熱雜訊或宇宙射線)。
當自非揮發性記憶體之對應位元值之一或多次讀取並不符合寫入至非揮發性記憶體之位元值時,可將一特定位元位置識別為一錯誤位元位置。當針對給定數目次連續讀取每一讀取值並不符合已寫入資料之值時,可將該特定位元位置識別為一循環錯誤位元位置。
識別循環錯誤位元位置可有利於校正讀取錯誤。例如,藉由將儲存於記憶體之一部分中之資料之一第一位元位置(例如,儲存於該記憶體之一頁面、一字線、一錯誤校正碼(ECC)頁面、一區塊或另一部分中之資料之一第一位元位置)識別為一循環錯誤位元位置,當請求該第一位元位置之一儲存值時,可藉由改變(即,翻轉)該儲存值校正該儲存值。
每一循環錯誤位元位置之一指示符可儲存於記憶體之另一部分中或另一記憶體中。在自該記憶體後續讀取資料時,可藉由基於所儲存指示符更新(例如,翻轉)對應於每一循環錯誤位元位置之儲存值而簡化錯誤校正。
翻轉一儲存值通常涉及的計算少於藉由ECC解碼進行之錯誤校正。為圖解說明,當識別一循環錯誤位元位置且自記憶體讀取資料(即,位元值)時,可假設對應於該循環錯誤位元位置之位元值係錯誤的。可藉由施加一邏輯NOT操作於該位元值來校正該位元值。然而,使用錯誤校正編碼校正一位元錯誤可包含:施加多個計算以判定存在於資料中之錯誤數目;基於該多個計算之結果產生一錯誤位置多項式;及計算該錯誤位置多項式的解。該錯誤位置多項式之所計算解可指示接著可校正之錯誤位元之位元位置。
因為改變循環位元錯誤位置處之位元值可校正讀取資料中之許多或所有錯誤,因此簡化該資料之錯誤校正。與對最初讀取資料使用ECC解碼相比,可以減小的電力消耗及減小的延時經由ECC解碼校正任何剩餘錯誤。
圖1係一資料儲存裝置100之一特定實施例之一圖解。該資料儲存裝置100包含一記憶體102。該資料儲存裝置100亦包含一控制器104及一介面116。該控制器104包含一處理器108及一錯誤校正編碼(ECC)引擎110。該控制器104亦包含參考資料儲存器112及資料錯誤計數儲存器114。該資料儲存裝置100經組態以經由該介面116耦合至一主機106。
該資料儲存裝置100可包含於一記憶體卡中,諸如一Secure Digital SD®卡、一microSD®卡、一miniSD.TM卡(德拉瓦州,威明頓市,SD-3C LLC之商標)、一MultiMediaCard.TM(MMC.TM)卡(維吉尼亞州,阿靈頓市,JEDEC固態技術協會之商標)或一CompactFlash®(CF)卡(加利福尼亞州,米爾皮塔斯市SanDisk Corporation之商標)。或者,作為闡釋性實例,該資料儲存裝置100可為一主機裝置中之嵌入式記憶體,諸如eMMC®(維吉尼亞州,阿靈頓市,JEDEC固態技術協會之商標)記憶體或eSD記憶體。
該記憶體102包含複數個儲存元件及一循環錯誤位元位置儲存器134。該記憶體102可包含多位階單元(MLC)記憶體元件且亦可包含單位階單元(SLC)記憶體元件。例如,在一特定實施例中,該記憶體102包含各包含多個MLC記憶體元件之字線WL0至WL9。或者,該等字線WL0至WL9可包含SLC記憶體元件。儲存於該等字線WL0至WL9之一或多者中之資料之位元位置可與記憶體元件在該等字線中 之位置相關。例如,在一SLC實施方案中,WL0之每一記憶體元件可儲存一單個資料位元。為圖解說明,該資料之位元位置0處之一位元值可儲存於耦合至WL0及位元線0(BL0)之一記憶體元件處,該資料之位元位置1處之一位元值可儲存於耦合至WL0及BL1之一記憶體元件處等等。或者,在一MLC實施方案中,WL0之每一記憶體元件可儲存多個資料位元且因此在WL/BL位置與位元位置之間可不具有如SLC實例中之一一對應。在一特定實施例中,該循環錯誤位元位置儲存器134可包含SLC記憶體元件。為圖解說明,該錯誤位元位置儲存器134可為該記憶體102之一SLC部分,該SLC部分與該等字線WL0至WL9相異。
該記憶體102可儲存一讀取模組118、一比較器模組120、一錯誤日誌更新模組122及一循環錯誤位元位置儲存模組124。該等模組118、120、122及124之各者可包含處理器可執行指令。
該控制器104經組態以存取該記憶體102。該控制器104可相對於該記憶體102內之一特定位元位置執行一寫入、一讀取、另一記憶體操作或其等之任何組合。該處理器108可在該等模組118、120、122或124之任一者中執行該等處理器可執行指令。例如,當該處理器108在該讀取模組118中執行該等處理器可執行指令時,可自該記憶體102讀取一或多個資料位元。
在操作中,該控制器104可將資料寫入至包含一或多個字線之記憶體102之一部分(諸如一代表性部分103)。例 如,該控制器104可將資料寫入至該記憶體102之部分103內之字線WL0及WL1中之每一位元位置。寫入至該等字線WL0及WL1之資料亦可暫時儲存於該參考資料儲存器112中。
在將該資料寫入至該記憶體102之部分103之後,該控制器104可識別循環錯誤位元位置以輔助資料之隨後讀取。例如,可將該等循環錯誤位元位置識別為藉由來自該主機裝置106之一寫入命令觸發之一資料寫入操作之部分。作為其他實例,在一廢棄項目收集操作、一記憶體刷新操作或另一記憶體操作期間,可將該等循環錯誤位元位置識別為一資料寫入之部分。回應於將該資料寫入至該等字線WL0及WL1,該處理器108可藉由比較自WL0及WL1讀取之資料(即,寫入至WL0及WL1且可包含一或多個錯誤之資料之表示)與儲存於該參考資料儲存器112中之參考資料來識別循環錯誤位元位置。例如,該控制器104可命令該記憶體102執行一系列讀取操作以自該等字線WL0及WL1之記憶體元件擷取位元值以與儲存於該參考資料儲存器112中之資料進行比較。
該處理器108可比較所擷取資料表示之每一位元與該參考資料儲存器112中之一對應位元。例如,可比較該讀取資料中之位元位置0處之一位元值與儲存於該參考資料儲存器112中之位元位置0處之一對應位元值126。若該資料表示中之位元位置0處之位元值與該位元值126相同,則不累加該資料錯誤計數儲存器114中之一位元錯誤計數130。 若該資料表示中之位元位置0處之位元值不同於該位元值126,則累加該位元錯誤計數130。
該處理器108可執行儲存於字線0及字線1中之資料之位元位置之各者處之值與儲存於該參考資料儲存器112處之對應參考位元值之一比較。其中該參考值不同於對應位元位置處之資料表示之每一例項導致該資料錯誤計數儲存器114中之一對應位元錯誤計數累加。該控制器104可比較該等資料表示之每一位元值與儲存於該參考資料儲存器112中之對應參考值,且當所儲存資料表示與對應參考值之間存在一差值時可累加一對應位元錯誤計數。
在已對自該等字線WL0及WL1讀取之資料表示之位元位置之各者作出一比較之後,該控制器104可第二次讀取該等字線WL0及WL1中之資料表示。在第二次讀取該等資料表示之後,可在每一位元位置與該參考資料儲存器112中之對應參考值之間作出一比較。該等位元位置之各者之一位元錯誤計數可維持在該資料錯誤計數儲存器114處。例如,當判定一特定位元位置處之一儲存資料表示與對應參考值之間存在一差值時,可累加對應位元錯誤計數。該處理器108可藉由(例如)在錯誤日誌更新模組122中執行指令來更新該資料錯誤計數儲存器114中之位元錯誤計數。可重複讀取該等字線WL0及WL1,且在每次讀取之後可執行比較及資料錯誤計數儲存器114更新。該控制器104可對該等字線WL0及WL1執行總共特定數目次讀取,且執行與對應參考值之後續比較。例如,該控制器104可對該等字線 WL0及WL1執行總共20次讀取,且對於該20次讀取之各者可比較每一讀取位元值與該參考資料儲存器112中之對應參考值。
在完成特定重複(即,讀取及比較)次數之後,對於位元位置之各者,該處理器108在循環錯誤位元位置儲存模組122中執行指令時比較每一錯誤計數與特定讀取次數。例如,可藉由該處理器108執行總共20次重複,包含WL0之20次讀取及WL1之20次讀取。雖然20次重複被用作一闡釋性實例,但是特定重複次數可代替性地(例如)大於1次重複,至少15次重複,至少50次重複或另一數目次重複。當與任何特定位元位置相關聯之資料錯誤計數等於該特定重複次數(例如,20次重複),進而指示在每次讀取之後及每次重複期間考慮中的特定位元位置與參考值相比展示資料表示中之一錯誤時,將該特定位元位置識別為一循環錯誤位元位置。該處理器108可儲存與該特定位元位置相關聯之一指示符,該指示符指示該特定位元位置係一循環錯誤位元位置。該指示符可儲存於該循環錯誤位元位置儲存器134中。與循環錯誤位元指示符儲存於該記憶體102之一MLC部分中相比,該循環錯誤位元位置儲存器134可在該記憶體102之一SLC部分中以長期提供維持精確度之一更大可能性。
除將資料寫入至該記憶體102之部分103以外,該控制器104亦可將資料寫入至該記憶體102之其他部分。例如,作為闡釋非限制性實例,一部分可包含一單個字線(諸如 WL6)、兩個字線(諸如字線WL2及WL3)或兩個以上字線。在將資料寫入至該記憶體102之每一例項,該控制器104可將該資料額外地儲存在該參考資料儲存器112處。因此,該參考資料儲存器112可用作寫入至該記憶體102之資料之暫時儲存器,且可提供參考值以與自該記憶體102讀回之一資料表示進行比較。
例如,每當發生至該記憶體102之一部分之一寫入時,可初始化該資料錯誤計數儲存器114,例如,可將所有資料錯誤計數重設為0。作為一資料寫入操作之部分,在已將資料寫入至該記憶體102之部分之後,可自該記憶體102之部分讀取該資料且該控制器104可執行讀取資料中之位元值與儲存於該參考資料儲存器112中之位元值之間之一比較。對應於每一位元位置之一位元錯誤計數可維持在該資料錯誤計數儲存器114處,且每當判定一特定位元位置處之讀取資料之位元值與儲存於該參考資料儲存器112處之對應參考值之間存在一差值時,該處理器108可更新該位元錯誤計數。在進行預定數目次讀取及比較之後,該循環錯誤位元位置儲存器134可藉由包含對應於識別為一循環錯誤位元位置之每一位元位置之一指示符而更新。
因此,當將資料寫入至該記憶體102時,可測試所儲存資料(例如,重複地讀取並與一參考值比較)以判定哪些位元位置係循環錯誤位元位置,且可將每一循環錯誤位元位置之一指示符儲存於該循環錯誤位元位置儲存器134處。例如,寫入至該記憶體102之每一部分之資料可在每次發 生將資料寫入至該部分時加以測試。
除將循環位元錯誤位置判定為該記憶體102之一資料寫入操作之部分以外,在另一實施方案中,可將循環位元錯誤位置判定為測試整個記憶體102之部分。例如,可將測試資料寫入至該記憶體102之每一部分且可識別自每一部分讀取之測試資料中之循環錯誤位元位置。可對該記憶體102之一特定部分進行後續寫入,且可基於儲存於該循環錯誤位元位置儲存器134處之指示符至少部分校正該等寫入之後的後續讀取。在一測試實施方案中,可使用記憶體之較大部分(諸如區塊或區塊群組)以判定循環位元錯誤位置。
可使用所識別的循環位元錯誤位置以至少部分校正自該記憶體102讀取之資料。例如,回應於對儲存於該記憶體102之一部分中之特定資料(諸如儲存於字線WL0及WL1中之資料)之一讀取請求,可校正每一循環錯誤位元位置中之預期錯誤且可將所請求資料發送至ECC引擎110以待解碼。該ECC引擎110可偵測並校正該記憶體102儲存所請求資料之部分內之額外錯誤。藉由在將所擷取資料發送至該ECC引擎110之前校正每一循環錯誤位元位置,可更有效地使用該ECC引擎110,因為該ECC引擎110在所得資料中可偵測及校正之錯誤較少。
圖2係校正所儲存資料之一方法之一特定實施例之一圖解,該方法可執行於圖1之資料儲存裝置100之控制器104中。參考圖2,在201處,將一重複次數n初始化一值1。在 202處,讀取儲存於一非揮發性記憶體之一第一部分中之資料。例如,可讀取儲存於圖1之記憶體102之WL0及WL1中之資料。在204處,對於讀取資料之每一特定位元位置,可回應於偵測一讀取位元值不同於該特定位元位置之一對應參考值而更新(即,累加)與該特定位元位置相關聯之位元錯誤例項之一計數。例如,回應於偵測自圖1之記憶體102讀取之位元位置0處之一位元值不同於參考值126,可累加位元錯誤計數130。若在206處該重複次數n不等於一特定重複次數NTOT(例如,15次重複、20次重複、50次重複或另一數目次重複),則在207處累加n,且在202處再次讀取儲存於該非揮發性記憶體之第一部分中之資料。
若在206處重複次數n等於NTOT(即,完成所有重複),則前進至208,將具有等於該特定重複次數NTOT之資料錯誤例項之一相關聯計數之每一位元位置識別為一循環錯誤位元位置。例如,在圖1中,若儲存於該位元錯誤計數130中之值等於NTOT,則將位元位置0識別為一循環錯誤位元位置。可將位元位置0係讀取資料中之一循環錯誤位元位置之一指示儲存於該循環錯誤位元位置儲存器134中。該方法於210處結束。
藉由判定哪些位元位置係循環錯誤位元位置,在隨後讀取資料時可校正對應於該等循環錯誤位置之位元值。因此可在將該資料提供給一ECC解碼器之前校正發生在該資料中之大部分錯誤。因此,與最初自記憶體讀取之資料之 ECC解碼相比,經部分校正資料之ECC解碼可消耗更少電力且可更快速地完成。
圖3係將資料儲存於一資料儲存裝置(諸如圖1之資料儲存裝置100)處之一方法之一特定實施例。在302處,可對儲存於一非揮發性記憶體之一部分中之資料執行一第一讀取以產生第一讀取資料。例如,可自該記憶體102之WL0讀取第一讀取資料且將該第一讀取資料提供給圖1之控制器104。
在304處,可藉由比較該第一讀取資料與參考資料而判定錯誤位元位置之一第一集合。例如,可比較該第一讀取資料與儲存於圖1之參考資料儲存器112處之資料,且可將錯誤位元位置之一第一集合識別為其中該第一讀取資料並不匹配儲存於該參考資料儲存器112處之資料之位元位置。
在306處,可對儲存於該非揮發性記憶體之部分中之資料執行一第二讀取以產生第二讀取資料。例如,可自該記憶體102之WL0讀取第二讀取資料且將該第二讀取資料提供給圖1之控制器104。在308處,可藉由比較該第二讀取資料與參考資料而判定錯誤位元位置之一第二集合。例如,可比較該第二讀取資料與儲存於圖1之參考資料儲存器112處之資料,且可將錯誤位元位置之一第二集合識別為其中該第二讀取資料並不匹配儲存於該參考資料儲存器112處之資料之位元位置。
在310處,可基於一準則自錯誤位置之第一集合及錯誤 位置之第二集合識別該資料之循環錯誤位元位置。例如,該準則可指定包含於錯誤位元位置之第一集合中及錯誤位元位置之第二集合中之每一特定位元位置被識別為一循環錯誤位元位置。
在另一實例中,對資料執行多次讀取(包含第一讀取及第二讀取)以產生複數個讀取資料。對於每一讀取資料,藉由比較該讀取資料與參考資料而判定錯誤位元位置之一對應集合。該準則可以滿足一臨限值準則為條件將一特定位元位置識別為一循環錯誤位元位置,該臨限值準則指定包含於錯誤位元位置之集合中之特定位元位置之例項之一計數對讀取之一總計數之一特定比率。為圖解說明,該臨限值準則可指示:若一位元位置係18/20個錯誤位置集合中之一錯誤位元位置(即,執行20次讀取以產生20個錯誤位置集合,且該20個錯誤位置集合之至少18個錯誤位置集合中出現一相同的位元位置),則可將該位元位置識別為一循環錯誤位元位置。鑑於循環錯誤位元位置之可能的錯誤識別及儲存循環錯誤位元位置指示符之一成本,可基於計算、模擬、實驗結果或其等之任何組合判定臨限值比率以判定提供藉由識別循環錯誤位元位置之一整體增強錯誤校正之一臨限值比率。在一些實施例中,該臨限值比率可等於1(例如,20/20)。在其他實施例中,該臨限值比率可小於1。
圖4係將資料儲存於一資料儲存裝置(諸如圖1之資料儲存裝置100)處之一方法之一特定實施例。例如,可藉由該 控制器104結合將資料儲存於圖1之記憶體102中執行該方法。在402處,將一重複次數n初始化為n=1。在404處,將指代一位元位置之一整數索引i初始化為一值1。在406處,讀取儲存於位元位置i中之資料。例如,在圖1中,該控制器104在該讀取模組118中執行指令時可讀取位元位置0中之資料(例如,儲存於該記憶體102之WL0/BL0處之一儲存元件中之一資料位元)。作為一實例,該控制器104可藉由自該記憶體102擷取自WL0讀取之一或多個資料頁面及剖析讀取資料以識別對應於該讀取資料之位元位置0之一位元值來讀取對應於位元位置0之資料。
在408處,比較讀取位元值與對應於位元位置i之一參考值。例如,該控制器104在該比較器模組120中執行指令時可比較位元位置0中之位元值與儲存於該參考資料儲存器112中之參考值126。若讀取位元值不同於對應參考值,則在410處更新(即,累加)與特定位元位置i相關聯之位元錯誤例項之一計數。例如,若對應於位元位置0之讀取位元值不同於參考值126,則累加儲存於該位元錯誤計數130中之值。若在408處讀取位元值並未不同於參考值,則不累加位元錯誤例項之計數。
在412處,判定是否已考量所有位元位置(即,i=i=iTOT,其中iTOT係位元位置總數)。若i<i=iTOT,則在414處累加索引i,且在406處讀取下一個連續位元位置中之資料。否則,若i=iTOT,即已比較記憶體之部分內之所有位元位置i與一對應參考值,則在416處判定重複次數n是否等於重複 總數。若尚未滿足重複總數NTOT(即,n≠NTOT),則在418處累加n,且在404處初始化位元位置索引i,且重複每一位元位置之讀取及與對應參考值之比較。
返回至416,若已滿足重複總數NTOT(即,n=NTOT),則在420處初始化位元位置i。在422處,在每一位置i處比較位元錯誤例項之計數與NTOT。對於一特定位置i,若位元錯誤例項之計數等於NTOT,則在424處將該特定位元位置i識別為一循環錯誤位元位置。例如,在圖1中,藉由比較與位元位置0處之位元值相關聯之資料錯誤計數130與一特定重複次數,可將位元位置0識別為一循環錯誤位元位置且可將與位元位置0相關聯之一指示符儲存於該循環錯誤位元位置儲存器134中。行進至426,在426處判定是否已考量所有位元位置i以判定其等是否係循環錯誤位元位置。在426處,該方法評估i是否等於iTOT。若尚未考量所有位元位置i,則在428處累加索引i,且返回至422,對下一個連續位元位置i作出關於位元錯誤例項之對應計數是否等於NTOT之判定。否則,若位元錯誤例項之計數等於NTOT,則在424處將位元位置i識別為一循環錯誤位元位置。
在422處,若對於位元位置i資料錯誤例項之計數不等於NTOT,則該位元位置i並非係一循環錯誤位元位置,且行進至426,判定是否已考量所有i值。若關於位元位置i是否係循環錯誤位元位置尚未考量所有i值,則在428處累加索引i,且在422處關於位元錯誤例項之相關聯計數是否等於NTOT而測試下一個連續位元位置。
在一特定實施例中,在識別每一循環錯誤位元位置之後,在430處,回應於讀取資料之一請求,可藉由改變(即,翻轉)對應於每一循環錯誤位元位置之位元值而產生經更新資料。翻轉對應於每一循環錯誤位元位置之位元值可減小(諸如一ECC解碼器中之)後續錯誤校正,此係因為對應於所識別的循環錯誤位元位置之所儲存值已在ECC解碼之前校正。在432處,可在一ECC解碼器處解碼所更新資料。該方法於434處結束。
圖5圖解說明將資料儲存於一資料儲存裝置(諸如圖1之資料儲存裝置100)處且與圖4之方法相比使用減小的讀取及比較總數判定循環錯誤位元位置之一方法之一特定實施例。在502處,將一重複次數n初始化為0。此外,將所有錯誤計數重設為0。在502處,一讀取清單最初包含所有位元位置iTOT。例如,圖1之控制器104可藉由最初填入一清單(例如,一單向連結清單)以指示待自該記憶體102之一部分讀取之資料之所有位元位置而起始並維持該讀取清單。雖然描述為一清單,但是在其他實施方案中可代替性地使用諸如一陣列或一位元串之另一資料結構。
在504處,累加重複次數n。在506處,讀取該讀取清單上之每一位元位置中之資料。在508處,比較一特定位元位置i之讀取位元值與一對應參考值。例如,在圖1中,可比較位元位置0之讀取位元值與對應參考值126。若讀取位元值等於參考值,則在512處自該讀取清單移除該位元位置i。因此,其中讀取位元值等於對應參考值之任何比較 導致特定位元位置自該讀取清單(即,可能循環錯誤位元位置之清單)排除,且在後續重複中不測試該特定位元位置。
若位元位置i之讀取位元值不等於對應參考值,則在514處,該方法對第n次重複評估是否已比較該讀取清單中之所有位元位置與對應參考值。若仍未比較該讀取清單中之額外位元位置與其等對應參考值,則在516處,該方法前進至出現在該讀取清單中之下一個位元位置且返回至508。
在518處判定是否已完成所有重複。若在完成所有重複之前欲完成額外重複(即,n≠NTOT),則在520處返回至該讀取清單中之第一剩餘位元位置,且該方法接著返回至504並累加重複計數器n。藉由讀取所儲存值表示及比較讀取值與對應參考值而考量該讀取清單上剩餘的每一位元位置。
在已完成所有讀取之後(即,n=NTOT),將該讀取清單上之每一剩餘位元位置識別為一循環錯誤位元位置。在522處,儲存所識別的循環錯誤位元位置之指示符。該等指示符可儲存在(例如)圖1之循環錯誤位元位置儲存器134中。
與圖4之方法相比,自該讀取清單移除讀取值等於參考值之每一位元位置可減小讀取及比較總數。回應於讀取值不同於對應參考值之每個例項,將一特定位元位置識別為一循環錯誤位元位置。與圖4之方法相比,藉由自該讀取清單移除具有其中讀取值等於參考值之一例項之一位元位 置可減小剩餘的讀取清單項目之後續讀取及比較的次數。減少讀取及比較可減少處理使用,從而更有效地使用控制器。
雖然本文描繪之各種組件經圖解說明為區塊組件且係概括地加以描述,但是此等組件可包含一或多個微處理器、狀態機或經組態以使圖1之資料儲存裝置100能夠執行專用於此等組件之特定功能之其他電路或其等之任何組合。例如,圖1之控制器104可包含一實體組件,諸如一硬體控制器、一狀態機、一邏輯電路或管理一資料儲存裝置中之耗損平衡且將資料自一記憶體堆疊之一記憶體晶粒傳送至另一記憶體晶粒之另一結構。
替代性地或此外,圖1之資料儲存裝置100可包含可藉由控制器104執行以實施讀取、比較、更新及儲存之一或多個功能之可執行指令。該等指令可儲存於非揮發性記憶體(諸如記憶體102)或一隨機存取記憶體中。例如,該等指令可在讀取模組118、比較器模組120、錯誤日誌更新模組112及循環錯誤位元位置儲存模組124(其等之各者可儲存於圖1之記憶體102中)之一或多者內。替代性地或此外,藉由控制器執行之可執行指令可儲存於並非記憶體102之部分之一分離記憶體處,諸如一唯讀記憶體(ROM)處。
該資料儲存裝置100可包含於經組態以選擇性地耦合至一或多個外部裝置之一可攜式裝置中。該資料儲存裝置100可為可抽換,諸如一通用串列匯流排(USB)磁碟機或一記憶體卡。或者,該資料儲存裝置100可附接或嵌入於一 或多個主機裝置內,諸如一可攜式通信裝置之一外殼內。例如,該資料儲存裝置100可在一封裝式設備(諸如一無線電話、一個人數位助理(PDA)、一遊戲裝置或主控台、一可攜式導航裝置、一電腦裝置或使用內部非揮發性記憶體之其他裝置)內。該資料儲存裝置100可包含一非揮發性記憶體,諸如一快閃記憶體(例如,NAND、NOR、多位階單元(MLC)、分割位元線NOR(DINOR)、AND、高電容耦合率(HiCR)、不對稱非接觸式電晶體(ACT)或其他快閃記憶體)、一可擦除可程式化唯讀記憶體(EPROM)、一電可擦除可程式化唯讀記憶體(EEPROM)、一唯讀記憶體(ROM)、一次性可程式化記憶體(OTP)或任何其他類型的非揮發性記憶體。
本文描述之實施例之圖解旨在提供對各種實施例之大體理解。可利用其他實施例且可自本發明導出其他實施例,使得在不脫離本發明之範疇之情況下可作出結構及邏輯替換及改變。本發明旨在涵蓋各種實施例之任何或所有後續調適或變動。因此,本發明及該等圖式被視為闡釋性而非限制性。
100‧‧‧資料儲存裝置
102‧‧‧記憶體
103‧‧‧記憶體之部分
104‧‧‧控制器
106‧‧‧主機裝置
108‧‧‧處理器
110‧‧‧錯誤校正編碼(ECC)引擎
112‧‧‧參考資料儲存器
114‧‧‧資料錯誤計數儲存器
116‧‧‧介面
118‧‧‧讀取模組
120‧‧‧比較器模組
122‧‧‧錯誤日誌更新模組
124‧‧‧循環錯誤位元位置儲存模組
126‧‧‧位元值
130‧‧‧位元錯誤計數
134‧‧‧循環錯誤位元位置儲存器
BL0‧‧‧位元線
BL1‧‧‧位元線
BL2‧‧‧位元線
BL3‧‧‧位元線
BL4‧‧‧位元線
BL5‧‧‧位元線
BL6‧‧‧位元線
BL7‧‧‧位元線
BL8‧‧‧位元線
BL9‧‧‧位元線
WL0‧‧‧字線
WL1‧‧‧字線
WL2‧‧‧字線
WL3‧‧‧字線
WL4‧‧‧字線
WL5‧‧‧字線
WL6‧‧‧字線
WL7‧‧‧字線
WL8‧‧‧字線
WL9‧‧‧字線
圖1係經組態以識別一非揮發性記憶體中之循環錯誤位元位置之一資料儲存裝置之一方塊圖;圖2係識別一資料儲存裝置中之循環錯誤位元位置之一方法之一特定實施例之一流程圖;圖3係識別一資料儲存裝置中之循環錯誤位元位置之一 方法之另一實施例之一流程圖;圖4係識別一資料儲存裝置中之循環錯誤位元位置之一方法之另一實施例之一流程圖;及圖5係識別一資料儲存裝置中之循環錯誤位元位置之一方法之另一實施例之一流程圖。
100‧‧‧資料儲存裝置
102‧‧‧記憶體
103‧‧‧代表性部分
104‧‧‧控制器
106‧‧‧主機裝置
108‧‧‧處理器
110‧‧‧錯誤校正編碼(ECC)引擎
112‧‧‧參考資料儲存器
114‧‧‧資料錯誤計數儲存器
116‧‧‧介面
118‧‧‧讀取模組
120‧‧‧比較器模組
122‧‧‧錯誤日誌更新模組
124‧‧‧循環錯誤位元位置儲存模組
126‧‧‧位元值
130‧‧‧位元錯誤計數
134‧‧‧循環錯誤位元位置儲存器
BL0‧‧‧位元線
BL1‧‧‧位元線
BL2‧‧‧位元線
BL3‧‧‧位元線
BL4‧‧‧位元線
BL5‧‧‧位元線
BL6‧‧‧位元線
BL7‧‧‧位元線
BL8‧‧‧位元線
BL9‧‧‧位元線
WL0‧‧‧字線
WL1‧‧‧字線
WL2‧‧‧字線
WL3‧‧‧字線
WL4‧‧‧字線
WL5‧‧‧字線
WL6‧‧‧字線
WL7‧‧‧字線
WL8‧‧‧字線
WL9‧‧‧字線

Claims (24)

  1. 一種方法,其包括:讀取儲存於一非揮發性記憶體之一部分中之資料;對於該讀取資料之每一特定位元位置,回應於偵測該讀取資料不同於該特定位元位置之一對應參考值而更新與該特定位元位置相關聯之資料錯誤例項之一計數;其中執行該部分之該讀取及資料錯誤例項之該計數之該更新達一特定重複次數;及將具有等於該特定重複次數之資料錯誤例項之一相關聯計數之每一位元位置識別為一循環錯誤位元位置。
  2. 如請求項1之方法,其進一步包括將該等循環錯誤位元位置之各者之一指示符儲存於該非揮發性記憶體中。
  3. 如請求項2之方法,其中將該等指示符之各者儲存在該非揮發性記憶體之一單位階單元(SLC)部分中,該SLC部分與該部分相異。
  4. 如請求項1之方法,其中自該部分之一相異記憶體元件讀取該資料之每一位元,且其中該部分之每一記憶體元件係一多位階單元(MLC)元件。
  5. 如請求項1之方法,其中該非揮發性記憶體係一快閃記憶體。
  6. 如請求項1之方法,其中該非揮發性記憶體係一NAND快閃記憶體。
  7. 如請求項1之方法,其中回應於將參考資料寫入至該非揮發性記憶體之該部分而識別該等循環錯誤位元位置。
  8. 如請求項7之方法,其中回應於接收儲存該參考資料之一請求而將該參考資料寫入至該部分。
  9. 如請求項1之方法,該方法進一步包括回應於接收讀取該資料之一請求而藉由改變每一循環錯誤位元位置處之位元值產生經更新資料。
  10. 如請求項9之方法,其進一步包括在一錯誤校正編碼(ECC)解碼器處解碼該經更新資料。
  11. 如請求項1之方法,其中該特定重複次數係至少15。
  12. 如請求項1之方法,其中該特定重複次數係至少50。
  13. 一種資料儲存裝置,其包括:一非揮發性記憶體,其包含包含複數個位元位置之一部分;及一控制器,該控制器經組態以在執行將資料寫入至該非揮發性記憶體之該部分之一寫入操作之後執行以下動作:讀取儲存於該非揮發性記憶體之該部分之該複數個位元位置之各者處之一位元值;對於該複數個位元位置之每一特定位元位置,回應於偵測自該特定位元位置讀取之一位元值不同於該特定位元位置之一對應參考值而更新與該特定位元位置相關聯之資料錯誤例項之一計數,其中執行讀取及資料錯誤例項之該等計數之更新達特定重複次數,其中該特定重複次數大於1;及將具有等於該特定重複次數之資料錯誤例項之一相 關聯計數之每一位元位置識別為一循環錯誤位元位置。
  14. 如請求項13之資料儲存裝置,其中該控制器進一步經組態以儲存每一循環錯誤位元位置之一指示符,每一指示符識別對應位元位置。
  15. 如請求項13之資料儲存裝置,其中該等指示符之各者係儲存在該非揮發性記憶體之一單位階單元(SLC)部分中。
  16. 如請求項13之資料儲存裝置,其中每一位元值係自該部分之一相異記憶體元件讀取,且其中每一記憶體元件係一多位階單元(MLC)元件。
  17. 如請求項13之資料儲存裝置,其中該等循環錯誤位元位置係回應於將參考資料寫入至該部分而識別。
  18. 如請求項13之資料儲存裝置,其中該控制器進一步經組態以回應於接收讀取該資料之一請求而讀取該等位元值。
  19. 如請求項18之資料儲存裝置,其中回應於接收讀取該資料之該請求,該控制器進一步經組態以藉由改變每一循環錯誤位元位置處之該位元值而產生經更新資料,該經更新資料包含該等所改變位元值。
  20. 如請求項19之資料儲存裝置,其中該控制器進一步經組態以將包含每一位元位置之每一值之該經更新資料傳送至一錯誤校正編碼(ECC)解碼器。
  21. 如請求項13之資料儲存裝置,其中該非揮發性記憶體係一NAND快閃記憶體。
  22. 一種方法,其包括:執行儲存於一非揮發性記憶體之一部分中之資料之一第一讀取以產生第一讀取資料;藉由比較該第一讀取資料與參考資料而判定錯誤位元位置之一第一集合;執行儲存於該非揮發性記憶體之該部分中之該資料之一第二讀取以產生第二讀取資料;藉由比較該第二讀取資料與該參考資料而判定錯誤位元位置之一第二集合;及基於一準則自錯誤位置之該第一集合及錯誤位置之該第二集合識別循環錯誤位元位置。
  23. 如請求項22之方法,其中該準則指定識別為一循環錯誤位元位置之每一特定位元位置係以錯誤位元位置之該第一集合及錯誤位元位置之該第二集合中包含該特定位元位置為條件。
  24. 如請求項22之方法,其進一步包括:執行該資料之多次讀取以產生複數個讀取資料,該多次讀取包含該第一讀取及該第二讀取;對於每一讀取資料,藉由比較該讀取資料與該參考資料而判定錯誤位元位置之一對應集合;及其中該準則以滿足一臨限值準則為條件將一特定位元位置識別為一循環錯誤位元位置,該臨限值準則指定包含於錯誤位元位置之該等集合中之該特定位元位置之例項之一計數對讀取之一總計數之一特定比率。
TW101143129A 2011-12-08 2012-11-19 記憶體裝置中的增強錯誤校正 TW201331751A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN3445MU2011 2011-12-08
US13/356,404 US8996936B2 (en) 2011-12-08 2012-01-23 Enhanced error correction in memory devices

Publications (1)

Publication Number Publication Date
TW201331751A true TW201331751A (zh) 2013-08-01

Family

ID=48573193

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101143129A TW201331751A (zh) 2011-12-08 2012-11-19 記憶體裝置中的增強錯誤校正

Country Status (4)

Country Link
US (1) US8996936B2 (zh)
CN (1) CN104094237A (zh)
TW (1) TW201331751A (zh)
WO (1) WO2013085670A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10319460B2 (en) * 2013-08-14 2019-06-11 Infineon Technologies Ag Systems and methods utilizing a flexible read reference for a dynamic read window
US9263157B2 (en) 2013-12-23 2016-02-16 International Business Machines Corporation Detecting defective connections in stacked memory devices
US9552244B2 (en) * 2014-01-08 2017-01-24 Qualcomm Incorporated Real time correction of bit failure in resistive memory
US9411694B2 (en) * 2014-02-12 2016-08-09 Micron Technology, Inc. Correcting recurring errors in memory
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
US9558847B2 (en) 2014-11-21 2017-01-31 Sandisk Technologies Llc Defect logging in nonvolatile memory
EP3271821B1 (en) 2015-09-17 2021-07-28 Hewlett Packard Enterprise Development LP Memory store error check
US10180878B2 (en) * 2016-03-03 2019-01-15 Toshiba Memory Corporation Memory system for recording data and memory control method for recording data
US10078458B1 (en) * 2016-03-31 2018-09-18 EMC IP Holding Company LLC Method and system for adaptively migrating data in solid state memory
US10394647B2 (en) * 2017-06-22 2019-08-27 International Business Machines Corporation Bad bit register for memory
US11565836B1 (en) * 2017-12-21 2023-01-31 Rkf Engineering Solutions Llc Space printer
US10936209B2 (en) * 2019-06-06 2021-03-02 Micron Technology, Inc. Memory error indicator for high-reliability applications
CN110751978B (zh) * 2019-10-16 2021-06-08 上海华虹宏力半导体制造有限公司 用于非挥发性存储器的测试校调方法及测试校调电路
US20230368859A1 (en) * 2022-05-11 2023-11-16 Nxp Usa, Inc. Testing disruptive memories

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4209846A (en) 1977-12-02 1980-06-24 Sperry Corporation Memory error logger which sorts transient errors from solid errors
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
ATE225961T1 (de) * 1996-08-16 2002-10-15 Tokyo Electron Device Ltd Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur
US6480982B1 (en) 1999-06-04 2002-11-12 International Business Machines Corporation Computer RAM memory system with enhanced scrubbing and sparing
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
KR100616214B1 (ko) 2005-06-30 2006-08-28 주식회사 하이닉스반도체 멀티-레벨 셀을 가지는 플래시 메모리 장치의 프로그램제어 회로 및 그 프로그램 제어 방법
US9092361B2 (en) * 2005-07-15 2015-07-28 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile storage device, memory controller, and defective region detection method
US8205146B2 (en) * 2005-07-21 2012-06-19 Hewlett-Packard Development Company, L.P. Persistent error detection in digital memory
US7711889B2 (en) 2006-07-31 2010-05-04 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
KR101062755B1 (ko) 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
US8996936B2 (en) 2015-03-31
CN104094237A (zh) 2014-10-08
WO2013085670A3 (en) 2013-09-26
WO2013085670A2 (en) 2013-06-13
US20130151912A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
TW201331751A (zh) 記憶體裝置中的增強錯誤校正
US8683297B2 (en) Systems and methods of generating a replacement default read threshold
JP6014748B2 (ja) メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法
CN103680637B (zh) 具有异常字线检测器的闪存系统及其异常字线检测方法
KR101369444B1 (ko) 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩
US8589766B2 (en) Codeword remapping schemes for non-volatile memories
US8255773B2 (en) System and method of tracking error data within a storage device
US9318215B2 (en) Systems and methods to update reference voltages of non-volatile memory
TWI517172B (zh) 用於資料感測之方法、裝置及系統
US9063879B2 (en) Inspection of non-volatile memory for disturb effects
US9135105B2 (en) Probability-based remedial action for read disturb effects
US9129689B2 (en) Tracking erase pulses for non-volatile memory
WO2015047688A1 (en) Updating read voltages
CN107430491B (zh) 数据存储设备和方法
KR102178141B1 (ko) 비휘발성 메모리 장치의 동작 방법
TWI741128B (zh) 記憶體系統及用於操作半導體記憶體裝置的方法
TW201346918A (zh) 判定針對記憶體之字線之程式化步階大小之系統及方法
US9117533B2 (en) Tracking erase operations to regions of non-volatile memory
CN110989919B (zh) 用于存储器系统的日志记录机制
US20240036753A1 (en) Wordline leakage test management
US20240201875A1 (en) Managing data reliability in semiconductor devices