Patent ID: 7773602

Claim:
A system for resequencing received data packets comprising: a first means for storing each received data packet at an allocated location within said first means; a Content Address Memory having at least one entry comprising an identification field to contain a packet buffer identifier field to identify an allocated location in said first means and a search field to contain a source identifier of a source providing a received data packet, a priority level for said received data packet and a sequence number for said received data packet, wherein recited fields are concatenated; a plurality of source-priority registers each containing, a packet sequence number and a packet buffer identifier of a data packet previously transmitted from said first means; a plurality of valid-bit latches respectively associated to the plurality of source priority registers to set an active status to indicate that corresponding stored data packet is the next one in sequence; and a mechanism for comparing the packet sequence number of said received data packet with the packet sequence number contained within a pointed source-priority register to determine if said received data packet is to be output as the next data packet of the corresponding sequence of data packets; storing the source identifier, the priority level, and the packet sequence number with the packet buffer identifier for said received data packet in said Content Accessible Memory in response to determining that the packet sequence number of said received data packet is not to be output as the next data packet of the corresponding sequence of packets; searching said Content Addressable Memory for the packet sequence number after scheduling output of the next data packet of the corresponding sequence of packets; and updating said source-priority register with the packet sequence number of said received packet and the packet buffer identifier for said received data packet from the Content Accessible Memory.