KR102307675B1 - 플래시 메모리를 갖는 구성가능 컨볼루션형 신경망을 구현하기 위한 시스템 및 방법 - Google Patents
플래시 메모리를 갖는 구성가능 컨볼루션형 신경망을 구현하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR102307675B1 KR102307675B1 KR1020207006596A KR20207006596A KR102307675B1 KR 102307675 B1 KR102307675 B1 KR 102307675B1 KR 1020207006596 A KR1020207006596 A KR 1020207006596A KR 20207006596 A KR20207006596 A KR 20207006596A KR 102307675 B1 KR102307675 B1 KR 102307675B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory cells
- row
- gate
- column
- lines
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 389
- 238000000034 method Methods 0.000 title claims description 24
- 238000013527 convolutional neural network Methods 0.000 title description 5
- 238000007667 floating Methods 0.000 claims abstract description 35
- 239000000758 substrate Substances 0.000 claims description 12
- 239000004065 semiconductor Substances 0.000 claims description 7
- 210000004027 cell Anatomy 0.000 description 265
- 238000010586 diagram Methods 0.000 description 38
- 239000011159 matrix material Substances 0.000 description 29
- 210000000225 synapse Anatomy 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 27
- 239000010410 layer Substances 0.000 description 22
- 210000002569 neuron Anatomy 0.000 description 20
- 238000003491 array Methods 0.000 description 13
- 239000000463 material Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005530 etching Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000000206 photolithography Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000946 synaptic effect Effects 0.000 description 3
- 230000005689 Fowler Nordheim tunneling Effects 0.000 description 2
- 101100112673 Rattus norvegicus Ccnd2 gene Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000009833 condensation Methods 0.000 description 1
- 230000005494 condensation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0425—Erasable 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H01L27/11521—
-
- H01L27/11524—
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/30—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/30—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region
- H10B41/35—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region with a cell select transistor, e.g. NAND
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Non-Volatile Memory (AREA)
- Semiconductor Memories (AREA)
- Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)
Abstract
로우들 및 컬럼들로 배열되는 메모리 셀들을 갖는 메모리 어레이가 제공된다. 각각의 메모리 셀은, 채널 영역이 사이에 있는 소스 영역과 드레인 영역, 제1 채널 영역 부분 위에 배치되는 플로팅 게이트, 및 제2 채널 영역 부분 위에 배치되는 제2 게이트를 포함한다. 복수의 비트 라인들 각각이 컬럼들 중 하나의 컬럼을 따라 연장되고, 그 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 드레인 영역들에 전기적으로 접속되고, 그 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 드레인 영역들로부터 전기적으로 격리된다. 복수의 소스 라인들 각각이 컬럼들 또는 로우들 중 하나의 컬럼 또는 로우에 있는 메모리 셀들의 소스 영역들에 전기적으로 접속된다. 복수의 게이트 라인들 각각이 컬럼들 또는 로우들 중 하나의 컬럼 또는 로우에 있는 메모리 셀들의 제2 게이트들에 전기적으로 접속된다.
Description
관련 출원
본 출원은 2017년 9월 15일자로 출원된 미국 가출원 제62/558,984호 및 2018년 8월 21일자로 출원된 미국 특허 출원 제16/107,282호의 이익을 주장한다.
기술분야
본 발명은 신경망(neural network)에 관한 것이다.
인공 신경망은 생물학적 신경망(동물의 중추신경계, 특히 뇌)을 모방하는데, 이들은 다수의 입력에 의존할 수 있고 일반적으로 알려져 있는 기능들을 추정하거나 근사화하는 데 이용된다. 인공 신경망은, 일반적으로, 서로 메시지들을 교환하는 상호연결된 "뉴런(neuron)"의 층들을 포함한다. 도 1은 인공 신경망을 예시하며, 여기서 원은 뉴런의 층 또는 입력을 나타낸다. 연접부(시냅스(synapse)들로 지칭됨)는 화살표로 표현되며, 경험에 기초하여 튜닝될 수 있는 수치 가중치를 갖는다. 이는 신경망을 입력에 적응시키고 학습할 수 있게 한다. 전형적으로, 신경망은 다수의 입력들의 층을 포함한다. 전형적으로 뉴런의 하나 이상의 중간 층, 및 신경망의 출력을 제공하는 뉴런의 출력 층이 있다. 각각의 레벨의 뉴런은 개별적으로 또는 집합적으로 시냅스들로부터의 수신된 데이터에 기초하여 결정을 행한다.
고성능 정보 처리를 위한 인공 신경망의 개발에서의 주요 과제들 중 하나는 적절한 하드웨어 기술의 결여이다. 사실상, 실제 신경망은 매우 많은 수의 시냅스들에 의존하여, 뉴런들 사이의 높은 연결성, 즉 매우 높은 계산 병렬성(computational parallelism)을 가능하게 한다. 원칙적으로, 그러한 복잡성은 디지털 슈퍼컴퓨터들 또는 특수 그래픽 처리 유닛 클러스터들로 달성될 수 있다. 그러나, 고비용에 더하여, 이들 접근법은 또한 주로 저-정밀 아날로그 계산을 수행하기 때문에 훨씬 적은 에너지를 소비하는 생물학적 망(biological network)과 비교하여 평범한 에너지 효율을 겪는다. CMOS 아날로그 회로가 인공 신경망에 사용되어 왔지만, 대부분의 CMOS-구현된 시냅스들은 많은 수의 뉴런들 및 시냅스들이 주어지면 너무 부피가 커졌다.
전술한 문제들 및 필요성들은 복수의 메모리 셀들, 비트 라인들, 소스 라인들 및 게이트 라인들의 메모리 어레이에 의해 다루어진다. 복수의 메모리 셀들은 로우(row)들 및 컬럼(column)들로 배열되는데, 여기서 메모리 셀들 각각은 반도체 기판 내에 형성되고 채널 영역이 사이에 연장되어 있는 이격된 소스 영역과 드레인 영역, 채널 영역의 제1 부분 위에 배치되면서 그로부터 절연되는 플로팅 게이트, 및 채널 영역의 제2 부분 위에 배치되면서 그로부터 절연되는 제2 게이트를 포함한다. 복수의 비트 라인들 각각은 컬럼들 중 대응하는 하나를 따라 연장되는데, 여기서 비트 라인들 각각 및 그의 대응하는 컬럼에 대해, 비트 라인은 대응하는 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 드레인 영역들에 전기적으로 접속되며, 대응하는 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 드레인 영역들로부터 전기적으로 격리된다. 복수의 소스 라인들 각각은, 컬럼들 중 하나의 컬럼에 있거나 또는 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 소스 영역들에 전기적으로 접속된다. 복수의 게이트 라인들 각각은, 컬럼들 중 하나의 컬럼에 있거나 또는 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 제2 게이트들에 전기적으로 접속된다.
메모리 어레이는 복수의 메모리 셀들, 비트 라인들, 소스 라인들 및 게이트 라인들을 포함한다. 복수의 메모리 셀들은 로우들 및 컬럼들로 배열되는데, 여기서 메모리 셀들 각각은 반도체 기판 내에 형성되고 채널 영역이 사이에 연장되어 있는 이격된 소스 영역과 드레인 영역, 채널 영역의 제1 부분 위에 배치되면서 그로부터 절연되는 플로팅 게이트, 및 채널 영역의 제2 부분 위에 배치되면서 그로부터 절연되는 제2 게이트를 포함한다. 복수의 소스 라인들 각각은 로우들 또는 컬럼들 중 대응하는 하나를 따라 연장되는데, 여기서 소스 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 소스 라인은 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 소스 영역들에 전기적으로 접속되며, 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 소스 영역들로부터 전기적으로 격리된다. 복수의 비트 라인들 각각은, 컬럼들 중 하나의 컬럼에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 드레인 영역들에 전기적으로 접속된다. 복수의 게이트 라인들 각각은, 컬럼들 중 하나의 컬럼에 있거나 또는 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 제2 게이트들에 전기적으로 접속된다.
메모리 어레이는 복수의 메모리 셀들, 비트 라인들, 소스 라인들 및 게이트 라인들을 포함한다. 복수의 메모리 셀들은 로우들 및 컬럼들로 배열되는데, 여기서 메모리 셀들 각각은 반도체 기판 내에 형성되고 채널 영역이 사이에 연장되어 있는 이격된 소스 영역과 드레인 영역, 채널 영역의 제1 부분 위에 배치되면서 그로부터 절연되는 플로팅 게이트, 및 채널 영역의 제2 부분 위에 배치되면서 그로부터 절연되는 제2 게이트를 포함한다. 복수의 게이트 라인들 각각은 로우들 또는 컬럼들 중 대응하는 하나를 따라 연장되는데, 여기서 게이트 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 게이트 라인은 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 제2 게이트들에 전기적으로 접속되며, 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 제2 게이트들로부터 전기적으로 격리된다. 복수의 비트 라인들 각각은, 컬럼들 중 하나의 컬럼에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 드레인 영역들에 전기적으로 접속된다. 복수의 소스 라인들 각각은, 컬럼들 중 하나의 컬럼에 있거나 또는 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 소스 라인들에 전기적으로 접속된다.
본 발명의 다른 목적들 및 특징들은 명세서, 청구범위, 및 첨부된 도면의 검토에 의해 명백해질 것이다.
도 1은 인공 신경망을 도시한 도면이다.
도 2는 종래의 2-게이트 비휘발성 메모리 셀의 측단면도이다.
도 3은 도 2의 메모리 셀에 대한 종래의 어레이 아키텍처를 도시한 도면이다.
도 4는 종래의 2-게이트 비휘발성 메모리 셀의 측단면도이다.
도 5는 도 4의 메모리 셀에 대한 종래의 어레이 아키텍처를 도시한 도면이다.
도 6은 종래의 4-게이트 비휘발성 메모리 셀의 측단면도이다.
도 7은 도 6의 메모리 셀에 대한 종래의 어레이 아키텍처를 도시한 도면이다.
도 8a는 균일하게 이격된 신경망 가중치 레벨 할당을 도시한 도면이다.
도 8b는 불균일하게 이격된 신경망 가중치 레벨 할당을 도시한 도면이다.
도 9는 양방향 튜닝 알고리즘을 도시한 흐름도이다.
도 10은 전류 비교를 이용한 가중치 맵핑을 도시한 블록도이다.
도 11은 전압 비교를 이용한 가중치 맵핑을 도시한 블록도이다.
도 12는 비휘발성 메모리 어레이를 활용하는 상이한 레벨들의 예시적인 신경망을 도시한 도면이다.
도 13은 벡터 승수 행렬을 도시한 블록도이다.
도 14는 다양한 레벨의 벡터 승수 행렬을 도시한 블록도이다.
도 15 및 도 16은 4-게이트 메모리 셀들의 어레이의 제1 아키텍처를 도시한 개략도들이다.
도 17 및 도 18은 4-게이트 메모리 셀들의 어레이의 제2 아키텍처를 도시한 개략도들이다.
도 19는 4-게이트 메모리 셀들의 어레이의 제3 아키텍처를 도시한 개략도이다.
도 20은 4-게이트 메모리 셀들의 어레이의 제4 아키텍처를 도시한 개략도이다.
도 21은 4-게이트 메모리 셀들의 어레이의 제5 아키텍처를 도시한 개략도이다.
도 22는 4-게이트 메모리 셀들의 어레이의 제6 아키텍처를 도시한 개략도이다.
도 23은 2-게이트 메모리 셀들의 어레이의 제1 아키텍처를 도시한 개략도이다.
도 24는 2-게이트 메모리 셀들의 어레이의 제2 아키텍처를 도시한 개략도이다.
도 25는 전류-전압 로그 변환기를 도시한 도면이다.
도 26은 전압-전류 로그 변환기를 도시한 도면이다.
도 27은 Gnd-기준 전류 합산기를 도시한 도면이다.
도 28은 Vdd-기준 전류 합산기를 도시한 도면이다.
도 29는 비휘발성 메모리 어레이의 N2 신경망 입력들의 이용을 도시한 도면이다.
도 30은 비휘발성 메모리 어레이의 N2 신경망 입력들의 이용을 도시한 도면이다.
도 31은 입력 라인들을 주기적으로 시프트시킨 비휘발성 메모리 어레이의 신경망 입력들의 이용을 도시한 도면이다.
도 32는 도 15의 메모리 어레이 아키텍처를 도시하지만 입력 라인들을 주기적으로 시프트시킨 개략도이다.
도 33은 도 20의 메모리 어레이 아키텍처를 도시하지만 입력 라인들을 주기적으로 시프트시킨 개략도이다.
도 34a는 하나의 메모리 셀이 누락 비트 라인 콘택트를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 34b는 하나의 메모리 셀이 누락 소스 라인 콘택트를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 34c는 드레인 영역들과 비트 라인 사이에 전기적으로 접속된 퓨즈들을 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 34d는 소스 영역과 소스 라인 사이에 전기적으로 접속된 퓨즈를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 35a는 하나의 메모리 셀이 누락 게이트 라인 콘택트를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 35b는 게이트들과 게이트 라인들 사이에 전기적으로 접속된 퓨즈들을 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 36은 스트라이드(Stride) 1을 갖는 4x4 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 37은 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 1을 갖는 4x4 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 38은 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 2를 갖는 4x4 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 39는 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 1을 갖는 3x3 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 40은 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 1을 갖는 3x3 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 2는 종래의 2-게이트 비휘발성 메모리 셀의 측단면도이다.
도 3은 도 2의 메모리 셀에 대한 종래의 어레이 아키텍처를 도시한 도면이다.
도 4는 종래의 2-게이트 비휘발성 메모리 셀의 측단면도이다.
도 5는 도 4의 메모리 셀에 대한 종래의 어레이 아키텍처를 도시한 도면이다.
도 6은 종래의 4-게이트 비휘발성 메모리 셀의 측단면도이다.
도 7은 도 6의 메모리 셀에 대한 종래의 어레이 아키텍처를 도시한 도면이다.
도 8a는 균일하게 이격된 신경망 가중치 레벨 할당을 도시한 도면이다.
도 8b는 불균일하게 이격된 신경망 가중치 레벨 할당을 도시한 도면이다.
도 9는 양방향 튜닝 알고리즘을 도시한 흐름도이다.
도 10은 전류 비교를 이용한 가중치 맵핑을 도시한 블록도이다.
도 11은 전압 비교를 이용한 가중치 맵핑을 도시한 블록도이다.
도 12는 비휘발성 메모리 어레이를 활용하는 상이한 레벨들의 예시적인 신경망을 도시한 도면이다.
도 13은 벡터 승수 행렬을 도시한 블록도이다.
도 14는 다양한 레벨의 벡터 승수 행렬을 도시한 블록도이다.
도 15 및 도 16은 4-게이트 메모리 셀들의 어레이의 제1 아키텍처를 도시한 개략도들이다.
도 17 및 도 18은 4-게이트 메모리 셀들의 어레이의 제2 아키텍처를 도시한 개략도들이다.
도 19는 4-게이트 메모리 셀들의 어레이의 제3 아키텍처를 도시한 개략도이다.
도 20은 4-게이트 메모리 셀들의 어레이의 제4 아키텍처를 도시한 개략도이다.
도 21은 4-게이트 메모리 셀들의 어레이의 제5 아키텍처를 도시한 개략도이다.
도 22는 4-게이트 메모리 셀들의 어레이의 제6 아키텍처를 도시한 개략도이다.
도 23은 2-게이트 메모리 셀들의 어레이의 제1 아키텍처를 도시한 개략도이다.
도 24는 2-게이트 메모리 셀들의 어레이의 제2 아키텍처를 도시한 개략도이다.
도 25는 전류-전압 로그 변환기를 도시한 도면이다.
도 26은 전압-전류 로그 변환기를 도시한 도면이다.
도 27은 Gnd-기준 전류 합산기를 도시한 도면이다.
도 28은 Vdd-기준 전류 합산기를 도시한 도면이다.
도 29는 비휘발성 메모리 어레이의 N2 신경망 입력들의 이용을 도시한 도면이다.
도 30은 비휘발성 메모리 어레이의 N2 신경망 입력들의 이용을 도시한 도면이다.
도 31은 입력 라인들을 주기적으로 시프트시킨 비휘발성 메모리 어레이의 신경망 입력들의 이용을 도시한 도면이다.
도 32는 도 15의 메모리 어레이 아키텍처를 도시하지만 입력 라인들을 주기적으로 시프트시킨 개략도이다.
도 33은 도 20의 메모리 어레이 아키텍처를 도시하지만 입력 라인들을 주기적으로 시프트시킨 개략도이다.
도 34a는 하나의 메모리 셀이 누락 비트 라인 콘택트를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 34b는 하나의 메모리 셀이 누락 소스 라인 콘택트를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 34c는 드레인 영역들과 비트 라인 사이에 전기적으로 접속된 퓨즈들을 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 34d는 소스 영역과 소스 라인 사이에 전기적으로 접속된 퓨즈를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 35a는 하나의 메모리 셀이 누락 게이트 라인 콘택트를 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 35b는 게이트들과 게이트 라인들 사이에 전기적으로 접속된 퓨즈들을 갖는, 한 쌍의 비휘발성 메모리 셀들의 측단면도이다.
도 36은 스트라이드(Stride) 1을 갖는 4x4 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 37은 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 1을 갖는 4x4 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 38은 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 2를 갖는 4x4 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 39는 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 1을 갖는 3x3 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
도 40은 디스에이블되어 있는 미사용 메모리 셀들, 및 스트라이드 1을 갖는 3x3 필터 크기를 구현할 때 사용되는 그러한 메모리 셀들을 도시한 메모리 어레이의 개략도이다.
본 발명의 인공 신경망은 CMOS 기술과 비휘발성 메모리 어레이들의 조합을 이용한다. 디지털 비휘발성 메모리들은 잘 알려져 있다. 예를 들어, 미국 특허 제5,029,130호("'130 특허")는 분리형 게이트 비휘발성 메모리 셀들의 어레이를 개시하고 있고, 이는 모든 목적을 위해 본 명세서에 참고로 포함된다. 그 메모리 셀이 도 2에 도시되어 있다. 각각의 메모리 셀(10)은 반도체 기판(12) 내에 형성되고 채널 영역(18)이 사이에 있는 소스 및 드레인 영역들(14/16)을 포함한다. 플로팅 게이트(20)가 채널 영역(18)의 제1 부분 위에 형성되면서 그로부터 절연되고(그리고 그의 전도성을 제어하고), 드레인 영역(16)의 일부분 위에 있다. 제어 게이트(22)(즉, 제2, 채널 제어 게이트)는 채널 영역(18)의 제2 부분 위에 배치되면서 그로부터 절연되는(그리고 그의 전도성을 제어하는) 제1 부분(22b), 및 플로팅 게이트(20) 위로 그리고 그 위에서 연장되는 제2 부분(22c)을 갖는다. 플로팅 게이트(20) 및 제어 게이트(22)는 게이트 산화물(26)에 의해 기판(12)으로부터 절연된다.
메모리 셀은 제어 게이트(22) 상에 높은 포지티브 전압을 인가함으로써 소거되는데(여기서 전자들이 플로팅 게이트로부터 제거됨), 이는 파울러-노드하임 터널링(Fowler-Nordheim tunneling)을 통해 플로팅 게이트(20) 상의 전자들이 플로팅 게이트(20)로부터 중간 절연부(24)를 통과하여 제어 게이트(22)로 터널링하게 한다.
메모리 셀은 제어 게이트(22) 상에 포지티브 전압을 그리고 드레인(16) 상에 포지티브 전압을 인가함으로써 프로그래밍된다(여기서 전자들이 플로팅 게이트 상에 배치됨). 전자 전류가 소스(14)로부터 드레인(16)을 향해 흐를 것이다. 전자들은 제어 게이트(22)와 플로팅 게이트(20) 사이의 갭에 도달할 때 가속되고 가열될 것이다. 가열된 전자들 중 일부는 플로팅 게이트(20)로부터의 정전 인력으로 인해 게이트 산화물(26)을 통과하여 플로팅 게이트(20) 상으로 주입될 것이다.
메모리 셀은 드레인(16) 및 제어 게이트(22) 상에 포지티브 판독 전압들(이는 제어 게이트 아래의 채널 영역을 턴온시킴)을 인가함으로써 판독된다. 플로팅 게이트(20)가 포지티브로 대전되면(즉, 전자들이 소거되고 드레인(16)에 포지티브로 커플링됨), 플로팅 게이트(20) 아래의 채널 영역의 부분이 또한 턴온되고, 전류가 채널 영역(18)을 가로질러 흐를 것이며, 이는 소거 또는 "1" 상태로 감지된다. 플로팅 게이트(20)가 네거티브로 대전되는 경우(즉, 전자들로 프로그래밍됨), 플로팅 게이트(20) 아래의 채널 영역의 부분은 대부분 또는 전체적으로 턴오프되고, 전류가 채널 영역(18)을 가로질러 흐르지 않을 것이며(또는 흐름이 거의 없을 것임), 이는 프로그래밍 또는 "0" 상태로 감지된다.
메모리 어레이의 아키텍처가 도 3에 도시되어 있다. 메모리 셀들(10)은 로우들 및 컬럼들로 배열된다. 각각의 컬럼에서, 메모리 셀들은 미러 방식으로 엔드-투-엔드로(end to end) 배열되므로, 그들은 메모리 셀들의 쌍들로서 형성되고, 메모리 셀들의 쌍들 각각은 공통 소스 영역(14)(S)을 공유하고, 메모리 셀 쌍들의 각각의 인접한 세트는 공통 드레인 영역(16)(D)을 공유한다. 임의의 주어진 로우의 메모리 셀들에 대한 모든 소스 영역들(14)은 소스 라인(14a)에 의해 함께 전기적으로 접속된다. 임의의 주어진 컬럼의 메모리 셀들에 대한 모든 드레인 영역들(16)은 비트 라인(16a)에 의해 함께 전기적으로 접속된다. 임의의 주어진 로우의 메모리 셀들에 대한 모든 제어 게이트들(22)은 제어 게이트 라인(22a)에 의해 함께 전기적으로 접속된다. 따라서, 메모리 셀들이 개별적으로 프로그래밍 및 판독될 수 있지만, 메모리 셀 소거는 로우별로 수행된다(메모리 셀들의 각각의 로우는 제어 게이트 라인(22a) 상에의 고전압의 인가에 의해 함께 소거된다). 특정 메모리 셀이 소거되어야 하는 경우, 동일한 로우의 모든 메모리 셀들이 또한 소거된다.
당업자는, 소스 및 드레인이 상호교환가능할 수 있고, 여기서 플로팅 게이트가, 도 4에 도시된 바와 같이, 드레인 대신에 부분적으로 소스 위로 연장될 수 있다는 것을 이해한다. 도 5는 메모리 셀들(10), 소스 라인들(14a), 비트 라인들(16a), 및 제어 게이트 라인들(22a)을 포함하는 대응하는 메모리 셀 아키텍처를 가장 잘 도시한다. 도면들로부터 명백한 바와 같이, 동일한 로우의 메모리 셀들(10)은 동일한 소스 라인(14a) 및 동일한 제어 게이트 라인(22a)을 공유하는 반면, 동일한 컬럼의 모든 셀들의 드레인 영역들은 동일한 비트 라인(16a)에 전기적으로 접속된다. 어레이 설계는 디지털 애플리케이션들에 대해 최적화되며, 예컨대, 선택된 제어 게이트 라인(22a) 및 소스 라인(14a)에 각각 1.6 V 및 7.6 V를 인가하고 선택된 비트 라인(16a)을 접지시킴으로써, 선택된 셀들의 개별 프로그래밍을 허용한다. 동일한 쌍의 비선택된 메모리 셀을 교란시키는 것은 비선택된 비트 라인들(16a) 상에 2 볼트 초과의 전압을 인가하고 나머지 라인들을 접지시킴으로써 회피된다. 메모리 셀들(10)은 개별적으로 소거될 수 없는데, 그 이유는 소거의 원인이 되는 프로세스(플로팅 게이트(20)로부터 제어 게이트(22)로의 전자들의 파울러 노드하임 터널링)가 드레인 전압(즉, 동일한 소스 라인(14a)을 공유하는 로우 방향으로의 2개의 인접한 셀들에 대해 상이할 수 있는 유일한 전압)에 의해서만 약하게 영향을 받기 때문이다.
2개 초과의 게이트들을 갖는 분리형 게이트 메모리 셀들이 또한 알려져 있다. 예를 들어, 도 6에 도시된 바와 같이, 소스 영역(14), 드레인 영역(16), 채널 영역(18)의 제1 부분 위의 플로팅 게이트(20), 채널 영역(18)의 제2 부분 위의 선택 게이트(28)(즉, 제2, 채널 제어 게이트), 플로팅 게이트(20) 위의 제어 게이트(22), 및 소스 영역(14) 위의 소거 게이트(30)를 갖는 메모리 셀들이 공지되어 있다(예를 들어, 모든 목적을 위해 본 명세서에 참고로 포함된 미국 특허 제6,747,310호 참조). 여기서, 모든 게이트들은 플로팅 게이트(20)를 제외한 비-플로팅 게이트들이며, 이는 그것들이 전압원에 전기적으로 접속되어 있거나 접속가능하다는 것을 의미한다. 프로그래밍은 채널 영역(18)으로부터의 가열된 전자들이 플로팅 게이트(20) 상으로 자신을 주입하는 것에 의해 나타난다. 소거는 전자들이 플로팅 게이트(20)로부터 소거 게이트(30)로 터널링하는 것에 의해 나타난다.
4-게이트 메모리 셀 어레이에 대한 아키텍처는 도 7에 도시된 바와 같이 구성될 수 있다. 이 실시예에서, 각각의 수평 선택 게이트 라인(28a)은 그 로우의 메모리 셀들에 대한 모든 선택 게이트들(28)을 함께 전기적으로 접속시킨다. 각각의 수평 제어 게이트 라인(22a)은 그 로우의 메모리 셀들에 대한 모든 제어 게이트들(22)을 함께 전기적으로 접속시킨다. 각각의 수평 소스 라인(14a)은 소스 영역들(14)을 공유하는 2개의 로우들의 메모리 셀들에 대한 모든 소스 영역들(14)을 함께 전기적으로 접속시킨다. 각각의 비트 라인(16a)은 그 컬럼의 메모리 셀들에 대한 모든 드레인 영역들(16)을 함께 전기적으로 접속시킨다. 각각의 소거 게이트 라인(30a)은 소거 게이트(30)를 공유하는 2개의 로우들의 메모리 셀들에 대한 모든 소거 게이트들(30)을 함께 전기적으로 접속시킨다. 이전의 아키텍처에서와 같이, 개별 메모리 셀들은 독립적으로 프로그래밍 및 판독될 수 있다. 그러나, 셀들을 개별적으로 소거하는 방식은 없다. 소거는 소거 게이트 라인(30a) 상에 높은 포지티브 전압을 인가함으로써 수행되는데, 이는 동일한 소거 게이트 라인(30a)을 공유하는 양측 로우들 모두의 메모리 셀들의 동시 소거를 초래한다. 예시적인 동작 전압들은 하기의 표 1의 것들을 포함할 수 있다(이 실시예에서, 선택 게이트 라인들(28a)은 워드 라인(WL)들로 지칭될 수 있음):
[표 1]
전술된 비휘발성 메모리 어레이들을 신경망들에서 활용하기 위해, 두 가지의 수정들이 이루어진다. 첫째, 라인들은, 하기에서 추가로 설명되는 바와 같이, 각각의 메모리 셀이 어레이 내의 다른 메모리 셀들의 메모리 상태에 악영향을 미치지 않으면서 개별적으로 프로그래밍, 소거 및 판독될 수 있도록 재구성된다. 둘째, 메모리 셀들의 연속적인 (유사한) 프로그래밍이 제공된다. 구체적으로, 어레이 내의 각각의 메모리 셀들의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀들의 교란을 최소화시킨 상태로, 완전 소거 상태로부터 완전 프로그래밍 상태로 연속적으로 변경될 수 있고, 그 역으로도 가능하다. 이것은 셀 저장소가 유사하거나 또는 적어도, 많은 개별 값들 중 하나를 저장할 수 있음을 의미하는데, 이는 메모리 어레이 내의 모든 셀들의 매우 정밀하고 개별적인 튜닝을 허용하고, 메모리 어레이를 신경망의 시냅스 가중치들에 대한 미세 튜닝 조정을 저장하고 행하는 데 이상적이 되게 한다.
메모리 셀 프로그래밍 및 저장
메모리 셀들에 저장된 바와 같은 신경망 가중치 레벨 할당들은 도 8a에 도시된 바와 같이 균일하게 이격될 수 있거나, 또는 도 8b에 도시된 바와 같이 불균일하게 이격될 수 있다. 비휘발성 메모리 셀들의 프로그래밍은 도 9에 도시된 것과 같은 양방향 튜닝 알고리즘을 이용하여 구현될 수 있다. Icell은 프로그래밍되는 타깃 셀의 판독 전류이고, Itarget은 셀이 이상적으로 프로그래밍될 때의 바람직한 판독 전류이다. 타깃 셀 판독 전류(Icell)는 판독되고(단계 1), 타깃 판독 전류(Itarget)와 비교된다(단계 2). 타깃 셀 판독 전류(Icell)가 타깃 판독 전류(Itarget)보다 큰 경우, 프로그래밍 튜닝 프로세스가 수행되어(단계 3), 플로팅 게이트 상의 전자들의 수를 증가시키는데(여기서, 제어 게이트 상의 바람직한 프로그래밍 전압(VCG)을 결정하기 위해 룩업 테이블이 사용됨)(단계 3a, 단계 3b), 이는 필요에 따라 반복될 수 있다(단계 3c). 타깃 셀 판독 전류(Icell)가 타깃 판독 전류(Itarget)보다 작은 경우, 소거 튜닝 프로세스가 수행되어(단계 4), 플로팅 게이트 상의 전자들의 수를 감소시키는데(여기서, 소거 게이트 상의 바람직한 소거 전압(VEG)을 결정하기 위해 룩업 테이블이 사용됨)(단계 4a, 단계 4b), 이는 필요에 따라 반복될 수 있다(단계 4c). 프로그래밍 튜닝 프로세스가 타깃 판독 전류를 오버슈팅하는 경우, (허용가능한 델타 값 내에서) 타깃 판독 전류가 달성될 때까지, 소거 튜닝 프로세스가 수행되고(단계 3d, 그리고 단계 4a로 시작됨) 그 역도 가능하다(단계 4d, 그리고 단계 3a로 시작됨).
비휘발성 메모리 셀들의 프로그래밍은, 그 대신, 프로그래밍 튜닝을 이용하는 단방향 튜닝 알고리즘을 이용하여 구현될 수 있다. 이 알고리즘에서, 메모리 셀은 초기에 완전히 소거되고, 이어서 도 9 의 프로그래밍 튜닝 단계들(3a 내지 3c)은 타깃 셀의 판독 전류가 타깃 임계값에 도달할 때까지 수행된다. 대안으로, 비휘발성 메모리 셀들의 튜닝은 소거 튜닝을 이용하는 단방향 튜닝 알고리즘을 이용하여 구현될 수 있다. 이러한 접근법에서, 메모리 셀은 초기에 완전히 프로그래밍되고, 이어서 도 9의 소거 튜닝 단계들(4a 내지 4c)은 타깃 셀의 판독 전류가 타깃 임계값에 도달할 때까지 수행된다.
도 10은 전류 비교를 이용한 가중치 맵핑을 도시한 도면이다. 가중치 디지털 비트들(예컨대, 메모리 셀에 대한 타깃 디지털 가중치를 나타내는, 각각의 시냅스에 대해 5 비트 가중치)은 비트들을 전압(Vout)(예컨대, 64개 전압 레벨 - 5 비트)으로 변환하는 디지털-아날로그 변환기(DAC)(40)에 입력된다. Vout은 전압-전류 변환기(V/I Conv)(42)에 의해 전류(Iout)(예컨대, 64개 전류 레벨 - 5 비트)로 변환된다. 전류는 전류 비교기(IComp)(44)에 공급된다. 프로그래밍 또는 소거 알고리즘 인에이블링이 메모리 셀(10)에 입력된다(예를 들어, 소거: EG 전압을 증분시킴; 또는 프로그래밍: CG 전압을 증분시킴). 메모리 셀 전류 출력(Icellout)은 (즉, 판독 동작으로부터) 전류 비교기(IComp)(44)에 공급된다. 전류 비교기(IComp)(44)는 메모리 셀 전류(Icellout)를 가중치 디지털 비트들로부터 도출된 전류(Iout)와 비교하여, 메모리 셀(10)에 저장된 가중치를 나타내는 신호를 생성한다.
도 11은 전압 비교를 이용한 가중치 맵핑을 도시한 도면이다. 가중치 디지털 비트들(예컨대, 각각의 시냅스에 대한 5 비트 가중치)은 디지털-아날로그 변환기(DAC)(40)에 입력되고, 디지털-아날로그 변환기(DAC)(40)는 비트를 전압(Vout)(예컨대, 64개 전압 레벨 - 5 비트)으로 변환한다. Vout은 전압 비교기(VComp)(46)에 공급된다. 프로그래밍 또는 소거 알고리즘 인에이블링이 메모리 셀(10)에 입력된다(예를 들어, 소거: EG 전압을 증분시킴; 또는 프로그래밍: CG 전압을 증분시킴). 메모리 셀 전류 출력(Icellout)은 전압(V2out)(예컨대, 64개 전압 레벨 - 5 비트)으로의 변환을 위해 전류-전압 변환기(I/V Conv)(48)에 공급된다. 전압(V2out)은 전압 비교기(VComp)(46)에 공급된다. 전압 비교기(VComp)(46)는 전압들(Vout, V2out)을 비교하여, 메모리 셀(10)에 저장된 가중치를 나타내는 신호를 생성한다.
비휘발성 메모리 셀 어레이를 채용한 신경망
도 12는 비휘발성 메모리 어레이를 활용하는 신경망의 비제한적인 예를 개념적으로 도시한다. 이 예는 얼굴 인식 애플리케이션에 대해 비휘발성 메모리 어레이 신경망을 이용하지만, 비휘발성 메모리 어레이 기반 신경망을 이용하여 임의의 다른 적절한 애플리케이션이 구현될 수 있다. 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 필터가 하나의 픽셀씩 우측으로 시프트되고(즉, 우측에 3개 픽셀들의 컬럼을 추가하고, 좌측에서 3개 픽셀들의 컬럼을 뺌), 이에 의해 이러한 새롭게 위치된 필터에서의 9개 픽셀 값들이 시냅스들(CB1)에 제공되고, 이에 의해 이들은 동일한 가중치들에 의해 승산되고, 제2 단일 출력 값이 연관된 뉴런에 의해 결정된다. 이러한 프로세스는, 3개의 모든 색상들에 대해 그리고 모든 비트들(정밀도 값들)에 대해, 3x3 필터가 전체 32x32 픽셀 이미지를 가로질러서 스캔할 때까지 계속된다. 이어서, 프로세스는, 층(C1)의 모든 피처 맵들이 계산될 때까지, 가중치들의 상이한 세트들을 사용하여 반복되어 C1의 상이한 피처 맵을 생성한다.
C1에서, 본 예에서, 각각 30x30 픽셀들을 갖는 16개 피처 맵들이 있다. 각각의 픽셀은 입력들과 커널을 승산하는 것으로부터 추출된 새로운 피처 픽셀이고, 따라서 각각의 피처 맵은 2 차원 어레이이고, 따라서, 이러한 예에서, 시냅스들(CB1)은 2차원 어레이들의 16개 층들을 구성한다(본 명세서에서 언급된 뉴런 층들 및 어레이들은 반드시 물리적 관계인 것이 아니라 논리적 관계임 - 즉, 어레이들은 반드시 물리적으로 2차원 어레이들로 배향되지는 않음 - 에 유념한다). 16개 피처 맵들 각각은 필터 스캔에 적용되는 시냅스 가중치들의 상이한 16개 세트들 중 하나의 세트에 의해 생성된다. C1 피처 맵들은 모두, 경계 식별과 같은 동일한 이미지 피처의 상이한 태양들에 관한 것일 수 있다. 예를 들어, (제1 맵을 생성하는 데 사용되는 모든 스캔을 위해 공유되는 제1 가중치 세트를 사용하여 생성된) 제1 맵은 원형 에지들을 식별할 수 있고, (제1 가중치 세트와는 상이한 제2 가중치 세트를 사용하여 생성된) 제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 내의 모든 뉴런은 S2 내의 모든 맵에 연결된다. C3에는, 64개 뉴런들이 있다. C3으로부터 출력(S3)으로 가는 시냅스들(CB4)은 S3을 C3에 완전히 연결한다. S3에서의 출력은 10개 뉴런들을 포함하고, 여기서 최고 출력 뉴런이 분류를 결정한다. 이러한 출력은, 예를 들어, 원래의 이미지의 콘텐츠의 식별 또는 분류를 나타낼 수 있다.
시냅스들의 각각의 레벨은 비휘발성 메모리 셀들의 어레이 또는 그들의 어레이의 일부분을 사용하여 구현된다. 도 13은 비휘발성 메모리 셀들을 포함하고 입력 층과 다음 층 사이의 시냅스들로서 활용되는 VMM(vector-by-matrix multiplication) 어레이의 블록도이다. 구체적으로, VMM(32)은 비휘발성 메모리 셀들(33)의 어레이, 소거 게이트 및 워드 라인 게이트 디코더(34), 제어 게이트 디코더(35), 비트 라인 디코더(36) 및 소스 라인 디코더(37)를 포함하며, 이들은 메모리 어레이(33)에 대한 입력들을 디코딩한다. 이 예에서의 소스 라인 디코더(37)는 또한 메모리 셀 어레이의 출력을 디코딩한다. 메모리 어레이는 두 가지 목적을 제공한다. 첫째, 그것은 VMM에 의해 사용될 가중치들을 저장한다. 둘째, 메모리 어레이는 메모리 어레이에 저장된 가중치들에 의해 입력들을 효과적으로 승산하여 출력을 생성하며, 이는 다음 층으로의 입력 또는 최종 층으로의 입력일 것이다. 승산 기능을 수행함으로써, 메모리 어레이는 별개의 승산 로직 회로들에 대한 필요성을 무효화하고, 또한 전력 효율적이다.
메모리 어레이의 출력은 차동 합산 연산 증폭기(38)에 공급되고, 이는 메모리 셀 어레이의 출력들을 합산하여 그 컨볼루션(convolution)에 대한 단일 값을 생성한다. 이어서, 합산된 출력 값들은 출력을 정류하는 활성화 함수 회로(39)에 공급된다. 정류된 출력 값들은 다음 층(예를 들어, 위의 설명의 C1)으로서 피처 맵의 요소가 되고, 이어서 다음 시냅스에 적용되어 다음 피처 맵 층 또는 최종 층을 생성한다. 따라서, 이 예에서, 메모리 어레이는 복수의 시냅스들(이들은 이전 뉴런 층으로부터 또는 이미지 데이터베이스와 같은 입력 층으로부터 그들의 입력들을 수신함)을 구성하고, 합산 연산 증폭기(38) 및 활성화 함수 회로(39)는 복수의 뉴런들을 구성한다.
도 14는 다양한 레벨들의 VMM의 블록도이다. 도 14에 도시된 바와 같이, 입력은 디지털-아날로그 변환기(31)에 의해 디지털로부터 아날로그로 변환되고, 입력 VMM(32a)에 제공된다. 입력 VMM(32a)에 의해 생성된 출력은 다음 VMM(은닉 레벨 1)(32b)으로의 입력으로서 제공되고 다음 VMM으로의 입력은 이어서 다음 VMM(은닉 레벨 2)(32c)으로의 입력으로서 제공되는 출력을 생성하고, 등등이다. VMM(32)의 다양한 층들은 컨볼루션 신경망(convolutional neural network, CNN)의 시냅스들 및 뉴런들의 상이한 층들로서 기능한다. 각각의 VMM은 독립형 비휘발성 메모리 어레이일 수 있거나, 또는 다수의 VMM들이 동일한 비휘발성 메모리 어레이의 상이한 부분들을 활용할 수 있거나, 또는 다수의 VMM들이 동일한 비휘발성 메모리 어레이의 중첩 부분들을 활용할 수 있다.
도 15는 드레인 합산 행렬 승산기로서 배열된 4-게이트 메모리 셀들의 어레이(즉, 도 6에 도시된 것과 같음)를 도시한다. 도 15의 어레이에 대한 다양한 게이트 및 영역 라인들은, 소거 게이트 라인들(30a)이 수평이 아니라 수직으로 이어져서(즉, 각각의 소거 게이트 라인(30a)이 그 컬럼의 메모리 셀들에 대한 모든 소거 게이트들(30)을 함께 접속시켜서) 각각의 메모리 셀(10)이 독립적으로 프로그래밍, 소거 및 판독될 수 있게 한다는 점을 제외하면, 도 7의 것과 동일하다(대응하는 구조에 대해 동일한 요소 번호들을 가짐). 메모리 셀들 각각이 그 셀에 대해 적절한 가중치 값으로 프로그래밍된 후, 어레이는 드레인 합산 행렬 승산기로서 작용한다. 행렬 입력들은 Vin0... Vin7이며 선택 게이트 라인들(28a) 상에 배치된다. 도 15의 어레이에 대한 출력들(Iout0... IoutN)의 행렬이 비트 라인들(16a) 상에 생성된다. 각각의 출력(Iout)은, 컬럼의 모든 셀들에 대해, 셀 전류(I)와 셀 내에 저장된 가중치(W)의 곱셈의 합이다:
Iout = Σ (Iij*Wij)
각각의 메모리 셀(또는 메모리 셀들의 쌍)은 그 컬럼의 메모리 셀(또는 메모리 셀들의 쌍)에 저장된 가중치 값들의 합에 의해 지시되는 출력 전류(Iout)로서 표현되는 가중치 값을 갖는 단일 시냅스로서 작용한다. 임의의 주어진 시냅스의 출력은 전류의 형태이다. 따라서, 제1 단계 이후의 각각의 후속 VMM 단계는, 바람직하게는, 이전의 VMM 단계로부터의 인입 전류들을 입력 전압들(VIN)로서 사용되는 전압들로 변환하기 위한 회로부를 포함한다. 도 16은 그러한 전류-전압 변환 회로부의 일례를 도시하는데, 이는 인입 전류들(Iin0... IinN)을 입력 전압들(Vin0.. VinN)로 로그-변환하는 메모리 셀들의 수정된 로우이다.
본 명세서에 기술된 메모리 셀들은 하기와 같은 약 반전(weak inversion)으로 바이어싱된다:
Ids = Io * e (Vg- Vth)/㎸t = w * Io * e (Vg)/㎸t
메모리 셀을 사용하는 I-V 로그 변환기가 입력 전류를 입력 전압으로 변환하도록 하기 위해 하기와 같다:
Vg= k*Vt*log [Ids/wp*Io]
벡터 행렬 승산기(VMM)로서 사용되는 메모리 어레이의 경우, 출력 전류는 하기와 같다:
Iout = wa * Io * e (Vg)/㎸t, 즉
Iout = (wa/wp) * Iin = W * Iin
도 17 및 도 18은 드레인 합산 행렬 승산기로서 배열된 4-게이트 메모리 셀들의 어레이(즉, 도 6에 도시된 것과 같음)의 다른 구성을 도시한다. 도 17 및 도 18의 어레이에 대한 라인들은, 소스 라인들(14a)이 수평이 아니라 수직으로 이어지고(즉, 각각의 소스 라인(14a)이 그 컬럼의 메모리 셀들에 대한 모든 소스 영역들(14)을 함께 접속시킴), 소거 게이트 라인들(30a)이 수직이 아니라 수평으로 이어져서(즉, 각각의 소거 게이트 라인(30a)이 그 로우의 메모리 셀 쌍들에 대한 모든 소거 게이트들(30)을 함께 접속시킴), 각각의 메모리 셀이 독립적으로 프로그래밍, 소거 및 판독될 수 있게 한다는 점을 제외하면, 도 15 및 도 16의 어레이에서의 것과 동일하다. 행렬 입력들(Vin0... VinN)은 선택 게이트 라인들(28a) 상에 남아 있고, 행렬 출력들(Iout0... IoutN)은 비트 라인들(16a) 상에 남아 있다.
도 19는 게이트 커플링/소스 합산 행렬 승산기로서 배열된 4-게이트 메모리 셀들의 어레이(즉, 도 6에 도시된 것과 같음)의 다른 구성을 도시한다. 도 19의 어레이에 대한 라인들은, 선택 게이트 라인들(28a)이 수직으로 이어지고 그들 중에서 메모리 셀들의 각각의 컬럼에 대한 것으로 2개가 있다는 점을 제외하면, 도 15 및 도 16에서의 것과 동일하다. 구체적으로, 메모리 셀들의 각각의 컬럼은 2개의 선택 게이트 라인들, 즉 홀수 로우 메모리 셀들의 모든 선택 게이트들(28)을 함께 접속시키는 제1 선택 게이트 라인(28a1), 및 짝수 로우 메모리 셀들의 모든 선택 게이트들(28)을 함께 접속시키는 제2 선택 게이트 라인(28a2)을 포함한다.
도 19의 상부 및 저부에서의 회로들은 입력 전류들(Iin0... IinN)을 입력 전압들(Vin0.. VinN)로 로그-변환하는 역할을 한다. 이 도면에 도시된 행렬 입력들은 Vin0... Vin5이고, 선택 게이트 라인들(28a1, 28a2) 상에 배치된다. 구체적으로, 입력(Vin0)은 컬럼 1의 홀수 셀들에 대한 선택 게이트 라인(28a1) 상에 배치된다. Vin1은 컬럼 1의 짝수 셀들에 대한 선택 게이트 라인(28a2) 상에 배치된다. Vin2는 컬럼 2의 홀수 셀들에 대한 선택 게이트 라인(28a1) 상에 배치된다. Vin3은 컬럼 2의 짝수 셀들에 대한 선택 게이트 라인(28a2) 상에 배치되고, 등등이다. 행렬 출력들(Iout0... Iout3)은 소스 라인들(14a) 상에 제공된다. 비트 라인들(16a)은 고정 바이어스 전압(VBLrd)으로 바이어싱된다. 각각의 출력(Iout)은 그 로우의 메모리 셀들 중의 모든 셀들에 대해, 셀 전류(I)와 셀에 저장된 가중치(W)의 곱셈의 합이다. 따라서, 이 아키텍처의 경우, 메모리 셀들의 각각의 로우는 그 로우의 메모리 셀들에 저장된 가중치 값들의 합에 의해 지시된 출력 전류(Iout)로서 표현되는 가중치 값을 갖는 단일 시냅스로서 작용한다.
도 20은 게이트 커플링/소스 합산 행렬 승산기로서 배열된 4-게이트 메모리 셀들의 어레이(즉, 도 6에 도시된 것과 같음)의 다른 구성을 도시한다. 도 20의 어레이에 대한 라인들은, 비트 라인들(16a)이 수직으로 이어지고 그들 중에서 메모리 셀들의 각각의 컬럼에 대한 것으로 2개가 있다는 점을 제외하면, 도 19에서의 것과 동일하다. 구체적으로, 메모리 셀들의 각각의 컬럼은 2개의 비트 라인들, 즉 인접한 트윈 메모리 셀들(동일한 비트 라인 콘택트를 공유하는 2개의 메모리 셀들)의 모든 드레인 영역들을 함께 접속시키는 제1 비트 라인(16a1), 및 다음의 인접한 트윈 메모리 셀들의 모든 드레인 영역들을 함께 접속시키는 제2 비트 라인(16a2)을 포함한다. 행렬 입력들(Vin0... VinN)은 선택 게이트 라인들(28a1, 28a2) 상에 남아 있고, 행렬 출력들(Iout0... IoutN)은 소스 라인들(14a) 상에 남아 있다. 모든 제1 비트 라인들(16a1)의 세트는 바이어스 레벨, 예컨대, 1.2 v로 바이어싱되고, 모든 제2 비트 라인들(16a2)의 세트는 다른 바이어스 레벨, 예컨대 0 v로 바이어싱된다. 소스 라인들(14a)은 가상 바이어스 레벨, 예컨대, 0.6 v로 바이어싱된다. 공통 소스 라인(14a)을 공유하는 메모리 셀들의 각각의 쌍에 대해, 출력 전류는 상부 셀에서 하부 셀을 뺀 차동 출력일 것이다. 따라서, 각각의 출력(Iout)은 이러한 차동 출력들의 합이다:
따라서, 이 아키텍처의 경우, 쌍을 이루는 메모리 셀들의 각각의 로우는 그 로우의 쌍을 이루는 메모리 셀들 중의 메모리 셀들에 저장된 가중치 값들에 의해 지시되는 차동 출력들의 합인 출력 전류(Iout)로서 표현되는 가중치 값을 갖는 단일 시냅스로서 작용한다.
도 21은 게이트 커플링/소스 합산 행렬 승산기로서 배열된 4-게이트 메모리 셀들의 어레이(즉, 도 6에 도시된 것과 같음)의 다른 구성을 도시한다. 도 21의 어레이에 대한 라인들은, 소거 게이트 라인들(30a)이 수평으로 이어지고 제어 게이트 라인들(22a)이 수직으로 이어지며 그들 중에서 메모리 셀들의 각각의 컬럼에 대한 것으로 2개가 있다는 점을 제외하면, 도 20에서의 것과 동일하다. 구체적으로, 메모리 셀들의 각각의 컬럼은 2개의 제어 게이트 라인들, 즉 홀수 로우 메모리 셀들의 모든 제어 게이트들(22)을 함께 접속시키는 제1 제어 게이트 라인(22a1), 및 짝수 로우 메모리 셀들의 모든 제어 게이트들(22)을 함께 접속시키는 제2 제어 게이트 라인(22a2)을 포함한다. 행렬 입력들(Vin0... VinN)은 선택 게이트 라인들(28a1, 28a2) 상에 남아 있고, 행렬 출력들(Iout0... IoutN)은 소스 라인들(14a) 상에 남아 있다.
도 22는 소스 합산 행렬 승산기로서 배열된 4-게이트 메모리 셀들의 어레이(즉, 도 6에 도시된 것과 같음)의 다른 구성을 도시한다. 도 22의 어레이에 대한 라인 및 입력들은 도 17에서의 것과 동일하다. 그러나, 출력들이 비트 라인들(16a) 상에 제공되는 것 대신, 그들은 소스 라인들(14a) 상에 제공된다. 행렬 입력들(Vin0... VinN)은 선택 게이트 라인들(28a) 상에 남아 있다.
도 23은 드레인 합산 행렬 승산기로서 배열된 2-게이트 메모리 셀들의 어레이(즉, 도 1에 도시된 것과 같음)의 구성을 도시한다. 도 23의 어레이에 대한 라인들은 수평 소스 라인들(14a)이 수직 소스 라인들(14a)로 대체되었다는 점을 제외하면, 도 5에서의 것과 동일하다. 구체적으로, 각각의 소스 라인(14a)은 그 컬럼의 메모리 셀들 내의 모든 소스 영역들에 접속된다. 행렬 입력들(Vin0... VinN)은 제어 게이트 라인들(22a) 상에 배치된다. 행렬 출력들(Iout0... IoutN)이 비트 라인들(16a) 상에 생성된다. 각각의 출력(Iout)은 컬럼의 모든 셀들에 대해 셀 전류(I)와 셀 내에 저장된 가중치(W)의 곱셈의 합이다: 메모리 셀들의 각각의 컬럼은 그 컬럼에 대한 메모리 셀들에 저장된 가중치 값들의 합에 의해 지시된 출력 전류(Iout)로서 표현되는 가중치 값을 갖는 단일 시냅스로서 작용한다.
도 24는 소스 합산 행렬 승산기로서 배열된 2-게이트 메모리 셀들의 어레이(즉, 도 1에 도시된 것과 같음)의 구성을 도시한다. 도 24의 어레이에 대한 라인들은, 제어 게이트 라인들(22a)이 수직으로 이어지고 그들 중에서 메모리 셀들의 각각의 컬럼에 대한 것으로 2개가 있다는 점을 제외하면, 도 5에서의 것과 동일하다. 구체적으로, 메모리 셀들의 각각의 컬럼은 2개의 제어 게이트 라인들, 즉 홀수 로우 메모리 셀들의 모든 제어 게이트들(22a)을 함께 접속시키는 제1 제어 게이트 라인(22a1), 및 짝수 로우 메모리 셀들의 모든 제어 게이트들(22a)을 함께 접속시키는 제2 선택 게이트 라인(22a2)을 포함한다.
이러한 구성에 대한 행렬 입력들은 Vin0... VinN 이고, 제어 게이트 라인들(22a1, 22a2) 상에 배치된다. 구체적으로, 입력(Vin0)은 컬럼 1의 홀수 로우 셀들에 대한 제어 게이트 라인(22a1) 상에 배치된다. Vin1은 컬럼 1의 짝수 로우 셀들에 대한 제어 게이트 라인(22a2) 상에 배치된다. Vin2는 컬럼 2의 홀수 로우 셀들에 대한 제어 게이트 라인(22a1) 상에 배치된다. Vin3은 컬럼 2의 짝수 로우 셀들에 대한 제어 게이트 라인(22a2) 상에 배치되고, 등등이다. 행렬 출력들(Iout0... IoutN)이 소스 라인들(14a) 상에 생성된다. 공통 소스 라인(14a)을 공유하는 메모리 셀들의 각각의 쌍에 대해, 출력 전류는 상부 셀에서 하부 셀을 뺀 차동 출력일 것이다. 따라서, 이 아키텍처의 경우, 쌍을 이루는 메모리 셀들의 각각의 로우는 그 로우의 쌍을 이루는 메모리 셀들 중의 메모리 셀들에 저장된 가중치 값들에 의해 지시되는 차동 출력들의 합인 출력 전류(Iout)로서 표현되는 가중치 값을 갖는 단일 시냅스로서 작용한다.
도 15, 도 16, 도 19 및 도 20의 실시예들에 대한 예시적인 동작 전압들은 하기를 포함한다:
대략적인 수치 값들은 하기를 포함한다:
도 17, 도 18, 및 도 22의 실시예들에 대한 예시적인 동작 전압들은 하기를 포함한다:
대략적인 수치 값들은 하기를 포함한다:
도 25는 본 발명에 사용하기 위한 예시적인 전류-전압 로그 변환기(50)를 도시한다(WL= 선택 게이트 라인, CG= 제어 게이트 라인, EG= 소거 게이트 라인). 메모리는 약 반전 영역에서 바이어싱된다, 즉, Ids= Io* e( Vg - Vth )/ ㎸t. 도 26은 본 발명에 사용하기 위한 예시적인 전압-전류 로그 변환기(52)를 도시한다. 메모리는 약 반전 영역에서 바이어싱된다. 도 27은 본 발명에 사용하기 위한 Gnd-기준 전류 합산기(54)를 도시한다. 하기의 도 28은 본 발명에 사용하기 위한 Vdd-기준 전류 합산기(56)를 도시한다. 부하의 예들은 다이오드, 비휘발성 메모리 셀, 및 저항기를 포함한다.전술된 메모리 어레이 구성들은 피드포워드(feed-forward) 분류 엔진을 구현한다. 트레이닝은 메모리 셀들에 "가중치" 값들을 저장하는 것(시냅스 어레이를 생성함)에 의해 완료되는데, 이는 개별 셀들의 서브임계-기울기-인자들이 수정되었음을 의미한다. 뉴런들은, 시냅스의 출력들을 합산하고 뉴런 임계치에 따라 발화하거나 발화하지 않는 것(즉, 결정을 행하는 것)에 의해 구현된다.
하기의 단계들이 입력 전류(IE)를 처리하는 데 이용될 수 있다(예컨대, 입력 전류는 직접적으로 이미지 인식을 위한 피처 계산들의 출력으로부터 오고 있다):
단계 1 - 비휘발성 메모리에 의한 보다 용이한 처리를 위해 로그 스케일로 변환.
여기서 a(비) 및 b(바이어스 또는 오프셋)는 상수임
단계 2 - 생성된 바이어스 전압(VBE)을 (서브임계 영역에서) 워드 라인에 인가.
CMOS 트랜지스터의 출력 전류(IDRAIN)는 입력 전압(VGS), 열 전압(UT) 및 카파(kappa)(k = Cox/(Cox+Cdep))와 지수 관계를 가지며, 여기서 Cox 및 Cdep는 플로팅 게이트 상의 전하에 선형적으로 의존적이다.
각각의 셀들의 출력(IDRAIN)은 어레이 또는 어레이의 섹터 내의 각각의 시냅스의 값들을 합산하기 위해 판독 모드에서 함께 결합될 수 있다. 일단 IDRAIN이 합산되었다면, 그것은 전류 비교기에 공급될 수 있고, 단일 지각 신경망에 대한 비교에 따라 "논리" 0 또는 1을 출력할 수 있다. 하나의 지각(하나의 섹터)이 전술되어 있다. 각각의 지각으로부터의 출력은 다수의 지각들에 대한 섹터들의 다음 세트에 공급될 수 있다.
메모리 기반 컨볼루션 신경망에서, 입력들의 세트는 은닉 층 또는 출력 층에 대한 바람직한 결과를 생성하기 위해 특정 가중치들과 승산될 필요가 있다. 상기에서 설명된 바와 같이, 한 가지 기법은 선행 이미지(예를 들어, 수평 방향 및 수직 방향 양측 모두로 이미지를 가로질러 X개 픽셀들만큼 시프트되는 MxM 필터(커널)를 사용하는 NxN 행렬)를 스캔하는 것이다. 픽셀들의 스캐닝은 메모리 어레이로의 충분한 입력들이 있는 한 적어도 부분적으로 동시에 행해질 수 있다. 예를 들어, 도 29에 도시된 바와 같이, M=6의 필터 크기(즉, 36개 픽셀들의 6x6 어레이)가 X= 2의 시프트들을 이용하여 NxN 이미지 어레이를 스캔하는 데 사용될 수 있다. 그 예에서, 필터 내의 제1 로우의 6개 픽셀들이 N2개 입력들의 메모리 어레이로의 입력들 중 처음 6개에 제공된다. 이어서, 필터 내의 제2 로우의 6개 픽셀들이 N2개 입력들의 두번째 N개 입력들의 입력들 중 처음 6개에 제공되고, 등등이다. 이것은 도 29의 도면의 제1 로우에 나타나며, 여기서 점들은 전술된 바와 같은 입력들에 의한 승산을 위해 메모리 어레이에 저장된 가중치들을 나타낸다. 이어서, 필터는 2개 픽셀들만큼 우측으로 시프트되고, 시프트된 필터 내의 제1 로우의 6개 픽셀들이 처음 N개 입력들 중 제3 내지 제8 입력들에 제공되고, 제2 로우의 6개 픽셀들이 두번째 N개 입력들 중 제3 내지 제8 입력들에 제공되고, 등등이다. 일단 필터가 이미지의 우측으로 완전히 시프트되면, 필터는 좌측으로 다시 재위치되지만, 2개 픽셀들만큼 시프트 다운되며, 여기서 프로세스는 전체 NxN 이미지가 스캔될 때까지 다시 반복된다. 각각의 세트의 수평으로 시프트된 스캔은 N2개 메모리 어레이 입력들 중 어느 것에 승산을 위해 데이터가 제공되는지를 보여주는 사다리꼴 형상들로 나타날 수 있다.
따라서, 스캔 사이사이의 2개 픽셀들의 시프트를 이용한 NxN 이미지 어레이의 스캔 및 6x6의 필터 크기는 N2개 입력들 및 ((N-4)/2)2개 로우들을 필요로 한다. 도 30은 메모리 어레이의 가중치들이 필터 스캔을 위해 어떻게 저장되는지를 나타내는 사다리꼴 형상들을 그래프로 도시한다. 각각의 로우의 음영 영역들은 가중치들이 한 세트의 수평 스캔 동안 입력들에 적용되는 것을 나타낸다. 화살표들은 메모리 어레이의 선형 입력 라인들을 나타낸다(예컨대, 입력 데이터를 수신하는 도 15의 입력 라인들(28a)은 메모리 어레이를 완전히 가로질러 선형 방식으로 연장되고, 하나의 라인 각각은 항상 동일한 로우의 메모리 셀들에 액세스하며; 도 19의 어레이의 경우, 입력 라인들 각각은 항상 동일한 컬럼의 메모리 셀들에 액세스한다). 백색 영역들은 어떠한 데이터도 입력들에 공급되고 있지 않음을 나타낸다. 따라서, 백색 영역들은 메모리 셀 어레이의 비효율적인 사용을 나타낸다.
도 31에 도시된 바와 같이 메모리 어레이들을 재구성함으로써, 효율성이 증가될 수 있고, 입력들의 총 수가 감소될 수 있다. 구체적으로, 메모리 어레이의 입력 라인들은 다른 로우 또는 컬럼으로 주기적으로 시프트되고, 이렇게 하여, 어레이의 미사용 부분들을 감소시키고, 따라서 스캔을 수행하는 데 필요한 어레이 위의 반복된 입력 라인들의 수를 감소시킨다. 구체적으로, 시프트 X= 2인 본 예의 경우, 화살표들은 각각의 입력 라인이 2개의 로우들 또는 2개의 컬럼들만큼 주기적으로 시프트되어, 폭넓게 이격된 메모리 셀 활용 사다리꼴 형상들을 가깝게 이격된 메모리 셀 활용 직사각형 형상들로 변환한다는 것을 나타낸다. 와이어 번들(wire bundle)이 이러한 시프트를 구현하도록 하기 위해 메모리 셀 부분들 사이의 여분의 공간이 필요하지만, 메모리 셀 어레이에 필요한 입력들의 수는 크게 감소된다(단지 5n+6개).
도 32는 도 15의 어레이이지만, 입력 라인들로서 사용되는 라인들(28a)에 대한 2개의 로우들의 주기적인 시프트를 갖는 어레이를 도시한다. 입력 라인들에 대한 로우들의 주기적인 시프트가 도 17, 도 22 및 도 23의 어레이들로 유사하게 구현될 수 있다. 도 33은 도 20의 어레이이지만, 입력 라인들로서 사용되는 라인들(28a1, 28a2)에 대한 2개의 컬럼들의 주기적인 시프트를 갖는 어레이를 도시한다. 입력 라인들에 대한 컬럼의 주기적인 시프트가 도 19, 도 21 및 도 24의 어레이들로 유사하게 구현될 수 있다.
전술된 컨볼루션형 신경망들에 대한 2개의 주요 파라미터는, 필터 크기(즉, 2x2, 3x3, 4x4, 5x5 등) 및 필터 스트라이드(필터가 임의의 주어진 단계에서 x 및 y 방향으로 이동하는 픽셀들의 수)이다. 예를 들어, 도 12 및 도 29 내지 도 31과 관련한 위의 논의를 참조한다. 이들 2개의 주요 파라미터들은 플래시 메모리 어레이의 설계에 의해 구현된다. 플래시 메모리 어레이를 제조하는 데 사용되는 포토리소그래피 마스크는 메모리 어레이 구성, 설계 및 동작을 지시한다. 일단 마스크들이 제조되면, 메모리 어레이 구성 및 동작에 대한 변경들은 실제적으로 가능하지 않다.
일부 응용들의 경우, 필터 크기 및 필터 스트라이드와 같은 주요 파라미터들을 변경할 필요가 있을 수도 있다. 그러나, 그러한 변경은 어레이를 제조하는 데 사용되는 마스크들에서 구현되었을 것이다. 달리 말하면, 그러한 변경들을 구현하는 유일한 방식은, 메모리 어레이를 재설계하고, 새로운 마스크들을 생성함으로써 새로운 설계를 구현하는 것일 것이다. 임의의 주어진 메모리 어레이 설계, 및 이를 제조하기 위해 생성되는 마스크들은, 상이한 필터 크기 및/또는 필터 스트라이드를 갖는 다른 응용들에 이용될 수 없다.
이러한 문제에 대한 해결책은, 필터 크기 및 필터 스트라이드 범위들의 한 측면에서 메모리 어레이를 구축하고, 제품 제조의 최종 단계들 동안(즉, 최종 테스트 분류 동안) 필터 크기 및 필터 스트라이드를 갖는 메모리 어레이를 프로그래밍하는 방식을 제공하는 것이다. 이는 동일한 마스크들이 상이한 필터 크기들 및 필터 스트라이드들을 갖는 메모리 어레이 신경망 디바이스들을 제조하는 데 사용될 수 있게 할 것이다. 이러한 프로그래밍은, 특정 메모리 셀들을 디스에이블하여 이들을 선택적으로 셧다운함으로써 구현될 수 있다. 메모리 셀을 디스에이블하는 것은 하나 이상의 방식으로 구현될 수 있다. 메모리 셀을 디스에이블하기 위한 가장 신뢰성 있는 기법은, 다른 셀들의 출력들이 수집되는 라인으로부터 메모리 셀을 접속해제하는 것이다. 예를 들어, 셀 출력들이 비트 라인들 상에서 수집되는(즉, 합산되는) 경우, 메모리 셀의 드레인 영역은 비트 라인으로부터 접속해제된다. 이는 메모리 셀에 대한 비트 라인 콘택트를 제거하기 위해 포토리소그래피 및 에칭 단계에 의해 행해질 수 있다. 비트 라인 콘택트는 메모리 셀의 드레인을 비트 라인에 접속시키는 수직 커넥터이다. 그러한 콘택트를 에칭하는 것은, 메모리 셀의 드레인과 임의의 비트 라인 사이에 전기적 접속이 없음을 의미한다. 셀 출력들이 소스 라인들 상에서 수집되는 경우, 메모리 셀의 소스 영역은 소스 라인으로부터 접속해제되지만, 일부 구현예들에서는, 그것이 더 어렵거나 또는 실현가능하지 않을 수도 있다. 대안적으로, 퓨즈가, 각각의 셀에 대해, 메모리 셀 드레인과 비트 라인 사이에, 또는 소스와 소스 라인 사이에 배치될 수 있다. 임의의 인에이블된 메모리 셀에 대한 퓨즈는 전도성 상태에 있다. 임의의 디스에이블된 메모리 셀에 대한 퓨즈는 비전도성 상태에 있다(즉, 그것은 메모리 셀을 비트 라인 또는 소스 라인으로부터 접속해제하기 위해 끊어져 개방된다). 드레인(16)과 비트 라인(16a) 사이의 비트 라인 콘택트(60)가 (우측 셀로부터) 제거된 것을 보여주는 도 34a, 융기된 소스 라인(14a)과 소스(14) 사이의 소스 라인 콘택트(62)가 제거된 것을 보여주는 도 34b, 비트 라인 콘택트들(60) 상의 퓨즈들(64)을 보여주는 도 34c, 및 소스 라인 콘택트(62) 상의 퓨즈(64)를 보여주는 도 34d를 참조한다. 그러나, 퓨즈는, 그 대신, 소스/드레인과 소스/비트 라인 사이의 전체 접속부를 구성할 수 있다는 것에 유의해야 한다. 비트 라인 콘택트 또는 소스 라인 콘택트의 제거 또는 퓨징(fusing)은, 도 6의 4개의 게이트 셀 구조물을 활용하는 메모리 어레이로 유사하게 구현될 수 있다.
메모리 셀을 디스에이블하기 위한 제2 기법은, 메모리 셀의 게이트들 중 하나 이상을 연관된 게이트 라인(들)으로부터 접속해제하는 것이다. 예를 들어, 게이트 라인 콘택트를 제거하기 위한 포토리소그래피 및 에칭 단계가 수행될 수 있다. 대안적으로, 퓨즈가 메모리 셀 게이트와 게이트 라인 사이에 배치될 수 있으며, 이는 이 둘을 접속해제하기 위해 끊어져 개방된다. 이는, 메모리 셀이 소거된 후 나중에 턴온되는 것을 방지할 것이다. 게이트 라인 콘택트(66)가 (우측 셀로부터) 제거된 것을 보여주는 도 35a, 및 게이트 라인 콘택트들(66) 상의 퓨즈들(64)을 보여주는 도 35b를 참조한다. 그러나, 퓨즈는, 그 대신, 게이트와 게이트 라인 사이의 전체 접속부를 구성할 수 있다는 것에 유의해야 한다. 게이트 라인 콘택트의 제거 또는 퓨징은 도 6의 4개의 게이트 셀 구조물을 활용하는 메모리 어레이로 유사하게 구현될 수 있는데, 여기서 선택 게이트, 제어 게이트 및 소거 게이트 중 하나 이상이 그들의 연관된 게이트 라인(들)으로부터 접속해제될 수 있다. 접속해제된 게이트가 플로팅할 것이기 때문에, 셀을 통한 일부 누설이 발생할 수 있다. 따라서, 이러한 제2 기법의 신뢰성은, 디스에이블되지 않은 다른 셀들을 수반하는 후속 동작들 동안 그러한 누설을 방지하기에 충분한 전자들로 플로팅 게이트를 프로그래밍함으로써 향상될 수 있다. 이러한 프로그래밍은, 게이트 라인 콘택트가 제거되고/되거나 그 위에 있는 퓨즈가 끊어지기 전에 발생할 수 있다. 선택된 메모리 셀들을 디스에이블하기 위해 제1 기법과 제2 기법을 조합하는 것이 또한 가능하다.
도 36은 입력 신호들이 수직 연장 라인들(예컨대, 선택 게이트 라인들(28a), 제어 게이트 라인들(22a) 등) 상에 배치되고 출력 신호들이 수평 연장 라인들(예컨대, 소스 라인들(14a) 등) 상에 생성되는 전술된 어레이 구성들 중 하나의 구성에서 또는 그와 유사하게, 스트라이드 1의 4x4 필터에 대한 스캔의 시작 시에 수반되는 메모리 셀들을 도시한다. (점선 박스 내측의) 제1 로우 내의 16개의 메모리 셀들이 스캔의 초기 부분에 필요하다. 이어서, 스트라이드 1에 의하면, 다음 메모리 셀 로우에 대해 하나의 메모리 셀만큼 우측으로의 시프트가 있으며, 여기서 (우측으로 1만큼 시프트된) 제2 로우 내의 16개의 메모리 셀들이 스캔의 다음 부분에 필요하고, 등등이다. 이러한 구성에서, 스캔에 사용되지 않는 어레이 내의 메모리 셀들에 의한 임의의 잘못된 누설 또는 전압 기여가 에러에 기여할 수 있다. 그러한 가능한 에러 공급원을 감소시키거나 제거하기 위해, 스캔에 사용되지 않는 각각의 로우 내의 메모리 셀들은 디스에이블된다. 이는 도 37에 나타나 있으며, 여기서 스캔에 사용되는 메모리 셀들(10a)은 인에이블된 채로 유지되고, 스캔에 사용되지 않는 메모리 셀들(10b)("X"로 마킹됨)은 전술된 기법들 중 하나 또는 둘 모두를 이용하여 디스에이블된다. 디스에이블된 메모리 셀들(10b)은, 동일한 로우 내의 인에이블된 셀들(10a)의 출력에 기여하는 것이 방지된다.
도 38은, 스트라이드 1이 스트라이드 2로 변경된다는 점을 제외하면, 도 37에서의 구성과 동일한 구성을 도시한다. 도 39는, 스캔이 어레이의 각각의 로우 내의 9개의 인에이블된 셀들을 수반하는, 3x3 필터에 대한 것이라는 점을 제외하면, 도 37에서의 구성과 동일한 구성을 도시한다.
도 40은 입력 신호들이 수평 연장 라인들(예컨대, 선택 게이트 라인들(28a), 제어 게이트 라인들(22a) 등) 상에 배치되고 출력 신호들이 수직 연장 라인들(예컨대, 소스 라인들(14a), 비트 라인들(16a), 등) 상에 생성되는 전술된 어레이 구성들 중 하나의 구성에서 또는 그와 유사하게, 스트라이드 1의 3x3 필터에 대한 스캔의 시작 시에 수반되는 메모리 셀들을 도시한다. (점선 박스 내측의) 제1 컬럼 내의 9개의 메모리 셀들이 스캔의 초기 부분에 필요하다. 이어서, 스트라이드 1에 의하면, 다음 메모리 셀 컬럼에 대해 하나의 메모리 셀만큼 하향 시프트가 있으며, 여기서 (아래로 1만큼 시프트된) 제2 컬럼 내의 9개의 메모리 셀들이 스캔의 다음 부분에 필요하고, 등등이다. 스캔에 사용되지 않는 각각의 컬럼에 있는 메모리 셀들(10b)은, 동일한 컬럼에 있는 인에이블된 셀들(10a)의 출력에 기여하는 것을 방지하도록 디스에이블된다.
앞서 증명된 바와 같이, 동일한 세트의 초기 마스크들 및 처리 단계들에 의해 형성되는 동일한 메모리 어레이 아키텍처는, 상이한 필터 크기의 스캔을 수행하는 데 이용될 수 있다. 특정 메모리 셀들이 특정 필터 크기에 대한 성능을 맞춤화하도록 디스에이블되고, 그 필터 크기의 스캔에 의해 사용되지 않는 디스에이블된 셀들이 인에이블된 메모리 셀들로부터의 출력 신호들에 기여하는 것을 방지하는 것은, 제조 프로세스에서의, 또는 심지어 제조 프로세스 이후에서의 나중의 일일뿐이다.
본 발명은 전술되고 본 명세서에 예시된 실시예(들)로 제한되는 것이 아니라, 임의의 청구항들의 범주 내에 있는 임의의 그리고 모든 변형들을 포괄한다는 것이 이해될 것이다. 예를 들어, 본 명세서에서 본 발명에 대한 언급은 임의의 청구항 또는 청구항 용어의 범주를 제한하도록 의도되는 것이 아니라, 대신에, 하나 이상의 청구항들에 의해 커버될 수 있는 하나 이상의 특징들에 대해 언급하는 것일 뿐이다. 전술된 재료들, 프로세스들, 및 수치 예들은 단지 예시적일 뿐이며, 청구범위를 제한하는 것으로 간주되어서는 안 된다. 재료의 단일 층이 그러한 또는 유사한 재료들의 다수의 층들로서 형성될 수 있고, 그 역도 가능하다. 각각의 메모리 셀 어레이의 출력들이 다음 뉴런 층으로 보내지기 전에 필터 응축에 의해 조작되지만, 반드시 그러할 필요는 없다.
본 명세서에 사용되는 바와 같이, "~ 위에" 및 "~ 상에"라는 용어들 양쪽 모두는 포괄적으로 "~ 상에 직접적으로"(사이에 어떠한 중간의 재료들, 요소들 또는 공간도 배치되지 않음)와 "~ 상에 간접적으로"(사이에 중간의 재료들, 요소들 또는 공간이 배치됨)를 포함한다는 것에 주의하여야 한다. 마찬가지로, "인접한"이라는 용어는 "직접적으로 인접한"(사이에 어떠한 중간의 재료들, 요소들 또는 공간도 배치되지 않음)과 "간접적으로 인접한"(사이에 중간의 재료들, 요소들 또는 공간이 배치됨)을 포함하고, "~에 실장되는"이라는 용어는 "~에 직접적으로 실장되는"(사이에 어떠한 중간의 재료들, 요소들 또는 공간도 배치되지 않음)과 "~에 간접적으로 실장되는"(사이에 중간의 재료들, 요소들 또는 공간이 배치됨)을 포함하고, 그리고 "전기적으로 커플링되는"이라는 용어는 "~에 전기적으로 직접적으로 커플링되는"(사이에 요소들을 전기적으로 함께 접속시키는 어떠한 중간의 재료들 또는 요소들도 없음)과 "~에 전기적으로 간접적으로 커플링되는"(사이에 요소들을 전기적으로 함께 접속시키는 중간의 재료들 또는 요소들이 있음)을 포함한다. 예를 들어, "기판 위에" 요소를 형성하는 것은 어떠한 중간의 재료들/요소들도 사이에 두지 않고 기판 상에 직접적으로 요소를 형성하는 것뿐만 아니라 하나 이상의 중간의 재료들/요소들을 사이에 두고 기판 상에 간접적으로 요소를 형성하는 것을 포함할 수 있다.
Claims (16)
- 메모리 어레이로서,
로우(row)들 및 컬럼(column)들로 배열되는 복수의 메모리 셀들 - 상기 메모리 셀들 각각은
반도체 기판 내에 형성되고 채널 영역이 사이에 연장되어 있는 이격된 소스 영역과 드레인 영역,
상기 채널 영역의 제1 부분 위에 배치되면서 그로부터 절연되는 플로팅 게이트, 및
상기 채널 영역의 제2 부분 위에 배치되면서 그로부터 절연되는 제2 게이트를 포함함 -;
각각이 상기 컬럼들 중 대응하는 하나를 따라 연장되는 복수의 비트 라인들 - 상기 비트 라인들 각각 및 그의 대응하는 컬럼에 대해, 상기 비트 라인은 상기 대응하는 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 드레인 영역들에 전기적으로 접속되며, 상기 대응하는 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 드레인 영역들로부터 전기적으로 격리되고, 따라서 컬럼 각각에 대해, 컬럼에 있는 제2 그룹의 하나 이상의 메모리 셀들의 드레인 영역이 상기 컬럼을 따라 연장되는 전도성 라인에 전기적으로 접속되지 않음 - ;
각각이 상기 컬럼들 중 하나의 컬럼에 있거나 또는 상기 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 소스 영역들에 전기적으로 접속된 복수의 소스 라인들; 및
각각이 상기 컬럼들 중 하나의 컬럼에 있거나 또는 상기 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 제2 게이트들에 전기적으로 접속된 복수의 게이트 라인들을 포함하는, 메모리 어레이. - 제1항에 있어서, 상기 비트 라인들 각각 및 그의 대응하는 컬럼에 대해, 상기 메모리 어레이는,
각각이 상기 제1 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 드레인 영역을 상기 비트 라인에 전기적으로 접속시키는 복수의 비트 라인 콘택트들을 추가로 포함하는, 메모리 어레이. - 제2항에 있어서, 상기 비트 라인들 각각 및 그의 대응하는 컬럼에 대해, 상기 제2 그룹 내의 메모리 셀들 각각은 상기 드레인 영역을 상기 비트 라인에 전기적으로 접속시키는 비트 라인 콘택트가 없는, 메모리 어레이.
- 제1항에 있어서, 상기 비트 라인들 각각 및 그의 대응하는 컬럼에 대해, 상기 메모리 어레이는,
각각이 상기 제1 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 드레인 영역과 상기 비트 라인 사이에 전기적으로 접속된 복수의 제1 퓨즈들 - 상기 제1 퓨즈들 각각은 전도성 상태에 있음 -; 및
각각이 상기 제2 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 드레인 영역과 상기 비트 라인 사이에 전기적으로 접속된 복수의 제2 퓨즈들 - 상기 제2 퓨즈들 각각은 비전도성 상태에 있음 - 을 추가로 포함하는, 메모리 어레이. - 제1항에 있어서,
상기 로우들 중 제1 로우는 로우 방향으로 서로 인접하게 위치되는 제1 복수의 메모리 셀들을 포함하는데, 상기 제1 복수의 메모리 셀들 각각에 대한 드레인 영역은 상기 비트 라인들 중 하나에 전기적으로 접속되고;
상기 로우들 중 상기 제1 로우는 상기 로우 방향으로 상기 제1 복수의 메모리 셀들을 둘러싸는 제2 복수의 메모리 셀들을 포함하는데, 상기 제2 복수의 메모리 셀들 각각에 대한 드레인 영역은 상기 비트 라인들 중 어느 것에도 전기적으로 접속되지 않고;
상기 로우들 중 제2 로우는 상기 로우들 중 상기 제1 로우에 인접하고, 상기 로우 방향으로 서로 인접하게 위치되는 제3 복수의 메모리 셀들을 포함하는데, 상기 제3 복수의 메모리 셀들 각각에 대한 드레인 영역은 상기 비트 라인들 중 하나에 전기적으로 접속되고;
상기 로우들 중 상기 제2 로우는 상기 로우 방향으로 상기 제3 복수의 메모리 셀들을 둘러싸는 제4 복수의 메모리 셀들을 포함하는데, 상기 제4 복수의 메모리 셀들 각각에 대한 드레인 영역은 상기 비트 라인들 중 어느 것에도 전기적으로 접속되지 않고;
상기 제1 복수의 메모리 셀들 중 하나의 메모리 셀 및 상기 제4 복수의 메모리 셀들 중 하나의 메모리 셀은 동일한 컬럼에 있는, 메모리 어레이. - 제5항에 있어서, 상기 비트 라인들 중 하나는 상기 제1 복수의 메모리 셀들 중 하나의 메모리 셀의 드레인 영역에 전기적으로 접속되고, 상기 로우들 중 상기 제2 로우에 있는 메모리 셀들의 어떠한 드레인 영역에도 전기적으로 접속되지 않는, 메모리 어레이.
- 메모리 어레이로서,
로우들 및 컬럼들로 배열되는 복수의 메모리 셀들 - 상기 메모리 셀들 각각은
반도체 기판 내에 형성되고 채널 영역이 사이에 연장되어 있는 이격된 소스 영역과 드레인 영역,
상기 채널 영역의 제1 부분 위에 배치되면서 그로부터 절연되는 플로팅 게이트, 및
상기 채널 영역의 제2 부분 위에 배치되면서 그로부터 절연되는 제2 게이트를 포함함 -;
각각이 상기 로우들 또는 컬럼들 중 대응하는 하나를 따라 연장되는 복수의 소스 라인들 - 상기 소스 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 소스 라인은 상기 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 소스 영역들에 전기적으로 접속되며, 상기 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 소스 영역들로부터 전기적으로 격리되고, 따라서 대응하는 하나의 로우 또는 컬럼 각각에 대해, 대응하는 하나의 로우 또는 컬럼에 있는 제2 그룹의 하나 이상의 메모리 셀들의 소스 영역이 상기 대응하는 하나의 로우 또는 컬럼을 따라 연장되는 전도성 라인에 전기적으로 접속되지 않음 - ;
각각이 상기 컬럼들 중 하나의 컬럼에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 드레인 영역들에 전기적으로 접속된 복수의 비트 라인들; 및
각각이 상기 컬럼들 중 하나의 컬럼에 있거나 또는 상기 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 제2 게이트들에 전기적으로 접속된 복수의 게이트 라인들을 포함하는, 메모리 어레이. - 제7항에 있어서, 상기 소스 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 메모리 어레이는,
각각이 상기 제1 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 소스 영역을 상기 소스 라인에 전기적으로 접속시키는 복수의 소스 라인 콘택트들을 추가로 포함하는, 메모리 어레이. - 제8항에 있어서, 상기 소스 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 제2 그룹 내의 메모리 셀들 각각은 상기 소스 영역을 상기 소스 라인에 전기적으로 접속시키는 소스 라인 콘택트가 없는, 메모리 어레이.
- 제7항에 있어서, 상기 소스 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 메모리 어레이는,
각각이 상기 제1 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 소스 영역과 상기 소스 라인 사이에 전기적으로 접속된 복수의 제1 퓨즈들 - 상기 제1 퓨즈들 각각은 전도성 상태에 있음 -; 및
각각이 상기 제2 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 소스 영역과 상기 소스 라인 사이에 전기적으로 접속된 복수의 제2 퓨즈들 - 상기 제2 퓨즈들 각각은 비전도성 상태에 있음 - 을 추가로 포함하는, 메모리 어레이. - 제7항에 있어서,
상기 로우들 중 제1 로우는 로우 방향으로 서로 인접하게 위치되는 제1 복수의 메모리 셀들을 포함하는데, 상기 제1 복수의 메모리 셀들 각각에 대한 소스 영역은 상기 소스 라인들 중 하나에 전기적으로 접속되고;
상기 로우들 중 상기 제1 로우는 상기 로우 방향으로 상기 제1 복수의 메모리 셀들을 둘러싸는 제2 복수의 메모리 셀들을 포함하는데, 상기 제2 복수의 메모리 셀들 각각에 대한 소스 영역은 상기 소스 라인들 중 어느 것에도 전기적으로 접속되지 않고;
상기 로우들 중 제2 로우는 상기 로우들 중 상기 제1 로우에 인접하고, 상기 로우 방향으로 서로 인접하게 위치되는 제3 복수의 메모리 셀들을 포함하는데, 상기 제3 복수의 메모리 셀들 각각에 대한 소스 영역은 상기 소스 라인들 중 하나에 전기적으로 접속되고;
상기 로우들 중 상기 제2 로우는 상기 로우 방향으로 상기 제3 복수의 메모리 셀들을 둘러싸는 제4 복수의 메모리 셀들을 포함하는데, 상기 제4 복수의 메모리 셀들 각각에 대한 소스 영역은 상기 소스 라인들 중 어느 것에도 전기적으로 접속되지 않고;
상기 제1 복수의 메모리 셀들 중 하나의 메모리 셀 및 상기 제4 복수의 메모리 셀들 중 하나의 메모리 셀은 동일한 컬럼에 있는, 메모리 어레이. - 메모리 어레이로서,
로우들 및 컬럼들로 배열되는 복수의 메모리 셀들 - 상기 메모리 셀들 각각은
반도체 기판 내에 형성되고 채널 영역이 사이에 연장되어 있는 이격된 소스 영역과 드레인 영역,
상기 채널 영역의 제1 부분 위에 배치되면서 그로부터 절연되는 플로팅 게이트, 및
상기 채널 영역의 제2 부분 위에 배치되면서 그로부터 절연되는 제2 게이트를 포함함 -;
각각이 상기 로우들 또는 컬럼들 중 대응하는 하나를 따라 연장되는 복수의 게이트 라인들 - 상기 게이트 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 게이트 라인은 상기 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제1 그룹의 하나 이상의 메모리 셀들의 제2 게이트들에 전기적으로 접속되며, 상기 대응하는 하나의 로우 또는 컬럼에 있는 메모리 셀들 중 제2 그룹의 하나 이상의 메모리 셀들의 제2 게이트들로부터 전기적으로 격리되고, 따라서 대응하는 하나의 로우 또는 컬럼 각각에 대해, 대응하는 하나의 로우 또는 컬럼에 있는 제2 그룹의 하나 이상의 메모리 셀들의 제2 게이트가 상기 대응하는 하나의 로우 또는 컬럼을 따라 연장되는 전도성 라인에 전기적으로 접속되지 않음 - ;
각각이 상기 컬럼들 중 하나의 컬럼에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 드레인 영역들에 전기적으로 접속된 복수의 비트 라인들; 및
각각이 상기 컬럼들 중 하나의 컬럼에 있거나 또는 상기 로우들 중 하나의 로우에 있는 메모리 셀들 중 적어도 일부 메모리 셀의 소스 영역들에 전기적으로 접속된 복수의 소스 라인들을 포함하는, 메모리 어레이. - 제12항에 있어서, 상기 게이트 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 메모리 어레이는,
각각이 상기 제1 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 제2 게이트를 상기 게이트 라인에 전기적으로 접속시키는 복수의 게이트 라인 콘택트들을 추가로 포함하는, 메모리 어레이. - 제13항에 있어서, 상기 게이트 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 제2 그룹 내의 메모리 셀들 각각은 상기 제2 게이트를 상기 게이트 라인에 전기적으로 접속시키는 게이트 라인 콘택트가 없는, 메모리 어레이.
- 제12항에 있어서, 상기 게이트 라인들 각각 및 그의 대응하는 하나의 로우 또는 컬럼에 대해, 상기 메모리 어레이는,
각각이 상기 제1 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 제2 게이트와 상기 게이트 라인 사이에 전기적으로 접속된 복수의 제1 퓨즈들 - 상기 제1 퓨즈들 각각은 전도성 상태에 있음 -; 및
각각이 상기 제2 그룹 내의 메모리 셀들 중 하나의 메모리 셀의 제2 게이트와 상기 게이트 라인 사이에 전기적으로 접속된 복수의 제2 퓨즈들 - 상기 제2 퓨즈들 각각은 비전도성 상태에 있음 - 을 추가로 포함하는, 메모리 어레이. - 제12항에 있어서,
상기 로우들 중 제1 로우는 로우 방향으로 서로 인접하게 위치되는 제1 복수의 메모리 셀들을 포함하는데, 상기 제1 복수의 메모리 셀들 각각에 대한 상기 제2 게이트는 상기 게이트 라인들 중 하나에 전기적으로 접속되고;
상기 로우들 중 상기 제1 로우는 상기 로우 방향으로 상기 제1 복수의 메모리 셀들을 둘러싸는 제2 복수의 메모리 셀들을 포함하는데, 상기 제2 복수의 메모리 셀들 각각에 대한 상기 제2 게이트는 상기 게이트 라인들 중 어느 것에도 전기적으로 접속되지 않고;
상기 로우들 중 제2 로우는 상기 로우들 중 상기 제1 로우에 인접하고, 상기 로우 방향으로 서로 인접하게 위치되는 제3 복수의 메모리 셀들을 포함하는데, 상기 제3 복수의 메모리 셀들 각각에 대한 상기 제2 게이트는 상기 게이트 라인들 중 하나에 전기적으로 접속되고;
상기 로우들 중 상기 제2 로우는 상기 로우 방향으로 상기 제3 복수의 메모리 셀들을 둘러싸는 제4 복수의 메모리 셀들을 포함하는데, 상기 제4 복수의 메모리 셀들 각각에 대한 상기 제2 게이트는 상기 게이트 라인들 중 어느 것에도 전기적으로 접속되지 않고;
상기 제1 복수의 메모리 셀들 중 하나의 메모리 셀 및 상기 제4 복수의 메모리 셀들 중 하나의 메모리 셀은 동일한 컬럼에 있는, 메모리 어레이.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762558984P | 2017-09-15 | 2017-09-15 | |
US62/558,984 | 2017-09-15 | ||
US16/107,282 US10580492B2 (en) | 2017-09-15 | 2018-08-21 | System and method for implementing configurable convoluted neural networks with flash memories |
US16/107,282 | 2018-08-21 | ||
PCT/US2018/047438 WO2019055182A1 (en) | 2017-09-15 | 2018-08-22 | SYSTEM AND METHOD FOR IMPLEMENTING CONVOLUTE NEURAL NETWORKS CONFIGURABLE WITH FLASH MEMOIRES |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200036924A KR20200036924A (ko) | 2020-04-07 |
KR102307675B1 true KR102307675B1 (ko) | 2021-10-01 |
Family
ID=65721171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207006596A KR102307675B1 (ko) | 2017-09-15 | 2018-08-22 | 플래시 메모리를 갖는 구성가능 컨볼루션형 신경망을 구현하기 위한 시스템 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10580492B2 (ko) |
EP (3) | EP4235513A3 (ko) |
JP (1) | JP7250776B2 (ko) |
KR (1) | KR102307675B1 (ko) |
CN (1) | CN111095553B (ko) |
TW (1) | TWI693610B (ko) |
WO (1) | WO2019055182A1 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6833873B2 (ja) | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
US10803943B2 (en) | 2017-11-29 | 2020-10-13 | Silicon Storage Technology, Inc. | Neural network classifier using array of four-gate non-volatile memory cells |
US11636325B2 (en) | 2018-10-24 | 2023-04-25 | Macronix International Co., Ltd. | In-memory data pooling for machine learning |
US11562229B2 (en) * | 2018-11-30 | 2023-01-24 | Macronix International Co., Ltd. | Convolution accelerator using in-memory computation |
US11934480B2 (en) | 2018-12-18 | 2024-03-19 | Macronix International Co., Ltd. | NAND block architecture for in-memory multiply-and-accumulate operations |
US11409352B2 (en) | 2019-01-18 | 2022-08-09 | Silicon Storage Technology, Inc. | Power management for an analog neural memory in a deep learning artificial neural network |
US11270763B2 (en) | 2019-01-18 | 2022-03-08 | Silicon Storage Technology, Inc. | Neural network classifier using array of three-gate non-volatile memory cells |
US11023559B2 (en) | 2019-01-25 | 2021-06-01 | Microsemi Soc Corp. | Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit |
US11144824B2 (en) * | 2019-01-29 | 2021-10-12 | Silicon Storage Technology, Inc. | Algorithms and circuitry for verifying a value stored during a programming operation of a non-volatile memory cell in an analog neural memory in deep learning artificial neural network |
US10720217B1 (en) | 2019-01-29 | 2020-07-21 | Silicon Storage Technology, Inc. | Memory device and method for varying program state separation based upon frequency of use |
US11423979B2 (en) * | 2019-04-29 | 2022-08-23 | Silicon Storage Technology, Inc. | Decoding system and physical layout for analog neural memory in deep learning artificial neural network |
US20200349422A1 (en) * | 2019-05-02 | 2020-11-05 | Silicon Storage Technology, Inc. | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
US11521658B2 (en) | 2019-06-25 | 2022-12-06 | Sandisk Technologies Llc | Binary weighted voltage encoding scheme for supporting multi-bit input precision |
US20210034953A1 (en) * | 2019-08-02 | 2021-02-04 | Applied Materials, Inc. | Reconfigurable finfet-based artificial neuron and synapse devices |
US11507816B2 (en) * | 2019-09-19 | 2022-11-22 | Silicon Storage Technology, Inc. | Precision tuning for the programming of analog neural memory in a deep learning artificial neural network |
KR102514932B1 (ko) * | 2021-04-16 | 2023-03-29 | 한국과학기술원 | 기계 학습용 아날로그 내적 연산기, 이를 이용한 기계 학습 프로세서 및 학습 방법 |
KR102590585B1 (ko) * | 2021-08-10 | 2023-10-16 | 고려대학교 산학협력단 | 3 전극 대각 멤트랜지스터 시스템, 이를 이용한 컨볼루션 네트워크 연산 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160254269A1 (en) * | 2015-02-27 | 2016-09-01 | Silicon Storage Technology, Inc. | Array Of Non-volatile Memory Cells With ROM Cells |
Family Cites Families (36)
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 |
US5146602A (en) | 1990-12-26 | 1992-09-08 | Intel Corporation | Method of increasing the accuracy of an analog neural network and the like |
US5138576A (en) | 1991-11-06 | 1992-08-11 | Altera Corporation | Method and apparatus for erasing an array of electrically erasable EPROM cells |
DE69319162T2 (de) | 1992-03-26 | 1999-03-25 | Hitachi Vlsi Engineering Corp., Kodaira, Tokio/Tokyo | Flash-Speicher |
US5264734A (en) | 1992-05-19 | 1993-11-23 | Intel Corporation | Difference calculating neural network utilizing switched capacitors |
US5256911A (en) | 1992-06-10 | 1993-10-26 | Intel Corporation | Neural network with multiplexed snyaptic processing |
JP2835272B2 (ja) | 1993-12-21 | 1998-12-14 | 株式会社東芝 | 半導体記憶装置 |
KR0151623B1 (ko) | 1994-12-07 | 1998-10-01 | 문정환 | 이이피롬 셀 및 그 제조방법 |
US5554874A (en) | 1995-06-05 | 1996-09-10 | Quantum Effect Design, Inc. | Six-transistor cell with wide bit-line pitch, double words lines, and bit-line contact shared among four cells |
US6222777B1 (en) | 1999-04-09 | 2001-04-24 | Sun Microsystems, Inc. | Output circuit for alternating multiple bit line per column memory architecture |
US6563167B2 (en) | 2001-01-05 | 2003-05-13 | Silicon Storage Technology, Inc. | Semiconductor memory array of floating gate memory cells with floating gates having multiple sharp edges |
US6563733B2 (en) * | 2001-05-24 | 2003-05-13 | Winbond Electronics Corporation | Memory array architectures based on a triple-polysilicon source-side injection non-volatile memory cell |
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 |
US6822910B2 (en) | 2002-12-29 | 2004-11-23 | Macronix International Co., Ltd. | Non-volatile memory and operating method thereof |
TWI220560B (en) | 2003-10-27 | 2004-08-21 | Powerchip Semiconductor Corp | NAND flash memory cell architecture, NAND flash memory cell array, manufacturing method and operating method of the same |
US7072215B2 (en) * | 2004-02-24 | 2006-07-04 | Taiwan Semiconductor Manufacturing Company | Array structure of two-transistor cells with merged floating gates for byte erase and re-write if disturbed algorithm |
US7315056B2 (en) | 2004-06-07 | 2008-01-01 | Silicon Storage Technology, Inc. | Semiconductor memory array of floating gate memory cells with program/erase and select gates |
US7381615B2 (en) * | 2004-11-23 | 2008-06-03 | Sandisk Corporation | Methods for self-aligned trench filling with grown dielectric for high coupling ratio in semiconductor devices |
TWI270199B (en) | 2005-01-31 | 2007-01-01 | Powerchip Semiconductor Corp | Non-volatile memory and manufacturing method and operating method thereof |
US7304890B2 (en) | 2005-12-13 | 2007-12-04 | Atmel Corporation | Double byte select high voltage line for EEPROM memory block |
US7951669B2 (en) * | 2006-04-13 | 2011-05-31 | Sandisk Corporation | Methods of making flash memory cell arrays having dual control gates per memory cell charge storage element |
TW200847430A (en) * | 2007-05-22 | 2008-12-01 | Chia-Hsing Chen | A MOSFET device and its operation method |
JP2010267341A (ja) | 2009-05-15 | 2010-11-25 | Renesas Electronics Corp | 半導体装置 |
US8909576B2 (en) | 2011-09-16 | 2014-12-09 | International Business Machines Corporation | Neuromorphic event-driven neural computing architecture in a scalable neural network |
US8760955B2 (en) | 2011-10-21 | 2014-06-24 | Taiwan Semiconductor Manufacturing Company, Ltd. | Electrical fuse memory arrays |
US9275748B2 (en) | 2013-03-14 | 2016-03-01 | Silicon Storage Technology, Inc. | Low leakage, low threshold voltage, split-gate flash cell operation |
US10248675B2 (en) | 2013-10-16 | 2019-04-02 | University Of Tennessee Research Foundation | Method and apparatus for providing real-time monitoring of an artifical neural network |
US9299798B2 (en) * | 2013-11-26 | 2016-03-29 | Globalfoundries Singapore Pte. Ltd. | Semiconductor device and methods for forming a semiconductor device |
US20150213898A1 (en) | 2014-01-27 | 2015-07-30 | Silicon Storage Technololgy, Inc. | Byte Erasable Non-volatile Memory Architecture And Method Of Erasing Same |
US9209031B2 (en) * | 2014-03-07 | 2015-12-08 | Sandisk Technologies Inc. | Metal replacement process for low resistance source contacts in 3D NAND |
US9286982B2 (en) | 2014-08-08 | 2016-03-15 | Silicon Storage Technology, Inc. | Flash memory system with EEPROM functionality |
US10312248B2 (en) | 2014-11-12 | 2019-06-04 | Silicon Storage Technology, Inc. | Virtual ground non-volatile memory array |
KR102487526B1 (ko) * | 2015-11-06 | 2023-01-12 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 제조방법 |
US10311958B2 (en) | 2016-05-17 | 2019-06-04 | Silicon Storage Technology, Inc. | Array of three-gate flash memory cells with individual memory cell read, program and erase |
US10269440B2 (en) * | 2016-05-17 | 2019-04-23 | Silicon Storage Technology, Inc. | Flash memory array with individual memory cell read, program and erase |
JP6833873B2 (ja) * | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
-
2018
- 2018-08-21 US US16/107,282 patent/US10580492B2/en active Active
- 2018-08-22 JP JP2020515174A patent/JP7250776B2/ja active Active
- 2018-08-22 EP EP23180121.8A patent/EP4235513A3/en active Pending
- 2018-08-22 KR KR1020207006596A patent/KR102307675B1/ko active IP Right Grant
- 2018-08-22 EP EP23179955.2A patent/EP4235512A3/en active Pending
- 2018-08-22 CN CN201880059542.2A patent/CN111095553B/zh active Active
- 2018-08-22 EP EP18856570.9A patent/EP3665722B1/en active Active
- 2018-08-22 WO PCT/US2018/047438 patent/WO2019055182A1/en unknown
- 2018-09-14 TW TW107132513A patent/TWI693610B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160254269A1 (en) * | 2015-02-27 | 2016-09-01 | Silicon Storage Technology, Inc. | Array Of Non-volatile Memory Cells With ROM Cells |
Non-Patent Citations (1)
Title |
---|
F. M. Bayat 외, "Redesigning Commercial Floating-Gate Memory for Analog Computing Applications," 2015 IEEE International Symposium on Circuits and Systems (ISCAS), 2015. 05. |
Also Published As
Publication number | Publication date |
---|---|
WO2019055182A1 (en) | 2019-03-21 |
JP7250776B2 (ja) | 2023-04-03 |
EP4235513A2 (en) | 2023-08-30 |
EP4235512A3 (en) | 2023-11-01 |
EP4235513A3 (en) | 2023-11-01 |
EP4235512A2 (en) | 2023-08-30 |
KR20200036924A (ko) | 2020-04-07 |
US10580492B2 (en) | 2020-03-03 |
TW201921349A (zh) | 2019-06-01 |
CN111095553B (zh) | 2023-09-01 |
JP2020534686A (ja) | 2020-11-26 |
TWI693610B (zh) | 2020-05-11 |
CN111095553A (zh) | 2020-05-01 |
EP3665722A4 (en) | 2021-10-27 |
US20190088329A1 (en) | 2019-03-21 |
EP3665722B1 (en) | 2023-07-26 |
EP3665722A1 (en) | 2020-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102307675B1 (ko) | 플래시 메모리를 갖는 구성가능 컨볼루션형 신경망을 구현하기 위한 시스템 및 방법 | |
US11790208B2 (en) | Output circuitry for non-volatile memory array in neural network | |
KR102331445B1 (ko) | 인공 신경망에서의 아날로그 뉴로모픽 메모리를 위한 고정밀 및 고효율 튜닝 메커니즘 및 알고리즘 | |
KR102350215B1 (ko) | 2-게이트 비휘발성 메모리 셀들의 어레이를 이용하는 신경망 분류기 | |
KR102607530B1 (ko) | 적층형 게이트 비휘발성 메모리 셀들의 어레이를 이용하는 신경망 분류기 | |
EP3459019A1 (en) | Deep learning neural network classifier using non-volatile memory array | |
KR102350213B1 (ko) | 4-게이트 비휘발성 메모리 셀들의 어레이를 사용하는 신경 네트워크 분류기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |