KR20220125305A - 인공 신경망 내의 차등 셀 쌍에 시냅스 가중치를 저장하는 아날로그 신경 메모리 어레이 - Google Patents

인공 신경망 내의 차등 셀 쌍에 시냅스 가중치를 저장하는 아날로그 신경 메모리 어레이 Download PDF

Info

Publication number
KR20220125305A
KR20220125305A KR1020227027175A KR20227027175A KR20220125305A KR 20220125305 A KR20220125305 A KR 20220125305A KR 1020227027175 A KR1020227027175 A KR 1020227027175A KR 20227027175 A KR20227027175 A KR 20227027175A KR 20220125305 A KR20220125305 A KR 20220125305A
Authority
KR
South Korea
Prior art keywords
array
cells
memory cells
analog
columns
Prior art date
Application number
KR1020227027175A
Other languages
English (en)
Inventor
휴 반 트란
튜안 뷰
스테펜 트린
스탠리 홍
안 리
비핀 티와리
Original Assignee
실리콘 스토리지 테크놀로지 인크
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 실리콘 스토리지 테크놀로지 인크 filed Critical 실리콘 스토리지 테크놀로지 인크
Publication of KR20220125305A publication Critical patent/KR20220125305A/ko

Links

Images

Classifications

    • G06N3/0635
    • 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
    • G06N3/0454
    • G06N3/0481
    • 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/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
    • 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/0416Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
    • 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/08Address circuits; Decoders; Word-line control 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/24Bit-line control 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/005Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements using switched capacitors, e.g. dynamic amplifiers; using switched capacitors as resistors in differential amplifiers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F3/00Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
    • H03F3/45Differential amplifiers
    • H03F3/45071Differential amplifiers with semiconductor devices only
    • H03F3/45076Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
    • H03F3/45475Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using IC blocks as the active amplifying circuit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/14Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
    • H03M1/145Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit the steps being performed sequentially in series-connected stages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/14Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
    • H03M1/16Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit with scale factor modification, i.e. by changing the amplification between the steps
    • H03M1/164Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit with scale factor modification, i.e. by changing the amplification between the steps the steps being performed sequentially in series-connected stages
    • 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/048Activation functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F2203/00Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
    • H03F2203/45Indexing scheme relating to differential amplifiers
    • H03F2203/45526Indexing scheme relating to differential amplifiers the FBC comprising a resistor-capacitor combination and being coupled between the LC and the IC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03FAMPLIFIERS
    • H03F2203/00Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
    • H03F2203/45Indexing scheme relating to differential amplifiers
    • H03F2203/45536Indexing scheme relating to differential amplifiers the FBC comprising a switch and being coupled between the LC and the IC
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/46Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
    • H03M1/466Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter using switched capacitors
    • H03M1/468Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter using switched capacitors in which the input S/H circuit is merged with the feedback DAC array
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/50Analogue/digital converters with intermediate conversion to time interval
    • H03M1/56Input signal compared with linear ramp

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Networks Using Active Elements (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

아날로그 신경 메모리 어레이들의 다수의 실시예들이 개시된다. 일 실시예에서, 아날로그 신경 메모리 시스템은 비휘발성 메모리 셀들의 어레이를 포함하며, 여기서 셀들은 로우들(rows) 및 컬럼들(columns)로 배열되고, 컬럼들은 물리적으로 인접한 컬럼들의 쌍들로 배열되고, 각각의 인접한 쌍 내에서, 인접한 쌍의 하나의 컬럼은 W+ 값을 저장하는 셀들을 포함하고, 인접한 쌍의 하나의 컬럼은 W- 값을 저장하는 셀들을 포함하며, 인접한 쌍의 인접한 셀들은 식 W = (W+) - (W-)에 따라 차등 가중치 W를 저장한다. 다른 실시예에서, 아날로그 신경 메모리 시스템은 W+ 값들을 저장하는 비휘발성 메모리 셀들의 제1 어레이 및 W- 값들을 저장하는 제2 어레이를 포함한다.

Description

인공 신경망 내의 차등 셀 쌍에 시냅스 가중치를 저장하는 아날로그 신경 메모리 어레이
우선권 주장
본 출원은 2020년 3월 5일자로 출원된 명칭 "Analog Neural Memory Array in Artificial Neural Network With Accurate Array Source Impedance With Adaptive Weight Mapping and Distributed Power"의 미국 임시 출원 제62/985,826호에 대한 우선권을 주장하며, 2020년 8월 6일자로 출원된 명칭 "Analog Neural Memory Array Storing Synapsis Weights In Differential Cell Pairs in Artificial Neural Network"의 미국 특허 출원 제16/987,101호에 대한 우선권을 주장한다.
기술분야
아날로그 신경 메모리 어레이들의 다수의 실시예들이 개시된다. 특정 실시예들에서, 시냅스 가중치들은 어레이의 차등 셀 쌍에 저장된다. 특정 실시예들에서, 전력 소비는 셀들이 판독되고 있을 때 비트 라인으로부터 어레이 내의 비트 라인으로 실질적으로 일정하다. 특정 실시예들에서, 가중치 맵핑은 전력 및 노이즈에서의 최적의 성능을 위해 적응적으로 수행된다.
인공 신경망은 생물학적 신경망(동물의 중추신경계, 특히 뇌)을 모방하며, 다수의 입력에 의존할 수 있고 일반적으로 알려져 있지 않은 함수들을 추정하거나 근사화하는 데 이용된다. 인공 신경망은, 일반적으로, 서로 메시지들을 교환하는 상호접속된 "뉴런(neuron)들"의 층들을 포함한다.
도 1은 인공 신경망을 예시하며, 여기서 원들은 뉴런들의 층들 또는 입력들을 나타낸다. 연접부들(시냅스(synapse)들로 지칭됨)은 화살표로 표현되며, 경험에 기초하여 튜닝될 수 있는 수치 가중치를 갖는다. 이것은 인공 신경망을 입력에 적응할 수 있게 하고 학습할 수 있게 한다. 전형적으로, 인공 신경망은 다수의 입력들의 층을 포함한다. 전형적으로 뉴런들의 하나 이상의 중간 층, 및 신경망의 출력을 제공하는 뉴런들의 출력 층이 있다. 각각의 레벨의 뉴런들은 개별적으로 또는 집합적으로 시냅스들로부터의 수신된 데이터에 기초하여 결정을 행한다.
고성능 정보 처리를 위한 인공 신경망의 개발에서의 주요 과제들 중 하나는 적절한 하드웨어 기술의 결여이다. 사실상, 실제 인공 신경망은 매우 많은 수의 시냅스들에 의존하여, 뉴런들 사이의 높은 접속성, 즉 매우 높은 계산 병렬성(computational parallelism)을 가능하게 한다. 원칙적으로, 그러한 복잡성은 디지털 슈퍼컴퓨터들 또는 특수 그래픽 처리 유닛 클러스터들로 달성될 수 있다. 그러나, 고비용에 더하여, 이들 접근법은 또한 주로 저-정밀 아날로그 계산을 수행하기 때문에 훨씬 적은 에너지를 소비하는 생물학적 망(biological network)과 비교하여 평범한 에너지 효율을 겪는다. CMOS 아날로그 회로가 인공 신경망에 사용되어 왔지만, 대부분의 CMOS-구현된 시냅스들은 많은 수의 뉴런들 및 시냅스들을 고려해 볼 때 너무 부피가 컸다.
출원인은, 참고로 포함되는, 미국 특허 공개 제2017/0337466호로서 공개된, 미국 특허 출원 제15/594,439호에서 하나 이상의 비휘발성 메모리 어레이를 시냅스로서 이용하는 인공 (아날로그) 신경망을 이전에 개시하였다. 비휘발성 메모리 어레이들은 아날로그 뉴로모픽 메모리(analog neuromorphic memory)로서 동작한다. 본 명세서에서 사용된 바와 같은, 용어 '뉴로모픽'은 신경계의 모델을 구현하는 회로부를 의미한다. 아날로그 뉴로모픽 메모리는 제1 복수의 입력들을 수신하고 그로부터 제1 복수의 출력들을 생성하도록 구성된 제1 복수의 시냅스들, 및 제1 복수의 출력들을 수신하도록 구성된 제1 복수의 뉴런들을 포함한다. 제1 복수의 시냅스들은 복수의 메모리 셀들을 포함하는데, 여기서 메모리 셀들 각각은 반도체 기판 내에 형성되고 채널 영역이 사이에 연장되는 이격된 소스 영역과 드레인 영역, 채널 영역의 제1 부분 위에 배치되고 그로부터 절연되는 플로팅 게이트, 및 채널 영역의 제2 부분 위에 배치되고 그로부터 절연되는 비-플로팅 게이트를 포함한다. 복수의 메모리 셀들 각각은 플로팅 게이트 상의 전자들의 수에 대응하는 가중치 값을 저장하도록 구성된다. 복수의 메모리 셀들은 제1 복수의 입력들을 저장된 가중치 값들과 승산하여 제1 복수의 출력들을 생성하도록 구성된다. 이러한 방식으로 배열된 메모리 셀들의 어레이는 벡터x매트릭스 승산(vector by matrix multiplication, VMM) 어레이로 지칭될 수 있다.
VMM에서 사용될 수 있는 상이한 비휘발성 메모리 셀의 예가 이제 논의될 것이다.
비휘발성 메모리 셀들
다양한 유형들의 공지된 비휘발성 메모리 셀들이 VMM 어레이들에서 사용될 수 있다. 예를 들어, 본 명세서에 참고로 포함되는, 미국 특허 제5,029,130호("'130 특허")는 플래시 메모리 셀들의 한 유형인, 분리형 게이트 비휘발성 메모리 셀들의 어레이를 개시하고 있다. 그러한 메모리 셀(210)이 도 2에 도시되어 있다. 각각의 메모리 셀(210)은 반도체 기판(12) 내에 형성된 소스 영역(14) 및 드레인 영역(16)을 포함하며, 그 영역들 사이에 채널 영역(18)이 있다. 플로팅 게이트(20)가 소스 영역(14)의 일부분 위에, 그리고 채널 영역(18)의 제1 부분 위에 형성되고 그로부터 절연된다(그리고 그의 전도율을 제어한다). 워드 라인 단자(22)(전형적으로 워드 라인에 결합됨)가 채널 영역(18)의 제2 부분 위에 배치되고 그로부터 절연되는(그리고 그의 전도율을 제어하는) 제1 부분, 및 위쪽으로 그리고 플로팅 게이트(20) 위로 연장되는 제2 부분을 갖는다. 플로팅 게이트(20) 및 워드 라인 단자(22)는 게이트 산화물에 의해 기판(12)으로부터 절연된다. 비트 라인 단자(24)가 드레인 영역(16)에 결합된다.
메모리 셀(210)은 워드 라인 단자(22) 상에 높은 포지티브 전압을 배치함으로써 소거되는데(여기서 전자들이 플로팅 게이트로부터 제거됨), 이는 플로팅 게이트(20) 상의 전자들이 파울러-노드하임 터널링(Fowler-Nordheim tunneling)을 통해 중간 절연체를 통과하여 플로팅 게이트(20)로부터 워드 라인 단자(22)로 터널링하게 한다.
메모리 셀(210)은 워드 라인 단자(22) 상에 포지티브 전압을, 그리고 소스 영역(14) 상에 포지티브 전압을 배치함으로써 프로그래밍된다(여기서 전자들이 플로팅 게이트 상에 배치됨). 전자 전류가 드레인 영역(16)으로부터 소스 영역(14)을 향해 흐를 것이다 (소스 라인 단자). 전자들은 그들이 워드 라인 단자(22)와 플로팅 게이트(20) 사이의 갭에 도달할 때 가속되고 가열될 것이다. 가열된 전자들 중 일부는 플로팅 게이트(20)로부터의 정전 인력으로 인해 게이트 산화물을 통과하여 플로팅 게이트(20) 상으로 주입될 것이다.
메모리 셀(210)은 드레인 영역(16) 및 워드 라인 단자(22) 상에 포지티브 판독 전압들을 배치함(이는 워드 라인 단자 아래의 채널 영역(18)의 부분을 턴온시킴)으로써 판독된다. 플로팅 게이트(20)가 포지티브로 대전되면(즉, 전자들이 소거되면), 플로팅 게이트(20) 아래의 채널 영역(18)의 부분이 또한 턴온되고, 전류가 채널 영역(18)을 가로질러 흐를 것이며, 이는 소거된 또는 "1" 상태로 감지된다. 플로팅 게이트(20)가 네거티브로 대전되면(즉, 전자들로 프로그래밍되면), 플로팅 게이트(20) 아래의 채널 영역의 부분은 대부분 또는 완전히 턴오프되고, 전류가 채널 영역(18)을 가로질러 흐르지 않을 것이며(또는 흐름이 거의 없을 것이며), 이는 프로그래밍된 또는 "0" 상태로 감지된다.
표 1은 판독, 소거, 및 프로그램 동작들을 수행하기 위해 메모리 셀(110)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다.
[표 1]
Figure pct00001
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 3은 제어 게이트(CG) 단자(28)가 추가된 도 2의 메모리 셀(210)과 유사한, 메모리 셀(310)을 도시한다. 제어 게이트 단자(28)는 프로그래밍에서 고전압, 예를 들어 10V, 소거에서 저전압 또는 음전압, 예를 들어 0v/-8V, 판독에서 저전압 또는 중간 범위 전압, 예를 들어 0v/2.5V로 바이어싱된다. 다른 단자들은 도 2의 것과 유사하게 바이어싱된다.
도 4는 소스 영역(14), 드레인 영역(16), 채널 영역(18)의 제1 부분 위의 플로팅 게이트(20), 채널 영역(18)의 제2 부분 위의 선택 게이트(22)(전형적으로 워드 라인(WL)에 결합됨), 플로팅 게이트(20) 위의 제어 게이트(28), 및 소스 영역(14) 위의 소거 게이트(30)를 포함하는 4-게이트 메모리 셀(410)을 도시한다. 이러한 구성은, 모든 목적을 위해 본 명세서에 참고로 포함되는, 미국 특허 제6,747,310호에 기재되어 있다. 여기서, 모든 게이트들은 플로팅 게이트(20)를 제외하고 비-플로팅 게이트들이며, 이는 그들이 전압 소스에 전기적으로 접속되거나 접속 가능하다는 것을 의미한다. 프로그래밍은 채널 영역(18)으로부터의 가열된 전자들이 플로팅 게이트(20) 상으로 자신들을 주입하는 것에 의해 수행된다. 소거는 전자들이 플로팅 게이트(20)로부터 소거 게이트(30)로 터널링하는 것에 의해 수행된다.
표 2는 판독, 소거, 및 프로그램 동작들을 수행하기 위해 메모리 셀(410)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다.
[표 2]
Figure pct00002
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 5는 메모리 셀(510)이 소거 게이트(EG) 단자를 포함하지 않는다는 점을 제외하고는 도 4의 메모리 셀(410)과 유사한, 메모리 셀(510)을 도시한다. 소거는 기판(18)을 고전압으로 바이어싱하고 제어 게이트(CG) 단자(28)를 저전압 또는 음전압으로 바이어싱함으로써 수행된다. 대안적으로, 소거는 워드 라인 단자(22)를 양전압으로 바이어싱하고 제어 게이트 단자(28)를 음전압으로 바이어싱함으로써 수행된다. 프로그래밍 및 판독은 도 4의 것과 유사하다.
도 6은 플래시 메모리 셀의 다른 유형인 3-게이트 메모리 셀(610)을 도시한다. 메모리 셀(610)은, 메모리 셀(610)이 별개의 제어 게이트 단자를 갖지 않는다는 점을 제외하고는, 도 4의 메모리 셀(410)과 동일하다. 소거 동작(그에 의해 소거 게이트 단자의 사용을 통해 소거가 발생함) 및 판독 동작은, 제어 게이트 바이어스가 인가되지 않는다는 점을 제외하고는, 도 4의 것과 유사하다. 프로그래밍 동작은 또한 제어 게이트 바이어스 없이 행해지고, 결과적으로, 제어 게이트 바이어스의 결여를 보상하기 위해 프로그램 동작 동안 소스 라인 단자 상에 더 높은 전압이 인가되어야 한다.
표 3은 판독, 소거, 및 프로그램 동작들을 수행하기 위해 메모리 셀(610)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다:
[표 3]
Figure pct00003
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 7은 플래시 메모리 셀의 다른 유형인 적층형 게이트 메모리 셀(710)을 도시한다. 메모리 셀(710)은, 절연 층(도시되지 않음)에 의해 분리되어, 플로팅 게이트(20)가 전체 채널 영역(18) 위로 연장되고, 제어 게이트 단자(22)(여기서 워드 라인에 결합될 것임)가 플로팅 게이트(20) 위로 연장된다는 점을 제외하고는, 도 2의 메모리 셀(210)과 유사하다. 프로그래밍은 채널(18)로부터 드레인 영역(16)의 옆의 채널 영역에서 플로팅 게이트(20)로의 고온 전자 주입을 사용하여 수행되고, 소거는 플로팅 게이트(20)로부터 기판(12)으로의 파울러-노드하임(Fowler-Nordheim) 전자 터널링에 의해 수행된다. 판독 동작은 메모리 셀(210)에 대해 이전에 설명된 것과 유사한 방식으로 동작한다.
표 4는 판독, 소거, 및 프로그램 동작들을 수행하기 위해 기판(12) 및 메모리 셀(710)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다:
[표 4]
Figure pct00004
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다. 선택적으로, 메모리 셀들(210, 310, 410, 510, 610, 또는 710)의 로우(row)들 및 컬럼(column)들을 포함하는 어레이들에서, 소스 라인들은 메모리 셀들의 하나의 로우에 또는 메모리 셀들의 2개의 인접한 로우들에 결합될 수 있다. 즉, 소스 라인 단자들은 메모리 셀들의 인접한 로우들에 의해 공유될 수 있다.
도 8은 분리형 게이트 메모리 셀(810)을 도시한다. 트윈 분리 게이트 메모리 셀(810)은 한 쌍의 메모리 셀들(좌측 A, 우측 B)을 포함하며, 여기서 각각의 메모리 셀은 기판(12) 위에 배치되면서 그로부터 절연되는 플로팅 게이트(FGA, FGB)(20), 플로팅 게이트(20) 위에 배치되면서 그로부터 절연되는 제어 게이트(28)(CGA, CGB), 플로팅 및 제어 게이트들(20/28)에 인접하게 배치되면서 그들로부터 절연되고 기판(12) 위에 배치되면서 그로부터 절연되는 소거 게이트(30)(EG)(소거 게이트는 T자 형상으로 생성되어, 제어 게이트(CGA, CGB)의 상단 코너가 T자형 소거 게이트의 내측 코너에 대면하게 되어 소거 효율을 개선함), 및 플로팅 게이트(20)에 인접한 기판 내의 드레인 영역(16)(DRA, DRB)(비트 라인 콘택트(24)(BLA, BLB)가 각각의 드레인 확산 영역들(16)(DRA, DRB)에 접속됨)을 포함한다. 메모리 셀들은 공통 소거 게이트(30)를 공유하는 메모리 셀들의 쌍들로서 형성된다. 이러한 셀 설계는, 적어도, 그것에 소거 게이트(EG) 아래의 소스 영역이 없고, 선택 게이트(워드 라인으로도 지칭됨)가 없고, 각각의 메모리 셀에 대한 채널 영역이 없다는 점에서, 도 2 내지 7을 참조하여 전술된 메모리 셀들과 상이하다. 대신, 단일의 연속적인 채널 영역(18)이 양측의 메모리 셀들 아래에서 연장된다(즉, 하나의 메모리 셀의 드레인 영역(16)으로부터 다른 메모리 셀의 드레인 영역(16)으로 연장된다). 하나의 메모리 셀을 판독 또는 프로그래밍하기 위해, 다른 메모리 셀의 제어 게이트(28)는 하부 채널 영역 부분을 그들 사이의 플로팅 게이트(20)와의 전압 커플링을 통해 턴온시키도록 충분한 전압으로 상승된다(예컨대, 셀(A)을 판독 또는 프로그래밍하기 위해, FGB 상의 전압은 CGB로부터의 전압 커플링을 통해 상승되어, FGB 아래의 채널 영역 부분을 턴온시킨다). 소거는 플로팅 게이트(20A) 및/또는 플로팅 게이트(20B)로부터 소거 게이트(30)로의 Fowler Nordheim 전자 터널링을 사용하여 수행된다. 프로그래밍은 채널(18)로부터 플로팅 게이트(20)로의 고온 전자 주입을 사용하여 수행된다.
표 5는 판독, 소거, 및 프로그램 동작들을 수행하기 위해 메모리 셀(810)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다. 셀 A(FG, CGA, BLA)은 판독, 프로그램, 및 소거 동작을 위해 선택된다.
[표 5]
Figure pct00005
인공 신경망에서 위에서 설명된 비휘발성 메모리 셀들의 유형들 중 하나를 포함하는 메모리 어레이들을 이용하기 위해, 일 실시예에서, 두 가지 수정이 이루어진다. 첫째, 라인들은, 하기에서 추가로 설명되는 바와 같이, 각각의 메모리 셀이 어레이 내의 다른 메모리 셀들의 메모리 상태에 악영향을 미치지 않으면서 개별적으로 프로그래밍, 소거, 및 판독될 수 있도록 구성된다. 둘째, 메모리 셀들의 연속적인 (유사한) 프로그래밍이 제공된다.
구체적으로, 어레이 내의 각각의 메모리 셀의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀들의 교란을 최소화시킨 상태로, 완전 소거된 상태로부터 완전 프로그래밍된 상태로 연속적으로 변경될 수 있다. 다른 실시예에서, 어레이 내의 각각의 메모리 셀의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀들의 교란을 최소화시킨 상태로, 완전 프로그래밍된 상태로부터 완전 소거된 상태로, 그리고 완전 소거된 상태에서 완전 프로그래밍된 상태로 연속적으로 변경될 수 있다. 이것은 셀 저장소가 유사하거나 또는 적어도, 많은 개별 값들(예컨대 16개 또는 256개의 상이한 값) 중 하나를 저장할 수 있음을 의미하는데, 이는 메모리 어레이 내의 모든 셀들의 매우 정밀하고 개별적인 튜닝을 허용하고, 메모리 어레이를 신경망의 시냅스 가중치들에 대한 미세 튜닝 조정을 저장하고 행하는 데 이상적인 것으로 되게 한다.
본 명세서에 설명된 방법들 및 수단들은, 제한 없이, SONOS(silicon-oxide-nitride-oxide-silicon, 질화물 내의 전하 트랩), MONOS(metal-oxide-nitride-oxide-silicon, 질화물 내의 금속 전하 트랩), ReRAM(resistive ram, 저항 램), PCM(phase change memory, 상 변화 메모리), MRAM(magnetic ram, 자기 램), FeRAM(ferroelectric ram, 강유전성 램), OTP(이중 레벨 또는 다중 레벨 1회 프로그래밍 가능), 및 CeRAM(상관 전자 램)과 같은 다른 비휘발성 메모리 기술들에 적용될 수 있다. 본 명세서에 설명된 방법 및 수단은, 제한 없이, SRAM, DRAM, 및 다른 휘발성 시냅스 셀들과 같은 신경망에 대해 사용되는 휘발성 메모리 기술들에 적용될 수 있다.
비휘발성 메모리 셀 어레이들을 채용한 신경망들
도 9는 본 실시예의 비휘발성 메모리 어레이를 활용하는 신경망의 비제한적인 예를 개념적으로 예시한다. 이 예는 안면 인식 애플리케이션에 대해 비휘발성 메모리 어레이 신경망을 이용하지만, 비휘발성 메모리 어레이 기반 신경망을 이용하여 임의의 다른 적절한 애플리케이션이 구현될 수 있다.
S0은, 이 예에 대해, 5 비트 정밀도를 갖는 32x32 픽셀 RGB 이미지(즉, 각각의 색상 R, G 및 B에 대해 하나씩인 3개의 32x32 픽셀 어레이들, 각각의 픽셀은 5 비트 정밀도임)인 입력 층이다. 입력 층(S0)으로부터 층(C1)으로 가는 시냅스들(CB1)은 몇몇 예에서 가중치들 및 다른 예에서 공유 가중치들의 상이한 세트들을 적용하며, 입력 이미지를 3x3 픽셀 중첩 필터들(커널(kernel))로 스캔하여, 필터를 1 픽셀(또는 모델별로 지시되는 바와 같이 1 초과 픽셀)만큼 시프트시킨다. 구체적으로, 이미지의 3x3 부분 내의 9개 픽셀들(즉, 필터 또는 커널로 지칭됨)에 대한 값들이 시냅스들(CB1)에 제공되며, 여기서 이들 9개의 입력 값들이 적절한 가중치들과 승산되고, 그 승산의 출력들을 합산한 후, 단일 출력 값이 결정되고, 층(C1)의 피처 맵(feature map) 중 하나의 픽셀을 생성하기 위해 CB1의 제1 시냅스에 의해 제공된다. 이어서, 3x3 필터가 입력 층(S0) 내에서 하나의 픽셀씩 우측으로 시프트되며(즉, 우측에 3개 픽셀들의 컬럼을 추가하고, 좌측에서 3개 픽셀들의 컬럼을 뺌), 여기서 이러한 새롭게 위치된 필터에서의 9개 픽셀 값들이 시냅스들(CB1)에 제공되고, 이에 의해 이들은 동일한 가중치들과 승산되고, 제2 단일 출력 값이 연관된 시냅스에 의해 결정된다. 이러한 프로세스는, 3개의 모든 색상들에 대해 그리고 모든 비트들(정밀도 값들)에 대해, 3x3 필터가 입력 층(S0)의 전체 32x32 픽셀 이미지를 가로질러서 스캔할 때까지 계속된다. 이어서, 프로세스는, 층(C1)의 모든 피처 맵들이 계산될 때까지, 가중치들의 상이한 세트들을 사용하여 반복되어 C1의 상이한 피처 맵을 생성한다.
층(C1)에, 본 예에서, 각각 30x30 픽셀들을 갖는 16개 피처 맵들이 있다. 각각의 픽셀은 입력들과 커널을 승산하는 것으로부터 추출된 새로운 피처 픽셀이고, 따라서 각각의 피처 맵은 2차원 어레이이고, 따라서, 이러한 예에서, 층(C1)은 2차원 어레이들의 16개 층들을 구성한다(본 명세서에서 언급된 층들 및 어레이들은 반드시 물리적 관계인 것이 아니라 논리적 관계임 - 즉, 어레이들은 반드시 물리적으로 2차원 어레이들로 배향되지는 않음 - 에 유념한다). 층(C1) 내의 16개 피처 맵들 각각은 필터 스캔에 적용되는 시냅스 가중치들의 상이한 16개 세트들 중 하나의 세트에 의해 생성된다. C1 피처 맵들은 모두, 경계 식별과 같은 동일한 이미지 피처의 상이한 태양들에 관한 것일 수 있다. 예를 들어, 제1 맵(이러한 제1 맵을 생성하는 데 사용되는 모든 스캔을 위해 공유되는 제1 가중치 세트를 사용하여 생성됨)은 원형 에지들을 식별할 수 있고, 제2 맵(제1 가중치 세트와는 상이한 제2 가중치 세트를 사용하여 생성됨)은 직사각형 에지들, 또는 특정 피처들의 종횡비 등을 식별할 수 있다.
활성화 함수(P1)(풀링(pooling))가 층(C1)으로부터 층(S1)으로 가기 전에 적용되는데, 이는 각각의 피처 맵 내의 연속적인 비중첩 2x2 영역들로부터의 값들을 풀링한다. 풀링 함수(P1)의 목적은, 예를 들어 에지 위치의 의존성을 감소시키고 다음 스테이지로 가기 전에 데이터 크기를 감소시키기 위해 인근 위치를 평균하는 것이다(또는 최대 함수가 또한 사용될 수 있음). 층(S1)에, 16개 15x15 피처 맵들(즉, 각각 15x15 픽셀들의 상이한 16개 어레이들)이 있다. 층(S1)으로부터 층(C2)으로 가는 시냅스들(CB2)은 1 픽셀의 필터 시프트를 갖는 4x4 필터들로 층(S1) 내의 맵들을 스캔한다. 층(C2)에, 22개 12x12 피처 맵들이 있다. 활성화 함수(P2)(풀링)가 층(C2)으로부터 층(S2)으로 가기 전에 적용되는데, 이는 각각의 피처 맵 내의 연속적인 비중첩 2x2 영역들로부터의 값들을 풀링한다. 층(S2)에, 22개 6x6 피처 맵들이 있다. 활성화 함수(풀링)가 층(S2)으로부터 층(C3)으로 가는 시냅스들(CB3)에서 적용되며, 여기서 층(C3) 내의 모든 뉴런은 CB3의 각자의 시냅스를 통해 층(S2) 내의 모든 맵에 접속된다. 층(C3)에, 64개 뉴런들이 있다. 층(C3)으로부터 출력 층(S3)으로 가는 시냅스들(CB4)은 C3을 S3에 완전히 접속시키는데, 즉 층(C3) 내의 모든 뉴런은 층(S3) 내의 모든 뉴런에 접속된다. S3에서의 출력은 10개 뉴런들을 포함하고, 여기서 최고 출력 뉴런이 클래스를 결정한다. 이러한 출력은, 예를 들어, 원래의 이미지의 내용의 식별 또는 분류를 나타낼 수 있다.
시냅스들의 각각의 층은 비휘발성 메모리 셀들의 어레이 또는 그들의 어레이의 일부를 사용하여 구현된다.
도 10은 그 목적을 위해 사용될 수 있는 시스템의 블록 다이어그램이다. VMM 시스템(32)은 비휘발성 메모리 셀들을 포함하고, 하나의 층과 다음 층 사이에서 시냅스들(예컨대, 도 6의 CB1, CB2, CB3, 및 CB4)로서 이용된다. 구체적으로, VMM 시스템(32)은 로우들 및 컬럼들로 배열된 비휘발성 메모리 셀들을 포함하는 VMM 어레이(33), 소거 게이트 및 워드 라인 게이트 디코더(34), 제어 게이트 디코더(35), 비트 라인 디코더(36) 및 소스 라인 디코더(37)를 포함하며, 이들은 비휘발성 메모리 셀 어레이(33)에 대한 각자의 입력들을 디코딩한다. VMM 어레이(33)로의 입력은 소거 게이트 및 워드 라인 게이트 디코더(34)로부터 또는 제어 게이트 디코더(35)로부터일 수 있다. 이 예에서의 소스 라인 디코더(37)는 또한 VMM 어레이(33)의 출력을 디코딩한다. 대안적으로, 비트 라인 디코더(36)는 VMM 어레이(33)의 출력을 디코딩할 수 있다.
VMM 어레이(33)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 시스템(32)에 의해 사용될 가중치들을 저장한다. 둘째, VMM 어레이(33)는 사실상 입력들을 VMM 어레이(33)에 저장된 가중치들과 승산하고 이들을 출력 라인(소스 라인 또는 비트 라인)마다 가산하여 출력을 생성하며, 이는 다음 층에 대한 입력 또는 최종 층에 대한 입력일 것이다. 승산 및 가산 함수를 수행함으로써, VMM 어레이(33)는 별개의 승산 및 가산 로직 회로들에 대한 필요성을 무효화하고, 또한 그의 인시투(in-situ) 메모리 계산으로 인해 전력 효율적이다.
VMM 어레이(33)의 출력은 차등 합산기(예컨대, 합산 연산 증폭기 또는 합산 전류 미러)(38)에 공급되고, 이는 비휘발성 메모리 셀들 어레이(33)의 출력들을 합산하여 그 콘볼루션(convolution)에 대한 단일 값을 생성한다. 차등 합산기(38)는 포지티브 가중치 및 네거티브 가중치 입력들 둘 모두의 합산을 수행하여 단일 값을 출력하도록 배열된다.
이어서 차등 합산기(38)의 합산된 출력 값들은 활성화 함수 회로(39)에 공급되며, 이는 출력을 정류한다. 활성화 함수 회로(39)는 시그모이드(sigmoid), tanh, ReLU 함수들, 또는 임의의 다른 비선형 함수를 제공할 수 있다. 활성화 함수 회로(39)의 정류된 출력 값들은 다음 층(예를 들어, 도 8의 C1)의 피처 맵의 요소가 되고, 이어서 다음 시냅스에 적용되어 다음 피처 맵 층 또는 최종 층을 생성한다. 따라서, 이 예에서, VMM 어레이(33)는 복수의 시냅스들(이들은 이전 뉴런 층으로부터 또는 이미지 데이터베이스와 같은 입력 층으로부터 그들의 입력들을 수신함)을 구성하고, 합산기(38) 및 활성화 함수 회로(39)는 복수의 뉴런들을 구성한다.
도 10의 VMM 시스템(32)에의 입력(WLx, EGx, CGx, 및 선택적으로 BLx 및 SLx)은 아날로그 레벨, 이진 레벨, 디지털 펄스들(이 경우에 펄스들을 적절한 입력 아날로그 레벨로 변환하기 위해 펄스-아날로그 변환기(PAC)가 필요할 수 있음) 또는 디지털 비트들(이 경우에 디지털 비트들을 적절한 입력 아날로그 레벨로 변환하기 위해 DAC가 제공됨)일 수 있고, 출력은 아날로그 레벨(즉, 전류, 전압, 또는 전하), 이진 레벨, 디지털 펄스들, 또는 디지털 비트들(이 경우에 출력 아날로그 레벨을 디지털 비트들로 변환하기 위해 출력 ADC가 제공됨)일 수 있다.
도 11은, 여기서 VMM 시스템들(32a, 32b, 32c, 32d, 및 32e)로서 라벨링된, VMM 시스템들(32)의 다수의 층들의 사용을 도시하는 블록 다이어그램이다. 도 11에 도시된 바와 같이, Inputx로 표시된 입력은 디지털-아날로그 변환기(31)에 의해 디지털로부터 아날로그로 변환되고, 입력 VMM 시스템(32a)에 제공된다. 변환된 아날로그 입력들은 전압 또는 전류일 수 있다. 제1 층에 대한 입력 D/A 변환은, 입력들(Inputx)을 입력 VMM 시스템(32a)의 매트릭스 승산기에 대한 적절한 아날로그 레벨들에 매핑시키는 함수 또는 LUT(look up table)를 사용함으로써 행해질 수 있다. 입력 변환은 또한, 외부 아날로그 입력을 입력 VMM 시스템(32a)으로의 매핑된 아날로그 입력으로 변환하기 위한 아날로그-아날로그(A/A) 변환기에 의해 행해질 수 있다. 입력 변환은 또한 외부 디지털 입력을 입력 VMM 시스템(32a)에 대한 매핑된 디지털 펄스 또는 펄스들로 변환하기 위해 디지털-디지털 펄스(D/P) 변환기에 의해 행해질 수 있다.
입력 VMM 시스템(32a)에 의해 생성된 출력은 다음 VMM 시스템(은닉 레벨 1)(32b)에 대한 입력으로서 제공되고, 이는 이어서 다음 VMM 시스템(은닉 레벨 2)(32c)에 대한 입력으로서 제공되는 출력을 생성하고, 등등이다. VMM 시스템(32)의 다양한 층들은 컨볼루션 신경망(convolutional neural network, CNN)의 시냅스들 및 뉴런들의 상이한 층들로서 기능한다. 각각의 VMM 시스템(32a, 32b, 32c, 32d, 32e)은 각자의 비휘발성 메모리 어레이를 포함하는 독립형의, 물리적 시스템일 수 있거나, 또는 다수의 VMM 시스템들이 동일한 물리적 비휘발성 메모리 어레이의 상이한 부분들을 이용할 수 있거나, 또는 다수의 VMM 시스템들이 동일한 물리적 비휘발성 메모리 어레이의 중첩 부분들을 이용할 수 있다. 각각의 VMM 시스템(32a, 32b, 32c, 32d, 및 32e)은 또한 그의 어레이 또는 뉴런의 다양한 부분에 대해 시간 다중화될 수 있다. 도 11에 도시된 예는 다음과 같은 5개의 층(32a, 32b, 32c, 32d, 32e)을 포함한다: 하나의 입력 층(32a), 2개의 은닉 층(32b, 32c), 및 2개의 완전히 접속된 층(32d, 32e). 당업자는 이것은 단지 예시적인 것이고 시스템이 대신에 2개 초과의 은닉 층들 및 2개 초과의 완전히 접속된 층들을 포함할 수 있다는 것을 인식할 것이다.
VMM 어레이들
도 12는 뉴런 VMM 어레이(1200)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1200)는 비휘발성 메모리 셀들의 메모리 어레이(1201), 및 비휘발성 기준 메모리 셀들의(어레이의 상부에 있는) 기준 어레이(1202)를 포함한다. 대안적으로, 다른 기준 어레이가 하부에 배치될 수 있다.
VMM 어레이(1200)에서, 제어 게이트 라인(1203)과 같은 제어 게이트 라인들이 수직 방향으로 이어지고(따라서, 로우 방향의 기준 어레이(1202)는 제어 게이트 라인(1203)에 직교함), 소거 게이트 라인(1204)과 같은 소거 게이트 라인들이 수평 방향으로 이어진다. 여기서, VMM 어레이(1200)로의 입력들은 제어 게이트 라인들(CG0, CG1, CG2, CG3) 상에 제공되고, VMM 어레이(1200)의 출력은 소스 라인들(SL0, SL1) 상에 나타난다. 일 실시예에서 짝수 로우들만이 사용되고, 다른 실시예에서 홀수 로우들만이 사용된다. 각각의 소스 라인(각각, SL0, SL1) 상에 배치된 전류는 그 특정 소스 라인에 접속된 메모리 셀들로부터의 모든 전류들의 합산 함수를 수행한다.
신경망들에 대해 본 명세서에 설명된 바와 같이, VMM 어레이(1200)의 비휘발성 메모리 셀들은 바람직하게는 하위-임계 영역에서 동작하도록 구성된다.
본 명세서에 설명된 비휘발성 기준 메모리 셀들 및 비휘발성 메모리 셀들은 임계값 이하 영역에서 바이어싱된다.
Ids = Io * e (Vg- Vth)/nVt = w * Io * e (Vg)/nVt,
여기서 w = e (- Vth)/nVt
여기서 Ids는 드레인-소스 전류이고; Vg는 메모리 셀 상의 게이트 전압이고; Vth는 메모리 셀의 임계 전압이고; Vt는 열 전압 = k*T/q이며, 이때 k는 볼츠만 상수이고, T는 켈빈 단위의 온도이고, q는 전자 전하이고; n은 기울기 인자 = 1 + (Cdep/Cox)이며, 이때 Cdep = 공핍 층의 커패시턴스이고, Cox는 게이트 산화물 층의 커패시턴스이고; Io는 임계 전압과 동일한 게이트 전압에서의 메모리 셀 전류이고, Io는 (Wt/L)*u*Cox* (n-1) * Vt2에 비례하며, 여기서 u는 캐리어 이동도이고, Wt 및 L은 메모리 셀의, 각각, 폭 및 길이이다.
메모리 셀(예컨대, 기준 메모리 셀 또는 주변 메모리 셀)을 사용하는 I-V 로그 변환기 또는 입력 전류 Ids를 입력 전압 Vg로 변환하기 위한 트랜지스터에 대해:
Vg= n*Vt*log [Ids/wp*Io]
여기서, wp는 기준 또는 주변 메모리 셀의 w이다.
메모리 셀(예컨대, 기준 메모리 셀 또는 주변 메모리 셀)을 사용하는 I-V 로그 변환기 또는 입력 전류 Ids를 입력 전압 Vg로 변환하기 위한 트랜지스터에 대해:
Vg= n*Vt*log [Ids/wp*Io]
여기서, wp는 기준 또는 주변 메모리 셀의 w이다.
벡터 매트릭스 승산기(VMM) 어레이로서 사용되는 메모리 어레이에 대해, 출력 전류는 다음과 같다:
Iout = wa * Io * e (Vg)/nVt, 즉
Iout = (wa/wp) * Iin = W * Iin
W = e (Vthp - Vtha)/nVt
Iin = wp * Io * e (Vg)/nVt
여기서, wa = 메모리 어레이 내의 각각의 메모리 셀의 w, wp는 기준 또는 주변 메모리 셀의 w이다.
워드 라인 또는 제어 게이트가 입력 전압을 위해 메모리 셀에 대한 입력으로서 사용될 수 있다.
대안적으로, 본 명세서에 기술된 VMM 어레이들의 비휘발성 메모리 셀들은 선형 영역에서 동작하도록 구성될 수 있다:
Ids = beta* (Vgs-Vth)*Vds; beta = u*Cox*Wt/L,
W α (Vgs-Vth),
이는 선형 영역에서의 가중치 W가 (Vgs-Vth)에 비례한다는 것을 의미함.
워드 라인 또는 제어 게이트 또는 비트 라인 또는 소스 라인이 선형 영역에서 동작되는 메모리 셀에 대한 입력으로서 사용될 수 있다. 비트 라인 또는 소스 라인은 메모리 셀에 대한 출력으로서 사용될 수 있다.
I-V 선형 변환기에 대해, 선형 영역에서 동작하는 메모리 셀(예컨대, 기준 메모리 셀 또는 주변 메모리 셀) 또는 트랜지스터, 또는 저항기가 입력/출력 전류를 입력/출력 전압으로 선형적으로 변환하는 데 사용될 수 있다.
대안적으로, 본 명세서에 기술된 VMM 어레이들의 메모리 셀들은 포화 영역에서 동작하도록 구성될 수 있다:
Ids = ½ * beta* (Vgs-Vth)2; beta = u*Cox*Wt/L
W α (Vgs-Vth)2는, 가중치 W가 (Vgs-Vth)2에 비례한다는 것을 의미함.
워드 라인, 제어 게이트, 또는 소거 게이트가 포화 영역에서 동작되는 메모리 셀에 대한 입력으로서 사용될 수 있다. 비트 라인 또는 소스 라인은 출력 뉴런에 대한 출력으로서 사용될 수 있다.
대안적으로, 본 명세서에 설명된 VMM 어레이들의 메모리 셀들은 신경망의 각 층 또는 다중 층들의 모든 영역들 또는 이들의 조합(하위 임계, 선형, 또는 포화)에서 사용될 수 있다.
도 13은 뉴런 VMM 어레이(1300)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 시냅스로서 이용된다. VMM 어레이(1300)는 비휘발성 메모리 셀들의 메모리 어레이(1303), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1301), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1302)를 포함한다. 어레이의 컬럼 방향으로 배열된 기준 어레이들(1301 및 1302)은, 단자들(BLR0, BLR1, BLR2, 및 BLR3) 내로 흐르는 전류 입력들을 전압 입력들(WL0, WL1, WL2, 및 WL3)로 변환하는 역할을 한다. 실제로, 제1 및 제2 비휘발성 기준 메모리 셀들은 그들 내로 흐르는 전류 입력들과 멀티플렉서들(1314)(단지 부분적으로 도시됨)을 통해 다이오드 접속된다. 기준 셀들은 타겟 기준 레벨들로 튜닝(예컨대, 프로그래밍)된다. 타겟 기준 레벨들은 기준 미니-어레이 매트릭스(도시되지 않음)에 의해 제공된다.
메모리 어레이(1303)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 어레이(1300)에 의해 사용될 가중치들을 그것의 각자의 메모리 셀들 상에 저장한다. 둘째, 메모리 어레이(1303)는 입력들(즉, 단자들(BLR0, BLR1, BLR2, 및 BLR3)에 제공되는 전류 입력들, 이것에 대해 기준 어레이들(1301 및 1302)이 워드 라인들(WL0, WL1, WL2, 및 WL3)에 공급할 입력 전압들로 변환함)을 메모리 어레이(1303)에 저장된 가중치들과 유효하게 승산하고, 이어서 모든 결과들(메모리 셀 전류들)을 가산하여 각자의 비트 라인들(BL0 - BLN) 상의 출력을 생성하는데, 이는 다음 층에 대한 입력 또는 최종 층에 대한 입력일 것이다. 승산 및 가산 함수를 수행함으로써, 메모리 어레이(1303)는 별개의 승산 및 가산 로직 회로들에 대한 필요성을 무효화하고, 또한 전력 효율적이다. 여기서, 전압 입력들은 워드 라인들(WL0, WL1, WL2, 및 WL3) 상에 제공되고, 출력은 판독(추론) 동작 동안 각자의 비트 라인들(BL0 - BLN) 상에 나타난다. 비트 라인들(BL0 - BLN) 각각에 배치된 전류는 그 특정 비트 라인에 접속된 모든 비휘발성 메모리 셀들로부터의 전류들의 합산 함수를 수행한다.
표 6은 VMM 어레이(1300)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타내며, 여기서 FLT는 플로팅(floating)을 나타내는데, 즉 전압이 부과되지 않음을 나타낸다. 로우들은 판독, 소거 및 프로그램의 동작들을 나타낸다.
[표 6]
Figure pct00006
도 14는 뉴런 VMM 어레이(1400)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1400)는 비휘발성 메모리 셀들의 메모리 어레이(1403), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1401), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1402)를 포함한다. 기준 어레이들(1401 및 1402)은 VMM 어레이(1400)의 로우 방향으로 이어진다. VMM 어레이는, VMM 어레이(1400)에서 워드 라인들이 수직 방향으로 이어진다는 점을 제외하고는, VMM(1300)과 유사하다. 여기서, 입력들은 워드 라인들(WLA0, WLB0, WLA1, WLB2, WLA2, WLB2, WLA3, WLB3) 상에 제공되고, 출력은 판독 동작 동안 소스 라인(SL0, SL1) 상에 나타난다. 각각의 소스 라인 상에 배치된 전류는 그 특정 소스 라인에 접속된 메모리 셀들로부터의 모든 전류들의 합산 함수를 수행한다.
표 7은 VMM 어레이(1400)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타낸다. 로우들은 판독, 소거 및 프로그램의 동작들을 나타낸다.
[표 7]
Figure pct00007
도 15는 뉴런 VMM 어레이(1500)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1500)는 비휘발성 메모리 셀들의 메모리 어레이(1503), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1501), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1502)를 포함한다. 기준 어레이들(1501 및 1502)은 단자들(BLR0, BLR1, BLR2, 및 BLR3) 내로 흐르는 전류 입력들을 전압 입력들(CG0, CG1, CG2, 및 CG3)로 변환하는 역할을 한다. 실제로, 제1 및 제2 비휘발성 기준 메모리 셀들은 BLR0, BLR1, BLR2, 및 BLR3을 통해 그들 내로 흐르는 전류 입력들과 멀티플렉서들(1512)(단지 부분적으로 도시됨)을 통해 다이오드 접속된다. 멀티플렉서들(1512) 각각은 판독 동작 동안 제1 및 제2 비휘발성 기준 메모리 셀들 각각의 비트 라인(예컨대, BLR0) 상의 일정한 전압을 보장하기 위해 각각의 멀티플렉서(1505) 및 캐스코딩 트랜지스터(cascoding transistor)(1504)를 포함한다. 기준 셀들은 타겟 기준 레벨들로 튜닝된다.
메모리 어레이(1503)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 어레이(1500)에 의해 사용될 가중치들을 저장한다. 둘째, 메모리 어레이(1503)는 입력들(단자들(BLR0, BLR1, BLR2, 및 BLR3)에 제공되는 전류 입력들, 이것에 대해 기준 어레이들(1501 및 1502)이 이러한 전류 입력들을 제어 게이트들(CG0, CG1, CG2, 및 CG3)에 공급할 입력 전압들로 변환함)을 메모리 어레이에 저장된 가중치들과 유효하게 승산하고, 이어서 모든 결과들(셀 전류들)을 가산하여 출력을 생성하는데, 이는 BL0 - BLN 상에 나타나며 다음 층에 대한 입력 또는 최종 층에 대한 입력일 것이다. 승산 및 가산 함수를 수행함으로써, 메모리 어레이는 별개의 승산 및 가산 로직 회로들에 대한 필요성을 무효화하고, 또한 전력 효율적이다. 여기서, 입력들은 제어 게이트 라인들(CG0, CG1, CG2, 및 CG3) 상에 제공되고, 출력은 판독 동작 동안 비트 라인들(BL0 - BLN) 상에 나타난다. 각각의 비트 라인 상에 배치된 전류는 그 특정 비트 라인에 접속된 메모리 셀들로부터의 모든 전류들의 합산 함수를 수행한다.
VMM 어레이(1500)는 메모리 어레이(1503) 내의 비휘발성 메모리 셀들에 대한 단방향 튜닝을 구현한다. 즉, 각각의 비휘발성 메모리 셀은 소거되고, 이어서 플로팅 게이트 상의 원하는 전하에 도달할 때까지 부분적으로 프로그래밍된다. (잘못된 값이 셀에 저장되도록) 너무 많은 전하가 플로팅 게이트 상에 배치되는 경우, 셀은 소거되고, 부분 프로그래밍 동작들의 시퀀스가 다시 시작된다. 도시된 바와 같이, 동일한 소거 게이트(예컨대, EG0 또는 EG1)를 공유하는 2개의 로우들이 함께 소거될 필요가 있고(페이지 소거로서 알려짐), 그 후에 각각의 셀은 플로팅 게이트 상의 원하는 전하에 도달할 때까지 부분적으로 프로그래밍된다.
표 8은 VMM 어레이(1500)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 제어 게이트들, 선택된 셀들과 동일한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들과는 상이한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들에 대한 소거 게이트들, 비선택된 셀들에 대한 소거 게이트들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타낸다. 로우들은 판독, 소거 및 프로그램의 동작들을 나타낸다.
[표 8]
Figure pct00008
도 16은 뉴런 VMM 어레이(1600)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1600)는 비휘발성 메모리 셀들의 메모리 어레이(1603), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1601), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1602)를 포함한다. EG 라인들(EGR0, EG0, EG1, 및 EGR1)은 수직으로 이어지는 반면, CG 라인들(CG0, CG1, CG2, 및 CG3) 및 SL 라인들(WL0, WL1, WL2, 및 WL3)은 수평으로 이어진다. VMM 어레이(1600)는, VMM 어레이(1600)가 양방향 튜닝을 구현한다는 점을 제외하고는 VMM 어레이(1600)와 유사하며, 여기서 각각의 개별 셀은 별개의 EG 라인들의 사용으로 인해 플로팅 게이트 상의 원하는 전하량에 도달하기 위해 필요에 따라 완전히 소거되고, 부분적으로 프로그래밍되고, 부분적으로 소거될 수 있다. 도시된 바와 같이, 기준 어레이들(1601 및 1602)은 (멀티플렉서들(1614)을 통한 다이오드 접속된 기준 셀들의 액션을 통해) 단자(BLR0, BLR1, BLR2, 및 BLR3) 내의 입력 전류를 로우 방향으로 메모리 셀들에 인가될 제어 게이트 전압들(CG0, CG1, CG2, 및 CG3)로 변환한다. 전류 출력(뉴런)은 비트 라인들(BL0 - BLN)에 있으며, 여기서 각각의 비트 라인은 그 특정 비트 라인에 접속된 비휘발성 메모리 셀들로부터의 모든 전류들을 합산한다.
표 9는 VMM 어레이(1600)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 제어 게이트들, 선택된 셀들과 동일한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들과는 상이한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들에 대한 소거 게이트들, 비선택된 셀들에 대한 소거 게이트들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타낸다. 로우들은 판독, 소거 및 프로그램의 동작들을 나타낸다.
[표 9]
Figure pct00009
VMM 어레이들에 대한 입력은 아날로그 레벨, 이진 레벨, 타이밍 펄스들, 또는 디지털 비트들일 수 있고, 출력은 아날로그 레벨, 이진 레벨, 타이밍 펄스들, 또는 디지털 비트들일 수 있다(이러한 경우에 출력 ADC는 출력 아날로그 레벨 전류 또는 전압을 디지털 비트들로 변환하는 데 필요하다).
VMM 어레이 내의 각각의 메모리 셀에 대해, 각각의 가중치(W)는 단일 메모리 셀에 의해 또는 차등 셀에 의해 또는 2개의 블렌드(blend) 메모리 셀들(2개 이상의 셀들의 평균)에 의해 구현될 수 있다. 차등 셀의 경우에, 2개의 메모리 셀들은 차등 가중치(W = W+ - W-)로서 가중치(W)를 구현하는 데 필요하다. 2개의 블렌드 메모리 셀들에서, 2개의 메모리 셀들은 2개의 셀들의 평균으로서 가중치(W)를 구현하는 데 필요하다.
비휘발성 메모리 셀들의 종래 기술의 어레이들의 하나의 단점은 어레이의 소스 임피던스의 큰 분산 및 어레이 출력 라인들(예컨대 비트 라인들)을 따라, 그리고 어떤 셀 및 그 상태가 판독, 프로그램, 또는 소거 동작을 위해 선택되는지에 따라, 정밀도 및 전력 소비의 결과적인 분산이 있다는 것이다. 다른 단점은 노이즈에 민감할 수 있다는 것이다.
노이즈에 대한 감수성이 더 낮은 개선된 VMM 시스템이 필요하다.
더 필요한 것은 어떤 셀 또는 셀들이 선택되는지에 관계없이 동작(판독, 프로그램, 또는 소거) 동안 어레이의 실질적으로 일정한 소스 임피던스를 갖는 개선된 VMM 시스템이다.
더 필요한 것은 어떤 셀 또는 셀들이 선택되는지에 관계없이 동작 (판독, 프로그램, 또는 소거) 동안 실질적으로 일정한 전력 소비를 갖는 개선된 VMM 시스템이다.
아날로그 신경 메모리 어레이들의 다수의 실시예들이 개시된다. 특정 실시예들에서, 어레이 내의 각각의 메모리 셀은 그 셀이 동작되고 있을 때 대략 일정한 소스 임피던스를 갖는다. 특정 실시예들에서, 전력 소비는 셀들이 판독되고 있을 때 비트 라인으로부터 어레이 내의 비트 라인으로 실질적으로 일정하다. 특정 실시예들에서, 가중치 맵핑은 전력 및 노이즈에서의 최적의 성능을 위해 적응적으로 수행된다.
일 실시예에서, 아날로그 신경 메모리 시스템은 비휘발성 메모리 셀들의 어레이를 포함하고, 셀들은 로우들(rows) 및 컬럼들(columns)로 배열되고, 컬럼들은 물리적으로 인접한 컬럼들의 쌍들에 배열되고; 각각의 인접한 쌍 내에서, 인접한 쌍의 하나의 컬럼은 W+ 값을 저장하는 셀들을 포함하고, 인접한 쌍의 하나의 컬럼은 W- 값을 저장하는 셀들을 포함하며, 인접한 쌍의 인접한 셀들은 식 W = (W+) - (W-)에 따라 차등 가중치 W를 저장한다.
다른 실시예에서, 아날로그 신경 메모리 시스템은 비휘발성 메모리 셀들의 제1 어레이로서, 셀들은 로우들 및 컬럼들로 배열되고, 컬럼들 중 하나 이상 내의 비휘발성 메모리 셀들은 W+ 값들을 저장하는, 비휘발성 메모리 셀들의 제1 어레이; 및 비휘발성 메모리 셀들의 제2 어레이로서, 셀들은 로우들 및 컬럼들로 배열되고, 컬럼들 중 하나 이상 내의 비휘발성 메모리 셀들은 W- 값들을 저장하는, 비휘발성 메모리 셀들의 제2 어레이를 포함하고, 제1 어레이와 제2 어레이로부터의 셀의 쌍은 식 W = (W+) - (W-)에 따라 차등 가중치 W를 저장한다.
도 1은 종래 기술의 인공 신경망을 도시한다.
도 2는 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 3은 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 4는 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 5는 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 6은 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 7은 종래 기술의 적층형 게이트 플래시 메모리 셀을 도시한다.
도 8은 트윈 분리형 게이트 플래시 메모리 셀을 도시한다.
도 9는 하나 이상의 VMM 어레이를 활용하는 상이한 레벨들의 예시적인 인공 신경망을 도시한다.
도 10은 VMM 어레이 및 다른 회로부를 포함하는 VMM 시스템을 도시한다.
도 11은 하나 이상의 VMM 시스템들을 활용하는 예시적인 인공 신경망을 도시한다.
도 12는 VMM 어레이의 실시예를 도시한다.
도 13은 VMM 어레이의 다른 실시예를 도시한다.
도 14는 VMM 어레이의 다른 실시예를 도시한다.
도 15는 VMM 어레이의 다른 실시예를 도시한다.
도 16은 VMM 어레이의 다른 실시예를 도시한다.
도 17은 VMM 시스템을 도시한다.
도 18a, 도 18b, 및 도 18c는 종래 기술의 VMM 어레이를 도시한다.
도 19a, 도 19b, 및 도 19c는 개선된 VMM 어레이를 도시한다.
도 20은 다른 개선된 VMM 어레이를 도시한다.
도 21a 및 도 21b는 다른 개선된 VMM 어레이를 도시한다.
도 22는 중복 어레이를 포함하는 다른 개선된 VMM 어레이를 도시한다.
도 23은 2개의 VMM 어레이 및 공유된 더미 비트 라인 스위칭 회로부를 포함하는 다른 개선된 VMM 시스템을 도시한다.
도 24는 다른 개선된 VMM 시스템을 도시한다.
도 25는 합산기 회로의 실시예를 도시한다.
도 26은 합산기 회로의 다른 실시예를 도시한다.
도 27a는 합산기 회로의 다른 실시예를 도시한다.
도 27b는 합산기 회로의 다른 실시예를 도시한다.
도 28a는 출력 회로의 실시예를 도시한다.
도 28b는 출력 회로의 다른 실시예를 도시한다.
도 28c는 출력 회로의 다른 실시예를 도시한다.
도 29는 뉴런 출력 회로를 도시한다.
도 30은 아날로그-디지털 변환기의 실시예를 도시한다.
도 31은 아날로그-디지털 변환기의 다른 실시예를 도시한다.
도 32는 아날로그-디지털 변환기의 다른 실시예를 도시한다.
도 33은 아날로그-디지털 변환기의 다른 실시예를 도시한다.
본 발명의 인공 신경망은 CMOS 기술과 비휘발성 메모리 어레이들의 조합을 이용한다.
개선된 VMM 시스템의 실시예
도 17은 VMM 시스템(1700)의 블록 다이어그램을 도시한다. VMM 시스템(1700)은 VMM 어레이(1701), 로우 디코더들(1702), 고전압 디코더들(1703), 컬럼 디코더들(1704), 비트 라인 드라이버들(1705), 입력 회로(1706), 출력 회로(1707), 제어 로직(1708), 및 바이어스 생성기(1709)를 포함한다. VMM 시스템(1700)은 전하 펌프(1711), 전하 펌프 조절기(1712), 및 고전압 레벨 생성기(1713)를 포함하는 고전압 생성 블록(1710)을 더 포함한다. VMM 시스템(1700)은 알고리즘 제어기(1714), 아날로그 회로부(1715), 제어 로직(1716), 및 테스트 제어 로직(1717)을 더 포함한다. 아래에서 설명되는 시스템들 및 방법들은 VMM 시스템(1700)에서 구현될 수 있다.
입력 회로(1706)는 DAC(디지털-아날로그 변환기), DPC(디지털-펄스 변환기), DTC(디지털-시간 변환기), AAC(전류-전압 변환기와 같은, 아날로그-아날로그 변환기), PAC(펄스-아날로그 레벨 변환기), 또는 임의의 다른 유형의 변환기와 같은 회로들을 포함할 수 있다. 입력 회로(1706)는 정규화, 스케일링 함수들, 또는 산술 함수들을 구현할 수 있다. 입력 회로(1706)는 온도의 함수로서 출력 전압/전류/시간/펄스(들)들 변조하는 것과 같은 입력에 대한 온도 보상 함수를 구현할 수 있다. 입력 회로(1706)는 ReLU 또는 시그모이드와 같은 활성화 함수를 구현할 수 있다.
출력 회로(1707)는 ADC(뉴런 아날로그 출력을 디지털 비트들로 변환하기 위한, 아날로그-디지털 변환기), AAC(전류-전압 변환기와 같은, 아날로그-아날로그 변환기), ATC(디지털-시간 변환기), APC(아날로그-펄스 변환기), 또는 임의의 다른 유형의 변환기와 같은 회로들을 포함할 수 있다. 출력 회로(1707)는 ReLU 또는 시그모이드와 같은 활성화 함수를 구현할 수 있다. 출력 회로(1707)는 통계적 정규화, 규칙화, 상향/하향 스케일링 함수들, 통계적 반올림, 또는 산술 함수들(예를 들어, VMM 어레이(1701) 출력들인 뉴런 출력들에 추가, 감산, 분할, 곱셈, 이동, 로그)을 구현할 수 있다. 출력 회로(1707)는 VMM 어레이(1701)의 전력 소비를 대략 일정하게 유지하거나 I-V 경사를 대략 동일하게 유지함으로써 VMM 어레이(1701) (뉴런) 출력들의 정밀도를 개선하기 위해, 뉴런 출력들(예컨대, 전압/전류/시간/펄스(들)은 어레이 출력들(예컨대, 비트 라인 출력들)에 대한 온도 보상 함수를 구현할 수 있다.
도 18a는 종래 기술의 VMM 시스템(1800)을 도시한다. VMM 시스템(1800)은 예시적인 셀들(1801 및 1802), 예시적인 비트 라인 스위치(1803a, 1803b, 1803c, 1803d)(비트 라인들을 감지 회로부에 접속함), 예시적인 더미 비트 라인 스위치(1804a, 1804b, 1804c, 1004d), 및 예시적인 더미 셀들(1805 및 1806)(소스 라인 풀 다운 셀)을 포함한다. 비트 라인 스위치(1803a)는 VMM 시스템(1800)의 데이터를 저장하는 데 사용되는 셀들(1801 및 1802)을 포함하는 셀들의 컬럼에 결합된다. 더미 비트 라인 스위치(1804a, 1804b, 1804c, 1804)는, VMM 시스템(1800)의 데이터를 저장하기 위해 사용되지 않는 더미 셀들인, 셀들의 컬럼(비트 라인)에 각각 결합된다. 소스 라인 풀 다운 비트 라인으로 또한 지칭될 수 있는 이러한 더미 비트 라인은 판독 동작들 동안 소스 라인 풀 다운으로서 사용되며, 이는 이것이 더미 비트 라인 내의 더미 셀들을 통해 접지(또는 근접 접지)와 같은 낮은 바이어스 레벨로 소스 라인을 당기는 데 사용된다는 것을 의미한다. 더미 비트 라인 스위치(1804a, 1804b, 1804c, 1804b) 및 비트 라인 스위치(1803c, 1803a, 1803b, 1803c, 1803d) 둘 모두가 어레이의 동일한 단부 상에 나타나고, 이에 따라 이들이 결합되는 셀의 컬럼의 공통 단부에서 나타나고, 따라서 단일 로우로 배열된다는 점에 유의해야 한다.
VMM 시스템(1800)의 하나의 단점은 각각의 셀에 대한 입력 임피던스가 관련 비트 라인 스위치를 통한 전기 경로의 길이, 셀 자체, 및 관련 더미 비트 라인 스위치로 인해 크게 변한다는 것이다. 예를 들어, 도 18b는 비트 라인 스위치(1803), 셀(1801), 더미 셀(1805), 및 더미 비트 라인 스위치(1804)를 통한 전기 경로를 도시한다. 유사하게, 도 18c는 비트 라인 스위치(1803), 수직 금속 비트 라인(1807), 셀(1802), 더미 셀(1806), 수직 금속 비트 라인(1808), 및 더미 비트 라인 스위치(1804)를 통한 전기 경로를 도시한다. 알 수 있는 바와 같이, 셀(1802)을 통한 경로는 더 높은 커패시턴스 및 더 높은 저항과 연관된 상당히 더 큰 길이의 비트 라인 및 더미 비트 라인을 횡단한다. 이는 도 18b의 셀(1801)보다 비트 라인 또는 소스 라인에서 더 큰 기생 임피던스를 갖는 셀(1802)을 초래한다. 이러한 변동성은, 예를 들어, 어레이 내의 위치에 따라 셀을 (프로그램/소거 튜닝 사이클을 위해) 판독 또는 검증하기 위해 적용된 바와 같은 셀 출력의 정밀도를 초래하기 때문에 단점이다.
도 19a는 종래 기술의 VMM 시스템(1800)을 개선한 VMM 시스템(1900)을 도시한다. VMM 시스템(1900)은 다음을 포함한다: 예시적인 셀들(1901, 1902); 비트 라인을 감지 회로부에 접속하는 예시적인 비트 라인 스위치들(1903a, 1903b, 1903c, 1903d); 소스 라인 풀 다운 셀들로서 기능할 수 있는 예시적인 더미 셀들(1905, 1906); 및 예시적인 더미 비트 라인 스위치들(1904a, 1904b, 1904c, 1904d). 일 예로서, 더미 비트 라인 스위치(1904a)의 일 단부는 판독 동작 동안 접지와 같은 저전압 레벨에 접속되고, 다른 단부는 소스 라인 풀 다운으로서 사용되는 더미 셀들(1905, 1906)에 접속된다. 알 수 있는 바와 같이, 예시적인 더미 비트 라인 스위치(1904 a) 및 다른 더미 비트 라인 스위치들은 비트 라인 스위치(1903a) 및 다른 비트 라인 스위치들로부터 어레이의 반대편 단부 상에 위치된다.
이러한 설계의 이점은 도 19b 및 도 19c에서 볼 수 있다. 도 19b에서, 셀(1901)은 판독을 위해 선택되고, 도 19c에서, 판독을 위해 셀(1902)은 선택된다.
도 19b는 비트 라인 스위치(1903), 셀(1901), 더미 셀(1905)(소스 라인 풀 다운 셀), 수직 금속 비트 라인(1908), 및 더미 비트 라인 스위치(1904)(판독 동작 동안 지면과 같은 낮은 레벨에 결합함)를 통한 전기 경로를 도시한다. 도 19c는 비트 라인 스위치(1903), 수직 금속 라인(1907), 셀(1902), 더미 셀(1906)(소스 라인 풀 다운 셀), 및 더미 비트 라인 스위치(1904)를 통한 전기 경로를 도시한다. 경로들은 상호접속 길이의 측면에서 실질적으로 동일하며, 이는 VMM 시스템(1900)에서의 모든 셀들에 대해 실제된다. 그 결과, 각각의 셀의 소스 라인 임피던스 플러스 비트 라인 임피던스의 임피던스는 실질적으로 동일하며, 이는 어레이 내의 각각의 셀의 판독 또는 검증 동작 동안 그려진 기생 전압 강하의 양의 분산이 실질적으로 동일함을 의미한다.
도 20은 글로벌 소스 라인 풀 다운 비트 라인을 갖는 VMM 시스템(2000)을 도시한다. VMM 시스템(2000)은 더미 비트 라인들(2005a 내지 2005n 또는 2007a 내지 2007n)이 함께 접속되어(판독 또는 검증 동안 메모리 셀 소스 라인들을 접지 레벨로 당기기 위해 전역 소스 라인 풀 다운 라인으로서 동작하도록), VMM 시스템(1900)과 유사하며; 더미 비트 라인 스위치(2001 및 2002)와 같은 더미 비트 라인 스위치들은 ARYGND(어레이 접지)라고 라벨링된 공통 접지에 접속되거나 결합되며; 소스 라인들은 소스 라인 스위치(2004)와 함께 결합되며, 이는 소스 라인들을 선택적으로 당겨 접지시킨다. 이러한 변화는 판독 또는 검증 동작 동안 어레이 내의 각 셀에 대한 기생 임피던스의 분산을 추가로 감소시킨다.
대안적인 실시예에서, 하나 이상의 더미 비트 라인 및 하나 이상의 더미 비트 라인 스위치가 소스 라인 스위치(2004) 대신에 사용되어 소스 라인을 당겨 접지시킬 수 있다.
다른 실시예에서, 로우들 사이의 (2개의 인접한 셀들의) FG-FG 커플링을 피하기 위해 물리적 장벽들로서 행들 사이에서 더미 행들이 이용될 수 있다.
도 21a는 VMM 시스템(2100)을 도시한다. 일부 실시예에서, VMM에 저장된 가중치(W)는 차등 쌍, W+(포지티브 가중치), 및 W-(네거티브 가중치)로서 저장되며, 여기서 W = (W+) - (W-)이다. VMM 시스템(2100)에서, 비트 라인의 절반은 W+ 라인으로 지정되고, 즉, 포지티브 가중치(W+)를 저장할 메모리 셀에 접속되는 비트 라인과, 비트 라인의 다른 절반은 W- 라인, 즉, 네거티브 가중치(W-)를 구현하는 메모리 셀에 접속되는 비트 라인으로 지정된다. W- 라인은 교번 방식으로 W+ 라인들 사이에 개재된다. 감산 동작은 W+ 라인으로부터 전류를 수신하는 합산 회로들(2101 및 2102)과 같은 W- 라인에 의해 수행된다. W+ 라인의 출력 및 W- 라인의 출력은 함께 결합되어 (W+, W-) 라인의 모든 쌍에 대해(W+, W-) 셀의 각각의 쌍에 대해 효과적으로 W = W+ - W-를 제공한다. 선택적으로, 도 19 및 도 20에 도시된 것들과 같은 더미 비트 라인들 및 소스 라인 풀 다운 비트 라인들은 (2개의 인접한 셀들의) FG-FG 커플링을 피하고/하거나 판독 또는 검증 동작 동안 소스 라인에서의 IR 전압 강하를 감소시키기 위해 VMM 시스템(2100)에서 사용될 수 있다.
도 21b는 또 다른 실시예를 도시한다. VMM 시스템(2110)에서, 포지티브 가중치(W+)는 제1 어레이(2111)로서 구현되고, 네거티브 가중치(W-)는 제1 어레이와는 별개인 제2 어레이(2112)로서 구현되고, 결과적인 가중치는 합산 회로(2113)에 의해 적절하게 함께 결합된다. 선택적으로, 도 19 및 도 20에 도시된 것들과 같은 더미 비트 라인들 및 소스 라인 풀 다운 비트 라인들은 FG-FG 커플링을 피하고/하거나 판독 또는 검증 동작 동안 소스 라인에서의 IR 전압 강하를 감소시키기 위해 VMM 시스템(2110)에 사용될 수 있다.
VMM 시스템은 W+ 및 W- 쌍이 FG 대 FG 결합을 감소시키거나 어레이 및 출력 회로를 가로질러 보다 균일한 방식으로 전력 소비를 분배하는 방식으로 어레이 내에 배치되도록 설계될 수 있다. 이는 표 10 및 11을 참조하여 하기에 설명된다. FG 대 FG 커플링 현상에 관한 추가적인 세부 사항은, 본 명세서에 참조로 포함된, 2020년 2월 26일자로 동일 양수인에 의해 출원된 명칭 "Ultra-Precise Tuning of Analog Neural Memory Cells in a Deep Learning Artificial Neural Network"의 미국 임시 특허 출원 제62/981,757호에서 확인된다.
표 10A는 2쌍의 (W+, W-) 비트 라인들의 배열의 예시적인 물리적 레이아웃을 도시한다. 한 쌍은 BL0 및 BL1이고, 제2 쌍은 BL2 및 BL3이다. 이 예에서, 4개의 로우들이 소스 라인 풀 다운 비트 라인(BLPWDN)에 결합된다. BLPWDN은 각각의 쌍의 (W+, W-) 비트 라인들 사이에 배치되어 (W+, W-) 비트 라인들의 한 쌍의 (W+, W-) 비트 라인들과 (W+, W-) 비트 라인들의 다른 한 쌍의 (W+, W-) 비트 라인들 사이의 커플링(예를 들어, FG 대 FG 커플링)을 방지한다. 따라서, BLPWDN은 (W+, W-) 비트 라인들의 쌍들 사이의 물리적 장벽으로서 역할을 한다.
[표 10A]
Figure pct00010
표 10B는 상이한 예시적인 가중치 조합을 나타낸다. '1'은 셀이 사용되고 실제 출력 값을 가짐을 의미하고, '0'은 셀이 사용되지 않고 가치가 없거나 유의미한 출력 값이 없음을 의미한다.
[표 10B]
Figure pct00011
표 11A는 (w+, w-) 쌍 라인 (BL0/1 및 BL2/3)의 물리적 배열의 다른 어레이 실시예를 도시한다. 어레이는 중복 라인(BL01 및 BL23) 및 소스 라인 풀 다운 비트 라인(BLPWDN)을 포함한다. 중복 비트 라인(BL01)은 쌍 BL0/1로부터 값들을 재매핑하는 데 사용되고, 중복 비트 라인(BL23)은 한 쌍의 BL2/3으로부터 값들을 재맵핑하는 데 사용되며, 이는 이후의 표들에 도시될 것이다.
[표 11A]
Figure pct00012
표 11B는 분산된 가중치 값들이 재매핑을 필요로 하지 않는 예를 도시하며, 기본적으로 인접한 비트 라인들 사이에 인접한 '1'이 없다.
[표 11B]
Figure pct00013
표 11C는 분산 가중치들이 재맵핑될 필요가 있는 예를 도시한다. 여기서, BL1 및 BL3에 인접한 '1'이 존재하며, 이는 인접한 비트 라인 커플링을 야기한다. 따라서, 값들은 표 11D에 도시된 바와 같이 재-맵핑되어 임의의 인접한 비트 라인들 사이에 인접한 '1' 값이 없게 한다. 또한, 재매핑에 의해, 비트 라인을 따르는 총 전류가 바로 감소되며, 이는 그 비트 라인에서 보다 정확한 값으로 이어지며, 이는 또한 비트 라인들을 따라 더 많은 분산 전력 소모로 이어진다. 선택적으로, 추가적인 비트 라인(BL01, BL23)은 선택적으로 중복 컬럼으로서 동작하는 데 사용될 수 있다.
[표 11C]
Figure pct00014
[표 11D]
Figure pct00015
표 11E 및 표 11F는 표 11E의 BL01, BL23 또는 표 11F의 BL0B 및 BL1B과 같은 중복 컬럼들에 잡음 셀들(또는 결함 셀들)을 재매핑하는 다른 실시예들을 도시한다.
[표 11E]
Figure pct00016
[표 11F]
Figure pct00017
표 11G는 도 21b에 적합한 어레이의 물리적 배열의 실시예를 도시한다. 각각의 비트 라인은 포지티브 가중치 또는 네거티브 가중치을 갖기 때문에, 각각의 비트 라인에 대해 FG-FG 커플링을 회피하기 위해 소스 라인 풀 다운 또는 실제 더미 비트 라인(사용되지 않음, 예를 들어, 깊게 또는 부분적으로 프로그래밍되거나 부분적으로 소거됨)으로서 작용하는 더미 비트 라인 및 물리적 장벽이 필요하다.
[표 11G]
Figure pct00018
도 10x 내지 도 11x에서, 소스 라인 풀 다운 비트 라인(BLPWDN)은 실제 더미 비트 라인(BLDUM) 또는 절연 비트 라인 BLISO로서 구현될 수 있거나, 이러한 비트 라인들이 데이터 비트 라인들을 서로 분리하는 역할을 하므로 인접한 셀들의 FG-FG 결합이 회피된다. 이러한 비트 라인들은 사용되지 않으므로, 이들이 FG-FG 커플링을 일으키지 않거나 동일한 로우 또는 동일한 섹터에서 튜닝(프로그래밍 또는 삭제)되는 다른 셀들(예를 들어, 깊게 또는 부분적으로 프로그래밍된 셀들 또는 부분적으로 소거된 셀들)에 의해 교란되기 쉬운 상태로 유지되는 상태로 튜닝(프로그래밍 또는 삭제)되어, FG 전압이 낮은 레벨 상태에 있도록 한다.
다른 실시예에서, 셀들의 컬럼에 결합된 튜닝 비트 라인은 셀들의 컬럼에 결합된 타겟 비트 라인에 인접하고, 튜닝 비트 라인 셀들은 인접한 셀들 사이의 FG-FG 커플링을 사용하는 프로그래밍 동작 동안 타겟 비트 라인 셀들을 원하는 타겟 값들로 튜닝하는 데 사용된다. 선택적으로, 소스 라인 풀 다운 비트 라인이 튜닝 비트 라인에 인접한 측면에 대향하는 타겟 비트 라인의 측면 상에 사용될 수 있다.
노이즈 또는 결함 셀들을 맵핑하기 위한 대안적인 실시예들은 이러한 셀들이 사용되지 않은 셀들로 지정되는 경우 구현될 수 있으며, 이는 그들이 뉴런 출력에 어떠한 값도 기여하지 않도록 프로그래밍되지 않도록 (깊게) 프로그래밍되어야 한다는 것을 의미한다.
빠른 셀들(전형적인 셀보다 빠른 특정 값에 도달하도록 프로그래밍될 수 있는 셀들)을 식별하기 위한 대안적인 실시예들이 구현될 수 있으며, 빠른 셀들이 식별되고 프로그래밍 동작 동안 타겟을 오버슈팅하지 않도록 더 정밀한 튜닝 알고리즘을 거친다.
도 22는 VMM 시스템(2200)을 도시한다. VMM 시스템(2200)은 지금까지 논의된 VMM 어레이들 중 임의의 어레이에 포함될 수 있는 중복 어레이(2201)를 포함한다. 비트 라인 스위치들에 부착된 컬럼들 중 임의의 것이 결함이 있는 것으로 간주되는 경우, 중복 어레이(2201)가 결함 컬럼들을 대체하기 위한 여분으로서 사용될 수 있다. 중복 어레이는 그 자체의 중복 어레이 (뉴런) 출력(예를 들어, 비트 라인), 및/또는 여분 목적을 위한 중복 기록 및 검증 회로, 및/또는 ADC 회로를 가질 수 있다. 예를 들어, 여분이 필요한 경우, 중복 ADC의 출력은 불량 비트 라인의 ADC의 출력을 대체할 것이다. 중복 어레이(2201)는 또한, 비트 라인들 사이의 비교적 균일한 전력 분포를 달성하기 위해 표 10A 및 표 10B에 설명된 것과 같은 가중치 맵핑에 사용될 수 있다.
도 23은 어레이(2301), 어레이(2302), 컬럼 다중화기(2303), 로컬 비트 라인(LBL(2305a 내지 2305d)), 글로벌 비트 라인(GBL(2308, 2309)), 및 더미 비트 라인 스위치(2305a 내지 2305d)를 포함하는 VMM 시스템(2300)을 도시한다. 컬럼 다중화기(2303)는 어레이(2301)의 각각의 상부 로컬 비트 라인(2305) 또는 어레이(2302)의 하부 로컬 비트 라인(2305)을 글로벌 비트 라인(2308)으로 선택하는 데 사용된다. 일 실시예에서, (금속) 금로벌 비트 라인(2308)은 로컬 비트 라인들의 수와 동일한 수의 라인들, 예를 들어, 8 또는 16을 갖는다. 다른 실시예에서, 글로벌 비트 라인(2308)은 8 또는 16개의 로컬 비트 라인들 당 하나의 글로벌 비트 라인과 같은, N개의 로컬 비트 라인들 당 하나의 (금속) 라인만을 갖는다. 컬럼 다중화기(2303)는 전류 글로벌 비트 라인의 폭을 효과적으로 증가시키기 위해 인접한 글로벌 비트 라인(예컨대, GBL(2309))을 관심 글로벌 비트 라인(예컨대, GBL(2308))으로 다중화할 수 있다. 이는 관심 글로벌 비트 라인(GBL(2308))에 걸친 전압 강하를 감소시킨다.
본 명세서에 설명된 VMM 시스템들 중 임의의 것과 함께 사용될 수 있는 다양한 출력 회로들이 설명될 것이다.
도 24는 VMM 시스템(2400)을 도시한다. VMM 시스템(2400)은 다음을 포함한다: 중복 어레이(2410); 시프트 레지스터(SR)(2401); SR들(2401)로부터 입력을 수신하고 동등한 (유사체 또는 의사-아날로그) 레벨 또는 정보(예를 들어, 전압/타이밍)를 출력하는 디지털-아날로그 변환기(DAC) (2402); 합산기 회로들(2403); 아날로그-디지털 변환기(ADC)(2404); 및 비트 라인 스위치(미도시). 더미 비트 라인 및 더미 비트 라인 스위치가 존재하지만 도시되지 않는다. 도시된 바와 같이, ADC 회로들은 더 큰 정밀도(즉, 더 많은 비트들 수)를 갖는 단일 ADC를 생성하기 위해 함께 결합될 수 있다.
합산기 회로들(2403)은 도 25 내지 도 27에 도시된 회로들을 포함할 수 있다. 그것은 정규화, 스케일링, 산술 연산들(예를 들어, 추가, 감산), 활성화, 또는 통계적 반올림을 위한 회로들을 제한 없이 포함할 수 있다.
도 25는 연산 증폭기(2502), 가변 유지 커패시터(2504), 가변 저항기(2503), 및 전류 소스(2501-1, …, 2501-n) 드로잉 전류 Ineu(1), …, Ineu(n)(VMM 어레이의 비트 라인(들)로부터 수신된 전류)를 각각 포함하는, 가변 저항기에 의해 조정가능한 전류-전압 합산기 회로(2500)를 도시한다. 동작 증폭기(2502)는 전압 Vneuout = R2503 * (Ineu(1) + … + Ineu (n))을 출력하고, 이는 전류 Ineu(1), …,Ineu(n)의 합에 비례한다. 홀딩 커패시터(2504)는 스위치(2506)가 개방될 때 출력 전압을 유지하는 데 사용된다. 이러한 유지 출력 전압은 예를 들어, ADC 회로에 의해 디지털 비트로의 변환을 위해 사용된다.
도 26은 연산 증폭기(2602), 가변 커패시터(2603), 스위치(2604), 및 전류 소스(2601-1, …, 2601-n) 드로잉 전류 Ineu(1), … Ineu(n)(VMM 어레이의 비트 라인(들)로부터 수신된 전류)를 각각 포함하는, 가변 저항기(기본적으로, 적분기)에 의해 조정가능한 전류-전압 합산기 회로(2600)를 도시한다. 동작 증폭기(2602)는 전압 Vneuout 2605= (Ineu(1) +,..., + Ineu(n))*적분 시간/C2603을 출력하고,이는 전류 Ineu(1),…, Ineu(n)의 합에 비례한다.
도 27a는 스위치들(2701 및 2702), 가변 커패시터들(2703 및 2704), 연산 증폭기(2705), 가변 커패시터(2706), 및 스위치(S1)(2707)를 포함하는, 가변 커패시터들(즉, 스위치 캡(SC) 회로)에 의해 조정가능한 전압 합산기(2700)를 도시한다. 스위치(2701)가 닫힐 때, 입력 Vin0이 연산 증폭기(2705)에 제공된다. 스위치(2702)가 닫힐 때, 입력 Vin1이 연산 증폭기(2705)에 제공된다. 선택적으로, 스위치들(2701 및 2702)은 동시에 폐쇄되지 않는다. 동작 증폭기(2705)는 입력의 증폭된 버전(스위치들(2701 및 2702) 중 어느 스위치가 폐쇄되는지에 따라, Vin0 및/또는 Vin1 중 어느 하나)인 출력(Vout)을 생성한다. 즉, Vout = Cin/Cout * (Vin), Cin은 C2703 또는 C2704이고, Cout는 C2706이다. 예를 들어, Vout = Cin/Cout *∑ (Vinx), Cin = C2703 = C2704, 여기서 Vinx는 Vin0 또는 Vin1일 수 있다. 일 실시예에서, Vin0은 W+ 전압이고, Vin1은 W- 전압이고, 전압 합산기(2700)는 출력 전압(Vout)을 생성하기 위해 이들을 함께 (W+ - W-, 스위치들의 적절한 극성을 가능하게 함으로써) 추가한다.
도 27b는 스위치들(2751(S1), 2752(S3), 2753(S2), 및 2754(S4)), 가변 입력 커패시터(2758), 연산 증폭기(2755), 가변 피드백 커패시터(2756), 및 스위치 (2757(S5))를 포함하는, 전압 합산기(2750)를 도시한다. 일 실시예에서, Vin0은 W+ 전압이고, Vin1은 W- 전압이고, 전압 합산기(2750)는 이들을 함께 추가하여 출력 전압(Vout)(W+ - W-, 스위치의 적절한 극성을 가능하게 함으로써)을 생성한다.
입력 = Vin0에 있어서: 스위치(2754, 2751)가 폐쇄되고 스위치들(2753, 2752 및 2757)이 개방될 때, 입력 Vin0이 커패시터(2758)의 상단 단자에 제공되며, 그 바닥 단자는 VREF에 접속된다. 이어서, 스위치(2751)는 개방되고 스위치(2753)는 폐쇄되어 커패시터(2758)로부터 피드백 커패시터(2756)로 전하를 전달한다. 기본적으로, 출력 VOUT = (C2758/C2756) * Vin0 (예로서, VREF = 0의 경우).
입력 = Vin1에 있어서: 스위치(2753, 2754 및 2757)가 폐쇄되고 스위치(2751, 2752 및 2757)가 개방되면, 커패시터(2758)의 두 단자가 VREF로 방전된다. 이어서, 스위치(2754)가 개방되며 스위치(2752)가 닫히고, 커패시터(2758)의 하단 단자를 Vin1로 충전하고, 이는 결국 피드백 커패시터(2756)를 VOUT = -(C2758/C2756) * Vin1 (VREF=0의 경우에)로 피드백한다.
따라서, Vin1 입력에 대해 전술된 서열이 Vin0에 대해 전술된 서열이 구현된 후 구현되는 경우, VOUT = (C2758/C2756) * (Vin 0 - Vin1), 예로서 VREF=0의 경우에 대해 구현된다. 이는 예를 들어 W = W+ - W-를 실현하는 데 사용된다.
도 27에 도시된 각각의 ADC는 ADC의 적절한 디자인을 갖는 더 높은 비트 구현을 위한 다음 ADC와 결합하도록 구성될 수 있다.
다시 도 17을 참조하면, VMM 어레이(1701)로의 입력들 및 VMM 어레이(1701)로부터의 출력들은 디지털 또는 아날로그 형태일 수 있다. 예를 들어,
Figure pct00019
순차 입력 IN [0:q] 내지 DAC:
Figure pct00020
일 실시예에서, 입력 회로(1706)는 IN0에서 시작하여, 이어서 IN1, …, 그 다음 INq의 순서의 디지털 입력을 수신한다.; 모든 입력 비트는 동일한 VCGin을 갖는다. 입력 비트들은 DAC에 제공되고, 이는 그 다음 VMM 어레이(1701)에 대한 입력들로서 아날로그 신호들을 적용한다. 모든 비트 라인(뉴런) 출력들은 ADC 전에 또는 ADC 후에 조정 이진 지수 승수와 합산된다.
Figure pct00021
다른 실시예에서, 조정 뉴런 (비트 라인) 이진 지수 승수 방법이 사용된다. 도 20에 도시된 바와 같이, 예시적인 합산기는 2개의 비트 라인들(BL0 및 bln)을 갖는다. 가중치는 다수의 비트 라인들(BL0 내지 BLn)에 걸쳐 분산된다. 예를 들어, 4개의 비트 라인들(BL0, BL1, BL2, BL3)이 있다. 비트 라인(BL0)으로부터의 출력에 2^0 = 1이 곱해진다. n번째 이진 비트 위치에 대해 정치되는 비트 라인(BLn)으로부터의 출력은 2^n을 곱하고, 예를 들어, n = 3에 대해 2^3 = 8이다. 이어서, 이진 비트 위치 2^n에 의해 적절히 곱한 후에 모든 비트 라인들로부터의 출력이 함께 합산된다. 이어서, 이것은 ADC에 의해 디지털화된다. 이 방법은 모든 셀이 이진 범위만을 갖는 것을 의미하고, 다중 레벨 범위(n-비트)는 주변 회로에 의해(합산기 회로에 의해를 의미함) 달성된다. 따라서, 모든 비트 라인들에 대한 전압 강하는 메모리 셀의 가장 높은 바이어스 레벨에 대해 대략 동일하다.
Figure pct00022
다른 실시예에서, 디지털 입력들(IN0, IN1, …, 이어서 INq)은 순차적 방식으로 적용된다. 각각의 입력 비트는 대응하는 아날로그 값 VCGin을 갖는다. 모든 뉴런 출력은 ADC 전에 또는 ADC 후에 모든 입력 비트 평가에 대해 합산된다.
Figure pct00023
DAC로의 병렬 입력:
Figure pct00024
다른 실시예에서, 입력 IN0, … INq는 DAC들에 병렬 방식으로 제공된다. 각각의 입력 IN[0: q]는 대응하는 아날로그 값 VCGin을 갖는다. 모든 뉴런 출력은 ADC 전에 또는 ADC 후에 이진 지수 승수 방법을 조정하는 것과 합산된다.
어레이의 순차적 작동을 수반하는 실시예에서, 전력은 보다 균일하게 분포된다.
뉴런 (비트 라인) 이진 지수 방법을 활용하는 실시예들에서, 비트 라인에 결합된 각각의 셀이 이진 레벨들만을 포함하기 때문에, 전력 소비는 어레이에서 감소되므로, 2^n 레벨은 합산기 회로에 의해 달성된다.
도 28a, 도 28b, 및 도 28c는 도 24에서 합산기 회로(2403) 및 아날로그-디지털 변환기(2404)에 사용될 수 있는 출력 회로를 도시한다.
도 28a는 뉴런 출력(2801)을 수신하고 출력 디지털 비트들(2803)을 출력하는 아날로그-디지털 변환기(2802)를 포함하는 출력 회로(2800)를 도시한다.
도 28b는 뉴런 출력 회로(2811) 및 아날로그-디지털 변환기(2812)를 포함하는 출력 회로(2810)를 도시하며, 이는 함께 뉴런 출력(2801)을 수신하고 출력들(2813)을 생성한다.
도 28c는, 뉴런 출력 회로(2821) 및 변환기(2822)를 포함하고 뉴런 출력(2801)을 함께 수신하고 출력들(2823)을 생성하는 출력 회로(2820)를 도시한다.
뉴런 출력 회로(2811 또는 2821)는, 예를 들어, 합산, 스케일링, 정규화, 또는 산술 연산을 제한 없이 수행할 수 있다. 컨버터(2822)는, 예를 들어, ADC, PDC, AAC, 또는 APC 작동을 제한 없이 수행할 수 있다.
도 29는 뉴런 출력인 출력(iOUT)을 함께 생성하는 조정 가능한(스케일링) 전류 소스(2901) 및 조정 가능한 (스케일링) 전류 소스(2902)를 포함하는 뉴런 출력 회로(2900)를 도시한다. 이 회로는 동시에 (조정가능한 전류 소스들(2901 및 2902)의 조정을 통해) 포지티브 가중치(W+) 및 네거티브 가중치(W-)의 합산, 즉, W = W+ - W-, 및 상향 또는 하향 스케일링을 수행할 수 있다. 즉, IW+는 W+의 스케일링된 버전이고, IW-는 W-의 확장된 버전이다.
도 30은 구성가능한 직렬 아날로그-디지털 변환기(3000)를 도시한다. 이는 뉴런 출력 전류를 집적 캐패시터(3002)(Cint)에 통합하는 적분기(3070)를 포함한다.
일 실시예에서, VRAMP(3050)는 비교기(3004)의 반전 입력에 제공된다. 디지털 출력(카운트 값)(3021)은 비교기(3004)가 극성을 스위칭할 때까지 VRAMP(3050)를 램핑함으로써 생성되며, 카운터(3020)는 램프의 시작으로부터 클럭 펄스들을 카운팅한다.
다른 실시예에서, VREF(3055)는 비교기(3004)의 반전 입력에 제공된다. VC(3010)는 VOUT(3003)가 VREF(3055)에 도달할 때까지 램프 전류(3051)(IREF)에 의해 램프다운되고, 이 시점에서 EC 3005 신호는 카운터(3020)의 카운트를 비활성화시킨다. (n-비트) ADC(3000)는 목표 애플리케이션에 따라 더 낮은 정밀도(n 비트 미만) 또는 더 높은 정밀도(n 비트 초과)를 갖도록 구성가능하다. 정밀도의 구성성은 커패시터(3002)의 커패시턴스, 전류(3051)(IREF), VRAMP(3050)의 램핑 속도, 또는 클록(3041)의 클록킹 주파수를 제한 없이 구성함으로써 수행된다.
다른 실시예에서, VMM 어레이의 ADC 회로는 n 비트보다 낮은 정밀도를 갖도록 구성되고, 다른 VMM 어레이의 ADC 회로들은 비트보다 높은 정밀도를 갖도록 구성된다.
다른 실시예에서, 하나의 뉴런 회로의 직렬 ADC 회로(3000)의 하나의 인스턴스는 다음 뉴런 회로의 직렬 ADC 회로(3000)의 다른 인스턴스와 결합하여, 예컨대 직렬 ADC 회로들(3000)의 2개의 인스턴스들의 집적 캐패시터(3002)와 결합함으로써 n-비트 정밀도보다 높은 ADC 회로를 생성하도록 구성된다.
도 31은 구성 가능한 뉴런 SAR(연속 근사 레지스터) 아날로그-디지털 변환기(3100)를 도시한다. 이 회로는 이진 커패시터를 사용한 전하 재배선에 대한 베이스를 갖는 연속적인 근사 변환기이다. 이는 이진 CDAC(커패시터들 상의 DAC 베이싱)(3101), op-amp/비교기(3102), 및 SAR 로직 및 레지스터(3103)를 포함한다. 도시된 바와 같이, GndV(3104) 저전압 기준 레벨, 예를 들어, 접지 레벨이다. SAR 로직 및 레지스터(3103)는 디지털 출력(3106)을 제공한다.
도 32는 구성가능한 뉴런 콤보 SAR 아날로그-디지털 변환기 회로(3200)를 도시한다. 이 회로는 2개의 뉴런 회로들로부터의 2개의 n-비트 ADC들을, 예를 들어 하나의 뉴런 회로에 대한 4-비트 ADC에 대해 n-비트보다 더 높은 정밀도를 달성하기 위해 하나로 조합하고, 이 회로는 2개의 4-비트 ADC들을 조합함으로써 8-비트 ADC 정밀도와 같은 > 4-비트 정밀도를 달성할 수 있다. 콤보 회로 토폴로지는 분할 캡(브릿지-커패시터(캡) 또는 주의 캡) SAR ADC 회로, 예를 들어, 2개의 인접한 4-비트 4C SAR ADC 회로를 결합시킴으로써 얻어지는, 8비트 4C-4C SAR ADC 회로와 동등하다. 이를 달성하기 위해 브릿지 회로(3204)(Csplit)가 사용되는데, 이러한 회로의 커패시턴스는(CDAC 캡 유닛의 총 개수/CDAC 캡 유닛의 총 개수 -1)이다.
도 33은 파이프라인형 방식으로 비트의 수를 증가시키기 위해 다음 SAR ADC와 결합하는 데 사용될 수 있는 파이프라인형 SAR ADC 회로(3300)를 도시한다. SAR ADC 회로(3300)는 이진 CDAC(커패시터들 상의 DAC 베이싱)(3301), 온-앰프/비교기(3302), 온-앰프/비교기(3303), SAR 로직 및 레지스터(3304)를 포함한다. 도시된 바와 같이, GndV(3104) 저전압 기준 레벨, 예를 들어, 접지 레벨이다. SAR 로직 및 레지스터(3103)는 디지털 출력(3106)을 제공한다. Vin은 입력 전압에 있고, VREF는 기준 전압이고, GndV는 접지 전압이다. V잔기는 커패시터(3305)에 의해 생성되고, SAR ADC의 다음 스테이지에 대한 입력으로서 제공된다.
구성가능한 출력 뉴런들(예를 들어, 구성가능한 뉴런 ADC) 회로들에 관한 추가적인 구현 세부사항들은, 본 명세서에 참조로서 포함된, 2019년 6월 21일에 동일 양수인에 의해 출원된 명칭 "Configurable Input Blocks and Output Blocks and Physical Layout for Analog Neural Memory in a Deep Learning Artificial Neural Network"의 미국 특허 출원 제16/449,201호에서 확인할 수 있다.
본 명세서에 사용된 바와 같이, 용어들 "~ 위에" 및 "~ 상에" 둘 모두는 "직접적으로 ~ 상에"(어떠한 중간 재료들, 요소들 또는 공간도 사이에 배치되지 않음)와 "간접적으로~ 상에"(중간 재료들, 요소들 또는 공간이 사이에 배치됨)를 포괄적으로 포함한다는 것에 유의하여야 한다. 마찬가지로, 용어 "인접한"은 "직접적으로 인접한"(어떠한 중간 재료들, 요소들 또는 공간도 사이에 배치되지 않음)과 "간접적으로 인접한"(중간 재료들, 요소들 또는 공간이 사이에 배치됨)을 포함하고, "~에 실장되는"은 "직접적으로 ~에 실장되는"(어떠한 중간 재료들, 요소들 또는 공간도 사이에 배치되지 않음)과 "간접적으로 ~에 실장되는"(중간 재료들, 요소들 또는 공간이 사이에 배치됨)을 포함하고, "전기적으로 결합되는"은 "직접적으로 ~에 전기적으로 결합되는"(요소들을 함께 전기적으로 접속시키는 어떠한 중간 재료들 또는 요소들도 사이에 없음)과 "간접적으로 ~에 전기적으로 결합되는"(요소들을 함께 전기적으로 접속시키는 중간 재료들 또는 요소들이 사이에 있음)을 포함한다. 예를 들어, "기판 위에" 요소를 형성하는 것은 어떠한 중간 재료들/요소들도 사이에 갖지 않고서 직접적으로 기판 상에 요소를 형성하는 것뿐만 아니라, 하나 이상의 중간 재료들/요소들을 사이에 갖고서 간접적으로 기판 상에 요소를 형성하는 것을 포함할 수 있다.

Claims (33)

  1. 아날로그 신경 메모리 시스템으로서,
    비휘발성 메모리 셀들의 어레이를 포함하고, 상기 셀들은 로우들(rows) 및 컬럼들(columns)로 배열되고, 상기 컬럼들은 물리적으로 인접한 컬럼들의 쌍들로 배열되고;
    각각의 인접한 쌍 내에서, 상기 인접한 쌍의 하나의 컬럼은 W+ 값을 저장하는 셀들을 포함하고, 상기 인접한 쌍의 하나의 컬럼은 W- 값을 저장하는 셀들을 포함하며, 상기 인접한 쌍의 인접한 셀들은 식 W = (W+) - (W-)에 따라 차등 가중치 W를 저장하는, 시스템.
  2. 제1항에 있어서, 상기 인접한 컬럼들의 쌍들 중 적어도 하나 옆에 더미 컬럼을 더 포함하는, 시스템.
  3. 제2항에 있어서, 상기 더미 컬럼은 소스 라인 풀 다운 비트 라인으로서 역할을 하는, 시스템.
  4. 제1항에 있어서, 상기 어레이는 중복 어레이로서 이용되는 비휘발성 메모리 셀들의 컬럼들의 세트를 포함하는, 시스템.
  5. 제1항에 있어서, 상기 어레이 내의 상기 비휘발성 메모리 셀들은 분리형 게이트 플래시 메모리 셀들인, 시스템.
  6. 제1항에 있어서, 상기 어레이 내의 상기 비휘발성 메모리 셀들은 적층형 게이트 플래시 메모리 셀들인, 시스템.
  7. 제1항에 있어서, 하나 이상의 비트 라인들로부터 출력들을 합산하기 위한 합산기를 더 포함하는, 시스템.
  8. 제7항에 있어서, 상기 합산기는 가변 저항기에 기초하여 조절 가능한, 시스템.
  9. 제7항에 있어서, 상기 합산기는 가변 커패시터에 기초하여 조절 가능한, 시스템.
  10. 제7항에 있어서, 상기 합산기는 스위칭 커패시터 회로 및 연산 증폭기를 포함하는, 시스템.
  11. 제7항에 있어서, 상기 합산기의 출력을 디지털 신호로 변환하기 위한 아날로그-디지털 변환기를 더 포함하는, 시스템.
  12. 제11항에 있어서, 상기 아날로그-디지털 변환기는 연속 근사 레지스터를 포함하는, 시스템.
  13. 제12항에 있어서, 상기 아날로그-디지털 변환기는 파이프라인형 아날로그-디지털 변환기인, 시스템.
  14. 제1항에 있어서,
    중복 컬럼을 더 포함하고, W+ 컬럼 또는 W- 컬럼에 저장된 값들은 상기 중복 컬럼에 재매핑되는, 시스템.
  15. 제14항에 있어서, 상기 재매핑은 인접한 컬럼들의 쌍 내의 2개의 인접한 셀들 사이의 커플링을 제거하는, 시스템.
  16. 제14항에 있어서, 상기 재매핑은 비트 라인들 사이의 전력 또는 전압 강하 중 하나 이상을 재분배하는, 시스템.
  17. 제14항에 있어서, 상기 재맵핑은 상기 노이즈 셀들을 상기 중복 컬럼에 재맵핑하는, 시스템.
  18. 아날로그 신경 메모리 시스템으로서,
    비휘발성 메모리 셀들의 제1 어레이로서, 상기 셀들은 로우들 및 컬럼들로 배열되고, 상기 컬럼들 중 하나 이상 내의 상기 비휘발성 메모리 셀들은 W+ 값들을 저장하는, 상기 비휘발성 메모리 셀들의 제1 어레이; 및
    비휘발성 메모리 셀들의 제2 어레이로서, 상기 셀들은 로우들 및 컬럼들로 배열되고, 상기 컬럼들 중 하나 이상 내의 상기 비휘발성 메모리 셀들은 W- 값들을 저장하는, 상기 비휘발성 메모리 셀들의 제2 어레이를 포함하고,
    상기 제1 어레이와 상기 제2 어레이로부터의 셀의 쌍은 식 W = (W+) - (W-)에 따라 차등 가중치 W를 저장하는, 시스템.
  19. 제18항에 있어서, 소스 라인 풀 다운 비트 라인들을 더 포함하는, 시스템.
  20. 제18항에 있어서, 중복 컬럼들을 더 포함하는, 시스템.
  21. 제20항에 있어서, 상기 중복 컬럼들은 W+ 또는 W- 컬럼으로부터 가중치들을 재매핑하기 위해 사용되는, 시스템.
  22. 제21항에 있어서, 상기 중복 컬럼들은 플로팅 게이트가 플로팅 게이트 커플링을 피하도록 가중치들을 재매핑하기 위해 사용되는, 시스템.
  23. 제21항에 있어서, 상기 중복 컬럼들은 상기 컬럼들 간에 더 균일하게 전력을 분배하기 위해 가중치들을 재매핑하기 위해 사용되는, 시스템.
  24. 제21항에 있어서, 상기 중복 컬럼들은 노이즈 또는 결함 셀들로부터 가중치를 재매핑하기 위해 사용되는, 시스템.
  25. 제18항에 있어서, 상기 제1 어레이 및 상기 제2 어레이 내의 상기 비휘발성 메모리 셀들은 분리형 게이트 플래시 메모리 셀들인, 시스템.
  26. 제18항에 있어서, 상기 제1 어레이 및 상기 제2 어레이 내의 상기 비휘발성 메모리 셀들은 적층형 게이트 플래시 메모리 셀들인, 시스템.
  27. 제18항에 있어서, 하나 이상의 비트 라인들로부터 출력들을 합산하기 위한 합산기를 더 포함하는, 시스템.
  28. 제27항에 있어서, 상기 합산기는 가변 저항기에 기초하여 조절 가능한, 시스템.
  29. 제27항에 있어서, 상기 합산기는 가변 커패시터에 기초하여 조절 가능한, 시스템.
  30. 제27항에 있어서, 상기 합산기는 스위칭 커패시터 회로 및 연산 증폭기를 포함하는, 시스템.
  31. 제27항에 있어서, 상기 합산기의 출력을 디지털 신호로 변환하기 위한 아날로그-디지털 변환기를 더 포함하는, 시스템.
  32. 제31항에 있어서, 상기 아날로그-디지털 변환기는 연속 근사 레지스터를 포함하는, 시스템.
  33. 제31항에 있어서, 상기 아날로그-디지털 변환기는 파이프라인형 아날로그-디지털 변환기인, 시스템.
KR1020227027175A 2020-03-05 2020-09-04 인공 신경망 내의 차등 셀 쌍에 시냅스 가중치를 저장하는 아날로그 신경 메모리 어레이 KR20220125305A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062985826P 2020-03-05 2020-03-05
US62/985,826 2020-03-05
US16/987,101 US11600321B2 (en) 2020-03-05 2020-08-06 Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network
US16/987,101 2020-08-06
PCT/US2020/049294 WO2021178003A1 (en) 2020-03-05 2020-09-04 Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network

Publications (1)

Publication Number Publication Date
KR20220125305A true KR20220125305A (ko) 2022-09-14

Family

ID=77556303

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227031897A KR20220144382A (ko) 2020-03-05 2020-09-03 적응형 가중치 매핑 및 분산 전력을 이용하여 실질적으로 일정한 어레이 소스 임피던스를 갖는 인공 신경망에서의 아날로그 신경 메모리 어레이
KR1020227027175A KR20220125305A (ko) 2020-03-05 2020-09-04 인공 신경망 내의 차등 셀 쌍에 시냅스 가중치를 저장하는 아날로그 신경 메모리 어레이

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227031897A KR20220144382A (ko) 2020-03-05 2020-09-03 적응형 가중치 매핑 및 분산 전력을 이용하여 실질적으로 일정한 어레이 소스 임피던스를 갖는 인공 신경망에서의 아날로그 신경 메모리 어레이

Country Status (7)

Country Link
US (3) US11600321B2 (ko)
EP (2) EP4115423A1 (ko)
JP (3) JP7428820B2 (ko)
KR (2) KR20220144382A (ko)
CN (2) CN115210811A (ko)
TW (3) TWI769710B (ko)
WO (2) WO2021178002A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6708146B2 (ja) * 2017-03-03 2020-06-10 株式会社デンソー ニューラルネットワーク回路
US20210125049A1 (en) * 2019-10-29 2021-04-29 Taiwan Semiconductor Manufacturing Co., Ltd. System for executing neural network
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
US20210350217A1 (en) * 2020-05-10 2021-11-11 Silicon Storage Technology, Inc. Analog neural memory array in artificial neural network with source line pulldown mechanism
US11875852B2 (en) * 2020-07-06 2024-01-16 Silicon Storage Technology, Inc. Adaptive bias decoder to provide a voltage to a control gate line in an analog neural memory array in artificial neural network
JP2023088730A (ja) * 2021-12-15 2023-06-27 キオクシア株式会社 演算システム
US20240028211A1 (en) 2022-07-13 2024-01-25 Macronix International Co., Ltd. Memory device for computing in-memory
CN116486857B (zh) * 2023-05-17 2024-04-02 北京大学 一种基于电荷再分配的存内计算电路

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5022009A (en) 1988-06-02 1991-06-04 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having reading operation of information by differential amplification
US5023837A (en) 1989-09-05 1991-06-11 Texas Instruments Incorporated Bitline segmentation in logic arrays
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
US5256911A (en) * 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
KR100316060B1 (ko) 1998-06-16 2002-02-19 박종섭 플래시메모리의레이아웃및그형성방법
US6069824A (en) 1999-03-03 2000-05-30 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device
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
US7313023B2 (en) 2005-03-11 2007-12-25 Sandisk Corporation Partition of non-volatile memory array to reduce bit line capacitance
KR101380187B1 (ko) 2007-10-08 2014-04-03 삼성전자주식회사 저전력, 낮은 독출 디스터번스를 갖는 비휘발성 메모리 장치 및 그것의 프리챠지 방법 및 독출 방법
KR101434401B1 (ko) * 2007-12-17 2014-08-27 삼성전자주식회사 집적 회로 메모리 장치
US8379456B2 (en) * 2009-10-14 2013-02-19 Samsung Electronics Co., Ltd. Nonvolatile memory devices having dummy cell and bias methods thereof
CN106531212B (zh) 2015-09-11 2020-02-07 硅存储技术公司 将存储器单元用作源极线下拉电路的闪速存储器系统
CN109074845B (zh) * 2016-03-23 2023-07-14 Gsi 科技公司 存储器内矩阵乘法及其在神经网络中的使用
KR102182583B1 (ko) 2016-05-17 2020-11-24 실리콘 스토리지 테크놀로지 인크 비휘발성 메모리 어레이를 사용하는 딥러닝 신경망 분류기
US9953719B2 (en) 2016-05-18 2018-04-24 Silicon Storage Technology, Inc. Flash memory cell and associated decoders
US9910827B2 (en) 2016-07-01 2018-03-06 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
US9875780B1 (en) 2016-08-30 2018-01-23 International Business Machines Corporation STT MRAM source line configuration
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
US10957392B2 (en) * 2018-01-17 2021-03-23 Macronix International Co., Ltd. 2D and 3D sum-of-products array for neuromorphic computing system
US10719296B2 (en) * 2018-01-17 2020-07-21 Macronix International Co., Ltd. Sum-of-products accelerator array
US10242737B1 (en) * 2018-02-13 2019-03-26 Macronix International Co., Ltd. Device structure for neuromorphic computing system
US10735675B2 (en) * 2018-04-13 2020-08-04 Cornell University Configurable image processing system and methods for operating a configurable image processing system for multiple applications
JP7124498B2 (ja) 2018-07-06 2022-08-24 株式会社デンソー ニューラルネットワーク回路
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
CN108695332B (zh) * 2018-05-18 2021-05-07 上海华虹宏力半导体制造有限公司 分栅式闪存及其形成方法、控制方法
KR102105936B1 (ko) 2018-06-25 2020-05-28 포항공과대학교 산학협력단 웨이트 행렬 입력 회로 및 웨이트 행렬 회로
US11568229B2 (en) 2018-07-11 2023-01-31 Silicon Storage Technology, Inc. Redundant memory access for rows or columns containing faulty memory cells in analog neural memory in deep learning artificial neural network
US10643119B2 (en) * 2018-07-24 2020-05-05 Sandisk Technologies Llc Differential non-volatile memory cell for artificial neural network
US10860918B2 (en) 2018-08-21 2020-12-08 Silicon Storage Technology, Inc. Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components
US11042797B2 (en) * 2019-01-08 2021-06-22 SimpleMachines Inc. Accelerating parallel processing of data in a recurrent neural network
US11132176B2 (en) * 2019-03-20 2021-09-28 Macronix International Co., Ltd. Non-volatile computing method in flash memory
US11507642B2 (en) 2019-05-02 2022-11-22 Silicon Storage Technology, Inc. Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network

Also Published As

Publication number Publication date
TW202141496A (zh) 2021-11-01
EP4115343A1 (en) 2023-01-11
JP2023515680A (ja) 2023-04-13
US20210280239A1 (en) 2021-09-09
KR20220144382A (ko) 2022-10-26
CN115210811A (zh) 2022-10-18
US20210280240A1 (en) 2021-09-09
JP2024056734A (ja) 2024-04-23
US11355184B2 (en) 2022-06-07
US11600321B2 (en) 2023-03-07
TWI769710B (zh) 2022-07-01
TWI790551B (zh) 2023-01-21
TW202203226A (zh) 2022-01-16
EP4115423A1 (en) 2023-01-11
US11908513B2 (en) 2024-02-20
TW202322128A (zh) 2023-06-01
US20230178147A1 (en) 2023-06-08
TWI832710B (zh) 2024-02-11
CN115280327A (zh) 2022-11-01
WO2021178003A1 (en) 2021-09-10
WO2021178002A1 (en) 2021-09-10
JP7428820B2 (ja) 2024-02-06
JP2023515679A (ja) 2023-04-13

Similar Documents

Publication Publication Date Title
JP7428820B2 (ja) 適応型重みマッピング及び分散電力を有する実質的に一定のアレイソースインピーダンスを有する人工ニューラルネットワーク内のアナログニューラルメモリアレイ
US20240079064A1 (en) Neural network array comprising one or more coarse cells and one or more fine cells
TWI785574B (zh) 具有源極線下拉機制之人工神經網路中之類比神經記憶體陣列
JP7493089B2 (ja) 人工ニューラルネットワークにおけるアナログニューラルメモリアレイの適応バイアスデコーダ
KR20230150848A (ko) 딥 러닝 인공 신경망에서의 아날로그 뉴럴 메모리를 위한 분할 배열 아키텍처