專利名稱:具有掃描電路和方法的非易失性存儲器的制作方法
技術領域:
本發(fā)明涉及一種非易失性存儲器,具體涉及具有改善的掃描電路和方法的非易失性存儲器。
背景技術:
非易失性存儲器當其電源被切斷時在存儲單元中保留所存儲的數(shù)據(jù)。由于其電子擦除和存儲數(shù)據(jù)的能力而被廣泛地用于計算機、存儲卡等中的一種非易失性存儲器是快閃存儲器。
快閃存儲器按照它們的存儲單元結構被分類為或非(NOR)或者與非(NAND)類型。NOR型快閃存儲器將兩個或更多的存儲單元并聯(lián)到每條位線,而NAND型快閃存儲器將兩個或多個存儲單元串聯(lián)到每條位線。NOR型快閃存儲器使用溝道熱電子注入來向存儲單元存儲或編程(program)數(shù)據(jù),并且使用Fowler-Nordheim隧道效應(F-N隧道效應)。與非型快閃存儲器使用F-N隧道效應來在存儲單元中存儲和擦除數(shù)據(jù)。利用溝道熱電子注入實現(xiàn)方式,或非型快閃存儲器比與非型快閃存儲器更快地編程單元。對于這種改善的性能的一種折中是或非型快閃存儲器消耗更多的存儲單元電流,這對于大規(guī)模集成有副作用。
為了在NOR型快閃存儲器中編程或存儲數(shù)據(jù),向所述快閃存儲器提供了編程(program)命令、編程地址和編程數(shù)據(jù)。所述編程命令可以指示要對于快閃存儲器執(zhí)行的操作類型,例如編程操作。在執(zhí)行所述編程操作之前,通常擦除要被編程的快閃存儲器的部分,其中,所述擦除將每個被擦除的存儲單元設置為第一預定值,諸如邏輯高或“1”。所述編程地址和編程數(shù)據(jù)可以響應于所述編程命令而選擇要被編程的存儲單元。例如,所述編程地址可以激活字線,并且所述編程數(shù)據(jù)可以指示將編程與所激活的字線耦接的哪個(些)存儲單元。通常,編程操作向每個所選擇的存儲單元編程諸如邏輯低或“0”的第二個預定值,否則保持所擦除的第一預定值。
快閃存儲器在內部指定用于完成每個編程操作的預設時間。所述編程操作包括驗證操作,用于確定在每個被尋址的存儲單元中是否成功地將編程數(shù)據(jù)編程。在所述預設時間期間,重復所述編程和驗證操作,直到在每個被尋址的存儲單元中編程了編程數(shù)據(jù)。
為了執(zhí)行編程操作,向每條對應的位線施加對應于每個第二預定編程數(shù)據(jù)值(例如“0”)的編程電壓。因為使用溝道熱電子注入來編程或非型快閃存儲器,因此通常在單個編程操作期間可以通過編程電壓同時編程僅僅2-4個存儲單元。例如,當可以在單個編程操作期間同步地編程四個存儲單元時并且當編程數(shù)據(jù)是“1001101111110111”時,需要四個編程操作“1001”、“1011”、“1111”和“0111”,即使通過所述編程操作正在物理地改變僅僅四個存儲單元,例如對應于在編程數(shù)據(jù)中的“0”的那些單元。
因此,所述編程時間,或者說將所述編程數(shù)據(jù)編程到快閃存儲器所需要的時間,總是相同的,而不論是否所述編程數(shù)據(jù)是第一或第二預定值。
發(fā)明內容
本發(fā)明的一個方面是提供一種能夠降低編程時間的非易失性存儲器。所述非易失性存儲器包括存儲單元陣列,它包括多個存儲單元,每個存儲單元對應于編程數(shù)據(jù)的獨立部分;數(shù)據(jù)掃描單元,用于檢測具有第一值的編程數(shù)據(jù)的各部分;以及編程單元,用于響應于預定數(shù)量的檢測而將對應于編程數(shù)據(jù)的所檢測部分的存儲單元編程。
我們包括附圖以進一步理解本發(fā)明,我們并入它們以構成本說明書的一部分。所述附解了本發(fā)明的示例實施例,并且與說明一起用于解釋本發(fā)明的原理。
圖1是按照本發(fā)明的一個例證實施例的非易失性半導體存儲器的方框圖。
圖2和3是圖解圖1所示的半導體存儲器的操作的時序圖。
圖4是圖1所示的掃描時鐘產生單元的一個實施例的方框圖。
圖5是圖1所示的數(shù)據(jù)鎖存電路的一個實施例的方框圖。
圖6是圖1所示的編程比特計數(shù)器的一個實施例的方框圖。
圖7是圖1所示的編程控制單元的一個實施例的方框圖。
圖8是圖1所示的編程驅動電路的一個實施例的方框圖。
具體實施例方式
下面我們參照附圖來更詳細地描述本發(fā)明的優(yōu)選實施例。但是,本發(fā)明可以以不同的形式被體現(xiàn),并且不應當被理解為限制于在此給出的實施例。而且,這些實施例被提供使得本公開徹底和完整,并且向本領域的技術人員完整地提供本發(fā)明的范圍。在整個說明書中,相同的附圖標號表示相同的元件。
圖1是按照本發(fā)明的一個實施例的非易失性半導體存儲器100的方框圖。參見圖1,非易失性半導體存儲器100包括數(shù)據(jù)掃描單元10、編程單元80和存儲單元陣列區(qū)域90。
存儲單元陣列區(qū)域90包括存儲單元陣列92、X解碼器94、Y解碼器96和Y門98。存儲單元陣列92包括多個存儲單元,它們連接到多條位線BL1-BLN和多條字線WL1-WLj。X解碼器94解碼存儲單元的行地址X_Add。Y解碼器96解碼列的列地址Y_Add。另外,Y解碼器96在存儲單元陣列92和編程單元80之間執(zhí)行數(shù)據(jù)接口。雖然非易失性半導體存儲器100在圖1中被示出為或非型快閃存儲器。但是可以以其他的非易失性存儲器類型來實現(xiàn)本發(fā)明。
數(shù)據(jù)掃描單元10包括掃描時鐘產生單元20、緩沖器29、數(shù)據(jù)鎖存單元30。掃描時鐘產生單元20響應于內部時鐘信號CLK而產生多個掃描時鐘信號ScanCLK<N:1>,并且向數(shù)據(jù)鎖存單元30和編程比特計數(shù)器40提供所述掃描時鐘信號ScanCLK<N:1>。如圖1所示,可以以兩組ScanCLK<N2:1>]]>和ScanCLK<N2+1:N>]]>來提供掃描時鐘信號ScanCLK<N:1>。在一個實施例中,掃描時鐘信號ScanCLK<N:1>可以以替代的方式被產生,例如ScanCLK<1>、ScanCLK<N>、ScanCLK<2>、ScanCLK<N-1>等,以ScanCLK<N2+1>]]>作為對于每組編程數(shù)據(jù)產生的最后掃描時鐘信號。掃描時鐘產生單元20可以在內部時鐘信號CLK的每個間隔中產生兩個掃描時鐘信號,一個是當所述內部時鐘信號CLK在高電平時,另一個是當所述內部時鐘信號CLK在低電平時。可以從時鐘產生單元(未示出)產生所述內部時鐘信號CLK,所述時鐘產生單元可以被包括在非易失性半導體存儲器100中。緩沖器29緩存編程數(shù)據(jù)Data<N:1>的多個比特,并且向數(shù)據(jù)鎖存單元30提供所緩存的編程數(shù)據(jù)Data<N:1>。
數(shù)據(jù)鎖存單元30響應于掃描時鐘信號ScanCLK<N:1>而確定編程數(shù)據(jù)Data<N:1>的那些比特具有值“0”,并且產生對應于具有“0”值的那些比特的位線選擇信號BLselect<N:1>和編程計數(shù)信號PgmCount<N:1>。數(shù)據(jù)鎖存單元30包括多個數(shù)據(jù)鎖存電路30_1-30_N,其中每個數(shù)據(jù)鎖存電路30_1-30_N接收編程數(shù)據(jù)Data<N:1>的一個對應比特,并且響應于對應的掃描時鐘信號ScanCLK<N:1>而確定是否所述比特具有值“0”。因為可以在內部時鐘信號CLK的每個間隔中產生兩個或更多的掃描時鐘信號,因此數(shù)據(jù)鎖存單元30可以在每個內部時鐘信號間隔中確定編程數(shù)據(jù)的兩個或多個比特的值。每個數(shù)據(jù)鎖存電路30_1-30_N響應于編程數(shù)據(jù)Data<N:1>的一個對應比特的所確定的值而產生一個編程計數(shù)信號PgmCount<N:1>并且設置位線選擇信號BLselect<N:1>。數(shù)據(jù)鎖存單元30向編程比特計數(shù)器40提供編程計數(shù)信號PgmCount<N:1>,并且向編程驅動器60提供位線選擇信號BLselect<N:1>。
編程單元80響應于所述位線選擇信號BLselect<N:1>和編程計數(shù)信號PgmCount<N:1>而編程在存儲單元陣列區(qū)域90內的所選擇的存儲單元。編程單元80包括編程比特計數(shù)器40、編程控制單元50、編程驅動器60和感測單元70。
編程比特計數(shù)器40從數(shù)據(jù)鎖存單元30接收編程計數(shù)信號PgmCoum<N:1>,并且從掃描時鐘產生單元20接收掃描時鐘信號ScanCLK<N:1>。編程比特計數(shù)器40響應于所述編程計數(shù)信號Pgmcount<N:1>或掃描時鐘信號ScanCLK<N:1>而產生同步激活信號BitMax。當接收到最后的掃描時鐘信號時或在計數(shù)了預定數(shù)量的編程計數(shù)信號PgmCount<N:1>后,可以產生同步編程激活信號BitMax。對于或非型快閃存儲器的溝道熱電子注入編程,通??梢酝瑫r編程2-4個存儲單元,因此,在一個實施例中,所述編程計數(shù)信號PgmCount<N:1>的預定數(shù)量可以在2和4之間。編程比特計數(shù)器40向掃描時鐘產生單元20和編程控制單元50提供所述同步編程激活信號BitMax。
掃描時鐘產生單元20可以響應于所述同步編程激活信號BitMax而停止產生掃描時鐘信號。編程控制單元50響應于所述同步編程激活信號BitMax而產生編程執(zhí)行信號PgmExecute,并且向編程驅動單元60和編程比特計數(shù)器40提供所述編程執(zhí)行信號PgmExecute。在一個實施例中,所述編程執(zhí)行信號PgmExecute響應于同步編程激活信號BitMax而被設置為高電平,并且響應于從一個定時控制單元(未示出)產生的編程時間控制信號Time Out而被設置在低電平,所述定時控制單元可以被包括在半導體存儲器100中。編程比特計數(shù)器40可以復位其本身,并且響應于編程執(zhí)行信號PgmExecute而產生鎖存復位信號LatchReset,用于復位每個數(shù)據(jù)鎖存電路30_1-30_N。
編程驅動器60響應于編程執(zhí)行信號PgmExecute和位線選擇信號BLselect<N:1>、通過選擇性地激活位線BL1-BLN而編程存儲單元陣列區(qū)域90。編程驅動器60包括多個編程驅動電路60_1-60_N,每個編程驅動電路60_1-60_N對應于一條位線BL1-BLN。每個編程驅動電路60_1-60_N接收對應的位線選擇信號BLselect<N:1>、來自一個高電壓產生單元(未示出)——它可以被包括在半導體存儲器100中——的編程電壓Vb1、編程執(zhí)行信號PgmExecute。當數(shù)據(jù)鎖存單元30將對應的位線選擇信號BLselect<N:1>設置為高電平時,每個編程驅動電路60_1-60_N向對應的位線BL1-BLN施加編程電壓Vb1。
感測單元70包括多個感測電路70_1-70_N,其中,每個感測電路70_1-70_N執(zhí)行驗證操作,即從存儲單元陣列92的一條對應的位線BL1-BLN讀取數(shù)據(jù)以確認由編程驅動器60完成了編程。當作為驗證操作的結果、對應的存儲單元被確認已經被編程時,每個感測電路70_1-70_N將一個對應的驗證通過信號VerifyPass<N:1>設置為高電平,用于向對應的數(shù)據(jù)鎖存電路30_1-30_N指示驗證通過。當對應的存儲單元被確認為未被編程時。每個感測電路70_1-70_N將驗證通過信號VerifyPass<N:1>設置為低電平,用于向對應的數(shù)據(jù)鎖存電路30_1-30_N指示驗證失敗。
在一個實施例中,每個感測電路70_1-70_N可以包括比較器(或比較邏輯電路),它將從存儲單元陣列92的對應位線讀取的數(shù)據(jù)與由每個編程驅動電路60_1-60_N編程的數(shù)據(jù)相比較。當來自對應的比較器的結果指示所述數(shù)據(jù)相同時,向對應的數(shù)據(jù)鎖存電路30_1-30_N提供一個對應的驗證通過信號VerifyPass<N:1>。
如果結果是不同的,每個感測電路70_1-70_N將一個對應的驗證通過信號VerifyPass<N:1>設置為低電平以指示對于對應的位線BL1-BLN編程失敗。在接收到被設置到低電平的一個對應的驗證通過信號VerifyPass<N:1>時,每個數(shù)據(jù)鎖存電路30_1-30_N將編程數(shù)據(jù)重新編程到存儲單元陣列區(qū)域90。
圖2和3是圖解在圖1中的半導體存儲器100的操作的時序圖。參見圖2和3,假定編程數(shù)據(jù)包含8個比特,并且用于產生同步激活信號BitMax所需要的編程計數(shù)信號PgmCount<8:1>的預定數(shù)量是四。
參見圖2,要編程到存儲單元陣列區(qū)域90的編程數(shù)據(jù)Data<8:1>是“00000000”。產生一個鎖存復位信號LatchReset以初始化數(shù)據(jù)鎖存電路30_1-30_8來進行并列的位掃描,其中,在編程數(shù)據(jù)的正向掃描中,由數(shù)據(jù)鎖存電路30_1-30_4使用第一組掃描時鐘信號ScanCLK<4:1>,在反向掃描中,由數(shù)據(jù)鎖存電路30_5-30_8使用第二組掃描時鐘信號ScanCLK<5:8>。在圖2所示的實施例中,在內部時鐘信號CLK的上升沿產生第一組掃描時鐘信號ScanCLK<4:1>,在內部時鐘信號CLK的下降沿產生第二組掃描時鐘信號ScanCLK<5:8>。
在編程單元80編程存儲單元陣列92后,編程比特計數(shù)器40產生鎖存復位信號LatchReset。在鎖存復位信號LatchReset脈動后,每個數(shù)據(jù)鎖存電路30_1-30_8確定對應的位線選擇信號BLselect<8:1>和編程計數(shù)信號PgmCount<8:1>的電平(高或低)。在一個實施例中,每個數(shù)據(jù)鎖存電路30_1-30_8當對應的編程數(shù)據(jù)具有“0”值時產生一個被激活的位線選擇信號BLselect<i>和一個被激活的編程計數(shù)信號PgmCount<i>,當對應的編程數(shù)據(jù)具有“1”值時產生一個失活的位線選擇信號BLselect<i>和一個失活的編程計數(shù)信號PgmCount<i>。
當在內部時鐘信號CLK的第一周期中產生第一和第八掃描時鐘信號ScanCLK<1>和ScanCLK<8>時,數(shù)據(jù)鎖存電路30_1和30_8檢測到具有“0”值的編程數(shù)據(jù)(第一數(shù)據(jù)0和第二數(shù)據(jù)0),并且產生第一和第八位線選擇信號BLselect<1>和BLselect<8>與第一和第八編程計數(shù)信號PgmCount<1>和PgmCount<8>。編程比特計數(shù)器40響應于第一和第八編程計數(shù)信號PgmCount<1>和PgmCount<8>而將計數(shù)器值遞增兩次。
隨后,在內部時鐘信號CLK的第二周期中產生第二和第七掃描時鐘信號ScanCLK<2>和ScanCLK<7>。響應于所述第二和第七掃描時鐘信號ScanCLK<2>和ScanCLK<7>而檢測具有“0”值的編程數(shù)據(jù)(第三數(shù)據(jù)0和第四數(shù)據(jù)0),并且產生第二和第七位線選擇信號BLselect<2>和BLselect<7>與第二和第七編程計數(shù)信號PgmCount<2>和PgmCount<7>。編程比特計數(shù)器40響應于所述第二和第七編程計數(shù)信號PgmCount<2>和PgmCount<7>而將所述計數(shù)器值遞增到四。
因為所述計數(shù)器值等于編程計數(shù)信號的預定數(shù)量,因此激活一個同步編程激活信號BitMax來指示具有“0”值的四比特編程數(shù)據(jù)已經被檢測到,并且要同時被編程。當激活所述同步編程激活信號BitMax時,編程控制單元50激活編程執(zhí)行信號PgmExecute,用于通過編程單元80啟動編程操作。
結果,具有“0”值的編程數(shù)據(jù)的四個比特Data<1>、Data<2>、Data<3>、Data<4>被同時編程到存儲單元陣列92。在激活同步編程激活信號BitMax的同時,掃描時鐘產生單元20不產生掃描時鐘。當編程時間過去時,向編程控制單元50提供編程時間控制信號TimeOut(超時),其中,響應于所述編程時間控制信號TimeOut而將所述編程執(zhí)行信號PgmExecute去激活,并且響應于所述編程執(zhí)行信號PgmExecute的去激活而使得同步編程激活信號BitMax去激活。產生一個鎖存復位信號LatchReset來初始化編程比特計數(shù)器20和數(shù)據(jù)鎖存單元30,并且以如上所述相同的方式來使用編程數(shù)據(jù)Data<3>、Data<4>、Data<5>、Data<6>執(zhí)行編程操作。
參見圖3,要被編程到存儲單元陣列區(qū)域90的編程數(shù)據(jù)Data<8:1>是“10101010”,其中,編程數(shù)據(jù)Data<2>、Data<4>、Data<6>、Data<8>具有“0”值。圖3所示的編程操作類似于圖2所示的操作,除了分別響應于掃描時鐘信號ScanCLK<2>、ScanCLK<4>、ScanCLK<6>、ScanCLK<8>而產生第二、第四、第六和第八位線選擇信號BLselect<2>、BLselect<4>、BLselect<6>、BLselect<8>和第二、第四、第六和第八編程計數(shù)信號PgmCount<2>、PgmCount<4>、PgmCount<6>、PgmCount<8>。因為,在圖3的編程數(shù)據(jù)中僅僅存在四個“0”值的比特,因此不需要第二編程操作來將圖3的編程數(shù)據(jù)編程到存儲單元陣列92。
因此,與現(xiàn)有技術——通過無條件地將N比特(例如8比特)的編程數(shù)據(jù)除以能夠被同時編程的比特數(shù)量(例如4比特)而執(zhí)行編程操作——相比較,本發(fā)明通過掃描具有“0”值的編程數(shù)據(jù)和響應于掃描的結果而編程存儲單元陣列92而將編程時間減半。另外,因為并行執(zhí)行對于具有“0”值的編程數(shù)據(jù)的掃描,因此可以進一步降低編程時間。
當編程數(shù)據(jù)的大小提高時,這種在編程時間上的降低程度也提高。例如,當被提供16比特的編程數(shù)據(jù)——其中可以同時編程四個比特——時,當編程數(shù)據(jù)具有四個或更少的“0”值的比特時可以執(zhí)行一次編程操作,當存在5-8個“0”比特時可以執(zhí)行兩次編程操作,當存在9-12個“0”比特時可以執(zhí)行三次編程操作,當存在13-16個“0”比特時可以執(zhí)行四次編程操作。換句話說,可以根據(jù)具有“0”值的編程數(shù)據(jù)比特的數(shù)量來將編程時間降低最多75%。因為具有“0”或“1”值的編程數(shù)據(jù)比特的概率相同,因此平均編程時間降低可以是大約50%。
圖4是圖1中的掃描時鐘產生單元20的一個實施例的方框圖。參見圖4,掃描時鐘產生單元20包括第一掃描時鐘產生單元22和第二掃描時鐘產生單元24。第一掃描時鐘產生單元22產生四個掃描時鐘信號ScanCLK<4:1>,第二掃描時鐘產生單元24產生四個掃描時鐘信號ScanCLK<5:8>。雖然圖4示出了掃描時鐘產生單元20的一個8掃描時鐘信號實現(xiàn)方式,但是可以在掃描時鐘產生單元20的其他實施例中按比例增加和減少掃描時鐘的數(shù)量。
第一掃描時鐘產生單元22包括信號輸入單元221、計數(shù)器單元225和解碼單元227。信號輸入單元221包括反相器,用于反相內部時鐘信號CLK;或非門,用于對于內部時鐘信號CLK的反相值和同步編程激活信號BitMax執(zhí)行邏輯或非運算。信號輸入單元221當同步編程激活信號BitMax在低電平時向計數(shù)器單元225提供內部時鐘信號CLK,并且當同步編程激活信號BitMax在高電平時提供反相的同步編程激活信號BitMax。計數(shù)器單元225包括三比特計數(shù)器,并且計數(shù)從信號輸入單元221接收的時鐘信號,其中,所述時鐘信號可以是內部時鐘信號或反相的同步編程激活信號BitMax。解碼單元227解碼計數(shù)器單元225的輸出以依序產生多個掃描時鐘信號ScanCLK<1:4>。
信號輸入單元221響應于高電平同步編程激活信號BitMax而向計數(shù)器單元225提供低電平時鐘信號CLK,由此禁止計數(shù)器單元225的計數(shù)操作。結果,第一掃描時鐘產生單元22當同步編程激活信號BitMax在高電平時停止產生掃描時鐘信號ScanCLK<1:4>。在一個實施例中,同步編程激活信號BitMax在編程單元80的編程操作期間被設置到高電平。第一掃描時鐘產生單元22在完成所述編程操作后開始計數(shù)時鐘信號,并且同步編程激活信號BitMax被設置到低電平。
第二掃描時鐘產生單元24包括信號輸入單元241、計數(shù)器單元245和解碼單元247。第二掃描時鐘產生單元24類似于第一掃描時鐘產生單元22,除了當同步編程激活信號BitMax被設置為低電平時計數(shù)器單元245接收反相的內部時鐘信號CLK。向第二掃描時鐘產生單元24加上高電平同步編程激活信號BitMax停止了產生掃描時鐘信號ScanCLK<5:8>。由于計數(shù)器部分225和245的這些組織,第一掃描時鐘產生單元22在內部時鐘信號CLK的上升沿產生掃描時鐘信號ScanCLK<1:4>,并且第二掃描時鐘產生單元24在內部時鐘信號CLK的下降沿產生掃描時鐘信號ScanCLK<5:8>。圖5是在圖1中的數(shù)據(jù)鎖存電路30_1的實施例的方框圖。參見圖5,數(shù)據(jù)鎖存電路30_1包括數(shù)據(jù)檢測單元31和數(shù)據(jù)存儲單元35。數(shù)據(jù)鎖存電路30_2-30_N與數(shù)據(jù)鎖存電路30_1類似地工作。數(shù)據(jù)檢測單元31包括或非門、與非門和反相器。數(shù)據(jù)檢測單元31執(zhí)行對于驗證通過信號VerifyPass<1>和編程數(shù)據(jù)Data<1>的邏輯或非運算,并且執(zhí)行對于邏輯或非運算的結果和掃描時鐘信號ScanCLK<1>的邏輯與非運算。數(shù)據(jù)檢測單元31將邏輯與非運算的結果反相以輸出編程計數(shù)信號PgmCount<1>。例如,當如高電平驗證通過信號VerifyPass<1>所指示的那樣來正確地執(zhí)行編程操作時,數(shù)據(jù)檢測單元31輸出低電平編程計數(shù)信號PgmCount<1>。當未正確地執(zhí)行編程操作并且編程數(shù)據(jù)Data<1>需要重新編程時,向數(shù)據(jù)檢測單元31提供低電平驗證通過信號VerifyPass<1>。例如,當編程數(shù)據(jù)Data<1>的值是“0”時,與掃描時鐘信號ScanCLK<1>同步地產生編程計數(shù)信號PgmCount<1>。
數(shù)據(jù)存儲單元35可以包括T觸發(fā)器,用于存儲數(shù)據(jù)。當數(shù)據(jù)檢測單元31檢測到具有值“0”的編程數(shù)據(jù)Data<1>時,編程計數(shù)信號PgmCount<1>被設置到高電平,并且數(shù)據(jù)存儲單元35將位線選擇信號BLselect<1>設置為高電平。數(shù)據(jù)存儲單元35響應于由編程比特計數(shù)器40產生的鎖存復位信號LatchReset而被初始化,其中,所述初始化將位線選擇信號BLselect<1>設置為低電平,用于防止在隨后的編程操作期間的無意中進行的編程。圖6是編程比特計數(shù)器40的一個實施例的方框圖。參見圖6,編程比特計數(shù)器40包括信號輸入單元41、復位控制單元42、計數(shù)器單元45、數(shù)據(jù)輸出單元46。
信號輸入單元41接收由數(shù)據(jù)鎖存單元30產生的多個計數(shù)信號PgmCount<1>到PgmCount<8>。當數(shù)據(jù)鎖存單元30在編程數(shù)據(jù)中檢測到“0”值時,信號輸入單元41向計數(shù)器單元45提供一個信號。計數(shù)器單元45可以包括三比特計數(shù)器,用于響應于信號輸入單元41接收到每個計數(shù)信號PgmCount<1>到PgmCount<8>而遞增計數(shù)器值。
數(shù)據(jù)輸出單元46響應于計數(shù)器值等于預定值或接收到諸如ScanCLK<5>的最后的掃描時鐘信號而產生同步編程激活信號BitMax。為了產生同步編程激活信號BitMax,數(shù)據(jù)輸出單元46包括或非門47,用于對于計數(shù)器單元45的輸出和所述最后的掃描時鐘信號ScanCLK<5>執(zhí)行邏輯或非運算;鎖存單元48,用于鎖存或非門47的輸出信號;第一反相器49,用于反相和輸出鎖存單元48的輸出。
復位控制單元42復位計數(shù)器單元45,并且響應于由編程控制單元50產生的編程執(zhí)行信號PgmExecute而產生鎖存復位信號LatchReset。復位控制單元42包括脈沖產生單元43,用于將反相的編程執(zhí)行信號PgmExecute轉換為脈沖信號;反相器44,用于通過反相所述脈沖信號而產生所述鎖存復位信號LatchReset。
圖7是圖1中圖解的編程控制單元50的一個實施例的方框圖。參見圖7,編程控制單元50包括切換單元55和信號輸出單元57。
切換單元55可以包括T觸發(fā)器,用于通過時鐘輸入端來接收同步編程激活信號BitMax。當編程比特計數(shù)器40將所述同步編程激活信號BitMax設置為高電平時,切換單元55產生編程執(zhí)行信號PgmExecute。信號輸出單元57延遲和輸出由切換單元55產生的編程執(zhí)行信號PgmExecute。在一個實施例中,信號輸出單元57通過將編程執(zhí)行信號PgmExecute反相兩次而延遲所述編程執(zhí)行信號PgmExecute。
切換單元55可以響應于在復位端接收的編程時間控制信號TimeOut而被復位。結果,將編程執(zhí)行信號PgmExecute設置到低電平。
圖8是圖1所示的編程驅動電路60_1的一個實施例的方框圖。編程驅動電路60_1選擇性地施加用于編程存儲單元陣列92的位線電壓Vb1。在一個實施例中,編程驅動電路60_1在當由位線選擇信號BLselect<1>選擇位線BL<1>時的編程操作期間施加高電壓Vb1以編程到位線BL<1>。編程驅動電路60_2-60_N與編程驅動電路60_1類似地工作。
參見圖8,編程驅動電路60_1包括輸入數(shù)據(jù)單元61,用于當編程執(zhí)行信號PgmExecut和位線選擇信號BLselect<1>在高電平時向節(jié)點N1提供高電平信號。數(shù)據(jù)輸入單元61可以包括與非門和反相器,用于檢測編程執(zhí)行信號PgmExecut和位線選擇信號BLselect<1>的電平。所述高電平信號被施加到第一NMOS晶體管65的控制門,并且通過反相器63被反相到低電平以被發(fā)送到第二NMOS晶體管66的控制門。
通過高電平信號來導通第一NMOS晶體管65,通過低電平信號來截止第二NMOS晶體管66。第二節(jié)點N2的電壓電平被從導通第一NMOS晶體管65產生的放電操作降低到地電平。當?shù)诙?jié)點N2的電壓被降低到地電平時,向第一PMOS晶體管67的控制端施加低電平信號,因此導通第一PMOS晶體管67。
第三節(jié)點N3的電壓電平在導通的第一PMOS晶體管67的充電操作中上升到編程電壓電平Vb1,并且第二PMOS晶體管68由于上升的第三節(jié)點N3電壓而保持截止。結果,在第三結果N3的編程電壓Vb1被提供到位線BL<1>,并且用于編程對應的存儲單元。
如上所述,按照本發(fā)明的一個實施例的非易失性存儲器100僅僅選擇具有“0”值的編程數(shù)據(jù),并且響應于所述選擇而編程所述存儲單元陣列。因此,與傳統(tǒng)的編程方法相比較,非易失性存儲器100大大地降低了編程時間。
雖然已經結合在附圖中圖解的本發(fā)明的實施例而說明了本發(fā)明,但是不限于此。對于本領域的技術人員顯然,在不脫離本發(fā)明的范圍和精神的情況下,可以對于本發(fā)明進行各種替代、修改和改變。
權利要求
1.一種非易失性存儲器,包括存儲單元陣列,它包括多個存儲單元,每個存儲單元存儲編程數(shù)據(jù);數(shù)據(jù)掃描單元,用于檢測具有第一值的編程數(shù)據(jù);以及編程單元,用于響應于數(shù)據(jù)掃描單元而編程所述多個存儲單元。
2.按照權利要求1的器件,其中,所述數(shù)據(jù)掃描單元被適配來將所述編程數(shù)據(jù)掃描預定次數(shù)。
3.按照權利要求1的器件,其中,所述數(shù)據(jù)掃描單元被適配來產生多個掃描時鐘信號;并且其中,所述數(shù)據(jù)掃描單元被適配來響應于所述掃描時鐘信號而檢測具有第一值的編程數(shù)據(jù)。
4.按照權利要求3的器件,其中,所述編程單元被適配來響應于掃描時鐘信號而編程所述存儲單元。
5.按照權利要求3的器件,其中,所述數(shù)據(jù)掃描單元被適配來通過同時執(zhí)行編程數(shù)據(jù)的正向掃描和反向掃描來檢測具有第一值的編程數(shù)據(jù)。
6.按照權利要求3的器件,其中,所述數(shù)據(jù)掃描單元被適配來在內部時鐘的每個周期中產生至少兩個掃描時鐘信號。
7.按照權利要求4的器件,其中,所述數(shù)據(jù)掃描單元被適配來響應于存儲單元的編程而停止產生所述掃描時鐘信號。
8.按照權利要求1的器件,其中,所述數(shù)據(jù)掃描單元被適配來響應于每次檢測而產生位線激活信號;并且其中,所述編程單元被適配來響應于預定數(shù)量的檢測而編程對應于位線激活信號的存儲單元。
9.按照權利要求1的器件,其中,所述數(shù)據(jù)掃描單元被適配來響應于每次檢測而產生同步信號;其中,所述編程單元包括計數(shù)器,用于響應于每個同步信號而遞增計數(shù)器值;并且其中,所述編程單元被適配來響應于所述計數(shù)器值而編程對應于所檢測的編程數(shù)據(jù)的存儲單元。
10.按照權利要求9的器件,其中,所述數(shù)據(jù)掃描單元被適配來響應于所述計數(shù)器值而停止檢測具有第一值的編程數(shù)據(jù)的多個部分。
11.按照權利要求9的器件,其中,所述計數(shù)器被適配來響應于存儲單元的編程而復位計數(shù)器值。
12.按照權利要求1的器件,其中,所述編程單元包括感測單元,用于驗證存儲單元的編程。
13.按照權利要求12的器件,其中,所述感測單元通過讀取對應于所述編程數(shù)據(jù)的存儲單元中存儲的數(shù)據(jù)并將所存儲的數(shù)據(jù)與所述編程數(shù)據(jù)相比較來驗證所述編程。
14.一種方法,包括接收對應于多個存儲單元的每個的編程數(shù)據(jù);通過掃描所述編程數(shù)據(jù)而檢測第一值;以及響應于所述檢測而編程所述多個存儲單元。
15.按照權利要求14的方法,包括將第一值按預定次數(shù)檢測。
16.按照權利要求14的方法,包括產生多個掃描時鐘信號;并且響應于所述掃描時鐘信號而檢測第一值。
17.按照權利要求16的方法,其中,響應于掃描時鐘信號而進行編程所述存儲單元。
18.按照權利要求16的方法,包括同時執(zhí)行編程數(shù)據(jù)的正向掃描和反向掃描。
19.按照權利要求16的方法,包括響應于所述編程而停止產生掃描時鐘信號。
20.按照權利要求16的方法,包括響應于每次檢測而產生位線激活信號;并且響應于預定數(shù)量的檢測而編程對應于位線激活信號的存儲單元。
21.按照權利要求16的方法,包括響應于所述檢測而產生同步信號;響應于每個同步信號而遞增計數(shù)器值;并且響應于所述計數(shù)器值而編程對應于所述編程數(shù)據(jù)的存儲單元。
22.按照權利要求21的方法,包括響應于所述計數(shù)器值而停止掃描。
23.按照權利要求21的方法,包括響應于所述編程而復位計數(shù)器值。
24.按照權利要求15的方法,包括驗證所述編程。
25.按照權利要求24的方法,其中,驗證所述編程包括讀取對應于所述編程數(shù)據(jù)的存儲單元中存儲的數(shù)據(jù);并且將所讀取的數(shù)據(jù)與所述編程數(shù)據(jù)相比較。
全文摘要
發(fā)明人描述和要求保護一種加速的比特掃描非易失性存儲器和方法。一種非易失性存儲器包括存儲單元陣列,它包括多個存儲單元,每個存儲單元對應于編程數(shù)據(jù);數(shù)據(jù)掃描單元,用于檢測具有第一值的編程數(shù)據(jù);以及編程單元,用于響應于所述掃描而編程對應于所述編程數(shù)據(jù)的所檢測部分的所述多個存儲單元。
文檔編號G11C16/06GK1758378SQ200510098019
公開日2006年4月12日 申請日期2005年9月1日 優(yōu)先權日2004年9月15日
發(fā)明者鄭宰鏞 申請人:三星電子株式會社