IP Library › Granted Patent US 12,542,829
Granted Patent B2
US 12,542,829 · App. 18/543,594 · Granted Feb 3, 2026

Device and method for remote direct memory access

Inventors: Ben-Shahar Belkar (Hod Hasharon, IL); Sagiv Goren (Hod Hasharon, IL); Reuven Cohen (Hod Hasharon, IL); David Ganor (Hod Hasharon, IL); Amit Geron (Hod Hasharon, IL)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L67/1097
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 12,542,829
App. No.
18/543,594
Granted
Feb 3, 2026
Kind
B2
Abstract

An entity for RDMA is configured to maintain a time-based queue pair (QP). The time-based QP comprises a first area associated with a time-based indication and is configured to hold one or more first WQEs. The time-based indication indicates that the one or more WQEs in the first area are to be periodically processed. The entity is further configured to periodically process the one or more first WQEs in the first area according to the time-based indication.

Claims (56)

1 . An entity comprising:

a memory configured to store instructions; and

one or more processors coupled to the memory and configured to execute the instructions to cause the entity to:

maintain a time-based queue pair (QP) comprising a first area associated with a time-based indication, wherein the first area is configured to hold one or more first working queue elements (WQEs), and wherein the time-based indication indicates that the one or more WQEs in the first area are to be periodically processed; and

periodically process the one or more first WQEs in the first area according to the time-based indication.

2 . The entity according to claim 1 , wherein the time-based indication comprises at least one of the following:

a periodic interval T for processing the one or more WQEs in the first area;

a number N of cycles for processing the one or more WQEs in the first area, wherein N is a positive integer;

a time duration within which the one or more WQEs in the first area are to be periodically processed; or

an instruction to continuously post the one or more WQEs in the first area until a stop instruction is received.

3 . The entity according to claim 1 , wherein the one or more first WQEs are associated with at least one of a first destination address or a second destination address, wherein the entity is further configured to periodically process the one or more first WQEs to at least one of a first destination entity or a second destination entity, wherein the first destination entity corresponds to the first destination address, and wherein the second destination entity corresponds to the second destination address.

4 . The entity according to claim 1 , wherein the one or more processors are further configured to execute the instructions to cause the entity to maintain a completion queue, wherein the first area is further associated with a completion indication indicating a generation manner of a completion.

5 . The entity according to claim 4 , wherein the completion indication is at least one of the following:

to generate a completion after a predefined number of processed first WQEs;

to generate a completion after a predefined number of cycles;

to generate a completion when an error or a predefined type of error occurs;

to generate a completion in response to a notification; or

not to generate a completion.

6 . The entity according to claim 1 , wherein the one or more processors are further configured to execute the instructions to cause the entity to stop, when an error occurs, processing of the one or more first WQEs in the first area.

7 . The entity according to claim 1 , wherein the time-based QP further comprises a second area comprising one or more second WQEs, and wherein the one or more processors are further configured to execute the instructions to cause the entity to process the one or more second WQEs following a doorbell ring.

8 . The entity according to claim 1 , wherein the one or more processors are further configured to execute the instructions to cause the entity to:

add one or more third WQEs into the first area; and

periodically process the one or more third WQEs in a following cycle.

9 . The entity according to claim 1 , wherein the one or more processors are further configured to execute the instructions to cause the entity to obtain the time-based QP from at least one of a first application or a second application.

10 . The entity according to claim 1 , wherein the one or more processors are further configured to execute the instructions to cause the entity to:

maintain a memory area storing specific data for the entity;

determine that the specific data has changed in the memory area; and

provide, in response to the specific data changing in the memory area, content of the specific data to one or more other entities for remote direct memory access (RDMA) using one or more WQEs of the time-based QP.

11 . A method, implemented by an entity, the method comprising:

maintaining a time-based queue pair (QP) comprising a first area associated with a time-based indication, wherein the first area is configured to hold one or more first working queue elements (WQEs), and wherein the time-based indication indicates that the one or more WQEs in the first area is periodically processed; and

periodically processing the one or more first WQEs in the first area according to the time-based indication.

12 . The method according to claim 11 , wherein the time-based indication comprises at least one of the following:

a periodic interval T for processing the one or more WQEs in the first area;

a number N of cycles for processing the one or more WQEs in the first area, N is a positive integer;

a time duration within which the one or more WQEs in the first area are to be periodically processed; or

an instruction continuously process the one or more WQEs in the first area until a stop instruction is received.

13 . The method according to claim 12 , wherein the one or more first WQEs are associated with at least one of a first destination address or a second destination address, wherein the method further comprises periodically processing the one or more first WQEs to at least one of a first destination entity or a second destination entity, wherein the first destination entity corresponds to the first destination address, and wherein the second destination entity corresponds to the second destination address.

14 . The method according to claim 11 , further comprising maintaining a completion queue, wherein the first area is further associated with a completion indication indicating a generation manner of a completion.

15 . The method according to claim 14 , wherein the completion indication is at least one of the following:

to generate a completion after a predefined number of processed first WQEs;

to generate a completion after a predefined number of cycles;

to generate a completion when an error or a predefined type of error occurs;

to generate a completion in response to a notification; or

not to generate a completion.

16 . The method according to claim 11 , further comprising stopping, when an error occurs, processing of the one or more first WQEs in the first area.

17 . The method according to claim 11 , further comprising:

adding one or more third WQEs into the first area; and

periodically processing the one or more third WQEs in a following cycle.

18 . The method according to claim 11 , further comprising obtaining the time-based QP from at least one of a first application or a second application.

19 . The method according to claim 11 , further comprising:

maintaining a memory area storing specific data for the entity;

determining that the specific data has changed in the memory area; and

providing, in response to the specific data changing in the memory area, a content of the specific data to one or more other entities for remote direct memory access (RDMA) using one or more WQEs of the time-based QP.

20 . A computer program product comprising a program code stored on a non-transitory computer-readable storage medium, the program code when executed by one or more processors of an entity, cause the entity to:

maintain a time-based queue pair (QP) comprising a first area associated with a time-based indication, wherein the first area is configured to hold one or more first working queue elements (WQEs), and wherein the time-based indication indicates that the one or more WQEs in the first area is periodically processed; and

periodically process the one or more first WQEs in the first area according to the time-based indication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2024
From: BELKAR, BEN-SHAHAR; GOREN, SAGIV; COHEN, REUVEN; GANOR, DAVID; GERON, AMIT
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 067133/0314 →
Continuity (2)
Continuation PCTEP2021066530 · Jun 18, 2021
Related Publication 20240121302A1 · Apr 11, 2024
References Cited (7)
US 10296380B1 · Garcia · 2019 [cited by examiner]
US 10394597B1 · Kowalski · 2019 [cited by examiner]
US 20180024861A1 · Balle · 2018 [cited by examiner]
US 20220253335A1 · Bequet · 2022 [cited by examiner]
Feldmann et al., “Skueue: A Scalable and Sequentially Consistent Distributed Queue”, May 1, 2018, IEEE, 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS) (2018, pp. 1040-1049) (Year: 2018). [cited by examiner]
IEEE Std 1588™-2008, IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, Jul. 24, 2008, 289 pages. [cited by applicant]
Myung Kyun Kim et al., “Periodic Message Scheduling on a Switched Ethernet for Hard Real-Time Communication,” HPCC 2006, 10 pages. [cited by applicant]