# US 2026/0094633 A1 · Device and method with computational memory

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2026/0094633 A1
- Document ID: US20260094633A1
- Status: Published application
- Kind: A1
- Application number: 19/413,275
- Filed: 2025-12-09
- Published: 2026-04-02
- Earliest claimed: 2022-09-22
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Hyungwoo LEE; Soon-Wan KWON; Seungchul JUNG
- Web page: https://patentgrep.com/patent/US20260094633A1

## CPC

- G06N 3/065: Analogue means
- G11C 7/1084: {Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load}
- G06F 7/5443: {Sum of products (for applications thereof, see the relevant places, e.g. G06F17/10, H03H17/00)}
- G06N 3/08: Learning methods
- G11C 7/12: Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
- G11C 11/54: using elements simulating biological cells, e.g. neuron
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computational memory device and a method using the computational memory device are provided. The computational memory device includes memory banks configured to store weight data of a neural network model and a weight memory block configured to provide at least some of the weight data from memory banks in response to a weight request, a computational memory block physically stacked on the weight memory block such faces of the respective blocks face each other, the computational memory block configured to perform a multiply-accumulate (MAC) operation between the at least some of the weight data and at least some of input data by using a bit cell array including bit cells, and a communication interface configured to perform communication between the weight memory block and the computational memory block.

## Claims

### Claim 1

A computational memory device comprising:
memory banks configured to store weight data of a neural network model and a weight memory block configured to provide at least some of the weight data from the memory banks in response to a weight request;
a computational in-memory computing (IMC) memory block physically stacked on or under the weight memory block such that faces of the respective blocks face each other, the computational IMC memory block configured to perform a multiply-accumulate (MAC) operation between the at least some of the weight data and at least some of input data by using a bit cell array comprising bit cells, wherein each bit cell is configured to, while continuously storing a respective same portion of the input data, perform multiplication operations between the respective same portion of the input data continuously stored thereby and different portions of the weight data inputted thereto, wherein the multiplication operations of the bit cells are part of the MAC operation; and
a communication interface configured to perform communication between the weight memory block and the computational IMC memory block.

### Claim 2 (depends on 1)

The computational memory device of claim 1, wherein, to process a first layer of the neural network model, the computational IMC memory block is configured to:
receive first input data of the first layer from a data memory and store the first input data of the first layer in the bit cell array,
transmit, to the weight memory block, a first weight request indicating first weight data, the weight data forming, with the first input data, an operation pair for the MAC operation, and
receive the first weight data from the weight memory block and perform a first MAC operation between the first input data and the first weight data, wherein
an operation result of the first MAC operation corresponds to at least a portion of first output feature data generated by the first layer.

### Claim 3 (depends on 1)

The computational memory device of claim 1, wherein
the weight data comprises a multi-bit data format, and
the computational IMC memory block is configured to sequentially receive, bit by bit, a bitstream corresponding to at least some of the weight data and perform a bitwise MAC operation.

### Claim 4 (depends on 1)

The computational memory device of claim 1, wherein the communication interface comprises a parallel-to-serial converter configured to convert an expression format of weights in the weight data from a parallel expression to a serial expression.

### Claim 5 (depends on 1)

The computational memory device of claim 1, wherein, to process a first layer of the neural network model, the computational IMC memory block is configured to
transmit, to the weight memory block, a first weight request indicating first weight data of the first layer,
receive the first weight data from the weight memory block and store the first weight data in the bit cell array, and
receive, from an additional memory, first input data forming an operation pair with the first weight data for the MAC operation and perform a first MAC operation between the first input data and the first weight data, wherein
an operation result of the first MAC operation corresponds to at least some of first output feature data of the first layer.

### Claim 6 (depends on 5)

The computational memory device of claim 5, wherein
the first input data comprises a multi-bit data format, and
the computational IMC memory block is configured to sequentially receive, bit by bit, a bitstream corresponding to the first input data and perform a bitwise first MAC operation.

### Claim 7 (depends on 1)

The computational memory device of claim 1, wherein
the communication interface comprises a first channel and a second channel, and wherein
after first weight data of the weight memory block is stored in a first data buffer of the first channel through the first channel, while the first weight data is transmitted to the computational memory block from the first data buffer, second weight data of the weight memory block is stored in a second data buffer of the second channel through the second channel.

### Claim 8 (depends on 1)

The computational memory device of claim 1, wherein the weight request comprises a memory address of at least some of the weight data.

### Claim 9 (depends on 8)

The computational memory device of claim 8, wherein
the computational IMC memory block comprises a first access controller configured to transmit the weight request to the weight memory block, and
the weight memory block comprises a second access controller configured to receive the weight request from the first access controller and access at least some of memory banks corresponding to the memory address of the weight request.

### Claim 10 (depends on 1)

The computational memory device of claim 1, wherein
the weight memory block comprises bank groups of memory banks and an address decoder of bank groups.

### Claim 11 (depends on 10)

The computational memory device of claim 10, wherein
each memory bank of memory banks comprises sub-memory banks having respective sub-address decoders.

### Claim 12 (depends on 1)

The computational memory device of claim 1, wherein
the communication interface comprises a through silicon via (TSV) connecting the weight memory block to the computational IMC memory block in a direction perpendicular to the faces of the weight memory block and the computational IMC memory block, respectively.

### Claim 13 (depends on 1)

The computational memory device of claim 1, wherein the memory banks comprise non-volatile memory and the bit cell array comprises volatile memory.

### Claim 14 (depends on 13)

The computational memory device of claim 13, wherein
the non-volatile memory comprises magnetic random-access memory (MRAM) and the volatile memory comprises static random-access memory (SRAM).

### Claim 15 (depends on 1)

The computational memory device of claim 1, wherein the computational IMC memory block comprises:
the bit cells configured to perform the multiplication operations between a weight bit of the weight data and an input bit of the input data;
an adder configured to perform addition operations based on multiplication results of the multiplication operations; and
an accumulator configured to perform an accumulate operation based on an addition result of the addition operations, wherein
an accumulation result of the accumulate operation corresponds to a MAC operation result of the MAC operation.

### Claim 16 (depends on 1)

The computational memory device of claim 1, wherein the communication interface comprises:
a first buffer configured to temporarily store weight requests comprising the weight request;
a second buffer configured to temporarily store the at least some of the weight data based on the weight request; and
a communication element configured to perform communication between the weight memory block and the computational memory block.

### Claim 17

A multiply-accumulate (MAC) operation method of a computational IMC memory block physically arranged with a weight memory block so that the blocks form a stack, the MAC operation method comprising:
transmitting a weight request to the weight memory block through a communication interface providing communication between the weight memory block and the computational IMC memory block, the weight request indicating at least some of weight data of a neural network model stored in memory banks of the weight memory block;
receiving, through the communication interface, at least some of the weight data based on the weight request from the weight memory block; and
performing a MAC operation between the at least some of the weight data and at least some of input data by using bit cells of a bit cell array of the computational IMC memory block, wherein each bit cell is configured to, while continuously storing a respective same portion of the input data, perform multiplication operations between the respective same portion of the input data continuously stored thereby and different portions of the weight data inputted thereto, wherein the multiplication operations of the bit cells are part of the MAC operation.

### Claim 18 (depends on 17)

The MAC operation method of claim 17, further comprising:
receiving from data memory first input data of a first layer of the neural network model and storing the first input data in the bit cell array, wherein
the transmitting the weight request comprises transmitting, to the weight memory block,
a first weight request indicating first weight data, the first weight data and the first input data forming an operation pair for the MAC operation, and
the performing the MAC operation comprises performing a first MAC operation between the first input data and the first weight data, wherein
an operation result of the first MAC operation corresponds to at least some of first output feature data of the first layer.

### Claim 19 (depends on 17)

The MAC operation method of claim 17, wherein
the weight data comprises a multi-bit data format and the computational IMC memory block is configured to sequentially receive, bit by bit, a bitstream corresponding to at least some of the weight data and perform a bitwise MAC operation.

### Claim 20 (depends on 17)

The MAC operation method of claim 17, wherein
the transmitting the weight request comprises transmitting, to the weight memory block, a first weight request indicating first weight data of the first layer of the neural network model, wherein
the MAC operation method further comprises receiving the first weight data from the weight memory block and storing the first weight data in the bit cell array, and wherein
the performing the MAC operation further comprises receiving, from an additional memory, first input data forming an operation pair with the first weight data for the MAC operation and performing a first MAC operation between the first input data and the first weight data, and wherein
an operation result of the first MAC operation corresponds to at least some of first output feature data of the first layer.
