KR20220140382A - Segmented bit-line based computation-in-memory apparatus and method for computing a sum of product in memory - Google Patents

Segmented bit-line based computation-in-memory apparatus and method for computing a sum of product in memory Download PDF

Info

Publication number
KR20220140382A
KR20220140382A KR1020210057586A KR20210057586A KR20220140382A KR 20220140382 A KR20220140382 A KR 20220140382A KR 1020210057586 A KR1020210057586 A KR 1020210057586A KR 20210057586 A KR20210057586 A KR 20210057586A KR 20220140382 A KR20220140382 A KR 20220140382A
Authority
KR
South Korea
Prior art keywords
bit
divided
bit line
data
bit lines
Prior art date
Application number
KR1020210057586A
Other languages
Korean (ko)
Other versions
KR102582800B1 (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 KR20220140382A publication Critical patent/KR20220140382A/en
Application granted granted Critical
Publication of KR102582800B1 publication Critical patent/KR102582800B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators
    • G06F7/461Adding; subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators
    • G06F7/462Multiplying; dividing
    • GPHYSICS
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present invention provides a segmented bit-line-based computation-in-memory device for performing a sum-of-product operation using bit-line charge sharing of bit lines constituting a memory device, and a method for performing a sum-of-product operation using the segmented bit-line-based computation-in-memory device. To achieve the technical purpose, the segmented bit-line-based computation-in-memory device according to the present invention comprises: a plurality of bit cell arrays including a plurality of bit cell modules, each thereof including a plurality of bit cells; an addition part; and a plurality of bit lines for connecting a corresponding bit cell module to the addition part. Therefore, a sum-of-product operation insensitive to a process error can be performed.

Description

분할된 비트라인 기반 계산 메모리 장치 및 곱의 합 연산을 수행하는 방법 {SEGMENTED BIT-LINE BASED COMPUTATION-IN-MEMORY APPARATUS AND METHOD FOR COMPUTING A SUM OF PRODUCT IN MEMORY} Segmented BIT-LINE BASED COMPUTATION-IN-MEMORY APPARATUS AND METHOD FOR COMPUTING A SUM OF PRODUCT IN MEMORY

본 발명은 메모리 장치에 관한 것으로, 메모리 장치 내에서 곱셈 및 덧셈연산을 수행하도록 하여 데이터의 액세스 및 전달에 소요되는 전력을 최소로 하는 분할된 비트라인 기반 계산 메모리 장치 및 곱의 합 연산을 수행하는 방법에 관한 것이다. The present invention relates to a memory device, which performs multiplication and addition operations in a memory device to minimize power required for data access and transfer, and a divided bit line-based computation memory device for performing sum operations it's about how

오늘날 많은 애플리케이션에서 대용량의 데이터 처리가 필수적이 됨에 따라, 데이터의 액세스(data access) 및 전달(transfer)에 필요한 소비 전력이 연산에 필요한 전력보다 많은 양을 차지한다. 이러한 점을 감안하여 데이터의 액세스 및 전달에 소요되는 전력을 감소시켜 오퍼레이션의 효율성을 높이기 위해 메모리 장치 내에서 오퍼레이션을 수행하는 방법인 CIM(Computation In Memory)이 고안되었다. As large-capacity data processing becomes essential in many applications today, power consumption required for data access and transfer occupies a greater amount than power required for computation. In consideration of this, a computation in memory (CIM), a method of performing an operation in a memory device, has been devised in order to increase the efficiency of the operation by reducing the power required to access and transfer data.

CIM은 현재 도입 단계이므로, 다양한 CIM 구조가 활발하게 제안되고 있다. Since CIM is currently in the introduction stage, various CIM structures are being actively proposed.

미국 등록특허 US 10,565,138 B2(MEMORY DEVICE WITH MUTIPLE MEMORY ARRAYS TO FACILITATE IN-MEMORY COMPUTATION, 2020.02.18.)US registered patent US 10,565,138 B2 (MEMORY DEVICE WITH MUTIPLE MEMORY ARRAYS TO FACILITATE IN-MEMORY COMPUTATION, 2020.02.18.)

본 발명이 해결하고자 하는 기술적 과제는, 메모리 장치를 구성하는 비트라인의 전하공유(Bit-Line Charge Sharing)를 이용하여 곱의 합(Sum Of Produce) 연산을 수행하는 분할된 비트라인 기반 계산 메모리 장치를 제공하는 것에 있다. The technical problem to be solved by the present invention is a divided bit-line-based computational memory device that performs a sum of produce operation using bit-line charge sharing of bit lines constituting the memory device. is to provide

본 발명이 해결하고자 하는 다른 기술적 과제는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법을 제공하는 것에 있다. Another technical problem to be solved by the present invention is to provide a method of performing a sum operation of products using a divided bit line-based calculation memory device.

상기 기술적 과제를 달성하기 위한 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치는, 각각 복수의 비트셀을 포함하는 복수의 비트셀 모듈을 포함하는 복수의 비트셀 어레이; 가산부; 및 해당 비트셀 모듈과 상기 가산부를 연결하는 복수의 비트라인을 포함하며, 상기 복수의 비트라인 각각은 매 비트셀 어레이마다 하나씩 할당하는 전송게이트에 의해 분할되어 있는 복수의 분할된 비트라인을 포함하며, 상기 가산부는 상기 복수의 비트라인으로 전달되는 데이터를 서로 결합하여 공유한다.According to an aspect of the present invention, there is provided a divided bit line-based computational memory device comprising: a plurality of bit cell arrays including a plurality of bit cell modules each including a plurality of bit cells; addition part; and a plurality of bit lines connecting the corresponding bit cell module and the adder, wherein each of the plurality of bit lines includes a plurality of divided bit lines divided by a transfer gate that is allocated one for each bit cell array, , the adder combines and shares data transmitted to the plurality of bit lines.

또한, 상기 복수의 분할된 비트라인은, 상기 복수의 분할된 비트라인을 연결하는 복수의 전송게이트의 개폐동작을 이용하여 상기 비트셀에 저장된 데이터 및 외부에서 인가되는 데이터를 상기 복수의 분할된 비트라인에 충전 또는 방전시키는 과정 및 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체가 공유하도록 하여 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터의 곱셈 결과에 비례하는 전압값을 상기 가산부로 출력할 수 있다.In addition, the plurality of divided bit lines uses the opening/closing operation of a plurality of transfer gates connecting the plurality of divided bit lines to transfer data stored in the bit cells and data applied from the outside to the plurality of divided bits. A process of charging or discharging a line and a voltage value proportional to a result of multiplying the data stored in the bit cell and the externally applied data by sharing the charge charged in the divided bit line by the entire bit line is added It can be printed as a copy.

또한, 상기 비트셀은 SRAM(Static Random Access Memory)일 수 있다.In addition, the bit cell may be a static random access memory (SRAM).

상기 다른 기술적 과제를 달성하기 위한 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법은, 전술한 분할된 비트라인 기반 계산 메모리 장치를 이용하여 수행하며, 하나의 비트라인을 분할한 복수의 분할된 비트라인을 연결하는 복수의 전송게이트의 개폐동작을 이용하여 상기 분할된 비트라인과 연결된 비트셀에 저장된 데이터 및 외부에서 인가되는 데이터의 값에 대해 곱셈연산을 하는 단계; 및 상기 곱셈연산을 하는 단계에서 복수의 비트라인에서 각각 출력되는 곱셈의 결과를 더하는 단계를 포함한다.The method of performing the sum of products using the divided bit line-based calculation memory device according to the present invention for achieving the above other technical problem is performed using the above-described divided bit line-based calculation memory device, and one A multiplication operation is performed on the values of data stored in the bit cells connected to the divided bit lines and externally applied data by using the opening/closing operation of a plurality of transfer gates connecting the plurality of divided bit lines obtained by dividing the bit lines. step; and adding the multiplication results respectively output from the plurality of bit lines in the step of performing the multiplication operation.

또한, 상기 곱셈연산을 하는 단계는, 곱셈의 대상이 되는 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터가 모두 양수이거나 음수일 때에는 곱셈의 결과를 양수로 판단하고, 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터 중 하나가 음수일 때에는 곱셈의 결과를 음수로 판단하는 단계; 곱셈의 부호가 양일 때, 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터에 대응하여 상기 분할된 비트라인을 충전, 방전 및 현 상태 유지를 수행한 후 전하 공유를 수행함으로써 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터의 곱셈연산을 수행하는 제1 곱셈연산단계; 및 곱셈의 부호가 음일 때, 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터에 대응하여 상기 분할된 비트라인을 충전, 방전 및 현 상태 유지를 수행한 후 전하 공유를 수행함으로써 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터의 곱셈연산을 수행하는 제2 곱셈연산단계를 포함할 수 있다.In the step of performing the multiplication operation, when both the data stored in the bit cell to be multiplied and the data applied from the outside are positive or negative, the result of the multiplication is determined as a positive number, and the data stored in the bit cell is determined as a positive number. and determining that the result of the multiplication is a negative number when one of the externally applied data is a negative number. When the sign of multiplication is positive, charge, discharge, and current state maintenance are performed on the divided bit lines in response to the data stored in the bit cell and the externally applied data, and then charge sharing is performed to store data stored in the bit cell. a first multiplication operation step of performing a multiplication operation on data and the externally applied data; and when the sign of multiplication is negative, charging, discharging, and maintaining the current state of the divided bit lines are performed in response to the data stored in the bit cell and the data applied from the outside, and then charge sharing is performed to the bit cell. It may include a second multiplication operation step of performing a multiplication operation of the stored data and the externally applied data.

또한, 상기 제1 곱셈연산단계는, 모든 전송게이트가 턴 오프 된 상태에서 분할된 비트라인을 상기 외부에서 인가되는 데이터의 비트에 따라 충전 또는 방전하는 단계; 상기 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계; 모든 전송게이트가 턴 오프된 상태에서 상기 분할된 비트라인을 상기 비트셀에 저장된 데이터의 비트에 따라 방전 또는 현 상태를 유지하는 단계; 및 모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계를 포함할 수 있다.In addition, the first multiplication operation step may include: charging or discharging the divided bit lines according to the externally applied data bits in a state in which all transfer gates are turned off; sharing the charge charged in the divided bit lines to all of the corresponding bit lines by turning on all transfer gates connecting the divided bit lines; discharging or maintaining the current state of the divided bit line according to the bit of data stored in the bit cell in a state in which all transfer gates are turned off; and turning on all the transfer gates to share the charge charged in the divided bit lines to the entire bit line.

또한, 상기 충전 또는 방전하는 단계는, 상기 외부에서 인가되는 데이터의 비트가 1일 때에는 해당 분할된 비트라인을 충전하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 방전하고, 상기 충전, 방전 또는 현 상태를 유지하는 단계는, 상기 비트셀에 저장한 데이터의 비트가 1일 때에는 해당 분할된 비트라인의 상태를 유지하도록 하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 방전할 수 있다.In addition, in the charging or discharging, when the bit of the externally applied data is 1, the divided bit line is charged, and when the bit is 0, the divided bit line is discharged, and the charging and discharging are performed. Alternatively, the step of maintaining the current state may include maintaining the state of the divided bit line when the bit of the data stored in the bit cell is 1, and discharging the divided bit line when the bit is 0. .

또한, 상기 제2 곱셈연산단계는, 모든 전송게이트가 턴 오프 된 상태에서 분할된 비트라인을 상기 외부에서 인가되는 데이터의 비트에 따라 충전 또는 방전하는 단계; 상기 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계; 모든 전송게이트가 턴 오프된 상태에서 상기 분할된 비트라인을 상기 비트셀에 저장된 데이터의 비트에 따라 충전 또는 현 상태를 유지하는 단계; 및 모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계를 포함할 수 있다.In addition, the second multiplication operation step may include: charging or discharging the divided bit lines according to the externally applied data bits in a state in which all transfer gates are turned off; sharing the charge charged in the divided bit lines to all of the corresponding bit lines by turning on all transfer gates connecting the divided bit lines; charging or maintaining the current state of the divided bit line according to the bit of data stored in the bit cell in a state in which all transfer gates are turned off; and turning on all the transfer gates to share the charge charged in the divided bit lines to the entire bit line.

또한, 상기 충전 또는 방전하는 단계는, 상기 외부에서 인가되는 데이터의 비트가 1일 때에는 해당 분할된 비트라인을 방전하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 충전하며, 상기 충전, 방전 또는 현 상태를 유지하는 단계는, 상기 비트셀에 저장한 데이터의 비트가 1일 때에는 해당 분할된 비트라인의 상태를 유지하도록 하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 충전할 수 있다.In the charging or discharging step, when the bit of the externally applied data is 1, the divided bit line is discharged, and when the bit is 0, the divided bit line is charged, and the charging and discharging. Alternatively, the step of maintaining the current state may include maintaining the state of the divided bit line when the bit of the data stored in the bit cell is 1, and charging the divided bit line when the bit is 0. .

이때, 충전하는 전압은 방전하는 전압에 비해 높은 전압준위를 가질 수 있다.In this case, the charging voltage may have a higher voltage level than the discharging voltage.

본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치 및 곱의 합 연산을 수행하는 방법은 아날로그 전압의 사용으로 인한 공정 오차로 정확한 동작을 보장할 수 없는 CIM(Computation In Memory) 회로와 다르게 미세공정으로 인한 공정 오차가 증가하는 현대의 IC 설계에 적합한 아날로그 계산회로로서, 공정 오차에 둔감한 곱의 합 연산을 수행할 수 있는 장점이 있다. The divided bit line-based calculation memory device and the method of performing the sum operation of the product according to the present invention are different from the CIM (Computation In Memory) circuit, which cannot guarantee accurate operation due to a process error due to the use of an analog voltage, using a fine process. As an analog calculation circuit suitable for a modern IC design in which process errors increase due to increased process errors, it has the advantage of being able to perform the sum of products insensitive to process errors.

도 1은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치의 일 실시 예이다.
도 2는 도 1에 도시된 복수의 비트셀 어레이의 일부의 예이다.
도 3은 곱셈 결과가 양수이고, 외부에서 인가되는 데이터에 대응하는 해당 분할된 비트라인을 충전 또는 방전한 후 분할된 비트라인에 각각 충전된 전하를 비트라인 전체에 공유하는 과정을 설명한다.
도 4는 곱셈 결과가 음수이고, 외부에서 인가되는 데이터에 대응하여 해당 분할된 비트라인에 충전 및 방전한 후 충전된 전하를 해당 비트라인 전체에 공유하는 과정을 설명한다.
도 5는 곱셈 결과가 양수일 때 및 음수일 때 분할된 비트라인의 전하공유를 설명한다.
도 6은 복수의 전송게이트로 구성되는 가산부의 예를 설명한다.
도 7은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법의 예이다.
도 8은 도 7에 도시된 곱셈 연산의 실시 예이다.
도 9는 도 8에 도시된 네 개의 단계(822, 825, 832, 835)의 실시 예이다.
도 10은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치의 동작 결과를 설명한다.
도 11은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치를 사용하였을 때의 공정 오차를 나타낸다.
1 is an embodiment of a divided bit line-based computational memory device according to the present invention.
FIG. 2 is an example of a part of a plurality of bit cell arrays shown in FIG. 1 .
3 illustrates a process in which a multiplication result is a positive number, and after charging or discharging a corresponding divided bit line corresponding to externally applied data, charges charged in each of the divided bit lines are shared throughout the bit lines.
4 illustrates a process in which the multiplication result is negative and the divided bit lines are charged and discharged in response to externally applied data, and then the charged charges are shared throughout the corresponding bit lines.
5 illustrates charge sharing of the divided bit lines when the multiplication result is positive and negative.
6 illustrates an example of an adder composed of a plurality of transfer gates.
7 is an example of a method of performing a sum of products operation using a divided bit line-based calculation memory device according to the present invention.
FIG. 8 is an embodiment of the multiplication operation shown in FIG. 7 .
FIG. 9 is an embodiment of the four steps 822 , 825 , 832 , and 835 shown in FIG. 8 .
10 illustrates an operation result of the divided bit line-based computational memory device according to the present invention.
11 shows a process error when a divided bit line-based computational memory device according to the present invention is used.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시 예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings describing exemplary embodiments of the present invention and the contents described in the accompanying drawings.

이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings. Like reference numerals in each figure indicate like elements.

도 1은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치의 일 실시 예이다. 1 is an embodiment of a divided bit line-based computational memory device according to the present invention.

도 1을 참조하면, 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치(100)는 복수의 비트셀 어레이(110), 가산부(120) 및 복수의 비트라인(130)을 포함한다. Referring to FIG. 1 , a divided bit line-based computational memory device 100 according to the present invention includes a plurality of bit cell arrays 110 , an adder 120 , and a plurality of bit lines 130 .

복수의 비트셀 어레이(110)는 각각 복수의 비트셀(Bitcell)을 포함하는 복수의 비트셀 모듈(111 ~ 113)을 포함한다. 비트셀은 SRAM(Static Random Access Memory)인 것이 바람직하다. The plurality of bit cell arrays 110 includes a plurality of bit cell modules 111 to 113 each including a plurality of bit cells. Preferably, the bit cell is a static random access memory (SRAM).

가산부(120)는 복수의 비트 라인(130)으로 전달되는 데이터를 서로 결합하여 공유한다. The adder 120 combines and shares data transmitted to the plurality of bit lines 130 with each other.

복수의 비트라인(131, 132, 133: 130)은 각각 해당 비트셀 모듈과 가산부(120)를 연결한다. 도 1에는 도시하지 않았지만, 복수의 비트라인 각각은(131~133), 매 비트셀 어레이마다 하나씩 할당하는 전송게이트 (Transmission Gate)에 의해 분할되어 있다. The plurality of bit lines 131 , 132 , 133 : 130 respectively connect the corresponding bit cell module and the adder 120 . Although not shown in FIG. 1 , each of the plurality of bit lines 131 to 133 is divided by a transmission gate that is allocated to each bit cell array.

도 1을 참조하면, 제1 비트라인(131, RBL1)에서 출력되는 곱셈 연산의 출력은 W1X1이고, 제D 비트라인(133, RBLD; D는 자연수)에서 출력되는 곱셈 연산의 출력은 WDXD 이라는 것을 알 수 있다. 따라서, 가산부(120)의 출력은 ΣWiXi 가 될 것이다. 여기서 i는 변수이며, 최대 D와 동일한 값을 가질 수 있다. Referring to FIG. 1 , the output of the multiplication operation output from the first bit line 131 , RBL 1 is W 1 X 1 , and the output of the multiplication operation output from the D-th bit line 133 , RBL D ; D is a natural number). It can be seen that the output is W D X D . Accordingly, the output of the adder 120 will be ΣW i X i . Here, i is a variable and can have the same value as maximum D.

이하에서는 도 1에 도시된 분할된 비트라인 기반 계산 메모리 장치(100)의 구체적인 실시 예를 설명한다. Hereinafter, a specific embodiment of the divided bit line-based computational memory device 100 shown in FIG. 1 will be described.

도 2는 도 1에 도시된 복수의 비트셀 어레이의 일부의 예이다. FIG. 2 is an example of a part of a plurality of bit cell arrays shown in FIG. 1 .

도 2를 참조하면, 제1 비트셀 어레이(111)는, 각각 해당 데이터(RWL[n], n은 자연수)를 저장하는 복수의 비트셀(Bitcell), 비트셀(Bitcell)에 저장된 데이터(RWL[n]) 또는 외부에서 인가되는 데이터(xi[n])를 버퍼링하는 복수의 버퍼(RBL PCH BUF), 복수의 버퍼(RBL PCH BUF)의 출력과 각각 연결하는 복수의 분할된 비트라인(SBL-0 ~ SBL-n) 및 복수의 분할된 비트라인(SBL-0 ~ SBL-n)을 연결하는 복수의 전송게이트(TG0 ~ TGn)를 포함한다. Referring to FIG. 2 , the first bit cell array 111 includes a plurality of bit cells each storing corresponding data (RWL[n], n is a natural number), and data RWL stored in the bit cells. [n]) or a plurality of buffers (RBL PCH BUF) for buffering externally applied data (x i [n]), and a plurality of divided bit lines ( SBL-0 to SBL-n) and a plurality of transfer gates TG0 to TGn connecting the plurality of divided bit lines SBL-0 to SBL-n.

설명의 편의를 위해, 도 2에 도시된 분할된 비트라인은 도 1에 도시된 RBL1으로 가정하고 설명한다. 도 2를 참조하면, RBL1은 SBL-0 ~ SBL-n(n은 자연수)의 분할된 비트라인으로 구분된다는 것을 알 수 있다. For convenience of description, it is assumed that the divided bit line shown in FIG. 2 is RBL 1 shown in FIG. 1 . Referring to FIG. 2 , it can be seen that RBL 1 is divided into divided bit lines of SBL-0 to SBL-n (n is a natural number).

도 2에는 자세하게 도시하지 않았지만, 전송게이트에 의해 그 길이가 분할되는 복수의 분할 된 비트라인(SBL-0 ~ SBL-n)의 각각의 길이는, 연결된 비트셀의 웨이트와 동일하게 2배씩 증가하도록 하는 것이 본 발명의 핵심 아이디어이다. Although not shown in detail in FIG. 2, the length of each of the plurality of divided bit lines SBL-0 to SBL-n whose length is divided by the transfer gate is increased by two times equal to the weight of the connected bit cell. is the core idea of the present invention.

전송게이트의 구조 및 동작 특성은 이 분야의 통상의 기술자라면 누구든지 알고 있으므로, 여기서는 자세하게 설명하지 않는다. 다만, 전송게이트를 구성하는 N형 모스트랜지스터와 P형 트랜지스터에 게이트 단자에 인가되는 전압(SUM & /SUM)은 서로 다른 위상을 가지도록 하여 두 개의 트랜지스터가 동시에 턴 온 되거나 동시에 턴 오프 되도록 한다. The structure and operation characteristics of the transfer gate are known to those skilled in the art, and thus will not be described in detail herein. However, voltages SUM & /SUM applied to the gate terminals of the N-type MOS transistor and the P-type transistor constituting the transfer gate have different phases so that the two transistors are turned on or off at the same time.

예를 들면, 분할된 제2 비트라인(SBL-1)의 길이는 분할된 제1 비트라인(SBL-0)의 두 배이며, 분할된 제3 비트라인(SBL-2)의 길이는 분할된 제2 비트라인(SBL-1)의 두 배이고, 분할된 제n 비트라인(SBL-n)의 길이는 분할된 제(n-1) 비트라인(SBL(n-1))에 비해 두 배이다. For example, the length of the divided second bit line SBL-1 is twice that of the divided first bit line SBL-0, and the length of the divided third bit line SBL-2 is equal to the length of the divided first bit line SBL-0. It is twice the length of the second bit line SBL-1, and the length of the divided n-th bit line SBL-n is twice that of the divided (n-1)-th bit line SBL(n-1). .

또한, 분할된 제1 비트라인(SBL-0)과 분할된 제2 비트라인(SBL-1)을 연결하는 제1 전송게이트(TG0)의 기생용량(parasitic capacitance)에 비해 분할된 제2 비트라인(SBL-1)과 분할된 제3 비트라인(SBL-2)을 연결하는 제2 전송게이트(TG1)의 기생용량은 2배가 되며, 이어지는 제3 전송게이트(TG2)의 기생용량은 제2 전송게이트(TG1)의 기생용량의 2배가 되고, 계속하여 제n 전송게이트(TGn)의 기생용량은 제(n-1) 전송게이트(TG(n-1))의 기생용량의 2배가 되도록 하는 것이 바람직하다.In addition, compared to the parasitic capacitance of the first transfer gate TG0 connecting the divided first bit line SBL-0 and the divided second bit line SBL-1, the divided second bit line The parasitic capacitance of the second transfer gate TG1 connecting SBL-1 and the divided third bit line SBL-2 is doubled, and the parasitic capacitance of the subsequent third transfer gate TG2 is increased by the second transmission. The parasitic capacitance of the gate TG1 becomes twice the parasitic capacitance of the gate TG1, and the parasitic capacitance of the n-th transfer gate TGn is set to double the parasitic capacitance of the (n-1)-th transfer gate TG(n-1). desirable.

이러한 방식으로 분할이 된다고 가정할 때, 본 발명에서 제안하는 구조는 -2n+1 ~ 2n-1까지의 범위를 가지는 정수의 연산이 가능하다.Assuming that the division is performed in this way, the structure proposed in the present invention enables the operation of integers in the range of -2n+1 to 2n-1.

본 발명에서는 각각의 비트라인에 연결된 비트셀(Bitcell)에 저장된 데이터(RWL[n])와 외부에서 인가되는 데이터(xi[n])의 곱셈연산(Multiplication)을 수행한 후, 복수의 비트라인(RBL1 ~ RBLD)을 전하 공유하여 복수의 비트라인에서 출력하는 곱셈 연산의 결과에 덧셈 연산(Summation)을 수행함으로써, 곱셈의 합 연산을 수행한다.In the present invention, after performing a multiplication operation on data (RWL[n]) stored in a bitcell connected to each bitline and data applied from the outside (x i [n]), a plurality of bits A sum operation of multiplication is performed by performing a summation operation on a result of a multiplication operation outputted from a plurality of bit lines by sharing charge of the lines RBL 1 to RBL D .

먼저, 곱셈연산에 대해 설명한다.First, the multiplication operation will be described.

곱셈연산의 결과는 곱하는 두 데이터의 부호에 따라 결정될 것인데, 두 데이터 중 하나의 데이터라도 음수일 경우 곱셈의 결과는 음수가 되고, 두 데이터 모두 양수이거나 모두 음수일 때의 곱셈의 결과는 양수가 될 것이다. 곱셈의 대상이 되는 데이터의 부호는 별도의 수단(미도시)에서 판별하여 곱셈 결과의 부호는 미리 확인할 수 있으므로, 곱셈연산의 과정을 곱셈 연산의 출력이 양수일 때와 음수일 때로 구분하여 설명한다.The result of the multiplication operation will be determined according to the sign of the two data to be multiplied. If either data is negative, the result of the multiplication will be negative. If both data are positive or both data, the result of the multiplication will be positive. will be. Since the sign of the data to be multiplied can be determined by a separate means (not shown) and the sign of the multiplication result can be confirmed in advance, the process of the multiplication operation will be described separately when the output of the multiplication operation is positive and negative.

곱셈 결과가 양수일 때의 곱셈연산에 대해 설명한다.The multiplication operation when the multiplication result is a positive number will be described.

곱셈의 대상이 되는 두 개의 데이터 중 외부에서 인가되는 데이터(Xi)가 십진수로 6인 0110이라고 가정하고, 비트셀(Bitcell)에 저장된 데이터(Wi)가 십진수로 5인 1010이라고 가정한다.It is assumed that the externally applied data (Xi) among the two data to be multiplied is 0110, which is 6 in decimal, and it is assumed that the data Wi stored in the bitcell is 1010, which is 5 in decimal.

도 3은 곱셈 결과가 양수이고, 외부에서 인가되는 데이터에 대응하는 해당 분할된 비트라인을 충전 또는 방전한 후 분할된 비트라인에 각각 충전된 전하를 비트라인 전체에 공유하는 과정을 설명한다.3 illustrates a process in which a multiplication result is a positive number, and after charging or discharging a corresponding divided bit line corresponding to externally applied data, charges charged in each of the divided bit lines are shared throughout the bit lines.

도 3에 도시된 수직 방향의 바(Bar)는 비트라인이며, 분할되는 길이의 기준은 2의 배수이다. 따라서, 4개의 데이터 비트 중 웨이트가 가장 낮은 데이터(Xi[0])에 할당되는 비트라인의 길이는 두 번째 웨이트가 낮은 데이터(Xi[1])에 할당되는 비트라인의 길이의 1/2이 된다는 것을 알 수 있다. 도 3에서 빗금이 쳐진 분할된 비트라인의 공간은 전하가 충전된 것을 의미하고 비어있는 분할된 비트라인의 공간은 방전된 것을 의미한다.A vertical bar shown in FIG. 3 is a bit line, and the divided length is a multiple of 2. Accordingly, the length of the bit line allocated to the data having the lowest weight among the four data bits (Xi[0]) is 1/2 of the length of the bit line allocated to the data having the lowest weight (Xi[1]). it can be seen that In FIG. 3 , the space of the divided bit line lined with hatching means that the electric charge is charged, and the space of the divided bit line which is empty means that the space is discharged.

도 3a의 좌측을 참조하면, 분할된 비트라인을 각각 연결하는 모든 전송게이트를 턴 오프(turn OFF) 한 후, 외부에서 인가되는 데이터(Xi)의 비트에 할당된 값에 대응하여 해당 비트라인을 제1전압(VDD)으로 충전하거나 제2전압(VSS)으로 방전한다. 예를 들어, 해당 데이터의 비트가 논리 하이(Logic High; 1) 상태일 때에는 해당 분할된 비트라인을 제1전압(VDD)으로 충전하고, 해당 비트가 논리 로우(Logic Low; 0) 상태일 때에는 해당 분할된 비트라인을 제2전압(VSS)으로 방전시킨다. 제1 전압(VDD)의 전압준위는 제2 전압(VSS)의 전압준위보다 높은 것이 바람직하며, 제2 전압(VSS)은 접지전압(GND)을 사용하는 실시 예도 가능하다.Referring to the left side of FIG. 3A , after turning off all transfer gates connecting the divided bit lines, the corresponding bit lines are connected to the values assigned to the bits of data Xi applied from the outside. It is charged to the first voltage VDD or discharged to the second voltage VSS. For example, when a corresponding bit of data is in a logic high (Logic High; 1) state, the divided bit line is charged with the first voltage (VDD), and when the corresponding bit is in a logic low (Logic Low; 0) state, The divided bit line is discharged to the second voltage VSS. The voltage level of the first voltage VDD is preferably higher than the voltage level of the second voltage VSS, and an embodiment using the ground voltage GND as the second voltage VSS is also possible.

외부에서 인가되는 데이터(Xi)가 0110이므로, 첫 번째 및 네 번째의 분할 된 비트라인은 방전되고 두 번째 및 세 번째의 분할된 비트라인은 각각 충전된다는 것을 알 수 있다. 첫 번째 분할된 비트라인에서의 충전 가능 용량을 1이라고 가정할 때, 두 번째 분할된 비트라인의 충전가능 용량은 2이고, 세 번째 분할된 비트라인 및 네 번째 분할된 비트라인의 충전가능 용량은 4 및 8이 될 것이다.Since the externally applied data Xi is 0110, it can be seen that the first and fourth divided bit lines are discharged and the second and third divided bit lines are respectively charged. Assuming that the chargeable capacity in the first divided bit line is 1, the chargeable capacity of the second divided bit line is 2, and the chargeable capacity of the third divided bit line and the fourth divided bit line is will be 4 and 8.

도 3a의 우측을 참조하면, 분할된 비트라인을 연결하는 전송게이트를 모두 턴 온(turn ON) 하여, 도 3a의 좌측의 상태에서 충전된 전하를 분할된 비트라인 전체에 분산하여 공유하도록 한다. 도 3a의 좌측 과정에서 충전된 전하의 양은 6(2+4)이며, 네 개의 분할된 비트라인의 총 용량이 15이므로, 이를 전체 비트라인에 공유하면, 해당 비트라인에 충전된 전하는 6/15가 될 것이다. 충전이 제1 전압(VDD)으로 이루어지므로, 해당 비트라인에 공유되는 전하에 의한 전압강하는 6/15VDD가 될 것이다.Referring to the right side of FIG. 3A , all transfer gates connecting the divided bit lines are turned on to distribute and share the charge charged in the state on the left side of FIG. 3A across the divided bit lines. The amount of charge charged in the process on the left side of FIG. 3A is 6 (2+4), and the total capacity of the four divided bit lines is 15. If this is shared among all bit lines, the charge charged in the corresponding bit line is 6/15. will be Since the charging is performed with the first voltage VDD, the voltage drop due to the charge shared in the corresponding bit line will be 6/15VDD.

이를 수학식 1과 같이 표시할 수 있다.This can be expressed as Equation (1).

Figure pat00001
Figure pat00001

도 3a가 외부에서 인가되는 데이터에 대한 것이라면, 이하에서 설명하는 도 3b는 비트셀(Bitcell)에 저장된 데이터에 대한 것이다.While FIG. 3A relates to data applied from the outside, FIG. 3B to be described below relates to data stored in a bitcell.

도 3b 좌측을 참조하면, 도 3a에 도시된 과정을 거쳐 전하가 공유된 분할된 비트라인을 연결하는 모든 전송게이트를 턴 오프 한 후 비트셀에 저장된 데이터(Wi)에 대응하는 비트에 따라 해당 분할된 비트라인을 방전시키거나 그대로 유지하도록 한다. 비트셀에 저장된 데이터(Wi)가 1010이므로, 비트가 1인 첫 번째 및 세 번째 분할된 비트라인은 이전에 충전된 상태를 그대로 유지하도록 하고 비트가 0인 두 번째 및 네 번째 분할된 비트라인은 제2전압(VSS)으로 방전시킨다.Referring to the left side of FIG. 3B, after turning off all transfer gates connecting the divided bit lines in which charges are shared through the process shown in FIG. 3A, the division is performed according to the bit corresponding to the data Wi stored in the bit cell. Discharge the bit line or keep it as it is. Since the data (Wi) stored in the bitcell is 1010, the first and third segmented bitlines with bit 1 are left in their previously charged state, and the second and fourth segmented bitlines with bit 0 are Discharge to the second voltage (VSS).

도 3b의 우측을 참조하면, 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 하여, 도 3b의 과정을 통해 분할된 비트라인에 유지되거나 방전된 전하량을 분배 및 공유하도록 하는데, 이때 해당 비트라인에 유지되는 전하량은 외부에서 인가되는 데이터(Xi, 6)와 비트셀에 저장된 데이터(Wi, 5)의 곱셈 결과에 비례하는 전하량을 가지며, 해당 분할된 비트라인에 강하되는 전압은 수학식 2와 같이 표시할 수 있다.Referring to the right side of FIG. 3B , all transfer gates connecting the divided bit lines are turned on to distribute and share the amount of charge maintained or discharged in the divided bit lines through the process of FIG. 3B. At this time, the corresponding bit lines The amount of charge held in has an amount of charge proportional to the result of multiplying the data (Xi, 6) applied from the outside and the data (Wi, 5) stored in the bit cell, and the voltage dropped on the divided bit line is expressed in Equation 2 and can be displayed together.

Figure pat00002
Figure pat00002

수학식 2에는 외부에서 인가되는 데이터의 값에 해당하는 6과 비트셀에 저장된 데이터의 값에 해당하는 5가 포함되어 있다는 것을 알 수 있다. 따라서, 수학식 2의 결과는 두 데이터의 곱셈의 정확한 값이라고 할 수는 없지만, 적어도 두 데이터의 곱셈에 비례하는 값이라고 할 수 있다. 따라서, 도 3b의 우측의 수식 중 '∝'는 이러한 상태를 표시한 것이다.It can be seen that Equation 2 includes 6 corresponding to the value of data applied from the outside and 5 corresponding to the value of data stored in the bit cell. Therefore, the result of Equation 2 cannot be said to be an exact value of the multiplication of two data, but it can be said that it is a value proportional to the multiplication of at least two data. Accordingly, '∝' in the equation on the right side of FIG. 3B indicates this state.

상기의 내용은 곱셈의 결과가 양일 경우에 대해 설명한 것으로 이하에서는, 곱셈의 결과가 음일 경우에 대해 설명한다. The above has been described for the case where the result of multiplication is positive. Hereinafter, the case where the result of multiplication is negative will be described.

도 4는 곱셈 결과가 음수이고, 외부에서 인가되는 데이터에 대응하여 해당 분할된 비트라인에 충전 및 방전한 후 충전된 전하를 해당 비트라인 전체에 공유하는 과정을 설명한다. 4 illustrates a process in which the multiplication result is negative and the divided bit lines are charged and discharged in response to externally applied data, and then the charged charges are shared throughout the corresponding bit lines.

이하의 설명에서 외부에서 인가되는 데이터(Xi) 및 비트셀에 저장된 데이터(Wi)는 도 3에 도시된 곱셈 결과가 양수일 때와 동일한 데이터를 사용하며, 좌측의 도면과 우측의 도면에서의 전송게이트의 개폐동작은 도 3과 동일하므로, 여기서는 설명을 생략한다. In the following description, the data Xi applied from the outside and the data Wi stored in the bit cell use the same data as when the multiplication result shown in FIG. 3 is a positive number, and the transfer gates in the drawings on the left and on the right Since the opening/closing operation is the same as that of FIG. 3 , a description thereof will be omitted.

도 4a의 좌측을 참조하면, 출력이 음수일 때, 외부에서 인가되는 데이터(Xi)의 비트가 0일 때는 해당 분리된 비트라인을 제1 전압(VDD)으로 충전하고, 비트가 1일 때에는 제2 전압(VSS)로 방전하는데, 이렇게 함으로써 비트라인에 충전된 전하에 의해 해당 비트라인에 강하되는 전압 값은 외부에서 인가되는 데이터(Xi)와 반비례하는 값을 가지며, 이 부분이 도 3에 도시된 예와 반대이다. 따라서, 비트가 각각 0인 첫 번째 분할된 비트라인과 네 번째 분할된 비트라인은 제1 전압(VDD)로 충전하고, 비트가 각각 1인 두 번째 및 세 번째 분할된 비트라인은 제2 전압(VSS)로 방전한다. 도 4a 우측에 도시된 것과 같이, 분할된 비트라인에 각각에 충전된 총 전하를 분할된 비트라인 전체가 공유하도록 하면 공유된 전하에 의해 비트라인에 강하되는 전압은 수학식 3과 같이 표시할 수 있다. Referring to the left side of FIG. 4A , when the output is negative, when the bit of externally applied data Xi is 0, the corresponding separated bit line is charged with a first voltage VDD, and when the bit is 1, the second bit line is charged. Discharge is performed at a voltage of 2 (VSS). In this way, the voltage value that is dropped to the corresponding bit line by the charge charged in the bit line has a value in inverse proportion to the externally applied data (Xi), which is shown in FIG. 3 . Contrary to the example Accordingly, the first divided bit line and the fourth divided bit line each having a bit of 0 are charged with a first voltage (VDD), and the second and third divided bit lines each having a bit of 1 are charged with a second voltage (VDD). to VSS). As shown on the right side of FIG. 4A, if the total charge charged in each of the divided bit lines is shared by all of the divided bit lines, the voltage dropped to the bit line by the shared charge can be expressed as Equation 3 have.

Figure pat00003
Figure pat00003

도 4b 좌측을 참조하면, 비트셀에 저장된 데이터(Wi)의 비트가 1이면 도 4a의 과정에서 공유된 전하를 그대로 유지하도록 하고, 비트가 0일 때에는 해당 분할된 비트라인을 제1 전압(VDD)으로 충전한다. 도 4b 우측에 도시된 것과 같이, 도 4b의 좌측의 과정에서 각각의 분할된 비트라인에 충전된 전하를 해당 비트라인 전체가 공유하도록 하면, 비트라인에 공유하는 전하는 수학식 4와 같이 표시할 수 있다. Referring to the left of FIG. 4B , if the bit of the data Wi stored in the bit cell is 1, the charge shared in the process of FIG. 4A is maintained as it is, and when the bit is 0, the divided bit line is connected to the first voltage (VDD). ) is charged with As shown on the right side of FIG. 4B, if the charge charged in each divided bit line is shared by the entire bit line in the process on the left side of FIG. 4B, the charge shared on the bit line can be expressed as Equation 4 have.

Figure pat00004
Figure pat00004

수학식 4 및 도 4를 참조하면, 곱셈의 결과가 음수일 때, 해당 분할된 비트라인에 충전되는 전하는 두 데이터의 곱(WiXi)에 반비례하는 전압값을 가진다는 것을 알 수 있다. Referring to Equation 4 and FIG. 4 , it can be seen that when the result of the multiplication is a negative number, the charge charged in the corresponding divided bit line has a voltage value that is inversely proportional to the product WiXi of the two data.

도 1에 도시한 바와 같이, 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치(100)는 복수의 비트셀 어레이(110)와 복수의 비트 라인(130)을 포함한다. 상술한 바와 같이, 하나의 비트셀 어레이의 곱셈연산의 결과가 양수라고 가정할 때, 이웃하는 비트셀 어레이의 곱셈연산의 결과가 음수일 수도 있다. As shown in FIG. 1 , the divided bit line-based computational memory device 100 according to the present invention includes a plurality of bit cell arrays 110 and a plurality of bit lines 130 . As described above, assuming that the result of the multiplication operation of one bit cell array is positive, the result of the multiplication operation of the neighboring bit cell array may be negative.

음수와 양수가 전하공유 방식으로 합 연산을 수행하기 위해서는 제1 전압(VDD)의 절반을 기준으로, 음수는 VDD/2 - ┃WiXi┃/a 그리고 양수는 VDD/2 + ┃WiXi┃/a의 형태가 표시되어야 할 것이다. 여기서 a는 2┃WiXi┃의 최대값이다. In order to perform the sum operation of negative and positive numbers in a charge-sharing method, based on half of the first voltage (VDD), negative numbers are VDD/2 - ┃WiXi┃/a, and positive numbers are VDD/2 + ┃WiXi┃/a. The form should be displayed. where a is the maximum value of 2┃WiXi┃.

도 5는 곱셈 결과가 양수일 때 및 음수일 때 분할된 비트라인의 전하공유를 설명한다. 5 illustrates charge sharing of the divided bit lines when the multiplication result is positive and negative.

도 5의 상부는 곱셈 결과가 양수일 때이고, 하부는 곱셈 결과가 음수일 때를 각각 나타낸다. The upper part of FIG. 5 shows when the multiplication result is positive, and the lower part shows when the multiplication result is negative, respectively.

기존의 곱셈연산(Multiplication)을 수행할 때 사용했던 비트라인 정전용량만큼의 정전용량을 충전 또는 방전한 후 전하공유를 통해 VDD/2+|WiXi| 또는 VDD/2-|WiXi|를 구현해 준다. VDD/2+|WiXi| Or implement VDD/2-|WiXi|.

도 5에 도시한 것처럼 곱셈 결과가 음수일 경우 제2 전압(VSS 또는 GND)으로 방전시키고, 양수일 경우 제1 전압(VDD)으로 충전한다. 분할된 비트라인의 정전용량은 동일하므로 같은 값을 갖는다. As shown in FIG. 5 , when the multiplication result is a negative number, it is discharged to the second voltage (VSS or GND), and when it is positive, it is charged to the first voltage (VDD). Since the divided bit lines have the same capacitance, they have the same value.

도 6은 복수의 전송게이트로 구성되는 가산부의 예를 설명한다. 6 illustrates an example of an adder composed of a plurality of transfer gates.

도 6을 참조하면, 가산부(120)를 구성하는 모든 전송게이터를 턴 온 함으로써, 도 1에 도시된 모든 비트라인(RBL1 ~ RBLD)을 전부 연결해 전하공유를 수행한다는 것을 알 수 있다. Referring to FIG. 6 , it can be seen that charge sharing is performed by connecting all bit lines RBL 1 to RBL D shown in FIG. 1 by turning on all transfer gaters constituting the adder 120 .

각각의 비트라인(RBL1 ~ RBLD)은 동일한 구조 따라서 동일한 정전용량을 가진다. 따라서 모든 비트라인(RBL1 ~ RBLD)의 전하를 공유하면 복수의 곱셈 결과를 더한 결과(ΣWiXi)는 수학식 5에 도시된 것과 같은 전압 값을 얻을 수 있다. Each of the bit lines RBL 1 to RBL D has the same structure and thus the same capacitance. Therefore, if the charges of all the bit lines RBL 1 to RBL D are shared, the result (ΣW i X i ) of adding a plurality of multiplication results can obtain a voltage value as shown in Equation 5.

Figure pat00005
Figure pat00005

수학식 5에서 n은 비트라인(RBL)의 개수이고, CBL은 해당 비트라인의 용량이다. a는 하나의 비트라인(RBL)에서 분할된 비트라인의 개수-1의 값을 가지는데, 이는 종단이 제1 전압(VDD)이나 제2 전압(VSS 또는 GND)으로 충, 방전되는 가장 큰 BL을 제외해야 하기 때문이다.In Equation 5, n is the number of bit lines RBL, and C BL is the capacity of the corresponding bit line. a has a value of -1, the number of bit lines divided in one bit line (RBL), which is the largest BL whose termination is charged and discharged with the first voltage (VDD) or the second voltage (VSS or GND) because it has to be excluded.

도 7은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법의 예이다.7 is an example of a method of performing a sum of products operation using a divided bit line-based calculation memory device according to the present invention.

도 7을 참조하면, 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법(이하 곱의 합 연산을 수행하는 방법)은, 복수의 곱셈 연산 단계(710~730) 및 덧셈연산단계(740)를 포함한다. Referring to FIG. 7 , a method of performing a sum operation of products using a divided bit line-based calculation memory device according to the present invention (hereinafter, a method of performing a sum operation of products) includes a plurality of multiplication operation steps 710 to 730 ) and an addition operation step 740 .

도 7에 도시된 곱의 합 연산을 수행하는 방법(700)은 도 1에 도시된 분할된 비트라인 기반 계산 메모리 장치(100)에서 수행하는 것이 바람직하지만, 별도의 장치를 이용하여 수행하는 실시 예도 가능하다.The method 700 of performing the sum of products operation shown in FIG. 7 is preferably performed in the divided bit line-based calculation memory device 100 shown in FIG. 1 , but is performed using a separate device. It is possible.

복수의 곱셈 연산 단계(710~730)는 각각의 분할된 비트라인(RBL1~RBLD)에 대해 곱셈 연산을 수행하는 단계를 포함하며, 덧셈연산단계(740)에서는 복수의 곱셈 연산 단계(710~730)에서 수행한 곱셈의 결과(W1X1 ~ WDXD)를 더하는 과정을 수행한다.The plurality of multiplication operation steps 710 to 730 includes performing a multiplication operation on each of the divided bit lines RBL 1 to RBL D , and in the addition operation step 740 , a plurality of multiplication operation steps 710 . ~730), the result of the multiplication (W 1 X 1 ~ W D X D ) is added.

복수의 곱셈 연산 단계(710~730)에서는 각각 해당 분할된 비트라인(RBL1~RBLD)에 인가되는 외부의 데이터(XD) 및 비트셀에 저장된 데이터(WD)를 곱하는 과정을 수행하며, 모든 곱셈 연산 단계의 동작은 동일하므로, 여기서는 하나의 분할된 비트라인에서의 곱셈 연산(710)에 대해 예를 들어 설명한다.In the plurality of multiplication operation steps 710 to 730, the process of multiplying the external data X D applied to the respective divided bit lines RBL 1 to RBL D and the data stored in the bit cell W D is performed. , since the operations of all multiplication operation steps are the same, the multiplication operation 710 in one divided bit line will be described as an example.

도 8은 도 7에 도시된 곱셈 연산의 실시 예이다.FIG. 8 is an embodiment of the multiplication operation shown in FIG. 7 .

도 8을 참조하면, 곱셈 연산(710)은, 곱셈의 결과의 부호를 판단하는 단계(810), 곱셈의 부호가 양일 때(Yes) 곱셈을 수행하는 단계(820) 및 곱셈의 부호가 음일 때(no) 곱셈을 수행하는 단계(830)를 포함한다.Referring to FIG. 8 , the multiplication operation 710 includes a step 810 of determining the sign of the multiplication result, a step 820 of performing multiplication when the sign of the multiplication is positive (Yes), and a negative sign of the multiplication. (no) performing a multiplication (830).

곱셈의 결과의 부호를 판단하는 단계(810)에서는, 곱셈의 대상이 되는 두 데이터가 모두 양수이거나 음수일 때에는 곱셈의 결과를 양수로 판단하고(Yes), en 데이터 중 하나가 음수일 때에는 곱셈의 결과를 음수로 판단(No)한다.In step 810 of determining the sign of the result of the multiplication, when both data to be multiplied are positive or negative, the result of the multiplication is determined to be positive (Yes), and when one of the en data is negative, the multiplication is The result is judged as negative (No).

곱셈의 부호가 양일 때(Yes) 곱셈을 수행하는 단계(820)는, 분할된 비트라인을 연결하는 모든 전송게이트를 턴 오프하는 단계(821), 모든 전송게이트가 턴 오프 된 상태에서 분할된 비트라인을 외부에서 인가되는 데이터(Xi)의 비트에 따라 충전 또는 방전하는 단계(822), 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 시킴으로써 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계(823), 모든 전송게이트를 턴 오프하는 단계(824), 모든 전송게이트가 턴 오프된 상태에서 분할된 비트라인을 비트셀(Bitcell)에 저장된 데이터(Wi)의 비트에 따라 충전 또는 방전하는 단계(825), 및 모든 전송게이트를 턴 온시킴으로써 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계(826)를 수행한다.When the sign of multiplication is positive (Yes), the step of performing multiplication (820) is turning off all transfer gates connecting the divided bit lines (step 821), and in a state in which all transfer gates are turned off, the divided bit A step of charging or discharging the line according to the bit of data Xi applied from the outside ( 822 ), by turning on all transfer gates connecting the divided bit lines, the charge charged in the divided bit lines is transferred to the entire corresponding bit lines. In step 823, turning off all the transmission gates (824), charging the divided bit line according to the bit of data Wi stored in the bitcell while all the transmission gates are turned off Alternatively, a step of discharging (825), and a step (826) of sharing the charge charged in the divided bit line to the entire bit line by turning on all the transfer gates are performed.

곱셈의 부호가 음일 때(no) 곱셈을 수행하는 단계(830)는 분할된 비트라인을 연결하는 모든 전송게이트를 턴 오프하는 단계(831), 모든 전송게이트가 턴 오프 된 상태에서 분할된 비트라인을 외부에서 인가되는 데이터(Xi)의 비트에 따라 충전 또는 방전하는 단계(832), 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 시킴으로써 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계(833), 모든 전송게이트를 턴 오프하는 단계(834), 모든 전송게이트가 턴 오프된 상태에서 분할된 비트라인을 비트셀(Bitcell)에 저장된 데이터(Wi)의 비트에 따라 충전 또는 방전하는 단계(835), 및 모든 전송게이트를 턴 온시킴으로써 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계(836)를 수행한다.When the sign of multiplication is negative (no), the step of performing the multiplication (830) is a step of turning off all transfer gates connecting the divided bit lines (831), and the divided bit lines are turned off while all the transfer gates are turned off. charging or discharging according to the bit of the data Xi applied from the outside ( 832 ), by turning on all transfer gates connecting the divided bit lines, the charge charged in the divided bit lines is transferred to the entire corresponding bit lines. In the step of sharing (833), turning off all the transmission gates (834), charging or charging the divided bit line according to the bit of the data (Wi) stored in the bit cell (Bitcell) in a state in which all the transmission gates are turned off A step of discharging (835), and a step (836) of sharing the charge charged in the divided bit line to the entire bit line by turning on all the transfer gates are performed.

도 9는 도 8에 도시된 네 개의 단계(822, 825, 832, 835)의 실시 예이다.FIG. 9 is an embodiment of the four steps 822 , 825 , 832 , and 835 shown in FIG. 8 .

도 9를 참조하면, 단계 822에서는 외부에서 인가되는 데이터(Xi)의 비트가 1일 때에는 해당 분할된 비트라인을 충전하고, 비트가 0일 때에는 방전한다. 단계 825에서는 비트셀에 저장한 데이터(Wi)의 비트가 1일 때에는 해당 분할된 비트라인의 상태를 유지하도록 하고, 비트가 0일 때에는 해당 분할된 비트라인을 제2 전압으로 방전한다.Referring to FIG. 9 , in step 822, when the bit of externally applied data Xi is 1, the divided bit line is charged, and when the bit is 0, it is discharged. In step 825, when the bit of the data Wi stored in the bit cell is 1, the state of the divided bit line is maintained, and when the bit is 0, the divided bit line is discharged to the second voltage.

단계 832에서는 외부에서 인가되는 데이터(Xi)의 비트가 1일 때에는 해당 분할된 비트라인을 방전하고, 비트가 0일 때에는 충전한다. 단계 835에서는 비트셀에 저장한 데이터(Wi)의 비트가 1일 때에는 해당 분할된 비트라인의 상태를 유지하도록 하고, 비트가 0일 때에는 해당 분할된 비트라인을 제1 전압으로 충전한다.In step 832, when the bit of the externally applied data Xi is 1, the divided bit line is discharged, and when the bit is 0, it is charged. In step 835, when the bit of the data Wi stored in the bit cell is 1, the state of the divided bit line is maintained, and when the bit is 0, the divided bit line is charged with the first voltage.

상기의 설명에서 충전은 제1 전압(VDD)으로 해당 분할된 비트라인을 충전하는 것을 의미하고, 방전은 제2 전압(VSS 또는 GND)으로 해당 분할된 비트라인을 방전하는 것을 각각 의미한다.In the above description, charging means charging the divided bit line with the first voltage VDD, and discharging means discharging the divided bit line with the second voltage VSS or GND, respectively.

덧셈 단계(740)는 도 6의 설명에서와 동일하게, 가산부(120)를 구성하는 모든 전송게이터를 턴 온 함으로써, 도 1에 도시된 모든 비트라인(RBL1 ~ RBLD)을 전부 연결해 전하공유를 수행한다.In the addition step 740 , as in the description of FIG. 6 , all bit lines RBL 1 to RBL D shown in FIG. 1 are connected by turning on all transfer gaters constituting the adder 120 to charge do sharing.

도 10은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치의 동작 결과를 설명한다.10 illustrates an operation result of the divided bit line-based computational memory device according to the present invention.

도 11은 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치를 사용하였을 때의 공정 오차를 나타낸다.11 shows a process error when a divided bit line-based computational memory device according to the present invention is used.

도 10 및 도 11을 참조하면, 본 발명에 따른 본 발명에 따른 분할된 비트라인 기반 계산 메모리 장치 및 곱의 합 연산을 수행하는 방법을 적용하면, 종래의 구조에서 발생하는 공정오차로 인한 비트라인의 전압분포(도 11[2])에 비해 본 발명의 경우가 더 밀집(도 11, Proposed CIM) 되어 있다는 것을 확인할 수 있다.10 and 11, when the divided bit line-based calculation memory device according to the present invention and the method of performing the sum operation of the product according to the present invention are applied, the bit line caused by the process error occurring in the conventional structure is applied. It can be seen that the case of the present invention is more dense (FIG. 11, Proposed CIM) compared to the voltage distribution of (FIG. 11[2]).

이것은, 동일한 공정에서 더 정확한 출력을 가질 확률이 높다는 것을 의미하며, 워드라인(WL) 전압을 아날로그 전압으로 사용하기 때문에 공정의 편차에 민감한 종래의 기술에 비해 공정의 편차에 둔감하다는 것도 의미한다.This means that there is a high probability of having a more accurate output in the same process, and since the word line (WL) voltage is used as an analog voltage, it also means that it is insensitive to process deviations compared to the conventional technology, which is sensitive to process deviations.

이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 기술자라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방 가능함은 명백한 사실이다.In the above, the technical idea of the present invention has been described together with the accompanying drawings, but this is an exemplary description of a preferred embodiment of the present invention and does not limit the present invention. In addition, it is a clear fact that any person skilled in the art to which the present invention pertains can make various modifications and imitations without departing from the scope of the technical spirit of the present invention.

110: 복수의 비트셀 어레이
120: 가산부
130: 복수의 비트라인
110: a plurality of bit cell arrays
120: addition unit
130: a plurality of bit lines

Claims (11)

각각 복수의 비트셀을 포함하는 복수의 비트셀 모듈을 포함하는 복수의 비트셀 어레이;
가산부; 및
해당 비트셀 모듈과 상기 가산부를 연결하는 복수의 비트라인을 포함하며,
상기 복수의 비트라인 각각은 매 비트셀 어레이마다 하나씩 할당하는 전송게이트에 의해 분할되어 있는 복수의 분할된 비트라인을 포함하며,
상기 가산부는 상기 복수의 비트라인으로 전달되는 데이터를 서로 결합하여 공유하는, 분할된 비트라인 기반 계산 메모리 장치.
a plurality of bit cell arrays including a plurality of bit cell modules each including a plurality of bit cells;
addition part; and
a plurality of bit lines connecting the corresponding bit cell module and the adder;
Each of the plurality of bit lines includes a plurality of divided bit lines divided by a transfer gate that is allocated one for each bit cell array,
and the adder combines and shares data transmitted to the plurality of bit lines.
제 1 항에 있어서,
상기 복수의 분할된 비트라인은,
상기 복수의 분할된 비트라인을 연결하는 복수의 전송게이트의 개폐동작을 이용하여 상기 비트셀에 저장된 데이터 및 외부에서 인가되는 데이터를 상기 복수의 분할된 비트라인에 충전 또는 방전시키는 과정 및 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체가 공유하도록 하여 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터의 곱셈 결과에 비례하는 전압값을 상기 가산부로 출력하는, 분할된 비트라인 기반 계산 메모리 장치.
The method of claim 1,
The plurality of divided bit lines are
A process of charging or discharging data stored in the bit cell and data applied from the outside to the plurality of divided bit lines by using an opening/closing operation of a plurality of transfer gates connecting the plurality of divided bit lines; A divided bit line-based calculation memory for outputting a voltage value proportional to a result of multiplying the data stored in the bit cell and the externally applied data to the adder by sharing the charge charged in the bit line with the entire bit line Device.
제 1 항에 있어서,
상기 비트셀은 SRAM(Static Random Access Memory)인, 분할된 비트라인 기반 계산 메모리 장치.
The method of claim 1,
wherein the bitcell is a static random access memory (SRAM).
제 1 항에 따른 분할된 비트라인 기반 계산 메모리 장치를 이용하여 수행하며,
하나의 비트라인을 분할한 복수의 분할된 비트라인을 연결하는 복수의 전송게이트의 개폐동작을 이용하여 상기 분할된 비트라인과 연결된 비트셀에 저장된 데이터 및 외부에서 인가되는 데이터의 값에 대해 곱셈연산을 하는 단계; 및
상기 곱셈연산을 하는 단계에서 복수의 비트라인에서 각각 출력되는 곱셈의 결과를 더하는 단계를 포함하는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
It is performed using the divided bit line-based computational memory device according to claim 1,
Multiplication operation is performed on the values of data stored in the bit cells connected to the divided bit lines and externally applied data by using the opening/closing operation of a plurality of transfer gates connecting a plurality of divided bit lines obtained by dividing one bit line to do; and
and adding the multiplication results respectively output from a plurality of bit lines in the step of performing the multiplication operation.
제 4 항에 있어서,
상기 곱셈연산을 하는 단계는,
곱셈의 대상이 되는 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터가 모두 양수이거나 음수일 때에는 곱셈의 결과를 양수로 판단하고, 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터 중 하나가 음수일 때에는 곱셈의 결과를 음수로 판단하는 단계;
곱셈의 부호가 양일 때, 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터에 대응하여 상기 분할된 비트라인을 충전, 방전 및 현 상태 유지를 수행한 후 전하 공유를 수행함으로써 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터의 곱셈연산을 수행하는 제1 곱셈연산단계; 및
곱셈의 부호가 음일 때, 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터에 대응하여 상기 분할된 비트라인을 충전, 방전 및 현 상태 유지를 수행한 후 전하 공유를 수행함으로써 상기 비트셀에 저장된 데이터 및 상기 외부에서 인가되는 데이터의 곱셈연산을 수행하는 제2 곱셈연산단계를 포함하는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
5. The method of claim 4,
The step of performing the multiplication operation is
When the data stored in the bit cell to be multiplied and the data applied from the outside are both positive or negative, the result of the multiplication is determined as a positive number, and one of the data stored in the bit cell and the data applied from the outside is determining that the result of the multiplication is negative when the number is negative;
When the sign of multiplication is positive, charge, discharge, and current state maintenance are performed on the divided bit lines in response to the data stored in the bit cell and the externally applied data, and then charge sharing is performed to store data stored in the bit cell. a first multiplication operation step of performing a multiplication operation on data and the externally applied data; and
When the sign of multiplication is negative, charge, discharge, and current state maintenance are performed on the divided bit lines in response to the data stored in the bit cell and the data applied from the outside, and then charge sharing is performed to store data stored in the bit cell. A method of performing a sum operation of products using a divided bit line-based calculation memory device, comprising a second multiplication operation step of performing a multiplication operation between data and the externally applied data.
제 5 항에 있어서,
상기 제1 곱셈연산단계는,
모든 전송게이트가 턴 오프 된 상태에서 분할된 비트라인을 상기 외부에서 인가되는 데이터의 비트에 따라 충전 또는 방전하는 단계;
상기 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계;
모든 전송게이트가 턴 오프된 상태에서 상기 분할된 비트라인을 상기 비트셀에 저장된 데이터의 비트에 따라 방전 또는 현 상태를 유지하는 단계; 및
모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계를 포함하는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
6. The method of claim 5,
The first multiplication operation step is,
charging or discharging the divided bit lines in a state in which all transfer gates are turned off according to the bits of data applied from the outside;
sharing the charge charged in the divided bit lines to all of the corresponding bit lines by turning on all transfer gates connecting the divided bit lines;
discharging or maintaining the current state of the divided bit line according to the bit of data stored in the bit cell in a state in which all transfer gates are turned off; and
A method of performing a sum operation of products using a divided bit line-based computational memory device, comprising the step of sharing the charge charged in the divided bit line to the entire bit line by turning on all transfer gates.
제 6 항에 있어서,
상기 충전 또는 방전하는 단계는,
상기 외부에서 인가되는 데이터의 비트가 1일 때에는 해당 분할된 비트라인을 충전하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 방전하고,
상기 충전, 방전 또는 현 상태를 유지하는 단계는,
상기 비트셀에 저장한 데이터의 비트가 1일 때에는 해당 분할된 비트라인의 상태를 유지하도록 하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 방전하는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
7. The method of claim 6,
The charging or discharging step is,
When the bit of the externally applied data is 1, the divided bit line is charged, and when the bit is 0, the divided bit line is discharged;
The charging, discharging or maintaining the current state comprises:
When the bit of the data stored in the bit cell is 1, the state of the divided bit line is maintained, and when the bit is 0, the divided bit line is discharged. How to perform the sum of products operation.
제 5 항에 있어서,
상기 제2 곱셈연산단계는,
모든 전송게이트가 턴 오프 된 상태에서 분할된 비트라인을 상기 외부에서 인가되는 데이터의 비트에 따라 충전 또는 방전하는 단계;
상기 분할된 비트라인을 연결하는 모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계;
모든 전송게이트가 턴 오프된 상태에서 상기 분할된 비트라인을 상기 비트셀에 저장된 데이터의 비트에 따라 충전 또는 현 상태를 유지하는 단계; 및
모든 전송게이트를 턴 온 시킴으로써 상기 분할된 비트라인에 충전된 전하를 해당 비트라인 전체에 공유하는 단계를 포함하는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
6. The method of claim 5,
The second multiplication operation step is,
charging or discharging the divided bit lines in a state in which all transfer gates are turned off according to the bits of data applied from the outside;
sharing the charge charged in the divided bit lines to all of the corresponding bit lines by turning on all transfer gates connecting the divided bit lines;
charging or maintaining the current state of the divided bit line according to the bit of data stored in the bit cell in a state in which all transfer gates are turned off; and
A method of performing a sum operation of products using a divided bit line-based computational memory device, comprising the step of sharing the charge charged in the divided bit line to the entire bit line by turning on all transfer gates.
제 8 항에 있어서,
상기 충전 또는 방전하는 단계는,
상기 외부에서 인가되는 데이터의 비트가 1일 때에는 해당 분할된 비트라인을 방전하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 충전하며,
상기 충전, 방전 또는 현 상태를 유지하는 단계는,
상기 비트셀에 저장한 데이터의 비트가 1일 때에는 해당 분할된 비트라인의 상태를 유지하도록 하고, 상기 비트가 0일 때에는 해당 분할된 비트라인을 충전하는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
9. The method of claim 8,
The charging or discharging step is,
When the bit of the externally applied data is 1, the divided bit line is discharged, and when the bit is 0, the divided bit line is charged,
The charging, discharging or maintaining the current state comprises:
When the bit of the data stored in the bit cell is 1, the state of the divided bit line is maintained, and when the bit is 0, the divided bit line is charged. How to perform the sum of products operation.
제 7 항에 있어서,
충전하는 전압은 방전하는 전압에 비해 높은 전압준위를 가지는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
8. The method of claim 7,
A method of performing a sum operation of products using a divided bit line-based calculation memory device, in which the charging voltage has a higher voltage level than the discharging voltage.
제 9 항에 있어서,
충전하는 전압은 방전하는 전압에 비해 높은 전압준위를 가지는, 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법.
10. The method of claim 9,
A method of performing a sum operation of products using a divided bit line-based calculation memory device, in which the charging voltage has a higher voltage level than the discharging voltage.
KR1020210057586A 2021-04-09 2021-05-04 Method for computing a sum of product in memory using segmented bit-line based computation-in-memory apparatus KR102582800B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210046796 2021-04-09
KR20210046796 2021-04-09

Publications (2)

Publication Number Publication Date
KR20220140382A true KR20220140382A (en) 2022-10-18
KR102582800B1 KR102582800B1 (en) 2023-09-26

Family

ID=83803487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210057586A KR102582800B1 (en) 2021-04-09 2021-05-04 Method for computing a sum of product in memory using segmented bit-line based computation-in-memory apparatus

Country Status (1)

Country Link
KR (1) KR102582800B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160232951A1 (en) * 2015-02-05 2016-08-11 The Board Of Trustees Of The University Of Illinois Compute memory
US20180315473A1 (en) * 2017-04-28 2018-11-01 Arizona Board Of Regents On Behalf Of Arizona State University Static random access memory (sram) cell and related sram array for deep neural network and machine learning applications
US20190102358A1 (en) * 2017-09-29 2019-04-04 Crossbar, Inc. Resistive random access memory matrix multiplication structures and methods
US20200202204A1 (en) * 2017-09-07 2020-06-25 Panasonic Corporation Neural network computation circuit including non-volatile semiconductor memory element
US20210072957A1 (en) * 2019-09-05 2021-03-11 Micron Technology, Inc. Spatiotemporal fused-multiply-add, and related systems, methods and devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160232951A1 (en) * 2015-02-05 2016-08-11 The Board Of Trustees Of The University Of Illinois Compute memory
US20180315473A1 (en) * 2017-04-28 2018-11-01 Arizona Board Of Regents On Behalf Of Arizona State University Static random access memory (sram) cell and related sram array for deep neural network and machine learning applications
US20200202204A1 (en) * 2017-09-07 2020-06-25 Panasonic Corporation Neural network computation circuit including non-volatile semiconductor memory element
US20190102358A1 (en) * 2017-09-29 2019-04-04 Crossbar, Inc. Resistive random access memory matrix multiplication structures and methods
US20210072957A1 (en) * 2019-09-05 2021-03-11 Micron Technology, Inc. Spatiotemporal fused-multiply-add, and related systems, methods and devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
미국 등록특허 US 10,565,138 B2(MEMORY DEVICE WITH MUTIPLE MEMORY ARRAYS TO FACILITATE IN-MEMORY COMPUTATION, 2020.02.18.)

Also Published As

Publication number Publication date
KR102582800B1 (en) 2023-09-26

Similar Documents

Publication Publication Date Title
US11322195B2 (en) Compute in memory system
US10642922B2 (en) Binary, ternary and bit serial compute-in-memory circuits
US10381071B1 (en) Multi-bit computing circuit for computing-in-memory applications and computing method thereof
KR100930439B1 (en) Content addressable memory cell
US4771404A (en) Memory device employing multilevel storage circuits
US10636481B1 (en) Memory cell for computing-in-memory applications, memory unit for computing-in-memory applications and computing method thereof
TWI750038B (en) Memory device, computing device and computing method
CN100359600C (en) Device and method for using complementary bits in memory array
CN114546335B (en) Memory computing device for multi-bit input and multi-bit weight multiplication accumulation
CN112116937B (en) SRAM circuit structure for realizing multiplication and/or logic operation in memory
CN114743580B (en) Charge sharing memory computing device
KR20220150895A (en) Time-sharing compute-in-memory bitcell
JPH11510300A (en) Driving method of SRAM-MOS transistor memory cell
KR102582800B1 (en) Method for computing a sum of product in memory using segmented bit-line based computation-in-memory apparatus
US4145759A (en) Virtual power supply ROM
CN114895869B (en) Multi-bit memory computing device with symbols
KR100712662B1 (en) Memory structure of display device and memory writing method for the same
TW202307853A (en) Computing device, memory controller, and method for performing an in-memory computation
US20230023505A1 (en) Sense amplifier with read circuit for compute-in-memory
US4209851A (en) Semiconductor memory cell with clocked voltage supply from data lines
US20220165319A1 (en) Write circuit of memory device
CN110060713B (en) Reading time sequence generation device with process floating tolerance
CN112951294B (en) Computing device and computing method
US20220413801A1 (en) Configurable computing unit within memory
CN114974351B (en) Multi-bit memory computing unit and memory computing device

Legal Events

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