Method of prefetching target address, system, device and storage media thereof

US12335339B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12335339-B2
Application numberUS-202118247543-A
CountryUS
Kind codeB2
Filing dateNov 30, 2021
Priority dateJan 19, 2021
Publication dateJun 17, 2025
Grant dateJun 17, 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 system of prefetching a target address is applied to a server. The system includes: an Application Programming Interface (API) module, a threshold module, a control module and a first engine module, wherein the API module, the threshold module, the control module and the first engine module are all arranged in a first server; the API module acquires a Remote Direct Memory Access (RDMA) instruction in the first server; a threshold of the first engine module is set in the threshold module, and when a size of RDMA data corresponding to the RDMA instruction exceeds the threshold, the threshold module sends a thread increasing instruction to the control module; and the control module controls, according to the thread increasing instruction sent by the threshold module, a network card of the first server to increase the number of threads of the first engine module.

First claim

Opening claim text (preview).

What is claimed is: 1. A system of prefetching a target address, applied to a server, wherein the system comprises: an Application Programming Interface (API) module, a threshold module, a control module, a first engine module, and a write function module, wherein the API module, the threshold module, the control module and the first engine module are all arranged in a first server: the API module acquires a Remote Direct Memory Access (RDMA) instruction in the first server: a threshold of the first engine module is set in the threshold module, and when a size of RDMA data corresponding to the RDMA instruction exceeds the threshold, the threshold module sends a thread increasing instruction to the control module; and the control module controls, according to the thread increasing instruction sent by the threshold module, a network card of the first server to increase a number of threads of the first engine module: wherein the threshold module identifies a storage space capacity of the first engine module and establishes the threshold, and sends the thread increasing instruction to the control module when a size of first RDMA data currently sent or received by the first engine module and a size of second RDMA data to be sent or received by the first engine module are both greater than the threshold: wherein the control module receives the thread increasing instruction and sends enabling information to the network card, and the network card increases the number of threads of the first engine module according to the enabling information and sends or receives the second RDMA data; wherein when the RDMA instruction comprises a first instruction which is a write instruction, the write function module maps the first RDMA data from a memory of the first server into a first RDMA Engine, wherein the first engine module comprises the first RDMA Engine; when the RDMA instruction also comprises a second instruction which is an instruction after the first instruction, and the second instruction indicates to receive the second RDMA data of a second server, the threshold module determines whether the size of the first RDMA data currently sent exceeds the threshold, and determines whether the size of the second RDMA data to be received does not exceed the threshold; in a case where the threshold module determines that the size of the first RDMA data exceeds the threshold and the size of the second RDMA data does not exceed the threshold, the control module does not control the network card to create a new thread, the first RDMA Engine receives the second RDMA data after completion of the sending of the first RDMA data, and the first RDMA Engine maps the second RDMA data into the memory of the first server; in a case where the threshold module determines that the size of the first RDMA data exceeds the threshold, and determines that the size of the second RDMA data to be received also exceeds the threshold, the threshold module notifies the control module, the control module controls the network card to create a RDMA Engine, and the new RDMA Engine receives the second RDMA data, and maps the second RDMA data into the memory of the first server. 2. The system according to claim 1 , wherein the first server is connected to the second server, each of the first server and the second server is provided with a memory, and the second server is provided with a second engine module; the memory of the first server maps the RDMA data to the first engine module according to the RDMA instruction; the first engine module sends the RDMA data to the second engine module; and the second engine module receives the RDMA data in segments according to a storage space capacity of the second engine module. 3. A method of prefetching a target address, comprising: address presetting: presetting address information corresponding to a Remote Direct Memory Access (RDMA) instruction according to the RDMA instruction in a server; data mapping: mapping, by a memory of the server, RDMA data corresponding to the RDMA instruction to an engine module in a network card of the server according to the RDMA instruction; size determining: when a size of first RDMA data currently sent or received by the engine module and a size of second RDMA data to be sent or received by the engine module are both greater than a storage space capacity of the engine module, sending a thread increasing instruction to the network card; and thread increasing: increasing, by the network card, a number of threads of the engine module; wherein the thread increasing comprises: sending or receiving, by the increased thread of the engine module, the second RDMA data, and when the engine module receives the second RDMA data, mapping, by the engine module, the second RDMA data to the memory of the server, wherein the control module receives the thread increasing instruction and sends enabling information to the network card, and the network card increases the number of threads of the first engine module according to the enabling information and sends or receives the second RDMA data; wherein when the RDMA instruction comprises a first instruction which is a write instruction, a write function module of a first server maps the first RDMA data from a memory of the first server into a first RDMA Engine, wherein the first engine module comprises the first RDMA Engine, and the server comprises the first server; when the RDMA instruction also comprises a second instruction which is an instruction after the first instruction, and the second instruction indicates to receive the second RDMA data of a second server, a threshold module of the first server determines whether the size of the first RDMA data currently sent exceeds the threshold set in the threshold modules, and determines whether the size of the second RDMA data to be received does not exceed the threshold; in a case where the threshold module determines that the size of the first RDMA data exceeds the threshold and the size of the second RDMA data does not exceed the threshold, a control module of the first server does not control the network card to create a new thread, the first RDMA Engine receives the second RDMA data after completion of the sending of the first RDMA data, and the first RDMA Engine maps the second RDMA data into the memory of the first server; in a case where the threshold module determines that the size of the first RDMA data exceeds the threshold, and determines that the size of the second RDMA data to be received also exceeds the threshold, the threshold module notifies the control module, the control module controls the network card to create a RDMA Engine, and the new RDMA Engine receives the second RDMA data, and maps the second RDMA data into the memory of the first server. 4. The method according to claim 3 , wherein the size determining comprises: when the size of the first RDMA data and/or the size of the second RDMA data are/is not greater than the storage space capacity of the engine module, sending or receiving, by the engine module, the second RDMA data in sequence. 5. One or more non-transitory computer-readable storage media storing computer-readable instructions, the computer-readable instructions, when executed by the one or more processors, enabling the one or more processors to perform following operations: address presetting: presetting address information corresponding to a Remote Direct Memory Access (RDMA) instruction according to the RDMA instruction in a server: data mapping: mapping, by a memory of the server, RDMA data corresponding to the RDMA instruction to an engine module in a network card of the server according to the RDMA instruction: size determining: when a size of first RDMA data currently sent or received by the engine module and a size of second RDMA data to be sent o

Assignees

Inventors

Classifications

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • Information transfer, e.g. on bus (G06F13/14 takes precedence) · CPC title

  • Remote · CPC title

  • Buffers; Shared memory; Pipes · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US12335339B2 cover?
A system of prefetching a target address is applied to a server. The system includes: an Application Programming Interface (API) module, a threshold module, a control module and a first engine module, wherein the API module, the threshold module, the control module and the first engine module are all arranged in a first server; the API module acquires a Remote Direct Memory Access (RDMA) instru…
Who is the assignee on this patent?
Inspur Suzhou Intelligent Technology Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F15/17331. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 17 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).