在非易失性多級多個存儲器管芯的編程中恢復附近數據的制作方法
【專利說明】
【背景技術】
[0001 ] 半導體存儲裝置在各種電子裝置中的使用已經變得日益流行。例如,在蜂窩電話、數碼相機、個人數字助理、移動計算裝置、非移動計算裝置以及其他裝置中使用非易失性半導體存儲器。電可擦除可編程只讀存儲器(EEPR0M)和閃速存儲器是其中最流行的非易失性半導體存儲器。
[0002]EEPR0M和閃速存儲器兩者都利用浮置柵極,該浮置柵極位于半導體襯底中的溝道區上方并且與其絕緣。該浮置柵極位于源極區與漏極區之間。在浮置柵極上設置控制柵極,并且該控制柵極與該浮置柵極絕緣。晶體管的閾值電壓由浮置柵極上保留的電荷量來控制。即,在晶體管接通以允許其源極和漏極之間導通之前必須施加于控制柵極的最小電壓量由浮置柵極上的電荷電平來控制。
[0003]當對EEPR0M或閃速存儲裝置進行編程時,通常給控制柵極施加編程電壓并且將位線接地。來自溝道的電子被注入到浮置柵極中。當電子在浮置柵極中累積時,浮置柵極變成帶負電,并且存儲器單元的閾值電壓升高,使得存儲器單元處于編程狀態下。可以在題為“Source Side Self Boosting Technique For Non-Volatile Memory” 的美國專利
6,859, 397 以及題為“Detecting Over Programmed Memory”的美國專利 6, 917, 542 中找到關于編程的更多信息,這兩個專利的全部內容通過引用被合并到本文中。
[0004]一些EEPR0M和閃速存儲裝置具有用于存儲兩種范圍的電荷的浮置柵極,并且因此存儲器單元可以在兩種狀態之間被編程/擦除:擦除狀態和編程狀態(對應于數據“1”和數據“0”)。這樣的裝置被稱為二進制裝置或單層單元(SLC),并且數據是二進制數據。
[0005]多態閃速存儲器單元(存儲多態數據)通過識別多個不同的允許閾值電壓范圍來實現。每個不同的閾值電壓范圍與該組數據位的預定值對應。例如,一些單元可以存儲2位,而其他單元可以存儲3位。被編程至存儲器單元中的數據與存儲器單元的閾值電壓范圍之間的具體關系取決于該存儲器單元所采用的數據編碼方案。例如,美國專利N0.6,222,762和美國專利申請公開N0.2004/0255090均描述了用于多態閃速存儲器單元的各種數據編碼方案,這兩者的全部內容通過引用被合并到本文中。
[0006]除了由多態存儲器架構產生的容量增加以外,由于不斷減小存儲器單元的物理尺寸的歷史,消費者已經看到了明顯的優勢。可以在給定的管芯面積上更密集地封裝較小的存儲器單元,使得用戶能夠在與較舊的存儲器技術相同的價格下訪問更大的存儲器容量。柵極面積的縮小會減小浮置柵極至襯底的電容以及控制柵極至浮置柵極的電容。電容的減小又需要較少的電荷用于對單元進行編程和擦除,因此消耗較少的電力。對單元進行編程和擦除所需要的電荷的減少還意味著:對于相似的充電電流和放電電流,可以更快地執行編程操作和擦除操作。
[0007]然而,縮放存儲器單元的大小帶來一定的風險。如上所述,為了實現固定的管芯大小具有較高的存儲器容量的優勢,這些較小的單元必須更緊密地被封裝在一起。然而,這樣做會導致較大數量的制造錯誤如字線之間的短路。這樣的錯誤通常損壞存儲在正在被編程的字線和鄰近字線上的頁上的任何數據。在一些情況下,在包裝及運輸之前由制造商進行測試期間沒有意識到這些缺陷。相反,這些缺陷僅在由用戶執行編程擦除周期之后才開始損壞數據。
[0008]對于一些存儲器系統而言,存在稱為增強的后寫讀(EPWR)的技術以便在編程期間測試錯誤。數據首先被編程至每個存儲器單元存儲1位的二進制存儲器單元中。此后,數據被重新編程至每個存儲器單元存儲3位的多態存儲器單元中。在將數據編程至每個存儲器單元存儲3位的多態存儲器單元中之后,讀取經編程的數據并且將經編程的數據與存儲在二進制存儲器單元中的數據進行比較以驗證編程的正確性。如果發現了差異,則認為多態存儲器單元的塊被損壞,并且因此退出未來使用。然后,將數據重新編程至別處。雖然該處理是有用的,但是其不滿足所有問題并且可能是昂貴的,因為系統在對多態存儲器單元編程之前需要保持存儲器單元的塊以最初存儲數據。另外,該處理導致性能損失并且需要大量的編程/擦除周期。
【附圖說明】
[0009]圖1是NAND串的俯視圖;
[0010]圖2是NAND串的等效電路圖;
[0011]圖3是非易失性存儲器系統的框圖;
[0012]圖4是示出了存儲器陣列的一種實施方式的框圖;
[0013]圖5是示出了感測塊的一種實施方式的框圖;
[0014]圖6示出了示例性的一組閾值電壓分布并且示出了示例編程處理;
[0015]圖7示出了示例性的一組閾值電壓分布并且示出了示例編程處理;
[0016]圖8A至圖8C不出了閾值電壓分布的不例和不例編程處理;
[0017]圖9是示出了閾值電壓分布與存儲在存儲器單元中的數據之間的關系的示例的表格;
[0018]圖10是描述用于操作非易失性存儲裝置的處理的一種實施方式的流程圖;
[0019]圖11是描述用于對非易失性存儲裝置進行編程的處理的一種實施方式的流程圖;
[0020]圖12是描述用于執行非易失性存儲裝置的編程操作的處理的一種實施方式的流程圖;
[0021]圖13是示出了包括存儲器管芯和控制器電路的系統的一種實施方式的框圖;
[0022]圖14是示出了包括存儲器管芯、包括多個存儲器管芯和控制器電路的系統的一種實施方式的框圖;
[0023]圖15是示出了存儲器管芯上的數據頁彼此之間以及其各自的字線的示意性布置的圖;
[0024]圖16是示出了當對頁進行編程時保存位于該頁附近的數據的方法的一種實施方式的流程圖;
[0025]圖17是示出了當對頁進行編程時保存位于該頁附近的數據的方法的一種實施方式的流程圖;
[0026]圖18示出了跟蹤數據的哪些頁在寄存器中被組合的表格;
[0027]圖19是示出了以下方法的一種實施方式的流程圖:該方法通過將附近數據與來自其他存儲器管芯的數據進行組合來保存當對一個存儲器管芯上的頁進行編程時位于該頁附近的數據;
[0028]圖20是示出了在其中存儲器單元被視為不適當地被編程的閾值電壓區域的曲線圖;
[0029]圖21是示出了以下方法的一種實施方式的流程圖:該方法確定一組存儲器單元中的太多存儲器單元是否已經不適當地被編程;
[0030]圖22是示出了當對頁進行編程時保存位于該頁附近的數據的方法的一種實施方式的流程圖;
[0031]圖23是示出了保存要被編程的頁附近的數據的方法的一種實施方式的流程圖;
[0032]圖24是示出了以下方法的一種實施方式的流程圖:當在編程操作的有序序列期間對下頁進行編程時,該方法保存位于該下頁附近的數據;
[0033]圖25是示出了以下方法的一種實施方式的流程圖:當在有序的編程操作的有序序列期間對上頁進行編程時,該方法保存位于該上頁附近的數據;
[0034]圖26是示出了以下方法的一種實施方式的流程圖:當在編程操作的隨機序列期間對下頁進行編程時,該方法保存位于該下頁附近的數據;以及
[0035]圖27是示出了以下方法的一種實施方式的流程圖:當在編程操作的隨機序列期間對上頁進行編程時,該方法保存位于該上頁附近的數據。
【具體實施方式】
[0036]在本文中描述以下系統和方法:出于驗證的目的,通過所述系統和方法,可以將數據內部地或外部地保存至存儲器電路,使得如果所述數據的編程操作在存儲器電路的某個區域上失敗,則通過一個或更多個副本保存的數據可以在存儲器電路上的其他地方被編程。在一些實施方式中,存儲器電路的失敗區域,其可以是頁、塊、一個或更多個字線或者某個其他大小的區域,可以被標記以防止將來的編程嘗試。如果編程操作成功,則保存的數據的全部或一部分可以從冗余存儲中釋放。
[0037]例如,在檢測到字線之間的可能的短路(或其他缺陷)的情況下,本技術的一些實施方式可以保存與正在被編程的頁物理上靠近的頁上的數據。該數據可以被保存在外部數據鎖存器、控制器RAM、NAND存儲器上的其他位置或其他地方上。無論存儲器中的頁順序地被編程還是隨機被編程,都可以使用本技術的實施方式。
[0038]在存儲器電路包括多個存儲器管芯的實施方式中,用于保存數據頁的方法可以包括使用一個或更多個異或(X0R)運算(或其他邏輯/數學運算)以為了更高效的存儲而對數據進行組合或壓縮。具體地,當一個或更多個這些區域的全部或一部分正在被編程時,可以通過存儲器管芯上或存儲器管芯外的一個或更多個X0R運算(或其他邏輯/數學運算)將每個管芯的相對應的區域組合到一起。在編程操作完成之后,為了驗證編程操作成功,系統可以讀取被編程的數據頁和/或新被編程的頁周圍的數據。如果這些讀取操作中的任何讀取操作失敗,則系統可以通過當前未被編程的區域對存儲的數據執行一次或更多次X0R運算(或其他邏輯/數學運算),從而恢復待編程的原始數據的安全副本。然后,系統可以定位存儲器的如下空閑區域:在該空閑區域上對保存的副本進行編程。在實施方式中,在成功的編程操作或成功的數據恢復之后,可以擦除所保存的副本。
[0039]現在將參照附于本文的附圖來描述實施方式。
[0040]可以用于實現本文中描述的技術的非易失性存儲系統的一個示例是使用NAND結構的閃速存儲器系統,該NAND結構包括夾在兩個選擇柵極之間串聯布置多個晶體管。串聯晶體管和選擇柵極被稱為NAND串。圖1是示出了一個NAND串的俯視圖。圖2是其等效電路。圖1和圖2中示出的NAND串包括夾在第一(漏極側)選擇柵極120與第二(源極側)選擇柵極122之間的4個串聯的晶體管100、102、104和106。選擇柵極120將NAND串經由位線接觸部(bit line contact) 126連接至位線。選擇柵極122將NAND串連接至源極線128。通過向選擇線S⑶施加適當的電壓來控制選擇柵極120。通過向選擇線SGS施加適當的電壓來控制選擇柵極122。晶體管100、102、104和106中的每一個具有控制柵極和浮置柵極。例如,晶體管100具有控制柵極100CG和浮置柵極100FG。晶體管102包括控制柵極102CG和浮置柵極102FG。晶體管104包括控制柵極104CG和浮置柵極104FG。晶體管106包括控制柵極106CG和浮置柵極106FG。控制柵極100CG連接至字線WL3,控制柵極102CG連接至字線WL2,控制柵極104CG連接至字線WL1,以及控制柵極106CG連接至字線WL0。
[0041]注意,雖然圖1和圖2示出了 NAND串中的4個存儲器單元,但是使用4個存儲器單元僅被提供為示例。NAND串可以具有少于4個存儲器單元或多于4個存儲器單元。例如,一些NAND串將包括8個存儲器單元、16個存儲器單元、32個存儲器單元、64個存儲器單元、128個存儲器單元等。本文中的討論不限于NAND串中的存儲器單元的任意特定數量。一種實施方式使用具有66個存儲器單元的NAND串,其中,64個存儲器單元用于存儲數據,而2個存儲器單元由于其不存儲數據而被稱為偽存儲器單元。
[0042]使用NAND結構的閃速存儲器系統的典型架構包括若干NAND串。每個NAND串通過其由選擇線SGS控制的源極選擇柵極被連接至公共源極線并且通過其由選擇線SGD控制的漏極選擇柵極被連接至其相關聯的位線。每條位線和經由位線接觸部連接至該位線的相應的NAND串包括存儲器單元陣列的列。位線由多個NAND串共享。通常,位線沿垂直于字線的方向在NAND串之上延伸并且被連接至靈敏放大器。
[0043]在下面的美國專利/專利申請中提供了 NAND型閃速存儲器及其操作的相關示例:美國專利N0.5,570,315 ;美國專利N0.5,774,397 ;美國專利N0.6,046,935 ;美國專利N0.6,456,528 ;以及美國專利公開N0.US2003/0002348,這些專利/專利申請全部通過引用被合并到本文中。
[0044]除了 NAND閃速存儲器以外,還可以使用其他類型的非易失性存儲裝置。例如,非易失性存儲器裝置還通過使用介電層用于存儲電荷的存儲器單元來制造。使用介電層代替先前描述的導電浮置柵極元件。以下文獻中已經描述了利用電介質存儲元件的這樣的存儲器裝置:Eitan 等人,“NR0M:A Novel Localized Trapping, 2~Bit Nonvolatile MemoryCell,,,IEEE電子器件快報,第21卷,第11期,第543頁至545頁,2000年11月。0N0介電層跨源極擴散和漏極擴散之間的溝道而延伸。一個數據位的電荷被定位在靠近漏極的介電層中,而其他數據位的電荷被定位在靠近源極的介電層中。美國專利N0.5,768,192和美國專利N0.6,011,725公開了具有夾在兩個二氧化硅層之間的俘獲電介質的非易失性存儲器單元。多態數據存儲通過分別讀取電介質內的空間上分開的電荷存儲區的二進制狀態來實現。也可以使用基于M0N0S或TAN0S類型的結構或納米晶體的非易失性存儲裝置。也可以使用其他類型的非易失性存儲裝置。
[0045]圖3示出了具有用于對存儲器單元(例如,NAND多態閃速存儲器)的頁(或其他單位)并行地進行讀取和編程的讀/寫電路的存儲器裝置210。存儲裝置210可以包括一個或更多個存儲器管芯212。存儲器管芯(或集成電路)212包括存儲器單元200、控制電路220以及讀/寫電路230A和230B的陣列(二維或三維)。在一種實施方式中,在陣列的相對側上以對稱方式來實現各種外圍電路對存儲器陣列200的訪問,使得每一側上的訪問線和電路的密度減少一半。讀/寫電路230A和230B包括多個感測塊300,感測塊300使得能夠對存儲器單元的頁并行地進行讀取或編程。存儲器陣列200能夠經由行解碼器240A和行解碼器240B通過字線以及經由列解碼器242A和列解碼器242B通過位線尋址。字線和位線是控制線的示例。在典型的實施方式中,控制器244包括在與一個或更多個存儲器管芯212相同的存儲器裝置210 (例如,可移除存儲卡或封裝)中。命令和數據經由線232在主機與控制器244之間傳輸以及經由線234在控制器與一個或更多個存儲器管芯212之間傳輸。
[0046]控制電路220與讀/寫電路230A和230B協作以對存儲器陣列200執行存儲器操作。控制電路220包括狀態機222、片上地址解碼器224和電力控制模塊226。狀態機222提供存儲器操作的管芯級控制。片上地址解碼器224提供由主機或存儲器控制器使用的地址與由解碼器240A、240B、242A和242B使用的硬件地址之間的地址接口。電力控制模塊226對在存儲器操作期間提供給字線和位線的電力和電壓進行控制。在一種實施方式中,電力控制模塊226包括可以產生比供電電壓大的電壓的一個或更多個電荷栗。控制電路220向行解碼器240A和行解碼器240B以及列解碼器242A和列解碼器242B提供地址線ADDR。列解碼器242A和列解碼器242B經由被標記為數據I/O的信號線向控制器244提供數據。溫度傳感器228可以是本鄰域已知的模擬或數字溫度傳感器。
[0047]在一種實施方式中,控制器244在與存儲器管芯212不同的管芯(或集成電路)上來實現。在一些實施方式中,控制器244與主機并且與控制電路220以及解碼器接駁。