CN111144058B - 缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 - Google Patents
缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 Download PDFInfo
- Publication number
- CN111144058B CN111144058B CN202010003662.XA CN202010003662A CN111144058B CN 111144058 B CN111144058 B CN 111144058B CN 202010003662 A CN202010003662 A CN 202010003662A CN 111144058 B CN111144058 B CN 111144058B
- Authority
- CN
- China
- Prior art keywords
- input voltage
- memristor
- voltage
- sneak path
- preset
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Semiconductor Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
本发明涉及一种缓解忆阻器交叉阵列中潜通路影响的方法及相关设备,应用于计算机与电子信息技术领域,其中,获取忆阻器交叉阵列的输入电压;计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。如此,只需调整忆阻器交叉阵列中的输入电压,便可以降低所述潜通路引起的电流误差值,调整了潜通路引起的误差损失,不必在忆阻器交叉阵列中再次添加新的设备,从而,不必改变忆阻器交叉阵列的制造工艺。
Description
技术领域
本发明涉及计算机与电子信息技术领域,具体涉及缓解忆阻器交叉阵列中潜通路影响的方法及相关设备。
背景技术
忆阻器交叉阵列是一个由两层垂直交叉的金属导线和忆阻器矩阵组成的电阻网络。
在忆阻器交叉阵列的制造工艺中,由于金属导线本身自带电阻分流电路中的电压产生IR-drop(电压降),产生的电势差会导致非预期的电流分支,即Sneak-path(潜通路)。随着交叉阵列规模的增大和计算过程中的不断积累,使得潜通路造成的误差不断增加。潜通路电流的分流串行,使得神经网络算法精度降低,导致系统的可靠性下降。因此尽可能的避免或者减少误差至关重要。
相关技术中,缓解潜通路的方法主要通过添加选择设备在一定程度上抑制潜通路电流,如添加晶体管或者二极管在交叉阵列电路节点上,利用其单向导通性阻塞潜通路,如1T1R(1个晶体管和1个忆阻器),1S1R(1个选择器1个忆阻器),1D1R(1个二极管一个忆阻器),但这种方式,会增大工艺上的制造难度,降低电路集成度。
发明内容
有鉴于此,本发明为了在至少一定程度上克服相关技术中存在的问题,提供一种缓解忆阻器交叉阵列中潜通路影响的方法及相关设备。
为解决上述技术问题,本发明采用如下技术方案:
第一方面,一种缓解忆阻器交叉阵列中潜通路影响的方法,包括:
获取忆阻器交叉阵列的输入电压;
计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。
可选的,所述获取忆阻器交叉阵列的输入电压之前,还包括:
获取预设的约束条件,以使所述忆阻器交叉阵列满足所述约束条件;
所述约束条件包括:所述输入电压在预设电压范围内;在所述忆阻器交叉阵列中忆阻器节点阻值大于或等于预设阻值时,所述忆阻器节点所处的分支通路潜通路引起的电流误差值为第一预设误差值。
可选的,所述输入电压包括所述忆阻器交叉阵列中各输入端的输入电压,所述潜通路引起的电流误差值包括各分支通路的潜通路引起的电流误差值及所述忆阻器交叉阵列的输出潜通路引起的电流误差值;
所述根据所述潜通路引起的电流误差值对所述输入电压进行调整,包括:
将各输入端的输入电压归类至第一预设范围或第二预设范围内,其中,所述第一预设范围内的电压值大于所述第二预设范围内的电压值,并且所述第一预设范围和所述第二预设范围均在所述预设电压范围内;
判断所述忆阻器交叉阵列的输出潜通路引起的电流误差值是否大于第二误差值;
若大于,降低所述第一预设范围内的输入端的输入电压,和/或,增加所述第二预设范围内的输入端的输入电压;
若小于,增加所述第一预设范围内的输入端的输入电压,和/或,降低所述第二预设范围内的输入端的输入电压。
可选的,增加输入端的输入电压,包括:
获取所述预设电压范围内的最大值;
根据所述最大值和所述输入电压计算得到的电压值,作为增加后的输入电压。
可选的,降低输入端的输入电压,包括:
获取所述预设电压范围内的最小值;
根据所述最小值和所述输入电压计算得到的电压值,作为降低后的输入电压。
可选的,还包括:
判断降低后的所述潜通路引起的电流误差值是否小于第三预设误差值;
若不小于,则继续调整所述输入电压,直至小于。
第二方面,一种缓解忆阻器交叉阵列中潜通路影响的装置,包括:
第一获取模块,用于获取忆阻器交叉阵列的输入电压;
计算模块,用于计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
调整模块,用于根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。
可选的,还包括:
第二获取模块,用于获取预设的约束条件,以使所述忆阻器交叉阵列满足所述约束条件;
所述约束条件包括:所述输入电压在预设电压范围内;在所述忆阻器交叉阵列中忆阻器节点阻值大于或等于预设阻值时,所述忆阻器节点所处的分支通路潜通路引起的电流误差值为第一预设误差值。
第三方面,一种缓解忆阻器交叉阵列中潜通路影响的设备,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如第一方面所述的缓解忆阻器交叉阵列中潜通路影响的方法。
第四方面,一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本发明第一方面任一项所述缓解忆阻器交叉阵列中潜通路影响的方法。
本发明采用以上技术方案,可以实现如下技术效果:本申请通过先获取忆阻器交叉阵列的输入电压;计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。如此,只需调整忆阻器交叉阵列中的输入电压,便可以降低所述潜通路引起的电流误差值,调整了潜通路引起的误差损失,不必在忆阻器交叉阵列中再次添加新的设备,从而,不必改变忆阻器交叉阵列的制造工艺。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的忆阻器交叉阵列中电压降的示意图;
图2是本发明一实施例提供的忆阻器交叉阵列中潜通路的示意图;
图3是本发明一实施例提供的忆阻器交叉阵列中点积操作的示意图;
图4是本发明一实施例提供的模拟误差前后搭建的外围电路示意图;
图5是本发明一实施例提供的忆阻器交叉阵列中忆阻器不同阻值分配示意图;
图6是本发明一实施例提供的模拟潜通路电流误差分布规律的热力图;
图7a是本发明一实施例提供的忆阻器交叉阵列中第63行和第64行水平方向的变化分析图;
图7b是本发明一实施例提供的忆阻器交叉阵列中第61列垂直方向的变化分析图;
图8是本发明一实施例提供的缓解忆阻器交叉阵列中潜通路影响的方法的流程示意图;
图9是本发明另一实施例提供的缓解忆阻器交叉阵列中潜通路影响的方法的流程示意图;
图10是本申请一实施例提供的一种缓解忆阻器交叉阵列中潜通路影响的装置的结构示意图;
图11是本申请一实施例提供的一种缓解忆阻器交叉阵列中潜通路影响的设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
为了更好的理解本申请提供的方案,需要了解以下内容:
随着人工智能发展热潮的兴起,神经网络被广泛应用于在各种领域。在一些重要领域中(如:医疗,交通等),任何算法精度的提升对整个系统可靠性都会产生很大影响。非易失性器件中,忆阻器具有高速、低功耗、易集成、结构简单和非易失性的特点,满足了下一代存储器高密度信息存储和高性能计算的需求,卷积神经网络中主要以卷积乘加运算为主,占整个运算的90%以上,忆阻器结合交叉阵列结构适合用于乘加运算的特点,被广泛运用在神经网络的卷积计算当中。
然而,忆阻器(RRAM)由于工艺制造等原因存在一些不可避免的误差。在忆阻器交叉阵列中,由于金属导线本身自带电阻分流电路中的电压产生电压降,产生的电势差会导致非预期的电流分支,即潜通路。随着交叉阵列规模的增大和计算过程中的不断积累,使得潜通路造成的误差不断增加。潜通路电流的分流串行,使得神经网络算法精度降低,导致系统的可靠性下降。因此尽可能的避免或者减少误差至关重要。
电压降(IR-Drop):由于金属导线本身自带电阻,分流电路中的电压导致电压降,致使忆阻器单元的编程电压下降,随着交叉阵列规模变大,电压降偏差更为明显。施加在导线上的电压沿着导线逐渐下降,即图1中所示:VC0>VC1>VC2>…>VC6。
潜通路(Sneak-Path):潜通路是指在电子系统中使得系统产生非期望功能或者抑制功能的电路通路,是人为无意识的,但常常会影响系统可靠性导致结果出错。图2中的期望的正常的电流如实线所示,但事实上电流会产生分支,如2图中虚线所示。
忆阻器交叉阵列(RRAM crossbar)做卷积神经网络的过程:忆阻器与一个水平的位线和一个垂直的字线组合形成忆阻器交叉阵列结构。交叉阵列中的每个交点都是一个存储单元,网络权值按忆阻器电导配置。图3显示了忆阻器交叉阵列中的点积操作。当进行卷积运算时,电信号V在水平位线处输入,通过每个交叉节点的输出电流大小计算为I=V*G,其中G表示运算节点电导,输出电流在垂直字线末端累加。整个过程与神经网络中的卷积操作中的乘加类似,因此忆阻器交叉阵列适合用来做神经网络中的卷积运算。
实施例
在进行本发明之前,发明人先根据Pspice仿真模拟工具搭建了不同规模的交叉阵列电路结构,对电路中潜通路误差进行模拟分析。图4是本发明一实施例提供的模拟误差前后搭建的外围电路示意图,其参数设置为:忆阻器电阻分为高电阻和低电阻两种状态,分别赋值1MΩ和10KΩ;输入电压设置在0V~1.2V范围内,不同电压任意分布;通过设置两个相邻忆阻器单元之间的线阻值25Ω来模拟电压降。本实施例中由于电压的影响而引起的变化是指实际值与理想值之间的电流差。使用Python脚本对生成的参数文件进行了分析,并计算了电路中潜行路径电流的变化分布。
本实施例中,以忆阻器交叉阵列的64×64规模的交叉阵列为例进行说明,图5是本发明一实施例提供的忆阻器交叉阵列中忆阻器不同阻值分配示意图,参照图5,水平和垂直坐标分别代表64行输入和64列输出。白点表示10KΩ的高阻值状态的忆阻器,黑点表示1MΩ的低阻值状态的忆阻器。它们在电路中是任意稀疏分布的。根据神经网络的稀疏性,零值在网络的权值分布中占有很大的比例。为了减少系统功率损耗,通常采用的方法是将网络中低权值映射到高阻值状态的忆阻器,本申请中也以此展开模拟分析的过程。
图6是本发明一实施例提供的模拟潜通路电流误差分布规律的热力图。提取图5中第63和64行的水平方向,其中输入分别为0V和1.2V,忆阻器电阻值具有相同的分布。图7a是本发明一实施例提供的忆阻器交叉阵列中第63行和64行的误差值进行横向误差分析,图7a中我们可以得到,当忆阻器单元设置为高阻状态时,无论输入是高电压状态还是低电压状态,误差值都为最小。此外,当输入电压为1.2V时,电路中的电流变化为正,而当输入电压为0V时,电路中的电流变化为负。误差值随着x轴正方向的变化逐渐增大。图7b是本发明一实施例提供的忆阻器交叉阵列中第61列误差值进行垂直误差分析,可以看出,当输入电压处于最大值和最小值时,变化曲线出现峰值。当忆阻器单元设置为高电阻状态时,如图7b中的阻值分布所示,无论输入的电压是多少,误差值都趋近于零。
通过上述实施例可得出如下分布规律:
1、考虑到忆阻器阻值设定的影响,忆阻器高阻值状态对于潜通路具有阻塞作用;
电路中设定忆阻器不同阻值状态随机分布,图5表示电路中不同阻值的忆阻器分布情况,黑色点表示电路中高阻值状态的忆阻器分布,在图6中我们可以很明显的观察到高阻值状态下潜通路误差相对较小,得到的结果进一步的验证了忆阻器高阻值状态对于潜通路具有阻塞作用,因此误差相对较小。当前阻值为高阻值时阻塞潜通路电流因此误差值小,通过上述实施例可知误差值近似接近于0。
2、考虑到忆阻器位置因素,潜通路误差横向呈现逐渐递增规律;
从图6中观察,从左往右横向分析,图6中行内颜色呈逐渐变淡的趋势,颜色越淡表示误差越大。
3、考虑到输入电压的影响,不同状态下的电压值造成的潜通路误差类型不同;
图6中左侧栏一列代表了64路输入电压,左侧栏不同的颜色表示了输入的电压值不同,颜色加深表示电压值越大,通过观察可以看出对应颜色深的行中,即高电压输入状态下,实际通过忆阻器节点的电流值要比理想值要大,行中横向颜色加深,即横向误差为正向增加的潜通路误差类型。实际通过忆阻器节点的电流值要比理想的电流值小,潜通路误差类型为减小的误差并横向逐渐增大。
进而得到,根据输入电压的分布,输入电压的高低与误差的类型相关联,在一组电压输入中当输入的电压值较大时,对应的误差值为正误差类型,即当前节点的实际电流大于理想电流,当输入的电压值较小时,对应的误差值为负误差类型,即当前节点的实际电流小于理想电流值。
基于上述实施例,本申请的缓解忆阻器交叉阵列中潜通路影响的方法及相关设备具体实施,可参照如下实施例。
图8是本发明一实施例提供的缓解忆阻器交叉阵列中潜通路影响的方法的流程示意图。如图8所示,本实施例提供一种缓解忆阻器交叉阵列中潜通路影响的方法,包括:
步骤801、获取忆阻器交叉阵列的输入电压;
一些实施例中,忆阻器交叉阵列的输入电压可以根据交叉阵列的不同,设置相应的电压范围,将输入电压设置在上述的电压范围内。在实际电路设计中,电压输入值的设定是一个区间范围的值,设输入的高电压值为V,在实际操作中电压值的输入为V’,如果满足V-△<V’<V+△,则将V’看做是高电压的输入,因此,我们可以在小范围内调整输入电压,从而不会影响到输入值的改变对于计算结果的影响,通过这种方法我们就可以在一定程度上将输入电压值做重新调整。
步骤802、计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
一些实施例中,计算潜通路引起的电流误差值可以设立误差函数,function+表示正误差,参数为当前输入的高电压值和阻值,function-表示负误差,参数为当前输入的低电压值和阻值,这样,忆阻器交叉阵列中每个节点的误差值都可以表达描述出来,进行求和,即可以得到全局误差值大小Svar。
步骤803、根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。
本申请通过先获取忆阻器交叉阵列的输入电压;计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。如此,只需调整忆阻器交叉阵列中的输入电压,便可以降低所述潜通路引起的电流误差值,调整了潜通路引起的误差损失,不必在忆阻器交叉阵列中再次添加新的设备,从而,不必改变忆阻器交叉阵列的制造工艺。
图9是本发明一实施例提供的缓解忆阻器交叉阵列中潜通路影响的方法的流程示意图。如图9所示,本实施例提供一种缓解忆阻器交叉阵列中潜通路影响的方法,包括:
步骤901、获取预设的约束条件,以使所述忆阻器交叉阵列满足所述约束条件;
一些实施例中,所述约束条件包括:所述输入电压在预设电压范围内;在所述忆阻器交叉阵列中忆阻器节点阻值大于或等于预设阻值时,所述忆阻器节点所处的分支通路潜通路引起的电流误差值为第一预设误差值。
其中,预设电压范围可以为0至1.2V将输入电压设置在预设电压范围内后,可以保证输入电压的输入范围,避免过大或过小。另外,根据上述实施例可以,在当前的忆阻器节点阻值为高阻值状态时,无论当前的输入电压为多少,则节点单元的误差都近似为0,因此,将此作为另一约束条件,从而在细粒度上调整潜通路误差的影响
步骤902、获取忆阻器交叉阵列的输入电压;
一些实施例中,所述输入电压包括所述忆阻器交叉阵列中各输入端的输入电压,
一些实施例中,忆阻器交叉阵列的输入电压可以根据交叉阵列的不同,设置相应的电压范围,将输入电压设置在上述的电压范围内。在实际电路设计中,电压输入值的设定是一个区间范围的值,设输入的高电压值为V,在实际操作中电压值的输入为V’,如果满足V-△<V’<V+△,则将V’看做是高电压的输入,因此,我们可以在小范围内调整输入电压,从而不会影响到输入值的改变对于计算结果的影响,通过这种方法我们就可以在一定程度上将输入电压值做重新调整。
步骤903、计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
一些实施例中,所述潜通路引起的电流误差值包括各分支通路的潜通路引起的电流误差值及所述忆阻器交叉阵列的输出潜通路引起的电流误差值。计算潜通路引起的电流误差值可以设立误差函数,function+表示正误差,参数为当前输入的高电压值和阻值,function-表示负误差,参数为当前输入的低电压值和阻值,这样,忆阻器交叉阵列中每个节点的误差值都可以表达描述出来,进行求和,即可以得到全局误差值大小Svar。
步骤904、将各输入端的输入电压归类至第一预设范围或第二预设范围内,其中,所述第一预设范围内的电压值大于所述第二预设范围内的电压值,并且所述第一预设范围和所述第二预设范围均在所述预设电压范围内;
一些实施例中,将预设电压范围包括第一预设范围和第二预设范围,并且,第一预设范围内的电压值大于所述第二预设范围内的电压值,由此,便可以将忆阻器交叉阵列中输入端的电压值区分为高电压和低电压,基于上述实施例,高电压产生正误差,而低电压产生负误差。
步骤905、判断所述忆阻器交叉阵列的输出潜通路引起的电流误差值是否大于第二误差值;若大于,执行步骤906;若小于,执行步骤907;
一些实施例中,第二误差值可以但不限于为10-8,即让第二误差值趋近于0,在误差值越小时,表示忆阻器交叉阵列产生的误差越小。
步骤906、降低所述第一预设范围内的输入端的输入电压,和/或,增加所述第二预设范围内的输入端的输入电压;
基于上述相关实施例,高电压产生正误差,而第电压产生负误差。因此,在潜通路引起的电流误差值大于第二误差值时,则表明此时忆阻器交叉阵列中,产生了正误差,此时,可以通过降低高输入电压来降低正误差,也可以通过增加低输入电压来增加负误差,以使得交叉阵列最终输出的误差值平衡,更趋近于0。
步骤907、增加所述第一预设范围内的输入端的输入电压,和/或,降低所述第二预设范围内的输入端的输入电压。
基于上述相关实施例,同理,在潜通路引起的电流误差值小于第二误差值时,则表明此时忆阻器交叉阵列中,产生了负误差,此时,可以通过提高高输入电压来降低正误差,也可以通过降低低输入电压来增加负误差,以使得交叉阵列最终输出的误差值平衡,更趋近于0。
进一步的,增加输入端的输入电压,包括:
获取所述预设电压范围内的最大值;
根据所述最大值和所述输入电压计算得到的电压值,作为增加后的输入电压。
本实施例中,提高输入电压的方式,可以为最大值与输入电压值的和再除以2,将得到的值,作为增加后的输入电压。
可选的,降低输入端的输入电压,包括:
获取所述预设电压范围内的最小值;
根据所述最小值和所述输入电压计算得到的电压值,作为降低后的输入电压。
本实施例中,同理,降低输入电压的方式,可以为最小值与输入电压值的和再除以2,将得到的值,作为降低后的输入电压。
步骤908、判断降低后的所述潜通路引起的电流误差值是否小于第三预设误差值;
若不小于,执行步骤901,直至小于。
一些实施例中,第三预设误差值可以但不限于为10-8,即让第三误差值趋近于0,在误差值越小时,表示忆阻器交叉阵列产生的误差越小。
本申请中,通过在软件水平调整的方法,减少潜通路误差造成的损失,该方法最大的价值在于,可以实现细粒度的调整输入电压,达到减小潜通路误差的目的。通过对输入电压的微调,我们最终的目标是使得正负误差值尽力抵消,求和使得潜通路的误差最小。针对补偿的细粒度解决方案,特别是补偿每个单元或卷积计算过程中的变化。通过软硬件协同设计补偿,使网络计算结果更加准确。
图10是本发明一实施例提供的缓解忆阻器交叉阵列中潜通路影响的装置的结构示意图。如图10所示,本实施例提供一种缓解忆阻器交叉阵列中潜通路影响的装置,包括:
第一获取模块1001,用于获取忆阻器交叉阵列的输入电压;
计算模块1002,用于计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
调整模块1003,用于根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值。
可选的,缓解忆阻器交叉阵列中潜通路影响的装置还包括:
第二获取模块,用于获取预设的约束条件,以使所述忆阻器交叉阵列满足所述约束条件;
所述约束条件包括:所述输入电压在预设电压范围内;在所述忆阻器交叉阵列中忆阻器节点阻值大于或等于预设阻值时,所述忆阻器节点所处的分支通路潜通路引起的电流误差值为第一预设误差值。
可选的,所述忆阻器交叉阵列包括:
依次连接的输入端、模数转换模块、忆阻器交叉阵列本体、传感放大器、位移和累加模块、数模转换模块、输出端。
本实施例的具体实现方案可以参见前述实施例记载的缓解忆阻器交叉阵列中潜通路影响的方法及方法实施例中的相关说明,此处不再赘述。
图11是本申请一实施例提供的一种缓解忆阻器交叉阵列中潜通路影响的设备的结构示意图。参照图11,本申请实施例的提供了一种缓解忆阻器交叉阵列中潜通路影响的设备,包括:
处理器1101,以及与处理器相连接的存储器1102;
存储器1102用于存储计算机程序;
处理器1101用于调用并执行存储器1102中的计算机程序,以执行如上述实施例中的缓解忆阻器交叉阵列中潜通路影响的方法。
本实施例的具体实现方案可以参见前述实施例记载的缓解忆阻器交叉阵列中潜通路影响的方法及方法实施例中的相关说明,此处不再赘述。
本发明实施例提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如缓解忆阻器交叉阵列中潜通路影响的方法中各个步骤。
本实施例的具体实现方案可以参见上述缓解忆阻器交叉阵列中潜通路影响的方法实施例中的相关说明,此处不再赘述。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,STT-RAM,PCM等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种缓解忆阻器交叉阵列中潜通路影响的方法,其特征在于,包括:
获取忆阻器交叉阵列的输入电压;
计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值;
所述输入电压包括所述忆阻器交叉阵列中各输入端的输入电压,所述潜通路引起的电流误差值包括各分支通路的潜通路引起的电流误差值及所述忆阻器交叉阵列的输出潜通路引起的电流误差值;
所述根据所述潜通路引起的电流误差值对所述输入电压进行调整,包括:
将各输入端的输入电压归类至第一预设范围或第二预设范围内,其中,所述第一预设范围内的电压值大于所述第二预设范围内的电压值,并且所述第一预设范围和所述第二预设范围均在预设电压范围内;
判断所述忆阻器交叉阵列的输出潜通路引起的电流误差值是否大于第二误差值;
若大于,降低所述第一预设范围内的输入端的输入电压,和/或,增加所述第二预设范围内的输入端的输入电压;
若小于,增加所述第一预设范围内的输入端的输入电压,和/或,降低所述第二预设范围内的输入端的输入电压。
2.根据权利要求1所述的方法,其特征在于,所述获取忆阻器交叉阵列的输入电压之前,还包括:
获取预设的约束条件,以使所述忆阻器交叉阵列满足所述约束条件;
所述约束条件包括:所述输入电压在预设电压范围内;在所述忆阻器交叉阵列中忆阻器节点阻值大于或等于预设阻值时,所述忆阻器节点所处的分支通路潜通路引起的电流误差值为第一预设误差值。
3.根据权利要求2所述的方法,其特征在于,增加输入端的输入电压,包括:
获取所述预设电压范围内的最大值;
根据所述最大值和所述输入电压计算得到的电压值,作为增加后的输入电压。
4.根据权利要求2所述的方法,其特征在于,降低输入端的输入电压,包括:
获取所述预设电压范围内的最小值;
根据所述最小值和所述输入电压计算得到的电压值,作为降低后的输入电压。
5.根据权利要求1所述的方法,其特征在于,还包括:
判断降低后的所述潜通路引起的电流误差值是否小于第三预设误差值;
若不小于,则继续调整所述输入电压,直至小于。
6.一种缓解忆阻器交叉阵列中潜通路影响的装置,其特征在于,包括:
第一获取模块,用于获取忆阻器交叉阵列的输入电压;
计算模块,用于计算所述忆阻器交叉阵列中的潜通路引起的电流误差值;
调整模块,用于根据所述潜通路引起的电流误差值对所述输入电压进行调整,以降低所述潜通路引起的电流误差值;
所述输入电压包括所述忆阻器交叉阵列中各输入端的输入电压,所述潜通路引起的电流误差值包括各分支通路的潜通路引起的电流误差值及所述忆阻器交叉阵列的输出潜通路引起的电流误差值;
所述根据所述潜通路引起的电流误差值对所述输入电压进行调整,包括:
将各输入端的输入电压归类至第一预设范围或第二预设范围内,其中,所述第一预设范围内的电压值大于所述第二预设范围内的电压值,并且所述第一预设范围和所述第二预设范围均在预设电压范围内;
判断所述忆阻器交叉阵列的输出潜通路引起的电流误差值是否大于第二误差值;
若大于,降低所述第一预设范围内的输入端的输入电压,和/或,增加所述第二预设范围内的输入端的输入电压;
若小于,增加所述第一预设范围内的输入端的输入电压,和/或,降低所述第二预设范围内的输入端的输入电压。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二获取模块,用于获取预设的约束条件,以使所述忆阻器交叉阵列满足所述约束条件;
所述约束条件包括:所述输入电压在预设电压范围内;在所述忆阻器交叉阵列中忆阻器节点阻值大于或等于预设阻值时,所述忆阻器节点所处的分支通路潜通路引起的电流误差值为第一预设误差值。
8.一种缓解忆阻器交叉阵列中潜通路影响的设备,其特征在于,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如权利要求1-5任一项所述的方法。
9.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003662.XA CN111144058B (zh) | 2020-01-03 | 2020-01-03 | 缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003662.XA CN111144058B (zh) | 2020-01-03 | 2020-01-03 | 缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111144058A CN111144058A (zh) | 2020-05-12 |
CN111144058B true CN111144058B (zh) | 2022-10-21 |
Family
ID=70523340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010003662.XA Active CN111144058B (zh) | 2020-01-03 | 2020-01-03 | 缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144058B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114282478B (zh) * | 2021-11-18 | 2023-11-17 | 南京大学 | 一种修正可变电阻器件阵列点乘误差的方法 |
CN115687869A (zh) * | 2022-11-09 | 2023-02-03 | 深圳先进技术研究院 | 忆阻器精度重构计算的误差校正方法、系统、计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103871462A (zh) * | 2012-11-14 | 2014-06-18 | 科洛斯巴股份有限公司 | 电阻型随机存取存储器的均衡及感测 |
CN105390520A (zh) * | 2015-10-21 | 2016-03-09 | 清华大学 | 忆阻器交叉阵列的参数配置方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016137449A1 (en) * | 2015-02-24 | 2016-09-01 | Hewlett Packard Enterprise Development Lp | Determining resistance states of memristors in a crossbar array |
US10049732B2 (en) * | 2015-02-24 | 2018-08-14 | Hewlett Packard Enterprise Development Lp | Determining a state of memristors in a crossbar array |
-
2020
- 2020-01-03 CN CN202010003662.XA patent/CN111144058B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103871462A (zh) * | 2012-11-14 | 2014-06-18 | 科洛斯巴股份有限公司 | 电阻型随机存取存储器的均衡及感测 |
CN105390520A (zh) * | 2015-10-21 | 2016-03-09 | 清华大学 | 忆阻器交叉阵列的参数配置方法 |
Non-Patent Citations (2)
Title |
---|
Novel 3D horizontal RRAM architecture with isolation cell structure for sneak current depression;Y. Zhao, J. Xu, J. Yang, X. Xue, Y. Lin and J. Sim;《2016 IEEE International Symposium on Circuits and Systems (ISCAS)》;20160811;第2807-2810页 * |
混合忆阻器-CMOS逻辑运算的优化设计研究;冯朝文,白鹏,杨晓阔,危波;《计算机技术与发展》;20191113;第44-48页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111144058A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111722830B (zh) | 快闪存储器的非易失性计算方法 | |
KR102679656B1 (ko) | 믹싱-신호 컴퓨팅을 위한 시스템 및 방법들 | |
KR101310991B1 (ko) | 상변화 메모리를 위한 판독 분포 관리 | |
CN105390520B (zh) | 忆阻器交叉阵列的参数配置方法 | |
US10332592B2 (en) | Hardware accelerators for calculating node values of neural networks | |
CN111144058B (zh) | 缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 | |
CN109146073B (zh) | 一种神经网络训练方法和装置 | |
Merkel et al. | Reconfigurable N-level memristor memory design | |
CN111210859B (zh) | 缓解忆阻器交叉阵列中潜通路影响的方法及相关设备 | |
CN111478703A (zh) | 基于忆阻交叉阵列的处理电路及输出电流的补偿方法 | |
CN112786081A (zh) | 存算单元和芯片 | |
Zhu et al. | Insights and optimizations on IR-drop induced sneak-path for RRAM crossbar-based convolutions | |
Fritscher et al. | Simulating large neural networks embedding MLC RRAM as weight storage considering device variations | |
US20240036825A1 (en) | Scalar product circuit, and method for computing binary scalar products of an input vector and weight vectors | |
US9330738B2 (en) | Data storage using analog coding | |
KR20220088488A (ko) | 저장 및 계산 유닛 및 칩 | |
CN111130544A (zh) | 基于交叉开关的计算环境中的缺陷减轻 | |
Chen et al. | Nonideality suppression and 16-state multilevel cell storage optimization in phase change memory with linear-like circuit | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
JP2021168024A (ja) | 半導体装置 | |
KR102687691B1 (ko) | 메모리 어레이 내에서의 연산 보정 방법 및 장치 | |
Luo et al. | Compensating for sneak currents in multi-level crosspoint resistive memories | |
CN113921059B (zh) | 纵横式数组装置及其写入方法 | |
CN115564036B (zh) | 基于rram器件的神经网络阵列电路及其设计方法 | |
CN118012375A (zh) | 使用矩阵电路近似确定点积的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |