專利名稱:非易失性存儲(chǔ)器的數(shù)據(jù)刷新的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及非易失性存儲(chǔ)器技術(shù)。
背景技術(shù):
半導(dǎo)體存儲(chǔ)器由于用于各種電子設(shè)備中而變得更為流行。例如,非易失性半導(dǎo)體存儲(chǔ)器用于個(gè)人導(dǎo)航設(shè)備、蜂窩電話、數(shù)碼相機(jī)、個(gè)人數(shù)字助理、移動(dòng)計(jì)算設(shè)備、非移動(dòng)計(jì)算設(shè)備和其它設(shè)備中。電可擦除可編程只讀存儲(chǔ)器(EEPROM)和閃速存儲(chǔ)器是其中最流行的非易失性半導(dǎo)體存儲(chǔ)器。EEPROM和閃速存儲(chǔ)器兩者皆利用位于半導(dǎo)體襯底中的溝道區(qū)域之上并與之隔離的浮置柵極。該浮置柵極和溝道區(qū)域位于源區(qū)與漏區(qū)之間??刂茤艠O設(shè)在浮置柵極之上且與之隔離。晶體管的閾值電壓受浮置柵極上保持的電荷量控制。也就是說(shuō),在晶體管導(dǎo)通以允許其源極與漏極之間傳導(dǎo)之前必須施加至控制柵極的電壓的最小值受浮置柵極上的電荷水平控制。在對(duì)EEPROM或閃速存儲(chǔ)器設(shè)備如NAND閃速存儲(chǔ)器設(shè)備編程時(shí),通常對(duì)控制柵極施加編程電壓且將比特線接地。來(lái)自溝道的電子被注入浮置柵極中。當(dāng)電子在浮置柵極中累積時(shí),浮置柵極變?yōu)閹ж?fù)電且存儲(chǔ)器單元的閾值電壓升高,使得存儲(chǔ)器單元處于被編程狀態(tài)。在題為“Source Side Self Boosting Technique for Non-Volatile Memory”的第 6,859,397 號(hào)美國(guó)專利、題為 “Detecting Over Programmed Memory” 的第 6,917,542 號(hào)美國(guó)專利和題為“Programming Non-Volatile Memory”的第6,888,758號(hào)美國(guó)專利中具有更多關(guān)于編程的信息,所引用的這三個(gè)專利通過(guò)引用而全部并入本文。在很多情況下,編程電壓作為一系列脈沖(稱為編程脈沖)施加至控制柵極,這些脈沖的幅值隨著每個(gè)脈沖而增加。在編程脈沖之間,執(zhí)行一個(gè)或多個(gè)驗(yàn)證操作的集合,以確定處于編程中的一個(gè)或多個(gè)存儲(chǔ)器單元是否已達(dá)到其目標(biāo)電平。如果存儲(chǔ)器單元已達(dá)到其目標(biāo)電平,則對(duì)該存儲(chǔ)器單元停止編程。如果存儲(chǔ)器單元未達(dá)到其目標(biāo)電平,則對(duì)該存儲(chǔ)器單元繼續(xù)編程。一些EEPROM和閃速存儲(chǔ)器設(shè)備具有用于存儲(chǔ)兩個(gè)電荷范圍的浮置柵極,因此,該存儲(chǔ)器單元可在兩個(gè)狀態(tài)(被擦除狀態(tài)和被編程狀態(tài))之間被進(jìn)行編程/擦除。有時(shí)將這樣的存儲(chǔ)器設(shè)備稱為二進(jìn)制存儲(chǔ)器設(shè)備。通過(guò)標(biāo)識(shí)多個(gè)不同的有效閾值電壓(Vt)分布(或數(shù)據(jù)狀態(tài)),多狀態(tài)存儲(chǔ)器設(shè)備關(guān)于每個(gè)存儲(chǔ)器單元存儲(chǔ)多個(gè)數(shù)據(jù)比特。每個(gè)不同的Vt分布對(duì)應(yīng)于關(guān)于存儲(chǔ)器設(shè)備中所編碼的數(shù)據(jù)比特集合的預(yù)定值。例如,存儲(chǔ)兩個(gè)數(shù)據(jù)比特的存儲(chǔ)器單元使用四個(gè)有效Vt分布。存儲(chǔ)三個(gè)數(shù)據(jù)比特的存儲(chǔ)器單元使用八個(gè)有效Vt分布。在非易失性存儲(chǔ)器元件已被編程后,重要的是能夠高度可靠地讀回其編程狀態(tài)。 但是,由于多種因素,包括噪聲以及設(shè)備往往隨著時(shí)間而趨向于電中性,所以感測(cè)到的編程狀態(tài)有時(shí)可能與預(yù)期的編程狀態(tài)不同。應(yīng)當(dāng)注意,諸如溫度等環(huán)境因素會(huì)影響編程狀態(tài)變化的速率。例如,暴露于高溫下可能導(dǎo)致存儲(chǔ)器單元很快變?yōu)殡娭行浴?br>
因此,在讀取非易失性存儲(chǔ)器時(shí)可能遇到錯(cuò)誤的或遭破壞的數(shù)據(jù)比特。通常,采用某種形式的檢錯(cuò)和糾錯(cuò)算法(“糾錯(cuò)算法”)來(lái)檢驗(yàn)和糾正遭破壞的數(shù)據(jù)比特。一種常用的糾錯(cuò)算法是在寫入過(guò)程中存儲(chǔ)附加的奇偶校驗(yàn)位來(lái)將一組數(shù)據(jù)比特的奇偶性設(shè)置為所需的邏輯電平。附加的奇偶校驗(yàn)位有時(shí)稱為糾錯(cuò)碼(ECC)。在讀取過(guò)程中,糾錯(cuò)算法通過(guò)計(jì)算該組數(shù)據(jù)比特的奇偶性來(lái)對(duì)奇偶校驗(yàn)位解碼以檢測(cè)遭破壞的數(shù)據(jù)。該糾錯(cuò)算法糾正未遭嚴(yán)重破壞的數(shù)據(jù)。在一些實(shí)現(xiàn)中,遭破壞的數(shù)據(jù)越多,糾錯(cuò)算法用于糾正數(shù)據(jù)的時(shí)間越久。為防止數(shù)據(jù)遭破壞,可刷新存儲(chǔ)器單元中的數(shù)據(jù),這使該數(shù)據(jù)恢復(fù)到期望的閾值電壓。存儲(chǔ)器單元塊中數(shù)據(jù)的刷新往往通過(guò)以下實(shí)現(xiàn)讀取該數(shù)據(jù),糾正由糾錯(cuò)算法檢測(cè)到的錯(cuò)誤,以及將該數(shù)據(jù)寫入到不同的塊中,這作為包括損耗均衡在內(nèi)的方案的一部分。但是,如果需要的話,數(shù)據(jù)可被寫入相同的塊中。然而,數(shù)據(jù)刷新太過(guò)頻繁會(huì)使存儲(chǔ)器單元負(fù)擔(dān)過(guò)重。而且,數(shù)據(jù)刷新可能干擾用戶自身對(duì)存儲(chǔ)器的訪問(wèn)。因此,一方面,如果數(shù)據(jù)刷新的頻率不夠,則數(shù)據(jù)可能丟失或者由于糾錯(cuò)算法需花更長(zhǎng)時(shí)間來(lái)糾正數(shù)據(jù)而可能導(dǎo)致存儲(chǔ)器訪問(wèn)緩慢。另一方面,如果數(shù)據(jù)刷新太頻繁,則存儲(chǔ)器設(shè)備可能負(fù)擔(dān)太重或者用戶存儲(chǔ)器訪問(wèn)可能受阻。而且,在存儲(chǔ)器設(shè)備可能受到不同的環(huán)境條件(例如大范圍的溫度)時(shí),確定何時(shí)刷新數(shù)據(jù)尤其具有挑戰(zhàn)性。例如,存儲(chǔ)器設(shè)備可能嵌入個(gè)人導(dǎo)航設(shè)備中,該導(dǎo)航設(shè)備可能留在??康钠囍?。在夏日,車內(nèi)溫度可能上升至極高的溫度。在另一方面,存儲(chǔ)器設(shè)備可能經(jīng)過(guò)很長(zhǎng)的一段時(shí)間而沒有被置于高溫下。因此,非常難以預(yù)計(jì)環(huán)境條件例如溫度會(huì)對(duì)數(shù)據(jù)保持起的作用。
發(fā)明內(nèi)容
本發(fā)明公開的技術(shù)用于刷新非易失性存儲(chǔ)器設(shè)備中的數(shù)據(jù),該刷新足夠頻繁,足以克服錯(cuò)誤的或遭破壞的數(shù)據(jù)比特,但不會(huì)太頻繁而干擾存儲(chǔ)器存取或?qū)е麓鎯?chǔ)器單元負(fù)擔(dān)過(guò)重。該技術(shù)非常適合可能被置于各種環(huán)境條件(如大范圍的溫度)下的存儲(chǔ)器設(shè)備。一個(gè)實(shí)施例包括基于設(shè)備中第一組非易失性存儲(chǔ)器元件中的數(shù)據(jù)的條件,確定執(zhí)行對(duì)該第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新;根據(jù)相對(duì)于最近一次對(duì)所述第一組非易失性存儲(chǔ)器元件進(jìn)行了編程的時(shí)間于何時(shí)對(duì)該設(shè)備中的第二組非易失性存儲(chǔ)器元件進(jìn)行了最近一次編程,確定應(yīng)當(dāng)對(duì)該第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序;以及對(duì)所述第二組非易失性存儲(chǔ)器元件執(zhí)行所述刷新程序。一個(gè)實(shí)施例包括將數(shù)據(jù)寫入多狀態(tài)非易失性存儲(chǔ)器元件的集合;基于該集合中的第一組非易失性存儲(chǔ)器元件中的一個(gè)或多個(gè)非易失性存儲(chǔ)器元件的條件,確定是否應(yīng)當(dāng)執(zhí)行對(duì)該第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新;如果確定出應(yīng)當(dāng)刷新該第一組中存儲(chǔ)的數(shù)據(jù),則確定該集合中的那些非易失性存儲(chǔ)器元件在第一組非易失性存儲(chǔ)器元件之前被寫入;以及確定在第一組之前被寫入的非易失性存儲(chǔ)器元件應(yīng)當(dāng)進(jìn)行刷新程序。一個(gè)實(shí)施例為一種用于操作多狀態(tài)存儲(chǔ)器設(shè)備的方法,該存儲(chǔ)器設(shè)備被組織成為非易失性存儲(chǔ)器元件的塊。該方法包括確定所述塊中的第一塊中的一個(gè)或多個(gè)非易失性存儲(chǔ)器元件存在數(shù)據(jù)完整性問(wèn)題;確定該設(shè)備中的哪些塊在該第一塊之前被寫入;以及在沒有確定在所述第一塊之前被寫入的塊中的非易失性存儲(chǔ)器元件存在數(shù)據(jù)完整性問(wèn)題的情況下,刷新在所述第一塊和在該第一塊之前被寫入的其它塊中所存儲(chǔ)的數(shù)據(jù)。
一種示例性實(shí)現(xiàn)包括非易失性存儲(chǔ)器元件的集合,以及與該非易失性存儲(chǔ)器元件的集合通信的一個(gè)或多個(gè)管理電路。所述一個(gè)或多個(gè)管理電路執(zhí)行上述處理。
圖1是NAND串的俯視圖;圖2是NAND串的等效電路圖;圖3是非易失性存儲(chǔ)器系統(tǒng)的框圖;圖4是示出存儲(chǔ)器陣列的一個(gè)實(shí)施例的框圖;圖5是示出感測(cè)塊的一個(gè)實(shí)施例的框圖;圖6A示出Vt分布的示例性集合;圖6B示出Vt分布的示例性集合;圖7是其中可嵌入根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器設(shè)備的示例性移動(dòng)式設(shè)備;圖8示出應(yīng)當(dāng)刷新數(shù)據(jù)的塊的確定過(guò)程的一個(gè)實(shí)施例;圖9A的流程圖示出存儲(chǔ)器陣列的塊中所存儲(chǔ)數(shù)據(jù)的刷新過(guò)程的一個(gè)實(shí)施例;圖9B的流程圖描述用于對(duì)非易失性存儲(chǔ)器進(jìn)行編程的過(guò)程的一個(gè)實(shí)施例;圖IOA的流程圖示出用于確定塊是否存在數(shù)據(jù)完整性問(wèn)題的過(guò)程的一個(gè)實(shí)施例;圖IOB示出基于有多少比特需要根據(jù)糾錯(cuò)算法進(jìn)行更正來(lái)確定是否需要進(jìn)行數(shù)據(jù)刷新的過(guò)程的一個(gè)實(shí)施例;圖IOC示出基于糾錯(cuò)算法收斂所需時(shí)間來(lái)確定是否需要進(jìn)行數(shù)據(jù)刷新的過(guò)程的一個(gè)實(shí)施例;圖11示出示例性分布函數(shù);圖12示出存儲(chǔ)用于確定是否需要進(jìn)行數(shù)據(jù)刷新的值的表格的一個(gè)實(shí)施例;圖13A示出標(biāo)識(shí)出候選塊用于刷新程序的過(guò)程的一個(gè)實(shí)施例;圖13B的流程圖示出用于標(biāo)識(shí)出候選塊用于刷新程序的過(guò)程的一個(gè)實(shí)施例;圖14示出用于標(biāo)識(shí)刷新程序候選塊的序號(hào)的管理過(guò)程的一個(gè)實(shí)施例;圖15示出用于選擇刷新程序候選塊的時(shí)間戳的管理過(guò)程的一個(gè)實(shí)施例;圖16示出警告用戶采取旨在減輕數(shù)據(jù)保持問(wèn)題的動(dòng)作的過(guò)程的一個(gè)實(shí)施例。
具體實(shí)施例方式閃速存儲(chǔ)器系統(tǒng)的一個(gè)示例使用NAND結(jié)構(gòu),其包括布置串聯(lián)的多個(gè)晶體管,夾于兩個(gè)選擇柵極之間。所述串聯(lián)的晶體管和所述選擇柵極被稱為NAND串。圖1是示出一個(gè) NAND串的俯視圖。圖2是其等效電路。圖1和圖2中所示的NAND串包括串聯(lián)且夾在第一 (或漏極側(cè))選擇柵極120與第二(或源極側(cè))選擇柵極122之間的四個(gè)晶體管100、102、 104和106。選擇柵極120通過(guò)比特線接觸126將NAND串與比特線連接。選擇柵極122將 NAND串與源極線128連接。通過(guò)將適當(dāng)?shù)碾妷菏┘拥竭x擇線S⑶控制選擇柵極120。通過(guò)將適當(dāng)?shù)碾妷菏┘拥竭x擇線SGS控制選擇柵極122。晶體管100、102、104和106中的每一個(gè)具有控制柵極和浮置柵極。例如,晶體管loo具有控制柵極ioocG和浮置柵極loore。 晶體管102包括控制柵極102CG和浮置柵極102TO。晶體管104包括控制柵極104CG和浮置柵極104TO。晶體管106包括控制柵極106CG和浮置柵極106TO??刂茤艠O100CG連接
6到字線WL3,控制柵極102CG連接到字線WL2,控制柵極104CG連接到字線WLl,且控制柵極 106CG連接到字線WLO。注意,雖然圖1和圖2示出在NAND串中有四個(gè)存儲(chǔ)器單元,但是使用四個(gè)存儲(chǔ)器單元僅為示例。NAND串可具有少于四個(gè)存儲(chǔ)器單元或多于四個(gè)存儲(chǔ)器單元。例如,一些 NAND串會(huì)包括八個(gè)存儲(chǔ)器單元、16個(gè)存儲(chǔ)器單元、32個(gè)存儲(chǔ)器單元、64個(gè)存儲(chǔ)器單元、128 個(gè)存儲(chǔ)器單元,等等。本文的討論并不限于NAND串中任何特定數(shù)量的存儲(chǔ)器單元。使用NAND結(jié)構(gòu)的閃速存儲(chǔ)器系統(tǒng)的典型架構(gòu)可包括若干NAND串。每一 NAND串通過(guò)其受選擇線SGS控制的源極選擇柵極而連接至源極線,并且通過(guò)其受選擇線SGD控制的漏極選擇柵極而連接至其所關(guān)聯(lián)的比特線。每一比特線以及經(jīng)由比特線接觸部連接到該比特線的相應(yīng)NAND串包括存儲(chǔ)器單元陣列的列。多個(gè)NAND串共字比特線。通常,比特線在垂直于字線的方向上在NAND串的頂部走線,并且連接到一個(gè)或多個(gè)感測(cè)放大器。每一存儲(chǔ)器單元可存儲(chǔ)數(shù)據(jù)(模擬或數(shù)字?jǐn)?shù)據(jù))。當(dāng)存儲(chǔ)一比特?cái)?shù)字?jǐn)?shù)據(jù)時(shí),存儲(chǔ)器單元的可能閾值電壓的范圍被劃分為兩個(gè)范圍,這兩個(gè)范圍被分配給邏輯數(shù)據(jù)“1”和 “0”。在NAND類型閃速存儲(chǔ)器的一個(gè)示例中,閾值電壓在存儲(chǔ)器單元被擦除之后是負(fù)值,并且定義為邏輯“1”。在編程之后的閾值電壓是正值,并且定義為邏輯“0”。當(dāng)閾值電壓是負(fù)值并且通過(guò)將0伏特施加至控制柵極而嘗試讀取時(shí),存儲(chǔ)器單元會(huì)導(dǎo)通以指示目前存儲(chǔ)的是邏輯1。當(dāng)閾值電壓是正值并且通過(guò)將0伏特施加至控制柵極而嘗試讀取操作時(shí),存儲(chǔ)器單元不會(huì)導(dǎo)通,這指示存儲(chǔ)的是邏輯零。在存儲(chǔ)多個(gè)數(shù)據(jù)電平的情況下,可能閾值電壓的范圍劃分為所述數(shù)據(jù)電平的數(shù)目。例如,如果存儲(chǔ)四個(gè)電平的信息(兩個(gè)比特?cái)?shù)據(jù)),則會(huì)有分配給數(shù)據(jù)值“11”、“10”、 “01”和“00”的四個(gè)閾值電壓范圍。在NAND類型存儲(chǔ)器的一個(gè)示例中,在擦除操作之后的閾值電壓是負(fù)值且定義為“11”。正閾值電壓用于數(shù)據(jù)狀態(tài)“10”、“01”和“00”。如果存儲(chǔ)八個(gè)電平的信息(或狀態(tài))(例如對(duì)于三比特?cái)?shù)據(jù)),則會(huì)有分配給數(shù)據(jù)值“000”、“001”、 “010”、“011”、“100”、“101”、“110”、“111”的八個(gè)閾值電壓范圍。被編程至存儲(chǔ)器單元中的數(shù)據(jù)與該存儲(chǔ)器單元的閾值電壓電平之間的特定關(guān)系取決于所述單元采用的數(shù)據(jù)編碼方案。例如,第6,222,762號(hào)美國(guó)專利和第2004/0255090 號(hào)美國(guó)專利申請(qǐng)公布描述了用于多狀態(tài)閃速存儲(chǔ)器單元的各種數(shù)據(jù)編碼方案,這兩個(gè)專利和專利申請(qǐng)皆通過(guò)引用整體并入本文。在一個(gè)實(shí)施例中,使用格雷碼分配方式來(lái)將數(shù)據(jù)值分配給閾值電壓范圍,從而如果浮置柵極的閾值電壓錯(cuò)誤地變?yōu)槠溧徑奈锢頎顟B(tài),則僅會(huì)有一個(gè)比特受影響。在一些實(shí)施例中,數(shù)據(jù)編碼方案可隨不同的字線而不同,數(shù)據(jù)編碼方案可以隨時(shí)間而改變,或者可將隨機(jī)字線的數(shù)據(jù)比特反轉(zhuǎn)或者隨機(jī)化,以降低數(shù)據(jù)模式敏感性甚至存儲(chǔ)器單元上的損耗。在以下美國(guó)專利/專利申請(qǐng)中提供了 NAND型閃速存儲(chǔ)器的有關(guān)示例及其操作第 5,570,315號(hào)美國(guó)專利;第5,774,397號(hào)美國(guó)專利;第6,046,935號(hào)美國(guó)專利;第6,456,528 號(hào)美國(guó)專利;以及美國(guó)專利公開NO.US2003/0002348,所有這些專利/專利申請(qǐng)通過(guò)引用并入本文。這里的說(shuō)明也可應(yīng)用于除NAND之外的其它類型的閃速存儲(chǔ)器以及其它類型的非易失性存儲(chǔ)器。除了 NAND閃速存儲(chǔ)器之外,也可以使用其它類型的非易失性存儲(chǔ)器設(shè)備。例如,所謂的TANOS結(jié)構(gòu)(包括硅襯底上的TaN-Al2O3-SiN-SiO2疊層),其本質(zhì)上為利用了氮化物層(而不是浮置柵極)中的電荷捕獲的存儲(chǔ)器單元,也可與本發(fā)明一起使用。可用于閃速EEPROM系統(tǒng)中的另一類型的存儲(chǔ)器單元利用非導(dǎo)電介電材料代替導(dǎo)電浮置柵極來(lái)以非易失性方式存儲(chǔ)電荷。在Chan等人的文章“A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device”(IEEE Electron Device Letters,卷 EDL-8,第 3 號(hào),1987年3月,第93-95頁(yè))中描述了這種單元。以氧化硅、氮化硅和氧化硅(“0N0”) 形成的三層電介質(zhì)夾在導(dǎo)電的控制柵極與存儲(chǔ)器單元溝道上方的半導(dǎo)電襯底的表面之間。 通過(guò)將電子從該單元溝道注入到氮化物中對(duì)該單元進(jìn)行編程,在該氮化物中,電子被捕獲并存儲(chǔ)在有限區(qū)域中。這種存儲(chǔ)的電荷于是以可檢測(cè)的方式改變?cè)搯卧囊徊糠譁系赖拈撝惦妷?。通過(guò)將熱空穴注入氮化物中來(lái)擦除存儲(chǔ)器單元。此外,參見Nozaki等人著的"A I-Mb EEPROM with M0N0S Memory Cell for Semiconductor Disk Application,“ (IEEE Journal of Solid-State Circuits,卷 26,第 4 號(hào),1991 年 4 月,第 497-501 頁(yè)),其描述了為分離柵極式結(jié)構(gòu)的類似存儲(chǔ)器單元,其中,摻雜的多晶硅柵極在存儲(chǔ)器單元溝道的一部分上延伸以形成單獨(dú)的選擇晶體管。前述兩篇文章通過(guò)引用而全部并入本文。在通過(guò)引用并入本文的、由 William D. Brown 禾口 Joe Ε. Brewer 編輯的"Nonvolatile Semiconductor Memory Technology”(IEEE Press,1998年)的第1. 2部分中提到的編程技術(shù)在該部分中也被描述為可應(yīng)用于電介質(zhì)電荷捕獲設(shè)備。也可以使用其它類型的存儲(chǔ)器設(shè)備。圖3示出非易失性存儲(chǔ)器器件210,該存儲(chǔ)器器件210可包括一個(gè)或多個(gè)存儲(chǔ)器管芯或芯片212。存儲(chǔ)器管芯212包括存儲(chǔ)器單元的(二維或三維)陣列200、控制電路 220以及讀取/寫入電路230A和230B。在一個(gè)實(shí)施例中,通過(guò)各種外圍電路對(duì)存儲(chǔ)器陣列 200的存取是以對(duì)稱方式(在該陣列的相對(duì)兩側(cè))實(shí)現(xiàn)的,使得每側(cè)的存取線和電路的密度減少一半。讀取/寫入電路230A和230B包括多個(gè)感測(cè)塊300,所述感測(cè)塊允許并行讀取存儲(chǔ)器單元的頁(yè)面或者對(duì)其進(jìn)行編程。存儲(chǔ)器陣列200可經(jīng)由行解碼器240A和240B由字線尋址以及經(jīng)由列解碼器242A和242B由比特線尋址。在典型實(shí)施例中,控制器244與一個(gè)或多個(gè)存儲(chǔ)器管芯212包括在同一存儲(chǔ)器器件210 (例如可移動(dòng)存儲(chǔ)卡或封裝)中。命令和數(shù)據(jù)經(jīng)由線232在主機(jī)與控制器244之間傳輸并且經(jīng)由線234在控制器與一個(gè)或多個(gè)存儲(chǔ)器管芯212之間傳輸。一種實(shí)現(xiàn)可包括多個(gè)芯片212??刂齐娐?20與讀取/寫入電路230A和230B協(xié)作,以對(duì)存儲(chǔ)器陣列200執(zhí)行存儲(chǔ)器操作??刂齐娐?20包括狀態(tài)機(jī)222、片上地址解碼器224和功率控制模塊226。狀態(tài)機(jī)222提供存儲(chǔ)器操作的芯片級(jí)控制。片上地址解碼器224提供在由主機(jī)或存儲(chǔ)器控制器使用的地址與由解碼器240A、240B、242A和242B使用的硬件地址之間轉(zhuǎn)換的地址接口。功率控制模塊226控制在存儲(chǔ)器操作期間供應(yīng)給字線和比特線的功率和電壓。在一個(gè)實(shí)施例中,功率控制模塊226包括一個(gè)或多個(gè)電荷泵,所述電荷泵可形成比電源電壓更高的電壓。在一個(gè)實(shí)施例中,控制電路220、功率控制電路226、解碼器電路224、狀態(tài)機(jī)電路 222、解碼器電路242A、解碼器電路242B、解碼器電路240A、解碼器電路240B、讀取/寫入電路230A、讀取/寫入電路230B和/或控制器244中的一個(gè)或其任何組合可以被稱為一個(gè)或多個(gè)管理電路。圖4描述存儲(chǔ)器單元陣列200的示例性結(jié)構(gòu)。在一個(gè)實(shí)施例中,存儲(chǔ)器單元陣列劃分為M個(gè)存儲(chǔ)器單元塊。對(duì)于EEPROM系統(tǒng),通常,塊是擦除的單位。也就是說(shuō),每個(gè)塊包含被一起擦除的最小數(shù)量的存儲(chǔ)器單元。每個(gè)塊通常分成數(shù)個(gè)頁(yè)面。頁(yè)面是編程單位。在一行存儲(chǔ)器單元中通常存儲(chǔ)一個(gè)或多個(gè)數(shù)據(jù)頁(yè)面。頁(yè)面可存儲(chǔ)一個(gè)或多個(gè)扇區(qū)。扇區(qū)包括用戶數(shù)據(jù)和開銷數(shù)據(jù)。開銷數(shù)據(jù)通常包括從扇區(qū)的用戶數(shù)據(jù)計(jì)算出的糾錯(cuò)碼(ECC)。當(dāng)數(shù)據(jù)被編程到陣列中時(shí),控制器的一部分(在下文中描述)計(jì)算ECC,并且當(dāng)數(shù)據(jù)從陣列中被讀取時(shí)還對(duì)ECC進(jìn)行檢查?;蛘撸珽CC和/或其它開銷數(shù)據(jù)存儲(chǔ)在與其所屬的用戶數(shù)據(jù)不同的頁(yè)面或甚至不同的塊中。用戶數(shù)據(jù)扇區(qū)通常是512字節(jié),對(duì)應(yīng)于磁盤驅(qū)動(dòng)器中扇區(qū)的大小。大量的頁(yè)面形成塊,例如為從8個(gè)頁(yè)面直至32、64、128或更多個(gè)頁(yè)面中的任何數(shù)量。 也可使用不同大小的塊和布置。在另一實(shí)施例中,比特線劃分為奇比特線和偶比特線。在奇/偶比特線架構(gòu)中,在一個(gè)時(shí)間對(duì)公共字線上的、連接到奇比特線的存儲(chǔ)器單元進(jìn)行編程,而在另一時(shí)間對(duì)公共字線上的、連接到偶比特線的存儲(chǔ)器單元進(jìn)行編程。圖4示出存儲(chǔ)器陣列200的塊i的更多細(xì)節(jié)。塊i包括X+1個(gè)比特線和X+1個(gè) NAND串。塊i還包括64個(gè)數(shù)據(jù)字線(WL0-WL63)、兩個(gè)啞元字線(WL_dO和WL_dl)、漏極側(cè)選擇線(SGD)和源極側(cè)選擇線(SGS)。每一 NAND串的一個(gè)端子經(jīng)由漏極選擇柵極(其連接至選擇線SGD)連接至相應(yīng)比特線,而另一端子經(jīng)由源極選擇柵極(其連接至選擇線SGS) 連接至源極線。因?yàn)榇嬖?4個(gè)數(shù)據(jù)字線和兩個(gè)啞元字線,所以每一 NAND串包括64個(gè)數(shù)據(jù)存儲(chǔ)器單元和兩個(gè)啞元存儲(chǔ)器單元。在其它實(shí)施例中,NAND串可具有多于或少于64個(gè)數(shù)據(jù)存儲(chǔ)器單元和兩個(gè)啞元存儲(chǔ)器單元。數(shù)據(jù)存儲(chǔ)器單元可存儲(chǔ)用戶或系統(tǒng)數(shù)據(jù)。啞元存儲(chǔ)器單元通常并不用于存儲(chǔ)用戶或系統(tǒng)數(shù)據(jù)。一些實(shí)施例不包括啞元存儲(chǔ)器單元。圖5是單個(gè)感測(cè)塊300的框圖,該感測(cè)塊被分區(qū)為核心部分(稱為感測(cè)模塊480) 和公共部分490。在一個(gè)實(shí)施例中,關(guān)于每一比特線會(huì)具有單獨(dú)的感測(cè)模塊480且關(guān)于多個(gè)感測(cè)模塊480的集合具有一個(gè)公共部分490。在一個(gè)示例中,感測(cè)塊包括一個(gè)公共部分490 和八個(gè)感測(cè)模塊480。在組中的每個(gè)感測(cè)模塊將經(jīng)由數(shù)據(jù)總線472與關(guān)聯(lián)的公共部分通信。 請(qǐng)參考美國(guó)專利申請(qǐng)公布2006/0140007獲取更多細(xì)節(jié),該申請(qǐng)通過(guò)引用全部并入本文。感測(cè)模塊480包括感測(cè)電路470,其確定所連接的比特線中的傳導(dǎo)電流是大于還是小于預(yù)定閾值電平。在一些實(shí)施例中,感測(cè)模塊480包括通常稱為感測(cè)放大器的電路。 感測(cè)模塊480還包括比特線鎖存器482,其用于設(shè)置關(guān)于所連接的比特線的電壓條件。例如,比特線鎖存器482中鎖存的預(yù)定狀態(tài)會(huì)導(dǎo)致所連接的比特線被拉到指出編程禁止的狀態(tài)(例如Vdd)。公共部分490包括處理器492、數(shù)據(jù)鎖存器494集合和耦合在數(shù)據(jù)鎖存器494集合與數(shù)據(jù)總線420之間的I/O接口 496。處理器492執(zhí)行計(jì)算。例如,其功能之一在于,確定感測(cè)到的存儲(chǔ)器單元中存儲(chǔ)的數(shù)據(jù),并且將確定的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)鎖存器集合中。數(shù)據(jù)鎖存器494集合用于在讀取操作期間存儲(chǔ)由處理器492確定的數(shù)據(jù)比特。其還用于在編程操作期間存儲(chǔ)從數(shù)據(jù)總線420導(dǎo)入的數(shù)據(jù)比特。導(dǎo)入的數(shù)據(jù)比特代表要被編程到存儲(chǔ)器中的寫入數(shù)據(jù)。I/O接口 496在數(shù)據(jù)鎖存器494與數(shù)據(jù)總線420之間提供接口。在讀取或感測(cè)期間,系統(tǒng)的操作受狀態(tài)機(jī)222控制,該狀態(tài)機(jī)222控制將不同控制柵極電壓供給尋址到的存儲(chǔ)器單元。隨著遍歷與存儲(chǔ)器所支持的不同存儲(chǔ)器狀態(tài)對(duì)應(yīng)的各預(yù)定控制柵極電壓,感測(cè)模塊480可在這些電壓之一處跳變,并且將從感測(cè)模塊480經(jīng)由總線472向處理器492提供輸出。此時(shí),通過(guò)考慮感測(cè)模塊的跳變事件以及關(guān)于從狀態(tài)機(jī)通過(guò)輸入線493施加的控制柵極電壓的信息,處理器492確定所得存儲(chǔ)器狀態(tài)。然后計(jì)算存儲(chǔ)器狀態(tài)的二進(jìn)制編碼并將所得數(shù)據(jù)比特存儲(chǔ)在數(shù)據(jù)鎖存器494中。在核心部分的另一實(shí)施例中,比特線鎖存器482具有雙重職責(zé),既作為用于對(duì)感測(cè)模塊480的輸出進(jìn)行鎖存的鎖存器,又作為如上所述的比特線鎖存器??梢韵氲剑恍?shí)現(xiàn)方式可包括多個(gè)處理器492。在一個(gè)實(shí)施例中,每一處理器 492包括輸出線(圖5中未示出),使得每一輸出線是線或(wired-OR)在一起的。在一些實(shí)施例中,輸出線在連接到線或的線之前被反轉(zhuǎn)。因?yàn)榻邮赵摼€或的線的狀態(tài)機(jī)能夠確定被編程的所有比特何時(shí)已達(dá)到期望電平,所以這種配置使得能夠在編程驗(yàn)證處理期間快速確定編程處理何時(shí)已完成。例如,當(dāng)每一比特均已達(dá)到其期望電平時(shí),會(huì)向線或的線發(fā)送關(guān)于該比特的邏輯0(或數(shù)據(jù)1被反轉(zhuǎn))。當(dāng)所有比特輸出數(shù)據(jù)0(或反轉(zhuǎn)的數(shù)據(jù)1)時(shí),則狀態(tài)機(jī)獲知要終止編程處理。在每一處理器與八個(gè)感測(cè)模塊通信的實(shí)施例中,狀態(tài)機(jī)可能(在一些實(shí)施例中)需要八次讀取線或的線,或者在處理器492中添加邏輯以累加關(guān)聯(lián)的比特線的結(jié)果,使得狀態(tài)機(jī)僅需讀取線或的線一次。在編程或驗(yàn)證期間,待編程的數(shù)據(jù)來(lái)自數(shù)據(jù)總線420并存儲(chǔ)在數(shù)據(jù)鎖存器494集合中。受狀態(tài)機(jī)控制的編程操作包括施加至尋址到的存儲(chǔ)器單元的控制柵極的編程電壓脈沖序列(其幅值漸增)。每一編程脈沖后跟隨著用于確定存儲(chǔ)器單元是否已被編程為期望狀態(tài)的驗(yàn)證處理。處理器492相對(duì)于期望的存儲(chǔ)器狀態(tài)來(lái)監(jiān)控被驗(yàn)證的存儲(chǔ)器狀態(tài)。當(dāng)這二者吻合時(shí),處理器492設(shè)置比特線鎖存器482,從而使得該比特線被拉到指示編程禁止的狀態(tài)。這樣,即使耦合到該比特線的存儲(chǔ)器單元在其控制柵極上受到編程脈沖,也能禁止該單元被進(jìn)一步編程。在其它實(shí)施例中,處理器在初始時(shí)加載比特線鎖存器482,且感測(cè)電路在驗(yàn)證處理期間將其設(shè)置為禁止值。數(shù)據(jù)鎖存器棧494包含與感測(cè)模塊對(duì)應(yīng)的數(shù)據(jù)鎖存器的棧。在一個(gè)實(shí)施例中,每感測(cè)模塊480存在3-5個(gè)(或另一數(shù)量)的數(shù)據(jù)鎖存器。在一個(gè)實(shí)施例中,鎖存器中每個(gè)為一比特。在一些實(shí)現(xiàn)方式中(但不要求),數(shù)據(jù)鎖存器被實(shí)現(xiàn)為移位寄存器,從而其中存儲(chǔ)的并行數(shù)據(jù)被轉(zhuǎn)換為串行數(shù)據(jù)用于數(shù)據(jù)總線420,反之亦然。在一個(gè)優(yōu)選實(shí)施例中,與m個(gè)存儲(chǔ)器單元的讀取/寫入塊對(duì)應(yīng)的所有數(shù)據(jù)鎖存器可被鏈接在一起以形成塊移位寄存器, 從而數(shù)據(jù)塊可通過(guò)串行傳送而輸入或輸出。具體地說(shuō),調(diào)整一排讀取/寫入模塊,從而其數(shù)據(jù)鎖存器集合中的每一個(gè)會(huì)仿佛它們?yōu)橛糜谡麄€(gè)讀取/寫入塊的移位寄存器的一部分那樣將數(shù)據(jù)依次移入或者移出數(shù)據(jù)總線。在(1)第7,196,931 號(hào)美國(guó)專利 “Non-Volatile Memory And Method With Reduced Source Line Bias Errors", (2)第 7, 023, 736 號(hào)美國(guó)專利 “Non-Volatile Memory And Method with Improved Sensing”,(3)美國(guó)專利申請(qǐng)公布 No. 2005/0169082, (4)第 7,196,928 號(hào)美國(guó)專禾Ij "Compensating for Coupling During Read Operations of Non-Volatile Memory”和(5)2006年7月20日公布的美國(guó)專利申請(qǐng)公布 No. 2006/0158947 "Reference Sense Amplifier For Non-Volatile Memory"
取操作和感測(cè)放大器的其它信息。所有這五個(gè)剛列出的專利文獻(xiàn)通過(guò)引用而全部并入本文。在適當(dāng)時(shí),在成功編程處理(具有驗(yàn)證)結(jié)束時(shí),存儲(chǔ)器單元的閾值電壓應(yīng)在被編程的存儲(chǔ)器單元的閾值電壓的一個(gè)或多個(gè)分布內(nèi),或在被擦除的存儲(chǔ)器單元的閾值電壓的分布內(nèi)。圖6Α示出當(dāng)每一存儲(chǔ)器單元存儲(chǔ)四個(gè)數(shù)據(jù)比特時(shí)與存儲(chǔ)器單元陣列的數(shù)據(jù)狀態(tài)對(duì)應(yīng)的示例性Vt分布。然而,另外的實(shí)施例可關(guān)于每個(gè)存儲(chǔ)器單元使用多于四個(gè)或少于四個(gè)比特的數(shù)據(jù)。圖6A示出與數(shù)據(jù)狀態(tài)0-15對(duì)應(yīng)的16個(gè)Vt分布。在一個(gè)實(shí)施例中,狀態(tài) 0中的閾值電壓是負(fù)值,而狀態(tài)1-15中的閾值電壓是正值。然而,狀態(tài)1-15中的一個(gè)或多個(gè)中的閾值電壓可以是負(fù)值。在數(shù)據(jù)狀態(tài)0-15中各狀態(tài)之間是用于從存儲(chǔ)器單元讀取數(shù)據(jù)的讀取基準(zhǔn)電壓。 例如,圖6A示出數(shù)據(jù)狀態(tài)0與數(shù)據(jù)狀態(tài)1之間的讀取基準(zhǔn)電壓Vrl,以及數(shù)據(jù)狀態(tài)1與數(shù)據(jù)狀態(tài)2之間的讀取基準(zhǔn)電壓Vr2。通過(guò)測(cè)試給定存儲(chǔ)器單元的閾值電壓是大于還是小于相應(yīng)的讀取基準(zhǔn)電壓,系統(tǒng)能夠確定存儲(chǔ)器單元處于什么狀態(tài)。在每一數(shù)據(jù)狀態(tài)0-15的下邊緣或該下邊緣附近為驗(yàn)證基準(zhǔn)電壓。例如,圖6A示出關(guān)于狀態(tài)1的Vvl和關(guān)于狀態(tài)2的Vv2。當(dāng)將存儲(chǔ)器單元編程為給定狀態(tài)時(shí),系統(tǒng)會(huì)測(cè)試這些存儲(chǔ)器單元是否具有大于或等于驗(yàn)證基準(zhǔn)電壓的閾值電壓。圖6B示出由于糾錯(cuò)算法能夠處理特定百分比的錯(cuò)誤的存儲(chǔ)器單元,所以與數(shù)據(jù)狀態(tài)0-15對(duì)應(yīng)的Vt分布的另一實(shí)施例可部分交疊。還應(yīng)當(dāng)注意,由于通過(guò)源極或體偏置產(chǎn)生的襯底效應(yīng)(body effect)被用于將負(fù)閾值電壓偏移至可測(cè)量的正值范圍中,因此Vt軸可偏離被施加至控制柵極的實(shí)際電壓。還需要注意,與所示十六個(gè)狀態(tài)的相等的間隔/寬度相反,不同狀態(tài)可具有不同的寬度/間隔,以容忍對(duì)數(shù)據(jù)保持損失的不同的敏感度。在一些實(shí)施例中,狀態(tài)0和/或15比其它狀態(tài)更寬。圖7示出示例性移動(dòng)式設(shè)備700,其中嵌入了根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器設(shè)備 210。該示例性設(shè)備700具有全球衛(wèi)星定位(GPQ接收器710,用于接收GPS信息,使其能夠用作個(gè)人導(dǎo)航設(shè)備。存儲(chǔ)器設(shè)備210可用于存儲(chǔ)地圖,基于由GPS信息確定的該示例性設(shè)備的位置,處理器720在顯示器702上向用戶顯示該地圖。通常,在用戶于存儲(chǔ)器設(shè)備210中存儲(chǔ)了一套地圖后,則用戶在較長(zhǎng)一時(shí)間段內(nèi)不需要覆蓋所存儲(chǔ)的地圖。例如,地圖數(shù)據(jù)中的大部分在數(shù)年內(nèi)不會(huì)改變。這里描述的實(shí)施例確定每隔多久刷新數(shù)據(jù),例如地圖數(shù)據(jù),該刷新足夠頻繁以保護(hù)該數(shù)據(jù),但是也不會(huì)太頻繁而干擾用戶或使存儲(chǔ)器設(shè)備210負(fù)擔(dān)過(guò)重。該示例性設(shè)備700用作具有嵌入式存儲(chǔ)器設(shè)備210的設(shè)備的一個(gè)示例。但是,嵌入式存儲(chǔ)器設(shè)備210可與個(gè)人數(shù)字助理、蜂窩電話、 個(gè)人媒體播放器等一起使用。圖8示出用于確定存儲(chǔ)器設(shè)備210中的哪個(gè)塊應(yīng)該刷新其數(shù)據(jù)的處理800的實(shí)施例。通常,該處理800用于其中每個(gè)存儲(chǔ)器單元存儲(chǔ)多于一個(gè)比特的塊,例如每個(gè)存儲(chǔ)器單元存儲(chǔ)四比特的圖6A和6B所示示例。該處理800可以在存儲(chǔ)器設(shè)備210上電之后一有空閑時(shí)間時(shí)啟動(dòng),或者在此后定期地啟動(dòng)。在一個(gè)實(shí)施例中,存儲(chǔ)器設(shè)備210集成到便攜式設(shè)備(例如個(gè)人導(dǎo)航設(shè)備)中,該便攜式設(shè)備即使在其自身斷電后也可被供電較長(zhǎng)一段時(shí)間。 例如,個(gè)人導(dǎo)航設(shè)備可能某一次保持插入汽車的點(diǎn)煙器中數(shù)天,在這種情況下,能夠定期執(zhí)行該處理800。在一個(gè)實(shí)施例中,基于糾錯(cuò)算法的性能觸發(fā)處理800。例如,如果糾錯(cuò)算法的收斂時(shí)間過(guò)長(zhǎng),或者如果需要由糾錯(cuò)算法糾正的數(shù)據(jù)比特的數(shù)目大于臨界值,則啟動(dòng)處理800以確定特定的塊(與檢測(cè)到的問(wèn)題相關(guān)的塊或者其它塊)是否應(yīng)當(dāng)刷新其自身的數(shù)據(jù)。在步驟802中,選擇存儲(chǔ)器陣列200的塊進(jìn)行關(guān)于數(shù)據(jù)完整性問(wèn)題(例如數(shù)據(jù)保持問(wèn)題、讀取干擾問(wèn)題,等等)的測(cè)試。但是,不需要明確地標(biāo)識(shí)該數(shù)據(jù)完整性問(wèn)題的原因 (例如數(shù)據(jù)保持)。在一個(gè)實(shí)施例中,依次測(cè)試存儲(chǔ)器陣列200中的塊,以保證每個(gè)塊經(jīng)過(guò)測(cè)試。但是,可按不同的順序測(cè)試所述塊,例如按隨機(jī)順序,或者按所述塊最近一次被編程的順序。所述處理800并不必須要測(cè)試存儲(chǔ)器陣列200中的每個(gè)塊。例如,可推遲對(duì)近期編程的塊進(jìn)行測(cè)試。但是,由于難以監(jiān)視和記錄溫度歷史,因此可能難以預(yù)測(cè)對(duì)數(shù)據(jù)完整性問(wèn)題的影響。例如,可能難以直接確定存儲(chǔ)器設(shè)備210是否暴露于高溫下。例如,存儲(chǔ)器設(shè)備210可能留在溫度高的環(huán)境中,但是沒有電源來(lái)驅(qū)動(dòng)能夠監(jiān)視和存儲(chǔ)溫度數(shù)據(jù)的邏輯。 結(jié)果,即使近期編程的塊也可能進(jìn)行測(cè)試,以避免數(shù)據(jù)完整性問(wèn)題失敗。在一個(gè)實(shí)施例中,處理800僅選擇存儲(chǔ)器陣列200中少量的塊樣本進(jìn)行測(cè)試。在一個(gè)實(shí)施例中,僅對(duì)每存儲(chǔ)器單元存儲(chǔ)特定最小數(shù)量比特的塊進(jìn)行數(shù)據(jù)完整性問(wèn)題測(cè)試。例如,一些塊可能每存儲(chǔ)器單元存儲(chǔ)單個(gè)比特,而其它的塊可能每存儲(chǔ)器單元存儲(chǔ)四比特。在這種情況下,每存儲(chǔ)器單元存儲(chǔ)單個(gè)比特的塊在Vt分布之間具有很大的間隙而不需要測(cè)試O在一些實(shí)施例中,系統(tǒng)保證基本同時(shí)對(duì)整個(gè)數(shù)據(jù)塊進(jìn)行寫入,在這種情況下,不需要對(duì)所選擇的塊中的每個(gè)字線進(jìn)行數(shù)據(jù)完整性問(wèn)題分析。通過(guò)基本同時(shí)進(jìn)行寫入,意味著系統(tǒng)執(zhí)行以下規(guī)則如果對(duì)塊的寫入中斷,則放棄對(duì)該塊的寫入。也就是說(shuō),丟棄該塊中的數(shù)據(jù)并且后續(xù)將該數(shù)據(jù)寫入另一個(gè)塊。注意,基本同時(shí)進(jìn)行寫入并不意味著同時(shí)對(duì)所有字線進(jìn)行編程。通常,依次對(duì)字線進(jìn)行編程。基本同時(shí)對(duì)整個(gè)塊進(jìn)行寫入的一個(gè)示例是在其中每個(gè)存儲(chǔ)器單元存儲(chǔ)單個(gè)比特的塊(二進(jìn)制塊)中臨時(shí)存儲(chǔ)數(shù)據(jù)。于是,在填寫四個(gè)這樣的二進(jìn)制塊后,則數(shù)據(jù)被寫入每個(gè)存儲(chǔ)器單元存儲(chǔ)四個(gè)比特的塊(本文中稱為“X4塊”)中。如果對(duì)X4塊寫入數(shù)據(jù)中斷, 則放棄對(duì)該X4塊的寫入。隨后,仍在二進(jìn)制塊中的數(shù)據(jù)被寫入另一 X4塊中。如果該寫入完成而沒有中斷,則該塊寫入成功。因此,X4塊中的所有數(shù)據(jù)被基本同時(shí)寫入。在步驟804中,選擇所選塊中的一個(gè)字線進(jìn)行數(shù)據(jù)完整性分析。在一些實(shí)施例中, 系統(tǒng)保證以某一特定順序?qū)ψ志€進(jìn)行寫入。在以特定順序?qū)ψ志€進(jìn)行寫入的實(shí)施例中,選擇被寫入過(guò)的塊中的第一字線進(jìn)行數(shù)據(jù)完整性分析。在一個(gè)實(shí)施例中,隨機(jī)選擇字線。如果需要,可以對(duì)塊中的多個(gè)字線進(jìn)行數(shù)據(jù)完整性分析。并不是塊中的所有字線都需要作為候選者。在一個(gè)實(shí)施例中,可以選擇已知比其它字線更具問(wèn)題的字線進(jìn)行數(shù)據(jù)完整性分析。 例如,工程特征可能早已確定每個(gè)塊中的第一字線更容易具有數(shù)據(jù)完整性問(wèn)題。在其它實(shí)施例中,因?yàn)榭拷鼔K的中間的字線在每個(gè)塊測(cè)試單個(gè)字線的情況下可能更適合,所以可將該塊邊緣附近的字線排除在候選池之外。盡管在所述處理800的一個(gè)實(shí)施例中字線是隨機(jī)選擇的,但是并不要求隨機(jī)選擇字線。在一個(gè)實(shí)施例中,記錄經(jīng)測(cè)試的一個(gè)或多個(gè)字線,使得每個(gè)字線(或者至少是候選集合中的每一個(gè)字線)經(jīng)過(guò)測(cè)試。例如,可以按順序進(jìn)行字線的測(cè)試,在每次對(duì)塊進(jìn)行測(cè)試時(shí)測(cè)試不同的字線。在步驟806中,確定塊中被選字線中存儲(chǔ)的數(shù)據(jù)是否具有數(shù)據(jù)完整性問(wèn)題,該數(shù)據(jù)完整性問(wèn)題標(biāo)識(shí)該塊應(yīng)當(dāng)進(jìn)行刷新。圖10AU0B和IOC提供了能夠用于確定是否存在數(shù)據(jù)完整性問(wèn)題的數(shù)種技術(shù)的細(xì)節(jié)。簡(jiǎn)單而言,一種技術(shù)包括確定塊中的一個(gè)或多個(gè)Vt分布是否偏移大于允許量,大于允許量表示存在數(shù)據(jù)保持問(wèn)題。這樣的偏移還可能指出另一問(wèn)題,例如讀取干擾。對(duì)這種偏移的測(cè)試不要求對(duì)所有Vt分布進(jìn)行偏移分析。用于測(cè)試數(shù)據(jù)完整性問(wèn)題的另一技術(shù)包括對(duì)從被選塊的字線讀取的數(shù)據(jù)運(yùn)行糾錯(cuò)算法?;谛枰杉m錯(cuò)算法糾正的比特的數(shù)目,或者根據(jù)糾錯(cuò)算法收斂得到解所需的時(shí)間長(zhǎng)度,指出數(shù)據(jù)完整性問(wèn)題。如果存儲(chǔ)器單元塊不存在數(shù)據(jù)完整性問(wèn)題,則控制進(jìn)入步驟802以選擇另一個(gè)塊進(jìn)行測(cè)試。如果被選塊不存在數(shù)據(jù)完整性問(wèn)題,則保持該記錄,使得能夠在某時(shí)刷新該塊中的數(shù)據(jù)。應(yīng)當(dāng)注意,該數(shù)據(jù)不必立即刷新。例如,在執(zhí)行任何塊的數(shù)據(jù)刷新之前,可確定要刷新那個(gè)塊集合。在一些情況下,在執(zhí)行數(shù)據(jù)刷新之前設(shè)備可能斷電。在一個(gè)實(shí)施例中,使用備用塊來(lái)記錄應(yīng)當(dāng)刷新哪些數(shù)據(jù)塊。圖9A示出刷新數(shù)據(jù)的處理。應(yīng)當(dāng)注意,一旦確定一個(gè)塊具有數(shù)據(jù)完整性問(wèn)題,則可能許多其它塊也會(huì)存在同樣的問(wèn)題。例如,如果由于存儲(chǔ)器設(shè)備暴露于高溫下而引起數(shù)據(jù)完整性問(wèn)題,則其它的塊可能也具有同樣的數(shù)據(jù)完整性問(wèn)題。這對(duì)于在具有該問(wèn)題的塊之前最近編程的或者在其之后近期編程的其它的塊尤其如此。因此,這些其它的塊可以是刷新程序的候選者。因此,如果步驟806確定該塊具有數(shù)據(jù)完整性問(wèn)題(在下文中稱為“壞塊”),則控制進(jìn)入步驟808以確定其它的塊進(jìn)行刷新程序。在步驟808中,基于各個(gè)塊相對(duì)于壞塊最近一次編程的時(shí)間而于何時(shí)被最近一次編程,標(biāo)識(shí)要進(jìn)行刷新程序的塊。本文中,這些其它的塊被稱為“候選塊”。例如,將所有在壞塊之前進(jìn)行編程的塊標(biāo)識(shí)為候選塊。但是,在壞塊之后特定時(shí)間段內(nèi)進(jìn)行編程的塊也可被標(biāo)識(shí)為“候選塊”。在步驟810中,對(duì)候選塊執(zhí)行刷新程序。該刷新程序確定候選塊中的數(shù)據(jù)是否應(yīng)當(dāng)刷新。在一個(gè)實(shí)施例中,刷新程序自動(dòng)刷新候選塊中的數(shù)據(jù),而不確定在候選塊中是否存在數(shù)據(jù)完整性問(wèn)題。在一個(gè)這樣的自動(dòng)數(shù)據(jù)刷新實(shí)施例中,圖9A的處理900用于實(shí)現(xiàn)步驟 810。在一個(gè)實(shí)施例中,步驟810的刷新程序確定候選塊是否存在數(shù)據(jù)完整性問(wèn)題,以確定是否要刷新候選塊中的數(shù)據(jù)。圖10AU0B和IOC所示處理中的任何一者或其他處理能夠用于確定候選塊中的字線是否存在數(shù)據(jù)完整性問(wèn)題。在基本同時(shí)對(duì)整個(gè)塊進(jìn)行寫入的實(shí)施例中,隨機(jī)選擇候選塊中要測(cè)試的字線。如果圖10AU0B和IOC所示處理之一確定候選塊存在數(shù)據(jù)完整性問(wèn)題,則圖9A的處理900可用于刷新候選塊中的數(shù)據(jù)。注意,有可能在所述處理800的一次重復(fù)中通過(guò)步驟806對(duì)候選塊進(jìn)行數(shù)據(jù)完整性測(cè)試,而且在所述處理800的不同次重復(fù)中的步驟810中再次進(jìn)行數(shù)據(jù)完整性測(cè)試。但是,很可能在步驟810中選擇與步驟806中測(cè)試過(guò)的字線不同的、隨機(jī)選擇的字線進(jìn)行測(cè)試。此外,可以采用與步驟806中不同的數(shù)據(jù)完整性測(cè)試。例如,在步驟806中可能已使用圖IOB所示的測(cè)試(確定需要通過(guò)糾錯(cuò)算法糾正多少比特),而在步驟810可能使用圖IOA 的測(cè)試(尋找Vt分布中的偏移)。但是,可能使用相同的測(cè)試,但是具有不同參數(shù)。舉例而言,為了觸發(fā)數(shù)據(jù)刷新而需要由糾錯(cuò)算法糾正的比特的數(shù)目可能與第二次測(cè)試該塊時(shí)不同。通過(guò)刷新根據(jù)策略標(biāo)識(shí)出的候選塊中的數(shù)據(jù),處理800以足夠的頻次刷新數(shù)據(jù)以足以防止數(shù)據(jù)丟失,但是又不會(huì)太頻繁而使設(shè)備210負(fù)擔(dān)過(guò)重或者干擾用戶訪問(wèn)存儲(chǔ)器陣列200。注意,可能在步驟802-806中已于近期對(duì)有些候選塊進(jìn)行數(shù)據(jù)完整性問(wèn)題測(cè)試,但是該測(cè)試并不導(dǎo)致確定要刷新該數(shù)據(jù)。其可能原因在于數(shù)據(jù)完整性問(wèn)題的嚴(yán)重性未完全處于觸發(fā)數(shù)據(jù)刷新的閾值。注意,通過(guò)基于候選塊相對(duì)于壞塊最近一次編程的時(shí)間而于何時(shí)被最近一次編程,對(duì)候選塊執(zhí)行刷新程序,能夠在適當(dāng)時(shí)間刷新存儲(chǔ)器設(shè)備210中的塊,該適當(dāng)時(shí)間使得既不會(huì)太頻繁以致使存儲(chǔ)器設(shè)備負(fù)擔(dān)過(guò)重,又不會(huì)太稀少而使得數(shù)據(jù)完整性問(wèn)題太嚴(yán)重而糾錯(cuò)算法無(wú)法糾正。例如考慮存儲(chǔ)器設(shè)備210可能留在極熱環(huán)境(例如夏天里的汽車內(nèi)部)中的情況。將存儲(chǔ)器設(shè)備210置于如此高的溫度下可能大大加速電荷損失/獲取的速率,這可能潛在導(dǎo)致數(shù)據(jù)保持問(wèn)題。但是,應(yīng)當(dāng)注意,由于存儲(chǔ)器設(shè)備不一定會(huì)被置于高溫下,所以不需要簡(jiǎn)單地頻繁刷新數(shù)據(jù)。而且,頻繁的數(shù)據(jù)刷新由于可能使存儲(chǔ)器設(shè)備負(fù)擔(dān)過(guò)重或者干擾該設(shè)備的正常使用,所以可能并不希望出現(xiàn)。圖9A是示出存儲(chǔ)器陣列200的塊中所存儲(chǔ)數(shù)據(jù)的刷新處理900的一個(gè)實(shí)施例的流程圖。對(duì)處理800的步驟806或步驟810已標(biāo)識(shí)出的需要數(shù)據(jù)刷新的塊啟動(dòng)該處理900。 在一個(gè)實(shí)施例中,處理900刷新塊中所有的頁(yè)面。但是,不要求刷新所有頁(yè)面中的數(shù)據(jù)。在步驟902中,從要刷新的塊讀取數(shù)據(jù)。如前所述,在當(dāng)初存儲(chǔ)該塊的數(shù)據(jù)時(shí),逐個(gè)扇區(qū)地計(jì)算奇偶校驗(yàn)位,且將奇偶校驗(yàn)位與用戶數(shù)據(jù)結(jié)合作為ECC編碼機(jī)制的一部分。注意,在存儲(chǔ)該數(shù)據(jù)之前,為了將數(shù)據(jù)隨機(jī)化,也可以采用擾碼程序。在一些實(shí)施例中,一個(gè)字線上的存儲(chǔ)器單元形成數(shù)個(gè)扇區(qū)或ECC頁(yè)面。扇區(qū)的數(shù)據(jù)可以首先進(jìn)行擾碼,然后由ECC引擎進(jìn)行編碼。與數(shù)個(gè)扇區(qū)對(duì)應(yīng)的經(jīng)擾碼和ECC編碼的數(shù)據(jù)可以累積,然后被同時(shí)寫入單個(gè)字線。例如,一個(gè)字線可供給相當(dāng)于四個(gè)扇區(qū)的數(shù)據(jù)。在一些實(shí)施例中,可對(duì)一個(gè)字線上的所有單元同時(shí)進(jìn)行寫入。對(duì)一個(gè)塊進(jìn)行編程在于在每一平面中一次將數(shù)據(jù)寫入一個(gè)字線。在美國(guó)專利申請(qǐng)公布No. 2006/0158947中描述了能夠?qū)λ斜忍鼐€一起編程的NAND體系結(jié)構(gòu)(ABL NAND體系結(jié)構(gòu))的示例。在步驟904中,對(duì)剛剛讀取的數(shù)據(jù)執(zhí)行ECC算法以糾正該數(shù)據(jù)。在一個(gè)實(shí)施例中, 控制器244執(zhí)行能夠每512比特糾正6個(gè)或更多比特的強(qiáng)糾錯(cuò)算法。在一個(gè)實(shí)施例中,控制器244執(zhí)行迭代解碼技術(shù)。在一個(gè)實(shí)施例中,在多位化(Multi-bit-per-cell)閃速存儲(chǔ)器中控制器244執(zhí)行概率性糾錯(cuò)。在2007年4月19日公布的題為“!Probabilistic Error Correction in Multi-bit-per-cell Flash Memory” 的美國(guó)專利申請(qǐng)公布 2007/0086239 以及 2007 年 4 月 19 日公布的題為“Method of Error Correction in MBC Flash Memory" 的美國(guó)專利申請(qǐng)公布2007/0089034中提供了在多位化閃速存儲(chǔ)器中執(zhí)行糾錯(cuò)的更多細(xì)節(jié),這兩個(gè)申請(qǐng)均通過(guò)弓I用并入本文。在步驟906中,經(jīng)糾錯(cuò)的數(shù)據(jù)被寫入存儲(chǔ)器陣列200的塊中。在一個(gè)實(shí)施例中,總是將數(shù)據(jù)寫入與被刷新的塊不同的塊中,以實(shí)現(xiàn)“損耗均衡”。也就是說(shuō),將數(shù)據(jù)寫入不同的塊中能夠有助于使每個(gè)塊受到的編程量平均化。在一個(gè)實(shí)施例中,確定是將數(shù)據(jù)刷新至新的塊還是同樣的塊。該決定可基于自最近一次對(duì)該塊進(jìn)行寫入以來(lái)的時(shí)間和/或該塊已被編程的次數(shù),即“最新計(jì)數(shù)”(hot count)來(lái)作出。例如,如果該塊近期被編程和/或如果該最新計(jì)數(shù)高,則可希望將數(shù)據(jù)寫入不同的塊。在一個(gè)實(shí)施例中,每個(gè)塊存儲(chǔ)其自身的最新計(jì)數(shù)。在一個(gè)實(shí)施例中,向用戶顯示不要將設(shè)備斷電直到刷新程序900完成的消息。但是,不管是否顯示這樣的消息,用戶也可能在數(shù)據(jù)刷新期間將設(shè)備斷電。而且,有可能用戶通過(guò)訪問(wèn)存儲(chǔ)器陣列200而中斷刷新程序。因此,在非易失性存儲(chǔ)器中保留數(shù)據(jù)刷新處理 900進(jìn)程的記錄,使得該處理900如果被中斷則能夠恢復(fù)。圖9B是描述用于對(duì)連接至被選字線的存儲(chǔ)器單元進(jìn)行編程的編程處理的流程圖。在一個(gè)實(shí)施例中,圖9B所示處理用于對(duì)一個(gè)頁(yè)面的數(shù)據(jù)進(jìn)行編程。因此,可多次使用圖9B的處理來(lái)對(duì)在所述處理900的步驟906中被進(jìn)行寫入的塊中不同的頁(yè)面進(jìn)行編程。在圖9B所示處理的一種實(shí)現(xiàn)中,存儲(chǔ)器單元在編程之前進(jìn)行擦除(步驟940)。 在一個(gè)實(shí)施例中,通過(guò)將P阱提升至擦除電壓(例如20伏)直到足夠長(zhǎng)的一段時(shí)間,并將被選擇的塊的字線接地而將源極線和比特線浮置,擦除存儲(chǔ)器單元。由于電容性耦合, 未被選擇的字線、比特線、選擇線和共同源極線也被提升至該擦除電壓的相當(dāng)大的部分。 因此,被選存儲(chǔ)器單元的溝道氧化物層被施加以強(qiáng)電場(chǎng),且隨著浮置柵極的電子通常由于 Fowler-Nordheim隧穿機(jī)制而被輸送至襯底側(cè),于是被選存儲(chǔ)器單元的數(shù)據(jù)被擦除。隨著電子從浮置柵極被傳送到P阱區(qū)域,被選單元的閾值電壓降低。可對(duì)整個(gè)存儲(chǔ)器陣列、單獨(dú)的塊或另一單位量的單元執(zhí)行擦除。在存儲(chǔ)器單元的塊被擦除后,可如本文所述那樣對(duì)各存儲(chǔ)器單元進(jìn)行編程或部分編程。注意,不需要在一個(gè)塊的每個(gè)字線被編程之前執(zhí)行步驟 940中所執(zhí)行的擦除。相反,可擦除所述塊然后對(duì)每個(gè)字線編程,而在各字線的編程之間不進(jìn)行擦除。在步驟942中,執(zhí)行軟編程以將被擦除的存儲(chǔ)器單元的擦除閾值電壓的分布變窄。由于該擦除處理,一些存儲(chǔ)器單元可處于比所需更深的擦除狀態(tài)。軟編程可施加小的編程脈沖以將被擦除的存儲(chǔ)器單元的閾值電壓移至更靠近擦除驗(yàn)證電平。在步驟950中, 由控制器244發(fā)出“數(shù)據(jù)加載”命令,且該命令被輸入到狀態(tài)機(jī)222。在步驟952,將指定頁(yè)面地址的地址數(shù)據(jù)提供給解碼器224。在步驟954,將關(guān)于被尋址頁(yè)面的編程數(shù)據(jù)頁(yè)面輸入供進(jìn)行編程。例如,在一個(gè)實(shí)施例中,可以輸入5 字節(jié)的數(shù)據(jù)。該數(shù)據(jù)被鎖存在被選擇比特線的適當(dāng)寄存器/鎖存器中。在一些實(shí)施例中,該數(shù)據(jù)也被鎖存在被選擇比特線的第二寄存器中以用于驗(yàn)證操作。在步驟956中,從控制器244接收“編程”命令,并將其提供給狀態(tài)機(jī)222。由“編程”命令觸發(fā),使用施加至適當(dāng)字線的電壓,將步驟954中鎖存的數(shù)據(jù)編程到由狀態(tài)機(jī)222控制的被選存儲(chǔ)器單元中。在步驟958中,將編程信號(hào)“Vpgm” (例如電壓脈沖序列)初始化為起始幅度(例如 12V或另一合適的電平),且將狀態(tài)機(jī)222所維護(hù)的編程計(jì)數(shù)器PC初始化為0。在步驟960中,將編程信號(hào)Vpgm的脈沖施加至被選擇的字線。 未選擇的字線接收被稱為“Vpass”的一個(gè)或多個(gè)升壓電壓(boosting voltage) 0如果在特定數(shù)據(jù)鎖存器中存儲(chǔ)邏輯“0”指示應(yīng)對(duì)相應(yīng)存儲(chǔ)器單元進(jìn)行編程,則將相應(yīng)比特線接地。 另一方面,如果在特定鎖存器中存儲(chǔ)邏輯“ 1”指示對(duì)將相應(yīng)存儲(chǔ)器單元保持在其當(dāng)前數(shù)據(jù)狀態(tài),則將相應(yīng)比特線連接到Vdd以禁止編程。注意,編程信號(hào)包括電壓脈沖的集合,其中, 脈沖的幅度隨每一相繼脈沖而增加。在電壓脈沖之間是一組驗(yàn)證脈沖。在步驟962中,使用適當(dāng)?shù)哪繕?biāo)電平集合驗(yàn)證被選擇的存儲(chǔ)器單元的狀態(tài),如上所述。如果檢測(cè)出被選擇單元的閾值電壓已達(dá)到適當(dāng)?shù)哪繕?biāo)電平,則在對(duì)應(yīng)數(shù)據(jù)鎖存器中存儲(chǔ)的數(shù)據(jù)變?yōu)檫壿嫛?”。如果檢測(cè)出該閾值電壓尚未達(dá)到適當(dāng)?shù)哪繕?biāo)電平,則在對(duì)應(yīng)數(shù)據(jù)鎖存器中存儲(chǔ)的數(shù)據(jù)不變。通過(guò)此方式,在其對(duì)應(yīng)的數(shù)據(jù)鎖存器中存儲(chǔ)有邏輯“1”的比特線無(wú)需進(jìn)行編程。當(dāng)所有數(shù)據(jù)鎖存器存儲(chǔ)有邏輯“1”時(shí),狀態(tài)機(jī)222獲知所有被選擇的單元均已被編程。在步驟964中,檢查所有數(shù)據(jù)鎖存器是否存儲(chǔ)有邏輯“1”。如果是,則因?yàn)樗斜贿x擇的存儲(chǔ)器單元已被編程且針對(duì)它們的目標(biāo)狀態(tài)進(jìn)行了驗(yàn)證,所以編程處理完成并且成功。在步驟966中報(bào)告“PASS”狀態(tài)。注意,在一些實(shí)現(xiàn)方式中,在步驟964,檢查是否有至少預(yù)定數(shù)量的數(shù)據(jù)鎖存器存儲(chǔ)有邏輯“1”。該預(yù)定數(shù)量可以小于全部數(shù)據(jù)鎖存器的數(shù)量,從而允許編程處理在所有存儲(chǔ)器單元達(dá)到它們的適當(dāng)?shù)尿?yàn)證電平之前停止。未成功編程的存儲(chǔ)器單元可以在讀取處理期間使用糾錯(cuò)操作得以糾正。在步驟964中,如果確定出并非所有數(shù)據(jù)鎖存器都存儲(chǔ)有邏輯“ 1 ”,則繼續(xù)編程處理。在步驟968中,針對(duì)編程限制值檢查編程計(jì)數(shù)器PC。編程限制值的一個(gè)示例為20 ;然而,在不同實(shí)現(xiàn)方式中可使用其它值。如果編程計(jì)數(shù)器PC不小于編程限制值,則在步驟969 中確定尚未成功編程的存儲(chǔ)器單元的數(shù)量是否等于或小于預(yù)定數(shù)量。如果未成功編程的存儲(chǔ)器單元的數(shù)量等于或小于該預(yù)定數(shù)量,則將編程處理標(biāo)記為通過(guò),并且在步驟971中報(bào)告PASS狀態(tài)。在很多情況下,能夠在讀取處理期間使用糾錯(cuò)操作糾正未被成功編程的存儲(chǔ)器單元。然而,如果未被成功編程的存儲(chǔ)器單元的數(shù)量大于預(yù)定數(shù)量,則將編程處理標(biāo)記為失敗,且在步驟970中報(bào)告FAIL狀態(tài)。如果在步驟968中確定出編程計(jì)數(shù)器PC小于編程限制值(例如20),則將下一 Vpgm電壓脈沖的幅度增加步長(zhǎng)大小(例如0. 2-0. 4伏特步長(zhǎng)大小),并且在步驟972中使編程計(jì)數(shù)器PC遞增。在步驟972之后,所述處理環(huán)回到步驟 960以施加下一 Vpgm電壓脈沖。通常,在驗(yàn)證操作(例如在圖9B所示步驟962期間執(zhí)行的驗(yàn)證操作)和讀取操作期間,被選擇的字線連接到一電壓,該電壓的電平是針對(duì)每一讀取和驗(yàn)證操作而指定,以確定所關(guān)注的存儲(chǔ)器單元的閾值電壓是否已達(dá)到這樣的電平。在施加字線電壓之后,測(cè)量存儲(chǔ)器單元的傳導(dǎo)電流,以確定該存儲(chǔ)器單元是否響應(yīng)于施加到字線的電壓而被導(dǎo)通。如果測(cè)量的傳導(dǎo)電流大于特定值,則假設(shè)該存儲(chǔ)器單元導(dǎo)通且施加到字線的電壓大于該存儲(chǔ)器單元的閾值電壓。如果測(cè)量的傳導(dǎo)電流未大于該特定值,則假設(shè)存儲(chǔ)器單元未導(dǎo)通且施加到字線的電壓不大于該存儲(chǔ)器單元的閾值電壓。存在很多在讀取或驗(yàn)證操作期間測(cè)量存儲(chǔ)器單元的傳導(dǎo)電流的方法。在一個(gè)示例中,根據(jù)存儲(chǔ)器單元的傳導(dǎo)電流對(duì)感測(cè)放大器中的專用電容器放電或充電的速率測(cè)量存儲(chǔ)器單元的傳導(dǎo)電流。在另一示例中,被選擇的存儲(chǔ)器單元的的傳導(dǎo)電流允許(或者無(wú)法允許)包括存儲(chǔ)器單元的NAND串對(duì)相應(yīng)的比特線放電。在一段時(shí)間之后測(cè)量比特線上的電壓,以查看該比特線是否已被放電。圖IOA是示出用于確定塊是否存在數(shù)據(jù)完整性問(wèn)題的處理1000的一個(gè)實(shí)施例的流程圖。該處理1000可用于執(zhí)行圖8的步驟806。處理1000還能夠用于步驟810的刷新程序的實(shí)施例,其中,確定候選塊是否具有數(shù)據(jù)完整性問(wèn)題。在步驟1002,對(duì)非易失性存儲(chǔ)器元件執(zhí)行高分辨率掃描。該掃描可在有限范圍內(nèi)執(zhí)行。例如參考圖6B,可在狀態(tài)14和15 部分執(zhí)行掃描。該高分辨率掃描包括以比正常讀取處理更高的分辨率執(zhí)行數(shù)次讀取。僅需掃描塊中的單個(gè)字線(或其一部分)以收集用于檢測(cè)數(shù)據(jù)完整性問(wèn)題的所有數(shù)據(jù)。但是, 根據(jù)需要,也可掃描來(lái)自多個(gè)字線的數(shù)據(jù)。在這里,高分辨率讀取點(diǎn)被稱為“軟讀取”。圖11示出分布函數(shù)1101 (視作控制柵極電壓的函數(shù)的單元)。該分布1101對(duì)應(yīng)于例如16個(gè)Vt分布(例如圖6B中所示的Vt分布)中的大約四個(gè)。該分布具有頂峰之間
16的“凹谷”,該“凹谷”對(duì)應(yīng)于將存儲(chǔ)器單元編程至不同狀態(tài)而產(chǎn)生的Vt分布。在一個(gè)實(shí)施例中,確定分布函數(shù)1101中的谷底1111之一。由于僅需確定對(duì)應(yīng)于一個(gè)谷底的閾值電壓, 所以僅需確定分布函數(shù)1101的一部分。在圖11所示的該示例中,使用16個(gè)不同的控制柵極電壓(軟讀取電壓Vsrl-Vsrie)產(chǎn)生實(shí)線所示的分布1101部分。可使用多于或少于16 個(gè)軟讀取電壓。該分布1101的虛線部分指出在施加更大范圍的控制柵極電壓的情況下該分布1101如何表現(xiàn)。在一個(gè)實(shí)施例中,目的用于標(biāo)識(shí)的凹谷是基于由于編程至不同狀態(tài)而產(chǎn)生的Vt 分布的預(yù)期特征確定的。例如,可基于諸如Vt分布之間的預(yù)期分隔以及不同Vt分布預(yù)期會(huì)出現(xiàn)的偏移量等因素選擇凹谷。對(duì)于一些非易失性存儲(chǔ)器設(shè)備,具有更高電壓的Vt分布具有更大的分隔并且預(yù)期出現(xiàn)更大偏移。但是注意,每個(gè)狀態(tài)可因不同的數(shù)據(jù)完整性問(wèn)題而受到不同影響,這還會(huì)影響關(guān)于標(biāo)識(shí)哪個(gè)凹谷的決定。例如,狀態(tài)15可能比其它狀態(tài)受到更大程度的讀取干擾。因此,如果旨在針對(duì)數(shù)據(jù)保持問(wèn)題進(jìn)行測(cè)量,則可能希望避免讀取受讀取干擾(或者至少讀取干擾會(huì)如何影響Vt分布的偏移的因素)影響很大的狀態(tài)。注意,高分辨率掃描是在非常有限的、不包括其它14個(gè)Vt分布(在使用16個(gè)數(shù)據(jù)狀態(tài)的實(shí)施例中)中的任何一個(gè)的電壓范圍上執(zhí)行的。因此,讀取操作的總數(shù)保持為合理低的數(shù)目。 另一方面,由于以下原因,可能希望選擇掃描狀態(tài)14與15之間的凹谷(即,在存在16個(gè)狀態(tài)時(shí)最高的凹谷)。有可能出現(xiàn)所述分布的向下偏移如此之大,使得狀態(tài)14與15之間的凹谷可能被錯(cuò)誤解釋為狀態(tài)13與14之間的凹谷。搜索兩個(gè)最高狀態(tài)之間的凹谷可緩解該問(wèn)題。為確定所述分布,軟讀取電壓Vsrl-Vsrie被相繼施加至塊中被選擇字線的存儲(chǔ)器單元的控制柵極。例如,施加至存儲(chǔ)器單元的控制柵極的電壓隨著每個(gè)相繼電壓而遞增例如50mV。記錄響應(yīng)于每次軟讀取而傳導(dǎo)(導(dǎo)通)的存儲(chǔ)器單元的數(shù)量。不要求記錄每個(gè)指定單元中存儲(chǔ)的實(shí)際數(shù)據(jù)。相反,可基于對(duì)響應(yīng)于每個(gè)軟讀取電壓有多少存儲(chǔ)器單元傳導(dǎo)(導(dǎo)通)的分析來(lái)確定分布1101的形狀。在處理1000的步驟1004中,確定分布函數(shù)中的谷底。在一個(gè)實(shí)施例中,標(biāo)識(shí)谷底電壓。谷底電壓的目的在于引入?yún)⒖键c(diǎn),用于確定Vt分布中的至少一個(gè)偏移了多少。在圖 11中,在Vt分布110 和1102b之間示出谷底電壓1111的示例。在一個(gè)實(shí)施例中,參考點(diǎn)是不同于谷底的某處。例如,參考電壓可能是分布函數(shù)1101中的頂峰。在一個(gè)實(shí)施例中,通過(guò)首先使閾值電壓分布數(shù)據(jù)平滑而確定凹谷??墒褂迷S多適當(dāng)?shù)囊阎瘮?shù)之一來(lái)使閾值電壓分布數(shù)據(jù)平滑。例如,可使用低通濾波器來(lái)使數(shù)據(jù)平滑。于是,可確定平滑后數(shù)據(jù)的導(dǎo)數(shù)。存在許多用于創(chuàng)建和存儲(chǔ)關(guān)于該導(dǎo)數(shù)的信息的方法和形式, 并不要求特定的方法和形式。接下來(lái),研究導(dǎo)數(shù)計(jì)算的輸出以尋找跨零點(diǎn),以標(biāo)識(shí)凹谷。下文中描述用于尋找凹谷的另一技術(shù)。在該實(shí)施例中,通過(guò)利用函數(shù)對(duì)閾值電壓分布進(jìn)行卷積,對(duì)閾值電壓分布數(shù)據(jù)進(jìn)行平滑。在一個(gè)實(shí)施例中,該函數(shù)是高斯函數(shù)。在另一實(shí)施例中,該函數(shù)是截?cái)喔咚?,使得去除高斯函?shù)的前尾部和后尾部。在另一實(shí)施例中, 可使用不同于高斯的其他函數(shù)。然后,確定平滑后數(shù)據(jù)的導(dǎo)數(shù)。接下來(lái),研究導(dǎo)數(shù)計(jì)算的輸出以尋找從負(fù)到正的過(guò)零點(diǎn),以標(biāo)識(shí)凹谷??捎糜诙ㄎ话脊鹊牧硪环N技術(shù)是將閾值電壓分布數(shù)據(jù)進(jìn)行平方。這可用于為該數(shù)據(jù)提供更大的對(duì)比。然后,使用任一上述方法對(duì)閾值電壓分布數(shù)據(jù)的平方進(jìn)行平滑。接下來(lái),確定平滑后數(shù)據(jù)的倒數(shù)并根據(jù)跨零點(diǎn)確定凹谷。在步驟1006中,基于參考點(diǎn)(例如,谷底電壓的閾值電壓)確定Vt分布的偏移。 作為另一示例,可基于分布函數(shù)中頂峰的閾值電壓確定Vt分布1102b的偏移。在一個(gè)實(shí)施例中,可修改上述導(dǎo)數(shù)方法以標(biāo)識(shí)分布函數(shù)1101中的頂峰。在一個(gè)實(shí)施例中,計(jì)算Vt分布的偏移作為谷底電壓與參考電壓之間的差??苫谠诰幊毯骎t分布1102b的預(yù)期形狀確定參考電壓。該預(yù)期形狀可根據(jù)工程特征確定。因此,不需要為確定參考電壓而確定緊接著在現(xiàn)場(chǎng)編程之后的Vt分布110 和1102b的形狀。還應(yīng)該注意,在首次編程時(shí),Vt分布 110 和1102b可能完全不交疊。注意,取決于在編程期間是從存儲(chǔ)器單元去除電荷還是向存儲(chǔ)器單元添加電荷,所述分布110 和1102b可由于數(shù)據(jù)保持問(wèn)題而向右或向左偏移。在步驟1008中,確定是否要至少部分地基于Vt分布的偏移而刷新數(shù)據(jù)??苫诖_定所述偏移如何影響加速讀取數(shù)據(jù)的能力的實(shí)驗(yàn)室試驗(yàn),確定保證數(shù)據(jù)刷新的偏移量。如果要刷新塊中的數(shù)據(jù),則執(zhí)行圖9A的處理900。但是,數(shù)據(jù)刷新不需要立即執(zhí)行。例如,可推遲數(shù)據(jù)刷新,直到確定整個(gè)存儲(chǔ)器陣列200中的哪些塊要刷新。保留要刷新的塊的記錄, 使得數(shù)據(jù)刷新(例如,處理900)可在方便時(shí)執(zhí)行。在一些情況下,不會(huì)在存儲(chǔ)器設(shè)備210 斷電前執(zhí)行數(shù)據(jù)刷新。因此,該記錄應(yīng)當(dāng)保持在諸如備用塊等非易失性存儲(chǔ)器中。步驟1008的刷新確定可基于不同于Vt分布偏移、或者除Vt分布偏移之外的很多因素。注意,相比與較低閾值電壓相關(guān)的狀態(tài),存儲(chǔ)器單元具有較高閾值電壓時(shí)的狀態(tài)可按更快的速率損失/獲取電荷。因此,刷新確定中的一個(gè)因素在于進(jìn)行分析的Vt分布與哪些狀態(tài)相關(guān)。如前所述,不同的狀態(tài)可能具有不同的寬度/間隔,以適應(yīng)不同程度的數(shù)據(jù)保持損失。因此,更傾向于偏移的狀態(tài)可更加適合測(cè)量Vt分布中的偏移。但是,任一狀態(tài)可用于測(cè)量Vt分布中的偏移??苫趯?duì)實(shí)驗(yàn)室中設(shè)備執(zhí)行的測(cè)試得知特定存儲(chǔ)器設(shè)備的不同 Vt分布偏移特征。在刷新確定中要考慮的另一因素在于對(duì)哪個(gè)或哪些字線進(jìn)行數(shù)據(jù)完整性測(cè)試。如上所述,在一個(gè)實(shí)施例中,選擇單個(gè)字線用于進(jìn)行數(shù)據(jù)完整性問(wèn)題的測(cè)試。關(guān)于特定的數(shù)據(jù)完整性問(wèn)題,例如數(shù)據(jù)保持,不同的字線可具有不同的特征。注意,由于一些字線的特征彼此會(huì)很類似,所以可將不同的字線組成集合。要考慮的又一因素是所述塊已被編程的次數(shù),該次數(shù)被另稱為“最新計(jì)數(shù)”。該最新計(jì)數(shù)可存儲(chǔ)作為該塊的開銷。與僅被編程數(shù)次的塊相比,已被編程很多次的塊可傾向于更快速地朝向電中性變化。因此,至少對(duì)于一些存儲(chǔ)器設(shè)備,具有高的最新計(jì)數(shù)的塊與具有較低最新計(jì)數(shù)的塊相比,可能應(yīng)當(dāng)以更小的Vt分布偏移進(jìn)行刷新。另一因素是自所述塊被編程起經(jīng)過(guò)的時(shí)間。但是,由于存儲(chǔ)器設(shè)備可能受到差別很大的環(huán)境條件,所以,自上一次寫入以來(lái)的時(shí)間自身可能不是可靠的、關(guān)于需要刷新數(shù)據(jù)的指示。也就是說(shuō),過(guò)度依賴自上一次編程以來(lái)的時(shí)間可能導(dǎo)致如果該時(shí)間參數(shù)太長(zhǎng),則無(wú)法在需要時(shí)刷新;或者,如果該時(shí)間參數(shù)太短,則刷新太頻繁。但是,作為許多因素之一, 當(dāng)在臨界情況下決定是否刷新數(shù)據(jù)時(shí),使用時(shí)間參數(shù)是有利的。要考慮的另一因素是當(dāng)前的電源電壓,該電源電壓能夠影響許多電壓的幅值,例如用于確定Vt分布相交的點(diǎn)的軟讀取電壓的幅值。刷新決定也可基于對(duì)所選塊進(jìn)行編程時(shí)的溫度和當(dāng)前溫度。注意,晶體管的閾值電壓是溫度的函數(shù)。因此,如果這兩個(gè)溫度實(shí)質(zhì)上不同,則預(yù)期會(huì)出現(xiàn)Vt分布的偏移。在一個(gè)實(shí)施例中,存儲(chǔ)器設(shè)備210內(nèi)建有溫度補(bǔ)償,以解決這些由溫度引起的閾值電壓偏移, 在這種情況下,不必在進(jìn)行刷新確定時(shí)將溫度考慮在內(nèi)。在一個(gè)實(shí)施例中,存儲(chǔ)器設(shè)備210存儲(chǔ)多軸“刷新因素”表,該表指出上述因素如何影響刷新確定。該刷新因素表可在將存儲(chǔ)器設(shè)備210提供給用戶之前存儲(chǔ)在存儲(chǔ)器設(shè)備 210中,使得該表可由管理電路訪問(wèn)。圖12示出具有第一軸和第二軸的雙軸表1200的一個(gè)示例,第一軸用于16個(gè)不同的狀態(tài)(S0-S15),而第二軸用于五個(gè)不同的字線(WL)組。在實(shí)際中,每個(gè)存儲(chǔ)器單元包含用于確定允許Vt分布由于與該單元相關(guān)的因素而偏移多少的值。例如,與狀態(tài)13和WJ1-WL23相關(guān)的存儲(chǔ)器單元具有值“Vx”。在示例性雙軸表1200 的其它單元中未顯示值,以不使該圖變得不清晰。作為一個(gè)特定示例,如果測(cè)試過(guò)字線17且正在分析狀態(tài)13,則參考表1200,將Vt 分布的偏移與值“Vx”比較,以確定是否存在數(shù)據(jù)完整性問(wèn)題。表1200可具有更多的軸,每個(gè)軸對(duì)應(yīng)于上述或其它因素之一。例如,該表1200可具有對(duì)應(yīng)于不同最新計(jì)數(shù)范圍的另一個(gè)軸。圖IOB示出基于有多少比特需要通過(guò)糾錯(cuò)算法糾正而確定是否需要數(shù)據(jù)刷新的處理1030的一個(gè)實(shí)施例。該處理1030是一種用于執(zhí)行圖8的步驟806的技術(shù)。在步驟 1032中,讀取所選字線上的單元。如上所述,在一個(gè)實(shí)施例中,隨機(jī)選擇字線。在步驟1034中,對(duì)剛剛讀入的數(shù)據(jù)執(zhí)行ECC算法。該ECC算法確定該數(shù)據(jù)中有多少比特需要糾正。在步驟1038中,控制器244確定需要糾正的比特的數(shù)目是否大于閾值比特?cái)?shù)。如果是,則將塊標(biāo)識(shí)為需要數(shù)據(jù)刷新,且在此時(shí)或者隨后執(zhí)行刷新程序(例如,圖9A)。如果錯(cuò)誤比特的數(shù)目小于閾值,則此時(shí)不標(biāo)識(shí)該塊進(jìn)行數(shù)據(jù)刷新(步驟1042)。在一個(gè)實(shí)施例中, 該閾值是最新計(jì)數(shù)的函數(shù)。例如,該最新計(jì)數(shù)越高,則該閾值越低。圖IOC示出處理1060的一個(gè)實(shí)施例,該處理用于根據(jù)糾錯(cuò)算法需要多久收斂來(lái)確定是否需要數(shù)據(jù)刷新。處理1060是一種用于執(zhí)行圖8的步驟806的技術(shù)。在步驟1062中, 讀取所選字線上的單元。在步驟1064中,控制器244執(zhí)行ECC算法,以嘗試恢復(fù)錯(cuò)誤的數(shù)據(jù)比特。在步驟 1068中,控制器244確定糾錯(cuò)算法收斂所需時(shí)間是否超過(guò)允許的時(shí)間。在一個(gè)實(shí)施例中,控制器244確定迭代解碼技術(shù)是否采用比允許的迭代次數(shù)更多的迭代而收斂。允許的次數(shù)是可變的,可進(jìn)行調(diào)整以改變?cè)撎幚?060的敏感性。例如,如果該塊是處理800的步驟808 中標(biāo)識(shí)出的候選塊,則可增加敏感性。如果糾錯(cuò)算法收斂時(shí)間過(guò)長(zhǎng),則在此時(shí)或隨后刷新這個(gè)塊(步驟90幻。如果糾錯(cuò)算法在允許的迭代次數(shù)內(nèi)收斂,則不刷新這個(gè)塊中的數(shù)據(jù)(步驟1072)。在一個(gè)實(shí)施例中,迭代次數(shù)是最新計(jì)數(shù)的函數(shù)。例如,對(duì)于越高的最新計(jì)數(shù),收斂所需的允許迭代次數(shù)越低。圖13A示出處理1300的一個(gè)實(shí)施例,該處理用于標(biāo)識(shí)出候選塊用于刷新程序。圖 13A所示處理可用于實(shí)現(xiàn)圖8的步驟808。該處理1300使用與每個(gè)塊相關(guān)的時(shí)間戳來(lái)標(biāo)識(shí)候選塊。在步驟1302中,存取與壞塊相關(guān)的時(shí)間戳(該壞塊是在處理800的步驟806中標(biāo)識(shí)出的)。在步驟1304中,存取與其它的塊相關(guān)的時(shí)間戳。在一個(gè)實(shí)施例中,塊的時(shí)間戳存儲(chǔ)在該塊自身中。通常,每個(gè)字線具有未用于數(shù)據(jù)存儲(chǔ)的一些存儲(chǔ)器單元。時(shí)間戳可存儲(chǔ)在與這些未使用的存儲(chǔ)器單元之一相關(guān)的存儲(chǔ)器元件。如果在每個(gè)塊中存儲(chǔ)時(shí)間戳,則僅需讀取具有時(shí)間戳的字線。此外,注意,由于時(shí)間戳數(shù)據(jù)僅為字線中數(shù)據(jù)的很小部分,所以可忽略字線上的大多數(shù)數(shù)據(jù)。在一個(gè)實(shí)施例中,存儲(chǔ)器設(shè)備中的“時(shí)間戳”表存儲(chǔ)時(shí)間戳, 減輕了從每個(gè)塊讀取時(shí)間戳的需求。例如,將存儲(chǔ)器陣列200中的一個(gè)或多個(gè)塊留出用于該時(shí)間戳表。在步驟1306中,確定哪些塊的時(shí)間戳相比與壞塊相關(guān)的時(shí)間戳更早。這些塊被標(biāo)識(shí)為進(jìn)行刷新程序的候選塊。在一個(gè)實(shí)施例中,在具有數(shù)據(jù)完整性問(wèn)題的塊之后一定時(shí)間內(nèi)被最近一次編程的塊也被標(biāo)記進(jìn)行刷新程序。例如,在壞塊之后一天或兩天內(nèi)被最近一次編程的那些塊也可能存在同樣由環(huán)境引起的數(shù)據(jù)完整性問(wèn)題,因而被標(biāo)識(shí)為候選塊。對(duì)于被標(biāo)識(shí)為候選塊的這些塊執(zhí)行處理800的步驟810。在一個(gè)實(shí)施例中,將序列號(hào)而不是時(shí)間戳與每個(gè)塊關(guān)聯(lián)。序列號(hào)指出所述塊被編程的順序。圖13B為示出處理1350的一個(gè)實(shí)施例的流程圖,該處理1350用于通過(guò)使用序列號(hào)標(biāo)識(shí)進(jìn)行刷新程序的候選塊。圖13B的處理1350可用于實(shí)現(xiàn)圖8的步驟808。在步驟1352中,存取與壞塊相關(guān)的序列號(hào)。在步驟13M中,存取與其它的塊相關(guān)的序列號(hào)。通常,一個(gè)塊的序列號(hào)存儲(chǔ)于該塊中。但是,序列號(hào)可存儲(chǔ)在其它地方,例如存儲(chǔ)在具有與塊號(hào)相關(guān)的序列號(hào)的表格的備用塊中。在步驟1356中,其序列號(hào)低于與壞塊相關(guān)的序列號(hào)的塊被標(biāo)識(shí)為進(jìn)行刷新程序的候選者。對(duì)于被標(biāo)識(shí)為候選塊的這些塊執(zhí)行處理800的步驟810。圖14示出處理1400的一個(gè)實(shí)施例,該處理1400用于管理被用來(lái)標(biāo)識(shí)進(jìn)行刷新程序的候選塊的序列號(hào)。在步驟1402中,存儲(chǔ)器設(shè)備210上電。注意,該存儲(chǔ)器設(shè)備210可集成于另一設(shè)備如個(gè)人導(dǎo)航設(shè)備中。使用該示例,只要該個(gè)人導(dǎo)航設(shè)備有電源可用時(shí),該存儲(chǔ)器設(shè)備210就可具有電源。例如,用戶可能將個(gè)人導(dǎo)航設(shè)備插入電源如汽車的“電引燃器”中。在該示例中,即使用戶關(guān)閉了個(gè)人導(dǎo)航設(shè)備,通過(guò)用戶將存儲(chǔ)器設(shè)備210插入該引燃器中,也可使該存儲(chǔ)器設(shè)備210上電。在步驟1404中,從存儲(chǔ)器陣列200的塊中讀取序列號(hào)。一些塊可能沒有序列號(hào)。 例如,當(dāng)前未存儲(chǔ)有效數(shù)據(jù)的塊不會(huì)具有序列號(hào)。在一個(gè)實(shí)施例中,每單元僅存儲(chǔ)單個(gè)比特的塊由于不需要測(cè)試而沒有序列號(hào)。注意,在存儲(chǔ)器設(shè)備210上電之后、在讀取序列號(hào)之前,可執(zhí)行許多其它動(dòng)作。在步驟1406中,將最高的序列號(hào)記錄作為當(dāng)前序列號(hào)。當(dāng)前序列號(hào)可存儲(chǔ)于隨機(jī)存取存儲(chǔ)器中,該隨機(jī)存取存儲(chǔ)器可以在存儲(chǔ)器設(shè)備210上或者在存儲(chǔ)器設(shè)備210之外。例如,與設(shè)備210耦合的主機(jī)可具有隨機(jī)存取存儲(chǔ)器?;蛘撸?dāng)前序列號(hào)可記錄在非易失性存儲(chǔ)器(例如,備用塊)中。在步驟1408中,存儲(chǔ)器陣列200收到寫入一個(gè)或多個(gè)塊的請(qǐng)求。在步驟1410中, 使當(dāng)前序列號(hào)遞增。在步驟1412中,將當(dāng)前序列號(hào)(在遞增之后)存儲(chǔ)在正被寫入的塊中。 如果存在多個(gè)要寫入的塊(步驟1414),則控制進(jìn)入到步驟1410,以使序列號(hào)遞增并將其存儲(chǔ)在下一正被寫入的塊中。圖15示出處理1500的一個(gè)實(shí)施例,該處理1500用于管理用來(lái)選擇進(jìn)行刷新程序 (例如,處理800的步驟810)的候選塊的時(shí)間戳。該處理1500以步驟1502開始,其中,存儲(chǔ)器設(shè)備210上電。在步驟1504中,從不同的塊中讀取時(shí)間戳。對(duì)于使用序列號(hào)的實(shí)施例,并非所有
20的塊會(huì)具有時(shí)間戳。如上所述,在處理1300的步驟1304的一個(gè)實(shí)施例中,從表中存取時(shí)間戳。在任選的步驟1506中,在步驟1504中讀取的時(shí)間戳存儲(chǔ)在該時(shí)間戳表中。該表可在 RAM中,或者該表可占用非易失性存儲(chǔ)器的一個(gè)或多個(gè)塊。在步驟1508中,接收對(duì)一個(gè)或多個(gè)塊進(jìn)行寫入的請(qǐng)求。在步驟1510中,確定當(dāng)前時(shí)間。注意,在一些情況下,可用時(shí)間的準(zhǔn)確性可能存在問(wèn)題。例如,可能通過(guò)詢問(wèn)與存儲(chǔ)器設(shè)備210耦合的主機(jī)而存取時(shí)間。但是,該主機(jī)可能提供不準(zhǔn)確的時(shí)間。例如,該主機(jī)的時(shí)鐘可能已被錯(cuò)誤編程??筛鶕?jù)時(shí)間源的類型(例如,不受信任的個(gè)人計(jì)算機(jī))或者根據(jù)與在先時(shí)間不一致的時(shí)間(例如,時(shí)間倒退)質(zhì)疑時(shí)間的準(zhǔn)確性。如果時(shí)間信息未獲信任, 則可使用 值代替該時(shí)間信息?;蛘?,可存儲(chǔ)最新的可信的時(shí)間信息。注意,如果存儲(chǔ)最新的可信的時(shí)間信息,這可能導(dǎo)致塊在其實(shí)際編程時(shí)間之前被進(jìn)行編程的結(jié)論。因此,根據(jù)塊何時(shí)編程而確定何時(shí)刷新的處理1300可能過(guò)渡包含。在一些實(shí)施例中,存儲(chǔ)器設(shè)備210可訪問(wèn)被認(rèn)為是非??煽康目尚艜r(shí)間源。例如, 如果存儲(chǔ)器設(shè)備210用于從衛(wèi)星接收正確時(shí)間的個(gè)人導(dǎo)航設(shè)備中,則可認(rèn)為該時(shí)間是可信且準(zhǔn)確的。在步驟1512中,將時(shí)間戳存儲(chǔ)在正被寫入的塊中。根據(jù)需要,可針對(duì)每個(gè)被寫入的塊重復(fù)步驟1510。但是,只要寫入處理未中斷相當(dāng)長(zhǎng)的一段時(shí)間,則該同一時(shí)間戳仍可用于按給定的寫入請(qǐng)求而進(jìn)行寫入的所有的塊。在任選的步驟1514中,更新時(shí)間戳表。注意,可為所述塊存儲(chǔ)時(shí)間戳和序列號(hào)兩者。如上所述,如果時(shí)間信息不可信,則所存儲(chǔ)的時(shí)間戳可為啞值。當(dāng)執(zhí)行處理1300以確定是否要基于時(shí)間戳進(jìn)行刷新時(shí),對(duì)于具有啞值的這些塊,可將序列號(hào)用于刷新確定。圖16示出處理1600的一個(gè)實(shí)施例,該處理1600警告用戶采取旨在減輕數(shù)據(jù)保持問(wèn)題的動(dòng)作。在步驟1602中,判斷出存儲(chǔ)器設(shè)備210的刷新太頻繁。在一個(gè)實(shí)施例中,管理電路作出此判斷,但是該判斷也可在存儲(chǔ)器設(shè)備210外部作出。為確定數(shù)據(jù)的刷新是否太頻繁,可維持關(guān)于數(shù)據(jù)刷新的記錄。該記錄可跟蹤每次處理800,每次處理800導(dǎo)致刷新至少一個(gè)塊。該記錄也可包括總共刷新了多少個(gè)塊,有多少個(gè)塊是根據(jù)對(duì)實(shí)際數(shù)據(jù)完整性問(wèn)題的判斷(例如,由所述處理1000、1030或1060中的一個(gè)或多個(gè)判斷)而刷新的,有多少個(gè)塊是根據(jù)基于何時(shí)被編程而自動(dòng)刷新的,等等。如果時(shí)間信息可用的話,上述記錄還可指出何時(shí)進(jìn)行了刷新。在一些情況下,不會(huì)知道特定數(shù)據(jù)刷新的時(shí)間,但是能夠確定時(shí)間窗口。例如,當(dāng)出現(xiàn)數(shù)據(jù)刷新時(shí),存儲(chǔ)器設(shè)備可能耦合至未提供正確或可信的時(shí)間的主機(jī)。但是,如果存儲(chǔ)器設(shè)備后來(lái)耦合至提供該時(shí)間的主機(jī),則可將刷新時(shí)間本地化至?xí)r間窗口(假設(shè)刷新之前的時(shí)間已知)??筛鶕?jù)在存儲(chǔ)器設(shè)備于實(shí)驗(yàn)室中進(jìn)行檢驗(yàn)時(shí)獲知的信息,確定在一段時(shí)間內(nèi)有多少數(shù)據(jù)刷新被認(rèn)為是太頻繁。在步驟1604中顯示消息,警告用戶采取正確的動(dòng)作以減輕數(shù)據(jù)完整性問(wèn)題。作為示例,該消息指出用戶不應(yīng)將存儲(chǔ)器設(shè)備留在高溫環(huán)境中過(guò)長(zhǎng)時(shí)間。上文中提供了對(duì)本發(fā)明的具體描述以用于進(jìn)行闡述和說(shuō)明。但并非要窮舉或者將本發(fā)明限于所公開的精確形式。根據(jù)以上教導(dǎo),可實(shí)現(xiàn)很多修改和變型。上述實(shí)施例被選取用于最佳地解釋本發(fā)明的原理及其實(shí)際應(yīng)用,從而使得本領(lǐng)域技術(shù)人員能夠以不同的實(shí)施例并利用適于特定預(yù)期用途的不同變型來(lái)最佳地利用本發(fā)明。本發(fā)明的范圍要由所附權(quán)利要求來(lái)定義。
權(quán)利要求
1.一種用于操作非易失性存儲(chǔ)器設(shè)備的方法,該方法包括基于所述設(shè)備的第一組非易失性存儲(chǔ)器元件中的一個(gè)或多個(gè)非易失性存儲(chǔ)器元件的條件,確定出應(yīng)當(dāng)執(zhí)行對(duì)該第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新(806);根據(jù)相對(duì)于最近一次對(duì)所述第一組非易失性存儲(chǔ)器元件進(jìn)行了編程的時(shí)間于何時(shí)對(duì)所述設(shè)備中的第二組非易失性存儲(chǔ)器元件進(jìn)行了最近一次編程,確定出應(yīng)當(dāng)對(duì)該第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序(808);以及對(duì)所述第二組非易失性存儲(chǔ)器元件執(zhí)行所述刷新程序(810)。
2.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行所述刷新程序包括基于所述第二組非易失性存儲(chǔ)器元件中的一個(gè)或多個(gè)非易失性存儲(chǔ)器元件的條件,確定是否刷新所述第二組非易失性存儲(chǔ)器元件中所存儲(chǔ)的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述確定應(yīng)當(dāng)對(duì)所述設(shè)備中的第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序包括確定所述設(shè)備中的哪些非易失性存儲(chǔ)器元件在所述第一組非易失性存儲(chǔ)器元件之前被編程。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,所述確定應(yīng)當(dāng)對(duì)所述設(shè)備中的第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序包括存取與第一組非易失性存儲(chǔ)器元件相關(guān)的第一時(shí)間戳,該第一時(shí)間戳指出所述第一組非易失性存儲(chǔ)器元件被最近一次編程的時(shí)間;存取與所述設(shè)備中非易失性存儲(chǔ)器元件的塊相關(guān)的時(shí)間戳,與所述塊相關(guān)的該時(shí)間戳指出所述非易失性存儲(chǔ)器元件的塊中的每一個(gè)塊被最近一次編程的時(shí)間;以及確定哪個(gè)所述塊具有早于所述第一時(shí)間戳的相關(guān)時(shí)間戳。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,還包括將所述第一組編程至包括第一閾值電壓分布和第二閾值電壓分布的多個(gè)閾值電壓分布,并且,其中所述確定應(yīng)當(dāng)執(zhí)行對(duì)所述第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新包括確定所述第一組非易失性存儲(chǔ)器單元的閾值分布;確定所述閾值分布上的參考點(diǎn);基于所述參考點(diǎn)的偏移,確定所述第一組中存儲(chǔ)的數(shù)據(jù)是否應(yīng)當(dāng)刷新。
6.根據(jù)權(quán)利要求5所述的方法,其中,確定所述閾值分布中的參考點(diǎn)包括將多個(gè)讀取參考電壓施加至所述第一組中的至少一部分非易失性存儲(chǔ)器元件,在包括所述第二閾值電壓分布和第一閾值電壓分布中的一部分的電壓范圍上施加所述讀取參考電壓;基于施加所述讀取參考電壓,確定閾值分布中的凹谷,該凹谷為參考點(diǎn)。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述第一組與多個(gè)字線相關(guān),并且,其中該方法還包括隨機(jī)選擇所述字線的第一字線以對(duì)其施加所述多個(gè)讀取參考電壓。
8.根據(jù)權(quán)利要求7所述的方法,其中,確定應(yīng)當(dāng)執(zhí)行對(duì)所述設(shè)備的第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新還基于所述第一字線的、相對(duì)于其它字線位置的位置。
9.根據(jù)權(quán)利要求8所述的方法,其中,確定應(yīng)當(dāng)執(zhí)行對(duì)所述設(shè)備的第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新還基于該第一組中的一個(gè)或多個(gè)非易失性存儲(chǔ)器元件已被編程的次數(shù)。
10.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,確定應(yīng)當(dāng)對(duì)所述設(shè)備中第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序包括存取所述設(shè)備中多個(gè)非易失性存儲(chǔ)器元件組中的每一個(gè)組的序列號(hào),所述序列號(hào)表示所述多個(gè)組被編程的順序,且所述序列號(hào)包括用于所述第一組的第一序列號(hào)和用于所述第二組的第二序列號(hào);以及確定應(yīng)當(dāng)刷新序列號(hào)低于所述第一序列號(hào)的組中存儲(chǔ)的數(shù)據(jù),所述第二序列號(hào)低于所述第一序列號(hào)。
11.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行所述刷新程序包括在沒有確定所述第二組非易失性存儲(chǔ)器元件存在數(shù)據(jù)完整性問(wèn)題的情況下,刷新所述第二組非易失性存儲(chǔ)器元件中存儲(chǔ)的數(shù)據(jù)。
12.—種非易失性存儲(chǔ)器設(shè)備,包括多個(gè)非易失性存儲(chǔ)器元件組,包括第一組(塊i) 和第二組(塊i+n);以及與所述多個(gè)非易失性存儲(chǔ)器元件組通信的管理電路(220,230,240,242,244),該管理電路基于所述第一組非易失性存儲(chǔ)器元件中的一個(gè)或多個(gè)非易失性存儲(chǔ)器元件的條件,確定應(yīng)當(dāng)執(zhí)行對(duì)該第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新;該管理電路根據(jù)相對(duì)于最近一次對(duì)所述第一組非易失性存儲(chǔ)器元件進(jìn)行了編程的時(shí)間于何時(shí)對(duì)所述第二組非易失性存儲(chǔ)器元件進(jìn)行了最近一次編程,確定是否應(yīng)當(dāng)對(duì)該第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序;該管理電路對(duì)該第二組執(zhí)行刷新程序。
13.根據(jù)權(quán)利要求12所述的非易失性存儲(chǔ)器設(shè)備,其中,所述管理電路將所述第一組編程至包括第一閾值電壓分布和第二閾值電壓分布的多個(gè)閾值電壓分布,所述管理電路確定所述第一組非易失性存儲(chǔ)器單元的閾值分布,所述管理電路確定所述閾值分布上的凹谷,所述管理電路基于所述凹谷的偏移,確定是否應(yīng)當(dāng)執(zhí)行對(duì)所述第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新。
14.根據(jù)權(quán)利要求13所述的非易失性存儲(chǔ)器設(shè)備,其中,通過(guò)將多個(gè)讀取參考電壓施加至所述第一組中的至少一部分非易失性存儲(chǔ)器元件,所述管理電路確定所述凹谷,所述管理電路在包括所述第二閾值電壓分布和第一閾值電壓分布中的一部分的電壓范圍上施加所述讀取參考電壓。
15.根據(jù)權(quán)利要求12所述的非易失性存儲(chǔ)器設(shè)備,其中,基于所述第二組非易失性存儲(chǔ)器元件的最近一次編程是否在所述第一組的最近一次編程之前,所述管理電路確定所述第二組非易失性存儲(chǔ)器元件是否應(yīng)當(dāng)進(jìn)行所述刷新程序。
全文摘要
公開了用于刷新非易失性存儲(chǔ)器設(shè)備中的數(shù)據(jù)的技術(shù),該刷新足夠頻繁,足以克服錯(cuò)誤的或遭破壞的數(shù)據(jù)比特,但不會(huì)太頻繁而干擾存儲(chǔ)器存取或?qū)е麓鎯?chǔ)器單元負(fù)擔(dān)過(guò)重。一個(gè)實(shí)施例包括基于設(shè)備中第一組非易失性存儲(chǔ)器元件中的數(shù)據(jù)的條件,確定執(zhí)行對(duì)該第一組非易失性存儲(chǔ)器元件中所存儲(chǔ)數(shù)據(jù)的刷新;根據(jù)相對(duì)于最近一次對(duì)所述第一組非易失性存儲(chǔ)器元件進(jìn)行了編程的時(shí)間于何時(shí)對(duì)該設(shè)備中的第二組非易失性存儲(chǔ)器元件進(jìn)行了最近一次編程,確定應(yīng)當(dāng)對(duì)該第二組非易失性存儲(chǔ)器元件進(jìn)行刷新程序;以及對(duì)所述第二組非易失性存儲(chǔ)器元件執(zhí)行所述刷新程序。
文檔編號(hào)G11C16/34GK102246241SQ200980150591
公開日2011年11月16日 申請(qǐng)日期2009年9月30日 優(yōu)先權(quán)日2008年12月18日
發(fā)明者尼瑪·穆赫萊斯 申請(qǐng)人:桑迪士克股份有限公司