中文字幕无码日韩视频无码三区

選擇性的存儲器單元編程和擦除的制作方法

文檔序號(hao):6770630閱讀:163來源:國知局
專利名稱:選擇性的存儲器單元編程和擦除的制作方法
技術領域
本發明涉及非易失性存儲器。
背景技術
半導體存儲器已經被日益廣泛地用于各種電子裝置。例如,非易失性半導體存儲器被用在蜂窩電話、數碼相機、個人數字助手、移動計算裝置、非移動計算裝置和其它裝置中。電可擦除可編程只讀存儲器(EEPROM)和閃存屬于最普及的非易失性半導體存儲器。與 傳統的全功能的EEPROM相比,利用也是EEPROM類型的閃存,可以一步擦除整個存儲器陣列或一部分存儲器的內容。傳統的EEPROM和閃存二者都使用位于半導體襯底中的溝道區的上方并與溝道區絕緣的浮柵。浮柵位于源極區和漏極區之間。在浮柵上方并與浮柵絕緣地提供控制柵。由保持在浮柵上的電荷的量控制由此形成的晶體管的閾值電壓(Vth)。也就是說,由浮柵上的電荷水平控制在晶體管導通之前必須向控制柵施加的、以允許晶體管的源極和漏極之間導通的電壓的最小量。一些EEPROM和閃存裝置具有用于存儲兩個范圍的電荷的浮柵,并且因此可以在兩個狀態(例如,擦除狀態和編程狀態)之間編程/擦除存儲器元件。典型地,具有在第一電壓范圍內的閾值電壓的存儲器單元被認為處于擦除狀態,并且具有在第二電壓范圍內的閾值電壓的存儲器單元被認為處于編程狀態。典型地,在第一范圍和第二范圍之間存在窗口。這種閃存裝置有時被稱為二元閃存裝置,因為每個存儲器元件可以存儲一位數據。通過標識多個獨特的容許/有效的編程閾值電壓范圍實現了多狀態(也稱為多電平)閃存裝置。每個獨特閾值電壓范圍對應于編碼在該存儲器裝置中的一組數據位的預定值。例如,當每個存儲器元件可以位于與四個獨特閾值電壓范圍相對應的四個離散電荷帶之一時,該元件可以存儲兩位數據。一些閃存裝置工作于兩狀態或多狀態。例如,一些存儲器單元被用于存儲一位數據(“單電平單元或SLC塊”)并且其它存儲器單元被用于每單元存儲多位(“多電平單元或者MLC塊”)。對于一些裝置,SLC塊和MLC塊是同一集成電路的一部分,并且可以甚至是同一存儲器陣列的一部分。SLC塊可被用于數據的短期存儲,而MLC塊可被用于長期數據存儲。換句話說,SLC塊可以有點像高速緩存器那樣被使用。因此,在裝置的壽命期間,SLC塊可能比MLC塊多編程/擦除很多次。因此,與MLC塊相比,SLC塊的寫入/擦除耐用性可能是更重要的問題。對于一些存儲器陣列,陣列被設置為多個平行的字線和與該字線垂直布置的多個位線。在某些情況下,存儲器單元可能受到相鄰字線和/或相鄰位線上鄰近的存儲器單元的浮柵上存儲的電荷影響。由于存儲在鄰近浮柵中的電荷所導致的電場耦合,可能會出現存儲在存儲器單元的浮柵上的表觀電荷的偏移。在美國專利5867429號中描述了這種現象,該專利的全部內容通過引用包含在本文中。該問題最顯著地出現于在不同時間編程了的鄰近存儲器單元組之間。例如,第一存儲器單元被編程為將與一組數據相對應的電荷電平加到其浮柵。隨后,一個或多個鄰近的存儲器單元被編程以將與第二組數據相對應的電荷電平加到它們的浮柵。在所述一個或多個鄰近的存儲器單元被編程之后,由于與第一存儲器單元耦合的鄰近存儲器單元上的電荷的影響,從第一存儲器單元讀出的電荷電平看起來不同于被編程的電荷電平。與鄰近存儲器單元的耦合可使所讀取的表觀電荷電平偏移足夠的量,以致導致所存儲的數據的錯誤讀取。在本文中,鄰近的浮柵對浮柵的影響可被成稱為一種類型的“鄰近浮柵電荷耦合影響”。
鄰近浮柵上的電荷還可能干擾存儲器單元的浮柵下面的襯底中的傳導溝道。特別地,鄰近浮柵上的電荷可能影響另一個存儲器單元的溝道如何強地傳導電流。因此,如果存儲在鄰近浮柵中的電荷改變,那么它可能比其他存儲器單元需要更大(或更小)的控制柵上的電壓以在溝道中產生相同的電流。總影響是存儲在存儲器單元上的電荷的量因存儲在鄰近浮柵中的電荷的變化而看來不同。該問題在已經在不同時間編程了的鄰近存儲器單元組之間最顯著。在本文中,鄰近的浮柵對溝道的影響可被稱為另一種類型的“鄰近浮柵電荷耦合影響”。存儲器單元的另一個問題是電荷可能隨著時間累積在浮柵附近的電介質中。例如,當對存儲器單元編程時,電荷可能陷入在存儲器單元的浮柵下的隧道二氧化物層中。擦除該存儲器單元可能不會完全去除陷入的電荷。陷入的電荷量隨著每個編程/擦除循環而增加。隨著存儲器單元在尺寸上的不斷縮小,存儲器單元之間空間的相關減小可能增加鄰近的浮柵電荷耦合影響。隨著編程/擦除循環數增加,在鄰近的浮柵周圍陷入的電荷加劇了浮柵電荷耦合影響。對于經過許多編程/擦除循環的存儲器單元來說,大的鄰近浮柵電荷耦合影響嚴重縮小了閾值電壓范圍之間的差。例如,代表“I”和“O”的閾值電壓范圍之間的間隙減小。為了確保可靠性并且避免讀取錯誤,在“I”狀態和“O”狀態之間應該具有一定量的閾值電壓間隔。


圖I是NAND串的俯視圖。圖2是具有相關字線的三個NAND串的電路圖。圖3是NAND閃速存儲元件陣列的框圖。圖4是示出存儲器陣列的一個實施例的框圖。圖5是示出感測塊的一個實施例的框圖。圖6A-6C不出不例性的閾值電壓分布。圖7A示出對存儲器陣列中的存儲器單元塊進行編程的過程的一個實施例。圖7B示出對存儲器陣列中的存儲器單元塊進行編程的過程的另一個實施例。圖8A和圖SB示出對奇數字線和偶數字線上的存儲器單元進行編程之后得到的示例性圖案。圖9A示出對SLC和MLC塊進行編程的過程的一個實施例。圖9B示出對SLC和MLC塊進行編程的過程的另一個實施例。圖10示出以棋盤圖案對存儲器陣列中的存儲器單元塊進行編程的過程的流程圖的一個實施例。圖IlA和圖IlB示出對奇數字線和偶數字線上的存儲器單元進行編程之后得到的示例性棋盤圖案。圖12示出使用棋盤圖案對SLC和MLC塊進行編程的過程的一個實施例。圖13是描述對存儲器單元進行編程的細節的流程圖。
圖14是描述擦除存儲器單元的細節的流程圖。
具體實施例方式本文公開了用于以實現高編程/擦除循環耐用性的方式對存儲器陣列進行編程的技術。該技術減小了字線之間浮柵電荷耦合影響,其可以增加存儲器單元的耐用性。該技術減小了位線之間浮柵電荷耦合影響,其可以增加存儲器單元的耐用性。該技術在閾值電壓分布狀態之間提供寬窗口。在一些方面,該技術被應用于還包括MLC塊的存儲器陣列中的SLC塊。在一個方面,只有塊中某些被選擇的字線(WL)被編程。其它WL保持被擦除(不被編程)。這減小或消除了 WL-WL浮柵電荷耦合影響。最初,整個存儲器單元組(例如,塊)可以都被擦除。當一 WL被編程時,相鄰的兩個WL (WLn-I和WLn+1)保持在被擦除狀態而不被編程。在該例子中,“n”可以是偶數整數,或者可選地,可以是奇數整數。作為例子,只有偶數字線被編程。在所有偶數字線被編程之后并且要用新的數據對該數據塊進行編程時,該塊被擦除。注意,當擦除該塊時,奇數WL上的存儲器單元不需要被擦除,這減小了奇數WL上存儲器單元上的應力。之后,只有奇數WL被編程。一方面是操作具有SLC塊和MLC塊的存儲器陣列。在一個方面,在前一段中討論的偶數/奇數編程被應用于SLC塊。例如,在用數據對幾個SLC塊中的偶數WL上的存儲器單元進行編程之后,該數據被轉移到一個或多個MLC塊。然后,SLC塊被擦除,并且可以對SLC塊中的奇數字線進行編程。在一個方面,以棋盤圖案進行塊或其它單位的編程。例如,在偶數WL上,只有偶數存儲器單元被編程,而在奇數WL上,只有奇數存儲器單元被編程。之后,當新的數據要被存儲在該塊中時,棋盤圖案變成相反,使得在偶數WL上,只有奇數存儲器單元被編程,而在奇數WL上,只有偶數存儲器單元被編程。該編程方案可以減小或消除WL-WL浮柵電荷耦合影響以及位線到位線的浮柵電荷耦合影響。在一個方面,前一段中討論的棋盤圖案編程被應用于SLC塊。例如,在使用棋盤圖案將幾個SLC塊編程之后,將數據轉移到一個或多個MLC塊。然后,該SLC塊被擦除并且可以使用相反的棋盤圖案來對SLC塊進行編程。本文中描述的技術可適用于廣闊范圍的存儲器陣列。下面是一個示例性的NAND結構。然而,本文中描述的技術不局限于該例子。閃存系統的一個例子使用該NAND結構,其包括在兩個選擇柵極之間串聯設置多個浮柵晶體管。該串聯的晶體管和被選擇的柵極被稱為NAND串。圖I是示出一個NAND串的俯視圖。圖I中所示的NAND串包括串聯的四個晶體管100、102、104和106并且夾在第一(或漏極側)選擇柵極120和第二(或源極側)選擇柵極122之間。選擇柵極120將NAND串經由位線觸點126連接到位線。選擇柵極122將NAND串連接到源極線128。通過施加適當的電壓控制選擇柵極120以選擇線S⑶。通過施加適當的電壓控制選擇柵極122以選擇線SGS。晶體管100、102、104和106中的每一個具有控制柵和浮柵。例如,晶體管100具有控制柵100CG和浮柵100FG。晶體管102包括控制柵102CG和浮柵102FG。晶體管104包括控制柵104CG和浮柵104FG。晶體管106包括控制柵106CG和浮柵106FG。控制柵100CG連接到字線WL3,控制柵102CG連接到字線WL2,控制柵104CG連接到字線WL1,并且控制柵106CG連接到字線WL0。使用NAND結構的閃存系統的典型結構包括許多的NAND串。每個NAND串通過它的由選擇線SGS控制的源極選擇柵極連接到源極線,并且通過它的由選擇線SGD控制的漏極選擇柵極連接到它的相關位線。每個位線和經由位線觸點連接到該位線的各NAND串包括多列存儲器單元陣列。多個NAND串共享位線。典型地,位線以垂直于字線的方向布置在NAND串的頂上并且連接到一個或多個感測放大器。 圖2示出具有更多個NAND串的存儲器陣列的三個NAND串302、304和306。圖2中的每個NAND串包括兩個選擇晶體管和四個存儲器單元。例如,NAND串302包括選擇晶體管320和330以及存儲器單元322、324、326和328。NAND串304包括選擇晶體管340和350以及存儲器單元342、344、346和348。每個NAND串通過其選擇晶體管(例如,選擇晶體管330和選擇晶體管350)連接到源極線。選擇線SGS被用于控制源極側選擇柵極。各個NAND串通過由選擇線SGD控制的選擇晶體管320、340等連接到各自的位線。在其它實施例中,選擇線不一定需要是共用的。字線WL3連接到存儲器單元322和存儲器單元343的控制柵。字線WL2連接到存儲器單元324、存儲器單元344和存儲器單元352的控制柵。字線WLl連接到存儲器單元326和存儲器單元346的控制柵。字線WLO連接到存儲器單元328和存儲器單元348的控制柵。如所看到的,每個位線和各自的NAND串包括多列存儲器單元陣列。字線(WL3、WL2、WL1和WL0)包括多行陣列。注意,NAND串可以具有比圖2中所示的更少或更多個存儲器單元。例如,一些NAND串包括8個存儲器單元、16個存儲器單元、32個存儲器單元、64個存儲器單元、128個存儲器單元等。本文中的討論不局限于NAND中任何具體數目的存儲器單元。此外,一個字線可以具有比圖2中所示的更多或更少個存儲器單元。例如,一個字線可以包括幾百萬或幾萬個存儲器單元。本文中的討論不局限于一個字線中任何具體數目的存儲器單元。每個存儲器單元可以存儲數據(模擬或數字)。當存儲一位數字數據時,存儲器單元的可能的閾值電壓的范圍被分成分配有邏輯數據“I”和“O”的兩個范圍。在NAND類型閃存的一個例子中,在存儲器單元被擦除后,閾值電壓是負的,并且被定義為邏輯“I”。編程之后的閾值電壓是正的,并且被定義為邏輯“O”。當閾值電壓是負的并且通過向控制柵施加O伏來嘗試讀取時,該存儲器單元將導通以表示邏輯I被存儲。當閾值電壓是正的并且通過向控制柵施加O伏來嘗試讀取操作時,該存儲器單元將不導通,其表示邏輯O被存儲。在存儲多個電平的數據的情況下,可能的閾值電壓的范圍被分為多個電平的數據。例如,如果存儲四個電平的信息(兩位數據),那么將有被分配給數據值“11”、“10”、“01”和“00”的四個閾值電壓范圍。在NAND類型存儲器的一個例子中,擦除操作之后的閾值電壓是負的并且被定義為“11”。正的閾值電壓被用于“10”、“01”和“00”的數據狀態。如果存儲8個電平的信息(或狀態)(例如,三位數據),那么將有被分配給數據值“000”、“001”、“010”、“011”、“100”、“101”、“110” 和 “111” 的 8 個閾值電壓范圍。被編程到存儲器單元中的數據和該單元的閾值電壓電平之間的具體關系取決于單元所采用的數據編碼方案。例如,美國專利6222762號和美國專利申請公開2004/0255090號描述了用于多狀態閃存單元的各種數據編碼方案,此二者的全部內容通過引用包含在本文中。在一個實施例中,使用格雷碼分配將數據值分配給閾值電壓范圍,使得如果浮柵的閾值電壓錯誤地偏移到其相鄰的物理狀態,那么將只有一位受到影響。在一些實施例中,可以針對不同的字線改變數據編碼方案,數據編碼方案可以隨時間改變,或者隨機的字線的數據位可以反轉或者被隨機化,以減小數據圖案靈敏性,甚至存儲器單元上的破損。在以下美國專利/專利申請中提供了 NAND類型閃存和它們的操作的相關例子美國專利5570315號;美國專利5774397號;美國專利6046935號;美國專利6456528號;和美國專利公開US2003/0002348號,這些專利/專利申請通過引用包含在本文中。除了NAND以外,本文中的討論還可以應用于其它類型閃存以及其它類型的非易失性存儲器。例如,以下專利描述了 NOR類型的閃存并且它們的全部內容通過引用包含在本文中美國專 利 5095344 號;5172338 號;5890192 號和 6151248 號。除了 NAND閃存以外,還可以使用其它類型的非易失性存儲裝置。例如,還可以將本發明用于所謂的TANOS結構(由硅襯底上的TaN-Al2O3-SiN-SiO2疊層構成),其基本上是使用氮化物層(代替浮柵)中的電荷捕獲的存儲器單元。在閃速EEPROM系統中有用的另一種類型的存儲器單元使用非傳導的介電材料,代替傳導的浮柵,從而以非易失的方式存儲電荷。在Chan等人的文章中描述了這種單元("A True Single-TransistorOxide-Nitride-Oxide EEPROM Device, " IEEE Electron Device Letters, Vol. EDL-8,No. 3,1987年3月,pp. 93-95)。由氧化硅、氮化硅和氧化硅(“0N0”)形成的三層電介質夾在傳導的控制柵和存儲器單元溝道上的半傳導襯底的表面之間。通過從單元溝道向氮化物中注入電子來對該單元進行編程,其中電子被捕獲并存儲在有限的區域中。然后所存儲的電荷以可檢測的方式改變該單元的一部分溝道的閾值電壓。通過向該氮化物中注入熱空穴來擦除該存儲器單兀。另見Nozaki等人的"A I-Mb EEPROM with MONOS Memory Cell forSemiconductor Disk Application, " IEEE Journal of Solid-State Circuits,Vol. 26,No. 4,1991年4月,pp. 497-501,其描述了分裂柵結構的類似存儲器單元,其中摻雜的多晶硅柵在一部分存儲器單元溝道上延伸,以形成分離的選擇晶體管。上述兩篇文章的全部內容通過引用包含在本文中。通過引用包含在本文中的由William D. Brown和Joe E. Brewer編輯的"Nonvolatile Semiconductor Memory Technology"的第 I. 2 節中提到編程技術(IEEE出版,1998),該節中所描述的也可以適用于電介質電荷捕獲裝置。還可以使用其它類型的存儲器裝置。圖3示出可以包括一個或多個存儲器片或芯片212的非易失性存儲裝置210。存儲器片212包括存儲器單元陣列(二維或三維)200、控制電路220和讀/寫電路230A和230B。在一個實施例中,在存儲器陣列200的對側上以對稱的方式實施各種外圍電路對該陣列的訪問,使得每一側上的訪問線和電路的密度減小一半。讀/寫電路230A和230B包括多個感測塊300,其允許一頁的存儲器單元被并行讀取或編程。存儲器陣列200可以由字線通過行解碼器240A和240B訪問并且可以由位線通過列解碼器242A和242B訪問。在典型的實施例中,控制器244與所述一個或多個存儲器片212被包括在同一存儲器裝置210 (例如,可移動的存儲卡或者包)中。命令和數據通過線232在主機和控制器244之間轉移并且通過線234在控制器和所述一個或多個存儲器片212之間轉移。一種實施方式可以包括多個芯片212。控制電路220與讀/寫電路230A和230B合作以在存儲器陣列200上進行存儲器操作。控制電路220包括狀態機222、片上地址解碼器224和功率控制模塊226。狀態機222提供對存儲器操作的片上水平控制。片上地址解碼器224提供地址接口以在由主機或存儲器控制器使用的地址和由解碼器240A、240B、242A和242B使用的硬件地址之間轉換。功率控制模塊226在存儲器操作期間控制施加到字線和位線的功率和電壓。在一個實施例中,功率控制模塊226包括可以產生比施加的電壓大的電壓的一個或多個電荷泵。存儲器陣列200包括MLC塊區域200a和SLC塊區域200b。SLC塊和MLC塊可以具有相同數目的用于用戶數據的存儲器單元;然而,因為MLC塊每個單元存儲多個位,所以一個MLC塊可以存儲一個SLC塊的2、3、4等倍數的數據。SLC塊和MLC塊不需要具有相同數目的存儲器單元。典型地,通過比在SLC塊中使用的更強的ECC算法處理存儲在MLC塊中的數據,以提供更大的可靠性。SLC塊通常不需要這種強ECC。具有SLC塊的存儲器陣列 200的區域200b將被稱為“SLC區域200b”,并且具有MLC塊的存儲器陣列200的區域200a將被稱為“MLC區域200a”。注意,在一些實施例中,SLC塊區域200b和MLC塊區域200a不一定是預定義的區域。在一些實施例中,存儲器陣列200中的所有塊可以被用作SLC塊或MLC塊。例如,塊可以在一個時間被用作SLC塊而在另一個時間被用作MLC塊。在其它實施例中,控制器244將某些塊分別定義為SLC塊和MLC塊。在一些實施例中,當控制器244接收用戶數據時,它首先被存儲在一個或多個SLC塊中。然而,控制器244不一定對SLC塊中的所有存儲器單元編程。在一個方面,控制器244只對所選擇的字線(例如,只有奇數WL或者只有偶數WL)編程。在一個方面,控制器244以棋盤圖案對存儲器單元編程。在某些情況下,控制器244可以將存儲在SLC塊中的用戶數據轉移到一個或多個MLC塊中。作為例子,如果MLC塊每個存儲的數據是SLC塊能夠存儲的數據的兩倍,那么控制器244可以等待,直到四個SLC塊以該數據被編程然后被讀取,進行ECC編碼,并且將該數據存儲在單個MLC塊中。注意,不需要在轉移到MLC塊之前,對SLC塊中的所有存儲器單元編程。還要注意,該技術可導致數據存儲在MLC塊中的時間段比存儲在SLC塊中的時間段長,但這不是必需的。在一個實施例中,控制電路220、功率控制電路226、解碼器電路224、狀態機電路222、解碼器電路242A、解碼器電路242B、解碼器電路240A、解碼器電路240B、讀/寫電路230A、讀/寫電路230B和/或控制器244中的一個或任意組合可被稱為一個或多個管理電路。圖4示出存儲器單元陣列200的示例性結構。在一個實施例中,該存儲器單元陣列被分成M個存儲器單元塊。該塊是擦除單位,這對于EEPROM系統來說是常見的。也就是說,每個塊包含被一起擦除的最低數目的存儲器單元。每個塊被典型地分成多個頁。頁是編程單位。一頁或多頁的數據典型地存儲在一行存儲器單元中。一頁可以存儲一個或多個扇區。扇區包括用戶數據和開銷數據。開銷數據典型地包括已經從該扇區的用戶數據計算出的錯誤修正碼(ECC)。控制器的一部分(下面描述)在數據被編程到陣列中時計算ECC,并且在從陣列讀取數據時還檢查ECC。作為選擇,ECC和/或其它開銷數據被存儲在與它們所述的用戶數據不同的頁中或者甚至不同的塊中。一個扇區的用戶數據典型地是與磁盤驅動中的一個扇區的尺寸相對應的512字節。大數目的頁形成塊,從8頁到例如32頁、64頁、128頁或更多頁。還可以使用不同尺寸的塊和結構。在另一實施例中,位線被分為奇數位線和偶數位線。在奇數/偶數位線結構中,一次對沿著公共字線并且連接到奇數位線的存儲器單元進行編程,而另一次對沿著公共字線并且連接到偶數位線的存儲器單元進行編程。圖4還示出存儲器陣列200的塊i的更多細節。塊i包括X+1個位線和X+1個NAND串。塊i還包括64個數據字線(WL0-WL63)、2個虛擬字線(WL_dO和WL_dl)、漏極側選擇線(SOT)和源極側選擇線(SGS)。每個NAND串的一個端子通過漏極選擇刪極連接到對應的位線(連接到選擇線SGD),并且另一個端子通過源極選擇柵極連接到源極線(連接到選擇線SGS)。因為有64個數據字線和2個虛擬字線,所以每個NAND串包括64個數據存儲 器單元和2個虛擬存儲器單元。在其它實施例中,NAND串可以具有多于或少于64個數據存儲器單元和更多或更少個虛擬存儲器單元。數據存儲器單元可以存儲用戶數據或系統數據。虛擬存儲器單元典型地不被用于存儲用戶數據或系統數據。一些實施例不包括虛擬存儲器單元。圖5是被分成內核部分480(稱為感測模塊)和公共部分490的單獨感測塊300的框圖。在一個實施例中,存在用于每個位線的分開的感測模塊480和用于一組多個感測模塊480的一個公共部分490。在一個例子中,感測塊包括一個公共部分490和八個感測模塊480。一組中的每個感測模塊通過數據總線472與相關的公共部分通信。對于更多的細節,請參考2004年12月29日提交的標題為“Non-volatile memory and method withshared processing for an aggregate of read/write circuits,,的美國專利申請公開2006/0140007號,該申請的全部內容通過弓I用包含在本文中。感測模塊480包括用于確定所連接的位線中的傳導電流是否高于或低于預定閾值水平的感測電路470。在一些實施例中,感測模塊480包括通常被稱為感測放大器的電路。感測模塊480還包括用于設定所連接的位線上的電壓條件的位線鎖存器482。例如,鎖存在位線鎖存器482中的預定狀態將導致所連接的位線被拉到指定禁止編程的狀態(例如,Vdd)。公共部分490包括處理器492、一組數據鎖存器494和耦合在該組數據鎖存器494和數據總線420之間的1/0接口 496。處理器492進行計算。例如,其功能之一是確定存儲在被感測的存儲器單元中的數據并且將所確定的數據存儲在該組數據鎖存器中。該組數據鎖存器494被用于在讀操作期間存儲由處理器492確定的數據位。它還被用于在編程操作期間存儲從數據總線420輸入的數據位。所輸入的數據位代表要被編程到存儲器中的寫數據。1/0接口 496提供數據鎖存器494和數據總線420之間的接口。在讀取或感測期間,系統的操作處于用于控制向被尋址的單元施加不同的控制柵極電壓的狀態機222的控制之下。由于它步進通過與存儲器支持的各種存儲器狀態相對應的各種預定義的控制柵極電壓,所以感測模塊480可以在這些電壓之一解扣(trip),并且通過總線472從感測模塊480向處理器492提供輸出。在此情況下,處理器492通過考慮感測模塊的解扣事件和經由輸入線493來自狀態機的與所施加的控制柵極電壓有關的信息來確定得到的存儲器狀態。然后它計算存儲器狀態的二進制編碼并且將得到的數據位存儲在數據鎖存器494中。在內核部分的另一個實施例中,位線鎖存器482具有雙重用途,既用作用于鎖存感測模塊480的輸出的鎖存器又用作如上面所描述的位線鎖存器。可以預期,一些實施方式將包括多個處理器492。在一個實施例中,每個處理器492將包括輸出線(圖5中未示出),使得每個輸出線被線或地連接(wired-OR)在一起。在一些實施例中,輸出線在連接到線或地連接在一起的線之前被反轉。該配置能夠在編程驗證處理期間快速確定編程處理什么時候完成,因為接收該線或地連接在一起的線的狀態機可以確定什么時候所有被編程的線已經到達期望的電平。例如,當每位已經到達它的期望電平時,該位的邏輯零將被發送到線或地連接在一起的線(或者數據I被反轉)。當所有位都輸出數據0(或者數據I被反轉)時,則狀態機知道要終止編程處理。在每個處理器與8個感測模塊通信的實施例中,狀態機可能(在一些實施例中)需要讀取線或地連接在一起的線8次,或邏輯被加到處理器492以累計相關位線的結果,使得狀態機只需要讀取線或地連接在一起的線I次。在編程或驗證期間,要被編程的數據從數據總線420存儲在數據鎖存器組494中。 在狀態機控制下的編程操作包括施加到被尋址的存儲器單元的控制柵的一系列編程電壓脈沖(具有增加的幅度)。每個編程脈沖之后接著驗證處理以確定該存儲器單元是否已經被編程到期望的狀態。處理器492相對于該期望的存儲器狀態而監視驗證的存儲器狀態。當這兩個狀態一致時,處理器492設定位線鎖存器482,從而使該位線被拉到指定禁止編程的狀態。這使得即使在耦合到該位線的單元的控制柵上施加編程脈沖也禁止該單元被進一步編程。在其它實施例中,處理器最初加載位線鎖存器482并且感測電路在驗證處理期間將其設定為禁止值。數據鎖存器棧494包含與感測模塊相對應的數據鎖存器的堆棧。在一個實施例中,每個感測模塊480有3-5個(或者另一個數目)數據鎖存器。在一個實施例中,鎖存器每個是I位。在一些實施方式中(但不是要求的),數據鎖存器被實施為移位寄存器,使得存儲在其中的并行數據被轉換為用于數據總線420的串行數據,反之亦然。在一個優選實施例中,與m個存儲器單元的讀/寫塊相對應的所有數據鎖存器被鏈接在一起,以形成塊移位寄存器,使得可以通過串行傳送來輸入或輸出一塊的數據。具體來說,讀/寫模塊庫被被調整為使得其數據鎖存器組中的每一個數據鎖存器順序地將數據移入或移出數據總線,好像它們是整個讀/寫塊的移位寄存器的一部分。在(I)標題為"Non-VolatileMemory And Method With Reduced Source LineBias Errors "的美國專利 7,196,931 號;(2)標題為"Non-Volatile Memory And Methodwith Improved Sensing"的美國專利 7,023,736 號;(3)美國專利申請公開 2005/0169082號;⑷標題為"Compensating for Coupling During Read Operations of Non-VolatileMemory"的美國專利7,196,928號;以及(5) 2006年7月20日出版的標題為"ReferenceSense Amplifier For Non-Volatile Memory "美國專利申請公開2006/0158947 號中可以發現與讀操作和感測放大器有關的另外信息。上面列出的5個專利文件的全部內容都通過引用包含在本文中。在成功的編程處理(通過驗證)結束之后,存儲器單元的閾值電壓適當地應該在被編程的存儲器單元的閾值電壓的一個或多個分布之內或者在被擦除的存儲器單元的閾值電壓的分布之內。圖6A示出在SLC塊中存儲器單元的狀態的示例性Vt分布。圖6B示出每個存儲器單元存儲四位數據時與存儲器單元陣列的數據狀態相對應的示例性Vt分布。這種分布可被用于對MLC塊編程。然而其它實施例可以每個存儲器單元使用多于或少于四位數據。圖6B示出與數據狀態01-15相對應的16個Vt分布。在一些實施例中,狀態O的閾值電壓是負的,并且狀態1-15的閾值電壓是正的。然而,狀態1-15中的一個或多個的閾值電壓可以是負的。數據狀態0-15每個之間是用于從存儲器單元讀取數據的讀取參考電壓。例如,圖6B示出數據狀態O和I之間的讀取參考電壓Vrl和數據狀態I和2之間的Vr2。通過測試給定的存儲器單元的閾值電壓是否高于或低于各自的讀取參考電壓,該系統可以確定該存儲器單元處于什么狀態。在每個數據狀態0-15的下沿處或附近是驗證參考電壓。例如,圖6B示出狀態I的Vvl和狀態2的Vv2。當將存儲器單元編程到給定的狀態時,該系統將測試那些存儲器單元是否具有大于或等于驗證參考電壓的閾值電壓。圖6C示出了另一個實施例,其中與數據狀態0-15相對應的Vt分布可以部分交 疊,這是因為糾錯算法可以處理一定百分比的錯誤單元。還應注意,由于穿過源極的體效應,Vt軸可以偏離施加到控制柵的實際電壓,或者體偏置被用于將負的閾值電壓偏移到可測量的正的范圍中。另一點要指出的是與所示出的16個狀態的等間距/寬度相反,各個狀態可以具有不同的寬度/間隔,以適應對數據保留損失的不同敏感度。在一些實施例中,狀態O和/或15比其它狀態寬。再次參考圖6A,狀態O可以是由擦除SLC塊中的所有存儲器單元導致的擦除分布。擦除驗證電壓沒有被明確地示出,但是可以正好處于擦除分布的右邊緣。當SLC塊被編程時,該系統將被選擇的存儲器單元的閾值電壓移動到分布I。該系統驗證存儲器單元是否被編程到狀態I的閾值電壓Vv。在完成編程之后,該系統通過將它們的閾值電壓與Vr比較來讀取存儲器單元。圖7A示出對存儲器陣列200中的存儲器單元塊進行編程的處理700的流程圖的一個實施例。在一個實施例中,處理700被應用于SLC塊而不是MLC塊。然而,處理700也可以被應用于MLC塊。步驟702中,該存儲器陣列中的存儲器單元塊被擦除。一方面,該塊是SLC塊,但是處理700不局限于SLC塊。因此,一方面,該塊是MLC塊。下面結合對圖14的討論來討論擦除存儲器單元塊的細節。在步驟S702中,該塊中的所有存儲器單元被擦除。在步驟S704中,與偶數字線相關聯的存儲器單元被編程。然而,奇數字線上的存儲器單元保持被擦除(不被編程)。圖8A示出在對偶數字線上的存儲器單元進行編程但是保持奇數字線上的被擦除的存儲器單元之后得到的示例性圖案。被虛線圈起的存儲器單元是用數據編程的存儲器單元。在圖8A中,在WL1、WL3和WL5上,存儲器單元都具有“0”,表示它們仍是被擦除的。WL0、WL2和WL4上的存儲器單元具有“I”或“0”,表示那些存儲器單元已經被用數據編程。在本文中,短語“對一組存儲器單元進行編程”、“在一組存儲器單元中編程數據”、“被編程的字線”或類似的短語將被理解為意味著存儲器單元的閾值電壓被設定為適當的電平以代表數據。將會理解,為了將數據編程到存儲器單元中,有一些存儲器單元的閾值電壓不需要改變。例如,WLO、WL2、WL4上的一些存儲器單元已經使它們的閾值電壓從擦除閾值電壓(圖6A中的狀態O)改變到被編程的閾值電壓(例如,圖6A中的狀態I)。然而,WLO、WL2、WL4上的一些存儲器單元保持在擦除閾值電壓(例如,圖6A中的狀態O)以代表二進制的“O”。注意,被擦除狀態也可能代表二進制的“I”。還要注意,編程可能涉及將閾值電壓改變到另一個狀態,如圖6B和圖6C中狀態2-15中的任一個。換句話說,該塊可以是MLC塊。典型地,塊中會有更多個字線。例如,可能有64或更多個字線。此外,塊中也會有更多個位線。例如,可能有數千個位線。在步驟S706中,至少偶數字線上的存儲器單元被擦除。因為由于步驟702中的完全塊擦除而奇數字線上的存儲器單元沒有被編程,所以那些存儲器單元不需要被擦除。關于圖14討論擦除被選擇的字線上的存儲器單元的細節。在一些實施例中,以正常的方式擦除偶數字線上的存儲器單元,但是奇數字線上的存儲器單元只被弱擦除。下面更詳細地討論弱擦除。通過多種事件觸發該擦除。一方面,將SLC塊編程,直到足夠的SLC塊被編程以保證轉移到一個或多個MLC塊。在數據轉移到MLC塊之后,SLC塊中的數據可以被擦除。還可以通過主機向控制器244發送表示該塊中的所有數據要被擦除或者要寫入新的數據的命令來觸發該擦除。因此,不需要在擦除之前將數據從該塊轉移到另一個塊。關于圖14討論選擇性地擦除特定字線上的存儲器單元(例如,只擦除偶數字線)。在步驟S708中,奇數字線上的存儲器單元被編程。然而,偶數字線上的存儲器單 元保持被擦除(或者不被編程)。圖8B示出在對奇數字線上的存儲器單元進行編程并且保持偶數字線上的存儲器單元被擦除之后得到的示例性的圖案。在圖8B中,WLO、WLl和WL3的存儲器單元都具有“O”,表示它們被擦除。WLl、WL3和WL5上的存儲器單元具有“I”或“0”,表示這些存儲器單元已經被編程。例如,一些存儲器單元已經使它們的閾值電壓從擦除閾值電壓(圖6A中的狀態O)改變到被編程的狀態(例如,圖6A中的狀態I)。注意,編程可能涉及將閾值電壓改變到另一個狀態,如圖6B和圖6C中的狀態2-15中的任一個。在步驟S710中,至少奇數字線上的存儲器單元被擦除。這與步驟S706針對偶數字線的類似,并且不詳細討論。注意,不需要保持編程奇數字線、然后偶數字線、然后奇數字線、然后偶數字線的交替順序。一方面,保持針對奇數字線和針對偶數字線的編程/擦除循環數目的計數。在編程和擦除奇數WL之前可以連續編程/擦除偶數WL多次。隨著時間的過去,偶數字線和奇數字線接收相同數目的編程/擦除循環以平衡用舊。偶數和奇數WL的編程/擦除循環的計數可以存儲在數據塊本身的空閑存儲器單元中。也就是說,每個塊中可以有一定數目的存儲器單元不用于用戶數據。作為選擇,該計數可以存儲在別處,如存儲器陣列200中的不同塊或者存儲器陣列200外部的存儲器。因此,一方面,在進行步驟708和710 (編程/擦除奇數WL)之前,可以重復步驟704和706 (編程/擦除偶數WL)多次。在其它實施例中,除了對偶數和奇數WL進行編程以外,使用一些其它圖案。在一個實施例中,該圖案在每個被編程的WL之間至少具有一個未被編程的WL。例如,每第三個字線被編程,同時之間的WL保持被擦除。作為特定的例子,WLO、WL3、WL6、WL9等被編程,而WL1、WL2、WL4、WL5、WL7、WL8等保持被擦除。在擦除WLO、WL3、WL6、WL9等之后,選擇新的一組字線用于編程。例如,WLl、WL4、WL7、WLlO等被編程,而WLO、WL2、WL3、WL5、WL6、WL8等保持被擦除。下面討論其它編程圖案,如棋盤圖案。通過保持每個被編程的WL之后的至少一個WL不被編程,至少一些浮柵電荷耦合影響可以被減小或消除。例如,對給定的WL的上面或下面的WL上的存儲器單元進行編程而引起的這些影響可以被大大減小或消除。減小WL-WL浮柵電荷耦合影響可以增加塊的耐用性。此外,可以增加狀態之間(例如,擦除狀態和編程狀態)的窗口。
圖7B示出對存儲器陣列200的一個存儲器單元塊進行編程的處理750的流程圖的一個實施例。在一個實施例中,處理750被應用于SLC塊但不應用于MLC塊。然而,處理750也可以被應用于MLC塊。在處理750中,WL在它們被編程之前接收正常擦除,而此時沒有被編程的WL僅被弱擦除。因為此時不被編程的WL可能包含數據,所以它們被弱擦除。在步驟752中,偶數字線接收正常擦除并且奇數字線被弱擦除。在一個實施例中,通過對要被弱擦除的存儲器單元的字線施加與擦除存儲器單元所正常施加的偏置條件不同的偏置條件來實現“弱擦除”。關于圖14討論對一些存儲器單元(例如,只有偶數字線上的存儲器單元)提供正常擦除,同時弱擦除其它字線上的存儲器單元。在步驟704中,與偶數字線相關聯的存儲器單元被編程。然而,奇數字線上的存儲器單元不被編程。已經關于處理700討論了步驟704。在步驟756中,奇數字線接收正常擦除并且偶數字線被弱擦除。在步驟708中,奇數字線上的存儲器單元被編程而不對偶數字線上的存儲器單元進行編程。然后處理750返回到步驟752以 擦除偶數WL (例如對字線施加正常偏置條件)并且弱擦除奇數字線。與處理700的變化類似的處理750的多種變化是可能的。圖9A示出對SLC塊和MLC塊進行編程的處理900的一個實施例。為了討論的目的,將討論編程8個SLC塊并且將該數據轉移到MLC塊的例子。在該例子中,采用只有偶數WL (或者奇數WL)已經被編程的8個SLC塊填充一個MLC塊,盡管可以采用更多或更少個SLC塊填充一個MLC快。在步驟902中,SLC塊被擦除。因此,至少這8個SLC塊被擦除。在步驟904中,控制器244接收要被存儲在存儲器陣列200中的數據。例如,主機向控制器244發送用戶數據以存儲。在處理900中,控制器244確定在將數據轉移到MLC塊之前應該首先將數據存儲在SLC塊中。如前面討論的,SLC塊可被用作一種類型的高速緩存器以臨時存儲數據。在步驟906中,用接收到的數據對至少一個SLC塊的偶數WL上的存儲器單元進行編程。控制器244可以將該數據編程到多于一個的SLC塊中。如果這樣的話,控制器244可以只對一個SLC塊的偶數WL進行編程并且只對另一個SLC塊的奇數WL進行編程。因此,不要求在一個時間點上所有SLC塊都使它們的偶數WL被編程。然而,為了討論清楚,將使用每個SLC塊中偶數WL被編程的例子。在步驟908中,控制器244確定是否足夠的SLC塊被編程以保證數據轉移到一個或多個MLC塊。例如,控制器244確定是否8個SLC塊上的所有偶數字線都被編程。如果不是,則處理900返回到步驟904以進一步接收要被存儲在存儲器陣列中的數據,直到至少足夠的SLC塊被編程以保證轉移到MLC塊為止。注意,不需要數據從SLC塊盡可能快地轉移到MLC塊。控制器244可以等待直到存儲器訪問空閑(例如,主機不訪問存儲器陣列200)才將數據從SLC塊轉移到一個或多個MLC塊。在此情況下,其它SLC塊被編程,直到適當的時間才將數據轉移到MLC塊。當控制器244判斷出適當時,在步驟910中,將數據從SLC塊轉移到一個或多個MLC塊。注意,在此情況下,奇數WL上的存儲器單元保持被擦除(不被編程)。在該例子中,控制器244從8個SLC塊的偶數WL讀入數據,對該數據應用ECC,然后將該數據存儲在MLC塊中。不需要對MLC塊施加WL偶數/奇數編程。因此,可以對MLC塊的每個WL上的存儲器單元進行編程。在步驟912,SLC塊中的存儲器單元被擦除。只有被編程的那些WL需要被擦除。例如,數據被轉移的每個SLC塊中的所有偶數WL被擦除。在一些實施例中,偶數WL接收正常擦除,而奇數WL接收弱擦除。注意,不需要只擦除一半的字線。在步驟912之后,處理900返回到步驟904,以進一步接收要被存儲在存儲器陣列200中的數據。然而,此時數據可以存儲在每個SLC塊的奇數WL中。如同圖7A的例子,不要求在處理900中使用嚴格的偶數/奇數WL圖案。例如,在對奇數字線進行編程之前偶數字線可以被編程多次。偶數字線和奇數字線的編程/擦除循環的計數可以被保持以考慮到用舊水平。在其它實施例中,使用其它圖案而非對奇數和偶數WL進行編程。在一個實施例中,該圖案在每個被編程的WL之間具有至少一個未被編程的WL。例如,每第三個字線被編程,同時它們之間的WL保持被擦除。作為具體例子,WL0、WL3.WL6等被編程,而WL1、WL2、WL4、WL5、WL7、WL8等保持被擦除。在擦除WL0、WL3、WL6等之后,選擇新的一組字線進行編程。例如,WL1、WL4、WL7等被編程,而WLO、WL2、WL3、WL5、WL6.WL8等保持被擦除。 圖9B示出對SLC塊和MLC塊進行編程的處理960的一個實施例。在該實施例中, 僅在編程之前擦除字線。要被編程的字線可以被弱擦除。處理950類似于處理900,并且將不詳細討論。在步驟904中,控制器244接收要被存儲在存儲器陣列200中的數據。在步驟955中,偶數字線接收正常擦除并且奇數字線被弱擦除。在步驟906中,用接收到的數據對至少一個SLC塊的偶數WL上的存儲器單元進行編程。控制器244可以將該數據編程到多于一個的SKL塊中。如果這樣的話,控制器244可以只對一個SLC塊的偶數WL進行編程并且只對另一個SLC塊的奇數WL進行編程。因此,不需要在一個時間點所有SLC塊使它們的偶數WL都被編程。然而,為了討論清楚,將使用每個SLC塊中的偶數WL被編程的例子。在步驟908中,控制器244確定是否足夠的SLC塊被編程以保證數據轉移到一個或多個MLC塊。如果不是,則處理950返回到步驟904以接收要被存儲在存儲器陣列中的數據,至少直到在足夠的SLC塊被編程以保證轉移到MLC塊為止。當控制器244確定是適當的時候,在步驟910中,將數據從SLC塊轉移到一個或多個MLC塊。注意,在此情況下,奇數WL上的存儲器單元保持被弱擦除(不被編程)。在步驟962中,與奇數WL相關聯的存儲器單元接收正常擦除并且與偶數WL相關聯的存儲器單元被弱擦除。在步驟962之后,處理950返回到步驟904以接收要被存儲在存儲器陣列200中的數據。然而,此時數據可以存儲在每個SLC塊的奇數WL中(偶數WL保持不被編程)。圖10示出以棋盤圖案編程存儲器陣列200的一個存儲器單元塊的處理1000的流程圖的一個實施例。在一個實施例中,處理1000被應用于SLC塊,但是不應用于MLC塊。然而,處理1000也可以應用于MLC塊。在步驟1002中,該存儲器陣列中的一個存儲器單元塊被擦除。下面討論擦除存儲器單元塊的細節。在步驟1002中,該塊中的所有存儲器單元都被擦除。在步驟1004中,與偶數位線和偶數字線二者相關聯的存儲器單元被編程,并且與奇數位線和奇數字線相關聯的存儲器單元被編程。然而,其它存儲器單元保持被擦除(不被編程)。圖IlA示出在以棋盤圖案對存儲器單元進行編程之后得到的示例性圖案。用虛線圈起的存儲器單元是用于編程的候選存儲器單元。在圖IlA中,該存儲器單元已經被編程為“I”或“O”。然而,編程可能涉及將閾值電壓改變為另一個狀態,如圖6B和圖6C中的狀態2-15中的任一個。換句話說,該塊可以是MLC塊。典型地,在塊中會有更多個字線。例如,可能有64個或更多個字線。此外,典型地在塊中有更多個位線。例如,可能有數千個位線。在步驟1006中,存儲器單元被擦除。因為每個字線上都可能有被編程的存儲器單元,所以擦除可能涉及向所有存儲器單元施加擦除條件。例如,甚至可能向仍然處于被擦除狀態的存儲器單元施加擦除條件。關于圖14討論擦除存儲器單元的細節。可以通過多種事件觸發擦除。一方面,SLC塊被編程,直到足夠的SLC塊被編程以保證轉移到一個或多個MLC塊為止。在數據轉移到MLC塊之后,SLC塊中的數據可以被擦除。還可以通過向控制器144發送表示塊中的所有數據都要被擦除或者用新數據寫入的命令來觸發擦除。因此,不需要在擦除之前將數據從該塊轉移到另一個塊。在步驟1008中,在步驟1004中沒有被編程的存儲器單元被編程。換句話說,棋盤圖案的其它部分被編程。然而,其它存儲器單元(例如,在步驟1004中編程的那些存儲器 單元)保持被擦除(或者不被編程)。圖IlB示出得到的示例性圖案。在該圖案中,與奇數位線和偶數字線二者相關聯的存儲器單元被編程,并且與偶數位線和奇數字線二者相關聯的存儲器單元被編程。在步驟1010中,存儲器單元被擦除。然后處理1000可以通過返回到步驟1004而繼續進行。注意,不需要保持對棋盤的一個部分進行編程(例如,圖11)然后對棋盤的另一部分進行編程(例如,圖11B)的交替次序。一方面,可以保持每個圖案的編程/擦除循環數目的計數。在編程和擦除圖IlB中的圖案之前,圖IlA中的圖案可以被連續編程/擦除多次。隨著時間過去,每個圖案接收相同數目的編程/擦除循環以平衡用舊。每個圖案的編程/擦除的計數可以被存儲在數據塊本身的空閑存儲器單元中。也就是說,每個塊中可以有一定數目的存儲器單元不用于用戶數據。作為選擇,該計數可以被存儲在別處,如存儲器陣列200中的不同塊或者存儲器陣列200外部的存儲器。因此,一方面,在進行步驟1008和1010 (編程/擦除WL)之前,步驟1004和1006 (對偶數WL進行編程/擦除偶數WL)可以被重復多次。注意,在圖IlA和圖IlB中,每個被編程的存儲器單元上面或下面的WL上的相鄰存儲器單元不被編程。對于圖8A和圖8B中示出的實施例也是如此。因此,對給定的WL的上面或下面的WL上的存儲器單元進行編程而引起的浮柵電荷耦合影響可以被大大減小或消除。此外,位線(BL)上的每個被編程的存儲器單元的左側和右側的相鄰存儲器單元也不被編程。因此,對BL上的左側和右側的存儲器單元進行編程而引起的浮柵電荷耦合影響也被大大減小或消除。唯一留下的浮柵電荷耦合影響在對角線方向上,例如,WLn的BLn上的被編程的存儲器單元可能仍受到WLn+1和/或WLn-I的BLn-I和BLn+1上的被編程的單元影響。在圖IlA和圖IlB的棋盤圖案中,給定字線的每隔一個位線(BL)上的存儲器單元被編程。然而,不需要棋盤圖案是這種密集的。為了消除上述對角線影響,在一個實施例中,給定字線的每第四個位線上的存儲器單元被編程。在另一個實施例中,不需要每個字線被編程。例如,可以每第四個字線被編程。作為例子,對于WLO,BL0、BL4、BL8等上的存儲器單元被編程。WLl和WL2可以保持不被編程。對于WL3,BL2、BL6、BLlO等上的存儲器單元被編程。可以使用其它棋盤圖案。例如,每個WL可以被編程,但是只有每個字線上的每第四個存儲器單元被編程。在此情況下,被編程的存儲器單元上面和下面的相鄰存儲器單元保持不被編程。在另一個實施例中,每隔一個字線和每隔一個位線被編程。例如,對于WLO,BLO、BL2、BL4等上的存儲器單元被編程,WLl保持不被編程。對于WL2,BLO, BL2、BL4等被編程,或者BL1、BL3、BL5等被編程。在后兩種情況中,每個被編程的存儲器單元從未具有處于被編程狀態的相鄰單元,甚至在對角線方向上也沒有,并且因此浮柵電荷耦合影響幾乎被完全消除。圖12示出通過將棋盤格式用于SLC塊來對SLC塊和MLC塊進行編程的處理1200的一個實施例。為了討論目的,將討論對8個SLC塊進行編程并將數據轉移到一個MLC塊的例子。在該例子中,采用以棋盤圖案編程的8個SLC塊來填充一個MLC ±夾,盡管可以采用 更多或更少個SLC塊來填充MLC塊。在步驟1202中,SLC塊被擦除。因此,至少這8個SLC塊被擦除。在步驟1204中,控制器244接收要被存儲在存儲器陣列200中的數據。例如,主機向控制器244發送用戶數據以存儲。在處理1200中,控制器24確定在將該數據轉移到MLC塊之前,該數據應該首先被存儲在SLC塊中。如前面討論的,SLC塊可以被用作一種類型的告訴緩存器以臨時存儲數據。在步驟1206中,控制器244以棋盤圖案對數據進行編程。控制器244可以將該數據編程到多于一個的SLC塊中。如果這樣的話,控制器244可以針對一個SLC塊使用一個棋盤圖案(例如,圖11A)并且針對另一個SLC塊使用另一個棋盤圖案(例如,圖11B)。然而,對了討論清楚,將使用在每個SLC塊中編程圖IlA的圖案的例子。在步驟1208中,控制器244確定是否足夠的SLC塊被以棋盤圖案編程以保證數據被轉移到一個或多個MLC塊。例如,控制器244確定所有8個SLC塊被編程。如果不是,則處理1200返回到步驟1204以進一步接收要被存儲在存儲器陣列中的數據,至少直到足夠的SLC塊被編程以保證轉移到MLC塊為止。注意,不需要數據從SLC塊盡可能快地轉移到MLC塊。控制器244可以等待直到存儲器訪問空閑(例如,主機不訪問存儲器陣列200)才將數據從SLC塊轉移到一個或多個MLC塊。在此情況下,其它SLC塊被編程直到適當的時間才將數據轉移到MLC塊。當控制器244確定適當時,在步驟1210,將數據從SLC塊轉移到一個或多個MLC塊。注意,在此情況下,一些存儲器單元保持被擦除。例如,圖IlA中沒有被虛線圈起的那些存儲器單元仍被擦除。在本例子中,控制器244從8個SLC塊的所有WL讀入數據,并且丟棄來自沒有被編程的存儲器單元的數據,對該數據施加ECC,然后將該數據存儲在MLC塊中。不需要對MLC塊施加棋盤編程。因此,MLC塊的所有存儲器單元可以被編程。在步驟1212中,SLC塊中的存儲器單元被擦除。在步驟1212之后,處理1200返回到步驟1204以進一步接收要被存儲在存儲器單元200中的數據。然而,此時可以用不同的棋盤圖案(例如,圖11B)存儲數據。可以保持針對每個棋盤圖案(例如,圖11A、圖11B)的編程/擦除循環的計數以考慮到用舊水平。注意,不需要將圖IlA和圖IlB中所示的棋盤圖案用于處理200。例如,可以使用其中每第四個位線(并且可能每第四個字線)上的存儲器單元被編程的較不密集的棋盤圖案。圖13是描述對存儲器單元進行編程的細節的流程圖。可以響應于接收到對數據進行編程的請求來進行圖13的處理1300。處理1300描述了對一個字線進行編程并且可以針對塊中的每個字線重復該處理。短語“對字線進行編程”意味著對與字線相關聯的存儲器單元進行編程。在一些實施例中,該字線上的所有存儲器單元被同時編程。也就是說,與所有位線(以及特定的字線)相關聯的存儲器單元被一起編程。在一些實施例中,與奇數位線相關聯的存儲器單元以及與偶數位線相關聯的存儲器單元分開編程。如果被用于進行處理700的步驟704,那么可以針對塊中的每個偶數字線進行一次處理1300。如果被用于進行步驟708,那么可以針對塊中的每個奇數字線進行一次處理1300。如果被用于進行處理1000的步驟1004或1008,那么可以塊中的每個字線進行一次處理1300,其中對于一些字線,奇數位線被編程,而對于其它字線,偶數位線被編程。通過停止(lock out)在某些位線上編程可以實現只編程被選擇的位線上的存儲器單元。對偶數(或奇數)字線進行編程的順序不局限于特定的次序。一個示例性的次序是對WL0、WL2、WL4等進行編程,直到每個偶數字線都被編程。對于奇數字線,該次序可以是對WL1、WL3、WL5等進行編程,直到每個奇數字線都被編程。可以按相反的順序(即,從高到低)對字線進行編程。此外,不需要按次序對字線進行編程。例如,可以在對WLO和WL4進 行編程之后對WL2進行編程。在步驟1312中,該系統設定初始編程脈沖的幅度。在步驟1314中,編程計數PC被設定為初始值零。在步驟1316中,對適當的字線施加編程脈沖。在步驟1318中,對字線上要被編程的存儲器單元進行驗證,以查看是否它們已經達到目標閾值電壓電平。如果所有或幾乎所有要被編程的存儲器單元都已經達到目標閾值電壓電平(步驟1320),那么在步驟1322中,該編程處理被成功完成(狀態=通過)。如果不是所有或幾乎所有存儲器單元都通過驗證,那么在步驟1324中確定編程計數PC是否小于20。如果編程計數不小于20,那么編程處理已經失敗(步驟1326)。如果編程計數小于20,那么在步驟1328中,編程電壓信號Vpgm的幅度增加步長大小(例如,0.3V),并且編程計數PC遞增。注意,已經達到它們的目標閾值電壓的那些存儲器單元被停止針對當前編程周期的剩余部分編程。在步驟1328之后,在步驟1316繼續圖13的處理,并且施加下一個編程脈沖。注意,可以使用編程計數PC的20以外的其他數目作為步驟1324中的停止標準。還應注意,在步驟1320中,在一些實施例中,不必所有存儲器單元都達到目標閾值電壓。由于施加了 ECC,所以可以容忍一定數目的存儲器單元沒有達到目標閾值電壓電平,因為這些存儲器單元可以通過ECC被糾正。圖14是描述用于擦除存儲器單元的處理1400的流程圖。在一些實施例中,一些存儲器單元只被弱擦除,并且其它存儲器單元接收正常擦除。在其它實施例中,所有存儲器單元接收正常擦除。在一些實施例中,對WL施加不同的偏置條件以實現正常擦除或弱擦除。弱擦除減小存儲器單元上的應力。處理1400是以下步驟的一種實現方式處理700的步驟702、706或710 ;處理750的步驟752或756 ;處理900的步驟902或912 ;處理950的步驟955或962 ;處理1000的步驟1002、1006或1010 ;或者處理1200的步驟1202或1212。在步驟1402中,該系統將設定初始擦除脈沖的幅度。在步驟1404中,擦除循環計數將被設定為初始值零。在步驟1406中,對字線施加偏置條件。在一個實施例中,對具有要接收正常擦除的存儲器單元的字線施加與對其存儲器單元要接收弱擦除的字線施加的不同的偏置條件。例如,可以將OV用于要接收正常擦除的字線,并且可以向要被弱擦除的字線施加正電壓。作為例子,正電壓可以是幾伏(例如,1-4伏)。在一些實施例中,對偶數和奇數字線施加不同的電壓。當討論處理1400時,術語“被選擇的字線”是指其存儲器單元要接收正常擦除的字線,并且術語“被選擇的存儲器單元”是指要接收正常擦除的存儲器單元。術語“未被選擇的字線”是指其存儲器單元要被弱擦除的字線。注意,根據未被選擇的字線上的正電壓幅度,仍可能出現一些擦除,然而,該“弱擦除” 一般來說是不顯著的,并且不會導致存儲器單元的特性下降。在步驟1408中,施加擦除條件。在一個實施中,步驟1402包括將P阱升高到擦除電壓(例如,20伏)保持足夠的時間段,將被選擇的塊的被選擇的字線接地,并且對被選擇的塊的未被選擇的字線施加偏置電壓,同時源極和位線浮動。由于電容耦合,位線、選擇線和公共源極線也被升高到擦除電壓的有效部分。因此,強電場被施加到被選擇的存儲器單元的隧道氧化物層,并且被選擇的存儲器單元的數據被擦除,因為浮柵的電子典型地通過Fowler-Nordheim隧穿機理而被發送到襯底層。當電子從浮柵轉移到p講區域時,被選擇的單元的閾值電壓下降。可以在整個存儲器陣列上、在單獨的塊上或者在另一個單位的單元 上進行擦除。然而,通過對未被選擇的字線施加偏置電壓,未被選擇的存儲器單元在它們的隧道氧化物層上不經歷這種強電場。因此,未被選擇的存儲器單元不遭受來自擦除的顯著應力。在一些實施例中,未被選擇的存儲器單元已經被擦除,因此它們的閾值電壓不會被上述“弱擦除”偏置條件顯著改變。然而,注意,在開始處理1400之前未被選擇的存儲器單元處于被擦除的狀態不是絕對的要求。也就是說,在被弱擦除之前,未被選擇的存儲器單元可以包含數據。在步驟1410中,對存儲器單元施加一組擦除驗證條件。在一些實施例中,這是選擇性的擦除驗證。注意,對于被選擇的和未被選擇的字線,該驗證條件可以不同,這是因為可以假定甚至在擦除處理之前一些存儲器單元被擦除。例如,如果假定因為從最后完成擦除以來被選擇的塊中的未被選擇的存儲器單元沒有被編程,所以他們已經被擦除,那么可以對未被選擇的WL施加讀通過電壓。在一種實施方式中,步驟1410包括將位線放電到地。然后對公共源極線施加高于零的電壓(例如,2. 2V),并且對被選擇的字線施加一定的電壓(例如,0V),并且對未被選擇的字線施加另一個電壓(例如,Vread)。Vread可以是足夠高的電壓,使得存儲器單元將傳導電流。電荷堆積在位線上,導致給定NAND串的位線電壓的增加,直到體效應斷開該NAND串中的至少一個存儲器單元。在步驟1412中,每個NAND串都被感測,以確定NAND串上的存儲器單元是否被充分擦除。在等待了電荷在位線上累計達預定的時間段之后進行步驟1406。在一種實施方式中,將給定位線上的電壓與基準值相比較以確定是否對應的NAND串上的任何存儲器單元的Vt高于目標值。該目標值可以是負值。在一個實施例中,如果檢測到NAND串上的每個存儲器單元的Vt都已經達到目標電平,那么存儲在對應的數據鎖存器中的數據被改變為邏輯“I”。如果檢測到該NAND串的至少一個存儲器單元的Vt沒有達到適當的目標電平,則不改變存儲在對應的數據鎖存器中的數據。在步驟1414中,確定是否足夠的NAND串通過了擦除驗證。在一種實施方式中,允許一定數目的NAND串的擦除驗證失敗。例如,如果少于32個NAND串的擦除驗證失敗,則總的擦除驗證通過。如果擦除通過,則將擦除狀態設定為通過,并且處理1400結束。在步驟1414,如果確定擦除驗證失敗,則檢查循環計數(步驟1416)以確定循環計數是否超過限值。如果超過限值,則將擦除狀態被設定為失敗,并且處理1400結束。如果循環計數沒有超過限值,則在步驟1418中增加擦除電壓。可以按任何期望的量,如0. 2V、0.5VU.0V等,增加擦除電壓。將循環計數遞增。在步驟1408中施加新的擦除電壓。如本文中公開的,一個實施例是對非易失性存儲器進行操作的方法,該非易失性存儲器具有一組多個非易失性存儲元件和多個字線。該方法包括擦除多個非易失性存儲元件并且將數據編程在第一組的所述多個非易失性存儲元件中而同時留下第二組的所述多個非易失性存儲元件不被編程。對于第一組中的每個非易失性存儲元件來說,第一組中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件都是保持不被編程的第二組中的元件。至少第一組的非易失性存儲元件中的數據被擦除而同時第二組的非易失性存儲元件保持不被編程。之后,第二組的非易失性存儲元件的所述至少一部分被編 程。對于第二組的該部分中的每個非易失性存儲元件來說,第二組的該部分中的該非易失性存元件上面或下面的字線上的任何相鄰非易失性存儲元件都保持不被編程。之后,第二組的非易失性存儲元件的所述至少一部分被擦除而同時第二組的所述至少一部分中的該非易失性存儲元件上面或下面的所述相鄰非易失性存儲元件保持不被編程。在一個實施例中,在上一段中討論的多個非易失性存儲元件是其中每個非易失性存儲元件存儲一位數據的塊的部分,并且該非易失性存儲器還包括每個非易失性存儲元件存儲多于一位的數據的非易失性存儲元件的多電平塊。在一個實施例中,該方法還包括將在第一組的相關聯非易失性存儲元件中編程的數據轉移到多電平塊中的一個或多個,同時第二組的非易失性存儲元件保持不被編程,并且將在第二組的非易失性存儲元件的所述至少一部分中編程的數據轉移到所述多電平塊中的一個或多個而同時第二組的所述至少一部分中的非易失性存儲元件上面或下面的字線上相鄰非易失性存儲元件保持不被編程。在另一個實施例中,第一組的非易失性存儲元件是與多個位線中的偶數位線和多個字線中的偶數字線二者相關聯的非易失性存儲元件以及與多個位線中的奇數位線和多個字線中的奇數字線二者相關聯的非易失性存儲元件。第二組是與奇數位線和偶數字線二者相關聯的非易失性存儲元件以及與偶數位線和奇數字線二者相關聯的非易失性存儲元件。在此情況下,第二組的所述至少一部分是整個第二組。一個實施例是對非易失性存儲器進行操作的方法,該非易失性存儲器具有多個非易失性存儲元件和與所述多個非易失性存儲元件相關聯的多個字線。該方法包括擦除第一組的非易失性存儲元件中的數據,弱擦除第二組的非易失性存儲元件,將數據編程在第一組的所述多個非易失性存儲元件中而同時不對第二組的所述非易失性存儲元件進行編程;對于第一組中的每個非易失性存儲元件來說,第一組中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件都是未被編程的第二組的元件。該方法還包括當第二組的非易失性存儲元件依然被弱擦除時擦除第二組的非易失性存儲元件中的數據,并且對第二組的非易失性存儲元件進行編程;對于第二組中的每個非易失性存儲元件來說,第二組中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件都不被編程。
一個實施例是對非易失性存儲器進行操作的方法,該非易失性存儲器包括單電平塊和多電平塊。所述單電平塊各包括多個字線和多個非易失性存儲元件。該方法包括擦除與所述單電平塊中的第一單電平塊中的所有字線相關聯的非易失性存儲元件,并且將數據編程在所述第一單電平塊中棋盤圖案的非易失性存儲元件中。所述第一單電平塊中的至少一半非易失性存儲元件保持不被編程。將數據從與所述第一單電平塊中的棋盤圖案相關聯的非易失性存儲元件轉移到所述多電平塊的第一多電平塊,同時所述第一單電平塊中的所述至少一半非易失性存儲元件保持被擦除。所述第一單電平塊中的數據被擦除。在進一步的實施例中,前一段的棋盤圖案是第一棋盤圖案。將數據編程在所述第一單電平塊中的棋盤圖案的非易失性存儲元件中。使用第二棋盤圖案不對第一棋盤圖案中編程的非易失性存儲元件進行編程。將數據從與所述第一單電平塊中的第二棋盤圖案相關聯的非易失性存儲元件轉移到多電平塊中的第二多電平塊,同時與第一棋盤圖案相關聯的非易失性存儲元件保持被擦除。一個實施例是一種非易失性存儲裝置,該非易失性存儲裝置包括多個非易失性 存儲元件、與所述多個非易失性存儲元件相關聯的多個字線以及與所述非易失性存儲元件通信的一個或多個管理電路。所述一個或多個管理電路擦除所述非易失性存儲元件。所述一個或多個管理電路將數據編程在第一組的所述多個非易失性存儲元件中,同時留下第二組的所述多個非易失性存儲元件不被編程。對于第一組中的每個非易失性存儲元件來說,第一組中的該非易失性存儲元件上面或下面的字線上的任何相鄰的非易失性存儲元件是保持不被編程的第二組的元件。所述一個或多個管理電路擦除第一組的非易失性存儲元件中的數據,同時第二組的非易失性存儲元件保持不被編程。所述一個或多個管理電路對第二組的非易失性存儲元件的至少一部分進行編程。對于第二組的該部分中的每個非易失性存儲元件來說,第二組的該部分中的非易失性存儲元件上面或下面的字線上的任何相鄰的非易失性存儲元件保持不被編程。所述一個或多個管理電路擦除第二組的非易失性存儲元件中的所述至少一部分中的數據,同時第二組的所述至少一部分中的該非易失性存儲元件上面或下面的字線上的相鄰的非易失性存儲元件保持不被編程。在一個實施例中,前一段的非易失性存儲裝置還包括與一組所述多個非易失性存儲元件相關聯的多個位線。所述第一組包括與所述多個位線的偶數位線和所述多個字線的偶數字線二者相關聯的非易失性存儲元件以及與所述多個位線的奇數位線和所述多個字線的奇數字線二者相關聯的非易失性存儲元件。所述第二組包括與奇數位線和偶數字線二者相關聯的相關聯的非易失性存儲元件以及與偶數位線與奇數字線二者相關聯的非易失性存儲元件。在另一個實施例中,所述第一組包括與所述多個字線的偶數字線相關聯的非易失性存儲元件,并且第二組包括與所述多個字線的奇數字線相關聯的非易失性存儲元件。一個實施例是一種非易失性存儲裝置,該非易失性存儲裝置包括第一組非易失性存儲元件、第二組非易失性存儲元件、與第一組非易失性存儲元件相關聯的多個字線以及與第一組非易失性存儲元件和第二組非易失性存儲元件通信的一個或多個管理電路。所述一個或多個管理電路在第一組中的每個非易失性存儲元件中存儲一位數據。所述一個或多個管理電路在第二組中的每個非易失性存儲元件中存儲多位數據。所述一個或多個管理電路擦除第一組非易失性存儲元件。所述一個或多個管理電路將數據編程在與所述多個字線的偶數字線相關聯的非易失性存儲元件中,同時留下與所述多個字線的奇數字線相關聯的非易失性存儲元件被擦除。所述一個或多個管理電路將數據從與所述偶數字線相關聯的非易失性存儲元件轉移到第二組非易失性存儲元件,同時與所述奇數字線相關聯的非易失性存儲元件保持被擦除。所述一個或多個管理電路擦除與所述偶數字線相關聯的非易失性存儲元件中的數據。一個實施例是一種非易失性存儲裝置,該非易失性存儲裝置包括第一組非易失性存儲元件、第二組非易失性存儲元件、與第一組非易失性存儲元件相關聯的多個字線、與第一組非易失性存儲元件相關聯的多個位線以及與第一組非易失性存儲元件和第二組非易失性存儲元件通信的一個或多個管理電路。所述第一或多個管理電路在第一組中的每個非易失性存儲元件中存儲一位數據。所述一個或多個管理電路在第二組中的每個非易失性存儲元件中存儲多位數據。所述一個或多個管理電路擦除第一組非易失性存儲元件。所述一個或多個管理電路將數據編程到第一組中棋盤圖案的非易失性存儲元件中。第一組中的至少一半非易失性存儲元件保持不被編程。所述一個或多個管理電路將數據從與第一組中的棋盤圖案相關聯的非易失性存儲元件轉移到第二組非易失性存儲元件中的第一子組非易失性存儲元件。所述一個或多個管理電路擦除第一組中的數據。 在進一步的實施例中,前一段的棋盤圖案是第一棋盤圖案。所述一個或多個管理電路將數據編程在第一組中棋盤圖案的非易失性存儲元件中。使用第二棋盤圖案不對在第一棋盤圖案中編程的非易失性存儲元件進行編程。所述一個或多個管理電路將數據從與第一組中的第二棋盤圖案相關聯的非易失性存儲元件轉移到第二組中的第二子組非易失性存儲元件,同時與第一棋盤圖案相關聯的非易失性存儲元件保持被擦除。另一個實施例是操作包括單電平塊和多電平塊的非易失性存儲的方法。所述單電平塊各包括多個字線和多個非易失性存儲元件。所述方法包括對所述單電平塊的第一塊中與偶數字線相關聯的非易失性存儲元件進行正常擦除,同時弱擦除第一塊中與奇數字線相關聯的非易失性存儲元件,將數據編程到與所述多個字線的偶數字線相關聯的非易失性存儲元件中。與奇數字線相關聯的非易失性存儲元件不被編程。將數據從與偶數字線相關聯的非易失性存儲元件轉移到一個或多個所述多電平單元塊,在與奇數字線相關聯的非易失性存儲元件保持被弱擦除的同時發生所述轉移。為了示例和說明的目的,給出以上對本發明的詳細描述。該描述不意圖是排他性的,也不意圖將本發明局限于所公開的確切形式。鑒于以上教導,許多修改和變形是可能的。選擇所描述的實施例是為了最佳地解釋本發明的原理及其實際應用,從而使本領域的技術人員能夠以各種實施例并且通過各種修改來最佳地使用本發明,以適合于設想的具體用途。本發明的范圍意圖由所附權利要求限定。
權利要求
1.一種對非易失性存儲器進行操作的方法,所述非易失性存儲器具有多個非易失性存儲元件和與所述多個非易失性存儲元件相關聯的多個字線,所述方法包括 擦除所述多個非易失性存儲元件(702、752、1002); 將數據編程在第一組的所述多個非易失性存儲元件中而同時留下第二組的所述多個非易失性存儲元件不被編程,對于所述第一組中的每個非易失性存儲元件來說,所述第一組中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件都是保持不被編程的所述第二組中的元件(704、1004); 擦除至少所述第一組的非易失性存儲元件中的數據而同時所述第二組的非易失性存儲元件保持不被編程(706、756、1006); 對所述第二組的非易失性存儲元件中的至少一部分進行編程,對于所述第二組的該部分中的每個非易失性存儲元件來說,所述第二組的該部分中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件保持不被編程(708、1008);以及 擦除所述第二組的非易失性存儲元件中的所述至少一部分中的數據,而同時所述第二組的所述至少一部分中的非易失性存儲元件上面或下面的字線上的相鄰非易失性存儲元件保持不被編程(710、1010)。
2.根據權利要求I所述的方法,其中所述多個非易失性存儲元件是其中每個非易失性存儲元件存儲一位數據的塊的一部分,并且所述非易失性存儲器還包括其中每個非易失性存儲元件存儲多于一位的數據的非易失性存儲元件的多電平塊。
3.根據權利要求2所述的方法,還包括 將在所述第一組的非易失性存儲元件中編程的數據轉移到所述多電平塊中的一個或多個,而同時所述第二組的相關聯的非易失性存儲元件保持不被編程;以及 將在所述第二組的非易失性存儲元件的所述至少一部分中編程的數據轉移到所述多電平塊中的一個或多個,而同時所述第二組的所述至少一部分中的該非易失性存儲元件上面或下面的字線上的所述相鄰非易失性存儲元件保持不被編程。
4.根據權利要求I至3中任一項所述的方法,其中所述第一組是與所述多個字線的偶數字線相關聯的非易失性存儲元件,并且所述第二組是與所述多個字線的奇數字線相關聯的非易失性存儲元件,所述第二組的所述至少一部分是整個第二組。
5.根據權利要求4所述的方法,其中所述擦除所述第一組的非易失性存儲元件中的數據而同時所述第二組的非易失性存儲元件保持不被編程包括對與所述偶數字線相關聯的非易失性存儲元件進行選擇性的擦除,而不擦除與所述奇數字線相關聯的非易失性存儲元件。
6.根據權利要求5所述的方法,其中所述對與所述偶數字線相關聯的非易失性存儲元件進行選擇性的擦除而不擦除與所述奇數字線相關聯的非易失性存儲元件包括對所述偶數字線進行擦除驗證而不對所述奇數字線進行擦除驗證。
7.根據權利要求6所述的方法,其中所述擦除所述第一組的非易失性存儲元件中的數據而同時所述第二組的非易失性存儲元件保持不被編程包括 對所述多個非易失性存儲元件施加一個或多個擦除脈沖; 在施加所述一個或多個擦除脈沖時對所述奇數字線施加第一電壓;以及 在施加所述一個或多個擦除脈沖時對所述偶數字線施加第二電壓,所述第一電壓高于所述第二電壓。
8.根據權利要求7所述的方法,其中所述在施加所述一個或多個擦除脈沖時對所述偶數字線施加第二電壓產生橫跨與所述偶數字線相關聯的非易失性存儲元件的隧道氧化物層的強電場,所述在施加所述一個或多個擦除脈沖時對所述奇數字線施加第一電壓產生橫跨與所述奇數字線相關聯的非易失性存儲元件的隧道氧化物層的不太強的電場。
9.根據權利要求8所述的方法,其中所述擦除所述第一組的非易失性存儲元件中的數據而同時所述第二組的非易失性存儲元件保持不被編程包括通過以下步驟進行擦除驗證 對所述奇數字線施加讀電壓; 對所述偶數字線施加比所述讀電壓小的電壓; 感測與所述多個非易失性存儲元件的第一子組非易失性存儲元件相關聯的位線的條件;以及 基于所述條件確定所述第一子組非易失性存儲元件是否被擦除。
10.根據權利要求I至3中任一項所述的方法,其中所述第一組是同時與所述多個位線的偶數位線和所述多個字線的偶數字線二者相關聯的非易失性存儲元件,以及同時與所述多個位線的奇數位線和所述多個字線的奇數字線二者相關聯的非易失性存儲元件,所述第二組是同時與奇數位線和偶數字線二者相關聯的非易失性存儲元件,以及同時與偶數位線和奇數字線二者相關聯的非易失性存儲元件,所述第二組的所述至少一部分是整個第二組。
11.一種非易失性存儲裝置,包括 多個非易失性存儲元件(200); 與所述多個非易失性存儲元件相關聯的多個字線(WL0、WL1、WL2···);以及 與所述非易失性存儲元件通信的一個或多個管理電路(220、222、224、226、230、240、242、244),所述一個或多個管理電路擦除所述非易失性存儲元件,所述一個或多個管理電路將數據編程在第一組的所述多個非易失性存儲元件中而同時留下第二組的所述多個非易失性存儲元件不被編程,對于所述第一組中的每個非易失性存儲元件來說,所述第一組中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件是保持不被編程的所述第二組中的元件,所述一個或多個管理電路擦除所述第一組的非易失性存儲元件中的數據而同時所述第二組的非易失性存儲元件保持不被編程,所述一個或多個管理電路對所述第二組的非易失性存儲元件中的至少一部分進行編程,對于所述第二組的該部分中的每個非易失性存儲元件來說,所述第二組的該部分中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件保持不被編程,所述一個或多個管理電路擦除所述第二組的非易失性存儲元件中的所述至少一部分中的數據而同時所述第二組的所述至少一部分中的該非易失性存儲元件上面或下面的字線上的相鄰非易失性存儲元件保持不被編程。
12.根據權利要求11所述的非易失性存儲裝置,其中所述多個非易失性存儲元件是其中每個非易失性存儲元件存儲一位數據的塊的一部分,并且所述非易失性存儲器還包括其中每個非易失性存儲元件存儲多于一位的數據的非易失性存儲元件的多電平塊。
13.根據權利要求12所述的非易失性存儲裝置,其中所述一個或多個管理電路將在所述第一組的相關聯的非易失性存儲元件中編程的數據轉移到所述多電平塊中的一個或多個,而同時所述第二組的相關聯的非易失性存儲元件保持不被編程,所述一個或多個管理電路將在所述第二組的非易失性存儲元件的所述至少一部分中編程的數據轉移到所述多電平塊中的一個或多個,而同時所述第二組的所述至少一部分中的該非易失性存儲元件上面或下面的字線上的相鄰非易失性存儲元件保持不被編程。
14.根據權利要求11-13中任一項所述的非易失性存儲裝置,還包括與所述多個非易失性存儲元件相關聯的多個位線,所述第一組包括同時與所述多個位線的偶數位線和所述多個字線的偶數字線二者相關聯的非易失性存儲元件以及同時與所述多個位線的奇數位線和所述多個字線的奇數字線二者相關聯的非易失性存儲元件,所述第二組包括同時與奇數位線和偶數字線二者相關聯的非易失性存儲元件以及同時與偶數位線和奇數字線二者相關聯的非易失性存儲元件。
15.根據權利要求11-13中任一項所述的非易失性存儲裝置,其中所述第一組包括與所述多個字線的偶數字線相關聯的非易失性存儲元件,并且所述第二組包括與所述多個字線的奇數字線相關聯的非易失性存儲元件。
16.一種非易失性存儲裝置,包括 用于擦除多個非易失性存儲元件的裝置; 用于將數據編程在第一組的所述多個非易失性存儲元件中而同時留下第二組的所述多個非易失性存儲元件不被編程的裝置,對于所述第一組中的每個非易失性存儲元件來說,所述第一組中的該非易失性存儲元件中上面或下面的字線上的任何相鄰非易失性存儲元件是保持不被編程的所述第二組中的元件; 用于擦除至少所述第一組的非易失性存儲元件中的數據而同時所述第二組的非易失性存儲元件保持不被編程的裝置; 用于對所述第二組的非易失性存儲元件中的至少一部分進行編程的裝置,對于所述第二組的該部分中的每個非易失性存儲元件來說,所述第二組的該部分中的該非易失性存儲元件上面或下面的字線上的任何相鄰非易失性存儲元件保持不被編程;以及 用于擦除所述第二組的非易失性存儲元件中的所述至少一部分中的數據而同時所述第二組的所述至少一部分中的該非易失性存儲元件上面或下面的字線上的相鄰非易失性存儲元件保持不被編程的裝置。
全文摘要
本文公開了用于對存儲器陣列進行編程以實現較高的編程/擦除循環耐用性的技術。在一些方面,只有被選擇的字線(WL)被編程而其它WL保持不被編程。作為例子,只有偶數字線被編程而奇數WL保持不被編程。在所有偶數字線都被編程并且要用新的數據對該數據塊進行編程之后,該塊被擦除。之后,只有奇數字線被編程。在擦除之前可以將數據轉移到每個存儲器單元存儲多個位的塊。在一個方面,以棋盤圖案編程數據,一些存儲器單元被編程而其它存儲器單元保持不被編程。之后,在擦除數據之后,棋盤圖案的先前未被編程的部分被編程而剩余的單元不被編程。
文檔編號G11C16/34GK102763166SQ201080036398
公開日2012年10月31日 申請日期2010年8月17日 優先權日2009年8月19日
發明者格里特·揚·赫明克, 董穎達, 郭天健 申請人:桑迪士克技術有限公司
網(wang)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1