一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

补偿神经元形态应用的PCM漂移的制作方法

2022-08-21 20:09:12 来源:中国专利 TAG:

补偿神经元形态应用的pcm漂移
技术领域
1.本发明总体上涉及神经元形态计算,并且更具体地涉及神经元形态计算中的相变存储器(pcm)。


背景技术:

2.相变存储器(pcm)是在断电时可以存储信息的存储器。这种存储器被称为这样的,因为其能够从无序(或非结晶)状态非常快速地切换到有序(或结晶)状态。pcm就通用存储器技术的大多数期望属性而言得分良好。具体地,它展现了约1百万次循环或更高数量级的非常好的耐久性、中等保留、以及对亚20nm及以上的极好的可扩展性。此外,由于它的设置(set)状态和重置(reset)状态之间的大的电阻率对比,它适合于多级单元存储。然而,需要解决pcm成为通用存储器的许多技术挑战。pcm技术的重大挑战是被称为电阻漂移的现象:观察到单元的电阻在时间上向上漂移,其中非结晶状态比其结晶对应物漂移更多。漂移严重影响pcm中的多级单元(mlc)存储的可靠性,这是因为相邻的紧密封装的电阻级之间的减小的感测裕度。
3.更详细地,神经元形态计算需要多个(约1000个)电阻水平。状态之间的电阻差远小于存储类存储器(其中,仅需要两个电阻状态)中的电阻差。
4.进一步,神经网络训练时间通常较长,例如,在数小时、数天或甚至数周的数量级上。同时,pcm在一小时内的漂移可能混合两个相邻电阻状态。电阻漂移对于无序材料(诸如非结晶材料或具有非结晶和多结晶区域的混合的材料)是基本的。
5.电阻漂移不需要为零,但对于神经元形态应用而言,漂移系数需要减小到例如<0.005。已经提出了常规技术(诸如投影单元)来减少pcm电阻漂移,但是结果不能满足小于0.005的目标漂移系数。因此,在本领域中需要解决上述问题。


技术实现要素:

6.从第一方面来看,本发明提供一种装置,包括:模拟相变存储器阵列,所述相变存储器阵列包括通过第一线和第二线可寻址和可访问的单元的阵列;以及耦合到所述第一线中的一个或多个的至少一个设备,所述至少一个设备能够耦合到所述一个或多个第一线或从所述一个或多个第一线解耦合,以补偿所述一个或多个第一线中的所述单元中的至少一个的电阻的相变存储器电阻漂移。
7.从另一方面来看,本发明提供了一种用于操作本发明的装置的方法,包括:通过所述阵列的第一线和第二线寻址和访问模拟相变存储器阵列的单元的阵列;以及通过与能够耦合到所述第一线中的一个或多个的至少一个设备的所述一个或多个第一线耦合或解耦合来补偿所述一个或多个第一线中的所述单元中的至少一个的电阻的相变存储器电阻漂移。
8.示例性实施例是一种装置。该装置包括模拟相变存储器阵列。该相变存储器阵列包括通过第一线和第二线可寻址和可访问的单元的阵列。所述装置包括耦合到所述第一线
中的一个或多个的至少一个设备,所述至少一个设备能够耦合到所述一个或多个第一线或从所述一个或多个第一线解耦合,以补偿所述一个或多个第一线中的所述单元中的至少一个的电阻的相变存储器电阻漂移。
9.另一示例性实施例是一种装置。该装置包括模拟相变存储器阵列,该相变存储器阵列包括通过第一线和第二线可寻址和可访问的单元的阵列。所述装置还包含耦合到所述第一线中的一个或多个的至少一个设备。所述至少一个设备能够耦合到所述一个或多个第一线或从所述一个或多个第一线解耦合,以补偿所述一个或多个第一线中的所述单元中的至少一个的电阻的相变存储器电阻漂移。该装置还包括控制电路,所述控制电路被配置为使用所述第一线和所述第二线通过所述至少一个设备向所述相变存储器阵列中的多个单独的相变存储器电阻器每个时段(period)顺序地发送一次相同的设置脉冲。
附图说明
10.现在将参考如在以下附图中所展示的优选实施例仅通过实例的方式来描述本发明:
11.图1是电阻对时间的图,并且用于描述在较高电阻状态和较低电阻状态下的漂移;
12.图2是用于补偿神经元形态应用的pcm漂移的示例性方法;
13.图3示出了用于基于图2的方法的神经元形态应用和脉冲高度的示例性电路;
14.图3a是用于基于图2的方法的神经元形态应用和脉冲高度的示例性电路的另一示例;
15.图4是示出示例性实施例中的需要的脉冲电压对pcm电阻器r的曲线图;
16.图5是用于生成不同pcm电阻器的所需输入电压的分压器电路;以及
17.图6示出了用于基于图2的方法的神经元形态应用和脉冲高度的示例性电路。
具体实施方式
18.可以在说明书和/或附图中发现的以下缩写定义如下:
19.i/f接口
20.i/o输入/输出
21.pcm相变存储器
22.r电阻
23.v伏
24.词语“示例性”在本文中用于表示“用作示例、实例或例证”。在本文中描述为“示例性”的任何实施例不必解释为比其他实施例优选或有利。在本详细说明中描述的所有实施例都是提供的示例性实施例,以使本领域的技术人员能够制作或使用本发明,并且不限制由权利要求限定的本发明的范围。
25.如上所述,pcm的电阻漂移不需要为零,但对于神经元形态应用而言,漂移系数需要被减小到<0.005。已经提出了常规技术(诸如投影单元)来减少pcm电阻漂移,但是结果不能满足小于0.005的目标漂移系数。
26.有可能使用电路来补偿神经元形态应用的pcm漂移。然而,在这方面存在挑战。例如,以不同的速度漂移:高r(电阻)状态漂移更快;同时,低r状态漂移更慢。此外,构成神经
元形态网络结构的阵列中存在未知的电阻器值。
27.图1是电阻(r,以欧姆ω计)对时间(以秒计)的曲线图,并且用于描述在较高和较低电阻状态下的漂移。重置状态110通过r=ro(t/t0)v来描述,其中漂移系数v=0.11。如可以看到的,重置状态110在约5x106欧姆的时间是100秒处开始,并且向上移动直到约1x107欧姆的时间是104秒。对于设置状态120,其中v《0.01,设置状态具有在100至104秒的时间之间接近约8x103欧姆的低电阻。
28.为了解决诸如这些的问题,本文描述的示例性方法包括以下:
29.1)漂移总是在电阻增加的方向上;
30.2)在示例性实施例中,每几分钟单独地向每个pcm电阻器发送一次设置脉冲;并且
31.3)设置脉冲将使pcm结晶并且以补偿朝向高电阻的漂移的速率降低电阻。
32.存在实现这些和其他方法的以下描述的多个示例性实施例。
33.现在描述用于补偿神经元形态应用的pcm漂移的第一示例性实施例。参见图2,该图是用于补偿神经元形态应用的pcm漂移的示例性方法。还参考图3,结合图2对其进行解释。图3示出了用于基于图2的方法的神经元形态应用和脉冲高度的示例性电路。
34.在图3中,神经元形态网络结构300包括控制电路305和pcm阵列370。神经元形态网络结构300可为例如作为集成电路的一部分或全部的存储器电路(通常被称作存储器芯片)。在一个示例中,控制电路包括一个或多个处理器310、一个或多个存储器315和输入/输出(i/o)接口(i/f)325。一个或多个存储器包括在一个示例中体现为pcm漂移补偿程序320的程序指令。在此示例中,pcm漂移补偿程序320在由一个或多个处理器310执行时致使神经元形态网络结构300(例如,经由控制电路305)执行本文中所描述的操作(诸如在图2的框中)。在该实施例中,pcm漂移补偿程序320可以是可更新的并且包括计算机可读程序指令,其中存储器315是计算机可读存储媒质。另一可能性是pcm漂移补偿程序320可以完全在电路305中实现,诸如被实现为专用集成电路的一部分。又一个可能性是可以使用硬件和软件的某种组合。i/o i/f 325用于不同功能,诸如向字线340和位线345施加脉冲。图示的填充圆也可以被认为是用于接触对应的字线340/位线345的元件。
35.pcm阵列370包括pcm单元360的m(行)乘n(列)矩阵。在示例性实施例中,pcm阵列370是模拟相变存储器阵列。pcm可以是模拟的(许多状态)或数字的(两个状态)。漂移对于模拟存储器更加重要。数字pcm仍具有漂移问题,但存储器窗口通常是大的。然而,本文描述的示例也可以应用于这里,或应用于使用pcm的任何其他技术。在此实例中,每一行为字线340,且每一列为位线345。存在m条字线340和n条位线345。pcm单元360在字线340-(m-1)和位线324-2处示出,并且因此被称为pcm单元360-(m-1)(2)。该pcm单元360包括使用电阻器符号示出的选择晶体管390和对应的pcm 395。因为pcm 365经由电阻式存储器进行操作,所以这也将被称作pcm电阻器395。
36.还参考图2,在框210中,在每个时段(诸如每分钟或几十分钟)将相同的脉冲331顺序地发送到pcm阵列到单独的pcm电阻器395一次。通过“顺序地”,意味着设置脉冲331被发送到单独的pcm电阻器395中的一个,然后被发送到单独的pcm电阻器395中的另一个,
……
,并且该过程继续,直到非重叠的设置脉冲331已经被发送到一定数量的单独的pcm电阻器395。该操作由控制电路305执行,例如在pcm漂移补偿程序320的控制下。为了解决pcm电阻器395,对应的行的对应的开关335将被启用(例如,“关闭”)并且对应的选择晶体管390将被
启用。这允许行中的每个pcm电阻器395(作为字线340)被单独地寻址。通过“相同的”脉冲,意味着脉冲不需要从源改变。使用“相同的”脉冲是示例性实施例的主要优点。通常,将需要不同的脉冲来校正不同pcm单元的漂移。在这种情况下,对于大的阵列,控制电路变得极其复杂。示例性实施例的一个示例性益处在于可以向所有pcm单元发送相同的脉冲并且校正所有pcm单元。注意,由于产生相似脉冲时的正常变化,脉冲中可能存在微小差异,因此相同的设定脉冲可基本上但不完全相同。从用于产生脉冲的电路的角度来看,应该假设设置脉冲是相同的,但是实际脉冲包络可能稍微不同。
37.如框220中所说明,在字线340中添加外部电阻器330以形成可自动调谐施加到pcm电阻器395上的实际脉冲高度的分压器。外部电阻器330是补偿相关联的字线中的单元中的相变存储器电阻漂移的设备。外部电阻器330被称为“外部”(在此示例中),因为电阻器在pcm阵列370的外部。此实例说明用于pcm阵列370的单个电阻器330。还示出了对应的开关335-1,其允许电阻器330连接到字线340-1或从字线340-1断开。存在m个开关335,m个字线340中的每一个有一个。每个开关335连接到线331。如果存在用于每个字线340的开关335以在不同时间连接到该电阻器,则每个pcm阵列的这一个电阻器是合适的。如果该电阻器可被制成为可调谐的(例如,使用如图6所示的晶体管),则这可允许进一步调谐,例如,用于各个字线。
38.尽管在图3中仅示出了一个电阻器330-1和对应的开关335,但是字线340-1至340-m的每一个可以具有对应的电阻器330和开关335。图3a示出了这种可能性,其中,存在电阻器330-1至330-m,一个电阻器330用于对应的字线340-1至340-1m中的每一个。每个电阻器330耦合到线229并且具有对应的输出线331-1至331-m,该输出线耦合到对应的开关335-1至335-m。注意,图3a中所示的电路仅是一种可能性,并且可以使用其他电路。作为实例,开关335可放置在线229中(在电阻器33之前),或可进行其他变化。
39.至于时段,通过本文的示例性实施例,不需要每个时钟周期或每秒以脉冲发送。发送脉冲的频率取决于pcm的漂移系数和其他参数,并且可以相应地调谐。每几分钟(比如说3-5分钟)就是一个示例。还可以使用几分钟(例如,10或15或20分钟)。还有可能使用一小时(或甚至更长)。本领域技术人员应该能够容易地确定合适的时段。
40.如框230所示出的,脉冲高度由pcm单元360中的每个pcm电阻器395的r值来确定:大r获得高脉冲以补偿快速漂移;或者小r获得低脉冲以补偿缓慢漂移。不需要读出电阻器值。即,电压在pcm电阻器395与外部电阻器330之间分压。即使没有读出pcm电阻器值,但是可以使用外部电阻器330作为分压器将不同的电压施加到pcm电阻器395。
41.在图3(或图3a)的示例中,存在具有大r值的单元360-(1)(n)。所施加脉冲331(例如,由i/o i/f 325在pcm漂移补偿程序320的控制下施加到对应的字线340-1)被示出为具有带有高度h的包络332(例如,上升时间 持续时间 下降时间)。这经由分压器(以下描述)被转换成h1的实际脉冲高度,其接近高度h。这是大型r情况的示例。阵列中总是有大r和小r。本示例性技术自动应用于所有这些电阻器的任何对应的电阻值。还存在具有小r值的单元360-(x)(n),并且所施加的脉冲331经由分压器被转换成h2的实际脉冲高度,其约为高度h的一半。
42.关于脉冲331的形状(如包络线332所示),脉冲形状是可以诸如通过优化来修改的另一个参数。上升可能是急剧的。下降边缘应该足够长,导致结晶。这是正被使用的pcm单元
360的函数,并且本领域的技术人员可以基于正被使用的pcm单元360来确定包络332的参数。
43.转向图4,该图是示出了示例性实施例中所需的脉冲电压对pcm电阻器r的曲线图。此曲线图示出了基于pcm单元360中的pcm电阻器395的电阻r的一次更新的脉冲电压(例如,用于产生施加的脉冲331)的电压v。pcm电阻器的典型电阻通常从约(~)10kqhm变化到约100kqhm,但这些并不是限制性的。至于脉冲宽度,典型的逐步设置编程使用5至10ns(纳秒)。注意,该曲线图用于示出一般情况。基于电阻值计算电压。实际上,脉冲高度和持续时间应当适配于pcm设备(例如,pcm电阻器395)。应当注意,10kohm至110kohm的值仅仅是示例性的,并且将取决于实际的pcm单元。
44.参考图5,该图是用于生成不同pcm电阻器的所需输入电压的分压器电路。r
ex
是外部电阻器并且对应于电阻器330。使用两个变量(v
ap
和r
ex
),可以确定不同pcm电阻器的所需输入电压。分压器等式如下:
[0045][0046]
其中,r是pcm电阻器395,r
ex
是外部电阻器330,v
ap
是所施加的脉冲331的电压(例如,高度h),并且v是当脉冲到达对应的r时该脉冲的电压(例如,h1或h2)。
[0047]
使用它的一个实例如下。求解外部电阻器r
ex
和所施加的脉冲电压v
ap
,并且针对此示例性情况,可以确定r
ex
=3.8kohm,v
ap
=2.1v。要注意的是,图4提供两个端点:(10kohm,1.5v)和(100kohm,2v)。在以上等式中,可以使用这些中的每一个来提供一个部分完成的等式。这将产生具有两个未知数(r
ex
和v
ap
)的两个部分填充的方程,并且因此允许求解这两个未知数。
[0048]
注意,r
ex
和v
ap
的所有设计可在制作芯片(包括例如神经元形态网络结构300)之前执行。这是因为pcm电阻值是由该技术确定的并且具有一定范围。为了训练pcm漂移补偿应用320,为此还将使用特定电阻范围。如果pcm电阻超出该范围,则这将被编程到在该可用范围内的值。对于仅推断的实现,所有pcm电阻器值是固定的(应当将pcm电阻器预先编程到期望值)。因此,可以提前知道电阻值。还可能具有实际值的实现,其中,测量pcm电阻(例如,代替或除了pcm电阻的推理之外)。例如,使用pcm阵列的可变电阻器(诸如参照图6描述的晶体管)将允许发生实际值的实现。
[0049]
图6是用于补偿神经元形态应用的pcm漂移的另一示例的图示。该示例具有使用晶体管430替换图3的单个输入电阻器330的神经元形态网络结构300-1。晶体管430是补偿相关联的字线中的单元中的相变存储器电阻漂移的设备,例如,并且如图2的框220中那样作为电阻器操作。晶体管430(诸如430-1)的电阻可通过栅极电压vg来调谐,栅极电压vg由控制电路305(与源极/漏极电压v
sd
一起)供应,例如在pcm漂移补偿程序320的控制下。该晶体管430可以用作非线性电阻器,并且可以基于例如字线来施加。即,按照图2的框230,可以基于字线改变晶体管430的电阻。
[0050]
要注意的是,对于每个字线,可具有单个晶体管,与在图3a中所示的电阻器330相似。还可以在应用中使用晶体管和电阻器两者。此外,尽管(一个或多个)字线340已用于将(一个或多个)电阻器330耦合到pcm单元360,但还可使用(一个或多个)位线345而不是(一个或多个)字线340来将(一个或多个)电阻器330耦合到pcm单元360。
[0051]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储媒质(或多个媒质)。
[0052]
计算机可读存储媒体可为可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储媒质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0053]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。
[0054]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c 等)、以及常规的过程式程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0055]
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0056]
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储媒质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制
造品。
[0057]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0058]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献