TW201314698A - 具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法 - Google Patents

具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法 Download PDF

Info

Publication number
TW201314698A
TW201314698A TW101127334A TW101127334A TW201314698A TW 201314698 A TW201314698 A TW 201314698A TW 101127334 A TW101127334 A TW 101127334A TW 101127334 A TW101127334 A TW 101127334A TW 201314698 A TW201314698 A TW 201314698A
Authority
TW
Taiwan
Prior art keywords
memory
data
page
pages
read
Prior art date
Application number
TW101127334A
Other languages
English (en)
Inventor
Eran Sharon
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 TW201314698A publication Critical patent/TW201314698A/zh

Links

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

呈現一種使用多個資料頁之結合驗證的寫入後讀取操作。在一區塊中之多個頁的一同時驗證中,控制器評估該多個頁之一結合函數而非分離地評估每一頁。在一例示性實施例中,該結合函數係藉由對該等頁一起進行互斥或運算來形成。此種基於所讀取資料之對多個頁之結合驗證可顯著地減小控制器涉入,從而減低寫入後讀取的所需匯流排及錯誤校正碼(ECC)頻寬,且因此在晶粒之數目為大時允許高效的寫入後讀取。

Description

具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法
本申請案係關於諸如半導體快閃記憶體之可再程式化非揮發性記憶體系統的操作,且更具體而言係關於記憶體操作中的錯誤的處置及有效管理。
能夠非揮發性地儲存電荷之固態記憶體,尤其呈封裝為小外觀尺寸(small form factor)卡之EEPROM及快閃EEPROM形式的固態記憶體近來已變為多種行動及手持型器件(特別是資訊電器及消費型電子產品)中的首選儲存器。不同於亦為固態記憶體之RAM(隨機存取記憶體),快閃記憶體係非揮發性的,且即使在切斷電源之後仍保持其所儲存之資料。又,不同於ROM(唯讀記憶體),快閃記憶體類似於磁碟儲存器件而為可重寫的。儘管成本較高,但快閃記憶體仍日益用於大容量儲存應用中。諸如硬碟機及軟性磁碟之基於旋轉磁性媒體的習知大容量儲存器並不適合於行動及手持型環境。此係因為磁碟機傾向於為龐大的,易於發生機械故障,且具有高潛時及高功率要求。此等不良屬性使得基於磁碟之儲存器在多數行動及攜帶型應用中為不實用的。另一方面,嵌入式與呈可卸除式卡形式的快閃記憶體因為其小的大小、低電力消耗、高速度及高可靠性特徵而理想地適合於行動及手持型環境中。
快閃EEPROM類似於EEPROM(電可抹除及可程式化唯讀記憶體)之處在於:快閃EEPROM為一種可被抹除且將新資 料寫入於或「程式化於」其記憶體胞中的非揮發性記憶體。兩種操作皆利用場效電晶體結構中之浮動(未連接)導電閘極,該浮動(未連接)導電閘極位於半導體基板中之通道區域之上、在源極區與汲極區之間。控制閘極接著被提供於浮動閘極之上。電晶體之臨限電壓特性係由保持於浮動閘極上之電荷的數量來控制。亦即,對於浮動閘極上給定位準之電荷,在「接通」電晶體以准許其源極區與汲極區之間的傳導之前,必須施加對應電壓(臨限值)至控制閘極。詳言之,諸如快閃EEPROM之快閃記憶體允許同時抹除記憶體胞之全部區塊。
浮動閘極可保持某範圍的電荷且因此可被程式化至臨限電壓窗內之任何臨限電壓位準。臨限電壓窗之大小係由器件之最小及最大臨限位準定界,該等臨限位準又對應於可程式化至浮動閘極上之電荷的範圍。臨限窗通常取決於記憶體器件之特性、操作條件及歷史。窗內之每一相異、可解析臨限電壓位準範圍原則上可用以指明記憶體胞之確定記憶體狀態。
在當前市售產品中,快閃EEPROM陣列之每一儲存元件藉由以二進位模式操作來儲存單一資料位元為常見的,其中將儲存元件電晶體之臨限位準的兩個範圍定義為儲存位準。電晶體之臨限位準對應於儲存於電晶體之儲存元件上之電荷位準的範圍。除了使記憶體陣列之大小收縮外,趨勢為藉由將一個以上資料位元儲存於每一儲存元件電晶體中來進一步增加此等記憶體陣列之資料儲存的密度。此情 形藉由將兩個以上臨限位準定義為每一儲存元件電晶體的儲存狀態來實現,四個此等狀態(每儲存元件2個資料位元)現包括於市售產品中。亦正實施更多儲存狀態(諸如,每儲存元件16個狀態)。每一儲存元件記憶體電晶體具有其可實際地操作於的臨限電壓之某一總範圍(窗),且該範圍被分成針對該記憶體電晶體定義的數目個狀態加上該等狀態之間的容限(用以允許將該等狀態清楚地彼此區分)。明顯地,記憶體胞經組態以儲存之位元愈多,記憶體胞操作之誤差容限就不得不愈小。
充當記憶體胞之電晶體通常係藉由兩個機制中之一者而程式化至「經程式化」狀態。在「熱電子注入」中,施加至汲極之高電壓使電子加速從而越過基板通道區。同時,施加至控制閘極之高電壓將熱電子牽拉穿過一薄閘極介電質而至浮動閘極上。在「穿隧注入」中,相對於基板施加高電壓至控制閘極。以此方式,將電子自基板牽拉至介入之浮動閘極。雖然在歷史上已使用術語「程式化」來描述藉由將電子注入至記憶體胞之最初被抹除之電荷儲存單元而寫入至記憶體以便變更記憶體狀態,但術語「程式化」現已可與諸如「寫入」或「記錄」之更一般的術語互換地使用。
可藉由眾多機制來抹除記憶體器件。對於EEPROM而言,可藉由相對於控制閘極將高電壓施加至基板以便誘使浮動閘極中之電子穿過薄氧化物穿隧至基板通道區(亦即,福勒-諾德翰姆穿隧(Fowler-Nordheim tunneling))來電 抹除記憶體胞。通常,可逐位元組地抹除EEPROM。對於快閃EEPROM而言,可同時全部電抹除記憶體,或可一次電抹除一或多個最小可抹除區塊,其中一最小可抹除區塊可由一或多個區段組成,且每一區段可儲存512個位元組或更多之資料。
記憶體器件通常包含可安裝於卡上之一或多個記憶體晶片。每一記憶體晶片包含由諸如解碼器及抹除、寫入及讀取電路之周邊電路支援的記憶體胞陣列。更複雜之記憶體器件亦具有一執行智慧型及更高階記憶體操作及介面連接的控制器。
存在許多現今正使用之商業上成功之非揮發性固態記憶體器件。此等記憶體器件可為快閃EEPROM,或可使用其他類型之非揮發性記憶體胞。美國專利第5,070,032號、第5,095,344號、第5,315,541號、第5,343,063及第5,661,053號、第5,313,421號及第6,222,762中給出快閃記憶體及系統之實例以及製造其的方法。詳言之,美國專利第5,570,315號、第5,903,495號、第6,046,935號中描述了具有NAND(反及)串結構之快閃記憶體器件。又,亦自具有一用於儲存電荷之介電層的記憶體胞製造非揮發性記憶體器件。代替較早描述之導電浮動閘極元件,使用介電層。利用介電儲存元件之此等記憶體器件已由Eitan等人在「NROM:A Novel Localized Trapping,2-Bit Nonvolatile Memory Cell」(2000年11月之IEEE Electron Device Letters第21卷第11號,第543至545頁)中予以描述。ONO介電層 延伸跨越源極擴散區與汲極擴散區之間的通道。將針對一資料位元之電荷區域化於鄰近於汲極之介電層中,且將針對另一資料位元之電荷區域化於鄰近於源極之介電層中。舉例而言,美國專利第5,768,192號及第6,011,725號揭示一種非揮發性記憶體胞,該非揮發性記憶體胞具有夾於兩個二氧化矽層之間的捕集介電質。藉由分離地讀取介電質內的空間分離之電荷儲存區之二進位狀態來實施多狀態資料儲存。
為了改良讀取及程式化效能,並行讀取或程式化陣列中之多個電荷儲存元件或記憶體電晶體。因此,一起讀取或程式化一「頁」記憶體元件。在現有記憶體架構中,一列通常含有若干個交錯頁,或該列可構成一個頁。將一起讀取或程式化一頁之所有記憶體元件。
寫入資料中之錯誤
在本文中所描述之類型之記憶體系統以及包括磁碟儲存系統的其他記憶體系統中,正儲存之資料的完整性係藉由使用錯誤校正技術來維持。最常見地,針對在一時間正儲存之每一區段或其他資料單元來計算錯誤校正碼(ECC),且將該ECC與該資料儲存在一起。最常見地將ECC與計算ECC所基於之使用者資料之單位群組儲存在一起。使用者資料之單位群組可為一區段或多區段頁。當自記憶體讀取此資料時,將ECC用以判定正讀取之使用者資料的完整性。資料之單位群組內的資料之錯誤位元常常可藉由使用ECC來校正。
趨勢為減小記憶體系統之大小,以便能夠將更多記憶體胞置放於系統中且使得系統儘可能小以裝設於較小主機器件中。藉由電路之較高整合與組態每一記憶體胞以儲存更多資料位元之組合來增加記憶體容量。兩種技術皆要求記憶體以愈加嚴格之誤差容限來操作。此情形又對ECC校正錯誤提出更多需求。
ECC可經設計以校正預定數目個錯誤位元。ECC必須校正之位元愈多,ECC就將更複雜且計算上更密集的。為了品質保證,習知ECC係基於在記憶體器件之使用期限(end of life)之結束時的所預期的最壞狀況記憶體胞錯誤率而設計。因此,ECC必須校正直至錯誤率之統計群體的遠尾端的最大數目個錯誤位元。
隨著快閃記憶體老化,快閃記憶體之錯誤率在器件之使用期限將要結束時快速增加。因此,針對最壞狀況設計之強力ECC將僅在記憶體器件之使用期限結束時被調用以應用其全部能力。
使用ECC來校正最壞狀況數目個錯誤位元將消耗大量處理時間。ECC必須校正之位元愈多,需要的計算時間就愈多。將使記憶體效能降級。可實施額外專用硬體以在合理時間量內執行ECC。此專用硬體可佔用控制器ASIC晶片上之相當可觀量的空間。此外,對於器件之大部分使用期限而言,僅少量地利用ECC,從而導致器件之較大附加項被浪費且未實現實際益處。
因此,需要提供一種具有高儲存容量而無需針對最壞狀 況過度設計之資源密集型ECC的非揮發性記憶體。
根據態樣之一原理集合,呈現一種操作一記憶體系統之方法。該記憶體系統包括沿複數個字元線形成之非揮發性記憶體胞的一陣列,每一字元線能夠儲存一或多個資料頁。該方法包括將多個資料頁寫入至該陣列中,及隨後自該陣列讀取複數個經寫入資料頁,且執行對複合資料結構之至少一部分的一評估以判定在所寫入的該複數個資料頁中的高錯誤率之存在。
本發明之各種態樣、優點、特徵及實施例包括於本發明之例示性實例的以下描述中,應結合隨附圖式閱讀例示性實例之描述。本文中所參考之所有專利、專利申請案、文章、其他刊物、文件及事項之全文特此出於所有目的以引用的方式併入本文中。就在所併入之刊物、文件或事項中之任一者與本申請案之間有術語的定義或使用之任何不一致性或衝突而言,應以本申請案之術語的定義及使用為準。
記憶體系統
圖1說明與其中體現本發明之特徵的記憶體器件通信之主機。主機80通常發送待儲存於記憶體器件90處之資料,或藉由讀取記憶體器件90來擷取資料。記憶體器件90包括由控制器102管理之一或多個記憶體晶片100。記憶體晶片100包括記憶體胞之記憶體陣列200,其中每一記憶體胞能 夠經組態為多位階記憶體胞(「MLC」)以儲存多個資料位元。記憶體晶片亦包括周邊電路,諸如感測模組480、資料鎖存器430及I/O電路440。晶片上控制電路110控制每一晶片之低層級記憶體操作。控制電路110係晶片上控制器,該晶片上控制器與周邊電路協作以對記憶體陣列200執行記憶體操作。控制電路110通常包括狀態機112以提供對記憶體操作之晶片級控制。
在許多實施中,主機80經由控制器102與記憶體晶片100通信並互動。控制器102與記憶體晶片協作,且控制並管理較高層級的記憶體操作。舉例而言,在主機寫入中,主機10以由主機之作業系統之檔案系統分配的邏輯區段的形式將待寫入之資料發送至記憶體陣列100。實施於控制器中之記憶體區塊管理系統接移(stage)區段,並將該等區段映射並儲存至記憶體陣列之實體結構。
較佳區塊管理系統揭示於2010年7月8日公開之美國專利申請公開案第2010/0172180 A1號中,該公開案之全部揭示內容以引用之方式併入本文中。
韌體60提供碼以實施控制器102的功能。錯誤校正碼(「ECC」)處理器62在記憶體器件之操作期間處理ECC。在另一實施例中,控制器102實施於主機內。
實體記憶體結構
圖2示意地說明非揮發性記憶體胞。記憶體胞10可由具有諸如浮動閘極或介電層之電荷儲存單元20的場效電晶體實施。記憶體胞10亦包括源極14、汲極16及控制閘極30。
存在現今正使用的許多商業上成功之非揮發性固態記憶體器件。此等記憶體器件可使用不同類型之記憶體胞,每一類型具有一或多個電荷儲存元件。典型非揮發性記憶體胞包括EEPROM及快閃EEPROM。在美國專利第5,595,924號中給出EEPROM記憶體胞之實例以及製造EEPROM記憶體胞的方法。在美國專利第5,070,032號、第5,095,344號、第5,315,541號、第5,343,063號、第5,661,053號、第5,313,421號及第6,222,762號中給出快閃EEPROM記憶體胞之實例,快閃EEPROM記憶體胞在記憶體系統中之使用及製造快閃EEPROM記憶體胞的方法。詳言之,在美國專利第5,570,315號、第5,903,495號及第6,046,935號中描述了具有NAND記憶體胞結構之記憶體器件的實例。又,利用介電儲存元件之記憶體器件的實例已由Eitan等人在「NROM:A Novel Localized Trapping,2-Bit Nonvolatile Memory Cell」(2000年11月之IEEE Electron Device Letters第21卷第11號,第543至545頁)中且在美國專利第5,768,192號及第6,011,725號中予以描述。
實務上,通常藉由在將參考電壓施加至控制閘極時感測跨越記憶體胞之源極電極及汲極電極之傳導電流而讀取記憶體胞的記憶體狀態。因此,對於記憶體胞之浮動閘極上的每一給定電荷而言,可偵測關於固定參考控制閘極電壓之對應傳導電流。相反,將臨限電壓定義為在給定電荷下控制閘極上之將恰好接通記憶體胞的電壓。類似地,可程式化至浮動閘極上之電荷的範圍界定了對應臨限電壓窗或 對應傳導電流窗。
或者,代替偵測經分割電流窗中之傳導電流,有可能在控制閘極處設定針對測試中給定記憶體狀態的臨限電壓,並偵測傳導電流是低於抑或高於臨限電流。在一實施中,相對於臨限電流的對傳導電流之偵測由檢驗傳導電流經由位元線之電容或已知電容器放電的速率來實現。
如自以上描述內容可瞭解,使記憶體胞儲存的狀態愈多,記憶體胞之臨限窗就劃分得愈精細。舉例而言,記憶體器件可具有臨限窗在-1.5 V至5 V之範圍內的記憶體胞。此情形提供6.5 V之最大寬度。若記憶體胞將儲存16個狀態,則每一狀態可佔用臨限窗中之200 mV至300 mV。此情形將需要程式化及讀取操作的較高精度,以便能夠達成所需解析度。
通常將記憶體陣列200組織為記憶體胞之二維陣列,該等記憶體胞配置為數列與數行且可藉由字元線及位元線定址。可根據NOR(反或)類型或NAND類型架構來形成該陣列。
圖3說明記憶體胞之NOR陣列之一實例。在記憶體陣列200中,每一列記憶體胞藉由記憶體胞之源極14及汲極16以菊鏈(daisy-chain)方式連接。有時將此設計稱作虛擬接地設計。一列中之記憶體胞10之控制閘極30連接至字元線(諸如,字元線42)。一行中之記憶體胞的源極及汲極分別連接至所選擇位元線(諸如,位元線34及36)。
圖4說明正被並行地感測或程式化之組織成(例如)NAND 組態的記憶體胞頁。圖4本質上展示記憶體陣列200中之一組NAND串50。NAND串50由藉由記憶體電晶體之源極及汲極而菊鏈鏈接之一系列記憶體電晶體(例如,4、8、16或更多個)組成。一對選擇電晶體S1、S2控制記憶體電晶體鏈之分別經由NAND串之源極端子及汲極端子至外部的連接。在記憶體陣列中,當源極選擇電晶體S1接通時,源極端子耦接至源極線34。類似地,當汲極選擇電晶體S2接通時,NAND串之汲極端子耦接至記憶體陣列之位元線36。鏈中之每一記憶體電晶體10充當記憶體胞。記憶體電晶體10具有一電荷儲存元件20以儲存給定量之電荷以便表示所欲之記憶體狀態。每一記憶體電晶體之控制閘極允許對讀取及寫入操作的控制。一列NAND串之對應記憶體電晶體的控制閘極皆連接至同一字元線(諸如,WL0、WL1、...)。類似地,選擇電晶體S1、S2中每一者之控制閘極(分別經由選擇線SGS及SGD進行存取)分別提供對經由NAND串之源極端子及汲極端子的對NAND串之存取的控制。
當在程式化期間讀取或驗證NAND串內之經定址記憶體電晶體10時,經由共同字元線為該記憶體電晶體10之控制閘極供應適當電壓。同時,藉由向NAND串50中的剩餘未經定址之記憶體電晶體的控制閘極施加充足電壓而完全接通NAND串50中的剩餘未經定址之記憶體電晶體。以此方式,有效地自個別記憶體電晶體之源極至NAND串之源極端子建立導電路徑且同樣針對個別記憶體電晶體之汲極至 記憶體胞之汲極端子建立導電路徑。在美國專利第5,570,315號、第5,903,495號、第6,046,935號中描述了具有此等NAND串結構之記憶體器件。
「頁」(諸如頁70)為允許被並行地感測或程式化之記憶體胞群組。此情形藉由對應的感測放大器頁來實現。舉例而言,頁70係沿一列,且藉由施加至該頁之記憶體胞的共同連接至字元線WL3之控制閘極的感測電壓來感測。沿每一行,諸如記憶體胞10之每一記憶體胞可由感測放大器經由位元線36存取。上文提及之頁為實體頁記憶體胞或感測放大器。視上下文而定,在每一記憶體胞正儲存之狀況下。
感測電路及技術
圖5A更詳細地說明展示於圖1中的感測模組,其含有跨越記憶體胞陣列之一組p個感測模組。並行操作之整組p個感測模組480允許並行地讀取或程式化沿一列之p個記憶體胞10的群組(或實體頁)。基本上,感測模組1將感測記憶體胞1中之電流I1,感測模組2將感測記憶體胞2中之電流I2,...,感測模組p將感測記憶體胞p中之電流Ip,等等。頁之自源極線34流出至聚集節點CLSRC中且自聚集節點CLSRC流動至接地的總記憶體胞電流i TOT 將係p個記憶體胞中之所有電流的總和。
在習知記憶體架構中,具有共同字元線之一列記憶體胞形成兩個或兩個以上頁,其中並行地讀取及程式化頁中之記憶體胞。在具有兩個頁之列的狀況下,一頁係由偶數位 元線存取,且另一頁係由奇數位元線存取。感測電路之實體頁在任一時間耦接至偶數位元線或耦接至奇數位元線。
在當前生產之晶片中,實體頁可為64k或更大。在較佳實施例中,群組為連續的整列記憶體胞。此為所謂的「全位元線」(all bit-line)架構,其中頁係由分別耦接至鄰接的位元線之一列鄰接的記憶體胞構成。
圖5B說明包括感測放大器之感測模組。感測放大器490偵測記憶體胞之傳導電流高於或低於參考位準。將所感測結果鎖存於對應的一組鎖存器430中(參見圖1)。
抹除區塊
快閃記憶體與其他類型之記憶體之間的一重要差異為:必須自經抹除狀態程式化記憶體胞。亦即,必須首先使浮動閘極無電荷。程式化接著將所要量之電荷添加回至浮動閘極。程式化並不支援自浮動閘極移除電荷之一部分以自程式化更多之狀態轉至程式化較少的狀態。此情形意謂,更新資料無法覆寫現有資料,且必須被寫入至先前未經寫入位置。
此外,抹除為自浮動閘極清空所有電荷,且通常相當地耗費時間。由於該原因,逐記憶體胞或甚至逐頁地進行抹除將為繁重且極慢的。實務上,將記憶體胞之陣列分成大量記憶體胞區塊。如對於快閃EEPROM系統而言係共同的,區塊為抹除之單元。亦即,每一區塊含有一起被抹除的最小數目之記憶體胞。
圖6示意性地說明組織成可抹除區塊之記憶體陣列的一 實例。電荷儲存記憶體器件之程式化僅可導致將更多電荷添加至其電荷儲存元件。因此,在程式化操作之前,必須移除(或抹除)記憶體胞之電荷儲存元件中的現有電荷。當一起(亦即,在一瞬間)電抹除記憶體胞之整個陣列200或該陣列的顯著記憶體胞群組時,諸如EEPROM之非揮發性記憶體被稱作「快閃」EEPROM。一旦被抹除,便可接著對該記憶體胞群組進行再程式化。可一起抹除之記憶體胞群組可由一或多個可定址抹除單元300組成。抹除單元或區塊300通常儲存一或多個資料頁,頁為程式化及讀取之最小單元,儘管在單一操作中可程式化或讀取一個以上頁。每一頁通常儲存一或多個區段之資料,區段大小係由主機系統來界定。一實例為具有遵循隨磁碟機建立之標準的512位元組使用者資料加上關於使用者資料及/或儲存有該使用者資料之區塊的某數目個位元組附加項資訊的區段。
在展示於圖6中之實例中,記憶體陣列200中之個別記憶體胞可藉由諸如WL0至WLy之字元線42及諸如BL0至BLx之位元線36存取。將記憶體組織成諸如抹除區塊0、1、...、m之抹除區塊。亦參看圖5A及圖5B,若NAND串50含有16個記憶體胞,則陣列中之第一組NAND串將可由選擇線44及諸如WL0至WL15之字元線42存取。抹除區塊0經組織以使第一組NAND串之所有記憶體胞被一起抹除。在另一記憶體架構中,可一起抹除一個以上組之NAND串。
二進位(SLC)及多狀態(MLC)記憶體分割之實例
如較早所描述,非揮發性記憶體之一實例由場效電晶體 之陣列形成,每一場效電晶體具有在其通道區與其控制閘極之間的電荷儲存層。該電荷儲存層或單元可儲存一範圍的電荷,從而引起每一場效電晶體之一範圍的臨限電壓。可能臨限電壓之範圍橫越一臨限窗。當將臨限窗分割為臨限電壓的多個子範圍或區時,將每一可解析區用以表示記憶體胞的不同記憶體狀態。多個記憶體狀態可藉由一或多個二進位位元編碼。
圖7說明具有記憶體胞之群體的二進位記憶體,其中每一記憶體胞係處於兩個可能狀態中的一者。每一記憶體胞的臨限窗由單一分界位準(demarcation level)分割成兩個相異區。如圖7(0)中所展示,在讀取期間,將下部區與上部區之間的讀取分界位準rV1用以判定記憶體胞之臨限位準位於哪個區。若記憶體胞之臨限值位於下部區中,則記憶體胞係處於「經抹除」狀態;且若記憶體胞之臨限值位於上部區中,則記憶體胞係處於「經程式化」狀態。圖7(1)說明最初記憶體的所有記憶體胞處於「經抹除」狀態。圖7(2)說明一些記憶體胞經程式化為「經程式化」狀態。將1位元或二進位碼用以對記憶體狀態進行編碼。舉例而言,位元值「1」表示「經抹除」狀態,且「0」表示「經程式化」狀態。通常,藉由施加一或多個程式化電壓脈衝來執行程式化。在每一脈衝之後,對記憶體胞進行感測以驗證臨限值是否已被移動超出驗證分界位準vV1。具有此記憶體胞分割之記憶體被稱作「二進位」記憶體或單位階記憶體胞(「SLC」)記憶體。將瞭解,二進位或SLC記憶體以 廣泛的誤差容限操作,此係由於整個臨限窗僅被兩個區佔用。
圖8說明具有記憶體胞之群體的多狀態記憶體,其中每一記憶體胞係處於八個可能狀態中的一者。每一記憶體胞的臨限窗由至少七個分界位準分割成八個相異區。如圖8(0)中所展示,在讀取期間,將讀取分界位準rV1至rV7用以判定記憶體胞之臨限位準位於哪個區。若記憶體胞之臨限值位於最下區中,則記憶體胞係處於「經抹除」狀態;且若記憶體胞之臨限值位於該等上部區中,則記憶體胞係處於多個「經程式化」狀態中的一者中。圖8(1)說明最初記憶體的所有記憶體胞皆處於「經抹除」狀態。圖8(2)說明一些記憶體胞經程式化為「經程式化」狀態。可將具有下部位元、中部位元及上部位元之3位元碼用以表示八個記憶體狀態中的每一者。舉例而言,「0」、「1」、「2」、「3」、「4」、「5」、「6」及「7」狀態分別由「111」、「011」、「001」、「101」、「100」、「000」、「010」及「110」來表示。通常,藉由施加一或多個程式化電壓脈衝來執行程式化。在每一脈衝之後,對記憶體胞進行感測以驗證臨限值是否已被移動超出係驗證分界位準vV1至vV7中之一者的參考。具有此記憶體胞分割之記憶體被稱作「多狀態」記憶體或多位階記憶體胞(「MLC」)記憶體。
類似地,儲存4位元碼之記憶體將具有下部位元、第一中部位元、第二中部位元及上部位元,從而表示十六個狀 態中的每一者。臨限窗將由至少15個分界位準分界成十六個相異區。
隨著記憶體之有限臨限窗經分割成更多區,用於程式化及讀取之解析度將必然變得更精細。因此,多狀態或MLC記憶體必然以與具有較少經分割區之記憶體的誤差容限相比而言較狹窄的誤差容限來操作。換言之,錯誤率隨著儲存於每一記憶體胞中之位元之數目增加而增加。一般而言,錯誤率隨著臨限窗中之經分割區的數目增加而增加。
藉由錯誤校正碼(「ECC」)進行之校正
快閃記憶體傾向於發生錯誤。為了確保無錯誤之資料,實施錯誤校正碼(「ECC」)以校正錯誤。
圖9示意性地說明含有ECC欄位之資料頁。如結合圖4及圖6A所描述,借助於並行地操作之感測模組的對應頁來並行地程式化及讀取記憶體胞之實體頁。當每一記憶體胞儲存多個資料位元時,將存在與每一實體頁相關聯之多個資料頁。資料頁70'包含使用者部分72'及系統部分74'。使用者部分72'係用於儲存使用者資料。系統部分74'通常由記憶體系統用於儲存系統資料。在系統資料中包括ECC。針對資料頁計算ECC。通常,藉由控制器102中之ECC處理器62(參見圖1)來計算ECC。
隨著自主機接收資料,在控制器102中對資料頁進行接移,且藉由ECC處理器62計算資料頁的ECC 76'。接著將併有ECC之資料頁寫入至記憶體陣列200中。通常,當讀取資料頁時,資料頁被鎖存於資料鎖存器430中,且被移 出I/O電路440而至控制器102。在控制器102處,比較資料頁之現有ECC與對於讀取資料計算之ECC的第二版本。ECC通常包括錯誤偵測碼(「EDC」)以用於快速偵測資料頁中之任何錯誤。若EDC指示所讀取資料頁中之任何錯誤的存在,則調用ECC來校正所讀取資料頁中的錯誤位元。
ECC可經設計以校正任何數目個錯誤位元。ECC必須校正之位元愈多,ECC就將更複雜且計算上更密集的。為了品質保證,基於在記憶體器件之使用期限結束(「EOL」)時的所預期最壞狀況記憶體胞錯誤率(「CER」)而設計習知ECC。因此,其必須校正直至統計錯誤群體的遠尾端的最大數目個錯誤位元。
圖10A展示錯誤率之常態分佈,其中群體的百分數係在標準偏差σ之各種範圍內。舉例而言,群體之僅2.1%位於自2σ至3σ之範圍內。群體之僅0.1%位於自3σ至4σ之範圍內。
圖10B以表格式說明圖10A的分佈。可瞭解,僅群體之E-09或十億分之一位於超出6σ的範圍。表中之最後一欄展示實例記憶體器件在最壞狀況下的所估計錯誤率。舉例而言,群體之5%將具有1個錯誤位元,群體之0.135%將具有4個錯誤位元,且群體之十億分之一將具有42個錯誤位元。
考慮125個記憶體卡之樣本。每一卡具有16 GB之容量,其中資料頁為各自2 KB。此情形折合成十億個各自為2 KB之頁的群體。為了確保125個記憶體卡之樣本的每一頁在 卡之使用期限結束時都將無錯誤,將需要能夠校正高達42個位元的ECC。
記憶體之使用期限期間的錯誤
如上文所描述,ECC通常經設計以校正在記憶體之可用期限期間所預期的任何錯誤。錯誤來自許多源。
圖11為列出快閃記憶體之主要錯誤源的表。圖11(A)展示自寫入後起之第一錯誤源EPW(NCYC),該錯誤源係在對頁進行寫入之後存在的位元錯誤。在快閃記憶體中,「程式化」指代使記憶體胞之臨限值自經抹除狀態增加之程序。該術語「程式化」將與「寫入」互換地使用。錯誤率隨著NCYC(程式化抹除循環之數目)而增加。在已將資料寫入至記憶體胞之後,儘管通過了驗證操作,但資料仍可能由於兩個原因為錯誤的。
寫入後錯誤之第一原因係歸因於驗證操作未偵測到之過度程式化。當要同時程式化數個記憶體胞時,過度程式化可發生。此係因為每一記憶體胞之特性歸因於包含記憶體胞之半導體器件之結構及操作之微小變化而不同;因此,通常會發生不同記憶體胞之程式化速度之不同。此情形導致若干記憶體胞比其他記憶體胞更快地被程式化,且可能導致一些記憶體胞將被程式化至不同於所意欲狀態之狀態。多個記憶體胞之更快程式化可導致超越所要臨限電壓位準範圍,從而在正儲存之資料中產生錯誤。
通常,在正程式化資料時,器件之程式化驗證程序將檢查記憶體胞之經程式化臨限電壓是否高於使當前狀態與鄰 近較低程式化狀態分界的參考位準。然而,程式化驗證並不知曉經程式化臨限電壓高於參考位準的程度。因此,器件通常並不保證臨限電壓的上限。一些器件的確檢查以確認軟程式化程序(下文所描述)是否將臨限電壓提昇得過高;然而,此等器件並不檢查以確認常規程式化程序是否將臨限電壓提昇得過高。因此,提昇臨限電壓超出所要狀態之範圍的過度程式化可發生而不被注意到。過度程式化可使得記憶體胞超越至下一經程式化狀態,且因此儲存不正確資料。此錯誤在隨後讀取操作期間將被偵測到,在該等隨後讀取操作中,記憶體胞之經程式化臨限值通常被相對於分界給定記憶體狀態之臨限值範圍的下限及上限兩者進行檢查。在美國專利第5,321,699號、第5,386,422號、第5,469,444號、第5,602,789號、第6,134,140號、第6,914,823號及第6,917,542號中可找到關於過度程式化的更多資訊。
寫入後錯誤之第二原因在於所儲存電荷位準之歸因於儲存元件之間的場耦合之表觀移位(apparent shift)。隨著記憶體胞陣列之大小減少(該情形由於積體電路製造技術之改良正在發生),此耦合之程度必然增加。問題最顯著地發生於已在不同時間經程式化的鄰近記憶體胞之兩個群組之間。一記憶體胞群組經程式化以將對應於一組資料之電荷位準添加至記憶體胞的儲存元件。在用第二組資料程式化第二記憶體胞群組之後,因為與第一儲存元件群組電容耦合之第二儲存元件群組上之電荷的影響,自第一記憶體胞群組之儲存元件讀取的電荷位準常常顯現為不同於經程 式化之電荷位準。詳言之,在被感測時,與記憶體胞較少受到擾動時相比較,記憶體胞將顯現為具有較高臨限位準(或經更多程式化)。此情形亦稱為玉彬效應(Yupin effect),且描述於全文以引用之方式併入本文中的美國專利第5,867,429號中。此專利描述使兩個儲存元件群組彼此實體地隔離,或在讀取第一群組之電荷時考慮第二儲存元件群組上之電荷的影響。
圖11(B)展示第二錯誤源EDR(T,NCYC),該錯誤源係EOL時之歸因於資料保持的位元錯誤。錯誤率隨著溫度T及NCYC(程式化抹除循環之數目)增加而增加。資料錯誤係歸因於器件之歷史。資料錯誤通常係關於資料保持問題,該資料保持問題視記憶體器件在環境(例如,溫度)中之暴露而定。隨著時間流逝,實際儲存之電荷位準可緩慢漏出,從而使得經程式化臨限值減少。
隨著儲存於每一記憶體胞中之狀態的數目增加,儲存元件上之經程式化電荷位準之任何移位的容許度減少。由於隨著儲存於每一記憶體胞儲存元件上之狀態的數目增加,必然使得針對每一儲存狀態(storage stat)指明之電荷範圍更狹窄且彼此更靠近,因此必須以增加之精密度來執行程式化,且所儲存電荷位準的任何程式化後移位(實際移位或表觀移位)的可容忍範圍減小。在程式化並讀取一記憶體胞時,以及在讀取、程式化及抹除具有與該記憶體胞之某一程度之電耦合的其他記憶體胞(諸如,同一行或列中之彼等記憶體胞,及共用一線或節點的彼等記憶體胞) 時,可產生對儲存於該記憶體胞中之電荷的實際擾亂。
圖11(C)展示第三錯誤源ERD(NR,NCYC),該錯誤源係歸因讀取擾亂的位元錯誤。錯誤率隨著讀取數目及NCYC(程式化抹除循環之數目)增加而增加。
快閃記憶體之重要考慮為,隨著快閃記憶體隨不斷使用而老化,快閃記憶體具有耐久性問題。當記憶體胞被重複地程式化並抹除時,電荷藉由穿隧跨越介電質而穿入或穿出浮動閘極20(參見圖2)。每一次,一些電荷可能被俘獲於介電質中,且將修改記憶體胞之臨限值。記憶體胞已經歷之程式化抹除循環的數目由循環計數NCYC(亦稱為「熱計數」)來量測。儘管重複循環,但NCYC之值針對給定抹除區塊增加,從而使得區塊中之記憶體胞的臨限窗逐漸變狹窄。因此,程式化抹除循環之效應將顯著影響在圖11中列出之所有錯誤源。
圖12為展示在實例記憶體器件之使用期限開始及結束時記憶體器件之所估計總錯誤之表。圖12(A)將來自圖11(A)至圖11(C)中列出之三個源的總錯誤展示為ETOT(NCYC,NR)=EPW(NCYC)+EDR(T,NCYC)+ERD(NR,NCYC)。
圖12(B)展示當記憶體為相對新(低NCYC)但已在85℃下烘烤歷時5年且已被讀取106次時的所估計ETOT。各種錯誤分量之估計為:EPW(1)~3,EDR(85℃,1)~2,且ERD(1M,1)~0。此等估計產生所估計總錯誤ETOT(1,1M)=3+2+0=5個位元。
圖12(C)展示當記憶體接近器件之使用期限結束 (「EOL」)時之所估計ETOT。該記憶體以高程式化抹除循環(NCYC=10K)為特徵,其他參數類似於圖12(B)之參數。各種錯誤分量之估計為:EPW(10K)~10,EDR(85℃,10K)~10,且ERD(1M,10K)~1。此等估計產生所估計總錯誤ETOT(10K,1M)=10+10+1=21個位元。
在描述於圖11及圖12中之三個錯誤源中,通常歸因於讀取擾亂之錯誤ERD不像歸因於寫入之錯誤EPW及歸因於資料保持之錯誤EDR一樣顯著。資料保持錯誤可藉由週期性地在「讀取擦洗(read scrub)」操作中再新記憶體胞之臨限位準來減輕。
為了校正可出現於記憶體中的各種錯誤,特別是在寫入之後出現的錯誤,使用ECC(上文結合圖9描述)。然而,使用ECC來校正錯誤將消耗處理時間,且ECC必須校正之位元數目愈多,所需的計算時間就愈多。使用能夠校正大量錯誤位元之強大ECC將使記憶體效能降級。可能實施額外專用硬體以在合理時間量內執行ECC。此專用硬體可佔用控制器ASIC晶片上之相當可觀量的空間。
圖13為說明習知ECC必須經設計以校正最壞狀況總錯誤ETOT的表。該情形將為具有高程式化抹除循環計數及資料保持規格的在使用期限結束時的器件。對於在圖12(C)中給出之實例,ECC必須能夠校正至少21個錯誤位元。
將資料自較高密度記憶體部分適應性地重寫至較低錯誤率記憶體部分以控制錯誤率
根據本發明之一般態樣,具有記憶體胞陣列之快閃記憶 體經組態有第一部分及第二部分。與第一部分相比較,第二部分以較高密度儲存資料,但以較小誤差容限操作。將資料寫入至第二部分中以進行高效儲存。然後,讀回資料以檢查過量錯誤位元。若錯誤位元超出預定量,則將資料重寫至較不易發生錯誤的第一部分。此情形限制了由將資料寫入至記憶體引起之錯誤位元的最大數目。在錯誤率之統計分佈中,該限制表示對分佈之數字標準偏差的限制,使得分佈之遠尾端(具有較高錯誤率)可被忽略。此情形允許設計較小且更高效之錯誤校正碼(「ECC」)來校正較小數目個錯誤位元,藉此改良效能並減小記憶體之成本。
圖14A說明根據本發明之較佳實施例正被分割成兩個部分的記憶體陣列。記憶體胞陣列200經分割成第一部分410及第二部分420。第二部分420具有組態為高密度儲存器之記憶體胞,其中每一記憶體胞儲存多個資料位元。第一部分410具有組態為較低密度儲存器之記憶體胞,其中每一記憶體胞與第二部分之記憶體胞相比儲存較少數目之位元。舉例而言,與第二部分中之3個資料位元相比較,第一部分中之記憶體胞經組態以儲存1資料位元。鑒於較早的論述內容,相較於第二部分之誤差容限,第一部分將以廣泛得多之誤差容限操作。因此,第一部分中之記憶體操作與第二部分中之記憶體操作相比較將具有較少錯誤。
題為「Selective Operation of a Multi-state Non-volatile Memory System in a Binary Mode」之美國專利第6,456,528號揭示一種快閃非揮發性記憶體,該快閃非揮發性記憶體 具有正常地在兩個以上狀態中操作之記憶體胞,但亦具有僅在兩個狀態中操作以便在兩狀態操作期間提供增大之容限的所選擇記憶體胞。當與多狀態操作提供之增大密度之資料儲存相比,更需要具有記憶體胞的更快程式化及較長使用壽命時,此情形允許實現以兩個狀態操作之記憶體胞的此等優點。US 6,456,528之整個揭示內容以引用之方式併入本文中。
當要將傳入資料頁寫入至記憶體陣列200時,為了效率及高容量,較佳將傳入資料頁儲存於高密度第二部分中。因此,將資料頁之第一複本寫入至第二部分。
稍後,在「寫入後讀取」中讀回資料頁之第一複本以判定是否存在任何錯誤。此情形藉由與可能被快取之原始複本之比較抑或藉由檢查ECC之EDC部分來實現。
進行所讀取複本中之錯誤位元之數目是否超出預定量的判定。若錯誤位元之數目並未超出預定量,則認為儲存於第二部分中之第一複本為有效的。資料頁之隨後讀取將自第二部分中之第一複本進行,且將在控制器處藉由ECC來校正任何錯誤。
如上文結合圖11所解釋,程式化期間之驗證程序僅檢查程式化不足但不檢查過度程式化。因此,在資料頁已經程式化驗證之後,錯誤仍可能存在。要靠相對於所有分界位準(參見圖7及圖8)之讀取操作來偵測資料頁中的任何錯誤。此外,鄰近記憶體胞之隨後程式化的玉彬效應可使考慮中之資料頁擾動,且使表觀所感測結果移位。因此,讀 回應至少在對當前資料頁可具有顯著玉彬效應之所有鄰近記憶體胞的程式化之後進行。在另一實施例中,讀回係在含有討論中之資料頁的區塊中之所有記憶體胞完成了程式化之後進行。
「寫入後讀取」亦揭示於美國專利第6,914,823號、第6,917,542號及第7,009,889號中,該等專利之全部揭示內容以引用之方式併入本文中。
圖14B說明將資料頁之第二複本重寫至圖14A之記憶體陣列之第一部分中。在寫入後讀取偵測到資料頁中之錯誤位元之數目已超出預定量之後,將資料頁之第二複本重寫至第一部分中。第二複本係可被快取之原始資料,或在另一實施例中係藉由擷取第一複本並用ECC校正錯誤位元。
在第二複本已被寫入至第一部分之後,第二複本將替換第二部分中之第一複本作為有效複本。第一複本將變為過時的,且體現於控制器之韌體中之區塊管理系統(參見圖1)中的目錄將被更新以使隨後存取指向第二複本。
在一較佳實施例中,第一部分之每一記憶體胞儲存一資料位元,且第二部分的每一記憶體胞儲存一個以上資料位元。
圖15為說明根據描述於圖14A及圖14B中之實施例的寫入後讀取及適應性重寫之程序的流程圖。
步驟500:將記憶體組態成第一部分及第二部分,第一部分具有以大於第二部分之誤差容限的誤差容限操作之記憶體胞。
步驟510:將輸入資料群組之第一複本程式化於第二部分中。
步驟520:在預定義時間之後自第二部分讀取第一複本以檢查錯誤。
步驟530:錯誤超出預定數目之錯誤位元?若是,進入步驟540。否則進入步驟550。
步驟540:將輸入資料群組之第二複本程式化於第一部分中。
步驟550:將最近寫入的複本識別為有效資料以供隨後讀取。
步驟560:完成將輸入資料群組儲存於非揮發性記憶體中。
在替代性實施例中,第一部分充當傳入資料之快取記憶體,因此輸入資料之快取記憶體複本經程式化至快取記憶體中。接著,將資料之第一複本程式化至第二部分中。
若寫入後讀取在第一複本中未偵測到過量錯誤量,則第一複本將被視為有效的,且隨後讀取將被導引以存取第一複本。
另一方面,若寫入後讀取已在第一複本中偵測到過量錯誤量,則第一部分中之經快取複本將替換第二部分中之第一複本作為有效資料。第一複本將變為過時的,且體現於控制器之韌體中之區塊管理系統(參見圖1)中的目錄將被更新以使隨後存取指向經快取複本。
題為「Multi-state Non-volatile Flash Memory Capable of Being its Own Two State Write Cache」之美國專利第5,930,167號揭示一種具有兩個部分之快閃記憶體陣列。第一部分經組態以每記憶體胞儲存一位元,且第二部分經組態以每記憶體胞儲存一個以上位元。第一部分充當低密度寫入快取記憶體。最初在第一部分中快取傳入資料。在稍後時間,在背景中,將經快取資料傳送至具有較高儲存密度之第二部分中。US 5,930,167之整個揭示內容以引用之方式併入本文中。
在較佳實施例中,第一部分進一步具備第一分區(section)及第二分區。在第一部分之第一分區中快取傳入資料,且將資料之第一複本寫入至第二部分中。然後,讀回第二部分中之第一複本以檢查過量錯誤位元。若錯誤位元超出預定量,則將傳入資料之第二複本寫入至第一部分之第二分區中。
圖16A說明根據本發明之較佳實施例的正被分割成兩個部分且第一部分進一步具備快取記憶體分區及重寫分區的記憶體陣列。如在圖14A中一樣,記憶體胞陣列200經分割成第一部分410及第二部分420。第二部分420具有組態為高密度儲存器之記憶體胞,其中每一記憶體胞儲存多個資料位元。第一部分410具有組態為較低密度儲存器之記憶體胞,其中每一記憶體胞與第二部分之記憶體胞相比儲存較少數目之位元。因此,與第二部分之誤差容限相比較,第一部分以較廣泛之誤差容限操作。
第一部分410進一步具備用於快取傳入資料之第一分區 411,及用於儲存來自第二部分之重寫的第二分區412。
當要將傳入資料頁寫入至記憶體陣列200時,在第一部分410之第一分區411中快取經快取複本。為了效率及高容量,第一複本較佳儲存於高密度第二部分中。因此,將資料頁之第一複本寫入至第二部分。
根據另一較佳實施例,記憶體陣列具備在積體電路晶片上之一組資料鎖存器,對第一複本中之錯誤位元的檢查係藉由將第一複本及經快取複本載入至該組資料鎖存器中且在該組資料錯存器處進行比較來實現。
藉由不在控制器處進行比較,資料不必被雙態切換(toggle)出至控制器,可節省很多時間。圖1展示用於進行資料比較的在晶片上的資料鎖存器430。
圖16B說明根據寫入後讀取之較佳實施例的頁比較技術。在「寫入後讀取」中讀回第二部分中之資料頁的第一複本以判定是否存在任何錯誤。此情形藉由與經快取複本之比較來實現。
若錯誤位元之數目並未超出預定量,則認為儲存於第二部分中之第一複本為有效的。經快取複本將變為過時的,且體現於控制器之韌體中之區塊管理系統(參見圖1)中的目錄將被更新以使隨後存取指向第一複本。對資料頁之隨後讀取將自第二部分中之第一複本進行,且將在控制器處藉由ECC來校正任何錯誤。
圖16C說明在寫入後讀取已判定第二部分中之資料頁中的過量錯誤量之後對第一部分的重寫。在寫入後讀取偵測 到第一複本之資料頁中的錯誤位元之數目已超出預定量之後,將資料頁之第二複本重寫至第一部分410之第二分區412。自經快取複本獲取第二複本。
在第二複本已寫入至第一部分之第二分區412之後,第二複本將替換第二部分中的第一複本。第一複本及經快取複本將變為過時的,且體現於控制器之韌體中之區塊管理系統(參見圖1)中的目錄將被更新以使隨後存取指向第二複本。
圖17為說明根據描述於圖16A至圖16C中之實施例的寫入後讀取及適應性重寫之程序的流程圖。
步驟600:將記憶體組態成第一部分及第二部分,第一部分具有以大於第二部分之誤差容限的誤差容限操作之記憶體胞。
步驟602:將輸入資料群組之經快取複本程式化於第一部分之第一分區中。
步驟610:將輸入資料群組之第一複本程式化於第二部分中。
步驟620:在預定義時間之後自第二部分讀取第一複本以檢查錯誤。
步驟630:錯誤超出預定數目之錯誤位元?若是,進入步驟632。否則進入步驟650。
步驟632:自第一部分之第一分區讀取輸入資料群組之經快取複本。
步驟642:將經快取複本作為輸入資料群組之第二複本 程式化於第一部分的第二分區中。
步驟650:將最近寫入複本識別為有效資料以供隨後讀取。
步驟660:完成將輸入資料群組儲存於非揮發性記憶體中。
為了說明及描述,已呈現本發明之前述[實施方式]。前述[實施方式]不欲為詳盡的或將本發明限於所揭示之精確形式。依據以上教示,許多修改及變化係可能的。選擇所描述之實施例,以便最佳地解釋本發明之原理及其實際應用,藉此使熟習此項技術者能夠在各種實施例中且以適於所預期之特定用途的各種修改來最佳地利用本發明。希望本發明之範疇由附加至此之申請專利範圍來界定。
增強型寫入後讀取錯誤管理
在本發明之另一態樣中,實施增強型寫入後讀取錯誤管理。在記憶體器件之使用期限開始時並不啟用寫入後讀取。在使用期限開始時,記憶體器件之錯誤率為極低的,且不需要操作寫入後讀取。此情形避免了浪費進行寫入後讀取的時間。隨著記憶體器件經由使用而老化,在器件之預定存留期時啟用本發明之增強型寫入後讀取及錯誤管理。
在較佳實施例中,記憶體器件之存留期由與記憶體胞之每一抹除區塊維持在一起的熱計數來判定。熱計數追蹤抹除區塊的耐久性或抹除區塊已循環經過抹除及程式化操作的次數。只要抹除區塊之熱計數超過預定熱計數臨限值, 增強型寫入後讀取錯誤管理就將開始且操作,直至記憶體器件之使用期限結束。
圖18說明組織成抹除區塊的記憶體。如上文結合圖6所描述,每一抹除區塊為一起被抹除的記憶體胞之群組。上文亦描述當記憶體胞被重複地程式化及抹除時,電荷藉由穿隧跨越介電質而穿入及穿出浮動閘極20(參見圖2)。每一次,一些電荷可被俘獲於介電質中,且將修改記憶體胞之臨限值。記憶體胞已經歷之程式化抹除循環的數目由循環計數NCYC(亦稱為「熱計數」)來量測。儘管重複循環,但NCYC之值針對給定抹除區塊增加,且區塊中之記憶體胞的臨限窗逐漸變狹窄。圖18說明將熱計數NCYC(m)302維持於每一抹除區塊(m)中的較佳實施例。由於可程式化單元為頁,因此每一區塊之熱計數可儲存於說明於圖9中之資料頁70'的系統資料區域中。或者,熱計數可儲存於記憶體中的主清單中。每當抹除一區塊時,使該區塊之熱計數遞增一。
圖19為說明在記憶體器件已老化至如由熱計數判定之預定程度時啟用錯誤管理的流程圖。
步驟700:提供組織成記憶體胞之抹除區塊的非揮發性記憶體,其中每一抹除區塊之記憶體胞被一起抹除,並隨每一區塊之抹除/程式化循環的數目增加而老化。
步驟710:提供用於校正與正老化之記憶體器件相關聯之錯誤的錯誤管理。在較佳實施例中,錯誤管理為上文描述之寫入後讀取錯誤管理。
步驟720:藉由維持一記錄每一區塊已經受之抹除/程式化循環之數目的熱計數來追蹤每一區塊的存留期。
步驟730:記憶體區塊之熱計數>預定熱計數臨限值?在較佳實施例中,預定熱計數臨限值由儲存於記憶體中之檔案系統組態檔案中的參數Hot_count_threshold_EPWR(參見圖21)來給出。若大於,轉至步驟740,否則轉至步驟750。
步驟740:針對記憶體之剩餘使用期限啟用錯誤管理。
步驟750:不啟用錯誤管理。
在本發明之又一態樣的較佳實施例中,記憶體之高密度儲存部分(D3)的每一記憶體儲存3個資料位元。記憶體之不易發生錯誤的低密度儲存部分(D1)的每一記憶體胞儲存1資料位元。輸入資料首先在D1中進行接移,且隨後摺疊(fold)至D3中。當啟用增強型寫入後讀取錯誤管理時,讀回D3中之當前所填充區塊;且若錯誤率超出預定臨限值,則拒絕當前D3區塊,且再試將資料重新摺疊至新D3區塊中。新D3區塊被再次讀回,且檢查過量錯誤率。若新D3區塊通過,則新D3區塊具有良好資料,且使得D1中之原始資料為過時的。若新D3區塊再次展示過量錯誤率,則再次丟棄新D3區塊。若過量錯誤率在預定數目次再試之後仍持續,則不再嘗試其他再試,且在將原始資料保持於D1處之情況下放棄D1至D3摺疊操作。此時,將記憶體器件視為過舊的而不能用於其他程式化操作,且使得記憶體器件為唯讀的以保持儲存於記憶體器件中之現有資料的完整 性。
圖20A至圖20C說明在組態有D1及D3部分之記憶體中實施寫入後讀取錯誤管理的各種實例。組態有D1及D3部分之記憶體亦揭示於2009年12月18日申請之Gorobets等人之題為「MAINTAINING UPDATES OF MULTI-LEVEL NON-VOLATILE MEMORY IN BINARY NON-VOLATILE MEMORY」的美國專利申請案第12/642,584號中;該申請案之整個揭示內容以引用之方式併入本文中。
圖20A說明根據本發明之較佳實施例正被分割成兩個部分的記憶體陣列。記憶體胞陣列200(參見圖1)經分割成第一部分410及第二部分420。第二部分420具有組態為高密度儲存器之記憶體胞,其中每一記憶體胞儲存多個資料位元。第一部分410具有組態為較低密度儲存器之記憶體胞,其中每一記憶體胞與第二部分之記憶體胞相比儲存較少數目之位元。舉例而言,與第二部分中之3個資料位元相比較,第一部分中之記憶體胞經組態以儲存1資料位元。每記憶體胞儲存1資料位元之第一部分亦將稱作D1,且每記憶體胞儲存3個資料位元之第二部分將稱作D3。鑒於較早論述內容,相較於第二部分之誤差容限,第一部分將以廣泛得多之誤差容限操作。因此,第一部分中之記憶體操作與第二部分中之記憶體操作相比將具有較少錯誤。
在一實施例中,第一部分410或D1進一步經分割成第一分區411與第二分區412。
在步驟(1)中,在主機寫入期間,輸入資料被首先快取 於第一分區411中,抑或直接寫入至第二分區412。若輸入資料經分段,則首先在第一分區中快取輸入資料。若輸入資料為實質上連續的順序資料,則將輸入資料逐頁直接寫入至第二分區412中。
在步驟(2)中,在任何狀況下,輸入資料最終進入第二分區412中,在第二分區412中經寫入頁被接移至虛擬D1區塊(諸如,區塊m.1、m.2及m.3)中。在每一區塊含有來自經良好界定之邏輯位址群組之資料的方案中,虛擬區塊可能不對應於實體區塊,而是仍具有分散在若干個實體D1區塊上之邏輯位址群組。
在步驟(3)中,隨著資料被逐頁寫入至D1中,當二進位頁之三元組在D1中時,三元組之二進位頁可經複製至D3中之單一3位元頁中,該情形亦被稱作自D1摺疊至D3。
藉由實施增強型寫入後讀取錯誤管理(「EPWR」),在記憶體之壽命的某一點處,寫入後讀取錯誤管理將開始。
在步驟(4)中,在虛擬D1區塊m.1、m.2及m.3之整個頁已被摺疊至D3區塊m中之後,D3區塊m為完整的。其後,可藉由EPWR處理D3區塊m,在EPWR中,D3區塊中之資料被讀回,並對該資料進行ECC錯誤檢查。若ECC錯誤之數目小於如由檔案系統組態檔案中設定之參數E_pw_check給出的預定臨限值,則將D3區塊中之資料視為有效的。對應D1頁可接著被安全地替換並淘汰。
圖20B說明圖20A之D3區塊未通過寫入後讀取測試的另一實例。步驟(1)至步驟(3)與圖20A之步驟(1)至步驟(3)相 同。
在步驟(4')中,當D3區塊中之資料被讀回時,發現ECC錯誤之數目大於E_pw_check。此情形意謂,D3中之資料至多為勉強夠格的,且不可被使用。
在步驟(5)中,倘若現有D3區塊未通過寫入後讀取測試,則EPWR藉由將資料摺疊至新D3區塊中來規定一再試。
在步驟(6)中,新D3區塊中之資料經受另一寫入後讀取測試。若新D3區塊中之資料通過測試,則將新D3區塊中之資料視為有效的。對應D1頁可接著被安全地替換並淘汰。
圖20C說明圖20B之新D3區塊再次未通過寫入後讀取測試的另一實例。步驟(1)至步驟(5)與圖20B之步驟(1)至步驟(5)相同。
在步驟(6')中,當新D3區塊中之資料被讀回時,發現ECC錯誤之數目大於E_pw_check。此情形意謂,經再試D3區塊中之資料仍為不良的,且不可被使用。
EPWR程序可規定對另一D3區塊之其他再試。再試之數目由檔案系統組態檔案中的參數EPWR_retries來設定。舉例而言,若EPWR_retries為1,則程序將在新區塊未通過測試之後結束。
在該情況下,在步驟(7)中,不可使用新D3區塊,且檔案系統替代地將使存取指向駐留於D1中的對應資料。
圖21為說明與增強型寫入後讀取錯誤管理相關聯之實例 參數的表。表較佳維持於儲存於記憶體中之檔案系統組態檔案中。
E_pw_check - 設定於檔案系統組態檔案中的指定在哪一ECC位元層級下將D3區塊考慮為高風險的且需要重新開始向新D3區塊之D1至D3摺疊的變數。
ECC_threshold_SLC - 在檔案系統組態檔案中的維持用以比較的SLC臨限值所需的變數,以便做出是否繼續EPWR的決策。
EPWR_enable_flag - 在檔案系統組態檔案中進行控制。0=不設定(預設);1=設定(當啟用EPWR時)。
Hot_count_enable_flag-0=不啟用;1=啟用。
Hot_count_threshold_EPWR - 在檔案系統組態檔案中設定以指定在哪一熱計數位準需要EPWR的變數。若所有D3區塊之熱計數皆<熱計數臨限值,則即使EPWR啟用旗標開啟,仍不觸發EPWR程序。
EPWR_verify_page_budget - 在檔案系統組態檔案中設定以指定在EPWR之1階段期間可讀取之頁之數目的變數。
EPWR_retries - 檔案系統組態檔案中用以限制再試嘗試次數的變數。
D3_Block_max_retries - 檔案系統組態檔案中用以限制在壽命期間D3區塊上的再試嘗試之總次數的變數。
圖22A為說明如應用至具有D1至D3摺疊之記憶體的EPWR錯誤管理之較佳實施的流程圖。
步驟800:開始。
步驟810:D1至D3摺疊,在該D1至D3摺疊中,將來自D1之三個二進位資料頁之資料程式化至D3之一個三元頁中,如結合圖20A所描述。
步驟812:D3區塊經完全填充?若經完全填充,則進入步驟820,否則回到步驟810。
步驟820:啟用增強型寫入後讀取錯誤管理(「EPWR」)?在圖22B中給出器件存留期相依啟用的更多細節。若啟用EPWR,在步驟830中處理EPWR。若否,則經寫入D3區塊之完整性為未知的,但樂觀地假定為良好的。進入步驟850。
步驟830:處理EPWR。在圖22C中給出EPWR之更詳細實施。
步驟840:基本上,在較高層級處,EPWR執行D3區塊之寫入後讀取及ECC錯誤率的測試。若錯誤未超出E_pw_check(參見圖21),則D3區塊為良好的。進入步驟850。否則,D3區塊中之資料不可被使用,且考慮將D1資料摺疊至新D3區塊的再試。進入步驟860。
步驟850:將D3區塊視為良好的,因此可使得D1中之資料之原始複本為過時的,並使其淘汰。
步驟860:基於在圖22C中詳細描述之若干考慮因素來決定是否在新D3區塊上再試。若不准許再試,則進入步驟870。否則,進入步驟862(展示於圖22C中)。
步驟862:對新D3區塊重複D1至D3摺疊。返回以處理另一區塊。
步驟870:將D3區塊中之資料視為不良的,因此必須自D1中之原始複本存取資料。
步驟872:由於在嘗試重寫D3區塊的過程中發生數次不成功再試之後到達此步驟,因此將記憶體視為接近記憶體之使用期限的結束。將記憶體置於唯讀狀態以防止歸因於程式化操作的任何資料損毀。進入步驟890。
步驟890:完成。
圖22B更詳細地說明增強型寫入後讀取錯誤管理之器件存留期相依啟用特徵。圖22A中之步驟820展示於圖22B中以進一步包括以下步驟:
步驟822:檢查是否啟用EPWR_enable_flag(參見圖21)。若未經啟用,則根本不實施EPWR。按預設進入將D3區塊視為良好的步驟850。若經啟用,則進入步驟824以控制是否應在記憶體器件之一定程度老化之後開始EPWR。
步驟824:檢查是否啟用Hot_count_enable_flag(參見圖21)。若未經啟用,則自記憶體器件之使用期限開始實施EPWR。直接進入步驟830以處理EPWR。若該旗標經啟用,則進入控制EPWR應開始之時間的步驟826。
步驟826:檢查D3區塊中之任一者是否具有超出Hot_count-threshold_EPWR中之值的熱計數。若未超出,則記憶體器件仍為新的,且不易於發生過量錯誤,進入步驟850,且EPWR基本上係暫停的。若熱計數已超出臨限值,則記憶體器件已達到錯誤變得顯著的存留期,且將受益於EPWR程序。進入步驟830以處理EPWR。
圖22C更詳細地說明增強型寫入後讀取錯誤管理之較佳實施。圖22A中之步驟830展示於圖22C中以進一步包括以下步驟:
步驟832:檢查是否存在可用於進行D3區塊之寫入後讀取及可能再試的處理時間。較佳在前台中執行主機命令期間自未使用時間獲取可用時間。若必要,則程序可被分解成較小程序塊以便更好地利用每一主機命令期間的空閒時間。若存在可用以開始程序之時間,則進入步驟834,否則進入步驟838。
步驟834:開始程序,或若程序已被開始但在其間被中斷,則繼續程序。
步驟836:自D3讀取資料頁,並將資料頁傳送出至控制器,以用於檢查EDC(錯誤偵測碼)。進入步驟838。
步驟840:EPWR執行D3區塊之寫入後讀取及ECC錯誤率的測試。若錯誤未超出E_pw_check(參見圖21),則在D3中正測試之頁為良好的。進入步驟842。若將頁測試為不良的,則D3區塊中之資料不可被使用,且考慮將D1資料摺疊至新D3區塊的再試。進入步驟864。
步驟842:已測試了D3區塊中之所有頁?若否,則進入步驟844以處理下一頁。若整個區塊經測試為良好的,則進入步驟850。
步驟844:選擇D3區塊中之下一頁。返回至步驟836。
步驟862:在嘗試再試之前,檢查再試次數是否已超出所設定之限制EPWR_retries(參見圖21)。若否,則藉由進 入步驟866來嘗試再試。若再試之數目已超出所設定限制,則將記憶體器件視為處於其使用期限結束,且控制進入步驟870。
步驟866:在嘗試再試之前的另一考慮因素為檢查過量錯誤對於D1中之資料是否為固有的,且並非歸因於自D1至D3之程式化錯誤。首先對D1資料進行過量ECC錯誤檢查。若錯誤之數目超出預定臨限值,諸如ECC_threshold_SLC(參見圖21),則再試無意義。返回至步驟834以處理另一D3區塊。
然而,若實施如下文所描述之選用特徵,則替代地進入選用步驟868。另一方面,若D1資料為良好的,則進入步驟869,嘗試另一D3區塊之再試。在另一實施例中,在步驟862之前執行步驟866。
圖22C亦說明如由具有虛線之方框指示的選用特徵。一選項由步驟864及865說明以檢查區塊是否已在其壽命期間經受了過多再試。若是,則區塊之實體完整性可成為問題,且最好淘汰該區塊,以便不再使用該區塊。當實施此選項時,自步驟862中之否的流程將路由至步驟864。
步驟864:D3區塊已經歷了多於如由參數Block_max-retires(參見圖21)定義之臨限值的再試?若是,則進入步驟865以淘汰區塊,否則進入步驟866以用於進一步重寫決策。
步驟865:D3區塊在其壽命期間已經受了過多再試,從而不能視為強健的。淘汰D3區塊並不再使用。控制接著直 接進入步驟869以重寫D3區塊。
另一選項為,倘若D1資料並非極好的,則首先藉由ECC校正D1資料,且在將D1資料摺疊至D3之前在D1中對其進行重新接移。當實施此選項時,自步驟866中之是的流程將路由至步驟868而非步驟834。
步驟868:有問題之D1資料被藉由ECC進行校正,並在D1中進行重新接移。進入步驟869。
經加速之寫入後讀取
先前章節已描述了在已寫入資料(亦稱作「經程式化」)之後實際讀回資料的技術。此技術被稱為「PWR」(寫入後讀取)。根據本發明之較早描述的一態樣,PWR技術經增強且稱作「EPWR」(增強型寫入後讀取)。在此狀況下,僅在需要時開啟PWR操作。舉例而言,僅在記憶體經由使用開始顯現更多錯誤之後起始PWR。此情形將減輕與PWR相關聯之一些附加項。
根據本發明之另一態樣,並非寫入後讀取每個記憶體胞以檢查已寫入了何內容(此情形可消耗許多時間及系統資源),而是僅對代表具有類似錯誤率之記憶體胞群體的記憶體胞之小樣本執行寫入後讀取。當樣本之寫入後讀取產生在預定值內之錯誤率時,假定該群體通過檢查。否則,先前寫入於記憶體胞群體上之資料被視為具有過多錯誤,且被再次重寫至同一區域中之不同位置抑或記憶體之具有較低固有錯誤率的另一區域。
如上文所解釋,寫入後讀取檢查不同於係程式化操作之 部分的常見程式化驗證。在程式化記憶體胞時,使記憶體胞經受逐脈衝的程式化電壓。在每一脈衝之間,比較記憶體胞之經程式化之臨限值與參考讀取臨限值。一旦偵測到記憶體胞之臨限值經程式化為經過參考讀取臨限值,便藉由施加至記憶體胞之位元線之程式化禁止電壓鎖定該記憶體胞使之不能進一步程式化。因此,程式化驗證僅保證記憶體胞是否已經程式化為經過參考臨限值,但並不給出可能已發生之任何過度程式化的指示。對MLC記憶體之讀取操作實際上檢查經程式化臨限值是否在一對參考臨限值之間。
在MLC記憶體中,每一記憶體胞儲存一個以上資料位元。舉例而言,在D2記憶體中,每一記憶體胞儲存兩個資料位元。由記憶體胞支援之臨限窗係由參考臨限值分割成兩半。當記憶體胞之經程式化臨限值位於第一半中時,記憶體胞具有一位元值(例如,「1」);且當記憶體胞之經程式化臨限值位於第二半中時,記憶體胞具有另一位元值(例如,「0」)。類似地,在D3記憶體中,每一記憶體胞儲存三個資料位元,且在D4記憶體中,每一記憶體胞儲存四個資料位元。一般而言,對於Dm記憶體,每一記憶體胞儲存m個位元,且藉由2m-1個參考臨限值將臨限窗分割成2m個電壓帶。將一編碼方案用以為該等電壓帶中的每一者指派m位元碼字。
2位元或4狀態記憶體之例示性較佳「LM」編碼
圖23(0)至圖23(3)說明以較佳2位元邏輯碼(「LM」碼)編 碼之4狀態記憶體的邏輯逐頁程式化。來自頁之每一記憶體胞之兩個碼位元形成兩個邏輯頁,其中每一邏輯頁由自該頁之每一記憶體胞貢獻的一碼位元形成。可逐邏輯頁地執行程式化,其中上部頁在下部頁之後。此碼提供容錯,並減輕BL-BL浮動閘極耦合(玉彬)效應。
圖23(0)說明4狀態記憶體陣列之臨限電壓分佈。每一記憶體胞之可能臨限電壓橫越一臨限窗,該臨限窗經分割成四個區以分界出四個可能記憶體狀態「Gr」、「A」、「B」及「C」。「Gr」為接地狀態,其係在緊縮分佈內之抹除狀態,且「A」、「B」及「C」為三個漸進程式化狀態。在讀取期間,四個狀態藉由三個分界參考臨限值DA、DB及DC來分界。
圖23(3)說明較佳2位元LM編碼以表示四個可能記憶體狀態。記憶體狀態(即,「Gr」、「A」、「B」及「C」)中之每一者分別由一對「上部、下部」碼位元(亦即,「11」、「01」、「00」及「10」)來表示。LM編碼不同於習知格雷碼之處在於,針對狀態「A」及「C」使上部位元與下部位元顛倒。「LM」碼已揭示於美國專利第6,657,891號中且可藉由避免需要較大電荷改變之程式化操作而有利地減少鄰近浮動閘極之間的場效應耦合。如在圖23(2)及圖23(3)中將瞭解,如自臨限電壓VT之適度改變顯而易見,每一程式化操作導致電荷儲存單元中之電荷的適度改變。
設計編碼,使得2個碼位元(「下部」位元及「上部」位 元)可被分離地程式化並讀取。當程式化下部位元時,記憶體胞之臨限位準保持於「經抹除」區中,抑或移動至臨限窗之「中下」區中。當程式化上部位元時,記憶體胞之在此等兩個區中之任一者中的臨限位準被進一步推進至臨限窗之「中下」區中的稍高位準。
圖23(1)及圖23(2)說明使用2位元LM碼之下部頁程式化。容錯LM碼經設計以避免任何隨後上部頁程式化經過任何中間狀態。因此,第一輪下部頁程式化使記憶體胞保持於「經抹除」或「Gr」狀態(若下部位元係「1」),或程式化至「中下」狀態(若下部位元係「0」)。基本上,「Gr」或「接地」狀態係藉由使深度抹除之狀態程式化至臨限值之良好界定範圍內而具有緊縮分佈的「經抹除」狀態。「中下」狀態可具有跨在記憶體狀態「A」與「B」之間的廣泛臨限電壓分佈。在程式化期間,相對於諸如DA之粗略分界驗證「中下」狀態。
圖23(2)及圖23(3)說明使用2位元LM碼之上部頁程式化。在第一輪下部頁程式化之基礎上執行上部頁程式化。視下部位元之值而定,給定上部位元可表示不同記憶體狀態。在第二輪程式化中,若記憶體胞要具有為「1」之上部位元同時下部位元處於「1」,亦即(1,1),則不存在針對該記憶體胞之程式化,且該記憶體胞保持於「Gr」。若上部位元為「0」同時下部位元係處於「1」,亦即(0,1),則將該記憶體胞自「Gr」狀態程式化至「A」狀態。在程式化至「A」期間,驗證係相對於分界DVA。另一方面, 若記憶體胞要具有為「0」之上部位元同時下部位元處於「0」,亦即(0,0),則將該記憶體胞自「中下」狀態程式化至「B」。程式化驗證係相對於分界DVB。類似地,若記憶體胞要具有為「1」之上部位元同時下部頁處於「0」,亦即(1,0),則將該記憶體胞自「中下」狀態程式化至「C」。程式化驗證係相對於分界DVC。由於上部頁程式化僅涉及自「Gr」狀態或「中下」狀態程式化至下一鄰近記憶體狀態,因此在一輪與另一輪之間不改變大量電荷。又,設計自「Gr」至粗略「中下」狀態的下部頁程式化以節省時間。
圖24A說明辨別以2位元LM碼編碼之4狀態記憶體之下部位元所需的讀取操作。解碼將取決於是否已程式化上部頁。若已程式化上部頁,則讀取下部頁將需要相對於分界臨限電壓DB之一個讀取遍次(readB)。另一方面,若上部頁尚未經程式化,則將使下部頁程式化至「中間」狀態(參見圖23(2)),且readB將引起錯誤。相反,讀取下部頁將需要相對於分界臨限電壓DA之一個讀取遍次(readA)。為了區分兩種狀況,當上部頁正被程式化時,將旗標(「LM」旗標)寫入上部頁中(通常在附加項或系統區域中)。在讀取期間,將首先假定已程式化上部頁且因此將執行readB操作。若讀取了LM旗標,則該假定為正確的且讀取操作完成。另一方面,若第一讀取並未產生旗標,則此情形將指示尚未程式化上部頁,且因此將必須藉由readA操作來讀取下部頁。
圖24B說明辨別以2位元LM碼編碼之4狀態記憶體之上部位元所需的讀取操作。如自該圖清晰可見的,上部頁讀取將需要分別相對於分界臨限電壓DA及DC之2遍次讀取(readA及readC)。類似地,若尚未程式化上部頁,則上部頁之解碼亦可被「中間」狀態混淆。再一次,LM旗標將指示是否已程式化上部頁。若未程式化上部頁,則會將讀取資料重設至「1」以指示未程式化上部頁資料。
若讀取如在「全序列」讀取或「所有位元」讀取中一般將掃描通過經分界狀態之所有序列,則相對於分別由參考臨限電壓DA、DB及DC分界的記憶體狀態「Gr」、「A」、「B」及「C」來執行讀取。由於藉由全序列讀取來區分所有可能狀態,因此不需要檢查任何LM旗標。在此讀取模式中,一起判定所有位元。
3位元或8狀態記憶體之例示性較佳「LM」編碼
2位元LM碼之實例可類似地擴展至3位元或較高數目個位元。
圖25(0)至圖25(4)說明以較佳3位元邏輯碼(「LM」碼)編碼之8狀態記憶體的程式化。來自一頁之每一記憶體胞的3個位元形成三個邏輯頁,且可逐邏輯頁地執行程式化。此碼類似於上文描述之2位元LM編碼,且為至3位元的擴展以編碼八個可能記憶體狀態。圖25(0)說明8狀態記憶體陣列之臨限電壓分佈。每一記憶體胞之可能臨限電壓橫越一臨限窗,該臨限窗經分割成八個區以分界八個可能記憶體狀態「Gr」、「A」、「B」、「C」、「D」、「E」、 「F」及「G」。「Gr」為接地狀態,其係緊縮分佈內之抹除狀態,且「A」至「G」為七個漸進程式化狀態。在讀取期間,八個狀態由七個分界參考臨限值DA至DG分界。
圖25(4)說明較佳3位元LM編碼以表示八個可能記憶體狀態。八個記憶體狀態中之每一者分別由「上部、中部、下部」位元之三元組(亦即,「111」、「011」、「001」、「101」、「100」、「000」、「010」及「110」)來表示。如在圖25(1)及圖25(4)中將瞭解,如自臨限電壓VT之適度改變顯而易見的,每一程式化操作導致電荷儲存單元中之電荷的適度改變。
設計編碼,使得3個碼位元(「下部」位元、「中部」位元及「上部」位元)可被分離地程式化並讀取。因此,第一輪下部頁程式化使記憶體胞保持於「經抹除」或「Gr」狀態(若下部位元係「1」),或程式化至「中下」狀態(若下部位元係「0」)。基本上,「Gr」或「接地」狀態係藉由使深度抹除之狀態程式化至臨限值之狹窄範圍內而具有緊縮分佈的「經抹除」狀態。「中下」狀態可具有跨於記憶體狀態「B」與「D」之間的廣泛臨限電壓分佈。在程式化期間,可相對於諸如DB之粗略分界參考位準來驗證「中下」狀態。當程式化中部位元時,記憶體胞之臨限位準將自由下部頁程式化產生之兩個區中的一者開始,且移動至四個可能區中的一者。當程式化上部位元時,記憶體胞之臨限位準將自由中部頁程式化產生之四個可能區中的 一者開始,且移動至八個可能記憶體狀態中的一者。
一般而言,一記憶體胞頁被並行地程式化,其中每一記憶體胞具有3個位元。因此,可認為該記憶體胞頁具有3個邏輯資料頁,其中每一邏輯資料頁由該頁之每個記憶體胞的一個寫碼位元貢獻。因此,「下部位元」頁由該頁之每個記憶體胞的下部位元形成,「中部位元」頁由該頁之每個記憶體胞的中部位元形成,且「上部位元」頁由該頁之每個記憶體胞的上部位元形成。
圖25(1)及圖25(2)說明使用3位元LM碼之下部頁程式化。容錯LM碼經設計以避免任何隨後較高頁的程式化經過任何中間狀態。因此,第一輪下部頁程式化使記憶體胞保持於「經抹除」或「Gr」狀態(若下部位元係「1」,亦即(x,x,1)),或程式化至「中下」狀態(若下部位元係「0」,亦即(x,x,0))。基本上,「Gr」或「接地」狀態係藉由使深度抹除之狀態程式化至臨限值之良好界定範圍內而具有緊縮分佈的「經抹除」狀態。「中下」狀態可具有跨於記憶體狀態「B」與「D」之間的廣泛臨限電壓分佈。在程式化期間,相對於諸如DB之分界驗證「中下」狀態。
圖25(2)及圖25(3)說明使用3位元LM碼之中部頁程式化。在第一輪下部頁程式化之基礎上執行中部頁程式化。視下部位元而定,給定中部位元可表示不同記憶體狀態。在第二輪程式化中,若記憶體胞要具有為「1」之中部位元同時下部位元處於「1」,亦即(x,1,1),則不存在針對 該記憶體胞之程式化,且該記憶體胞保持於「Gr」。若中部位元為「0」同時下部位元係處於「1」,亦即(x,0,1),則將該記憶體胞自「Gr」狀態程式化至跨於「A」與「B」之間的第一「中部中間」狀態。在程式化至第一「中部中間」狀態期間,驗證係相對於分界DVA。另一方面,若記憶體胞要具有為「0」之中部位元同時下部位元係處於「0」,亦即(x,0,0),則將該記憶體胞自「中下」狀態程式化至跨於「C」與「D」之間的第二「中部中間」狀態。程式化驗證係相對於分界DVC。類似地,若記憶體胞要具有為「1」之中部位元同時下部頁處於「0」,亦即(x,1,0),則將使該記憶體胞自「中下」狀態程式化至跨於「E」與「F」之間的第三「中部中間」狀態。程式化驗證係相對於分界DVE
圖25(3)及圖25(4)說明使用3位元LM碼之上部頁程式化。在第一輪及第二輪(亦即,下部頁及中部頁程式化)基礎上執行上部頁程式化。視下部位元及中部位元而定,給定上部位元可表示不同記憶體狀態。在第三輪程式化中,若記憶體胞要具有為「1」之上部位元同時下部位元及中部位元處於「1」,亦即(1,1,1),則不存在針對該記憶體胞之程式化,且該記憶體胞保持於「Gr」。另一方面,若上部位元為「0」同時下部位元及中部位元處於「1」,亦即(0,1,1),則將該記憶體胞自「Gr」狀態程式化至「A」狀態。在程式化至「A」期間,驗證係相對於分界DVA
類似地,若記憶體胞要具有為「0」之上部位元同時下 部位元及中部位元分別處於「0」及「1」,亦即(0,0,1),則將該記憶體胞自第一「中部中間」狀態程式化至「B」。程式化驗證係相對於分界DVB。若記憶體胞要具有為「1」之上部位元同時下部位元及中部位元分別處於「0」及「1」,亦即(1,0,1),則將該記憶體胞自第一「中部中間」狀態程式化至「C」。程式化驗證係相對於分界DVC
類似地,若記憶體胞要具有為「1」之上部位元同時下部位元及中部位元分別處於「0」及「0」,亦即(1,0,0),則將該記憶體胞自第二「中部中間」狀態程式化至「D」。程式化驗證係相對於分界DVD。若記憶體胞要具有為「0」之上部位元同時下部位元及中部位元分別處於「0」及「0」,亦即(0,0,0),則將該記憶體胞自第二「中部中間」狀態程式化至「E」。程式化驗證係相對於分界DVE
類似地,若記憶體胞要具有為「0」之上部位元同時下部位元及中部位元分別處於「1」及「0」,亦即(0,1,0),則將該記憶體胞自第三「中部中間」狀態程式化至「F」。程式化驗證係相對於分界DVF。若記憶體胞要具有為「1」之上部位元同時下部位元及中部位元分別處於「0」及「0」,亦即(1,1,0),則將該記憶體胞自第三「中部中間」狀態程式化至「G」。程式化驗證係相對於分界DVG
由於上部頁程式化僅涉及自「Gr」狀態或該等「中部中 間」狀態中之一者程式化至下一鄰近記憶體狀態,因此在一輪與另一輪之間不改變大量電荷。此情形有助於減輕BL-BL玉彬效應。
因此,將瞭解,Dm(m=1,2,3,...)記憶體可被一次一位元地程式化,且亦一次讀取一位元。當字元線WLn上之一群組之記憶體胞被並行地程式化或讀取時,將存在與該群組相關聯之m個資料頁,其中每一資料頁對應於來自該群組之每一記憶體胞的一個位元。在漸進讀取模式中,感測係相對於參考臨限值之子集,且在每一感測時,僅將m個資料頁中之一頁自WLn讀取並傳送出而至控制器。在全序列讀取模式中,感測係相對於全部參考臨限值,且全部m個資料頁在被逐頁傳送出之前被從WLn讀取。
舉例而言,在具有展示於圖4中之NAND架構之記憶體的狀況下,每一NAND串具有具n個記憶體胞之菊鏈。在一實施例中,一列此等NAND鏈形成展示於圖6中的抹除區塊300。在圖4,並行地操作諸如WL3上之頁70的記憶體胞頁。
圖9展示係字元線WLn上之m位元記憶體之m個資料頁中之一者的資料頁70'。如上文所描述,在另一較佳實施例中,當隨著器件整合度愈來愈高在頁中存在共用ECC欄位之大於最佳數目的數目個記憶體胞時,將頁70分割成由「ECC頁」組成的較小單元。
圖26A示意性地說明含有類似於展示於圖9中之ECC欄位的ECC欄位之ECC頁。ECC頁80包含使用者部分82及系統 部分84。使用者部分82係用於儲存使用者資料。系統部分84通常由記憶體系統用於儲存系統資料。ECC包括於系統資料中。針對ECC頁計算ECC。通常,藉由控制器102中之ECC處理器62(參見圖1)來計算ECC。圖26A與圖9之間的差異為:替代佔用整個資料頁70'之ECC頁80,ECC頁80係構成資料頁之若干ECC頁80中的一者。
圖26B說明構成資料頁之複數個ECC頁。諸如展示於圖4中之資料頁70'的資料頁係由來自WL上之記憶體胞頁之每一記憶體胞的邏輯位元構成之資料集合。一般而言,存在構成資料頁之N個ECC頁。舉例而言,N=4,其中存在構成一個資料頁70'的4個ECC頁80。
隨著自主機接收到資料,在控制器102中對資料之ECC頁進行接移,且藉由ECC處理器62(參見圖1)計算其ECC 86。接移併有自己之ECC的數個ECC頁80接著,且作為資料頁70'寫入至記憶體陣列200。通常,當讀取資料頁70'時,將資料頁鎖存於資料鎖存器430中,且將資料頁移出I/O電路440而至控制器102。在控制器102處,資料頁之每一ECC頁使其ECC 86與對讀取資料所計算之ECC的第二版本相比較。ECC通常包括錯誤偵測碼(「EDC」)以用於對資料頁中之任何錯誤的快速偵測。若EDC指示所讀取資料頁中之任何錯誤的存在,則調用ECC來校正所讀取資料頁中的錯誤位元。ECC經設計以校正高達預定最大數目個錯誤。實務上,在記憶體之使用期限中的任何給定時間,ECC可具有校正小於預定最大值之預定數目個錯誤的預 算。
在圖4中之實例中,對於2位元記憶體,每一記憶體胞儲存2個資料位元,且將存在與每一WL相關聯的2個資料頁。若每一資料頁具有4個ECC頁,則將存在程式化至WL中且將被讀出以用於PWR檢查的總計8個ECC頁。
類似地,在圖4中之實例中,對於3位元記憶體,每一記憶體胞儲存3個資料位元,且將存在與每一WL相關聯的3個資料頁。若每一資料頁具有4個ECC頁,則將存在程式化至WL中並將被讀出以用於PWR(寫入後讀取)檢查的總計12個ECC頁。
因此,將瞭解,對於3位元記憶體,在寫入每個WL之後執行PWR檢查可涉及感測12個ECC頁且接著送出至控制器以供ECC檢查。若ECC解碼器發現12個ECC頁中之任一者已超出預定錯誤預算,則對該WL之寫入被視為不可接受的,且在不同WL處進行再試。舉例而言,將寫入重寫至同一區塊中或記憶體之一部分(諸如,具有一位元記憶體胞)中的具有較高錯誤容許度的另一WL。
在3位元記憶體實例中,存在待感測之3個資料頁。如自結合圖25之描述所瞭解,以上情形將招致3個讀取循環,一讀取循環針對每一資料頁。每一讀取循環將相對於一或多個參考臨限值進行感測,且因此讀取WL將花費時間。此外,每一資料頁具有4個ECC頁,且將需要總計12個ECC頁來連續地傳送出至控制器。傳送操作亦將花費時間(即使時間不超過感測操作之時間)。
對樣本而非整個群體之PWR檢查
在本發明之一般實施例中,藉由僅檢查已寫入之內容的子集來使對已寫入內容之寫入後讀取(PWR)檢查加速。僅對已寫入內容之樣本執行寫入後讀取檢查。
圖27為說明經加速PWR之一般實施例的流程圖。
步驟900:提供記憶體胞之多個群組,每一群組中之記憶體胞用於並行地操作。
步驟902:將資料之多個子集程式化至第一記憶體胞群組中,每一資料子集具備一ECC。
步驟910:選擇程式化於第一記憶體胞群組中之資料的樣本,該樣本係選自程式化至第一群組中之該多個資料子集中的一資料子集。
步驟920:讀取該樣本。
步驟922:對該樣本進行錯誤檢查。
步驟930:只要自該樣本檢查出之錯誤高於預定數目個錯誤位元,便將該多個資料子集再程式化至第二記憶體胞群組中。
在一實施例中,待檢查之樣本為寫入至字元線上之記憶體胞群組的所有ECC頁之子集。詳言之,該子集為所有ECC頁中的經估計為具有最高錯誤率之ECC頁。
圖28為說明在圖27中說明之經加速PWR之較佳實施例的流程圖。該程序類似於圖27之程序,只是步驟910被步驟910'替換。
步驟910':選擇程式化至第一記憶體胞群組中之資料的 樣本,該樣本係選自程式化至第一群組中之該多個資料子集中的一資料子集,且該樣本為程式化至第一群組中之該多個資料子集中的經估計為具有最高錯誤率之資料子集。
圖29說明在已寫入字元線上之3位元記憶體胞之群組之後針對寫入後讀取所選擇的樣本。在3位元記憶體中,將存在寫入至字元線WL 42之3個資料頁,亦即,下部頁、中部頁及上部頁。視分界記憶體之臨限窗中之各種電壓帶的參考臨限值之所設計置放而定,資料頁中之一者可具有相較於其他資料頁稍高的錯誤率。舉例而言,若上部資料頁在三個資料頁中具有所估計之最高資料率,則將選擇上部頁。若所選擇資料頁中之所有ECC頁經估計為具有相同錯誤率,則選擇具有最先被移出至控制器之位置的ECC頁為足夠的。又,編碼方案之選擇亦可影響到錯誤率。舉例而言,當移位經程式化之臨限值時,格雷碼提供最小位元錯誤。視編碼之選擇而定,正儲存於同一記憶體胞群組中之各種資料頁可具有類似或不同之錯誤率。
實務上,字元線上之錯誤可係歸因於實體缺陷,如導致開路或具有異常高電阻之電路的裂紋。若缺陷發生於考慮中之記憶體胞與WL解碼器之間,則檢查將展示錯誤。若缺陷發生於記憶體胞之遠離WL解碼器的另一側上,則檢查可不展示錯誤。因此,在沿WL 42之所有ECC頁中,在WL之距WL解碼器40最遠之末端處的樣本ECC頁82很可能受缺陷影響而無關於WL上之缺陷位置。
因此,在存在寫入至字元線(WL)之多個資料頁的較佳實 施例中,用於檢查寫入至WL之資料的樣本首先係選自具有最高所估計錯誤率的資料頁。此外,若在所選擇資料頁中存在多個ECC頁,則選擇距字元線解碼器最遠之ECC頁作為樣本。
在另一實施例中,待檢查之樣本為寫入至一區塊中之記憶體胞群組的所有ECC頁之子集。區塊使區塊中之所有記憶體胞為可一起抹除的。詳言之,子集為所有ECC頁中的經估計為具有最高錯誤率之ECC頁。
舉例而言,在展示於圖4中之NAND記憶體中,抹除區塊由一列NAND鏈構成。每一NAND鏈為藉由記憶體胞之源極及汲極進行菊鏈鏈接的16個記憶體胞,在一端終止於源極端子中及在另一端終止於汲極端子中。熟知以下情形:最靠近源極端子及汲極端子的記憶體胞為更易發生錯誤的。因此,對於此區塊而言,應選擇字元線WL1或WL16。在此狀況下,較佳地,樣本為在WL1之距字元線解碼器最遠之末端處的ECC頁。
在具有一組字元線之記憶體胞區塊可作為抹除單元抹除且存在必須檢查寫入至該組字元線中之每一字元線的資料否則要重寫整個區塊之要求的又一實施例中,首先優先檢查該組字元線中之經估計為具有最高錯誤率的WL。以此方式,可能發生之任何錯誤將早早被偵測到,且區塊之重寫可在無延遲之情況下開始。
因此,對於展示於圖4中之NAND記憶體,應首先選擇字元線WL1及WL16以供檢查。
儘管給出記憶體經分割成一具有各自儲存1位元資料之記憶體胞的第一部分及一具有各自儲存3位元資料之記憶體胞的第二部分之實例,但本發明不受該實例限制。
具有同時多頁驗證之EPWR
如上文所論述,記憶體系統可使用增強型寫入後讀取(EPWR)程序以便確保使用者資料完整性並在存在不可屏蔽(unscreenable)之記憶體故障(諸如,斷裂之字元線、控制閘極短路、字元線至字元線短路,等等)的情況下增加記憶體可靠性。概括而言,藉由讀取每一區塊且在抹除複本之源之前驗證該區塊被可靠地儲存來實現EPWR。在例示性實施例中,此情形將為在自二進位記憶體抹除源複本之前驗證多狀態寫入。因而EPWR方法需要許多時間且因此可使程式化產出率顯著降級,尤其在多晶粒產品中,在多晶粒產品中,涉及於執行多個晶粒之EPWR的單一控制器變為了瓶頸。此章節呈現針對執行EPWR之較快方法的同時驗證多頁之技術。
進一步針對基本寫入後讀取實施重新考慮該問題,將每記憶體胞3位元之MLC(或D3)實施例用作具體實例,控制器在D3區塊之程式化之後讀取整個D3區塊,從而將所有頁傳送至控制器並解碼所有頁。此情形招致極高的程式化產出率損失。舉例而言,假定70 MB/秒之ECC引擎,4 MB區塊之EPWR時間對於單晶粒可花費每區塊~60 ms(假定ECC為瓶頸)。隨著晶粒之數目增加,損失對應地變大,此係由於發源於多個晶粒之多個區塊的所有資料皆需要傳送 至單一控制器並由單一ECC引擎解碼。因此,對於4個晶粒,EPWR程序可花費~240 ms,此情形將使程式化產出率顯著降級。在每一區塊程式化操作之後的此類極長EPWR操作可顯著地減慢總體程式化產出率(例如,在4晶粒組態中~25%之降級,假定原始程式化產出率為6 MB/秒)。
先前章節已呈現用於較快EPWR之各種方法。此章節考慮對區塊中之多個頁的同時驗證,其中控制器評估該多個頁之一結合函數而非分離地評估每一頁。基於所讀取資料對多個頁之此結合驗證可顯著地減小控制器涉入,從而減低EPWR的所需匯流排及ECC頻寬,且因此在晶粒之數目較大時允許高效的EPWR。在進一步考慮此特定態樣之前,論述用於快速EPWR之若干補充方法,此係由於在一些實施例中將結合此等方法。
使EPWR程序加速之一方式為將被讀取及評估之資料量減小為識別不可屏蔽問題(諸如,斷裂之字元線、控制閘極短路、字元線至字元線短路,等等)所需之最小量或至少較小量。(在以下美國專利申請案中給出關於斷裂或含鉛(leady)字元線之更多資訊:2010年7月9日申請之US 12/833,167、2010年7月9日申請之US 12/833,146、2011年1月28日申請之US 13/016,732,及2011年5月5日申請的US 13/101,765。)
可藉由僅讀取某些頁來減小所讀取及傳送之資料量。舉例而言,在每記憶體胞3位元之D3 NAND實施例中,在如圖30中所說明之映射的情況下,僅讀取每一字元線中之下 部頁及上部頁或僅讀取字元線之中部頁可為足夠的。原因為,上文提及之該類不可屏蔽NAND問題可藉由觀測一或兩個頁來識別,使得不需要讀取字元線之所有3個頁。舉例而言,讀取下部頁及上部頁對於識別以下各者為足夠的:程式化擾亂問題(歸因於經抹除狀態與最低非抹除狀態之間的讀取),源極誘發之洩漏電壓問題(或SILC,其導致來自最高狀態之較低尾部),或將擾亂記憶體胞電壓分佈的任何其他巨大NAND問題。此情形可藉由參看圖30來說明,圖30展示狀態分佈,其中上部頁值、中部頁值及下部頁值展示於分佈中且跨越底部標註了抹除(Er),A,...,G狀態。由於在Er狀態與A狀態之間存在下部頁讀取臨限值,因此此臨限值可用以檢查在此讀取中將顯露的程式化擾亂問題;且由於在F狀態與G狀態之間存在上部頁讀取臨限值,因此此讀取可拾取來自G狀態之指示與SILC相關之錯誤的較低尾部。如下文將論述,此章節之例示性實施例在執行多頁驗證之處將僅使用字元線上之最上部頁及最下部頁。
亦可藉由檢查頁之僅一部分的有效性來減小所讀取及傳送之資料量。此情形之實例為位元線分裂成偶數集合與奇數集合或可以其他方式跨越陣列將行分裂成群組的記憶體,使得對位元線之僅一部分的讀取可良好地體現整個字元線。在以下一些實施例中將使用的另一實例為對ECC區塊(或「E區塊」)之讀取,ECC區塊係藉由ECC編碼之資料單元。此E區塊常常僅為頁之一部分;然而,對於識別字 元線之任何部分中的問題而言,該僅一部分可為足夠的。
若干方法可用於基於所讀取資料來識別區塊(或字元線)中的問題。一方式為僅解碼資料並對錯誤之數目計數,此為花費相對長時間之方法,具有相對高之電力消耗,且亦可花費可變量之時間來完成(尤其當使用一使用迭代解碼之ECC系統時,但在BCH系統中亦然)。
另一方法為基於校正子權重(亦即,基於未滿足之同位檢查的數目)來估計位元錯誤率(BER)。此選項適用於具有低密度同位檢查矩陣的ECC。ECC區塊(E區塊)之BER可估計為: 其中W為未滿足之同位檢查的數目,M為同位檢查之總數,且d為在每一同位檢查中涉及之位元的數目(假定d為固定的)。實務上,此等計算可離線進行,且將查找表(LUT)用於將未滿足同位檢查之數目W轉譯為所估計BER。此方法優於全解碼之優點為,此方法為快速的,且在確定時間內完成。此方法亦具有低電力消耗。
又一方法為量測所讀取資料之統計資料且比較統計資料與預期值;(例如)藉由對處於每一狀態(或處於所選擇狀態)之記憶體胞的數目計數且比較該計數與所預期值來進行。假定系統使用資料擾碼,則在每記憶體胞3位元之實施例中記憶體胞之1/8被預期為程式化至每一狀態。儘管此方法相較於剛剛論述之兩種方法(其量測/估計BER)可為 較不強健的,但假定相同量之資料,此方法仍可允許捕獲將顯著影響記憶體胞電壓分佈(CVD)的巨大記憶體問題。
在與本申請案同時申請之Eran Sharon及Idan Alrod之題為「Post-Write Read in Non-Volatile Memories Using Comparison of Data As Written in Binary and Multi-State Formats」的臨時美國專利申請案第___號[檔案號0084567-721US0]中揭露的方法中,藉由比較源SLC頁與目的地MLC頁來量測BER。此方法可在快閃記憶體中內部地進行。
此等各種方法以及前述章節中提及之其他方法可與係此章節之主要焦點的一區塊中之多個頁的同時驗證進行多樣的結合。基於所讀取資料之多個頁之結合驗證可顯著地減小控制器涉入(亦即,EPWR的所需要匯流排及ECC頻寬),且因此在晶粒之數目較大時允許高效的EPWR。
記憶體系統評估多個頁之經結合函數以便識別一或多個頁中的問題。此操作之動機為,需要檢驗小得多的資料量,且此情形可顯著減小來自在此評估中所涉及之控制器匯流排及ECC引擎的頻寬要求。以上情形又允許對大量晶粒的高效操作。
一方法為使用多個所讀取E區塊之總和模2(亦即,互斥或)。對於線性ECC(如對於LDPC、BCH及實務上使用之多數ECC方法),則E區塊之互斥或運算亦為有效E區塊。因此,若系統對n個所讀取E區塊進行互斥或運算,則結果亦為具有由下式給出之BER的E區塊: 其中BER 為互斥或E區塊的BER,且BER i 為第i個E區塊的BER。
因此,若系統評估了互斥或E區塊的BER(諸如藉由上文所描述之方式),則系統評估了關於其構成E區塊之BER的總和。自此情形,系統可識別該等E區塊中之一者中的問題。舉例而言,考慮對n=16個E區塊進行互斥或運算,一個E區塊來自每一頁。(一頁可具有一或多個E區塊。)進一步假定,程式化後的所預期BER係0.1%,其中標準偏差σ=0.01%。接著,BER 的所預期值為n.0.1%=1.6%,其中標準偏差σ ==0.04%;且因此若BER 高於1.6%+3.σ =1.72%,則此情形將充當在該等頁中之一者中可存在問題的指示(採用3.σ 容限以便確保在正常行為下,越過臨限值之機率為~1/1000)。在此狀況下,可採取其他動作,諸如對每一頁之特定評估或區塊之再程式化。在詳核之後,可決定將區塊標記為不良的或進行在前述章節中描述之其他動作中的一些。
在程式化之後不知曉BER統計資料(亦即,所預期BER及其方差)之狀況下,因而在使用BER 估計時之可能關注事項為:將存在單一有問題頁,而其他頁將具有極低BER,使得經設定以指示一問題之BER 值將不被越過,且吾人將不能「捕獲」該問題。例如,對於所估計之BER =1.6%,將不知曉在存在n=16個頁的情況下,是每一頁具有0.1%之 BER;抑或具有具0.01%之BER的15個頁及具1.45%之BER的一個頁(在兩種狀況下,BER之總和皆為1.6%)。為了克服此問題,系統應確保頁之間的方差為小的。此情形可藉由追蹤若干群組之BER 參數來進行。舉例而言,若當前群組之BER 參數為15.0.01%+1.45%=1.6%,但先前群組之BER 參數為16.0.01%=0.16%,則此情形將指示當前群組具有有問題頁。
關於系統一起進行互斥或運算以獲得複合函數BER 之E區塊的數目(n),若干因素有影響。一限制為,隨著n變大,n個E區塊之BER的「平均」效應變得更顯著,且其使未捕獲有問題E區塊的機率增大,儘管先前段落中描述之解決方案可用以顯著地減小此風險。另一限制取決於用於評估BER 之方法。若系統正使用解碼來評估BER ,則系統需要基於ECC之錯誤校正能力來限制BER ;例如,若系統使用可校正60個位元之BCH ECC,且若程式化之後所預期位元錯誤的最大數目為10個位元,則系統應將n限制為6。若系統使用基於校正子權重之BER估計,則此估計為有效的直至某一錯誤率;例如,特定LDPC碼可提供良好BER估計直至~3%之BER,且當高於此錯誤率時,估計誤差可變得過大。在此狀況下,若程式化之後所預期的最大BER為0.3%,則可一起進行驗證之頁的最大數目n應限制為10。
最後,若系統使用SLC頁之互斥或運算與D3頁之互斥或運算之間的比較以便評估BER ,則一方面,BER 不受可進 行評估之最大BER 限制。(此方法在與本申請案同時申請之Eran Sharon及Idan Alrod之題為「Post-Write Read in Non-Volatile Memories Using Comparison of Data As Written in Binary and Multi-State Formats」的臨時美國專利申請案第___號[檔案號0084567-721US0]中進行論述。)另一方面,系統累積SLC頁及MLC頁兩者之錯誤,從而增加了未捕獲有問題頁的風險。此外,此方法需要讀取3個源SLC區塊與目的地D3區塊,此情形為讀取時間且因此總體EPWR時間上的缺點。
在此章節之方法中,可顯著減小控制器涉入,此係由於在記憶體鎖存器中內部地執行E區塊之互斥或運算,且因此小得多的資料量被發送至控制器並由ECC核心評估。此情形意謂單一晶粒或兩個晶粒或四個晶粒或四個以上晶粒之EPWR時間為基本相同的,此係由於EPWR之讀取部分在所有晶粒中同時進行,且基本上由讀取區塊所花費之時間決定。舉例而言,假定想要藉由以下操作來執行EPWR:讀取每一字元線中之下部頁及上部頁且對n=16個頁進行互斥或運算且接著將進行了互斥或運算的頁中之第一E區塊發送至控制器進行BER估計(例如,基於校正子權重)。那麼EPWR程序將如下進行,其中ADL為最初將資料自字元線WLi讀取至之(二進位)鎖存器,且XDL為藉以將資料傳送離開記憶體WL之傳送資料鎖存器,且NXOR為非互斥或運算(NOT XOR)之簡寫:將WL0之下部頁讀取至ADL中(ADL=Lower0)
讀取WL0之上部頁,並對該上部頁與ADL進行NXOR(ADL=ADL NXOR Upper0)
讀取WL1之下部頁,並對該下部頁與ADL進行NXOR(ADL=ADL NXOR Lower1)
讀取WL1之上部頁,並對該上部頁與ADL進行NXOR(ADL=ADL NXOR Upper1)
...
讀取WL7之下部頁,並對該下部頁與ADL進行NXOR(ADL=ADL NXOR Lower7)
讀取WL7之上部頁,並對該上部頁與ADL進行NXOR(ADL=ADL NXOR Upper7)
將ADL傳送至XDL(XDL=ADL)
將XDL之第一E區塊傳送至控制器
執行所傳送E區塊之BER估計
將WL8之下部頁讀取至ADL中(ADL=Lower8)(可與兩個先前階段平行)
讀取WL8之上部頁,並對該上部頁與ADL進行NXOR(ADL=ADL NXOR Upper0)
讀取WL9之下部頁,並對該下部頁與ADL進行NXOR(ADL=ADL NXOR Lower1)
讀取WL9之上部頁,並對該上部頁與ADL進行NXOR(ADL=ADL NXOR Upper1)
...
讀取WL15之下部頁,並對該下部頁與ADL進行NXOR (ADL=ADL NXOR Lower7)
讀取WL15之上部頁,並對該上部頁與ADL進行NXOR(ADL=ADL NXOR Upper7)
將ADL傳送至XDL(XDL=ADL)
將XDL之第一E區塊傳送至控制器
執行所傳送E區塊之BER估計
...
舉例而言,關於可合適地應用於此處之鎖存器結構(包括ADL、XDL)的例示性實施例的更多細節可在美國專利7,158,421及7,206,230中找到。
上文所描述之EPWR程序顯著地快於先前技術中之方法。假定至控制器之傳送及BER估計操作(該兩操作對於每n頁之讀取操作僅進行一次)與下一頁群組之讀取並行地進行之管線式操作,則一區塊之總體EPWR時間等於讀取時間,讀取時間為約數毫秒。此外,EPWR時間對於一個晶粒、兩個晶粒及四個晶粒將保持相同,此係由於可在所有晶粒中並行地進行上部頁及下部頁的讀取及互斥或運算,且傳送及BER估計操作(對於每n頁之讀取進行一次)需要來自控制器及匯流排的低頻寬。
在一些狀況下,可存在使程序進一步加速的方式。剛剛論述之實施例使用下部頁與上部頁之互斥或運算。參看圖30,3個資料位元之狀態至8個分佈的指派對應於特定格雷映射(「2-3-2」映射)。藉由使用此映射並執行逐頁讀取,可藉由執行狀態Er與A之間的第一感測且接著執行狀態D 與E之間的第二感測來讀取下部頁。可藉由執行狀態B與C之間的第一感測且接著執行狀態F與G之間的第二感測來讀取上部頁。在快閃記憶體系統中,以下情形為常見的:複數個感測操作以2個狀態之間的初始感測開始,且以在增加之電壓下之一序列感測繼續。在此設定中,初始感測操作相較於隨後感測操作中之每一者花費較多時間。此情形意謂,根據展示於圖30中之映射讀取下部頁及上部頁將需要總共4個感測操作,該等感測操作中之2個感測操作(每一頁中之第一感測)將為較長的。然而,由於EPWR程序僅使用2個頁之互斥或運算,因此有可能減小2個頁的讀取時間。此情形可藉由執行以下感測操作序列來進行:Er與A之間的感測,繼之以B與C之間的感測,繼之以D與E之間的感測,繼之以F與G之間的感測。藉由應用根據替代「1-2-4」格雷映射的對上部頁之讀取,此等4個感測操作可比分離地讀取兩個頁更快地進行,其中1-2-4格雷映射之上部頁正是2-3-2格雷映射之下部頁與上部頁的互斥或運算結果。因此,對呈1-2-4格雷映射之上部頁之讀取命令可用以產生2-3-2格雷映射之下部頁與上部頁的所要互斥或運算結果,資料係在單一命令中藉由2-3-2格雷映射而寫入的。若此情形為可能的,則每字元線之讀取時間及總體EPWR讀取時間將被減小。另外,若僅讀取每一字元線中之該(或更一般而言,一)中部頁為足夠的,則EPWR時間將被進一步減小(減小~33%)。
圖31為說明可併入至程式化程序中的程序之數個態樣的 流程圖。在1001處,記憶體系統之控制器自主機接收資料。在1003處,控制器使用其ECC引擎來產生每一資料E區塊之對應ECC並使此等ECC形成為數個頁,在1005處,越過匯流排結構將該等頁傳送至記憶體器件。儘管該等步驟被展示為將繼之以特定資料集合之相異程序集合,但在實際器件中,該等步驟通常將並行地進行,如在較早章節中所提及或如在2011年6月9日申請之美國臨時專利申請案第61/495,053號中進一步描述。一旦將資料鎖存於記憶體上,便在1007處將資料寫入至陣列中。在例示性寫入程序中,首先將資料寫入至二進位快取記憶體中,之後將資料摺疊至多狀態記憶體中。流程之以下部分被描述為在此摺疊程序之後發生,但在其他狀況下,可對二進位記憶體中之資料、對直接寫入成多狀態格式之資料或對二進位記憶體執行此等流程部分。
EPWR部分藉由讀回儲存於記憶體上之頁或頁之部分(例如,E區塊)而在1009處開始,且形成複合資料結構(1011)。儘管此處展示為兩個連續操作,但如上文所論述,在例示性實施例中,此程序實際上以迴圈執行,此係由於所選擇頁被順序讀取且在記憶體器件上之鎖存器中進行互斥或運算。在例示性實施例中,在1013處,接著將複合資料結構傳送至控制器,在1015處在控制器中針對形成複合資料結構所基於之資料的完整性評估複合資料結構。在其他實施例中,亦可對記憶體器件自身執行判定。
1015之判定可根據此處所描述之各種實施例中的任一者 進行,不管是藉由基於資料之統計資料使用ECC或不使用ECC來判定錯誤量抑或估計錯誤量。若資料被降級,則系統可接著在1017處判定特定不良頁(若需要),且亦採取上文所描述之該類校正動作中的任一者。
現將在特定實施例之內容脈絡中進一步考慮此程序。此實施例具有數個特徵,包括:僅讀取每一字元線上之最下部頁及最上部頁;每頁僅檢驗第一E區塊;將BER估計特徵用於評估發源於n個頁之n個E區塊的經累積BER;將頁之群組形成為使區塊散佈以解決錯誤率之變化的複合體;及選擇適當準則。應理解,此等特徵在不同實施例中將不同,諸如,使用不同頁、E區塊、群組、準則,等等。
關於此等特徵中之第一特徵,系統僅讀取每一字元線中之上部頁及下部頁。(實施例在此處再次每記憶體胞儲存3個位元,但更一般而言,如在4位元配置中,可使用最上部頁及最下部頁。)如上文所論述,下部頁及上部頁對於識別將使記憶體胞電壓分佈陷入混亂之許多問題(程式化擾亂、SILC,等等)為足夠的。此情形說明於基本上與圖30相同之圖32中,但現在頂部頁及底部頁之經互斥或運算的值跨越底部。
在例示性系統中,可執行WL之下部頁及上部頁的分開讀取。或者,由於系統僅實際需要下部頁與上部頁之互斥或運算結果(而非單獨的每一頁),因此在一變化中,可藉由使用具有4個感測操作(Er與A、B與C、D與E、F與G)之順序類型之讀取來進一步減小讀取時間,以使用單一讀取 命令且在較短時間內產生下部頁⊕上部頁結果。如上文所提及,此讀取可使用呈1-2-4格雷映射之上部頁的逐頁讀取來進行。
如上文亦論述,若在記憶體鎖存器與陣列之間存在良好交錯,則每頁僅使用一個E區塊(此處第一E區塊),此係由於E區塊之記憶體胞發源於散佈於整個字元線上之記憶體胞。在記憶體器件之例示性實施例中,鎖存器結構(以上ADL及XDL鎖存器)經配置,使得E區塊儲存於鎖存器結構之連續片段(segment)中。
此特定實施例使用位元錯誤率(BER)估計(例如,基於校正子權重或基於解碼)來評估發源於n個頁之n個E區塊(每一頁中之第一E區塊)的經累積BER。所有所讀取頁可在記憶體電路中內部地進行互斥或運算,其中經互斥或運算的頁中之第一E區塊經傳送至控制器,且將ECC引擎用以估計其BER。
歸因於沿區塊之字元線之錯誤率的可能變化,為了在不同頁群組之間具有錯誤率均一性,則每一頁群組較佳將由沿區塊等距地散佈之n個頁構成。若有問題群組存在,則此情形改良了對此群組之偵測,此係由於與被預期歸因於散佈而具有約略相同之經累積BER的所有其他群組相比較,有問題群組將具有顯著不同的經累積BER。
在每一記憶體胞儲存3個位元的X3快閃記憶體系統中,考慮(例如)包含256個邏輯頁之區塊。在此狀況下,第一下部頁將為頁0,且第一上部頁將為頁2,兩個頁皆儲存於同 一字元線(比方說,WL0)中。第二下部頁將為頁3,且第二上部頁將為頁5,其皆儲存於WL1中,等等。為了產生沿所有字元線散佈之頁群組,可將複數個下部頁及上部頁交錯至頁群組中。舉例而言,若每一頁群組將包含9個邏輯頁,則將需要19個群組,且可選擇交錯如下:
在表1之EPWR程序「偽碼」中提供產生頁群組之系統方法。
作為可疑區塊之準則,一實例為考慮在程式化之後立即具有BER>0.2%之一或多個頁的區塊。因此,每頁之BER臨限值可定義為BERTH=0.2%。區塊之EPWR程序將產生19 個BER估計:w 0 w 1 ,...,w 18 (對於每一頁群組有一個校正子權數)。使BER max=,且BER min=。將基於BER maxBER min來偵測可疑區塊,若:
在滿足以上條件之狀況下,接著藉由讀取群組之9個頁中之每一者中的第一E區塊且對該第一E區塊執行BER估計以產生估計w來進行對應於w max的頁群組之仔細檢驗。對於群組中之一或多個頁,若w>BER TH ,則將該區塊標記為可疑的。最差群組之此檢驗花費的時間將占區塊之BPWR時間的少於10%。因此,「假警報」之損失為相對小的。
當偵測到可疑區塊時,各種操作類似於在先前章節中論述的彼等操作。舉例而言,區塊之資料可被再程式化至不同區塊中(由於資料有風險)。另外,若先前將區塊標記為可疑的(亦即,此係在該區塊中第二次偵測到問題),則可將該區塊標記為不良的。
在此實例中,可疑區塊之條件經選擇為保守的以便以較高數目個假警報為代價避免漏偵測,該等假警報將藉由對最差頁群組(對應於BERmax)之仔細檢驗來屏蔽。請注意,假警報之損失為相對小的--在假警報之狀況下,最差群組中之9個頁需要被讀取,且基於9個頁之第一E區塊來估計9個頁的BER。此情形花費之時間占區塊之EPWR時間的少於10%。
該可疑區塊條件所基於的推理係如下:漏偵測之最危險 狀況為最差群組包括一「不良」頁,而所有其他n-1個頁為極好的。為了捕獲此情況,假定此最差群組中之極好頁具有等於最佳群組之平均BER的BER--亦即,良好頁之BER=。接著,藉由下式給出最差群組中之「不良」頁的BER:
在假警報率為高之狀況下,接著可略微變更以上條件。稍不保守之替代性條件可為:BER max- BER avg >BER TH ,其中BERavg為最好之k個群組之BER估計的平均值,其中k可經最佳化。以此方式,將良好頁之代表性BER判定為被預期僅具有良好頁之群組的平均BER。歸因於鄰近頁在不同頁群組中之散佈,預期存在至多4個具有不良頁的頁群組。斷裂字元線將貢獻將在兩個不同頁群組中的2個不良頁(下部頁及上部頁)。字元線至字元線短路可貢獻將在4個不同頁群組中的4個不良頁(來自鄰近字元線之兩個下部頁及兩個上部頁)。因此,若將BERavg計算為最好之k個群組的平均BER(其中k小於16),則BERavg應為對不包括不良頁之群組的平均值。舉例而言,選擇k=10將意謂對區塊之較好一半進行平均。
結論
前述章節可提供數個優點,包括顯著較快之EPWR操作。該等優點亦可需要控制器與記憶體之間的匯流排之較 小頻寬。該等優點可進一步需要來自控制器硬體之較小頻寬。各種實施例允許記憶體系統中的高效多晶粒EPWR操作。
為了說明及描述,已呈現了本發明之前述[實施方式]。[實施方式]不欲為詳盡的或將本發明限於所揭示之精確形式。依據以上教示,許多修改及變化係可能的。選擇所描述之實施例,以便最佳地解釋本發明之原理及其實際應用,藉此使熟習此項技術者能夠在各種實施例中且以適於所預期之特定用途的各種修改來最佳地利用本發明。意欲本發明之範疇由附加至此之申請專利範圍來界定。
10‧‧‧記憶體胞
14‧‧‧源極
16‧‧‧汲極
20‧‧‧電荷儲存單元
30‧‧‧控制閘極
34‧‧‧位元線
36‧‧‧位元線
40‧‧‧WL解碼器
42‧‧‧字元線
44‧‧‧選擇線
50‧‧‧NAND串
60‧‧‧韌體
62‧‧‧錯誤校正碼(「ECC」)處理器
70‧‧‧頁
70'‧‧‧資料頁
72'‧‧‧使用者部分
74'‧‧‧系統部分
76'‧‧‧錯誤校正碼(ECC)
80‧‧‧主機/ECC頁
82‧‧‧使用者部分
84‧‧‧系統部分
86‧‧‧錯誤校正碼(ECC)
90‧‧‧記憶體器件
100‧‧‧記憶體晶片
102‧‧‧控制器
110‧‧‧晶片上控制電路
112‧‧‧狀態機
200‧‧‧記憶體胞之記憶體陣列
300‧‧‧可定址抹除單元
302‧‧‧熱計數NCYC(m)
410‧‧‧第一部分
411‧‧‧第一分區
412‧‧‧第二分區
420‧‧‧第二部分
430‧‧‧資料鎖存器
440‧‧‧I/O電路
480‧‧‧感測模組
490‧‧‧感測放大器
A‧‧‧記憶體狀態
B‧‧‧記憶體狀態
BL0至BLx‧‧‧位元線
C‧‧‧記憶體狀態
CLSRC‧‧‧聚集節點
D‧‧‧記憶體狀態
DA‧‧‧分界參考臨限值
DB‧‧‧分界參考臨限值
DC‧‧‧分界參考臨限值
DD‧‧‧分界參考臨限值
DE‧‧‧分界參考臨限值
DF‧‧‧分界參考臨限值
DG‧‧‧分界參考臨限值
DVA‧‧‧分界
DVB‧‧‧分界
DVC‧‧‧分界
DVD‧‧‧分界
DVE‧‧‧分界
DVF‧‧‧分界
DVG‧‧‧分界
E‧‧‧記憶體狀態
F‧‧‧記憶體狀態
G‧‧‧記憶體狀態
Gr‧‧‧記憶體狀態
I1‧‧‧電流
I2‧‧‧電流
Ip‧‧‧電流
i TOT ‧‧‧總記憶體胞電流
rV1‧‧‧讀取分界位準
rV2‧‧‧讀取分界位準
rV3‧‧‧讀取分界位準
rV4‧‧‧讀取分界位準
rV5‧‧‧讀取分界位準
rV6‧‧‧讀取分界位準
rV7‧‧‧讀取分界位準
S1‧‧‧選擇電晶體/源極選擇電晶體
S2‧‧‧選擇電晶體/汲極選擇電晶體
SGS‧‧‧選擇線
SGD‧‧‧選擇線
vV1‧‧‧驗證分界位準
vV2‧‧‧驗證分界位準
vV3‧‧‧驗證分界位準
vV4‧‧‧驗證分界位準
vV5‧‧‧驗證分界位準
vV6‧‧‧驗證分界位準
vV7‧‧‧驗證分界位準
VT‧‧‧臨限電壓
WL0‧‧‧字元線
WL0至Wly‧‧‧字元線
WL1‧‧‧字元線
WL3‧‧‧字元線
圖1說明與其中體現本發明之特徵的記憶體器件通信之主機。
圖2示意地說明非揮發性記憶體胞。
圖3說明記憶體胞之NOR陣列之一實例。
圖4說明正被並行地感測或程式化之組織成(例如)NAND組態的記憶體胞之頁。
圖5A更詳細地說明展示於圖1中的感測模組,其含有跨越記憶體胞陣列之一組p個感測模組。
圖5B說明包括感測放大器之感測模組。
圖6示意性地說明組織成可抹除區塊之記憶體陣列的一實例。
圖7說明具有記憶體胞之群體的二進位記憶體,其中每一記憶體胞係處於兩個可能狀態中的一者。
圖8說明具有記憶體胞之群體的多狀態記憶體,其中每一記憶體胞係處於八個可能狀態中的一者。
圖9示意性地說明含有ECC欄位之資料頁。
圖10A展示錯誤率之常態分佈,其中群體的百分數係在標準偏差σ之各種範圍內。
圖10B以表格式說明圖10A的分佈。
圖11為列出快閃記憶體之主要錯誤源的表。
圖12為展示在實例記憶體器件之使用期限開始及結束時記憶體器件的所估計總錯誤之表。
圖13為說明習知ECC必須經設計以校正最壞狀況總錯誤ETOT的表。
圖14A說明根據本發明之較佳實施例的正被分割成兩個部分的記憶體陣列。
圖14B說明將資料頁之第二複本重寫至圖14A之記憶體陣列之第一部分中。
圖15為說明根據描述於圖14A及圖14B中之實施例的寫入後讀取及適應性重寫之程序的流程圖。
圖16A說明根據本發明之較佳實施例的被分割成兩個部分且第一部分進一步具備快取記憶體分區及重寫分區的記憶體陣列。
圖16B說明根據寫入後讀取之較佳實施例的頁比較技術。圖16C說明在寫入後讀取已判定第二部分中之資料頁中的過量錯誤量之後對第一部分的重寫。
圖17為說明根據描述於圖16A至圖16C中之實施例的寫 入後讀取及適應性重寫之程序的流程圖。
圖18說明組織成抹除區塊的記憶體。
圖19為說明在記憶體器件已老化至如藉由熱計數判定之預定程度時啟用錯誤管理的流程圖。
圖20A說明根據本發明之較佳實施例正被分割成兩個部分的記憶體陣列。
圖20B說明圖20A之D3區塊未通過寫入後讀取測試的另一實例。
圖20C說明圖20B之新D3區塊再次未通過寫入後讀取測試的另一實例。
圖21為說明與增強型寫入後讀取錯誤管理相關聯之實例參數的表。該表較佳維持於儲存於記憶體中之檔案系統組態檔案中。
圖22A為說明如應用至具有D1至D3摺疊之記憶體的EPWR錯誤管理之較佳實施的流程圖。
圖22B更詳細地說明增強型寫入後讀取錯誤管理之器件存留期相依啟用特徵。
圖22C更詳細地說明增強型寫入後讀取錯誤管理之較佳實施。
圖23(0)至圖23(3)說明以較佳2位元邏輯碼(「LM」碼)編碼之4狀態記憶體的邏輯逐頁程式化。
圖24A說明辨別以2位元LM碼編碼之4狀態記憶體之下部位元所需的讀取操作。
圖24B說明辨別以2位元LM碼編碼之4狀態記憶體之上部 位元所需的讀取操作。
圖25(0)至圖25(4)說明以較佳3位元邏輯碼(「LM」碼)編碼之8狀態記憶體的程式化。
圖26A示意性地說明含有類似於展示於圖9中之ECC欄位之ECC欄位的ECC頁。
圖26B說明構成資料頁之複數個ECC頁。
圖27為說明經加速PWR之一般實施例的流程圖。
圖28為說明在圖27中說明之經加速PWR之較佳實施例的流程圖。
圖29說明在已寫入字元線上之3位元記憶體胞之群組之後針對寫入後讀取所選擇的樣本。
圖30說明對3位元記憶體的資料狀態指派。
圖31為說明使用多頁之結合驗證的增強型寫入後讀取之態樣的例示性流程。
圖32展示對展示於圖30中之資料狀態的頂部頁及底部頁進行互斥或運算的結果。

Claims (30)

  1. 一種操作一記憶體系統之方法,該記憶體系統包括沿複數個字元線形成之非揮發性記憶體胞的一陣列,每一字元線能夠儲存一或多個資料頁,該方法包含:將多個資料頁寫入至該陣列中;隨後自該陣列讀取複數個該等經寫入資料頁;形成該複數個所讀取頁之一複合資料結構;及執行對該複合資料結構之至少一部分的一評估,以判定在所寫入之該複數個資料頁中的高錯誤率之存在。
  2. 如請求項1之方法,其中執行對該複合資料結構之至少一部分的一評估以判定高錯誤率之該存在包括:判定該錯誤率在何處超出一臨限值。
  3. 如請求項1之方法,其中該記憶體系統包括:包括該陣列之一記憶體電路及一控制器電路,其中該複合資料結構形成於該記憶體電路中。
  4. 如請求項3之方法,其中該方法進一步包括:經由一匯流排結構將該複合資料結構自該記憶體電路傳送至該控制器電路,其中使用該控制器電路上之邏輯電路來執行該評估。
  5. 如請求項3之方法,其中在該記憶體電路上執行該評估。
  6. 如請求項1之方法,其中該複數個該等所讀取資料頁包括自多個字元線讀取之資料。
  7. 如請求項6之方法,其中該複數個該等所讀取資料頁沿 該區塊散佈。
  8. 如請求項6之方法,其中該記憶體系統以一多狀態格式寫入該多個資料頁,從而在一字元線上儲存一個以上資料頁,且其中該複數個該等所讀取資料頁包括自該多個字元線中之每一者讀取的多個資料頁。
  9. 如請求項1之方法,其中該記憶體系統以一多狀態格式寫入該多個資料頁,從而在一字元線上儲存一個以上資料頁,且其中該複數個該等所讀取資料頁包括自一單一字元線讀取的多個資料頁。
  10. 如請求項9之方法,其中該複數個該等所讀取資料頁為來自一或多個字元線的最上資料頁及最下資料頁。
  11. 如請求項9之方法,其中該記憶體系統以每記憶體胞3位元之一格式將資料儲存於該陣列中。
  12. 如請求項1之方法,其中執行該評估包括:形成該複合資料結構之該至少一部分的統計資料;及比較該等統計資料與該等統計資料之一或多個所預期值,以判定在所寫入之該複數個資料頁中的高錯誤率之該存在。
  13. 如請求項12之方法,其中該記憶體系統包括:包括該陣列之一記憶體電路及一控制器電路,其中該複合資料結構形成於該記憶體電路上,且該方法進一步包括:經由一匯流排結構將該複合資料結構自該記憶體電路傳送至該控制器電路,其中使用該控制器電路上之邏輯電路來執行該評估。
  14. 如請求項1之方法,其中該等資料頁中之每一者包含:一第一部分,該第一部分包括使用者資料;及一第二部分,該第二部分包括該資料頁之該第一部分之對應錯誤校正碼(ECC)。
  15. 如請求項14之方法,其中該記憶體系統包括:包括該陣列之一記憶體電路及包括ECC電路的一控制器電路,其中該複合資料結構形成於該記憶體電路上,且該方法進一步包括:經由一匯流排結構將該複合資料結構自該記憶體電路傳送至該控制器電路,其中使用該ECC電路在該控制器電路上執行該評估。
  16. 如請求項15之方法,其中執行該評估包括:解碼該複合資料結構,及基於對應於該複合資料結構之該ECC判定該複合資料結構中之錯誤量。
  17. 如請求項15之方法,其中執行該評估包括:基於對應於該複合資料結構之該ECC估計該複合資料結構中之該錯誤量。
  18. 如請求項17之方法,其中該估計係基於對應於該複合資料結構之該ECC中之未滿足之同位檢查的數目。
  19. 如請求項14之方法,其中該記憶體系統包括:包括該陣列之一記憶體電路及包括ECC電路的一控制器電路,其中該複合資料結構形成於該記憶體電路上,且該方法進一步包括:在寫入包括對應錯誤校正碼之該多個資料頁之前,在 該控制器處接收來自一主機器件的資料;使用該ECC電路產生該多個資料頁之該對應ECC;及經由一匯流排結構將包括對應ECC之該多個資料頁自該控制器電路傳送至該記憶體電路。
  20. 如請求項1之方法,其進一步包含:隨後判定該錯誤量是否為可接受的。
  21. 如請求項20之方法,其中判定該錯誤量是否為可接受的係基於比較該複合資料結構之一所估計錯誤率與其他複數個頁之複合資料結構的一所估計錯誤率。
  22. 如請求項20之方法,其進一步包含:回應於判定該錯誤量為不可接受的,讀取形成該複合資料結構所基於之該等頁中的每一者,從而分離地估計每一頁之該錯誤率,且若該等頁中之一者具有不可接受之錯誤率,則採取其他動作。
  23. 如請求項20之方法,其進一步包含:回應於判定該錯誤量為不可接受的,判定形成該複合資料結構所基於之該等所讀取頁中的哪些頁向該複合資料結構貢獻一不可接受的錯誤量。
  24. 如請求項1之方法,其中該陣列由各自具有複數個字元線之複數個抹除區塊形成,且該寫入包括寫入一或多個抹除區塊。
  25. 如請求項24之方法,其中形成該複合資料結構所基於之該複數個所讀取頁係來自一單一區塊,該方法進一步包含: 隨後判定該錯誤量是否為可接受的;及回應於判定該錯誤量為不可接受的,重寫該單一區塊之該資料內容。
  26. 如請求項1之方法,其中形成該複數個所讀取頁之一複合資料結構包括執行該複數個所讀取頁的一互斥或運算。
  27. 如請求項1之方法,其中該讀取並形成一複合資料結構包含:自該陣列讀取包括對應ECC的該複數個該等所寫入資料頁中之一第一資料頁;將包括對應ECC之該所讀取第一資料頁儲存於與該記憶體陣列相關聯的一暫存器結構中;及對於該複數個該等所寫入資料頁中之每一額外頁,順序讀取包括對應ECC的該資料頁,執行該順序讀取之該資料頁與該暫存器結構之該內容的一互斥或運算,且藉由該互斥或運算之結果替換該暫存器結構的該內容。
  28. 如請求項1之方法,其中該複合資料結構之該至少一部分係該複合資料結構之全部。
  29. 如請求項1之方法,其中該複合資料結構之該至少一部分小於該複合資料結構之全部。
  30. 如請求項29之方法,其中該複合資料結構之該部分對應於儲存於與該陣列相關聯之一連續片段資料鎖存器中的該複合資料結構之部分。
TW101127334A 2011-07-28 2012-07-27 具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法 TW201314698A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/193,083 US8726104B2 (en) 2011-07-28 2011-07-28 Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages

Publications (1)

Publication Number Publication Date
TW201314698A true TW201314698A (zh) 2013-04-01

Family

ID=46604584

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101127334A TW201314698A (zh) 2011-07-28 2012-07-27 具有使用多頁之結合驗證之加速寫入後讀取之非揮發性記憶體及方法

Country Status (6)

Country Link
US (1) US8726104B2 (zh)
EP (1) EP2737486B1 (zh)
KR (1) KR101838340B1 (zh)
CN (1) CN103827971B (zh)
TW (1) TW201314698A (zh)
WO (1) WO2013016390A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI639112B (zh) 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
TWI639113B (zh) 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
US10558368B2 (en) 2015-12-29 2020-02-11 SK Hynix Inc. Memory system and operating method of the memory system
TWI719434B (zh) * 2016-08-05 2021-02-21 美商美光科技公司 用以基於機率資料結構之前瞻修正動作之記憶體設備及操作該設備之方法
TWI721873B (zh) * 2019-09-03 2021-03-11 美商超捷公司 在預定程式狀態中使用最終烘烤來改善類比非揮發性記憶體中之讀取電流穩定性的方法

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US9245653B2 (en) * 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US8750042B2 (en) * 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8630118B2 (en) * 2011-11-09 2014-01-14 Sandisk Technologies Inc. Defective word line detection
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9235470B2 (en) 2013-10-03 2016-01-12 SanDisk Technologies, Inc. Adaptive EPWR (enhanced post write read) scheduling
US9501400B2 (en) 2013-11-13 2016-11-22 Sandisk Technologies Llc Identification and operation of sub-prime blocks in nonvolatile memory
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
US9208023B2 (en) 2013-12-23 2015-12-08 Sandisk Technologies Inc. Systems and methods for scheduling post-write read in nonvolatile memory
US9785501B2 (en) * 2014-02-18 2017-10-10 Sandisk Technologies Llc Error detection and handling for a data storage device
US9323607B2 (en) * 2014-04-29 2016-04-26 Seagate Technology Llc Data recovery once ECC fails to correct the data
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9804922B2 (en) 2014-07-21 2017-10-31 Sandisk Technologies Llc Partial bad block detection and re-use using EPWR for block based architectures
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
KR102248835B1 (ko) 2014-09-29 2021-05-10 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 동작 방법
US9841910B2 (en) * 2014-09-30 2017-12-12 Sandisk Technologies Llc Moving and committing valid data on a set-by-set basis
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9558064B2 (en) 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
US10289327B2 (en) 2015-06-05 2019-05-14 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US9875053B2 (en) 2015-06-05 2018-01-23 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9836350B2 (en) 2015-09-30 2017-12-05 Western Digital Technologies, Inc. Joint decoding of rewriting NVM error sectors
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US9548105B1 (en) * 2015-10-29 2017-01-17 Sandisk Technologies Llc Enhanced post-write read for 3-D memory
CN106845289A (zh) * 2015-12-07 2017-06-13 国民技术股份有限公司 一种安全芯片及其非易失性存储控制装置、方法
US10459745B2 (en) * 2015-12-16 2019-10-29 Business Objects Software Ltd Application help functionality including suggested search
KR102376505B1 (ko) * 2016-01-13 2022-03-18 삼성전자주식회사 불휘발성 메모리 장치 내 소거 불량 워드라인 검출 방법
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
US9892793B1 (en) 2016-07-25 2018-02-13 Western Digital Technologies, Inc. Systems and methods for programming data to storage devices
US20180032396A1 (en) * 2016-07-29 2018-02-01 Sandisk Technologies Llc Generalized syndrome weights
JP6652470B2 (ja) 2016-09-07 2020-02-26 キオクシア株式会社 半導体記憶装置
CN106502821A (zh) * 2016-10-26 2017-03-15 武汉迅存科技有限公司 一种获取闪存对偶页错误相关性的方法和系统
US9905289B1 (en) 2017-04-28 2018-02-27 EMC IP Holding Company LLC Method and system for systematic read retry flow in solid state memory
TWI634556B (zh) * 2017-10-12 2018-09-01 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN109697134B (zh) * 2017-10-20 2022-10-21 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US10755793B2 (en) * 2017-10-31 2020-08-25 Micron Technology, Inc. SLC page read
US10817373B2 (en) * 2017-11-21 2020-10-27 SK Hynix Inc. Soft chip-kill recovery using concatenated codes
US10585625B2 (en) * 2018-07-12 2020-03-10 Micron Technology, Inc. Determination of data integrity based on sentinel cells
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques
US10832789B1 (en) * 2019-06-13 2020-11-10 Western Digital Technologies, Inc. System countermeasure for read operation during TLC program suspend causing ADL data reset with XDL data
KR20210096425A (ko) 2020-01-28 2021-08-05 삼성전자주식회사 비휘발성 메모리 장치
US11379305B2 (en) 2020-11-16 2022-07-05 Western Digital Technologies, Inc. Fast verification of non-volatile data integrity
US11488669B2 (en) * 2020-12-29 2022-11-01 Sandisk Technologies Llc Three-valued programming mechanism for non-volatile memory structures
US11557334B2 (en) 2021-05-05 2023-01-17 Sandisk Technologies Llc Nonvolatile memory with combined reads
US11960758B2 (en) * 2022-04-06 2024-04-16 Western Digital Technologies, Inc. Storage system and folding method for enhanced performance
CN114743585B (zh) * 2022-06-10 2022-08-30 芯天下技术股份有限公司 用于测试闪速存储器的编程方法、装置及闪速存储器
CN116737086B (zh) * 2023-08-14 2023-11-17 江苏云途半导体有限公司 一种嵌入式非易失性存储器读写方法

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5602789A (en) 1991-03-12 1997-02-11 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller
KR960002006B1 (ko) 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
US5452251A (en) 1992-12-03 1995-09-19 Fujitsu Limited Semiconductor memory device for selecting and deselecting blocks of word lines
US5335198A (en) 1993-05-06 1994-08-02 Advanced Micro Devices, Inc. Flash EEPROM array with high endurance
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5436587A (en) 1993-11-24 1995-07-25 Sundisk Corporation Charge pump circuit with exponetral multiplication
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5671388A (en) 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
JP3487690B2 (ja) 1995-06-20 2004-01-19 シャープ株式会社 不揮発性半導体記憶装置
EP0788113B1 (en) 1996-01-31 2005-08-24 STMicroelectronics S.r.l. Multilevel memory circuits and corresponding reading and writing methods
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
JP3200012B2 (ja) 1996-04-19 2001-08-20 株式会社東芝 記憶システム
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
KR100323554B1 (ko) 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6185709B1 (en) 1998-06-30 2001-02-06 International Business Machines Corporation Device for indicating the fixability of a logic circuit
US6208542B1 (en) 1998-06-30 2001-03-27 Sandisk Corporation Techniques for storing digital data in an analog or multilevel memory
US6215697B1 (en) 1999-01-14 2001-04-10 Macronix International Co., Ltd. Multi-level memory cell device and method for self-converged programming
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
US6205055B1 (en) 2000-02-25 2001-03-20 Advanced Micro Devices, Inc. Dynamic memory cell programming voltage
US6219276B1 (en) 2000-02-25 2001-04-17 Advanced Micro Devices, Inc. Multilevel cell programming
US6345001B1 (en) 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
JP4323707B2 (ja) 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
ITRM20010104A1 (it) * 2001-02-27 2002-08-27 Micron Technology Inc Modo di lettura a compressione di dati per il collaudo di memorie.
ITMI20011619A1 (it) 2001-07-26 2003-01-26 Montefibre Spa Procedimento per la preparazione di materiali in fibra acrilica idrorepellenti
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7554842B2 (en) 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US7170802B2 (en) 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories
US6717847B2 (en) 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
KR100463197B1 (ko) 2001-12-24 2004-12-23 삼성전자주식회사 멀티-페이지 프로그램 동작, 멀티-페이지 읽기 동작,그리고 멀티-블록 소거 동작을 갖는 낸드 플래시 메모리장치
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US6861894B2 (en) 2002-09-27 2005-03-01 Sandisk Corporation Charge pump with Fibonacci number multiplication
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
EP1572463B1 (en) 2002-12-02 2011-04-06 Silverbrook Research Pty. Ltd Dead nozzle compensation
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6917542B2 (en) 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6914823B2 (en) 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US6922096B2 (en) 2003-08-07 2005-07-26 Sandisk Corporation Area efficient charge pump
JP2005108304A (ja) 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR100719380B1 (ko) 2006-03-31 2007-05-18 삼성전자주식회사 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7030683B2 (en) 2004-05-10 2006-04-18 Sandisk Corporation Four phase charge pump operable without phase overlap with improved efficiency
US7009889B2 (en) 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
US7603528B2 (en) 2004-10-08 2009-10-13 International Business Machines Corporation Memory device verification of multiple write operations
US7050344B1 (en) 2004-11-04 2006-05-23 Promos Technologies Inc. Failure test method for split gate flash memory
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US20060140007A1 (en) 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
KR100694968B1 (ko) * 2005-06-30 2007-03-14 주식회사 하이닉스반도체 비휘발성 메모리 장치와 그것의 멀티-페이지 프로그램,독출 및 카피백 프로그램 방법
US20070126494A1 (en) 2005-12-06 2007-06-07 Sandisk Corporation Charge pump having shunt diode for improved operating efficiency
US20070139099A1 (en) 2005-12-16 2007-06-21 Sandisk Corporation Charge pump regulation control for improved power efficiency
US7224614B1 (en) * 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories
US7428180B2 (en) 2006-01-25 2008-09-23 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US7701797B2 (en) 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7554311B2 (en) 2006-07-31 2009-06-30 Sandisk Corporation Hybrid charge pump regulation
KR100837274B1 (ko) * 2006-08-28 2008-06-11 삼성전자주식회사 오토 멀티-페이지 카피백 기능을 갖는 플래시 메모리 장치및 그것의 블록 대체 방법
US7599223B2 (en) 2006-09-12 2009-10-06 Sandisk Corporation Non-volatile memory with linear estimation of initial programming voltage
US7368979B2 (en) 2006-09-19 2008-05-06 Sandisk Corporation Implementation of output floating scheme for hv charge pumps
JP2008077810A (ja) 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
US7716538B2 (en) 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
KR100858241B1 (ko) 2006-10-25 2008-09-12 삼성전자주식회사 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
US7440319B2 (en) 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US8122319B2 (en) 2007-01-24 2012-02-21 Charles I. Peddle Page-based failure management for flash memory
US7446596B1 (en) 2007-05-25 2008-11-04 Atmel Corporation Low voltage charge pump
US9607408B2 (en) 2007-06-08 2017-03-28 Apple Inc. Rendering semi-transparent user interface elements
US7599225B2 (en) 2007-07-13 2009-10-06 Macronix International Co., Ltd. Method of programming and erasing a non-volatile memory array
US7532513B2 (en) 2007-08-27 2009-05-12 Macronix International Co., Ltd. Apparatus and method for detecting word line leakage in memory devices
US8044705B2 (en) 2007-08-28 2011-10-25 Sandisk Technologies Inc. Bottom plate regulation of charge pumps
US20090058507A1 (en) 2007-08-28 2009-03-05 Prajit Nandi Bottom Plate Regulated Charge Pump
KR101393622B1 (ko) 2007-08-30 2014-05-13 삼성전자주식회사 멀티 비트 플래시 메모리 장치를 포함하는 시스템 및그것의 데이터 처리 방법
JP4510060B2 (ja) 2007-09-14 2010-07-21 株式会社東芝 不揮発性半導体記憶装置の読み出し/書き込み制御方法
US7864588B2 (en) 2007-09-17 2011-01-04 Spansion Israel Ltd. Minimizing read disturb in an array flash cell
US7945825B2 (en) 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US7586362B2 (en) 2007-12-12 2009-09-08 Sandisk Corporation Low voltage charge pump with regulation
KR101378349B1 (ko) 2008-01-30 2014-03-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
JP5099212B2 (ja) 2008-02-28 2012-12-19 富士通株式会社 ストレージ装置、ストレージ制御装置、データ転送集積回路、および、ストレージ制御方法
US7979626B2 (en) 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
US7969235B2 (en) 2008-06-09 2011-06-28 Sandisk Corporation Self-adaptive multi-stage charge pump
US8710907B2 (en) 2008-06-24 2014-04-29 Sandisk Technologies Inc. Clock generator circuit for a charge pump
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US7683700B2 (en) 2008-06-25 2010-03-23 Sandisk Corporation Techniques of ripple reduction for charge pumps
US7864578B2 (en) 2008-06-30 2011-01-04 Kabushiki Kaisha Toshiba Semiconductor memory repairing a defective bit and semiconductor memory system
KR20100012605A (ko) 2008-07-29 2010-02-08 삼성전자주식회사 Ecc를 이용하여 프로그램하는 불휘발성 메모리 장치 및그 프로그램 방법
US7864587B2 (en) 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
US7768836B2 (en) 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
US7795952B2 (en) 2008-12-17 2010-09-14 Sandisk Corporation Regulation of recovery rates in charge pumps
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US20100174845A1 (en) 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8027195B2 (en) 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
KR101626548B1 (ko) 2009-07-15 2016-06-01 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR101581857B1 (ko) 2009-08-06 2015-12-31 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법
US8464106B2 (en) 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
US8400854B2 (en) 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
US8402217B2 (en) 2009-09-15 2013-03-19 Marvell International Ltd. Implementing RAID in solid state memory
US20110167784A1 (en) * 2009-09-25 2011-07-14 James Edward Johnson Method of operating a convertible fan engine
US8423866B2 (en) 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8634240B2 (en) 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
US8214700B2 (en) 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8230255B2 (en) 2009-12-15 2012-07-24 International Business Machines Corporation Blocking write acces to memory modules of a solid state drive
US20110153912A1 (en) 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8054684B2 (en) 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US20130031431A1 (en) 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558368B2 (en) 2015-12-29 2020-02-11 SK Hynix Inc. Memory system and operating method of the memory system
TWI693607B (zh) * 2015-12-29 2020-05-11 南韓商愛思開海力士有限公司 記憶體系統及記憶體系統的操作方法
TWI639112B (zh) 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
TWI639113B (zh) 2016-03-14 2018-10-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
US10120611B2 (en) 2016-03-14 2018-11-06 Silicon Motion, Inc. Storage device and data control method for storage error control
TWI719434B (zh) * 2016-08-05 2021-02-21 美商美光科技公司 用以基於機率資料結構之前瞻修正動作之記憶體設備及操作該設備之方法
US10929474B2 (en) 2016-08-05 2021-02-23 Micron Technology, Inc. Proactive corrective actions in memory based on a probabilistic data structure
US11586679B2 (en) 2016-08-05 2023-02-21 Micron Technology, Inc. Proactive corrective actions in memory based on a probabilistic data structure
TWI721873B (zh) * 2019-09-03 2021-03-11 美商超捷公司 在預定程式狀態中使用最終烘烤來改善類比非揮發性記憶體中之讀取電流穩定性的方法
US11017866B2 (en) 2019-09-03 2021-05-25 Silicon Storage Technology, Inc. Method of improving read current stability in analog non-volatile memory using final bake in predetermined program state

Also Published As

Publication number Publication date
KR20140053207A (ko) 2014-05-07
EP2737486B1 (en) 2018-06-06
CN103827971A (zh) 2014-05-28
US20130031430A1 (en) 2013-01-31
US8726104B2 (en) 2014-05-13
KR101838340B1 (ko) 2018-03-13
WO2013016390A3 (en) 2013-06-20
WO2013016390A2 (en) 2013-01-31
EP2737486A2 (en) 2014-06-04
CN103827971B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103827971B (zh) 具有使用多页的组合验证的加速的写入后读取的非易失性存储器的方法
KR101835174B1 (ko) 복수 워드라인의 동시적 감지 및 nand 고장의 검출
TW201319801A (zh) 使用寫為二進位及多狀態格式的資料之比較在非揮發性記憶體中的寫入後讀取
JP5596791B2 (ja) エラーを管理するための書き込み後読み出しおよび適応再書き込みを伴う不揮発性メモリおよび方法
JP5443612B2 (ja) エラーを管理するための書き込み後読み出しおよび適応再書き込みを伴う不揮発性メモリおよび方法
KR101727349B1 (ko) 비휘발성 메모리 및 오류들을 관리하기 위한 가속화된 기입후 판독을 사용한 방법
US9165683B2 (en) Multi-word line erratic programming detection
US8566671B1 (en) Configurable accelerated post-write read to manage errors
US9213601B2 (en) Adaptive data re-compaction after post-write read verification operations