KR20240007048A - Semiconductor memory device performing a multiplication and accumulation operation - Google Patents
Semiconductor memory device performing a multiplication and accumulation operation Download PDFInfo
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 31
- 238000009825 accumulation Methods 0.000 title claims description 3
- 239000003990 capacitor Substances 0.000 claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 13
- 210000004027 cell Anatomy 0.000 description 57
- 238000010586 diagram Methods 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 5
- 210000000225 synapse Anatomy 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing 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) 연산을 수행하는 반도체 메모리 장치에 관한 것이다.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.
본 기술은 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
이하에서는 낸드 플래시 메모리 장치를 예로 들어 반도체 메모리 장치를 개시한다.Hereinafter, a semiconductor memory device will be described using a NAND flash memory device as an example.
반도체 메모리 장치(1000)는 플래시 셀 어레이(10), 입력 회로(20), 출력 회로(30), 소스라인 제어회로(40), 및 명령 디코더(50)를 포함한다.The
플래시 셀 어레이(10)는 다수의 낸드 스트링을 포함하는데 낸드 스트링의 구조에 대해서는 도 2를 참조하여 구체적으로 개시한다.The
입력 회로(20)는 다수의 낸드 스트링에 포함된 플래시 메모리 셀의 워드라인 전압을 제공한다. The
본 실시예에서 반도체 메모리 장치(1000)는 종래의 플래시 메모리 장치에서 수행하는 읽기 쓰기 동작을 동일하게 수행할 수 있다.In this embodiment, the
이에 따라 요청된 주소에 데이터를 프로그램하기 위하여 입력 회로(20)에서 워드라인 전압을 생성하고 이에 따라 플래시 셀 어레이(10)에 입력 신호에 대응하는 데이터를 프로그램 하는 동작 자체는 종래 기술과 동일하므로 이에 대한 구체적인 설명은 생략한다.Accordingly, in order to program data to the requested address, the
또한 요청된 주소의 데이터를 읽기 위하여 입력 회로(20)에서 워드라인 전압을 생성하고 이에 따라 플래시 셀 어레이(10)에서 제공된 데이터를 출력 회로(30)를 통해 외부로 출력하는 동작은 종래 기술과 동일하므로 이에 대한 구체적인 설명은 생략한다.In addition, in order to read data at the requested address, the operation of generating a word line voltage in the
본 실시예는 제 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
전술한 바와 같이 본 실시예에서 제 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
본 실시예에서 출력 회로(30)는 MAC 연산 결과를 더 출력하는 점에서 종래의 출력 회로와 상이하며 이에 대해서는 아래에서 구체적으로 개시한다.The
출력 회로(30)는 읽기 또는 쓰기 과정에서 비트라인(BL)을 접지 전압 또는 전원 전압으로 설정하거나 플로팅 상태로 설정할 수 있으며 이는 종래의 기술과 동일하다.The
소스라인 제어 회로(40)는 플래시 셀 어레이(10)에 연결된 소스 라인(SL)을 제어하는 회로이다.The source
명령 디코더(50)는 호스트로부터 제공되는 명령 및 주소에 따라 플래시 셀 어레이(10), 입력 회로(20), 출력 회로(30), 및 소스라인 제어 회로(40)를 제어하여 데이터 입출력 동작을 제어한다.The
전술한 바와 같이 데이터 입출력 동작은 종래의 기술과 동일하므로 이에 대한 설명은 생략한다.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
전술한 바와 같이 본 실시예에서 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
낸드 스트링(100)은 제 1 노드(N1)와 제 2 노드(N2) 사이에 연결된다.The
제 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
제 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
본 실시예에서 제 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
본 실시예에서 제 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
출력 회로(30)는 비교기(301)와 래치(302)를 포함하여 플래시 메모리 장치의 일반적인 읽기 동작 시 출력 데이터(DOUT)를 제공한다.The
비교기(301)는 활성화 신호(EN)에 따라 제 4 노드(N4)의 출력 전압과 문턱 전압(VTH)을 비교하고, 래치(302)는 비교기(301)의 출력을 래치하여 출력 데이터(DOUT)를 생성한다.The
본 실시예에서 출력 회로(30)는 제 4 노드(N4)와 제 2 전원(GND) 사이에 연결된 연산 커패시터(310)를 포함한다.In this embodiment, the
본 실시예에서는 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
MAC 연산 동작이 완료된 후 연산 커패시터(310)의 충전 전압을 이용하여 연산 결과를 추적할 수 있으며 이에 대해서는 아래에서 다시 구체적으로 개시한다.After the MAC calculation operation is completed, the calculation result can be tracked using the charging voltage of the
출력 회로(30)는 아날로그 디지털 변환기(320)를 더 포함하며 연산 커패시터(310)의 충전 전압(VSO)을 디지털 신호로 변환하여 연산 출력(MOUT)을 제공한다.The
소스라인 제어 회로(40)는 제 2 노드(N2)와 제 2 전원(GND) 사이에 연결되는 제 5 스위치(MN4)를 포함한다.The source
본 실시예에서 제 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
전압 선택 회로(61)는 선택 제어 회로(64)에서 제공된 선택 제어 신호(SELC)에 따라 선택된 전압을 소스라인 선택 신호(SSL)로서 제 5 스위치(MN4)의 게이트에 제공한다.The
선택 제어 회로(64)는 MAC 연산 동작시 선택 제어 신호(SELC)로서 0 또는 1을 제공하고, 일반 메모리 동작 시 선택 제어 신호(SELC)로서 2를 제공한다.The
플래시 메모리 장치의 읽기 동작, 소거 동작, 쓰기 동작 시 소스라인 제어 신호(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
도 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
또한 선택 신호(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
프리차지 동작 시 선택 제어 회로(64)는 선택 제어 신호(SELC)로서 0을 선택하고 이에 따라 제 5 스위치(MN4)는 턴오프 상태가 된다.During the precharge operation, the
전류 방전 동작에서는 제 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
이에 따라 전류 방전 동작 시 비트라인 전류(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
이후 낸드 스트링에 포함된 플래시 메모리 셀에 대해서 순차적으로 읽기 동작을 수행한다.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
이에 따라 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
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
이때 연산 커패시터(310)의 충전 전압은 수학식 1과 같이 표현된다.At this time, the charging voltage of the
수학식 1에서 Input은 입력 데이터, Weight는 가중치 데이터, T는 읽기 전압이 제공되는 시간을 나타낸다.In
수학식 1에서 입력 데이터와 가중치 데이터 사이의 MAC 연산 결과는 분자의 두 번째 항에 대응한다.In
이에 따라 프리차지 상태의 연산 출력(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
예를 들어, 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
이를 위해 호스트는 쓰기 데이터가 {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
전술한 바와 같이 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)에 대한 쓰기 동작 자체는 종래의 기술이므로 구체적인 설명은 생략한다.As described above, since the writing operation itself for the
제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)은 도 2의 낸드 스트링(100)과 동일한 구조를 가진다.The
이에 따라 제 1 낸드 스트링(110)과 제 2 낸드 스트링(120)에서 지시 부호는 도 2의 것과 동일한 것을 사용하였으며 구별을 위해 아래 첨자를 사용하였다.Accordingly, in the
가중치 데이터로부터 제 1 낸드 스트링(110)에 제공되는 제 1 가중치 데이터와 제 2 낸드 스트링에 제공되는 제 2 가중치 데이터를 결정한다.From the weight data, first weight data provided to the
본 실시예에서 가중치 데이터에서 원소가 음인 값들을 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
입력 데이터가 저장된 제 1 낸드 스트링(110)에 제 1 가중치 데이터에 따라 워드라인 전압을 제공하면서 MAC 연산 동작을 수행하는 것은 도 4를 참조하여 개시한 것과 동일하다 .Performing a MAC operation while providing a word line voltage according to the first weight data to the
또한, 입력 데이터가 저장된 제 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
출력 회로(300)는 도 2의 출력 회로(30)를 확장한 것으로서 전압 연산 회로(311)를 더 포함한다.The
도 5의 출력 회로(300)에서 도 2의 출력 회로(20)에 대응하는 구성은 동일한 지시 부호를 사용하되 대응하는 낸드 스트링을 구별하기 위하여 다른 첨자를 사용하였다.In the
즉, 출력 회로(300)는 제 1 낸드 스트링(110)에 대응하는 제 2 스위치(MP1), 제 3 스위치(MN21), 제 4 스위치(MN31), 연산 커패시터(3101)를 포함하며 제 2 낸드 스트링(120)에 대응하는 제 2 스위치(MP2), 제 3 스위치(MN22), 제 4 스위치(MN32), 연산 커패시터(3102)를 포함한다.That is, the
두 연산 커패시터(3101, 3102)의 용량은 CSO로 동일하며 연산 커패시터(3101)의 충전 전압을 제 1 출력 전압(VOUTP) 연산 커패시터(3102)의 충전 전압을 제 2 출력 전압(VOUTN)으로 표시하면 전압 연산 회로(311)는 제 2 출력 전압(VOUTN)에서 제 1 출력 전압(VOUTP)을 뺀 출력 전압(VOUT)을 생성한다.The capacity of the two
소스라인 제어 회로(400)와 연산 제어 회로(60)의 구성은 도 2와 실질적으로 동일하다.The configuration of the source
소스라인 제어 회로(400)는 제 1 낸드 스트링(110)에 대응하는 제 5 스위치(MN41)와 제 2 낸드 스트링(120)에 대응하는 제 5 스위치(MN42)를 포함하는 점을 제외하고 도 2의 소스라인 제어 회로(40)와 실질적으로 동일하다.Except that the source
제 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
수학식 2에서 W1i = Weighti (Weighti = 1인 경우), W1i = 0 (Weighti = -1인 경우)의 관계가 성립한다.In
수학식 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
수학식 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.
상기 다수의 메모리 셀 각각은 상기 제 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.
상기 낸드 스트링에 포함된 다수의 플래시 메모리 셀 각각은 상기 다수의 플래시 메모리 셀 각각의 제어 게이트에는 상기 제 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.
상기 제 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.
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.
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)
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 |
-
2022
- 2022-12-06 KR KR1020220168923A patent/KR20240007048A/en unknown
Patent Citations (3)
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 |