本發(fā)明涉及快閃存儲(chǔ)器領(lǐng)域,特別涉及一種改善快閃存儲(chǔ)器擦除性能的方法。
背景技術(shù):眾所周知,快閃存儲(chǔ)器(flashmemory)是一種非易失性存儲(chǔ)器(Non-volatilememory),其包括大量的存儲(chǔ)單元。每一個(gè)存儲(chǔ)單元包括能夠保存電荷的浮動(dòng)?xùn)艠O場(chǎng)效應(yīng)晶體管。典型的快閃存儲(chǔ)器通過(guò)改變浮動(dòng)?xùn)艠O中電子的數(shù)量來(lái)存儲(chǔ)數(shù)據(jù):將電子注入到一個(gè)存儲(chǔ)單元的浮動(dòng)?xùn)艠O時(shí),該存儲(chǔ)單元的閾值電壓增加,這時(shí)該存儲(chǔ)單元處于已編程狀態(tài);而當(dāng)將該存儲(chǔ)單元的浮動(dòng)?xùn)艠O中俘獲的電子去除后,該存儲(chǔ)單元的閾值電壓降低,這時(shí)該存儲(chǔ)單元處于已擦除狀態(tài)。因此,如果在一個(gè)存儲(chǔ)單元的浮動(dòng)?xùn)艠O中有電子,則該存儲(chǔ)單元處于已編程狀態(tài),可被寫入數(shù)據(jù);如果在一個(gè)存儲(chǔ)單元的浮動(dòng)?xùn)艠O中沒(méi)有電子,則該存儲(chǔ)單元處于已擦除狀態(tài)??扉W存儲(chǔ)器的擦除操作是塊擦除,每次擦除操作都是某個(gè)區(qū)域一定數(shù)量的存儲(chǔ)單元在同時(shí)進(jìn)行,不會(huì)對(duì)每一個(gè)存儲(chǔ)單元進(jìn)行單獨(dú)的擦除操作。對(duì)快閃存儲(chǔ)器所進(jìn)行的擦除操作,是對(duì)某個(gè)區(qū)域一定數(shù)量存儲(chǔ)單元的浮動(dòng)?xùn)艠O施加負(fù)電壓、襯底施加正電壓。每一次對(duì)某個(gè)區(qū)域一定數(shù)量存儲(chǔ)單元的浮動(dòng)?xùn)艠O施加負(fù)電壓、襯底施加正電壓,被稱一次“擦除”。由于各個(gè)存儲(chǔ)單元不可能完全相同,所以每次擦除操作完成之后,擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓呈現(xiàn)一種分布狀態(tài)。如圖1所示,即為一次擦除操作完成之后,擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓呈現(xiàn)一種分布狀態(tài)。即,每施加一次電壓,即完成一次擦除操作;但是一次擦除操作完成之后,不能保證擦除區(qū)域被成功擦除,即擦除區(qū)域內(nèi)的存儲(chǔ)單元可能不能全部通過(guò)擦除校驗(yàn)。圖2為現(xiàn)有技術(shù)在一輪擦除操作過(guò)程中檢測(cè)難以被擦除的存儲(chǔ)單元的示意流程圖。從過(guò)程上來(lái)看:如圖2所示,在現(xiàn)有技術(shù)的芯片使用過(guò)程中,檢測(cè)難以被擦除的存儲(chǔ)單元的一輪擦除的簡(jiǎn)易流程舉例如下:每次擦除操作完成后,都需要進(jìn)行擦除校驗(yàn)過(guò)程,檢驗(yàn)擦除區(qū)域內(nèi)各個(gè)存儲(chǔ)單元的閾值電壓(Vt)是否都小于某個(gè)預(yù)設(shè)的擦除校驗(yàn)(EV)電壓值。如果沒(méi)有通過(guò)擦除校驗(yàn)、即沒(méi)有全部達(dá)到Vt<EV的要求,就需要對(duì)該區(qū)域重新繼續(xù)進(jìn)行擦除操作,直到通過(guò)擦除校驗(yàn)、即該區(qū)域所有存儲(chǔ)單元的閾值電壓都符合要求為止。此時(shí)才認(rèn)為完成了一輪擦除操作。即,一次完整的一輪擦除操作過(guò)程可能包括多次擦除操作。圖3A為一次擦除操作完成之后,擦除區(qū)域內(nèi)各個(gè)存儲(chǔ)單元的閾值電壓(Vt)全部滿足Vt<EV的要求時(shí)的擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓分布的示意圖;如圖3A所示,如果擦除區(qū)域內(nèi)各個(gè)存儲(chǔ)單元的閾值電壓(Vt)全部都達(dá)到要求,即小于某個(gè)預(yù)設(shè)的擦除校驗(yàn)(EV)電壓值,那么,在現(xiàn)有技術(shù)中,就不需要對(duì)該區(qū)域重新進(jìn)行擦除操作。但是,圖3B為一次擦除操作完成之后,擦除區(qū)域內(nèi)一部分難以被擦除的存儲(chǔ)單元(尾部比特)的閾值電壓(Vt)不滿足Vt<EV的要求時(shí)的擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓分布的示意圖;如圖3B所示,如果擦除區(qū)域內(nèi)各個(gè)存儲(chǔ)單元的閾值電壓(Vt)有一部分沒(méi)有達(dá)到要求,則有一部分存儲(chǔ)單元的閾值電壓大于某個(gè)預(yù)設(shè)的擦除校驗(yàn)(EV)電壓值。那么,在現(xiàn)有技術(shù)中,就需要對(duì)該區(qū)域重新進(jìn)行擦除操作。其中,這部分閾值電壓大于某個(gè)預(yù)設(shè)的擦除校驗(yàn)電壓值(Vt>EV)的存儲(chǔ)單元,被稱作尾部比特(tailbit),也稱作難以被擦除的存儲(chǔ)單元??扉W存儲(chǔ)器的擦除操作是塊擦除,每次擦除完成后都需要擦除區(qū)域內(nèi)所有存儲(chǔ)單元的閾值電壓都達(dá)到要求。由于工藝偏差,疲勞老化等原因,存儲(chǔ)單元中會(huì)出現(xiàn)一些如圖3B的尾部比特(tailbit)所示的難以被擦除的存儲(chǔ)單元。這些難以被擦除的存儲(chǔ)單元,在其擦除過(guò)程中,閾值電壓(Vt)很難減小到預(yù)設(shè)的擦除校驗(yàn)(EV)電壓值以下,需要重復(fù)多次擦除才能使其符合要求。由于這些難以被擦除的存儲(chǔ)單元的存在,使得在絕大部分存儲(chǔ)單元已經(jīng)滿足Vt<EV的要求的情況下,還需要對(duì)擦除區(qū)域進(jìn)行多次擦除操作,才能使這些不易被擦除的存儲(chǔ)單元的閾值電壓也可以滿足要求。因此,現(xiàn)有技術(shù)的缺陷是:由于這些難以被擦除的存儲(chǔ)單元的存在,需要對(duì)擦除區(qū)域進(jìn)行多次擦除操作,快閃存儲(chǔ)器一輪擦除操作過(guò)程所用的時(shí)間被大大延長(zhǎng)了,快閃存儲(chǔ)器的擦除性能被影響了,快閃存儲(chǔ)器的擦除速度被減緩了。因此,如何設(shè)計(jì)一種改善快閃存儲(chǔ)器擦除性能的方法,其避免反復(fù)進(jìn)行擦除操作,減輕難以被擦除的存儲(chǔ)單元對(duì)快閃存儲(chǔ)器擦除性能的影響,同時(shí)提高快閃存儲(chǔ)器的擦除速度,減少一輪擦除操作過(guò)程所用的時(shí)間,即為本案發(fā)明人所欲解決的方向所在。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是:提供一種改善快閃存儲(chǔ)器擦除性能的方法,其避免反復(fù)進(jìn)行擦除操作,減輕難以被擦除的存儲(chǔ)單元對(duì)快閃存儲(chǔ)器擦除性能的影響,同時(shí)提高快閃存儲(chǔ)器的擦除速度,減少一輪擦除操作過(guò)程所用的時(shí)間。為了達(dá)到上述目的,本發(fā)明公開(kāi)如下技術(shù)方案:本發(fā)明公開(kāi)一種改善快閃存儲(chǔ)器擦除性能的方法,其在一輪擦除操作過(guò)程中,包括以下步驟:步驟S501:執(zhí)行一次擦除后、轉(zhuǎn)入步驟S505;步驟S505:進(jìn)行擦除校驗(yàn),并判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入步驟S506;步驟S506:查找難以被擦除的存儲(chǔ)單元后、轉(zhuǎn)入步驟S508;步驟S508:使用冗余單元替換在步驟S506中查找到的難以被擦除的存儲(chǔ)單元后、轉(zhuǎn)入步驟S505。所述的改善快閃存儲(chǔ)器擦除性能的方法,其中,在步驟S508中,將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。本發(fā)明還公開(kāi)一種改善快閃存儲(chǔ)器擦除性能的方法,其在一輪擦除操作過(guò)程中,包括以下步驟:步驟S601:擦除次數(shù)清零后,轉(zhuǎn)入步驟S603;步驟S603:執(zhí)行一次擦除操作、并對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù)后,轉(zhuǎn)入步驟S605;步驟S605:進(jìn)行擦除校驗(yàn),并判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入步驟S606;步驟S606:判斷擦除次數(shù)是否達(dá)到預(yù)設(shè)的擦除次數(shù)閾值;如果擦除次數(shù)達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則查找到難以被擦除的存儲(chǔ)單元,轉(zhuǎn)入步驟S608;如果擦除次數(shù)未達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則轉(zhuǎn)入步驟S603;步驟S608:使用冗余單元替換在步驟S606中查找到的難以被擦除的存儲(chǔ)單元后、轉(zhuǎn)入步驟S605。所述的改善快閃存儲(chǔ)器擦除性能的方法,其中,在步驟S608中,將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。本發(fā)明還公開(kāi)一種改善快閃存儲(chǔ)器擦除性能的方法,其在一輪擦除操作過(guò)程中,包括以下步驟:步驟S701:從存儲(chǔ)陣列中選擇待擦除的存儲(chǔ)單元、并擦除次數(shù)清零后,轉(zhuǎn)入步驟S703;步驟S703:執(zhí)行一次擦除操作、并對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù)后,轉(zhuǎn)入步驟S705;步驟S705:進(jìn)行擦除校驗(yàn),并判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入步驟S706;步驟S706:判斷擦除次數(shù)是否達(dá)到預(yù)設(shè)的擦除次數(shù)閾值;如果擦除次數(shù)達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則查找到難以被擦除的存儲(chǔ)單元,轉(zhuǎn)入步驟S707;如果擦除次數(shù)未達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則轉(zhuǎn)入步驟S703;步驟S707:從冗余陣列中查找未用來(lái)修復(fù)的冗余單元;如果查找到未用來(lái)修復(fù)的冗余單元,則轉(zhuǎn)入步驟S708;如果未查找到未用來(lái)修復(fù)的冗余單元,則結(jié)束;步驟S708:使用在步驟S707中查找到的未用來(lái)修復(fù)的冗余單元“替換”在步驟S706中查找到的難以被擦除的存儲(chǔ)單元、擦除次數(shù)清零后、轉(zhuǎn)入步驟S705。所述的改善快閃存儲(chǔ)器擦除性能的方法,其中,在步驟S703中,包括以下步驟:步驟S703A:對(duì)步驟601中所選擇的待擦除的存儲(chǔ)單元執(zhí)行一次擦除操作;以及步驟S703B:擦除次數(shù)計(jì)數(shù);其中,步驟S703A和S703B的順序,或者是同時(shí)進(jìn)行,或者是S703A在先,或者是S703B在先。所述的改善快閃存儲(chǔ)器擦除性能的方法,其中,在步驟S707中,所述的未用來(lái)修復(fù)的冗余單元,是沒(méi)有邏輯地址對(duì)應(yīng)的冗余單元。所述的改善快閃存儲(chǔ)器擦除性能的方法,其中,在步驟S708中,包括以下步驟:步驟S708A:用所述的未用來(lái)修復(fù)的冗余單元的物理地址“替換”仍未通過(guò)擦除校驗(yàn)的存儲(chǔ)單元的物理地址;以及步驟S708B:擦除次數(shù)清零;其中,步驟S708A和S708B的順序,或者是同時(shí)進(jìn)行,或者是S708A在先,或者是S708B在先。所述的改善快閃存儲(chǔ)器擦除性能的方法,其中,在步驟S708A中,將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。本發(fā)明的技術(shù)效果是:提供了一種改善快閃存儲(chǔ)器擦除性能的方法,其避免反復(fù)進(jìn)行擦除操作,減輕難以被擦除的存儲(chǔ)單元對(duì)快閃存儲(chǔ)器擦除性能的影響,同時(shí)提高快閃存儲(chǔ)器的擦除速度:可監(jiān)視快閃存儲(chǔ)器擦除操作的效率,將那些難以被擦除的存儲(chǔ)單元用冗余單元進(jìn)行替換,從而在整體上加快了快閃存儲(chǔ)器的擦除速度,減少了一輪擦除操作過(guò)程所用的時(shí)間,提高了快閃存儲(chǔ)器的擦除性能。附圖說(shuō)明圖1為一次擦除操作完成之后,擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓分布的示意圖;圖2為現(xiàn)有技術(shù)在一輪擦除操作過(guò)程中檢測(cè)難以被擦除的存儲(chǔ)單元的示意流程圖;圖3A為一次擦除操作完成之后,擦除區(qū)域內(nèi)各個(gè)存儲(chǔ)單元的閾值電壓(Vt)全部滿足Vt<EV的要求時(shí)的擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓分布的示意圖;圖3B為一次擦除操作完成之后,擦除區(qū)域內(nèi)一部分難以被擦除的存儲(chǔ)單元(尾部比特)的閾值電壓(Vt)不滿足Vt<EV的要求時(shí)的擦除區(qū)域內(nèi)存儲(chǔ)單元的閾值電壓分布的示意圖;圖4為現(xiàn)有技術(shù)中冗余單元可用于“替換”存儲(chǔ)陣列中的失效的存儲(chǔ)單元的示意圖;圖5為本發(fā)明在一輪擦除操作過(guò)程中檢測(cè)并替換難以被擦除的存儲(chǔ)單元的示意流程圖。圖6為本發(fā)明在一輪擦除操作過(guò)程中檢測(cè)并替換難以被擦除的存儲(chǔ)單元的一個(gè)實(shí)施例的示意流程圖;圖7為本發(fā)明在一輪擦除操作過(guò)程中檢測(cè)并替換難以被擦除的存儲(chǔ)單元的另一個(gè)實(shí)施例的示意流程圖。具體實(shí)施方式以下結(jié)合附圖,對(duì)本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點(diǎn)作更詳細(xì)的說(shuō)明??扉W存儲(chǔ)器(flashmemory)有兩種,分別是或非(nor)快閃存儲(chǔ)器和與非(nand)快閃存儲(chǔ)器。圖2為現(xiàn)有技術(shù)在一輪擦除操作過(guò)程中檢測(cè)難以被擦除的存儲(chǔ)單元的示意流程圖;其中可見(jiàn)難以被擦除的存儲(chǔ)單元對(duì)快閃存儲(chǔ)器擦除性能的影響。本發(fā)明的目的是:提供一種改善快閃存儲(chǔ)器擦除性能的方法,其避免反復(fù)進(jìn)行擦除操作,減輕難以被擦除的存儲(chǔ)單元對(duì)快閃存儲(chǔ)器擦除性能的影響,同時(shí)提高快閃存儲(chǔ)器的擦除速度,減少一輪擦除操作過(guò)程所用的時(shí)間。如圖4所示,在現(xiàn)有的快閃存儲(chǔ)器中,包括多個(gè)存儲(chǔ)單元(cell)組成的存儲(chǔ)陣列,還包括一部分由多個(gè)冗余(redundancy)單元組成的冗余陣列。本發(fā)明中用到的冗余單元實(shí)際上是一種修復(fù)單元。傳統(tǒng)的修復(fù)技術(shù)是:由于工藝的不穩(wěn)定性,為了提高芯片良率,快閃存儲(chǔ)器的設(shè)計(jì)者會(huì)增加一些冗余單元,用于替代出廠測(cè)試時(shí)發(fā)現(xiàn)的失效的存儲(chǔ)單元。在傳統(tǒng)的快閃存儲(chǔ)器制作過(guò)程中,存儲(chǔ)陣列中不可避免的會(huì)存在一些失效的存儲(chǔ)單元。因此,在出廠測(cè)試過(guò)程中需要定位這些存儲(chǔ)陣列中的失效的存儲(chǔ)單元,然后存儲(chǔ)器在實(shí)際使用時(shí),在所述的失效的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系的對(duì)應(yīng)關(guān)系中,用冗余陣列中的冗余單元的物理地址來(lái)替換這些失效的存儲(chǔ)單元的物理地址;即將所述的失效的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。這種方法簡(jiǎn)稱為用冗余單元“替換”存儲(chǔ)陣列中的失效的存儲(chǔ)單元,其保證了存儲(chǔ)器功能的準(zhǔn)確性。而難以被擦除的存儲(chǔ)單元和一般的失效的存儲(chǔ)單元不同。一般的失效的存儲(chǔ)單元在芯片出廠前就可以被檢測(cè)出來(lái),而難以被擦除的存儲(chǔ)單元一般不能在芯片出廠前被檢測(cè)出來(lái)。由于各個(gè)存儲(chǔ)單元的擦除速度會(huì)隨著擦除次數(shù)的增加而變慢,所以大部分難以被擦除的存儲(chǔ)單元會(huì)在芯片使用過(guò)程中逐漸顯現(xiàn)出來(lái)??紤]到所述的冗余單元可用于“替換”存儲(chǔ)陣列中的失效的存儲(chǔ)單元的現(xiàn)有技術(shù),為了解決減輕難以被擦除的存儲(chǔ)單元對(duì)快閃存儲(chǔ)器擦除性能的影響的技術(shù)問(wèn)題,發(fā)明人想到:在本發(fā)明中,所述的冗余單元,還可以用于“替換”存儲(chǔ)陣列中難以被擦除的存儲(chǔ)單元。即,在所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系中,將這些難以被擦除的存儲(chǔ)單元的物理地址用性能正常的冗余單元的物理地址替換;即將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。這種方法簡(jiǎn)稱為用冗余單元“替換”存儲(chǔ)陣列中的難以被擦除的存儲(chǔ)單元。本發(fā)明用冗余單元“替換”存儲(chǔ)陣列中的難以被擦除的存儲(chǔ)單元,這種“替換”是一種修復(fù)處理。存儲(chǔ)陣列中的失效的存儲(chǔ)單元經(jīng)過(guò)本發(fā)明的“替換”之后,被修復(fù)處理了。已經(jīng)用于“替換”所述的失效的存儲(chǔ)單元的冗余單元,是已經(jīng)用來(lái)修復(fù)的冗余單元;未用來(lái)修復(fù)的冗余單元,即為未用于“替換”所述的失效的存儲(chǔ)單元的冗余單元。本發(fā)明可以加快快閃存儲(chǔ)器的擦除速度。本發(fā)明這種“替換”,是一種修復(fù)。所述的冗余單元,用于“替換”存儲(chǔ)陣列中難以被擦除的存儲(chǔ)單元。這種替換修復(fù)是永久性的,被替換的所述的難以被擦除的存儲(chǔ)單元,由于存在缺陷,不再被繼續(xù)使用。從修復(fù)技術(shù)的角度來(lái)說(shuō),傳統(tǒng)的修復(fù)技術(shù)只是在芯片出廠測(cè)試時(shí),將存在缺陷的失效的存儲(chǔ)單元加以修復(fù),用冗余單元進(jìn)行替換。但是導(dǎo)致一輪擦除操作過(guò)程時(shí)間變長(zhǎng)的難以被擦除的存儲(chǔ)單元一般在其工作一段時(shí)間后才會(huì)顯現(xiàn)出來(lái)。這些導(dǎo)致一輪擦除操作過(guò)程時(shí)間變長(zhǎng)的存儲(chǔ)單元難以被擦除,導(dǎo)致每一輪擦除操作過(guò)程中,都需要施加很多次電壓,即進(jìn)行很多次擦除操作,才能使其通過(guò)擦除校驗(yàn),大大增加了一輪擦除操作的時(shí)間。因此,在一輪擦除過(guò)程中,將這些難以被擦除的存儲(chǔ)單元查找到并用冗余單元替換掉,可以加快擦除的速度。也就是說(shuō),本發(fā)明的修復(fù)技術(shù)不局限于如傳統(tǒng)的修復(fù)技術(shù)中所述的在芯片出廠測(cè)試時(shí)進(jìn)行,而是還可以在芯片使用過(guò)程中進(jìn)行。圖2為現(xiàn)有技術(shù)在一輪擦除操作過(guò)程中檢測(cè)難以被擦除的存儲(chǔ)單元的示意流程圖;如圖2所示,為現(xiàn)有技術(shù)的一輪擦除過(guò)程。其中,如果擦除校驗(yàn)沒(méi)有通過(guò),則會(huì)進(jìn)行下一次擦除操作,直到所有的被擦除區(qū)域的存儲(chǔ)單元全部通過(guò)擦除校驗(yàn)。如圖2所示的一輪擦除過(guò)程,可能完成一輪擦除操作的過(guò)程時(shí)間過(guò)長(zhǎng),也可能陷入“擦除—>校驗(yàn)不通過(guò)—>擦除”的死循環(huán)。為避免陷入“擦除—>校驗(yàn)不通過(guò)—>擦除”的死循環(huán),在現(xiàn)有技術(shù)包括對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù)。為了避免芯片陷入“擦除->校驗(yàn)不通過(guò)->擦除”的死循環(huán)中,一般的芯片設(shè)計(jì)都會(huì)設(shè)定最大擦除次數(shù),達(dá)到最大擦除次數(shù)后,強(qiáng)制退出擦除操作。圖5為本發(fā)明在一輪擦除操作過(guò)程中檢測(cè)并替換難以被擦除的存儲(chǔ)單元的示意流程圖。如圖5所示,為本發(fā)明的改善快閃存儲(chǔ)器擦除性能的方法。其中,查找到難以被擦除的存儲(chǔ)單元后、即擦除過(guò)慢的存儲(chǔ)單元,使用冗余單元替換這些難以被擦除的存儲(chǔ)單元,從而提高擦除操作的效率,加快快閃存儲(chǔ)器擦除操作的速度。如圖5所示的一種改善快閃存儲(chǔ)器擦除性能的方法,在一輪擦除操作過(guò)程中,包括以下步驟:步驟S501:執(zhí)行一次擦除后、轉(zhuǎn)入步驟S505;步驟S505:進(jìn)行擦除校驗(yàn),并判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入步驟S506;步驟S506:查找難以被擦除的存儲(chǔ)單元后、轉(zhuǎn)入步驟S508;步驟S508:使用冗余單元替換在步驟S506中查找到的難以被擦除的存儲(chǔ)單元后、轉(zhuǎn)入步驟S505。在步驟S508中,將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。圖6為本發(fā)明在一輪擦除操作過(guò)程中檢測(cè)并替換難以被擦除的存儲(chǔ)單元的一個(gè)實(shí)施例的示意流程圖。如圖6所示,為本發(fā)明的改善快閃存儲(chǔ)器擦除性能的方法的一個(gè)實(shí)施例。其中,對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù),當(dāng)擦除次數(shù)達(dá)到預(yù)設(shè)的擦除次數(shù)閾值時(shí),此時(shí)沒(méi)有通過(guò)擦除校驗(yàn)的存儲(chǔ)單元就被認(rèn)為是難以被擦除的存儲(chǔ)單元或者擦除較慢的存儲(chǔ)單元。此時(shí)使用冗余單元替換所述的難以被擦除的存儲(chǔ)單元,從而提高擦除操作的效率,加快快閃存儲(chǔ)器擦除操作的速度。其中,擦除次數(shù)只在一輪擦除操作過(guò)程中存在,是指每一輪擦除操作過(guò)程中的施加電壓的次數(shù);在每一輪擦除操作過(guò)程前擦除次數(shù)都被清零。另外,通過(guò)對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù)來(lái)查找難以被擦除的存儲(chǔ)單元、即擦除過(guò)慢的存儲(chǔ)單元只是一種具體的實(shí)現(xiàn)手段,其實(shí)還可以用其他的方法來(lái)實(shí)現(xiàn)。(如某次擦除過(guò)后,測(cè)量各存儲(chǔ)單元的電流,將電流較小的存儲(chǔ)單元認(rèn)為是擦除過(guò)慢的存儲(chǔ)單元)。在被劃分成可單獨(dú)擦除的存儲(chǔ)單元塊的快閃存儲(chǔ)器中,可以用字節(jié)擦除方式、或塊擦除方式擦除,即以字節(jié)、或塊為單位進(jìn)行一輪擦除操作。以字節(jié)擦除方式操作時(shí),對(duì)被選中的那個(gè)存儲(chǔ)單元進(jìn)行一輪擦除操作;在塊擦除方式操作時(shí),對(duì)塊內(nèi)所有單元進(jìn)行一輪擦除操作。如圖6所示,為本發(fā)明的改善快閃存儲(chǔ)器擦除性能的方法的另一個(gè)實(shí)施例,,在一輪擦除操作過(guò)程中,包括以下步驟:步驟S601:擦除次數(shù)清零后,轉(zhuǎn)入步驟S603;步驟S603:執(zhí)行一次擦除操作、并對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù)后,轉(zhuǎn)入步驟S605;步驟S605:進(jìn)行擦除校驗(yàn),并判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入步驟S606;步驟S606:判斷擦除次數(shù)是否達(dá)到預(yù)設(shè)的擦除次數(shù)閾值;如果擦除次數(shù)達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則查找到難以被擦除的存儲(chǔ)單元,轉(zhuǎn)入步驟S608;如果擦除次數(shù)未達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則轉(zhuǎn)入步驟S603;步驟S608:使用冗余單元替換在步驟S606中查找到的難以被擦除的存儲(chǔ)單元后、轉(zhuǎn)入步驟S605。在步驟S608中,將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系在步驟S608后,所述的用于替換所述的難以被擦除的存儲(chǔ)單元的冗余單元,成為了已經(jīng)用來(lái)修復(fù)的冗余單元。本發(fā)明用冗余單元“替換”存儲(chǔ)陣列中的難以被擦除的存儲(chǔ)單元,這種“替換”是一種修復(fù)處理。存儲(chǔ)陣列中的失效的存儲(chǔ)單元經(jīng)過(guò)本發(fā)明的“替換”之后,被修復(fù)處理了。已經(jīng)用于“替換”所述的失效的存儲(chǔ)單元的冗余單元,是已經(jīng)用來(lái)修復(fù)的冗余單元;未用來(lái)修復(fù)的冗余單元,即為未用于“替換”所述的失效的存儲(chǔ)單元的冗余單元。在被劃分成可單獨(dú)擦除的存儲(chǔ)單元塊的快閃存儲(chǔ)器中,可以用字節(jié)擦除方式、或塊擦除方式擦除,即以字節(jié)、或塊為單位進(jìn)行一輪擦除操作。以字節(jié)擦除方式操作時(shí),對(duì)被選中的那個(gè)存儲(chǔ)單元進(jìn)行一輪擦除操作;在塊擦除方式操作時(shí),對(duì)塊內(nèi)所有單元進(jìn)行一輪擦除操作。圖7為本發(fā)明在一輪擦除操作過(guò)程中檢測(cè)并替換難以被擦除的存儲(chǔ)單元的另一個(gè)實(shí)施例的示意流程圖。在本發(fā)明中,在快閃存儲(chǔ)器中存儲(chǔ)著每一個(gè)邏輯地址、對(duì)應(yīng)其的物理地址、以及兩者的對(duì)應(yīng)關(guān)系、擦除次數(shù)、預(yù)設(shè)的擦除次數(shù)閾值、預(yù)設(shè)的擦除校驗(yàn)(EV)電壓值和具有所述的物理地址的存儲(chǔ)單元的閾值電壓(Vt)。如圖7所示,在一輪擦除操作過(guò)程中,包括以下步驟:步驟S701:從存儲(chǔ)陣列中選擇待擦除的存儲(chǔ)單元、并擦除次數(shù)清零后,轉(zhuǎn)入步驟S703;步驟S703:執(zhí)行一次擦除操作、并對(duì)擦除次數(shù)進(jìn)行計(jì)數(shù)后,轉(zhuǎn)入步驟S705;步驟S705:進(jìn)行擦除校驗(yàn),并判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入步驟S706;步驟S706:判斷擦除次數(shù)是否達(dá)到預(yù)設(shè)的擦除次數(shù)閾值;如果擦除次數(shù)達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則查找到難以被擦除的存儲(chǔ)單元,轉(zhuǎn)入步驟S707;如果擦除次數(shù)未達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則轉(zhuǎn)入步驟S703;步驟S707:從冗余陣列中查找未用來(lái)修復(fù)的冗余單元;如果查找到未用來(lái)修復(fù)的冗余單元,則轉(zhuǎn)入步驟S708;如果未查找到未用來(lái)修復(fù)的冗余單元,則結(jié)束;步驟S708:使用在步驟S707中查找到的未用來(lái)修復(fù)的冗余單元“替換”在步驟S706中查找到的難以被擦除的存儲(chǔ)單元、擦除次數(shù)清零后、轉(zhuǎn)入步驟S705。在步驟S708中,將所述的難以被擦除的存儲(chǔ)單元的物理地址與其邏輯地址的對(duì)應(yīng)關(guān)系,替換為所述的冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。其中,在步驟S708后,所述的用于替換所述的難以被擦除的存儲(chǔ)單元的冗余單元,成為了已經(jīng)用來(lái)修復(fù)的冗余單元。本發(fā)明用冗余單元“替換”存儲(chǔ)陣列中的難以被擦除的存儲(chǔ)單元,這種“替換”是一種修復(fù)處理。存儲(chǔ)陣列中的失效的存儲(chǔ)單元經(jīng)過(guò)本發(fā)明的“替換”之后,被修復(fù)處理了。已經(jīng)用于“替換”所述的失效的存儲(chǔ)單元的冗余單元,是已經(jīng)用來(lái)修復(fù)的冗余單元;未用來(lái)修復(fù)的冗余單元,即為未用于“替換”所述的失效的存儲(chǔ)單元的冗余單元。其中,步驟S701是從存儲(chǔ)陣列中選擇待擦除的存儲(chǔ)單元、并擦除次數(shù)清零;所述的步驟S701中,包括以下步驟:步驟S701A——從存儲(chǔ)陣列中選擇待擦除的存儲(chǔ)單元、和步驟S701B——擦除次數(shù)清零。其中步驟S701A和S701B順序可能是同時(shí)進(jìn)行的,這是因?yàn)?,本發(fā)明中的擦除次數(shù)指一次擦除操作中的施加電壓的次數(shù),與擦除哪一部分存儲(chǔ)單元無(wú)關(guān)。執(zhí)行步驟S701后,轉(zhuǎn)入執(zhí)行步驟S703;步驟S703是執(zhí)行一次擦除操作、并對(duì)擦除次數(shù)計(jì)數(shù);所述的步驟S703中,包括以下步驟:步驟S703A:對(duì)步驟601中所選擇的待擦除的存儲(chǔ)單元執(zhí)行一次擦除操作;以及步驟S703B:擦除次數(shù)計(jì)數(shù);其中,步驟S703A和S703B的順序,或者是同時(shí)進(jìn)行,或者是S703A在先,或者是S703B在先。執(zhí)行步驟S703后,轉(zhuǎn)入執(zhí)行步驟S705;步驟S705是判斷擦除校驗(yàn)是否通過(guò);如果擦除校驗(yàn)通過(guò),則結(jié)束;如果擦除校驗(yàn)未通過(guò),則轉(zhuǎn)入執(zhí)行步驟S706;步驟S706是判斷擦除次數(shù)是否達(dá)到預(yù)設(shè)的擦除次數(shù)閾值;如果擦除次數(shù)較多、達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則轉(zhuǎn)入執(zhí)行步驟S707;如果擦除次數(shù)較少、未達(dá)到預(yù)設(shè)的擦除次數(shù)閾值,則轉(zhuǎn)入執(zhí)行步驟S703;步驟S707是從冗余陣列中查找未用來(lái)修復(fù)的冗余單元、并判斷從冗余陣列中是否查找到未用來(lái)修復(fù)的冗余單元;在步驟S707中,從冗余陣列中查找沒(méi)有邏輯地址對(duì)應(yīng)的冗余單元;所述的步驟S707中,所述的未用來(lái)修復(fù)的冗余單元,是沒(méi)有邏輯地址對(duì)應(yīng)的冗余單元。另外,一個(gè)冗余單元只能用于修復(fù)一個(gè)難以被擦除的存儲(chǔ)單元;執(zhí)行步驟S707后,如果從冗余陣列中查找到?jīng)]有邏輯地址對(duì)應(yīng)的冗余單元,即查找到未用來(lái)修復(fù)的冗余單元,則轉(zhuǎn)入執(zhí)行步驟S708;如果從冗余陣列中未能查找到?jīng)]有邏輯地址對(duì)應(yīng)的冗余單元,即查找到未用來(lái)修復(fù)的冗余單元,則結(jié)束;步驟S708是所述的未用來(lái)修復(fù)的冗余單元的物理地址“替換”難以被擦除的存儲(chǔ)單元、即仍未通過(guò)擦除校驗(yàn)的存儲(chǔ)單元的物理地址、擦除次數(shù)清零;所述的步驟S708中,包括以下步驟:步驟S708A:用所述的未用來(lái)修復(fù)的冗余單元的物理地址“替換”仍未通過(guò)擦除校驗(yàn)的存儲(chǔ)單元的物理地址;以及步驟S708B:擦除次數(shù)清零;其中步驟S708A和S708B的順序,或者是同時(shí)進(jìn)行,或者是S708A在先,或者是S708B在先。所述的“替換”是指,在所述的難以被擦除的存儲(chǔ)單元的物理地址和其邏輯地址的對(duì)應(yīng)關(guān)系中,將所述的難以被擦除的存儲(chǔ)單元的物理地址用性能正常的冗余單元的物理地址替換;即將難以被擦除的存儲(chǔ)單元的物理地址和其邏輯地址的對(duì)應(yīng)關(guān)系,替換為冗余單元的物理地址與所述的邏輯地址的對(duì)應(yīng)關(guān)系。而所述的難以被擦除的存儲(chǔ)單元因?yàn)樾阅艽嬖诓涣?,故不?huì)被再次使用,因此,任何邏輯地址都不會(huì)映射到所述的難以被擦除的存儲(chǔ)單元的物理地址。本發(fā)明的用冗余單元“替換”存儲(chǔ)陣列中的難以被擦除的存儲(chǔ)單元,這種“替換”是一種修復(fù)處理。本發(fā)明的“替換”是局部的,快閃存儲(chǔ)器只需要記錄難以被擦除的存儲(chǔ)單元的物理地址,并對(duì)所述的難以被擦除的存儲(chǔ)單元進(jìn)行特殊的修復(fù)處理;而對(duì)于大部分存儲(chǔ)單元,無(wú)需記錄邏輯地址與物理地址之間的對(duì)應(yīng)關(guān)系。本發(fā)明的“替換”可以不以“塊”為單位進(jìn)行替換,可以不記錄每個(gè)需要被替換的物理塊所對(duì)應(yīng)的邏輯地址。在被劃分成可單獨(dú)擦除的存儲(chǔ)單元塊的快閃存儲(chǔ)器中,可以用字節(jié)擦除方式、或塊擦除方式擦除,即以字節(jié)、或塊為單位進(jìn)行一輪擦除操作。以字節(jié)擦除方式操作時(shí),對(duì)被選中的那個(gè)存儲(chǔ)單元進(jìn)行一輪擦除操作;在塊擦除方式操作時(shí),對(duì)塊內(nèi)所有單元進(jìn)行一輪擦除操作。所述的步驟S707中,不包括擦除操作,這是因?yàn)樵谝蝗哂鄦卧鎿Q了難以被擦除的存儲(chǔ)單元后,所述的冗余單元需要跟隨其他的正常單元一起完成剩余的一輪擦除操作的流程。如果在步驟S705中擦除校驗(yàn)不過(guò),因?yàn)樵诓襟ES708中擦除次數(shù)已經(jīng)清零,因此此時(shí)擦除次數(shù)不會(huì)達(dá)到擦除閾值,在步驟S705后,會(huì)轉(zhuǎn)入步驟S703。萬(wàn)一再經(jīng)過(guò)幾次擦除后,擦除計(jì)數(shù)達(dá)到擦除閾值,只好轉(zhuǎn)入步驟S707重新選擇一組未用來(lái)修復(fù)的冗余單元進(jìn)行替換了。萬(wàn)一經(jīng)過(guò)多次走步驟S707重新選擇冗余單元后,用光了所有的冗余單元,也沒(méi)能修復(fù)難以被擦除的存儲(chǔ)單元,則強(qiáng)制退出。在步驟S703中的擦除計(jì)數(shù)和步驟S706中用到的擦除閾值均是針對(duì)所有被擦除的存儲(chǔ)單元同時(shí)進(jìn)行的。所有被擦除的存儲(chǔ)單元是一起被擦除計(jì)數(shù)和使用同一擦除閾值的??扉W存儲(chǔ)器包括與非快閃存儲(chǔ)器和或非快閃存儲(chǔ)器兩類。本發(fā)明既適用于與非快閃存儲(chǔ)器,又適用于或非快閃存儲(chǔ)器。對(duì)于快閃存儲(chǔ)器之外的非易失性存儲(chǔ)器,各存儲(chǔ)單元的電學(xué)性能也不可能是完全一致的,有擦除較快的,也有擦除較慢的。對(duì)于快閃存儲(chǔ)器之外的非易失性存儲(chǔ)器,參照本發(fā)明的方法,用擦除較快的單元替換擦除較慢的存儲(chǔ)單元,可以加快完成一輪擦除操作的速度。以上說(shuō)明對(duì)本發(fā)明而言只是說(shuō)明性的,而非限制性的,本領(lǐng)域普通技術(shù)人員理解,在不脫離以下所附權(quán)利要求所限定的精神和范圍的情況下,可做出許多修改,變化,或等效,但都將落入本發(fā)明的保護(hù)范圍內(nèi)。