專利名稱:非易失性半導(dǎo)體存儲器及其程序驗(yàn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可執(zhí)行電寫入和電擦除操作的非易失性半導(dǎo)體存儲器及非易失性半導(dǎo)體存儲器的程序驗(yàn)證方法,本發(fā)明尤其涉及可有效執(zhí)行程序驗(yàn)證操作的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法。
在可執(zhí)行電寫入和電擦除操作的E2PROM這樣的非易失性半導(dǎo)體存儲器和閃速存儲器中,在進(jìn)行寫入數(shù)據(jù)和擦除數(shù)據(jù)的操作之后,有必要校驗(yàn)是否有效地執(zhí)行了數(shù)據(jù)的寫入和擦除操作,這個校驗(yàn)操作稱為驗(yàn)證。把在寫入數(shù)據(jù)時(shí)執(zhí)行的驗(yàn)證稱為程序驗(yàn)證,而在擦除數(shù)據(jù)時(shí)執(zhí)行的驗(yàn)證稱為可擦除驗(yàn)證。
以下參考
圖1將對常規(guī)非易失性半導(dǎo)體存儲器進(jìn)行描述。如圖1所示,非易失性半導(dǎo)體存儲器具備存儲單元陣列1、地址緩沖器2、行譯碼器3、列譯碼器4、讀出放大器5、輸入輸出緩沖器6、比較電路部件7、寫電路部件8和控制電路9。
在存儲單元陣列1中,把存儲單元排成陣列形式。地址緩沖器2把外部傳送的地址信號鎖存,以便輸出給行譯碼器3和列譯碼器4。行譯碼器3對外部傳送的地址信號的行地址信號進(jìn)行譯碼,以便選擇字線。列譯碼器4對外部傳送的地址信號的列地址信號進(jìn)行譯碼,以便選擇數(shù)據(jù)線。
讀出放大器5將通過數(shù)據(jù)線從存儲單元陣列1中讀出的數(shù)據(jù)放大。輸入輸出緩沖器6輸入來自數(shù)據(jù)總線6a的信號,并且把信號輸出給數(shù)據(jù)總線6a。
比較電路部件7把經(jīng)讀出放大器5放大的、存放在存儲單元陣列1中的信號(讀出數(shù)據(jù))與經(jīng)輸入輸出緩沖器6放大的、數(shù)據(jù)總線6a傳送的數(shù)據(jù)(期望值數(shù)據(jù))信號進(jìn)行比較。
如果讀出放大器5輸出的信號與輸入輸出緩沖器6的輸出信號不相符,則寫電路部件8把期望值數(shù)據(jù)寫入存儲單元陣列1,作為比較電路部件7中的比較結(jié)果。
控制電路9控制讀出放大器5、輸入輸出緩沖器6、比較電路部件7、寫電路部件8等。
以下將參考圖2的流程圖對圖1所示的非易失性半導(dǎo)體存儲器中的程序驗(yàn)證操作進(jìn)行說明。
首先,從步驟S0開始寫操作。接著在步驟1中計(jì)算寫電路部件8中的寫電路已經(jīng)將數(shù)據(jù)寫入存儲單元陣列1中的存儲單元的總次數(shù)(寫入總次數(shù))。
例如,如果數(shù)據(jù)的長度是16位,并且內(nèi)部總線的寬度也是16位,則寫電路部件8具有16個寫電路。這16個寫電路分別執(zhí)行16個存儲單元的寫操作??刂齐娐?計(jì)算各寫電路的寫操作次數(shù)。
接著,步驟S2判斷步驟S1中計(jì)算的寫操作總次數(shù)是否達(dá)到預(yù)定最大值,如果達(dá)到最大值則執(zhí)行步驟4中不正常結(jié)束。即,通過把熱電子注入非易失性半導(dǎo)體存儲器的浮置柵極來改變存儲單元的晶體管的閾值從而執(zhí)行寫操作。在這種情況下,除非晶體管的閾值達(dá)到預(yù)定值,否則即使將熱電子注入進(jìn)浮置柵極達(dá)預(yù)定次數(shù),此操作也是非正常寫操作,因此把這種情況作為故障來處理。
接著,如果步驟S2判斷的寫操作總次數(shù)沒有達(dá)到最大值,則在步驟S3中執(zhí)行程序驗(yàn)證。即,比較電路部件7把讀出數(shù)據(jù)與應(yīng)寫入存儲單元的期望值數(shù)據(jù)進(jìn)行比較,如果比較結(jié)果是讀出的數(shù)據(jù)與應(yīng)寫入的期望數(shù)值相符(通過),則比較電路部件7判定寫入操作被正常執(zhí)行,于是在步驟S5中確立完成寫操作。
如果比較的結(jié)果是讀出的數(shù)據(jù)與應(yīng)寫入的期望數(shù)值不相符(失效),則在步驟S6中使用寫電路部件8的寫電路將預(yù)期數(shù)值寫入存儲單元陣列1,此刻寫電路部件8的16個寫電路的電源有一個高電壓,且寫操作過程中的電流很大。因此,寫操作的電流能導(dǎo)致引起噪聲或器件溫升,對內(nèi)部電源的電流驅(qū)動能力也有限制,故16個寫電路不能同時(shí)把數(shù)據(jù)寫入存儲單元。因此寫操作實(shí)際上是分四批每批四位(預(yù)定值)進(jìn)行的。
接著又在步驟S1中計(jì)算寫操作次數(shù),并且同樣地重復(fù)步驟S2及其以后的程序。
例如,如果在圖2的步驟S3中判斷16位中僅有四位失效,如圖3所示的非易失性半導(dǎo)體存儲器存在下面這樣的問題,即失效數(shù)值(4)等于或小于該預(yù)定值。因此,即使考慮當(dāng)寫電流流動時(shí)由產(chǎn)生的噪聲引起的誤操作和內(nèi)部電源的驅(qū)動能力的限制,這失效的四位數(shù)也都可被立即寫入。盡管如此,寫操作也必須分為四批進(jìn)行,由此引起的問題是導(dǎo)致出現(xiàn)無用寫周期,因而使寫過程時(shí)間較長。
日本未決專利申請(JP-A-Heisei 5-144277)公布的技術(shù)在非易失性半導(dǎo)體存儲器方面已是眾所周知。在存儲單元陣列的位線方向的一端提供有用于數(shù)據(jù)鎖存器的CMOS觸發(fā)器和讀出放大器,這樣,在存儲單元陣列的預(yù)定范圍內(nèi),該技術(shù)具有驗(yàn)證控制裝置,用于設(shè)定存儲單元單位寫時(shí)間和同步寫入數(shù)據(jù),如果在存儲單元中的數(shù)據(jù)被讀出后存在處于非恰當(dāng)寫入狀態(tài)的存儲單元則執(zhí)行重寫操作。當(dāng)執(zhí)行寫驗(yàn)證操作時(shí),同時(shí)在從外部讀出的存儲單元中的數(shù)據(jù)和鎖存在觸發(fā)器中的寫數(shù)據(jù)之間執(zhí)行邏輯操作,然后為每一位自動設(shè)定重寫的數(shù)據(jù),以便不執(zhí)行不必要的寫操作。
本發(fā)明就是為了解決上述常規(guī)非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法中存在的問題。本發(fā)明的目的是提供一種在程序驗(yàn)證操作中可減少寫操作次數(shù)的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法。
因此,本發(fā)明的目的是提供一種可除去不必要的寫周期從而使得寫操作時(shí)間較短的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法。
為實(shí)現(xiàn)本發(fā)明的一個方面,非易失性半導(dǎo)體存儲器包括含有多個非易失性存儲單元的存儲單元陣列;比較部分,把含有從存儲單元陣列讀出的多個第一位數(shù)據(jù)的讀出數(shù)據(jù),與含有多個第二位數(shù)據(jù)的期望數(shù)值以位為單位進(jìn)行比較,以輸出一個表示比較結(jié)果的判斷信號,多個寫電路,把多個第二位數(shù)據(jù)的各個數(shù)寫入存儲單元陣列的一部分。這里有選擇地激活多個寫電路,并且被有選擇激活的寫電路的數(shù)量根據(jù)判斷信號而變化。
為實(shí)現(xiàn)本發(fā)明的另一個方面,非易失性半導(dǎo)體存儲器包括含有多個非易失性存儲單元的存儲單元陣列;比較部分,把含有從存儲單元陣列讀出的多個第一位數(shù)據(jù)的讀出數(shù)據(jù),與含有多個第二位數(shù)據(jù)的期望值數(shù)據(jù)以位為單位進(jìn)行比較,輸出一個表示比較結(jié)果的判斷信號;多個寫電路,分別提供給多個第一位數(shù)據(jù),并響應(yīng)控制信號和判斷信號把多個第二數(shù)據(jù)位的各個數(shù)寫入存儲單元陣列的一部分;控制部分,響應(yīng)判斷信號給多個寫電路的各個寫電路輸出控制信號。
在這種情況下,控制部分在彼此相同的定時(shí)給從多個寫電路中選擇的寫電路(作為選中電路)輸出控制信號,并根據(jù)判斷信號確定選中電路的數(shù)量。
仍然在這種情況下,控制部分確定選中電路的數(shù)量,以使該數(shù)量等于或小于預(yù)定數(shù)值。
仍然在這種情況下,將多個寫電路歸入多個組,并且控制電路在相同的定時(shí)給屬于多個組中各組的寫電路輸出控制信號,并根據(jù)作為一個單元的多個組的各組確定所選電路的數(shù)量。
在這種情況下,根據(jù)讀出數(shù)據(jù)中多個第一位數(shù)據(jù)的陣列的次序,將多個寫電路歸入多個組,并且控制部分根據(jù)判斷信號進(jìn)行檢測,將檢測到的與第二位數(shù)據(jù)不相符的第一位數(shù)據(jù)作為失效數(shù)據(jù);以及將檢測的讀數(shù)據(jù)中失效數(shù)據(jù)的分布作為第二檢測結(jié)果,然后根據(jù)第二檢測結(jié)果確定所選電路的數(shù)量。
還是在這種情況下,控制部分產(chǎn)生多個標(biāo)志信號用以表示第二檢測結(jié)果,并根據(jù)產(chǎn)生的多個標(biāo)志信號確定所選電路的數(shù)量。
仍然是在這種情況下,控制部分產(chǎn)生多個表示第二檢測結(jié)果的標(biāo)志信號,并且這些多個標(biāo)志信號包括第一標(biāo)志信號,當(dāng)失效數(shù)據(jù)的數(shù)量超出預(yù)定值時(shí),該信號電平從第一電平變?yōu)榈诙娖?,這些失效數(shù)據(jù)包括在讀出數(shù)據(jù)中的所有第一位數(shù)據(jù)中;第二標(biāo)志信號,當(dāng)失效數(shù)據(jù)的數(shù)量超出預(yù)定值時(shí),該信號電平從第一電平變?yōu)榈诙娖?,這些失效數(shù)據(jù)包括在讀出數(shù)據(jù)中所有第一位數(shù)據(jù)的第一部分中;第三標(biāo)志信號,當(dāng)失效數(shù)據(jù)的數(shù)量超出預(yù)定值時(shí),該信號電平從第一電平變?yōu)榈诙娖剑@些失效數(shù)據(jù)包括在除讀出數(shù)據(jù)中所有第一位數(shù)據(jù)的第一部分以外的第二部分中;第四標(biāo)志信號,當(dāng)失效數(shù)據(jù)的數(shù)量為零時(shí),該信號電平從第一電平變?yōu)榈诙娖?,這些失效數(shù)據(jù)包括在讀出數(shù)據(jù)中的所有第一位數(shù)據(jù)的第一部分中;以及第五標(biāo)志信號,當(dāng)失效數(shù)據(jù)的數(shù)量為零時(shí),該信號電平從第一電平變?yōu)榈诙娖剑@些失效數(shù)據(jù)包括在讀出數(shù)據(jù)中的所有第一位數(shù)據(jù)的第二部分中。
在這種情況下,當(dāng)?shù)谝恢恋谌乃袠?biāo)志信號都為第二電平時(shí),控制部分在不相同的定時(shí)給多個組的各組輸出控制信號。而當(dāng)?shù)谝恢恋谌龢?biāo)志信號都為第一電平時(shí),控制部分在相同的定時(shí)給多個組的各組輸出控制信號。當(dāng)?shù)谒臉?biāo)志信號為第二電平時(shí),控制部分不給相應(yīng)于第一部分的多個組的各組輸出控制信號。當(dāng)?shù)谖鍢?biāo)志信號為第二電平時(shí),控制部分不給相應(yīng)于第二部分的多個組的各組輸出控制信號。
還是在這種情況下,當(dāng)給各多個組的各組輸出控制信號時(shí),控制部分根據(jù)確定的所選電路的數(shù)量來確定定時(shí)。
仍然是在這種情況下,當(dāng)把多個第二位數(shù)據(jù)寫入存儲單元陣列的一部分時(shí),信號寫操作包括一個周期或多個周期,并且控制部分根據(jù)確定的所選電路的數(shù)量來決定信號寫操作的周期數(shù)。
為實(shí)現(xiàn)本發(fā)明的又一個方面,非易失性半導(dǎo)體存儲器的程序驗(yàn)證方法包括(a)從多個非易失半導(dǎo)體存儲單元的各存儲單元讀出第一位數(shù)據(jù);(b)提供要寫入多個非易失半導(dǎo)體存儲單元的各存儲單元的第二位數(shù)據(jù);(c)判斷多個第一位數(shù)據(jù)的各數(shù)據(jù)是否與第二位數(shù)據(jù)相符,以產(chǎn)生判斷結(jié)果;(d)根據(jù)該判斷結(jié)果進(jìn)行檢測,將與第二位數(shù)據(jù)不相符的第一位數(shù)據(jù)作為失效數(shù)據(jù),從而產(chǎn)生檢測結(jié)果;(e)根據(jù)該檢測結(jié)果把第二位數(shù)據(jù)寫入多個存儲單元的各單元,作為寫操作的至少一部分,其中所執(zhí)行的寫操作執(zhí)行一個周期或多個周期;(f)當(dāng)執(zhí)行步驟(e)時(shí),根據(jù)該檢測結(jié)果確定周期數(shù)。
在這種情況下,步驟(a)包括從多個存儲單元中的各單元中讀出第一位數(shù)據(jù),以便形成一個N(N為正整數(shù))位的讀出數(shù)據(jù);步驟(f)包括根據(jù)該檢測結(jié)果來檢測讀出數(shù)據(jù)中失效數(shù)據(jù)的分布,將其作為第二檢測結(jié)果,根據(jù)第二檢測結(jié)果確定寫操作中包括的周期數(shù)。
還是在這種情況下,程序驗(yàn)證方法進(jìn)一步包括(g)當(dāng)執(zhí)行步驟(e)的寫操作時(shí),將可在一個周期內(nèi)寫入的第二位數(shù)據(jù)的數(shù)量定為M(M是正整數(shù));其中步驟(a)包括從各存儲單元中讀出第一位數(shù)據(jù),以形成N(N為正整數(shù))位的讀出數(shù)據(jù);而且步驟(f)進(jìn)一步包括(h)根據(jù)檢測結(jié)果判斷所有N位讀出數(shù)據(jù)的失效數(shù)據(jù)量是否超出(M+1);并且步驟(f)中包括當(dāng)失效數(shù)據(jù)量未超出(M+1)時(shí),確定寫操作周期是1,作為步驟(h)的判斷結(jié)果。
仍然是在這種情況下,步驟(f)進(jìn)一步包括(i)設(shè)定至少兩個判斷部分,其中各部分對應(yīng)于讀出數(shù)據(jù)的P個第一位數(shù)據(jù),這里P是M的兩倍;(j)根據(jù)檢測結(jié)果判斷在第一和第二部分中是否有(M+1)個或更多的失效數(shù)據(jù);并且,當(dāng)步驟(h)的判斷結(jié)果為有(M+1)個或更多的失效數(shù)據(jù)、以及當(dāng)步驟(j)的判斷結(jié)果為在第一和第二判斷部分中都沒有(M+1)個或更多的失效數(shù)據(jù)時(shí),在步驟(f)中包括確定寫操作周期為2的步驟。
在這種情況下步驟(f)進(jìn)一步包括(k)根據(jù)檢測結(jié)果,判斷在第一和第二判斷部分中的失效數(shù)據(jù)量是否為零;并且,當(dāng)步驟(j)的判斷結(jié)果為在第一判斷部分中有(M+1)個或更多的失效數(shù)據(jù)、以及當(dāng)步驟(k)的判斷結(jié)果為在第二判斷部分中的失效數(shù)據(jù)量為零時(shí),步驟(f)中包括確定寫操作周期為2;而且,當(dāng)步驟(j)的判斷結(jié)果為在第一判斷部分中有(M+1)個或更多的失效數(shù)據(jù)、在第二判斷部分中沒有(M+1)個或更多的失效數(shù)據(jù),以及當(dāng)步驟(k)的判斷結(jié)果為在第二判斷部分中的失效數(shù)據(jù)量不為零時(shí),則步驟(f)中包括確定寫操作周期為3的步驟。
還是在這種情況下,步驟(e)包括把第二位數(shù)據(jù)寫入和已檢測的失效數(shù)據(jù)相對應(yīng)的多個存儲單元中的各存儲單元內(nèi)。
仍然是在這種情況下,步驟(a)包括從各存儲單元中讀出第一位數(shù)據(jù),以形成N(N為正整數(shù))位讀出數(shù)據(jù),并且在程序驗(yàn)證方法中進(jìn)一步包括(1)當(dāng)執(zhí)行步驟(e)的寫操作時(shí),把能在一個周期內(nèi)寫入的第二位數(shù)據(jù)的總數(shù)設(shè)定為M(M為正整數(shù));以及(m)提供多個寫部分,這里多個寫部分的數(shù)量為N,N個寫部分中的各部分把第二位數(shù)據(jù)寫入各存儲單元;并且在步驟(m)中包括提供N個寫部分以將這N個寫部分歸入多個組,把多個組中的各組分配給M個寫部分。在程序驗(yàn)證方法中進(jìn)一步包括(n)在預(yù)定寫定時(shí)期間,把第一控制信號輸入到配給到多個組中第一組的M個寫部分的各部分;其中,第一控制信號在第一組的M個寫部分中是共用的。
在這種情況下,程序驗(yàn)證方法進(jìn)一步包括(o)除給第一組各寫入部分輸入第一控制信號外,還輸入表示與第一組的M個寫部分的各部分相對應(yīng)的各存儲單元有失效數(shù)據(jù)的判斷信號;其中第一組的各寫部分響應(yīng)第一控制信號和判斷信號寫第二位數(shù)據(jù)。
還是在這種情況下,程序驗(yàn)證方法進(jìn)一步包括(p)給多個組的第二組中M個寫部分的各部分輸入用于確定寫定時(shí)的第二控制信號;其中第二控制信號在第二組的M個寫部分中是共用的。在步驟(p)中包括根據(jù)檢測結(jié)果,在與第一控制信號相同的定時(shí)以及與第一控制信號不同的定時(shí),給第二組的各寫部分輸入第二控制信號。
仍然是在這種情況下,程序驗(yàn)證方法進(jìn)一步包括(q)根據(jù)檢測結(jié)果確定在多個組中第二組內(nèi)共用的第二控制信號是否輸入到第二組中M個寫部分的各部分。
為實(shí)現(xiàn)本發(fā)明的另一個方面,非易失性半導(dǎo)體存儲器的程序驗(yàn)證方法包括(a)提供包括多個非易失性存儲單元的存儲單元陣列;(b)從該存儲單元陣列中讀出含有N位(N為正整數(shù))的第一位數(shù)據(jù)的讀出數(shù)據(jù);(c)提供包括N位第二位數(shù)據(jù)的期望值數(shù)據(jù);(d)以位為單位比較第一位數(shù)據(jù)和第二位數(shù)據(jù),以輸出表示各自比較結(jié)果的判斷信號,其中多個判斷信號的數(shù)量為N;(e)提供多個寫電路,用于響應(yīng)控制信號而分別寫入N位的第二位數(shù)據(jù)的各數(shù)據(jù),其中多個寫電路的數(shù)量為N;(f)根據(jù)多個判斷信號給N個寫電路的各電路輸出控制信號;在步驟(f)中包括根據(jù)多個判斷信號確定要將控制信號同時(shí)輸出到的多個寫電路的數(shù)量,并且根據(jù)所確定的數(shù)量同時(shí)給這多個寫電路輸出控制信號。
在這種情況下,步驟(f)中包括,根據(jù)多個判斷信號將檢測出與第二位數(shù)據(jù)不相符的第一位數(shù)據(jù)作為失效數(shù)據(jù);將檢測出的失效數(shù)據(jù)在讀出數(shù)據(jù)中的分布作為第二檢測結(jié)果,以根據(jù)第二檢測結(jié)果確定多個寫電路的數(shù)量。
通過參考附圖可獲得對所述本發(fā)明的徹底了解。在附圖中用相同的參考數(shù)字表示相同的特征部分。其中圖1是說明常規(guī)非易失性半導(dǎo)體存儲器的框圖;圖2表示常規(guī)程序驗(yàn)證方法的流程圖;圖3是說明用常規(guī)程序驗(yàn)證方法分配寫方法的解釋圖;圖4是說明長度為16位的數(shù)據(jù)位結(jié)構(gòu)的解釋圖,用于說明本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例;圖5是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中使用的標(biāo)志的定義;圖6A是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中的表示失效數(shù)據(jù)分布及其相應(yīng)的標(biāo)志的解釋圖;圖6B是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中的表示另一些失效數(shù)據(jù)分布及其相應(yīng)的標(biāo)志的解釋圖;圖6C也是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中的表示另一些失效數(shù)據(jù)分布及其相應(yīng)的標(biāo)志的解釋圖;圖6D還是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中的表示另一些失效數(shù)據(jù)分布及其相應(yīng)的標(biāo)志的解釋圖;圖6E仍是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中的表示另一些失效數(shù)據(jù)分布及其相應(yīng)的標(biāo)志的解釋圖;圖7是代表本發(fā)明程序驗(yàn)證方法的實(shí)施例的流程圖8是說明在本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例中的標(biāo)志狀態(tài)、寫過程及分配的寫操作數(shù)量之間關(guān)系的解釋圖;圖9A是表示根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例的控制信號時(shí)序的時(shí)序圖;圖9B是表示根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例的另一控制信號時(shí)序的時(shí)序圖;圖9C也是表示根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例的另一控制信號時(shí)序的時(shí)序圖;圖9D還是表示根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例的另一控制信號時(shí)序的時(shí)序圖;圖9E仍然是表示根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法的實(shí)施例的另一控制信號時(shí)序的時(shí)序圖;圖10是說明本發(fā)明中非易失性半導(dǎo)體存儲器實(shí)施例的框圖;圖11是詳細(xì)說明本發(fā)明的非易失性半導(dǎo)體存儲器實(shí)施例中的比較電路部件、劃分寫控制電路和寫電路部件的框圖;圖12是說明本發(fā)明的非易失性半導(dǎo)體存儲器實(shí)施例中的標(biāo)志產(chǎn)生電路操作的流程圖;圖13(i)是說明本發(fā)明的非易失性半導(dǎo)體存儲器標(biāo)志產(chǎn)生電路實(shí)施例的電路圖中的一部分;圖13(ii)是說明本發(fā)明的非易失性半導(dǎo)體存儲器標(biāo)志產(chǎn)生電路實(shí)施例的電路圖中的另一部分;圖14(i)是說明本發(fā)明的非易失性半導(dǎo)體存儲器寫脈沖控制電路實(shí)施例的電路圖中的一部分;圖14(ii)是說明本發(fā)明的非易失性半導(dǎo)體存儲器寫脈沖控制電路實(shí)施例的電路圖中的另一部分。
現(xiàn)在參考附圖將詳細(xì)描述根據(jù)本發(fā)明的各種優(yōu)選實(shí)施例。
首先參考圖4說明在本實(shí)施例的非易失性半導(dǎo)體存儲中使用的有16位長度的數(shù)據(jù)的位結(jié)構(gòu)。
如圖4所示,位結(jié)構(gòu)具有從最低有效位D0到最高有效位D15的16位,并且每4位進(jìn)一步分配為一個數(shù)據(jù)單元(a)至(d)。此外,所有16位都?xì)w入順序?yàn)镈0至D7的低階8位和為D8至D15的高階8位,在這個實(shí)施例中與常規(guī)技術(shù)類似之處是在一個周期中寫電路可以寫的位數(shù)假定為4位。
如后面所述,把與從存儲單元陣列1中讀出的分別與D0至D15位對應(yīng)的數(shù)據(jù)(讀出信號)Dm0至Dm15,和與各位相對應(yīng)的期望值信號Dr0至Dr15以位為單位相比較,把這兩組數(shù)互不相符的情況作為比較結(jié)果稱為“失效”。
下面參考圖5將描述各標(biāo)志位的詳細(xì)含義。標(biāo)志F0,如果在所有16位數(shù)中有5位或多于5位失效時(shí),F(xiàn)0變?yōu)楦唠娖?。F0表示在輸入的16位中的失效率;標(biāo)志F1,如果在高階8位數(shù)中有5位或多于5位失效時(shí),F(xiàn)1變?yōu)楦唠娖?;?biāo)志F2,如果在低階8位數(shù)中有5位或多于5位失效時(shí),F(xiàn)2變?yōu)楦唠娖?;所以,?biāo)志F1、F2各自代表在高階8位數(shù)和低階8位數(shù)中的失效率。
此外,標(biāo)志BFUB,如果在高階8位數(shù)中不出現(xiàn)失效位時(shí),BFUB變?yōu)楦唠娖?;?biāo)志BFLB,如果在低階8位數(shù)中不出現(xiàn)失效位時(shí),BFLB為變?yōu)楦唠娖?。由此可知,如BFUB為高電平時(shí),則高階8位數(shù)不需要執(zhí)行寫操作,同樣,如果BFLB為高電平時(shí),則低階8位數(shù)不需要執(zhí)行寫操作。
以下對于圖6A至6E所示的各種情況,將對前面提到的各個標(biāo)志值的情況進(jìn)行描述。
圖6A表示失效位數(shù)量很大的情況。數(shù)據(jù)單元(a)至(d)中的失效位數(shù)量分別是2、4、4、2,失效位數(shù)量在所有16位數(shù)中是12個、在高階8位數(shù)中是6個、在低階8位數(shù)中是6個,因此標(biāo)志F0、F1、F2均為高電平,而標(biāo)志BFUB和BFLB都為低電平。
在圖6B所示的情況中,在高階8位數(shù)中未出現(xiàn)失效位,并且標(biāo)志BFUB為“H”。由于在數(shù)據(jù)單元(a)和(b)中的失效位數(shù)量分別是3,所以標(biāo)志F0為“H”、標(biāo)志F1為“L”、標(biāo)志F2為“H”、標(biāo)志BFLB為“L”。
圖6C所示的情況與圖6B所示的情況相反,在低階8位數(shù)中未出現(xiàn)失效位,所以標(biāo)志BFLB為“H”。由于在數(shù)據(jù)單元(c)和(d)中的失效位數(shù)量分別是3,所以標(biāo)志F0為“H”、標(biāo)志F1為“H”、標(biāo)志F2為”L”、標(biāo)志BFUB為“L”。
在圖6D所示的情況中,四個失效位出現(xiàn)在共同包括數(shù)據(jù)單元(a)和(b)的(a b)中,同樣四個失效位也出現(xiàn)在共同包括數(shù)據(jù)單元(c)和(d)的(cd)中。因此,標(biāo)志F0為“H”、標(biāo)志F1為“L”、標(biāo)志F2為“L”、標(biāo)志BFUB為“L”、標(biāo)志BFLB為“L”。在這種情況下,寫操作信號可在兩段寫時(shí)間(周期)內(nèi)執(zhí)行。
圖6E表示在所有16位數(shù)(abcd)中的失效位數(shù)量是4,寫操作信號可在單一寫期間(周期)內(nèi)執(zhí)行。
下面參考解釋標(biāo)志位和失效數(shù)據(jù)位分布之間關(guān)系的圖6A至6E、圖7所示的流程圖、圖8中所示的說明標(biāo)志位狀態(tài)的表格以及寫過程和劃分寫操作的數(shù)量和圖9A至9E所示的寫時(shí)序圖,說明本實(shí)施例的程序驗(yàn)證方法。
圖7中的步驟S0至S5和示于圖2中的步驟S0至S5相同,因此省略其說明。
如果在步驟S3的程序驗(yàn)證中判斷為失效,則參考圖5說明的其各自的標(biāo)志將在步驟S7中進(jìn)行判斷。
如圖6A所示,如果標(biāo)志F0、F1、F2都為“H”,則在步驟S8中的標(biāo)志為FL1(H、H、H),并且根據(jù)圖8A所示數(shù)據(jù)單元的次序(a)→(b)→(c)→(d)而分配的四段寫時(shí)間來執(zhí)行寫操作過程,即正脈沖的控制信號Sa至Sd按照在圖9A所示Sa、Sb、Sc、Sd的順序產(chǎn)生,然后根據(jù)所分配的四段時(shí)間(周期)來執(zhí)行寫操作。即,在四段寫時(shí)間內(nèi)執(zhí)行單次寫操作。
接著,如果標(biāo)志F0、F1、F2為圖6B所示的“H”、“L”、“H”,或者標(biāo)志F0、F1、F2為圖6C(步驟S9)所示的“H”、“H”、“L”,則在步驟S12中判斷標(biāo)志BFUB和BFLB是否為“H”。如果標(biāo)志BFUB和BFLB至少有一個標(biāo)志是“H”,則在步驟S15中根據(jù)分配的兩段時(shí)間進(jìn)行寫操作,即在兩段寫時(shí)間(周期)內(nèi)執(zhí)行寫操作信號。如果標(biāo)志BFUB和BFLB都是“L”,則在步驟S12中根據(jù)分配的三段時(shí)間進(jìn)行寫操作,即在三段寫時(shí)間(周期)內(nèi)執(zhí)行寫操作信號。
現(xiàn)在說明上述過程。
在圖8的(B1)情況中,標(biāo)志BFUB和BFLB都是“L”。因此寫順序是(a)→(b)→(cd),并且根據(jù)分配的三段時(shí)間進(jìn)行寫過程(步驟S14),于是在三段寫時(shí)間(周期)內(nèi)執(zhí)行單次寫操作。即,由于標(biāo)志F1是“L”,所以在高階8位數(shù)中的失效位數(shù)量小于或等于4。因此,把數(shù)據(jù)單元(c)和(d)合為(cd),以便在單獨(dú)一段寫時(shí)間(周期)內(nèi)完成寫操作。圖9B表示在這期間的控制信號Sa至Sd,按照Sa和Sb的順序產(chǎn)生正脈沖信號,接著,用于數(shù)據(jù)單元(c)和數(shù)據(jù)單元(d)的正脈沖信號Sc和Sd同時(shí)產(chǎn)生。
在圖8的(B2)情況中,如圖6C所示,標(biāo)志BFUB是“H”,所以在高階8位數(shù)中不出現(xiàn)失效位。因此寫過程的目標(biāo)是低階8位。于是在步驟S15(參考圖9C)中根據(jù)分配的(a)→(b)兩段寫時(shí)間執(zhí)行寫過程,即在兩段寫時(shí)間(周期)內(nèi)執(zhí)行單次寫操作。
類似地,在圖8的(C2)的情況中,如圖6C所示,標(biāo)志BFLB是“H”,所以在低階8位數(shù)中不出現(xiàn)失效位,因此寫過程的目標(biāo)是高階8位數(shù)。于是在步驟S15(參考圖9C)中根據(jù)分配的(c)→(d)兩段寫時(shí)間執(zhí)行寫過程,在兩段寫時(shí)間(周期)內(nèi)執(zhí)行單次寫操作。
接著,如果標(biāo)志F0、F1和F2分別為圖6D所示的“H”、“L”、“L”,則在步驟S10中的標(biāo)志是FL3(H、L、L),并且在高階8位和低階8位中的各自失效位的數(shù)量為小于等于4。因此如圖8的(D)所示,根據(jù)分配的(ab)→(cd)兩段寫時(shí)間執(zhí)行寫過程,在兩段寫時(shí)間(周期)內(nèi)執(zhí)行寫操作信號。即如圖9D所示,同時(shí)產(chǎn)生用于數(shù)據(jù)單元(a)和(b)的正脈沖信號Sa、Sb,接著,同時(shí)產(chǎn)生用于數(shù)據(jù)單元(c)和(d)的正脈沖信號Sc、Sd。所以,通過劃分為兩段寫時(shí)間來執(zhí)行寫操作。
接著,如果所有的標(biāo)志F0、F1和F2為圖6E所示的“L”,則在步驟S11中標(biāo)志是FL4(L、L、L)。在如圖8E所示的分配為單獨(dú)一段寫時(shí)間(abcd)內(nèi)執(zhí)行寫過程,在單獨(dú)一段寫時(shí)間(周期)內(nèi)執(zhí)行單獨(dú)的寫操作。即如圖9E所示,同時(shí)產(chǎn)生控制信號Sa至Sd的正脈沖控制信號,并執(zhí)行劃歸為單個的寫操作。
在執(zhí)行步驟S13至S16之后,于步驟S1中計(jì)算寫操作數(shù)量,然后類似地重復(fù)步驟S2及其以后的步驟。
如上所述,對于在單獨(dú)寫操作的單獨(dú)一段寫時(shí)間(周期)內(nèi)被同時(shí)驅(qū)動的寫電路的數(shù)量,其被限制為四個電路,于是各標(biāo)志用于判斷所有位中的失效位的分布。根據(jù)判斷結(jié)果,在單獨(dú)一段寫時(shí)間(周期)內(nèi)進(jìn)行寫操作的范圍不總是限制為數(shù)據(jù)單元(a)、(b)、(c)、(d)的一個單元,而是變化為(ab)或(abcd),在這個變化中那些數(shù)據(jù)單元(a)、(b)、(c)、(d)被合并或類似地操作。此外,通過對不出現(xiàn)失效數(shù)據(jù)位的數(shù)據(jù)單元的寫周期進(jìn)行刪除,用較少數(shù)量的一段寫時(shí)間來執(zhí)行程序驗(yàn)證。
即,在根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法中,可除掉無用的寫周期從而使寫周期較短。
以下將參考圖10和圖11說明本實(shí)施例中的非易失性半導(dǎo)體存儲器。
如圖10所示,本實(shí)施例中的非易失性半導(dǎo)體存儲器具備存儲單元陣列1、地址緩沖器2、行地址譯碼器3、列地址譯碼器4、讀出放大器5、輸入輸出緩沖器6、比較電路部件70、寫電路部件80、控制電路90和劃分寫控制電路10。
在圖10中,從存儲單元陣列1到輸入輸出緩沖器6等部件執(zhí)行的電路操作,和圖1所示的常規(guī)非易失性半導(dǎo)體存儲器中的存儲單元陣列1到輸入輸出緩沖器的操作相似。
比較電路部件70把經(jīng)讀出放大器5放大的、存放在存儲單元陣列1中的信號Dm0至Dm15(讀出信號、讀出數(shù)據(jù)),與經(jīng)輸入輸出緩沖器6放大的、數(shù)據(jù)總線6a傳送的信號(期望值信號、期望值數(shù)據(jù))Dr0至Dr15進(jìn)行比較。比較電路部件70將表示各位比較結(jié)果的比較數(shù)據(jù)J0至J15輸出到劃分寫控制電路10,作為比較結(jié)果。讀出數(shù)據(jù)Dm0對應(yīng)于最低有效位D0,而讀出數(shù)據(jù)Dm15對應(yīng)于最高有效位D15。期望值數(shù)據(jù)Dr0對應(yīng)于最低有效位D0,而期望值數(shù)據(jù)Dr15對應(yīng)于最高有效位D15。比較數(shù)據(jù)J0表示在對應(yīng)于最低有效位D0的期望值數(shù)據(jù)信號Dr0和讀出數(shù)據(jù)Dm0之間進(jìn)行比較的結(jié)果;而比較數(shù)據(jù)J15則表示在對應(yīng)于最高有效位D15的期望值數(shù)據(jù)信號Dr15和讀出數(shù)據(jù)Dm15之間進(jìn)行比較的結(jié)果。
如果比較電路部件70的比較結(jié)果為讀出放大器5輸出的信號(讀出信號)Dm0至Dm15與輸入輸出緩沖器6輸出的信號(期望值信號)Dr0至Dr15不相符合,則寫電路部件80給存儲單元陣列1輸出寫信號WR0至WR15,以把數(shù)據(jù)寫入存儲單元陣列1。寫信號WR0用來寫期望值數(shù)據(jù)Dr0,而寫信號WR15用來寫期望值數(shù)據(jù)Dr15。
控制電路90控制讀出放大器5、輸入輸出緩沖器6、比較電路部件70、寫電路部件80等。
劃分寫控制電路10根據(jù)比較電路部件70輸入的比較數(shù)據(jù)J0至J15產(chǎn)生標(biāo)志F0至F2、BFUB和BFLB,以把圖9A至圖9E所示的控制信號輸出給寫電路部件80。
圖11是比較電路部件70、寫電路部件80和劃分寫控制電路10的進(jìn)一步詳細(xì)的電路框圖。如圖11所示,分配寫控制電路10包括標(biāo)志產(chǎn)生電路10A和寫脈沖控制電路10B。
以下將參考圖11說明比較電路部件70、標(biāo)志產(chǎn)生電路10A、寫脈沖控制電路10B和寫電路部件80。
比較電路部件70包括16個比較電路700至715。比較電路700至715分別把通過輸入輸出緩沖器6輸入的期望值信號Dr0至Dr15和通過讀出放大器5從存儲的單元陣列1讀出的讀出信號Dm0至Dm15進(jìn)行比較,以輸出表示比較結(jié)果的比較數(shù)據(jù)J0至J15。
標(biāo)志產(chǎn)生電路10A是產(chǎn)生圖5中表示的標(biāo)志F0、F1、F2、BFUB和BFLB的電路。圖12表示標(biāo)志產(chǎn)生電路10A的操作過程。
圖12中,在步驟S91至步驟S94中計(jì)算包括在比較數(shù)據(jù)J0至J3、J4至J7、J8至J11和J12至J15的各四位中的失效位數(shù)量,這個失效位數(shù)量對應(yīng)于0與4之間的任何數(shù)字,可表示為3位的數(shù)據(jù)。
接著,在步驟S95至步驟S96中分別計(jì)算比較數(shù)據(jù)J0至J7和J8至J15中的失效位數(shù)量,這個失效位數(shù)量對應(yīng)于0與8之間的任何數(shù)字,可表示為4位的數(shù)據(jù)。
接著,在步驟S97中,把在步驟S95和S96中分別獲得的計(jì)算值相加,以獲得失效位的數(shù)量,這個失效位數(shù)量對應(yīng)于0與15之間的任何數(shù)字,以表示為5位的數(shù)據(jù)。在步驟S912中連續(xù)判斷該計(jì)算值是否大于或等于5,如果該計(jì)算值大于或等于5,則將標(biāo)志F0置為“H”,如果該計(jì)算值是4或者小于4,則將標(biāo)志F0置為“L”。
接著,在步驟S98中判斷在步驟S95中獲得的計(jì)算值是否為0。如果計(jì)算值是0,則將標(biāo)志BFLB置為“H”;如果該計(jì)算值不是0,則在步驟S99中判斷該計(jì)算值是否等于或大于5。如果該計(jì)算值是等于或大于5,則將標(biāo)志F2置為“H”;如果該計(jì)算值是4或小于4,則將標(biāo)志F2置為“L”。
接著,在步驟S910中判斷于步驟S96中獲得的計(jì)算值是否為0。如果計(jì)算值是0,則將標(biāo)志BFUB置為“H”;如果該計(jì)算值不是0,則在步驟S911中判斷該計(jì)算值是否等于或大于5。如果該計(jì)算值是等于或大于5,則將標(biāo)志F1置為“H”;如果該計(jì)算值是4或小于4,則將標(biāo)志F1置為“L”。
通過上述過程產(chǎn)生圖5所示的標(biāo)志。圖13(i)和(ii)表示標(biāo)志產(chǎn)生電路10A的具體實(shí)例,以體現(xiàn)圖12中的流程圖。在該電路中,判斷信號(比較數(shù)據(jù))J0至J15在左端輸入,該信號通過具備反相器、與非門、或非門、異或門和異或非門的復(fù)合電路被傳送到右端,于是輸出標(biāo)志F0、F1、F2、BFUB和BFLB。
返回圖11,以下將說明寫脈沖控制電路10B。
寫脈沖控制電路10B接收來自標(biāo)志產(chǎn)生電路10A的標(biāo)志F0、F1、F2、BFUB和BFLB,以給寫電路部件80輸出示于圖9A至圖9E中的脈沖信號(控制信號)Sa至Sd。圖14(i)和(ii)表示寫脈沖控制電路10B的具體實(shí)例。在該電路左端輸入標(biāo)志F0、F1、F2、BFUB和BFLB、時(shí)鐘信號CK和反相的復(fù)位信號/RESET,該信號通過具備反相器、與非門、或門、或非門、異或非門和觸發(fā)器的順序電路被傳送到右端,于是輸出控制信號Sa、Sb、Sc和Sd。
如圖11所示,寫電路部件80具有16個寫電路800至815,各寫電路對應(yīng)于各16位。根據(jù)這16位數(shù)據(jù)的排列順序把16個寫電路800至815分為四個指定組81至84。第一組81有四個寫電路800至803、第二組82有四個寫電路804至807、第三組83有四個寫電路808至811、第四組84有四個寫電路812至815。
寫脈沖控制電路10B輸出的控制信號Sa,同時(shí)輸入給第一組81的四個寫電路800至803,當(dāng)接收到控制信號Sa時(shí)激活各寫電路800至803。
如果比較數(shù)據(jù)J0表示和讀出數(shù)據(jù)的最低有效位D0相對應(yīng)的位數(shù)據(jù)Dm0與期望值信號中的和最低有效位D0相對應(yīng)的位數(shù)據(jù)Dr0不相符合,則在寫電路800接收到控制信號Sa而被激活期間,接收比較數(shù)據(jù)J0,給存儲單元輸出寫信號WR0,寫信號WR0把位數(shù)據(jù)Dr0寫入存儲單元。
類似地,控制信號Sb同時(shí)輸入給第二組82的四個電路804至807,控制信號Sc同時(shí)輸入給第三組83的四個電路808至811,而控制信號Sd同時(shí)輸入給第四組84的四個電路812至815。
寫電路800也接收來自比較電路700的比較數(shù)據(jù)J0,寫電路801接收來自比較電路701的比較數(shù)據(jù)J1,寫電路802接收來自比較電路702的比較數(shù)據(jù)J2。
如果接收的比較數(shù)據(jù)J0表示期望值數(shù)據(jù)信號Dr0與讀出信號Dm0相符合,則由于寫電路800的輸出部分為高阻抗而不輸出寫信號WR0。所以在此期間期望值數(shù)據(jù)信號Dr0永遠(yuǎn)不會重新被寫入和最低有效位D0相對應(yīng)的存儲單元。
如果接收的比較數(shù)據(jù)J1表示期望值數(shù)據(jù)信號Dr1與讀出信號Dm1相符合,則由于寫電路801的輸出部分為高阻抗而不輸出寫信號WR1,所以在此期間期望值數(shù)據(jù)信號Dr1永遠(yuǎn)不會重新被寫入對應(yīng)于D1位的存儲單元,D1位和最低有效位D0相鄰。
在寫電路802和803中執(zhí)行類似的操作。
另外,如果接收的比較數(shù)據(jù)J0表示期望值數(shù)據(jù)信號Dr0與讀出信號Dm0不相符合,則寫電路800按照圖9A至9E中由符號Sa表示的時(shí)序,再次放大期望值數(shù)據(jù)信號Dr0,以給和最低有效位D0相對應(yīng)的存儲單元陣列1輸出寫信號WR0,由此將期望值數(shù)據(jù)信號Dr0寫入存儲單元陣列1。
如果接收的比較數(shù)據(jù)J1表示期望值數(shù)據(jù)信號Dr1與讀出信號Dm1不相符合,則寫電路801按照圖9A至9E中由符號Sa表示的時(shí)序,再次放大期望值數(shù)據(jù)信號Dr1,以給和最低有效位D0相鄰的位D1相對應(yīng)的存儲單元陣列1輸出寫信號WR1,由此將期望值數(shù)據(jù)信號Dr1寫入存儲單元陣列1。
在寫電路802和803中執(zhí)行同樣的操作。
同樣,來自各比較電路704至707、708至711和712至715的比較數(shù)據(jù)J4至J7、J8至J11和J12至J15分別輸入給寫電路804至807、808至811和812至815。如果輸入的比較數(shù)據(jù)J4至J7、J8至J11和J12至J15表示期望值數(shù)據(jù)信號Dr4至Dr7、Dr8至Dr11和Dr12至Dr15分別與讀出信號Dm4至Dm7、Dm8至Dm11和Dm12至Dm15相符合,則由于寫電路804至807、808至811和812至815的輸出部分為高阻抗而不分別輸出寫信號WR4至WR7、WR8至WR11和WR12至WR15。
另外,如果輸入的比較數(shù)據(jù)信號J4至J7、J8至J11和J12至J15表示期望值數(shù)據(jù)信號Dr4至Dr7、Dr8至Dr11和Dr12至Dr15分別與讀出信號Dm4至Dm7、Dm8至Dm11和Dm12至Dm15不相符合,則寫電路804至807、808至811和812至815按照圖9A至9E中由符號Sb至Sd表示的時(shí)序,再次放大期望值數(shù)據(jù)信號Dr4至Dr7、Dr8至Dr11和Dr12至Dr15,以輸出寫信號WR4至WR7、WR8至WR11和WR12至WR15,由此將期望值數(shù)據(jù)信號Dr4至Dr7、Dr8至Dr11和Dr12至Dr15寫入存儲單元陣列1。
如上所述,根據(jù)本實(shí)施例的非易失性半導(dǎo)體存儲器具有分配寫控制電路10,其具備標(biāo)志產(chǎn)生電路10A和寫脈沖控制電路10B。因此該非易失性半導(dǎo)體存儲器根據(jù)包括在所有位中的失效位的分布產(chǎn)生標(biāo)志F0、F1、F2、BFUB和BFLB,以根據(jù)這些標(biāo)志F0、F1、F2、BFUB和BFLB產(chǎn)生控制信號Sa至Sd。非易失性半導(dǎo)體存儲器根據(jù)比較信號(數(shù)據(jù))J0至J15和控制信號Sa至Sd控制寫電路800至815。在非易失性半導(dǎo)體存儲器中,根據(jù)失效數(shù)據(jù)位的分布把寫單元(寫范圍)變?yōu)?a)、(b)、(abcd)等。于是,有可能減少分配的寫時(shí)間段的數(shù)量從而去掉無用的寫周期。因此可用較少數(shù)量的寫時(shí)間段來執(zhí)行程序驗(yàn)證。
例如在圖3的情況中,圖1和圖2的常規(guī)實(shí)例需要四個寫時(shí)間段。而在圖3的情況中本實(shí)施例能在單獨(dú)的寫時(shí)間段內(nèi)完成寫操作。
在上述實(shí)施例中說明了長度為16位的數(shù)據(jù)的情況。然而本實(shí)施例并不限定數(shù)據(jù)的長度為16位,其同樣可應(yīng)用于其他長度的數(shù)據(jù)。例如,如果把每四位確定為一個數(shù)據(jù)單元(被一次寫入的位數(shù))并且數(shù)據(jù)的長度是24,則標(biāo)志在每8位歸為一個單元的這24位數(shù)據(jù)的高階位(判斷部分)、中間階位(判斷部分)和低階位(判斷部分)中產(chǎn)生。
如上所述,根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法,可以根據(jù)包括在所有位中的失效位的分布產(chǎn)生標(biāo)志信號和控制信號、然后是改變寫單元的位結(jié)構(gòu)、從而去掉無用的寫周期并相應(yīng)使寫操作周期較短。
當(dāng)失效位數(shù)量較小并且其分布嚴(yán)重偏置(不平衡)時(shí),根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲器和程序驗(yàn)證方法可起更大的作用。
權(quán)利要求
1.一種非易失性半導(dǎo)體存儲器,其特征在于包括存儲單元陣列(1),包括多個非易失性存儲單元;比較部分(70),用于把包括從所述存儲單元陣列(1)讀出的多個第一位數(shù)據(jù)(Dm0至Dm15)的讀出數(shù)據(jù)和含有多個第二位數(shù)據(jù)(Dr0至Dr15)的期望值數(shù)據(jù)以位為單位進(jìn)行比較,以輸出表示比較結(jié)果的判斷信號(J0至J15);多個寫電路(800至815),分別提供給所述多個第一位數(shù)據(jù)(Dm0至Dm15),其響應(yīng)控制信號(Sa至Sd)和所述判斷信號(J0至J15),把所述多個第二位數(shù)據(jù)(Dr0至Dr15)的各位寫入所述存儲單元陣列(1)的一部分中;以及控制部分(10),其響應(yīng)所述判斷信號(J0至J15)將所述控制信號(Sa至Sd)輸出給所述多個寫電路(800至815)。
2.根據(jù)權(quán)利要求1的非易失性半導(dǎo)體存儲器,其特征在于所述控制部分(10)在互相相同的定時(shí)給多個寫電路(800至815)中選中的一個寫電路輸出所述控制信號(Sa至Sd),并根據(jù)所述判斷信號(J0至J15)確定所述選中電路的數(shù)量。
3.根據(jù)權(quán)利要求2所述的非易失性半導(dǎo)體存儲器,其特征在于所述控制部分(10)確定所述選中電路的所述數(shù)量,使所述數(shù)量等于或者小于預(yù)定值(M)。
4.根據(jù)權(quán)利要求2或3所述的非易失性半導(dǎo)體存儲器,其特征在于所述多個寫電路(800至815)被歸入多個組(81至84),并且所述控制部分(10)在互相相同的定時(shí)上給屬于所述多個組(81至84)的各組(81)的寫電路(800至803)輸出所述控制信號Sa,并以所述多個組(81至84)中每一個組為單位確定所述選中電路的數(shù)量。
5.根據(jù)權(quán)利要求4所述的非易失性半導(dǎo)體存儲器,其特征在于根據(jù)在所述讀出數(shù)據(jù)中的所述多個第一位數(shù)據(jù)(Dm0至Dm15)的排列順序,將所述的多個寫電路(800至815)歸入所述的多個組(81至84),并且所述控制部分(10)根據(jù)所述判斷信號(J0至J15)檢測與所述第二位數(shù)據(jù)(Dr0至Dr15)不符合的所述第一位數(shù)據(jù)(Dm0至Dm15)作為失效數(shù)據(jù),并檢測在所述讀出數(shù)據(jù)中的所述失效數(shù)據(jù)位的分布作為第二檢測結(jié)果,根據(jù)所述第二檢測結(jié)果確定所述所選電路的數(shù)量。
6.根據(jù)權(quán)利要求5所述的非易失性半導(dǎo)體存儲器,其特征在于所述控制部分(10)產(chǎn)生多個標(biāo)志信號(F0、F1、F2、BFUB和BFLB),用于表示所述第二檢測結(jié)果,并且根據(jù)所述多個標(biāo)志信號(F0、F1、F2、BFUB和BFLB)確定所述所選電路的數(shù)量。
7.根據(jù)權(quán)利要求5所述的非易失性半導(dǎo)體存儲器,其特征在于所述控制部分(10)產(chǎn)生多個標(biāo)志信號(F0、F1、F2、BFUB和BFLB),用于表示所述第二檢測結(jié)果,并且所述多個標(biāo)志信號(F0、F1、F2、BFUB和BFLB)包括第一標(biāo)志信號(F0),當(dāng)所述失效數(shù)據(jù)量超出預(yù)定值(M)時(shí),該信號電平從第一電平(L)變到第二電平(H),所述失效數(shù)據(jù)包括在所述讀出數(shù)據(jù)中的所有所述第一位數(shù)據(jù)(Dm0至Dm15)中;第二標(biāo)志信號(F1),當(dāng)所述失效數(shù)據(jù)量超出預(yù)定值(M)時(shí),該信號電平從第一電平(L)變到第二電平(H),所述失效數(shù)據(jù)包括在所述讀出數(shù)據(jù)中的所有所述第一位數(shù)據(jù)(Dm0至Dm15)中的第一部分(Dm8至Dm15)中;第三標(biāo)志信號(F2),當(dāng)所述失效數(shù)據(jù)量超出所述預(yù)定值(M)時(shí),該信號電平從第一電平(L)變到第二電平(H),所述失效數(shù)據(jù)包括在所述讀出數(shù)據(jù)中的所有所述第一位數(shù)據(jù)(Dm0至Dm15)中的除第一部分(Dm8至Dm15)以外的第二部分(Dm0至Dm7)中;第四標(biāo)志信號(BFUB),當(dāng)所述失效數(shù)據(jù)量為零時(shí),該信號的電平從第一電平(L)變到第二電平(H),所述失效數(shù)據(jù)包括在所述讀出數(shù)據(jù)中的所有所述第一位數(shù)據(jù)(Dm0至Dm15)中的第一部分(Dm8至Dm15)中;以及第五標(biāo)志信號(BFLB),當(dāng)所述失效數(shù)據(jù)量為零時(shí),該信號的電平從第一電平(L)變到第二電平(H),所述失效數(shù)據(jù)包括在所述讀出數(shù)據(jù)中的所有所述第一位數(shù)據(jù)(Dm0至Dm15)中的第二部分(Dm0至Dm7)中。
8.根據(jù)權(quán)利要求7所述的非易失性半導(dǎo)體存儲器,其特征在于所述控制部分(10)當(dāng)所有所述第一至第三標(biāo)志信號(F0、F1、F2)為所述第二電平(H)時(shí),在互不相同的定時(shí)上給所述多個組(81至84)的各組輸出所述控制信號(Sa至Sd);當(dāng)所有所述第一至第三標(biāo)志信號(F0、F1、F2)為所述第一電平(L)時(shí),在相同的定時(shí)上給所述多個組(81至84)的各組輸出所述控制信號(Sa至Sd);當(dāng)所述的第四標(biāo)志信號(BFUB)為所述第二電平(H)時(shí),不給對應(yīng)于所述第一部分(Dm8至Dm15)的所述多個組(81至84)中的一些組(83、84)的各組輸出控制信號(Sc、Sd);以及當(dāng)所述的第五標(biāo)志信號(BFLB)為所述第二電平(H)時(shí),不給對應(yīng)于所述第二部分(Dm0至Dm8)的所述多個組(81至84)中的一些組(81、82)的各組輸出控制信號(Sa、Sb)。
9.根據(jù)權(quán)利要求4所述的非易失性半導(dǎo)體存儲器,其特征在于所述控制部分(10)當(dāng)給所述多個組(81至84)的各組輸出所述控制信號(Sa至Sd)時(shí),根據(jù)所述確定的所選電路的數(shù)量確定定時(shí)。
10.根據(jù)權(quán)利要求2或3所述的非易失性半導(dǎo)體存儲器,其特征在于當(dāng)所述多個第二位數(shù)據(jù)(Dr0至Dr15)被寫入所述存儲單元陣列(1)的所述部分中時(shí),單個寫操作包括一個周期或多個周期;以及所述控制部分(10)根據(jù)所述確定的所選電路的數(shù)量,確定所述單獨(dú)寫操作的所述周期數(shù)。
11.非易失性半導(dǎo)體存儲器的程序驗(yàn)證方法,其特征在于包括(a)從多個非易失性存儲單元的各單元中讀出第一位數(shù)據(jù)(Dm0至Dm15);(b)提供要寫入所述多個存儲單元中各單元的第二位數(shù)據(jù)(Dr0至Dr15);(c)判斷各多個所述第一位數(shù)據(jù)(Dm0至Dm15)是否與所述第二位數(shù)據(jù)(Dr0至Dr15)相符合,以產(chǎn)生判斷結(jié)果;(d)根據(jù)所述判斷結(jié)果,檢測與所述第二位數(shù)據(jù)(Dr0至Dr15)不相符合的所述第一位數(shù)據(jù)(Dm0至Dm15)作為失效數(shù)據(jù),以產(chǎn)生檢測結(jié)果;(e)根據(jù)所述檢測結(jié)果,把第二位數(shù)據(jù)(Dr0至Dr15)寫入所述多個存儲單元中的各單元,作為寫操作的至少一部分,其中所述寫操作按照一個周期或多個周期執(zhí)行;(f)根據(jù)所述檢測結(jié)果,當(dāng)執(zhí)行所述步驟(e)時(shí),確定包括在所述寫操作中的所述周期數(shù)。
12.根據(jù)權(quán)利要求11所述的程序驗(yàn)證方法,其特征在于所述步驟(a)包括從所述多個存儲單元的各單元中讀出所述的第一位數(shù)據(jù)(Dm0至Dm15),以形成N(N是正整數(shù))位讀出數(shù)據(jù)(Dm0至Dm15);以及所述步驟(f)包括,根據(jù)檢測結(jié)果檢測所述讀出數(shù)據(jù)(Dm0至Dm15)中的所述失效數(shù)據(jù)的分布作為第二檢測結(jié)果,根據(jù)所述第二檢測結(jié)果確定所述周期數(shù)。
13.根據(jù)權(quán)利要求11或12的程序驗(yàn)證方法,其特征在于進(jìn)一步包括(g)當(dāng)執(zhí)行所述步驟(e)的寫操作時(shí),把能在所述的一個周期中寫入的所述第二位數(shù)據(jù)(Dr0至Dr15)的數(shù)量設(shè)定為M(M是正整數(shù));其中所述步驟(a)包括從所述各存儲單元中讀出第一位數(shù)據(jù)(Dm0至Dm15),以形成N(N是正整數(shù))位讀出數(shù)據(jù)(Dm0至Dm15),以及所述步驟(f)中進(jìn)一步包括(h)根據(jù)所述檢測結(jié)果(F0),判斷所述N位的所有所述讀出數(shù)據(jù)(Dm0至Dm15)中的失效數(shù)據(jù)量是否超出(所述M+1),以及當(dāng)所述失效數(shù)據(jù)量未超出所述(M+1)時(shí),在所述步驟(f)中包括確定所述周期數(shù)是1,作為所述步驟(h)的判斷結(jié)果。
14.根據(jù)權(quán)利要求13的程序驗(yàn)證方法,其特征在于所述步驟(f)進(jìn)一步包括(i)設(shè)置至少兩個判斷部分為所述讀出數(shù)據(jù)(Dm0至Dm15),各部分對應(yīng)P個所述第一數(shù)據(jù)位(Dm0至Dm15),這里所述的P是所述M的兩倍;以及(j)根據(jù)所述檢測結(jié)果(F1、F2),判斷在所述第一或第二判斷部分中是否有所述(M+1)或更多的所述失效數(shù)據(jù)位;并且在所述步驟(f)包括當(dāng)所述步驟(h)的所述判斷結(jié)果為存在所述(M+1)個或更多的失效數(shù)據(jù)時(shí)、以及當(dāng)所述步驟(j)的所述判斷結(jié)果為在所述第一和第二判斷部分中都不存在所述(M+1)個或更多的失效數(shù)據(jù)時(shí),確定所述周期數(shù)為2。
15.根據(jù)權(quán)利要求14的程序驗(yàn)證方法,其特征在于所述步驟(f)進(jìn)一步包括(k)根據(jù)所述檢測結(jié)果(BFUB、BFLB)判斷在所述第一和第二判斷部分的各部分中所述失效數(shù)據(jù)是否為零;并且在所述步驟(f)包括當(dāng)所述步驟(j)的判斷(S9)結(jié)果為在所述第一判斷部分中存在所述(M+1)個或更多的失效數(shù)據(jù)時(shí)、以及當(dāng)所述步驟(k)的判斷結(jié)果為在所述第二判斷部分中的所述失效數(shù)據(jù)量為零時(shí),確定所述周期數(shù)為2,并且當(dāng)所述步驟(j)的判斷結(jié)果為在所述第一判斷部分中存在所述(M+1)個或更多的失效數(shù)據(jù)、在所述第二判斷部分中沒有所述(M+1)個或更多的失效數(shù)據(jù)時(shí),以及當(dāng)所述步驟(k)的判斷結(jié)果為在所述第二判斷部分中的所述失效數(shù)據(jù)量不為零時(shí),確定所述周期數(shù)為3。
16.根據(jù)權(quán)利要求11或12的程序驗(yàn)證方法,其特征在于所述步驟(e)包括把所述第二位數(shù)據(jù)(Dr0至Dr15)寫入所述多個存儲單元中的對應(yīng)于所述檢測到失效數(shù)據(jù)的存儲單元中。
17.根據(jù)權(quán)利要求11或12的程序驗(yàn)證方法,其特征在于所述步驟(a)包7括從所述的各存儲單元中讀出所述第一位數(shù)據(jù)(Dm0至Dm15),以形成N(N是正整數(shù))位的讀出數(shù)據(jù)(Dm0至Dm15),并且其中所述的程序驗(yàn)證方法進(jìn)一步包括(1)當(dāng)執(zhí)行所述步驟(e)的所述寫操作時(shí),把能在一個周期內(nèi)寫入所述第二位數(shù)據(jù)(Dr0至Dr15)的數(shù)量設(shè)定為M(M是正整數(shù));以及(m)提供多個寫部分(800至815),其中所述多個寫部分(800至815)的數(shù)量為所述N,并且各所述N個寫部分(800至815)把所述第二位數(shù)據(jù)(Dr0至Dr15)寫入所述各存儲單元中,并且在所述步驟(m)中包括提供的所述N個寫部分(800至815),致使所述N個寫部分(800至815)被歸入多個組(81至84),把所述多個組(81至84)的各組分配給所述M個寫部分(800至815),并且其中程序驗(yàn)證方法進(jìn)一步包括(n)給分配到所述多個組(81至84)的第一組中的所述M個寫部分(800至815)的各部分輸入用于確定寫定時(shí)的第一控制信號(Sa),其中所述第一控制信號(Sa)在所述第一組81的所述M個寫部分(800至815)中是公用的。
18.根據(jù)權(quán)利要求17的程序驗(yàn)證方法,其特征在于進(jìn)一步包括(o)除給所述第一組(81)的所述各寫部分(800至803)輸入所述第一控制信號(Sa)外,還輸入代表所述第一組(81)中的所述M個寫部分(800至803)的各部分相對應(yīng)的所述各存儲單元中有所述失效數(shù)據(jù)的所述判斷信號(J0至J3),并且其中,響應(yīng)所述第一控制信號(Sa)和所述判斷信號(J0至J3),所述第一組(81)的所述各寫部分(800至803)寫入所述第二位數(shù)據(jù)(Dr0至Dr15)。
19.根據(jù)權(quán)利要求17的程序驗(yàn)證方法,其特征在于進(jìn)一步包括(p)給所述多個組(81至84)的第二組(82)中的所述M個寫部分(800至815)的各部分輸入確定寫定時(shí)的第二控制信號(Sb),其中所述第二控制信號(Sb)在所述第二組(82)的所述M個寫部分(800至815)中是公用的,并且所述步驟(P)包括根據(jù)所述檢測結(jié)果,在與所述第一控制信號(Sa)相同的一個定時(shí)內(nèi)以及在與所述第一控制信號(Sa)不同的定時(shí)內(nèi),把所述第二控制信號(Sb)輸入到所述第二組(82)的所述各寫部分。
20.根據(jù)權(quán)利要求17的程序驗(yàn)證方法,其特征在于進(jìn)一步包括(q)根據(jù)所述檢測結(jié)果,確定通常在所述多個組(81至84)的第二組(82)中的第二控制信號(Sb)是否輸入到所述第二組(82)的所述M個寫部分(804至807)中的各部分。
全文摘要
一種非易失性半導(dǎo)體存儲器,包括存儲單元陣列(1)、比較部分70和多個寫電路(800至815)。比較部分把從存儲單元陣列讀出的包括多個第一位數(shù)據(jù)(Dm0至Dm15)的讀出數(shù)據(jù),與包括多個第二位數(shù)據(jù)(Dr0至Dr15)的期望值以位為單位進(jìn)行比較,輸出表示比較結(jié)果的判斷信號(J0至J15);多個寫電路把多個第二位數(shù)據(jù)的各數(shù)據(jù)寫入存儲單元陣列的一部分中,多個寫電路被分別激活,其被激活的數(shù)量根據(jù)判斷信號而變化。
文檔編號G11C16/34GK1243318SQ9911083
公開日2000年2月2日 申請日期1999年7月22日 優(yōu)先權(quán)日1998年7月24日
發(fā)明者蛇島浩史 申請人:日本電氣株式會社