KR20220156878A - 논리 셀 및 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이 - Google Patents

논리 셀 및 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이 Download PDF

Info

Publication number
KR20220156878A
KR20220156878A KR1020227036139A KR20227036139A KR20220156878A KR 20220156878 A KR20220156878 A KR 20220156878A KR 1020227036139 A KR1020227036139 A KR 1020227036139A KR 20227036139 A KR20227036139 A KR 20227036139A KR 20220156878 A KR20220156878 A KR 20220156878A
Authority
KR
South Korea
Prior art keywords
cell
cells
memory
programming
array
Prior art date
Application number
KR1020227036139A
Other languages
English (en)
Inventor
휴 반 트란
스테펜 트린
튜안 뷰
스티븐 렘케
비핀 티와리
난 도
스탠리 홍
Original Assignee
실리콘 스토리지 테크놀로지 인크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 실리콘 스토리지 테크놀로지 인크 filed Critical 실리콘 스토리지 테크놀로지 인크
Publication of KR20220156878A publication Critical patent/KR20220156878A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • G06N3/0635
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/4013Memory devices with multiple cells per bit, e.g. twin-cells

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)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Logic Circuits (AREA)

Abstract

아날로그 신경 메모리 어레이의 다수의 실시예가 개시된다. 2 개 이상의 물리적 메모리 셀이 함께 그룹화되어, n개의 가능한 레벨 중 하나를 저장하는 논리 셀을 형성한다. 각각의 논리 셀 내에서, 메모리 셀은 상이한 메커니즘을 사용하여 프로그래밍될 수 있다. 예를 들어, 논리 셀에서의 하나 이상의 메모리 셀은 거친 프로그래밍 메커니즘을 사용하여 프로그래밍될 수 있고, 하나 이상의 메모리 셀은 미세 메커니즘을 사용하여 프로그래밍될 수 있고, 하나 이상의 메모리 셀은 튜닝 메커니즘을 사용하여 프로그래밍될 수 있다. 이는 극한 프로그래밍 정확도 및 프로그래밍 속도를 달성한다.

Description

논리 셀 및 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이
우선권 주장
본 출원은 2020년 5월 13일자로 출원되고 명칭이 "논리 셀과 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 뉴럴 메모리 어레이"인 미국 특허 가출원 제63/024,351호, 및 2020년 10월 28일자로 출원되고 명칭이 "논리 셀과 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이"인 미국 특허 출원 제17/082,956호에 대한 우선권을 주장한다.
기술분야
아날로그 신경 메모리 어레이의 다수의 실시예가 개시된다. 2 개 이상의 물리적 메모리 셀이 함께 그룹화되어, n개의 가능한 레벨 중 하나를 저장하는 논리 셀을 형성한다. 각각의 논리 셀 내에서, 메모리 셀은 상이한 메커니즘을 사용하여 프로그래밍될 수 있다. 예를 들어, 논리 셀에서의 하나 이상의 메모리 셀은 거친 프로그래밍 메커니즘을 사용하여 프로그래밍될 수 있고, 하나 이상의 메모리 셀은 미세 메커니즘을 사용하여 프로그래밍될 수 있고, 하나 이상의 메모리 셀은 초미세 메커니즘을 사용하여 프로그래밍될 수 있다. 이는 최적의 면적으로 극도의 프로그래밍 정확도 및 프로그래밍 속도를 달성한다.
인공 신경망은 생물학적 신경망(동물의 중추신경계, 특히 뇌)을 모방하며, 다수의 입력에 의존할 수 있고 일반적으로 알려져 있지 않은 함수를 추정하거나 근사화하는 데 이용된다. 인공 신경망은, 일반적으로, 서로 메시지를 교환하는 상호 연결된 "뉴런(neuron)"의 층을 포함한다.
도 1은 인공 신경망을 예시하며, 여기서 원은 뉴런의 층 또는 입력을 나타낸다. 연결부(시냅스(synapse)로 지칭됨)은 화살표로 표현되며, 경험에 기초하여 튜닝될 수 있는 수치 가중치를 갖는다. 이것은 인공 신경망을 입력에 적응할 수 있게 하고 학습할 수 있게 한다. 통상적으로, 인공 신경망은 다수의 입력의 층을 포함한다. 통상적으로 뉴런의 하나 이상의 중간 층과, 신경망의 출력을 제공하는 뉴런의 출력 층이 있다. 각각의 레벨의 뉴런은 개별적으로 또는 집합적으로 시냅스로부터의 수신된 데이터에 기초하여 결정을 행한다.
고성능 정보 처리를 위한 인공 신경망의 개발에서의 주요 문제 중 하나는 적절한 하드웨어 기술의 결여이다. 사실상, 실제 인공 신경망은 매우 많은 수의 시냅스에 의존하여, 뉴런 사이의 높은 연결성, 즉 매우 높은 계산 병렬성(computational parallelism)을 가능하게 한다. 원리적으로, 이러한 복잡성은 디지털 슈퍼컴퓨터 또는 특수 그래픽 처리 유닛 클러스터로 달성될 수 있다. 그러나, 고비용에 더하여, 이들 접근법은 또한 주로 저정밀 아날로그 계산을 수행하기 때문에 훨씬 적은 에너지를 소비하는 생물학적 망(biological network)과 비교하여 보통의 에너지 효율을 겪는다. 인공 신경망에 CMOS 아날로그 회로가 사용되어 왔지만, 대부분의 CMOS-구현된 시냅스는 많은 수의 뉴런 및 시냅스를 고려해 볼 때 부피가 너무 컸다.
출원인은, 참고로 포함되는 미국 특허 출원 공개 제2017/0337466호로 공개된 미국 특허 출원 제15/594,439호에서 하나 이상의 비휘발성 메모리 어레이를 시냅스로서 이용하는 인공 (아날로그) 신경망을 이전에 개시하였다. 비휘발성 메모리 어레이는 아날로그 뉴로모픽 메모리(analog neuromorphic memory)로서 동작한다. 본원에 사용된 바와 같은, 용어 '뉴로모픽'은 신경계의 모델을 구현하는 회로부를 의미한다. 아날로그 뉴로모픽 메모리는 제1 복수의 입력을 수신하고 그로부터 제1 복수의 출력을 생성하도록 구성된 제1 복수의 시냅스와, 제1 복수의 출력을 수신하도록 구성된 제1 복수의 뉴런을 포함한다. 제1 복수의 시냅스는 복수의 메모리 셀을 포함하는데, 여기서 메모리 셀 각각은 반도체 기판 내에 형성되고 채널 영역이 사이에 연장되는 이격된 소스 영역과 드레인 영역, 채널 영역의 제1 부분 위에 배치되고 그로부터 절연되는 플로팅 게이트, 및 채널 영역의 제2 부분 위에 배치되고 그로부터 절연되는 비-플로팅 게이트를 포함한다. 복수의 메모리 셀 각각은 플로팅 게이트 상의 전자의 수에 대응하는 가중치 값을 저장하도록 구성된다. 복수의 메모리 셀은 제1 복수의 입력을 저장된 가중치 값과 승산하여 제1 복수의 출력을 생성하도록 구성된다. 이러한 방식으로 배열된 메모리 셀의 어레이는 벡터x매트릭스 승산(vector by matrix multiplication, VMM) 어레이로 지칭될 수 있다.
VMM에서 사용될 수 있는 상이한 비휘발성 메모리 셀의 예가 이제 논의될 것이다.
비휘발성 메모리 셀
다양한 타입의 공지된 비휘발성 메모리 셀이 VMM 어레이에서 사용될 수 있다. 예를 들어, 본원에 참고로 포함되는 미국 특허 제5,029,130호("'130 특허")는 플래시 메모리 셀의 한 유형인, 분리형 게이트 비휘발성 메모리 셀의 어레이를 개시하고 있다. 그러한 메모리 셀(210)이 도 2에 도시되어 있다. 각각의 메모리 셀(210)은 반도체 기판(12) 내에 형성된 소스 영역(14) 및 드레인 영역(16)을 포함하며, 그 영역 사이에 채널 영역(18)이 있다. 플로팅 게이트(20)는 채널 영역(18)의 제1 부분 위에 형성되고 그로부터 절연되고 (그리고 그의 전도율을 제어한다), 소스 영역(14)의 일부분 위에 형성된다. 워드 라인 단자(22)(통상적으로 워드 라인에 결합됨)가 채널 영역(18)의 제2 부분 위에 배치되고 그로부터 절연되는(그리고 그의 전도율을 제어하는) 제1 부분, 및 위쪽으로 그리고 플로팅 게이트(20) 위로 연장되는 제2 부분을 갖는다. 플로팅 게이트(20) 및 워드 라인 단자(22)는 게이트 산화물에 의해 기판(12)으로부터 절연된다. 비트 라인 단자(24)가 드레인 영역(16)에 결합된다.
메모리 셀(210)은 워드 라인 단자(22) 상에 높은 양(positive)의 전압을 배치함으로써 소거되는데(여기서 전자가 플로팅 게이트로부터 제거됨), 이는 플로팅 게이트(20) 상의 전자가 파울러-노드하임 터널링(Fowler-Nordheim tunneling)을 통해 중간 절연체를 통과하여 플로팅 게이트(20)로부터 워드 라인 단자(22)로 터널링하게 한다.
메모리 셀(210)은 워드 라인 단자(22) 상에 양의 전압을, 그리고 소스 영역(14) 상에 양의 전압을 배치함으로써 프로그래밍된다(여기서 전자가 플로팅 게이트 상에 배치됨). 전자 전류는 드레인 영역(16)으로부터 소스 영역(14)(소스 라인 단자)으로 흐를 것이다. 전자는 그들이 워드 라인 단자(22)와 플로팅 게이트(20) 사이의 갭에 도달할 때 가속되고 활성화(가열)될 것이다. 가열된 전자 중 일부는 플로팅 게이트(20)로부터의 정전 인력으로 인해 게이트 산화물을 통과하여 플로팅 게이트(20) 상으로 주입될 것이다.
메모리 셀(210)은 드레인 영역(16) 및 워드 라인 단자(22) 상에 양의 판독 전압을 배치함(이는 워드 라인 단자 아래의 채널 영역(18)의 부분을 턴온시킴)으로써 판독된다. 플로팅 게이트(20)가 양으로 대전되면(즉, 전자가 소거되면), 플로팅 게이트(20) 아래의 채널 영역(18)의 부분이 또한 턴온되고, 전류가 채널 영역(18)을 가로질러 흐를 것이며, 이는 소거된 또는 "1" 상태로 감지된다. 플로팅 게이트(20)가 음(negative)으로 대전되면(즉, 전자로 프로그래밍되면), 플로팅 게이트(20) 아래의 채널 영역의 부분은 대부분 또는 완전히 턴오프되고, 전류가 채널 영역(18)을 가로질러 흐르지 않을 것이며(또는 흐름이 거의 없을 것이며), 이는 프로그래밍된 상태 또는 "0" 상태로 감지된다.
표 1은 판독, 소거, 및 프로그래밍 동작을 수행하기 위해 메모리 셀(110)의 단자에 인가될 수 있는 통상적인 전압 범위를 보여준다:
[표 1]
Figure pct00001
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 3은 제어 게이트(CG) 단자(28)가 추가된 도 2의 메모리 셀(210)과 유사한 메모리 셀(310)을 도시한다. 제어 게이트 단자(28)는 프로그래밍에서 고전압, 예를 들어 10V, 소거에서 저전압 또는 음전압, 예를 들어 0v/-8V, 판독에서 저전압 또는 중간 범위 전압, 예를 들어 0v/2.5V로 바이어스된다. 다른 단자는 도 2의 것과 유사하게 바이어스된다.
도 4는 소스 영역(14), 드레인 영역(16), 채널 영역(18)의 제1 부분 위의 플로팅 게이트(20), 채널 영역(18)의 제2 부분 위의 선택 게이트(22)(전형적으로 워드 라인(WL)에 결합됨), 플로팅 게이트(20) 위의 제어 게이트(28), 및 소스 영역(14) 위의 소거 게이트(30)를 포함하는 4-게이트 메모리 셀(410)을 도시한다. 이러한 구성은, 모든 목적을 위해 본원에 참고로 포함되는, 미국 특허 제6,747,310호에 기재되어 있다. 여기서, 모든 게이트는 플로팅 게이트(20)를 제외하고 비-플로팅 게이트이며, 이는 그들이 전압 소스에 전기적으로 연결되거나 연결 가능하다는 것을 의미한다. 프로그래밍은 채널 영역(18)으로부터의 가열된 전자가 플로팅 게이트(20) 상으로 자신을 주입하는 것에 의해 수행된다. 소거는 전자가 플로팅 게이트(20)로부터 소거 게이트(30)로 터널링하는 것에 의해 수행된다.
표 2은 판독, 소거, 및 프로그래밍 동작을 수행하기 위해 메모리 셀(410)의 단자에 인가될 수 있는 통상적인 전압 범위를 보여준다:
[표 2]
Figure pct00002
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 5는 메모리 셀(510)이 소거 게이트(EG) 단자를 포함하지 않는다는 점을 제외하고는 도 4의 메모리 셀(410)과 유사한, 메모리 셀(510)을 도시한다. 소거는 기판(18)을 고전압으로 바이어스하고 제어 게이트(CG) 단자(28)를 저전압 또는 음전압으로 바이어스함으로써 수행된다. 대안적으로, 소거는 워드 라인 단자(22)를 양전압으로 바이어스하고 제어 게이트 단자(28)를 음전압으로 바이어스함으로써 수행된다. 프로그래밍 및 판독은 도 4의 것과 유사하다.
도 6은 플래시 메모리 셀의 다른 유형인 3-게이트 메모리 셀(610)을 도시한다. 메모리 셀(610)은, 메모리 셀(610)이 별개의 제어 게이트 단자를 갖지 않는다는 점을 제외하고는, 도 4의 메모리 셀(410)과 동일하다. 소거 동작(그에 의해 소거 게이트 단자의 사용을 통해 소거가 발생함) 및 판독 동작은, 제어 게이트 바이어스가 인가되지 않는다는 점을 제외하고는, 도 4의 것과 유사하다. 프로그래밍 동작은 또한 제어 게이트 바이어스 없이 행해지고, 결과적으로, 제어 게이트 바이어스의 결여를 보상하기 위해 프로그래밍 동작 동안 소스 라인 단자 상에 더 높은 전압이 인가되어야 한다.
표 3은 판독, 소거, 및 프로그래밍 동작을 수행하기 위해 메모리 셀(610)의 단자에 인가될 수 있는 전형적인 전압 범위를 보여준다:
[표 3]
Figure pct00003
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다.
도 7은 플래시 메모리 셀의 다른 유형인 적층형 게이트 메모리 셀(710)을 도시한다. 메모리 셀(710)은, 절연 층(미도시)에 의해 분리되어, 플로팅 게이트(20)가 전체 채널 영역(18) 위로 연장되고, 제어 게이트 단자(22)(여기서 워드 라인에 결합될 것임)가 플로팅 게이트(20) 위로 연장된다는 점을 제외하고는, 도 2의 메모리 셀(210)과 유사하다. 프로그래밍은 채널(18)로부터 드레인 영역(16) 옆의 채널 영역의 플로팅 게이트(20)로의 핫 전자 주입을 사용하여 수행되고, 소거는 플로팅 게이트(20)로부터 기판(12)으로의 파울러-노르트하임 전자 터널링에 의해 수행된다. 판독 동작은 메모리 셀(210)에 대해 앞서 설명된 것과 유사한 방식으로 동작한다.
표 4는 판독, 소거, 및 프로그래밍 동작을 수행하기 위해 기판(12) 및 메모리 셀(710)의 단자에 인가될 수 있는 전형적인 전압 범위를 보여준다:
[표 4]
Figure pct00004
"판독 1"은 셀 전류가 비트 라인 상에서 출력되는 판독 모드이다. "판독 2"는 셀 전류가 소스 라인 단자 상에서 출력되는 판독 모드이다. 선택적으로, 메모리 셀(210, 310, 410, 510, 610, 또는 710)의 로우(row) 및 칼럼(column)을 포함하는 어레이에서, 소스 라인은 메모리 셀의 하나의 로우에 또는 메모리 셀의 2개의 인접한 로우에 결합될 수 있다. 즉, 소스 라인 단자는 메모리 셀의 인접한 로우에 의해 공유될 수 있다.
도 8은 쌍둥이(twin) 분리형 게이트 메모리 셀(810)을 도시한다. 메모리 셀(810)은, 기판(12) 위에 배치되고 이로부터 절연된 플로팅 게이트(FG)(20), 플로팅 게이트(20) 위에 배치되고 이로부터 절연된 제어 게이트(CG)(28), 플로팅 및 제어 게이트(20/28)에 인접하여 배치되고 이로부터 절연되는 소거 게이트(EG)(30) - 여기서 소거 게이트는 소거 효율을 향상시키기 위해 제어 게이트(CG)의 상부 모서리가 T자형 소거 게이트의 내부 모서리를 대향하도록 T자형으로 생성됨 -, 및 플로팅 게이트(20)에 인접하는 기판 내의 드레인 영역(DR)(16)(드레인 확산 영역(DR)(16)에 연결된 비트 라인 접촉부(BL)(24)를 가짐)을 포함한다. 메모리 셀은 메모리 셀의 쌍(좌측의 A 및 우측의 B)로서 형성되어 공통 소거 게이트(30)를 공유한다. 이 셀 설계는 적어도, 소거 게이트(EG) 아래에 소스 영역이 없고, 각각의 메모리 셀에 선택 게이트(워드 라인으로도 지칭됨), 및 채널 영역이 없다는 점에서, 도 2 내지 도 7을 참조하여 상기 논의된 메모리 셀과는 상이하다. 대신, 단일 연속 채널 영역(18)이 양측의 메모리 셀 아래에서 연장된다(즉, 하나의 메모리 셀의 드레인 영역(16)으로부터 다른 메모리 셀의 드레인 영역(16)으로 연장된다). 하나의 메모리 셀을 판독 또는 프로그래밍하기 위해, 다른 메모리 셀의 제어 게이트(28)는 하부 채널 영역 부분을 그들 사이의 플로팅 게이트(20)와의 전압 커플링을 통해 턴온시키도록 충분한 전압으로 상승된다(예컨대, 셀(A)을 판독 또는 프로그래밍하기 위해, FGB 상의 전압은 CGB로부터의 전압 커플링을 통해 상승되어, FGB 아래의 채널 영역 부분을 턴온시킨다). 소거는 플로팅 게이트(20)로부터 소거 게이트(30)로의 파울러 노르트하임 전자 터널링을 이용하여 수행된다. 프로그래밍은 채널(18)로부터 플로팅 게이트(20)로의 핫 전자 주입을 사용하여 수행되며, 이는 표 5의 프로그래밍 1로서 표시되어 있다. 대안적으로, 프로그래밍은 소거 게이트(30)로부터 플로팅 게이트(20)로의 파울러 노르트하임 전자 터널링을 이용하여 수행되며, 이는 표 5의 프로그래밍 2로서 표시되어 있다. 대안적으로, 프로그래밍은 채널(18)로부터 플로팅 게이트(20)로의 파울러 노르트하임 전자 터널링을 이용하여 수행되며, 이 경우에, 조건은 기판이 낮은 전압 또는 음의 전압으로 바이어스되는 반면 소거 게이트는 낮은 양의 전압으로 바이어스되는 것을 제외하고는 프로그래밍 2와 유사하다.
표 5는 판독, 소거, 및 프로그래밍 동작을 수행하기 위해 메모리 셀(810)의 단자에 인가될 수 있는 전형적인 전압 범위를 보여준다: 셀 A (FG, CGA, BLA)는 판독, 프로그래밍, 및 소거 동작을 위해 선택된다
[표 5]
Figure pct00005
인공 신경망에서 위에서 설명된 비휘발성 메모리 셀의 유형 중 하나를 포함하는 메모리 어레이를 이용하기 위해, 두 가지 수정이 이루어진다. 첫째, 라인은, 하기에서 추가로 설명되는 바와 같이, 각각의 메모리 셀이 어레이 내의 다른 메모리 셀의 메모리 상태에 악영향을 미치지 않으면서 개별적으로 프로그래밍, 소거, 및 판독될 수 있도록 구성된다. 둘째, 메모리 셀의 연속적인 (유사한) 프로그래밍이 제공된다.
구체적으로, 어레이 내의 각각의 메모리 셀의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀의 교란을 최소화한 상태로, 완전 소거된 상태로부터 완전 프로그래밍된 상태로 연속적으로 변경될 수 있다. 다른 실시예에서, 어레이 내의 각각의 메모리 셀의 메모리 상태(즉, 플로팅 게이트 상의 전하)는, 독립적으로 그리고 다른 메모리 셀의 교란을 최소화한 상태로, 완전 프로그래밍된 상태로부터 완전 소거된 상태로 연속적으로 변경될 수 있고, 그 역으로도 가능하다. 이것은 셀 저장소가 유사하거나 또는 적어도, 많은 개별 값(예컨대 16개 또는 64개의 상이한 값) 중 하나를 저장할 수 있음을 의미하는데, 이는 메모리 어레이 내의 모든 셀의 매우 정밀하고 개별적인 튜닝을 허용하고, 메모리 어레이를 신경망의 시냅스 가중치에 대한 미세 튜닝 조정을 저장하고 행하는 데 이상적인 것으로 되게 한다.
본원에 기술된 방법 및 수단은 제한 없이, FINFET 분리형 게이트 플래시 또는 적층형 게이트 플래시 메모리, NAND 플래시, SONOS(실리콘-산화물-질화물-산화물-실리콘, 질화물의 전하 트랩), MONOS(금속-산화물-질화물-산화물-실리콘, 질화물의 금속 전하 트랩), ReRAM(저항성 램), PCM(상 변화 메모리), MRAM(자기 램), FeRAM(강유전체 ram), OTP(2-레벨 또는 다중-레벨 1회 프로그래밍가능), 및 CeRAM(상관 전자 램)과 같은 다른 비휘발성 메모리 기술에도 적용될 수 있다. 본원에 설명된 방법 및 수단은, 제한 없이, SRAM, DRAM, 및 다른 휘발성 시냅스 셀과 같은 신경망에 대해 사용되는 휘발성 메모리 기술에 적용될 수 있다.
비휘발성 메모리 셀 어레이를 채용한 신경망
도 9는 본 실시예의 비휘발성 메모리 어레이를 활용하는 신경망의 비제한적인 예를 개념적으로 예시한다. 이 예는 안면 인식 애플리케이션에 대해 비휘발성 메모리 어레이 신경망을 이용하지만, 비휘발성 메모리 어레이 기반 신경망을 이용하여 임의의 다른 적절한 애플리케이션이 구현될 수 있다.
S0은, 이 예에 대해, 5 비트 정밀도를 갖는 32x32 픽셀 RGB 이미지(즉, 각각의 색상 R, G 및 B에 대해 하나씩인 3개의 32x32 픽셀 어레이들, 각각의 픽셀은 5 비트 정밀도임)인 입력 층이다. 입력 층(S0)으로부터 층(C1)으로 가는 시냅스(CB1)는 몇몇 예에서 가중치 및 다른 예에서 공유 가중치의 상이한 세트를 적용하며, 입력 이미지를 3x3 픽셀 중첩 필터(커널(kernel))로 필터를 1 픽셀(또는 모델별로 지시되는 바와 같이 1 초과 픽셀)만큼 시프트하면서 스캔한다. 구체적으로, 이미지의 3x3 부분 내의 9개 픽셀(즉, 필터 또는 커널로 지칭됨)에 대한 값이 시냅스(CB1)에 제공되며, 여기서 이들 9개의 입력 값이 적절한 가중치와 승산되고, 그 승산의 출력을 합산한 후, 단일 출력 값이 결정되고, 피처 맵(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)는 S1 내의 맵을 4x4 필터로 필터 시프트를 1 픽셀로 하여 스캔한다. 층(C2)에, 22개 12x12 피처 맵이 있다. 활성화 함수(P2)(풀링)가 층(C2)으로부터 층(S2)으로 가기 전에 적용되는데, 이는 각각의 피처 맵 내의 연속적인 비중첩 2x2 영역으로부터의 값을 풀링한다. 층(S2)에, 22개 6x6 피처 맵이 있다. 활성화 함수(풀링)가 층(S2)으로부터 층(C3)으로 가는 시냅스(CB3)에서 적용되며, 여기서 층(C3) 내의 모든 뉴런은 CB3의 각자의 시냅스를 통해 층(S2) 내의 모든 맵에 연결된다. 층(C3)에, 64개 뉴런이 있다. 층(C3)으로부터 출력 층(S3)으로 가는 시냅스(CB4)는 C3을 S3에 완전히 연결한다. 즉, 층(C3) 내의 모든 뉴런은 층(S3) 내의 모든 뉴런에 연결된다. S3에서의 출력은 10개 뉴런을 포함하고, 여기서 최고 출력 뉴런이 클래스를 결정한다. 이러한 출력은, 예를 들어, 원래의 이미지의 내용의 식별 또는 분류를 나타낼 수 있다.
시냅스의 각각의 층은 비휘발성 메모리 셀의 어레이 또는 그들의 어레이의 일부를 사용하여 구현된다.
도 10은 그 목적을 위해 사용될 수 있는 시스템의 블록 다이어그램이다. VMM 시스템(32)은 비휘발성 메모리 셀을 포함하고, 하나의 층과 다음 층 사이에서 시냅스(예컨대, 도 6의 CB1, CB2, CB3, 및 CB4)로서 이용된다. 구체적으로, VMM 시스템(32)은 로우 및 칼럼으로 배열된 비휘발성 메모리 셀을 포함하는 VMM 어레이(33), 소거 게이트 및 워드 라인 게이트 디코더(34), 제어 게이트 디코더(35), 비트 라인 디코더(36) 및 소스 라인 디코더(37)를 포함하며, 이들은 비휘발성 메모리 셀 어레이(33)에 대한 각자의 입력을 디코딩한다. VMM 어레이(33)로의 입력은 소거 게이트 및 워드 라인 게이트 디코더(34)로부터 또는 제어 게이트 디코더(35)로부터일 수 있다. 이 예에서의 소스 라인 디코더(37)는 또한 VMM 어레이(33)의 출력을 디코딩한다. 대안적으로, 비트 라인 디코더(36)는 VMM 어레이(33)의 출력을 디코딩할 수 있다.
VMM 어레이(33)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 시스템(32)에 의해 사용될 가중치를 저장한다. 둘째, VMM 어레이(33)는 사실상 입력을 VMM 어레이(33)에 저장된 가중치와 승산하고 이들을 출력 라인(소스 라인 또는 비트 라인)마다 가산하여 출력을 생성하며, 이는 다음 층으로의 입력 또는 최종 층으로의 입력일 것이다. 승산 및 가산 함수를 수행함으로써, VMM 어레이(33)는 별개의 승산 및 가산 로직 회로에 대한 필요성을 무효화하고, 또한 그의 인시투(in-situ) 메모리 계산으로 인해 전력 효율적이다.
VMM 어레이(33)의 출력은 차동 합산기(예컨대, 합산 연산 증폭기 또는 합산 전류 미러)(38)에 공급되고, 이는 VMM 어레이(33)의 출력들을 합산하여 그 콘볼루션(convolution)에 대한 단일 값을 생성한다. 차동 합산기(38)는 양의 가중치 및 음의 가중치 입력 둘 모두의 합산을 수행하여 단일 값을 출력하도록 배열된다.
이어서 차동 합산기(38)의 합산된 출력 값은 활성화 함수 회로(39)에 공급되며, 이는 출력을 정류한다. 활성화 함수 회로(39)는 시그모이드(sigmoid), tanh, ReLU 함수, 또는 임의의 다른 비선형 함수를 제공할 수 있다. 활성화 함수 회로(39)의 정류된 출력 값은 다음 층(예를 들어, 도 9의 C1)의 피처 맵의 요소가 되고, 이어서 다음 시냅스에 적용되어 다음 피처 맵 층 또는 최종 층을 생성한다. 따라서, 이 예에서, VMM 어레이(33)는 다수의 시냅스(이들은 이전 뉴런 층으로부터 또는 이미지 데이터베이스와 같은 입력 층으로부터 그들의 입력을 수신함)를 구성하고, 합산기(38) 및 활성화 함수 회로(39)는 다수의 뉴런을 구성한다.
도 10의 VMM 시스템(32)에의 입력(WLx, EGx, CGx, 및 선택적으로 BLx 및 SLx)은 아날로그 레벨, 이진 레벨, 디지털 펄스(이 경우에 펄스를 적절한 입력 아날로그 레벨로 변환하기 위해 펄스-아날로그 변환기(PAC)가 필요할 수 있음) 또는 디지털 비트(이 경우에 디지털 비트를 적절한 입력 아날로그 레벨로 변환하기 위해 DAC가 제공됨)일 수 있고, 출력은 아날로그 레벨(예를 들어, 전류, 전압, 또는 전하), 이진 레벨, 디지털 펄스, 또는 디지털 비트(이 경우에 출력 아날로그 레벨을 디지털 비트로 변환하기 위해 출력 ADC가 제공됨)일 수 있다.
도 11은, 여기서 VMM 시스템(32a, 32b, 32c, 32d, 및 32e)로서 레이블링된, VMM 시스템(32)의 다수의 층의 사용을 도시하는 블록 다이어그램이다. 도 11에 도시된 바와 같이, Inputx로 표시된 입력은 디지털-아날로그 변환기(31)에 의해 디지털로부터 아날로그로 변환되고, 입력 VMM 시스템(32a)에 제공된다. 변환된 아날로그 입력은 전압 또는 전류일 수 있다. 제1 층에 대한 입력 D/A 변환은, 입력 VMM 시스템(32a)의 매트릭스 승산기에 있어서의 입력(Inputx)을 적절한 아날로그 레벨에 매핑시키는 함수 또는 LUT(look up table)를 사용함으로써 행해질 수 있다. 입력 변환은 또한, 외부 아날로그 입력을 입력 VMM 시스템(32a)으로의 매핑된 아날로그 입력으로 변환하기 위한 아날로그-아날로그(A/A) 변환기에 의해 행해질 수 있다. 입력 변환은 또한 외부 디지털 입력을 입력 VMM 시스템(32a)에 대한 매핑된 디지털 펄스 또는 펄스들로 변환하기 위해 디지털-디지털 펄스(D/P) 변환기에 의해 행해질 수 있다.
입력 VMM 시스템(32a)에 의해 생성된 출력은 다음 VMM 시스템(은닉 레벨 1)(32b)으로의 입력으로 제공되고, 이는 이어서 다음 VMM 시스템(은닉 레벨 2)(32c)으로의 입력으로 제공되는 출력을 생성하고, 등등이다. VMM 시스템(32)의 다양한 층은 컨볼루션 신경망(convolutional neural network, CNN)의 시냅스 및 뉴런의 상이한 층으로서 기능한다. 각각의 VMM 시스템(32a, 32b, 32c, 32d, 32e)은 각자의 비휘발성 메모리 어레이를 포함하는 독립형의, 물리적 시스템일 수 있거나, 또는 다수의 VMM 시스템이 동일한 물리적 비휘발성 메모리 어레이의 상이한 부분을 이용할 수 있거나, 또는 다수의 VMM 시스템이 동일한 물리적 비휘발성 메모리 어레이의 중첩 부분을 이용할 수 있다. 각각의 VMM 시스템(32a, 32b, 32c, 32d, 및 32e)은 또한 그의 어레이 또는 뉴런의 다양한 부분에 대해 시간 다중화될 수 있다. 도 11에 도시된 예는 다음과 같은 5개의 층(32a, 32b, 32c, 32d, 32e)을 포함한다: 하나의 입력 층(32a), 2개의 은닉 층(32b, 32c), 및 2개의 완전히 연결된 층(32d, 32e). 당업자는 이것은 단지 예시적인 것이고 시스템이 대신에 2개 초과의 은닉 층 및 2개 초과의 완전히 연결된 층을 포함할 수 있다는 것을 인식할 것이다.
VMM 어레이들
도 12은 뉴런 VMM 어레이(1200)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런의 부분 및 시냅스로서 이용된다. VMM 어레이(1200)는 비휘발성 메모리 셀의 메모리 어레이(1201), 및 비휘발성 기준 메모리 셀의 (어레이의 상부에 있는) 기준 어레이(1202)를 포함한다. 대안적으로, 다른 기준 어레이가 하부에 배치될 수 있다.
VMM 어레이(1200)에서, 제어 게이트 라인(1203)과 같은 제어 게이트 라인이 수직 방향으로 이어지고(따라서, 로우 방향의 기준 어레이(1202)는 제어 게이트 라인(1203)에 직교함), 소거 게이트 라인(1204)과 같은 소거 게이트 라인이 수평 방향으로 이어진다. 여기서, VMM 어레이(1200)로의 입력은 제어 게이트 라인(CG0, CG1, CG2, CG3) 상에 제공되고, VMM 어레이(1200)의 출력은 소스 라인(SL0, SL1) 상에 나타난다. 일 실시예에서 짝수 로우만이 사용되고, 다른 실시예에서 홀수 로우만이 사용된다. 각각의 소스 라인(각각, SL0, SL1) 상에 배치된 전류는 그 특정 소스 라인에 연결된 메모리 셀로부터의 모든 전류의 합산 함수를 수행한다.
신경망에 대해 본원에 설명된 바와 같이, VMM 어레이(1200)의 비휘발성 메모리 셀, 즉 VMM 어레이(1200)의 플래시 메모리는 바람직하게는 하위-임계 영역에서 동작하도록 구성된다.
본원에 기술된 비휘발성 기준 메모리 셀 및 비휘발성 메모리 셀은 약 반전(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이다.
메모리 셀(예컨대, 기준 메모리 셀 또는 주변 메모리 셀)을 사용하는 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는 메인 (데이터) 메모리 셀의 유효 임계 전압이다.
트랜지스터의 임계 전압은 기판 바디 바이어스 전압의 함수이고, 기판 바디 바이어스는 과열 또는 셀 전류 변조와 같은 다양한 보상을 위해 변조될 수 있다는 것에 유의한다
Figure pct00006
Vth0은 제로 기판 바이어스를 갖는 임계 전압이고, ΦF는 표면 전위이고, gamma는 바디 효과 파라미터이다.
워드 라인 또는 제어 게이트가 입력 전압을 위해 메모리 셀에 대한 입력으로 사용될 수 있다.
대안적으로, 본원에 기술된 VMM 어레이의 비휘발성 메모리 셀은 선형 영역에서 동작하도록 구성될 수 있다:
Ids = beta* (Vgs-Vth)*Vds; beta = u*Cox*Wt/L,
Wα (Vgs-Vth),
이는 선형 영역에서의 가중치 W가 (Vgs-Vth)에 비례한다는 것을 의미함.
워드 라인 또는 제어 게이트 또는 비트 라인 또는 소스 라인이 선형 영역에서 동작되는 메모리 셀에 대한 입력으로 사용될 수 있다. 비트 라인 또는 소스 라인은 메모리 셀에 대한 출력으로 사용될 수 있다.
I-V 선형 변환기에 대해, 선형 영역에서 동작하는 메모리 셀(예컨대, 기준 메모리 셀 또는 주변 메모리 셀) 또는 트랜지스터, 또는 저항기가 입력/출력 전류를 입력/출력 전압으로 선형적으로 변환하는 데 사용될 수 있다.
대안적으로, 본원에 기술된 VMM 어레이의 메모리 셀은 포화 영역에서 동작하도록 구성될 수 있다:
Ids = ½ * beta* (Vgs-Vth)2; beta = u*Cox*Wt/L
Wα (Vgs-Vth)2, 이는 가중치 W가 (Vgs-Vth)2에 비례한다는 것을 의미함
워드 라인, 제어 게이트, 또는 소거 게이트가 포화 영역에서 동작되는 메모리 셀에 대한 입력으로 사용될 수 있다. 비트 라인 또는 소스 라인은 출력 뉴런에 대한 출력으로 사용될 수 있다.
대안적으로, 본원에 설명된 VMM 어레이의 메모리 셀은 신경망의 각각의 층 또는 다중 층에 대한 모든 영역 또는 이들의 조합(하위 임계, 선형, 또는 포화)에서 사용될 수 있다.
도 13은 뉴런 VMM 어레이(1300)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀(210)에 특히 적합하고, 입력 층과 다음 층 사이의 시냅스로서 이용된다. VMM 어레이(1300)는 비휘발성 메모리 셀의 메모리 어레이(1303), 제1 비휘발성 기준 메모리 셀의 기준 어레이(1301), 및 제2 비휘발성 기준 메모리 셀의 기준 어레이(1302)를 포함한다. 어레이의 칼럼 방향으로 배열된 기준 어레이(1301 및 1302)은, 단자(BLR0, BLR1, BLR2, 및 BLR3) 내로 흐르는 전류 입력을 전압 입력(WL0, WL1, WL2, 및 WL3)로 변환하는 역할을 한다. 실제로, 제1 및 제2 비휘발성 기준 메모리 셀은 그들 내로 흐르는 전류 입력과 멀티플렉서(1314)(부분적으로만 도시됨)를 통해 다이오드 연결된다. 기준 셀은 타깃 기준 레벨로 튜닝(예컨대, 프로그래밍)된다. 타깃 기준 레벨은 기준 미니-어레이 매트릭스(미도시)에 의해 제공된다.
메모리 어레이(1303)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 어레이(1300)에 의해 사용될 가중치를 그것의 각자의 메모리 셀 상에 저장한다. 둘째, 메모리 어레이(1303)는 입력(즉, 단자(BLR0, BLR1, BLR2, 및 BLR3)에 제공되는 전류 입력, 이것에 대해 기준 어레이(1301 및 1302)가 워드 라인(WL0, WL1, WL2, 및 WL3)에 공급할 입력 전압으로 변환함)을 메모리 어레이(1303)에 저장된 가중치와 유효하게 승산하고, 이어서 모든 결과(메모리 셀 전류)을 가산하여 각자의 비트 라인(BL0 - BLN) 상의 출력을 생성하는데, 이는 다음 층으로의 입력 또는 최종 층으로의 입력일 것이다. 승산 및 가산 함수를 수행함으로써, 메모리 어레이(1303)는 별개의 승산 및 가산 로직 회로에 대한 필요성을 무효화하고, 또한 전력 효율적이다. 여기서, 전압 입력은 워드 라인(WL0, WL1, WL2, 및 WL3) 상에 제공되고, 출력은 판독(추론) 동작 동안 각자의 비트 라인(BL0 - BLN) 상에 나타난다. 비트 라인(BL0 - BLN) 각각에 배치된 전류는 그 특정 비트 라인에 연결된 모든 비휘발성 메모리 셀로부터의 전류의 합산 함수를 수행한다.
표 6는 VMM 어레이(1300)에 대한 동작 전압을 보여준다. 표 내의 칼럼은 선택된 셀에 대한 워드 라인, 비선택된 셀에 대한 워드 라인, 선택된 셀에 대한 비트 라인, 비선택된 셀에 대한 비트 라인, 선택된 셀에 대한 소스 라인, 및 비선택된 셀에 대한 소스 라인 상에 배치된 전압을 나타내며, 여기서 FLT는 플로팅(floating)을, 즉 전압이 부과되지 않음을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다.
[표 6]
Figure pct00007
도 14은 뉴런 VMM 어레이(1400)를 도시하며, 이는 도 2에 도시된 바와 같은 메모리 셀(210)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런의 부분 및 시냅스로서 이용된다. VMM 어레이(1400)는 비휘발성 메모리 셀의 메모리 어레이(1403), 제1 비휘발성 기준 메모리 셀의 기준 어레이(1401), 및 제2 비휘발성 기준 메모리 셀의 기준 어레이(1402)를 포함한다. 기준 어레이(1401 및 1402)는 VMM 어레이(1400)의 로우 방향으로 이어진다. VMM 어레이는, VMM 어레이(1400)에서 워드 라인이 수직 방향으로 이어진다는 점을 제외하고는, VMM(1300)과 유사하다. 여기서, 입력은 워드 라인(WLA0, WLB0, WLA1, WLB2, WLA2, WLB2, WLA3, WLB3) 상에 제공되고, 출력은 판독 동작 동안 소스 라인(SL0, SL1) 상에 나타난다. 각각의 소스 라인 상에 배치된 전류는 그 특정 소스 라인에 연결된 메모리 셀로부터의 모든 전류의 합산 함수를 수행한다.
표 7는 VMM 어레이(1400)에 대한 동작 전압을 보여준다. 표 내의 칼럼은 선택된 셀에 대한 워드 라인, 비선택된 셀에 대한 워드 라인, 선택된 셀에 대한 비트 라인, 비선택된 셀에 대한 비트 라인, 선택된 셀에 대한 소스 라인, 및 비선택된 셀에 대한 소스 라인 상에 배치된 전압을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다.
[표 7]
Figure pct00008
도 15은 뉴런 VMM 어레이(1500)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런의 부분 및 시냅스로서 이용된다. VMM 어레이(1500)는 비휘발성 메모리 셀의 메모리 어레이(1503), 제1 비휘발성 기준 메모리 셀의 기준 어레이(1501), 및 제2 비휘발성 기준 메모리 셀의 기준 어레이(1502)를 포함한다. 기준 어레이(1501 및 1502)는 단자(BLR0, BLR1, BLR2, 및 BLR3) 내로 흐르는 전류 입력을 전압 입력(CG0, CG1, CG2, 및 CG3)으로 변환하는 역할을 한다. 실제로, 제1 및 제2 비휘발성 기준 메모리 셀은 BLR0, BLR1, BLR2, 및 BLR3을 통해 그들 내로 흐르는 전류 입력과 멀티플렉서(1512)(단지 부분적으로 도시됨)를 통해 다이오드 연결된다. 멀티플렉서(1512) 각각은 판독 동작 동안 제1 및 제2 비휘발성 기준 메모리 셀 각각의 비트 라인(예컨대, BLR0) 상의 일정한 전압을 보장하기 위해 각각의 멀티플렉서(1505) 및 캐스코딩 트랜지스터(cascoding transistor)(1504)를 포함한다. 기준 셀은 타깃 기준 레벨로 튜닝된다.
메모리 어레이(1503)는 두 가지 목적에 기여한다. 첫째, 그것은 VMM 어레이(1500)에 의해 사용될 가중치를 저장한다. 둘째, 메모리 어레이(1503)는 입력(단자(BLR0, BLR1, BLR2, 및 BLR3)에 제공되는 전류 입력, 이것에 대해 기준 어레이(1501 및 1502)가 이러한 전류 입력을 제어 게이트(CG0, CG1, CG2, 및 CG3)에 공급할 입력 전압으로 변환함)을 메모리 어레이에 저장된 가중치와 유효하게 승산하고, 이어서 모든 결과(셀 전류)를 가산하여 출력을 생성하는데, 이는 BL0 - BLN 상에 나타나며 다음 층으로의 입력 또는 최종 층으로의 입력일 것이다. 승산 및 가산 함수를 수행함으로써, 메모리 어레이는 별개의 승산 및 가산 로직 회로에 대한 필요성을 무효화하고, 또한 전력 효율적이다. 여기서, 입력은 제어 게이트 라인(CG0, CG1, CG2, 및 CG3) 상에 제공되고, 출력은 판독 동작 동안 비트 라인(BL0 - BLN) 상에 나타난다. 각각의 비트 라인 상에 배치된 전류는 그 특정 비트 라인에 연결된 메모리 셀로부터의 모든 전류의 합산 함수를 수행한다.
VMM 어레이(1500)는 메모리 어레이(1503) 내의 비휘발성 메모리 셀에 대한 단방향 튜닝을 구현한다. 즉, 각각의 비휘발성 메모리 셀은 소거되고, 이어서 플로팅 게이트 상의 원하는 전하에 도달할 때까지 부분적으로 프로그래밍된다. 이것은, 예를 들어, 후술되는 정밀 프로그래밍 기법을 사용하여 수행될 수 있다. 전하가 너무 많이(잘못된 값이 셀에 저장될 정도로) 플로팅 게이트 상에 배치되는 경우, 셀은 소거되어야 하고, 부분 프로그래밍 동작의 시퀀스가 다시 시작되어야 한다. 도시된 바와 같이, 동일한 소거 게이트(예컨대, EG0 또는 EG1)를 공유하는 2개의 로우가 함께 소거될 필요가 있고(페이지 소거로 알려짐), 그 후에 각각의 셀은 플로팅 게이트 상의 원하는 전하에 도달할 때까지 부분적으로 프로그래밍된다.
표 8는 VMM 어레이(1500)에 대한 동작 전압을 보여준다. 표 내의 칼럼은 선택된 셀에 대한 워드 라인, 비선택된 셀에 대한 워드 라인, 선택된 셀에 대한 비트 라인, 비선택된 셀에 대한 비트 라인, 선택된 셀에 대한 제어 게이트, 선택된 셀과 동일한 섹터 내의 비선택된 셀에 대한 제어 게이트, 선택된 셀과는 상이한 섹터 내의 비선택된 셀에 대한 제어 게이트, 선택된 셀에 대한 소거 게이트, 비선택된 셀에 대한 소거 게이트, 선택된 셀에 대한 소스 라인, 및 비선택된 셀에 대한 소스 라인 상에 배치된 전압을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다.
[표 8]
Figure pct00009
도 16은 뉴런 VMM 어레이(1600)를 도시하며, 이는 도 3에 도시된 바와 같은 메모리 셀(310)에 특히 적합하고, 입력 층과 다음 층 사이의 뉴런의 부분 및 시냅스로서 이용된다. VMM 어레이(1600)는 비휘발성 메모리 셀의 메모리 어레이(1603), 제1 비휘발성 기준 메모리 셀의 기준 어레이(1601), 및 제2 비휘발성 기준 메모리 셀의 기준 어레이(1602)를 포함한다. EG 라인(EGR0, EG0, EG1, 및 EGR1)은 수직으로 이어지는 반면, CG 라인(CG0, CG1, CG2, 및 CG3) 및 SL 라인(WL0, WL1, WL2, 및 WL3)은 수평으로 이어진다. VMM 어레이(1600)는, VMM 어레이(1600)가 양방향 튜닝을 구현한다는 점을 제외하고는 VMM 어레이(1600)와 유사하며, 여기서 각각의 개별 셀은 별개의 EG 라인의 사용으로 인해 플로팅 게이트 상의 원하는 전하량에 도달하기 위해 필요에 따라 완전히 소거되고, 부분적으로 프로그래밍되고, 부분적으로 소거될 수 있다. 도시된 바와 같이, 기준 어레이(1601 및 1602)는 (멀티플렉서(1614)를 통한 다이오드 연결된 기준 셀의 동작을 통해) 단자(BLR0, BLR1, BLR2, 및 BLR3) 내의 입력 전류를 로우 방향으로 메모리 셀에 인가될 제어 게이트 전압(CG0, CG1, CG2, 및 CG3)으로 변환한다. 전류 출력(뉴런)은 비트 라인(BL0 - BLN)에 있으며, 여기서 각각의 비트 라인은 그 특정 비트 라인에 연결된 비휘발성 메모리 셀로부터의 모든 전류를 합산한다.
표 9는 VMM 어레이(1600)에 대한 동작 전압을 보여준다. 표 내의 컬럼은 선택된 셀에 대한 워드 라인, 비선택된 셀에 대한 워드 라인, 선택된 셀에 대한 비트 라인, 비선택된 셀에 대한 비트 라인, 선택된 셀에 대한 제어 게이트, 선택된 셀과 동일한 섹터 내의 비선택된 셀에 대한 제어 게이트, 선택된 셀과는 상이한 섹터 내의 비선택된 셀에 대한 제어 게이트, 선택된 셀에 대한 소거 게이트, 비선택된 셀에 대한 소거 게이트, 선택된 셀에 대한 소스 라인, 및 비선택된 셀에 대한 소스 라인 상에 배치된 전압을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다.
[표 9]
Figure pct00010
VMM 어레이로의 입력은 아날로그 레벨, 이진 레벨, 타이밍 펄스, 또는 디지털 비트일 수 있고, 출력은 아날로그 레벨, 이진 레벨, 타이밍 펄스, 또는 디지털 비트일 수 있다(이러한 경우에 출력 ADC는 출력 아날로그 레벨 전류 또는 전압을 디지털 비트로 변환하는 데 필요하다).
VMM 어레이 내의 각각의 메모리 셀에 대해, 각각의 가중치(w)는 단일 메모리 셀에 의해 또는 차동 셀에 의해 또는 2개의 블렌드(blend) 메모리 셀(2개 이상의 셀의 평균)에 의해 구현될 수 있다. 차동 셀의 경우에, 2개의 메모리 셀은 차동 가중치(W = W+ - W-)로서 가중치(W)를 구현하는 데 필요하다. 2개의 블렌드 메모리 셀에서, 2개의 메모리 셀은 2개의 셀의 평균으로서 가중치(w)를 구현하는 데 필요하다.
VMM 어레이에 의한 한 가지 난제는 프로그래밍 프로세스 동안 극한 정밀도를 필요로 한다는 것이다. 예를 들어, VMM 어레이 내의 각각의 셀이 N개의 상이한 값(예를 들어, n=64 또는 128) 중 하나를 저장할 수 있는 경우, 시스템은 원하는 레벨의 변화를 달성하기 위해 선택된 셀의 플로팅 게이트 상의 추가 전하의 작은 증분을 증착할 수 있어야 한다. 한편, 프로그래밍이 가능한 한 빠르고 프로그래밍 정밀도와 프로그래밍 속도 사이에 본질적인 트레이드오프가 있는 것이 여전히 중요하다.
비교적 빠른 속도로 프로그래밍 프로세스를 여전히 완료하면서 정확한 프로그래밍을 달성할 수 있는 개선된 VMM 시스템이 필요하다.
아날로그 신경 메모리 어레이들의 다수의 실시예들이 개시된다. 2 개 이상의 메모리 셀이 함께 그룹화되어, n개의 가능한 레벨 중 하나를 저장하는 논리 셀을 형성한다. 각각의 논리 셀 내에서, 메모리 셀은 상이한 메커니즘을 사용하여 프로그래밍될 수 있다. 예를 들어, 논리 셀에서의 하나 이상의 메모리 셀은 거친 프로그래밍 메커니즘을 사용하여 프로그래밍될 수 있고, 하나 이상의 메모리 셀은 미세 메커니즘을 사용하여 프로그래밍될 수 있다. 이는 극한 프로그래밍 정확도 및 프로그래밍 속도를 달성한다.
도 1은 종래 기술의 인공 신경망을 도시한다.
도 2는 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 3은 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 4는 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 5는 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 6은 다른 종래 기술의 분리형 게이트 플래시 메모리 셀을 도시한다.
도 7은 종래 기술의 적층형 게이트 플래시 메모리 셀을 도시한다.
도 8은 트윈 분리형 게이트 메모리 셀을 도시한다.
도 9는 하나 이상의 VMM 어레이를 이용하는 예시적인 인공 신경망의 상이한 레벨을 도시한다.
도 10은 VMM 어레이 및 다른 회로를 포함하는 VMM 시스템을 도시한다.
도 11은 하나 이상의 VMM 시스템을 이용하는 예시적인 인공 신경망을 도시한다.
도 12는 VMM 어레이의 일 실시예를 도시한다.
도 13은 VMM 어레이의 다른 실시예를 도시한다.
도 14는 VMM 어레이의 다른 실시예를 도시한다.
도 15는 VMM 어레이의 다른 실시예를 도시한다.
도 16은 VMM 어레이의 다른 실시예를 도시한다.
도 17은 VMM 시스템을 도시한다.
도 18a, 도 18b, 및 도 18c는 종래 기술의 VMM 어레이를 도시한다.
도 19a, 도 19b 및 도 19c는 개선된 VMM 어레이를 도시한다.
도 20은 다른 개선된 VMM 어레이를 도시한다.
도 21은 개선된 소스 라인 풀다운 메커니즘을 갖는 VMM 시스템을 도시한다.
도 22는 개선된 소스 라인 풀다운 메커니즘을 갖는 다른 VMM 시스템을 도시한다.
도 23은 개선된 소스 라인 풀다운 메커니즘을 갖는 다른 VMM 시스템을 도시한다.
도 24는 개선된 소스 라인 풀다운 메커니즘을 갖는 다른 VMM 시스템을 도시한다.
도 25는 개선된 소스 라인 풀다운 메커니즘을 갖는 VMM 시스템의 예시적인 레이아웃 도면을 도시한다.
도 26은 개선된 소스 라인 풀다운 메커니즘을 갖는 VMM 시스템의 다른 예시적인 레이아웃 도면를 도시한다.
도 27a, 도 27b 및 도 27c는 다른 개선된 VMM 어레이를 도시한다.
도 28은 리던던트 어레이를 포함하는 다른 개선된 VMM 어레이를 도시한다.
도 29는 2개의 VMM 어레이 및 공유되는 더미 비트 라인 스위칭 회로부를 포함하는 다른 개선된 VMM 시스템을 도시한다.
도 30은 다른 개선된 VMM 시스템을 도시한다.
도 31은 합산기 회로의 실시예를 도시한다.
도 32는 합산기 회로의 다른 실시예를 도시한다.
도 33a 및 도 33b는 합산기 회로의 다른 실시예를 도시한다.
도 34a, 도 34b, 및 도 34c는 출력 회로의 실시예를 도시한다.
도 35는 뉴런 출력 회로를 도시한다.
도 36은 아날로그-디지털 변환기의 실시예를 도시한다.
도 37은 아날로그-디지털 변환기의 다른 실시예를 도시한다.
도 38은 아날로그-디지털 변환기의 다른 실시예를 도시한다.
도 39는 아날로그-디지털 변환기의 다른 실시예를 도시한다.
도 40은 VMM 어레이 내의 논리 셀의 실시예를 도시한다.
도 41은 도 40의 논리 셀에 대한 프로그래밍 및 검증 방법을 도시한다.
도 42는 VMM 어레이 내의 논리 셀의 다른 실시예를 도시한다.
도 43은 도 42의 논리 셀에 대한 프로그래밍 및 검증 방법을 도시한다.
도 44는 VMM 어레이의 일 실시예를 도시한다.
도 45는 VMM 어레이의 다른 실시예를 도시한다.
도 46은 VMM 어레이의 다른 실시예를 도시한다.
도 47은 VMM 어레이의 다른 실시예를 도시한다.
도 48은 VMM 어레이의 다른 실시예를 도시한다.
본 발명의 인공 신경망은 CMOS 기술과 비휘발성 메모리 어레이의 조합을 이용한다.
개선된 VMM 시스템의 실시예
도 17는 VMM 시스템(1700)의 블록도를 도시한다. VMM 시스템(1700)은 VMM 어레이(1701), 로우 디코더(1702), 고전압 디코더(1703), 칼럼 디코더(1704), 비트 라인 드라이버(1705), 입력 회로(1706), 출력 회로(1707), 제어 로직(1708), 및 바이어스 생성기(1709)를 포함한다. VMM 시스템(1700)은 전하 펌프(1711), 전하 펌프 레귤레이터(1712), 및 고전압 레벨 생성기(1713)를 포함하는 고전압 생성 블록(1710)을 더 포함한다. VMM 시스템(1700)은 알고리즘 제어기(1714), 아날로그 회로부(1715), 제어 로직(1716), 및 테스트 제어 로직(1717)을 더 포함한다. 아래에서 설명되는 시스템 및 방법은 VMM 시스템(1700)에서 구현될 수 있다.
입력 회로(1706)는 DAC(디지털-아날로그 변환기), DPC(디지털-펄스 변환기), AAC(전류-전압 변환기와 같은, 아날로그-아날로그 변환기), PAC(펄스-아날로그 레벨 변환기), 또는 임의의 다른 유형의 변환기와 같은 회로를 포함할 수 있다. 입력 회로(1706)는 정규화, 스케일링 함수, 또는 산술 함수를 구현할 수 있다. 입력 회로(1706)는 입력을 위한 온도 보상 함수를 구현할 수 있다. 입력 회로(1706)는 ReLU 또는 시그모이드와 같은 활성화 함수를 구현할 수 있다. 출력 회로(1707)는 ADC(뉴런 아날로그 출력을 디지털 비트로 변환하기 위한 아날로그 대 디지털 변환기), AAC(전류 대 전압 변환기와 같은 아날로그 대 아날로그 변환기), APC(아날로그 대 펄스(들) 변환기), 또는 임의의 다른 유형의 변환기와 같은 회로를 포함할 수 있다. 출력 회로(1707)는 ReLU 또는 시그모이드와 같은 활성화 함수를 구현할 수 있다. 출력 회로(1707)는 뉴런 출력에 대한 통계 정규화, 정규화, 업/다운 스케일링 함수, 통계적 반올림, 또는 산술 함수(예를 들어, 가산, 감산, 제산, 승산, 시프트, 로그)를 구현할 수 있다. 출력 회로(1707)는 어레이의 전력 소모를 대략 일정하게 유지하기 위해 또는 제 IV 기울기를 대략 동일하게 유지하는 것과 같은 어레이 (뉴런) 출력의 정밀도를 향상시키기 위해, 뉴런 출력 또는 어레이 출력(예컨대 비트 라인 출력)에 대한 온도 보상 함수를 구현할 수 있다.
도 18a는 종래 기술의 VMM 시스템(1800)을 도시한다. VMM 시스템(1800)은 예시적인 셀(1801 및 1802), 예시적인 비트 라인 스위치(1803)(비트 라인을 감지 회로부에 연결함), 예시적인 더미 비트 라인 스위치(1804)(판독 시 접지 레벨과 같은 낮은 레벨에 결합됨), 및 예시적인 더미 셀(1805 및 1806)(소스 라인 풀다운 셀)을 포함한다. 비트 라인 스위치(1803)는 VMM 시스템(1800)에 데이터를 저장하는 데 사용되는 셀(1801 및 1802)을 포함하는 셀의 칼럼에 결합된다. 더미 비트 라인 스위치(1804)는 VMM 시스템(1800)에서 데이터를 저장하는데 사용되지 않는 더미 셀인 셀의 칼럼(비트 라인)에 결합된다. 이러한 더미 비트 라인(일명 소스 라인 풀다운 비트 라인)은 판독에서 소스 라인 풀다운으로서 사용되며, 이는 소스 라인(SL)을 더미 비트 라인 내의 메모리 셀을 통해 접지 레벨과 같은 낮은 레벨로 풀링하는 데 사용되는 것을 의미한다.
VMM 시스템(1800)의 하나의 단점은 각 셀에 대한 입력 임피던스가 관련 비트 라인 스위치, 셀 자체, 및 관련 더미 비트 라인 스위치를 통한 전기 경로의 길이로 인해 변한다는 것이다. 예를 들어, 도 18b는 비트 라인 스위치(1803), 셀(1801), 더미 셀(1805), 및 더미 비트 라인 스위치(1804)를 통한 전기 경로를 도시한다. 유사하게, 도 18c는 비트 라인 스위치(1803), 수직 금속 비트 라인(1807), 셀(1802), 더미 셀(1808), 수직 금속 비트 라인(1808), 및 더미 비트 라인 스위치(1804)를 통한 전기 경로를 도시한다. 알 수 있는 바와 같이, 셀(1802)을 통한 경로는 비트 라인 및 더미 비트 라인의 상당히 더 큰 길이를 횡단하며, 이는 더 높은 커패시턴스 및 더 높은 저항과 연관된다. 이는 셀(1802)이 셀(1801)보다 비트 라인 또는 소스 라인에서 더 큰 기생 임피던스를 갖게 한다. 이러한 가변성은 예를 들어, 어레이 내의 셀의 위치에 따라 (프로그래밍/소거 튜닝 사이클에 대해) 셀을 판독 또는 검증하는 데 적용되는 셀 출력의 정밀도의 변동을 초래하기 때문에 단점이다.
도 19a는 개선된 VMM 시스템(1900)을 도시한다. VMM 시스템(1900)은 예시적인 셀(1901 및 1902), 예시적인 비트 라인 스위치(1903)(비트 라인을 감지 회로에 연결함), 예시적인 더미 셀(1905 및 1906)(소스 라인 풀다운 셀), 및 예시적인 더미 비트 라인 스위치(1904)(판독 시 접지 레벨과 같은 낮은 레벨에 결합함, 이 스위치는 소스 라인 풀다운으로서 사용되는 더미 셀에 연결되는 더미 비트 라인에 연결됨)를 포함한다. 알 수 있는 바와 같이, 예시적인 더미 비트 라인 스위치(1904) 및 다른 더미 비트 라인 스위치는 비트 라인 스위치(1903)와 다른 비트 라인 스위치로부터 어레이의 대향 단부 상에 위치된다.
이러한 설계의 이점은 도 19b 및 도 19c에서 볼 수 있다. 도 19b는 비트 라인 스위치(1903), 셀(1901), 더미 셀(1905)(소스 라인 풀다운 셀), 수직 금속 비트 라인(1908), (판독 시 접지 레벨과 같은 낮은 레벨에 결합되는) 더미 비트 라인 스위치(1904)를 통한 전기 경로를 도시한다. 유사하게, 도 19c는 비트 라인 스위치(1903), 수직 금속 라인(1907), 셀(1902), 더미 셀(1906)(소스 라인 풀다운 셀), 및 더미 비트 라인 스위치(1904)를 통한 전기 경로를 도시한다. 경로는 실질적으로 동일(셀, 상호연결 길이)하며, 이는 VMM 시스템(1900) 내의 모든 셀에 대해 그러하다. 결과적으로, 각 셀의 비트 라인 임피던스 플러스 소스 라인 임피던스의 임피던스는 실질적으로 동일하며, 이는 어레이 내의 다양한 셀의 동작을 판독 또는 검증하기 위해 끌어온 기생 전압 강하의 양의 변동이 상대적으로 동일함을 의미한다.
도 20은 글로벌 소스 라인 풀다운 비트 라인을 갖는 VMM 시스템(2000)을 도시한다. VMM 시스템(2000)은, 더미 비트 라인(2005a~2005n 또는 2007a~2007n)이 (판독 또는 검증 동안 메모리 셀 소스 라인을 접지 레벨로 풀링하기 위해 글로벌 소스 라인 풀다운 라인으로서 작용하도록) 함께 연결되고; 더미 비트 라인 스위치(2001 및 2002)와 같은 더미 비트 라인 스위치가 공통 접지에 연결 또는 결합되며; 소스 라인이 소스 라인을 선택적으로 접지로 풀링하는 소스 라인 스위치(2003)에 함께 결합되는 것을 제외하고는 VMM 시스템(1900)과 유사하다. 이러한 변화는 판독 또는 검증 동작 동안 셀 간의 (어레이) 기생 임피던스의 변동을 더 감소시킨다.
도 21는 VMM 시스템(2100)을 도시한다. VMM 시스템(2100)은 비트 라인 스위치(2101), 풀다운 비트 라인 스위치(2102), 풀다운 비트 라인 스위치(2103), 비트 라인 스위치(2104), 데이터 셀(2105) (본원에서, "데이터 셀"은 신경망에 대한 가중치 값을 저장하는 데 사용되는 메모리 셀임), 풀다운 셀(2106), 풀다운 셀(2107), 및 데이터 셀(2018)을 포함한다. 풀다운 셀(2106 및 2107)은 서로 인접한 것에 유의한다. 이는 2개의 풀다운 셀(2106 및 2107)의 수직 금속 라인(BLpdx)이 함께 연결(라인(2111))되도록 하여, 결과적으로 더 넓은 금속 라인으로 인해 기생 저항을 감소시킨다. 데이터 셀(2105)의 판독 또는 검증(프로그래밍/소거 튜닝 사이클에 대해) 동작 동안, 전류는 비트 라인 스위치(2101)를 통해 셀(2105)의 비트 라인 단자로 흘러 들어가 셀(2015)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 소스 라인(2110)으로 그리고 풀다운 셀(2106 및 2107)의 소스 라인 단자로 흘러 들어가서 풀다운 비트 라인 스위치(2102 및 2103)를 통과한다. 셀(2104)의 판독 또는 검증(프로그래밍/소거 튜닝 사이클에 대해) 동작 동안, 전류는 비트 라인 스위치(2104)를 통해 데이터 셀(2108)의 비트 라인 단자로 흘러 들어가 셀(2108)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 소스 라인(2110)으로 그리고 풀다운 셀(2106 및 2107)의 소스 라인 단자로 흘러 들어가서 풀다운 비트 라인 스위치(2102 및 2103)를 통과한다. 이러한 칼럼 패턴은 어레이 전체에서 반복되며, 여기서 모든 4개의 칼럼 마다 데이터 셀 칼럼 2개와 풀다운 동작에 사용되는 인접한 어레이 칼럼 2개가 포함된다. 다른 실시예에서, 2개의 인접한 칼럼의 2개의 풀다운 셀의 확산이 하나의 더 큰 확산으로 함께 병합되어 풀다운 능력을 증가시킬 수 있다. 다른 실시예에서, 풀다운 셀의 확산은 풀다운 능력을 증가시키기 위해 데이터 셀 확산의 확산보다 더 크게 만들어질 수 있다. 다른 실시예에서, 각각의 풀다운 셀은 선택된 데이터 셀의 바이어스 조건과 상이한 바이어스 조건을 갖는다.
일 실시예에서, 풀다운 셀은 정규 데이터 메모리 셀과 동일한 물리적 구조를 갖는다. 다른 실시예에서, 풀다운 셀은 정규 데이터 메모리 셀과 다른 물리적 구조를 갖고, 예를 들어, 풀다운 셀은 예컨대 전기 파라미터(층 두께, 임플란트 등)에 대한 하나 이상의 물리적 치수(폭, 길이 등)를 수정함으로써 정규 데이터 메모리 셀의 수정된 버전일 수 있다. 다른 실시예에서, 풀다운 셀은 IO 또는 고전압 트랜지스터와 같은 (플로팅 게이트가 없는) 정규 트랜지스터이다.
도 22는 VMM 시스템(2200)을 도시한다. VMM 시스템(2200)은 비트 라인(2201), 풀다운 비트 라인(2202), 데이터 셀(2203 및 2206), 풀다운 셀(2204, 2205), 및 소스 라인(2210)을 포함한다. 셀(2203)의 판독 또는 검증 동작 동안, 전류는 비트 라인 스위치(2201)를 통해 셀(2203)의 비트 라인 단자 내로 흘러 들어가서 셀(2203)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 소스 라인(2210)으로 그리고 풀다운 셀(2204)의 소스 라인 단자 내로 흘러 들어가 풀다운 비트 라인(BLpd)(2202)을 통과한다. 이러한 설계는 모든 칼럼에 대해 반복되며, 최종 결과는 풀다운 셀(2204)을 포함하는 로우가 풀다운 셀의 로우이다.
셀(2206)의 판독 또는 검증 (프로그래밍/소거 튜닝 사이클에 대해) 동작 동안, 전류는 비트 라인 스위치(2201)를 통해 셀(2206)의 비트 라인 단자로 흘러 들어가 셀(2206)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 소스 라인(2211)으로 그리고 풀다운 셀(2205)의 소스 라인 단자로 흘러 들어가 풀다운 비트 라인(2202)을 통과한다. 이러한 설계는 모든 칼럼에 대해 반복되며, 최종 결과는 풀다운 셀(2205)을 포함하는 로우가 풀다운 셀의 로우이다. 도 22에 도시된 바와 같이, 4개의 로우가 있으며, 2개의 중간 인접 로우가 풀다운 셀에 사용되고, 위쪽 및 아래쪽 로우는 데이터 셀이다.
표 10는 VMM 시스템(2200)에 대한 동작 전압을 보여준다. 테이블 내의 칼럼은 선택된 셀에 대한 비트 라인, 비트 라인 풀다운, 선택된 셀에 대한 워드 라인, 선택된 셀에 대한 제어 게이트, 선택된 풀다운 셀에 대한 워드 라인(WLS), 선택된 풀다운 셀에 대한 제어 게이트(CGS), 모든 셀에 대핸 소거 게이트, 및 모든 셀에 대한 소스 라인 상에 배치된 전압을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다. 판독 시 CGS 및 WLS에 대한 전압 바이어스는 풀다운 셀의 구동 능력을 향상시키기 위해 정규 WL 및 CG 바이어스의 전압 바이어스보다 더 높다는 것에 유의한다. WLS 및 CGS에 대해 바이어스된 전압은 교란을 감소시키기 위해 프로그래밍에서 음일 수 있다.
[표 10]
Figure pct00011
도 23는 VMM 시스템(2300)을 도시한다. VMM 시스템(2300)은 비트 라인(2301), 비트 라인(2302), 데이터 셀(2303 및 2306), 및 풀다운 셀(2304, 2305)을 포함한다. 셀(2303)의 판독 또는 검증 (프로그래밍/소거 튜닝 사이클에 대해) 동작 동안, 전류는 비트 라인(2301)을 통해 셀(2303)의 비트 라인 단자로 흘러 들어가 셀(2303)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 풀다운 셀(2304)의 소스 라인 단자로 흘러 들어가 (이 경우 풀다운 비트 라인으로서 작용하는) 비트 라인(2302)을 통과한다. 이러한 설계는 모든 칼럼에 대해 반복되며, 최종 결과는 제1 모드의 풀다운 셀(2304)을 포함하는 로우가 풀다운 셀의 로우이다. 데이터 셀(2306)의 판독 또는 검증 (프로그래밍/소거 튜닝 사이클에 대해) 동작 동안, 전류는 비트 라인(2301)을 통해 셀(2306)의 비트 라인 단자로 흘러 들어가 셀(2306)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 풀다운 셀(2305)의 소스 라인 단자로 흘러 들어가 (이 경우 풀다운 비트 라인으로서 작용하는) 비트 라인(2302)을 통과한다. 이러한 설계는 모든 칼럼에 대해 반복되며, 최종 결과는 제2 모드의 풀다운 셀(2305)을 포함하는 로우가 풀다운 셀의 로우이다. 도 23에 도시된 바와 같이, 4개의 로우가 있으며, 대안적인 홀수(또는 짝수) 로우는 풀다운 셀에 사용되며, 대안적인 짝수(또는 홀수) 로우는 데이터 셀이다.
특히, 제2 모드 동안, 셀(2305 및 2306)은 판독 또는 검증에서 활성이고, 셀(2303 및 2305)은 풀다운 프로세스에 사용되며, 비트 라인(2301 및 2302)의 역할은 역전된다.
표 11은 VMM 시스템(2300)에 대한 동작 전압을 보여준다. 표의 칼럼은 선택된 데이터 셀에 대한 비트 라인, 선택된 풀다운 셀에 대한 비트 라인, 선택된 데이터 셀에 대한 워드 라인, 선택된 데이터 셀에 대한 제어 게이트, 선택된 풀다운 셀에 대한 워드 라인(WLS), 선택된 풀다운 셀에 대한 제어 게이트(CGS), 모든 셀에 대한 소거 게이트, 및 모든 셀에 대한 소스 라인 상에 배치된 전압을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다.
[표 11]
Figure pct00012
도 24는 VMM 시스템(2400)을 도시한다. VMM 시스템(2400)은 비트 라인(2401), 풀다운 비트 라인(2402), (데이터) 셀(2403), 소스 라인(2411), 및 풀다운 셀(2404, 2405, 및 2406)을 포함한다. 셀(2403)의 판독 또는 검증 동작 동안, 전류는 비트 라인(2401)을 통해 셀(2403)의 비트 라인 단자로 흘러 들어가 셀(2403)의 소스 라인 단자로 흘러 나올 것이며, 그 다음 소스 라인(2411)으로 흘러 들어가고, 그 다음 풀다운 셀(2404, 2405, 및 2406)의 소스 라인 단자로 흘러 들어가서, 풀다운 비트 라인(2402)을 통과해 흐른다. 이러한 설계는 모든 칼럼에 대해 반복되며, 최종 결과는 풀다운 셀(2404, 2405, 및 2406)을 포함하는 로우가 각각 풀다운 셀의 로우이다. 이는 셀(2403)의 소스 라인 단자에 적용된 풀다운을 최대화하는데, 전류가 3개의 셀을 통해 풀다운 비트 라인(2402)으로 유입되기 때문이다. 4개의 로우의 소스 라인은 함께 연결된다는 것에 유의한다.
표 12는 VMM 시스템(2400)에 대한 동작 전압을 보여준다. 표의 칼럼은 선택된 셀에 대한 비트 라인, 비트 라인 풀다운, 선택된 셀에 대한 워드 라인, 선택된 셀에 대한 제어 게이트, 선택된 셀에 대한 소거 게이트, 선택된 풀다운 셀에 대한 워드 라인(WLS), 선택된 풀다운 셀에 대한 제어 게이트(CGS), 선택된 풀다운 셀에 대한 소거 게이트, 및 모든 셀에 대한 소스 라인 상에 배치된 전압을 나타낸다. 로우는 판독, 소거 및 프로그래밍의 동작을 나타낸다.
[표 12]
Figure pct00013
도 25는 도 22의 VMM 시스템(2200)에 대한 예시적인 레이아웃(2500)을 도시한다. 밝은 사각형은 비트 라인(2201)과 같은 비트 라인 및 풀다운 비트 라인(2202)과 같은 풀다운 비트 라인에 대한 금속 접점을 나타낸다.
도 26은 도 22의 VMM 시스템(2200)과 유사한 VMM 시스템에 대한 대안적인 레이아웃(2600)을 도시하며, 풀다운 비트 라인(2602)이 매우 넓고 풀다운 셀의 2개의 칼럼을 가로지르는 차이가 있다. 즉, 풀다운 비트 라인(2602)에 대한 확산 영역은 비트 라인(2601)에 대한 확산 영역보다 더 넓다. 레이아웃(2600)은 셀(2603 및 2604)(풀다운 셀), 소스 라인(2610), 및 비트 라인(2601)을 더 보여준다. 다른 실시예에서, 2개의 풀다운 셀(좌측 및 우측)의 확산은 하나의 더 큰 확산으로 함께 병합될 수 있다.
도 21a는 VMM 시스템(2700)을 도시한다. 신경망의 음의 및 양의 가중치를 구현하기 위해, 절반의 비트 라인은 w+ 라인(양의 가중치를 구현하는 메모리 셀에 연결되는 비트 라인)으로 지정되고, 다른 절반의 비트 라인은 w- 라인(음의 가중치를 구현하는 메모리 셀에 연결되는 비트 라인)으로 지정되고 w+ 라인 사이에 교대로 배치된다. 음의 동작은 합산 회로(2701 및 2702)와 같은 합산 회로에 의해 w- 비트 라인의 출력(뉴런 출력)에서 수행된다. w+ 라인의 출력 및 w- 라인의 출력은 함께 조합되어, (w+, w-) 라인의 모든 쌍에 대해 (w+, w-) 셀의 각 쌍에 대해 w = w+ - w-를 효과적으로 제공한다. 판독 시 FG-FG 커플링을 회피하고/하거나 소스 라인에서의 IR 전압 강하를 감소시키는 데 사용되는 더미 비트 라인 또는 소스 라인 풀다운 비트 라인은 도면에 도시되지 않는다. 시스템(2700)에 대한 입력(예컨대, CG 또는 WL)은 양의 값 또는 음의 값 입력을 가질 수 있다. 입력이 음의 값을 갖는 경우, 어레이에 대한 실제 입력은 여전히 (CG 또는 WL 상의 전압 레벨과 같은) 양수이므로, 어레이 출력(비트 라인 출력)은 음의 값 입력의 등가 기능을 실현하기 위해 출력 전에 무효화된다.
또한, 도 27b를 참조하면, 양의 가중치는 제1 어레이(2711)에서 구현될 수 있고 음의 가중치는 제1 어레이와 별개인 제2 어레이(2712)에서 구현될 수 있고, 결과적인 가중치는 합산 회로(2713)에 의해 적절하게 함께 결합된다. 유사하게, 더미 비트 라인(미도시) 또는 소스 라인 풀다운 비트 라인(미도시)은 판독시 FG-FG 커플링을 피하고/피하거나 소스 라인에서의 IR 전압 강하를 감소시키기 위해 사용된다.
또는, 도 27c는 양의 또는 음의 입력을 갖는 신경망의 음의 및 양의 가중치를 구현하기 위한 VMM 시스템(2750)을 도시한다. 제1 어레이(2751)는 음의 및 양의 가중치를 갖는 양의 값 입력을 구현하고, 제2 어레이(2752)는 음의 및 양의 가중치를 갖는 음의 값 입력을 구현한다. 임의의 어레이에 대한 임의의 입력만이 양의 값(예컨대 CG 또는 WL 상의 아날로그 전압 레벨)을 갖기 때문에, 제2 어레이의 출력은 합산기(2755)에 의해 제1 어레이의 출력에 추가되기 전에 무효화된다.
표 10a는 비트 라인의 (w+, w-) 쌍(BL0/1 및 BL2/3)의 물리적 어레이 배열의 예시적인 레이아웃을 도시하며, 여기서 4개의 로우는 소스 라인 풀다운 비트 라인(BLPWDN)에 결합된다. (w, w-) 라인을 구현하기 위해 (BL0, BL1) 비트 라인의 쌍이 사용된다. (w, w-) 라인 쌍 사이에는, 소스 라인 풀다운 비트 라인(BLPWDN)이 있다. 이는 인접한 (w, w-) 라인으로부터 현재의 (w, w-) 라인 내로 커플링(예를 들어, FG 대 FG 커플링)을 방지하는 데 사용된다. 기본적으로, 소스 라인 풀다운 비트 라인(BLPWDN)은 (w, w-) 라인의 쌍 사이의 물리적 장벽으로서 역할을 한다.
FG 대 FG 커플링 현상 및 해당 현상에 대응하기 위한 메커니즘에 관한 추가적인 세부사항은, 동일한 양수인에 의해 2020년 2월 26일자로 출원되고, "Ultra-Precise Tuning of Analog Neural Memory Cells in a Deep Learning Artificial Neural Network"라는 명칭의 미국 특허 가출원 제62/981,757에서 찾을 수 있으며, 이는 본원에 참조로서 통합된다.
표 10b는 상이한 예시적인 가중치 조합을 나타낸다. '1'은 셀이 사용되고 실제 출력 값을 갖는다는 것을 의미하는 반면, '0'은 셀이 사용되지 않고 값을 갖지 않거나 유효 출력 값을 갖지 않는다는 것을 의미한다.
다른 실시예에서, 소스 라인 풀다운 비트 라인 대신에 더미 비트 라인이 사용될 수 있다.
다른 실시예에서, 더미 로우는 또한 로우 사이의 커플링을 피하기 위해 물리적 장벽으로서 사용될 수 있다.
[표 10a]
Figure pct00014
[표 10b]
Figure pct00015
표 11a는 리던던트 라인(BL01, BL23) 및 소스 라인 풀다운 비트 라인(BLPWDN)을 갖는 (w, w-) 쌍 라인(BL0/1 및 BL2/3)의 물리적 배열의 다른 어레이 실시예를 보여준다. BL01은 쌍 BL0/1에 대한 가중치 재매핑에 사용되고 BL23은 쌍 BL2/3에 대한 가중치 재매핑에 사용된다.
표 11b는 재매핑을 필요로 하지 않는 분산 가중치의 경우를 보여주며, 기본적으로 BL1과 BL3 사이에 인접한 '1'이 없으며, 이는 인접한 비트 라인 커플링을 야기한다.
일 실시예에서, 가중치 매핑은 비트 라인을 따른 총 전류가 대략 일정하여 대략 일정한 비트 라인 전압 강하를 유지하도록 하는 것이다. 다른 실시예에서, 가중치 매핑은 소스 라인을 따른 총 전류가 대략 일정하여 대략 일정한 소스 라인 전압 강하를 유지하도록 하는 것이다.
표 11c는 재매핑을 필요로 하는 분산 가중치의 경우를 보여주며, 기본적으로 BL1과 BL3 사이에 인접한 '1'이 있으며, 이는 인접한 비트 라인 커플링을 야기한다. 이러한 재매핑은 표 11d에 나와 있으며, 결과적으로 인접한 비트 라인 사이에 '1' 값이 없다. 또한, 비트 라인 간에 가중치, '1' 실제 값 가중치를 재분배하는 것을 의미하는 재매핑에 의해, 비트 라인을 따른 총 전류가 이제 감소되어 비트 라인(출력 뉴런)에서 보다 정확한 값으로 이어진다. 이 경우, 리던던트 칼럼으로서 동작하기 위해 추가 칼럼(비트 라인)(BL01, BL23)이 필요하다.
표 11e 및 표 11f는 잡음 셀(또는 결함 셀)을 표 11e의 BL01, BL23 또는 표 11f의 BL0B 및 BL1B와 같은 리던던트(여분의) 칼럼으로 재매핑하는 다른 실시예를 보여준다. 합산기가 적절하게 매핑되는 비트 라인 출력을 합산하는 데 사용된다.
[표 11a]
Figure pct00016
[표 11b]
Figure pct00017
[표 11c]
Figure pct00018
[표 11d]
Figure pct00019
[표 11e]
Figure pct00020
[표 11f]
Figure pct00021
표 11g는 도 27b에 적합한 어레이 물리적 배열의 실시예를 보여준다. 각각의 어레이는 양의 또는 음의 가중치를 갖기 때문에, FG-FG 커플링을 피하기 위해 소스 라인 풀다운 및 물리적 장벽으로서 작용하는 더미 비트 라인이 각각의 비트 라인에 대해 필요하다.
[표 11g]
Figure pct00022
다른 실시예는 FG-FG 커플링에 의해 타깃 비트 라인을 최종 타깃으로 튜닝하기 위해 타깃 비트 라인에 인접한 비트 라인으로서 튜닝 비트 라인을 갖는다. 이 경우, 소스 라인 풀다운 비트 라인(BLPWDN)은 튜닝 비트 라인과 경계를 이루지 않는 타깃 비트 라인의 한쪽에 삽입된다.
잡음이 있거나 결함이 있는 셀을 매핑하기 위한 다른 실시예는 이러한 셀을 (감지 회로에 의해 잡음이 있거나 결함이 있는 것으로 식별한 후) 사용하지 않는 셀로 지정하는 것이며, 뉴런 출력에 어떤 값도 기여하지 않도록 (깊이) 프로그래밍되어야 함을 의미한다.
빠른 셀을 처리하기 위한 실시예는 먼저 이러한 셀을 식별한 다음, 전압 증분 펄스가 더 작거나 없는 것 또는 플로팅 게이트 커플링 알고리즘을 사용하는 것과 같은 더 정밀한 알고리즘을 이러한 셀에 적용하는 것이다.
도 28은 지금까지 논의된 임의의 VMM 어레이에 포함될 수 있는 선택적 리던던트 어레이(2801)를 도시한다. 리던던트 어레이(2801)는 비트 라인 스위치에 부착된 칼럼 중 임의의 칼럼이 결함이 있는 것으로 간주되는 경우 결함이 있는 칼럼을 대체하기 위한 리던던시로서 사용될 수 있다. 리던던트 어레이는 리던던시 목적으로 자체 리던던트 뉴런 출력(예: 비트 라인)과 ADC 회로를 가질 수 있다. 리던던시가 필요한 경우, 리던던시 ADC의 출력은 불량 비트 라인의 ADC의 출력을 대체할 것이다. 리던던트 어레이(2801)는 또한 비트 라인에 걸친 전력 분배를 위해 표 10x에 설명된 것과 같은 가중치 매핑에 사용될 수 있다.
도 29는, 어레이(2901), 어레이(2902), 칼럼 멀티플렉서(2903), 로컬 비트 라인(LBL)(2905a 내지 2905d), 글로벌 비트 라인(GBL)(2908 및 2909), 및 더미 비트 라인 스위치(2905)를 포함하는 VMM 시스템(2900)을 도시한다. 칼럼 멀티플렉서(2903)는 어레이(2901)의 상부 로컬 비트 라인(2905) 또는 어레이(2902)의 하부 로컬 비트 라인(2905)을 글로벌 비트 라인(2908)으로 선택하는 데 사용된다. 일 실시예에서, (금속) 글로벌 비트 라인(2908)은 로컬 비트 라인의 수, 예를 들어 8 또는 16과 동일한 수의 라인을 갖는다. 다른 실시예에서, 글로벌 비트 라인(2908)은 N개의 로컬 비트 라인당 단지 하나의 (금속) 라인, 예컨대 8개 또는 16개 로컬 비트 라인당 하나의 글로벌 비트 라인을 갖는다. 칼럼 멀티플렉서(2903)는 인접한 글로벌 비트 라인(예컨대 GBL 2909)을 현재 글로벌 비트 라인(예컨대 GBL 2908)으로 멀티플렉싱(먹싱)하여 현재 글로벌 비트 라인의 폭을 효과적으로 증가시키는 것을 더 포함한다. 이는 글로벌 비트 라인에 걸쳐 전압 강하를 감소시킨다.
도 30은 VMM 시스템(3000)을 도시한다. VMM 시스템(3000)은 어레이(3010), (시프트 레지스터) SR(3001), (SR(3001)부터의 입력을 수신하고 동등한 (아날로그 또는 유사-아날로그) 레벨 또는 정보를 출력하는) 디지털-아날로그 변환기(3002), 합산기 회로(3003), 아날로그-디지털 변환기(3004), 및 비트 라인 스위치(3005)를 포함한다. 더미 비트 라인 및 더미 비트 라인 스위치는 존재하지만 도시되지 않는다. 도시된 바와 같이, ADC 회로는 함께 조합되어 더 큰 정밀도(즉, 더 큰 수의 비트)를 갖는 단일 ADC를 생성할 수 있다.
합산기 회로(3003)는 도 31 내지 도 33에 도시된 회로를 포함할 수 있다. 이는 정규화, 스케일링, 산술 연산, 활성화, 통계적 반올림 등을 위한 회로를 포함할 수 있다.
도 31은 가변 저항기에 의해 조정 가능한 전류-전압 합산기 회로(3100)를 도시하며, 이는 각각 전류(Ineu(1), …, Ineu(n))(VMM 어레이의 비트 라인(들)으로부터 수신된 전류)를 인출하는 전류원(3101-1, …, 3101-n), 연산 증폭기(3102), 가변 홀딩 커패시터(3104), 및 가변 저항기(3103)를 포함한다. 연산 증폭기(3102)는 전압을 출력하고, Vneuout = R3103 *(Ineu1 + Ineu0)이며, 이는 전류 Ineux에 비례한다. 홀딩 커패시터(3104)는 스위치(3106)가 개방될 때 출력 전압을 유지하기 위해 사용된다. 이 홀딩 출력 전압은, 예를 들어, ADC 회로에 의해 디지털 비트로 변환되는 데 사용된다.
도 32는 가변 커패시터(기본적으로 적분기)에 의해 조정 가능한 전류-전압 합산기 회로(3200)를 도시하며, 이는 각각 전류(Ineu(1), …, Ineu(n))(VMM 어레이의 비트 라인(들)으로부터 수신된 전류)를 인출하는 전류원(3201-1, …, 3201-n), 연산 증폭기(3202), 가변 커패시터(3203), 및 스위치(3204)를 포함한다. 연산 증폭기(3202)는 전압을 출력하고, Vneuout = Ineu*적분 시간/C3203이며, 이는 전류 Ineu(들)에 비례한다.
도 33a는 가변 커패시터(즉, 스위치 캡(SC) 회로)에 의해 조정 가능한 전압 합산기(3300)를 도시하며, 이는 스위치(3301 및 3302), 가변 커패시터(3303 및 3304), 연산 증폭기(3305), 가변 커패시터(3306), 및 스위치(3306)를 포함한다. 스위치(3301)가 폐쇄될 때, 입력 Vin0이 연산 증폭기(3305)에 제공된다. 스위치(3302)가 폐쇄될 때, 입력 Vin1이 연산 증폭기(3305)에 제공된다. 선택적으로, 스위치(3301 및 3302)는 동시에 폐쇄되지 않는다. 연산 증폭기(3305)는 입력(스위치(3301 및 3302) 중에서 어느 스위치가 폐쇄되는지에 따라, Vin0 및/또는 Vin1 중 어느 하나)의 증폭된 버전인 출력(Vout)을 생성한다. 즉, Vout = Cin/Cout * (Vin), Cin은 C3303 또는 C3304, Cout은 C3306이다. 예를 들어, Vout = Cin/Cout * ∑ (Vinx), Cin = C3303 = C3304. 일 실시예에서, Vin0는 W+ 전압이고 Vin1은 W- 전압이며, 전압 합산기(3300)는 이들을 함께 가산하여 출력 전압(Vout)을 생성한다.
도 33b는 전압 합산기(3350)를 도시하며, 이는 스위치(3351, 3352, 3353 및 3354), 가변 입력 커패시터(3358), 연산 증폭기(3355), 가변 피드백 커패시터(3356), 및 스위치(3357)를 포함한다. 일 실시예에서, Vin0는 W+ 전압이고 Vin1은 W- 전압이며, 전압 합산기(3300)는 이들을 함께 가산하여 출력 전압(Vout)을 생성한다.
입력 = Vin0인 경우: 스위치(3354 및 3351)가 폐쇄될 때, 입력 Vin0이 커패시터(3358)의 상단 단자에 제공된다. 그 다음, 스위치(3351)가 개방되고 스위치(3353)가 폐쇄되어, 전하를 커패시터(3358)로부터 피드백 커패시터(3356)로 전달한다. 기본적으로, 그 다음, 출력 VOUT = (C3358/C3356) * Vin0(예로서, VREF =0인 경우)이다.
입력 = Vin1인 경우: 스위치(3353 및 3354)가 폐쇄될 때, 커패시터(3358)의 두 단자는 VREF로 방전된다. 그 다음, 스위치(3354)는 개방되고 스위치(3352)는 폐쇄되어, 커패시터(3358)의 하부 단자를 Vin1으로 충전하며, 이는 결국 피드백 커패시터(3356)를 VOUT = -(C3358/C3356) * Vin1(VREF=0인 경우)로 충전한다.
따라서, Vin0 입력이 활성화된 후 Vin1 입력이 활성화되면, VOUT = (C3358/C3356) * (Vin0 - Vin1)(예로서 VREF=0의 경우에 대해)이다. 이는, 예를 들어, w = w+ - w-를 실현하기 위해 사용된다.
위에서 논의된 VMM 어레이에 적용되는 도 2에 대한 입력 및 출력 동작의 방법은 디지털 또는 아날로그 형태일 수 있다. 방법은 다음을 포함한다:
Figure pct00023
DAC에 대한 순차 입력 IN[0:q]:
Figure pct00024
순차적으로 IN0, 그 다음 IN1,..., 그 다음 INq를 동작시키고; 모든 입력 비트는 동일한 VCGin을 갖는다; 모든 비트 라인(뉴런) 출력은 이진 지수 승산기를 조정하여 합산된다; ADC 전 또는 ADC 이후
Figure pct00025
뉴런 (비트 라인) 이진 지수 승산기 조정 방법: 도 20에 도시된 바와 같이, 예시적인 합산기는 2개의 비트 라인(BL0, bln)을 갖는다. 가중치는 다수의 비트 라인(BL0 내지 BLn)에 걸쳐 분산된다. 예를 들어, 4개의 비트 라인(BL0,BL1,BL2,BL3)이 존재한다. 비트 라인 BL0로부터의 출력은 2^0 =1로 승산된다. n번째 이진 비트 위치를 나타내는 비트 라인 BLn으로부터의 출력은 2^n, 예를 들어, n=3에 대해 2^3=8로 승산된다. 그 다음, 이진 비트 위치 2^n으로 적절하게 승산된 후의 모든 비트 라인으로부터의 출력이 함께 합산된다. 그 다음, 이는 ADC에 의해 디지털화된다. 이 방법은 모든 셀이 이진 범위만을 갖는다는 것을 의미하며, 다중 레벨 범위(n-비트)는 주변 회로(합산기 회로를 의미함)에 의해 달성된다. 이로 인해, 모든 비트 라인에 대한 전압 강하는 메모리 셀의 가장 높은 바이어스 레벨에 대해 대략 동일하다.
Figure pct00026
순차적으로 IN0, IN1,..., 그 다음 INq를 동작시키고; 각 입력 비트는 대응하는 아날로그 값(VCGin)을 갖는다; 모든 뉴런 출력은 모든 입력 비트 평가에 대해 합산된다; ADC 전 또는 ADC 이후
Figure pct00027
DAC로의 병렬 입력:
Figure pct00028
각 입력 IN[0:q]은 대응하는 아날로그 값(VCGin)을 갖는다; 모든 뉴런 출력은 이진 지수 승산기 조정 방법으로 합산된다; ADC 전 또는 ADC 이후
어레이 상에서 순차적으로 동작함으로써, 전력은 보다 균일하게 분산된다. 뉴런 (비트 라인) 이진 지수 방법은, 비트 라인의 각 셀이 이진 레벨만을 가지므로, 전력을 줄이고, 2^n 레벨이 합산기 회로(2603)에 의해 달성된다.
도 33에 도시된 바와 같은 각 ADC는 ADC의 적절한 설계로 보다 높은 비트 구현을 위해 다음 ADC와 조합하도록 구성될 수 있다.
도 34a, 도 34b, 및 도 34c는 도 30의 합산기 회로(3003) 및 아날로그-디지털 변환기(3004)에 사용될 수 있는 출력 회로를 도시한다.
도 34a는 뉴런 출력(3401)을 수신하고 출력 디지털 비트(3403)를 출력하는 아날로그-디지털 변환기(3402)를 포함하는 출력 회로(3400)를 도시한다.
도 34b는 뉴런 출력(3401)을 함께 수신하고 출력(3413)을 생성하는 뉴런 출력 회로(3411) 및 아날로그-디지털 변환기(3412)를 포함하는 출력 회로(3410)를 도시한다.
도 34c는 뉴런 출력(3401)을 함께 수신하고 출력(3423)을 생성하는 뉴런 출력 회로(3421) 및 변환기(3422)를 포함하는 출력 회로(3420)를 도시한다.
뉴런 출력 회로(3411 또는 3411)는, 예를 들어, 합산, 스케일링, 정규화, 산술 연산 등을 수행할 수 있다. 예를 들어, 변환기(3422)는 ADC, PDC, AAC, APC 동작 등을 수행할 수 있다.
도 35는, 뉴런 출력인 출력 iOUT을 함께 생성하는, 조정 가능한 (스케일링) 전류원(3501) 및 조정 가능한 (스케일링) 전류원(3502)을 포함하는, 뉴런 출력 회로(3500)를 도시한다. 이 회로는 양의 가중치 및 음의 가중치의 합산, 즉 w = w+ - w-, 및 출력 뉴런 전류의 업 또는 다운 스케일링을 동시에 수행할 수 있다.
도 36은 구성가능한 뉴런 직렬 아날로그-디지털 변환기(3600)를 도시한다. 이는 뉴런 출력 전류를 적분 커패시터(3602)로 적분하는 적분기(3670)를 포함한다. 일 실시예는 비교기(3604)가 극성을 전환할 때까지 램핑 VRAMP(3650)를 클록킹함으로써, 또는 다른 실시예는 VOUT(3603)이, EC(3605) 신호가 카운터(3620)를 비활성화하는 지점인, VREF(3650)에 도달할 때까지 램프 전류(3651)에 의해 노드 VC(3610)를 램핑 다운함으로써, 디지털 출력(카운트 출력)(3621)을 생성한다. (n-비트) ADC는 타깃 애플리케이션에 따라 더 낮은 수의 비트 정밀도(<n-비트) 또는 더 높은 수의 비트 정밀도(>n-비트)를 갖도록 구성할 수 있다. 구성 가능성은 예컨대 커패시터(3602), 전류(3651), 또는 VRAMP(3650)의 램핑 속도, 클록킹(3641) 등을 구성함으로써 수행된다. 다른 실시예에서, VMM 어레이의 ADC 회로는 더 낮은 정밀도(<n-비트)를 갖도록 구성되고 다른 VMM 어레이의 ADC 회로는 높은 정밀도(>n-비트)를 갖도록 구성된다. 또한, 하나의 뉴런 회로의 이러한 ADC 회로는 다음 뉴런 회로의 다음 ADC와 결합하여, 예컨대 2개의 ADC 회로의 집적 캐패시터(3602)를 결합함으로써 더 높은 n-비트 ADC 정밀도를 생성하도록 구성될 수 있다.
도 37은 구성 가능한 뉴런 SAR(연속 근사 레지스터) 아날로그-디지털 변환기(3700)를 도시한다. 이 회로는 이진 커패시터를 사용하는 전하 재분산에 기초하는 점근 변환기이다. 이는 이진 CDAC(커패시터에 기초한 DAC)(3701), 연산 증폭기/비교기(3702), 및 SAR 로직(3703)을 포함한다. 도시된 바와 같이, GndV(3704)는 저전압 기준 레벨, 예를 들어, 접지 레벨이다.
도 38은 구성 가능한 뉴런 콤보 SAR 아날로그-디지털 변환기 회로(3800)를 도시한다. 이 회로는 2개의 뉴런 회로로부터의 2개의 ADC를 하나로 조합하여, 예를 들어, 하나의 뉴런 회로에 대한 4-비트 ADC에 대해, 더 높은 정밀도(n-비트)를 달성하며, 이 회로는 2개의 4-비트 ADC를 조합함으로써 >4-비트 정밀도, 예컨대 8-비트 ADC 정밀도를 달성할 수 있다. 콤보 회로 토폴로지는 분리형 캡(브리지-커패시터(캡) 또는 어텐션 캡) SAR ADC 회로, 예를 들어, 2개의 인접한 4-비트 4C SAR ADC 회로를 조합함으로써 생성된 8-비트 4C-4C SAS ADC와 등가이다. 브리지 회로(3804)가 이를 실현하기 위해 사용되며, 이 회로의 커패시터의 커패시턴스는 = (CDAC 캡 유닛의 총 수 / CDAC 캡 유닛의 총 수 -1)이다.
도 39는, 파이프라인 방식으로 비트의 수를 증가시키기 위해 다음 SAR ADC와 조합하도록 사용될 수 있는 구성 가능한 뉴런, 파이프라인형 SAR ADC 회로(3900)를 도시한다. 잔류 전압(3906)은 커패시터(3930Cf)에 의해 생성되어 파이프라인형 ADC의 다음 단계에 대한 입력으로 제공된다(예를 들어, 다음 SAR CDAC ADC에 대한 입력으로 2의 이득(DAC(3901)의 모든 캡의 C에 대한 Cf의 비율)을 제공한다).
구성가능한 출력 뉴런(예컨대 구성가능 뉴런 ADC) 회로에 관한 추가적인 구현 세부사항은, 본원에 참조로 포함되는, 동일한 양수인에 의해 2019년 6월 21일자로 출원된 "Configurable Input Blocks and Output Blocks and Physical Layout for Analog Neural Memory in a Deep Learning Artificial Neural Network"라는 명칭의 미국 특허 출원 제16/449,201호에서 찾아볼 수 있다.
출원인은, 본원에 참조로 포함되는, 2020년 8월 4일자로 출원된 "Ultra-Precise Tuning of Analog Neural Memory Cells in a Deep Learning Artificial Neural Network"라는 명칭의 미국 특허 출원 제16/985,147호에 설명된 인공 신경망의 아날로그 신경 메모리에서 정확한 데이터 튜닝을 달성하기 위한 메커니즘을 이전에 발명했다. 이전의 출원은 VMM에서 선택된 셀의 거친 프로그래밍, 미세 프로그래밍 및 초미세 프로그래밍을 수행하기 위한 실시예를 개시한다. 따라서, 해당 출원은 각각의 선택된 셀에 대해 최대 3가지 유형의 프로그래밍을 수행하는 것을 고려한다. 이러한 접근법은 극도로 정밀한 프로그래밍을 달성할 수 있지만, 어레이 내의 각각의 선택된 셀이 모든 3가지 유형의 프로그래밍 프로세스를 통과해야 하므로, 이는 또한 상당한 양의 시간이 걸린다.
도 40 내지 도 48은 선행 기술 및 선행 출원의 프로그래밍 메커니즘을 개선하는 실시예를 도시한다.
도 40는 논리 셀(4000)을 도시한다. 이 예에서, 논리 셀은 미세 셀(4001-1), 거친 셀(4001-2), 및 거친 셀(4001-3) 로 레이블링된 3개의 메모리 셀을 포함한다. 미세 셀(4001-1)은 미세 비트 라인(4002-1)에 결합되고, 거친 셀(4001-2)은 거친 비트 라인(4002-2)에 결합되고, 거친 셀(4001-3)은 거친 비트 라인(4002-3)에 결합된다. 논리 셀(4000)은 선행 기술에서 (물리적) 단일 셀에 저장된 데이터를 포함한다. 예를 들어, 논리 셀(4000)은 N개의 상이한 값 중 하나를 보유할 수 있으며, 여기서 N은 논리 셀(4000)에 저장될 수 있는 상이한 값의 총 수(예를 들어, N=64 또는 128)이다. 선행 기술과 달리, 각각의 물리적 셀에 대해 다수의 유형의 프로그래밍(예를 들어, 거친 프로그래밍 및 미세 프로그래밍)을 수행하기보다는, 거친 프로그래밍 방법이 거친 비트 라인(4002-3)을 통해 거친 셀(4001-3)에 대해 수행되고, 거친 프로그래밍 방법이 거친 비트 라인(4002-2)을 통해 거친 셀(4001-2)에 대해 수행되고, 거친 및/또는 미세 프로그래밍 방법이 미세 비트 라인(4002-1)을 통해 미세 셀(4001-1)에 대해 수행된다. 즉, 미세 프로그래밍 방법은 거친 셀(4001-2 및 4001-3)에 대해 수행되지 않는다. 이 접근법을 구현함으로써, 미세 프로그래밍은, 특히, 상대적으로 많은 시간이 걸리기 때문에, 프로그래밍 시간은 3개의 셀 모두에 대해 거친 및 미세 프로그래밍을 수행하는 접근법에 비해 훨씬 더 짧을 것이다.
도 41은 도 40의 논리 셀(4000)에 대해 수행된 프로그래밍 및 검증 방법(4100)을 도시한다.
제1 단계는 미세 셀(4001-1), 거친 셀(4001-2) 및 거친 셀(4001-3)을 소거하는 것이다(4101 단계). 선택적으로, 제1 단계는, 소거 후, 3개의 셀 모두에 대해 중간 값으로 거친 프로그래밍 방법을 수행하는 단계를 더 포함한다.
제2 단계는 거친 프로그래밍 방법을 사용하여 거친 셀(4001-3)을 프로그래밍하고, 해당 동작 후에 논리 셀(4000)을 검증하여 거친 셀(4001-3)이 거친 셀(4001-3)에 대해 의도된 거친 값으로 정확하게 프로그래밍됨을 확인하는 것이다(4102 단계). 대안적인 방법은 거친 셀을 자체로 검증하는 것이다.
제3 단계는 거친 프로그래밍 방법을 사용하여 거친 셀(4001-2)을 프로그래밍하고, 해당 동작 후에 논리 셀(4000)을 검증하여, 거친 셀(4001-2) 및 거친 셀(4001-3)이, 논리 셀(4000)에 대한 값으로 반영된, 거친 셀(4001-2 및 4001-3)에 대한 의도된 거친 값으로 함께 정확하게 프로그래밍되었음을 확인하는 것이다(4103 단계).
제4 단계는 미세 프로그래밍 방법을 사용하여 미세 셀(4001-1)을 프로그래밍하고, 해당 동작 후에 논리 셀(4000)을 검증하여, 미세 셀(4001-1), 거친 셀(4001-2) 및 거친 셀(4003)이 함께 논리 셀(4000)에 대한 의도된 값으로 정확하게 프로그래밍되었음을 확인하는 것이다(4104 단계).
표 12는 논리 셀(4000), 미세 셀(4001-1), 거친 셀(4001-2), 및 거친 셀(4001-3)에 대한 타깃 값의 예를 도시한다:
[표 12]
Figure pct00029
표 12를 참조하여 이해될 수 있는 바와 같이, 미세 셀(4001-1) 만이 논리 셀(4000)에 대한 최종 타깃 값의 허용 백분율(예를 들어, +/-0.5%, +/-0.25%, 제한 없음) 내에서 정확하고 정밀한 값을 가질 필요가 있다. 예를 들어, 출원인은 (임의의 부정확성이 미세 셀(4001-1)에 의해 보상될 수 있기 때문에) 거친 셀이 거친 셀에 대한 타깃 값의 +/-20%를 예로서 가질 수 있는 반면, 미세 셀은 논리 셀에 대한 타깃 값의 +/-0.5%를 가질 수 있다고 결정하였다. 따라서, 거친 셀은 더 거친 전압 단계로 프로그래밍될 수 있으며, 이는 이들이 그들의 타깃에 훨씬 더 빠르게 도달할 수 있게 한다. 메모리 셀에 대한 N 레벨 각각에 대한 전하 레벨을 할당하는 한 가지 방법은 다음과 같다. 먼저, 데이터 특성화로부터의 하위-임계치 또는 임의의 다른 영역에서 최대 전류 Imax를 갖는 전류 범위를 결정하고, 통상적으로 전류 범위 Imax는 대략적인 플로팅에 대한 전압 = Vtfg - 0.2 V 내에 있다. 둘째, 셀이 오프 조건에 있을 때(예를 들어, WL = 0V, CG = 0V), 물리적 메모리 셀로부터 누설 전류(Ileak)을 결정한다. N개 레벨 중 가장 낮은 것에 대한 가장 낮은 전하는 임의의 인수 a*Ileak일 것이며, 예를 들어 128개 로우 어레이의 경우 a=128이다. N개 레벨 중 가장 높은 것에 대한 가장 높은 전하는 전류 범위의 최대 전류 Imax와 관련된 전하이다. 셋째, 거친/미세 또는 거친/미세/초미세 알고리즘을 사용하여 Imax로 프로그래밍할 때 프로그래밍 해상도를 결정한다. 통상적으로, Imax 타깃의 표준 편차 (시그마) 변동은 거친/미세 알고리즘에 대한 단일 전자 해상도 및 거친/미세/초미세(비트 라인 튜닝 또는 플로팅 게이트-플로팅 게이트 커플링 튜닝 방법)에 대한 전자-미만 프로그래밍 해상도이다. 예를 들어, 신경망에 대한 타깃 델타 레벨은 = (IdeltaL= I(Ln) - I (Ln-1) = b*1시그마 변동일 수 있으며, b는 통상적으로 특정 애플리케이션에 대한 원하는 네트워크 정확도에 따라 1 또는 2 또는 3일 수 있다. 예시적인 실시예의 경우, 레벨의 개수 NL = (Imax- a*Ileak) / IdeltaL이며, a는 데이터 특성화에 기초하여 미리 결정된 수이다
도 42는 논리 셀(4200)을 도시한다. 이 예에서, 논리 셀(4200)은 튜닝 셀(4201-1), 미세 셀(4201-2), 거친 셀(4201-3), 및 거친 셀(4201-4)로 레이블링된 4개의 메모리 셀을 포함한다. 튜닝 셀(4201-1)은 튜닝 비트 라인(4202-1)에 결합되고, 미세 셀(4201-2)은 미세 비트 라인(4202-2)에 결합되고, 거친 셀(4201-3)은 거친 비트 라인(4202-3)에 결합되고, 거친 셀(4201-4)은 거친 비트 라인(4202-4)에 결합된다. 논리 셀(4200)은 종래 기술에서 단일 물리적 셀에 저장된 데이터를 포함한다. 예를 들어, 논리 셀(4200)은 N개의 상이한 값 중 하나를 보유할 수 있으며, 여기서 N은 논리 셀에 저장될 수 있는 상이한 값의 총 수(예를 들어, N=64 또는 128)이다. 종래 기술과 달리, 각각의 물리적 셀에 대해 다수의 유형의 프로그래밍(예를 들어, 거친 프로그래밍, 미세 프로그래밍, 초미세(FG-FG 튜닝) 또는 튜닝 프로그래밍)을 수행하기보다는, 거친 프로그래밍이 거친 비트 라인(4202-4)을 통해 거친 셀(4201-4)에서 수행되고, 거친 프로그래밍이 거친 비트 라인(4202-3)을 통해 거친 셀(4201-3)에서 수행되고, 거친 및/또는 미세 프로그래밍이 미세 비트 라인(4202-2)을 통해 미세 셀(4201-2)에서 수행되며, FG-FG 튜닝 (초미세) 프로그래밍은 튜닝 비트 라인(4202-1)을 통해 튜닝 셀(4201-1)에서 수행된다. 즉, 초미세 및 미세 프로그래밍은 거친 셀(4201-3 및 4201-4)에서 수행되지 않고, 초미세 프로그래밍은 미세 셀(4201-2)에서 수행되지 않는다.
초미세 프로그래밍은 논리 셀이 최종 타깃 값의 타깃 %내에, 예를 들어, 제한 없이 +/- 0.5% 또는 +/-0.25%에 도달할 수 있게 한다. 초미세 프로그래밍은 튜닝 셀(4201-1)을 프로그래밍함으로써 수행된다. 튜닝 셀(4201-1)은 FG-FG 커플링을 통해 미세 셀(4201-2)을 튜닝한다(튜닝 셀(4201-1)의 FG는 미세 셀(4201-2)의 FG와 커플링한다). 예를 들어, 미세 셀에 대한 튜닝 셀의 FG-FG 커플링의 백분율이 약 3%인 경우, 이는 (예컨대 하나의 셀의 10 ㎷의 CG 프로그래밍 증분으로부터) 튜닝 셀의 FG에서 4 ㎷ 변화가 (인접한 2개의 셀의 FG-FG 커플링으로부터의) 미세 셀의 FG에서 0.12 ㎷ 변화를 초래한다는 것을 의미한다. 거친 셀(4201-3 및 4201-5)의 각각에 대한 거친 셀 타깃은 +/-20% 이내일 수 있고, 미세 셀 타깃은 15% 이내일 수 있고, 튜닝 셀 튜닝 타깃은 +/-0.2% 일 수 있다. 하나의 논리 셀을 실현하기 위해 3개의(다수의) 물리적 셀에 대해 하나의 튜닝 셀만이 필요하다는 점에 유의한다.
도 43은 도 42의 논리 셀(4200)에 대해 수행된 프로그래밍 및 검증 방법(4300)을 도시한다.
제1 단계는 튜닝 셀(4201-1), 미세 셀(4201-2), 거친 셀(4201-3), 및 거친 셀(4201-4)을 소거하는 것이다(4301 단계). 선택적으로, 제1 단계는 미세 셀(4201-2), 거친 셀(4201-3), 및 거친 셀(4201-4)에 대한 거친 프로그래밍 방법을 중간 값으로 수행하는 단계를 더 포함한다.
제2 단계는 거친 프로그래밍 방법을 사용하여 거친 셀(4201-4)을 프로그래밍하고, 해당 동작 후에 논리 셀(4200)을 검증하여, 거친 셀(4201-4)이 거친 셀(4002-4)에 대해 의도된 거친 값으로 정확하게 프로그래밍됨을 확인하는 것이다(4302 단계).
제3 단계는 거친 프로그래밍 방법을 사용하여 거친 셀(4201-3)을 프로그래밍하고, 해당 동작 후에 논리 셀(4200)을 검증하여, 거친 셀(4201-3) 및 거친 셀(4201-4)이 함께 거친 셀(4201-3 및 4201-4)에 대해 의도된 거친 값으로 함께 정확하게 프로그래밍되었음을 확인하는 것이다(4303 단계).
제4 단계는 미세 프로그래밍 방법을 사용하여 미세 셀(4201-2)을 프로그래밍하고, 해당 동작 후에 논리 셀(4200)을 검증하여, 미세 셀(4201-2), 거친 셀(4201-3) 및 거친 셀(4201-4)이 함께 논리 셀(4200)에 대해 의도된 값으로 정확하게 프로그래밍되었음을 확인하는 것이다(4304 단계).
제5 단계는 튜닝 방법을 사용하여 튜닝 셀(4201-1)을 프로그래밍하고, 해당 동작 후에 논리 셀(4200)을 검증하여, 튜닝 셀(4201-1), 미세 셀(4201-2), 거친 셀(4201-3), 및 거친 셀(4201-4)이 함께 논리 셀(4200)에 대해 의도된 값으로 정확하게 프로그래밍되었음을 확인하는 것이다(4305 단계).
표 13은 논리 셀(4200), 튜닝 셀(4201-1), 미세 셀(4001-2), 거친 셀(4201-3), 및 거친 셀(4201-4)에 대한 타깃 값의 예를 도시한다:
[표 13]
Figure pct00030
논리 셀(4200)의 값이 두 개의 거친 셀(4201-3, 4201-4) 및 미세 셀(4201-2)의 합이기 때문에, 논리 셀(4201-1)의 절대값은 중요하지 않다는 점에 유의한다. 튜닝 셀(4201-1)의 목적은 미세 셀(4201-2)의 값을 튜닝하는 것이다.
도 44는 어레이(4400)를 도시한다. 어레이(4400)는, 여기서 논리 셀(4200)의 구조를 따르는 예시적인 논리 셀(4451)과 같은 복수의 논리 셀을 포함한다. 따라서, 논리 셀(4451)은 튜닝 비트 라인(4401-1)에 연결된 튜닝 셀(4411-1), 미세 비트 라인(4401-2)에 연결된 미세 셀(4411-2), 거친 비트 라인(44010-3)에 연결된 거친 셀(4411-3), 및 거친 비트라인(4401-4)에 연결된 거친 셀(4411-4)을 포함한다. 여기서, 각각의 로우는 논리 셀(4200)과 동일한 구조의 복수의 논리 셀을 포함하고, 어레이(4400)는 예시적인 로우(4410 및 4420)과 같은 복수의 로우를 포함한다. 동일한 로우에서, 다음 로직 셀은 이전 논리 셀의 거친 셀 옆에 튜닝 셀을 가지며, 이는 2개의 논리 셀 사이의 FG-FG 커플링을 최소화하는 데 사용되는데, 용량성 효과는, 예를 들어, 미세 셀(4411-6)에 비해 거친 셀(4411-4)에서 상대적으로 작을 것이기 때문이다.
도 45는 어레이(4500)를 도시한다. 어레이(4500)는 어레이(4500)가 또한 격리 비트 라인에 연결된 격리 셀의 칼럼을 포함한다는 점을 제외하고는 어레이(4400)와 유사하다. 예를 들어, 어레이(4500)는 튜닝 비트 라인(4501-2)에 연결된 튜닝 셀(4511-2), 미세 비트 라인(4501-3)에 연결된 미세 셀(4511-3), 거친 비트 라인(4501-4)에 연결된 거친 셀(4511-4), 및 거친 비트 라인(4501-5)에 연결된 거친 셀(4511-5)을 포함하는 논리 셀(4511)을 포함한다. 어레이(4500)는 격리 비트 라인(4501-1)에 연결된 격리 셀(4511-1) 및 격리 비트 라인(4501-6)에 연결된 격리 셀(4511-6)을 더 포함하며, 여기서 격리 셀(4511-1 및 4511-6)은 그것의 어느 한쪽의 논리 셀(4551)에 인접한다. 격리 셀(4511-1 및 4511-6)은 데이터를 저장하는 데 사용되지 않고, 오히려, 논리 셀 사이의 임의의 원하지 않는 교란 효과를 감소시키기 위해 논리 셀 사이에 버퍼를 제공하는 데 사용된다. 바람직하게는, 격리 셀은 격리 셀의 FG 전압이 가능한 최저 값에 있도록 심층 프로그래밍된다. 대안적으로, 격리 셀은 부분적으로 소거되거나, 완전히 소거되거나, 또는 (소거 또는 프로그래밍 없는) 네이티브 상태이다. 대안적으로, 격리 셀은 부분적으로 프로그래밍된다. 대안적으로, 격리 셀은 더미 셀이다. 동일한 로우에 대해, 논리 셀 사이의 격리 셀은 이전 논리 셀의 하나의 거친 셀에 인접하고 다음의 논리 셀의 튜닝 셀에 인접하는 것에 유의한다.
도 46은 어레이(4600)를 도시한다. 어레이(4600)는 어레이(4600)가 또한 임의의 비트 라인에 연결되지 않은 스트랩 셀의 칼럼을 포함하는 것을 제외하고는 어레이(4400)와 유사하다. 예를 들어, 어레이(4600)는 튜닝 비트 라인(4601-2)에 연결된 튜닝 셀(4611-2), 미세 비트 라인(4601-3)에 연결된 미세 셀(4611-3), 거친 비트 라인(4610-4)에 연결된 거친 셀(4611-4), 및 거친 비트 라인(4601-5)에 연결된 거친 셀(4611-5)을 포함하는 논리 셀(4511)을 포함한다. 어레이(4600)는 어느 한쪽에 논리 셀(4651)과 인접하게 위치된 스트랩 셀(4611-1 및 4611-6)을 더 포함한다. 스트랩 셀(4611-1 및 4611-6)은 데이터를 저장하는 데 사용되지 않으며; 오히려, 어레이(4600) 내의 다양한 라인(폴리 라인) (예컨대 워드 라인용 WL 스트랩, 소거 게이트 라인용 EG 스트랩, 제어 게이트 라인용 CG 스트랩, 소스 라인용 SL 스트랩, 또는 SLWL 스트랩, SLCG 스트랩, SLEG 스트랩과 같은 스트랩 조합; 스트랩 셀은 여전히 구조 내에 더미 플로팅 게이트 구조를 가질 수 있음) 및 장치 사이에 전도성 연결(예: 금속 상호연결)이 만들어질 수 있는 영역 및 어레이(4600) 외부의 연결(예컨대 드라이버 회로)로서 사용된다. 대안적으로, 격리 셀은 스트랩 셀과 튜닝 셀 사이에 배치된다. 대안적으로, 격리 셀은 스트랩 셀 옆에 배치된다.
도 47은 어레이(4700)를 도시한다. 어레이(4700)는 어레이(4700)가 또한 어레이의 풀다운 소스 라인에 연결된 풀다운 셀의 칼럼을 포함하는 것을 제외하고는 어레이(4400)와 유사하다. 예를 들어, 어레이(4700)는 튜닝 비트 라인(4701-2)에 연결된 튜닝 셀(4711-2), 미세 비트 라인(4701-3)에 연결된 미세 셀(4711-3), 거친 비트 라인(4701-4)에 연결된 거친 셀(4711-4), 및 거친 비트 라인(4701-5)에 연결된 거친 셀(4711-5)을 포함하는 논리 셀(4751)을 포함한다. 어레이(4700)는 풀다운 비트라인(4701-1)에 연결된 풀다운 셀(4711-1) 및 풀다운 비트라인(4701-6)에 연결된 풀다운 셀(4711-6)을 더 포함하며, 여기서 풀다운 셀(4711-1 및 4711-6)은 그것의 어느 한쪽에서 논리 셀(4751)과 인접한다. 풀다운 셀(4711-1 및 4711-6)은 데이터를 저장하는 데 사용되지 않으며; 오히려, 도 21 내지 도 27을 참조하여 전술한 바와 같이, 이들은 필요에 따라 소스 라인 단자를 접지로 풀다운하는 데 사용된다.
도 48은 어레이(4800)를 도시한다. 어레이(4800)는 튜닝 비트 라인(4801-1)에 연결된 튜닝 셀(4811-1) 및 튜닝 셀(4821-1); 혼합 비트 라인(4801-2)에 연결된 거친 셀(4811-2) 및 미세 셀(4821-2); 거친 비트 라인(4810-3)에 연결된 거친 셀(4811-3) 및 거친 셀(4821-3)을 포함하는 논리 셀(4851)을 포함한다. 따라서, 어레이(4800)에서, 각각의 로직 셀은 하나의 로우(예컨대 짝수 로우) 내의 3개의 셀 및 인접한 로우(예컨대 홀수 로우)의 3개의 셀을 포함한다. 셀 중 3개는 거친 셀이고, 하나의 셀은 미세 셀이고, 2개의 셀은 튜닝 셀이다. 이전에 설명된 프로그래밍 방법과 일치하게, 논리 셀(4851)이 프로그래밍될 때, 셀이 프로그래밍되는 순서는: 거친 셀(4811-3), 거친 셀(4821-3), 거친 셀(4811-2), 미세 셀(4821-2), (거친 셀(4811-2)에 최소 효과를 가질 것으로 예상되는) 튜닝 셀(4811-1), 및 튜닝 셀(4821-1) 이다. 판독 또는 검증 동작 동안, 6개의 셀 모두가 하나의 논리 셀로서 판독된다. 이러한 접근법을 통해, 홀수 및 짝수 로우 사이의 불일치를 함께 평균화하여 I-V 기울기 불일치를 최소화한다.
본원에 사용된 바와 같이, 용어 "~ 위에" 및 "~ 상에"는 둘 다 "직접적으로 ~ 상에"(어떠한 중간 재료, 요소, 또는 공간도 사이에 배치되지 않음)와 "간접적으로 ~ 상에"(중간 재료, 요소, 또는 공간이 사이에 배치됨)를 포괄적으로 포함한다는 점을 유의하여야 한다. 마찬가지로, 용어 "인접한"은 "직접적으로 인접한"(어떠한 중간 재료, 요소, 또는 공간도 사이에 배치되지 않음)과 "간접적으로 인접한"(중간 재료, 요소, 또는 공간이 사이에 배치됨)을 포함하고, "~에 실장되는"은 "직접적으로 ~에 실장되는"(어떠한 중간 재료, 요소, 또는 공간도 사이에 배치되지 않음)과 "간접적으로 ~에 실장되는"(중간 재료, 요소, 또는 공간이 사이에 배치됨)을 포함하고, "전기적으로 결합되는"은 "직접적으로 ~에 전기적으로 결합되는"(요소를 함께 전기적으로 연결시키는 어떠한 중간 재료 또는 요소도 사이에 없음)과 "간접적으로 ~에 전기적으로 결합되는"(요소를 함께 전기적으로 연결시키는 중간 재료 또는 요소가 사이에 있음)을 포함한다. 예를 들어, 요소를 "기판 위에" 형성한다는 것은 사이에 중간 재료/요소 없이 요소를 직접적으로 기판 상에 형성하는 것뿐만 아니라 하나 이상의 중간 재료/요소를 사이에 두고 요소를 간접적으로 기판 상에 형성하는 것도 포함할 수 있다.

Claims (60)

  1. 메모리 시스템으로서,
    로우(row) 및 칼럼(column)으로 배열된 비휘발성 메모리 셀의 어레이;
    상기 어레이의 동일한 로우에 위치된 거친 셀로서 구성된 하나 이상의 비휘발성 메모리 셀 및 미세 셀로서 구성된 하나 이상의 비휘발성 메모리 셀을 포함하는 논리 셀을 포함하는, 메모리 시스템.
  2. 제1항에 있어서, 상기 시스템은 거친 프로그래밍 방법을 사용하여 거친 셀을 프로그래밍하고 미세 프로그래밍 방법을 사용하여 미세 셀을 프로그래밍하도록 구성된, 메모리 시스템.
  3. 제1항에 있어서, 거친 셀로서 구성된 상기 비휘발성 메모리 셀 각각은 미세 셀로서 구성된 상기 비휘발성 메모리 셀 각각의 가능한 프로그래밍된 전류 값의 범위보다 큰 가능한 프로그래밍된 전류 값의 범위를 갖는, 메모리 시스템.
  4. 제1항에 있어서, 튜닝 셀을 더 포함하는, 메모리 시스템.
  5. 제1항에 있어서, 상기 튜닝 셀은 그 옆에 인접한 셀을 튜닝하는 데 사용되는, 메모리 시스템.
  6. 제5항에 있어서, 상기 튜닝 셀은 상기 튜닝 셀의 플로팅 게이트와 상기 인접 셀의 플로팅 게이트 사이의 커플링을 통해 상기 인접 셀을 튜닝하는 데 사용되는, 메모리 시스템.
  7. 제1항에 있어서, 상기 논리 셀은 상기 동일한 로우에 하나 이상의 튜닝 셀을 더 포함하고, 상기 논리 셀의 프로그래밍 동작 동안, 상기 하나 이상의 튜닝 셀이 프로그래밍되는, 메모리 시스템.
  8. 제7항에 있어서, 상기 논리 셀에서 상기 하나 이상의 튜닝 셀은 인접한 논리 셀에서 거친 셀에 인접하는, 메모리 시스템.
  9. 제1항에 있어서, 상기 비휘발성 메모리 셀은 분리형-게이트 플래시 메모리 셀인, 메모리 시스템.
  10. 제1항에 있어서, 상기 비휘발성 메모리 셀은 적층형-게이트 플래시 메모리 셀인, 메모리 시스템.
  11. 제1항에 있어서, 상기 논리 셀은 2개 이상의 격리 셀 사이의 로우에 위치되는, 메모리 시스템.
  12. 제1항에 있어서, 상기 논리 셀은 2개 이상의 스트랩 셀 사이의 로우에 위치되는, 메모리 시스템.
  13. 제1항에 있어서, 상기 논리 셀은 2개 이상의 소스 라인 풀다운 셀 사이의 로우에 위치되는, 메모리 시스템.
  14. 제1항에 있어서, 각각의 로우는 하나 이상의 격리 셀을 포함하는, 메모리 시스템.
  15. 제14항에 있어서, 상기 격리 셀은 프로그래밍되거나, 부분적으로 프로그래밍되거나, 소거되거나, 부분적으로 소거되거나, 네이티브 상태에 있는, 메모리 시스템.
  16. 제14항에 있어서, 상기 격리 셀은 더미(dummy) 셀인, 메모리 시스템.
  17. 제1항에 있어서, 각각의 로우는 하나 이상의 스트랩 셀을 포함하는, 메모리 시스템.
  18. 제17항에 있어서, 상기 스트랩 셀은 더미 셀인, 메모리 시스템.
  19. 제1항에 있어서, 상기 메모리 시스템은 신경망의 일부인, 메모리 시스템.
  20. 제19항에 있어서, 상기 신경망은 아날로그 신경망인, 메모리 시스템.
  21. 비휘발성 메모리 셀의 어레이의 로우에 위치한 거친 셀로서 구성된 하나 이상의 비휘발성 메모리 셀 및 미세 셀로서 구성된 하나 이상의 비휘발성 메모리 셀을 포함하는 논리 셀을 프로그래밍하는 방법으로서,
    거친 프로그래밍 방법을 사용하여 거친 셀로서 구성된 상기 하나 이상의 비휘발성 메모리 셀을 프로그래밍하는 단계; 및
    미세 프로그래밍 방법을 사용하여 미세 셀로서 구성된 상기 하나 이상의 비휘발성 메모리 셀을 프로그래밍하는 단계를 포함하는, 방법.
  22. 제21항에 있어서,
    상기 논리 셀에서 프로그래밍된 값을 검증하는 단계를 더 포함하는, 방법.
  23. 제21항에 있어서, 상기 논리 셀은 상기 동일한 로우에서 튜닝 셀로서 구성된 하나 이상의 비휘발성 메모리 셀을 더 포함하고, 상기 방법은,
    튜닝 방법을 사용하여 튜닝 셀로서 구성된 상기 하나 이상의 비휘발성 메모리 셀을 프로그래밍하는 단계를 더 포함하는, 방법.
  24. 제23항에 있어서,
    상기 논리 셀에서 프로그래밍된 상기 값을 검증하는 단계를 더 포함하는, 방법.
  25. 제21항에 있어서, 상기 비휘발성 메모리 셀은 분리형-게이트 플래시 메모리 셀인, 방법.
  26. 제21항에 있어서, 상기 비휘발성 메모리 셀은 적층형-게이트 플래시 메모리 셀인, 방법.
  27. 제21항에 있어서, 상기 논리 셀은 2개 이상의 격리 셀 사이의 로우에 위치되는, 방법.
  28. 제21항에 있어서, 상기 논리 셀은 2개 이상의 스트랩 셀 사이의 로우에 위치되는, 방법.
  29. 제21항에 있어서, 상기 논리 셀은 2개 이상의 소스 라인 풀다운 셀 사이의 로우에 위치되는, 방법.
  30. 제21항에 있어서, 상기 메모리 시스템은 신경망의 일부인, 메모리 시스템.
  31. 제30항에 있어서, 상기 신경망은 아날로그 신경망인, 메모리 시스템.
  32. 메모리 시스템으로서,
    로우(row) 및 칼럼(column)으로 배열된 비휘발성 메모리 셀의 어레이; 및
    상기 어레이의 제1 로우에 제1 복수의 비휘발성 메모리 셀 및 상기 제1 로우에 인접한 제2 로우에 제2 복수의 비휘발성 메모리 셀을 포함하는 논리 셀을 포함하되;
    상기 제1 복수의 비휘발성 메모리 셀 및 상기 제2 복수의 비휘발성 메모리 셀은 하나 이상의 거친 셀 및 하나 이상의 미세 셀로서 구성되는, 메모리 시스템.
  33. 제32항에 있어서,
    상기 논리 셀의 프로그래밍 동작 동안, 거친 프로그래밍 방법은 상기 거친 셀을 프로그래밍하는 데 사용되고, 미세 프로그래밍 방법이 상기 미세 셀을 프로그래밍하는 데 사용되는, 메모리 시스템.
  34. 제32항에 있어서, 튜닝 셀을 더 포함하는, 메모리 시스템.
  35. 제34항에 있어서, 상기 튜닝 셀은 인접한 셀을 튜닝하는 데 사용되는, 메모리 시스템.
  36. 제32항에 있어서, 상기 제1 복수 및 상기 제2 복수 중 하나 이상은 하나 이상의 튜닝 셀을 포함하고, 상기 논리 셀의 프로그래밍 동작 동안, 튜닝 방법은 상기 하나 이상의 튜닝 셀을 프로그래밍하는 데 사용되는, 메모리 시스템.
  37. 제32항에 있어서, 상기 비휘발성 메모리 셀은 분리형-게이트 플래시 메모리 셀인, 메모리 시스템.
  38. 제32항에 있어서, 상기 비휘발성 메모리 셀은 적층형-게이트 플래시 메모리 셀인, 메모리 시스템.
  39. 제32항에 있어서, 상기 메모리 시스템은 신경망의 일부인, 메모리 시스템.
  40. 제439항에 있어서, 상기 신경망은 아날로그 신경망인, 메모리 시스템.
  41. 비휘발성 메모리 셀의 어레이의 제1 로우에서 제1 복수의 비휘발성 메모리 셀 및 상기 제1 로우에 인접한 제2 로우에서 제2 복수의 비휘발성 메모리 셀을 포함하는 논리 셀을 프로그래밍하는 방법으로서, 상기 제1 복수 및 상기 제2 복수는 하나 이상의 거친 셀 및 하나 이상의 미세 셀로서 구성되고, 상기 방법은,
    거친 프로그래밍 방법을 사용하여 상기 하나 이상의 거친 셀을 프로그래밍하는 단계; 및
    미세 프로그래밍 방법을 사용하여 상기 하나 이상의 미세 셀을 프로그래밍하는 단계를 포함하는, 방법.
  42. 제41항에 있어서,
    상기 논리 셀에서 프로그래밍된 상기 값을 검증하는 단계를 더 포함하는, 방법.
  43. 제41항에 있어서, 상기 논리 셀은 상기 동일한 로우에서 하나 이상의 튜닝 셀을 더 포함하고, 상기 방법은,
    튜닝 방법을 사용하여 상기 하나 이상의 튜닝 셀을 프로그래밍하는 단계를 더 포함하는, 방법.
  44. 제43항에 있어서,
    상기 논리 셀에서 프로그래밍된 상기 값을 검증하는 단계를 더 포함하는, 방법.
  45. 제41항에 있어서, 상기 비휘발성 메모리 셀은 분리형-게이트 플래시 메모리 셀인, 방법.
  46. 제41항에 있어서, 상기 비휘발성 메모리 셀은 적층형-게이트 플래시 메모리 셀인, 방법.
  47. 제41항에 있어서, 상기 메모리 시스템은 신경망의 일부인, 메모리 시스템.
  48. 제47항에 있어서, 상기 신경망은 아날로그 신경망인, 메모리 시스템.
  49. 비휘발성 메모리 셀의 어레이에 대한 레벨 할당의 방법으로서,
    프로그래밍 해상도 전류 값을 결정하는 단계; 및
    상기 어레이에서 복수의 비휘발성 메모리 셀에서 인접한 셀의 각각의 쌍의 레벨 사이의 델타 전류가 상기 프로그래밍 해상도 전류 값의 배수이도록 상기 복수의 프로그래밍 동작에 대한 레벨을 설정하는 단계를 포함하는, 방법.
  50. 제49항에 있어서, 상기 어레이는 아날로그 메모리인, 방법.
  51. 제49항에 있어서, 상기 최저 레벨은 오프 셀 누설 값의 배수인, 방법.
  52. 제49항에 있어서, 상기 델타 전류는 상기 프로그래밍 해상도 전류 값에 대해 적어도 1 시그마인, 방법.
  53. 제49항에 있어서, 상기 델타 전류는 상기 프로그래밍 해상도 전류 값에 대해 적어도 2 시그마인, 방법.
  54. 제49항에 있어서, 상기 델타 전류는 상기 프로그래밍 해상도 전류 값에 대해 적어도 3 시그마인, 방법.
  55. 제49항에 있어서, 상기 비휘발성 메모리 셀은 논리 셀로 구성되고, 각각의 논리 셀은 하나 이상의 거친 셀 및 하나 이상의 미세 셀을 포함하는, 방법.
  56. 제49항에 있어서, 상기 비휘발성 메모리 셀은 분리형-게이트 플래시 메모리 셀인, 방법.
  57. 제49항에 있어서, 상기 비휘발성 메모리 셀은 적층형-게이트 플래시 메모리 셀인, 방법.
  58. 제49항에 있어서, 상기 메모리 시스템은 신경망의 일부인, 메모리 시스템.
  59. 제58항에 있어서, 상기 신경망은 아날로그 신경망인, 메모리 시스템.
  60. 메모리 시스템으로서,
    로우(row) 및 칼럼(column)으로 배열되는 메모리 셀의 어레이; 및
    상기 어레이의 동일한 로우에 위치된 거친 셀로서 구성된 하나 이상의 메모리 셀 및 미세 셀로서 구성된 하나 이상의 메모리 셀을 포함하는 논리 셀을 포함하는, 메모리 시스템.
KR1020227036139A 2020-05-13 2020-10-30 논리 셀 및 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이 KR20220156878A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063024351P 2020-05-13 2020-05-13
US63/024,351 2020-05-13
US17/082,956 US11682459B2 (en) 2020-05-13 2020-10-28 Analog neural memory array in artificial neural network comprising logical cells and improved programming mechanism
US17/082,956 2020-10-28
PCT/US2020/058407 WO2021230905A1 (en) 2020-05-13 2020-10-30 Analog neural memory array in artificial neural network comprising logical cells and improved programming mechanism

Publications (1)

Publication Number Publication Date
KR20220156878A true KR20220156878A (ko) 2022-11-28

Family

ID=78512769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227036139A KR20220156878A (ko) 2020-05-13 2020-10-30 논리 셀 및 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이

Country Status (7)

Country Link
US (3) US11682459B2 (ko)
EP (1) EP4150620A1 (ko)
JP (1) JP7474871B2 (ko)
KR (1) KR20220156878A (ko)
CN (1) CN115485774A (ko)
TW (1) TWI819298B (ko)
WO (1) WO2021230905A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210350217A1 (en) * 2020-05-10 2021-11-11 Silicon Storage Technology, Inc. Analog neural memory array in artificial neural network with source line pulldown mechanism

Family Cites Families (17)

* 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
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
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
CN101796591B (zh) * 2007-07-03 2013-04-24 桑迪士克科技股份有限公司 使用针对改进感测的不同参考电平的非易失性存储器中的粗略/精细编程验证
US8004888B2 (en) 2008-09-22 2011-08-23 Spansion Llc Flash mirror bit architecture using single program and erase entity as logical cell
US8089805B2 (en) * 2008-11-20 2012-01-03 Micron Technology, Inc. Two-part programming methods and memories
KR102012310B1 (ko) * 2012-08-07 2019-10-21 삼성전자 주식회사 데이터 저장 장치의 동작 방법, 데이터 저장 장치 및 이를 이용한 시스템
US10134475B2 (en) * 2015-03-31 2018-11-20 Silicon Storage Technology, Inc. Method and apparatus for inhibiting the programming of unselected bitlines in a flash memory system
US9570179B2 (en) * 2015-04-22 2017-02-14 Sandisk Technologies Llc Non-volatile memory with two phased programming
US9870169B2 (en) * 2015-09-04 2018-01-16 Intel Corporation Interleaved all-level programming of non-volatile memory
KR102182583B1 (ko) 2016-05-17 2020-11-24 실리콘 스토리지 테크놀로지 인크 비휘발성 메모리 어레이를 사용하는 딥러닝 신경망 분류기
US10515694B2 (en) 2017-11-03 2019-12-24 Silicon Storage Technology, Inc. System and method for storing multibit data in non-volatile memory
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
JP7051484B2 (ja) 2018-02-22 2022-04-11 キオクシア株式会社 半導体メモリ
US10910061B2 (en) 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network
US20230238067A1 (en) * 2019-10-18 2023-07-27 Yangtze Memory Technologies Co., Ltd. Method of programming and verifying memory device and related memory device
US11211132B2 (en) * 2020-02-27 2021-12-28 Sandisk Technologies Llc Detection of a last programming loop for system performance gain

Also Published As

Publication number Publication date
WO2021230905A1 (en) 2021-11-18
US20230268004A1 (en) 2023-08-24
CN115485774A (zh) 2022-12-16
EP4150620A1 (en) 2023-03-22
US11682459B2 (en) 2023-06-20
JP2023525771A (ja) 2023-06-19
JP7474871B2 (ja) 2024-04-25
TW202147321A (zh) 2021-12-16
US20210358551A1 (en) 2021-11-18
US20240079064A1 (en) 2024-03-07
TWI819298B (zh) 2023-10-21

Similar Documents

Publication Publication Date Title
TWI832710B (zh) 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列
TWI784642B (zh) 類比神經記憶體中之同時寫入及驗證操作
US20240127890A1 (en) Adaptive bias decoder for non-volatile memory system
US20240079064A1 (en) Neural network array comprising one or more coarse cells and one or more fine cells
TWI785574B (zh) 具有源極線下拉機制之人工神經網路中之類比神經記憶體陣列
US11989440B2 (en) Hybrid memory system configurable to store neural memory weight data in analog form or digital form
TW202343451A (zh) 包含i-v斜率組構的參考陣列之人工神經網路

Legal Events

Date Code Title Description
E902 Notification of reason for refusal