本發(fā)明屬于微電子學(xué)技術(shù)領(lǐng)域,更具體地,涉及一種基于相變存儲(chǔ)器實(shí)現(xiàn)雙向數(shù)字運(yùn)算的電路及方法。
背景技術(shù):
相變存儲(chǔ)器利用相變材料在晶態(tài)與非晶態(tài)之間有顯著電阻值差異的特性:相變材料處于晶態(tài)時(shí)原子排列規(guī)律、長(zhǎng)程有序,電阻值低;相變材料處于非晶態(tài)時(shí),原子排列不規(guī)律、短程有序,電阻值高,通過(guò)對(duì)相變存儲(chǔ)器施加電壓脈沖改變其電阻高低,在不同電阻狀態(tài)間切換,從而應(yīng)用于相變存儲(chǔ)器的工作。
相變存儲(chǔ)器的寫(xiě)入需要溫度滿足熔點(diǎn)和結(jié)晶溫度的要求,因此需要相對(duì)高的電壓和電流來(lái)維持?jǐn)?shù)據(jù)寫(xiě)入。目前可以通過(guò)對(duì)相變材料施加脈沖精確控制相變材料的溫度,從而實(shí)現(xiàn)對(duì)相變材料非晶化率及電阻值的精確控制,最終實(shí)現(xiàn)電阻值隨施加脈沖數(shù)線性變化。利用雙向剪裁技術(shù),RESET和SET動(dòng)作分別控制相變存儲(chǔ)器單元非晶化和晶化。SET動(dòng)作發(fā)出正脈沖使相變存儲(chǔ)器單元非晶化,RESET動(dòng)作發(fā)出負(fù)脈沖使非晶化退化,即晶化。
相變存儲(chǔ)器與傳統(tǒng)的非易失存儲(chǔ)器結(jié)構(gòu)相比,具有更長(zhǎng)的耐久性、更快的寫(xiě)入速度,且具有成本低和尺寸精簡(jiǎn)的優(yōu)越性,良好地彌補(bǔ)了傳統(tǒng)存儲(chǔ)器功耗大、集成度低、成本高和讀寫(xiě)速度慢的缺陷。傳統(tǒng)馮諾曼結(jié)構(gòu)的計(jì)算器與存儲(chǔ)器分離,而更高速有效的計(jì)算方式需要計(jì)算存儲(chǔ)一體化的結(jié)構(gòu)。因此,通過(guò)雙向剪裁和相變材料非晶化率線性連續(xù)變化精確控制的技術(shù),實(shí)現(xiàn)雙向數(shù)值運(yùn)算的計(jì)算存儲(chǔ)一體化結(jié)構(gòu)是今后研究的方向。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明提供了一種基于相變存儲(chǔ)器實(shí)現(xiàn)雙向數(shù)字運(yùn)算的方法,其目的在于通過(guò)采用不同極性的RESET脈沖和SET脈沖分時(shí)施加給相變存儲(chǔ)器單元,實(shí)現(xiàn)二值或多值的計(jì)算存儲(chǔ)一體化的雙向數(shù)值運(yùn)算。
本發(fā)明提供了一種基于相變存儲(chǔ)器實(shí)現(xiàn)雙向數(shù)字運(yùn)算的電路,其特征在于,包括相變存儲(chǔ)器以及與所述相變存儲(chǔ)器連接的控制電路;相變存儲(chǔ)器包括SET端和RESET端,所述RESET端用于在當(dāng)前時(shí)刻接收外部的第一脈沖信號(hào),所述SET端用于在下一個(gè)時(shí)刻接收外部的第二脈沖信號(hào),且所述第一脈沖信號(hào)的幅值大于所述第二脈沖信號(hào)的幅值;所述第一脈沖信號(hào)的脈寬小于所述第二脈沖信號(hào)的脈寬;控制電路包括:讀電路和比較器;所述讀電路用于讀取所述相變存儲(chǔ)器的阻值,所述比較器用于將所述相變存儲(chǔ)器的阻值與預(yù)先設(shè)置的參考阻值進(jìn)行比較,并根據(jù)比較結(jié)果輸出數(shù)字運(yùn)算結(jié)果。
更進(jìn)一步地,所述相變存儲(chǔ)器包括:下電極、相變層、上電極和襯底;所述下電極、相變層和上電極采用T型結(jié)構(gòu),使相變區(qū)對(duì)輸入脈沖的響應(yīng)更線性化。
更進(jìn)一步地,所述上電極和下電極的材料均為鈦鎢材料,所述相變層為硫系化合物合金Ge2Sb2Te5材料。
本發(fā)明還提供了一種基于上述的相變存儲(chǔ)器實(shí)現(xiàn)雙向數(shù)字運(yùn)算電路進(jìn)行邏輯運(yùn)算的方法,包括下述步驟:
(1)通過(guò)在所述相變存儲(chǔ)器的RESET端施加一個(gè)非晶化脈沖信號(hào),使得所述相變存儲(chǔ)器的初始化阻值為1/2(Rmax+Rmin);非晶化脈沖信號(hào)使所述相變存儲(chǔ)器的相變材料發(fā)生非晶化轉(zhuǎn)變,調(diào)制非晶化脈沖的幅值與脈寬等參數(shù)可控制相變存儲(chǔ)器的非晶化率,即等效于控制相變存儲(chǔ)器的阻值。
(2)根據(jù)所述初始化阻值獲得參考阻值1/2(Rmax+Rmin);
(3)當(dāng)前時(shí)刻在所述相變存儲(chǔ)器的RESET端施加第一脈沖信號(hào),下一個(gè)時(shí)刻在所述相變存儲(chǔ)器的SET端施加第二脈沖信號(hào),并讀取所述相變存儲(chǔ)器的運(yùn)算阻值;
(4)將所述運(yùn)算阻值與所述參考阻值進(jìn)行比較,并根據(jù)比較結(jié)果輸出邏輯運(yùn)算結(jié)果。
更進(jìn)一步地,當(dāng)進(jìn)行邏輯與運(yùn)算時(shí),當(dāng)所述運(yùn)算阻值大于所述參考阻值時(shí),輸出邏輯值“1”,當(dāng)所述運(yùn)算阻值小于或等于所述參考阻值時(shí),輸出邏輯值“0”;當(dāng)進(jìn)行邏輯或運(yùn)算時(shí),當(dāng)所述運(yùn)算阻值大于或等于所述參考阻值時(shí),輸出邏輯值“1”,當(dāng)所述運(yùn)算阻值小于所述參考阻值時(shí),輸出邏輯值“0”;當(dāng)進(jìn)行邏輯非運(yùn)算時(shí),當(dāng)所述運(yùn)算阻值小于所述參考阻值時(shí),輸出邏輯值“1”,當(dāng)所述運(yùn)算阻值大于所述參考阻值時(shí),輸出邏輯值“0”;當(dāng)進(jìn)行邏輯異或運(yùn)算時(shí),當(dāng)所述運(yùn)算阻值等于所述參考阻值時(shí),輸出邏輯值“1”,當(dāng)所述運(yùn)算阻值大于或小于所述參考阻值時(shí),輸出邏輯值“0”;當(dāng)進(jìn)行邏輯與非運(yùn)算時(shí),當(dāng)所述運(yùn)算阻值小于或等于所述參考阻值時(shí),輸出邏輯值“1”,當(dāng)所述運(yùn)算阻值大于所述參考阻值時(shí),輸出邏輯值“0”;當(dāng)進(jìn)行邏輯或非運(yùn)算時(shí),當(dāng)所述運(yùn)算阻值小于所述參考阻值時(shí),輸出邏輯值“1”,當(dāng)所述運(yùn)算阻值大于或等于所述參考阻值時(shí),輸出邏輯值“0”。
本發(fā)明還提供了一種基于相變存儲(chǔ)器實(shí)現(xiàn)雙向數(shù)字運(yùn)算的電路,包括相變存儲(chǔ)器以及與所述相變存儲(chǔ)器連接的控制電路;
所述相變存儲(chǔ)器包括:n個(gè)相變存儲(chǔ)單元,第i個(gè)相變存儲(chǔ)單元包括:第一信號(hào)輸入端RESET、第二信號(hào)輸入端SET、第一反饋端、第二反饋端和輸出端;所述第一信號(hào)輸入端RESET用于在當(dāng)前時(shí)刻接收外部的第一脈沖信號(hào),所述第二信號(hào)輸入端SET用于在下一個(gè)時(shí)刻接收外部的第二脈沖信號(hào),且所述第一脈沖信號(hào)的幅值大于所述第二脈沖信號(hào)的幅值;所述第一脈沖信號(hào)的脈寬小于所述第二脈沖信號(hào)的脈寬;所述控制電路包括:n個(gè)控制單元,第i個(gè)控制單元包括:第一控制信號(hào)輸出端,第二控制信號(hào)輸出端、第三控制信號(hào)輸出端、第四控制信號(hào)輸出端、讀輸入端和數(shù)值輸出端;i為1,2,……n的正整數(shù);第i個(gè)控制單元的第一控制信號(hào)輸出端與第i個(gè)相變存儲(chǔ)單元的第一反饋端連接,用于當(dāng)?shù)趇個(gè)相變存儲(chǔ)單元的阻值為最小值時(shí)輸出控制所述第i個(gè)相變存儲(chǔ)單元的阻值為滿值的第一控制信號(hào);第i個(gè)控制單元的第二控制信號(hào)輸出端與第i個(gè)相變存儲(chǔ)單元的第二反饋端連接,用于當(dāng)所述第i個(gè)相變存儲(chǔ)單元的阻值為最大值時(shí)輸出控制所述第i個(gè)相變存儲(chǔ)單元的阻值為最小值的第二控制信號(hào);第i個(gè)控制單元的第三控制信號(hào)輸出端與第i+1個(gè)相變存儲(chǔ)單元的第一信號(hào)輸入端RESET連接,用于當(dāng)所述第i個(gè)相變存儲(chǔ)單元的阻值為最大值時(shí)輸出控制第i+1個(gè)相變存儲(chǔ)單元的數(shù)值加1的第三控制信號(hào);第i個(gè)控制單元的第四控制信號(hào)輸出端與第i+1個(gè)相變存儲(chǔ)單元的第二信號(hào)輸入端SET連接,用于當(dāng)所述第i個(gè)相變存儲(chǔ)單元的阻值為最小值時(shí)輸出控制第i+1個(gè)相變存儲(chǔ)單元的數(shù)值減1的第四控制信號(hào);第i個(gè)控制單元的讀輸入端用于讀取第i個(gè)相變存儲(chǔ)單元的阻值;第i個(gè)控制單元的數(shù)值輸出端用于輸出數(shù)值運(yùn)算結(jié)果。
更進(jìn)一步地,所述控制單元包括:讀電路、比較器和控制器;所述讀電路的輸入端作為所述控制單元的讀輸入端,所述比較器的輸入端連接至所述讀電路的輸出端,所述比較器的輸出端作為所述控制單元的數(shù)值輸出端;所述控制器包括四個(gè)輸出端分別作為所述控制單元的第一控制信號(hào)輸出端、第二控制信號(hào)輸出端、第三控制信號(hào)輸出端和第四控制信號(hào)輸出端。
本發(fā)明還提供了一種基于上述的電路實(shí)現(xiàn)加法數(shù)值運(yùn)算的方法,包括下述步驟:
(1)在第1個(gè)相變存儲(chǔ)單元的第一信號(hào)輸入端RESET輸入X個(gè)第一脈沖信號(hào);
(2)判斷此時(shí)第i個(gè)相變存儲(chǔ)單元的阻值是否等于最大阻值,若是,則進(jìn)入步驟(5),若否,則進(jìn)入步驟(3);i=1;
(3)在第1個(gè)相變存儲(chǔ)單元的第一信號(hào)輸入端RESET輸入Y個(gè)中剩余未被輸入的第一脈沖信號(hào);
(4)判斷此時(shí)第i個(gè)相變存儲(chǔ)單元的阻值是否等于最大阻值,若是,則進(jìn)入步驟(5),若否,則進(jìn)入步驟(7);
(5)通過(guò)第i個(gè)控制單元的第二控制信號(hào)輸出端輸出的第二控制信號(hào)使得所述第i個(gè)相變存儲(chǔ)單元的阻值最??;并通過(guò)第i個(gè)控制單元的第三控制信號(hào)輸出端輸出的第三控制信號(hào)使得所述第i+1個(gè)相變存儲(chǔ)單元的數(shù)值加1;i=i+1;
(6)判斷此時(shí)第i個(gè)相變存儲(chǔ)單元的阻值是否等于最大阻值,若是,則返回至步驟(5);若否,則在第1個(gè)相變存儲(chǔ)單元的第一信號(hào)輸入端RESET繼續(xù)輸入X個(gè)中剩余未被輸入的第一脈沖信號(hào),并返回至步驟(2);
(7)獲得X+Y的數(shù)值運(yùn)算結(jié)果。
本發(fā)明還提供了一種基于上述的電路實(shí)現(xiàn)減法數(shù)值運(yùn)算的方法,包括下述步驟:
(1)在第1個(gè)相變存儲(chǔ)單元的第一信號(hào)輸入端RESET輸入X個(gè)第一脈沖信號(hào);
(2)判斷此時(shí)第i個(gè)相變存儲(chǔ)單元的阻值是否等于最大阻值,若是,則進(jìn)入步驟(5),若否,則進(jìn)入步驟(3);i=1;
(3)在第1個(gè)相變存儲(chǔ)單元的第二信號(hào)輸入端SET輸入Y個(gè)中剩余未被輸入的第二脈沖信號(hào);
(4)判斷此時(shí)第j個(gè)相變存儲(chǔ)單元的阻值是否等于最小阻值,若是,則進(jìn)入步驟(7),若否,則進(jìn)入步驟(9);X大于Y;j=1;
(5)通過(guò)第i個(gè)控制單元的第二控制信號(hào)輸出端輸出的第二控制信號(hào)使得所述第i個(gè)相變存儲(chǔ)單元的阻值最?。徊⑼ㄟ^(guò)第i個(gè)控制單元的第三控制信號(hào)輸出端輸出的第三控制信號(hào)使得所述第i+1個(gè)相變存儲(chǔ)單元的數(shù)值加1;i=i+1;
(6)判斷此時(shí)第i個(gè)相變存儲(chǔ)單元的阻值是否等于最大阻值,若是,則返回至步驟(5);若否,則在第1個(gè)相變存儲(chǔ)單元的第一信號(hào)輸入端RESET繼續(xù)輸入X個(gè)中剩余未被輸入的第一脈沖信號(hào),并返回至步驟(2);
(7)通過(guò)第j個(gè)控制單元的第一控制信號(hào)輸出端輸出的第一控制信號(hào)使得所述第j個(gè)相變存儲(chǔ)單元的阻值最大;且通過(guò)第j個(gè)控制單元的第四控制信號(hào)輸出端輸出的第四控制信號(hào)使得所述第j+1個(gè)相變存儲(chǔ)單元的數(shù)值減一;j=j(luò)+1;
(8)判斷此時(shí)第j個(gè)相變存儲(chǔ)單元的阻值是否等于最小阻值,若是,則返回至步驟(7);若否,則返回至步驟(3);
(9)獲得X-Y的數(shù)值運(yùn)算結(jié)果。
通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案,與現(xiàn)有技術(shù)相比,由于將存儲(chǔ)器與計(jì)算器合并為一體,存儲(chǔ)操作與運(yùn)算操作并行,構(gòu)建了一種新型CPU系統(tǒng),通過(guò)采用不同極性的RESET脈沖和SET脈沖分時(shí)施加給相變存儲(chǔ)器單元,實(shí)現(xiàn)二值或多值的計(jì)算存儲(chǔ)一體化的雙向數(shù)值運(yùn)算的同時(shí)能夠取得有效提升CPU運(yùn)行速度的有益效果。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明實(shí)施例的相變存儲(chǔ)器單元的結(jié)構(gòu)圖。
圖2代表相變存儲(chǔ)器單元中相變材料的阻值與施加脈沖的線性關(guān)系。
圖3是各輸入脈沖信號(hào)幅值與對(duì)應(yīng)溫度的關(guān)系。
圖4是根據(jù)本發(fā)明實(shí)施例的一種相變計(jì)算存儲(chǔ)器結(jié)構(gòu)的示意性框圖。
圖5(a)是進(jìn)行邏輯運(yùn)算時(shí)輸入布爾值1所需要的RESET脈沖信號(hào)示意圖,圖5(b)是進(jìn)行邏輯運(yùn)算時(shí)輸入布爾值0所需要的SET脈沖信號(hào)示意圖。
圖6是根據(jù)本發(fā)明實(shí)施例的另一種相變計(jì)算存儲(chǔ)器結(jié)構(gòu)的示意性框圖。
圖7(a)是進(jìn)行加法運(yùn)算時(shí)輸入加數(shù)和被加數(shù)所需的RESET脈沖信號(hào)示意圖,圖7(b)是進(jìn)行加法運(yùn)算時(shí)相變存儲(chǔ)器單元滿值后繼續(xù)疊加所需的清零脈沖信號(hào)示意圖,圖7(c)是進(jìn)行加法運(yùn)算時(shí)相變存儲(chǔ)器單元滿值后向下一單元進(jìn)位所需的進(jìn)位脈沖信號(hào)示意圖。
圖8(a)是進(jìn)行減法運(yùn)算時(shí)輸入被減數(shù)所需的RESET脈沖信號(hào)示意圖,圖8(b)是進(jìn)行減法運(yùn)算時(shí)輸入減數(shù)所需的SET脈沖信號(hào)示意圖,圖8(c)是進(jìn)行減法運(yùn)算時(shí)相變存儲(chǔ)器單元減至零值時(shí)向上一單元借位所需的借位脈沖信號(hào)示意圖,圖8(d)是進(jìn)行減法運(yùn)算時(shí)相變存儲(chǔ)器單元減至零值時(shí)向上一單元借位后使本單元滿值的滿值脈沖信號(hào)示意圖。
圖9(a)為模擬進(jìn)行一個(gè)加法數(shù)字運(yùn)算過(guò)程的仿真示意圖;圖9(b)為模擬進(jìn)行一個(gè)加法數(shù)字運(yùn)算結(jié)果的仿真示意圖。
圖10為一個(gè)減法的數(shù)字運(yùn)算模擬實(shí)例。
圖11為一個(gè)邏輯運(yùn)算模擬實(shí)例。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
相變存儲(chǔ)器至今仍主要應(yīng)用于信息存儲(chǔ)領(lǐng)域,然而目前已有技術(shù)可實(shí)現(xiàn)相變存儲(chǔ)器非晶化率的線性調(diào)制,且相變材料電阻值與非晶化率線性相關(guān),按阻值變化可表現(xiàn)多態(tài),因此利用相變存儲(chǔ)器亦可能實(shí)現(xiàn)計(jì)算功能,完成計(jì)算存儲(chǔ)一體化的技術(shù)進(jìn)步。
本發(fā)明提供了一種基于相變存儲(chǔ)器雙向數(shù)值運(yùn)算的方法,其目的在于采用不同極性的RESET脈沖和SET脈沖分時(shí)施加給相變存儲(chǔ)器單元,使相變存儲(chǔ)器單元晶態(tài)非晶態(tài)線性變化,表征為相變存儲(chǔ)器單元電阻值的線性變化,以實(shí)現(xiàn)二值或多值的計(jì)算存儲(chǔ)一體化的雙向數(shù)值運(yùn)算。
本發(fā)明提供了一種基于相變存儲(chǔ)器雙向數(shù)值運(yùn)算的方法,包括下述步驟:
通過(guò)在相變計(jì)算存儲(chǔ)器單元兩極上分別施加不同極性的RESET脈沖和SET脈沖,調(diào)制RESET脈沖和SET脈沖的幅值、脈寬及脈沖間隔,使相變存儲(chǔ)器單元的非晶化率隨之線性變化。
其中,基于相變存儲(chǔ)器實(shí)現(xiàn)二值雙向邏輯運(yùn)算的方法包括下述步驟:
相變計(jì)算存儲(chǔ)器的結(jié)構(gòu)包括單個(gè)相變存儲(chǔ)器單元和讀電路。相變存儲(chǔ)器單元包括配置為進(jìn)行數(shù)據(jù)計(jì)算與存儲(chǔ)的相變存儲(chǔ)器元件,控制電路包括讀電路、比較器、控制器。
首先利用相變存儲(chǔ)器單元電阻值隨施加脈沖數(shù)線性變化且可逆的特性,適當(dāng)?shù)倪x取中間阻值,劃分相變存儲(chǔ)器單元中高阻區(qū)和低阻區(qū),代表邏輯運(yùn)算中的布爾值0和1。
然后,定義RESET端輸入一個(gè)脈沖即為輸入1,SET端輸入一個(gè)脈沖即為輸入0。相變存儲(chǔ)器兩端輸入信號(hào)包括:1/0、0/1、0/0、1/1。
輸入一組脈沖后,根據(jù)與、或、非等不同邏輯運(yùn)算的需要選取合適的參考阻值,由讀電路讀取輸入脈沖后相變存儲(chǔ)器單元的電阻值,送入比較器比較該電阻值和參考阻值,最后輸出運(yùn)算結(jié)果。
其中,基于相變存儲(chǔ)器實(shí)現(xiàn)多值雙向數(shù)值運(yùn)算的方法包括下述步驟:
相變計(jì)算存儲(chǔ)器結(jié)構(gòu)包括相變存儲(chǔ)器單元、控制電路。相變計(jì)算存儲(chǔ)器由一行多個(gè)相變存儲(chǔ)器單元構(gòu)成,每個(gè)相變存儲(chǔ)器單元包括配置為進(jìn)行數(shù)據(jù)計(jì)算與存儲(chǔ)的相變存儲(chǔ)器元件,以及連接到該相變存儲(chǔ)器元件和選擇該元件的選擇器件??刂齐娐钒ㄗx電路、比較器、控制器。
首先利用相變存儲(chǔ)器單元電阻值隨施加脈沖數(shù)線性變化且可逆的特性,將其電阻值按動(dòng)態(tài)電阻范圍劃分出10個(gè)區(qū)間,分別代表數(shù)字0~9。
在SET端輸入脈沖的疊加即為數(shù)值加法過(guò)程,RESET端輸入負(fù)脈沖即為數(shù)值減法過(guò)程。運(yùn)算結(jié)果存儲(chǔ)在相變存儲(chǔ)器單元,以阻值形式表示,由讀電路讀取輸入脈沖后相變存儲(chǔ)器單元的電阻值,送入比較器比較該電阻值和參考阻值,最后輸出運(yùn)算結(jié)果。
本發(fā)明的有益效果如下:通過(guò)提出一種基于相變存儲(chǔ)器的雙向數(shù)值運(yùn)算的方法,實(shí)現(xiàn)區(qū)別于傳統(tǒng)馮諾依曼結(jié)構(gòu)計(jì)算的高速讀寫(xiě)計(jì)算,集計(jì)算器與存儲(chǔ)器于一體,精簡(jiǎn)器件結(jié)構(gòu),提升計(jì)算效率。
通過(guò)下述詳細(xì)說(shuō)明并結(jié)合附圖,并以示例的方式闡述本發(fā)明的原理,講述了本發(fā)明實(shí)施例的其他方面和優(yōu)點(diǎn)。
可以容易地理解,可以多種不同的結(jié)構(gòu)對(duì)本文中一般性描述以及所附附圖中示出實(shí)施例的元件進(jìn)行布置和設(shè)計(jì)。因此,如附圖中所呈現(xiàn)的下述多個(gè)實(shí)施例的以下具體描述不限制本發(fā)明的范圍,而是僅代表多種實(shí)施方式。雖然附圖中呈現(xiàn)了實(shí)施例的多個(gè)方面,但是附圖不必按比例繪制,除非特別指出。
所述實(shí)施例在所有方面都認(rèn)為僅是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求表示,而不是由該詳細(xì)說(shuō)明表示。落入權(quán)利要求等價(jià)物的含義和范國(guó)內(nèi)的所有改變都包含在這些權(quán)利要求的范圍內(nèi)。
本說(shuō)明書(shū)中對(duì)特征、優(yōu)點(diǎn)或類似語(yǔ)言的提及不意味者通過(guò)本發(fā)明實(shí)現(xiàn)的所有的特征和優(yōu)點(diǎn)應(yīng)該或者實(shí)際屬于任何單個(gè)實(shí)施例中。相反,提及這些特征和優(yōu)點(diǎn)的語(yǔ)言應(yīng)理解為,意味著在某個(gè)實(shí)施例中描述的具體特征、優(yōu)點(diǎn)或特性也包含在至少一個(gè)實(shí)施例中。因此,本說(shuō)明書(shū)中有關(guān)這些特征、優(yōu)點(diǎn)以及類似語(yǔ)言的討論可以但是不必指相同的實(shí)施例。
此外,本發(fā)明所描述的特征、優(yōu)點(diǎn)和特性可以用任何適當(dāng)?shù)姆绞皆谝粋€(gè)或多個(gè)實(shí)施例中組合。相關(guān)領(lǐng)域的技術(shù)人員在本說(shuō)明書(shū)的啟發(fā)下將認(rèn)識(shí)到,即使缺乏某特定實(shí)施例的具體特征或優(yōu)點(diǎn)的一個(gè)或多個(gè)也可以實(shí)現(xiàn)本發(fā)明。在其它情況下,在某些實(shí)施例中可以認(rèn)識(shí)到的附加特征和優(yōu)點(diǎn)可能不存在于本發(fā)明的所有實(shí)施例中。
在本說(shuō)明書(shū)中提及“一個(gè)實(shí)施例”、“某實(shí)施例”或類似的語(yǔ)言表示結(jié)合所指出的實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包括在至少一個(gè)實(shí)施例中。因此,在本說(shuō)明書(shū)中,有關(guān)“在一個(gè)實(shí)施例中”、“在某實(shí)施例中”或類似語(yǔ)言的表述可能但非必須全部指的是相同的實(shí)施例。
圖1是根據(jù)本發(fā)明實(shí)施例的相變存儲(chǔ)器單元的結(jié)構(gòu)圖。圖中其上電極和下電極1都是由Tiw構(gòu)成,隔離層2都為SiO2材料,相變單元中相變層3材料為GST材料,襯底4為Si材料。
圖2代表相變存儲(chǔ)器單元中相變材料的阻值與施加脈沖的線性關(guān)系。相變存儲(chǔ)器單元電阻值隨施加脈沖數(shù)線性變化,且所述電阻值為非易失性參數(shù),因而可以實(shí)現(xiàn)二值或多值的計(jì)算和存儲(chǔ)。
圖3是各輸入脈沖信號(hào)幅值與對(duì)應(yīng)溫度的關(guān)系。輸入脈沖幅值越大,相變存儲(chǔ)器單元的溫度越高。RESET端輸入脈沖,即非晶化脈沖,幅值較高,使相變存儲(chǔ)器單元溫度高于相變材料熔點(diǎn),使材料非晶化。SET端輸入脈沖,即晶化脈沖,幅值稍低,但能相變存儲(chǔ)器單元溫度高于晶化溫度,使材料晶化。讀電路在相變存儲(chǔ)器兩端所加電壓很小,低于熔點(diǎn)和晶化溫度,避免影響相變存儲(chǔ)器單元內(nèi)的信息。
圖4是根據(jù)本發(fā)明實(shí)施例的一種相變計(jì)算存儲(chǔ)器結(jié)構(gòu)的示意性框圖;圖5(a)是進(jìn)行邏輯運(yùn)算時(shí)輸入布爾值1所需要的RESET脈沖信號(hào)示意圖,圖5(b)是進(jìn)行邏輯運(yùn)算時(shí)輸入布爾值0所需要的SET脈沖信號(hào)示意圖;該結(jié)構(gòu)中,輸入為1則從RESET端輸入一個(gè)非晶化脈沖,輸入為0則從SET端輸入一個(gè)晶化脈沖。進(jìn)行不同的邏輯運(yùn)算時(shí),相變存儲(chǔ)器單元的初始狀態(tài)各有不同。讀電路連接到相變存儲(chǔ)器單元的兩端,用來(lái)讀出相變存儲(chǔ)器單元電阻值信息,輸送到比較器與參考阻值進(jìn)行比較。
若進(jìn)行與運(yùn)算,可取相變存儲(chǔ)器單元的初始阻值狀態(tài)為中間阻值,即1/2(Rmax+Rmin),Rmax為相變存儲(chǔ)器單元最大電阻值,Rmin為相變存儲(chǔ)器單元最小電阻值。另外取參考阻值為1/2(Rmax+Rmin)。輸入布爾值1即在RESET端輸入一個(gè)脈沖信號(hào),輸入布爾值0即在SET端輸入一個(gè)脈沖信號(hào)。當(dāng)輸入與運(yùn)算的兩個(gè)運(yùn)算值分別代表的脈沖信號(hào)后,相變存儲(chǔ)器單元的電阻值隨之相應(yīng)變化。若讀電路讀出相變存儲(chǔ)器單元的電阻值經(jīng)由比較器與設(shè)定的參考阻值相比,小于或等于參考阻值時(shí),OUT端輸出與運(yùn)算結(jié)果為0;若讀電路讀出相變存儲(chǔ)器單元的電阻值經(jīng)由比較器與設(shè)定的參考阻值相比,大于參考阻值時(shí),OUT端輸出與運(yùn)算結(jié)果為1。以輸入為0與0為例,從RESET端輸入兩個(gè)晶化脈沖,相變存儲(chǔ)器單元電阻值小于參考阻值,OUT端輸出為0,即0與0等于0。輸入為1與0或0與1時(shí),相變存儲(chǔ)器單元電阻值等于參考阻值,OUT端輸出為0,即1與0或0與1等于0。輸入為1與1時(shí),相變存儲(chǔ)器單元電阻值大于參考阻值,OUT端輸出為1,即1與1等于1。
若進(jìn)行或運(yùn)算,可取相變存儲(chǔ)器單元的初始阻值狀態(tài)為中間阻值,取參考阻值為1/2(Rmax+Rmin)。輸入布爾值1即在RESET端輸入一個(gè)脈沖信號(hào),輸入布爾值0即在SET端輸入一個(gè)脈沖信號(hào)。當(dāng)輸入或運(yùn)算的兩個(gè)運(yùn)算值分別代表的脈沖信號(hào)后,相變存儲(chǔ)器單元的電阻值隨之相應(yīng)變化。若讀電路讀出相變存儲(chǔ)器單元的電阻值經(jīng)由比較器與設(shè)定的參考阻值相比,小于參考阻值時(shí),OUT端輸出或運(yùn)算結(jié)果為0;若讀電路讀出相變存儲(chǔ)器單元的電阻值經(jīng)由比較器與設(shè)定的參考阻值相比,大于或等于參考阻值時(shí),OUT端輸出或運(yùn)算結(jié)果為1。以輸入為0或0為例,從RESET端輸入兩個(gè)晶化脈沖,相變存儲(chǔ)器單元電阻值小于參考阻值,OUT端輸出為0,即0或0等于0。輸入為1或0和0或1時(shí),相變存儲(chǔ)器單元電阻值等于參考阻值,OUT端輸出為1,即1或0和0或1等于1。輸入為1或1時(shí),相變存儲(chǔ)器單元電阻值大于參考阻值,OUT端輸出為1,即1或1等于1。
若進(jìn)行非運(yùn)算,相變存儲(chǔ)器單元的初始阻值狀態(tài)為中間阻值,參考阻值取為1/2(Rmax+Rmin),當(dāng)輸入信號(hào)后相變存儲(chǔ)器單元的阻值小于參考阻值時(shí),輸出為1;當(dāng)相變存儲(chǔ)器單元的阻值大于參考阻值時(shí),輸出為0。
若進(jìn)行異或運(yùn)算,相變存儲(chǔ)器單元的初始阻值狀態(tài)為中間阻值,參考阻值取為1/2(Rmax+Rmin),當(dāng)輸入信號(hào)后相變存儲(chǔ)器單元的阻值大于或小于參考阻值時(shí),輸出為0;當(dāng)相變存儲(chǔ)器單元的阻值等于參考阻值時(shí),輸出為1。
若進(jìn)行與非運(yùn)算,相變存儲(chǔ)器單元的初始阻值狀態(tài)為中間阻值,參考阻值取為1/2(Rmax+Rmin),當(dāng)輸入信號(hào)后相變存儲(chǔ)器單元的阻值小于或等于參考阻值時(shí),輸出為1;當(dāng)相變存儲(chǔ)器單元的阻值大于參考阻值時(shí),輸出為0。
若進(jìn)行或非運(yùn)算,相變存儲(chǔ)器單元的初始阻值狀態(tài)為中間阻值,參考阻值取為1/2(Rmax+Rmin),當(dāng)輸入信號(hào)后相變存儲(chǔ)器單元的阻值小于參考阻值時(shí),輸出為1;當(dāng)相變存儲(chǔ)器單元的阻值大于或等于參考阻值時(shí),輸出為0。
圖6是根據(jù)本發(fā)明實(shí)施例的另一種相變計(jì)算存儲(chǔ)器結(jié)構(gòu)的示意性框圖。由n個(gè)一致的相變存儲(chǔ)器單元構(gòu)成,單元1代表個(gè)位,單元2代表十位,單元3代表百位,以此類推,是一個(gè)多位加減法運(yùn)算存儲(chǔ)器。
如圖6所示,以單元1為例,控制電路(CONTROLLER)經(jīng)線路3連接到到單元1兩端,控制電路中的讀電路監(jiān)測(cè)相變存儲(chǔ)器單元的相變材料電阻值信息,通過(guò)線路4和線路5將處理后的信號(hào)反饋到相變存儲(chǔ)器單元1,通過(guò)線路6和線路7連接到下一相變存儲(chǔ)器單元。
進(jìn)行加法運(yùn)算時(shí),由RESET端輸入與相加數(shù)字對(duì)應(yīng)的脈沖數(shù),當(dāng)輸入9個(gè)脈沖后,若繼續(xù)施加脈沖,設(shè)定相變存儲(chǔ)器單元1阻值已達(dá)到最大參考阻值,由比較器比較確認(rèn)后,經(jīng)由線路7向下一個(gè)相變存儲(chǔ)器單元2發(fā)送一個(gè)進(jìn)位脈沖信號(hào),使相變存儲(chǔ)器單元2數(shù)值加1,同時(shí)由5向相變存儲(chǔ)器單元1反饋一個(gè)長(zhǎng)脈沖清零信號(hào)。此時(shí)繼續(xù)向清零后的相變存儲(chǔ)器單元1輸入相加脈沖信號(hào),若脈沖數(shù)滿9則繼續(xù)向下一單元進(jìn)位,同時(shí)清零本單元。以此類推,可以通過(guò)不斷輸入脈沖完成累加。
進(jìn)行減法運(yùn)算時(shí),由RESET端先輸入被減數(shù)對(duì)應(yīng)的脈沖數(shù),被減數(shù)輸入完成后由SET端輸入減數(shù)所對(duì)應(yīng)的脈沖數(shù)。當(dāng)輸入足夠數(shù)量的脈沖后相變存儲(chǔ)器單元1達(dá)到最小電阻值,此時(shí)單元1對(duì)應(yīng)數(shù)值為0,由比較器比較確認(rèn)后,施加一個(gè)長(zhǎng)脈沖清零信號(hào)清零本單元,經(jīng)由線路6向下一個(gè)相變存儲(chǔ)器單元2發(fā)送一個(gè)借位脈沖信號(hào),使相變存儲(chǔ)器單元2數(shù)值減1,同時(shí)由線路4向相變存儲(chǔ)器單元1反饋9個(gè)RESET脈沖滿值信號(hào),使相變存儲(chǔ)器單元1代表數(shù)值為9。此時(shí)繼續(xù)向滿值后的相變存儲(chǔ)器單元1施加相減脈沖信號(hào),若單元代表數(shù)值為0,則繼續(xù)向下一單元借位,同時(shí)使本單元滿值。以此類推,可以通過(guò)不斷輸入脈沖完成相減。
圖7(a)是進(jìn)行加法運(yùn)算時(shí)輸入加數(shù)和被加數(shù)所需的RESET脈沖信號(hào)示意圖,圖7(b)是進(jìn)行加法運(yùn)算時(shí)相變存儲(chǔ)器單元滿值后繼續(xù)疊加所需的清零脈沖信號(hào)示意圖,圖7(c)是進(jìn)行加法運(yùn)算時(shí)相變存儲(chǔ)器單元滿值后向下一單元進(jìn)位所需的進(jìn)位脈沖信號(hào)示意圖。如圖所示,進(jìn)行加法運(yùn)算時(shí)各脈沖信號(hào);清零脈沖信號(hào)使相變存儲(chǔ)器元件阻值達(dá)到最小值。進(jìn)位脈沖信號(hào)為一個(gè)RESET脈沖。
圖8(a)是進(jìn)行減法運(yùn)算時(shí)輸入被減數(shù)所需的RESET脈沖信號(hào)示意圖,圖8(b)是進(jìn)行減法運(yùn)算時(shí)輸入減數(shù)所需的SET脈沖信號(hào)示意圖,圖8(c)是進(jìn)行減法運(yùn)算時(shí)相變存儲(chǔ)器單元減至零值時(shí)向上一單元借位所需的借位脈沖信號(hào)示意圖,圖8(d)是進(jìn)行減法運(yùn)算時(shí)相變存儲(chǔ)器單元減至零值時(shí)向上一單元借位后使本單元滿值的滿值脈沖信號(hào)示意圖。如圖所示,進(jìn)行減法運(yùn)算時(shí)各脈沖信號(hào);借位脈沖信號(hào)為一個(gè)SET脈沖。滿值脈沖信號(hào)為9個(gè)RESET脈沖。
圖9(a)為模擬進(jìn)行一個(gè)加法數(shù)字運(yùn)算過(guò)程的仿真示意圖;圖9(b)為模擬進(jìn)行一個(gè)加法數(shù)字運(yùn)算結(jié)果的仿真示意圖;如圖所示,一個(gè)加法的數(shù)字運(yùn)算模擬實(shí)例;該例中模擬的是3+3的加法運(yùn)算過(guò)程,選取合適的參考電阻,3個(gè)正向(RESET)脈沖與三個(gè)正向脈沖疊加后結(jié)果與6個(gè)脈沖作用后結(jié)果一致,實(shí)現(xiàn)3+3=6的加法運(yùn)算過(guò)程。
如圖10所示為一個(gè)減法的數(shù)字運(yùn)算模擬實(shí)例。該例中模擬的是9-9的減法運(yùn)算過(guò)程,選取合適的參考電阻,先輸入9個(gè)正向脈沖為被減數(shù),后施加9個(gè)反向(SET)脈沖為減數(shù),此時(shí)再接續(xù)一個(gè)清零(CLEAR)脈沖,實(shí)現(xiàn)9-9=0的減法運(yùn)算過(guò)程。
如圖11所示為一個(gè)邏輯運(yùn)算模擬實(shí)例。該例中模擬的是1與0的邏輯運(yùn)算過(guò)程,選取合適的參考電阻,輸入一個(gè)正向脈沖后,再施加一個(gè)逆向脈沖,最終阻值與參考阻值相近,約等于Rref,則1與0的邏輯運(yùn)算結(jié)果為0。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。