本發(fā)明涉及Flash存儲器電路領(lǐng)域,具體為一種用于Flash存儲器的差分位線結(jié)構(gòu)及其操作方法。
背景技術(shù):
Flash存儲器是一種常見的非揮發(fā)性存儲器,它的特點是即使停止供電,存儲器中的數(shù)據(jù)仍然能夠長久地保持。它被廣泛應(yīng)用于移動存儲、手機、數(shù)碼相機、掌上電腦等數(shù)字設(shè)備中。
Flash存儲器的基本操作有讀取(read)、編程(program)和擦除(erase)。Flash存儲器的擦除和編程均是利用隧道效應(yīng)使電子穿過浮柵與溝道之間的絕緣層,對浮柵進(jìn)行充電(寫入數(shù)據(jù))或放電(擦除數(shù)據(jù))。浮柵上電荷的多少會影響Flash存儲單元的閾值電壓。Flash存儲器的讀取通過區(qū)別選中的存儲單元的導(dǎo)通電流的大小,識別出不同閾值電壓,從而確定存儲單元的狀態(tài)——比如閾值低表示為‘1’,閾值高表示為‘0’。
由于每次擦除或編程操作對存儲單元是有損害的,每個Flash存儲單元能夠承受的編程/擦除(P/E)循環(huán)次數(shù)是有限的。它是Flash存儲器的關(guān)鍵性能指標(biāo)之一,比如單層單元(SLC)NAND Flash的壽命一般不低于10萬次。除了與生產(chǎn)工藝相關(guān)外,不同的控制方式也會對存儲單元的壽命造成影響。不同于SLC的一個存儲單元中只存儲一個比特(bit),多層單元(MLC)NAND Flash需要在一個存儲單元中存儲多個bit,因此MLC的編程和擦除操作需要的電壓更高、時間更長,而留給讀取操作的余量反而更小。一般的MLC的擦寫壽命一般只有1萬次。
另外在對被選中的存儲單元進(jìn)行擦除或者編程操作時,其他非選中的存儲單元,尤其是與之相鄰的存儲單元,會受到干擾(一定程度的弱擦除或者編程)。并且累積到一定程度后,被干擾的單元所保存的數(shù)據(jù)會損壞。一般地操作所需要的電壓越高、時間越長,它造成的干擾也越大。
一般的Flash存儲器的讀取操作首先對位線(BL)進(jìn)行充電,然后通過選中的存儲單元對BL進(jìn)行放電。放電一段時間后,所選中的存儲單元的閾值越低,則其放電電流(Icell)越大,BL的電壓就越低。最后通過電壓比較電路將BL上的電壓與參考電壓(Vref)做比較,將BL電壓的高低轉(zhuǎn)化為數(shù)字信號1和0從而完成了存儲單元的讀取。
采用這種方法的缺點是:1.讀操作時由于代表數(shù)據(jù)1和0的BL電壓和參考電壓之間需要一定的余量,需要等待較長的位線放電時間。2.編程操作時為了讓被編程的存儲單元的閾值更高一點,需要用到的電壓會更高時間更長,從而造成更大的干擾,使得整個存儲器的壽命下降。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種用于Flash存儲器的差分位線結(jié)構(gòu)及其操作方法,讀取可靠,編程操作電壓低,存儲單元使用壽命長。
本發(fā)明是通過以下技術(shù)方案來實現(xiàn):
一種用于Flash存儲器的差分位線結(jié)構(gòu),包括一對差分位線和一個數(shù)據(jù)緩沖電路;一對差分位線包括一端分別連接數(shù)據(jù)緩沖電路的第一位線BL0和第二位線BL1;數(shù)據(jù)緩沖電路的輸出端分別連接輸出數(shù)據(jù)線DQ和輸出反數(shù)據(jù)線DQB;第一位線BL0的另一端連接第一個存儲單元Cell0,第二位線BL1的另一端連接第二個存儲單元Cell1;第一個存儲單元Cell0和第二個存儲單元Cell1的閾值不同,且共同表示1比特信息;當(dāng)?shù)谝粋€存儲單元Cell0的閾值高,第二個存儲單元Cell1的閾值低時,表示數(shù)據(jù)0,反之表示數(shù)據(jù)1;或者當(dāng)?shù)谝粋€存儲單元Cell0的閾值低,第二個存儲單元Cell1閾值高時,表示數(shù)據(jù)0;反之,表示數(shù)據(jù)1。
優(yōu)選的,所述的數(shù)據(jù)緩沖電路包括一個差分輸入的靈敏放大器SA,以及分別通過第一數(shù)據(jù)節(jié)點S0和第二數(shù)據(jù)節(jié)點S1連接在靈敏放大器SA兩個輸入端的第一電壓比較器VC0和第二電壓比較器VC1;第一電壓比較器VC0和第二電壓比較器VC1分別與第一位線BL0和第二位線BL1連接;
當(dāng)輸入數(shù)據(jù)時靈敏放大器用于輸入數(shù)據(jù)的鎖存;
當(dāng)讀取數(shù)據(jù)時靈敏放大器用于將一對差分位線上由于閾值不同造成的電壓差進(jìn)行放大;
當(dāng)編程或擦除驗證時電壓比較器對相應(yīng)輸入位線的電壓和參考電壓Vref的高低進(jìn)行比較,并將結(jié)果輸出至對應(yīng)的數(shù)據(jù)節(jié)點。
進(jìn)一步,第一電壓比較器VC0和第二電壓比較器VC1均包括三個比較晶體管;
第一比較晶體管由一組位線選擇信號控制連接對應(yīng)的位線和位線電源VBLCTRL;
第二比較晶體管由一組比較使能信號控制連接對應(yīng)的位線和數(shù)據(jù)節(jié)點;比較使能信號為高電平,其電壓值為Vref+Vtn,其中,Vtn是第二比較晶體管的閾值電壓;
第三比較晶體管由一組數(shù)據(jù)節(jié)點充電信號控制連接對應(yīng)的數(shù)據(jù)節(jié)點和工作電壓VDD。
進(jìn)一步,第一數(shù)據(jù)節(jié)點S0和第二數(shù)據(jù)節(jié)點S1分別經(jīng)電容接地。
進(jìn)一步,靈敏放大器SA包括兩個帶有使能端的反相器和四個晶體管;
第一反相器的輸入端連接至輸入反數(shù)據(jù)節(jié)點DB,使能信號端連接至第一使能信號LEN,輸出端連接至輸入數(shù)據(jù)節(jié)點D;
第二反相器的輸入端連接至輸入數(shù)據(jù)節(jié)點D,使能信號端連接至第二使能信號LENX,輸出端連接至輸入反數(shù)據(jù)節(jié)點DB;
第一晶體管由第一開關(guān)信號LAT0控制連接第一數(shù)據(jù)節(jié)點S0和輸入反數(shù)據(jù)節(jié)點DB;
第二晶體管由第二開關(guān)信號LAT1控制連接第二數(shù)據(jù)節(jié)點S1和輸入數(shù)據(jù)節(jié)點D;
第三晶體管由選中信號SEL控制連接輸入反數(shù)據(jù)節(jié)點DB和輸出反數(shù)據(jù)線DQB;
第四晶體管由選中信號SEL控制連接輸入數(shù)據(jù)節(jié)點D和輸出數(shù)據(jù)線DQ。
一種用于Flash存儲器的差分位線結(jié)構(gòu)的操作方法,基于本發(fā)明所述的一種用于Flash存儲器的差分位線結(jié)構(gòu),包括,
通過一對存儲單元在一對差分位線上建立電壓差,然后通過靈敏放大器將數(shù)據(jù)讀出的讀取操作步驟;
根據(jù)輸入數(shù)據(jù)的不同,作為一對的第一個存儲單元Cell0和第二個存儲單元Cell1中有且只有一個會被編程的編程操作步驟。
優(yōu)選的,還包括使用電壓比較器對一對存儲單元中的第一個存儲單元Cell0和第二個存儲單元Cell1獨立進(jìn)行驗證的編程驗證操作步驟;當(dāng)所有的存儲單元都通過時,編程操作成功。
優(yōu)選的,讀取操作的具體步驟如下:
步驟A,將一組位線選擇信號的電壓置為0,一組比較使能信號的點電壓置為高電壓Vpre+Vtn,一組數(shù)據(jù)節(jié)點充電信號的電壓置為電源電壓VCC;通過電壓比較器將位線BL0和BL1充電至Vpre,即電源電壓VCC;
步驟B,將一組比較使能信號的電壓置為0,將位線和對應(yīng)的數(shù)據(jù)節(jié)點斷開,位線通過對應(yīng)的存儲單元開始放電;同時通過升高一組數(shù)據(jù)節(jié)點充電信號、以及第一開關(guān)信號LAT0和第二開關(guān)信號LAT1的電壓,將數(shù)據(jù)節(jié)點和輸入數(shù)據(jù)節(jié)點D、輸入反數(shù)據(jù)節(jié)點DB充電至工作電壓VDD;
由于擦除狀態(tài)的存儲單元所連接位線的電壓下降的比編程狀態(tài)的存儲單元所連接位線的電壓更快,經(jīng)過一段時間后一對差分位線上將累積到滿足靈敏放大器識別的電壓差ΔVbl;
步驟C,將一組比較使能信號置為高電平VCC將位線和靈敏放大器SA連接起來,并將靈敏放大器SA的第一、二使能信號LEN、LENX置為有效的高電平,靈敏放大器SA開始工作將電壓差ΔVbl放大,并將結(jié)果鎖存在靈敏放大器SA中;
步驟D,當(dāng)?shù)谝粋€存儲單元Cell0的閾值比第二個存儲單元Cell1高,則第一位線BL0電壓比第二位線BL1電壓高,輸出結(jié)果為0,反之則結(jié)果為1;輸出數(shù)據(jù)時選中信號SEL為高,傳輸門打開,數(shù)據(jù)由輸入數(shù)據(jù)節(jié)點D和輸入反數(shù)據(jù)節(jié)點DB傳輸至輸出數(shù)據(jù)線DQ和輸出反數(shù)據(jù)線DQB;選中信號SEL為低,輸入數(shù)據(jù)結(jié)束,數(shù)據(jù)鎖存在靈敏放大器SA中,輸入數(shù)據(jù)節(jié)點D和輸入反數(shù)據(jù)節(jié)點DB中的信號互為反信號。
進(jìn)一步,編程操作的具體步驟如下:
存儲單元編程時,一組比較使能信號、以及第一開關(guān)信號LAT0和第二開關(guān)信號LAT1均為高,靈敏放大器SA上鎖存的輸入數(shù)據(jù)節(jié)點D和輸入反數(shù)據(jù)節(jié)點DB分別連接至差分的第二位線BL1和第一位線BL0;
當(dāng)輸入數(shù)據(jù)為1時,第一位線BL0為低電平則第一個存儲單元Cell0將被編程,第二位線BL1為高電平則第二個存儲單元Cell1為禁止編程;相反,第一位線BL0為高電平則第一個存儲單元Cell0為禁止編程,第二位線BL1為低電平則Cell1將被編程。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益的技術(shù)效果:
1.Flash的讀操作更快更可靠。本發(fā)明通過采用差分位線結(jié)構(gòu)一方面可以有效的抵消周圍環(huán)境的干擾,從而提高讀操作的可靠性增加Flash存儲器的壽命,另一方面只需要較小的位線電壓差就能進(jìn)行放大,從而減少等待位線放電的時間提高Flash存儲單元的讀取速度。
2.Flash的編程操作更快電壓更低。相比一般的Flash,本發(fā)明由于讀操作對存儲單元的閾值的要求降低,因此相應(yīng)的編程操作所采用的電壓以及需要的時間都會有所下降。
3.Flash存儲單元的壽命更長。本發(fā)明較低電壓和較短時間的編程操作能夠減小對存儲單元的干擾,并且即使有干擾,通過差分位線結(jié)構(gòu)及其配合的電壓比較器和靈敏放大器,也可以抵消一部分。
附圖說明
圖1是現(xiàn)有技術(shù)的電路原理圖。
圖2是現(xiàn)有技術(shù)的波形示意圖。
圖3是本發(fā)明實例中所述差分位線結(jié)構(gòu)的電路原理圖。
圖4是本發(fā)明實例中所述操作方法中讀操作的波形示意圖。
具體實施方式
下面結(jié)合具體的實施例對本發(fā)明做進(jìn)一步的詳細(xì)說明,所述是對本發(fā)明的解釋而不是限定。
Flash存儲單元根據(jù)閾值的高低可以區(qū)分出多個狀態(tài),一般地,擦除狀態(tài)的存儲單元的閾值較低,而編程狀態(tài)的存儲單元的閾值較高。
本發(fā)明使用2個存儲單元表示1比特的信息:在編程操作時,在一對存儲單元中選定一個進(jìn)行編程使其閾值電壓升高,而另外一個禁止編程保持低閾值;在讀取操作時,通過一對差分位線將這一對具有不同閾值的存儲單元所存儲的信息讀取出來。擦除操作和一般的Flash存儲器沒有區(qū)別。
本發(fā)明一種用于Flash存儲器的差分位線結(jié)構(gòu),使用2個不同閾值的存儲單元(Cell0和Cell1)來表示1比特的信息,電路包括一對差分位線BL0、BL1和一個數(shù)據(jù)緩沖電路Data Buffer。第一位線BL0連接至第一個存儲單元Cell0,第二位線BL1連接至第二個存儲單元Cell1。
具體的如圖3所示,包括一對差分位線BL0、BL1和一個數(shù)據(jù)緩沖電路Data Buffer。第一位線BL0連接至第一個存儲單元Cell0,第二位線BL1連接至第二個存儲單元Cell1。我們可以規(guī)定用于存儲同一比特信息的兩個存儲單元中:當(dāng)Cell0為擦除狀態(tài),Cell1為編程狀態(tài)時,表示數(shù)據(jù)1;當(dāng)Cell0為編程狀態(tài),Cell1為擦除狀態(tài)時,表示數(shù)據(jù)0。當(dāng)然數(shù)據(jù)0、1的規(guī)定也可以反過來。
每個Data Buffer中包括兩個電壓比較器VC0、VC1和一個靈敏放大器SA。
其中第一電壓比較器VC0連接至第一位線BL0和第一數(shù)據(jù)節(jié)點S0,VC0的控制信號包括BL_SEL0、VLOW0和VPRE0;第二電壓比較器VC1連接至第二位線BL1和第二數(shù)據(jù)節(jié)點S1,VC1的控制信號包括BL_SEL1、VLOW1和VPRE1;SA的數(shù)據(jù)輸入端連接至S0和S1,數(shù)據(jù)輸出端連接至DQ和DQB,SA的控制信號包括LAT0、LAT1、LEN、LENX和SEL。
電壓比較器對輸入位線的電壓和參考電壓Vref的高低進(jìn)行比較,并將結(jié)果輸出至數(shù)據(jù)節(jié)點。在每個電壓比較器中,第一比較晶體管由一組位線選擇信號(BL_SEL0和BL_SEL1)控制連接對應(yīng)的位線(BL0和BL1)和位線電源VBLCTRL;第二比較晶體管由一組比較使能信號(VLOW0和VLOW1)控制連接對應(yīng)的位線和數(shù)據(jù)節(jié)點(S0和S1);比較使能信號VLOW0和VLOW1為高電平,其電壓值為Vref+Vtn,其中Vtn是第二比較晶體管的閾值電壓。數(shù)據(jù)節(jié)點S0和S1上分別連接有電容;第三比較晶體管由一組數(shù)據(jù)節(jié)點充電信號(VPRE0和VPRE1)控制連接對應(yīng)的數(shù)據(jù)節(jié)點和工作電壓VDD。
靈敏放大器SA一方面可以將一對差分位線上的電壓差放大,另一方面能夠在放大結(jié)束后將結(jié)果數(shù)據(jù)保持,具有數(shù)據(jù)鎖存器的功能。在SA中,第一反相器的輸入連接至DB,使能信號連接至LEN,輸出連接至D;第二反相器的輸入連接至D,使能信號連接至LENX,輸出連接至DB;第一晶體管由開關(guān)信號LAT0控制連接數(shù)據(jù)節(jié)點S0和DB;第二晶體管由開關(guān)信號LAT1控制連接數(shù)據(jù)節(jié)點S1和D;第三晶體管由選中信號SEL控制連接DB和數(shù)據(jù)輸出DQB;第四晶體管由選中信號SEL控制連接D和數(shù)據(jù)輸出DQ。
基于以上所述電路,采用一種用于Flash存儲器的差分位線結(jié)構(gòu)的操作方法包括以下:
一、讀取操作。首先BL_SEL0和BL_SEL1電壓為0,VLOW0和VLOW1為高電壓Vpre+Vtn,VPRE0和VPRE1為電源電壓VCC,從而可以通過電壓比較器將位線BL0和BL1充電至Vpre。然后VLOW0和VLOW1為0將BL和數(shù)據(jù)節(jié)點斷開。位線通過存儲單元開始放電。同時通過升高VPRE0、VPRE1和SA的開關(guān)信號LAT0、LAT1的電壓將數(shù)據(jù)節(jié)點S0、S1和SA的內(nèi)部節(jié)點D、DB充電至工作電壓VDD。由于擦除狀態(tài)的存儲單元所連接的BL的電壓下降的比編程狀態(tài)的存儲單元所連接的BL的電壓更快。經(jīng)過一段時間后差分位線BL0和BL1上將累積一定的電壓差ΔVbl。最后將VLOW0和VLOW1置為高電平VCC將位線和SA連接起來,并將SA的使能信號LEN、LENX置為有效的高電平,靈敏放大器開始工作將電壓差放大,并將結(jié)果鎖存在SA中。如果Cell0的閾值比Cell1高,則BL0電壓比BL1電壓高,輸出結(jié)果為0,反之則結(jié)果為1。輸出數(shù)據(jù)時選中信號SEL為高,傳輸門打開,數(shù)據(jù)由D、DB傳輸至數(shù)據(jù)線DQ、DQB。
二、編程操作。一般地,F(xiàn)lash存儲器在編程操作時,存儲單元將被編程或是禁止編程(即保持擦除狀態(tài))是由所連接的位線的電壓決定的,而位線的電壓則由輸入數(shù)據(jù)決定。輸入數(shù)據(jù)時,SA的使能信號LEN、LENX置為有效的高電平,SA作為數(shù)據(jù)鎖存器使用。選中信號SEL為高,傳輸門打開,數(shù)據(jù)由數(shù)據(jù)線DQ、DQB輸入至D、DB。選中信號SEL為低,輸入數(shù)據(jù)結(jié)束,數(shù)據(jù)鎖存在SA中,并且D和DB互為反信號。若輸入數(shù)據(jù)為1,則D為1,DB為0;若輸入數(shù)據(jù)為0,則D為0,DB為1。存儲單元編程時,VLOW0、WLOW1和LAT0、LAT1都為高,SA上鎖存的數(shù)據(jù)D、DB分別連接至差分位線的BL1和BL0。因此當(dāng)輸入數(shù)據(jù)為1時,BL0為低電平則Cell0將被編程,BL1為高電平則Cell1為禁止編程。相反,BL0為高電平則Cell0為禁止編程,BL1為低電平則Cell1將被編程。
編程操作中一般需要做編程驗證(Program Verify),以判斷編程操作是否成功。雖然本發(fā)明中每個比特使用了兩個存儲單元,但是編程驗證時這兩個存儲單元是獨立進(jìn)行驗證的。由于有兩個獨立的電壓比較器VC0、VC1,因此單獨每一個單元的編程驗證和一般Flash的編程驗證是一樣的,使用VC0對BL0連接的存儲單元進(jìn)行驗證,使用VC1對BL1連接的存儲單元進(jìn)行驗證。最終只有當(dāng)所有的存儲單元都通過驗證,編程操作才算成功,否則即為失敗。
三、擦除操作。擦除操作時需要將所有的存儲單元都擦除,這和一般的Flash是一樣的。同樣的還有擦除驗證(Erase Verify),使用兩個獨立的電壓比較器VC0、VC1對所有的存儲單元進(jìn)行驗證,只有當(dāng)所有的存儲單元都通過驗證,擦除操作才算成功,否則即為失敗。
參見圖4,圖4是本發(fā)明讀操作的波形示意圖,表示的讀數(shù)據(jù)0。首先位線BL0和BL1充電至Vpre。從T0時刻開始,存儲單元開始對位線進(jìn)行放電。由于處于編程狀態(tài)的Cell0的閾值高于處于擦除狀態(tài)的Cell1的閾值,因此BL0的放電速度小于BL1的放電速度。經(jīng)過一段時間,在T1’時刻,兩個差分位線之間已經(jīng)具有電壓差ΔVbl,SA開始工作。SA的放大結(jié)果:D為0,DB為1。在T2’時刻,SA的數(shù)據(jù)傳輸門打開,數(shù)據(jù)輸出至數(shù)據(jù)線DQ,DQB。