KR20210090722A - 신경망들을 위한 가중된 입력들을 생성하도록 구성된 메모리 셀들 - Google Patents

신경망들을 위한 가중된 입력들을 생성하도록 구성된 메모리 셀들 Download PDF

Info

Publication number
KR20210090722A
KR20210090722A KR1020217021430A KR20217021430A KR20210090722A KR 20210090722 A KR20210090722 A KR 20210090722A KR 1020217021430 A KR1020217021430 A KR 1020217021430A KR 20217021430 A KR20217021430 A KR 20217021430A KR 20210090722 A KR20210090722 A KR 20210090722A
Authority
KR
South Korea
Prior art keywords
memory cell
current
memory cells
voltage
coupled
Prior art date
Application number
KR1020217021430A
Other languages
English (en)
Other versions
KR102409859B1 (ko
Inventor
움베르토 미누치
토마소 발리
페르난다 이레라
루카 데 산티스
Original Assignee
마이크론 테크놀로지, 인크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크 filed Critical 마이크론 테크놀로지, 인크
Publication of KR20210090722A publication Critical patent/KR20210090722A/ko
Application granted granted Critical
Publication of KR102409859B1 publication Critical patent/KR102409859B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits

Landscapes

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

Abstract

방법은 제 1 메모리 셀을 활성화하기 위해 제 1 메모리 셀에 제 1 전압을 인가하는 것, 전류가 제 1 및 제 2 메모리 셀들을 통해 흐르도록 제 2 메모리 셀을 활성화하기 위해 제 1 메모리 셀과 직렬로 결합된 제 2 메모리 셀에 제 2 전압을 인가하는 것, 및 전류에 응답하여 출력을 생성하는 것을 포함할 수 있다. 제 1 전압 및 제 2 메모리 셀의 임계 전압은 전류가 제 1 전압 및 제 2 메모리 셀의 임계 전압의 곱에 비례하도록 할 수 있다.

Description

신경망들을 위한 가중된 입력들을 생성하도록 구성된 메모리 셀들
본 개시는 일반적으로 메모리들에 관한 것이며, 보다 특히 신경망들을 위한 가중된 입력들을 생성하도록 구성된 메모리 셀들에 관한 것이다.
메모리 시스템들은 컴퓨터들, 휴대 전화들, 핸드-헬드 전자 디바이스들 등과 같은, 전자 시스템들에서 구현될 수 있다. 고체 상태 드라이브들(SSD들), 내장형 멀티-미디어 컨트롤러(eMMC) 디바이스들, 범용 플래시 저장(UFS) 디바이스들 등과 같은, 일부 메모리 시스템들은 호스트로부터 호스트(예컨대, 사용자) 데이터를 저장하기 위해 비-휘발성 저장 메모리들을 포함할 수 있다. 비-휘발성 저장 메모리들은 전력을 공급받지 않을 때 저장된 데이터를 유지함으로써 영구적 데이터를 제공하며 다른 유형들의 메모리 중에서, NAND 플래시 메모리, NOR 플래시 메모리, 판독 전용 메모리(ROM), 전기적으로 소거 가능한 프로그램 가능 ROM(EEPROM), 소거 가능한 프로그램 가능 ROM(EPROM), 및 상 변화 랜덤 액세스 메모리(PCRAM), 2-차원 교차-점 메모리(예컨대, 3D XPoint), 저항성 랜덤 액세스 메모리(RRAM), 강유전성 랜덤 액세스 메모리(FeRAM), 자기저항성 랜덤 액세스 메모리(MRAM), 및 프로그램 가능한 도전성 메모리와 같은 저항 가변 메모리를 포함할 수 있다.
신경망들은 특정한 환경에서 감지되어 온 정보(예컨대, 자극들)를 프로세싱하기 위해, 인간 뇌에서의 뉴런들과 같은, 뉴런들의 네트워크를 모델링함으로써 정보를 프로세싱할 수 있는 네트워크들이다. 인간 뇌와 유사하게, 신경망들은 통상적으로 다수의 뉴런 토폴로지(예컨대, 인공 뉴런들로서 불리울 수 있는)를 포함한다.
도 1은 본 개시의 다수의 실시예들에 따른 인공 뉴런의 예를 예시한다.
도 2a는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하도록 구성된 메모리 디바이스의 일 부분의 개략도이다.
도 2b는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하도록 구성된 메모리 디바이스의 일 부분의 개략도이다.
도 2c는 본 개시의 다수의 실시예들에 따른 시냅스 모델을 예시한다.
도 3a는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하기 위해 신경망 모델로서 구성된 메모리의 일 부분을 예시한다.
도 3b는 본 개시의 다수의 실시예들에 따른 신경망 모델의 층을 예시한다.
도 4는 본 개시의 다수의 실시예들에 따른 인공 신경망의 예시적인 모델을 예시한다.
도 5는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하도록 구성된 장치의 블록도이다.
다양한 시도들이 메모리 디바이스들에서 신경망들을 구현하기 위해 이루어져 왔다. 예를 들어, 신경망들의 일부 이전 구현들에서, 메모리 셀들은 메모리에서 하나 이상의 신경망 동작 특성들을 가능하게 하기 위해 다수의 신경 모델들을 에뮬레이팅하도록 동작하여 왔다.
본 출원에서 개시된 실시예들은 뉴런에 대한 입력들의 상대적인 영향을 감안하기 위해 뉴런 모델들에 가중된 입력들을 포함함으로써, 신경망 동작들을 가능하게 하기 위해 메모리들을 수반하여, 이전 접근법들을 개선한다. 가중치는 예를 들어, 인간 뇌 거동에서의 메모리에 대응할 수 있다.
일부 예들에서, 방법의 실시예는 제 1 메모리 셀을 활성화하기 위해 제 1 메모리 셀에 제 1 전압을 인가하는 것, 전류가 제 1 및 제 2 메모리 셀들을 통해 흐르도록 제 2 메모리 셀을 활성화하기 위해 제 1 메모리 셀과 직렬로 결합된 제 2 메모리 셀에 제 2 전압을 인가하는 것, 및 전류에 응답하여 출력을 생성하는 것을 포함할 수 있다. 제 1 전압 및 제 2 메모리 셀의 임계 전압은 전류가 제 1 전압 및 제 2 메모리 셀의 임계 전압의 곱(product)에 비례하도록 할 수 있다. 제 2 메모리 셀의 임계 전압은 전류에 가중을 주는 가중치일 수 있다. 예를 들어, 가중된 전류는 뉴런 모델로의 가중 입력에 대응할 수 있다.
도 1은 본 개시의 다수의 실시예들에 따른 뉴런(예컨대, 인간 뇌의)을 흉내내기 위해 사용될 수 있는 인공 뉴런(100)(예컨대, 뉴런 모델)의 예를 예시한다. 이러한 뉴런 모델들은 때때로 퍼셉트론들로서 불리울 수 있다. 자극들로서 불리울 수 있는 다수의 입력들(x1 내지 xN)은 각각 뉴런 모델(100)의 입력들(102-1 내지 102-N)에 적용될 수 있다. 입력들(x1 내지 xN)에 대응하는, 전압들, 전류들, 또는 특정한 데이터 값들(예컨대, 이진 숫자들)과 같은, 신호들은 일부 형태의 자극들을 감지하는 것에 응답하여 생성될 수 있으며 적용된 입력들(102-1 내지 102-N)일 수 있다.
다양한 인스턴스들에서, 입력들(x1 내지 xN)은 각각 시냅틱 가중치들로서 불리울 수 있는 가중치들(w1 내지 wN)에 의해 가중될 수 있다. 예를 들어, 입력들(x1 내지 xN)은 각각 입력들(x1 내지 xN)에 가중을 주기 위해 가중치들(w1 내지 wN)로 각각 곱해질 수 있다. 예를 들어, 각각의 가중된 입력은 시냅스로서 불리울 수 있으며, 가중치는 인간 뇌 거동에서의 메모리에 대응할 수 있다.
뉴런 모델(100)은 SUM = x1w1 + x2w2 + ... + xNwN과 같은, 출력(106)을 생성하기 위해 가중된 입력들에 부가적인 동작을 수행할 수 있는 합산 함수(104)를 포함할 수 있다. 신경망 이론에서, 예를 들어, "SUM"은 "NET"(예컨대, 용어 "NETwork"로부터)으로서 불리울 수 있다. 예를 들어, 가중된 입력들(x1w1 내지 xNwN)에 대응하는 가중된 신호들은 합산될 수 있다. 일부 예들에서, 합산 함수는 전달 함수로서 불리울 수 있다. 뉴런 모델(100)은 합산 SUM에 응답하며 출력(110)에서 출력 값(Y)을 생성하도록 구성된 함수(
Figure pct00001
)와 같은, 함수(108)를 추가로 포함한다. 일부 예들에서, 함수(108)는 활성화 함수로서 불리울 수 있다. 뉴런 모델들의 출력들은 때때로 클래스들로서 불리울 수 있다.
다양한 함수들이 함수(108)를 위해 이용될 수 있다. 예를 들어, 함수(108)는 SUM이 특정한 임계 레벨을 초과하는지 또는 미만인지를 결정하기 위해 임계 함수(예컨대, 스텝 함수)를 포함할 수 있다. 이러한 임계 함수는 SUM이 특정한 임계 양 이상이면 출력(110) 상에서 논리 하이 출력(예컨대, 논리 1)을 생성할 수 있으며 SUM이 특정한 임계 양 미만이면 출력(110) 상에서 논리 로우(예컨대, 논리 0)를 생성할 수 있다.
일부 예들에서, 함수(108)는 시그모이드(sigmoid) 함수일 수 있으며, 여기에서 시그모이드 함수는 S(z) = 1/(1+eλz)로서 표현될 수 있고, 여기에서 λ는 상수이며 z는 SUM일 수 있다. 예를 들어, 함수(108)는 비-선형 함수일 수 있다. 일부 예들에서, 출력(110)에서 생성된 출력 값(Y)은 뉴런 모델들의 신경망의, 상이한 뉴런 모델들의 입력들(102)과 같은, 다수의 부가적인 뉴런 모델들에 적용될 수 있다.
일부 예들에서, NAND 플래시 메모리는 본 출원에서 개시된 다수의 실시예들에 따른 신경망 동작들을 가능하게 하도록 구성될 수 있다. NAND 플래시 메모리는 직렬-결합(예컨대, 1-트랜지스터) 비-휘발성 메모리 셀 그룹들(예컨대, 스트링들)을 포함할 수 있다. 다른 것들 중에서, 부동 게이트들 또는 전하 트래핑 층들과 같은, 전하 저장 구조들의 프로그래밍을 통해, 셀들의 임계 전압들에서의 변화들은 각각의 셀의 데이터 상태를 결정할 수 있다.
스트링에서 직렬-결합 메모리 셀들은 데이터 라인(예컨대, 비트 라인)과 소스 사이에 있을 수 있다. 예를 들어, 스트링의 일 단부는 데이터 라인에 스트링을 선택적으로 결합하도록 구성될 수 있는 선택 트랜지스터와 직렬로 결합될 수 있으며, 스트링의 반대 단부는 소스에 스트링을 선택적으로 결합하도록 구성될 수 있는 선택 트랜지스터와 직렬로 결합될 수 있다. 스트링들에서 각각의 위치들에서의 메모리 셀들은 일반적으로, 워드 라인들과 같은, 각각의 액세스 라인들에 결합될 수 있다. 예를 들어, 스트링에서 각각의 개별 위치에서의 메모리 셀들의 제어 게이트들은 각각의 액세스 라인의 일 부분에 결합되거나 또는 이를 형성할 수 있다.
일부 예들에서, 메모리 어레이는 3-차원 NAND 메모리 어레이와 같은, 3-차원 메모리 어레이로서 불리울 수 있는 적층형 메모리 어레이일 수 있다. 적층형 메모리 어레이에서, 스트링들은 반도체 구조들(예컨대, 수직 반도체 필러들)에 인접할 수 있으며, 스트링들에서 메모리 셀들은 상이한 레벨들(예컨대, 수직 레벨들)에 있을 수 있다. 공통 레벨에서의 메모리 셀들은, 예를 들어, 때때로 메모리 셀들의 티어(tier)로서 불리우는, 메모리 셀들의 레벨을 형성할 수 있다. 각각의 개별 레벨에서 메모리 셀들은 일반적으로 각각의 공통 액세스 라인에 결합될 수 있다.
메모리 셀들은 셀 당 단일 비트 또는 셀 당 2비트, 셀 당 3비트, 셀 당 4비트 등과 같은 셀 당 다수의 비트들을 저장할 수 있다. 메모리 셀은 2n 데이터 상태들 중 하나로 프로그래밍될 수 있으며, n은 셀 당 비트들의 수이다. 각각의 데이터 상태는 상이한 임계 전압(Vt) 분포에 대응할 수 있으며, 메모리 셀은 Vt 분포들 중 하나에 대응할 수 있는 Vt로 프로그래밍될 수 있다. 예를 들어, 셀 당 2비트에 대해, 메모리 셀은 4개의 데이터 상태들(11, 10, 01, 및 00) 중 하나에 대응하는 Vt로 프로그래밍될 수 있으며, 셀 당 1비트에 대해, 메모리 셀은 두 개의 데이터 상태들(0 및 1) 중 하나에 대응하는 Vt로 프로그래밍될 수 있다.
도 2a 및 도 2b는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하도록 구성된 메모리 디바이스(215)의 일 부분의 개략도들이다. 예를 들어, 도 2a 및 도 2b는 각각 신경망의 상이한 층들(예컨대, 레벨들)에서, 뉴런 모델(100)에 대응하는 뉴런 모델들(200 및 200')을 포함한다. 일부 예들에서, 도 2a 및 도 2b는 도 2a에 대응하는 층의 출력이 도 2b에 대응하는 층으로의 입력으로서 사용될 수 있는 피드-포워드 신경망에 대응한다.
메모리(215)는 직렬-결합 메모리 셀들(219-1 내지 219-M)의 N 스트링들(예컨대, NAND 스트링들)(217-1 내지 217-N)을 갖는다. 일부 예들에서, 스트링들(217)은 적층형 메모리 어레이에서 수직 스트링들일 수 있다. 메모리 셀들(219-1 내지 219-M)의 제어 게이트들은 액세스 라인들(220-1 내지 220-M)의 일 부분에 각각 결합되거나 또는 각각 이를 형성할 수 있다. 예를 들어, 각각의 메모리 셀(219)은 제어 게이트(222) 및 전하 저장 구조(224)를 포함할 수 있다. 스트링들(217-1 내지 217-N)의 각각의 일 단부는 동일한 데이터 라인(221)에 결합된다. 스트링들(217-1 내지 217-N)의 각각의 반대 단부는 소스에 결합된다. 일부 실시예들에 대해, 각각의 스트링들(217-1 내지 217-N)은 메모리 셀들(217)의 블록들의 각각의 부분들일 수 있다. 메모리 셀들의 블록은 일반적으로 소거되는 메모리 셀 그룹을 나타낼 수 있다. 예를 들어, 상이한 세트들의 액세스 라인들(220-1 내지 220-M)은 각각의 블록들에 결합될 수 있다.
도 2a에서, 데이터 라인(221)은 합산된 전류(Isum)를 생성하기 위해 각각 스트링들(217-1 내지 217-N)을 통해 흐르는 가중된 전류들(I1 내지 IN)을 합산하도록 구성될 수 있는 반면, 도 2b에서, 데이터 라인(221)은 합산된 전류(Isum')를 생성하기 위해 각각 스트링들(217-1 내지 217-N)을 통해 흐르는 가중된 전류들(I1' 내지 IN')을 합산하도록 구성될 수 있다. 예를 들어, 데이터 라인(221)은 뉴런 모델들(200 및 200')의 합산 함수(104)와 같은, 합산 함수를 구현하도록 구성될 수 있다.
데이터 라인(221)은 감지 증폭기들, 비교기들, 및 데이터 래치들을 포함할 수 있는 감지 회로부(223)에 결합된다. 예를 들어, 감지 회로부(223)는 전류(Isum 또는 Isum')를 감지할 수 있으며 감지된 전류(Isum 또는 Isum')에 대응하는 단일 또는 다수의 비트들(예컨대, 4비트)의 데이터를 래칭할 수 있다. 감지 회로부(223)는 Isum에 응답하여 출력 Y를 생성하기 위해 또는 Isum'에 응답하여 출력(210)에 대한 출력 Y'를 생성하기 위해, 함수(108)와 같은, 함수를 구현하도록 구성될 수 있다.
감지 회로부(223)는 아날로그-대-디지털 변환들을 수행하도록 구성될 수 있다. 예를 들어, 감지 회로부(223)는 감지된 전류를, 감지된 전류의 디지털 표현과 같은, 감지된 전류에 대응하는 데이터 값(예컨대, 디지털 데이터 값)으로 변환할 수 있는 아날로그-대-디지털 변환기(ADC)를 포함할 수 있다. 일부 예들에서, 출력(Y 또는 Y')은 Isum 또는 Isum'의 임계 함수일 수 있다. 예를 들어, 출력(Y 또는 Y')은 Isum 또는 Isum'이 임계 양 이상인 것에 응답하여 논리 일(1) 또는 Isum 또는 Isum'이 임계 양 미만인 것에 응답하여 논리 (0)일 수 있다.
각각의 선택 트랜지스터(225)는 각각의 선택 트랜지스터(225)를 활성화하는 것에 응답하여 각각의 스트링들(217-1 내지 217-N)의 각각을 데이터 라인(221)에 선택적으로 결합하도록 구성될 수 있다. 각각의 선택 트랜지스터(227)는 각각의 선택 트랜지스터(227)를 활성화하는 것에 응답하여 각각의 스트링들(217-1 내지 217-N)의 각각을 소스에 선택적으로 결합하도록 구성될 수 있다.
도 2a에 묘사된 뉴런 모델(200)은 스트링들(217-1 내지 217-N), 데이터 라인(221), 및 감지 회로부(223)에 각각 메모리 셀들(예컨대, 인접한 메모리 셀들)의 쌍들(230-1 내지 230-N)을 포함할 수 있다. 도 2a에서의 전류들(I1 내지 IN)은 스트링들(217-1 내지 217-N)의 각각에서의 남아있는 메모리 셀들이 패스-스루 모드에서 동작되는 동안 쌍들(230-1 내지 230-N)을 각각 활성화하는 것에 응답하여 가중된 전류들일 수 있다. 예를 들어, 패스 전압들은 메모리 셀들을 패스-스루 모드에 두기 위해 이들 제어 게이트들에 결합된 액세스 라인들(220)을 통해 이들 메모리 셀들의 제어 게이트들에 인가될 수 있다. 패스 전압들은 패스-스루 모드에서 동작하는 메모리 셀들이 전류 흐름에 대해 비교적 적은 저항을 제공하도록 충분히 높을 수 있다. 이와 같이, 각각의 스트링들(217-1 내지 217-N)을 통한 각각의 전류들(I1 내지 IN)은 각각의 쌍들(230-1 내지 230-N)의 상태들 및 각각의 쌍들(230-1 내지 230-N)에 인가된 전압들에 의존할 수 있다.
각각의 쌍들(230-1 내지 230-N)의 각각은 메모리 셀들(M1 및 M2)을 포함할 수 있다. 예를 들어, 쌍들(230-1 내지 230-N)은 각각 메모리 셀들(M1-1 및 M2-1 내지 M1-N 및 M1-N)을 포함할 수 있다. 메모리 셀들(M1-1 내지 M1-N)은 각각 임계 전압들(Vt1-1 내지 Vt1-N)로 프로그래밍될 수 있으며, 메모리 셀들(M2-1 내지 M2-N)은 각각 임계 전압들(Vt2-1 내지 Vt2-N)로 프로그래밍될 수 있다. 일부 예들에서, 각각의 쌍들(230-1 내지 230-N)은 각각 뉴런 모델(200)의 시냅스 모델들(예컨대, 시냅틱 셀들)(231-1 내지 231-N)로서 불리울 수 있다.
메모리 셀들(M1-1 내지 M1-N)은 각각 임계 전압들(Vt1-1 내지 Vt1-N)보다 큰 감지(예컨대, 판독) 전압들(Vg1-1 내지 Vg1-N)을 각각 메모리 셀들(M1-1 내지 M1-N)의 제어 게이트들에 동시에 인가하는 것에 응답하여 각각 동시에 활성화될 수 있다. 메모리 셀들(M2-1 내지 M2-N)은 각각 임계 전압들(Vt2-1 내지 Vt2-N)보다 큰, 감지 전압들(Vg2-1 내지 Vg2-N)을 각각 전압들(Vg1-1 내지 Vg1-N)을 인가하는 것과 동시에 메모리 셀들(M2-1 내지 M2-N)의 제어 게이트들에 각각 인가하는 것에 응답하여 메모리 셀들(M1-1 내지 M1-N)과 동시에 각각 활성화될 수 있다.
일부 예들에서, 전압들(Vg1-1 내지 Vg1-N)은 신경망이 작용하기 위한 초기 입력들로서 215에 의해 수신될 수 있다. 대안적으로, 전압들(Vg1-1 내지 Vg1-N)은 예를 들어, 메모리(215)의 다른 뉴런 모델들에 의해 이전에 생성되었을 수 있다.
데이터 라인(221)은 전압들(Vg1-1 내지 Vg1-N 및 Vg2-1 내지 Vg2-N)을 인가하기 전에 전압으로 하전될 수 있다. 예를 들어, 데이터 라인(221) 상에서의 전압은 소스의 전압보다 클 수 있다. 이와 같이, 선택 트랜지스터들(225 및 227)이 활성화되는 동안, 전류(Isum)의 각각의 부분들(I1 내지 IN)은 각각의 전압들(Vg1-1 내지 Vg1-N 및 Vg2-1 내지 Vg2-N)에 의한 각각의 쌍들(230-1 내지 230-N)의 활성화에 응답하여 데이터 라인(221)을 방전하기 위해 데이터 라인(221)으로부터 각각의 스트링들(217-1 내지 217-N)을 통해 소스로 흐를 수 있다.
일부 예들에서, 전압들(Vg1 및 Vg2)은 입력 게이트 전압들로서 불리울 수 있다. 전압들(Vg1-1 내지 Vg1-N)은 각각 입력들(x1 내지 xN)에 대응할 수 있으며, 임계 전압들(Vt2-1 내지 Vt2-N)은 각각 가중치들(w1 내지 wN)에 대응할 수 있다. 일부 예들에서, 전압들(Vg2-1 내지 Vg2-N, Vt1-1 내지 Vt1-N, 및 Vt2-1 내지 Vt2-N)은 고정된 값들을 가질 수 있다. 전압들(Vg2-1 내지 Vg2-N 및 Vt1-1 내지 Vt1-N)은 메모리 셀들(M1 및 M2)의 시뮬레이션들로부터 미리 결정될 수 있으며, Vt2-1 내지 Vt2-N은 신경망 기계 학습의 모델로부터 미리 결정될 수 있다.
도 2c는 본 개시의 다수의 실시예들에 따라 본 출원에서 설명된 다양한 시냅스 모델들일 수 있는 대표적인 시냅스 모델(231)을 예시한다. 시냅스 모델(231)은 도 2a 및 도 2b에서와 같은, 본 출원에서 개시된 다양한 쌍들일 수 있는 메모리 셀들(M1 및 M2)의 대표적인 쌍(230)을 포함한다. 예를 들어, 메모리 셀들(M1 및 M2)은 직렬로 결합되며 각각 임계 전압들(Vt1 및 Vt2)로 프로그래밍될 수 있다. 예를 들어, 메모리 셀들(M1 및 M2)은 이중 트랜스컨덕터를 형성할 수 있다.
입력 전압들(Vg1 및 Vg2)은 각각 메모리 셀들(M1 및 M2)의 제어 게이트들에 인가된다. 입력 전압들(Vg1 및 Vg2)은 전류(I)가 메모리 셀들(M1 및 M2)을 통해 흐를 수 있도록 메모리 셀들(M1 및 M2)을 각각 활성화할 수 있다.
전류(I)는 Vg1 및 Vt2의 함수일 수 있다. 예를 들어, 전류(I)는 Vg1 및 Vt2의 곱에 대응할 수 있다. 일부 예들에서, 입력 전압(Vg1) 및 임계 전압(Vt2)은 전류(I)가 Vg1 및 Vt2의 곱의 선형 함수(예컨대, 정비례하는)이도록 선택될 수 있다. 전류(I)는 g x (Vg1 x Vt2)일 수 있으며, g는 조합한 메모리 셀들(M1 및 M2)의 트랜스컨덕턴스 이득이다. 이와 같이, 쌍(230)은 전류(I)를 생성할 수 있는 아날로그 곱셈기로서 동작할 수 있다.
트랜스컨덕턴스 이득(g)은 고정된 VG2, Vt1, 및 Vt2에 따라 Vg1을 변경함으로써 변조될 수 있다. 메모리 셀(M2)은 소스 팔로워로서 동작할 수 있는 메모리 셀(M1)의 게이트-소스 전압(Vgs1)에 의해 조절될 수 있는 가변 저항(예컨대, 축퇴 저항으로서 불리울 수 있는)을 제공할 수 있다.
전류(I)는 Vt2만큼 가중된다는 것을 주의하자. 예를 들어, Vg1은 입력(x)에 대응할 수 있으며, Vt2는 가중치(w)에 대응할 수 있다. 뉴런 모델(200)에서, 전류들(I1 내지 IN)은 각각 g1 x (Vg1-1 x Vt2-1) 내지 gN x (Vg1-N x Vt2-N)일 수 있으며, g1 내지 gN은 각각 쌍들(230-1 내지 230-N)의 트랜스컨덕턴스 이득들이다.
일부 예들에서, 메모리 셀(M2)은 다수의 비트들을 저장하도록 프로그래밍될 수 있다. 예를 들어, Vt2는 메모리 셀(M2)이 프로그래밍될 수 있는 다수의 Vt2들 중 하나일 수 있으며, 그에 의해 다수의 상이한 가중치들을 허용한다.
도 2b에 묘사된 뉴런 모델(200')은 스트링들(217-1 내지 217-N), 데이터 라인(221), 및 감지 회로부(223)에서 각각 메모리 셀들(예컨대, 인접한 메모리 셀들)의 쌍들(230'-1 내지 230'-N)을 포함할 수 있다. 전류들(I1' 내지 IN')은 스트링들(217-1 내지 217-N)의 각각에서의 남아있는 메모리 셀들이 패스-스루 모드에서 동작되는 동안 쌍들(230'-1 내지 230'-N)을 각각 활성화하는 것에 응답하여 가중된 전류들일 수 있다. 예를 들어, 각각의 쌍들(230')은 도 2a에서의 각각의 쌍들(230)과 상이한 각각의 스트링들(217)에서의 위치들에 있을 수 있다.
쌍들(230'-1 내지 230'-N)은 각각 메모리 셀들(M1'-1 및 M2'-1 내지 M1'-N 및 M2'-N)을 포함할 수 있다. 메모리 셀들(M1'-1 내지 M1'-N)은 각각 임계 전압들(Vt1'-1 내지 Vt1'-N)로 프로그래밍될 수 있으며, 메모리 셀들(M2'-1 내지 M2'-N)은 각각 임계 전압들(Vt2'-1 내지 Vt2'-N)로 프로그래밍될 수 있다. 뉴런 모델(200')의 시냅스 모델들(231'-1 내지 231'-n)이 각각 쌍들(230'-1 내지 230'-N)을 포함할 수 있다는 것을 주의하자.
메모리 셀들(M1'-1 내지 M1'-N)은 각각 임계 전압들(Vt1'1- 내지 Vt1'-N)보다 클 수 있는, 감지 전압들(Vg1'-1 내지 Vg1'-N)을 각각 메모리 셀들(M1'-1 내지 M1'-N)의 제어 게이트들에 동시에 인가하는 것에 응답하여 각각 동시에 활성화될 수 있다. 메모리 셀들(M2'-1 내지 M2'-N)은 각각 임계 전압들(Vt2'-1 내지 Vt2'-N)보다 큰 감지 전압들(Vg2'-1 내지 Vg2'-N)을 신경망의 소프트웨어 모델로부터 미리 결정될 수 있는 전압들(Vg1'-1 내지 Vg1'-N)을 인가하는 것과 동시에 각각 메모리 셀들(M2'-1 내지 M2'-N)의 제어 게이트들에 인가하는 것에 응답하여 각각 메모리 셀들(M1'-1 내지 M1'-N)을 활성화하는 것과 동시에 활성화될 수 있다.
전압들(Vg1'-1 내지 Vg1'-N)은 각각 입력들(x1 내지 xN)에 대응할 수 있으며, 임계 전압들(Vt2'-1 내지 Vt2'-N)은 각각 가중치들(w1 내지 wN)에 대응할 수 있다. 일부 예들에서, Vg2'-1 내지 Vg2'-N, 및 Vt1'-1 내지 Vt1'N, 및 Vt2'-1 내지 Vt2'-N은 고정된 값들을 가질 수 있다.
피드-포워드 접근법의 예에서, Vg1'-1 내지 Vg1'-N은 출력(Y)(예컨대, 뉴런 모델(200)의 출력)에 기초할 수 있다. 예를 들어, 메모리 셀들(M1'-1 내지 M1'-N)의 제어 게이트들에 결합된 액세스 라인 구동기들은 출력(Y)에 기초하여 Vg1'-1 내지 Vg1'-N을 생성할 수 있다. 예를 들어, Vg1'-1 내지 Vg1'-N은 Y의, 임계 함수들 또는 시그모이드 함수들과 같은, 함수들로서 생성될 수 있다. 일부 예들에서, 전압의 디지털 표현은 Isum의 디지털 표현들로부터 생성될 수 있고, 디지털-대-아날로그 변환기(DAC)(도 2a 및 도 2b에 도시되지 않음)는 디지털 표현을 아날로그 전압으로 변환할 수 있으며, 아날로그 전압들(Vg1'-1 내지 Vg1'-N)은 상기 아날로그 전압일 수 있다. 전류들(I'1 내지 I'N)은 각각 g1' x (Vg1'-1 x Vt2'-1) 내지 gN' x (Vg1'-N x Vt2'-N)일 수 있으며, g1' 내지 gN'은 각각 쌍들(230'-1 내지 230'-N)의 트랜스컨덕턴스 이득들임을 주의하자.
도 3a는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하기 위해 신경망 모델(316)로서 구성된 메모리(315)의 일 부분을 예시한다. 신경망 모델(316)은 신경망의, 층들(330-1 내지 330-3)과 같은, 다수의 상이한 층들(330)을 포함할 수 있다. 층들(330-1 내지 330-3)의 각각은 뉴런 모델들(300-1 내지 300-L)을 포함한다. 뉴런 모델들(300-1 내지 300-L)의 각각은 뉴런 모델(200)일 수 있으며 뉴런 모델(100)에 대응할 수 있다. 층들(330-1 내지 330-3)의 각각의 뉴런 모델들(300-1 내지 300-L)은 각각 출력들(310-1 내지 310-L) 상에서 각각 출력들(Y1 내지 YL)을 생성할 수 있다.
각각의 층들(330)의 출력들(310-1 내지 310-L)은 컨트롤러(340)에 결합된다. 컨트롤러(340)는 각각 층들(330-1 내지 330-3)에 결합되는 스위치들(342-1 내지 342-3)에 결합된다. 컨트롤러(340)는 또한 각각 각각의 전역적 액세스 라인(352-i)에 결합되는 전역적 액세스 라인 구동기들(350-1 내지 350-N)에 각각 결합되는 DAC들(348-1 내지 348-N)에 각각 결합되는 레지스터들(346-1 내지 346-N)에 결합된다. 전역적 액세스 라인 구동기들(350-1 내지 350-N)은 아날로그 전압들(Vg1-1 내지 Vg1-N)을 각각의 전역적 액세스 라인들(352-i)에 출력하도록 구성된다. 별개로 도시되지만, 레지스터들(346-1 내지 346-N), DAC들(348-1 내지 348-N), 및/또는 액세스 라인 구동기들(350-1 내지 350-N)은 컨트롤러(340)에 포함될 수 있다.
양-방향 인터페이스들(355-1 내지 355-N)은 각각 레지스터들(346-1 내지 346-N)에 결합될 수 있다. 예를 들어, 층(330-3)으로부터의 데이터와 같은, 데이터는 양-방향 인터페이스들(355-1 내지 355-N)을 통해 메모리(315)(예컨대, 호스트로)로부터, 메모리(315)의 다른 부분들로, 또는 또 다른 신경망으로 출력될 수 있다. 데이터는 예를 들어, 층(330-1)으로의 입력 데이터로서 호스트, 메모리(315)의 또 다른 부분, 또는 또 다른 신경망으로부터 양-방향 인터페이스들(355-1 내지 355-N)을 통해 레지스터들(346-1 내지 346-N)에서 수신될 수 있다. 이와 같이, 레지스터들(346-1 내지 346-N)은 신경망 모델(316)의 입력 및/또는 출력 층으로서 기능할 수 있다.
전역적 액세스 라인들(352-i)은 스위치들(342-1 내지 324-3)에 결합된다. 스위치들(324-1 내지 324-3)의 각각은 각각의 전압들(Vg1-1 내지 Vg1-N)이 각각의 로컬 액세스 라인들(320-i)에 인가되도록 컨트롤러(340)로부터 신호들을 수신하는 것에 응답하여 각각의 로컬 액세스 라인들(320-i)에 각각의 전역적 액세스 라인들(352-i)을 선택적으로 결합하도록 구성된다.
도 3b는 본 개시의 다수의 실시예들에 따른 다양한 층들(330-1 내지 330-3)일 수 있는 신경망 모델의 대표적인 층(330)을 예시한다. 예를 들어, 각각의 층들(330-1 내지 330-3)의 각각은 층(330)에 대해 묘사되고 설명된 바와 같을 수 있다. 일부 예들에서, 층(330)은 각각 스트링들(317-1)의 세트들 내지 스트링들(317-N)의 세트들을 포함하는, 블록들(360-1 내지 360-N)과 같은, 다수의 블록들(360)을 포함할 수 있다. 스트링들(317)의 각각은 직렬-결합된 메모리 셀들(319-1 내지 319-M)을 포함한다. 각각의 블록들(360)은 일반적으로 서로에 관계없이 소거될 수 있다는 것을 주의하자.
층(330)은 뉴런 모델들(300-1 내지 300-L)을 포함한다. 각각의 뉴런 모델들(300-1 내지 300-L)의 각각은 뉴런 모델(200)일 수 있다. 뉴런 모델들(300-1 내지 300-L)은 각각 데이터 라인들(321-1 내지 321-L) 및 데이터 라인들(321-1 내지 320-L)에 각각 결합된 감지 회로부들(323-1 내지 323-L)을 포함할 수 있다. 감지 회로부들(323-1 내지 323-L)의 각각은 감지 회로부(223)일 수 있다. 감지 회로부들(323-1 내지 323-L)은 각각 출력들(310-1 내지 310-L) 상에서 출력들(Y1 내지 YL)을 생성할 수 있다.
각각의 뉴런 모델들(330-1 내지 330-L)의 각각은 각각의 데이터 라인들(321-1 내지 321-L)에 결합된 시냅스 모델들(331-1 내지 331-N)(예컨대, 도 3a에서 원들로 표현됨)을 포함할 수 있다. 각각의 시냅스 모델들(331-1 내지 331-N)의 각각은 도 2a 내지 도 2c와 함께 이전에 설명된 바와 같이, 직렬로 결합된 인접한 메모리 셀들(M1 및 M2)의 쌍을 포함할 수 있다. 예를 들어, 시냅스 모델들(331-1 내지 331-N)은 각각 메모리 셀 쌍(M1-1 및 M2-2) 내지 메모리 셀 쌍(M1-N 및 M2-N)을 포함할 수 있다. 각각의 시냅스 모델들(331-1 내지 331-N)의 각각은, 예를 들어, 시냅스 모델(231)일 수 있다.
이전에 설명된 바와 같이, 메모리 셀들(M1-1 내지 M1-N)은 각각 Vt1-1 내지 Vt1-N으로 프로그래밍될 수 있으며, 메모리 셀들(M2-1 내지 M2-N)은 각각 Vt2-1 내지 Vt2-N으로 프로그래밍될 수 있다. 일부 예들에서, Vt1들은 각각의 뉴런 모델들(300-1 내지 300-N)에 대해 상이하거나 또는 동일할 수 있으며 Vt2들은 각각의 뉴런 모델들(300-1 내지 300-N)에 대해 상이하거나 또는 동일할 수 있다. 게다가, Vt1들은 각각의 층들(330-1 내지 330-3)에 대해 상이하거나 또는 동일할 수 있으며, Vt2들은 각각의 층들(330-1 내지 330-3)에 대해 상이하거나 또는 동일할 수 있다.
메모리 셀 쌍(M1-1 및 M2-2) 내지 메모리 셀 쌍(M1-N 및 M2-N)은 각각 스트링들(317-1)의 각각 내지 스트링들(317-N)의 각각에 포함될 수 있다. 각각의 뉴런 모델들(330-1 내지 330-L)의 스트링들(317-1 내지 317-N)은 각각의 뉴런 모델들(300-1 내지 300-L)의 각각의 데이터 라인들(321-1 내지 321-L)에 결합될 수 있다.
각각의 개별 스트링(317)은 각각의 선택 트랜지스터들(325 및 327) 사이에 결합될 수 있다. 각각의 선택 트랜지스터(325)는 각각의 선택 트랜지스터(325)가 활성화되는 것에 응답하여 각각의 데이터 라인(321)에 각각의 스트링(317)을 선택적으로 결합하도록 구성된다. 각각의 선택 트랜지스터(327)는 각각의 선택 트랜지스터(327)가 활성화되는 것에 응답하여 소스에 각각의 스트링(317)을 선택적으로 결합하도록 구성된다.
로컬 액세스 라인들(320-1 내지 320-M)의 각각의 세트는 일반적으로 각각의 블록들(360)의 각각에서 스트링들(317)의 세트들에 결합될 수 있다. 예를 들어, 액세스 라인들의 각각의 세트의 액세스 라인들(320-1 내지 320-M)은 각각 일반적으로 각각의 블록(360)의 스트링들(317)의 세트들의 메모리 셀들(319-1 내지 319-M)의 제어 게이트들에 결합될 수 있다. 각각의 액세스 라인(320-i)은 일반적으로 각각의 시냅스 모델들(331-1 내지 331-N)의 각각의 메모리 셀들(M1)에 결합된다. 각각의 액세스 라인(320-(i-1))은 일반적으로 각각의 시냅스 모델들(331-1 내지 331-N)의 각각의 메모리 셀들(M2)에 결합된다.
전압들(Vg1-1 내지 Vg1-N)은 각각 일반적으로 메모리 셀들(M1-1 내지 M1-N)에 각각 결합되는 액세스 라인들(320-i)에 인가되며, 전압들(Vg2-1 내지 Vg2-N)은 각각 일반적으로 메모리 셀들(M2-1 내지 M2-N)에 각각 결합되는 액세스 라인들(320-(i-1))에 인가된다. 이와 같이, 전압들(Vg1-1 내지 Vg1-N)은 각각 일반적으로 메모리 셀들(M1-1 내지 M1-N)에 인가되며, 전압들(Vg2-1 내지 Vg2-N)은 각각 일반적으로 메모리 셀들(M2-1 내지 M2-N)에 인가된다.
층(330)의 동작 동안, 데이터 라인들(321-1 내지 321-L)은 전압으로 하전될 수 있다. 그 다음에, 전압들(Vg1-1 내지 Vg1-N)은 각각 일반적으로 메모리 셀들(M1-1 내지 M1-N)에 동시에 인가되며, 전압들(Vg2-1 내지 Vg2-N)은 각각 일반적으로 전압들(Vg1-1 내지 Vg1-N)을 인가하는 것과 동시에 메모리 셀들(M2-1 내지 M2-N)에 인가되지만, 스트링들(317)의 각각에서의 남아있는 메모리 셀들은 패스-스루 모드에 위치되는 반면, 스트링들(317)은 선택 트랜지스터들(325)에 의해 데이터 라인들(321)에 선택적으로 결합되며, 스트링들(317)은 선택 트랜지스터들(327)에 의해 소스에 선택적으로 결합된다.
가중된 전류들(I1-1 내지 IN-1)은 각각 데이터 라인(321-1) 상에서의 전류(Isum-1)가 전류들(I1-1 내지 IN-1)의 합이도록 뉴런 모델(330-1)에서의 메모리 셀 쌍(M1-1 및 M2-2) 내지 메모리 셀 쌍(M1-N 및 M2-N)이 활성화되는 것에 응답하여 스트링들(317-1 내지 317-N) 결합 데이터 라인(321-1)에서 흐를 수 있다. 가중된 전류들(I1-L 내지 IN-L)은 각각 데이터 라인(321-L) 상에서의 전류(Isum-L)가 전류들(IL-L 내지 IN-L)의 합이도록 뉴런 모델(330-L)에서의 메모리 셀 쌍(M1-1 및 M2-2) 내지 메모리 셀 쌍(M1-N 및 M2-N)이 활성화되는 것에 응답하여 스트링들(317-1 내지 317-N) 결합 데이터 라인(321-L)에서 흐를 수 있다.
전류들(I1-1 내지 IN-1) 및/또는 전류들(I1-L 내지 IN-L)은 각각 g1 x (Vg1-1 x Vt2-1) 내지 gN x (Vg1-N x Vt2-N)일 수 있으며, g1 내지 gN은 각각 시냅스 모델들(331-1 내지 331-N)의 트랜스컨덕턴스 이득들이고, Vg1-1 내지 Vg1-N은 각각 시냅스 모델들(331-1 내지 331-N)로의 입력들이며, Vt2-1 내지 Vt2-N은 각각 시냅스 모델들(331-1 내지 331-N)의 가중치들임을 주의하자. 예를 들어, 전류들(I1-1 내지 IN-1) 및/또는 전류들(I1-L 내지 IN-L)은 각각 Vt2-1 내지 Vt2-N만큼 가중될 수 있다.
감지 회로부들(323-1 내지 323-L)은 각각 전류들(Isum-1 내지 Isum-L)을 감지할 수 있으며 전류들(Isum-1 내지 Isum-L)을 각각 감지하는 것에 응답하여 출력들(Y1 내지 YL)을 각각 생성할 수 있다. 일부 예들에서, 감지 회로부들(323-1 내지 323-L)은 감지된 아날로그 전류들(Isum-1 내지 Isum-L)을 디지털 표현들로 변환하도록 구성된 ADC들을 포함할 수 있다. 출력들(Y1 내지 YL)은 그 후 컨트롤러(340)로 전송될 수 있다. 일부 예들에서, 출력들(Y1 내지 YL)은 1 래치에서 1비트, 2 래치들에서 2비트, 3 래치들에서 3비트, 4 래치들에서 4비트 등과 같은, 다수의 비트들로 표현될 수 있다. 예를 들어, 비트들은 또 다른 뉴런 모델에 대한 각각의 활성화 레벨에 대응할 수 있다.
도 3a에서의 신경망 모델(316)의 동작 동안, 아날로그 전압들(Vg1-1 내지 Vg1-N)의 디지털 표현들은 각각 양-방향 인터페이스들(355-1 내지 355-N)을 통해 각각 레지스터들(346-1 내지 346-N)에서 수신될 수 있다. DAC들(348-1 내지 348-N)은 그 다음에 각각 아날로그 전압들(Vg1-1 내지 Vg1-N)의 디지털 표현들을 아날로그 전압들(Vg1-1 내지 Vg1-N)로 변환할 수 있다.
컨트롤러(340)는 그 후 전압들(Vg1-1 내지 Vg1-N)이 각각, 전역적 액세스 라인 구동기들(350-1 내지 350-N)에 의해, 각각 층(330-1)의 시냅스 모델들(331-1 내지 331-N)의 메모리 셀들(M1-1 내지 M1-N)에 각각 결합된 로컬 액세스 라인들(320-i)에 인가되도록 스위치(342-1)를 활성화할 수 있다. 전압들(Vg1-1 내지 Vg1-N)이 인가되는 동안, 전압들(Vg2-1 내지 Vg2-N)은 각각 층(330-1)의 시냅스 모델들(331-1 내지 331-N)의 메모리 셀들(M2-1 내지 M2-N)에 각각 결합된 로컬 액세스 라인들(320-(i-1))에 각각 인가된다. 그 결과, 전류들(Isum-1 내지 Isum-L)은 도 3b와 함께 설명된 바와 같이, 각각 층(330-1)의 데이터 라인들(321-1 내지 321-L) 상에서 생성된다.
층(330-1)의 감지 증폭기들(323-1 내지 323-L)은, 도 3b와 함께 설명된 바와 같이, 전류들(Isum-1 내지 Isum-L)을 각각 감지하는 것에 응답하여 각각 출력들(310-1 내지 310-L) 상에서 출력들(Y1 내지 YL)을 생성한다. 예를 들어, 출력들(Y1 내지 YL)은 각각 전류들(Isum-1 내지 Isum-L)의 디지털 표현들일 수 있다. 출력들(Y1 내지 YL)은 그 후 층(330-1)의 출력들(Y1 내지 YL)에 응답하여 스위치(342-2)를 선택적으로 활성화하는 컨트롤러(340)로 전송될 수 있다.
일부 예들에서, 컨트롤러(340)는 출력들(Y1 내지 YL)에 대응하는 전압의 디지털 표현을 생성할 수 있으며 전압의 디지털 표현을 레지스터들(346-1 내지 346-N)로 전송할 수 있다. 일부 예들에서, 컨트롤러(340)는 임계 함수 또는 시그모이드 함수와 같은, 출력들(Y1 내지 YL)의 함수로서 출력을 생성할 수 있다. 컨트롤러(340)는 그 후 출력에 기초하여 전압의 디지털 표현을 생성할 수 있으며 전압의 디지털 표현을 레지스터들(346-1 내지 346-N)로 전송할 수 있다.
예를 들어, 컨트롤러(340)는 임계 함수에 의해 생성된 논리 하이에 대응하는 전압의 디지털 표현 및 임계 함수에 의해 생성된 논리 로우에 대응하는 또 다른 전압의 디지털 표현을 생성할 수 있다. 일부 예들에서, 컨트롤러(340)는 시그모이드 함수에 의해 생성된 다양한 전압들의 다양한 디지털 표현들을 생성할 수 있다.
DAC들(348-1 내지 348-N)은 그 다음에 레지스터들(346-1 내지 346-N)에서의 전압의 디지털 표현을 아날로그 전압들(Vg1-1 내지 Vg1-N)로 각각 변환할 수 있다. 전압들(Vg1-1 내지 Vg1-N)은 각각, 전역적 액세스 라인 구동기들(350-1 내지 350-N)에 의해, 활성화된 스위치(342-2)를 통해, 각각 층(330-2)의 시냅스 모델들(331-1 내지 331-N)의 메모리 셀들(M1-1 내지 M1-N)에 각각 결합된, 로컬 액세스 라인들(320-i)로 각각 인가된다. 전압들(Vg1-1 내지 Vg1-N)이 인가되는 동안, 전압들(Vg2-1 내지 Vg2-N)은 각각, 층(330-2)의 시냅스 모델들(331-1 내지 331-N)의 메모리 셀들(M2-1 내지 M2-N)에 각각 결합된 로컬 액세스 라인들(320-(i-1)에 각각 인가된다. 그 결과, 전류들(Isum-1 내지 Isum-L)은, 도 3b와 함께 설명된 바와 같이, 층(330-2)의 데이터 라인들(321-1 내지 321-L) 상에서 각각 생성된다.
층(330-2)의 감지 증폭기들(323-1 내지 323-L)은, 도 3b와 함께 설명된 바와 같이, 전류들(Isum-1 내지 Isum-L)을 각각 감지하는 것에 응답하여 출력들(310-1 내지 310-L) 상에서 출력들(Y1 내지 YL)을 각각 생성한다. 층(330-2)의 출력들(Y1 내지 YL)은 그 후 출력들(Y1 내지 YL)에 응답하여 스위치(342-3)를 선택적으로 활성화하는 컨트롤러(340)로 전송될 수 있다.
컨트롤러(340)는, 층(330-1)과 함께 설명된 바와 같이, 층(330-2)의 출력들(Y1 내지 YL)에 대응하는 전압의 디지털 표현을 생성할 수 있으며 전압의 디지털 표현을 레지스터들(346-1 내지 346-N)로 전송할 수 있다. 예를 들어, 컨트롤러(340)는 층(330-2)의 출력들(Y1 내지 YL)의 임계 함수 또는 시그모이드 함수와 같은, 층(330-2)의 출력들(Y1 내지 YL)의 함수에 기초하여 전압의 디지털 표현을 생성할 수 있다.
DAC들(348-1 내지 348-N)은 그 다음에 각각 레지스터들(346-1 내지 346-N)에서의 전압의 디지털 표현을 아날로그 전압들(Vg1-1 내지 Vg1-N)로 변환할 수 있다. 전압들(Vg1-1 내지 Vg1-N)은 각각 전역적 액세스 라인 구동기들(350-1 내지 350-N)에 의해, 활성화된 스위치(342-3)를 통해, 층(330-3)의 시냅스 모델들(331-1 내지 331-N)의 메모리 셀들(M1-1 내지 M1-N)에 각각 결합된 로컬 액세스 라인들(320-i)에 각각 인가된다. 전압들(Vg1-1 내지 Vg1-N)이 인가되는 동안, 전압들(Vg2-1 내지 Vg2-N)은 각각 층(330-3)의 시냅스들(331-1 내지 331-N)의 메모리 셀들(M2-1 내지 M2-N)에 각각 결합된 로컬 액세스 라인들(320-(i-1))에 각각 인가된다. 그 결과, 전류들(Isum-1 내지 Isum-L)은, 도 3b와 함께 설명된 바와 같이, 층(330-3)의 데이터 라인들(321-1 내지 321-L) 상에서 각각 생성된다.
층(330-3)의 감지 증폭기들(323-1 내지 323-L)은 도 3b와 함께 설명된 바와 같이, 전류들(Isum-1 내지 Isum-L)을 각각 감지하는 것에 응답하여 출력들(310-1 내지 310-L) 상에서 출력들(Y1 내지 YL)을 각각 생성한다. 층(330-3)의 출력들(Y1 내지 YL)은 그 후 컨트롤러(340)로 전송될 수 있다. 컨트롤러(340)는 층(330-1)과 함께 설명된 바와 같이, 층(330-3)의 출력들(Y1 내지 YL)에 대응하는 전압의 디지털 표현을 생성할 수 있으며 전압의 디지털 표현을 레지스터들(346-1 내지 346-N)로 전송할 수 있다. 예를 들어, 컨트롤러(340)는 그 후, 층(330-2)의 출력들(Y1 내지 YL)의 임계 함수 또는 시그모이드 함수와 같은, 층(330-2)의 출력들(Y1 내지 YL)의 함수에 기초하여 전압의 디지털 표현을 생성할 수 있다. 레지스터들(346-1 내지 346-N)에서의 전압의 디지털 표현은 그 후 양-방향 인터페이스들(355-1 내지 355-N)을 통해 출력될 수 있다.
도 4는 본 발명의 다수의 실시예들에 따른 신경망 모델(316)에 대응하는 인공 신경망(416)의 예시적인 모델을 예시한다. 예를 들어, 신경망(416)은 인공 신경망으로서 불리울 수 있다. 신경망(416)은 입력들(x1 내지 xN) 및/또는 입력 전압들(Vg1-1 내지 Vg1-N)과 같은, 본 출원에서 개시된 다양한 입력들에 대응할 수 있는 노드들(467-1 내지 467-N)을 가진 입력 층(465)을 포함할 수 있다.
신경망(416)은 각각 층들(330-1 내지 330-3)에 대응할 수 있는 층들(430-1 내지 430-3)을 포함할 수 있다. 층(430-1)은 뉴런 모델들(469-1 내지 469-L)을 포함할 수 있다. 각각의 뉴런 모델들(469-1 내지 469-L)의 각각은 본 출원에서 개시된 다양한 뉴런 모델들에 대응할 수 있다. 예를 들어, 뉴런 모델들(469-1 내지 469-L)은 각각 층(330-1)의 뉴런 모델들(330-1 내지 300-L)에 대응할 수 있다. 각각의 뉴런 모델들(469-1 내지 469-L)의 각각은 노드들(467-1 내지 467-N)로부터 입력들을 수신하기 위해 결합될 수 있다는 것을 주의하자. 노드들(467-1 내지 467-N) 및 층(430-1)에서의 각각의 뉴런 모델들(469-1 내지 469-L)의 각각 사이에서의, 상호연결 영역(471-1)에서, 상호연결들은 층(330-1)의 각각의 뉴런 모델들(300-1 내지 300-L)의 각각의 시냅스 모델들(331-1 내지 331-N)과 같은, 본 출원에서 개시된 다양한 가중된 시냅스 모델들에 대응할 수 있다.
층(430-2)은 뉴런 모델들(473-1 내지 473-L)을 포함할 수 있다. 각각의 뉴런 모델들(473-1 내지 473-L)의 각각은 본 출원에서 개시된 다양한 뉴런 모델들에 대응할 수 있다. 예를 들어, 뉴런 모델들(473-1 내지 473-L)은 각각 층(330-2)의 뉴런 모델들(330-1 내지 300-L)에 대응할 수 있다. 각각의 뉴런 모델들(473-1 내지 473-L)의 각각은 뉴런 모델들(469-1 내지 469-L)로부터 입력들을 수신하기 위해 결합될 수 있다는 것을 주의하자. 뉴런 모델들(469-1 내지 469-L) 및 각각의 뉴런 모델들(473-1 내지 473-L)의 각각 사이에서의, 상호연결 영역(471-2)에서, 상호연결들은 층(330-2)의 각각의 뉴런 모델들(300-1 내지 300-L)의 각각의 시냅스 모델들(331-1 내지 331-N)과 같은, 본 출원에서 개시된 다양한 가중된 시냅스 모델들에 대응할 수 있다.
층(430-3)은 뉴런 모델들(475-1 내지 475-L)을 포함할 수 있다. 각각의 뉴런 모델들(475-1 내지 475-L)의 각각은 본 출원에서 개시된 다양한 뉴런 모델들에 대응할 수 있다. 예를 들어, 뉴런 모델들(475-1 내지 475-L)은 각각 층(330-3)의 뉴런 모델들(330-1 내지 300-L)에 대응할 수 있다. 각각의 뉴런 모델들(475-1 내지 475-L)의 각각은 뉴런 모델들(473-1 내지 473-L)로부터 입력들을 수신하기 위해 결합될 수 있다는 것을 주의하자. 뉴런 모델들(473-1 내지 473-L) 및 각각의 뉴런 모델들(475-1 내지 475-L) 사이에서의, 상호연결 영역(471-3)에서, 상호연결들은 층(330-3)의 각각의 뉴런 모델들(300-1 내지 300-L)의 각각의 시냅스 모델들(331-1 내지 331-N)과 같은, 본 출원에서 개시된 다양한 가중된 시냅스 모델들에 대응할 수 있다.
신경망(416)은 출력 노드들(479-1 내지 479-K)을 가진 출력 층(477)을 포함할 수 있다. 각각의 출력 노드들(479-1 내지 479-K)의 각각은 뉴런 모델들(475-1 내지 475-L)로부터 입력들을 수신하기 위해 결합될 수 있다.
도 5는 본 개시의 다수의 실시예들에 따른 컴퓨팅 시스템(580)의 형태에서의 장치의 블록도이다. 컴퓨팅 시스템(580)은 예를 들어, SSD, UFS 디바이스, eMMC 디바이스 등과 같은, 저장 시스템일 수 있는 메모리 시스템(582)을 포함한다. 그러나, 실시예들은 특정한 유형의 메모리 시스템에 제한되지 않는다. 예를 들어, 메모리 시스템(582)은 시스템(580)을 위한 메인 메모리로서 작용할 수 있다.
도 5에 도시된 바와 같이, 메모리 시스템(582)은 컨트롤러(585)가 본 출원에 개시된 다양한 메모리들일 수 있는 메모리(515)를 제어할 수 있다는 점에서, 메모리 시스템 컨트롤러로서 불리울 수 있는 컨트롤러(585)를 포함할 수 있다. 예를 들어, 메모리(515)는 본 개시의 다수의 실시예들에 따른 신경망 동작들을 가능하게 하기 위해 신경망 모델로서 구성될 수 있다. 컨트롤러(585)는 호스트(590)에 및 메모리(515)에 결합된다. 예를 들어, 메모리(515)는 다수의 메모리 디바이스들(예컨대, 다이들, 칩들, 등)을 포함할 수 있으며 메모리(예컨대, 메인 메모리)로서 및/또는 컴퓨팅 시스템(580)을 위한 저장 볼륨으로서 작용할 수 있다.
메모리(515)는 데이터 버스를 포함할 수 있으며 다양한 표준들을 지원하고 및/또는 이중 데이터 레이트(DDR) 등과 같은, 다양한 인터페이스 유형들을 준수할 수 있는 인터페이스(591)(예컨대, 메모리 인터페이스)를 통해 컨트롤러(585)에 결합될 수 있다. 컨트롤러(585)는 호스트(590)로부터 판독 및 기록 명령들과 같은, 명령들을 수신할 수 있다. 컨트롤러(585)는, 예를 들어, 호스트 인터페이스(592)를 통해 호스트(590)로부터 메모리(515)로 기록될 호스트 데이터를 수신할 수 있다. 본 출원에서 사용된 바와 같이, 메모리 시스템(582), 컨트롤러(585), 메모리(515), 또는 컨트롤러(594)는 또한 "장치"로서 별도로 고려될 수 있다.
호스트(590)는, 예를 들어, 다양한 다른 유형들의 호스트들 중에서, 개인용 랩탑 컴퓨터, 데스크탑 컴퓨터, 디지털 카메라, 이동 디바이스(예컨대, 휴대 전화), 네트워크 서버, 사물 인터넷(IoT) 가능 디바이스, 또는 메모리 카드 판독기와 같은, 호스트 시스템일 수 있다. 예를 들어, 호스트(590)는 버스를 포함할 수 있는 인터페이스(592)를 통해 메모리(515)를 액세스하는 것이 가능한(예컨대, 컨트롤러(585)를 통해) 하나 이상의 프로세서들을 포함할 수 있다. 인터페이스(592)는 다양한 다른 것들 중에서, 직렬 고급 기술 접속(SATA), 주변 구성요소 상호연결 고속(PCIe), 또는 범용 직렬 버스(USB)와 같은, 표준화된 인터페이스일 수 있다.
메모리(515)는 다수의 메모리 어레이들(596)(예컨대, 총괄하여 어레이(596)로서 불리움) 및 내장형 컨트롤러로서 불리울 수 있는 컨트롤러(594)를 포함할 수 있다. 예를 들어, 컨트롤러(594)는 컨트롤러(340)를 포함할 수 있으며 본 출원에서 개시된 다양한 신경망 동작들을 수행하도록 구성될 수 있다. 컨트롤러(594)는 메모리(515)의 내부에 위치될 수 있으며, 메모리 인터페이스(591)를 통해 컨트롤러(585)로부터 명령들을 수신할 수 있다(예컨대, 명령들을 기록하고, 명령들을 판독하는 등). 컨트롤러(594)는 상태 기계 및/또는 시퀀서를 포함할 수 있다. 컨트롤러(594)는 메모리(515)의 동작을 제어하도록 구성될 수 있다.
본 개시의 이전 상세한 설명에서, 참조가 그 일부를 형성하며 예시로서 본 개시의 다수의 실시예들이 어떻게 실시될 수 있는지가 도시되는 수반된 도면들에 대해 이루어진다. 이들 실시예들은 이 기술분야에서의 통상의 기술자들이 본 개시의 실시예들을 실시할 수 있게 하기 위해 충분히 상세하게 설명되며, 다른 실시예들이 이용될 수 있고 프로세스, 전기, 및/또는 구조적 변화들이 본 개시의 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다.
본 출원에서의 도면들은 제 1 숫자 또는 숫자들이 도면 도 번호에 대응하며 남아있는 숫자들이 도면에서 요소 또는 구성요소를 식별하는 넘버링 관례를 따른다. 상이한 도면들 사이에서 유사한 요소들 또는 구성요소들은 유사한 숫자들의 사용에 의해 식별될 수 있다. 이해될 바와 같이, 본 출원에서의 다양한 실시예들에서 도시된 요소들은 본 개시의 다수의 부가적인 실시예들을 제공하도록 부가되고, 교환되며, 및/또는 제거될 수 있다. 또한, 이해될 바와 같이, 도면들에서 제공된 요소들의 비율 및 상대적 스케일은 본 개시의 실시예들을 예시하도록 의도되며 제한적인 의미로서 취해져서는 안된다.
본 출원에서 사용된 바와 같이, "다수의" 또는 "다량의" 어떤 것은 이러한 것들 중 하나 이상을 나타낼 수 있다. 예를 들어, 다수의 또는 다량의 메모리 셀들은 하나 이상의 메모리 셀들을 나타낼 수 있다. "복수의" 어떤 것은 둘 이상을 의도한다. 본 출원에서 사용된 바와 같이, 동시에 수행되고 있는 다수의 동작들은 특정한 시간 기간에 걸쳐, 적어도 부분적으로 중첩하여 동작하는 것을 나타낸다. 본 출원에서 사용된 바와 같이, 용어 "결합된"은 전기적으로 결합된, 직접 결합된, 및/또는 어떤 매개 요소들 없이(예컨대, 직접적인 물리적 접촉에 의해) 직접 연결된, 매개 요소들을 갖고 간접적으로 결합되고 및/또는 연결되거나, 또는 무선으로 결합된을 포함할 수 있다. 용어 결합된은 또한 서로 협력하거나 또는 상호작용하는 둘 이상의 요소들을 포함할 수 있다(예컨대, 인과 관계에서처럼).
특정 실시예들이 본 출원에서 예시되고 설명되었지만, 이 기술분야에서의 통상의 기술자들은 동일한 결과들을 달성하기 위해 산출된 배열이 도시된 특정 실시예들로 대체될 수 있다는 것을 이해할 것이다. 본 개시는 본 개시의 다수의 실시예들의 적응화들 또는 변형들을 커버하도록 의도된다. 상기 설명은 제한적인 방식이 아닌, 예시적인 것으로 이루어졌다는 것이 이해될 것이다. 상기 실시예들의 조합, 및 본 출원에서 구체적으로 설명되지 않은 다른 실시예들은 상기 설명을 검토할 때 이 기술분야에서의 숙련자들에게 명백할 것이다. 본 개시의 다수의 실시예들의 범위는 상기 구조들 및 방법들이 사용되는 다른 적용들을 포함한다. 그러므로, 본 개시의 다수의 실시예들의 범위는, 첨부된 청구항들이 자격을 부여받은 등가물들의 전체 범위와 함께, 이러한 청구항들을 참조하여 결정되어야 한다.
앞서 말한 상세한 설명에서, 일부 특징들은 개시를 간소화할 목적으로 단일 실시예에서 함께 그룹핑된다. 본 개시의 이러한 방법은 본 개시의 개시된 실시예들이 각각의 청구항에서 명확히 나열된 것보다 많은 특징들을 사용해야 한다는 의도를 반영한 것으로서 해석되지 않을 것이다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 본 발명의 주제는 단일의 개시된 실시예의 모두보다 적은 특징들에 있다. 따라서, 다음의 청구항들은 상세한 설명으로 통합되며, 각각의 청구항은 그 자체로 별개의 실시예로서 성립한다.

Claims (22)

  1. 방법에 있어서,
    제 1 메모리 셀을 활성화하기 위해 상기 제 1 메모리 셀에 제 1 전압을 인가하는 단계;
    전류가 제 1 및 제 2 메모리 셀들을 통해 흐르도록 상기 제 2 메모리 셀을 활성화하기 위해 상기 제 1 메모리 셀과 직렬로 결합된 상기 제 2 메모리 셀에 제 2 전압을 인가하는 단계; 및
    상기 전류에 응답하여 출력을 생성하는 단계를 포함하며,
    상기 제 1 전압 및 상기 제 2 메모리 셀의 임계 전압은 상기 전류가 상기 제 1 전압 및 상기 제 2 메모리 셀의 상기 임계 전압의 곱에 비례하도록 하는, 방법.
  2. 청구항 1에 있어서, 상기 제 2 메모리 셀의 상기 임계 전압은 상기 전류에 가중을 주는 가중치인, 방법.
  3. 청구항 1에 있어서,
    상기 출력의 함수로서 제 3 전압을 생성하는 단계;
    제 3 메모리 셀을 활성화하기 위해 상기 제 3 메모리 셀에 상기 제 3 전압을 인가하는 단계; 및
    상기 전류가 제 3 및 제 4 메모리 셀들을 통해 흐르도록 상기 제 4 메모리 셀을 활성화하기 위해 상기 제 3 메모리 셀과 직렬로 결합된 상기 제 4 메모리 셀에 제 4 전압을 인가하는 단계를 더 포함하며;
    상기 제 3 전압 및 상기 제 4 메모리 셀의 임계 전압은 상기 제 3 및 제 4 메모리 셀들을 통해 흐르는 전류가 상기 제 3 전압 및 상기 제 4 메모리 셀의 상기 임계 전압의 곱에 비례하도록 하는, 방법.
  4. 청구항 3에 있어서, 상기 함수는 시그모이드(sigmoid) 함수를 포함하는, 방법.
  5. 청구항 3에 있어서, 상기 함수는 임계 함수를 포함하는, 방법.
  6. 청구항 3에 있어서, 상기 제 1 및 제 2 메모리 셀들 및 상기 제 3 및 제 4 메모리 셀들은 데이터 라인에 결합된 직렬-결합 메모리 셀들의 동일한 스트링에 있는, 방법.
  7. 청구항 3에 있어서, 상기 제 1 및 제 2 메모리 셀들은 신경망 모델의 제 1 층에 있으며, 상기 제 3 및 제 4 메모리 셀들은 상기 신경망 모델의 제 2 층에 있는, 방법.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서, 상기 출력은 상기 전류에 대응하는 데이터 값을 포함하는, 방법.
  9. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서, 상기 전류는 상기 제 1 전압 및 상기 제 2 메모리 셀의 임계 전압의 곱을 곱하여 조합한 상기 제 1 및 제 2 메모리 셀들의 트랜스컨덕턴스 이득과 동일한, 방법.
  10. 방법에 있어서,
    각각의 가중된 전류가 동시에 활성화된 복수의 직렬-결합 메모리 셀 쌍들의 각각의 개별 쌍을 통해 흐르게 하기 위해 상기 복수의 직렬-결합 메모리 셀 쌍들을 동시에 활성화하는 단계로서, 각각의 개별 가중된 전류는 상기 각각의 쌍 중 제 1 메모리 셀에 인가된 전압 및 상기 각각의 쌍 중 제 2 메모리 셀의 임계 전압의 곱에 대응하는, 상기 활성화하는 단계;
    합산된 전류를 생성하기 위해 상기 동시에 활성화된 복수의 직렬-결합 메모리 셀 쌍들에 결합된 데이터 라인 상에서 상기 각각의 가중된 전류들을 합산하는 단계; 및
    상기 합산된 전류에 기초하여 출력을 생성하는 단계를 포함하는, 방법.
  11. 청구항 10에 있어서, 상기 합산된 전류에 기초하여 상기 출력을 생성하는 단계는, 상기 데이터 라인에 결합된 감지 회로부에 의해, 상기 합산된 전류의 디지털 표현을 생성하는 단계를 포함하는, 방법.
  12. 장치에 있어서,
    컨트롤러;
    데이터 라인에 결합된 복수의 직렬-결합 메모리 셀 그룹들을 포함하며;
    각각의 개별 그룹은 각각의 제 2 메모리 셀과 직렬로 결합된 각각의 제 1 메모리 셀을 포함하고;
    각각의 개별 제 2 메모리 셀은 각각의 임계 전압으로 프로그래밍되며;
    상기 컨트롤러는,
    상기 각각의 제 1 메모리 셀들을 동시에 활성화하기 위해 상기 각각의 제 1 메모리 셀들에 각각의 제 1 전압들을 동시에 인가하고;
    상기 데이터 라인 상에서의 전류가 상기 전류의 각각의 부분들의 합이 되도록 상기 데이터 라인 상에서의 상기 전류의 상기 각각의 부분들이 상기 각각의 그룹들을 통해 동시에 흐르도록 상기 각각의 제 2 메모리 셀들을 동시에 활성화하기 위해, 상기 각각의 제 1 전압들을 인가하는 것과 동시에, 상기 각각의 제 2 메모리 셀들에 각각의 제 2 전압들을 동시에 인가하도록 구성되며;
    각각의 개별 메모리 셀 그룹을 통해 흐르는 상기 전류의 각각의 부분은 상기 각각의 그룹 중 상기 각각의 제 1 메모리 셀에 인가된 상기 제 1 전압 및 상기 각각의 그룹 중 상기 제 2 메모리 셀의 상기 임계 전압의 곱에 비례하는, 장치.
  13. 청구항 12에 있어서,
    상기 각각의 제 1 메모리 셀 및 상기 각각의 제 2 메모리 셀은 신경망의 시냅틱 셀을 시뮬레이션하도록 구성되고;
    상기 각각의 제 1 메모리 셀의 게이트는 상기 시냅틱 셀의 입력에 대응하는 신호를 수신하도록 구성되고;
    상기 각각의 제 2 메모리 셀의 임계 전압은 상기 시냅틱 셀의 시냅틱 가중치에 대응하고;
    상기 시냅틱 셀은, 상기 신호가 상기 각각의 제 1 메모리 셀의 상기 게이트에 인가되는 동안, 상기 각각의 제 1 및 제 2 메모리 셀들이 결합되는 데이터 라인 상에서의 결과적인 전류가 상기 시냅틱 셀의 출력에 대응하도록 상기 각각의 제 2 셀의 게이트에 신호를 인가함으로써 동작 가능한, 장치.
  14. 청구항 12에 있어서, 상기 데이터 라인에 결합된 감지 회로부로서,
    상기 데이터 라인 상에서 상기 전류를 감지하고;
    감지된 전류를 상기 감지된 전류의 디지털 표현으로 변환하도록 구성된, 상기 감지 회로부를 더 포함하는, 장치.
  15. 청구항 14에 있어서, 상기 컨트롤러는,
    상기 감지된 전류의 상기 디지털 표현으로부터 아날로그 전압의 디지털 표현을 생성하고;
    상기 장치로부터 상기 아날로그 전압의 상기 디지털 표현을 출력하도록 구성되는, 장치.
  16. 청구항 14에 있어서, 상기 컨트롤러는 상기 감지된 전류의 상기 디지털 표현으로부터 아날로그 전압의 디지털 표현을 생성하도록 구성되고, 상기 아날로그 전압의 상기 디지털 표현을 상기 아날로그 전압으로 변환하도록 구성된 아날로그 대 디지털 변환기를 더 포함하는, 장치.
  17. 청구항 16에 있어서,
    상기 장치는 제 4 메모리 셀과 직렬로 결합된 제 3 메모리 셀을 포함하는 추가 메모리 셀 그룹에 결합된 추가 데이터 라인을 더 포함하며;
    상기 컨트롤러는,
    상기 제 3 메모리 셀을 활성화하기 위해 상기 제 3 메모리 셀에 상기 아날로그 전압을 인가하고;
    상기 추가 데이터 라인 상에서의 전류가 상기 제 3 및 제 4 메모리 셀들을 통해 흐르도록 상기 제 4 메모리 셀을 활성화하기 위해 상기 제 4 메모리 셀에 제 3 전압을 인가하도록 구성되며;
    상기 제 3 및 제 4 메모리 셀들을 통해 흐르는 상기 전류는 상기 아날로그 전압 및 상기 제 4 메모리 셀의 임계 전압의 곱에 비례하는, 장치.
  18. 장치에 있어서,
    데이터 라인에 결합된 복수의 직렬-결합 메모리 셀 쌍들; 및
    상기 데이터 라인에 결합된 감지 회로부를 포함하며;
    상기 데이터 라인은 합산된 전류를 생성하기 위해 상기 복수의 쌍들 중 각각의 활성화된 쌍들을 통해 동시에 흐르는 각각의 가중된 전류들을 합산하도록 구성되고;
    각각의 개별 가중된 전류는 상기 각각의 활성화된 쌍의 상기 메모리 셀들 중 하나에 인가된 전압 및 상기 각각의 활성화된 쌍의 나머지 메모리 셀의 임계 전압의 곱에 대응하고;
    상기 감지 회로부는 상기 합산된 전류를 감지하며 상기 합산된 전류에 응답하여 출력을 생성하도록 구성되는, 장치.
  19. 청구항 18에 있어서, 상기 컨트롤러는 감지 회로부에 의해 생성된 상기 출력의 함수로서 상기 출력을 생성하도록 구성되는, 장치.
  20. 청구항 18에 있어서, 상기 감지 회로부는,
    상기 합산된 전류가 임계 양 이상인 것에 응답하여 제 1 논리 출력을 생성하고;
    상기 합산된 전류가 상기 임계 양 미만인 것에 응답하여 제 2 논리 출력을 생성하도록 구성되는, 장치.
  21. 청구항 18 내지 청구항 20 중 어느 한 항에 있어서, 상기 복수의 쌍들 각각은 상기 메모리 셀들을 포함한 메모리에 구현된 신경망의 시냅틱 셀을 나타내는, 장치.
  22. 청구항 18 내지 청구항 20 중 어느 한 항에 있어서, 상기 복수의 쌍들 각각은 아날로그 곱셈기인, 장치.
KR1020217021430A 2018-12-28 2019-12-17 신경망들을 위한 가중된 입력들을 생성하도록 구성된 메모리 셀들 KR102409859B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/235,066 US10861551B2 (en) 2018-12-28 2018-12-28 Memory cells configured to generate weighted inputs for neural networks
US16/235,066 2018-12-28
PCT/US2019/066740 WO2020139615A1 (en) 2018-12-28 2019-12-17 Memory cells configured to generate weighted inputs for neural networks

Publications (2)

Publication Number Publication Date
KR20210090722A true KR20210090722A (ko) 2021-07-20
KR102409859B1 KR102409859B1 (ko) 2022-06-16

Family

ID=71124376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021430A KR102409859B1 (ko) 2018-12-28 2019-12-17 신경망들을 위한 가중된 입력들을 생성하도록 구성된 메모리 셀들

Country Status (5)

Country Link
US (2) US10861551B2 (ko)
EP (1) EP3903313A4 (ko)
KR (1) KR102409859B1 (ko)
CN (1) CN113261062B (ko)
WO (1) WO2020139615A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4334849A1 (en) * 2021-05-07 2024-03-13 Blumind Inc. System, method, and computer device for transistor-based neural networks
KR102645343B1 (ko) * 2021-08-17 2024-03-08 서울대학교산학협력단 3차원 시냅스 소자 스택 및 이를 이용한 3차원 적층형 시냅스 어레이 및 3차원 시냅스 소자 스택의 제조 방법
WO2023141701A1 (en) * 2022-01-25 2023-08-03 Blumind Inc. Analog systems and methods for audio feature extraction and natural language processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040134A (en) * 1989-05-26 1991-08-13 Intel Corporation Neural network employing leveled summing scheme with blocked array
WO2018007783A1 (en) * 2016-07-07 2018-01-11 Arm Ltd An artificial neural network
US20180039882A1 (en) * 2016-08-03 2018-02-08 Semiconductor Energy Laboratory Co., Ltd. Imaging device, imaging module, electronic device, and imaging system
US20180211162A1 (en) * 2017-01-20 2018-07-26 International Business Machines Corporation System, method and article of manufacture for synchronization-free transmittal of neuron values in a hardware artificial neural networks
US20180330236A1 (en) * 2017-05-11 2018-11-15 National Chiao Tung University Neural network processing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5336937A (en) * 1992-08-28 1994-08-09 State University Of New York Programmable analog synapse and neural networks incorporating same
US7286439B2 (en) 2004-12-30 2007-10-23 Sandisk 3D Llc Apparatus and method for hierarchical decoding of dense memory arrays using multiple levels of multiple-headed decoders
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US8601013B2 (en) 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
US9105330B1 (en) 2012-04-17 2015-08-11 Micron Technology, Inc. Memory devices configured to apply different weights to different strings of memory cells coupled to a data line and methods
WO2016076534A1 (ko) * 2014-11-12 2016-05-19 서울대학교산학협력단 뉴런 디바이스 및 뉴런 디바이스를 포함하는 집적회로
US9602314B1 (en) * 2016-02-10 2017-03-21 Nxp Usa, Inc. Communications receiver equalizer
US11361215B2 (en) * 2017-11-29 2022-06-14 Anaflash Inc. Neural network circuits having non-volatile synapse arrays

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040134A (en) * 1989-05-26 1991-08-13 Intel Corporation Neural network employing leveled summing scheme with blocked array
WO2018007783A1 (en) * 2016-07-07 2018-01-11 Arm Ltd An artificial neural network
US20180039882A1 (en) * 2016-08-03 2018-02-08 Semiconductor Energy Laboratory Co., Ltd. Imaging device, imaging module, electronic device, and imaging system
US20180211162A1 (en) * 2017-01-20 2018-07-26 International Business Machines Corporation System, method and article of manufacture for synchronization-free transmittal of neuron values in a hardware artificial neural networks
US20180330236A1 (en) * 2017-05-11 2018-11-15 National Chiao Tung University Neural network processing system

Also Published As

Publication number Publication date
EP3903313A4 (en) 2022-10-12
WO2020139615A1 (en) 2020-07-02
KR102409859B1 (ko) 2022-06-16
EP3903313A1 (en) 2021-11-03
CN113261062B (zh) 2022-07-08
US10861551B2 (en) 2020-12-08
US11437103B2 (en) 2022-09-06
US20210090656A1 (en) 2021-03-25
CN113261062A (zh) 2021-08-13
US20200211648A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
Yang et al. Research progress on memristor: From synapses to computing systems
US10552510B2 (en) Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays
CN110782027B (zh) 用于人工神经网络的差分非易失性存储器单元
CN110825345B (zh) 使用非易失性存储器单元的乘法
US9691479B1 (en) Method of operating and apparatus of memristor arrays with diagonal lines interconnect between memristor cells
CN108009640B (zh) 基于忆阻器的神经网络的训练装置及其训练方法
US11437103B2 (en) Memory cells configured to generate weighted inputs for neural networks
JP6281024B2 (ja) ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン
US11157803B2 (en) Neuromorphic device including a synapse having a variable resistor and a transistor connected in parallel with each other
US11620505B2 (en) Neuromorphic package devices and neuromorphic computing systems
CN111052154B (zh) 使用非易失性半导体存储元件的神经网络运算电路
CN110782028A (zh) 具有差分二进制非易失性存储器单元结构的可配置精密神经网络
US11443172B2 (en) Synapse array of neuromorphic device including synapses having ferro-electric field effect transistors and operation method of the same
JP7152562B2 (ja) マルチレベル超低電力推論エンジンアクセラレータ
KR20220044643A (ko) 외부 자기장 프로그래밍 보조가 있는 초저전력 추론 엔진
US11727253B2 (en) Neural network system including gate circuit for controlling memristor array circuit
Lee et al. Novel method enabling forward and backward propagations in NAND flash memory for on-chip learning
KR20210143614A (ko) 뉴럴 네트워크를 구현하는 뉴로모픽 장치 및 그 동작 방법
Fritscher et al. Simulating large neural networks embedding MLC RRAM as weight storage considering device variations
US11556311B2 (en) Reconfigurable input precision in-memory computing
Lu et al. NVMLearn: a simulation platform for non-volatile-memory-based deep learning hardware
US20210064963A1 (en) Spiking neural unit
IT201900000691A1 (it) Celle di memoria configurate per generare input ponderati per reti neurali
KR102511526B1 (ko) 하드웨어 기반 인공 신경망 제공 장치
US20240021242A1 (en) Memory-based neuromorphic device and operating method thereof

Legal Events

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