CN117437961A - 用于存储器内运算的存储器装置 - Google Patents

用于存储器内运算的存储器装置 Download PDF

Info

Publication number
CN117437961A
CN117437961A CN202210855670.6A CN202210855670A CN117437961A CN 117437961 A CN117437961 A CN 117437961A CN 202210855670 A CN202210855670 A CN 202210855670A CN 117437961 A CN117437961 A CN 117437961A
Authority
CN
China
Prior art keywords
value
resistor
input
voltage
voltage difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210855670.6A
Other languages
English (en)
Inventor
林昱佑
李峯旻
李明修
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN117437961A publication Critical patent/CN117437961A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0045Read using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/74Array wherein each memory cell has more than one access device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

本公开提供了一种用于存储器内运算的存储器装置,包括多个运算存储单元。各运算存储单元储存权重值、接收输入值且产生输出值。各运算存储单元包括晶体管。晶体管连接于位线及字线,晶体管经由位线接收感测电流且经由字线接收输入电压。当感测电流流过晶体管时,运算存储单元产生第一电压差。输入电压对应于输入值,第一电压差对应于输出值,输出值相等于输入值与权重值的乘积。

Description

用于存储器内运算的存储器装置
技术领域
本公开关于一种半导体装置,特别有关于一种用于存储器内运算(in-memorycomputing,IMC)的存储器装置。
背景技术
随着半导体技术的演进,常使用存储器装置执行存储器内运算(in-memorycomputing,IMC)。并且,随着人工智能技术的演进,存储器装置执行的存储器内运算常包括乘积运算(product operation)及加总运算(sum operation),并且结合乘积运算与加总运算以执行乘积总和(sum of product)运算。
传统上,用于执行乘积运算与加总运算的存储器装置常使用电流加总的电路架构,以电压作为运算存储单元的输入并以电流作为运算存储单元的输出,以电流的总和表示总输出值。然而,电流加总的电路架构必须处理每个运算存储单元的电流输出并且加总电流,导致电流加总的电路架构具有较高的电路复杂度以及较大的功耗。
因此,需对于存储器装置的电路架构进行改良,采用电压加总或电阻值加总的电路架构,以电压作为运算存储单元的输出。期能降低电路复杂度及功耗,并能够支持不同类型的乘积总和运算及逻辑运算。
发明内容
根据本公开的一方面,提供一种存储器装置,包括多个运算存储单元。各运算存储单元储存权重值、接收输入值且产生输出值。各运算存储单元包括晶体管。晶体管连接于位线及字线,晶体管经由位线接收感测电流且经由字线接收输入电压。当感测电流流过晶体管时,运算存储单元产生第一电压差。输入电压对应于输入值,第一电压差对应于输出值,输出值相等于输入值与权重值的乘积。
根据本公开的另一方面,提供一种存储器装置,包括多个运算存储单元。各运算存储单元储存权重值、接收输入值且产生输出值。各运算存储单元包括第一开关元件、第二开关元件、第一电阻及第二电阻。第一开关元件接收感测电流及第一输入信号,第一输入信号相关于输入值。第一电阻串联连接于第一开关元件,因应于第一输入信号,第一电阻经由第一开关元件选择性的接收感测电流。第二开关元件接收感测电流及一第二输入信号,第二输入信号相关于输入值。第二电阻串联连接于第二开关元件,因应于第二输入信号,第二电阻经由第二开关元件选择性的接收感测电流。当感测电流流过第一电阻时,运算存储单元产生一第一电压差或一第二电压差,当该感测电流流过该第二电阻时,该运算存储单元产生该第一电压差或该第二电压差,第一电压差及第二电压差对应于输出值,输出值相等于输入值与权重值的乘积,或输出值相等于输入值与权重值的逻辑运算的结果。
根据本公开的又一方面,提供一种存储器装置,包括多个运算存储单元。各运算存储单元储存权重值、接收第一输入值及第二输入值、且产生输出值,各运算存储单元包括以下元件。一第一组开关元件,因应于一第一输入信号及一第二输入信号而开启或关闭。一第一电阻,串联连接于该第一组开关元件,并经由该第一组开关元件选择性的接收一感测电流。一第二组开关元件,因应于一第三输入信号及一第四输入信号而开启或关闭。一第二电阻,串联连接于该第二组开关元件,并经由该第二组开关元件选择性的接收该感测电流。一第三组开关元件,因应于该第一输入信号及该第四输入信号而开启或关闭。一第三电阻,串联连接于该第三组开关元件,并经由该第三组开关元件选择性的接收该感测电流。一第四组开关元件,因应于该第三输入信号及该第二输入信号而开启或关闭。一第四电阻,串联连接于该第四组开关元件,并经由该第四组开关元件选择性的接收该感测电流。其中,该第一输入信号与该第三输入信号相关于该第一输入值,该第二输入信号与该第四输入信号相关于该第二输入值,当该感测电流流过该第一电阻、该第二电阻、该第三电阻或该第四电阻时,该运算存储单元至少产生一第一电压差与一第二电压差,该第一电压差与该第二电压差对应于该输出值,该输出值相等于该第一输入值与该第二输入值的一逻辑运算的一结果。
根据本公开的又一方面,提供一种存储器装置,包括多个运算存储单元。各运算存储单元储存权重值、接收输入值且产生输出值。各运算存储单元包括多工复用器及多个电阻。多工复用器接收感测电流及多个输入信号,这些输入信号相关于输入值。多个电阻连接于多工复用器,因应于这些输入信号,这些电阻经由多工复用器选择性的接收感测电流。当感测电流流过这些电阻的其中一者时,运算存储单元至少产生第一电压差或第二电压差,第一电压差及第二电压差对应于输出值,输出值相等于输入值与权重值的乘积。
通过阅读附图、详细说明以及权利要求书,可见本公开的其他方面以及优点。
附图说明
图1A为本公开的存储器装置的示意图。
图1B为图1A的存储器装置的第n个纵向行的运算存储单元进行乘积总和运算的示意图。
图2A为本公开第一实施例的运算存储单元的电路图。
图2B为图2A的运算存储单元的输入电压与感测电流的对应关系的曲线图。
图3为图2A的运算存储单元组成的运算串的电路图。
图4A为本公开第二实施例的运算存储单元的电路图。
图4B为图4A的运算存储单元的输入电压与感测电流的对应关系的曲线图。
图5为本公开第三实施例的运算存储单元的电路图。
图6为本公开第四实施例的运算存储单元的电路图。
图7为本公开第五实施例的运算存储单元的电路图。
图8为本公开第六实施例的运算存储单元的电路图。
图9为本公开第七实施例的运算存储单元的电路图。
图10为本公开第八实施例的运算存储单元的电路图。
附图标记说明
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为本公开的存储器装置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储存的权重值(weightvalue)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
参见表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
参见表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)相等于运算存储单元Cln~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
参见表2-1,当输入矢量[X1 X2 X3]为[000]时,表示输入电压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 X2X3]及权重矢量[W1 W2 W3]的真值表。
表2-2
运算串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
参见表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的等效阻抗为高电阻值而操作于高阻抗状态(HRstate)。在高阻抗状态时,电压差dVmn为第二电压差dVL,其对应的输出值Yn为1。
表3-2所示为运算存储单元C(b)mn的输出值Yn对应于输入值Xm及权重值Wmn的真值表,其相同于表1-2所示的数值。据此,运算存储单元C(b)mn可执行乘积运算,输出值Yn相等于输入值Xm与权重值Wmn的乘积。
表3-2
图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
请参见表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-1所示为提供不同的输入值Xm及权重值Wmn的状况下,运算存储单元C(d)mn产生的电压差dVmn及对应的输出值Yn:
表5-1
并且,表5-2所示为运算存储单元C(d)mn的输出值Yn对应于输入值Xm及权重值Wmn的真值表。运算存储单元C(d)mn可执行乘积运算,输出值Yn相等于输入值Xm与权重值Wmn的乘积。
表5-2
图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’为01,开关元件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-1
表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的逻辑与运算的结果。
表6-2
当根据权重值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-3
当变更表6-1及表6-3所示的输入值XA、权重值Wmn、与电阻Ra、Rb调整为第一电阻值RL或第二电阻值RH的对应关系时,运算存储单元C(e)mn可执行不同的逻辑运算。表6-4~表6-7分别表示输入值XA与权重值Wmn的逻辑或(OR)运算、逻辑或非(NOR)运算、逻辑异或非(XNOR)运算、逻辑异或(XOR)运算。
表6-4
表6-5
表6-6
表6-7
图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为00对应于输入信号A1、A1’、B1、B1’为0101,此时开关元件SW3、SW7、SW4、SW6为开启状态,开关元件SW1、SW5、SW2、SW8为关闭状态,感测电流In经由开关元件SW3、SW4流过电阻Rb,运算存储单元C(f)mn对应产生的电压差dVmn为In*Rb。
输入值XA、XB为01对应于输入信号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。
根据上述运算,表7所示为提供不同的输入值XA、XB的状况下,运算存储单元C(f)mn产生的电压差dVmn:
表7
运算存储单元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为00对应于输入信号A1、A1’、B1、B1’为0 1 01,此时开关元件SW3、SW7、SW4、SW6为开启状态,开关元件SW1、SW5、SW2、SW8为关闭状态,感测电流In经由开关元件SW3、SW4流过电阻Rb。类似的,输入值XA、XB为01对应于输入信号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所示:
表8-1
在另一种示例中,电阻Ra调整为第一电阻值RL,电阻Rb调整为第二电阻值RH,则运算存储单元C(g)mn可执行输入值XA与输入值XB的逻辑与非运算,如表8-2所示:
表8-2
图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为01对应于输入信号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所示:
表9-1
在另一种示例中,电阻Ra调整为第一电阻值RL,电阻Rb调整为第二电阻值RH,运算存储单元C(h)mn可执行输入值XA与输入值XB的逻辑互斥或运算,如表9-2所示:
表9-2
根据上述的本公开不同实施例,运算存储单元由一或多个晶体管和/或电阻组成。可调整晶体管的阈值电压以改变运算存储单元储存的权重值,并根据权重值将电阻调整为高电阻值、低电阻值或不同比例的电阻值。并且,根据输入值对应的输入电压控制运算存储单元操作于晶体管状态或电阻状态,据此控制感测电流选择性的流过晶体管或电阻,使运算存储单元产生对应的电压差以表示输出值。输出值表示输入值与权重值的乘积运算的结果,并可加总得到乘积的总和。此外,运算存储单元亦可包括多工复用器。通过多工复用器的运作,使感测电流选择性的流过被选择路径上的电阻,使运算存储单元执行输入值与权重值的逻辑运算,或两个位的输入值之间的逻辑运算。相较于传统的电流加总的运算存储单元,本公开的运算存储单元具有电压加总的电路架构,以电压差的总和表示输出值。本公开的电压加总的电路架构可降低总电流以节省功耗,并能够降低电路复杂度。
虽然本发明已以较佳实施例及范例详细公开如上,可理解的是,这些范例意指说明而非限制的意义。可预期的是,所属技术领域的技术人员可想到多种修改及组合,其多种修改及组合落在本发明的精神以及随附的权利要求的范围内。

