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

一种存储器及神经形态芯片的制作方法

2021-02-18 21:16:00 来源:中国专利 TAG:芯片 形态 器及 神经 实施


[0001]
本发明实施例涉及芯片技术领域,尤其涉及一种存储器及神经形态芯片。


背景技术:

[0002]
按照数据存储时长,存储器可以分为易失性存储器和非易失性存储器。其中,易失性存储器中的数据在掉电后无法长时间保留,非易失性存储器中的数据在掉电后能够长时间保留。然而,当非易失性存储器微缩到几十纳米甚至更小的时候,其非易失性受到极大的挑战,非易失性存储器往往需在存储密度和数据保存时间之间进行折中。


技术实现要素:

[0003]
本发明实施例提供一种存储器及神经形态芯片,可以根据实际应用情况灵活地调整数据存储时长,利用电路补偿的方式实现长期的数据保存。
[0004]
第一方面,本发明实施例还提供了一种存储器,包括:相连的非易失性存储单元和刷新电路;
[0005]
其中,所述刷新电路用于读取所述非易失性存储单元中的存储数据,并将所述存储数据写回所述非易失性存储单元。
[0006]
进一步的,上述存储器还包括:控制单元;
[0007]
所述控制单元与所述刷新电路相连,用于控制所述刷新电路的工作状态;
[0008]
其中,所述工作状态至少包括刷新频率。
[0009]
进一步的,上述存储器还包括:计时器,所述计时器分别与所述控制单元、所述刷新电路相连;
[0010]
所述控制单元,还用于控制所述计时器的计时周期,以触发所述刷新电路以与所述计时周期匹配的刷新频率读取所述非易失性存储单元中的存储数据,并将所述存储数据写回所述非易失性存储单元。
[0011]
进一步的,所述控制单元还用于控制所述刷新电路读取所述非易失性存储单元中目标存储区域中的存储数据,并将所述存储数据写回所述非易失性存储单元中所述目标存储区域。
[0012]
进一步的,所述非易失性存储单元包括非易失性存储器阵列和预设类型控制器;其中,所述预设类型控制器用于提供预设协议类型的接口。
[0013]
进一步的,所述预设协议类型至少包括下述之一:静态随机存取存储器接口协议和增强动态随机存取存储器接口协议。
[0014]
进一步的,所述刷新电路的刷新频率为分钟级别或者小时级别。
[0015]
第二方面,本发明实施例还提供了一种神经形态芯片,包括:至少一个本发明任意实施例所述的存储器。
[0016]
进一步的,当所述存储器的数量为一个时,所述存储器以总线连接形式与所述芯片中的每个神经元计算核心连接。
[0017]
进一步的,当所述存储器的数量为多个时,所述存储器与所述芯片中的多个神经元计算核心呈分布式对应连接。
[0018]
进一步的,一个所述存储器嵌入式地分布在一个或者指定的多个所述神经元计算核心区域。
[0019]
本发明实施例提供的存储器,包括相连的非易失性存储单元和刷新电路,刷新电路读取非易失性存储单元中的存储数据之后并将所述存储数据写回非易失性存储单元中,在非易失性存储单元面积固定的情况下,增加了非易失性存储单元中存储数据的存储时长,达到了灵活调整数据存储时长的技术效果。
附图说明
[0020]
图1是本发明实施例一中的一种存储器的结构示意图;
[0021]
图2是本发明实施例一中的一种存储器的结构示意图;
[0022]
图3是本发明实施例一中的一种存储器中非易失性存储单元的结构示意图;
[0023]
图4是本发明实施例二中的一种神经形态芯片的结构示意图;
[0024]
图5是本发明实施例二中的一种神经形态芯片的结构示意图;
[0025]
图6是本发明实施例二中的一种神经形态芯片的结构示意图;
[0026]
图7是本发明实施例二中的一种神经形态芯片的结构示意图。
具体实施方式
[0027]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0028]
实施例一
[0029]
图1是本发明实施例一中的一种存储器的结构示意图,可适用于任意装置中,例如,神经形态芯片、传统芯片等。如图1所示,本实施例提供的存储器10,包括:相连的非易失性存储单元100和刷新电路200。其中,刷新电路200用于读取非易失性存储单元100中的存储数据,并将所述存储数据写回非易失性存储单元100。
[0030]
非易失性存储单元100,可以包括但不限于flash闪存、相变存储器、铁电存储器fram、阻变存储器rram、磁存储器mram、自旋存储器stt-ram及光存储器中的一种或多种。
[0031]
刷新电路200,用于对非易失性存储单元100中的存储数据进行刷新,读取非易失性存储单元100中的存储数据,并将读取的存储数据写回非易失性存储单元100中,以延长非易失性存储单元100存储所述存储数据的存储时长。
[0032]
本公开实施例的存储器通过刷新电路读取非易失性存储单元中的存储数据,并将所述存储数据写回非易失性存储单元,利用电路补偿的方式实现长期的数据保存,能够实现根据实际应用情况灵活地调整数据存储时长,提高存储器的使用灵活性。本公开实施例的存储器可以保证在微缩到几十纳米甚至更小的时候,仍具备较好的非易失性,可以适用于任意场景,且本公开存储器可用于存储任意类型的数据。
[0033]
举例来说,在神经网络计算场景中,非易失性存储单元100中可以存储神经元计算核心的相对稳定数据,例如可以存储神经元计算核心的连接权重、网络连接方式、神经元激
活函数和初始化信息等中的一种或多种,可以通过刷新电路保证相对稳定数据得以较长时间存储在存储器中。可选的,在神经网络计算场景中,本公开实施例的存储器还可以用于存储相对动态的数据,例如,输入的待处理数据等。存储器还可以同时存储相对稳定的数据以及动态数据,例如,可以部分存储空间用于存储相对稳定的数据,其余存储空间用于存储动态数据,刷新电路用于读取相对稳定的存储数据,并将读取的存储数据写回,本公开对此不做限制。
[0034]
可选的,刷新电路200的刷新频率为分钟级别或者小时级别,也即每几分钟或每几小时将非易失性存储单元100中存储数据的刷新一次。
[0035]
以非易失性存储单元100为mram为例,marm的数据存储时长与其材料和面积有关。假设,mram的数据存储时长为10分钟,那么可以将刷新电路200的刷新频率设置为每10分钟一次,刷新电路200每10分钟执行一次如下操作:将非易失性存储单元100中的存储数据读取出来,并将读取的存储数据写回非易失性存储单元100中。
[0036]
可选的,刷新电路200的刷新频率也可以设置为秒级别或者天级别,具体可视非易失性存储单元100的数据存储时长而定,本实施例对此不作具体限定。
[0037]
相比较于刷新频率为毫秒级别的dram(dynamic random access memory,动态随机存取存储器),本实施例提供的存储器由于数据刷新消耗的功率会更低。
[0038]
本发明实施例提供的存储器,包括相连的非易失性存储单元和刷新电路,刷新电路读取非易失性存储单元中的存储数据之后并将所述存储数据写回非易失性存储单元中,在非易失性存储单元面积固定的情况下,有效增加了非易失性存储单元中存储数据的存储时长,达到了灵活调整数据存储时长的技术效果。
[0039]
在实际应用中,当非易失性存储单元的面积固定时,非易失性存储单元的存储时长也是固定的,例如是几分钟或者几小时。通过刷新电路对非易失性存储单元中数据进行刷新,灵活调整了非易失性存储单元中存储数据的存储时长,进而能够以较小的存储面积实现较长的存储效果,提升了存储器“非易失”的效果。同时,鉴于非易失性存储单元的存储数据是通过刷新电路进行刷新的,并非一成不变地长期存储,在一定程度上来讲也可以是“易失”的,也即本实施例提供的存储器可以基于“非易失性单元”和刷新电路来实现“易失性”的效果,也可以实现“非易失”的效果,存储器的使用灵活度较高。
[0040]
举例来说,存储器的非易失性存储单元100能够存储的时长为10分钟,若需要存储器存储的时长大于10分钟,则可以通过刷新电路执行读取非易失性存储单元100中的存储数据,并将所述存储数据写回非易失性存储单元100的刷新操作。可选的,刷新电路可以按照刷新频率,执行至少一次刷新操作。例如,可以是每8分钟刷新一次,以保证存储器不丢失该存储数据。
[0041]
在一些可选的实施例中,若需要存储器存储的时长小于或者等于10分钟,则刷新电路的刷新频率为0,存储器可以存储10分钟,实现“易失性”的效果。
[0042]
这样,本公开实施例的存储器可以灵活适用于各类存储场景。其中,非易失性存储单元的面积大小、能够存储的时长可以根据适用场景的面积约束、定制需求、成本考虑等因素灵活设置,本公开对此不做限制。
[0043]
进一步的,在一种可选的实施方式中,如图2所示,存储器10还包括:控制单元300,控制单元300与刷新电路200相连,用于控制刷新电路200的工作状态,其中,所述工作状态
至少包括刷新频率。
[0044]
在本实施方式中,可以通过控制单元300对刷新电路200的刷新频率进行控制。可选的,控制单元300以软件和/或硬件的形式实现。刷新频率可以是外部确定并发送给控制单元的,也可以是控制单元根据非易失性存储单元的存储时长以及待存储的时长确定的,例如,在待存储的时长小于非易失性存储单元的存储时长时,可以确定刷新频率为0,在待存储的时长大于或等于非易失性存储单元的存储时长时,可以根据非易失性存储单元的存储时长,确定刷新频率,例如,非易失性存储单元的存储时长为1小时,刷新频率可以是每55分钟刷新一次,以保证数据可以长期保存,本公开对此不做限制。
[0045]
当控制刷新电路200的刷新频率为零时,刷新电路200停止工作,也即不会对非易失性存储单元100中的存储数据进行更新。当控制刷新电路200的刷新频率非零时,刷新电路200开始工作,按照刷新频率对非易失性存储单元100中的存储数据进行更新。
[0046]
在一些可选的应用场景中,举例来讲,存储器所在芯片用于处理简单神经网络时,权重数据量较小或者权重更新比较频繁时,可以通过控制单元300将刷新电路200的刷新频率设置为零,刷新电路停止工作。当权重需要更新时,通过芯片中的读电路在芯片外ddr sdram(double data rate synchronous dynamic random access memory,双倍数据率同步动态随机存取存储器)中读取更新后的权重并写入非易失性存储单元100即可。
[0047]
可选的,工作状态还可以包括刷新次数,刷新次数可以是外部系统确定并发送给控制电路的,也可以是控制电路根据待存储的时长以及刷新频率确定的,本公开对此不做限制。
[0048]
进一步的,如图2所示,存储器100还包括:计时器400,计时器400分别与控制单元300、刷新电路200相连;相应的,控制单元300,还用于控制计时器400的计时周期,以触发刷新电路200以与计时周期匹配的刷新频率读取非易失性存储单元100中的存储数据,并将所述存储数据写回非易失性存储单元100。
[0049]
控制单元300可以调整计时器400的计时周期,以实现对刷新电路200的刷新频率的调整。例如,当控制单元300将计时器400的计时周期设置为2分钟时,则刷新电路200的刷新频率为每2分钟刷新一下。
[0050]
可选的,计时器400每次计时到设置的计时周期时,向刷新电路200发送刷新触发信号,刷新电路200接收到该刷新触发信号之后,执行对非易失性存储单元100中的存储数据进行更新的操作。
[0051]
在一种可选的实施方式中,控制单元300还用于控制刷新电路200读取非易失性存储单元100中目标存储区域中的存储数据,并将所述存储数据写回非易失性存储单元100中所述目标存储区域。
[0052]
控制单元300发送给刷新电路200的控制指令中可以包括寻址地址,以使刷新电路200根据该寻址地址读取非易失性存储单元100中的存储数据,也即读取非易失性存储单元100中与该寻址地址对应的存储区域中的存储数据,并读取到的存储数据写回非易失性存储单元100中对应的存储区域中。其中,控制单元300发送给刷新电路200的控制指令中的寻址地址可以动态设置。
[0053]
在上述实施方式中,根据控制单元的控制,刷新电路可以选取非易失性存储单元中的部分存储数据进行更新,以提升这部分存储数据的存储时长,对于不需要长时存储的
数据则不进行更新处理,灵活性较高,也在一定程度上降低了刷新功耗。
[0054]
在一种可选的实施方式中,如图3所示,非易失性存储单元100包括非易失性存储器阵列101和预设类型控制器102;其中,预设类型控制器102用于提供预设协议类型的接口。
[0055]
进一步的,所述预设协议类型至少包括下述之一:静态随机存取存储器(static random-access memory,sram)接口协议和增强动态随机存取存储器(edram,enhanced dynamic random access memory)接口协议。
[0056]
在本实施方式中,非易失性存储单元100的对外接口是通过其包括预设类型控制器102实现的,用于实现与芯片内其他器件的对接。
[0057]
例如,非易失性存储单元100中包括的预设类型控制器102为类sram控制器,由类sram控制器提供非易失性存储单元100的对外接口,也即非易失性存储单元100的对外接口为sram接口。
[0058]
又例如,非易失性存储单元100中包括的预设类型控制器102为类edram控制器,由类edram控制器提供非易失性存储单元100的对外接口,也即非易失性存储单元100的对外接口为edram接口。
[0059]
鉴于预设类型控制器102提供的接口通常为通用型接口,进而非易失性存储单元100的对外接口的协议为通用的接口协议,如sram接口协议或edram接口协议等,因此,开发人员在进行芯片开发时无需对非易失性存储单元100的接口进行特殊处理,以此降低了开发人员在芯片进行功能性开发时的工作复杂度。
[0060]
实施例二
[0061]
图4是本发明实施例二中的一种神经形态芯片的结构示意图,适用于神经网络计算的情况。如图4所示,本实施例提供的神经形态芯片1,包括:至少一个本发明任意实施例所述的存储器10(图中以一个存储器10示出)。
[0062]
需要注意的是,图4所示的神经形态芯片仅是示例性地示出神经形态芯片包括存储器10和神经元计算核心50,并非是对神经形态芯片的结构进行具体限定。
[0063]
可选的,一个神经形态芯片1中可以包括一个或多个存储器10。当一个神经形态芯片1中只包括一个本公开实施例的存储器10时,该存储器10中的存储数据可以被多个神经元计算核心共同使用;当一个神经形态芯片1中包括多个存储器10时,每个存储器10中的存储数据可以被一个神经元计算核心单独使用,例如,存储器10与神经元计算核心一一对应,一个存储器10也可以被多个神经元计算核心共同使用,也可以是多个存储器10中部分存储器的存储数据被一个神经元计算核心使用。
[0064]
在一种可选的实施方式中,如图5所示,当神经形态芯片1中包括的存储器10的数量为一个时,存储器10以总线连接形式与神经形态芯片1中的每个神经元计算核心50连接。
[0065]
在上述实施方式中,存储器10的数量只有一个,故其存储数据是芯片全局性的,供神经形态芯片1中的所有神经元计算核心50(神经元众核)共用。进而,针对各神经元计算核心都需要使用的数据无需多次重复存储,以此减小了神经形态芯片中的数据存储面积,也减小了神经形态芯片的尺寸。另外,在存储器10的存储面积较小时,存储器接口也会占用相当大比例的面积,减少了存储器10的数量,也就减小了存储器接口的数量,相对提高了数据存储区域面积占存储器总面积的比例,进而提升了神经形态芯片中存储器的有效使用面
积。
[0066]
进一步的,如图5所示,神经形态芯片1中还可以包括易失性存储器60,也可以以总线连接形式与神经形态芯片1中的每个神经元计算核心50连接。其中,易失性存储器60和存储器10用于存储述神经元计算核心不同运算阶段的数据。
[0067]
可以理解为,在多个并行神经元计算核心下,运算过程既会产生数据量大、数据频繁变化但不需要长时间保存的中间数据,也会产生数据变化不频繁、需要长时间保存、掉电保存的关键数据。
[0068]
每个神经元计算核心既需要易失性存储器60作为内存缓冲计算中间变量,也需要存储器10作为硬盘存储神经元连接模式、连接权重等需要长久保存的数据,以保证芯片在掉电后能保存重要的网络模型数据,以及在上电后能够迅速加载数据工作。
[0069]
可选的,存储器10用于存储神经元计算核心的相对稳定数据,易失性存储器60用于存储神经元计算核心的相对动态数据。其中,相对稳定数据可以定义为需要重复使用的数据,例如连接权重、网络连接方式、神经元激活函数和初始化信息中的一种或多种;相对动态数据可以定义为不需要重复使用的数据,例如外部数据源(上位机或者外部只读存储器)输入的数据或网络计算的中间值等。
[0070]
在一种可选的实施方式中,还可以是神经形态芯片1中包括的存储器10用于存储相对稳定和相对动态的数据。例如,当存储器10为一个时,可以是该存储器的部分存储空间用于存储相对稳定的数据,其余存储空间用于存储相对动态的数据。当存储器10为多个时,可以是部分存储器用于存储相对稳定的数据,其余存储器用于存储相对动态的数据。
[0071]
在一种可选的实施方式中,如图6所示,当神经形态芯片1中包括的存储器10的数量为多个时,存储器10与神经形态芯片1中的多个神经元计算核心50呈分布式对应连接。可以理解的是,神经元计算核心50中包括用于数据处理的计算单元51。
[0072]
在本实施方式中,存储器10分布式地引入到神经形态芯片1内部,可以作为神经元计算核心50的功能单元,以实现存储器10的分布式嵌入分布。嵌入的分布式存储器10与神经形态芯片架构的多个神经元计算核心50分布式对应连接,形成独立的对应关系。即,保证每个分布式的存储器10仅对应连接一个或者有限的多个神经元计算核心50。
[0073]
对应的,对于计算量较大的神经元计算核心,也可以将数据对应存储在一个或者多个分布式的存储器10中。相应的,使每个神经元计算核心对应连接一个或者有限的多个分布式的存储器10。
[0074]
在上述实施方式中,存储器10可以是小容量的,内置于神经元计算核心中,作为独立的非易失性存储器,以使每个(或者有限多个)神经元计算核心内部既包含独立的易失性存储器,也包含独立的非易失性存储器,能够有效缓解数据通信带宽的限制问题,提高系统的稳定性、可靠性和处理效率。
[0075]
在一种可选的实施方式中,如图7所示的神经形态芯片,一个存储器10嵌入式地分布在一个或者指定的多个神经元计算核心50区域。其中,在如图7中,示例性地分别示出了一个存储器10嵌入式地分布在一个、两个、三个以及四个指定的多个神经元计算核心50区域的情形。
[0076]
在本实施方式提供的神经形态芯片架构中,存储器10在芯片架构中进行嵌入式分布的形式可以为,以芯片架构中的多个神经元计算核心为基础,按照每个存储器10分别对
应一个,或者同时对应附近指定多个神经元计算核心进行嵌入分布。即在具有大规模并行计算或功能核的系统中,每个嵌入分布式的存储器10供单个或者若干个神经元计算核心共用。
[0077]
其中,每个存储器10和与之连接的神经元计算核心间具有独立的数据通道。
[0078]
本实施方式中,将存储器10分布式地引入到神经形态芯片中,作为内部神经元计算核心的功能单元,使每个神经元计算核心与对应的存储器10具有独立的数据通道,以此解决了在线学习时频繁更新权重带来的数据通信瓶颈问题。
[0079]
进一步的,如图7所示,所述芯片构架还包括分别与每个所述神经元计算核心对应的易失性存储器60,其中,易失性存储器60和存储器10用于存储神经元计算核心不同运算阶段的数据。
[0080]
每个神经元计算核心(或若干个神经元计算核心)使用单个存储器10存储不同的数据,用于该单个神经元计算核心(或若干个神经元计算核心)的运行。同时,对于每个神经元计算核心,内部还需包含有易失性存储器60,包括但不限于静态随机存取存储器、寄存器等,与存储器10配合。
[0081]
可选的,易失性存储器60用于存储神经元计算核心的计算缓存和当前神经元状态中的一种或多种。为了进行合理地数据分配,对于内部的易失性存储器60,神经元计算核心会存储其计算缓存、当前神经元状态(膜电位)等运行时产生的中间变量,其特点是数据量大、数据频繁变化但不需要长时间保存。
[0082]
上述神经形态芯片中,包括一个或多个本发明任意实施例所提供的包括非易失性存储单元和刷新电路的存储器,具备与该存储器相应的有效效果。未在本实施例中详尽描述的技术细节,可参见前述实施例。
[0083]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