KR20230059117A - 메모리 셀 및 그 메모리 셀을 동작시키는 방법 - Google Patents

메모리 셀 및 그 메모리 셀을 동작시키는 방법 Download PDF

Info

Publication number
KR20230059117A
KR20230059117A KR1020220038249A KR20220038249A KR20230059117A KR 20230059117 A KR20230059117 A KR 20230059117A KR 1020220038249 A KR1020220038249 A KR 1020220038249A KR 20220038249 A KR20220038249 A KR 20220038249A KR 20230059117 A KR20230059117 A KR 20230059117A
Authority
KR
South Korea
Prior art keywords
signal
memory
circuit
transistor
memory cell
Prior art date
Application number
KR1020220038249A
Other languages
English (en)
Inventor
혼잔 린
치아푸 리
이춘 시
Original Assignee
타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 filed Critical 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드
Publication of KR20230059117A publication Critical patent/KR20230059117A/ko

Links

Images

Classifications

    • 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/409Read-write [R-W] circuits 
    • G11C11/4099Dummy cell treatment; Reference voltage generators
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/4072Circuits for initialization, powering up or down, clearing memory or presetting
    • 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/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)

Abstract

메모리 셀은 메모리 회로와 승산 회로를 포함한다. 상기 승산 회로는 상기 출력 신호를 출력하도록 구성된 출력 노드, 제1 트랜지스터 및 초기화 회로를 포함한다. 상기 제1 트랜지스터는 상기 출력 노드 및 상기 메모리 회로에 커플링되고, 적어도 제2 신호를 수신하도록 구성된다. 상기 초기화 회로는 상기 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 승산 회로를 초기화하도록 구성된다. 상기 메모리 회로는 제1 스토리지 노드의 제1 신호의 제1 값을 저장하도록 구성된다. 상기 승산 회로는 상기 메모리 회로에 커플링된다. 상기 승산 회로는 상기 제1 신호 및 제2 신호에 응답하여 출력 신호를 생성하도록 구성된다. 상기 출력 신호는 상기 제1 신호와 제2 신호의 곱에 해당한다.

Description

메모리 셀 및 그 메모리 셀을 동작시키는 방법{MEMORY CELL AND METHOD OF OPERATING THE SAME}
본 출원은 2021년 10월 25일에 출원된 미국 가출원 번호 제63/271,559호의 이익을 주장하며, 이 출원은 그 전체가 참고로 본원에 합체된다.
인공 지능 분야에서의 최근의 발전은 음성 인식, 화상 처리, 기계 학습, 자연어 처리 등을 포함하지만 이에 제한되지 않는 다양한 제품 및/또는 애플리케이션으로 이어졌다. 이러한 제품 및/또는 애플리케이션에서는 종종, 학습, 훈련, 인지 컴퓨팅 등을 위해 많은 양의 데이터를 처리하기 위해 신경망을 이용한다.
본 개시의 양태는 첨부 도면을 참조한 이하의 상세한 설명으로부터 가장 잘 이해된다. 해당 산업계의 표준 관행에 따라, 다양한 피처를 비율에 따라 도시하지는 않는다는 점에 유의하여야 한다. 사실, 다양한 피처의 치수는 설명의 명료성을 위해 임의로 확대 또는 축소될 수 있다.
도 1은 일부 실시예에 따른 메모리 소자의 블록도이다.
도 2a는 일부 실시예에 따른 메모리 소자의 개략도이다.
도 2b는 일부 실시예에 따른 신경망의 개략도이다.
도 2c는 일부 실시예에 따른 집적 회로(IC) 소자의 개략도이다.
도 3은 일부 실시예에 따른 메모리 셀의 회로도이다.
도 4은 일부 실시예에 따른 메모리 셀의 회로도이다.
도 5a는 일부 실시예에 따른, 도 5c에 도시한 메모리 셀 어레이의 진리표이다.
도 5b 및 도 5c는 일부 실시예에 따른 메모리 셀 어레이의 대응 다이어그램이다.
도 5d 및 도 5e는 일부 실시예에 따른, 도 5b 및 도 5c의 메모리 셀 어레이의 대응 파형의 그래프이다.
도 6은 일부 실시예에 따른 메모리 셀의 회로도이다.
도 7a는 일부 실시예에 따른, 회로를 동작시키는 방법의 흐름도이다.
도 7b는 일부 실시예에 따른, 회로를 동작시키는 방법의 흐름도이다.
다음 개시는 제공된 발명내용의 특징을 구현하기 위한 상이한 실시예 또는 예를 제공한다. 본 개시를 단순화하기 위해, 구성요소, 재료, 값, 단계, 배치 등의 특정 예를 이하에서 설명한다. 물론 이들은 단지 예이고, 제한적인 것이 아니다. 다른 구성요소, 재료, 값, 단계, 배치 등이 고려된다. 예컨대, 이어지는 설명에서 제2 피처 위(over) 또는 제2 피처 상(on)의 제1 피처의 형성은 제1 피처와 제2 피처가 직접 접촉하여 형성되는 실시예를 포함할 수 있고, 또한 추가의 피처가 제1 피처와 제2 피처 사이에 형성되어 제1 및 제2 피처가 직접 접촉하지 않을 수 있는 실시예를 포함할 수 있다. 또한, 본 개시는 다양한 예에서 참조 번호 및/또는 문자를 반복할 수 있다. 이 반복은 단순함과 명료함을 목적으로 하며, 그 자체가 논의하는 다양한 실시예 및/또는 구성 사이의 관계를 지시하지 않는다.
또한, "아래(beneath)", "밑(below)", "하위(lower)", "위(above)", "상위(upper)" 등과 같은 공간적으로 상대적인 용어(spatially relative terms)는, 도면에 나타내는 바와 같은 한 요소 또는 피처와 다른 요소(들) 또는 피처(들)와의 관계를 기술하기 위한 설명의 용이함을 위해 본원에서 이용될 수 있다. 공간적으로 상대적인 용어는 도면에 나타내는 배향 외에, 이용 또는 동작 시의 소자의 상이한 배향도 포괄하도록 의도된다. 소자는 다른 식으로 배향(90도 회전되거나 또는 다른 배향으로 회전)될 수 있으며, 본원에서 사용하는 공간적으로 상대적인 기술어(descriptor)는 그에 따라 마찬가지로 해석될 수 있다.
일부 실시예에 따르면, 메모리 셀 어레이는 복수의 메모리 셀을 포함한다. 일부 실시예에서, 복수의 메모리 셀의 각각의 메모리 셀은 메모리 회로 및 승산 회로(multiplier circuit)를 포함한다.
일부 실시예에서, 상기 승산 회로는 상기 메모리 회로에 커플링된다.
일부 실시예에서, 상기 메모리 회로는 제1 스토리지 노드의 제1 신호의 제1 값을 저장하도록 구성된다.
일부 실시예에서, 상기 승산 회로는 상기 제1 신호 및 제2 신호에 응답하여 출력 신호를 생성하도록 구성된다. 일부 실시예에서, 상기 출력 신호는 상기 제1 신호와 상기 제2 신호의 곱(product)에 대응한다. 일부 실시예에서, 상기 출력 신호는 상기 제1 신호와 상기 제2 신호 사이의 CIM(computing-in-memory) 연산에 의해 생성된다.
일부 실시예에서, 상기 승산 회로는 상기 출력 신호를 출력하도록 구성된 출력 노드, 제1 트랜지스터 및 초기화 회로를 포함한다.
일부 실시예에서, 상기 제1 트랜지스터는 상기 출력 노드 및 상기 메모리 회로에 커플링된다. 일부 실시예에서, 상기 제1 트랜지스터는 적어도 상기 제2 신호를 수신하도록 구성된다.
일부 실시예에서, 상기 초기화 회로는 상기 출력 노드에 의해 상기 제1 트랜지스터에 커플링된다. 일부 실시예에서, 상기 초기화 회로는 적어도 제3 신호 또는 제4 신호에 응답하여 상기 승산 회로를 초기화하도록 구성된다.
일부 실시예에서, 상기 메모리 셀 어레이는 신경망 애플리케이션은 물론 다른 애플리케이션에서도 이용할 수 있는 CIM 연산을 수행하도록 구성된 CIM 매크로의 일부이다. 일부 실시예에서, 상기 메모리 셀 어레이의 각 메모리 셀 내에 상기 승산 회로가 포함되어, 상기 CIM 매크로의 상기 승산 회로 내의 트랜지스터의 수를 줄일 수 있어, 다른 접근 방식에 비해, 상기 CIM 매크로의 크기를 줄일 수 있다.
도 1은 일부 실시예에 따른 메모리 소자(100)의 블록도이다. 메모리 소자는 일종의 집적 회로(IC) 소자이다. 적어도 하나의 실시예에서, 메모리 소자는 개별 IC 소자이다. 일부 실시예에서, 메모리 소자는, 다른 기능성을 위해 그 메모리 소자 이외의 회로를 포함하는 더 큰 IC 소자의 일부로서 포함된다.
메모리 소자(100)는 메모리 매크로(110) 및 메모리 컨트롤러(120)를 포함한다. 메모리 매크로(110)는 메모리 어레이(112), 하나 이상의 가중치 버퍼(weight buffer)(114), 및 출력 회로(115)를 포함한다. 메모리 컨트롤러(120)는 워드 라인 드라이버(122), 비트 라인 드라이버(124), 비트 라인 바 드라이버(125), 제어 회로(126) 및 입력 버퍼(128)를 포함한다. 일부 실시예에서, 메모리 컨트롤러(120)의 하나 이상의 요소들이 메모리 매크로(110)에 포함되고/되거나 메모리 매크로(110)의 하나 이상의 요소(메모리 어레이(112)는 제외)가 메모리 컨트롤러(120)에 포함된다.
매크로는 재이용 가능한 구성을 가지며 다양한 유형 또는 디자인의 IC 소자에서 이용 가능하다. 일부 실시예에서, 상기 매크로는, 서브루틴/프로시저가 주어진 계산 기능(computational function)을 수행하기 위해 메인 프로그램(또는 다른 서브루틴)에 의해 호출되는 모듈식 프로그래밍의 아키텍처 계층(architectural hierarchy)과 유사한 맥락에서 이해된다. 이러한 맥락에서, IC 소자는 상기 매크로를 이용하여 하나 이상의 주어진 기능을 수행한다. 따라서, 이러한 맥락에서 그리고 아키텍처 계층의 관점에서, 상기 IC 소자는 메인 프로그램과 유사하고 상기 매크로는 서브루틴/프로시저와 유사하다. 일부 실시예에서, 상기 매크로는 소프트 매크로이다. 일부 실시예에서, 상기 매크로는 하드 매크로이다. 일부 실시예에서, 상기 매크로는 레지스터 전송 레벨(register-transfer level; RTL) 코드에서 디지털로 기술되는 소프트 매크로이다. 일부 실시예에서, 소프트 매크로가 다양한 프로세스 노드에 대해 합성, 배치 및 라우팅될 수 있도록 합성, 배치 및 라우팅이 매크로 상에서 수행되었다. 일부 실시예에서, 상기 매크로는, 이진 파일 형식(예컨대, GDSII(Graphic Database System II) 스트림 형식)으로 디지털로 기술되는 하드 매크로이며, 여기서 이진 파일 형식은 계층적 형태의 매크로의 하나 이상의 레이아웃 다이어그램의 평면 기하학적 형상, 텍스트 레이블, 기타 정보 등을 나타낸다. 일부 실시예에서, 하드 매크로가 특정 프로세스 노드에 특유하도록 합성, 배치 및 라우팅이 매크로 상에서 수행되었다.
메모리 매크로는 데이터가 메모리 셀에 기록되거나 메모리 셀로부터 읽혀질 수 있도록 어드레스 가능한(addressable) 메모리 셀을 포함하는 매크로이다. 일부 실시예에서, 메모리 매크로는 메모리 셀에 대한 액세스를 제공하고 및/또는 메모리 셀과 연관된 추가 기능을 수행하도록 구성된 회로를 더 포함한다. 예컨대, 메모리 매크로(110)는 본원에서 설명한 것과 같은 메모리 셀(MC)을 포함하는데, 이는 메모리 셀(MC)과 연관된 CIM 기능을 제공하도록 구성된 회로를 형성한다. 적어도 하나의 실시예에서, CIM 기능을 제공하도록 구성된 메모리 매크로를 CIM 매크로라 지칭한다. 설명한 매크로 구성은 예시이다. 다른 구성은 다양한 실시예의 범위 내에 있다.
메모리 매크로(110)의 메모리 셀(MC)은 메모리 어레이(112)의 복수의 열 및 행으로 배치된다. 메모리 컨트롤러(120)는 메모리 셀(MC)에 전기적으로 커플링되고, 읽기 동작, 쓰기 동작 등을 포함하지만 이에 제한되지 않는 메모리 셀(MC)의 동작을 제어하도록 구성된다.
메모리 어레이(112)는 메모리 셀(MC)의 열을 따라 연장하는 복수의 워드 라인("어드레스 라인"이라고도 함)(WL1 내지 WLr), 행을 따라 연장하는 복수의 비트 라인("데이터 라인"이라고도 함)(BL1 내지 BLt), 메모리 셀(MC)의 열을 따라 연장하는 복수의 비트 라인 바("데이터 라인 바"라고도 함)(BLB1 내지 BLBt)를 더 포함한다(여기서 r 및 t는 자연수). 각각의 메모리 셀(MC)은 적어도 하나의 워드 라인, 적어도 하나의 비트 라인 및 적어도 하나의 비트 라인 바에 의해 메모리 컨트롤러(120)에 전기적으로 커플링된다. 일부 예시적인 동작에서, 워드 라인은 읽혀질 메모리 셀(MC)의 어드레스를 전송하도록 또는 쓰여질 메모리 셀(MC)의 어드레스를 전송하도록 구성된다. 적어도 하나의 실시예에서, 워드 라인의 세트가 읽기 워드 라인과 쓰기 워드 라인 둘 다로서 수행하도록 구성된다. 일부 실시예에서, 예컨대, 비트 라인 및 비트 라인 바는 대응하는 워드 라인 등에 의해 나타내어지는 메모리 셀(MC)로부터 읽혀지거나 그 메모리 셀에 쓰여진 데이터를 전송하기 위해 이용된다.
일부 실시예에서, 예컨대, 읽기 비트 라인 및/또는 읽기 비트 라인 바는 대응하는 워드 라인에 의해 나타내어지는 메모리 셀(MC)로부터 읽혀진 데이터를 전송하도록 구성되고, 쓰기 비트 라인 및/또는 쓰기 비트 라인 바는 대응하는 워드 라인에 의해 나타내어지는 메모리 셀(MC)에 쓰여질 데이터를 전송하도록 구성된다.
상기 워드 라인은 본원에서 공통적으로 WL로 지칭되고, 상기 비트 라인은 본원에서 공통적으로 BL로 지칭되며, 상기 비트 라인 바는 본원에서 BLB로 지칭된다. 메모리 어레이(112) 내의 다양한 수의 워드 라인, 비트 라인 및/또는 비트 라인 바는 다양한 실시예의 범위 내에 있다. 메모리 셀(MC)의 예시적인 메모리 유형은 SRAM(Static Random-Access Memory), RRAM(Resistive RAM), MRAM(Magnetoresistive RAM), PCRAM(Phase Change RAM), STTRAM(Spin Transfer Torque RAM), 부동 게이트 금속 산화물 반도체 전계 효과 트랜지스터(FGMOS), 스핀트로닉스(spintronics) 등을 포함하지만 이에 제한되지 않는다. 본원에서 설명하는 하나 이상의 예시적인 실시예들에서, 메모리 셀(MC)은 SRAM 메모리 셀을 포함한다.
도 1의 구성 예에서, 메모리 셀(MC)은 단일 포트 메모리 셀이다. 일부 실시예에서, 메모리 셀의 포트는 읽기 동작(즉, 읽기 액세스)에서 및/또는 쓰기 동작에서(즉, 쓰기 액세스) 메모리 셀에의 액세스를 제공하도록 구성된 워드 라인(WL) 및 비트 라인(BL)/비트 라인 바(BLB)의 세트(본원에서 WL/BL/BLB 세트로 지칭)로 표현된다. 단일 포트 메모리 셀은 읽기 액세스와 쓰기 액세스 둘 다를 위해 그러나 동시에는 구성되지 않는 하나의 WL/BL/BLB 세트를 구비한다. 다중 포트 메모리 셀은, 읽기 액세스 전용, 쓰기 액세스 전용 또는 읽기 액세스와 쓰기 액세스 둘 다를 위해 각각 구성된 여러 WL/BL/BLB 세트를 구비한다. 단일 포트 메모리 셀의 예를 도 1, 도 3, 도 4, 도 5a 내지 도 5e, 도 6, 도 7a 및 도 7b와 관련하여 설명한다. 메모리 어레이(112)의 메모리 셀에 대한 다른 구성 또는 다른 개수는 포트는 본 개시의 범위 내에 있다. 예컨대, 일부 실시예에서, 도 1, 도 3, 도 4, 도 5a 내지 도 5e, 도 6, 도 7a 및 도 7b와 관련하여 설명하는 하나 이상의 단일 포트 메모리 셀은 대응하는 다중 포트 메모리 셀로 대체될 수 있다.
메모리 어레이(112)는 복수의 메모리 세그먼트를 포함한다. 일부 실시예에서, 메모리 세그먼트는 메모리 행, 메모리 열, 메모리 뱅크 등을 포함한다. 메모리 행은 동일한 워드 라인(WL)에 커플링된 복수의 메모리 셀을 포함한다. 메모리 열("메모리 스트링"이라고도 함)은 동일한 비트 라인(BL) 및 동일한 비트 라인 바(BLB)에 커플링된 복수의 메모리 셀을 포함한다. 메모리 뱅크는 둘 이상의 메모리 행 및/또는 둘 이상의 메모리 열을 포함한다. 적어도 하나의 실시예에서, 메모리 뱅크는 여러 메모리 행과 여러 메모리 열이 구비된 메모리 어레이(112)의 섹션을 포함한다. 일부 실시예에서, 메모리 세그먼트는 여러 메모리 뱅크를 포함한다. 한 가지 예에서, 제1 메모리 세그먼트(105)는 비트 라인(BL1) 및 비트 라인 바(BLB1)에 커플링된 메모리 셀(MC)의 메모리 열을 포함하고, 제2 메모리 세그먼트(107)는 비트 라인(BL2) 및 비트 라인 바(BLB2)에 커플링된 메모리 셀(MC)의 메모리 열을 포함한다(기타 등등). 메모리 어레이(112)를 복수의 메모리 세그먼트로 분할하는 다른 방식은 다양한 실시예의 범위 내에 있다.
각각의 메모리 셀(MC)은 저장 부분(storage portion)(117a)(도시의 편의를 위해 메모리 셀(117) 내에만 도시) 및 계산 부분(computation portion)(117b)(도시의 편의를 위해 메모리 셀(117) 내에만 도시)을 포함한다. 각각의 메모리 셀(MC)은, 하나의 가중치 데이터(W)(piece of weight data)를 저장하도록 구성되고, 그 하나의 가중치 데이터(W) 및 하나의 수신된 데이터(D_IN)(piece of received data)에 대해 CIM 연산을 수행하도록 구성된다. 각 저장 부분(117a)은 각 연산 부분(117b)에 대응한다.
메모리 셀(MC)의 각 저장 부분(117a)은 하나의 가중치 데이터(W)를 저장하도록 구성되고, 메모리 셀(MC)의 각 계산 부분(117b)은 그 하나의 가중치 데이터(W) 및 하나의 수신된 데이터(D_IN)에 대해 CIM 연산을 수행하도록 구성된다.
본원에서 설명한 하나 이상의 예시적인 실시예에서, 메모리 셀(MC)은 단일 비트 메모리 셀이다. 즉 각각의 메모리 셀은 한 비트의 가중치 데이터(W)를 저장하고, 그 한 비트의 가중치 데이터(w) 및 한 비트의 수신된 데이터(D_IN)의 CIM 연산에 기초하여 대응 비트의 출력 신호(Dout)를 계산하도록 구성된다. 이것은 하나의 예이며, 각각이 2비트 이상의 가중치 데이터(W)를 저장하고 그 대응하는 멀티비트 가중치 데이터(W)에 대해 해당 CIM 연산을 수행하도록 구성된 멀티비트 메모리 셀은 다양한 실시예의 범위 내에 있다. 일부 실시예에서, 단일 비트 메모리 셀은 또한 비트셀이라 지칭된다. 예컨대, 워드 라인(WL1), 비트 라인(BLt), 비트 라인 바(BLBt)에 커플링된 메모리 셀(113)은 하나의 가중치 데이터(W1,t)를 저장하고, 그 하나의 가중치 데이터(W)(W1,t) 및 수신된 입력 데이터(D_IN)의 대응하는 수신된 입력 데이터에 대해 CIM 연산을 수행하도록 구성된다. 여러 메모리 셀에 저장된 여러 가중치 데이터(W)의 조합은 CIM 연산에서 이용할 가중치 값을 구성한다. 단순화를 위해, 하나의 메모리 셀(MC)에 저장된 하나의 가중치 데이터, 여러 메모리 셀(MC)에 저장된 여러 가중치 데이터, 또는 메모리 어레이(112)의 모든 메모리 셀(MC)에 저장된 모든 가중치 데이터를 본원에서 가중치 데이터(W)라 지칭한다.
메모리 셀(MC)의 각 연산 부분(117b)은 입력 버퍼(128)의 출력에 커플링되고, 입력 데이터(D_IN)를 수신하도록 구성된다. 도 1의 예시적인 구성에서, 입력 데이터(D_IN)는 메모리 컨트롤러(120)의 입력 버퍼(128)로부터 공급된다. 하나 이상의 실시예에서, 입력 데이터(D_IN)는 메모리 소자(100)의 다른 메모리 매크로(도시 생략)로부터 공급되는 출력 데이터(예컨대, 출력 데이터 D_OUT)이다. 일부 실시예에서, 입력 데이터(D_IN)는 본원에서 설명한 바와 같이, 비트 스트림의 형태로 계산 부분(117b)에 연속하여(serially) 공급된다.
메모리 셀(MC)의 연산 부분(117b)은, 입력 버퍼(128)로부터의 입력 데이터(D_IN)에 기초하여, 하나 이상의 메모리 셀(MC)로부터 읽은 가중치 데이터(W) 및 상기 입력 데이터(D_IN)에 대해 수행된 CIM 연산에 대응하는 출력 데이터(DO)를 생성하도록 구성된다. CIM 연산의 예는 수학적 연산, 논리 연산, 그 조합 등을 포함하지만 이에 제한되는 것은 아니다. 적어도 하나의 실시예에서, 계산 부분(117d)은 곱셈 누산(Multiply Accumulate; MAC) 회로를 포함하고, 상기 CIM 연산은 하나 이상의 멀티비트 가중치 값과 하나 이상의 멀티비트 입력 데이터 값의 곱셈을 포함한다. 곱셈 이외의 CIM 연산을 수행하도록 구성된 추가적인 계산 부분 또는 회로는 다양한 실시예의 범위 내에 있다. 출력 데이터(DO)는 입력 데이터로서 출력 회로(115)에 공급된다.
가중치 버퍼(114)는 메모리 어레이(112)에 커플링되고, 메모리 어레이(112)에서 업데이트될 새로운 가중치 데이터를 일시적으로 보유하도록 구성된다. 일부 실시예에서, 가중치 버퍼(114)는 메모리 매크로(110)의 외부에 위치된다. 본원에서 설명한 것과 같은 일부 실시예에서, 각 메모리 세그먼트는 대응 가중치 버퍼에 커플링된다. 본원에서 설명한 것과 같은 하나 이상의 실시예에서, 공통 가중치 버퍼가 여러 메모리 세그먼트에 커플링된다. 가중치 버퍼(114)는 비트 라인(BL) 및 비트 라인 바(BLB)를 통해 메모리 어레이(112)의 메모리 셀(MC)에 커플링된다. 가중치 데이터 업데이트 동작에서, 상기 새로운 가중치 데이터는 가중치 버퍼(114)로부터 그리고 대응하는 비트 라인(BL) 및 대응하는 비트 라인 바(BLB)를 통해 하나 이상의 메모리 셀(MC)에 쓰여진다. 도 1에 개략적으로 도시된 바와 같이, 가중치 버퍼(114)는, 상기 새로운 가중치 데이터가 언제 업데이트될지 및/또는 어느 메모리 셀(MC)에서 업데이트될지를 지정하는 제어 신호 및/또는 새로운 가중치 데이터를 수신하기 위해 메모리 컨트롤러(120)에 커플링된다. 적어도 하나의 실시예에서, 상기 새로운 가중치 데이터는 메모리 소자(100) 외부의 외부 회로, 예컨대, 본원에서 설명한 것과 같은 프로세서로부터 수신된다. 상기 새로운 가중치 데이터는 메모리 컨트롤러(120)의 하나 이상의 입/출력(I/O) 회로 (도시 생략)를 통해 수신되고, 가중치 버퍼(114)에 전달된다. 예시적인 가중치 버퍼는 레지스터, 메모리 셀, 또는 데이터 저장을 위해 구성된 다른 회로 요소를 포함하지만 이에 제한되지 않는다.
출력 회로(115)는 하나 이상의 메모리 셀(MC)로부터 출력 데이터(DO)를 수신하도록 비트 라인(BL)/비트 라인 바(BLB)에 결합된 입력을 구비한다. 출력 회로(115)는 비트 라인(BL)/비트 라인 바(BLB)로부터 수신된 메모리 어레이(112)로부터의 출력 데이터(DO)를 래치하고, 출력 회로(115)의 출력 상에 출력 신호(D_OUT)를 공급하도록 구성된다. 출력 회로(115)의 예는 레지스터, 플립플롭, 래치 등을 포함한다.
일부 실시예에서, 출력 데이터(D_OUT)는 입력 데이터로서 메모리 소자(100)의 다른 메모리 매크로(도시 생략)에 공급된다. 하나 이상의 실시예에서, 출력 데이터(D_OUT)는, 메모리 컨트롤러(120)의 하나 이상의 I/O 회로(도시 생략)를 통해, 메모리 소자(100) 외부의 외부 회로, 예컨대 본원에 설명한 것과 같은 프로세서에 출력된다.
도 1의 구성 예에서, 컨트롤러(120)는 워드 라인 드라이버(122), 비트 라인 드라이버 124, 비트 라인 바 드라이버(125), 제어 회로(126), 및 입력 버퍼(128)를 포함한다. 적어도 하나의 실시예에서, 컨트롤러(120)는 메모리 소자(100)의 다양한 구성요소에 대해 클록 신호를 제공하기 위한 하나 이상의 클록 생성기, 외부 소자와의 데이터 교환을 위한 하나 이상의 입/출력(I/O) 회로, 및/또는 메모리 소자(100)에서의 다양한 동작을 제어하기 위한 하나 이상의 컨트롤러를 더 포함한다.
워드 라인 드라이버(122)는 워드 라인(WL)을 통해 메모리 어레이(112)에 커플링된다. 워드 라인 드라이버(122)는 읽기 동작 또는 쓰기 동작에서 액세스되도록 선택된 메모리 셀(MC)의 행 어드레스(row address)를 디코딩하도록 구성된다. 워드 라인 드라이버(122)는 디코딩된 행 어드레스에 대응하는 상기 선택된 워드 라인(WL)에 전압을 공급하고, 선택되지 않은 다른 워드 라인(WL)에 상이한 전압을 공급하도록 구성된다.
비트 라인 드라이버(124)는 비트 라인(BL)을 통해 메모리 어레이(112)에 커플링된다. 비트 라인 드라이버(124)는 읽기 동작 또는 쓰기 동작에서 액세스되도록 선택된 메모리 셀(MC)의 열 어드레스(column address)를 디코딩하도록 구성된다. 비트 라인 드라이버(124)는 디코딩된 열 어드레스에 대응하는 선택된 비트 라인(BL)에 전압을 공급하고, 선택되지 않은 다른 비트 라인(BL)에 상이한 전압을 공급하도록 구성된다.
비트 라인 바 드라이버(125)는 비트 라인 바(BLB)를 통해 메모리 어레이(112)에 커플링된다. 비트 라인 바 드라이버(125)는 읽기 또는 쓰기 동작에서 액세스되도록 선택된 메모리 셀(MC)의 열 어드레스를 디코딩하도록 구성된다. 비트 라인 바 드라이버(125)는 디코딩된 열 어드레스에 대응하는 선택된 비트 라인 바(BLB)에 전압을 공급하고, 선택되지 않은 다른 비트 라인 바(BLB)에 상이한 전압을 공급하도록 구성된다.
제어 회로(126)는 하나 이상의 메모리 셀(MC), 가중치 버퍼(114), 출력 회로(115), 워드 라인 드라이버(122), 비트 라인 드라이버(124), 비트 라인 바 드라이버(125), 입력 버퍼(128)에 커플링되어, 메모리 소자(100)의 전체 동작에서 이들 회로, 드라이버 및/또는 버퍼의 동작을 조정한다(coordinate). 예컨대, 제어 회로(126)는 하나 이상의 메모리 셀(MC), 가중치 버퍼(114) , 출력 회로(115), 워드 라인 드라이버(122), 비트 라인 드라이버(124), 비트 라인 바 드라이버(125), 입력 버퍼(128)의 동작을 제어하기 위한 다양한 제어 신호를 생성하도록 구성된다.
입력 버퍼(128)는 메모리 소자(100) 외부의 외부 회로, 예컨대, 본원에서 설명한 것과 같은 프로세서로부터 입력 데이터를 수신하도록 구성된다. 입력 데이터는 메모리 컨트롤러(120)의 하나 이상의 I/O 회로(도시 생략)를 통해 수신되어 입력 버퍼(128)를 통해 메모리 어레이(112)에 전달된다. 예시적인 입력 버퍼는 레지스터, 메모리 셀, 또는 데이터 저장을 위해 구성된 다른 회로 요소를 포함하지만 이에 제한되지 않는다.
적어도 하나의 실시예에서, 메모리 소자(100)와 같은 CIM 메모리 소자는 데이터가 메모리와 프로세서 사이에서 앞뒤로 이동되는 다른 접근 방식보다 유리한데, 성능 및 에너지 효율 모두에 방해가 되는 이러한 앞뒤 데이터 이동을 피할 수 있기 때문이다. CIM 애플리케이션의 예는 인공 지능, 화상 인식, 기계 학습을 위한 신경망 등이 포함되지만 이에 제한되지는 않는다. 일부 실시예에서, 하나 이상의 실시예에서, 메모리 소자(100)는 가중치 데이터 업데이트 및 CIM 연산을 동시에 수행하는 것을 가능하게 한다.
각각의 메모리 셀(MC)은 저장 부분(117a)(도시의 편의를 위해 메모리 셀(117) 내에만 도시) 및 계산 부분(117b)(도시의 편의를 위해 메모리 셀(117) 내에만 도시)을 포함한다. 각각의 메모리 셀(MC)은, 하나의 가중치 데이터(W)를 저장하도록 구성되고, 그 하나의 가중치 데이터(W) 및 하나의 수신된 데이터(D_IN)에 대해 CIM 연산을 수행하도록 구성된다.
메모리 셀(MC)의 각 저장 부분(117a)은 하나의 가중치 데이터(W)를 저장하도록 구성되고, 메모리 셀(MC)의 각 계산 부분(117b)은 그 하나의 가중치 데이터(W) 및 하나의 수신된 데이터(D_IN)에 대해 CIM 연산을 수행하도록 구성된다.
일부 실시예에서, 메모리 어레이(112)의 각 메모리 셀(MC) 내에 계산 부분(117b)이 포함되어, CIM 매크로의 계산 부분(117b)의 트랜지스터의 수를 감소시켜, 다른 접근법에 비해 메모리 매크로(110)의 크기를 감소시킬 수 있다.
일부 실시예에서, 메모리 어레이(112)의 각 메모리 셀(MC) 내에 계산 부분(117b)이 포함되어, CIM 매크로 내에서 각 메모리 셀(MC)의 계산 부분(117b)과 저장 부분(117a) 사이의 거리를 감소시켜, 다른 접근법에 비해, 메모리 어레이(112)의 계산 부분(117b)과 저장 부분(117a) 사이의 데이터 손실 또는 붕괴(decay)를 감소시킬 수 있다.
일부 실시예에서, 메모리 어레이(112)의 각 메모리 셀(MC) 내에 계산 부분(117b)이 포함되어, CIM 매크로의 계산 부분(117b) 내부의 더 적은 개수의 트랜지스터 소자에 의해 입력 데이터(DIN)를 전송시켜, 본 개시보다 더 많은 수의 트랜지스터를 갖는 다른 접근법의 논리 소자와 관련된 상기 지연을 감소시킬 수 있다.
그 결과, 적어도 하나의 실시예에서, 감소된 처리 시간, 감소된 전력 소비, 감소된 칩 면적, 감소된 제조 비용, 개선된 성능 등을 포함하지만 이에 제한되지 않는 하나 이상의 이점을 달성할 수 있다.
도 2a는 일부 실시예에 따른 메모리 소자(200A)의 개략도이다.
메모리 소자(200A)는 메모리 매크로(202, 204, 206, 208) 및 메모리 컨트롤러(220)를 포함한다. 일부 실시예에서, 메모리 매크로(202, 204, 206, 208) 중 하나 이상은 메모리 매크로(110)에 대응하고, 및/또는 메모리 컨트롤러(220)는 메모리 컨트롤러(120)에 대응한다. 도 2a의 구성 예에서, 메모리 컨트롤러(220)는 메모리 매크로(202, 204, 206, 208)에 대한 공통 메모리 컨트롤러이다. 적어도 하나의 실시예에서, 메모리 매크로(202, 204, 206, 208) 중 적어도 하나는 그 자체의 메모리 컨트롤러를 구비한다. 메모리 소자(200A)의 4개의 메모리 매크로의 수는 일례이다. 다른 구성은 다양한 실시예의 범위 내에 있다.
메모리 매크로(202, 204, 206, 208)는 서로 순차적으로 커플링되어, 선행 메모리 매크로의 출력 데이터는 후속 메모리 매크로에 대한 입력 데이터가 된다. 예컨대, 입력 데이터(DIN)가 메모리 매크로(202)에 입력된다. 메모리 매크로(202)는 메모리 매크로(202)에 저장된 가중치 데이터(W) 및 입력 데이터(DIN)(도 1에 도시)에 기초하여 하나 이상의 CIM 연산을 수행하고, 그 CIM 연산의 결과로서 출력 데이터(DOUT2)를 생성한다. 출력 데이터(DOUT2)는 메모리 매크로(204)의 입력 데이터(DIN4)로서 공급된다. 메모리 매크로(204)는 메모리 매크로(204)에 저장된 가중치 데이터(W) 및 입력 데이터(DIN4)에 기초하여 하나 이상의 CIM 연산을 수행하고, 그 CIM 연산의 결과로서 출력 데이터(DOUT4)를 생성한다. 출력 데이터(DOUT4)는 메모리 매크로(206)의 입력 데이터(DIN6)로서 공급된다. 메모리 매크로(206)는 메모리 매크로(206)에 저장된 가중치 데이터(W) 및 입력 데이터(DIN6)에 기초하여 하나 이상의 CIM 연산을 수행하고, 그 CIM 연산의 결과로서 출력 데이터(DOUT6)를 생성한다. 출력 데이터(DOUT6)는 메모리 매크로(208)의 입력 데이터(DIN8)로서 공급된다. 메모리 매크로(208)는 메모리 매크로(208)에 저장된 가중치 데이터(W) 및 입력 데이터(DIN8)에 기초하여 하나 이상의 CIM 연산을 수행하고, 그 CIM 연산의 결과로서 출력 데이터(DOUT)를 생성한다. 입력 데이터(DIN, DIN4, DIN6, DIN8) 중 하나 이상은 도 1과 관련하여 설명한 입력 데이터(D_IN)에 대응하고, 및/또는 출력 데이터(DOUT2, DOUT4, DOUT6, DOUT) 중 하나 이상은 도 1과 관련하여 설명한 출력 데이터(D_OUT)에 대응하고, 따라서 유사한 상세 설명은 생략한다. 적어도 하나의 실시예에서, 메모리 매크로(202, 204, 206, 208)의 상기 설명한 구성은 신경망을 구현한다. 적어도 하나의 실시예에서, 본원에서 설명한 하나 이상의 이점은 메모리 소자(200A)에 의해 달성가능하다.
도 2b는 일부 실시예에 따른, 신경망(200B)의 개략도이다.
신경망(200B)은, 각각 복수의 노드(또는 뉴런)를 포함하는 복수의 층(A-E)을 포함한다. 신경망(200B)의 연속적인 층에 있는 노드는 연결 매트릭스 또는 어레이(matrix or array of connections)에 의해 서로 연결된다. 예컨대, 층(A 및 B) 내의 노드는 매트릭스(212) 내의 연결에 의해 서로 연결되고, 층(B 및 C) 내의 노드는 매트릭스(214) 내의 연결에 의해 서로 연결되며, 층(C 및 D) 내의 노드는 매트릭스(216) 내의 연결에 의해 서로 연결되고, 층(D 및 E) 내의 노드는 매트릭스(218) 내의 연결에 의해 서로 연결된다. 층(A)은 입력 데이터(211)를 수신하도록 구성된 입력 층이다. 입력 데이터(211)는, 층들 사이의 대응하는 연결 매트릭스를 매개로, 한 층에서 다음 층으로 신경망(200B)을 통해 전파한다. 데이터가 신경망(200B)을 통해 전파함에 따라, 데이터는 하나 이상의 계산을 거쳐, 신경망(200B)의 출력 층인 층(E)으로부터 출력 데이터(219)로서 출력된다. 입력 층(A)과 출력 층(E) 사이의 층(B, C, D)을 종종 은닉(hidden) 또는 중간 층이라고 지칭한다. 도 2b에서, 층 수, 연결 매트릭스 수, 각 층 내의 노드 수는 예시이다. 다른 구성은 다양한 실시예의 범위 내에 있다. 예컨대, 적어도 하나의 실시예에서, 신경망(200B)은 은닉층을 포함하지 않고, 하나의 연결 매트릭스에 의해 출력 층에 연결된 입력 층을 구비한다. 하나 이상의 실시예에서, 신경망(200B)은 1개, 2개, 또는 3개보다 많은 은닉층을 구비한다.
일부 실시예에서, 매트릭스(212, 214, 216, 218)는 메모리 매크로(202, 204, 206, 208)에 의해 대응하여 구현되고, 입력 데이터(211)는 입력 데이터(DIN)에 대응하고, 출력 데이터(219)는 출력 데이터(DOUT)에 대응하며, 따라서 유사한 상세 설명은 생략한다. 구체적으로, 매트릭스(212)에서, 층(A)의 노드와 층(B)의 다른 노드 사이의 연결은 대응 가중치를 갖고 있다. 예컨대, 노드(A1)와 노드(B1) 사이의 연결은 메모리 매크로(202)의 메모리 어레이에 저장된 가중치 값에 대응하는 가중치 W(A1,B1)를 갖고 있다. 메모리 매크로(204, 206, 208)는 유사한 방식으로 구성된다. 메모리 매크로(202, 204, 206, 208) 중 하나 이상의 가중치 데이터(W)는 예컨대, 신경망(200B)을 이용하여 기계 학습이 수행됨에 따라, 프로세서에 의해 그리고 메모리 컨트롤러(220)를 통해 업데이트된다. 본원에서 설명한 하나 이상의 이점은 일부 실시예에 따른 하나 이상의 메모리 매크로 및/또는 메모리 소자에 의해 전체적으로 또는 부분적으로 구현되는 신경망(200B)에서 달성 가능하다.
도 2c는 일부 실시예에 따른 집적 회로(IC) 소자(200C)의 개략도이다.
IC 소자(200C)는 도 1의 메모리 소자(100) 또는 도 2a의 메모리 소자(200A)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
IC 소자(200C)는 하나 이상의 하드웨어 프로세서(232)와, 하나 이상의 버스(236)에 의해 프로세서(234)에 커플링된 하나 이상의 메모리 소자(234)를 포함한다 . 일부 실시예에서, 하나 이상의 하드웨어 프로세서(232)는 도 1의 컨트롤러(120) 또는 도 2a의 메모리 컨트롤러(220)에서 하나 이상의 구성요소로서 사용 가능하며, 따라서 유사한 상세 설명은 생략한다. 일부 실시예에서, 하나 이상의 메모리 소자(234)는 도 1의 메모리 매크로(110) 또는 도 2a의 메모리 매크로(202, 204, 206 또는 208) 중 하나 이상에서 하나 이상의 구성요소로서 사용 가능하며, 따라서 유사한 상세 설명은 생략한다.
일부 실시예에서, IC 소자(200C)는 셀룰러 트랜시버, GPS(Global Positioning System) 수신기, Wi-Fi, USB, 블루투스 등 중 하나 이상을 위한 네트워크 인터페이스 회로를 포함하지만 이에 제한되지 않는 하나 이상의 회로를 더 포함한다. 프로세서(232)의 예는 중앙 처리 유닛(CPU), 멀티 코어 CPU, 신경 처리 유닛(NPU), 그래픽 처리 유닛(GPU), 디지털 신호 프로세서(DSP), FPGA(field-programmable gate array), ASIC(application-specific integrated circuit), 기타 프로그램가능한 로직 소자, 멀티미디어 프로세서, 이미지 신호 프로세서(ISP) 등을 포함하지만 이에 제한되지 않는다. 메모리 소자(234)의 예는 본원에 개시된 하나 이상의 메모리 소자 및/또는 메모리 매크로를 포함한다. 적어도 하나의 실시예에서, 프로세서(232) 각각은 메모리 소자(234) 중 대응하는 메모리 소자에 커플링된다.
메모리 소자(234) 중 하나 이상이 CIM 메모리 소자이기 때문에, 그 메모리 소자에서 여러 계산이 수행되어, 대응하는 프로세서의 컴퓨팅 워크로드를 줄이고, 메모리 액세스 시간을 줄이며, 성능을 향상시킨다. 적어도 하나의 실시예에서, IC 소자(200C)는 시스템 온 칩(SOC)이다. 적어도 하나의 실시예에서, 본원에서 설명한 하나 이상의 이점은 IC 소자(200C)에 의해 달성가능하다.
도 3은 일부 실시예에 따른 메모리 셀(300)의 회로도이다.
메모리 셀(300)은 개략도로 표현된 도 1의 메모리 매크로(110)의 메모리 어레이(112) 내의 하나 이상의 메모리 셀(MC)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
도 1, 도 2a 내지 도 2c, 도 3, 도 4, 도 5a 내지 도 5e 및 도 6(후술) 중 하나 이상에 있는 것과 동일하거나 유사한 구성요소에는 동일한 참조 번호가 부여되고 이에 대한 상세한 설명은 생략한다. 도시의 용이함을 위해, 도 1, 도 2a 내지 도 2c, 도 3, 도 4, 도 5a 내지 도 5e 및 도 6에서 표기한 요소 중 일부는 도 1, 도 2a 내지 도 2c, 도 3, 도 4, 도 5a 내지 도 5e 및 도 6 각각에서 표기되어 있지 않다. 일부 실시예에서, 도 1, 도 2a 내지 도 2c, 도 3, 도 4, 도 5a 내지 도 5e 및 도 6은 도 1, 도 2a 내지 도 2c, 도 3, 도 4, 도 5a 내지 도 5e 및 도 6에 도시되지 않은 추가 요소를 포함한다.
메모리 셀(300)은 도 1의 메모리 매크로(110)의 메모리 어레이(112) 내의 하나 이상의 메모리 셀(MC)로서 사용가능하고, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(300)은 도 2a의 메모리 매크로(202, 204, 206, 208) 내의 하나 이상의 메모리 셀, 또는 도 2c의 메모리 소자(234)의 하나 이상의 메모리 셀로서 사용 가능하고, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(300)은 메모리 회로(302) 및 승산 회로(304)를 포함한다.
메모리 회로(302)는 도 1의 하나 이상의 메모리 셀(MC)의 하나 이상의 저장 부분(117a)으로서 사용 가능하고, 승산 회로(304)는 도 1의 하나 이상의 메모리 셀(MC)의 하나 이상의 계산 부분(117b)으로서 사용 가능하고, 따라서 유사한 상세 설명은 생략한다.
메모리 회로(302)는 승산 회로(304)에 커플링된다. 메모리 회로(302)는 스토리지 노드(ND)에서 신호(Q)의 논리 값("1" 또는 "0")을 저장하도록 구성된다. 일부 실시예에서, 신호(Q)는 도 1의 하나 이상의 가중치 데이터에 대응하고, 출력 신호(Dout)는 도 1의 하나 이상의 출력 데이터(DO)에 대응하고, 따라서 유사한 상세 설명은 생략한다.
일부 실시예에서, 메모리 회로(302)는 스토리지 노드(ND)에서 신호(Q)의 논리 값("1" 또는 "0") 및 스토리지 노드(NDB)에서 신호(QB)의 논리 값 ("0" 또는 "1")을 저장하도록 구성된 메모리 셀 또는 메모리 셀 저장 부분이라 지칭된다. 일부 실시예에서, 메모리 회로(302)는 도 2b로부터의 하나 이상의 가중치 값 또는 가중치 데이터(W)를 저장하도록 구성된다.
메모리 회로(302)는 예시를 위해 이용된 6트랜지스터(6T) 단일 포트(SP) SRAM 메모리 셀이다. 일부 실시예에서, 메모리 회로(302)는 6개 이외의 다수의 트랜지스터를 이용한다. 일부 실시예에서, 메모리 회로(302)는 하나가 아닌 다수의 포트를 이용한다. 메모리 회로(302)에 대한 다른 유형의 메모리는 다양한 실시예의 범위 내에 있다.
메모리 회로(302)는 2개의 P형 금속 산화물 반도체(PMOS) 트랜지스터(P1 및 P2)와 4개의 N형 금속 산화물 반도체(NMOS) 트랜지스터(N1, N2, N3, N4)를 포함한다. 트랜지스터(P1, P2, N1 및 N2)는 교차 래치 또는 한 쌍의 교차-커플링된 인버터(cross-coupled inverters)를 형성한다. 예컨대, PMOS 트랜지스터(P1) 및 NMOS 트랜지스터(N1)는 제1 인버터를 형성하고, PMOS 트랜지스터(P2) 및 NMOS 트랜지스터(N2)는 제2 인버터를 형성한다.
PMOS 트랜지스터(P1 및 P2)의 각각의 소스 단자는 전압 공급 노드(NODE_1)로서 구성된다. 각 전압 공급 노드(NODE_1)는 제1 전압원(VDDI)에 커플링된다. PMOS 트랜지스터(P1)의 드레인 단자, NMOS 트랜지스터(N1)의 드레인 단자, PMOS 트랜지스터(P2)의 게이트 단자, NMOS 트랜지스터(N2)의 게이트 단자 및 NMOS 트랜지스터(N3)의 소스 단자 각각은 스토리지 노드(ND)에서 함께 커플링된다. 적어도 PMOS 트랜지스터(P1)의 드레인 단자 및 NMOS 트랜지스터(N1)의 드레인 단자는 스토리지 노드(ND)로서 구성된다. 스토리지 노드(ND)는 신호(Q)를 갖고 있다.
PMOS 트랜지스터(P2)의 드레인 단자, NMOS 트랜지스터(N2)의 드레인 단자, PMOS 트랜지스터(P1)의 게이트 단자, NMOS 트랜지스터(N1)의 게이트 단자, NMOS 트랜지스터(N4)의 소스 단자 및 PMOS 트랜지스터(P3)의 게이트 단자 각각은 스토리지 노드(NDB)에서 함께 커플링된다. 적어도 PMOS 트랜지스터(P2)의 드레인 단자 및 NMOS 트랜지스터(N2)의 드레인 단자는 스토리지 노드(NDB)로서 구성된다. 스토리지 노드(NDB)는 신호(QB)를 갖고 있다.
NMOS 트랜지스터(N1 및 N2) 각각의 소스 단자는 공급 기준 전압 노드(표기되지 않음)로서 구성되고, 기준 전압 공급(VSSI)에 커플링된다. 기준 전압 공급(VSSI)은 기준 전압(VSS)을 갖고 있다. 일부 실시예에서, NMOS 트랜지스터(N1 및 N2) 각각의 소스 단자는 함께 커플링된다.
워드 라인(WL)이 NMOS 트랜지스터(N3 및 N4) 각각의 게이트 단자와 커플링된다. 워드 라인(WL)은, NMOS 트랜지스터(N3 및 N4)가 비트 라인(BL, BLB)과 대응 노드(ND, NDB) 사이에서 데이터를 전달하기 위해 워드 라인(WL) 상의 신호에 의해 제어되도록 구성되기 때문에, 쓰기 제어 라인이라고도 불린다.
NMOS 트랜지스터(N3)의 드레인 단자가 비트 라인(BL)에 커플링된다. NMOS 트랜지스터(N4)의 드레인 단자가 비트 라인(BLB)에 커플링된다. 비트 라인(BL 및 BLB)은 메모리 회로(302)에 대한 데이터 입력 및 출력으로서 구성된다. 일부 실시예에서, 쓰기 동작에서, 논리 값을 제1 비트 라인(BL)에 적용하고 반대 논리 값을 다른 비트 라인(BLB)에 적용하면 비트 라인 상의 논리 값을 메모리 회로(302)에 기록할 수 있다. 비트라인(BL, BLB) 각각은, 비트라인(BL 및 BLB)에 실린 데이터가 대응 노드(ND 및 NDB)에 쓰여지고 그 노드로부터 읽혀지기 때문에, 데이터 라인이라고 불린다.
워드 라인(WL)은 도 1의 하나 이상의 워드 라인(WL1, WL2, …, WLr)에 대응하고, 비트 라인(BL)은 도 1의 하나 이상의 비트 라인(BL1, BL2, …, BLt)에 대등하고, 비트 라인 바(BLB)는 도 1의 하나 이상의 비트 라인 바(BLB1, BLB2, …, BLBt)에 대응하고, 따라서 유사한 상세 설명은 생략한다.
승산 회로(304)는 메모리 회로(302)에 커플링된다. 승산 회로(304)는 입력 신호(DIN) 및 적어도 신호(QB) 또는 신호(Q)에 응답하여 출력 신호(Dout)를 생성하도록 구성된다. 일부 실시예에서, 입력 신호(DIN)는 도 1의 하나 이상의 입력 데이터(D_IN)에 대응하고, 따라서 유사한 상세 설명은 생략한다.
승산 회로(304)는 신호(Q) 및 입력 신호(DIN)의 CIM 연산을 수행하여 출력 신호(Dout)를 생성하도록 구성된다. 달리 말하면, 출력 신호(Dout)는 신호(Q)와 입력 신호(DIN)의 CIM 연산에 대응한다. 일부 실시예에서, CIM 연산은 AND 연산이고, 출력 신호(Dout)는 신호(Q)와 입력 신호(DIN) 사이의 AND 연산에 대응한다. 일부 실시예에서, 출력 신호(Dout)는 신호(Q)와 입력 신호(DIN)의 곱에 대응한다. CIM 연산을 위한 다른 연산 유형은 본 개시의 범위 내에 있다.
승산 회로(304)는 PMOS 트랜지스터(P3), 초기화 회로(306) 및 출력 노드(ND1)를 포함한다. 출력 노드(ND1)의 전압은 출력 신호(Dout)에 대응한다.
일부 실시예에서, 승산 회로(304)는 초기화 모드 및 감지 모드를 갖는다. 각 초기화 모드는 대응 감지 모드와 연관되어 있고, 그 반대의 경우도 마찬가지이다.
초기화 모드 중에, 초기화 회로(306)는 초기화 신호(SINI) 및 신호(S1)에 응답하여 승산 회로(304)를 초기화하도록 구성된다.
감지 모드 중에, 승산 회로(304)는 입력 신호(DIN) 및 적어도 신호(QB) 또는 신호(Q)에 응답하여 출력 신호(Dout)를 설정하도록 구성된다. 일부 실시예에서, 감지 모드는 메모리 회로(302)의 읽기 동작과 연관되고, 메모리 회로(302) 내에 저장된 데이터(예컨대, 신호(Q 또는 QB))는 출력 신호(Dout)를 생성할 때 승산 회로(304)에 의해 읽혀진다. 일부 실시예에서, 감지 모드 중에, 초기화 회로(306)는 초기화 신호(SINI)에 의해 디스에이블되거나(disabled) 턴-오프된다.
일부 실시예에서, 감지 모드 중에, 승산 회로(304)는 입력 신호(DIN) 및 적어도 신호(QB) 또는 신호(Q)에 응답하여 승산 회로(304)의 출력 노드(ND1)의 전압을 설정하여, 출력 신호의(Dout)의 전압을 설정하도록 구성된다.
PMOS 트랜지스터(P3)는 출력 노드(ND1), 초기화 회로(306) 및 메모리 회로(302)에 커플링된다. PMOS 트랜지스터(P3)는 입력 신호(DIN) 및 적어도 신호(QB) 또는 신호(Q)를 수신하도록 구성된다. 일부 실시예에서, 감지 모드 중에, PMOS 트랜지스터(P3)는 입력 신호(DIN) 및 적어도 신호(QB) 또는 신호(Q)에 응답하여 승산 회로(304)의 출력 노드(ND1)의 전압을 설정하도록 구성된다.
PMOS 트랜지스터(P3)의 드레인 단자는 노드(ND2)에 커플링되고, 입력 신호(DIN)를 수신하도록 구성된다. PMOS 트랜지스터(P3)의 소스는 초기화 회로(306) 및 출력 노드(ND1)에 커플링된다.
PMOS 트랜지스터(P3)의 게이트 단자는 스토리지 노드(NDB), PMOS 트랜지스터(P2)의 드레인 단자, NMOS 트랜지스터(N2)의 드레인 단자, PMOS 트랜지스터(P1)의 게이트 단자, NMOS 트랜지스터(N1)의 게이트 단자 및 NMOS 트랜지스터(N4)의 소스 단자 각각에 커플링된다. PMOS 트랜지스터(P3)의 게이트 단자는 승산 회로(304)의 입력 노드이고, 신호(QB)를 수신하도록 구성된다. PMOS 트랜지스터(P3)는 신호(QB)에 응답하여 턴-온 또는 턴-오프된다.
일부 실시예에서, 감지 모드 중에, 신호(QB)가 논리 로우 값("0")인 것에 응답하여 PMOS 트랜지스터(P3)가 턴-온되어, 노드(ND2)와 노드(ND1)을 전기적으로 커플링하고 노드(ND1)의 전압이 입력 신호(DIN)과 동일하도록 설정한다.
일부 실시예에서, 감지 모드 중에, 신호(QB)가 논리 하이 값("1")인 것에 응답하여 PMOS 트랜지스터(P3)가 턴-오프되어, 노드(ND2)와 노드(ND1)를 전기적으로 디커플링하고, 노드(ND1)의 전압은, 초기화 단계 동안 초기화 회로(306)에 의해 설정된 초기화 값에 기초하여 설정된다. 달리 말하면, 감지 모드 중에, PMOS 트랜지스터(P3)가 턴-오프되면, 노드(ND1)의 전압은 초기화 단계 동안 초기화 회로(306)에 의해 설정된 초기화 값에서 유지된다.
초기화 회로(306)는 출력 노드(ND1)에 의해 PMOS 트랜지스터(P3)에 커플링된다. 초기화 모드 중에, 초기화 회로(306)는 인에이블되거나(enabled) 턴-온되고, 초기화 신호(SINI) 및 신호(S1)에 응답하여 출력 신호(Dout)를 초기화 값으로 설정하도록 구성된다. 일부 실시예에서, 승산 회로(304)를 초기화하는 것은 승산 회로(304)를 초기화 값으로 리셋하는 것에 대응한다. 일부 실시예에서, 초기화 신호(SINI)는 초기화 회로(306)를 인에이블 또는 디스에이블시키는 인에이블 신호에 대응한다.
일부 실시예에서, 초기화 값은 논리 로우 값("0")이다. 일부 실시예에서, 초기화 값은 논리 하이 값("1")이다. 일부 실시예에서, 신호(S1)는 기준 전압(VSS)과 동일하다. 일부 실시예에서, 신호(S1)는 공급 전압(VDD)과 동일하다.
일부 실시예에서, 메모리 셀(300)은 적어도 도 1 및 도 2a 내지 도 2c와 관련하여 위에서 논의한 이점과 유사한 이점을 달성한다.
본 출원의 NMOS 트랜지스터(N1, N2, N3 또는 N4) 각각 또는 PMOS 트랜지스터(P1, P2 또는 P3) 각각에 대한 다른 트랜지스터 단자는 본 개시의 범위 내에 있다. 예컨대, 본 개시에서 동일 트랜지스터의 드레인 및 소스에 대한 참조는 동일 트랜지스터의 소스 및 드레인으로 변경될 수 있다.
메모리 셀(300)의 다른 구성, 트랜지스터의 양 또는 트랜지스터 유형은 본 개시의 범위 내에 있다.
도 4은 일부 실시예에 따른 메모리 셀(400)의 회로도이다.
메모리 셀(400)은 개략도로 표현된 도 1의 메모리 매크로(110)의 메모리 어레이(112) 내의 하나 이상의 메모리 셀(MC)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(400)은 도 3의 메모리 셀(300)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(400)은 메모리 회로(302) 및 승산 회로(404)를 포함한다. 승산 회로(404)는 도 3의 승산 회로(304)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
승산 회로(404)는 PMOS 트랜지스터(P3), 초기화 회로(406) 및 출력 노드(ND1)를 포함한다. 초기화 회로(406)는 도 3의 초기화 회로(306)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
초기화 회로(406)는 NMOS 트랜지스터(N5)를 포함한다.
NMOS 트랜지스터(N5)의 소스 단자는 노드(ND3) 및 기준 전압 공급(VSSI)에 커플링된다. NMOS 트랜지스터(N5)의 소스 단자는 기준 전압(VSS)(예컨대, 신호(S1))을 수신하도록 구성된다.
NMOS 트랜지스터(N5)의 드레인 단자는 PMOS 트랜지스터(P3)의 드레인 단자 및 출력 노드(ND1)에 커플링된다.
NMOS 트랜지스터(N5)의 게이트 단자는 초기화 회로(406)의 입력 노드이고, 초기화 신호(SINI)를 수신하도록 구성된다. NMOS 트랜지스터(N5)는 초기화 신호(SINI)에 응답하여 턴-온 또는 턴-오프된다. NMOS 트랜지스터(N5)의 게이트 단자는 초기화 신호(SINI)의 소스에 커플링된다.
초기화 모드 중에, NMOS 트랜지스터(N5)는 인에이블되거나 턴-온되고, 초기화 신호(SINI)에 응답하여 출력 신호(Dout)를 초기화 값으로 설정하도록 구성된다. 일부 실시예에서, 승산 회로(404)를 초기화하는 것은 승산 회로(404)를 초기화 값으로 리셋하는 것에 대응한다.
일부 실시예에서, 초기화 모드 중에, NMOS 트랜지스터(N5)는 초기화 신호(SINI)가 논리 하이 값("1")인 것에 응답하여 턴-온되어, 노드(ND3)와 노드(ND1)를 전기적으로 커플링하고 노드(ND1)의 전압을 신호(S1)(예컨대, 기준 전압(VSS))과 동일하도록 설정한다.
일부 실시예에서, 초기화 모드 중에, 입력 신호(DIN)는 노드(ND2)가 신호(S1)(예컨대, 기준 전압(VSS))와 다른 논리 값을 갖는 것을 피하기 위해 논리 로우 값("0")으로 설정되어, 노드(ND3 및 ND2) 사이에서의 논리 값 사이의 충돌(conflict)을 방지한다.
일부 실시예에서, 초기화 모드(예컨대, 감지 모드) 전 또는 후에, NMOS 트랜지스터(N5)는 초기화 신호(SINI)가 논리 로우 값("0")인 것에 응답하여 턴-오프되어 노드(ND3)와 노드(ND1)를 전기적으로 서로 디커플링시킨다. 일부 실시예에서, 초기화 모드 전 또는 후에, 노드(ND1)의 전압은 입력 신호(DIN)의 값에 응답하여 PMOS 트랜지스터(P3)에 의해 설정될 수 있다. 일부 실시예에서, 초기화 모드 전 또는 후에, PMOS 트랜지스터(P3)가 턴-온되면 노드(ND1)의 전압은 입력 신호(DIN)의 값에 응답하여 PMOS 트랜지스터(P3)에 의해 설정될 수 있다. 일부 실시예에서, 초기화 모드 전 또는 후에, PMOS 트랜지스터(P3)가 턴-오프되면 노드(ND1)의 전압은 초기화 단계 동안 NMOS 트랜지스터(N5)에 의해 설정된 초기화 값과 동일하다.
일부 실시예에서, 메모리 셀(400)은 적어도 도 1, 도 2a 내지 도 2c, 도 3 및 도 4와 관련하여 위에서 논의한 이점과 유사한 이점을 달성한다.
본 출원의 NMOS 트랜지스터(N5)에 대한 다른 트랜지스터 단자는 본 개시의 범위 내에 있다. 예컨대, 본 개시에서 동일 트랜지스터의 드레인 및 소스에 대한 참조는 동일 트랜지스터의 소스 및 드레인으로 변경될 수 있다.
메모리 셀(400)의 다른 구성, 트랜지스터의 양 또는 트랜지스터 유형은 본 개시의 범위 내에 있다.
도 5a는 일부 실시예에 따른, 도 5c에 도시된 메모리 셀 어레이(501)의 진리표(500A)이다. 테이블(500A)의 값 및 형식은 예로서 제공되고, 진리표(500A)에 대한 다른 값 및/또는 형식은 본 개시의 범위 내에 있다.
일부 실시예에서, 진리표(500A)는 감지 모드에서 도 5c의 다이어그램(500C)의 메모리 셀 어레이(501)에 대응한다. 일부 실시예에서, 진리표(500A)는 감지 모드에서 적어도 도 3의 메모리 셀(300), 도 4의 메모리 셀(400) 또는 도 6의 메모리 셀(600)의 진리표이다.
일부 실시예에서, 진리표(500A)는 AND 게이트의 입력 단자가 입력 신호(DIN) 및 신호(Q)를 수신하도록 구성되고 AND 게이트의 출력 단자가 신호(Dout)를 출력하도록 구성되는 AND 게이트의 진리표에 대응한다. 달리 말하면, 출력 신호(Dout)는 입력 신호(DIN)와 신호(Q) 사이의 AND 연산에 대응한다.
진리표(500A)의 값은 다이어그램(500C)과 관련하여 도 5c 내지 도 5e에서 후술한다.
도 5a의 진리표(500A)의 행 1과 열 2에 도시된 바와 같이, 입력 신호(DIN)가 논리 1이고 신호(Q)가 논리 1이면 출력 신호(Dout)는 논리 1이다(예컨대, "케이스 A"로도 표시).
도 5a의 진리표(500A)의 행 2 및 열 2에 도시된 바와 같이, 입력 신호(DIN)가 논리 0이고 신호(Q)가 논리 1이면 출력 신호(Dout)는 논리 0이다(예컨대, "케이스 B"로도 표시).
도 5a의 진리표(500A)의 행 1 및 열 3에 도시된 바와 같이, 입력 신호(DIN)가 논리 1이고 신호(Q)가 논리 0이면 출력 신호(Dout)는 논리 0이다(예컨대, "케이스 C"로도 표시).
도 5a의 진리표(500A)의 행 2 및 열 3에 도시된 바와 같이, 입력 신호(DIN)가 논리 0이고 신호(Q)가 논리 0이면 출력 신호(Dout)는 논리 0이다(예컨대, "케이스 D"로도 표시).
진리표(500A)에 대한 다른 값 및 배열은 본 개시의 범위 내에 있다.
도 5b 및 도 5c는 일부 실시예에 따른 메모리 셀 어레이(501)의 대응 다이어그램(500B-500C)이다.
도 5b의 다이어그램(500B)은 일부 실시예에 따른 메모리 셀 어레이(501)의 초기화 모드의 예이다. 도 5c의 다이어그램(500C)은 일부 실시예에 따른 메모리 셀 어레이(501)의 감지 모드의 예이다.
메모리 셀 어레이(501)는 개략도로 표현된 도 1의 메모리 매크로(110)의 메모리 어레이(112)내의 2행 및 2열의 메모리 셀의 실시예이며, 따라서 유사한 상세 설명은 생략한다.
메모리 셀 어레이(501)는 메모리 셀(502a, 502b, 502c, 502d)을 포함한다.
각각의 메모리 셀(502a, 502b, 502c, 502d)은 도 4의 메모리 셀(400)에 대응하고, 따라서 유사한 상세 설명은 생략한다. 도시의 용이함을 위해, 메모리 셀(400)의 패스-게이트 트랜지스터(예컨대, NMOS 트랜지스터(N3 및 N4)는 도 5b 및 도 5c에 도시되어 있지 않다.
메모리 셀(502a)은 메모리 셀 어레이(501)의 행 1 및 열 1에 있고, 메모리 셀(502b)은 메모리 셀 어레이(501)의 행 2 및 열 1에 있고, 메모리 셀(502c)은 메모리 셀 어레이(501)의 행 1 및 열 2에 있으며, 메모리 셀(502d)은 메모리 셀 어레이(501)의 행 2 및 열 2에 있다.
각각의 메모리 셀(502a, 502b, 502c 및 502d)은 도 5a의 진리표(500A)의 대응하는 케이스 A, B, C 및 D와 연관되며, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(502a 및 502c)은 입력 신호(DIN[0])를 수신하도록 구성되고, 메모리 셀(502b 및 502d)은 입력 신호(DIN[1])를 수신하도록 구성된다. 메모리 셀(502a, 502b, 502c, 502d)은 신호(SINI)를 수신하도록 구성된다. 메모리 셀(502a, 502b, 502c, 502d)은 대응하는 출력 신호(Dout1, Dout2, Dout3 및 Dout4)를 출력하도록 구성된다. 메모리 셀(502a, 502b, 502c, 502d)은 대응하는 신호 S(Q1, Q2, Q3, Q4)를 저장하도록 구성된다.
일부 실시예에서, 다이어그램(500B)은 메모리 셀 어레이(501)의 초기화 모드의 예이고, 따라서 도 5b의 초기화 신호(SINI)는 논리 1과 동일하다. 일부 실시예에서, 초기화 모드 중에, 입력 신호(DIN[0] 및 DIN[1])는 노드(ND2)가 신호(S1)(예컨대, 기준 전압(VSS))와 상이한 논리 값을 갖는 것을 피하기 위해 비초기화 값(예컨대, 논리 로우 값("0"))으로 설정되어, 노드(ND3 및 ND2) 사이에서의 논리 값 사이의 충돌을 방지한다. 일부 실시예에서, 입력 신호(DIN[0] 및 DIN[1])는 메모리 컨트롤러(120)에 의해 상기 비초기화 값으로 설정된다.
일부 실시예에서, 다이어그램(500C)은 메모리 셀 어레이(501)의 감지 모드의 예이고, 따라서 도 5b의 초기화 신호(SINI)는 논리 0과 동일하다.
다이어그램(500B 및 500C)의 메모리 셀 어레이(501)의 추가 동작은 도 5d의 타이밍 다이어그램(500D) 및 도 5e의 타이밍 다이어그램(500E)에서 설명한다.
도 5d 및 도 5e는 일부 실시예에 따른 도 5b 및 도 5c의 메모리 셀 어레이(501)의 대응 파형(500D-500E)의 그래프이다.
일부 실시예에서, 파형(500D)은 대응 케이스(A 및 C)의 메모리 셀(502a 및 502c)의 초기화 모드 및 감지 모드의 예이다.
일부 실시예에서, 파형(500E)은 대응 케이스(B 및 D)의 메모리 셀(502b 및 502d)의 초기화 모드 및 감지 모드의 예이다.
초기화 모드는 시간 T1부터 시간 T2까지이고 감지 모드는 시간 T2부터 시간 T3까지이다. 일부 실시예에서, 초기화 모드와 감지 모드는 서로 교번한다.
시간 T1에서, 초기화 신호(SINI)는 논리 1과 같고 입력 신호(DIN[0]) 및 입력 신호(DIN[1]) 각각은 논리 0과 같다. 초기화 신호(SINI)가 논리 1과 같은 것에 응답하여, 대응 메모리 셀(502a, 502b, 502c 및 502d)의 각 NMOS 트랜지스터(N5)가 턴-온되어, 출력 신호(Dout1, Dout2, Dout3 및 Dout4)의 전압을 논리 0 (예컨대, 기준 전압(VSS))과 같도록 설정한다.
시간 T2에서, 초기화 신호(SINI)는 논리 0과 같도록 천이하고 입력 신호(DIN[0])는 논리 1과 같도록 천이한다.
시간 T2에서 입력 신호(DIN[1])는 논리 0과 같고, 신호(Q1)은 논리 1과 같고, 신호(Q2)는 논리 0과 같고, 신호(Q3)는 논리 1과 같고, 신호(Q4)는 논리 0과 같다.
초기화 신호(SINI)가 논리 0과 같은 것에 응답하여, 대응 메모리 셀(502a, 502b, 502c, 502d)의 각 NMOS 트랜지스터(N5)가 턴-오프되어, 대응 메모리 셀(502a, 502b, 502c, 502d)의 노드(ND3)를 대응 메모리 셀(502a, 502b, 502c, 502d)의 노드(ND1)로부터 디커플링한다.
케이스 A에 나타낸 바와 같이, 신호(Q1)가 논리 1과 같은 것에 응답하여, 신호(QB1)가 논리 0과 같고, 이에 의해 메모리 셀(502a)의 PMOS 트랜지스터(P3)가 턴-온되어, 메모리 셀(502a)의 노드(ND2)를 해당 메모리 셀(502a)의 노드(ND1)과 커플링하고, 출력 신호(Dout1)를 입력 신호(DIN[0])과 동일하도록 설정한다. 입력 신호(DIN[0])가 논리 1과 같은 것에 응답하여, 출력 신호(Dout1)가 논리 1과 같게 된다.
케이스 C에 나타낸 바와 같이, 신호(Q2)가 논리 1과 같은 것에 응답하여, 신호(QB2)는 논리 0과 같고, 이에 의해 메모리 셀(502b)의 PMOS 트랜지스터(P3)가 턴-온되어 메모리 셀(502b)의 노드(ND2)를 해당 메모리 셀(502b)의 노드(ND1)과 커플링하고 출력 신호(Dout2)를 입력 신호(DIN[1])와 동일하도록 설정한다. 입력 신호(DIN[1])가 논리 0과 같은 것에 응답하여, 출력 신호(Dout2)가 논리 0과 같게 된다.
케이스 B에 나타낸 바와 같이, 신호(Q3)가 논리 0과 같은 것에 응답하여, 신호(QB3)는 논리 1과 같고, 이에 따라 메모리 셀(502c)의 PMOS 트랜지스터(P3)가 턴-오프되어 메모리 셀(502c)의 노드(ND2)와 해당 메모리 셀(502c)의 노드(ND1)를 디커플링하고, 출력 신호(Dout3)는 초기화 값(예컨대, 기준 전압(VSS) 또는 논리 0)과 동일하게 된다.
케이스 D에 나타낸 바와 같이, 신호(Q4)가 논리 0과 같은 것에 응답하여, 신호(QB4)는 논리 1과 같고, 이에 의해 메모리 셀(502d)의 PMOS 트랜지스터(P3)가 턴-오프되어 메모리 셀(502d)의 노드(ND2)와 해당 메모리 셀(502d)의 노드(ND1)를 디커플링하고, 출력 신호(Dout4)는 초기화 값(예컨대, 기준 전압(VSS) 또는 논리 0)과 동일하게 된다.
시간 T3에서, 초기화 신호(SINI)는 논리 1로 천이하고, 입력 신호(DIN[0]) 및 입력 신호(DIN[1])는 각각 논리 0과 같다. 초기화 신호(SINI)가 논리 1과 같은 것에 응답하여, 대응 메모리 셀(502a, 502b, 502c 및 502d)의 각 NMOS 트랜지스터(N5)가 턴-온되어, 출력 신호(Dout1, Dout2, Dout3 및 Dout4)의 전압을 논리 0 (예컨대, 기준 전압(VSS))과 같도록 설정한다.
도 5b 및 도 5c의 메모리 셀 어레이(501)를 상이한 행 및 열의 메모리 셀로서 설명하지만, 일부 실시예에서 케이스 A, B, C 및 D 각각은 상이한 입력 신호(예컨대, 입력 신호(DIN) 및 신호(Q))를 갖는 동일한 열 및 동일한 행의 메모리 셀에 대응한다.
일부 실시예에서, 메모리 셀 어레이(501)는 적어도 도 1, 도 2a 내지 도 2c, 도 3 및 도 4와 관련하여 위에서 논의한 이점과 유사한 이점을 달성한다.
메모리 셀 어레이(501)의 다른 구성은 본 개시의 범위 내에 있다.
파형(500D 및 500E)의 다른 구성은 본 개시의 범위 내에 있다.
도 6은 일부 실시예에 따른 메모리 셀(600)의 회로도이다.
메모리 셀(600)은 개략도로 표현된 도 1의 메모리 매크로(110)의 메모리 어레이(112) 내의 하나 이상의 메모리 셀(MC)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(600)은 도 4의 메모리 셀(400)의 변형예이고, 따라서 유사한 상세 설명은 생략한다. 도 4의 메모리 셀(400)과 비교하여, 도 6의 승산 회로(604)는 도 4의 승산 회로(404)를 대체하고, 따라서 유사한 상세 설명은 생략한다.
메모리 셀(600)은 메모리 회로(302) 및 승산 회로(604)를 포함한다.
도 4의 승산 회로(404)와 비교하여, 도 6의 승산 회로(604)의 NMOS 트랜지스터(N6)는 도 4의 승산 회로(404)의 PMOS 트랜지스터(P3)를 대체하고, 따라서 유사한 상세 설명은 생략한다.
승산 회로(604)는 NMOS 트랜지스터(N6), 초기화 회로(406) 및 출력 노드(ND1)를 포함한다.
PMOS 트랜지스터(P1의) 드레인 단자, NMOS 트랜지스터(N1)의 드레인 단자, PMOS 트랜지스터(P2)의 게이트 단자, NMOS 트랜지스터(N2)의 게이트 단자, NMOS 트랜지스터(N3)의 소스 단자 및 NMOS 트랜지스터(N6)의 게이트 단자 각각은 스토리지 노드(ND)에서 함께 커플링된다.
PMOS 트랜지스터(P2)의 드레인 단자, NMOS 트랜지스터(N2)의 드레인 단자, PMOS 트랜지스터(P1)의 게이트 단자, NMOS 트랜지스터(N1)의 게이트 단자, 및 NMOS 트랜지스터(N4)의 소스 단자 각각은 스토리지 노드(NDB)에서 함께 커플링된다.
NMOS 트랜지스터(N6)는 출력 노드(ND1), 초기화 회로(406) 및 메모리 회로(302)에 커플링된다. NMOS 트랜지스터(N6)는 입력 신호(DIN) 및 신호(Q)를 수신하도록 구성된다. 일부 실시예에서, 감지 모드 중에, NMOS 트랜지스터(N6)는 입력 신호(DIN) 및 적어도 신호(QB) 또는 신호(Q)에 응답하여 승산 회로(604)의 전압을 설정하도록 구성된다.
NMOS 트랜지스터(N6)의 드레인 단자는 노드(ND2)에 커플링되고, 입력 신호(DIN)를 수신하도록 구성된다. NMOS 트랜지스터(N6)의 소스는 초기화 회로(406)의 NMOS 트랜지스터(N5)의 드레인 및 출력 노드(ND1)에 커플링된다.
NMOS 트랜지스터(N6)의 게이트 단자는 PMOS 트랜지스터(P1)의 드레인 단자, NMOS 트랜지스터(N1)의 드레인 단자, PMOS 트랜지스터(P2)의 게이트 단자, NMOS 트랜지스터(N2)의 게이트 단자 및 NMOS 트랜지스터(N3)의 소스 단자 각각에 커플링된다. NMOS 트랜지스터(N6)의 게이트 단자는 승산 회로(604)의 입력 노드이고, 신호(Q)를 수신하도록 구성된다. NMOS 트랜지스터(N6)는 신호(Q)에 응답하여 턴-온되거나 턴-오프된다.
일부 실시예에서, 감지 모드 중에, NMOS 트랜지스터(N6)는 신호(Q)가 논리 하이 값("1")인 것에 응답하여 턴-온되어, 노드(ND2)와 노드(ND1)를 전기적으로 커플링하고, 노드(ND1)의 전압을 입력 신호(DIN)와 동일하도록 설정한다.
일부 실시예에서, 감지 모드 중에, NMOS 트랜지스터(N6)는 신호(Q)가 논리 로우 값("0")인 것에 응답하여 턴-오프되어, 노드(ND2)와 노드(ND1)를 전기적으로 디커플링하고, 노드(ND1)의 전압은 초기화 단계 동안 초기화 회로(406)에 의해 설정된 초기화 값에 기초하여 설정된다. 달리 말하면, 감지 모드 중에, NMOS 트랜지스터(N6)가 턴-오프되면, 노드(ND1)의 전압은 초기화 단계 동안 초기화 회로(406)에 의해 설정된 초기화 값에서 유지된다.
일부 실시예에서, 메모리 셀(600)은 적어도 도 1, 도 2a 내지 도 2c, 도 3, 도 4 및 도 5a 내지 도 5e와 관련하여 위에서 논의한 이점과 유사한 이점을 달성한다.
본 출원의 NMOS 트랜지스터(N6)에 대한 기타 트랜지스터 단자는 본 개시의 범위 내에 있다. 예컨대, 본 개시에서 동일 트랜지스터의 드레인 및 소스에 대한 참조는 동일 트랜지스터의 소스 및 드레인으로 변경될 수 있다.
메모리 셀(600)의 다른 구성, 트랜지스터의 양 또는 트랜지스터 유형은 본 개시의 범위 내에 있다.
도 7a는 일부 실시예에 따른 회로를 동작시키는 방법(700A)의 흐름도이다. 일부 실시예에서, 도 7a는 도 1의 메모리 소자(100), 도 2a의 메모리 소자(200A), 도 2b의 신경망(200B), 도 2C의 IC 소자(200C), 도 3의 메모리 셀(300), 도 4의 메모리 셀(400), 도 5b 및 도 5c의 메모리 셀 어레이(501)의 다이어그램(500B-500C), 도 6의 메모리 셀(600)과 같은 메모리 회로를 동작시키는 방법(700A)의 흐름도이다.
도 7a 및 도 7b에 도시된 방법(700A-700B) 전, 도중 및/또는 후에 추가 동작이 수행될 수 있고, 일부 기타 프로세스는 본원에서 간략하게만 설명될 수 있다는 것이 이해된다. 일부 실시예에서, 방법(700A-700B)의 다른 동작 순서는 본 개시의 범위 내에 있다. 방법(700A-700B)은 예시적인 동작을 포함하지만 그 동작이 반드시 도시된 순서대로 수행될 필요는 없다. 개시된 실시예의 사상 및 범위에 따라 동작이 적절히 추가, 교체, 변경 및/또는 삭제될 수 있다. 일부 실시예에서, 방법(700A-700B)의 동작 중 하나 이상이 수행되지 않는다.
방법(700A)의 동작(702)에서, 메모리 셀의 쓰기 동작이 수행된다. 일부 실시예에서, 동작(702)은 메모리 컨트롤러(120)에 의해 수행된다.
일부 실시예에서, 방법(700A)의 메모리 셀은 메모리 어레이(112)의 하나 이상의 메모리 셀, 적어도 메모리 매크로(202, 204, 206 또는 208), 메모리 소자(234), 메모리 셀(117) 또는 메모리 셀(300, 400 또는 600)을 포함한다.
일부 실시예에서, 방법(700A-700B)의 메모리 셀은 메모리 회로 및 승산 회로를 포함한다. 일부 실시예에서, 방법(700A-700B)의 메모리 회로는 적어도 저장 부분(117a) 또는 메모리 회로(302)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 승산 회로는 적어도 계산 부분(117b), 승산 회로(304), 승산 회로(404) 또는 승산 회로(604)를 포함한다.
일부 실시예에서, 동작(702)은 동작(704)을 포함한다.
방법(700A)의 동작(704)에서, 제1 신호의 제1 값은 메모리 회로의 제1 스토리지 노드에 저장된다.
일부 실시예에서, 방법(700A-700B)의 제1 신호는 적어도 신호(Q 또는 QB) 또는 가중치 데이터(W)를 포함한다. 일부 실시예에서, 제1 신호는 제1 가중치에 대응한다. 일부 실시예에서, 방법(700A-700B)의 제1 가중치는 적어도 하나 이상의 가중치 데이터(W)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 제1 신호의 제1 값은 적어도 논리 0 또는 논리 1을 포함한다.
방법(700A)의 동작(706)에서, 제1 신호와 제2 신호 사이에 CIM 연산이 수행되어, 출력 신호를 생성한다. 일부 실시예에서, 동작(706)은 메모리 셀의 읽기 동작을 수행하는 것을 포함한다.
일부 실시예에서, 방법(700A-700B)의 출력 신호는 적어도 출력 신호(Dout) 또는 출력 신호(DO)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 CIM 연산은 진리표(500A)의 적어도 AND 연산을 포함한다. 일부 실시예에서, 방법(700A-700B)의 제2 신호는 적어도 입력 신호(DIN) 또는 입력 데이터(D_IN)를 포함한다.
일부 실시예에서, 동작(706)은 승산 회로에 의해 수행된다. 일부 실시예에서, 승산 회로는 제1 트랜지스터 및 초기화 회로를 포함한다.
일부 실시예에서, 방법(700A-700B)의 제1 트랜지스터는 적어도 PMOS 트랜지스터(P3)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 제1 트랜지스터는 적어도 NMOS 트랜지스터(N6)를 포함한다.
일부 실시예에서, 방법(700A-700B)의 초기화 회로는 적어도 초기화 회로(306 또는 406)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 초기화 회로는 적어도 NMOS 트랜지스터(N5)를 포함한다.
일부 실시예에서, 동작(706)은 적어도 동작(708 또는 710)을 포함한다.
방법(700A)의 동작(708)에서, 승산 회로의 출력 신호는 적어도 제3 신호 또는 제4 신호에 응답하여 초기화된다. 일부 실시예에서, 동작(706)은 초기화 회로에 의해 수행된다.
일부 실시예에서, 방법(700A-700B)의 제3 신호는 적어도 초기화 신호(SINI)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 제4 신호는 적어도 기준 전압(VSS)을 포함한다.
방법(700A)의 동작(710)에서, 출력 신호는, 메모리 회로의 감지 단계 동안, 적어도 제2 신호에 응답하여 설정된다. 일부 실시예에서, 동작(706)은 제1 트랜지스터에 의해 수행된다.
일부 실시예에서, 동작(710) 후에, 방법(700A)이 반복된다.
도 7b는 일부 실시예에 따른 회로를 동작시키는 방법(700B)의 흐름도이다. 일부 실시예에서, 도 7b는 도 1의 메모리 소자(100), 도 2a의 메모리 소자(200A), 도 2b의 신경망(200B), 도 2C의 IC 소자(200C), 도 3의 메모리 셀(300), 도 4의 메모리 셀(400), 도 5b 및 도 5c의 메모리 셀 어레이(501)의 다이어그램(500B-500C), 도 6의 메모리 셀(600)과 같은 메모리 회로를 동작시키는 방법(700b)의 흐름도이다.
일부 실시예에서, 방법(700B)은 동작(706)의 실시예이고, 따라서 유사한 상세 설명은 생략한다.
방법(700B)은 적어도 동작(708 또는 710)(위에서 설명함)을 포함한다.
방법(700B)의 동작(704)에서, 제1 신호의 제1 값은 메모리 회로의 제1 스토리지 노드에 저장된다. 방법(700B)의 동작(708)은 적어도 동작(720, 722 또는 724)을 포함한다.
방법(700A)의 동작(720)에서, 제2 신호는 메모리 회로의 초기화 단계 동안 초기화 값으로 설정된다. 일부 실시예에서, 동작(720)은 초기화 회로 또는 제2 트랜지스터에 의해 수행된다.
일부 실시예에서, 방법(700A-700B)의 초기화 회로는 제2 트랜지스터를 포함한다. 일부 실시예에서, 방법(700A-700B)의 제2 트랜지스터는 적어도 NMOS 트랜지스터(N5)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 초기화 값은 논리 0이다. 일부 실시예에서, 방법(700A-700B)의 초기화 값은 논리 1이다.
방법(700A)의 동작(722)에서, 제3 신호에 응답하여 제2 트랜지스터가 턴-온되어, 승산 회로의 제1 노드를 승산 회로의 출력 노드에 전기적으로 커플링한다. 일부 실시예에서, 동작(722)은 제3 신호가 논리 1인 것에 응답하여 수행된다.
일부 실시예에서, 방법(700A-700B)의 제1 노드는 적어도 노드(ND3)를 포함한다. 일부 실시예에서, 방법(700A-700B)의 출력 노드는 적어도 노드(ND1)를 포함한다.
방법(700A)의 동작(724)에서, 출력 신호의 값은 제4 신호의 값과 동일하도록 설정된다. 일부 실시예에서, 출력 신호의 값은 기준 전압(VSS)의 값 또는 논리 0과 동일하도록 설정된다.
방법(700B)의 동작(710)에서, 출력 신호는, 메모리 회로의 감지 단계 동안, 적어도 제2 신호에 응답하여 설정된다. 방법(700B)의 동작(710)은 적어도 동작(726, 728 또는 730)을 포함한다.
방법(700B)의 동작(726)에서, 제3 신호에 응답하여 제2 트랜지스터가 턴-오프되어, 제1 노드와 출력 노드를 서로 전기적으로 디커플링한다. 일부 실시예에서, 동작(726)은 제3 신호가 논리 0인 것에 응답하여 수행된다.
방법(700B)의 동작(728)에서, 제2 신호는 메모리 회로의 감지 단계 동안 비-초기화 값으로 설정된다. 일부 실시예에서, 비초기화 값은 논리 0 또는 논리 1을 포함한다. 일부 실시예에서, 비초기화 값은 메모리 회로의 감지 단계 동안 입력 신호(DIN)의 데이터 값이다.
일부 실시예에서, 제2 신호는 메모리 컨트롤러(120)에 의해 비초기화 값으로 설정된다.
방법(700B)의 동작(730)에서, 출력 신호의 값은 제1 트랜지스터를 턴-온 또는 턴-오프하는 것에 응답하여 설정된다.
일부 실시예에서, 방법(700B)의 동작(730)은 제1 신호 또는 반전(inverted) 제1 신호(QB)에 응답하여 적어도 제1 트랜지스터를 턴-온하여, 승산 회로의 제2 노드를 승산 회로의 출력 노드에 전기적으로 커플링하는 단계와, 상기 출력 신호의 값을 상기 제2 신호의 값과 동일하게 설정하는 단계를 포함한다.
일부 실시예에서, 방법(700A-700B)의 제2 노드는 적어도 노드(ND2)를 포함한다.
일부 실시예에서, 방법(700B)의 동작(730)은 제1 신호 또는 반전 제1 신호에 응답하여 적어도 제1 트랜지스터를 턴-오프하여, 제2 노드와 출력 노드를 서로 전기적으로 디커플링하는 단계와, 출력 신호의 출력 값을 제4 신호의 값과 동일하게 유지하는 단계를 포함한다.
동작 방법(700A-700B)에 의해, 메모리 회로는 적어도 도 1, 도 2a 내지 도 2c, 도 3, 도 4, 도 5a 내지 도 5e 및 도 6과 관련하여 위에서 논의한 이점을 달성하도록 동작한다.
방법(700A-700B)을 메모리 어레이(112)의 단일 메모리 셀을 참조하여 설명하였지만, 방법(700A-700B)은 일부 실시예에서 메모리 소자(100)의 각 행 및 각 열에 적용된다는 것이 이해된다.
또한, 도 3 및 도 4, 도 5b 및 도 5c 및 도 6에 도시된 다양한 PMOS 또는 NMOS 트랜지스터는 예시의 목적을 위한 특정 도펀트 유형(예컨대, N형 또는 P형)의 것이다. 본 개시의 실시예는 특정 트랜지스터 유형에 제한되지 않으며, 도 3, 도 4, 도 5b, 도 5c 및 도 6에 도시된 PMOS 또는 NMOS 트랜지스터 중 하나 이상은 상이한 트랜지스터/도펀트 유형의 대응 트랜지스터로 대체될 수 있다. 마찬가지로, 위의 설명에서 이용된 다양한 신호의 로우 또는 하이의 논리 값 역시 예시를 위한 것이다. 본 개시의 실시예는 신호가 활성화 및/또는 비활성화될 때 특정 논리 값에 제한되지 않는다. 상이한 논리값을 선택하는 것은 다양한 실시예의 범위 내에 있다. 도 3, 도 4, 도 5b, 도 5c 및 도 6에서 상이한 수의 트랜지스터를 선택하는 것은 다양한 실시예의 범위 내에 있다.
개시된 실시예 중 하나 이상이 상기한 이점 중 하나 이상을 충족한다는 것을 당업자는 쉽게 알 수 있을 것이다. 전술한 명세서를 읽은 후, 당업자는 본원에 광범위하게 개시된 바와 같은 다양한 변경, 균등물의 대체 및 다양한 기타 실시예에 영향을 미칠 수 있을 것이다. 따라서 본원에 부여된 보호는 첨부된 청구범위 및 그 등가물에 포함된 정의에 의해서만 제한되도록 의도된다.
본 설명의 한 양태는 메모리 셀에 관한 것이다. 상기 메모리 셀은 메모리 회로와 승산 회로를 포함한다. 상기 승산 회로는 출력 신호를 출력하도록 구성된 출력 노드, 제1 트랜지스터 및 초기화 회로를 포함한다. 상기 제1 트랜지스터는 상기 출력 노드 및 상기 메모리 회로에 커플링되고, 적어도 제2 신호를 수신하도록 구성된다. 상기 초기화 회로는 상기 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 승산 회로를 초기화하도록 구성된다. 상기 메모리 회로는 제1 스토리지 노드의 제1 신호의 제1 값을 저장하도록 구성된다. 상기 승산 회로는 상기 메모리 회로에 커플링된다. 상기 승산 회로는 상기 제1 신호 및 제2 신호에 응답하여 출력 신호를 생성하도록 구성된다. 상기 출력 신호는 상기 제1 신호와 상기 제2 신호의 곱에 해당한다.
본 설명의 다른 양태는 메모리 셀에 관한 것이다. 상기 메모리 셀은 가중치 데이터를 저장하도록 구성된 제1 세트의 메모리 회로, 및 상기 가중치 데이터와 입력 데이터 사이에서 CIM 연산을 수행하도록 구성된 제1 세트의 승산 회로를 포함한다. 일부 실시예에서, 상기 제1 세트의 승산 회로의 각 승산 회로는 상기 제1 세트의 메모리 회로의 각 메모리 회로에 대응한다. 일부 실시예에서, 상기 제1 세트의 메모리 회로는 제1 스토리지 노드의 제1 신호의 제1 가중치 값을 저장하도록 구성된 제1 메모리 회로를 포함한다. 일부 실시예에서, 상기 제1 세트의 승산 회로는 상기 제1 메모리 회로에 커플링된 제1 승산 회로를 포함한다. 일부 실시예에서, 상기 제1 승산 회로는 상기 제1 신호 및 제2 신호에 응답하여 출력 신호를 생성하도록 구성된다. 일부 실시예에서, 상기 출력 신호는 상기 제1 신호와 제2 신호 사이의 CIM 곱 연산에 대응한다. 일부 실시예에서, 상기 제1 승산 회로는 상기 출력 신호를 출력하도록 구성된 제1 출력 노드, 상기 제1 출력 노드 및 상기 제1 메모리 회로에 커플링되고, 적어도 상기 제2 신호를 수신하도록 구성된 제1 트랜지스터, 및 상기 제1 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 제1 승산 회로를 초기화하도록 구성된 초기화 회로를 포함한다.
이 설명의 또 다른 양태는 메모리 셀을 동작시키는 방법에 관한 것이다. 상기 방법은 상기 메모리 셀의 쓰기 동작을 수행하는 단계, 및 승산 회로에 의해 제1 신호와 제2 신호 사이에서 컴퓨팅 인 메모리(CIM) 연산을 수행하는 단계를 포함한다. 일부 실시예에서, 상기 메모리 셀은 메모리 회로 및 승산 회로를 포함한다. 일부 실시예에서, 상기 메모리 셀의 쓰기 동작을 수행하는 단계는 제1 신호의 제1 값을 상기 메모리 회로의 제1 스토리지 노드에 저장하는 단계를 포함하며, 상기 제1 신호는 제1 가중치에 대응한다. 일부 실시예에서, 상기 승산 회로는 제1 트랜지스터 및 초기화 회로를 포함한다. 일부 실시예에서, 상기 제1 신호와 제2 신호 사이에서 CIM 연산을 수행하는 단계는, 상기 초기화 회로에 의해, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 승산 회로의 출력 신호를 초기화하는 단계와, 상기 제1 트랜지스터에 의해, 상기 메모리 회로의 감지 단계 동안, 적어도 상기 제2 신호에 응답하여, 상기 출력 신호를 설정하는 단계를 포함한다.
전술한 내용은 당업자가 본 개시의 양태를 더 잘 이해할 수 있도록 여러 실시예의 특징을 개략적으로 설명한다. 당업자는 본원에 소개된 실시예의 동일한 목적을 수행하고 및/또는 동일한 이점을 달성하기 위한 다른 공정 및 구조를 설계 또는 수정하기 위한 기초로서 본 개시를 용이하게 이용할 수 있음을 인식하여야 한다. 또한, 당업자는 이러한 균등의 구성이 본 개시의 사상 및 범위를 벗어나지 않고, 본 개시의 사상 및 범위를 벗어나지 않으면서 다양한 변경, 대체 및 변경을 가할 수 있음을 인식해야 한다.
실시예들
실시예 1. 메모리 셀에 있어서,
제1 스토리지 노드의 제1 신호의 제1 값을 저장하도록 구성된 메모리 회로; 및
상기 메모리 회로에 커플링된 승산 회로
를 포함하고,
상기 승산 회로는 상기 제1 신호 및 제2 신호에 응답하여 출력 신호를 생성하도록 구성되고, 상기 출력 신호는 상기 제1 신호와 상기 제2 신호의 곱에 대응하며,
상기 승산 회로는:
상기 출력 신호를 출력하도록 구성된 출력 노드;
상기 출력 노드 및 상기 메모리 회로에 커플링되고, 적어도 상기 제2 신호를 수신하도록 구성된 제1 트랜지스터; 및
상기 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 승산 회로를 초기화하도록 구성되는 초기화 회로
를 포함한 것인, 메모리 셀.
실시예 2. 실시예 1에 있어서,
상기 승산 회로를 초기화하도록 구성된 상기 초기화 회로는 또한, 적어도 상기 제3 신호 또는 상기 제4 신호에 응답하여, 상기 메모리 회로의 초기화 단계 동안, 상기 출력 신호를 설정하도록 구성된 것인, 메모리 셀.
실시예 3. 실시예 2에 있어서,
상기 초기화 회로는 제1 유형의 제2 트랜지스터를 포함하고,
상기 제2 트랜지스터는,
상기 출력 노드 및 상기 제1 트랜지스터에 커플링된 제1 소스/드레인 단자;
상기 제3 신호에 대응하는 기준 전압을 갖는 기준 전압 공급부에 커플링된 제2 소스/드레인 단자; 및
상기 제4 신호를 수신하도록 구성된 제1 게이트 단자
를 포함한 것인, 메모리 셀.
실시예 4. 실시예 1에 있어서,
상기 제1 트랜지스터는 또한, 적어도 상기 제2 신호에 응답하여, 상기 메모리 회로의 감지 단계 동안, 상기 출력 신호를 설정하도록 구성된 것인, 메모리 셀.
실시예 5. 실시예 4에 있어서,
상기 제1 트랜지스터는 P형 트랜지스터이고,
상기 제1 트랜지스터는,
상기 출력 노드 및 상기 초기화 회로에 커플링된 제1 소스/드레인 단자;
상기 제2 신호를 수신하도록 구성된 제2 소스/드레인 단자; 및
상기 메모리 회로의 제2 스토리지 노드에 커플링되고, 상기 제2 스토리지 노드의 전압에 대응하는 제5 신호를 상기 메모리 회로로부터 수신하도록 구성된 제1 게이트 단자
를 포함한 것인, 메모리 셀.
실시예 6. 실시예 5에 있어서,
상기 제5 신호는 상기 제1 신호로부터 반전된 것인, 메모리 셀.
실시예 7. 실시예 4에 있어서,
상기 제1 트랜지스터는 N형 트랜지스터이고,
상기 제1 트랜지스터는,
상기 출력 노드 및 상기 초기화 회로에 커플링된 제1 소스/드레인 단자;
상기 제2 신호를 수신하도록 구성된 제2 소스/드레인 단자; 및
상기 메모리 회로의 상기 제1 스토리지 노드에 커플링되고, 상기 메모리 회로로부터 상기 제1 스토리지 노드의 전압에 대응하는 상기 제1 신호를 수신하도록 구성된 제1 게이트 단자
를 포함한 것인, 메모리 셀.
실시예 8. 실시예 1에 있어서,
상기 메모리 셀은 8-트랜지스터(8T) SRAM(Static Random Access) 셀에 대응한 것인, 메모리 셀.
실시예 9. 실시예 1에 있어서,
상기 메모리 회로는,
제1 비트 라인;
제2 비트 라인;
제1 워드 라인;
제1 교차 커플링된 인버터;
상기 제1 교차 커플링된 인버터에 커플링된 제2 교차 커플링된 인버터;
상기 제1 비트 라인, 상기 제1 워드 라인 및 상기 제1 교차 커플링된 인버터에 커플링된 제1 패스-게이트 트랜지스터; 및
상기 제2 비트 라인, 상기 제1 워드 라인 및 상기 제2 교차 커플링된 인버터에 커플링된 제2 패스-게이트 트랜지스터
를 포함한 것인, 메모리 셀.
실시예 10. 메모리 셀 어레이에 있어서,
가중치 데이터를 저장하도록 구성된 제1 세트의 메모리 회로 - 상기 제1 세트의 메모리 회로는 제1 스토리지 노드의 제1 신호의 제1 가중치 값을 저장하도록 구성된 제1 메모리 회로를 포함함 -; 및
상기 가중치 데이터와 입력 데이터 사이에서 컴퓨팅-인 메모리(computing-in memory; CIM) 연산을 수행하도록 구성된 제1 세트의 승산 회로
를 포함하고,
상기 제1 세트의 승산 회로는,
상기 제1 메모리 회로에 커플링되고, 상기 제1 신호 및 제2 신호에 응답하여, 상기 제1 신호와 상기 제2 신호 사이의 CIM 곱 연산에 대응하는 출력 신호를 생성하도록 구성된 제1 승산 회로
를 포함하며,
상기 제1 승산 회로는,
상기 출력 신호를 출력하도록 구성된 제1 출력 노드;
상기 제1 출력 노드 및 상기 제1 메모리 회로에 커플링되고, 적어도 상기 제2 신호를 수신하도록 구성된 제1 트랜지스터; 및
상기 제1 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 제1 승산 회로를 초기화하도록 구성된 초기화 회로
를 포함하며,
상기 제1 세트의 승산 회로의 각 승산 회로는 상기 제1 세트의 메모리 회로의 각 메모리 회로에 대응한 것인, 메모리 셀 어레이.
실시예 11. 실시예 10에 있어서,
상기 제1 신호와 상기 제2 신호 사이의 CIM 곱 연산은 상기 제1 신호와 상기 제2 신호 사이의 AND 연산에 대응한 것인, 메모리 셀 어레이.
실시예 12. 실시예 10에 있어서,
상기 제1 트랜지스터는 또한, 적어도 상기 제2 신호에 응답하여, 상기 제1 메모리 회로의 감지 단계 동안, 상기 출력 신호를 설정하도록 구성된 것인, 메모리 셀 어레이.
실시예 13. 실시예 12에 있어서,
상기 제1 트랜지스터는 N형 트랜지스터이고,
상기 제1 트랜지스터는,
상기 제1 출력 노드 및 상기 초기화 회로에 커플링된 제1 소스/드레인 단자;
상기 제2 신호를 수신하도록 구성된 제2 소스/드레인 단자; 및
상기 제1 메모리 회로의 상기 제1 스토리지 노드에 커플링되고, 상기 제1 메모리 회로로부터 상기 제1 스토리지 노드의 전압에 대응하는 상기 제1 신호를 수신하도록 구성된 제1 게이트 단자
를 포함한 것인, 메모리 셀 어레이.
실시예 14. 실시예 12에 있어서,
상기 제1 트랜지스터는 P형 트랜지스터이고,
상기 제1 트랜지스터는,
상기 제1 출력 노드 및 상기 초기화 회로에 커플링된 제1 소스/드레인 단자;
상기 제2 신호를 수신하도록 구성된 제2 소스/드레인 단자; 및
상기 제1 메모리 회로의 제2 스토리지 노드에 커플링되고, 상기 제1 메모리 회로로부터 상기 제2 스토리지 노드의 전압에 대응하는 제5 신호를 수신하도록 구성된 제1 게이트 단자
를 포함하며,
상기 제5 신호는 제1 신호로부터 반전된 것인, 메모리 셀 어레이.
실시예 15. 실시예 10에 있어서,
상기 제1 승산 회로를 초기화하도록 구성된 상기 초기화 회로는 또한, 적어도 상기 제3 신호 또는 상기 제4 신호에 응답하여, 상기 제1 메모리 회로의 초기화 단계 동안, 상기 출력 신호를 설정하도록 구성된 것인, 메모리 셀 어레이.
실시예 16. 실시예 15에 있어서,
상기 초기화 회로는 제1 유형의 제2 트랜지스터를 포함하고,
상기 제2 트랜지스터는,
상기 제1 출력 노드 및 상기 제1 트랜지스터에 커플링된 제1 소스/드레인 단자;
상기 제3 신호에 대응하는 기준 전압을 갖는 기준 전압 공급부에 커플링된 제2 소스/드레인 단자; 및
상기 제4 신호를 수신하도록 구성된 제1 게이트 단자
를 포함한 것인, 메모리 셀.
실시예 17. 실시예 10에 있어서,
상기 메모리 셀 어레이는 8-트랜지스터(8T) SRAM(Static Random Access) 셀들의 어레이에 대응한 것인, 메모리 셀 어레이.
실시예 18. 메모리 셀을 동작시키는 방법에 있어서,
메모리 회로 및 승산 회로를 포함하는 메모리 셀의 쓰기 동작을 수행하는 단계 - 상기 메모리 셀의 쓰기 동작을 수행하는 단계는, 제1 가중치에 대응하는 제1 신호의 제1 값을 상기 메모리 회로의 제1 스토리지 노드에 저장하는 단계를 포함함 -; 및
제1 트랜지스터와 초기화 회로를 포함하는 상기 승산 회로에 의해, 상기 제1 신호와 제2 신호 사이에서 컴퓨팅-인 메모리(CIM) 연산을 수행하는 단계
를 포함하고,
상기 제1 신호와 상기 제2 신호 사이에서 상기 CIM 연산을 수행하는 단계는,
상기 초기화 회로에 의해, 적어도 제3 신호 또는 제4 신호에 응답하여, 상기 승산 회로의 출력 신호를 초기화하는 단계; 및
적어도 상기 제2 신호에 응답하여, 상기 메모리 회로의 감지 단계 동안, 상기 제1 트랜지스터에 의해, 상기 출력 신호를 설정하는 단계
를 포함한 것인, 메모리 셀을 동작시키는 방법.
실시예 19. 실시예 18에 있어서,
상기 승산 회로의 출력 신호를 초기화하는 단계는,
상기 메모리 회로의 초기화 단계 동안 상기 제2 신호를 초기화 값으로 설정하는 단계 - 상기 초기화 회로는 제2 트랜지스터를 포함함 -;
상기 제3 신호에 응답하여 상기 제2 트랜지스터를 턴-온하여, 상기 승산 회로의 제1 노드를 상기 승산 회로의 출력 노드에 전기적으로 커플링하는 단계; 및
상기 출력 신호의 값을 상기 제4 신호의 값과 동일하게 설정하는 단계
를 포함한 것인, 메모리 셀을 동작시키는 방법.
실시예 20. 실시예 19에 있어서,
상기 메모리 회로의 감지 단계 동안 상기 출력 신호를 설정하는 단계는,
상기 제3 신호에 응답하여 상기 제2 트랜지스터를 턴-오프하여, 상기 제1 노드와 상기 출력 노드를 서로 전기적으로 디커플링하는 단계;
상기 메모리 회로의 감지 단계 동안, 상기 제2 신호를 비초기화 값으로 설정하는 단계; 및
상기 제1 트랜지스터를 턴-온 또는 턴-오프하는 것에 응답하여 상기 출력 신호의 값을 설정하는 단계
를 포함한 것인, 메모리 셀을 동작시키는 방법.

Claims (10)

  1. 메모리 셀에 있어서,
    제1 스토리지 노드의 제1 신호의 제1 값을 저장하도록 구성된 메모리 회로; 및
    상기 메모리 회로에 커플링된 승산 회로
    를 포함하고,
    상기 승산 회로는 상기 제1 신호 및 제2 신호에 응답하여 출력 신호를 생성하도록 구성되고, 상기 출력 신호는 상기 제1 신호와 상기 제2 신호의 곱에 대응하며,
    상기 승산 회로는:
    상기 출력 신호를 출력하도록 구성된 출력 노드;
    상기 출력 노드 및 상기 메모리 회로에 커플링되고, 적어도 상기 제2 신호를 수신하도록 구성된 제1 트랜지스터; 및
    상기 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 승산 회로를 초기화하도록 구성되는 초기화 회로
    를 포함한 것인, 메모리 셀.
  2. 제1항에 있어서,
    상기 승산 회로를 초기화하도록 구성된 상기 초기화 회로는 또한, 적어도 상기 제3 신호 또는 상기 제4 신호에 응답하여, 상기 메모리 회로의 초기화 단계 동안, 상기 출력 신호를 설정하도록 구성된 것인, 메모리 셀.
  3. 제1항에 있어서,
    상기 제1 트랜지스터는 또한, 적어도 상기 제2 신호에 응답하여, 상기 메모리 회로의 감지 단계 동안, 상기 출력 신호를 설정하도록 구성된 것인, 메모리 셀.
  4. 제1항에 있어서,
    상기 메모리 셀은 8-트랜지스터(8T) SRAM(Static Random Access) 셀에 대응한 것인, 메모리 셀.
  5. 제1항에 있어서,
    상기 메모리 회로는,
    제1 비트 라인;
    제2 비트 라인;
    제1 워드 라인;
    제1 교차 커플링된 인버터;
    상기 제1 교차 커플링된 인버터에 커플링된 제2 교차 커플링된 인버터;
    상기 제1 비트 라인, 상기 제1 워드 라인 및 상기 제1 교차 커플링된 인버터에 커플링된 제1 패스-게이트 트랜지스터; 및
    상기 제2 비트 라인, 상기 제1 워드 라인 및 상기 제2 교차 커플링된 인버터에 커플링된 제2 패스-게이트 트랜지스터
    를 포함한 것인, 메모리 셀.
  6. 메모리 셀 어레이에 있어서,
    가중치 데이터를 저장하도록 구성된 제1 세트의 메모리 회로 - 상기 제1 세트의 메모리 회로는 제1 스토리지 노드의 제1 신호의 제1 가중치 값을 저장하도록 구성된 제1 메모리 회로를 포함함 -; 및
    상기 가중치 데이터와 입력 데이터 사이에서 컴퓨팅-인 메모리(computing-in memory; CIM) 연산을 수행하도록 구성된 제1 세트의 승산 회로
    를 포함하고,
    상기 제1 세트의 승산 회로는,
    상기 제1 메모리 회로에 커플링되고, 상기 제1 신호 및 제2 신호에 응답하여, 상기 제1 신호와 상기 제2 신호 사이의 CIM 곱 연산에 대응하는 출력 신호를 생성하도록 구성된 제1 승산 회로
    를 포함하며,
    상기 제1 승산 회로는,
    상기 출력 신호를 출력하도록 구성된 제1 출력 노드;
    상기 제1 출력 노드 및 상기 제1 메모리 회로에 커플링되고, 적어도 상기 제2 신호를 수신하도록 구성된 제1 트랜지스터; 및
    상기 제1 출력 노드에 의해 상기 제1 트랜지스터에 커플링되고, 적어도 제3 신호 또는 제4 신호에 응답하여 상기 제1 승산 회로를 초기화하도록 구성된 초기화 회로
    를 포함하며,
    상기 제1 세트의 승산 회로의 각 승산 회로는 상기 제1 세트의 메모리 회로의 각 메모리 회로에 대응한 것인, 메모리 셀 어레이.
  7. 제6항에 있어서,
    상기 제1 신호와 상기 제2 신호 사이의 CIM 곱 연산은 상기 제1 신호와 상기 제2 신호 사이의 AND 연산에 대응한 것인, 메모리 셀 어레이.
  8. 메모리 셀을 동작시키는 방법에 있어서,
    메모리 회로 및 승산 회로를 포함하는 메모리 셀의 쓰기 동작을 수행하는 단계 - 상기 메모리 셀의 쓰기 동작을 수행하는 단계는, 제1 가중치에 대응하는 제1 신호의 제1 값을 상기 메모리 회로의 제1 스토리지 노드에 저장하는 단계를 포함함 -; 및
    제1 트랜지스터와 초기화 회로를 포함하는 상기 승산 회로에 의해, 상기 제1 신호와 제2 신호 사이에서 컴퓨팅-인 메모리(CIM) 연산을 수행하는 단계
    를 포함하고,
    상기 제1 신호와 상기 제2 신호 사이에서 상기 CIM 연산을 수행하는 단계는,
    상기 초기화 회로에 의해, 적어도 제3 신호 또는 제4 신호에 응답하여, 상기 승산 회로의 출력 신호를 초기화하는 단계; 및
    적어도 상기 제2 신호에 응답하여, 상기 메모리 회로의 감지 단계 동안, 상기 제1 트랜지스터에 의해, 상기 출력 신호를 설정하는 단계
    를 포함한 것인, 메모리 셀을 동작시키는 방법.
  9. 제8항에 있어서,
    상기 승산 회로의 출력 신호를 초기화하는 단계는,
    상기 메모리 회로의 초기화 단계 동안 상기 제2 신호를 초기화 값으로 설정하는 단계 - 상기 초기화 회로는 제2 트랜지스터를 포함함 -;
    상기 제3 신호에 응답하여 상기 제2 트랜지스터를 턴-온하여, 상기 승산 회로의 제1 노드를 상기 승산 회로의 출력 노드에 전기적으로 커플링하는 단계; 및
    상기 출력 신호의 값을 상기 제4 신호의 값과 동일하게 설정하는 단계
    를 포함한 것인, 메모리 셀을 동작시키는 방법.
  10. 제9항에 있어서,
    상기 메모리 회로의 감지 단계 동안 상기 출력 신호를 설정하는 단계는,
    상기 제3 신호에 응답하여 상기 제2 트랜지스터를 턴-오프하여, 상기 제1 노드와 상기 출력 노드를 서로 전기적으로 디커플링하는 단계;
    상기 메모리 회로의 감지 단계 동안, 상기 제2 신호를 비초기화 값으로 설정하는 단계; 및
    상기 제1 트랜지스터를 턴-온 또는 턴-오프하는 것에 응답하여 상기 출력 신호의 값을 설정하는 단계
    를 포함한 것인, 메모리 셀을 동작시키는 방법.
KR1020220038249A 2021-10-25 2022-03-28 메모리 셀 및 그 메모리 셀을 동작시키는 방법 KR20230059117A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163271559P 2021-10-25 2021-10-25
US63/271,559 2021-10-25
US17/586,585 US20230127502A1 (en) 2021-10-25 2022-01-27 Memory cell and method of operating the same
US17/586,585 2022-01-27

Publications (1)

Publication Number Publication Date
KR20230059117A true KR20230059117A (ko) 2023-05-03

Family

ID=85769367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220038249A KR20230059117A (ko) 2021-10-25 2022-03-28 메모리 셀 및 그 메모리 셀을 동작시키는 방법

Country Status (5)

Country Link
US (1) US20230127502A1 (ko)
KR (1) KR20230059117A (ko)
CN (1) CN115878073A (ko)
DE (1) DE102022102271A1 (ko)
TW (1) TWI827001B (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625373B2 (en) * 2011-12-13 2014-01-07 Advanced Micro Devices, Inc. Voltage shifting sense amplifier for SRAM VMIN improvement
TWI688211B (zh) * 2015-01-29 2020-03-11 日商半導體能源研究所股份有限公司 半導體裝置、電子組件及電子裝置
US10381071B1 (en) * 2018-07-30 2019-08-13 National Tsing Hua University Multi-bit computing circuit for computing-in-memory applications and computing method thereof
US10825509B2 (en) * 2018-09-28 2020-11-03 Intel Corporation Full-rail digital read compute-in-memory circuit
US10636481B1 (en) * 2019-05-13 2020-04-28 National Tsing Hua University Memory cell for computing-in-memory applications, memory unit for computing-in-memory applications and computing method thereof

Also Published As

Publication number Publication date
US20230127502A1 (en) 2023-04-27
CN115878073A (zh) 2023-03-31
TW202318420A (zh) 2023-05-01
DE102022102271A1 (de) 2023-04-27
TWI827001B (zh) 2023-12-21

Similar Documents

Publication Publication Date Title
US11150903B2 (en) Computational memory cell and processing array device using memory cells
Agrawal et al. X-SRAM: Enabling in-memory Boolean computations in CMOS static random access memories
US9734905B2 (en) Non-volatile memory using bi-directional resistive elements
US20150092476A1 (en) Dual port sram with dummy read recovery
US11580059B2 (en) Multi-port memory architecture for a systolic array
US9666276B2 (en) Non-volatile memory using bi-directional resistive elements
TWI635488B (zh) 存儲器單元和存儲裝置
TW201818406A (zh) 字元線致能脈衝產生電路
CN114077418A (zh) 存储器内运算方法及装置、存储器及存储介质
JP2009506477A (ja) クリア動作を備えた記憶素子及びその方法
Chen et al. Reconfigurable 2T2R ReRAM with split word-lines for TCAM operation and in-memory computing
CN108231098A (zh) 双轨存储器、存储器宏以及相关的混合供电方法
US9275724B2 (en) Method of writing to and reading data from a three-dimensional two port register file
US8913456B2 (en) SRAM with improved write operation
TWI812117B (zh) 用於記憶體內計算(cim)的記憶體元件及方法
US11908545B2 (en) Memory device and operating method for computing-in-memory
TWI827001B (zh) 記憶胞、記憶胞陣列及記憶胞的操作方法
Hosamani et al. Design and analysis of 1-Bit SRAM
US11935586B2 (en) Memory device and method for computing-in-memory (CIM)
US6351139B1 (en) Configuration bit read/write data shift register
TW202129647A (zh) 記憶體電路及其操作方法與訊號網路
TW202036562A (zh) 正交雙埠隨機存取記憶體裝置及其操作方法
JP2005108403A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal