US 11,929,931 B2
Packet buffer spill-over in network devices
Rami Zemach, Givat Shapira (IL); Itay Peled, Hagor (IL); Jacob Jul Schroder, Lyngby (DK); Zvi Shmilovici Leib, Tel Aviv (IL); and Gideon Navon, Tel-Aviv (IL)
Assigned to Marvell Israel (M.I.S.L) Ltd., Yokneam (IL)
Filed by Marvell Israel (M.I.S.L) Ltd., Yokneam (IL)
Filed on Oct. 24, 2022, as Appl. No. 17/972,000.
Application 17/972,000 is a continuation of application No. 17/205,502, filed on Mar. 18, 2021, granted, now 11,483,244.
Claims priority of provisional application 62/991,431, filed on Mar. 18, 2020.
Prior Publication US 2023/0042709 A1, Feb. 9, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 47/122 (2022.01); H04L 47/33 (2022.01); H04L 47/52 (2022.01); H04L 47/722 (2022.01); H04L 49/90 (2022.01)
CPC H04L 47/122 (2013.01) [H04L 47/33 (2013.01); H04L 47/521 (2013.01); H04L 47/722 (2013.01); H04L 49/9078 (2013.01)] 23 Claims
OG exemplary drawing
 
1. A network device, comprising:
an internal packet memory;
one or more external packet memories, including a first external packet memory;
one or more ports configured to couple to the one or more external memories, the one or more ports including a first port coupled to the first external packet memory; and
a packet processor coupled to the first port, the packet processor configured to:
buffer packets received by the network device from one or more network links in the internal packet memory in a plurality of queues, including buffering packets in a first queue, among the plurality of queues,
in response to detecting congestion in the internal packet memory, selectively forward a group of multiple packets in the first queue from the internal packet memory to the first port to transfer the group of multiple packets to the first external memory so that the first queue is extended by storing the first queue across the internal packet memory and the first external packet memory,
maintain a data structure that indicates an ordering of packets in the first queue across the internal packet memory and the first external packet memory, and
use the data structure for determining an order of processing of packets in the first queue, including packets in the first queue that are transferred between the internal packet memory and the first external packet memory.