Methods and apparatus for flow-controllable multi-staged queues
First Claim
Patent Images
1. A method, comprising:
- sending a first flow control signal based on data flow within a first flow control loop including (1) a first stage of transmit queues fanning into a second stage of transmit queues, (2) the second stage of transmit queues fanning into a physical link, and (3) the physical link;
defining a second flow control signal based on data flow within a second flow control loop including (1) the second stage of transmit queues, and (2) the physical link, and excluding the first stage of transmit queues, the second flow control signal including instructions to suspend transmission at a transmit queue from the second stage of transmit queues; and
sending the second flow control signal such that the transmit queue from the second stage of transmit queues suspends transmission in response to the second flow control,the first flow control signal includes an identifier of a transmit queue from the first stage of transmit queues and a suspension time value associated with the identifier of the transmit queue from the first stage of transmit queues,the suspension time value being based on a first request to suspend transmission at a receive queue associated with the first stage of transmit queues and a second request to suspend transmission at the receive queue.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes sending a first flow control signal to a first stage of transmit queues when a receive queue is in a congestion state. The method also includes sending a second flow control signal to a second stage of transmit queues different from the first stage of transmit queues when the receive queue is in the congestion state.
138 Citations
19 Claims
-
1. A method, comprising:
-
sending a first flow control signal based on data flow within a first flow control loop including (1) a first stage of transmit queues fanning into a second stage of transmit queues, (2) the second stage of transmit queues fanning into a physical link, and (3) the physical link; defining a second flow control signal based on data flow within a second flow control loop including (1) the second stage of transmit queues, and (2) the physical link, and excluding the first stage of transmit queues, the second flow control signal including instructions to suspend transmission at a transmit queue from the second stage of transmit queues; and sending the second flow control signal such that the transmit queue from the second stage of transmit queues suspends transmission in response to the second flow control, the first flow control signal includes an identifier of a transmit queue from the first stage of transmit queues and a suspension time value associated with the identifier of the transmit queue from the first stage of transmit queues, the suspension time value being based on a first request to suspend transmission at a receive queue associated with the first stage of transmit queues and a second request to suspend transmission at the receive queue. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory, processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
-
send a first flow control signal based on data flow within a first flow control loop including (1) a first stage of transmit queues fanning into a second stage of transmit queues, (2) the second stage of transmit queues fanning into a physical link, and (3) the physical link; define a second flow control signal based on data flow within a second flow control loop including (1) the second stage of transmit queues, and (2) the physical link, and excluding the first stage of transmit queues, the second flow control signal including instructions to suspend transmission at a transmit queue from the second stage of transmit queues; and send the second flow control signal such that the transmit queue from the second stage of transmit queues suspends transmission in response to the second flow control, the first flow control signal includes an identifier of a transmit queue from the first stage of transmit queues and a suspension time value associated with the identifier of the transmit queue from the first stage of transmit queues, the suspension time value being based on a first request to suspend transmission at as receive queue associated with the first stage of transmit queues and a second request to suspend transmission at the receive queue. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory, processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
-
send a first flow control signal based on data flow within a first flow control loop including (1) a first stage of transmit queues fanning into a second stage of transmit queues, (2) the second stage of transmit queues fanning into a physical link, and (3) the physical link; define a second flow control signal based on data flow within a second flow control loop including (1) the second stage of transmit queues, and (2)the physical link, and excluding the first stage of transmit queues, the second flow control signal including instructions to suspend transmission at a transmit queue from the second stage of transmit queues; and send the second flow control signal such that the transmit queue from the second stage of transmit queues suspends transmission in response to the second flow control, the first flow control loop includes (1) a first stage of receive queues fanning into a second stage of receive queues, and (2) the second stage of receive queues fanning into the physical link, and the second flow control loop includes the second stage of receive queues and does not include the first stage of receive queues. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification