CN115511068A - 存储器设备和用于基于使用频率改变编程状态间距的方法 - Google Patents

存储器设备和用于基于使用频率改变编程状态间距的方法 Download PDF

Info

Publication number
CN115511068A
CN115511068A CN202211235292.8A CN202211235292A CN115511068A CN 115511068 A CN115511068 A CN 115511068A CN 202211235292 A CN202211235292 A CN 202211235292A CN 115511068 A CN115511068 A CN 115511068A
Authority
CN
China
Prior art keywords
memory cell
memory cells
array
read
voltage
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
CN202211235292.8A
Other languages
English (en)
Inventor
H·V·特兰
S·莱姆克
V·蒂瓦里
N·多
M·雷顿
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.)
Silicon Storage Technology Inc
Original Assignee
Silicon Storage Technology 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
Application filed by Silicon Storage Technology Inc filed Critical Silicon Storage Technology Inc
Publication of CN115511068A publication Critical patent/CN115511068A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0425Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a merged floating gate and select transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
    • H01L29/40Electrodes ; Multistep manufacturing processes therefor
    • H01L29/41Electrodes ; Multistep manufacturing processes therefor characterised by their shape, relative sizes or dispositions
    • H01L29/423Electrodes ; Multistep manufacturing processes therefor characterised by their shape, relative sizes or dispositions not carrying the current to be rectified, amplified or switched
    • H01L29/42312Gate electrodes for field effect devices
    • H01L29/42316Gate electrodes for field effect devices for field-effect transistors
    • H01L29/4232Gate electrodes for field effect devices for field-effect transistors with insulated gate
    • H01L29/42324Gate electrodes for transistors with a floating gate
    • H01L29/42328Gate electrodes for transistors with a floating gate with at least one additional gate other than the floating gate and the control gate, e.g. program gate, erase gate or select gate
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B69/00Erasable-and-programmable ROM [EPROM] devices not provided for in groups H10B41/00 - H10B63/00, e.g. ultraviolet erasable-and-programmable ROM [UVEPROM] devices
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/30Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Ceramic Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

本发明公开了一种存储器设备,该存储器设备包括多个存储器单元和控制器。该控制器被配置为将存储器单元中的每个存储器单元编程为多个编程状态中的一个编程状态,以及使用到存储器单元的施加电压的读取操作来读取存储器单元。在读取操作期间,编程状态中的相邻编程状态之间的间距基于多个存储器单元中的编程状态的使用频率而改变。

Description

存储器设备和用于基于使用频率改变编程状态间距的方法
本申请是申请日为2019年8月29日、申请号为201980090606.X、名为“存储器设备和用于基于使用频率改变编程状态间距的方法”的申请的分案申请。
相关专利申请
本申请要求2019年4月11日提交的美国申请第16/382,060号的权益,该美国申请要求2019年1月29日提交的美国临时申请第62/798,417号的优先权。
技术领域
本发明涉及神经网络。
背景技术
人工神经网络模拟生物神经网络(动物的中枢神经系统,特别是大脑),这些人工神经网络用于估计或近似可取决于大量输入并且通常已知的功能。人工神经网络通常包括互相交换消息的互连“神经元”层。图1示出了人工神经网络,其中圆圈表示输入或神经元的层。连接部(称为突触)用箭头表示,并且具有可以根据经验进行调整的数值权重。这使得神经网络适应于输入并且能够学习。通常,神经网络包括多个输入的层。通常存在神经元的一个或多个中间层,以及提供神经网络的输出的神经元的输出层。处于每一级别的神经元分别地或共同地根据从突触所接收的数据作出决定。
在开发用于高性能信息处理的人工神经网络方面的主要挑战中的一个挑战是缺乏足够的硬件技术。实际上,实际神经网络依赖于大量的突触,从而实现神经元之间的高连通性,即非常高的计算并行性。原则上,此类复杂性可通过数字超级计算机或专用图形处理单元集群来实现。然而,相比于生物网络,这些方法除了高成本之外,能量效率也很普通,生物网络主要由于其执行低精度的模拟计算而消耗更少的能量。CMOS模拟电路已被用于人工神经网络,但由于给定大量的神经元和突触,大多数CMOS实现的突触都过于庞大。
发明内容
先前提到的问题和需要通过包括多个存储器单元和控制器的存储器设备得到解决。控制器被配置为将存储器单元中的每个存储器单元编程为多个编程状态中的一个编程状态,使用到存储器单元的施加电压的读取操作来读取存储器单元,其中在读取操作期间,编程状态中的相邻编程状态之间的间距基于多个存储器单元中的编程状态的使用频率而改变。
神经网络设备包括第一多个突触,该第一多个突触被配置为接收第一多个输入并从其生成第一多个输出。第一多个突触包括多个存储器单元和控制器。控制器被配置为将存储器单元中的每个存储器单元编程为多个编程状态中的一个编程状态,使用到存储器单元的施加电压的读取操作来读取存储器单元,其中在读取操作期间,编程状态中的相邻编程状态之间的间距基于多个存储器单元中的编程状态的使用频率而改变。多个存储器单元被配置为基于第一多个输入和多个编程状态来生成第一多个输出。第一多个神经元被配置为接收第一多个输出。
一种对存储器单元进行编程的方法,该方法包括:将多个存储器单元中的每个存储器单元编程为多个编程状态中的一个编程状态;使用到存储器单元的施加电压的读取操作来读取存储器单元;确定多个存储器单元中的编程状态中的每个编程状态的使用频率;以及对于编程状态中的每个编程状态,基于编程状态的所确定的使用频率,在读取操作期间设置编程状态中的一个编程状态与相邻编程状态之间的间距。
神经网络设备包括第一多个突触和第二多个突触以及第一多个神经元和第二多个神经元。第一多个突触被配置为接收第一多个输入并从其生成第一多个输出,其中第一多个突触包括多个第一存储器单元和控制器,该控制器被配置为将第一存储器单元中的每个第一存储器单元编程为多个第一编程状态中的一个第一编程状态,以及使用到第一存储器单元的施加电压的读取操作来读取第一存储器单元。多个第一存储器单元被配置为基于第一多个输入和多个第一编程状态来生成第一多个输出。第一多个神经元被配置为接收第一多个输出。第二多个突触被配置为从第一多个神经元接收第二多个输入并从其生成第二多个输出。第二多个突触包括多个第二存储器单元,并且控制器被配置为将第二存储器单元中的每个第二存储器单元编程为多个第二编程状态中的一个第二编程状态,以及使用到第二存储器单元的第二施加电压的第二读取操作来读取第二存储器单元。多个第二存储器单元被配置为基于第二多个输入和多个第二编程状态来生成第二多个输出。第二多个神经元被配置为接收第二多个输出。其中神经网络设备的特征还在于以下中的至少一者:
多个第一编程状态的总数不同于多个第二编程状态的总数,
多个第一编程状态的总数仅为2并且多个第二编程状态的总数大于2,或者多个第一编程状态的总数大于2并且多个第二编程状态的总数仅为2,
第一存储器单元是易失性的并且第二存储器单元是非易失性的,或者第一存储器单元是非易失性的并且第二存储器单元是易失性的,
第一存储器单元和第二存储器单元是非易失性的,
控制器被配置为执行在阈值以上的第一读取操作和在阈值以下的第二读取操作,或者执行在阈值以下的第一读取操作和在阈值以上的第二读取操作,并且
控制器被配置为执行在阈值以上的第一读取操作和第二读取操作,或者执行在阈值以下的第一读取操作和第二读取操作。
通过查看说明书、权利要求书和附图,本发明的其他目的和特征将变得显而易见。
附图说明
图1为示出人工神经网络的示意图。
图2为常规的2栅极非易失性存储器单元的侧面剖视图。
图3为示出图2的存储器单元的常规阵列架构的示意图。
图4为常规的2栅极非易失性存储器单元的侧面剖视图。
图5为示出图4的存储器单元的常规阵列架构的示意图。
图6为常规的4栅极非易失性存储器单元的侧面剖视图。
图7为示出图6的存储器单元的常规阵列架构的示意图。
图8A为示出均匀间隔的神经网络权重级别分配的示意图。
图8B为示出非均匀间隔的神经网络权重级别分配的示意图。
图9为示出双向调优算法的流程图。
图10为示出使用电流比较的权重映射的框图。
图11为示出使用电压比较的权重映射的框图。
图12为示出利用非易失性存储器阵列的示例性神经网络的不同级别的示意图。
图13为示出矢量乘法器矩阵的框图。
图14为示出矢量乘法器矩阵的各种级别的框图。
图15为示出二栅极存储器单元阵列的第一架构的示意图。
图16为示出二栅极存储器单元阵列的第二架构的示意图。
图17为示出二栅极存储器单元阵列的第三架构的示意图。
图18是示出使用二栅极存储器单元的电流到电压转换器的示意图。
图19为示出四栅极存储器单元阵列的第一架构的示意图。
图20为示出使用四栅极存储器单元的电流到电压转换器的示意图。
图21为示出四栅极存储器单元阵列的第二架构的示意图。
图22为示出四栅极存储器单元阵列的第三架构的示意图。
图23为示出四栅极存储器单元阵列的第四架构的示意图。
图24为示出四栅极存储器单元阵列的第五架构的示意图。
图25为3栅极非易失性存储器单元的侧面剖视图。
图26为示出三栅极存储器单元阵列的架构的示意图。
图27为3栅极非易失性存储器单元的侧面剖视图。
图28至图31为示出图27的三栅极存储器单元的阵列架构的示意图。
图32为2栅极非易失性存储器单元的侧面剖视图。
图33至图39为示出图32的两栅极存储器单元的阵列架构的示意图。
图40、图42、图44和图46为示出随编程状态级而变化的使用密度的曲线图。
图41、图43、图45和图47为示出不同编程状态级间距方案的示意图。
图48为示出与存储器阵列在同一芯片上的用于实现存储器阵列的操作的控制器的示意图。
具体实施方式
本发明的人工神经网络利用CMOS技术和非易失性存储器阵列的组合。数字非易失性存储器是众所周知的。例如,美国专利5,029,130(“130专利”)公开了分裂栅极非易失性存储器单元阵列。“130专利”中公开的存储器单元在图2中示出为存储器单元10。每个存储器单元10包括形成于半导体衬底12中的源极区14和漏极区16,其间具有沟道区18。浮栅20形成在沟道区18的第一部分上方并与其绝缘(并控制其电导率),并且形成在漏极区16的一部分上方。控制栅极22(即,第二沟道控制栅)具有第一部分22b和第二部分22c,该第一部分设置在沟道区18的第二部分上方并且与其绝缘(并控制其电导率),该第二部分沿着浮栅20向上并且在浮栅上方延伸。浮栅20和控制栅极22通过栅极氧化物26与衬底12绝缘。
通过将高的正电压置于控制栅极22上,擦除存储器单元10(其中从浮栅20去除电子),导致浮栅20上的电子经由福勒-诺德海姆隧穿效应从浮栅20通过中间绝缘体24遂穿到控制栅极22。
通过将正电压置于控制栅极22上以及将正电压置于漏极16上来编程存储器单元10(其中将电子置于浮栅20上)。电子电流将从源极14流向漏极16。当电子到达控制栅极22和浮栅20之间的间隙时,电子将加速并且变热。由于来自浮栅20的静电引力,一些加热的电子将通过栅极氧化物26被注入到浮栅20上。
通过将正读取电压置于漏16和控制栅极22上(这接通沟道区的在控制栅极下方的部分)来读取存储器单元10。如果浮栅20带正电(即,电子被擦除以及电容耦合到漏极16上的正电压),则沟道区18在浮栅20下方的部分也被接通,并且电流将流过沟道区18,该沟道区被感测为擦除状态或“1”状态。如果浮栅20带负电(即,通过电子进行了编程),则沟道区18的在浮栅20下方的部分被大部分或完全关断,并且电流将不会(或者有很少的电流)流过沟道区18,该沟道区被感测为编程状态或“0”状态。
图3示出了存储器单元10的常规阵列架构的结构。存储器单元10按行和列布置。在每一列中,存储器单元以镜像方式端对端地布置,使得它们形成为成对的存储器单元,每个存储器单元对共享公共源极区14(S),并且每个相邻的一组存储器单元对共享公共漏极区16(D)。存储器单元的任何给定行的所有源极区14通过源极线14a电连接在一起。存储器单元的任何给定列的所有漏极区16通过位线16a电连接在一起。存储器单元的任何给定行的所有控制栅极22通过控制栅极线22a电连接在一起。因此,尽管存储器单元可被单独编程和读取,但存储器单元擦除是逐行执行的(存储器单元的每一行通过在控制栅极线22a上施加高电压而被一起擦除)。如果要擦除特定存储器单元,则相同行中的所有存储器单元也被擦除。
本领域的技术人员理解,源极和漏极可以是可互换的,其中浮栅20可部分地延伸到源极14而不是漏极16上方,如图4所示。图5最佳地示出了对应的存储器单元架构,包括存储器单元10、源极线14a、位线16a和控制栅极线22a。从附图中可明显看出,相同行的存储器单元10共享相同的源极线14a和相同的控制栅极线22a,而相同列的所有单元的漏极区电连接到相同的位线16a。阵列设计针对数字应用进行优化,并且允许对所选择的单元进行单独编程,例如通过分别向所选择的控制栅极线22a和源极线14a施加1.6V和7.6V并且使所选择的位线16a接地。通过在未选择的位线16a上施加大于2伏特的电压并使其余线接地,避免对相同对中的未选择存储单器元进行干扰。存储器单元10无法被单独地擦除,因为负责擦除的过程(电子从浮栅20到控制栅极22的福勒-诺德海姆隧穿)仅受漏极电压(即,对于共享相同源极线14a的行方向上的两个相邻单元,唯一电压可能不同)的微弱影响。操作电压的非限制性示例可包括:
表1
Figure BDA0003882523070000061
Figure BDA0003882523070000071
“读取1”是其中单元电流在位线上流出的读取模式。“读取2”是其中单元电流在源极线上流出的读取模式。
具有多于两个栅极的分裂栅存储器单元也是已知的。例如,具有源极区14、漏极区16、位于沟道区18的第一部分上方的浮栅20、位于沟道区18的第二部分上方的选择栅极28(即,第二沟道控制栅极)、位于浮栅20上方的控制栅极22,以及位于源极区14上方的擦除栅极30的存储器单元是已知的,如图6中所示(参见例如美国专利6,747,310)。这里,除了浮栅20之外,所有的栅极均为非浮栅,这意味着它们电连接到或能够电连接到电压源或电流源。编程由来自沟道区18的受热电子示出,电子将自身注入浮栅20上。擦除通过从浮栅20隧穿到擦除栅30的电子来显示。
四栅极存储器单元阵列的架构可如图7所示进行配置。在该实施方案中,每个水平选择栅极线28a将该行存储器单元的所有选择栅极28电连接在一起。每个水平控制栅极线22a将该行存储器单元的所有控制栅极22电连接在一起。每个水平源极线14a将共享源极区14的两行存储器单元的所有源极区14电连接在一起。每个位线16a将该列存储器单元的所有漏极区16电连接在一起。每个擦除栅极线30a将共享擦除栅极30的两行存储器单元的所有擦除栅极30电连接在一起。与先前的架构一样,单独的存储器单元可独立地编程和读取。然而,无法单独地擦除存储器单元。擦除通过将高的正电压置于擦除栅极线30a上来执行,这导致同时擦除共享相同擦除栅极线30a的两行存储器单元。示例性、非限制性操作电压可包括下文表2中的那些电压(在该实施方案中,选择栅极线28a可被称为字线WL):
表2
Figure BDA0003882523070000072
Figure BDA0003882523070000081
“读取1”是其中单元电流在位线上流出的读取模式。“读取2”是其中单元电流在源极线上流出的读取模式。
为了在神经网络中利用上述非易失性存储器阵列,可进行两个修改。第一,可对线进行重新配置,使得每个存储器单元可被单独编程、擦除和读取,而不会不利地影响阵列中的其他存储器单元的存储器状态,如下文进一步解释。第二,可提供存储器单元的连续(模拟)编程。具体地,阵列中的每个存储器单元的存储器状态或编程状态(即,由浮栅上的电子数量反映的浮栅上的电荷)可在独立地并且对其他存储器单元的干扰最小的情况下连续地从完全擦除状态变为完全编程状态,反之亦然。这意味着单元存储装置是模拟的,或者至少可存储许多离散值中的一个离散值,这允许对存储器阵列中的所有单元进行非常精确且单独的调优,并且这使得存储器阵列对于存储和对神经网络的突触权重进行微调调整是理想的。
存储器单元编程和存储
存储在存储器单元中的神经网络权重级别分配可均匀地间隔开(如图8A所示),或不均匀地间隔开(如图8B所示)。可使用诸如图9所示的双向调优算法来实现非易失性存储器单元的编程。Icell是被编程的目标单元的读取电流,并且Itarget是在该单元被理想地编程时的期望读取电流。对目标单元读取电流Icell进行读取(步骤1)并与目标读取电流Itarget进行比较(步骤2)。如果目标单元读取电流Icell大于目标读取电流Itarget,则执行编程调优过程(步骤3)以增加浮栅20上的电子数目(其中可以使用查找表或基于硅的近似函数来确定控制栅极22上期望的初始和增量编程电压VCG)(步骤3a-3b),该步骤可根据需要重复进行(步骤3c)。如果目标单元读取电流Icell小于目标读取电流Itarget,则执行擦除调优过程(步骤4)以减少浮栅20上的电子数目(其中可以使用查找表或基于硅的近似函数来确定擦除栅极30上期望的初始和增量擦除电压VEG)(步骤4a-4b),该步骤可根据需要重复进行(步骤4c)。如果编程调优过程超过目标读取电流,则执行擦除调优过程(步骤3d并且从步骤4a开始),反之亦然(步骤4d并且从步骤3a开始),直到达到目标读取电流(在可接受的delta值内)。
相反,可使用利用编程调优的单向调优算法来实现非易失性存储器单元的编程。使用该算法,首先将存储器单元10完全擦除,然后执行图9中的编程调优步骤3a-3c,直到目标存储器单元10的读取电流达到目标阈值为止。另选地,可使用利用擦除调优的单向调优算法来实现非易失性存储器单元的调优。在该方法中,首先将存储器单元完全编程,然后执行图9中的擦除调优步骤4a-4c,直到目标存储器单元的读取电流达到目标阈值为止。
图10为示出使用电流比较的权重映射的示意图。将权重数字位(例如,表示存储器单元的目标数字权重的针对每个突触的5位权重)输入到数模转换器(DAC)40,该数模转换器将位转换为电压Vout(例如,64电压电平-5位)。通过电压到电流转换器V/I Conv 42将Vout转换为电流Iout(例如,64电流电平-5位)。将电流Iout提供至电流比较器IComp 44。将编程或擦除算法启用输入到存储器单元10(例如,擦除:增加EG电压;或编程:增加CG电压)。将输出存储器单元电流Icellout(即,来自读取操作)提供至电流比较器IComp 44。电流比较器IComp 44将存储器单元电流Icellout与源于权重数字位的电流Iout进行比较,以产生指示存储在存储器单元10中的权重的信号。
图11为示出使用电压比较的权重映射的示意图。将权重数字位(例如,针对每个突触的5位权重)输入到数模转换器(DAC)40,该数模转换器将位转换为电压Vout(例如,64电压电平-5位)。将Vout提供至电压比较器VComp 46。将编程或擦除算法启用输入到存储器单元10(例如,擦除:增加EG电压;或编程:增加CG电压)。将输出存储器单元电流Icellout提供至电流到电压转换器I/VConv 48以转换为电压V2out(例如,64电压电平-5位)。将电压V2out提供至电压比较器VComp 46。电压比较器VComp46比较电压Vout和V2,以产生指示存储在存储器单元10中的权重的信号。
用于权重映射比较的另一个实施方案将可变脉冲宽度(即,脉冲宽度与权重值成正比或成反比)用于输入权重和/或存储器单元的输出。在用于权重映射比较的又一个实施方案中,数字脉冲(例如,从时钟产生的脉冲,其中脉冲数量与权重值成正比或成反比)用于输入权重和/或存储器单元的输出。
采用非易失性存储器单元阵列的神经网络
图12概念性地示出了利用非易失性存储器阵列的神经网络的非限制性示例。该示例将非易失性存储器阵列神经网络用于面部识别应用,但任何其他适当的应用也可使用基于非易失性存储器阵列的神经网络来实现。对于该示例,S0为输入层,其为具有5位精度的32×32像素RGB图像(即,三个32×32像素阵列,分别用于每个颜色R、G和B,每个像素为5位精度)。从S0到C1的突触CB1同时具有不同组的权重和共享权重,并且用3×3像素重叠滤波器(内核)扫描输入图像,将滤波器移位1个像素(或根据模型所指示的多于1个像素)。具体地,将图像的3×3部分中的9个像素的值(即,称为滤波器或内核)提供给突触CB1,由此将这9个输入值乘以适当的权重,并且在对该乘法的输出求和之后,由CB1的第一突触确定并提供单个输出值以用于生成特征映射的其中一层C1的像素。然后将3×3滤波器向右移位一个像素(即,添加右侧的三个像素的列,并释放左侧的三个像素的列),由此将该新定位的滤波器中的9个像素值提供给突触CB1,由此将它们乘以相同的权重并且由相关联的突触确定第二单个输出值。继续该过程,直到3×3滤波器在整个32×32像素图像上扫描所有三种颜色和所有位(精度值)。然后使用不同组的权重重复该过程以生成C1的不同特征映射,直到计算出层C1的所有特征映射。
在层C1处,在本示例中,存在16个特征映射,每个特征映射具有30×30像素。每个像素是从输入和内核的乘积中提取的新特征像素,因此每个特征映射是二维阵列,因此在该示例中,突触CB1由16层的二维阵列构成(记住本文所引用的神经元层和阵列是逻辑关系,而不必是物理关系,即阵列不必定向于物理二维阵列)。16个特征映射中的每个特征映射均由应用于滤波器扫描的十六个不同组的突触权重中的一组生成。C1特征映射可全部涉及相同图像特征的不同方面,诸如边界识别。例如,第一映射(使用第一权重组生成,针对用于生成该第一映射的所有扫描而共享)可识别圆形边缘,第二映射(使用与第一权重组不同的第二权重组生成)可识别矩形边缘,或某些特征的纵横比,以此类推。
在从层C1转到层S1之前,应用激活函数P1(池化),该激活函数将来自每个特征映射中连续的非重叠2×2区域的值进行池化。池化阶段的目的是对邻近位置求均值(或者也可使用max函数),以例如减少边缘位置的依赖性,并在进入下一阶段之前减小数据大小。在层S1处,存在16个15×15特征映射(即,十六个每个特征映射15×15像素的不同阵列)。CB2中从层S1到层C2的突触和相关联神经元利用4×4滤波器扫描S1中的映射,其中滤波器移位1个像素。在层C2处,存在22个12×12特征映射。在从层C2转到层S2之前,应用激活函数P2(池化),该激活函数将来自每个特征映射中连续的非重叠2×2区域的值进行池化。在层S2处,存在22个6×6特征映射。将激活函数应用于从层S2到层C3的突触CB3,其中层C3中的每个神经元连接至层S2中的每个映射。在层C3处,存在64个神经元。从层C3到输出层S3的突触CB4将S3完全连接至C3。层S3处的输出包括10个神经元,其中最高输出神经元确定类。例如,该输出可指示对原始图像的内容的识别或分类。
使用非易失性存储器单元的阵列或阵列的一部分来实现每个级别的突触。图13为包括非易失性存储器单元的向量矩阵乘法(VMM)阵列的框图,并且被用作输入层和下一层之间的突触。具体地,VMM阵列32包括非易失性存储器单元阵列33、擦除栅和字线栅解码器34、控制栅解码器35、位线解码器36和源极线解码器37,这些解码器对存储器单元阵列33的输入进行解码。在该示例中,源极线解码器37还对存储器单元阵列33的输出进行解码。另选地,位线解码器36可以解码非易失性存储器单元阵列33的输出。存储器阵列有两个用途。首先,它存储将由VMM阵列32使用的权重。其次,存储器单元阵列有效地将输入乘以存储在存储器单元阵列中的权重,并将沿着每条输出线的结果相加,以产生输出,该输出将是下一层的输入或最后一层的输入。通过执行乘法和加法函数,存储器阵列消除了对单独的乘法和加法逻辑电路的需要,并且由于其原位存储器计算也是高功效的。
将存储器单元阵列的输出提供至单个或差分求和电路38,该电路对存储器单元阵列的输出进行求和,以为该卷积创建单个值。然后将求和后的输出值提供至激活函数电路39,该激活函数电路对输出进行修正。激活函数可为sigmoid、tanh或ReLu函数。来自电路39的经修正的输出值成为下一层的特征映射的元素(例如,上述描述中的C1),然后被应用于下一突触以产生下一特征映射层或最终层。因此,在该示例中,存储器单元阵列33构成多个突触(其从现有神经元层或从输入层诸如图像数据库接收它们的输入),并且求和电路38和激活函数电路39构成多个神经元。
图14为示出多层VMM阵列32(此处标记为VMM阵列32a、32b、32c、32d和32e)的使用的框图。如图14所示,通过数模转换器31将输入(表示为Inputx)从数字转换为模拟,并将其提供至输入VMM阵列32a。由输入VMM阵列32a产生的输出被作为到下一个VMM阵列(隐藏级别1)32b的输入提供,该输入继而生成作为下一VMM阵列(隐藏级别2)32c的输入而提供的输出,以此类推。VMM阵列32的各层用作卷积神经网络(CNN)的突触和神经元的不同层。每个VMM阵列32a、32b、32c、32d和32e可以是独立的物理非易失性存储器阵列、或者多个VMM阵列可以利用相同非易失性存储器阵列的不同部分、或者多个VMM阵列可以利用相同物理非易失性存储器阵列的重叠部分。图14所示的示例包含五个层(32a、32b、32c、32d、32e):一个输入层(32a)、两个隐藏层(32b、32c)和两个完全连接的层(32d、32e)。本领域的普通技术人员将会知道,这仅仅是示例性的,并且相反,系统可包括两个以上的隐藏层和两个以上的完全连接的层。
图15示出了被布置为源极求和矩阵乘法器的二栅极存储器单元(即,诸如图4所示)阵列。用于图15的阵列的各种栅极线和区域线与图5中的相同(其中对应的结构具有相同的元件编号)。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作源极求和矩阵乘法器。矩阵电压输入为Vin0-Vinn,并置于位线16a上。图15的阵列的矩阵输出Iout0…IoutN在源极线22a上产生。对于行中的所有单元,每个输出Iout为输入电流I乘以存储在单元中的权重W的和:
Iout=Σ(Ij*Wij)
其中“i”表示行,并且“j”表示存储器单元所在的列。在施加输入电压而不是输入电流(如图15中表示为Vin0-Vinn)的情况下,对于该行中的所有单元,每个输出Iout与输入电压乘以存储在单元中的权重W的总和成正比:
IoutαΣ(Vj*Wij)
每个存储器单元行用作单个神经元,该神经元的总权重值表示为输出电流Iout,该输出电流Iout由存储在该行的存储器单元中的权重值之和决定。任何给定神经元的输出均呈电流的形式,该电流在由激活函数电路调节之后可被用作下一个后续VMM阵列级的输入。
图16示出被布置为漏极(例如,存储器阵列的位线)求和矩阵乘法器的二栅极存储器单元10(即,诸如图4所示)阵列的另一配置。图16的阵列的线与图15的阵列的线相同。然而,矩阵电压输入Vin0...Vin3被置于源极线14a上,并且矩阵输出Iout0...IoutN在位线16a上产生(即,对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例)。与先前的实施方案一样,任何给定神经元的输出均呈电流的形式,该电流在由激活函数电路进行调节之后可用作下一个后续VMM阵列级的输入电流。
图17示出了被布置为漏极求和矩阵乘法器的二栅极存储器单元(即,诸如图4所示)阵列的另一配置。图17的阵列的线与图15的阵列的线相同。然而,矩阵电压输入Vin0...Vin7被置于控制栅极线22a上,并且矩阵输出(电流)Iout0...IoutN在位线16a上产生(即,对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例)。
在图17中,由于输入是电压,并且输出是电流,因此,第一级之后的每个后续VMM级优选地包括用于将来自先前的VMM级的输入电流转换为将用作输入电压Vin的电压的电路。图18示出了此类电流到电压转换电路的示例,该电路为经修改的存储器单元行,该经修改的存储器单元行将输入电流Iin0...IinN对数转换为输入电压Vin0...VinN以应用于后续级。本文所述的存储器单元在弱反型中被偏压,
Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
其中w=e(-Vth)/kVt
对于使用存储器单元将输入电流转换为输入电压的I到V对数转换器:
Vg=k*Vt*log[Ids/wp*Io]
此处,wp为参考存储器单元或外围存储器单元的w。对于用作向量矩阵乘法器VMM的存储器阵列,输出电流为:
Iout=wa*Io*e(Vg)/kVt,即
Iout=(wa/wp)*Iin=W*Iin
W=e(Vthp-Vtha)/kVt
此处,wa=存储器阵列中的每个存储器单元的w。控制栅极线22a可以用作输入电压的存储器单元的输入,该输入电压通过在电流到电压转换期间闭合的开关BLR连接到位线16a。
另选地,本文所述的VMM阵列的非易失性存储器单元可被配置为在线性区域中操作:
Ids=β*(Vgs-Vth)*Vds;β=u*Cox*Wt/L,
其中Wt和L分别为晶体管的宽度和长度
Wα(Vgs-Vth),意指重量W与(Vgs-Vth)成正比
控制栅极线或位线或源极线可以用作在线性区域中操作的存储器单元的输入。位线或源极线可用作输出神经元的输出。
对于I到V线性转换器,在线性区域工作的存储器单元(例如参考存储器单元或外围存储器单元)或晶体管或电阻器可以用来将输入/输出电流线性转换成输入/输出电压。另选地,本文所述的VMM阵列的非易失性存储器单元可被配置为在饱和区域中操作:
Ids=1/2*β*(Vgs-Vth)2;β=u*Cox*Wt/L
Wα(Vgs-Vth)2,意指重量W与(Vgs-Vth)2成正比
控制栅极线可以用作在饱和区域中操作的存储器单元的输入。位线或源极线可用作输出神经元的输出。另选地,本文所述的VMM阵列的非易失性存储器单元可用于所有区域或其组合(亚阈值、线性或饱和区域)。上述电流到电压转换电路或技术中的任一者可与本文的实施方案中的任何一个实施方案一起使用,使得电流形式的来自任何给定神经元的电流输出可在由激活函数电路调节之后被用作下一个后续VMM阵列级的输入。
图19示出了被布置为漏极(位线)求和矩阵乘法器的四栅极存储器单元(即,诸如图6所示)阵列的配置。图19的阵列的线与图7的阵列的线相同。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作漏极求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于选择栅极线28a上。矩阵输出Iout0...Ioutn在位线16a上产生。对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。
在图19中,由于输入是电压,并且输出是电流,因此,第一级之后的每个后续VMM级优选地包括用于将来自先前的VMM级的输入电流转换为将用作输入电压Vin的电压的电路。图20示出了此类电流到电压转换电路的示例,该电路为将输入电流Iin0...IinN对数转换为输入电压Vin0...VinN的经修改的存储器单元行。类似地,线性电流到电压转换器可与在线性区域中操作的经修改的存储器单元一起使用,以将输入电流Iin0...IinN线性地转换为输入电压Vin0...VinN。如图20所示,选择栅极线28a通过开关BLR连接到位线16a以用于电流到电压转换。另选地,控制栅极线22a可以连接到位线16a以用于电流到电压转换。
图21示出了被布置为漏极求和矩阵乘法器的四栅极存储器单元(即,诸如图6所示)阵列的另一配置。图21的阵列的线与图7的阵列的线相同。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作漏极求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于控制栅极线22a上。矩阵输出Iout0...Ioutn在位线16a上产生。对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。
图22示出了被布置为源极求和矩阵乘法器的四栅极存储器单元10(即,诸如图6所示)阵列的另一配置。用于图22的阵列的线与图7的阵列相同,不同的是控制栅极线22a竖直地延伸而不是水平地延伸,使得每个存储器单元可被独立地编程、擦除和读取。具体地讲,每列存储器单元包括将该列中的存储器单元的所有控制栅极22连接在一起的控制栅极线22a。矩阵电压输入Vin0...VinN提供在控制栅极线22a上,并且矩阵输出Iout0...Iout1产生在源极线14a上。
图23示出了被布置为源极求和矩阵乘法器的四栅极存储器单元(即,诸如图6所示)阵列的另一配置。图23的阵列的线与图22的阵列相同。矩阵电压输入Vin0...VinN提供在位线16a上,并且矩阵输出Iout0...Iout1产生在源极线14a上。
图24示出了被布置为源极求和矩阵乘法器的四栅极存储器单元(即,诸如图6所示)阵列的另一配置。图24的阵列的线与图22的阵列相同,不同的是每个位线包括位线缓冲晶体管60,该位线缓冲晶体管用作接通位线(即,将位线耦接到其电流或电压源)的开关。矩阵输入Vin0...VinN提供给晶体管60的栅极,并且矩阵输出Iout0...Iout1提供在源极线14a上。该配置的优点在于矩阵输入可作为电压(其操作晶体管60)提供,而不是直接向位线提供输入。这允许向位线施加恒定电压源(即,通过晶体管60),该位线响应于提供至晶体管栅极的输入电压Vin而提供。
图25至图26示出了被布置为漏极求和矩阵乘法器的三栅极存储器单元阵列的配置。存储器单元在图25中示出,并且与图6的存储器单元相同,不同的是没有擦除栅极。在一个实施方案中,通过向选择栅极28施加正电压来执行单元擦除,其中电子从浮栅20隧穿到选择栅极28。下面是图25的三栅极存储器单元的示例性非限制性操作电压的表。
表3
SG 28a BL 16a CG 22a SL 14a
读取1 0.50-2V 0.1-2V 0-2.6V 0.1-2V
读取2 0.5-2V 0-2V 0-2.6V 2-0.1V
擦除 3-12V 0V 0V至-13V 0V
编程 1V 1uA 8-11V 4.5-8V
“读取1”是其中单元电流在位线上流出的读取模式。“读取2”是其中单元电流在源极线上流出的读取模式。
用于存储器单元阵列的线在图26中示出,并且与图19的阵列中的线相同,不同的是没有擦除栅极线30a(因为没有擦除栅极),并且源极线14a竖直地延伸而不是水平地延伸,使得每个存储器单元可被独立地编程、擦除和读取。具体地讲,每列存储器单元包括将该列中的存储器单元的所有源极区14连接在一起的源极线14a。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作源极求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于控制栅极线22a上。另选地,矩阵电压输入可置于选择栅极线28a上。矩阵输出Iout0...Ioutn在源极线14a上产生。对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。另选地,矩阵输出在位线16a上产生。在另一个实施方案中,源极线14a水平地延伸(即,各自连接存储器单元行的所有源极区)。图25至图26的另选擦除操作可使p型衬底12处于高电压(例如,10V至20V)并且使控制栅极22处于低电压或负电压(例如,-10V至0V),由此电子将从浮栅20隧穿到衬底12。
图27示出了具有3个栅极的存储器单元10,该存储器单元类似于图6中的存储器单元,不同的是没有控制栅极22。以类似的方式进行读取、擦除和编程,但对控制栅极不进行任何偏置。示例性非限制性操作电压可包括下表4中的那些:
表4
SG 28a BL 16a EG 30a SL 14a
读取1 0.5-2V 0.1-2V 0-2.6V 0V
读取2 0.5-2V 0-2V 0-2.6V 2-0.1V
擦除 -0.5V/0V 0V 8-12V 0V
编程 1V 1uA 4.5-7V 4.5-7V
“读取1”是其中单元电流在位线上流出的读取模式。“读取2”是其中单元电流在源极线上流出的读取模式。
图28示出了使用图27的存储器单元10的存储器单元阵列架构,其中除了位线16a之外,所有线都沿水平/行方向延伸。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作位线求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于选择栅极线28a上。矩阵输出Iout0...Ioutn在位线16a上产生。对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。应当注意,对于该阵列架构,矩阵电压输入可置于擦除栅极线30a上而不是选择栅极线28上,如图29所示。另选地,矩阵输入可替代地为置于源极线14a上的电压输入,而不是置于选择栅极线28a或擦除栅极线30a上的电压输入,如图30所示。在又一个替代方案中,矩阵输入可以是置于位线16a上的电压输入,其中电流输出在源极线14a上,如图31所示。
图32示出了在堆叠栅极配置中仅具有两个栅极的存储器单元10。存储器单元包括源极区14和漏极区16,其间具有沟道区18,如上述存储器单元的情况一样。然而,利用本发明的存储器单元配置,浮栅20在整个沟道区上方延伸,并且控制栅极22设置在浮栅上方。存储器单元在源极侧上利用热电子注入进行编程。可在漏极侧上完成另选编程。通过将高的正电压置于衬底12、源极区14或漏极区16上来擦除存储器单元,其中电子从浮栅20隧穿到衬底12。通过将读取电压置于控制栅极和源极区14上来读取该存储器单元。示例性非限制性操作电压可包括下表5中的那些:
表5
CG 22a BL 16a SL 14a 衬底12
读取1 0-5V 0.1-2V 0-2V 0V
读取2 0.5-2V 0-2V 2-0.1V 0V
擦除 0V/-12V 0V 0V 20V/8V
编程 5-12V 约10-50uA 4.5V 0V
“读取1”是其中单元电流在位线上流出的读取模式。“读取2”是其中单元电流在源极线上流出的读取模式。
图33示出了使用图32的存储器单元10的存储器单元阵列架构,其中除了位线16a之外,所有线都沿水平/行方向延伸。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作位线求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于控制栅极线22a上。矩阵输出Iout0...Ioutn在位线16a上产生。对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。应当注意,对于该阵列架构,矩阵输入可替代地为置于源极线14a上的电压输入,而不是置于控制栅极线22a上的电压输入,如图34所示。在又一个替代方案中,矩阵输入可以是置于位线16a上的电压输入,其中电流输出在源极线14a上,如图35所示。
图36示出了使用图32的存储器单元10的另一存储器单元阵列架构。图36的阵列架构与图33的阵列架构相同,不同的是控制栅极线22a竖直地延伸而不是水平地延伸(即,每个控制栅极线22a将一列中的存储器单元的所有控制栅极22连接在一起)。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作源极线求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于控制栅极线22a上。矩阵输出Iout0...Ioutn在源极线14a上产生。对于行中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。
图37示出了使用图32的存储器单元10的另一存储器单元阵列架构。图37的阵列架构与图33的阵列架构相同,不同的是源极线14a竖直地延伸而不是水平地延伸(即,每个源极线14a将一列中的存储器单元的所有源极区14连接在一起)。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作源极线求和矩阵乘法器。矩阵电压输入为Vin0-Vin3并置于控制栅极线22a上。矩阵输出Iout0...Ioutn在源极线14a上产生。对于列中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。另选地,矩阵输出在位线16a上而不是在源极线14a上产生,如图38所示。
图39示出了使用图32的存储器单元10的另一存储器单元阵列架构。图39的阵列架构与图36的阵列架构相同,不同的是每列存储器单元存在两个控制栅极线22a(即,第一控制栅极线22a1和第二控制栅极线22a2,该第一控制栅极线将偶数行中的列中的所有存储器单元的控制栅极22连接在一起,该第二控制栅极线将奇数行中的列中的所有存储器单元的控制栅极22连接在一起)。在利用该单元的适当权重值对每个存储器单元进行编程之后,该阵列用作源极线求和矩阵乘法器。矩阵电压输入为Vin0-Vinn并置于控制栅极线22a1和22a2上。矩阵输出Iout0...Iout2在源极线14a上产生。对于行中的所有单元,每个输出Iout是单元电流之和,该单元电流与单元中存储的权重W成比例。每列的两个输入可以是差分输入。
所有前述实施方案可以模拟或数字方式并且在存储器单元的阈值以上或在存储器单元的阈值以下操作存储器单元。如本文所用,以数字方式操作意味着存储器单元可在操作期间被编程或擦除以表示两个编程状态(也称为编程级)中的一个编程状态,例如由编程状态和擦除状态表示的“0”和“1”。以模拟方式操作意味着存储器单元可在操作期间被编程或擦除以表示超过仅两个编程状态,例如4位等效存储器单元的16个编程状态中的一个编程状态。在阈值以上操作意味着施加的读取电压足以接通存储器单元(取决于其编程状态),这意味着其将以读取电压与单元电流之间存在线性或饱和关系的方式传导通过沟道区的电流(即,读取电流或单元电流)。在阈值以下操作意味着施加的读取电压不足以强接通存储器单元,这意味着通过存储器单元的任何电流被认为是亚阈值电流。在亚阈值操作期间读取电压与单元电流之间的关系不是线性的,而是可预测的并且可以指数方式重复。因此,亚阈值存储器单元操作更适合于极低功率模拟操作,而在阈值以上操作的线性特性更适合于用于高速性能的数字操作。然而,对于某些应用或对于扩展操作范围,可能需要在阈值以下数字操作和/或在阈值以上模拟操作。
如果存储器单元以模拟方式操作,则可通过优化编程状态来改善网络精确度。具体地讲,如上文相对于图8A和图8B所述,如存储在存储器单元中的权重级别分配对应于不同编程状态(包括擦除状态,其在技术上是最低编程状态),使得所存储的权重在读取操作期间适当地应用于传入输入,因此存储器单元在将权重值映射(通过编程或擦除进行调优)到存储器单元中期间理想地实现。不同编程状态反映了置于浮栅上的不同数量的电子,并且对应于考虑到相同施加读取操作电压而通过沟道区的不同的可能读取电流。浮栅上的电子越多,编程状态越高(因此在读取操作期间沟道读取电流越低)。因此,对于图8A的16个编程状态,L0状态反映了擦除最多的编程状态(其中浮栅包含最少量的电子)。L1反映了具有编程为浮栅上的第一电子量的编程状态。L2反映了具有编程为浮栅上的大于第一电子量的第二电子量的编程状态,以此类推。在该实施方案中,编程状态彼此均匀地间隔开,这意味着对于施加到存储器单元的施加的读取电压的给定读取操作,任何两个相邻编程状态彼此相差相同的读取电流差值。换句话讲,利用附加电子对浮栅进行编程以将存储器单元从一个编程状态移动到下一个编程状态将始终导致对于施加的读取电压的给定读取操作而言读取电流的相同量的减小。另选地,如果将读取电流转换为读取电压,则上述内容同样适用,但相对于读取电压而非读取电流而言。因此,如本文所用,两个编程状态之间的编程状态间隔或间距是指在到存储器单元的施加读取电压的相同读取操作条件下从读取电流导出的读取电流或读取电压的差值。相比之下,在图8B中,较高级编程状态比较低级编程状态间隔得更近(即,相邻级编程状态之间的读取电流或读取电压的差值随编程状态级而变化,其中分开相邻较高级编程状态的读取电流或读取电压的差值小于相邻较低级编程状态的读取电流或读取电压的差值)。
已经发现,可通过基于各个编程状态的使用密度而不是仅基于编程状态级数改变编程状态间距来实现改善的神经网络系统可靠性和性能。使用密度反映了被编程为该编程状态的存储器单元的相对数量(即,该编程状态的使用频率)。与其他编程状态相比,对于任何给定编程状态,使用密度越高(即,使用频率越高),被编程为该编程状态的存储器单元的相对数量越大。例如,图40示出了采用16个编程状态的系统的示例性使用密度,其中中间编程状态被使用得最多,并且较低编程状态和较高编程状态被使用得最少。在该示例中,与任何其他编程状态相比,更多的存储器单元被编程为L7编程状态。为了增加系统可靠性和性能,使用得最多的状态被设置为与相邻编程状态的间距大于那些较少量使用的编程状态的间距。这在图41中示出,其中编程状态L4-L11比编程状态L0-L3和L12-15彼此间距得更远(即,相邻状态之间的间距S1大于相邻状态之间的间距S2)。编程状态间距越大,可实现的潜在精确性和可靠性越好,因为在编程期间在目标状态级和实际调优状态级之间可存在更大的偏差,同时仍然能够精确地读取存储器单元的编程状态。可以承受读取不准确度的更大公差,同时仍然准确地读取在具有更大间距的编程状态下编程的存储器单元。可由更大编程间距克服的不精确度的来源可包括调优不精确度、读取不精确度、热或1/f噪声、单元到单元耦合等。
相对于图41和图42所示,图42和图43示出了不同使用密度示例,其中更多上部编程状态被使用得更少,并且更多下部编程状态被使用得更多。在该示例中,编程状态L2-L9比编程状态L0-L1和L10-L15彼此间隔得更远。考虑到具有更大间距的下部编程状态被多个存储器单元更频繁地使用,该系统更偏向于更多具有更大间距的下部编程状态。
图44和图45示出了不同使用密度示例,其中它是被使用得最少的中间编程状态。在该示例中,编程状态L0-L3和L11-L15相对于编程状态L4-L10彼此间隔得更远。考虑到具有更大间距的下部编程状态和上部编程状态被多个存储器单元更频繁地使用,该系统相比中间编程状态更偏向于具有更大间距的下部编程状态和上部编程状态。
图46和图47示出了不同使用密度示例,其中具有较高使用密度的编程状态(L3、L7、L10和L11)不全部彼此相邻。该实施方案反映了使用密度可被认为是单独的,逐编程状态的。在另一个实施方案中,在某些编程状态最大程度地影响神经网络的精确度的情况下,那些编程状态间隔得更远。
应当注意,虽然相邻编程状态之间的间距被示出为S1或S2,但是可以使用多于两个间距值,并且/或者间距可以仅在较不频繁使用的状态之间和/或仅在较频繁使用的状态之间改变。此外,实现间距变化的一种方式是S1间距为对数的,并且S2间距为线性的,反之亦然。另选地,S1和S2可以是不同的对数差量。
使用密度可例如在神经网络训练期间确定。此类训练可包括为神经网络提供已知输入以实现期望输出。然后将实际输出与期望输出进行比较以确定误差,该误差用于调节所存储的权重以改善系统输出,直到实现期望输出或者系统达到某个统计上期望的点。作为该训练的一部分,确定各个编程状态的使用密度,并用于调节如上所述的编程状态间距。可针对多个级共同地、或更单独向下地逐层地在全局基础上确定和实施使用密度。用于确定使用密度的其他技术可包括创建预报模型,该预报模型基于特定应用或基于历史信息来估计哪些权重(以及因此哪些编程状态)被使用得最多。
操作类型(数字与模拟)和/或编程状态间距方案可根据神经网络层而相同或不同,以便在速度、精确度、可靠性、功率消耗等方面使性能最大化。例如,两个不同的相邻或非相邻神经网络层可以使用两种不同操作模式(一种以数字方式操作,并且另一种以模拟方式操作)或相同操作模式。除此之外或另选地,一些VMM阵列可在阈值以下操作,而其他VMM阵列则在阈值以上操作。另外,以模拟方式操作的两个不同的相邻或非相邻神经网络层可以利用不同编程状态间距方案,和/或利用不同数量的编程状态(即,如果给定神经网络层需要更少的编程状态,则可以使用间距得更远的更少的编程状态),或使用相同编程状态间距方案。作为具体示例,在图12中,CB2中从层S1到层C2的突触可以数字方式操作,而CB3中的突触(从层S2到层C3)和CB4中的突触(从层C3到层S3)可以以模拟方式操作。除此之外,CB2中的神经网络层中的一些神经网络层可使用图41的编程状态间距方案使用16个级来操作,而其他神经网络层使用图8的编程状态间距方案仅使用8个级来操作。除此之外或另选地,CB2中的神经网络层中的一些神经网络层可使用图41的编程状态间距方案(其中中间状态比其他编程状态间距得更远)来操作,而其他神经网络层使用图45的编程状态间距方案(其中中间状态比其他编程状态更紧密得间距)来操作。
考虑到每个神经网络层的目的和需要,可通过使用以不同方式操作(数字与模拟,在阈值以上或在阈值以下,更多/更少的模拟编程状态等)的VMM阵列来增强性能。例如,在阈值以下(亚阈值)操作存储器单元降低了功率消耗(例如,电流从数百纳安降到低于一皮安),因此对于极低功率模拟操作更好。在阈值以上操作存储器单元消耗更多的功率(例如,电流从数百纳安到数十微安),但提供更适合于数字操作的特性、更高的操作范围、由于更高的电流引起的更高状态级、以及高速性能。以数字方式操作存储器单元为不同的机器学习(深度学习)操作诸如卷积、池化、非线性函数提供更大的灵活性,但将消耗更多的功率。以模拟方式操作存储器单元不太灵活,但消耗更少(例如,可以是以数字方式操作存储器单元所消耗的功率的十分之一或甚至百分之一)。因此,可设置每个VMM阵列的操作(数字/模拟、在阈值以上或在阈值以下、编程状态间距方案等)以使该神经网络层的性能最大化,该神经网络层可相对于其他VMM阵列相同或不同。
可通过单独地或与上述不同类型的VMM阵列操作中的一者或多者结合使用以不同方式操作或配置的VMM阵列来进一步增强性能的方式的另一个示例是通过使用与上述模拟非易失性VMM结合的模拟易失性VMM阵列。此类模拟易失性VMM阵列由易失性存储器单元(例如,DRAM、SRAM、基于电容器的定制存储器单元等,这些在向存储器单元断电时丢失其存储的信息,与非易失性存储器单元诸如具有浮栅的那些相反,其中即使在向存储器单元断电之后也保持其存储的信息)形成,并且可用作卷积层。例如,滤波器的权重存储在如上所述的模拟非易失性阵列中。然后,这些权重被传输到模拟易失性VMM阵列,其中然后卷积在模拟易失性VMM阵列上操作。这样做的一个优点将是使用易失性存储器单元(其操作速度快于非易失性存储器单元)的速度增加,但在断电之后在非易失性存储器单元中保持所存储的权重。易失性存储器单元的VMM阵列对于不同的机器学习(深度学习)操作更灵活,但也需要更频繁地(例如,通常在毫秒时间段内)刷新,从而消耗更多的功率。非易失性存储器单元的VMM阵列对于不同的机器学习(深度学习)操作不太灵活,但需要不太频繁地刷新(例如,通常在数月或数年的时间段内),因此消耗较少的功率。因此,对于任何给定应用,可使用多层易失性VMM阵列和/或多层非易失性层,这取决于每个VMM层的要求以及易失性VMM阵列和非易失性VMM阵列的上述优点和缺点的平衡。
所有上述功能可在控制器100的控制下执行,该控制器包括控制电路,该控制电路连接到用于神经网络功能的上述存储器单元10的存储器阵列。如图48所示,控制器100优选地在与存储器阵列120相同的半导体芯片或衬底110上。然而,控制器100也可位于单独的半导体芯片或衬底上,并且可以是设置在半导体芯片或衬底110上或之外的不同位置处的多个控制器的集合或不同的控制电路。
一些神经网络应用使用正权重和负权重两者,在这种情况下,当利用权重对存储器单元进行编程时,控制器100将负权重映射到编程状态中的一些编程状态,并且将正权重映射到编程状态中的其他编程状态。然后,在操作期间,控制器100将对从利用负权重进行编程的存储器单元生成的输出电流执行适当的动作。
应当理解,本发明不限于上述的和在本文中示出的实施方案,而是涵盖在任何权利要求书的范围内的任何和所有变型形式。例如,对本文中本发明的引用不旨在限制任何权利要求书或权利要求术语的范围,而是仅参考可由一项或多项权利要求书覆盖的一个或多个特征。上文所述的材料、工艺和数值的示例仅为示例性的,而不应视为限制权利要求书。材料的单个层可形成为此类材料或类似材料的多个层,并且反之亦然。虽然每个存储器单元阵列的输出在被发送到下一个神经元层之前通过滤波缩合来操纵,但它们不必如此。最后,对于上述矩阵乘法器阵列实施方案中的每一者,对于并非正用于输入电压或输出电流的任何线,本文表中公开的用于存储器单元的该配置的标称读取电压可以(但非必要)在操作期间应用于这些线。
应当指出的是,如本文所用,术语“在……上方”和“在……上”均包括性地包括“直接在……上”(之间没有设置中间材料、元件或空间)和“间接在……上”(之间设置有中间材料、元件或空间)。类似地,术语“相邻”包括“直接相邻”(之间没有设置中间材料、元件或空间)和“间接相邻”(之间设置有中间材料、元件或空间),“被安装到”包括“被直接安装到”(之间没有设置中间材料、元件或空间)和“被间接安装到”(之间设置有中间材料、元件或空间),并且“被电耦合到”包括“被直接电耦合到”(之间没有将元件电连接在一起的中间材料或元件)和“被间接电耦合到”(之间有将元件电连接在一起的中间材料或元件)。例如,“在衬底上方”形成元件可包括在两者间无中间材料/元件的情况下直接在衬底上形成该元件,以及在两者间有一种或多种中间材料/元件的情况下间接在衬底上形成该元件。

Claims (7)

1.一种神经网络设备,包括:
第一多个突触,所述第一多个突触被配置为接收第一多个输入并从其生成第一多个输出,其中所述第一多个突触包括:
多个第一存储器单元;
控制器,所述控制器被配置为:
将所述第一存储器单元中的每个第一存储器单元编程为多个第一编程状态中的一个第一编程状态,以及
使用到所述第一存储器单元的施加电压的第一读取操作来读取所述第一存储器单元,
所述多个第一存储器单元被配置为基于所述第一多个输入和所述多个第一编程状态来生成所述第一多个输出;和
第一多个神经元,所述第一多个神经元被配置为接收所述第一多个输出;
第二多个突触,所述第二多个突触被配置为从所述第一多个神经元接收第二多个输入并从其生成第二多个输出,其中所述第二多个突触包括:
多个第二存储器单元;
所述控制器,所述控制器被配置为:
将所述第二存储器单元中的每个第二存储器单元编程为多个第二编程状态中的一个第二编程状态,
使用到所述第二存储器单元的第二施加电压的第二读取操作来读取所述第二存储器单元,
所述多个第二存储器单元被配置为基于所述第二多个输入和所述多个第二编程状态来生成所述第二多个输出;和
第二多个神经元,所述第二多个神经元被配置为接收所述第二多个输出;
其中以下项中的至少一者:
所述多个第一编程状态的总数不同于所述多个第二编程状态的总数,
所述多个第一编程状态的总数仅为2并且所述多个第二编程状态的总数大于2,或者所述多个第一编程状态的总数大于2并且所述多个第二编程状态的总数仅为2,
所述第一存储器单元是易失性的并且所述第二存储器单元是非易失性的,或者所述第一存储器单元是非易失性的并且所述第二存储器单元是易失性的,或者所述第一存储器单元和所述第二存储器单元是非易失性的,
所述控制器被配置为:
执行在所述第一存储器单元的阈值以上的所述第一读取操作和在所述第二存储器单元的阈值以下的所述第二读取操作,或者
执行在所述第一存储器单元的阈值以下的所述第一读取操作和在所述第二存储器单元的阈值以上的所述第二读取操作,或者
执行在所述第一存储器单元和所述第二存储器单元的阈值以上的所述第一读取操作和所述第二读取操作,或者
执行在所述第一存储器单元和所述第二存储器单元的阈值以下的所述第一读取操作和所述第二读取操作。
2.根据权利要求1所述的神经网络设备,其中所述多个第一编程状态的总数不同于所述多个第二编程状态的总数。
3.根据权利要求1所述的神经网络设备,其中所述多个第一编程状态的总数仅为2并且所述多个第二编程状态的总数大于2,或者所述多个第一编程状态的总数大于2并且所述多个第二编程状态的总数仅为2。
4.根据权利要求1所述的神经网络设备,其中所述第一存储器单元是易失性的并且所述第二存储器单元是非易失性的,或者所述第一存储器单元是非易失性的并且所述第二存储器单元是易失性的。
5.根据权利要求1所述的神经网络设备,其中所述第一存储器单元和所述第二存储器单元是非易失性的。
6.根据权利要求1所述的神经网络设备,其中所述控制器被配置为执行在所述第一存储器单元的阈值以上的所述第一读取操作和在所述第二存储器单元的阈值以下的所述第二读取操作,或者执行在所述第一存储器单元的阈值以下的所述第一读取操作和在所述第二存储器单元的阈值以上的所述第二读取操作。
7.根据权利要求1所述的神经网络设备,其中所述控制器被配置为执行在所述第一存储器单元和所述第二存储器单元的阈值以上的所述第一读取操作和所述第二读取操作,或者执行在所述第一存储器单元和所述第二存储器单元的阈值以下的所述第一读取操作和所述第二读取操作。
CN202211235292.8A 2019-01-29 2019-08-29 存储器设备和用于基于使用频率改变编程状态间距的方法 Pending CN115511068A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962798417P 2019-01-29 2019-01-29
US62/798,417 2019-01-29
US16/382,060 US10720217B1 (en) 2019-01-29 2019-04-11 Memory device and method for varying program state separation based upon frequency of use
US16/382,060 2019-04-11
PCT/US2019/048935 WO2020159581A1 (en) 2019-01-29 2019-08-29 Memory device and method for varying program state separation based upon frequency of use
CN201980090606.XA CN113366505B (zh) 2019-01-29 2019-08-29 存储器设备和用于基于使用频率改变编程状态间距的方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980090606.XA Division CN113366505B (zh) 2019-01-29 2019-08-29 存储器设备和用于基于使用频率改变编程状态间距的方法

Publications (1)

Publication Number Publication Date
CN115511068A true CN115511068A (zh) 2022-12-23

Family

ID=71612006

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202211235292.8A Pending CN115511068A (zh) 2019-01-29 2019-08-29 存储器设备和用于基于使用频率改变编程状态间距的方法
CN201980090613.XA Pending CN113366506A (zh) 2019-01-29 2019-08-29 使用堆叠栅极非易失性存储器单元阵列的神经网络分类器
CN201980090606.XA Active CN113366505B (zh) 2019-01-29 2019-08-29 存储器设备和用于基于使用频率改变编程状态间距的方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201980090613.XA Pending CN113366506A (zh) 2019-01-29 2019-08-29 使用堆叠栅极非易失性存储器单元阵列的神经网络分类器
CN201980090606.XA Active CN113366505B (zh) 2019-01-29 2019-08-29 存储器设备和用于基于使用频率改变编程状态间距的方法

Country Status (7)

Country Link
US (2) US10720217B1 (zh)
EP (2) EP3918534B1 (zh)
JP (2) JP7314286B2 (zh)
KR (2) KR102407363B1 (zh)
CN (3) CN115511068A (zh)
TW (2) TWI732414B (zh)
WO (2) WO2020159580A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6708146B2 (ja) * 2017-03-03 2020-06-10 株式会社デンソー ニューラルネットワーク回路
US10902921B2 (en) * 2018-12-21 2021-01-26 Texas Instruments Incorporated Flash memory bitcell erase with source bias voltage
US11023559B2 (en) 2019-01-25 2021-06-01 Microsemi Soc Corp. Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit
US10720217B1 (en) * 2019-01-29 2020-07-21 Silicon Storage Technology, Inc. Memory device and method for varying program state separation based upon frequency of use
US11328778B2 (en) * 2020-07-09 2022-05-10 Stmicroelectronics S.R.L. Methods and devices for wear leveling
US12080289B2 (en) * 2020-12-22 2024-09-03 Samsung Electronics Co., Ltd. Electronic apparatus, system comprising electronic apparatus and server and controlling method thereof
US11462279B1 (en) 2021-05-13 2022-10-04 Western Digital Technologies, Inc. Modified distribution of memory device states
US11989440B2 (en) 2021-08-11 2024-05-21 Silicon Storage Technology, Inc. Hybrid memory system configurable to store neural memory weight data in analog form or digital form
KR20240136603A (ko) * 2023-03-07 2024-09-19 주식회사 페블스퀘어 뉴럴 네트워크 시스템 및 그 구현 방법

Family Cites Families (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2603414B1 (fr) 1986-08-29 1988-10-28 Bull Sa Amplificateur de lecture
JPH06103782B2 (ja) 1987-04-17 1994-12-14 日本シイエムケイ株式会社 プリント配線板
US5055897A (en) 1988-07-27 1991-10-08 Intel Corporation Semiconductor cell for neural network and the like
US4904881A (en) 1989-02-10 1990-02-27 Intel Corporation EXCLUSIVE-OR cell for neural network and the like
JP3122756B2 (ja) 1991-01-12 2001-01-09 直 柴田 半導体装置
US5621336A (en) * 1989-06-02 1997-04-15 Shibata; Tadashi Neuron circuit
JPH0318985A (ja) 1989-06-16 1991-01-28 Hitachi Ltd 情報処理装置
US4961002A (en) 1989-07-13 1990-10-02 Intel Corporation Synapse cell employing dual gate transistor structure
US4956564A (en) * 1989-07-13 1990-09-11 Intel Corporation Adaptive synapse cell providing both excitatory and inhibitory connections in an associative network
US5028810A (en) 1989-07-13 1991-07-02 Intel Corporation Four quadrant synapse cell employing single column summing line
KR920010344B1 (ko) 1989-12-29 1992-11-27 삼성전자주식회사 반도체 메모리 어레이의 구성방법
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
US5242848A (en) 1990-01-22 1993-09-07 Silicon Storage Technology, Inc. Self-aligned method of making a split gate single transistor non-volatile electrically alterable semiconductor memory device
EP0484522A1 (en) 1990-05-22 1992-05-13 International Business Machines Corporation Pyramid learning architecture neurocomputer
US5150450A (en) 1990-10-01 1992-09-22 The United States Of America As Represented By The Secretary Of The Navy Method and circuits for neuron perturbation in artificial neural network memory modification
US5146602A (en) 1990-12-26 1992-09-08 Intel Corporation Method of increasing the accuracy of an analog neural network and the like
US5138576A (en) 1991-11-06 1992-08-11 Altera Corporation Method and apparatus for erasing an array of electrically erasable EPROM cells
US7071060B1 (en) 1996-02-28 2006-07-04 Sandisk Corporation EEPROM with split gate source side infection with sidewall spacers
EP0562737B1 (en) 1992-03-26 1998-06-17 Hitachi, Ltd. Flash memory
US5336936A (en) 1992-05-06 1994-08-09 Synaptics, Incorporated One-transistor adaptable analog storage element and array
US5264734A (en) 1992-05-19 1993-11-23 Intel Corporation Difference calculating neural network utilizing switched capacitors
US5256911A (en) 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
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
US5386132A (en) 1992-11-02 1995-01-31 Wong; Chun C. D. Multimedia storage system with highly compact memory device
JP2835272B2 (ja) 1993-12-21 1998-12-14 株式会社東芝 半導体記憶装置
KR0151623B1 (ko) 1994-12-07 1998-10-01 문정환 이이피롬 셀 및 그 제조방법
US6965142B2 (en) 1995-03-07 2005-11-15 Impinj, Inc. Floating-gate semiconductor structures
US5825063A (en) * 1995-03-07 1998-10-20 California Institute Of Technology Three-terminal silicon synaptic device
US5990512A (en) 1995-03-07 1999-11-23 California Institute Of Technology Hole impact ionization mechanism of hot electron injection and four-terminal ρFET semiconductor structure for long-term learning
US5554874A (en) 1995-06-05 1996-09-10 Quantum Effect Design, Inc. Six-transistor cell with wide bit-line pitch, double words lines, and bit-line contact shared among four cells
US5721702A (en) 1995-08-01 1998-02-24 Micron Quantum Devices, Inc. Reference voltage generator using flash memory cells
US5966332A (en) 1995-11-29 1999-10-12 Sanyo Electric Co., Ltd. Floating gate memory cell array allowing cell-by-cell erasure
US6683645B1 (en) 1995-12-01 2004-01-27 Qinetiq Limited Imaging system with low sensitivity to variation in scene illumination
US5748534A (en) 1996-03-26 1998-05-05 Invox Technology Feedback loop for reading threshold voltage
US6389404B1 (en) 1998-12-30 2002-05-14 Irvine Sensors Corporation Neural processing module with input architectures that make maximal use of a weighted synapse array
US6222777B1 (en) 1999-04-09 2001-04-24 Sun Microsystems, Inc. Output circuit for alternating multiple bit line per column memory architecture
US6232180B1 (en) 1999-07-02 2001-05-15 Taiwan Semiconductor Manufacturing Corporation Split gate flash memory cell
US6282119B1 (en) 2000-06-02 2001-08-28 Winbond Electronics Corporation Mixed program and sense architecture using dual-step voltage scheme in multi-level data storage in flash memories
US6829598B2 (en) 2000-10-02 2004-12-07 Texas Instruments Incorporated Method and apparatus for modeling a neural synapse function by utilizing a single conventional MOSFET
US6563167B2 (en) 2001-01-05 2003-05-13 Silicon Storage Technology, Inc. Semiconductor memory array of floating gate memory cells with floating gates having multiple sharp edges
US6563733B2 (en) 2001-05-24 2003-05-13 Winbond Electronics Corporation Memory array architectures based on a triple-polysilicon source-side injection non-volatile memory cell
KR100983295B1 (ko) 2002-03-22 2010-09-24 조지아 테크 리서치 코오포레이션 부동 게이트 아날로그 회로
US6747310B2 (en) 2002-10-07 2004-06-08 Actrans System Inc. Flash memory cells with separated self-aligned select and erase gates, and process of fabrication
JP2004171686A (ja) 2002-11-20 2004-06-17 Renesas Technology Corp 不揮発性半導体記憶装置およびそのデータ消去方法
JP4601287B2 (ja) 2002-12-26 2010-12-22 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US6822910B2 (en) 2002-12-29 2004-11-23 Macronix International Co., Ltd. Non-volatile memory and operating method thereof
US6781186B1 (en) 2003-01-30 2004-08-24 Silicon-Based Technology Corp. Stack-gate flash cell structure having a high coupling ratio and its contactless flash memory arrays
US6856551B2 (en) 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US6946894B2 (en) 2003-06-12 2005-09-20 Winbond Electronics Corporation Current-mode synapse multiplier circuit
EP1676197B1 (en) 2003-10-16 2012-01-18 Canon Kabushiki Kaisha Operation circuit and operation control method thereof
TWI220560B (en) 2003-10-27 2004-08-21 Powerchip Semiconductor Corp NAND flash memory cell architecture, NAND flash memory cell array, manufacturing method and operating method of the same
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7315056B2 (en) 2004-06-07 2008-01-01 Silicon Storage Technology, Inc. Semiconductor memory array of floating gate memory cells with program/erase and select gates
US7092290B2 (en) 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
TWI270199B (en) 2005-01-31 2007-01-01 Powerchip Semiconductor Corp Non-volatile memory and manufacturing method and operating method thereof
US8443169B2 (en) 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US7304890B2 (en) 2005-12-13 2007-12-04 Atmel Corporation Double byte select high voltage line for EEPROM memory block
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
KR100850509B1 (ko) * 2007-01-10 2008-08-05 삼성전자주식회사 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법
EP2122627B1 (en) * 2007-02-20 2013-01-30 SanDisk Technologies Inc. Dynamic verify based on threshold voltage distribution
KR100874920B1 (ko) * 2007-03-15 2008-12-19 삼성전자주식회사 셀 사이의 커플링에 의한 영향을 감소시킨 플래시 메모리장치 및 그 구동방법
US7626868B1 (en) 2007-05-04 2009-12-01 Flashsilicon, Incorporation Level verification and adjustment for multi-level cell (MLC) non-volatile memory (NVM)
US7733262B2 (en) 2007-06-15 2010-06-08 Micron Technology, Inc. Quantizing circuits with variable reference signals
US7630246B2 (en) 2007-06-18 2009-12-08 Micron Technology, Inc. Programming rate identification and control in a solid state memory
US20090039410A1 (en) 2007-08-06 2009-02-12 Xian Liu Split Gate Non-Volatile Flash Memory Cell Having A Floating Gate, Control Gate, Select Gate And An Erase Gate With An Overhang Over The Floating Gate, Array And Method Of Manufacturing
JP2009080892A (ja) * 2007-09-26 2009-04-16 Toshiba Corp 半導体記憶装置
US7894267B2 (en) 2007-10-30 2011-02-22 Spansion Llc Deterministic programming algorithm that provides tighter cell distributions with a reduced number of programming pulses
US7746698B2 (en) 2007-12-13 2010-06-29 Spansion Llc Programming in memory devices using source bitline voltage bias
JP4513865B2 (ja) 2008-01-25 2010-07-28 セイコーエプソン株式会社 並列演算装置および並列演算方法
JP2010267341A (ja) 2009-05-15 2010-11-25 Renesas Electronics Corp 半導体装置
CN102473140B (zh) * 2009-07-17 2015-05-13 株式会社东芝 存储器管理装置
US8077515B2 (en) * 2009-08-25 2011-12-13 Micron Technology, Inc. Methods, devices, and systems for dealing with threshold voltage change in memory devices
WO2011047156A1 (en) * 2009-10-15 2011-04-21 Hercules Technology Management Co V, Inc. Sepiapterin reductase inhibitors for the treatment of pain
WO2011115769A2 (en) 2010-03-15 2011-09-22 California Institute Of Technology System and method for cognitive processing for data fusion
JP5300773B2 (ja) 2010-03-29 2013-09-25 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US9665822B2 (en) 2010-06-30 2017-05-30 International Business Machines Corporation Canonical spiking neuron network for spatiotemporal associative memory
US8325521B2 (en) 2010-10-08 2012-12-04 Taiwan Semiconductor Manufacturing Company, Ltd. Structure and inhibited operation of flash memory with split gate
US8473439B2 (en) 2010-12-08 2013-06-25 International Business Machines Corporation Integrate and fire electronic neurons
US8892487B2 (en) 2010-12-30 2014-11-18 International Business Machines Corporation Electronic synapses for reinforcement learning
JP2013041654A (ja) 2011-08-19 2013-02-28 Toshiba Corp 不揮発性記憶装置
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US8760955B2 (en) 2011-10-21 2014-06-24 Taiwan Semiconductor Manufacturing Company, Ltd. Electrical fuse memory arrays
WO2014021150A1 (ja) 2012-07-31 2014-02-06 シャープ株式会社 表示装置およびその駆動方法
US9466732B2 (en) 2012-08-23 2016-10-11 Silicon Storage Technology, Inc. Split-gate memory cell with depletion-mode floating gate channel, and method of making same
US9153230B2 (en) 2012-10-23 2015-10-06 Google Inc. Mobile speech recognition hardware accelerator
CN103000218A (zh) 2012-11-20 2013-03-27 上海宏力半导体制造有限公司 存储器电路
US9275748B2 (en) 2013-03-14 2016-03-01 Silicon Storage Technology, Inc. Low leakage, low threshold voltage, split-gate flash cell operation
WO2015001697A1 (ja) 2013-07-04 2015-01-08 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路、およびその学習方法
US9513692B2 (en) * 2013-09-18 2016-12-06 Intel Corporation Heterogenous memory access
US10019470B2 (en) 2013-10-16 2018-07-10 University Of Tennessee Research Foundation Method and apparatus for constructing, using and reusing components and structures of an artifical neural network
US20150213898A1 (en) 2014-01-27 2015-07-30 Silicon Storage Technololgy, Inc. Byte Erasable Non-volatile Memory Architecture And Method Of Erasing Same
US20150324691A1 (en) 2014-05-07 2015-11-12 Seagate Technology Llc Neural network connections using nonvolatile memory devices
US20160034812A1 (en) * 2014-07-31 2016-02-04 Qualcomm Incorporated Long short-term memory using a spiking neural network
US9286982B2 (en) 2014-08-08 2016-03-15 Silicon Storage Technology, Inc. Flash memory system with EEPROM functionality
US9760533B2 (en) 2014-08-14 2017-09-12 The Regents On The University Of Michigan Floating-gate transistor array for performing weighted sum computation
US9984754B2 (en) 2014-09-29 2018-05-29 Toshiba Memory Corporation Memory device and method for operating the same
US10312248B2 (en) 2014-11-12 2019-06-04 Silicon Storage Technology, Inc. Virtual ground non-volatile memory array
US9361991B1 (en) 2014-12-23 2016-06-07 Sandisk Technologies Inc. Efficient scanning of nonvolatile memory blocks
CN104615909B (zh) 2015-02-02 2018-02-13 天津大学 基于FPGA的Izhikevich神经元网络同步放电仿真平台
CN105990367B (zh) 2015-02-27 2019-03-12 硅存储技术公司 具有rom单元的非易失性存储器单元阵列
US10650308B2 (en) * 2015-09-23 2020-05-12 Politecnico Di Milano Electronic neuromorphic system, synaptic circuit with resistive switching memory and method of performing spike-timing dependent plasticity
US10325006B2 (en) * 2015-09-29 2019-06-18 International Business Machines Corporation Scalable architecture for analog matrix operations with resistive devices
US10509999B2 (en) * 2015-12-30 2019-12-17 SK Hynix Inc. Neuromorphic device including post-synaptic neurons having a comparator for deciding quasi- learned synapses
US10698975B2 (en) 2016-01-27 2020-06-30 Hewlett Packard Enterprise Development Lp In situ transposition
US20170330070A1 (en) 2016-02-28 2017-11-16 Purdue Research Foundation Spin orbit torque based electronic neuron
JP6833873B2 (ja) * 2016-05-17 2021-02-24 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器
US10311958B2 (en) 2016-05-17 2019-06-04 Silicon Storage Technology, Inc. Array of three-gate flash memory cells with individual memory cell read, program and erase
US10269440B2 (en) 2016-05-17 2019-04-23 Silicon Storage Technology, Inc. Flash memory array with individual memory cell read, program and erase
CN107425003B (zh) 2016-05-18 2020-07-14 硅存储技术公司 制造分裂栅非易失性闪存单元的方法
US9910827B2 (en) 2016-07-01 2018-03-06 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
US10043573B2 (en) * 2016-08-04 2018-08-07 Intel Corporation Apparatus and method for endurance friendly programming using lower voltage thresholds
US10346347B2 (en) 2016-10-03 2019-07-09 The Regents Of The University Of Michigan Field-programmable crossbar array for reconfigurable computing
US11205116B2 (en) 2016-12-09 2021-12-21 Fu-Chang Hsu Three-dimensional neural network array
US10860923B2 (en) * 2016-12-20 2020-12-08 Samsung Electronics Co., Ltd. High-density neuromorphic computing element
WO2018153866A1 (en) 2017-02-24 2018-08-30 Asml Netherlands B.V. Methods of determining process models by machine learning
US10748059B2 (en) 2017-04-05 2020-08-18 International Business Machines Corporation Architecture for an electrochemical artificial neural network
KR20230035145A (ko) 2017-05-26 2023-03-10 에이에스엠엘 네델란즈 비.브이. 기계 학습에 기초한 어시스트 피처 배치
US10482929B2 (en) 2017-07-13 2019-11-19 Qualcomm Incorporated Non-volative (NV) memory (NVM) matrix circuits employing NVM matrix circuits for performing matrix computations
US10460817B2 (en) 2017-07-13 2019-10-29 Qualcomm Incorporated Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors
US10580492B2 (en) 2017-09-15 2020-03-03 Silicon Storage Technology, Inc. System and method for implementing configurable convoluted neural networks with flash memories
CN109522753B (zh) 2017-09-18 2020-11-06 清华大学 电路结构及其驱动方法、芯片及其认证方法、电子设备
US10303998B2 (en) * 2017-09-28 2019-05-28 International Business Machines Corporation Floating gate for neural network inference
US11354562B2 (en) 2018-01-03 2022-06-07 Silicon Storage Technology, Inc. Programmable neuron for analog non-volatile memory in deep learning artificial neural network
US10552510B2 (en) 2018-01-11 2020-02-04 Mentium Technologies Inc. Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US10496374B2 (en) 2018-03-22 2019-12-03 Hewlett Packard Enterprise Development Lp Crossbar array operations using ALU modified signals
US10522226B2 (en) * 2018-05-01 2019-12-31 Silicon Storage Technology, Inc. Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network
US10217512B1 (en) * 2018-05-15 2019-02-26 International Business Machines Corporation Unit cell with floating gate MOSFET for analog memory
US10692570B2 (en) 2018-07-11 2020-06-23 Sandisk Technologies Llc Neural network matrix multiplication in memory cells
US10534840B1 (en) * 2018-08-08 2020-01-14 Sandisk Technologies Llc Multiplication using non-volatile memory cells
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers
US10891222B2 (en) 2018-12-24 2021-01-12 Macronix International Co., Ltd. Memory storage device and operation method thereof for implementing inner product operation
US10720217B1 (en) * 2019-01-29 2020-07-21 Silicon Storage Technology, Inc. Memory device and method for varying program state separation based upon frequency of use
US10741611B1 (en) * 2019-02-11 2020-08-11 International Business Machines Corporation Resistive processing units with complementary metal-oxide-semiconductor non-volatile analog memory

Also Published As

Publication number Publication date
EP3918533B1 (en) 2022-11-23
KR102407363B1 (ko) 2022-06-10
WO2020159580A1 (en) 2020-08-06
WO2020159581A1 (en) 2020-08-06
CN113366505A (zh) 2021-09-07
CN113366505B (zh) 2022-10-18
JP2022514111A (ja) 2022-02-09
JP7008167B1 (ja) 2022-01-25
TW202042118A (zh) 2020-11-16
EP3918533A1 (en) 2021-12-08
TWI732414B (zh) 2021-07-01
TWI705390B (zh) 2020-09-21
KR102607530B1 (ko) 2023-11-29
US11270771B2 (en) 2022-03-08
CN113366506A (zh) 2021-09-07
JP2022519041A (ja) 2022-03-18
JP7314286B2 (ja) 2023-07-25
KR20210110354A (ko) 2021-09-07
EP3918534A1 (en) 2021-12-08
EP3918534B1 (en) 2024-02-21
US20200242453A1 (en) 2020-07-30
US10720217B1 (en) 2020-07-21
TW202042117A (zh) 2020-11-16
KR20210105428A (ko) 2021-08-26
US20200243139A1 (en) 2020-07-30

Similar Documents

Publication Publication Date Title
CN113366505B (zh) 存储器设备和用于基于使用频率改变编程状态间距的方法
CN113366503B (zh) 使用二栅极非易失性存储器单元阵列的神经网络分类器
CN111386572B (zh) 模拟神经形态存储器的高精度和高效调谐机制和算法
US11521682B2 (en) Temperature compensation in an analog memory array by changing a threshold voltage of a selected memory cell in the array
US20170337466A1 (en) Deep Learning Neural Network Classifier Using Non-volatile Memory Array
US11847557B2 (en) Compensation for reference transistors and memory cells in analog neuro memory in deep learning artificial neural network
CN115885345A (zh) 模拟神经存储器中的并发写入和验证操作
CN113366504B (zh) 使用四栅极非易失性存储器单元阵列的神经网络分类器
US20240256846A1 (en) Multiplexors for neural network array
US11989440B2 (en) Hybrid memory system configurable to store neural memory weight data in analog form or digital form
WO2024162978A1 (en) Multiplexors for neural network array

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