CN115210810A - 存储器内计算动态随机存取存储器 - Google Patents
存储器内计算动态随机存取存储器 Download PDFInfo
- Publication number
- CN115210810A CN115210810A CN202180018331.6A CN202180018331A CN115210810A CN 115210810 A CN115210810 A CN 115210810A CN 202180018331 A CN202180018331 A CN 202180018331A CN 115210810 A CN115210810 A CN 115210810A
- Authority
- CN
- China
- Prior art keywords
- transistor
- dram
- bit
- bit line
- mac
- 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
Links
- 239000003990 capacitor Substances 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013135 deep learning Methods 0.000 claims description 3
- 230000001413 cellular effect Effects 0.000 claims description 2
- 210000004027 cell Anatomy 0.000 description 48
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 238000007599 discharging Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 229920005994 diacetyl cellulose Polymers 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/403—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh
- G11C11/405—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells with charge regeneration common to a multiplicity of memory cells, i.e. external refresh with three charge-transfer gates, e.g. MOS transistors, per cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4097—Bit-line organisation, e.g. bit-line layout, folded bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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
- G11C11/565—Digital 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 using capacitive charge storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/145—Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/08—Duration or width modulation ; Duty cycle modulation
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B12/00—Dynamic random access memory [DRAM] devices
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Dram (AREA)
Abstract
提供了一种存储器内计算动态随机存取存储器位单元,其包括具有由跨电容器存储的权重位控制的开/关状态的第一晶体管。第一晶体管与连接在第一晶体管和读取位线之间的电流源晶体管串联。当第一晶体管处于导通状态时,激活电压控制电流源晶体管是否导通电流。
Description
根据35U.S.C.§119的优先权的要求
本专利申请要求于2020年3月5日提交的题为“COMPUTER-IN-MEMORY DYNAMICRANDOM ACCESS MEMORY”的非临时申请号16/810,475的优先权,该申请已转让给本申请的受让人,并在此通过引用明确并入本文。
技术领域
本申请涉及存储器内计算,并且更具体地,涉及一种动态随机存取存储器存储器内计算位单元。
背景技术
数据的计算机处理通常使用冯诺依曼架构,其中数据从存储器中检索,以在算术和逻辑单元中进行处理。在诸如机器学习等计算密集型应用中,进出存储器的数据流成为处理速度的瓶颈。为了解决这个数据移动瓶颈,已经开发了存储器内计算架构,其中数据处理硬件跨位单元分布。
发明内容
根据本公开的第一方面,提供了一种动态随机存取存储器(DRAM)乘法和累加电路(MAC),该DRAM MAC包括:读取位线;第一晶体管;电容器,连接在第一晶体管的栅极和地之间;第二晶体管,连接在读取位线和第一晶体管之间;和数模转换器,被配置为将输入位转换为激活电压并且利用激活电压驱动第二晶体管的栅极。
根据本公开的第二方面,提供了一种动态随机存取存储器(DRAM)阵列,该DRAM阵列包括:多个DRAM位单元,被布置为多个列和多个行,每个DRAM位单元位于该列中的对应列和该行中的对应行的交叉处;多个读取位线,与多个列相对应;和数模转换器,被配置为将输入向量转换为与多个行相对应的多个激活电压,每个DRAM位单元被配置为存储权重位并且响应于对应行的激活电压和所存储的权重位对对应列的读取位线放电。
根据本公开的第三方面,提供了一种用于动态随机存取存储器(DRAM)位单元的存储器内计算方法,该存储器内计算方法包括:响应于跨电容器存储的第一权重位,导通第一晶体管;当第一晶体管导通时,响应于第一输入位在导通时间段内导通第二晶体管;以及在导通时间段的持续时间内,通过导通的第一晶体管并通过导通的第二晶体管将电荷从充电的读取位线传导到地。
根据本公开的第四方面,提供了一种动态随机存取存储器(DRAM)乘法和累加电路(MAC),该DRAM MAC包括:读取位线;第一部件,用于响应于所存储的权重位的第一极性并响应于输入位对读取位线充电;和第二部件,用于响应于所存储的权重位的第二极性并响应于输入位对所述读取位线放电。
通过下列详细描述,可以更好地理解这些及其他有利的特征。
附图说明
图1A图示了根据本公开的一个方面的用于AND逻辑函数计算的第一示例DRAM存储器内计算位单元。
图1B图示了根据本公开的一个方面的用于AND逻辑函数计算的第二示例DRAM存储器内计算位单元。
图2图示了根据本公开的一个方面的用于乘以两位权重的DRAM存储器内计算位单元的示例滤波器。
图3图示了根据本公开的一个方面的用于三位权重的乘法的DRAM存储器内计算位单元的示例滤波器。
图4图示了根据本公开的一个方面的由行和列布置以形成多个滤波器的DRAM存储器内计算位单元的阵列。
图5图示了根据本公开的一个方面的用于将读取位线电压转换为数字值的示例模数转换器。
图6图示了根据本公开的一个方面的用于异或(XNOR)逻辑函数计算的示例DRAM存储器内计算位单元。
图7是根据本公开的一个方面的用于示例DRAM存储器内计算位单元操作的流程图。
图8图示了根据本公开的一个方面的包括DRAM存储器内计算位单元阵列的一些示例电子系统。
本公开的实施例及其优点通过参考下面的详细描述得到最好的理解。应当理解,相似的附图标记用于标识一幅或多幅图中所示的相似元件。
具体实施方式
将传统的冯诺依曼架构用于机器学习应用程序很麻烦,因为进出存储器的数据流成为提高处理速度的瓶颈。因此,已经开发了存储器内计算位单元架构,其中数据处理硬件跨位单元分布。为了实现存储器内计算位单元,传统的选择是静态随机存取存储器(SRAM)架构或动态随机存取存储器(DRAM)架构。在这两种选择中,DRAM存储器内计算架构是有利的,因为它比同类SRAM替代方案更密集。
虽然数字DRAM存储器内计算架构提供了更好的密度,但是它的实施遇到了许多问题。例如,通常将数字DRAM存储器内计算架构用于机器学习应用程序。但是注意到,DRAM通常使用提供低泄漏但是相对慢并且具有相对高的电容的大通道长度设备。为了解决这些问题,本文提供了一种模拟DRAM存储器内计算架构。DRAM架构的较长通道长度实际上有利于模拟架构。此外,由本文公开的模拟架构执行的电流域计算不受DRAM实施的相对高的设备电容的阻碍。
模拟电流域计算由DRAM位单元执行,该DRAM位单元具有取决于DRAM位单元中存储的权重位是否具有极性(正号或负号)的架构。将首先讨论单极性DRAM位单元,然后讨论其中存储的权重位是带符号的存储权重位的DRAM位单元。示例三晶体管(3T)DRAM位单元100在图1A中示出,用于单极性存储的权重位。电容器C存储针对位单元100的权重位(w0)。在将权重位写入位单元100之前,写入位线(为简洁起见在本文中简称为位线)BL根据权重位的二进制值而被充电。如果权重位是二进制一,则将位线BL充电至电源电压VDD(在高电平有效实施中)。相反,如果权重位是二进制零,则位线BL被放电到地(位线状态可以在低电平有效实施中反转)。为了将权重位写入位单元100,写入字线(WWL)被断言到电源电压VDD,以接通连接在位线BL和电容器C的正极板之间的n型金属氧化物半导体(NMOS)存取晶体管M0。电容器C的负极板接地。根据权重位的二进制值,电容器C将被充电至电源电压VDD或被放电。
尽管位单元100被用于将输入位与权重位相乘以形成乘法和累加电路,但是注意到,在深度学习应用程序中,此类乘法是针对各种输入位和各种对应的权重位在通常表示为“滤波器”的卷积操作中执行。在深度学习技术中,输入位通常表示为“激活”,因为类似于生物神经元,这些神经元也被认为可以处理激活。因此,滤波器将包括多个位单元100,用于即将对应的激活(输入位)与所存储的权重位相乘。
为了形成激活,公开了一种数模转换器(DAC)(图1A中未示出),用于将输入位转换为激活电压。在位单元100中,激活电压(Act)中的一者驱动NMOS晶体管M2的栅极。晶体管M2的源极连接到具有接地的源极的NMOS晶体管M1的漏极。电容器C的正极板也连接到晶体管M1的栅极。因此,所存储的权重位控制晶体管M1是接通还是断开。如本文所用,“连接(connected)”指的是直接电连接,尽管这种直接连接可以通过诸如电阻器、电容器或电感器的中间元件来实现。晶体管M2的漏极连接到读取位线(RBL)。在其中将所存储的权重位和输入位相乘并累加以调整读取位线的电压的评估阶段之前,读取位线被充电到评估电压(例如,被充电到电源电压VDD)。
假设权重位(w0)是二进制1值,使得晶体管M1导通。取决于激活电压的值,晶体管M2随后被接通以充当电流源,其将电荷从读取位线通过晶体管M2和M1传导到地。但是如果激活电压或权重位接地(二进制零),那么没有电荷从读取位线传导到地面。
因此,DRAM位单元100用作AND栅极,以计算输入位与权重位的二进制乘法。比较器(图1A中未示出)可以然后将读取位线的电压与阈值电压比较,以确定AND操作的结果。如本文将进一步讨论,可以修改DRAM位单元100,以便可以使用异或(XNOR)运算来执行输入位和所存储的权重位的乘法以说明所存储的权重位的极性。无论乘法是使用AND还是NOR操作执行,由此生成的电流域计算都是非常有利的,因为它与DRAM制造技术生成的较长通道长度和相对较大的设备电容兼容。
将理解的是,晶体管M1和M2的位置在替代实施例中可以颠倒,例如针对图1B中的DRAM位单元150所示。在位单元150中,晶体管M2的源极接地,并且晶体管M2的漏极连接到晶体管M1的源极,晶体管M1的源极又具有连接到读取位线的漏极。DRAM位单元150的其余部分如针对DRAM位单元100所讨论的那样布置。
可以重复所得到的乘法和累加电路,以形成用于将多位权重与输入向量位(或多个输入向量位)相乘的滤波器。图2中示出了DRAM存储器中计算位单元的示例滤波器200,用于2位权重计算。第一DRAM位单元205存储2位权重的最高有效位(w1),而第二DRAM位单元210存储2位权重的最低有效位(w0)。如关于位单元100所讨论,位单元205和210中的每一个包括电容器C、晶体管M0、晶体管M1和晶体管M2。DAC 215通过可变电流源220将输入向量(例如,两位输入向量)转换为电流。电流源220将电流驱动到二极管式连接的NMOS晶体管M3的漏极和栅极。NMOS晶体管M3的栅极通过脉冲宽度调制开关S1(例如,开关晶体管)连接到位单元205中的晶体管M2的栅极。类似地,NMOS晶体管M3的栅极通过另一个脉冲宽度调制开关S1(例如,另一个开关晶体管)连接到位单元210中的晶体管M2的栅极。但是注意到,每个晶体管M2的源极通过对应的晶体管M1耦合到地面。为了向二极管式连接的晶体管M3提供与每个晶体管M2所经历的相同的源极电压,二极管式连接的晶体管M3的源极通过NMOS晶体管M4耦合到地面。晶体管M4的栅极连接到用于电源电压VDD的电源节点。因此,晶体管M4模仿每个位单元205或210中的晶体管M1的行为,其被编程为二进制1值,使得其晶体管M1被接通。在那些经编程的位单元中,二极管式连接的晶体管M3因此与经编程的位单元的晶体管M2形成电流镜,使得该晶体管M2传导来自电流源220的电流的镜像版本。在其中晶体管M1和M2的位置如上所述颠倒过来的实施例中,可以省略晶体管M4。
脉冲宽度调制器225根据针对位单元205和210的位权重控制开关S1的脉冲宽度调制。由于位单元205正在存储最高有效位w1,所以位单元205中的开关S1在一个脉冲宽度内被脉冲接通,该脉冲宽度是大于用于位单元210中的开关S1的接通时间两倍的脉冲宽度。在用于开关S1的脉冲宽度已经到期后(电流模式计算结束),从读取位线释放的电荷Q与输入向量位(或位)乘以所存储的权重位。一旦读取的位线电压被评估以确定电流模式计算的结果,每个位单元205和210中的复位开关S2被闭合,其连接在对应的晶体管M2的栅极和地之间以对栅极电压放电。然后,新的评估阶段可以用输入位的新值和/或所存储的权重位的新值进行。
将理解,如果所存储的权重的宽度大于两位,则将使用额外的位单元。例如,三位宽的权重滤波器300在图3中示出。位单元305存储三位宽权重的最高有效位(Wmsb)。位单元310存储下一个最高有效位(Wmsb-1)。最后,位单元315存储最低有效位(Wmsb-2)。滤波器300中的每个位单元可以如关于位单元100所讨论的那样形成。DAC 320如针对DAC 215所讨论的那样起作用以利用激活电压驱动每个晶体管M2的栅极,使得每个晶体管传导由输入向量位(或位)的数模转换生成的镜像电流。下面的讨论将假设输入向量具有与所存储的权重相同的精度(位宽),但将理解的是,与所存储的权重相比,它可以具有更高或更低的精度。
与DAC 320相关的脉冲宽度调制为位单元305提供最大的导通时间或脉冲宽度,使得其晶体管M2传导激活电流I_act。脉冲宽度调制器(未示出)为位单元310提供位单元300的二分之一导通时间,使得位单元305中的晶体管M2传导电流I_act/2。类似地,脉冲宽度调制器(未示出)为位单元315提供位单元310的二分之一导通时间,使得位单元315中的晶体管M2传导电流I_act/4。将理解,导通时间的这种二进制加权可以扩展到n位宽的存储权重实施例,其中n是正整数。通常地,n位宽实施中的位单元的脉冲宽度(导通时间)是2(wtbit)的二进制函数,其中wtbit是位单元的位权重。
所得到的滤波器执行关于输入向量位与所存储的权重相乘的乘法累加(MAC)函数。例如,在滤波器300中,MAC值可以表示如下:
其中W[i]是第i个位单元中的所存储的权重位,In[i]是由第i个位单元的晶体管M2传导的电流的电流值。
可以使用多个滤波器来形成位单元的存储器内计算DRAM阵列。例如,图4中示出了位单元的两位滤波器阵列400。位单元按列和行排列。每列位单位共享相同的读取位线和写入字线。每个位单元位于对应行和对应列的交叉处。在阵列400中,有六列,其中每列定义范围从第一滤波器(Filt1)到第六滤波器(Filt6)的两位滤波器。每行位单元共享来自DAC(未示出)的相同当前权重。每个滤波器在列方向上延伸跨越三个存储的两位二进制权重。例如,第一滤波器将第一个两位权重W1存储为位W2<1>和W2<0>,并且将第三个双位权重存储为位W3<1>和W3<2>。每个存储的位都与由电流表示的对应输入位相乘。例如,位W2<1>使用电流Iact2相乘,而位W2<0>使用电流0.5*Iact2相乘。最后,位W3<1>使用电流Iact3相乘,而位W3<0>使用电流0.5*Iact3相乘。其余滤波器以类似方式排列。为了清楚起见,未示出其余滤波器的权重。
模数转换器(ADC)在评估阶段之后转换保留在每个读取位线上的电压,以确定乘法累加函数的结果。图5中示出了用于位单位的阵列505的示例ADC 500。阵列505诸如针对阵列400所讨论的那样排列。再次参考图4,针对滤波器的每个读取位线延伸跨若干不同的权重。这些不同权重的位于来自于对应DAC的电流相乘。如图5中所示,因此对于给定滤波器的每个多位权重存在一个DAC 515(为了图示清楚而未示出阵列505中的滤波器,但类似于针对阵列400讨论的滤波器)。每个滤波器(也可以表示为一列位单元)具有其自己的读取位线,但是,为了图示清楚,在图5中仅示出了具有电压Vsum的单个读取位线。为了增加读取位线的电容以便在读取位线在评估阶段之前被预充电时存储足够的电荷,读取位线电容器C1可以连接在读取位线和地之间。然而,如果读取位线电容足够大,则在替代实施方式中可以省略电容器C1。在评估阶段之前,读取位线被预充电到电源电压VDD。在预充电之后,控制器510使每个DAC 515能够开始提供如从输入向量位确定的适当电流。同时,控制器510启动计数器520,以响应于来自时钟源(未示出)的时钟信号的周期开始计数。根据电流和所存储的权重,来自读取位线的电荷将以对应的速率排出。比较器525将读取位线电压与阈值电压比较。当读取位线电压被放电到低于阈值电压时,比较器525触发计数器520停止计数。所得到的计数表示对应输入位和所存储的权重位相乘的数字值。计数器520因此用作时间-数字转换器,并且可以容易地缩放到期望的DRAM技术节点。各种滤波器可以都并行计算,使得每个滤波器都有一个计数器520和一个比较器525。
如前所述,位单元100被配置为执行所存储的二进制权重位与输入位的逻辑AND功能。如果二进制权重和输入位都是逻辑真值,则考虑到所存储的权重位的重要性,对于任何适用的脉冲宽度,位单元100都会对读取位线放电。但是在机器学习应用程序中,所存储的二进制权重具有极性可能很有用,即具有正号或负号。由于位单元100只能对读取位线放电,所以可以认为所存储的二进制权重位只有一个极性。但是图6中所示的位单元600允许所存储的二进制权重位w1具有正号或负号。位单元600类似于针对位单元100所讨论那样来布置,但是还包括PMOS晶体管P1,其具有连接到用于电源电压VDD的电源节点的源极。晶体管P1的漏极连接到PMOS晶体管P2的源极,PMOS晶体管P2的漏极连接到晶体管M2的漏极和读取位线。第一偏置信号Biasp驱动晶体管P2的栅极。类似地,第二偏置信号Biasn驱动晶体管M2的栅极。所存储的权重位wt的极性控制第一偏置信号和第二偏置信号。在下面的讨论中,将假设所存储的权重位wt的正极性导通晶体管M2并断开晶体管P2,而所存储的权重位wt的负极性导通晶体管P2并断开晶体管M2。然而,在替代实施方式中,该极性控制可以颠倒。
为了对所存储的权重位wt进行极性分配,电容器C两端的电压值为0V可以被视为等于-1,而同一电容器电压的正值可以被视为等于a+1。在所存储的权重位wt等于a+1时,晶体管M1被导通。再次参考图2,如关于激活信号所讨论的那样生成第二偏置信号Biasn,使得如果输入位为真,则晶体管M2将在适当的导通时间段内传导镜像电流,以相应地对读取位线放电。但是如果所存储的权重位wt等于a-1,晶体管M1和M2关闭。相反,由于晶体管P1的栅极连接到晶体管M1的栅极,晶体管P1被导通。如果输入位为真,则第二电流镜(未示出)可以然后在给定该极性的适当导通时间段内生成第一偏置信号Biasp,以当所存储的二进制权重位等于a-1时导通晶体管P2来传导镜像电流以对读取位线充电。因此,可以示出位单元600的所得到的操作等效于所存储的权重位和输入位的逻辑XNOR。由于位单元600可以对读取位线进行充电或放电,所以读取位线在评估阶段之前不预充电到电源电压VDD,而是预充电到中间电压,诸如VDD/2。
在一个实施例中,晶体管P1和P2可以被认为形成用于响应于所存储的权重位的第一极性和响应于输入位对读取位线充电的第一部件。类似地,晶体管M1和M2可以被认为形成用于响应于所存储的权重位的第二极性并响应于输入位对读取位线放电的第二部件。
现在将关于图7的流程图讨论DRAM存储器内计算位单元的操作方法。该方法包括响应于跨电容器存储的第一权重位而接通第一晶体管的动作700。位单元100或位单元600中的晶体管M1的导通是动作700的示例。该方法还包括动作705,当第一晶体管导通时,响应于第一输入位在导通时间段内导通第二晶体管。位单元100或位单元600中的晶体管M2的导通是动作705的示例。最后,该方法包括在导通时间段的持续时间内通过接通的第一晶体管并通过接通的第二晶体管将电荷从充电的读取位线传导到地面的动作710。在位单元100或位单元600中的适当导通时间段期间通过晶体管M1和M2对读取位线进行放电是动作710的示例。
本文公开的存储器内计算位单元可以有利地结合在任何合适的移动设备或电子系统中。例如,如图8中所示,根据本公开的蜂窝电话800、膝上型计算机805和平板PC 810都可以包括诸如用于机器学习应用程序的存储器内计算DRAM位单元阵列。诸如音乐播放器、视频播放器、通信设备和个人计算机的其他示例性电子系统也可以配置有根据本公开构造的存储器内计算。类似地,如本文所公开的存储器内计算可以并入诸如基于云的应用程序中的服务器中,或诸如5G系统中的基站中的服务器中。
将理解的是,在不背离本公开的范围的情况下,可以对本公开的设备的材料、装置、配置和使用方法进行许多修改、替换和变化。鉴于此,本公开的范围不应限于本文所示和描述的特定实施例的范围,因为它们仅作为其一些示例,而是应与所附权利要求及其功能等价物的内容完全相称。
Claims (22)
1.一种动态随机存取存储器(DRAM)乘法和累加电路(MAC),包括:
读取位线;
第一晶体管;
电容器,被连接在所述第一晶体管的栅极和地之间;
第二晶体管,被连接在所述读取位线和所述第一晶体管之间;和
数模转换器,被配置为将输入位转换为激活电压并且利用所述激活电压驱动所述第二晶体管的栅极。
2.根据权利要求1所述的DRAM MAC,还包括:
写入位线;
存取晶体管,被连接在所述写入位线和所述电容器之间;和
写入位线,被连接到所述存取晶体管的栅极。
3.根据权利要求1所述的DRAM MAC,其中所述数模转换器包括:
可变电流源,被配置为响应于所述输入位生成电流;和
二极管式连接的晶体管,其中所述可变电流源还被配置为将所述电流驱动到所述二极管式连接的晶体管的端子中,以生成所述激活电压。
4.根据权利要求3所述的DRAM MAC,所述DRAM MAC还包括:
脉冲宽度调制器;和
第一开关;其中所述二极管式连接的晶体管的栅极通过所述第一开关被连接到所述第二晶体管的栅极,并且其中所述脉冲宽度调制器还被配置为控制所述第一开关在评估阶段期间的导通时间。
5.根据权利要求4所述的DRAM MAC,其中数模转换器还包括被连接在所述二极管式连接的晶体管的源极和地之间的第三晶体管,其中所述第三晶体管的栅极被连接到用于电源电压的电源节点。
6.根据权利要求1所述的DRAM MAC,还包括:
复位开关,被连接在所述读取位线和用于电源电压的电源节点之间。
7.根据权利要求1所述的DRAM MAC,还包括:
模数转换器,被配置为将所述读取位线的电压转换为数字值。
8.根据权利要求4所述的DRAM MAC,其中所述模数转换器包括:
比较器,被配置为将所述读取位线的电压与阈值电压进行比较;和
被配置为从所述导通时间的开始来计数到由所述比较器检测到用于所述读取位线的所述电压已超过所述阈值电压。
9.根据权利要求1所述的DRAM MAC,还包括:
读取位线电容器,被连接在所述读取位线和地之间。
10.根据权利要求1所述的DRAM MAC,其中所述DRAM MAC被集成到移动设备中。
11.根据权利要求10所述的DRAM MAC,其中所述移动设备是蜂窝电话。
12.一种动态随机存取存储器(DRAM)阵列,包括:
多个DRAM位单元,被布置为多个列和多个行,每个DRAM位单元位于所述列中的对应列和所述行中的对应行的交叉处;
多个读取位线,与所述多个列相对应;和
数模转换器,被配置为将输入向量转换为与所述多个行相对应的多个激活电压,每个DRAM位单元被配置为存储权重位并且响应于所述对应行的激活电压和所存储的权重位,对所述对应列的读取位线放电。
13.根据权利要求12所述的DRAM阵列,还包括:
模数转换器,被配置为将用于每个读取位线的电压转换为数字值。
14.根据权利要求12所述的DRAM阵列,其中每个列被配置为形成用于深度学习应用的滤波器。
15.根据权利要求12所述的DRAM阵列,其中每个DRAM位单元是三晶体管DRAM位单元。
16.一种用于动态随机存取存储器(DRAM)位单元的存储器内计算方法,包括:
响应于跨电容器存储的第一权重位,导通第一晶体管;
当所述第一晶体管导通时,响应于第一输入位在导通时间段内导通第二晶体管;以及
在所述导通时间段的持续时间内,通过所述导通的第一晶体管并且通过所述导通的第二晶体管将电荷从充电的读取位线传导到地。
17.根据权利要求16所述的存储器内计算方法,其中所述方法在第一评估阶段期间执行,所述方法还包括:
在第二评估阶段期间:
响应于跨所述电容器存储的第二权重位,关断所述第一晶体管。
18.根据权利要求16所述的存储器内计算方法,其中所述方法在第一评估阶段期间执行,所述方法还包括:
在第二评估阶段期间:
响应于跨所述电容器存储的第二权重位并且响应于第二输入位,导通所述DRAM位单元中的第三晶体管,以对所述读取位线充电。
19.一种动态随机存取存储器(DRAM)乘法和累加电路(MAC),包括:
读取位线;
电容器,被配置为存储权重位;
第一部件,用于响应于所存储的权重位的第一极性并且响应于输入位对所述读取位线充电;和
第二部件,用于响应于所存储的权重位的第二极性并且响应于所述输入位对所述读取位线放电。
20.根据权利要求19所述的DRAM MAC,其中所述第一部件包括:
第一晶体管;
电容器,被连接在所述第一晶体管的栅极和地之间;
第二晶体管,被连接在所述读取位线和所述第一晶体管之间。
21.一种动态随机存取存储器(DRAM)乘法和累加电路(MAC),所述DRAM MAC包括:
读取位线;
第一晶体管,具有被连接到所述读取位线的第一端子;
电容器,被连接在所述第一晶体管的栅极和地之间;
第二晶体管,被连接在所述第一晶体管的第二端子和地之间;和
数模转换器,被配置为将输入位转换为激活电压并且利用所述激活电压驱动所述第二晶体管的栅极。
22.根据权利要求21所述的DRAM MAC,还包括:
写入位线;
存取晶体管,被连接在所述写入位线和所述电容器之间;和
写入位线,被连接到所述存取晶体管的栅极。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/810,475 US11011216B1 (en) | 2020-03-05 | 2020-03-05 | Compute-in-memory dynamic random access memory |
US16/810,475 | 2020-03-05 | ||
PCT/US2021/020739 WO2021178585A1 (en) | 2020-03-05 | 2021-03-03 | Compute-in-memory dynamic random access memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115210810A true CN115210810A (zh) | 2022-10-18 |
Family
ID=75223449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180018331.6A Pending CN115210810A (zh) | 2020-03-05 | 2021-03-03 | 存储器内计算动态随机存取存储器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11011216B1 (zh) |
CN (1) | CN115210810A (zh) |
TW (1) | TW202201396A (zh) |
WO (1) | WO2021178585A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115995256A (zh) * | 2023-03-23 | 2023-04-21 | 北京大学 | 一种自校准电流编程及电流计算型存内计算电路及其应用 |
CN117219140A (zh) * | 2023-11-03 | 2023-12-12 | 安徽大学 | 基于8t-sram和电流镜的存内计算电路 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088606B2 (en) * | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
KR102168652B1 (ko) * | 2013-12-16 | 2020-10-23 | 삼성전자주식회사 | 감지 증폭기, 그것을 포함하는 반도체 메모리 장치 및 그것의 읽기 방법 |
JP6541376B2 (ja) * | 2014-03-13 | 2019-07-10 | 株式会社半導体エネルギー研究所 | プログラマブルロジックデバイスの動作方法 |
JP7237839B2 (ja) * | 2017-09-06 | 2023-03-13 | 株式会社半導体エネルギー研究所 | 演算装置および電子機器 |
-
2020
- 2020-03-05 US US16/810,475 patent/US11011216B1/en active Active
-
2021
- 2021-03-03 CN CN202180018331.6A patent/CN115210810A/zh active Pending
- 2021-03-03 WO PCT/US2021/020739 patent/WO2021178585A1/en active Application Filing
- 2021-03-04 TW TW110107757A patent/TW202201396A/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115995256A (zh) * | 2023-03-23 | 2023-04-21 | 北京大学 | 一种自校准电流编程及电流计算型存内计算电路及其应用 |
CN117219140A (zh) * | 2023-11-03 | 2023-12-12 | 安徽大学 | 基于8t-sram和电流镜的存内计算电路 |
CN117219140B (zh) * | 2023-11-03 | 2024-01-30 | 安徽大学 | 基于8t-sram和电流镜的存内计算电路 |
Also Published As
Publication number | Publication date |
---|---|
WO2021178585A1 (en) | 2021-09-10 |
US11011216B1 (en) | 2021-05-18 |
TW202201396A (zh) | 2022-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642922B2 (en) | Binary, ternary and bit serial compute-in-memory circuits | |
US11436478B2 (en) | Control circuit for multiply accumulate circuit of neural network system | |
US10825510B2 (en) | Multi-bit dot product engine | |
CN112951294B (zh) | 计算设备以及计算方法 | |
US20210240442A1 (en) | Low-power compute-in-memory bitcell | |
WO2020139895A1 (en) | Circuits and methods for in-memory computing | |
CN113467751B (zh) | 一种基于磁性随机存储器的模拟域存内计算阵列结构 | |
US11574173B2 (en) | Power efficient near memory analog multiply-and-accumulate (MAC) | |
CN115210810A (zh) | 存储器内计算动态随机存取存储器 | |
US11430491B2 (en) | Device and method for reading data in memory | |
US11693560B2 (en) | SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture | |
US7609546B2 (en) | Multivalue memory storage with two gating transistors | |
US11195090B1 (en) | Memory unit with adaptive clamping voltage scheme and calibration scheme for multi-level neural network based computing-in-memory applications and computing method thereof | |
CN114400031B (zh) | 一种补码映射的rram存算一体芯片及电子设备 | |
CN116204490A (zh) | 一种基于低电压技术的7t存算电路、乘累加运算电路 | |
US20220262426A1 (en) | Memory System Capable of Performing a Bit Partitioning Process and an Internal Computation Process | |
CN116964675A (zh) | 具有三元激活的存储器内计算 | |
CN116670763A (zh) | 具有电容性耦合写入操作的存储器内计算位单元 | |
CN114974337A (zh) | 一种基于自旋磁随机存储器的时间域存内计算电路 | |
CN114863964A (zh) | 基于局部乘-整体加结构的存内计算电路、存储器及设备 | |
Bharti et al. | Compute-in-memory using 6T SRAM for a wide variety of workloads | |
US20220366948A1 (en) | Device and method for reading data in memory | |
US20240170062A1 (en) | Non-volatile static random access memory | |
CN115701637A (zh) | 一种存内计算电路及方法和阻变型存储器 | |
Saragada et al. | An in-memory architecture for machine learning classifier using logistic regression |
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 |