專利名稱:降低擦除時間及防止過擦除之擦除方法
技術(shù)領(lǐng)域:
本發(fā)明涉及非揮發(fā)性存儲器及具有非揮發(fā)性存儲器的裝置,更特別的是,本發(fā)明涉及一種使用在快閃存儲器中的擦除方法。
背景技術(shù):
經(jīng)常期望的是所使用的存儲器裝置即使當(dāng)電源暫時性的中斷或當(dāng)裝置無限期做不施加電力的放置時,仍可保留信息。多種半導(dǎo)體存儲器即以此特征發(fā)展為所謂的非揮發(fā)性存儲器。廣泛應(yīng)用的種類為電可擦除可編程只讀存儲器(Electrically Erasable Programmable Read-Only Memory,EEPROM),信息可在此EEPROM的存儲單元內(nèi)依電性來儲存及擦除。
一種公知的EEPROM存儲器裝置具有在單芯片上以N×M矩陣排列的存儲器陣列,其中N為列數(shù)及M為行數(shù),此陣列分割為一些扇區(qū),而各扇區(qū)可分別被選擇擦除,且各扇區(qū)是以一預(yù)定列數(shù)聚集的方式來形成。如圖1所示,一個16兆位(Megabit,MB)的快閃存儲器110分割為32扇區(qū),各扇區(qū)具有64千字節(jié)的大小及可包括256字節(jié)的列及256字節(jié)的行。
各存儲單元具有整合在P型基板內(nèi)的一個N型源極區(qū)域及一個N型漏極區(qū)域。一個浮接的柵極通過薄介電層與基板分隔,第二個介電層則分隔控制柵與浮接?xùn)?,此外,在基板?nèi)的一個P型通道區(qū)域則分隔了源極與漏極區(qū)域。在一個EEPROM中,存儲單元被分割成多個扇區(qū),其中各單元晶體管的源極區(qū)域在各扇區(qū)內(nèi)連接到一相同節(jié)點(diǎn),此節(jié)點(diǎn)稱為Vsc。因此,扇區(qū)120內(nèi)的所有存儲單元將同時被擦除,且僅在扇區(qū)接連扇區(qū)的基礎(chǔ)上執(zhí)行擦除,此單元晶體管的控制柵連接至字線,而其源極則連接至位線。
當(dāng)?shù)碗妷菏┘拥皆礃O區(qū)域且高電壓施加到控制柵及漏極區(qū)域時,EEPROM可通過發(fā)射熱電子到浮接?xùn)诺姆绞絹磉M(jìn)行編程。舉例來說,當(dāng)源極區(qū)域保持在接地電位時,源極電壓約為+4伏特且控制柵電壓約為+9伏特。在擦除操作時,一扇區(qū)中的快閃存儲器通過所謂的富勒-諾得漢(Fowler-Nordheim,F(xiàn)-N)穿隧效應(yīng)的方法依次被擦除,其中,正電壓(如+6伏特)施加在源極區(qū)域、負(fù)電壓(如-9伏特)施加于控制柵、及允許漏極區(qū)域浮接。在此偏壓狀態(tài)下,一個介于12到9MV/cm的強(qiáng)電場將在控制柵與基板間產(chǎn)生,所以在浮接?xùn)爬鄯e的負(fù)電荷通過薄絕緣體放電至源極區(qū)域。在讀取操作中,此源極區(qū)域保持在接地電位(0伏特)及控制柵具有約+5伏特的電壓,此漏極區(qū)域連接到介于+1到+2之間的電壓。上述范例僅用以解釋,亦可采用其它的電壓值以提供相同的編程、擦除、及讀取操作。
一公知的擦除方法是依次擦除欲擦除的扇區(qū)的每一個存儲單元,若一個存儲單元驗證失敗時,一擦除脈沖將被施加于所有欲擦除的扇區(qū),而此存儲單元將再被驗證一次,此程序?qū)⒁恢敝貜?fù)直到此存儲單元通過驗證,然后才再驗證下一個存儲單元,若一個存儲單元非常難以擦除,在多次施加擦除脈沖之后,正常的存儲單元則可能會被過擦除。
為了防止過擦除,如圖2所示的一個改善擦除的方法是對各扇區(qū)使用一個扇區(qū)擦除標(biāo)記,一旦成功擦除及驗證一扇區(qū)內(nèi)所有存儲單元時(步驟202),設(shè)定此扇區(qū)的擦除標(biāo)記(步驟204)且不再擦除此扇區(qū)。因此,不會只因為另一扇區(qū)內(nèi)的一個難以擦除的存儲單元而過擦除正常的扇區(qū)。然而,因為擦除次數(shù)缺乏控制,一個難以擦除的存儲單元的驗證仍耗費(fèi)極大量時間,且過擦除的考慮并未完全消除。舉例來說,若一個存儲單元使用100次脈沖以通過驗證時,假設(shè)各驗證周期約為200奈秒及各擦除脈沖周期約為10毫秒,則需花費(fèi)大約21秒。
為了降低總擦除時間,圖3所示的另一個改善方法是在各扇區(qū)中設(shè)置一個地址緩存器用以記錄扇區(qū)內(nèi)驗證失敗的地址(步驟302),并依次驗證各扇區(qū)的存儲單元(步驟304),若一個存儲單元驗證失敗時,其地址將被儲存于扇區(qū)地址緩存器。如此,在施加擦除脈沖(步驟306)之后,并不需要從扇區(qū)的第一存儲單元開始驗證,反而可以繼續(xù)驗證先前驗證失敗的存儲單元(步驟308)。然而,扇區(qū)地址緩存器會占用存儲單元內(nèi)的芯片空間。舉例來說,在一個具有35扇區(qū)的16M快閃存儲器中,地址緩存器所占據(jù)的面積將在14平方毫米大小的16M芯片中占據(jù)約0.89平方毫米。
發(fā)明內(nèi)容
一種使用于設(shè)置在多個扇區(qū)的快閃存儲單元的陣列的擦除方法。其中各扇區(qū)具有一個擦除標(biāo)記,而所欲擦除的扇區(qū)的擦除標(biāo)記則被設(shè)定為第一值,自第一扇區(qū)到最后扇區(qū),而各扇區(qū)第一地址至最后地址中標(biāo)記設(shè)定第一值之的存儲單元依次被驗證。當(dāng)驗證失敗且同一存儲單元驗證次數(shù)小于預(yù)定數(shù)目時,施加一擦除脈沖至此扇區(qū)且再驗證同一存儲器地址;當(dāng)驗證失敗且同一存儲單元驗證次數(shù)到達(dá)預(yù)定數(shù)目時,驗證其標(biāo)記設(shè)為第一值的剩余扇區(qū)。當(dāng)欲擦除的扇區(qū)中各存儲單元通過驗證時,將此扇區(qū)的擦除標(biāo)記設(shè)定為第二值,當(dāng)欲擦除的各扇區(qū)的擦除標(biāo)記設(shè)為第二值時,終止此擦除操作。
圖1為非揮發(fā)性存儲器的結(jié)構(gòu)圖。
圖2為公知使用擦除標(biāo)記的擦除方法的流程圖。
圖3為另一種公知使用扇區(qū)地址緩存器的擦除方法的流程圖。
圖4A、圖4B、圖4C為依照本發(fā)明一較佳實施例所示的擦除方法的流程圖。
圖5為依照本發(fā)明另一較佳實施例所示的擦除方法的流程圖。主要元件標(biāo)記說明110扇區(qū)內(nèi)存儲單元陣列12016兆位存儲單元陣列WL0~WLn字線
BL0~BLm位線Vsc節(jié)點(diǎn)202、204公知擦除方法的步驟302、304、306、308;公知擦除方法的步驟410~474本發(fā)明一較佳實施例的擦除方法的各步驟510~524本發(fā)明另一較佳實施例的擦除方法的各步驟具體實施方式
為了降低總擦除時間及防止過擦除非揮發(fā)性存儲器,一較佳實施例可跨越一個難以被擦除的存儲器地址,且繼續(xù)驗證剩余扇區(qū),然后再回來處理此特定存儲器地址。此非揮發(fā)性存儲器具有設(shè)置在多個扇區(qū)之內(nèi)的存儲單元陣列,在每個扇區(qū)內(nèi),各單元晶體管的源極區(qū)域連接到一相同節(jié)點(diǎn),因此,此扇區(qū)之內(nèi)的所有存儲單元將被同時擦除,且此擦除是執(zhí)行在扇區(qū)接隨扇區(qū)的基礎(chǔ)上。當(dāng)一扇區(qū)中的存儲器地址驗證失敗時,施加一擦除脈沖于此扇區(qū)或所有欲擦除的扇區(qū),經(jīng)過幾次擦除之后,雖然仍有難以被擦除的存儲器地址未通過此驗證,但其它欲擦除的扇區(qū)中存儲單元可迅速地通過此驗證。在此情況之下,較佳實施例可跨越難以被擦除的存儲單元地址且繼續(xù)驗證其它扇區(qū)中的存儲單元,因此能提早驗證其它扇區(qū)以降低總擦除時間及能防止過擦除。
各扇區(qū)具有一擦除標(biāo)記以指示此扇區(qū)的擦除狀況,此擦除標(biāo)記可設(shè)定為第一值以指示需要擦除此扇區(qū),此擦除標(biāo)記可設(shè)定為第二值以指示已成功地擦除及驗證此扇區(qū),一個目前地址緩存器用以指示目前被驗證的地址,一個擦除次數(shù)計數(shù)器用以指示施加擦除脈沖及驗證同一地址的次數(shù)。當(dāng)此同一地址連續(xù)地被擦除且在驗證一定次數(shù)后但仍失敗時,則會跨越此難以被擦除的存儲器,且目前地址緩存器將被設(shè)為下一欲擦除的扇區(qū)的第一地址。在一實施例中,跨越次數(shù)設(shè)定約為10到50次。
圖4A、圖4B、及圖4C顯示一較佳實施例的流程,如圖4A所示,在步驟410中,欲擦除的扇區(qū)的擦除標(biāo)記設(shè)為第一值,在步驟412,目前地址緩存器則被設(shè)定為欲擦除的第一扇區(qū)的第一地址。在步驟414中,擦除次數(shù)計數(shù)器設(shè)為零,在步驟420中,驗證儲存在目前地址緩存器之的地址,在開始時,驗證欲擦除的第一扇區(qū)的第一地址。
如圖4B所示,在步驟422時,若驗證失敗時,擦除次數(shù)計數(shù)器的值與擦除錯誤值比較。在步驟424中,若此擦除次數(shù)計數(shù)器的值到達(dá)擦除錯誤值,終止擦除程序并傳送一失敗信號。在步驟426時,若驗證次數(shù)計數(shù)器的值小于驗證錯誤值時;擦除次數(shù)計數(shù)器再一次與擦除跨越值(例如10到50)做比較,若擦除次數(shù)計數(shù)器的值小于擦除跨越值時,在步驟428中施加一擦除脈沖于所有擦除標(biāo)記具有第一值的扇區(qū),且擦除次數(shù)計數(shù)器的值增加1,然后前進(jìn)至步驟420再驗證。在步驟430中,若擦除次數(shù)計數(shù)器的值到達(dá)擦除跨越值時,將決定此扇區(qū)是否為其擦除標(biāo)記具有第一值之的最后扇區(qū),若此扇區(qū)為最后扇區(qū),則前往步驟428,若此扇區(qū)并非其擦除標(biāo)記具有第一值的最后扇區(qū),在步驟432中,跨越此具有難以擦除的地址的扇區(qū),且此目前地址緩存器將被設(shè)定為其擦除標(biāo)記具有第一值的下一個扇區(qū)的第一地址,然后才前往步驟460以快速驗證。
回到圖4A,在步驟440中,若此驗證成功時,目前地址緩存器被用來比較以決定此目前地址是否為此扇區(qū)內(nèi)的最后地址。在步驟442中,若目前地址并非此扇區(qū)的最后地址,目前地址緩存器的值將增加1,且前往步驟420以驗證。在步驟444時,若目前地址為此扇區(qū)內(nèi)的最后地址時,此扇區(qū)的擦除標(biāo)記將被設(shè)定為第二值以指示已成功擦除及驗證此扇區(qū)。在步驟446中,決定此扇區(qū)是否為其擦除標(biāo)記具有第一值的最后扇區(qū);接著在步驟448中,若此扇區(qū)并非欲擦除的最后扇區(qū),目前地址緩存器將被設(shè)為其欲擦除的下一個扇區(qū)的第一個地址。在步驟450內(nèi),若此扇區(qū)為欲擦除的最后扇區(qū),此即意味著所有欲擦除的扇區(qū)的標(biāo)記將被設(shè)為第二值,于是完成此擦除程序。
在快速驗證的循環(huán)中,若在一扇區(qū)中的一地址在第一次嘗試未能成功驗證,此扇區(qū)將被跨越。如圖4C所示,在步驟460中,驗證儲存在目前地址緩存器的地址。在步驟462中,若驗證失敗,則將決定是否此扇區(qū)是除了跨越扇區(qū)之外欲擦除的最后扇區(qū)。在步驟464中,若此扇區(qū)并非除了跨越扇區(qū)之外的最后扇區(qū),目前地址緩存器將被設(shè)定為欲擦除的下一扇區(qū)的第一地址,然后前往步驟460以驗證;在步驟466中,若此扇區(qū)為除了跨越扇區(qū)之外的最后扇區(qū),目前地址緩存器將被設(shè)為跨越扇區(qū)的第一地址。在步驟468中,擦除次數(shù)計數(shù)器設(shè)為零,然后回到步驟420以驗證。
在步驟470中,若在快速驗證循環(huán)中驗證成功時,將決定此地址是否為此扇區(qū)的最后地址。在步驟472中,若此地址并非此扇區(qū)的最后地址,將此地址緩存器的值增加1,然后前往步驟460以驗證;在步驟474時,若此地址為此扇區(qū)的最后地址,此扇區(qū)的擦除標(biāo)記將被設(shè)為第二值以指示已成功擦除及驗證整個扇區(qū),然后前往步驟462以決定此扇區(qū)除了跨越扇區(qū)之外是否為欲擦除的最后扇區(qū)。
為了防止過擦除問題,另一個實施例的擦除方法能施加擦除脈沖于驗證失敗的扇區(qū),以及周期性地施加于其標(biāo)記為第一值的所有扇區(qū),一個可能的方式為每經(jīng)過一些次數(shù),施加擦除脈沖于其擦除標(biāo)記具有第一值的所有扇區(qū),而不僅僅是施加于擦除失敗的扇區(qū)。舉例來說,每一個其它時間施加擦除脈沖于其擦除標(biāo)記具有第一值的所有扇區(qū),而不僅僅是施加于驗證失敗的扇區(qū)。
圖5顯示為在地址驗證失敗后的一個替代程序的流程圖,在步驟510中,若此驗證失敗,比較擦除次數(shù)計數(shù)器的值與擦除錯誤值。然后在步驟512時,若此擦除次數(shù)計數(shù)器的值到達(dá)擦除錯誤值時,終止擦除程序,且傳送一失敗信號。在步驟514時,若擦除次數(shù)計數(shù)器的值小于擦除錯誤值時,此擦除次數(shù)計數(shù)器的值再與擦除跨越值(例如50)做比較,若擦除次數(shù)計數(shù)器的值小于擦除跨越值時,在步驟516此擦除次數(shù)計數(shù)器的值將被比較以決定是否為擦除所有數(shù)目之一。在步驟518中,若此擦除次數(shù)計數(shù)器的值為擦除所有數(shù)目之一時,施加一擦除脈沖于其擦除標(biāo)記具有第一值的所有扇區(qū)。舉例來說,若擦除次數(shù)計數(shù)器的值為一偶數(shù),施加擦除脈沖于其擦除標(biāo)記具有第一值的所有扇區(qū),將此擦除次數(shù)計數(shù)器的值增加1,然后前往步驟420再一次的驗證;在步驟520中,若擦除次數(shù)計數(shù)器的值并非擦除所有數(shù)目之一時,擦除脈沖僅施加于驗證失敗的扇區(qū)。舉例來說,若擦除次數(shù)計數(shù)器的值為一奇數(shù),擦除脈沖僅施加于通過驗證的扇區(qū),將擦除次數(shù)計數(shù)器的值增加1,然后前往步驟420以再一次的驗證。
若擦除次數(shù)計數(shù)器的值到達(dá)擦除跨越值時,在步驟522中,決定此扇區(qū)是否為其擦除標(biāo)記具有第一值的最后扇區(qū),若此扇區(qū)為最后扇區(qū),則前往步驟520;若此扇區(qū)并非其擦除標(biāo)記設(shè)為第一值的最后扇區(qū)時,在步驟524中,跨越具有難以擦除地址的此扇區(qū),且將目前地址緩存器設(shè)為其擦除標(biāo)記具有第一值的下一扇區(qū)的第一地址,然后前往步驟460以快速驗證。
雖然本發(fā)明已以較佳實施例披露如上,然其并非用以限定本發(fā)明,在不脫離本發(fā)明之精神和范圍內(nèi),當(dāng)可作些許之更動與改進(jìn),因此本發(fā)明之保護(hù)范圍當(dāng)視權(quán)利要求所界定者為準(zhǔn)。
權(quán)利要求
1.一種非揮發(fā)性存儲單元陣列的擦除方法,其特征在于上述這些存儲單元設(shè)置于多個扇區(qū),且每一個上述這些扇區(qū)具有一擦除標(biāo)記,該方法包含設(shè)定欲擦除扇區(qū)的該擦除標(biāo)記為第一值;依次由該擦除標(biāo)記設(shè)為該第一值的第一扇區(qū)至最后扇區(qū)驗證上述這些扇區(qū)中的上述這些存儲單元,其中每一個上述這些扇區(qū)由第一地址驗證至最后地址;當(dāng)驗證失敗時,施加一擦除脈沖至該扇區(qū),且若擦除次數(shù)計數(shù)器的值小于擦除跨越值時,再一次驗證相同存儲器地址,若該擦除次數(shù)計數(shù)器的值到達(dá)擦除跨越值時,驗證該擦除標(biāo)記具有該第一值的剩余扇區(qū);當(dāng)欲擦除扇區(qū)中的每一個上述這些存儲單元皆通過驗證時,設(shè)定該扇區(qū)的該擦除標(biāo)記為第二值;以及當(dāng)每一個欲擦除的上述這些扇區(qū)的該擦除標(biāo)記設(shè)定為該第二值時,終止擦除操作。
2.根據(jù)權(quán)利要求1所述的擦除方法,其特征在于還包含預(yù)先編程所有欲擦除的上述這些扇區(qū)內(nèi)的上述這些存儲單元為邏輯零電平。
3.根據(jù)權(quán)利要求1所述的擦除方法,其特征在于該擦除跨越值的范圍介于10到50之間。
4.根據(jù)權(quán)利要求1所述的擦除方法,其特征在于當(dāng)該擦除次數(shù)計數(shù)器的值到達(dá)擦除失敗值時,終止該擦除操作。
5.根據(jù)權(quán)利要求4所述的擦除方法,其特征在于該擦除失敗值為1000。
6.根據(jù)權(quán)利要求1所述的擦除方法,其特征在于當(dāng)驗證失敗時的步驟還包括施加該擦除脈沖于該扇區(qū),并周期性地施加于所有該擦除標(biāo)記設(shè)為該第一值的上述這些扇區(qū);若該擦除次數(shù)計數(shù)器的值小于該擦除跨越值時,再驗證同一該存儲單元;以及若該擦除次數(shù)計數(shù)器的值到達(dá)該擦除跨越值時,驗證該擦除標(biāo)記具有該第一值的剩余扇區(qū)。
7.根據(jù)權(quán)利要求6所述的擦除方法,其特征在于當(dāng)驗證失敗時的步驟還包括施加該擦除脈沖于該扇區(qū),并在每一個其它時間施加于所有該擦除標(biāo)記設(shè)定為該第一值的上述這些扇區(qū);若該擦除次數(shù)計數(shù)器的值小于該擦除跨越值時,再驗證同一存儲單元;以及若該擦除次數(shù)計數(shù)次的值到達(dá)該擦除跨越值時,驗證該擦除標(biāo)記具有該第一值的剩余扇區(qū)。
8.根據(jù)權(quán)利要求1所述的擦除方法,其特征在于當(dāng)驗證失敗時,若該擦除次數(shù)計數(shù)器的值并非為多個擦除所有值之一時,僅施加該擦除脈沖于該扇區(qū);若該擦除次數(shù)計數(shù)器的值為上述這些擦除所有值之一時,施加該擦除脈沖于該擦除標(biāo)記具有該第一值的剩余扇區(qū)。
9.根據(jù)權(quán)利要求8所述的擦除方法,其特征在于該擦除所有值包括奇數(shù)及偶數(shù)中之一個。
10.一種非揮發(fā)性存儲單元陣列的擦除方法,其特征在于上述這些存儲單元設(shè)置于多個扇區(qū),且每一個上述這些扇區(qū)具有擦除標(biāo)記,該方法包含(a)設(shè)定欲擦除扇區(qū)的該擦除標(biāo)記為第一值;(b)設(shè)定目前地址緩存器為欲擦除的第一扇區(qū)的第一地址;(c)設(shè)定擦除次數(shù)計數(shù)器為開始值;(d)依次由所欲擦除的該第一扇區(qū)至所欲擦除的最后扇區(qū)驗證上述這些扇區(qū)中的上述這些存儲單元,其中每一個上述這些扇區(qū)由該第一地址驗證至一最后地址;(e)當(dāng)驗證失敗且該擦除次數(shù)計數(shù)器的值小于擦除跨越值時,施加一擦除脈沖于該扇區(qū),及周期性地施加于所有未通過驗證的上述這些扇區(qū),并將該擦除次數(shù)計數(shù)器的值增加1,及再一次驗證目前地址;(f)當(dāng)驗證失敗、該擦除次數(shù)計數(shù)器的值等于該擦除跨越值,且該扇區(qū)并非為該擦除標(biāo)記具有該第一值的該最后扇區(qū)時,驗證未通過驗證的剩余扇區(qū)、設(shè)定該目前地址為欲擦除的下一扇區(qū)的該第一值,以及且設(shè)定該擦除次數(shù)計數(shù)器為零;(g)當(dāng)該驗證通過且該目前地址并非該扇區(qū)的該最后地址時,將該目前地址增加1;(h)當(dāng)該驗證通過且該目前地址為該扇區(qū)的該最后地址時,設(shè)定該扇區(qū)之的該擦除標(biāo)記為第二值且設(shè)定該目前地址為欲擦除的下一個扇區(qū)的該第一地址;以及(i)當(dāng)所有欲擦除扇區(qū)的該擦除標(biāo)記皆設(shè)為該第二值時,終止擦除操作。
全文摘要
一種使用于設(shè)置在多個扇區(qū)的快閃存儲單元陣列的擦除方法,其中各扇區(qū)具有一個擦除標(biāo)記,而所欲擦除的扇區(qū)的擦除標(biāo)記則被設(shè)定為第一值。自第一扇區(qū)至最后扇區(qū),而各扇區(qū)第一地址至最后地址中標(biāo)記設(shè)為第一值的存儲單元依次被驗證。當(dāng)驗證失敗且同一存儲單元驗證次數(shù)小于預(yù)定數(shù)目時,施加一擦除脈沖至此扇區(qū)及再驗證同一存儲器地址;若驗證失敗且同一存儲單元驗證次數(shù)到達(dá)預(yù)定數(shù)目時,驗證其標(biāo)記設(shè)定為第一值的剩余扇區(qū)。當(dāng)欲擦除的扇區(qū)中各存儲單元通過驗證時,將此扇區(qū)的擦除標(biāo)記設(shè)為第二值,當(dāng)欲擦除的各扇區(qū)的標(biāo)記設(shè)為第二值時,終止擦除操作。
文檔編號G11C16/14GK1945743SQ20051010821
公開日2007年4月11日 申請日期2005年10月8日 優(yōu)先權(quán)日2005年10月8日
發(fā)明者陳宗仁, 郭忠山 申請人:晶豪科技股份有限公司