[go: up one dir, main page]

CN116720555A - 用于人工神经网络中的存储位的系统和方法 - Google Patents

用于人工神经网络中的存储位的系统和方法 Download PDF

Info

Publication number
CN116720555A
CN116720555A CN202310128574.6A CN202310128574A CN116720555A CN 116720555 A CN116720555 A CN 116720555A CN 202310128574 A CN202310128574 A CN 202310128574A CN 116720555 A CN116720555 A CN 116720555A
Authority
CN
China
Prior art keywords
circuit
electrically connected
operation circuit
resistive elements
weight
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.)
Pending
Application number
CN202310128574.6A
Other languages
English (en)
Inventor
S·M·阿拉姆
D·豪萨梅丁
S·阿加瓦尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Everspin Technologies Inc
Original Assignee
Everspin Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/893,462 external-priority patent/US20230281434A1/en
Application filed by Everspin Technologies Inc filed Critical Everspin Technologies Inc
Publication of CN116720555A publication Critical patent/CN116720555A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Memories (AREA)

Abstract

本公开涉及用于人工神经网络中的存储位的系统和方法。本公开尤其针对一种装置,所述装置包括:输入电路;权重运算电路,所述权重运算电路电连接到所述输入电路;偏差运算电路,所述偏差运算电路电连接到所述权重运算电路;存储电路,所述存储电路电连接到所述权重运算电路和所述偏差运算电路;以及激活函数电路,所述激活函数电路电连接到所述偏差运算电路,其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。

Description

用于人工神经网络中的存储位的系统和方法
相关申请的交叉引用
本申请要求2022年3月7日提交的美国临时专利申请No.63/268,953的利益,所述临时专利申请的全部内容以引用的方式并入本文。
技术领域
本公开的实施方案尤其涉及存储位。更具体地,本公开的某些实施方案涉及人工神经网络中的存储位。
引言
人工神经网络可能有一个输入层和一个具有多个隐藏层的输出层。输入层之后的每一层都可能有多个执行各种操作的硬件神经元。例如,每个硬件神经元可执行关于输入和权重值的乘法和累加(MAC)运算、MAC运算的乘积与任何偏差值的求和,和/或执行激活函数,例如用于产生到输出层的输出值的整流线性单元(ReLU)激活函数或sigmoid函数。
对于一些常规的硬件神经元,在这些人工神经网络上下文中,权重值和偏差值可能需要存储操作、检索操作和/或修改操作。例如,在推理应用中,每个硬件神经元的权重值和偏差值可能需要存储在芯片外的非易失性存储器中。在硬件神经元的使用期间,权重值和偏差值可从片外非易失性存储器加载到可实现人工神经网络的片上随机存取存储器(RAM)寄存器中。对权重值和偏差值的片外存储器存取可能会显著增加芯片的功耗和/或增加硬件神经元操作的延迟。因此,可能需要对硬件神经元进行配置,以减少通常与将这些值从非易失性存储器加载到硬件神经元相关联的功耗和延迟。
附图说明
在下面的详细描述过程中,将参考附图。附图示出了本公开的不同方面,并且在适当的情况下,在不同附图中示出相同结构、部件、材料和/或元件的附图标记被类似地标记。应当理解,结构、部件和/或元件的各种组合,除了具体示出的那些之外,都被设想到并且在本公开的范围内。
此外,本文描述和说明了本公开的许多实施方案。本公开既不限于任何单个方面或其实施方案,也不限于这些方面和/或实施方案的任何组合和/或排列。此外,本公开的每个方面和/或其实施方案可以单独使用或与本公开的一个或多个其他方面和/或其实施方案组合使用。为了简洁起见,某些排列和组合在本文中未单独讨论和/或示出;然而,所有的排列和组合都被认为落在本发明的范围内。
图1描绘了根据本公开的示例性实施方案的示例性人工神经网络的功能图。
图2描绘了根据本公开的示例性实施方案的图1的人工神经网络的第一硬件神经元的示例。
图3描绘了根据本公开的示例性实施方案的图1的人工神经网络的第二硬件神经元的示例。
图4描绘了根据本公开的示例性实施方案的硬件神经元的示例性存储电路的配置。
图5描绘了根据本公开的示例性实施方案的硬件神经元的存储电路的各种桥元件配置。
图6A描绘了根据本公开的示例性实施方案的被配置用于写入第一值的硬件神经元的多次可编程存储电路的电路的示例。
图6B描绘了根据本公开的示例性实施方案的被配置用于写入第二值的硬件神经元的多次可编程存储电路的电路的示例。
图7A描绘了根据本公开的示例性实施方案的被配置用于读出第一值的硬件神经元的一次性可编程存储电路的电路的示例。
图7B描绘了根据本公开的示例性实施方案的被配置用于读出第二值的硬件神经元的一次性可编程存储电路的电路的示例。
图8A描绘了根据本公开的示例性实施方案使用第一值对存储位的存储电路进行的示例性一次性编程。
图8B描绘了根据本公开的示例性实施方案使用第二值对存储位的存储电路进行的示例性一次性编程。
图9描绘了根据本公开的示例性实施方案的硬件神经元的存储电路的示例性配置。
图10描绘了根据本公开的一个方面的用于操作硬件神经元的示例性方法的流程图。
同样,本文中描述和说明了许多实施方案。本公开既不限于任何单个方面或其实施方案,也不限于这些方面和/或实施方案的任何组合和/或排列。本公开的每个方面和/或其实施方案可以单独使用或与本公开的一个或多个其他方面和/或其实施方案组合使用。为了简洁起见,这些组合和排列中的许多未在本文中单独讨论。
如本文所用,术语“包括(comprises)”、“包括了(comprising)”或其任何其他变体意图涵盖非排他性的包括,使得包括一系列要素的过程、方法、物品或设备不仅包括那些要素,而且可以包括没有明确列出或这种过程、方法、物品、或设备所固有的其他要素。术语“示例性”是以“示例”而非“理想”的含义使用。
具体实施方式
详细的说明性方面在本文中公开。然而,为了描述本公开的示例实施方案的目的,本文公开的具体结构和功能细节仅是代表性的。本公开可以体现为许多替代形式且不应该被理解为仅局限于文中所阐述的实施方案。另外,本文中所使用的术语仅仅是为了描述具体实施方案,并且并不意图限制本文描述的示例性实施方案。
当本说明书参考“一个实施方案”或“一实施方案”时,意欲表示结合正讨论的实施方案描述的特定特征、结构、特性或功能包括在本公开的至少一个设想到的实施方案中。因此,在说明书中不同地方出现的短语“在一个实施方案中”或“在一个实施方案中”不构成对本公开的单个实施方案的多次引用。
如本文使用,单数形式“一个(种)”和“所述”意欲也包括复数形式,除非上下文明确另外指示。还应当注意,在一些替代实现方式中,所描述的特征和/或步骤可以不按图中描绘的或本文讨论的顺序发生。举例来说,连续展示的两个步骤或图可以改为大体上同时执行,或者有时可以按相反的顺序执行,这取决于所涉及的功能/动作。在一些方面中,取决于所涉及的功能/动作,一个或多个描述的特征或步骤可以被完全省略,或者在其间具有中间步骤的情况下执行,而不脱离本文描述的实施方案的范围。
此外,本文中的术语“第一”、“第二”等不表示任何顺序、数量或重要性,而是用于将一个元素与另一个元素区分开来。类似地,相关取向的术语,例如“顶部”、“底部”等,是参考所描述的附图中所示的结构的取向来使用。还应注意,本文公开的所有数值可能与公开的数值有±10%的变化(除非指定不同的变化)。此外,所有相关术语,诸如“约”、“基本上”、“大约”等,用于表示±10%的可能变化(除非另有说明或指定另一个变化)。
在一个方面中,本公开涉及对存储装置进行编程的技术和实现方式,所述存储装置包括例如能够在电源被停用时保存数据的非易失性或“永久”存储器(例如,闪存、MRAM或ReRAM)。尽管下面的描述参考了MRAM或ReRAM存储装置单元,但本发明可以在其他存储装置中实现,包括但不限于电可擦除可编程只读存储器(EEPROM)和/或铁电随机存取存储器(FRAM)。
本公开涉及用于人工神经网络中的存储位的系统和方法,所述系统和方法可以解决上述一个或多个问题。例如,根据某些实施方案,人工神经网络组件(例如,与权重值、偏差值、处理层等相关)可以使用分布式磁阻随机存取存储器(MRAM)位来存储。在这种边缘分布式存储器网络中,一个或多个MRAM位可以在物理上接近一个或多个硬件神经元或人工神经网络的硬件(例如,在每个硬件神经元的500微米(um)以内或在硬件神经元内的功能硬件块的500um以内),并且可用于存储该硬件神经元的人工神经网络组件。一个或多个不同的MRAM位可以在物理上接近同一个人工神经网络的一个或多个其他硬件神经元,并且不同的MRAM位可以用于存储该其他硬件神经元的人工神经网络组件。
如本文别处所述,人工神经网络可包括输入层和输出层。输入层可以接收传入人工神经网络的一个或多个输入。经由输入层提供的输入可以应用于包含硬件神经元的一个或多个隐藏层。可以基于监督、半监督或无监督机器学习来训练一个或多个隐藏层。每个神经元可以具有存储在存储器中的多个组件(例如,权重、偏差、层等)。在训练人工神经网络的训练过程中,一个或多个硬件神经元的组件可以被存取、修改、删除、重写、添加等。因此,在人工神经网络训练过程中可能需要大量的存储器存取。另外,在经过训练的人工神经网络的生产使用期间,可以经由相应的存储器存取来存取和/或应用硬件神经元的组件。另外,人工神经网络可以在生产过程中继续训练(例如,基于反馈)。因此,硬件神经元的组件可以在生产过程中被修改、删除和/或添加。在人工神经网络的推理应用中,每个神经元的多个组件(例如,权重或偏差)可能必须存储在非易失性存储器中。照惯例,这通过将权重或偏差存储在闪存存储器中来完成。来自外部闪存存储器的数据可以在推理应用之前加载到人工神经网络处理器中,并存储在本地可用的易失性存储元件中,例如SRAM、扫描链或寄存器。在这种常规方法中,移动数据和存储元件可能需要额外的功耗。
这样,上述的一个或多个问题可以通过本文描述的某些实施方案来解决。例如,可以基于本文公开的分布式存储(例如,MRAM)架构来减少功耗、计算资源和/或时间。继续前面的示例,本文公开的某些实施方案可以通过提供对人工神经网络组件(例如,权重值、偏差值、处理层等)的片上存取(例如,代替片外存取)来减少功耗、计算资源和/或延迟。另外,通过具有片上存取,某些实施方案可以减少将值从存储器提供到处理电路所需的路由量,这可以节省芯片空间、减少或消除人工神经网络中的电路,等等。
现在参看图1,描绘了根据本公开的示例性实施方案的示例性人工神经网络100的功能图。如图所示,人工神经网络100可以包括输入层102、隐藏层104和输出层106。输入层102可以向隐藏层104提供输入值108,所述隐藏层可以处理输入值108。隐藏层104可包括用于执行处理的一个或多个硬件神经元110(本文也称为神经元装置),并且隐藏层104可将处理结果提供给输出层106(例如,输出层106的硬件神经元112),用于输出给用户、用于进一步处理等。
如本文更详细描述的,权重值和偏差值可以存储在非易失性存储器中并且可以在人工神经网络100的操作期间使用。例如,权重值可以与输入层102与隐藏层104之间以及隐藏层104与输出层106之间的每条弧(或突触)相关联。弧在图1中示出为这些层之间的箭头。另外地或替代地,偏差值可以与人工神经网络100中的每个硬件神经元110、112相关联。
尽管本文可能在人工神经网络100的上下文中描述某些实施方案,但某些实施方案可适用于前馈神经网络、径向基函数神经网络、Kohonen自组织神经网络、递归神经网络(RNN)、卷积神经网络(CNN)、模块化神经网络(MNN)等。
图2描绘了根据本公开的示例性实施方案的图1的人工神经网络100的第一硬件神经元110的示例200。例如,图2描绘了图1的人工神经网络100的硬件神经元110的功能图;然而,某些实施方案可同样适用于硬件神经元112。
如图所示,硬件神经元110可以包括权重运算电路114,所述权重运算电路可以被配置为对输入值108执行运算,例如乘法运算。例如,乘法运算可包括将在硬件神经元110处接收的输入值108乘以与硬件神经元110相关联的一个或多个权重值122。权重值122可以存储在靠近硬件神经元110和/或权重运算电路114的存储电路118中。权重运算电路114可以从存储电路118读取权重值122并且可以将一个或多个输入值108乘以权重值122。权重运算电路114可以使用乘法器电路将输入值108乘以权重值。作为具体示例,权重运算电路114可以将输入值108a乘以权重值122a(例如,a1*W1)。在某些实施方案中,权重值122可以例如在人工神经网络100的训练期间基于反馈回路来更新。
硬件神经元110还可以包括偏差运算电路116,所述偏差运算电路可以被配置为对权重运算电路114的输出执行运算,例如加法器或求和运算。例如,偏差运算电路116可以将一个或多个偏差值124加到从权重运算电路114输出的加权值上。偏差值124可以存储在靠近硬件神经元110和/或偏差运算电路116的存储电路118中。偏差运算电路116可以从存储电路118读取偏差值124并且可以将偏差值124加到从权重运算电路114输出的加权值上。在一些实施方案中,偏差运算电路116可以使用求和电路来加上偏差值124。作为具体示例,可以将从权重运算电路114输出的加权值(例如,输入值108a的加权值[a1*W1])加到偏差值124上(例如,偏差运算电路116可能会产生和(a1*W1+b1)的有偏加权值)。
存储电路118(例如,被配置为存储位或配置位)可以另外包括在硬件神经元110中。存储电路118可以包括存储一个或多个权重值或偏差值的非易失性存储器,例如MRAM位。例如,存储电路118a、118b可以存储权重值122a、122b,权重运算电路114a、114b可以分别读取所述权重值。作为另一个示例,存储电路118c可以存储偏差值124,偏差运算电路116可以读取所述偏差值。
存储电路118可以存储单个位或者可以存储用于不同的操作配置的多个位。例如,存储电路118a可以存储第一操作条件的第一权重值、第二操作条件的第二权重值等等。如本文更详细描述的,存储电路118可以包括用于每个位的桥元件(例如,MTJ桥)和电压放大器电路。
这样,硬件神经元110可以与多组存储电路118相关联,每组对应于不同的运算电路114、116。另外,这样,存储电路118可以靠近对应的运算电路114、116,这可以减少从存储电路118读取值的功耗和/或延迟。取决于硬件神经元110的电路布局,某些实施方案可以包括用于权重运算电路114a、114b的组合存储电路118(例如,存储电路118a、118b可以组合成一组存储电路118,其中存储电路118c是单独的一组存储电路118);或者存储电路118a、118c可以组合成一组存储电路118,但存储不同类型的值。
存储电路118(例如,MRAM存储位或配置位)可以包括一个或多个MTJ或其他类型的电阻元件。例如,并且如本文更详细描述的,存储电路118可以包括多个MTJ的桥元件。MTJ可能具有使用产品电压漏极电源(VDD)(例如0.8V、1V、1.2V或1.5V)的写入和读取能力。
如图2中进一步示出,偏差运算电路116可以将执行某些运算的结果输出到激活函数电路120,所述激活函数电路可以实现ReLU激活函数或sigmoid激活函数。激活函数电路120可以将值输出到输出层106的硬件神经元112。硬件神经元112可以包括针对硬件神经元110所描述的类似的电路配置。例如,硬件神经元112的不同的多组运算电路可以各自与一组存储电路118相关联,用于存储在硬件神经元112的输出层106的操作中使用的值。硬件神经元112的存储电路可以不同于硬件神经元110的存储电路118,例如,以有助于硬件神经元112的存储电路118靠近硬件神经元112的组件定位。
图3描绘了根据本公开的示例性实施方案的图1的人工神经网络100的第二硬件神经元110的示例300。例如,图3描绘了图1的人工神经网络100的硬件神经元110的功能图(例如,图3描绘了图2中描绘的硬件神经元配置的硬件神经元110的替代配置)。
如图所示,图3的硬件神经元110可以包括与图2中示出的示例200类似的权重运算电路114a、114b、偏差运算电路116和激活函数电路120。硬件神经元110还可以包括存储电路118。然而,不是包括用于不同运算电路114、116的多组存储电路118,示例300可以包括用于存储权重值122a、122b和偏差值124的一组存储电路118。在示例300中,存储电路118可以包括迷你阵列,并且人工神经网络100的不同硬件神经元110可以包括不同的迷你阵列。在一些实施方案中,人工神经网络100可以包括分布在人工神经网络100上的多个存储电路阵列118(而不是图3中所示的单个阵列)。例如,隐藏层104的每个硬件神经元110和/或输出层106的每个硬件神经元112可以包括类似于图3中示出为存储电路118的阵列。
图4描绘了根据本公开的示例性实施方案的硬件神经元的示例性存储电路118的配置400。例如,图4描绘了根据本公开的示例性实施方案的被配置用于读出第一值或第二值的多次可编程存储电路118(例如,存储或配置位)的电路。例如,存储电路118可以是MRAM(例如,切换MRAM或自旋转移矩(STT)MRAM)或可以被重新编程多次以表示不同值的ReRAM。图4中所示的存储电路118的电路可以读出第一值(例如,二进制0和1系统的0值)或第二值(例如,二进制0和1系统的1值)。
如图所示,存储电路118可以包括MTJ桥402、电压放大器404和反相器(图4中未示出)。MTJ桥402可以包括一个或多个电阻元件408(例如,电阻元件408a、408b、408c和408d)。尽管图4将MTJ桥402示出为包括四个电阻元件408,但某些实施方案可以包括大于四个的任何数量的多个电阻元件408(例如,5个、6个、7个、8个等电阻元件)。电阻元件408可以包括MTJ或能够对电流的流动提供阻力的另一种类型的电气部件。例如,电阻元件408可以具有多个电阻状态(例如,低电阻状态(平行)Rp和高电阻状态(反平行)Rap)。
MTJ桥402还可以包括一个或多个电极412(例如,电极412a、412b、412c和412d)以将不同的电阻元件408串联或并联电连接。例如,MTJ桥402可以包括四个电阻元件,其中两个第一电阻元件串联电连接并且两个第二电阻元件串联电连接并且其中第一电阻元件与第二电阻元件并联电连接。作为具体示例,电阻元件408a、408b(形成第一组电阻元件408)可以经由电极412a串联电连接,电阻元件408c、408d(形成第二组电阻元件408)可以经由电极412b串联电连接,并且第一组和第二组电阻元件可以经由电极412c、412d并联电连接。
如图2中进一步示出,存储电路118可以包括一个或多个电连接410(例如,电连接410a、410b、410c、410d和410e)。电连接410a可以将电极412a电连接到电压源(图4中未示出)并且电连接410b可以将电极412b电连接到电压源。电连接410c可以将电极412c电连接到电压放大器404的输入端并且电连接410d可以将电极412d电连接到电压放大器404的输入端。电连接410e可以将电压放大器的输出端电连接到反相器(图4中未示出)。取决于反相器的栅极是打开还是闭合,反相器可能处于不同的状态。基于施加到MTJ桥402的电压,反相器可以处于指示第一值(例如,1值)的第一状态(例如,1状态)。
如上所述,电阻元件408可以具有两种电阻状态(例如,高电阻状态Rap和低电阻状态Rp)。对于反相器的第一状态,电阻元件408a、408d可以处于高电阻状态并且电阻元件408b、408c可以处于低电阻状态。对于反相器的第二状态,电阻元件408a、408d可以处于低电阻状态并且电阻元件408b、408c可以处于高电阻状态。
在一些实施方案中,图4中所示的存储电路118的MTJ桥402可以存储一个位,并且存储电路118可以被配置有针对多个位的图4中所示的MTJ桥402的多个实例。如本文别处所述,MTJ桥402可以被读取、多次编程(MTP)和/或一次性编程(OTP)。
图5描绘了根据本公开的示例性实施方案的硬件神经元110的存储电路118的各种桥元件配置500。例如,不同的桥元件配置402a、402b、402c、402d和402e可以提供对不同值的存储。在存储电路118包括多个位的配置中(例如,MTJ桥402的多个实例),存储电路118可以包括多个桥元件配置500,所述桥元件配置可以各自基于配置500而被配置为相同或不同的值。在存储电路118包括单个位的其他配置中(例如,MTJ桥402的单个实例),存储位可以被多次编程到配置500中以用于存储不同的值。
桥元件配置500可以基于电阻元件408的不同电阻(Rp和Rap)配置而存储不同的值。例如,一个或多个电阻器和/或有效电阻器(例如,四个MTJ作为电阻元件408)的电阻值可以被配置为输出位值的各种组合。单个MTJ桥402可以基于其配置的(例如,存储的)电阻值而输出两个或更多个状态。具有多个阈值电平的电压放大器可以用于从相同的MTJ桥元件402输出多个状态(例如,多于两个输出)。
因此,一个或多个配置位可以使用MTJ桥402来使用各种电阻配置位存储更大量或更复杂的数据。例如,人工神经网络100可能必须使用多个位来存储权重值和/或偏差值。可以使用电阻元件408的一种或多种配置(例如,通过修改电阻值)来使用多个位存储权重值和/或偏差值。这样,桥元件402可用于基于不同配置500而存储一位或多位数据。在一些实施方案中,配置500可以包括一个或多个感测电路。
这样,虽然人工神经网络100可能必须在整个人工神经网络100上使用大量存储空间(例如,千兆位或更多),但本文描述的某些实施方案可以用于靠近硬件神经元110、112(或硬件神经元110、112的运算电路)的小存储空间(例如,1至8个MRAM位)。这可以有助于基于硬件神经元110、112的操作而不是基于整个人工神经网络100的操作来确定存储电路(例如,存储电路118)的大小。这可以节省芯片空间,允许硬件神经元110、112更快和以更低功率存取所存储的信息,等等。
图6A描绘了根据本公开的示例性实施方案的被配置用于写入第一值的硬件神经元(例如,硬件神经元110或硬件神经元112)的多次可编程存储电路118的示例600。示例600可以包括以与图4中所示的配置400类似的方式配置的MTJ桥402、电压放大器404、反相器、电阻元件408、电连接410和电极412(为阐释目的,其中一些未在图6中示出)。
基于对电极412c(例如,第一底部电极)施加的正Vdd和对电极412d(例如,第二底部电极)施加的接地电压(GND),反相器(图6A中未示出)可以处于指示第一值(例如,0值)的第一状态(例如,0状态)。在这种状态下,基于施加Vdd和GND,电流可以从电极412c向上流过电阻元件408a并向下流过电阻元件408c,通过电极412a、412b(例如,顶部电极),然后向下通过电阻元件408b并向上通过电阻元件408d到达电极412d。对电极412c施加的正Vdd可以高于电阻元件的开关电压,并且低于电阻元件的击穿电压。
转向图6B,描绘了根据本公开的示例性实施方案的被配置为写入第二值的多次可编程存储电路118的电路的示例600。示例600可以包括以与图6B中所示的示例600类似的方式配置的MTJ桥402、电压放大器404、反相器、电阻元件408、电连接410和电极412(为阐释目的,其中一些未在图6B中示出)。
基于对电极412d(例如,第二底部电极)施加的正Vdd和对电极412c(例如,第一底部电极)施加的GND电压,反相器(图6B中未示出)可以处于指示第二值(例如,1值)的第二状态(例如,1状态)。在这种状态下,基于施加Vdd和GND,电流可以从电极412d向上流过电阻元件408b并向下流过电阻元件408d,通过电极412a、412b(例如,顶部电极),然后向下通过电阻元件408a并向上通过电阻元件408c到达电极412c。
图7A描绘了根据本公开的示例性实施方案的被配置用于读出第一值的硬件神经元的一次性可编程存储电路118的电路的示例700。例如,存储电路118可能不能重新编程为另一个值。示例700可以包括以与图4所示的配置400类似的方式配置的MTJ桥402、电压放大器404、反相器406、电阻元件408、电连接410和电极412。然而,不是使电阻元件408b、408c处于低或高电阻状态,电阻元件408b、408c可以被短路(在图7A中由“短路”标识)。这些电阻元件的短路可以使反相器406永久处于指示第一值(例如,1值)的第一状态(例如,1状态)。
转向图7B,描绘了根据本公开的示例性实施方案的被配置用于读出第二值的硬件神经元(例如,硬件神经元110或硬件神经元112)的一次性可编程存储电路118的电路的示例700。例如,存储电路118可能不能重新编程为另一个值。示例700可以包括以与图4所示的示例400类似的方式配置的MTJ桥402、电压放大器404、反相器406、电阻元件408、电连接410和电极412。然而,不是使电阻元件408a和408d处于低或高电阻状态,电阻元件408a和408d可以被短路。这些电阻元件408的短路可以使反相器406永久处于指示第二值(例如,0值)的第二状态(例如,0状态)。
图8A描绘了根据本公开的示例性实施方案的使用第一值对存储位的存储电路118进行的示例性一次性编程800。所述电路可以包括类似于本文别处所描述的MTJ桥402、电压放大器404、反相器、电阻元件408、电连接410和电极412(出于阐释目的,其中一些未在图8A中示出)。电阻元件408a、408b可以形成第一组电阻元件408并且电阻元件408c、408d可以形成第二组电阻元件408。
所述编程可以包括用于以与上文结合图7的示例700所描述的方式类似的方式来配置电路的两个步骤802、804。第一步骤802可以包括在电阻元件408两端施加各种电压(例如,同时或不同时间)。例如,可以在电阻元件408b(第一组电阻元件408中的一个)两端施加相对较高(与Vdd相比)的编程电压(Vprog)806以使电阻元件408b短路。这样,正电压可以从电极412d跨电阻元件408b施加到电极412a以使用第一值对存储电路118进行编程。
第二步骤804可以包括在电阻元件408两端施加各种电压(例如,同时或不同时间)。例如,可以在电阻元件408c(第二组电阻元件408中的一个)两端施加相对较高(与Vdd相比)的编程电压(Vprog)814以使电阻元件408c短路。这样,正电压可以从电极412b跨电阻元件408c施加到电极412c以使用第一值对存储电路118进行编程。
转向图8B,描绘了根据本公开的示例性实施方案的使用第二值对存储位的存储电路118进行的示例性一次性编程800。所述电路可以包括类似于本文别处所描述的MTJ桥402、电压放大器404、反相器、电阻元件408、电连接410和电极412(出于阐释目的,其中一些未在图8B中示出)。电阻元件408a、408b可以形成第一组电阻元件408并且电阻元件408c、408d可以形成第二组电阻元件408。
所述编程可以包括用于以与上文结合图7B的示例700所描述的方式类似的方式来配置电路的两个步骤816、818。第一步骤816可以包括在电阻元件408两端施加各种电压(例如,同时或不同时间)。例如,可以在电阻元件408a(第一组电阻元件408中的一个)两端施加相对较高的Vprog 820以使电阻元件408a短路。这样,正电压可以从电极412c跨电阻元件408a施加到电极412a以使用第二值对存储电路118进行编程。
第二步骤818可以包括在电阻元件408两端施加各种电压(例如,同时或不同时间)。例如,可以在电阻元件408d(第二组电阻元件408中的一个)两端施加相对较高的Vprog826以使电阻元件408d短路。这样,正电压可以从电极412b跨电阻元件408d施加到电极412d以使用第二值对存储电路118进行编程。
图9描绘了根据本公开的示例性实施方案的硬件神经元(例如,硬件神经元110或硬件神经元112)的存储电路118的示例性配置900。例如,图9示出了图4至图8b中所示的存储电路118的配置的替代方案。示例配置900可以包括各种读取电路组902。例如,存储电路118可以包括包含两个晶体管的读取电路902a、包含一个晶体管的读取电路902b和包含一个晶体管的读取电路902c。读取电路902a可以经由电压源(Vsup)连接电连接到交叉耦合反相器电路904。交叉耦合反相器电路904可以包括四个晶体管并且可以包括输出电路906a(在图9中标记为“out”)和906b(在图9中标记为“out_b”)。读取电路902b可以与存储位电路908a相关联并且可以读取存储在存储位电路908a中的值。读取电路902c可以与存储位电路908b相关联并且可以读取存储在存储位电路908b中的值。
交叉耦合反相器电路904可以产生指示MRAM存储位状态的输出out和out_b(out_b可以是out输出的相反极性信号)。在读取操作期间,读取电路902a可以从VDD转变为接地(Gnd),导致Vsup从Gnd转变为VDD并且导致out/out_b不再被下拉到Gnd。存储位电路908a和908b之间的电流差异可能导致out和out_b电路提供全摆幅(Gnd或VDD)输出。存储位电路908a和908b中的MTJ状态可以产生电流差。存储位电路908a或908b可用单个MTJ或一系列两个或更多个MTJ来实施以减少MTJ变化。图9中所示的实施方案的替代配置是可能的。例如,MTJ桥可以以任何其他配置连接到交叉耦合反相器电路904以对电压或电流差做出响应。
存储位电路908a和908b中的MTJ的串联连接可以帮助确保通过任何MTJ的读取电流被最小化以避免存储的MTJ状态的任何读取中断。在写入操作期间,其他p型金属氧化物半导体(PMOS)和n型金属氧化物半导体(NMOS)晶体管(图9中未示出)可连接到MTJ桥以一次写入一个或多个MTJ(例如,一次写入两个或两个的倍数的MTJ)。因此,写电流可以以类似于图6a至图7b所示的方式通过至少两个串联的MTJ。这样,某些实施方案可以在读取存储位之后提供无静态电流消耗。替代实施方案(此处未示出)可以用于执行如上所述的相同功能,其中交叉耦合反相器电路类似于图9所示的交叉耦合反相器电路。例如,MTJ桥908a、908b可以位于Vsup节点与交叉耦合反相器电路904之间。充当跟随器电路的额外NMOS晶体管可以控制在MTJ桥908a、908b两端施加的电压。
图10描绘了根据本公开的一个方面的用于操作硬件神经元110的示例性方法1000的流程图。例如,方法1000可以结合人工神经网络100的操作来使用硬件神经元110。
在步骤1002中,方法1000可以包括在装置的权重运算电路处经由所述装置的输入电路接收值。例如,硬件神经元110可以在硬件神经元110的权重运算电路114处经由输入层102的输入电路接收值108。在上述图2和图3的背景中,硬件神经元110可以在权重运算电路114处分别接收值108a和108b。作为人工神经网络100的训练过程的一部分,硬件神经元110可以接收所述值,并且在整个训练过程中可以接收各种输入值108。
在步骤1004中,方法1000可以包括在权重运算电路处将来自所述装置的存储电路的权重值应用于所述值以形成加权值。例如,硬件神经元110可以在权重运算电路114处应用来自硬件神经元110的存储电路118的权重值122以形成加权值。所述应用可以包括硬件神经元110使用权重运算电路114将值108乘以权重值122。例如,并且如本文别处所述,硬件神经元110可以将值a1乘以权重值W1以形成乘积a1W1。在上述图2的背景中,硬件神经元110可以在权重运算电路114a处将来自存储电路118a的权重值122a应用于输入值108a并且可以在权重运算电路114b处将来自存储电路118b的权重值122b应用于输入值108b。在上述图3的背景中,硬件神经元110可以在权重运算电路114a处将来自存储电路118的权重值122a应用于输入值108a并且可以在权重运算电路114b处将来自存储电路118的权重值122b应用于输入值108b。
在一些实施方案中,结合将权重值122应用于输入值108,权重运算电路114可以从存储电路118读取权重值122,可以从存储电路118接收权重值122的传输,等等。
方法1000可以包括在步骤1006将加权值提供到所述装置的偏差运算电路。例如,硬件神经元110可以将加权值提供到硬件神经元110的偏差运算电路116。作为具体示例,硬件神经元110可以在将权重值122应用于输入值108之后将来自权重运算电路114的加权值a1W1提供到偏差运算电路116。在图2和图3的背景中,硬件神经元110可以将在权重运算电路114a、114b处计算出的加权值提供到偏差运算电路116。
在步骤1008,方法1000可以包括在偏差运算电路处将来自存储电路的偏差值应用于加权值以形成有偏加权值。例如,硬件神经元110可以在偏差运算电路116处将来自存储电路118的偏差值124应用于加权值以形成有偏加权值。在图2的背景中,硬件神经元110可以在偏差运算电路116处将来自存储电路118c的偏差值124应用于从权重运算电路114a、114b接收到的加权值。作为具体示例,偏差运算电路116可以将偏差值124加到来自权重运算电路114的加权值上(例如,偏差运算电路116可以产生和(a1*W1+b1)的有偏加权值)。在图3的背景中,硬件神经元110可以在偏差运算电路116处将来自存储电路118的偏差值124应用于从权重运算电路114a、114b接收到的加权值。
方法1000可以包括在1010将有偏加权值提供到所述装置的激活函数电路。例如,硬件神经元110可以在将偏差值124应用于来自权重运算电路114的加权值之后将来自偏差运算电路116的有偏加权值提供到激活函数电路120。在图2和图3的背景中,硬件神经元110可以从偏差运算电路116向激活函数电路120提供和(a1*W1+b1)与和(a2*W2+b2)。
方法1000可以包括在1012将来自激活函数电路的输出提供到所述装置的输出电路。例如,硬件神经元110可以将来自激活函数电路120的输出提供到硬件神经元110的输出电路,然后提供到输出层106的硬件神经元112。
此处描述的某些实施方案可以包括额外的或替代的方面。作为一个示例方面,存储电路118可以用更新的权重值122或偏差值124重新编程,并且可以基于更新的值重新执行方法1000的某些操作。
本文描述的某些实施方案能够容忍人工神经网络100应用中的高错误率。这样,可以基于容错度来识别可接受的和不可接受的错误率,并且在一些实施方案中,可以基于高容错度来省略纠错码(ECC),或者可实施纠错码(ECC),使得如果满足高容错度,则激活ECC。因此,存储位可以根据所需的误码率实现ECC位和ECC校正。这可以节省与实施ECC或以较低错误率阈值实施ECC相关联的资源和/或芯片空间。
这样,本文描述的某些实施方案可以使用接近于要使用某些值的电路的电路来提供对所述值的片上存储。使用此类片上存储,可以减少检索、存储和/或更新此类值的时间和计算资源成本(例如,功耗)。本文公开的某些实施方案,例如基于MTJ的电路配置,可以使得每个MTJ桥实现多位存储。另外地或替代地,对存储器的片上存取可以减少或消除原本会与外部存储器存取相关联的连接丢失的风险。另外地或替代地,某些实施方案可以增强受训网络的权重值和/或偏差值的安全性,例如在推理应用中。另外地或替代地,某些实施方案可以实现在MTP模式下对存储位进行写入,诸如在训练应用中,与使用片外非易失性存储器相比,这样可以节省功率和/或减少延迟。例如,在学习应用中,权重值122和偏差值124可能需要不断调整,因此导致频繁的存储器存取;并且使多次可编程存储电路118位于操作电路114、116附近可以减少训练时间和与训练相关的功耗。
在一个实施方案中,一种装置可包括:输入电路;权重运算电路,所述权重运算电路电连接到所述输入电路;偏差运算电路,所述偏差运算电路电连接到所述权重运算电路;存储电路,所述存储电路电连接到所述权重运算电路和所述偏差运算电路;以及激活函数电路,所述激活函数电路电连接到所述偏差运算电路,其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。
所述装置的各种实施方案可包括:其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且其中所述存储电路包括电连接到所述第一权重运算电路的第一存储电路、电连接到所述第二权重运算电路的第二存储电路以及电连接到所述偏差运算电路的第三存储电路;其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且其中所述存储电路电连接到所述第一权重运算电路、所述第二权重运算电路和所述偏差运算电路;其中所述存储电路包括一个或多个存储位;其中所述一个或多个存储位各自包括一个或多个电阻元件和电压放大器;其中所述一个或多个电阻元件包括至少四个电阻元件,其中至少两个第一电阻元件串联电连接并且至少两个第二电阻元件串联电连接,其中所述至少两个第一电阻元件与所述至少两个第二电阻元件并联电连接,并且其中所述电压放大器的输入端电连接到所述至少两个第一电阻元件之间的第一电极并且连接到所述至少两个第二电阻元件之间的第二电极;其中所述一个或多个电阻元件中的每一者包括磁隧道结(MTJ);其中所述一个或多个存储位包括在单个位阵列中;其中所述装置包括在人工神经网络中的硬件神经元;所述装置还包括电连接到所述激活函数电路的输出电路;其中所述一个或多个存储位中的每一者包括:第一组电阻元件和第二组电阻元件,电连接到所述第一组电阻元件的第一读取电路和电连接到所述第二组电阻元件的第二读取电路,交叉耦合反相器电路,所述交叉耦合反相器电路电连接到所述第一读取电路和所述第二读取电路,以及第三读取电路,所述第三读取电路电连接到所述交叉耦合反相器电路。
在另一个实施方案中,一种用于人工神经网络的神经元装置可包括:输入电路;权重运算电路,所述权重运算电路电连接到所述输入电路;偏差运算电路,所述偏差运算电路电连接到所述权重运算电路;存储电路,所述存储电路电连接到所述权重运算电路和所述偏差运算电路;以及激活函数电路,所述激活函数电路电连接到所述偏差运算电路,其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。
所述神经元装置的各种实施方案可包括:其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且其中所述存储电路包括电连接到所述第一权重运算电路的第一存储电路、电连接到所述第二权重运算电路的第二存储电路以及电连接到所述偏差运算电路的第三存储电路;其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且其中所述存储电路电连接到所述第一权重运算电路、所述第二权重运算电路和所述偏差运算电路;其中所述存储电路包括一个或多个存储位,其中所述一个或多个存储位中的每一者包括一个或多个电阻元件和电压放大器;其中所述一个或多个电阻元件包括至少四个电阻元件,其中至少两个第一电阻元件串联电连接并且至少两个第二电阻元件串联电连接,其中所述至少两个第一电阻元件与所述至少两个第二电阻元件并联电连接,并且其中所述电压放大器的输入端电连接到所述至少两个第一电阻元件之间的第一电极并且连接到所述至少两个第二电阻元件之间的第二电极;其中所述一个或多个存储位包括在单个位阵列中;所述神经元装置还包括电连接到所述激活函数电路的输出电路;其中所述一个或多个存储位中的每一者包括:第一组电阻元件和第二组电阻元件,电连接到所述第一组电阻元件的第一读取电路和电连接到所述第二组电阻元件的第二读取电路,交叉耦合反相器电路,所述交叉耦合反相器电路电连接到所述第一读取电路和所述第二读取电路,第三读取电路,所述第三读取电路电连接到所述交叉耦合反相器电路。
在又一个实施方案中,一种操作人工神经网络的装置的方法可包括:在所述装置的权重运算电路处经由所述装置的输入电路接收值;在所述权重运算电路处将来自所述装置的存储电路的权重值应用于所述值以形成加权值;将所述加权值提供到所述装置的偏差运算电路;在所述偏差运算电路处将来自所述存储电路的偏差值应用于所述加权值以形成有偏加权值;以及将所述有偏加权值提供到所述装置的激活函数电路,其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。
虽然本文参考特定应用的说明性示例描述了本公开的原理,但是应当理解本公开不限于此。例如,代替基于MTJ的位单元,诸如电阻RAM或铁电RAM位技术的另一种存储位可以用于设计本公开的反熔丝电路。另一存储位可以具有编程状态和至少一个未编程状态。至少一个未编程状态还可以包括多个未编程状态,例如,低未编程状态、高未编程状态和一个或多个中间未编程状态。本领域的普通技术人员和获得本文提供的教导的人员将认识到额外的修改、应用、实施方案和等同物的替代均落入本文描述的特征的范围内。因此,要求保护的特征不应被视为受前述描述的限制。
为了清楚和理解的目的,已经描述了本发明的前述描述。并不旨在将本发明限制为所公开的精确形式。在本申请的范围和等同范围内可以进行各种修改。

Claims (20)

1.一种装置,所述装置包括:
输入电路;
权重运算电路,所述权重运算电路电连接到所述输入电路;
偏差运算电路,所述偏差运算电路电连接到所述权重运算电路;
存储电路,所述存储电路电连接到所述权重运算电路和所述偏差运算电路;以及
激活函数电路,所述激活函数电路电连接到所述偏差运算电路,
其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。
2.如权利要求1所述的装置,其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且
其中所述存储电路包括电连接到所述第一权重运算电路的第一存储电路、电连接到所述第二权重运算电路的第二存储电路以及电连接到所述偏差运算电路的第三存储电路。
3.如权利要求1所述的装置,其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且
其中所述存储电路电连接到所述第一权重运算电路、所述第二权重运算电路和所述偏差运算电路。
4.如权利要求1所述的装置,其中所述存储电路包括一个或多个存储位。
5.如权利要求4所述的装置,其中所述一个或多个存储位各自包括一个或多个电阻元件和电压放大器。
6.如权利要求5所述的装置,其中所述一个或多个电阻元件包括至少四个电阻元件,其中至少两个第一电阻元件串联电连接并且至少两个第二电阻元件串联电连接,其中所述至少两个第一电阻元件与所述至少两个第二电阻元件并联电连接,并且
其中所述电压放大器的输入端电连接到所述至少两个第一电阻元件之间的第一电极并且电连接到所述至少两个第二电阻元件之间的第二电极。
7.如权利要求5所述的装置,其中所述一个或多个电阻元件中的每一者包括磁隧道结(MTJ)。
8.如权利要求4所述的装置,其中所述一个或多个存储位包括在单个位阵列中。
9.如权利要求1所述的装置,其中所述装置包括在人工神经网络中的硬件神经元。
10.如权利要求1所述的装置,所述装置还包括电连接到所述激活函数电路的输出电路。
11.如权利要求4所述的装置,其中所述一个或多个存储位中的每一者包括:
第一组电阻元件和第二组电阻元件,
电连接到所述第一组电阻元件的第一读取电路和电连接到所述第二组电阻元件的第二读取电路,
交叉耦合反相器电路,所述交叉耦合反相器电路电连接到所述第一读取电路和所述第二读取电路,以及
第三读取电路,所述第三读取电路电连接到所述交叉耦合反相器电路。
12.一种用于人工神经网络的神经元装置,所述神经元装置包括:
输入电路;
权重运算电路,所述权重运算电路电连接到所述输入电路;
偏差运算电路,所述偏差运算电路电连接到所述权重运算电路;
存储电路,所述存储电路电连接到所述权重运算电路和所述偏差运算电路;以及
激活函数电路,所述激活函数电路电连接到所述偏差运算电路,
其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。
13.如权利要求12所述的神经元装置,其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且
其中所述存储电路包括电连接到所述第一权重运算电路的第一存储电路、电连接到所述第二权重运算电路的第二存储电路以及电连接到所述偏差运算电路的第三存储电路。
14.如权利要求12所述的神经元装置,其中所述权重运算电路包括第一权重运算电路和第二权重运算电路,并且
其中所述存储电路电连接到所述第一权重运算电路、所述第二权重运算电路和所述偏差运算电路。
15.如权利要求12所述的神经元装置,其中所述存储电路包括一个或多个存储位,其中所述一个或多个存储位中的每一者包括一个或多个电阻元件和电压放大器。
16.如权利要求15所述的神经元装置,其中所述一个或多个电阻元件包括至少四个电阻元件,其中至少两个第一电阻元件串联电连接并且至少两个第二电阻元件串联电连接,其中所述至少两个第一电阻元件与所述至少两个第二电阻元件并联电连接,并且
其中所述电压放大器的输入端电连接到所述至少两个第一电阻元件之间的第一电极并且电连接到所述至少两个第二电阻元件之间的第二电极。
17.如权利要求15所述的神经元装置,其中所述一个或多个存储位包括在单个位阵列中。
18.如权利要求12所述的神经元装置,所述神经元装置还包括电连接到所述激活函数电路的输出电路。
19.如权利要求15所述的神经元装置,其中所述一个或多个存储位中的每一者包括:
第一组电阻元件和第二组电阻元件,
电连接到所述第一组电阻元件的第一读取电路和电连接到所述第二组电阻元件的第二读取电路,
交叉耦合反相器电路,所述交叉耦合反相器电路电连接到所述第一读取电路和所述第二读取电路,以及
第三读取电路,所述第三读取电路电连接到所述交叉耦合反相器电路。
20.一种操作人工神经网络的装置的方法,所述方法包括:
在所述装置的权重运算电路处经由所述装置的输入电路接收值;
在所述权重运算电路处将来自所述装置的存储电路的权重值应用于所述值以形成加权值;
将所述加权值提供到所述装置的偏差运算电路;
在所述偏差运算电路处将来自所述存储电路的偏差值应用于所述加权值以形成有偏加权值;以及
将所述有偏加权值提供到所述装置的激活函数电路,
其中至少所述权重运算电路、所述偏差运算电路和所述存储电路位于同一个芯片上。
CN202310128574.6A 2022-03-07 2023-02-17 用于人工神经网络中的存储位的系统和方法 Pending CN116720555A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/268,953 2022-03-07
US17/893,462 2022-08-23
US17/893,462 US20230281434A1 (en) 2022-03-07 2022-08-23 Systems and methods for a storage bit in an artificial neural network

Publications (1)

Publication Number Publication Date
CN116720555A true CN116720555A (zh) 2023-09-08

Family

ID=87866631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310128574.6A Pending CN116720555A (zh) 2022-03-07 2023-02-17 用于人工神经网络中的存储位的系统和方法

Country Status (1)

Country Link
CN (1) CN116720555A (zh)

Similar Documents

Publication Publication Date Title
US20240086697A1 (en) Counter based resistive processing unit for programmable and reconfigurable artificial-neural-networks
TWI773076B (zh) 運用於二進位類神經網路系統的乘積累加電路
TWI715048B (zh) 隨機碼產生器及相關隨機碼產生方法
US11393528B2 (en) RRAM circuit and method
US9502114B1 (en) Non-volatile ternary content-addressable memory with bi-directional voltage divider control and multi-step search
CN109584932B (zh) 记忆体装置及其操作方法
US20100165710A1 (en) Random access memory architecture including midpoint reference
US9099179B2 (en) Thermodynamic bit formed of two memristors
CN111194467A (zh) 差分忆阻电路
US8446754B2 (en) Semiconductor memory apparatus and method of driving the same
US8995167B1 (en) Reverse program and erase cycling algorithms
EP4242927A1 (en) Systems and methods for a storage bit in an artificial neural network
Chabi et al. On-chip universal supervised learning methods for neuro-inspired block of memristive nanodevices
CN116720555A (zh) 用于人工神经网络中的存储位的系统和方法
US10147492B1 (en) MOSFET threshold voltage sensing scheme for non-volatile memory
US12315562B2 (en) RRAM circuit and method
KR20250142636A (ko) 준 비휘발성 메모리 소자를 이용한 이진화 신경망 회로
Pedretti et al. Computing with nonvolatile memories for artificial intelligence
KR102612011B1 (ko) 인공 신경망 소자 및 이의 동작 방법
US12437792B2 (en) Data logic processing circuit integrated in a data storage circuit
KR102511526B1 (ko) 하드웨어 기반 인공 신경망 제공 장치
US20250190127A1 (en) Memory for artificial intelligence application and methods thereof
EP4517589A1 (en) Systems and methods for using distributed memory configuration bits in artificial neural networks
CN120048310B (zh) 驱动电路、存储器装置及其操作方法
US20220383083A1 (en) Method for training a binarized neural network and related electronic circuit

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