Back to results
US 7,073,005 B1Granted
Multiple concurrent dequeue arbiters
AssigneeJuniper Networks, Inc.
InventorsDebashis Basu, Avanindra Godbole
Life of this patent
Estimating the term…
Abstract
Plural arbiters arbitrate over a set of queues. The arbiters are constructed as a series of pipelined stages. Conflict detection logic detects conflicts among the arbiters in arbitrating across the queues, and, when a conflict is detected, the conflict detection logic alters processing related to conflicting queues in one arbiter when another arbiter has not passed a predetermined commit point in processing the queue.
Claims26
A system comprising:
- a plurality of arbiters that each simultaneously arbitrate among common elements of a resource, the plurality of arbiters each being implemented as a series of pipeline stages;
- and
- conflict logic configured to detect conflicts among the plurality of arbiters accessing the elements of the resource, and, when a conflict is detected, the conflict logic is configured to alter processing relating to the conflict in one of the conflicting arbiters when the processing relating to the conflict has not passed a predetermined stage in the pipeline corresponding to the one of the conflicting arbiters.
A device comprising:
- means for detecting conflicts among a plurality of arbiters that arbitrate among a plurality of queues, each of the plurality of arbiters being implemented as a series of pipeline stages;
- means for determining, when conflicts are detected by the means for detecting, whether one of the conflicting arbiters has reached an arbitration point beyond a predetermined commit point, defined by a predetermined stage in the series of pipeline stages of the one of the conflicting arbiter;
- and
- means for invalidating processing relating to the conflict in the one arbiter when the one arbiter is not beyond the commit point.
1 more element
A method comprising:
- examining a plurality of arbiters that arbitrate among a plurality of queues for conflicts among the plurality of arbiters in arbitrating the plurality of queues, each of the plurality of arbiters performing a respective arbitration operation in a plurality of sequential arbitration stages;
- determining, when conflicts occur in arbitrating the plurality of queues, whether one of the conflicting arbiters has reached an arbitration point beyond a predetermined commit point defined as a predetermined arbitration stage in the plurality of sequential arbitration stages;
- and
- invalidating processing in the one arbiter related to the conflict when the one arbiter is not beyond the commit point.
1 more element
A device comprising:
- a plurality of queues;
- a first arbiter configured to select from among the plurality of queues and to receive data items from the selected queue;
- a second arbiter configured to monitor the plurality of queues for congestion and to drop data items from congested queues;
- and
- conflict detection logic coupled to the plurality of queues, the first arbiter, and the second arbiter, the conflict detection logic detecting conflicts between the first and second arbiters in arbitrating the plurality of queues, and, when a conflict is detected, altering processing relating to the conflict in the second arbiter when the second arbiter has not passed a predetermined commit point in processing a queue, the commit point being defined as a predetermined processing stage of arbitration processing of the second arbiter.
2 more elements
A network device comprising:
- a plurality of processing elements, the processing elements transmitting data items to one another and transmitting the data items to destinations external to the network device, the processing elements including
- a plurality of queues configured to store the data items before transmission of the data items,
- a plurality of arbiters that independently arbitrate among data items in the queues, each of the plurality of arbiters being implemented as a series of pipeline stages, and
- conflict logic configured to detect conflicts among the plurality of arbiters in accessing the queues, and, when a conflict is detected, the conflict logic is configured to clear processing relating to the conflict in one of the conflicting arbiters when the one of the conflicting arbiters has not passed a predetermined commit point, defined by a predetermined stage in the series of pipeline stages in the one of the conflicting arbiters.
1 more element
Dependencies are inferred from the claim text.