KR102593032B1 - Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure - Google Patents

Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure Download PDF

Info

Publication number
KR102593032B1
KR102593032B1 KR1020200180915A KR20200180915A KR102593032B1 KR 102593032 B1 KR102593032 B1 KR 102593032B1 KR 1020200180915 A KR1020200180915 A KR 1020200180915A KR 20200180915 A KR20200180915 A KR 20200180915A KR 102593032 B1 KR102593032 B1 KR 102593032B1
Authority
KR
South Korea
Prior art keywords
memory sram
neural network
monolithic
binary neural
xac
Prior art date
Application number
KR1020200180915A
Other languages
Korean (ko)
Other versions
KR20220090078A (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 KR1020200180915A priority Critical patent/KR102593032B1/en
Publication of KR20220090078A publication Critical patent/KR20220090078A/en
Application granted granted Critical
Publication of KR102593032B1 publication Critical patent/KR102593032B1/en

Links

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/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

Landscapes

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

Abstract

본 발명은 모놀리식 3D 집적 구조를 이용한 인-메모리 SRAM 기반 이진 신경망 가속기를 개시한다. 본 발명에 따르면, 이진 신경망의 합성곱 층 연산 수행을 위한 입력 데이터를 인-메모리 SRAM에 공급하는 입력 버퍼; 상기 합성곱 층 연산 수행을 위한 커널 데이터를 저장하며, 복수의 서브어레이를 통해 상기 커널 데이터와 상기 입력 데이터를 이용하여 XNOR 연산과 팝카운트(Popcount) 연산을 포함하는 XAC 연산을 병렬적으로 수행하는 인-메모리 SRAM; 및 상기 병렬적으로 수행된 XAC 연산 결과를 가산 및 비교하여 상기 합성곱 층의 최종 연산 결과를 출력하는 글로벌 주변 로직을 포함하는 이진 신경망 가속기가 제공된다. The present invention discloses an in-memory SRAM-based binary neural network accelerator using a monolithic 3D integrated structure. According to the present invention, an input buffer for supplying input data for performing a convolution layer operation of a binary neural network to an in-memory SRAM; Stores kernel data for performing the convolution layer operation, and performs an XAC operation including an XNOR operation and a popcount operation in parallel using the kernel data and the input data through a plurality of subarrays. In-memory SRAM; and a global peripheral logic that adds and compares the XAC operation results performed in parallel and outputs a final operation result of the convolution layer.

Description

모놀리식 3D 집적 구조를 이용한 인-메모리 SRAM 기반 이진 신경망 가속기{Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure}Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure}

본 발명은 모놀리식 3D 집적 기술을 활용한 인-메모리 SRAM 기반 이진 신경망 가속기에 관한 것이다. The present invention relates to an in-memory SRAM-based binary neural network accelerator utilizing monolithic 3D integration technology.

최근 이미지 인식을 수행하기 위한 신경망(Neural Network) 알고리즘으로 단일 비트(Single-bit) 매개변수를 활용하는 이진 신경망(Binary Neural Network, BNN)이 등장하였다. Recently, the Binary Neural Network (BNN), which utilizes single-bit parameters, has emerged as a neural network algorithm for image recognition.

이진 신경망은 단일 비트 매개변수를 기반으로 하므로, 기존 합성곱 신경망(Convolution Neural Network, CNN)의 덧셈 곱셈 연산(Multiply-and-Accumulation, MAC)을 단순한 XNOR 연산과 Population Count(Popcount) 연산으로 대체할 수 있었다. Since the binary neural network is based on a single bit parameter, the Multiply-and-Accumulation (MAC) operation of the existing Convolution Neural Network (CNN) can be replaced with a simple XNOR operation and Population Count (Popcount) operation. I was able to.

상기한 XNOR 연산과 Popcount 연산을 XAC 연산이라 한다. The XNOR operation and Popcount operation described above are called XAC operations.

XAC 연산은 연산 복잡도가 단순하기 때문에, 데이터 이동이 지연시간과 에너지 소모의 대부분을 차지하게 된다. Because the computational complexity of the XAC operation is simple, data movement accounts for most of the delay time and energy consumption.

데이터 이동에 소요되는 지연시간을 줄이고 에너지를 절감하기 위하여, 최근 기존 6T SRAM에 추가적인 트랜지스터(Transistor)를 활용한 XAC 연산을 수행하는 인-메모리 (Compute-in-Memory) SRAM이 등장하였다. In order to reduce the delay time required for data movement and save energy, Compute-in-Memory SRAM, which performs XAC operation using an additional transistor to the existing 6T SRAM, has recently emerged.

하지만, 기존의 2D 인-메모리 SRAM는 이차원 평면에 추가적인 트랜지스터를 활용한 구조로 인하여, 기존 6T SRAM과 비교하여 SRAM 셀(Cell)의 면적이 커져 배선이 길어진다. 또한, 인-메모리 SRAM은 병렬 연산 수행을 위해 다수의 서브어레이(Subarray)를 활용하기 때문에 서브어레이 간 배선이 길어진다. 이러한 배선 길이 증가는 배선에서 소모하는 지연시간과 에너지 소모가 커지게 된다는 문제점을 야기한다.However, because the existing 2D in-memory SRAM has a structure that utilizes additional transistors in a two-dimensional plane, the area of the SRAM cell is larger compared to the existing 6T SRAM, resulting in longer wiring. Additionally, because in-memory SRAM utilizes multiple subarrays to perform parallel operations, the wiring between subarrays becomes longer. This increase in wiring length causes problems in that delay time and energy consumption in the wiring increase.

한국등록특허 제10-1913930호Korean Patent No. 10-1913930

상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 지연시간 및 에너지 소모를 줄일 수 있는 모놀리식 3D 집적 구조를 이용한 인-메모리 SRAM 기반 이진 신경망 가속기를 제안하고자 한다. In order to solve the problems of the prior art described above, the present invention proposes an in-memory SRAM-based binary neural network accelerator using a monolithic 3D integrated structure that can reduce latency and energy consumption.

상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 이진 신경망의 합성곱 층 연산 수행을 위한 입력 데이터를 인-메모리 SRAM에 공급하는 입력 버퍼, 상기 합성곱 층 연산 수행을 위한 커널 데이터를 저장하며, 복수의 서브어레이를 통해 상기 커널 데이터와 상기 입력 데이터를 이용하여 XNOR 연산과 팝카운트(Popcount) 연산을 포함하는 XAC 연산을 병렬적으로 수행하는 인-메모리 SRAM 및 상기 병렬적으로 수행된 XAC 연산 결과를 가산 및 비교하여 상기 합성곱 층의 최종 연산 결과를 출력하는 글로벌 주변 로직을 포함하는 이진 신경망 가속기가 제공된다. In order to achieve the above-described object, according to an embodiment of the present invention, an input buffer for supplying input data for performing a convolution layer operation of a binary neural network to an in-memory SRAM, and an input buffer for performing the convolution layer operation An in-memory SRAM that stores kernel data and performs an XAC operation including an XNOR operation and a Popcount operation in parallel using the kernel data and the input data through a plurality of subarrays, and the parallel A binary neural network accelerator is provided that includes global peripheral logic that adds and compares the results of the XAC operation performed by and outputs the final operation result of the convolution layer.

상기 인-메모리 SRAM의 개별 서브어레이는 N개의 셀을 포함하고, 상기 N개의 셀 각각은 XNOR 연산을 위한 3개의 트랜지스터 및 상기 커널 데이터 저장을 위한 6개의 트랜지스터를 포함하고, 상기 3개의 트랜지스터는 제1 상위 레이어에 배치되고, 상기 6개의 트랜지스터는 제1 하위 레이어에 배치되며, 상기 제1 상위 레이어와 상기 제1 하위 레이어는 모놀리식 3D 비아를 통해 연결되며, 상기 N개의 셀 중 N/2개의 셀은 상위 레이어에 배치되고, 나머지 N/2개의 셀은 하위 레이어에 배치될 수 있다. Each subarray of the in-memory SRAM includes N cells, each of the N cells includes three transistors for an XNOR operation and six transistors for storing the kernel data, and the three transistors are 1 is placed on the upper layer, the six transistors are placed on the first lower layer, the first upper layer and the first lower layer are connected through a monolithic 3D via, and N/2 of the N cells cells may be placed in the upper layer, and the remaining N/2 cells may be placed in the lower layer.

상기 3개의 트랜지스터는 트랜지스터 NL, NR 및 NB를 포함하고, 상기 제1 상위 레이어는 행 방향으로 배치되는 제1 배선 및 열 방향으로 배치되는 제2 및 제3 배선을 포함할 수 있다. The three transistors include transistors NL, NR, and NB, and the first upper layer may include a first interconnection arranged in a row direction and second and third interconnections arranged in a column direction.

상기 개별 서브어레이는, 입력 주소를 디코딩하는 디코더, 상기 입력 주소를 디코딩하여 선택된 상기 제1 배선이 상기 트랜지스터 NB를 활성화하도록 하는 행 단위 배선 드라이버, 상기 입력 버퍼를 통해 공급된 입력 데이터를 기반으로 열 방향으로 배치되는 제2 및 제3 배션이 상기 트랜지스터 NL 및 NB를 활성화하도록 하는 열 단위 배선 드라이버 및 상기 N개의 셀 각각에 저장된 커널 데이터를 통해 수행된 XNOR 연산 결과를 기반으로 팝카운트 연산을 수행하는 팝카운트 유닛을 포함할 수 있다. The individual subarray includes a decoder that decodes the input address, a row-by-row wiring driver that decodes the input address and causes the selected first wiring to activate the transistor NB, and a column driver based on the input data supplied through the input buffer. A column-unit wiring driver that causes the second and third vasions arranged in each direction to activate the transistors NL and NB, and a pop-count operation based on the result of the XNOR operation performed through kernel data stored in each of the N cells. May include a popcount unit.

상기 글로벌 주변 로직은, 상기 복수의 서브어레이 각각의 팝카운트 유닛에서 출력하는 연산 결과를 가산하는 가산기 및 상기 가산기에서 출력하는 가산 결과를 미리 설정된 값과 비교하여 상기 합성곱 층의 최종 연산 결과를 출력할 수 있다. The global peripheral logic includes an adder that adds the operation results output from each pop count unit of the plurality of subarrays, and compares the addition result output from the adder with a preset value to output the final operation result of the convolution layer. can do.

본 발명에 따르면, 모놀리식 3D 집적 구조를 이용한 인-메모리 SRAM을 기반으로 하는 이진 신경망 가속기를 제공하여 이진 신경망의 연산의 대부분을 차지하는 이진 합성곱 층 연산에 소모되는 지연시간과 에너지 소모를 줄일 수 있는 장점이 있다. According to the present invention, a binary neural network accelerator based on in-memory SRAM using a monolithic 3D integrated structure is provided to reduce latency and energy consumption consumed in binary convolution layer operations, which account for most of the operations of binary neural networks. There are advantages to this.

도 1은 본 발명의 일 실시예에 따른 이진 신경망 가속기의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 인-메모리 SRAM을 도시한 도면이다.
도 3은 본 실시예에 따른 인-메모리 SRAM의 개별 서브어레이 구조를 도시한 도면이다.
도 4는 본 실시예에 따른 인-메모리 SRAM이 XAC 연산을 수행하는 과정을 도시한 도면이다.
1 is a diagram illustrating the configuration of a binary neural network accelerator according to an embodiment of the present invention.
Figure 2 is a diagram illustrating an in-memory SRAM according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an individual subarray structure of an in-memory SRAM according to this embodiment.
Figure 4 is a diagram illustrating a process in which an in-memory SRAM performs an XAC operation according to this embodiment.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention.

도 1은 본 발명의 일 실시예에 따른 이진 신경망 가속기의 구성을 도시한 도면이다. 1 is a diagram illustrating the configuration of a binary neural network accelerator according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 실시예에 따른 이진 신경망 가속기는 입력 버퍼(Input Buffer, 100), 모놀리식 3D 집적 구조를 이용한 XAC 연산을 수행하는 인-메모리 SRAM(CiM_SRAM, 102) 및 글로벌 주변 로직(Global Periphery Logic, 104)을 포함할 수 있다. As shown in Figure 1, the binary neural network accelerator according to this embodiment includes an input buffer (Input Buffer, 100), an in-memory SRAM (CiM_SRAM, 102) that performs an XAC operation using a monolithic 3D integrated structure, and a global Peripheral logic (Global Periphery Logic, 104) may be included.

여기서, XAC 연산은 XNOR 연산과 Population Count(Popcount) 연산을 의미한다. Here, the XAC operation means the XNOR operation and the Population Count (Popcount) operation.

입력 버퍼(100)는 이진 신경망의 합성곱 층 연산 수행을 위한 입력 데이터 (Input Feature Map)를 저장하고 인-메모리 SRAM(102)에 공급한다. The input buffer 100 stores input data (Input Feature Map) for performing a convolution layer operation of a binary neural network and supplies it to the in-memory SRAM 102.

인-메모리 SRAM(102)은 합성곱 층 연산 수행을 위한 커널 데이터(Kernel Weights)를 저장한다. The in-memory SRAM 102 stores kernel data (Kernel Weights) for performing convolution layer operations.

인-메모리 SRAM(102)은 복수의 서브어레이(110-1 내지 110-n)으로 구성될 수 있고, 복수의 서브어레이(110)에서 미리 저장된 커널 데이터와 입력 버퍼(100)로부터 공급된 입력 데이터를 이용하여 XAC 연산을 병렬적으로 수행한다. The in-memory SRAM 102 may be composed of a plurality of subarrays 110-1 to 110-n, and includes kernel data pre-stored in the plurality of subarrays 110 and input data supplied from the input buffer 100. The XAC operation is performed in parallel using .

글로벌 주변 로직(104)은 이진 합성곱 층의 최종 결과를 추출한다. Global surrounding logic 104 extracts the final result of the binary convolution layer.

본 실시예에 따른 글로벌 주변 로직(104)은 가산기(Adder, 120), 비교기(Comparator, 122) 및 버퍼(124)를 포함할 수 있다. The global peripheral logic 104 according to this embodiment may include an adder 120, a comparator 122, and a buffer 124.

인-메모리 SRAM(102)의 각각의 서브어레이(110)의 XAC 연산 결과는 부분적인 XAC 연산 결과이므로, 병렬적으로 수행된 XAC 연산 결과를 가산기(120)를 통해 가산하여 최종 XAC 연산 결과를 출력한다. Since the XAC operation result of each subarray 110 of the in-memory SRAM 102 is a partial XAC operation result, the XAC operation results performed in parallel are added through the adder 120 to output the final XAC operation result. do.

그 후, 비교기(122)를 통해서 미리 설정된 값(Threshold)과 비교하여 이진 합성곱 층의 최종 연산 결과를 출력한다. Afterwards, the final operation result of the binary convolution layer is output by comparing it with a preset value (Threshold) through the comparator 122.

도 2는 본 발명의 일 실시예에 따른 인-메모리 SRAM을 도시한 도면이다. Figure 2 is a diagram illustrating an in-memory SRAM according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 인-메모리 SRAM의 서브어레이는 디코더(Decoder, 200), 행 단위 배선 드라이버(Row-wise Wire Driver, 202), 열 단위 배선 드라이버(Column-wise Wire Driver, 204), 복수의 셀 어레이(Cell Array, 206) 및 팝카운트 유닛(208)을 포함할 수 있다. As shown in FIG. 2, the subarray of the in-memory SRAM includes a decoder (Decoder, 200), a row-wise wire driver (202), and a column-wise wire driver (Column-wise Wire Driver, 204). , may include a plurality of cell arrays (Cell Array, 206) and a pop count unit (208).

도 2를 참조하면, 본 실시예에 따른 인-메모리 SRAM(102)은 트랜지스터 수준과 서브어레이 수준에서 모놀리식 3D 집적 구조가 적용된다. Referring to FIG. 2, the in-memory SRAM 102 according to this embodiment has a monolithic 3D integrated structure at the transistor level and subarray level.

도 2는 4층 구조의 인-메모리 SRAM을 도시한 도면이다. Figure 2 is a diagram showing an in-memory SRAM with a four-layer structure.

먼저, 트랜지스터 수준의 모놀리식 3D 집적 구조를 이용하여, 연산에 필요한 3개의 트랜지스터(3T)와 데이터를 저장하는 6개의 트랜지스터(6T)를 3D 구조로 적층한다. First, using a transistor-level monolithic 3D integrated structure, three transistors (3T) required for calculation and six transistors (6T) that store data are stacked in a 3D structure.

모놀리식 3D 집적 소자 형성 기술은 하나의 웨이퍼에 소자 형성 후 epi 성장, recrystallization 또는 절연체 층을 증착한 후 얇은 웨이퍼 위에 bonding을 통해 새로운 substrate layer를 형성 후 그 위에 소자를 시퀀셜하게 형성하는 공정 기술이다.Monolithic 3D integrated device formation technology is a process technology that forms devices on a single wafer, then epi-grows, recrystallizes, or deposits an insulator layer, then forms a new substrate layer through bonding on a thin wafer, and then sequentially forms devices on top of it. .