Claims (19)

1.一存储器装置,包括:
多个运算存储单元,各该运算存储单元储存一权重值、接收一输入值且产生一输出值,各该运算存储单元包括:
一晶体管,连接于一位线及一字线,该晶体管经由该位线接收一感测电流且经由该字线接收一输入电压,当该感测电流流过该晶体管时,该运算存储单元产生一第一电压差,
其中,该输入电压对应于该输入值,该第一电压差对应于该输出值,该输出值相等于该输入值与该权重值的一乘积。
2.根据权利要求1所述的存储器装置,其中:
该晶体管具有一阈值电压,因应于该权重值,该阈值电压调整为一第一阈值电压值或一第二阈值电压值;以及
因应于该输入电压及该晶体管的该阈值电压,该晶体管处于一开启状态或一关闭状态。
3.根据权利要求2所述的存储器装置,其中:
当该输入电压具有一第一输入电压值、且该阈值电压具有该第二阈值电压值时,该晶体管处于该关闭状态,该感测电流不流过该晶体管,该运算存储单元产生一第二电压差,该第二电压差对应于该输出值;以及
当该输入电压具有一第二输入电压值时,该晶体管处于该开启状态,该感测电流流过该晶体管,该运算存储单元产生该第一电压差,
其中,该第一输入电压值小于该第二输入电压值,该第一阈值电压值小于该第二阈值电压值,该第一输入电压值小于该第二阈值电压值,该第一电压差小于该第二电压差。
4.根据权利要求3所述的存储器装置,其中该晶体管具有一等效电阻值,当该晶体管处于该开启状态时,该第一电压差大致相等于该感测电流的一电流值与该晶体管的该等效电阻值的一乘积。
5.根据权利要求4所述的存储器装置,其中各该运算存储单元具有一等效电阻值,共同连接于该位线的这些运算存储单元各自的该等效电阻值的总和对应于这些运算存储单元各自的该输入值与该权重值的该乘积的总和。
6.根据权利要求5所述的存储器装置,其中各该运算存储单元还包括:
一电阻,并联连接于该晶体管,且连接于该位线,该电阻经由该位线接收该感测电流,该电阻具有一固定电阻值,各该运算存储单元的该等效电阻值相关于该电阻的该固定电阻值与该晶体管的等效电阻值;
当该输入电压具有一第一输入电压值、且该阈值电压具有该第二阈值电压值时,该晶体管处于该关闭状态,该感测电流流过该电阻而不流过该晶体管,该运算存储单元产生该第二电压差,
其中,该第一输入电压值小于该第二阈值电压值,该第二电压差大致相等于该感测电流的一电流值与该电阻的该固定电阻值的一乘积。
7.根据权利要求6所述的存储器装置,其中当该输入电压具有一第二输入电压值时,该晶体管处于该开启状态,该感测电流流过该晶体管,该运算存储单元产生该第一电压差;
其中,该第一输入电压值小于该第二输入电压值,该第一电压差小于该第二电压差。
8.根据权利要求5所述的存储器装置,其中各该运算存储单元更包括:
一电阻,并联连接于该晶体管,且连接于该位线,该电阻经由该位线接收该感测电流,该电阻具有一可变电阻值,各该运算存储单元的该等效电阻值相关于该电阻的该可变电阻值与该晶体管的等效电阻值,因应于该权重值,该可变电阻值至少调整为一第一电阻值或一第二电阻值;
当该输入电压具有一第一输入电压值、且该阈值电压具有该第二阈值电压值时,该晶体管处于该关闭状态,该感测电流流过该电阻而不流过该晶体管,该运算存储单元至少产生该第二电压差或一第三电压差,
其中,该第一输入电压值小于该第二阈值电压值,该第二电压差大致相等于该感测电流的一电流值与该第一电阻值的一乘积,该第三电压差大致相等于该感测电流的该电流值与该第二电阻值的一乘积。
9.根据权利要求8所述的存储器装置,其中当该输入电压具有一第二输入电压值时,该晶体管处于该开启状态,该感测电流流过该晶体管,该运算存储单元产生该第一电压差;
其中,该第一输入电压值小于该第二输入电压值,该第一电压差小于该第二电压差。
10.一存储器装置,包括:
多个运算存储单元,各该运算存储单元储存一权重值、接收一输入值且产生一输出值,各该运算存储单元包括:
一第一开关元件,接收一感测电流及一第一输入信号,该第一输入信号相关于该输入值;
一第一电阻,串联连接于该第一开关元件,因应于该第一输入信号,该第一电阻经由该第一开关元件选择性的接收该感测电流;
一第二开关元件,接收该感测电流及一第二输入信号,该第二输入信号相关于该输入值;以及
一第二电阻,串联连接于该第二开关元件,因应于该第二输入信号,该第二电阻经由该第二开关元件选择性的接收该感测电流;
其中,当该感测电流流过该第一电阻时,该运算存储单元产生一第一电压差或一第二电压差,当该感测电流流过该第二电阻时,该运算存储单元产生该第一电压差或该第二电压差,该第一电压差及该第二电压差对应于该输出值,该输出值相等于该输入值与该权重值的一乘积,或该输出值相等于该输入值与该权重值的一逻辑运算的一结果。
11.根据权利要求10所述的存储器装置,其中,因应于该权重值,该第一电阻调整为具有一第一电阻值或一第二电阻值,该第二电阻调整为具有该第一电阻值或该第二电阻值,该第一电阻值小于该第二电阻值。
12.根据权利要求11所述的存储器装置,其中:
当该感测电流流过该第一电阻时,若该第一电阻具有该第一电阻值,该运算存储单元产生的该第一电压差大致相等于该感测电流的一电流值与该第一电阻值的一乘积,若该第一电阻具有该第二电阻值,该运算存储单元产生的该第二电压差大致相等于该感测电流的该电流值与该第二电阻值的一乘积。
13.根据权利要求11所述的存储器装置,其中:
当该感测电流流过该第二电阻时,若该第二电阻具有该第一电阻值,该运算存储单元产生的该第一电压差大致相等于该感测电流的一电流值与该第一电阻值的一乘积,若该第二电阻具有该第二电阻值,该运算存储单元产生的该第二电压差大致相等于该感测电流的该电流值与该第二电阻值的一乘积。
14.一存储器装置,包括:
多个运算存储单元,各该运算存储单元储存一权重值、接收一第一输入值及一第二输入值、且产生一输出值,各该运算存储单元包括:
一第一组开关元件,因应于一第一输入信号及一第二输入信号而开启或关闭;
一第一电阻,串联连接于该第一组开关元件,并经由该第一组开关元件选择性的接收一感测电流;
一第二组开关元件,因应于一第三输入信号及一第四输入信号而开启或关闭;
一第二电阻,串联连接于该第二组开关元件,并经由该第二组开关元件选择性的接收该感测电流;
一第三组开关元件,因应于该第一输入信号及该第四输入信号而开启或关闭;
一第三电阻,串联连接于该第三组开关元件,并经由该第三组开关元件选择性的接收该感测电流;
一第四组开关元件,因应于该第三输入信号及该第二输入信号而开启或关闭;以及
一第四电阻,串联连接于该第四组开关元件,并经由该第四组开关元件选择性的接收该感测电流;
其中,该第一输入信号与该第三输入信号相关于该第一输入值,该第二输入信号与该第四输入信号相关于该第二输入值,当该感测电流流过该第一电阻、该第二电阻、该第三电阻或该第四电阻时,该运算存储单元至少产生一第一电压差或一第二电压差,该第一电压差及该第二电压差对应于该输出值,该输出值相等于该第一输入值与该第二输入值的一逻辑运算的一结果。
15.根据权利要求14所述的存储器装置,其中,因应于该权重值,该第一电阻、该第二电阻、该第三电阻及该第四电阻至少调整为具有一第一电阻值或一第二电阻值,该第一电阻值小于该第二电阻值,该第一电阻值对应于该第一电压差,该第二电阻值对应于该第二电压差。
16.根据权利要求15所述的存储器装置,其中,当该第二电阻、该第三电阻与该第四电阻具有相等的电阻值时,该第二电阻、该第三电阻与该第四电阻整合为一等效电阻,且该第二组开关元件、该第三组开关元件与该第四组开关元件共同连接于该等效电阻。
17.根据权利要求15所述的存储器装置,其中:
当该第一电阻与该第二电阻具有相同的电阻值时,该第一电阻与该第二电阻整合为一第一等效电阻,且该第一组开关元件与该第二组开关元件共同连接于该第一等效电阻;以及
当该第三电阻与该第四电阻具有相同的电阻值时,该第三电阻与该第四电阻整合为一第二等效电阻,且该第三组开关元件与该第四组开关元件共同连接于该第二等效电阻。
18.一存储器装置,包括:
多个运算存储单元,各该运算存储单元储存一权重值、接收一输入值且产生一输出值,各该运算存储单元包括:
一多工复用器,用于接收一感测电流及多个输入信号,这些输入信号相关于该输入值;以及
多个电阻,连接于该多工复用器,因应于这些输入信号,这些电阻经由该多工复用器选择性的接收该感测电流;
其中,当该感测电流流过这些电阻的其中一个时,该运算存储单元至少产生一第一电压差或一第二电压差,该第一电压差及该第二电压差对应于该输出值,该输出值相等于该输入值与该权重值的一乘积。
19.根据权利要求18所述的存储器装置,其中,因应于该权重值,这些电阻至少调整为具有一第一电阻值或一第二电阻值,该第一电阻值小于该第二电阻值,该第一电阻值对应于该第一电压差,该第二电阻值对应于该第二电压差。
CN202210855670.6A 2022-07-15 2022-07-20 用于存储器内运算的存储器装置 Pending CN117437961A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/812,783 US20240021244A1 (en) 2022-07-15 2022-07-15 Memory device for in-memory computing
US17/812,783 2022-07-15

Publications (1)

Publication Number Publication Date
CN117437961A true CN117437961A (zh) 2024-01-23

Family

ID=89510369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210855670.6A Pending CN117437961A (zh) 2022-07-15 2022-07-20 用于存储器内运算的存储器装置

Country Status (2)

Country Link
US (1) US20240021244A1 (zh)
CN (1) CN117437961A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061646B2 (en) * 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers
US11847560B2 (en) * 2020-07-27 2023-12-19 Robert Bosch Gmbh Hardware compute fabrics for deep equilibrium models
US20220215239A1 (en) * 2021-01-01 2022-07-07 Silicon Storage Technology, Inc. Digital output mechanisms for analog neural memory in a deep learning artificial neural network

Also Published As

Publication number Publication date
US20240021244A1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
US8773167B2 (en) Implementing logic circuits with memristors
JP5092001B2 (ja) 半導体集積回路
US20220130459A1 (en) Fast read speed memory device
US9543957B2 (en) Reconfigurable logic circuit device
US9711218B2 (en) Apparatuses and methods for providing set and reset voltages at the same time
JP4262678B2 (ja) メモリマトリクスの複数の横列に対して同時書き込みを行うデバイス
US4056807A (en) Electronically alterable diode logic circuit
EP0029716B1 (en) Semiconductor prom device
GB2437107A (en) Programmable read-only memory
US20210319819A1 (en) Non-volatile memory with multiplexer transistor regulator circuit
US4866432A (en) Field programmable matrix circuit for EEPROM logic cells
CN117437961A (zh) 用于存储器内运算的存储器装置
JPS6118833B2 (zh)
US5719490A (en) Dual sourced voltage supply circuit
US4788460A (en) Circuit arrangement of sense amplifier for rapid evaluation of logic state
TWI827143B (zh) 用於記憶體內運算之記憶體裝置
JPH04259995A (ja) 書き込み電圧発生回路
EP4095861A1 (en) Memory read circuitry with a flipped voltage follower
US12057162B2 (en) Memory device for in-memory computing, computing method and computing cell thereof
US20220157378A1 (en) Fast read speed memory device
JPH087585A (ja) 不揮発性メモリ用計数終了検出装置
JPH11260087A (ja) 多値レベルの不揮発性メモリデバイスにおける復号回路用高電圧駆動回路および不揮発性メモリの選択されたワ―ド線を駆動する方法
JP2001067886A (ja) 半導体記憶装置
JP3902491B2 (ja) 電位生成回路
WO2019180974A1 (en) Binary-to-ternary converter using a complementary resistive switch

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination