Patent ID: 6778548
Filing Date: 2004-08-17
Classification: H04L

Abstract:
A device comprising:a plurality of micro-engines to receive payload data from a memory controller, determine if a task is available to process the payload data and assign a task to process the payload data; a transmit cell FIFO to build a packet header based on payload data received from the plurality of micro-engines or directly from a memory controller, store payload data in a buffer, transmit the packet header with the payload data when all the payload data has been received and to receive additional payload data from either the plurality of micro-engines or the memory controller when a predetermined amount of payload data has been transferred from the buffer, the transmit cell FIFO including buffer control logic to receive packet data from the memory controller and place it in a cell buffer FIFO and begin transmitting to a destination when the packet header and packet data have been received, the buffer control logic including: address and write enable logic to synchronize the receipt of the packet header from the plurality of micro-engines and the packet payload from the memory controller and place both the packet header and the packet payload into the cell buffer FIFO; cell buffer read logic to transfer the packet header and packet payload data from the cell buffer FIFO to a destination specified by the packet header; and cell buffer full logic to signal the plurality of micro-engines and memory controller that a buffer is available to receive another packet header and another packet payload data when a predetermined amount of the packet header has been transferred by the cell buffer read logic; and the transmit cell FIFO also including: a cell buffer byte alignment circuit to track a start lane in the cell buffer FIFO indicating the start of free space in the cell buffer FIFO, determine a starting lane for the packet payload so that alignment of the payload data matches the start lane for the cell buffer FIFO.