TWI574277B - 記憶體裝置中之錯誤校正操作 - Google Patents

記憶體裝置中之錯誤校正操作 Download PDF

Info

Publication number
TWI574277B
TWI574277B TW103109248A TW103109248A TWI574277B TW I574277 B TWI574277 B TW I574277B TW 103109248 A TW103109248 A TW 103109248A TW 103109248 A TW103109248 A TW 103109248A TW I574277 B TWI574277 B TW I574277B
Authority
TW
Taiwan
Prior art keywords
memory
ecc
error
data
memory array
Prior art date
Application number
TW103109248A
Other languages
English (en)
Other versions
TW201503152A (zh
Inventor
威廉 拉米
Original Assignee
美光科技公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美光科技公司 filed Critical 美光科技公司
Publication of TW201503152A publication Critical patent/TW201503152A/zh
Application granted granted Critical
Publication of TWI574277B publication Critical patent/TWI574277B/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

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)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Description

記憶體裝置中之錯誤校正操作
本發明大體而言係關於記憶體,且特定而言在一或多項實施例中,本發明係關於記憶體裝置中之錯誤校正。
記憶體裝置通常經提供作為電腦或其他電子系統中之內部半導體積體電路。存在諸多不同類型之記憶體,包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(SDRAM)、電阻隨機存取記憶體(RRAM)、雙倍資料速率記憶體(DDR)、低功率雙倍資料速率記憶體(LPDDR)、相變記憶體(PCM)及快閃記憶體。
非揮發性記憶體係可在不施加電力之情形下將其所儲存之資料存留達某一延長週期之記憶體。快閃記憶體裝置已發展成用於各種各樣電子應用的非易失性記憶體之一普遍來源。快閃記憶體裝置常用於諸如以下各項之電子系統中:個人電腦、個人數位助理(PDA)、數位相機、數位媒體播放器、數位記錄器、遊戲機、電器、車輛、無線裝置、行動電話及可抽換式記憶體模組,且快閃記憶體之用途不斷擴大。
記憶體裝置通常執行諸如讀取、寫入及抹除操作之記憶體操作。此等操作有時稱為背景操作,此乃因此等操作有時由一記憶體存取裝置(諸如一主機或耦合至記憶體裝置之其他記憶體裝置控制電路) 起始。額外操作包含有時稱為背景操作之操作。此等操作有時由一記憶體裝置自身中之控制電路起始。舉例而言,記憶體裝置中之平均磨損可執行為一背景操作。
認識到可在自記憶體裝置讀取資料時發生錯誤,可採用一或多種類型之錯誤校正方法。可實施常稱為錯誤校正碼(ECC)之錯誤校正方案以便檢測並嘗試校正此等錯誤。各種ECC包括其中經受ECC之每一資料信號應符合ECC之特定建構規則之碼。通常可自動地偵測到對此資料建構並不太大的違背(亦即,錯誤)且有時加以校正。ECC之實例包含漢明碼、BCH碼、李德-索羅門碼、雷德-穆勒碼、二進制格雷碼、低密度同位碼及格子碼調變。某些ECC可校正單位元錯誤並偵測雙位元錯誤。舉例而言,其他ECC可偵測及/或校正多位元錯誤。
通常,一記憶體裝置將資料(例如,使用者資料)儲存於該記憶體裝置中之一第一記憶體位置處且將相關聯錯誤校正碼(ECC)資料儲存於一第二記憶體位置處。在一讀取操作期間,回應於對所儲存使用者資料之一讀取請求而自記憶體陣列讀取該使用者資料及ECC資料。使用習知演算法,比較自讀取操作傳回之使用者資料與ECC資料。若偵測到錯誤且彼等錯誤在ECC之極限內(例如,所儲存ECC資料中存在充足ECC解析度),則可校正該等錯誤。ECC針對位元錯誤之偵測及校正之此使用在此項技術中係眾所習知的。
出於上述原因,且出於熟習此項技術者在閱讀且理解本說明書之後將明瞭之下述其他原因,此項技術中需要在具有記憶體裝置之系統中將主機自執行ECC操作中解除出來。
100‧‧‧NAND類型快閃記憶體陣列架構
102‧‧‧記憶體胞元
108‧‧‧NAND串
114‧‧‧源極線
1161-1164‧‧‧位元線/BL1至BL4
1180-1187‧‧‧字線/WL0至WL7
1201-1204‧‧‧記憶體胞元
130‧‧‧感測裝置(例如,感測放大器)
200‧‧‧Vt範圍
202‧‧‧Vt範圍
204‧‧‧Vt範圍
206‧‧‧Vt範圍
208‧‧‧Vt範圍
210‧‧‧死空間
302-308‧‧‧臨限電壓分佈/未移位分佈
312-318‧‧‧臨限電壓分佈/經移位分佈
320-328‧‧‧移位/臨限電壓漂移
400‧‧‧記憶體陣列
402‧‧‧儲存使用者資料之記憶體位置/使用者資料儲存位置
404‧‧‧儲存錯誤校正碼(ECC)資料之記憶體位置/ECC資料儲存位置
406‧‧‧列
500‧‧‧記憶體裝置
506‧‧‧通信通道
510‧‧‧處理器
520‧‧‧電子系統
530‧‧‧記憶體胞元陣列/記憶體陣列/陣列
540‧‧‧位址緩衝器電路
544‧‧‧列解碼器
546‧‧‧行解碼器
550‧‧‧感測電路/資料緩衝器與感測電路/資料緩衝器
556‧‧‧寫入電路
560‧‧‧電路
562‧‧‧資料連接
570‧‧‧控制電路/記憶體裝置控制電路
572‧‧‧資料連接/控制介面
580‧‧‧錯誤校正碼(ECC)引擎
582‧‧‧啟動或撤銷啟動
VT‧‧‧臨限電壓
圖1圖解說明一NAND組態記憶體胞元陣列之一示意性表示。
圖2圖解說明一記憶體胞元群體中之臨限電壓範圍之一圖形表示。
圖3圖解說明一記憶體胞元群體中之臨限電壓範圍之另一圖形表示。
圖4係一記憶體陣列組態之一簡化方塊圖。
圖5係根據本發明之一實施例之耦合至作為一電子系統之部分之一記憶體存取裝置之一記憶體裝置之一簡化方塊圖。
圖6係根據本發明之一實施例在一記憶體裝置中執行一錯誤校正操作之一方法之一流程圖。
圖7係根據本發明之一實施例在一記憶體裝置中執行一錯誤校正操作之另一方法之一流程圖。
在本發明之以下詳細說明中,參考形成本發明之一部分且其中以圖解說明方式展示特定實施例之附圖。在圖式中,貫穿數個視圖相似編號闡述實質上類似之組件。可利用其他實施例,且可在不背離本發明之範疇之前提下做出結構、邏輯及電改變。因此,不應在一限制意義上理解以下詳細說明。
快閃記憶體通常利用稱為NOR快閃及NAND快閃的兩種基本架構中的一者。該名稱係自用以讀取該等裝置之邏輯得出。圖1圖解說明一NAND類型快閃記憶體陣列架構100,其中記憶體陣列之記憶體胞元102在邏輯上配置成列與行之一陣列。舉例而言,在一習用NAND快閃架構中,「列」係指具有共同耦合之控制閘極120之記憶體胞元,而「行」係指耦合為一特定NAND串108之記憶體胞元。舉例而言,一記憶體胞元列可包括一或多個記憶體頁。陣列之記憶體胞元102一起配置成串(例如,NAND串),通常每串8個、16個、32個或更多個記憶體胞元。一串之每一記憶體胞元源極至汲極地一起串聯連接在一源極線114與一資料線116(通常稱為一位元線)之間。舉例而言,一列解碼器(圖1中未展示)藉由選擇一特定存取線(通常稱為一字線,諸如 WL7至WL0 1187至1180)啟動一記憶體胞元邏輯列來存取該陣列。每一字線耦合至一記憶體胞元列之控制閘極。可取決於正對陣列執行之操作類型而將資料線(通常稱為位元線,諸如BL1至BL4 1161-4)驅動為高或低。舉例而言,此等位元線BL1至BL4 1161-4耦合至藉由感測一特定位元線116上之電壓或電流來偵測一目標記憶體胞元之狀態之感測裝置(例如,感測放大器)130。如熟習此項技術者已知,字線及位元線之數目可遠大於圖1中所展示之字線及位元線之數目。
記憶體胞元102可如此項技術中所習知組態為單層記憶體胞元(SLC)或多層記憶體胞元(MLC)。SLC及MLC記憶體胞元將一資料狀態(例如,如由一或多個位元所表示)指派給記憶體胞元上所儲存之一特定臨限電壓(Vt)範圍。單層記憶體胞元(SLC)准許在每一記憶體胞元上儲存一單個二進制資料數位(例如,位元)。同時,MLC技術准許依據指派給胞元之Vt範圍之數量及在記憶體胞元之操作壽命期間所指派Vt範圍之穩定性來儲存每胞元兩個或兩個以上二進制數位(例如,2、4、8、16個位元)。用以表示由N個位元構成之一位元型樣之Vt範圍(例如,位準)之數目係2N,其中N係一整數。舉例而言,一個位元可由兩個範圍表示,兩個位元可由四個範圍表示,三個位元可由八個範圍表示等等。舉例而言,一常見命名慣例係將SLC記憶體稱為MLC(雙層)記憶體,此乃因SLC記憶體利用兩個Vt範圍以便儲存如由一0或一1表示之一個資料位元。經組態以儲存兩個資料位元之MLC記憶體可由MLC(四層)表示,經組態以儲存三個資料位元之MLC記憶體可由MLC(八層)表示等等。MLC記憶體胞元可進一步儲存分率位元,例如,使用並非係2之某一次冪之Vt範圍。舉例而言,使用三個Vt範圍之兩個記憶體胞元可共同表示九個可能資料狀態,其可表示三個資料位元或每記憶體胞元1.5個位元。
圖2圖解說明一MLC(四層)(例如,2位元)記憶體胞元之Vt範圍 200之一實例。舉例而言,可將一記憶體胞元程式化至一Vt,該Vt歸屬於200mV之四個不同Vt範圍202至208中之一者內,每一Vt範圍用以表示對應於由兩個位元構成之一位元型樣之一資料狀態。通常,在每一範圍202至208之間維持一死空間210(例如,有時稱為一裕量且可具有200mV至400mV之一範圍)以使該等範圍不重疊。作為一實例,若一記憶體胞元上所儲存之電壓在四個Vt範圍中之第一者202內,則在此情形中該胞元儲存一邏輯「11」狀態且通常將其視為該胞元之經抹除狀態。若該電壓在四個Vt範圍中之第二者204內,則在此情形中該胞元儲存一邏輯「10」狀態。四個Vt範圍中之第三個Vt範圍206中之一電壓將指示在此情形中胞元儲存一邏輯「00」狀態。最後,駐存於第四個Vt範圍208中之一Vt指示該胞元中儲存一邏輯「01」狀態。
通常使用抹除及程式化循環來程式化記憶體胞元。舉例而言,首先抹除且然後選擇性地程式化一特定記憶體胞元區塊之記憶體胞元。對於一NAND陣列,一記憶體胞元區塊通常藉由將區塊中之所有字線接地且將一抹除電壓施加至在其上形成該記憶體胞元區塊之一半導體基板且因此施加至記憶體胞元之通道以便移除可儲存於該記憶體胞元區塊之電荷儲存結構(例如,浮動閘極或電荷陷阱)上之電荷來抹除。舉例而言,此通常導致記憶體胞元之Vt駐存於圖2之Vt範圍202(例如,經抹除狀態)中。
程式化通常涉及將一或多個程式化脈衝施加至一選定字線(例如,WL4 1184)且因此施加至耦合至該選定字線之每一記憶體胞元1201至1204之控制閘極。典型程式化脈衝以15V或接近15V開始且量值往往在每一程式化脈衝施加期間增加。在將程式化電壓(例如,程式化脈衝)施加至選定字線時,將一電位(諸如一接地電位)施加至基板,且因此施加至此等記憶體胞元之通道,從而導致自作為程式化目 標之記憶體胞元之通道至儲存結構之一電荷轉移。更具體而言,通常透過電子自通道至儲存結構之直接注入或富勒-諾頓(Fowler-Nordheim)穿隧給儲存結構充電,從而在一經程式化狀態中導致通常大於零之一Vt,舉例而言,諸如在圖2之Vt範圍204至208中。另外,通常將一抑制電壓施加至未耦合至含有作為程式化目標(例如,經選擇)之一記憶體胞元之一NAND串之位元線。
在一或多個程式化(例如,Vpgm)脈衝之施加之間,通常執行一驗證操作以檢查每一選定記憶體胞元以判定其是否已達到其既定經程式化狀態。若一選定記憶體胞元已達到其既定經程式化狀態,則在選定列剩餘仍需要額外程式化脈衝以達到其既定經程式化狀態之其他記憶體胞元之情形下抑制該選定記憶體胞元進一步程式化。在一驗證操作之後,若存在尚未完成程式化之記憶體胞元,則施加一額外程式化脈衝Vpgm。施加一程式化脈衝後續接著執行一驗證操作之此過程繼續,直至所有選定記憶體胞元皆已達到其既定經程式化狀態為止。通常,在對一選定記憶體胞元120列執行之一程式化(例如,寫入)及/或一讀取操作期間,啟用(1161、1163)及/或抑制(1162、1164)交替之位元線。舉例而言,此由圍繞記憶體胞元120展示之實線及虛線圖解說明。舉例而言,若已施加特定數目個程式化脈衝(例如,最大資料)且一或多個選定記憶體胞元仍未完成程式化,則可將此等記憶體胞元標記為有缺陷的。
舉例而言,記憶體裝置(諸如NAND快閃記憶體裝置)通常利用所謂的修整值來對一記憶體裝置之一記憶體陣列執行記憶體操作,諸如一讀取操作。舉例而言,一最小讀取電壓可由一VreadMin修整值表示且一最大讀取電壓可由一VreadMax修整值表示。此等修整值通常儲存於記憶體裝置中之一暫存器中以定義待在於記憶體裝置中執行之讀取操作期間利用之電壓。舉例而言,可在一開機操作期間於記憶體裝 置之一重設之後給暫存器載入修整值。舉例而言,可利用其他修整值,諸如用於執行驗證操作之驗證修整值。
一記憶體裝置中之一潛在錯誤源(諸如可導致資料損毀)係在某一時間段內自記憶體胞元之電荷儲存結構(例如,浮動閘極)之電荷損失。此通常導致受影響記憶體胞元之臨限電壓之一減小。由於儲存於記憶體胞元中之資料由該等記憶體胞元之臨限電壓表示,因此可將一記憶體胞元之臨限電壓之一改變(例如,漂移)讀取為儲存不同於程式化至該記憶體胞元中之一所要資料值之一資料值。舉例而言,一記憶體胞元中之充足臨限電壓漂移(例如,增加或減小之Vt)最終可造成儲存於該記憶體胞元中之資料之損毀。
圖3圖解說明一記憶體胞元群體中之臨限電壓漂移之一圖形表示。如上文所論述,臨限電壓漂移可由於自一記憶體胞元之一電荷儲存結構之電荷損失而發生。臨限電壓漂移可由於各種其他現象而發生,諸如在對記憶體胞元陣列執行之程式化操作期間發生之程式化干擾效應。圖3之臨限電壓分佈302至308可分別對應於上文關於圖2所論述之臨限電壓分佈202至208。臨限電壓分佈312至318圖解說明記憶體胞元之一臨限電壓移位(例如,漂移)。分佈306可表示程式化至層L2之一或多個記憶體胞元,而分佈316可表示程式化至層L2之記憶體胞元隨時間之一臨限電壓移位324。圖3中將每一經移位臨限電壓分佈312至318展示為自其各別未移位分佈302至308移位320至328相同量。然而,每一臨限電壓漂移320至328可沿不同方向發生且具有不同於其他臨限電壓漂移方向之量值及不同於圖3中所展示之量值之量值。臨限電壓漂移324可包括不同於臨限電壓漂移322所展現之一量值及/或方向性移位。此外,臨限電壓漂移326可包括不同於臨限電壓漂移328所展現之一量值及/或方向性漂移。程式化至一特定位準之記憶體胞元之臨限電壓漂移將不始終以一均一方向及/或量值漂移。
如上文所論述,一記憶體胞元中之臨限電壓漂移可致使儲存於記憶體胞元中之資料變得被損毀。分佈316表示臨限電壓已移位324某一量之記憶體胞元。只要記憶體裝置可在不同分佈之臨限電壓之間區分(諸如在分佈316與分佈304之間),則自彼等記憶體胞元讀取之資料可能係可靠的。然而,若表示一第一經程式化位準之一分佈之臨限電壓漂移得太遠以致與表示一第二經程式化位準之另一分佈之臨限電壓重疊,則對此等記憶體胞元之一讀取操作可產生經損毀之資料。舉例而言,一記憶體胞元可能已經程式化至具有在分佈306內之一臨限電壓之一所要層L2。在某一時間內,分佈306之臨限電壓可漂移,諸如由分佈316所表示。若由分佈316表示之記憶體胞元之臨限電壓漂移至分佈304內之臨限電壓位準,則可將記憶體胞元讀取為猶如該記憶體胞元已經程式化至層L1而非如所程式化之L2。因此,可在讀取此等記憶體胞元時發生一錯誤。
可使用錯誤校正碼(ECC)方法來嘗試校正自若干個記憶體胞元讀取之資料中之一或多個錯誤。舉例而言,遵循一特定演算法而藉由對待儲存之使用者資料應用該演算法來產生對應於使用者資料之ECC資料。將使用者資料連同其對應ECC資料一起儲存於一記憶體裝置之一記憶體陣列中。舉例而言,圖4圖解說明一記憶體裝置之一記憶體陣列400(諸如一快閃記憶體胞元陣列)之一表示。使用者資料儲存於經指定為儲存使用者資料之記憶體位置402中且ECC資料儲存於指定為儲存ECC資料之記憶體位置404中。圖4圖解說明每一列406包括一使用者資料儲存區域及一ECC資料儲存區域。舉例而言,儲存於列406中之ECC資料可對應於儲存於列406中之使用者資料。然而,一記憶體陣列中之使用者資料儲存位置402及ECC資料儲存位置404之配置可不同於圖4中所展示之配置。
非揮發性記憶體裝置(例如,NAND記憶體)通常已依賴於一外部 記憶體存取裝置(諸如一外部控制器或處理器)來促進對自一記憶體裝置讀取之使用者資料執行之錯誤校正操作。舉例而言,處理器自記憶體裝置讀取並接收使用者資料連同其對應ECC資料。若偵測到一錯誤,則處理器嘗試執行一校正操作以嘗試產生待由處理器使用之經校正使用者資料。儘管處理器可能已校正一錯誤,但該錯誤之源尚未經校正。換言之,該處理器對自記憶體裝置讀取之使用者資料做出一校正且然後繼續移動至其他操作,而錯誤之源可能仍存在。舉例而言,儲存於一記憶體裝置之記憶體胞元中之使用者資料可能已變得被損毀。此損毀之原因可繼續發生直至其中在某一時間點之後可能不能使用ECC操作來校正經損毀使用者資料之一點。此外,系統效能受處理器必須執行ECC操作以判定是否已發生一錯誤且嘗試校正自記憶體裝置讀取之使用者資料中之任何經偵測錯誤影響。
耦合至一記憶體裝置之一處理器(圖4中未展示)可將執行一記憶體位置之一讀取操作之一命令發送至該記憶體裝置。當執行讀取操作時,自記憶體陣列讀取所請求使用者資料連同其對應ECC資料並將其發送至外部控制器。該ECC資料用以促進對自記憶體陣列讀取之對應使用者資料執行一錯誤檢查。若未偵測到錯誤,則將使用者資料視為準確的。若偵測到一錯誤,則外部控制器可利用各種ECC操作來嘗試校正在由該外部控制器偵測之使用者資料中偵測到之錯誤。如上文所論述,此對外部控制器施加錯誤檢查及錯誤校正之一負擔。
圖5圖解說明根據本發明之各種實施例之一記憶體裝置500之一功能方塊圖。記憶體裝置500耦合至一外部記憶體存取裝置510(諸如,如上文所論述之一外部控制器)。外部控制器510可係一處理器或某一其他類型之控制電路。舉例而言,處理器510可經組態以回應於接收到自記憶體裝置讀取之使用者資料及ECC資料而執行ECC操作,如上文所論述。
記憶體裝置500經由一或多個通信通道506(例如,通信匯流排)耦合至處理器510。該通信匯流排可包括分別用於傳輸表示命令、位址及/或資料之信號之命令、位址及/或資料信號線。舉例而言,該通信匯流排可包括若干個標準介面,諸如一通用串列匯流排(USB)介面。通信匯流排506可係與諸多硬碟機一起使用之一標準介面(例如,SATA、PATA),如熟習此項技術者所已知。共同地,記憶體裝置500、處理器510及通信匯流排506形成一電子系統520之部分。
記憶體裝置500包含一或多個記憶體胞元陣列530。記憶體陣列530可包括諸如快閃記憶體及/或相變記憶體(PCM)之記憶體。舉例而言,記憶體陣列530可包括諸如上文關於圖1所論述之一NAND組態快閃記憶體胞元陣列。一或多個記憶體陣列530可包括2D及/或3D記憶體陣列。記憶體陣列530可包含駐存於作為記憶體裝置500之部分之一單個或多個晶粒上之多個記憶體胞元庫及區塊。記憶體陣列530可包括SLC及/或MLC記憶體。舉例而言,記憶體陣列530亦可係可調適的以在每一記憶體胞元中儲存變化之資料密度(例如,MLC(四層)及MLC(八層))。
位址緩衝器電路540經提供以鎖存透過I/O電路560提供之位址信號。位址信號由一列解碼器544及一行解碼器546接收並解碼以存取記憶體陣列530。
記憶體裝置500藉由使用資料緩衝器/感測電路550感測記憶體陣列行中之電壓或電流改變來讀取記憶體陣列530中之記憶體胞元。在一項實施例中,感測電路550經耦合以自記憶體陣列530讀取及鎖存一資料列(例如,頁)。透過I/O電路560輸入及輸出資料以用於經由複數個資料連接562與處理器510進行雙向資料通信以及位址通信。寫入電路556經提供以將資料寫入至記憶體陣列。
控制電路570解碼自外部處理器510提供於一控制介面572之資料 連接上之信號。此等信號用於控制對記憶體陣列530之操作,包含資料讀取、資料寫入(程式化)及抹除操作。資料連接572及資料連接562可經組合或經部分地組合以形成上文所論述之通信匯流排506。控制電路570可係一狀態機、一定序器或經組態以控制記憶體控制信號之產生之某一其他類型之控制電路。控制電路570至少部分地經組態以促進實施本發明之各種實施例。根據各種實施例,控制電路570經組態以支援由ECC引擎580在記憶體裝置內部執行之ECC操作。舉例而言,可由該控制電路啟動或撤銷啟動(如582所指示)ECC引擎580。根據本發明之一或多項實施例,控制電路570可進一步經組態以在正執行各種操作(諸如內部ECC操作)時阻止外部處理器510對記憶體陣列中之特定位置之存取。可將具有或不具有額外電路或韌體之控制電路570及ECC引擎580視為一內部控制器之部分。
控制電路570可耦合(圖5中未展示)至記憶體裝置500之元件中之一或多者。舉例而言,控制電路570可耦合至列解碼器544且經組態以致使列解碼器驅動器電路加偏壓於記憶體陣列530之特定字線。控制電路570可耦合(圖5中未展示)至資料緩衝器與感測電路550且經組態以致使資料緩衝器與感測電路550加偏壓於陣列530之特定位元線。控制電路570可進一步包括一或多個暫存器電路。
根據本發明之各種實施例,記憶體裝置500之ECC引擎580經組態以獨立於來自處理器510之支援或指令而在記憶體裝置內部執行各種ECC操作。舉例而言,該ECC引擎可經組態以支援諸如漢明碼、BCH碼、李德-索羅門碼、雷德-穆勒碼、二進制格雷碼、低密度同位碼及格子碼調變方法及演算法之一或多個ECC方案。舉例而言,對在ECC引擎580中實施哪一方法之選擇可按照技術及/或一所要目標可靠性位準來修整。舉例而言,根據各種實施例,ECC引擎580可經組態以促進對多種記憶體胞元群組(諸如一記憶體胞元頁及/或一記憶體胞元區 塊)執行一ECC操作。
可由控制電路570啟動或撤銷啟動(如582所指示)ECC引擎580。ECC引擎580經組態以促進產生對應於待儲存於記憶體陣列中及/或待自記憶體陣列讀取之使用者資料之ECC資料。舉例而言,待儲存(例如,程式化)於記憶體陣列中之使用者資料可通過ECC引擎580,其中該ECC引擎產生待連同使用者資料一起儲存之對應ECC資料。作為一讀取操作之部分,可自記憶體陣列中之一位置讀取使用者資料連同其對應所儲存ECC資料。該ECC引擎進一步經組態以產生對應於自記憶體位置讀取之使用者資料之額外ECC資料(例如,ECC測試資料)。該ECC引擎比較所產生ECC測試資料與在將使用者資料儲存於記憶體陣列中時與其一起儲存之ECC資料。若所產生ECC測試資料與自記憶體陣列讀取之ECC資料匹配,則假定自記憶體陣列讀取之使用者資料中不存在錯誤。若發生所產生ECC測試資料與所讀取ECC資料之一不匹配,則假定在自記憶體陣列讀取之使用者資料中存在一錯誤。
ECC引擎580進一步經組態以執行各種ECC演算法以嘗試校正在自記憶體陣列讀取之使用者資料中偵測之一錯誤。根據一或多項實施例,然後可將經校正使用者資料儲存回至記憶體陣列中,如由內部控制器(例如,ECC引擎580及/或控制電路570)所促進。因此,記憶體裝置500組態有一「往回迴圈路徑」以將經校正資料(例如,經校正使用者資料)儲存回至自其讀取了經損毀資料之陣列。根據本發明之各種實施例,ECC引擎580促進在記憶體裝置內部且在不存在來自(舉例而言)一外部處理器510之任何引導之情形下執行各種ECC操作。校正一錯誤之成功可取決於若干個因素。取決於由ECC引擎580採用之ECC演算法之類型及強度,某些錯誤可係不可校正的。
圖5中圖解說明之記憶體裝置已經簡化以促進對記憶體之特徵之一基本理解。熟習此項技術者已知快閃記憶體之內部電路及功能之一 更詳細理解。
ECC引擎580可進一步經組態以回應於在記憶體裝置500中起始(例如,獨立地起始)內部ECC操作之各種條件而執行各種ECC操作。圖6圖解說明根據本發明之一或多項實施例執行各種內部ECC操作之一流程圖。
圖6圖解說明在一記憶體裝置中起始一ECC操作600(例如,內部ECC操作)。舉例而言,可藉由記憶體裝置之一內部控制器(例如,藉由諸如上文所論述且在圖5中展示之控制電路570及/或ECC引擎580)來促進執行ECC操作。可藉由各種方法來做出起始一ECC操作之一決策。可回應於自一外部處理器510接收之一指令而起始一內部ECC操作。根據本發明之一或多項實施例,可在記憶體裝置中起始並作為背景操作來執行內部ECC操作,諸如在不存在來自一外部處理器510之執行一內部ECC操作之一指令之情形下。
舉例而言,根據各種實施例,可由ECC引擎580及控制電路570中之一者或兩者起始一內部ECC操作。可週期性地執行內部ECC操作。舉例而言,根據本發明之各種實施例,可回應於已逝去之一特定時間(諸如自先前執行內部ECC操作以來逝去之時間)而執行ECC操作。可回應於已執行之記憶體裝置操作之一數目而起始內部ECC操作。舉例而言,可在已執行一定數目個程式化及/或抹除操作之後起始內部ECC操作。可使得ECC操作之頻率至少部分地取決於所使用之ECC方法之類型。舉例而言,使用一較強ECC演算法可允許不那麼頻繁地執行ECC操作。
在於608處起始一ECC操作之後,在610處自記憶體陣列讀取選擇為被檢查之記憶體胞元以獲得所讀取使用者資料及對應所讀取ECC資料。可回應於已對記憶體胞元執行一定數目個程式化及/或抹除操作而選擇記憶體胞元或記憶體胞元群組(例如,記憶體胞元區塊)。舉例 而言,超過一定數目個程式化及/或抹除操作可將一記憶體胞元群組識別為經排程以用於一ECC操作。記憶體胞元隨時間推移及/或因經受越來越多的程式化/抹除循環而老化。完成對記憶體胞元之程式化操作所需要之程式化脈衝之數目可係彼等記憶體胞元之老化或磨損位準之一指示。因此,可基於追蹤完成對記憶體胞元之程式化操作所需要之程式化脈衝之數目回應於記憶體胞元之一經判定老化或磨損位準而起始ECC操作。舉例而言,一記憶體胞元群組之所觀察程式化特性之一增加(例如,完成程式化操作所需要之程式化脈衝之一數目之增加)可指示彼等胞元之一磨損位準。因此,舉例而言,可回應於一記憶體胞元群組中之一高磨損位準指示之一指示而起始ECC操作。根據一或多項實施例,可隨機或依序選擇記憶體胞元群組以用於ECC操作。
在612處,ECC引擎580藉由對所讀取使用者資料應用一特定ECC演算法來處理所讀取使用者資料及所讀取ECC資料。ECC引擎580對所讀取使用者資料應用ECC演算法以產生對應於該所讀取使用者資料之ECC資料(例如,ECC測試資料)。比較ECC測試資料與自記憶體裝置讀取且對應於所讀取使用者資料之ECC資料。在614處,回應於ECC測試資料與所讀取ECC資料之比較之一結果而做出所讀取使用者資料中是否存在一錯誤之一判定。若在614處未偵測到錯誤,則在640處結束ECC操作。
ECC比較操作之一結果可指示在所讀取使用者資料中存在一錯誤。當指示一錯誤時,在620處做出識別促成錯誤(例如,儲存經損毀資料)之記憶體胞元之一嘗試。若錯誤在ECC之極限內且可能進行校正,則促成錯誤之記憶體胞元之識別係一簡單任務,亦即,對應於待校正之所讀取資料之彼等記憶體胞元。根據一或多項實施例,ECC引擎580進一步經組態以在622處判定經偵測錯誤之原因是否係由於一或 多個記憶體胞元中之臨限電壓漂移所致,諸如具有已漂移至一較低位準之一臨限電壓,舉例而言,如上文關於圖3所論述。若錯誤在ECC之極限內且可能進行校正,則經偵測錯誤之原因之判定係一簡單任務。舉例而言,參考圖3,若ECC測試資料指示對應於一記憶體胞元之資料應表示一L2資料狀態,但對應於彼記憶體胞元之所讀取使用者資料表示一L1資料狀態(或其他較低資料狀態),則可認為錯誤之原因係彼記憶體胞元之臨限電壓之一降低之結果。可類似地判定認為係一記憶體胞元之臨限電壓之一增加之結果之錯誤,例如,其中所讀取使用者資料表示比由ECC測試資料指示之一資料狀態高之一資料狀態。
若將一或多個記憶體胞元識別為具有一減小之臨限電壓,則ECC引擎580及/或控制電路570可促進在626處對經識別記憶體胞元執行一程式化操作(例如,修飾程式化操作)以增加其臨限電壓位準以將其恢復至其臨限電壓漂移前位準。換言之,修飾程式化操作促進將一電荷量恢復(例如,諸如在不首先執行一抹除操作之情形下)至記憶體胞元之電荷儲存結構以使得其臨限電壓再次具有對應於其既定(例如,所要)經程式化位準之一位準。可在626處連同修飾程式化操作一起執行一驗證操作以便驗證已恢復記憶體胞元之所要臨限電壓位準。因此,根據本發明之各種實施例,對回應於執行一ECC操作而識別為經歷臨限電壓位準之減小之記憶體胞元執行一程式化操作(例如,修飾程式化操作)。根據本發明之進一步實施例,只有在經識別記憶體胞元皆不由於臨限電壓之一增加而促成經判定錯誤時,才可在626處執行此等程式化操作。
可在ECC操作期間將記憶體胞元識別為具有已增加(例如,增加之臨限電壓漂移)至已導致所讀取使用者資料之一錯誤之一程度之臨限電壓。ECC引擎580可在630處應用一ECC演算法以嘗試校正在所讀取使用者資料中偵測之錯誤並產生經校正使用者資料,且可將經校正 使用者資料儲存於記憶體裝置中,舉例而言,諸如資料緩衝器550中。ECC引擎580及/或控制電路570然後可促進在632處執行一程式化操作以將經校正使用者資料儲存回至記憶體陣列530中。可將經校正使用者資料儲存於記憶體陣列中於不同於其正替換之使用者資料之一位置中。舉例而言,可將經校正資料儲存於不同於經損毀使用者資料儲存於其中的記憶體裝置之一經抹除位置中。另一選擇係,控制電路570可促進對儲存經損毀之所讀取使用者資料之記憶體位置執行一抹除操作且隨後將經校正使用者資料儲存於相同記憶體位置中。根據各種實施例,若至少一個經識別記憶體胞元由於臨限電壓之一增加而促成了經判定錯誤,則可執行儲存經校正使用者資料。
根據一或多項實施例,記憶體裝置500可包括促進該記憶體裝置中之邏輯至實體位址轉譯(有時稱為邏輯至實體位址映射)之一位址重新映射單元。此資料結構提供邏輯位址與位於一記憶體裝置中之實體位址之間的一相關性。舉例而言,可將一個一對一映射裝置視為包括對應於一個邏輯記憶體磁區之一個實體記憶體磁區。可在記憶體裝置中或另一選擇係在一外部處理器中儲存並維持包括邏輯至實體位址轉譯資訊之一資料結構。此資料結構可稱為一邏輯至實體位址轉譯資料結構。
為了防止對資料之損毀,可阻止對應於記憶體裝置之一或多個實體位址之一或多個邏輯位址(例如,邏輯位址範圍)被除經組態以促進執行內部ECC操作之記憶體裝置控制電路570及/或ECC引擎580以外的裝置存取。因此,一或多項實施例促進管理存取,諸如在於記憶體裝置內部執行ECC操作時允許或阻止對映射至記憶體裝置之實體位址之一或多個邏輯位址之存取。舉例而言,在正執行內部ECC操作時,記憶體裝置之控制電路570可以存取記憶體裝置中之實體位址,但耦合至記憶體裝置之一處理器510可不被允許進行存取。記憶體裝置可 經組態以維持一輸出信號,諸如來自記憶體裝置之一「就緒/忙碌」(R/B)信號。舉例而言,R/B信號之位準(例如,邏輯位準)指示是否正在記憶體裝置中執行一ECC操作。舉例而言,可包含一R/B信號線(未展示)作為上文關於圖5所論述之通信匯流排506之部分。
再次參考圖6,若將經校正使用者資料儲存於不同於經損毀所讀取使用者資料之一記憶體位置中,則可在634處更新邏輯至實體位址轉譯資料結構以反映經校正使用者資料在記憶體陣列中之新位置。舉例而言,若在一外部處理器510中維持邏輯至實體位址轉譯資料結構,則記憶體裝置500可將經更新位址資訊發送至外部處理器510,以使得可用經校正使用者資料之新實體位址來更新該邏輯至實體位址轉譯結構。舉例而言,可回應於識別出記憶體裝置500中用以儲存經校正使用者資料之一新實體位置而在該記憶體裝置內部更新在該記憶體裝置中維持之一邏輯至實體位址轉譯資料結構。
應注意,根據一或多項實施例,可不需要在626處之修飾程式化操作之後更新邏輯至實體位址轉譯資料結構,此乃因使用者資料在記憶體裝置中之位置尚未改變。此外,一或多項實施例可包括將在完成執行ECC操作之一第一反覆之後再次執行的由圖6圖解說明之ECC操作。舉例而言,在於626處執行修飾程式化操作及/或於632處將經校正使用者資料程式化至記憶體陣列之後,可再次執行由圖6闡述之ECC操作以便驗證成功地完成了先前所執行之ECC操作。
圖7圖解說明根據本發明之一或多項實施例執行另一內部ECC操作之一流程圖。由圖7圖解說明之方法類似於圖6中所展示且上文所論述之方法。在708處起始一ECC操作,諸如上文關於圖6之步驟608所論述。在710處自選定記憶體胞元讀取使用者資料及ECC資料,諸如上文關於步驟610所論述。在712處,對所讀取使用者資料執行一ECC檢查,諸如上文關於圖6之步驟612所論述。ECC引擎580在714處判定 在所讀取使用者資料中是否存在一錯誤。若未偵測到錯誤,則在740處ECC操作完成。
若在714處偵測到一錯誤,則ECC引擎580經組態以判定一定數目個選定記憶體胞元之臨限電壓移位之一量值及/或方向。回應於臨限電壓移位判定,該ECC引擎嘗試在722處判定(例如,判定並調整)若利用則可校正在ECC檢查期間偵測之錯誤之修整值。舉例而言,臨限電壓漂移可能已沿相同方向且以實質上相同量值發生。因此,根據本發明之一或多項實施例,對在讀取操作期間使用之修整值(例如,VreadMin及/或VreadMax)之一調整可經調整以補償由ECC引擎720判定之臨限電壓移位。舉例而言,可在724處將此等經調整修整值儲存於記憶體裝置之修整暫存器中(諸如上文所論述),以在對選定記憶體胞元執行之後續讀取操作期間利用。
結論
已闡述記憶體裝置中之錯誤校正操作。特定而言,已論述在記憶體裝置內獨立於來自耦合至該記憶體裝置之一外部記憶體存取裝置之一指令而執行錯誤校正操作之方法。可由內部記憶體裝置控制電路管理獨立錯誤校正操作,該內部記憶體裝置控制電路經組態以在記憶體裝置中起始並促進執行錯誤校正操作以識別並校正錯誤且將資料之一經校正版本儲存於該記憶體裝置中。亦已揭示回應於在記憶體裝置中執行ECC操作而調整修整值。
雖然本文中已圖解說明且闡述了特定實施例,但熟習此項技術者將瞭解,旨在達成相同目的之任何配置可替代所展示之特定實施例。熟習此項技術者將明瞭本發明之諸多更改形式。因此,本申請案意欲涵蓋本發明之任何更改形式或變化形式。

Claims (15)

  1. 一種操作一記憶體裝置之方法,該方法包括:對儲存於該記憶體裝置之一記憶體陣列之一第一部分中之使用者資料執行一錯誤校正碼(ECC)操作;回應於執行該ECC操作而判定儲存於該記憶體陣列之該第一部分中之使用者資料中是否存在一錯誤;及若判定存在一錯誤且該經判定錯誤可被校正,則:藉由比較該記憶體陣列之該第一部分中之任一記憶體胞元之一期望資料狀態與該任一記憶體胞元之一讀取資料狀態判定該任一記憶體胞元是否由於來自一個別所要臨限電壓之臨限電壓之一降低而促成該經判定錯誤;若該記憶體陣列之該第一部分之至少一記憶體胞元由於來自其個別所要臨限電壓之臨限電壓之一降低而促成了該經判定錯誤,則將一或多個程式化脈衝施加至該記憶體陣列之該第一部分之記憶體胞元;及若該記憶體陣列之該第一部分之該至少一記憶體胞元由於來自其個別所要臨限電壓之臨限電壓之一降低而促成了該經判定錯誤,則在施加該一或多個程式化脈衝之一程式化脈衝後,驗證該記憶體陣列之該第一部分之該至少一記憶體胞元是否恢復至其個別所要臨限電壓。
  2. 如請求項1之方法,其中執行一錯誤校正碼(ECC)操作進一步包括:獨立於自耦合至該記憶體裝置之一外部記憶體存取裝置接收之一指令而執行一錯誤校正碼(ECC)操作。
  3. 如請求項2之方法,其中獨立於自一外部記憶體存取裝置接收之一指令而執行一錯誤校正碼(ECC)操作進一步包括:回應於由該 記憶體裝置之一內部控制器產生之一命令而執行一錯誤校正碼(ECC)操作。
  4. 如請求項1至3中任一項之方法,其中施加一或多個程式化脈衝進一步包括:在不首先對該記憶體陣列之該第一部分之記憶體胞元執行一抹除操作之情形下施加一或多個程式化脈衝。
  5. 如請求項4之方法,其進一步包括:在將該一或多個程式化脈衝施加至該記憶體陣列之該第一部分之該等記憶體胞元時,抑制除經判定為已由於臨限電壓之一降低而促成該錯誤的該記憶體陣列之該第一部分之任何記憶體胞元之外的該記憶體陣列之該第一部分之記憶體胞元受到程式化。
  6. 如請求項1至3中任一項之方法,其中將一或多個程式化脈衝施加至該記憶體陣列之該第一部分之記憶體胞元進一步包括:僅在該記憶體陣列之該第一部分之記憶體胞元皆未由於臨限電壓之一增加而促成該經判定錯誤時,將該一或多個程式化脈衝施加至該記憶體陣列之該第一部分之該等記憶體胞元。
  7. 如請求項6之方法,其中若判定存在一錯誤且該經判定錯誤可被校正,則該方法進一步包括:判定該記憶體陣列之該第一部分中之任一記憶體胞元是否由於臨限電壓之一增加而促成該經判定錯誤;及若該記憶體陣列之該第一部分之至少一個記憶體胞元由於該至少一個記憶體胞元之臨限電壓之一增加而促成了該經判定錯誤,則產生經校正使用者資料並將該經校正使用者資料儲存於該記憶體陣列之一第二部分中。
  8. 如請求項7之方法,其進一步包括:若該記憶體陣列之該第二部分具有不同於該記憶體陣列之該第一部分之一實體位址,則回應於儲存於該記憶體陣列之該第二部分中之經校正使用者資料 而更新一邏輯至實體位址轉譯資料結構。
  9. 如請求項8之方法,其中更新進一步包括:若該記憶體陣列之該第二部分具有不同於該記憶體陣列之該第一部分之一實體位址,則藉由將該記憶體陣列之該第二部分之一位址發送至耦合至該記憶體裝置之一外部記憶體存取裝置進行更新,其中該外部記憶體存取裝置經組態以維持該邏輯至實體位址轉譯資料結構。
  10. 如請求項9之方法,其中在不存在來自該外部記憶體存取裝置之更新該邏輯至實體位址轉譯資料結構之一請求之情形下由該記憶體裝置將該經更新位址發送至該外部記憶體存取裝置。
  11. 如請求項7之方法,其中將該經校正使用者資料存儲於該記憶體陣列之一第二部分中包括:抹除該記憶體陣列之該第一部分並將該經校正使用者資料儲存於該記憶體陣列之該經抹除第一部分中。
  12. 如請求項1至3中任一項之方法,其進一步包括:其中執行該ECC操作包括:讀取使用者資料及對應於該使用者資料之錯誤校正碼(ECC)資料;及自該所讀取使用者資料產生額外錯誤校正碼(ECC)資料;其中判定是否存在一錯誤包括:比較該所產生ECC資料與該所讀取ECC資料;及若判定存在一錯誤,則:判定哪些儲存該所讀取使用者資料之記憶體胞元促成了該錯誤;若經判定為已促成該錯誤之該等記憶體胞元中之每一者由於一臨限電壓之一減小而促成了該錯誤,則將一或多個程式 化脈衝施加至該等記憶體胞元;及在將該等記憶體胞元中之至少一者判定為已由於臨限電壓之一增加而促成該錯誤時,產生經校正使用者資料並將該經校正使用者資料儲存於一第二記憶體位置中。
  13. 如請求項1至3中任一項之方法,其進一步包括:若判定存在一錯誤,則調整該記憶體裝置之一或多個修整值;其中該一或多個修整值包括對應於一最小讀取電壓之一修整值及/或對應於一最大讀取電壓之一修整值。
  14. 一種包括一內部控制器之記憶體裝置,其中該內部控制器經組態以獨立於自耦合至該記憶體裝置之一外部記憶體存取裝置接收之一指令而執行如請求項13之方法。
  15. 一種包括一內部控制器之記憶體裝置,其中該內部控制器經組態以執行如請求項12之方法。
TW103109248A 2013-03-15 2014-03-14 記憶體裝置中之錯誤校正操作 TWI574277B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361788906P 2013-03-15 2013-03-15
US14/189,375 US9367391B2 (en) 2013-03-15 2014-02-25 Error correction operations in a memory device

Publications (2)

Publication Number Publication Date
TW201503152A TW201503152A (zh) 2015-01-16
TWI574277B true TWI574277B (zh) 2017-03-11

Family

ID=51534249

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103109248A TWI574277B (zh) 2013-03-15 2014-03-14 記憶體裝置中之錯誤校正操作

Country Status (7)

Country Link
US (1) US9367391B2 (zh)
EP (1) EP2973588B1 (zh)
JP (1) JP6127200B2 (zh)
KR (1) KR101665280B1 (zh)
CN (1) CN105144302B (zh)
TW (1) TWI574277B (zh)
WO (1) WO2014152627A2 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9323614B2 (en) * 2013-11-06 2016-04-26 Wisconsin Alumni Research Foundation Dynamic error handling for on-chip memory structures
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
KR102249810B1 (ko) * 2014-07-23 2021-05-11 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9558066B2 (en) 2014-09-26 2017-01-31 Intel Corporation Exchanging ECC metadata between memory and host system
KR102333743B1 (ko) * 2015-01-21 2021-12-01 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
JP6515555B2 (ja) * 2015-02-02 2019-05-22 富士通株式会社 演算処理装置、メモリ制御装置及び演算処理装置の制御方法
US9811420B2 (en) 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US10303571B2 (en) * 2015-11-04 2019-05-28 Intel Corporation Data recovery in memory devices
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) * 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10395754B2 (en) * 2016-03-21 2019-08-27 Nandext Srl Method for decoding bits in a solid state drive, and related solid state drive
TWI575533B (zh) * 2016-04-18 2017-03-21 群聯電子股份有限公司 資料校正方法、記憶體控制電路單元與記憶體儲存裝置
WO2017192626A1 (en) * 2016-05-02 2017-11-09 Intel Corporation Internal error checking and correction (ecc) with extra system bits
US10067827B2 (en) * 2016-06-29 2018-09-04 Micron Technology, Inc. Error correction code event detection
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
DE102016115272A1 (de) * 2016-08-17 2018-02-22 Infineon Technologies Ag Speicher mit unterschiedlichen zuverlässigkeiten
US9691492B1 (en) * 2016-09-29 2017-06-27 Intel Corporation Determination of demarcation voltage for managing drift in non-volatile memory devices
US20180121287A1 (en) * 2016-11-01 2018-05-03 Nvidia Corporation Inline error detection and correction techniques
KR20180060084A (ko) 2016-11-28 2018-06-07 삼성전자주식회사 반도체 메모리 장치의 스크러빙 컨트롤러, 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US10402272B2 (en) * 2017-05-25 2019-09-03 Micron Technology, Inc. Memory device with dynamic programming calibration
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10535415B2 (en) * 2017-11-03 2020-01-14 Micron Technology, Inc. Trim setting determination for a memory device
US10649656B2 (en) 2017-12-28 2020-05-12 Micron Technology, Inc. Techniques to update a trim parameter in non-volatile memory
US11068186B2 (en) * 2018-02-09 2021-07-20 Micron Technology, Inc. Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation
US11275512B2 (en) * 2018-05-08 2022-03-15 Micron Technology, Inc. Asynchronous power loss impacted data structure
US10990466B2 (en) * 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
CN110910938A (zh) * 2018-09-17 2020-03-24 北京兆易创新科技股份有限公司 一种数据纠正方法、装置、存储设备及存储介质
DE102018124296B4 (de) * 2018-10-02 2024-06-20 Infineon Technologies Ag Kompensation von lesefehlern
US11514174B2 (en) * 2019-01-23 2022-11-29 Micron Technology, Inc. Memory devices with cryptographic components
US11301320B2 (en) 2020-04-03 2022-04-12 Micron Technology, Inc. Erasure decoding for a memory device
CN114144834A (zh) * 2019-06-14 2022-03-04 美光科技公司 存储器装置的存储器管理及删除解码
US10984847B2 (en) 2019-06-14 2021-04-20 Micron Technology, Inc. Memory management for charge leakage in a memory device
US10963336B2 (en) * 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
US11200118B2 (en) 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US11056199B2 (en) * 2019-10-30 2021-07-06 International Business Machines Corporation Updating corrective read voltage offsets in non-volatile random access memory
US11693732B2 (en) * 2019-12-31 2023-07-04 Micron Technology, Inc. Cryptographic data integrity protection
DE102020133713A1 (de) * 2020-02-27 2021-09-02 Taiwan Semiconductor Manufacturing Co., Ltd. Speicheraktualisierung
US11288160B2 (en) 2020-08-17 2022-03-29 Micron Technology, Inc. Threshold voltage distribution adjustment for buffer
JP2022051179A (ja) 2020-09-18 2022-03-31 キオクシア株式会社 記憶装置及びリード方法
US11604601B2 (en) * 2020-10-12 2023-03-14 Micron Technology, Inc. Trim value loading management in a memory sub-system
US11789817B2 (en) * 2021-04-26 2023-10-17 Micron Technology, Inc. Error correction for internal read operations
US11907580B2 (en) * 2021-12-22 2024-02-20 Micron Technology, Inc. Corrective read of a memory device with reduced latency

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011055749A1 (ja) * 2009-11-06 2011-05-12 株式会社 東芝 メモリシステム

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5909449A (en) * 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7447847B2 (en) 2004-07-19 2008-11-04 Micron Technology, Inc. Memory device trims
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) * 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US7770079B2 (en) 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
US7882314B2 (en) 2007-09-07 2011-02-01 International Business Machines Corporation Efficient scheduling of background scrub commands
US7633798B2 (en) * 2007-11-21 2009-12-15 Micron Technology, Inc. M+N bit programming and M+L bit read for M bit memory cells
KR101406279B1 (ko) * 2007-12-20 2014-06-13 삼성전자주식회사 반도체 메모리 장치 및 그것의 읽기 페일 분석 방법
KR101506655B1 (ko) * 2008-05-15 2015-03-30 삼성전자주식회사 메모리 장치 및 메모리 데이터 오류 관리 방법
KR101490426B1 (ko) * 2008-11-14 2015-02-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US8737129B2 (en) * 2008-11-14 2014-05-27 Samsung Electronics Co., Ltd. Nonvolatile memory device and read method thereof
US7787307B2 (en) * 2008-12-08 2010-08-31 Micron Technology, Inc. Memory cell shift estimation method and apparatus
US8555143B2 (en) 2008-12-22 2013-10-08 Industrial Technology Research Institute Flash memory controller and the method thereof
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8775865B2 (en) 2009-06-24 2014-07-08 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated disturb data errors in an array of SMT MRAM memory cells including rewriting reference bits
US8407564B2 (en) * 2009-07-15 2013-03-26 Intel Corporation Prediction and cancellation of systematic noise sources in non-volatile memory
US8572455B2 (en) * 2009-08-24 2013-10-29 International Business Machines Corporation Systems and methods to respond to error detection
JP5495885B2 (ja) * 2010-03-26 2014-05-21 三菱電機株式会社 データ記憶装置
US8295095B2 (en) 2010-04-20 2012-10-23 Micron Technology, Inc. Programming methods for a memory device
JP5467270B2 (ja) 2010-04-28 2014-04-09 国立大学法人 東京大学 データ入出力制御装置および半導体記憶装置システム
US8484542B2 (en) 2011-02-08 2013-07-09 Sandisk Technologies Inc. Data recovery using additional error correction coding data
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US8510636B2 (en) * 2011-04-01 2013-08-13 Intel Corporation Dynamic read channel calibration for non-volatile memory devices
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US9047210B2 (en) * 2011-09-15 2015-06-02 Sandisk Technologies Inc. Data storage device and method to correct bit values using multiple read voltages
US9146856B2 (en) 2012-04-10 2015-09-29 Micron Technology, Inc. Remapping and compacting in a memory device
US8861269B2 (en) * 2013-03-05 2014-10-14 Sandisk Technologies Inc. Internal data load for non-volatile storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011055749A1 (ja) * 2009-11-06 2011-05-12 株式会社 東芝 メモリシステム

Also Published As

Publication number Publication date
TW201503152A (zh) 2015-01-16
CN105144302B (zh) 2018-01-12
EP2973588B1 (en) 2020-09-16
JP2016517609A (ja) 2016-06-16
JP6127200B2 (ja) 2017-05-10
EP2973588A4 (en) 2017-04-12
US9367391B2 (en) 2016-06-14
KR101665280B1 (ko) 2016-10-11
KR20150119169A (ko) 2015-10-23
EP2973588A2 (en) 2016-01-20
US20140281808A1 (en) 2014-09-18
WO2014152627A3 (en) 2014-11-13
WO2014152627A2 (en) 2014-09-25
CN105144302A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
TWI574277B (zh) 記憶體裝置中之錯誤校正操作
JP5138319B2 (ja) メモリーシステム及び該動作方法。
US9535620B2 (en) Flash memory system and method controlling same
JP5749860B2 (ja) メモリデバイスおよびメモリデバイスのための構成方法
JP5367835B2 (ja) 不揮発性メモリにおけるデータ・エラー回復
KR101736792B1 (ko) 플래시 메모리 및 그것의 셀프 인터리빙 방법
US11604695B2 (en) Copy-back operations in a memory device
US20180074896A1 (en) Memory system
US9478298B2 (en) Memory system and method of reading data thereof
US11557345B2 (en) Dynamic memory programming voltage step for strenuous device conditions
JP2020155180A (ja) メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム
US11145357B2 (en) Memory system, memory controller and method for operating memory system
KR20190094968A (ko) 메모리 컨트롤러 및 그 동작 방법
JP6115740B1 (ja) 半導体記憶装置
KR20210079555A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
CN113806254B (zh) 存储器系统、存储器控制器及存储器系统的操作方法
US11061615B2 (en) Memory system, memory controller and operating method thereof
US20230039982A1 (en) Memory system and operating method of memory system
US12015425B2 (en) Controller and operating method thereof for determining reliability data based on syndrome weight
US11544003B2 (en) Memory system, memory controller, and method of operating memory system
KR20220010789A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법