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