自旋随机存储器存内计算装置和存内计算方法及电子设备



1.本发明总体上涉及存内计算领域,更特别地,涉及一种基于热激发效应的自旋随机存储器存内计算装置、利用所述基于热激发效应的自旋随机存储器存内计算装置进行存内计算的方法、以及包括该自旋随机存储器存内计算装置的电子设备。


背景技术:



2.在传统的冯
·
诺依曼架构中,存储器和计算单元是相互分离的两个单独部件。计算机执行计算操作时,需要从存储器中取出数据,传输到计算单元中进行计算,然后再将计算结果返回到存储器。计算机的所有功能都是通过这样的往复数据搬运过程实现的,对存储器的访存和对数据的计算在总能量消耗中占比很高。
3.存内计算(computing in memory,cim)是一种新提出的计算方式,其将计算部件与存储器相结合,存储和计算合为一体,打破了传统计算机的冯
·
诺依曼架构,能够大幅度降低数据迁移带来的算力、功耗限制。存内计算最为核心的问题主要包括计算精度、计算规模(即计算阵列的集成度)、计算速度和功耗等。存内计算的一个重要应用场景是人工智能中的矩阵运算。神经网络训练等大规模计算的核心是求解矩阵向量乘法(matrix-vectormultiplication,mvm),即ax=b问题,这里a、b为矩阵,x为向量。目前阻变存储器(rram)和相变存储器(pcram)的电导存在较为明显的涨落、噪声和漂移问题,基于这些器件的存内计算精度有限。基于电子自旋隧穿的二值磁随机存储器(mram)虽然具有较好的涨落特性,但是目前尚未实现多值存储,不适合进行矩阵向量乘法运算。
4.因此,仍需要探索新的器件和架构,以满足存内计算对精度、集成度、速度和功耗等方面的要求。


技术实现要素:



5.针对上述问题,提出了本发明。
6.本发明的一个方面提供一种自旋随机存储器存内计算装置,包括:多个存内计算单元的阵列,每个存内计算单元包括基于热激发效应的磁性隧道结;为每行存内计算单元设置的第一字线;以及为每列存内计算单元设置的第一位线、第二位线和第三位线,每个存内计算单元连接在对应的第一字线和第一位线之间,第三位线连接到设置在存内计算单元与第一位线之间的开关晶体管的栅极,第二位线与存内计算单元电隔离。所述第一字线和所述第二位线配置为接收写入电流以产生写磁场,所述写磁场使所述磁性隧道结的自由磁层的磁化方向相对于参考磁层的磁化方向在平行方向和反平行方向之间连续可调,从而所述磁性隧道结的电导值在对应的范围内连续可调。所述存内计算单元的阵列配置为存储输入矩阵的转置,其中输入矩阵的转置的元素值分别对应于磁性隧道结的连续可调电导值。所述第一字线还配置为将与输入列向量的元素值对应的电压值分别施加到存储有存储矩阵的转置的各行存内计算单元。所述第一位线配置为输出与输出列向量的元素值对应的电流值,每条第一位线输出的电流值是对应列中的每个存内计算单元的输出电流在所述第一
位线上汇聚得到的电流总和。
7.在一些实施例中,所述磁性隧道结包括依次形成的第一电极、第一反铁磁层、参考磁层、绝缘势垒层、自由磁层、第二反铁磁层和第二电极,所述第二反铁磁层的阻塞温度低于所述第一反铁磁层的阻塞温度。
8.在一些实施例中,当在存内计算单元的阵列中写入输入矩阵的转置时,与要写入的存内计算单元对应的第三位线配置为使开关晶体管导通,与要写入的存内计算单元对应的第一字线和第二位线接收电流以产生写磁场,与要写入的存内计算单元对应的第一字线和第一位线施加流经磁性隧道结的加热电流以加热所述磁性隧道结,使得所述写磁场将所述磁性隧道结的自由磁层的磁化方向取向到与所述写磁场相同的方向上,从而所述磁性隧道结的连续可调电导值被调整为与输入矩阵的转置的元素值对应的电导值。
9.在一些实施例中,当完成电导值的写入时,所述第一字线和所述第二位线配置为在停止施加所述加热电流之后再停止施加所述写磁场。
10.在一些实施例中,所述加热电流将所述磁性隧道结加热至一温度,所述温度高于所述第二反铁磁层的阻塞温度且低于所述第一反铁磁层的阻塞温度。
11.在一些实施例中,所述自由磁层和所述参考磁层具有面内磁化方向,并且至少所述自由磁层具有面内各向同性。
12.本发明的另一方面提供一种利用自旋随机存储器存内计算装置进行存内计算的方法,所述自旋随机存储器存内计算装置包括多个存内计算单元的阵列,为每行存内计算单元设置的第一字线,以及为每列存内计算单元设置的第一位线、第二位线和第三位线,每个存内计算单元包括基于热激发效应的磁性隧道结并且连接在对应的第一字线和第一位线之间,第三位线连接到设置在存内计算单元与第一位线之间的开关晶体管的栅极,第二位线与存内计算单元电隔离,所述方法包括:在第一字线和第二位线上施加写入电流以产生写磁场,所述写磁场使存内计算单元的磁性隧道结中的自由磁层的磁化方向相对于参考磁层的磁化方向在平行方向和反平行方向之间连续可调,从而每个磁性隧道结的电导值在对应的范围内连续可调,控制在第一字线和第二位线上施加的写入电流的大小和方向,以将与输入矩阵的转置的元素值对应的电导值写入到对应的磁性隧道结中;通过第一字线将与输入列向量的元素值对应的电压值分别施加到存储有输入矩阵的转置的各行存内计算单元上;以及通过第一位线输出与输出列向量的各个元素值对应的电流值,每条第一位线输出的电流值是对应列中的每个存内计算单元的输出电流在所述第一位线上汇聚得到的电流总和。
13.在一些实施例中,所述磁性隧道结包括依次形成的第一电极、第一反铁磁层、参考磁层、绝缘势垒层、自由磁层、第二反铁磁层和第二电极,所述第二反铁磁层的阻塞温度低于所述第一反铁磁层的阻塞温度。
14.在一些实施例中,当在存内计算单元的阵列中写入矩阵a的转置时,与要写入的存内计算单元对应的第三位线配置为使开关晶体管导通,与要写入的存内计算单元对应的第一字线和第二位线接收写入电流以产生写磁场,与要写入的存内计算单元对应的第一字线和第一位线施加流经磁性隧道结的加热电流以加热所述磁性隧道结,使得所述写磁场将所述磁性隧道结的自由磁层的磁化方向取向到与所述写磁场相同的方向上,从而所述磁性隧道结的连续可调电导值被调整为与输入矩阵的装置的元素值对应的电导值。
15.在一些实施例中,当完成电导值的写入时,在停止施加所述加热电流之后再停止施加所述写磁场。
16.在一些实施例中,所述加热电流将所述磁性隧道结加热至一温度,所述温度高于所述第二反铁磁层的阻塞温度且低于所述第一反铁磁层的阻塞温度。
17.在一些实施例中,所述自由磁层和所述参考磁层具有面内磁化方向,并且至少所述自由磁层具有面内各向同性。
18.本发明的另一方面提供一种电子设备,其包括上述自旋随机存储器存内计算装置。
19.本发明采用以下技术方案,具有以下有益效果:
20.(1)本发明利用磁随机存储器(mram)非易失性的特点,克服了静态随机存储器(sram)和动态随机存储器(dram)的易失性问题,与存内计算相结合,使得存内计算具备了断电后仍然能够保持数据的优点。
21.(2)本发明利用磁随机存储器(mram)集成度高、读写速度快的特点,克服了闪存(flash)集成度低、读写速度慢的缺点,与存内计算相结合,有望实现高集成度、大规模高速存内计算。
22.(3)本发明基于自旋电子隧穿机理的磁随机存储器(mram),利用磁随机存储器良好的电导涨落特性,解决了rram、pcram电导涨落所引起的精度差的问题,可以实现准确的数值存储和读取操作,从而提高了存内运算的准确性。
23.(4)本发明利用热激发的自旋磁随机存储器技术,利用电流辅助加热,在交换偏置的作用下,将自由层的磁化翻转并且稳定在与外加磁场相同的方向。该技术通过调节磁矩夹角可以连续调控磁隧道结的电导,从而能够实现多值存储,使其能够应用在模拟式存内计算。
24.(5)本发明利用热激发的自旋磁随机存储器技术与存内计算相结合,设计出了基于热激发的自旋磁随机存储器的存内计算电路,填补了模拟式 mram存内计算的空白,解决了加热电路复杂等问题,实现了高精度、大规模、高速mvm模拟式存内计算。
25.本发明的上述和其他特征和优点将通过下面结合附图对示例性实施例的详细描述而变得更显而易见。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1是示出存内计算原理的示意图。
28.图2是示出根据本发明一实施例的基于热激发的自旋磁随机存储器存内计算装置的电路示意图。
29.图3是示出根据本发明一实施例的单个存内计算单元的结构示意图。
30.图4是示出根据本发明一实施例的利用字线和位线产生的合成磁场方向的示意图。
31.图5是示出根据本发明一实施例的自旋磁随机存储器存内计算单元的自由磁层和固定磁层的磁化方向示意图。
32.图6是示出根据本发明一实施例的在写操作期间施加写入电流和加热电流的时序图。
具体实施方式
33.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
34.图1示出存内计算原理的示意图,该原理同样适用于下面描述的根据本发明各实施例的基于热激发的自旋磁随机存储器存内计算装置。如图1所示,存内计算装置包括存内计算单元11的m行n列阵列,m和n都是大于1的整数。每个存内计算单元11是多值存储单元,例如可以通过调节其电导来写入/存储期望的值。在存内计算单元11的m
×
n阵列中可以存储有矩阵a 的转置a
t
,其中矩阵a是n行m列的矩阵,因此矩阵a的转置a
t
是m行 n列的矩阵,分别如下面的公式(1)和(2)所示。应理解,这里虽然描述了存内计算单元11的m
×
n阵列,但是其可以形成为更大的阵列,例如2m
ꢀ×
n阵列,从而可以方便地执行其他操作,例如涉及负值的运算等。
[0035][0036][0037]
行译码器12通过字线wl0至wl
m-1
可以将m个电压v0至v
m-1
分别施加到m行存内计算单元11。每个存内计算单元11在施加有电压v时产生一电流i,电流i的大小等于电压值v与存内计算单元11的电导值g的乘积i=vg。利用位线bl0至bl
n-1
,输出电路13可以读取每列存内计算单元11的输出电流之和i0至i
n-1
,从而完成了下面公式(3)表示的矩阵向量运算,其中向量x和b分别由公式(4)和公式(5)表示。该方法可以用于求解线性方程组和矩阵特征向量等广泛的代数问题,而无需耗时耗能的迭代操作。
[0038]
ax=b
ꢀꢀꢀ
(3)
[0039][0040][0041]
可以理解,在实际执行矩阵向量乘法(mvm)计算的过程中,作为输入的已知的n
×m矩阵a和m
×
1列向量x以及作为输出的m
×
1列向量b 中的各个元素的取值范围与存内计算单元的电导值、向其施加的电压值以及输出的电流值的取值范围之间存在一定的差距,因此在进行计算时,先对矩阵a和列向量x的值进行归一化处理,以适应装置电路的电导范围和输入电压范围。同样,在获得输出列向量b之后,再对其元素值进行相应的逆处理,以恢复得到输出结果值。这些归一化处理和逆处理都是现有的存内计算技术中的已知手段,因此这里不再详细描述。为了方便和简洁,在本技术中如上面的公式1、4和5那样,直接用电导值、电压值和电流值来表示矩阵a和列向量x、b中的各个元素值。
[0042]
图2是示出根据本发明一实施例的基于热激发的自旋磁随机存储器存内计算装置的电路示意图。如图2所示,存内计算装置包括存内计算单元11 的阵列,为了描述方便,这里示为m
×
n的阵列,从而可以使用每个存内计算单元11在阵列中的位置作为其地址。为每行存内计算单元11设置有沿行方向延伸的第一字线wl,第一字线wl的数量等于阵列的行数m;为每列存内计算单元11设置有沿列方向延伸的第一位线bl、第二位线blb和第三位线blg,第一位线bl、第二位线blb和第三位线blg的数量等于阵列的列数n。
[0043]
输入电路10可以接收输入信号,输入信号可包括存内计算单元11的地址数据以及用于对存内计算单元11进行写入、读取和存内计算操作等的数据,输入电路10包括归一化电路,可对a矩阵和x向量进行归一化处理,以适应装置电路的电导范围和输入电压范围。在一些实施例中,输入电路10 可以包括数模转换器(dac)以用于将接收到的数字输入信号转换成可用于对存内计算单元11进行各种操作的模拟信号。输入电路10可以对a矩阵和 x向量进行归一化处理,以适应装置电路的电导范围和输入电压范围。输入电路10可以将输入数据提供给行译码器12和列译码器14,行译码器12和列译码器14通过第一字线wl、第三位线blg、第一位线bl和第二位线 blb对存内计算单元11的阵列进行各种操作,这将在下面进一步详细说明。
[0044]
输出电路13可以通过第一位线bl0至bl
n-1
接收存内计算单元11的输出。如下面详细描述的那样,输出电路13接收的输出可以是存内计算单元 11中存储的数据,也可以是在存内计算单元11中进行存内计算后得到的计算结果数据。输出电路13可包括模数转换器(adc),以将读取的模拟信号转换成数字信号;转化电路,将输出信号转化为向量b。
[0045]
图3示出根据本发明一实施例的单个存内计算单元11的结构示意图。可以理解,图2所示的阵列中的每个存内计算单元11可以具有图3所示的结构。参照图3,存内计算单元11可包括磁隧道结(mtj)2,其依次具有电极26、反铁磁层25、参考磁层24、非磁绝缘势垒层23、自由磁层22、反铁磁层21和电极20。虽然图3示出了自由磁层22在参考磁层24上方,但是磁隧道结2也可以按照相反的顺序形成。
[0046]
电极20和26可由非磁导电材料形成,其示例包括但不限于au、ag、cu、nd、ti、al、ru、rh、mo、zr、hf、v、cr、nb、w、ta、pt等非磁导电金属以及它们的合金。
[0047]
自由磁层22和参考磁层24可由铁磁导电材料形成,其示例包括但不限于fe、co、ni、gd及其合金,或者它们与ti、v、zn、cu、ag、au、nb、ta、cr、mo、w、re、ru、os、rh、ir、pt、hf、cd、zr、sc等非磁金属材料中的一种或多种的合金。
[0048]
绝缘势垒层23可由非磁绝缘材料形成,其示例包括但不限于mgo、al2o3、 al2mgo4、zno、znmgo2、tio2、hfo2、tao2、cd2o3、zro2、ga2o3、sc2o3、 v2o5、fe2o3、co2o3、nio、cuo中的一种或多种。
[0049]
反铁磁层21和25可由反铁磁导电材料形成,其示例包括但不限于irmn、 ptmn、osmn、rhmn、femn、crptmn、rumn、nimn、ptpdmn等。应注意,通过为反铁磁层21和25选择适当的材料,使得反铁磁层21的阻塞温度t
b1
低于反铁磁层25的阻塞温度t
b2
。例如,反铁磁层25可以由crptmn、 ptmn、nimn、ptpdmn等具有较高阻塞温度的反铁磁材料形成,而反铁磁层 21可以由其他具有较低阻塞温度的反铁磁材料形成。
[0050]
在磁隧道结2中,自由磁层22和参考磁层24可具有面内磁化。参考磁层24的磁化方向被反铁磁层25固定,并且在器件运行期间不会发生变化。如下面详细描述的那样,自由磁层22的磁化方向可以在写入操作中被改变,使得自由磁层22的磁化方向和参考磁层24的磁化方向形成一夹角θ,磁隧道结2的电阻值与夹角θ的余弦值成比例。通过写入不同的夹角θ,可以在磁隧道结2中实现多值写入,即写入多个电阻/电导值中的某一个。磁隧道结 2可以为例如圆形,从而至少自由磁层22具有面内各向同性,使得能够方便地写入不同的角度值θ。
[0051]
磁隧道结2的一端例如电极20可连接到第一字线wl,另一端例如电极26可通过开关晶体管3连接到第一位线bl,开关晶体管3的控制栅极可连接到第三位线blg。第二位线blb可以位于磁隧道结2下方并且与磁隧道结2电隔离,其也可以设置在其他位置例如在磁隧道结2和第一字线wl 的上方。
[0052]
第一字线wl中可以施加沿正负延伸方向的电流i
wl
,并且还可以施加流经存内计算单元11的加热电流i
heat
。通过选择第一字线wl和第三位线 blg,可以选择性地在阵列中的一个内存计算单元11上施加加热电流以进行加热,而不加热其他存内计算单元11,从而对单个存内计算单元11进行写入操作,如下面详细描述的那样。第三位线blg上可以施加有电压v
blg
以控制开关晶体管3的导通和截止,从而可以控制流经存内计算单元11的电流。第一位线bl和第二位线blb上可以分别施加沿正负延伸方向的电流i
bl
和i
blb
,虽然图3中仅示出了垂直纸面向外的电流。
[0053]
图4是示出根据本发明一实施例利用第一字线wl和第二位线blb产生的合成磁场方向的示意图。图4示出了四种示例情况。在第一种情况中,向第一字线wl施加电流i
wl
,产生水平向右的奥斯特磁场h
wl
;向第二位线blb施加电流i
blb
,产生垂直向下的奥斯特磁场h
blb
。磁场h
wl
和h
blb
的合成磁场为h
total
,其指向右下方向。在第二种情况中,改变向第一字线 wl施加的电流i
wl
的方向,产生水平向左的奥斯特磁场h
wl
;而向第二位线blb施加的电流i
blb
的方向不变,因此其产生的奥斯特磁场h
blb
的方向不发生变化,仍为垂直向下。此时,磁场h
wl
和h
blb
的合成磁场h
total
的方向变为指向左下方向。在第三和第四种情况中,可以不向第二位线blb施加电流,因此其不产生奥斯特磁场。此时,合成磁场h
total
等于第一字线wl 产生的奥斯特磁场h
wl
,其取决于施加到第一字线wl的电流i
wl
的方向而可以是水平向右(第三种情况)或水平向左(第四种情况)。可以理解,通过控制向第一字线wl施加的电流i
wl
和向第二位线blb施加的电流i
blb
的大小和方向,可以使合成磁场h
total
在平面内360度的任何方向上。
[0054]
图5示出使用图4中产生的合成磁场h
total
对自由磁层22的磁矩进行取向操作后,自由磁层22的磁化方向m
22
和参考磁层24的磁化方向m
24
的示意图。如图5所示,假设参考磁层24的磁化方向m
24
为水平向右,在第一种情况中,自由磁层22的磁化方向m
22
和参考磁层24的磁化方向m
24
形成大约45度的夹角,假设其对应于电阻值r1。在第二种情况中,自由磁层22 的磁化方向m
22
和参考磁层24的磁化方向m
24
形成大约135度的夹角,假设其对应于电阻值r2。
在第三种情况中,自由磁层22的磁化方向m
22
和参考磁层24的磁化方向m
24
形成大约0度的夹角,即二者平行,假设其对应于电阻值r3。在第四种情况中,自由磁层22的磁化方向m
22
和参考磁层24 的磁化方向m
24
形成大约180度的夹角,假设其对应于电阻值r4。由于如前所述,磁隧道结2的电阻值与自由磁层22和参考磁层24的磁化方向夹角θ的余弦值成比例,因此可以确定,r4》r2》r1》r3。
[0055]
应理解,上面图5所示的自由磁层22的磁化方向的取向角度都是示例,而非限制。通过如图4所示的那样控制写入磁场即合成磁场h
total
的方向,可以使自由磁层22的磁化方向相对于参考磁层24的磁化方向在平行方向和反平行方向之间连续可调,从而磁性隧道结2的电阻值在与反平行配置对应的最大电阻值和与平行配置对应的最小电阻值之间连续可调,也就是说磁性隧道结2的电导值在对应的范围内连续可调。在现有技术中,在每个磁性隧道结中仅写入最大或最小电阻值,实现单比特0或1的写入;而在本发明的实施例中,由于磁性隧道结2的电导值在一范围内连续可调,因此可以将磁性隧道结的连续可调电导值调整为与矩阵a的元素值对应的电导值,进而可以方便地进行存内计算操作,如下面详细描述的那样。
[0056]
下面来描述本发明实施例的基于热激发的自旋磁随机存储器存内计算装置的各种操作。首先描述写入操作,本发明能实现对每个存内计算单元11 的单独写入。图6示出了在写操作期间施加写入电流i
wl
和i
blb
以及加热电流i
heat
的时序图。参照图2、图3和图6,在对某一个存内计算单元11进行写入操作时,可以在第一字线wl上施加第一写入电流i
wl
以产生第一写入磁场h
wl
,并且在第二位线blb上施加第二写入电流i
blb
以产生第二写入磁场h
blb
,将要写入的存内计算单元11位于第一字线wl和第二位线blb 的交叉位置处,从而如图4所示地那样生成作用在将要写入的存内计算单元 11上的合成磁场h
total
以用于改变其自由磁层22的磁化方向,写入期望的数据。同时,选择对应的第一字线wl和第一位线bl(或者说选择对应的第一字线wl和第三位线blg)以施加流经存内计算单元11的加热电流i
heat
,此时在对应的第三位线blg上施加电压v
blg
以使得开关晶体管3导通,从而对存内计算单元11进行加热,加热温度大于反铁磁层21的阻塞温度 (blocking temperature)t
b1
,但是低于反铁磁层25的阻塞温度t
b2
,从而反铁磁层25仍能固定参考磁层24的磁化方向,使得其不受外磁场h
total
的影响;而反铁磁层21在比阻塞温度更高的加热温度下从反铁磁变成超顺磁属性,失去对自由磁层22的磁化方向的钉扎效果,而且由于自由磁层22具有面内各项同性,从而自由磁层22的磁化方向可以容易地被外磁场h
total
取向到外磁场h
total
所在的方向上。应注意,在写入操作中,虽然第一字线wl和第二位线blb所产生的磁场会对其对应的行和列中的其他存内计算单元11造成一定影响,但是由于仅对将要写入的存内计算单元11施加加热电流,即使热量有一定的扩散,相邻的存内计算单元11也不会被加热到反铁磁层21 的阻塞温度t
b1
以上,所以第一字线wl和第二位线blb产生的磁场不会对其他存内计算单元11中存储的数据造成任何实质性影响。
[0057]
如图6所示,施加写入电流i
wl
和i
blb
的开始时间可以在施加加热电流i
heat
之前,或者也可以基本同时,或者在施加加热电流i
heat
之后,只要能够在加热期间产生磁场h
total
以执行写入即可。当将自由磁层22的磁化方向取向到h
total
的方向上之后,在结束写入操作时,优选地先停止施加加热电流 i
heat
,此时反铁磁层21在外磁场h
total
中逐渐冷却到阻塞温度t
b1
以下,相当于对反铁磁层21进行了磁场中的热退火处理,从而恢复了反铁磁属性的反铁
磁层21将自由磁层22的磁化方向钉扎在外磁场h
total
的方向上,实现了精确的写入操作,然后再停止施加写入电流i
wl
和i
blb
。可以理解,本发明通过使反铁磁层25的阻塞温度高于反铁磁层21的阻塞温度,能够在写入期间不影响参考磁层24的磁化方向;通过为自由磁层22设置反铁磁层21,能够将自由磁层22的磁化稳定地钉扎在写入方向上,实现准确的多值写入;此外,通过选择对应的第一字线和第一位线以施加流经单个存内计算单元11 的加热电流,能够避免在写入期间相同行和列中的存内计算单元11被第一字线和第二位线产生的磁场影响,实现对目标存内计算单元11的单独写入。
[0058]
下面描述读取操作。进行读取时,对于要读取的存内计算单元11,控制其对应的第三位线blg上的电压v
blg
使得开关晶体管3导通,对于其他列的第三位线blg则使开关晶体管3截止。在与要读取的存内计算单元11对应的第一字线wl和第一位线bl上施加存内计算单元11的读取电压,其产生流过磁隧道结2的读取电流,该读取电流的大小与磁隧道结2的电阻状态 (即自由磁层22和参考磁层24之间的磁化方向夹角θ)相关联,从而可以读取磁隧道结2中存储的值。输出电路13可以从与要读取的存内计算单元 11对应的第一位线bl上接收读取信号。
[0059]
下面描述存内计算操作,其类似于同时对全部存内计算单元11的整个阵列或者对存内计算单元11的至少一个子阵列进行读取操作。为了描述方便,这里以对整个阵列进行存内计算为例进行说明,但是其原理也可应用于对其中的一个子阵列进行存内计算。在进行存内计算操作时,在各列的第三位线blg上施加电压v
blg
,使得开关晶体管3均导通。在各行的第一字线 wl上施加与输入数据对应的电压v0至v
m-1
,对于每行中的各个存内计算单元11,生成的输出电流等于其受到的电压与其电导的乘积。每列中的各个存内计算单元11输出的电流流经开关晶体管3之后在该列的第一位线bl上汇聚叠加,然后提供给输出电路13,如图1的原理图所示。这样,就完成了存内计算操作。
[0060]
本发明的另一方面还提供包括上述存内计算装置的电子设备,其可以是例如用于神经网络运算的硬件加速器。在该硬件加速器中,上述存内计算装置可用于执行神经网络的矩阵运算。例如,对于卷积神经网络,可以将卷积核的权重值写入到存内计算单元11的阵列中,通过第一字线wl将特征数据作为输入电压v0至v
m-1
提供给存内计算单元11的阵列,在第一位线bl 上接收作为矩阵运算结果的输出电流i0至i
n-1
,从而完成矩阵运算。这大大简化了用于执行神经网络运算的硬件设备的结构,而且提高了运算速度,尤其适合于需要大规模运算的大型神经网络模型。
[0061]
除非上下文清楚地另有要求,否则贯穿说明书和权利要求书,措词“包括”、“包含”等应当以与排他性或穷尽性的意义相反的包括性的意义来解释,也就是说,应当以“包括但不限于”的意义来解释。另外,措词“在本文中”、“上文”、“下文”以及相似含义的措词在本技术中使用时应当指作为整体的本技术,而不是本技术的任何具体部分。在上下文允许时,在使用单数或复数的以上描述中的措词也可以分别包括复数或单数。关于在提及两个或多个项目的列表时的措词“或”,该措词涵盖该措词的以下解释中的全部:列表中的任何项目,列表中的所有项目,以及列表中的项目的任何组合。
[0062]
本发明实施例的以上详细描述不打算是穷尽性的或者将本发明局限于上文所公开的确切形式。尽管以上出于说明的目的而描述了本发明的具体实施例和示例,但是如本领域技术人员将认识到的那样,在本发明范围内可能有各种等效的修改。例如,尽管处理或
块以给定的次序呈现,但是替代的实施例可以以不同的次序执行具有这些步骤的处理或者以不同的次序采用具有这些块的系统,并且一些处理或块可以被删除、移动、添加、细分、组合和/或修改。这些处理或块中的每个可以以各种不同的方式来实现。另外,虽然处理或块有时被示为串行执行,但是替代地,这些处理或块也可以并行执行,或者可以在不同时间执行。
[0063]
可以将在本文中所提供的本发明的教导应用于其他系统,而不必是上述的系统。可以组合上述的各个实施例的元件和动作,以提供另外的实施例。
[0064]
虽然已经描述了本发明的一些实施例,但是这些实施例仅作为示例而呈现,而不打算限制本技术的范围。实际上,在本文中所描述的新颖方法和系统可以以多种其他形式来实施。另外,可以在不脱离本技术的范围的情况下,在本文中所描述的方法和系统的形式上做出各种省略、替换和改变。

技术特征:


1.一种自旋随机存储器存内计算装置,包括:多个存内计算单元的阵列,每个存内计算单元包括基于热激发效应的磁性隧道结;为每行存内计算单元设置的第一字线;以及为每列存内计算单元设置的第一位线、第二位线和第三位线,每个存内计算单元连接在对应的第一字线和第一位线之间,第三位线连接到设置在存内计算单元与第一位线之间的开关晶体管的栅极,第二位线与存内计算单元电隔离,其中,所述第一字线和所述第二位线配置为接收写入电流以产生写磁场,所述写磁场使所述磁性隧道结的自由磁层的磁化方向相对于参考磁层的磁化方向在平行方向和反平行方向之间连续可调,从而所述磁性隧道结的电导值在对应的范围内连续可调,所述存内计算单元的阵列配置为存储输入矩阵的转置,其中输入矩阵的转置的元素值分别对应于磁性隧道结的连续可调电导值,所述第一字线还配置为将与输入列向量的元素值对应的电压值分别施加到存储有存储矩阵的转置的各行存内计算单元,且所述第一位线配置为输出与输出列向量的元素值对应的电流值,每条第一位线输出的电流值是对应列中的每个存内计算单元的输出电流在所述第一位线上汇聚得到的电流总和。2.如权利要求1所述的自旋随机存储器存内计算装置,其中,所述磁性隧道结包括依次形成的第一电极、第一反铁磁层、参考磁层、绝缘势垒层、自由磁层、第二反铁磁层和第二电极,所述第二反铁磁层的阻塞温度低于所述第一反铁磁层的阻塞温度。3.如权利要求2所述的自旋随机存储器存内计算装置,其中,当在存内计算单元的阵列中写入输入矩阵的转置时,与要写入的存内计算单元对应的第三位线配置为使开关晶体管导通,与要写入的存内计算单元对应的第一字线和第二位线接收电流以产生写磁场,与要写入的存内计算单元对应的第一字线和第一位线施加流经磁性隧道结的加热电流以加热所述磁性隧道结,使得所述写磁场将所述磁性隧道结的自由磁层的磁化方向取向到与所述写磁场相同的方向上,从而所述磁性隧道结的连续可调电导值被调整为与输入矩阵的转置的元素值对应的电导值。4.如权利要求3所述的自旋随机存储器存内计算装置,其中,当完成电导值的写入时,所述第一字线和所述第二位线配置为在停止施加所述加热电流之后再停止施加所述写磁场。5.如权利要求3所述的自旋随机存储器存内计算装置,其中,所述加热电流将所述磁性隧道结加热至一温度,所述温度高于所述第二反铁磁层的阻塞温度且低于所述第一反铁磁层的阻塞温度。6.如权利要求2所述的自旋随机存储器存内计算装置,其中,所述自由磁层和所述参考磁层具有面内磁化方向,并且至少所述自由磁层具有面内各向同性。7.一种利用自旋随机存储器存内计算装置进行存内计算的方法,所述自旋随机存储器存内计算装置包括多个存内计算单元的阵列,为每行存内计算单元设置的第一字线,以及为每列存内计算单元设置的第一位线、第二位线和第三位线,每个存内计算单元包括基于热激发效应的磁性隧道结并且连接在对应的第一字线和第一位线之间,第三位线连接到设置在存内计算单元与第一位线之间的开关晶体管的栅极,第二位线与存内计算单元电隔
离,所述方法包括:在第一字线和第二位线上施加写入电流以产生写磁场,所述写磁场使存内计算单元的磁性隧道结中的自由磁层的磁化方向相对于参考磁层的磁化方向在平行方向和反平行方向之间连续可调,从而每个磁性隧道结的电导值在对应的范围内连续可调,控制在第一字线和第二位线上施加的写入电流的大小和方向,以将与输入矩阵的转置的元素值对应的电导值写入到对应的磁性隧道结中;通过第一字线将与输入列向量的元素值对应的电压值分别施加到存储有输入矩阵的转置的各行存内计算单元上;以及通过第一位线输出与输出列向量的各个元素值对应的电流值,每条第一位线输出的电流值是对应列中的每个存内计算单元的输出电流在所述第一位线上汇聚得到的电流总和。8.如权利要求7所述的方法,其中,所述磁性隧道结包括依次形成的第一电极、第一反铁磁层、参考磁层、绝缘势垒层、自由磁层、第二反铁磁层和第二电极,所述第二反铁磁层的阻塞温度低于所述第一反铁磁层的阻塞温度。9.如权利要求7所述的方法,其中,当在存内计算单元的阵列中写入矩阵a的转置时,与要写入的存内计算单元对应的第三位线配置为使开关晶体管导通,与要写入的存内计算单元对应的第一字线和第二位线接收写入电流以产生写磁场,与要写入的存内计算单元对应的第一字线和第一位线施加流经磁性隧道结的加热电流以加热所述磁性隧道结,使得所述写磁场将所述磁性隧道结的自由磁层的磁化方向取向到与所述写磁场相同的方向上,从而所述磁性隧道结的连续可调电导值被调整为与输入矩阵的装置的元素值对应的电导值。10.如权利要求9所述的方法,其中,当完成电导值的写入时,在停止施加所述加热电流之后再停止施加所述写磁场。11.如权利要求9所述的方法,其中,所述加热电流将所述磁性隧道结加热至一温度,所述温度高于所述第二反铁磁层的阻塞温度且低于所述第一反铁磁层的阻塞温度。12.如权利要求8所述的方法,其中,所述自由磁层和所述参考磁层具有面内磁化方向,并且至少所述自由磁层具有面内各向同性。13.一种电子设备,包括权利要求1-6中的任一项所述的自旋随机存储器存内计算装置。

技术总结


本发明涉及自旋随机存储器存内计算装置和存内计算方法及电子设备。一种自旋随机存储器存内计算装置包括:多个包括磁性隧道结的存内计算单元的阵列、逐行设置的第一字线以及逐列设置的第一位线、第二位线和第三位线,存内计算单元连接在第一字线和第一位线之间,第三位线连接到存内计算单元与第一位线之间的开关晶体管的栅极,第二位线与存内计算单元电隔离。存内计算单元的阵列存储输入矩阵的转置,其元素值对应于磁性隧道结的连续可调电导值,第一字线将与输入列向量的元素值对应的电压值分别施加到各行存内计算单元,第一位线输出与输出列向量的元素值对应的电流值。与输出列向量的元素值对应的电流值。与输出列向量的元素值对应的电流值。


技术研发人员:

闵泰 姜森峰 柴正 周雪

受保护的技术使用者:

西安交通大学

技术研发日:

2022.02.15

技术公布日:

2022/5/17

本文发布于:2024-09-23 18:28:49,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/25183.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   单元   电流   磁场
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议