Patent ID: 8102858

Claim:
A reorder engine for reordering a plurality of out-of-order data items, received from a plurality of sources, to correspond to a transmitted order from each of the plurality of sources, the reorder engine comprising: a plurality of sets of context memories operatively coupled to a plurality of pipelined stages, where one of the plurality of sets of context memories stores state information associated with a state of reordering of data items transmitted by one of the plurality of sources; and a pipeline that includes the plurality of pipelined stages, the pipeline to: receive a data item, determine a particular source, of the plurality of sources, from which the data item was transmitted, based on source identification information obtained from the data item or based on source identification information read from one or more context memories of the plurality of sets of context memories, identify a particular set of context memories, of the plurality of context memories, based on the determination of the particular source, of the plurality of sources, and determine a position for the data item, relative to other data items transmitted by the particular source, of the plurality of sources, based on particular state information obtained from at least one context memory of the particular set of context memories, and order the data item, based on the determined position for the data item, with respect to the other data items transmitted by the particular source of the plurality of sources.