IP Library Granted Patent US 12705169
Granted Patent B2
US 12705169 · App. 18/904,765 · Granted Aug 11, 2026

Memory device for performing in-memory processing and operating method thereof

Inventors: Byeongho Kim (Suwon-si, KR); Suk Han Lee (Suwon-si, KR); Kyomin Sohn (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/0223G11C11/406
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705169
App. No.
18/904,765
Granted
Aug 11, 2026
Kind
B2
Abstract

An in-memory processing memory device may include: a bank including a cell array; and a processing in memory (PIM) block, associated with the bank, including a register that stores a plurality of instructions. The PIM block is configured to: acquire one or more instructions of the plurality of instructions stored in the register; determine whether the one or more instructions operate independently of the bank; and based on the one or more instructions operating independently of the bank, perform computational processing corresponding to the one or more instructions during a first time interval in which the bank is in an inactive state.

Claims (46)

1 . A method for operating a memory device, the method being performed by a processing in memory (PIM) block of a memory device and comprising:

receiving, from a memory controller, a plurality of instructions to be executed in a PIM block;

storing the plurality of instructions in a register of the PIM block;

determining whether each of the plurality of instructions stored in the register operates independently of a bank associated with the PIM block; and

performing, during a first time interval in which the bank is in an inactive state, computational processing corresponding to one or more instructions, of the plurality of instructions stored in the register, that operate independently of the bank, the plurality of instructions being indicated by a counting value of a r ter of the PIM block.

2 . The method according to claim 1 , wherein the bank is configured to perform a refresh operation or a precharge operation during the first time interval.

3 . An in-memory processing memory device, the memory device comprising:

a plurality of core dies that are stacked and interconnected via a plurality of channels provided by a plurality of through silicon vias (TSV); and

a buffer die configured to control the plurality of core dies through the plurality of channels,

wherein at least one of the plurality of core dies comprises a bank comprising a memory cell, and a processing in memory (PIM) block that comprises a register storing a plurality of instructions to be executed, and that is associated with the bank, and

wherein the PIM block is configured to:

acquire one or more instructions of the plurality of instructions stored in the register, the one or more instructions being indicated by a counting value of a program counter of the PIM block;

determine whether the one or more instructions operate independently of the bank; and

based on the one or more instructions operating independently of the bank, perform computational processing corresponding to the one or more instructions during a first time interval in which the bank is in an inactive state.

4 . The memory device according to claim 3 , wherein the at least one of the plurality of core dies receives at least one of a control command, an address or data from a host via the buffer die.

5 . The memory device according to claim 3 , further comprising a memory controller,

wherein the bank is configured to perform a refresh operation or a precharge operation during the first time interval, and

wherein the memory controller is configured to transmit, to the at least one of the plurality of core dies, a command for instructing the refresh operation or the precharge operation of the bank, and the plurality of instructions to be executed.

6 . The memory device according to claim 3 ,

wherein the PIM block is configured to modify the counting value based on the computational processing being performed and the bank being in the inactive state.

7 . An in-memory processing memory device, the memory device comprising:

a bank comprising a cell array; and

a processing in memory (PIM) block, associated with the bank, comprising a register that stores a plurality of instructions to be executed, wherein the PIM block is configured to:

acquire one or more instructions of the plurality of instructions stored in the register, the one or more instructions being indicated by a counting value of a program counter of the PIM block;

determine whether the one or more instructions operate independently of the bank; and

based on the one or more instructions operating independently of the bank, perform computational processing corresponding to the one or more instructions during a first time interval in which the bank is in an inactive state.

8 . The memory device according to claim 7 , wherein the PIM block is further configured to determine whether or not each of the plurality of instructions stored in the register operates independently of the bank.

9 . The memory device according to claim 8 , wherein the PIM block is further configured to determine whether each of the plurality of instructions stored in the register operates independently of the bank or not, based on at least one of an operation code of each of the plurality of instructions, an address at which an operand of each of the plurality of instructions is stored, or an address at which a result value of each of the plurality of instructions is to be stored.

10 . The memory device according to claim 8 , wherein each of the one or more instructions operating independently of the bank, determined in the PIM block, is stored in the register in association with a first flag value,

wherein each of one or more instructions operating dependently on the bank, determined in the PIM block, is stored in the register in association with a second flag value,

wherein the first flag value and the second flag value are different from each other, and

wherein the PIM block is further configured to perform, during the first time interval, computational processing corresponding to at least part of the one or more instructions that are associated with the first flag value.

11 . The memory device according to claim 7 , wherein the PIM block is further configured to change the counting value of the program counter based on the computational processing being performed and the bank being in the inactive state.

12 . The memory device according to claim 7 , wherein the PIM block is further configured to, based on the one or more instructions operating dependently of the bank, change the counting value of the program counter to indicate a next instruction during the first time interval.

13 . The memory device according to claim 12 , wherein the PIM block is further configured to:

determine whether the next instruction operates independently of the bank; and

based on the next instruction operating independently of the bank, perform computational processing corresponding to the next instruction during the first time interval.

14 . The memory device according to claim 7 , wherein the PIM block is further configured to perform, during a second time interval in which the bank is active, computational processing corresponding to the one or more instruction indicated by the counting value of the program counter.

15 . The memory device according to claim 14 , wherein the PIM block is configured to:

receive a write command or a read command from a memory controller during the second time interval; and

based on receiving the write command or the read command, perform computational processing corresponding to the one or more instructions indicated by the counting value of the program counter, and change the counting value of the program counter such that the counting value of the program counter indicates one or more next instructions.

16 . The memory device according to claim 15 , wherein the PIM block is further configured to perform computational processing corresponding to the next instruction during the second time interval.

17 . The memory device according to claim 7 , wherein the bank is configured to perform a refresh operation or a precharge operation during the first time interval.

18 . The memory device according to claim 17 , wherein the bank is configured to perform the refresh operation repeatedly for a plurality of periods, and

wherein the refresh operation is triggered by a refresh pulse.

19 . The memory device according to claim 17 , wherein the bank is configured to perform the refresh operation in a first sub-period in which a plurality of rows of the cell array are activated and precharged, and a second sub-period in which the cell array is recovered.