KR102630992B1 - 딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더 - Google Patents

딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더 Download PDF

Info

Publication number
KR102630992B1
KR102630992B1 KR1020227039866A KR20227039866A KR102630992B1 KR 102630992 B1 KR102630992 B1 KR 102630992B1 KR 1020227039866 A KR1020227039866 A KR 1020227039866A KR 20227039866 A KR20227039866 A KR 20227039866A KR 102630992 B1 KR102630992 B1 KR 102630992B1
Authority
KR
South Korea
Prior art keywords
decoder
control gate
word line
vmm
array
Prior art date
Application number
KR1020227039866A
Other languages
English (en)
Other versions
KR20220158851A (ko
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 KR20220158851A publication Critical patent/KR20220158851A/ko
Application granted granted Critical
Publication of KR102630992B1 publication Critical patent/KR102630992B1/ko

Links

Images

Classifications

    • 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
    • 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/044Recurrent networks, e.g. Hopfield 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/048Activation functions
    • 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/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/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/0433Erasable 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 one or more separate select transistors
    • 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/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Theoretical Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

탠덤 로우 디코더들의 다양한 실시예들이 개시된다. 탠덤 로우 디코더의 각각의 실시예는 워드 라인 디코더 및 제어 게이트 디코더를 포함한다. 탠덤 로우 디코더는 탠덤 로우 디코더가 인에이블되지 않을 때 워드 라인 및 제어 게이트 라인 상에서 감소된 누설 전류를 나타낸다.

Description

딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더
우선권 주장
본 출원은 2020년 6월 3일자로 출원되고 발명의 명칭이 "딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더(Word Line and Control Gate Line Tandem Decoder for Analog Neural Memory in Deep Learning Artificial Neural Network)"인 미국 가특허 출원 제63/033,953호, 및 2020년 11월 25일자로 출원되고 발명의 명칭이 "딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더(Word Line and Control Gate Line Tandem Decoder for Analog Neural Memory in Deep Learning Artificial Neural Network)"인 미국 특허 출원 제17/104,385호에 대한 우선권을 주장한다.
기술분야
탠덤 로우 디코더(tandem row decoder)들의 다양한 실시예들이 개시된다. 탠덤 로우 디코더의 각각의 실시예는 워드 라인 디코더, 및 워드 라인 디코더에 교차-결합된 제어 게이트 디코더를 포함한다. 탠덤 로우 디코더는 탠덤 로우 디코더가 인에이블되지 않을 때 워드 라인 또는 제어 게이트 라인 상에서 미미한 누설 전류를 나타내거나 누설 전류를 나타내지 않는다.
인공 신경망은 생물학적 신경망(동물의 중추신경계, 특히 뇌)을 모방하며, 다수의 입력에 의존할 수 있고 일반적으로 알려져 있지 않은 함수들을 추정하거나 근사화하는 데 이용된다. 인공 신경망은, 일반적으로, 서로 메시지들을 교환하는 상호접속된 "뉴런(neuron)들"의 층들을 포함한다.
도 1은 인공 신경망을 예시하며, 여기서 원들은 뉴런들의 층들 또는 입력들을 나타낸다. 연접부들(시냅스(synapse)들로 지칭됨)은 화살표로 표현되며, 경험에 기초하여 튜닝될 수 있는 수치 가중치를 갖는다. 이것은 신경망들을 입력들에 적응할 수 있고 학습할 수 있게 만든다. 전형적으로, 신경망들은 다수의 입력들의 층을 포함한다. 전형적으로 뉴런들의 하나 이상의 중간 층, 및 신경망의 출력을 제공하는 뉴런들의 출력 층이 있다. 각각의 레벨의 뉴런들은 개별적으로 또는 집합적으로 시냅스들로부터의 수신된 데이터에 기초하여 결정을 행한다.
고성능 정보 처리를 위한 인공 신경망의 개발에서의 주요 과제들 중 하나는 적절한 하드웨어 기술의 결여이다. 사실상, 실제 신경망들은 매우 많은 수의 시냅스들에 의존하여, 뉴런들 사이의 높은 접속성, 즉 매우 높은 계산 병렬성(computational parallelism)을 가능하게 한다. 원칙적으로, 그러한 복잡성은 디지털 슈퍼컴퓨터들 또는 특수 그래픽 처리 유닛 클러스터들로 달성될 수 있다. 그러나, 고비용에 더하여, 이들 접근법은 또한 주로 저-정밀 아날로그 계산을 수행하기 때문에 훨씬 적은 에너지를 소비하는 생물학적 망(biological network)과 비교하여 평범한 에너지 효율을 겪는다. CMOS 아날로그 회로가 인공 신경망에 사용되어 왔지만, 대부분의 CMOS-구현된 시냅스들은 요구되는 많은 수의 뉴런들 및 시냅스들을 고려해 볼 때 너무 부피가 컸다.
출원인은, 참고로 포함되는, 미국 특허 공개 제2017/0337466호로서 공개된, 미국 특허 출원 제15/594,439호에서 하나 이상의 비휘발성 메모리 어레이를 시냅스로서 이용하는 인공 (아날로그) 신경망을 이전에 개시하였다. 비휘발성 메모리 어레이들은 아날로그 신경 메모리로서 동작한다. 신경망 디바이스는 제1 복수의 입력들을 수신하고 그로부터 제1 복수의 출력들을 생성하도록 구성된 제1 복수의 시냅스들, 및 제1 복수의 출력들을 수신하도록 구성된 제1 복수의 뉴런들을 포함한다. 제1 복수의 시냅스들은 복수의 메모리 셀들을 포함하는데, 여기서 메모리 셀들 각각은 반도체 기판 내에 형성되고 채널 영역이 사이에 연장되는 이격된 소스 영역과 드레인 영역, 채널 영역의 제1 부분 위에 배치되고 그로부터 절연되는 플로팅 게이트, 및 채널 영역의 제2 부분 위에 배치되고 그로부터 절연되는 비-플로팅 게이트를 포함한다. 복수의 메모리 셀들 각각은 플로팅 게이트 상의 전자들의 수에 대응하는 가중치 값을 저장하도록 구성된다. 복수의 메모리 셀들은 제1 복수의 입력들을 저장된 가중치 값들과 승산하여 제1 복수의 출력들을 생성하도록 구성된다.
비휘발성 메모리 셀들
디지털 비휘발성 메모리들이 잘 알려져 있다. 예를 들어, 본 명세서에 참고로 포함되는, 미국 특허 제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) 상에 포지티브 전압을 배치함으로써 프로그래밍된다(여기서 전자들이 플로팅 게이트 상에 배치됨). 전자 전류가 소스 영역(14)(소스 라인 단자)으로부터 드레인 영역(16)을 향해 흐를 것이다. 전자들은 그들이 워드 라인 단자(22)와 플로팅 게이트(20) 사이의 갭에 도달할 때 가속되고 가열될 것이다. 가열된 전자들 중 일부는 플로팅 게이트(20)로부터의 정전 인력으로 인해 게이트 산화물을 통과하여 플로팅 게이트(20) 상으로 주입될 것이다.
메모리 셀(210)은 드레인 영역(16) 및 워드 라인 단자(22) 상에 포지티브 판독 전압들을 배치함(이는 워드 라인 단자 아래의 채널 영역(18)의 부분을 턴온시킴)으로써 판독된다. 플로팅 게이트(20)가 포지티브로 대전되면(즉, 전자들이 소거되면), 플로팅 게이트(20) 아래의 채널 영역(18)의 부분이 또한 턴온되고, 전류가 채널 영역(18)을 가로질러 흐를 것이며, 이는 소거된 또는 "1" 상태로 감지된다. 플로팅 게이트(20)가 네거티브로 대전되면(즉, 전자들로 프로그래밍되면), 플로팅 게이트(20) 아래의 채널 영역의 부분은 대부분 또는 완전히 턴오프되고, 전류가 채널 영역(18)을 가로질러 흐르지 않을 것이며(또는 흐름이 거의 없을 것이며), 이는 프로그래밍된 또는 "0" 상태로 감지된다.
표 1은 판독, 소거, 및 프로그램 동작들을 수행하기 위해 메모리 셀(110)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다:
[표 1]
"판독 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는 판독, 소거, 및 프로그램 동작들을 수행하기 위해 메모리 셀(310)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다:
[표 2]
"판독 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]
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 7은 플래시 메모리 셀의 다른 유형인 적층형 게이트 메모리 셀(710)을 도시한다. 메모리 셀(710)은, 절연 층(도시되지 않음)에 의해 분리되어, 플로팅 게이트(20)가 전체 채널 영역(18) 위로 연장되고, 제어 게이트 단자(22)(여기서 워드 라인에 결합될 것임)가 플로팅 게이트(20) 위로 연장된다는 점을 제외하고는, 도 2의 메모리 셀(210)과 유사하다. 소거, 프로그래밍, 및 판독 동작은 메모리 셀(210)에 대해 이전에 설명된 것과 유사한 방식으로 동작한다.
표 4는 판독, 소거, 및 프로그램 동작들을 수행하기 위해 기판(12) 및 메모리 셀(710)의 단자들에 인가될 수 있는 전형적인 전압 범위들을 보여준다:
[표 4]
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다. 선택적으로, 메모리 셀들(210, 310, 410, 510, 610, 또는 710)의 로우(row)들 및 컬럼(column)들을 포함하는 어레이들에서, 소스 라인들은 메모리 셀들의 하나의 로우에 또는 메모리 셀들의 2개의 인접한 로우들에 결합될 수 있다. 즉, 소스 라인 단자들은 메모리 셀들의 인접한 로우들에 의해 공유될 수 있다.
인공 신경망에서 위에서 설명된 비휘발성 메모리 셀들의 유형들 중 하나를 포함하는 메모리 어레이들을 이용하기 위해, 두 가지 수정이 이루어진다. 첫째, 라인들은, 하기에서 추가로 설명되는 바와 같이, 각각의 메모리 셀이 어레이 내의 다른 메모리 셀들의 메모리 상태에 악영향을 미치지 않으면서 개별적으로 프로그래밍, 소거, 및 판독될 수 있도록 구성된다. 둘째, 메모리 셀들의 연속적인 (유사한) 프로그래밍이 제공된다.
구체적으로, 어레이 내의 각각의 메모리 셀의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀들의 교란을 최소화시킨 상태로, 완전 소거된 상태로부터 완전 프로그래밍된 상태로 연속적으로 변경될 수 있다. 다른 실시예에서, 어레이 내의 각각의 메모리 셀의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀들의 교란을 최소화시킨 상태로, 완전 프로그래밍된 상태로부터 완전 소거된 상태로 연속적으로 변경될 수 있고, 그 역으로도 가능하다. 이것은 셀 저장소가 유사하거나 또는 적어도, 많은 개별 값들(예컨대 16개 또는 64개의 상이한 값) 중 하나를 저장할 수 있음을 의미하는데, 이는 메모리 어레이 내의 모든 셀들의 매우 정밀하고 개별적인 튜닝을 허용하고, 메모리 어레이를 신경망의 시냅스 가중치들에 대한 미세 튜닝 조정을 저장하고 행하는 데 이상적인 것으로 되게 한다.
본 명세서에 설명된 방법들 및 수단들은, 제한 없이, 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(bi-level or multi-level one time programmable), 및 CeRAM(correlated electron ram)과 같은 다른 비휘발성 메모리 기술들에 적용될 수 있다. 본 명세서에 설명된 방법 및 수단은, 제한 없이, SRAM, DRAM, 및 휘발성 시냅스 셀과 같은 신경망에 대해 사용되는 휘발성 메모리 기술들에 적용될 수 있다.
비휘발성 메모리 셀 어레이들을 채용한 신경망들
도 8은 본 실시예의 비휘발성 메모리 어레이를 활용하는 신경망의 비제한적인 예를 개념적으로 예시한다. 이 예는 안면 인식 애플리케이션에 대해 비휘발성 메모리 어레이 신경망을 이용하지만, 비휘발성 메모리 어레이 기반 신경망을 이용하여 임의의 다른 적절한 애플리케이션이 구현될 수 있다.
S0은, 이 예에 대해, 5 비트 정밀도를 갖는 32x32 픽셀 RGB 이미지(즉, 각각의 컬러 R, G 및 B에 대해 하나씩인 3개의 32x32 픽셀 어레이들, 각각의 픽셀은 5 비트 정밀도임)인 입력 층이다. 입력 층(S0)으로부터 층(C1)으로 가는 시냅스들(CB1)은 몇몇 예에서 가중치들 및 다른 예에서 공유 가중치들의 상이한 세트들을 적용하며, 입력 이미지를 3x3 픽셀 중첩 필터들(커널(kernel))로 스캔하여, 필터를 1 픽셀(또는 모델별로 지시되는 바와 같이 1 초과 픽셀)만큼 시프트시킨다. 구체적으로, 이미지의 3x3 부분 내의 9개 픽셀들(즉, 필터 또는 커널로 지칭됨)에 대한 값들이 시냅스들(CB1)에 제공되며, 여기서 이들 9개의 입력 값들이 적절한 가중치들과 승산되고, 그 승산의 출력들을 합산한 후, 단일 출력 값이 결정되고, 피처 맵(feature map)(C1)의 층들 중 하나의 층의 픽셀을 생성하기 위해 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 영역들로부터의 값들을 풀링한다. 풀링 함수의 목적은, 예를 들어 에지 위치의 의존성을 감소시키고 다음 스테이지로 가기 전에 데이터 크기를 감소시키기 위해 인근 위치를 평균하는 것이다(또는 최대 함수가 또한 사용될 수 있음). 층(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개 뉴런들을 포함하고, 여기서 최고 출력 뉴런이 클래스를 결정한다. 이러한 출력은, 예를 들어, 원래의 이미지의 내용의 식별 또는 분류를 나타낼 수 있다.
시냅스들의 각각의 층은 비휘발성 메모리 셀들의 어레이 또는 그들의 어레이의 일부를 사용하여 구현된다.
도 9는 그 목적을 위해 사용될 수 있는 시스템의 블록 다이어그램이다. 벡터x매트릭스 승산(vector-by-matrix multiplication, 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)에 공급되고, 이는 VMM 어레이(33)의 출력들을 합산하여 그 콘볼루션(convolution)에 대한 단일 값을 생성한다. 차동 합산기(38)는 포지티브 가중치 및 네거티브 가중치 입력들 둘 모두의 합산을 수행하여 단일 값을 출력하도록 배열된다.
이어서 차동 합산기(38)의 합산된 출력 값들은 활성화 함수 회로(39)에 공급되며, 이는 출력을 정류한다. 활성화 함수 회로(39)는 시그모이드(sigmoid), tanh, ReLU 함수들, 또는 임의의 다른 비-선형 함수를 제공할 수 있다. 활성화 함수 회로(39)의 정류된 출력 값들은 다음 층(예를 들어, 도 8의 C1)의 피처 맵의 요소가 되고, 이어서 다음 시냅스에 적용되어 다음 피처 맵 층 또는 최종 층을 생성한다. 따라서, 이 예에서, VMM 어레이(33)는 복수의 시냅스들(이들은 이전 뉴런 층으로부터 또는 이미지 데이터베이스와 같은 입력 층으로부터 그들의 입력들을 수신함)을 구성하고, 합산기(38) 및 활성화 함수 회로(39)는 복수의 뉴런들을 구성한다.
도 9의 VMM 시스템(32)에의 입력(WLx, EGx, CGx, 및 선택적으로 BLx 및 SLx)은 아날로그 레벨, 이진 레벨, 디지털 펄스들(이 경우에 펄스들을 적절한 입력 아날로그 레벨로 변환하기 위해 펄스-아날로그 변환기(PAC)가 필요할 수 있음) 또는 디지털 비트들(이 경우에 디지털 비트들을 적절한 입력 아날로그 레벨로 변환하기 위해 DAC가 제공됨)일 수 있고, 출력은 아날로그 레벨, 이진 레벨, 디지털 펄스들, 또는 디지털 비트들(이 경우에 출력 아날로그 레벨을 디지털 비트들로 변환하기 위해 출력 ADC가 제공됨)일 수 있다.
도 10은, 여기서 VMM 시스템들(32a, 32b, 32c, 32d, 및 32e)로서 라벨링된, VMM 시스템들(32)의 다수의 층들의 사용을 도시하는 블록 다이어그램이다. 도 10에 도시된 바와 같이, 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)은 또한 그의 어레이 또는 뉴런의 다양한 부분에 대해 시간 다중화될 수 있다. 도 10에 도시된 예는 다음과 같은 5개의 층(32a, 32b, 32c, 32d, 32e)을 포함한다: 하나의 입력 층(32a), 2개의 은닉 층(32b, 32c) 및 2개의 완전히 접속된 층(32d, 32e). 당업자는 이것은 단지 예시적인 것이고 시스템이 대신에 2개 초과의 은닉 층들 및 2개 초과의 완전히 접속된 층들을 포함할 수 있다는 것을 인식할 것이다.
VMM 어레이들
도 11은 뉴런 VMM 어레이(1100)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1100)는 비휘발성 메모리 셀들의 메모리 어레이(1101), 및 비휘발성 기준 메모리 셀들의 (어레이의 상부에 있는) 기준 어레이(1102)를 포함한다. 대안적으로, 다른 기준 어레이가 하부에 배치될 수 있다.
VMM 어레이(1100)에서, 제어 게이트 라인(1103)과 같은 제어 게이트 라인들이 수직 방향으로 이어지고(따라서, 로우 방향의 기준 어레이(1102)는 제어 게이트 라인(1103)에 직교함), 소거 게이트 라인(1104)과 같은 소거 게이트 라인들이 수평 방향으로 이어진다. 여기서, VMM 어레이(1100)로의 입력들은 제어 게이트 라인들(CG0, CG1, CG2, CG3) 상에 제공되고, VMM 어레이(1100)의 출력은 소스 라인들(SL0, SL1) 상에 나타난다. 일 실시예에서 짝수 로우들만이 사용되고, 다른 실시예에서 홀수 로우들만이 사용된다. 각각의 소스 라인(각각, SL0, SL1) 상에 배치된 전류는 그 특정 소스 라인에 접속된 메모리 셀들로부터의 모든 전류들의 합산 함수를 수행한다.
신경망들에 대해 본 명세서에 설명된 바와 같이, VMM 어레이(1100)의 비휘발성 메모리 셀들, 즉 VMM 어레이(1100)의 플래시 메모리는 바람직하게는 하위-임계 영역에서 동작하도록 구성된다.
본 명세서에 기술된 비휘발성 기준 메모리 셀들 및 비휘발성 메모리 셀들은 약 반전(weak inversion)으로 바이어싱되며:
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이다.
벡터 매트릭스 승산기(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이다. Vthp는 주변 메모리 셀의 유효 임계 전압이고, Vtha는 메인(데이터) 메모리 셀의 유효 임계 전압이다. 트랜지스터의 임계 전압은 기판 바디 바이어스 전압의 함수이고, Vsb로 표시된 기판 바디 바이어스 전압은 그러한 온도에서 다양한 조건들을 보상하도록 변조될 수 있다는 점에 유의한다. 임계 전압 Vth는 다음과 같이 표현될 수 있다:
Vth = Vth0 + 감마 (SQRT |Vsb - 2*φF) - SQRT |2* φF |)
여기서 Vth0은 제로 기판 바이어스를 갖는 임계 전압이고, φF는 표면 전위이고, 감마는 바디 효과 파라미터이다.
워드 라인 또는 제어 게이트가 입력 전압을 위해 메모리 셀에 대한 입력으로서 사용될 수 있다.
대안적으로, 본 명세서에 기술된 VMM 어레이들의 비휘발성 메모리 셀들은 선형 영역에서 동작하도록 구성될 수 있으며:
Ids = 베타* (Vgs-Vth)*Vds; 베타 = u*Cox*Wt/L,
이에 따라, W α (Vgs-Vth), 즉 선형 영역에서의 가중치 W는 (Vgs-Vth)에 비례한다
워드 라인 또는 제어 게이트 또는 비트 라인 또는 소스 라인이 선형 영역에서 동작되는 메모리 셀에 대한 입력으로서 사용될 수 있다. 비트 라인 또는 소스 라인은 메모리 셀에 대한 출력으로서 사용될 수 있다.
I-V 선형 변환기에 대해, 선형 영역에서 동작하는 메모리 셀(예컨대, 기준 메모리 셀 또는 주변 메모리 셀) 또는 트랜지스터, 또는 저항기가 입력/출력 전류를 입력/출력 전압으로 선형적으로 변환하는 데 사용될 수 있다.
대안적으로, 본 명세서에 기술된 VMM 어레이들의 플래시 메모리 셀들은 포화 영역에서 동작하도록 구성될 수 있으며:
Ids = ½ * 베타* (Vgs-Vth)2; 베타 = u*Cox*Wt/L
이에 따라, W α (Vgs-Vth)2이며, 이는 포화 영역에서의 가중치 W는 (Vgs-Vth)2에 비례한다는 것을 의미한다
워드 라인, 제어 게이트, 또는 소거 게이트가 포화 영역에서 동작되는 메모리 셀에 대한 입력으로서 사용될 수 있다. 비트 라인 또는 소스 라인은 출력 뉴런에 대한 출력으로서 사용될 수 있다.
대안적으로, 본 명세서에 기술된 VMM 어레이들의 메모리 셀들은 모든 영역들 또는 이들의 조합(하위 임계, 선형, 또는 포화)에서 사용될 수 있다.
도 9의 VMM 어레이(32)에 대한 다른 실시예들이, 본 명세서에 참고로 포함되는, 미국 특허 출원 제15/826,345호에 기술되어 있다. 그 출원에 기술되어 있는 바와 같이, 소스 라인 또는 비트 라인이 뉴런 출력(전류 합산 출력)으로서 사용될 수 있다.
도 12는 뉴런 VMM 어레이(1200)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 시냅스로서 이용된다. VMM 어레이(1200)는 비휘발성 메모리 셀들의 메모리 어레이(1203), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1201), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1202)를 포함한다. 어레이의 컬럼 방향으로 배열된 기준 어레이들(1201 및 1202)은, 단자들(BLR0, BLR1, BLR2, 및 BLR3) 내로 흐르는 전류 입력들을 전압 입력들(WL0, WL1, WL2, 및 WL3)로 변환하는 역할을 한다. 실제로, 제1 및 제2 비휘발성 기준 메모리 셀들은 그들 내로 흐르는 전류 입력들과 멀티플렉서들(1214)(단지 부분적으로 도시됨)을 통해 다이오드 접속된다. 기준 셀들은 타겟 기준 레벨들로 튜닝(예컨대, 프로그래밍)된다. 타겟 기준 레벨들은 기준 미니-어레이 매트릭스(도시되지 않음)에 의해 제공된다.
메모리 어레이(1203)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 어레이(1200)에 의해 사용될 가중치들을 그것의 각자의 메모리 셀들 상에 저장한다. 둘째, 메모리 어레이(1203)는 입력들(즉, 단자들(BLR0, BLR1, BLR2, 및 BLR3)에 제공되는 전류 입력들, 이것에 대해 기준 어레이들(1201 및 1202)이 워드 라인들(WL0, WL1, WL2, 및 WL3)에 공급할 입력 전압들로 변환함)을 메모리 어레이(1203)에 저장된 가중치들과 유효하게 승산하고, 이어서 모든 결과들(메모리 셀 전류들)을 가산하여 각자의 비트 라인들(BL0 - BLN) 상의 출력을 생성하는데, 이는 다음 층에 대한 입력 또는 최종 층에 대한 입력일 것이다. 승산 및 가산 함수를 수행함으로써, 메모리 어레이(1203)는 별개의 승산 및 가산 로직 회로들에 대한 필요성을 무효화하고, 또한 전력 효율적이다. 여기서, 전압 입력들은 워드 라인들(WL0, WL1, WL2, 및 WL3) 상에 제공되고, 출력은 판독(추론) 동작 동안 각자의 비트 라인들(BL0 - BLN) 상에 나타난다. 비트 라인들(BL0 - BLN) 각각에 배치된 전류는 그 특정 비트 라인에 접속된 모든 비휘발성 메모리 셀들로부터의 전류들의 합산 함수를 수행한다.
표 5는 VMM 어레이(1200)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타내며, 여기서 FLT는 플로팅을 나타내는데, 즉 전압이 부과되지 않음을 나타낸다. 로우들은 판독, 소거, 및 프로그램의 동작들을 나타낸다.
[표 5]
도 13은 뉴런 VMM 어레이(1300)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1300)는 비휘발성 메모리 셀들의 메모리 어레이(1303), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1301), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1302)를 포함한다. 기준 어레이들(1301 및 1302)은 VMM 어레이(1300)의 로우 방향으로 이어진다. VMM 어레이는, VMM 어레이(1300)에서 워드 라인들이 수직 방향으로 이어진다는 점을 제외하고는, VMM(1000)과 유사하다. 여기서, 입력들은 워드 라인들(WLA0, WLB0, WLA1, WLB2, WLA2, WLB2, WLA3, WLB3) 상에 제공되고, 출력은 판독 동작 동안 소스 라인(SL0, SL1) 상에 나타난다. 각각의 소스 라인 상에 배치된 전류는 그 특정 소스 라인에 접속된 메모리 셀들로부터의 모든 전류들의 합산 함수를 수행한다.
표 6은 VMM 어레이(1300)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타낸다. 로우들은 판독, 소거, 및 프로그램의 동작들을 나타낸다.
[표 6]
도 14는 뉴런 VMM 어레이(1400)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1400)는 비휘발성 메모리 셀들의 메모리 어레이(1403), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1401), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1402)를 포함한다. 기준 어레이들(1401 및 1402)은 단자들(BLR0, BLR1, BLR2, 및 BLR3) 내로 흐르는 전류 입력들을 전압 입력들(CG0, CG1, CG2, 및 CG3)로 변환하는 역할을 한다. 실제로, 제1 및 제2 비휘발성 기준 메모리 셀들은 BLR0, BLR1, BLR2, 및 BLR3을 통해 그들 내로 흐르는 전류 입력들과 멀티플렉서들(1412)(단지 부분적으로 도시됨)을 통해 다이오드 접속된다. 멀티플렉서들(1412) 각각은 판독 동작 동안 제1 및 제2 비휘발성 기준 메모리 셀들 각각의 비트 라인(예컨대, BLR0) 상의 일정한 전압을 보장하기 위해 각각의 멀티플렉서(1405) 및 캐스코딩 트랜지스터(cascoding transistor)(1404)를 포함한다. 기준 셀들은 타겟 기준 레벨들로 튜닝된다.
메모리 어레이(1403)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 어레이(1400)에 의해 사용될 가중치들을 저장한다. 둘째, 메모리 어레이(1403)는 입력들(단자들(BLR0, BLR1, BLR2, 및 BLR3)에 제공되는 전류 입력들, 이것에 대해 기준 어레이들(1401 및 1402)이 이러한 전류 입력들을 제어 게이트들(CG0, CG1, CG2, 및 CG3)에 공급할 입력 전압들로 변환함)을 메모리 어레이에 저장된 가중치들과 유효하게 승산하고, 이어서 모든 결과들(셀 전류들)을 가산하여 출력을 생성하는데, 이는 BL0 - BLN 상에 나타나며 다음 층에 대한 입력 또는 최종 층에 대한 입력일 것이다. 승산 및 가산 함수를 수행함으로써, 메모리 어레이는 별개의 승산 및 가산 로직 회로들에 대한 필요성을 무효화하고, 또한 전력 효율적이다. 여기서, 입력들은 제어 게이트 라인들(CG0, CG1, CG2, 및 CG3) 상에 제공되고, 출력은 판독 동작 동안 비트 라인들(BL0 - BLN) 상에 나타난다. 각각의 비트 라인 상에 배치된 전류는 그 특정 비트 라인에 접속된 메모리 셀들로부터의 모든 전류들의 합산 함수를 수행한다.
VMM 어레이(1400)는 메모리 어레이(1403) 내의 비휘발성 메모리 셀들에 대한 단방향 튜닝을 구현한다. 즉, 각각의 비휘발성 메모리 셀은 소거되고, 이어서 플로팅 게이트 상의 원하는 전하에 도달할 때까지 부분적으로 프로그래밍된다. 이것은, 예를 들어, 후술되는 정밀 프로그래밍 기법들을 사용하여 수행될 수 있다. (잘못된 값이 셀에 저장되도록) 너무 많은 전하가 플로팅 게이트 상에 배치되는 경우, 셀은 소거되어야 하고, 부분 프로그래밍 동작들의 시퀀스가 다시 시작되어야 한다. 도시된 바와 같이, 동일한 소거 게이트(예컨대, EG0 또는 EG1)를 공유하는 2개의 로우들이 함께 소거될 필요가 있고(페이지 소거로서 알려짐), 그 후에 각각의 셀은 플로팅 게이트 상의 원하는 전하에 도달할 때까지 부분적으로 프로그래밍된다.
표 7은 VMM 어레이(1400)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 제어 게이트들, 선택된 셀들과 동일한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들과는 상이한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들에 대한 소거 게이트들, 비선택된 셀들에 대한 소거 게이트들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타낸다. 로우들은 판독, 소거, 및 프로그램의 동작들을 나타낸다.
[표 7]
도 15은 뉴런 VMM 어레이(1500)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(1500)는 비휘발성 메모리 셀들의 메모리 어레이(1503), 제1 비휘발성 기준 메모리 셀들의 기준 어레이(1501), 및 제2 비휘발성 기준 메모리 셀들의 기준 어레이(1502)를 포함한다. EG 라인들(EGR0, EG0, EG1, 및 EGR1)은 수직으로 이어지는 반면, CG 라인들(CG0, CG1, CG2, 및 CG3) 및 SL 라인들(WL0, WL1, WL2, 및 WL3)은 수평으로 이어진다. VMM 어레이(1500)는, VMM 어레이(1500)가 양방향 튜닝을 구현한다는 점을 제외하고는 VMM 어레이(1400)와 유사하며, 여기서 각각의 개별 셀은 별개의 EG 라인들의 사용으로 인해 플로팅 게이트 상의 원하는 전하량에 도달하기 위해 필요에 따라 완전히 소거되고, 부분적으로 프로그래밍되고, 부분적으로 소거될 수 있다. 도시된 바와 같이, 기준 어레이들(1501 및 1502)은 (멀티플렉서들(1514)을 통한 다이오드 접속된 기준 셀들의 액션을 통해) 단자(BLR0, BLR1, BLR2, 및 BLR3) 내의 입력 전류를 로우 방향으로 메모리 셀들에 인가될 제어 게이트 전압들(CG0, CG1, CG2, 및 CG3)로 변환한다. 전류 출력(뉴런)은 비트 라인들(BL0 - BLN)에 있으며, 여기서 각각의 비트 라인은 그 특정 비트 라인에 접속된 비휘발성 메모리 셀들로부터의 모든 전류들을 합산한다.
표 8은 VMM 어레이(1500)에 대한 동작 전압들을 보여준다. 표 내의 컬럼들은 선택된 셀들에 대한 워드 라인들, 비선택된 셀들에 대한 워드 라인들, 선택된 셀들에 대한 비트 라인들, 비선택된 셀들에 대한 비트 라인들, 선택된 셀들에 대한 제어 게이트들, 선택된 셀들과 동일한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들과는 상이한 섹터 내의 비선택된 셀들에 대한 제어 게이트들, 선택된 셀들에 대한 소거 게이트들, 비선택된 셀들에 대한 소거 게이트들, 선택된 셀들에 대한 소스 라인들, 및 비선택된 셀들에 대한 소스 라인들 상에 배치된 전압들을 나타낸다. 로우들은 판독, 소거, 및 프로그램의 동작들을 나타낸다.
[표 8]
도 24는 뉴런 VMM 어레이(2400)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. VMM 어레이(2400)에서, 입력들(INPUT0, ..., INPUTN)은 각각 비트 라인들(BL0, ..., BLN) 상에서 수신되고, 출력들(OUTPUT1, OUTPUT2, OUTPUT3, 및 OUTPUT4)은 각각 소스 라인들(SL0, SL1, SL2, 및 SL3) 상에서 생성된다.
도 25는 뉴런 VMM 어레이(2500)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. 이 예에서, 입력들(INPUT0, INPUT1, INPUT2, 및 INPUT3)은 각각 소스 라인들(SL0, SL1, SL2, 및 SL3) 상에서 수신되고, 출력들(OUTPUT0, ..., OUTPUTN)은 비트 라인들(BL0, ..., BLN) 상에서 생성된다.
도 26은 뉴런 VMM 어레이(2600)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀들(210)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. 이 예에서, 입력들(INPUT0, ..., INPUTM)은 각각 워드 라인들(WL0, ..., WLM) 상에서 수신되고, 출력들(OUTPUT0, ..., OUTPUTN)은 비트 라인들(BL0, ..., BLN) 상에서 생성된다.
도 27은 뉴런 VMM 어레이(2700)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀들(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. 이 예에서, 입력들(INPUT0, ..., INPUTM)은 각각 워드 라인들(WL0, ..., WLM) 상에서 수신되고, 출력들(OUTPUT0, ..., OUTPUTN)은 비트 라인들(BL0, ..., BLN) 상에서 생성된다.
도 28은 뉴런 VMM 어레이(2800)를 도시하며, 이는 도 4에 도시된 바와 같은 메모리 셀들(410)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. 이 예에서, 입력들(INPUT0, ..., INPUTn)은 각각 수직 제어 게이트 라인들(CG0, ..., CGN) 상에서 수신되고, 출력들(OUTPUT1 및 OUTPUT2)은 소스 라인들(SL0 및 SL1) 상에서 생성된다.
도 29는 뉴런 VMM 어레이(2900)를 도시하며, 이는 도 4에 도시된 바와 같은 메모리 셀들(410)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용된다. 이 예에서, 입력들(INPUT0, ..., INPUTN)은, 각각 비트 라인들(BL0, ..., BLN)에 결합되는, 각각 비트 라인 제어 게이트들(2901-1, 2901-2, ..., 2901-(N-1), 및 2901-N)의 게이트들 상에서 수신된다. 예시적인 출력들(OUTPUT1 및 OUTPUT2)이 소스 라인들(SL0 및 SL1) 상에서 생성된다.
도 30은, 도 3에 도시된 바와 같은 메모리 셀(310), 도 5에 도시된 바와 같은 메모리 셀(510), 및 도 7에 도시된 바와 같은 메모리 셀(710)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용되는 뉴런 VMM 어레이(3000)를 도시한다. 이 예에서, 입력들(INPUT0, ..., INPUTM)은 워드 라인들(WL0, ..., WLM) 상에서 수신되고, 출력들(OUTPUT0, ..., OUTPUTN)은 각각 비트 라인들(BL0, ..., BLN) 상에서 생성된다.
도 31은, 도 3에 도시된 바와 같은 메모리 셀(310), 도 5에 도시된 바와 같은 메모리 셀(510), 및 도 7에 도시된 바와 같은 메모리 셀(710)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용되는 뉴런 VMM 어레이(3100)를 도시한다. 이 예에서, 입력들(INPUT0, ..., INPUTM)은 제어 게이트 라인들(CG0, ..., CGM) 상에서 수신된다. 출력들(OUTPUT0, ..., OUTPUTN)은 각각 수직 소스 라인들(SL0, ..., SLN) 상에서 생성되며, 여기서 각각의 소스 라인(SLi)은 컬럼 i 내의 모든 메모리 셀들의 소스 라인들에 결합된다.
도 32는, 도 3에 도시된 바와 같은 메모리 셀(310), 도 5에 도시된 바와 같은 메모리 셀(510), 및 도 7에 도시된 바와 같은 메모리 셀(710)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런들의 부분들 및 시냅스들로서 이용되는 뉴런 VMM 어레이(3200)를 도시한다. 이 예에서, 입력들(INPUT0, ..., INPUTM)은 제어 게이트 라인들(CG0, ..., CGM) 상에서 수신된다. 출력들(OUTPUT0, ..., OUTPUTN)은 각각 수직 비트 라인들(BL0, ..., BLN) 상에서 생성되며, 여기서 각각의 비트 라인(BLi)은 컬럼 i 내의 모든 메모리 셀들의 비트 라인들에 결합된다.
장단기 메모리
종래 기술은 장단기 메모리(long short-term memory, LSTM)로 알려진 개념을 포함한다. LSTM 유닛들은 종종 신경망들에서 사용된다. LSTM은 신경망이 미리 결정된 임의적인 시간 간격들에 걸쳐 정보를 기억하도록 그리고 후속 동작들에서 그 정보를 사용하도록 허용한다. 종래의 LSTM 유닛은 셀, 입력 게이트, 출력 게이트 및 망각 게이트를 포함한다. 3개의 게이트들은 셀 내로의 그리고 셀 외부로의 정보의 흐름을 그리고 정보가 LSTM에서 상기되는 시간 간격을 조절한다. VMM들은 LSTM 유닛들에서 특히 유용하다.
도 16은 예시적인 LSTM(1600)을 도시한다. 이 예에서의 LSTM(1600)은 셀들(1601, 1602, 1603, 및 1604)을 포함한다. 셀(1601)은 입력 벡터(x0)를 수신하고 출력 벡터(h0) 및 셀 상태 벡터(c0)를 생성한다. 셀(1602)은 입력 벡터(x1), 셀(1601)로부터의 출력 벡터(은닉 상태)(h0), 및 셀(1601)로부터의 셀 상태(c0)를 수신하고, 출력 벡터(h1) 및 셀 상태 벡터(c1)를 생성한다. 셀(1603)은 입력 벡터(x2), 셀(1602)로부터의 출력 벡터(은닉 상태)(h1), 및 셀(1602)로부터의 셀 상태(c1)를 수신하고, 출력 벡터(h2) 및 셀 상태 벡터(c2)를 생성한다. 셀(1604)은 입력 벡터(x3), 셀(1603)로부터의 출력 벡터(은닉 상태)(h2), 및 셀(1603)로부터의 셀 상태(c2)를 수신하고, 출력 벡터(h3)를 생성한다. 추가적인 셀들이 사용될 수 있으며, 4개의 셀을 갖는 LSTM는 단지 예일 뿐이다.
도 17은 도 16의 셀들(1601, 1602, 1603, 및 1604)에 대해 사용될 수 있는 LSTM 셀(1700)의 예시적인 구현을 도시한다. LSTM 셀(1700)은 입력 벡터(x(t)), 선행 셀로부터의 셀 상태 벡터(c(t-1)), 및 선행 셀로부터의 출력 벡터(h(t-1))를 수신하고, 셀 상태 벡터(c(t)) 및 출력 벡터(h(t))를 생성한다.
LSTM 셀(1700)은 시그모이드 함수 디바이스들(1701, 1702, 및 1703)을 포함하며, 이들 각각은 얼마나 많은 입력 벡터 내의 각각의 성분이 출력 벡터로 통하도록 허용되는지를 제어하기 위해 0과 1 사이의 수를 적용한다. LSTM 셀(1700)은 또한 입력 벡터에 쌍곡선 탄젠트 함수를 적용하기 위한 tanh 디바이스들(1704 및 1705), 2개의 벡터를 함께 승산하기 위한 승산기 디바이스들(1706, 1707, 및 1708), 및 2개의 벡터를 함께 가산하기 위한 가산 디바이스(1709)를 포함한다. 출력 벡터(h(t))는 시스템 내의 다음 LSTM 셀에 제공될 수 있거나, 그것은 다른 목적들을 위해 액세스될 수 있다.
도 18은 LSTM 셀(1700)의 구현의 예인 LSTM 셀(1800)을 도시한다. 독자의 편의를 위해, LSTM 셀(1700)로부터의 동일한 넘버링이 LSTM 셀(1800)에 사용된다. 시그모이드 함수 디바이스들(1701, 1702, 및 1703) 및 tanh 디바이스(1704) 각각은 다수의 VMM 어레이들(1801) 및 활성화 회로 블록들(1802)을 포함한다. 따라서, VMM 어레이들이 소정의 신경망 시스템들에서 사용되는 LSTM 셀들에 특히 유용함을 알 수 있다. 승산기 디바이스들(1706, 1707, 및 1708) 및 가산 디바이스(1709)는 디지털 방식으로 또는 아날로그 방식으로 구현된다. 활성화 함수 블록들(1802)은 디지털 방식으로 또는 아날로그 방식으로 구현될 수 있다.
LSTM 셀(1800)에 대한 대안(및 LSTM 셀(1700)의 구현예의 다른 예)이 도 19에 도시되어 있다. 도 19에서, 시그모이드 함수 디바이스들(1701, 1702, 및 1703) 및 tanh 디바이스(1704)는 시간 다중화 방식으로 동일한 물리적 하드웨어(VMM 어레이들(1901) 및 활성화 함수 블록(1902))를 공유한다. LSTM 셀(1900)은, 또한, 2개의 벡터들을 함께 승산하기 위한 승산기 디바이스(1903), 2개의 벡터들을 함께 가산하기 위한 가산 디바이스(1908), tanh 디바이스(1705)(활성화 회로 블록(1902)을 포함함), i(t)가 시그모이드 함수 블록(1902)으로부터 출력될 때 값 i(t)를 저장하기 위한 레지스터(1907), 값 f(t) * c(t-1)를 그 값이 멀티플렉서(1910)를 통해 승산기 디바이스(1903)로부터 출력될 때 저장하기 위한 레지스터(1904), 값 i(t) * u(t)를 그 값이 멀티플렉서(1910)를 통해 승산기 디바이스(1903)로부터 출력될 때 저장하기 위한 레지스터(1905), 및 값 o(t) * c~(t)를 그 값이 멀티플렉서(1910)를 통해 승산기 디바이스(1903)로부터 출력될 때 저장하기 위한 레지스터(1906), 및 멀티플렉서(1909)를 포함한다.
LSTM 셀(1800)은 VMM 어레이들(1801) 및 각자의 활성화 함수 블록들(1802)의 다수의 세트들을 포함하는 반면, LSTM 셀(1900)은 LSTM 셀(1900)의 실시예에서 다수의 층들을 나타내는 데 사용되는 VMM 어레이들(1901) 및 활성화 함수 블록(1902)의 하나의 세트만을 포함한다. LSTM 셀(1900)은 LSTM(1800)보다 더 적은 공간을 필요로 할 것인데, 그 이유는 LSTM 셀(1900)이 LSTM 셀(1800)과 비교하여 VMM들 및 활성화 함수 블록들에 대해 1/4만큼의 공간을 요구할 것이기 때문이다.
LSTM 유닛들은 전형적으로 다수의 VMM 어레이를 포함할 것이며, 이들 각각은 합산기 및 활성화 회로 블록 및 고전압 생성 블록들과 같은, VMM 어레이들 밖의 소정 회로 블록들에 의해 제공되는 기능을 요구한다는 것을 추가로 알 수 있다. 각각의 VMM 어레이에 대한 별개의 회로 블록들을 제공하는 것은 반도체 디바이스 내의 상당한 양의 공간을 필요로 할 것이고 다소 비효율적일 것이다.
게이티드 회귀 유닛(Gated Recurrent Unit)들
아날로그 VMM 구현예가 GRU(게이티드 회귀 유닛) 시스템에 이용될 수 있다. GRU들은 회귀 신경망들에서의 게이팅 메커니즘이다. GRU들은, GRU 셀들이 대체적으로 LSTM 셀보다 더 적은 컴포넌트들을 포함하는 것을 제외하고는, LSTM들과 유사하다.
도 20은 예시적인 GRU(2000)를 도시한다. 이 예에서의 GRU(2000)는 셀들(2001, 2002, 2003, 및 2004)을 포함한다. 셀(2001)은 입력 벡터(x0)를 수신하고 출력 벡터(h0)를 생성한다. 셀(2002)은 입력 벡터(x1) 및 셀(2001)로부터의 출력 벡터(h0)를 수신하고, 출력 벡터(h1)를 생성한다. 셀(2003)은 입력 벡터(x2) 및 셀(2002)로부터의 출력 벡터(은닉 상태)(h1)를 수신하고, 출력 벡터(h2)를 생성한다. 셀(2004)은 입력 벡터(x3) 및 셀(2003)로부터의 출력 벡터(은닉 상태)(h2)를 수신하고, 출력 벡터(h3)를 생성한다. 추가적인 셀들이 사용될 수 있으며, 4개의 셀을 갖는 GRU는 단지 예일 뿐이다.
도 21은 도 20의 셀들(2001, 2002, 2003, 및 2004)에 사용될 수 있는 GRU 셀(2100)의 예시적인 구현예를 도시한다. GRU 셀(2100)은 선행 GRU 셀로부터 입력 벡터(x(t)) 및 출력 벡터(h(t-1))를 수신하고, 출력 벡터(h(t))를 생성한다. GRU 셀(2100)은 시그모이드 함수 디바이스들(2101 및 2102)을 포함하고, 이들 각각은 0과 1 사이의 수를 출력 벡터(h(t-1)) 및 입력 벡터(x(t))로부터의 성분들에 적용한다. GRU 셀(2100)은 또한 입력 벡터에 쌍곡선 탄젠트 함수를 적용하기 위한 tanh 디바이스(2103), 2개의 벡터를 함께 승산하기 위한 복수의 승산기 디바이스들(2104, 2105, 및 2106), 2개의 벡터를 함께 가산하기 위한 가산 디바이스(2107), 및 1로부터 입력을 감산하여 출력을 생성하기 위한 상보 디바이스(2108)를 포함한다.
도 22는 GRU 셀(2100)의 구현의 예인 GRU 셀(2200)을 도시한다. 독자의 편의를 위해, GRU 셀(2100)로부터의 동일한 넘버링이 GRU 셀(2200)에 사용된다. 도 22에서 알 수 있는 바와 같이, 시그모이드 함수 디바이스들(2101 및 2102) 및 tanh 디바이스(2103) 각각은 다수의 VMM 어레이들(2201) 및 활성화 함수 블록들(2202)을 포함한다. 따라서, VMM 어레이들은 소정 신경망 시스템들에서 사용되는 GRU 셀들에서 특히 유용하다는 것을 알 수 있다. 승산기 디바이스들(2104, 2105, 2106), 가산 디바이스(2107), 및 상보 디바이스(2108)는 디지털 방식으로 또는 아날로그 방식으로 구현된다. 활성화 함수 블록들(2202)은 디지털 방식으로 또는 아날로그 방식으로 구현될 수 있다.
GRU 셀(2200)에 대한 대안(및 GRU 셀(2300)의 구현예의 다른 예)이 도 23에 도시되어 있다. 도 23에서, GRU 셀(2300)은 VMM 어레이들(2301) 및 활성화 함수 블록(2302)을 이용하며, 활성화 함수 블록은, 시그모이드 함수로서 구성될 때, 얼마나 많은 입력 벡터 내의 각각의 성분이 출력 벡터로 통하도록 허용되는지를 제어하기 위해 0과 1 사이의 수를 적용한다. 도 23에서, 시그모이드 함수 디바이스들(2101 및 2102) 및 tanh 디바이스(2103)는 시간 다중화 방식으로 동일한 물리적 하드웨어(VMM 어레이들(2301) 및 활성화 함수 블록(2302))를 공유한다. GRU 셀(2300)은, 또한, 2개의 벡터들을 함께 승산하기 위한 승산기 디바이스(2303), 2개의 벡터들을 함께 가산하기 위한 가산 디바이스(2305), 1로부터 입력을 감산하여 출력을 생성하기 위한 상보적 디바이스(2309), 멀티플렉서(2304), 값 h(t-1) * r(t)를 그 값이 멀티플렉서(2304)를 통해 승산기 디바이스(2303)로부터 출력될 때 보유하기 위한 레지스터(2306), 값 h(t-1) *z(t)를 그 값이 멀티플렉서(2304)를 통해 승산기 디바이스(2303)로부터 출력될 때 보유하기 위한 레지스터(2307), 및 값 h^(t) * (1-z(t))를 그 값이 멀티플렉서(2304)를 통해 승산기 디바이스(2303)로부터 출력될 때 보유하기 위한 레지스터(2308)를 포함한다.
GRU 셀(2200)은 VMM 어레이들(2201) 및 활성화 함수 블록들(2202)의 다수의 세트들을 포함하는 반면, GRU 셀(2300)은 GRU 셀(2300)의 실시예에서 다수의 층들을 나타내는 데 사용되는 VMM 어레이들(2301) 및 활성화 함수 블록(2302)의 하나의 세트만을 포함한다. GRU 셀(2300)은 GRU 셀(2200)보다 더 적은 공간을 필요로 할 것인데, 그 이유는 GRU 셀(2300)이 GRU 셀(2200)과 비교하여 VMM들 및 활성화 함수 블록들에 대해 1/3만큼의 공간을 요구할 것이기 때문이다.
GRU 시스템들은 전형적으로 다수의 VMM 어레이를 포함할 것이며, 이들 각각은 합산기 및 활성화 회로 블록 및 고전압 생성 블록들과 같은, VMM 어레이들 밖의 소정 회로 블록들에 의해 제공되는 기능을 요구한다는 것을 추가로 알 수 있다. 각각의 VMM 어레이에 대한 별개의 회로 블록들을 제공하는 것은 반도체 디바이스 내의 상당한 양의 공간을 필요로 할 것이고 다소 비효율적일 것이다.
VMM 어레이들에 대한 입력은 아날로그 레벨, 이진 레벨, 또는 디지털 비트들일 수 있고(이 경우에 DAC가 디지털 비트들을 적절한 입력 아날로그 레벨로 변환하는 데 필요함), 출력은 아날로그 레벨, 이진 레벨, 또는 디지털 비트들일 수 있다(이 경우에 출력 ADC가 출력 아날로그 레벨을 디지털 비트들로 변환하는 데 필요함).
일반적으로, VMM 어레이 내의 각각의 메모리 셀에 대해, 각각의 가중치(W)는 단일 메모리 셀에 의해 또는 차동 셀에 의해 또는 2개의 블렌드(blend) 메모리 셀들(2개의 셀들의 평균)에 의해 구현될 수 있다. 차동 셀 경우에, 2개의 메모리 셀들은 차동 가중치(W = W+ - W-)로서 가중치(W)를 구현하는 데 필요하다. 2개의 블렌드 메모리 셀들에서, 2개의 메모리 셀들은 2개의 셀들의 평균으로서 가중치(W)를 구현하는 데 필요하다.
아날로그 신경 메모리 시스템에서 사용되는 각각의 비휘발성 메모리 셀들은 플로팅 게이트에서 매우 특정적이고 정확한 양의 전하를, 즉 전자들의 수를 보유하도록 소거되고 프로그래밍되어야 한다. 예를 들어, 각각의 플로팅 게이트는 N개의 상이한 값 중 하나를 보유해야 하며, 여기서 N은 각각의 셀에 의해 표시될 수 있는 상이한 가중치들의 수이다. N의 예들은 16, 32, 64, 128 및 256을 포함한다.
벡터x매트릭스 승산(VMM) 시스템들에서의 하나의 난제는 소거, 프로그래밍, 및 판독 동작들을 위해 특정 셀 또는 셀들의 그룹들, 또는 몇몇 경우에 셀들의 전체 어레이를 선택하는 능력이다. 관련 난제는 각각의 셀에서 누설을 감소시키고, 바람직하게는 최소화하는 것인데, 왜냐하면 누설은 시스템의 정확도에 악영향을 미칠 수 있기 때문이다.
필요한 것은 아날로그 신경 메모리 시스템 내의 비휘발성 메모리 셀들의 판독 동작들 동안 누설을 감소시키고, 바람직하게는 최소화하는 개선된 디코딩 시스템들이다.
비휘발성 메모리 셀들을 이용하는 아날로그 신경 메모리 시스템들에 대한, 판독 동작들 동안 누설을 감소시키는 개선된 디코딩 시스템들이 개시된다.
도 1은 종래 기술의 인공 신경망을 예시하는 다이어그램이다.
도 2는 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 3은 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 4는 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 5는 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 6은 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 7은 종래 기술의 적층형 게이트 플래시 메모리 셀을 도시한다.
도 8은 하나 이상의 비휘발성 메모리 어레이를 활용하는 상이한 레벨들의 예시적인 인공 신경망을 예시하는 다이어그램이다.
도 9는 벡터x매트릭스 승산 시스템을 예시하는 블록 다이어그램이다.
도 10은 하나 이상의 벡터x매트릭스 승산 시스템들을 활용하는 예시적인 인공 신경망을 예시하는 블록 다이어그램이다.
도 11은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 12는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 13은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 14는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 15는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 16은 종래 기술의 장단기 메모리 시스템을 도시한다.
도 17은 장단기 메모리 시스템에서 사용하기 위한 예시적인 셀을 도시한다.
도 18은 도 17의 예시적인 셀의 실시예를 도시한다.
도 19는 도 17의 예시적인 셀의 다른 실시예를 도시한다.
도 20은 종래 기술의 게이티드 회귀 유닛 시스템을 도시한다.
도 21은 게이티드 회귀 유닛 시스템에서 사용하기 위한 예시적인 셀을 도시한다.
도 22는 도 21의 예시적인 셀의 실시예를 도시한다.
도 23은 도 21의 예시적인 셀의 다른 실시예를 도시한다.
도 24는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 25는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 26은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 27은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 28은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 29는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 30은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 31은 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 32는 벡터x매트릭스 승산 시스템의 다른 실시예를 도시한다.
도 33은 벡터x매트릭스 승산 시스템의 예시적인 블록 다이어그램을 도시한다.
도 34는 벡터x매트릭스 승산 시스템의 예시적인 디코딩 실시예를 도시한다.
도 35는 벡터x매트릭스 승산 시스템의 다른 예시적인 디코딩 실시예를 도시한다.
도 36은 예시적인 로우 디코더를 도시한다.
도 37은 벡터x매트릭스 승산 시스템의 다른 예시적인 디코딩 실시예를 도시한다.
도 38은 벡터x매트릭스 승산 시스템의 다른 예시적인 디코딩 실시예를 도시한다.
도 39는 벡터x매트릭스 승산 시스템의 다른 예시적인 디코딩 실시예를 도시한다.
도 40은 저전압 로우 디코더의 실시예를 도시한다.
도 41은 조합된 저전압 로우 디코더와 제어 게이트 디코더의 실시예를 도시한다.
도 42는 비트 라인 디코더의 실시예를 도시한다.
도 43은 벡터x매트릭스 승산 시스템 및 입력 블록을 도시한다.
도 44는 어레이로부터 출력들을 수신하고 하나 이상의 어레이들에 다중화 방식으로 입력들을 제공하기 위한 멀티플렉서를 도시한다.
도 45a 및 도 45b는 벡터x매트릭스 승산 시스템의 예시적인 레이아웃들을 도시한다.
도 46은 벡터x매트릭스 승산 시스템의 예시적인 레이아웃을 도시한다.
도 47은 벡터 승산기 매트릭스와 함께 사용하기 위한 워드 라인 디코더 회로, 소스 라인 디코더 회로, 및 고전압 레벨 시프터(level shifter)를 도시한다.
도 48은 벡터 승산기 매트릭스와 함께 사용하기 위한 소거 게이트 디코더 회로, 제어 게이트 디코더 회로, 소스 라인 디코더 회로, 및 고전압 레벨 시프터를 도시한다.
도 49는 벡터 승산기 매트릭스와 함께 사용하기 위한 워드 라인 드라이버의 다른 실시예를 도시한다.
도 50은 벡터 승산기 매트릭스와 함께 사용하기 위한 워드 라인 드라이버의 다른 실시예를 도시한다.
도 51a는 벡터x매트릭스 승산 시스템의 다른 예시적인 디코딩 실시예를 도시한다.
도 51b는 벡터x매트릭스 승산 시스템의 또 다른 예시적인 디코딩 실시예를 도시한다.
도 52는 탠덤 디코더의 실시예를 도시한다.
도 53은 탠덤 디코더의 다른 실시예를 도시한다.
도 54는 탠덤 디코더의 다른 실시예를 도시한다.
도 55는 탠덤 디코더의 다른 실시예를 도시한다.
본 발명의 인공 신경망은 CMOS 기술과 비휘발성 메모리 어레이들의 조합을 이용한다.
VMM 어레이들에 대한 디코딩 시스템들 및 물리적 레이아웃 실시예들
도 33 내지 도 51은 도 2 내지 도 7에 대하여 이전에 설명된 메모리 셀 유형들 중 임의의 것과 함께, 또는 다른 비휘발성 메모리 셀들과 함께 사용될 수 있는 VMM 어레이들에 대한 다양한 디코딩 시스템들 및 물리적 레이아웃들을 개시한다.
도 33은 VMM 시스템(3300)을 도시한다. VMM 시스템(3300)은 VMM 어레이(3301)(이는 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1500, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 및 3200)와 같은, 이전에 논의된 VMM 어레이 설계들, 또는 다른 VMM 설계들 중 임의의 것에 기초할 수 있음), 저전압 로우 디코더(3302), 고전압 로우 디코더(3303), 컬럼 디코더(3304), 컬럼 드라이버(3305), 제어 로직(3306), 바이어스 회로(3307), 뉴런 출력 회로 블록(3308), 입력 VMM 회로 블록(3309), 알고리즘 제어기(3310), 고전압 생성기 블록(3311), 아날로그 회로 블록(3315), 및 제어 로직(3316)을 포함한다.
입력 회로 블록(3309)은 외부 입력으로부터 메모리 어레이(3301)의 입력 단자들로의 인터페이스로서의 역할을 한다. 입력 회로 블록(3309)은, 제한 없이, DAC(디지털-아날로그 변환기), DPC(디지털-펄스 변환기), APC(아날로그-펄스 변환기), IVC(전류-전압 변환기), AAC(전압-전압 스케일러와 같은 아날로그-아날로그 변환기), 또는 FAC(주파수-아날로그 변환기)를 포함할 수 있다. 뉴런 출력 블록(3308)은 메모리 어레이 출력으로부터 외부 인터페이스(도시되지 않음)로의 인터페이스로서의 역할을 한다. 뉴런 출력 블록(3308)은, 제한 없이, ADC(아날로그-디지털 변환기), APC(아날로그-펄스 변환기), DPC(디지털-펄스 변환기), IVC(전류-전압 변환기), 또는 IFC(전류-주파수 변환기)를 포함할 수 있다. 뉴런 출력 블록(3308)은, 제한 없이, 활성화 함수들, 정규화 회로부, 및/또는 재-스케일링 회로부를 포함할 수 있다.
저전압 로우 디코더(3302)는 판독 및 프로그램 동작들을 위한 바이어스 전압을 제공하고 고전압 로우 디코더(3303)를 위한 디코딩 신호를 제공한다. 고전압 로우 디코더(3303)는 프로그램 및 소거 동작들을 위한 고전압 바이어스 신호를 제공한다.
알고리즘 제어기(3310)는 프로그램, 검증, 및 소거 동작들 동안 비트 라인들에 대한 제어 기능을 제공한다.
고전압 생성기 블록(3311)은 전하 펌프(3312), 전하 펌프 조절기(3313), 및 다양한 프로그램, 소거, 프로그램 검증, 및 판독 동작들에 필요한 다수의 전압들을 제공하는 고전압 생성 회로부(3314)를 포함한다.
도 34는 메모리 셀(410)로서 도 4에 도시된 유형의 메모리 셀들과 함께 사용하기에 특히 적합한 VMM 시스템(3400)을 도시한다. VMM 시스템(3400)은 VMM 어레이들(3401, 3402, 3402, 및 3404)(이들 각각은 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1500, 2400, 2500, 2600, 2700, 2800, 2900, 3000 및 31000)와 같은, 이전에 논의된 VMM 어레이 설계들, 또는 다른 VMM 어레이 설계들 중 임의의 것에 기초할 수 있음); 저전압 로우 디코더들(3405, 3406, 3407, 및 3408); 공유된 고전압 로우 디코더(3409); 워드 라인들 또는 워드 입력 라인들(3411, 3412, 3413, 및 3414); 비트 라인들(3421, 3422, 3423, 및 3424); 제어 게이트 라인들(3432), 소스 라인들(3434), 및 소거 게이트 라인들(3434)을 포함한다. 공유된 고전압 로우 디코더(3409)는 제어 게이트 라인(3432), 소스 라인들(3434), 및 소거 게이트 라인들(3434)을 제공한다. 이러한 배열에서, 워드 라인들(3411, 3412, 3413, 및 3414)과 비트 라인들(3421, 3422, 3423, 및 3424)은 서로 평행하다. 일 실시예에서 워드 라인들과 비트 라인들은 수직 방향으로 배열된다. 제어 게이트 라인들(3432), 소스 라인 라인들(3434), 및 소거 게이트 라인들(3436)은 서로 평행하고 수평 방향으로 배열되며, 그에 따라 워드 라인들 또는 워드 입력 라인들(3411, 3412, 3413, 및 3414) 및 비트 라인들(3421, 3422, 3423, 및 3424)에 수직이다.
VMM 시스템(3400)에서, VMM 어레이들(3401, 3402, 3403, 및 3404)은 제어 게이트 라인들(3432), 소스 라인 라인들(3434), 소거 게이트 라인들(3436), 및 고전압 로우 디코더(3409)를 공유한다. 그러나, 어레이들 각각은 그 자신의 저전압 로우 디코더를 가지며, 따라서 저전압 로우 디코더(3405)가 VMM 어레이(3401)와 함께 사용되고; 저전압 로우 디코더(3406)가 VMM 어레이(3402)와 함께 사용되고; 저전압 로우 디코더(3407)가 VMM 어레이(3403)와 함께 사용되고; 저전압 로우 디코더(3408)가 VMM 어레이(3404)와 함께 사용된다. 워드 라인들(3411, 3412, 3413, 및 3414)이 수직 방향으로 배열되며, 따라서 워드 라인들(3411)이 오로지 VMM 어레이(3401)로만 라우팅될 수 있고, 워드 라인들(3412)이 오로지 VMM 어레이(3402)로만 라우팅될 수 있고, 워드 라인들(3413)이 오로지 VMM 어레이(3403)로만 라우팅될 수 있고, 워드 라인들(3414)이 오로지 VMM 어레이(3404)로만 라우팅될 수 있다는 사실이 이러한 배열에 유리하다. 이것은 워드 라인들이 동일한 고전압 디코더 및 동일한 고전압 디코딩 라인들을 공유하는 다수의 VMM 어레이들에 대해 수평 방향으로 배열되는 종래의 레이아웃을 사용하면 매우 비효율적일 것이다.
도 35는 메모리 셀(410)로서 도 4에 도시된 유형의 메모리 셀들과 함께 사용하기에 특히 적합한 VMM 시스템(3500)을 도시한다. VMM 시스템(3500)은, VMM 시스템(3500)이 판독 동작들 및 프로그래밍 동작들을 위한 별개의 워드 라인들 및 저전압 로우 디코더들을 포함한다는 점을 제외하고는, 도 33의 VMM 시스템(3300)과 유사하다.
VMM 시스템(3500)은 VMM 어레이들(3501, 3502, 3503, 및 3504)(이들 각각은 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1500, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 및 3200)와 같은, 이전에 논의된 VMM 설계, 또는 다른 VMM 어레이 설계들 중 임의의 것에 기초할 수 있음); 저전압 판독 로우 디코더들(3505, 3506, 3507, 및 3508); 공유된 저전압 프로그래밍 로우 디코더(3530); 공유된 고전압 로우 디코더(3509); 판독 워드 라인들 또는 워드 입력 라인들(3511, 3512, 3513, 및 3514); 프로그램 사전-디코딩 로우 라인(3515); 비트 라인들(3521, 3522, 3523, 및 3524); 제어 게이트 라인들(3532), 소스 라인들(3533), 및 소거 게이트 라인들(3535)을 포함한다. 공유된 고전압 로우 디코더(3509)는 제어 게이트 라인들(3532), 소스 라인(3533), 및 소거 게이트 라인들(3535)을 제공한다. 이러한 레이아웃에서, 판독 워드 라인들 또는 워드 입력 라인들(3511, 3512, 3513, 및 3514), 프로그램 사전-디코딩 로우 라인(3515), 및 비트 라인들(3521, 3522, 3523, 및 3524)은 서로 평행하고 수직 방향으로 배열된다. 제어 게이트 라인들(3532), 소스 라인들(3533), 및 소거 게이트 라인들(3535)은 서로 평행하고 수평 방향으로 배열되며, 그에 따라 판독 워드 라인들 또는 워드 입력 라인들(3511, 3512, 3513, 및 3514), 프로그램 사전-디코딩 로우 라인(3515), 및 비트 라인들(3521, 3522, 3523, 및 3524)에 수직이다. 이러한 VMM 시스템(3500)에서, 저전압 프로그래밍 로우 디코더(3530)는 다수의 VMM 어레이들에 걸쳐 공유된다.
VMM 시스템(3500)에서, VMM 어레이들(3501, 3502, 3503, 및 3504)은 제어 게이트 라인들(3532), 소스 라인들(3533), 소거 게이트 라인들(3535), 및 고전압 로우 디코더(3509)를 공유한다. 그러나, VMM 어레이들 각각은 그 자신의 저전압 판독 로우 디코더를 가지며, 따라서 저전압 판독 로우 디코더(3505)가 VMM 어레이(3501)와 함께 사용되고; 저전압 판독 로우 디코더(3506)가 VMM 어레이(3502)와 함께 사용되고; 저전압 판독 로우 디코더(3507)가 VMM 어레이(3503)와 함께 사용되고; 저전압 판독 로우 디코더(3508)가 VMM 어레이(3504)와 함께 사용된다. 판독 워드 라인들 또는 워드 입력 라인들(3511, 3512, 3513, 및 3514)이 수직 방향으로 배열되며, 따라서 워드 라인들(3511)이 오로지 VMM 어레이(3501)로만 라우팅될 수 있고, 워드 라인들(3512)이 오로지 VMM 어레이(3502)로만 라우팅될 수 있고, 워드 라인들(3513)이 오로지 VMM 어레이(3503)로만 라우팅될 수 있고, 워드 라인들(3514)이 오로지 VMM 어레이(3504)로만 라우팅될 수 있다는 사실이 이러한 레이아웃에 유리하다. 이것은 워드 라인들이 동일한 고전압 디코더 및 동일한 고전압 디코딩 라인들을 공유하는 다수의 어레이들에 대해 수평 방향으로 배열되는 종래의 레이아웃을 사용하면 매우 비효율적일 것이다. 특히, 프로그램 사전-디코딩 로우 라인(3515)은 저전압 프로그래밍 로우 디코더(3530)를 통해 VMM 어레이들(3501, 3502, 3503, 및 3504) 중 임의의 것에 접속될 수 있으며, 따라서 그 VMM 어레이들 중 하나 이상 내의 셀들이 한 번에 프로그래밍될 수 있다.
도 36은 VMM 시스템(3500)의 소정 태양들에 관한 추가적인 상세 사항, 특히 저전압 로우 디코더(3600)로서 예시된, 저전압 로우 디코더들(3505, 3506, 3507 및 3508)에 관한 상세 사항을 도시한다. 저전압 판독 로우 디코더(3600)는 워드 라인들을, 각각, VMM 어레이들(3601, 3602, 3603, 및 3604) 내의 셀들의 로우들과 선택적으로 결합하기 위해, 도시된 예시적인 스위치들과 같은, 복수의 스위치들을 포함한다. 저전압 프로그래밍 디코더(3630)는, 도시된 바와 같이 구성된, 예시적인 NAND 게이트들(3631 및 3632), PMOS 트랜지스터들(3633 및 3635) 및 NMOS 트랜지스터들(3636 및 3636)을 포함한다. NAND 게이트들(3631 및 3632)은 입력들로서 프로그램 사전-디코딩 로우 라인들(XP들)(3615)을 수신한다. 프로그램 동작 동안, 저전압 판독 로우 디코더들(3605, 3605, 3606, 및 3608) 내의 스위치들(Sp)(이들은 CMOS 멀티플렉서들 또는 다른 유형의 스위치일 수 있음)은 폐쇄되고, 이에 따라 프로그램 워드 라인(Wlp0-n)은 프로그래밍을 위한 전압들을 인가하기 위해 어레이 내의 워드 라인들에 결합된다. 판독 동작 동안, 판독 워드 라인들 또는 워드 입력 라인들(3611, 3612, 3613, 및 3614)은 저전압 판독 로우 디코더들(3605, 3606, 3607, 및 3608) 내의 Sr 스위치들(폐쇄되어 있음)(이들은 CMOS 멀티플렉서들 또는 다른 유형의 스위치일 수 있음)을 사용하여 어레이들(3601, 3602, 3603, 및 3604) 중 하나 이상 내의 로우들의 워드 라인 단자들에 전압들을 인가하도록 선택적으로 결합된다.
도 37은 메모리 셀(410)로서 도 4에 도시된 유형의 메모리 셀들과 함께 사용하기에 특히 적합한 VMM 시스템(3700)을 도시한다. VMM 시스템(3700)은 VMM 어레이들(3701, 3702, 3702, 및 3704)(이들 각각은 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1500, 2400, 2500, 2600, 2700, 2800, 2900, 3000 및 3100)와 같은, 이전에 논의된 VMM 설계, 또는 다른 VMM 어레이 설계들 중 임의의 것에 기초할 수 있음); 저전압 로우 디코더들(3705, 3706, 3707, 및 3708); 로컬 고전압 로우 디코더들(3709 및 3710); 글로벌 고전압 로우 디코더(3730); 워드 라인들(3711, 3712, 3713, 및 3714); 비트 라인들(3721, 3722, 3723, 및 3724); 고전압 및/또는 저전압(HV/LV) 사전-디코딩 라인들(3732), 소스 라인들(3733), 및 소거 게이트 라인들(3734)을 포함한다. 공유된 글로벌 고전압 로우 디코더(3730)는 HV/LV 사전-디코딩 라인들(3732), 소스 라인 라인들(3733), 및 소거 게이트 라인들(3734)을 제공한다. 이러한 레이아웃에서, 워드 라인들(3711, 3712, 3713, 및 3714)과 비트 라인들(3721, 3722, 3723, 및 3724)은 서로 평행하고 수직 방향으로 배열된다. HV/LV 사전-디코딩 라인들(3732), 소스 라인 라인들(3733), 및 소거 게이트 라인들(3734)은 서로 평행하고 수평 방향으로 배열되며, 그에 따라 워드 라인들(3711, 3712, 3713, 및 3714) 및 비트 라인들(3721, 3722, 3723, 및 3724)에 수직이다. HV/LV 사전-디코딩 라인들(3732)은 로컬 고전압 디코더들(3709 및 3710)에 입력된다. 로컬 고전압 디코더들(3709)은 VMM 어레이(3701 및 3702)를 위한 로컬 제어 게이트 라인들을 출력한다. 로컬 고전압 디코더들(3710)은 VMM 어레이(3703 및 3704)를 위한 로컬 제어 게이트 라인들을 출력한다. 다른 실시예에서, 로컬 고전압 디코더들(3709 및 3710)은 각각 VMM 어레이(3701/3702) 및 VMM 어레이(3703/3704)를 위한 로컬 소스 라인들을 제공할 수 있다. 다른 실시예에서, 로컬 고전압 디코더들(3709 및 3710)은 각각 VMM 어레이(3701/3702) 및 VMM 어레이(3703/3704)를 위한 로컬 소거 게이트 라인들을 제공할 수 있다.
여기서, 로컬 고전압 로우 디코더(3709)는 VMM 어레이들(3701 및 3702)에 의해 공유되고 로컬 고전압 로우 디코더(3710)는 VMM 어레이들(3703 및 3704)에 의해 공유된다. 글로벌 고전압 디코더(3730)는 고전압 및 저전압 사전-디코딩 신호들을 로컬 고전압 로우 디코더들(3709 및 3710)과 같은 로컬 고전압 로우 디코더로 라우팅한다. 이에 따라, 고전압 디코딩 기능은 글로벌 고전압 로우 디코더(3730)와, 로컬 고전압 디코더들(3709 및 3710)과 같은 로컬 고전압 디코더들 사이에서 분할된다.
VMM 시스템(3700)에서, VMM 어레이들(3701, 3702, 3703, 및 3704)은 HV/LV 사전-디코딩 라인들(3732), 소스 라인들(3733), 소거 게이트 라인들(3734), 및 글로벌 고전압 로우 디코더(3730)를 공유한다. 그러나, VMM 어레이들 각각은 그 자신의 저전압 로우 디코더를 가지며, 따라서 저전압 로우 디코더(3705)가 VMM 어레이(3701)와 함께 사용되고; 저전압 로우 디코더(3706)가 VMM 어레이(3702)와 함께 사용되고; 저전압 로우 디코더(3707)가 VMM 어레이(3703)와 함께 사용되고; 저전압 로우 디코더(3708)가 VMM 어레이(3704)와 함께 사용된다. 워드 라인들(3711, 3712, 3713, 및 3714)이 수직 방향으로 배열되며, 따라서 워드 라인들(3711)이 오로지 VMM 어레이(3701)로만 라우팅될 수 있고, 워드 라인들(3712)이 오로지 VMM 어레이(3702)로만 라우팅될 수 있고, 워드 라인들(3713)이 오로지 VMM 어레이(3703)로만 라우팅될 수 있고, 워드 라인들(3714)이 오로지 VMM 어레이(3704)로만 라우팅될 수 있다는 사실이 이러한 레이아웃에 유리하다. 이것은 워드 라인들이 단일 고전압 디코더를 공유하는 다수의 어레이들에 대해 수평 방향으로 배열되는 종래의 레이아웃을 사용하면 매우 비효율적일 것이다.
도 38은 메모리 셀(410)로서 도 4에 도시된 유형의 메모리 셀들과 함께 사용하기에 특히 적합한 VMM 시스템(3800)을 도시한다. VMM 시스템(3800)은 VMM 어레이들(3801, 3802, 3802, 및 3804)(이들 각각은 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1500, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 및 3200)와 같은, 이전에 논의된 VMM 설계, 또는 다른 VMM 어레이 설계들 중 임의의 것에 기초할 수 있음); 저전압 로우 디코더들(3805, 3806, 3807, 및 3808); 로컬 고전압 로우 디코더들(3809 및 3810); 글로벌 고전압 로우 디코더(3830); 비트 라인들(3821, 3822, 3823, 및 3824); 제어 게이트 라인들 또는 제어 게이트 입력 라인들(3811 및 3812), HV/LV 사전-디코딩 라인들(3833), 소스 라인들(3834), 및 소거 게이트 라인들(3835)을 포함한다. 공유된 글로벌 고전압 로우 디코더(3830)는 HV/LV 사전-디코딩 라인(3833), 소스 라인 라인들(3834), 및 소거 게이트 라인들(3835)을 제공한다. 로컬 고전압 디코더들(3809 및 3810)은 제어 게이트 입력(CG들)(3811 및 3812)을, 각각, VMM 어레이들(3801, 3802 및 3803, 3804)의 로컬 제어 게이트들에 결합한다. 저전압 로우 디코더들(3805, 3806, 3807 및 3808)은, 각각, 어레이들(3801, 3802, 3803, 3804)에 로컬(수평) 워드 라인들을 제공한다. 이러한 레이아웃에서, 제어 게이트 라인들(3811 및 3812)과 비트 라인들(3821, 3822, 3823, 및 3824)은 서로 평행하고 수직 방향으로 배열된다. 소스 라인들(3834)과 소거 게이트 라인들(3835)은 서로 평행하고 수평 방향으로 배열되며, 그에 따라 제어 게이트 라인들(3811 및 3812) 및 비트 라인들(3821, 3822, 3823, 및 3824)에 수직이다.
도 37의 VMM 시스템(3700)에서와 같이, 로컬 고전압 로우 디코더(3809)는 VMM 어레이들(3801 및 3802)에 의해 공유되고 로컬 고전압 로우 디코더(3810)는 VMM 어레이들(3803 및 3804)에 의해 공유된다. 글로벌 고전압 디코더(3830)는 신호들을 로컬 고전압 로우 디코더들(3809 및 3810)과 같은 로컬 고전압 로우 디코더로 라우팅한다. 이에 따라, 고전압 디코딩 기능은 글로벌 고전압 로우 디코더(3830)와, (로컬 소스 라인 라인들 및/또는 로컬 소거 게이트 라인들을 제공할 수 있는) 로컬 고전압 디코더들(3809 및 3810)과 같은 로컬 고전압 디코더들 사이에서 분할된다.
VMM 시스템(3800)에서, VMM 어레이들(3801, 3802, 3803, 및 3804)은 HV/LV 사전-디코딩 라인들(3833), 소스 라인 라인들(3834), 소거 게이트 라인들(3835), 및 글로벌 고전압 로우 디코더(3830)를 공유한다. 그러나, VMM 어레이들 각각은 그 자신의 저전압 로우 디코더를 가지며, 따라서 저전압 로우 디코더(3805)가 VMM 어레이(3801)와 함께 사용되고; 저전압 로우 디코더(3806)가 VMM 어레이(3802)와 함께 사용되고; 저전압 로우 디코더(3807)가 VMM 어레이(3803)와 함께 사용되고; 저전압 로우 디코더(3808)가 VMM 어레이(3804)와 함께 사용된다. 판독 라인들 또는 입력 라인들일 수 있는 제어 게이트 라인들(3811 및 3812)이 수직 방향으로 배열되며, 따라서 제어 게이트 라인들(3811)이 오로지 VMM 어레이들(3801 및 3802)로만 라우팅될 수 있고 제어 게이트 라인들(3812)이 오로지 VMM 어레이들(3803 및 3804)로만 라우팅될 수 있다는 사실이 이러한 레이아웃에 유리하다. 이것은 워드 라인들이 수평 방향으로 배열되는 종래의 레이아웃을 사용하면 가능하지 않을 것이다.
도 39는 도 3에 메모리 셀(310)로서, 도 4에 메모리 셀(410)로서, 도 5에 메모리 셀(510)로서, 또는 도 7에 메모리 셀(710)로서 도시된 유형의 메모리 셀들과 함께 사용하기에 특히 적합한 VMM 시스템(3900)을 도시한다. VMM 시스템(3900)은 VMM 어레이들(3901 및 3902)(이들 각각은 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1500, 2400, 2500, 2600, 2700, 2800, 2900, 3000, 3100, 및 3200)와 같은, 이전에 논의된 VMM 설계, 또는 다른 VMM 어레이 설계들 중 임의의 것에 기초할 수 있음); 저전압 로우 디코더들(3903)(어레이들(3901 및 3902)과 함께 사용됨); 로컬 고전압 로우 디코더(3905), 글로벌 고전압 로우 디코더(3904); 제어 게이트 라인들(3908 및 3909); 및 비트 라인들(3906 및 3907)을 포함한다. 이러한 레이아웃에서, 제어 게이트 라인들(3908)은 오로지 VMM 어레이(3901)에 의해서만 사용되고 제어 게이트 라인들(3909)은 오로지 VMM 어레이(3902)에 의해서만 사용된다. 저전압 로우 디코딩 라인(3910)은 글로벌 고전압 로우 디코더(3904)에 대한 디코딩 입력으로서 사용된다. 글로벌 고전압 로우 디코딩 라인(3911)은 로컬 고전압 디코더(3905)에 대한 디코딩 입력으로서 사용된다.
로컬 고전압 로우 디코더(3905)는 VMM 어레이들(3901 및 3902)에 의해 공유된다. 글로벌 고전압 디코더(3904)는 신호들을 VMM 시스템(3900)의 로컬 고전압 로우 디코더(3905)와 같은, 다수의 VMM 시스템들의 로컬 고전압 로우 디코더로 라우팅한다. 이에 따라, 고전압 디코딩 기능은 전술된 바와 같이 글로벌 고전압 로우 디코더(3904)와, 로컬 고전압 디코더(3905)와 같은 로컬 고전압 디코더들 사이에서 분할된다.
VMM 시스템(3900)에서, VMM 어레이들(3901 및 3902)은 워드 라인들(도시되지 않음), 존재하는 경우 소스 게이트 라인들(도시되지 않음), 존재하는 경우 소거 게이트 라인들(도시되지 않음), 및 글로벌 고전압 로우 디코더(3904)를 공유한다. 여기서, VMM 어레이들(3901 및 3902)은 저전압 로우 디코더(3903)를 공유한다. VMM 어레이들(3901 및 3902)이 제어 게이트 라인들을 공유하지 않는다는 사실이 이러한 레이아웃에 유리한데, 그것은 각각의 어레이가, 각각, 제어 게이트 라인들(3908 및 3909)을 사용하여 독립적으로 액세스될 수 있게 한다.
도 51a는 메모리 셀(410)로서 도 4에 도시된 유형의 메모리 셀들과 함께 사용하기에 특히 적합한 VMM 시스템(5100)을 도시한다. VMM 시스템(5100)은 VMM 어레이들(5101, 5102, 5103, 및 5104)(이들 각각은 VMM 어레이(1000, 1100, 1200, 1300, 1400, 1510, 2400, 2510, 2600, 2700, 2800, 2900, 3000, 3100, 및 3200)와 같은, 이전에 논의된 VMM 어레이 설계들, 또는 다른 VMM 어레이 설계들 중 임의의 것에 기초할 수 있음); 고전압 디코더(5130); 라우팅 블록들(5151 및 5152); 입력 워드 라인들(5111 및 5112), 비트 라인들(5121, 5122, 5123, 및 5124); 제어 게이트 라인들(5132), 소스 라인들(5133), 및 소거 게이트 라인들(5134)을 포함한다. 고전압 디코더(5130)는 제어 게이트 라인들(5132), 소스 라인들(5133), 및 소거 게이트 라인들(5134)을 위한 신호들을 제공한다. 라우팅 블록들(5151, 5152)은, 수직으로 수용되는, 각각, 입력 워드 라인들(5111 및 5112)이 VMM 어레이들(5101-5104)의 수평으로-이어지는 워드 라인들로 라우팅되는 곳이다. 대안적으로, 라우팅 블록들(5151, 5152)은 수직으로 수용되는 제어 게이트 입력 라인들(5132)을 VMM 어레이들의 수평으로-이어지는 제어 게이트 라인들(5132)로 라우팅할 수 있다.
도 51b는, 비트 라인들이 어레이의 하부로부터뿐만 아니라 상부로부터 라우팅될 수 있고 제어 게이트들(CG들)이 어레이의 좌측으로부터뿐만 아니라 어레이의 우측으로부터 라우팅될 수 있다는 것을 제외하고는, 모든 점에서 VMM 시스템(5100)과 동일한 VMM 시스템(5150)을 도시한다. 이것은 어레이의 양측이 비트 라인 라우팅 또는 제어 게이트(또는 워드 라인) 라우팅에 사용될 수 있다는 것을 의미한다. 단자들(BL, CG, WL)이 밖으로 라우팅되는 어레이의 각각의 측에서 로컬 디코더 또는 먹싱(muxing)이 필요할 수 있다. 이러한 라우팅 방법은 예를 들어 신경 판독 모드(신경망 추론 모드)에 필요하다.
도 40은 NAND 게이트(4001), PMOS 트랜지스터(4002), 및 NMOS 트랜지스터(4003)를 포함하는 저전압 로우 디코더(4000)를 도시한다. NAND 게이트(4001)는 로우 어드레스 신호들(4004)을 수신한다. PMOS 트랜지스터(4002)는 수직 워드 라인 입력들(4005)에 결합된다. 출력은 각자의 VMM 어레이들에 결합되는, 많은 워드 라인들 중 하나인, 수평 워드 라인들(4006) 상에 있다. 이 예에서, 총 16개의 워드 라인들이 있고, 그에 따라 각각이 16개의 워드 라인들 중 하나를 출력하는, 로우 디코더(4000)의 16개의 인스턴스화(instantiation)들이 있을 것이다. 이에 따라, 수신된 로우 어드레스 신호에 기초하여, 워드 라인(4006)과 같은 하나의 워드 라인은 전압과 같은 각자의 신호를 출력할 것이고, 다른 워드 라인들은 접지로 설정될 것이다.
도 41은 여기서 NAND 게이트(4101), PMOS 트랜지스터(4102), NMOS 트랜지스터(4103), 로우 어드레스 신호들(4104), 수직 입력 워드 라인 라인들(4105), 및 VMM 어레이들의 워드 라인들에 결합되는 수직 워드 출력 라인(4106)을 포함하는, 도 40에서와 같이 저전압 로우 디코더를 포함하는, 조합된 공동-선택/선택해제 워드 라인과 제어 게이트 디코더(4100)를 도시한다. 조합된 워드 라인과 제어 게이트 디코더(4100)는 인버터(4107), 스위치들(4108 및 4112), 및 아이솔레이션 트랜지스터(4109)를 추가로 포함하고, 제어 게이트 입력(4110)(CGIN0)을 수신하고 제어 게이트 라인(4111)(CG0)을 출력한다. 워드 라인 출력(4106)(WL0)과 제어 게이트 출력(CG0)(4111)은 NAND 게이트(4101)를 제어하는 디코딩 로직(도시되지 않음)에 의해 동시에 선택되거나 선택해제된다.
도 42는 VMM 어레이들(4201 및 4202) 상에서 동작하는 비트 라인 디코더(4200)를 도시한다. 비트 라인 디코더(4200)는 컬럼 멀티플렉서(4203)(프로그램 및 검증을 위해 하나 이상의 비트 라인들을 선택하기 위한 것, 여기서 검증 동작은 튜닝 동작(프로그램 또는 소거 동작) 동안 셀 전류가 소정 타겟에 도달하는 것을 확인하는 데 사용됨), 및 감지 증폭기들(4204)(하나 이상의 비트 라인들 상에서 판독 동작을 수행하기 위한 것)을 포함한다. 도시된 바와 같이, 로컬 비트 라인 mux(4201b 및 4202b)는 로컬 어레이 비트 라인들을 컬럼 멀티플렉서(4203)에 결합될 글로벌 비트 라인들(4220x)에 먹싱한다. 감지 증폭기는 ADC 또는 다른 디바이스를 포함한다. 이에 따라, 비트 라인 디코더(4200)는 다수의 어레이들에 걸쳐 공유된다.
도 43은 VMM 어레이들(4301, 4302, 4303, 및 4304); 저전압 로우 디코더들(4305 및 4307); 로컬 고전압 로우 디코더들(4306 및 4308), 글로벌 고전압 로우 디코더(4309), 디지털 버스 입력들 QIN[7:0](4311 및 4312)(이들은 여기서 VMM 어레이에 대한 입력들임), 및 비트 라인들(4321, 4322, 4323, 및 4324)을 포함하는 VMM 시스템(4300)을 도시한다. 저전압 로우 디코더(4305)와 같은 각각의 저전압 로우 디코더는 예시적인 데이터 입력 블록(4331)(이는 8개의 래치(latch)들 또는 레지스터들로 이루어질 수 있음), 및 워드 라인 상에 신호(4333)를 출력하는 블록(4332)(이는 데이터-전압 변환기 회로들 또는 데이터-펄스 변환기 회로들을 포함할 수 있음)과 같은, 각각의 워드 라인에 대한 회로 블록 로우 디코더(4335)를 포함한다. 이에 따라, 이러한 저전압 로우 디코더에 대한 입력은 적절한 제어 로직을 갖는 디지털 버스 QIN [7:0]이다. 각각의 회로 블록 로우 디코더(4335)에 대해, 디지털 입력 QIN [7:0](4311 및 4312)은 예를 들어 동기 클록킹 수단 및 방법에 의해(예를 들어 직렬-병렬 클록킹 인터페이스에 의해) 적절히 래칭된다.
도 44는 VMM 어레이로부터(예를 들어 ADC로부터) 출력들을 수신하고 다른 VMM 어레이들(예를 들어 DAC 또는 DPC)의 입력 블록들에 다중화 방식으로 그룹들을 지어 그 출력들을 제공하는, 신경망 어레이 입력-출력 버스 멀티플렉서(4400)를 도시한다. 도시된 예에서, 입력-출력 버스 멀티플렉서(4400)에 대한 입력들은 2048 비트들(각각 8 비트들의 256개 세트들, NEU0...NEU255)을 포함하고, 입력-출력 버스 멀티플렉서(4400)는 그 비트들을 그룹당 32 비트들의 64개 상이한 그룹들로 제공하며, 여기서 그것은 상이한 그룹들 사이에서, 예를 들어 시간-분할 다중화를 사용함으로써 다중화한다(여기서 그것은 임의의 주어진 시간에 32 비트들의 1개 그룹을 제공한다). 제어 로직(4401)은 입력-출력 버스 멀티플렉서(4400)를 제어하기 위한 제어 신호들(4402)을 생성한다.
도 45a 및 도 45b는 워드 라인들이 수평 방식으로(도 45a) 대 수직 방식으로(도 45b, 도 34 또는 도 35에서와 같이) 레이 아웃되는 VMM 어레이들의 예시적인 레이아웃들을 도시한다.
도 46은 워드 라인들이 (도 34 또는 도 35에서와 같이) 수직 방식으로 레이 아웃되는 VMM 어레이의 예시적인 레이아웃을 도시한다. 그러나, 이 레이아웃에서, 2개의 워드 라인들(예를 들어 워드 라인들(4601 및 4602))은 동일한 컬럼을 점유할 수 있지만, (그들 사이의 갭으로 인해) 어레이 내의 상이한 로우들에 액세스한다.
도 47은 도 2에 도시된 유형의 메모리 셀들과 함께 사용하기에 적절한, 워드 라인 디코더 회로(4701), 소스 라인 디코더 회로(4704), 및 고전압 레벨 시프터(4708)를 포함하는, VMM 고전압 디코드 회로들을 도시한다.
워드 라인 디코더 회로(4701)는 도시된 바와 같이 구성된 PMOS 선택 트랜지스터(4702)(신호 HVO_B에 의해 제어됨) 및 NMOS 선택해제 트랜지스터(4703)(신호 HVO_B에 의해 제어됨)를 포함한다.
소스 라인 디코더 회로(4704)는 도시된 바와 같이 구성된 NMOS 모니터 트랜지스터들(4705)(신호 HVO에 의해 제어됨), 구동 트랜지스터(4706)(신호 HVO에 의해 제어됨), 및 선택해제 트랜지스터(4707)(신호 HVO_B에 의해 제어됨)를 포함한다.
고전압 레벨 시프터(4708)는 인에이블 신호 EN을 수신하고 고전압 신호 HV 및 그의 상보물 HVO_B를 출력한다.
도 48은 도 3에 도시된 유형의 메모리 셀들과 함께 사용하기에 적절한, 소거 게이트 디코더 회로(4801), 제어 게이트 디코더 회로(4804), 소스 라인 디코더 회로(4807), 및 고전압 레벨 시프터(4811)를 포함하는, VMM 고전압 디코드 회로들을 도시한다.
소거 게이트 디코더 회로(4801) 및 제어 게이트 디코더 회로(4804)는 도 47에서의 워드 라인 디코더 회로(4701)와 동일한 설계를 사용한다.
소스 라인 디코더 회로(4807)는 도 47에서의 소스 라인 디코더 회로(4704)와 동일한 설계를 사용한다.
고전압 레벨 시프터(4811)는 도 47에서의 고전압 레벨 시프터(4708)와 동일한 설계를 사용한다.
도 49는 워드 라인 드라이버(4900)를 도시한다. 워드 라인 드라이버(4900)는 (여기에 도시된 예시적인 워드 라인들(WL0, WL1, WL2, 및 WL3)과 같은) 워드 라인을 선택하고 그 워드 라인에 바이어스 전압을 제공한다. 각각의 워드 라인은 제어 라인(4902)에 의해 제어되는, 선택 트랜지스터(4901)와 같은, 선택 아이솔레이션 트랜지스터에 부착된다. 선택 트랜지스터(4901)와 같은 선택 트랜지스터들은 저전압(예를 들어, 1.8V, 3.3V)에서 동작하는 IO 트랜지스터들로 구현될 수 있는 워드 라인 디코딩 트랜지스터들로부터 소거 동작 동안 사용되는 고전압(예를 들어, 8-12V)을 격리시킨다. 여기서, 임의의 동작 동안, 제어 라인(4902)은 활성화되고 선택 트랜지스터(4901)와 유사한 모든 선택 트랜지스터들은 턴온된다. 예시적인 바이어스 트랜지스터(4903)(워드 라인 디코딩 회로의 일부)가 워드 라인을 제1 바이어스 전압(예컨대, 3V)에 선택적으로 결합하고, 예시적인 바이어스 트랜지스터(4904)(워드 라인 디코딩 회로의 일부)가 워드 라인을 제2 바이어스 전압(제1 바이어스 전압보다 낮음, 접지, 접지와 제1 바이어스 전압 사이의 바이어스, 또는 미사용 메모리 로우들로부터의 누설을 감소시키기 위한 네거티브 전압 바이어스를 포함함)에 선택적으로 결합한다. ANN(아날로그 신경망) 판독 동작 동안, 모든 사용된 워드 라인들이 선택되고 제1 바이어스 전압에 결부될 것이다. 모든 미사용 워드 라인들이 제2 바이어스 전압에 결부된다. 프로그램 동작과 같은 다른 동작들 동안, 하나의 워드 라인만이 선택될 것이고, 다른 워드 라인들은 어레이 누설을 감소시키기 위한 네거티브 바이어스(예컨대, -0.3 내지 -0.5V 또는 그 초과)일 수 있는 제2 바이어스 전압에 결부될 것이다.
바이어스 트랜지스터들(4903 및 4904)은 시프트 레지스터(4905)의 스테이지(4906)의 출력들에 결합된다. 시프트 레지스터(4905)는 각각의 로우가 입력 데이터 패턴(이는 ANN 동작의 시작 시에 로딩됨)에 따라 독립적으로 제어될 수 있게 한다.
도 50은 워드 라인 드라이버(5000)를 도시한다. 워드 라인 드라이버(5000)는, 각각의 선택 트랜지스터가 커패시터(5001)와 같은 커패시터에 추가로 결합된다는 것을 제외하고는, 워드 라인 드라이버(4900)와 유사하다. 커패시터(5001)는 라인(5003) 상의 전압을 샘플링하기 위해 트랜지스터(5002)에 의해 인에이블되는 동작의 시작 시에 워드 라인에 사전-충전 또는 바이어스를 제공할 수 있다. 커패시터(5001)는 각각의 워드 라인에 대한 입력 전압을 샘플 앤드 홀드(sample and hold, S/H)하도록 작용한다. 트랜지스터들(5004 및 5005)은 VMM 어레이의 ANN 동작(어레이 전류 합산기 및 활성화 함수) 동안 오프인데, 이는 S/H 커패시터(5001) 상의 전압이 각자의 워드 라인에 대한 (플로팅) 전압 소스로서의 역할을 할 것임을 의미한다. 대안적으로, 커패시터(5001)는 VMM 어레이로부터의 워드 라인 커패시턴스에 의해(또는 입력이 제어 게이트 상에 있는 경우 제어 게이트 커패시턴스로서) 제공될 수 있다.
탠덤 로우 디코더들
도 52 내지 도 55는 탠덤 디코더의 실시예들을 도시한다. 탠덤 디코더는 어레이 누설을 감소시키고, 바람직하게는 최소화한다. 신경 판독 동안, 미사용 로우들은 바람직하게는 어레이 누설을 감소시키기 위해 차단된다. 종래 기술에서, 워드 라인 디코더는 전형적으로 제어 게이트 디코더를 구동하는 데 사용되고, 제어 게이트 스위칭은 미사용 셀들을 스위칭하는 데 사용된다. 이것은 전류 디케이드(current decade)들의 수/VCG I-V(예를 들어, 2개의 전류 디케이드들/1V) 곡선 특성으로 인해 높은 전류 레벨들에 대해 최적이 아닌데; 즉, 제어 게이트 라인 상의 전류는 제어 게이트(CG) 전압이 1V만큼 감소될 때 약 100nA로부터 1nA로 변할 것이다. 탠덤 디코더는 종래 기술의 이러한 한계를 극복한다.
하기의 예들에서, 검증 동작 동안, 워드 라인 디코더가 제어 게이트 디코더를 오버드라이브하는 것이 요구되는데, 이는 워드 라인 상태가 변할 때까지 제어 게이트 상태가 변하지 않음을 의미한다. 판독 신경 동작 동안, 제어 게이트 디코더는 워드 라인 디코더를 오버드라이브하는데, 이는 제어 게이트 라인 상태가 변할 때까지 워드 라인 상태가 변하지 않음을 의미한다.
도 52는 제어 게이트 디코더(5202)에 결합된 워드 라인 디코더(5201)를 포함하는 탠덤 로우 디코더(5200)를 도시한다. 이 예에서, 탠덤 로우 디코더(5200)는 어레이 내의 로우 0에 대해 사용된다. 어레이 내의 다른 로우들 모두는 그것에 할당된 유사한 탠덤 로우 디코더를 가질 것이다.
워드 라인 디코더(5201)는, 도시된 바와 같이 구성된, 인버터로서 배열된 PMOS 트랜지스터(5203) 및 NMOS 트랜지스터(5204), NAND 게이트(5205), NAND 게이트(5206), 및 인버터(5207)를 포함한다. 제어 게이트 디코더(5202)는, 도시된 바와 같이 구성된, NAND 게이트(5208), 인버터(5209), NAND 게이트(5210), 인버터(5211), 스위치(5212), 스위치(5213), 및 패스 게이트로서의 역할을 하는 아이솔레이션 NMOS 트랜지스터(5214)(이는 아이솔레이션 트랜지스터로서의 역할을 함, 비휘발성 동작 시의 CG 상의 고전압 레벨 - 고전압 레벨은 고전압 회로로부터 공급됨 - 을 인버터(5211) 및 스위치들(5212 및 5213)로부터의 로직 신호로부터 격리시키기 위해, 그의 게이트는 Vdd와 같은 중간 전압에 접속됨)를 포함한다.
(검증 동작 동안과 같이) 워드 라인(WL0)이 제어 게이트(CG0)를 오버드라이브(디스에이블 또는 인에이블)하는 것이 요구되는 모드에 진입할 때, NAND 게이트(5208)의 하나의 입력에 공급되는 제어 신호 CFG_ENWL은 "1"로 설정될 것이고 NAND 게이트(5206)의 하나의 입력에 공급되는 CFG_ENCG는 "0"으로 설정될 것이다. (판독 신경 동작 동안과 같이) 제어 게이트 라인(CG0)이 워드 라인(WL0)을 오버드라이브(디스에이블 또는 인에이블)하는 것이 요구되는 모드에 진입할 때, 제어 신호 CFG_ENCG는 "1"로 설정될 것이고 CFG_ENWL은 "0"으로 설정될 것이다. 로우 0이 전혀 사용되고 있지 않는 모드에 진입하는 경우, CFG_ENWL 및 CFG_ENCG는 둘 모두가 "0"으로 설정되는데, 이는 탠덤 디코더(5200)가 인에이블되지 않음을 의미한다. 로우 0이 전혀 사용되고 있지 않는 모드에서, 각각의 워드 라인(WL) 디코더 및 각각의 제어 게이트(CG) 디코더는 개별적으로(따로따로) 인에이블/디스에이블될 필요가 있다.
첫째로, 탠덤 디코더(5200)가 인에이블되지 않는(즉, CFG_ENWL 및 CFG_ENCG = "0") 모드가 논의될 것이다. CFG_ENCG 및 CFG_ENWL이 "0"일 때, NAND 게이트들(5206 및 5208)의 출력들은 각각 각각의 NAND 게이트의 다른 입력들의 값들에 관계없이 "1"일 것이다. 로우 0이 어드레싱되고 있지 않기 때문에 사전-디코딩된 어드레스 라인들 ENX0...ENXn이 표명되지 않음에 따라 NAND 게이트(5205)의 출력은 "1"일 것이다. 그에 따라 PMOS 트랜지스터(5203)는 턴오프될 것이고 NMOS 트랜지스터는 턴온될 것이며, 따라서 WL0이 "0"일 것이다. 입력 CFG_ENWL이 "0"이기 때문에 NAND 게이트(5208)의 출력은 "1"일 것이고, 로우 0이 어드레싱되고 있지 않기 때문에 사전-디코딩된 라인들 ENG0...ENGn이 표명되지 않음에 따라 NAND 게이트(5210)의 출력은 "1"일 것이다. 그에 따라 스위치(5213)는 폐쇄될 것이다. 인버터(5211)의 출력은 "0"일 것이고, 이는 스위치(5212)를 개방할 것이다. 스위치(5213)는, 폐쇄 상태에서, 패스 게이트(5214)에 대한 입력을 낮게 풀링(pulling)할 것이고, 출력 CG0은 "0"일 것이다. 이에 따라, 사전-디코딩된 라인들이 표명되지 않는 이러한 모드에서, WL0 및 CG0은 "0"으로 풀링될 것이며, 이는 탠덤 디코더(5200)가 사용되고 있지 않기 때문에 원하는 상태이다. 특히, 메모리 셀들은 임의의 주목할 만한 누설 전류를 나타내지 않을 것인데, 왜냐하면 둘 모두의 단자(WL0 및 CG0)가, 각각, 풀 다운 트랜지스터(5204) 및 스위치(5213)(전형적으로, 또한 NMOS 트랜지스터)를 통해 접지로 풀링되기 때문이다.
둘째로, 탠덤 디코더(5200)가 인에이블되고 워드 라인(WL0)이 제어 게이트(CG0)를 오버드라이브(인에이블 또는 디스에이블)하는 모드가 논의될 것이다. CFG_ENCG는 "0"으로 설정될 것이고 CFG_ENWL은 "1"로 설정될 것이다. NAND 게이트(5206)의 출력은 다른 입력에서 수신된 값에 관계없이 "1"일 것이다. 이 경우에, 로우 0에 대응하는 어드레스가 수신되고, 따라서 NAND(5205)에 대한 입력들 ENX0...ENXn은 각각 "1"일 것이다 - 이는 NAND(5205)의 출력이 "0"일 것임을 의미함 - 는 것이 가정된다. PMOS 트랜지스터(5203)는 턴온될 것이고, NMOS 트랜지스터(5204)는 턴오프될 것이고, WL0은, 특히, e 워드 라인 바이어스 전압(WLBIAS)을 향해 "1"로 풀링될 것이다. 인버터(5209)에 대한 입력은 "1"일 것이고, 인버터(5209)의 출력은 "0"일 것이고, NAND 게이트(5208)의 출력은 "1"일 것이다. 이 경우에, 로우 0에 대응하는 어드레스가 수신되고, 따라서 NAND(5210)에 대한 입력들 ENG0...ENGn은 각각 "1"일 것이다 - 이는 NAND 게이트(5210)의 출력이 "0"일 것이고, 이는 스위치(5213)를 개방할 것임을 의미함 - 는 것이 가정된다. 인버터(5211)의 출력은 "1"일 것이고, 스위치(5212)는 폐쇄(인에이블)될 것이고, 전술된 바와 같이 스위치(5213)는 개방(디스에이블)될 것이고, 패스 게이트(5214)는 이미 온이고, 제어 게이트(CG0)는 입력 CGIN0으로 풀링될 것이다. CG0은 WL0이 "0"으로부터 "1"로 스위칭할 때까지 "0"으로부터 제어 게이트 바이어스 전압 CGIN0으로 스위칭하지 않을 것인데, 왜냐하면 그것이 발생할 때까지, NAND 게이트(5208)는 "0"을 출력할 것이기 때문이다.
셋째로, 탠덤 디코더(5200)가 인에이블되고 ENCGIN을 인에이블하는 제어 게이트 또는 제어 게이트(CG0)가 워드 라인(WL0)을 오버드라이브(인에이블 또는 디스에이블)하는 모드가 논의될 것이다. CFG_ENCG는 "1"로 설정될 것이고 CFG_ENWL은 "0"으로 설정될 것이다. NAND 게이트(5208)의 출력은 다른 입력에서 수신된 값에 관계없이 "1"일 것이다. 이 경우에, 로우 0에 대응하는 어드레스가 수신되고, 따라서 NAND(5210)에 대한 입력들 ENG0...ENGn은 각각 "1"일 것이다 - 이는 NAND(5210)의 출력이 "0"일 것임을 의미함 - 는 것이 가정된다. 인버터(5211)의 출력은 "1"일 것이고, 스위치(5212)는 폐쇄될 것이고, 스위치(5213)는 개방될 것이고, CG0은 입력 CGIN0으로 구동될 것이다. 인버터(5207)에 대한 입력은 "1"일 것이고, 인버터(5207)의 출력은 "0"일 것이고, NAND 게이트(5206)의 출력은 "1"로 스위칭할 것이다. 이 경우에, 로우 0에 대응하는 어드레스가 수신되고, 따라서 NAND(5205)에 대한 입력들 ENX0...ENXn은 각각 "1"일 것이다 - 이는 표명되는 NAND 게이트(5206)의 출력(즉, = '1')을 가정하여 NAND(5205)의 출력이 "0"일 것임을 의미함 - 는 것이 가정된다. PMOS 트랜지스터(5203)는 턴온될 것이고 NMOS 트랜지스터(5204)는 턴오프될 것이고, 그 결과 출력 WL0은 "1"이다. 이러한 제3 모드(CG 디코딩이 WL 디코딩을 오버드라이브함)에서, WL0은 CG0이 "0"으로부터 "1"로 스위칭할 때까지 스위칭하지 않을 것인데, 왜냐하면 그것이 발생할 때까지, NAND 게이트(5206)가 "0"을 출력할 것이기 때문이다.
모드들에 따라 도시된 바와 같이, WL0(WL 디코딩)은 교차 라인 방식으로(WL0 상호접속 라인 및 CG0 상호접속 라인) CG0(CG 디코딩)을 인에이블/디스에이블하는 데 사용되고 그 반대도 마찬가지이다.
도 53은 제어 게이트 디코더(5302)에 결합된 워드 라인 디코더(5301)를 포함하는 탠덤 로우 디코더(5300)를 도시한다. 이 예에서, 탠덤 로우 디코더(5300)는 어레이 내의 로우 0에 대해 사용된다. 어레이 내의 다른 로우들 모두는 그것에 할당된 유사한 탠덤 로우 디코더를 가질 것이다. 워드 라인 디코더(5301)는 도 52에서의 워드 라인 디사이더(5201)와 동일하다. 제어 게이트 디코더(5302)는, 제어 게이트 디코더(5302)로부터 인버터(5207)로의 결합이 (도 52에서와 같이) 스위치(5212)의 상류측으로부터 출력 노드 CG0으로 이동되었고, 이에 따라 CG0이 "0"으로부터 제어 게이트 바이어스 전압 "CGIN0" - "CGIN0"은 기준 레벨, 예를 들어 0.5V 이상과 같은 충분히 높은 전압 레벨에 있음 - 으로 스위칭할 때까지 WL0이 "0"으로부터 "1"로 스위칭하지 않을 것을 보장한다는 점을 제외하고는, 도 52에서의 제어 게이트 디코더(5202)와 동일하다. 탠덤 로우 디코더(5300)는 그 외에는
탠덤 로우 디코더(5200)와 동일한 방식으로 동작한다. 인버터(5207)는 전력 공급의 대략 절반인 트립 포인트를 갖는 비교기로서의 역할을 하는데, 이는 CG0 < ~ 0.5Vdd인 경우, 그의 출력 = '1'임을 의미한다. 입력 전압 레벨 IN(즉, CG0) < 기준 전압 레벨 VREF(예를 들어, 0.5V)인 경우, 그의 출력 OUT = '1'인 비교기(5207B)를 갖는 다른 실시예가 삽도에 도시되어 있다. 유사하게, 인버터(5209)는 비교기(5207B)와 유사한 비교기로서 구현될 수 있다.
도 54는 워드 라인 디코더(5401) 및 제어 게이트 디코더(5402)를 포함하는 탠덤 로우 디코더(5400)를 도시한다. 이 예에서, 탠덤 로우 디코더(5400)는 어레이 내의 로우 0에 대해 사용된다. 어레이 내의 다른 로우들 모두는 그것에 할당된 유사한 탠덤 로우 디코더를 가질 것이다. 로우 디코더(5400)는 각각의 워드 라인 또는 각각의 제어 게이트 라인을 인에이블 또는 디스에이블하기 위한 각자의 로컬 래치를 사용한다. 대안적으로, 하나의 래치가 각각의 워드 라인 및 제어 게이트 라인을 함께 탠덤으로 인에이블/디스에이블하는 데 사용될 수 있다.
워드 라인 디코더(5401)는, 도시된 바와 같이 구성된, PMOS 트랜지스터(5403), NMOS 트랜지스터(5404), NAND 게이트(5405), 및 래치(5406)를 포함한다. 제어 게이트 디코더(5402)는, 도시된 바와 같이 구성된, NAND 게이트(5408), 래치(5409), 인버터(5410), 스위치(5411), 스위치(5412), 및 패스 게이트(5413)를 포함한다.
탠덤 로우 디코더(5400)는 EN_LATWL/EN_LATCG 및 DINLAT를 "1"로 설정함으로써 인에이블되며, 이는 워드 라인 디코더(5401) 및 제어 게이트 디코더(5402)를 인에이블한다. 이 경우에, 로우 0이 선택되고 있고, 따라서 디코드 어드레스 신호들 ENX0...ENXn 및 ENG0...ENGn은 모두 "1"일 것이다. 이것이 발생할 때, 래치(5406)의 출력은 "1"로 설정될 것이고, NAND 게이트(5405)의 출력은 "0"일 것이고, PMOS 트랜지스터(5403)는 턴온될 것이고, NMOS 트랜지스터(5404)는 턴오프될 것이다. WL0은 "1"인 WLBIAS로 높게 구동될 것이다. 래치(5409)의 출력은 EN_LATCG 및 DINLAT가 "1"로 설정될 때 "1"로 설정될 것이고, NAND 게이트(5408)의 출력은 "0"일 것이고, 인버터(5410)의 출력은 "1"일 것이고, 스위치(5411)는 폐쇄될 것이고, 스위치(5412)는 개방될 것이다. CGO은 입력 CGIN0 레벨로 구동될 것이다.
탠덤 로우 디코더(5400)가 인에이블되지 않을 때, EN_LATWL/EN_LATCG는 "1"로 설정될 것이고 DINLAT는 "0"으로 설정될 것이고, 그 결과 워드 라인 디코더(5401) 및 제어 게이트 디코더가 인에이블되지 않는다. 수신된 어드레스 신호들 및 EN0의 상태에 관계없이, 래치(5406)의 출력은 "0"일 것이고, NAND 게이트(5405)의 출력은 "1"일 것이고, PMOS 트랜지스터(5403)는 턴오프될 것이고, NMOS 트랜지스터(5404)는 턴온될 것이고, 이는 WL0을 "0"인 접지로 풀링 다운한다. 래치(5409)의 출력이 또한 "0"일 것이고, NAND 게이트(5408)의 출력은 "1"일 것이고, 인버터(5410)의 출력은 "0"일 것이고, 스위치(5411)는 개방될 것이고, 스위치(5412)는 폐쇄될 것이고, CG0은 스위치(5412)를 통해, "0"인, 접지로 풀링 다운될 것이다. 특히, WL0 또는 CG0으로 인한 메모리 셀에서의 주목할 만한 누설 전류가 없을 것인데, 왜냐하면 둘 모두의 단자(WL0 및 CG0)가 풀 다운 트랜지스터(5404) 및 스위치(5412)(전형적으로, 또한 NMOS 트랜지스터)를 통해 접지로 풀링되기 때문이다.
도 55는 워드 라인 디코더(5501) 및 제어 게이트 디코더(5502)를 포함하는 탠덤 로우 디코더(5500)를 도시한다. 이 예에서, 탠덤 로우 디코더(5500)는 어레이 내의 로우 0에 대해 사용된다. 어레이 내의 다른 로우들 모두는 그것에 할당된 유사한 탠덤 로우 디코더를 가질 것이다. 이 디코더는 예를 들어 높은 전력 공급 Vdd 초과(WLBIASH > Vdd) 또는 접지 레벨 미만(WLBIASL < 0V, 메모리 셀 누설을 더욱 더 감소시키기 위해 -0.4V 내지 -1V와 같은 네거티브 레벨)과 같이 출력의 전압 범위를 확장하기 위해 출력에 대한 레벨 시프터를 사용한다.
워드 라인 디코더(5501)는, 도시된 바와 같이 구성된, 레벨 시프터(5503), NAND 게이트(5504), NAND 게이트(5505), 인버터(5506), 및 인버터(5507)를 포함한다. 제어 게이트 디코더(5502)는 NAND 게이트(5508), 인버터(5509), NAND 게이트(5510), 레벨 시프터(5511), 스위치(5512), 스위치(5513), 패스 게이트(5514), 및 인버터(5515)를 포함한다.
워드 라인(WL0)이 제어 게이트(CG0)를 오버드라이브하는 것이 요구되는 모드에 진입할 때, 제어 신호 CFG_ENWL은 "1"로 설정될 것이고 CFG_ENCG는 "0"으로 설정될 것이다. 제어 게이트 라인(CG0)이 워드 라인(WL0)을 오버드라이브하는 것이 요구되는 모드에 진입할 때, 제어 신호 CFG_ENCG는 "1"로 설정될 것이고 CFG_ENWL은 "0"으로 설정될 것이다. 로우 0이 로우 디코딩 탠덤 모드에서 사용되고 있지 않는 경우, CFG_ENWL 및 CFG_ENCG는 둘 모두가 "0"으로 설정되며, 이는 디코더(5500)가 그 자신의 입력들에 따라 WL 및 CG에 대해 개별적으로 인에이블된다는 것을 의미한다.
본 명세서에 사용된 바와 같이, 용어들 "~ 위에" 및 "~ 상에" 둘 모두는 "직접적으로 ~ 상에"(어떠한 중간 재료들, 요소들 또는 공간도 사이에 배치되지 않음)와 "간접적으로~ 상에"(중간 재료들, 요소들 또는 공간이 사이에 배치됨)를 포괄적으로 포함한다는 것에 유의하여야 한다. 마찬가지로, 용어 "인접한"은 "직접적으로 인접한"(어떠한 중간 재료들, 요소들 또는 공간도 사이에 배치되지 않음)과 "간접적으로 인접한"(중간 재료들, 요소들 또는 공간이 사이에 배치됨)을 포함하고, "~에 실장되는"은 "직접적으로 ~에 실장되는"(어떠한 중간 재료들, 요소들 또는 공간도 사이에 배치되지 않음)과 "간접적으로 ~에 실장되는"(중간 재료들, 요소들 또는 공간이 사이에 배치됨)을 포함하고, "전기적으로 결합되는"은 "직접적으로 ~에 전기적으로 결합되는"(요소들을 함께 전기적으로 접속시키는 어떠한 중간 재료들 또는 요소들도 사이에 없음)과 "간접적으로 ~에 전기적으로 결합되는"(요소들을 함께 전기적으로 접속시키는 중간 재료들 또는 요소들이 사이에 있음)을 포함한다. 예를 들어, "기판 위에" 요소를 형성하는 것은 어떠한 중간 재료들/요소들도 사이에 갖지 않고서 직접적으로 기판 상에 요소를 형성하는 것뿐만 아니라, 하나 이상의 중간 재료들/요소들을 사이에 갖고서 간접적으로 기판 상에 요소를 형성하는 것을 포함할 수 있다.

Claims (30)

  1. 어레이 내의 비휘발성 메모리 셀들의 로우(row)에 결합된 워드 라인 및 제어 게이트 라인을 제어하기 위한 탠덤 로우 디코더(tandem row decoder)로서,
    상기 워드 라인을 구동하기 위한 워드 라인 디코더; 및
    상기 제어 게이트 라인을 구동하기 위한 제어 게이트 디코더를 포함하며,
    제1 모드에서, 상기 탠덤 로우 디코더는 인에이블되지 않고, 상기 워드 라인 디코더는 상기 워드 라인을 접지로 풀링(pulling)하고, 상기 제어 게이트 디코더는 상기 제어 게이트 라인을 접지로 풀링하고,
    제2 모드에서, 상기 탠덤 로우 디코더는 인에이블되고, 상기 워드 라인 디코더는 인에이블되고, 상기 제어 게이트 디코더는 상기 워드 라인 디코더가 인에이블된 후에 인에이블되는, 탠덤 로우 디코더.
  2. 삭제
  3. 제1항에 있어서,
    제3 모드에서, 상기 탠덤 로우 디코더는 인에이블되고, 상기 제어 게이트 디코더는 인에이블되고, 상기 워드 라인 디코더는 상기 제어 게이트 디코더가 인에이블된 후에 인에이블되는, 탠덤 로우 디코더.
  4. 제1항에 있어서,
    제3 모드에서, 상기 탠덤 로우 디코더는 인에이블되고, 상기 제어 게이트 디코더는 인에이블되고, 상기 워드 라인 디코더는 상기 제어 게이트 디코더가 인에이블된 후에 상기 워드 라인을 높게 풀링하는, 탠덤 로우 디코더.
  5. 제1항에 있어서, 상기 어레이는 신경 아날로그 메모리인, 탠덤 로우 디코더.
  6. 제1항에 있어서, 상기 비휘발성 메모리 셀들은 분리형 게이트 비휘발성 메모리 셀들을 포함하는, 탠덤 로우 디코더.
  7. 제1항에 있어서, 상기 워드 라인 디코더는 상기 워드 라인 디코더의 출력을 생성하기 위한 레벨 시프터(level shifter)를 포함하는, 탠덤 로우 디코더.
  8. 제7항에 있어서, 상기 워드 라인 디코더의 상기 출력은 높은 레벨 또는 낮은 레벨을 포함하고, 상기 높은 레벨은 상기 탠덤 로우 디코더의 동작 전압(Vdd)보다 크고, 상기 낮은 레벨은 접지보다 작은, 탠덤 로우 디코더.
  9. 제1항에 있어서, 상기 제어 게이트 디코더는 상기 제어 게이트 디코더의 출력을 생성하기 위한 레벨 시프터를 포함하는, 탠덤 로우 디코더.
  10. 제9항에 있어서, 상기 제어 게이트 디코더의 상기 출력은 높은 레벨 또는 낮은 레벨을 포함하고, 상기 높은 레벨은 상기 탠덤 로우 디코더의 동작 전압(Vdd)보다 크고, 상기 낮은 레벨은 접지보다 작은, 탠덤 로우 디코더.
  11. 어레이 내의 비휘발성 메모리 셀들의 로우에 결합된 워드 라인 및 제어 게이트 라인을 제어하기 위한 탠덤 로우 디코더로서,
    상기 워드 라인을 구동하기 위한 워드 라인 디코더; 및
    상기 제어 게이트 라인을 구동하기 위한 제어 게이트 디코더를 포함하며,
    상기 워드 라인 디코더가 상기 제어 게이트 디코더를 오버드라이브(overdrive)하거나, 상기 제어 게이트 디코더가 상기 워드 라인 디코더를 오버드라이브하는, 탠덤 로우 디코더.
  12. 제11항에 있어서, 상기 어레이는 신경 아날로그 메모리인, 탠덤 로우 디코더.
  13. 제11항에 있어서, 상기 비휘발성 메모리 셀들은 분리형 게이트 비휘발성 메모리 셀들인, 탠덤 로우 디코더.
  14. 제11항에 있어서, 상기 워드 라인 디코더는 상기 워드 라인 디코더의 출력을 생성하기 위한 레벨 시프터를 포함하는, 탠덤 로우 디코더.
  15. 제14항에 있어서, 상기 워드 라인 디코더의 상기 출력은 높은 레벨 또는 낮은 레벨을 포함하고, 상기 높은 레벨은 상기 탠덤 로우 디코더의 동작 전압(Vdd)보다 크고, 상기 낮은 레벨은 접지보다 작은, 탠덤 로우 디코더.
  16. 제11항에 있어서, 상기 제어 게이트 디코더는 상기 제어 게이트 디코더의 출력을 생성하기 위한 레벨 시프터를 포함하는, 탠덤 로우 디코더.
  17. 제16항에 있어서, 상기 제어 게이트 디코더의 상기 출력은 높은 레벨 또는 낮은 레벨을 포함하고, 상기 높은 레벨은 상기 탠덤 로우 디코더의 동작 전압(Vdd)보다 크고, 상기 낮은 레벨은 접지보다 작은, 탠덤 로우 디코더.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 어레이 내의 비휘발성 메모리 셀들의 로우에 결합된 제어 게이트 라인을 제어하기 위한 탠덤 로우 디코더로서,
    워드 라인을 선택적으로 구동하기 위한 제1 레벨 시프터를 포함하는 워드 라인 디코더; 및
    제어 게이트 라인을 선택적으로 구동하기 위한 제2 레벨 시프터를 포함하는 제어 게이트 디코더를 포함하며,
    제1 모드 동안, 상기 워드 라인 디코더는 상기 제어 게이트 디코더를 오버드라이브하고, 제2 모드 동안, 상기 제어 게이트 디코더는 상기 워드 라인 디코더를 오버드라이브하는, 탠덤 로우 디코더.
