IP Library › Granted Patent US 11,895,029
Granted Patent B2
US 11,895,029 · App. 17/548,451 · Granted Feb 6, 2024

Network processor with external memory protection

Inventors: Brian Alleyne (Los Gatos, CA); Matias Cavuoti (San Jose, CA); Li-Chuan Egan (Los Altos, CA); Mimi Dannhardt (Vienna, VA); Krishnan Subramani (San Jose, CA); Mohamed Abdul Malick Mohamed Usman (Fremont, CA); Roxanna Ganji (Fremont, CA); Stephen Russell (Linden, CA)
Assignee: Nokia Solutions and Networks Oy
H04L47/122H04L47/29H04L47/326H04L47/521
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 11,895,029
App. No.
17/548,451
Granted
Feb 6, 2024
Kind
B2
Abstract

Systems and methods for protecting external memory resources to prevent bandwidth collapse in a network processor. One embodiment is a network processor including an input port configured to receive packets from a source device, on-chip memory configured to store packets in queues, and external memory configured to provide a backing store to the on-chip memory. The network processor also includes a processor configured, in response to determining that the source device is unresponsive to a congestion notification, to reduce a size of one or more queues to prevent packets transferring from the on-chip memory to the external memory.

Claims (47)

1. An apparatus, comprising:

on-chip memory configured to store packets in queues; and

a processor configured to, in response to determining that a source device is unresponsive to a congestion notification, reduce a size of one or more queues to prevent packets transferring from the on-chip memory to an external memory.

2. The apparatus of claim 1 , wherein the processor is configured to:

send the congestion notification to the source device by applying a bandwidth utilization of the external memory as an input parameter to a Random Early Discard (RED) profile.

3. The apparatus of claim 2 , wherein the processor is configured to:

determine that the source device is unresponsive to the congestion notification based on an increase in the bandwidth utilization of the external memory after sending the congestion notification.

4. The apparatus of claim 1 , wherein the processor is configured to:

initiate sending the congestion notification to the source device based on a first threshold of the bandwidth utilization being exceeded; and

initiate selecting queues to reduce in size based on a second threshold of the bandwidth utilization, which is higher than the first threshold, being exceeded.

5. The apparatus of claim 1 , wherein the processor is configured to:

reduce the size of the one or more queues in response to applying a Random Early Discard (RED) profile to preemptively select queues based on bandwidth utilization of the external memory.

6. The apparatus of claim 1 , wherein the processor is configured to:

reduce the size of the one or more queues in response to detecting that the one or more queues have hit a maximum depth.

7. The apparatus of claim 1 , wherein the congestion notification includes one of an explicit congestion notification and packet drop via Random Early Discard (RED).

8. A method, comprising:

storing, in on-chip memory, packets in queues; and

in response to determining that a source device is unresponsive to a congestion notification, reducing a size of one or more queues to prevent packets transferring from the on-chip memory to an external memory.

9. The method of claim 8 , further comprising:

sending the congestion notification to the source device by applying a bandwidth utilization of the external memory as an input parameter to a Random Early Discard (RED) profile.

10. The method of claim 9 , further comprising:

determining the source device is unresponsive to the congestion notification based on an increase in the bandwidth utilization of the external memory after sending the congestion notification.

11. The method of claim 8 , further comprising:

initiating the congestion notification to the source device based on a first threshold of the bandwidth utilization being exceeded; and

initiating selecting queues to reduce in size based on a second threshold of the bandwidth utilization, which is higher than the first threshold, being exceeded.

12. The method of claim 8 , further comprising:

reducing the size of the one or more queues in response to applying a Random Early Discard (RED) profile to preemptively select queues based on bandwidth utilization of the external memory.

13. The method of claim 8 , further comprising:

reducing the size of the one or more queues in response to detecting that the one or more queues have hit a maximum depth.

14. A non-transitory computer readable medium including computer program instructions which, when executed by an apparatus, cause the apparatus at least to:

store, in on-chip memory, packets in queues; and

in response to determining that a source device is unresponsive to a congestion notification, reducing a size of one or more queues to prevent packets transferring from the on-chip memory to an external memory.

15. The non-transitory computer readable medium of claim wherein the computer program instructions, when executed by the apparatus, cause the apparatus at least to:

send the congestion notification to the source device by applying a bandwidth utilization of the external memory as an input parameter to a Random Early Discard (RED) profile.

16. The non-transitory computer readable medium of claim 15 , wherein the computer program instructions, when executed by the apparatus, cause the apparatus at least to:

determine that the source device is unresponsive to the congestion notification based on an increase in the bandwidth utilization of the external memory after sending the congestion notification.

17. The non-transitory computer readable medium of claim wherein the computer program instructions, when executed by the apparatus, cause the apparatus at least to:

initiate the congestion notification to the source device based on a first threshold of the bandwidth utilization being exceeded; and

initiate selecting queues to reduce in size based on a second threshold of the bandwidth utilization, which is higher than the first threshold, being exceeded.

18. The non-transitory computer readable medium of claim wherein the computer program instructions, when executed by the apparatus, cause the apparatus at least to:

reduce the size of the one or more queues in response to applying a Random Early Discard (RED) profile to preemptively select queues based on bandwidth utilization of the external memory.

19. The non-transitory computer readable medium of claim 14 , wherein the computer program instructions, when executed by the apparatus, cause the apparatus at least to:

reduce the size of the one or more queues in response to detecting that the one or more queues have hit a maximum depth.

20. The non-transitory computer readable medium of claim 14 , wherein the congestion notification includes one of an explicit congestion notification and packet drop via Random Early Discard (RED).

21. An apparatus, comprising:

a first memory configured to store packets in queues; and

a processor configured to, in response to determining that a source device is unresponsive to a congestion notification, reduce a size of one or more queues to prevent packets transferring from the first memory to a second memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: ZYZYX, INC.
To: NOKIA SOLUTIONS AND NETWORKS OY
Reel/Frame 060280/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2021
From: ALLEYNE, BRIAN; CAVUOTI, MATIAS; EGAN, LI-CHUAN; DANNHARDT, MIMI; SUBRAMANI, KRISHNAN; USMAN, MOHAMED ABDUL MALICK MOHAMED; GANJI, ROXANNA; RUSSELL, STEPHEN
To: ZYZYX, INC.
Reel/Frame 058372/0721 →
Continuity (1)
Related Publication 20230188467A1 · Jun 15, 2023