專利名稱:單元間干擾消除的制作方法
技術領域:
本公開內容總體上涉及半導體存儲器,并且更具體地涉及閃存中的干擾消除。
背景技術:
這里提供的背景描述是為了總體上呈現本公開內容的上下文的目的。本發明人的工作在這一背 景技術部分中描述的該工作的程度上以及該描述的可以在提交時未另外限定為現有技術的方面既未被明示地也未被暗示地承認為相對于本公開內容的現有技術。。存儲器集成電路(IC)包括存儲器陣列。存儲器陣列包括以行和列排列的存儲器單元。存儲器單元可包括易失性存儲器或非易失性存儲器的單元。當電力從存儲器單元移除時,易失性存儲器丟失存儲在存儲器單元中的數據。當電力從存儲器單元移除時,非易失性存儲器維持存儲在存儲器單元中的數據。在存儲器陣列的列和行中的存儲器單元通過選擇行的字線(WL)和選擇列的位線(BL)來尋址。存儲器IC包括在讀取/寫入(R/W)和擦除/編程(EP)操作期間分別選擇WL和BL的WL解碼器和BL解碼器。在圖1中,存儲器IClO包括存儲器陣列12、WL解碼器16、BL解碼器18和控制模塊19。存儲器陣列12包括如所示的以行和列排列的存儲器單元14。WL解碼器16和BL解碼器18依賴于在R/W和EP操作期間選擇的存儲器單元14的地址分別選擇WL和BL。控制模塊19接收來自主機(未示出)的命令(例如,讀取、寫入、擦除、編程等)。控制模塊19在所選擇的存儲器單元14中讀取和寫入數據。附加地,當存儲器單元14包括諸如閃存的非易失性存儲器的單元時,控制模塊19擦除和編程所選擇的存儲器單元14 (例如,在一個或多個塊或頁中)。僅為舉例,存儲器單元14可包括NAND或NOR閃存的單元。每個存儲器單元14可被編程以存儲N個二進制數字(比特)的信息,其中N是大于或等于I的整數。因此,每個存儲器單元14可具有2n個狀態。為了每個單元存儲N個比特,每個存儲器單元14可包括具有2N個可編程閾值電壓(以下為閾值電壓)的晶體管。晶體管的2N個閾值電壓分別代表存儲器單元14的2Nf狀態。在圖2中,存儲器單元14-1可以包括具有閾值電壓Vt的晶體管50。晶體管50可以包括浮置柵極G(以下為柵極G)、源極S和漏極D。寫入操作期間存儲在柵極G中的電荷的數量確定閾值電壓Vt的值和存儲器單元14-1的狀態。僅為舉例,晶體管50可以具有依賴于存儲在柵極G中的電荷的數量的兩個可編程閾值電壓Vn和VT2。當存儲在柵極G中的電荷的數量是Ql時,晶體管50的閾值電壓是VT1。當存儲在柵極G中的電荷的數量是Q2時,晶體管50的閾值電壓是VT2。依賴于存儲在柵極G中的電荷的數量,具有大于或等于Vn或Vt2的值的柵極電壓(即Ves)可導通晶體管50 (即生成預定的漏極電流)。通過測量晶體管50的閾值電壓Vt來讀取存儲器單元14的狀態(即,存儲在存儲器單元14中的數據)。閾值電壓Vt無法被直接讀出。相反,通過施加柵極電壓至柵極G和感測漏極電流來測量閾值電壓VT。漏極電流通過跨晶體管50的源極S和漏極D施加小電壓來感測漏極電流。當柵極電壓小于閾值電壓Vt時,晶體管50被關斷,并且漏極電流為低(近似于零)。相反地,當柵極電壓大于或等于閾值電壓Vt時,晶體管50導通,并且漏極電流變為高(即等于對應于與Vt的預定的漏極電流)。生成高漏極電流的柵極電壓的值代表晶體管50的閾值電壓Vt。通常,同時感測在存儲器陣列的塊或頁中的存儲器單元的狀態。在塊中的存儲器單元的晶體管的柵極被連接到WL。選擇WL,并且向WL施加電壓。當晶體管的漏極電流首次超過預定的(編程的)值時,通過在WL上步進通過(2n-1)個電壓和確定晶體管的閾值電壓來感測N比特存儲器單元的狀態。在圖3A和圖3B中,晶體管50的閾值電壓被如下測量。僅為舉例,晶體管50可具有四個閾值電壓Vn到Vt4中的一個閾值電壓,其中Vn < Vt2 < Vt3 < Vt4。從而,存儲器單元14-1可具有四個狀態00、01、10和11中的一個狀態。在圖3A中,控制模塊19包括電壓發生器20和電流感測放大器22。電流感測放大器的數量等于BL的數量。例如,當IClO包括B個BL時,電流感測放大器22針對B個BL分別包括B個電流感測放大器,這里B是大于I的整數。在圖3B中,當將確定存儲器單元的狀態時,WL解碼器16選擇包括存儲器單元
........14-n(統稱為存儲器單元14)的WL。存儲器單元14中的
每個存儲器單元包括類似于晶體管50的晶體管。晶體管被示出為在柵極中存儲電荷的電容C。當讀取操作開始時,電壓發生器20向WL解碼器16供應電壓(例如,階梯電壓)。WL解碼器16向所選擇的WL輸入該電壓。因此,電壓被施加給在所選擇的WL上的晶體管的柵極。電流感測放大器22包括用于每個BL的一個電流感測放大器。例如,電流感測放大器22-1與位線BL-1通信并感測流動穿過存儲器單元14-1的晶體管50的漏極電流。電流感測放大器22-1通過跨晶體管50的源極和漏極施加小電壓來感測漏極電流。每個電流感測放大器感應穿過存儲器單元14的晶體管中的各自的晶體管的漏極電流。控制模塊19基于由各個電流感測放大器22感測的漏極電流測量晶體管的閾值電壓。
發明內容
一種系統,包括讀取模塊,配置用于通過沿著存儲器陣列的第一字線讀取存儲器單元來生成關于第一存儲器單元的第一信息,第一存儲器單元沿著存儲器陣列的第一位線和第一字線定位。存儲器單元包括第一存儲器單元。第一信息指示相對于施加到第一字線以讀取存儲器單元的多個閾值電壓的第一存儲器單元的閾值電壓分布的位置。讀取模塊被配置用于通過讀取第二存儲器單元生成關于第二存儲器單元的第二信息。第二存儲器單元沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位。第二信息指示引起對第一存儲器單元的干擾的第二存儲器單元的狀態。該系統進一步包括補償模塊,配置用于基于(i)第一信息和(ii)第二信息補償由第二存儲器單元的狀態引起的干擾。在其它特征中,補償模塊被配置用于使用對應于(i)第一信息和(ii)對應于于引起對第一存儲器單元的干擾的第二存儲器單元的狀態的閾值電壓分布的分布數的對數似然比補償干擾。系統包括讀取模塊,配置用于通過沿著存儲器陣列的第一字線讀取存儲器單元來生成關于沿著存儲器陣列的第一位線和第一字線定位的第一存儲器單元的第一信息。存儲器單元包括第一存儲器單元。第一信息指示相對于施加到第一字線以讀取存儲器單元的多個閾值電壓的第一存儲器單元的閾值電壓分布的位置。該系統進一步包括狀態確定模塊,配置用于確定引起對第一存儲器單元的干擾的一個或多個存儲器單元的狀態。該一個或多個存儲器單元沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位。該一個或多個存儲器單元的位置依賴于編程存儲器單元的預定序列。在其它特征中,該系統進一步包括映射模塊,配置用于將引起類似干擾的一個或多個狀態映射到分布數。分布數代表引起對第一存儲器單元的干擾的一個或多個狀態的閾值電壓分布。系統包括選擇模塊,配置用于選擇沿著存儲器陣列的第一位線和第一字線定位的第一存儲器單元,以及選擇沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位的第二存儲器單元。基于編程存儲器的預定序列選擇第二存儲器單元的位置。該系統進一步包括讀寫模塊,配置用于在第一存儲器單元中和隨后在第二存儲器單元中寫入數據,以及讀取第一存儲器單元和第二存儲器單元。該系統進一步包括檢測模塊,配置用于檢測引起對第一存儲器單元的干擾的第二存儲器單元的一個或多個狀態。在其它特征中,該系統進一步包括讀取模塊,配置用于通過沿著存儲器陣列的第一字線讀取存儲器單 兀來生成關于第一存儲器單兀的第一信息。該存儲器單兀包括第一存儲器單元。第一信息指示相對于施加到第一字線以讀取存儲器單元的多個閾值電壓的第一存儲器單元的閾值電壓分布的位置。該系統進一步包括狀態確定模塊,配置用于確定引起對第一存儲器單元的干擾的一個或多個存儲器單元的狀態。該一個或多個存儲器單元包括第二存儲器單元。該一個或多個存儲器單元沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位。該一個或多個存儲器單元的位置依賴于編程存儲器單元的預定序列。—種方法,包括通過沿著存儲器陣列的第一字線讀取存儲器單元來生成關于第一存儲器單元的第一信息,第一存儲器單元沿著存儲器陣列的第一位線和第一字線定位。存儲器單元包括第一存儲器單元。第一信息指示相對于施加到第一字線以讀取存儲器單元的多個閾值電壓的第一存儲器單元的閾值電壓分布的位置。該方法進一步包括通過讀取第二存儲器單元來生成關于第二存儲器單元的第二信息。第二存儲器單元沿著(i)第一字線、
(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位。第二信息指示引起對第一存儲器單元的干擾的第二存儲器單元的狀態。該方法進一步包括基于(i)第一信息和(ii)第二信息補償由第二存儲器單元的狀態引起的干擾。在其它特征中,補償干擾包括使用對應于(i)第一信息和(ii)對應于引起對第一存儲器單元的干擾的第二存儲器單元的狀態的閾值電壓分布的分布數的對數似然比。一種方法,包括選擇沿著存儲器陣列的第一位線和第一字線定位的第一存儲器單元。該方法進一步包括選擇沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位的第二存儲器單元。基于編程存儲器單元的預定序列選擇第二存儲器單元的位置。該方法進一步包括在第一存儲器單元中寫入數據,隨后在第二存儲器單元中寫入數據,以及讀取第一存儲器單元和第二存儲器單元。該方法進一步包括檢測引起對第一存儲器單元的干擾的第二存儲器的一個或多個狀態。在其它特征中,該方法進一步包括通過沿著存儲器陣列的第一字線讀取存儲器單兀來生成關于第一存儲器單兀的第一信息。該存儲器單兀包括第一存儲器單兀。第一信息指示相對于施加到第一字線以讀取存儲器單元的多個閾值電壓的第一存儲器單元的閾值電壓分布的位置。該方 法進一步包括確定引起對第一存儲器單元的干擾的一個或多個存儲器單元的狀態。該一個或多個存儲器單元包括第二存儲器單元。該一個或多個存儲器單元沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位。基于編程存儲器單元的預定序列選擇該一個或多個存儲器單元的位置。本公開內容的適用性的更多領域將通過詳細描述、權利要求書和附圖中變得顯而易見。詳細描述和具體示例旨在僅出于例示的目的而并不旨在限制本公開內容的范圍。
通過詳細描述和附圖本公開將得到更加全面的理解,其中:圖1是根據現有技術的存儲器集成電路(IC)的功能框圖;圖2是根據現有技術的多級存儲器單元的示意圖;圖3A和圖3B是根據現有技術的圖1的存儲器IC的功能框圖;圖4A描繪了根據本公開內容的3比特存儲器單元的電荷水平分布;圖4B描繪了歸因于根據本公開內容的3比特存儲器單元的循環的圖4A的電荷水平分布中的漂移;圖5描繪了根據本公開內容的用于執行多個讀取操作的參考電壓和單比特單元的閾值電壓分布;圖6A描繪了根據本公開內容的存儲器陣列;圖6B示出了根據本公開內容的圖6A的存儲器陣列中的用于編程頁的表格;圖7A示出了根據本公開內容的存儲器陣列中的受害者(victim)單元和多個攻擊者(aggressor)單兀;圖7B示出了根據本公開內容的攻擊者單元對受害者單元的閾值電壓分布的效果;圖7C示出了根據本公開內容的當受害者單元未受攻擊者單元影響時受害者單元的總體閾值電壓分布;圖7D示出了根據本公開內容的當受害者單元受到攻擊者單元影響時受害者單元的總體閾值電壓分布;
圖8示出了根據本公開內容的倉索引的直方圖;圖9A是根據本公開內容的包括用于補償單元間干擾的控制模塊的存儲器集成電路(IC)的功能框圖;圖9B示出了根據本公開內容的用于存儲軟信息和攻擊者狀態信息的存儲器的布局;圖10是根據本公開內容的倉索引的直方圖;圖11圖示了根據本公開內容的在將攻擊者狀態信息映射到分布數之前和之后所要求的用于存儲攻擊者狀態信息的存儲器的數量之間的差;圖12A和圖12B圖示了根據本公開內容的壓縮映射信息的過程;圖13是根據本公開內容的包括發現存儲器IC的單元間干擾模式的發現模塊的系統的功能框圖;圖14示出了根據本公開內容的用于補償單元間干擾的方法的流程圖;圖15示出了根據本公開內容的用于使用單元間干擾消除解碼數據的方法的流程圖;以及圖16示出了根據本公開內容的用于檢測存儲器IC中的攻擊者單元的模式的方法的流程圖。
具體實施例方式本公開內容涉及在閃存中消除單元間干擾。在閃存中,當沿著字線在存儲器單元中寫入新數據時,新寫入的數據影響`沿著臨近的字線在存儲器單元中更早寫入的數據。因此,沿著臨近的字線在存儲器單元中更早寫入的數據經歷來自新寫入的數據的單元間干擾。單元間干擾依賴于數據。即,單元間干擾依賴于新寫入的數據的數據模式。為了糾正單元間干擾對沿著字線在存儲器單元中存儲的數據的影響,可以反復讀取沿著字線的存儲器單元。通過沿著字線反復讀取存儲器單元而獲得的信息被用于解碼沿著字線存儲在存儲器單元中的數據。本公開內容涉及通過沿著字線讀取存儲器單元和還讀取臨近字線中的存儲器單元來消除對沿著字線存儲在存儲器單元中的數據的單元間干擾的影響。通過讀取臨近字線中的存儲器單元而獲得的信息被用于補償對沿著字線存儲在存儲器單元中的數據的單元間干擾的影響。因此,使用通過沿著字線讀取存儲器單元和通過沿著臨近字線讀取存儲器單元獲得的信息解碼沿著字線存儲在存儲器單元中的數據。在詳細描述單元間干擾和單元間干擾消除之前,說明閃存單元的閾值電壓分布。另外,說明根據本公開內容生成用于存儲器單元的包括倉索引和對數似然比的軟信息。該軟信息被用于如以下所說明的那樣消除單元間干擾。在諸如閃存系統之類的某些存儲器系統中,存儲器單元通過在晶體管的被稱為浮置柵極的隔離區域中俘獲細粒度電荷量而存儲數據。通過施加電壓給晶體管和估計讀出電流來讀取存儲在存儲器單元(例如,如以下所說明的晶體管)中的數據,讀出電流由俘獲的電荷數量確定。當施加的電壓大于或等于晶體管的閾值電壓(其由俘獲的電荷的數量確定)時,晶體管導通,并且讀出電流為高。
存儲器單元可以每單元存儲一個或多個比特,并且可以被分別稱為單級或多級存儲器單元。單級存儲器單元可存儲一個比特的信息。僅為舉例,比特可以當電荷被存儲在存儲器單元中時是邏輯0,或者當沒有電荷被存儲在存儲器單元中時是邏輯I。 多級存儲器單元可以通過存儲不同數量的電荷或者電荷水平來存儲多個比特的信息。例如,假設Q是在多級存儲器單元中可以存儲的最大電荷量。可以通過存儲在0和Q之間的細粒度電荷量來在這樣的存儲器單元中存儲多比特信息。僅為舉例,可以通過俘獲0,Q/3,2Q/3,Q四級電荷中的任一級電荷在一個多級存儲器單元中存儲2比特的信息。俘獲電荷的過程被稱為編程。俘獲的電荷的不同級別轉譯為用于存儲器單元的不同閾值電壓。可以通過估計存儲在存儲器單元中的電荷的數量來讀取存儲在存儲器單元中的數據。通過施加電壓和讀取電流來估計存儲在存儲器單元中的電荷的數量。當電流變高時,施加的電壓與參考電壓中的一個參考電壓進行比較。該參考電壓對應于存儲器單兀的各種狀態和對應的閾值電壓,其依賴于存儲器單元中俘獲的電荷的數量。在圖4A中,示出了用于3比特存儲器單元的閾值電壓分布的示例。3比特存儲器單元僅用于示例。該討論適用于具有2N個標稱閾值電壓和(2n-1)個參考電壓的任意N比特存儲器單元,其中N是大于I的整數。3比特存儲器單元可存儲多達八個不同電荷水平,其中每個電荷水平對應于八個不同狀態中的一個。因此,存儲器單元的閾值電壓分布包括八個不同的標稱閾值電壓。該八個標稱閾值電壓與可被分別存儲在存儲器單元中的八個電荷水平相關聯。盡管待編程到期望的狀態的單元被編程到對應于期望狀態的電荷水平,當單元被編程到期望狀態時存儲在單元中的實際電荷可以不同,并且導致圍繞標稱閾值電壓的閾值電壓的分布。因此,閾值電壓可具有分布而不是單個值。臨近電荷水平的交叉定義可以在讀取操作期間用于檢測存儲在存儲器單元中的數據的參考電壓。因此,3比 特存儲器單元具有定位在臨近分布曲線相交處的七個參考電壓(Vrl 到 Vr7)。在讀取操作期間應當獲知參考電壓以確定電荷水平以及因此的存儲在存儲器單元中的數據。最初,在制造時設置參考電壓。隨后,在正常讀取操作期間,(通過施加電壓給柵極并且測量漏極電流)測量存儲器單元的閾值電壓并與七個參考電壓進行比較以確定存儲在存儲器單元中的數據(即,存儲器單元的狀態)。僅為舉例,當閾值電壓小于或等于Vrt時,存儲在存儲器單元中的數據是111。當閾值電壓小于或等于^并且大于Vrt時,存儲在存儲器單元中的數據是110,以此類推。最后,當閾值電壓大于時,存儲在存儲器單元中的數據是011。在圖4B中,諸如多級閃存之類存儲器單元在反復讀取、寫入、擦除和/或編程操作(總體上稱為循環)之后會遭受電荷滯留損失。例如,存儲器單元的浮置柵極周圍的氧化物可以在反復循環之后再生。因此,在如所示出的循環之后,閾值電壓分布可以變化或漂移。因此,在循環之后,使用參考電壓從之前循環讀取的數據可能不正確。讀取操作通常涉及關于存儲在存儲器單元中的比特進行硬判決。考慮可以存儲0或I的單比特存儲器單元。假設對應于存儲的值(即,狀態)0和I的標稱閾值電壓分別是Vtl和%。不失一般性,假設Vtl > Vi。因為單比特存儲器單元可以具有兩個狀態0或1,所以設置在Vtl和V1中心的僅一個參考電壓\通常足夠檢測單比特存儲器單元的狀態。
閾值電壓可以歸因于使用、操作條件(例如,噪聲)和單元間干擾(即,當前被寫入一個單元中的數據影響之前寫入附近單元中的數據)隨時間變化。如果兩個閾值電壓均遭受類似的噪聲條件,則參考電壓I可以被設置在Vc^p V1的中點,即\ = 0.0+nx)。從比特誤差率(BER) +角度可以看到I的這個設置是最佳的。單元的閾值電壓(即,處于該電壓時漏極電流為高)與\進行比較。如果閾值電壓大于Vp則將單元讀取為0,否則讀取為I。這被認為是硬判決,因為讀取操作的結果是關于存儲器單元的狀態的硬判決。通常,同時讀取在一塊或一頁中的存儲器單元。S卩,電壓被施加給一頁中的存儲器單元,并且依賴于單元的閾值電壓是大于還是小于參考電壓將單元讀取為存儲0或I。當噪聲水平為高或單元的閾值電壓分布由于使用和單元間干擾而移位時,如果參考電壓未被調節為說明噪聲或移位,則硬判決可能是不正確的。誤差校正解碼器可被用于校正某些錯誤。然而,不是所有誤差都可以被校正。在確定存儲器單元的閾值電壓時,可以通過執行多次讀取而不是執行單次讀取來減少誤差。特別地,可以使用附加的參考電壓執行附加讀取以確定閾值電壓。通過執行更多讀取,可以關于存儲在單元中的數據收集更多的信息。通過執行附加的讀取而收集的附加的信息被稱為軟信息,其可以由解碼器用于校正誤差。在圖5中,考慮可以存儲I或0的單比特單元的示例閾值電壓分布。對應于單元的兩個狀態的標稱電壓水平被分別表示為-1或I。僅為舉例,-1和I可以分別對應于IV和4V。S卩,在圖5中,VJP V。可以分別等于IV和4V。假設三個參考電壓Vrt < Vr2 < Vr3被使用在三個讀取操作中以確定單元的閾值電壓。即,施加給單元的電壓與三個參考電壓進行比較以確定單元的閾值電壓。三個參考電壓將包括閾值電壓的實線劃分為四個區域R1 = (_ ^,Vrl]、R2 = (Vrl, Vr2]、R3 = (Vr2, Vr3]和R4 = (Vr3,-]。通過執行三個讀取,單元的閾值電壓可以被裝入四個區域或倉中的一個中。
具有在倉0中的閾值電壓的單元更可能已存儲了 -1,并且具有在倉3中的閾值電壓的單元更可能已存儲了 I。然而,具有在倉I和倉2中的閾值電壓的單元可能已存儲了 -1或I。可以通過進一步增加讀取的數目來降低關于在倉I和2中的單元的狀態的不確定性。即,通過增加讀取的數目可以更精確地確定單元的閾值電壓。然而,出于實用的目的,讀取的數目應當保持有限。現在說明軟信息的概念。假設單元的閾值電壓在倉0中。已知閾值電壓讀取(即Y)位于倉0中(即Y G倉0),單元的狀態是1(即X = I)的概率P被表達為P(X= 1|Y G倉O)。類似地,已知閾值電壓讀數(即Y)位于倉0中(即Ye倉0),單元的狀態是_1(即,x = -1)的概率P被表達為P(X =-1|y G倉O)。如果單元的閾值電壓在倉制0中,則概率P(x = -1 IY G倉)相對于概率P(X = I |y G倉0)為高。針對每個單元計算這些概率,并且通過這些概率計算對數似然比(LLR)。特別地,當單元的閾值電壓位于倉中的一個時(即當Y已知時),可以計算LLR以確定單元的實際閾值電壓(即 X)是 I 還是-1。LLR 被表達成 log[P(X = 1|Y)/P(X = _1|Y)]。P(X = l|Y)是在給定Y時(即閾值電壓讀數在給定倉中)單元的實際閾值電壓X是I的概率。P(X= -l|Y)是在給定Y時(即閾值電壓讀數在給定倉中)單元的實際閾值電壓X是-1的概率。概率 P(X = 1|Y)和 P(X = -1|Y)的和為 I。即,P(X = 11Y) +P(X = -1|Y) = I。
如果P(X = 1|Y)大于P(X = _1|Y),則LLR為正,并且如果P (X = l|Y)小于P(X=-1 |Y),則LLR為負。因此,如果LLR的符號為正,則單元的實際閾值電壓更可能是1,并且如果LLR的符號為負,則單元的實際閾值電壓更可能是-1。LLR的量值的絕對值指示對結果的置信度。量值的絕對值越高,則對結果的置信度越大。換句話說,LLR的符號指示硬判決,并且LLR的量值的絕對值指示硬判決的可靠性。因此,當執行單個讀取以讀取單元的塊時,結果是與單元相關聯的硬判決I和-1的流。另一方面,當執行多個讀取時,結果是與單元相關聯的倉號。在最右和最左倉中的單元的狀態分別是具有高可靠性的I和-1。關于在最右和最左倉中的單元的狀態的信息是軟信息,其可由解碼器用于確定那些狀態不確定的剩下的單元的狀態。可以如下設置用于多個讀取的參考電壓。通常,執行t個讀取的過程可以被轉譯為將與之電壓位于其上的實現分為(t+1)個區域中并把單元的閾值電壓裝倉到區域之一。更一般地,這個過程可以被轉譯為具有兩個輸入(-1和I)和(t+1)個輸出(即(t+1)個區域或倉)的通道。例如,如圖5中所示,通過執行三個讀取,可以將單元的閾值電壓裝倉到四個區域或倉之一中。當計算參考電壓時,也計算與每個倉相關聯的LLR和概率。LLR被分配給各自的倉。像參考電壓一樣,LLR值可以圍繞閾值電壓分布的中心對稱。例如,除了符號的變化,用于倉0的LLR值可以與用于倉3的LLR值相同。類似地,除了符號的變化,用于倉I的LLR值可以與用于倉2的LLR值相同,以此類推。目前,基于倉索引分配LLR。存儲器單元的倉索引指示存儲器單元的閾值電壓分布的位置。該位置與用于讀取存儲器單元的參考電壓有關。向具有相同倉索引的存儲器單元分配相同LLR。然而,為了補償單元間干擾,附近單元的狀態也需要被考慮。如果具有相同倉索引的兩個單元的附近單元具有不同狀態,則這兩個單元可以具有不同的LLR。在圖6A和圖6B中,存儲器陣列12包括沿著如所示出的字線WL0、WL1、......、WLn
和位線BL0、BL1........BLn定位的存儲器單元14,其中n是大于I的整數。僅為舉例,假
定存儲器單元14每單元存儲2個比特。數據被按照頁存儲在存儲器單元14中。因為存儲器單元14每單元存儲2個比特,所以每個字線將與2頁相關聯:第一頁(例如,頁A),在第一頁存儲每個存儲器單元沿著字線的2個比特中的第一個比特;和第二頁(例如頁B),在第二頁存儲每個存儲器單元沿著字線的2個比特中的第二個比特。通常以預定的順序對頁進行編程。制造者優化編程頁的順序以最小化單元間干擾。例如,順序可以如圖6B中所示:頁0、1、2和3可以分別沿著字線0、1、2和3 ;頁4、5、6和7可以分別沿著字線0、1、2和3 ;頁8和9可以分別沿著字線4和5 ;頁10和11可以分別沿著字線4和5;以此類推。按照以下順序對頁進行編程:字線0被編程到程序頁0 ;字線I被編程到程序頁I ;字線2被編程到程序頁2 ;字線3被編程到程序頁3 ;繼而字線0被編程到程序頁4 ;字線I被編程到程序頁5;以此類推。因此,頁0和4而不是頁0和I將沿著字線O。相反,如果頁0和I沿著字線0,并且如果頁2和3沿著字線1,則頁0和I將首先被編程,而后是頁2和3。然而,在已經編程頁0和I之后編程頁2和3將影響寫入頁0和I中的數據。相反,如果如圖6B中所示編程頁,則當在字線0上寫入頁4時,可以考慮已經沿著字線I寫入在頁I上的數據的影響。
盡管制造者優化順序以最小化單元間干擾,但是某些內部干擾可能仍然存留。制造者的順序針對設備類型而固定。例如,使用19納米工藝制造的3比特每單元存儲器集成電路可以具有針對該設備優化的固定的編程順序。基于制造者的順序,設備中的單元間干擾可以遵循一個模式。該模式可以被識別和補償。可以在設備被制造之后和使用者開始使用設備存儲數據之前針對設備生成補償數據。可以在使用者開始使用設備存儲數據之前向設備添加補償數據。補償數據可以貫穿設備的使用壽命用于補償單元間干擾。圖7A至圖7D用于說明單元間干擾。在圖7A中,當數據被寫入到第i個字線中的第j個單元(即在第j個字線和第i個位線的交叉點處的單元)時,數據受到先前寫入一個或多個附近單元中的數據影響。受附近單元影響的在第i個字線中的第j個單元被稱為受害者單元(V)。影響受害者單元的附近單元被稱為攻擊者單元(A)。攻擊者單元歸因于攻擊者單元與受害者單元之間的耦合而影響受害者單元。攻擊者單元臨近于受害者單元定位。例如,攻擊者單元可以定位在字線j + 1和/或j_l處,其臨近于其中定位有受害者單元的字線j。攻擊者單元還可以定位在位線i+1和/或i_l處,其臨近于其中定位有受害者單元的位線i。在圖7B中,受害者單元的閾值電壓分布是一個或多個攻擊者單元的狀態的函數。僅為舉例,假定單元可以存儲2比特每單元(即每個單元可以具有四個可能狀態中的一個可能狀態)。假定兩個受害者單元Vl和V2受兩個攻擊者單元Al和A2的影響。僅為舉例,假定攻擊者單元Al被充電到最高狀態(狀態4)并且攻擊者單元A2被充電到最低狀態(狀態I)。僅為舉例,進 一步假定受害者單元Vl和V2被編程到第二狀態。因為攻擊者單元A2被編程到最低狀態,所以攻擊者單元A2的狀態可以不干擾受害者單元V2的狀態。因此,受害者單元V2的閾值電壓分布將如所示顯示為正常。因為攻擊者單元Al被編程到最高狀態,所以攻擊者單元Al的狀態可以干擾受害者單元Vl的狀態。因此,受害者單元Vl的閾值電壓分布可以如所示向右移位。因此,當讀取受害者單元Vl和V2時,在不知道攻擊者單元Al和A2的狀態時,受害者單元Vl和V2的閾值電壓分布將表現為單個分布,其事實上是如所示出的正常分布和移位的分布的總和。現在假定沿著字線的N個單元被編程到第二狀態。N個單元中的每個單元將具有附近單元。附近單元中的每個單元可以具有四個可能狀態中的一個。因此,N個單元可以被劃分成四個組。N/4個單元的第一組可以具有編程到狀態I的附近單元。N/4個單元的第二組可以具有編程到狀態2的附近單元。N/4個單元的第三組可以具有編程到狀態3的附近單元。N/4個單元的第四組可以具有編程到狀態4的附近單元。在圖7C中,如果附近單元被編程到狀態1,則附近單元將對N個單元的閾值電壓分不造成影響。因此,四組中每一組中的單元的閾值電壓分布將表現為正常。N個單元的總閾值電壓分布將如所示是四個組的分布之和。然而,在圖7D中,如果附近單元被編程到狀態I到4,附近單元將如所示影響N個單元的閾值電壓分布。因此,四個組中的每一組中的單元的閾值電壓的分布將如所示呈現移位。如所示,N個單元的總閾值電壓分布將是四個組的分布之和。在第四組中的N/4個單元的閾值電壓分布可以實際上已幾乎移位了一個狀態,這通過簡單的檢測總分布將不是可檢測的,除非考慮到附近狀態的狀態。
因此,為了補償單元間干擾,替代分配相同的LLR給具有相同倉索引的兩個單元,如果每個單元的附近單元具有不同的狀態,則可以向每個單元分配不同的LLR。例如,如果兩個受害者單元Vl和V2具有相同的狀態(例如,狀態2),并且如果它們各自的攻擊者單元Al和A2具有不同的狀態(例如,Al具有狀態4,而A2具有狀態I),則可以向Vl分配與V2不同的LLR以區分Vl的閾值電壓分布與V2的閾值電壓分布,盡管Vl和V2的總分布(以及由此的倉索引)相同。在圖8中,使出了具有能夠存儲3比特每單元的存儲器單元的存儲器設備的直方圖。每個單元可具有八個可能狀態中的一個。注意,替代單個總分布,可以觀察到三個不同的閾值電壓分布。同樣,因為具有某些狀態的單元導致類似的單元間干擾,未觀察到對應于八個獨立狀態的八個獨立分布。例如,具有狀態1、3、5和7的單元導致類似的單元間干擾;具有狀態0、4和6的單元導致類似的單元間干擾;并且具有狀態2的單元導致類似的單元間干擾因此,因此,當單元可以具有八個可能狀態時,僅三個閾值電壓分布導致單元間干擾。單元間干擾模式 是設備相關的。即,針對存儲器設備所觀察的單元間干擾模式對于使用相同工藝制造的存儲器設備的全部單位而言相同。進一步地,單元間干擾模式(即,攻擊者單元的導致對受害者單元的單元間干擾的模式)貫穿存儲器設備的壽命沒有發生改變,盡管存儲器設備的壽命歸因于使用。因此,存儲器設備的單元間干擾模式是存儲器設備的特色性特性。存儲器設備的單元間干擾模式基于存儲器設備制造者針對設備而優化的編程序列或編程頁的順序。因此,對于存儲器設備,可以通過選擇受害者單元和分析一個或多個攻擊者單元的影響來研究單元間干擾模式。可以沿著與受害者單元相同的位線和/或相同的字線定位攻擊者單元。備選地或附加地,可以沿著臨近的字線和/或位線定位攻擊者單元。在圖9A和圖9B中,根據本發明的檢測和補償單元間干擾的存儲器集成電路(IC) 100如下所示。在圖9A中,存儲器IC100包括存儲器陣列12、WL/BL解碼器模塊102和控制模塊104。控制模塊104包括讀取模塊110、參考電壓模塊112、裝倉模塊114、攻擊者狀態確定模塊116、LLR模塊118、補償模塊120、映射模塊122和解碼器模塊124。讀取模塊110讀取存儲器單元的狀態,其由存儲器陣列12中的WL/BL解碼器模塊102選擇。參考電壓模塊112生成參考電壓以讀取存儲器單元。裝倉模塊114基于用于讀取存儲器單元的參考電壓將存儲器單元的閾值電壓分布劃分成多個倉。裝倉模塊114基于使用參考電壓在存儲器單元上執行的讀取操作生成用于每個存儲器單元的倉索引。如下所述,攻擊者狀態確定模塊116確定影響受害者單元的攻擊者單元的狀態并且確定影響受害者單元的被稱為用于攻擊者單元的攻擊者狀態的組合狀態。LLR模塊118基于針對每個存儲器單元的攻擊者狀態和倉索引的組合生成LLR。補償模塊120基于LLR補償(消除)單元間干擾。映射模塊122如下所述將攻擊者狀態映射到攻擊者單元的閾值電壓分布以優化攻擊者狀態信息。在使用中,在發生誤差而補償單元間干擾之后,解碼器模塊124解碼讀取自存儲器陣列12的數據。現在詳細說明這些模塊的操作。如上所述,為了說明單元間干擾,倉索引還應當反映附近單元的狀態。針對其計算LLR的單元被稱為受害者單元。導致對受害者單元的單元間干擾的附近單元被稱作攻擊者單元。如下生成攻擊者狀態。
假定,例如在2比特每單元存儲器設備中,受害者單元受兩個攻擊者單元影響,其中的每一個可以具有四個可能狀態中的一個。在這個示例中,兩個攻擊者單元可以具有總共16個狀態,并且存儲器的四比特對于存儲兩個攻擊者單元的組合狀態將是必須的。兩個攻擊者單元的組合狀態被稱為攻擊者狀態。在圖8中示出的示例中,當八個可能狀態的總數可具有八個對應的閾值電壓分布時,八個分布中的僅三個導致單元間干擾,因為某些狀態并不導致干擾并且某些狀態導致類似的干擾。因此,出于單元間干擾的目的僅需要考慮三個分布。類似地,當針對兩個攻擊者單元具有16個可能狀態時,16個可能狀態中的某些將不引起單元間干擾,并且16個可能狀態中的一些將導致某些類似的干擾。因此,將引起單元間干擾的分布的總數將小于16。因此,小于四個比特對于存儲兩個攻擊者單元的攻擊者狀態將是必需的。在圖9B中,示出了生成和存儲用于受害者單元的軟信息(倉索引信息)和攻擊者狀態信息的示例。讀取模塊110使用多個參考電壓多次讀取存儲器單元的頁,其中頁包括受害者單元(和可能的攻擊者單元)。基于多次讀取操作,裝倉模塊114生成用于每個受害者單元的軟信息(倉索引信息)并且針對每個受害者單元在第一組的六個比特(比特零到比特五)中存儲軟信息。讀取模塊110讀取存儲器單元的一個或多個臨近頁,其中臨近頁包括用于受害者單元的攻擊者單元。附加地,如果包括受害者單元的頁還包括攻擊者單元,則讀取模塊Iio還可以讀取包括受害者單元的頁。攻擊者狀態確定模塊116確定攻擊者單元的狀態、生成攻擊者狀態并且在第二組的六比特(比特六到比特11)中存儲用于每個受害者單元的攻擊者狀態信息。因此,比特0到11形成如下度量,該度量包括用于受害者單元的軟信息和攻擊者狀態信息并且指示由攻擊者單元引起的對受害者單元的單元間干擾。基于度量,LLR模塊118可以生成LLR以消除由攻擊者單元引起的對受害者單元的單元間干擾。
第一組的六比特指示受害者單元的閾值電壓分布的位置,而第二組的六比特指示引起對受害者單元的單元間干擾的攻擊者單元的分布的數量(例如,在圖8中示出3個分布)。讀取模塊110區分被執行以生成軟信息的讀取操作和被執行以生成攻擊者狀態信息的讀取操作。例如,描述符字段中的比特可以用于區分讀取操作。因此,通過讀取操作獲得的數據可以被路由以更新存儲在適當存儲器位置中的信息。其它方式可以用于區分讀取操作。可以通過攻擊者單元的字線數和位線數參數化攻擊者單元。具體而言,對于每個受害者單元,對應的攻擊者單元的位置可以按照字線數和位線數的偏移來指定。例如,在圖7A中,如果受害者單元定位在字線i和位線j,則攻擊者單元可以定位在字線i+1和位線j-1、字線i和位線j_l和/或字線i+1和位線j。參數或偏移提供了攻擊者單元關于受害者單元定位在何處的空間指示。因此,可以按照受害者單元和對應的攻擊者單元的字線數和位線數的偏移指定用于存儲器設備的單元間干擾模式。讀取模塊110利用單元間干擾模式以執行讀取操作并且包括生成自每個讀取操作的數據中的偏移信息,從而使得可以適當地更新軟信息和攻擊者狀態信息。例如,對于在位線j上的受害者單元,攻擊者單元可以在位線j+k上,其中k是任意整數。因此,來自每個讀取操作的數據應當包括k的值。例如,讓攻擊者單元在字線i+1和位線j+1處。在這種情況下,當讀取字線i+1中的頁時,描述符被編程以指示來自讀取操作的數據包括具有k= I的攻擊者狀態信息。因此在新讀取中的位線m的值應當進入針對位線m-1的倉索引存儲器中。另一攻擊者單元可以在字線i+2和位線j-1處。在這種情況下,當讀取字線i+2中的頁時,描述符被編程以指示來自讀取操作的數據包括具有k = -1的攻擊者狀態信息。在這種情況下,在新讀取中的位線m的值應當進入針對位線m+1的倉索引存儲器中。在獲取所有的軟信息和攻擊者狀態信息之后,LLR模塊118基于獲取的軟信息和攻擊者狀態信息針對每個單元生成LLR。在正常操作期間,當通過讀取模塊110讀取的頁具有歸因于單元間干擾的誤差時,補償模塊120基于頁中的單元的LLR校正誤差。具體而言,LLR模塊118生成以一組表形式的LLR,每個可能的攻擊者狀態一個表。如果需要k比特來存儲攻擊者狀態,則將需要2k個表來存儲LLR。這可以急劇地增加用于存儲LLR所需要的存儲器的數量和用于編程表所需要的時間的數量。然而,如以上參考圖8所說明的,如果存在總共2k個攻擊者狀態,則某些狀態的影響將是類似的,并且一般而言,某些狀態可以被分組成一個狀態。對受害者單元有類似的單元間干擾作用的攻擊者單元的狀態的組被稱為分布。例如,在圖8中,盡管攻擊者單元可以具有總共八個狀態,但僅有三個分布(每個分布包括一組狀態)影 響受害者單元,并且因此將導致三個LLR表代替八個LLR表。因此,表的總數將等于分布的數量而不是狀態的數量。表格提供LLR,其為整數。對于用于受害者單元的倉索引值,以及對于對應于受害者單元的攻擊者單元的攻擊者狀態,表提供LLR值。在圖10中,說明LLR表的概念。僅為舉例,考慮2比特每單元存儲器設備。假設受害者單元定位在字線i和位線j,其由(i,j)指示。進一步假定引起對受害者單元的單元間干擾的兩個攻擊者單元定位在(i,j-1)和(i,j+1)。兩個攻擊者單元可具有總數為16個可能的狀態。依賴于由16個狀態引起的單元間干擾,16個可能的狀態可被分組成三個分布,其中被分組到一個分布中的狀態引起類似的單元間干擾:分布O、分布I和分布2。假設每個2比特每單元的四個狀態由O、1、2或3表示。分布0對應于或代表16個狀態中的如下九個的閾值電壓分布:
、
、
、[1,0]、[1,1]、[1,2]、[2,0]、[2,1]和[2,2]。分布I對應于或代表16個狀態中的如下六個的閾值電壓分布:[3,0]、[3,I]、[3,2]、
、[1,3]和[2,3],其中至少一個攻擊者單元被編程到最高狀態3。分布2對應或代表16個狀態中的如下一個的閾值電壓分布:[3,
3],其中兩個攻擊者單元均被編程到最高狀態3。為了存儲諸如[x,y]的狀態,需要四個比特。然而,對于四個比特,16個不同的表并不是必需的,因為用于引起類似單元間干擾的某些狀態的表將是相同的。例如,用于狀態
和[2,0]的表將是相同的,因為由這些狀態引起的單元間干擾具有相同的閾值電壓分布。因此,映射模塊122將攻擊者狀態映射到分布數。例如,在圖10中示出的示例中,映射模塊122將對應于分布0的九個攻擊者狀態映射到分布數0,將對應于分布I的六個狀態映射到分布數1,以及將對應于分布2的一個狀態到分布數2。
因此,攻擊者狀態信息的四個比特被壓縮成兩個比特,其被要求存儲分布數0、1或2。表的數量被降低到分布數的數量(例如,在圖10中示出的示例中,用于三個分布的三個表代替用于16個狀態的16個表)。LLR模塊118為每個分布數生成一個LLR表格。例如,在圖9B中,分布數從比特6開始被寫入攻擊者狀態存儲器中。因此,在一個示例中,為了存儲八個分布數,僅比特6、比特7和比特8可能是必需的。這將節省存儲器,因為原本是用于存儲更大的攻擊者狀態信息所必須的比特9、比特10和比特11將不是用于存儲更少的分布數所要求的。在圖11中,2比特每單元設備的示例示出了映射之前用于存儲攻擊者狀態信息所要求的存儲器的數量與映射之后用于存儲分布數所要求的存儲器的數量之間的差異。在將攻擊者狀態映射到分布數之前,比特6和比特7包含攻擊者單元(i,j-1)的狀態,并且比特8和比特9包含攻擊者單元(i,j+l)的狀態。在將攻擊者狀態映射到分布數之后,比特6和比特7包含分布數。 在圖12A和圖12B中,映射模塊122可以將映射信息壓縮以在攻擊者狀態存儲器中空出更多比特以支持讀取更多攻擊者單元(例如,在未來設備中)。因為攻擊者狀態的數量可以遠多于分布的數量,所以攻擊者狀態到分布數查找表可以很大。例如,如果攻擊者狀態由9比特確定并且分布的總數是8,則查找表將具有512個條目。而且,如果攻擊者狀態存儲器是僅6比特,則無法支持這個攻擊者模式,除非可以如下壓縮映射信息。可以在多個步驟中執行攻擊者狀態到分布數映射以支持這種情況。在圖12A中,僅為舉例,再次考慮2比特每單元存儲器設備,在其中攻擊者狀態由4比特確定,但僅存在3個分布(這僅是為了例示的目的,在實踐中,攻擊者狀態可以由9比特確定)。現在假設我們僅具有用于攻擊者狀態存儲器的3比特。映射可以在隨后兩個步驟中實現。在第一步驟中,讀取模塊110讀取攻擊者單元(i,j-1)的狀態并且它存儲在比特6和比特7中。這時,從攻擊者狀態到分布數的映射根據圖12A中示出的表執行。分布數現在包含在比特6中。在圖12B中,在步驟2中,讀取模塊110讀取攻擊者單元(i,j+l)并且存儲比特7和比特8中的狀態。從攻擊者狀態到分布數的另一映射使用圖12B中示出的表執行。分布數現在包含在比特6和比特7中。在使用中,例如,由攻擊者單元引起的對受害者單元的單元間干擾被如下消除,其中攻擊者單元的狀態信息被壓縮并且存儲在比特7和6中,而受害者單元的倉索引被存儲在軟信息存儲器中(在圖9B中示出的比特0-5)。從比特7和比特6獲得LLR表(例如,對應于分別由在圖12B中的00、01或10表示的分布數O、I或2的表)。繼而獲得對應于受害者單元的倉索引的LLR表中的LLR條目。LLR被用于消除由攻擊者單元在受害者單元上引起的單元間干擾。對于存儲器設備,可以檢測作為存儲器設備的鮮明特征的單元間干擾模式,并且繼而可以基于所檢測的單元間干擾模式生成LLR表并提供給制造者以用于并入存儲器設備中以用于干擾消除。如下離線(一旦設備被制造之后)執行發現步驟,發現步驟包括檢測攻擊者單元和它們的影響。在圖13中,發現模塊200確定存儲器集成電路202的單元間干擾模式。發現模塊200包括單元選擇模塊204、讀取/寫入數據生成模塊206、攻擊者單元檢測模塊208和干擾模式檢測模塊210。單元選擇模塊204選擇受害者單元,并且選擇附近單元以確定是否任何附近單元為攻擊者單元。讀取/寫入數據生成模塊206在受害者單元和攻擊者單元中寫入所有可能狀態,并且對于寫入到受害者單元和每個攻擊者單元的每個狀態,讀回寫入到受害者單元的數據。基于讀取/寫入操作,攻擊者單元檢測模塊208通過檢測哪些隔壁單元中的哪些狀態引起與受害者單元的單元間干擾來針對每個受害者單元檢測攻擊者單元。基于檢測的攻擊者單元,干擾模式檢測模塊210檢測干擾模式,其是存儲器集成電路202的顯著特性。發現步驟的結果是3元組(a,b,c)的列表,其中a是字線數中的偏移,b是位線數中的偏移,并且c是攻擊者位線中的頁的類型。具有c的原因是在某些設備中單元間干擾不依賴于字線中的某些比特的可能性。例如,MSB(最高有效位)和CSB(中心有效位)可以確定單元間干擾和沒有LSB (最低有效位)。本質上,發現步驟生成向量,其指示對于給定類型的存儲器設備,對于受害者單元(i,j),哪些單元是攻擊者單元。例如,在使用24納米工藝制造的2比特每單元存儲器設備中,受害者單元(i,j)受攻擊者單元(i,j-1)、(i,j+1)和(i+2,j)的影響。每個攻擊者單元有兩個比特。因此,發現步驟的輸出將包括單元間干擾模式,從而指示針對每個受害者單元的攻擊者單元的位置,并且這將如下所示。攻擊者單元(i,j-1)對受害者單元(i,j)的單元間干擾是:(0,-1,0)和(0,-1,I),其中字線偏移a = 0,位線偏移b = -1,并且c = 0和1,因為攻擊者單元的全部兩個比特引起干擾。攻擊者單元(i,j+1)對受害者單元(i,j)的單元間干擾是:(0,1,0)和(0,1,1),其中字線偏移a = 0,位線偏移b= 1,并且C = O和1,因為攻擊者單元(i,j+l)的全部兩個比特引起干擾。攻擊者單元 (i+2, j)對受害者單元(i,j)的單元間干擾是:(2,0,0)和(2,0,1),其中字線偏移a = 2,位線偏移b = 0,并且c = 0和1,因為攻擊者單元(i+2,j)的全部兩個比特引起干擾。例如,在使用27納米工藝制造的3比特每單元存儲器設備中,受害者單元(i,j)受攻擊者單元(i+1,j)的影響。發現步驟的輸出將包括單元間干擾模式,從而指示針對每個受害者單元的攻擊者單元的位置,并且這將如下所示。攻擊者單元(i+1,j)對受害者單元(i,j)的單元間干擾是:(1,0,0)、(1,0,0)和(1,0,2),其中字線偏移&= 1,位線偏移b = 0,并且c = 0、1和2,因為攻擊者單元(i+1,j)的全部三個比特引起干擾。在將來,在假設的3比特每單元存儲器設備中,受害者單元(i,j)可以受攻擊者單元(i+1,j)、(i+l,j-1)和(i+1,j+1)影響。發現步驟的輸出將包括單元間干擾模式,從而指示針對每個受害者單元的攻擊者單元的位置,并且這將如下所示。攻擊者單元(i+1,j)對受害者單元(i,j)的單元間干擾將是:(1,0,0)、(1,0,1)和(1,0,2),其中字線偏移a = 1,位線偏移b = 0,并且C = O、I和2,因為攻擊者單元(i+1,j)的全部三個比特將引起干擾。攻擊者單元(i+1,j-1)對受害者單元(i,j)的單元間干擾將是:(1,-1,0)、(1,_1,I)和(1,-1,2),其中字線偏移a = 1,位線偏移b = -1,并且c = 0、1和2,因為攻擊者單元(i+1,j-1)的全部三個比特將引起干擾。攻擊者單元(i+1, j+1)對受害者單元(i,j)的單元間干擾將是:(1,1,0)、(1,1,I)和(1,1,2),其中字線偏移a = 1,位線偏移b = 1,并且c = 0、1和2,因為攻擊者單元(i+1, j+1)的全部三個比特將引起干擾。可以看到如果發現步驟的輸出是大小k的列表,用于存儲攻擊者狀態信息需要則k比特。如果k> 6,則上面參考圖12A和圖12B說明的多步映射需要用于壓縮攻擊者狀態信息。發現步驟還包含向分布數映射表提供中間攻擊者狀態。發現步驟還提供用于針對不同分布計算LLR所必須的信息。在圖14中,示出了根據本公開內容的用于補償單元間干擾的方法250。在252,控制多次讀取第一頁,生成軟信息并在存儲器比特的第一集合中存儲軟信息。在254,控制讀取臨近于第一頁的第二頁,基于攻擊者單元的組合狀態生成攻擊者狀態信息并在存儲器比特的第二集合中存儲攻擊者狀態信息。在256,控制將攻擊者狀態信息映射到分布數并利用分布數更新存儲在比特的第二集合中的攻擊者狀態信息。在258,控制壓縮攻擊者狀態信息,通過最優化分布數來包括分布數。在260,控制基于軟信息和攻擊者狀態信息生成LLR并且每個分布數生成一個LLR表。在圖15中,使出了根據本公開方式的用于使用單元間干擾消除來解碼數據的方法300。在302,在使用中,控制讀取頁并且生成軟信息。在304,控制確定是否在頁中出現誤差和讀取頁中的單元。在314,如果沒有出現誤差,則控制解碼數據。在306,如果出現誤差,則控制讀取對應于單元的攻擊者單元并生成攻擊者狀態信息。在308,控制定位用于攻擊者狀態的分布數。在310,在用于分布數的LLR表中,控制定位用于對應于單元的軟信息的條目的LLR。在312,控制使用LLR補償干擾。在314,控制解碼頁中的數據。
`
在圖16中,示出了根據本公開內容的用于檢測存儲器集成電路中的攻擊者單元的模式的方法350。在352,控制編程每個單元和其附近單元到不同狀態。在354,對于每個單元,控制檢測引起單元間干擾的附近單元(攻擊者單元)。在356,控制確定用于存儲器集成電路的單元間干擾模式。前述的描述在性質上僅僅是例示性的并且絕不是旨在于限制本公開內容、其應用或使用。本公開內容的廣泛教示可以按照各種形式實現。因此,當本公開內容包括特定示例時,本公開內容的真實范圍不應當被如此限制,因為其它的修改通過研究附圖、說明書和隨后的權利要求書將變得明顯。出于清楚的目的,相同的參考標記將被使用在圖中以表示類似的元件。正如此處使用的,短語A、B和C中的至少一個應該被解釋成意味著使用非排他的邏輯OR邏輯(A或B或C)。應當理解,在未改變本公開內容的原理的情況下,方法中的一個或多個步驟可以按照不同的順序(或同時)執行。在本申請中,包括以下定義,術語模塊可以由術語電路代替。術語模塊可以指代以下各項或作為以下各項的部分或包括以下各項:專用集成電路(ASIC);數字、模擬或混合模擬/數字分立電路;數字、模擬或混合模擬/模擬集成電路;組合邏輯電路;現場可編程門陣列(FPGA);執行代碼的處理器(共享的、專用的或成組的);存儲由處理器執行的代碼的存儲器(共享的、專用的或成組的);提供描述的功能的其它的合適的硬件組件;或以上的部分或全部的組合,諸如在片上系統中。如以上所使用的,術語代碼可以包括軟件、固件和/或微代碼,并且可以指代程序、例程、函數、類和/或對象。術語共享處理器包含執行來自多個模塊的某些或全部代碼的單個處理器。術語成組處理器包含與附加的處理器結合的處理器,執行來自一個或多個模塊的某些或全部代碼。術語共享存儲器包含存儲來自多個模塊的某些或全部代碼的單個存儲器。術語成組存儲器包含與附加的存儲器結合的存儲器,存儲來自一個或多個模塊的某些或全部代碼。術語存儲器可以是術語計算機可讀介質的子集。術語計算機可讀介質并不包含通過介質傳播的暫時的電磁信號和電信號,并且可以因此被認為是有形的和非暫時的。非暫時的有形的計算機可讀介質的非限制性示例包括非易失性存儲器、易失性存儲器、磁存儲器和光學存儲器。在本申請中描述的裝置和方法可以部分地或全部地通過由一個或多個處理器執行的一個或多個計算機程序實現。計算機程序包括存儲在至少一個非暫時的有形的計算機可讀介質上的處理器可執行指 令。計算機程序還可包括和/或依賴于存儲的數據。
權利要求
1.一種系統,包括: 讀取模塊,配置用于 通過沿著存儲器陣列的第一字線讀取存儲器單元生成關于沿著所述存儲器陣列的第一位線和所述第一字線定位的第一存儲器單元的第一信息,所述存儲器單元包括所述第一存儲器單元,其中所述第一信息指示相對于施加給所述第一字線以讀取所述存儲器單元的多個閾值電壓的所述第一存儲器單元的閾值電壓分布的位置,以及 通過讀取第二存儲器單元生成關于所述第二存儲器單元的第二信息,其中所述第二存儲器單元沿著(i)所述第一字線、(ii)臨近于所述第一字線的第二字線或(iii)臨近于所述第一位線的第二位線定位,其中所述第二信息指示引起對所述第一存儲器單元的干擾的所述第二存儲器單元的狀態;以及 補償模塊,配置用于基于(i)所述第一信息和(ii)所述第二信息補償由所述第二存儲器單元的所述狀態引起的所述干擾。
2.如權利要求1所述的系統,其中所述補償模塊被配置用于使用對應于(i)所述第一信息和(ii)對應于引起對所述第一存儲器單元的所述干擾的所述第二存儲器單元的所述狀態的閾值電壓分布的分布數的對數似然比補償所述干擾。
3.如權利要求1所述的系統,進一步包括: 狀態確定模塊,配置用于確定引起對所述第一存儲器單元的干擾的一個或多個存儲器單元的狀態,所述一個或多個存儲器單元包括所述第二存儲器單元, 其中所述一個或多個存儲器單元沿著(i)所述第一字線、(ii)臨近于所述第一字線的所述第二字線或(iii)臨近于所述第一位線的所述第二位線定位,以及 其中所述一個或多個存 儲器單元的位置依賴于編程所述存儲器單元的預定序列。
4.如權利要求3所述的系統,進一步包括: 映射模塊,配置用于將引起類似干擾的一個或多個所述狀態映射到分布數, 其中所述分布數表示引起對所述第一存儲器單元的所述干擾的所述一個或多個所述狀態的閾值電壓分布。
5.如權利要求4所述的系統,進一步包括: 對數似然比模塊,配置用于生成對應于(i)所述第一信息和(ii)所述分布數的對數似然比, 其中所述對數似然比被用于補償對所述第一存儲器單元的所述干擾。
6.一種系統,包括: 選擇模塊,配置用于 選擇沿著存儲器陣列的第一位線和第一字線定位的第一存儲器單元,以及選擇沿著(i)所述第一字線、(ii)臨近于所述第一字線的第二字線或(iii)臨近于所述第一位線的第二位線定位的第二存儲器單元, 其中基于編程所述存儲器單元的預定序列選擇所述第二存儲器單元的位置; 讀寫模塊,配置用于 在所述第一存儲器單元中并且隨后在所述第二存儲器單元中寫入數據,以及 讀取所述第一存儲器單元和所述第二存儲器單元;以及 檢測模塊,配置用于檢測引起對所述第一存儲器單元的干擾的所述第二存儲器單元的一個或多個狀態。
7.如權利要求6所述的系統,進一步包括: 讀取模塊,配置用于 通過沿著所述存儲器陣列的所述第一字線讀取存儲器單元生成關于所述第一存儲器單元的第一信息,所述存儲器單元包括所述第一存儲器單元, 其中所述第一信息指示相對于施加給所述第一字線以讀取所述存儲器單元的多個閾值電壓的所述第一存儲器單元的閾值電壓分布的位置;以及狀態確定模塊,配置用于 確定引起對所述第一存儲器單元的干擾的一個或多個存儲器單元的狀態,所述一個或多個存儲器單元包括所述第二存儲器單元, 其中所述一個或多個存儲器單元沿著(i)所述第一字線、(ii)臨近于所述第一字線的所述第二字線或(iii)臨近于所述第一位線的所述第二位線定位,以及 其中基于編程所述存儲器單元的所述預定序列選擇所述一個或多個存儲器單元的位置。
8.如權利要求7所述的系統,進一步包括: 映射模塊,配置用于將引起類似干擾的一個或多個所述狀態映射到分布數, 其中所述分布數表示引起對所述第一存儲器單元的所述干擾的所述一個或多個所述狀態的閾值電壓分布。
9.如權利要求8所述的系統,進一步包括: 對數似然比模塊,配置用于生成對應于(i)所述第一信息和(ii)所述分布數的對數似然比, 其中所述對數似然比被用于補償對所述第一存儲器單元的所述干擾。
10.一種方法,包括: 通過沿著存儲器陣列的第一字線讀取存儲器單元生成關于沿著所述存儲器陣列的第一位線和所述第一字線定位的第一存儲器單元的第一信息,所述存儲器單元包括所述第一存儲器單元,其中 所述第一信息指示相對于施加給所述第一字線以讀取所述存儲器單元的多個閾值電壓的所述第一存儲器單元的閾值電壓分布的位置; 通過讀取第二存儲器單元生成關于所述第二存儲器單元的第二信息,其中 所述第二存儲器單元沿著(i)所述第一字線、(ii)臨近于所述第一字線的第二字線或(iii)臨近于所述第一位線的第二位線定位,以及 所述第二信息指示引起對所述第一存儲器單元的干擾的所述第二存儲器單元的狀態;以及 基于(i)所述第一信息和(ii)所述第二信息補償由所述第二存儲器單元的所述狀態引起的所述干擾。
11.如權利要求10所述的方法,其中所述補償所述干擾包括使用對應于(i)所述第一信息和(ii)對應于引起對所述第一存儲器單元的所述干擾的所述第二存儲器單元的所述狀態的閾值電壓分布的分布數的對數似然比。
12.如權利要求10所述的方法, 進一步包括:確定引起對所述第一存儲器單元的干擾的一個或多個存儲器單元的狀態,所述一個或多個存儲器單元包括所述第二存儲器單元, 其中所述一個或多個存儲器單元沿著(i)所述第一字線、(ii)臨近于所述第一字線的所述第二字線或(iii)臨近于所述第一位線的所述第二位線定位,以及 其中所述一個或多個存儲器單元的位置依賴于編程所述存儲器單元的預定序列。
13.如權利要求12所述的方法,進一步包括: 將引起類似干擾的一個或多個所述狀態映射到分布數, 其中所述分布數表示引起對所述第一存儲器單元的所述干擾的所述一個或多個所述狀態的閾值電壓分布。
14.如權利要求13所述的方法,進一步包括: 生成對應于(i)所述第一信息和(ii)所述分布數的對數似然比, 其中所述對數似然比被用于補償對所述第一存儲器單元的所述干擾。
15.—種方法,包括: 選擇沿著存儲器陣列的第一位線和第一字線定位的第一存儲器單元,以及選擇沿著(i)所述第一字線、(ii)臨近于所述第一字線的第二字線或(iii)臨近于所述第一位線的第二位線定位的第二存儲器單元,其中基于編程所述存儲器單元的預定序列選擇所述第二存儲器單元的位置; 在所述第一存儲器單元中寫入數據; 隨后在所述第二存儲器單元中寫入數據; 讀取所述第一存儲器單元和所述第二存儲器單元;以及 檢測引起對所述第一存儲器單元的干擾的所述第二存儲器的一個或多個狀態。
16.如權利要求15所述的方法,進一步包括: 通過沿著所述存儲器陣列的所述第一字線讀取存儲器單元生成關于所述第一存儲器單元的第一信息,所述存儲器單元包括所述第一存儲器單元,其中 所述第一信息指示相對于施加給所述第一字線以讀取所述存儲器單元的多個閾值電壓的所述第一存儲器單元的閾值電壓分布的位置;以及 確定引起對所述第一存儲器單元的干擾的一個或多個存儲器單元的狀態,所述一個或多個存儲器單元包括所述第二存儲器單元,其中 所述一個或多個存儲器單元沿著(i)所述第一字線、(ii)臨近于所述第一字線的所述第二字線或(iii)臨近于所述第一位線的所述第二位線定位,以及 基于編程所述存儲器單元的預定序列選擇所述一個或多個存儲器單元的位置。
17.如權利要求16所述的方法,進一步包括: 將引起類似干擾的一個或多個所述狀態映射到分布數, 其中所述分布數表示引起對所述第一存儲器單元的干擾的所述一個或多個所述狀態的閾值電壓分布。
18.如權利要求17所述的方法,進一步包括: 生成對應于(i)所述第一信息和(ii)所述分布數的對數似然比, 其中所述對數似然比被用于補償對所述第一存儲器單元的所述干擾。
全文摘要
本發明各實施方式總體上涉及單元間干擾消除。具體地,涉及一種方法,包括選擇沿著存儲器陣列的第一位線和第一字線定位的第一存儲器單元。該方法進一步包括選擇沿著(i)第一字線、(ii)臨近于第一字線的第二字線或(iii)臨近于第一位線的第二位線定位的第二存儲器單元。基于編程存儲器單元的預定序列選擇第二存儲器單元的位置。該方法進一步包括在第一存儲器單元中寫入數據,隨后在第二存儲器單元中寫入數據和讀取第一存儲器單元和第二存儲器單元。該方法進一步包括檢測引起對第一存儲器單元的干擾的第二存儲器的一個或多個狀態。
文檔編號G11C16/06GK103226974SQ201210599259
公開日2013年7月31日 申請日期2012年12月17日 優先權日2011年12月15日
發明者S·K·奇拉帕加里, 陳振鋼, G·伯德 申請人:馬維爾國際貿易有限公司