TWI493562B - 具有受配置以防止過度校正之錯誤校正的記憶體 - Google Patents

具有受配置以防止過度校正之錯誤校正的記憶體 Download PDF

Info

Publication number
TWI493562B
TWI493562B TW102120315A TW102120315A TWI493562B TW I493562 B TWI493562 B TW I493562B TW 102120315 A TW102120315 A TW 102120315A TW 102120315 A TW102120315 A TW 102120315A TW I493562 B TWI493562 B TW I493562B
Authority
TW
Taiwan
Prior art keywords
iteration
data
indication
sensed
memory
Prior art date
Application number
TW102120315A
Other languages
English (en)
Other versions
TW201435892A (zh
Inventor
Wen Feng Hsueh
Ming Chao Lin
Original Assignee
Macromix Internat Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Macromix Internat Co Ltd filed Critical Macromix Internat Co Ltd
Publication of TW201435892A publication Critical patent/TW201435892A/zh
Application granted granted Critical
Publication of TWI493562B publication Critical patent/TWI493562B/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
    • 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/0793Remedial or corrective actions
    • 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
    • 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)
  • 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)

Description

具有受配置以防止過度校正之錯誤校正的記憶體
本發明有關於包括錯誤校正碼(ECC)邏輯的記憶體裝置和系統。
用於積體電路記憶體的記憶體技術被發展在越來越小的節點,且被部署在一單個積體電路上的越來越大的記憶體陣列上。用於記憶體胞元的技術不斷進步時,感測數據的邊界能夠變得更加緊密。而且,由於記憶體胞元和相鄰記憶體胞元遭受高速且大量的存取,而導致出現干擾記憶體胞元狀態之故,記憶體胞元保持數據值的能力將受限於上述更加緊密的邊界。
由於這些技術限縮於尺寸和密度,為了探討那些緣自更加緊密的感測邊界和記憶體胞元干擾的議題,使用多個錯誤校正碼(ECCs)與嵌入積體電路記憶體的支援邏輯已變得更加廣泛。
在某些系統中,記憶體胞元的臨界電壓或其他感測的條件可隨時間漂移,或隨數據循環。解決讀取漂移的技術和藉由移動讀取偏壓的條件以匹配漂移的程式操作已經被提出。例如參考由Cohen和Polansky等人所提出的美國專利號6,992,932:“A 4b/cell NROM 1Gb Data-Storage Memory,”ISSCC 2006,Session 7/Non-Volatile Memory/7.1,January 2006。
雖有錯誤校正技術的領域,錯誤率仍可限制了現存記憶體技術的可用性,並延後了新記憶體技術的演進。因此,亟待提高可應用於記憶體裝置的錯誤校正技術。
本文揭露記憶體裝置以及操作一記憶體的方法。所敘述的一種操作方法包括:藉由進行疊代,從該記憶體讀取一數據集,其中一疊代包括在所選胞元中使用一讀取偏壓而感測數據,以及在該所感測數據中產生一錯誤指示。如果在一疊代的錯誤指示小於一臨界值,則使用該疊代中從選擇的胞元所感測到的數據。如果在該疊代的錯誤指示大於一臨界值,則使用一移動讀取偏壓以執行另一次疊代。然而,如果在該疊代的錯誤指示相對於一前次疊代錯誤增加,則使用一“反向移動“,因此前一疊代從所選擇的胞元所感測到的數據(即使用讀取感測等於或接近於前一疊代讀取偏壓)能夠被輸出。因此,該讀取偏壓狀態的過度校正可被補償或預防。
操作一記憶體裝置的方法的一實施例,該實施例實施“反向移動“,包括:一種操作一記憶體的方法,包括:藉由執行疊代而從該記憶體選擇的胞元讀取一數據集,所述疊代包括使用一讀取偏壓而感測所選擇胞元中的數據,及在所感測數據中產生一錯誤指示。而在疊代中使用一讀取偏壓;然後如果在該一疊代中的該錯誤指示小於一臨界值,則從所選擇胞元中輸出在該一疊代中所感測的該數據;以及如果在該一疊代中的該指示超過一臨界值,則移動該讀取偏壓並執行另一疊代,又如果在該疊代中 的該指示小於該臨界值,則輸出在該疊代中從選擇胞元中感測的數據;如果相對於第一疊代,在該第二疊代中的錯誤增加的情況,則從所選擇胞元中輸出在該第一疊代中所感測的數據。
如果需要的話,所述方法可包括額外的疊代。
本發明的其他部分以及優點,可參考下文的圖式、詳細說明和申請專利範圍而得知。
101‧‧‧輸入/輸出埠
102‧‧‧控制埠
112‧‧‧控制信號
103‧‧‧命令解碼器
104‧‧‧行解碼器(x-解碼器)
105‧‧‧列選擇器(y選擇器)
190‧‧‧記憶體陣列
106‧‧‧分頁緩衝器
140‧‧‧錯誤校正碼邏輯
130‧‧‧反向移動邏輯
110‧‧‧控制器
200‧‧‧第一較低臨界電壓範圍
201‧‧‧第二較高臨界電壓範圍
202‧‧‧位元數目
210,211,212‧‧‧移動
300‧‧‧較低的臨界電壓範圍
301‧‧‧較高的臨界電壓範圍
302‧‧‧範圍
310,311,312‧‧‧移動
315‧‧‧反向移動
400,405,406,411‧‧‧線
410‧‧‧位元計數器邏輯
412‧‧‧開關
413,414‧‧‧暫存器
401‧‧‧乒乓(雙緩衝)開關
402,403‧‧‧緩衝器
404‧‧‧選擇器
圖1是包括反向移動邏輯的一記憶體裝置的一方塊圖。
圖2是位元數目對於臨界電壓圖,展示一記憶體胞元中臨界電壓分佈,其目的在於描述讀取偏壓移動技術。
圖3展示如同參照圖2的一讀取偏壓移動技術的一效能圖。
圖4是位元數目對於臨界電壓圖,展示一記憶體胞元的臨界值電壓分佈圖,其目的即在於描述使用一反向移動的讀取偏壓的移動技術。
圖5展示如同參照圖4所示的一讀取偏壓移動技術,而無一反向移動的效能圖。
圖6是包括可用於實施一反向移動的雙緩衝器邏輯的一邏輯圖。
圖7是用於實施反向移動而操作一記憶裝置的一方法的一流程圖。
請參考圖1-7,詳細描述本發明的實施例。
圖1是包括一記憶體陣列190的一記憶體裝置100的方塊圖,該記憶體陣列190儲存用於相應數據的多個錯誤校正碼(ECCs)。
該記憶體裝置100包括一輸入/輸出埠101和一控制埠102。該控制埠102包括接收與外部裝置通訊的控制信號112的電路,該控制信號112包括像是晶片賦能信號、讀取賦能信號、寫入賦能信號、命令賦能信號、位址賦能信號和時脈信號等等如此的控制信號。取決於在控制埠102所接到的控制信號112的值,該輸入/輸出埠101作為該記憶體裝置100的輸入埠或輸出埠。輸入/輸出埠101包括接收輸入信號並傳送輸出信號的電路。輸入信號可以包括命令信號、位址信號、以及輸入數據信號。
一命令解碼器103耦接於該輸入/輸出埠101和控制埠102,而控制埠102偵測和導致用於操作記憶體裝置100的多個命令的執行,該多個命令包括多個讀取命令和多個寫入命令。呼叫多個寫入命令,或在一些技術中該多個寫入命令能夠包括程式化命令和抹除命令。該命令解碼器103依次耦接於一行解碼器(x-解碼器)104和一列選擇器(y選擇器)105,以存取該記憶體陣列190。在本實施例中,分頁緩衝器106包括(或耦接於)感測放大器,該感測放大器支援分頁讀取和分頁寫入操作。透過列選擇器105,所述分頁緩衝器106被耦接於記憶體陣列。藉由輸入/輸出埠101、藉由該錯誤校正碼邏輯140和藉由"反向移動"邏輯130,分頁緩衝器是依次可存取的。
使用與在該記憶體陣列中的該數據相關聯的ECCs,錯誤校正碼(ECC)邏輯140可實行於偵測和校正在該對應數據中的錯誤。
一控制器110被耦接於該記憶體陣列190、該ECC邏輯140、 該反向移動邏輯以及在該裝置中的其他元件。
控制器110能夠包括被配置以執行該記憶體的多個功能的一或多個狀態機、暫存器檔案以及其他邏輯電路,該多個功能包括讀取功能和寫入功能。控制器110能夠使用一個或更多專用邏輯電路、可程式化閘極陣列電路、具有相關的軟體的一可程式化處理器或這些電路類型的組合。在一些實施例中,例如透過與記憶體控制器或一主處理器相關的硬體或軟體,該控制器的部分功能,能夠從記憶體裝置100之中脫離而被實施。
在此實施例中,ECC邏輯140被耦接於輸入/輸出埠101。在寫入操作期間,為在記憶體陣列190中的一數據塊定址,ECC邏輯140計算欲儲存的,與該數據塊相關聯的一ECC碼。在一讀取操作期間,在記憶體陣列190中為一數據塊定址,而從該記憶體陣列190中讀取所定址數據塊和用於該塊所儲存的ECC碼。該錯誤校正碼邏輯140偵測該所定址數據塊是否包含任何錯誤,以及所偵測錯誤是否能夠被校正。在一給定實施例中,該多錯誤數目(the number of errors)和該多個錯誤是否能夠在該錯誤檢查數據塊中被校正取決於所應用的ECC碼的類型。如果該錯誤可被校正,則將來自所述ECC邏輯140的校正後的數據,與來自該所定址塊的數據組合而作為輸出。
在該記憶體裝置上的ECC邏輯140能夠支援任何合適的ECC方案。代表性的ECC方案包括:漢明碼、擴展漢明碼、多維同位檢查碼、Reed-Solomon碼、BCH(Bose-Chaudhuri-Hocquenghem)碼、turbo碼和低密度同位檢查碼。與一特定數據集相關聯的錯誤校正碼ECC的長度取決於三個因素:(1)ECC方案;(2)最大校正的位元數目和(3)一個分頁的數據長度。該BCH 碼是能够校正多個多位元錯誤的多個循環錯誤校正碼的一類別。例如,為了提供在8KB數據之一分頁中最大的校正的位元數40位元,BCH的ECC碼的長度便是560位元。又例如,為了提供在8KB數據之一分頁中最大的校正的位元數24位元,BCH的ECC碼的長度是336位元。選擇ECC方案取決於若干因素,該若干因素包括效能規格、可用於錯誤偵測和錯誤校正碼的記憶體空間總量、裝置布局因素以及其他考量。包括所描述於此的該技術的多個裝置能够協同地包括錯誤校正碼邏輯和反向移動邏輯130。在一些實施例中,所述反向移動邏輯130的應用亦可毋須ECC邏輯。
如在本說明書中所使用,一個位元是在該記憶體陣列中數位數據的基本單位。一個位元能夠具有僅僅兩個可能的值:不是數字(1)就是數字零(0)。一個位元組為在記憶體陣列中數位數據的單位。一個位元組可以包含多個位元,比如8位元。一個字元為在記憶體陣列中數位數據的單位。一個字元可以包含多個位元組,例如4或8個位元組分別對應於32位元或64位元(如果一個位元組具有8個位元的話)。一個分頁為相關聯於一ECC的基本數據集,而在一些實施例中,該分頁響應單個讀取命令而能夠被儲存在配置成讀取的該記憶體陣列之中。一個分頁可以具有固定大小,比如2,112位元組,其中每個位元組具有8位元。
反向移動邏輯130(在某些實施例中能夠包括一緩衝器)能夠被認為是在控制器110內的一模組,或一單獨的模組,以及反向移動邏輯130協同控制器110而支援讀取操作和寫入操作,該讀取和該寫入操作能够移動偏壓狀態,而該移動偏壓狀態是用於從陣列190傳送數據到ECC邏輯140 之前,存取在該陣列中的數據以減少多個錯誤。該裝置將一錯誤偵測碼與儲存於陣列中的一些或所有的數據塊相關聯。當用於與ECC邏輯140相關聯時,具有所相關聯錯誤偵測碼的多個數據塊能夠相同於具有一所相關聯ECC的數據分頁。其他相關於ECC分頁的塊組織亦可以實施。
反向移動邏輯130被配置成支援一疊代讀取操作,其中在該操作中的多個疊代包括:使用一讀取偏壓而在所選擇的胞元中感測數據,並在所感測數據中產生一錯誤指示(an indication of errors)。該錯誤指示能夠使用錯誤偵測碼而被產生。在該多個疊代期間,如果該錯誤指示在對應的塊數據中,小於一臨界錯誤數目,則如在目前疊代期間感測而來自該所選擇的胞元的數據被輸出而提供至ECC邏輯140(如果需要的話),或提供至輸入/輸出埠101。另外,如果在該目前疊代的該錯誤指示超過該臨界值,則使用一移動讀取偏壓而進行另一次疊代,除非相對於一先前疊代,在該目前疊代中的該指示展示錯誤增加的情況。如果錯誤增加,則使用等於或接近於該第一讀取偏壓所感測所選擇胞元(比如從該緊接著的先前疊代而來的該數據)的數據被應用於輸出。這能夠被特性化為該讀取偏壓中的一‘“反向移動”。對於一特定讀取操作而言,如果已執行一最大疊代次數,除非該邏輯指示錯誤增加,不然則從目前疊代所感測數據作為輸出。例如,如果需要的話,該邏輯能夠被配置成執行第一、第二和第三疊代。
藉由取得在所給定值的一多位元數目(a count of bits)中的特殊性並且比較該數目與一期望數目,該錯誤指示能夠被產生。在其他實施例中,使用一碼,該指示能夠被產生以指示(不必太準確)一多錯誤數目(a number of errors),例如該碼是基於位元組同位的、基於一模組和的、基於一循環冗餘核對碼的、或其他技術的一核對和。該期望數目或核對和能夠被儲存在該陣列中、在裝置上的一分離緩衝器中、或者也許在該控制器110以一方式可存取的分離晶片中。
該錯誤指示的實施能夠根據設計規格而被選擇,該設計規格涉及在該記憶體陣列中可用於儲存多個數目或多個核對和的空間總量、用於讀取操作的指定速度、裝置布局考量、及其他因素。所想要的是,該錯誤指示是可用於確定一錯誤數目等於或小於藉由該ECC系統而可校正的最大多錯誤數目,該ECC系統在該邏輯140中的該記憶體而被實施。
有利的是,是一特定錯誤指示之對象的該數據塊能夠匹配或相同於一ECC分頁。因此,一給定ECC分頁可以兼具與其相關聯的一ECC和一錯誤偵測碼。而且,在這種情況下,由反向移動邏輯所應用的臨界值能夠對應於使用ECC技術而可校正的該錯誤數目,而該ECC技術應用是應用於該陣列。除非已達到最大重試數目,一反向移動能夠應用在這配置中以使得在一特定讀取操作期間,在所感測數據中所有的錯誤能夠藉由該錯誤校正碼邏輯140而被校正,或至少很可能的是在該所感測數據中所有的錯誤能夠被校正。如本文所說明的實施例,能夠實施反向移動步驟,以便所需實施的時間量小於另一讀取操作所需的時間量。
圖2是位元數目對於臨界電壓的圖表,該圖表展示用於多個單位元記憶體胞元的臨界電壓分佈,其目的在於描述讀取偏壓移動技術。對於單個位元記憶體胞元而言,該記憶體被設計以當在該陣列中多個記憶 體胞元的臨界電壓落入兩個不同的臨界電壓範圍中時偵測數據。一第一較低臨界電壓範圍200和一第二較高臨界電壓範圍201,藉由在該較低範圍內的最大值和該較高範圍內的最小值之間的一讀取邊限,而被分開。有些記憶體胞元可能被不正確地程式化或無法保持他們的臨界電壓值。因此,該分佈能夠包括落在邊限內的許多位元(比如202)。
為了在一所選擇的胞元中讀取數據,施加落於所述邊限之內的一讀取偏壓,以致於多個個別胞元的多個數據值能夠被感測。該讀取偏壓包括施加到一字元線的一閘極電壓Vg、和適當偏壓狀態施加到位元線和其他端。在本實施例中,該閘極電壓Vg是一個能夠用來調整一讀取偏壓狀態的電壓。
如所述較高範圍201的臨界電壓分佈漂移,則較高範圍201的最小值可以接近、或甚至低於該讀取偏壓。在圖2中,該閘極電壓Vg恰好被放置於該較高範圍201的最小值之上以示意這個情況。
根據一讀取偏壓移動技術,使用該第一讀取偏壓的該錯誤數目能夠被確定,而且如果該數目超過一臨界值,則該讀取偏壓能夠被移動(如210)以重試使用一經移的動讀取偏壓讀取操作。例如,在每次移動中,該閘極電壓能夠被降低5毫伏特。在一替代實施例中,其中該感測操作被配置為感測該臨界值是否位於一給定的偏壓狀態之下,則該閘極電壓能夠增大而非減少。為了簡化描述,僅詳細描述該讀取偏壓減少的實施例。
如果該錯誤數目低於該臨界值,則如適當的那樣所感測數據能夠輸出或提供給ECC邏輯。這程序能夠以疊代方式(210、211、212)而被重 複。在每次疊代中,能夠確定該錯誤數目,並作出是否進行下一次疊代或輸出所感測數據的決定。在圖2所示的例子中,每次疊代210、211、212導致在額外胞元的臨界值以下移動該讀取偏壓,所述額外胞元的臨界值應是更適當地歸類在該較高臨界值範圍內。在這種情況下,每一次疊代導致所偵測的該錯誤數目的降低。
圖3展示如相關於圖2所繪示的技術一樣的一讀取偏壓移動技術的效能的一圖表。在用於產生圖3結果的測試中,通過一特定記憶體區域而計數該失敗位元(FB)數目,而用於決定移動該讀取偏壓並進行另一次疊代的臨界值數目為6。該圖表的水平軸表示針對一給定讀取操作,在失敗位元百分比(△FB%)中的變化。本圖的目的在於計算在該失敗位元數目中的變化,而該變化△FB%藉由取得在一第一數目和一第二數目之間的差值且然後將那差值除以該第一數目而被計算,該第一數目是無ECC且無讀取偏壓移動而發生的一失敗位元數目,以及該第二數目是施加讀取偏壓移動和ECC而發生的一失敗位元數目。
△FB%=(FB(MOVE/ECC OFF)-FB(MOVE/ECC ON))/FB(MOVE/ECC OFF)
該讀取偏壓移動操作被設計以增加△FB%。垂直軸代表用於一給定讀取操作的累積機率,其中該累積機率意指在一給定讀取操作中,該△FB%將是至少如在該水平軸上的相應值一樣高的機率。
故如圖所示,一第一移動(例如圖2之移動210)將導致在一給定量的△FB%中一增加的機率,是繪示在軌跡220上。一第二移動將導致在一給定量的△FB%中一增加的機率,是繪示在軌跡221上。一第三移動將導致在一給定量的△FB%中一增加的機率,是繪示在軌跡222上。展示在圖3 的該圖表的趨勢展示每次移動的改進。
如同圖2,圖4即位元數目對於臨界電壓的一圖表,該圖表繪示在每個疊代中使用多個較大的讀取偏壓移動步驟的移動技術(比如每次移動7.5毫伏特)。該圖表展示一較低的臨界電壓範圍300和一較高的臨界電壓範圍301。該讀取偏壓包括:恰好位於該較高臨界電壓範圍301的最小值以下的一閘極電壓。該閘極電壓的多個移動(310、311、312)的一序列在一嘗試中被執行以減少失敗位元數目。然而,如圖4所示,該第三移動312讀取偏壓穿越該較低臨界值範圍300的最大值。這將導致在該失敗位元數目(the number of failed bits)大量增加,該操作錯誤地讀取位於較低臨界值範圍300中的某些記憶體胞元。在此,一反向移動315能夠用於回復該程序。該反向移動315可以在該多個位元的一些位元之上移動讀取偏壓(例如它是在範圍302中),該讀取偏壓應該更適當地落在較高臨界值範圍內。然而,該最後移動造成該程序的癱瘓,相對於在該程序中的最後移動,一反向移動了改善結果。
圖5是一類似圖3的圖表,該圖表展示如相關於圖4所繪示的技術一樣的一讀取偏壓移動技術的效能。該圖表的水平軸為△FB%,便如圖3的例子一般。該圖表的垂直軸為累積機率,如圖3的例子一般。
故如圖所示,一第一移動(例如圖4之移動310)將導致在一給定量的△FB%一增加的機率,是繪示在軌跡320上。一第二移動將導致在一給定量的△FB%一增加的機率,是繪示在軌跡321上。一第三移動將導致在一給定量的△FB%一增加的機率,是繪示在軌跡322上。在圖5的圖表中的趨 勢展示出該第一和該第二移動(320、321)的改進。然而,用該第三移動(322)重大的可能使△FB%下降。如圖所示,相較於經該第二移動,經該第三移動之後,在30-40%的次數的失敗位元數目的改善是更糟,這展示了不會改善的重大可能性。因此,在本實施例中,該第三移動應藉由一反向移動而被校正(圖4的315)。
圖6是反向移動邏輯(例如圖1的邏輯130)的一個實施元件圖,該反向移動邏輯能夠用來與該控制器110和該記憶體裝置的其他元件作組合。在本實施例中,例如,在線400上傳送來自分頁緩衝器的陣列數據到一乒乓或雙緩衝開關401,其中該分頁或其他數據塊在該讀取偏壓移動的一給定疊代中從該陣列傳送到多個緩衝器402和403(在圖中標記為SRAM_X和SRAM_Y)的其中之一。該多個緩衝器402和403的輸出被施加到一選擇器404的多個輸入,該選擇器404用於將所感測數據從該多個緩衝器402和403中所選擇的一緩衝器傳送到輸出線406。在一些實施例中,輸出線406能夠耦接於該ECC邏輯,或耦接於用於該數據的多個輸入/輸出緩衝器或另一目的地。
圖6中的邏輯元件還將該陣列數據從線400傳送到位元計數器邏輯410。該位元計數器邏輯410能夠計算在所感測數據塊中的該位元數目,該位元具有一特定數據值,而且該數目能夠與上述的一期望的位元數目進行比較。可選擇地,其他類型的核對和邏輯能夠被應用以產生在目前疊代中所偵測的該錯誤數目的一指示。該位元計數器邏輯410能夠產生指示該失敗位元數目的數據,而該數據能夠和一臨界值M作比較。該比較的結果 (例如在線411上的一訊號)能夠被用於該控制器110,以決定在該讀取偏壓移動操作中,是否進行一下一次疊代。而且,該位元計數器邏輯410的輸出被供應給一開關412,其中用於該所感測數據塊的該失敗位元數目FB被傳送到該多個暫存器413和414的其中之一。該控制器110能夠利用在多個暫存器413和414中的該數據和一反向移動狀態以決定是否從該緩衝器402或該緩衝器403輸出該數據。在一個實施例中,比較多個內容,並將該比較的結果用於在線405上產生用於控制該選擇器404的一控制信號。在所示的實施例中,如果針對緩衝器403的該失敗位元數目小於或等於針對該緩衝器402的該失敗位元數目,則從該暫存器403而來的該數據能夠在線406上被傳送到,反之亦然。
圖7為繪示多個步驟的一簡化流程圖,該多個步驟能夠利用與圖1的該反向移動邏輯130耦合的該控制器110而被實施。圖7所示多個步驟的順序是示意性的。然而,某些步驟能夠依照有別於此處的一不同序列而被執行。然而在本實施例中,該程序開始於一讀取分頁命令500。該控制器實現了一字元線設置序列:將用於所選擇胞元的字元線電壓設定為用於第一偏壓狀態的閘極電壓Vg,並在序列(501)中設定一索引"n"為零。在下一步驟中,在將該感測數據以一乒乓方式傳送到起始於SRAM_X的多個緩衝器(SRAM_X和SRAM_Y)的其中之一時,所述數據分頁被感測且該失敗位元FB的計算被執行(502)。該邏輯接著確定該失敗位元數目是否小於一臨界值(503)。如果該失敗位元數低於該臨界值(或等於該臨界值),則該邏輯確定是否使用緩衝器SRAM_X或SRAM_Y的一目前緩衝器而而輸出在緩衝器 SRAM_X或SRAM_Y中的該數據塊,其中該目前緩衝器在該第一疊代(n=0)中能夠被設定到SRAM_X,而該目前緩衝器在多個隨後的疊代中(n>0)能夠是該目前疊代輸出所儲存(509)到的那個。該數據隨後被傳送到所述錯誤校正碼邏輯,在所述錯誤校正碼邏輯中一ECC操作被執行(508)在該數據中,以輸出到它的目的地。
如果在方塊503處的該失敗位元數目是高於該臨界值M,則該邏輯確定一最大數目N的多個重試是否已被執行(504)。如果該最大數目的多個重試已被執行,則與在該多個暫存器(SRAM_X、SRAM_Y)中的該多個數據塊對應的該失敗位元數目的值則被比較(505)。來自具有最低失敗位元數目的緩衝器的該數據被提供為輸出(506和507)。為輸出所選擇的該數據則傳送到所述錯誤校正碼邏輯,在所述錯誤校正碼邏輯中一ECC操作被執行(508)在該數據中,以輸出到它的目的地。
如果在步驟504處,還沒有遭遇該最大數目的多個重試,則執行該讀取偏壓移動(510)。該讀取偏壓移動能夠藉由降低該閘極電壓而被實現。如適合於一特定實施的,該閘極電壓藉由在比如5mv或7.5mv的值中的一預定級距而被降低。所述值的級距對於每一次疊代能夠是恆定的,或能夠隨需要而變化以提高該序列的效能。再者,該讀取偏壓移動涉及遞增用以確認該多重試數目(the number of retries)的該索引"n"。
使用雙緩衝邏輯導致一"反向移動",其中相較於目前疊代,該讀取偏壓移動操作的先前疊代導致一較低的失敗位元數目。雙緩衝能夠用來代替執行使用另一移動讀取偏壓狀態的另一讀取,其中使用一讀取偏 壓所感測的該數據被輸出,該讀取偏壓等於或接近於該第一讀取偏壓(疊代n=0時),以改善該記憶體的錯誤率效能。在此緩衝方法中,一反向移動不需要感測數據的另一疊代,而輸出效能能夠被提升。在另一個可選方案中,在將該讀取偏壓反向移動時,感測和失敗位元計數的另一疊代能夠被執行。
這裡所描述的技術實施例參考一單一位元記憶體胞元而被提供。在其他實施例中,所述多個記憶體胞元能夠每個胞元儲存多個位元。例如,在每個胞元多個位元的實施例中,用於該讀取偏壓移動操作的該讀取偏壓狀態能夠對應於在最低臨界值範圍與下一較高的臨界值範圍之間的差異,或者在最高臨界值範圍與下一較低臨界值範圍之間的差異。如有需要,該程序能夠在一多位元胞元中,對每一臨界值範圍而執行。
雖然藉由參考以上詳述的優選實施例和實施例得以揭露本發明,可以理解的是,這些例子只用於示意而非侷限之用。可以理解的是,熟悉本領域人士仍可作修改和組合,而修改和組合將不脫離本發明的本質及以下申請專利範圍之中。
100‧‧‧記憶體裝置
101‧‧‧輸入/輸出埠
102‧‧‧控制埠
112‧‧‧控制信號
103‧‧‧命令解碼器
104‧‧‧行解碼器(x-解碼器)
105‧‧‧列選擇器(y選擇器)
190‧‧‧記憶體陣列
106‧‧‧分頁緩衝器
140‧‧‧錯誤校正碼邏輯
130‧‧‧反向移動邏輯
110‧‧‧控制器

