一种读写可重构的忆阻器存算一体系统
未命名
09-13
阅读:109
评论:0

1.本发明属于半导体(semiconductor)和互补式金属氧化物半导体(cmos)混合集成电路技术领域,具体涉及一种适用于类脑计算(brain-inspired computing )的神经形态计算(neuromorphic computing)系统中的忆阻器(memristor)的存算一体系统及工作方法。
背景技术:
2.在人工智能时代,神经网络算法的规模呈指数增长,在基于传统冯诺依曼架构的存算分离硬件上运行神经网络逐渐遇到瓶颈,遭遇“存储墙”和“功耗墙”。目前,一种新的存算一体架构可以避免频繁数据搬运所造成的开销,并且能够高并行地处理信息,未来有望为神经网络计算提供更高效的加速硬件。
3.在存算一体架构中,忆阻器可以作为一种用于存储权重的高效器件。它是一种阻变(resistive switching)存储器件,利用其自身的电阻值存储信息。忆阻器本身的阻态可以被外界施加的电压激励调控,在其高阻态和低阻态之间可以实现近似连续的调控。撤去外界激励后,忆阻器仍然可以保持其阻态,是一种非易失性存储器。
4.单一忆阻器器件的结构是简单的金属-氧化物-金属结构,可将忆阻器与晶体管(transistor)连接在一起,晶体管可在单元中起到选通和限流的作用。目前应用在阵列当中的忆阻器单元结构包括1t1r, 1t2r, 2t2r等。将忆阻器器件集成为忆阻器阵列,可以实现超大规模及高密度的存储,并且可以实现存算一体功能。
5.为了能够更好地将忆阻器阵列应用到人工智能运算加速中,忆阻器阵列需要实现高效写入、擦除以及存算一体化的矩阵向量乘运算。忆阻器阵列架构的设计需要考虑到忆阻器单元的读写电压范围、晶体管的限流能力与耐压范围、阵列读写效率等。由于忆阻器所需的编程电压常常高于晶体管所需电压,忆阻器阵列设计上也需要特殊考量,避免操作电压超过晶体管承受范围。目前,高效支持存算一体加速器的忆阻器阵列架构有待继续研究。
技术实现要素:
6.本发明的目的是为神经网络的硬件实现提供一种读写可重构的忆阻器存算一体系统,以实现高效写入、擦除以及存算一体化的矩阵向量乘运算。
7.本发明采用的技术方案如下:一种忆阻器存算一体系统,包括基于1t1r结构的忆阻器阵列、bl模块、wl模块与sl模块,其宏电路设计如图1所示,其中,所述忆阻器阵列由m
×
n个1t1r结构的阵列单元组成,每一列设置一条字线(word-line,wl)和一条源线(source-line,sl),每一行设置一条位线(bit-line,bl),wl与sl平行,而bl与wl和sl垂直;在1t1r结构的阵列单元中,晶体管的源端与sl相连,晶体管的栅极与wl相连,忆阻器的一端连接晶体管的漏端,另一端与bl相连;bl模块用于驱动位线,wl模块用于驱动字线,sl模块用于驱动源线。阵列读出数据既可以从bl端输出,也可以从sl端输出,具有可重构性。
8.上述忆阻器存算一体系统中,组成1t1r单元结构的忆阻器可以是基于金属-绝缘体-绝缘体-金属(metal-insulator-insulator-metal)结构、基于金属-半导体-半导体-金属(metal-semiconductor-semiconductor-metal)结构等的忆阻器等,晶体管采用n型金属氧化物半导体场效应晶体管,可以采用核心区域晶体管或i/o区域晶体管。
9.上述架构的忆阻器存算一体系统可以有效防止阵列操作过程中所施加电压超过晶体管额定电压。结合下面所述的阵列操作方式,在对阵列进行读写时可以有效防止串扰与漏电,也因此可以在无漏电情况下进行批量forming/set/reset操作。
10.本发明的忆阻器存算一体系统中的阵列所需操作电压不会超过晶体管额定电压,并且在forming/set/reset过程中不产生漏电流,可以进行精准读、写。
11.本发明的忆阻器存算一体系统支持多种阵列高效编程方法,包括如下模式:1)单器件forming:对于大小为m
×
n的忆阻器阵列(m和n为自然数),若需要编程的器件地址为 (m, n),0≤m≤m-1,0≤n≤n-1,则在给定脉冲时长内在第n位bl上施加v
bl_forming
,其余所有bl接地;在第m位wl上施加v
wl_forming
,其余所有wl接地;保持第m位sl接地,其余sl上施加v
sl0
(v
sl0
可以为0v或选定正电压)。这一设计是针对在v
bl_forming
超过晶体管额定电压的情况下,为避免未选通的单元内晶体管源漏两端电压超过额定电压,适当抬高其对应的sl的电压至v
sl0
,从而保证晶体管源漏两端电压不超过额定电压,提高忆阻器阵列耐久性。
12.2)单器件set:若需要编程的器件地址为 (m, n),则在给定脉冲时长内在第n位bl上施加v
bl_set
, 其余所有bl接地;在第m位wl上施加v
wl_set
,其余所有wl接地;保持第m位sl接地,其余sl上施加v
sl0
(v
sl0
可以为0v或选定正电压)。
13.3)单器件reset:若需要编程的器件地址为 (m, n),则在给定脉冲时长内第n位bl接地,其余所有bl保持v
reset
/2电位;在第m位wl上施加v
dd
,其余wl接地; 在第m位sl上施加v
reset
,其余所有sl保持v
reset
/2电位。
14.4)批量forming/set:若需要编程整个第n行器件,则在给定脉冲时长内在第n位bl上施加v
bl_forming
或v
bl_set
,其余所有bl接地;保持所有wl电位为v
wl_forming
或v
bl_set
;保持所有sl接地。
15.5)批量reset:若需要对整个第m列器件进行reset操作,则在给定脉冲时长内在第m位sl上施加v
reset
,其余所有sl接地;在第m位wl上施加v
dd
,其余所有wl保持接地;保持所有bl接地。
16.6)存算一体计算:选择共n行器件,将输入信号通过此n行bl输入,其余bl接地;若选择共m列进行输出,则将此m列wl施加v
dd
,其余wl接地;将所有sl接地,同时读取此m列sl上的电流,作为阵列输出结果。
17.本发明的有益效果:通过构建本发明的忆阻器存算一体系统,可以有效防止阵列操作过程中所施加电压超过晶体管额定电压;利用该阵列设计中bl与sl垂直的特性,在对器件进行forming的过程中,时刻保证阵列内所有单元晶体管源漏电压均低于晶体管额定电压,从而保证该阵列可以安全使用一定程度高于晶体管额定电压的电压进行编程,提高了阵列设计的适用范围与阵列耐久性。结合本发明的阵列操作方式,在对阵列进行读写时可以有效防止串扰与漏电,同一时刻只有选定的wl使得对应的器件被选通,而被选通的器件电流方向均相同,因此
可以在无漏电情况下进行批量forming/set/reset操作。
附图说明
18.图1为本发明的忆阻器存算一体系统的宏(macro)电路示意图。
19.图2为本发明实施例所述忆阻器存算一体系统的忆阻器阵列结构图。
20.图3为本发明实施例所述忆阻器存算一体系统forming/set过程示意图。
21.图4为本发明实施例所述忆阻器存算一体系统reset过程示意图。
具体实施方式
22.下面结合附图,通过具体实施例对本发明进行进一步描述。
23.下面实施例采用实际1t1r单元结构的忆阻器阵列进行器件编程和阻态读出。忆阻器阵列的结构如图2所示,阵列外围电路包括bl、sl、wl的驱动电路及选通电路。外界可通过施加地址的方式选通特定行、特定列上的器件,并对器件施加特定电压。给出关键编程步骤所施加的操作,并给出忆阻器存算一体架构的实施例。
24.1)阵列初始化forming:若阵列大小为m
×
n(m代表每行的单元个数,n代表每列的单元个数),那么选通器件地址 (m, n)从(0, 0)遍历至(m-1, n-1)。选通电路选通第n位bl,在给定脉冲时长内在第n位bl上施加v
bl_forming
,其余所有bl接地;在第m位wl上施加v
wl_forming
,其余所有wl接地;保持所有sl接地。此时所有器件置于低阻,即写入“1”。
25.2)选择器件reset:根据准备输入存储器中的数据,选择部分器件进行reset,将选择的器件置于高阻,即写入“0”。将地址(m, n)从(0, 0)遍历至(m-1, n-1),根据数据判断选中器件是否需要进行reset,若不进行reset,则不对器件施加操作电压;若第(m, n)位的器件需要进行reset,则在给定脉冲时长内在第n位bl上接地,其余所有bl保持v
reset
/2电位;在第m位wl上施加v
dd
,其余wl接地; 在第m位sl上施加v
reset
,其余所有sl保持v
reset
/2电位。
26.3)选择器件set:在忆阻器阵列使用时,常常会根据需要重新调整阵列所储存的数据,此时需要对器件进行set,也即将器件再次置为低阻,写入“1”。将地址(m, n)从(0, 0)遍历至(m-1, n-1),根据数据判断选中器件是否需要进行set,若不进行set,则不对器件施加操作电压;若第(m, n)位的器件需要进行set,则在给定脉冲时长内在第n位bl上施加v
bl_set
,其余所有bl接地;在第m位wl上施加v
wl_set
,其余所有wl接地;保持所有sl接地。
27.4)矩阵向量乘加速运算:将阵列编程完毕后,可以使用器件进行存算一体的矩阵向量乘加速运算。在矩阵向量乘加速中,矩阵存储与忆阻器阵列中,而将向量输入到忆阻器阵列的各个bl上。若输入并行度为n,则选择共n行器件,将输入信号通过此n行bl线输入,其余bl接地;若选择共m列进行输出,则将此m列wl施加v
dd
,其余wl接地;将所有sl接地,同时读取此m列sl上的电流,作为阵列输出结果。根据问题所需计算精度,可以选择相应计算精度下的模拟-数字转换器(adc)将输出电流转化为数字值,并输入至下一步计算单元中。
28.以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保 护范围应以权利要求所述为准。
技术特征:
1.一种忆阻器存算一体系统,包括基于1t1r结构的忆阻器阵列、bl模块、wl模块与sl模块,其特征在于,所述忆阻器阵列由m
×
n个1t1r结构的阵列单元组成,每一列设置一条字线wl和一条源线sl,每一行设置一条位线bl,wl与sl平行,而bl与wl和sl垂直;在1t1r结构的阵列单元中,晶体管的源端与sl相连,晶体管的栅极与wl相连,忆阻器的一端连接晶体管的漏端,另一端与bl相连;bl模块用于驱动位线,wl模块用于驱动字线,sl模块用于驱动源线。2.如权利要求1所述的忆阻器存算一体系统,其特征在于,所述忆阻器阵列的读出数据从bl端输出或从sl端输出。3.如权利要求1所述的忆阻器存算一体系统,其特征在于,所述1t1r结构的阵列单元中的忆阻器是基于金属-绝缘体-绝缘体-金属结构的忆阻器,或者是基于金属-半导体-半导体-金属结构的忆阻器。4.如权利要求1所述的忆阻器存算一体系统,其特征在于,所述1t1r结构的阵列单元中的晶体管是n型金属氧化物半导体场效应晶体管,或核心区域晶体管,或i/o区域晶体管。5.权利要求1~4任一所述忆阻器存算一体系统的编程方法,其特征在于,所述忆阻器存算一体系统中的忆阻器阵列大小为m
×
n,m代表每行的阵列单元个数,n代表每列的阵列单元个数,以(m, n)代表器件地址,0≤m≤m-1,0≤n≤n-1,其编程操作方式包括:1)单器件forming:若需要编程的器件地址为 (m, n),则在给定脉冲时长内在第n位bl上施加v
bl_forming
,其余所有bl接地;在第m位wl上施加v
wl_forming
,其余所有wl接地;保持第m位sl接地,其余sl上施加v
sl0
,v
sl0
为0v或选定正电压;2)单器件set:若需要编程的器件地址为 (m, n),则在给定脉冲时长内在第n位bl上施加v
bl_set
,其余所有bl接地;在第m位wl上施加v
wl_set
,其余所有wl接地;保持第m位sl接地,其余sl上施加v
sl0
,v
sl0
为0v或选定正电压;3)单器件reset:若需要编程的器件地址为 (m, n),则在给定脉冲时长内第n位bl接地,其余所有bl保持v
reset
/2电位;在第m位wl上施加v
dd
,其余wl接地;在第m位sl上施加v
reset
,其余所有sl保持v
reset
/2电位;4)批量forming/set:若需要对整个第n行器件进行forming或set操作,则在给定脉冲时长内在第n位bl上施加v
bl_forming
或v
bl_set
,其余所有bl接地;保持所有wl电位为v
wl_forming
或v
bl_set
;保持所有sl接地;5)批量reset:若需要对整个第m列器件进行reset操作,则在给定脉冲时长内在第m位sl上施加v
reset
,其余所有sl接地;在第m位wl上施加v
dd
,其余所有wl保持接地;保持所有bl接地;6)存算一体计算:选择共n行器件,将输入信号通过此n行bl输入,其余bl接地;若选择共m列进行输出,则将此m列wl施加v
dd
,其余wl接地;将所有sl接地,同时读取此m列sl上的电流,作为阵列输出结果。
技术总结
本发明公开了一种读写可重构的忆阻器存算一体系统,包括由M
技术研发人员:杨玉超 岳文硕 张腾 杨振 杨宇翔
受保护的技术使用者:北京大学
技术研发日:2023.06.08
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种光致变色凝胶及其制备方法与应用 下一篇:图像描述生成方法及装置与流程