Methods and apparatus for flow control associated with a switch fabric
US-10616143-B2 · Apr 7, 2020 · US
US11711319B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11711319-B2 |
| Application number | US-202016801931-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 26, 2020 |
| Priority date | Dec 1, 2010 |
| Publication date | Jul 25, 2023 |
| Grant date | Jul 25, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In some embodiments, an apparatus includes a flow control module configured to receive a first data packet from an output queue of a stage of a multi-stage switch at a first rate when an available capacity of the output queue crosses a first threshold. The flow control module is configured to receive a second data packet from the output queue of the stage of the multi-stage switch at a second rate when the available capacity of the output queue crosses a second threshold. The flow control module configured to send a flow control signal to an edge device of the multi-stage switch from which the first data packet or the second data packet entered the multi-stage switch.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: sending, by an edge device, a data packet to a switch module that is from a plurality of switch modules in a multi-stage switch and that receives a data packet request from a flow control module; in response to the data packet request being received at the switch module: receiving, at the edge device, a first flow control signal from the flow control module including a severity value when an available capacity of an output queue of the switch module is above a first threshold and a second threshold but not a third threshold, the severity value indicating a level of congestion at the output queue; determining, based on the first flow control signal by the edge device, an identifier of a source peripheral processing device that originated the data packet; and sending, from the edge device to the source peripheral processing device and based on the identifier, a second flow control signal such that the source peripheral processing device modifies data transmission to the edge device to reduce the level of congestion at the output queue. 2. The method of claim 1 , wherein the second flow control signal includes an instruction to cause the source peripheral processing device to modify data transmission to the edge device by suspending the data transmission. 3. The method of claim 1 , further comprising: receiving the first flow control signal in a first flow control protocol, and sending the second flow control signal in a second flow control protocol different from the first flow control protocol. 4. The method of claim 3 , wherein the first flow control protocol is Ethernet pause, priority pause, quantized congestion notification, or quantum flow control. 5. The method of claim 1 , further comprising: receiving the first flow control signal via an out-of-band control plane connection. 6. The method of claim 1 , further comprising: receiving the first flow control signal within a data plane, via which the data packet is sent to the switch module of the multi-stage switch. 7. The method of claim 1 , wherein each stage of the multi-stage switch includes at least two switch modules that each include a plurality of ports. 8. The method of claim 1 , wherein the first flow control signal is transmitted through the multi-stage switch to the edge device before the data packet is transmitted through the multi-stage switch from the edge device. 9. The method of claim 1 , wherein: when the available capacity of the output queue of the switch module decreases, a data packet sampling rate from the output queue increases to determine the level of congestion at the output queue. 10. An apparatus, comprising: a memory; and a processor operatively coupled to the memory, the processor is configured to: send a data packet from an edge device to a switch module that is from a plurality of switch modules in a multi-stage switch and that receives a data packet request from a flow control module; in response to the data packet request being received at the switch module: receive, at the edge device, a first flow control signal from the flow control module when an available capacity of an output queue of the switch module is above a first threshold but not a second threshold and a third threshold, determine, based on the first flow control signal and by the edge device, an identifier of a source peripheral processing device that originated the data packet; and send, from the edge device to the source peripheral processing device and based on the identifier, a second flow control signal such that the source peripheral processing device reduces data transmission to the edge device to reduce a level of congestion at the output queue. 11. The apparatus of claim 10 , wherein: the processor is configured to send the second flow control signal such that the source peripheral processing device reduces data transmission by suspending the data transmission for a period of time. 12. The apparatus of claim 10 , wherein: the processor is configured to receive the first flow control signal in a first flow control protocol, and the processor is configured to send the second flow control signal in a second flow control protocol different from the first flow control protocol. 13. The apparatus of claim 12 , wherein the first flow control protocol is Ethernet pause, priority pause, quantized congestion notification, or quantum flow control. 14. The apparatus of claim 10 , wherein: the processor is configured to receive the first flow control signal via an out-of-band control plane connection. 15. The apparatus of claim 10 , wherein: the processor is configured to receive the first flow control signal within a data plane, via which the data packet is sent to the switch module of the multi-stage switch. 16. The apparatus of claim 10 , wherein the multi-stage switch includes at least three stages of switch modules that are included in the plurality of switch modules, each stage of switch modules from the at least three stages of switch modules including at least two switch modules that each include a plurality of ports. 17. A method, comprising: receiving, at a first switch module included in a plurality of first switch modules of a first stage of a distributed switch fabric, a plurality of data packets from a plurality of second switch modules of a second stage of the distributed switch fabric, each switch module from the plurality of first switch modules and the plurality of second switch modules including a plurality of ports; storing the plurality of data packets in an output queue of the first switch module; and when an available capacity of the output queue (1) is above a first threshold but not a second threshold and a third threshold and (2) a data packet request is received at the first switch module from an flow control processor, sending a data packet from the plurality of data packets in the output queue (1) to the flow control processor; send, via the flow control processor, a first flow control signal to a source edge device associated with the data packet using a first flow control protocol; and send, via the source edge device, a second flow control signal to a source peripheral processing device associated with the data packet using a second flow control protocol. 18. The method of claim 17 , further comprising: randomly selecting the data packet from the plurality of data packets in the output queue prior to sending the data packet to the flow control processor. 19. The method of claim 17 , further comprising: selecting the data packet from the plurality of data packets in the output queue based on a time at which the first switch module receives the data packet request from the flow control processor. 20. The method of claim 17 , wherein the flow control processor sends the first flow control signal to the source edge device via an out-of-band control plane connection.
using explicit feedback to the source, e.g. choke packets · CPC title
Backpressure · CPC title
using a combination of thresholds · CPC title
Non-blocking multistage, e.g. Clos · CPC title
Centralised controller, i.e. arbitration or scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.