CN115039177B - 低功耗存储器内计算位单元 - Google Patents
低功耗存储器内计算位单元 Download PDFInfo
- Publication number
- CN115039177B CN115039177B CN202180011468.9A CN202180011468A CN115039177B CN 115039177 B CN115039177 B CN 115039177B CN 202180011468 A CN202180011468 A CN 202180011468A CN 115039177 B CN115039177 B CN 115039177B
- Authority
- CN
- China
- Prior art keywords
- bit
- memory
- capacitor
- transistor
- plate
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
-
- 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/41—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 static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/412—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 static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
-
- 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/41—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 static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] 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/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
Abstract
提供了一种存储器内计算位单元,包括用于存储经存储位的一对交叉耦合的反相器。存储器内计算位单元包括用于将经存储位与输入矢量位相乘的逻辑栅极。逻辑栅极包括FET晶体管。FET晶体管的源极端子连接到交叉耦合反相器的输出节点,FET晶体管的栅极端子连接到输入矢量位,并且FET晶体管的漏极端子连接到电容器的第一板。电容器的第二板连接到读取位线。
Description
根据35 U.S.C.§119的优先权要求
本专利申请要求于2020年1月31日提交的题为“低功耗存储器内计算位单元”的非临时申请号16/779,491的优先权,该申请已转让给本申请的受让人并且通过引用明确并入本文。
技术领域
本申请涉及存储器内计算,并且更具体地涉及一种低功率存储器内计算位单元。
背景技术
数据的计算机处理通常使用冯诺依曼架构,其中从存储器中检索数据以在算术和逻辑单元中进行处理。在诸如机器学习之类的计算密集型应用中,进出存储器的数据流成为处理速度的瓶颈。为了解决这个数据移动瓶颈,已经开发了存储器内计算架构,其中数据处理硬件跨位单元分布。
发明内容
根据本发明的第一方面,提供了一种存储器内计算存储单元,包括:一对交叉耦合的反相器,具有用于经存储位的第一输出节点;读取位线;字线,具有响应于输入位的电压;电容器,具有连接到读取位线的第一板;以及第一传输晶体管,连接在第一输出节点与电容器的第二板之间,并且具有连接到字线的栅极。
根据本发明的第二方面,提供了一种存储器内计算存储单元,包括一对交叉耦合的反相器,具有用于经存储位的第一输出节点;读取位线;电容器,具有连接到读取位线的第一板;以及第一传输栅极,连接在第一输出节点与电容器的第二板之间,其中第一传输栅极被配置为响应于输入位为真而关闭,并且被配置为响应于输入位为假而打开。
根据本发明的第三方面,提供了一种乘法和累加电路,包括多个存储器内计算存储单元,布置成多个列,其中每个列包括读取位线,并且其中每个列中的每个存储器内计算存储单元包括逻辑栅极并且包括电容器,逻辑栅极被配置为将输入位与经存储位相乘,该电容器具有连接到列的读取位线的第一板并且具有连接到逻辑栅极的输出节点的第二板。
根据本发明的第四方面,提供了一种存储器内计算方法,包括:在复位阶段期间,将用于存储器内计算存储单元列的读取位线充电到电源电压,同时每个存储器内计算存储单元中的电容器的第一板连接到读取位线并且每个存储器内计算存储单元中的每个电容器的第二板接地;在每个存储器内计算存储单元中的复位阶段之后的计算阶段期间,将输入矢量的对应位与存储器内计算存储单元的经存储位相乘,以通过乘法信号驱动存储器内计算存储单元的电容器的第二板,同时读取位线保持充电到电源电压;并且在计算阶段之后的累加阶段,将读取位线与电源电压的电源节点隔离,同时每个存储器内计算存储单元的电容器的第二板接地以在读取位线上产生累加电压。
通过以下具体实施方式可以更好地理解这些和其他有利特征。
附图说明
图1图示了根据本发明的一个方面的第一存储器内计算位单元。
图2A图示了根据本发明的一个方面的包括存储器内计算位单元阵列的乘法和累加电路。
图2B图示了根据本发明的一个方面的乘法和累加电路的存储器内计算位单元列。
图3图示了根据本发明的一个方面的第二存储器内计算位单元。
图4图示了根据本发明的一个方面的第三存储器内计算位单元。
图5图示了根据本发明的一个方面的第四存储器内计算位单元。
图6是根据本发明的一个方面的示例存储器内计算方法的流程图。
图7图示了一些示例电子系统,每个电子系统都包含根据本发明的一个方面的具有存储器内计算位单元阵列的乘法和累加电路。
本发明的实施例及其优点通过参考以下具体实施方式得到最好的理解。应当领会,相似的附图标记用于标识附图中的一个或多个附图中所示的相似元件。
具体实施方式
提供了一种存储器内计算存储单元,诸如存储器内计算位单元,其包括使用两个交叉耦合的反相器来存储位的SRAM单元。交叉耦合的反相器的中一个反相器使用经存储位驱动真(Q)输出节点,而其余交叉耦合的反相器使用经存储位的补码驱动补码(QB)输出节点。存储器内计算位单元还包括具有连接到读取位线(RBL)的第一板的电容器。如本文中所使用的,“连接”是指直接电连接,尽管这种直接连接可以通过诸如电阻器、电容器或电感器之类的中间元件来实现。Q输出节点通过诸如p型金属氧化物半导体(PMOS)第一传输晶体管之类的第一传输晶体管耦合到电容器的第二板。同样,QB输出节点通过诸如PMOS第二传输晶体管之类的第二传输晶体管耦合到电容器的第二板。Q输出节点在本文中也被表示为第一输出节点。同样,QB输出节点在本文中也被表示为第二输出节点。输入矢量位控制第一传输晶体管的栅极,而输入矢量位的补码控制第二传输晶体管的栅极。
用于电容器的第二板通过诸如具有由读取字线(RWL)控制的栅极的n型金属氧化物半导体(NMOS)复位晶体管的复位晶体管耦合到地。在存储器内计算位单元的复位阶段,读取位线被充电高到电源电压VDD,而读取字线被断言到电源电压VDD以对电容器进行充电。在复位阶段之后的计算阶段期间,读取字线被放电以关断复位晶体管,而读取位线保持被充电到电源电压VDD。如果输入矢量位和经存储位都为真,则第一传输晶体管导通以将电容器的第二板充电到电源电压VDD。同样,如果输入矢量位和经存储位都为假,则第二传输晶体管被导通以对电容器的第二板进行充电。由于电容器的第一板在计算阶段期间保持连接到电源电压VDD的电源节点,所以第二板充电到电源电压VDD会使电容器放电。另一方面,如果输入矢量位和经存储位具有互补值,则在计算阶段期间,第一传输晶体管和第二传输晶体管都不导通。在这种情况下,电容器的第二板保持被放电,以使电容器保持被充电到电源电压VDD。
如果输入矢量位是低电平有效信号,则存储器内计算单元在计算阶段期间实现输入矢量位和经存储位的异或非(XNOR),其中如果输入矢量位和经存储位具有相同的二进制值,则获得逻辑真输出(电容器充电),而如果输入矢量位和经存储位不具有相同的二进制值,则获得逻辑假输出(电容器放电)。如果输入矢量位是高电平有效信号,则存储器内计算位单元可能会实现经存储位和输入矢量位的异或(XOR)。
所得存储器内计算位单元相当有利,因为所得电容器为全轨充电(即,要么充电到电源电压VDD,要么放电到地)。另外,传输栅极无需传递全轨输出。而且,为了所得轨到轨输出,无需将用于导通复位晶体管的读取字线断言提升到电源电压VDD以上。最后,复位晶体管以及存储器内计算位单元中的其余晶体管都可以是高压(厚氧化物)晶体管以限制泄漏。现在对一些示例存储器内计算位单元进行更详细的讨论。
现在,转向附图,图1中示出了示例存储器内计算位单元100。一对交叉耦合的反相器105将经存储位存储在真实输出节点Q上并且还将该位的补码存储在补码输出节点QB上。如在SRAM技术中已知的,当写入字线(WWL)被断言到电源电压VDD以导通对应的一对NMOS存取晶体管M1和M2时,经存储位从位线BL和补码位线BLB写入到存储器内计算位单元100中。存取晶体管M1在本文中也被表示为第一存取晶体管。同样,存取晶体管M2在本文中也被表示为第二存取晶体管。真输出节点Q连接到PMOS第一传输晶体管P1的源极,而PMOS第一传输晶体管P1的漏极连接到电容器C的第二板和NMOS复位晶体管M3的漏极。同样,补码输出节点QB连接到PMOS第二传输晶体管P2的源极,而PMOS第二传输晶体管P2的漏极连接到电容器C的第二板和复位晶体管M3的漏极。预充电字线PCWL上的低电平有效输入矢量位控制第一传输晶体管P1的栅极。同样,补码预充电字线PCWLB上的低电平有效输入矢量位的补码控制第二传输晶体管P2的栅极。为了简洁起见,预充电字线PCWL在本文中也仅表示为字线。
电容器C的第一板连接到读取位线RBL。在计算阶段之前,电容器C在用于存储器内计算位单元100的复位阶段被复位。在复位阶段期间,复位线上携载的复位信号被断言以关闭连接在读取位线与电源电压VDD的节点之间的开关S1。因此,读取位线在复位阶段期间被充电到电源电压VDD。当复位信号被断言时,连接到复位晶体管M3的栅极的读取字线也被断言。复位晶体管M3的源极接地,以使当读取字线被断言时,复位晶体管M3导通以将电容器C的第二板接地。因此,电容器C在复位阶段期间被充电到电源电压VDD。在复位阶段期间,预充电字线和补码预充电字线都被充电到电源电压VDD,以维持传输晶体管P1和P2都关断。
在计算经存储位和输入矢量位的二进制乘法的计算阶段中,预充电字线和补码预充电字线根据输入矢量位的值进行充电,同时复位信号被断言以保持读取位线被充电到电源电压VDD。读取字线在计算阶段期间被取消断言,因此电容器C的第二板相对于地浮动。在一个低电平有效实施例中,如果输入矢量位为真,则预充电字线被放电。同时,补码预充电字线然后被充电高到电源电压VDD。相反,在一个低电平有效实施例中,如果输入矢量位为假,则预充电字线被充电到电源电压VDD,而补码预充电字线被放电。如果预充电字线由于输入矢量位的真值而被放电并且经存储位也为真,则传输晶体管P1将导通以将电容器C的第二板充电到电源电压VDD。由于读取位线连接到电源电压VDD的电源节点,所以电容器C由于第二板的充电而被放电。当经存储位和输入矢量位都为假时,电容器C发生相同的放电。在这种情况下,第二传输晶体管P2在计算阶段期间导通以对电容器的第二板进行充电。但是如果输入矢量位和经存储位具有互补的二进制值,则传输晶体管P1和P2都不会导通。然后,第二板保持被放电,以使电容器C保持被充电。因此,所得乘法是输入矢量位和经存储位的XNOR。另一方面,如果输入矢量位是高电平有效信号,则乘法将是输入矢量位和经存储位的XOR。
累加阶段在计算阶段之后。在累加阶段中,读取字线被断言,同时复位信号被取消断言。因此,因为开关S1从复位信号的取消断言打开,所以读取位线在累加阶段期间与电源节点隔离。由于读取字线对电源电压VDD的断言,所以当复位晶体管M3导通时,电容器C的第二板在累加阶段期间接地。
复位、计算和累加阶段适用于如本文中所公开的乘法和累加电路中的存储器内计算位单元列。图2A中所示的示例乘法累加(MAC)电路200包括被布置为行和列的存储器内计算位单元100的阵列220。阵列220中的经存储位可以被认为形成与输入矢量din 225相乘的矩阵。例如,输入矢量din 225的维数在MAC电路200中可以是128,使得输入矢量din 225的范围从输入矢量的第一位din 1到一百二十八位的din 128。输入矢量din 225顺序改变,使得对于每个实例,输入矢量din 225乘以存储在阵列220中的矩阵,并且结果在顺序积分器215中顺序积分。为了进行矩阵乘法,输入矢量din 225逐列乘以阵列220的内容。
图2B中更详细地示出了阵列220的示例列230。阵列220中的每个行由列230中的对应存储器内计算位单元100表示。为了说明清楚,图2B中仅示出了三个存储器内计算位单元100,但是应当领会,阵列220的每个行可能存在存储器内计算位单元100。由于输入矢量din225的维度为128,所以阵列220中存在128个行。应当领会,在备选实施例中,该维度可以发生变化。用于列230中的第一行的存储器内计算位单元100执行其经存储位与输入矢量第一位din 1的相乘。同样,用于列230中的第二行的存储器内计算位单元100可以执行其经存储位与输入矢量第二位din 2的相乘,以此类推,使得列230中的第128行的存储器内计算位单元100可以执行其经存储位与输入矢量最终位din 128的相乘。列230中的每个存储器内计算位单元100依据乘法结果维持其电容器的电荷或使其电容器放电,并且在累加阶段期间相应地影响读取位线(RBL)的电压。因此,读取位线对于列230中的所有存储器内计算位单元100而言是全局的。同样,位线(BL)和补位线(BLB)对于列230中的所有存储器内计算位单元100也是全局的。图1的开关S1由列230中的PMOS晶体管P4实现。在一些实施例中,复位晶体管M3在本文中也被表示为第三晶体管,而晶体管P4在本文中也被表示为第四晶体管。在其他实施例中,复位晶体管M3在本文中被表示为第一晶体管,而晶体管P4在本文中被表示为第二晶体管。
累加阶段中的列230的读取位线上的电压在其经存储位与输入矢量din 225相乘之后表示存储在阵列220中的矩阵的一个行与输入矢量din 225相乘的模拟结果。读取位线电压在本文中也称为累加电压。为了将该模拟结果转换为数字值,每个列230包括模数转换器(ADC)205。在列230中,ADC 205由比较器235表示。在一些实施例中,ADC 205可以是多位ADC,该多位ADC一次提供数字结果,该数字结果由多位求和电路210求和,以提供多位权重或数字结果,用于矩阵行与输入矢量din 225的相乘。在输入矢量din 225发生顺序改变时,输入矢量din 225的每个实例化与每个列230中存储的位相乘,并且多位结果存储在对应顺序积分器215中。因此在一些实施例中,在一对一的基础上,每个列230都存在ADC 205、多位求和电路210和顺序积分器215。在输入矢量din 225发生顺序改变以形成顺序输入时,每个顺序积分器215依序对其列230的乘法累加结果进行积分。
所得矩阵乘法相当有利,因为结果的线性基本上取决于每个存储器内计算位单元100的电容器C是否可以以最小变化再现。这在现代半导体制造技术中很容易实现,诸如通过将每个电容器C实现为金属层电容器,以使乘法累加操作有利地是线性的。在备选实施例中,每个电容器C可以使用变容二极管、金属-绝缘体-金属电容器或其他合适结构来实现。线性度还取决于ADC 205。为了减少每个ADC 205所需的管芯空间并且提高线性度,可以修改存储器内计算位单元100,使得电容器C可以如下用于ADC 205的操作中。图3中示出了示例经修改存储器内计算位单元300。如针对存储器内计算位单元100所讨论的,可以对存储器内计算位单元300进行布置,除了引入PMOS晶体管P3之外,该PMOS晶体管P3的源极连接到电源节点而其漏极连接到电容器C的第二板。另外,开关S1被实现为PMOS晶体管P4,如图2B所示。
晶体管P3的添加也是有利的,因为电容器C可以作为电容器数模转换器(CDAC)的一部分重复使用,诸如在每个ADC 205是多位逐次逼近寄存器(SAR)ADC的实施例中。在存储器内计算位单元的列300已经使用累加阶段中跨越列的乘法结果对它们的读取位线进行充电之后,读取字线电压可以由另一电容器(未图示)采样。通过由该附加电容器捕获的经采样电压,读取位线然后可以被放电到地。然后,可以通过导通列中选定的存储器内计算位单元300中的晶体管P3将电容器C中的选定电容器C的第二板驱动到电源电压VDD来选择性地升高所得经采样电压。具体地,诸如由有限状态机(未图示)控制的DAC信号BTP被放电以用于选定存储器内计算位单元300以升高来自列乘法的经采样电压。列中剩余存储器内计算位单元300可能会浮动其电容器C的第二板,以便不影响期望升高。可替代地,可以通过断言它们的DAC信号BTP导通选定存储器内计算位单元300中的复位晶体管M3以将选定电容器C的第二板接地来选择性地减小经采样电压。在具有128行存储器内计算位单元300的实施例中,所得DAC分辨率可能为七个位。一般而言,可以通过相应改变位单元300的阵列大小来增加或减少分辨率。
无论是否包括晶体管P3,本文中所公开的存储器内计算位单元乘法不限于使用传输晶体管P1和P2来驱动对应电容器C的第二板。例如,计算存储器中位单元100可以修改为使用如图4所示的存储器内计算位单元400的传输栅极替换传输晶体管P1和P2。传输栅极还确保全轨信号(地或电源电压VDD)被传递到电容器C的第二板。具体地,第一传输栅极T1控制交叉耦合的反相器105的Q输出节点上的经存储位是否可以通过以影响电容器C的第二板电压。同样,第二传输栅极T2控制QB输出节点上的经存储位的补码是否可以通过以影响电容器C的第二板电压。预充电字线PCWLA和补码预充电字线PCWLA_B控制传输栅极T1或T2是打开还是关闭。
输入位控制预充电字线PCWLA的状态。同样,输入位的补码控制补码预充电字线PCWLA_B的状态。第一传输栅极T1被配置为使得第一传输栅极T1响应于(XNOR实现方式中的低电平有效)输入位为真而关闭,并且使得第一传输栅极T1响应于输入位为假而打开。输入位(例如,输入矢量位)可以是低电平有效或高电平有效,这取决于是需要基于XNOR的乘法还是需要基于XOR的乘法。预充电字线PCWLA驱动第一传输栅极T1中的PMOS晶体管的栅极。同样,补码预充电字线PCWLA_B驱动第一传输栅极T1中的NMOS晶体管的栅极。
这种耦合在第二传输栅极T2中被反转,以使驱动第二传输栅极T2中的PMOS晶体管的栅极的是补码预充电字线PCWLA_B。同样,驱动第二传输栅极T2中的NMOS晶体管的栅极的是预充电字线PCWLA。因此,第二传输栅极T2被配置为使得第二传输栅极T2响应于补码输入矢量位为真而关闭,并且使得第二传输栅极响应于补码输入矢量位为假而打开。在存储器内计算位单元400执行基于XNOR(或基于XOR)的乘法的评估阶段期间,传输栅极T1和T2中只有一个传输栅极将被关闭,而另一传输栅极将被打开,这取决于输入位的二进制状态。存储器内计算位单元400中的剩余部件如关于存储器内计算位单元100所讨论的那样。为了说明清楚,存取晶体管M1和M2、写入字线WWL以及位线BL和BLB未在图4中示出。
还可以修改存储器内计算位单元300以包括第一传输栅极T1和第二传输栅极T2,如针对图5中的存储器内计算位单元500所示。存储器内计算位单元500中的剩余部件针对图3所讨论的。为了说明清楚,存取晶体管M1和M2、写入字线WWL以及位线BL和BLB未在图5中示出。存储器内计算位单元500中的第一传输栅极T1和第二传输栅极T2的操作如关于存储器内计算位单元400所讨论的。
图6中示出了示例存储器内计算方法的流程图。该方法包括在复位阶段期间发生的动作600,并且包括:将存储器内计算存储单元列的读取位线充电到电源电压,同时每个存储器内计算存储单元中的电容器的第一板连接到读取位线,而每个存储器内计算存储单元中的每个电容器的第二板接地。当晶体管P4导通并且图2B的列230的每个读取字线被断言时发生这种复位阶段的示例。
该方法还包括在复位阶段之后的计算阶段期间发生的动作605,并且包括对于每个存储器内计算存储单元,将输入矢量的对应位与存储器内计算存储单元的经存储位相乘以使用乘法信号驱动存储器内计算存储单元的电容器的第二板,同时读取位线保持充电到电源电压。乘法信号的示例是来自存储器内计算位单元100和300中的传输晶体管P1和P2的XNOR输出信号以及来自存储器内计算位单元400和500的第一传输栅极T1或第二传输栅极T2的XNOR输出信号。在XOR逻辑栅极实施例中,乘法信号为XOR输出信号。
最后,该方法包括在计算阶段之后的累加阶段期间发生的动作610。动作610包括:将读取位线与电源电压的电源节点隔离,同时每个存储器内计算存储单元的电容器的第二板接地以在读取位线上产生累加电压。累加电压的示例是在计算阶段之后晶体管P4被关断而复位晶体管M3被导通之后存储器内计算位单元100、300、400或500中的任一存储器内计算位单元的读取位线电压。
如本文中所公开的存储器内计算位单元可以有利地并入任何合适移动设备或电子系统中。例如,如图7所示,蜂窝电话700、膝上型计算机705和平板PC 710都可以包括具有根据本发明的存储器内计算位单元的存储器内计算位单元,诸如用于机器学习应用。诸如音乐播放器、视频播放器、通信设备和个人计算机之类的其他示例性电子系统也可以配置有根据本发明构造的存储器内计算。
应当领会,在没有背离其范围的情况下,可以对本发明的设备的材料、装置、配置和使用方法进行许多修改、替换和变化。有鉴于此,本发明的范围不应限于本文中所示和描述的特定实施例的范围,因为这些特定实施例仅作为其中的一些示例,而是应与以下所附权利要求及其功能等同物的范围完全相称。
Claims (27)
1.一种存储器内计算存储单元,包括:
一对交叉耦合的反相器,具有用于存储位的第一输出节点;
读取位线;
字线,具有响应于输入位的电压;
电容器,具有连接到所述读取位线的第一板;以及
第一传输晶体管,连接在所述第一输出节点与所述电容器的第二板之间并且具有连接到所述字线的栅极,
其中所述一对交叉耦合的反相器包括用于所述存储位的补码的第二输出节点;所述存储器内计算存储单元还包括:
补码字线,具有响应于所述输入位的补码的电压;
第二传输晶体管,连接在所述第二输出节点与所述电容器的所述第二板之间并且具有连接到所述补码字线的栅极;
读取字线;
第三晶体管,连接在所述电容器的所述第二板与地之间并且具有连接到所述读取字线的栅极;
第四晶体管,连接在用于电源电压的电源节点与所述读取位线之间;以及
用于复位信号的复位线,其中所述第四晶体管的栅极连接到所述复位线。
2.根据权利要求1所述的存储器内计算存储单元,其中所述第一传输晶体管和所述第二传输晶体管均是p型金属氧化物半导体(PMOS)晶体管。
3.根据权利要求1所述的存储器内计算存储单元,其中所述第三晶体管是n型金属氧化物半导体(NMOS)晶体管,所述n型金属氧化物半导体(NMOS)晶体管具有连接到地的源极以及连接到所述电容器的所述第二板的漏极。
4.根据权利要求1所述的存储器内计算存储单元,其中所述第四晶体管是PMOS晶体管,所述PMOS晶体管具有连接到所述电源节点的源极以及连接到所述读取位线的漏极。
5.根据权利要求1所述的存储器内计算存储单元,还包括:
写入位线;
补码写入位线:
第一存取晶体管,连接在所述写入位线与所述第一输出节点之间;以及
第二存取晶体管,连接在所述补码写入位线与所述第二输出节点之间。
6.根据权利要求5所述的存储器内计算存储单元,还包括:
写入字线,其中所述写入字线连接到所述第一存取晶体管的栅极并且连接到所述第二存取晶体管的栅极。
7.根据权利要求1所述的存储器内计算存储单元,还包括第五晶体管,所述第五晶体管连接在所述电容器的所述第二板与所述电源节点之间。
8.根据权利要求1所述的存储器内计算存储单元,其中所述存储器内计算存储单元被包括在存储器内计算存储单元的阵列中的列内。
9.根据权利要求1所述的存储器内计算存储单元,其中所述电容器选自由以下项组成的组:金属层电容器、变容二极管和金属-绝缘体-金属电容器。
10.根据权利要求3所述的存储器内计算存储单元,其中所述第三晶体管是厚氧化物晶体管。
11.一种存储器内计算存储单元,包括:
一对交叉耦合的反相器,具有用于存储位的第一输出节点;
读取位线;
电容器,具有连接到所述读取位线的第一板;以及
第一传输栅极,连接在所述第一输出节点与所述电容器的第二板之间,其中所述第一传输栅极被配置为响应于输入位为真而关闭,并且被配置为响应于所述输入位为假而打开,
其中所述一对交叉耦合的反相器包括用于所述存储位的补码的第二输出节点;所述存储器内计算存储单元还包括:
第二传输栅极,连接在所述第二输出节点与所述电容器的所述第二板之间,其中所述第二传输栅极被配置为响应于所述输入位为真而打开,并且被配置为响应于所述输入位为假而关闭;
读取字线;
第一晶体管,连接在所述电容器的所述第二板与地之间并且具有连接到所述读取字线的栅极;
第二晶体管,连接在用于电源电压的电源节点与所述读取位线之间;以及
用于复位信号的复位线,其中所述第二晶体管的栅极连接到所述复位线。
12.根据权利要求11所述的存储器内计算存储单元,其中所述输入位是低电平有效信号。
13.根据权利要求11所述的存储器内计算存储单元,其中所述第一晶体管是n型金属氧化物半导体(NMOS)晶体管,所述n型金属氧化物半导体(NMOS)晶体管具有连接到地的源极以及连接到所述电容器的所述第二板的漏极。
14.根据权利要求11所述的存储器内计算存储单元,其中所述第二晶体管是PMOS晶体管,所述PMOS晶体管具有连接到所述电源节点的源极和连接到所述读取位线的漏极。
15.一种乘法和累加电路,包括:
多个存储器内计算存储单元,被布置为多个列,其中每个列包括读取位线,并且其中在每个列中的每个存储器内计算存储单元包括逻辑门并且包括电容器,所述逻辑门被配置为将输入位与存储位相乘,所述电容器具有连接到所述列的读取位线的第一板以及连接到用于逻辑栅极的输出节点的第二板,
其中在每个列中的每个存储器内计算存储单元还包括:
一对交叉耦合的反相器,具有用于存储位的第一输出节点以及用于所述存储位的补码的第二输出节点;
第一传输晶体管,连接在所述第一输出节点与所述电容器的第二板之间并且具有连接到字线的栅极,
补码字线,具有响应于所述输入位的补码的电压;
第二传输晶体管,连接在所述第二输出节点与所述电容器的所述第二板之间并且具有连接到所述补码字线的栅极;
读取字线;
第一晶体管,连接在所述电容器的所述第二板与地之间并且具有连接到所述读取字线的栅极;
第二晶体管,连接在用于电源电压的电源节点与所述读取位线之间;以及
用于复位信号的复位线,其中所述第二晶体管的栅极连接到所述复位线。
16.根据权利要求15所述的乘法和累加电路,还包括:
多个模数转换器,与所述多个列一一对应,每个模数转换器被配置为将针对对应列的读取位线的电压转换为数字值。
17.根据权利要求16所述的乘法和累加电路,其中每个模数转换器是多位模数转换器。
18.根据权利要求16所述的乘法和累加电路,其中每个模数转换器是包括数模转换器的逐次逼近寄存器模数转换器。
19.根据权利要求16所述的乘法和累加电路,还包括:
多个顺序积分器,与所述多个列一一对应,其中每个顺序积分器被配置为对来自所述对应列的模数转换器的所述数字值进行积分。
20.根据权利要求15所述的乘法和累加电路,其中每个逻辑栅极是异或非(XNOR)逻辑栅极。
21.根据权利要求15所述的乘法和累加电路,其中每个逻辑栅极是异或(XOR)逻辑栅极。
22.根据权利要求15所述的乘法和累加电路,其中所述乘法和累加电路被集成到移动设备中。
23.根据权利要求22所述的乘法和累加电路,其中所述移动设备是蜂窝电话。
24.一种存储器内计算方法,包括:
在复位阶段期间,将用于存储器内计算存储单元列的读取位线充电到电源电压,同时每个存储器内计算存储单元中的电容器的第一板连接到所述读取位线,并且同时每个存储器内计算存储单元中的每个电容器的第二板接地;
在每个存储器内计算存储单元中的所述复位阶段之后的计算阶段期间,将输入矢量的对应位与所述存储器内计算存储单元的存储位相乘,以利用乘法信号驱动所述存储器内计算存储单元的电容器的所述第二板,同时所述读取位线保持充电到所述电源电压;以及
在所述计算阶段之后的累加阶段期间,将所述读取位线与用于所述电源电压的电源节点隔离,同时每个存储器内计算存储单元的电容器的所述第二板接地以在所述读取位线上产生累加电压,
其中在每个列中的每个存储器内计算存储单元还包括:
一对交叉耦合的反相器,具有用于存储位的第一输出节点以及用于所述存储位的补码的第二输出节点;
第一传输晶体管,连接在所述第一输出节点与所述电容器的第二板之间并且具有连接到字线的栅极,
补码字线,具有响应于输入位的补码的电压;
第二传输晶体管,连接在所述第二输出节点与所述电容器的所述第二板之间并且具有连接到所述补码字线的栅极;
读取字线;
第一晶体管,连接在所述电容器的所述第二板与地之间并且具有连接到所述读取字线的栅极;
第二晶体管,连接在用于电源电压的电源节点与所述读取位线之间;以及
用于复位信号的复位线,其中所述第二晶体管的栅极连接到所述复位线。
25.根据权利要求24所述的方法,还包括:
将所述累加电压转换为数字值。
26.根据权利要求24所述的方法,其中所述输入矢量是用于机器学习应用的输入矢量。
27.根据权利要求24所述的方法,还包括:
顺序地改变所述输入矢量以产生数字值的序列;以及
整合所述数字值的序列。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/779,491 | 2020-01-31 | ||
| US16/779,491 US11657238B2 (en) | 2020-01-31 | 2020-01-31 | Low-power compute-in-memory bitcell |
| PCT/US2021/014452 WO2021154586A1 (en) | 2020-01-31 | 2021-01-21 | Low-power compute-in-memory bitcell |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115039177A CN115039177A (zh) | 2022-09-09 |
| CN115039177B true CN115039177B (zh) | 2025-06-27 |
Family
ID=74626209
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202180011468.9A Active CN115039177B (zh) | 2020-01-31 | 2021-01-21 | 低功耗存储器内计算位单元 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11657238B2 (zh) |
| EP (1) | EP4097721A1 (zh) |
| CN (1) | CN115039177B (zh) |
| TW (1) | TWI896590B (zh) |
| WO (1) | WO2021154586A1 (zh) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11714570B2 (en) * | 2020-02-26 | 2023-08-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Computing-in-memory device and method |
| US11586896B2 (en) * | 2020-03-02 | 2023-02-21 | Infineon Technologies LLC | In-memory computing architecture and methods for performing MAC operations |
| US20220027130A1 (en) * | 2020-07-27 | 2022-01-27 | Robert Bosch Gmbh | Time domain ratiometric readout interfaces for analog mixed-signal in memory compute crossbar networks |
| US11914973B2 (en) | 2020-11-19 | 2024-02-27 | Apple Inc. | Performing multiple bit computation and convolution in memory |
| US11551747B2 (en) * | 2021-03-25 | 2023-01-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | Computation apparatus and method using the same |
| US12327591B2 (en) | 2021-04-09 | 2025-06-10 | Mediatek Singapore Pte. Ltd. | Method and apparatus for performing a MAC operation in a memory array |
| KR20230036815A (ko) * | 2021-09-08 | 2023-03-15 | 삼성전자주식회사 | 곱셉 누적기를 이용한 컴퓨팅 장치 및 방법 |
| US11990178B2 (en) * | 2021-12-13 | 2024-05-21 | Ncku Research And Development Foundation | Recognition system and SRAM cell thereof |
| US12277991B2 (en) | 2022-02-15 | 2025-04-15 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory device with reset voltage control |
| US12327602B2 (en) * | 2022-03-22 | 2025-06-10 | Mediatek Inc. | Reducing precharge power consumption in a memory array |
| US12125526B2 (en) * | 2022-03-30 | 2024-10-22 | Qualcomm Incorporated | Memory with bitcell power boosting |
| KR20240175728A (ko) * | 2022-05-16 | 2024-12-20 | 더 트러스티즈 오브 프린스턴 유니버시티 | 인메모리 컴퓨팅 매크로용 공유 열 |
| CN115223619B (zh) * | 2022-08-02 | 2025-06-27 | 中科南京智能技术研究院 | 一种存内计算电路 |
| CN115691601A (zh) * | 2022-11-07 | 2023-02-03 | 安徽大学 | 多位点积运算逻辑方法、多位点积和并行异或计算电路 |
| CN115938430B (zh) * | 2022-12-13 | 2025-10-03 | 安徽大学 | 一种基于分支电流的存内累乘计算电路 |
| CN116088792B (zh) * | 2022-12-15 | 2025-11-21 | 东南大学 | 一种基于波兹编码方案的数字域存内计算电路及方法 |
| CN115954029B (zh) * | 2023-01-09 | 2025-08-29 | 安徽大学 | 多比特运算模块以及使用了该模块的存内计算电路结构 |
| CN120743222B (zh) * | 2025-08-18 | 2025-11-04 | 安徽大学 | 基于双位线自循环切换的mac运算电路、cim电路和芯片 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3886742D1 (de) | 1988-08-11 | 1994-02-10 | Siemens Ag | Integrierte Halbleiterschaltung mit einem Speicherbereich. |
| JP2001053164A (ja) | 1999-08-04 | 2001-02-23 | Sony Corp | 半導体記憶装置 |
| US8134414B2 (en) * | 2009-04-24 | 2012-03-13 | Integrated Device Technology, Inc. | Clock, frequency reference, and other reference signal generator with frequency stability over temperature variation |
| US9158667B2 (en) * | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
| US8953365B2 (en) * | 2013-06-07 | 2015-02-10 | International Business Machines Corporation | Capacitor backup for SRAM |
| US9697877B2 (en) * | 2015-02-05 | 2017-07-04 | The Board Of Trustees Of The University Of Illinois | Compute memory |
| KR102540082B1 (ko) | 2015-09-17 | 2023-06-02 | 제너직 에이비 | 감소된 누설을 위한 sram 아키텍처들 |
| US10860318B2 (en) * | 2016-12-06 | 2020-12-08 | Gsi Technology, Inc. | Computational memory cell and processing array device using memory cells |
| US10699778B2 (en) * | 2017-04-28 | 2020-06-30 | Arizona Board Of Regents On Behalf Of Arizona State University | Static random access memory (SRAM) cell and related SRAM array for deep neural network and machine learning applications |
| US11263522B2 (en) | 2017-09-08 | 2022-03-01 | Analog Devices, Inc. | Analog switched-capacitor neural network |
| US10410714B2 (en) * | 2017-09-20 | 2019-09-10 | Qualcomm Incorporated | Multi-level cell (MLC) static random access memory (SRAM) (MLC SRAM) cells configured to perform multiplication operations |
| CN119961181A (zh) * | 2018-06-18 | 2025-05-09 | 普林斯顿大学 | 可配置的存储器内计算引擎、平台、位单元及其布局 |
| US10381071B1 (en) * | 2018-07-30 | 2019-08-13 | National Tsing Hua University | Multi-bit computing circuit for computing-in-memory applications and computing method thereof |
| US10642922B2 (en) * | 2018-09-28 | 2020-05-05 | Intel Corporation | Binary, ternary and bit serial compute-in-memory circuits |
| US10825509B2 (en) | 2018-09-28 | 2020-11-03 | Intel Corporation | Full-rail digital read compute-in-memory circuit |
| US11061646B2 (en) | 2018-09-28 | 2021-07-13 | Intel Corporation | Compute in memory circuits with multi-Vdd arrays and/or analog multipliers |
| JP7391874B2 (ja) * | 2018-11-08 | 2023-12-05 | 株式会社半導体エネルギー研究所 | 半導体装置 |
| WO2020139895A1 (en) * | 2018-12-24 | 2020-07-02 | The Trustees Of Columbia University In The City Of New York | Circuits and methods for in-memory computing |
| US10825510B2 (en) * | 2019-02-09 | 2020-11-03 | Purdue Research Foundation | Multi-bit dot product engine |
-
2020
- 2020-01-31 US US16/779,491 patent/US11657238B2/en active Active
-
2021
- 2021-01-21 CN CN202180011468.9A patent/CN115039177B/zh active Active
- 2021-01-21 WO PCT/US2021/014452 patent/WO2021154586A1/en not_active Ceased
- 2021-01-21 EP EP21705784.3A patent/EP4097721A1/en active Pending
- 2021-01-25 TW TW110102711A patent/TWI896590B/zh active
Also Published As
| Publication number | Publication date |
|---|---|
| TW202147320A (zh) | 2021-12-16 |
| WO2021154586A1 (en) | 2021-08-05 |
| US11657238B2 (en) | 2023-05-23 |
| CN115039177A (zh) | 2022-09-09 |
| TWI896590B (zh) | 2025-09-11 |
| US20210240442A1 (en) | 2021-08-05 |
| EP4097721A1 (en) | 2022-12-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115039177B (zh) | 低功耗存储器内计算位单元 | |
| US11783875B2 (en) | Circuits and methods for in-memory computing | |
| CN110414677B (zh) | 一种适用于全连接二值化神经网络的存内计算电路 | |
| CN115210810B (zh) | 存储器内计算动态随机存取存储器 | |
| CN115048075B (zh) | 基于电容耦合的sram存算一体芯片 | |
| CN114830136B (zh) | 功率高效的近存储器模拟乘法和累加(mac) | |
| US9697877B2 (en) | Compute memory | |
| CN116964675B (zh) | 具有三元激活的存储器内计算 | |
| US11018687B1 (en) | Power-efficient compute-in-memory analog-to-digital converters | |
| US12277319B2 (en) | SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture | |
| CN115244621A (zh) | 分时共享的存储器内计算位单元 | |
| Sharma et al. | AND8T SRAM macro with improved linearity for multi-bit in-memory computing | |
| CN116670763A (zh) | 具有电容性耦合写入操作的存储器内计算位单元 | |
| US11853880B2 (en) | SRAM architecture for convolutional neural network application | |
| CN115954029B (zh) | 多比特运算模块以及使用了该模块的存内计算电路结构 | |
| Kim et al. | SRAM-based processing-in-memory (PIM) | |
| US12224008B2 (en) | Non-volatile static random access memory | |
| Lin | A Reconfigurable In-SRAM Computing Architecture for CNN Application | |
| Xiao et al. | A robust computing-in-memory macro with 2t1r1c cells and reused capacitors for successive-approximation adc | |
| Jeong et al. | HYTEC: Compact and Energy-Efficient Analog-Digital Hybrid CIM With Transpose Ternary eDRAM | |
| CN118711630B (zh) | 基于14t-tfet-sram单元电路的带符号乘法与乘累加运算电路 | |
| Saragada et al. | An in-memory architecture for machine learning classifier using logistic regression | |
| Li | An energy efficient compute-in-memory SRAM for low power CNN based machine learning application | |
| KR20250032847A (ko) | 비트라인의 전하를 공유하여 기준전압을 생성하는 컴퓨팅 인 메모리 장치 및 그 동작 방법 |
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 |