PIM computing system and PIM computation offloading method thereof

US12307093B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12307093-B2
Application numberUS-202218069026-A
CountryUS
Kind codeB2
Filing dateDec 20, 2022
Priority dateJun 9, 2022
Publication dateMay 20, 2025
Grant dateMay 20, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A Processing-In-Memory (PIM) computing system and a PIM computation offloading method thereof perform PIM computation offloading using a DMA engine. The DMA engine is configured to process a transaction by respectively performing descriptor requests and PIM requests for one or more descriptors stored in a memory, in response to a memory request of a CPU. The memory includes a PIM unit and a memory array, which memory array may be a DRAM. In response to the PIM requests, the PIM unit performs PIM operations using information included in data provided to the DMA engine in response to the descriptor requests.

First claim

Opening claim text (preview).

What is claimed is: 1. A Processing-In-Memory (PIM) computing system comprising: a central processing unit (CPU) configured to transmit a memory request for offloading of a PIM computation; a DRAM including a memory array which stores descriptors corresponding to PIM transactions for the PIM computation as descriptors and a PIM device which performs a PIM transaction when the PIM transaction is generated, each of the descriptors including a next descriptor address, operand address information, and an opcode; and a direct memory access (DMA) engine configured to store a current descriptor address and a tail descriptor address included in the memory request, and sequentially provide a descriptor request and a PIM request for each of the descriptors stored in the DRAM sequentially selected using the first current descriptor address and the last tail descriptor address, wherein, in response to the descriptor request, the PIM device stores the operand address information and the opcode among descriptor information read from the DRAM by the DMA engine, wherein, in response to the PIM request, the PIM device performs the PIM transaction by using the stored operand address information and opcode, and wherein: the PIM device includes a PIM control register set which includes an operand register, a configuration register and a descriptor register, descriptor address information provided from the CPU before the PIM computation is started is stored in the descriptor register, the PIM device identities the descriptor request by comparing a descriptor address selected by the DMA engine for the descriptor request with the descriptor address information stored in the descriptor register, and the PIM device receives the operand address information and the opcode corresponding to the descriptor address read provided by the DMA engine, and in response to the identified descriptor request, stores the operand address information in the operand register, and stores the opcode in the configuration register. 2. The PIM computing system according to claim 1 , wherein when the DMA engine provides the PIM request which generates the PIM transaction, the PIM device identifies the PIM request by comparing operand address information provided from the DMA engine for the PIM request with the operand address information stored in the operand register, and the PIM device executes the PIM transaction according to the opcode stored in the configuration register, in response to the identified PIM request. 3. The PIM computing system according to claim 1 , wherein the PIM device comprises: a PIM interface unit including a PIM control register set which includes an operand register for registering the operand address information, a configuration register for registering the opcode and a descriptor register for registering descriptor address information, and configured to receive address information and command information and provide a computation control signal; and a PIM engine configured to perform a computation responding to the descriptor request and the PIM request for the PIM transaction, in response to the computation control signal, and provide a computation result by the PIM request, wherein the PIM interface unit identifies the command information of the descriptor request and the PIM request by comparing the received address information with the operand address information and the descriptor address information, wherein, when the descriptor request is identified, the PIM interface unit stores the operand address information among the descriptor information read by the DMA engine, in the operand register, and stores the opcode in the configuration register, and wherein, when the PIM request is identified, the PIM interface unit provides the computation control signal for execution of the PIM transaction, by using the operand address information stored in the operand register and the opcode stored in the configuration register. 4. The PIM computing system according to claim 3 , wherein the PIM interface unit further includes a switching circuit which forms a data path between the DMA engine and the memory array when the PIM request is identified. 5. A Processing-In-Memory (PIM) computation offloading method of a PIM computing system, the method comprising: storing a current descriptor address and a tail descriptor address in a DMA engine by transmitting a memory request for offloading of a PIM computation, by a CPU; before the PIM computation, storing all PIM transactions for the PIM computation as descriptors in a memory array of a DRAM and registering descriptor address information in a PIM device of the DRAM, by the CPU; sequentially selecting the descriptors from the current descriptor address to the last tail descriptor address for the PIM computation and reading descriptor information by providing a descriptor request for a selected descriptor, by the DMA engine; providing operand address information and an opcode in the read descriptor information, to the PIM device, by the DMA engine; identifying the descriptor request and registering the operand address information and the opcode provided from the DMA engine, by the PIM device; providing a PIM request which generates a PIM transaction, on the basis of the read descriptor information, by the DMA engine; identifying the PIM request and performing the PIM transaction by using the stored operand address information and opcode, by the PIM device; and completing the PIM computation by providing the descriptor request and the PIM request for each of the descriptors from the current descriptor address to the last tail descriptor address, wherein the PIM device identifies the descriptor request by comparing a descriptor address selected by the DMA engine for the descriptor request with the stored descriptor address information. 6. The PIM computation offloading method according to claim 5 , wherein the PIM device identifies the PIM request by comparing operand address information provided from the DMA engine for the PIM request with the stored operand address information. 7. The PIM computation offloading method according to claim 6 , wherein the PIM device executes the PIM transaction according to the stored opcode in response to the identified PIM request.

Assignees

Inventors

Classifications

  • Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory · CPC title

  • Single storage device · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • DMA · CPC title

  • Controller construction arrangements · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12307093B2 cover?
A Processing-In-Memory (PIM) computing system and a PIM computation offloading method thereof perform PIM computation offloading using a DMA engine. The DMA engine is configured to process a transaction by respectively performing descriptor requests and PIM requests for one or more descriptors stored in a memory, in response to a memory request of a CPU. The memory includes a PIM unit and a mem…
Who is the assignee on this patent?
Sk Hynix Inc, Univ Korea Res & Bus Found
What technology area does this patent fall under?
Primary CPC classification G06F15/7821. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 20 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).