TWI827143B - 用於記憶體內運算之記憶體裝置 - Google Patents
用於記憶體內運算之記憶體裝置 Download PDFInfo
- Publication number
- TWI827143B TWI827143B TW111126662A TW111126662A TWI827143B TW I827143 B TWI827143 B TW I827143B TW 111126662 A TW111126662 A TW 111126662A TW 111126662 A TW111126662 A TW 111126662A TW I827143 B TWI827143 B TW I827143B
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- input
- resistor
- voltage
- memory cell
- Prior art date
Links
- 230000004044 response Effects 0.000 claims description 16
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 129
- 238000010586 diagram Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Landscapes
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
一種記憶體裝置,包括多個運算記憶胞。各運算記憶胞儲存權重值、接收輸入值且產生輸出值。各運算記憶胞包括電晶體。電晶體連接於位元線及字元線,電晶體經由位元線接收感測電流且經由字元線接收輸入電壓。,當感測電流流過電晶體時,運算記憶胞產生第一電壓差。輸入電壓對應於輸入值,第一電壓差對應於輸出值,輸出值相等於輸入值與權重值的乘積。
Description
本揭示係關於一種半導體裝置,特別有關於一種用於記憶體內運算(in-memory computing,IMC)之記憶體裝置。
隨著半導體技術的演進,常使用記憶體裝置執行記憶體內運算(in-memory computing,IMC)。並且,隨著人工智慧技術的演進,記憶體裝置執行的記憶體內運算常包括乘積運算(product operation)及加總運算(sum operation),並且結合乘積運算與加總運算以執行乘積總和(sum of product)運算。
傳統上,用於執行乘積運算與加總運算的記憶體裝置常使用「電流加總」的電路架構,係以電壓作為運算記憶胞的輸入並以電流作為運算記憶胞的輸出,以電流的總和表示總輸出值。然而,「電流加總」的電路架構必須處理每個運算記憶胞的電流輸出並且加總電流,導致「電流加總」的電路架構具有較高的電路複雜度以及較大的功耗。
因此,需對於記憶體裝置的電路架構進行改良,採用「電壓加總」或「電阻值加總」的電路架構,以電壓作為運算記憶胞的
輸出。期能降低電路複雜度及功耗,並能夠支援不同類型的乘積總和運算及邏輯運算。
根據本揭示的一方面,係提供一種記憶體裝置,包括多個運算記憶胞。各運算記憶胞儲存權重值、接收輸入值且產生輸出值。各運算記憶胞包括電晶體。電晶體連接於位元線及字元線,電晶體經由位元線接收感測電流且經由字元線接收輸入電壓。當感測電流流過電晶體時,運算記憶胞產生第一電壓差。輸入電壓對應於輸入值,第一電壓差對應於輸出值,輸出值相等於輸入值與權重值的乘積。
根據本揭示的另一方面,係提供一種記憶體裝置,包括多個運算記憶胞。各運算記憶胞儲存權重值、接收輸入值且產生輸出值。各運算記憶胞包括第一開關元件、第二開關元件、第一電阻及第二電阻。第一開關元件接收感測電流及第一輸入訊號,第一輸入訊號相關於輸入值。第一電阻串聯連接於第一開關元件,因應於第一輸入訊號,第一電阻經由第一開關元件選擇性的接收感測電流。第二開關元件接收感測電流及一第二輸入訊號,第二輸入訊號相關於輸入值。第二電阻串聯連接於第二開關元件,因應於第二輸入訊號,第二電阻經由第二開關元件選擇性的接收感測電流。當感測電流流過第一電阻時,運算記憶胞產生一第一電壓差或一第二電壓差,當該感測電流流過該第二電阻時,該運算記憶胞產生該第一電壓差或該第二電壓差,第一電壓差及第二
電壓差對應於輸出值,輸出值相等於輸入值與權重值的乘積,或輸出值相等於輸入值與權重值的邏輯運算的結果。
根據本揭示的又一方面,係提供一種記憶體裝置,包括多個運算記憶胞。各運算記憶胞儲存權重值、接收第一輸入值及第二輸入值、且產生輸出值,各運算記憶胞包括以下元件。一第一組開關元件,係因應於一第一輸入訊號及一第二輸入訊號而開啟或關閉。一第一電阻,串聯連接於該第一組開關元件,並經由該第一組開關元件選擇性的接收一感測電流。一第二組開關元件,係因應於一第三輸入訊號及一第四輸入訊號而開啟或關閉。一第二電阻,串聯連接於該第二組開關元件,並經由該第二組開關元件選擇性的接收該感測電流。一第三組開關元件,係因應於該第一輸入訊號及該第四輸入訊號而開啟或關閉。一第三電阻,串聯連接於該第三組開關元件,並經由該第三組開關元件選擇性的接收該感測電流。一第四組開關元件,係因應於該第三輸入訊號及該第二輸入訊號而開啟或關閉。一第四電阻,串聯連接於該第四組開關元件,並經由該第四組開關元件選擇性的接收該感測電流。其中,該第一輸入訊號與該第三輸入訊號相關於該第一輸入值,該第二輸入訊號與該第四輸入訊號相關於該第二輸入值,當該感測電流流過該第一電阻、該第二電阻、該第三電阻或該第四電阻時,該運算記憶胞至少產生一第一電壓差與一第二電壓差,該第一電壓差與該第二電壓差對應於該輸出值,該輸出值相等於該第一輸入值與該第二輸入值的一邏輯運算的一結果。
根據本揭示的又一方面,係提供一種記憶體裝置,包括多個運算記憶胞。各運算記憶胞儲存權重值、接收輸入值且產生輸出值。各運算記憶胞包括多工器及多個電阻。多工器接收感測電流及多個輸入訊號,此些輸入訊號相關於輸入值。多個電阻連接於多工器,因應於此些輸入訊號,此些電阻經由多工器選擇性的接收感測電流。當感測電流流過此些電阻的其中一者時,運算記憶胞至少產生第一電壓差或第二電壓差,第一電壓差及第二電壓差對應於輸出值,輸出值相等於輸入值與權重值的乘積。
透過閱讀以下圖式、詳細說明以及申請專利範圍,可見本揭示之其他方面以及優點。
I1,I2,In:感測電流
BL1,BL2,BLn:位元線
WL1,WL2,WL3,WLm:字元線
V1,V2,V3,Vm:輸入電壓
Xm,XA,XB:輸入值
Xm-1,Xm-2,A1,A1’,B1,B1’:輸入訊號
dV1n,dV2n,dVmn,dV1,dV2,dV3:電壓差
dVsum(1),dVsum(2),dVsum(n),dVsum:總電壓差
C11,C21,Cm1,C12,C22,Cm2,C1n,C2n,Cmn:運算記憶胞
C(a)-1,C(a)-2,C(a)-3:運算記憶胞
C(a)mn,C(b)mn,C(c)mn,C(d)mn:運算記憶胞
C(e)mn,C(f)mn,C(g)mn,C(h)mn:運算記憶胞
Cs:運算串
SW1~SW8:開關元件
R(a)-1,R(a)-2,R(a)-3,R(a)mn,R(c)mn:電阻
Ra,Rb,Rc,Rd:電阻
R1n,R2n,Rmn:等效阻抗
TRmn:電晶體
g:閘極
d:汲極
s:源極
M1:多工器
a1:輸入端
b0~b3:輸出端
s1,s2:控制端
100:記憶體裝置
201,202,301,302:狀態線
211,212,213,311,312,313:狀態
第1A圖為本揭示的記憶體裝置的示意圖。
第1B圖為第1A圖的記憶體裝置的第n個縱向行的運算記憶胞進行乘積總和運算的示意圖。
第2A圖為本揭示第一實施例的運算記憶胞的電路圖。
第2B圖為第2A圖的運算記憶胞的輸入電壓與感測電流的對應關係的曲線圖。
第3圖為第2A圖的運算記憶胞組成的運算串的電路圖。
第4A圖為本揭示第二實施例的運算記憶胞的電路圖。
第4B圖為第4A圖的運算記憶胞的輸入電壓與感測電流的對應關係的曲線圖。
第5圖為本揭示第三實施例的運算記憶胞的電路圖。
第6圖為本揭示第四實施例的運算記憶胞的電路圖。
第7圖為本揭示第五實施例的運算記憶胞的電路圖。
第8圖為本揭示第六實施例的運算記憶胞的電路圖。
第9圖為本揭示第七實施例的運算記憶胞的電路圖。
第10圖為本揭示第八實施例的運算記憶胞的電路圖。
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
第1A圖為本揭示的記憶體裝置100的示意圖。如第1A圖所示,記憶體裝置100包括複數個運算記憶胞C11~Cmn,此些運算記憶胞C11~Cmn設置排列為n個縱向行及m個橫向列以執行記憶體內運算(in-memory computing,IMC)。
第1個縱向行的運算記憶胞C11、C21、...、Cm1連接於位元線BL1以接收感測電流I1。第2個縱向行的運算記憶胞C12、C22、...、Cm2連接於位元線BL2以接收感測電流I2。類似的,第n個縱向行的運算記憶胞C1n、C2n、...、Cmn連接於位元線BLn以接收感測電流In。每一個縱向行的運算記憶胞可形成
NAND型的記憶字串。
並且,第1個橫向列的運算記憶胞C11、C12、...、C1n連接於字元線WL1以接收輸入電壓V1。第2個橫向列的運算記憶胞C21、C22、...、C2n連接於字元線WL2以接收輸入電壓V2。類似的,第m個橫向列的運算記憶胞Cm1、Cm2、...、Cmn連接於字元線WLm以接收輸入電壓Vm。
在運作上,感測電流I1經由字元線BL1流過第1個縱向行的運算記憶胞C11、C21、...、Cm1,以使運算記憶胞C11、C21、...、Cm1的每一者對應產生電壓差,此些電壓差可加總得到總電壓差dVsum(1),總電壓差dVsum(1)表示運算記憶胞C11、C21、...、Cm1各自的運算結果的總和。例如,總電壓差dVsum(1)表示感測電流In與運算記憶胞C11、C21、...、Cm1的等效阻抗的乘積總和(sum-of-product)。類似的,感測電流I2經由字元線BL2流過第2個縱向行的運算記憶胞C12、C22、...、Cm2以產生總電壓差dVsum(2),總電壓差dVsum(2)表示感測電流In與運算記憶胞C12、C22、...、Cm2的等效阻抗的乘積總和。感測電流In經由字元線BLn流過第n個縱向行的運算記憶胞C1n、C2n、...、Cmn以產生總電壓差dVsum(n),總電壓差dVsum(n)表示感測電流In與運算記憶胞C1n、C2n、...、Cmn的等效阻抗的乘積總和。
第1B圖為第1A圖的記憶體裝置100的第n個縱向行的運算記憶胞C1n、C2n、...、Cmn進行乘積總和運算的示意
圖。如第1B圖所示,運算記憶胞C1n、C2n、...、Cmn分別具有等效阻抗R1n、R2n、...、Rmn。運算記憶胞C1n從位元線BLn接收感測電流In,運算記憶胞C1n對應產生電壓差dV1n,電壓差dV1n相等於感測電流In與運算記憶胞C1n的等效阻抗R1n的乘積。在一種示例中,運算記憶胞C1n可儲存權重值W1n,可根據權重值W1n調整等效阻抗R1n的電阻值,並根據輸入電壓V1調整運算記憶胞C1n的操作狀態。據此,當電壓差dV1n對應於輸出值Y1n,且輸入電壓V1對應於輸入值X1時,輸出值Y1n相等於輸入值X1與權重值W1n的運算(例如為乘積運算或邏輯運算)的結果。
再者,運算記憶胞C2n儲存的權重值W2n可調整運算記憶胞C2n的等效阻抗R2n的電阻值,運算記憶胞C2n接收的輸入電壓V2(對應於輸入值X2)可調整運算記憶胞C2n的操作狀態。運算記憶胞C2n的輸出值Y2n(對應於電壓差dV2n)等於輸入值X2與權重值W2n的乘積運算或邏輯運算的結果。
類似的,運算記憶胞Cmn的輸出值Ymn(對應於電壓差dVmn)等於輸入值Xm(對應於輸入電壓Vm)與權重值Wmn的乘積運算或邏輯運算的結果。
運算記憶胞C1n、C2n、...、Cmn的電壓差dV1n、dV2n、...、dVmn的總和為總電壓差dVsum(n)。總電壓差dVsum(n)為運算記憶胞C1n、C2n、...、Cmn的輸入值X1、X2、...、Xm與權重值W1n、W2n、...、Wmn的乘積總和或邏輯運算總和。
第2A圖為本揭示第一實施例的運算記憶胞C(a)mn的電路圖。運算記憶胞C(a)mn可用於實現第1A、1B圖的記憶體裝置100的運算記憶胞C11~Cmn。運算記憶胞C(a)mn包括電晶體TRmn及電阻R(a)mn,電晶體TRmn並聯連接於電阻R(a)mn,且電阻R(a)mn具有固定電阻值。運算記憶胞C(a)mn連接於第n條位元線BLn及第m條字元線WLm。電晶體TRmn的汲極d與源極s連接於位元線BLn,電晶體TRmn的閘極g連接於字元線WLm。電阻R(a)mn亦連接於位元線BLn。
電晶體TRmn例如為浮動閘極(floating gate)電晶體。電晶體TRmn具有臨界電壓(threshold voltage)Vt,可施加編程電壓以調整臨界電壓Vt的電壓值。當電晶體TRmn在擦除狀態(erase state)時,臨界電壓Vt的電壓值為第一臨界電壓值VtL。當電晶體TRmn在編程狀態(programing state)時,臨界電壓Vt的電壓值可編程為第二臨界電壓值VtH。第二臨界電壓值VtH大於第一臨界電壓值VtL。第一臨界電壓值VtL例如為0.4V,第二臨界電壓值VtH例如為4.8V。並且,臨界電壓Vt對應於運算記憶胞C(a)mn儲存的權重值(weight value)Wmn。當臨界電壓Vt為第一臨界電壓值VtL時,對應於運算記憶胞C(a)mn儲存的權重值Wmn為「0」。當臨界電壓Vt為第二臨界電壓值VtH時,對應於運算記憶胞C(a)mn儲存的權重值Wmn為「1」。
電晶體TRmn的閘極g可經由字元線WLm接收輸入電壓Vm。輸入電壓Vm對應於運算記憶胞C(a)mn接收的輸入
值Xm。當輸入電壓Vm的電壓值為第一輸入電壓值VL時,對應於輸入值Xm為「1」。當輸入電壓Vm的電壓值為第二輸入電壓值VH時,對應於輸入值Xm為「0」。第二輸入電壓值VH大於第一輸入電壓值VL。第二輸入電壓值VH例如為3V。第一輸入電壓值VL例如為-1V。並且,第二輸入電壓值VH大於第二臨界電壓值VtH以及第一臨界電壓值VtL。再者,第一輸入電壓值VL小於第二臨界電壓值VtH且大於第一臨界電壓值VtL。
運算記憶胞C(a)mn可經由位元線BLn接收感測電流In。感測電流In可流過電晶體TRmn及/或電阻R(a)mn,以使運算記憶胞C(a)mn在電晶體TRmn的汲極d與源極s之間產生電壓差dVmn。電壓差dVmn為運算記憶胞C(a)mn的輸出電壓,電壓差dVmn對應於運算記憶胞C(a)mn的輸出值Yn。在運作上,因應於不同電壓值的輸入電壓Vm及臨界電壓Vt,運算記憶胞C(a)mn可產生不同電壓值的電壓差dVmn及對應的輸出值Yn。表1-1所示為提供不同的輸入電壓Vm及臨界電壓Vt的狀況下,運算記憶胞C(a)mn產生的電壓差dVmn及對應的輸出值Yn:
參見表1-1,當運算記憶胞C(a)mn接收的輸入電壓Vm為第二輸入電壓值VH、且電晶體TRmn的臨界電壓Vt為第一臨界電壓值VtL或第二臨界電壓值VtH時,由於輸入電壓Vm大於臨界電壓Vt,因此電晶體TRmn為開啟狀態(turned-on)(即,導通狀態)。在此狀況下,感測電流In可流過電晶體TRmn及電阻R(a)mn,運算記憶胞C(a)mn的等效阻抗為電晶體TRmn本身的等效電阻值Rtr並聯於電阻R(a)mn。在一種示例中,電阻R(a)mn的電阻值遠大於電晶體TRmn的等效電阻值Rtr,因而運算記憶胞C(a)mn的等效阻抗大致相等於電晶體TRmn的等效電阻值Rtr。據此,運算記憶胞C(a)mn產生的電壓差dVmn為第一電壓差dVs,第一電壓差dVs大致相等於感測電流In的電流值與電晶體TRmn的等效電阻值Rtr的乘積,如式(1)所示。由於電晶體TRmn的等效電阻值Rtr非常小,第一電壓差dVs的電壓值非常小(即,趨近於0V)。第一電壓差dVs對應的輸出值Yn為「0」。
dVmn=dVs=In×Rtr (1)
另一方面,當運算記憶胞C(a)mn接收的輸入電壓Vm為第一輸入電壓值VL、且電晶體TRmn的臨界電壓Vt為第
一臨界電壓值VtL時,由於輸入電壓Vm大於臨界電壓Vt,因此電晶體TRmn為開啟狀態。在此狀況下,運算記憶胞C(a)mn的等效阻抗大致相等於電晶體TRmn的等效電阻值Rtr,運算記憶胞C(a)mn產生的電壓差dVmn為第一電壓差dVs(如式(1)所示),對應的輸出值Yn為「0」。
再者,當運算記憶胞C(a)mn接收的輸入電壓Vm為第一輸入電壓值VL、且電晶體TRmn的臨界電壓Vt為第二臨界電壓值VtH時,由於輸入電壓Vm小於臨界電壓Vt,因此電晶體TRmn為關閉狀態(turned-off)(即,斷路狀態)。在此狀況下,感測電流In僅流過電阻R(a)mn,運算記憶胞C(a)mn的等效阻抗大致相等於電阻R(a)mn。據此,運算記憶胞C(a)mn產生的電壓差dVmn為第二電壓差dVL,第二電壓差dVL大致相等於感測電流In的電流值與電阻R(a)mn的乘積,如式(2)所示。由於電阻R(a)mn的電阻值遠大於電晶體TRmn的等效電阻值Rtr,第二電壓差dVL遠大於第一電壓差dVs。第二電壓差dVL對應的輸出值Yn為「1」。
dVmn=dVL=In×R(a)mn (2)
根據上述的運算記憶胞C(a)mn的運作方式,表1-2所示為運算記憶胞C(a)mn的輸出值Yn對應於輸入值Xm及權重值Wmn的真值表(truth table)。
參見表1-2,當輸入值Xm為「0」且權重值Wmn為「0」或「1」時,對應產生的輸出值Yn為「0」。當輸入值Xm為「1」且權重值Wmn為「0」時,對應產生的輸出值Yn為「0」。當輸入值Xm為「1」且權重值Wmn為「1」時,對應產生的輸出值Yn為「1」。據此,運算記憶胞C(a)mn可執行輸入值Xm與權重值Wmn的乘積運算(product operation),運算記憶胞C(a)mn的輸出值Yn相等於輸入值Xm與權重值Wmn的乘積,如式(3)所示:Yn=Xm×Wmn (3)
在上述式(1)至式(3)說明的示例中,根據運算記憶胞C(a)mn產生的電壓差dVmn來表示輸出值Yn。電壓差dVmn相等於感測電流In與運算記憶胞C(a)mn的等效阻抗的乘積,電壓差dVmn正比於運算記憶胞C(a)mn的等效阻抗。因此,在第2A圖的另一個示例中,亦可根據運算記憶胞C(a)mn的等效阻抗來表示輸出值Yn。例如,可根據電阻R(a)mn來表示輸出值Yn,電阻R(a)mn對應於輸入值Xm與權重值Wmn的乘積。
類似的,在第1B圖的示例中,運算記憶胞C1n~Cmn的總電壓差dVsum(n)相等於輸入值X1~Xm與權重值
W1n~Wmn的乘積總和。總電壓差dVsum(n)相等於運算記憶胞C1n~Cmn的總等效阻抗(即,等效阻抗R1n~Rmn的總和)與感測電流In的乘積,總電壓差dVsum(n)正比於等效阻抗R1n~Rmn的總和。因此,在第1B圖的另一個示例中,亦可根據運算記憶胞C1n~Cmn各自的等效阻抗R1n~Rmn的總和來表示輸出值。等效阻抗R1n~Rmn的總和對應於輸入值X1~Xm與權重值W1n~Wmn的乘積總和。
第2B圖為第2A圖的運算記憶胞C(a)mn的輸入電壓Vm與感測電流In的對應關係的曲線圖。如第2B圖所示,狀態線201表示輸入電壓Vm為第一輸入電壓值VL(第一輸入電壓值VL為低電壓值,例如為4V)。在狀態線201上,當電晶體TRmn的臨界電壓Vt為第二臨界電壓值VtH時(第二臨界電壓值VtH為高電壓值,例如為5V或6V),運算記憶胞C(a)mn處於狀態211。在狀態211,輸入電壓Vm小於臨界電壓Vt,電晶體TRmn為關閉狀態,因此感測電流In僅流過電阻R(a)mn,運算記憶胞C(a)mn操作於「電阻狀態」。
在狀態線201上,當電晶體TRmn的臨界電壓Vt為第一臨界電壓值VtL時(第一臨界電壓值VtL為低電壓值,例如為2V或3V),運算記憶胞C(a)mn處於狀態212。在狀態212,輸入電壓Vm大於臨界電壓Vt,電晶體TRmn為開啟狀態,運算記憶胞C(a)mn操作於「電晶體狀態」,感測電流In可流過電晶體TRmn與電阻R(a)mn。
另一方面,狀態線202表示輸入電壓Vm為第二輸入電壓值VH(第二輸入電壓值VH為高電壓值,例如為8V)。在狀態線202上,當電晶體TRmn的臨界電壓Vt為第一臨界電壓值VtL或第二臨界電壓值VtH時,運算記憶胞C(a)mn處於狀態213。在狀態213,輸入電壓Vm大於臨界電壓Vt,電晶體TRmn為開啟狀態,運算記憶胞C(a)mn操作於「電晶體狀態」。
第3圖為第2A圖的運算記憶胞C(a)mn組成的運算串Cs的電路圖。如第3圖所示,運算串Cs例如包括串聯連接的三個運算記憶胞C(a)-1、C(a)-2及C(a)-3。運算記憶胞C(a)-1、C(a)-2及C(a)-3的每一者以第2A圖的運算記憶胞C(a)mn來實現。
運算記憶胞C(a)-1包括電阻R(a)-1,運算記憶胞C(a)-2包括電阻R(a)-2,運算記憶胞C(a)-3包括電阻R(a)-3。電阻R(a)-1、R(a)-2、R(a)-3亦串聯連接。運算記憶胞C(a)-1、C(a)-2、C(a)-3各自的電晶體本身具有等效電阻值Rtr。當運算記憶胞C(a)-1、C(a)-2、C(a)-3各自的電晶體皆為關閉狀態時,運算串Cs的等效阻抗為電阻R(a)-1、R(a)-2、R(a)-3的總和。當運算記憶胞C(a)-1、C(a)-2、C(a)-3各自的電晶體皆為開啟狀態時,運算串Cs的等效阻抗為運算記憶胞C(a)-1、C(a)-2、C(a)-3各自的電晶體的等效電阻值Rtr的總和。
運算串Cs連接至位元線BL1以接收感測電流I1。運算記憶胞C(a)-1、C(a)-2、C(a)-3分別連接至字元線WL1、
WL2、WL3以接收輸入電壓V1、V2、V3。輸入電壓V1、V2、V3分別對應於輸入值X1、X2、X3。當輸入電壓V1、V2、V3的電壓值為第一輸入電壓值VL時,對應的輸入值X1、X2、X3為「1」。當輸入電壓V1、V2、V3的電壓值為第二輸入電壓值VH時,對應的輸入值X1、X2、X3為「0」。
運算記憶胞C(a)-1、C(a)-2、C(a)-3的電晶體的臨界電壓Vt對應於權重值W1、W2、W3。當臨界電壓Vt為第二臨界電壓值VtH時,對應於權重值W1、W2、W3為「1」。當臨界電壓Vt為第一臨界電壓值VtL時,對應於權重值W1、W2、W3為「0」。因應於不同的權重值W1、W2、W3,當感測電流I1流過運算記憶胞C(a)-1、C(a)-2、C(a)-3時,運算記憶胞C(a)-1、C(a)-2、C(a)-3分別產生電壓差dV1、dV2、dV3。運算串Cs產生的總電壓差dVsum為電壓差dV1、dV2、dV3的總和。
表2-1所示為提供不同的輸入值X1、X2、X3及權重值W1、W2、W3的狀況下,運算串Cs對應產生的總電壓差dVsum。其中,輸入值X1、X2及X3可組成輸入向量[X1 X2 X3],權重值W1、W2及W3可組成權重向量[W1 W2 W3]。
參見表2-1,當輸入向量[X1 X2 X3]為[0 0 0]時,表示輸入電壓V1、V2、V3皆為高電壓值的第二輸入電壓值VH。在此狀況下,不論權重向量[W1 W2 W3]為何種數值(即,不論運算記憶胞C(a)-1、C(a)-2、C(a)-3的電晶體的臨界電壓Vt為第一臨界電壓值VtL或第二臨界電壓值VtH),運算記憶胞C(a)-1、C(a)-2、C(a)-3的電晶體皆為開啟狀態,運算記憶胞C(a)-1、C(a)-2、C(a)-3每一者的等效阻抗為電晶體的等效電阻值Rtr。因此,電壓差dV1、dV2、dV3皆為第一電壓差dVs(其中dVs=In*Rtr),運算串Cs的總電壓差dVsum為3*dVs,如式(4)所示:dVsum=dVs+dVs+dVs=3*dVs=3*In×Rtr (4)
另一方面,當輸入向量[X1 X2 X3]為[0 0 1]時,表示輸入電壓V3為低電壓值的第一輸入電壓值VL。在此狀況下,當運算記憶胞C(a)-3的電晶體的臨界電壓Vt為第二臨界電壓值VtH時(即,權重值W3為「1」),運算記憶胞C(a)-3的電晶體為關閉狀態,感測電流In僅流過電阻R(a)-3,因此電壓差dV3為第二電壓差dVL(其中dVL=In*(R(a)-3))。並且,運算記憶胞C(a)-1、C(a)-2的電晶體為開啟狀態,運算記憶胞C(a)-1、C(a)-2各自的等效阻抗為電晶體的等效電阻值Rtr。因此,電壓
差dV1、dV2皆為第一電壓差dVs,並且第一電壓差dVs遠小於第二電壓差dVL。據此,運算串Cs產生的總電壓差dVsum如式(5)所示:
再者,當輸入向量[X1 X2 X3]為[0 1 1]時,表示輸入電壓V2、V3皆為低電壓值的第一輸入電壓值VL。當運算記憶胞C(a)-2、C(a)-3的電晶體為第二臨界電壓值VtH時(即,權重值W2及W3皆為「1」),運算記憶胞C(a)-2、C(a)-3的電晶體為關閉狀態,運算記憶胞C(a)-1的電晶體為開啟狀態,電壓差dV2、dV3皆為第二電壓差dVL,電壓差dV1為第一電壓差dVs。據此,運算串Cs產生的總電壓差dVsum如式(6)所示:
當輸入向量[X1 X2 X3]為[1 1 1]且權重向量[W1 W2 W3]為[1 1 1]時,運算記憶胞C(a)-1、C(a)-2、C(a)-3的電晶體皆為關閉狀態,運算串Cs產生的總電壓差dVsum如式(7)所示:dVsum=dVL+dVL+dVL=3*dVL (7)
運算記憶胞C(a)-1、C(a)-2、C(a)-3各自產生的電壓差dV1、dV2、dV3對應的輸出值表示輸入值X1、X2、X3分別與權重值W1、W2、W3的乘積,運算串Cs產生的總電壓差
dVsum表示乘積總和(sum-of-product)。據此,運算串Cs可執行乘積總和的運算,運算串Cs的輸出值Y相等於輸入向量[X1 X2 X3]與權重向量[W1 W2 W3]的乘積總和,如式(8)所示:
總電壓差dVsum為3*dVs時,對應的輸出值Y為「0」。總電壓差dVsum為dVL、2*dVL或3*dVL時,對應的輸出值Y為「1」、「2」或「3」。表2-2所示為運算串Cs的輸出值Y對應於輸入向量[X1 X2 X3]及權重向量[W1 W2 W3]的真值表。
運算串Cs的總電壓差dVsum相等於感測電流I1與運算串Cs的總等效阻抗的乘積,即,總電壓差dVsum正比於運算串Cs的總等效阻抗。因此,在第3圖的另一個示例中,亦可根據運算串Cs的總等效阻抗(即,運算記憶胞C(a)-1、C(a)-2、C(a)-3各自的等效阻抗的總和)來表示運算串Cs的輸出值Y。
當輸入向量[X1 X2 X3]為[0 0 0]時,不論權重向量[W1 W2 W3]為何種數值,運算記憶胞C(a)-1、C(a)-2、C(a)-3各自的等效阻抗為電晶體的等效電阻值Rtr,運算串Cs的總等效阻抗為3*Rtr。由於電晶體的等效電阻值Rtr非常小,對應的輸出值Y為「0」。
當輸入向量[X1 X2 X3]為[0 0 1]、且權重向量[W1 W2 W3]為[0 0 1]時,運算記憶胞C(a)-3的電晶體為關閉狀態,運算串Cs的總等效阻抗大致相等於電阻R(a)-3,對應的輸出值Y為「1」。
當輸入向量[X1 X2 X3]為[0 1 1]、且權重向量[W1 W2 W3]為[0 1 1]時,運算記憶胞C(a)-2、C(a)-3的電晶體為關閉狀態,運算串Cs的總等效阻抗大致相等於電阻R(a)-2與電阻R(a)-3的總和,對應的輸出值Y為「2」。
當輸入向量[X1 X2 X3]為[1 1 1]、且權重向量[W1 W2 W3]為[1 1 1]時,運算記憶胞C(a)-1、C(a)-2、C(a)-3的電晶體為關閉狀態,運算串Cs的總等效阻抗大致相等於電阻R(a)-1、電阻R(a)-2與電阻R(a)-3的總和,對應的輸出值Y為「3」。
在上述的示例中,運算串Cs的總等效阻抗(例如,電阻R(a)-1、電阻R(a)-2與電阻R(a)-3的總和)對應於輸入向量[X1 X2 X3]與權重向量[W1 W2 W3]的乘積的總和。
第4A圖為本揭示第二實施例的運算記憶胞C(b)mn的電路圖。相較於第2A圖的運算記憶胞C(a)mn,第4A
圖的運算記憶胞C(b)mn僅包括電晶體TRmn,並不包括電阻。感測電流In流過電晶體TRmn,在電晶體TRmn的汲極d與源極s之間產生電壓差dVmn。電壓差dVmn對應於運算記憶胞C(b)mn的輸出值Yn。表3-1所示為提供不同電壓值的輸入電壓Vm及臨界電壓Vt的狀況下,運算記憶胞C(b)mn產生的電壓差dVmn及對應的輸出值Yn:
參見表3-1,當運算記憶胞C(b)mn接收的輸入電壓Vm為第二輸入電壓值VH、且電晶體TRmn的臨界電壓Vt為第一臨界電壓值VtL或第二臨界電壓值VtH時,電晶體TRmn皆為開啟狀態,運算記憶胞C(b)mn的等效阻抗大致相等於電晶體TRmn本身的等效電阻值Rtr,運算記憶胞C(b)mn操作於「低阻抗狀態(LR state)」。運算記憶胞C(b)mn產生的電壓差dVmn為第一電壓差dVs,如式(1)所示。第一電壓差dVs對應的輸出值Yn為「0」。
另一方面,當運算記憶胞C(b)mn接收的輸入電壓Vm為第一輸入電壓值VL、且電晶體TRmn的臨界電壓Vt為第一臨界電壓值VtL時,電晶體TRmn為開啟狀態,運算記憶胞C(b)mn操作於低阻抗狀態,輸出值Yn為「0」。
再者,當運算記憶胞C(b)mn接收的輸入電壓Vm為第一輸入電壓值VL、且電晶體TRmn的臨界電壓Vt為第二臨界電壓值VtH時,由於輸入電壓Vm小於臨界電壓Vt,電晶體TRmn為關閉狀態,運算記憶胞C(b)mn的等效阻抗為高電阻值而操作於「高阻抗狀態(HR state)」。在高阻抗狀態時,電壓差dVmn為第二電壓差dVL,其對應的輸出值Yn為「1」。
表3-2所示為運算記憶胞C(b)mn的輸出值Yn對應於輸入值Xm及權重值Wmn的真值表,其相同於表1-2所示的數值。據此,運算記憶胞C(b)mn可執行乘積運算,輸出值Yn相等於輸入值Xm與權重值Wmn的乘積。
第4B圖為第4A圖的運算記憶胞C(b)mn的輸入電壓Vm與感測電流In的對應關係的曲線圖。如第4B圖所示,狀態線301表示輸入電壓Vm為第一輸入電壓值VL(第一輸入電壓
值VL為低電壓值,例如為2.8V)。在狀態線301上,當電晶體TRmn的臨界電壓Vt為高電壓值的第二臨界電壓值VtH時,運算記憶胞C(b)mn處於狀態311。在狀態311時,輸入電壓Vm小於臨界電壓Vt,電晶體TRmn為關閉狀態,運算記憶胞C(b)mn操作於高阻抗狀態。
在狀態線301上,當電晶體TRmn的臨界電壓Vt為低電壓值的第一臨界電壓值VtL時,運算記憶胞C(a)mn處於狀態312。在狀態312時,輸入電壓Vm大於臨界電壓Vt,電晶體TRmn為開啟狀態,運算記憶胞C(b)mn操作於低阻抗狀態。
另一方面,狀態線302表示輸入電壓Vm為第二輸入電壓值VH。第二輸入電壓值VH為高電壓值(例如為6.6V)。在狀態線302上,當電晶體TRmn的臨界電壓Vt為第一臨界電壓值VtL或第二臨界電壓值VtH時,運算記憶胞C(a)mn處於狀態313。在狀態313時,輸入電壓Vm大於臨界電壓Vt,電晶體TRmn為開啟狀態,運算記憶胞C(b)mn操作於低阻抗狀態。
第5圖為本揭示第三實施例的運算記憶胞C(c)mn的電路圖。相較於第2A圖的運算記憶胞C(a)mn,第5圖的運算記憶胞C(c)mn的電阻R(c)mn為可變電阻,其具有可變的電阻值,可在記憶體裝置運作時動態調整電阻R(c)mn的電阻值。在另一種示例中,電阻R(c)mn具有固定的電阻值,然而,可調整製程參數以在製造過程中調整電阻R(c)mn的電阻值。
電阻R(c)mn可例如調整為四個電阻值R0、R1、R2、R3,並可將電阻值R0、R1、R2、R3的比例調整為0:1:2:3,其中電阻值R0趨近於零,電阻值R0遠小於電阻值R1、R2、R3。並且,運算記憶胞C(c)mn的電晶體TRmn的等效電阻值Rtr亦遠小於電阻值R1、R2及R3。
當運算記憶胞C(c)mn儲存的權重值Wmn為「0」時,電阻R(c)mn調整為電阻值R0。類似的,當運算記憶胞C(c)mn儲存的權重值Wmn為「1」、「2」、「3」時,電阻R(c)mn調整為電阻值R1、R2、R3。表4所示為所示為提供不同的輸入電壓Vm及權重值Wmn的狀況下,運算記憶胞C(c)mn產生的電壓差dVmn及對應的輸出值Yn:
請參見表4,當輸入值Xm為「0」時,輸入電壓Vm為高電壓值的第二輸入電壓值VH,電晶體TRmn為開啟狀態,運算記憶胞C(c)mn的等效阻抗大致相等於電晶體TRmn本身的等效電阻值Rtr。在此狀況下,不論權重值Wmn設定為「0」、
「1」、「2」或「3」(即,不論電阻R(c)mn調整為電阻值R0、R1、R2或R3),運算記憶胞C(c)mn產生的電壓差dVmn皆大致相等於感測電流In與電晶體TRmn的等效電阻值Rtr的乘積。此時,對應的輸出值Yn皆為「0」。
另一方面,當輸入值Xm為「1」時,輸入電壓Vm為低電壓值的第一輸入電壓值VL,電晶體TRmn為關閉狀態,運算記憶胞C(c)mn的等效阻抗為電阻R(c)mn,電壓差dVmn大致相等於感測電流In與電阻R(c)mn的乘積。當權重值Wmn設定為「0」、「1」、「2」、「3」時,電阻R(c)mn調整為電阻值R0、R1、R2、R3,電壓差dVmn分別相等於感測電流In與電阻值R0、R1、R2、R3的乘積。由於電阻值R0、R1、R2、R3的比例調整為0:1:2:3,對應的輸出值Yn分別為「0」、「1」、「2」或「3」。據此,運算記憶胞C(c)mn可執行乘積運算,輸出值Yn相等於輸入值Xm與權重值Wmn的乘積。
第6圖為本揭示第四實施例的運算記憶胞C(d)mn的電路圖。如第6圖所示,運算記憶胞C(d)mn包括多工器(multiplexer)M1及電阻Ra、Rb、Rc、Rd。多工器M1具有一個輸入端a1、四個輸出端b0、b1、b2、b3,以及兩個控制端S1、S2。輸入端a1連接於位元線以接收感測電流In。控制端S1、S2連接於一組字元線以接收輸入訊號Xm-1、Xm-2。例如,控制端S1經由第一字元線以接收輸入訊號Xm-1,控制端S2經由第二字元線以接收輸入訊號Xm-2。根據輸入訊號Xm-1、Xm-2,多
工器M1將感測電流In選擇性的輸出於輸出端b0、b1、b2、b3的其中一者。輸出端b0、b1、b2、b3分別連接於電阻Ra、Rb、Rc、Rd。
在運作上,運算記憶胞C(d)mn的輸入值Xm對應於兩個位元的輸入訊號Xm-1、Xm-2。輸入值Xm為「0」對應於輸入訊號Xm-1、Xm-2為「0 0」,以控制多工器M1將感測電流In輸出於輸出端b0並流過電阻Ra,此時運算記憶胞C(d)mn產生的電壓差dVmn為In*Ra。類似的,輸入值Xm為「1」、「2」、「3」分別對應於輸入訊號Xm-1、Xm-2為「0 1」、「1 0」、「1 1」,感測電流In分別輸出於輸出端b1、b2、b3並流過電阻Rb、Rc、Rd,運算記憶胞C(d)mn對應產生的電壓差dVmn為In*Rb、In*Rc、In*Rd。
運算記憶胞C(d)mn可儲存權重值Wmn,並根據權重值Wmn對應調整電阻Ra、Rb、Rc、Rd的電阻值。即,權重值Wmn對應於電阻Ra、Rb、Rc、Rd的不同電阻值。當權重值Wmn為「0」時,電阻Ra、Rb、Rc、Rd皆對應調整為電阻值R0,且電阻值R0趨近於零。當權重值Wmn為「1」時,電阻Ra、Rb、Rc、Rd分別調整為電阻值R0、R1、R2、R3,且電阻值R0、R1、R2、R3的比例調整為0:1:2:3。
類似的,當權重值Wmn為「2」時,電阻Ra、Rb、Rc、Rd分別調整為兩倍的電阻值R0、R1、R2、R3。即,電阻Ra、Rb、Rc、Rd分別調整為2*R0、2*R1、2*R2、2*R3。當
權重值Wmn為「3」時,電阻Ra、Rb、Rc、Rd分別調整為3*R0、3*R1、3*R2、3*R3。
運算記憶胞C(d)mn產生的電壓差dVmn對應於輸出值Yn。當權重值Wmn為「0」時,若輸入值Xm分別為「0」、「1」、「2」、「3」,對應產生的電壓差dVmn分別為In*R0、In*R0、In*R0、In*R0。由於電阻值R0趨近於零,電壓差In*R0、In*R0、In*R0、In*R0對應的輸出值Yn為「0」、「0」、「0」、「0」。當權重值Wmn為「1」時,若輸入值Xm分別為「0」、「1」、「2」、「3」,則電壓差dVmn分別為In*R0、In*R1、In*R2、In*R3。由於電阻值R0、R1、R2、R3的比例為0:1:2:3,電壓差In*R0、In*R1、In*R2、In*R3對應的輸出值Yn分別為「0」、「1」、「2」、「3」。
類似的,當權重值Wmn為「2」時,若輸入值Xm分別為「0」、「1」、「2」、「3」,電壓差dVmn分別為In*2*R0、In*2*R1、In*2*R2、In*2*R3。對應的輸出值Yn分別為「0」、「2」、「4」、「6」。當權重值Wmn為「3」時,若輸入值Xm分別為「0」、「1」、「2」、「3」,則電壓差dVmn分別為In*3*R0、In*3*R1、In*3*R2、In*3*R3。對應的輸出值Yn分別為「0」、「3」、「6」、「9」。
並且,表5-2所示為運算記憶胞C(d)mn的輸出值Yn對應於輸入值Xm及權重值Wmn的真值表。運算記憶胞C(d)mn可執行乘積運算,輸出值Yn相等於輸入值Xm與權重值Wmn的乘積。
第7圖為本揭示第五實施例的運算記憶胞C(e)mn的電路圖。如第7圖所示,運算記憶胞C(e)mn包括開關元件SW1、SW2及電阻Ra、Rb。在一種示例中,開關元件SW1、SW2為
NMOS型的電晶體,其經由電晶體的閘極接收輸入訊號A1、A1’。本實施例的開關元件SW1、SW2的運作方式類似於多工器,其類似於第6圖的實施例的多工器M1的運作方式。即,本實施例中,以開關元件SW1、SW2實現多工器。
輸入訊號A1、A1對應於運算記憶胞C(e)mn的輸入值XA。輸入值XA為「0」對應於輸入訊號A1、A1’為「0 1」,開關元件SW1為關閉狀態且開關元件SW2為開啟狀態。此時,感測電流In僅經由開關元件SW2流過電阻Rb,運算記憶胞C(e)mn產生的電壓差dVmn為In*Rb。運算記憶胞C(e)mn可儲存權重值Wmn,根據權重值Wmn將電阻Ra、Rb分別調整為第一電阻值RL或第二電阻值RH。其中,第二電阻值RH大於第一電阻值RL,並且第一電阻值RL趨近於零。若權重值Wmn為「0」,電阻Rb調整為第一電阻值RL。此時,電壓差dVmn相等於In*Rb而相等於In*RL(In*RL可稱為「第一電壓差」),對應的輸出值Yn為「0」。若權重值Wmn為「1」,電阻Rb仍然調整為第一電阻值RL,此時電壓差dVmn仍然為In*RL,對應的輸出值Yn仍然為「0」。
另一方面,輸入值XA為「1」對應於輸入訊號A1、A1’為「1 0」,開關元件SW1為開啟狀態且開關元件SW2為關閉狀態。感測電流In僅經由開關元件SW1流過電阻Ra,運算記憶胞C(e)mn產生的電壓差dVmn為In*Ra。此時,若權重值Wmn為「0」,電阻Ra調整為第一電阻值RL,電壓差dVmn相等於
In*Ra而相等於In*RL,對應的輸出值Yn為「0」。若權重值Wmn為「1」,電阻Ra調整為第二電阻值RH,電壓差dVmn相等於In*RH(In*RH可稱為「第二電壓差」),對應的輸出值Yn為「1」。
根據上述運算,表6-1所示為提供不同的輸入值XA及權重值Wmn的狀況下,運算記憶胞C(e)mn產生的電壓差dVmn及對應的輸出值Yn。
表6-2所示為運算記憶胞C(e)mn的輸入值XA、權重值Wmn及輸出值Yn的真值表。根據表6-2,運算記憶胞C(e)mn可執行輸入值XA與權重值Wmn的乘積運算。
並且,如表6-2所示,運算記憶胞C(e)mn亦可執行輸入值XA與權重值Wmn的邏輯「及(AND)」運算,輸出值Yn相等於輸入值XA與權重值Wmn的邏輯「及」運算的結果。
當根據權重值Wmn對應調整電阻Ra、Rb的電阻值時,第7圖的運算記憶胞C(e)mn亦可執行其他的邏輯運算。以邏輯「反及(NAND)」運算為例,當輸入值XA為「0」時,感測電流In流過電阻Rb,電壓差dVmn為In*Rb。此時,不論權重值Wmn為「0」或「1」,電阻Rb皆調整為第二電阻值RH,電壓差dVmn相等於In*RH,對應的輸出值Yn為「1」。當輸入值XA為「1」時,感測電流In流過電阻Ra,電壓差dVmn為In*Ra。此時,當權重值Wmn分別為「0」、「1」時,電阻Ra分別調整為第二電阻值RH及第一電阻值RL,電壓差dVmn分別相等於In*RH及In*RL,對應的輸出值Yn分別為「1」、「0」。運算記憶胞C(e)mn執行邏輯「反及」運算時,輸入值XA、權重值Wmn、電壓差dVmn及輸出值Yn的對應關係如表6-3所示:
當變更表6-1及表6-3所示的輸入值XA、權重值Wmn、與電阻Ra、Rb調整為第一電阻值RL或第二電阻值RH的對應關係時,運算記憶胞C(e)mn可執行不同的邏輯運算。表6-4~表6-7分別表示輸入值XA與權重值Wmn的邏輯「或(OR)」運算、邏輯「反或(NOR)」運算、邏輯「反互斥或(XNOR)」運算、邏輯「互斥或(XOR)」運算。
第8圖為本揭示第六實施例的運算記憶胞C(f)mn的電路圖。相較於第6圖的運算記憶胞C(d)mn接收一個位元的輸入值XA以執行運算,第8圖的運算記憶胞C(f)mn接收兩個位元的輸入值[XA XB]以執行運算。如第8圖所示,運算記憶胞C(f)mn包括8個開關元件SW1~SW8及4個電阻Ra、Rb、Rc、Rd。第一組的開關元件SW1、SW2串聯連接於電阻Ra,第二組的開關元件SW3、SW4串聯連接於電阻Rb,第三組的開關元件SW5、SW6串聯連接於電阻Rc,第四組的開關元件SW7、SW8串聯連接於電阻Rd。
開關元件SW1、SW5連接於一條字元線以接收輸入訊號A1。開關元件SW3、SW7連接於一條反相字元線以接收輸入訊號A1’。開關元件SW2、SW8連接於另一條字元線以接收輸入訊號B1。開關元件SW4、SW6連接於另一條反相字元線以接收接收輸入訊號B1’。輸入訊號A1’為輸入訊號A1的反相,輸入訊號B1’為輸入訊號B1的反相。開關元件SW1、SW3、SW5、SW7共同連接於位元線以接收感測電流In。開關元件SW1~SW8例如為NMOS型的電晶體,經由電晶體的閘極接收輸入訊號A1、A1’、B1、B1’。本實施例以開關元件SW1~SW8來實現多工器,開關元件SW1~SW8的功能類似於第6圖的多工器M1。藉由輸入值XA、XB分別控制開關元件SW1~SW8的導通或斷路,以使感測電流In經由開關元件SW1~SW8選擇性的流過電阻Ra~Rd的其中一者。
輸入值XA對應於輸入訊號A1、A1’,輸入值XB對應於輸入訊號B1、B1’。輸入值XA、XB為「0 0」對應於輸入訊號A1、A1’、B1、B1’為「0 1 0 1」,此時開關元件SW3、SW7、SW4、SW6為開啟狀態,開關元件SW1、SW5、SW2、SW8為關閉狀態,感測電流In經由開關元件SW3、SW4流過電阻Rb,運算記憶胞C(f)mn對應產生的電壓差dVmn為In*Rb。
輸入值XA、XB為「0 1」對應於輸入訊號A1、A1’、B1、B1’為「0 1 1 0」,此時開關元件SW3、SW7、SW2、SW8為開啟狀態,開關元件SW1、SW5、SW4、SW6為關閉狀態。
感測電流In經由開關元件SW7、SW8流過電阻Rd,運算記憶胞C(f)mn對應產生的電壓差dVmn為In*Rd。
輸入值XA、XB為「1 0」對應於輸入訊號A1、A1’、B1、B1’為「1 0 0 1」,此時開關元件SW1、SW5、SW4、SW6為開啟狀態,SW3、SW7、SW2、SW8為關閉狀態,感測電流In經由開關元件SW5、SW6流過電阻Rc,運算記憶胞C(f)mn對應產生的電壓差dVmn為In*Rc。
輸入值XA、XB為「1 1」對應於輸入訊號A1、A1’、B1、B1’為「1 0 1 0」,此時開關元件SW1、SW5、SW2、SW8為開啟狀態,SW3、SW7、SW4、SW6為關閉狀態,感測電流In經由開關元件SW1、SW2流過電阻Ra,運算記憶胞C(f)mn對應產生的電壓差dVmn為In*Ra。
運算記憶胞C(f)mn可儲存權重值Wmn,根據權重值Wmn調整電阻Ra、Rb、Rc、Rd的電阻值。在一種示例中,可類似於第6圖的運算記憶胞C(d)mn的電阻值的調整方式,當權重值Wmn為「0」時,電阻Ra、Rb、Rc、Rd皆調整為電阻值R0。當權重值Wmn為「1」時,電阻Ra、Rb、Rc、Rd分別調整為電阻值R3、R0、R2、R1。當權重值Wmn為「2」時,電阻Ra、Rb、Rc、Rd分別調整為2*R3、2*R0、2*R2、2*R1。當權重值Wmn為「3」時,電阻Ra、Rb、Rc、Rd分別調整為3*R3、3*R0、3*R2、3*R1。據此,本實施例的運算記憶胞C(f)mn可執行如表5-1的乘積運算。在其他示例中,可根據權重值Wmn對於電阻Ra、Rb、Rc、Rd的電阻值進行調變(modulation),以使運算記憶胞C(f)mn執行不同類型的邏輯運算。
第9圖為本揭示第七實施例的運算記憶胞C(g)mn的電路圖。當第8圖的運算記憶胞C(f)mn的電阻Rb、電阻Rc與電阻Rd具有相同的電阻值時,電阻Rb、電阻Rc與電阻Rd可整合為單一的等效電阻,而簡化為本實施例的運算記憶胞C(g)mn。運算記憶胞C(g)mn的電阻Rb為整合後的等效電阻,開關元件SW4、SW6、SW8共同連接於電阻Rb。
運算記憶胞C(g)mn的輸入值XA、XB為「0 0」對應於輸入訊號A1、A1’、B1、B1’為「0 1 0 1」,此時開關元件SW3、SW7、SW4、SW6為開啟狀態,開關元件SW1、SW5、
SW2、SW8為關閉狀態,感測電流In經由開關元件SW3、SW4流過電阻Rb。類似的,輸入值XA、XB為「0 1」對應於輸入訊號A1、A1’、B1、B1’為「0 1 1 0」,此時開關元件SW3、SW7、SW2、SW8為開啟狀態,開關元件SW1、SW5、SW4、SW6為關閉狀態,感測電流In經由開關元件SW7、SW8流過電阻Rb。輸入值XA、XB為「1 0」對應於輸入訊號A1、A1’、B1、B1’為「1 0 0 1」,此時開關元件SW1、SW5、SW4、SW6為開啟狀態,SW3、SW7、SW2、SW8為關閉狀態,感測電流In經由開關元件SW5、SW6流過電阻Rb。由上,當輸入值XA、XB為「0 0」、「0 1」、「1 0」時,感測電流In皆流過電阻Rb,使運算記憶胞C(g)mn對應產生的電壓差dVmn為In*Rb。
另一方面,輸入值XA、XB為「1 1」對應於輸入訊號A1、A1’、B1、B1’為「1 0 1 0」,此時開關元件SW1、SW5、SW2、SW8為開啟狀態,SW3、SW7、SW4、SW6為關閉狀態,感測電流In經由開關元件SW1、SW2流過電阻Ra,使運算記憶胞C(g)mn對應產生的電壓差dVmn為In*Ra。
可將電阻Ra、Rb分別調整為第二電阻值RH或第一電阻值RL,使運算記憶胞C(g)mn執行不同類型的邏輯運算。在一種示例中,電阻Ra調整為第二電阻值RH,電阻Rb調整為第一電阻值RL,且第二電阻值RH大於第一電阻值RL,運算記憶胞C(g)mn可執行輸入值XA與輸入值XB的邏輯「及」運算,如表8-1所示:
第10圖為本揭示第八實施例的運算記憶胞C(h)mn的電路圖。當第8圖的運算記憶胞C(f)mn的電阻Ra與電阻Rb具有相同的電阻值時,電阻Ra與電阻Rb可整合為單一的第一等效電阻,且當電阻Rc與電阻Rd具有相同的電阻值時,電阻Rc與電阻Rd可整合為單一的第二等效電阻。據此,第10圖的運算記憶胞C(h)mn的電阻Ra為整合後的第一等效電阻,電阻Rb為整合後的第二等效電阻。開關元件SW2、SW4共同連接於電阻Ra,開關元件SW6、SW8共同連接於電阻Rb。
輸入值XA、XB為「0 0」對應於輸入訊號A1、A1’、B1、B1’為「0 1 0 1」,感測電流In經由開關元件SW3、SW4流過電阻Ra。輸入值XA、XB為「1 1」對應於輸入訊號A1、A1’、B1、B1’為「1 0 1 0」,感測電流In經由開關元件SW1、SW2流過電阻Ra。
另一方面,輸入值XA、XB為「1 0」對應於輸入訊號A1、A1’、B1、B1’為「1 0 0 1」,感測電流In經由開關元件SW5、SW6流過電阻Rb。輸入值XA、XB為「0 1」對應於輸入訊號A1、A1’、B1、B1’為「0 1 1 0」,感測電流In經由開關元件SW7、SW8流過電阻Rb。
在一種示例中,電阻Ra調整為第二電阻值RH,電阻Rb調整為第一電阻值RL,且第二電阻值RH大於第一電阻值
RL,運算記憶胞C(h)mn可執行輸入值XA與輸入值XB的邏輯「反互斥或」運算,如表9-1所示:
根據上述之本揭示不同實施例,運算記憶胞由一或多個電晶體及/或電阻組成。可調整電晶體的臨界電壓以改變運算記憶胞儲存的權重值,並根據權重值將電阻調整為高電阻值、低電阻值或不同比例的電阻值。並且,根據輸入值對應的輸入電壓控制運算記憶胞操作於「電晶體狀態」或「電阻狀態」,據此控制感測電流選擇性的流過電晶體或電阻,使運算記憶胞產生對應的電壓差以表示輸出值。輸出值表示輸入值與權重值的乘積運算的結果,並可加總得到乘積的總和。此外,運算記憶胞亦可包括多工器。藉由多工器的運作,使感測電流選擇性的流過被選擇路徑上的電阻,使運算記憶胞執行輸入值與權重值的邏輯運算,或兩個位元的輸入值之間的邏輯運算。相較於傳統的電流加總的運算記憶胞,本揭示的運算記憶胞具有電壓加總的電路架構,以電壓差的總和表示輸出值。本揭示的電壓加總的電路架構可降低總電流以節省功耗,並能夠降低電路複雜度。
雖然本發明已以較佳實施例及範例詳細揭露如上,可理解的是,此些範例意指說明而非限制之意義。可預期的是,所屬技術領域中具有通常知識者可想到多種修改及組合,其多種修改及組合落在本發明之精神以及後附之申請專利範圍之範圍內。
In:感測電流
BLn:位元線
WL1,WL2,WLm:字元線
V1,V2,Vm:輸入電壓
dV1n,dV2n,dVmn:電壓差
dVsum(n):總電壓差
C1n,C2n,Cmn:運算記憶胞
R1n,R2n,Rmn:等效阻抗
Claims (19)
- 一記憶體裝置,包括:複數個運算記憶胞,各該運算記憶胞儲存一權重值、接收一輸入值且產生一輸出值,各該運算記憶胞包括:一電晶體,連接於一位元線及一字元線,該電晶體經由該位元線接收一感測電流且經由該字元線接收一輸入電壓,其中,該感測電流用於使該運算記憶胞產生一第一電壓差,該第一電壓差表示該輸出值,該輸入電壓用於控制該電晶體處於一開啟狀態或一關閉狀態,該輸入電壓表示該輸入值,該輸出值相等於該輸入值與該權重值的一乘積。
- 如請求項1所述之記憶體裝置,其中:該電晶體具有一臨界電壓,因應於該權重值,該臨界電壓調整為一第一臨界電壓值或一第二臨界電壓值。
- 如請求項2所述之記憶體裝置,其中:當該輸入電壓具有一第一輸入電壓值、且該臨界電壓具有該第二臨界電壓值時,該電晶體處於該關閉狀態,該感測電流不流過該電晶體,該運算記憶胞產生一第二電壓差,該第二電壓差對應於該輸出值;以及當該輸入電壓具有一第二輸入電壓值時,該電晶體處於該開啟狀態,該感測電流流過該電晶體,該運算記憶胞產生該第一電壓 差,其中,該第一輸入電壓值小於該第二輸入電壓值,該第一臨界電壓值小於該第二臨界電壓值,該第一輸入電壓值小於該第二臨界電壓值,該第一電壓差小於該第二電壓差。
- 如請求項3所述之記憶體裝置,其中該電晶體具有一等效電阻值,當該電晶體處於該開啟狀態時,該第一電壓差大致相等於該感測電流的一電流值與該電晶體的該等效電阻值的一乘積。
- 如請求項4所述之記憶體裝置,其中各該運算記憶胞具有一等效電阻值,共同連接於該位元線的該些運算記憶胞各自的該等效電阻值的總和對應於該些運算記憶胞各自的該輸入值與該權重值的該乘積的總和。
- 如請求項5所述之記憶體裝置,其中各該運算記憶胞更包括:一電阻,並聯連接於該電晶體,且連接於該位元線,該電阻經由該位元線接收該感測電流,該電阻具有一固定電阻值,各該運算記憶胞的該等效電阻值相關於該電阻的該固定電阻值與該電晶體的等效電阻值;當該輸入電壓具有一第一輸入電壓值、且該臨界電壓具 有該第二臨界電壓值時,該電晶體處於該關閉狀態,該感測電流流過該電阻而不流過該電晶體,該運算記憶胞產生該第二電壓差,其中,該第一輸入電壓值小於該第二臨界電壓值,該第二電壓差大致相等於該感測電流的一電流值與該電阻的該固定電阻值的一乘積。
- 如請求項6所述之記憶體裝置,其中當該輸入電壓具有一第二輸入電壓值時,該電晶體處於該開啟狀態,該感測電流流過該電晶體,該運算記憶胞產生該第一電壓差;其中,該第一輸入電壓值小於該第二輸入電壓值,該第一電壓差小於該第二電壓差。
- 如請求項5所述之記憶體裝置,其中各該運算記憶胞更包括:一電阻,並聯連接於該電晶體,且連接於該位元線,該電阻經由該位元線接收該感測電流,該電阻具有一可變電阻值,各該運算記憶胞的該等效電阻值相關於該電阻的該可變電阻值與該電晶體的等效電阻值,因應於該權重值,該可變電阻值至少調整為一第一電阻值或一第二電阻值;當該輸入電壓具有一第一輸入電壓值、且該臨界電壓具有該第二臨界電壓值時,該電晶體處於該關閉狀態,該感 測電流流過該電阻而不流過該電晶體,該運算記憶胞至少產生該第二電壓差或一第三電壓差,其中,該第一輸入電壓值小於該第二臨界電壓值,該第二電壓差大致相等於該感測電流的一電流值與該第一電阻值的一乘積,該第三電壓差大致相等於該感測電流的該電流值與該第二電阻值的一乘積。
- 如請求項8所述之記憶體裝置,其中當該輸入電壓具有一第二輸入電壓值時,該電晶體處於該開啟狀態,該感測電流流過該電晶體,該運算記憶胞產生該第一電壓差;其中,該第一輸入電壓值小於該第二輸入電壓值,該第一電壓差小於該第二電壓差。
- 一記憶體裝置,包括:複數個運算記憶胞,各該運算記憶胞儲存一權重值、接收一輸入值且產生一輸出值,各該運算記憶胞包括:一第一開關元件,係接收一感測電流及一第一輸入訊號,該第一輸入訊號相關於該輸入值;一第一電阻,串聯連接於該第一開關元件,因應於該第一輸入訊號,該第一電阻經由該第一開關元件選擇性的接收該感測電流;一第二開關元件,接收該感測電流及一第二輸入訊號, 該第二輸入訊號相關於該輸入值;以及一第二電阻,串聯連接於該第二開關元件,因應於該第二輸入訊號,該第二電阻經由該第二開關元件選擇性的接收該感測電流;其中,當該感測電流流過該第一電阻時,該運算記憶胞產生一第一電壓差或一第二電壓差,當該感測電流流過該第二電阻時,該運算記憶胞產生該第一電壓差或該第二電壓差,該第一電壓差及該第二電壓差對應於該輸出值,該輸出值相等於該輸入值與該權重值的一乘積,或該輸出值相等於該輸入值與該權重值的一邏輯運算的一結果。
- 如請求項10所述之記憶體裝置,其中,因應於該權重值,該第一電阻調整為具有一第一電阻值或一第二電阻值,該第二電阻調整為具有該第一電阻值或該第二電阻值,該第一電阻值小於該第二電阻值。
- 如請求項11所述之記憶體裝置,其中:當該感測電流流過該第一電阻時,若該第一電阻具有該第一電阻值,該運算記憶胞產生的該第一電壓差大致相等於該感測電流的一電流值與該第一電阻值的一乘積,若該第一電阻具有該第二電阻值,該運算記憶胞產生的該第二電壓差大致相等於該感測電流的該電流值與該第二電阻值的一乘積。
- 如請求項11所述之記憶體裝置,其中:當該感測電流流過該第二電阻時,若該第二電阻具有該第一電阻值,該運算記憶胞產生的該第一電壓差大致相等於該感測電流的一電流值與該第一電阻值的一乘積,若該第二電阻具有該第二電阻值,該運算記憶胞產生的該第二電壓差大致相等於該感測電流的該電流值與該第二電阻值的一乘積。
- 一記憶體裝置,包括:複數個運算記憶胞,各該運算記憶胞儲存一權重值、接收一第一輸入值及一第二輸入值、且產生一輸出值,各該運算記憶胞包括:一第一組開關元件,係因應於一第一輸入訊號及一第二輸入訊號而開啟或關閉;一第一電阻,串聯連接於該第一組開關元件,並經由該第一組開關元件選擇性的接收一感測電流;一第二組開關元件,係因應於一第三輸入訊號及一第四輸入訊號而開啟或關閉;一第二電阻,串聯連接於該第二組開關元件,並經由該第二組開關元件選擇性的接收該感測電流;一第三組開關元件,係因應於該第一輸入訊號及該第四輸入訊號而開啟或關閉; 一第三電阻,串聯連接於該第三組開關元件,並經由該第三組開關元件選擇性的接收該感測電流;一第四組開關元件,係因應於該第三輸入訊號及該第二輸入訊號而開啟或關閉;以及一第四電阻,串聯連接於該第四組開關元件,並經由該第四組開關元件選擇性的接收該感測電流;其中,該第一輸入訊號與該第三輸入訊號相關於該第一輸入值,該第二輸入訊號與該第四輸入訊號相關於該第二輸入值,當該感測電流流過該第一電阻、該第二電阻、該第三電阻或該第四電阻時,該運算記憶胞至少產生一第一電壓差或一第二電壓差,該第一電壓差及該第二電壓差對應於該輸出值,該輸出值相等於該第一輸入值與該第二輸入值的一邏輯運算的一結果。
- 如請求項14所述之記憶體裝置,其中,因應於該權重值,該第一電阻、該第二電阻、該第三電阻及該第四電阻至少調整為具有一第一電阻值或一第二電阻值,該第一電阻值小於該第二電阻值,該第一電阻值對應於該第一電壓差,該第二電阻值對應於該第二電壓差。
- 如請求項15所述之記憶體裝置,其中,當該第二電阻、該第三電阻與該第四電阻具有相等的電阻值時,該第二電阻、該第三電阻與該第四電阻整合為一等效電阻,且該第二組 開關元件、該第三組開關元件與該第四組開關元件共同連接於該等效電阻。
- 如請求項15所述之記憶體裝置,其中:當該第一電阻與該第二電阻具有相同的電阻值時,該第一電阻與該第二電阻整合為一第一等效電阻,且該第一組開關元件與該第二組開關元件共同連接於該第一等效電阻;以及當該第三電阻與該第四電阻具有相同的電阻值時,該第三電阻與該第四電阻整合為一第二等效電阻,且該第三組開關元件與該第四組開關元件共同連接於該第二等效電阻。
- 一記憶體裝置,包括:複數個運算記憶胞,各該運算記憶胞儲存一權重值、接收一輸入值且產生一輸出值,各該運算記憶胞包括:一多工器,用於接收一感測電流及複數個輸入訊號;以及複數個電阻,連接於該多工器,該些電阻經由該多工器選擇性的接收該感測電流;其中,該感測電流用於使該運算記憶胞至少產生一第一電壓差或一第二電壓差,該第一電壓差及該第二電壓差表示該輸出值,該些輸入訊號用於控制該多工器以使該些電阻選擇性的接收該感測電流,該些輸入訊號相關於該輸入值,該輸出值相等於該輸入值與該權重值的一乘積。
- 如請求項18所述之記憶體裝置,其中,因應於該權重值,該些電阻至少調整為具有一第一電阻值或一第二電阻值,該第一電阻值小於該第二電阻值,該第一電阻值對應於該第一電壓差,該第二電阻值對應於該第二電壓差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111126662A TWI827143B (zh) | 2022-07-15 | 2022-07-15 | 用於記憶體內運算之記憶體裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111126662A TWI827143B (zh) | 2022-07-15 | 2022-07-15 | 用於記憶體內運算之記憶體裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI827143B true TWI827143B (zh) | 2023-12-21 |
TW202405677A TW202405677A (zh) | 2024-02-01 |
Family
ID=90053337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111126662A TWI827143B (zh) | 2022-07-15 | 2022-07-15 | 用於記憶體內運算之記憶體裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI827143B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202036394A (zh) * | 2019-03-20 | 2020-10-01 | 旺宏電子股份有限公司 | 快閃記憶體之非揮發性計算方法 |
US11195090B1 (en) * | 2020-08-06 | 2021-12-07 | National Tsing Hua University | Memory unit with adaptive clamping voltage scheme and calibration scheme for multi-level neural network based computing-in-memory applications and computing method thereof |
US20220129153A1 (en) * | 2020-10-27 | 2022-04-28 | National Tsing Hua University | Memory unit with multi-bit input local computing cell for multi-bit convolutional neural network based computing-in-memory applications, memory array structure with multi-bit input local computing cell for multi-bit convolutional neural network based computing-in-memory applications and computing method thereof |
TW202226248A (zh) * | 2018-05-01 | 2022-07-01 | 美商超捷公司 | 用於在深度學習人工類神經網路中的類比類神經記憶體之高電壓產生之方法及設備 |
-
2022
- 2022-07-15 TW TW111126662A patent/TWI827143B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202226248A (zh) * | 2018-05-01 | 2022-07-01 | 美商超捷公司 | 用於在深度學習人工類神經網路中的類比類神經記憶體之高電壓產生之方法及設備 |
TW202036394A (zh) * | 2019-03-20 | 2020-10-01 | 旺宏電子股份有限公司 | 快閃記憶體之非揮發性計算方法 |
US11195090B1 (en) * | 2020-08-06 | 2021-12-07 | National Tsing Hua University | Memory unit with adaptive clamping voltage scheme and calibration scheme for multi-level neural network based computing-in-memory applications and computing method thereof |
US20220129153A1 (en) * | 2020-10-27 | 2022-04-28 | National Tsing Hua University | Memory unit with multi-bit input local computing cell for multi-bit convolutional neural network based computing-in-memory applications, memory array structure with multi-bit input local computing cell for multi-bit convolutional neural network based computing-in-memory applications and computing method thereof |
Also Published As
Publication number | Publication date |
---|---|
TW202405677A (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9543957B2 (en) | Reconfigurable logic circuit device | |
US8773167B2 (en) | Implementing logic circuits with memristors | |
CN107251141B (zh) | 失配和噪声不敏感的自旋扭矩转移磁随机存取存储器 | |
TWI698884B (zh) | 記憶體裝置及其操作方法 | |
Wang et al. | Memristor-based synapse design and training scheme for neuromorphic computing architecture | |
JP2002074997A (ja) | 半導体装置、マイクロコンピュータ、及びフラッシュメモリ | |
US9812197B2 (en) | Clamp circuit | |
US10839898B2 (en) | Differential memristive circuit | |
KR20110117111A (ko) | 중간점 레퍼런스를 포함하는 랜덤 액세스 메모리 아키텍처 | |
TWI827143B (zh) | 用於記憶體內運算之記憶體裝置 | |
KR20210056476A (ko) | 시냅스 소자 및 시냅스 소자를 포함하는 뉴로모픽 프로세서 | |
JPH03278396A (ja) | 半導体記憶装置 | |
US20240021244A1 (en) | Memory device for in-memory computing | |
JPWO2004075200A1 (ja) | メモリ装置 | |
TWI845270B (zh) | 記憶體內計算記憶體裝置及記憶體內計算方法 | |
JP3828694B2 (ja) | 半導体メモリ装置のセンシング回路並びにこれを用いたセンシング方法 | |
US20240079055A1 (en) | Memory device for in-memory computing, computing method and computing cell thereof | |
TWI837802B (zh) | 用於記憶體內運算之記憶體裝置、其運算方法及其運算晶胞 | |
JPS62198147A (ja) | 半導体集積回路装置 | |
US20240119975A1 (en) | Partitioned memory architecture and method for repeatedly using the architecture for multiple in-memory processing layers | |
CN113658623B (zh) | 一种可实现多操作数内存计算的铁电存储器阵列 | |
TWI566247B (zh) | 多次可程式記憶體架構以及互補金屬氧化物半導體多次可程式記憶體架構 | |
US20240119974A1 (en) | Calibration methods and structures for partitioned memory architecture with single resistor or dual resistor memory elements | |
TWI828590B (zh) | 用於執行記憶體內運算的積體電路裝置及其操作方法 | |
TW202412008A (zh) | 用於記憶體內運算之記憶體裝置、其運算方法及其運算晶胞 |