KR20210134500A - 메모리 내 데이터 판독을 위한 디바이스 및 방법 - Google Patents

메모리 내 데이터 판독을 위한 디바이스 및 방법 Download PDF

Info

Publication number
KR20210134500A
KR20210134500A KR1020210049830A KR20210049830A KR20210134500A KR 20210134500 A KR20210134500 A KR 20210134500A KR 1020210049830 A KR1020210049830 A KR 1020210049830A KR 20210049830 A KR20210049830 A KR 20210049830A KR 20210134500 A KR20210134500 A KR 20210134500A
Authority
KR
South Korea
Prior art keywords
current
memory
circuit
comparator
generate
Prior art date
Application number
KR1020210049830A
Other languages
English (en)
Other versions
KR102497616B1 (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 KR20210134500A publication Critical patent/KR20210134500A/ko
Application granted granted Critical
Publication of KR102497616B1 publication Critical patent/KR102497616B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/08Control thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators
    • G06F7/462Multiplying; dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/062Differential amplifiers of non-latching type, e.g. comparators, long-tailed pairs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/46Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
    • H03M1/462Details of the control circuitry, e.g. of the successive approximation register
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4814Non-logic devices, e.g. operational amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0045Read using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0054Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/06Sense amplifier related aspects
    • G11C2207/063Current sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/50Resistive cell structure aspects
    • G11C2213/53Structure wherein the resistive material being in a transistor, e.g. gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • H03M1/74Simultaneous conversion
    • H03M1/742Simultaneous conversion using current sources as quantisation value generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Analogue/Digital Conversion (AREA)
  • Read Only Memory (AREA)

Abstract

CIM(compute-in-memory) 시스템에서, CIM 메모리 회로로부터의, 곱셈-누적 연산의 결과를 나타내는 전류 신호는, 이를 전류 디지털-아날로그 컨버터("DAC") 회로에 의해 발생되는 기준 전류와 비교함으로써 계산된다. 메모리 회로는 비휘발성 메모리("NVM") 소자를 포함할 수 있으며, 이는 멀티-레벨 또는 2-레벨 NVM 소자일 수 있다. 메모리 소자의 특성 크기는 멀티-비트 가중치 및/또는 멀티-비트 입력 신호에서의 각자의 자리 값에 대응하도록 이진 가중화될 수 있다. 대안으로서, 동일 크기의 NVM 소자가 이진 가중화된 크기의 트랜지스터를 구동하는데 사용될 수 있다. 전류 비교 연산은 전압 계산보다 더 높은 속도로 수행될 수 있다. 일부 실시예에서, 전류 합산 브랜치에서 균등한 전류를 생성하도록 단순한 클록-게이트 스위치가 사용된다. 클록-게이트 스위치는 또한, 셀 전류가 온인 시간을 한정하는 역할을 함으로써, 정적 전류 소비를 감소시킨다.

Description

메모리 내 데이터 판독을 위한 디바이스 및 방법 {DEVICE AND METHOD FOR READING DATA IN MEMORY}
본 출원은 2020년 4월 30일 출원된 “COMPUTING-IN-MEMORY ARCHITECTURE USING NON-VOLATILE MEMORY IN HIGH SPEED (GHZ) OPERATION”이란 명칭의 미국 가특허 출원 번호 제63/018,101호의 우선권을 주장하며, 이의 개시는 참조에 의해 그 전체가 여기에 포함된다.
본 개시는 일반적으로 “CIM”(compute-in-memory) 또는 인-메모리 컴퓨팅(in-memory computing) 시스템에 관한 것이다. CIM 시스템은, 각각의 계산 단계마다 메인 랜덤-액세스 메모리(RAM; random-access memory)와 데이터 저장공간 사이에 많은 양의 데이터를 이동시키는 것이 아니라, 컴퓨터의 메인 RAM에 정보를 저장하고 메모리 셀 레벨에서 계산을 수행한다. 저장된 데이터는 RAM에 저장될 때 훨씬 더 빠르게 액세스되기 때문에, CIM은 데이터가 실시간으로 분석될 수 있게 해주며, 비지니스 및 머신 러닝 애플리케이션에서 더 빠른 리포팅 및 의사결정을 가능하게 한다. CIM 시스템의 성능을 개선하기 위한 노력이 계속되고 있다.
CIM(compute-in-memory) 시스템에서, CIM 메모리 회로로부터의, 곱셈-누적 연산의 결과를 나타내는 전류 신호는, 이를 전류 디지털-아날로그 컨버터("DAC", digital-to-analog converter) 회로에 의해 발생되는 기준 전류와 비교함으로써 계산된다. 메모리 회로는 비휘발성 메모리("NVM") 소자를 포함할 수 있으며, 이는 멀티-레벨 또는 2-레벨 NVM 소자일 수 있다. 메모리 소자의 특성 크기는 멀티-비트 가중치 및/또는 멀티-비트 입력 신호에서의 각자의 자리 값에 대응하도록 이진 가중화될 수 있다. 대안으로서, 동일 크기의 NVM 소자가 이진 가중화된 크기의 트랜지스터를 구동하는데 사용될 수 있다. 전류 비교 연산은 전압 계산보다 더 높은 속도로 수행될 수 있다. 일부 실시예에서, 전류 합산 브랜치에서 균등한 전류를 생성하도록 단순한 클록-게이트 스위치가 사용된다. 클록-게이트 스위치는 또한, 셀 전류가 온인 시간을 한정하는 역할을 함으로써, 정적 전류 소비를 감소시킨다.
본 개시의 양상은 다음의 상세한 설명으로부터 첨부 도면과 함께 볼 때 가장 잘 이해된다. 산업계에서의 표준 실시에 따라 다양한 특징부들이 실축척대로 도시되지 않은 것을 유의하여야 한다. 사실상, 다양한 특징부들의 치수는 설명을 명확하게 하기 위해 임의로 증가되거나 감소되었을 수 있다.
도 1은 일부 실시예에 따라 메모리 회로 및 메모리 회로에 저장된 데이터를 판독하기 위한 서브시스템을 갖는 메모리 시스템의 예를 예시한 블록도이다.
도 2는 일부 실시예에 따라 도 1에 도시된 메모리 시스템에서의 메모리 회로의 개략도이다.
도 3은 일부 실시예에 따라 도 1에 도시된 메모리 시스템에서의 메모리 회로의 개략도이다.
도 4a 및 도 4b는 일부 실시예에 따라 도 1에 도시된 메모리 시스템에서의 메모리 회로를 도시한다.
도 5a 및 도 5b는 일부 실시예에 따라 도 1에 도시된 메모리 시스템에서의 메모리 회로를 도시한다.
도 6a 및 도 6b는 일부 실시예에 따라 도 1에 도시된 메모리 시스템에서의 메모리 회로를 도시한다.
도 7은 일부 실시예에 따라 전류 디지털-아날로그 컨버터(“DAC”, digital-to-analog converter) 회로를 갖는 도 1의 메모리 시스템의 예를 예시한 블록도를 도시한다.
도 8a는 일부 실시예에 따라 도 7에 도시된 메모리 시스템에서의 전류 DAC 회로를 도시한다.
도 8b 및 도 8c는 일부 실시예에 따라 도 8a의 전류 DAC 회로의 보다 상세한 구현을 도시한다.
도 9는 일부 실시예에 따라 도 1 및 도 7에 도시된 메모리 시스템의 일부에서 메모리 회로 및 전류 DAC 회로의 특정 구현의 조합을 개략적으로 도시한다.
도 10a는 일부 실시예에 따라, 전류 비교기가 로딩 회로 및 전압 비교기로 구현되어 있는, 도 1에 도시된 종류의 메모리 시스템의 블록도를 도시한다.
도 10b는 일부 실시예에 따라, 전류 비교기가 메모리 회로 및 전류 DAC 회로에서의 전류를 직접 비교하는, 도 1에 도시된 종류의 메모리 시스템의 블록도를 도시한다.
도 11a 내지 도 11d는 일부 실시예에 따라, 도 10a에 도시된 로딩 회로의 특정 구현을 갖는, 도 10a에 도시된 종류의 메모리 시스템을 도시한다.
도 12a 및 도 12b는 일부 실시예에 따라, 도 10a에 도시된 전류 비교기의 특정 구현을 갖는, 도 10a에 도시된 종류의 메모리 시스템을 도시한다.
도 13은 일부 실시예에 따른 컴퓨팅 방법을 개요한 흐름도이다.
다음의 개시는 제공되는 주제의 상이한 특징들을 구현하기 위한 많은 다양한 실시예 또는 예를 제공한다. 컴포넌트 및 구성의 구체적 예가 본 개시를 단순화하도록 아래에 기재된다. 이들은 물론 단지 예일 뿐이며 한정하고자 하는 것이 아니다. 예를 들어, 이어지는 다음 기재에 있어서 제2 특징부 상에 또는 위에 제1 특징부를 형성하는 것은, 제1 및 제2 특징부가 직접 접촉하여 형성되는 실시예를 포함할 수 있고, 제1 및 제2 특징부가 직접 접촉하지 않도록 제1 특징부와 제2 특징부 사이에 추가의 특징부가 형성될 수 있는 실시예도 또한 포함할 수 있다. 또한, 본 개시는 다양한 예에서 참조 번호 및/또는 문자를 반복할 수 있다. 이 반복은 단순하고 명확하게 하기 위한 목적인 것이며, 그 자체가 설명되는 다양한 실시예 및/또는 구성 간의 관계를 지시하는 것은 아니다.
본 개시에 도시된 특정 예는 컴퓨팅-인-메모리(“CIM”)에 관련된다. 컴퓨팅-인-메모리의 응용의 예로는 곱셈-누적(multiply-accumulate) 연산이 있으며, 곱셈-누적 연산에서는, 숫자의 입력 어레이가 숫자(가중치)의 또다른 어레이(예컨대, 열)에서의 각자의 요소들과 곱해지고(가중화됨), 곱이 다같이 더해져서(누적됨) 출력 합을 생성한다. 이 절차는 내적(또는 스칼라 곱) 절차와 수학적으로 유사하며, 내적(또는 스칼라 곱) 절차에서는 두 벡터의 컴포넌트들이 서로 쌍별로 곱해지고 컴포넌트 쌍들의 곱이 합해진다. 인공 신경망과 같은 특정 인공 지능(AI; artificial intelligence) 시스템에서는, 숫자 어레이가 복수의 가중치 열들에 의해 가중화될 수 있다. 각각의 열에 의한 가중화는 각자의 출력 합을 생성한다. 따라서 합들의 출력 어레이는 숫자들의 입력 어레이로부터 복수의 열들의 행렬에서의 가중치들에 의해 생성된다.
다양한 타입의 메모리 디바이스가 CIM 태스크를 수행하는데 사용될 수 있다. 예를 들어, 정적 랜덤-액세스 메모리(“SRAM", static random-access memory) 셀; 비휘발성 메모리(“NVM”, non-volatile memory) 셀, 예컨대 eFlash 셀, 저항성 랜덤-액세스 메모리(“RRAM”, resistive random-access memory) 셀 및 강유전체 전계 효과 트랜지스터(“FeFET”, ferroelectric field-effect transistor)가 사용될 수 있다.
종래의 CIM 회로는 통상적으로 메모리 셀에서의 전류를 통합하여 생기는 전압 신호를 계산하기 위해 연산 증폭기(“OP-amps”, operational amplifier)를 사용한다. 이러한 회로는 큰 정적 전류(static current)를 사용하지 않고서는 높은 속도의 연산에 적합하지 않다. 큰 정적 전류 신호는 높은 전력 소비를 요한다. 또한, 각각의 메모리 셀에 대한 셀 전류가 균등함(even)을 보장하기 위해, CIM 회로에서의 각각의 메모리 셀에 대하여 클램핑 회로가 종종 채용된다. 이러한 클램핑 회로는 CIM 회로의 제조 비용을 더 증가시킨다.
본 개시의 일부 양상에 따르면, 전압 신호 대신, CIM 메모리 회로로부터의 전류 신호가, 전류 디지털-아날로그 컨버터(“DAC”, digital-to-analog converter) 회로에 의해 발생되는 기준 전류와 비교함으로써 계산된다. 전류 비교 연산은 전압 계산보다 높은 속도로 수행될 수 있다. 일부 실시예에서, 전류 합산 브랜치에서 균등한 전류를 생성하도록 단순한 클록-게이트(clock-gated) 스위치가 사용된다. 클록-게이트 스위치는 또한 셀 전류가 온(on)되는 시간을 한정하는 역할을 함으로써, 정적 전력 소비를 감소시킨다.
일부 실시예에서, 메모리 회로를 통한 메모리 전류와 전류 DAC 회로를 통한 기준 전류를 비교하도록 전류 비교기가 사용되며, 전류 비교기는 두 전류 간의 차이를 나타내는 출력 신호를 생성한다. 연속-근사 레지스터(“SAR”, successive-approximation register) 로직 회로(예컨대, SAR 아날로그-디지털 컨버터(“ADC”, analog-to-digital converter))와 같은 로직 회로가 출력 신호를 수신하고 대응하는 디지털 신호를 발생시킨다. 전류 DAC 회로는 디지털 신호에 기초하여 기준 전류를 조정하고, 두 전류 간의 차이가 특정 값보다 작은 기준 전류가, 메모리 전류를 나타내는 것으로서 취해진다.
도 1을 참조하면, 일부 실시예에서, 컴퓨팅 시스템(100)은 메모리 회로(140)를 포함하며, 메모리 회로(140)는 메모리 전류 발생기(142)를 포함하고, 메모리 전류 발생기(142)는 가중치(즉, 가중치 값)를 저장하고 입력 데이터를 수신하도록 구성되며, 입력 데이터 및 저장된 가중치의 일부 함수를 나타내는 메모리 전류 I1을 발생시킨다. 예를 들어, 일부 실시예에서의 메모리 전류는 입력 데이터와 각자의 저장된 가중치의 곱의 합이다. 시스템(100)은 또한 기준 전류 회로(130)를 포함하며, 기준 전류 회로(130)는 SAR 로직 회로(134)(예컨대, SAR 아날로그-디지털 컨버터(“ADC”)) 및 SAR 로직 회로(134)로부터의 디지털 제어 신호에 응답하여 기준 전류 I2를 발생시키도록 구성되는 전류 DAC 회로(132)를 포함한다. 메모리 회로(142) 및 전류 DAC 회로(132)는 각각 스위치 회로(120)의 트랜지스터(122 및 124)의 소스 측에 접속된다. 트랜지스터(122 및 124)의 드레인 측은 전류 비교기(110)에 접속된다. 트랜지스터(122 및 124)는 클록 신호(CLK)에 의해 게이팅되며, 트랜지스터(122 및 124)의 드레인 측 상의 전압은 각각 메모리 회로(142) 및 전류 DAC 회로(132)를 통한 I1 및 I2에 따라 좌우된다. 메모리 회로(142)가 도 1에서는 단일 트랜지스터(122)를 통해 전류 비교기(110)에 접속되는 것으로서 도시되어 있지만, 메모리 셀들의 복수의 브랜치들(열들)을 갖는 메모리 회로에서는, 아래 부가의 실시예에 도시된 바와 같이, 각각의 브랜치마다 하나씩, 복수의 트랜지스터(122)가 포함될 수 있다. 전류 비교기(110)는 전류 I1과 I2 간의 차이를 나타내는 출력 신호를 발생시킨다. 출력 신호는 SAR 로직 회로(134)에 공급되며, SAR 로직 회로(134)는 전류 DAC 회로(132)에 의해 사용되는 디지털 제어 신호를 발생시킨다.
일부 실시예에서, 메모리 회로(140)는 메모리 셀들의 적어도 하나의 열을 포함하고, 멀티-비트 곱셈-누적(“MAC”, multiply-and-accumulate) 연산을 수행할 수 있다. 도 2는 메모리 소자들(220)(각각 제i 행(212i) 및 제j 열(214j)에 있는 것으로서 i,j로 인덱싱됨)의 브랜치들(열들)(214)(각각의 열은 제j 열로서 인덱싱됨)을 포함하는 메모리 회로(140)의 구현(240)을 도시한다. m개의 열들(214)의 각각은 클록-게이트 트랜지스터(M1, M2, ... Mm)를 포함하며, 이들은 각각의 열 또는 비트라인(“BL”)의 전류가 기준 전류와 비교될 수 있도록 번갈아 턴온 및 턴오프될 수 있다. 각각의 열(214)은 입력이 이진 수인 MAC 연산을 수행할 수 있으며, 저장된 가중치는 이용가능한 저장 상태의 수까지의 수이다.
이 예의 실시예에서 각각의 메모리 소자(220)는 비휘발성 메모리(“NVM”) 소자, 예컨대 eFlash, RRAM, FeFET, 자기저항 RAM(“MRAM”, magnetoresistive RAM) 또는 비휘발성 SRAM 메모리 셀이다. 도 2에 도시된 예에서, 각각의 메모리 소자(220)는, 제어 단자(222)(예컨대, 게이트) 및 2개의 전류 운반 단자(224, 226)(예컨대, FeFET에서의 드레인 및 소스)를 갖는 3단자 NVM 셀이다. 각각의 메모리 소자(220)에 저장된 데이터는, 예를 들어 전류 운반 단자(224, 226) 사이의 저항에 의해 표현된다. 일부 실시예에서, 각각의 메모리 소자(220)는 멀티-레벨 메모리 소자이며, 즉 전류 또는 저항 레벨과 같이 둘보다 많은 저장 상태를 가질 수 있다. 입력 신호의 각각의 비트는 메모리 소자를 ON 또는 OFF 시키도록 각각의 메모리 소자(220)의 제어 입력(222)(워드라인(“WL”, wordline)으로도 지칭됨)에 인가된다. 예를 들어, WL1 상의 입력이 1인 경우, 메모리 소자(2201,1)는 ON이고, 따라서 메모리 소자(2201,1)의 저항 레벨 또는 메모리 상태에 의해 그의 레벨이 결정되는 전류를 전도하며; WL1 상의 입력이 0인 경우, 메모리 소자(2201,1)는 OFF이고, 따라서 임의의 비-제로 저장 값에 대하여 문턱 레벨 아래의 전류를 전도하거나 어떠한 전류도 전도하지 않는다. 따라서, 각각의 메모리 셀(220)을 통한 전류는 셀에 저장된 (멀티-비트) 값 W j 및 셀의 WL 상에 존재하는 비트의 값(0 또는 1) B WL( i , j )의 곱을 나타낸다(예컨대, 비례함).
각각의 열(214 j )에서의 메모리 소자(220)는, 접지와 같은 기준 전압과, 그 열에 대한 클록-게이트 트랜지스터 M(j)(예컨대, M1)의 소스 사이에 병렬로 접속된다. 따라서, M(j)을 통한 전류는 셀에 저장된 (멀티-비트) 값 W j 및 열 내의 메모리 셀들의 각자의 WLs 상에 존재하는 비트의 값들(0 또는 1) B WL( i , j )의 곱의 합을 나타낸다(예컨대, 비례함).
각각의 메모리 소자(220)는, 게이트 폭 및 길이에 관련한 기하학적 인자인 “W/L 비(raio)”로서 정의되는 특성 크기(characteristic size)를 갖는다. 메모리 소자의 크기는 소정의 게이트 바이어스에 대한 전류의 크기를 결정한다. 일부 실시예에서, 동일 열 내의 메모리 소자들(220)의 특성 크기는, 즉 각자의 WL의 위치 값에 따라, 이진 가중화된다(binary weighted). 예를 들어, 일부 실시예에서, WL(i)에 대한 메모리 소자의 크기는 2 i- 1에 비례할 수 있으며, i = 1, 2, ..., n이다. 이러한 예에서, 메모리 소자(2001, j )의 크기가 a이면, 2002, j 의 크기는 2a이고, 2003, j 의 크기는 4a이고, ..., 200n, j 의 크기는 2n-1 a이다. 따라서, 일부 실시예에서, 각각의 메모리 셀에서의 전류는 2 i- 1·B WL( i , j )·W j 에 비례한다. 제j 열에서의 총 전류 BL(j)는 열 내의 모든 메모리 셀들을 통한 전류의 합 f이며, 따라서 ∑ i 2 i- 1·B WL( i , j )·W j 에 비례한다. 이는 열(214 j )에 대한 n-비트 입력 (B n B n-1… B 2 B 1) j 및 멀티-비트 가중치 W j 의 곱이다.
일부 실시예에서 클록 게이트 트랜지스터(M1, M2, ..., Mm)는 한 번에 하나씩 턴온될 수 있다. 이러한 경우, I1는 그의 트랜지스터 M(j)가 턴온되어 있는 열(214 j )의 전류이다. 다른 실시예에서, 복수의 또는 모든 클록-게이트 트랜지스터(M1, M2, ..., Mm)는 동시에 턴온될 수 있다. 이 경우, I1은 멀티-비트 입력과 각자의 멀티-비트 가중치의 곱의 합에 비례한다. 따라서, 멀티-비트 곱셈-누적(“MAC”) 연산이 메모리 회로(240)에 의해 구현된다.
도 3에 도시된 예와 같은 일부 실시예에서, 도 1에서의 메모리 회로(140)는 메모리 회로(340)에 의해 구현될 수 있는데, 메모리 회로(340)는 도 2에서의 메모리 회로(240)와 유사하지만 각각의 멀티-레벨 NVM(220)이 이진 NVM 세트(320 i , j , k )로 대체되며, i는 제i 행 312 i 을 나타내고, j는 제j 비트라인 314 j , BL(j)을 나타내고, k는 가중치의 k번째 비트를 나타낸다. 이 예에서 k = 1, 2, ..., 6이지만, 사용되는 가중치의 정밀도(precision)에 따라 임의의 정수일 수 있다.
도 3에서의 예와 같은 일부 실시예에서, 각각의 NVM 소자(320)의 크기는, 도 2에 도시된 예에서와 같이 멀티-비트 입력의 위치 값에 의해, 그리고 그 뿐만 아니라 멀티-비트 가중치에서 비트 B W의 위치에 의해서도 가중화된다. 즉, 2 i- 1·B WL( i , j )·2 k- 1·B W( k )·W j 이다. 여기에 도시된 예에서, 각각의 행 312 i 내에서, 6개의 메모리 소자들 사이의 상대 크기는 각각 1, 2, 4, 8, 16 및 32이다. 그러면, 각각의 BL 내의 각각의 행에서의 전류의 합은, 입력 내의 비트와 멀티-비트 가중치의 곱이고, 각각의 BL에서의 총 전류는 다시 멀티-비트 입력과 멀티-비트 가중치의 곱이다. 도 2에 도시된 예의 회로(240)의 경우와 마찬가지로, 복수의 또는 모든 클록-게이트 트랜지스터(M1, M2, ..., Mm)가 동시에 턴온되는 경우, I1은 멀티-비트 입력과 각자의 멀티-비트 가중치의 곱의 합에 비례한다. 따라서, 멀티-비트 곱셈-누적(“MAC”) 연산이 메모리 회로(340)에 의해 구현된다.
도 4a 및 도 4b에 도시된 예와 같은 일부 실시예에서, 메모리 회로(440)는, 각각의 NVM 셀(320)이 RRAM 회로(420)로 대체된 것을 제외하고는, 상기에 기재되고 도 3에 도시된 회로(340)와 유사하며, 이 예에서 NVM 스위칭 회로(422) 및 가중화된 트랜지스터(424), 즉 그의 크기가, 이 경우 도 3에 관련하여 상기에 설명된 바와 같이 멀티-비트 입력에서의 위치 값 및 멀티-비트 가중치 둘 다에 의해, 이진 가중화된 트랜지스터를 포함한다. NVM 스위칭 회로(422)는 데이터(이 경우, 이진(2레벨))를 저장하기 위한 RRAM 트랜지스터(452)를 포함한다. RRAM 트랜지스터(452)는 신호가 인에이블될 때 데이터를 출력하도록 신호 WL에 의해 제어된다. NVM 스위칭 회로(422)는 RRAM 트랜지스터(452)를 초기화하기 위한 프리셋 트랜지스터(454)를 더 포함하고, 가중화된 트랜지스터(424)를 구동하기 위한 트랜지스터(456 및 458)를 포함하는 CMOS 인버터를 포함한다.
도 5a 및 도 5b에 도시된 예와 같은 다른 실시예에서, 메모리 회로(540)는, RRAM 트랜지스터(452)가, 직렬로 스위칭 트랜지스터(564)를 구비한 2단자 NVM 소자(562)로 대체된 것을 제외하고는, 상기에 기재되고 도 4a 및 도 4b에 도시된 회로(440)와 유사하다. 스위칭 트랜지스터(564)는, 신호가 인에이블될 때 NVM 소자(562)가 데이터를 출력할 수 있게 하도록 신호 WL에 의해 제어되며, 데이터는 각자의 BL1, BL2, 또는 BLm(도 2, 도 3, 및 도 4도 참조)에서의 총 전류의 일부로서 가중화된 트랜지스터(424)(트랜지스터(456 및 458)에 의해 구동됨)에 의해 발생된 전류로서 나타난다.
도 6a 및 도 6b에 도시된 예와 같은 다른 실시예에서, 메모리 회로(640)는, NVM 스위칭 회로(422)가 SRAM 스위칭 회로(622)로 대체된 것을 제외하고는, 상기에 기재되고 도 4a 및 도 4b에 도시된 회로(440)와 유사하며, 6T SRAM 셀을 포함하는데, 이는 노드 N 및 NB에서 서로 상호 커플링된 한 쌍의 CMOS 인버터(652 및 654), 및 SRAM 셀에 대한 비트라인(도시되지 않음)으로부터 각각 신호 WT 및 WTB의 기록을 인에이블하는 한 쌍의 액세스 트랜지스터(656 및 658)를 포함한다. SRAM 스위칭 회로(622)는, 각각이 6T SRAM 셀의 각자의 노드에 의해 제어되는, 한 쌍의 트랜지스터(662 및 664)를 더 포함한다. 트랜지스터(662 및 664)의 게이트는 각각 노드 N 및 NB에 접속된다. 트랜지스터(662 및 664)의 소스는 서로에 그리고 가중화된 트랜지스터(624)의 게이트에 접속된다. 트랜지스터(662)의 드레인은 WL에 접속되고, 트랜지스터(664)의 드레인은 접지에 접속된다. 노드 N에 저장된 “1” 그리고 따라서 노드 NB에서의 “0”의 경우, 트랜지스터(662)가 턴온되고, 트랜지스터(664)는 오프된다. 따라서 가중화된 트랜지스터(624)에의 출력은 신호 WL을 따른다. 노드 N에 저장된 “0” 그리고 따라서 노드 NB에서의 “1”의 경우, 트랜지스터(662)가 턴오프되고, 트랜지스터(664)는 온된다. 따라서 신호 WL에 관계없이, 가중화된 트랜지스터(624)에의 출력은 “0”이다. 따라서 가중화된 트랜지스터(624)에의 출력은 노드 B에서의 값과 WL에서의 값의 이진 곱에 의해 주어진다. 그러므로, 각각의 셀(620)은 가중화된 트랜지스터(624)에서, SRAM 셀(622)에 저장된 가중치와 WL에서의 값 간의 곱에 비례하는 전류를 발생시키며, 이 전류는 각자의 BL1, BL2, 또는 BLm에서의 총 전류의 일부이다(도 2, 도 3, 도 4 및 도 5도 참조).
기준 전류 회로(130)의 예시적인 실시예로 가면, 도 7의 블록도에 도시된 바와 같이, 전류 DAC 회로(132)는, 도 8a 내지 도 8c 및 도 9에 관련하여 아래의 예에 설명되는 바와 같이, 로직 회로(134)로부터의 디지털 제어 신호에 기초하여 아날로그 전류 신호를 발생하는 기준 전류 발생기(736)를 포함한다. 일부 실시예에서, 도 8a에 도시된 바와 같이, 기준 전류 발생기(736)는 전류 소스 세트(8381, 8382, ..., 838 k , ..., 838n)로 구현되며, 이는 도 8b 및 도 8c에 관련하여 아래에 보다 상세하게 설명되는 바와 같이 구현될 수 있고, 병렬로 서로 접속되며, 각각이 각자의 이진 신호 C1, C2, ..., Ck, ..., Cn에 의해 제어된다. 일부 실시예에서, 전류 소스(838)의 수는 입력 데이터에서의 비트의 수에 대응한다(예컨대, 동일함).
보다 구체적으로, 일부 실시예에서, 도 8b에 도시된 바와 같이, 각각의 전류 소스(838 k )는 기준 NVM 셀(848 k )로 구현된다. 또한, 일부 실시예에서, 기준 NVM 셀(848)의 크기는, 메모리 전류 회로에서의 가중화된 트랜지스터 및 NVM 셀에 관하여 상기에 설명된 바와 같이, 이진 가중화된다.
일부 실시예에서, 기준 NVM 셀(848)은 멀티-레벨 NVM 셀이다. 일부 실시예에서, 각각의 기준 NVM 셀(848)은, 기준 전류 회로(836)가 매칭할(match) 총 전류가 메모리 전류 회로에서의 전류 레벨에 대응하는 전류 레벨을 갖는다. 예를 들어, 도 3에서의 회로 내의 각각의 NVM 셀이 4개 전류 레벨을 갖는 경우, 일부 실시예에서 기준 NVM 셀(848)도 각각 4개 레벨을 갖는다. 또한, 일부 실시예에서, 기준 NVM 셀(848)에 대한 전류 레벨은 메모리 전류 회로에서의 NVM 셀의 전류 레벨과 실질적으로 매칭한다. 일부 실시예에서, 메모리 전류 회로 내의 NVM 셀의 전류가 동일 간격 레벨로 설정되고, 기준 NVM 셀(848)에 대한 전류도 또한 동일 간격 레벨로 설정된다. 다른 실시예에서, 메모리 전류 회로 내의 NVM 셀의 전류 레벨이 동일 간격 레벨로 설정되고, 기준 NVM 셀(848)에 대한 전류 레벨은 2개의 가장 가까운 기준 전류 간격 레벨 사이의 각각의 기준 전류 간격이 NVM 셀 전류 레벨을 포함하도록 이격되며, 그리하여 각각의 NVM 셀 전류 레벨은 하한 및 상한에 의해 고유하게 묶일(bracketed) 수 있다. 즉, 메모리 전류 회로에서의 각각의 전류 레벨에 대하여, 기준 전류 회로에 대한 2개의 이웃하는 전류 레벨이 있으며, 그리하여 메모리 전류 회로에서의 각각의 전류 레벨은 기준 전류 회로에 대한 최소 전류 간격 내 사이에 있는 것으로 결정될 수 있다.
도 8c에 도시된 예와 같은 일부 실시예에서, 기준 전류 발생기(836)는 써모미터(thermometer) DAC로 구현되며, 전류 소스(858)는 서로 동일하고, 즉 동일한 제어 신호에 응답하여 동일한 전류 레벨을 발생시킨다. 써모미터 DAC의 입력은 써모미터-코딩된 디지털 신호이며, 이는 시퀀스 길이 n의 “1”들의 시퀀스를 갖는 수 n를 나타내며, 즉 n개의 연속 “1”을 갖는 정수 n을 나타낸다. 예를 들어, 0000000는 십진수 0에 대한 7-비트 써모미터 코드이고, 0001111는 십진수 4에 대한 것이며, 1111111는 십진수 7에 대한 것이며, 나머지도 마찬가지이다. 예를 들어, 전류 소스(858)는, 도 8b에서의 것과 유사하지만 서로 동일한 크기를 갖는 멀티-레벨 기준 NVM 셀일 수 있다.
메모리 전류 회로 및 기준 전류 회로의 다양한 조합이 CIM 시스템에 사용될 수 있다. 예를 들어, CIM 시스템(100)은 도 9에 도시된 CIM 시스템(900)으로 구현될 수 있다. 시스템은 도 3의 메모리 전류 회로(340) 및 도 8b의 기준 전류 회로(836)(클록-게이트 트랜지스터(962)가 추가됨)를 포함한다. 메모리 전류 I1가 메모리 전류 회로(340)에 의해 발생되고, 기준 전류 I2가 기준 전류 회로(836)에 의해 발생된다. 상기에 설명된 바와 같이, I1 및 I2는 전류 비교기(110)에 의해 비교될 수 있으며, 전류 비교기(110)는 SAR 로직 회로(134)에 비교 신호를 출력하고, SAR 로직 회로(134)는 수신된 비교 신호에 기초하여 전류 DAC 회로(132)의 전류 출력을 조정한다.
전류 비교 연산에 있어서, 일부 실시예에 따르면, 도 1에서의 로직 회로(134)는 비교기(110)로부터 수신된 비교 결과를 처리하고, 그 다음, 가능한 만큼 가까이 메모리 전류 I1와 매칭하는 기준 전류 I2를 생성하는 디지털 제어 신호를 찾도록 제어 신호를 조정한다. 매칭 알고리즘은 임의의 타입의 디지털 서칭일 수 있다. 예를 들어, SAR 타입 매칭 알고리즘에서, 로직 회로(134)는, 디지털 제어 신호의 최상위 비트(“MSB”, most significant bit)가 온되고 나머지의 비트는 오프되도록 I2를 설정하고 I1와 비교되도록 프로그램된다. I1이 I2보다 큰 경우, 디지털 제어 신호의 다음 MSB도 또한 턴온되고, I2는 다시 I1과 비교되며; I1이 I2보다 작은 경우, MSB는 턴오프되고 디지털 제어 신호의 다음 MSB가 턴온되고, I2는 다시 I1과 비교된다. 프로세스는 최하위 비트(“LSB”, least significant bit)에 도달할 때까지 디지털 제어 신호에서의 점차적으로 덜 유효한 비트로써 반복된다. 그러면, 디지털 제어 신호가, I1의 디지털 표현, 또는 멀티-비트 입력과 멀티-비트 가중치의 곱으로서 취해진다.
다른 실시예에서, 각각의 전류 소스(858 k )가 동일한 전류를 생성하는, 도 8c에 도시된 타입의 써모미터 DAC가 사용된다. 로직 회로(134)는, 단일 전류 소스로 시작되고 기준 셀1(8581)이 턴온되며 I2와 I1이 비교되도록 프로그램될 수 있다. I1이 I2보다 큰 경우, 추가적인 전류 소스, 기준 셀2(8582)도 또한 턴온된다. 프로세스는 I1이 I2와 동일할 때까지 반복된다. 그러면, 턴온되는 기준 셀의 수가, I1의 디지털 표현, 또는 멀티-비트 입력과 멀티-비트 가중치의 곱으로서 취해진다.
CIM 시스템(100)의 또다른 양상으로 가면, 도 1에서의 전류 비교기(110)는 다양한 적합한 구조로 이루어질 수 있다. 도 10a에 도시된 예와 같은 일부 실시예에서, 전류 비교기(110)는 전류 비교기(1010)에 의해 구현되는데, 이는 클록-게이트 트랜지스터(122 및 124)의 드레인에 접속된 로딩 회로(1012), 및 그의 입력 단자가 또한 클록-게이트 트랜지스터(122 및 124)의 드레인에 접속되어 있는 전압 비교기(1014)를 포함한다. 로딩 회로(1012)는 클록-게이트 트랜지스터(122 및 124)의 드레인에서, I1 및 I2로부터 차동 전압 ΔV를 발생시킨다. 그러면, 전압 비교기(1014)는 비교의 결과, 즉 I1과 I2 간의 상대 전류 레벨을 나타내는 ΔV의 극성(부호)를 나타내는 출력 신호를 발생시킨다.
도 10b에 도시된 예와 같은 일부 실시예에서, 전류 비교기(110)(도 1)는 전류 비교기(1010’)에 의해 구현되는데, 비교기(1010’)는 차동 전압 신호를 먼저 발생시키지 않고서 I1과 I2 간의 상대 전류 레벨을 나타내는 출력 신호를 발생시킨다.
도 11a 내지 도 11d에 도시된 바와 같은 일부 실시예에서, CIM 시스템(1100)에서의 로딩 회로(1012)(도 10a)는 다양한 방식으로 구현될 수 있다. 예를 들어, 도 11b에 도시된 바와 같이, 로딩 회로(1012A)는 2개의 능동 바이어싱된 트랜지스터(1122 및 1124)를 포함한다. 이 예에서, 둘 다의 트랜지스터의 게이트에 동일한 바이어스가 주어진다고 하면, 상이한 전류 I1 및 I2의 결과로서 상이한 드레인-소스 전압이 된다. 둘 다의 트랜지스터(1122 및 1124)의 드레인이 공통 전압 공급장치에 접속되어 있으므로, 소스 전압은 상이하며, 그 결과 차동 전압 ΔV이 된다. 도 11c에 도시된 또다른 예로서, 도 11b에서의 단일 트랜지스터(1122 및 1124)의 각각은 캐스케이드 트랜지스터 쌍으로, 즉 트랜지스터(1122)가 트랜지스터(1132 및 1136)로 그리고 트랜지스터(1124)가 트랜지스터(1134 및 1138)로 대체된다. 트랜지스터(1132 및 1134)의 게이트에는 제1 바이어스가 가해지고, 트랜지스터(1136 및 1138)의 게이트에는 제2 바이어스가 가해진다. 로딩 회로(1012A)와 마찬가지로, 상이한 전류(I1 및 I2)로 인해 상이한 드레인-소스 전압이 된다. 둘 다의 트랜지스터(1132 및 1134)의 드레인이 공통 전압 공급장치에 접속되어 있으므로, 트랜지스터(1136 및 1138)의 소스 전압은 상이하며, 그 결과 차동 전압 ΔV이 된다. 캐스케이딩 구성으로 인해, 더 큰 차동 전압 ΔV이, 동일 전류 차이에 기초하여 생성될 수 있다. 도 11d에 도시된 부가의 예에서, 로딩 회로(1012C)는 2개의 동일한 저항기(1142 및 1144)를 포함한다. 상이한 I1 및 I2의 결과로서 옴의 법칙에 따라 차동 전압 ΔV이 된다.
도 12a 및 도 12b에 도시된 예와 같은 일부 실시예에서, 차동 전압을 사용하지 않고서 비교 결과를 나타내는 신호를 출력하는 전류 비교기(1010’)(도 10b)는 래치 회로를 포함하며, 래치 회로는 PMOS 트랜지스터(1222 및 1224) 및 NMOS 트랜지스터(1226 및 1228)를 포함한다. 전류 비교기(1010’)는 비교기(1010’)를 리셋하기 위해 한 쌍의 클록-제어된 PMOS 트랜지스터(1232 및 1234)를 더 포함한다. 비교기(1010’)가 클록 펄스 CLK에 의해 리셋된 후에, I2보다 높은 I1은 노드(1242)에서의 전압을 노드(1244)에서의 전압보다 낮게 할 것이다. 래치 회로의 포지티브 피드백으로 인해, 노드(1242)에서의 전압은 계속해서 떨어질 것이며, 노드(1244)에서의 전압은 계속해서 올라갈 것이다. 그 결과, 노드(1244)에서의 출력 전압은 I1 > I2인 경우 급격하게 레일 전압 VDD가 되거나, 또는 I1 < I2인 경우 접지된다. 따라서 노드(1244)(또는 1242)에서의 출력 전압은 1이거나 0이고, 그 다음 로직 회로(134)에의 입력으로서 사용될 수 있다.
따라서, 본 개시의 보다 일반적인 양상에 따르면, 도 13에 개요된 바와 같이, 컴퓨팅 방법(1300)은, 예컨대 메모리 전류 회로(240, 340, 440, 540 또는 640)를 이용해, 하나 이상의 메모리 소자로부터, 메모리 소자에 저장된 데이터와 메모리 소자에 인가된 하나 이상의 입력 신호 간의 연산(즉, 곱셈)을 나타내는 제1 전류를 발생시키는 것(1310)을 포함한다. 방법(1300)은 또한, 예컨대 기준 전류 회로(836 또는 936)를 이용해, 미리 결정된 레벨의 제2 전류를 발생시키는 것(1320)을 포함한다. 방법(1300)은, 예컨대 전류 비교기(1010, 1010’, 1110, 또는 1210’)를 이용해, 제1 및 제2 전류의 레벨을 비교하는 것(1330)을 더 포함한다. 방법(1300)은, 예컨대 로직 회로를 이용해, 제2 전류를, 실질적으로 제1 전류와 동일할 때까지 조정하는 것을 추가적으로 포함한다. 또한, 방법(1300)은, 예컨대 조정 단계(1340)의 종료시 제1 전류의 레벨을 제2 전류의 레벨인 것으로 결정함으로써, 제1 전류의 레벨을 결정하는 것(1350)을 포함한다.
상기에 개시된 예시적인 CIM 시스템에서의 전류 비교의 사용은, 전압을 생성하기 위해 전류 통합이 필요한 것으로 인한 전압-기반의 CIM 연산에 비교하여, MAC 연산과 같은 고속(GHz 클록 레이트) CIM 연산을 가능하게 한다. 전압-기반의 CIM 시스템에 통상적으로 사용되는 클램핑 회로를 없앰으로써, 제조 비용을 감소시키면서 균등한 전류를 유지하게 된다. 또한, 클록-게이트 트랜지스터의 사용은 정적 전류 흐름을 회피하거나 감소시키며, 그에 의해 전력 소비를 감소시킨다.
전술한 바는 당해 기술 분야에서의 숙련자들이 본 개시의 양상을 보다 잘 이해할 수 있도록 여러 실시예들의 특징을 나타낸 것이다. 당해 기술 분야에서의 숙련자라면, 여기에서 소개된 실시예와 동일한 목적을 수행하고/하거나 동일한 이점을 달성하기 위해 다른 프로세스 및 구조를 설계 또는 수정하기 위한 기반으로서 본 개시를 용이하게 사용할 수 있다는 것을 알아야 한다. 당해 기술 분야에서의 숙련자는 또한, 이러한 등가의 구성이 본 개시의 진정한 의미 및 범위로부터 벗어나지 않으며, 본 개시의 진정한 의미 및 범위에서 벗어나지 않고서 다양한 변경, 치환 및 대안을 행할 수 있다는 것을 알아야 한다.
실시예
실시예 1. 컴퓨팅 시스템에 있어서,
제1 데이터 세트를 수신하도록 구성된(adapted) 입력 및 제2 데이터 세트를 저장하도록 구성된 복수의 메모리 소자들을 포함하는 메모리 회로 - 상기 메모리 회로는 상기 제1 데이터 세트와 상기 제2 데이터 세트의 조합을 나타내는 레벨의 메모리 전류를 발생시키도록 구성됨 - ;
미리 결정된 레벨의 기준 전류를 발생시키도록 구성된 기준 전류 회로; 및
상기 메모리 전류 및 상기 기준 전류를 수신하고, 상기 메모리 전류 및 상기 기준 전류의 레벨 간의 차이를 나타내는 신호를 발생시키도록 구성된 전류 비교기
를 포함하고,
상기 기준 전류 회로는 또한, 상기 전류 비교기에 의해 발생된 신호를 수신하고, 상기 수신된 신호에 기초하여 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 것인, 컴퓨팅 시스템.
실시예 2. 실시예 1에 있어서,
상기 기준 전류 회로는:
상기 전류 비교기에 의해 발생된 신호를 수신하고, 상기 전류 비교기에 의해 발생된 상기 수신된 신호에 대응하는 전류 제어 신호를 발생시키도록 구성된 전류 제어 회로; 및
상기 전류 제어 신호를 수신하고, 상기 전류 제어 신호에 기초하여 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 전류 발생기
를 포함하는 것인, 컴퓨팅 시스템.
실시예 3. 실시예 2에 있어서,
상기 전류 제어 회로는 상기 전류 비교기에 의해 발생된 상기 수신된 신호에 대응하는 디지털 전류 제어 신호를 발생시키도록 구성되는 것인, 컴퓨팅 시스템.
실시예 4. 실시예 2에 있어서,
상기 전류 제어 회로는, 상기 전류 제어 회로로부터 수신된 상기 디지털 전류 제어 신호에 기초하여 상기 기준 전류를 발생시키도록 구성된 디지털-아날로그 컨버터("DAC", digital-to-analog converter)를 포함하는 것인, 컴퓨팅 시스템.
실시예 5. 실시예 2에 있어서,
상기 전류 제어 회로는 복수의 전류 소스들을 포함하며, 상기 복수의 전류 소스들의 각각은, 상기 디지털 전류 제어 신호의 비트를 수신하고 상기 수신된 비트의 상태에 따라 전류를 발생시키도록 구성된 것인, 컴퓨팅 시스템.
실시예 6. 실시예 5에 있어서,
상기 복수의 전류 소스들의 각각은, 데이터를 저장하고 상기 디지털 전류 제어 신호의 각자의 비트를 수신하며 상기 수신된 비트 및 상기 저장된 데이터에 따른 레벨에서 전류를 발생시키도록 구성된 메모리 소자를 포함하는 것인, 컴퓨팅 시스템.
실시예 7. 실시예 6에 있어서,
복수의 메모리 소자들의 각각은 멀티-레벨 비휘발성 메모리("NVM", non-volatile memory) 셀을 포함하는 것인, 컴퓨팅 시스템.
실시예 8. 실시예 5에 있어서,
상기 복수의 전류 소스들은 서로 실질적으로 동일하고, 상기 전류 제어 회로는 써모미터 코딩된(thermometer coded) 디지털 전류 제어 신호를 발생시키도록 구성되는 것인, 컴퓨팅 시스템.
실시예 9. 실시예 1에 있어서,
상기 메모리 소자들의 각각은 특성 크기(characteristic size)를 가지며, 상기 복수의 메모리 소자들의 특성 크기는 이진 가중화되는(binary weighted) 것인, 컴퓨팅 시스템.
실시예 10. 실시예 1에 있어서,
상기 전류 비교기는, 상기 메모리 전류와 상기 기준 전류의 상대 레벨에 따른 극성(polarity)을 갖는 차동 전압을 발생시키도록 구성된 로딩 회로, 및 상기 차동 전압을 수신하고 상기 차동 전압의 극성을 나타내는 출력을 발생시키도록 구성된 전압 비교기를 포함하는 것인, 컴퓨팅 시스템.
실시예 11. 실시예 1에 있어서,
복수의 스위치 디바이스들을 더 포함하며, 상기 복수의 스위치 디바이스들의 각각은 상기 복수의 메모리 소자들의 서브세트를 상기 전류 비교기에 접속시키고, 상기 복수의 메모리 소자들은 공통 기준 전압에 접속되는 것인, 컴퓨팅 시스템.
실시예 12. 컴퓨팅 디바이스에 있어서,
행과 열로 논리적으로 배열된 복수의 메모리 소자들 - 상기 메모리 소자들의 각각은 제어 단자 및 한 쌍의 전류-운반 단자들을 포함하며, 가중치 값을 저장하고 상기 가중치 값 및 상기 제어 단자에서 수신된 신호에 대응하는 전류를 상기 전류-운반 단자들을 통해 발생시키도록 구성됨 - ;
전류 비교기;
복수의 스위치 디바이스들 - 각각이 상기 메모리 소자들의 열과 상기 전류 비교기를 커플링함 - ; 및
미리 결정된 레벨의 기준 전류를 발생시키도록 구성된 기준 전류 회로
를 포함하고,
상기 전류 비교기는 상기 기준 전류 회로에 접속되며, 메모리 회로로부터의 총 전류 및 상기 기준 전류를 수신하고 상기 기준 전류 레벨을 상기 메모리 회로로부터의 총 전류의 레벨과 비교하고 비교 결과를 나타내는 출력 신호를 발생시키도록 구성되고, 상기 기준 전류 회로는 또한, 상기 전류 비교기에 의해 발생된 출력 신호를 수신하고, 상기 전류 비교기로부터 수신된 신호에 따라 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 것인, 컴퓨팅 디바이스.
실시예 13. 실시예 12에 있어서,
상기 복수의 메모리 소자들의 각각은 NVM 셀을 포함하며, 상기 NVM 셀은 상기 NVM 셀이 위치되어 있는 행에 따라 이진 가중화된 특성 크기를 갖는 것인, 컴퓨팅 디바이스.
실시예 14. 실시예 12에 있어서,
상기 기준 전류 회로는:
상기 전류 비교기에 의해 발생된 신호를 수신하고, 상기 전류 비교기에 의해 발생된 상기 수신된 신호에 대응하는 전류 제어 신호를 발생시키도록 구성된 전류 제어 회로; 및
상기 전류 제어 신호를 수신하고, 상기 전류 제어 신호에 기초하여 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 전류 발생기
를 포함하는 것인, 컴퓨팅 디바이스.
실시예 15. 실시예 12에 있어서,
상기 전류 제어 회로는 로직 회로를 포함하며, 상기 로직 회로는, 상기 전류 비교기로부터 신호를 수신하고, 상기 전류 비교기로부터 수신된 신호에 기초하여 그리고 연속-근사(successive-approximation) 알고리즘에 따라 디지털 전류 제어 신호를 발생시키도록 구성된 것인, 컴퓨팅 디바이스.
실시예 16. 실시예 12에 있어서,
상기 전류 제어 회로는 로직 회로를 포함하며, 상기 로직 회로는 상기 전류 비교기로부터 신호를 수신하고, 상기 전류 비교기로부터 수신된 신호에 기초하여 써모미터 코딩된 디지털 전류 제어 신호를 발생시키도록 구성된 것인, 컴퓨팅 디바이스.
실시예 17. 컴퓨팅 방법에 있어서,
하나 이상의 메모리 소자로부터, 상기 메모리 소자에 저장된 데이터와 상기 메모리 소자에 인가된 하나 이상의 입력 신호 간의 연산을 나타내는 제1 전류를 발생시키는 단계;
미리 결정된 레벨의 제2 전류를 발생시키는 단계;
상기 제1 전류 및 상기 제2 전류의 레벨을 비교하는 단계;
상기 제2 전류가 상기 제1 전류와 실질적으로 동일할 때까지 상기 제2 전류를 조정하는 단계; 및
상기 제1 전류의 레벨을 결정하는 단계
를 포함하는, 컴퓨팅 방법.
실시예 18. 실시예 17에 있어서,
상기 메모리 소자에 저장된 데이터는 가중치 값을 나타내고,
상기 제1 전류를 발생시키는 단계는, 상기 가중치 값과 각자의 메모리 소자에 공급된 입력 신호 간의 곱의 합에 대응하는 제1 전류를 발생시키는 단계를 포함하고,
상기 제2 전류를 조정하는 단계는, 상기 제1 전류 및 상기 제2 전류의 비교에 기초하여 디지털 전류 제어 신호를 발생시키는 단계, 및 상기 디지털 전류 제어 신호를 사용하여 복수의 전류 소스들 - 각각 각자의 아는 레벨의 전류를 공급하도록 구성됨 - 중의 하나 이상을 턴온시키거나 턴오프시키는 단계를 포함하고,
상기 제1 전류의 레벨을 결정하는 단계는, 상기 제1 전류 및 상기 제2 전류가 실질적으로 동일한 상기 디지털 전류 제어 신호가 상기 제1 전류의 레벨을 나타낸다고 결정하는 단계를 포함하는 것인, 컴퓨팅 방법.
실시예 19. 실시예 17에 있어서,
상기 제1 전류를 발생시키는 단계는, 메모리 소자들의 어레이 및 상기 메모리 소자들에 인가된 각자의 입력 신호로부터, 상기 메모리 소자들에 저장된 데이터와 각자의 입력 신호 간의 곱의 합을 나타내는 신호를 발생시키는 단계를 포함하는 것인, 컴퓨팅 방법.
실시예 20. 실시예 17에 있어서,
상기 제2 전류를 조정하는 단계는, 상기 비교하는 단계의 결과에 기초하여 써모미터-코딩된 디지털 전류 제어 신호를 발생시키는 단계를 포함하는 것인, 컴퓨팅 방법.

Claims (10)

  1. 컴퓨팅 시스템에 있어서,
    제1 데이터 세트를 수신하도록 구성된(adapted) 입력 및 제2 데이터 세트를 저장하도록 구성된 복수의 메모리 소자들을 포함하는 메모리 회로 - 상기 메모리 회로는 상기 제1 데이터 세트와 상기 제2 데이터 세트의 조합을 나타내는 레벨의 메모리 전류를 발생시키도록 구성됨 - ;
    미리 결정된 레벨의 기준 전류를 발생시키도록 구성된 기준 전류 회로; 및
    상기 메모리 전류 및 상기 기준 전류를 수신하고, 상기 메모리 전류 및 상기 기준 전류의 레벨 간의 차이를 나타내는 신호를 발생시키도록 구성된 전류 비교기
    를 포함하고,
    상기 기준 전류 회로는 또한, 상기 전류 비교기에 의해 발생된 신호를 수신하고, 상기 수신된 신호에 기초하여 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 것인, 컴퓨팅 시스템.
  2. 청구항 1에 있어서,
    상기 기준 전류 회로는:
    상기 전류 비교기에 의해 발생된 신호를 수신하고, 상기 전류 비교기에 의해 발생된 상기 수신된 신호에 대응하는 전류 제어 신호를 발생시키도록 구성된 전류 제어 회로; 및
    상기 전류 제어 신호를 수신하고, 상기 전류 제어 신호에 기초하여 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 전류 발생기
    를 포함하는 것인, 컴퓨팅 시스템.
  3. 청구항 2에 있어서,
    상기 전류 제어 회로는 상기 전류 비교기에 의해 발생된 상기 수신된 신호에 대응하는 디지털 전류 제어 신호를 발생시키도록 구성되는 것인, 컴퓨팅 시스템.
  4. 청구항 2에 있어서,
    상기 전류 제어 회로는, 상기 전류 제어 회로로부터 수신된 상기 디지털 전류 제어 신호에 기초하여 상기 기준 전류를 발생시키도록 구성된 디지털-아날로그 컨버터("DAC", digital-to-analog converter)를 포함하는 것인, 컴퓨팅 시스템.
  5. 청구항 2에 있어서,
    상기 전류 제어 회로는 복수의 전류 소스들을 포함하며, 상기 복수의 전류 소스들의 각각은, 상기 디지털 전류 제어 신호의 비트를 수신하고 상기 수신된 비트의 상태에 따라 전류를 발생시키도록 구성된 것인, 컴퓨팅 시스템.
  6. 청구항 1에 있어서,
    상기 메모리 소자들의 각각은 특성 크기(characteristic size)를 가지며, 상기 복수의 메모리 소자들의 특성 크기는 이진 가중화되는(binary weighted) 것인, 컴퓨팅 시스템.
  7. 청구항 1에 있어서,
    상기 전류 비교기는, 상기 메모리 전류와 상기 기준 전류의 상대 레벨에 따른 극성(polarity)을 갖는 차동 전압을 발생시키도록 구성된 로딩 회로, 및 상기 차동 전압을 수신하고 상기 차동 전압의 극성을 나타내는 출력을 발생시키도록 구성된 전압 비교기를 포함하는 것인, 컴퓨팅 시스템.
  8. 청구항 1에 있어서,
    복수의 스위치 디바이스들을 더 포함하며, 상기 복수의 스위치 디바이스들의 각각은 상기 복수의 메모리 소자들의 서브세트를 상기 전류 비교기에 접속시키고, 상기 복수의 메모리 소자들은 공통 기준 전압에 접속되는 것인, 컴퓨팅 시스템.
  9. 컴퓨팅 디바이스에 있어서,
    행과 열로 논리적으로 배열된 복수의 메모리 소자들 - 상기 메모리 소자들의 각각은 제어 단자 및 한 쌍의 전류-운반 단자들을 포함하며, 가중치 값을 저장하고 상기 가중치 값 및 상기 제어 단자에서 수신된 신호에 대응하는 전류를 상기 전류-운반 단자들을 통해 발생시키도록 구성됨 - ;
    전류 비교기;
    복수의 스위치 디바이스들 - 각각이 상기 메모리 소자들의 열과 상기 전류 비교기를 커플링함 - ; 및
    미리 결정된 레벨의 기준 전류를 발생시키도록 구성된 기준 전류 회로
    를 포함하고,
    상기 전류 비교기는 상기 기준 전류 회로에 접속되며, 메모리 회로로부터의 총 전류 및 상기 기준 전류를 수신하고 상기 기준 전류 레벨을 상기 메모리 회로로부터의 총 전류의 레벨과 비교하고 비교 결과를 나타내는 출력 신호를 발생시키도록 구성되고, 상기 기준 전류 회로는 또한, 상기 전류 비교기에 의해 발생된 출력 신호를 수신하고, 상기 전류 비교기로부터 수신된 신호에 따라 상기 기준 전류를 또다른 미리 결정된 레벨로 조정하도록 구성된 것인, 컴퓨팅 디바이스.
  10. 컴퓨팅 방법에 있어서,
    하나 이상의 메모리 소자로부터, 상기 메모리 소자에 저장된 데이터와 상기 메모리 소자에 인가된 하나 이상의 입력 신호 간의 연산을 나타내는 제1 전류를 발생시키는 단계;
    미리 결정된 레벨의 제2 전류를 발생시키는 단계;
    상기 제1 전류 및 상기 제2 전류의 레벨을 비교하는 단계;
    상기 제2 전류가 상기 제1 전류와 동일할 때까지 상기 제2 전류를 조정하는 단계; 및
    상기 제1 전류의 레벨을 결정하는 단계
    를 포함하는, 컴퓨팅 방법.
KR1020210049830A 2020-04-30 2021-04-16 메모리 내 데이터 판독을 위한 디바이스 및 방법 KR102497616B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063018101P 2020-04-30 2020-04-30
US63/018,101 2020-04-30
US17/185,145 2021-02-25
US17/185,145 US11430491B2 (en) 2020-04-30 2021-02-25 Device and method for reading data in memory

Publications (2)

Publication Number Publication Date
KR20210134500A true KR20210134500A (ko) 2021-11-10
KR102497616B1 KR102497616B1 (ko) 2023-02-08

Family

ID=78293215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210049830A KR102497616B1 (ko) 2020-04-30 2021-04-16 메모리 내 데이터 판독을 위한 디바이스 및 방법

Country Status (2)

Country Link
US (1) US11430491B2 (ko)
KR (1) KR102497616B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693560B2 (en) * 2021-01-22 2023-07-04 Taiwan Semiconductor Manufacturing Company, Ltd. SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture
US11711094B2 (en) * 2021-12-22 2023-07-25 Analog Devices International Unlimited Company Algorithm for high speed SAR ADC
US11942144B2 (en) 2022-01-24 2024-03-26 Stmicroelectronics S.R.L. In-memory computation system with drift compensation circuit
US11894052B2 (en) 2022-04-12 2024-02-06 Stmicroelectronics S.R.L. Compensated analog computation for an in-memory computation system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473340B1 (en) * 1999-10-29 2002-10-29 Stmicroelectronics S.R.L. Reading method and circuit for a non-volatile memory
US20070081389A1 (en) * 2005-09-26 2007-04-12 Tran Hieu V Method and apparatus for systematic and random variation and mismatch compensation for multilevel flash memory operation
US20150243352A1 (en) * 2014-02-21 2015-08-27 Samsung Electronics Co., Ltd. Nonvolatile memory device having resistive memory cell and method sensing data in same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7002843B2 (en) 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory
KR20170099410A (ko) * 2013-03-15 2017-08-31 실리콘 스토리지 테크놀로지 인크 고속 및 저전력 감지 증폭기
US10803943B2 (en) 2017-11-29 2020-10-13 Silicon Storage Technology, Inc. Neural network classifier using array of four-gate non-volatile memory cells

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473340B1 (en) * 1999-10-29 2002-10-29 Stmicroelectronics S.R.L. Reading method and circuit for a non-volatile memory
US20070081389A1 (en) * 2005-09-26 2007-04-12 Tran Hieu V Method and apparatus for systematic and random variation and mismatch compensation for multilevel flash memory operation
US20150243352A1 (en) * 2014-02-21 2015-08-27 Samsung Electronics Co., Ltd. Nonvolatile memory device having resistive memory cell and method sensing data in same

Also Published As

Publication number Publication date
KR102497616B1 (ko) 2023-02-08
US11430491B2 (en) 2022-08-30
US20210343320A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
KR102497616B1 (ko) 메모리 내 데이터 판독을 위한 디바이스 및 방법
US10860682B2 (en) Binary, ternary and bit serial compute-in-memory circuits
CN110825345B (zh) 使用非易失性存储器单元的乘法
US11322195B2 (en) Compute in memory system
US11132176B2 (en) Non-volatile computing method in flash memory
US10217512B1 (en) Unit cell with floating gate MOSFET for analog memory
US20200258569A1 (en) Multi-bit dot product engine
US20230113231A1 (en) Methods and systems of operating a neural circuit in a non-volatile memory based neural-array
US10783963B1 (en) In-memory computation device with inter-page and intra-page data circuits
US11714570B2 (en) Computing-in-memory device and method
KR20190133532A (ko) 트랜스포즈가 가능한 가중치 셀 및 이의 어레이
US20230297235A1 (en) Sram-based cell for in-memory computing and hybrid computations/storage memory architecture
US20220366948A1 (en) Device and method for reading data in memory
US20220342635A1 (en) One-Transistor Processing Element For Non-Volatile Memory Crossbar Array
US11809838B2 (en) Memory device and operation method thereof
US20230177319A1 (en) Methods and systems of operating a neural circuit in a non-volatile memory based neural-array
CN116486857B (zh) 一种基于电荷再分配的存内计算电路
US20220156556A1 (en) Spiking neural network circuit
CN117133334A (zh) 存储器内计算电路
Yadav et al. A MACHINE LEARNING AND NEURAL NETWORK BASED STATIC RAM DESIGN ON 65-NM CMOS

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right