KR20220106641A - 인메모리 컴퓨팅 및 하이브리드 계산/저장 메모리 아키텍처를 위한 sram 기반 셀 - Google Patents

인메모리 컴퓨팅 및 하이브리드 계산/저장 메모리 아키텍처를 위한 sram 기반 셀 Download PDF

Info

Publication number
KR20220106641A
KR20220106641A KR1020210037301A KR20210037301A KR20220106641A KR 20220106641 A KR20220106641 A KR 20220106641A KR 1020210037301 A KR1020210037301 A KR 1020210037301A KR 20210037301 A KR20210037301 A KR 20210037301A KR 20220106641 A KR20220106641 A KR 20220106641A
Authority
KR
South Korea
Prior art keywords
current
memory
input
transistor
signal
Prior art date
Application number
KR1020210037301A
Other languages
English (en)
Other versions
KR102470924B1 (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 KR20220106641A publication Critical patent/KR20220106641A/ko
Application granted granted Critical
Publication of KR102470924B1 publication Critical patent/KR102470924B1/ko

Links

Images

Classifications

    • 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/061Improving I/O performance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • 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
    • 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/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
    • 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
    • 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
    • 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/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Static Random-Access Memory (AREA)
  • Analogue/Digital Conversion (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

인메모리 컴퓨팅 디바이스(in-memory computing device)는 일부 예들에서 행 및 열로 배열된 2차원 메모리 셀 어레이를 포함하고, 각각의 메모리 셀은 9-트랜지스터 전류 기반 SRAM으로 제조된다. 각 메모리 셀은 6-트랜지스터 SRAM 셀과, 입력 라인의 입력 신호에 의해 제어되는 스위칭 트랜지스터에 의해, 메모리 셀이 있는 메모리 셀의 열과 연관된 출력 라인에 결합된 전류 소스(current source)를 포함한다. 전류 소스는 6-트랜지스터 SRAM 셀의 상태에 의해 제어되는 스위칭 트랜지스터와, 게이트에 인가된 제어 신호에 의해 결정된 레벨에서 전류를 생성하도록 적응된 전류 조절 트랜지스터를 포함한다. 제어 신호는 각 출력 라인의 총 전류가 메모리 셀의 각 연속 열에서 2배만큼 증가되도록 설정될 수 있다.

Description

인메모리 컴퓨팅 및 하이브리드 계산/저장 메모리 아키텍처를 위한 SRAM 기반 셀{SRAM-BASED CELL FOR IN-MEMORY COMPUTING AND HYBRID COMPUTATION/STORAGE MEMORY ARCHITECTURE}
본 개시는 일반적으로 인메모리 컴퓨팅(in-memory computing), 또는 메모리 내 컴퓨팅(compute-in-memory; "CIM")에 관한 것이고, 보다 구체적으로는 곱셈-누적(multiply-accumulate; "MAC") 연산과 같은 데이터 프로세싱에 사용되는 메모리 어레이에 관한 것이다. 메모리 내 컴퓨팅 또는 인메모리 컴퓨팅 시스템은 컴퓨터의 주(main) 랜덤 액세스 메모리(random-access memory; RAM)에 정보를 저장하고 각 계산 단계에 대해 주 RAM과 데이터 저장소 사이에서 대량의 데이터를 이동시키기보다는 메모리 셀 레벨에서 계산을 수행한다. 저장된 데이터가 RAM에 저장될 때 훨씬 더 빠르게 액세스되기 때문에 메모리 내 컴퓨팅은 데이터가 실시간으로 분석될 수 있게 하여, 비즈니스 및 머신 러닝 응용에서 더 빠른 보고 및 의사 결정을 가능하게 한다. 메모리 내 컴퓨팅 시스템의 성능을 개선하기 위한 노력이 계속되고 있다.
본 개시의 양상은 첨부한 도면들과 함께 읽을 때 하기의 상세한 설명으로부터 가장 잘 이해된다. 업계의 표준적 관행에 따라, 다양한 피처(features)는 실제 크기대로 도시되지 않는 것을 주목된다. 실제로, 다양한 피처의 치수는 논의의 명료화를 위해 임의로 증가되거나 감소될 수 있다.
도 1은 일부 실시예들에 따라, 각 메모리 요소에 대해 전류 소스를 포함하는 9-트랜지스터("9T"), 전류 기반 정적 랜덤 액세스 메모리(static random-access memory; "SRAM")가 사용되는 4 비트 정밀도 가중치 계산 서브시스템(four-bit-precision weight computation sub-system)을 포함하는, 메모리 내 컴퓨팅 시스템의 개략도이다.
도 2는 일부 실시예에 따라 각 메모리 요소의 전류 조절 트랜지스터의 소스가 노드(Q)에 연결된다는 점을 제외하고는 도 1에 도시된 것과 유사한 메모리 내 컴퓨팅 시스템의 개략도이다.
도 3은 일부 실시예에 따라, 전류 소스의 트랜지스터가 p-채널 금속 산화물 반도체 전계 효과 트랜지스터(metal oxide semiconductor field effect transistors; "MOSFET")("PMOSes")라는 점을 제외하고는, 도 1에 도시된 것과 유사한 메모리 내 컴퓨팅 시스템의 개략도이다.
도 4는 일부 실시예에 따라 각 메모리 요소의 전류 조절 트랜지스터의 드레인이 노드(Q)에 연결된다는 점을 제외하고는 도 3에 도시된 것과 유사한 메모리 내 컴퓨팅 시스템의 개략도이다.
도 5는 일부 실시예들에 따라, 메모리 셀들의 열들의 비트 라인들로부터의 전류들의 합산 및 하나 이상의 아날로그-디지털 변환기들(analog-to-digital converters; "ADCs")을 사용하여 합계들을 디지털 출력들로 변환하는 것을 예시하는 블록도이다.
도 6a는 일부 실시예에 따라 전류 기반 SRAM과 함께 사용되는 연속 근사 레지스터(successive-approximation-register; "SAR") ADC를 도시한다.
도 6b는 일부 실시예에 따라, 가중화된 입력을 합산하고, 전류 기반 SRAM을 사용하며, 펄스 카운트를 입력으로 사용하는 것을 도시한다.
도 7은 일부 실시예에 따라, 아날로그 가중화된 입력 합계에 대응하는 디지털 신호를 생성하기 위해 시간-도메인 ADC를 사용하는 것을 도시한다.
도 8은 일부 실시예에 따른 컴퓨팅 프로세스를 도시한다.
도 9는 일부 실시예에 따른 컴퓨팅 프로세스를 약술한다.
도 10은 일부 실시예에 따른 CIM 동작을 도시한다.
하기의 개시는 제공되는 특허 대상의 상이한 피처들을 구현하기 위한 다수의 상이한 실시예들 또는 예시들을 제공한다. 컴포넌트들 및 배열들의 특정 예시는 본 개시를 단순화시키기 위해 이하에서 설명된다. 물론, 이것들은 단지 예이고, 제한하는 것으로 의도되지 않는다. 예를 들어, 이하의 설명에서 제2 피처 위에 또는 제2 피처 상에 제1 피처의 형성은, 제1 피처와 제2 피처가 직접 접촉해서 형성되는 실시예를 포함할 수 있고, 추가적인 피처가 제1 피처와 제2 피처 사이에 형성될 수 있어서 제1 피처와 제2 피처가 직접 접촉될 수 없는 실시예를 또한, 포함할 수 있다. 또한, 본 개시는 다양한 예들에서 참조 번호들 및/또는 문자들을 반복할 수 있다. 이 반복은 간략함과 명료함을 위한 것이고, 논의되는 다양한 실시예들 및/또는 구성들 간의 관계를 본질적으로 지시하지는 않는다.
본 개시에 도시된 특정 예는 메모리 내 컴퓨팅에 관한 것이다. 메모리 내 컴퓨팅 애플리케이션의 예는, 숫자 입력 어레이가 또 다른 숫자(가중치) 어레이(예를 들면, 열) 내의 각자의 요소에 의해 곱해지는(가중화되는) 곱셈-누적("MAC") 연산이고, 그 곱은 함께 더해져(누적되어) 출력 합계를 생성한다. 이것은 수학적으로 두 벡터의 내적(또는 스칼라 곱)과 유사하며, 이 절차에서 두 벡터의 성분이 서로 쌍으로 곱해지고, 성분 쌍의 곱이 합산된다. 인공 신경망과 같은 특정 인공 지능(artificial intelligence; AI) 시스템에서, 숫자 어레이는 여러 가중치 열에 의해 가중화될 수 있다. 각 열에 의한 가중화는 각자의 출력 합계를 생성한다. 따라서 합계의 출력 어레이는 여러 열로 구성된 행렬의 가중치에 의해 숫자 입력 어레이로부터 생성된다.
일반적인 유형의 집적 회로 메모리는 정적 랜덤 액세스 메모리(SRAM) 디바이스이다. 일반적인 SRAM 메모리 디바이스는 메모리 셀 어레이를 갖는다. 일부 예들에서, 각 메모리 셀은 상위 기준 전위와 하위 기준 전위(예컨대, 접지) 사이에 연결된 6개의 트랜지스터(6T)를 사용하여, 두 개의 저장 노드 중 하나가 다른 저장 노드에 저장된 상보 정보와 함께, 저장될 정보에 의해 점유될 수 있도록 한다. SRAM 셀의 각 비트는 2개의 교차 결합 인버터를 형성하는 4개의 트랜지스터에 저장된다. 다른 2개의 트랜지스터는 메모리 셀 워드 라인(WL')에 연결되어, 셀을 비트 라인(BL')에 선택적으로 연결함으로써 판독 및 기록 동작 중에 메모리 셀에 대한 액세스를 제어한다. 워드 라인이 인에이블되면 비트 라인에 연결된 감지 증폭기가 저장된 정보를 감지하고 출력한다. 비트 라인에 연결된 입력/출력(I/O) 회로는 메모리 셀 데이터를 프로세싱할 때 자주 사용된다.
본 개시의 일부 양상들에 따르면, 메모리 내 컴퓨팅(CIM) 시스템은, 각 메모리 셀이, 기존(예를 들어, 6T SRAM) 메모리 셀에 추가하여, 전류 조절 트랜지스터를 갖는 제어형 전류 소스와, 메모리 노드(Q 또는 QB) - 저장된 값에 대응하는 전압이 이 메모리 노드에 유지됨 - 에 의해 제어되고 전류 조절 트랜지스터를 통해 전류를 패스(pass)하도록 적응되는 스위칭 트랜지스터를 갖는 메모리 어레이를 포함한다. 메모리 셀의 각 열에 있는 전류 조절 트랜지스터는 공통 전류 제어 라인의 전류 제어 전압에 의해 제어(설정)된다. 일부 실시예에서 서로 다른 열에 대한 전류 제어 전압은 2의 거듭제곱배만큼 서로 다르므로, 각 전류 소스의 전류는 해당 열의 해당 메모리 셀에 저장된 비트의 자릿값(20, 21, 23 등)에 비례한다. 각 메모리 셀은 또한 제어형 전류 소스를 현재 합산 비트 라인(bit line; BL)에 연결하도록 적응된 스위칭 트랜지스터(switching transistor; WLC)를 가진다. 메모리 셀의 각 행에 대한 스위칭 트랜지스터(WLC)는 공통 CIM 워드 라인(word line; WL)에 의해 제어(턴온 및 턴오프)된다. 일부 실시예에서, 각 메모리 셀은 예를 들면, 6T SRAM과 같은 종래의 메모리 셀과, 제어형 전류 소스와 WLC를 포함하고, 이는 기존 방식으로 디지털 정보를 저장하고 CIM을 수행하는 데 모두 적합한 9-트랜지스터("9T") 전류 기반 SRAM 셀을 형성한다.
본 개시의 특정 양상에 따르면, 다중 비트 입력은 WL 상의 일련의 펄스, 입력값에 대응하는 펄스 수, 또는 단일 펄스로 실현될 수 있으며, 다중 비트 입력의 폭은 입력값에 대응한다. 예를 들어, 일부 실시예에서, 4 비트 입력이 사용될 수 있지만, 다른 비트 폭도 본 개시의 범위 내에 있다. 예를 들어, 입력 0은 0 (00002)개의 WL 펄스로 표현되고, 입력 310 (00112)은 3개의 WL 펄스로 표현되며, 입력 1510 (11112)는 15개의 WL 펄스로 표현되는 식이다.
일부 실시예에서, 입력 신호는 열로 배열된 다중 비트(예를 들어, 4 비트) 가중치(즉, 가중값)에 의해 곱해질 수 있다. 다중 비트 가중화된 입력의 누적은 다중 비트 가중치의 각 비트에 해당하는 열의 모든 셀로부터 공통 BL을 충전하여 실현될 수 있다; 따라서 각 BL의 전압은 BL에 연결된 각 셀로부터의 전류의 합계를 나타내며 따라서 입력의 합계를 나타내며, 각각의 입력은 열과 연관된 이진 가중치에 의해 가중화된다. 따라서 곱셈-누적 기능이 BL에 대해 수행되고 총 BL 전류는 다중 비트 입력을 갖는 가중치 비트의 비트 단위 곱셈에 비례한다. 그런 다음 다중 비트 가중치의 열에 해당하는 모든 BL의 전류가 함께 더해져 아날로그 신호(예를 들어, 전압 또는 시간 주기의 신호)를 생성하며, 따라서 아날로그 신호의 값은 다중 비트 입력의 합이고, 다중 비트 입력 각각은 다중 비트 가중치에 의해 가중화된다. 각 열의 전류 제어 전압이 열에 대한 자릿값에 해당하므로 가중치의 최상위 비트(most significant bit; MSB)가 가중치의 최하위 비트(least significant bit; LSB)보다 최종 전류 합계에 더 많이 기여한다. 따라서 최종 아날로그 신호는 각 RBL의 정확한 중요성을 반영한다. 예를 들어, 4 비트 가중치 열의 경우, 제1(most) MSB로부터 최종 전압에 대한 기여도(또는 시간 길이)는 LSB로부터의 기여도의 8 (23)배가 될 것이다; 제2 MSB로부터의 기여도는 LSB로부터의 기여도의 4 (22)배일 것다; 그리고 제3 MSB(또는 제2 LSB)로부터의 기여도는 LSB로부터의 기여도의 2 (21)배가 될 것이다.
특정 추가 실시예에서, 연속 근사 레지스터("SAR") ADC 또는 시간 도메인 ADC와 같은 아날로그-디지털 변환기(ADC)가 일부 예에서 사용되어 최종 아날로그 신호를 다중 비트 디지털 출력으로 변환한다.
도 1 및 10을 참조하면, 일부 예시적인 실시예의 개요는 이들 실시예의 상세한 양상이 아래에서 추가로 설명되기 전에 제공된다. 인공 지능과 같은 특정 응용에서는 모델 시스템이 제안된다. 입력을 프로세싱하고 출력을 생성하는 입력(예를 들어, 숫자)의 세트가 모델 시스템에 제공된다. 출력은 원하는 출력과 비교되고, 출력이 원하는 출력에 충분히 가깝지 않으면, 모델 시스템이 조정되며, 모델 시스템의 출력이 원하는 출력에 충분히 가까워질 때까지 프로세스가 반복된다. 예를 들어, 판독할 수 있는 기계를 갖기 위해 모델 시스템에 문자의 조각 세트(a set of fragments of a letter)가 제공될 수 있다. 이 시스템은 조각(입력)을 취해 알고리즘에 따라 조각을 프로세싱하고 시스템이 수신한 것으로 판단한 문자를 출력한다. 출력 문자가 입력 문자와 다른 경우 출력이 입력과 충분히 높은 백분율의 횟수로 일치할 때까지 이 시스템이 조정되고 다시 테스트될 수 있다.
일부 응용의 경우 모델 시스템은 곱셈-누적 시스템일 수 있는데, 이 시스템은 각 입력을 때때로 "가중치"라고도 하는 값으로 곱하고 곱들을 합산(누적)하여 입력 세트를 프로세싱한다. 시스템은 행과 열로 배열된 요소의 2차원 어레이를 포함할 수 있으며, 각 요소는 가중치를 저장하고 입력을 수신하며 입력과 저장된 가중치의 산술 곱인 출력을 생성할 수 있다. 모델 시스템은 요소의 전체 행에 공급된 각 입력과, 함께 추가된 요소의 각 열의 출력을 가질 수 있다.
예를 들어, 도 10에 도시된 시스템(1000)은 각각 가중치를 저장하는 요소 또는 셀(1020)의 2차원 어레이(이 예에서는 3x3)(1010)를 가지고 있다. 각 셀(1020)은 입력 라인(WL)에 연결되고, 각 열의 셀은 동일한 출력 라인(BL)에 연결된다. 도 10에서, 각 셀은 BL에서 생성된 출력 전류(YA, YB, YC)와 저항 요소에 대한 입력 전압(X0, X1, X2) 사이의 관계가, 저항 요소가 도 1에 도시된 9T 전류 기반 SRAM 셀(120)로 대체될 경우, 출력 전류와 입력 펄스 사이의 관계와 유사하기 때문에, 저항기에 대한 심벌로 상징적으로 표현된다. 즉, 각 전류 Y j (j = 0, 1, 2)는 저항 요소(1020)의 경우 j번째 열의 입력 전압(X i )과 각자의 컨덕턴스(G ij ) 사이의 곱의 합, 또는 SRAM 요소(1020)의 경우 j번째 열의 숫자와 각자의 이진 가중치를 나타내는 입력 신호들 사이의 곱의 합이다.
도 1에 도시된 바와 같이, 각 셀(120)은 노드 Q를 가지며, 노드 Q는 셀에 저장된 값(가중치)을 나타내는 전압에서 SRAM 셀에 의해 유지된다. 각 셀에 대한 도 1의 도면에서 쉽게 이해할 수 있듯이, 입력(WL)에서의 이진수 "1"에 대해, 그리고 전류 조절 트랜지스터가 온인 경우, 셀(110)은 Q가 "1"인 경우 BL로부터 전류를 인출하고(draw) Q가 "0"인 경우 전류를 인출하지 않는다; WL에서 이진수 "0"에 대해, 셀(110)은 Q의 값에 관계없이 전류를 인출하지 않는다. 문턱값을 초과하는 주어진 기간 동안 인출된 전류량(즉, 인출된 특정 전하량)이 "1"의 출력으로 간주되면, 단일 셀(110)에 대한 출력은 다음 표에 의해 주어진다:
입력(WL) 가중치
Q
출력(BL)
0 0 0
0 1 0
1 0 0
1 1 1
이 표에서 출력이 입력과 가중치의 곱이라는 것이 명백하다. 또한, 동일한 열의 셀(110)이 동일한 BL을 공유하기 때문에 BL의 전류는 이 BL에 연결된 모든 셀(110)로의 전류의 합이다. 따라서 각 BL의 전류는 입력(WL)과 각자의 저장된 가중치의 이진 곱의 합을 나타낸다. 또한, 각 전류 조절 트랜지스터를 통과하는 전류는 전류 조절 제어 라인(CL(190))의 게이트 전압에 비례하므로, 각 BL의 총 전류는 해당 CL의 전압에 비례한다.
다시 도 1을 참조하면, 곱셈-누적 연산을 위해 다중 비트(이 예에서는 4 비트) 가중치를 사용하는 시스템에서, 각 입력(WL)이 다중(예를 들어, 4) 셀(110)에 제공되며, 다중 셀(110) 각각은 다중 비트 가중치의 하나의 비트를 저장한다. 각 BL은 동일한 자릿값(즉, 20, 21, 22, 23 등)을 갖는 셀(110)의 열에 연결된다. 이 예에서 각각 BL[0], BL[1], BL[2] 및 BL[3]에 해당하는 CL의 전압은 BL[0]에 해당하는 CL의 전압의 1, 2, 4 및 8배이다. 따라서 각 BL의 총 전류는 BL[0]의 총 전류에 대해 1, 2, 4 및 8(즉, 20, 21, 22, 23)배만큼 곱해진다. 따라서 각 BL[j]의 총 전류는 해당 BL에 대한 자릿값(2 j )에 비례한다. 따라서 각 BL[j]의 총 전류는 입력과 다중 비트 가중치의 j번째 디지트 간의 곱의 합에 BL의 자릿값을 곱한 값에 비례한다.
또한, 도 5를 추가로 참조하면, BL이 병렬로 연결되어 있기 때문에, 저항기(510)를 통과하는 총 전류는 다중 비트 가중치(W n 또는 W n +1)의 각 열에 대한 모든 BL의 전류 합계이다. 따라서 총 전류는 각자의 다중 비트 가중치를 곱한(가중화된) 모든 입력 신호의 합이라는 것이 분명하다.
마지막으로, 다중 비트 가중치(W n 또는 W n +1)의 각 열에 대한 모든 BL의 전류 합계는 옴의 법칙에 따라 도 5에 도시된 바와 같이 전압으로 변환되고 아래에서 자세히 설명되며, 변환된 신호는 아날로그-디지털 변환기(ADC)에 의해 디지털 출력으로 변환되어 입력과 셀(110)에 저장된 각자의 다중 비트 가중치 간의 곱의 합계에 해당하는 디지털 출력을 얻다. 도 7에 도시되고 아래에서 더 상세히 설명되는 예와 같은 일부 실시예에서, 다중 비트 가중치(W n 또는 W n +1)의 각 열에 대한 모든 BL의 전류 합계는 또한 시간 도메인 신호, 즉, 펄스 폭 또는 펄스 카운트로 변환될 수 있으며, 그런 다음, 시간 도메인 신호는 예를 들어, 카운터에 의해 디지털 신호로 변환될 수 있다.
또한, 도 1에서 보듯이, CIM 시스템(100)의 메모리 셀(120)은 각각 6T SRAM 셀을 가지고 있기 때문에, CIM 시스템(100) 자신은 데이터 라인을 위한 비트 라인(BL' 및 BLB')과 기록 라인을 위한 WL'을 사용하여 메모리 어레이로서 간단하게 사용될 수 있다. 대안으로, 비트 라인(BL' 및 BLB')은 메모리 셀(120)에 데이터를 기록(WL'에 의해 인에이블됨)하는 데 사용될 수 있으며, 비트 라인(BL)은 메모리 셀(120)로부터 데이터를 판독(WL에 의해 인에이블됨)하는 데 사용될 수 있다.
위에서 약술된 시스템 및 그 동작을 더 자세히 설명하기 위해, 도 1을 참조하면, 일부 실시예에서 컴퓨팅 디바이스(100)는 행과 열로 배열된 메모리 셀(120)의 2차원("2D") 어레이(110)를 포함한다. 각 메모리 셀(120)은 6T SRAM 셀(130), 제어형 전류 소스(150) 및 CIM 전류 스위칭 트랜지스터(WLC(160))를 포함한다. 2D 메모리 어레이(110)는 각 행에 대해 하나씩, CIM 워드 라인(WL(170))의 세트; 각 열에 대해 하나씩 CIM 비트 라인(BL(180))의 세트; 및 전류 조절 제어 라인(CL(190))의 세트를 더 포함한다.
이 경우 각 6T SRAM 셀(130)은, 높은 기준 전압(예를 들어, VDD)과 낮은 기준 전압(예를 들어, 접지) 사이에 직렬로 연결된(즉, 직렬로 연결된 소스-드레인 전류 경로를 가짐) p형 금속 산화물 반도체(MOS) 전계 효과 트랜지스터(PMOS)(142)와 n형 MOS 전계 효과 트랜지스터(NMOS)(144)로 제조된 제1 인버터(132); 높은 기준 전압(예를 들어, VDD)과 낮은 기준 전압(예를 들어, 접지) 사이에 직렬로 연결된 PMOS(146) 및 NMOS(148)로 제조된 제2 인버터(134); 및 이 예에서는 NMOS인 2개의 기록 액세스 트랜지스터(136, 138)를 포함한다. 인버터(132, 134)는 역결합되는데, 즉, 하나의 인버터의 출력(QB, Q)(즉, 소스/드레인 전류 경로들 사이의 접점)이 다른 하나의 인버터의 입력(즉, 게이트)(QB, Q)에 결합된다; 기록 액세스 트랜지스터(136, 138) 각각은 역결합된 인버터(132, 134)와 각자의 비트 라인(BL', BLB')의 각자의 접점과, 워드 라인(WL')에 연결된 게이트 사이에 연결된 소스/드레인 전류 경로를 갖는다.
이 예에서 각각의 제어형 전류 소스(150)는 서로 직렬 연결된 전류 스위치 트랜지스터(152) 및 전류 조절 트랜지스터(154)를 포함한다. 제어형 전류 소스(150)는 또한, CIM 전류 스위칭 트랜지스터(WLC(160))와 직렬 연결된다. 전류 스위칭 트랜지스터(152)의 게이트는 저장 노드(Q, QB) 중 하나(예를 들어, 반전 노드(QB))에 연결된다. 전류 조절 트랜지스터의 게이트는 조절된 전류 제어 라인(190)에 연결된다. CIM 전류 스위칭 트랜지스터(WLC(160))의 게이트는 CIM 기록 라인(WL(170))에 연결된다.
이 예에서 전류 스위치 트랜지스터(152), 전류 조절 트랜지스터(154) 및 CIM 전류 스위칭 트랜지스터(WLC(160))는 모두 NMOS이다. 아래 예에 보여진 바와 같이 다른 유형의 트랜지스터 및 연결이 사용될 수 있다. 예를 들어, PMOS가 사용될 수 있다; 전류 소스 스위칭 트랜지스터(152)의 게이트는 6T 메모리 셀(130)의 비반전 출력(Q)에 연결될 수 있다.
CIM 동작에서 다중 비트 가중치는 6T SRAM 셀에 기록되며, 이는 기존 방법으로 수행할 수 있으며 각 셀(130)은 "1" 또는 "0"을 저장한다. 입력의 가중화된 합계를 컴퓨팅하기 위해 전류 조절 트랜지스터(154)의 게이트는 전류 조절 제어 라인(CL(190))에 의해 바이어스된다. 위에서 설명한 바와 같이, 각 메모리 셀(120)로 인해 임의의 순간에 비트 라인(BL[j])으로 또는 그로부터의 셀 전류(I cell)는 WL 상의 입력 신호와 셀에 저장된 비트값의 곱이다. 셀 전류는 또한 CL(190)의 게이트 전압에 비례한다. 따라서 각 BL(180)의 총 전류는 해당 열에 저장된 각자의 가중치를 곱한 모든 입력 신호의 합계에 비례하고 해당 열에 대한 CL의 전압에 비례한다.
도 1에 도시된 예와 같은 일부 실시예에서, 다중 비트 가중치(이 예에서는 4 비트)가 각각 행(이 예에서는 4 비트 폭)에 저장된다. 이 예에서 비트는 최하위 비트(LSB)로부터 최상위 비트(MSB)까지 왼쪽에서 오른쪽으로 배열된다. 따라서 각 열은 왼쪽에서 오른쪽으로 1, 2, 4 및 8의 자릿값을 갖는다. 이에 상응하여, 대응하는 CL(190) 상의 바이어스 전압은 또한 왼쪽에서 오른쪽으로 1, 2, 4 및 8의 상대값을 갖는다. 그 결과 각 BL의 총 전류는 해당(j번째) 열에 대한 자릿값 2 j 에 비례한다.
위에 주어진 예는 전류 조절 트랜지스터(154)를 통과하는 전류가 게이트 전압에 비례한다고 가정하지만 이러한 비례 조건은 필요하지 않다; 다른 게이트 전압은 각 열에 대해 WL 상의 입력과 각자의 메모리 셀(120)에 저장된 가중치 간의 곱의 동일한 합계에 대해 원하는 BL 전류 비율을 달성하는 데 적절할 수 있다.
일부 실시예에서, CL 상의 게이트 전류는 제로 온도 계수 회로(zero-temperature-coefficient circuit; "ZTC") 또는 NMOS 또는 PMOS 전류 미러와 같은 정밀 전원(전류 소스 또는 전압 소스)으로부터 공급된다. 데이터가 임의의 셀로부터 판독되거나 임의의 셀에 기록되지 않는 경우와 같은 일부 실시예에서의 CIM 동작에서, 셀(130)이 데이터를 정확하게 유지하도록 보장하기 위해 VDD에 대한 더 낮은 전압(예를 들어, 2 볼트)이 허용 가능하다. 이 경우 SRAM은 전력을 절약하기 위해 전원이 낮추어지는(lowered) 유지 모드(retention mode)로 설정할 수 있다.
컴퓨팅 디바이스의 다른 구성도 가능하다. 예를 들어, 그렇지 않으면 도 1의 디바이스와 동일한, 도 2에 도시된 디바이스(200)와 같은 일부 실시예들에서, 각 셀(120)에 대한 전류 조절 트랜지스터(154)의 소스는 6T 셀(130)의 저장 노드(이 경우 Q)에 연결된다. 이 구성을 사용하면, BL 누설 전류가 감소된다.
그렇지 않으면 도 1의 디바이스와 동일한, 도 3에 도시된 디바이스(300)와 같은 일부 실시예에서, NMOS 트랜지스터(152, 154) 대신 PMOS 트랜지스터(352, 354)가 각 셀(120)의 전류 소스(150)에 사용된다.
그렇지 않으면 도 3의 디바이스와 동일한, 도 4에 도시된 디바이스(400)와 같은 일부 실시예들에서, 각 셀(120)에 대한 전류 조절 트랜지스터(354)의 드레인은 6T 셀(130)의 저장 노드(이 경우 Q)에 연결된다. 이 구성을 사용하면, BL 누설 전류가 감소된다.
도 5를 참조하면, 일부 실시예에서, 다중 비트 가중치(W n , W n +1 등)의 각 열에 대한 모든 BL(180)의 전류(I j )가 합산되어 저항기(510)를 통과하여 전압
Figure pat00001
을 생성하고, 여기서 R은 저항기(510)의 저항이다. 따라서, 위에서 설명한 대로 전류 합계와 전압은 입력의 합계에 각자의 다중 비트 가중치를 곱한 값에 비례한다. 그 다음, 전압은 ADC(550)의 입력 라인(520)에 인가되며, 입력의 가중화된 합계에 비례하는 디지털 출력(560)을 생성한다. 그 결과로서 인메모리 컴퓨팅이 달성된다.
일부 실시예에서, 다중 비트 가중치의 다중 열로부터의 전술된 출력 전압은 각자의 입력 라인(520, 530, 540)을 통해 동일한 ADC(550)에 공급될 수 있다. 특히, 일부 실시예에서, 도 6a에 도시된 예시적인 SAR ADC(600)와 같은 고속 연속 근사 레지스터("SAR") ADC가 사용될 수 있다. 전류 기반 CIM을 사용하면 N개의 ADC 동작(각 비트 라인에 대해 하나씩)과 달리 하나의 ADC 동작으로 변환이 수행되는 것을 가능하게 한다. 이러한 SAR ADC의 구조와 동작은 알려져 있으므로 여기서는 자세히 설명하지 않을 것이다. 간단히 말해서, 2의 거듭제곱의 커패시턴스 비를 갖는 커패시터(예를 들어, C, C/2, C/4, C/8, C/16, 및 5-비트 컨버터용 C/16의 "더미" 커패시터)는 공통 단부(620)에서 연결되고, 이 공통 단부(620)는 비교기(610)의 입력(반전)에 연결된다. 일부 실시예에서 비교기(610)의 다른 입력(비반전)은 접지에 연결된다. 커패시터의 다른 단부는 처음에 입력 전압(Vin)에 연결되고 이어서 접지(630)에 연결된다. 그 후 커패시터의 비공통 단부(non-common ends)은 접지로부터 기준 전압(V Ref)까지 가장 큰 커패시턴스로부터 가장 작은 커패시턴스까지 순차적으로 스위칭되고, 비교기의 출력은 공통 단부의 전압이 양인지 음인지에 따라 0 또는 1이다. V Ref에 방금 연결된 커패시터는 비교기의 출력에 따라 다시 접지에 연결되거나 V Ref에 연결된 상태로 유지된다. 이러한 단계로부터 비교기(620)의 출력은 V in의 디지털 근사치이며, MSB가 먼저 생성되고 LSB가 마지막에 생성된다.
N 비트 SAR ADC의 경우 일반적으로 샘플링 및 비트별 비교 단계를 거치는 데 N+1개의 클록 사이클이 필요하다. 따라서 예를 들어, 도 6a에 도시된 5 비트 SAR ADC의 경우, 아날로그 신호를 디지털 신호로 변환하는 데 6개의 클록 사이클이 필요하다.
전류 기반 SRAM을 사용하면 동일한 비트 열에 있는 모든 셀에 대해 그리고 다중 비트 가중치의 동일한 열의 모든 비트 열에 대해 전류 합산이 동시에 수행된다. 더욱이, 일부 실시예에서, 도 6b에 도시된 바와 같이, WL 상의 각 입력 숫자는 펄스 트레인(pulse train)으로 표현되고, 펄스의 수는 입력된 숫자에 비례한다. 예를 들어, 0 (00002)의 입력은 0개의 펄스를 생성하고, 310 (00112)의 입력은 3개의 RWL 펄스를 생성하며, 1510 (11112)의 입력은 15개의 RWL 펄스를 생성하는 식이다. 대안적으로, 펄스 폭이 입력된 숫자에 비례하는 단일 펄스가 사용될 수도 있다. 예를 들어, 1 (00012)의 입력은 1개의 단위 폭의 펄스를 생성하고, 310 (00112)의 입력은 3개의 단위 폭의 펄스를 생성하며, 1510 (11112)의 입력은 15개의 단위 폭의 펄스를 생성하는 식이다. 일부 실시예에서, CIM을 수행할 때, 입력 신호 샘플 주기가 전체 펄스 카운트 또는 펄스 폭을 포함하기에 충분하다면, 입력(520, 530, 540)의 신호는 다중 비트 입력 신호와 각자의 다중 비트 가중치 간의 곱의 합계에 비례한다. 이러한 CIM 동작에서, N-비트 입력의 경우, 위에서 설명된 대로 입력을 샘플링하는 데 N개의 클록 사이클이 필요하고 아날로그 CIM 출력을 디지털 출력으로 변환하기 위해 N+1개의 클록 사이클이 필요하다. 즉, CIM 동작을 완료하는 데 2N+1개의 클록 사이클이 걸린다. N-비트 입력에는 단일 ADC 동작(다중 클록 사이클(예를 들어, 5 비트 변환의 경우 11)을 포함함)이 필요하다. 반면, 기존의 다중 비트 CIM 동작에서는 N개의 ADC 동작(각 입력 비트에 대해 하나씩)이 필요하다. 따라서, 도 6b에 도시된 것과 같은 일부 실시예에 따른 전류 기반 CIM 회로 및 그 동작에 의해 더 적은 전력 소비 및 지연이 달성된다.
도 7에 도시된 예와 같은 일부 실시예에서, 그렇지 않으면 도 5에 도시된 것과 유사한 컴퓨팅 디바이스(700)의 다중 비트 가중치의 각 열에 대한 조합된 BL 전류는, 시간 도메인 ADC를 사용하여 디지털 신호로 변환될 수 있다. 일부 실시예에서 시간 도메인(ADC)은 도 7에 도시된 바와 같이 연결된 커패시턴스(C)의 커패시터(710) 및 비교기(750)를 포함한다. 조합된 BL 전류는 라인(720)을 통해 커패시터(710)에 공급된다. V Ref 및 커패시터(710)의 전압은 비교기(750)의 입력에 인가된다. 커패시터를 기준 전압(V Ref)까지 충전하는 데 걸리는 시간은 전류에 반비례하며, 그 시간은 예를 들어, 비교기(750)의 출력에 의해 연결되고 동작되는 카운터(도시되지 않음)에 의해 측정될 수 있다. 즉, 커패시터 전압이 V Ref에 도달하고 비교기(750)의 출력이 상태를 스위칭하고 카운터를 중지할 때까지 카운터가 실행된다. 따라서 카운트는 아날로그 입력의 디지털 표현이다.
위의 SAR ADC 예와 유사하게, N개의 ADC 동작(각 입력 비트에 대해 하나씩) 대신 N-비트 입력에 대해 단일 ADC 동작이 필요하다.
보다 일반적으로, 일부 실시예에서, 도 8에 요약된 바와 같이, 컴퓨팅을 위한 방법(800)은: 다중 디지트 숫자의 디지트의 세트를 각자의 메모리 요소의 세트에 저장하는 단계(810) - 디지트 각각은 값 및 자릿값을 가짐 - ; 각자의 메모리 요소에 저장된 디지트의 값에 따라 전류 소스들의 세트를 턴온하거나 턴오프하는 단계(820) - 전류 소스들 각각은 메모리 요소들 중 각자의 메모리 요소와 연관됨 - ; 각자의 메모리 요소에 저장된 디지트의 자릿값에 따라 전류 소스가 공급할 전류의 레벨을 설정하기 위해 제어 신호를 전류 소스들 각각에 인가하는 단계(830); 및 각자의 전류 소스에 의해 공급되는 전류가, 메모리 요소와 연관된 출력 라인으로 흐르는 것을 허용하기 위해, 입력 라인을 통해 입력 신호를 인가하여 스위치 디바이스들의 세트 - 스위치 디바이스들 각각은 메모리 요소들 중 각자의 메모리 요소와 연관됨 - 를 활성화하는 단계(840)를 포함한다.
상기 개시된 것 이외의 다른 변형이 사용될 수 있다. 예를 들어, SRAM 셀 이외의 다른 유형의 메모리 셀이 사용될 수 있다. 예를 들어, 6T SRAM 셀 대신 FeRAM, FeFET 및 FLASH와 같은 비휘발성 메모리(non-volatile memory; NVM) 셀이 사용될 수 있다.
본 명세서에 개시된 다양한 예는 기존 디바이스 및 방법에 비해 특정한 이점을 갖는다. 예를 들어, 도 9의 예시 시스템에 도시된 것처럼 메모리 요소는 기존 메모리뿐만 아니라 CIM 요소로서도 액세스될 수 있으므로 외부 DRAM과 같은 외부 메모리를 사용하는 것이 감소되거나 배제될(eliminated) 수 있다. 특정 실시예를 갖는 설계는 유연성을 제공한다. 예를 들어, SRAM 또는 NVM CI가 사용될 수 있다. SRAM은 고속 기록 및 고속 기록 내구성의 장점을 갖는다; NVM은 비휘발성, 작은 설치 공간, 낮은 누설 및 디바이스를 즉시 턴온할 수 있는 기능의 장점을 가지고 있다. SRAM 기반 인메모리 컴퓨팅은 에너지 소비를 줄일 수 있다. CIM에 대한 가중치의 즉석 갱신(on-the-fly updating), 즉, 옛 가중값에 기초해 출력을 컴퓨팅하는 것이 수행되면서 새로운 가중값을 메모리에 기록하는 것도 SRAM을 사용해 가능하다. 인공 신경망 응용에서는 MAC 동작의 반복이 종종 필요하며, 각 반복은 상이한 가중값 세트를 사용한다. 비휘발성 메모리 어레이의 상대적으로 느린 속도로 인해 가중값의 다중 세트를 저장하려면 다중 어레이가 필요하다. 대조적으로, 상기 개시된 특정 실시예에서의 SRAM 셀을 사용해, 이러한 메모리 셀의 빠른 속도로 인해, 단일 SRAM 어레이는 신경망 동작에서 가중값의 연속적인 세트를 사용해 다시 로딩될 수 있다.
일부 실시예에서, 도 9에 도시된 바와 같이, 집적 회로(900)와 같은 CIM 디바이스에 대한 CIM을 위한 가중값은 일부 실시예에서 온-칩 메모리(910) 일 수 있는 메모리 모듈로부터 갱신될 수 있다. 일부 실시예에서, 가중값은 압축된 형태로 저장되고, CIM을 위해 SRAM 어레이(930)에 공급되기 전에 압축 해제 모듈(920)에 의해 압축 해제될 수 있다. 압축 및 압축 해제 시스템과 방법은 잘 알려져 있다. 예를 들면, Song Han의 "딥 러닝을 위한 효율적인 방법 및 하드웨어(Efficient Methods And Hardware For Deep Learning)", 스탠퍼드 대학교, 박사 논문(2017년)이 참조되고(http://purl.stanford.edu/qf934gh3708에서 액세스 가능함), 그 내용은 참조에 의해 본 명세서에 포함된다.
전술된 설명은, 당업자가 본 개시의 양상을 더 잘 이해할 수 있도록 여러 실시예의 피처를 서술한다. 당업자는, 자신이 본 명세서에서 소개된 실시예의 동일한 목적을 수행하고 그리고/또는 동일한 이점을 달성하기 위한 다른 프로세스와 구조물을 설계 또는 수정하기 위한 기초로서 본 개시를 쉽게 이용할 수 있다는 것을 인식해야 한다. 또한, 당업자는 이러한 등가의 구성이 본 개시의 취지 및 범위를 벗어나지 않으며, 본 개시의 취지 및 범위를 벗어나지 않으면서 다양한 변화, 대체 및 변경을 이룰 수 있음을 알아야 한다.
실시예들
실시예 1. 컴퓨팅 디바이스에 있어서,
메모리 셀들의 행들 및 열들로 그룹화된 복수의 메모리 셀들을 포함하는 메모리 어레이 - 상기 메모리 셀들 각각은 데이터를 저장하도록 적응(adapt)된 메모리 유닛, 제1 스위칭 디바이스 및 전류 생성기 디바이스를 포함하는 전류 소스, 및 제2 스위칭 디바이스를 포함함 - ;
각각이 각자의 행 내의 상기 제2 스위칭 디바이스들에 연결되고 상기 행 내의 상기 제2 스위칭 디바이스로 입력 신호를 전송하도록 적응된 복수의 입력 라인들;
각각이 상기 메모리 유닛의 각자의 열과 연관된 복수의 출력 라인들; 및
각각이 전류 제어 라인을 통해 상기 메모리 셀들의 각자의 열 내의 상기 전류 생성기 디바이스들에 연결되고, 상기 메모리 셀들의 각자의 열 내의 상기 전류 생성기 디바이스들에 의해 생성되는 전류의 레벨을 설정하도록 적응된 복수의 전류 제어기들
을 포함하고,
상기 메모리 셀들의 열들 각각 내의 상기 제2 스위칭 디바이스는, 상기 입력 라인으로부터 수신된 상기 입력 신호에 따라 상기 메모리 셀 내의 상기 전류 소스를 상기 열과 연관된 출력 라인에 연결하거나 연결해제하도록 적응되고, 상기 메모리 셀들 각각 내의 상기 제1 스위칭 디바이스는, 상기 메모리 셀 내의 상기 메모리 유닛에 저장된 상기 데이터에 따라 상기 전류 생성기 디바이스로부터의 전류 흐름을 허용하거나 방지하도록 적응되는 것인, 컴퓨팅 디바이스.
실시예 2. 실시예 1에 있어서, 상기 복수의 전류 제어기들은, 상기 전류 생성기 디바이스들에 의해 생성되는 전류의 레벨들이 상기 메모리 셀들의 각각의 연속적인 열에서 2배(a factor of 2)만큼 증가되게 설정하도록 적응되는 것인, 컴퓨팅 디바이스.
실시예 3. 실시예 1에 있어서, 상기 메모리 셀들 각각에서, 상기 메모리 유닛은 저장 노드에 신호를 저장하도록 적응된 정적 랜덤 액세스 메모리(static random-access memory; SRAM) 셀을 포함하고, 상기 제1 스위칭 디바이스는 상기 저장 노드에 연결된 게이트를 갖는 제1 트랜지스터를 포함하고, 상기 전류 생성기 디바이스는 상기 메모리 셀이 있는 열과 연관된 전류 제어 라인에 연결된 게이트를 갖는 제2 트랜지스터를 포함하며, 상기 제2 스위칭 디바이스는 상기 메모리 셀이 있는 행과 연관된 입력 라인에 연결된 게이트를 갖는 제3 트랜지스터를 포함하는 것인, 컴퓨팅 디바이스.
실시예 4. 실시예 3에 있어서, 상기 SRAM 셀들 각각은 6-트랜지스터 SRAM 인 것인, 컴퓨팅 디바이스.
실시예 5. 실시예 3에 있어서, 상기 제1 트랜지스터 및 상기 제3 트랜지스터는, 상기 저장 노드에 저장된 신호와 상기 제3 트랜지스터의 게이트에서 수신된 입력 신호의 조합에 따라 상기 제2 트랜지스터에 의해 생성되는 전류가 상기 출력 라인으로 흐르는 것을 허용하거나 방지하도록 적응되는 것인, 컴퓨팅 디바이스.
실시예 6. 실시예 1에 있어서, 상기 메모리 유닛 각각은 가중값을 나타내는 신호를 저장하도록 적응되고, 각각의 입력 신호는 입력 숫자(input number)를 나타내며, 상기 제1 스위칭 디바이스, 상기 제2 스위칭 디바이스 및 상기 전류 소스는 상기 메모리 유닛에 저장된 상기 가중값과 상기 입력 신호에 의해 나타내어진 상기 입력 숫자의 곱을 나타내는 레벨을 갖는 전류를, 상기 메모리 셀과 연관된 출력 라인에 집합적으로(collectively) 공급하도록 적응되는 것인, 컴퓨팅 디바이스.
실시예 7. 실시예 6에 있어서, 각각의 메모리 셀에 대해, 상기 메모리 유닛은 서로 상보적인 이진값들을 나타내는 각자의 신호들을 저장하도록 적응된 2개의 저장 노드들을 갖는 SRAM 셀이고, 직렬 조합을 위한 상기 제1 트랜지스터, 상기 제2 트랜지스터 및 상기 제3 트랜지스터는 2개의 단부(end)들을 갖고, 상기 2개의 단부 중 하나는 상기 출력 라인에 연결되며, 상기 제1 트랜지스터의 게이트는 상기 저장 노드들 중 하나에 연결되는 것인, 컴퓨팅 디바이스.
실시예 8. 실시예 7에 있어서, 상기 직렬 조합의 다른 단부는 상기 저장 노드들 중 다른 하나에 연결되는 것인, 컴퓨팅 디바이스.
실시예 9. 실시예 1에 있어서, 아날로그-디지털 변환기(analog-to-digital converter; "ADC")를 더 포함하고, 상기 복수의 출력 라인들은 서로 연결되고 상기 복수의 출력 라인들의 조합된 전류를 나타내는 신호를 생성하도록 적응되며, 상기 ADC는 상기 신호를 수신하고 상기 신호를 디지털 신호로 변환하도록 적응되는 것인, 컴퓨팅 디바이스.
실시예 10. 실시예 9에 있어서, 상기 ADC는 연속 근사 레지스터(successive-approximation-register) ADC를 포함하는 것인, 컴퓨팅 디바이스.
실시예 11. 실시예 9에 있어서, 상기 ADC는 시간 도메인 ADC를 포함하는 것인, 컴퓨팅 디바이스.
실시예 12. 실시예 1에 있어서, 각각의 메모리 셀은, 데이터 입력/출력 라인, 및 상기 메모리 유닛이 상기 데이터 입력/출력 라인을 통해 데이터를 수신하는 것을 가능하게 하고 데이터가 상기 데이터 입력/출력 라인을 통해 상기 메모리 유닛으로부터 리트리브(retrieve)되는 것을 허용하도록 적응된 데이터 인에이블 라인을 더 포함하는 것인, 컴퓨팅 디바이스.
실시예 13. 컴퓨팅 디바이스에 있어서,
복수의 입력 라인들;
복수의 출력 라인들;
복수의 제어 신호 생성기들;
각각이 상기 복수의 제어 신호 생성기들 중 각자의 제어 신호 생성기에 연결된 복수의 전류 제어 라인들; 및
각각이 상기 복수의 입력 라인들 중 각자의 입력 라인과 연관된 행들, 및 각각이 상기 출력 라인들 및 상기 전류 제어 라인들 중 각자의 출력 라인 및 전류 제어 라인과 연관된 열들의 2차원 어레이로 논리적으로 배열된 복수의 메모리 셀들
을 포함하고, 상기 메모리 셀 각각은,
적어도 2개의 메모리 상태들을 갖는 메모리 유닛;
상기 메모리 상태를 나타내는 신호를 상기 메모리 유닛으로부터 수신하고 적어도 부분적으로 상기 메모리 상태에 따라 온(on) 또는 오프(off)되도록 적응된 제1 스위칭 트랜지스터;
상기 메모리 셀과 연관된 입력 라인으로부터 입력 신호를 수신하도록 적응되고 적어도 부분적으로 상기 입력 신호에 따라 온 또는 오프되도록 적응된 제2 스위칭 트랜지스터; 및
상기 메모리 셀과 연관된 제어 신호 생성기로부터의 제어 신호를 상기 메모리 셀과 연관된 전류 제어 라인을 통해 수신하고, 적어도 부분적으로 상기 제어 신호에 따른 레벨로 전류를 생성하도록 적응된 전류 조절 트랜지스터
- 상기 제1 스위칭 트랜지스터, 상기 제2 스위칭 트랜지스터 및 상기 전류 조절 트랜지스터는 상기 메모리 상태, 상기 입력 신호 및 상기 제어 신호의 조합에 의해 결정된 레벨의 전류를 상기 출력 라인에 패스(pass)하도록 연결됨 -
를 포함하는 것인, 컴퓨팅 디바이스.
실시예 14. 실시예 13에 있어서, 상기 메모리 상태들 각각은 수치 가중값(numerical weight value)에 대응하고, 상기 입력 신호는 수치 입력값에 대응하며, 상기 제1 스위칭 트랜지스터, 상기 제2 스위칭 트랜지스터 및 상기 전류 조절 트랜지스터는, 상기 메모리 상태에 대응하는 수치 가중값과 상기 입력 신호에 대응하는 수치 입력값의 곱에 비례하는 레벨의 전류를 상기 출력 라인에 패스하도록 연결되는 것인, 컴퓨팅 디바이스.
실시예 15. 실시예 14에 있어서, 상기 제1 스위칭 트랜지스터, 상기 제2 스위칭 트랜지스터 및 상기 전류 조절 트랜지스터는 2개의 단부들을 갖는 직렬 조합을 형성하도록 연결되고, 상기 2개의 단부들 중 하나는 상기 출력 라인에 연결되고, 상기 메모리 유닛은 저장 노드를 갖고, 상기 메모리 유닛은 상기 메모리 상태를 나타내는 신호를 저장하도록 적응되고, 상기 제1 스위칭 트랜지스터는 상기 저장 노드에 연결된 게이트를 갖고, 상기 제2 트랜지스터는 상기 입력 라인에 연결된 게이트를 가지며, 상기 전류 조절 트랜지스터는 상기 전류 제어 라인에 연결된 게이트를 갖는 것인, 컴퓨팅 디바이스.
실시예 16. 실시예 15에 있어서, 상기 복수의 전류 제어기들은, 상기 전류 조절 트랜지스터들에 의해 생성되는 전류의 레벨들이 상기 메모리 셀들의 각각의 연속적인 열에서 2배만큼 증가되게 설정하도록 적응되는 것인, 컴퓨팅 디바이스.
실시예 17. 실시예 16에 있어서, 입력을 갖는 ADC를 더 포함하고, 상기 복수의 출력 라인들은 상기 ADC의 입력에 연결된 공통 노드에서 함께 연결되는 것인, 컴퓨팅 디바이스.
실시예 18. 실시예 17에 있어서, 상기 공통 노드는 또한, 저항기 또는 커패시터에 연결되는 것인, 컴퓨팅 디바이스.
실시예 19. 컴퓨팅 방법에 있어서,
다중 디지트 숫자(multi-digit number)의 복수의 디지트들을 복수의 각자의 메모리 요소들에 저장하는 단계 - 상기 디지트들 각각은 값 및 자릿값(place value)을 가짐 - ;
각각이 상기 메모리 요소들 중 각자의 메모리 요소와 연관된 복수의 전류 소스들을 상기 각자의 메모리 요소에 저장된 상기 디지트의 값에 따라 턴온하거나 턴오프하는 단계;
상기 각자의 메모리 요소에 저장된 상기 디지트의 자릿값에 따라 상기 전류 소스가 공급할 전류의 레벨을 설정하기 위해 상기 전류 소스들 각각에 제어 신호를 인가하는 단계; 및
상기 메모리 요소와 연관된 출력 라인으로의 상기 각자의 전류 소스에 의해 공급되는 전류의 흐름을 허용하기 위해, 각각이 상기 메모리 요소들 중 각자의 메모리 요소와 연관된 복수의 스위치 디바이스들을 활성화하도록 입력 라인을 통해 입력 신호를 인가하는 단계
를 포함하는, 컴퓨팅 방법.
실시예 20. 실시예 19에 있어서, 상기 입력 신호를 인가하는 단계는, 펄스 카운트를 갖는 복수의 펄스들의 트레인(train), 또는 펄스 폭을 갖는 단일 펄스를 인가하는 단계, 및 상기 출력 라인에 공급되는 전류로부터 상기 펄스 카운트 또는 펄스 폭과 상기 저장된 다중 디지트 숫자의 곱에 비례하는 양(quantity)을 획득하는 단계를 포함하는 것인, 컴퓨팅 방법.

Claims (10)

  1. 컴퓨팅 디바이스에 있어서,
    메모리 셀들의 행들 및 열들로 그룹화된 복수의 메모리 셀들을 포함하는 메모리 어레이 - 상기 메모리 셀들 각각은 데이터를 저장하도록 적응(adapt)된 메모리 유닛, 제1 스위칭 디바이스 및 전류 생성기 디바이스를 포함하는 전류 소스, 및 제2 스위칭 디바이스를 포함함 - ;
    각각이 각자의 행 내의 상기 제2 스위칭 디바이스들에 연결되고 상기 행 내의 상기 제2 스위칭 디바이스로 입력 신호를 전송하도록 적응된 복수의 입력 라인들;
    각각이 상기 메모리 유닛의 각자의 열과 연관된 복수의 출력 라인들; 및
    각각이 전류 제어 라인을 통해 상기 메모리 셀들의 각자의 열 내의 상기 전류 생성기 디바이스들에 연결되고, 상기 메모리 셀들의 각자의 열 내의 상기 전류 생성기 디바이스들에 의해 생성되는 전류의 레벨을 설정하도록 적응된 복수의 전류 제어기들
    을 포함하고,
    상기 메모리 셀들의 열들 각각 내의 상기 제2 스위칭 디바이스는, 상기 입력 라인으로부터 수신된 상기 입력 신호에 따라 상기 메모리 셀 내의 상기 전류 소스를 상기 열과 연관된 출력 라인에 연결하거나 연결해제하도록 적응되고, 상기 메모리 셀들 각각 내의 상기 제1 스위칭 디바이스는, 상기 메모리 셀 내의 상기 메모리 유닛에 저장된 상기 데이터에 따라 상기 전류 생성기 디바이스로부터의 전류 흐름을 허용하거나 방지하도록 적응되는 것인, 컴퓨팅 디바이스.
  2. 제1항에 있어서, 상기 복수의 전류 제어기들은, 상기 전류 생성기 디바이스들에 의해 생성되는 전류의 레벨들이 상기 메모리 셀들의 각각의 연속적인 열에서 2배(a factor of 2)만큼 증가되게 설정하도록 적응되는 것인, 컴퓨팅 디바이스.
  3. 제1항에 있어서, 상기 메모리 셀들 각각에서, 상기 메모리 유닛은 저장 노드에 신호를 저장하도록 적응된 정적 랜덤 액세스 메모리(static random-access memory; SRAM) 셀을 포함하고, 상기 제1 스위칭 디바이스는 상기 저장 노드에 연결된 게이트를 갖는 제1 트랜지스터를 포함하고, 상기 전류 생성기 디바이스는 상기 메모리 셀이 있는 열과 연관된 전류 제어 라인에 연결된 게이트를 갖는 제2 트랜지스터를 포함하며, 상기 제2 스위칭 디바이스는 상기 메모리 셀이 있는 행과 연관된 입력 라인에 연결된 게이트를 갖는 제3 트랜지스터를 포함하는 것인, 컴퓨팅 디바이스.
  4. 제3항에 있어서, 상기 SRAM 셀들 각각은 6-트랜지스터 SRAM 인 것인, 컴퓨팅 디바이스.
  5. 제3항에 있어서, 상기 제1 트랜지스터 및 상기 제3 트랜지스터는, 상기 저장 노드에 저장된 신호와 상기 제3 트랜지스터의 게이트에서 수신된 입력 신호의 조합에 따라 상기 제2 트랜지스터에 의해 생성되는 전류가 상기 출력 라인으로 흐르는 것을 허용하거나 방지하도록 적응되는 것인, 컴퓨팅 디바이스.
  6. 제1항에 있어서, 상기 메모리 유닛 각각은 가중값을 나타내는 신호를 저장하도록 적응되고, 각각의 입력 신호는 입력 숫자(input number)를 나타내며, 상기 제1 스위칭 디바이스, 상기 제2 스위칭 디바이스 및 상기 전류 소스는 상기 메모리 유닛에 저장된 상기 가중값과 상기 입력 신호에 의해 나타내어진 상기 입력 숫자의 곱을 나타내는 레벨을 갖는 전류를, 상기 메모리 셀과 연관된 출력 라인에 집합적으로(collectively) 공급하도록 적응되는 것인, 컴퓨팅 디바이스.
  7. 제1항에 있어서, 아날로그-디지털 변환기(analog-to-digital converter; "ADC")를 더 포함하고, 상기 복수의 출력 라인들은 서로 연결되고 상기 복수의 출력 라인들의 조합된 전류를 나타내는 신호를 생성하도록 적응되며, 상기 ADC는 상기 신호를 수신하고 상기 신호를 디지털 신호로 변환하도록 적응되는 것인, 컴퓨팅 디바이스.
  8. 제1항에 있어서, 각각의 메모리 셀은, 데이터 입력/출력 라인, 및 상기 메모리 유닛이 상기 데이터 입력/출력 라인을 통해 데이터를 수신하는 것을 가능하게 하고 데이터가 상기 데이터 입력/출력 라인을 통해 상기 메모리 유닛으로부터 리트리브(retrieve)되는 것을 허용하도록 적응된 데이터 인에이블 라인을 더 포함하는 것인, 컴퓨팅 디바이스.
  9. 컴퓨팅 디바이스에 있어서,
    복수의 입력 라인들;
    복수의 출력 라인들;
    복수의 제어 신호 생성기들;
    각각이 상기 복수의 제어 신호 생성기들 중 각자의 제어 신호 생성기에 연결된 복수의 전류 제어 라인들; 및
    각각이 상기 복수의 입력 라인들 중 각자의 입력 라인과 연관된 행들, 및 각각이 상기 출력 라인들 및 상기 전류 제어 라인들 중 각자의 출력 라인 및 전류 제어 라인과 연관된 열들의 2차원 어레이로 논리적으로 배열된 복수의 메모리 셀들
    을 포함하고, 상기 메모리 셀 각각은,
    적어도 2개의 메모리 상태들을 갖는 메모리 유닛;
    상기 메모리 상태를 나타내는 신호를 상기 메모리 유닛으로부터 수신하고 적어도 부분적으로 상기 메모리 상태에 따라 온(on) 또는 오프(off)되도록 적응된 제1 스위칭 트랜지스터;
    상기 메모리 셀과 연관된 입력 라인으로부터 입력 신호를 수신하도록 적응되고 적어도 부분적으로 상기 입력 신호에 따라 온 또는 오프되도록 적응된 제2 스위칭 트랜지스터; 및
    상기 메모리 셀과 연관된 제어 신호 생성기로부터의 제어 신호를 상기 메모리 셀과 연관된 전류 제어 라인을 통해 수신하고, 적어도 부분적으로 상기 제어 신호에 따른 레벨로 전류를 생성하도록 적응된 전류 조절 트랜지스터
    - 상기 제1 스위칭 트랜지스터, 상기 제2 스위칭 트랜지스터 및 상기 전류 조절 트랜지스터는 상기 메모리 상태, 상기 입력 신호 및 상기 제어 신호의 조합에 의해 결정된 레벨의 전류를 상기 출력 라인에 패스(pass)하도록 연결됨 -
    를 포함하는 것인, 컴퓨팅 디바이스.
  10. 컴퓨팅 방법에 있어서,
    다중 디지트 숫자(multi-digit number)의 복수의 디지트들을 복수의 각자의 메모리 요소들에 저장하는 단계 - 상기 디지트들 각각은 값 및 자릿값(place value)을 가짐 - ;
    각각이 상기 메모리 요소들 중 각자의 메모리 요소와 연관된 복수의 전류 소스들을 상기 각자의 메모리 요소에 저장된 상기 디지트의 값에 따라 턴온하거나 턴오프하는 단계;
    상기 각자의 메모리 요소에 저장된 상기 디지트의 자릿값에 따라 상기 전류 소스가 공급할 전류의 레벨을 설정하기 위해 상기 전류 소스들 각각에 제어 신호를 인가하는 단계; 및
    상기 메모리 요소와 연관된 출력 라인으로의 상기 각자의 전류 소스에 의해 공급되는 전류의 흐름을 허용하기 위해, 각각이 상기 메모리 요소들 중 각자의 메모리 요소와 연관된 복수의 스위치 디바이스들을 활성화하도록 입력 라인을 통해 입력 신호를 인가하는 단계
    를 포함하는, 컴퓨팅 방법.
KR1020210037301A 2021-01-22 2021-03-23 인메모리 컴퓨팅 및 하이브리드 계산/저장 메모리 아키텍처를 위한 sram 기반 셀 KR102470924B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/155,362 2021-01-22
US17/155,362 US11693560B2 (en) 2021-01-22 2021-01-22 SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture

Publications (2)

Publication Number Publication Date
KR20220106641A true KR20220106641A (ko) 2022-07-29
KR102470924B1 KR102470924B1 (ko) 2022-11-25

Family

ID=82320635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210037301A KR102470924B1 (ko) 2021-01-22 2021-03-23 인메모리 컴퓨팅 및 하이브리드 계산/저장 메모리 아키텍처를 위한 sram 기반 셀

Country Status (5)

Country Link
US (2) US11693560B2 (ko)
KR (1) KR102470924B1 (ko)
CN (1) CN114822638A (ko)
DE (1) DE102021101727A1 (ko)
TW (1) TWI803889B (ko)

Families Citing this family (1)

* 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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190221250A1 (en) * 2017-10-17 2019-07-18 R&D 3 Llc Memory device having variable impedance memory cells and time-to-transition sensing of data stored therein
US20200202202A1 (en) * 2018-12-21 2020-06-25 Imec Vzw Synapse circuit with memory

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4010995B2 (ja) * 2003-07-31 2007-11-21 Necエレクトロニクス株式会社 半導体メモリ及びそのリファレンス電位発生方法
US8885400B2 (en) * 2013-02-21 2014-11-11 Sandisk 3D Llc Compensation scheme for non-volatile memory
US9467638B2 (en) * 2013-08-13 2016-10-11 The Hong Kong University Of Science And Technology Sensory array with non-correlated double sampling random access-reset pixel and multi-channel readout
TWI655442B (zh) 2014-05-02 2019-04-01 日商半導體能源研究所股份有限公司 輸入/輸出裝置
CN110352596B (zh) 2017-03-24 2023-04-25 株式会社半导体能源研究所 半导体装置、显示系统及电子设备
TWI705391B (zh) * 2018-05-29 2020-09-21 英屬開曼群島商意騰科技股份有限公司 適用於人工神經元的記憶體內運算記憶體裝置及記憶體內運算記憶體區塊
KR102599662B1 (ko) * 2018-07-27 2023-11-07 삼성전자주식회사 주어진 동작 환경에 적합한 쓰기 전류에 기초하여 동작하는 메모리 장치 및 쓰기 전류를 구동하는 방법
US10642922B2 (en) * 2018-09-28 2020-05-05 Intel Corporation Binary, ternary and bit serial compute-in-memory circuits
US11507642B2 (en) 2019-05-02 2022-11-22 Silicon Storage Technology, Inc. Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network
US11449741B2 (en) 2019-07-19 2022-09-20 Silicon Storage Technology, Inc. Testing circuitry and methods for analog neural memory in artificial neural network
US11322195B2 (en) * 2019-11-27 2022-05-03 Taiwan Semiconductor Manufacturing Company, Ltd. Compute in memory system
US11430491B2 (en) * 2020-04-30 2022-08-30 Taiwan Semiconductor Manufacturing Company, Ltd. Device and method for reading data in memory
US11170852B1 (en) * 2020-06-24 2021-11-09 Sandisk Technologies Llc Cross-bar arrays having steering element with diode
CN112181895B (zh) 2020-09-02 2023-06-06 上海交通大学 可重构架构、加速器、电路部署和计算数据流方法
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190221250A1 (en) * 2017-10-17 2019-07-18 R&D 3 Llc Memory device having variable impedance memory cells and time-to-transition sensing of data stored therein
US20200202202A1 (en) * 2018-12-21 2020-06-25 Imec Vzw Synapse circuit with memory

Also Published As

Publication number Publication date
TW202230115A (zh) 2022-08-01
US20220236869A1 (en) 2022-07-28
US11693560B2 (en) 2023-07-04
CN114822638A (zh) 2022-07-29
US20230297235A1 (en) 2023-09-21
KR102470924B1 (ko) 2022-11-25
TWI803889B (zh) 2023-06-01
DE102021101727A1 (de) 2022-07-28

Similar Documents

Publication Publication Date Title
Jiang et al. C3SRAM: An in-memory-computing SRAM macro based on robust capacitive coupling computing mechanism
CN112951294B (zh) 计算设备以及计算方法
US11948659B2 (en) Sub-cell, mac array and bit-width reconfigurable mixed-signal in-memory computing module
Kang et al. Energy-efficient and high throughput sparse distributed memory architecture
KR102497616B1 (ko) 메모리 내 데이터 판독을 위한 디바이스 및 방법
CN113467751B (zh) 一种基于磁性随机存储器的模拟域存内计算阵列结构
Mu et al. SRAM-based in-memory computing macro featuring voltage-mode accumulator and row-by-row ADC for processing neural networks
US20230297235A1 (en) Sram-based cell for in-memory computing and hybrid computations/storage memory architecture
Ha et al. A 36.2 dB high SNR and PVT/leakage-robust eDRAM computing-in-memory macro with segmented BL and reference cell array
Sharma et al. A reconfigurable 16Kb AND8T SRAM macro with improved linearity for multibit compute-in memory of artificial intelligence edge devices
Cheon et al. A 2941-TOPS/W charge-domain 10T SRAM compute-in-memory for ternary neural network
US20240086708A1 (en) Sram architecture for convolutional neural network application
US20220108742A1 (en) Differential charge sharing for compute-in-memory (cim) cell
Saragada et al. In-memory computation with improved linearity using adaptive sparsity-based compact thermometric code
Lim et al. AA-ResNet: Energy efficient all-analog ResNet accelerator
Zang et al. 282-to-607 TOPS/W, 7T-SRAM Based CiM with Reconfigurable Column SAR ADC for Neural Network Processing
US20220262426A1 (en) Memory System Capable of Performing a Bit Partitioning Process and an Internal Computation Process
CN113160860B (zh) 计算系统、计算器件和计算方法
Saragada et al. An in-memory architecture for machine learning classifier using logistic regression
CN117636945B (zh) 5bit带符号位的同或与同或累加运算电路、CIM电路
US11809838B2 (en) Memory device and operation method thereof
US11621040B2 (en) System and method applied with computing-in-memory
Song et al. A 4-bit Calibration-Free Computing-In-Memory Macro With 3T1C Current-Programed Dynamic-Cascode Multi-Level-Cell eDRAM
ZHU et al. Area-efficient Binarized Neural Network Inference Accelerator Based on Time-multiplexed XNOR Multiplier Using Loadless 4T SRAM
Yadav et al. A MACHINE LEARNING AND NEURAL NETWORK BASED STATIC RAM DESIGN ON 65-NM CMOS

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant