專利名稱:非易失性半導(dǎo)體存儲器及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及一種非易失性半導(dǎo)體存儲器及其控制方法,并且特別涉及一種以多個存儲器單元(數(shù)據(jù))為單位執(zhí)行寫入和擦除的非易失性半導(dǎo)體存儲器及其控制方法。
背景技術(shù):
電氣可擦除和可編程ROM(EEPROM)公知為電氣可擦除和可編程的非易失性存儲器。閃存是EEPROM的一種類型,并且是以塊為單位可擦除的,它作為用于替代光盤等的存儲器具有顯著增加的存儲容量并引入注目。
在閃存中,存儲器單元是由具有浮置柵極和控制柵極的晶體管組成的。通過電氣地寫入數(shù)據(jù)將數(shù)據(jù)記錄在存儲器單元晶體管上。通過電氣地擦除存儲器單元晶體管上的數(shù)據(jù)來進行數(shù)據(jù)擦除。
在存儲器單元晶體管上進行電氣寫入中,用于寫入的高電壓被施加到存儲器單元晶體管的控制柵極和漏極。從而,將電子注入到浮置柵極,存儲器單元晶體管的閾值被設(shè)置得較高。
例如,如圖17所示,通過一次電氣寫入來使存儲器單元晶體管的閾值在兩個電平之間進行切換,并且將數(shù)據(jù)“0”和“1”存儲在一個存儲器單元晶體管中的閃存叫做二值閃存。如圖18所示,通過多次電氣寫入來使存儲器單元晶體管的閾值在多個電平之間進行切換,并且將諸如數(shù)據(jù)“0”、“1”、“2”和“3”等多個數(shù)據(jù)段存儲在一個存儲器單元晶體管中的閃存叫做多值閃存。盡管使用多值閃存允許存儲器容量的增加,但相應(yīng)地也增加了寫入的次數(shù)。例如,為了將存儲器單元晶體管的狀態(tài)從存儲數(shù)據(jù)“3”的狀態(tài)改變到存儲數(shù)據(jù)“0”的狀態(tài),圖18的閃存需要三次寫入。
此外,在將數(shù)據(jù)寫入到存儲器單元晶體管之后,執(zhí)行被稱為“校驗”的讀操作,以便校驗存儲器單元晶體管的閾值達到目標(biāo)值。因此,通過自動重復(fù)電氣寫入和校驗操作(自動寫入)來實施數(shù)據(jù)寫操作,并且需要提供一種用于控制每一個目標(biāo)存儲器單元的重復(fù)性的設(shè)備。類似地,在數(shù)據(jù)擦除操作中,需要提供一種用于對每一個目標(biāo)存儲器單元自動重復(fù)電氣擦除和校驗操作的自動擦除控制設(shè)備。
這樣,在閃存上進行數(shù)據(jù)的記錄和擦除需要諸如自動寫入或自動擦除等順序控制。通過使用合理的流程來減少處理的時間成為決定商業(yè)價值的一個因素。
圖19示出了現(xiàn)有技術(shù)的非易失性半導(dǎo)體存儲器的結(jié)構(gòu)。如圖19所示,非易失性半導(dǎo)體存儲器包括緩沖器901,用于鎖定來自外部的外部地址或外部數(shù)據(jù);順序控制器904,用于控制寫順序;存儲器單元陣列907,其具有以陣列排列的存儲器單元;讀電路905,用于從存儲器單元陣列907讀取數(shù)據(jù);寫電路906,用于將數(shù)據(jù)寫入到存儲器單元陣列907;以及比較器909,用于將從存儲器單元陣列907讀取的數(shù)據(jù)與外部數(shù)據(jù)進行比較。
圖20的流程圖示出了現(xiàn)有技術(shù)的非易失性半導(dǎo)體存儲器中的自動寫操作。自動寫操作是通過順序控制器904的控制來實施的。
首先,通過外部總線等,將要寫入的一個外部地址和一個外部數(shù)據(jù)作為指令輸入,并且存儲到緩沖器901中(S901)。然后,在順序控制器904的控制下,讀電路905對存儲器單元陣列907的由外部地址指定的存儲器單元執(zhí)行讀操作(S902)。然后,比較器909確定讀取的數(shù)據(jù)是否對應(yīng)于輸入的外部數(shù)據(jù)(S903)。步驟S902和S903的處理是校驗操作。
如果在步驟S903中確定數(shù)據(jù)相互對應(yīng),則順序控制器904結(jié)束自動寫操作。另一方面,如果在步驟S903中確定數(shù)據(jù)不對應(yīng),則寫電路906在順序控制器904的控制下執(zhí)行將外部數(shù)據(jù)寫入到存儲器單元陣列907的由外部地址指定的存儲器單元中的寫操作(S904)。之后,處理進一步執(zhí)行校驗操作(S902和S903),并且重復(fù)寫操作和校驗操作,直到存儲器單元的數(shù)據(jù)對應(yīng)于外部數(shù)據(jù)。
日本未審專利申請公開第2002-366420和H6-195989號包括有關(guān)非易失性半導(dǎo)體存儲器的公開內(nèi)容。這里公開的技術(shù)設(shè)置了一個標(biāo)志,用于指示對每一個塊或扇區(qū)的擦除的完成。
不過,由于對于在一個地址上的每一個寫入或擦除,現(xiàn)有非易失性半導(dǎo)體存儲器是從外部輸入指令(一個地址和一個數(shù)據(jù))的,因此它的缺點是寫入或擦除的效率低,進行寫入和擦除操作花費的時間長。
圖21示出了在現(xiàn)有非易失性半導(dǎo)體存儲器中以時間順序?qū)懭攵鄠€數(shù)據(jù)段的操作。這是在一次寫入中成功校驗的情況。
為了寫入第一個數(shù)據(jù),該操作首先在T101中輸入一個地址和一個數(shù)據(jù)。然后在T102中,在寫入之前執(zhí)行校驗(預(yù)校驗),在T103中將一個數(shù)據(jù)寫入到一個地址的存儲器單元中,并且然后在T104中,在寫入之后執(zhí)行校驗(后校驗)。從而完成第一個數(shù)據(jù)的寫入。然后,為了寫入第二個數(shù)據(jù),操作進一步輸入一個地址和一個數(shù)據(jù),并且以與上述相同的方式寫入該數(shù)據(jù)。重復(fù)執(zhí)行T101至T104的操作達到要寫入的數(shù)據(jù)段的數(shù)量。
因此,甚至在可以用一個地址來識別其他地址的情況下,諸如當(dāng)向連續(xù)的地址寫入大量數(shù)據(jù)時,需要每次為每一個要寫入數(shù)據(jù)的地址輸入地址和數(shù)據(jù),從而徒勞地強制執(zhí)行輸入操作。
外部指令通過總線從CPU等輸入。隨著最近CPU和總線的處理速度、傳遞速度以及容量的增加,許多情況下輸入大量的連續(xù)數(shù)據(jù)段。因此,對每一個地址進行的無用處理會造成總體效率和數(shù)據(jù)寫入或擦除操作的處理時間的明顯惡化。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供一種非易失性半導(dǎo)體存儲器,其具有包含多個存儲器單元作為數(shù)據(jù)擦除操作的最小單位的扇區(qū),該存儲器包括輸入部件,用于將要寫入的數(shù)據(jù)段批量輸入到扇區(qū)中的多個地址;標(biāo)志存儲器,用于存儲分別與多個地址相對應(yīng)的各存儲器單元的狀態(tài);以及地址設(shè)置電路,用于根據(jù)標(biāo)志存儲器中的信息來確定要選擇的地址。
非易失性半導(dǎo)體存儲器對多個地址和數(shù)據(jù)段執(zhí)行批量輸入,從而消除了為多個地址中的每一個地址輸入指令的需要。從而,可以提高寫/擦除操作效率和減少處理時間。此外,與為每一個扇區(qū)設(shè)置標(biāo)志的情況相比,通過為每一個地址設(shè)置標(biāo)志可以更加有效率地對存儲器單元執(zhí)行數(shù)據(jù)寫/擦除操作。
根據(jù)本發(fā)明的另一個方面,提供一種非易失性半導(dǎo)體存儲器,用于以包含多個數(shù)據(jù)段的數(shù)據(jù)塊為單位來執(zhí)行寫/擦除操作,該存儲器包括存儲器單元陣列,其包含多個非易失性存儲器單元;標(biāo)志存儲器,用于存儲為每一個地址提供的、指示與包含在數(shù)據(jù)塊中的多個數(shù)據(jù)段的每一個地址有關(guān)的寫/擦除操作的成功/失敗的標(biāo)志;地址選擇器,用于根據(jù)存儲的標(biāo)志來選擇寫/擦除操作已經(jīng)失敗的地址;寫/擦除部件,用于對位于所選地址中的非易失性存儲器單元執(zhí)行數(shù)據(jù)段的寫/擦除操作;校驗部件,用于執(zhí)行校驗操作,以校驗對位于所選地址中的非易失性存儲器單元執(zhí)行數(shù)據(jù)寫/擦除操作的成功/失??;以及標(biāo)志更新部件,用于根據(jù)校驗操作的結(jié)果來更新標(biāo)志。
非易失性半導(dǎo)體存儲器以多個數(shù)據(jù)段為單位來執(zhí)行寫入和擦除,從而消除了為多個地址中的每一個地址輸入指令的需要。從而,可以提高寫入和擦除處理效率和減少處理時間。此外,與以多個數(shù)據(jù)段為單位設(shè)置標(biāo)志的情況相比,通過為要寫入或擦除數(shù)據(jù)的每一個地址設(shè)置標(biāo)志可以更加有效率地執(zhí)行寫入和擦除。
本發(fā)明提供一種能夠提高寫入和擦除處理效率并且減少寫入和擦除處理時間的非易失性半導(dǎo)體存儲器,以及用于控制該存儲器的方法。
從下面結(jié)合附圖的描述中,本發(fā)明的上述和其他目的、優(yōu)點和特征更加清楚,其中圖1為框圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的結(jié)構(gòu);圖2是描述了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的寫操作的流程的視圖;圖3為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的寫操作;圖4A~4C是示出了在根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器中使用的寫標(biāo)志的例子的視圖;圖5A和5B為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的寫操作;圖6為框圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的結(jié)構(gòu);圖7為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的寫操作;圖8A和8B為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的寫操作;
圖9為框圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的下一個地址計算器的結(jié)構(gòu);圖10為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的地址選擇操作;圖11為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的下一個地址計算操作;圖12為流程圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的最后地址計算操作;圖13為電路圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的下一個執(zhí)行地址計算器的結(jié)構(gòu);圖14為電路圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的最后地址計算器的結(jié)構(gòu);圖15為曲線圖,示出了根據(jù)本發(fā)明的第一和第二實施例的寫操作時間的計算例子;圖16為框圖,示出了根據(jù)本發(fā)明的實施例的非易失性半導(dǎo)體存儲器的下一個執(zhí)行地址計算器的結(jié)構(gòu);圖17為曲線圖,示出了在典型的二值閃存中的存儲器單元的閾值改變;圖18為曲線圖,示出了在典型的多值閃存中的存儲器單元的閾值改變;圖19為框圖,示出了現(xiàn)有技術(shù)的非易失性半導(dǎo)體存儲器的結(jié)構(gòu);圖20為流程圖,示出了現(xiàn)有技術(shù)的非易失性半導(dǎo)體存儲器的寫操作;以及圖21是描述現(xiàn)有技術(shù)的非易失性半導(dǎo)體存儲器的寫操作的流程的視圖。
具體實施例方式
現(xiàn)在,將參考解釋性實施例來在此講述本發(fā)明。本領(lǐng)域的技術(shù)人員都知道,使用本發(fā)明的講述可以實現(xiàn)許多可替換的實施例,并且本發(fā)明并不限于為解釋性目的而示出的實施例。
第一實施例下面來講述根據(jù)本發(fā)明的第一實施例的非易失性半導(dǎo)體存儲器。該實施例的非易失性半導(dǎo)體存儲器允許具有連續(xù)地址的數(shù)據(jù)段的批量輸入。此外,它設(shè)置用于指示每一個地址的寫入完成的標(biāo)志,以便計數(shù)器依次選擇和處理每一個標(biāo)志。
首先參考圖1,下面講述根據(jù)該實施例的非易失性半導(dǎo)體存儲器的結(jié)構(gòu)。非易失性半導(dǎo)體存儲器是一種包括例如閃存和控制器的半導(dǎo)體器件,并且將要寫入的數(shù)據(jù)序列臨時存儲到緩沖器中并且然后依次寫入數(shù)據(jù)。
如圖1所示,非易失性半導(dǎo)體存儲器包括緩沖器1、內(nèi)部地址計數(shù)器2、標(biāo)志信息存儲器3、順序控制器4、讀電路5、寫電路6、存儲器單元陣列7和比較器9。
緩沖器1臨時存儲通過外部總線等提供的外部地址和外部數(shù)據(jù)。外部地址和外部數(shù)據(jù)是要寫入的地址和數(shù)據(jù)。特別地,在該實施例中,外部數(shù)據(jù)是包含多個連續(xù)數(shù)據(jù)段的數(shù)據(jù)塊,并且外部地址是外部數(shù)據(jù)的數(shù)據(jù)塊的首地址。因此,緩沖器1起到輸入部件的作用,用于將要寫入的數(shù)據(jù)段一次輸入到扇區(qū)中的多個地址。
內(nèi)部地址計數(shù)器2根據(jù)計數(shù)器值來選擇要向存儲器單元陣列7寫入數(shù)據(jù)或從存儲器單元陣列7讀出數(shù)據(jù)的內(nèi)部地址。內(nèi)部地址計數(shù)器2是地址設(shè)置電路(地址選擇器)20,它用于根據(jù)存儲在標(biāo)志信息存儲器3中的寫標(biāo)志來確定要提供給存儲器陣列7的地址。例如,計數(shù)器值可以是內(nèi)部地址或自首地址的偏移。內(nèi)部地址是用于指定存儲器單元陣列7中的存儲器單元的地址,并且可以與從外部提供的外部地址或從用于寫入到存儲器單元陣列7的外部地址轉(zhuǎn)換的地址相同。
標(biāo)志信息存儲器(標(biāo)志存儲器)3為存儲在緩沖器1中的外部數(shù)據(jù)的每一個地址(每一個內(nèi)部地址)存儲寫標(biāo)志。寫標(biāo)志與存儲器單元陣列7中的存儲器單元(數(shù)據(jù))的地址有關(guān)地存儲,并且其指示每一個存儲器單元(數(shù)據(jù))的狀態(tài)。寫標(biāo)志指示每一個數(shù)據(jù)的寫入的成功或失敗,也就是說,指示是否已經(jīng)為每一個數(shù)據(jù)完成了寫入。如果寫標(biāo)志被置位,則指示寫入失敗,這意味著它是寫入的目標(biāo)。另一方面,如果復(fù)位或沒有置位寫標(biāo)志,則指示寫入成功,這意味著它不是寫入的目標(biāo)。
在存儲器單元陣列7中,多個存儲器單元以陣列形式排列。存儲器單元是諸如閃存等非易失性存儲器單元。例如,存儲器單元陣列7可以被分成幾個扇區(qū),每一個扇區(qū)都具有多個存儲器單元并且是用于擦除的最小單位。讀電路5從存儲器單元陣列7中的具有由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址的存儲器單元讀取數(shù)據(jù)。寫電路6將存儲在緩沖器1中的外部數(shù)據(jù)寫入到存儲器單元陣列7中的具有由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址的存儲器單元。因此,寫電路6是寫入或擦除部件22,用于對存儲器單元執(zhí)行數(shù)據(jù)寫或讀操作。比較器9將由讀電路5從存儲器單元陣列7讀取的數(shù)據(jù)與存儲在緩沖器1中的外部數(shù)據(jù)進行比較。因此,比較器9是校驗部件23,其執(zhí)行用于確定數(shù)據(jù)寫入或擦除操作是成功或失敗的校驗操作。
順序控制器4控制每一個組件的操作,并且實施一系列自動寫入操作。順序控制器4還起到標(biāo)志更新部件21的作用,用于根據(jù)比較器9的校驗結(jié)果來更新寫標(biāo)志。例如,順序控制器4根據(jù)標(biāo)志信息存儲器3中的寫標(biāo)志來操作讀電路5或?qū)戨娐?,根據(jù)比較器9中的比較結(jié)果來更新標(biāo)志信息存儲器3中的寫標(biāo)志,并且更新內(nèi)部地址計數(shù)器2的計數(shù)器值。
順序控制器4包括指令解碼器。指令解碼器識別用于自動輸入操作的指令,這允許連續(xù)輸入寫地址和寫數(shù)據(jù)。
下面參考圖2,來示意性地講述根據(jù)該實施例的非易失性半導(dǎo)體存儲器的自動寫操作。圖2按照時間順序示出了數(shù)據(jù)寫操作的流程。其示出了在一次寫入中校驗成功的例子。
在T1中,在對指示自動寫操作的指令進行解碼之后,操作一次性輸入地址和數(shù)據(jù)。因此,多個數(shù)據(jù)段和首地址被輸入和存儲在緩沖器1中。同時,該操作將與每一個地址相對應(yīng)的寫標(biāo)志設(shè)置到標(biāo)志信息存儲器3中。
在T2中,操作檢查標(biāo)志信息存儲器3中的寫標(biāo)志,并且根據(jù)該標(biāo)志在寫入之前執(zhí)行校驗(預(yù)校驗),然后根據(jù)校驗結(jié)果來更新標(biāo)志。重復(fù)校驗操作達到寫標(biāo)志被置位的地址的數(shù)目。
在T3中,操作檢查標(biāo)志信息存儲器3中的寫標(biāo)志,并且根據(jù)該標(biāo)志將緩沖器1中的數(shù)據(jù)寫入到存儲器單元陣列7的存儲器單元中。重復(fù)寫操作達到寫標(biāo)志被置位的地址的數(shù)目。
在T4中,操作檢查標(biāo)志信息存儲器3中的寫標(biāo)志,并且根據(jù)該標(biāo)志在寫入之后執(zhí)行校驗(后校驗),然后根據(jù)校驗結(jié)果來更新標(biāo)志。重復(fù)校驗操作達到寫標(biāo)志被置位的地址的數(shù)目。此外,如果寫入失敗的地址,即寫標(biāo)志被置位的地址,在校驗之后仍然存在,則重復(fù)在T3中的寫操作和在T4中的校驗操作,直到寫操作全部成功。
這樣,該實施例允許多個數(shù)據(jù)段和地址的批量輸入,從而消除了為每個數(shù)據(jù)都輸入指令(地址和數(shù)據(jù))的需要,而這是在圖21中所示的現(xiàn)有技術(shù)中所需要的。從而,可以減少寫操作的處理時間。
然后參考圖3的流程圖,下面進一步詳細講述根據(jù)該實施例的非易失性半導(dǎo)體存儲器的自動寫操作。自動寫操作是通過順序控制器4的控制來實施的。
首先,在對自動寫操作的指令進行解碼后,將要寫入的外部地址和外部數(shù)據(jù)作為來自外部的指令一次輸入到緩沖器1中(S201)。如上所述,由此多個連續(xù)數(shù)據(jù)段及其首地址也被輸入。
然后,輸入的外部數(shù)據(jù)被存儲在緩沖器1的相應(yīng)地址中,并且與要寫入數(shù)據(jù)的地址(內(nèi)部地址)有關(guān)的寫標(biāo)志被存儲在標(biāo)志信息存儲器3中(S202)。在第一次校驗時,由于在輸入外部地址和外部數(shù)據(jù)之后沒有立即執(zhí)行寫入,因此標(biāo)志信息存儲器3中的寫標(biāo)志全部被置位。
之后,順序控制器4復(fù)位內(nèi)部地址計數(shù)器2的計數(shù)器值(S203)。通過將計數(shù)器值設(shè)置為“0”,內(nèi)部地址計數(shù)器2選擇存儲器單元的首地址。
然后,對于由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址,順序控制器4確定寫標(biāo)志是否被置位(S204)。具體地說,它參考存儲在標(biāo)志信息存儲器3中的選擇的內(nèi)部地址的寫標(biāo)志,并且確定對該內(nèi)部地址進行的寫入是否成功。
如果在步驟S204中確定寫標(biāo)志被置位,即意味著選擇的地址是寫入的目標(biāo),則順序控制器4控制讀電路5,以便從存儲器單元陣列7中的具有由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址的存儲器單元讀取數(shù)據(jù)。
然后,比較器9確定由讀電路5讀取的數(shù)據(jù)是否與緩沖器1中的數(shù)據(jù)匹配(S206)。如果比較器9在步驟S206中確定數(shù)據(jù)匹配,則意味著校驗成功(寫入成功),因此順序控制器4進行更新以清除標(biāo)志信息存儲器3中的相應(yīng)內(nèi)部地址的寫標(biāo)志(S207)。另一方面,如果比較器9在步驟S206中確定數(shù)據(jù)不匹配,則意味著校驗失敗(寫入失敗),因此順序控制器4不更新標(biāo)志信息存儲器3中的相應(yīng)內(nèi)部地址的寫標(biāo)志,以便仍然保持置位。
S205和S206的處理是校驗操作,用于檢查寫入是否成功。如果在步驟S204中確定寫標(biāo)志沒有被置位,則寫入已經(jīng)成功,因此處理既不執(zhí)行校驗,也不更新標(biāo)志(S205~S207)。
然后,順序控制器4確定由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址是否為最后地址(S208)。具體地說,確定根據(jù)計數(shù)器值選擇的內(nèi)部地址是否達到標(biāo)志信息存儲器3的最終地址。例如,當(dāng)內(nèi)部地址存儲器2溢出時,順序控制器4可以確定它就是最后地址。在該實施例中,最后地址不是要寫入的數(shù)據(jù)的最終地址,而是標(biāo)志信息存儲器3的最終地址,它始終是固定的地址。
如果順序控制器4在步驟S208中確定由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址不是最后地址,則順序控制器4增加內(nèi)部地址計數(shù)器2的計數(shù)器值(S209)。之后,對由內(nèi)部地址計數(shù)器2的增加的計數(shù)器值選擇的內(nèi)部地址,順序控制器4檢查寫標(biāo)志,執(zhí)行校驗和更新寫標(biāo)志(S204~S207)。重復(fù)該處理直到到達最后地址。
另一方面,如果順序控制器4在步驟S208中確定內(nèi)部地址是最后地址,則確定是否已經(jīng)為所有的數(shù)據(jù)段完成了寫入(S210)。如果標(biāo)志信息存儲器3中的所有寫標(biāo)志都被清除(復(fù)位),則意味著一系列的緩沖器寫入已經(jīng)完成。如果標(biāo)志信息存儲器3中的至少一個寫標(biāo)志被置位,則意味著寫入沒有完成。如果順序控制器4在步驟S210中確定寫入已經(jīng)全部完成,則結(jié)束自動寫操作。
另一方面,如果順序控制器4在步驟S210中確定寫入沒有全部完成,則順序控制器4如在步驟S203中那樣復(fù)位內(nèi)部地址計數(shù)器2的計數(shù)器值(S211)。然后,如S204那樣,對于由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址,順序控制器4確定寫標(biāo)志是否被置位(S212)。
如果順序控制器4在步驟S212中確定標(biāo)志被置位,則意味著選擇的地址是寫入的目標(biāo)。在這種情況下,順序控制器4控制寫電路6,以便將緩沖器1中的相應(yīng)的外部數(shù)據(jù)電氣地寫入到存儲器單元陣列7中的具有由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址的存儲器單元中(S213)。另一方面,如果順序控制器4在步驟S212中確定標(biāo)志沒有被置位,則意味著寫入已經(jīng)成功。在這種情況下,順序控制器4不執(zhí)行向存儲器單元的寫入。
之后,如在S208中那樣,順序控制器4確定由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址是否為最后地址(S214)。
如果順序控制器4在步驟S214中確定由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址不是最后地址,則如S209那樣增加內(nèi)部地址計數(shù)器2的計數(shù)器值(S215)。
之后,對于根據(jù)內(nèi)部地址計數(shù)器2的增加的計數(shù)器值選擇的內(nèi)部地址,順序控制器4重復(fù)對寫標(biāo)志的檢查和向存儲器單元的寫入(S212~S213)。重復(fù)該處理直到達到最后地址。
另一方面,如果順序控制器4在步驟S214中確定由內(nèi)部地址計數(shù)器2選擇的內(nèi)部地址是最后地址,則再次復(fù)位內(nèi)部地址計數(shù)器2的計數(shù)器值(S203)。然后,重復(fù)步驟S203之后的處理,直到所有數(shù)據(jù)的寫操作完成。
圖4A~4C示出了存儲在標(biāo)志信息存儲器3中的內(nèi)部地址和寫標(biāo)志。
在圖4A~4C的例子中,內(nèi)部地址為2個位,寫標(biāo)志為1個位,并且對具有內(nèi)部地址(00)b至(11)b的四個數(shù)據(jù)段進行寫入。在該例子中,在三次校驗操作中完成了一系列自動寫入處理。圖4A示出了當(dāng)完成第一次校驗時的內(nèi)部地址和寫標(biāo)志。圖4B示出了當(dāng)完成第二次校驗時的內(nèi)部地址和寫標(biāo)志。圖4C示出了當(dāng)完成第三次校驗時的內(nèi)部地址和寫標(biāo)志。
當(dāng)輸入外部地址和外部數(shù)據(jù)時,對于所有的內(nèi)部地址(00)b至(11)b,寫標(biāo)志被置位。在第一次校驗中,沒有執(zhí)行將數(shù)據(jù)寫入到存儲器單元,因此當(dāng)完成了第一次校驗時所有的寫標(biāo)志被置位,如圖4A所示。在這種狀態(tài)下,對具有內(nèi)部地址(00)b至(11)b的存儲器單元執(zhí)行第一次寫入。在該例子中,第一次寫入在內(nèi)部地址(01)b和(10)b中成功,而在內(nèi)部地址(00)b和(11)b中失敗。
然后,在第二次校驗中,內(nèi)部地址(01)b和(10)b的寫標(biāo)志被復(fù)位為“0”。因此,當(dāng)完成第二次校驗時,僅內(nèi)部地址(00)b和(11)b的標(biāo)志被置位,如圖4B所示。在這種狀態(tài)下,對具有內(nèi)部地址(00)b和(11)b的存儲器單元執(zhí)行第二次寫入。在該例子中,第二次寫入在內(nèi)部地址(00)b和(11)b中成功。
然后,在第三次校驗中,內(nèi)部地址(00)b和(11)b的寫標(biāo)志被復(fù)位為“0”。因此,當(dāng)完成第三次校驗時,所有的標(biāo)志都被清除,如圖4C所示。從而完成了對內(nèi)部地址(00)b至(11)b的寫操作。
圖5A和5B示出了圖4A~4C的例子中的校驗操作的流程。圖5A示出了第一次或第二次校驗操作,其中內(nèi)部地址和寫標(biāo)志處于如圖4A所示的狀態(tài)。
首先,順序控制器4復(fù)位內(nèi)部地址計數(shù)器2的計數(shù)器值,并且檢查由計數(shù)器值“0”選擇的內(nèi)部地址(00)b的寫標(biāo)志(S301)。由于內(nèi)部地址(00)b的寫標(biāo)志是(1)b,因此對具有內(nèi)部地址(00)b的存儲器單元執(zhí)行校驗操作(S302)。
然后,順序控制器4增加內(nèi)部地址計數(shù)器2的計數(shù)器值,并且檢查由計數(shù)器值“1”選擇的內(nèi)部地址(01)b的寫標(biāo)志(S303)。由于內(nèi)部地址(01)b的寫標(biāo)志是(1)b,因此對具有內(nèi)部地址(01)b的存儲器單元執(zhí)行校驗操作(S304)。
此外,以相同的方式,順序控制器4增加內(nèi)部地址計數(shù)器2的計數(shù)器值,檢查內(nèi)部地址(10)b的寫標(biāo)志,執(zhí)行校驗操作,檢查內(nèi)部地址(11)b的寫標(biāo)志,并且執(zhí)行校驗操作(S305~S308)。然后,由內(nèi)部地址計數(shù)器2選擇的地址達到最后地址,在這種情況下是內(nèi)部地址(11)b,并且從而完成了第一或第二次校驗操作。通過依次選擇內(nèi)部地址(00)b至(11)b并將數(shù)據(jù)寫入到每一個地址,以與上述相同的方式執(zhí)行第一次寫操作。
圖5B示出了第三次校驗操作,其中內(nèi)部地址和寫標(biāo)志處于如圖4B所示的狀態(tài)。
首先,順序控制器4復(fù)位內(nèi)部地址計數(shù)器2的計數(shù)器值,并且檢查由計數(shù)器值“0”選擇的內(nèi)部地址(00)b的寫標(biāo)志(S309)。由于內(nèi)部地址(00)b的寫標(biāo)志是(1)b,因此對具有內(nèi)部地址(00)b的存儲器單元執(zhí)行校驗操作(S310)。
然后,順序控制器4增加內(nèi)部地址計數(shù)器2的計數(shù)器值,并且檢查由計數(shù)器值“1”選擇的內(nèi)部地址(01)b的寫標(biāo)志(S311)。由于內(nèi)部地址(01)b的寫標(biāo)志是(0)b,因此不執(zhí)行校驗操作。
進而,順序控制器4增加內(nèi)部地址計數(shù)器2的計數(shù)器值,并且檢查由計數(shù)器值“2”選擇的內(nèi)部地址(10)b的寫標(biāo)志(S312)。由于內(nèi)部地址(10)b的寫標(biāo)志是(0)b,因此不執(zhí)行校驗操作。
進而,順序控制器4增加內(nèi)部地址計數(shù)器2的計數(shù)器值,并且檢查由計數(shù)器值“3”選擇的內(nèi)部地址(11)b的寫標(biāo)志(S313)。由于內(nèi)部地址(11)b的寫標(biāo)志是(1)b,因此對具有內(nèi)部地址(11)b的存儲器單元執(zhí)行校驗操作(S314)。然后,由內(nèi)部地址計數(shù)器2選擇的地址到達最后地址,在這種情況下是內(nèi)部地址(11)b,并且從而完成了第三次校驗操作。通過依次選擇內(nèi)部地址(00)b至(11)b并將數(shù)據(jù)寫入到內(nèi)部地址(00)b和(11)b,以與上述相同的方式執(zhí)行第二次寫操作。
如前所述,該實施例一次輸入多個數(shù)據(jù)段和數(shù)據(jù)段的地址作為來自外部的指令。這消除了為每一個數(shù)據(jù)段都輸入指令的需要,因此允許有效率的寫操作,從而減少了用于寫操作的時間。
此外,通過為多個地址中的每一個地址設(shè)置標(biāo)志并根據(jù)該標(biāo)志來執(zhí)行校驗或?qū)懭耄梢詫ψ鳛閷懭氲膯挝坏臄?shù)據(jù)執(zhí)行校驗或?qū)懭氩僮?,從而允許更有效率的操作。
第二實施例下面來講述根據(jù)本發(fā)明的第二實施例的非易失性半導(dǎo)體存儲器。該實施例的非易失性半導(dǎo)體存儲器允許具有連續(xù)地址的數(shù)據(jù)段的批量輸入。此外,它為每一個地址設(shè)置指示寫入完成的標(biāo)志,并且選擇多個標(biāo)志且基本上同時地對它們進行并行處理。
在上述的第一實施例中,當(dāng)實施緩沖器操作時會發(fā)生冗余地址選擇操作,這會引起處理速度的下降。如參考圖5A和5B所述的,第一實施例增加計數(shù)器值,并且總是依次查找寫標(biāo)志被置位的地址。因此,每一個地址都被選擇一次,甚至是寫標(biāo)志沒有被置位的非目標(biāo)地址。由于在第一實施例中總是執(zhí)行不必要的地址選擇而會引起寫操作速度下降。
每次執(zhí)行寫操作或讀操作時,執(zhí)行查找寫標(biāo)志的操作。因此,由于操作重復(fù),相應(yīng)地增加了冗余地址選擇時間。隨著寫目標(biāo)地址的數(shù)量的減少,在寫標(biāo)志查找操作中的冗余地址的數(shù)量增加。因此,隨著由外部指令指定的地址的數(shù)量相對于對于緩沖器大小減少,冗余處理時間增加。
為了克服這種缺點,第二實施例只選擇必要的地址,而不是在寫標(biāo)志的查找操作中總是依次選擇地址。
然后參考圖6,下面講述根據(jù)該實施例的非易失性半導(dǎo)體存儲器的結(jié)構(gòu)。在圖6中,與圖1中相同的元件用相同的標(biāo)號來表示,這里不再對其進行詳細講述。如圖6所示,該實施例的非易失性半導(dǎo)體存儲器包括內(nèi)部地址存儲器10而不是內(nèi)部地址計數(shù)器2,并且進一步包括下一個地址計算器8。內(nèi)部地址存儲器10和下一個地址計算器8起到地址設(shè)置電路20的作用。
內(nèi)部地址存儲器10存儲由順序控制器4設(shè)置的內(nèi)部地址。它根據(jù)設(shè)置的內(nèi)部地址來選擇要向存儲器單元陣列7寫入數(shù)據(jù)或要從存儲器單元陣列7讀取數(shù)據(jù)的地址。因此,盡管內(nèi)部地址存儲器10與第一實施例中的內(nèi)部地址計數(shù)器2具有基本相同的結(jié)構(gòu),但是只由順序控制器4在其中執(zhí)行內(nèi)部地址的設(shè)置而不執(zhí)行增加。
下一個地址計算器8根據(jù)當(dāng)前被設(shè)置到內(nèi)部地址存儲器10的內(nèi)部地址來計算下一個要選擇的地址,該地址下面被稱為下一個地址。由于計算的下一個地址是寫目標(biāo)地址,因此不會發(fā)生如第一實施例中的不必要的地址選擇操作。在第一寫標(biāo)志的查找(選擇)操作中,順序控制器4輸入初始設(shè)置標(biāo)志。下一個地址計算器8計算下一個地址并且進一步確定該地址是否為最后地址。如果計算的下一個地址為最后地址,則下一個地址計算器8將最后地址標(biāo)志輸入到順序控制器4。
在此講述根據(jù)本實施例的非易失性半導(dǎo)體存儲器中的自動寫操作。由于自動寫操作與圖2所示的基本相同,因此這里參照圖7的流程圖來講述該實施例的自動寫操作的細節(jié)。
首先,在對自動寫操作的指令進行解碼后,將要寫入的外部地址和外部數(shù)據(jù)段作為來自外部的指令一次輸入到緩沖器1中(S401)。如第一實施例的情況那樣,多個連續(xù)數(shù)據(jù)段及其首地址從而被輸入。
然后,輸入的外部數(shù)據(jù)被存儲在緩沖器1的相應(yīng)地址中,并且與要寫入數(shù)據(jù)的地址(內(nèi)部地址)有關(guān)的寫標(biāo)志被存儲在標(biāo)志信息存儲器3中(S402)。
之后,下一個地址計算器8計算出作為下一個要選擇的內(nèi)部地址的下一個地址,并且進一步計算出計算的內(nèi)部地址是否為最后地址(S403)。在該計算中,下一個地址計算器8使用來自內(nèi)部地址存儲器10的當(dāng)前內(nèi)部地址(初始復(fù)位狀態(tài))以及標(biāo)志信息存儲器3中的寫標(biāo)志。
然后,順序控制器4將由下一個地址計算器8計算的下一個地址設(shè)置到內(nèi)部地址存儲器10(S404)。由下一個地址計算器8計算的下一個地址從而被設(shè)置為當(dāng)前內(nèi)部地址,以便內(nèi)部地址存儲器10選擇最新設(shè)置的內(nèi)部地址。
順序控制器4然后控制讀電路5,以便從存儲器單元陣列7中的具有由內(nèi)部地址存儲器10選擇的內(nèi)部地址的存儲器單元讀取數(shù)據(jù)(S405)。
之后,比較器9確定由讀電路5讀取的數(shù)據(jù)是否與緩沖器1中的數(shù)據(jù)匹配(S406)。如果比較器9在步驟S406中確定數(shù)據(jù)匹配,則意味著校驗成功(寫入成功),因此順序控制器4進行更新以清除標(biāo)志信息存儲器3中的相應(yīng)地址的寫標(biāo)志(S407)。另一方面,如果比較器9在步驟S406中確定數(shù)據(jù)不匹配,則意味著校驗失敗(寫入失敗),因此順序控制器4不更新標(biāo)志信息存儲器3中的相應(yīng)地址的寫標(biāo)志,使它仍然保持置位。
然后,順序控制器4確定由內(nèi)部地址存儲器10選擇的內(nèi)部地址是否為最后地址(S408)。由于下一個地址計算器8已經(jīng)確定當(dāng)前內(nèi)部地址是否為最后地址,并且置位最后地址標(biāo)志,因此順序控制器4根據(jù)最后地址標(biāo)志來確定它是否是最后地址。
如果順序控制器4在步驟S408中根據(jù)內(nèi)部地址存儲器10以及標(biāo)志信息存儲器3中的寫標(biāo)志確定由內(nèi)部地址存儲器10選擇的地址不是最后地址,則下一個地址計算器8根據(jù)作為最后一次設(shè)置的地址的當(dāng)前內(nèi)部地址再次計算下一個要被選擇的地址,并且進一步計算它是否為最后地址(S403)。然后,計算的地址被設(shè)置到內(nèi)部地址存儲器10(S404)。之后,順序控制器4以相同的方式來執(zhí)行校驗和寫標(biāo)志的更新(S405~S407),并且重復(fù)該處理,直到到達最后地址。
另一方面,如果順序控制器4在步驟S408中確定內(nèi)部地址是最后地址,則它進一步確定是否已經(jīng)完成對所有數(shù)據(jù)段的寫入(S409)。如果由下一個地址計算器8置位指示它是最后地址的最后地址標(biāo)志,并且在標(biāo)志信息存儲器3中的寫標(biāo)志被全部清除,則意味著完成了一系列自動寫操作。如果在標(biāo)志信息存儲器3中的至少一個寫標(biāo)志被置位,則意味著寫操作還沒有完成。如果順序控制器4在步驟S409中確定寫入已經(jīng)全部完成,則它結(jié)束自動寫操作。
另一方面,如果順序控制器4在步驟S409中確定寫還沒有全部完成,則如S403中那樣,下一個地址計算器8基于內(nèi)部地址存儲器10中的當(dāng)前內(nèi)部地址(復(fù)位狀態(tài))和標(biāo)志信息存儲器3中的寫標(biāo)志來計算下一個要選擇的地址,并且進一步計算它是否為最后地址(S410)。
然后,如在S404中那樣,順序控制器4將由下一個地址計算器8計算出的下一個地址設(shè)置到內(nèi)部地址存儲器10(S411)。
然后順序控制器4控制寫電路6,以便將緩沖器1中的相應(yīng)外部數(shù)據(jù)寫入到存儲器單元陣列7中的具有由內(nèi)部地址存儲器10選擇的地址的存儲單元中(S412)。
然后,如在S408中那樣,順序控制器4確定由內(nèi)部地址存儲器10選擇的地址是否為最后地址(S413)。如果順序控制器4在步驟S413中確定由內(nèi)部地址存儲器10選擇的地址不是最后地址并且當(dāng)下一個地址計算器8沒有置位指示最后地址的最后地址標(biāo)志時,下一個地址計算器8基于內(nèi)部地址存儲器10中的作為最后設(shè)置的地址的當(dāng)前內(nèi)部地址和標(biāo)志信息存儲器3中的寫標(biāo)志再次計算下一個要選擇的地址,并且進一步計算它是否為最后地址(S410)。然后,計算的地址被設(shè)置到內(nèi)部地址存儲器10(S411)。之后,順序控制器4以相同的方式來執(zhí)行寫操作(S412),并且重復(fù)該處理,直到到達最后地址為止。
另一方面,如果順序控制器4在步驟S413中確定由內(nèi)部地址存儲器10選擇的地址是最后地址并且當(dāng)下一個地址計算器8置位指示最后地址的最后地址標(biāo)志時,下一個地址計算器8再次計算下一個地址(S403)。之后,重復(fù)步驟S403之后的處理,直到所有數(shù)據(jù)段的寫入都完成為止。
現(xiàn)在參照圖8A和8B,下面講述根據(jù)本實施例的非易失性半導(dǎo)體存儲器中的自動寫操作的具體例子。如第一實施例中的圖5A和5B那樣,圖8A和8B示出了圖4A~4C的例子中的每一個校驗操作。
圖8A示出了內(nèi)部地址和寫標(biāo)志處于圖4A所示的狀態(tài)的第一次或第二次校驗操作。
由于處于初始狀態(tài),因此下一個地址計算器8同時檢查內(nèi)部地址(00)b至(11)b的所有寫標(biāo)志,并且計算寫標(biāo)志被置位的最小內(nèi)部地址(S501)。由于內(nèi)部地址(00)b的寫標(biāo)志是(1)b,因此計算出內(nèi)部地址(00)b并且將其設(shè)置到內(nèi)部地址存儲器10,以便選擇內(nèi)部地址(00)b。然后,對具有內(nèi)部地址(00)b的存儲器單元執(zhí)行校驗操作(S502)。
然后,由于在內(nèi)部地址存儲器10中選擇了的內(nèi)部地址(00)b,因此下一個地址計算器8同時檢查大于(00)b的內(nèi)部地址,即內(nèi)部地址(01)b至(11)b的所有寫標(biāo)志,并且計算寫標(biāo)志被置位的最小內(nèi)部地址(S503)。由于內(nèi)部地址(01)b的寫標(biāo)志是(1)b,因此計算出內(nèi)部地址(01)b并且將其設(shè)置到內(nèi)部地址存儲器10,以便選擇內(nèi)部地址(01)b。然后,對具有內(nèi)部地址(01)b的存儲器單元執(zhí)行校驗操作(S504)。
以此方式,當(dāng)內(nèi)部地址是(01)b時,處理進一步檢查內(nèi)部地址(10)b和(11)b的寫標(biāo)志,并且校驗具有內(nèi)部地址(10)b的存儲器單元(S506)。當(dāng)內(nèi)部地址是(10)b時,它進一步檢查內(nèi)部地址(11)b的寫標(biāo)志(S507),并且校驗具有內(nèi)部地址(11)b的存儲器單元(S508)。由此,從內(nèi)部地址存儲器10選擇的地址達到最后地址,在這種情況下為內(nèi)部地址(11)b,并且完成第一次或第二次校驗操作。通過選擇內(nèi)部地址(00)b至(11)b并將數(shù)據(jù)寫入到每一個地址,以與上述相同的方式執(zhí)行第一次寫操作。
圖8B示出了第三次校驗操作,其中內(nèi)部地址和寫標(biāo)志處于如圖4B所示的狀態(tài)。
由于處于初始狀態(tài),因此地址計算器8同時檢查內(nèi)部地址(00)b至(11)b的所有寫標(biāo)志,并且計算出寫標(biāo)志被置位的最小內(nèi)部地址(S509)。由于內(nèi)部地址(00)b的寫標(biāo)志是(1)b,因此計算出內(nèi)部地址(00)b并且將其設(shè)置到內(nèi)部地址存儲器10,以便選擇內(nèi)部地址(00)b。然后,對具有內(nèi)部地址(00)b的存儲器單元執(zhí)行校驗操作(S510)。
然后,由于在內(nèi)部地址存儲器10中選擇了的內(nèi)部地址(00)b,因此下一個地址計算器8同時檢查大于(00)b的地址,即內(nèi)部地址(01)b至(11)b的所有寫標(biāo)志,并且計算寫標(biāo)志被置位的最小內(nèi)部地址(S511)。由于內(nèi)部地址(01)b和(10)b的寫標(biāo)志是(0)b,并且內(nèi)部地址(11)b的寫標(biāo)志是(1)b,因此計算出內(nèi)部地址(11)b并且將其設(shè)置到內(nèi)部地址存儲器10,以便選擇內(nèi)部地址(11)b。然后,對具有內(nèi)部地址(11)b的存儲器單元執(zhí)行校驗操作(S512)。然后,由內(nèi)部地址存儲器10選擇的地址達到最后地址,在這種情況下為內(nèi)部地址(11)b,從而完成第三次校驗操作。通過選擇內(nèi)部地址(00)b至(11)b并且將數(shù)據(jù)寫入到每一個地址,以與上述相同的方式執(zhí)行第二次寫操作。
如前面所述,該實施例僅選擇寫標(biāo)志被置位的地址。因此避免了如圖5中所示的第一實施例那樣總是依次選擇地址的情況,從而減少了寫標(biāo)志查找操作的處理時間。
下面來講述下一個地址計算器8的結(jié)構(gòu)和操作。圖9示出了下一個地址計算器8的結(jié)構(gòu)。如圖9所示,下一個地址計算器8包括下一個執(zhí)行地址計算器81和最后地址計算器82。
下一個執(zhí)行地址計算器81輸入當(dāng)前內(nèi)部地址、寫標(biāo)志和初始設(shè)置標(biāo)志,計算寫標(biāo)志被置位的要選擇的下一個地址,并且將計算的地址輸出到順序控制器4。下一個執(zhí)行地址計算器81起到下一個執(zhí)行地址選擇器的作用,其基本上同時檢查存儲在標(biāo)志信息存儲器3中的多個標(biāo)志,并且針對數(shù)據(jù)寫入、擦除或校驗等每一個操作,從多個標(biāo)志中選擇置位標(biāo)志的地址。最后地址計算器82輸入當(dāng)前內(nèi)部地址和寫標(biāo)志,計算用于指示內(nèi)部地址是否為最后地址的最后地址標(biāo)志,并且將結(jié)果輸出到順序控制器4。最后地址計算器82起到最后地址確定器的作用,其在選擇地址時基本上同時檢查存儲在標(biāo)志信息存儲器3中的多個標(biāo)志,并且當(dāng)多個標(biāo)志中的全部都沒有被置位時,確定數(shù)據(jù)寫入、擦除或校驗操作完成。
在這個例子中,作為寫數(shù)據(jù)最大尺寸的緩沖器1的容量是32個地址。因此,用于指示地址是寫入目標(biāo)的寫標(biāo)志的數(shù)目是32,用于選擇要在其上寫數(shù)據(jù)的存儲器單元所需要的內(nèi)部地址是5個位(25=32)。
這里將作為被設(shè)置到內(nèi)部地址存儲器10的內(nèi)部地址的當(dāng)前內(nèi)部地址稱為ADD[4:0],它表示從第0個位至第4個位的5個位。由順序控制器4生成的且指示第一個地址選擇操作的初始設(shè)置標(biāo)志被稱為INITFLAG。存儲在標(biāo)志信息存儲器3中的且指示寫目標(biāo)的寫標(biāo)志被稱為FLAG[31:0]。作為下一個執(zhí)行地址計算器81的計算結(jié)果的下一個地址被稱為NEXT ADD[4:0]。作為最后地址計算器82的計算結(jié)果的最后地址標(biāo)志被稱為LASTFLAG。
在該實施例中,最后地址不像第一實施例中那樣是計數(shù)器溢出的最終地址,例如如果是5位的話,則(1_1111)b=(31)d。該實施例中的最后地址是緩沖器1中寫標(biāo)志被置位的地址(要寫入數(shù)據(jù)的地址)的最終地址。因此,最后地址并不意味著它總是(1_1111)b。
然后參考圖10的流程圖,下面講述根據(jù)該實施例的非易失性半導(dǎo)體存儲器中的地址選擇操作。圖10是從圖7的流程圖中提取的地址選擇操作的流程圖。
作為初始設(shè)置,順序控制器4復(fù)位內(nèi)部地址存儲器10中的內(nèi)部地址(ADD[4:0]=(0_0000)b=(0)d),并且置位初始設(shè)置標(biāo)志(INITFLAG=1)(S601)。
然后,下一個執(zhí)行地址計算器81計算下一個地址NEXT_ADD[4:0](S602)。同時,最后地址計算器82計算最后地址標(biāo)志LASTFLAG(S603)。后面將詳細講述下一個執(zhí)行地址計算器81和最后地址計算器82中的計算方法。
之后,順序控制器4把作為下一個執(zhí)行地址計算器81的計算結(jié)果的下一個地址NEXT_ADD[4:0]設(shè)置到內(nèi)部地址存儲器10(ADD[4:0]=NEXT_ADD[4:0])(S604)。從而選擇了與計算結(jié)果的地址相對應(yīng)的存儲器單元。
然后,順序控制器4為后續(xù)的地址計算復(fù)位初始設(shè)置標(biāo)志(INITFLAG=0)(S605)。
然后,順序控制器4通過作為最后地址計算器82的計算結(jié)果的最后地址標(biāo)志來確定當(dāng)前內(nèi)部地址是否為最后地址(LASTFLAG=1)(S606)。如果最后地址標(biāo)志沒有被置位(LASTFLAG=0),則意味著存在下一個要處理的存儲器單元。因此,下一個執(zhí)行地址計算器81再次計算要選擇的地址(S602)。另一方面,如果最后地址標(biāo)志被置位(LASTFLAG=1),則意味著當(dāng)前內(nèi)部地址是緩沖器中要處理的最終地址,并且從而完成了地址選擇操作。
圖10的流程圖示出了緩沖器中的一次地址選擇操作。在圖7中所示的自動寫操作流程圖中,緩沖器中的地址選擇操作(圖10的操作)執(zhí)行了多次(S403~S408,S410~S413)。
現(xiàn)在參考圖11的流程圖,下面來講述在下一個執(zhí)行地址計算器81中的用于計算下一個地址NEXT_ADD[4:0]的方法。下一個執(zhí)行地址計算器81將當(dāng)前內(nèi)部地址ADD[4:0]與寫標(biāo)志FLAG[31:0]的狀態(tài)進行比較,并且計算下一個要執(zhí)行的下一個地址NEXT_ADD[4:0]。
圖11中的符號“==”表示匹配確定,“<”表示幅度關(guān)系確定,“&&”表示邏輯乘積,并且“<=”表示替換。下面的講述使用符號“=”作為等號。
下一個執(zhí)行地址計算器81首先確定當(dāng)前內(nèi)部地址是否為首地址(ADD[4:0]=(0)d),首地址的寫標(biāo)志是否被置位(FLAG
=1),以及進而初始設(shè)置標(biāo)志是否被置位(INITFLAG=1)(S701)。因此,它確定首地址是否為第一個地址計算中的寫目標(biāo)。如果S701的條件滿足,則下一個執(zhí)行地址計算器81將下一個地址設(shè)置為首地址(NEXT_ADD[4:0]<=(0)d)(S707)。
在S701中需要初始設(shè)置標(biāo)志INITFLAG的條件,其原因是因為需要對第一次中的選擇的地址是首地址的情況,即在第二個地址計算中當(dāng)前內(nèi)部地址為ADD[4:0]=(0)d的情況,與在第一個地址計算中當(dāng)前內(nèi)部地址為ADD[4:0]=(0)d的情況進行區(qū)分。
此外,步驟S702~S706的確定基本上與步驟S701同時執(zhí)行。步驟S702~S706確定對于包括標(biāo)志沒有被置位的地址的當(dāng)前內(nèi)部地址的下一個地址,寫標(biāo)志是否被置位。
在S702,下一個執(zhí)行地址計算器81確定當(dāng)前內(nèi)部地址是否為ADD[4:0]<(1)d,即首地址(ADD[4:0]=(0)d),以及第一個地址的寫標(biāo)志是否被置位(FLAG[1]=1)。由于S701的確定執(zhí)行優(yōu)先于S702的確定執(zhí)行,因此S702中的條件包括不滿足S701的條件。如果S702的條件滿足,則下一個地址被設(shè)置為第一個地址(NEXT_ADD[4:0]<=(1)d)(S708)。
在S703,下一個執(zhí)行地址計算器81確定當(dāng)前內(nèi)部地址是否為ADD[4:0]<(2)d,即首地址(ADD[4:0]=(0)d)或第一個地址(ADD[4:0]<=(1)d),以及第二個地址的寫標(biāo)志是否被置位(FLAG[2]=1)。由于S701和S702的確定執(zhí)行優(yōu)先于S703的確定執(zhí)行,因此S703中的條件包括不滿足S701和S702的條件。如果S703的條件滿足,則下一個地址被設(shè)置為第二個地址(NEXT_ADD[4:0]<=(2)d)(S709)。
類似地,在當(dāng)前內(nèi)部地址為ADD[4:0]<(3)d~(30)d的情況下,下一個執(zhí)行地址計算器81執(zhí)行確定(S704、S705),并且設(shè)置下一個地址(NEXT_ADD[4:0]<=(3)d~(30)d)。
在S706中,下一個執(zhí)行地址計算器81確定當(dāng)前內(nèi)部地址是否為ADD[4:0]<(31)d,即首地址至第30個地址(ADD[4:0]=(0)d~(30)d),以及第31個地址的寫標(biāo)志是否被置位(FLAG[31]=1)。如果S706的條件滿足,則下一個地址被設(shè)置為第31個地址(NEXT_ADD[4:0]<=(31)d)(S712)。另一方面,如果S706的條件不滿足,則下一個地址被設(shè)置為首地址(NEXT_ADD[4:0]<=(0)d)(S713)。因此,在這種情況下復(fù)位下一個地址。不過,由于最后地址計算器82確定該地址是最后地址,并且在該條件滿足之前結(jié)束了處理,因此它通常不被選擇。
以此方式,該實施例僅選擇寫標(biāo)志被置位的必需地址,從而防止了多余地址的選擇。在有些情況下,可以通過跳址來進行選擇。
然后,參考圖12的流程圖,下面來講述用于在最后地址計算器82中計算最后地址標(biāo)志LASTFLAG的方法。最后地址計算器82將當(dāng)前內(nèi)部地址ADD[4:0]與寫標(biāo)志FLAG[31:0]的狀態(tài)進行比較,并且計算出選擇的內(nèi)部地址是否為最后地址。在圖12中,符號“~”表示邏輯非,并且“|”表示位邏輯和。
最后地址計算器82確定當(dāng)前內(nèi)部地址是否為首地址(ADD[4:0)=(0)d),并且對于從第一個至第31個地址的所有地址,寫標(biāo)志都沒有被置位(~(|FLAG[31:1]))(S801)。因此,確定對于當(dāng)前內(nèi)部地址之后的所有地址,標(biāo)志都沒有被置位。如果S801的條件滿足,則意味著當(dāng)前內(nèi)部地址是最后一個地址。因此,最后地址計算器81置位最后地址標(biāo)志(LASTFLAG=1)(S808)。
此外,基本上與S802的確定同時地執(zhí)行S802至S806的確定。如S801那樣,步驟S802至S806確定對于當(dāng)前內(nèi)部地址之后的所有地址,標(biāo)志是否被置位。
在S802中,最后地址計算器82確定當(dāng)前內(nèi)部地址是否為第一個地址(ADD[4:0]=(1)d),并且對從第二至第31個地址的所有地址(~(|FLAG[31:2]))寫標(biāo)志都沒有被置位(S802)。如果S802的條件滿足,則如S801中那樣,意味著當(dāng)前內(nèi)部地址是最后地址。因此,最后地址計算器82置位最后地址標(biāo)志(LASTFLAG=1)(S808)。
類似地,最后地址計算器82對當(dāng)前內(nèi)部地址為ADD[4:0]=(2)d~(30)d的情況進行比較(S804、S805),并且置位最后地址標(biāo)志(LASTFLAG=1)(S808)。
此外,在S806中,在當(dāng)前內(nèi)部地址是第31個地址(ADD[4:0]=(31)d)時,最后地址計算器82置位最后地址標(biāo)志(LASTFLAG=1),以指示該內(nèi)部地址是最后地址而不參考寫標(biāo)志(S808)。如果S806的條件不滿足,則意味著當(dāng)前內(nèi)部地址ADD[4:0]不是最后地址。因此,最后地址計算器82復(fù)位最后地址標(biāo)志(LASTFLAG=0)(S807)。
通過根據(jù)為當(dāng)前地址之后的地址設(shè)置的標(biāo)志來計算最后地址標(biāo)志,可以在當(dāng)?shù)竭_寫標(biāo)志被置位的必要地址的最后一個時結(jié)束該處理,而不對內(nèi)部地址存儲器10的所有位進行計數(shù)。從而防止了不必要地址的選擇。
進而參考圖13和14,下面來講述下一個執(zhí)行地址計算器81和最后地址計算器82的詳細電路構(gòu)造。
圖13示出了下一個執(zhí)行地址計算器81的電路構(gòu)造的例子。該例子輸入當(dāng)前內(nèi)部地址ADD[1:0],寫標(biāo)志FLAG[3:0]和初始設(shè)置標(biāo)志INITFLAG,并且輸出下一個地址NEXT_ADD[1:0]。
如圖13所示,下一個執(zhí)行地址計算器81是由具有由101至118所標(biāo)示的邏輯門的組合電路組成的,這些邏輯門包括反相器、AND門、NAND門、OR門、NOR門和緩沖器。
初始設(shè)置標(biāo)志INITFLAG被反相,并且輸入到NAND門102的一個輸入端。寫標(biāo)志FLAG
被輸入到NAND門102的另一個輸入端。寫標(biāo)志FLAG[1]被輸入到反相器103的輸入端。寫標(biāo)志FLAG[2]被輸入到反相器101的輸入端。寫標(biāo)志FLAG[3]被輸入到反相器105的輸入端。當(dāng)前地址ADD
被輸入到緩沖器104的輸入端。當(dāng)前地址ADD[1]被輸入到緩沖器106的輸入端。
反相器101、NAND門102、反相器103、緩沖器104、反相器105和緩沖器106的輸出,通過AND門107、NOR門108、OR門109、AND門110、AND門111和NOR門112被輸入到緩沖器116。緩沖器116的輸出是下一個地址NEXT_ADD[1]。此外,反相器101、NAND門102、反相器103、緩沖器104、反相器105和緩沖器106的輸出,通過AND門107、NOR門108、OR門109、AND門110、AND門111和NOR門112,并且進而通過AND門113 NOR門114、NAND門115和AND門117被輸入到NOR門118。NOR門118的輸出是下一個地址NEXT_ADD
。
下面的表1是真值表,其用于指示圖13中所示的下一個執(zhí)行地址計算器81中的輸入和輸出。
表1
表1示出了與圖11的流程圖相同的操作。例如,當(dāng)輸入為當(dāng)前內(nèi)部地址ADD[1:0]=(00)b,寫標(biāo)志FLAG
=1并且初始設(shè)置標(biāo)志INITFLAG=1時,下一個執(zhí)行地址計算器81輸出下一個地址NEXT_ADD[1:0]=(00)b。
當(dāng)輸入為當(dāng)前內(nèi)部地址ADD[1:0]=(00)b,寫標(biāo)志FLAG[1]=0,寫標(biāo)志FLAG[2]=0,寫標(biāo)志FLAG[3]=1并且初始設(shè)置標(biāo)志INITFLAG=0時,下一個執(zhí)行地址計算器81輸出下一個地址NEXT_ADD[1:0]=(11)b。此時,它選擇初始地址(11)b,而不選擇內(nèi)部地址(01)b或(10)b。
當(dāng)輸入為當(dāng)前內(nèi)部地址ADD[1:0]=(01)b,寫標(biāo)志FLAG[2]=0,寫標(biāo)志FLAG[3]=1并且初始設(shè)置標(biāo)志INITFLAG=0時,下一個執(zhí)行地址計算器81輸出下一個地址NEXT_ADD[1:0]=(11)b。此時,它選擇初始地址(11)b,而不選擇內(nèi)部地址(10)b。
圖13的電路可以由其它組合電路組成,只要其如表1所示來工作。
圖14示出了最后地址計算器82的電路構(gòu)造的例子。該例子輸入當(dāng)前內(nèi)部地址ADD[1:0],寫標(biāo)志FLAG[3:0],并且輸出最后地址標(biāo)志LASTFLAG。
如圖14所示,最后地址計算器82是由具有由201至209所示的邏輯門的組合電路組成的,這些邏輯門包括反相器、AND門、NAND門、OR門和NOR門。
由于最后地址計算器82不使用寫標(biāo)志FLAG
,因此寫標(biāo)志FLAG
沒有被輸入。寫標(biāo)志FLAG[1]被反相,并且被輸入到AND門的一個輸入端。寫標(biāo)志FLAG[2]被輸入到NOR門204的一個輸入端。寫標(biāo)志FLAG[3]被輸入到OR門207的輸入端。當(dāng)前地址ADD
被輸入到反相器201的輸入端。當(dāng)前地址ADD[1]被輸入到反相器202的輸入端。
這些輸入通過反相器201、反相器202、AND門203、NOR門204、反相器205、NOR門206、OR門207和OR門208被輸入到NAND門209。NAND門209的輸出是最后地址標(biāo)志LASTFLAG。
下面的表2是真值表,其用于指示圖14中所示的最后地址計算器82中的輸入和輸出。
表2
表2示出了與圖12的流程圖相同的操作。例如,當(dāng)輸入為當(dāng)前內(nèi)部地址ADD[1:0]=(00)b,寫標(biāo)志FLAG[1]=0,寫標(biāo)志FLAG[2]=0并且寫標(biāo)志FLAG[3]=0時,最后地址計算器82輸出最后地址標(biāo)志LASTFLAG=1。此時,它選擇初始地址(00)b作為最后地址,而不選擇內(nèi)部地址(01)b、(10)b或(11)b。
當(dāng)輸入為當(dāng)前內(nèi)部地址ADD[1:0]=(01)b,寫標(biāo)志FLAG[2]=0并且寫標(biāo)志FLAG[3]=0時,最后地址計算器82輸出最后地址標(biāo)志LASTFLAG=1。此時,它選擇初始地址(01)b作為最后地址,而不選擇內(nèi)部地址(10)b或(11)b。
當(dāng)輸入為當(dāng)前內(nèi)部地址ADD[1:0]=(10)b并且寫標(biāo)志FLAG[3]=0時,最后地址計算器82輸出最后地址標(biāo)志LASTFLAG=1。此時,它選擇初始地址(10)b作為最后地址,而不選擇內(nèi)部地址(11)b。
圖14的電路可以由其它組合電路組成,只要其如表2所示工作。
下面來講述根據(jù)第一和第二實施例的自動寫操作時間的計算例子。該計算是在閃存的存儲器單元為多值和為二值時緩沖器中的寫地址的數(shù)量為32位的條件下進行的。在使用多值閃存的情況下,寫操作在30次寫入中結(jié)束并且電氣寫脈沖的寬度為500ns。在使用二值閃存的情況下,寫操作在一次寫入中結(jié)束,并且電氣寫脈沖的寬度為2us。
在該例子中,在由下面的表達式表示的順序操作中計算了自動寫入時間。下面的表達式1至3分別表示根據(jù)第一實施例的預(yù)校驗、編程(寫入)和后校驗的處理時間。
表達式1預(yù)校驗=查找(50ns)*所有地址的數(shù)量+校驗(200ns)*必要地址的數(shù)量表達式2編程=查找(50ns)*所有地址的數(shù)量+編程(XX ns)*必要地址的數(shù)量表達式3后校驗=查找(50ns)*所有地址的數(shù)量+校驗(200ns)*必要地址的數(shù)量下面的表達式4至6分別表示根據(jù)第二實施例的預(yù)校驗、編程(寫入)和后校驗的處理時間。
表達式4預(yù)校驗=查找(50ns)*必要地址的數(shù)量+校驗(200ns)*必要地址的數(shù)量表達式5編程=查找(50ns)*必要地址的數(shù)量+編程(XX ns)*必要地址的數(shù)量表達式6后校驗=查找(50ns)*必要地址的數(shù)量+校驗(200ns)*必要地址的數(shù)量下面的表3示出了當(dāng)寫數(shù)據(jù)段的數(shù)量為4至32時,根據(jù)上述表達式對二值閃存中的處理時間進行計算的結(jié)果。
表3
如表3所示,如果寫數(shù)據(jù)段的數(shù)量為32,則數(shù)據(jù)段被全部存儲在緩沖器1中,因此在查找時間上沒有差別。因此,在第一實施例和第二實施例之間處理時間相同。由于第二實施例中的查找時間隨著寫數(shù)據(jù)段的數(shù)量減少而減少,因此總體處理時間相應(yīng)地下降。如果寫數(shù)據(jù)段的數(shù)量為4,則第二實施例中的處理時間為第一實施例中的處理時間的70.8%。
下面的表4示出了當(dāng)寫數(shù)據(jù)段的數(shù)量為4至32時,根據(jù)上述表達式對多值閃存中的處理時間進行計算的結(jié)果。
表4
圖15為曲線圖,示出了表3和4中的時間減少效果。如表3和4以及圖15所示,如果寫數(shù)據(jù)段的數(shù)量為32,則數(shù)據(jù)段被全部存儲在緩沖器1中,因此在查找時間上沒有差別。因此,在第一實施例和第二實施例之間處理時間相同,而沒有獲得時間減少的效果。隨著寫數(shù)據(jù)段的數(shù)量減少,由于第二實施例可以消除多余的地址選擇處理,以減少查找時間,因此總體處理時間相應(yīng)減少,從而使時間減少效果增加。例如,在二值閃存的情況下,如果寫數(shù)據(jù)段的數(shù)量為4,則第一實施例中的處理時間為14.4us,而第二實施例中的處理時間為10.2us,從而第二實施例中的處理時間是第一實施例中的處理時間的70.8%。
由于在多值閃存中重試電氣寫入的數(shù)量和不需要進行寫入的地址數(shù)量比二值閃存中的大,因此在多值閃存中增加處理速度的效果會更為明顯。
例如,當(dāng)使用多值閃存時,如果對于寫數(shù)據(jù)段的數(shù)量為4的情況列出計算公式,則第一實施例中的處理時間可以由下述表達式7~10來表示表達式7預(yù)校驗=(50ns*32個地址)+(200ns*4個地址)=2.4us表達式8編程=(50ns*32個地址)+(500ns*4個地址)=3.6us表達式9后校驗=(50ns*32個地址)+(200ns*4個地址)=2.4us表達式10總計=(表達式7)+(表達式8+表達式9)*30=182.4us在相同條件下第二實施例中的處理時間的計算結(jié)果由下面的表達式11至14來表示表達式11預(yù)校驗=(50ns*4個地址)+(200ns*4個地址)=1.0us表達式12編程=(50ns*4個地址)+(500ns*4個地址)=2.2us表達式13后校驗=(50ns*4個地址)+(200ns*4個地址)=1.0us表達式14總計=(表達式11)+(表達式12+表達式13)*30=97.0us因此,第一實施例中的處理時間是182.4us,第二實施例中的處理時間是97.0us。因此,第二實施例中的處理時間減少到第一實施例中的處理時間的53.2%。
如前所述,在查找要校驗或要寫入的地址的過程中,該實施例不是像在第一實施例中那樣依次選擇所有的地址,而是只選擇寫標(biāo)志被置位的地址。這消除了多余的地址選擇操作,并且因此減少了寫操作的處理時間,從而增加了寫操作的速度。
此外,如果使用多值閃存作為要寫入數(shù)據(jù)的存儲器單元,則重試次數(shù)增加并且因此執(zhí)行地址選擇操作的次數(shù)相應(yīng)地增加,從而能夠進一步增加處理速度。
此外,在選擇地址時,如果在存儲器單元陣列中存在多余的電壓施加,則使用該實施例能夠防止施加多余的電介質(zhì)應(yīng)力。
第三實施例下面來講述根據(jù)本發(fā)明的第三實施例的非易失性半導(dǎo)體存儲器。除了下一個地址計算器8之外,該實施例的非易失性半導(dǎo)體存儲器與第二實施例的非易失性半導(dǎo)體存儲器相同。因此,這里不對其結(jié)構(gòu)進行詳細講述。
第二實施例需要對相對大量的階段進行比較操作。例如,如果內(nèi)部地址為2個位,則下一個執(zhí)行地址計算器81和最后地址計算器82的電路構(gòu)造如圖13和14所示。隨著內(nèi)部地址的位數(shù)增加,電路構(gòu)造變得更加復(fù)雜。因此,由于電路操作規(guī)格,則比較操作可能會太遲。
為了克服這一缺點,本實施例將包括在下一個地址計算器8中的如圖11的流程圖所示的下一個執(zhí)行地址計算器81的處理和如圖12的流程圖所示的最后地址計算器82的處理分成多個階段。此外,在最終階段中提供了選擇器,用于選擇和輸出必要的操作結(jié)果。
圖16為框圖,示出了將處理分成例如兩個階段的情況。在下一個執(zhí)行地址計算器81中,處理被分成第一個下一個執(zhí)行地址計算器811和第二個下一個執(zhí)行地址計算器812。例如,在圖11的流程中,對寫標(biāo)志FLAG
至FLAG[15]的確定是由第一個下一個執(zhí)行地址計算器(第一個下一個執(zhí)行地址選擇器)811來實現(xiàn)的,并且對寫標(biāo)志FLAG[16]至FLAG[31]的確定是由第二個下一個執(zhí)行地址計算器(第二個下一個執(zhí)行地址選擇器)812來實現(xiàn)的。最后,選擇器(第一個確定器)813選擇由第一個下一個執(zhí)行地址計算器811計算的地址或由第二個下一個執(zhí)行地址計算器812計算的地址中的任何一個,并且輸出結(jié)果。
類似地,在最后地址計算器82中,處理被分成第一個最后地址計算器821和第二個最后地址計算器822。在圖12的流程圖中對當(dāng)前內(nèi)部地址ADD[4:0]=(0)d~(15)d的確定是在第一個最后地址計算器(第一個最后地址確定器)821中實現(xiàn)的,并且對當(dāng)前內(nèi)部地址ADD[4:0]=(16)d~(31)d的確定是在第二個最后地址計算器(第二個最后地址確定器)822中實現(xiàn)的。最后,選擇器(第二個確定器)823選擇由第一個最后地址計算器821確定的最后地址標(biāo)志或由第二個最后地址計算器822確定的最后地址標(biāo)志中的任何一個,并且輸出結(jié)果。
如前面所述,該實施例將下一個地址計算器的計算處理分成多個電路,從而進一步增加寫操作的速度。因此甚至當(dāng)緩沖器中的地址的數(shù)量增加,或者當(dāng)下一個地址計算器的計算處理時間不滿足電路操作規(guī)定時,也能夠獲得足夠高的操作速度。
其他實施例盡管在上述實施例中的地址選擇操作以從首地址到最后地址的升序來選擇地址,但是并不限于此。該操作也可以以降序來選擇地址,其具有相同的效果。因此,本發(fā)明例如可以適用于由于存儲器單元陣列的構(gòu)造而應(yīng)該以降序來選擇地址的情況,并且不會降低效果。
此外,盡管上述實施例中主要講述了向存儲器單元的數(shù)據(jù)寫操作,但并不限于此,并且本發(fā)明可以應(yīng)用于數(shù)據(jù)擦除操作。在數(shù)據(jù)擦除操作中,在擦除之前的寫操作、擦除操作、回寫操作以及針對這些操作中每一種操作的讀操作中實施上述地址選擇,并且能夠減少擦除操作時間。
很明顯,本發(fā)明并不限于上述實施例,只要不偏離本發(fā)明的范圍和精神,可以對其進行修改和變化。
權(quán)利要求
1.一種非易失性半導(dǎo)體存儲器,其具有包含多個存儲器單元的扇區(qū),作為數(shù)據(jù)擦除操作的最小單位,該存儲器包括輸入部件,用于把要寫入的數(shù)據(jù)段批量輸入到扇區(qū)中的多個地址;標(biāo)志存儲器,用于存儲分別對應(yīng)于多個地址的存儲器單元的狀態(tài);以及地址設(shè)置電路,用于根據(jù)標(biāo)志存儲器中的信息來確定要選擇的地址。
2.一種非易失性半導(dǎo)體存儲器,其以包含多個數(shù)據(jù)段的數(shù)據(jù)塊為單位來執(zhí)行寫/擦除操作,該存儲器包括存儲器單元陣列,其包含多個非易失性存儲器單元;標(biāo)志存儲器,用于存儲為每一個地址提供的、指示與包含在數(shù)據(jù)塊中的多個數(shù)據(jù)段的每一個地址有關(guān)的寫/擦除操作的成功/失敗的標(biāo)志;地址選擇器,用于根據(jù)存儲的標(biāo)志來選擇寫/擦除操作失敗的地址;寫/擦除部件,用于對位于選擇的地址中的非易失性存儲器單元執(zhí)行數(shù)據(jù)段的寫/擦除操作;校驗部件,用于執(zhí)行校驗操作,以校驗對位于選擇的地址中的非易失性存儲器單元的數(shù)據(jù)寫/擦除操作的成功/失??;以及標(biāo)志更新部件,用于根據(jù)校驗操作的結(jié)果來更新標(biāo)志。
3.如權(quán)利要求2所述的非易失性半導(dǎo)體存儲器,其中地址選擇器通過使用與存儲在標(biāo)志存儲器中的地址相對應(yīng)的計數(shù)器來選擇地址。
4.如權(quán)利要求3所述的非易失性半導(dǎo)體存儲器,其中地址選擇器在每一個數(shù)據(jù)寫/擦除操作或校驗操作中依次更新計數(shù)器,并且通過更新的計數(shù)器來依次選擇地址。
5.如權(quán)利要求4所述的非易失性半導(dǎo)體存儲器,其中當(dāng)計數(shù)器被更新并且選擇可存儲在標(biāo)志存儲器中的最終地址時,地址選擇器結(jié)束數(shù)據(jù)寫/擦除操作或校驗操作。
6.如權(quán)利要求3所述的非易失性半導(dǎo)體存儲器,其中地址選擇器包括下一個執(zhí)行地址選擇器,其在每一個數(shù)據(jù)寫/擦除操作或校驗操作中基本上同時檢查存儲在標(biāo)志存儲器中的多個標(biāo)志,并且從多個標(biāo)志中選擇置位標(biāo)志的地址。
7.如權(quán)利要求6所述的非易失性半導(dǎo)體存儲器,其中下一個執(zhí)行地址選擇器檢查與大于當(dāng)前選擇的地址的地址相對應(yīng)的多個標(biāo)志。
8.如權(quán)利要求6所述的非易失性半導(dǎo)體存儲器,其中地址選擇器包括第一個和第二個下一個執(zhí)行地址選擇器以及第一個確定器,該第一個確定器從由第一個和第二個下一個執(zhí)行地址選擇器選擇的地址中確定一個地址,第一個下一個執(zhí)行地址選擇器檢查與第一范圍的地址相對應(yīng)的多個標(biāo)志,并且第二個下一個執(zhí)行地址選擇器檢查與第二范圍的地址相對應(yīng)的多個標(biāo)志。
9.如權(quán)利要求6所述的非易失性半導(dǎo)體存儲器,其中地址選擇器包括最后地址確定器,用于在選擇地址時基本上同時檢查存儲在標(biāo)志存儲器中的多個標(biāo)志,并且當(dāng)所有的多個標(biāo)志不被置位時,確定數(shù)據(jù)寫/擦除操作或校驗操作的完成。
10.如權(quán)利要求9所述的非易失性半導(dǎo)體存儲器,其中最后地址確定器檢查與大于當(dāng)前選擇的地址的地址相對應(yīng)的多個標(biāo)志。
11.如權(quán)利要求9所述的非易失性半導(dǎo)體存儲器,其中地址選擇器包括第一個和第二個最后地址確定器以及第二個確定器,用于根據(jù)從第一個和第二個最后地址確定器的確定選擇的一個來確定數(shù)據(jù)寫/擦除操作或校驗操作的完成,第一個最后地址確定器檢查與第一范圍的地址相對應(yīng)的多個標(biāo)志,并且第二個最后地址確定器檢查與第二范圍的地址相對應(yīng)的多個標(biāo)志。
12.如權(quán)利要求2所述的非易失性半導(dǎo)體存儲器,進一步包括緩沖器,用于存儲包含在數(shù)據(jù)塊中的多個數(shù)據(jù)段,其中寫/擦除部件將存儲在緩沖器中的數(shù)據(jù)段寫入到非易失性存儲器中,并且校驗部件對存儲在緩沖器中的數(shù)據(jù)段與從非易失性存儲器中讀出的數(shù)據(jù)段進行比較,并且根據(jù)該比較來校驗寫入的成功/失敗。
13.如權(quán)利要求2所述的非易失性半導(dǎo)體存儲器,其中校驗部件在執(zhí)行數(shù)據(jù)寫/擦除操作之前執(zhí)行校驗操作,并且在執(zhí)行數(shù)據(jù)寫/擦除操作之后進一步執(zhí)行校驗操作。
14.如權(quán)利要求2所述的非易失性半導(dǎo)體存儲器,其中校驗部件根據(jù)地址選擇器的地址選擇,從數(shù)據(jù)塊的首地址到最后地址重復(fù)校驗操作,寫/擦除部件在重復(fù)校驗操作之后,根據(jù)地址選擇器的地址選擇,從數(shù)據(jù)塊的首地址到最后地址重復(fù)寫/擦除操作;以及校驗部件在重復(fù)寫/擦除操作之后,根據(jù)地址選擇器的地址選擇,從數(shù)據(jù)塊的首地址到最后地址重復(fù)校驗操作。
15.如權(quán)利要求2所述的非易失性半導(dǎo)體存儲器,其中非易失性存儲器單元是存儲三個或更多閾值電平的多值存儲器單元。
16.一種非易失性半導(dǎo)體存儲器,包括存儲器單元陣列;緩沖器,用于響應(yīng)一個指令來接收多個數(shù)據(jù)單位;標(biāo)志存儲器,其具有標(biāo)志位;并且每一個位對應(yīng)于存儲在緩沖器中的每一個數(shù)據(jù)單位。
17.如權(quán)利要求16所述的非易失性半導(dǎo)體存儲器,進一步包括順序控制器,用于根據(jù)標(biāo)志位來跳過地址。
全文摘要
一種非易失性半導(dǎo)體存儲器,其包括存儲器單元陣列;標(biāo)志信息存儲器,用于存儲用于指示與數(shù)據(jù)塊中包含的多個數(shù)據(jù)段的每一個地址有關(guān)的寫入成功/失敗的寫標(biāo)志;內(nèi)部地址存儲器,用于選擇寫入失敗的地址;寫電路,用于執(zhí)行數(shù)據(jù)寫入;比較器,用于執(zhí)行校驗操作,以校驗數(shù)據(jù)寫入的成功/失??;以及順序控制器,用于根據(jù)校驗操作的結(jié)果來更新寫標(biāo)志。
文檔編號G11C16/02GK1855306SQ20061007714
公開日2006年11月1日 申請日期2006年4月27日 優(yōu)先權(quán)日2005年4月27日
發(fā)明者蛇島浩史 申請人:恩益禧電子股份有限公司