掌桥专利:专业的专利平台
掌桥专利
首页

存储器电路、单元以及从其阵列读取数据的方法

文献发布时间:2023-06-19 13:45:04


存储器电路、单元以及从其阵列读取数据的方法

技术领域

本发明涉及数据访问,并且具体地在实施例中涉及对存储器单元阵列中的数据的高速、功率高效的大规模访问。本发明的实施例还涉及存储器电路、单元以及从其阵列读取数据的方法。

背景技术

全球数据生成继续以指数速度增长,在许多情况下,数据处理能力的增长相形见绌。在一些实例中,处理能力的限制可能会阻碍人们从创建和捕获的大量数据中受益的能力。

发明内容

根据本发明实施例的一个方面,提供了一种存储器电路,包括:位线;以及多个计算单元,连接至位线。多个计算单元中的每个包括:存储器元件,具有数据输出端子;逻辑元件,具有第一输入端子、第二输入端子和输出端子,其中,第一输入端子耦合至存储器元件的数据输出端子,第二输入端子被配置为接收选择信号;以及电容器,具有第一端子和第二端子,其中,第一端子耦合至逻辑元件的输出端子,第二端子耦合至位线,其中,位线的电压被配置为由多个计算单元驱动。

根据本发明实施例的另一个方面,提供了一种从存储器单元的阵列读取数据的方法,包括:将响应于阵列中的多个存储器单元的位线预充电成预定电平;将选择信号施加至逻辑元件阵列,每个逻辑元件响应于选择信号以及来自阵列中的存储器单元中的相应一个的信号,其中,位线的电压由来自逻辑元件的输出信号驱动;检测位线处的电压;基于检测到的电压确定与存储在存储器单元阵列中的数据相关联的数据值。

根据本发明实施例的又一个方面,提供了一种存储器单元,包括:存储元件,被配置为存储一位数据;逻辑门,被配置为接收来自存储元件的信号以及选择信号;电容器,被配置为在第一端子处接收来自逻辑门的输出信号,其中,电容器被配置用于经由第二端子连接至位线。

附图说明

当与附图一起阅读时,根据以下详细描述可最好地理解本发明的各方面。

图1是根据实施例的包括门控计算单元阵列的存储器电路。

图2是描绘根据实施例的存储器的计算单元的示意图。

图3是描绘根据实施例的逻辑元件是或非(NOR)门的计算单元的示意图。

图4是描绘根据实施例的基于存储在存储器中的存储器元件中的数据的存储器内数据计算的示意图。

图5是描绘根据实施例的利用或(OR)门作为逻辑元件的计算单元的示意图。

图6是描绘根据实施例的利用与(AND)门作为逻辑元件的计算单元的示意图。

图7是描绘根据实施例的利用与非(NAND)门作为逻辑元件的计算单元的示意图。

图8是描绘根据实施例从存储器单元阵列读取数据的方法的流程图。

具体实施方式

以下公开内容提供用于实施提供的主题的不同特征的许多不同实施例或实例。以下将描述元件和布置的特定实例以简化本发明。当然,这些仅仅是实例,并非旨在限制本发明。此外,本发明可在各个实例中重复参考数字和/或字符。这种重复是出于简洁与清晰目的,其本身并不指示所论述的各种实施例和/或配置之间存在关系。

数据生成和捕获的指数级增长为技术进步提供了巨大的机会。但是,由于某些技术领域未经历对应的增长率,因此访问和处理该数据以享受其全部收益的成本可能非常大。例如,存在与访问数据、将访问的数据提供给数据处理器以及处理该数据相关联的时间和电力成本。在实施例中,本文提供的系统和方法可通过同时提供对存储在许多存储器位置中的数据的同时访问来降低这些成本中的某些成本,包括对存储器中的该数据执行访问和计算操作(例如,不使用外部进程)。例如,存储器件(例如,基于静态随机存取存储器(SRAM)的存储器)可被配置为同时访问来自大量存储器位置的数据并输出与该数据相关联的计数(例如,有多少存储器位置存储“1”值的计数)。

图1是根据实施例的包括门控计算单元阵列的存储器电路。存储器电路100包括位线102和多个计算存储器单元104,该等计算存储器单元在一些情况下可被称为存储器内计算(CIM)单元。计算单元104中的每个连接至位线102。计算单元104中的每个包括存储器元件以及用于将信号施加至位线102的逻辑,其中,位线102上的信号基于来自所有选定计算单元104的贡献来生成。在图1的实例中,每个计算存储器单元104接收选择信号106,由此,至少部分地基于接收到选择信号106,计算单元104被配置为将由存储在其中的存储器中的数据值指示的任何信号施加至位线102。在图1的实例中,所有所描绘的计算单元104接收选择信号106。在实施例中,存储器电路100的所有计算单元104接收相同的选择信号106。在其他实施例中,计算单元104的子组接收不同的选择信号,从而实现对少于所有计算单元104的访问和计算(例如,单元0至99中的具有“1”值的存储器元件的计数、单元100至199中的具有“1”值的存储器元件的计数)。在另一实例中,计算单元104可接收全局选择信号和“局部”选择信号,其中,接收全局或局部选择信号的计算单元104被激活并且被配置为将信号施加至位线102(例如,当局部选择1被断言时,单元0至99中的具有“1”值的存储器元件的计数;当全局选择信号被断言时,单元0至199中的具有“1”值的存储器元件的计数)。位线102上的信号电平(例如,电压)由多个计算单元104的贡献(或非贡献)共同驱动,其中,诸如电压检测器108等检测器件测量该信号电平,其中,数据可从该信号电平断言(例如,存储器元件具有‘1’值的所有选定计算单元的计数)。

图2是描绘根据实施例的存储器的计算单元的示意图。如上所述,存储器电路包括位线102和连接至位线102的多个计算单元,这些计算单元中的一个的实例细节在204处描绘。在图2的实例中,实例计算单元包括具有数据输出端子的六晶体管SRAM单元形式的存储器元件206,其中,在图2的实例中,存储器元件的数据输出端子提供QB信号,它是存储在存储器元件中的数据值的逆表示(例如,当存储器元件包含“1”值时,QB为低,当存储器元件206包含低值时,QB为高),QB要么直接从存储器元件提供,要么跟随中间的反相器门(未示出)。计算单元204还包括逻辑元件208,该逻辑元件具有耦合至存储器元件206的数据输出端子(接收QB)的第一输入端子以及第二输入端子,该第二输入端子接收选择相关信号(例如,SELB,作为选择信号的反相表示(例如,当SEL为高时SELB为低,当SEL为高时SELB为低,其中,SELB从计算单元204的外部接收或使用基于在计算单元204处接收到的SEL信号来使用反相器(未示出)生成)。计算单元还包括电容器210,该电容器具有耦合至逻辑元件208的输出端子(信号NC)的第一端子和耦合至位线102的第二端子。

在操作中,位线102预充电成预定电平(例如,0V)。选择信号(例如,SELB)由计算单元接收中的每个并被提供给其中的逻辑元件208。当计算单元204未选定时,逻辑元件208根据存储器电路配置向其输出节点(NC)提供默认高值或低值(例如,逻辑元件208在位线102预充电成低电平时向其输出节点(NC)提供默认低值)。当经由选择信号激活时,逻辑元件208基于存储在存储器元件206中的数据值来提供输出(在NC处)。在一些实例中,当经由选择信号被激活时,逻辑元件208可将指示存储在存储器元件206中的值的信号传递到其输出节点(NC)。在其他实例中,逻辑元件208可处理从存储器元件接收的信号(例如,通过使该信号反相)。来自逻辑元件208的信号输出经由电容器210单独或结合来自其他计算单元的输出影响位线102上的信号输出。

图3是描绘根据实施例的逻辑元件是或非(NOR)门的计算单元的示意图。在此实例中,位线102预充电成低,并且当未选定时,每个计算单元304输出低信号。当选定时,每个计算单元304在其存储器单元中存储的数据为“0”时输出低信号,而当其存储器单元中存储的数据为“1”时输出高信号。提供高信号输出的计算单元中的每个的贡献被累积在位线102上,使得位线102上的电压电平指示具有值为“1”的存储器元件的计算单元的数量。

具体地,计算单元304包括存储器元件306,该存储器元件的数据用于在QB产生反相数据输出(例如,当存储器元件306包含“1”值时QB为低;当存储器元件306包含‘0’值时QB为高)。NOR逻辑元件308接收反相数据输出QB和反相选择信号SELB并在节点NC处产生输出信号。NC处的输出经由电容器310部分地驱动位线102处的电压。

NOR门的操作在312处示出,其中,当选择信号为高(SELB为低)并且当存储器元件存储“1”值(QB为低)时,NOR逻辑元件308在输出节点NC处提供高信号,从而按递增量使驱动位线102电压增高。在所有其他情况下(例如,当未选择计算单元时,当存储器元件存储“0”值时),NOR逻辑元件将节点NC驱动成低,从而不会对位线102产生增量电压贡献。

位线102上的信号电平表示存储在存储器电路的存储器元件中的数据值。图4是描绘根据实施例的基于存储在存储器中的存储器元件中的数据的存储器内数据计算的示意图。在图4的实例中,存储器电路被配置为在位线(V_EQ)上产生信号,从中可确定存储“1”值的选定存储器元件的数量的计数。图4的实例包括128个计算单元的阵列,该等计算单元各自在其中具有存储器元件,每个计算单元连接至位线,如402所示。这些计算单元中的m个具有存储“1”值的存储器元件,而128-m个计算单元具有存储‘0’值的存储器元件。如上面参考图3所讨论,在接收QB和SELB输入的NOR逻辑元件实例中,选定计算单元将在其存储器元件存储“1”值时提供高输出,并且该计算单元将在其存储器元件存储‘0’值时提供低(接地)输出。

存储器电路对位线产生电压V_EQ的影响示于404处。在那里,存储器元件存储“1”的m个计算单元经由m个电容器连接至位线,从而提供高逻辑电平与位线之间的m*C总电容,以有助于产生V_EQ。相反,存储器元件存储‘0’的(128-m)个计算单元经由(128-m)个电容器连接至位线,而提供低(接地/Vss)逻辑电平与位线之间的(128-m)*C。在位线与低逻辑电平之间也重新发送已知的负载电容。

然后位线电压V_EQ表示:

V_EQ=(m*C)/(n*C+C_load),

其中,V是检测到的电压,m是具有特定值的计算单元的数量,C是电容器的电容,n是单元总数(例如,128个),并且C_load是已知负载电容。然后可通过下式确定存储器元件存储‘1’值的m个计算单元的计数:

m=V_EQ*(n*C+C_load)/C

尽管使用NOR门作为逻辑元件来实现图3的实例,但也可利用其他实例。图5是描绘根据实施例的利用OR门作为逻辑元件的计算单元的示意图。在此实例中,位线102预充电成高,并且当选定时,每个计算单元504在其存储器单元中存储的数据为“0”时输出高信号并且当其存储器单元中存储的数据为“1”时输出低信号,从而逐渐将位线电压拉低可检测的量。提供低信号输出的计算单元中的每个的贡献被累积在位线102上,使得位线102上的电压电平指示具有值为“1”的存储器元件的计算单元的数量。

具体地,计算单元504包括存储器元件506,该存储器元件的数据用于在QB产生反相数据输出(例如,当存储器元件506包含“1”值时QB为低;当存储器元件506包含“0”值时QB为高)。OR逻辑元件508接收反相数据输出QB和反相选择信号SELB并在节点NC处产生输出信号。NC处的输出经由电容器510部分地驱动位线102处的电压。

OR门的操作在512处示出,其中,当选择信号为高(SELB为低)并且当存储器元件存储“1”值(QB为低)时,OR逻辑元件508在输出节点NC处提供低信号,从而按递增量使驱动位线102电压降低。在所有其他情况下(例如,当未选择计算单元时,当存储器元件存储“0”值时),OR逻辑元件将节点NC驱动成低,从而不会对位线102产生增量向下电压贡献。

图6是描绘根据实施例的利用AND门作为逻辑元件的计算单元的示意图。在此实例中,位线102预充电成低,并且当选定时,每个计算单元604在其存储器单元中存储的数据为“0”时输出低信号并且当其存储器单元中存储的数据为“1”时输出高信号。提供高信号输出的计算单元中的每个的贡献被累积在位线102上,使得位线102上的电压电平指示具有值为“1”的存储器元件的计算单元的数量。

具体地,计算单元604包括存储器元件606,其数据用于在Q处产生数据输出。AND逻辑元件608接收数据输出Q和选择信号SEL并在节点NC处产生输出信号。NC处的输出经由电容器610部分地驱动位线102处的电压。

AND门的操作在612处示出,其中,当选择信号为高并且当存储器元件存储“1”值时,AND逻辑元件608在输出节点NC处提供高信号,从而按递增量使驱动位线102电压增高。在所有其他情况下(例如,当未选择计算单元时,当存储器元件存储“0”值时),AND逻辑元件将节点NC驱动成低,从而不会对位线102产生增量电压贡献。

图7是描绘根据实施例的利用NAND门作为逻辑元件的计算单元的示意图。在此实例中,位线102预充电成高,并且当选定时(例如,通过局部选择信号(选择128个单元中的计算单元0至63或选择所有计算单元0至127的全局选择信号),每个计算单元704在其存储器单元中存储的数据为“0”时输出高信号,并在其存储器单元中存储的数据为“1”时输出低信号。提供低信号输出的计算单元中的每个的贡献被累积在位线102上,使得位线102上的电压电平指示具有值为“1”的存储器元件的计算单元的数量。

具体地,计算单元704包括存储器元件706,其数据用于在Q处产生数据输出。与非(NAND)逻辑元件708接收数据输出Q和选择信号SEL并在节点NC处产生输出信号。NC处的输出经由电容器710部分地驱动位线102处的电压。

NAND门的操作在712处示出,其中,当选择信号为高并且当存储器元件存储“1”值时,NAND逻辑元件608在输出节点NC处提供低信号,从而按递增量使驱动位线102电压降低。在所有其他情况下(例如,当未选择计算单元时,当存储器元件存储“0”值时),NAND逻辑元件将节点NC驱动成低,从而不会对位线102产生增量向下电压贡献。

在实施例中,局部SEL和全局SEL在到达计算单元704之前被解码(例如,通过将这两个信号路由通过OR门)。在其他实例中,局部SEL和全局SEL信号都在计算单元704处(例如,在单独引脚上)被接收,其中,它们在计算单元704中被解码,诸如经由OR门,使得当局部SEL或全局SEL中的任一个被激活时,存储器元件706可对位线电压做出贡献。

图8是描绘根据实施例从存储器单元阵列读取数据的方法的流程图。尽管可使用多种结构来执行该方法的步骤,但为了易于理解,本文参考实例结构。该方法包括在802处将响应于阵列中的多个存储器单元206的位线102预充电成预定电平。在804处,将选择信号施加至逻辑元件阵列208,每个逻辑元件208响应于选择信号以及来自阵列中的存储器单元206中的相应一个的信号,其中,位线102的电压由来自逻辑元件208的输出信号驱动。在806处检测位线102处的电压,并且在808处基于检测到的电压确定来与存储在存储器单元阵列206中的数据相关联的数据值。

使用如本文的各种方法可提供许多优点。例如,主题的使用可提供对存储器中的数据的高速访问,包括在存储器中时处理该数据,使得对于该访问和处理的某些方面不需要从存储器输出数据。在实施例中,可使用单个选择信号来实现对存储器的访问(例如,用于输出位线的电荷提升),从而产生低功耗和高速度以及低电路控制引脚计数。在计算单元的输出电容器具有在所有活动时间受逻辑元件控制的输入节点的实施例中,电容器在操作期间不处于浮动阶段,从而减少泄漏和其他不利影响。在计算单元中使用逻辑元件还可限制对耗时和耗电的均衡操作的需要。

在一个实例中,一种存储器电路包括位线和连接至位线的多个计算单元。多个计算单元中的每个包括:存储器元件,具有数据输出端子;逻辑元件,具有第一输入端子、第二输入端子和输出端子,其中,第一输入端子耦合至存储器元件的数据输出端子,第二输入端子接收选择信号;以及电容器,具有第一端子和第二端子,其中,第一端子耦合至逻辑元件的输出端子,第二端子耦合至位线。位线的电压由多个计算单元驱动。

在上述存储器电路中,逻辑元件基于选择信号和来自存储器元件的数据输出端子的信号将电容器的第一端子驱动到高电平或低电平。

在上述存储器电路中,当存储器电路工作时,逻辑元件防止电容器的第一端子浮动。

在上述存储器电路中,还包括耦合至位线的电压检测器。

在上述存储器电路中,存储器电路被配置为基于由电压检测器检测到的电压确定具有特定值的计算单元的数量。

在上述存储器电路中,存储器电路被配置为基于以下评估确定具有特定值的计算单元的数量:V=(m*C)/(n*C+C_load),其中,V是检测到的电压,m是具有特定值的计算单元的数量,C是电容器的电容,n是单元总数,并且C_load是负载电容。

在上述存储器电路中,特定计算单元被配置为在存储器元件包含1数据值并且在选择信号为高时将位线的电压驱动成更高。

在上述存储器电路中,特定计算单元的逻辑元件包括或非门,其中,或非门接收来自存储器元件的反相信号以及反相选择信号。

在上述存储器电路中,特定计算单元的逻辑元件包括与门,其中,与门接收来自存储器元件的数据输出端子的信号以及选择信号。

在上述存储器电路中,还包括预充电电路,预充电电路被配置为在选择信号的断言之前将位线驱动成低。

在上述存储器电路中,特定计算单元被配置为在存储器元件包含1数据值并且在选择信号为高时将位线的电压驱动成更低。

在上述存储器电路中,特定计算单元的逻辑元件包括或门,其中,或门接收来自存储器元件的反相信号以及反相选择信号。

在上述存储器电路中,特定计算单元的逻辑元件包括与非门,其中,与非门接收来自存储器元件的数据输出端子的信号以及选择信号。

在上述存储器电路中,还包括预充电电路,预充电电路被配置为在选择信号的断言之前将位线驱动成高。

在另一个实例中,一种从存储器单元阵列读取数据的方法包括:将响应于阵列中的多个存储器单元的位线预充电成预定电平。将选择信号施加至逻辑元件阵列,每个逻辑元件响应于选择信号以及来自阵列中的存储器单元中的相应一个的信号,其中,位线的电压由来自逻辑元件的输出信号驱动。检测位线处的电压,并且基于检测到的电压来确定与存储在存储器单元阵列中的数据相关联的数据值。

在上述方法中,还包括:在多个存储器单元中的每个中存储数据。

在上述方法中,电容器位于逻辑元件中的特定一个与位线之间,其中,当存储器单元的阵列工作时,特定逻辑元件与电容器之间的节点被驱动成两个电平中的一个。

在上述方法中,当选择信号是有效的并且特定存储器单元存储预定数据值时,特定存储器单元驱动位线远离位线的预充电水平。

在上述方法中,数据值指示具有预定数据值的存储器单元的数量。

在另外的实施例中,一种存储器单元包括:存储元件,被配置为存储一位数据。逻辑门被配置为接收来自存储元件的信号以及选择信号。并且电容器被配置为在第一端子处接收来自逻辑门的输出信号,其中,电容器被配置用于经由第二端子连接至位线。

前述内容概述了若干实施例的特征,以使得本领域技术人员可更好地理解本发明的各方面。本领域技术人员应该理解,他们可容易地使用本发明作为基础来设计或修改用于实施与本文所介绍的实施例相同目的和/或实现相同优势的其他工艺和结构。本领域技术人员还应该认识到,这样的等同构造不脱离本发明的精神和范围,并且在不脱离本发明的精神和范围的情况下,它们可在这里进行各种改变、替换和变更。

技术分类

06120113790522