Arbitrating virtual channel transmit queues in a switched fabric network
First Claim
Patent Images
1. An apparatus comprising:
- an event arbiter to select an event from at least one reported event;
an event identifier to identify information relating to the event and determine whether to generate an event reporting packet; and
a packet generator to generate the event reporting packet corresponding to the event; and
a mapping module to map the event reporting packet to a virtual channel on which to send the packet.
1 Assignment
0 Petitions
Accused Products
Abstract
A device in an AS fabric may include an event dispatch unit for generating event packets to be sent over the fabric to event handling agents. The AS device may arbitrate between different packets for the resources of a particular VC. The AS device may arbitrate between packets from different VCs downstream in the AS transaction layer while giving preference to high priority packets.
31 Citations
41 Claims
-
1. An apparatus comprising:
-
an event arbiter to select an event from at least one reported event;
an event identifier to identify information relating to the event and determine whether to generate an event reporting packet; and
a packet generator to generate the event reporting packet corresponding to the event; and
a mapping module to map the event reporting packet to a virtual channel on which to send the packet. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
receiving one or more events from one or more event reporting agents;
selecting one of the events;
identifying information relating to the event;
determining whether to generate an event reporting packet corresponding to the event;
generating the event reporting packet, the event reporting packet having a traffic class; and
mapping the traffic class of the event reporting packet to a virtual channel on which to send the packet. - View Dependent Claims (8, 9)
-
-
10. An article comprising a machine-readable medium including machine-executable instructions to cause a machine to:
-
receive one or more events from one or more event reporting agents;
select one of the events;
identify information relating to the event;
determine whether to generate an event reporting packet corresponding to the event;
generate the event reporting packet, the event reporting packet having a traffic class; and
map the traffic class of the event reporting packet to a virtual channel on which to send the packet. - View Dependent Claims (11, 12)
-
-
13. A system comprising:
-
a switched fabric; and
a node coupled to the switched fabric, the node including;
an event arbiter to select an event from one or more reported events;
an event identifier to identify information relating to the event and determine whether to generate an event reporting packet;
a packet generator to generate the event reporting packet corresponding to the event, the event reporting packet having a traffic class; and
a mapping module to map the traffic class of the event reporting packet to a virtual channel on which to send the packet. - View Dependent Claims (14)
-
-
15. An apparatus comprising:
-
a first queue corresponding to a virtual channel;
a second queue corresponding to the virtual channel;
a control unit to select a packet from one or more available packets, and determine if the packet is of a first type or a second type; and
a queue controller to receive the packet from the control unit, store the packet in the first queue if the packet is of the first type and the first queue is not full, and in response to the first queue being full, wait until the first queue is not full, and store the packet in the second queue if the packet is of the second type and the second queue is not full, and in response to the second queue being full, wait for a packet of the first type. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A method comprising:
-
selecting a packet from one or more available packets for a virtual channel;
determining if the packet is of a first type or a second type;
storing the packet in a first queue if the packet is of the first type and the first queue is not full, and in response to the first queue being full, waiting until the first queue is not full; and
storing the packet in a second queue if the packet is of the second type and the second queue is not full, and in response to the second queue being full, waiting for a packet of the first type. - View Dependent Claims (21, 22, 23)
-
-
24. An article comprising a machine-medium including machine-executable instructions to cause a machine to:
-
select a packet from one or more available packets for a virtual channel;
determine if the packet is of a first type or a second type;
store the packet in a first queue if the packet is of the first type and the first queue is not full, and in response to the first queue being full, waiting until the first queue is not full; and
store the packet in a second queue if the packet is of the second type and the second queue is not full, and in response to the second queue being full, waiting for a packet of the first type. - View Dependent Claims (25)
-
-
26. A system comprising:
-
a switched fabric; and
a node coupled to the switched fabric, the node including;
a first queue corresponding to a virtual channel;
a second queue corresponding to the virtual channel;
a control unit to select a packet from one or more available packets, and determine if the packet is of a first type or a second type; and
a queue controller to receive the packet from the control unit, store the packet in the first queue if the packet is of the first type and the first queue is not full, and in response to the first queue being full, wait until the first queue is not full, and store the packet in the second queue if the packet is of the second type and the second queue is not full, and in response to the second queue being full, wait for a packet of the first type. - View Dependent Claims (27)
-
-
28. An apparatus comprising:
-
an interface to receive a plurality of packets from a plurality of packet queues, each packet queue corresponding to one virtual channel; and
a packet arbiter to determine if the plurality of packets include one or more high priority packets, and to select from the high priority packets until said high priority packets are exhausted. - View Dependent Claims (29, 30, 31, 32, 33)
-
-
34. A method comprising:
-
receiving a plurality of packets from a plurality of packet queues, each packet queue corresponding to one virtual channel;
determining if the plurality of packets include one or more high priority packets; and
selecting from the high priority packets until said high priority packets are exhausted. - View Dependent Claims (35, 36, 37)
-
-
38. An article comprising a machine-readable medium including machine-executable instructions to cause a machine to:
-
receive a plurality of packets from a plurality of packet queues, each packet queue corresponding to one virtual channel;
determine if the plurality of packets include one or more high priority packets; and
select from the high priority packets until said high priority packets are exhausted. - View Dependent Claims (39)
-
-
40. A system comprising:
-
a switched fabric; and
a node coupled to the switched fabric, the node including;
an interface to receive a plurality of packets from a plurality of packet queues, each packet queue corresponding to one virtual channel; and
a packet arbiter to determine if the plurality of packets include one or more high priority packets, and to select from the high priority packets until said high priority packets are exhausted. - View Dependent Claims (41)
-
Specification