CN111406265A - 具有非易失性突触阵列的神经网络电路 - Google Patents
具有非易失性突触阵列的神经网络电路 Download PDFInfo
- Publication number
- CN111406265A CN111406265A CN201880076783.8A CN201880076783A CN111406265A CN 111406265 A CN111406265 A CN 111406265A CN 201880076783 A CN201880076783 A CN 201880076783A CN 111406265 A CN111406265 A CN 111406265A
- Authority
- CN
- China
- Prior art keywords
- electrically coupled
- line
- select transistor
- transistor
- output
- 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.)
- Granted
Links
- 210000000225 synapse Anatomy 0.000 title claims abstract description 167
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 47
- 210000004027 cell Anatomy 0.000 claims abstract description 77
- 230000008859 change Effects 0.000 claims abstract description 34
- 230000000946 synaptic effect Effects 0.000 claims abstract description 15
- 210000002569 neuron Anatomy 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 34
- 230000008878 coupling Effects 0.000 claims description 12
- 238000010168 coupling process Methods 0.000 claims description 12
- 238000005859 coupling reaction Methods 0.000 claims description 12
- 230000001537 neural effect Effects 0.000 claims description 6
- 239000010410 layer Substances 0.000 description 34
- 238000010586 diagram Methods 0.000 description 21
- 230000015654 memory Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 9
- 230000011664 signaling Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
Abstract
一种非易失性神经网络的非易失性突触电路。该突触包括:输入信号线(265);参考信号线(264);第一输出线和第二输出线(266和267);以及分别用于生成第一输出信号和第二输出信号的第一单元和第二单元(332和334)。第一单元(332)包括:上选择晶体管(311),该上选择晶体管具有电耦合至输入信号线(265)的栅极;以及电阻改变元件(313),该电阻改变元件具有串联连接至上选择晶体管(311)的一个端部和电耦合至参考信号线(264)的另一端部。电阻改变元件(313)的值能够被编程为改变输出信号(203)的大小。第一单元(332)的上选择晶体管(311)的漏极电耦合至第一输出线(266),并且第二单元(334)的选择晶体管(312)的漏极电耦合至第二输出线(267)。
Description
背景
技术领域
本发明涉及神经网络电路,且更具体地涉及具有使用模拟值的非易失性突触阵列的神经网络电路。
背景技术
人工神经网络(ANN)是模仿人脑的计算模型的神经网络。可以将神经网络描述为许多神经元,这些神经元之间通过突触相互连接。连接的强度或每个突触的权重参数可以作为可训练参数通过学习过程进行调整。近年来,使用ANN的人工智能(AI)已应用于各个领域,诸如视觉和听觉检测/识别、语言翻译、游戏、医疗决策、财务或天气预报、无人机、无人驾驶汽车等。
传统上,神经网络的计算需要具有多个中央处理单元(CPU)和/或图形处理单元(GPU)的高性能云服务器,这是因为:由于移动设备的有限的功率和计算资源,计算的复杂性禁止移动设备在本地运行AI程序。与这样的基于通用CPU和GPU的方法相比,通过专用的互补金属氧化物半导体(CMOS)逻辑来加速神经网络的计算的其他现有的专用集成电路(ASIC)或现场可编程门阵列(FPGA)方法可以是功率高效的,但是仍然要浪费不必要的功率和等待时间来将数据移至及移出对经训练的权重参数进行存储的单独的芯片外非易失性存储器(NVM)。如此,需要消耗明显更少的计算资源的神经网络电路。
发明内容
在本发明的一个方面,一种非易失性突触电路,包括:第一输入信号线,该第一输入信号线用于提供第一输入信号;参考信号线,该参考信号线用于提供参考信号;第一输出线和第二输出线,该第一输出线和第二输出线用于携载第一输出信号和第二输出信号;以及第一单元和第二单元,该第一单元和第二单元分别用于生成第一输出信号和第二输出信号。第一单元和第二单元中的每一者包括:第一上选择晶体管,该第一上选择晶体管具有电耦合至第一输入信号线的栅极;以及第一电阻改变元件,该第一电阻改变元件具有串联连接至第一上选择晶体管的一个端部以及电耦合至参考信号线的另一端部,其中,第一电阻改变元件的值能够编程为改变输出信号的大小。第一单元的第一上选择晶体管的漏极电耦合至第一输出线,并且第二单元的第一上选择晶体管的漏极电耦合至第二输出线。
一种用于对包括被布置成具有浮置栅极节点的一对晶体管的非易失性突触中的浮置栅极的阈值电压(VTH)进行编程的方法,包括:在所述一对晶体管上施加第一电脉冲,第一电信号具有第一高度和第一宽度;然后在将每个脉冲的高度相比于前一个脉冲增加预设值的同时在所述一对晶体管上施加第一脉冲序列,其中,第一脉冲序列的每个脉冲具有比第一宽度窄的第二宽度。这导致对浮置栅极节点上的电压进行编程。
在本发明的另一方面,一种非易失性神经网络,包括:第一神经阵列层,该第一神经阵列层包括第一组神经元;第二神经阵列层,该第二神经阵列层包括第二组神经元;以及突触阵列层,该突触阵列层设置在第一神经阵列层与第二神经阵列层之间,并且包括多个非易失性突触。突触阵列层中的每个非易失性突触电耦合至第一组第一神经元中的神经元和第二组神经元中的一个或更多个神经元,并且包括:第一输入信号线,该第一输入信号线用于接收来自第一组神经元中的神经元的第一输入信号;参考信号线,该参考信号线用于提供参考信号;第一输出线和第二输出线,通过该第一输出线和第二输出线来携载第一输出信号和第二输出信号,第一输出信号和第二输出信号被处理并传输至第二组神经元中的一个或更多个神经元;以及第一单元和第二单元,该第一单元和第二单元分别用于生成第一输出信号和第二输出信号。第一单元和第二单元中的每一者包括:第一上选择晶体管,该第一上选择晶体管具有电耦合至第一输入信号线的栅极;以及第一电阻改变元件,该第一电阻改变元件具有串联连接至第一上选择晶体管的一个端部以及电耦合至参考信号线的另一端部,其中,第一电阻改变元件的值能够编程为改变输出信号的大小。第一单元的第一上选择晶体管的漏极电耦合至第一输出线,并且第二单元的第一上选择晶体管的漏极电耦合至第二输出线。
附图说明
将参考本发明的实施方式,本发明的实施方式的示例可以在随附附图中示出。这些图旨在为说明性的,而非限制性的。尽管在这些实施方式的上下文中总体上描述了本发明,但是应当理解的是,不旨在将本发明的范围限制为这些特定实施方式。
图1示出了根据本公开的实施方式的神经网络的示意图。
图2示出了根据本公开的实施方式的突触阵列的示意图。
图3示出了根据本公开的实施方式的突触的示意图。
图4示出了根据本公开的实施方式的另一突触的示意图。
图5示出了根据本公开的实施方式的另一突触的示意图。
图6示出了根据本公开的实施方式的另一突触的示意图。
图7示出了根据本公开的实施方式的另一突触的示意图。
图8示出了根据本公开的实施方式的另一突触的示意图。
图9A至图9B示出了用于对阈值电压(VTH)进行编程的常规方法与根据本公开的实施方式的方法的比较。
图10A至图10B示出了根据本公开的实施方式的用于对浮置栅极节点的阈值电压(VTH)进行编程的另一种方法。
图11示出了根据本公开的实施方式的用于对浮置栅极节点的阈值电压(VTH)进行编程的说明性过程的流程图。
图12A至图12C示出了根据本公开的实施方式的差分信令。
图13示出了包括根据本公开的实施方式的神经网络的芯片的示意图。
图14示出了包括根据本公开的实施方式的非易失性突触阵列的神经网络的示意图。
具体实施方式
在以下描述中,出于说明的目的,阐述了具体细节以提供对本公开的理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些细节的情况下实践本公开。本领域技术人员将认识到,以下描述的本公开的实施方式可以以各种方式且使用各种手段来执行。本领域技术人员还将认识到,在本发明的范围内以及在本公开可以提供实用性的其他领域中存在其他改型、应用和实施方式。相应地,以下描述的实施方式说明了本公开的特定实施方式,并且意在避免使本公开含糊不清。
说明书中对“一个实施方式”或“实施方式”的引用意味着结合该实施方式描述的特定特征、结构、特性或功能包括在本公开的至少一个实施方式中。说明书中各个地方出现的短语“在一个实施方式中”、“在实施方式中”等不一定全都指同一实施方式。
图1示出了根据本公开的实施方式的神经网络100的示意图(在整个说明书中,相同的附图标记表示相同的元件)。如所描绘的,神经网络100可以包括五个神经元阵列层(或简称为神经元层)110、130、150、170和190,以及突触阵列层(或简称为突触层)120、140、160和180。神经元层中的每个神经元层(例如110)可以包括适当数量的神经元。在图1中,仅示出了五个神经元层和四个突触层。然而,对于本领域普通技术人员而言应当显而易见的是,神经网络100可以包括其他适当数量的神经元层,并且突触层可以设置在两个相邻的神经元层之间。
要指出的是,神经元层(例如,110)中的每个神经元(例如,112a)可以通过突触层(例如,120)中的m个突触连接至下一神经元阵列层(例如,130)中的神经元(例如,132a至132m)中的一个或更多个神经元。例如,如果神经元层110中的神经元中的每个神经元电耦合至神经元层130中的所有神经元,则突触层120可以包括n×m个突触。在实施方式中,每个突触可以具有描述两个神经元之间的连接强度的可训练的权重参数(w)。
在实施方式中,输入神经元信号(A输入)与输出神经元信号(A输出)之间的关系可以通过具有以下等式的激活函数来描述:
A输出=f(W×A输入+Bias) (1)
其中,A输入和A输出分别是表示至突触层的输入信号和来自突触层的输出信号的矩阵,W是表示突触层的权重的矩阵,并且Bias是表示A输出的偏差信号的矩阵。在实施方式中,W和Bias可以是可训练的参数并且被存储在逻辑友好的非易失性存储器(NVM)中。例如,训练/机器学习过程可以与已知数据一起使用以确定W和Bias。在实施方式中,函数f可以是非线性函数,诸如S型(sigmoid)、双曲正切(tanh)、修正线性单元(ReLU)、带泄露修正线性单元(leakyReLU)等。在实施方式中,当(W×A输入+Bias)大于特定阈值时,可以激活A输出。
作为示例,等式(1)中描述的关系可以示出用于具有两个神经元的神经元层110、突触层120和具有三个神经元的神经元层130。在该示例中,表示来自神经元阵列层110的输出信号的A输入可以被表示为2行乘1列的矩阵;表示来自突触层120的输出信号的A输出可以被表示为3行乘1列的矩阵;表示突触层120的权重的W可以被表示为具有6个权重值的3行乘2列的矩阵;并且表示添加至神经元层130的偏差值的Bias可以被表示为3行乘1列的矩阵。应用于等式(1)中的(W×A输入+Bias)的每个元素的非线性函数f可以确定A输出的每个元素的最终值。作为另一示例,神经元阵列层110可以接收来自传感器的输入信号,并且神经元阵列层190可以表示响应信号。
在实施方式中,神经网络100中可能有许多神经元和突触,并且等式(1)中的矩阵乘法和求和可能是会消耗大量计算资源的过程。在常规的内存中处理(processing-in-memory)计算方法中,计算设备使用模拟电气值而不是使用数字逻辑和算术组件来在NVM单元阵列内执行矩阵乘法。这些常规设计旨在通过减少CMOS逻辑与NVM组件之间的通信来减少计算负荷并降低功率要求。然而,由于大规模NVM单元阵列中的电流输入信号路径上的大的寄生电阻,这些常规方法易于在至每个突触的电流输入信号上具有大的变化。而且,通过大阵列中的半选择单元的潜电流(sneak current)改变了经编程的电阻值,从而导致不希望的编程干扰和神经网络计算精度的下降。
与常规方法不同,在实施方式中,功率高效的神经网络可以基于具有差分架构的逻辑友好的非易失性突触,其中,差分架构可以包括选择晶体管和逻辑友好的NVM。在实施方式中,全差分突触架构可以使作为乘法器的突触电路的运算范围加宽。与常规架构相比,在实施方式中,轻微的乘法误差对于补偿经训练的权重参数的某些水平的量化噪声可能是有益的。
如以下详细讨论的,在实施方式中,至突触层120、140、160和180中的每个突触的输入信号可以被引导至突触的选择晶体管的栅极端子,从而抑制乘法噪声。在实施方式中,乘法器电流可以大约是栅极端子电压乘以可变电阻器或NVM的电阻电平。
图2示出了根据本公开的实施方式的突触阵列200的示意图。如所描绘的,突触阵列200可以包括:布置成行和列的非易失性突触210;分别电耦合至列选择晶体管263的正输出电流线(位线)266;分别电耦合至列选择晶体管268的负输出电流线(位线反向线(位线互补线,Bit Line Bar line))267。在实施方式中,列选择晶体管263的漏极端子可以电耦合至感测电路250的正电流端口241,并且列选择晶体管268的漏极端子可以电耦合至感测电路250的负电流端口242。
在实施方式中,每个非易失性突触210可以存储一个正权重值和一个负权重值。在实施方式中,每个非易失性突触210可以电耦合至:信号线(或等效地为参考信号线)(例如,SL1)264,以接收参考电压输入201;字线(或等效地为输入信号线)(例如,WL1)265,以接收信号电压输入202;正输出线(例如,BL1)266,以输出正电流输出203;以及负输出线(例如,BLB1)267,以输出负电流输出204。
在实施方式中,信号电压输入202和参考电压输入201中的每一者可以分别与正权重值和负权重值两者相关联,并且正电流输出203可以与正权重值相关联,并且负电流输出204可以与负权重值相关联。
在实施方式中,存储在每个非易失性突触210中的正(或负)权重值可以被表示为可变电阻值的倒数,并且信号电压输入202和参考电压输入值201可以是电压值。在实施方式中,正电流输出203的值可以是正权重值与信号电压输入202的乘积的结果,并且负电流输出204的值可以是负权重值与信号电压输入202的乘积的结果。
如图2所描绘的,非易失性突触阵列200的每行可以共享参考电压线SL264和信号电压线WL265,其中,每个SL可以向相对应的行中的非易失性突触提供参考电压输入201,并且每个WL可以向相对应的行中的非易失性突触提供信号电压输入202,使得行中的非易失性突触可以基本上接收相同的信号电压输入和相同的参考电压输入。
如上文所论述的,非易失性突触阵列200的每列可以共享正输出电流线(BL)266和负输出电流线(BL-反向)267,即,该列的突触的每个正电流输出203可以由相对应的BL 266收集,并且该列的突触的每个负电流输出204可以由相对应的BL-反向线267收集。如此,BL线266上的电流可以是来自该列的突触的正电流输出203的总和。类似地,在实施方式中,BL-反向线267上的电流值可以是来自该列的突触的负电流输出204的总和。
在实施方式中,每个正输出电流线(BL)266可以电耦合至相对应的列选择晶体管263的源极端子,并且每个负输出电流线(BL-反向)267可以电耦合至相对应的列选择晶体管268的源极端子。在实施方式中,一对BL线263和BL-反向线268的列选择晶体管可以在栅极端子处接收来自外部列选择电路(图2中未示出)的相同的列选择信号。在实施方式中,来自列选择晶体管263的漏极端子的线可以电耦合至感测电路250的正电流输入241。在实施方式中,来自列选择晶体管268的漏极端子的线可以电耦合至负电流输入242。
在实施方式中,正电流端口241的电流值(IBL)261可以是正输出电流BL 266上的值,该正输出电流BL接收其相应的列选择晶体管263上的列选择信号。同样,负电流输入242的电流值(IBL-反向)262可以是负输出电流线BL-反向267,该负输出电流线BL-反向接收其相应的列选择晶体管268上的列选择信号。
在实施方式中,突触210的行中的一个或更多个行可以在WL 265上具有固定的输入信号电压,并且这样的行上的突触可以为其列存储偏差值。在实施方式中,突触阵列可以实现等式(1)中的矩阵乘法
W×A输入+Bias
其中,W可以是突触阵列,并且A输入是表示WL输入的矩阵。
在实施方式中,每个非易失性突触210可以具有存储负权重和正权重的两个电路(或等效地为单元)。在实施方式中,如上文所讨论的,权重值可以由可变电阻的倒数值分别表示为1/Rn=W_负和1/Rp=W_正。阵列200中的每行突触可以接收输入信号A输入作为电压。响应于输入信号,阵列200中的每个突触可以产生通过BL(例如,BL0 266)的正输出电流和通过BLB(例如,267)的负输出电流,其中,正输出电流BLc的值可以被表示为:BLc=A输入×W_正,并且负输出电流BLBc可以被表示为:BLBc=A输入×W_负。
在实施方式中,可以在单独的训练阶段中确定(计算和调整)用于神经网络100的每个突触层的权重值W。然后,可以在推断阶段将输入信号A输入施加至神经网络100,其中,可以使用预定权重来生成输出值。在实施方式中,可以在训练阶段期间确定的权重值在推断阶段期间可以不改变。
在实施方式中,如上文所论述的,BL(例如,BLi)可以电耦合至突触阵列200的列中的突触的所有输出线,并且BL-反向线(例如,BLBi)可以电耦合至突触阵列200的突触的所有输出线。这种配置可以使每个BL 266(或BLB 267)上的电流值为阵列200中的突触的相对应的列的单独计算的电流值的总和。在实施方式中,线BLn和线BLBn上的输出电流可以被表示为:
对于第n列的行,BLn=∑(W_正-行×A输入-行) (2a)
对于第n列的行,BLBn=∑(W_负-行×A输入-行) (2b)
在实施方式中,阵列200的行中的一个或更多个行可以具有固定的输入信号电压,并且这些行上的突触可以为其列存储偏差值。在这种情况下,BLn和BLBn上的总电流可以被表示为:
BLn=∑(W_正-行×A输入-行)+bias_正 (3a)
BLBn=∑(W_负-行×A输入-行)+bias_负 (3b)
在实施方式中,在感测电路250中,来自突触阵列的电流输入信号(Isig=IBL 261或IBLB 262)可以使用电容性跨阻抗放大器(Capacitive Trans Impedance Amplifier,CTIA)转换为电压信号(Vsig),并且进一步使用模拟数字转换器(ADC)进行处理以生成数字信号。在实施方式中,ADC可以具有使用偏移抵消列比较器和计数器的单斜率列ADC架构。与诸如流水线型或逐次逼近型ADC之类的其他ADC架构相比,这种设计可以使用最小的面积和功率消耗。
在实施方式中,神经网络100中的每个突触层(例如,120)可以具有电气组件(图2中未示出),该电气组件可以电耦合至BL 266和BLB 267并且对BL和BLB线上的输出电流进行电处理。例如,该电气组件可以提供差分感测,将输出电流信号转换为电压信号,进一步转换为数字信号,并且在累加器中对数字信号进行求和。在另一示例中,该电气组件可以对累加的值执行其他各种处理运算,诸如归一化和激活,从而实施用于等式(1)的A输出的激活函数。在实施方式中,最终的A输出可以被存储在数据缓冲器中并且用于生成用于神经网络100中的下一神经阵列层的输入信号。
要指出的是,在实施方式中,单独的电路(图2中未示出)可以被包括在神经网络100中以执行诸如下述各者之类的辅助功能:(1)路由器/控制器,该路由器/控制器将神经网络100的逻辑神经元突触结构映射至突触阵列200的物理地址映射;(2)驱动电路,该驱动电路将输入信号驱动至一配置的突触的适当行;(3)选择电路,该选择电路为由多于一列突触共享的感测电路提供列选择;(4)电压生成器,该电压生成器生成用于选择突触的参考电压;以及(5)存储器,该存储器存储用于路由器控制器和感测电路250的配置。
图3示出了根据本公开的实施方式的突触300的示意图。在实施方式中,突触300可以用作图2中的突触210。如所描绘的,突触300可以包括:一对输入晶体管311和312;以及一对非易失性电阻改变元件R_p 313和R_n314(在下文中,术语“非易失性电阻改变元件”和“电阻器”可互换地使用)。换言之,突触300可以具有一对1T-1R(一个晶体管一个电阻器)结构。在实施方式中,电阻器R_p 313和R_n 314可以是逻辑友好的非易失性电阻改变元件。在实施方式中,突触300可以被认为具有两个单元332和334,其中,每个单元可以具有一个输入晶体管311(或312)和电阻器R_p312(或R_n 314)。
在实施方式中,逻辑友好的非易失性电阻改变元件R_p 313(或R_n 314)可以与突触300可以记住/存储的正(或负)权重参数相关联。在实施方式中,每个电阻器可以电耦合至输入晶体管(例如,311)的源极端子,并且参考信号线264可以将参考信号施加至电阻器。在实施方式中,字线(WL)265可以将输入信号电压施加至输入晶体管(例如,311)的栅极端子。
在实施方式中,可以在训练阶段中将电阻值R(=R_p或R_n)编程到电阻改变元件中。当将突触输入信号施加在WL 265上时,突触输出电流可以对权重(由1/R表示)与来自前一个神经元的输入值A输入的乘积进行近似,其中,A输入可以由WL 265上的电压表示。
在实施方式中,存储在突触阵列200中的神经网络参数可以具有大约相似数量的正权重参数和负权重参数。阵列200中的未使用的电阻元件可以被编程为具有比预设值高的电阻值。通过每个未使用的电阻元件的电流应当基本上为零,使得单元的输出电流基本上不被添加至单元的BL(或BLB)上的输出电流。因此,使未使用的电阻元件对计算的影响最小化,并降低了功率消耗。经训练的权重参数可以被量化并编程到电阻改变元件中,而不会使神经网络计算的精确度降低很多。当在训练阶段中对电阻器R_p 313(或R_n 314)的电阻值R进行编程并且通过WL 265施加缩放的突触输入信号WL时,BL 266(或BLB 267)上的突触输出电流IC可以由等式(4)和(5)描述:
dIC/dWL=~gm/(1+gm*R)=~1/R(当R足够大于1/gm时) (4)
其中,gm是输入晶体管的电导,并且
IC=~WL/R=~wA输入(其中w=1/R,A输入=WL) (5)
其中,w和A输入可以近似地产生其乘法结果IC。
如等式(5)所示,输出电流IC可以对输入信号(输入电压A输入)与权重(w)的乘积进行近似。与常规系统不同,在突触300中发生的等式(5)的这种模拟乘法运算不需要使用复杂的数字逻辑门,从而显著降低了突触结构的复杂性和对计算资源的使用。
在实施方式中,输入信号A输入可以是来自前一个神经元的输出信号(如图1所示)并且被驱动至输入晶体管311(或312)的栅极。将输入信号A输入驱动至栅极可以使大突触阵列中的由寄生电阻产生的噪声最小化,这是因为没有静态导通电流流入到选择晶体管的栅极中。相反,在常规系统中,输入信号被驱动至突触的选择器或电阻改变元件,由于在运算期间的静态电流流动和大阵列中的大寄生电阻,这容易导致至每个突触的电流输入信号具有较大的变化。
在常规系统中,当对电阻改变元件进行编程时,通过大阵列中的半选择单元的潜电流会改变先前编程的电阻值,从而导致不希望的编程干扰。相反,在实施方式中,可以使输入晶体管311(或312)能够将编程脉冲仅驱动至大阵列中的所选择的电阻器313(或314)。因此,在实施方式中,未选择的突触可以不干扰对所选择的突触的编程,其中,可以通过将合适的偏差条件应用于BL(或BLB)和SL节点来对所选择的突触进行编程。
作为示例而非限制,突触阵列200可以位于突触层120中,其中,来自神经元阵列层110中的前一个神经元(例如,112a)的输出信号可以输入至突触阵列200的突触300,并且来自突触300的BL 266和BLB 267的输出信号可以输入至神经元阵列层130中的接下来的神经元(例如,132a至132m)中的一个或更多个神经元。
在实施方式中,电阻器313(或314)可以利用诸如非易失性MRAM、RRAM或PRAM或者单层多晶嵌入式闪存之类的各种电路(或存储器)来实现,其中,电路可以被编程为记忆(存储)可以由电阻的倒数表示的关联参数。要指出的是,在实施方式中,可以在具有模拟值的突触内完成乘法运算,而无需使用数字逻辑和算术电路。
图4示出了根据本公开的实施方式的另一突触400的示意图。在实施方式中,突触400可以示出图3中的电阻器313和314的示例性实现方式。换言之,在实施方式中,电阻器313可以由图4中的框452中的组件来实现。
如图4所描绘的,突触400包括一对逻辑兼容的嵌入式闪存单元432和434,其中,闪存单元中的浮置栅极节点FG_p和FG_n可以分别与该突触400所记忆/存储的正权重参数和负权重参数相关联。
在实施方式中,WL 420上的突触输入信号能够在可以汲取BL 406和BLB 407上的差分突触输出电流(IBL和IBLB)的两个分支之间共享。在实施方式中,编程字线(或简称为编程线PWL)418、写入字线(或简称为写入线WWL)416和擦除字线(或简称为擦除线EWL)414可以用于提供用于逻辑兼容的嵌入式闪存单元432和434的编程、写入和擦除运算的附加控制信号。
在实施方式中,存储单元432和434可以包括逻辑晶体管,以消除标准逻辑过程之外的任何额外过程支出。在实施方式中,直接连接至PWL 418的耦合晶体管422(和423)可以被增大尺寸,以用于将浮置栅极节点(FG_p和FG_n)与通过PWL 418提供的控制信号进行更高的耦合。在实施方式中,直接耦合至PWL 418的耦合晶体管422(或423)可以比写入晶体管424(或425)相对更大。在高编程电压被驱动至PWL 418和WWL 416的情况下,可以通过在向BL 406(或BLB 407)施加0伏的同时将电子注入到FG_p中来选择存储单元432(或434)并对其进行编程,而可以通过将VDD施加至BLB 407(或BL 406)并将VDD施加至WL 420以由此使未选择的单元434(或432)的选择晶体管截止来使未选择的单元434(或432)被禁止编程。在下文中,术语“选择晶体管”是指具有电耦合至BL 406或BLB407的栅极的晶体管。
在实施方式中,在仅将高擦除电压驱动至WWL 416的情况下,可以通过从FG注射电子来对所选择的WL进行擦除。在编程和擦除运算期间,未选择的WL可能不会被驱动至任何高于VDD的电压;因此,未选择的WL中没有干扰。在实施方式中,FG节点电压可以是PWL 418、WWL 416上的信号和在FG节点中存储的电子数量的函数。可以通过控制PWL 418和WWL 416处的电压以及存储在FG节点处的电荷来对电耦合至FG的读取晶体管(例如,462)的电导进行编程。
在实施方式中,当对嵌入式闪存单元432(或434)的阈值电压进行编程时,并且当通过WL 420提供缩放的突触输入信号时,可以存在阈值电压的特定范围,使得在单元输出电流(=IBL和IBLB)与经编程的权重参数以及输入信号成比例的情况下可以近似满足等式(5)。
在实施方式中,神经网络100可以对随机误差或权重参数的小变化具有鲁棒性。在实施方式中,当在神经网络100的计算期间对预训练的权重参数W进行量化时,只要乘法误差在特定范围内,就可以利用来自等式(5)的轻微乘法误差来对神经网络性能或推断精度进行优化。此外,来自所提出的近似乘法器的轻微的乘法误差可以补偿神经网络100的经训练的权重参数的量化噪声。然而,为了避免在对神经网络进行重复训练之后由于大的单元阈值电压偏移而导致的严重的单元保留误差,可以通过WWL 416施加有意的自愈电流,这是因为有意的自愈电流可以修复(cure)电耦合至嵌入式闪存单元432和434的WWL 416的器件的受损的栅极氧化物。在实施方式中,可能不需要每次训练或推断都施加自愈电流,因此对性能或功率消耗具有最小的影响。
在实施方式中,每个单元(例如,432)可以包括耦合晶体管422、写入晶体管424和上(或第一)选择晶体管460、读取晶体管462和下选择晶体管464。要指出的是,突触400中的单层多晶嵌入式闪存可以用作电阻改变元件,并且电耦合至闪存的浮置栅极(FG)的读取晶体管(例如,462)的电导可以用作电阻改变元件。在实施方式中,读取晶体管(例如,462)的电导可以由其各自的FG节点FG_p或FG_n的阈值电压VTH确定。可以首先使用平衡阶跃脉冲编程方法来对FG节点FG_p或FG_n的VTH进行粗略编程,然后具有降低的电压的后续恒定脉冲编程步骤可以对VTH值进行微调,以对待存储在突触400中的权重值进行精确编程。结合图10A至图10B对编程步骤进行描述。
图5示出了根据本公开的实施方式的突触500的示意图。在实施方式中,突触500可以用作图2中的突触210。如所描绘的,突触500可以具有三对1T-1R,其中,三个字线WLa、WLb和WLc可以电耦合至六个晶体管的栅极。要指出的是,突触500可以具有其他合适数量的输入晶体管和电阻器以及电耦合至输入晶体管的字线。例如,在实施方式中,突触500可以被修改成使得可以删除字线WLa和1T-1R单元550和551中的组件,即,每个单元可以具有两对1T-1R。在另一示例中,在实施方式中,突触500可以被修改成使得每个单元可以具有四对1T-1R和四个字线(输入信号线)WL。
在实施方式中,突触500的SL、BL和BLB可以具有与突触300的突触300中的SL、BL和BLB类似的功能。突触300与突触500之间的不同在于,突触500可以通过三个字线WLa、WLb和WLc接收来自前一个神经元的输入信号。更具体地,来自每个WL的信号可以被驱动至相对应的输入晶体管的栅极端子。
要指出的是,每个突触500可以电耦合至三个字线WLa、WLb和WLc,而图2中的每个突触210被示出为耦合至一个字线265。因此,要指出的是,图2中的每个字线265共同指电耦合至包括一个或更多个输入晶体管的突触的一个或更多个字线。
在实施方式中,突触500可以被认为具有两个单元532和534,其中,每个单元可以具有三对1T-1R(一个晶体管-一个电阻器),并且每个1T-1R对可以电耦合至WL和SL。
要指出的是,突触500中的每个电阻器可以由诸如非易失性MRAM、RRAM或PRAM或者单层多晶嵌入式闪存之类的各种电路(或存储器)来实现,其中,电路可以被编程为记忆(存储)可以由电阻表示的关联参数。在实施方式中,突触500中的每个电阻器可以由图4中的框452中的组件来实现,其中,每个突触500可以以与突触400类似的方式电连接至PWL、WWL和EWL。
图6示出了根据本公开的实施方式的另一突触600的示意图。在实施方式中,突触600可以用作图2中的突触210。如所描绘的,单元632和634中的每个单元可以包括两个晶体管(例如,602和606)和一个电阻器(例如,613),并且电耦合至两个输入信号(或字)线、字线(WL)和反向字线(互补字线,work line bar,WLB)以及一个参考信号线SL。要指出的是,每个突触600可以电耦合至两个字线,而图2中的每个突触210被示出为耦合至一个字线265。因此,如上文所论述的,图2中的每个字线265共同指电耦合至包括一个或更多个输入晶体管的突触的一个或更多个字线。
在实施方式中,突触电阻器R_p 613和R_n 614、参考信号线SL、输出电流线BL和BLB可以具有与图3中的突触230的相对应的组件类似的功能。例如,电耦合至WL和相应的电阻器R_p 613和R_n 614的输入选择晶体管602和604可以分别对应于输入选择晶体管211和212。
与图3中的突触300相比,突触600可以电耦合至另一输入信号线WLB,其中,WLB可以提供相对于WL的差分输入信号电压。在实施方式中,附加的输入选择晶体管606和608可以通过其栅极端子电耦合至WLB。在实施方式中,输入选择晶体管606和608的源极端子可以分别电耦合至电阻器R_p 613和R_n 614。在实施方式中,晶体管602的漏极端子可以电耦合至BL,并且晶体管606的漏极端子可以电耦合至BLB。同样,晶体管604的漏极端子可以电耦合至BLB,并且晶体管608的漏极端子可以电耦合至BL。
在实施方式中,突触600可以接收差分输入信号,其中,WL(向共模参考)提供正输入信号电压a_正,而WLB(向共模参考)提供负输入信号电压a_负。在实施方式中,R_p 613可以存储正权重w_正,并且R_n 614可以存储负权重w_负。因此,在实施方式中,BL上的输出信号电流(BLo)可以是来自两个单元532和534的两个输出信号的总和:
BLo=a_正×w_正+a_负×w_负 (6)
同样,BLB上的输出信号电流(BLBo)可以是来自两个单元532和534的两个输出信号的总和:
BLBo=a_正×w_负+a_负×w_正 (7)
因此,与图3所描绘的在突触300的WL上具有单端信令的其他实施方式相比,如所描绘的在WL和WLB上具有差分信令的一些实施方式可以在BL和BLB上具有更大范围的输出电流。另外,如所描绘的具有差分输入信令的实施方式可以抑制晶体管偏移噪声以及由于电源电压或温度的变化所引起的共模噪声。
要指出的是,突触600中的每个电阻器可以由诸如非易失性MRAM、RRAM或PRAM或者单层多晶嵌入式闪存之类的各种电路(或存储器)来实现,其中,电路可以被编程为记忆(存储)关联参数。图7示出了根据本公开的实施方式的另一突触700的示意图。在实施方式中,突触700可以示出图6中的电阻器613和614的示例性实现方式。换言之,框752中的组件可以对应于图6中的电阻器613。
如图7所描绘的,突触700可以包括两个单元732和734。在实施方式中,单元732(或734)可以类似于突触400的单元432(或434),不同之处在于,单元732(或734)可以包括附加的上选择晶体管720(或722)和附加的输入信号线WLB。在实施方式中,晶体管720(或722)的栅极可以电耦合至输入信号线WLB,并且晶体管720(或722)的漏极可以电耦合至输出信号线BLB。
图8示出了根据本公开的实施方式的另一突触800的示意图。在实施方式中,突触800可以用作图2中的突触210。如所描绘的,突触800可以包括两个单元832和834,其中,每个单元可以包括三个电阻器和六个晶体管。突触800可以具有2T-1R结构,即,每个单元可以包括三组2T-1R单元802。突触800可以电耦合至六个输入信号线:三个字线WLa、WLb和WLc;以及三个反向字线WLaB、WLbB和WLcB。要指出的是,突触800的每个单元可以包括其他合适数量的2T-1R单元802。在实施方式中,每对WL和WLB(例如,WLa和WLaB)可以向单元832和834提供差分输入信号。
在实施方式中,参考信号线SL可以向单元832和834提供参考信号。在实施方式中,输出信号线BL和BLB中的每一者可以从单元832中的三个晶体管的漏极端子和单元834中的三个晶体管的漏极端子收集输出信号。在实施方式中,突触800可以接收差分输入信号,其中,每个WLi提供正输入信号电压a_正_i,并且每个WLBj提供负输入信号电压a_负_j。在实施方式中,每个R_p可以存储正权重w_正_i,并且每个R_n可以存储负权重w_负_j。在实施方式中,BL上的输出信号电流(BLo)可以是来自两个单元832和834的六个输出信号的总和:
BLo=∑(a_正_i×w_正_i)+∑(a_负_j×w_负_j) (8)
同样,BLB上的输出信号电流(BLBo)可以是来自两个单元832和834的六个输出信号的总和:
BLBo=∑(a_正_i×w_负_j)+∑(a_负_j×w_正_i) (9)
要指出的是,突触800中的每个电阻器可以由诸如非易失性MRAM、RRAM或PRAM或者单层多晶嵌入式闪存之类的各种电路(或存储器)来实现,其中,电路可以被编程为记忆(存储)关联参数。在实施方式中,突触800中的每个电阻器可以由图7中的框752中的组件来实现。其中,每个突触800可以以与突触700类似的方式电连接至PWL、WWL和EWL。
通常,可以通过将电子注入到浮置栅极中来改变读取晶体管(例如,462)的电导。图9A至图9B示出了用于对浮置栅极节点的阈值电压(VTH)进行编程的两种常规方法(列910和914)与根据实施方式的方法(列912)的比较。图9A示出了表格900,其包括在对浮置栅极单元(432)进行编程运算期间向端子PWL和WWL施加的信号的电压高度和宽度,从而将电子注入到浮置栅极中。如所描绘的,表格900包括分别对应于施加电压信号的三种方法的三个列910、912和914。
列910示出了常规的增量阶跃脉冲编程方法,其中,每个后续编程步骤的编程电压与前一个步骤相比增加了具有恒定脉冲宽度(T_脉冲)的量delta。列912示出了根据实施方式的平衡阶跃脉冲编程方法,其中,第一步骤具有比列910中的编程方法长特定设计参数(m)的编程脉冲宽度。列914示出了常规的恒定脉冲编程方法。其中,每一个步骤具有相同的编程电压和编程脉冲宽度。
图9B示出了根据图9A中的三种方法的浮置栅极单元(432或434)的VTH 950的曲线。在图9B中,三个曲线960、962和964分别对应于三种方法910、912和914,并且图9B中的每个曲线示出了图9A中的相对应的方法的每个步骤之后的浮置栅极单元(432或434)的VTH。
基于曲线950,在这三种方法中,根据本公开的实施方式的平衡阶跃脉冲编程方法可以是优选的。每个步骤将VTH增加大约相同的量delta,因此可以对VTH进行精确编程,从而导致与其他方法相比更窄的VTH变化。
图10A至图10B示出了根据本公开的实施方式的用于对浮置栅极单元(432或434)的阈值电压(VTH)进行编程的另一方法。图10A示出了表格1000,其包括在对浮置栅极单元(432或434)进行编程运算期间向端子PWL和WWL施加的信号的电压高度和宽度,从而将电子注入到浮置栅极中。图10B示出了在图10B的每个步骤处存储在浮置栅极单元(432或434)中的VTH的曲线1050。
如所描绘的,对于若干初始步骤(在此,直至步骤4),可以使用平衡阶跃脉冲编程方法(也结合图9A和图9B提及)将单元VTH粗略编程为不超过目标VTH的值。在一些实施方式中,直至这些初始步骤(直至步骤4)可以以可接受的余量实现目标VTH。在一些其他实施方式中,可能需要对目标VTH进行更精细的编程。在这些实施方式中,当前VTH与目标VTH之间的差可以小于每个步骤处的VTH的可用增量(图10B中的delta)。然后,进一步应用后续恒定脉冲编程步骤以对VTH进行精确编程。
在实施方式中,后续恒定脉冲编程步骤使用减小的编程脉冲高度(在图10A中为alpha)、但增加的脉冲宽度(T_脉冲*n,n不小于1.0)将VTH设置为目标。结果,图10A至图10B中的编程方案可以将最终编程的单元阈值电压控制为低于由来自目标VTH的片上基准电压参考所产生的可用电压阶跃(=delta)。
图11示出了根据本公开的实施方式的用于对浮置栅极节点的阈值电压(VTH)进行编程的说明性过程的流程图1100。在步骤1102处,可以向浮置栅极单元(432或434)的PWL和WWL端子施加具有第一高度(例如,VPGM)和第一宽度(T_脉冲*m,m不小于1.0)的电压脉冲(例如,图10A中的步骤1),从而将电子注入到浮置栅极中。在步骤1104处,可以在将每个脉冲的高度相比于前一个脉冲增加预设值(例如,delta)的同时向PWL和WWL端子施加第一电压脉冲序列(诸如,图10A中的步骤2至4)。
在步骤1106处,可以确定在施加第一脉冲序列之后是否达到目标VTH。如果确定的答案是肯定的,则过程进行至步骤1108。在步骤1108处,过程停止。否则,在步骤1110处,可以向PWL和WWL端子施加第二电压脉冲序列(诸如,图10A中的步骤5至19)。在实施方式中,第二脉冲序列的每个脉冲具有可以不比前一个步骤中的脉冲(T_脉冲)窄的宽度(T_脉冲*n,n不小于1.0)。在实施方式中,第二脉冲序列具有比第一高度低的高度(VPGM-alpha),并且第二脉冲序列具有不比第二宽度(T_脉冲)窄的宽度(T_脉冲*n)。在实施方式中,作为示例,该值可以是:m=9.0,n=5.0,alpha=0.8V,delta=0.1V,并且VPGM=7.2V。
要指出的是,图9A至图11中的用于对浮置栅极节点的VTH进行编程的方法可以应用于单元732和734。更具体地,与图9A中的列912相关联的方法和/或结合图10A至图10B描述的方法可以用于对单元732和734的VTH进行编程。
图3至图8中的每个突触可以通过两个输出信号线BL和BLB生成两个输出信号,其中,可以应用差分信令技术来生成两个输出信号。差分信令可以降低对晶体管偏移的敏感性以及来自电源电压和温度的变化的共模噪声,其会在用于加权计算的突触或设备的现有技术设计中向输出电流引入严重的误差。
图12A至图12C示出了根据本公开的实施方式的差分信令。如图12A所描绘的,IBL线1212和IeL-反向线1214可以分别是通过突触的输出信号线BL(例如,106)和BLB(例如,107)的输出电流。作为示例,取决于R_p和R_n的电阻值,每个输出电流可以在0.5(A.U.)的最小值至1.5(A.U.)的最大值的范围内。在实施方式中,IBL线1212可以是第一电流信号1224和偏移电流信号1220的总和,而IBL线1214可以是偏移电流1220和第二电流信号1226的总和。如所描绘的,偏移电流1220可以包括晶体管偏移和共模噪声。
如图12B所描绘的,通过对两个输出信号线1212和1214应用差分信令技术,可以消除偏移电流1220,并且可以获得输出电流信号1224和1226的值。作为示例,输出电流信号1224和1226可以在0.0(A.U.)至1.0(A.U.)的范围内。
此外,在实施方式中,第一电流信号1224可以具有与第二电流信号1226相反的极性。如图12C所描绘的,通过在两个输出电流上使用差分信令,两个信号IBL-IBL-反向1216之间的差可以在-1.0的最小值至+1.0的最大值的范围内,即,组合信号的范围可以是单个输出的范围的两倍大。
图13示出了包括根据本公开的实施方式的神经网络的芯片1300的示意图。如所描绘的,芯片1300可以具有片上系统结构,并且包括:非易失性神经网络1316;CPU 1312,其用于控制芯片1300上的元件;传感器1314,其用于向非易失性神经网络1316提供输入信号;以及存储器1318。在实施方式中,神经网络1316可以类似于图1中的神经网络100。在实施方式中,芯片1300可以是硅芯片,并且组件1312至1318可以集成在芯片1300上。
图14示出了用于对根据本公开的实施方式的非易失性突触阵列进行运算的系统1400的示意图。如所描绘的,系统1400可以包括:非易失性突触阵列1410;参考生成器1402;配置存储1404;行驱动器1406,其用于在非易失性突触阵列1410中选择一行突触;路由器/控制器1408;列选择器1412,其用于在非易失性突触阵列1410中选择一列突触;感测电路1414;累加器1416,其用于从非易失性突触阵列1410收集输出值;归一化/激活/池化功能块1418;以及数据缓冲器1420,其用于对来自非易失性突触阵列1410的数据进行缓冲。在实施方式中,非易失性突触阵列1410可以类似于非易失性突触阵列200,并且感测电路1414可以类似于图2中的感测电路250。
参考生成器1402提供由行驱动器1406所使用的输入信号线(例如,图2至图8中的WL)和参考信号(例如,图2至图8中的SL)所需的电压电平。配置存储1404存储用于由路由器/控制器1408所使用的有限状态机的数据、权重参数与突触阵列200内的突触位置的物理映射、以及用于感测电路的其他配置参数。在实施方式中,配置存储可以被实现为片上非易失性存储器。路由器/控制器1408实现有限状态机以通过行驱动器1406控制行选择序列。感测电路1414包括电压调节器和模数转换器,以将来自所选择的列的输出电流信号转换成电压信号并进一步转换成数字值。来自感测电路的结果在累加器1416中进行求和。归一化/激活/池化功能块1418对累加器值执行所需的信号处理运算。可以包括多个专用DSP或嵌入式CPU内核,以并行执行这样的数字运算。
尽管本发明易于做出各种改型和替代形式,但是已经在附图中示出并且在本文中详细描述了本发明的具体示例。然而,应当理解的是,本发明不限于所公开的特定形式,相反,本发明将覆盖落入所附权利要求的范围内的所有改型、等同方案和替代方案。
Claims (20)
1.一种非易失性突触电路,包括:
第一输入信号线,所述第一输入信号线用于提供第一输入信号;
参考信号线,所述参考信号线用于提供参考信号;
第一输出线和第二输出线,所述第一输出线和所述第二输出线用于携载通过所述第一输出线和所述第二输出线的第一输出信号和第二输出信号;以及
第一单元和第二单元,所述第一单元和所述第二单元分别用于生成所述第一输出信号和所述第二输出信号,所述第一单元和所述第二单元中的每一者包括:
第一上选择晶体管,所述第一上选择晶体管具有电耦合至所述第一输入信号线的栅极;以及
第一电阻改变元件,所述第一电阻改变元件具有串联连接至所述第一上选择晶体管的一个端部以及电耦合至所述参考信号线的另一端部,所述第一电阻改变元件的值能够被编程为改变输出信号的大小,
其中,所述第一单元的所述第一上选择晶体管的漏极电耦合至所述第一输出线,并且所述第二单元的所述第一上选择晶体管的漏极电耦合至所述第二输出线。
2.根据权利要求1所述的非易失性突触电路,还包括:
编程线,所述编程线用于提供编程信号;
写入线,所述写入线用于提供入写信号;以及
擦除线,所述擦除线用于提供擦除信号;
其中,所述第一电阻改变元件包括:
耦合晶体管和写入晶体管,所述耦合晶体管和所述写入晶体管布置成具有浮置栅极节点,所述耦合晶体管电耦合至所述编程线,所述写入晶体管电耦合至所述写入线;以及
读取晶体管和下选择晶体管,所述读取晶体管和所述下选择晶体管与所述第一上选择晶体管串联布置,所述下选择晶体管具有电耦合至所述参考信号线的源极和电耦合至所述擦除线的栅极,所述读取晶体管具有电耦合至所述浮置栅极节点的栅极。
3.根据权利要求1所述的非易失性突触电路,还包括:
第二输入信号线,所述第二输入信号线用于提供第二输入信号;其中,所述第一单元和所述第二单元中的每一者还包括:
第二上选择晶体管,所述第二上选择晶体管具有电耦合至所述第二输入信号线的栅极;以及
第二电阻改变元件,所述第二电阻改变元件具有串联连接至所述第二上选择晶体管的一个端部以及电耦合至所述参考信号线的另一端部,所述第二电阻改变元件的值能够被编程为改变输出信号的大小,
其中,所述第一单元的所述第二上选择晶体管的漏极电耦合至所述第一输出线,并且所述第二单元的所述第二上选择晶体管的漏极电耦合至所述第二输出线。
4.根据权利要求1所述的非易失性突触电路,还包括:
第二输入信号线,所述第二输入信号线用于提供第二输入信号;
其中,所述第一单元和所述第二单元中的每一者还包括:
第二上选择晶体管,所述第二上选择晶体管具有电耦合至所述第二输入信号线的栅极;并且
所述第二上选择晶体管具有电耦合至所述第一电阻改变元件的源极,所述第一上选择晶体管的源极和所述第二上选择晶体管的源极直接连接至第一公共节点,
其中,所述第一单元的所述第二上选择晶体管的漏极电耦合至所述第二输出线,并且所述第二单元的所述第二上选择晶体管的漏极电耦合至所述第一输出线。
5.根据权利要求4所述的非易失性突触电路,还包括:
编程线,所述编程线用于提供编程信号;
写入线,所述写入线用于提供写入信号;以及
擦除线,所述擦除线用于提供擦除信号;
其中,所述第一电阻改变元件包括:
耦合晶体管和写入晶体管,所述耦合晶体管和所述写入晶体管布置成具有浮置栅极节点,所述耦合晶体管电耦合至所述编程线,所述写入晶体管电耦合至所述写入线;以及
读取晶体管和下选择晶体管,所述读取晶体管和所述下选择晶体管串联布置,所述下选择晶体管具有电耦合至所述参考信号线的源极和电耦合至所述擦除线的栅极,所述读取晶体管具有电耦合至所述浮置栅极节点的栅极和直接连接至所述第一公共节点的源极。
6.根据权利要求4所述的非易失性突触电路,还包括:
第三输入信号线,所述第三输入信号线用于提供第三输入信号;
第四输入信号线,所述第四输入信号线用于提供第四输入信号;
其中,第一单元和第二单元中的每一者还包括:
第三上选择晶体管,所述第三上选择晶体管具有电耦合至所述第三输入信号线的栅极;以及
第四上选择晶体管,所述第四上选择晶体管具有电耦合至所述第四输入信号线的栅极,所述第三上选择晶体管的源极和所述第四上选择晶体管的源极直接连接至第二公共节点,
第二电阻改变元件,所述第二电阻改变元件具有连接至所述第二公共节点的一个端部以及电耦合至所述参考信号线的另一端部,所述第二电阻改变元件的值能够被编程为改变输出信号的大小,
其中,所述第一单元的所述第三上选择晶体管的漏极电耦合至所述第一输出线,并且所述第二单元的所述第三上选择晶体管的漏极电耦合至所述第二输出线,并且
其中,所述第一单元的所述第四上选择晶体管的漏极电耦合至所述第二输出线,并且所述第二单元的所述第四上选择晶体管的漏极电耦合至所述第一输出线。
7.根据权利要求1所述的非易失性突触电路,其中,所述第一输出信号是第一电流信号和偏移电流信号的总和,所述第二输出信号是第二电流信号和所述偏移电流信号的总和,并且所述第一电流信号具有与所述第二电流信号相反的极性。
8.根据权利要求1所述的非易失性突触电路,其中,所述第一电阻改变元件存储与单元相关联的可编程权重值。
9.根据权利要求1所述的非易失性突触电路,其中,所述第一电阻改变元件被编程为具有高于预设值的电阻值,
其中,所述输出信号的大小基本上为零。
10.一种用于对非易失性突触中的浮置栅极的阈值电压(VTH)进行编程的方法,所述非易失性突触包括被布置成具有浮置栅极节点的一对晶体管,所述方法包括:
在所述一对晶体管上施加第一电脉冲,第一电信号具有第一高度和第一宽度;以及
在将每个脉冲的高度相比于前一个脉冲的高度增加预设值的同时在所述一对晶体管上施加第一脉冲序列,所述第一脉冲序列的每个脉冲具有不比所述第一宽度宽的第二宽度,从而对所述浮置栅极节点上的电压进行编程。
11.根据权利要求10所述的方法,还包括:
确定在所述浮置栅极节点上编程的电压是否已经达到目标阈值电压;以及
如果确定的答案是肯定的,则停止在所述一对晶体管上施加脉冲;以及
否则,施加第二脉冲序列,所述第二脉冲序列的每个脉冲具有比所述第一高度Vo低预设值的第二高度,所述第二脉冲序列的每个脉冲具有不比所述第二宽度窄的宽度。
12.一种非易失性神经网络,包括:
第一神经阵列层,所述第一神经阵列层包括第一组神经元;
第二神经阵列层,所述第二神经阵列层包括第二组神经元;以及
突触阵列层,所述突触阵列层设置在所述第一神经阵列层与所述第二神经阵列层之间,并且包括多个非易失性突触,
其中,所述突触阵列层中的每个非易失性突触电耦合至所述第一组神经元中的神经元和所述第二组神经元中的一个或更多个神经元,并且其中,每个非易失性突触包括:
第一输入信号线,所述第一输入信号线用于接收来自所述第一组神经元中的神经元的第一输入信号;
参考信号线,所述参考信号线用于提供参考信号;
第一输出线和第二输出线,所述第一输出线和所述第二输出线用于携载通过所述第一输出线和所述第二输出线的第一输出信号和第二输出信号,所述第一输出信号和所述第二输出信号被处理并传输至所述第二组神经元中的一个或更多个神经元;以及
第一单元和第二单元,所述第一单元和所述第二单元分别用于生成所述第一输出信号和所述第二输出信号,所述第一单元和所述第二单元中的每一者包括:
第一上选择晶体管,所述第一上选择晶体管具有电耦合至所述第一输入信号线的栅极;以及
第一电阻改变元件,所述第一电阻改变元件具有串联连接至所述第一上选择晶体管的一个端部以及电耦合至所述参考信号线的另一端部,所述第一电阻改变元件的值能够被编程为改变输出信号的大小,
其中,所述第一单元的所述第一上选择晶体管的漏极电耦合至所述第一输出线,并且所述第二单元的所述第一上选择晶体管的漏极电耦合至所述第二输出线。
13.根据权利要求12所述的非易失性神经网络,其中,所述突触阵列层中的每个非易失性突触还包括:
编程线,所述编程线用于提供编程信号;
写入线,所述写入线用于提供写入信号;以及
擦除线,所述擦除线用于提供擦除信号;
其中,所述第一电阻改变元件包括:
耦合晶体管和写入晶体管,所述耦合晶体管和所述写入晶体管布置成具有浮置栅极节点,所述耦合晶体管电耦合至所述编程线,所述写入晶体管电耦合至所述写入线;以及
读取晶体管和下选择晶体管,所述读取晶体管和所述下选择晶体管与所述第一上选择晶体管串联布置,所述下选择晶体管具有电耦合至所述参考信号线的源极和电耦合至所述擦除线的栅极,所述读取晶体管具有电耦合至所述浮置栅极节点的栅极。
14.根据权利要求12所述的非易失性神经网络,其中,所述突触阵列层中的每个非易失性突触还包括:
第二输入信号线,所述第二输入信号线用于提供第二输入信号;
其中,所述第一单元和所述第二单元中的每一者还包括:
第二上选择晶体管,所述第二上选择晶体管具有电耦合至所述第二输入信号的栅极;以及
第二电阻改变元件,所述第二电阻改变元件具有串联连接至所述第二选择晶体管的一个端部以及电耦合至所述参考信号线的另一端部,所述第二选择晶体管的值能够被调节成改变输出信号的大小,
其中,所述第一单元的所述第二上选择晶体管的漏极电耦合至所述第一输出线,并且所述第二单元的所述第二上选择晶体管的漏极电耦合至所述第二输出线。
15.根据权利要求12所述的非易失性神经网络,其中,所述突触阵列层中的每个非易失性突触还包括:
第二输入信号线,所述第二输入信号线用于提供第二输入信号;
其中,第一单元和第二单元中的每一者还包括:
第二上选择晶体管,所述第二上选择晶体管具有电耦合至所述第二输入信号线的栅极;并且
所述第二上选择晶体管具有电耦合至所述第一电阻改变元件的源极,所述第一上选择晶体管的源极和所述第二上选择晶体管的源极直接连接至第一公共节点,
其中,所述第一单元的所述第二上选择晶体管的漏极电耦合至所述第二输出线,并且所述第二单元的所述第二上选择晶体管的漏极电耦合至所述第一输出线。
16.根据权利要求15所述的非易失性神经网络,其中,所述突触阵列层中的每个非易失性突触还包括:
编程线,所述编程线用于提供编程信号;
写入线,所述写入线用于提供写入信号;以及
擦除线,所述擦除线用于提供擦除信号;
其中,所述第一电阻改变元件包括:
耦合晶体管和写入晶体管,所述耦合晶体管和所述写入晶体管布置成具有浮置栅极节点,所述耦合晶体管电耦合至所述编程线,所述写入晶体管电耦合至所述写入线;以及
读取晶体管和下选择晶体管,所述读取晶体管和所述下选择晶体管串联布置,所述下选择晶体管具有电耦合至所述参考信号线的源极和电耦合至所述擦除线的栅极,所述读取晶体管具有电耦合至所述浮置栅极节点的栅极和直接连接至所述第一公共节点的源极。
17.根据权利要求15所述的非易失性神经网络,其中,所述突触阵列层中的每个非易失性突触还包括:
第三输入信号线,所述第三输入信号线用于提供第三输入信号;
第四输入信号线,所述第四输入信号线用于提供第四输入信号;
其中,所述第一单元和所述第二单元中的每一者还包括:
第三上选择晶体管,所述第三上选择晶体管具有电耦合至所述第三输入信号线的栅极;以及
第四上选择晶体管,所述第四上选择晶体管具有电耦合至所述第四输入信号线的栅极,所述第三上选择晶体管的源极和所述第四上选择晶体管的源极直接连接至第二公共节点,
第二电阻改变元件,所述第二电阻改变元件具有连接至第二公共节点的一个端部以及电耦合至所述参考信号线的另一端部,所述第二电阻改变元件的值能够被编程为改变输出信号的大小;
其中,所述第一单元的所述第三上选择晶体管的漏极电耦合至所述第一输出线,并且所述第二单元的所述第三上选择晶体管的漏极电耦合至所述第二输出线,并且
其中,所述第一单元的所述第四上选择晶体管的漏极电耦合至所述第二输出线,所述第二单元的所述第四上选择晶体管的漏极电耦合至所述第一输出线。
18.根据权利要求12所述的非易失性神经网络,其中,所述第一输出信号是第一电流信号和偏移电流信号的总和,所述第二输出信号是第二电流信号和所述偏移电流信号的总和,并且所述第一电流信号具有与所述第二电流信号相反的极性。
19.根据权利要求12所述的非易失性神经网络,其中,所述第一电阻改变元件存储与每个单元相关联的可编程权重值。
20.根据权利要求12所述的非易失性神经网络,其中,所述第一电阻改变元件被编程为具有高于预设值的电阻值,
其中,所述输出信号的大小基本上为零。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762592300P | 2017-11-29 | 2017-11-29 | |
US62/592,300 | 2017-11-29 | ||
US201862620947P | 2018-01-23 | 2018-01-23 | |
US62/620,947 | 2018-01-23 | ||
US201862655074P | 2018-04-09 | 2018-04-09 | |
US62/655,074 | 2018-04-09 | ||
US16/196,617 | 2018-11-20 | ||
US16/196,617 US11361215B2 (en) | 2017-11-29 | 2018-11-20 | Neural network circuits having non-volatile synapse arrays |
PCT/US2018/062236 WO2019108458A1 (en) | 2017-11-29 | 2018-11-21 | Neural network circuits having non-volatile synapse arrays |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111406265A true CN111406265A (zh) | 2020-07-10 |
CN111406265B CN111406265B (zh) | 2023-11-24 |
Family
ID=66632498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880076783.8A Active CN111406265B (zh) | 2017-11-29 | 2018-11-21 | 具有非易失性突触阵列的神经网络电路 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11361215B2 (zh) |
EP (1) | EP3718055A4 (zh) |
KR (1) | KR102497675B1 (zh) |
CN (1) | CN111406265B (zh) |
TW (1) | TWI673657B (zh) |
WO (1) | WO2019108458A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111656371A (zh) * | 2018-01-23 | 2020-09-11 | 美商安纳富来希股份有限公司 | 具有非易失性突触阵列的神经网络电路 |
CN113408713A (zh) * | 2021-08-18 | 2021-09-17 | 成都时识科技有限公司 | 消除数据副本的方法、神经网络处理器及电子产品 |
CN111656371B (zh) * | 2018-01-23 | 2024-06-04 | 美商安纳富来希股份有限公司 | 具有非易失性突触阵列的神经网络电路 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10706923B2 (en) * | 2017-09-08 | 2020-07-07 | Arizona Board Of Regents On Behalf Of Arizona State University | Resistive random-access memory for exclusive NOR (XNOR) neural networks |
KR102637735B1 (ko) * | 2018-01-09 | 2024-02-19 | 삼성전자주식회사 | 근사 곱셈기를 구비하는 뉴럴 네트워크 처리 장치 및 이를 포함하는 시스템온 칩 |
US10657426B2 (en) | 2018-01-25 | 2020-05-19 | Samsung Electronics Co., Ltd. | Accelerating long short-term memory networks via selective pruning |
US11138497B2 (en) * | 2018-07-17 | 2021-10-05 | Macronix International Co., Ltd | In-memory computing devices for neural networks |
US11636325B2 (en) | 2018-10-24 | 2023-04-25 | Macronix International Co., Ltd. | In-memory data pooling for machine learning |
US11562229B2 (en) | 2018-11-30 | 2023-01-24 | Macronix International Co., Ltd. | Convolution accelerator using in-memory computation |
US11934480B2 (en) | 2018-12-18 | 2024-03-19 | Macronix International Co., Ltd. | NAND block architecture for in-memory multiply-and-accumulate operations |
EP3671750A1 (en) * | 2018-12-21 | 2020-06-24 | IMEC vzw | Synapse circuit with memory |
US10861551B2 (en) * | 2018-12-28 | 2020-12-08 | Micron Technology, Inc. | Memory cells configured to generate weighted inputs for neural networks |
US11188815B2 (en) * | 2019-01-07 | 2021-11-30 | International Business Machines Corporation | Weight shifting for neuromorphic synapse array |
US11132176B2 (en) | 2019-03-20 | 2021-09-28 | Macronix International Co., Ltd. | Non-volatile computing method in flash memory |
US11397790B2 (en) * | 2019-06-25 | 2022-07-26 | Sandisk Technologies Llc | Vector matrix multiplication with 3D NAND |
US10726331B1 (en) * | 2019-08-26 | 2020-07-28 | International Business Machines Corporation | Neural network circuits providing early integration before analog-to-digital conversion |
US11610101B2 (en) * | 2019-08-30 | 2023-03-21 | International Business Machines Corporation | Formation failure resilient neuromorphic device |
KR102410849B1 (ko) * | 2019-09-06 | 2022-06-21 | 포항공과대학교 산학협력단 | 뉴럴 네트워크를 구현하기 위한 전자 장치 |
CN114424198A (zh) * | 2019-09-17 | 2022-04-29 | 安纳富来希股份有限公司 | 乘法累加器 |
US11769043B2 (en) | 2019-10-25 | 2023-09-26 | Samsung Electronics Co., Ltd. | Batch size pipelined PIM accelerator for vision inference on multiple images |
KR20210056476A (ko) | 2019-11-08 | 2021-05-20 | 삼성전자주식회사 | 시냅스 소자 및 시냅스 소자를 포함하는 뉴로모픽 프로세서 |
US11694751B2 (en) | 2019-11-30 | 2023-07-04 | Semibrain Inc. | Logic compatible flash memory programming with a pulse width control scheme |
KR20210075542A (ko) | 2019-12-13 | 2021-06-23 | 삼성전자주식회사 | 스위칭 소자와 저항 소자를 포함하는 3차원 뉴로모픽 장치 |
US20210241084A1 (en) * | 2020-02-03 | 2021-08-05 | Anaflash Inc. | Neural network unit |
US11532354B2 (en) * | 2020-03-22 | 2022-12-20 | Silicon Storage Technology, Inc. | Precision tuning of a page or word of non-volatile memory cells and associated high voltage circuits for an analog neural memory array in an artificial neural network |
JP6968941B1 (ja) | 2020-07-08 | 2021-11-24 | ウィンボンド エレクトロニクス コーポレーション | 抵抗変化型クロスバーアレイ装置 |
US11983619B2 (en) * | 2020-08-14 | 2024-05-14 | Micron Technology, Inc. | Transformer neural network in memory |
KR102507770B1 (ko) * | 2020-08-26 | 2023-03-07 | 국민대학교산학협력단 | 시냅스 및 시냅스 어레이와, 이를 이용한 컴퓨팅 시스템 및 그 구동 방법 |
US11749335B2 (en) * | 2020-11-03 | 2023-09-05 | Jianzhong Bi | Host and its memory module and memory controller |
CN116710931A (zh) * | 2020-11-25 | 2023-09-05 | 许富菖 | 用于神经网络阵列的方法和装置 |
US11741353B2 (en) | 2020-12-09 | 2023-08-29 | International Business Machines Corporation | Bias scheme for single-device synaptic element |
JP2024518884A (ja) * | 2021-05-18 | 2024-05-08 | シリコン ストーリッジ テクノロージー インコーポレイテッド | 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリ用のスプリットアレイアーキテクチャ |
CN113221432A (zh) * | 2021-05-20 | 2021-08-06 | 大连理工大学 | 一种基于人工智能的离子推力器栅极寿命动态预测方法 |
US20230049032A1 (en) * | 2021-08-02 | 2023-02-16 | Silicon Storage Technology, Inc. | Output circuitry for analog neural memory in a deep learning artificial neural network |
WO2023177269A1 (en) * | 2022-03-18 | 2023-09-21 | Samsung Electronics Co., Ltd. | Neural network based method and device |
CN114881218A (zh) * | 2022-04-22 | 2022-08-09 | 浙江大学 | 基于忆阻器老化感知的神经网络重训练和梯度稀疏方法 |
CN114597232B (zh) * | 2022-05-10 | 2022-07-19 | 华中科技大学 | 一种实现负权重的矩阵乘和运算的crossbar器件制备方法 |
CN116863936B (zh) * | 2023-09-04 | 2023-12-19 | 之江实验室 | 一种基于FeFET存算一体阵列的语音识别方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155802A (en) * | 1987-12-03 | 1992-10-13 | Trustees Of The Univ. Of Penna. | General purpose neural computer |
US5237210A (en) * | 1992-03-12 | 1993-08-17 | Intel Corporation | Neural network accomodating parallel synaptic weight adjustments for correlation learning algorithms |
US5298796A (en) * | 1992-07-08 | 1994-03-29 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Nonvolatile programmable neural network synaptic array |
US5336937A (en) * | 1992-08-28 | 1994-08-09 | State University Of New York | Programmable analog synapse and neural networks incorporating same |
US20030183871A1 (en) * | 2002-03-22 | 2003-10-02 | Dugger Jeffery Don | Floating-gate analog circuit |
KR20130133111A (ko) * | 2012-05-28 | 2013-12-06 | 송승환 | 순수 로직 트랜지스터로 구성된 플래시 메모리 |
US20140358834A1 (en) * | 2013-05-30 | 2014-12-04 | Postech Academy-Industry Foundation | Synapse circuit and neuromorphic system including the same |
US20150278681A1 (en) * | 2014-04-01 | 2015-10-01 | Boise State University | Memory controlled circuit system and apparatus |
US20160048755A1 (en) * | 2014-08-14 | 2016-02-18 | The Regents Of The University Of Michigan | Floating-gate transistor array for performing weighted sum computation |
CN105930903A (zh) * | 2016-05-16 | 2016-09-07 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
CN106910773A (zh) * | 2017-02-21 | 2017-06-30 | 南京大学 | 多栅极神经元晶体管及其制备方法和构成的神经网络 |
US9715916B1 (en) * | 2016-03-24 | 2017-07-25 | Intel Corporation | Supply-switched dual cell memory bitcell |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5055897A (en) | 1988-07-27 | 1991-10-08 | Intel Corporation | Semiconductor cell for neural network and the like |
US4956564A (en) | 1989-07-13 | 1990-09-11 | Intel Corporation | Adaptive synapse cell providing both excitatory and inhibitory connections in an associative network |
US5353382A (en) | 1990-10-15 | 1994-10-04 | California Institute Of Technology | Programmable synapse for neural network applications |
KR100915311B1 (ko) | 2001-06-26 | 2009-09-03 | 소니 가부시끼 가이샤 | 반사형 액정 표시 소자, 표시 장치, 프로젝션 광학시스템, 및 프로젝션 디스플레이 시스템 |
AU2002324560A1 (en) * | 2001-08-01 | 2003-02-17 | Santel Networks, Inc. | Method and apparatus for analog multipliers employed in analog filtering system |
US6791859B2 (en) * | 2001-11-20 | 2004-09-14 | Micron Technology, Inc. | Complementary bit PCRAM sense amplifier and method of operation |
JP2004079138A (ja) * | 2002-08-22 | 2004-03-11 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US7426501B2 (en) * | 2003-07-18 | 2008-09-16 | Knowntech, Llc | Nanotechnology neural network methods and systems |
US20050125477A1 (en) * | 2003-12-04 | 2005-06-09 | Genov Roman A. | High-precision matrix-vector multiplication on a charge-mode array with embedded dynamic memory and stochastic method thereof |
WO2006037331A1 (en) | 2004-10-04 | 2006-04-13 | Statchip Aps | A handheld home monitoring sensors network device |
JP4890016B2 (ja) * | 2005-03-16 | 2012-03-07 | ルネサスエレクトロニクス株式会社 | 不揮発性半導体記憶装置 |
US7656710B1 (en) | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
JP5067650B2 (ja) * | 2006-01-06 | 2012-11-07 | 日本電気株式会社 | 半導体記憶装置 |
TWI312154B (en) * | 2006-07-20 | 2009-07-11 | Ind Tech Res Inst | Multiple state sense amplifier for memory architecture |
US7755941B2 (en) * | 2007-02-23 | 2010-07-13 | Panasonic Corporation | Nonvolatile semiconductor memory device |
US7436710B2 (en) * | 2007-03-12 | 2008-10-14 | Maxim Integrated Products, Inc. | EEPROM memory device with cell having NMOS in a P pocket as a control gate, PMOS program/erase transistor, and PMOS access transistor in a common well |
US8472251B2 (en) * | 2008-02-11 | 2013-06-25 | Aplus Flash Technology, Inc. | Single-polycrystalline silicon electrically erasable and programmable nonvolatile memory device |
JP2010067332A (ja) * | 2008-09-12 | 2010-03-25 | Elpida Memory Inc | 相補型相変化メモリセル及びメモリ回路 |
US9099181B2 (en) * | 2009-08-19 | 2015-08-04 | Grandis, Inc. | Non-volatile static ram cell circuit and timing method |
US8279681B2 (en) * | 2010-06-24 | 2012-10-02 | Semiconductor Components Industries, Llc | Method of using a nonvolatile memory cell |
US9601203B2 (en) * | 2012-06-09 | 2017-03-21 | Synopsys, Inc. | Floating gate non-volatile memory bit cell |
JP6053474B2 (ja) * | 2012-11-27 | 2016-12-27 | 株式会社フローディア | 不揮発性半導体記憶装置 |
US9754203B2 (en) * | 2013-03-24 | 2017-09-05 | Technion Research And Development Foundation Ltd. | Analog multiplier using a memristive device and method for implemening Hebbian learning rules using memrisor arrays |
KR102074942B1 (ko) | 2013-07-29 | 2020-02-10 | 삼성전자 주식회사 | 비휘발성 메모리 트랜지스터 및 이를 포함하는 소자 |
US9553207B2 (en) * | 2013-09-25 | 2017-01-24 | Synopsys, Inc. | NVM device using FN tunneling with parallel powered source and drain |
US9747547B2 (en) * | 2013-10-22 | 2017-08-29 | In2H2 | Hardware enhancements to radial basis function with restricted coulomb energy learning and/or k-Nearest Neighbor based neural network classifiers |
US20150134582A1 (en) * | 2013-11-08 | 2015-05-14 | Qualcomm Incorporated | Implementing synaptic learning using replay in spiking neural networks |
FR3016724B1 (fr) | 2014-01-22 | 2016-02-05 | Commissariat Energie Atomique | Memoire non volatile multiport |
US20150269480A1 (en) * | 2014-03-21 | 2015-09-24 | Qualcomm Incorporated | Implementing a neural-network processor |
US20150269482A1 (en) * | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | Artificial neural network and perceptron learning using spiking neurons |
US9431083B2 (en) * | 2014-03-25 | 2016-08-30 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and storage device having the same |
US9830981B2 (en) | 2015-01-14 | 2017-11-28 | International Business Machines Corporation | Neuromorphic memory circuit using a leaky integrate and fire (LIF) line to transmit axon LIF pulse and a conductive denrite LIF line |
US9373395B1 (en) * | 2015-03-04 | 2016-06-21 | Intel Corporation | Apparatus to reduce retention failure in complementary resistive memory |
US10008537B2 (en) * | 2015-06-19 | 2018-06-26 | Qualcomm Incorporated | Complementary magnetic tunnel junction (MTJ) bit cell with shared bit line |
US10417559B2 (en) * | 2015-06-22 | 2019-09-17 | International Business Machines Corporation | Communicating postsynaptic neuron fires to neuromorphic cores |
US10817802B2 (en) * | 2016-05-07 | 2020-10-27 | Intel Corporation | Apparatus for hardware accelerated machine learning |
WO2017200883A1 (en) | 2016-05-17 | 2017-11-23 | Silicon Storage Technology, Inc. | Deep learning neural network classifier using non-volatile memory array |
US11348002B2 (en) * | 2017-10-24 | 2022-05-31 | International Business Machines Corporation | Training of artificial neural networks |
US11061646B2 (en) * | 2018-09-28 | 2021-07-13 | Intel Corporation | Compute in memory circuits with multi-Vdd arrays and/or analog multipliers |
TWI728556B (zh) * | 2019-11-18 | 2021-05-21 | 財團法人工業技術研究院 | 神經元電路及類神經網路晶片 |
-
2018
- 2018-11-20 US US16/196,617 patent/US11361215B2/en active Active
- 2018-11-21 KR KR1020207014323A patent/KR102497675B1/ko active IP Right Grant
- 2018-11-21 WO PCT/US2018/062236 patent/WO2019108458A1/en unknown
- 2018-11-21 CN CN201880076783.8A patent/CN111406265B/zh active Active
- 2018-11-21 EP EP18884830.3A patent/EP3718055A4/en active Pending
- 2018-11-29 TW TW107142804A patent/TWI673657B/zh active
-
2019
- 2019-01-20 US US16/252,640 patent/US11361216B2/en active Active
-
2022
- 2022-05-05 US US17/737,342 patent/US11663457B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155802A (en) * | 1987-12-03 | 1992-10-13 | Trustees Of The Univ. Of Penna. | General purpose neural computer |
US5237210A (en) * | 1992-03-12 | 1993-08-17 | Intel Corporation | Neural network accomodating parallel synaptic weight adjustments for correlation learning algorithms |
US5298796A (en) * | 1992-07-08 | 1994-03-29 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Nonvolatile programmable neural network synaptic array |
US5336937A (en) * | 1992-08-28 | 1994-08-09 | State University Of New York | Programmable analog synapse and neural networks incorporating same |
US20030183871A1 (en) * | 2002-03-22 | 2003-10-02 | Dugger Jeffery Don | Floating-gate analog circuit |
KR20130133111A (ko) * | 2012-05-28 | 2013-12-06 | 송승환 | 순수 로직 트랜지스터로 구성된 플래시 메모리 |
US20140358834A1 (en) * | 2013-05-30 | 2014-12-04 | Postech Academy-Industry Foundation | Synapse circuit and neuromorphic system including the same |
US20150278681A1 (en) * | 2014-04-01 | 2015-10-01 | Boise State University | Memory controlled circuit system and apparatus |
US20160048755A1 (en) * | 2014-08-14 | 2016-02-18 | The Regents Of The University Of Michigan | Floating-gate transistor array for performing weighted sum computation |
US9715916B1 (en) * | 2016-03-24 | 2017-07-25 | Intel Corporation | Supply-switched dual cell memory bitcell |
CN105930903A (zh) * | 2016-05-16 | 2016-09-07 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
CN106910773A (zh) * | 2017-02-21 | 2017-06-30 | 南京大学 | 多栅极神经元晶体管及其制备方法和构成的神经网络 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111656371A (zh) * | 2018-01-23 | 2020-09-11 | 美商安纳富来希股份有限公司 | 具有非易失性突触阵列的神经网络电路 |
CN111656371B (zh) * | 2018-01-23 | 2024-06-04 | 美商安纳富来希股份有限公司 | 具有非易失性突触阵列的神经网络电路 |
CN113408713A (zh) * | 2021-08-18 | 2021-09-17 | 成都时识科技有限公司 | 消除数据副本的方法、神经网络处理器及电子产品 |
CN113408713B (zh) * | 2021-08-18 | 2021-11-16 | 成都时识科技有限公司 | 消除数据副本的方法、神经网络处理器及电子产品 |
Also Published As
Publication number | Publication date |
---|---|
KR102497675B1 (ko) | 2023-02-09 |
EP3718055A1 (en) | 2020-10-07 |
US20220261624A1 (en) | 2022-08-18 |
WO2019108458A1 (en) | 2019-06-06 |
US20190164046A1 (en) | 2019-05-30 |
US20190164044A1 (en) | 2019-05-30 |
US11361215B2 (en) | 2022-06-14 |
US11361216B2 (en) | 2022-06-14 |
TWI673657B (zh) | 2019-10-01 |
KR20200065079A (ko) | 2020-06-08 |
US11663457B2 (en) | 2023-05-30 |
CN111406265B (zh) | 2023-11-24 |
EP3718055A4 (en) | 2021-10-27 |
TW201937414A (zh) | 2019-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111406265A (zh) | 具有非易失性突触阵列的神经网络电路 | |
CN112183739B (zh) | 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 | |
CN108734271B (zh) | 神经形态权重单元及其形成的方法以及人工神经网络 | |
US11348002B2 (en) | Training of artificial neural networks | |
US11615299B2 (en) | Neural network computation circuit including non-volatile semiconductor memory element | |
US11443172B2 (en) | Synapse array of neuromorphic device including synapses having ferro-electric field effect transistors and operation method of the same | |
US11157810B2 (en) | Resistive processing unit architecture with separate weight update and inference circuitry | |
TWI751403B (zh) | 具有非揮發性突觸陣列的神經網路電路及神經晶片 | |
US20200356843A1 (en) | Systems and methods for neural network training and deployment for hardware accelerators | |
CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
CN112149051B (zh) | 执行向量-矩阵乘法的计算电路和包括其的半导体器件 | |
CN115796252A (zh) | 权重写入方法及装置、电子设备和存储介质 | |
CN117157636A (zh) | 存算一体装置、系统及其操作方法 | |
US11037052B2 (en) | Method of reading data from synapses of a neuromorphic device | |
CN111656371B (zh) | 具有非易失性突触阵列的神经网络电路 | |
KR20230078024A (ko) | 삼항 정밀도 xor 논리 연산을 기반으로 하는 반도체 소자 및 이를 포함하는 뉴로모픽 컴퓨팅 시스템 | |
CN116450996A (zh) | 基于忆阻器阵列的数据处理方法、电子装置 | |
CN117808062A (zh) | 计算装置、电子装置以及用于计算装置的操作方法 | |
CN114121089A (zh) | 基于忆阻器阵列的数据处理方法及装置 | |
CN116451751A (zh) | 单个非易失性器件存储正负权重的突触结构、神经网络电路、存算一体芯片和电子设备 | |
KR20170080433A (ko) | 뉴로모픽 소자의 시냅스로부터 데이터를 독출하는 방법 |
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 |