Claims (20)

  1. 一種操作一記憶體的方法,包括:藉由執行疊代而從該記憶體讀取一數據集,所述疊代包括使用一讀取偏壓而感測在所選擇胞元中的數據,及在所感測數據中產生一錯誤指示,而在所述疊代中的一第一疊代使用一第一讀取偏壓;然後如果在該第一疊代中的該指示小於一臨界值,則從所述所選擇胞元中輸出在該第一疊代中所感測的該數據;以及如果在該第一疊代中的該指示超過該臨界值,則移動該讀取偏壓並執行一第二疊代,又如果在該第二疊代中的該指示小於該臨界值,則從所述所選擇胞元中輸出在該第二疊代中所感測的該數據;如果相對於該第一疊代,在該第二疊代中的該指示展示一錯誤增加,則從所述所選擇胞元中輸出在該第一疊代中所感測的數據。
  2. 如請求項1所述之方法,包括從所述所選擇胞元將所輸出數據提供到用於錯誤校正的錯誤校正邏輯,及該臨界值為藉由該錯誤校正邏輯所可校正的一錯誤數目。
  3. 如請求項1所述之方法,如果在該第二疊代中的該指示超過該臨界值,則移動該讀取偏壓並執行一第三疊代,又如果在該第三疊代中的該指示小於該臨界值,則從所述所選擇胞元中輸出在該第三疊代中所感測的該數據;如果相對於該第二疊代而在該第三疊代中的該指示展示一錯誤增加,則從所述所選擇胞元中輸出在該第二疊代中所感測的數據。
  4. 如請求項1所述之方法,其中該指示是在一第一數目及一第二數目之間的 差異,該第一數目是在該數據集中具有一特定值的一期望位元數目,且該第二數目是在該所感測數據中具有該特定值的一位元數目。
  5. 如請求項1所述之方法,包括儲存用於該數據集的一核對和,該核對和指示在該數據集中具有一特定值的的一位元數目,而且其中所述在該所感測數據中產生一錯誤指示包括:使用該所感測數據而產生一核對和,以及比較所儲存核對和與所產生核對和。
  6. 如請求項1所述之方法,包括使用一緩衝器以儲存在該第一疊代中所感測的該數據,其中從所述所選擇胞元中輸出在該第一疊代所感測的數據包括使用在該緩衝器中所儲存的一數據集。
  7. 如請求項1所述之方法,其中該記憶體包括具有臨界電壓的一記憶體胞元陣列,所述臨界電壓指示所儲存數據值,該讀取偏壓包括一字元線電壓,且所移動讀取偏壓包括一所改變字元線電壓。
  8. 如請求項7所述之方法,其中該記憶體胞元陣列包括具有由捕獲電荷所決定的臨界電壓的電荷捕獲記憶體胞元。
  9. 一種記憶體裝置,包括:儲存數據的一記憶體陣列;以及用以藉由執行疊代而從該記憶體陣列讀取一數據集的邏輯,所述疊代包括使用一讀取偏壓而感測在所選擇胞元中的數據,及在所感測數據中產生一錯誤指示,在所述疊代中的一第一疊代使用一第一讀取偏壓;然後如果在該第一疊代中的該指示小於一臨界值,則從所述所選擇胞元中輸出在該第一疊代中所感測的該數據;以及 如果在該第一疊代中的該指示超過該臨界值,則移動該讀取偏壓並執行一第二疊代,又如果在該第二疊代中的該指示小於該臨界值,則從所述所選擇胞元中輸出在該第二疊代中所感測的該數據;如果相對於該第一疊代,在該第二疊代中的該指示展示一錯誤增加,則從所述所選擇胞元中輸出在該第一疊代中所感測的數據。
  10. 如請求項9所述之記憶體裝置,包括錯誤校正邏輯,以及用以從所述所選擇胞元將所輸出數據提供到用於錯誤校正的錯誤校正邏輯的邏輯,該臨界值為藉由該錯誤校正邏輯所可校正的一錯誤數目。
  11. 如請求項9所述之記憶體裝置,該邏輯包括:如果在該第二疊代中的該指示超過該臨界值,則移動該讀取偏壓並執行一第三疊代,又如果在該第三疊代中的該指示小於該臨界值,則從所述所選擇胞元中輸出在該第三疊代中所感測的數據;如果相對於該第二疊代而在該第三疊代中的該指示展示一錯誤增加,則從所述所選擇胞元中輸出在該第二疊代中所感測的數據。
  12. 如請求項9所述之記憶體裝置,其中該指示是在一第一數目及一第二數目之間的差異,該第一數目是在該數據集中具有一特定值的一期望位元數目,且該第二數目是在該所感測數據中具有該特定值的一位元數目。
  13. 如請求項9所述之記憶體裝置,包括用以在該記憶體陣列中用於數據集的核對和的一儲存,用於一數據集的所述核對和指示在該數據集中具有一特定值的的一位元數目,而且其中在該所感測數據中產生一錯誤指示 的所述邏輯包括:一邏輯,其使用該所感測數據而產生一核對和,且比較所儲存核對和與所產生核對和。
  14. 如請求項9所述之記憶體裝置,包括使用一緩衝器以儲存在該第一疊代中所感測的該數據,其中從所述所選擇胞元中輸出在該第一疊代所感測的該數據包括使用在該緩衝器中所儲存的一數據集。
  15. 如請求項9所述之記憶體裝置,其中該記憶體陣列包括具有臨界電壓的一記憶體胞元陣列,所述臨界電壓指示所儲存數據值,該讀取偏壓包括一字元線電壓,且所移動讀取偏壓包括一所改變字元線電壓。
  16. 如請求項15所述之記憶體裝置,其中該記憶體胞元陣列的記憶體胞元包括具有由捕獲電荷所決定的臨界電壓的電荷捕獲記憶體胞元。
  17. 一種記憶體裝置,包括:儲存數據及錯誤校正碼(ECCs)的一非揮發性記憶體陣列;錯誤校正邏輯;以及用以藉由執行疊代而從該記憶體陣列讀取一數據集的邏輯,所述疊代包括使用一讀取偏壓而感測在所選擇胞元中的數據,及在所感測數據中產生一錯誤指示,而在所述疊代中的一第一疊代使用一第一讀取偏壓;然後如果在一目前疊代中的該指示小於使用該ECCs而可校正的一臨界位元數目,則從所述所選擇胞元中輸出在該目前疊代中所感測的該數據;如果在該目前疊代中的該指示超過該臨界位元數目,除非相對於一先前疊代而在該目前疊代中的該指示展示一錯誤增加的情況,則移動該讀取偏壓並執行另一疊代,而在所述情況中,則從所述所選擇胞元中輸出在 一先前疊代中所感測的數據;用以在一目前疊代和一先前疊代之期間儲存所感測數據的雙緩衝邏輯;以及用以從該雙緩衝邏輯將該所感測數據提供到用於錯誤校正的錯誤校正邏輯的邏輯。
  18. 如請求項17所述之記憶體裝置,其中該記憶體陣列包括具有臨界電壓的一記憶體胞元陣列,所述臨界電壓指示所儲存數據值,該讀取偏壓包括一字元線電壓,且所移動讀取偏壓包括一所改變字元線電壓。
  19. 如請求項17所述之記憶體裝置,其中該記憶體胞元陣列包括具有由捕獲電荷所決定的臨界電壓的電荷捕獲記憶體胞元。
  20. 一種操作一記憶體的方法,包括:藉由執行疊代而從該記憶體讀取一數據集,所述疊代包括使用一讀取偏壓而感測在所選擇胞元中的數據,及在所感測數據中產生一錯誤指示,而在所述疊代中的一第一疊代使用一第一讀取偏壓;然後如果在一目前疊代中的該指示小於一臨界值,則從所述所選擇胞元中輸出在該目前疊代中所感測的該數據;以及如果在該目前疊代中的該指示超過該臨界值,除非相對於一先前疊代而在該目前疊代中的該指示展示一錯誤增加的情況,則移動該讀取偏壓並執行另一疊代,而在所述情況中,則使用等於或較接近於該第一讀取偏壓的一讀取偏壓而從所述所選擇胞元中輸出所感測的數據。
TW102120315A 2013-03-12 2013-06-07 具有受配置以防止過度校正之錯誤校正的記憶體 TWI493562B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361776812P 2013-03-12 2013-03-12

Publications (2)

Publication Number Publication Date
TW201435892A TW201435892A (zh) 2014-09-16
TWI493562B true TWI493562B (zh) 2015-07-21

Family

ID=51503738

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102120315A TWI493562B (zh) 2013-03-12 2013-06-07 具有受配置以防止過度校正之錯誤校正的記憶體

Country Status (3)

Country Link
US (1) US9280412B2 (zh)
CN (1) CN104051020B (zh)
TW (1) TWI493562B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965345B2 (en) 2014-09-24 2018-05-08 Macronix International Co., Ltd. Health management of non-volatile memory
KR102589259B1 (ko) * 2016-06-20 2023-10-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180096845A (ko) * 2017-02-20 2018-08-30 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10802911B2 (en) * 2017-08-16 2020-10-13 Western Digital Technologies, Inc. Non-volatile storage with wear-adjusted failure prediction

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040136236A1 (en) * 2002-10-29 2004-07-15 Guy Cohen Method circuit and system for read error detection in a non-volatile memory array
US20070011513A1 (en) * 2005-06-13 2007-01-11 Intel Corporation Selective activation of error mitigation based on bit level error count
US7333364B2 (en) * 2000-01-06 2008-02-19 Super Talent Electronics, Inc. Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory
US20090164710A1 (en) * 2007-12-20 2009-06-25 Samsung Electronics Co., Ltd. Semiconductor memory system and access method thereof
US20100091535A1 (en) * 2007-03-12 2010-04-15 Anobit Technologies Ltd Adaptive estimation of memory cell read thresholds
US7872909B2 (en) * 2008-02-19 2011-01-18 Samsung Electronics Co., Ltd. Memory device and memory data read method
US20110194348A1 (en) * 2008-05-09 2011-08-11 Nima Mokhlesi Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
US20120008401A1 (en) * 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4692893A (en) 1984-12-24 1987-09-08 International Business Machines Corp. Buffer system using parity checking of address counter bit for detection of read/write failures
KR100712596B1 (ko) * 2005-07-25 2007-04-30 삼성전자주식회사 플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
US8605526B2 (en) * 2011-05-31 2013-12-10 Infineon Technologies Ag Memory reliability verification techniques
US8719647B2 (en) * 2011-12-15 2014-05-06 Micron Technology, Inc. Read bias management to reduce read errors for phase change memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333364B2 (en) * 2000-01-06 2008-02-19 Super Talent Electronics, Inc. Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory
US20040136236A1 (en) * 2002-10-29 2004-07-15 Guy Cohen Method circuit and system for read error detection in a non-volatile memory array
US20070011513A1 (en) * 2005-06-13 2007-01-11 Intel Corporation Selective activation of error mitigation based on bit level error count
US20100091535A1 (en) * 2007-03-12 2010-04-15 Anobit Technologies Ltd Adaptive estimation of memory cell read thresholds
US20090164710A1 (en) * 2007-12-20 2009-06-25 Samsung Electronics Co., Ltd. Semiconductor memory system and access method thereof
US7872909B2 (en) * 2008-02-19 2011-01-18 Samsung Electronics Co., Ltd. Memory device and memory data read method
US20110194348A1 (en) * 2008-05-09 2011-08-11 Nima Mokhlesi Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
US20120008401A1 (en) * 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US20120008414A1 (en) * 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tanakamaru, S. et al., "Over-10×-extended-lifetime 76%-reduced-error solid-state drives (SSDs) with error-prediction LDPC architecture and error-recovery scheme", Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2012 IEEE International, 19-23 Feb. 2012 *

Also Published As

Publication number Publication date
CN104051020B (zh) 2017-04-12
US9280412B2 (en) 2016-03-08
CN104051020A (zh) 2014-09-17
US20140281803A1 (en) 2014-09-18
TW201435892A (zh) 2014-09-16

Similar Documents

Publication Publication Date Title
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US7581153B2 (en) Memory with embedded error correction codes
KR101659888B1 (ko) 플래시 메모리 제어 방법, 제어기 및 전자 장치
US8321765B2 (en) Method of reading data in non-volatile memory device
US9268632B2 (en) Memory device with ECC history table
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
KR101690395B1 (ko) 위상 변화 메모리의 판독 에러를 감소시키기 위한 판독 바이어스 관리
CN107408069B (zh) 用于检测和缓解闪速存储器中的位线开路的装置和方法
KR101941270B1 (ko) 멀티-레벨 메모리 장치를 제어하는 메모리 제어기 및 그것의 에러 정정 방법
US9130597B2 (en) Non-volatile memory error correction
US20130318418A1 (en) Adaptive error correction for phase change memory
JP2014044791A (ja) 不揮発性メモリのための適応的エラー訂正
CN111354402A (zh) 用于艰苦装置条件的动态存储器编程电压阶跃
KR20130027138A (ko) 에러 정정 방법 및 이를 이용하는 메모리 장치
TWI493562B (zh) 具有受配置以防止過度校正之錯誤校正的記憶體
US10804935B2 (en) Techniques for reducing latency in the detection of uncorrectable codewords
CN107240419B (zh) 读取快闪存储器中所储存的数据的方法、存储器控制器与系统
US8448048B2 (en) Flash memory device and related programming method
US10665297B2 (en) Memory systems for memory devices and methods of operating the memory systems
US20100287447A1 (en) Memory system identifying and correcting erasure using repeated application of read operation
JP2003100095A (ja) 半導体集積回路装置
JP2009158051A (ja) 不揮発性半導体記憶装置及び読み出しテスト方法