Patent ID: 7826467

Claim:
A system for hierarchically storing packetized data and transferring the packetized data, the system comprising: an input configured to receive packets of data; a memory coupled to the input and configured to store the packets of data; an output coupled to the memory and configured to transfer the packets of data from the memory; and a controller coupled to the memory and configured to control the memory to store the packets of data, said memory having a plurality of N levels having a hierarchy for storage, each level having one or more queues (Q), and each queue (Q) having a plurality of queue group components each queue group component being associated with at least one of a logically-lower level and a logically-lower queue group, the packets of data being stored in one or more queues associated with a first level and one or more levels, wherein at least one of the queue group components in the group of queue group components of one or more queues at the first level of hierarchy includes a group of queue group components associated with one or more queues at a second level of the hierarchy that is different from the first level of the hierarchy; wherein the controller is configured to control the memory to store packets of data in N levels of the hierarchy, wherein N is greater than two, and wherein at least one queue group component in each level other than the two logically-lowest levels includes an association with at least one queue group in the respective level and one other queue group component associated with a logically-lower level; and wherein the controller is configured to determine a discard priority of each queue group component in the group of queue group components at the first level for packet discard selection, the discard priority being based on a discard value that varies directly with queue size of queues associated with the queue group components.