CN113160860B - 计算系统、计算器件和计算方法 - Google Patents

计算系统、计算器件和计算方法 Download PDF

Info

Publication number
CN113160860B
CN113160860B CN202110478689.9A CN202110478689A CN113160860B CN 113160860 B CN113160860 B CN 113160860B CN 202110478689 A CN202110478689 A CN 202110478689A CN 113160860 B CN113160860 B CN 113160860B
Authority
CN
China
Prior art keywords
current
memory
circuit
comparator
signal
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.)
Active
Application number
CN202110478689.9A
Other languages
English (en)
Other versions
CN113160860A (zh
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC 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
Priority claimed from US17/185,145 external-priority patent/US11430491B2/en
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN113160860A publication Critical patent/CN113160860A/zh
Application granted granted Critical
Publication of CN113160860B publication Critical patent/CN113160860B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/062Differential amplifiers of non-latching type, e.g. comparators, long-tailed pairs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • 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
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/08Control thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/46Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
    • H03M1/462Details of the control circuitry, e.g. of the successive approximation register
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/06Sense amplifier related aspects
    • G11C2207/063Current sense amplifiers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/74Simultaneous conversion
    • H03M1/742Simultaneous conversion using current sources as quantisation value generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Analogue/Digital Conversion (AREA)
  • Read Only Memory (AREA)
  • Hardware Redundancy (AREA)
  • Control By Computers (AREA)

Abstract

在存储器计算(“CIM”)系统中,通过将来自CIM存储器电路的电流信号与参考电流进行比较,来计算表示乘法和累加运算结果的电流信号通过电流数模转换器(“DAC”)电路实现。存储器电路可以包括非易失性存储器(“NVM”)单元,其可以是多级或二级NVM单元。存储器元件的特征尺寸可以被二进制加权以对应于多位权重和/或多位输入信号中的各个位置值。可替代地,相等大小的NVM单元可以用于驱动二进制加权大小的晶体管。电流比较操作可以比电压计算更高的速度执行。在一些实施例中,简单的时钟门控开关用于在电流求和分支中生成均匀电流。时钟门控开关还用于限制单元电流导通的时间,从而减少静态功耗。

Description

计算系统、计算器件和计算方法
技术领域
本发明的实施例涉及计算系统、计算器件和计算方法。
背景技术
本公开总体上涉及存储器中计算(“CIM”)或存储器中计算系统。CIM系统将信息存储在计算机的主随机存取存储器(RAM)中,并在存储单元级别执行计算,而不是针对每个计算步骤在主RAM和数据存储之间移动大量数据。由于将存储的数据存储在RAM中后可以更快地存取数据,因此存储器中计算可以实时分析数据,从而在业务和机器学习应用程序中实现更快的报告和决策速度。正在努力改善存储器计算系统的性能。
发明内容
根据本发明实施例的一个方面,提供了一种计算系统,包括:存储器电路,包括用于接收第一组数据的输入和用于存储第二组数据的多个存储器元件,存储器电路用于生成指示第一组数据和第二组数据的组合的电平的存储器电流;参考电流电路,用于生成预定电平的参考电流;以及电流比较器,用于接收存储器电流和参考电流,并生成指示存储器电流和参考电流的电平之间的差的信号;参考电流电路还用于接收由电流比较器生成的信号,并基于接收到的信号将参考电流调整到另一预定电平。
根据本发明实施例的另一个方面,提供了一种计算器件,包括:多个存储器元件,逻辑上以行和列排列,每个存储器元件包括控制端子和载流端子对,并且用于存储权重值并通过载流电极生成对应于控制端子处接收的信号和权重值的电流;电流比较器;多个开关器件,每个开关器件耦接存储器元件的列和电流比较器;以及参考电流电路,用于生成预定电平的参考电流;电流比较器连接至参考电流电路,并用于从存储器电路接收参考电流和总电流,以将参考电流电平与来自存储器电路的总电流的电平进行比较,以及以生成指示比较的结果的输出信号,参考电流电路还用于接收由电流比较器生成的输出信号,并根据从电流比较器接收的信号将参考电流调整到另一个预定电平。
根据本发明实施例的又一个方面,提供了一种计算方法,包括:从一个或多个存储器元件生成第一电流,第一电流指示存储在存储器元件中的数据与施加到存储器元件的一个或多个输入信号之间的操作;生成预定电平的第二电流;比较第一电流和第二电流的电平;调节第二电流直到第二电流与第一电流基本相同为止;以及确定第一电流的电平。
附图说明
当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各个方面。应该强调,根据工业中的标准实践,各个部件未按比例绘制并且仅用于说明的目的。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。
图1是示出根据一些实施例的具有存储器电路和用于读取存储在存储器电路中的数据的子系统的存储器系统的示例的框图。
图2是根据一些实施例的图1所示的存储系统中的存储器电路的示意图。
图3是根据一些实施例的图1所示的存储系统中的存储器电路的示意图。
图4A和图4B示出了根据一些实施例的在图1所示的存储系统中的存储器电路。
图5A和图5B示出了根据一些实施例的图1所示的存储系统中的存储器电路。
图6A和图6B示出了根据一些实施例的图1所示的存储系统中的存储器电路。
图7示出了根据一些实施例的具有电流数模转换器(“DAC”)电路的图1的存储系统的示例的框图。
图8A示出了根据一些实施例的在图7中所示的存储器系统中的电流DAC电路。
图8B和图8C示出了根据一些实施例的图8A的电流DAC电路的更详细的实施方式。
图9示意性地示出了根据一些实施例的在图1和图7所示的存储系统的部分中的存储器电路和电流DAC电路的具体实施方式的组合。
图10A示出了根据一些实施例图1所示类型的存储器系统的框图,其中电流比较器由负载电路和电压比较器实现。
图10B示出了根据一些实施例的图1所示类型的存储器系统的框图,其中电流比较器直接比较存储器电路和电流DAC电路中的电流。
图11A-图11D示出了根据一些实施例的具有图10A所示的负载电路的特定实现的图10A所示的那种存储系统。
图12A和图12B示出了根据一些实施例的具有图10A所示的电流比较器的特定实现的图所示的那种存储系统。
图13是概述根据一些实施例的计算方法的流程图。
具体实施方式
以下公开内容提供了许多用于实现本发明的不同特征不同的实施例或实例。下面描述了组件和布置的具体实施例或实例以简化本发明。当然,这些仅是实例而不旨在限制。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可以在各个示例中重复参考数字和/或字母。该重复是为了简单和清楚的目的,并且其本身不指示讨论的各个实施例和/或配置之间的关系。
在本公开中示出的特定示例涉及存储器中计算(“CIM”)。存储器计算应用的一个示例是乘法累加运算,其中输入的数字阵列与另一个数字(权重)阵列(例如,列)中的各个元素相乘(加权),乘积被相加(累加)以生成输出和。该过程在数学上类似于点积(或标量积)过程,在该过程中,两个向量的分量彼此成对相乘,并且对分量对的乘积求和。在一些人工智能(AI)系统中,例如人工神经网络,可以通过多列权重对数字阵列进行加权。每列的加权生成相应的输出总和。因此,通过多列矩阵中的权重,从数字的输入阵列中得出加和的输出阵列。
各种类型的存储器件可用于执行CIM任务。例如,静态随机存取存储器(“SRAM”)单元;可以使用非易失性存储器(“NVM”)单元,诸如eFlash单元、电阻型随机存取存储器(“RRAM”)单元和铁电场效应晶体管(“FeFET”)。
传统的CIM电路通常使用运算放大器(“OP-amps”)来计算电压信号,该电压信号是由在存储单元中积分电流而生成的。这种电路不适合在不使用大静态电流的情况下进行高速操作。较大的静态电流信号需要高功耗。另外,通常采用CIM电路中每个存储单元的钳位电路以确保每个存储单元的单元电流是均匀的。这种钳位电路进一步增加了CIM电路的制造成本。
根据本公开的一些方面,代替电压信号,通过将来自CIM存储器电路的电流信号与由电流数模转换器(“DAC”)电路生成的参考电流进行比较来计算来自CIM存储器电路的电流信号。电流比较操作可以以比电压计算更高的速度执行。在一些实施例中,简单的时钟门控开关用于在电流求和分支中生成均匀电流。时钟门控开关还用于限制单元电流导通的时间,从而减少静态功耗。
在一些实施例中,电流比较器用于比较通过存储器电路的存储器电流和通过电流DAC电路的参考电流,并生成指示两个电流之间的差的输出信号。诸如逐次逼近寄存器(“SAR”)逻辑电路(例如,SAR模数转换器(“ADC”))的逻辑电路接收输出信号并生成相应的数字信号。电流DAC电路基于数字信号调整参考电流,并且将参考电流(在参考电流处两个电流之间的差小于某个值)作为存储器电流的代表。
参考图1,在一些实施例中,CIM系统100包括存储器电路140,该存储器电路140包括存储器电流发生器142,该存储器电流发生器142存储权重(即,权重值)并用于接收输入数据和生成存储器电流I1,存储器电流I1指示输入数据和存储的权重的一些函数。例如,在一些实施例中,存储器电流是输入数据与各个存储的权重的乘积之和。CIM系统100还包括参考电流电路130,该参考电流电路130包括SAR逻辑电路134(例如,SAR模数转换器(“ADC”))和电流DAC电路132,该电流DAC电路132用于响应于来自SAR逻辑电路134的数字控制信号生成参考电流I1、I2。存储器电流发生器142和电流DAC电路132分别连接到开关电路120的时钟门控晶体管122和124的源极侧。时钟门控晶体管122和124连接到电流比较器110。时钟门控晶体管122和124由时钟信号CLK选通,并且时钟门控晶体管122和124的漏极侧的电压取决于分别通过存储器电流发生器142和电流DAC电路132的I1和I2。尽管在图1中示出存储器电流发生器142通过单个时钟门控晶体管122连接到电流比较器110,但是在具有多个存储器单元(列)的存储器电路中,如在下面的实施例中进一步所示,可以包括多个时钟门控晶体管122,每个分支一个。电流比较器110生成指示电流I1和I2之间的差的输出信号。输出信号被馈送到SAR逻辑电路134,SAR逻辑电路134生成电流DAC电路132使用的数字控制信号。
在一些实施例中,存储器电路140至少在存储单元的列上并且能够执行多位乘法和累加(“MAC”)操作。图2示出了存储器电路140的实施方式存储器电流电路240,其包括存储器元件220(每个索引为i,j,如在第i行212i和第j列214j中)的分支(列)214(每列索引为第j列)。m个列214中的每个包括时钟门控晶体管M1、M2、...、Mm,它们可以交替地导通和截止,从而可以将每列或位线(“BL”)的电流与参考电流进行比较。每个列214能够执行MAC操作,其中输入是二进制数,并且存储的权重的数量是达到可用存储状态的数量。
在该示例实施例中,每个存储器元件220是非易失性存储(“NVM”)单元,诸如eFlash、RRAM、FeFET、磁阻RAM(“MRAM”)或非易失性SRAM存储单元。在图2所示的示例中,每个存储器元件220是具有控制端子222(例如,栅极)和两个载流端子224、226(例如,FeFET中的漏极和源极)的三端子NVM单元。存储在每个存储器元件220中的数据例如由载流端子224、226之间的电阻表示。在一些实施例中,每个存储器元件220是多级存储器元件,即,能够具有多于两个的存储状态,诸如电流水平或电阻水平。输入信号的每一位被施加到每个存储器元件220的控制输入222(也称为字线(“WL”))以打开或关闭存储器元件。例如,如果WL1上的输入为1,则存储器元件2201,1导通,从而导通其由电阻电平或存储状态确定的存储器元件2201,1的电流;如果WL1上的输入为0,则存储器元件2201,1为关断,因此对于任何非零存储值,不传导电流或不传导低于阈值电平的电流。因此,通过每个存储器元件220的电流指示(例如,成比例)存储在单元中的(多位)值Wj与存在于单元的WL上的位的值(0或1)BWL(i,j)的乘积。
每个列214j中的存储器元件220并联连接在列的时钟门控晶体管M(j)(例如M1)的源极和参考电压(例如地)之间。因此,流过M(j)的电流指示(例如,成比例)存储在单元中的(多位)值Wj与存在于列中的存储单元的各个WL上的位的值(0或1)BWL(i,j)的乘积之和。
每个存储器元件220具有被定义为“W/L比率”的特征尺寸,该特征尺寸是与栅极宽度和长度有关的几何因子。存储器元件的大小决定了给定栅极偏置电流的大小。在一些实施例中,对同一列中的存储器元件220的特征尺寸进行二进制加权,即,根据各个WL的位置值。例如,在一些实施例中,用于WL(i)的存储器元件的大小可以与2i-1成正比,i=1、2、…、n。在这样的示例中,如果存储器元件2001,j的尺寸是a,则2002,j的尺寸是2a,2003,j的尺寸是4a,…,而200n,j的尺寸是2n-1a。因此,在一些实施例中,每个存储单元中的电流与2i-1·BWL(i,j)·Wj成比例。第j列中的总电流BL(j)是流过该列中所有存储单元的电流之和,因此与∑i2i-1·BWL(i,j)·Wj成比例。这是n位输入(BnBn-1…B2B1)j与列214j的多位权重Wj的乘积。
在一些实施例中,时钟门控晶体管M1、M2、...、Mm可以一次导通一个。在这种情况下,I1是晶体管M(j)导通的列214j的电流。在其他实施例中,可以同时导通多个或全部时钟门控晶体管M1、M2、...,Mm。在这种情况下,I1与多位输入和各个多位权重的乘积之和成比例。因此,由存储器电流电路240实现多位乘法和累加(“MAC”)操作。
在一些实施例中,例如图3所示的示例,图1中的存储器电路140可以由存储器电流电路340实现,存储器电流电路340与图2中的存储器电流电路240类似,但是每个多级NVM220由一组二进制NVM 320i,j,k代替,其中i表示第i行312i,j表示第j个位线314j,BL(j),k表示权重的第k个位。在此示例中,k=1、2、...、6,但可以是任何整数,具体取决于所用权重的精度。
在一些实施例中,不仅如图2所示的示例那样通过多位输入的位置值来加权每个NVM单元320的尺寸,还例如图3中的示例,通过多位权重中的位的位置值BW。即,2i-1·BWL(i,j)·2k-1·BW(k)·Wj。在这里示出的示例中,在每行312i内,六个存储器元件之间的相对尺寸分别为1、2、4、8、16和32。然后,每个BL内每行的电流总和是输入中的位与多位权重的乘积,而每个BL中的总电流又是多位输入与多位权重的乘积。像图2所示的示例存储器电流电路240一样,如果同时打开多个或所有时钟门控晶体管M1、M2、...、Mm,则I1与多位输入与对应的多位权重的乘积之和成比例。因此,由存储器电流电路340实现多位乘法和累加(“MAC”)操作。
在一些实施例中,诸如图4A和图4B所示的示例,除了每个RVM电路420代替了每个NVM单元320之外,存储器电流电路440与上述图3所示的存储器电流电路340相似,在该示例中,其包括NVM切换电路422和加权晶体管424,即,在这种情况下,如上关于图3所述,其晶体管尺寸是通过多位输入中的位置值和多位权重而二进制加权的。NVM切换电路422包括用于存储数据(在这种情况下为二进制(两级))的RRAM晶体管452。当使能被信号时,RRAM晶体管452由信号WL控制以输出数据。NVM切换电路422还包括用于初始化RRAM晶体管452的预设晶体管454,并且包括CMOS反相器,该CMOS反相器包括用于驱动加权晶体管424的晶体管456和458。
在其他实施例中,例如图5A和图5B所示的示例,存储器电流电路540与上述电路以及图4A和图4B所示的存储器电流电路440类似,不同之处在于RRAM晶体管452被与开关晶体管564串联的两端子NVM单元562替代。开关晶体管564由信号WL控制,以使NVM单元562能够在信号使能时输出数据,该数据表现为作为相应的BL1、BL2或BLm(也参见图2、3和4)中的总电流的部分的由加权晶体管424(由晶体管456和458驱动)生成的电流。
在其他实施例中,例如图6A和图6B所示的示例,存储器电流电路640与上述电路以及图4A和图4B所示的存储器电流电路440相似,不同之处在于用SRAM开关电路622代替NVM切换电路422,SRAM开关电路622包括6T SRAM单元,6T SRAM单元包括在节点N和NB处彼此交叉耦合的CMOS反相器对652和654以及存取晶体管对656和658,存取晶体管对656和658使能分别来自SRAM单元的位线(未示出)的信号WT和WTB的写入。SRAM开关电路622还包括分别由6T SRAM单元的相应节点控制和晶体管对662和664。晶体管662和664的栅极分别连接到节点N和NB。晶体管662和664的源极彼此连接并且连接到加权晶体管624的栅极。晶体管662的漏极连接到WL;晶体管664的漏极连接到地。对于存储在节点N处的“1”,因此在节点NB处存储“0”,晶体管662导通,晶体管664截止。因此,到加权晶体管624的输出跟随信号WL。对于在节点N处存储的“0”,并且因此在节点NB处存储的“1”,晶体管662截止,并且晶体管664导通。因此,到加权晶体管624的输出为“0”,与信号WL无关。因此,由节点N处的值和WL处的值的二进制乘积给出加权晶体管624的输出。因此,每个单元620在加权晶体管624中生成电流,该电流与存储在SRAM开关电路622中的权重和WL处的值之间的乘积成比例,并且该电流是相应的BL1、BL2或BLm(参见图2、图3、图4和图5)中总电流的部分。
转到参考电流电路130的示例实施例,如图7的框图所示,电流DAC电路132包括参考电流生成器736,该参考电流生成器736基于来自SAR逻辑电路134的数字控制信号生成模拟电流信号,如以下结合图8A-图8C和图9的示例中所解释的。在一些实施例中,如图8A所示,参考电流生成器器736由一组电流源8381、8382,…,838k,838n实现,其可以如下面结合图8B和图8C更详细地解释地实现,彼此并联连接,每个都由各自的二进制信号C1、C2、…、Ck、…、Cn控制。在一些实施例中,电流源838的数量对应于(例如,与)输入数据中的位数。
更具体地,在一些实施例中,如图8B所示,每个电流源838k用参考NVM单元848k来实现。此外,在一些实施例中,参考NVM单元848的尺寸是二进制加权的,如以上关于存储器电流电路中的NVM单元和加权晶体管所解释的。
在一些实施例中,参考NVM单元848是多级NVM单元。在一些实施例中,每个参考NVM单元848具有与存储器电流电路中的电流电平相对应的电流电平,其总电流将与参考电流电路836匹配。例如,如果在图3中的电路中的每个NVM单元具有四个电流电平,则在一些实施例中,参考NVM单元848每个也具有四个电平。此外,在一些实施例中,参考NVM单元848的电流电平基本上与存储器电流电路中的NVM单元的电流电平匹配。在一些实施例中,其中存储器电流电路中的NVM单元的电流被设置为相等间隔的电平,并且参考NVM单元848的电流也被设置为相等间隔的电平。在其他实施例中,将存储器电流电路中的NVM单元的电流电平设置为相等间隔的电平,并且参考NVM单元848的电流电平被间隔开,使得两个最接近的参考电流间隔电平之间的每个参考电流间隔包含NVM单元电流电平,因此每个NVM单元电流电平可以由上下限唯一地括起来。即,对于存储器电流电路中的每个电流电平,参考电流电路有两个相邻的电流电平,使得可以将存储器电流电路中的每个电流电平确定为在参考电流电路的最小电流间隔内。
在一些实施例中,例如图8C所示的示例,参考电流电路836用温度计DAC实现,其中电流源858彼此相同,即响应于温度而生成相同的控制信号。温度计DAC的输入是温度计编码的数字信号,其代表具有长度为n的序列“1”的数字n,即代表具有n个连续“1”的整数n。例如,0000000是十进制0的7位温度计代码,0001111是十进制4的7位温度计代码,1111111是十进制7的7位温度计代码;等等。例如,电流源858可以是类似于图8B但是彼此具有相同尺寸的多级参考NVM单元。
存储器电流电路和参考电流电路的各种组合可以在CIM系统中使用。例如,CIM系统100可以用图9所示的CIM系统900来实现。该系统包括图3的存储器电流电路340和图8B的参考电流电路836(添加了时钟门控晶体管962)。存储器电流电路340生成存储器电流I1,参考电流电路836生成参考电流I2。电流比较器110可以比较I1和I2,电流比较器110将比较信号输出到SAR逻辑电路134,SAR逻辑电路134基于接收到的比较信号来调节电流DAC电路132的电流输出,如上所述。
在电流比较操作中,根据一些实施例,图1中的SAR逻辑电路134处理从电流比较器110接收到的比较结果,然后调节控制信号以找到产生与存储器电流I1匹配(尽可能接近)的参考电流I2的数字控制信号。匹配算法可以是任何类型的数字搜索。例如,在SAR类型匹配算法中,SAR逻辑电路134被编程为将数字控制信号的最高有效位(“MSB”)设置为I2,其余位设置为关闭,并与I1进行比较。如果I1大于I2,则数字控制信号的下一个MSB也将打开,并且将I2再次与I1比较;如果I1小于I2,则关闭MSB,然后打开数字控制信号的下一个MSB,然后将I2与I1再次进行比较。使用数字控制信号中的低有效位逐渐重复此过程,直到达到最低有效位(“LSB”)。然后将数字控制信号作为I1、或者多位输入和多位权重的乘积的数字表示。
在其他实施例中,使用图8C中所示类型的温度计DAC,其中每个电流源858k生成相同的电流。SAR逻辑电路134可以被编程为以单个电流源(参考单元1 8581)开始导通并比较I2和I1。如果I1大于I2,则还会打开一个附加电流源,即参考单元2 8582。重复该过程,直到I1等于I2。然后将打开的参考单元的数量作为I1、或者多位输入与多位权重的乘积的数字表示。
转向CIM系统100的另一方面,图1中的电流比较器110可以具有各种合适的结构。在一些实施例中,例如图10A所示的示例,电流比较器110由电流比较器1010实现,包括连接到时钟门控晶体管122和124的漏极的负载电路1012以及电压比较器1014,负载电路1012的输入端也连接到时钟门控晶体管122和124的漏极。负载电路1012从I1和I2在时钟门控晶体管122和124的漏极处生成差分电压ΔV。电压比较器1014然后生成指示比较结果的输出信号,即,指示ΔI和I2之间的相对电流电平的ΔV的极性(符号)。
在一些实施例中,例如图10B中所示的示例,电流比较器110(图1中)由电流比较器1010'实现,电流比较器1010'生成指示I1和I2之间的相对电流电平的输出信号,而无需首先生成差分电压信号。
在一些实施例中,例如图11A-图11D中所示的那些实施例,可以以多种方式来实现CIM系统1100中的负载电路1012(在图10A中)。例如,如图11B所示,负载电路1012A包括两个有源偏置的晶体管1122和1124。在该示例中,给定两个晶体管的栅极上的相同偏置,不同的电流I1和I2导致不同的漏极-源极电压。由于两个晶体管1122和1124的漏极都连接到公共电压源,所以源极电压是不同的,从而导致差分电压ΔV。作为另一示例,如图11C所示,图11B中的单个晶体管1122和1124中的每个被级联晶体管对替代,即,晶体管1122被晶体管1132和1136替代,晶体管1124被晶体管1134和1138替代。晶体管1132和1134的栅极经受第一偏置电压;晶体管1136和1138的栅极经受第二偏置电压。类似于负载电路1012A,不同的电流I1和I2导致不同的漏极-源极电压。由于晶体管1132和1134的漏极均连接到公共电压源,所以晶体管1136和1138的源极电压不同,从而导致差分电压ΔV。由于级联配置,可以基于相同的电流差生成更大的差分电压ΔV。在图11D所示的另一示例中,负载电路1012C包括两个相同的电阻器1142和1144。根据欧姆定律,不同的I1和I2导致差分电压ΔV。
在一些实施例中,例如图12A和图12B所示的示例,在不使用差分电压的情况下输出指示比较结果的信号的电流比较器1010'(在图10B中)包括锁存电路,该锁存电路包括PMOS晶体管1222和1224以及NMOS晶体管1226和1228。电流比较器1010'还包括时钟控制的PMOS晶体管对1232和1234,用于使电流比较器1010'复位。在通过时钟脉冲CLK将电流比较器1010'复位之后,高于I2的I1将导致节点1242处的电压低于节点1244处的电压。由于锁存电路的正反馈,因此,节点1242将继续下降,而节点1244处的电压将继续上升。结果,如果I1>I2,则节点1244的输出电压迅速变为电源电压VDD,如果I1<I2,则输出电压变为接地电压。因此,节点1244(或1242)处的输出电压为1或0,然后可用作逻辑电路134的输入。
因此,根据本公开的更普遍的方面,如在图13中概述的,计算方法1300包括1310,例如利用存储器电流电路240、340、440、540或640从一个或多个存储器元件生成第一电流,第一电流指示存储在该存储器元件中的数据与施加到该存储器元件的一个或多个输入信号之间的操作(例如,乘法)。方法1300还包括1320,例如利用参考电流电路836或936生成预定电平的第二电流。方法1300还包括1330,例如利用电流比较器1010、1010’、1110或1210’将第一和第二电流的电平进行比较。方法1300还包括1340,例如利用逻辑电路调整第二电流,直到它与第一电流基本相同为止。此外,方法1300包括1350,例如通过将第一电流的电平确定为第二电流和调整步骤1340的结束处的电平和确定第一电流的电平。
由于需要电流积分以生成电压,因此与基于电压的CIM操作相比,在以上公开的示例CIM系统中使用电流比较能够实现诸如MAC操作的高速(GHz时钟速率)CIM操作。消除通常在基于电压的CIM系统中使用的钳位电路,可以降低制造成本,同时保持电流均匀。此外,时钟门控晶体管的使用避免或减少了静态电流,从而降低了功耗。
在一些实施例中,一种计算系统包括:存储器电路,包括用于接收第一组数据的输入和用于存储第二组数据的多个存储器元件,存储器电路用于生成指示第一组数据和第二组数据的组合的电平的存储器电流;参考电流电路,用于生成预定电平的参考电流;以及电流比较器,用于接收存储器电流和参考电流,并生成指示存储器电流和参考电流的电平之间的差的信号;参考电流电路还用于接收由电流比较器生成的信号,并基于接收到的信号将参考电流调整到另一预定电平。
在上述计算系统中,参考电流电路包括:电流控制电路,用于接收由电流比较器生成的信号,并生成与接收的电流比较器生成的信号相对应的电流控制信号;和电流发生器,用于接收电流控制信号并基于电流控制信号将参考电流调整到另一预定电平。
在上述计算系统中,电流控制电路用于生成与接收的电流比较器生成的信号相对应的数字电流控制信号。
在上述计算系统中,电流控制电路包括数模转换器(“DAC”),数模转换器用于基于从电流控制电路接收的数字电流控制信号来生成参考电流。
在上述计算系统中,电流控制电路包括多个电流源,多个电流源中的每个用于接收数字电流控制信号的位并根据接收的位的状态来生成电流。
在上述计算系统中,多个电流源中的每个包括用于存储数据,接收数字电流控制信号的相应位并且生成取决于所接收的位和电流的电平的电流的存储器元件。
在上述计算系统中,多个存储器元件中的每个包括多级非易失性存储器(“NVM”)单元。
在上述计算系统中,多个电流源彼此基本相同,并且其中,电流控制电路用于生成温度计编码的数字电流控制信号。
在上述计算系统中,每个存储器元件具有特征尺寸,多个存储器元件的特征尺寸被二进制加权。
在上述计算系统中,电流比较器包括:负载电路,用于生成具有取决于存储器电流和参考电流的相对电平的极性的差分电压;以及电压比较器,用于接收差分电压并生成指示差分电压的极性的输出。
在上述计算系统中,还包括多个开关器件,每个开关器件将多个存储器元件的子集连接到电流比较器,其中,多个存储器元件连接到公共参考电压。
在一些实施例中,一种计算器件包括:多个存储器元件,逻辑上以行和列排列,每个存储器元件包括控制端子和载流端子对,并且用于存储权重值并通过载流电极生成对应于控制端子处接收的信号和权重值的电流;电流比较器;多个开关器件,每个开关器件耦接存储器元件的列和电流比较器;以及参考电流电路,用于生成预定电平的参考电流;电流比较器连接至参考电流电路,并用于从存储器电路接收参考电流和总电流,以将参考电流电平与来自存储器电路的总电流的电平进行比较,以及以生成指示比较的结果的输出信号,参考电流电路还用于接收由电流比较器生成的输出信号,并根据从电流比较器接收的信号将参考电流调整到另一个预定电平。
在上述计算器件中,多个存储器元件中的每个包括NVM单元,NVM单元具有根据NNV单元所位于的行的二进制加权特征尺寸。
在上述计算器件中,参考电流电路包括:电流控制电路,用于接收由电流比较器生成的信号,并生成对应于接收的电流比较器生成的信号相的电流控制信号;和电流发生器,用于接收电流控制信号并基于电流控制信号将参考电流调整到另一预定电平。
在上述计算器件中,电流控制电路包括逻辑电路,逻辑电路被配置为从电流比较器接收信号,并且基于从电流比较器接收到的信号并且根据连续-逼近算法来生成数字电流控制信号。
在上述计算器件中,电流控制电路包括逻辑电路,逻辑电路被配置为从电流比较器接收信号,并且基于从电流比较器接收到的信号来生成温度计编码的数字电流控制信号。
在一些实施例中,一种计算方法包括:从一个或多个存储器元件生成第一电流,第一电流指示存储在存储器元件中的数据与施加到存储器元件的一个或多个输入信号之间的操作;生成预定电平的第二电流;比较第一电流和第二电流的电平;调节第二电流直到第二电流与第一电流基本相同为止;以及确定第一电流的电平。
在上述方法中:存储在存储器元件中的数据指示权重值;生成第一电流包括:生成与权重值和提供给各个存储器元件的输入信号之间的乘积之和相对应的第一电流;调节第二电流包括:基于第一电流和第二电流的比较来生成数字电流控制信号,并使用数字电流控制信号来接通或断开多个电流源中的一个或多个,每个电流源用于提供各个已知电平的电流;和确定第一电流的电平包括:确定指示第一电流的电平的数字电流控制信号,在数字电流控制信号处第一电流和第二电流基本相同。
在上述方法中,生成第一电流包括:从存储器元件阵列和施加到存储器元件的各个输入信号中生成信号,信号指示存储器元件中所存储的数据与各个输入信号之间的乘积之和。
在上述方法中,调节第二电流包括:基于比较步骤的结果来生成温度计编码的数字电流控制信号。
上述概述了几个实施例的特征,以便本领域技术人员可以更好地理解本公开的各个方面。本领域技术人员应当理解,他们可以容易地使用本公开作为设计或修改用于实现本文所介绍的实施例的相同目的和/或实现其相同优点的其它过程和结构的基础。本领域技术人员还应当认识到,此类等效结构不背离本发明的精神和范围,并且它们可以在不背离本发明的精神和范围的情况下在本发明中进行各种改变、替换以及改变。

Claims (20)

1.一种计算系统,包括:
存储器电路,包括用于接收第一组数据的输入和用于存储第二组数据的多个存储器元件,所述存储器电路用于生成指示所述第一组数据和所述第二组数据的组合的电平的存储器电流;
参考电流电路,用于生成预定电平的参考电流;以及
电流比较器;
第一时钟门控开关器件;以及
第二时钟门控开关器件;
所述第一时钟门控开关器件和所述第二时钟门控开关器件适用于使所述电流比较器分别接收所述存储器电流和所述参考电流,并生成指示所述存储器电流和所述参考电流的所述电平之间的差的信号;
所述参考电流电路还用于接收由所述电流比较器生成的所述信号,并基于接收到的所述信号将所述参考电流调整到另一预定电平。
2.根据权利要求1所述的计算系统,其中,所述参考电流电路包括:
电流控制电路,用于接收由所述电流比较器生成的所述信号,并生成与接收的所述电流比较器生成的所述信号相对应的电流控制信号;和
电流发生器,用于接收所述电流控制信号并基于所述电流控制信号将所述参考电流调整到另一预定电平。
3.根据权利要求2所述的计算系统,其中,所述电流控制电路用于生成与接收的所述电流比较器生成的所述信号相对应的数字电流控制信号。
4.根据权利要求3所述的计算系统,其中,所述电流控制电路包括数模转换器,所述数模转换器用于基于从所述电流控制电路接收的所述数字电流控制信号来生成所述参考电流。
5.根据权利要求3所述的计算系统,其中,所述电流控制电路包括多个电流源,所述多个电流源中的每个用于接收所述数字电流控制信号的位并根据接收的所述位的状态来生成电流。
6.根据权利要求5所述的计算系统,其中,所述多个电流源中的每个包括存储器元件,所述存储器元件用于存储数据、接收所述数字电流控制信号的相应位以及生成电平取决于所接收的位和所存储的数据的电流。
7.根据权利要求6所述的计算系统,其中,所述多个存储器元件中的每个包括多级非易失性存储器单元。
8.根据权利要求5所述的计算系统,其中,所述多个电流源彼此基本相同,并且其中,所述电流控制电路用于生成温度计编码的数字电流控制信号。
9.根据权利要求1所述的计算系统,每个所述存储器元件具有特征尺寸,所述多个存储器元件的所述特征尺寸是二进制加权的。
10.根据权利要求1所述的计算系统,其中,所述电流比较器包括:负载电路,用于生成具有取决于所述存储器电流和参考电流的相对电平的极性的差分电压;以及电压比较器,用于接收所述差分电压并生成指示所述差分电压的所述极性的输出。
11.根据权利要求1所述的计算系统,其中,所述多个存储器元件的每个均包括非易失性易失存储器开关电路和适用于由所述非易失性易失存储器导通和关断且将所述存储电流的对应部分提供至所述电流比较器的晶体管,其中,所述多个存储器元件连接到公共参考电压。
12.一种计算器件,包括:
多个存储器元件,逻辑上以行和列排列,每个所述存储器元件包括控制端子和载流端子对,并且用于存储权重值并通过载流端子生成对应于所述控制端子处接收的信号和所述权重值的电流;
电流比较器;
多个门控开关器件,每个开关器件耦接所述存储器元件的列和所述电流比较器;以及
参考电流电路,用于生成预定电平的参考电流;
所述电流比较器连接至所述参考电流电路,并用于从所述存储器电路接收所述参考电流和总电流,以将所述参考电流电平与来自所述存储器电路的所述总电流的电平进行比较,以及以生成指示所述比较的结果的输出信号,所述参考电流电路还用于接收由所述电流比较器生成的所述输出信号,并根据从所述电流比较器接收的所述信号将所述参考电流调整到另一个预定电平。
13.根据权利要求12所述的计算器件,其中,所述多个存储器元件中的每个包括非易失性存储器单元,所述非易失性存储器单元具有根据所述非易失性存储器单元所位于的行的二进制加权特征尺寸。
14.根据权利要求12所述的计算器件,其中,所述参考电流电路包括:
电流控制电路,用于接收由所述电流比较器生成的所述信号,并生成对应于接收的所述电流比较器生成的所述信号相的电流控制信号;和
电流发生器,用于接收所述电流控制信号并基于所述电流控制信号将所述参考电流调整到另一预定电平。
15.根据权利要求14所述的计算器件,其中,所述电流控制电路包括逻辑电路,所述逻辑电路被配置为从所述电流比较器接收所述信号,并且基于从所述电流比较器接收到的所述信号并且根据连续-逼近算法来生成数字电流控制信号。
16.根据权利要求14所述的计算器件,其中,所述电流控制电路包括逻辑电路,所述逻辑电路被配置为从所述电流比较器接收所述信号,并且基于从所述电流比较器接收到的所述信号来生成温度计编码的数字电流控制信号。
17.一种计算方法,包括:
从一个或多个存储器元件生成第一电流,所述第一电流指示存储在所述存储器元件中的数据与施加到所述存储器元件的一个或多个输入信号之间的操作;
生成预定电平的第二电流;
基于时钟信号门控所述第一电流和所述第二电流中的至少一个;
比较所述第一电流和所述第二电流的电平;
调节所述第二电流直到所述第二电流与所述第一电流基本相同为止;以及
确定所述第一电流的所述电平。
18.根据权利要求17所述的方法,其中:
存储在所述存储器元件中的所述数据指示权重值;
所述第一电流对应于所述权重值和提供给各个所述存储器元件的所述输入信号之间的乘积之和的第一电流;
调节所述第二电流包括:基于所述第一电流和所述第二电流的比较来生成数字电流控制信号,并使用所述数字电流控制信号来接通或断开多个电流源中的一个或多个,每个电流源用于提供各个已知电平的电流;和
确定所述第一电流的所述电平包括:确定指示所述第一电流的所述电平的所述数字电流控制信号,在所述数字电流控制信号处所述第一电流和所述第二电流基本相同。
19.根据权利要求17所述的方法,其中,生成所述第一电流包括:从存储器元件阵列和施加到所述存储器元件的各个输入信号中生成信号,所述信号指示所述存储器元件中所存储的所述数据与各个输入信号之间的乘积之和。
20.根据权利要求17所述的方法,其中,调节所述第二电流包括:基于比较步骤的结果来生成温度计编码的数字电流控制信号。
CN202110478689.9A 2020-04-30 2021-04-30 计算系统、计算器件和计算方法 Active CN113160860B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063018101P 2020-04-30 2020-04-30
US63/018,101 2020-04-30
US17/185,145 2021-02-25
US17/185,145 US11430491B2 (en) 2020-04-30 2021-02-25 Device and method for reading data in memory

Publications (2)

Publication Number Publication Date
CN113160860A CN113160860A (zh) 2021-07-23
CN113160860B true CN113160860B (zh) 2024-05-07

Family

ID=76872875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110478689.9A Active CN113160860B (zh) 2020-04-30 2021-04-30 计算系统、计算器件和计算方法

Country Status (4)

Country Link
US (1) US20220366948A1 (zh)
CN (1) CN113160860B (zh)
DE (1) DE102021105181A1 (zh)
TW (1) TWI795766B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473340B1 (en) * 1999-10-29 2002-10-29 Stmicroelectronics S.R.L. Reading method and circuit for a non-volatile memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527607A (ja) * 2005-01-12 2008-07-24 エヌエックスピー ビー ヴィ メモリアレイと基準レベル発生回路を備える回路
US7405988B2 (en) * 2005-09-26 2008-07-29 Silicon Storage Technology, Inc. Method and apparatus for systematic and random variation and mismatch compensation for multilevel flash memory operation
ITTO20070109A1 (it) * 2007-02-14 2008-08-15 St Microelectronics Srl Circuito e metodo di lettura per un dispositivo di memoria non volatile basati sulla generazione adattativa di una grandezza elettrica di riferimento
US7755962B2 (en) * 2007-07-09 2010-07-13 Samsung Electronics Co., Ltd. Semiconductor memory devices, memory systems and computing systems including the same
KR102187485B1 (ko) * 2014-02-21 2020-12-08 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 센싱 방법
US10803943B2 (en) * 2017-11-29 2020-10-13 Silicon Storage Technology, Inc. Neural network classifier using array of four-gate non-volatile memory cells
US10340935B1 (en) * 2018-01-12 2019-07-02 Dialog Semiconductor (Uk) Limited Thermometer digital to analog converter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473340B1 (en) * 1999-10-29 2002-10-29 Stmicroelectronics S.R.L. Reading method and circuit for a non-volatile memory

Also Published As

Publication number Publication date
CN113160860A (zh) 2021-07-23
TW202213334A (zh) 2022-04-01
US20220366948A1 (en) 2022-11-17
DE102021105181A1 (de) 2021-11-04
TWI795766B (zh) 2023-03-11

Similar Documents

Publication Publication Date Title
US11430491B2 (en) Device and method for reading data in memory
US11436478B2 (en) Control circuit for multiply accumulate circuit of neural network system
US20230113231A1 (en) Methods and systems of operating a neural circuit in a non-volatile memory based neural-array
US11132176B2 (en) Non-volatile computing method in flash memory
US10332592B2 (en) Hardware accelerators for calculating node values of neural networks
CN112951294B (zh) 计算设备以及计算方法
US10217512B1 (en) Unit cell with floating gate MOSFET for analog memory
US20210248452A1 (en) Multiply accumulate circuit for binary neural network system
CN113314163B (zh) 存储器器件、计算器件以及计算方法
Mu et al. SRAM-based in-memory computing macro featuring voltage-mode accumulator and row-by-row ADC for processing neural networks
US20230297235A1 (en) Sram-based cell for in-memory computing and hybrid computations/storage memory architecture
Huang et al. Fefet based in-memory hyperdimensional encoding design
CN113160860B (zh) 计算系统、计算器件和计算方法
US20230177319A1 (en) Methods and systems of operating a neural circuit in a non-volatile memory based neural-array
US11809838B2 (en) Memory device and operation method thereof
US20220342635A1 (en) One-Transistor Processing Element For Non-Volatile Memory Crossbar Array
Lee et al. Split WL 6T SRAM Based Bit Serial Computing in Memory Macro With High Signal Margin and High Throughput
Saragada et al. An in-memory architecture for machine learning classifier using logistic regression
CN116486857B (zh) 一种基于电荷再分配的存内计算电路
CN111722830B (zh) 快闪存储器的非易失性计算方法
CN117133334A (zh) 存储器内计算电路
Yadav et al. A MACHINE LEARNING AND NEURAL NETWORK BASED STATIC RAM DESIGN ON 65-NM CMOS

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
GR01 Patent grant
GR01 Patent grant