深度学习人工神经网络中的模拟神经存储器的编程的精确调谐制造技术

技术编号:28635601 阅读:12 留言:0更新日期:2021-05-28 16:33
本发明专利技术公开了用于将正确的电荷量精确快速地沉积在人工神经网络中的矢量‑矩阵乘法(VMM)阵列内非易失性存储器单元的浮栅上的精确调谐算法和装置的多个实施方案。因此,可极精确地对所选单元进行编程,以保持N个不同值中的一个值。

【技术实现步骤摘要】
【国外来华专利技术】深度学习人工神经网络中的模拟神经存储器的编程的精确调谐优先权声明本申请要求于2018年10月16日提交的标题为“PrecisionTuningFortheProgrammingOfAnalogNeuralMemoryInADeepLearningArtificialNeuralNetwork”的美国临时专利申请号62/746,470和于2018年12月21日提交的标题为“PrecisionTuningFortheProgrammingOfAnalogNeuralMemoryInADeepLearningArtificialNeuralNetwork”的美国专利申请号16/231,231的优先权。
本专利技术公开了用于将正确的电荷量精确快速地沉积在人工神经网络中的矢量-矩阵乘法(VMM)阵列内非易失性存储器单元的浮栅上的精度调谐算法和装置的多个实施方案。
技术介绍
人工神经网络模拟生物神经网络(动物的中枢神经系统,特别是大脑),并且用于估计或近似可取决于大量输入并且通常未知的函数。人工神经网络通常包括互相交换消息的互连“神经元”层。图1示出了人工神经网络,其中圆圈表示神经元的输入或层。连接部(称为突触)用箭头表示,并且具有可以根据经验进行调整的数值权重。这使得神经网络适应于输入并且能够学习。通常,神经网络包括多个输入的层。通常存在神经元的一个或多个中间层,以及提供神经网络的输出的神经元的输出层。处于每一级别的神经元分别地或共同地根据从突触所接收的数据作出决定。在开发用于高性能信息处理的人工神经网络方面的主要挑战中的一个挑战是缺乏足够的硬件技术。实际上,实际神经网络依赖于大量的突触,从而实现神经元之间的高连通性,即非常高的计算并行性。原则上,此类复杂性可通过数字超级计算机或专用图形处理单元集群来实现。然而,相比于生物网络,这些方法除了高成本之外,能量效率也很普通,生物网络主要由于其执行低精度的模拟计算而消耗更少的能量。CMOS模拟电路已被用于人工神经网络,但由于给定大量的神经元和突触,大多数CMOS实现的突触都过于庞大。申请人先前在美国专利申请第15/594,439号中公开了一种利用一个或多个非易失性存储器阵列作为突触的人工(模拟)神经网络,该专利申请以引用方式并入本文。非易失性存储器阵列作为模拟神经形态存储器操作。神经网络设备包括被配置成接收第一多个输入并从其生成第一多个输出的第一多个突触,以及被配置成接收第一多个输出的第一多个神经元。第一多个突触包括多个存储器单元,其中存储器单元中的每个存储器单元包括:形成于半导体衬底中的间隔开的源极区和漏极区,其中沟道区在源极区和漏极区之间延伸;设置在沟道区的第一部分上方并且与第一部分绝缘的浮栅;以及设置在沟道区的第二部分上方并且与第二部分绝缘的非浮栅。多个存储器单元中的每个存储器单元被配置成存储与浮栅上的多个电子相对应的权重值。多个存储器单元被配置成将第一多个输入乘以所存储的权重值以生成第一多个输出。必须擦除和编程在模拟神经形态存储器系统中使用的每个非易失性存储器单元,以在浮栅中保持非常特定且精确的电荷量(即电子数量)。例如,每个浮栅必须保持N个不同值中的一个,其中N是可由每个单元指示的不同权重的数量。N的示例包括16、32、64、128和256。VMM系统中的一个挑战是能够以不同N值所需的精度和粒度对所选单元进行编程。例如,如果所选单元可包括64个不同值中的一个值,则在编程操作中需要极端精度。所需要的是适于与模拟神经形态存储器系统中的VMM一起使用的改进的编程系统和方法。
技术实现思路
本专利技术公开了用于将正确的电荷量精确快速地沉积在人工神经网络中的矢量-矩阵乘法(VMM)阵列内非易失性存储器单元的浮栅上的精确调谐算法和装置的多个实施方案。因此,可极精确地对所选单元进行编程,以保持N个不同值中的一个值。附图说明图1为示出人工神经网络的示意图。图2示出现有技术分裂栅闪存存储器单元。图3示出另一现有技术分裂栅闪存存储器单元。图4示出另一现有技术分裂栅闪存存储器单元。图5示出另一现有技术分裂栅闪存存储器单元。图6为示出利用一个或多个非易失性存储器阵列的示例性人工神经网络的不同级的示意图。图7为示出矢量-矩阵乘法系统的框图。图8为示出利用一个或多个矢量-矩阵乘法系统的示例性人工神经网络的框图。图9示出矢量-矩阵乘法系统的另一实施方案。图10示出矢量-矩阵乘法系统的另一实施方案。图11示出矢量-矩阵乘法系统的另一实施方案。图12示出矢量-矩阵乘法系统的另一实施方案。图13示出矢量-矩阵乘法系统的另一实施方案。图14示出了现有技术的长短期存储器系统。图15示出了在长短期存储器系统中使用的示例性单元。图16示出了图15的示例性单元的一个实施方案。图17示出了图15的示例性单元的另一个实施方案。图18示出了现有技术的栅控递归单元系统。图19示出了在栅控递归单元系统中使用的示例性单元。图20示出了图19的示例性单元的一个实施方案。图21示出了图19的示例性单元的另一个实施方案。图22A示出了对非易失性存储器单元进行编程的方法的实施方案。图22B示出了对非易失性存储器单元进行编程的方法的另一实施方案。图23示出了粗略编程方法的一个实施方案。图24示出了在非易失性存储器单元的编程中使用的示例性脉冲。图25示出了在非易失性存储器单元的编程中使用的示例性脉冲。图26示出了用于编程非易失性存储器单元的校准算法,该校准算法基于该单元的斜率特征来调整编程参数。图27示出了在图26的校准算法中使用的电路。图28示出了用于编程非易失性存储器单元的校准算法。图29示出了在图28的校准算法中使用的电路。图30示出了在编程操作期间施加到非易失性存储器单元的控制栅的电压的示例性累进。图31示出了在编程操作期间施加到非易失性存储器单元的控制栅的电压的示例性累进。图32示出了用于在矢量-乘法矩阵系统内的非易失性存储器单元的编程期间施加编程电压的系统。图33示出了电荷求和器电路。图34示出了电流求和器电路。图35示出了数字求和器电路。图36A示出了用于神经元输出的积分型模数转换器的一个实施方案。图36B示出了示出图36A的积分型模数转换器的电压输出随时间变化的曲线图。图36C示出了用于神经元输出的积分型模数转换器的另一实施方案。图36D示出了示出图36C的积分型模数转换器的电压输出随时间变化的曲线图。图36E示出了用于神经元输出的积分型模数转换器的另一实施方案。图36F示出了用于神经元输出的积分型模数转换器的另一实施方案。图37A和37B示出了神经元输出的逐次逼近型模数转换器。图38示出了Σ-Δ型模数转换器的一个本文档来自技高网
...

【技术保护点】
1.一种对所选择的非易失性存储器单元进行编程以存储N个可能值中的一个可能值的方法,其中N是大于2的整数,所述所选择的非易失性存储器单元包括浮栅,所述方法包括:/n执行粗略编程过程,包括:/n选择M个不同电流值中的一个电流值作为第一阈值电流值,其中M<N;/n向所述浮栅添加电荷;并且/n重复所述添加步骤,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于所述第一阈值电流值;以及/n执行精确编程过程,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于第二阈值电流值。/n

【技术特征摘要】
【国外来华专利技术】20181016 US 62/746,470;20181221 US 16/231,2311.一种对所选择的非易失性存储器单元进行编程以存储N个可能值中的一个可能值的方法,其中N是大于2的整数,所述所选择的非易失性存储器单元包括浮栅,所述方法包括:
执行粗略编程过程,包括:
选择M个不同电流值中的一个电流值作为第一阈值电流值,其中M<N;
向所述浮栅添加电荷;并且
重复所述添加步骤,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于所述第一阈值电流值;以及
执行精确编程过程,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于第二阈值电流值。


2.根据权利要求1所述的方法,所述方法还包括:
执行第二精确编程过程,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于第三阈值电流值。


3.根据权利要求1所述的方法,其中所述精确编程过程包括向所述所选择的非易失性存储器单元的控制栅施加量值递增的电压脉冲。


4.根据权利要求1所述的方法,其中所述精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加持续时间递增的电压脉冲。


5.根据权利要求2所述的方法,其中所述第二精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加量值递增的电压脉冲。


6.根据权利要求2所述的方法,其中所述第二精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加持续时间递增的电压脉冲。


7.根据权利要求1所述的方法,其中所述所选择的非易失性存储器单元包括浮栅。


8.根据权利要求7所述的方法,其中所述所选择的非易失性存储器单元为分裂栅闪存存储器单元。


9.根据权利要求1所述的方法,其中所述所选择的非易失性存储器单元在模拟存储器深度神经网络中的矢量-矩阵乘法阵列中。


10.根据权利要求1所述的方法,所述方法还包括:
在执行所述粗略编程过程之前:
将所述所选择的非易失性存储器单元编程至“0”状态;以及
将所述所选择的非易失性存储器单元擦除至弱擦除电平。


11.根据权利要求1所述的方法,所述方法还包括:
在执行所述粗略编程过程之前:
将所述所选择的非易失性存储器单元擦除至“1”状态;以及
将所述所选择的非易失性存储器单元编程至弱编程电平。


12.根据权利要求1所述的方法,所述方法还包括:
对所述所选择的非易失性存储器单元执行读取操作;
使用积分型模数转换器对在所述读取操作期间由所述所选择的非易失性存储器单元消耗的所述电流进行积分以生成数字位。


13.根据权利要求1所述的方法,所述方法还包括:
对所述所选择的非易失性存储器单元执行读取操作;
使用Σ-Δ型模数转换器将在所述读取操作期间由所述所选择的非易失性存储器单元消耗的所述电流转换为数字位。


14.一种对所选择的非易失性存储器单元进行编程以存储N个可能值中的一个可能值的方法,其中N是大于2的整数,所述所选择的非易失性存储器单元包括浮栅和控制栅,所述方法包括:
执行粗略编程过程,包括:
将第一编程电压施加到所述所选择的非易失性存储器单元的所述控制栅;
通过所述所选择的非易失性存储器单元施加第一值的电流并确定所述控制栅的第一值;
通过所述所选择的非易失性存储器单元施加第二值的电流并确定所述控制栅的第二值;
基于所述第一值和所述第二值确定斜率值;
基于所述斜率值确定下一个编程电压值;
从所述所选择的非易失性存储器单元的所述浮栅添加电荷量,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于第一阈值电流值;以及
执行精确编程过程,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于第二阈值电流值。


15.根据权利要求14所述的方法,所述方法还包括:
执行第二精确编程过程,直到在验证操作期间通过所述所选择的非易失性存储器单元的电流小于或等于第三阈值电流值。


16.根据权利要求14所述的方法,其中所述精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加量值递增的电压脉冲。


17.根据权利要求14所述的方法,其中所述精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加持续时间递增的电压脉冲。


18.根据权利要求15所述的方法,其中所述精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加量值递增的电压脉冲。


19.根据权利要求15所述的方法,其中所述精确编程过程包括向所述所选择的非易失性存储器单元的所述控制栅施加持续时间递增的电压脉冲。


20.根据权利要求14所述的方法,其中所述所选择的非易失性存储器单元包括浮栅。


21.根据权利要求20所述的方法,其中所述所选择的非易失性存储器单元为分裂栅闪存存储器单元。


22.根据权利要求14所述的方法,其中所述所选择的非易失性存储器单元在模拟存储器深度神经网络中的矢量-矩阵乘法阵列中。


23.根据权利要求14所述的方法,所述方法还包括:
在执行所述粗略编程过程之前:
将所述所选择的非易失性存储器单元编程至“0”状态;以及
将所述所选择的非易失性存储器单元擦除至弱擦除电平。


24.根据权利要求14所述的方法,所述方法还包括:
在执行所述粗略编程过程之前:
将所述所选择的非易失性存储器单元擦除至“1”状态;以及
将所述所选择的非易失性存储器单元编程至弱编程电平。


25.根据权利要求14所述的方法,所述方法还包括:
对所述所选择的非易失性存储器单元执行读取操作;
使用积分型模数转换器对在所述读取操作期间由所述所选择的非易失性存储器单元消耗的所述电流进行积分以生成数字位。


26.根据权利要求14所述的方法,所述方法还包括:
对所述所选择的非易失性存储器单元执行读取操作;
使用Σ-Δ型模数转换器将在所述读取操作期间由所述所选择的非易失性存储器单元消耗的所述电流转换为数字位。


27....

【专利技术属性】
技术研发人员:H·V·特兰S·莱姆克V·蒂瓦里N·多M·雷顿
申请(专利权)人:硅存储技术股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1