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

可进行乘加存内计算的MRAM单元、阵列、电路及其工作方法

文献发布时间:2024-04-18 19:58:53


可进行乘加存内计算的MRAM单元、阵列、电路及其工作方法

技术领域

本发明属于信息技术领域,具体涉及一种可进行乘加存内计算的MRAM单元、阵列、电路及其工作方法。

背景技术

随着近几年物联网技术的飞速发展以及海量运算需求的上升,传统冯诺依曼架构中存在的存储和计算瓶颈即“存储墙”问题日益凸显,因此近些年学界兴起了存内计算相关的研究。存内计算是指存储阵列内部实现部分数据密集型的计算操作,从而减少数据访问存储的延迟和功耗开销,有望成为克服存储墙问题的一个重要方案。

现有的存内计算的技术路线主要包括模拟存内运算、数字存内计算和逻辑门存内计算等。

其中,逻辑门存内计算则是基于存储单元构建逻辑门,再基于这些具有一定数值存储功能的逻辑门实现电路功能。例如专利CN114039594A提出了一种基于MRAM的逻辑门运算电路,其不足之处在于:既需要复杂电路来支撑存储单元的操作,又不能避免数字逻辑电路的电容翻转较慢的特点,因而效率很低。

数字存内计算指将数字运算门电路嵌入存储阵列中,将存储阵列分割为多个小块,每个小块搭配适当的逻辑门,从而实现在数据总线前完成局部的逻辑运算;文献“An89TOPS/W and 16.3TOPS/mm2 All-Digital SRAM-Based Full-Precision Compute-InMemory Macro in 22nm for Machine-Learning Edge Applications”(ISSCC,2021)、“A5-nm 254-TOPS/W 221-TOPS/mm2 Fully-Digital Computing-in-Memory MacroSupporting Wide-Range Dynamic-Voltage-Frequency Scaling and Simultaneous MACand Write Operations”(ISSCC,2022)以及“A28nm29.2TFLOPS/W BF16 and 36.5TOPS/WINT8 Reconfigurable Digital CIM Processor with Unified FP/INT Pipeline andBitwise In-Memory Booth Multiplication for Cloud Deep LearningAcceleration”(ISSCC,2022)提出了数字存内计算的方案,其不足是:其乘法、加法运算都是基于大量传统数字电路门实现的,相对于模拟存算中仅仅电流汇聚而言,面积会显得很大;且为保证后续数字电路所需的驱动能力,现有方案中已有很多增加到8T-10T的存算单元,更加不利于做到大容量大算力。

模拟存内计算指利用经过存储单元的电流、电压、电荷、延迟等模拟信号的加权、汇聚等方法实现运算,计算结果为模拟信号,需要通过数模转换电路转为数字信号。模拟存内计算的优势在于:较好的面积效率,在数字方案中进行加法运算或乘法运算需要大量的逻辑门,并进行大量的数字电平翻转,而在模拟存算中只需要电流通过晶体管或者电阻、电流汇聚就可以实现,具有很大的面积效率潜力;模拟存算在与外界模拟世界的接口部分具有天然的优势,为未来实现感存算一体、缩短信号处理链条,具有更好的延迟、成本优势;三是模拟电路对工艺代的微缩要求不严峻,有助于在非领先制程上发展高算力计算处理单元,将具有更好的经济性。

现有的模拟存内计算技术包括:静态随机存储器SRAM由于其工艺成熟,是存内计算研究的主流方向,但是由于SRAM单元面积大且具有易失性,不利于低功耗低成本的物联网节点等应用领域;新型非易失随机存储器ReRAM和MRAM的存内计算具备单元面积小、非易失性等优点,这二者之间,ReRAM阻值窗口较大,实现存内计算较容易,近几年已有不少相关研究。然而,ReRAM存在写入速度慢、可擦写次数低等不足,因此不适用于一定频率上需要更新权重的领域,此时MRAM就有其独特的优势。因为MRAM写入速度快,可擦写次数比ReRAM高数个数量级,同时又具备非易失的特性,因此近些年开始研究MRAM的存算,但是MRAM阻值窗口低,实现存内计算较为困难。

专利US020210174182和US020190213119提出了基于逻辑门的方法,分别介于MTJ器件构造了XNOR门和非易失触发器,后实现存内计算,其缺点是读出电流大,能效低,单元结构较大,面积利用率低。

专利US020190042199、文献“AVariation Robust Inference Engine Based onSTT-MRAM with Parallel Read-Out”(ISCAS,2020)和文献“A Maximally Row-ParallelMRAM In-Memory-Computing Macro Addressing Readout Circuit SensitivityandArea”(ESSCIRC,2021)提出了并联存算结构,分别采用电荷分享、传统并联存算及互补差分并联存算的结构,其不足之处有计算规模有限、晶体管工作电流大、存算功耗大、单元面积大等问题。

最近三星提出了串联存算结构,见专利US020210303266、专利US020220019884、文献“A crossbar array ofmagnetoresistive memory devices for in-memorycomputing”(Nature 601,211–216(2022))。使用串联互补4T2MTJ阵列单元实现,将传统并联结构加电压读出电流的运算模式转变为加电流读出电压,有较好的能效比。不足之处在于该电路只能实现同或逻辑运算、面积占用较大、寄生电容大、存算速度慢。

综合以上,有必要提出一种基于MRAM的高吞吐率、低功耗、高能效、高密度、大规模的模拟存内计算结构。

发明内容

本发明是为解决上述问题而进行的,目的在于提供一种基于MRAM的高吞吐率、低功耗、高能效、高密度、大规模的单元结构、阵列结构、电路及其工作方法,本发明采用了如下技术方案:

本发明提供了一种MRAM存储单元,其特征在于,包括:第一读写晶体管;第二读写晶体管;存算晶体管;以及磁阻变化特性器件,在特定电压脉冲作用下改变其等效阻值为高阻或低阻两种状态,其中,所述第一读写晶体管连的源极接至第一读写位线WBL,漏极连接至所述磁阻变化特性器件的一端,所述第二读写晶体管的源极连接至第二读写位线WSL,漏极连接至所述磁阻变化特性器件的另一端,所述第一读写晶体管的栅极与所述第二读写晶体管的栅极相连,且均连接至外界读写控制子线WWL,所述存算晶体管的源极和漏极分别连接至所述磁阻变化特性器件的两端,栅极连接至外界存算控制子线CWL,所述磁阻变化特性器件的两端节点分别为BLU和BLD,分别连接所述第一读写晶体管的漏极和所述第二读写晶体管的漏极。

本发明提供的MRAM存储单元,还可以具有这样的技术特征,其中,所述第一读写晶体管、所述第读写二晶体管和所述存算晶体管均为标准阈值晶体管、低阈值晶体管或高阈值晶体管。

本发明提供的MRAM存储单元,还可以具有这样的技术特征,其中,所述第一读写晶体管、所述第二读写晶体管和所述存算晶体管均为PMOS或NMOS。

本发明提供的MRAM存储单元,还可以具有这样的技术特征,其中,所述磁阻变化特性器件为STT-MTJ或SOT-MTJ,其极性由BLD指向BLU。

本发明提供了一种上述MRAM存储单元的工作方法,其特征在于,包括:在读写控制子线WWL施加第一存储电位,在外界存算控制子线CWL施加第二存储电位,从而使所述MRAM存储单元处于存储器模式;在所述存储器模式下,在所述第一读写位线WBL和所述第二读写位线WSL上分别施加第一读取电位和第二读取电位,所述第一读取电位高于所述第二读取电位,所述第一读取电位和所述第二读取电位与所述磁阻变化特性器件作用形成读取信号,在BLD和BLU上获取该读取信号;在所述存储器模式下,在所述第一读写位线WBL和所述第二读写位线WSL上分别施加第一写入电位和第二写入电位,所述第一写入电位高于所述第二写入电位,且两者的差值大于所述磁阻变化特性器件的写入电压,所述第一写入电位和所述第二写入电位与所述磁阻变化特性器件作用,将反平行态的所述磁阻变化特性器件改写为平行态;在所述存储器模式下,在所述第一读写位线WBL和所述第二读写位线WSL上分别施加第三写入电位和第四写入电位,所述第三写入电位低于所述第四写入电位,且两者的差值大于所述磁阻变化特性器件的写入电压,所述第三写入电位和所述第四写入电位与所述磁阻变化特性器件作用,将平行态的所述磁阻变化特性器件改写为反平行态。

本发明提供了一种可进行乘加存内计算的MRAM存算阵列,其特征在于,包括:多个MRAM存储单元,呈矩阵排布,其中,所述MRAM存储单元为上述的MRAM存储单元,同一列的多个所述MRAM存储单元共用一条第一读写位线WBL和第二读写位线WSL,同一行的多个所述MRAM存储单元共用一条读写控制子线WWL和外界存算控制子线CWL,每一列的BLU和BLD串联连接,末端的所述BLD连接地线,顶端的所述BLU连出作为BL线。

本发明提供了一种上述MRAM存算阵列的工作方法,其特征在于,包括:在读写控制子线WWL施加存算电位,从而使所述MRAM存算阵列处于存算模式;在所述存算模式下,根据计算用的向量数据在各个外界存算控制子线CWL上分别施加第一数据电位或第二数据电位,所述第一数据电位和所述第二数据电位分别对应于所述向量数据中的0和1,所述第一数据电位和所述第二数据电位分别与所述MRAM存算阵列中的各个MRAM存储单元作用形成存算信号,从最顶端的MRAM存储单元的BLU与最底端的MRAM存储单元的BLD上获取该存算信号。

本发明提供了一种可进行乘加存内计算的MRAM存算电路,其特征在于,包括:MRAM存算阵列,用于进行数据存储以及存内计算;存储存算控制器,用于控制所述MRAM存算阵列工作在存储器模式或存算模式;写驱动电路,用于向所述MRAM存算阵列写入数据;行驱动电路,用于将所述存储存算控制器提供的低压弱驱动信号转化为高压强驱动信号;独立读电路,用于读取所述MRAM存算阵列中存储的数据;存内计算驱动电路,用于在所述MRAM存算阵列工作在存算模式时为其存算通路提供驱动电流;差分放大电路,用于实现存内计算所需的两个电压相减和放大的操作;以及数模转换电路,用于将存内计算结果转换为数字形式,其中,所述MRAM存算阵列为上述的MRAM存算阵列。

本发明提供了一种上述MRAM存算电路的工作方法,其特征在于,包括:将MRAM存算阵列的MRAM存储单元划分为多组,每组包含若干个存算列以及一个参考列,并将所述参考列全部改写为平行态,在读写控制子线WWL施加第一存储电位,在外界存算控制子线CWL施加第二存储电位,从而使所述MRAM存算阵列处于存储器模式;在所述存储器模式下,由写驱动电路和行驱动电路执行写操作,每次向所述MRAM存算阵列写入一行数据;在所述存储器模式下,由存内计算驱动电路、差分放大电路和数模转换电路执行读操作,每次读出所述MRAM存算阵列的一行数据,从而判断选中的MRAM存储单元的高低阻值;在所述读写控制子线WWL施加存算电位,从而使所述MRAM存算阵列处于存算模式;在所述存算模式下,所述MRAM存算阵列中存储有在所述存储器模式下写入的阵列数据,根据计算用的向量数据在各个所述外界存算控制子线CWL上分别施加第一数据电位或第二数据电位,所述第一数据电位和所述第二数据电位分别对应于所述向量数据中的0和1,所述第一数据电位和所述第二数据电位分别与各个所述MRAM存储单元作用形成存算结果,该存算结果由所述存算列顶端的BLU与所述参考列顶端的BLU的差值获得。

本发明提供了一种上述MRAM存算阵列的高密度变体,其特征在于,包括:多个MRAM存储单元的高密度变体,呈矩阵排布,其中,所述MRAM存储单元的高密度变体包括两个所述MRAM存算阵列的MRAM存储单元,两个所述MRAM存储单元上下邻接且垂直对称,且共用第一读写晶体管或第二读写晶体管,两个所述MRAM存储单元的两个磁阻变化特性器件的极性方向相反,所述第一读写晶体管的栅极和所述第二读写晶体管的栅极分别连接至两条不同的外界读写控制子线WWL,所述MRAM存算阵列的高密度变体中,相邻列的所述MRAM存储单元的高密度变体共用第一读写位线WBL和第二读写位线WSL,同一列的所述MRAM存储单元的高密度变体共用一条第一读写位线WBL和第二读写位线WSL,同一行的所述MRAM存储单元的高密度变体共用一条所述外界读写控制子线WWL和外界存算控制子线CWL,每一列的BLU和BLD串联连接,末端的所述BLD连接地线,顶端的所述BLU连出作为BL线。

发明作用与效果

根据本发明的可进行乘加存内计算的MRAM存储单元、阵列、电路及其工作方法,采用磁阻变化特性器件实现非易失性存储,采用加电流读电压的方式替换了现有技术中加电压读电流的方式,阵列中每一列的各个MRAM存储单元共用一份电流,使存算功耗降低了1/N,N为阵列的行数,因此可以获得更好的存内计算能效。同时,本发明的阵列采用串联形式,串联存内计算使用电阻值作为计算数值,替换了并联结构存内计算使用的电导值,避免了并联结构多行开启后整列阻值过低,使得运算结果对版图寄生线电阻分布和高低阻值MTJ的空间分布过于敏感。综上所述,本发明提供的结构及其工作方法能够降低存算的工作功耗,同时有效避免先进工艺下MTJ串的等效电阻受到高低阻值MTJ的空间分布的影响,有利于扩大存算电路的规模。

附图说明

图1是本发明实施例一中MRAM存储单元的结构示意图;

图2是本发明实施例一中MRAM存储单元的连接结构示意图;

图3是本发明实施例一中MRAM存储单元的操作表示意图;

图4是本发明实施例一中MRAM存算阵列的结构示意图;

图5是本发明实施例一中MRAM存算电路的总体框图;

图6是本发明实施例一中写驱动电路的部分结构示意图;

图7是本发明实施例一中独立读电路的部分结构示意图;

图8是本发明实施例一中存内计算驱动电路的部分结构示意图;

图9是本发明实施例一中极端情况下存内计算结果与BL读出电压的仿真结果分布图;

图10是本发明实施例一的方案与现有技术的并联存内计算方案进行同一MAC运算时的能耗对比图;

图11是本发明实施例二中高密度MRAM存储单元的结构图;

图12是本发明实施例三中高密度MRAM存算阵列的结构图。

附图标记:

MRAM存储单元10;高密度MRAM存储单元10’;第一读写晶体管11;第二读写晶体管12;存算晶体管13;磁阻变化特性器件15;灵敏放大器16;MRAM存算阵列100;高密度MRAM存算阵列100’;写驱动电路200;第一晶体管201;第二晶体管202;第三晶体管203;第四晶体管204;本地反相器205;独立读电路300;电流灵敏型放大器电路301;导通开关302;存内计算驱动电路400;第一电流镜401;第一开关管402;第二电流镜403;第二开关管404;差分放大电路500;差分放大器501;数模转换电路600;行驱动电路700;存储存算控制器800;MRAM存算电路1000。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的可进行乘加存内计算的MRAM存储单元、阵列、电路及其工作方法作具体阐述。

在本发明的描述中,需要说明的是,术语“上”、“下”、“左”、“右”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

<实施例一>

本实施例提供一种可进行乘加存内计算的MRAM存储单元、由该MRAM存储单元构成的阵列、包含有该阵列的电路以及相应的工作方法。

图1是本实施例中MRAM存储单元的结构图。

如图1所示,可进行乘加存内计算的MRAM存储单元10(以下简称MRAM存储单元10)包括第一读写晶体管11、第二读写晶体管12、存算晶体管13以及磁阻变化特性器件15。

其中,第一读写晶体管11、第二读写晶体管12、存算晶体管13均可为标准阈值晶体管、低阈值晶体管或高阈值晶体管。磁阻变化特性器件15是可以由特定电压脉冲作用下改变等效阻值为高阻或低阻两种状态的特性器件。

本实施例中,第一读写晶体管11、第二读写晶体管12、存算晶体管13均为NMOS;磁阻变化特性器件15为STT-MTJ。在替代方案中,第一读写晶体管11、第二读写晶体管12、存算晶体管13也可以均为PMOS,磁阻变化特性器件15也可以为SOT-MTJ。

第一读写晶体管11的源极连接第一读写位线WBL,漏极连接磁阻变化特性器件15的一端。第二读写晶体管12的源极连接另一条第二读写位线WSL,漏极连接磁阻变化特性器件15的另一端。第一读写晶体管11的栅极和第二读写晶体管12的栅极相连,且均连接外界读写控制子线WWL。存算晶体管13与磁阻变化特性器件15并联,存算晶体管13的源极和漏极分别连接在磁阻变化特性器件15的两端,栅极连接外界存算控制子线CWL。磁阻变化特性器件15两端节点分别为BLU和BLD,分别连接第一读写晶体管11的漏极和第二读写晶体管12的漏极,磁阻变化特性器件15存在极性,由BLU指向BLD。

图2是本实施例中MRAM存储单元的连接结构图,用于说明MRAM存储单元的工作方式。

如图2所示,BLD连接地线,BLU连接至灵敏放大器16的一端,灵敏放大器16的另一端接电源。

图3是本实施例中MRAM存储单元的操作表示意图。

如图3所示,当WBL电压高于WSL电压时,若磁阻变化特性器件15为平行态,则表现为低阻,读取电流较大,电容放电速度快,可由灵敏放大器16读取逻辑“0”;若磁阻变化特性器件15为反平行态,则表现为高阻,读取电流小,电容放电速度慢,可由灵敏放大器16读取逻辑“1”。

当WBL电压远高于WSL电压,且两者的差值大于磁阻变化特性器件15的写入电压时,若磁阻变化特性器件15为反平行态,可被改写为平行态。

当WBL电压远低于WSL电压,且两者的差值大于磁阻变化特性器件15的写入电压时,若磁阻变化特性器件15为平行态,可被改写为反平行态。

因此,MRAM存储单元10的工作方法包括:

在读写控制子线WWL施加第一存储电位,第一存储电位为高电压,在外界存算控制子线CWL施加第二存储电位,第二存储电位为低电压,从而使MRAM存储单元10处于存储器模式;

在存储器模式下,在第一读写位线WBL和第二读写位线WSL上分别施加第一读取电位和第二读取电位,第一读取电位高于第二读取电位,第一读取电位和第二读取电位与磁阻变化特性器件15作用形成读取信号,在BLU和BLD上获取该读取信号;

在存储器模式下,在第一读写位线WBL和第二读写位线WSL上分别施加第一写入电位和第二写入电位,第一写入电位远高于第二写入电位,两者的差值大于磁阻变化特性器件15的写入电压,第一写入电位和第二写入电位与磁阻变化特性器件15作用,将反平行态的磁阻变化特性器件15改写为平行态;

在存储器模式下,在第一读写位线WBL和第二读写位线WSL上分别施加第三写入电位和第四写入电位,第三写入电位远低于第四写入电位,两者的差值大于磁阻变化特性器件15的写入电压,第三写入电位和第四写入电位与磁阻变化特性器件15作用,将平行态的磁阻变化特性器件15改写为反平行态。

如上述,本实施例的MRAM存储单元10能够实现非易失性的存储。

图4是本实施例中MRAM存算阵列的结构示意图。

如图4所示,MRAM存算阵列100包含有多个上述的MRAM存储单元10,多个MRAM存储单元10呈矩阵式排布形成N行M列的阵列。其中,在同一列的多个MRAM存储单元10共用一条WBL条和WSL线;在同一行的多个MRAM存储单元10共用一条WWL线和CWL线,每一列的BLU和BLD串联连接,末端的BLD连接地线,顶端BLU节点连出作为BL线。也就是说,共有M条BL线、M条WBL线、M条WSL线、N条WWL线以及N条CWL线。

如上所述,当WWL为高电压、CWL线为低电压时,各个MRAM存储单元10为存储器模式,即MRAM存算阵列100为存储器模式;当WWL为低电压时,MRAM存算阵列100为存储兼容存内计算模式(以下简称存算模式),用于进行数据存储以及向量矩阵的乘加存内计算。

当WWL为低电压,则进行存内计算。此时,若CWL为高电压,则存算晶体管13进入导通状态,导通电阻较低,在与磁阻变化特性器件15并联的情况下,由于磁阻变化特性器件15高低阻值相距较小,且绝对值也较小,因此无论磁阻变化特性器件15处于平行态或是反平行态,BLU与BLD两端的电阻都近似为NMOS的导通电阻,可由参考阵列产生相近的电阻,并依靠差分放大电路将这一电阻减去,减去后,阻值在计算中视为“0”。

若CWL为低电压,则存算晶体管13进入截止状态,导通电阻近似无穷大,此时BLU与BLD两端电阻等于磁阻变化特性器件15的导通电阻,若磁阻变化特性器件15为平行态,则其电阻为低阻,可被所有单元均为低阻的参考阵列减去,减去后阻值视为“0”。若磁阻变化特性器件15为反平行态,则其电阻为高阻,由差分放大电路减去参考阵列后,剩余阻值为磁阻变化特性器件15的高阻与低阻之差,在计算中视为“1”。

因此,MRAM存算阵列100的工作方法包括:

在读写控制子线WWL施加存算电位,存算电位为低电压,从而使MRAM存算阵列100处于存算模式;

在存算模式下,根据计算用的向量数据在各个外界存算控制子线CWL上分别施加第一数据电位或第二数据电位,第一数据电位和第二数据电位分别对应于向量数据中的0和1,第一数据电位和第二数据电位分别与各个MRAM存储单元10作用形成存算信号,从最顶端的MRAM存储单元的BLU与最底端的MRAM存储单元的BLD上获取该存算信号。也即从串联后的整个阵列的首尾两端获取,因为尾端通常接地,因此也可以说是从最顶端的MRAM存储单元的BLU获取。

图5是本实施例中MRAM存算电路的总体框图。

如图5所示,MRAM存算电路1000包括上述MRAM存算阵列100、写驱动电路200、独立读电路300、存内计算驱动电路400、差分放大电路500、数模转换电路600、行驱动电路700以及存储存算控制器800。

图6是本实施例中写驱动电路的部分结构示意图。

如图6所示,写驱动电路200包括M列驱动电路,均由第一晶体管201、第二晶体管202、第三晶体管203、第四晶体管204和本地反相器205组成。其中,第一晶体管201和第三晶体管203均为PMOS,第二晶体管202和第四晶体管204均为NMOS,第一晶体管201的源极和第三晶体管203的源极连接高电压Vhigh,第二晶体管202的源极和第四晶体管204的源极连接低电压Vlow,通常为地线。第一晶体管201的栅极与第二晶体管202的栅极相连,并引出WBL<0:M-1>到存储存算控制器800。第一晶体管201的漏极与第二晶体管202的漏极均连接到下方阵列的WSL线。第三晶体管203的漏极和第四晶体管204的漏极均连接到下方阵列的WBL线。

写驱动电路200的工作方法为:

当WBL电压大于本地反相器205的阈值电压时,第一晶体管201截止,第二晶体管202导通,WSL线被驱动到Vhigh;第三晶体管203导通,第四晶体管204截止,WBL线被驱动到Vlow,此时WSL电压比WBL电压高,若Vhigh-Vlow电压大于磁阻变化特性器件15的写入电压,且若磁阻变化特性器件15为反平行态,则可被改写为平行态,若磁阻变化特性器件15为平行态,则保持不变。

当WBL电压小于本地反相器205的阈值电压时,第一晶体管201导通,第二晶体管202截止,WSL线被驱动到Vlow;第三晶体管203截止,第四晶体管204导通,WBL线被驱动到Vhigh,此时WBL电压比WSL电压高,若Vhigh-Vlow电压大于磁阻变化特性器件15的写入电压,且若磁阻变化特性器件15为平行态,则可被改写为反平行态,若磁阻变化特性器件15为反平行态,则保持不变。

MRAM存算阵列100的结构如上所述。应用于电路中时,将其中的MRAM存储单元10按列划分为多组,每组中的一列作为参考列(图5中以深灰色标示出),其中的单元作为参考单元,被初始化为全低阻状态,另外多列作为存算列(图5中以浅灰色标示出),其中的单元作为存算单元,可自由改写。每组中的列数由下方差分放大电路500和数模转换电路600的版图尺寸决定。本实施例中,将每8列自由改写的存算单元搭配1列固定低阻的参考单元作为一组,MRAM存算阵列100总计M列N行。如图5所示,MRAM存算阵列100纵向引出线为WBL<0:M-1>、WSL<0:M-1>、BL<0:M-1>,其中WBL、WSL贯穿整个阵列,BL则串联多行单元结构。底部引出线为BL<0:M-1>,顶部引出线接地线。横向引出线为WWL<0:N-1>和CWL<0:N-1>,贯穿整个阵列,并连接到左侧的行驱动电路700。MRAM存算阵列100的工作方法已在前文详细说明,不再赘述。

图7是本实施例中独立读电路的部分结构示意图。

如图7所示,独立读电路300由电流灵敏型放大器电路301和导通开关302组成,用于对存储器(即存算阵列100)进行高速读出和写入阵列时限制磁阻变化特性器件15阻值波动。

独立读电路300的工作方法为:

存储器高速读出时,关闭存算通路,打开导通开关302,写驱动电路200中的WBL给出低电压,使得WBL连接至Vread电压,WSL连接至地线,通过电流灵敏型放大器电路301读出磁阻变化特性器件15的电流值,从而确定其高低阻。当用于写入验证时,可以采用两个SA电路,通过设定两个不同的SA参考电流,从而反复写入使读出电流落在两个不同的SA参考电流之间。

图8是本实施例中存内计算驱动电路的部分结构示意图。

如图8所示,存内计算驱动电路400用于为存算通路提供驱动电流,其由第一电流镜401、第一开关管402、第二电流镜403以及第二开关管404组成。图8中示出的第一电流镜401和第二电流镜403仅为示意图,实际为电流镜电路,本实施例中,采用折叠共源共栅电流镜,其具体为现有技术不再赘述。如图8所示,每组8列存算单元对应8个第一开关管402和1个第一电流镜401,第一开关管402的一端和第二开关管404的一端均连接MRAM存算阵列100的BL线,另一端连接在一起,且共同连接第一电流镜401。第一电流镜401通过复制芯片外部参考电流,为MRAM存算阵列100提供存算电流。每组中单独的参考单元列连接单独的第二开关管404和第二电流镜403,如图8所示,第二开关管404一端连接BL线,另一端连接第二电流镜403,其中第二开关管404为常导通,作用为与第一开关管402保持匹配。同理第二电流镜403也和第一电流镜401一致。此外,不同组的第一开关管402的开关控制线并联。

存内计算驱动电路400的工作方法为:

当存储存算控制器800选中每一组中的特定列时,控制对应列的第一开关管402导通,其余列的第一开关管402关断,此时第一电流镜401复制的电流只驱动所需列,由此可以获取对应列的导通电压;每组的多个第一开关管402每次只导通1个,其余7个均关断;第二开关管404以及第二电流镜403为常通,用于为差分放大电路500提供参考电压。

差分放大电路500内包含M/8个差分放大器501以及采样保持电路,用于实现存内计算所需的两个电压相减和放大的操作,具体电路及工作方法都为现有技术,此处不再赘述。

数模转换电路600可为SAR型ADC或FLASH型ADC,根据所需输出位宽的不同而定,本实施例采用SAR型ADC。

行驱动电路700可有多种实现方式,目的是将控制器提供的低压弱驱动信号转化为驱动阵列的高压强驱动信号,具体实现可采用level shift电路或是反相器级联,本实施例采用反相器级联的方式。

存储存算控制器800为数字电路实现,包含存储器模式下的电路控制以及向量矩阵乘加存内计算模式下的电路控制,以及数据的缓存及对应各自应用的功能电路。

MRAM存算电路1000的工作方法包括:

将MRAM存算阵列100的多个MRAM存储单元10按列划分为多组,每组包含若干个存算列以及一个参考列,并将参考列中的MRAM存储单元10全部改写为平行态;

在读写控制子线WWL施加第一存储电位,第一存储电位为高电压,在外界存算控制子线CWL施加第二存储电位,第二存储电位为低电压,从而使MRAM存算电路1000处于存储器模式;

在存储器模式下,由写驱动电路200和行驱动电路700执行写操作,每次向MRAM存算阵列100写入一行数据;

在存储器模式下,由存内计算驱动电路300、差分放大电路400和数模转换电路500执行读操作,每次读出MRAM存算阵列100的一行数据,从而判断选中单元的高低阻值,在替代方案中,也可以单独在写驱动电路200中嵌入电流型灵敏放大器,从而直接读取每列的电流值,同样每次读取一行数据;

在读写控制子线WWL施加存算电位,存算电位为低电压,从而使MRAM存算阵列100处于存算模式;

在存算模式下,MRAM存算阵列100中存储有在存储器模式下写入的阵列数据,根据计算用的向量数据在各个外界存算控制子线CWL上分别施加第一数据电位或第二数据电位,第一数据电位和第二数据电位分别对应于向量数据中的0和1,第一数据电位和第二数据电位分别与各个MRAM存储单元10作用形成存算结果,存算结果由存算列顶端的BLU与参考列顶端的BLU的差值获得。

也即,先在存储器模式下写入阵列数据,为减轻磁阻变化特性器件15的阻值波动造成的影响,可以在每次写入后单独读取确认写入阻值的范围,并可以多次反复写入以保证阻值波动在1σ以内。

在写入完成后,通过CWL传入向量数据,存内计算驱动电路400为MRAM存算阵列100提供标准的存算电流,BL节点处产生导通电压,将被测导通电压和参考阵列的导通电压传入差分放大电路500中进行差分放大和采样保持,由于被测列的电流与参考列的电流相同,被测列的导通电压与参考列的导通电压之差正比于这一列中WL开启的高阻阵列单元的个数,因此通过差分放大和模数转换后,即可读取向量矩阵乘加运算的结果。数字运算结果传入存储存算控制器800,通过其数据接口导出片外。

图9是本实施例中存内计算结果与BL读出电压的仿真结果分布图,该图示出了应用于32行串联结构下(即上述N=32),在极端情况下存内计算结果与BL读出电压的仿真结果。

图10是本实施例的方案与现有技术的并联存内计算方案进行同一MAC运算时的能耗对比图。

如图9-10所示,本实施例的MRAM存算电路1000及其工作方法,极大降低了存算阵列的工作功耗,同时该结构有效避免先进工艺下MTJ串的等效电阻受到高低阻值MTJ的空间分布的影响,有利于扩大存算电路的规模。

本实施例中,未详细说明的部分为本领域的公知技术。

<实施例二>

本实施例提供一种MRAM存储单元的高密度变体以及MRAM存算阵列的高密度变体。

图10是本实施例中MRAM存储单元的高密度变体的结构图。

如图10所示,MRAM存储单元的高密度变体10’包括第一读写晶体管11、两个第二读写晶体管12、两个存算晶体管13以及两个磁阻变化特性器件15,按图示的方式连接。

也就是说,MRAM存储单元的高密度变体10’可视为包含有两个实施例一的MRAM存储单元10,这两个MRAM存储单元10上下邻接且垂直对称,上下两个单元共用第一读写晶体管11(或第二读写晶体管12),两个磁阻变化特性器件15的极性也上下翻转,即极性方向相反,并且第一读写晶体管11的栅极和第二读写晶体管12的栅极不共用,各独立引出,即每个MRAM存储单元10拥有两条WWL控制线,高密度变体10’(两个MRAM存储单元10)拥有三个WWL控制线,以此类推。

高密度变体10’的工作方法与实施例一的MRAM存储单元10的工作方法相同,可参照图3所示的操作表。区别之处在于,原本操作一条WWL改为需要同时操作上下两条WWL线,其余操作逻辑不变,现象也不变。

图11是本实施例中MRAM存算阵列高密度变体的结构示意图。

如图11所示,MRAM存算阵列的高密度变体100’采用上述MRAM存储单元的高密度变体10’的结构,以矩阵式排列形成N行M列的阵列。即奇偶行垂直镜像,且复用一个读写晶体管。同时,相邻列共用WBL线和WSL线,同一列共用一条WBL线和WSL线,同一行共用一条WWL线和CWL线,每一列的BLU和BLD串联连接,末端BLD连接地线,顶端BLU节点连出作为BL线。因此,共用M条BL线、M/2条WBL线、M/2条WSL线、N+1条WWL线以及N条CWL线。

此外,在替代方案中,相邻列也可以只共用WSL线,而具有独立的WBL线,即WBL线数量增加为M条。这样的结构在操作表上与MRAM存算阵列的高密度变体100’无异,但同一周期可以同时读取任意列,写入则与MRAM存算阵列的高密度变体100’相同,即相邻列写入相同值只需1周期,写入不同值则需2周期。

与实施例一的MRAM存算阵列100的工作方法相比,高密度MRAM存算阵列100’的工作方法的区别之处在于,无法同时访问相邻两列的单元,在存储器模式下,相邻单元的读取需要分两个周期实现。对于写入操作,如果相邻列的写入值相同,则可以一周期完成写入,否则也需要两周期写入。存算模式则不受影响,同实施例一。

本实施例中,其他结构及工作原理与实施例一中相同,因此不再重复说明。

实施例作用与效果

根据本实施例提供的可进行乘加存内计算的MRAM单元、阵列、电路及其工作方法,采用磁阻变化特性器件实现非易失性存储,采用加电流读电压的方式替换了现有技术中加电压读电流的方式,阵列中每一列的各个MRAM存储单元共用一份电流,使存算功耗降低了1/N,N为阵列的行数,因此可以获得更好的存内计算能效。同时,本实施例的串联存内计算使用电阻值作为计算数值,替换了并联结构存内计算使用的电导值,避免了并联结构多行开启后整列阻值过低,使得运算结果对版图寄生线电阻分布和高低阻值MTJ的空间分布过于敏感。如图9-10的仿真结果和对比结果所示,本实施例提供的可进行乘加存内计算的MRAM存算电路及其工作方法,极大降低了存算阵列的工作功耗,同时该结构有效避免先进工艺下MTJ串的等效电阻受到高低阻值MTJ的空间分布的影响,有利于扩大存算电路的规模。

实施例二提供了一种MRAM存储单元的高密度变体以及一种MRAM存算阵列的高密度变体,复用了部分元件,在同样具有上述多种优势的基础上,可进一步减少存内计算的功耗,提高存内计算的面积效率比,并能减小存储器的尺寸。

上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。

技术分类

06120116514426