使用分段存储器体系架构的模拟存储器内计算处理电路的制作方法
- 国知局
- 2024-07-31 19:48:08
本文的实施例涉及模拟存储器内(in-memory)计算处理电路,并且具体地涉及用于模拟存储器内计算的分段存储器(例如,静态随机存取存储器(sram))体系架构的使用。
背景技术:
1、参考图1,其示出了模拟存储器内计算电路10的示意图。电路10利用包括以具有n行和m列的矩阵格式布置的存储器单元14的阵列12(例如,由标准6t sram存储器单元形成的静态随机存取存储器(sram)阵列)的存储器电路。作为替代方案,可以代替地使用标准8t存储器单元或sram或具有类似功能和拓扑的其它类型的位单元。每个存储器单元14被编程为存储用于存储器内计算操作的计算权重或内核数据的位。在本上下文中,存储器内计算操作被理解为高维矩阵向量乘法(mvm)的一种形式,支持存储在存储器的多个位单元中的多位权重。位单元的组(在多位权重的情况下)可以被视为虚拟突触元素。计算权重的每一位具有逻辑“1”或逻辑“0”值。
2、每个存储器单元14包括字线wl和互补位线对blt和blc。8t类型sram单元将附加地包括读字线rwl和读位线rbl。矩阵的共同行中的单元14通过公共字线wl(并且在8t类型实现中通过公共读字线rwl)彼此连接。矩阵的共同列中的单元14通过公共的互补位线对blt和blc(并且在8t类型实现中通过公共读位线rbl)彼此连接。每条字线wl、rwl由字线驱动器电路16驱动,字线驱动器电路16可以被实现为cmos驱动器电路(例如,形成逻辑反相器电路的串联连接的p沟道和n沟道mosfet晶体管对)。施加到字线并且由字线驱动器电路16驱动的字线信号是根据输入到存储器内计算电路10的特征数据生成的并且由行控制器电路18控制。列处理电路20感测用于m列的互补位线对blt和blc上(和/或读位线rbl上)的模拟信号、将模拟信号转换成数字信号、对数字信号执行数字计算以及为存储器内计算操作生成决策输出。
3、虽然图1中未明确示出,但是应该理解的是,电路10还包括本领域技术人员已知的常规行解码、列解码和读-写电路,用于结合向存储器阵列12的sram单元14写入数据的位(例如,计算权重数据),和从存储器阵列12的sram单元14读取数据的位。这个操作被称为常规存储器存取模式并且与上面讨论的模拟存储器内计算操作区分。
4、现在参考图2,每个6t类型的存储器单元14包括两个交叉耦合的cmos反相器22和24,每个反相器包括串联连接的p沟道和n沟道mosfet晶体管对。反相器22和24的输入端和输出端被耦合以形成锁存电路,该锁存电路具有真实数据存储节点qt和互补数据存储节点qc,其存储所存储数据位的互补逻辑状态。单元14还包括两个转移(传输门)晶体管26和28,其栅极端子由字线wl驱动。晶体管26的源极-漏极路径连接在真实数据存储节点qt和与真实位线blt相关联的节点之间。晶体管28的源极-漏极路径连接在互补数据存储节点qc和与互补位线blc相关联的节点之间。每个反相器22和24中的p沟道晶体管30和32的源极端子被耦合以在高电源节点处接收高电源电压(例如,vdd),而每个反相器22和24中的n沟道晶体管34和36的源极端子被耦合以在低电源节点处接收低电源电压(例如,接地(gnd)参考)。
5、现在参考图3,8t类型的每个存储器单元14包括两个交叉耦合的cmos反相器22和24,每个反相器包括串联连接的p沟道和n沟道mosfet晶体管对。反相器22和24的输入端和输出端被耦合以形成锁存电路,该锁存电路具有真实数据存储节点qt和互补数据存储节点qc,其存储所存储数据位的互补逻辑状态。单元14还包括两个转移(传输门)晶体管26和28,其栅极端子由字线wl驱动。晶体管26的源极-漏极路径连接在真实数据存储节点qt和与真实位线blt相关联的节点之间。晶体管28的源极-漏极路径连接在互补数据存储节点qc和与互补位线blc相关联的节点之间。每个反相器22和24中的p沟道晶体管30和32的源极端子被耦合以在高电源节点处接收高电源电压(例如,vdd),而每个反相器22和24中的n沟道晶体管34和36的源极端子被耦合以在低电源节点处接收低电源电压(例如,接地(gnd)参考)。读位线rbl和低电源电压参考之间的信号路径由串联耦合的晶体管38和40形成。(读取)晶体管38的栅极端子耦合到互补存储节点qc,并且(转移)晶体管40的栅极端子被耦合以接收读字线rwl上的信号。
6、字线驱动器电路16通常被耦合以在高电源节点处接收高电源电压(vdd)并且在低电源节点处参考低电源电压(gnd)。
7、行控制器电路18接收用于存储器内计算操作的特征数据,并且响应于此而执行选择字线wl<0>至wl<n-1>(或读字线rwl<0>至rwl<n-1>)中的哪些将在模拟存储器内计算操作期间被同时并行访问(或致动)的功能,以及根据该存储器内计算操作控制将脉冲信号施加到字线的进一步功能。图1仅以示例的方式示出了用脉冲字线信号同时致动所有n条字线,应该理解的是,存储器内计算操作可以替代地利用少于sram阵列的所有行的同时致动。给定的互补位线对blt和blc上的模拟信号(或者8t类型实现中的读位线rbl上的模拟信号)取决于存储在对应列的存储器单元14中的计算权重的位的逻辑状态以及施加到那些存储器单元14的脉冲字线信号的宽度。
8、图1中所示的实施方式示出了根据接收到的特征数据针对存储器内计算操作对所施加的字线信号进行脉宽调制(pwm)的形式的示例。对所施加的字线信号使用pwm或周期脉冲调制(ptm)是基于乘法-累加(mac)运算的向量的线性度的存储器内计算操作的常用技术。脉冲字线信号格式还可以发展为编码的脉冲串,以管理存储器内计算操作的特征数据的块稀疏性。相应地认识到,当同时驱动多条字线时,可以使用用于所施加的字线信号的任意组编码方案。此外,在更简单的实施方式中,应该理解的是,同时致动中的所有施加的字线信号可以替代地具有相同的脉冲宽度。
9、图4是时序图,其示出了针对给定模拟存储器内计算操作将示例脉宽调制字线信号同时施加到sram阵列12中的多行存储器单元14,以及响应于由于那些字线信号的脉冲宽度和存储在存储器单元14中的计算权重的位的逻辑状态而导致的单元读取电流的下降,分别在对应一个互补位线对blt和blc上的电压va,t和va,c的随时间推移的发展,或者在一个读位线rbl上的电压va,r的随时间推移的发展。所示的电压va电平的表示仅仅是示例。在模拟存储器内计算操作的计算周期的时间内,列处理电路20的模数转换器(adc)电路将采样(在时间ts)电压va电平以转换成数字信号,该数字信号然后进行所需的数字计算以生成决策输出。计算周期完成之后,电压va电平返回到位线预充电vdd电平。
技术实现思路
1、在实施例中,一种电路包括:存储器阵列,包括以多行和多列的矩阵布置的存储器单元,每行包括连接到该行的存储器单元的字线,并且每个存储器单元存储权重数据的位用于存储器内计算操作;其中存储器被划分为存储器单元的多个子阵列,每个子阵列包括所述多行中的至少一行和所述多列;用于子阵列的每一列的局部位线;以及多条全局位线。
2、为每一行提供字线驱动电路,其具有被连接以驱动该行的字线的输出端,并且行控制器电路耦合到字线驱动电路并且被配置为在所述存储器内计算操作期间同时致动每个子阵列的一条字线。
3、计算电路系统将子阵列的列中的每个存储器单元耦合到子阵列的每一列的局部位线,其中计算电路系统被配置为将用于存储器内计算操作的特征数据的位与存储的权重数据的位逻辑组合,以在局部位线上生成逻辑输出。多条局部位线被耦合以与每条全局位线进行电荷共享。
4、列处理电路感测响应于所述电荷共享而生成的全局位线上的模拟信号、将模拟信号转换成数字信号、对数字信号执行数字信号处理计算以及生成用于存储器内计算操作的决策输出。
5、在实施方式中,存储器阵列的每列具有相关联的全局位线,并且被耦合以与每条全局位线进行电荷共享的多条局部位线包括在多个子阵列的对应列中的局部位线。特征数据被施加在存储器阵列的行的方向上。
6、在另一种实施方式中,每个子阵列具有相关联的全局位线,并且被耦合以与每条全局位线进行电荷共享的多条局部位线包括子阵列中的局部位线。特征数据被施加在存储器阵列的列的方向上。
7、电荷共享电路被耦合在多条局部位线与每条全局位线之间。在一种实施方式中,电荷共享电路是所述多条局部位线中的每条局部位线与全局位线之间的电容。在另一种实施方式中,电荷共享电路包括:所述多条局部位线中的每条局部位线的第一电容;全局位线的第二电容;以及选择性地将每个第一电容连接到第二电容的开关。
本文地址:https://www.jishuxx.com/zhuanli/20240731/184110.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。