專利名稱:每單元多位的閃速存儲器的概率錯誤校正的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字數(shù)據(jù)的錯誤校正,尤其涉及一種每個單元存儲多 位的閃速存儲設(shè)備的錯誤校正的方法。
背景技術(shù):
閃速存儲設(shè)備已經(jīng)存在許多年。典型地,閃速存儲器內(nèi)的每個單 元存儲一位的信息。傳統(tǒng)上,存儲一位的方法是通過支持單元的兩種
狀態(tài)一一種狀態(tài)表示邏輯"O,,而另一種狀態(tài)表示邏輯";l,,。在閃速存儲
器單元中,兩種狀態(tài)通過具有位于單元通道上的浮動?xùn)艠O(連接單元 晶體管的源極和漏極元件的區(qū)域),以及具有存儲在該浮動?xùn)艠O內(nèi)的 電荷量的兩種有效狀態(tài)而實現(xiàn)。典型地, 一種狀態(tài)是在浮動?xùn)艠O中具 有零電荷并且是擦除之后單元的初始未寫入狀態(tài)(通常定義為表示 "l"狀態(tài)),而另一種狀態(tài)是在浮動?xùn)艠O中具有一定量的負電荷(通 常定義為表示"0,,狀態(tài))。在柵極中具有負電荷使得單元晶體管的閾 值電壓(也就是必須施加到晶體管的控制柵極以便使得晶體管傳導(dǎo)的 電壓)增加。現(xiàn)在,通過檢查單元的閾值電壓讀取存儲位是可能的 如果閾值電壓處于較高狀態(tài)則位值為"O",并且如果閾值電壓處于較 低電壓則位值為"l"。實際上,不需要準確地讀取單元的閾值電壓。 需要的是正確地識別單元當前處于兩種狀態(tài)的哪種。為了這個目的, 相對于處于兩種狀態(tài)之間中間的參考電壓值進行比較,從而確定單元 的閾值電壓低于還是高于該參考值是足夠的。
圖1A圖示顯示這如何工作。具體地,圖1A顯示大量單元的閾 值電壓的分布。因為閃速存儲器中的單元在它們的特性和行為方面并 不完全相同(例如因為雜質(zhì)濃度的小偏差或硅結(jié)構(gòu)的缺陷),將相同 的編程操作應(yīng)用于所有單元不會使得所有單元具有完全相同的閾值電 壓。(注意,由于歷史原因,將數(shù)據(jù)寫入閃速存儲器通常稱作"編程"閃速存儲器)。代替地,閾值電壓類似于圖1A中顯示的方式分布。 存儲"l"值的單元典型地具有負的閾值電壓,使得大多數(shù)單元具有與 由圖1A的左峰值顯示的值接近的閾值電壓, 一些較少數(shù)目的單元具 有較低或較高的閾值電壓。類似地,存儲"O,,值的單元典型地具有正 的閾值電壓,使得大多數(shù)單元具有與由圖1A的右峰值顯示的值接近 的閾值電壓, 一些較少數(shù)目的單元具有較低或較高的閾值電壓。
近年來, 一種使用常規(guī)稱作"多級單元,,或縮寫為MLC技術(shù)的新 的閃速存儲器已經(jīng)在市場上出現(xiàn)。(該名稱令人誤解,因為先前類型 的閃存單元也具有多于一級;它們具有兩級,如上所述。因此,兩種 閃存單元在這里稱作"單位單元,,(SBC )和"多位單元" (MBC)。)由MBC閃存帶來的改進在于每個單元中存儲兩位或 多位。為了使得單個單元存儲兩位信息,單元必須能夠處于四種不同 狀態(tài)的一種。因為單元的"狀態(tài)"由它的閾值電壓表示,顯然2位 MBC單元應(yīng)當支持閾值電壓的四種不同有效范圍。圖1B顯示典型 的2位MBC單元的閾值電壓分布。如期望的,圖1B具有四個峰 值,每個對應(yīng)一種狀態(tài)。對于SBC情況,每種狀態(tài)實際上是一個范 圍而不是單個數(shù)值。當讀取單元的內(nèi)容時,必須保證的是正確地識別 單元的閾值電壓所處的范圍。對于MBC閃速存儲器的現(xiàn)有技術(shù)實 例,參看Harari的美國專利5,434,825號。
類似地,為了使得單個單元存儲三位信息,單元必須能夠處于八 種不同狀態(tài)的一種。所以3位MBC單元應(yīng)當支持闊值電壓的八種不 同有效范圍。圖1C顯示典型的3位MBC單元的閾值電壓分布。如 期望的,圖1C具有八個峰值,每個對應(yīng)一種狀態(tài)。圖1D顯示4位 MBC單元的閾值電壓分布,需要由十六種閾值電壓范圍表示的十六 種狀態(tài)。
當經(jīng)由四種狀態(tài)編碼MBC單元中的兩位時,使得圖1B中的最 左側(cè)狀態(tài)(典型地具有負的閾值電壓)表示兩位都具有"l,,值的情 況。(在下面的討論中,使用下面的表示——單元的兩位稱作"低位" 和"高位"。位的確切值寫作"高位""低位"I的形式,低位值在右側(cè)。所以低位為"0,,且高位為"1"的情況寫作"10"。必須理解,該術(shù)語和表
示法的選擇是任意的,并且其他名稱和編碼是可能的)。使用這種表 示法,最左側(cè)狀態(tài)表示"ll,,的情況。其他三種狀態(tài)典型地從左到右由
下面的次序指定"10", "00", "01"。在Chen的美國專利6,522,580 號中可以看到使用該編碼的MBC NAND閃速存儲器的實現(xiàn)實例,在 此以提及方式引用該專利,如同將其完全在這里陳述。特別地參考 Chen專利的圖8。 Tanaka的美國專利6,643,188號也顯示MBC NAND閃速存儲器的類似實現(xiàn),但是參看那里的圖7,對于狀態(tài)到位 的編碼的不同指定"11", "10", "01", "00"。 Chen編碼是圖IB 中說明的編碼。
我們將上面的術(shù)語和表示法擴展到每個單元多于兩位的情況,如 下。最左側(cè)未寫入狀態(tài)表示"全一,,("1…1"),串"1…10"表示單元 的僅最低位寫為"O"的情況,并且串"01…1"表示單元的僅最高位寫為 "O"的情況。
當讀取MBC單元的內(nèi)容時,必須正確地識別單元的閾值電壓所 處的范圍;僅在該情況下,這不能總是通過與僅一個參考電壓比較而 實現(xiàn)。代替地,幾次比較可能是必需的。例如,在圖1B中說明的情 況下,為了讀取低位,單元的閾值電壓首先與參考比較電壓K比 較,然后取決于比較的結(jié)果,與零參考比較電壓或參考比較電壓F2 比較。作為選擇,通過將閾值電壓與零參考電壓和參考比較電壓K2 無條件比較來讀取低位,再次需要兩次比較。對于每個單元多于兩 位,甚至可能需要更多的比較。
單個MBC單元的位可能都屬于相同的閃存頁,或者它們可能指 定到不同頁,使得例如在4位單元中,最低位在頁O中,下一位在頁 l中,下一位在頁2中,并且最高位在頁3中。(頁是可以在閃速存 儲器中單獨寫入的數(shù)據(jù)的最小部分)。
Lasser的美國專利申請序列號11/035,807涉及每個單元存儲多 位的閃速存儲器單元中編碼位的方法。Lasser的美國專利申請序列 號11/061,634和Murin的美國專利申請序列號11/078,478涉及關(guān)于跨越多位閃存單元的不同邏輯頁的錯誤分布問題的位編碼的那些方法
的實現(xiàn)。具體地,Lasser'634講授一種使用位編碼的邏輯到物理映射 實現(xiàn)甚至跨越不同邏輯頁的錯誤分布的方法,如由數(shù)據(jù)的用戶看到的 以及由糾錯碼(ECC)電路系統(tǒng)處理的;并且Murin講授一種使用 物理位頁之間邏輯頁的插入實現(xiàn)甚至跨越不同邏輯頁的錯誤分布的方 法,如由數(shù)據(jù)的用戶看到的以及由ECC電路系統(tǒng)處理的。這三個現(xiàn) 有技術(shù)專利申請全部在此以提及方式引用,如同將其完全在這里陳 述。
Lasser'634和Murin滿足相同的目標減少ECC電路系統(tǒng)應(yīng)當 為此i爻計的出錯率。在兩個申請中呈現(xiàn)的實例中, 一組15,000個4 位MBC閃速存儲器單元用于存儲4個邏輯頁的數(shù)據(jù),每個15,000 位。假定的單元出錯率是l,OOO中1個。作為結(jié)果的位錯誤的最佳數(shù) 目是15,因此邏輯頁中的最佳平均位錯誤是3.75。該實例顯示除非 使用提出的創(chuàng)新,具體的邏輯頁可能以高得多的位出錯率結(jié)束——所 示實例中6個位錯誤。這意味著即使遍及存儲在單元中的所有位的位 錯誤的總體平均值相對低(60,000中15個或4,000中1個),除非 采取特殊措施,涉及校正邏輯頁中錯誤的ECC電路系統(tǒng)必須設(shè)計為 處理相對高的平均位出錯率(在該實例中——15,000中6個或2,500 中l(wèi)個)。
由本申請的發(fā)明者提交的、標題為"MBC閃速存儲器中錯誤校正 的方法,,的最近美國專利申請(在這里稱"Litsyn等人")公開相同目 標的不同方法。在此以提及方式引用該申請,如同將其完全在這里陳 述。代替單獨為了錯誤校正的目的處理每個邏輯頁,Litsyn等人同時 處理共享相同組單元的所有邏輯頁,作為一個ECC代碼字處理所有
那些多個邏輯頁的所有位。這使得ECC電路系統(tǒng)必須處理的平均位 出錯率更低——在上面的實例中僅4,000中l(wèi)個。
在大多數(shù)ECC實現(xiàn)中,所有位被相同處理,并且沒有位被i/w為 比平均更可靠或更不可靠。但是,如從上面明顯的,當從一組MBC 閃速存儲器單元中讀取多個邏輯頁時,存儲在不同位頁中的位具有不同的錯誤概率。上面討論的用于平均錯誤分布的現(xiàn)有技術(shù)方法的一些
(Lasser'634, Murin )在使得所有邏輯頁平均起來具有相同數(shù)目的 位錯誤方面是成功的,但是不同的各個位仍然具有不同的可靠性。
關(guān)于待錯誤校正的代碼字中各個位的位出錯率的信息對于錯誤校 正模塊非常有用。我們將使用非常簡化的實例說明這一點。假設(shè)一組 四位通過奇偶位防止單個錯誤,使得如果檢測到錯誤,ECC選擇位 中的一位翻轉(zhuǎn)并且提供這個作為校正結(jié)果。如果代碼字中全部五位
(四個數(shù)據(jù)位和一個奇偶位)同等可能地出錯,那么關(guān)于檢測到錯誤 時翻轉(zhuǎn)哪位的決定僅可以隨機地進行。這導(dǎo)致僅20%的正確決定。 但是如果已知位中的一位比代碼字中其他四位的任何一個不可靠六 倍,那么檢測到錯誤時選擇該位翻轉(zhuǎn)導(dǎo)致60%的正確決定。雖然該 實例極度簡化并且在真實世界的ECC實現(xiàn)中計算和決定的方法復(fù)雜 得多,但是它確實適合于說明各個位的可靠性數(shù)據(jù)對于提高錯誤校正 方案性能的有用性的目的。
存在額外的可靠性信息影響ECC電路系統(tǒng)處理不同位的方法的 現(xiàn)有技術(shù)系統(tǒng)。參看例如Ban等人于2OO4年6月16日提交且標題 為"增加閃速存儲器可靠性的方法,,的美國專利申請10/867,645。在 Ban等人中,使用比將單元狀態(tài)分離成它的可能值所需的更高分辨率 讀取存儲在閃存單元中的數(shù)據(jù)。例如,如果單元被寫入16種狀態(tài)的 一種(也就是單元存儲4位),那么讀取單元,好像它具有5位一 樣。這被Ban等人稱作使用"分式級",但是其他使用不同的術(shù)語例 如"軟位"。其他也使用多于一位的額外讀取來提供甚至更高的分辨 率。該高分辨率讀取提供的額外位被ECC模塊用于估計其他"真實" 數(shù)據(jù)位的可靠性,因為同將它的狀態(tài)(好像它被實際讀取一樣)與鄰 近狀態(tài)分離的邊界相比較,它們提供關(guān)于單元額外狀態(tài)的證據(jù)。位于 邊界附近的單元比位于范圍中間和遠離邊界的單元更可能出錯。也存 在利用該方法的現(xiàn)有技術(shù)通信系統(tǒng),其中有時許多額外的高分辨率位 用于提高信道的錯誤校正性能。
在所有這些現(xiàn)有技術(shù)系統(tǒng)中,額外的可靠性信息是除了僅僅存儲
15位自身固有的信息之外的信息。如果ECC可以僅基于存儲位自身固 有的信息,則這種ECC可以簡化。例如,可以實現(xiàn)基于額外可靠性 信息的ECC,而不需要以比讀取存儲在單元中的位所需的更高分辨 率讀取MBC閃速存儲器的單元。
發(fā)明內(nèi)容
本發(fā)明的范圍包括基于僅存儲數(shù)據(jù)固有的額外可靠性信息讀取存 儲在MBC存儲器中的數(shù)據(jù)的三種方法,具有錯誤校正。在第一方法 中,額外可靠性信息是讀取位的可靠性的顯式先驗估計。在第二方法 中,額外信息是讀取位的可靠性的隱式先驗估計。在第三方法中,讀 取位的至少一些的可靠性從讀取位的值推斷。
本發(fā)明的ECC可以是系統(tǒng)或非系統(tǒng)的。在系統(tǒng)ECC中,錯誤 校正獲得原始數(shù)據(jù)位,對它們附加一些奇偶位,并且存儲原始數(shù)據(jù)位 和奇偶位。因此,原始數(shù)據(jù)位由編碼過程保存并且可以在存儲位中識 別;隨后,當讀取存儲位時,數(shù)據(jù)位和奇偶位都被讀取,并且奇偶位 能夠校正讀取的數(shù)據(jù)位中的錯誤。在非系統(tǒng)ECC中,不保存且不存 儲原始數(shù)據(jù)位。代替地,編碼過程將原始數(shù)據(jù)位轉(zhuǎn)換成更大的一組位 (在這里稱作"受保護位,,),這是實際存儲的位。當讀取存儲位時, 從存儲位中再生原始位。在具體的原始數(shù)據(jù)位與具體的存儲位之間不 存在直接對應(yīng)。
根據(jù)本發(fā)明,提供一種讀取存儲在包括多個多位單元的存儲器中 的多個數(shù)據(jù)位的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位, 然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn),各 自的多個存儲位存儲在單元的每個中,該方法包括步驟(a)讀取
單元,從而對于每個單元,獲得各自的多個讀取位;以及(b)根據(jù) 與奇偶位相對應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位,其中校正根 據(jù)讀取位中至少兩位出錯的各自概率的先驗估計而實現(xiàn),其中至少一 個估計不同于至少另 一個估計。
根據(jù)本發(fā)明,提供一種計算機可讀存儲介質(zhì),具有包含在計算機 可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,通過計算與數(shù)據(jù)位相 對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器 的單元中來存儲數(shù)據(jù)位,各自的多個存儲位存儲在單元的每個中,該
計算機可讀代碼包括(a)用于讀取單元,從而對于每個單元,獲 得各自的多個讀取位的程序代碼;以及(b)用于根據(jù)與奇偶位相對 應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位的程序代碼,其中校正根據(jù) 讀取位中至少兩位出錯的各自概率的先驗估計而實現(xiàn),其中至少一個 估計不同于至少另 一 個估計。
根據(jù)本發(fā)明,提供一種讀取存儲在包括多個多位單元的存儲器中 的多個數(shù)據(jù)位的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護 位,然后將受保護位存儲在存儲器的單元中而實現(xiàn),各自的多個受保 護位存儲在單元的每個中,該方法包括步驟(a)讀取單元,從而 對于每個單元,獲得各自的多個讀取的受保護位;以及(b)從讀取 的受保護位中恢復(fù)數(shù)據(jù)位,其中恢復(fù)根據(jù)讀取的受保護位中至少兩位 出錯的各自概率的先驗估計而實現(xiàn),其中至少一個估計不同于至少另 一個估計。
根據(jù)本發(fā)明,提供一種計算機可讀存儲介質(zhì),具有包含在計算機 可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多 個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,通過計算與數(shù)據(jù)位相 對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存儲 數(shù)據(jù)位,各自的多個受保護位存儲在單元的每個中,該計算機可讀代 碼包括(a)用于讀取單元,從而對于每個單元,獲得各自的多個 讀取位的程序代碼;以及(b)用于從讀取的受保護位中恢復(fù)數(shù)據(jù)位 的程序代碼,其中恢復(fù)根據(jù)讀取的受保護位中至少兩位出錯的各自概 率的先驗估計而實現(xiàn),其中至少一個估計不同于至少另一個估計。
根據(jù)本發(fā)明,提供一種讀取存儲在包括多個多位單元的存儲器中 的多個數(shù)據(jù)位的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位, 然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn),各 自的多個存儲位存儲在單元的每個中,該方法包括步驟(a)讀取
17單元,從而對于每個單元,獲得各自的多個讀取位;以及(b)根據(jù) 與奇偶位相對應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位,其中校正根 據(jù)讀取位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于讀取位的 至少一個方面,該至少一個方面包括選自讀取位的各自有效性和讀取 位的各自位頁的方面,其中至少一個概率不同于至少另一個概率。
根據(jù)本發(fā)明,提供一種計算機可讀存儲介質(zhì),具有包含在計算機 可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多 個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,通過計算與數(shù)據(jù)位相 對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器 的單元中來存儲數(shù)據(jù)位,各自的多個存儲位存儲在單元的每個中,該 計算機可讀代碼包括(a)用于讀取單元,從而對于每個單元,獲 得各自的多個讀取位的程序代碼;以及(b)用于根據(jù)與奇偶位相對 應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位的程序代碼,其中校正根據(jù) 讀取位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于讀取位的至 少一個方面,該至少一個方面包括選自讀取位的各自有效性和讀取位 的各自位頁的方面,其中至少一個概率不同于至少另一個概率。
根據(jù)本發(fā)明,提供一種讀取存儲在包括多個多位單元的存儲器中 的多個數(shù)據(jù)位的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護 位,然后將受保護位存儲在存儲器的單元中而實現(xiàn),各自的多個受保 護位存儲在單元的每個中,該方法包括步驟(a)讀取單元,從而 對于每個單元,獲得各自的多個讀取的受保護位;以及(b)從讀取 的受保護位中恢復(fù)數(shù)據(jù)位,其中恢復(fù)根據(jù)讀取的受保護位中至少兩位 出錯的各自概率而實現(xiàn),該概率僅基于讀取的受保護位的至少一個方 面,該至少一個方面包括選自讀取的受保護位的各自有效性和讀取的 受保護位的各自位頁的方面,其中至少一個概率不同于至少另一個概 率。
根據(jù)本發(fā)明,提供一種計算機可讀存儲介質(zhì),具有包含在計算機 可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多 個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存儲 數(shù)據(jù)位,各自的多個受保護位存儲在單元的每個中,該計算機可讀代
碼包括(a)用于讀取單元,從而對于每個單元,獲得各自的多個 讀取位的程序代碼;以及(b)用于從讀取的受保護位中恢復(fù)數(shù)據(jù)位 的程序代碼,其中恢復(fù)根據(jù)讀取的受保護位中至少兩位出錯的各自概 率而實現(xiàn),該概率僅基于讀取的受保護位的至少一個方面,該至少一 個方面包括選自讀取的受保護位的各自有效性和讀取的受保護位的各 自位頁的方面,其中至少一個概率不同于至少另一個概率。
根據(jù)本發(fā)明,提供一種讀取存儲在包括多個多位單元的存儲器中 的多個數(shù)據(jù)位的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位, 然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn),各 自的多個存儲位存儲在單元的每個中,該方法包括步驟(a)讀取 單元,從而對于每個單元,獲得各自的多個讀取位;以及(b)根據(jù) 與奇偶位相對應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位,其中校正根 據(jù)讀取位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于讀取位的 各個值,其中至少一個概率不同于至少另一個概率。
根據(jù)本發(fā)明,提供一種計算機可讀存儲介質(zhì),具有包含在計算機 可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多 個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,通過計算與數(shù)據(jù)位相 對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器 的單元中來存儲數(shù)據(jù)位,各自的多個存儲位存儲在單元的每個中,該 計算機可讀代碼包括(a)用于讀取單元,從而對于每個單元,獲 得各自的多個讀取位的程序代碼;以及(b)用于根據(jù)與奇偶位相對 應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位的程序代碼,其中校正根據(jù) 讀取位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于讀取位的各 個值,其中至少一個概率不同于至少另一個概率。
根據(jù)本發(fā)明,提供一種讀取存儲在包括多個多位單元的存儲器中 的多個數(shù)據(jù)位的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護 位,然后將受保護位存儲在存儲器的單元中而實現(xiàn),各自的多個受保護位存儲在單元的每個中,該方法包括步驟(a)讀取單元,從而 對于每個單元,獲得各自的多個讀取的受保護位;以及(b)從讀取 的受保護位中恢復(fù)數(shù)據(jù)位,其中恢復(fù)根據(jù)讀取的受保護位中至少兩位 出錯的各自概率而實現(xiàn),該概率僅基于讀取的受保護位的各個值,其 中至少一個概率不同于至少另一個概率。
根據(jù)本發(fā)明,提供一種計算機可讀存儲介質(zhì),具有包含在計算機 可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多 個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,通過計算與數(shù)據(jù)位相 對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存儲 數(shù)據(jù)位,各自的多個受保護位存儲在單元的每個中,該計算機可讀代 碼包括(a)用于讀取單元,從而對于每個單元,獲得各自的多個 讀取的受保護位的程序代碼;以及(b)用于從讀取的受保護位中恢 復(fù)數(shù)據(jù)位的程序代碼,其中恢復(fù)根據(jù)讀取的受保護位中至少兩位出錯 的各自概率而實現(xiàn),該概率僅基于讀取的受保護位的各個值,其中至
少一個概率不同于至少另一個概率。
本發(fā)明的方法的第一實施方案針對校正存儲在使用系統(tǒng)ECC的 MBC存儲器中的數(shù)據(jù)。本發(fā)明的方法的第二實施方案針對校正存儲 在使用非系統(tǒng)ECC的MBC存儲器中的數(shù)據(jù)。在兩種方法的兩種實 施方案中,第一步驟是讀取存儲位,從而對于相關(guān)位存儲于其中的每 個單元,獲得各自的多個"讀取,,位。因為讀取單元時的錯誤,單元的 "讀取,,位可能與單元中存儲的位不完全相同。準確地說,ECC打算 解決的正是讀取位與存儲位之間的可能差異。
在本發(fā)明的第一方法的第一實施方案中,根據(jù)與奇偶位相對應(yīng)的 讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位。該校正考慮讀取位中兩位或多 位出錯的概率的先驗估計,并且不是所有估計都是相等的。
在本發(fā)明的第一方法的第二實施方案中,從讀取的受保護位中恢 復(fù)數(shù)據(jù)位。該恢復(fù)考慮讀取位中兩位或多位出錯的概率的先驗估計, 并且不是所有估計都是相等的。
在本發(fā)明的第二方法的第一實施方案中,根據(jù)與奇偶位相對應(yīng)的讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位。該校正考慮讀取位中兩位或多 位出錯的概率,該概率僅基于讀取位的至少一個方面,并且不是所有 概率都是相等的。用來估計這些概率的讀取位的方面必須包括讀取位 的有效性或讀取位的位頁或者二者。
在本發(fā)明的第二方法的第二實施方案中,從讀取的受保護位中恢 復(fù)數(shù)據(jù)位。該恢復(fù)考慮讀取的受保護位中兩位或多位出錯的概率,該 概率僅基于讀取的受保護位的至少一個方面,并且不是所有概率都是 相等的。用來估計這些概率的讀取的受保護位的方面必須包括讀取位 的有效性或讀取位的位頁或者二者。
在本發(fā)明的第三方法的第一實施方案中,根據(jù)與奇偶位相對應(yīng)的 讀取位校正與數(shù)據(jù)位相對應(yīng)的讀取位。該校正考慮讀取位中兩位或多
位出錯的概率,該概率僅基于讀取位的值,并且不是所有概率都是相 等的。
在本發(fā)明的第三方法的第二實施方案中,從讀取的受保護位中恢 復(fù)數(shù)據(jù)位。該恢復(fù)考慮讀取的受保護位中兩位或多位出錯的概率,該 概率僅基于讀取的受保護位的值,并且不是所有概率都是相等的。
優(yōu)選地,在本發(fā)明的第一方法中,先驗估計的至少兩個用于單元 中共同一個的讀取位,或者讀取的受保護位。作為選擇,先驗估計的
至少兩個用于不同單元的讀取位,或者讀取的受保護位。
優(yōu)選地,在本發(fā)明的第一方法中,先驗概率取決于相關(guān)位的有效
性。存儲在MBC單元中的位的"有效性"是存儲在MBC單元中的二 進制數(shù)中位的位置。例如,存儲四位的MBC單元存儲0-15之間的 二進制數(shù),其具有四位最低有效位、次低有效位、次高有效位和最 高有效位。作為選擇,先驗概率取決于相關(guān)位的位頁。在MBC閃速 存儲器中,具有共同有效性的所有位分組在相同的邏輯位頁中是一般 慣例,在該情況下,先驗概率的這兩個依賴性是等價的。
本發(fā)明的范圍也包括使用本發(fā)明的方法中的 一種恢復(fù)存儲在存儲 器中的數(shù)據(jù)的MBC存儲器的控制器,包括本發(fā)明的MBC存儲器和 控制器的存儲設(shè)備,以及具有嵌入于其上的用于根據(jù)本發(fā)明的方法中的一種管理存儲器的計算機可讀代碼的計算機可讀存儲介質(zhì)。
在這里參考附隨附圖僅作為實例描述本發(fā)明,其中 圖1A-1D顯示一位閃存單元、兩位閃存單元、三位閃存單元和 四位閃速單元中的閾值電壓分布;
圖2是本發(fā)明的閃速存儲設(shè)備的高級框圖;以及
圖3是本發(fā)明的數(shù)據(jù)存儲系統(tǒng)的高級部分框圖。
具體實施例方式
本發(fā)明是一種每個單元存儲多位的存儲器的錯誤校正方法,其利 用存儲在每個單元中的各個位出錯的概率的知識。
可以參考附圖和附隨描述更好地理解根據(jù)本發(fā)明的錯誤校正的原 理和操作。
本發(fā)明的第一兩種方法是利用從各個位存儲于設(shè)備單元內(nèi)的位置 導(dǎo)出的可靠性信息(例如,在每個單元的位屬于不同頁的MBC閃速 存儲設(shè)備的情況下,各個位存儲在哪些位頁中),校正從MBC閃速
存儲設(shè)備中讀取的數(shù)據(jù)中的錯誤的改進方法。本發(fā)明的第三方法是利 用從共享共同單元的不同位之間的相關(guān)性導(dǎo)出的可靠性信息,校正從
MBC閃速存儲設(shè)備中讀取的數(shù)據(jù)中的錯誤的改進方法。提出的方法 可適用于在校正過程中使用的ECC代碼字包含位于共享單元中的多 個位的情況。這通常是Litsyn等人的方法用于校正從MBC閃存設(shè)備 中讀取的數(shù)據(jù)中的錯誤時的情況。
在本發(fā)明的第一兩種方法中,利用每個位的物理存儲位置已知, 因此它的期望出錯率也已知的事實(注意術(shù)語"位的出錯率"和"位的 可靠率"在這里用作相同特征的兩個相對方面,因此可互換地用于指 相同的特性)。因此,ECC模塊通過為每個位指定錯誤的初始先驗 概率,用作ECC計算和決定的初始點來利用該信息。本發(fā)明并不局 限于任何具體的ECC方案或算法——存在許多現(xiàn)有領(lǐng)域中已知的可 以利用這種初始開始點并根據(jù)成功概率、收斂時間或成功的其他因素 而提供更好的錯誤校正的ECC算法。特別地,本發(fā)明的第一兩種方法打算與"軟,,解碼算法一起使用。
這種算法在例如George C. Clark, Jr.和J. Bibb Cain,炎字遞^T^ 錯誤戎jE薦竭(Springer, 1981) , S. Lin和D.J. Costello,錯諒控 差^Mk^V^ (Prentice-Hall, 1983)以及Branka Vucetic和 JinhongY薩,r^"七碼..肩理和^(Kluwer, 2000)中描述。 雖然這些參考文獻針對軟ECC算法在通信中的使用,如何將這些算 法適用于每個單元存儲多位的存儲器中的錯誤校正對于本領(lǐng)域技術(shù)人 員是顯然的。
這些方法不同于額外信息通過以更高分辨率讀取單元而獲得的上 述現(xiàn)有技術(shù)方法。在本發(fā)明中,不同的可靠性值在讀取數(shù)據(jù)之前確定 并且不依賴于讀取數(shù)據(jù)的實際值。這不是上面現(xiàn)有技術(shù)方法的情況。 換句話說,本發(fā)明能夠?qū)㈠e誤的先驗概率用于各個位位置,即使這種 概率不能從實際數(shù)據(jù)中獲得,而現(xiàn)有技術(shù)系統(tǒng)依賴于從實際數(shù)據(jù)中提 取這種概率的能力。本發(fā)明利用可以例如由閃存的供應(yīng)商提供的概 率。這種先驗概率的一個優(yōu)點在于本發(fā)明比現(xiàn)有技術(shù)方法實現(xiàn)起來更 簡單。不像那些方法,本發(fā)明不需要提取和操作存儲位上面的附加 位。
例如,考慮在Lasser'634和在Murin中討論的每個單元存儲四 位的位次序{15, 14, 12, 13, 9, 8, 10, 11, 3, 2, 0, 4, 6, 7, 5, 1)。(這是圖1D中說明的位次序)。如在那些專利申請中顯示 的,最低位是最高位出錯概率的六倍,次低位是最高位出錯概率的五 倍,并且次高位是最高位出錯概率的三倍。在用來存儲數(shù)據(jù)的四個邏 輯頁的一組15,000個每個單元存儲四位的MBC單元中,假定的單元 出錯率是、0oo中1個,每個單元的最低位具有6/15,000=2/5,000的 先驗錯誤概率,每個單元的次低位具有5/15,000=1/3,000的先驗錯誤 概率,每個單元的次高位具有3/15,000=1/5,000的先驗錯誤概率,以 及每個單元的最高位具有1/15,000的先驗錯誤概率。
在該實例中,位的先驗錯誤概率僅是位的有效性的函數(shù)。相同位 頁中的所有位具有相同的先驗錯誤概率。 一般地說,位頁的一些位具
23有與相同位頁的其他位不同的先驗錯誤概率是可能的。
在本發(fā)明的第三方法中,利用除了從MBC單元的物理頁位中位 的位置獲得的可靠性信息之外,存在可以由ECC模塊利用的另一個 信息源的事實。與ECC代碼字的每個位來自不同單元,其中不同位 的錯誤之間沒有相關(guān)性的情況相反,在代碼字中存在來自相同單元的 多個位的情況下(如Litsyn等人的方法中的情況),我們可以從一 位的值中推導(dǎo)相同單元中其他位的值。因為不是閃存單元中所有錯誤 狀態(tài)轉(zhuǎn)換同等地可能,推導(dǎo)可以從一位進行到另一位。
例如考慮每個單元存儲四位的位次序{15, 14, 12, 13, 9, 8, 10, 11, 3, 2, 0, 4, 6, 7, 5, 1}。假設(shè)單元的解碼從最高有效位 到最低有效位順序地執(zhí)行。假設(shè)單元的三個最高有效位已經(jīng)讀作 "100"并且已經(jīng)由ECC算法校正為"101,,。這可以僅移動一個閾值電 壓范圍而發(fā)生的唯一方法是如果單元寫作10 (二進制1010)并且讀 作8 ( 二進制1000 )。備選方案是
單元寫作10 (二進制1010)并且讀作9 (二進制1001),兩個 閾值電壓范圍的移動。
單元寫作11 (二進制1011)并且讀作8 (二進制1000),兩個 閾值電壓范圍的移動。
單元寫作11 (二進制1011)并且讀作9 (二進制1001),三個 閾值電壓范圍的移動。
這暗示著最低有效位為"0,,的奇數(shù)比最低有效位為"1"的奇數(shù)高得多。
該方法也不同于額外信息通過以更高分辨率讀取單元而獲得的上 述現(xiàn)有技術(shù)方法。在本發(fā)明中,輸入到ECC模塊中的唯一位是數(shù)據(jù) 位和它們相應(yīng)的奇偶位。沒有其他數(shù)據(jù)相關(guān)的輸入(與預(yù)先確定的非 數(shù)據(jù)相關(guān)的輸入對比)提供到ECC模塊,用于執(zhí)行它的校正過程。 這不是上面現(xiàn)有技術(shù)方法的情況,其中較高精度的額外位從單元中產(chǎn) 生并且作為輔助輸入提供到ECC模塊。
本發(fā)明的范圍也包括代碼字中的僅一些位而不是全部位被指定不同于平均值的初始概率的更一般情況。它也包括共享單元的位之間的 相關(guān)效應(yīng)僅對于一些單元而不是全部單元考慮的更一般情況。
至此,已經(jīng)在"系統(tǒng)的,,錯誤校正方案的背景環(huán)境中呈現(xiàn)本發(fā)明。 如上所述,在系統(tǒng)的錯誤校正編碼中,原始數(shù)據(jù)位由編碼過程保存并 且可以在存儲位中識別。換句話說,錯誤校正機制獲得原始數(shù)據(jù)位, 對它們增加一些奇偶位,并且存儲數(shù)據(jù)位和奇偶位。隨后,當讀取存 儲位時,數(shù)據(jù)位和奇偶位都被讀取,并且奇偶位能夠校正讀取的數(shù)據(jù) 位中的錯誤,從而產(chǎn)生原始數(shù)據(jù)位。
但是,本發(fā)明同等地適用于非系統(tǒng)的錯誤校正代碼。如上所迷, 在這種代碼中,不保存且不存儲原始數(shù)據(jù)位。代替地,編碼過程將原 始數(shù)據(jù)位轉(zhuǎn)換成更大的一組位,這是實際存儲的位。當讀取存儲的保 護數(shù)據(jù)位時,再生原始數(shù)據(jù)位,即使在保護數(shù)據(jù)位中存在錯誤。非系
i接對應(yīng)。原始數(shù)據(jù)位"分散,,:J個存::中,并且僅;些多;存儲 位的組合告知原始位的值。
本發(fā)明的范圍包括如上所述從MBC閃速存儲設(shè)備中讀取數(shù)據(jù)位 的方法。本發(fā)明的范圍也包括根據(jù)上面的方法從MBC閃速存儲單元 的陣列中讀取的閃速存儲控制器。本發(fā)明的范圍也包括將MBC閃速
存儲單元的陣列與根據(jù)上面的方法從陣列讀取的閃速存儲控制器結(jié)合 的閃速存儲設(shè)備。
再次參考附圖,圖2是連接到主機30、本發(fā)明的閃速存儲i殳備 20的高級框圖。圖2從Ban的美國專利5,404,485號的圖1改編,在 此以提及方式引用該專利,如同將其完全在這里陳述。閃速存儲設(shè)備 20包括閃速存儲器24、控制器22和隨機存取存儲器(RAM) 26。 對應(yīng)于US 5,404,485的"閃存控制14"的控制器22在RAM 26的幫助 下管理閃速存儲器24,如US 5,404,485中描述的。閃速存儲器24編 碼數(shù)據(jù),閃速存儲器24的每個單元兩位或多位,如US 6,522,580或 US 6,643,188中描述的。當讀取數(shù)據(jù)時,控制器22如上所述應(yīng)用錯 誤校正。圖3是本發(fā)明的備選數(shù)據(jù)存儲系統(tǒng)50的高級部分框圖。數(shù)據(jù)存 儲系統(tǒng)50包括處理器52和四個存儲設(shè)備RAM 54,引導(dǎo)ROM 56,海量存儲設(shè)備(硬盤)58和閃速存儲設(shè)備40,所有都經(jīng)由公共 總線60通信。像閃速存儲設(shè)備20 —樣,閃速存儲設(shè)備40包括閃速 存儲器42。不像閃速存儲設(shè)備20,閃速存儲設(shè)備40缺少自己的控制 器和RAM。代替地,處理器52通過以例如Kfar Saba, Israel的M 系統(tǒng)閃速磁盤先鋒公司的TrueFFSTM驅(qū)動程序的方式執(zhí)行實現(xiàn)US 5,404,485的方法的軟件驅(qū)動程序來模擬控制器22。閃速存儲器42編 碼數(shù)據(jù),閃速存儲器42的每個單元兩位或多位,如US 6,522,580或 US 6,643,188中描述的。當讀取數(shù)據(jù)時,處理器52如上所述應(yīng)用錯 誤校正。閃速存儲設(shè)備40也包括總線接口 44以使得處理器52能夠 與閃速存儲器42通信。
處理器52執(zhí)行以管理閃速存儲器42的軟件驅(qū)動程序的代碼存儲 在海量存儲設(shè)備58中并且傳送到RAM 54中用于執(zhí)行。因此,海量 存儲設(shè)備58是根據(jù)本發(fā)明的原理用于管理閃速存儲器42的計算機可 讀代碼嵌入于其中的計算機可讀代碼存儲介質(zhì)的實例。
雖然已經(jīng)關(guān)于有限數(shù)目的實施方案描述了本發(fā)明,應(yīng)當理解可以 進行本發(fā)明的許多變化、修改和其他應(yīng)用。
權(quán)利要求
1.一種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù)位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn)的,各自的多個存儲位存儲在單元的每個中,該方法包括步驟(a)讀取單元,從而對于每個單元,獲得各自的多個讀取位;以及(b)根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對應(yīng)的所述讀取位,其中所述校正至少部分地根據(jù)所述讀取位中至少兩位出錯的各自概率的先驗估計而實現(xiàn),其中至少一個所述估計不同于至少另一個所述估計。
2. 根據(jù)權(quán)利要求1的方法,其中所述先驗估計中的至少兩個用 于單元中共同一個的所述讀取位。
3. 根據(jù)權(quán)利要求1的方法,其中所述先驗估計中的至少兩個用 于不同單元的所述讀取位。
4. 根據(jù)權(quán)利要求1的方法,其中所述先驗概率取決于所述讀取 位的各自有效性。
5. 根據(jù)權(quán)利要求1的方法,其中所述先驗概率取決于所述讀取 位的各自位頁。
6. —種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán)利 要求1的方法讀取存儲在存儲器中的數(shù)據(jù)。
7. —種存儲設(shè)備,包括(a) 包括多個多位單元的存儲器;以及(b) 根據(jù)權(quán)利要求6用于控制所述存儲器的控制器。
8. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介質(zhì) 上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元并 且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位相 對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中來存儲的,各自的多個存儲位存儲在單元的每個中,該計算機可讀代碼包括(a)用于讀取單元,從而對于每個單元,獲得各自的多個讀取 位的程序代碼;以及(b )用于根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對 應(yīng)的所述讀取位的程序代碼,其中所述校正至少部分地根據(jù)所述讀取 位中至少兩位出錯的各自概率的先驗估計而實現(xiàn),其中至少一個所述 估計不同于至少另 一個所述估計。
9. 一種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù)位 的方法,存儲通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護位,然后將受保 護位存儲在存儲器的單元中而實現(xiàn),各自的多個受保護位存儲在單元 的每個中,該方法包括步驟(a) 讀取單元,從而對于每個單元,獲得各自的多個讀取的受 保護位;以及(b) 從讀取的受保護位中恢復(fù)數(shù)據(jù)位,其中所述恢復(fù)至少部分 地根據(jù)所述讀取的受保護位中至少兩位出錯的各自概率的先驗估計而 實現(xiàn),其中至少一個所述估計不同于至少另一個所述估計。
10. 根據(jù)權(quán)利要求9的方法,其中所述先驗估計中的至少兩個 用于單元中共同一個的所述讀取的受保護位。
11. 根據(jù)權(quán)利要求9的方法,其中所述先驗估計中的至少兩個 用于不同單元的所述讀取的受保護位。
12. 根據(jù)權(quán)利要求9的方法,其中所述先驗概率取決于所述讀 取的受保護位的各自有效性。
13. 根據(jù)權(quán)利要求9的方法,其中所述先驗概率取決于所述讀 取的受保護位的各自位頁。
14. 一種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán) 利要求9的方法讀取存儲在存儲器中的數(shù)據(jù)。
15. —種存儲設(shè)備,包括(a)包括多個多位單元的存儲器;以及(b)根據(jù)權(quán)利要求14用于控制所述存儲器的控制器。
16. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介 質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元 并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位 相對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存 儲的,各自的多個受保護位存儲在單元的每個中,該計算機可讀代碼 包括(a) 用于讀取單元,從而對于每個單元,獲得各自的多個讀取 位的程序代碼;以及(b) 用于從讀取的受保護位中恢復(fù)數(shù)據(jù)位的程序代碼,其中所 述恢復(fù)至少部分地根據(jù)所述讀取的受保護位中至少兩位出錯的各自概 率的先驗估計而實現(xiàn),其中至少一個所述估計不同于至少另 一個所述 估計。
17. —種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)振 位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位,然后 將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn)的,各自 的多個存儲位存儲在單元的每個中,該方法包括步驟U)讀取單元,從而對于每個單元,獲得各自的多個讀取位;以及(b )根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對應(yīng)的 所述讀取位,其中所述校正根據(jù)所述讀取位中至少兩位出錯的各自概 率而實現(xiàn),該概率僅基于所述讀取位的至少一個方面,所述至少一個 方面包括選自所述讀取位的各自有效性和所述讀取位的各自位頁的方 面,其中至少一個所述概率不同于至少另一個所述概率。
18. —種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán) 利要求17的方法讀取存儲在存儲器中的數(shù)據(jù)。
19. 一種存儲設(shè)備,包括(a) 包括多個多位單元的存儲器;以及(b) 才艮據(jù)權(quán)利要求18用于控制所述存儲器的控制器。
20. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介 質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元 并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位 相對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲 器的單元中來存儲的,各自的多個存儲位存儲在單元的每個中,該計 算機可讀代碼包括(a)用于讀取單元,從而對于每個單元,獲得各自的多個讀取 位的程序代碼;以及(b )用于根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對 應(yīng)的所述讀取位的程序代碼,其中所述校正根據(jù)所述讀取位中至少兩 位出錯的各自概率而實現(xiàn),該概率僅基于所述讀取位的至少一個方 面,所述至少一個方面包括選自所述讀取位的各自有效性和所述讀取 位的各自位頁的方面,其中至少一個所述概率不同于至少另一個所述 概率。
21. —種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù) 位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護位,然 后將受保護位存儲在存儲器的單元中而實現(xiàn)的,各自的多個受保護位 存儲在單元的每個中,該方法包括步驟(a) 讀取單元,從而對于每個單元,獲得各自的多個讀取的受保護位;以及(b) 從讀取的受保護位中恢復(fù)數(shù)據(jù)位,其中所述恢復(fù)根據(jù)所述 讀取的受保護位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于所 述讀取的受保護位的至少一個方面,所述至少一個方面包括選自所述 讀取的受保護位的各自有效性和所述讀取的受保護位的各自位頁的方 面,其中至少一個所述概率不同于至少另一個所述概率。
22. —種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán) 利要求21的方法讀取存儲在存儲器中的數(shù)據(jù)。
23. —種存儲設(shè)備,包括(a)包括多個多位單元的存儲器;以及(b )根據(jù)權(quán)利要求22用于控制所述存儲器的控制器。
24. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介 質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元 并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位 相對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存 儲的,各自的多個受保護位存儲在單元的每個中,該計算機可讀代碼 包括(a) 用于讀取單元,從而對于每個單元,獲得各自的多個讀取 的受保護位的程序代碼;以及(b) 用于從所述讀取的受保護位中恢復(fù)數(shù)據(jù)位的程序代碼,其 中所述恢復(fù)根據(jù)所述讀取的受保護位中至少兩位出錯的各自概率而實 現(xiàn),該概率僅基于所述讀取的受保護位的至少一個方面,所述至少一 個方面包括選自所述讀取的受保護位的各自有效性和所述讀取的受保 護位的各自位頁的方面,其中至少一個所述概率不同于至少另一個所 述概率。
25. —種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù) 位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位,然后 將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn)的,各自 的多個存儲位存儲在單元的每個中,該方法包括步驟(a) 讀取單元,從而對于每個單元,獲得各自的多個讀取位;以及(b) 根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對應(yīng)的 所述讀取位,其中所述校正根據(jù)所述讀取位中至少兩位出錯的各自概 率而實現(xiàn),該概率僅基于所述讀取位的各個值,其中至少一個所述概 率不同于至少另一個所述概率。
26, 一種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán) 利要求25的方法讀取存儲在存儲器中的數(shù)據(jù)。
27. —種存儲設(shè)備,包括 (a)包括多個多位單元的存儲器;以及(b)根據(jù)權(quán)利要求26用于控制所述存儲器的控制器。
28. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介 質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元 并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位 相對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲 器的單元中來存儲的,各自的多個存儲位存儲在單元的每個中,該計 算機可讀代碼包括(a)用于讀取單元,從而對于每個單元,獲得各自的多個讀取 位的程序代碼;以及(b )用于根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對 應(yīng)的所述讀取位的程序代碼,其中所述校正根據(jù)所述讀取位中至少兩 位出錯的各自概率而實現(xiàn),該概率僅基于所述讀取位的各個值,其中 至少一個所述概率不同于至少另一個所述概率。
29. —種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù) 位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護位,然 后將受保護位存儲在存儲器的單元中而實現(xiàn)的,各自的多個受保護位 存儲在單元的每個中,該方法包括步驟(a) 讀取單元,從而對于每個單元,獲得各自的多個讀取的受 保護位;以及(b) 從讀取的受保護位中恢復(fù)數(shù)據(jù)位,其中所述恢復(fù)根據(jù)所述 讀取的受保護位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于所 述讀取的受保護位的各個值,其中至少一個所述概率不同于至少另一 個所述概率。
30. —種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán) 利要求29的方法讀取存儲在存儲器中的數(shù)據(jù)。
31. —種存儲設(shè)備,包括(a)包括多個多位單元的存儲器;以及(b )根據(jù)權(quán)利要求30用于控制所述存儲器的控制器
32. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存儲的,各自的多個受保護位存儲在單元的每個中,該計算機可讀代碼包括(a) 用于讀取單元,從而對于每個單元,獲得各自的多個讀取的受保護位的程序代碼;以及(b) 用于從所述讀取的受保護位中恢復(fù)數(shù)據(jù)位的程序代碼,其中所述恢復(fù)根據(jù)所述讀取的受保護位中至少兩位出錯的各自概率而實現(xiàn),該概率僅基于所述讀取的受保護位的各個值,其中至少一個所述概率不同于至少另一個所述概率。
33. —種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù)位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中而實現(xiàn)的,各自的多個存儲位存儲在單元的每個中,該方法包括步驟(a)讀取單元,從而對于每個單元,獲得各自的多個讀取位;以及(b )根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對應(yīng)的所述讀取位,其中所述校正根據(jù)所述讀取位中至少兩位出錯的各自概率而實現(xiàn),該概率至少部分地基于作為所述讀取的結(jié)果而獲得的信息,所述信息局限于所述讀取位的各個值,其中至少一個所述概率不同于至少另一個所述概率。
34. —種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán)利要求33的方法讀取存儲在存儲器中的數(shù)據(jù)。
35. —種存儲設(shè)備,包括(a)包括多個多位單元的存儲器;以及(b )根據(jù)權(quán)利要求34用于控制所述存儲器的控制器。
36. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位相對應(yīng)的多個奇偶位,然后將數(shù)據(jù)位和奇偶位作為存儲位存儲在存儲器的單元中來存儲的,各自的多個存儲位存儲在單元的每個中,該計算機可讀代碼包括U)用于讀取單元,從而對于每個單元,獲得各自的多個讀取位的程序代碼;以及(b)用于根據(jù)與奇偶位相對應(yīng)的所述讀取位校正與數(shù)據(jù)位相對應(yīng)的所述讀取位的程序代碼,其中所述校正根據(jù)所述讀取位中至少兩位出錯的各自概率而實現(xiàn),該概率至少部分地基于作為所述讀取的結(jié)果而獲得的信息,所述信息局限于所述讀取位的各個值,其中至少一個所述概率不同于至少另 一個所述概率。
37. —種讀取存儲在包括多個多位單元的存儲器中的多個數(shù)據(jù)位的方法,所述存儲是通過計算與數(shù)據(jù)位相對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中而實現(xiàn)的,各自的多個受保護位存儲在單元的每個中,該方法包括步驟(a) 讀取單元,從而對于每個單元,獲得各自的多個讀取的受保護位;以及(b) 從讀取的受保護位中恢復(fù)數(shù)據(jù)位,其中所述恢復(fù)根據(jù)所述讀取的受保護位中至少兩位出錯的各自概率而實現(xiàn),該概率至少部分地基于作為所述讀取的結(jié)果而獲得的信息,所述信息局限于所述讀取的受保護位的各個值,其中至少一個所述概率不同于至少另一個所述概率。
38. —種包括多個多位單元的存儲器的控制器,其使用根據(jù)權(quán)利要求37的方法讀取存儲在存儲器中的數(shù)據(jù)。
39. —種存儲設(shè)備,包括(a)包括多個多位單元的存儲器;以及(b )根據(jù)權(quán)利要求38用于控制所述存儲器的控制器
40. —種計算機可讀存儲介質(zhì),具有包含在計算機可讀存儲介質(zhì)上的計算機可讀代碼,計算機可讀代碼用于管理包括多個多位單元并且其中存儲多個數(shù)據(jù)位的存儲器,所述數(shù)據(jù)位是通過計算與數(shù)據(jù)位 相對應(yīng)的多個受保護位,然后將受保護位存儲在存儲器的單元中來存 儲的,各自的多個受保護位存儲在單元的每個中,該計算機可讀代碼包括(a) 用于讀取單元,從而對于每個單元,獲得各自的多個讀取 的受保護位的程序代碼;以及(b) 用于從所述讀取的受保護位中恢復(fù)數(shù)據(jù)位的程序代碼,其 中所述恢復(fù)根據(jù)所述讀取的受保護位中至少兩位出錯的各自概率而實 現(xiàn),該概率至少部分地基于作為所述讀取的結(jié)果而獲得的信息,所述 信息局限于所述讀取的受保護位的各個值,其中至少一個所迷概率不 同于至少另一個所述概率。
全文摘要
根據(jù)讀取位的一位或多位出錯的估計概率,根據(jù)系統(tǒng)或非系統(tǒng)ECC,讀取并校正(系統(tǒng)ECC)或恢復(fù)(非系統(tǒng)ECC)存儲在每個單元存儲多位的存儲器的單元中的數(shù)據(jù)。在本發(fā)明的一種方法中,估計是先驗的。在本發(fā)明的另一種方法中,估計僅基于包括讀取位的有效性或位頁的讀取位的方面。在本發(fā)明的第三方法中,估計僅基于讀取位的值。并不是所有的估計都是相等的。
文檔編號G11C29/00GK101529525SQ200680044045
公開日2009年9月9日 申請日期2006年10月15日 優(yōu)先權(quán)日2005年10月17日
發(fā)明者E·沙龍, I·奧羅德, M·拉瑟, M·穆里恩, S·利特辛 申請人:特拉維夫大學(xué)拉莫特有限公司