Transaction selector employing transaction queue group priorities in multi-port switch
First Claim
1. A switch, comprising:
- a network; and
a plurality of ports, each coupled to receive transactions from others of said plurality of ports via said network, each of said ports comprising;
a port interface, configured to transmit said transactions to a device coupled to said port;
N transaction queues configured to receive said transactions from said network, wherein each of the N transaction queues belongs to one of G groups, each of the G groups having a group priority for transmitting transactions relative to other groups, the group priority being one of P group priorities; and
a transaction selector, coupled to said port interface and to said N transaction queues, configured to select a particular transaction queue of the N transaction queues, for transmitting a transaction out of the port interface, the transaction selector comprising;
G round-robin generators, corresponding to the respective ones of the G groups, each round robin generator having N bits corresponding to the N transaction queues, configured to receive an indication corresponding to a last one of the N transaction queues selected for transmitting out the port at a corresponding one of the G groups, and configured to generate an N bit vector based on round robin logic and the received indication;
N G-input muxes, each coupled to receive a corresponding one of the generated N bits from each of the G round-robin generators, each mux configured to select for output one of the received G bits based on the corresponding transaction queue group priority; and
selection logic, configured to receive a transaction from each of the N transaction queues and to select for transmitting out of the port interface one of said N transactions based on a determined transmit value for each transaction queue,wherein the transmit value of each respective transaction queue is based on the output of the N G-input muxes, a value corresponding to whether the transaction corresponding to each transaction queue is transmittable, and the group priority of the group to which each respective transaction queue belongs.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for selecting one of a plurality of transaction queues from which to transmit a transaction out of a port of a switch. The apparatus includes a group indicator, for each of the queues, for indicating which one of a plurality of groups of the queues the queue belongs to. The apparatus also includes a group priority indicator, for each group of the plurality of groups, for indicating a priority of the group, the priority indicating a priority for transmitting transactions of the queues of the group relative to other groups of the plurality of groups. The apparatus includes selection logic, coupled to the group indicators and the priority indicators, configured to select a queue of the queues, for transmitting out of the port a transaction thereof, based on the group indicators and the group priority indicators.
143 Citations
7 Claims
-
1. A switch, comprising:
-
a network; and a plurality of ports, each coupled to receive transactions from others of said plurality of ports via said network, each of said ports comprising; a port interface, configured to transmit said transactions to a device coupled to said port; N transaction queues configured to receive said transactions from said network, wherein each of the N transaction queues belongs to one of G groups, each of the G groups having a group priority for transmitting transactions relative to other groups, the group priority being one of P group priorities; and a transaction selector, coupled to said port interface and to said N transaction queues, configured to select a particular transaction queue of the N transaction queues, for transmitting a transaction out of the port interface, the transaction selector comprising; G round-robin generators, corresponding to the respective ones of the G groups, each round robin generator having N bits corresponding to the N transaction queues, configured to receive an indication corresponding to a last one of the N transaction queues selected for transmitting out the port at a corresponding one of the G groups, and configured to generate an N bit vector based on round robin logic and the received indication; N G-input muxes, each coupled to receive a corresponding one of the generated N bits from each of the G round-robin generators, each mux configured to select for output one of the received G bits based on the corresponding transaction queue group priority; and selection logic, configured to receive a transaction from each of the N transaction queues and to select for transmitting out of the port interface one of said N transactions based on a determined transmit value for each transaction queue, wherein the transmit value of each respective transaction queue is based on the output of the N G-input muxes, a value corresponding to whether the transaction corresponding to each transaction queue is transmittable, and the group priority of the group to which each respective transaction queue belongs. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification