Method and apparatus for dynamically resizing queues utilizing programmable partition pointers
First Claim
Patent Images
1. A method for modifying sizes of queues comprising the steps of:
- programming partition pointers to indicate an updated location of at least one partition boundary of at least one queue;
for each partition boundary to be updated;
checking states of the at least one queue affected by movement of the location of the partition boundary;
determining when it is safe to move each location of the partition boundary; and
when it is determined that it is safe to move the location of the partition boundary, updating the partition boundary to the updated location.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for dynamically resizing queues used in a network switch to accommodate potential congestion situations without experiencing data loss. In one embodiment, partition pointer registers are used to indicate when resizing is desirable. The control logic then determines when it is safe to update the size of the queue such that no data loss occurs and timely updates the queue size.
216 Citations
16 Claims
-
1. A method for modifying sizes of queues comprising the steps of:
-
programming partition pointers to indicate an updated location of at least one partition boundary of at least one queue; for each partition boundary to be updated; checking states of the at least one queue affected by movement of the location of the partition boundary; determining when it is safe to move each location of the partition boundary; and when it is determined that it is safe to move the location of the partition boundary, updating the partition boundary to the updated location. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus comprising:
-
a memory comprising at least one queue, each queue defined by partition boundaries; at least one partition pointer, each partition pointer identifying a location of a partition boundary; and control logic coupled to the memory and the at least one partition pointer, said control logic detecting when the at least one partition pointer is updated to a new location, determining when it is safe to move the partition boundary, and when it is safe to move the partition boundary, moving the partition boundary. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. In a switch coupled to a network, said switch comprising a plurality of output ports, each port comprising at least one queue utilized to control the buffering of data to be output through the output port, a method for dynamically resizing queues comprising the steps of:
-
determining when a queue needs to be resized; programming a partition pointer corresponding to a partition boundary of the queue to indicate an updated location of the partition boundary; checking states of at least one queue affected by movement of the location of the partition boundary; determining when it is safe to move the location of the partition boundary; and when it is determined that it is safe to move the location of the partition boundary, updating the partition boundary to the updated location. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification