CN114171087A - 忆阻器阵列结构及其操作方法、神经网络稀疏化装置 - Google Patents

忆阻器阵列结构及其操作方法、神经网络稀疏化装置 Download PDF

Info

Publication number
CN114171087A
CN114171087A CN202111545665.7A CN202111545665A CN114171087A CN 114171087 A CN114171087 A CN 114171087A CN 202111545665 A CN202111545665 A CN 202111545665A CN 114171087 A CN114171087 A CN 114171087A
Authority
CN
China
Prior art keywords
memristor
arrays
array
sub
word line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111545665.7A
Other languages
English (en)
Inventor
周正
黄鹏
韩丽霞
康晋锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202111545665.7A priority Critical patent/CN114171087A/zh
Publication of CN114171087A publication Critical patent/CN114171087A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Semiconductor Memories (AREA)

Abstract

本公开提供了一种忆阻器阵列结构及其操作方法、神经网络稀疏化装置。其中,该忆阻器阵列结构包括多个结构子阵列,多个结构子阵列中的每个结构子阵列包括多个忆阻器单元、多个第一晶体管单元和多个第二晶体管单元。多个忆阻器单元分布排列形成忆阻器阵列,多个第一晶体管单元在第一方向上与忆阻器阵列的两端的多个忆阻器单元分别对应相连;多个第二晶体管单元在第二方向上与忆阻器阵列的另两端的多个忆阻器单元分别对应相连;其中,在第一方向上,多个第一晶体管单元与忆阻器阵列的两端的相邻忆阻器阵列对应相连;在第二方向上,多个第二晶体管单元与忆阻器阵列的另两端的相邻忆阻器阵列对应相连。

Description

忆阻器阵列结构及其操作方法、神经网络稀疏化装置
技术领域
本公开涉及半导体器件及集成电路领域,尤其涉及一种适用稀疏矩阵乘加运算的高集成度的忆阻器阵列结构及其操作方法、神经网络稀疏化装置。
背景技术
存内计算是一种非冯诺依曼架构,通过利用器件或电路的存算一体功能,显著降低逻辑运算中搬运的数据规模,从而提高硬件运算效率、降低功耗,被广泛认为是深度学习算法的硬件加速方法。忆阻器是实现一种存内计算架构的基本功能器件,具备低功耗、高计算密度等性能特征。基于忆阻器的交叉阵列结构,能够实现高并行度的向量-矩阵乘加运算(VMM),是加速深度学习算法的硬件基础。
发明内容
(一)要解决的技术问题
为解决现有技术中实现稀疏型深度神经网络过程中所存在的技术问题至少之一,本公开提供了一种应用于稀疏矩阵乘加运算的忆阻器阵列结构及其操作方法、神经网络稀疏化装置。
(二)技术方案
本公开的一个方面提供了一种忆阻器阵列结构,其中,包括多个结构子阵列,多个结构子阵列中的每个结构子阵列包括多个忆阻器单元、多个第一晶体管单元和多个第二晶体管单元。多个忆阻器单元分布排列形成忆阻器阵列,多个第一晶体管单元在第一方向上与忆阻器阵列的两端的多个忆阻器单元分别对应相连;多个第二晶体管单元在第二方向上与忆阻器阵列的另两端的多个忆阻器单元分别对应相连;其中,在第一方向上,多个第一晶体管单元与忆阻器阵列的两端的相邻忆阻器阵列对应相连;在第二方向上,多个第二晶体管单元与忆阻器阵列的另两端的相邻忆阻器阵列对应相连。
根据本公开的实施例,忆阻器阵列包括多个第一子阵列或者多个第二子阵列。多个第一子阵列在第二方向上依次排布设置;多个第二子阵列在第一方向上依次排布设置;其中,多个第一子阵列中的忆阻器单元数量、多个第二子阵列中的忆阻器单元数量以及忆阻器阵列的忆阻器单元数量相等。
根据本公开的实施例,多个忆阻器单元中的每个忆阻器单元包括顶电极、底电极和介质层。顶电极与多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连;底电极与多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连;介质层位于顶电极和底电极之间,用于实现每个忆阻器单元的阻变。
根据本公开的实施例,多个第一晶体管单元中的每个第一晶体管单元包括栅极、源极和漏极。栅极与多个第一子阵列中的对应一个第一子阵列在第一方向上的第二字线相连;源极与多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连,或与相邻忆阻器阵列中的对应一个第一子阵列在第一方向上的另一第一字线相连;漏极与相邻忆阻器阵列中的对应一个第一子阵列在第一方向上的另一第一字线相连,或与多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连。
根据本公开的实施例,多个第二晶体管单元中的每个第二晶体管单元包括栅极、源极和漏极。栅极与多个第二子阵列中的对应一个第二子阵列在第二方向上的第二位线相连;源极与多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连,或与相邻忆阻器阵列中的对应一个第二子阵列在第二方向上的另一第一位线相连;漏极与相邻忆阻器阵列中的对应一个第二子阵列在第二方向上的另一第一位线相连,或与多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连。
本公开的另一个方面提供了一种上述的忆阻器阵列结构的操作方法,其中,包括:选通忆阻器阵列中的至少一个忆阻器单元;对选通的至少一个忆阻器单元执行读操作或写操作,以控制至少一个忆阻器单元发生阻变。
根据本公开的实施例,在选通忆阻器阵列中的至少一个忆阻器单元中,包括:在至少一个忆阻器单元所在的第二字线和第二位线上施加开启电压,并将其他第二字线和第二位线接地。
根据本公开的实施例,在对选通的至少一个忆阻器单元执行读操作或写操作之前还包括:对至少一个忆阻器单元所在的第一字线和第一位线上施加读取信号或写入信号,并将其他第一字线和第一位线置于浮置状态。
根据本公开的实施例,在对选通的至少一个忆阻器单元执行读操作或写操作中,包括:对至少一个忆阻器单元所在的第一字线施加读取电压,并通过所在的第一位线读取对应读取电压的电流值或电压值;或者对至少一个忆阻器单元所在的第一位线施加读取电压,并通过所在的第一字线读取对应读取电压的电流值或电压值。
根据本公开的实施例,在对选通的至少一个忆阻器单元执行读操作或写操作中,包括:对至少一个忆阻器单元所在的第一字线上施加第一编程电压,并将所在的第一位线接地;或者对至少一个忆阻器单元所在的第一位线上施加第二编程电压,并将所在的第一字线接地;其中,第一编程电压与第二编程电压方向相反、大小相等。
本公开的又一个方面提供了一种神经网络稀疏化装置,其中,该装置基于上述的忆阻器阵列结构实现。
(三)有益效果
本公开提供了一种应用于稀疏矩阵乘加运算的忆阻器阵列结构及其操作方法、神经网络稀疏化装置。其中,该忆阻器阵列结构包括多个结构子阵列,多个结构子阵列中的每个结构子阵列包括多个忆阻器单元、多个第一晶体管单元和多个第二晶体管单元。多个忆阻器单元分布排列形成忆阻器阵列,多个第一晶体管单元在第一方向上与忆阻器阵列的两端的多个忆阻器单元分别对应相连;多个第二晶体管单元在第二方向上与忆阻器阵列的另两端的多个忆阻器单元分别对应相连;其中,在第一方向上,多个第一晶体管单元与忆阻器阵列的两端的相邻忆阻器阵列对应相连;在第二方向上,多个第二晶体管单元与忆阻器阵列的另两端的相邻忆阻器阵列对应相连。基于本公开实施例的上述忆阻器阵列结构能够在保证稀疏矩阵乘加运算的运算精度的情况下,适配具有局部低串扰特性的系数矩阵与向量的乘加运算,而且通过减少阵列内选通晶体管的数量提高忆阻器阵列的集成度。
附图说明
图1A示意性示出了根据本公开实施例的忆阻器阵列结构的组成图;
图1B示意性示出了根据本公开实施例的忆阻器阵列的一组成图(一个忆阻器单元被选中);
图1C示意性示出了根据本公开实施例的忆阻器阵列的另一组成图(四个忆阻器单元被选中);
图2示意性示出了根据本公开实施例的忆阻器阵列结构的操作方法的流程图;
图3示意性示出了根据本公开实施例的忆阻器阵列结构的权重映射过程的应用场景图;
图4示意性示出了根据本公开实施例的应用忆阻器阵列结构的神经网络权重矩阵的生成方法的流程图;以及
图5示意性示出了根据本公开实施例的对应于图4所示的神经网络稀疏矩阵图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。
还需要说明的是,实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本公开的保护范围。贯穿附图,相同的元素由相同或相近的附图标记来表示。在可能导致对本公开的理解造成混淆时,将省略常规结构或构造。
并且图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本公开实施例的内容。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。
再者,单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。
说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意味着该元件有任何的序数,也不代表某一元件与另一元件的顺序或是制造方法上的顺序,这些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把他们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把他们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的代替特征来代替。并且,在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
类似地,应当理解,为了精简本公开并帮助理解各个公开方面的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
在实现稀疏型深度神经网络时,现有技术方案主要存在两个主要问题:第一,1R交叉阵列虽然具备4F2的高集成度优势,但由于其存在串扰问题,读写精度和运算准确度都难以保证,很难实现规模较大的矩阵运算;第二,由于每一个忆阻器都需要单独的晶体管选通,导致1T1R交叉阵列的集成度不高,影响存内计算系统的面效比。
为解决现有实现稀疏型深度神经网络的技术中因1R交叉阵列存在串扰问题以及因每个忆阻器都需要单独的晶体管选通而导致的矩阵运算规模被限制且存内计算系统的面效比低的技术问题至少之一,本公开提供了一种应用于稀疏矩阵乘加运算的忆阻器阵列结构及其操作方法、神经网络稀疏化装置,可以提供一种能够实现稀疏矩阵乘加运算的高集成度的忆阻器阵列结构,并能够适配高集成度的忆阻器阵列结构的神经网络稀疏化装置。
如图1A-图1C所示,本公开的一个方面提供了一种忆阻器阵列结构100,其中,包括多个结构子阵列,多个结构子阵列中的每个结构子阵列包括多个忆阻器单元、多个第一晶体管单元和多个第二晶体管单元。
多个忆阻器单元分布排列形成忆阻器阵列,
多个第一晶体管单元在第一方向上与忆阻器阵列的两端的多个忆阻器单元分别对应相连;
多个第二晶体管单元在第二方向上与忆阻器阵列的另两端的多个忆阻器单元分别对应相连;
其中,在第一方向上,多个第一晶体管单元与忆阻器阵列的两端的相邻忆阻器阵列对应相连;在第二方向上,多个第二晶体管单元与忆阻器阵列的另两端的相邻忆阻器阵列对应相连。
如图1A所示忆阻器阵列结构包括多个结构子阵列A、B、C和D,各个结构子阵列可以具有相同数量的忆阻器单元。
其中,以结构子阵列A为例,如图1A-图1C所示,结构子阵列A包括多个忆阻器单元M11-Mnn,共计n×n个忆阻器单元。这些忆阻器单元彼此可以通过对应的字线WL和位线BL相互连接,呈阵列规律分布,构成一忆阻器单元阵列,即忆阻器阵列。
在第一方向X上,多个第一晶体管单元T21-T2n与忆阻器阵列A的一端的多个忆阻器单元M11-Mn1一一对应相连;同时,多个第一晶体管单元T31-T3n与忆阻器阵列A的另一端的多个忆阻器单元M1n-Mnn一一对应相连。
在第二方向Y上,多个第二晶体管单元T11-T1n与忆阻器阵列A的一端的多个忆阻器单元M11-M1n一一对应相连;同时,多个第二晶体管单元T41-T4n与忆阻器阵列A的另一端的多个忆阻器单元Mn1-Mnn一一对应相连。
此外,在第一方向X上,相邻的两个忆阻器阵列A和B之间可以共用一列第一晶体管单元T31-T3n;同时,在第二方向Y上,相邻的两个忆阻器阵列A和C之间可以共用一列第二晶体管单元T41-T4n
因此,基于本公开实施例的上述忆阻器阵列结构,可以将权重映射矩阵均匀划分为等规模的子块,在子块的局部空间内,同行只存在一个非零元素,从而避免1R结构带来的读/写串扰问题,因此可以在局部空间内省去1T1R阵列中的部分晶体管,极大提高忆阻器阵列集成度。
显然,借助于上述忆阻器阵列结构,通过对忆阻器阵列中的晶体管进行剔除,同时结合相邻忆阻器阵列对同一列晶体管单元的复用,可以极大地减少阵列结构内选通晶体管单元的数量,从而能够极大提升忆阻器单元构成的阵列的集成度。而且,上述的忆阻器阵列结构能够同时保留晶体管单元的原始功能,且同时可以保证阵列结构的运算精度,适配具有局部低串扰特性的稀疏矩阵与向量的乘加运算。因此,本公开的上述忆阻器阵列结构能够实现稀疏矩阵乘加运算的高集成度,适配高集成度的忆阻器阵列结构的神经网络稀疏化装置。
如图1A-图1C所示,根据本公开的实施例,忆阻器阵列包括多个第一子阵列或者多个第二子阵列。
多个第一子阵列在第二方向上依次排布设置;或者
多个第二子阵列在第一方向上依次排布设置;
其中,多个第一子阵列中的忆阻器单元数量、多个第二子阵列中的忆阻器单元数量以及忆阻器阵列的忆阻器单元数量相等。
对于忆阻器阵列A而言,在第二方向Y上,第一子阵列M11-M1n、第一子阵列M21-M2n、…第一子阵列Mn1-Mnn共同按顺序排布构成忆阻器阵列。同样,在第一方向X上,第二子阵列M11-Mn1、第二子阵列M12-Mn2、…第二子阵列M1n-Mnn共同按顺序排布构成忆阻器阵列。其中,该多个第一子阵列和多个第二子阵列实际上是按照不同方向对忆阻器阵列的拆分。因此,多个第一子阵列中的忆阻器单元数量、多个第二子阵列中的忆阻器单元数量以及忆阻器阵列的忆阻器单元数量相等,都为n×n个忆阻器单元。
如图1A-图1C所示,根据本公开的实施例,多个忆阻器单元中的每个忆阻器单元包括顶电极、底电极和介质层。
顶电极与多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连;
底电极与多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连;
介质层位于顶电极和底电极之间,用于实现每个忆阻器单元的阻变。
对于忆阻器阵列A的多个忆阻器单元中的一个忆阻器单元M11而言,其顶电极a与在第一方向X上设置的第一字线WL1相连,同时该第一字线WL1用于串接第一子阵列M11-M1n中的每个忆阻器单元,并且该第一子阵列M11-M1n两端对应的晶体管T21和T31也连接到该第一字线WL1上。
此外,该忆阻器单元M11的底电极c与在第二方向Y上设置的第一位线BL1相连,同时该第一位线BL1用于串接第二子阵列M11-Mn1中的每个忆阻器单元,并且该第一子阵列M11-Mn1两端对应的晶体管T11和T41也连接到该第一位线BL1上。
该忆阻器单元M11的介质层b设置于顶电极a和底电极c之间,当忆阻器单元M11的顶电极a和/或底电极c上接收施加电压信号时,该忆阻器单元M11的介质层b可以发生阻值变化,产生高低阻态,从而实现该忆阻器单元M11的阻变。
如图1A-图1C所示,根据本公开的实施例,多个第一晶体管单元中的每个第一晶体管单元包括栅极、源极和漏极。
栅极与多个第一子阵列中的对应一个第一子阵列在第一方向上的第二字线相连;
源极与多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连,或与相邻忆阻器阵列中的对应一个第一子阵列在第一方向上的另一第一字线相连;
漏极与相邻忆阻器阵列中的对应一个第一子阵列在第一方向上的另一第一字线相连,或与多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连。
对于第一晶体管单元多个第一晶体管单元T21-T2n与T31-T3n中的一个第一晶体管单元T21而言,该第一晶体管单元T21的栅极可以连接到在第一方向X上设置的第二字线WG1上,该第二字线WG1对应第一字线WL1设置,即与第一子阵列M11-M1n相对应。
该第一晶体管单元T21的源极连接到第一子阵列M11-M1n在第一方向X上的第一字线WL1上,或者与相邻忆阻器阵列中的对应第一子阵列在第一方向X上的另一第一字线相连(图1A-图1C未示出)。
该第一晶体管单元T21的漏极作为上述源极相对应的连接端,该漏极与相邻的忆阻器阵列中的对应的第一子阵列在第一方向X上的另一第一字线相连(图1A-图1C未示出),或连接到该第一子阵列M11-M1n在第一方向X上的第一字线WL1上。
如此,在第一方向X上能够实现相邻两个忆阻器阵列对位于二者之间的一列晶体管单元阵列实现复用,即忆阻器阵列的第一子阵列与相邻忆阻器阵列对应的第一子阵列之间的一个第一晶体管单元可以同时被两个相邻的第一子阵列忆阻器单元所共用,因此,在第一方向X上相邻忆阻器阵列之间的第一晶体管单元阵列可以同时作为两个忆阻器阵列的边界。也即,极大地减少阵列结构内选通晶体管单元的数量,从而能够极大提升忆阻器单元构成的阵列的集成度。
如图1A-图1C所示,根据本公开的实施例,多个第二晶体管单元中的每个第二晶体管单元包括栅极、源极和漏极。
栅极与多个第二子阵列中的对应一个第二子阵列在第二方向上的第二位线相连;
源极与多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连,或与相邻忆阻器阵列中的对应一个第二子阵列在第二方向上的另一第一位线相连;
漏极与相邻忆阻器阵列中的对应一个第二子阵列在第二方向上的另一第一位线相连,或与多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连。
对于第二晶体管单元多个第二晶体管单元T11-T1n与T41-T4n中的一个第二晶体管单元T11而言,该第二晶体管单元T11的栅极可以连接到在第二方向Y上设置的第二位线BG1上,该第二位线BG1对应第一位线BL1设置,即与第二子阵列M11-Mn1相对应。
该第一晶体管单元T11的源极连接到第二子阵列M11-Mn1在第二方向Y上的第一位线BL1上,或者与相邻忆阻器阵列中的对应第二子阵列在第二方向Y上的另一第一位线相连(图1A-图1C未示出)。
该第二晶体管单元T11的漏极作为上述源极相对应的连接端,该漏极与相邻的忆阻器阵列中的对应的第二子阵列在第二方向Y上的另一第一位线相连(图1A-图1C未示出),或连接到该第二子阵列M11-Mn1在第二方向Y上的第一位线BL1上。
如此,在第二方向Y上能够实现相邻两个忆阻器阵列对位于二者之间的一列晶体管单元阵列实现复用,即忆阻器阵列的第二子阵列与相邻忆阻器阵列对应的第二子阵列之间的一个第二晶体管单元可以同时被两个相邻的第二子阵列忆阻器单元所共用,因此,在第二方向上相邻忆阻器阵列之间的第二晶体管单元阵列可以同时作为两个忆阻器阵列的边界。也即,进一步地极大地减少阵列结构内选通晶体管单元的数量,从而能够极大提升忆阻器单元构成的阵列的集成度。
因此,本公开实施例的上述忆阻器阵列结构中,主要由忆阻器单元和晶体管单元构成。局部上,1R忆阻器单元呈阵列分布,忆阻器单元两端的电极分别引出,同行忆阻器单元的顶电极通过字线WL相互连接,同列忆阻器单元的底电极通过位线BL连接,从而构成1R的交叉阵列结构。其中,多个1R交叉阵列结构所引出的字线WL和位线BL还可以通过晶体管单元的源漏端相互连接,同一字线WL(或位线BL)的晶体管单元的栅端相互连接并引出,形成平行于字线WL(或位线BL)的选通结构,对应于字线WG(或位线BG),从而构成了具备大规模拓展潜力的基于忆阻器单元的阵列结构。其中,忆阻器单元可以用以实现存储和计算功能,晶体管单元可以用以实现器件选通和抑制串扰的功能。
由于忆阻器阵列结构的集成度是评价忆阻型存内计算系统的重要性能指标,因此,通过采用本发明提出的新型忆阻器阵列结构,忆阻型存内计算系统能够在保证运算精度的前提下,适配具有局部低串扰特性的稀疏矩阵与向量的乘加运算,通过减少阵列内选通晶体管的数量提高忆阻器阵列的集成度。
如图2所示,本公开的另一个方面提供了一种上述的忆阻器阵列结构的操作方法,其中,包括步骤S201-S202。
在步骤S201中,选通忆阻器阵列中的至少一个忆阻器单元;
在步骤S202中,对选通的至少一个忆阻器单元执行读操作或写操作,以控制至少一个忆阻器单元发生阻变。
如图1A所示,前述忆阻器阵列结构100在结构上利用忆阻器单元在局部构建1R交叉阵列结构,然后,将多个1R交叉阵列的行(WL1-WLm)和列(BL1-BLm)两端分别引出,利用晶体管单元的源端和漏端将多个1R交叉阵列相互连接,阵列上源漏相连的同行或同列的晶体管单元的栅端相互连接并引出,形成行选通(WG1-WGm)和列选通(BG1-BGm)结构。
基于上述忆阻器阵列结构100,如图1B和图1C所示,利用行选通(WG1-WGm)和列选通(BG1-BGm)结构选通定位至少一个忆阻器单元器件,将其它未选中的行选通和列选通结构接地(即接GND),在对应选中忆阻器单元器件的字线WL和位线BL上施加读/写信号,其它未选中的字线WL和位线BL设置成浮置状态(即接float),实现对至少一个忆阻器单元器件的读写操作。
借此,可以实现对至少一个忆阻器单元的读/写操作。
如图1A、图1B和图2所示,根据本公开的实施例,在选通忆阻器阵列中的至少一个忆阻器单元中,包括:
在至少一个忆阻器单元所在的第二字线和第二位线上施加开启电压,并将其他第二字线和第二位线接地。
首先,需要选通待操作的忆阻器单元。
具体地,如图1B所示,若要针对忆阻器单元M2n进行选通,在忆阻器单元M2n所在行列的WG2和BGn上同时施加开启电压(即Vgae),以打开该忆阻器单元M2n所在行、列的晶体管单元T22、T32、T1n和T4n,并将其他行列的WG1、WG3-WGn和BG1-BGn-1置于接地(即接GND)。
相应地,如图1C所示,若要针对忆阻器单元M11、M12、M21和M22进行选通,则在忆阻器单元M11、M12、M21和M22所在行列的WG1、WG2和BG1、BG2上同时施加开启电压(即Vgate),以打开该忆阻器单元M11、M12、M21和M22所在行、列的晶体管单元T21、T22、T31、T32和T11、T12、T41、T42,并将其他行列的WG3-WGn和BG3-BGn置于接地(即接GND)。
如图1A、图1B和图2所示,根据本公开的实施例,在对选通的至少一个忆阻器单元执行读操作或写操作之前还包括:
对至少一个忆阻器单元所在的第一字线和第一位线上施加读取信号或写入信号,并将其他第一字线和第一位线置于浮置状态。
然后,读/写忆阻器件。
具体地,如图1B所示,在被选中忆阻器单元M2n所在行的字线WL2上和所在列的位线BLn上施加读取信号或写入信号(如读取电压Vread),同时将其他行、列的字线WL1、WL3-WLn和位线BL1-BLn-1置于浮置状态(即接float)。
同理,如图1C所示,针对忆阻器单元M11、M12、M21和M22相应的字线和位线上施加读取信号或写入信号,并将其他字线和位线置于浮置状态,以对完成读/写器件的准备状态。对此,本领域技术人员应当可以理解,具体不作赘述。
如图1A、图1B和图2所示,根据本公开的实施例,在对选通的至少一个忆阻器单元执行读操作或写操作中,包括:
对至少一个忆阻器单元所在的第一字线施加读取电压,并通过所在的第一位线读取对应读取电压的电流值或电压值;或者
对至少一个忆阻器单元所在的第一位线施加读取电压,并通过所在的第一字线读取对应读取电压的电流值或电压值。
对于读取操作,如图1B所示,在被选中忆阻器单元M2n器件所在字线WL2施加读取电压信号(即接Vread),同时利用该位线BLn读取该忆阻器单元M2n器件的电流信号值或电压信号值。
另外,对于读取操作,如图1B所示,也可以在被选中忆阻器单元M2n器件所在位线BLn施加读取电压信号(即接Vread),同时利用该字线WL2读取该忆阻器单元M2n器件的电流信号值或电压信号值。
进一步地,如图1C所示,针对忆阻器单元M11、M12、M21和M22进行读取操作,可以依据上述针对被选中忆阻器单元M2n器件的读取操作进行。这一读取过程可以被认为是利用忆阻器阵列的存内计算功能,实现阵列的向量矩阵乘积运算。对此,本领域技术人员应当可以理解,具体不作赘述。
其中,该电流信号值或电压信号值用于确定该忆阻器单元M2n器件的阻变。具体地,依据基尔霍夫定律和欧姆定律,可以得到该忆阻器阵列结构所应用的向量-矩阵的乘积和结果。
如图1A、图1B和图2所示,根据本公开的实施例,在对选通的至少一个忆阻器单元执行读操作或写操作中,包括:
对至少一个忆阻器单元所在的第一字线上施加第一编程电压,并将所在的第一位线接地;或者
对至少一个忆阻器单元所在的第一位线上施加第二编程电压,并将所在的第一字线接地;
其中,第一编程电压与第二编程电压方向相反、大小相等。
对于写入操作,如图1B所示,在被选中忆阻器单元M2n器件所在字线WL2施加编程信号(即Vprogram),同时对所在位线BLn接GND,以此构成该被编写的忆阻器单元M2n器件的电势差,从而控制该忆阻器单元M2n器件发生阻变。
另外,对于写入操作,如图1B所示,在被选中忆阻器单元M2n器件所在位线BLn施加数值相同方向相反的另一编程信号(即-Vprogram),同时对所在字线WL2接GND,同样构成该被编写的忆阻器单元M2n器件的电势差,以控制该忆阻器单元M2n器件发生阻变。
进一步地,如图1C所示,针对忆阻器单元M11、M12、M21和M22进行写入操作,可以依据上述针对被选中忆阻器单元M2n器件的写入操作进行。对此,本领域技术人员应当可以理解,具体不作赘述。
可见,通过在并行输入信号对应的字线WG和并行输出对应的位线BG施加晶体管开启电压,并施加输入信号到字线WL,在输出端位线BL上读取电流/电压信号,即可以获取向量-矩阵乘加运算结果。
因此,被选中器件所在字线WL和位线BL上分别对应施加编程信号和GND,以构成可以编写忆阻器件的电势差,从而控制忆阻器件发生阻变,从而可以完成对该忆阻器阵列的每个忆阻器单元的精准操作。
如图1A-图5所示,本公开的又一个方面提供了一种神经网络稀疏化装置,其中,该装置基于上述的忆阻器阵列结构100实现。
如图3所示,该神经网络稀疏化装置实现神经网络稀疏化和稀疏矩阵权重映射的过程。
第一步,将神经网络的三维权重矩阵Z(行、列、通道C)依行向量分为固定步长的元素组R(包括w21-W24),权重矩阵Z的不同通道C相互独立。其中,元素组R中元素数量不得超过忆阻器矩阵中子矩阵的行数。
第二步,在元素组R内进行随机稀疏化操作,并最终使元素组r1内至多只包含一个非零元素w23,如步骤S301稀疏化。
第三步,将三维权重矩阵z1沿行向量展开成二维矩阵z2,二维矩阵z2列向量元素组r2的元素w23来自相同通道C,行向量为不同通道,如步骤S302降维。
第四步,将二维矩阵z2映射至忆阻器阵列结构100中,其中元素组r2对应局部1R交叉结构的列向量,由此确保同一个1R交叉阵列内,列向量至多包含一个非零元素,如步骤S303映射。
因此,可以通过基于上述忆阻器阵列结构的该神经网络稀疏化装置,采用多次稀疏、格式判断和再训练过程,在保证神经网络性能的前提下,将稠密的神经网络原始权重矩阵,稀疏化至局部子块的同列内只存在不超过一个的非零元素。因此,如图4所示,本公开实施例的神经网络稀疏化装置的神经网络稀疏化过程可以如下:
第一步,基于稠密权重矩阵结构训练神经网络,并得到原始权重矩阵分布。具体地,可以根据深度学习算法规则和实际任务需求,初始化神经网络结构和权重矩阵,利用深度学习算法,训练神经网络,并得到原始权重矩阵,如步骤S401-S402。
第二步,随机平衡稀疏化,即在固定步长下随机稀疏固定数量的矩阵元素,如稀疏50%的矩阵元素。具体地,可以将原始权重矩阵的元素根据上述如图3所示的映射规则,进行等步长分组,并在元素组内进行随机稀疏(如50%稀疏化),得到过渡矩阵,如步骤S402-S403。
第三步,再训练稀疏后的神经网络,提升网络性能。具体地,再次训练基于过渡矩阵的神经网络,通过修正过渡矩阵中非零元素的数值,降低稀疏化导致的性能损失,如步骤S403-S404。
第四步,判断矩阵的稀疏程度,确保稀疏矩阵映射至1R交叉阵列(即上述的忆阻器阵列结构100)后,不构成串扰回路。其中,对不满足需求的稀疏矩阵再次进行上述步骤S402-S404的过程,直到满足稀疏度要求,从而完成神经网络稀疏化过程,如步骤S405。为保证适配上述忆阻器阵列结构,在整个稀疏化过程中,需要保证稀疏步长不发生变化。其中,在,如步骤S405中,判断过渡矩阵是否满足元素组内至多单一非零元素的稀疏要求。如满足,则输出稀疏权重矩阵(如步骤S405-步骤S406),否则将过渡矩阵作为原始权重矩阵重复步骤S402-S404的过程。
如图5所示,基于上述忆阻器阵列结构的神经网络稀疏化装置,适配该高集成度忆阻阵列结构的稀疏矩阵可以由多个等规模的二维矩阵子块构成。子块处于矩阵的同列,且子块内同列最多只包含一个非零元素,非零元素位置可随机分布。此外,该矩阵的列元素表示神经网络的同一权重矩阵,行表示不同的权重矩阵。因此,子块对应忆阻器阵列结构中的局部1R交叉阵列。
至此,已经结合附图对本公开实施例进行了详细描述。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种忆阻器阵列结构,其中,包括多个结构子阵列,所述多个结构子阵列中的每个结构子阵列包括:
多个忆阻器单元,分布排列形成忆阻器阵列,
多个第一晶体管单元,在第一方向上与所述忆阻器阵列的两端的多个忆阻器单元分别对应相连;
多个第二晶体管单元,在第二方向上与所述忆阻器阵列的另两端的多个忆阻器单元分别对应相连;
其中,在所述第一方向上,所述多个第一晶体管单元与所述忆阻器阵列的两端的相邻忆阻器阵列对应相连;在所述第二方向上,所述多个第二晶体管单元与所述忆阻器阵列的另两端的相邻忆阻器阵列对应相连。
2.根据权利要求1所述的方法,其中,所述忆阻器阵列包括:
多个第一子阵列,在所述第二方向上依次排布设置;或者
多个第二子阵列,在所述第一方向上依次排布设置;
其中,所述多个第一子阵列中的忆阻器单元数量、所述多个第二子阵列中的忆阻器单元数量以及所述忆阻器阵列的忆阻器单元数量相等。
3.根据权利要求2所述的方法,其中,所述多个忆阻器单元中的每个忆阻器单元包括:
顶电极,与所述多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连;
底电极,与所述多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连;
介质层,位于所述顶电极和所述底电极之间,用于实现所述每个忆阻器单元的阻变。
4.根据权利要求3所述的方法,其中,所述多个第一晶体管单元中的每个第一晶体管单元包括:
栅极,与所述多个第一子阵列中的对应一个第一子阵列在第一方向上的第二字线相连;
源极,与所述多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连,或与所述相邻忆阻器阵列中的对应所述一个第一子阵列在第一方向上的另一第一字线相连;
漏极,与所述相邻忆阻器阵列中的对应所述一个第一子阵列在第一方向上的另一第一字线相连,或与所述多个第一子阵列中的对应一个第一子阵列在第一方向上的第一字线相连。
5.根据权利要求3所述的方法,其中,所述多个第二晶体管单元中的每个第二晶体管单元包括:
栅极,与所述多个第二子阵列中的对应一个第二子阵列在第二方向上的第二位线相连;
源极,与所述多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连,或与所述相邻忆阻器阵列中的对应所述一个第二子阵列在第二方向上的另一第一位线相连;
漏极,与所述相邻忆阻器阵列中的对应所述一个第二子阵列在第二方向上的另一第一位线相连,或与所述多个第二子阵列中的对应一个第二子阵列在第二方向上的第一位线相连。
6.一种权利要求1-5中任一项所述的忆阻器阵列结构的操作方法,其中,包括:
选通所述忆阻器阵列中的至少一个忆阻器单元;
对所述选通的所述至少一个忆阻器单元执行读操作或写操作,以控制所述至少一个忆阻器单元发生阻变。
7.根据权利要求6所述的操作方法,其中,在选通所述忆阻器阵列中的至少一个忆阻器单元中,包括:
在所述至少一个忆阻器单元所在的第二字线和第二位线上施加开启电压,并将其他第二字线和第二位线接地。
8.根据权利要求6所述的操作方法,其中,在所述对所述选通的所述至少一个忆阻器单元执行读操作或写操作之前还包括:
对所述至少一个忆阻器单元所在的第一字线和第一位线上施加读取信号或写入信号,并将其他第一字线和第一位线置于浮置状态。
9.根据权利要求8所述的操作方法,其中,在所述对所述选通的所述至少一个忆阻器单元执行读操作或写操作中,包括:
对所述至少一个忆阻器单元所在的第一字线施加读取电压,并通过所在的第一位线读取对应所述读取电压的电流值或电压值;或者
对所述至少一个忆阻器单元所在的第一位线施加读取电压,并通过所在的第一字线读取对应所述读取电压的电流值或电压值。
10.根据权利要求8所述的操作方法,其中,在所述对所述选通的所述至少一个忆阻器单元执行读操作或写操作中,包括:
对所述至少一个忆阻器单元所在的第一字线上施加第一编程电压,并将所在的第一位线接地;或者
对所述至少一个忆阻器单元所在的第一位线上施加第二编程电压,并将所在的第一字线接地;
其中,所述第一编程电压与所述第二编程电压方向相反、大小相等。
11.一种神经网络稀疏化装置,其中,所述装置基于权利要求1-5中任一项所述的忆阻器阵列结构实现。
CN202111545665.7A 2021-12-16 2021-12-16 忆阻器阵列结构及其操作方法、神经网络稀疏化装置 Pending CN114171087A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111545665.7A CN114171087A (zh) 2021-12-16 2021-12-16 忆阻器阵列结构及其操作方法、神经网络稀疏化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111545665.7A CN114171087A (zh) 2021-12-16 2021-12-16 忆阻器阵列结构及其操作方法、神经网络稀疏化装置

Publications (1)

Publication Number Publication Date
CN114171087A true CN114171087A (zh) 2022-03-11

Family

ID=80487052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111545665.7A Pending CN114171087A (zh) 2021-12-16 2021-12-16 忆阻器阵列结构及其操作方法、神经网络稀疏化装置

Country Status (1)

Country Link
CN (1) CN114171087A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115424646A (zh) * 2022-11-07 2022-12-02 上海亿铸智能科技有限公司 面向忆阻器阵列的存算一体稀疏感知灵敏放大器及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115424646A (zh) * 2022-11-07 2022-12-02 上海亿铸智能科技有限公司 面向忆阻器阵列的存算一体稀疏感知灵敏放大器及方法

Similar Documents

Publication Publication Date Title
US11934480B2 (en) NAND block architecture for in-memory multiply-and-accumulate operations
US20200167408A1 (en) Vector-by-matrix multiplier modules based on non-volatile 2d and 3d memory arrays
US11507808B2 (en) Multi-layer vector-matrix multiplication apparatus for a deep neural network
US9922696B1 (en) Circuits and micro-architecture for a DRAM-based processing unit
US10180808B2 (en) Software stack and programming for DPU operations
US11397885B2 (en) Vertical mapping and computing for deep neural networks in non-volatile memory
CN106486171A (zh) 用于阻抗校准的搜索
CN110729011B (zh) 用于类神经网路的存储器内运算装置
CN114298296A (zh) 基于存算一体阵列的卷积神经网络处理方法和装置
TWI771014B (zh) 記憶體電路及其操作方法
JP2006508481A5 (zh)
CN111062463A (zh) 运用交叉开关矩阵实施多层神经网络
US20200278923A1 (en) Multi-dimensional accesses in memory
CN114171087A (zh) 忆阻器阵列结构及其操作方法、神经网络稀疏化装置
Jiang et al. Selector requirements for tera-bit ultra-high-density 3D vertical RRAM
TW202303382A (zh) 記憶體內計算裝置、系統及其操作方法
TW202243131A (zh) 記憶體陣列
CN113094644A (zh) 用于处理数据集的系统
US20230315389A1 (en) Compute-in-memory cell
US20230023505A1 (en) Sense amplifier with read circuit for compute-in-memory
Liu et al. An 1-bit by 1-bit high parallelism in-RRAM macro with co-training mechanism for DCNN applications
US12040016B2 (en) Crossbar circuits for performing convolution operations
CN218181836U (zh) 一种存内运算装置
CN111611196B (zh) 一种存算一体芯片及其dac复用控制方法
Li et al. New write operation scheme for alleviating effect of line resistance on RRAM crossbar array

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination