KR20240007048A - Semiconductor memory device performing a multiplication and accumulation operation - Google Patents

Semiconductor memory device performing a multiplication and accumulation operation Download PDF

Info

Publication number
KR20240007048A
KR20240007048A KR1020220168923A KR20220168923A KR20240007048A KR 20240007048 A KR20240007048 A KR 20240007048A KR 1020220168923 A KR1020220168923 A KR 1020220168923A KR 20220168923 A KR20220168923 A KR 20220168923A KR 20240007048 A KR20240007048 A KR 20240007048A
Authority
KR
South Korea
Prior art keywords
bit line
data
voltage
capacitor
nand string
Prior art date
Application number
KR1020220168923A
Other languages
Korean (ko)
Inventor
김경현
조성환
Original Assignee
에스케이하이닉스 주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사, 한국과학기술원 filed Critical 에스케이하이닉스 주식회사
Priority to US18/148,333 priority Critical patent/US20240013835A1/en
Publication of KR20240007048A publication Critical patent/KR20240007048A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Read Only Memory (AREA)

Abstract

본 기술에 의한 반도체 메모리 장치는 비트라인과 소스라인 사이에 연결된 다수의 메모리 셀을 포함하는 셀 어레이; 연산 동작 시 비트라인과 소스라인 사이에 정전류를 제공하는 연산 제어 회로; 및 연산 동작에 의해 전하량이 변경되는 연산 커패시터를 포함하는 출력 회로를 포함하되, 연산 동작 시 비트라인과 소스라인 사이에서 이동하는 전하량은 제 1 데이터에 대응하여 메모리 셀에 저장된 값과 제 2 데이터에 대응하여 상기 메모리 셀에 연결되는 워드라인 전압에 따라 달라진다.A semiconductor memory device according to the present technology includes a cell array including a plurality of memory cells connected between a bit line and a source line; An arithmetic control circuit that provides a constant current between the bit line and the source line during arithmetic operation; and an output circuit including an arithmetic capacitor whose charge amount changes by the arithmetic operation, wherein the amount of charge moving between the bit line and the source line during the arithmetic operation is the value stored in the memory cell corresponding to the first data and the second data. Correspondingly, it varies depending on the word line voltage connected to the memory cell.

Description

MAC 연산을 수행하는 반도체 메모리 장치{SEMICONDUCTOR MEMORY DEVICE PERFORMING A MULTIPLICATION AND ACCUMULATION OPERATION}Semiconductor memory device that performs MAC operation {SEMICONDUCTOR MEMORY DEVICE PERFORMING A MULTIPLICATION AND ACCUMULATION OPERATION}

본 기술은 곱셈 및 누적(MAC) 연산을 수행하는 반도체 메모리 장치에 관한 것이다.This technology relates to a semiconductor memory device that performs multiply and accumulate (MAC) operations.

이미지 인식, 자율 주행 자동차 등의 인공 지능 분야에서 신경망(NEURAL NETWORK)이 널리 이용되고 있다.NEURAL NETWORK is widely used in artificial intelligence fields such as image recognition and self-driving cars.

신경망은 입력 레이어, 출력 레이어, 및 그 사이의 하나 또는 둘 이상의 내부 레이어를 포함한다. A neural network includes an input layer, an output layer, and one or two or more internal layers in between.

각각의 레이어는 하나 또는 둘 이상의 뉴런을 포함하고, 인접한 레이어에 포함된 뉴런들은 시냅스를 통해 서로 연결되며 각각의 시냅스에는 가중치가 할당된다.Each layer contains one or two or more neurons, and neurons included in adjacent layers are connected to each other through synapses, and each synapse is assigned a weight.

시냅스에 할당되는 가중치는 훈련 동작을 통해 결정된다.The weights assigned to synapses are determined through training operations.

입력 레이어에 포함된 뉴런의 값은 입력된 값으로부터 결정되고, 내부 레이어 및 출력 레이어에 포함된 뉴런의 값은 이전 레이어에 포함된 뉴런의 값과 시냅스에 할당된 가중치를 이용한 연산 결과로부터 얻어진다. The value of the neuron included in the input layer is determined from the input value, and the value of the neuron included in the inner layer and output layer is obtained from the result of the operation using the value of the neuron included in the previous layer and the weight assigned to the synapse.

신경망 연산에서는 곱셈 및 누적(MAC) 연산이 빈번하게 수행되며 이를 효율적으로 수행할 수 있는 연산 회로의 중요성이 증가하고 있다.In neural network operations, multiplication and accumulation (MAC) operations are frequently performed, and the importance of computational circuits that can perform them efficiently is increasing.

KRKR 10-2021-0029070 10-2021-0029070 AA US 11,061,646 B2US 11,061,646 B2 KRKR 10-2011-0111180 10-2011-0111180 AA

본 기술은 MAC 연산을 수행하는 반도체 메모리 장치를 제공한다.This technology provides a semiconductor memory device that performs MAC operations.

본 기술은 셀 어레이의 구조를 변경하지 않고 MAC 연산을 수행할 수 있는 반도체 메모리 장치를 제공한다.This technology provides a semiconductor memory device that can perform MAC operations without changing the structure of the cell array.

본 기술은 멀티 비트의 데이터를 지원하며 MAC 연산을 수행하는 반도체 메모리 장치를 제공한다.This technology provides a semiconductor memory device that supports multi-bit data and performs MAC operations.

본 발명의 일 실시예에 의한 반도체 메모리 장치는 비트라인과 소스라인 사이에 연결된 다수의 메모리 셀을 포함하는 셀 어레이; 연산 동작 시 비트라인과 소스라인 사이에 정전류를 제공하는 연산 제어 회로; 및 연산 동작에 의해 전하량이 변경되는 연산 커패시터를 포함하는 출력 회로를 포함하되, 연산 동작 시 비트라인과 소스라인 사이에서 이동하는 전하량은 제 1 데이터에 대응하여 메모리 셀에 저장된 값과 제 2 데이터에 대응하여 상기 메모리 셀에 연결되는 워드라인 전압에 따라 달라진다.A semiconductor memory device according to an embodiment of the present invention includes a cell array including a plurality of memory cells connected between a bit line and a source line; An arithmetic control circuit that provides a constant current between the bit line and the source line during arithmetic operation; and an output circuit including an arithmetic capacitor whose charge amount changes by the arithmetic operation, wherein the amount of charge moving between the bit line and the source line during the arithmetic operation is the value stored in the memory cell corresponding to the first data and the second data. Correspondingly, it varies depending on the word line voltage connected to the memory cell.

본 발명의 일 실시예에 의한 반도체 메모리 장치는 제 1 비트라인에 연결되는 제 1 낸드 스트링과 제 2 비트라인에 연결되는 제 2 낸드 스트링을 포함하는 플래시 메모리 셀 어레이; 제 1 비트라인에 연결되는 제 1 연산 커패시터와 제 2 비트라인에 연결되는 제 2 연산 커패시터와 제 1 연산 커패시터의 충전 전압과 제 2 연산 커패시터의 충전 전압을 연산하는 전압 연산 회로를 포함하는 출력 회로; 및 연산 동작 시 제 1 비트라인과 제 2 비트라인에 정전류를 제공하는 연산 제어 회로를 포함하되, 제 1 낸드 스트링과 제 2 낸드 스트링은 입력 데이터를 저장하고, 연산 동작 시 제 1 낸드 스트링에는 가중치 데이터 중 양의 가중치에 대응하는 제 1 가중치 데이터에 따라 워드라인 전압을 제공하고, 제 2 낸드 스트링에는 가중치 데이터 중 음의 가중치에 대응하는 제 2 가중치 데이터에 따라 워드라인 전압을 제공한다.A semiconductor memory device according to an embodiment of the present invention includes a flash memory cell array including a first NAND string connected to a first bit line and a second NAND string connected to a second bit line; An output circuit including a first operation capacitor connected to a first bit line, a second operation capacitor connected to a second bit line, and a voltage calculation circuit that calculates the charging voltage of the first operation capacitor and the charging voltage of the second operation capacitor. ; and an operation control circuit that provides a constant current to the first bit line and the second bit line during an operation operation, wherein the first NAND string and the second NAND string store input data, and a weight is applied to the first NAND string during the operation operation. A word line voltage is provided according to first weight data corresponding to a positive weight among the data, and a word line voltage is provided to the second NAND string according to second weight data corresponding to a negative weight among the weight data.

본 기술은 종래의 메모리 셀 어레이의 구조를 변경하지 않으면서 MAC 연산 기능을 수행할 수 있다.This technology can perform the MAC operation function without changing the structure of a conventional memory cell array.

본 기술에 의한 반도체 메모리 장치는 멀티 비트 데이터를 이용한 MAC 연산 동작을 수행할 수 있다.A semiconductor memory device using this technology can perform MAC operation operations using multi-bit data.

본 기술에 의한 반도체 메모리 장치는 음의 가중치를 고려한 MAC 연산 동작을 수행할 수 있다.A semiconductor memory device using this technology can perform MAC calculation operations considering negative weights.

도 1은 본 발명의 일 실시예에 의한 반도체 메모리 장치를 나타내는 블록도.
도 2는 본 발명의 일 실시예에 의한 반도체 메모리 장치를 나타내는 회로도.
도 3은 낸드 플래시 메모리 장치의 읽기 동작을 나타낸 설명도.
도 4는 본 발명의 일 실시예에 의한 반도체 메모리 장치의 MAC 연산 동작을 나타내는 파형도.
도 5는 본 발명의 다른 실시예에 의한 반도체 메모리 장치를 나타내는 회로도.
1 is a block diagram showing a semiconductor memory device according to an embodiment of the present invention.
2 is a circuit diagram showing a semiconductor memory device according to an embodiment of the present invention.
3 is an explanatory diagram showing a read operation of a NAND flash memory device.
4 is a waveform diagram showing a MAC operation operation of a semiconductor memory device according to an embodiment of the present invention.
5 is a circuit diagram showing a semiconductor memory device according to another embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 개시한다.Hereinafter, embodiments of the present invention will be disclosed with reference to the attached drawings.

도 1은 본 발명의 일 실시예에 의한 반도체 메모리 장치(1000)를 나타내는 블록도이다. Figure 1 is a block diagram showing a semiconductor memory device 1000 according to an embodiment of the present invention.

이하에서는 낸드 플래시 메모리 장치를 예로 들어 반도체 메모리 장치를 개시한다.Hereinafter, a semiconductor memory device will be described using a NAND flash memory device as an example.

반도체 메모리 장치(1000)는 플래시 셀 어레이(10), 입력 회로(20), 출력 회로(30), 소스라인 제어회로(40), 및 명령 디코더(50)를 포함한다.The semiconductor memory device 1000 includes a flash cell array 10, an input circuit 20, an output circuit 30, a source line control circuit 40, and a command decoder 50.

플래시 셀 어레이(10)는 다수의 낸드 스트링을 포함하는데 낸드 스트링의 구조에 대해서는 도 2를 참조하여 구체적으로 개시한다.The flash cell array 10 includes a plurality of NAND strings, and the structure of the NAND strings will be described in detail with reference to FIG. 2.

입력 회로(20)는 다수의 낸드 스트링에 포함된 플래시 메모리 셀의 워드라인 전압을 제공한다. The input circuit 20 provides word line voltages of flash memory cells included in multiple NAND strings.

본 실시예에서 반도체 메모리 장치(1000)는 종래의 플래시 메모리 장치에서 수행하는 읽기 쓰기 동작을 동일하게 수행할 수 있다.In this embodiment, the semiconductor memory device 1000 can perform the same read and write operations as those performed in a conventional flash memory device.

이에 따라 요청된 주소에 데이터를 프로그램하기 위하여 입력 회로(20)에서 워드라인 전압을 생성하고 이에 따라 플래시 셀 어레이(10)에 입력 신호에 대응하는 데이터를 프로그램 하는 동작 자체는 종래 기술과 동일하므로 이에 대한 구체적인 설명은 생략한다.Accordingly, in order to program data to the requested address, the input circuit 20 generates a word line voltage and the operation of programming data corresponding to the input signal in the flash cell array 10 is the same as the prior art. Detailed explanations are omitted.

또한 요청된 주소의 데이터를 읽기 위하여 입력 회로(20)에서 워드라인 전압을 생성하고 이에 따라 플래시 셀 어레이(10)에서 제공된 데이터를 출력 회로(30)를 통해 외부로 출력하는 동작은 종래 기술과 동일하므로 이에 대한 구체적인 설명은 생략한다.In addition, in order to read data at the requested address, the operation of generating a word line voltage in the input circuit 20 and outputting the data provided from the flash cell array 10 to the outside through the output circuit 30 is the same as the prior art. Therefore, detailed description of this will be omitted.

본 실시예는 제 1 데이터와 제 2 데이터의 MAC 연산을 수행하고자 하는 기술로서 제 1 데이터와 제 2 데이터는 각각 다수의 원소를 포함하는 벡터 데이터이다.This embodiment is a technology to perform MAC operation of first data and second data, and the first data and second data are vector data each including a plurality of elements.

MAC 연산에서는 제 1 데이터와 제 2 데이터의 대응하는 원소를 곱하고 곱셈 결과를 누적한다.In the MAC operation, the corresponding elements of the first data and the second data are multiplied and the multiplication result is accumulated.

이하에서, 제 1 데이터는 입력 데이터(Input)로 지칭하고 제 2 데이터는 가중치 데이터(Weight)로 지칭할 수 있다. 본 실시예에서 입력 데이터의 각 원소는 2 비트, 가중치 데이터의 각 원소는 1 비트로 가정한다.Hereinafter, the first data may be referred to as input data (Input) and the second data may be referred to as weight data (Weight). In this embodiment, each element of input data is assumed to be 2 bits, and each element of weight data is assumed to be 1 bit.

본 실시예에서 입력 데이터에 대응하는 제 1 데이터는 연산 동작을 수행하기에 앞서 쓰기 동작을 통해 플래시 메모리 셀 어레이에 미리 프로그램 된다. In this embodiment, first data corresponding to input data is pre-programmed into the flash memory cell array through a write operation prior to performing an operation operation.

본 실시예에서 가중치 데이터에 대응하는 제 2 데이터는 MAC 연산 동작을 수행하는 과정에서 입력된다. In this embodiment, the second data corresponding to the weight data is input during the process of performing the MAC operation operation.

MAC 연산 동작은 플래시 셀에 대한 읽기 동작과 유사하다. 다만 MAC 연산 동작 과정에서는 제 2 데이터에 대응하는 입력 신호가 입력 회로(20)에 제공되며 입력 회로(20)는 입력 신호에 따라 워드라인 전압을 생성한다.The MAC operation operation is similar to the read operation for flash cells. However, during the MAC operation operation, an input signal corresponding to the second data is provided to the input circuit 20, and the input circuit 20 generates a word line voltage according to the input signal.

전술한 바와 같이 본 실시예에서 제 2 데이터의 각 원소는 1 비트 데이터이다. 즉, 제 2 데이터의 i번째 원소(Weighti) 및 이에 대응하는 i번째 입력 신호(Xi)는 0 또는 1의 값을 가진다.As described above, in this embodiment, each element of the second data is 1-bit data. That is, the ith element (Weight i ) of the second data and the corresponding ith input signal (X i ) have a value of 0 or 1.

예를 들어, 제 2 데이터에서 i 번째 원소(Weighti)의 값이 1인 경우 i 번째 워드라인의 전압으로서 정상적인 읽기 전압 펄스가 제공된다. 그러나 원소의 값이 0인 경우 i번째 워드라인 전압은 접지 전압으로 유지된다.For example, if the value of the i-th element (Weight i ) in the second data is 1, a normal read voltage pulse is provided as the voltage of the i-th word line. However, if the value of the element is 0, the ith word line voltage is maintained as the ground voltage.

MAC 연산 과정에서 가중치 데이터에 따른 워드라인 전압 제어 방법에 대해서는 아래에서 다시 구체적으로 개시한다. The method of controlling the word line voltage according to weight data in the MAC operation process will be described in detail again below.

출력 회로(30)는 플래시 셀 어레이(30)에 저장된 데이터를 출력 데이터(DOUT)로 제공하며 이는 종래의 기술과 동일하다.The output circuit 30 provides the data stored in the flash cell array 30 as output data (DOUT), which is the same as the conventional technology.

본 실시예에서 출력 회로(30)는 MAC 연산 결과를 더 출력하는 점에서 종래의 출력 회로와 상이하며 이에 대해서는 아래에서 구체적으로 개시한다.The output circuit 30 in this embodiment differs from the conventional output circuit in that it further outputs the MAC operation result, which will be described in detail below.

출력 회로(30)는 읽기 또는 쓰기 과정에서 비트라인(BL)을 접지 전압 또는 전원 전압으로 설정하거나 플로팅 상태로 설정할 수 있으며 이는 종래의 기술과 동일하다.The output circuit 30 can set the bit line BL to a ground voltage or power voltage or to a floating state during a read or write process, which is the same as conventional technology.

소스라인 제어 회로(40)는 플래시 셀 어레이(10)에 연결된 소스 라인(SL)을 제어하는 회로이다.The source line control circuit 40 is a circuit that controls the source line SL connected to the flash cell array 10.

명령 디코더(50)는 호스트로부터 제공되는 명령 및 주소에 따라 플래시 셀 어레이(10), 입력 회로(20), 출력 회로(30), 및 소스라인 제어 회로(40)를 제어하여 데이터 입출력 동작을 제어한다.The command decoder 50 controls data input/output operations by controlling the flash cell array 10, input circuit 20, output circuit 30, and source line control circuit 40 according to commands and addresses provided from the host. do.

전술한 바와 같이 데이터 입출력 동작은 종래의 기술과 동일하므로 이에 대한 설명은 생략한다.As described above, data input/output operations are the same as in the prior art, so description thereof will be omitted.

연산 제어 회로(60)는 MAC 연산 동작을 제어하며 이를 수행하기 위하여 플래시 셀 어레이(10), 입력 회로(20), 출력 회로(30), 소스라인 제어 회로(40), 및 명령 디코더(50)를 제어할 수 있다.The operation control circuit 60 controls the MAC operation operation, and to perform this, it uses a flash cell array 10, an input circuit 20, an output circuit 30, a source line control circuit 40, and a command decoder 50. can be controlled.

전술한 바와 같이 본 실시예에서 MAC 연산 동작은 종래의 메모리 장치의 읽기 동작을 이용하여 수행될 수 있으며 이에 대해서는 아래에서 구체적으로 개시한다.As described above, the MAC operation operation in this embodiment can be performed using a read operation of a conventional memory device, which will be described in detail below.

도 2는 본 발명의 일 실시예에 의한 반도체 메모리 장치를 나타내는 회로도이다.Figure 2 is a circuit diagram showing a semiconductor memory device according to an embodiment of the present invention.

플래시 셀 어레이(10)는 종래와 같이 2차원 또는 3차원으로 배열된 다수의 낸드 스트링(100)을 포함한다.The flash cell array 10 includes a plurality of NAND strings 100 arranged in two or three dimensions as in the related art.

낸드 스트링(100)은 제 1 노드(N1)와 제 2 노드(N2) 사이에 연결된다.The NAND string 100 is connected between the first node (N1) and the second node (N2).

제 1 노드(N1)는 비트라인(BL)에 연결된다. 하나의 비트라인(BL)은 제 1 노드(N1)를 통해 다수의 낸드 스트링(100)에 연결될 수 있다.The first node (N1) is connected to the bit line (BL). One bit line BL may be connected to multiple NAND strings 100 through the first node N1.

제 2 노드(N2)는 소스라인(SL)에 연결되며 소스라인(SL)은 스위치(MN4)를 통해 접지 전원(GND)에 연결될 수 있다.The second node N2 is connected to the source line SL, and the source line SL may be connected to the ground power source GND through the switch MN4.

제 1 노드(N1)의 전압을 비트라인 전압(VBL)으로 표시하고 제 1 노드(N1)를 통해 흐르는 전류를 비트라인 전류(IBL)로 표시한다.The voltage of the first node (N1) is expressed as a bit line voltage (V BL ), and the current flowing through the first node (N1) is expressed as a bit line current (I BL ).

낸드 스트링(100)은 제 1 노드(N1)와 제 3 노드(N3) 사이에 연결되는 제 1 스위치(MN1)를 포함한다.The NAND string 100 includes a first switch (MN1) connected between the first node (N1) and the third node (N3).

본 실시예에서 제 1 스위치(MN1)는 드레인 선택 라인(DSL)에 의해 게이트가 제어되는 엔모스 트랜지스터로서 드레인과 소스가 각각 제 1 노드(N1)와 제 3 노드(N3)에 연결된다.In this embodiment, the first switch (MN1) is an NMOS transistor whose gate is controlled by the drain select line (DSL), and the drain and source are connected to the first node (N1) and the third node (N3), respectively.

제 2 노드(N2)와 제 3 노드(N3) 사이에는 다수의 플래시 메모리 셀(FC0, ..., FCn-2, FCn-1)이 직렬로 연결된다.A plurality of flash memory cells (FC 0 , ..., FC n-2 , FC n-1 ) are connected in series between the second node (N2) and the third node (N3).

플래시 메모리 셀(FCi, i = 0, 1, ..., n-1)의 제어 게이트에는 워드라인(WL<i>)이 연결된다.A word line (WL<i>) is connected to the control gate of the flash memory cell (FC i , i = 0, 1, ..., n-1).

출력 회로(30)는 제 1 전원(VDD)과 제 4 노드(N4) 사이에 연결된 제 2 스위치(MP), 제 4 노드(N4)와 제 1 노드(N1) 사이에 연결된 제 3 스위치(MN2)를 포함한다. 제 4 노드(N4)와 제 2 전원(GND) 사이에는 제 3 스위치(MN3)가 포함되어 비트라인(BL)을 접지 전압으로 설정하는데 사용될 수 있다.The output circuit 30 includes a second switch (MP) connected between the first power source (VDD) and the fourth node (N4), and a third switch (MN2) connected between the fourth node (N4) and the first node (N1). ) includes. A third switch (MN3) is included between the fourth node (N4) and the second power source (GND) and can be used to set the bit line (BL) to the ground voltage.

본 실시예에서 제 2 스위치(MP)는 게이트에 프리차지 신호(PC)가 인가되는 피모스 트랜지스터(MP)이고, 제 3 스위치(MN2)는 게이트에 선택 신호(SEL)가 인가되는 엔모스 트랜지스터이고, 제 4 스위치(MN3)는 게이트에 풀다운 신호(PD)가 인가되는 엔모스 트랜지스터이다.In this embodiment, the second switch (MP) is a PMOS transistor (MP) to which a precharge signal (PC) is applied to the gate, and the third switch (MN2) is an NMOS transistor to which a selection signal (SEL) is applied to the gate. And the fourth switch (MN3) is an NMOS transistor to which a pull-down signal (PD) is applied to the gate.

플래시 셀 어레이(100)에 대한 읽기 또는 쓰기 동작에서 제 2 스위치(MP), 제 3 스위치(MN2), 제 4 스위치(MN3)를 제어하여 비트라인 전압을 제어하는 것은 종래의 기술과 동일하다.In a read or write operation for the flash cell array 100, controlling the bit line voltage by controlling the second switch (MP), third switch (MN2), and fourth switch (MN3) is the same as in the prior art.

출력 회로(30)는 비교기(301)와 래치(302)를 포함하여 플래시 메모리 장치의 일반적인 읽기 동작 시 출력 데이터(DOUT)를 제공한다.The output circuit 30 includes a comparator 301 and a latch 302 and provides output data (DOUT) during a typical read operation of a flash memory device.

비교기(301)는 활성화 신호(EN)에 따라 제 4 노드(N4)의 출력 전압과 문턱 전압(VTH)을 비교하고, 래치(302)는 비교기(301)의 출력을 래치하여 출력 데이터(DOUT)를 생성한다.The comparator 301 compares the output voltage of the fourth node N4 and the threshold voltage (V TH ) according to the activation signal (EN), and the latch 302 latches the output of the comparator 301 to produce output data (DOUT) ) is created.

본 실시예에서 출력 회로(30)는 제 4 노드(N4)와 제 2 전원(GND) 사이에 연결된 연산 커패시터(310)를 포함한다.In this embodiment, the output circuit 30 includes an operational capacitor 310 connected between the fourth node N4 and the second power source GND.

본 실시예에서는 MAC 연산 동작 초기에 프리차지 신호(PC)와 선택 신호(SEL)를 로우 레벨로 설정하여 제 2 스위치(MP)를 턴온 상태로 하고 제 3 스위치(MN2)를 턴오프 상태로 하여 연산 커패시터(310)를 충전한다.In this embodiment, at the beginning of the MAC operation operation, the precharge signal (PC) and the selection signal (SEL) are set to low level, the second switch (MP) is turned on, and the third switch (MN2) is turned off. The operation capacitor 310 is charged.

MAC 연산 동작이 완료된 후 연산 커패시터(310)의 충전 전압을 이용하여 연산 결과를 추적할 수 있으며 이에 대해서는 아래에서 다시 구체적으로 개시한다.After the MAC calculation operation is completed, the calculation result can be tracked using the charging voltage of the calculation capacitor 310, which will be described in detail again below.

출력 회로(30)는 아날로그 디지털 변환기(320)를 더 포함하며 연산 커패시터(310)의 충전 전압(VSO)을 디지털 신호로 변환하여 연산 출력(MOUT)을 제공한다.The output circuit 30 further includes an analog-to-digital converter 320 and converts the charging voltage (V SO ) of the operation capacitor 310 into a digital signal to provide an operation output (MOUT).

소스라인 제어 회로(40)는 제 2 노드(N2)와 제 2 전원(GND) 사이에 연결되는 제 5 스위치(MN4)를 포함한다.The source line control circuit 40 includes a fifth switch (MN4) connected between the second node (N2) and the second power source (GND).

본 실시예에서 제 5 스위치(MN4)는 게이트에 소스라인 선택 신호(SSL)가 인가되는 엔모스 트랜지스터이다. In this embodiment, the fifth switch (MN4) is an NMOS transistor whose gate is applied with a source line selection signal (SSL).

연산 제어 회로(60)는 전압 선택 회로(61), 정전류원(62), 다이오드 연결 트랜지스터(63), 및 선택 제어 회로(64)를 포함한다.The operation control circuit 60 includes a voltage selection circuit 61, a constant current source 62, a diode-coupled transistor 63, and a selection control circuit 64.

전압 선택 회로(61)는 선택 제어 회로(64)에서 제공된 선택 제어 신호(SELC)에 따라 선택된 전압을 소스라인 선택 신호(SSL)로서 제 5 스위치(MN4)의 게이트에 제공한다.The voltage selection circuit 61 provides the selected voltage as the source line selection signal SSL to the gate of the fifth switch MN4 according to the selection control signal SELC provided from the selection control circuit 64.

선택 제어 회로(64)는 MAC 연산 동작시 선택 제어 신호(SELC)로서 0 또는 1을 제공하고, 일반 메모리 동작 시 선택 제어 신호(SELC)로서 2를 제공한다.The selection control circuit 64 provides 0 or 1 as a selection control signal (SELC) during MAC operation operation, and provides 2 as a selection control signal (SELC) during general memory operation.

플래시 메모리 장치의 읽기 동작, 소거 동작, 쓰기 동작 시 소스라인 제어 신호(SSL)로 제공되는 전압을 메모리 동작 전압(Vm)으로 표시하였다.The voltage provided as a source line control signal (SSL) during read, erase, and write operations of a flash memory device is expressed as the memory operating voltage (Vm).

메모리 동작 전압(Vm)은 동작의 종류에 따라 다르게 제공될 수 있으며 이는 특허문헌 3과 같이 종래의 기술과 동일하므로 구체적인 설명은 생략한다.The memory operating voltage (Vm) may be provided differently depending on the type of operation, and since it is the same as the conventional technology as shown in Patent Document 3, detailed description will be omitted.

도 3은 플래시 메모리 장치의 읽기 동작을 설명하는 그래프이다.Figure 3 is a graph explaining a read operation of a flash memory device.

도 3(A)는 플래시 메모리 셀이 2 비트 데이터를 저장하는 경우에 대응하고, 도 3(B)는 플래시 메모리 셀이 3 비트 데이터를 저장하는 경우에 대응한다.FIG. 3(A) corresponds to a case in which a flash memory cell stores 2-bit data, and FIG. 3(B) corresponds to a case in which a flash memory cell stores 3-bit data.

먼저, 낸드 스트링에서 선택된 플래시 메모리 셀을 제외한 나머지 플래시 메모리 셀과 연결된 워드라인에는 패스 전압(VPASS)을 인가한다.First, a pass voltage (V PASS ) is applied to the word line connected to the remaining flash memory cells except for the flash memory cell selected in the NAND string.

다음으로 선택된 플래시 메모리 셀과 연결된 워드라인에는 워드라인 전압으로서 읽기 전압을 순차적으로 제공하면서 출력 신호의 변화를 탐지한다.Next, a read voltage is sequentially provided as a word line voltage to the word line connected to the selected flash memory cell, and changes in the output signal are detected.

예를 들어 도 3(A)에서는, 읽기 전압으로 VRD1, VRD2, VRD3의 크기를 갖는 펄스 형태의 전압을 순차적 제공한다.For example, in Figure 3(A), pulse-shaped voltages with sizes of V RD1 , V RD2 , and V RD3 are sequentially provided as read voltages.

만일, 플래시 메모리 셀에 저장된 데이터가 "10"인 경우 읽기 전압으로 VRD1, VRD2를 제공할 때까지는 모두 하이 레벨 신호가 출력 신호(DOUT)로서 출력되나 읽기 전압으로 VRD3을 제공하면 로우 레벨 신호가 출력 신호(DOUT)로 출력된다. 이에 따라 플래시 메모리 셀에 저장된 데이터가 "10"인 것이 결정된다.If the data stored in the flash memory cell is "10", all high level signals are output as the output signal (DOUT) until V RD1 and V RD2 are provided as the read voltage, but when V RD3 is provided as the read voltage, the low level signal is output. The signal is output as an output signal (DOUT). Accordingly, it is determined that the data stored in the flash memory cell is “10”.

마찬가지로 도 3(B)에서는, 읽기 전압으로 VRD1, VRD2, VRD3, VRD4, VRD5, VRD6, VRD7의 크기를 갖는 펄스 형태의 전압을 순차적 제공한다.Likewise, in FIG. 3(B), pulse-shaped voltages with sizes of V RD1 , V RD2 , V RD3 , V RD4 , V RD5 , V RD6, and V RD7 are sequentially provided as read voltages.

만일, 플래시 메모리 셀에 저장된 데이터가 “100”인 경우, 읽기 전압으로 VRD1, VRD2, VRD3, VRD4를 제공할 때까지는 모두 하이 레벨 신호가 출력 신호(DOUT)로서 출력되나 읽기 전압으로 VRD5, VRD6, VRD7을 제공하면 로우 레벨로 출력 신호(DOUT)가 변경된다. 이에 따라 플래시 메모리 셀에 저장된 데이터가 "100"인 것이 결정된다.If the data stored in the flash memory cell is “100”, all high level signals are output as the output signal (DOUT) until V RD1 , V RD2 , V RD3 , and V RD4 are provided as the read voltage. Providing V RD5 , V RD6 , and V RD7 changes the output signal (DOUT) to low level. Accordingly, it is determined that the data stored in the flash memory cell is “100”.

이하에서는, 도 3(A) 와 같이 플래시 메모리 셀에 2 비트 데이터가 저장되는 경우를 가정하고, VRD1를 제 1 읽기 전압, VRD2를 제 2 읽기 전압, VRD3를 제 3 읽기 전압으로 표시한다.Hereinafter, it is assumed that 2-bit data is stored in the flash memory cell as shown in FIG. 3(A), and V RD1 is indicated as the first read voltage, V RD2 is indicated as the second read voltage, and V RD3 is indicated as the third read voltage. do.

본 실시예에서 MAC 연산 동작은 이러한 플래시 메모리 셀에 대한 읽기 동작을 응용한다. 이하에서는 도 2와 도 4를 참조하여 MAC 연산 동작을 설명한다.In this embodiment, the MAC operation operation applies a read operation to these flash memory cells. Hereinafter, the MAC operation operation will be described with reference to FIGS. 2 and 4.

도 4는 본 발명의 일 실시예에 의한 MAC 연산 동작을 나타내는 타이밍도이다.Figure 4 is a timing diagram showing MAC operation operation according to an embodiment of the present invention.

전술한 바와 같이 MAC 연산 동작을 수행하기 전에 낸드 스트링(100)에 포함된 다수의 플래시 메모리 셀은 각각 제 1 데이터, 즉 입력 데이터의 각 원소에 대응하는 값을 미리 저장한다.As described above, before performing the MAC operation, each of the plurality of flash memory cells included in the NAND string 100 pre-stores first data, that is, a value corresponding to each element of input data.

도 4에서 MAC 연산 동작은 T0 ~ T1 사이에 수행되는 프리차지 동작과 T1 ~ T65 수행되는 전류 방전 동작을 포함한다.In FIG. 4, the MAC operation operation includes a precharge operation performed between T0 and T1 and a current discharge operation performed between T1 and T65.

프리차지 동작에서는 프리차지 신호(PC)를 일정 시간 로우 레벨로 설정하여 제 2 스위치(MP)를 턴온 상태로 함으로써 연산 커패시터(310)를 충전한다.In the precharge operation, the precharge signal (PC) is set to a low level for a certain period of time and the second switch (MP) is turned on to charge the operation capacitor 310.

또한 선택 신호(SEL) 및 드레인 선택 신호(DSL)는 모두 로우 레벨로 설정되어 제 1 스위치(MN1)와 제 3 스위치(MN2)도 턴오프 상태가 된다.Additionally, both the selection signal (SEL) and the drain selection signal (DSL) are set to low level, so that the first switch (MN1) and the third switch (MN2) are also turned off.

제 4 스위치(MN3)는 MAC 연산 동작 과정에서 턴오프 상태를 유지한다. 이에 따라 로우 레벨로 고정되는 풀다운 신호(PD)는 도시하지 않았다.The fourth switch (MN3) maintains the turned-off state during the MAC operation operation. Accordingly, the pull-down signal (PD), which is fixed at a low level, is not shown.

연산 커패시터(310)의 용량을 CSO, 연산 커패시터(310)의 충전 전압을 VSO로 표시한다.The capacity of the operation capacitor 310 is expressed as C SO , and the charging voltage of the operation capacitor 310 is expressed as V SO .

프리차지 동작 시 선택 제어 회로(64)는 선택 제어 신호(SELC)로서 0을 선택하고 이에 따라 제 5 스위치(MN4)는 턴오프 상태가 된다.During the precharge operation, the selection control circuit 64 selects 0 as the selection control signal SELC, and accordingly the fifth switch MN4 is turned off.

전류 방전 동작에서는 제 2 스위치(MP)를 차단하고, 제 1 스위치(MN1)와 제 3 스위치(MN2) 및 제 5 스위치(MN4)를 턴온한다.In the current discharge operation, the second switch (MP) is turned off, and the first switch (MN1), the third switch (MN2), and the fifth switch (MN4) are turned on.

전류 방전 동작 시 선택 제어 회로(64)는 선택 제어 신호(SELC)로서 1을 선택하고 이에 따라 제 5 스위치(MN4)는 전류 미러로 동작한다.During the current discharge operation, the selection control circuit 64 selects 1 as the selection control signal SELC, and the fifth switch MN4 operates as a current mirror accordingly.

이에 따라 전류 방전 동작 시 비트라인 전류(IBL)는 정전류원(62)에서 제공하는 셀 전류(IC)를 미러링한다.Accordingly, during the current discharge operation, the bit line current (I BL ) mirrors the cell current (I C ) provided by the constant current source 62.

이후 낸드 스트링에 포함된 플래시 메모리 셀에 대해서 순차적으로 읽기 동작을 수행한다.Afterwards, a read operation is sequentially performed on the flash memory cells included in the NAND string.

T1 ~ T2 사이에서는 플래시 셀(FCn-1, FC63)에 대한 읽기 동작을 수행한다.Between T1 and T2, a read operation is performed on flash cells (FC n-1 , FC 63 ).

입력 데이터의 63번째 원소는 "11"로서 플래시 메모리 셀(FC63)은 "11"을 저장하고 있는 상태이다.The 63rd element of the input data is “11”, and the flash memory cell (FC 63 ) stores “11”.

또한, 가중치 데이터의 63번째 원소(Weight63)는 “1”이므로 선택된 워드라인에 대해서는 워드라인 전압으로서 제 1 읽기 전압(VRD1), 제 2 읽기 전압(VRD2), 및 제 3 읽기 전압(VRD3)이 순차적으로 제공된다.In addition, since the 63rd element (Weight 63 ) of the weight data is “1”, the first read voltage (V RD1 ), the second read voltage (V RD2), and the third read voltage (V RD1 ) are used as word line voltages for the selected word line. V RD3 ) are provided sequentially.

즉, 읽기 동작을 위하여 플래시 메모리 셀(FC63)의 제어 게이트에는 제 1 읽기 전압(VRD1), 제 2 읽기 전압(VRD2), 및 제 3 읽기 전압(VRD3)이 순차적으로 제공되고, 나머지 플래시 메모리 셀의 제어 게이트에는 패스 전압(VPASS)이 인가된다.That is, for a read operation, the first read voltage (V RD1 ), the second read voltage (V RD2 ), and the third read voltage (V RD3 ) are sequentially provided to the control gate of the flash memory cell (FC 63 ), A pass voltage (V PASS ) is applied to the control gates of the remaining flash memory cells.

도 4에서 읽기 동작이 진행되는 플래시 메모리 셀에 연결된 워드라인을 선택 워드라인, 나머지 플래시 메모리 셀에 연결된 워드라인을 비선택 워드라인으로 표시하였다.In FIG. 4, the word line connected to the flash memory cell where a read operation is performed is indicated as a selected word line, and the word line connected to the remaining flash memory cells is indicated as an unselected word line.

본 실시예에서 제 1 스위치(MN1)와 제 3 스위치(MN2)는 제 1 내지 제 3 읽기 전압이 제공되는 경우에만 턴온되어 이 구간에서만 비트라인 전류(IBL)가 흐른다.In this embodiment, the first switch (MN1) and the third switch (MN2) are turned on only when the first to third read voltages are provided, and the bit line current (I BL ) flows only in this section.

도 3을 참조하면 플래시 메모리 셀(FC63)의 데이터가 "11"인 경우 제 1 내지 제 3 읽기 전압 모두에 대해서 턴온 상태가 된다.Referring to FIG. 3, when the data of the flash memory cell FC 63 is “11”, all of the first to third read voltages are turned on.

플래시 메모리 셀이 턴온 상태가 되는 경우 일정한 크기의 비트라인 전류(IBL = IC)가 흐르며 이에 따라 연산 커패시터(310)에서 일정한 양의 전하(Q)가 방전된다.When the flash memory cell is turned on, a certain amount of bit line current (I BL = I C ) flows, and accordingly, a certain amount of charge (Q) is discharged from the operation capacitor 310.

이에 따라 T1 ~ T2 사이에서 플래시 메모리 셀(FC63)에 대한 읽기 동작 시 3Q의 전하가 방전된다.Accordingly, the charge of 3Q is discharged during a read operation on the flash memory cell (FC 63 ) between T1 and T2.

T2 ~ T3 사이에서는 플래시 메모리 셀(FC62)에 대한 읽기 동작을 수행한다.Between T2 and T3, a read operation is performed on the flash memory cell (FC 62 ).

입력 데이터의 62번째 원소는 “10”으로서 플래시 셀(FC62)은 "10"을 저장하고 있는 상태이다.The 62nd element of the input data is “10”, and the flash cell (FC 62 ) is storing “10”.

또한 가중치 데이터의 62번째 원소(Weight62)는 “0”이므로 선택된 워드라인에 대해서는 워드라인 전압으로서 접지 전압이 제공된다.Additionally, since the 62nd element (Weight 62 ) of the weight data is “0”, the ground voltage is provided as the word line voltage for the selected word line.

즉, 읽기 동작을 위하여 플래시 메모리 셀(FC62)의 제어 게이트에는 접지 전압이 제공되고, 나머지 플래시 메모리 셀의 제어 게이트에는 패스 전압(VPASS)이 인가된다.That is, for a read operation, a ground voltage is applied to the control gate of the flash memory cell (FC 62 ), and a pass voltage (V PASS ) is applied to the control gate of the remaining flash memory cells.

이에 따라 플래시 메모리 셀(FC62)은 턴오프 상태가 유지되어 연산 커패시터(310)에서 전하가 방전되지 않는다.Accordingly, the flash memory cell FC 62 is maintained in a turned-off state and charge is not discharged from the operation capacitor 310.

T64 ~ T65 사이에서는 플래시 셀(FC0)에 대한 읽기 동작을 수행한다.Between T64 and T65, a read operation on the flash cell (FC 0 ) is performed.

입력 데이터의 0번째 원소는 "01" 이므로 플래시 메모리 셀(FC0)은 "01"을 저장하고 있는 상태이다.Since the 0th element of the input data is "01", the flash memory cell (FC 0 ) is storing "01".

또한, 가중치 데이터의 0번째 원소(Weight0)는 “1”이므로 선택된 워드라인에 대해서는 워드라인 전압으로서 제 1 읽기 전압(VRD1), 제 2 읽기 전압(VRD2), 및 제 3 읽기 전압(VRD3)이 순차적으로 제공된다. In addition, since the 0th element (Weight 0 ) of the weight data is “1”, for the selected word line, the first read voltage (V RD1 ), the second read voltage (V RD2), and the third read voltage (V RD1 ) are used as word line voltages. V RD3 ) are provided sequentially.

즉, 읽기 동작을 위하여 플래시 메모리 셀(FC0)의 제어 게이트에는 제 1 읽기 전압(VRD1), 제 2 읽기 전압(VRD2), 및 제 3 읽기 전압(VRD3)이 순차적으로 제공되고, 나머지 플래시 메모리 셀의 제어 게이트에는 패스 전압(VPASS)이 인가된다.That is, for a read operation, a first read voltage (V RD1 ), a second read voltage (V RD2 ), and a third read voltage (V RD3 ) are sequentially provided to the control gate of the flash memory cell (FC 0 ), A pass voltage (V PASS ) is applied to the control gates of the remaining flash memory cells.

도 3을 참조하면 플래시 메모리 셀(FC0)의 데이터가 "01"인 경우 제 1 읽기 전압(VRD1)에 대해서만 턴온 상태가 된다.Referring to FIG. 3, when the data of the flash memory cell (FC 0 ) is “01”, it is turned on only for the first read voltage (V RD1 ).

이에 따라 T64 ~ T65 사이에서 플래시 메모리 셀(FC0)에 대한 읽기 동작 시 Q의 전하가 방전된다.Accordingly, the charge of Q is discharged during a read operation on the flash memory cell (FC 0 ) between T64 and T65.

T65 이후 제 1 스위치(MN1), 제 2 스위치(MP), 제 3 스위치(MN2), 및 제 5 스위치(MN4)가 턴오프되어 연산 커패시터(310)는 플로팅 상태가 된다.After T65, the first switch (MN1), the second switch (MP), the third switch (MN2), and the fifth switch (MN4) are turned off, and the operation capacitor 310 is in a floating state.

이때 연산 커패시터(310)의 충전 전압은 수학식 1과 같이 표현된다.At this time, the charging voltage of the operation capacitor 310 is expressed as Equation 1.

수학식 1에서 Input은 입력 데이터, Weight는 가중치 데이터, T는 읽기 전압이 제공되는 시간을 나타낸다.In Equation 1, Input represents input data, Weight represents weight data, and T represents the time during which the read voltage is provided.

수학식 1에서 입력 데이터와 가중치 데이터 사이의 MAC 연산 결과는 분자의 두 번째 항에 대응한다.In Equation 1, the result of the MAC operation between the input data and the weight data corresponds to the second term in the numerator.

이에 따라 프리차지 상태의 연산 출력(MOUT)과 전류 방전 동작 이후 연산 출력(MOUT)을 이용하여 입력 데이터와 가중치 데이터 사이의 MAC 연산 결과를 산출할 수 있다.Accordingly, the MAC operation result between input data and weight data can be calculated using the calculation output (MOUT) in the precharge state and the calculation output (MOUT) after the current discharge operation.

도 5는 본 발명의 다른 실시예에 의한 반도체 메모리 장치를 나타낸다.Figure 5 shows a semiconductor memory device according to another embodiment of the present invention.

도 2에 도시된 실시예에서 가중치 데이터의 각 원소는 0 또는 1로 주어진다. 이에 비해서 도 5의 실시예에서는 가중치 데이터의 각 원소가 1 또는 -1로 주어진다.In the embodiment shown in Figure 2, each element of the weight data is given as 0 or 1. In contrast, in the embodiment of FIG. 5, each element of the weight data is given as 1 or -1.

도 5의 실시예에서는 서로 다른 비트라인에 연결되는 제 1 및 제 2 낸드 스트링(110, 120)을 이용하는데, 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)은 동일한 입력 데이터를 저장한다. The embodiment of FIG. 5 uses first and second NAND strings 110 and 120 connected to different bit lines, and the first NAND string 110 and the second NAND string 120 store the same input data. do.

예를 들어, n = 4이고, 가중치 벡터가 {1, 1, -1, -1}이고 입력 데이터가 {d1, d2, d3, d4}인 경우를 가정한다.For example, assume that n = 4, the weight vector is {1, 1, -1, -1}, and the input data is {d1, d2, d3, d4}.

이때, 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)은 입력 데이터 {d1, d2, d3, d4}를 미리 저장한다.At this time, the first NAND string 110 and the second NAND string 120 store input data {d1, d2, d3, d4} in advance.

이를 위해 호스트는 쓰기 데이터가 {d1, d2, d3, d4}인 제 1 쓰기 요청과 제 2 쓰기 요청을 생성하고 이들을 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)에 제공할 수 있다.To this end, the host may generate a first write request and a second write request with write data {d1, d2, d3, d4} and provide them to the first NAND string 110 and the second NAND string 120. .

전술한 바와 같이 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)에 대한 쓰기 동작 자체는 종래의 기술이므로 구체적인 설명은 생략한다.As described above, since the writing operation itself for the first NAND string 110 and the second NAND string 120 is a conventional technology, detailed description will be omitted.

제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)은 도 2의 낸드 스트링(100)과 동일한 구조를 가진다.The first NAND string 110 and the second NAND string 120 have the same structure as the NAND string 100 of FIG. 2.

이에 따라 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)에서 지시 부호는 도 2의 것과 동일한 것을 사용하였으며 구별을 위해 아래 첨자를 사용하였다.Accordingly, in the first NAND string 110 and the second NAND string 120, the same reference symbols as those in FIG. 2 are used, and subscripts are used for distinction.

가중치 데이터로부터 제 1 낸드 스트링(110)에 제공되는 제 1 가중치 데이터와 제 2 낸드 스트링에 제공되는 제 2 가중치 데이터를 결정한다.From the weight data, first weight data provided to the first NAND string 110 and second weight data provided to the second NAND string are determined.

본 실시예에서 가중치 데이터에서 원소가 음인 값들을 0으로 설정한 것을 제 1 가중치 데이터로 설정하고, 가중치 데이터에서 원소가 양인 값들을 0으로 설정하고, 원소가 음인 값들을 1로 설정한 것을 제 2 가중치 데이터로 설정한다.In this embodiment, the values with negative elements in the weight data are set to 0 as first weight data, the values with positive elements in the weight data are set to 0, and the values with negative elements are set to 1 as the second weight data. Set as weighted data.

이에 따라 제 1 낸드 스트링(110)에 제공되는 제 1 가중치 데이터는 {1, 1, 0, 0}이고, 제 2 낸드 스트링(120)에 제공되는 제 2 가중치 데이터는 {0, 0, 1, 1}이다.Accordingly, the first weight data provided to the first NAND string 110 is {1, 1, 0, 0}, and the second weight data provided to the second NAND string 120 is {0, 0, 1, 1}.

입력 데이터가 저장된 제 1 낸드 스트링(110)에 제 1 가중치 데이터에 따라 워드라인 전압을 제공하면서 MAC 연산 동작을 수행하는 것은 도 4를 참조하여 개시한 것과 동일하다 .Performing a MAC operation while providing a word line voltage according to the first weight data to the first NAND string 110 where the input data is stored is the same as that described with reference to FIG. 4 .

또한, 입력 데이터가 저장된 제 2 낸드 스트링(120)에 제 2 가중치 데이터에 따라 워드라인 전압을 제공하면서 MAC 연산 동작을 수행하는 것은 도 4를 참조하여 개시한 것과 동일하다.Additionally, performing a MAC operation operation while providing a word line voltage according to the second weight data to the second NAND string 120 where the input data is stored is the same as that described with reference to FIG. 4 .

출력 회로(300)는 도 2의 출력 회로(30)를 확장한 것으로서 전압 연산 회로(311)를 더 포함한다.The output circuit 300 is an extension of the output circuit 30 of FIG. 2 and further includes a voltage calculation circuit 311.

도 5의 출력 회로(300)에서 도 2의 출력 회로(20)에 대응하는 구성은 동일한 지시 부호를 사용하되 대응하는 낸드 스트링을 구별하기 위하여 다른 첨자를 사용하였다.In the output circuit 300 of FIG. 5, the configuration corresponding to the output circuit 20 of FIG. 2 uses the same reference sign, but different subscripts are used to distinguish the corresponding NAND string.

즉, 출력 회로(300)는 제 1 낸드 스트링(110)에 대응하는 제 2 스위치(MP1), 제 3 스위치(MN21), 제 4 스위치(MN31), 연산 커패시터(3101)를 포함하며 제 2 낸드 스트링(120)에 대응하는 제 2 스위치(MP2), 제 3 스위치(MN22), 제 4 스위치(MN32), 연산 커패시터(3102)를 포함한다.That is, the output circuit 300 includes a second switch (MP 1 ), a third switch (MN2 1 ), a fourth switch (MN3 1 ), and an operation capacitor 310 1 corresponding to the first NAND string 110. and includes a second switch (MP 2 ), a third switch (MN2 2 ), a fourth switch (MN3 2 ), and an operation capacitor (310 2 ) corresponding to the second NAND string 120 .

두 연산 커패시터(3101, 3102)의 용량은 CSO로 동일하며 연산 커패시터(3101)의 충전 전압을 제 1 출력 전압(VOUTP) 연산 커패시터(3102)의 충전 전압을 제 2 출력 전압(VOUTN)으로 표시하면 전압 연산 회로(311)는 제 2 출력 전압(VOUTN)에서 제 1 출력 전압(VOUTP)을 뺀 출력 전압(VOUT)을 생성한다.The capacity of the two operation capacitors 310 1 and 310 2 is the same as C SO , and the charging voltage of the operation capacitor 310 1 is set to the first output voltage (V OUTP ) and the charging voltage of the operation capacitor 310 2 is set to the second output voltage. When expressed as (V OUTN ), the voltage operation circuit 311 generates an output voltage (V OUT ) obtained by subtracting the first output voltage (V OUTP ) from the second output voltage (V OUTN ).

소스라인 제어 회로(400)와 연산 제어 회로(60)의 구성은 도 2와 실질적으로 동일하다.The configuration of the source line control circuit 400 and the operation control circuit 60 is substantially the same as that of FIG. 2 .

소스라인 제어 회로(400)는 제 1 낸드 스트링(110)에 대응하는 제 5 스위치(MN41)와 제 2 낸드 스트링(120)에 대응하는 제 5 스위치(MN42)를 포함하는 점을 제외하고 도 2의 소스라인 제어 회로(40)와 실질적으로 동일하다.Except that the source line control circuit 400 includes a fifth switch (MN4 1 ) corresponding to the first NAND string 110 and a fifth switch (MN4 2 ) corresponding to the second NAND string 120. It is substantially the same as the source line control circuit 40 in FIG. 2.

제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)에 대해서 도 4와 같은 MAC 연산 동작이 완료되었을 때 제 1 출력 전압(VOUTP)은 수학식 2와 같이 표현되고, 제 2 출력 전압(VOUTN)은 수학식 3과 같이 표현된다.When the MAC operation operation as shown in FIG. 4 is completed for the first NAND string 110 and the second NAND string 120, the first output voltage (V OUTP ) is expressed as Equation 2, and the second output voltage ( V OUTN ) is expressed as Equation 3.

수학식 2에서 W1i = Weighti (Weighti = 1인 경우), W1i = 0 (Weighti = -1인 경우)의 관계가 성립한다.In Equation 2, the relationships W1 i = Weight i (if Weight i = 1) and W1 i = 0 (if Weight i = -1) are established.

수학식 3에서 W2i = -Weighti (Weighti = -1인 경우), W2i = 0 (Weighti = 1인 경우)의 관계가 성립한다.In Equation 3, the relationships W2 i = -Weight i (if Weight i = -1) and W2 i = 0 (if Weight i = 1) are established.

수학식 2, 3으로부터 전압 뺄셈 회로(311)의 출력 전압(VOUT)은 수학식 4와 같이 표현된다.From Equations 2 and 3, the output voltage (V OUT ) of the voltage subtraction circuit 311 is expressed as Equation 4.

수학식 4를 통해 가중치 데이터가 1 또는 -1인 경우에 전압 연산 회로(311)의 출력 전압(VOUT)이 입력 데이터(Input)와 가중치 데이터(Weight)를 이용한 MAC 연산 결과에 대응함을 알 수 있다. Through Equation 4, it can be seen that when the weight data is 1 or -1, the output voltage (V OUT ) of the voltage operation circuit 311 corresponds to the result of the MAC operation using input data (Input) and weight data (Weight). there is.

본 발명의 권리범위는 이상의 개시로 한정되는 것은 아니다. 본 발명의 권리범위는 청구범위에 문언적으로 기재된 범위와 그 균등범위를 기준으로 해석되어야 한다.The scope of rights of the present invention is not limited to the above disclosure. The scope of rights of the present invention should be interpreted based on the scope literally stated in the claims and the scope of equivalents thereof.

10: 플래시 셀 어레이
100: 낸드 스트링, 110: 제 1 낸드 스트링, 120: 제 2 낸드 스트링
20: 입력 회로
30, 300: 출력 회로
40, 400: 소스라인 제어 회로
50: 명령 디코더
60: 연산 제어 회로
61: 전압 선택 회로
62: 정전류원
64: 선택 제어 회로
10: Flash cell array
100: NAND string, 110: first NAND string, 120: second NAND string
20: input circuit
30, 300: output circuit
40, 400: Source line control circuit
50: Command decoder
60: Operational control circuit
61: Voltage selection circuit
62: constant current source
64: selection control circuit

Claims (12)

비트라인과 소스라인 사이에 연결된 다수의 메모리 셀을 포함하는 셀 어레이;
연산 동작 시 상기 비트라인과 상기 소스라인 사이에 정전류를 제공하는 연산 제어 회로; 및
상기 연산 동작에 의해 전하량이 변경되는 연산 커패시터를 포함하는 출력 회로
를 포함하되,
상기 연산 동작 시 상기 비트라인과 상기 소스라인 사이에서 이동하는 전하량은 제 1 데이터에 대응하여 상기 메모리 셀에 저장된 값과 제 2 데이터에 대응하여 상기 메모리 셀에 연결되는 워드라인 전압에 따라 달라지는 반도체 메모리 장치.
A cell array including a plurality of memory cells connected between a bit line and a source line;
an operation control circuit that provides a constant current between the bit line and the source line during an operation operation; and
An output circuit including an arithmetic capacitor whose charge amount is changed by the arithmetic operation.
Including,
A semiconductor memory in which the amount of charge that moves between the bit line and the source line during the operation operation varies depending on a value stored in the memory cell corresponding to first data and a word line voltage connected to the memory cell corresponding to second data. Device.
청구항 1에 있어서, 상기 출력 회로는 프리차지 신호에 따라 제 1 전원과 상기 연산 커패시터를 연결하는 스위치와 선택 신호에 따라 상기 비트라인과 상기 연산 커패시터를 연결하는 스위치를 포함하는 반도체 메모리 장치.The semiconductor memory device of claim 1, wherein the output circuit includes a switch connecting the first power source and the operation capacitor according to a precharge signal, and a switch connecting the bit line and the operation capacitor according to a selection signal. 청구항 2에 있어서, 상기 출력 회로는 상기 연산 커패시터의 충전 전압을 디지털 신호로 변환하는 아날로그 디지털 변환기를 더 포함하는 반도체 메모리 장치.The semiconductor memory device of claim 2, wherein the output circuit further includes an analog-to-digital converter that converts the charging voltage of the operation capacitor into a digital signal. 청구항 2에 있어서, 연산 동작 시 상기 연산 커패시터를 프리차지한 후 상기 비트라인과 상기 연산 커패시터를 연결하여 상기 비트라인에 정전류를 제공하는 반도체 메모리 장치.The semiconductor memory device of claim 2, wherein during an operation operation, the operation capacitor is precharged and then the bit line and the operation capacitor are connected to provide a constant current to the bit line. 청구항 1에 있어서, 소스라인 제어 신호에 따라 상기 소스라인의 전압을 제어하는 스위치를 더 포함하고, 상기 연산 제어 회로는 연산 동작 시 상기 정전류를 상기 스위치에 미러링하는 반도체 메모리 장치.The semiconductor memory device of claim 1, further comprising a switch that controls the voltage of the source line according to a source line control signal, and the operation control circuit mirrors the constant current to the switch during an operation operation. 청구항 1에 있어서,
상기 다수의 메모리 셀 각각은 상기 제 2 데이터에 대응하는 원소의 값에 따라 결정되는 워드라인 전압을 이용하여 미리 저장된 상기 제 1 데이터의 대응하는 원소의 값을 읽으면서 상기 연산 동작을 수행하되,
상기 연산 동작 후 상기 연산 커패시터는 상기 제 1 데이터와 상기 제 2 데이터의 곱셈 및 누적(MAC) 연산 결과에 대응하는 충전 전압을 제공하는 반도체 메모리 장치.
In claim 1,
Each of the plurality of memory cells performs the calculation operation while reading the value of the corresponding element of the first data stored in advance using a word line voltage determined according to the value of the element corresponding to the second data,
After the operation, the operation capacitor provides a charging voltage corresponding to a result of a multiplication and accumulation (MAC) operation of the first data and the second data.
청구항 6에 있어서, 상기 셀 어레이는 직렬로 연결된 다수의 플래시 메모리 셀과 드레인 선택 신호에 따라 일단을 상기 비트라인에 연결하는 스위치를 포함하는 낸드 스트링을 포함하되,
상기 낸드 스트링에 포함된 다수의 플래시 메모리 셀 각각은 상기 다수의 플래시 메모리 셀 각각의 제어 게이트에는 상기 제 2 데이터의 대응하는 원소의 값에 따라 전압 신호가 제공되는 반도체 메모리 장치.
The method according to claim 6, wherein the cell array includes a NAND string including a plurality of flash memory cells connected in series and a switch connecting one end to the bit line according to a drain selection signal,
A semiconductor memory device in which a voltage signal is provided to a control gate of each of the plurality of flash memory cells included in the NAND string according to the value of a corresponding element of the second data.
청구항 7에 있어서, 상기 제 2 데이터에 따라 상기 다수의 플래시 메모리 셀의 제어 게이트에 연결된 워드라인 전압을 제어하는 입력 회로를 더 포함하는 반도체 메모리 장치.The semiconductor memory device of claim 7 , further comprising an input circuit that controls a word line voltage connected to a control gate of the plurality of flash memory cells according to the second data. 제 1 비트라인에 연결되는 제 1 낸드 스트링과 제 2 비트라인에 연결되는 제 2 낸드 스트링을 포함하는 플래시 메모리 셀 어레이;
상기 제 1 비트라인에 연결되는 제 1 연산 커패시터와 상기 제 2 비트라인에 연결되는 제 2 연산 커패시터와 상기 제 1 연산 커패시터의 충전 전압과 상기 제 2 연산 커패시터의 충전 전압을 연산하는 전압 연산 회로를 포함하는 출력 회로; 및
연산 동작 시 상기 제 1 비트라인과 상기 제 2 비트라인에 정전류를 제공하는 연산 제어 회로;
를 포함하되,
상기 제 1 낸드 스트링과 상기 제 2 낸드 스트링은 입력 데이터를 저장하고,
상기 연산 동작 시 상기 제 1 낸드 스트링에는 가중치 데이터 중 양의 가중치에 대응하는 제 1 가중치 데이터에 따라 워드라인 전압을 제공하고, 상기 제 2 낸드 스트링에는 상기 가중치 데이터 중 음의 가중치에 대응하는 제 2 가중치 데이터에 따라 워드라인 전압을 제공하는 반도체 메모리 장치.
A flash memory cell array including a first NAND string connected to a first bit line and a second NAND string connected to a second bit line;
A first operation capacitor connected to the first bit line, a second operation capacitor connected to the second bit line, and a voltage calculation circuit that calculates the charging voltage of the first operation capacitor and the charging voltage of the second operation capacitor. an output circuit comprising; and
an operation control circuit that provides constant current to the first bit line and the second bit line during an operation operation;
Including,
The first NAND string and the second NAND string store input data,
During the operation, a word line voltage is provided to the first NAND string according to first weight data corresponding to a positive weight among the weight data, and a word line voltage is provided to the second NAND string according to a negative weight among the weight data. A semiconductor memory device that provides word line voltage according to weight data.
청구항 9에 있어서, 상기 출력 회로는 제 1 전원과 상기 제 1 연산 커패시터를 연결하는 스위치, 상기 제 1 비트라인과 상기 제 1 연산 커패시터를 연결하는 스위치, 상기 제 1 전원과 상기 제 2 연산 커패시터를 연결하는 스위치, 상기 제 2 비트라인과 상기 제 2 연산 커패시터를 연결하는 스위치를 포함하는 반도체 메모리 장치.The method of claim 9, wherein the output circuit includes a switch connecting the first power source and the first operation capacitor, a switch connecting the first bit line and the first operation capacitor, and the first power source and the second operation capacitor. A semiconductor memory device including a switch connecting the second bit line and the second operation capacitor. 청구항 9에 있어서, 연산 동작 시 상기 제 1 연산 커패시터를 프리차지한 후 상기 제 1 비트라인과 상기 제 1 연산 커패시터를 연결하여 상기 제 1 비트라인에 정전류를 제공하고, 상기 제 2 연산 커패시터를 프리차지한 후 상기 제 2 비트라인과 상기 제 2 연산 커패시터를 연결하여 상기 제 2 비트라인에 정전류를 제공하는 반도체 메모리 장치.The method of claim 9, wherein during an operation operation, after precharging the first operation capacitor, the first bit line and the first operation capacitor are connected to provide a constant current to the first bit line, and the second operation capacitor is precharged. After connecting the second bit line and the second operation capacitor, a semiconductor memory device provides a constant current to the second bit line. 청구항 9에 있어서, 제 1 낸드 스트링의 타단과 제 2 전원을 연결하는 스위치 및 제 2 낸드 스트링의 타단과 상기 제 2 전원을 연결되는 스위치를 더 포함하고, 상기 연산 제어 회로는 연산 동작 시 상기 정전류를 미러링하여 상기 제 1 비트라인과 상기 제 2 비트라인에 제공하는 반도체 메모리 장치.

The method according to claim 9, further comprising a switch connecting the other end of the first NAND string and the second power source and a switch connecting the other end of the second NAND string and the second power source, wherein the operation control circuit generates the constant current during an operation operation. A semiconductor memory device that provides mirroring to the first bit line and the second bit line.

KR1020220168923A 2022-07-07 2022-12-06 Semiconductor memory device performing a multiplication and accumulation operation KR20240007048A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/148,333 US20240013835A1 (en) 2022-07-07 2022-12-29 Semiconductor memory device performing a multiplication and accumulation operation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220083924 2022-07-07
KR1020220083924 2022-07-07

Publications (1)

Publication Number Publication Date
KR20240007048A true KR20240007048A (en) 2024-01-16

Family

ID=89719832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220168923A KR20240007048A (en) 2022-07-07 2022-12-06 Semiconductor memory device performing a multiplication and accumulation operation

Country Status (1)

Country Link
KR (1) KR20240007048A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110111180A (en) 2010-04-02 2011-10-10 서울대학교산학협력단 Nand flash memory array having stacked array tied bit line and ground select line and operation method thereof
KR20210029070A (en) 2019-09-05 2021-03-15 에스케이하이닉스 주식회사 Non-volatile memory device performing a mac operation
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110111180A (en) 2010-04-02 2011-10-10 서울대학교산학협력단 Nand flash memory array having stacked array tied bit line and ground select line and operation method thereof
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers
KR20210029070A (en) 2019-09-05 2021-03-15 에스케이하이닉스 주식회사 Non-volatile memory device performing a mac operation

Similar Documents

Publication Publication Date Title
US10741258B2 (en) Memory configured to generate a data value from a data line connected to more than one string of series-connected memory cells
US10741259B2 (en) Apparatuses and methods using dummy cells programmed to different states
US8773917B2 (en) Word line kicking when sensing non-volatile storage
US7489543B1 (en) Programming multilevel cell memory arrays
US9299449B2 (en) Methods and apparatus for sensing a memory cell
US8804432B2 (en) Sensing for all bit line architecture in a memory device
KR101414839B1 (en) Sensing operations in a memory device
CN112581996A (en) Time domain memory computing array structure based on magnetic random access memory
US8503232B2 (en) Semiconductor memory device and programming method thereof
US7561474B2 (en) Program verifying method and programming method of flash memory device
TWI716215B (en) Near-memory computation system and non-volatile memory cell
JP2008165958A (en) Method for reading nand flash memory element using self-boosting
JP2000040382A (en) Non-volatile semiconductor memory device and data write method thereof
US11789656B2 (en) Memory system, memory controller, and semiconductor memory device
US20140036599A1 (en) Semiconductor memory device and method of operating the same
KR20140026115A (en) Semiconductor memory device and operating method thereof
KR20240007048A (en) Semiconductor memory device performing a multiplication and accumulation operation
US20240013835A1 (en) Semiconductor memory device performing a multiplication and accumulation operation
KR20210029071A (en) Non-volatile memory device performing a mac operation
KR20210029070A (en) Non-volatile memory device performing a mac operation
CN112447228A (en) Non-volatile memory device performing multiply-accumulate operation
JPH11242893A (en) Non-volatile semiconductor storage device and its data write-in method
KR20120042274A (en) Flash memory device and operating method thereof
JP2000040381A (en) Non-volatile semiconductor memory device
JP2000090677A (en) Nonvolatile semiconductor memory