KR1020227039866A 2020-06-03 2020-11-27 딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더 KR102630992B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063033953P 2020-06-03 2020-06-03
US63/033,953 2020-06-03
US17/104,385 US11289164B2 (en) 2020-06-03 2020-11-25 Word line and control gate line tandem decoder for analog neural memory in deep learning artificial neural network
US17/104,385 2020-11-25
PCT/US2020/062500 WO2021247072A1 (en) 2020-06-03 2020-11-27 Word line and control gate line tandem decoder for analog neural memory in deep learning artificial neural network

Publications (2)

Publication Number Publication Date
KR20220158851A KR20220158851A (ko) 2022-12-01
KR102630992B1 true KR102630992B1 (ko) 2024-01-29

Family

ID=78817792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227039866A KR102630992B1 (ko) 2020-06-03 2020-11-27 딥 러닝 인공 신경망 내의 아날로그 신경 메모리를 위한 워드 라인 및 제어 게이트 라인 탠덤 디코더

Country Status (7)

Country Link
US (2) US11289164B2 (ko)
EP (1) EP4162491B1 (ko)
JP (2) JP7353519B2 (ko)
KR (1) KR102630992B1 (ko)
CN (2) CN118098307A (ko)
TW (1) TWI784508B (ko)
WO (1) WO2021247072A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220246212A1 (en) * 2021-02-02 2022-08-04 Macronix International Co., Ltd. Memory device and operation method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140269058A1 (en) 2013-03-14 2014-09-18 Silicon Storage Technology, Inc. Non-volatile Memory Program Algorithm Device And Method
US20200065650A1 (en) * 2018-08-21 2020-02-27 Silicon Storage Technology, lnc. Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
KR100280395B1 (ko) * 1997-07-18 2001-03-02 김영환 워드라인제어회로
EP1274093A3 (en) * 2001-07-06 2004-12-08 Halo Lsi Design and Device Technology Inc. A control gate decoder for twin MONOS memory with two bit erase capability
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
US7567458B2 (en) * 2005-09-26 2009-07-28 Silicon Storage Technology, Inc. Flash memory array having control/decode circuitry for disabling top gates of defective memory cells
US7978518B2 (en) * 2007-12-21 2011-07-12 Mosaid Technologies Incorporated Hierarchical common source line structure in NAND flash memory
CN103077742B (zh) * 2012-12-21 2017-02-08 上海华虹宏力半导体制造有限公司 行译码电路及存储器
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
US10431265B2 (en) * 2017-03-23 2019-10-01 Silicon Storage Technology, Inc. Address fault detection in a flash memory system
US10748630B2 (en) 2017-11-29 2020-08-18 Silicon Storage Technology, Inc. High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
US11087207B2 (en) * 2018-03-14 2021-08-10 Silicon Storage Technology, Inc. Decoders for analog neural memory in deep learning artificial neural network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140269058A1 (en) 2013-03-14 2014-09-18 Silicon Storage Technology, Inc. Non-volatile Memory Program Algorithm Device And Method
US20200065650A1 (en) * 2018-08-21 2020-02-27 Silicon Storage Technology, lnc. Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components

Also Published As

Publication number Publication date
US20210383869A1 (en) 2021-12-09
CN115668378A (zh) 2023-01-31
TWI784508B (zh) 2022-11-21
JP2023520255A (ja) 2023-05-16
CN115668378B (zh) 2024-03-22
JP2023179502A (ja) 2023-12-19
US20220172781A1 (en) 2022-06-02
EP4162491B1 (en) 2024-04-17
US11289164B2 (en) 2022-03-29
US11935594B2 (en) 2024-03-19
KR20220158851A (ko) 2022-12-01
JP7353519B2 (ja) 2023-09-29
EP4162491A1 (en) 2023-04-12
TW202147322A (zh) 2021-12-16
WO2021247072A1 (en) 2021-12-09
CN118098307A (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
KR102657708B1 (ko) 딥 러닝 인공 신경 네트워크 내의 아날로그 신경 메모리를 위한 디코딩 시스템 및 물리적 레이아웃
KR102653629B1 (ko) 다수의 벡터 매트릭스 승산 어레이들 및 공유 컴포넌트들을 포함한 딥 러닝 신경 네트워크를 위한 아날로그 신경 메모리 시스템
KR102516399B1 (ko) 심층 학습 인공 신경망에서 아날로그 신경 메모리를 위한 디코더들
WO2020046474A1 (en) Configurable analog neural memory system for deep learning neural network
KR20210110638A (ko) 딥 러닝 인공 신경 네트워크에서의 아날로그 신경 메모리를 위한 정밀 프로그래밍 회로
KR20220141855A (ko) 인공 신경망에서 아날로그 신경 메모리 어레이를 위한 비휘발성 메모리 셀들 및 연관된 고전압 회로들의 페이지 또는 워드의 정밀 튜닝
JP2023179502A (ja) 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリのためのワード線及び制御ゲート線タンデムデコーダ
US20240112729A1 (en) Multiple Row Programming Operation In Artificial Neural Network Array
KR20240026489A (ko) 신경 메모리 가중치 데이터를 아날로그 형태 또는 디지털 형태로 저장하도록 구성 가능한 하이브리드 메모리 시스템

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant