Patent ID: 7406080

Claim:
A method, comprising: receiving one or more data packets at an integrated chip having a processor thereon which processes and forwards data in data packets; determining a priority of each of the one or more received data packets via computer executable instructions executed by the processor, wherein each of the priorities is obtained from a control block of the corresponding data packet; determining if an on-chip buffer of a plurality of on-chip buffers for different priority located on the integrated chip, for the determined priority, has space available to store a header of the packet, for each received data packet; if space is available for the header, severing the header from the packet; storing the header in the on-chip; storing the remaining part of the packet in a corresponding off-chip buffer located external to the integrated chip; and writing data indicative of a location of the remaining part of the data packet in the off-chip buffer in the header; and if space is not available, storing the entire data packet in a corresponding off-chip buffer of a plurality of off-chip buffers for the different priority; and continuously checking a status of the on-chip buffer, and when space becomes available, severing the header from the packet; storing the header in the on-chip buffer; storing the remaining part of the packet in the corresponding off-chip buffer located external to the integrated chip; and writing data indicative of a location of the remaining part of the data packet in the off-chip buffer in the header; and processing the data packet by delivering any data of the data packet that is stored in the off-chip buffer to the processor, which processes and forwards the data packet to a destination external to the integrated chip.