專利名稱:非易失性存儲系統(tǒng)和相關(guān)編程方法
技術(shù)領(lǐng)域:
本發(fā)明實施例總體上涉及非易失性的半導(dǎo)^H諸系統(tǒng)。更脅的,本發(fā)明實施 例涉及包括多級非易失'^^f諸單元的非易失性半^^f諸系統(tǒng)和用于編程多級非易 失'l"^^者單元的方法。
背景技術(shù):
非易失'^^賭系統(tǒng)通常應(yīng)用于各種消費者和工業(yè)電子應(yīng)用。該應(yīng)用的常見示例 包括手機(jī)、個人數(shù)字助理(PDA)、 MP3才番》文器、數(shù)字才射斜幾、便攜磁盤驅(qū)動器、便攜 媒#^番放器(PMP)禾"者如用于個人計算機(jī)的;l^4lr入/輸出系統(tǒng)(BIOS)的輔助存 儲器,此處僅列舉了幾個。
由于非易失性務(wù)賭系統(tǒng)的廣泛使用,對于具有更高數(shù)據(jù)^^諸能力和更高整沐性 能的非易失性存儲系統(tǒng)具有與日俱增的需求。結(jié)果,研究者持續(xù)致力于發(fā)現(xiàn)新方法 以在非易失'^^諸系統(tǒng)中每個務(wù)賭芯片單元區(qū)域保存更多數(shù)悟。
多級非易失'^##單元的^^]是已*^用以增加非易失^^[諸系統(tǒng)中每個單元 ^f諸芯片區(qū)域^4數(shù)據(jù)量的一項技術(shù)。多級非易失'^^f諸單元能^f絲一位以上的數(shù) 據(jù)。因此,多級非易失#^[諸單元經(jīng)常被替換稱為多位非易失'^^諸單元。
多級非易失'^^f諸單元的典型示例是多級閃存單元??傮w上,閃存單元關(guān)于不 同的閾值電壓分布而<轉(zhuǎn)數(shù)據(jù)。換而言之,當(dāng)在閃速單元內(nèi)編程不同數(shù)據(jù)值時,閃 存單元的閾值電壓從一個閾值電壓分布內(nèi)改變到另 一個閾值電壓分布內(nèi)。
例如,圖(FIG. ) 1表示用于在單級閃存單元中^f絲數(shù)據(jù)的兩個不同閾值電壓 分布。在圖l的例子中,在單級閃存單元具有在標(biāo)記為'T,的閾值電壓分布內(nèi)的閾
值電壓的地方,單級閃存單^t^H諸邏輯"r。否則,在單級閃存單元具有在標(biāo)記為
"0"的閾值電壓分布內(nèi)的閾值電壓的地方,單級閃存單it^f諸邏輯"0"。因此,可
以通過將讀取電壓Vread應(yīng)用于單級閃存單元的控制門并確定單級閃存單元的閾值 電壓大于或小于讀取電壓Vread (例如,當(dāng)#^取電壓Vread應(yīng)用于控制門時,通過 ^f諸單iti企測電流流量)而確定單級閃存單元中保存的單個位的邏#^1犬態(tài)。
一般,在^f諸單元具有特定閾值電壓分布內(nèi)的閾值電壓的地方,可以稱^f諸單 元具有對應(yīng)于閾值電壓分布表示的邏^R態(tài)的"閾值電壓狀態(tài)"。
圖2表示用于在多級閃存單元中保存數(shù)據(jù)的四個不同閾值電壓分布。具體的, 圖2的多級閃存單元肖絡(luò)儲兩位數(shù)據(jù),如四個閾值電壓分布上的標(biāo)簽所示。換而言 之,對于圖2的多級閃存單元具有標(biāo)記為"11"的閾值電壓分布內(nèi)的閾值電壓,多 級閃存單^L4J諸邏輯"11"(即,最高有效位(MSB) T,和最j賄效位(LSB) 'T,), 對于多級閃存單元具有標(biāo)記為"10"的閾值電壓分布內(nèi)的閾值電壓,多級閃存單元 ^j諸邏輯"10",對于多級閃存單元具有標(biāo)記為"01"的閾值電壓分布內(nèi)的閾值電壓, 多級閃存單it^f諸邏輯"01",以及對于多級閃存單元具有標(biāo)為"00"的閾值電壓分 布內(nèi)的閾值電壓,多級閃存單^4^諸邏輯"00"??梢酝ㄟ^將讀取電壓Vreadl、 Vread2 和Vread3不同地應(yīng)用于多級閃存單元的控制門并確定相關(guān)于這些讀取電壓的多級閃 存單元的闊值電壓的幅度而確定圖2所示的多級閃存單元的邏^R態(tài)。
圖3表示包括含有多級閃存單元的閃存的示例性非易失'^^f渚系統(tǒng)。
參考圖3,示例性非易失性務(wù)賭系統(tǒng)IOO包括主機(jī)IIO、存儲控制器120和閃存 130。其中,^f諸控制器120包4衫爰沖^f諸器121,而閃存130包括##單元陣列131 和頁緩沖器132。
^f諸控制器120中,緩沖^^諸器121在編程操怍期間臨時在閃存130中存儲 要編程的數(shù)據(jù),并在讀取沖刻乍期間^f諸從閃存130讀取的數(shù)據(jù)。緩沖^f諸器121在 ^i者控制器120的控制下梯作并在編程期間將數(shù)據(jù)/Ai機(jī)110轉(zhuǎn)換到閃存130,并在 讀取期間將數(shù)據(jù)從閃存130轉(zhuǎn)換到主機(jī)110。
在閃存130中,#^者單元陣列131 ^f諸編程數(shù)據(jù)。頁緩沖器132在編程#|乍中 臨時^f^f諸單元陣列131中^f諸要編程的數(shù)據(jù)并在讀取操怍中係存從^4者單元陣列 131讀取的數(shù)據(jù)。存儲單元陣列131包括以行和列排列的多個多位非易失性^[諸單 元。舉例說明,單元陣列131可包括NAND閃存陣列,該NAND閃存陣列包括以多個 NAND串排列的NAND閃存單元。典型的,^^諸單元陣列131的列被連接到對應(yīng)的位線 而4刊皮連4妄到對應(yīng)的字線。
連接到^f諸單元陣列131中相同字線的多位非易失性^^諸單元的每行對應(yīng)數(shù)據(jù) ^i諸器的一個或多個頁。典型的(但不是必須的), 一次一頁地在^f諸單元陣列131
上4似亍編程械取操作。舉例說明,首先將^#單元陣列131中要編程的一頁數(shù)據(jù)
傳遞到頁緩沖器132。然后,根據(jù)頁緩沖器132中^4的數(shù)據(jù)頁將合適的電壓應(yīng)用于 對應(yīng)^f諸單元陣列131中要編程的存儲單元的行的字線和位線。
對于行中的4^諸單元是多^^H者單元,連接到^^諸單元陣列131中相同字線的 非易失性##單元的每行將對應(yīng)一個以上的數(shù)據(jù)存儲器頁。例如,2-位非易失4生存 儲單元的行將對應(yīng)兩頁數(shù)據(jù)。M的,可以獨立編程的兩頁對應(yīng)最j錄效位(LSB) 頁和最高有效位(MSB)頁,這是因為它們分別對應(yīng)各個2-^i^f諸單元的LSB和MSB 數(shù)據(jù)。
在非易失'l"^f諸系統(tǒng)100的編程才剁乍中,主機(jī)110向^f諸控制器120發(fā)送編程 命令和相關(guān)程序數(shù)據(jù)。^f諸控制器120接收禾誘命4^^辨數(shù)據(jù)并將禾錄數(shù)^f轉(zhuǎn) 在緩沖務(wù)賭器121中。響應(yīng)于#辨命令,存儲控制器120然后控制閃存130將來自 緩沖存儲器121的程序數(shù)據(jù)裝載到頁緩沖器132中。然后,存儲控制器120進(jìn)一步 控制閃存130將禾踏數(shù)據(jù)編程到^f諸單元陣列131的所選^j諸單元中。其中編程程 序數(shù)據(jù)的^(諸單元陣列131中所選^f諸單元的位置一般由主機(jī)110向^[諸控制器120 提供的程序地址以及禾踏命令賦值。通常,閃存130包括可以用于根才射呈序i4iiL^ ^f諸單元陣列131中選擇用于編程操作的合適行線和字線的行和列解碼器。
在非易失性存儲系統(tǒng)100的讀取操作中,主機(jī)110向存儲控制器120發(fā)送讀取 命令。響應(yīng)于讀取命令,存儲控制器120控制閃存130將^f諸單元陣列131的所 選^f諸單元中保存的讀取數(shù)據(jù)傳送到頁緩沖器132。然后,存儲控制器120進(jìn)一步控 制閃存130將來自頁緩沖器132的讀取數(shù)據(jù)傳送到緩沖存儲器121。最后,存儲控制 器120控制ll沖存儲器121將讀取數(shù)據(jù)/AI爰沖存儲器121傳i^jij主才幾110。類似于編 程操作,讀取操作中^(諸單元陣列131中所選^f諸單元的位置""^殳由主機(jī)110向存 儲控制器120提供的讀取地址以及讀取命令賦值。同樣,閃存130—般^jl]行和列 解碼器以根據(jù)讀ipU^ii^擇用于讀取操作的^f諸單元131的合適行線和字線。
編程操作后,存儲控制器120—般控制閃存130以扭/f科呈序-3&正操作。除了程 序馬H正操作的目的在于確定所選^H諸單元是否被成功編程"卜,程序-3^i正搡作類似 于讀取^1乍。在程序馬M正操作中,Mi扁程操作中被編程的所選^(諸單元傳送禾l^驗 證數(shù)據(jù)到頁緩沖器132。頁緩沖器132臨時^j輛辨馬^Ea據(jù),而該程序-^iilt據(jù)與 仍^f諸^li沖^f諸器121中的禾誘數(shù)據(jù)進(jìn)行比較。當(dāng)緩沖^j諸器121中4轉(zhuǎn)的禾踏 數(shù)據(jù)不同于頁緩沖器132中的程序—3^iiElt據(jù)時,所選^f諸單itii沒被成功編程。否 則,當(dāng)緩沖^f諸器121中^4的程序數(shù)據(jù)與頁緩沖器132中的禾誘馬^iilt據(jù)相同時,
所選^^者單^^皮成功編程。對于所選^f諸單^沒被成功編程的情況,則佳月緩沖
^^諸器121中係存的程序數(shù)據(jù)再編禾lil些^^諸單iLiU^f諸單元陣列131的新位置 (諸如不同頁面或不同塊)中編程3呈序數(shù)據(jù)。
圖4和5表示用于編程諸如圖3所示非易失性務(wù)賭系統(tǒng)的不同方法。具體的, 圖4和5的方法是編程包括2-^##單元的非易失'^^諸系統(tǒng)的方法的示例。在這 些和其他示例中,可以重新配置邏4^l犬態(tài)和閾值電壓之間的對應(yīng)關(guān)系。例如,在圖4
可以改變其中編程^M立的順序。例如,雖然圖4和5表示在編程MSB之前編程LSB, 但也或者肯t^LSB之前編程MSB。而且,本領(lǐng)域已知多種其他編程變化并因此將不詳 細(xì)描述。
參考圖4,多位非易失性^f諸單元的編程狀態(tài)的特征在于與五個不同閎值電壓 分布的關(guān)系。這五個不同閾值電壓分布中的四個對應(yīng)各個邏輯狀態(tài)"11"、 "01"、 "10"和"00",以及一個閾值電壓分布對應(yīng)中間編程狀態(tài)或閾值電壓狀態(tài),由虛弧 表示并重疊多位非易失'^^^諸單元的讀取電壓VR2。在該例子中,邏#1犬態(tài)"11"對 應(yīng)多位非易失'^^渚單元的擦除狀態(tài),而邏輯狀態(tài)"01"、 "10"和"00"對應(yīng)多位 非易失4^^者單元的編程狀態(tài)。
在圖4所示的方法中,##單元最初在擦除狀態(tài)。從擦除狀態(tài),首先編禾l^f諸 單元的LSB,然后是^H諸單元的MSB。在編程LSB中,如果^fi者單元中要編程的LSB 是邏輯"0",則該方法將#^者單^^3£#^犬態(tài)"11"改變?yōu)橹虚g編程狀態(tài),如標(biāo)為 "ProgramO"的箭頭所示。否則,^^者單元^#在邏輯狀態(tài)"11"。然后在編程MSB 中,如果#^渚單元中要編程的MSB是邏輯"0",則該方法如標(biāo)為"Programl"的箭 頭所示將^(諸單it/人中間編程狀態(tài)改變?yōu)檫?^l犬態(tài)"00",或如標(biāo)為"Program3"的 箭頭所示/AiC4^大態(tài)"11"變?yōu)檫塴期犬態(tài)"01",這取決于LSB的邏4刷犬態(tài)。否則, 對于存儲單元中要編程的MSB是邏輯'T,,該方法如標(biāo)為"Program2"的箭頭所示 將存儲單元從中間編程狀態(tài)改變?yōu)檫壿嫚顟B(tài)"10",或?qū)f諸單元維持在邏輯狀態(tài) "11", it取決于LSB的i^4^犬態(tài)。
參考圖5,多位非易失性^f諸單元的編程狀態(tài)的特征在于與四個不同閾值電壓 分布的關(guān)系。這四個閾值電壓分布對應(yīng)抖邏4^犬態(tài)"11"、 "10"、 "00"和"01"。 在該例子中,邏輯狀態(tài)"11"對應(yīng)多位非易失性^^諸單元的擦除狀態(tài),以及邏輯狀 態(tài)"10"、 "00"和"01"對應(yīng)多位非易失^^f諸單元的編程狀態(tài)。
在圖5所示的方法中,^f諸單元最初在擦除狀態(tài)。從擦除狀態(tài),首先編#1##
單元的LSB,然后是^j諸單元的MSB。在編程LSB中,如果^f諸單元中要編程的LSB 是邏輯"0",則該方法將^(諸單it/Ai^^犬態(tài)"11"改變?yōu)閕^4^1犬態(tài)"10",如標(biāo)為 "Programl"的箭頭所示。否則,存儲單元##在邏#^)犬態(tài)"11"。然后在編程MSB 中,如果4^諸單元中要編程的MSB是邏輯"0",則該方法如標(biāo)為"Program2"的箭 頭所示將^f諸單^t/Ai^^l犬態(tài)"10"改變?yōu)檫?^犬態(tài)"00",或如標(biāo)為"Program3" 的箭頭所示乂Ai^4刷犬態(tài)"11"變?yōu)閕i:壽制大態(tài)"01",這取決于LSB的邏專^1犬態(tài)。否貝寸, 如果^(諸單元中要編程的MSB是邏輯T',則存〗諸單元保持在邏#^犬態(tài)"10"或邏 #^1犬態(tài)"11", i^取決于LSB的逸:#^犬態(tài)。
總體上,當(dāng)"^f亍圖4和5所示的編程方法時,不會悉是以直接連續(xù)的順序編程 ^j諸單元的LSB和MSB。相反,例如,可能首先編程^4#單元的LSB,接著是^^f諸 單元陣列的不同行中對^f諸單元的編程操作,然后接著編程^f諸單元的MSB。因此, 在編禾1##單元的MSB之前, 一般必須例如通過讀i^f諸單元而確定LSB的邏4^1犬 態(tài),以便^f諸單元的閾值電壓可以變?yōu)閊i確的閾值電壓分布內(nèi)。
然而,遺憾的是,如^^編程MSB期間發(fā)生4^i吳或誤才射乍,則可能永久丟失LSB。 例如,如果如圖5中標(biāo)為"Program3"的箭頭所示對##單>^丸行MSB編程,以及 缺少對應(yīng)于邏#^犬態(tài)"01"的閾值電壓分布MSB編程停止,則不可負(fù)M艮據(jù)^f諸單元 的簡單檢查而確定^f諸單元的LSB是邏輯T或邏輯"0"。幸運(yùn)的是,在該情況下, 一般可以從緩沖務(wù)賭器121恢復(fù)MSB數(shù)悟。然而,LSB數(shù)據(jù)的丟失將最終損害非易失 ,ri^^諸系統(tǒng)的性能。
當(dāng)研究者持續(xù)致力于在非易失性^f浙殳備的有限芯片區(qū)域內(nèi)滿A^^多的數(shù) 據(jù)##能力時,該問題變得日益重要,因為非易失,^^^諸芯片的集成密度增加了, 編程操作中镅誤^i吳操作的可能性W目應(yīng)增加了。結(jié)果,有效地克服諸如由編程錯 誤或誤4刻乍引起的多級單元中的上述數(shù)據(jù)丟失問題等的問題將是大有好處的。
發(fā)明內(nèi)容
在認(rèn)識至少上述問題中,本發(fā)明的所選實施例提供用于魏因為編程4射吳或誤 才斜乍《j起的數(shù)據(jù)丟失的非易失'^^f諸系統(tǒng)和方法。
根據(jù)本發(fā)明的一個實施例,非易失性半"f^^f諸系統(tǒng)包括^^諸陣列和^f諸控制 器。^f諸陣列包括多個多^t^f諸單元。#^諸控制器包^1£沖#^器,'^1##器, 失敗位置4&則器和修復(fù)單元。緩沖^^諸器用于^f諸在多個^f諸單元中所選^f諸單元
中編程的j-位數(shù)據(jù)。修復(fù)^[諸器用于^#/;^斤選4#單元讀取的i-位數(shù)據(jù)。失敗位
置檢測器用于根據(jù)/A^斤選^i者單元讀取的j-位數(shù)據(jù)和緩沖^^諸器中務(wù)賭的j-位數(shù)據(jù)
之間的比較確定i-位數(shù)據(jù)中的位4晉誤的位置。修復(fù)單元用于修復(fù)在修復(fù)^^諸器中保
存的i-位數(shù)據(jù)中的位4射吳。
根據(jù)本發(fā)明的另一實施例,非易失性半"^M^諸系統(tǒng)包括第一至第n^f諸芯片 以及^^渚控制器。第一至第n^f諸芯片中的每個包括多個多位非易失寸i^諸單元。 ^f諸控制器包括第一至第m個緩沖^#器,每個用于係存第一至第n個^H諸芯片中 多個多位非易失性^f諸單元中所選^f諸單元中編程的j位數(shù)據(jù)。存儲控制器進(jìn)一步 包括第一至第p ^奮復(fù)^j諸器,用于^#在所選##單元中^#的i-位數(shù)據(jù)。 控制器進(jìn)一步包括失敗位置檢測器,用于根據(jù)/A/斤選^j諸單元讀取的j-位數(shù)據(jù)和緩 沖務(wù)賭器中務(wù)賭的j-位數(shù)據(jù)之間的比較確定i-位數(shù)據(jù)中的位錯誤的位置。^f諸控制 器進(jìn)一步包4射'務(wù)復(fù)單元,用于修復(fù)在修復(fù)##器中^^的i-位數(shù)據(jù)中的位錯i吳。
根據(jù)本發(fā)明的另一實施例,提[種在多位非易失性半導(dǎo)體中#^亍編程*(乍的 方法。多位非易失'f^f諸系統(tǒng)包括^f諸陣列以及^f諸控制器,該^^諸陣列包括多個 多位^f諸單元。該方法包括^^諸陣列的所選^f諸單元中編程i-位數(shù)據(jù),在^f諸控 制器中^4j-位數(shù)據(jù),編程所選^f諸單元中的j-位數(shù)據(jù),確定在所選^^者單元中是 否成功編程j-位數(shù)據(jù),接著確定在所選^f諸單元中沒有成功編程j-位數(shù)據(jù),并比較 所選^f諸單元中^4的j-位數(shù)據(jù)和^^l控制器中^4的j-位數(shù)據(jù)。根據(jù)比較,確定 所選^f諸單元中存儲的i-位數(shù)據(jù)的至少一個位錯誤的位置,然后修復(fù)至少一個位錯 誤。
根據(jù)本發(fā)明的另一實施例,提供另一種編程非易失'^H諸器的方法。該非易失 性存儲器包括多位非易失性存儲單元,以及該方法包括定義存儲單元的單元加擾 (scramble),并接著>^則#^者單元的所選單元中j-位數(shù)據(jù)的編程錯誤,關(guān)于單^U口 擾修復(fù)所選##單元中之前編程的i-位數(shù)據(jù)。
參考附圖描述本發(fā)明實施例。在圖中,相同的附圖標(biāo)i線示相同的示例性元件、 組件和步驟。在圖中
圖1 S類^rffl早在魚奴
圖2是表示用于在多級閃存單元中併存數(shù)據(jù)的四個不同閾值電壓分布的曲線
圖;
圖3是表示常規(guī)非易失4^##系統(tǒng)的示意框圖4表示用于非易失'^^f諸系統(tǒng)中非易失'f^^諸單元的一種編程才剁乍類型的閾 值電壓分布圖5表示用于非易失'^^f諸系統(tǒng)中非易失'fi^[諸單元的另一種編程才刻乍類型的
閾i直電壓分布圖6是表示才M居本發(fā)明實施例的非易失'^^渚系統(tǒng)的示意框圖7是表示用于根據(jù)本發(fā)明實施例的非易失性#^諸系統(tǒng)的編程方法的流程圖8是表示根據(jù)本發(fā)明另一實施例的非易失'fi^^諸系統(tǒng)的示意框圖9是表示根據(jù)本發(fā)明又一實施例的非易失'^^f諸系統(tǒng)的示意框圖10是表示根據(jù)本發(fā)明再一實施例的非易失'^##系統(tǒng)的示意框圖11是表示用于圖10的非易失l^f諸系統(tǒng)的非易失'f^H諸單元的一種編程操
作類型的閾值電壓分布圖12是表示圖10的非易失'^#^諸系統(tǒng)的失敗位置#^則和數(shù)拾^1#^乍的示意
圖13是表示根據(jù)本發(fā)明實施例的編程圖10的^f諸系統(tǒng)的方法的^^呈圖; 圖14是根據(jù)本發(fā)明另一實施例的非易失4i^f諸系統(tǒng)的示意框圖; 圖15是根據(jù)本發(fā)明另一實施例的非易失拔剤諸系統(tǒng)的示意框圖。
M實施方式
下面參考相應(yīng)附圖描述本發(fā)明的示例性實施例。這些實施例只是教導(dǎo)性示例。
^^發(fā)明的實際范圍由下面的斥又利要求定義。
總體上,本發(fā)明實施例提供用于當(dāng)進(jìn)一步編程多位非易失'性##單元時避免已
^^在多位非易失^^f諸單元中的數(shù)據(jù)丟失的非易失'^^f諸系統(tǒng)和相關(guān)方法。例如, 本發(fā)明的所選實施例提^"種包括^f分^^諸器和/或數(shù)才射務(wù)復(fù)組件的^^諸控制器,當(dāng) 進(jìn)一步編禾14^諸單元時,所述^f分^f諸器和/或數(shù)才斜務(wù)復(fù)組件用于避免已^4在多位 非易失,^i^諸單元中的數(shù)據(jù)的丟失。本發(fā)明的另一實施例提l種包樹'f復(fù)^f諸器 的存儲控制器,用于保存已在多位非易失性^^諸單元中編程的數(shù)據(jù),為了在已檢測 到^f諸單元的編程故障^修復(fù)數(shù)據(jù)。
下面結(jié)合包括2-^^^單元的非易失性務(wù)賭系Mi笛i^^發(fā)明的所選實施例。然 而,這些實施例可以被隨意修改為用于包括n-位單元的非易失'f^f諸系統(tǒng),其中"n" 是大于2的整數(shù)。j)^卜,在多個公開的實施例中,在^H諸單元的最高有效位之前編牙1^H諸單元的最^^"效位。然而,也可以隨意修改編禾li偵序。而且,本領(lǐng)域技術(shù)人 員能理解在不背離本發(fā)明范圍的情況下可以對下述示例性實施例進(jìn)行各種其他修改。M, /A^說明書有意地簡^^省略非易失'fi^j諸系統(tǒng)的許多已知函數(shù)、變量和微差,因為它們的描i^于于使本領(lǐng)域技術(shù)人員理解和4躺所請求保護(hù)的發(fā)明不是 必須的。
圖6是表示根據(jù)本發(fā)明實施例的非易失'^^f諸系統(tǒng)的示意框圖。
參考圖6,非易失^^H諸系統(tǒng)200包括主機(jī)210、 ^j諸控制器220和閃存230。 ^j諸控制器220包^^爰沖存儲器221和最j賄效位(LSB)備份存儲器222。閃存230 包括^f諸單元陣列231、解碼器232、頁緩沖器233、位線選擇電路234、數(shù)據(jù)緩沖 器235和控制單元236。
^t^諸控制器220中,緩沖存儲器221在編程操作期間臨時存儲閃存230中要 編程的數(shù)據(jù)。緩沖^f諸器221在讀取4剁乍期間也臨時^^諸從閃存230讀取的數(shù)據(jù)。 緩沖存儲器221在編程操作期間在^f諸控制器220的控制下操作并/U機(jī)210接收 數(shù)據(jù)并向閃存230傳送數(shù)據(jù),并在讀取操怍期間從閃存230接收數(shù)據(jù)并將數(shù)據(jù)傳送 到主機(jī)210。
在^f^vM爰沖^^諸器221的程序數(shù)據(jù)被編程到所選^[諸單&前,LSB ^f分 務(wù)賭器222 #^諸已在閃存230的所選^^諸單元中保存的數(shù)據(jù)。例如,在所選##單 元的編程才剁乍期間,緩沖^f諸器221可^^諸所選^f諸單元中要編程的MSB數(shù)據(jù)。因 此,^f^控制器控制閃存230傳送LSB^f分^j諸器222中的所選^f諸單元中£^(諸 的LSB數(shù)據(jù)。因為LSB^f分^f諸器222 ^f諸已在所選^[諸單元中編程的數(shù)據(jù),以及 緩沖存儲器221存儲將在所選^^(諸單元中編程的數(shù)據(jù),如果當(dāng)編程所選##單元時 發(fā)生4fi吳或故障,則可以乂Ai爰沖^^諸器221和LSB ^###器222 '^lA^斤選^ft 單元丟失的任何數(shù)據(jù)。結(jié)果,LSB名一分^j諸器222的出現(xiàn)增加了圖6的非易失性半導(dǎo) M^f浙殳備200的可靠性。
通常,可以在單個存儲芯片中配置緩沖存儲器221和LSB備份存儲器222。例如, 存儲控制器220可以存儲稱為LSB備份存儲器222的動態(tài)隨機(jī)訪問存儲器(DRAM)芯片的第一區(qū)域中的所選^f諸單元中已編程的數(shù)據(jù),以及^(諸控制器220可以## 稱為緩沖^^諸器221的DRAM芯片的第二區(qū)域中的所選^f諸單元中要編程的數(shù)據(jù)。
在閃存230中,^j諸單元陣列231存儲編程數(shù)據(jù)。解碼器232通過控制單元236 乂A4J諸控制器220接收讀:^^^f;i^止并根才絲:^^4踏地址控制用于讀Wp編程 操作的字線和位線的激活或選擇。在圖6的例子中,解碼器232通過字線WLO至WLn連接到存儲單元陣列231,并產(chǎn)生位線選擇信號Yi以通過位線選擇電路234控制用
于編程gjpa喿怍的位線的激活或選擇。
頁緩沖器233通過位線BLO至BLm連接到##單元陣列231并在編程操作中臨 時##^[諸單元陣列231中要編程的數(shù)據(jù)并在讀取搡怍期間^f諸乂A4^者單元陣列 231讀取的數(shù)據(jù)。位線選擇電路234根據(jù)位線選摔信號Yi控制用于編程禾喊取才剩乍 的位線的激活或選擇。根據(jù)頁緩沖器233中j絲的數(shù)據(jù)驅(qū)動所選或所激活的位線編 程或讀取^f諸單元陣列231中的所選^f諸單元。
數(shù)據(jù)緩沖器235 A^)于在^f諸控制器220和閃存2 30之間傳送數(shù)據(jù)的輸入/輸出 緩沖器。例如,在讀取操作中,通過頁緩沖器233和位線選擇電路234 /A4J諸單元 陣列231向數(shù)據(jù)緩沖器235傳送所選^^諸單元中保存的數(shù)據(jù)。然后,從數(shù)據(jù)緩沖器 235向^f諸控制器220傳送數(shù)據(jù),ith^數(shù)據(jù)被傳^J'J主機(jī)210。另一方面,在編程操 作中,存儲單元陣列231的所選^f諸單元中要編程的數(shù)據(jù)乂A^機(jī)210傳i^J'J4^諸控 制器220,然后到數(shù)據(jù)緩沖器235。然后,通過位線選^澤電路234 /人數(shù)據(jù)緩沖器235 向頁緩沖器233傳送數(shù)據(jù),并JU匕后,在所選^f諸單元中編程數(shù)據(jù)。數(shù)據(jù)緩沖器235 在控制電路236的控制下4桑怍,其依次響應(yīng)^f諸控制器220產(chǎn)生的控制信號4喿怍。
^f諸單元陣列231包括多個以行和列配置的多位非易失'I4^f諸單元。舉例說明, 單元陣列2 31可包括NAND閃存陣列,該閃存陣列包括以多個NAND字符串配置的NAND 閃存單元。M的,^f諸單元陣列231的列被連接到對應(yīng)的位線而^f刊皮連接到對應(yīng) 的字線。
連接到^f諸單元陣列231的同一字線的多位非易失'^^諸單元的每行對應(yīng)數(shù)據(jù) 務(wù)賭器的一個或多個頁。例如,由虛橢圓形在圖6中表示頁"頁0"。進(jìn)一步將^f諸 單元陣列231配置為多個塊,每個塊包括多個頁。作為典型例子,每頁可包括512 字節(jié)或2K字節(jié)的數(shù)據(jù)以及每塊包括32或64頁的數(shù)據(jù)。
常規(guī)地(但不是必須地),每次一頁對^#單元陣列231執(zhí)行編程g取操作并 每次一塊:fe^Vf刊寮除操作。或者,例如,也可以每次以一個或多個塊為單元編程存 儲單元陣列231。
在圖6的例子中,^f諸單元陣列231中的^f諸單元是2-位非易失'^^f諸單元。 通過首先編程LSB并然后編程MSB來編^il些^H諸單元。并不必緊緊連續(xù)編程每個 ^^者單元的LSB和MSB。換而言之,能首先編程所選#^諸單元的LSB、接著是其^^ 儲單元的編程,接著是所選^f諸單元的MSB的編程。在圖6的例子中,存儲單元陣 列231中^^諸單iU皮每次一頁:hki扁禾l^取并每次一塊:hy察除。
如上所述,圖6的示例和其他實施例中的多^##單元也可以務(wù)賭兩位以上的
位。例如,^^者單元可能是3-^^^諸單元、4-^^f諸單元等。在用于^f諸不同位的 該^f諸單元中,#^者單元中要務(wù)賭的數(shù)據(jù)4殳被稱為l-位數(shù)據(jù)、2-位數(shù)據(jù)、3-位數(shù) 據(jù)等,與2—i^[諸單元的例子中簡單的LSB數(shù)據(jù)和MSB數(shù)據(jù)相反。例如,在^f諸數(shù) 據(jù)字符串"0100"的四^^^單元中,位'T,將被稱為3-位數(shù)據(jù)因為它在字符串中 第三個位置。
也如上所述,圖6的示例和其他實施例中的多l(xiāng) L^f諸單元或者可以以不同順序 編程。例如,可以在JM頁序位(例如,LSB數(shù)據(jù))之前編程高順序位(例如,MSB數(shù) 據(jù))。而且,負(fù)誠過再配置邏4刷犬態(tài)和閾值電壓分布之間的賦^J偵序進(jìn)一步修改編程 順序,例如,諸如圖5所示。
圖7是表示用于根據(jù)本發(fā)明實施例的圖6所示的編程非易失'^^f諸系統(tǒng)200的 方法的^f呈圖。雖然圖7所示的方法涉及非易失'^##系統(tǒng)200,該方法也能隨意修 改為用于根據(jù)本發(fā)明其他實施例的各種不同非易失性務(wù)賭系統(tǒng)。在下面的描述中, 示例性方法步驟將用圓括號(SXXX)表示以將它們與諸如圖1至5所示的示例性曲 線圖和系統(tǒng)紐件區(qū)分開來。
參考圖7, ^j諸控制器220控制閃存230以將LSB數(shù)據(jù)頁編程到^[諸單元陣列 231的第一^f缺blockl的所選^f諸單元中(SllO)。在所選^f諸單元中編程LSB 數(shù)據(jù)之后,閃存230 —般^^抖呈序馬ti正操作以確定在所選^f諸單元中是否成功編程 LSB。在圖7的方法中,々i設(shè)LSB數(shù)據(jù)^^功編程。 一般,直到在所選^f諸單元中成 功編禾呈LSB凄d居才繼續(xù)該方法。在將LSB數(shù)據(jù)頁編程到所選^f諸單iL^,在將MSB 數(shù)據(jù)編禾15'J所選^^諸單^L^前,育^t^f諸單元陣列231中不同^J諸單iUA^亍^^^呈 序跳
一旦MSB數(shù)據(jù)將被編禾l^所選^f諸單元,則存儲控制器220控制閃存230通過 將LSB數(shù)據(jù)傳i^J'j^^者控制器220的LSB備份存儲器222而備份所選^j諸單元中的 LSB數(shù)據(jù)(S120 )。 一旦在LSB名4分存儲器222中保存所選^f諸單元的LSB數(shù)據(jù),則 在閃存230的第一^^者塊blockl的所選^f渚單元中編程MSB數(shù)據(jù)頁(S130)。
分別在步驟S110和Sl30(在blockl的所選^f諸單元中已編程LSB和MSB數(shù)據(jù)) ^,閃存230才似^聘馬&正#^乍以確定在所選^(諸單元中是否已成功編程MSB數(shù) 據(jù)(S140)。當(dāng)閃存230確定在所選^f諸單元中已成功編程MSB數(shù)據(jù)時,該方法終止, 如圖7中標(biāo)為"No"(表示沒有程序失敗)的箭頭所示。否則,當(dāng)閃存230確定在所 選^f諸單元中沒有成功編程MSB數(shù)據(jù)時,存儲控制器220控制閃存230將LSB數(shù)據(jù)
頁編程到閃存230的第二^4J諸塊block2中(S150),然后^f諸控制器220控制閃存 230將MSB數(shù)據(jù)頁編程到閃存230的第二《4#塊block2中(S160 )。在閃存230中成 功編程LSB和MSB數(shù)據(jù)之后,圖7的編程方法終止。
圖8是表示根據(jù)本發(fā)明另一實施例的非易失性務(wù)賭系統(tǒng)300的示意框圖。 參考圖8,非易失'l":i4J諸系統(tǒng)300包括主機(jī)310, ^f諸控制器320,以及第一和 第二閃存芯片330和340。 ^f諸控制器320包括第一緩沖^f諸器321、第一LSB^f分 務(wù)賭器322、第二緩沖務(wù)賭器323和第二LSB^f分務(wù)賭器324。 一般地,在諸如DRAM 的單個芯片上形成第一和第二緩沖存儲器321和323以及第一和第二LSB^f分^j諸 器322和324。第一閃存芯片330包括第一單元陣列331和第一頁緩沖器332而第二 閃存芯片340包括第4元陣列341和第二頁緩沖器342。
在非易失性存儲系統(tǒng)300中,主機(jī)310和^H諸控制器320分別類似于圖6中的 主機(jī)210和^j諸控制器220的功能。此外,第一閃存芯片330和第二閃存芯片340 每個都類似于圖6中的閃存230的功能。然而,^f諸控制器320中,每個第一緩 沖^f諸器321和第一LSB^f分^^f諸器322 4轉(zhuǎn)用于編程^i賣取第一閃存芯片330的 數(shù)據(jù)而每個第二凝沖務(wù)賭器323和第二 LSB ^f分務(wù)賭器324保存用于編程g取第 二閃存芯片340的數(shù)據(jù)。而且,閃存芯片330用于響應(yīng)^f諸控制器320產(chǎn)生的第一 芯片選^f言號CS1以及閃存芯片340用于響應(yīng)^j諸控制器320產(chǎn)生的第二芯片選擇 信號CS2。
在非易失'^^諸系統(tǒng)300的禾1^才斜乍中,##控制器320首先^ ]第一和第二 芯片選^f言號CSl和CS2選擇第一和第二閃存芯片330和340之一。然后,^j ]諸 如圖7所示的編程方法編程所選務(wù)賭芯片中的^f諸單元。換而言之,首先將LSB數(shù) 據(jù)編程到所選^f諸芯片內(nèi)第一塊內(nèi)的所選^f諸單元中。然后,在將MSB數(shù)據(jù)編程到 第一塊內(nèi)所選^f諸單元中之前,將LSB數(shù)據(jù)傳i^JiJ對應(yīng)所選^f諸芯片的LSB ^f分存 儲器。然后,MSB數(shù)據(jù)被編程到第一塊內(nèi)所選^f諸單元中,^所選^f渚芯片^l^^呈 序驗證梯作以確定在那些所選^f諸單元中是否成功編程MSB數(shù)據(jù)。如^所選^f諸 單元中已成功編程MSB數(shù)據(jù),則程序才斜乍終止。否則,如果在第一塊中所選^j諸單 元中編程MSB數(shù)據(jù)期間發(fā)生4射吳或誤#^乍,則可以A/J^應(yīng)所選^j諸芯片的LSB ^f分 存儲器和緩沖存儲器恢復(fù)LSB數(shù)據(jù)和MSB數(shù)據(jù)并在所選閃存芯片或其他閃存芯片中 的第JL^^諸塊編程LSB數(shù)據(jù)和MSB數(shù)據(jù)。
類似的,在非易失'^^f諸系統(tǒng)300的讀取沖斜乍中,##控制器320根據(jù)要讀取 的^f諸單元的地jjtit擇第一或第二閃存芯片330或340。然后,類似于上面結(jié)合非易
失'l"^f諸系統(tǒng)100或200的描述,所選閃存芯片和^f諸控制器320 #^詢?nèi)?4乍。
圖9是表示根據(jù)本發(fā)明另一實施例的非易失性^j諸系統(tǒng)900的示意框圖。除了 非易失'^4i者系統(tǒng)900能包括任意數(shù)V,的閃存芯片并JJ 十應(yīng)的緩沖^f諸器和LSB ^f分^f諸器不是兩個"^卜,非易失'^^^者系統(tǒng)900類似于非易失'f^f諸系統(tǒng)300。
參考圖9,非易失'^^f諸系統(tǒng)900包括主機(jī)910、 ^f諸控制器920以及多個閃存 芯片931至93n。 ^ H諸控制器920包括用于每個閃存芯片的緩沖#^諸器和LSB ^f分存 儲器。更糾的,^f諸控制器920包4衫爰沖^f諸器921至92n以力于應(yīng)的LSB ^f分 ^f諸器921,至92n,。 一般的,在諸如DRAM的單個芯片上形^M爰沖^i渚器921至92n 和LSB^f分務(wù)賭器921'至92n,。
在編程才剩乍中,非易失'^^f諸系統(tǒng)900通iii敫活(或無歲iO多個對應(yīng)芯片選擇信 號之一而選擇閃存芯片931至93n之一,然后使用類似于上述關(guān)于非易失'hi^賭系 統(tǒng)300的方法編程所選閃存芯片中的所選^(渚單元。類似的,可以通過選擇閃存芯 片931至93n之一并且然后通過^f諸控制器920中的對應(yīng)緩沖存儲器從所選閃存芯 片讀取數(shù)據(jù)以類似于非易失'^^f諸系統(tǒng)300的方式#^亍非易失'|"^##系統(tǒng)900的讀 取樹乍。
在圖8和9所示的示例性非易失'[^##系統(tǒng)中和包括多個非易失'^^(諸芯片的 其他系統(tǒng)中,可以每次一個或并行;W扁程或讀取多個非易失'^^諸芯片。作為怎樣 并行編禾l^讀取多個非易失'fi^i者芯片的示例,可以4輛交叉編程或讀取4剁乍或者 使用同時并行數(shù)據(jù)傳送而編程或讀取圖9所示的V,個閃存芯片,其中交叉操怍或 并行數(shù)據(jù)傳送可以由^f諸控制器9 2 0控制。為了便于同時并行數(shù)據(jù)傳送和/或交叉操 作,"n"個閃存芯片931至93n能通過諸如多個獨立數(shù)據(jù)總線的多個接口連接到存 儲控制器。
逸感的是,在圖6、 8和9所示的系統(tǒng)中,備份LSB數(shù)據(jù)的處理會降j^扁程^^乍 的性能。因為每當(dāng)編程MSB數(shù)據(jù)時,這些系統(tǒng)中的每個^^^f分LSB數(shù)據(jù),^f分LSB 數(shù)據(jù)的處理負(fù)M及大地影響這些系統(tǒng)的性能。
因此,提供圖10至15所示的本發(fā)明的多個附加實施例,其中在每次編程MSB 數(shù)據(jù)時即使不備份LSB數(shù)據(jù)的情況下避免LSB數(shù)據(jù)的丟失。相反,如果在MSB編程 期間發(fā)生錯誤或誤操怍,這些附加實施例只備盼LSB數(shù)據(jù)。
與本發(fā)明的其他實施例相同,在這些附加實施例中,編程LSB數(shù)據(jù)后編程MSB 數(shù)據(jù)的描述只用于教導(dǎo)示例。作為本示例的選擇方案,可以修改編程操怍的順序, 以便首先編程MSB數(shù)悟,接著是LSB數(shù)據(jù)。在這些情況下,如果編程LSB數(shù)據(jù)失敗
可以備份MSB數(shù)據(jù)。在另一選擇方案中,可以不同地改變每個^f諸單元中存儲的位
數(shù)以及每個^j諸單元的編禾li頃序。
圖10表示根據(jù)本發(fā)明一個實施例的非易失'1^4J諸系統(tǒng)400。下面參考圖10描 述非易失'^4J諸系統(tǒng)400的M特征。進(jìn)一步參考圖11至13詳細(xì)描m些特征的 樹乍。
參考圖IO,非易失li4^者系統(tǒng)400包括主機(jī)410、 ^f諸控制器420和閃存430。 ^f諸控制器420包才釤爰沖肩儲器421、 ^j分務(wù)賭器422 Wli皮稱為"修復(fù)務(wù)賭器")、 4脊誤糾正單元423、比較器424、失敗位置檢測器425和修復(fù)電路426。閃存430包 括##單元陣列431、解碼器432、頁緩沖器433、位線選擇電路434、數(shù)據(jù)緩沖器 435和控制電路436。
在^(諸控制器420中,緩沖^^諸器421 ^j渚將在閃存430中編程的數(shù)據(jù)。緩沖 務(wù)賭器421在^f諸控制器420的控制下凈斜乍并在編程操作期間/A^機(jī)410向閃存430 傳送數(shù)據(jù),并在讀取才剁乍期間從閃存430向主機(jī)410傳送數(shù)據(jù)。例如,在閃存430 中編程LSB或MSB數(shù)據(jù)的頁之前,凝:據(jù)一4殳^j諸^i爰沖存儲器421中。如絲閃存 430中LSB或MSB數(shù)據(jù)的編程失敗,則緩沖務(wù)賭器421中保存的數(shù)據(jù)能用于'^ll數(shù)據(jù) 并將數(shù)據(jù)編程到閃存430中的不同位置。 一般,閃存430的所選^^諸單元中編程LSB 或MSB數(shù)悟的失敗可導(dǎo)致在一個或多個所選#^諸單元中保存的一個或多個4針吳位。 然而,為了簡化解釋,下面的某些描述假設(shè)僅在單個所選^f諸單元中已發(fā)生編程失 敗。
^f分^f諸器422 ^f諸用于從閃存430的編程:^f乍中4射吳或故障fel的數(shù)據(jù)。例 如,當(dāng)在閃存430的所選^fi者單元中之前已編程LSB數(shù)據(jù)并進(jìn)一步對所選^f諸單元 編程MSB數(shù)據(jù)時,如M—步編程MSB數(shù)據(jù)失敗,則編程失敗后所選^f諸單元中保 存的數(shù)據(jù)可以凈錄載到^f分務(wù)賭器422中并用于'fel之前在所選^f諸單元中編程的 LSB數(shù)據(jù)。
一般地,在單個^f諸芯片中配置緩沖^f諸器421和^P分^f諸器422。例如,存 儲控制器420可以在稱為^f分^f諸器422的動態(tài)隨機(jī)訪問^[諸器(DRAM)的第一區(qū)域 中保存已在所選^#單元中編程的數(shù)據(jù),以及^f諸控制器420可以在稱為緩沖^f諸 器421的DR扁芯片的第二區(qū)域中^4將在所選^f諸單元中編程的數(shù)據(jù)。
4晉誤糾正單元423用于沖企測并糾正^f分務(wù)賭器422中j踏的數(shù)據(jù)的錯i吳。例如, 假設(shè)^f分^f諸器422中4轉(zhuǎn)的數(shù)據(jù)包括4射吳編碼數(shù)據(jù)頁。根據(jù)4ti吳編^lt據(jù)中的錯 誤特性和/或數(shù)量,4^i吳糾正單元423可以^i Hti吳編碼數(shù)據(jù)頁內(nèi)的4射吳糾iMV馬以
4&則并糾正4射吳編;輛t據(jù)中的4射吳。
比較器424比較閃存430的所選^f諸單元中^^的數(shù)據(jù)和緩沖^^諸器421中保 存的數(shù)據(jù)以便檢測和糾正編程錯誤。例如,在將緩沖務(wù)賭器421中保存的MSB數(shù)據(jù) 編禾1^閃存430的所選^f諸單it^, /A^斤選^f諸單元讀取MSB數(shù)據(jù)并與緩沖^j諸 器421中j錄的MSB數(shù)據(jù)相比。~^殳,在當(dāng)將MSB數(shù)據(jù)編禾lf'J所選^[諸單元時發(fā)生 4射吳或故障^進(jìn)^i亥比較。下文將參考圖11至13解釋,MSB數(shù)據(jù)的比較可以用于 檢測并糾正之前在所選^f諸單元中編程的LSB數(shù)據(jù)中的錯誤。
閃存430的所選^f諸單元中編程失敗的位置(即,錯i吳編禾l^f諸單元或一個或多個錯 誤位的位置)。失敗位置4企測器425 ^f諸對應(yīng)編程失敗的位置的閃存430的地址并向 修復(fù)電路426輸出位置。
修復(fù)電路426從失敗位置檢測器425接收編程失敗的位置并佳月編程失敗的位 置修改^f分^f諸器422中j絲的數(shù)據(jù)。換而言之,如果已發(fā)生編程失敗(即, 一個或 多個^f諸單元中的4fi^),名—分務(wù)賭器422中j轉(zhuǎn)的數(shù)據(jù)可能包含一個或多個錯誤。 編程失敗的位置用于修改^#務(wù)賭器422中保存的數(shù)據(jù)以糾正錯誤。
在閃存430中,存儲單元陣列431保存已編程數(shù)據(jù)。存儲單元陣列431包括多 個以行和列配置的多4i^f諸單元,其中#^諸單元的每行連接到對應(yīng)字線,以及## 單元的每列連接到對應(yīng)位線。連接到相同字線的存儲單元的每行對應(yīng)多個數(shù)據(jù)頁。 例如,如果多位^[諸單元是每個2-^4#單元,每個字^^"應(yīng)兩頁凝:據(jù)。
^f諸單元陣列431進(jìn)一步包括對應(yīng)多位^^諸單元的行的多個標(biāo)志單元。M的, 每行多位^f諸單元連接到對應(yīng)標(biāo)志單元,該標(biāo)志單it4示對應(yīng)已編程的行的那些數(shù) 據(jù)頁。例如,如果每行對應(yīng)兩頁數(shù)據(jù),則每個標(biāo)志單元可具有第一狀態(tài),表示已在 對應(yīng)行的存儲單元中編程LSB數(shù)據(jù)頁,和第J^犬態(tài),表示已在對應(yīng)行的存儲單元中 編程MSB數(shù)據(jù)頁。
頁緩沖器433通過位線BLO至BLm連接到^[諸單元陣列431并在編程操作期間 臨時^f諸單元陣列431 ^[諸要編程的數(shù)據(jù)并在讀取操怍期間^[諸/^##單元陣列 431讀取的數(shù)據(jù)。位線選擇電路434根據(jù)位線選#^言號Yi控制位線的激活或選擇用 于編程g取才剁乍。根據(jù)頁緩沖器433中^f絲的數(shù)據(jù)馬區(qū)動所選或所激活的位線^M扁 程或讀取^f諸單元陣列431中的所選##單元。 一般(但不是必須的),每次一頁地 對^f諸單元陣列431扭行編禾封喊取操怍。^^'H兌明,首先將^f諸單元陣列431中 要編程的數(shù)據(jù)頁傳i^)J頁緩沖器433。然后,根據(jù)頁緩沖器433中^4的數(shù)據(jù)頁將合
適的電壓應(yīng)用于對應(yīng)^f諸單元陣列431中要編程的^f諸單iU亍的字線和位線。
解碼器432 /A^j諸控制器420接收讀W^l^:l^止并根^^^^41^;l4iil:控制 字線和位線的激活或選擇用于控制單元436的讀取-口編程操作。在圖10的例子中, 解碼器432通過字線WLO至WLn連接至^f諸單元陣列431,并產(chǎn)生位纟^it擇信號Yi
數(shù)據(jù)緩沖器435是用于在^f諸控制器420和閃存430之間傳送數(shù)據(jù)的輸入/輸出 緩沖器。例如,在讀取才剁乍中,通過頁緩沖器433和位線選擇電路434 /A4^諸單元 陣列431向數(shù)據(jù)緩沖器435傳送所選^f諸單元中保存的數(shù)椐。然后,從數(shù)據(jù)緩沖器 435向存儲控制器420傳送數(shù)據(jù),并ibtb^數(shù)據(jù)被傳iil^主機(jī)410。另一方面,在編 程搡怍中,在^f諸單元陣列431的所選^i諸單元中要編程的數(shù)據(jù)被/A^機(jī)410傳送 到存儲控制器420并iU匕后傳送到數(shù)據(jù)緩沖器435。然后,通過位線選擇電路434 從數(shù)據(jù)緩沖器435向頁緩沖器433傳送數(shù)據(jù),并itb^,在所選^^諸單元中編程數(shù)據(jù)。 數(shù)據(jù)緩沖器435在控制單元436的控制下操作,其依次響應(yīng)存儲控制器420產(chǎn)生的 控制信號而纟乘怍。
圖11是表示圖10的非易失性務(wù)賭系統(tǒng)的所選^f諸單元的一種編程操作類型的 閾值電壓分布圖。在圖11中, 一對標(biāo)為"(a)"的閾值電壓分布圖表示在圖IO的非 易失4^i諸系統(tǒng)中所選^f諸單元的LSB禾i^^f乍以及一對標(biāo)為"(b)"的閾值電壓分 布圖表示在圖10的非易失性務(wù)賭系統(tǒng)中所選^f諸單元的MSB程序操作。該對標(biāo)為 "(a)"的閾值電壓分布圖在下文中將統(tǒng)一稱為示意圖"(a)"以及該對標(biāo)為"(b)" 的閾值電壓分布圖在下文中將稱為示意圖"(b)"。
除了在圖11的編程操作中,標(biāo)志單元用于表示在所選^f諸單元上是否已扭Z亍 MSB編程^卜,圖11的編程操作類似于圖4中所示的編程操怍。應(yīng)該注意,圖4的 編程操作也能^^]標(biāo)志單元。然而,為了簡化解釋從圖4的描述中省略標(biāo)志單元。
為了解釋目的,假設(shè)結(jié)合圖11描述的標(biāo)志單元連接到所選^f諸單元位于的行。 如果在所選^f諸單元位于的行上還沒執(zhí)行MSB編程,則標(biāo)志單元具有邏4刷犬態(tài)'T,, ^f^果所選^f諸單元位于的行上已執(zhí)行MSB編程,則標(biāo)志單元具有邏4期犬態(tài)"0"。 如勤十所選^^諸單^沒有4;y亍MSB編程,則讀取電壓VR1用于確定所選^f諸單元 的LSB是邏輯'T,或邏輯"0",射口^十所選^f諸單元已M/f亍MSB編程,則讀取電 壓VR2用于確定所選^j諸單元的LSB是邏輯'T,或邏輯"0"。
如同圖4的所選^j諸單元,圖11的所選^^諸單元是育^f諸兩位數(shù)據(jù)的多位非易 失性^^者單元。圖ll的所選^f諸單元能關(guān)于分別在圖(b)中標(biāo)為"ll"、 "10"、 "10"
和"00"的四個閾值電壓分布而務(wù)賭兩位數(shù)據(jù)。所選^f諸單元也能關(guān)于圖(a)的左 手側(cè)上標(biāo)為'T,的闊值電壓分布和標(biāo)為"0"的閾值電壓分布而^f諸一位數(shù)據(jù)。
在圖11的所選^f諸單元的編程^f乍中,所選^j諸單元最初處于擦除狀態(tài),對應(yīng) 圖(a)中左手側(cè)標(biāo)為'T,的閾值電壓分布和圖(b)中標(biāo)為"11"的閾值電壓分布。 此外,標(biāo)志單元最初處于對應(yīng)圖(a)的右手側(cè)標(biāo)為"1"的閾值電壓分布的擦除狀 態(tài)。
在編程操作中,使用LSB數(shù)據(jù)編程所選^f諸單元的LSB,然后使用MSB數(shù)據(jù)編 程所選^f諸單元的MSB。如果編程LSB以存儲邏輯"0",則所選^H諸單元的閾值電壓 應(yīng)能/人圖(a)中標(biāo)為'T,的閾值電壓分布過渡到圖(a)中標(biāo)為"0"的閾值電壓 分布。否則,所選^f諸單元的閾值電壓應(yīng)能保持在標(biāo)為'T'的閾值電壓分布。
然而,在已編程所選^f諸單元的LSB之后,扭^^1^馬"正操怍以確保所選^(諸 單元的LSB被編程至其目標(biāo)邏4^1犬態(tài)。如果^j諸單元的LSB不具有目標(biāo)邏輯狀態(tài), 進(jìn)一步使用緩沖存儲器421中保存的LSB數(shù)據(jù)編程所選^f諸單元的LSB,或者可選地, 枱3則LSB編程4射吳或故障。如果枱,j到LSB編程4射吳或故障,則選擇例如在##單 元陣列431的不同頁或塊的不同^f諸單元并將LSB數(shù)據(jù)/Ai爰沖存儲器421編程到不 同存儲單元中。如果程序3^i正操作確定所選^f諸單元的LSB被編程到目標(biāo)邏#1犬態(tài), 則認(rèn)為LSB的編程是成功的。 一旦LSB成功編程,則標(biāo)志單元##在擦除狀態(tài)。
假i^斤選^f諸單元的LSB已被成功編程到邏輯"0", ^Ho果編程所選^[諸單元 的MSB,則所選^f諸單元應(yīng)從圖(a)中標(biāo)為"0"的中間閾值電壓分布選度到圖(b) 中標(biāo)為"10"的閾值電壓分布或標(biāo)為"00"的閾值電壓分布,這取決于MSB分別是 邏輯"r或邏輯"0"。否則,假設(shè)所選^(諸單元的LSB已被成功編程到邏輯'T,, ^B口果編程所選^f諸單元的MSB,則存儲單元應(yīng)從圖(a)中標(biāo)為"1"的閾值電壓分 布過渡到圖(b)中標(biāo)為"11"的閾值電壓分布或標(biāo)為"01"的闞值電壓分布,這取 決于MSB分別是邏輯"1"或邏輯"0"。
在已編程所選^(諸單元的MSB之后,扭^^踏馬^i正操作以確保將所選^[諸單元 的MSB和LSB編程到它們的目標(biāo)1£#^犬態(tài)。如果禾辨-^i正搡怍確定所選^f諸單元的 MSB和LSB已被編禾li'J它們的目標(biāo)邏l^犬態(tài),則認(rèn)為MSB的編程^功的。 一旦成功 編程MSB,則標(biāo)志單元it;度到圖(b)中標(biāo)為"0"的閾i直電壓分布。另一方面,如果 ^4者單元的MSB或LSB不具有其目標(biāo)邏4^l犬態(tài),則可進(jìn)一步編程所選^f諸單元的MSB, 或者可i^i也,可以^r^則MSB編程4射吳或故障。如果^iP!'測MSB編程4射吳或故障,則 可以隨意/Ai爰沖存儲器421恢復(fù)MSB數(shù)椐用于編程到不同^j諸單元中。然而,逸感
的是,如果片&則到MSB編程4射吳或故障,##改之前^#在所選^(諸單元中的LSB 數(shù)據(jù)。因為當(dāng)編程所選^^諸單元的MSB時緩沖^j諸器421不再^4LSB數(shù)據(jù),需要 重要的'tt處理以確定所選^f諸單元的正確邏4刷犬態(tài)。
圖12和13表示LSB數(shù)據(jù)的示例性'1^^處理。然而,在解釋'1^1處理之前,應(yīng) 該注意所i4^f諸單元的MSB或LSB編程操怍期間發(fā)生的編程4射吳或故障的特性一般 取決于所選^j諸單元的閾值電壓分布的配置以及閾值電壓分布賦值的邏4^1犬態(tài)。例 如,由于將圖ll的圖(b)中四個閾值電壓分布賦值到^h邏輯狀態(tài)"11"、 "01"、 "10"和"00",以及圖(a)中標(biāo)為"0"的相對寬的中間閾值電壓分布的^j ),所 選^f諸單元的某種類型的禾1^4射吳或故障更有可肖汰生。
例如,對于已成功編程所選^f諸單元的LSB到邏輯"1"以及編程MSB到邏輯"0", 如果MSB的編程失敗,則所選^#單元的閾值電壓分布可能##在標(biāo)為"11"的閾 值電壓分布內(nèi)。在該情況下,所選^f諸單元的LSB #^呆持邏輯'T,,并因此不受失 敗影響以正確編程MSB。
另一方面,對于已成功編程所選^f諸單元的LSB到邏輯"0"以及編程MSB到邏 輯"1",如果MSB的編程失敗,則所選^[諸單元的LSB可能不合需要^AiE輯"0" 修改為邏輯"1"。換而言之,所選##單元的目標(biāo)邏4^l犬態(tài)是"10",但在MSB編程 失敗^所選^f諸單元的實際邏4釗犬態(tài)終止為"01"。
所選^f諸單元的LSB可能不合需要i^Aii:輯"0"修改為邏輯'T,的一個原因 在于與圖11中的其他閾值電壓分布相比圖(a)中標(biāo)為"0"的閾值電壓分布相對寬。 例如,如圖(a)中點"A,,和"B"以及圖(b)中對應(yīng)點"A"和"B"所示,圖(a) 中標(biāo)為"0"的閾值電壓分布與圖(b)中標(biāo)為"01"和"10"的各個閾值電壓分布 重疊。因為圖(a)中標(biāo)為"0"的閾值電壓分布與圖(b)中的多個閾值電壓分布重 疊,對于MSB編程之前所選^H諸單元的閾值電壓在點"A,,的情況,如果MSB編程失 敗,則所選^fi者單元將在標(biāo)為"01"的闞值電壓分布終止。
因為所選4"^者單元的MSB或LSB編程操怍期間發(fā)生編程《射吳或故障的特性典型 ;N^決于所選^f諸單元的閾值電壓分布的配置和邏輯狀態(tài)到閾值電壓分布的賦值, 不同的'^1操作可用于具有不同閾值電壓分布和對應(yīng)邏4刷犬態(tài)的^f諸單元。因此, 在不背離本發(fā)明范圍的情況下可以對圖11至13所示的講解示例進(jìn)行各種修改。
為了簡化解釋,下文將閾值電壓分布的配置和邏輯狀態(tài)到不同閾值電壓分布的 對應(yīng)賦值稱為^f諸單it^^f諸單iti且的"單iU口擾(cell scramble ),,。例如,由圖 (a)和(b)中所選^f諸單元的閾值電壓分布表示圖11的所選^^者單元的',it>
擾"。因為所選^f諸單元的編程中4射吳或故障取決于所選^f諸單元的"單W口擾", 將關(guān)于單^>護(hù)3^則所選^#單元中的位錯誤。
~~^殳,對于使用圖11的單^口擾的情況,如果MSB打算被編禾I^邏I^)犬態(tài)"1" ^^目反被編禾l^邏l科犬態(tài)"0",這一般暗示所選^j諸單元具有標(biāo)為"01"的閾ii電 壓分布內(nèi)的閾值電壓,而它打#*有標(biāo)為"10"的閾值電壓分布內(nèi)的閾值電壓。(或 者,可能是MSB4射吳可表示當(dāng)所選^f諸單元打算在標(biāo)為"11"的閾值電壓分布內(nèi)時, 所選^f諸單4標(biāo)為"00"的閾值電壓分布內(nèi);然而,該4射吳不可肯&以在非易失 ')"^f諸系統(tǒng)400的一般才剩乍中忽4見)。因此,'1^1處理可以比4^斤選^^諸單元中編程 的MSB數(shù)據(jù)和緩沖#^者器421中{絲的對應(yīng)MSB,并如果所選^f渚單元的MSB是邏輯 "0"以及緩沖務(wù)賭器421中^^的MSB是邏輯"1",則'l"^l處理可以確定不僅4fi吳 存在于所選^f諸單元中存儲的MSB數(shù)據(jù)中,而且4射吳已發(fā)生在所選^[諸單元中併存 的LSB凄t據(jù)中,將LSB數(shù)據(jù)/Aii:輯"0"改變?yōu)檫壿?T,。
圖12是表示圖10的非易失性務(wù)賭系統(tǒng)400的LSB和MSB數(shù)據(jù)的恢復(fù)處理的示 例的示意圖。圖12的'fc^l處理包括失敗位置;^則和數(shù)據(jù)'l^^操怍。
圖12中,行"(a)"表示^f諸單元陣列431的所選^f諸單元中要編程的原始數(shù) 據(jù)頁,行"(b)"表示在^f諸單元陣列431的所選##單元中實際編程的數(shù)據(jù)頁,行 "(c)"表示^f諸單元陣列431的所選^j諸單元中編程的MSB數(shù)據(jù)頁(標(biāo)為"閃存 MSB數(shù)據(jù)"),行"(d)"表示緩沖^4者器421中j轉(zhuǎn)的MSB數(shù)據(jù)頁(表示"緩沖MSB 數(shù)據(jù)");行"(e)"表示^^諸單元陣列341的所選^j諸單元中編程的LSB數(shù)據(jù)頁(表 示"閃存LSB數(shù)據(jù),,)以及行"(f )"表示^J^線處S/人閃存LSB數(shù)據(jù)'fcl的LSB 數(shù)據(jù)頁(表示"'^llLSB數(shù)據(jù)")。
在圖12中,由表示原始數(shù)據(jù)和在所選^j諸單元中實際編程的數(shù)據(jù)之間的差別的 ^^4示編程4射吳或故障。在圖12的兩個弧線中,原始數(shù)據(jù)是"10"以及編程數(shù)據(jù) 是"01"。換而言之,包括位錯誤的所選^f諸單元的目標(biāo)一犬態(tài)對應(yīng)圖11中標(biāo)為"10" 的閾值電壓分布,而包括位錯誤的所選^(諸單元的實際狀態(tài)對應(yīng)圖11中標(biāo)為"01" 的閾值電壓分布。如上所述,可以通過比較閃存MSB數(shù)據(jù)和緩沖MSB數(shù)據(jù)#^則該錯 誤的特定類型。如果特定^f諸單元的閃存MSB數(shù)據(jù)是邏輯"0"以及特定^f諸單元的 緩沖MSB數(shù)據(jù)是邏輯"1",應(yīng)該'^ll特定^j諸單元中的LSB數(shù)據(jù)以便它是邏輯"0"。
在非易失性存儲系統(tǒng)400中, 一般在^f諸控制器420的控制下在比較器424中 ^Vf亍閃存MSB數(shù)據(jù)和緩沖MSB數(shù)據(jù)之間的比較。根據(jù)比較器424 ^^f亍的比較可以檢 測"失敗位置"的定位(即,位錯誤)iHM在^:位置檢測器425中。"^殳/X4
儲單元陣列431將閃存LSB數(shù)據(jù)通過錯誤糾正電路422讀入^f分存儲器422。 一旦比 較器424和4fi吳位置一b則器424已識別出閃存LSB數(shù)據(jù)的4射吳需^f奮改,則'ftt電 路426可以使用4射吳位置修復(fù)閃存LSB數(shù)據(jù)以產(chǎn)生修復(fù)的LSB數(shù)據(jù)。
圖13是表示根據(jù)本發(fā)明一實施例的圖10的^H諸系統(tǒng)的編程^^乍的^^f呈圖。圖 13的流程圖進(jìn)一步闡明圖12所示的'^ll操作,W苗述了在編程非易失性務(wù)賭系統(tǒng) 400中涉及的其^^呈序。在下面的描述中,由招號表示示例性方法步驟。itM卜,為了 便于解釋,從編程操作的描述中省s^^種常規(guī)細(xì)節(jié)。例如,該描述不討論涉及在主 機(jī)410和^f諸控制器420之間發(fā)送命令和;4iihil從控制器420向閃存430發(fā)送控制 信號的特定問題。然而,本領(lǐng)域技術(shù)人員可以理解在本發(fā)明的范圍內(nèi)^f乍和控制非 易失'fi^(諸系統(tǒng)400的各種技術(shù)。
參考圖13,在非易失'f^[諸系統(tǒng)400的編程^1乍中,將LSB數(shù)據(jù)編考i^^(諸單 元陣列431的所選^i者單元(S205 )。為了簡化解釋,假設(shè)將LSB凄t據(jù)成功編考呈到所 選^f諸單元。然后,將所選^(諸單元中要編程的MSB數(shù)^f綠^Ml沖存儲器421中 (S210 )。然后,將緩沖務(wù)賭器421中保存的MSB數(shù)據(jù)編程到所選^^諸單元中(S215 )。
在將緩沖存儲器421中保存的MSB數(shù)據(jù)編程到所選^f諸單; L^后,扭/f^f呈序驗 證操作以確^否已成功編程所有的所選^f諸單元(S220)。如果程序-^i正4乘怍確定 已成功編程所有的所選^f諸單元,則編程^1乍終止(參見,圖13中標(biāo)為"No"的上 箭頭)。如果成功編程MSB數(shù)據(jù), 一般編禾lM"應(yīng)所選^f諸單元的標(biāo)志單元以表示在所 選^f諸單元中已編程MSB數(shù)據(jù)。否則,如果當(dāng)編程所選^f諸單元中的MSB數(shù)據(jù)時程 序驗證操怍確定已;^4射吳或故障,則^^諸控制器420將編禾l^所選^f諸單元的LSB 數(shù)驗入銜吳糾正單元423 (S225 )。
此時,錯i吳糾正單元423中保存的LSB數(shù)據(jù)可能包含錯i吳,因為如上所述,當(dāng) 編程所選^f諸單元中的MSB數(shù)據(jù)時發(fā)生的4射吳或故障也可能引起LSB數(shù)據(jù)中的4fi吳。 因此,接下來錯誤糾正單元423評價LSB數(shù)據(jù)以枱訓(xùn)LSB數(shù)據(jù)中錯誤的出現(xiàn)和/或確 ^A否^^1錯誤糾正技術(shù)糾正在LSB數(shù)據(jù)中可^^在的錯誤(S230 )。如果4脊誤糾正 單元423確定LSB數(shù)據(jù)不包^f^f可^i吳或可以仗月錯誤糾正技術(shù)糾正LSB數(shù)據(jù)中的 ^f可4fi吳,則不真正需^f'f改或十tt LSB數(shù)據(jù)。相反,對應(yīng)所選^(諸單元的標(biāo)志單 元可^#在一狀態(tài),該狀態(tài)表示已在所選^f諸單元中只正確編程LSB數(shù)據(jù)并可以從 緩沖存儲器421將MSB數(shù)據(jù)編程到^f諸單元陣列431的不同位置。或者,可以將LSB 數(shù)據(jù)和MSB數(shù)據(jù)編程到##單元陣列431中的不同##單元集。在^f》剛青況下,如 果LSB數(shù)椐不包^f^可4fi吳或只包含可以由錯誤糾正單元423使用的錯_誤糾正4支術(shù)
容易糾正的4普誤,則不需^f'務(wù)復(fù)LSB數(shù)據(jù)并因此如圖13中標(biāo)為"Yes"的箭頭所示 可以省略圖13中步驟S230以后的步驟。
如果4射吳糾正單元423中j錄的LSB數(shù)據(jù)包含不能^J 1由4射吳糾正單元423使 用的錯i吳糾正技術(shù)容易糾正的錯誤,則#1晉誤糾正單元423中保存的LSB數(shù)才刷絲 在^f分務(wù)賭器422并且4;^亍如圖13中標(biāo)為"No"的下部箭頭所示的進(jìn)一步的步驟。 具體的,比較器424接^^斤選^(諸單元中編程的MSB數(shù)據(jù)("閃存MSB數(shù)據(jù),,)和緩 沖存儲器421中保存的MSB數(shù)據(jù)("緩沖MSB數(shù)據(jù),,)并比較閃存MSB數(shù)據(jù)和緩沖MSB 數(shù)據(jù)(S235 )。根據(jù)閃存MSB數(shù)據(jù)和緩沖MSB數(shù)據(jù)之間的差別,然后失敗位置^^則器 425 4&則MSB數(shù)據(jù)中一個或多個位4射吳的位置(S240 X然后,4頓失敗位置>^則器 425獲得的位置,并根據(jù)所選^f諸單元的單元加擾,修復(fù)電路426修改^H"分存儲器 422中^f絲的LSB數(shù)據(jù)(S245 )。然后,^H^分^f諸器422中^4的已修改LSB數(shù)據(jù)被 傳送回到錯誤糾正單元423以及錯i吳糾正單元423可禽^企測和/或糾正已修改LSB數(shù) 據(jù)中的剩余4射吳(S250)。 M, 一旦已修改LSB數(shù)據(jù)以糾正MSB數(shù)據(jù)的失敗編程引 起的錯誤,將分別從錯誤糾正單元423或^f分存儲器422以及緩沖存儲器421將LSB 數(shù)據(jù)和MSB數(shù)據(jù)編禾li'j閃存430內(nèi)的新塊或頁(S255 )。
圖14是根據(jù)本發(fā)明另一實施例的非易失'^^f諸系統(tǒng)500的示意框圖。非易失性 ^^諸系統(tǒng)500類似于圖10所示的非易失'^##系統(tǒng)400。 M的,非易失^^fi者系 統(tǒng)500包括類似于主機(jī)410的主機(jī)510、類似于^i諸控制器420的^[諸控制器520 以及閃存芯片530和540,它們中每個都類似于閃存430。
與非易失'f4^f諸系統(tǒng)400相反,非易失'^^^諸系統(tǒng)500包括兩個閃存芯片530 和540。相應(yīng)地,^f諸控制器520包括用于分別編程閃存芯片530和閃存芯片540 的兩個緩沖^^諸器52a和52a。然而,與圖8中的##控制器320不同,^#控制器 520只包括一個^^分務(wù)賭器522。 ^f諸控制器520只包括一個^f分務(wù)賭器522的原因 在于^f謙檢制器520類似于^^諸控制器420操作,其中在所選^f諸單元編程MSB數(shù) 據(jù)之前在閃存芯片530和540的所選^f諸單元中編程的LSB數(shù)據(jù)不是自動^ft在備 份^j諸器522中。相反,在將MSB數(shù)據(jù)編程到所選^f諸單元的嘗試失敗^,只將 所選^f諸單元中保存的LSB翁:據(jù)傳i^J'j^f分存儲器522。如果試圖將MSB數(shù)據(jù)編程到 閃存芯片530或540的所選^f諸單元失敗,則^^緩沖^(諸器521和^^分^^諸器522 M/f亍圖13中的步驟S230至S255以A^斤選^^諸單元'l^lLSB數(shù)據(jù)。
圖15是根據(jù)本發(fā)明另一實施例的非易失性務(wù)賭系統(tǒng)的示意框圖。圖15的非易 失寸^[諸系統(tǒng)600類似于圖14所示的非易失'^4J諸系統(tǒng)500。 M的,非易失'f錄
儲系統(tǒng)600包括類似于主機(jī)510的主機(jī)610、類似于^f諸控制器520的^f諸控制器 620以及每個都類似于閃存芯片530和540的閃存芯片631至63n。然而,與非易失 '^4^諸系統(tǒng)500相反,不是兩個閃存芯片和兩個對應(yīng)緩沖^4者器,非易失'^H者系 統(tǒng)600可以具有任意數(shù)V,的緩沖存儲器621至62n以及任意數(shù)V,的對應(yīng)閃存 芯片631至63n。如同##控制器520, ^f諸控制器620包括單個共^|^分##器 62n,,用于當(dāng)在^f可閃存芯片631至63n中的編程MSB數(shù)據(jù)失敗時對LSB數(shù)據(jù)^;^亍 修復(fù)#1乍。非易失'hi^f諸系統(tǒng)600的功能類似于非易失性系統(tǒng)500和400,并因jtb^' 略其功能的詳細(xì)描迷以it^冗余。
如同非易失'l"^ft系統(tǒng)300和900,非易失4^f諸系統(tǒng)500和600可^JD多種 不同接口和/或數(shù)據(jù)傳送協(xié)議以分別^[諸控制器520和620以及^f諸芯片530和 540和631至63n之間傳送數(shù)據(jù)。例如,非易失性存儲系統(tǒng)500和600可以使用多個 4妾口以^/f亍同時并行數(shù)據(jù)傳送或^^]一個或多個接口以^/f亍交叉數(shù)據(jù)傳送。而且, 如同本發(fā)明的其他實施例,可以在諸如單個DR細(xì)的單個芯片的不同區(qū)域或多個不同 芯片中分別形^H諸控制器520和620中的緩沖^j諸器和^f分^^諸器。
因為圖10至圖15中所示的非易失性務(wù)賭系統(tǒng)不需M次^^亍MSB編程時名喻 LSB數(shù)據(jù),這些系統(tǒng)相對于其中每次執(zhí)行MSB數(shù)據(jù)#|^分LSB數(shù)據(jù)的系統(tǒng)具有更高的 性能,除非編程失敗i^頁繁以至于高頻率地^if]^^分的LSB數(shù)據(jù)。此外,因為圖IO 至15中所示的系統(tǒng)只為多個緩沖^H諸器使用一個共^I^分^^諸器,這些系統(tǒng)與為每 個緩沖^4者器都包括一個^P分"4i渚器的類似系鄉(xiāng)W目比設(shè)計的M^莫更'J 、。
總而言之,通過為已在所選多層^f諸單元中保存的數(shù)據(jù)提供^f分務(wù)賭器,并通 過當(dāng)MSB編程#^乍失敗時提供^1數(shù)據(jù)的進(jìn)程,本發(fā)明的實施例可以it^當(dāng)編程多 i UH諸單元時的數(shù)據(jù)丟失。結(jié)果,本發(fā)明的實施例提供與常規(guī)非易失'^^諸系鄉(xiāng)W目 比具有改進(jìn)可靠性的非易失'l"i^^者系統(tǒng)。
上述示例性實施例只是講解示例。本領(lǐng)域技術(shù)人員能理解在不背離后面的權(quán)利 要求定義的本發(fā)明范圍的情況下可以對示例性實施例進(jìn)行形式和細(xì)節(jié)上的各種改 變。
權(quán)利要求
1.一種非易失性半導(dǎo)體存儲系統(tǒng),包括包括多個多位存儲單元的一存儲陣列;和一存儲控制器,包括一緩沖存儲器,用于存儲在多個存儲單元中所選存儲單元中已編程的j-位數(shù)據(jù);一修復(fù)存儲器,用于保存從所選存儲單元中讀取的i-位數(shù)據(jù);一失敗位置檢測器,用于根據(jù)從所選存儲單元讀取的j-位數(shù)據(jù)和緩沖存儲器中存儲的j-位數(shù)據(jù)之間的比較確定i-位數(shù)據(jù)中的位錯誤的位置;和一修復(fù)單元,用于修復(fù)在修復(fù)存儲器中保存的i-位數(shù)據(jù)中的位錯誤。
2、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中緩沖存儲器具有比修復(fù)存儲器更大的容量。
3、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中存儲控制器進(jìn)一步包括用于執(zhí)行比較的比 較器。
4、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中存儲控制器進(jìn)一步包括用于糾正i-位數(shù)據(jù) 中錯誤的錯誤糾正單元。
5、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中存儲控制器進(jìn)一步包括用于糾正i-位數(shù)據(jù) 中錯誤的錯誤糾正電路。
6、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中失敗位置檢測器關(guān)于多位存儲單元的單元 加拔確定位錯誤的位置。
7、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中i-位數(shù)據(jù)和j-位數(shù)據(jù)都包括數(shù)據(jù)頁或塊。
8、 根據(jù)權(quán)利要求l所述的系統(tǒng),其中存儲陣列包括NAND閃存陣列。
9、 一種非易失性半導(dǎo)^f諸系統(tǒng),包括 第一至第n存儲芯片,每個包括多個多位非易失性存儲單元;和 一存儲控制器,包括第一至第m緩沖存儲器,每個用于存儲在第一至第n刷諸芯片內(nèi)的多個多位非易 失性存儲單元中所選存儲單元中編程的j-位數(shù)據(jù);和第一至第P修復(fù)存儲器,用于存儲在所選存儲單元中保存的j-位數(shù)據(jù);一失敗位置沖檢測器,用于根據(jù),從所選存儲單元讀取的j-位數(shù)據(jù)和緩沖存儲器中 存儲的j-位數(shù)據(jù)之間的比較,來確定i-位數(shù)據(jù)中的位4錯誤的位置;和—'多復(fù)單元,用于修復(fù)在修復(fù)存儲器中保存的i-位數(shù)據(jù)中的位錯誤。
10、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中n和m都大于l以及第一至第p修復(fù)存儲器包括單樣復(fù)賴器。
11、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中第一至第m緩沖^^諸器和第一至第p修復(fù)存儲器包括單個存儲芯片的不同區(qū)域。
12、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中n等于m。
13、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中^(諸控制器進(jìn)一步包括用于凈似亍比較的比 較器。
14、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中^f諸控制器進(jìn)一步包括用于糾正i-位數(shù) 據(jù)中錯誤的錯誤糾正單元。
15、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中存儲控制器進(jìn)一步包括用于糾正i-位數(shù) 據(jù)中錯誤的錯誤糾正電路。
16、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中失敗位置存儲則器關(guān)于多存儲單元的單元 加護(hù)W角定位4射吳的位置。
17、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中i-位數(shù)據(jù)和j-位數(shù)據(jù)都包括數(shù)據(jù)頁或塊。
18、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中一個或多個第一至第n個存儲芯片包括NAND 閃存芯片。
19、 一種在多位非易失性半導(dǎo)體系統(tǒng)中執(zhí)行編程操作的方法,所述多位非易 失性存儲系統(tǒng)包括包含多個多位存儲單元的一務(wù)賭陣列和一存儲控制器,該方法包 括在存儲陣列的所選存諸單元中編程i-位數(shù)據(jù); 一存儲控制器中一存儲控制器; 編程所選存儲單元中的j-位數(shù)據(jù); 確定在所選存儲單元中是否成功編程j-位數(shù)據(jù);一旦確定在所選存儲單元中沒有成功編程j-位數(shù)據(jù),則比較所選存儲單元中保 存的j-位數(shù)據(jù)和存儲控制器中保存的j-位數(shù)據(jù);根據(jù)比較,確定所選存儲單元中存儲的i-位數(shù)據(jù)的至少一個位錯誤的位置;以及修復(fù)i-位數(shù)據(jù)中至少一個位4射吳。
20、 根據(jù)權(quán)利要求19所述的方法,進(jìn)一步包括 一旦確定在所選存儲單元中成功編程j-位數(shù)據(jù),則終止編程才乘怍。
21、 根據(jù)權(quán)利要求19所述的方法,進(jìn)一步包括一旦確定在所選##單元中沒有成功編程j-位數(shù)提,并在比較所選存儲單元中保存的j-位數(shù)據(jù)和存諸控制器中保存的j-位數(shù)據(jù)之前,將i-位數(shù)據(jù)從所選存諸單元 讀入^f諸控制器中并確定通過錯誤糾正單元是否能夠糾正i -位數(shù)據(jù)中的任何位錯 誤;以及一旦確定可以由錯i吳糾正單元糾正i-位數(shù)據(jù)中的任何錯誤,則終止編程l喿怍。
22、 根據(jù)權(quán)利要求19所述的方法,進(jìn)一步包括在修復(fù)i-位數(shù)據(jù)中的至少一個位4射吳之后,使用錯誤糾正單元糾正i-位數(shù)據(jù)中 的賄剩余位衞吳。
23、 根據(jù)權(quán)利要求19所述的方法,其中關(guān)于多位存諸單元的單元加擾確定i-位 數(shù)據(jù)中的至少一個位4射吳的位置。
24、 根據(jù)權(quán)利要求19所述的方法,其中第一至第n個務(wù)賭芯片中的一個或多個 包括NAND閃存芯片。
25、 根據(jù)權(quán)利要求19所述的方法,其中j-位數(shù)據(jù)和i-位數(shù)據(jù)都包括數(shù)據(jù)頁或塊。
26、 一種編程非易失性存儲器的方法,該非易失性存儲器包括多位非易失性存諸 單元,該方法包括定義存諸單元的單元加擾;一旦檢測存諸單元的所選單元中j-位數(shù)據(jù)的編程錯誤,則關(guān)于單元加擾修復(fù)所 選存諸單元中之前編程的i-位數(shù)據(jù)。
27、 根據(jù)權(quán)利要求26所述的方法,進(jìn)一步包括 使用錯誤糾正單元糾正i-位數(shù)據(jù)中的錯i吳。
28、 根據(jù)權(quán)利要求26所述的方法,其中存諸單元是兩位非易失性存諸單元;以及其中i-位數(shù)據(jù)是最高有效位數(shù)據(jù)以及j-位數(shù)據(jù)是最j絲效位數(shù)據(jù)。
29、 根據(jù)權(quán)利要求26所述的方法,其中存諸單元是兩位非易失性 存 諸單元;以及其中i-位數(shù)據(jù)是最低有效位數(shù)據(jù)以及j-位數(shù)據(jù)是最高有效位數(shù)據(jù)。
30、 根據(jù)權(quán)利要求26所述的方法,其中j-位數(shù)據(jù)和i-位數(shù)據(jù)都包括數(shù)椐頁或塊。
31、 根據(jù)權(quán)利要求26所述的方法,其中非易失性存諸器包括NAND閃存。
全文摘要
一種非易失性存儲系統(tǒng)包括主機(jī)、存儲控制器和包含多級閃存單元的閃存芯片。存儲控制器包括備份存儲器,用于當(dāng)進(jìn)一步編程多級閃存單元失敗時保存之前從多級閃存單元編程數(shù)據(jù)的備份拷貝。之前編程數(shù)據(jù)的備份拷貝用于在將之前編程數(shù)據(jù)再編程到非易失性存儲系統(tǒng)中不同多級存儲單元之前檢測和糾正之前編程數(shù)據(jù)中的任何錯誤。
文檔編號G11C16/06GK101202109SQ20071030778
公開日2008年6月18日 申請日期2007年10月19日 優(yōu)先權(quán)日2006年10月19日
發(fā)明者崔珍赫 申請人:三星電子株式會社