IP Library Granted Patent US 12,346,271
Granted Patent B2
US 12,346,271 · App. 18/336,213 · Granted Jul 1, 2025

Pointer sharing in QDMA transactions

Inventors: Kenneth Edward Neudorf (Ottawa, CA); Alain Robert Trottier (St. Albert, CA)
Assignee: Ciena Corporation
G06F13/1642G06F13/28G06F13/4221
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,346,271
App. No.
18/336,213
Granted
Jul 1, 2025
Kind
B2
Abstract

A Queue Direct Memory Access (QDMA) system includes circuitry configured to store N pointers in a contiguous block of memory in the QDMA system, wherein N is an integer greater than 1 and there are N queues in the QDMA system with each pointer of the N pointers being associated with a queue of the N queues, receive a pointer packet from a host device connected to a chip device that includes the QDMA system, wherein the pointer packet includes all of the N pointers, and perform a write of contents of the pointer packet over the contiguous block of memory, such that the N pointers are written in one update.

Claims (34)

1. A Queue Direct Memory Access (QDMA) system comprising circuitry configured to:

store N pointers in a contiguous block of memory in the QDMA system, wherein N is an integer greater than 1 and there are N queues in the QDMA system with each pointer of the N pointers being associated with a queue of the N queues,

receive a pointer packet from a host device connected to a chip device that includes the QDMA system, wherein the pointer packet includes all of the N pointers, and

perform a write of contents of the pointer packet over the contiguous block of memory, such that the N pointers are written in one update,

wherein the N pointers are write pointers from the host, and wherein the circuitry is further configured to store N read pointers in a second contiguous block of memory in the QDMA system.

2. The QDMA system of claim 1 , wherein the pointer packet is a Transaction Layer Packet (TLP) from Peripheral Component Interconnect Express (PCle).

3. The QDMA system of claim 1 , wherein the pointer packet is received via a Peripheral Component Interconnect Express (PCle) link.

4. The QDMA system of claim 1 , wherein the chip device is a Field Programmable Gate Array (FPGA) and the host device is a processor, and wherein the QDMA system is disposed in the FPGA.

5. The QDMA system of claim 1 , wherein the chip device is a first Field Programmable Gate Array (FPGA) and the host device is a second FPGA.

6. The QDMA system of claim 5 , wherein the second FPGA includes a second QDMA system.

7. The QDMA system of claim 1 , wherein the circuitry is further configured to

access the N pointers in the contiguous block of memory and perform memory transfer from a memory associated with the chip in the N queues to addresses in memory associated with the host, where the addresses are in the N pointers.

8. A Queue Direct Memory Access (QDMA) system comprising circuitry configured to:

store N pointers in a contiguous block of memory in the QDMA system, wherein N is an integer greater than 1 and there are N queues in the QDMA system with each pointer of the N pointers being associated with a queue of the N queues,

receive a pointer packet from a host device connected to a chip device that includes the QDMA system, wherein the pointer packet includes all of the N pointers, and

perform a write of contents of the pointer packet over the contiguous block of memory, such that the N pointers are written in one update,

wherein the pointer packet is received via a Peripheral Component Interconnect Express (PCle) link and is after one or more of (1) the PCle link being idle and (2) a predetermined update period of time.

9. The QDMA system of claim 8 , wherein the pointer packet is a Transaction Layer Packet (TLP) from Peripheral Component Interconnect Express (PCle).

10. The QDMA system of claim 8 , wherein the pointer packet is received via a Peripheral Component Interconnect Express (PCle) link.

11. The QDMA system of claim 8 , wherein the chip device is a Field Programmable Gate Array (FPGA) and the host device is a processor, and wherein the QDMA system is disposed in the FPGA.

12. The QDMA system of claim 8 , wherein the chip device is a first Field Programmable Gate Array (FPGA) and the host device is a second FPGA.

13. The QDMA system of claim 12 , wherein the second FPGA includes a second QDMA system.

14. The QDMA system of claim 8 , wherein the circuitry is further configured to

access the N pointers in the contiguous block of memory and perform memory transfer from a memory associated with the chip in the N queues to addresses in memory associated with the host, where the addresses are in the N pointers.

15. A Queue Direct Memory Access (QDMA) system comprising circuitry configured to:

store N pointers in a contiguous block of memory in the QDMA system, wherein N is an integer greater than 1 and there are N queues in the QDMA system with each pointer of the N pointers being associated with a queue of the N queues,

receive a pointer packet from a host device connected to a chip device that includes the QDMA system, wherein the pointer packet includes all of the N pointers, and

perform a write of contents of the pointer packet over the contiguous block of memory, such that the N pointers are written in one update, wherein the QDMA system is utilized to queue memory transfers from the chip device to the host device, and wherein memory transfers from the host device to the chip device are performed without queuing.

16. The QDMA system of claim 15 , wherein the pointer packet is a Transaction Layer Packet (TLP) from Peripheral Component Interconnect Express (PCle).

17. The QDMA system of claim 15 , wherein the pointer packet is received via a Peripheral Component Interconnect Express (PCle) link.

18. The QDMA system of claim 15 , wherein the chip device is a Field Programmable Gate Array (FPGA) and the host device is a processor, and wherein the QDMA system is disposed in the FPGA.

19. The QDMA system of claim 15 , wherein the chip device is a first Field Programmable Gate Array (FPGA) and the host device is a second FPGA.

20. The QDMA system of claim 15 , wherein the circuitry is further configured to

access the N pointers in the contiguous block of memory and perform memory transfer from a memory associated with the chip in the N queues to addresses in memory associated with the host, where the addresses are in the N pointers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: NEUDORF, KENNETH EDWARD; TROTTIER, ALAIN ROBERT
To: CIENA CORPORATION
Reel/Frame 063972/0071 →
Continuity (1)
Related Publication 20240419611A1 · Dec 19, 2024
References Cited (12)
US 7133943B2 · Carnevale · 2006 [cited by examiner]
US 7317725B2 · Etemadi et al. · 2008 [cited by applicant]
US 7769015B2 · Huang · 2010 [cited by applicant]
US 8886878B1 · Neudorf et al. · 2014 [cited by applicant]
US 9444566B1 · Mustiere et al. · 2016 [cited by applicant]
US 9497522B2 · Neudorf · 2016 [cited by applicant]
US 10374786B1 · Mustiere et al. · 2019 [cited by applicant]
US 11018674B1 · Neudorf et al. · 2021 [cited by applicant]
US 20060288129A1 · Pope · 2006 [cited by examiner]
US 20190190853A1 · Pope · 2019 [cited by examiner]
US 20220155991A1 · Neudorf · 2022 [cited by applicant]
US 20220321368A1 · Lee · 2022 [cited by examiner]