모놀리식 3D 집적 소자 형성 기술은 각 레이어의 소자를 매우 얇은 채널 (50~500nm) 형성으로 Via specification의 변경이 가능 [(Via diameter (10~50nm), Via pitch (100~300nm)] 하여 TSV(Through Si Via)의 한계점으로 지적되는 웨이퍼 의 두께에 따른 문제점들을 해결 가능한 새로운 대안 제조 기술이다.Monolithic 3D integrated device formation technology allows the Via specification to be changed by forming a very thin channel (50~500nm) for each layer of the device [(Via diameter (10~50nm), Via pitch (100~300nm)] for TSV. It is a new alternative manufacturing technology that can solve problems caused by the thickness of the wafer, which is pointed out as a limitation of Through Si Via.

이와 같은 모놀리식 3D 집적 구조에서는 각 레이어의 소자를 연결하는 비아를 인터-레이어 비아(inter-layer via) 또는 인터-타이어 비아(inter-tier via)로 정의한다. 본 실시예에서는 소자를 연결하는 비아를 모놀리식 3D 비아(MIV)로 정의한다. In such a monolithic 3D integrated structure, the vias connecting the elements of each layer are defined as inter-layer vias or inter-tier vias. In this embodiment, the via connecting the devices is defined as a monolithic 3D via (MIV).

본 실시예에 따른 모놀리식 3D 비아를 통해 연산에 필요한 3개의 트랜지스터(3T)와 데이터를 저장하는 6개의 트랜지스터(6T)를 연결하기 때문에 인-메모리 SRAM(102)은 기존의 6T SRAM과 동일한 셀 면적을 가지게 된다. 또한, 서브어레이 수준에서도 모놀리식 3D 비아를 통해 서브어레이를 반으로 분할하여 적층하기 때문에 면적이 커지지 않는다. Since three transistors (3T) required for calculation and six transistors (6T) for storing data are connected through a monolithic 3D via according to this embodiment, the in-memory SRAM 102 is the same as the existing 6T SRAM. It has a cell area. Additionally, even at the subarray level, the area does not increase because the subarray is divided in half and stacked using a monolithic 3D via.

본 발명에서는 인-메모리 SRAM(102)의 구조가 열(column) 단위 배선의 길이가 길고 많음을 고려하여 비트라인 분할 방식의 서브어레이 수준 모놀리식 3D 집적 공정을 활용한다.In the present invention, considering that the structure of the in-memory SRAM 102 has long and numerous column unit wirings, a bitline division type sub-array level monolithic 3D integration process is utilized.

이를 통해 본 실시예에 따른 인-메모리 SRAM(102)은 열 단위 배선의 길이 뿐 아니라, 서브어레이의 면적이 줄어들어 서브어레이 간 배선의 길이가 짧아진다. Through this, the in-memory SRAM 102 according to this embodiment not only reduces the length of the row-unit wiring, but also reduces the area of the sub-array, thereby shortening the length of the wiring between sub-arrays.

결과적으로, 본 실시예에 따른 인-메모리 SRAM(102)은 모놀리식 3D 집적 공정을 활용하여 2D 기반 인-메모리 SRAM 대비 배선 길이 감소로 인해 지연시간 및 에너지 소모를 절감할 수 있다. As a result, the in-memory SRAM 102 according to this embodiment utilizes a monolithic 3D integration process and can reduce delay time and energy consumption by reducing the wiring length compared to the 2D-based in-memory SRAM.

즉, 3개의 트랜지스터와 6개의 트랜지스터를 2층이 아닌 4층 구조로 형성하여 서브어레이 간 배선의 길이를 짧게 할 수 있는 것이다. In other words, by forming three transistors and six transistors in a four-layer structure instead of two layers, the length of the wiring between subarrays can be shortened.

보다 상세하게, 인-메모리 SRAM(102)의 개별 서브어레이(110)는 N개의 셀을 포함하고, N개의 셀 각각은 XNOR 연산을 위한 3개의 트랜지스터 및 커널 데이터 저장을 위한 6개의 트랜지스터를 포함한다. More specifically, individual subarrays 110 of in-memory SRAM 102 include N cells, each of the N cells including three transistors for XNOR operations and six transistors for kernel data storage. .

여기서, 트랜지스터 수준에서, 3개의 트랜지스터는 상위 레이어에 배치되고, 상기 6개의 트랜지스터는 하위 레이어에 배치되며, 상기 상위 레이어와 상기 하위 레이어는 모놀리식 3D 비아를 통해 연결된다. Here, at the transistor level, three transistors are placed in an upper layer, the six transistors are placed in a lower layer, and the upper layer and the lower layer are connected through a monolithic 3D via.

또한, 도 3에 도시된 바와 같이, 서브어레이 수준에서 N개의 셀 중 N/2개의 셀은 상위 레이어에 배치되고, 나머지 N/2는 하위 레이어에 배치되며, 이들 상하위 레이어는 모놀리식 3D 비아를 통해 연결된다. In addition, as shown in Figure 3, at the subarray level, N/2 cells out of N cells are placed in the upper layer, and the remaining N/2 cells are placed in the lower layer, and these upper and lower layers are monolithic 3D vias. It is connected through.

본 실시예에 따른 인-메모리 SRAM의 동작은 도 3을 참조하여 상세하게 설명한다. The operation of the in-memory SRAM according to this embodiment will be described in detail with reference to FIG. 3.

도 3은 본 실시예에 따른 인-메모리 SRAM의 개별 서브어레이 구조를 도시한 도면이다. FIG. 3 is a diagram illustrating an individual subarray structure of an in-memory SRAM according to this embodiment.

도 3에서, 셀 어레이는 512-by-128 (512개의 행과 128개의 열)로 구성된 것을 예시적으로 도시한다. In FIG. 3, the cell array is exemplarily shown to be composed of 512-by-128 (512 rows and 128 columns).

본 실시예에 따른 인-메모리 SRAM(102)은 기존 6T SRAM과 비교하여 3개의 추가적인 트랜지스터(NL, NR, NB)와 3개의 배선(Signal L, R, B)이 추가된 9T SRAM의 구조를 가진다. The in-memory SRAM 102 according to this embodiment has a 9T SRAM structure with three additional transistors (NL, NR, NB) and three wires (Signal L, R, B) compared to the existing 6T SRAM. have

여기서, 3개의 배선 중, Signal B(제1 배선)은 행 방향으로 배치되는 배선이고, Signal L/R(제2 및 제3 배선)은 열 방향으로 배치되는 배선이다. Here, among the three wires, Signal B (the first wire) is a wire arranged in the row direction, and Signal L/R (the second and third wires) are wires arranged in the column direction.

도 4는 본 실시예에 따른 인-메모리 SRAM이 XAC 연산을 수행하는 과정을 도시한 도면이다. Figure 4 is a diagram illustrating a process in which an in-memory SRAM performs an XAC operation according to this embodiment.

입력 주소에 따라 디코더(200)를 통해 선택된 Signal B(제1 배선)는 해당 행 (Row)의 모든 트랜지스터 NB를 활성화한다(단계 400). Signal B (first wire) selected through the decoder 200 according to the input address activates all transistors NB in the corresponding row (step 400).

단계 400에서, 트랜지스터 NB의 활성화는 행 단위 배선 드라이버(202)에 의해 수행될 수 있다. At step 400, activation of transistor NB may be performed by row-wise interconnect driver 202.

서브어레이 외부에서 들어온 입력 데이터를 기반으로, Signal L/R(제2 및 제3 배선)은 트랜지스터 NL/NR를 활성화/비활성화한다(단계 402).Based on input data coming from outside the subarray, Signal L/R (second and third wires) activates/deactivates transistors NL/NR (step 402).

단계 402에는 열 단위 배선 드라이버(204)에 의해 수행될 수 있다. Step 402 may be performed by the row unit wiring driver 204.

각각의 셀에 저장되어 있는 값(Q/QB)은 Cout으로 이동하며 XNOR 연산이 수행된다(단계 404).The values (Q/QB) stored in each cell are moved to Cout and an XNOR operation is performed (step 404).

선택된 행의 모든 셀에서의 XNOR 값은 비트라인(Bitline)을 통해 서브어레이 하단부의 팝카운트 유닛(208)으로 전달된다(단계 406).The XNOR values in all cells of the selected row are transmitted to the popcount unit 208 at the bottom of the subarray through a bitline (step 406).

팝카운트 유닛(208)은 XNOR 값을 기반으로 팝카운트 연산을 수행한다(단계 408).The popcount unit 208 performs a popcount operation based on the XNOR value (step 408).

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The above-described embodiments of the present invention have been disclosed for illustrative purposes, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions will be possible. should be regarded as falling within the scope of the patent claims below.

Claims (5)

이진 신경망의 합성곱 층 연산 수행을 위한 입력 데이터를 인-메모리 SRAM에 공급하는 입력 버퍼;
상기 합성곱 층 연산 수행을 위한 커널 데이터를 저장하며, 복수의 서브어레이를 통해 상기 커널 데이터와 상기 입력 데이터를 이용하여 XNOR 연산과 팝카운트(Popcount) 연산을 포함하는 XAC 연산을 병렬적으로 수행하는 인-메모리 SRAM; 및
상기 병렬적으로 수행된 XAC 연산 결과를 가산 및 비교하여 상기 합성곱 층의 최종 연산 결과를 출력하는 글로벌 주변 로직을 포함하는 이진 신경망 가속기.
An input buffer that supplies input data for performing convolution layer operations of a binary neural network to an in-memory SRAM;
Stores kernel data for performing the convolution layer operation, and performs an XAC operation including an XNOR operation and a popcount operation in parallel using the kernel data and the input data through a plurality of subarrays. In-memory SRAM; and
A binary neural network accelerator including global peripheral logic that adds and compares the XAC operation results performed in parallel and outputs a final operation result of the convolution layer.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020200180915A 2020-12-22 2020-12-22 Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure KR102593032B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200180915A KR102593032B1 (en) 2020-12-22 2020-12-22 Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200180915A KR102593032B1 (en) 2020-12-22 2020-12-22 Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure

Publications (2)

Publication Number Publication Date
KR20220090078A KR20220090078A (en) 2022-06-29
KR102593032B1 true KR102593032B1 (en) 2023-10-23

Family

ID=82270120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200180915A KR102593032B1 (en) 2020-12-22 2020-12-22 Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure

Country Status (1)

Country Link
KR (1) KR102593032B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017200088A1 (en) 2016-05-19 2017-11-23 国立大学法人北海道大学 Neural network circuit and neural network integrated circuit
JP2017211972A (en) 2016-05-19 2017-11-30 国立大学法人北海道大学 Neural network circuit and neural network integrated circuit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101913930B1 (en) 2017-02-23 2018-12-28 고려대학교 산학협력단 Monolithic 3d(m3d) integration-based cache memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017200088A1 (en) 2016-05-19 2017-11-23 国立大学法人北海道大学 Neural network circuit and neural network integrated circuit
JP2017211972A (en) 2016-05-19 2017-11-30 国立大学法人北海道大学 Neural network circuit and neural network integrated circuit

Also Published As

Publication number Publication date
KR20220090078A (en) 2022-06-29

Similar Documents

Publication Publication Date Title
US11507808B2 (en) Multi-layer vector-matrix multiplication apparatus for a deep neural network
US20180122456A1 (en) Dpu architecture
US7330368B2 (en) Three-dimensional semiconductor device provided with interchip interconnection selection means for electrically isolating interconnections other than selected interchip interconnections
US20200202925A1 (en) Neural network computation circuit including semiconductor memory element, and method of operation
US20060226459A1 (en) Layout structure in semiconductor memory device and layout method therefor
US10180808B2 (en) Software stack and programming for DPU operations
US11989646B2 (en) Neuromorphic apparatus having 3D stacked synaptic structure and memory device having the same
US9922696B1 (en) Circuits and micro-architecture for a DRAM-based processing unit
Chen et al. Partition SRAM and RRAM based synaptic arrays for neuro-inspired computing
US9455007B2 (en) Word line driver circuitry and compact memory using same
KR102593032B1 (en) Binary neural network accelerator based on In-Memory SRAM using monolithic 3D integrated structure
KR20230018307A (en) Dram computation circuit and method
TW202243131A (en) Memory array
US7760582B2 (en) Apparatus for memory device wordline
US20170329885A1 (en) Layout design system and semiconductor device fabricated using the same
US7024524B2 (en) Semiconductor storage
US20180048315A1 (en) Configurable Computing Array Based on Three-Dimensional Vertical Writable Memory
CN114171087A (en) Memristor array structure, operation method thereof and neural network sparsification device
Lu et al. A runtime reconfigurable design of compute-in-memory based hardware accelerator
US10456800B2 (en) Configurable computing array comprising configurable computing elements
Li et al. H3DAtten: Heterogeneous 3-D Integrated Hybrid Analog and Digital Compute-in-Memory Accelerator for Vision Transformer Self-Attention
TWI835181B (en) Compute-in-memory device and computing method thereof
US7123537B2 (en) Decoder arrangement of a memory cell array
CN218181836U (en) Memory operation device
Papandroulidakis et al. Heterogeneous memristive crossbar for in-memory computing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant