KR20230168038A - 전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법 - Google Patents

전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법 Download PDF

Info

Publication number
KR20230168038A
KR20230168038A KR1020220068464A KR20220068464A KR20230168038A KR 20230168038 A KR20230168038 A KR 20230168038A KR 1020220068464 A KR1020220068464 A KR 1020220068464A KR 20220068464 A KR20220068464 A KR 20220068464A KR 20230168038 A KR20230168038 A KR 20230168038A
Authority
KR
South Korea
Prior art keywords
line
local
bit line
transistor
local computing
Prior art date
Application number
KR1020220068464A
Other languages
English (en)
Inventor
박종선
이경호
김현준
Original Assignee
삼성전자주식회사
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 고려대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020220068464A priority Critical patent/KR20230168038A/ko
Priority to CN202310159975.8A priority patent/CN117174138A/zh
Priority to US18/180,623 priority patent/US20230395132A1/en
Priority to TW112113525A priority patent/TW202349393A/zh
Publication of KR20230168038A publication Critical patent/KR20230168038A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • 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
    • 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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • 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
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control 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/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
    • 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
    • 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/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Optimization (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (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)
  • Semiconductor Memories (AREA)

Abstract

본 개시의 SRAM 셀은 제 1 워드 라인에 게이트 전극이 연결되고, 일단이 로컬 비트 라인에 연결되는 제 1 패스 게이트 트랜지스터, 출력단이 제 1 패스 게이트 트랜지스터의 타단에 연결되는 제 1 인버터, 입력단이 제 1 패스 게이트 트랜지스터의 타단에 연결되는 제 2 인버터, 제 2 워드 라인에 게이트 전극이 연결되고, 일단이 제 1 인버터의 출력단 및 제 2 인버터의 입력단에 연결되고, 타단이 상보 로컬 비트 라인에 연결되는 제 2 패스 게이트 트랜지스터, 제 2 패스 게이트 트랜지스터의 일단에 게이트 전극이 연결되고, 일단이 로컬 컴퓨팅 라인에 연결되는 제 1 트랜지스터, 그리고 제 3 워드 라인에 게이트 전극이 연결되고, 일단이 로컬 컴퓨팅 라인에 연결되고, 타단이 접지 전극에 연결되는 제 2 트랜지스터를 포함한다.

Description

전하 공유에 기반하여 멀티 비트 데이터에 대해 MAC 연산을 수행하도록 구성되는 SRAM 셀 및 그 동작 방법{SRAM CELL CONFIGURED TO PERFORM MULTIPLY-ACCUMULATE (MAC) OPERATION ON MULTI-BIT DATA BASED ON CHARGE SHARING AND METHOD OF OPERATING THE SAME}
본 개시는 메모리 장치에 관한 것으로, 좀 더 상세하게는, 멀티 비트 데이터와 가중치에 대해 MAC 연산을 수행하는 SRAM 셀에 관한 것이다.
일반적으로 메모리와 연산기가 물리적으로 분리되어 있는 폰 노이만 구조를 갖는 장치에서는, 데이터가 저장되는 장소와 연산이 수행되는 장소가 다르기 때문에, 데이터를 이동시키기 위해 많은 에너지(즉, 전력)가 요구된다. 이에, 데이터의 이동에 따른 에너지 소모를 줄이기 위해, 컴퓨팅-인-메모리 구조를 갖는 장치에 대한 많은 연구가 있어 왔다.
이러한 연구에 따라, 전류에 기반하여 MAC 연산을 수행하는 장치, 커패시터와 같은 별도의 저장 소자를 이용하여 MAC 연산을 수행하는 장치 등이 개발되었다. 그러나, 전류에 기반하여 MAC 연산을 수행하는 장치는 낮은 선형적 특성(즉, non-linear)을 가지며, 커패시터와 같은 별도의 저장 소자를 이용하여 MAC 연산을 수행하는 장치는 커패시터의 충전 및 방전을 통해 곱셈 연산을 수행하므로, 비용, 면적에 있어서 문제가 있고, 멀티-비트 연산이 어려울 뿐만 아니라, 낮은 정확도도 문제된다.
따라서, 높은 정확도 및 좋은 선형적 특성을 갖고, 멀티-비트 연산을 수행할 수 있는 장치를 개발하는 것이 중요한 문제로 부각되고 있다.
본 개시의 기술 사상은 전하 공유에 기반하여 MAC 연산을 수행하도록 구성되는 SRAM 셀을 제공한다.
본 개시의 기술 사상은 커패시터와 같은 별도의 저장 소자 없이 MAC 연산을 수행하도록 구성되는 SRAM 셀을 제공한다.
본 개시의 실시 예에 따른 SRAM 셀은 제 1 워드 라인에 게이트 전극이 연결되고, 일단이 로컬 비트 라인에 연결되는 제 1 패스 게이트 트랜지스터, 출력단이 상기 제 1 패스 게이트 트랜지스터의 타단에 연결되는 제 1 인버터, 입력단이 상기 제 1 패스 게이트 트랜지스터의 상기 타단에 연결되는 제 2 인버터, 제 2 워드 라인에 게이트 전극이 연결되고, 일단이 상기 제 1 인버터의 출력단 및 상기 제 2 인버터의 입력단에 연결되고, 타단이 상보 로컬 비트 라인에 연결되는 제 2 패스 게이트 트랜지스터, 상기 제 2 패스 게이트 트랜지스터의 상기 일단에 게이트 전극이 연결되고, 일단이 로컬 컴퓨팅 라인에 연결되는 제 1 트랜지스터, 그리고 제 3 워드 라인에 게이트 전극이 연결되고, 일단이 상기 로컬 컴퓨팅 라인에 연결되고, 타단이 접지 전극에 연결되는 제 2 트랜지스터를 포함할 수 있다.
본 개시의 실시 예에 따른 메모리 장치는 크로스-연결된 인버터들, 입력 데이터의 LSB에 응답하여 상기 크로스-연결된 인버터들의 제 1 노드에 저장된 가중치를 로컬 비트 라인에 전달하는 제 1 패스 게이트 트랜지스터, 상기 크로스-연결된 인버터들의 제 2 노드에 저장된 상보 가중치를 상보 로컬 비트 라인에 전달하는 제 2 패스 게이트 트랜지스터, 상기 상보 가중치에 응답하여 로컬 컴퓨팅 라인에 저장된 전하들을 접지 컴퓨팅 라인으로 출력하는 제 1 트랜지스터, 상기 입력 데이터의 MSB에 응답하여 상기 로컬 컴퓨팅 라인에 저장된 전하들을 디스차지하는 제 2 트랜지스터, 그리고 상기 상보 로컬 비트 라인의 전압에 응답하여 상기 접지 컴퓨팅 라인으로 출력된 전하들을 디스차지하고, 상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인을 전기적으로 연결하는 리드아웃 회로를 포함할 수 있다.
본 개시의 다른 실시 예에 따른 메모리 장치는 제 1 노드에 제 1 가중치를 저장하고, 제 2 노드에 제 1 상보 가중치를 저장하되, 제 1 입력 데이터의 LSB에 응답하여 상기 제 1 가중치를 제 1 로컬 비트 라인으로 출력하는 제 1 패스 게이트 트랜지스터, 상기 제 2 상보 가중치에 응답하여 제 1 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 1 트랜지스터, 및 상기 제 1 입력 데이터의 MSB에 응답하여 상기 제 1 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 2 트랜지스터를 포함하는 제 1 SRAM 셀, 상기 제 1 로컬 컴퓨팅 라인 및 상기 제 1 로컬 비트 라인을 글로벌 비트 라인에 전기적으로 연결하는 제 1 리드아웃 회로, 제 3 노드에 제 2 가중치를 저장하고, 제 4 노드에 제 2 상보 가중치를 저장하되, 제 2 입력 데이터의 LSB에 응답하여 상기 제 2 가중치를 제 2 로컬 비트 라인으로 출력하는 제 3 패스 게이트 트랜지스터, 상기 제 2 상보 가중치에 응답하여 제 2 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 3 트랜지스터, 및 상기 제 2 입력 데이터의 MSB에 응답하여 상기 제 2 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 4 트랜지스터를 포함하는 제 2 SRAM 셀, 그리고 상기 제 2 로컬 컴퓨팅 라인 및 상기 제 2 로컬 비트 라인을 상기 글로벌 비트 라인에 전기적으로 연결하는 제 2 리드아웃 회로를 포함할 수 있다.
본 개시에 의하면, 전하 공유에 기반하여 멀티-비트 데이터에 대한 MAC 연산을 수행하도록 구성되는 SRAM 셀을 제공할 수 있다.
본 개시에 의하면, 커패시터와 같은 별도의 저장 소자 없이 MAC 연산을 수행하도록 구성되는 SRAM 셀을 제공할 수 있다.
본 개시에 의하면, 전하 공유에 기반하여 멀티-비트 데이터에 대한 MAC 연산을 수행하기 때문에 좋은 선형성이 획득될 수 있다.
도 1은 본 개시의 실시 예에 따른 메모리 장치의 예시적인 구성을 도시한다.
도 2는 본 개시의 실시 예에 따른 SRAM 셀의 회로도이다.
도 3A는 도 2의 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인에서의 전하 공유를 개념적으로 도시한다.
도 4는 본 개시의 실시 예에 따른 SRAM 셀과 리드아웃 회로의 회로도이다.
도 5A 및 도 5B는 도 4의 회로도의 동작 파형들을 도시한다.
도 6A 및 도 6B는 도 4의 회로도의 동작 파형들을 도시한다.
도 7A 및 도 7B는 도 4의 회로도의 동작 파형들을 도시한다.
도 8A 및 도 8B는 도 4의 회로도의 동작 파형들을 도시한다.
도 9는 본 개시의 실시 예에 따른 메모리 장치의 예시적인 구성을 도시한다.
도 10은 도 9의 로컬 어레이의 예시적인 구성을 도시한다.
도 11은 도 9의 메모리 장치를 이용하여 MAC 연산을 수행하는 것을 개념적으로 도시한다.
도 12는 도 11의 메모리 장치를 이용한 MAC 연산 수행 결과를 합산하는 것을 개념적으로 도시한다.
도 13은 메모리 장치의 하나의 글로벌 비트 라인에 연결된 로컬 어레이들 및 프리차지 회로와 관련된 회로도를 예시적으로 도시한다.
도 14는 글로벌 비트 라인에 축적된 MAC 연산의 결과를 처리하는 것을 개념적으로 도시한다.
도 15는 본 개시의 실시 예에 따른 MAC 연산을 수행하는 방법을 나타내는 흐름도이다.
도 16은 본 개시의 실시 예에 따른 SRAM 셀을 포함하는 메모리 장치가 적용된 시스템을 도시한 도면이다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
상세한 설명에서 사용되는 부 또는 유닛(unit), 모듈(module), 블록(block), ~기(~or, ~er) 등의 용어들을 참조하여 설명되는 구성 요소들 및 도면에 도시된 기능 블록들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 애플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈 (microelectromechanical system; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
도 1은 본 개시의 실시 예에 따른 메모리 장치(100)의 예시적인 구성을 도시한다. 메모리 장치(100)는 메모리 셀 어레이(110), 제어 로직 회로(120), 로우 디코더(130), 컬럼 디코더(140), 프리차지 회로(150), 및 프로세싱 회로(160)를 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 행들과 열들을 따라 배치되는 메모리 셀들을 포함할 수 있다. 예를 들어, 메모리 셀은 SRAM(Static Random Access Memory)일 수 있으나, 이에 한정되지 않는다. 메모리 셀 어레이(110)를 구성하는 메모리 셀들은 워드 라인들(WLs) 및 글로벌 비트 라인들(GBLs)에 연결될 수 있다. 좀 더 구체적으로, 각 메모리 셀은 로컬 컴퓨팅 라인(LCL) 및 로컬 비트 라인(LBL)을 통하여 글로벌 비트 라인(GBL)에 연결될 수 있다. 각 메모리 셀은 워드 라인(WL)을 통하여 입력되는 적어도 하나의 비트(예컨대, 가중치)를 저장할 수 있다. 각 메모리 셀은 다른 워드 라인들(WL)을 통하여 입력 데이터의 MSB(Most Significant Bit)의 반전 값 및 LSB(Least Significant Bit)를 수신할 수 있다.
본 개시의 실시 예에 따른 메모리 셀은 MSB와 LSB로 구성된 멀티-비트의 입력 데이터와 가중치에 대해 곱연산을 수행할 수 있다. MSB와 가중치의 곱 연산의 결과는 로컬 컴퓨팅 라인(LCL)으로 출력될 수 있으며, LSB와 가중치의 곱 연산의 결과는 로컬 비트 라인(LBL)으로 출력될 수 있다. MSB와 가중치의 곱 연산의 결과(좀 더 자세하게는, 곱 연산의 결과에 대응하는 전하들)는 로컬 컴퓨팅 라인(LCL)과 메모리 셀을 구성하는 트랜지터들 중 적어도 하나의 트랜지스터 간의 접합에 의한 정션 커패시턴스(junction capacitance) 성분을 갖는 로컬 컴퓨팅 라인(LCL)에 저장될 수 있다. 그리고, LSB와 가중치의 곱 연산의 결과(좀 더 자세하게는, 곱 연산의 결과에 대응하는 전하들)는 로컬 비트 라인과 메모리 셀을 구성하는 트랜지스터들 중 적어도 하나의 트랜지스터 간의 접합에 의한 정션 커패시턴스 성분을 갖는 로컬 비트 라인(LBL)에 저장될 수 있다.
이후 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)이 전기적으로 연결됨으로써, 전하 공유(charge sharing)가 일어날 수 있으며, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)에 저장된 총 전하는 MSB 및 LSB로 구성된 멀티-비트의 입력 데이터와 가중치의 곱연산의 결과에 대응할 수 있다. 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)에 저장된 전하들을 글로벌 비트 라인(GBL)을 통하여 출력될 수 있다.
제어 로직 회로(120)는 커맨드(CMD), 어드레스(ADDR), 및 제어 신호(CTRL)를 수신할 수 있다. 제어 로직 회로(120)는 커맨드(CMD), 어드레스(ADDR), 및 제어 신호(CTRL) 중 적어도 하나에 기반하여 로우 어드레스 및 컬럼 어드레스를 생성할 수 있다. 제어 로직 회로(120)는 로우 어드레스를 로우 디코더(130)로 전송할 수 있으며, 컬럼 어드레스를 컬럼 디코더(140)로 전송할 수 있다. 그 외, 제어 로직 회로(120)는 프리차지 회로(150) 및 프로세싱 회로(160)를 제어할 수 있다.
로우 디코더(130)는 워드 라인들(WLs)을 통하여 메모리 셀 어레이(110)에 연결될 수 있다. 로우 디코더(130)는 제어 로직 회로(120)로부터 수신된 로우 어드레스를 디코딩하여 워드 라인(WL)을 선택하고 구동할 수 있다.
컬럼 디코더(140)는 제어 로직 회로(120)로부터 수신된 컬럼 어드레스를 디코딩하여, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)에 의해 공유된 전하들을 출력하기 위해 글로벌 비트 라인(GBL)을 선택할 수 있다.
프리차지 회로(150)는 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)을 미리 정해진 전압 레벨로 프리차지 하거나, 접지 전압으로 디스차지할 수 있다.
프로세싱 회로(160)는 컬럼 디코더(140)에 의해 선택된 행의 메모리 셀들 중에서 로우 디코더(130)에 의해 선택되고 구동되는 메모리 셀에 대해 읽기 동작 또는 쓰기 동작을 수행할 수 있다. 프로세싱 회로(160)는 선택된 메모리 셀에 프로그램될 데이터를 수신할 수 있다. 예를 들어, 프로세싱 회로(160)는 쓰기 동작을 수행하기 위한 쓰기 드라이버를 포함할 수 있다.
프로세싱 회로(160)는 메모리 셀 어레이(110)에 대한 읽기 동작을 수행할 수 있다. 읽기 동작 시, 프로세싱 회로(160)는 컬럼 디코더(140)에 의해 선택된 글로벌 비트 라인(GBL)의 전압 레벨을 감지하고, 감지된 전압 레벨(즉, 아날로그 신호)을 디지털 신호로 변환할 수 있다. 예를 들어, 변환된 디지털 신호는 2비트의 데이터(즉, MSB 및 LSB로 구성된 입력 데이터와 가중치에 대해 곱연산의 결과)를 포함할 수 있다. 그리고, 프로세싱 회로(160)는 변환된 디지털 신호에 대하여 쉬프트 애딩(shift adding)을 수행할 수 있으며, 쉬프트 애딩에 의해 온전한 형태의 읽기 데이터(DATA)가 출력될 수 있다.
프로세싱 회로(160)는 메모리 셀 어레이(110)에 대한 쓰기 동작을 수행할 수 있다. 쓰기 동작 시, 프로세싱 회로(160)는 외부로부터 수신된 데이터(DATA)를 로우 디코더(130) 및 컬럼 디코더(140)에 의해 선택된 메모리 셀에 기록할 수 있다. 예를 들어, 이를 위해 프로세싱 회로(160)는 쓰기 드라이버를 포함할 수 있다.
상술된 본 개시의 SRAM 셀은 전하 공유를 이용하여 멀티 비트 데이터와 가중치의 곱연산을 수행할 수 있으며, 특히, 커패시터와 같은 별도의 저장 소자 없이 곱연산 결과를 SRAM 셀의 내부에 저장할 수 있다. 그 결과, 데이터에 대한 연산을 수행하는 프로세서와 데이터가 저장되는 메모리 장치 사이의 데이터 이동을 생략할 수 있으므로, 데이터 이동에 필요한 에너지(즉, 전력)를 크게 줄일 수 있다. 뿐만 아니라, 커패시터와 같은 별도의 저장 소자가 요구되지 않으므로, SRAM 셀의 집적도를 향상시킬 수 있으며, 전하 공유 방식을 이용하기 때문에, MAC 연산 결과의 선형성이 확보될 수 있다.
도 2는 본 개시의 실시 예에 따른 SRAM 셀의 회로도이다.
SRAM 셀은 제 1 트랜지스터(T1), 제 2 트랜지스터(T2), 제 1 패스 게이트 트랜지스터(PG1), 제 2 패스 게이트 트랜지스터(PG2), 및 인버터들(INV1, INV2)을 구성하는 2개의 PMOS 트랜지스터들(즉, 풀-업 트랜지스터들) 및 2개의 NMOS 트랜지스터들(즉, 풀-다운 트랜지스터들)을 포함할 수 있다. 즉, 본 개시의 SRAM 셀은 8T SRAM 셀일 수 있다. 도 2에 도시된 크로스-연결된(cross-coupled) 인버터들(INV1, INV2)의 구체적인 구성은 잘 알려져 있으므로, 상세한 구성의 도시는 생략한다.
제 1 패스 게이트 트랜지스터(PG1)의 게이트 전극은 워드 라인(WLW)에 연결될 수 있으며, 일단은 로컬 비트 라인(LBL)에 연결될 수 있으며(즉, 노드 N1), 타단은 제 1 인버터(INV1)의 출력단 및 제 2 인버터(INV2)의 입력단(즉, 노드 N2)에 연결될 수 있다. 제 2 패스 게이트 트랜지스터(PG2)의 게이트 전극은 워드 라인(WLWb)에 연결될 수 있으며, 일단은 상보 로컬 비트 라인(LBL_b)에 연결될 수 있으며(즉, 노드 N4), 타단은 제 1 인버터(INV1)의 입력단 및 제 2 인버터(INV2)의 출력단(즉, 노드 N3)에 연결될 수 있다. 제 1 트랜지스터(T1)의 게이트 전극은 노드(N3)에 연결될 수 있으며, 일단은 로컬 컴퓨팅 라인(LCL)에 연결될 수 있으며, 타단은 접지 컴퓨팅 라인(CSS)에 연결될 수 있다. 제 2 트랜지스터(T2)의 게이트 전극은 워드 라인(WLc)에 연결될 수 있으며, 일단은 로컬 컴퓨팅 라인(LCL)에 연결될 수 있으며, 타단은 접지 전극에 연결될 수 있다.
실시 예에 있어서, 로컬 비트 라인(LBL)은 제 1 패스 게이트 트랜지스터(PG1)와의 접합에 의한 정션 커패시턴스(junction capacitance) 성분을 가질 수 있다. 따라서, 로컬 비트 라인(LBL)은 제 1 패스 게이트 트랜지스터(PG1)의 턴-온 시 노드(N2)에 저장된 값(즉, 전하들)을 저장할 수 있다. 그리고, 로컬 컴퓨팅 라인(LCL)은 제 1 트랜지스터(T1) 및 제 2 트랜지스터(T2)와의 접합에 의한 정션 커패시턴스 성분을 가질 수 있다. 따라서, 트랜지스터들(T1, T2)이 턴-온 되지 않는 경우, 로컬 컴퓨팅 라인(LCL)은 노드(N5)에 저장된 값(즉, 전하들)을 저장할 수 있다.
실시 예에 있어서, 로컬 컴퓨팅 라인(LCL)과 트랜지스터들(T1, T2)의 접합에 의한 정션 커패시턴스는, 로컬 비트 라인(LBL)과 트랜지스터(PG1)의 접합에 의한 정션 커패시턴스의 2배일 수 있다. 로컬 컴퓨팅 라인(LCL)의 정션 커패시턴스가 로컬 비트 라인(LBL)의 정션 커패시턴스의 2배가 되도록 하기 위해, SRAM 셀의 제조 공정에서, 트랜지스터들의 크기, 로컬 비트 라인(LBL)과 로컬 컴퓨팅 라인(LCL)의 길이 폭, 두께 등이 고려될 수 있다.
실시 예에 있어서, 본 개시의 SRAM 셀을 이용한 멀티-비트 MAC 연산(multiply-accumulate operation)을 수행하기에 앞서, SRAM 셀에 가중치(W)를 저장하기 위한 프로그램 동작이 수행될 수 있다. 도 1 및 도 2를 참조하면, 컬럼 디코더(140)에 의해 글로벌 비트 라인(GBL)이 선택되고, 로우 디코더(130)에 의해 워드 라인들(WLWb, WLw)이 선택되고, 패스 게이트 트랜지스터들(PG1, PG2)을 턴-온 시키기 위한 전압 값들이 워드 라인들(WLWb, WLw)로 각각 입력 된다. 그리고, 노드(N2)에 비트 '1'을 저장하기 위해, 선택된 글로벌 비트 라인(GBL)과 연결된 로컬 비트 라인(LBL)으로 '1'이 입력될 수 있으며, 선택된 상보 글로벌 비트 라인(GBL_b)과 연결된 상보 로컬 비트 라인(LBL_b)으로 비트 '0'이 입력될 수 있다. 반대로, 그리고, 노드(N2)에 비트 '0'을 저장하기 위해, 선택된 글로벌 비트 라인(GBL)과 연결된 로컬 비트 라인(LBL)으로 '0'이 입력될 수 있으며, 선택된 상보 글로벌 비트 라인(GBL_b)과 연결된 상보 로컬 비트 라인(LBL_b)으로 비트 '0'이 입력될 수 있다.
실시 예에 있어서, 본 개시의 SRAM 셀을 이용한 멀티-비트 MAC 연산을 수행하기 위해, 워드 라인들(WLc, WLw)로 멀티-비트의 입력 데이터의 MSB의 반전 값(즉, inv[X1])과 멀티-비트의 입력 데이터의 LSB(즉, [X0])가 각각 입력될 수 있다. 예를 들어, 메모리 셀 어레이(110) 또는 로우 디코더(130)는 멀티-비트의 입력 데이터의 MSB를 반전시키기 위한 인버터를 포함할 수 있다.
노드(N5)의 논리 값은 로컬 컴퓨팅 라인(LCL)의 전압의 초기 값과 멀티-비트의 입력 데이터의 MSB의 반전 값(inv[X1])에 의존할 수 있다. 이에 더하여, 노드(N5)의 논리 값은 로컬 컴퓨팅 라인(LCL)의 전압의 초기 값과 노드(N3)의 논리 값(즉, 상보 가중치(W_b))에 의존할 수 있다. 트랜지스터(T1) 또는 트랜지스터(T2)의 턴-온에 의한 로컬 컴퓨팅 라인(LCL)의 디스차지 여부 및 로컬 컴퓨팅 라인(LCL)의 전압의 초기 값이 로컬 컴퓨팅 라인(LCL)의 전압을 결정하기 때문이다. 다시 말해, 로컬 컴퓨팅 라인(LCL)에 저장된 전하들에 대응하는 전압 값은 멀티-비트의 입력 데이터의 MSB와 가중치(W)의 곱 연산 결과를 나타낼 수 있다. 실시 예에 있어서, 로컬 컴퓨팅 라인(LCL)에서의 곱 연산을 수행하기에 앞서, 로컬 컴퓨팅 라인(LCL)은 프리차지 회로(150)에 의해 프리차지 될 수 있다.
그리고, 노드(N1)의 논리 값은 노드(N2)의 논리 값(즉, 가중치(W))와 멀티-비트의 입력 데이터의 LSB(즉, [X0])에 의존할 수 있다. 다시 말해, 로컬 비트 라인(LBL)에 저장된 전하들에 대응하는 전압 값은 멀티-비트의 입력 데이터의 LSB와 가중치의 곱 연산 결과를 나타낼 수 있다. 실시 예에 있어서, 로컬 비트 라인(LBL)에서의 곱 연산을 수행하기에 앞서, 로컬 비트 라인(LBL)은 프리차지 회로(150)에 의해 디스차지 될 수 있다.
상술된 내용들을 종합하면, SRAM 셀에서 수행되는 2비트의 입력 데이터와 가중치 간의 곱 연산은 아래의 수학식 1과 같이 표현될 수 있다. 여기서 iAct[1:0]은 2비트의 입력 데이터를 나타내고, iAct[1]은 2비트의 입력 데이터의 MSB를 나타내고, iAct[0]은 2비트의 입력 데이터의 LSB를 나타내고, W[n]은 가중치를 나타낸다.
수학식 1에서, 는 로컬 컴퓨팅 라인(LCL)에서 수행되는 MSB 곱 연산을 나타내며, 는 로컬 비트 라인(LBL)에서 수행되는 LSB 곱 연산을 나타낸다. 그리고, 에 곱해지는 '2'는, 로컬 컴퓨팅 라인(LCL)과 트랜지스터들(T1, T2)의 접합에 의한 정션 커패시턴스가, 로컬 비트 라인(LBL)과 트랜지스터(PG1)의 접합에 의한 정션 커패시턴스의 2배인 것을 나타낼 수 있다. 예를 들어, 입력 데이터 '01'와 가중치 '1'의 곱 연산은 과 같이 계산될 수 있다.
로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)에서의 곱 연산들이 수행된 후, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)이 전기적으로 연결되고, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생한다. 전하 공유에 의해, 멀티-비트의 입력 데이터의 MSB와 가중치의 곱 연산 결과와 멀티-비트의 입력 데이터의 LSB와 가중치의 곱 연산 결과의 합이 도출될 수 있다. 이에 대해서는 상세하게 후술될 것이다.
도 3A는 도 2의 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)에서의 전하 공유를 개념적으로 도시한다.
도 3A를 참조하면, 로컬 컴퓨팅 라인(LCL)에는 전하가 없어 로컬 컴퓨팅 라인(LCL)의 전압 값이 '0'(즉, VSS)인 것으로 도시되었으며, 로컬 비트 라인(LBL)은 전하가 꽉 차 있어 로컬 비트 라인(LBL)의 전압 값은 '1'(즉, VDD)인 것으로 도시되었다. 스위치(SW)가 스위칭-온 됨으로써, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생한다. 앞서 도 2에서 가정한 바와 같이, 로컬 컴퓨팅 라인(LCL)의 정전 용량이 로컬 비트 라인(LBL)의 정전 용량의 2배인 경우, 전하 공유 후의 전압 값은 1/3ⅹVDD가 되며, 이는 비트 '01'에 대응할 수 있다.
한편, 비록 도면에는 도시되지 않았지만, 로컬 컴퓨팅 라인(LCL)의 전압 값이 '0'(즉, VSS)이고, 로컬 비트 라인(LBL)의 전압 값도 '0'(즉, VSS)인 경우, 전하 공유 후의 전압 값은 '0'일 수 있다. 이는 비트 '00'에 대응할 수 있다. 로컬 컴퓨팅 라인(LCL)의 전압 값이 '1'(즉, VDD)이고, 로컬 비트 라인(LBL)의 전압 값이 '0'(즉, VSS)인 경우, 전하 공유 후의 전압 값은 '2/3ⅹVDD'일 수 있다. 이는 비트 '10'에 대응할 수 있다. 그리고, 로컬 컴퓨팅 라인(LCL)의 전압 값이 '1'(즉, VDD)이고, 로컬 비트 라인(LBL)의 전압 값도 '1'(즉, VDD)인 경우, 전하 공유 후의 전압 값은 'VDD'일 수 있다. 이는 비트 '11'에 대응할 수 있다.
도 3B는 도 2의 SRAM 셀에 의해 수행되는 멀티-비트 MAC 연산을 개략적으로 나타내는 표이다.
입력 데이터(iAct[1:0])는 2비트로 구성될 수 있으며, 입력 데이터의 MSB의 반전 값(즉, inv[X1])은 워드 라인(WLc)으로 입력될 수 있으며, 입력 데이터의 LSB(즉, [X0])는 워드 라인(WLw)으로 입력될 수 있다. 가중치(W)는 1비트로 구성될 수 있으며, 앞서 도 2를 통하여 설명한 것과 같이, MAC 연산 전에 미리 SRAM 셀에 저장될 수 있다.
케이스 1은 가중치(W)가 '0'인 경우, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산과 로컬 비트 라인(LBL)에서의 곱 연산과 관련된 값들 및 전압들을 도시한다.
로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산을 보면, 노드(N3)에 저장된 값(즉, '1')으로 인하여 트랜지스터(T1)가 턴-온 되기 때문에, 정션 커패시턴스 성분을 갖는 로컬 컴퓨팅 라인(LCL)에 저장된 전하들은 접지 컴퓨팅 라인(CSS)을 통하여 접지될 수 있다(즉, VSS). 또는, 입력 데이터의 MSB가 '0'인 경우, 입력 데이터의 MSB의 반전 값(즉, inv[X1])으로 인하여 트랜지스터(T2)는 턴-온 되고, 로컬 컴퓨팅 라인(LCL)에 저장된 전하들은 트랜지스터(T2)를 통하여 접지될 수 있다(즉, VSS).
로컬 비트 라인(LBL)에서의 LSB 곱 연산을 보면, 입력 데이터의 LSB(즉, [X0])의 값에 관계 없이 로컬 비트 라인(LBL)의 전압 값은 VSS일 수 있다. 로컬 비트 라인(LBL)의 초기값은 프리차지 회로(도 1, 150)에 의한 디스차지에 의해 '0'이며, 제 1 패스 게이트 트랜지스터(PG1)가 워드 라인(WLw)으로 입력되는 LSB에 의해 턴-온 되더라도, 노드(N2)에 저장된 '0'이 로컬 비트 라인(LBL)으로 출력되기 때문이다.
이후, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생되면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 값은 VSS일 수 있다.
케이스 2는 가중치(W)가 '1'이고 입력 데이터가 '00'인 경우, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산과 로컬 비트 라인(LBL)에서의 곱 연산과 관련된 값들 및 전압들을 도시한다.
로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산을 보면, 입력 데이터의 MSB의 반전 값(즉, inv[X1])인 '1'이 워드 라인(WLc)을 통하여 트랜지스터(T2)로 입력되므로, 트랜지스터(T2)가 턴-온 된다. 따라서, 로컬 컴퓨팅 라인(LCL)은 VSS로 디스차지 된다. 로컬 비트 라인(LBL)에서의 LSB 곱 연산을 보면, 입력 데이터의 LSB '0'이 워드 라인(WLw)을 통하여 제 1 패스 게이트 트랜지스터(PG1)로 입력되므로, 제 1 패스 게이트 트랜지스터(PG1)는 턴-오프 된다. 따라서, 로컬 비트 라인(LBL)은 초기값인 VSS를 유지한다. 이후, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생되면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 값은 VSS가 될 수 있다.
케이스 3은 가중치(W)가 '1'이고 입력 데이터가 '01'인 경우, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산과 로컬 비트 라인(LBL)에서의 곱 연산과 관련된 값들 및 전압들을 도시한다.
로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산을 보면, 입력 데이터의 MSB의 반전 값(즉, inv[X1])인 '1'이 워드 라인(WLc)을 통하여 트랜지스터(T2)로 입력되므로, 트랜지스터(T2)가 턴-온 된다. 따라서, 로컬 컴퓨팅 라인(LCL)은 VSS로 디스차지 된다. 로컬 비트 라인(LBL)에서의 LSB 곱 연산을 보면, 입력 데이터의 LSB '1'이 워드 라인(WLw)을 통하여 제 1 패스 게이트 트랜지스터(PG1)로 입력되므로, 제 1 패스 게이트 트랜지스터(PG1)는 턴-온 된다. 따라서, 노드(N2)에 저장된 '1'이 로컬 비트 라인(LBL)으로 출력되어, 로컬 비트 라인(LBL)의 전압은 VDD가 된다. 이후, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생되면, 로컬 컴퓨팅 라인(LCL)의 정전 용량은 로컬 비트 라인(LBL)의 2배이기 때문에, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압은 1/3ⅹVDD가 될 수 있다.
케이스 4는 가중치(W)가 '1'이고 입력 데이터가 '10'인 경우, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산과 로컬 비트 라인(LBL)에서의 곱 연산과 관련된 값들 및 전압들을 도시한다.
로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산을 보면, 입력 데이터의 MSB의 반전 값(즉, inv[X1])인 '0'이 워드 라인(WLc)을 통하여 트랜지스터(T2)로 입력되므로, 트랜지스터(T2)는 턴-오프 된다. 그리고, 노드(N3)에 저장된 상보 가중치(W_b)에 의해 트랜지스터(T1)도 턴-오프 된다. 따라서, 로컬 컴퓨팅 라인(LCL)은 초기값인 VDD를 유지할 수 있다. 로컬 비트 라인(LBL)에서의 LSB 곱 연산을 보면, 입력 데이터의 LSB '0'이 워드 라인(WLw)을 통하여 제 1 패스 게이트 트랜지스터(PG1)로 입력되므로, 제 1 패스 게이트 트랜지스터(PG1)는 턴-오프 된다. 따라서, 로컬 비트 라인(LBL)은 초기값인 VSS를 유지한다. 이후, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생되면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압은 2/3ⅹVDD가 될 수 있다.
케이스 5는 가중치(W)가 '1'이고 입력 데이터가 '11'인 경우, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산과 로컬 비트 라인(LBL)에서의 곱 연산과 관련된 값들 및 전압들을 도시한다.
로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산을 보면, 입력 데이터의 MSB의 반전 값(즉, inv[X1])인 '0'이 워드 라인(WLc)을 통하여 트랜지스터(T2)로 입력되므로, 트랜지스터(T2)는 턴-오프 된다. 그리고, 노드(N3)에 저장된 상보 가중치(W_b)에 의해 트랜지스터(T1)도 턴-오프 된다. 따라서, 로컬 컴퓨팅 라인(LCL)은 초기값인 VDD를 유지할 수 있다. 로컬 비트 라인(LBL)에서의 LSB 곱 연산을 보면, 입력 데이터의 LSB '1'이 워드 라인(WLw)을 통하여 제 1 패스 게이트 트랜지스터(PG1)로 입력되므로, 제 1 패스 게이트 트랜지스터(PG1)는 턴-온 된다. 따라서, 노드(N2)에 저장된 '1'이 로컬 비트 라인(LBL)으로 출력되어, 로컬 비트 라인(LBL)의 전압은 VDD가 된다. 이후, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생되면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압은 VDD가 될 수 있다.
도 4는 본 개시의 실시 예에 따른 SRAM 셀과 리드아웃 회로의 회로도이다. 도 4의 SRAM은 도 2의 SRAM 셀과 동일할 수 있으며, 리드아웃 회로는 SRAM 셀에서 수행되는 MAC 연산 결과를 출력할 수 있다.
리드아웃 회로는 트랜지스터들(T3, T4) 및 스위치들(SW1, SW2, SW3)을 포함할 수 있다. 트랜지스터(T3)는 노드(N3)의 전압에 응답하여 동작할 수 있으며, 일단은 접지 컴퓨팅 라인(CSS)에 연결될 수 있다. 트랜지스터(T4)는 전압(CSSE)에 응답하여 동작할 수 있으며, 일단은 트랜지스터(T3)의 타단에 연결될 수 있으며, 타단은 접지전극에 연결될 수 있다.
스위치(SW1)는 신호(eLOP)에 응답하여 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)을 전기적으로 연결한다. 그 결과, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생하며, MSB와 가중치의 곱 연산의 결과와 LSB와 가중치의 곱 연산의 결과가 더해질 수 있다.
스위치(SW2)는 신호(eLBL)에 응답하여, 전하 공유의 결과(즉, MSB와 가중치의 곱 연산의 결과와 LSB와 가중치의 곱 연산의 결과의 합)를 글로벌 비트 라인(GBL)으로 출력할 수 있다.
스위치(SW3)은 신호(eLBL_b)에 응답하여 상보 로컬 컴퓨팅 라인(LCL_b)과 상보 글로벌 비트 라인(GBL_b)을 전기적으로 연결할 수 있으며, 노드(N3)에 저장된 상보 가중치(W_b)를 상보 글로벌 비트 라인(GBL_b)으로 출력할 수 있다.
예를 들어, 스위치들(SW1, SW2, SW3)의 각각은 적어도 하나의 PMOS 트랜지스터 및/또는 적어도 하나의 NMOS 트랜지스터로 구성될 수 있다. 예를 들어, 스위치들(SW1, SW2, SW3)을 제어하는 신호들(eLOP, eLBL, eLBL_b)은 제어 로직 회로(도 1, 120) 및/또는 로우 디코더(도 1, 130)에 의해 생성될 수 있다. 그리고, 도면에는 스위치들(SW1, SW2)은 리드아웃 회로의 구성인 것으로 도시되었으나, SRAM 셀의 구성인 것으로 여겨질 수도 있다.
도 5A 및 도 5B는 도 4의 회로도의 동작 파형들을 도시한다. 구체적으로, 도 5A는 입력 데이터가 '00'이고 가중치가 '1'인 경우의 파형을 나타내며, 도 5B는 입력 데이터가 '00'이고 가중치가 '0'인 경우의 파형을 나타낸다.
도 1, 도 4 및 도 5A를 참조하면, t0~t3 동안, SRAM 셀의 초기화가 수행될 수 있으며, t3~t5 동안 곱연산들이 수행될 수 있으며, t5이후 전하 공유에 의해 곱연산들의 합이 수행될 수 있다.
우선, 로컬 컴퓨팅 라인(LCL), 로컬 비트 라인(LBL), 및 상보 로컬 비트 라인(LBL_b)의 초기화를 위해, t0~t1 동안, 신호들(eLOP, eLBL_b)이 활성화되어 스위치들(SW1, SW3)이 스위칭-온 될 수 있다. 그리고 t0~t3 동안, 신호(eLBL)가 활성화되어 스위치(SW2)가 스위칭-온 될 수 있다.
t1~t3 동안, 프리차지 회로(150)에 의해 로컬 컴퓨팅 라인(LCL)은 프리차지될 수 있으며, 프리차지 회로(150)에 의해 로컬 비트 라인(LBL)은 디스차지될 수 있다. 그 결과, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산을 위한 초기값(즉, '1')이 로컬 컴퓨팅 라인(LCL)에 저장될 수 있으며, 로컬 비트 라인(LBL)에서의 LSB 곱 연산을 위한 초기값(즉, '0')이 로컬 비트 라인(LBL)에 저장될 수 있다.
t2~t3 동안, 워드 라인(WLWb)으로 '1'이 입력됨으로써, 제 2 패스 게이트 트랜지스터(PG2)가 턴-온 되어, 노드(N3)에 저장된 상보 가중치(W_b, 즉, '0')가 상보 로컬 비트 라인(LBL_b)으로 출력될 수 있다. 그 결과, 상보 가중치(W_b, 즉, '0')에 의해 제 3 트랜지스터(T3)이 턴-오프 될 수 있다.
t3~t4 동안, 워드 라인(WLc)을 통하여 입력 데이터의 MSB의 반전 값(즉, inv[X1]='1')이 제 2 트랜지스터(T2)로 입력됨으로써, 트랜지스터(T2)는 턴-온 될 수 있다. 그 결과, 로컬 컴퓨팅 라인(LCL)은 디스차지되어 로컬 컴퓨팅 라인(LCL)전압은 '1'에서 '0'으로 천이할 수 있다. 앞서 도 2 및 도 3B를 통하여 설명한 것과 같이, t3~t4 동안 수행된 MSB 곱 연산의 결과는 로컬 컴퓨팅 라인(LCL)에 저장될 수 있으며, LSB 곱 연산의 결과는 로컬 비트 라인(LBL)에 저장될 수 있다.
t4~t5 동안, 신호(eLOP)가 활성화되어 스위치(SW1)가 스위칭-온 되며, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 발생한다. 로컬 컴퓨팅 라인(LCL)과 트랜지스터들(T1, T2) 간의 접합에 의한 정션 커패시턴스는, 로컬 비트 라인(LBL)과 제 1 패스 게이트 트랜지스터(PG1) 간의 접합에 의한 정션 커패시턴스의 2배이기 때문에, 공유된 전하들의 양은, MSB와 가중치의 곱 연산의 결과와, LSB와 가중치의 곱 연산의 결과의 합으로 간주될 수 있다.
이후, t5 이후의 구간에서, 신호(eLBL)가 활성화되어, 공유된 전하들이 글로벌 비트 라인(GBL)으로 출력될 수 있다.
도 1, 도 4 및 도 5B를 참조하면, 상보 로컬 비트 라인(LBL_b)의 파형을 제외한 다른 파형들은 도 5A와 동일하므로, 이들에 대한 상세한 설명은 생략한다.
그러므로, 도 5A와 차이점이 있는 로컬 비트 라인(LBL_b)의 파형을 보면, 노드(N3)에 저장된 상보 가중치(W_b)는 '1'이기 때문에, 상보 로컬 비트 라인(LBL_b)의 전압은 t0 이후의 전 구간에 걸쳐 '1'을 유지할 수 있다. 그 결과, t2~t3 동안, 워드 라인(WLWb)으로 입력된 신호에 의해 제 2 패스 게이트 트랜지스터(PG2)가 턴-온 되고, 신호(CSSE)가 활성화 되어 트랜지스터(T4)가 턴-온 되면, 로컬 컴퓨팅 라인(LCL)은 t3부터 디스차지 된다. 그 결과, 로컬 컴퓨팅 라인(LCL)의 전압은 '1'에서 '0'으로 천이할 수 있다.
도 6A 및 도 6B는 도 4의 회로도의 동작 파형들을 도시한다. 구체적으로, 도 6A는 입력 데이터가 '01'이고 가중치가 '1'인 경우의 파형을 나타내며, 도 6B는 입력 데이터가 '01'이고 가중치가 '0'인 경우의 파형을 나타낸다.
우선, 도 6A를 참조하면, 입력 데이터의 MSB는 '0'이고 가중치(W)는 '1'이므로, 로컬 컴퓨팅 라인(LCL)에서의 MSB 곱 연산은 도 5A에서 설명한 것과 동일하다, 그러므로, 이에 대한 상세한 설명은 생략한다.
t3~t4 동안, 입력 데이터의 LSB(즉, X[0])인 '1'이 워드 라인(WLw)을 통하여 제 1 패스 게이트 트랜지스터(PG1)로 입력될 수 있다. 그 결과, 노드(N2)에 저장된 가중치(W)인 '1'이 로컬 비트 라인(LBL)으로 출력되어, 로컬 비트 라인(LBL)의 전압 레벨은 '1'이 될 수 있다.
이후, t4에서 신호(eLOP)가 활성화되어 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)이 전기적으로 연결되면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 레벨은 '1/3'이 될 수 있다.
도 6B를 참조하면, 노드(N3)에 저장된 상보 가중치(W_b)는 '1'이기 때문에, 상보 로컬 비트 라인(LBL_b)의 전압은 t0 이후의 전 구간에 걸쳐 '1'을 유지할 수 있다. 그 결과, t2~t3 동안, 제 2 패스 게이트 트랜지스터(PG2) 및 트랜지스터(T4)가 턴-온 되면, 로컬 컴퓨팅 라인(LCL)은 t3부터 디스차지 되므로, 로컬 컴퓨팅 라인(LCL)전압은 '1'에서 '0'으로 천이할 수 있다.
t3~t4 동안, 입력 데이터의 LSB(즉, X[0])인 '1'이 워드 라인(WLw)을 통하여 제 1 패스 게이트 트랜지스터(PG1)로 입력될 수 있다. 그 결과, 노드(N2)에 저장된 가중치(W)인 '0'이 로컬 비트 라인(LBL)으로 출력되어, 로컬 비트 라인(LBL)의 전압 레벨은 '0'이 될 수 있다. 따라서, t4에서 신호(eLOP)가 활성화되어 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 일어나도, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 값은 '0'을 유지할 것이다.
도 7A 및 도 7B는 도 4의 회로도의 동작 파형들을 도시한다. 구체적으로, 도 7A는 입력 데이터가 '10'이고 가중치가 '1'인 경우의 파형을 나타내며, 도 7B는 입력 데이터가 '10'이고 가중치가 '0'인 경우의 파형을 나타낸다. 마찬가지로, 도 7A 및 도 7B의 파형들은 앞서 도 5A, 5B, 6A, 및 6B에서 설명된 파형들과 일부 유사한 점이 있으므로, 중복되는 설명은 생략한다.
입력 데이터의 MSB의 반전 값(즉, inv[X1])은 '0'이기 때문에, 전 구간에서 제 2 트랜지스터(T2)는 턴-오프 된다. 그리고, 노드(N3)에 저장된 상보 가중치(W_b)는 '0'이기 때문에, t2~t3에서 제 2 패스 게이트 트랜지스터(PG2)가 턴-온 되더라도 트랜지스터(T3)은 턴-온 되지 않는다. 그 결과, t1~t4 구간에서 로컬 컴퓨팅 라인(LCL)의 전압 레벨은 초기값인 '1'을 유지할 수 있다. 그리고, 입력 데이터의 LSB(즉, [X0])인 '0'이 전 구간에 걸쳐 워드 라인(WLw)으로 입력되기 때문에, 제 1 패스 게이트 트랜지스터(PG1)는 턴-오프 되며, 로컬 비트 라인(LBL)의 전압 레벨은 초기값인 '0'을 유지한다.
이후, t4에서 신호(eLOP)가 활성화되어 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)이 전기적으로 연결되면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 레벨은 '2/3'이 될 수 있다.
도 7B를 참조하면, t3~t4 동안, 입력 데이터의 MSB의 반전 값(즉, inv[X1])은 '0'이기 때문에, 전 구간에서 제 2 트랜지스터(T2)는 턴-오프 된다. 그리고, 노드(N3)에 저장된 상보 가중치(W_b)는 '0'이기 때문에, t2~t3에서 제 2 패스 게이트 트랜지스터(PG2)가 턴-온 되더라도 트랜지스터(T3)은 턴-온 되지 않는다. 그 결과, t1~t4 구간에서 로컬 컴퓨팅 라인(LCL)의 전압 레벨은 초기값인 '1'을 유지할 수 있다.
t2~t3 동안 워드 라인(WLWb)으로 입력된 신호에 의해, 제 2 패스 게이트 트랜지스터(PG2)가 턴-온 되고, 노드(N3)에 저장된 상보 가중치(W_b)인 '1'에 의해 트랜지스터(T1)이 턴-온 된다. 그리고, t3~t4 동안 신호(CSSE)에 의해 트랜지스터(T4)가 턴-온 되어, 로컬 컴퓨팅 라인(LCL)의 전압 레벨은 '0'이 될 수 있다.
로컬 비트 라인(LBL)의 경우, 입력 데이터의 LSB(즉, [X0])는 '0'이기 때문에, 제 1 패스 게이트 트랜지스터(PG1)는 전 구간에서 턴-오프 되며, 로컬 비트 라인(LBL)의 전압 레벨은 '0'을 유지할 수 있다.
따라서, t4에서 신호(eLOP)가 활성화되어 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 일어나도, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 값은 '0'을 유지할 것이다.
도 8A 및 도 8B는 도 4의 회로도의 동작 파형들을 도시한다. 구체적으로, 도 8A는 입력 데이터가 '11'이고 가중치가 '1'인 경우의 파형을 나타내며, 도 8B는 입력 데이터가 '11'이고 가중치가 '0'인 경우의 파형을 나타낸다.
도 8A를 참조하면, 입력 데이터의 MSB의 반전 값(즉, inv[X1])은 '0'이기 때문에, 전 구간에서 제 2 트랜지스터(T2)는 턴-오프 된다. 그리고, 노드(N3)에 저장된 상보 가중치(W_b)는 '0'이기 때문에, t2~t3에서 제 2 패스 게이트 트랜지스터(PG2)가 턴-온 되더라도 트랜지스터(T3)은 턴-온 되지 않는다. 그 결과, t1~t4 구간에서 로컬 컴퓨팅 라인(LCL)의 전압 레벨은 초기값인 '1'을 유지할 수 있다.
t3~t4 동안, 입력 데이터의 LSB(즉, [X0])인 '1'이 워드 라인(WLw)으로 입력되어 제 1 패스 게이트 트랜지스터(PG1)가 턴-온 된다. 따라서, 노드(N1)에 저장된 가중치(W)인 '1'이 로컬 비트 라인(LBL)으로 출력되어, 로컬 비트 라인(LBL)의 전압 레벨은 '0'로 천이한다.
이후, t4에서 신호(eLOP)가 활성화되어 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 일어나면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 값은 '1'을 유지할 것이다.
도 8B를 참조하면, t1~t4 동안 로컬 컴퓨팅 라인(LCL)의 전압 값이 '1'로 유지된다 하더라도, 노드(N3)에 저장된 상보 가중치(W_b)인 '1'과 신호(CSSE)의 활성화로 인하여, t3에서 로컬 컴퓨팅 라인(LCL)의 전압 값은'1'로부터 '0'으로 천이한다. 그리고, t3~t4 동안 입력 데이터의 LSB(즉, [X0])가 워드 라인(WLw)으로 입력되면, 노드(N2)에 저장된 가중치(W)인 '0'이 로컬 비트 라인(LBL)으로 출력된다. 따라서, 로컬 비트 라인(LBL)의 전압 값은 '0'을 유지할 것이다. 이후, t4에서 신호(eLOP)가 활성화되어 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL) 간에 전하 공유가 일어나면, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전압 값은 '0'을 유지할 것이다.
도 9는 본 개시의 실시 예에 따른 메모리 장치(200)의 예시적인 구성을 도시한다. 도 10은 도 9의 로컬 어레이의 예시적인 구성을 도시한다.
도 9 및 도 10을 참조하면, 메모리 장치(200)는 메모리 셀 어레이(210), 제어 로직 회로(220), 로우 디코더(230), 컬럼 디코더(240), 프리차지 회로(250), 및 프로세싱 회로(260)를 포함할 수 있다. 도 9의 메모리 장치(200)는 도 1의 메모리 장치(100)와 대체로 유사하므로, 중복되는 설명은 생략한다.
메모리 셀 어레이(210)는 복수의 로컬 어레이들을 포함할 수 있으며, 예시적으로 16ⅹ8개의 로컬 어레이들이 도시되었다. 각 로컬 어레이는 복수의 SRAM 셀들과 리드아웃 회로를 포함할 수 있다. 도 10에 도시된 각 SRAM 셀은 도 2에서 설명된 SRAM 셀과 동일할 수 있으며, 리드아웃 회로는 도 4의 리드아웃 회로와 동일할 수 있다. 예시적으로, 로컬 어레이는 16개의 SRAM 셀을 포함할 수 있으며, 하나의 로컬 어레이에 포함된 SRAM 셀들은 로컬 비트 라인(LBL), 로컬 컴퓨팅 라인(LCL), 상보 로컬 비트 라인(LBL_b), 글로벌 비트 라인(GBL), 및 상보 글로벌 비트 라인(GBL_b)을 공유할 수 있다. 그러나, 하나의 로컬 어레이에 포함된 SRAM 셀들은 워드 라인을 공유하지 않을 수 있다. 즉, 하나의 로컬 어레이에 포함된 SRAM 셀마다, 워드 라인들(WLc, WLWb, WBw)이 연결될 수 있다.
로우 디코더(230)는 복수의 로컬 로우 디코더들을 포함할 수 있으며, 예시적으로, 16개의 로컬 로우 디코더들(220_1~220_16)이 도시되었다. 각 로컬 로우 디코더는 하나의 행에 배치되는 로컬 어레이들의 SRAM 셀들을 선택하고 구동할 수 있다. 예를 들어, 제 1 로컬 로우 디코더(220_1)는 제 1 워드 라인들(WLs[1])에 연결된 SRAM 셀들을 선택하고 구동할 수 있다. 제 1 워드 라인들(WLs[1])은 도 2에 도시된 것과 같은 워드 라인들(WLc, WLWb, WBw)을 포함할 수 있다. 제 1 로컬 로우 디코더(220_1)는 워드 라인들(WLc, WBw)을 통하여 2비트의 입력 데이터(iAct_01[1:0])를 로컬 어레이로 전송할 수 있다.
컬럼 디코더(240)는 선택된 SRAM 셀을 포함하는 로컬 어레이의 글로벌 비트 라인 쌍(GBL, GBL_b)을 선택할 수 있다. 로컬 어레이에 포함된 SRAM 셀들은 글로벌 비트 라인 쌍(GBL, GBL_b)을 공유할 수 있다.
도 11은 도 9의 메모리 장치를 이용하여 MAC 연산을 수행하는 것을 개념적으로 도시한다. 도시의 간략화를 위해 메모리 셀 어레이(210)를 구성하는 로컬 어레이들만 도시되었으며, 도 9 내지 도 11을 참조하여 설명하기로 한다.
메모리 장치(200)는 입력 데이터와 가중치를 곱하는 연산을 수행하는 인공 신경망으로써 동작할 수 있다. MAC 연산을 수행하기 전에 SRAM 셀들에 가중치를 저장하는 프로그램 동작이 실행될 수 있다. 예를 들어, 로컬 어레이[1]의 SRAM 셀들 중 MAC 연산을 수행하는 SRAM 셀은 가중치 '1'을 저장할 수 있으며, 로컬 어레이[2]의 SRAM 셀들 중 MAC 연산을 수행하는 SRAM 셀은 가중치 '1'을 저장할 수 있으며, 로컬 어레이[3]의 SRAM 셀들 중 MAC 연산을 수행하는 SRAM 셀은 가중치 '0'을 저장할 수 있다. 유사하게, 로컬 어레이[8]의 SRAM 셀들 중 MAC 연산을 수행하는 SRAM 셀은 가중치 '1'을 저장할 수 있다. 이하, 설명의 단순화를 위해, 도 4에서 설명된 워드 라인들(WLc, WLWb, WLw)에 공통으로 연결된 SRAM 셀들에 가중치이 저장되어 있다고 가정한다.
로우 디코더(230)는 입력 데이터를 메모리 셀 어레이(210)에 제공할 수 있다. 예를 들어, 제 1 로컬 로우 디코더(230_1)는 제 1 워드 라인들(WLs[1])을 통하여 2비트의 입력 데이터(iAct_01[1:0])를 로컬 어레이[1]~로컬 어레이[8]로 제공할 수 있다. 좀 더 구체적으로, 제 1 로컬 로우 디코더(230_1)는 로컬 어레이[1]의 제 1 SRAM에 입력 데이터 '10'을 제공할 수 있다. 입력 데이터 '10'은 회색 음영으로 표시되었다. 제 1 로컬 로우 디코더(230_1)는 로컬 어레이[2]의 제 1 SRAM에 입력 데이터 '10'을 제공할 수 있으며, 로컬 어레이[3]의 제 1 SRAM에 입력 데이터 '11'을 제공할 수 있다. 유사한 방식으로, 제 1 로컬 로우 디코더(230_1)는 로컬 어레이[8]의 제 1 SRAM에 입력 데이터 '10'을 제공할 수 있다.
제 1 워드 라인들(WLs[1])을 통하여 입력 데이터(iAct_01[1:0], 즉, '10')가 전송됨으로써, 입력 데이터(iAct_01[1:0])와 각 SRAM 셀에 저장된 가중치에 대한 부분적(Partial Product)이 실행될 수 있다. 예를 들어, 로컬 어레이[1]의 제 1 SRAM 셀은 제 1 부분적 연산(PP1_R1)으로써 입력 데이터 '10'과 가중치 '1'의 곱 연산을 수행할 수 있으며(좀 더 정확히는, 입력 데이터의 MSB가 반전된 값인 '10'일 것이다), 로컬 어레이[8]의 제 1 SRAM 셀은 제 2 부분적 연산(PP2_R1)으로써 입력 데이터 '10'과 가중치 '1'의 곱 연산을 수행할 수 있으며, 로컬 어레이[2]의 제 1 SRAM 셀은 제 3 부분적 연산(PP3_R1)으로써 입력 데이터 '10'과 가중치 '0'의 곱 연산을 수행할 수 있다. 유사한 방식으로, 로컬 어레이[8]의 제 8 SRAM 셀은 제 8 부분적 연산(PP8_R1)으로써 입력 데이터 '10'과 가중치 '1'의 곱 연산을 수행할 수 있다. 결론적으로, 로컬 어레이[1] 내지 로컬 어레이[8]의 SRAM 셀들은 부분적의 결과들 '10', '10', '11', '10', '10', '00', '10', '10', '10'을 글로벌 비트 라인들(GBL[1]~GBL[8])을 통하여 각각 출력할 수 있다.
한편, 상술된 하나의 로컬 로우 디코더에 연결된 로컬 어레이들에서 수행되는 MAC 연산들은 다른 로컬 로우 디코더에 연결된 로컬 어레이들에서도 동일한 방식으로 수행될 수 있다. 예를 들어, 제 2 로컬 로우 디코더(230_2)에 연결된 로컬 어레이[1] 내지 로컬 어레이[8]는 부분적의 결과들로써, '00', '00', …, '11'을 글로벌 비트 라인들(GBL[1]~GBL[8])을 통하여 각각 출력할 수 있다. 그리고, 제 16 로컬 로우 디코더(230_16)에 연결된 로컬 어레이[1] 내지 로컬 어레이[8]는 부분적의 결과들로써, '00', '00', …, '01'을 글로벌 비트 라인들(GBL[1]~GBL[8])을 통하여 각각 출력할 수 있다.
도 12는 도 11의 메모리 장치를 이용한 MAC 연산 수행 결과를 합산하는 것을 개념적으로 도시한다.
실시 예에 있어서, 각 로우에서 부분적의 결과들이 출력되는 타이밍은 동일할 수 있다. 예를 들어, 부분적의 결과들의 합산이 필요한 경우, 로컬 로우 디코더들(230_1~230_16)에 연결된 로컬 어레이들에서 동시에 MAC 연산이 실행될 수 있다. 그리고, 하나의 글로벌 비트 라인에 연결된 로컬 어레이들에서 실행된 MAC 연산 결과들이 동시에 글로벌 비트 라인으로 출력될 수 있다. 예를 들어, 제 1 글로벌 비트 라인(GBL[1])에 연결된 로컬 어레이들로부터 부분적 결과들(PP1_R1, PP1_R2, … PP1_R16)이 출력될 수 있으며, 부분적 결과들(PP1_R1, PP1_R2, … PP1_R16)은 이에 상응하는 전하들로써 제 1 글로벌 비트 라인(GBL[1])에 누적될 수 있다. 그리고, 다른 로컬 어레이들에서 실행된 부분적 결과들도 글로벌 비트 라인들(GBL[2]~GBL[16])을 통하여 유사한 방식으로 출력될 수 있다.
다른 실시 예에서, 각 로우에서 부분적의 결과들이 출력되는 타이밍은 다를 수도 있다. 예를 들어, 부분적의 결과들의 합산이 필요하지 않다면, 부분적 결과들이 출력되는 타이밍이 반드시 동일할 필요는 없다. 예컨대, 제 1 로컬 로우 디코더(230_1)에 연결된 로컬 어레이들에서 MAC 연산이 실행된 후, 제 2 로컬 로우 디코더(230_2)에 연결된 로컬 어레이들에서 MAC 연산이 실행될 수 있다.
도 13은 메모리 장치(200)의 하나의 글로벌 비트 라인에 연결된 로컬 어레이들 및 프리차지 회로와 관련된 회로도를 예시적으로 도시한다.
도 4, 도 9, 및 도 13을 참조하면, 글로벌 비트 라인(GBL)의 전압을 계산하기에 앞서, 하나의 글로벌 비트 라인(GBL)에 연결된 구성들은 도 13과 같이 모델링될 수 있다. 예를 들어, 하나의 로컬 어레이는 3Cp로 표현될 수 있다. 여기서 Cp는 로컬 비트 라인(LBL)과 제 1 패스 게이트 트랜지스터(PG1)의 접합에 의한 정션 커패시턴스일 수 있으며, 2CP는 로컬 컴퓨팅 라인(LCL)과 트랜지스터들(T1, T2) 간의 접합에 의한 정션 커패시턴스일 수 있다. 그리고, CGBL은 글로벌 비트 라인(GBL)의 커패시턴스일 수 있으며, CSH는 스위치 제어 신호(SWCTRL)을 출력하는 컬럼 디코더(240) 하단의 기타 커패시턴스 성분을 나타낼 수 있다.
전하량과 정전 용량의 관계에 대한 공식에 따라, 글로벌 비트 라인(GBL)의 전압은 수학식 2와 같이 표현될 수 있다. 여기서 △V는 각 로컬 어레이에서의 전압 변화량이다.
수학식 2에 의하면, 로컬 어레이들의 커패시턴스의 합은 다른 커패시턴스들(CGBL, CSH)보다 크기 때문에, MAC 연산 결과의 값에 따른 글로벌 비트 라인의 전압(VGBL)의 선형성이 유지되는 것으로 간주될 수 있다. 본 개시의 메모리 장치는 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)의 전하 공유 방식을 이용하여 MAC 연산을 수행하며, 실제의 이상적인 값과 유사한 선형성의 아날로그 MAC 전압이 획득될 수 있다.
도 14는 글로벌 비트 라인에 축적된 MAC 연산의 결과를 처리하는 것을 개념적으로 도시한다.
도 9, 도 11, 및 도 14를 참조하면, 프로세싱 회로(160)는 아날로그 디지털 컨버터(242) 및 쉬프트 애더(shift adder, 244)를 포함할 수 있다.
제 1 글로벌 비트 라인(GBL[1])에 연결될 로컬 어레이들에서 실행된 MAC 연산의 결과들(PR1_R1, PR1_R2, PR1_R16)은 제 1 글로벌 비트 라인(GBL[1])에 누적될 수 있으며, 누적 결과는 ADC(242)로 입력될 수 있다. ADC(242)는 누적 결과에 기반하여 제 1 부분 MAC 값(pMAC[1])을 출력할 수 있다. 유사한 방식으로, ADC(242)는 제 7 부분 MAC 값(pMAC[7]) 및 제 8 부분 MAC 값(pMAC[8])을 출력할 수 있다.
쉬프트 애더(244)는 제 1 부분 MAC 값(pMAC[1]) 내지 제 8 부분 MAC 값(pMAC[8])을 입력받을 수 있다. 쉬프트 애더(244)는 제 1 부분 MAC 값(pMAC[1]) 내지 제 8 부분 MAC 값(pMAC[8])에 기반하여 온전한 형태의 MAC 연산 결과를 출력할 수 있다. 예를 들어, 쉬프트 애더(244)는 제 1 부분 MAC 값(pMAC[1])에 20을 곱할 수 있으며, 제 7 부분 MAC 값(pMAC[7])에 26을 곱할 수 있으며, 제 8 부분 MAC 값(pMAC[8])에 (-2)7을 곱할 수 있다. 여기서 (-2)7을 곱하는 것은, 음의 MAC 연산 결과를 표현하기 위한 것일 수 있다.
도 15는 본 개시의 실시 예에 따른 MAC 연산을 수행하는 방법을 나타내는 흐름도이다.
도 1, 도 4 및 도 15를 참조하면, S110 단계에서, SRAM 셀에 대한 프로그램 동작이 실행될 수 있다. 가중치(W)가 워드 라인들(WLWb, WLw)을 통하여 SRAM 셀로 입력될 수 있으며, 노드(N2)에 가중치(W)가, 그리고 노드(N3)에 상보 가중치(W_b)가 각각 저장될 수 있다.
S120 단계에서, SRAM 셀은 멀티-비트 입력 데이터를 수신할 수 있다.
S130 단계에서, SRAM 셀은 워드 라인(WLw)으로 입력된 입력 데이터의 LSB에 응답하여 동작하는 제 1 패스 게이트 트랜지스터(PG1), 노드(N2)에 저장된 저장된 가중치(W), 및 로컬 비트 라인(LBL)의 전압의 초기값을 이용하여 로컬 비트 라인(LBL)의 전압 레벨을 결정할 수 있다.
S140 단계에서, SRAM 셀은 SRAM 셀에 저장된 상보 가중치(W_b)에 응답하여 동작하는 제 1 트랜지스터(T1), 워드 라인(WLc)으로 입력된 입력 데이터의 MSB의 반전 값에 응답하여 동작하는 제 2 트랜지스터(T2), 및 로컬 컴퓨팅 라인(LCL)의 전압의 초기값을 이용하여 로컬 컴퓨팅 라인(LCL)의 전압 레벨을 결정할 수 있다. 실시 예에 있어서, 로컬 컴퓨팅 라인(LCL)의 전압 레벨을 결정하는 단계는 로컬 비트 라인(LBL)의 전압 레벨을 결정하는 단계와 동시에 또는 이시에 실행될 수 있다.
실시 예에 있어서, SRAM 셀에서의 MAC 연산 전에, 프리차지 회로(150)는 로컬 컴퓨팅 라인(LCL)을 프리차지 시킬 수 있으며, 로컬 비트 라인(LBL)을 디스차지 시킬 수 있다.
S150 단계에서, 로컬 컴퓨팅 라인(LCL)과 로컬 비트 라인(LBL)이 전기적으로 연결되어, 로컬 컴퓨팅 라인(LCL)의 전하들과 로컬 비트 라인(LBL)의 전하들이 공유될 수 있다. 이후, 로컬 컴퓨팅 라인(LCL) 및 로컬 비트 라인(LBL)은 글로벌 비트 라인(GBL)과 전기적으로 연결될 수 있으며, 공유된 전하들은 글로벌 비트 라인(GBL)을 통하여 출력될 수 있다.
160 단계에서, 공유된 전하들에 대응하는 전압 레벨이 판별될 수 있다. 예를 들어, 프로세싱 회로(160)의 아날로그 디지털 컨버터는 글로벌 비트 라인의 전압 레벨을 감지하고, 전압 레벨에 대응하는 MAC 값을 출력할 수 있다.
도 16은 본 개시의 실시 예에 따른 SRAM 셀을 포함하는 메모리 장치가 적용된 시스템을 도시한 도면이다.
시스템(1000)은 메인 프로세서(main processor)(1100), 메모리(1200a, 1200b) 및 스토리지 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(1410), 사용자 입력 장치(user input device)(1420), 센서(1430), 통신 장치(1440), 디스플레이(1450), 스피커(1460), 전력 공급 장치(power supplying device)(1470) 및 연결 인터페이스(connecting interface)(1480) 중 하나 이상을 포함할 수 있다.
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다.
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 및/또는 스토리지 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시 예에 따라서는, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator)(1130)를 더 포함할 수 있다. 이와 같은 가속기(1130)는 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 및/또는 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM 및/또는 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.
실시 예에 있어서, 메모리(1200a, 1200b) 중 적어도 하나는 도 1 내지 도 15를 참조하여 설명된 SRAM 셀을 포함할 수 있다. 메모리(1200a, 1200b) 중 적어도 하나는 멀티 비트 입력 데이터와 가중치에 대해 MAC 연산을 수행하는 인공 신경망으로써, 동작할 수 있다. 일반적으로 MAC 연산을 위해 메인 프로세서(1100)와 메모리 장치 간의 데이터 이동이 요구되어 전력 소모가 크고 연산 효율이 떨어지는 문제가 있지만, 본 개시에 의하면, 메모리(1200a, 1200b) 중 적어도 하나에 의해 MAC 연산이 수행된다. 그 결과, 데이터 이동에 따른 전력 소모가 방지되고, 연산 효율이 향상될 수 있다.
스토리지 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 스토리지 장치(1300a, 1300b)는 스토리지 컨트롤러(1310a, 1310b)와, 스토리지 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성 메모리(non-volatile memory, NVM)(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 2D(2-dimensional) 구조 혹은 3D(3-dimensional) V-NAND(Vertical NAND) 구조의 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다.
스토리지 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 스토리지 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(1480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 스토리지 장치(1300a, 1300b)는 UFS(Universal Flash Storage), eMMC(embedded multi-media card) 혹은 NVMe(non-volatile memory express)와 같은 표준 규약이 적용되는 장치일 수 있으나, 반드시 이에 한정되는 건 아니다.
촬영 장치(1410)는 정지 영상 또는 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 및/또는 웹캠(webcam) 등일 수 있다.
사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keypad), 키보드(keyboard), 마우스(mouse) 및/또는 마이크(microphone) 등일 수 있다.
센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 및/또는 자이로스코프(gyroscope) 센서 등일 수 있다.
통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(1440)는 안테나, 트랜시버(transceiver) 및/또는 모뎀(MODEM) 등을 포함하여 구현될 수 있다.
디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다.
전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리(미도시) 및/또는외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다.
연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(2000과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(1480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe, IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC, UFS, eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 메모리 장치
110: 메모리 셀 어레이
120: 제어 로직 회로
130: 로우 디코더
140: 컬럼 디코더
150: 프리차지 회로
160: 프로세싱 회로

Claims (20)

  1. 제 1 워드 라인에 게이트 전극이 연결되고, 일단이 로컬 비트 라인에 연결되는 제 1 패스 게이트 트랜지스터;
    출력단이 상기 제 1 패스 게이트 트랜지스터의 타단에 연결되는 제 1 인버터;
    입력단이 상기 제 1 패스 게이트 트랜지스터의 상기 타단에 연결되는 제 2 인버터;
    제 2 워드 라인에 게이트 전극이 연결되고, 일단이 상기 제 1 인버터의 출력단 및 상기 제 2 인버터의 입력단에 연결되고, 타단이 상보 로컬 비트 라인에 연결되는 제 2 패스 게이트 트랜지스터;
    상기 제 2 패스 게이트 트랜지스터의 상기 일단에 게이트 전극이 연결되고, 일단이 로컬 컴퓨팅 라인에 연결되는 제 1 트랜지스터; 그리고
    제 3 워드 라인에 게이트 전극이 연결되고, 일단이 상기 로컬 컴퓨팅 라인에 연결되고, 타단이 접지 전극에 연결되는 제 2 트랜지스터를 포함하는 SRAM 셀.
  2. 제 1 항에 있어서,
    상기 로컬 컴퓨팅 라인과 상기 제 1 트랜지스터 및 상기 제 2 트랜지스터의 접합에 의한 정션 커패시턴스는, 상기 로컬 비트 라인과 상기 제 1 패스 게이트 트랜지스터의 접합에 의한 정션 커패시턴스의 2배인 SRAM 셀.
  3. 제 1 항에 있어서,
    상기 제 1 인버터의 출력단 및 상기 제 2 인버터의 입력단은 상기 제 1 워드 라인으로 입력되는 제 1 신호 및 상기 제 2 워드 라인으로 입력되는 제 2 신호에 기반하여 가중치를 저장하고,
    상기 제 1 인버터의 입력단 및 상기 제 2 인버터의 출력단은 상기 제 1 워드 라인으로 입력되는 상기 제 1 신호 및 상기 제 2 워드 라인으로 입력되는 상기 제 2 신호에 기반하여 상보 가중치를 저장하는 SRAM 셀.
  4. 제 3 항에 있어서,
    상기 제 1 워드 라인으로 입력 데이터의 LSB가 입력되고, 상기 제 3 워드 라인으로 상기 입력 데이터의 MSB의 반전 값이 입력되는 SRAM 셀.
  5. 제 4 항에 있어서,
    상기 제 1 패스 게이트 트랜지스터는 상기 제 1 워드 라인으로 입력되는 LSB에 응답하여 상기 가중치를 상기 로컬 비트 라인으로 전달하거나, 상기 로컬 비트 라인의 초기값을 유지시키는 SRAM 셀.
  6. 제 4 항에 있어서,
    상기 제 1 트랜지스터는 상기 상보 가중치에 응답하여 상기 로컬 컴퓨팅 라인을 접지 전극에 연결하거나, 상기 로컬 컴퓨팅 라인의 초기값을 유지시키고,
    상기 제 2 트랜지스터는 상기 제 3 워드 라인으로 입력되는 MSB의 반전 값에 응답하여 상기 로컬 컴퓨팅 라인을 접지 전극에 연결하거나, 상기 로컬 컴퓨팅 라인의 초기값을 유지시키는 SRAM 셀.
  7. 제 6 항에 있어서,
    상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인을 전기적으로 연결하는 제 1 스위치; 그리고
    전기적으로 연결된 상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인을 글로벌 비트 라인과 전기적으로 연결하는 제 2 스위치를 더 포함하는 SRAM 셀.
  8. 크로스-연결된 인버터들;
    입력 데이터의 LSB에 응답하여 상기 크로스-연결된 인버터들의 제 1 노드에 저장된 가중치를 로컬 비트 라인에 전달하는 제 1 패스 게이트 트랜지스터;
    상기 크로스-연결된 인버터들의 제 2 노드에 저장된 상보 가중치를 상보 로컬 비트 라인에 전달하는 제 2 패스 게이트 트랜지스터;
    상기 상보 가중치에 응답하여 로컬 컴퓨팅 라인에 저장된 전하들을 접지 컴퓨팅 라인으로 출력하는 제 1 트랜지스터;
    상기 입력 데이터의 MSB의 반전 값에 응답하여 상기 로컬 컴퓨팅 라인에 저장된 전하들을 디스차지하는 제 2 트랜지스터; 그리고
    상기 상보 로컬 비트 라인의 전압에 응답하여 상기 접지 컴퓨팅 라인으로 출력된 전하들을 디스차지하고, 상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인을 전기적으로 연결하는 리드아웃 회로를 포함하는 메모리 장치.
  9. 제 8 항에 있어서,
    상기 리드아웃 회로는:
    상기 상보 로컬 비트 라인의 전압에 응답하여 상기 접지 컴퓨팅 라인으로 출력된 전하들을 전송하는 제 3 트랜지스터;
    상기 제 3 트랜지스터에 의해 전송된 전하들을 접지 전극으로 출력하는 제 4 트랜지스터;
    상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인을 전기적으로 연결하는 제 1 스위치; 그리고
    전기적으로 연결된 상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인을 글로벌 비트 라인과 전기적으로 연결하는 제 2 스위치를 포함하는 메모리 장치.
  10. 제 8 항에 있어서,
    상기 로컬 컴퓨팅 라인 및 상기 로컬 비트 라인을 프리차지 하거나 디스차지 하기 위한 프리차지 회로를 더 포함하는 메모리 장치.
  11. 제 8 항에 있어서,
    상기 입력 데이터의 LSB 및 상기 입력 데이터의 MSB의 반전 값이 전송되는 워드 라인들을 선택하고 구동하는 로우 디코더; 그리고
    상기 전기적으로 연결된 상기 로컬 컴퓨팅 라인 및 상기 로컬 비트 라인과 전기적으로 연결되는 글로벌 비트 라인을 선택하는 컬럼 디코더를 더 포함하는 메모리 장치.
  12. 제 10 항에 있어서,
    상기 로컬 컴퓨팅 라인과 상기 로컬 비트 라인이 전기적으로 연결됨으로써 공유된 전하들이 출력되는 상기 글로벌 비트 라인의 전압 레벨을 감지하고, 상기 전압 레벨에 대응하는 값을 출력하는 아날로그 디지털 컨버터; 그리고
    상기 아날로그 디지털 컨버터의 출력 값에 대한 쉬프트 애딩을 수행하는 쉬프트 애더를 더 포함하는 메모리 장치.
  13. 제 10 항에 있어서,
    외부로부터 커맨드 및 어드레스를 수신하고, 상기 커맨드 및 상기 어드레스에 기반하여 상기 워드 라인들을 선택하기 위한 로우 어드레스 및 상기 글로벌 비트 라인을 선택하기 위한 컬럼 어드레스를 생성하는 제어 로직 회로를 더 포함하는 메모리 장치.
  14. 제 8 항에 있어서,
    상기 로컬 컴퓨팅 라인과 상기 제 1 트랜지스터 및 상기 제 2 트랜지스터의 접합에 의한 정션 커패시턴스는, 상기 로컬 비트 라인과 상기 제 1 패스 게이트 트랜지스터의 접합에 의한 정션 커패시턴스의 2배인 메모리 장치.
  15. 제 1 노드에 제 1 가중치를 저장하고, 제 2 노드에 제 1 상보 가중치를 저장하되, 제 1 입력 데이터의 LSB에 응답하여 상기 제 1 가중치를 제 1 로컬 비트 라인으로 출력하는 제 1 패스 게이트 트랜지스터, 상기 제 2 상보 가중치에 응답하여 제 1 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 1 트랜지스터, 및 상기 제 1 입력 데이터의 MSB의 반전 값에 응답하여 상기 제 1 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 2 트랜지스터를 포함하는 제 1 SRAM 셀;
    상기 제 1 로컬 컴퓨팅 라인 및 상기 제 1 로컬 비트 라인을 글로벌 비트 라인에 전기적으로 연결하는 제 1 리드아웃 회로;
    제 3 노드에 제 2 가중치를 저장하고, 제 4 노드에 제 2 상보 가중치를 저장하되, 제 2 입력 데이터의 LSB에 응답하여 상기 제 2 가중치를 제 2 로컬 비트 라인으로 출력하는 제 3 패스 게이트 트랜지스터, 상기 제 2 상보 가중치에 응답하여 제 2 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 3 트랜지스터, 및 상기 제 2 입력 데이터의 MSB의 반전 값에 응답하여 상기 제 2 로컬 컴퓨팅 라인을 접지 전극에 연결하는 제 4 트랜지스터를 포함하는 제 2 SRAM 셀; 그리고
    상기 제 2 로컬 컴퓨팅 라인 및 상기 제 2 로컬 비트 라인을 상기 글로벌 비트 라인에 전기적으로 연결하는 제 2 리드아웃 회로를 포함하는 메모리 장치.
  16. 제 15 항에 있어서,
    상기 제 1 및 제 2 로컬 컴퓨팅 라인들 및 상기 제 1 및 제 2 로컬 비트 라인들을 프리차지 하거나 디스차지 하기 위한 프리차지 회로를 더 포함하는 메모리 장치.
  17. 제 15 항에 있어서,
    상기 제 1 입력 데이터의 LSB 및 상기 제 1 입력 데이터의 MSB의 반전 값이 전송되는 제 1 워드 라인들을 선택하고 구동하는 제 1 로컬 로우 디코더;
    상기 제 2 입력 데이터의 LSB 및 상기 제 2 입력 데이터의 MSB의 반전 값이 전송되는 제 2 워드 라인들을 선택하고 구동하는 제 2 로컬 로우 디코더; 그리고
    상기 글로벌 비트 라인을 선택하는 컬럼 디코더를 더 포함하는 메모리 장치.
  18. 제 15 항에 있어서,
    상기 글로벌 비트 라인의 전압 레벨을 감지하고, 상기 글로벌 비트 라인의 상기 전압 레벨에 대응하는 값을 출력하는 아날로그 디지털 컨버터; 그리고
    상기 아날로그 디지털 컨버터의 출력 값에 대한 쉬프트 애딩을 수행하는 쉬프트 애더를 더 포함하는 메모리 장치.
  19. 제 15 항에 있어서,
    외부로부터 커맨드 및 어드레스를 수신하고, 상기 커맨드 및 상기 어드레스에 기반하여 상기 제 1 워드 라인들 및 상기 제 2 워드 라인들을 선택하기 위한 로우 어드레스들 및 상기 글로벌 비트 라인을 선택하기 위한 컬럼 어드레스를 생성하는 제어 로직 회로를 더 포함하는 메모리 장치.
  20. 제 15 항에 있어서,
    상기 제 1 로컬 컴퓨팅 라인과 상기 제 1 트랜지스터 및 상기 제 2 트랜지스터의 접합에 의한 정션 커패시턴스는, 상기 제 1 로컬 비트 라인과 상기 제 1 패스 게이트 트랜지스터의 접합에 의한 정션 커패시턴스의 2배이고,
    상기 제 2 로컬 컴퓨팅 라인과 상기 제 3 트랜지스터 및 상기 제 4 트랜지스터의 접합에 의한 정션 커패시턴스는, 상기 제 2 로컬 비트 라인과 상기 제 3 패스 게이트 트랜지스터의 접합에 의한 정션 커패시턴스의 2배인 메모리 장치.
KR1020220068464A 2022-06-03 2022-06-03 전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법 KR20230168038A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220068464A KR20230168038A (ko) 2022-06-03 2022-06-03 전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법
CN202310159975.8A CN117174138A (zh) 2022-06-03 2023-02-23 Sram单元以及操作该sram单元的方法
US18/180,623 US20230395132A1 (en) 2022-06-03 2023-03-08 Sram cell configured to perform multiply-accumulate (mac) operation on multi-bit data based on charge sharing and method of operating the same
TW112113525A TW202349393A (zh) 2022-06-03 2023-04-11 靜態隨機存取記憶體胞元以及記憶體裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220068464A KR20230168038A (ko) 2022-06-03 2022-06-03 전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20230168038A true KR20230168038A (ko) 2023-12-12

Family

ID=88932411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220068464A KR20230168038A (ko) 2022-06-03 2022-06-03 전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법

Country Status (4)

Country Link
US (1) US20230395132A1 (ko)
KR (1) KR20230168038A (ko)
CN (1) CN117174138A (ko)
TW (1) TW202349393A (ko)

Also Published As

Publication number Publication date
CN117174138A (zh) 2023-12-05
TW202349393A (zh) 2023-12-16
US20230395132A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
TWI514416B (zh) 記憶胞以及動態記憶體陣列
CN106448718A (zh) 存储器器件和操作存储器器件的方法
US10482938B2 (en) Word-line timing control in a semiconductor memory device and a memory system including the same
JP6088201B2 (ja) 半導体装置
TWI435325B (zh) 具有和儲存電容器串聯之互補式金氧半導體相容非依電性儲存元件的隨機存取記憶體
CN104681086A (zh) 半导体装置的缓冲电路
CN116364143A (zh) 用于行锤击计数器垫的设备和方法
CN116364142A (zh) 用于行锤击计数器垫的设备和方法
US20100329019A1 (en) Semiconductor storage device and electronic device using the same
US20140104959A1 (en) Memory apparatus and methods
KR20230168038A (ko) 전하 공유에 기반하여 멀티 비트 데이터에 대해 mac 연산을 수행하도록 구성되는 sram 셀 및 그 동작 방법
CN108231107B (zh) 半导体器件
KR20210112272A (ko) 메모리 장치 및 메모리 장치의 리드 방법
US20220277778A1 (en) Nonvolatile memory device, operating method of nonvolatile memory device, and electronic device including nonvolatile memory device
US7352648B2 (en) Semiconductor memory
US11062773B2 (en) Near-memory computation system for analog computing
US8379469B2 (en) Integrated circuit memory operation apparatus and methods
US20240071479A1 (en) Sram including reference voltage generator and read method thereof
CN111312311A (zh) 用于减少写入上拉时间的设备和使用方法
CN107430884B (zh) 存储装置、方法及计算系统
US11670345B2 (en) Sense amplifier including pre-amplifier circuit and memory device including same
KR20220113229A (ko) 사전 증폭 회로를 포함하는 감지 증폭기 및 이를 포함하는 메모리 장치
TW202410046A (zh) 記憶體元件、記憶體系統和用於操作包括記憶體單元陣列的記憶體元件的方法
Jiang et al. A 16nm 128kB high-density fully digital In Memory Compute macro with reverse SRAM pre-charge achieving 0.36 TOPs/mm 2, 256kB/mm 2 and 23. 8TOPs/W
US9070425B2 (en) Data line control for sense amplifiers