Methods and apparatus for flow control associated with multi-staged queues
First Claim
1. A method, comprising:
- defining a suspension time value representing a period of time for suspending transmission of data between a queue within a transmit side of a first stage of queues and a queue within a receive side of the first stage of queues; and
sending, from a flow control module on a receive side of a physical link, a flow control signal to a flow control module on the transmit side of the physical link, the flow control signal configured to suspend transmission of data from the queue within the transmit side of the first stage of queues based on the suspension of time value, the flow control signal being associated with a first control loop and not a second flow control loop, the first control loop including the first stage of queues, a second stage of queues, and the physical link, the second control loop including the second stage of queues and the physical link and excludes the first stage of queues.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method, comprising receiving at a receive side of a physical link a request to suspend transmission of data from a queue within a transmit side of a first stage of queues and to suspend transmission via a path including the physical link, a portion of the first stage of queues, and a portion of a second stage of queues. The method includes sending, in response to the request, a flow control signal to a flow control module configured to schedule transmission of the data from the queue within the transmit side of the first stage of queues. The flow control signal is associated with a first control loop including the path and differing from a second control loop that excludes the first stage of queues.
113 Citations
20 Claims
-
1. A method, comprising:
-
defining a suspension time value representing a period of time for suspending transmission of data between a queue within a transmit side of a first stage of queues and a queue within a receive side of the first stage of queues; and sending, from a flow control module on a receive side of a physical link, a flow control signal to a flow control module on the transmit side of the physical link, the flow control signal configured to suspend transmission of data from the queue within the transmit side of the first stage of queues based on the suspension of time value, the flow control signal being associated with a first control loop and not a second flow control loop, the first control loop including the first stage of queues, a second stage of queues, and the physical link, the second control loop including the second stage of queues and the physical link and excludes the first stage of queues. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processor-readable non-transitory medium storing code representing instructions to cause a processor to perform a process, the code comprising code to:
-
receive from a receive side of a physical link a first flow control signal defined in response to a first data packet being received at a receive queue, the data packet including an identifier of a transmit queue disposed on a transmit side of the physical link, the first flow control signal including the identifier of the transmit queue and a first suspension time value associated with the identifier of the transmit queue; receive from the receive side of the physical link a second flow control signal including a second suspension time value associated with the identifier of the transmit queue; and suspend transmission of a second data packet at the transmit queue for a suspension time period based on the first suspension time value and the second suspension time value. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method, comprising:
-
receiving a first request to suspend transmission of a first data queued at a transmit queue included in a first stage of queues, the first request associated with the first data being defined based on an availability of a first receive queue included in the first stage of queues, the first data being queued for transmission via a transmission path including a transmit queue included in a second stage of queues disposed within the transmission path between the transmit queue included in the first stage of queues and the first receive queue included in the first stage of queues; receiving a second request to suspend transmission of a second data queued at the transmit queue included in the first stage of queues, the second request associated with the second data being defined based on an availability of a second receive queue included in the first stage of queues; and sending a flow control signal based on the first request and based on the second request, configured to trigger suspension of transmission of at least one of the first data or the second data such that data flow via the transmit queue included in the second stage is modified. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification