本申請涉及諸如半導體閃存的可再編程非易失性存儲器系統(tǒng),更具體地,涉及存儲器操作中的錯誤的應對和有效管理。
背景技術:能夠非易失性地存儲電荷的固態(tài)存儲器、尤其是以被包裝為小形狀因子卡的EEPROM和快閃EEPROM的形式的固態(tài)存儲器,近來已經(jīng)變?yōu)樵诟鞣N移動和手持設備、特別是信息用品和消費者電子產(chǎn)品中的存儲的選擇。不像也是固態(tài)存儲器的RAM(隨機存取存儲器),閃存是非易失性的,且即使在掉電之后也維持其存儲的數(shù)據(jù)。而且,不像ROM(只讀存儲器),閃存類似于盤存儲設備而可重寫。盡管有較高的成本,但閃存仍然逐漸用于大容量存儲應用中?;谥T如硬盤和軟盤的旋轉磁介質的傳統(tǒng)大容量存儲器不適用于移動和手持環(huán)境。這是因為磁盤趨于大容量,易于產(chǎn)生機械故障,且具有高延遲時間和高功率需求。這些不期望的屬性使得基于盤的存儲器在大多數(shù)移動和便攜式應用中不實際。另一方面,嵌入式和以可移除卡的形式的閃存由于其小尺寸、低功耗、高速度和高可靠性特性而理想地適用于移動和手持環(huán)境??扉WEEPROM類似于EPROM(電可擦除可編程只讀存儲器)之處在于其是可以被擦除且使得新數(shù)據(jù)被寫入或“編程”到其存儲器單元中的非易失性存儲器。在場效應晶體管結構中,兩者利用在源極和漏極區(qū)域之間的、位于半導體襯底中的溝道區(qū)之上的浮置(未連接)導電柵極。然后,控制柵極被提供在浮置柵極上。晶體管的閾值電壓特性受浮置柵極上保留的電荷量控制。也就是說,對于在浮置柵極上的給定水平的電荷,存在必須在晶體管“導通”以允許在其源極和漏極區(qū)域之間導電之前施加到該控制柵極的對應電壓(閾值)。具體地,諸如快閃EEPROM的閃存允許同時擦除存儲器單元的各整個塊。浮置柵極可以保持一范圍的電荷,且因此可以被編程到閾值電壓窗內的任意閾值電壓電平。由器件的最小和最大閾值電平來界定(delimit)閾值電壓窗的尺寸,該最小和最大閾值電平又對應于可以被編程到浮置柵極上的電荷的范圍。該閾值窗通常取決于存儲器器件的特征、操作條件和歷史。在該窗內的每個不同的、可分辨的閾值電壓電平范圍原則上可以用于指定單元的明確的存儲器狀態(tài)。在當前商業(yè)產(chǎn)品中快閃EEPROM陣列的每個存儲元件普遍地通過以二進制模式操作來存儲單個位的數(shù)據(jù),其中,存儲元件晶體管的兩個范圍的閾值電平被定義為存儲電平。晶體管的閾值電平對應于其存儲元件上存儲的電荷電平的范圍。除了縮小存儲器陣列的尺寸以外,趨勢是通過在每個存儲元件晶體管中存儲多于一位數(shù)據(jù)來進一步增加這種存儲器陣列的數(shù)據(jù)存儲的密度。這通過將多于兩個閾值電平定義為每個存儲元件晶體管的存儲狀態(tài)來實現(xiàn),現(xiàn)在在商業(yè)產(chǎn)品中包括四個這種狀態(tài)(每個存儲元件2位數(shù)據(jù))。也正實現(xiàn)每個存儲元件的更多存儲狀態(tài),比如16個狀態(tài)。每個存儲元件存儲器晶體管具有其可以實際被操作的閾值電壓的特定總范圍(窗),且該范圍被劃分為為其定義的多個狀態(tài)加上在這些狀態(tài)之間的、允許它們彼此清楚地區(qū)分的余量。顯然,存儲器單元被配置以存儲的位越多,其必須在其中操作的錯誤余量越小。用作存儲器單元的晶體管通常通過兩個機制之一編程到“已編程”狀態(tài)。在“熱電子注入”中,施加到漏極的高電壓加速電子穿過襯底溝道區(qū)域。同時,在施加到控制柵極的高電壓拉動熱電子經(jīng)過薄柵極電介質到浮置柵極上。在“遂穿注入”中,相對于襯底,高電壓被施加到控制柵極。以此方式,將電子從襯底拉到中間的(intervening)浮置柵極。雖然已經(jīng)在歷史上使用術語“編程”來描述通過向存儲器單元的初始擦除的電荷存儲單元注入電子以便改變存儲器狀態(tài)而向存儲器的寫入,但是現(xiàn)在與諸如“寫入”或“記錄”的更通用的術語可互換地使用。可以通過多種機制來擦除存儲器器件。對于EEPROM,可通過相對于控制柵極向襯底施加高電壓以便誘導浮置柵極中的電子遂穿過薄氧化物到襯底溝道區(qū)(即,F(xiàn)owler-Nordheim隧穿)而電擦除存儲器單元。通常,EEPROM可逐字節(jié)擦除。對于快閃EEPROM,該存儲器可一次全部或一次一個或多個最小可擦除塊地被電擦除,其中,最小可擦除塊可以由一個或多個扇區(qū)構成,且每個扇區(qū)可以存儲512字節(jié)或更多的數(shù)據(jù)。存儲器器件通常包括可以被安裝到卡上的一個或多個存儲器芯片。每個存儲器芯片包括由諸如解碼器和擦除、寫和讀電路的外圍電路支持的存儲器單元的陣列。更復雜的存儲器器件還與進行智能且較高級存儲器操作和接口(interfacing)的控制器一起出現(xiàn)。存在當今正使用的許多商業(yè)成功的非易失性固態(tài)存儲器器件。這些存儲器器件可以是快閃EEPROM,或可以使用其他類型的非易失性存儲器單元。在美國專利號5,070,032、5,095,344、5,315,541、5,343,063、5,661,053、5,313,421和6,222,762中給出了快閃存儲器及系統(tǒng)和制造它們的方法的例子。具體地,在美國專利號5,570,315、5,903,495、6,046,935中描述了具有NAND串結構的閃存器件。而且,還從具有用于存儲電荷的介電層的存儲器單元制造非易失性存儲器器件。取代先前描述的導電浮置柵極元件,使用介電層。使用介電存儲元件的這種存儲器器件已經(jīng)由以下描述:Eitan等人的“NROM:ANovelLocalizedTrapping,2-BitNonvolatileMemoryCell”,IEEEElectronDeviceLetters,vol.21,no.11,2000年11月,pp.543-545。ONO介電層穿過源極和漏極擴散之間的溝道而延伸。一個數(shù)據(jù)位的電荷被定位(localize)在與漏極相鄰的介電層中,且另一數(shù)據(jù)位的電荷被定位在與源極相鄰的介電層中。例如,美國專利第5,768,192和6,011,725號公開了具有夾在兩個二氧化硅層之間的捕獲電介質(trappingdielectric)的非易失性存儲器單元。通過分開地讀取電介質內的空間上分開的電荷存儲區(qū)的二進制狀態(tài)來實現(xiàn)多狀態(tài)數(shù)據(jù)存儲。為了改善讀取和編程性能,并行讀取或編程在陣列中的多個電荷存儲元件或存儲器晶體管。因此,"一頁"存儲器元件被一起讀取或編程。在現(xiàn)有存儲器架構中,一行通常包含若干交織的頁,或其可以組成一頁。一頁的所有存儲器元件將一起被讀取或編程。寫入的數(shù)據(jù)中的錯誤在此說明的這些類型的存儲器系統(tǒng)中以及在其他存儲器系統(tǒng)中,包括磁盤存儲系統(tǒng),通過使用錯誤校正技術來維持被存儲的數(shù)據(jù)的完整性。最普遍地,對于一次存儲的數(shù)據(jù)的每個扇區(qū)或其他單元計算錯誤校正碼(ECC),且該ECC與該數(shù)據(jù)一起存儲。ECC最普遍地與用戶數(shù)據(jù)的單元組一起存儲,其中已經(jīng)從該單元組計算了ECC。用戶數(shù)據(jù)的單元組可以是扇區(qū)或多扇區(qū)頁。當從存儲器讀取該數(shù)據(jù)時,使用ECC來確定被讀取的用戶數(shù)據(jù)的完整性。通常可以通過使用ECC來校正數(shù)據(jù)的單元組內的數(shù)據(jù)的錯誤位。趨勢是減小存儲器系統(tǒng)的大小以便能夠在該系統(tǒng)中放置更多的存儲器單元以及使得該系統(tǒng)盡可能小以適應更小的主機設備。通過電路的更高集成以及配置每個存儲器單元存儲更多位數(shù)據(jù)的組合來增加存儲器容量。這兩種技術要求存儲器以增加的更收緊的錯誤余量來操作。這又對校正錯誤的ECC提出更高的要求??梢栽O計ECC來校正預定數(shù)量的錯誤位。其需要校正的位越多,該ECC將越復雜且更多計算量。為了質量保證,基于在存儲器器件的壽命末期的預計最差情況單元錯誤率來設計傳統(tǒng)ECC。因此,它們必須校正高達錯誤率的統(tǒng)計總體的遠在尾端的最大數(shù)量的錯誤位。隨著快閃存儲器老化,其錯誤率在該器件的壽命末期附近迅速增加。因此,僅需要為最差情況設計的強大ECC在存儲器器件的壽命末期時應用其全部性能。使用ECC來校正最差情況數(shù)量的錯誤位將消耗更大量的處理時間。其需要校正的位越多,所需的計算時間越多。存儲器性能將降低??梢詫崿F(xiàn)另外的專用硬件來在合理時間量進行ECC。這種專用硬件可能在控制器ASIC芯片上占據(jù)相當量的空間。另外,對于器件的大多數(shù)壽命時間,僅有余量地使用ECC,導致其大量系統(tǒng)開銷(overhead)被浪費且沒有實現(xiàn)真正收益。因此,需要提供高存儲容量、不需要為最差情況設計的資源密集的ECC的非易失性存儲器。
技術實現(xiàn)要素:根據(jù)主要的一組方面,呈現(xiàn)操作存儲器系統(tǒng)的方法。該存儲器系統(tǒng)包括沿著多個字線形成的非易失性單元的陣列,每個字線能夠存儲一頁或多頁數(shù)據(jù)。所述方法包括:將多頁數(shù)據(jù)寫入到所述陣列中并隨后從所述陣列讀取多個寫入的頁的數(shù)據(jù),并進行對所述合成數(shù)據(jù)結構的至少一部分的評估,以確定在所寫入的多頁數(shù)據(jù)中的高錯誤率的存在。在本發(fā)明的示例例子的以下描述中包括本發(fā)明的各種方面、優(yōu)點、特征和實施例,該描述應該與附圖結合。在此引用的所有專利、專利申請、文章、其他公開、文獻和事物為了所有目的被全部引用附于此。置于在并入的公開、文檔或事物的任一和本申請之間的術語的定義或使用中的任何不一致或沖突的程度,在本申請中的應該優(yōu)先。附圖說明圖1圖示與體現(xiàn)本發(fā)明的特征的存儲器器件通信的主機。圖2示意性地圖示了非易失性存儲器單元。圖3圖示了存儲器單元的NOR陣列的例子。圖4圖示了被并行感測或編程的在例如NAND配置中組織的一頁存儲器單元。圖5A將圖1所示的感測模塊更詳細地圖示為包含跨過存儲器單元的陣列的一堆p個感測模塊。圖5B圖示包括感測放大器的感測模塊。圖6示意性地示出在可擦除塊中組織的存儲器陣列的例子。圖7圖示具有每個單元處于兩個可能狀態(tài)之一的全體單元的二進制存儲器。圖8圖示具有每個單元處于八個可能狀態(tài)之一的全體單元的多狀態(tài)存儲器。圖9示意性地圖示包含ECC字段的數(shù)據(jù)頁。圖10A示出全體的百分比在各種范圍的標準偏差σ的錯誤率的正態(tài)分布。圖10B圖示表格形式的圖10A的分布。圖11是列出閃存的主要錯誤源的表格。圖12是示出在示例存儲器器件的壽命初期和末期該示例存儲器器件的估計的總錯誤的表格。圖13是圖示必須設計傳統(tǒng)的ECC來校正最差情況的總錯誤ETOT的表格。圖14A圖示根據(jù)本發(fā)明的優(yōu)選實施例的被劃分為兩個部分的存儲器陣列。圖14B圖示將數(shù)據(jù)頁的第二復制本重寫到圖14A的存儲器陣列的第一部分中。圖15是圖示根據(jù)圖14A和圖14B中描述的實施例的寫入后讀取和適應性重寫的處理的流程圖。圖16A圖示根據(jù)本發(fā)明的優(yōu)選實施例的被劃分為兩個部分且第一部分進一步被提供有緩存部分和重寫部分的存儲器陣列。圖16B圖示根據(jù)寫入后讀取的優(yōu)選實施例的頁比較技術。圖16C圖示在寫入后讀取確定了在第二部分中的數(shù)據(jù)頁中的過量錯誤之后向第一部分的重寫。圖17是圖示根據(jù)圖16A到圖16C中描述的實施例的寫入后讀取和適應性重寫的處理的流程圖。圖18圖示被組織為擦除塊的存儲器。圖19是圖示當存儲器器件已經(jīng)老化到由熱計數(shù)確定的預定程度時被使能的錯誤管理的流程圖。圖20A圖示根據(jù)本發(fā)明的優(yōu)選實施例的被劃分為兩個部分的存儲器陣列。圖20B圖示其中圖20A的D3塊未通過寫入后讀取測試的另一例子。圖20C圖示其中圖20B的新的D3塊再次未通過寫入后讀取測試的另一例子。圖21是圖示與增強的寫入后讀取錯誤管理相關的示例參數(shù)的表格。該表格優(yōu)選地被保持在存儲器中存儲的文件系統(tǒng)配置文件中。圖22A是圖示應用于具有D1到D3折疊(folding)的存儲器的EPWR錯誤管理的優(yōu)選實施方式的流程圖。圖22B更詳細地圖示增強的寫入后讀取的錯誤管理的取決于器件年齡的使能特征。圖22C更詳細地圖示增強的寫入后讀取錯誤管理的優(yōu)選實施方式。圖23(0)-23(3)圖示用優(yōu)選的2位邏輯碼(“LM”碼)編碼的4狀態(tài)存儲器的邏輯逐頁編程。圖24A圖示辨別用2位LM碼編碼的4狀態(tài)存儲器的較低位所需的讀取操作。圖24B圖示辨別用2位LM碼編碼的4狀態(tài)存儲器的較高位所需的讀取操作。圖25(0)-25(4)圖示用優(yōu)選的3位邏輯碼(“LM”碼)編碼的8狀態(tài)存儲器的編程。圖26A示意性地圖示包含類似于圖9所示的ECC字段的ECC頁。圖26B圖示構成數(shù)據(jù)頁的多個ECC頁。圖27是圖示加速的PWR的一般實施例的流程圖。圖28是圖示圖27所示的加速的PWR的優(yōu)選實施例的流程圖。圖29圖示在已寫入一個字線上的一組3位存儲器單元之后為寫入后讀取所選擇的樣本。圖30例示向3位存儲器分配數(shù)據(jù)狀態(tài)。圖31是例示使用多頁的組合驗證的增強的寫入后的讀取的方面的示例流程。圖32示出對圖30中示出的數(shù)據(jù)狀態(tài)的頂部和底部頁異或(XOR)的結果。具體實施方式存儲器系統(tǒng)圖1圖示與其中體現(xiàn)本發(fā)明的特征的存儲器器件通信的主機。主機80通常發(fā)送要在存儲器器件90處存儲的數(shù)據(jù),或通過讀存儲器器件90來取得數(shù)據(jù)。存儲器器件90包括由控制器102管理的一個或多個存儲器芯片100。該存儲器芯片100包括存儲器單元的存儲器陣列200,每個單元能夠被配置為用于存儲多位數(shù)據(jù)的多級單元("MLC")。該存儲器芯片還包括諸如感測模塊480、數(shù)據(jù)鎖存器430和I/O電路440的外圍電路。芯片上控制電路110控制每個芯片的低級存儲器操作。控制電路110是與外圍電路合作以對存儲器陣列200進行存儲器操作的芯片上控制器。該控制電路110通常包括狀態(tài)機112來提供存儲器操作的芯片級控制。在許多實施方式中,主機80經(jīng)由控制器102與存儲器芯片100通信和交互。該控制器102與存儲器芯片協(xié)作,并控制和管理更高級的存儲器操作。例如,在主機寫入中,主機10發(fā)送要寫到在從主機的操作系統(tǒng)的文件系統(tǒng)分配的邏輯扇區(qū)中的存儲器陣列100的數(shù)據(jù)。在控制器中實現(xiàn)的存儲器塊管理系統(tǒng)階段性存儲(stage)這些扇區(qū),并將它們映射并存儲到存儲器陣列的物理結構。在2010年7月8日公布的美國專利申請公開號:2010/0172180A1中公開了優(yōu)選的塊管理系統(tǒng),其全部公開通過參考合并于此。固件60提供代碼以實現(xiàn)控制器102的功能。錯誤校正碼(“ECC”)處理器62在存儲器器件的操作期間處理ECC。在另一實施例中,在主機內實現(xiàn)控制器102。物理存儲器結構圖2示意性地圖示了非易失性存儲器單元。存儲器單元10可以由具有諸如浮置柵極或介電層的電荷存儲單元20的場效應晶體管實現(xiàn)。存儲器單元10還包括源極14、漏極16和控制柵極30。存在當今正使用的許多商業(yè)成功的非易失性固態(tài)存儲器器件。這些存儲器器件可以使用不同類型的存儲器單元,每個類型具有一個或多個電荷存儲元件。典型的非易失性存儲器單元包括EEPROM和快閃EEPROM。在美國專利第5,595,924號中給出了EEPROM單元和制造它們的方法的例子。在美國專利第5,070,032、5,095,344、5,315,541、5,343,063、5,661,053、5,313,421和6,222,762號中給出了快閃EEPROM單元、其在存儲器系統(tǒng)中的使用和制造它們的方法的例子。具體地,在美國專利第5,570,315、5,903,495、6,046,935號中描述了具有NAND單元結構的存儲器器件的例子。而且,使用介電存儲元件的存儲器器件已經(jīng)由以下描述:Eitan等人的“NROM:ANovelLocalizedTrapping,2-BitNonvolatileMemoryCell”,IEEEElectronDeviceLetters,vol.21,no.11,2000年11月,543-545頁和美國專利第5,768,192和6,011,725號。實踐中,通常通過當向控制柵極施加參考電壓時感測跨過單元的源極和漏極的導電電流來讀取該單元的存儲器狀態(tài)。因此,對于單元的浮置柵極上的每個給定的電荷,可以檢測到針對固定參考控制柵極電壓的相應導電電流。相反,閾值電壓被定義為以給定的電荷將剛好導通該單元的在控制柵極上的電壓。類似地,可編程到浮置柵極上的電荷的范圍定義了對應的閾值電壓窗或對應的導電電流窗?;蛘撸鏅z測在劃分的電流窗之間的導電電流,能夠在控制柵極處在測試下為給定存儲器狀態(tài)設置閾值電壓,并檢測導電電流是低于還是高于閾值電流。在一個實施方式中,通過檢查導電電流通過位線的電容或已知電容器而放電的速率來實現(xiàn)針對閾值電流檢測導電電流。如可以從上述描述看出的,使得存儲器單元存儲的狀態(tài)越多,其閾值窗劃分得越精細。例如,存儲器器件可以具有擁有范圍從-1.5V到5V的閾值窗的存儲器單元。這提供了6.5V的最大寬度。如果該存儲器單元要存儲16個狀態(tài),則每個狀態(tài)可以在閾值窗中占據(jù)200mV到300mV。這將需要在編程和讀操作中的更高的精度以便能夠實現(xiàn)需要的分辨率。存儲器陣列200通常被組織為在行和列中排列且可由字線和位線尋址的二維陣列的存儲器單元??梢愿鶕?jù)NOR類型或NAND類型架構來形成該陣列。圖3圖示了存儲器單元的NOR陣列的例子。在存儲器陣列200中,每行存儲器單元通過其源極14和漏極16以菊鏈方式連接。該設計有時稱為虛擬接地設計(virtualgrounddesign)。一行中的單元10使其控制柵極30連接到諸如字線42的字線。一列中的單元使其源極和漏極分別連接到諸如位線34和36的所選位線。圖4圖示了被并行感測或編程的在例如NAND配置中組織的一頁存儲器單元。圖4主要示出了存儲器陣列200中的NAND串50的堆(bank)。NAND串50包括通過其源極和漏極菊鏈鏈接的一系列存儲器晶體管(例如4、8、16個或更多)。一對選擇晶體管S1、S2控制存儲器晶體管鏈分別經(jīng)由NAND串的源極端和漏極端與外部的連接。在存儲器陣列中,當導通源極選擇晶體管S1時,源極端耦合于源極線34。類似地,當導通漏極選擇晶體管S2時,NAND串的漏極端耦合于存儲器陣列的位線36。在該鏈中的每個存儲器晶體管10擔當存儲器單元。其具有電荷存儲元件20來存儲給定量的電荷以便表示意圖的存儲器狀態(tài)。每個存儲器晶體管的控制柵極允許對讀取和寫入操作的控制。一行NAND串的對應存儲器晶體管的控制柵極都連接到相同字線(比如WL0、WL1,……)。類似地,(分別經(jīng)由選擇線SGS和SGD訪問的)每個選擇晶體管S1、S2的控制柵極提供分別經(jīng)由其源極端和漏極端對NAND串的控制訪問。當在編程期間讀或驗證在NAND串內的被尋址的存儲器晶體管10時,經(jīng)由公共字線向其控制柵極供應適當?shù)碾妷骸M瑫r,通過對NAND串50中的剩余未被尋址的存儲器晶體管的控制柵極施加足夠的電壓來完全導通該剩余未被尋址的存儲器晶體管。以此方式,有效地創(chuàng)建了從各個存儲器晶體管的源極到NAND串的源極端的導電路徑,且類似地對于各個存儲器晶體管的漏極到該單元的漏極端創(chuàng)建了導電路徑。在美國專利第5,570,315、5,903,495、6,046,935號中描述了具有這樣的NAND串結構的存儲器器件。諸如頁70的“頁”是使得能夠并行被感測或編程的一組存儲器單元。這通過相應頁的感測放大器來實現(xiàn)。例如,頁70沿著一行,且通過施加到共同連接到字線WL3的、該頁的單元的控制柵極的感測電壓來感測。沿著每列,諸如單元10的每個單元可由感測放大器經(jīng)由位線36來訪問。以上所稱的頁是物理頁存儲器單元或感測放大器。這取決于上下文,在每個單元都在存儲的情況下。感測電路和技術圖5A將圖1所示的感測模塊更詳細地圖示為包含跨過存儲器單元的陣列的一堆p個感測模塊。并行地工作的整堆p個感測模塊480允許沿著一行的一組(或物理頁)p個單元10被并行讀取或編程?;旧?,感測模塊1將感測在單元1中的電流I1,感測模塊2將感測在單元2中的電流I2,……,感測模塊p將感測在單元p中的電流Ip,等等。該頁的從源極線34流出到聚集節(jié)點CLSRC中且從那里流到地的總單元電流iTOT將是p個單元中的所有電流的總和。在傳統(tǒng)的存儲器架構中,具有公共字線的一行存儲器單元形成兩個或多個頁,其中,在一頁中的存儲器單元被并行讀取和編程。在一行具有兩頁的情況下,一頁被偶數(shù)位線訪問,且另一頁被奇數(shù)位線訪問。一個物理頁的感測電路在任一時間被耦合到偶數(shù)位線或耦合到奇數(shù)位線。在當前生產(chǎn)的芯片中,物理頁可以是64k或更大。在優(yōu)選實施例中,組是一系列(arunof)整行單元。這是所謂的“全位線”架構,其中,該頁由分別耦合于連續(xù)位線的一行連續(xù)的存儲器單元構成。圖5B圖示包括感測放大器的感測模塊。感測放大器490檢測單元的導電電流高于還是低于參考水平。感測的結果被鎖存在對應的鎖存器集430中(見圖1)。擦除塊在快閃存儲器和其他類型存儲器之間的一個重要差別是必須從已擦除狀態(tài)編程單元。也就是說,浮置柵極必須首先清空電荷。然后,編程向浮置柵極添加回期望的電荷量。其不支持將電荷的一部分從浮置柵極移除以從較高的編程狀態(tài)去往較低的編程狀態(tài)。這意味著,更新的數(shù)據(jù)不能重寫已有的數(shù)據(jù),且必須被寫到先前未寫入的位置。另外,擦除要將所有電荷從浮置柵極中清空,且通常花費相當多的時間。由于這個原因,這將很麻煩,且逐單元或甚至逐頁地擦除是很慢的。實踐中,存儲器單元的陣列被劃分為大量存儲器單元塊。如對于快閃EEPROM系統(tǒng)普遍的,塊是擦除的單位。即,每個塊包含一起被擦除的最小數(shù)量的存儲器單元。圖6示意性地示出在可擦除塊中組織的存儲器陣列的例子。電荷存儲存儲器器件的編程僅會導致向其電荷存儲元件添加更多的電荷。因此,在編程操作之前,必須移除(或擦除)在存儲器單元的電荷存儲元件中的已有電荷。當一起(即,在一次快閃中)電擦除整個單元陣列200、或該陣列的大量單元組時,諸如EEPROM的非易失性存儲器被稱為“快閃”EEPROM。一旦被擦除,然后,可以重新編程該組單元??梢黄鸩脸脑摻M單元可以包括一個或多個可尋址的擦除單元300。擦除單元或塊300通常存儲一頁或多頁數(shù)據(jù),頁是編程和讀取的最小單位,雖然可以在單個操作中編程或讀多于一頁。每頁通常存儲一個或多個數(shù)據(jù)扇區(qū),扇區(qū)的尺寸由主機系統(tǒng)來限定。一個例子是遵循隨磁盤驅動器建立的標準的512字節(jié)的用戶數(shù)據(jù)加上關于用戶數(shù)據(jù)和/或其所存儲在的該塊的管理開銷信息的一些字節(jié)的扇區(qū)。在圖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)和多狀態(tài)(MLC)存儲器劃分的例子如之前所述,非易失性存儲器的例子由場效應晶體管的陣列形成,每個場效應晶體管具有在其溝道區(qū)和其控制柵極之間的電荷存儲層。電荷存儲層或單元可以存儲一范圍的電荷,帶來對于每個場效應晶體管的一個范圍的閾值電壓??赡艿拈撝惦妷旱姆秶缍葹殚撝荡?。當該閾值窗被劃分為閾值電壓的多個子范圍或區(qū)時,每個可分辨的區(qū)用于表示存儲器單元的不同存儲器狀態(tài)??梢杂梢粋€或多個二進制位來編碼多個存儲器狀態(tài)。圖7圖示具有每個單元處于兩個可能狀態(tài)之一的全體單元的二進制存儲器。每個存儲器單元的閾值窗被單個分界電平劃分為兩個不同區(qū)域。如圖7(0)所示,在讀取期間,在較低區(qū)域和較高區(qū)域之間的讀取分界電平rV1用于確定單元的閾值電平位于哪個區(qū)域。如果該單元的閾值位于較低區(qū)域中則其處于“已擦除”狀態(tài)中,且如果其閾值位于較高區(qū)域中則處于“已編程”狀態(tài)。圖7(1)圖示存儲器初始地具有處于“已擦除”狀態(tài)中的所有其單元。圖7(2)圖示一些單元被編程到“已編程”狀態(tài)。1位或二進制碼用于編碼這些存儲器狀態(tài)。例如,位值“1”表示“已擦除”狀態(tài),且“0”表示“已編程”狀態(tài)。通常,通過施加一個或多個編程電壓脈沖來進行編程。在每個脈沖之后,感測該單元來驗證閾值是否已經(jīng)移動超出驗證分界電平vV1。具有這種存儲器單元劃分的存儲器被稱為"二進制"存儲器或單電平單元(“SLC”)存儲器。將看到,二進制或SLC存儲器以寬的錯誤余量來操作,因為整個閾值窗僅被兩個區(qū)域占據(jù)。圖8圖示具有每個單元處于八個可能狀態(tài)之一的全體單元的多狀態(tài)存儲器。每個存儲器單元的閾值窗由至少七個分界電平劃分為八個不同區(qū)域。如圖8(0)所示,在讀取期間,使用讀取分界電平rV1到rV7來確定單元的閾值電平位于哪個區(qū)域。如果該單元的閾值位于最低區(qū)域中則其處于“已擦除”狀態(tài)中,且如果其閾值位于較高區(qū)域中則處于多個“已編程”狀態(tài)之一。圖8(1)圖示存儲器初始地具有處于“已擦除”狀態(tài)的所有其單元。圖8(2)圖示一些單元被編程到“已編程”狀態(tài)。具有較低位、中間位和較高位的3位碼可以用于表示八個存儲器狀態(tài)的每個。例如,分別由“111”、“011”、“001”、“101”、“100”、“000”、“010”和“110”表示“0”、“1”、“2”、“3”、“4”、“5”、“6”和“7”狀態(tài)。通常,通過施加一個或多個編程電壓脈沖來進行編程。在每個脈沖之后,感測該單元來驗證該閾值是否已經(jīng)移動超出作為驗證分界電平vV1到vV7之一的基準。具有這種存儲器單元劃分的存儲器被稱為“多狀態(tài)”存儲器或多電平單元(“MLC”)存儲器。類似地,存儲4位碼的存儲器將具有較低位、第一中間位、第二中間位和較高位,表示十六個狀態(tài)的每個。通過至少15個分界電平來將閾值窗分界為十六個不同區(qū)域。隨著存儲器的有限閾值窗被劃分為更多區(qū)域,編程和讀取的分辨率將必然變得更精細。因此,多狀態(tài)或MLC存儲器需要以與具有較少的區(qū)域的存儲器相比更窄的錯誤余量來操作。換句話說,錯誤率隨著在每個單元中存儲的位數(shù)量而增加。通常,錯誤率隨著每個單元中存儲的位的數(shù)量而增加。通常,錯誤率隨著閾值窗中的劃分的區(qū)域的數(shù)量而增加。通過錯誤校正碼(“ECC”)的校正快閃存儲器容易出錯。為了保證無錯誤的數(shù)據(jù),實施錯誤校正碼(“ECC”)來校正錯誤。圖9示意性地圖示包含ECC字段的數(shù)據(jù)頁。如結合圖4和圖6A描述的,通過并行工作的對應頁的感測模塊來并行編程和讀取一個物理頁的存儲器單元。當每個存儲器單元存儲多位數(shù)據(jù)時,將存在與每個物理頁相關的多個數(shù)據(jù)頁。數(shù)據(jù)頁70’包括用戶部分72’和系統(tǒng)部分74’。用戶部分72’用于存儲用戶數(shù)據(jù)。系統(tǒng)部分74’通常由存儲器系統(tǒng)使用來存儲系統(tǒng)數(shù)據(jù)。ECC被包括在系統(tǒng)數(shù)據(jù)中。對數(shù)據(jù)頁計算ECC。通常,通過控制器102中的ECC處理器62計算ECC(見圖1)。在從主機接收數(shù)據(jù)時,在控制器102中階段性存儲(stage)數(shù)據(jù)頁,且通過ECC處理器62來計算其ECC76’。然后,并入了該ECC的數(shù)據(jù)頁被寫入到存儲器陣列200。通常,當讀取該數(shù)據(jù)頁時,數(shù)據(jù)頁被鎖存在數(shù)據(jù)鎖存器430中,且從I/O電路440移出到控制器102。在控制器102處,將該數(shù)據(jù)頁的現(xiàn)有ECC與對讀取的數(shù)據(jù)計算的ECC的第二版本相比較。ECC通常包括用于快速檢測數(shù)據(jù)頁中的任何錯誤的錯誤檢測碼(“EDC”)。如果EDC指示在讀取的數(shù)據(jù)頁中存在任何錯誤,則調用ECC來校正在讀取的數(shù)據(jù)頁中的出錯位。可以設計ECC來校正任何數(shù)量的錯誤位。其需要校正的位越多,該ECC將越復雜且越多計算量。為了質量保證,基于在存儲器器件的壽命末期(“EOL”)的預期最差情況單元錯誤率(“CER”)來設計傳統(tǒng)ECC。因此,它們需要校正高達統(tǒng)計錯誤總體的遠在尾端的最大數(shù)量的錯誤位。圖10A示出全體的百分比在各種范圍的標準偏差σ的錯誤率的正態(tài)分布。例如,總體的僅2.1%位于從2σ到3σ的范圍內??傮w的僅0.1%位于從3σ到4σ的范圍內。圖10B圖示表格格式的圖10A的分布??梢钥闯?,總體中的僅E-09或十億分之一超出6σ。在該表格中的最后列示出了最差情況下的示例存儲器器件的估計錯誤率。例如,總體的5%將具有1個錯誤位,總體的0.135%將具有4個錯誤位,且總體的十億分之一將具有42個錯誤位??紤]125個存儲卡的樣本。每個卡具有16GB的容量,每個數(shù)據(jù)頁2KB。這達到每個頁為2KB的十億頁的總數(shù)。為了保證125個存儲卡的樣本中沒有一個頁將在卡的壽命末期具有錯誤,將需要能夠校正高達42位的ECC。在存儲器的壽命期間的錯誤如上所述,通常設計ECC來校正預計的在存儲器的可用壽命期間的任何錯誤。這些錯誤來自于大量源。圖11是列出快閃存儲器的主要錯誤源的表格。圖11(A)示出作為在寫入頁之后出現(xiàn)的位錯誤的來自寫入后的錯誤EPW(NCYC)的第一源。在快閃存儲器中,“編程”指將單元的閾值從已擦除狀態(tài)增加的處理。該術語將與“寫入”可交換地使用。錯誤率隨著編程-擦除循環(huán)的數(shù)量NCYC而增加。在數(shù)據(jù)已被寫到單元之后,盡管通過了驗證操作,但是數(shù)據(jù)可能仍然由于兩個原因而出錯。寫之后的錯誤的第一原因是由于未被驗證操作檢測到的過編程(over-programming)。當要同時編程多個存儲器單元時可能發(fā)生過編程。這是因為由于包括存儲器單元的半導體器件的結構和操作中的小變化,每個存儲器單元的特征不同;因此,通常將出現(xiàn)不同單元的編程速度方面的變化。這導致比其他更快地變?yōu)橐丫幊痰拇鎯ζ鲉卧?,且導致一些存儲器單元將被編程到與意圖的不同狀態(tài)的可能性。多個存儲器單元的更快編程可能導致過沖(over-shooting)期望的閾值電壓電平范圍,產(chǎn)生被存儲的數(shù)據(jù)中的錯誤。通常,當正編程數(shù)據(jù)時,該器件的編程-驗證處理將檢查存儲器單元的編程的閾值電壓是否高于將當前狀態(tài)與相鄰較低編程狀態(tài)相分界的參考電平。但是,編程-驗證不知道該編程的閾值電壓高于該參考電平多少。因此,器件通常不保證對閾值電壓的上限。一些器件進行檢查來查看軟編程處理(以下描述)是否將閾值電壓升高得太高;但是,這些器件不進行檢查來查看常規(guī)編程處理是否將閾值電壓升高得太高。因此,將閾值電壓升高得超出期望狀態(tài)的范圍的過編程可能不被察覺地發(fā)生。過編程可能導致存儲器單元過沖到下一已編程狀態(tài),且因此存儲不正確的數(shù)據(jù)。將在隨后的讀取操作中檢測到該錯誤,其中,通常相對于分界給定存儲器狀態(tài)的閾值范圍的下限和上限來檢查單元的編程的閾值??梢栽诿绹鴮@?,321,699、5,386,422、5,469,444、5,602,789、6,134,140、6,914,823和6,917,542號中找到關于過編程的更多信息。寫之后的錯誤的第二原因在于由于存儲元件之間的場耦合而導致的在存儲的電荷電平中的明顯偏移。該耦合的程度必然隨著存儲器單元陣列的尺寸降低而增加,這由于集成電路制造技術的改進而發(fā)生。該問題在已在不同時間被編程的兩組相鄰單元之間最明顯地發(fā)生。一組單元被編程以向對應于一個數(shù)據(jù)集的其存儲元件添加一個水平的電荷。在用第二數(shù)據(jù)集編程第二組單元之后,由于電荷對與第一組存儲元件電容性耦合的第二組存儲元件的影響,因此從第一組單元的存儲元件讀取的電荷電平通常顯得與已編程的不同。具體地,當被感測時,存儲器單元將顯得具有比其更少擾動時更高的閾值電平(或被更多編程)。這也已知為Yupin效應,且這在美國專利第5,867,429號中描述,該專利通過全部引用被合并于此。該專利描述了物理地相互隔離兩組存儲元件,或考慮當讀取第一組存儲元件時電荷對第二組存儲元件的影響。圖11(B)示出作為由于在EOL處的數(shù)據(jù)保留而導致的位錯誤的錯誤EDR(T,NCYC)的第二源。該錯誤率隨著溫度T和編程-擦除循環(huán)的數(shù)量NCYC而增加。該數(shù)據(jù)錯誤是由于該器件的歷史。其通常涉及依賴于對環(huán)境、例如溫度的存儲器器件暴露的數(shù)據(jù)保留問題。隨著時間,實際存儲的電荷水平可能緩慢地泄漏掉,使得編程的閾值降低。隨著在每個存儲器單元中存儲的狀態(tài)的數(shù)量增加,對存儲元件上的已編程電荷電平的任何偏移的容忍度降低。由于隨著在每個存儲器單元存儲元件上存儲的狀態(tài)的數(shù)量增加,必然使得為每個存儲狀態(tài)設計的電荷的范圍更窄并被放置得更靠近地在一起,所以必須以增加的精確度來進行編程,且降低可以容忍的在存儲電荷電平的任何編程后偏移的程度。當編程和讀取一個單元時以及當讀取、編程和擦除具有與該單元的某程度的電耦合的其他單元、比如相同列或行中的其他單元和共享一個線或節(jié)點的其他單元時,可以創(chuàng)建對在該單元中存儲的電荷的實際干擾。圖11(C)示出作為由于讀取干擾而導致的位錯誤的錯誤ERD(NR,NCYC)的第三源。該錯誤率隨著讀取的數(shù)量和編程-擦除循環(huán)的數(shù)量NCYC而增加。對快閃存儲器的一個重要考慮是隨著其使用老化,其具有耐用性問題。當重復編程和擦除一個單元時,通過對電介質遂穿,電荷在浮置柵極20中來回進出。每次一些電荷可能變得被捕獲在電介質中,且將修改單元的閾值。通過循環(huán)計數(shù)NCYC(也已知為“熱計數(shù)”)來測量單元已經(jīng)歷的編程-擦除循環(huán)的數(shù)量。通過重復循環(huán),對于給定的擦除塊,NCYC的值增加,使得該塊中的單元的閾值窗逐漸變窄。因此,編程-擦除循環(huán)效應將顯著影響圖11中列出的所有錯誤源。圖12是示出在示例存儲器器件的壽命的初期和末期該器件的估計的總錯誤的表格。圖12(A)示出來自圖11(A)到圖11(C)中列出的三個源的總錯誤為ETOT(NCYC,NR)=EPW(NCYC)+EDR(T,NCYC)+ERD(NR,NCYC)。圖12(B)示出當該存儲器相對較新(低NCYC)但已在85℃下烘烤了5年且已經(jīng)被讀取106次時的估計ETOT。對各個分量錯誤的估計是:EPW(1)~3,EDR(85℃,1)~2,且ERD(1M,1)~0。這些產(chǎn)生了總的估計錯誤ETOT(1,1M)=3+2+0=5位。圖12(C)示出了當存儲器接近器件的壽命末期(“EOL”)時的估計ETOT。其特征為高編程-擦除循環(huán)(NCYC=10K),其他參數(shù)類似于圖12(B)的參數(shù)。對各個分量錯誤的估計是EPW(10K)~10,EDR(85℃,10K)~10,且ERD(1M,10K)~1。這些產(chǎn)生了總的估計錯誤ETOT(10K,1M)=10+10+1=21位。在圖11和圖12中描述的三個錯誤源中,通常,由于讀取干擾而導致的錯誤ERD不如由于寫入導致的錯誤EPW和由于數(shù)據(jù)保存而導致的錯誤EDR顯著??梢酝ㄟ^周期性地在“讀清洗(readscrub)”操作中刷新單元的閾值電平來減少數(shù)據(jù)保留錯誤。為了校正可能在存儲器中出現(xiàn)的各種錯誤,尤其是在寫之后出現(xiàn)的錯誤,使用EEC(先前結合圖9描述)。但是,使用ECC校正錯誤將消耗處理時間,且其需要校正的位越多,需要的計算時間越多。通過使用能夠校正大量錯誤位的強ECC,存儲器性能被降低??梢詫嵤┝硗獾膶S糜布碓诤侠頃r間量內來進行ECC。這種專用硬件可能在控制器ASIC芯片上占據(jù)相當量的空間。圖13是圖示傳統(tǒng)的ECC必須被設計來校正最差情況總錯誤ETOT的表格。這將是具有高編程-擦除循環(huán)計數(shù)和數(shù)據(jù)保持規(guī)范的在壽命末期的器件。對于在圖12(C)給出的例子,ECC必須能夠校正至少21個錯誤位。從較高密度存儲器部分向較低錯誤率存儲器部分適應性重寫數(shù)據(jù)來控制錯誤率根據(jù)本發(fā)明的一般方面,具有存儲器單元的陣列的快閃存儲器被配置有第一部分和第二部分。該第二部分以更高密度存儲數(shù)據(jù),但用比第一部分更小的錯誤余量來操作。為了有效存儲,數(shù)據(jù)被寫到第二部分。然后,該數(shù)據(jù)被讀回以檢查過量的錯誤位。如果錯誤位超過了預定量,則該數(shù)據(jù)被重寫到更少錯誤傾向的第一部分。這對由于將數(shù)據(jù)寫到存儲器而產(chǎn)生的錯誤位的最大數(shù)量施加了限制。在錯誤率的統(tǒng)計分布中,該限制表示對該分布的數(shù)量標準偏差的限制,以便可以忽略(具有更高錯誤率的)分布的遠尾端。這允許設計更小和更有效的錯誤校正碼(“ECC”)用于校正較少數(shù)量的錯誤位,由此改善存儲器的性能并降低成本。圖14A圖示根據(jù)本發(fā)明的優(yōu)選實施例的被劃分為兩個部分的存儲器陣列。存儲器單元的陣列200被劃分為第一部分410和第二部分420。第二部分420具有被配置為高密度存儲的存儲器單元,每個單元存儲多位的數(shù)據(jù)。第一部分410具有被配置為較低密度存儲的存儲器單元,每個單元存儲比第二部分更少數(shù)量的位。例如,相比于第二部分中的3位數(shù)據(jù),第一部分中的存儲器單元被配置以存儲1位數(shù)據(jù)。鑒于先前的討論,第一部分將以比第二部分寬得多的錯誤余量來操作。因此,第一部分中的存儲器操作將具有比第二部分中的更少的錯誤。題為“SelectiveOperationofaMulti-stateNon-volatileMemorySysteminaBinaryMode”的美國專利號第6,456,528號公開了一種快閃非易失性存儲器,具有通常在多于兩個狀態(tài)中操作的存儲器單元,但所選的存儲器單元僅在兩個狀態(tài)中操作,以便在兩狀態(tài)操作期間提供增加的余量。這允許在兩個狀態(tài)中操作的存儲器單元的更快的編程和更長的操作壽命,此時比起多狀態(tài)操作提供的數(shù)據(jù)存儲器的增加密度,更期望具有這些優(yōu)點。US6,456,528的整個公通過參考合并于此。當要向存儲器陣列200寫入到來的數(shù)據(jù)頁時,為了效率和高容量,優(yōu)選其被存儲在高密度的第二部分中。因此,該數(shù)據(jù)頁的第一復制本被寫到第二部分。稍后,在“寫入后讀取”中讀回該數(shù)據(jù)頁的第一復制本以確定是否存在任何錯誤。這通過與可能被緩存的原始復制本的比較或通過檢查ECC的EDC部分來實現(xiàn)。確定在讀取的復制本中的錯誤位的數(shù)量是否超出了預定量。如果錯誤位的數(shù)量沒有超出預定量,則在第二部分中存儲的第一復制本被認為有效。對數(shù)據(jù)頁的隨后讀取將來自于第二部分中的第一復制本,且將由控制器處的ECC來校正任何錯誤。如先前結合圖11所述的,在編程期間的驗證處理僅檢查欠編程(under-programming)而不檢查過編程。因此,在已經(jīng)編程-驗證了數(shù)據(jù)頁之后可能仍然存在錯誤。將采取針對所有分界電平的讀操作(見圖7和圖8)來檢測該數(shù)據(jù)頁中的任何錯誤。另外,相鄰單元的隨后編程的Yupin效應可能干擾所考慮的數(shù)據(jù)頁,且偏移視在的感測結果。因此,讀回應該至少在可能對當前數(shù)據(jù)頁具有顯著Yupin影響的所有相鄰單元的編程之后。在另一實施例中,讀回是在包含所考慮的數(shù)據(jù)頁的塊中的所有單元都結束編程之后。在美國專利第6,914,823、6,917,542和7,009,889號中也公開了“寫入后讀取”,它們的全部公開通過參考合并于此。圖14B圖示將數(shù)據(jù)頁的第二復制本重寫到圖14A的存儲器陣列的第一部分中。在寫入后讀取檢測到數(shù)據(jù)頁中的錯誤位的數(shù)量已經(jīng)超過預定量之后,該數(shù)據(jù)頁的第二復制本被重寫到第一部分。該第二復制本是可能被緩存的或在另一實施例中通過取得第一復制本并用ECC校正錯誤位的原始數(shù)據(jù)的第二復制本。在第二復制本被寫到第一部分之后,其將替換第二部分中的第一復制本而作為有效復制本。第一復制本將變?yōu)閺U棄的,且在控制器(見圖1)的固件中實現(xiàn)的塊管理系統(tǒng)中的目錄將被更新到對第二復制本的直接的隨后訪問。在一個優(yōu)選實施例中,第一部分使每個存儲單元存儲一位數(shù)據(jù),且第二部分使每個存儲單元存儲多于一位數(shù)據(jù)。圖15是圖示根據(jù)圖14A和圖14B中描述的實施例的寫入后讀取和適應性重寫的處理的流程圖。步驟500:將存儲器配置為第一和第二部分,第一部分具有用比第二部分的錯誤余量更大的錯誤余量來操作的存儲器單元。步驟510:將一組輸入數(shù)據(jù)的第一復制本編程在第二部分中。步驟520:在預定時間之后從第二部分中讀取第一復制本以檢查錯誤。步驟530:錯誤超出了預定數(shù)量的錯誤位?如果是,前進到步驟540。否則,前進到步驟550。步驟540:將該組輸入數(shù)據(jù)的第二復制本編程在第一部分中。步驟550:標識最后寫入的復制本作為有效數(shù)據(jù)用于隨后的讀取。步驟560:該組輸入數(shù)據(jù)完成存儲在非易失性存儲器中。在替換的實施例中,第一部分用作用于到來的數(shù)據(jù)的緩存,因此輸入數(shù)據(jù)的緩存復制本被編程到該緩存中。然后,該數(shù)據(jù)的第一復制本被編程到第二部分中。如果寫入后讀取沒有檢測到第一復制本中的過量錯誤,則第一復制本將被視為有效,且隨后的讀取將被導向訪問第一復制本。另一方面,如果寫入后讀取檢測到第一復制本中的過量錯誤,則在第一部分中的緩存的復制本將替換第二部分中的第一復制本而作為有效數(shù)據(jù)。該第一復制本將變?yōu)閺U棄的,且在控制器(見圖1)的固件中實現(xiàn)的塊管理系統(tǒng)中的目錄將更新為對緩存的復制本的直接隨后訪問。題為“Multi-stateNon-volatileFlashMemoryCapableofBeingitsOwnTwoStateWriteCache”的美國專利第5,930,167號公開了具有兩個部分的快閃存儲器陣列。第一部分被配置為每單元存儲一位,且第二部分被配置為每單元存儲多于一位。第一部分擔當?shù)兔芏葘懭刖彺?。到來的?shù)據(jù)首先被緩存在該第一部分中。稍后,在后臺,緩存的數(shù)據(jù)被傳輸?shù)骄哂懈叽鎯γ芏鹊牡诙糠帧S5,930,167的整個通過參考合并于此。在優(yōu)選實施例中,第一部分進一步被提供有第一區(qū)塊(section)和第二區(qū)塊。到來的數(shù)據(jù)被緩存在第一部分的第一區(qū)塊中,且該數(shù)據(jù)的第一復制本被寫到第二部分。然后,第二部分中的第一復制本被讀回以檢查過量錯誤位。如果錯誤位超過預定量,則到來的數(shù)據(jù)的第二復制本被寫到第一部分的第二區(qū)塊。圖16A圖示根據(jù)本發(fā)明的優(yōu)選實施例的被劃分為兩個部分且第一部分被提供有緩存區(qū)塊和重寫區(qū)塊的存儲器陣列。如圖14A中,存儲器單元的陣列200被劃分為第一部分410和第二部分420。第二部分420具有被配置為高密度存儲器的存儲器單元,每個單元存儲多位數(shù)據(jù)。第一部分410具有被配置為較低密度存儲器的存儲器單元,每個單元存儲比第二部分更少數(shù)量的位。因此,第一部分用比第二部分更寬的錯誤余量來操作。第一部分410進一步被提供有用于緩存到來的數(shù)據(jù)的第一區(qū)塊411和用于存儲來自第二部分的重寫的第二區(qū)塊412。當要向存儲器陣列200寫入到來的數(shù)據(jù)頁時,緩存的復制本被緩存在第一部分410的第一區(qū)塊411中。為了效率和高容量,第一復制本優(yōu)選存儲在高密度的第二部分中。因此,該數(shù)據(jù)頁的第一復制本被寫到第二部分。根據(jù)另一優(yōu)選實施例,存儲器陣列被提供有在集成電路芯片上的數(shù)據(jù)鎖存器集,通過將第一復制本和緩存的復制本加載到該數(shù)據(jù)鎖存器集中并在該數(shù)據(jù)鎖存器集處進行比較來實現(xiàn)對第一復制本中的錯誤位的檢查。通過不在控制器處進行比較,數(shù)據(jù)無須被切出到控制器,因此可以節(jié)省很多時間。圖1示出用于進行數(shù)據(jù)比較的在芯片上的數(shù)據(jù)鎖存器430。圖16B圖示根據(jù)寫入后讀取的優(yōu)選實施例的頁比較技術。在“寫入后讀取”中讀回第二部分中的數(shù)據(jù)頁的第一復制本來確定是否存在任何錯誤。這通過與緩存的復制本相比較來實現(xiàn)。如果錯誤位的數(shù)量沒有超出預定量,則在第二部分中存儲的第一復制本被認為有效。緩存的復制本將變?yōu)閺U棄的,且在控制器(見圖1)的固件中實現(xiàn)的塊管理系統(tǒng)中的目錄將更新到對該第一復制本的直接隨后訪問。對數(shù)據(jù)頁的隨后讀取將來自于第二部分中的第一復制本,且將在控制器處通過ECC來校正任何錯誤。圖16C圖示在寫入后讀取已確定在第二部分中的數(shù)據(jù)頁中的過量錯誤之后對第一部分的重寫。在寫入后讀取檢測到第一復制本的數(shù)據(jù)頁中的錯誤位的數(shù)量超過了預定量之后,該數(shù)據(jù)頁的第二復制本被重寫到第一部分410的第二區(qū)塊412。第二復制本取自緩存的復制本。在第二復制本已被寫到第一部分的第二區(qū)塊412之后,其將替換第二部分中的第一復制本。第一復制本和緩存的復制本將變?yōu)閺U棄的,且在控制器(見圖1)的固件中實現(xiàn)的塊管理系統(tǒng)中的目錄將被更新為對第二復制本的直接隨后訪問。圖17是圖示根據(jù)圖16A到圖16C中描述的實施例的寫入后讀取和適應性重寫的處理的流程圖。步驟600:將存儲器配置為第一和第二部分,該第一部分具有用比第二部分的錯誤余量更大的錯誤余量來操作的存儲器單元。步驟602:將一組輸入數(shù)據(jù)的緩存的復制本編程在第一部分的第一區(qū)塊中。步驟610:將該組輸入數(shù)據(jù)的第一復制本編程在第二部分中。步驟620:在預定時間之后從該第二部分中讀取第一復制本以檢查錯誤。步驟630:錯誤超出了預定數(shù)量的錯誤位?如果是,繼續(xù)到步驟632。否則,繼續(xù)到步驟650。步驟632:從第一部分的第一區(qū)塊中讀取該組輸入數(shù)據(jù)的緩存的復制本。步驟642:將緩存的復制本作為該組輸入數(shù)據(jù)的第二復制本編程在第一部分的第二區(qū)塊中。步驟650:標識最后寫入的復制本作為有效數(shù)據(jù)用于隨后的讀取。步驟660:該組輸入數(shù)據(jù)完成存儲在非易失性存儲器中。為了例示和描述的目的已經(jīng)呈現(xiàn)了對本發(fā)明的以上詳細描述。不意圖窮舉本發(fā)明或將其限制到所公開的精確形式。考慮到上述教導,許多修改和變化是可能的。選擇所描述的實施例以便最佳地說明本發(fā)明的原理和其實際的應用,從而使得本領域技術人員能夠在各種實施例中以及通過適合于所構思的具體用途的各種修改來最佳地使用本發(fā)明。意圖本發(fā)明的范圍由附于此的權利要求限定。增強的寫入后讀取錯誤管理在本發(fā)明的另一方面,實現(xiàn)增強的寫入后讀取錯誤管理。在存儲器器件的壽命初期不使能寫入后讀取。在壽命初期存儲器器件的錯誤率非常低,且不需要操作寫入后讀取。這避免浪費時間來進行寫入后讀取。由于存儲器器件通過使用而老化,在器件的預定年齡時使能本發(fā)明的增強的寫入后讀取和錯誤管理。在優(yōu)選實施例中,通過隨存儲器單元的每個擦除塊維持的熱計數(shù)來確定存儲器器件的年齡。該熱計數(shù)跟蹤耐用性和該擦除塊通過擦除和編程操作而被循環(huán)的次數(shù)。無論何時擦除塊的熱計數(shù)超過預定熱計數(shù)閾值時,增強的寫入后讀取錯誤管理將開始并操作直到存儲器器件的壽命末期。圖18圖示被組織為擦除塊的存儲器。如結合圖6先前描述的,每個擦除塊是一起被擦除的一組存儲器單元。也如先前描述的,當重復編程和擦除一個單元時,通過遂穿電介質,電荷在浮置柵極20(見圖2)中來回進出。每次一些電荷可能變得被捕獲在電介質中,且將修改單元的閾值。通過循環(huán)計數(shù)NCYC(也已知為“熱計數(shù)”)來測量單元已經(jīng)歷的編程-擦除循環(huán)的數(shù)量。通過重復循環(huán),對于給定的擦除塊,NCYC的值增加,該塊中的單元的閾值窗逐漸變窄。圖18圖示其中在每個擦除塊(m)中維持熱計數(shù)NCYC(m)302的優(yōu)選實施例。由于可編程的單元是一頁,因此每個塊的熱計數(shù)可以存儲在圖9所示的數(shù)據(jù)頁70'的系統(tǒng)數(shù)據(jù)區(qū)中?;蛘撸瑹嵊嫈?shù)可以存儲在存儲器中的主控列表中。每次擦除一個塊,其熱計數(shù)遞增一。圖19是圖示當存儲器器件已老化到由該熱計數(shù)確定的預定程度時被使能的錯誤管理的流程圖。步驟700:提供被組織為存儲器單元的擦除塊的非易失性存儲器,其中,每個擦除塊的存儲器單元一起被擦除,且隨每個塊的擦除/編程循環(huán)的數(shù)量而老化。步驟710:提供用于校正與老化的存儲器器件相關的錯誤的錯誤管理。在優(yōu)選實施例中,該錯誤管理是先前描述的寫入后讀取的錯誤管理。步驟720:通過維持記錄了每個塊經(jīng)歷的擦除/編程循環(huán)的數(shù)量的熱計數(shù)來跟蹤每個塊的年齡。步驟730:存儲器塊的熱計數(shù)>預定熱計數(shù)閾值?在優(yōu)選實施例中,該預定熱計數(shù)閾值由存儲器中存儲的文件系統(tǒng)配置文件中的參數(shù)Hot_count_threshold_EPWR給出(見圖21)。如果大于,則前進到步驟740,否則前進到步驟750。步驟740:對存儲器的剩余壽命使能該錯誤管理。步驟750:仍不使能該錯誤管理。在本發(fā)明的另一方面的優(yōu)選實施例中,存儲器的高密度存儲部分(D3)具有每個存儲3位數(shù)據(jù)的存儲器。存儲器的更低錯誤傾向的低密度存儲部分(D1)具有每個存儲1位數(shù)據(jù)的存儲器單元。輸入的數(shù)據(jù)首先被階段性存儲在D1中,且隨后被折疊(fold)到D3中。當增強的寫入后讀取錯誤管理被使能時,讀回D3中當前的填充的塊;且如果錯誤率超過預定閾值,則當前D3塊被拒絕,且進行重試,數(shù)據(jù)被重新折疊到新的D3塊中。再次讀回該新D3塊,且檢查該新D3塊的過量錯誤率。如果新D3塊通過了,則其具有良好的數(shù)據(jù),且使得D1中的原始數(shù)據(jù)廢棄。如果新D3塊再次示出過量錯誤率,則再次丟棄該新D3塊。如果在預定數(shù)量的重試之后過量錯誤率仍持續(xù),則不試圖進行進一步的重試,且放棄D1到D3折疊操作,原始數(shù)據(jù)保持在D1處。此時,該存儲器器件被認為太老而不適于進一步的編程操作,且使得該存儲器器件只讀,以保留存儲器器件中存儲的現(xiàn)有數(shù)據(jù)的完整性。圖20A-20C圖示在被配置有D1和D3部分的存儲器中實施寫入后讀取錯誤管理的各種例子。在Gorobets等人在2009年12月18日提交的題為"MAINTAININGUPDATESOFMULTI-LEVELNONVOLATILEMEMORYINBINARYNON-VOLATILEMEMORY"的美國申請?zhí)?2/642,584中也公開了被配置有D1和D3部分的存儲器;其整個公開通過參考合并于此。圖20A圖示根據(jù)本發(fā)明的優(yōu)選實施例的被劃分為兩個部分的存儲器陣列。存儲器單元的陣列200(見圖1)被劃分為第一部分410和第二部分420。第二部分420具有被配置為高密度存儲的存儲器單元,每個單元存儲多位數(shù)據(jù)。第一部分410具有被配置為較低密度存儲的存儲器單元,每個單元存儲比第二部分更少數(shù)量的位。例如,第一部分中的存儲器單元被配置以存儲1位數(shù)據(jù),相比于第二部分中的3位數(shù)據(jù)。每個單元存儲1位數(shù)據(jù)的第一部分也將被稱為D1,且每個單元存儲3位數(shù)據(jù)的第二部分被稱為D3。鑒于先前的討論,第一部分將以比第二部分寬得多的錯誤余量來操作。因此,第一部分中的存儲器操作將具有比第二部分中更少的錯誤。在一個實施例中,第一部分410或D1進一步劃分為第一區(qū)塊411和第二區(qū)塊412。在步驟(1)中,在主機寫入期間,輸入數(shù)據(jù)首先被緩存在第一區(qū)塊411中或直接被寫到第二區(qū)塊412。如果該輸入數(shù)據(jù)被分段,則其首先被緩存在第一區(qū)塊中。如果該輸入數(shù)據(jù)是實質的一系列相繼數(shù)據(jù),則其被逐頁直接寫到第二區(qū)塊412中。在步驟(2)中,在任何情況下,輸入數(shù)據(jù)最終結束在第二區(qū)塊412中,其中寫入的頁被階段性存儲在虛擬D1塊中,比如塊m.1、m.2和m.3中。在其中每個塊包含來自明確定義的一組邏輯地址的數(shù)據(jù)的方案中,虛擬塊可能不對應于物理塊,但仍具有被分布在若干物理D1塊上的該組邏輯地址。在步驟(3)中,隨著數(shù)據(jù)逐頁被寫到D1中,當三個二進制頁在D1中時,其可以被復制到D3中的單個3位頁,這也稱為從D1到D3的折疊。通過實施增強的寫入后讀取錯誤管理(“EPWR”),在存儲器壽命時間的某時,寫入后讀取錯誤管理將開始。在步驟(4)中,在虛擬D1塊m.1、m.2和m.3的完整頁已被折疊到D3塊m中之后,D3塊m完成。然后,可以通過EPWR處理它,其中,D3塊中的數(shù)據(jù)被讀回且被檢查ECC錯誤。如果ECC錯誤的數(shù)量小于如由在文件系統(tǒng)配置文件中設置的參數(shù)E_pw_check給出的那樣的預定閾值,則在D3塊中的數(shù)據(jù)被認為是有效的。然后,對應的D1頁可以被安全替換且退休。圖20B圖示其中圖20A的D3塊未通過寫入后讀取的測試的另一例子。步驟(1)到步驟(3)與圖20A相同。在步驟(4')中,當D3塊中的數(shù)據(jù)被讀回時,發(fā)現(xiàn)ECC錯誤的數(shù)量大于E_pw_check。這意味著在D3中的數(shù)據(jù)至多是臨界的(marginal),且不能被使用。在步驟(5)中,在現(xiàn)有D3塊未通過寫入后讀取測試的情況下,EPWR通過將數(shù)據(jù)折疊到新D3塊中來指定重試。在步驟(6)中,新D3塊中的數(shù)據(jù)經(jīng)歷另一寫入后讀取測試。如果其通過了該測試,則新D3塊中的數(shù)據(jù)被視為有效。然后,對應的D1頁可以被安全替換且退休。圖20C圖示其中圖20B的新D3塊再次未通過寫入后讀取測試的另一例子。步驟(1)到步驟(5)與圖20B相同。在步驟(6')中,當新D3塊中的數(shù)據(jù)被讀回時,發(fā)現(xiàn)ECC錯誤的數(shù)量大于E_pw_check。這意味著在重試的D3塊中的數(shù)據(jù)仍不良好,且不能被使用。EPWR處理可以指定對另一D3塊的進一步重試。重試的數(shù)量由文件系統(tǒng)配置文件中的參數(shù)EPWR_retries來設置。例如,如果EPWR_retries為1,則在新塊未通過該測試之后該處理將結束。在該情況下,在步驟(7)中,不能使用新D3塊,而是文件系統(tǒng)將直接訪問存在于D1中的對應數(shù)據(jù)。圖21是圖示與增強的寫入后讀取管理相關的示例參數(shù)的表格。該表格優(yōu)選地被維持在存儲器中存儲的文件系統(tǒng)配置文件中。E_pw_check——在文件系統(tǒng)配置文件中設置的變量,用于指定在ECC位水平的哪個#,D3塊被認為是高風險的,且需要重新開始到新D3塊的D1到D3折疊。ECC_threshold_SLC——用于維持相對其來比較的SLC閾值以便決定是否繼續(xù)EPWR所需的在文件系統(tǒng)配置文件中的變量。EPWR_enable_flag——在文件系統(tǒng)配置文件中控制。0=不設置(缺省);1=當使能EPWR時設置。Hot_count_enable_flag——0=不被使能;1=被使能。Hot_count_threshold_EPWR——在文件系統(tǒng)配置文件中設置的變量,用于指定在什么熱計數(shù)水平,需要EPWR。如果所有D3塊的熱計數(shù)<熱計數(shù)閾值,則即使EPWR使能標記是被使能,也不觸發(fā)EPWR處理。EPWR_verify_page_budget——在文件系統(tǒng)配置文件中設置的變量,用于指定可以在EPWR的1階段期間讀取多少頁。EPWR_retries——用于限制重試的數(shù)量的在文件系統(tǒng)配置文件中的變量。D3_Block_max_retries——用于限制在壽命時間期間對D3塊的重試的總數(shù)的在在文件系統(tǒng)配置文件中的變量。圖22A是圖示應用于具有D1到D3折疊的存儲器的EPWR錯誤管理的優(yōu)選實施方式的流程圖。步驟800:開始。步驟810:D1到D3折疊,其中,來自D1的三個二進制數(shù)據(jù)頁的數(shù)據(jù)被編程到D3的一個第三頁(tertiarypage),如結合圖20A描述的。步驟812:完全填充了D3塊?如果完全填充了,則繼續(xù)到步驟820,否則返回到步驟810。步驟820:增強的寫入之后讀取錯誤管理(“EPWR”)被使能?在圖22B中給出了取決于器件年齡的使能的更多細節(jié)。如果EPWR被使能,則在步驟830處理EPWR。如果不是,寫入的D3塊的完整性未知,但樂觀地假設為良好。繼續(xù)到步驟850。步驟830:處理EPWR。在圖22C中給出了EPWR的更詳細實施方式。步驟840:主要在較高級別處,EPWR進行D3塊的寫入后讀取以及ECC錯誤率的測試。如果錯誤不超過E_pw_check(見圖21),則D3塊是良好的。繼續(xù)到步驟850。否則,D3塊中的數(shù)據(jù)不能被使用,且考慮將D1數(shù)據(jù)折疊到新D3塊的重試。繼續(xù)到步驟860。步驟850:D3塊被視為良好的,因此,可以使得D1中的數(shù)據(jù)的原始復制本廢棄且退休。步驟860:基于圖22C中詳細的多個考慮來決定是否對新D3塊重試。如果不允許重試,則繼續(xù)到步驟870。否則,繼續(xù)到步驟862(如圖22C所示)。步驟862:對新D3塊重復D1到D3折疊。返回處理另一塊。步驟870:在D3塊中的數(shù)據(jù)被視為壞的,因此必須從D1中的原始復制本中訪問數(shù)據(jù)。步驟872:由于在試圖重寫D3塊時的大量不成功重試之后到達該步驟,因此該存儲器被視為接近其壽命末期。其被置于只讀狀態(tài)以防止由于編程操作而造成的任何數(shù)據(jù)訛誤。繼續(xù)到步驟890。步驟890:完成。圖22B更詳細地圖示增強的寫入后讀取錯誤管理的取決于器件年齡的使能特征。在圖22B中示出圖22A中的步驟820進一步包括以下:步驟822:檢查EPWR_emable_flag(見圖21)是否被使能。如果未被使能,則完全沒有實現(xiàn)EPWR。缺省繼續(xù)到步驟850,其中,D3塊被視為良好。如果被使能,繼續(xù)到步驟824以控制在存儲器器件的某些老化之后是否應該開始EPWR。步驟824:檢查Hot_count_enable_flag(見圖21)是否被使能。如果未被使能,從存儲器器件的壽命初期實現(xiàn)EPWR。直接繼續(xù)到步驟830來處理EPWR。如果該標記被使能,繼續(xù)到步驟826,其控制EPWR應該何時開始。步驟826:檢查D3塊中的任何一個是否具有超出Hot_count_threshold_EPWR中的值的熱計數(shù)。如果未超過,則該存儲器器件仍然較新(young),且不易于出現(xiàn)過量錯誤,繼續(xù)到步驟850,且基本上EPWR被暫緩(onhold)。如果熱計數(shù)超過該閾值,則當錯誤變得明顯時,存儲器器件到達年齡,且將得益于EPWR處理。繼續(xù)到步驟830來處理EPWR。圖22C更詳細地圖示在增強的寫入后讀取錯誤管理的優(yōu)選實施方式。在圖22C中示出了圖22A中的步驟830進一步包括以下:步驟832:檢查是否存在可用于進行D3塊的寫入后讀取和可能的重試的處理時間。優(yōu)選地,在先前中,從在前臺執(zhí)行主機命令期間的未使用的時間中取得可用時間。如果有必要,該處理可以被分割為更小的組塊(chunks)以便更好地利用在每個主機命令期間的空閑時間。如果存在開始該處理的可用時間,則繼續(xù)到步驟834,否則,繼續(xù)到步驟838。步驟834:開始該處理,或如果該處理已經(jīng)開始但在中間(interim)被中斷,繼續(xù)該處理。步驟836:從D3讀取并轉移出數(shù)據(jù)頁到控制器,用于檢查EDC(錯誤檢測碼)。繼續(xù)到步驟838。步驟840:EPWR進行D3塊的寫入后讀取以及ECC錯誤率的測試。如果錯誤不超過E_pw_check(見圖21),則D3塊中被測試的頁是良好的。繼續(xù)到步驟842。如果該頁被測試為壞的,則D3塊中的數(shù)據(jù)不能被使用,且考慮將D1數(shù)據(jù)折疊到新D3塊的重試。繼續(xù)到步驟864。步驟842:D3塊中的所有頁都已被測試?如果不,則繼續(xù)到步驟844來處理下一頁。如果整個塊被測試為良好,則繼續(xù)到步驟850。步驟844:選擇在D3塊中的下一頁。返回到步驟836。步驟862:在試圖重試之前,檢查重試的數(shù)量是否超過設置的限制EPWR_retries(見圖21)。如果未超過,則通過繼續(xù)到步驟866來嘗試重試。如果重試的數(shù)量超過了設置的限制,則存儲器器件被視為在壽命末期,且控制繼續(xù)到步驟870。步驟866:在嘗試重試之前的另一考慮是檢查過量錯誤是否是D1中的數(shù)據(jù)固有的而不是由于從D1到D3的編程錯誤而導致的。首先檢查D1數(shù)據(jù)的過量ECC錯誤。如果錯誤的數(shù)量超過預定閾值,比如ECC_threshold_SLC(見圖21),則重試沒有意義。返回步驟834來處理另一D3塊。但是,相反,如果實現(xiàn)以下描述的可選特征,則相反繼續(xù)到可選的步驟868。另一方面,如果D1數(shù)據(jù)是良好的,在步驟869中繼續(xù)嘗試重試另一D3塊。在另一實施例中,在步驟862之前進行步驟866。圖22C還圖示了由具有虛線的框指示的可選特征。由步驟864和865圖示用于檢查塊是否在其壽命時間期間經(jīng)歷了太多的重試的一個選項。如果是,則該塊的物理完整性可能是有問題的,并且最好使該塊退休以便其不再使用。當實施該選項時,從步驟862中的否開始的流程將進行到步驟864。步驟864:D3塊是否經(jīng)歷了多于參數(shù)Block_max_retires定義的閾值的重試。如果是,繼續(xù)到步驟865來退休該塊,否則,繼續(xù)到步驟866以便進行進一步的重寫決定。步驟865:D3塊在其壽命時間期間經(jīng)歷了太多重試而不被認為是強健的。其退休且從循環(huán)(circulation)中被拿出。然后,控制直接繼續(xù)到步驟869來重寫該D3塊。另一選項是,在D1數(shù)據(jù)不是很好的情況下,首先通過ECC對其校正,并在折疊到D3之前將其在D1中重新階段性存儲。當實施此選項時,從步驟866中的是開始的流程將進行到步驟868而不是834。步驟868:通過ECC來校正有問題的D1數(shù)據(jù),且在D1中重新階段性存儲。繼續(xù)到步驟869。加速的寫入后讀取先前的章節(jié)描述了在數(shù)據(jù)被寫入(也稱為“編程”)之后實際讀回該數(shù)據(jù)的技術。該技術被稱為“PWR”(寫入后讀?。?。根據(jù)先前描述的本發(fā)明的一個方面,PWR技術是增強的且稱為“EPWR”(增強的寫入后讀取)。在該情況下,僅當需要時啟動PWR操作。例如,僅在存儲器開始由于使用而發(fā)生更多錯誤之后開始PWR。這將減輕與PWR相關的一些管理開銷。根據(jù)本發(fā)明的另一方面,取代寫入后讀取每個存儲器單元來檢查寫入了什么,這可能消耗大量時間和系統(tǒng)資源,而僅對存儲器單元的小樣本進行寫入后讀取,該小樣本表示具有類似錯誤率的存儲器單元的群體(population)。當該樣本的寫入后讀取產(chǎn)生在預定值內的錯誤率時,該群體被認為通過了該檢查。否則,先前寫在該群體的單元上的數(shù)據(jù)被認為具有太多錯誤,且再次被重寫到相同區(qū)域中的不同位置或者具有固有的較低錯誤率的存儲器的另一區(qū)域。如先前描述,寫入后讀取檢查不同于作為編程操作的部分的一般編程驗證。在編程單元時,該單元經(jīng)歷逐脈沖的編程電壓。在每個脈沖之間,該單元的編程閾值與參考讀取閾值相比較。一旦檢測到該單元的閾值被編程超過該參考讀取閾值,就通過施加到該單元的位線的編程禁止電壓將該單元鎖定以不能進一步編程。因此,編程-驗證僅保證該單元是否已經(jīng)編程超過參考閾值,但不給出可能已發(fā)生的任何過編程的指示。對于MLC存儲器的讀取操作實際上檢查編程的閾值是否在一對參考閾值之間。在MLC存儲器中,每個單元存儲多于一位數(shù)據(jù)。例如,在D2存儲器中,每個單元存儲兩位數(shù)據(jù)。該單元所支持的閾值窗被參考閾值劃分為兩半。當單元的編程的閾值位于第一半中時,其具有一位的值,例如“1”,且當位于第二半中時,其具有另一位的值,例如“0”。類似地,在D3存儲器中,每個單元存儲三位數(shù)據(jù),且在D4存儲器中,每個單元存儲四位數(shù)據(jù)。通常,對于Dm存儲器,每個單元存儲m個位,且閾值窗被2m-1個參考閾值劃分為2m個電壓帶。使用編碼機制來給每個電壓帶分配m位碼字。2位或4狀態(tài)存儲器的示例優(yōu)選“LM”編碼圖23(0)-23(3)圖示用優(yōu)選的2位邏輯碼(“LM”碼)編碼的4狀態(tài)存儲器的邏輯逐頁編程。來自一頁的每個存儲器單元的2個碼位形成兩個邏輯頁,每頁從由該頁的每個存儲器單元貢獻的一個碼位中形成??梢酝ㄟ^較低頁之后較高頁的逐個邏輯頁地進行編程。該碼提供了容錯(fault-tolerance),且減輕了BL-BL浮置柵極耦合(Yupin)效應。圖23(0)圖示了4-狀態(tài)存儲器陣列的閾值電壓分布。每個存儲器單元的可能的閾值電壓跨度是閾值窗,該閾值窗被劃分為四個區(qū)域以界定四個可能的存儲器狀態(tài)“Gr”、“A”、“B”和“C”?!癎r”是接地狀態(tài),其是在收緊的分布內的已擦除狀態(tài),且“A”、“B”和“C”是三個逐漸編程的狀態(tài)。在讀取期間,這四個狀態(tài)通過三個分界參考閾值DA、DB和DC來界定。圖23(3)圖示了優(yōu)選的2-位LM編碼來表示四個可能的存儲器狀態(tài)。每個存儲器狀態(tài)(即“Gr”、“A”、“B”和“C”)分別由一對“較高、較低”碼位來表示,即“11”、“01”、“00”和“10”。該LM編碼不同于傳統(tǒng)格雷碼之處在于,對狀態(tài)“A”和“C”,較高和較低位被反轉?!癓M”碼已經(jīng)在美國專利號6,657,891中公開,且益處在于通過避免需要電荷的大改變的編程操作來減小相鄰浮置柵極之間的場效應耦合。如將在圖23(2)和23(3)中看到的,每個編程操作導致電荷存儲單元中電荷的溫和改變,如從閾值電壓VT的溫和改變而顯然的。設計該編碼以便2個碼位“較低”和“較高”位可以被分開編程和讀取。當編程較低位時,單元的閾值電平維持在閾值窗的“已擦除”區(qū)域中或者移動到閾值窗的“中下(lowermiddle)”區(qū)域。當編程較高位時,在這兩個區(qū)域的任一個區(qū)域中的單元的閾值電平被進一步提高到在閾值窗的“較低中間(lowerintermediate)”區(qū)域中的略高的電平。圖23(1)和23(2)圖示使用2位LM碼的較低頁編程。設計容錯LM代碼以避免任何隨后的較高頁編程經(jīng)任何中間狀態(tài)而過界(transit)。因此,如果較低位是“1”,則第一輪較低頁編程使得單元維持在“已擦除”或“Gr”狀態(tài),或者如果較低位是“0”,則該單元被編程到“較低中間”狀態(tài)。基本上,“Gr”或“接地”狀態(tài)是通過具有被編程到閾值的恰當定義的范圍內的深擦除狀態(tài)而具有收緊的分布的“已擦除”狀態(tài)?!拜^低中間”狀態(tài)可以具有跨立在存儲器狀態(tài)“A”和“B”之間的閾值電壓的寬分布。在編程期間,相對于諸如DA的粗略分界來驗證該“較低中間”狀態(tài)。圖23(2)和23(3)圖示使用2位LM碼的較高頁編程?;诘谝惠嗇^低頁編程來進行該較高頁編程。給定的較高位可以代表取決于較低位的值的不同存儲器狀態(tài)。在第二輪編程中,如果單元具有作為“1”的較高位,而較低位處于“1”,即(1,1),則不存在對該單元的編程,且該單元維持在“Gr”。如果較高位是“0”,而較低位處于“1”,即(0,1),則將該單元從“Gr”狀態(tài)編程到“A”狀態(tài)。在編程到“A”期間,相對于分界DVA進行驗證。另一方面,如果單元具有作為“0”的較高位,而較低位處于“0”,即(0,0),則將該單元從“較低中間”狀態(tài)編程到“B”。相對于分界DVB進行編程驗證。類似地,如果單元具有作為“1”的較高位,而較低位處于“0”,即(1,0),則該單元將從“較低中間”狀態(tài)編程到“C”。相對于分界DVC進行編程驗證。由于較高頁編程僅涉及從“Gr”狀態(tài)或“較低中間”狀態(tài)編程到下一相鄰存儲器狀態(tài),因此從一輪到另一輪沒有大量電荷更改。而且,設計從“Gr”到粗略的“較低中間”狀態(tài)的較低頁編程來節(jié)省時間。圖24A圖示辨別用2位LM碼編碼的4狀態(tài)存儲器的較低位所需的讀取操作。解碼將取決于較高頁是否已被編程。如果較高頁已被編程,則讀取較低頁將需要相對于分界閾值電壓DB的一遍讀?。╫nereadpass)readB。另一方面,如果還沒有編程較高頁,則較低頁將被編程到“中間”狀態(tài)(見圖23(2)),且readB將導致錯誤。然而,讀取較低頁將需要相對于分界閾值電壓DA的一遍讀取readA。為了區(qū)分這兩種情況,當正編程較高頁時,在較高頁中(通常在管理開銷或系統(tǒng)區(qū)域中)寫入標記(“LM”標記)。在讀取期間,首先將假設已經(jīng)編程了較高頁,因此將進行readB操作。如果讀取到LM標記,則該假設正確,且該讀取操作完成。另一方面,如果第一讀取沒有產(chǎn)生標記,這將指示較高頁還沒有被編程,因此將需要通過readA操作來讀取較低頁。圖24B圖示辨別用2位LM碼編碼的4狀態(tài)存儲器的較高位所需的讀取操作。如從圖中清楚的,較高頁讀取將需要2遍讀取,分別相對于分界閾值電壓DA和DC的readA和readC。類似地,如果較高頁還沒有被編程,則也可能由“中間”狀態(tài)混淆較高頁的解碼。再次,LM標記將指示是否編程了較高頁。如果還沒有編程較高頁,則讀取的數(shù)據(jù)將被復位到“1”,指示較高頁數(shù)據(jù)未被編程。如果該讀取如在“全序列”讀取或“所有位”讀取中那樣要掃描過界定的狀態(tài)的所有序列,則相對于分別由參考閾值電壓DA、DB和DC界定的存儲器狀態(tài)“Gr”、“A”、“B”和“C”來進行該讀取。由于通過全序列讀取來區(qū)分所有可能的狀態(tài),因此不需要檢查任何LM標記。在該讀取模式中,一起確定所有位。3位或8狀態(tài)存儲器的示例優(yōu)選“LM”編碼2位LM碼的例子可以類似地擴展到3位或更高數(shù)量的位。圖25(0)-25(4)圖示用優(yōu)選的3位邏輯碼(“LM”碼)編碼的8狀態(tài)存儲器的編程。來自一頁的每個存儲器單元的3位形成三個邏輯頁,且可以逐個邏輯頁地進行編程。該碼類似于先前描述的2位LM編碼,且其擴展為3位以編碼八個可能的存儲器狀態(tài)。圖25(0)圖示了8-狀態(tài)存儲器陣列的閾值電壓分布。每個存儲器單元的可能的閾值電壓跨度為閾值窗,該閾值窗被劃分為八個區(qū)域以界定八個可能的存儲器狀態(tài)“Gr”、“A”、“B”、“C”、“D”、“E”、“F”和“G”?!癎r”是接地狀態(tài),其是在收緊的分布內的已擦除狀態(tài),且“A”-“G”是七個逐漸編程的狀態(tài)。在讀取期間,這八個狀態(tài)由七個分界參考閾值DA–DG界定。圖25(4)圖示了優(yōu)選的3-位LM編碼以代表八個可能的存儲器狀態(tài)。這八個存儲器狀態(tài)的每個分別由“較高、中間、較低”的三個位來表示,即“111”、“011”、“001”、“101”、“100”、“000”、“010”和“110?!比鐚⒃趫D25(1)和25(4)中看到的,每個編程操作導致電荷存儲單元中電荷的溫和改變,如從閾值電壓VT的溫和改變而顯然的。設計該編碼以便3個碼位“較低”、“中間”和“較高”位可以被分開編程和讀取。因此,如果較低位是“1”,第一輪較低頁編程使得單元維持在“已擦除”或“Gr”狀態(tài),或者如果較低位是“0”,則該單元被編程到“較低中間”狀態(tài)?;旧?,“Gr”或“接地”狀態(tài)是通過具有被編程在閾值的窄范圍內的深擦除狀態(tài)而具有收緊的分布的"已擦除"狀態(tài)?!拜^低中間”狀態(tài)可以具有跨立在存儲器狀態(tài)“B”和“D”之間的閾值電壓的寬分布。在編程期間,可以相對于諸如DB的粗略分界參考閾值電平來驗證“較低中間”狀態(tài)。當編程中間位時,單元的閾值電平將從來源于較低頁編程的兩個區(qū)域之一開始,并移動到四個可能的區(qū)域之一。當編程較高位時,單元的閾值電平將從來源于中間頁編程的四個區(qū)域之一開始,并移動到八個可能的存儲器狀態(tài)之一。通常,并行編程一頁存儲器單元,每個存儲器單元具有3個位。因此,該頁存儲器單元可以被視為具有3個邏輯數(shù)據(jù)頁,每個邏輯數(shù)據(jù)頁由該頁的每個單元的一個碼位貢獻。因此,“較低位”頁由該頁的每個存儲器單元的較低位形成,且“中間位”頁由每個單元的中間位形成,且“較高位”頁由該頁的每個單元的較高位形成。圖25(1)和25(2)圖示使用3位LM碼的較低頁編程。設計容錯LM碼以避免任何隨后較高頁編程經(jīng)任何中間狀態(tài)而過界。因此,如果較低位是“1”,即(x,x,1),第一輪較低頁編程使得單元維持在“已擦除”或“Gr”狀態(tài),或者如果較低位是“0”,即(x,x,0),則該單元被編程到“較低中間”狀態(tài)?;旧?,“Gr”或“接地”狀態(tài)是通過具有被編程在閾值的恰當定義的范圍內的深擦除狀態(tài)而具有收緊的分布的"已擦除"狀態(tài)?!拜^低中間”狀態(tài)可以具有跨立在存儲器狀態(tài)“B”和“D”之間的閾值電壓的寬分布。在編程期間,相對于諸如DB的分界來驗證“較低中間”狀態(tài)。圖25(2)和25(3)圖示使用3位LM碼的中間頁編程。基于第一輪較低頁編程來進行該中間頁編程。給定的中間位可以代表取決于較低位的不同存儲器狀態(tài)。在第二輪編程中,如果單元將具有作為“1”的中間位,而較低位處于“1”,即(x,1,1),則不存在對該單元的編程,且該單元維持在“Gr”。如果中間位是“0”,而較低位處于“1”,即(x,0,1),則將該單元從“Gr”狀態(tài)編程到跨立在“A”和“B”之間的第一“中間中等(middleintermediate)”狀態(tài)。在編程到第一“中間中等”狀態(tài)期間,相對于分界DVA來進行驗證。另一方面,如果單元將具有作為“0”的中間位,而較低位處于“0”,即(x,0,0),則將該單元從“較低中間”狀態(tài)編程到跨立在“C”和“D”之間的第二“中間中等”狀態(tài)。相對于分界DVC進行編程驗證。類似地,如果單元將具有作為"1"的中間位,而較低頁處于“0”,即(x,1,0),則該單元將從“較低中間”狀態(tài)被編程到跨立在“E”和“F”之間的第三“中間中等”狀態(tài)。相對于分界DVE進行編程驗證。圖25(3)和25(4)圖示使用3位LM碼的較高頁編程。基于第一和第二輪、即較低和中間頁編程來進行該較高頁編程。給定的較高位可以代表取決于較低和中間位的不同存儲器狀態(tài)。在第三輪編程中,如果單元將具有作為“1”的較高位,而較低和中間位處于“1”,即(1,1,1),則不存在對該單元的編程,且該單元維持在"Gr"。另一方面,如果較高位是“0”,而較低和中間位處于“1”,即(0,1,1),則將該單元從“Gr”狀態(tài)編程到“A”狀態(tài)。在編程到“A”期間,相對于分界DVA進行該驗證。類似地,如果單元將具有作為"0"的較高位,而較低和中間位分別處于“0”和“1”,即(0,0,1),則該單元將從第一“中間中等”狀態(tài)被編程到“B”。相對于分界DVB進行編程驗證。如果單元將具有作為“1”的較高位,而較低和中間位分別處于“0”和“1”,即(1,0,1),則該單元從第一“中間中等”狀態(tài)被編程到“C”。相對于分界DVC進行編程驗證。類似地,如果單元將具有作為“1”的較高位,而較低和中間位分別處于“0”和“0”,即(1,0,0),則該單元從第二“中間中等”狀態(tài)被編程到“D”。相對于分界DVD進行編程驗證。如果單元將具有作為“0”的較高位,而較低和中間位分別處于“0”和“0”,即(0,0,0),則該單元從第二“中間中等”狀態(tài)被編程到“E”。相對于分界DVE進行編程驗證。類似地,如果單元將具有作為“0”的較高位,而較低和中間位分別處于“1”和“0”,即(0,1,0),則該單元從第三“中間中等”狀態(tài)被編程到“F”。相對于分界DVF進行編程驗證。如果單元將具有作為“1”的較高位,而較低和中間位分別處于“0”和“0”,即(1,1,0),則該單元從第三“中間中等”狀態(tài)編程到“G”。相對于分界DVG進行編程驗證。由于較高頁編程僅涉及從“Gr”狀態(tài)或“中間中等”狀態(tài)之一到下一相鄰存儲器狀態(tài)的編程,因此從一輪到另一輪沒有大量電荷改變。這幫助減輕BL-BLYupin效應。因此,將看到,可以一次一位地編程Dm(m=1,2,3,……)存儲器,且也可以一次一位地讀取。當字線WLn上的一組存儲器單元被并行編程或讀取時,將存在與該組相關的m個數(shù)據(jù)頁,每個數(shù)據(jù)頁對應于來自該組的每個單元的一位。在逐漸讀取模式中,相對于參考閾值的子集來進行感測,且在每次感測時,僅從WLn中讀取m個數(shù)據(jù)頁之一,且將其轉移出到控制器。在全序列讀取模式中,相對于所有參考閾值來進行該感測,且在逐頁轉移出之前從WLn中讀取所有m個數(shù)據(jù)頁。例如,在具有圖4所示的NAND架構的存儲器的情況下,每個NAND串具有n個存儲器單元的菊鏈。在一個實施例中,一行這種NAND鏈形成圖6所示的擦除塊300。在圖4中,并行對一頁存儲器單元、比如WL3上的頁70進行操作。圖9示出了作為字線WLn上的m位存儲器的m個數(shù)據(jù)頁之一的數(shù)據(jù)頁70’。如先前描述的,在另一優(yōu)選實施例中,當具有越來越高的器件集成時,在共享ECC字段的一頁中存在大于最佳數(shù)量的存儲器單元,該頁70被劃分為更小的單位,由“ECC頁”構成。圖26A示意性地圖示包含類似于圖9所示的ECC字段的ECC頁。ECC頁80包括用戶部分82和系統(tǒng)部分84。用戶部分82用于存儲用戶數(shù)據(jù)。系統(tǒng)部分84通常由存儲器系統(tǒng)使用來存儲系統(tǒng)數(shù)據(jù)。ECC被包括在系統(tǒng)數(shù)據(jù)中。為該ECC頁計算ECC。通常,通過控制器102中的ECC處理器62(見圖1)計算該ECC。在圖26A和圖9之間的不同在于,取代占用整個數(shù)據(jù)頁70'的ECC頁80,其是構成該數(shù)據(jù)頁的幾個ECC頁之一。圖26B圖示構成數(shù)據(jù)頁的多個ECC頁。諸如圖4所示的數(shù)據(jù)頁70’的數(shù)據(jù)頁是由來自于WL上的一頁單元的每個單元的邏輯位構成的數(shù)據(jù)集。通常,存在構成一個數(shù)據(jù)頁的N個EEC頁。例如,N=4,其中,存在構成一個數(shù)據(jù)頁70’的4個EEC頁80。在從主機接收數(shù)據(jù)時,數(shù)據(jù)的ECC頁被階段性存儲在控制器102中,且通過ECC處理器62(見圖1)來計算其ECC86。然后,并入其自己的ECC的大量ECC頁80然后被階段性存儲并寫到存儲器陣列200作為數(shù)據(jù)頁70’。通常,當讀取數(shù)據(jù)頁70’時,該數(shù)據(jù)頁被鎖存在數(shù)據(jù)鎖存器430中,且從I/O電路440移出到控制器102。在控制器102處,該數(shù)據(jù)頁的每個ECC頁將其ECC86與對讀取的數(shù)據(jù)計算的ECC的第二版本相比較。ECC通常包括用于快速檢測數(shù)據(jù)頁中的任何錯誤的錯誤檢測碼(“EDC”)。如果EDC指示在讀取的數(shù)據(jù)頁中存在任何錯誤,則調用ECC來校正在讀取的數(shù)據(jù)頁中的出錯位。該ECC被設計為校正高達預定最大數(shù)量的錯誤。實際上,在存儲器的壽命中的任何給定時間,ECC可以具有校正少于預定最大值的預定數(shù)量的錯誤的預算。對于2位存儲器,每個單元存儲2位數(shù)據(jù),且將存在與圖4的例子中的每個WL相關的2個數(shù)據(jù)頁。如果每個數(shù)據(jù)頁具有4個ECC頁,則將存在被編程到WL中且要讀出用于PWR檢查的總共8個ECC頁。類似地,對于3位存儲器,每個單元存儲3位數(shù)據(jù),且將存在與圖4的例子中的每個WL相關的3個數(shù)據(jù)頁。如果每個數(shù)據(jù)頁具有4個ECC頁,則將存在被編程到WL中且要讀出用于PWR(寫入后讀取)檢查的總共12個ECC頁。因此,將看到,對于3位存儲器,在寫入每個WL之后進行PWR檢查可以涉及感測12個ECC頁,然后運送到控制器用于ECC檢查。如果ECC解碼器發(fā)現(xiàn)12個ECC頁中的任何一個超出了預定錯誤預算,則對該WL的寫入被視為不可接受,且在不同WL處進行重試。例如,該寫入被重寫到相同的塊中的或具有較高容錯的諸如具有一位單元的存儲器的一部分中的另一WL。在3位存儲器例子中,存在要感測的3個數(shù)據(jù)頁。如從結合圖25的描述中看到,將引起3個讀取循環(huán),對于每個數(shù)據(jù)頁一個讀取循環(huán)。每個讀取循環(huán)將相對于一個或多個參考閾值來感測,且因此讀取該WL將花費時間。另外,每個數(shù)據(jù)頁具有4個ECC頁,且需要連續(xù)將總共12個ECC頁轉移到控制器。該轉移操作也將花費時間,可能比感測操作更多的時間。對樣本而非整個群體的PWR檢查在本發(fā)明的一般實施例中,通過僅檢查已經(jīng)寫入的內容的子集來加速對已經(jīng)寫入的內容的寫入后讀取(PWR)檢查。僅對寫入的內容的樣本進行該寫入后讀取檢查。圖27是圖示加速的PWR的一般實施例的流程圖。步驟900:提供多組存儲器單元,每組中的存儲器單元用于并行操作。步驟902:將多個數(shù)據(jù)子集編程到第一組存儲器單元中,每個數(shù)據(jù)子集被提供有ECC。步驟910:選擇被編程在第一組存儲器單元中的數(shù)據(jù)的樣本,該樣本從編程到第一組中的所述多個數(shù)據(jù)子集中的一個數(shù)據(jù)子集中選擇。步驟920:讀取所述樣本。步驟922:檢查所述樣本的錯誤。步驟930:無論何時從所述樣本檢查到的錯誤多于預定數(shù)量的錯誤位時,將所述多個數(shù)據(jù)子集重新編程到第二組存儲器單元中。在一個實施例中,要檢查的該樣本是被寫到字線上的一組單元的所有ECC頁的子集。具體地,該子集是所有ECC頁中被估計具有最高錯誤率的ECC頁。圖28是圖示圖27所示的加速的PWR的優(yōu)選實施例的流程圖。除了步驟910被步驟910’替換之外,該處理類似于圖27的處理。步驟910’:選擇被編程在所述第一組存儲器單元中的數(shù)據(jù)的樣本,該樣本從被編程到第一組中的所述多個數(shù)據(jù)子集中的一個數(shù)據(jù)子集中選擇,且所述樣本是被編程到第一組中的所述多個數(shù)據(jù)子集之中被估計具有最高錯誤率的數(shù)據(jù)子集。圖29圖示在字線上的一組3位存儲器單元已被寫入之后為寫入后讀取所選擇的樣本。在該3位存儲器中,將存在被寫到字線WL42的3個數(shù)據(jù)頁,即,較低、中間和較高頁。取決于界定存儲器的閾值窗中的各個電壓帶的參考閾值的設計布置,數(shù)據(jù)頁之一可能具有比另一個略高的錯誤率。例如,如果較高數(shù)據(jù)頁具有在三個數(shù)據(jù)頁中的估計的最高數(shù)據(jù)率,則其將被選擇。如果所選數(shù)據(jù)頁中的所有ECC頁被估計具有相同錯誤率,則其足夠來選擇具有第一個被移出到控制器的位置的ECC頁。而且,編碼機制的選擇也可以具有對錯誤率的容忍。例如,當編程的閾值偏移時,格雷碼提供最小的位錯誤。取決于編碼的選擇,被存儲在相同組的存儲器單元中的各個數(shù)據(jù)頁可以具有類似或不同的錯誤率。實踐中,在字線上的錯誤可能是由于類似于開路或具有不尋常的高電阻的電路中導致的裂縫(crack)的物理缺陷。如果在關注的單元和WL解碼器之間出現(xiàn)缺陷,則該檢查將示出錯誤。如果在單元的遠離WL解碼器的另一側上出現(xiàn)缺陷,則該檢查可能不能示出錯誤。因此,在沿著WL42的所有ECC頁中,在最遠離WL解碼器40的WL的末端處的樣本ECC頁82很可能受該缺陷的影響,而不管該缺陷在WL上的位置。因此,在其中存在被寫到字線(WL)的多個數(shù)據(jù)頁的優(yōu)選實施例中,首先從具有最高估計的錯誤率的數(shù)據(jù)頁中選擇用于檢查被寫到該WL的數(shù)據(jù)的樣本。另外,如果在所選數(shù)據(jù)頁中存在多個ECC頁,則為該樣本選擇位于最遠離字線解碼器的ECC頁。在另一個實施例中,要檢查的樣本是被寫到一塊中的一組單元的所有ECC頁的子集。該塊使得在其中的所有單元可一起擦除。具體地,該子集是所有ECC頁中被評估具有最高錯誤率的ECC頁。例如,在圖4所示的NAND存儲器中,擦除塊由一行NAND鏈構成。每個NAND鏈是通過其源極和漏極而菊鏈鏈接的16個存儲器單元,一端終止于源極端,且另一端終止于漏極端。公知的是,最靠近源極端和漏極端的單元更有錯誤傾向。因此,對于這種塊,應該選擇字線WL1或WL16。在該情況下,優(yōu)選地,樣本是在最遠離字線解碼器的WL1末端處的ECC頁。在另一實施例中,其中,具有字線集的存儲器單元塊可作為擦除單位而擦除,且需要必須檢查被寫到該集的每個字線的數(shù)據(jù),否則重寫整個塊,被估計具有最高錯誤率的該集的WL優(yōu)選地首先被檢查。以此方式,可能發(fā)生的任何錯誤將早被檢測到,且該塊的重寫可以無延遲地開始。因此,對于圖4所示的NAND存儲器,首先應該選擇字線WL1和WL16來檢查。雖然對于被劃分為具有每個存儲1位數(shù)據(jù)的存儲器單元的第一部分和具有每個存儲3位數(shù)據(jù)的存儲器單元的第二部分的存儲器給出了例子,但是,本發(fā)明不限于該例子。具有同時多頁驗證的EPWR如之前討論的,存儲器系統(tǒng)可以使用增強的寫入后讀取(EPWR)處理以便保證用戶數(shù)據(jù)完整性并增加在存在不可篩查的存儲器故障時的存儲器可靠性,不可篩查的存儲器故障比如斷裂的字線、控制柵極短路、字線與字線短路等。通常,通過讀取每個塊并在擦除復制本的源之前驗證該塊被可靠地存儲來完成EPWR。在示例實施例中,這將是在從二進制存儲器擦除源復制本之前驗證多狀態(tài)寫入。因為這種EPWR方法需要大量時間,且因此可能顯著降低編程吞吐量,尤其是在多裸片產(chǎn)品中,其中在對多個裸片進行EPWR時涉及單個控制器成為瓶頸。此部分提供了其中為了更快的進行EPWR的方法同時驗證多頁的技術。進一步重新考慮對于基本寫入后讀取實施方式的問題,對于具體例子使用每單元3位的MLC(或D3)實施例,控制器在其編程之后讀取整個D3塊,向控制器傳送全部頁并解碼它們。這引起了非常高的編程吞吐量損失。例如,假設70MB/秒的ECC引擎,對于單個裸片,4MB塊的EPWR時間可能花費每塊~60ms(假設ECC是瓶頸)。隨著裸片的數(shù)量增加,損失相應地變得更大,因為來源于多個裸片的多個塊的所有數(shù)據(jù)需要被傳送到單個控制器,且由單個ECC引擎解碼。因此,對于4個裸片,EPWR處理可能花費~240ms,這將顯著降低編程吞吐量。這類在每個塊編程操作之后的非常長的EPWR操作可能顯著減慢整個編程吞吐量(例如,在4裸片配置中-25%的降級,假設6MB/秒的原始(raw)編程吞吐量)。之前的部分已經(jīng)呈現(xiàn)了更快EPWR的各種方法。此部分考慮一個塊中的多頁的同時驗證,其中,控制器評估多頁的組合功能,而不是單獨地評估每個頁。這種基于讀取的數(shù)據(jù)對多頁的組合驗證可以顯著地減少控制器的參與,降低EPWR需要的總線和ECC帶寬,并因此當裸片數(shù)目大時允許高效的EPWR。在進一步考慮該具體方面之前,討論用于快速EPWR的若干補充方法,因為這些將被合并在一些實施例中。加速EPWR處理的一種方式是減少讀取和評估的數(shù)據(jù)量到用于識別諸如斷裂的字線、控制柵極短路、字線與字線短路等的不可篩查的問題的所需的最小或至少較少的量。(關于斷裂或含鉛(leady)字線的更多信息在以下美國專利申請中給出:2010年7月9日提交的US12/833,167;2010年7月9日提交的12/833,146;2011年1月28日提交的13/016,732;以及2011年5月5日提交的13/101,765。)可以通過讀取僅某些頁來減少讀取和傳送的數(shù)據(jù)量。例如,在每單元三位的D3NAND實施例中,通過圖30所示的映射,讀取每個字線中的僅較低和較高頁或僅字線的中間頁可以足夠。原因是可以通過觀察一頁或兩頁來識別上述的這類不可篩查NAND問題,使得不需要讀取字線的所有3頁。例如,讀取較低和較高頁對識別編程干擾問題(由于在擦除的狀態(tài)和最低未擦除狀態(tài)之間的讀取)、源引起的泄露電壓問題(或SILC,這導致來自最高狀態(tài)的較低尾部)、或將干擾單元電壓分布的任何其他異常NAND問題是足夠的。這可以通過參考圖30來例示,圖30示出具有在分布中示出的較高、中間和較低頁值的狀態(tài)分布和在底部處標出的擦除(Er),A,...,G狀態(tài)。因為在Er和A狀態(tài)之間存在較低頁讀取閾值,所以這可以用于檢查將在該讀取中顯現(xiàn)的編程干擾問題;且因為在F和G狀態(tài)之間存在較高頁讀取閾值,因此該讀取可以拾取來自G狀態(tài)的指示SILC相關的錯誤的較低尾部。如以下討論的,此部分的一個示例實施例將在進行多頁驗證處僅使用字線上的最高和最低頁。也可以通過檢查頁的僅部分的有效性來減少讀取和傳送的數(shù)據(jù)量。其例子是其中位線被分裂為偶數(shù)和奇數(shù)集合的存儲器或其中可以跨越陣列以另外方式將列分裂為組的存儲器,以便僅讀取一部分位線可以良好地體現(xiàn)整個字線。在下面的一些實施例中使用的另一例子是讀取ECC塊(或“Eblock”),這是用ECC編碼的數(shù)據(jù)的單位。這種Eblock通常僅是一頁的一部分;但是,這可能足以識別字線的任何部分中的問題??梢允褂萌舾煞椒▉砘谧x取的數(shù)據(jù)識別塊(或字線)中的問題。一種方式是僅解碼數(shù)據(jù)并計數(shù)錯誤的數(shù)量,花費相對長時間的一種方法,具有相對高的功耗,且還可能花費變化的時間量來完成(尤其是在使用ECC系統(tǒng)使用迭代解碼時,但在BCH系統(tǒng)中也是這樣)。另一方法是基于校正子(syndrome)權重(即,基于不滿意的奇偶校驗的數(shù)量)來估計位錯誤率(BER)。此選項可用于具有低密度奇偶校驗矩陣的ECC??梢怨烙婨CC塊(Eblock)的BER為:BE^R=1-(1-2·W/M)1/d2]]>其中W是不滿意的奇偶校驗的數(shù)量,M是奇偶校驗的總數(shù),且d是每個奇偶校驗中涉及的位數(shù)量(假設其是固定的)。實際上,可以離線進行這種計算,且使用查找表(LUT)來將不滿意的奇偶校驗的數(shù)量W轉譯為估計的BER。這相比于完全解碼的優(yōu)點是其快速且在確定的時間內完成。其還具有小的功耗。另一方法是測量讀取的數(shù)據(jù)的統(tǒng)計,且將其與預期值比較;例如,通過計數(shù)每個狀態(tài)(或在所選擇的狀態(tài))中的單元的數(shù)量且將其與預期值比較。假設該系統(tǒng)使用數(shù)據(jù)串擾,預期在每單元3位的實施例中的1/8的單元被編程到每個狀態(tài)。雖然該方法可能比之前討論的兩個方法(其測量/估計BER)較不強健,但是,假設相同數(shù)量的數(shù)據(jù),其仍然可以允許捕獲將顯著影響單元電壓分布(CVD)的異常存儲器問題。在與本申請同時提交的EranSharon和IdanAlrod的題為“Post-WriteReadinNon-VolatileMemoriesUsingComparisonofDataAsWritteninBinaryandMulti-StateFormats”(使用以二進制和多狀態(tài)格式寫入的數(shù)據(jù)的比較的在非易失性存儲器中的寫入后讀?。┑呐R時美國專利申請No.61/512,749中展開的方法中,通過比較源SLC頁與目的地MLC頁來測量BER。這可以在閃存中內部進行。這些不同的方法以及在之前的部分中提到的其他方法可以不同地與作為本部分的主要焦點的該類對塊中的多頁的同時驗證相組合?;谧x取的數(shù)據(jù)對多頁的組合驗證可以顯著地減少控制器的參與(即,EPWR的所需的總線和ECC帶寬),并因此當裸片的數(shù)目大時允許高效的EPWR。該存儲器系統(tǒng)評估多頁的組合功能以便識別在一頁或多頁中的問題。其動機是需要檢查少得多的數(shù)據(jù)量,且這可以顯著減少來自在這種評估中涉及的控制器總線和ECC引擎的帶寬需求。這又允許對大量裸片的高效操作。一個方法是使用多個讀取的Eblock的求和取模2(即,XOR)。對于線性ECC(如在實踐中使用的LDPC、BCH和大多數(shù)ECC方法的情況中),則Eblock的XOR也是有效的Eblock。因此,如果該系統(tǒng)對n個讀取的Eblock進行XOR,則結果也是具有由以下給出的BER的Eblock:BER⊕=1-Πi=1n(1-2·BERi)2≅Σi=1nBERi]]>其中,是XOREblock的BER,且BERi是第i個Eblock的BER。因此,如果系統(tǒng)評估XOREblock的BER(諸如通過上述方式),則該系統(tǒng)評估關于其組成的(constituent)Eblock的BER的總和。由此,該系統(tǒng)可以識別Eblock之一中的問題。例如,考慮對n=16個Eblock進行XOR,來自每頁一個Eblock。(一頁可以具有一個或多個Eblock。)另外假設在編程之后的預計BER是0.1%,且標準方差σ=0.01%。然后,BER的期望值是n·0.1%=1.6%,且標準方差因此,如果高于則這將用作在這些頁之一中可能存在問題的指示(采取余量以便保證在正常行為中,跨過閾值的可能性是~1/1000)。在該情況下,可以采用進一步的動作,比如對每頁的具體評估或對塊的重新編程。在詳細研究之后,可以決定將該塊標記為壞塊,或在之前部分中描述的其他動作中的一些。以防在編程之后不知道BER統(tǒng)計(即,預期的BER及其變化),則當使用BER估計時的可能的擔憂是將存在單個有問題的頁,而其他頁將具有非常低的BER,使得為指示問題而設置的閾值將不被跨過(cross),且我們將不會“捕捉”該問題。例如,對于估計的如果存在n=16頁,每個頁具有0.1%的BER,則其將不被知道;或如果具有15個BER是0.01%的頁和一個BER是1.45%的頁(在兩種情況下,BER的總和都是1.6%)。為了克服該問題,系統(tǒng)應該確保這些頁之間的變化是小的。這可以通過跟蹤若干組的參數(shù)來進行。例如,如果當前組的參數(shù)是15·0.01%+1.45%=1.6%,但先前分組的參數(shù)曾經(jīng)是16·0.01%=0.16%,則這將指示當前組具有有問題的頁。考慮系統(tǒng)為了復合函數(shù)(function)而一起XOR的Eblock的數(shù)量(n),若干因素進入。一個限制是隨著n變得更大,n個Eblock上的BER上的“平均”效果變得更顯著,且其增加了丟失捕獲有問題Eblock的可能性,雖然可以使用在先前段落中描述的解決方案來顯著地降低該風險。另一限制取決于用于評估的方法。如果系統(tǒng)正使用解碼來估計則其需要基于ECC的錯誤校正能力來限制例如,如果該系統(tǒng)使用能夠校正60個位的BCHECC,且如果預期的在編程之后的位錯誤的最大數(shù)量是10位,則該系統(tǒng)應該限制n為6。如果該系統(tǒng)使用基于校正子權重的BER估計,則該估計有效高達某個錯誤率;例如,某個LDPC碼可以提供高達~3%的BER和高于該錯誤率的良好的BER估計,該估計錯誤可能變得太大。在出情況下,如果預期的在編程之后的最大BER是0.3%,則可以一起驗證的頁的最大數(shù)量n應該限制為10。最后,如果該系統(tǒng)使用SLC頁的XOR和D3頁的XOR之間的比較以便估計則一方面,其不受可以評估的最大的限制。(該方法在如下中討論:臨時美國專利申請No.______,[案號0084567-721US0],與本申請同時提交,EranSharon和IdanAlrod的題為“Post-WriteReadinNon-VolatileMemoriesUsingComparisonofDataAsWritteninBinaryandMulti-StateFormats”(使用以二進制和多狀態(tài)格式寫入的數(shù)據(jù)的比較的在非易失性存儲器中的寫入后讀取))。另一方面,該系統(tǒng)累計SLC和MLC頁兩者的錯誤,增加了未能捕獲問題頁的風險。另外,該方法需要讀取3個源SLC塊和目的地D3塊,這在讀取時間上是不利的,且因此在整個EPWR時間上也是不利的。在該部分的方法中,控制器的參與可以顯著地減少,因為在存儲器鎖存器中內部地進行Eblock的XOR,因此向控制器發(fā)送少得多的數(shù)據(jù)量,且通過ECC核心來評估該數(shù)據(jù)量。這意味著對于單個裸片或兩個裸片或四個裸片或更多裸片的EPWR時間基本上相同,因為EPWR的讀取部分在所有裸片中同時進行,且基本上由其讀取一塊花費的時間來決定(dictate)。例如,假設我們希望通過以下來進行EPWR:讀取每個字線中的較低和較高頁且通過對n=16個頁進行XOR,然后(例如,基于校正子權重)在XOR了的頁中的第一個Eblock被發(fā)送到控制器BER估計。然后,EPWR處理將如下進行,其中,ADL是(二進制)鎖存器,數(shù)據(jù)初始地從字線WLi讀取到該鎖存器,且XDL是傳送數(shù)據(jù)鎖存器,數(shù)據(jù)從其傳送離開存儲器WL,且NXOR是非XOR的簡寫:讀取WL0的較低頁到ADL中(ADL=Lower0)讀取WL0的較高頁并將其與ADL進行NXOR(ADL=ADLNXORUpper0)讀取WL1的較低頁并將其與ADL進行NXOR(ADL=ADLNXORLower1)讀取WL1的較高頁并將其與ADL進行NXOR(ADL=ADLNXORUpper1)讀取WL7的較低頁并將其與ADL進行NXOR(ADL=ADLNXORLower7)讀取WL7的較高頁并將其與ADL進行NXOR(ADL=ADLNXORUpper7)傳送ADL到XDL(XDL=ADL)傳送XDL的第一Eblock到控制器進行對傳送的Eblock的BER估計讀取WL8的較低頁到ADL中(ADL=Lower8)(可以與兩個先前的階段并行)讀取WL8的較高頁并將其與ADL進行NXOR(ADL=ADLNXORUpper0)讀取WL9的較低頁并將其與ADL進行NXOR(ADL=ADLNXORLower1)讀取WL9的較高頁并將其與ADL進行NXOR(ADL=ADLNXORUpper1)讀取WL15的較低頁并將其與ADL進行NXOR(ADL=ADLNXORLower7)讀取WL15的較高頁并將其與ADL進行NXOR(ADL=ADLNXORUpper7)傳送ADL到XDL(XDL=ADL)傳送XDL的第一Eblock到控制器進行對傳送的Eblock的BER估計關于可以適當?shù)卦诖藨玫逆i存器結構(包括ADL、XDL)的示例實施例的更多細節(jié)可以在例如美國專利7,158,421和7,206,230中找到。上述EPWR處理顯著地快于現(xiàn)有技術中的方法。假設流水線操作,其中到控制器的傳送和BER估計操作(這些僅每n個頁讀取操作進行一次)與下一頁組的讀取并行進行,則一塊的整體EPWR時間等于讀取時間,這是以幾毫秒量級的。另外,EPWR時間將對一個裸片、兩個裸片和四個裸片保持相同,因為較高頁和較低頁的讀取和XOR可以在所有裸片中并行進行,且傳送和BER估計操作(每n個頁讀取進行一次)需要來自控制器和總線的低帶寬。在一些情況下,可以存在進一步加速該處理的方式。剛剛討論的實施例使用較低和較高頁的XOR。參考圖30,向8個分布分配3位數(shù)據(jù)的狀態(tài)對應于具體的格雷(Grey)映射(“2-3-2”映射)。使用該映射并進行逐頁讀取,可以通過進行在狀態(tài)Et和A之間的第一感測、然后進行在狀態(tài)D和E之間的第二感測來讀取較低頁。可以通過進行在狀態(tài)B和C之間的第一感測、然后進行在狀態(tài)F和G之間的第二感測來讀取較高頁。在閃存系統(tǒng)中普遍地,多個感測操作以在2個狀態(tài)之間的初始感測開始,且以在升高的電壓下的感測序列而繼續(xù)。在這種設置中,初始感測操作花費比每個接下來的感測操作更多的時間。這意味著根據(jù)圖30所示的映射來讀取較低和較高頁將需要總共4個感測操作,其中2個感測操作(每頁中的第一感測)將更長。但是,由于EPWR處理僅使用2頁的XOR,因此能夠減少2頁的讀取時間。這可以通過進行在以下的感測操作的序列來進行:在Er和A之間、繼而在B和C之間的感測、繼而在D和E之間的感測、繼而在F和G之間的感測。通過根據(jù)交替的“1-2-4”格雷映射來應用較高頁的讀取,這4個感測操作可以比分別讀取兩頁進行得更快,其中1-2-4格雷映射的較高頁正是2-3-2格雷映射的較低頁和較高頁的XOR。從而,可以使用在1-2-4格雷映射中的對較高頁的讀取命令來產(chǎn)生2-3-2格雷映射的較低頁和較高頁的期望的XOR,其中,數(shù)據(jù)在單個命令中通過2-3-2格雷映射被寫入。如果這是可能的,則每個字線的讀取時間和整體EPWR讀取時間將減少。另外,如果僅讀取每個字線中的(或更通常地,一個)中間頁是足夠的,則將進一步減少EPWR時間(減少了達-33%)。圖31是圖示在可以將這些集成到編程處理中時的處理的方面的流程圖。在1001,存儲器系統(tǒng)的控制器從主機接收數(shù)據(jù)??刂破魇褂闷銭CC引擎來為數(shù)據(jù)的每個Eblock生成對應的ECC,并在1003中在頁中形成這些ECC,然后在1005將其通過總線結構傳送到存儲器器件。雖然示出為將由特定數(shù)據(jù)集遵循的不同處理的集合,但是在實際器件中,這些步驟將通常并行地進行,如在先前部分中提到或在2011年6月9日提交的美國臨時專利申請?zhí)?1/495,053中進一步描述的。一旦數(shù)據(jù)被鎖存在存儲器上,則在1007其被寫入到陣列中。在示例的寫入處理中,首先將數(shù)據(jù)寫入到二進制緩存中,在這之后將其折疊到多狀態(tài)存儲器中。流程的以下部分被描述為發(fā)生在該折疊處理之后,但是在其他情況下,它們可以對二進制存儲器中的數(shù)據(jù)、對直接寫為多狀態(tài)格式的數(shù)據(jù)、或對二進制存儲器執(zhí)行。EPWR部分開始于1009,讀回(readback)頁或存儲在存儲器上的頁的部分(例如一個Eblock),并形成合成數(shù)據(jù)結構1011。雖然在此示出為兩個相繼的操作,但是,如上所述,在示例實施例中,隨著所選的頁被相繼讀取并在存儲器器件上的鎖存器中被XOR,這實際上以循環(huán)來進行。在示例實施例中,然后在1013將合成數(shù)據(jù)結構傳送到控制器,在1015,在控制器處評估形成了合成數(shù)據(jù)結構的數(shù)據(jù)的完整性。在其他實施例中,還可以對存儲器器件本身進行該確定??梢愿鶕?jù)在此描述的各種實施例的任意來進行1015的確定,無論通過確定錯誤量還是估計錯誤量、使用ECC還是不使用ECC而基于數(shù)據(jù)的統(tǒng)計。如果數(shù)據(jù)降級了,則在1017,如果希望的話,系統(tǒng)可以確定具體的壞頁,并且還可以采取上述任何種類的校正動作。現(xiàn)在將在具體實施例的上下文中進一步考慮該處理。該實施例具有多個特征,包括:僅讀取每個字線上的最低和最高頁;僅檢查每個頁的第一Eblock;使用BER估計特征來評估來源于n頁的n個Eblock的累計BER;將頁的組形成為合成體散布該塊以應對錯誤率的變化;以及選擇適當?shù)臉藴?。將理解,這些特征將在不同的實施例中而不同,比如使用不同頁、Eblock、組、標準等。針對這些特征中的第一個,系統(tǒng)僅讀取每個字線中的較高和較低頁。(在此該實施例再次每個單元存儲3位,但是更通常地,如在4位布置中,可以使用最高和最低頁。)如上所述,較低和較高頁足夠用于識別將擾亂單元電壓分布的許多問題(編程干擾、SILC等等)。這在圖32中示出,其很大程度上與圖30相同,但是現(xiàn)在頂部和底部頁的被XOR的值現(xiàn)在跨過底部。在示例系統(tǒng)中,可以進行WL的較高頁和較低頁的分離的讀取。替換地,因為系統(tǒng)實際上僅需要較低頁和較高頁的XOR(而不是分別對每個頁的XOR),因此在一個變型中,通過使用具有4個感測操作(Er&A,B&C,D&E,F&G)的相繼類型的讀取可以進一步減少讀取時間,以使用單個讀取命令且在更短時間內產(chǎn)生較低頁⊕較高頁。可以使用在1-2-4格雷映射中的較高頁的逐頁讀取來進行這種讀取,如上所述。而且如上所述,如果在存儲器鎖存器和陣列之間存在良好交錯,則僅使用每個頁一個Eblock(在此是第一個)作為來源于散布在整個字線上的單元的Eblock的單元。在存儲器器件的示例實施例中,布置該鎖存器結構(上述ADL和XDL鎖存器),使得Eblock存儲在該鎖存器結構的連續(xù)段中。此具體實施例使用位錯誤率(BER)估計(例如基于校正子權重或基于解碼)來評估來源于n頁的n個Eblock、即每頁中的第一Eblock的累計BER??梢栽诖鎯ζ麟娐分袃炔康豖OR所有讀取的頁,在被XOR的頁中的第一Eblock被傳送到控制器,且使用ECC引擎來估計其BER。由于沿著塊的字線的錯誤率的可能的變化,為了在不同頁組之間具有錯誤率均一性,則優(yōu)選地,每組由均等地散布在塊上的n頁來構成。這改進了對有問題的組的檢測,如果這種組存在,因為有問題的組相比于預期由于散布而具有大致相同的累計BER的所有其他組將具有顯著不同的累計BER??紤]例如在每個單元存儲3位的X3閃存系統(tǒng)中的包括256個邏輯頁的塊。在該情況下,第一較低頁將是頁0,第一較高頁將是頁2,這兩頁存儲在相同的字線(例如WL0)中。第二較低頁將是頁3,第二較高頁將是頁5,兩者存儲在WL1中,等等。為了生成沿著所有字線上散布的頁組,可以將多個較低頁和較高頁交錯到這些頁組中。例如,如果每個頁組將由9個邏輯頁構成,則將需要19個組,且可以如下選擇交錯:頁組0:0295786114143171200228頁組1:2305987116144173201230頁組2:3326089117146174203231頁組3:5336290119147176204233頁組4:6356392120149177206234頁組5:8366593122150179207236頁組6:9386695123152180209237頁組7:11396896125153182210239頁組8:12416998126155183212240頁組9:14427199128156185213242頁組10:154472101129158186215243頁組11:174574102131159188216245頁組12:184775104132161189218246頁組13:204877105134162191219248頁組14:215078107135164192221249頁組15:235180108137165194222251頁組16:245381110138167195224252頁組17:265483111140168197225254頁組18:275684113141170198227255在表1的EPWR過程“偽碼”中提供生成頁組的系統(tǒng)方式。作為可疑塊的標準,一個例子是考慮在編程之后立即具有BER>0.2%的一頁或多頁的塊。在此,每頁的BER閾值可以被定義為BERTH=0.2%。一塊的EPWR過程將產(chǎn)生19個BER估計:w0,wj,...,w18(每個頁組的一個校正子權重數(shù))。使得以及將基于BERmax、BERmin來檢測可疑塊,如果:BERmax-n-1nBERmin>BERTH⇒BERmax+8·(BERmax-BERmin)>9·BERTH]]>在滿足上述條件的情況下,則通過讀取該組的9個頁的每頁中的第一Eblock并對其進行BER估計以產(chǎn)生評估w來進行對應于wmax的頁組的仔細檢查(closeexamination)。如果對于該組中的一頁或多頁,w>BERTH,則該塊被標記為可疑的。對最差組的這種檢查將花費該塊的EPWR時間的小于10%。因此,“假警報”的損失相對少。當檢測到可疑塊時,各種操作類似于在先前部分中討論的那些操作。例如,該塊的數(shù)據(jù)可以被重新編程到不同的塊中(因為該數(shù)據(jù)處于風險)。另外,如果該塊先前被標記為可疑的(即,這是第二次在該塊中檢測到問題),則可以將該塊標記為壞的。在該例子中,可疑塊的條件被選擇為保守的,以便以更高數(shù)量的假警報為代價而避免漏檢測,該漏檢測將通過最差頁組(對應于BERmax)的仔細檢查而篩選。注意,假警報的損失是相對少的——在假警報的情況下,在最差組中的9個頁需要被讀取,且基于其第一個Eblock而估計其BER。這花費對于該塊的EPWR時間的少于10%。可疑塊條件背后的推理如下:漏檢測的最有風險的情況是最差組包括一個“壞的”頁,而所有其他n-1個頁都非常好。為了捕捉到它,假設在該最差組中的非常好的頁具有等于最好組的平均BER的BER——即,好頁的然后,在最差組中的“壞”頁的BER由以下給出:BERmax-(n-1)·BER(goodpage)=BERmax-(n-1)·BERminn]]>在假警報率高的情況下,則可以稍微更改上述條件。稍微更不保守的替換條件可以是:其中BERavg是對最佳的k個組的BER估計的平均值,其中k可以被優(yōu)化。以此方式,良好頁的代表性BER被確定為預期僅具有良好頁的分組的平均BER。由于相鄰頁在不同組之間的散布,因此預期存在具有一個壞頁的至多4個頁組。斷裂的字線將有貢獻將處于兩個不同的頁組中的2個壞頁(較低頁和較高頁)。字線與字線的短路可以貢獻將處于4個不同頁組中的4個壞頁(來自相鄰字線的兩個較低頁和兩個較高頁)。因此,如果BERavg被計算為最佳k個組的平均BER,其中k小于16,則其應該是對不包括壞頁的組的平均值。例如,選擇k=10將意味著對該塊的較好的一半的平均。表1結論先前部分可以提供多個優(yōu)點,包括顯著更快的EPWR操作。它們也可以需要在控制器和存儲器之間的更少的總線帶寬。它們還可以需要來自控制器硬件的更少的帶寬。各種實施例允許存儲器系統(tǒng)中的高效的多裸片EPWR操作。已經(jīng)為了例示和描述來呈現(xiàn)了本發(fā)明的前述的詳細描述。不意圖窮舉或限制本發(fā)明到所公開的精確的形式。在上述教導下,許多修改和變化是可能的。選擇所描述的實施例以便最佳地說明本發(fā)明的原理和其實際的應用,從而使得本領域技術人員能夠在各種實施例中且通過適合于所構思的具體用途的各種修改來最佳地使用本發(fā)明。意圖本發(fā)明的范圍被附于此的權利要求所限定。