Patent ID: 7493392

Claim:
A method of assembling data within a framer for virtual concatenation, comprising: receiving a set of unassembled data from a physical layer, which translates signals received from a transmission line, the framer being coupled to a network processor, wherein the framer is configured to deframe data for reception by the network processor, and wherein each unassembled data of the set of unassembled data includes an associated virtual container number and a sequence number, wherein the set of unassembled data arrives at the framer out of order relative to what the network processor expects; storing the set of unassembled data in an auxiliary memory in storage locations specified by the virtual container numbers; storing a sequence lookup table that stores the virtual container numbers in a sorted order for a virtual container; generating addresses for reading the unassembled data from the storage locations within the auxiliary memory corresponding to the set of unassembled data of each of the virtual containers for virtual concatenation; storing the generated addresses in a sequence map in the sorted order, the sorted order established by the order of the virtual container numbers stored in the sequence lookup table; reading the unassembled data out of the auxiliary memory in the sorted order at the addresses generated based on the sequence map; interleaving the unassembled data to form properly ordered data by physically re-ordering the unassembled data using the sequence numbers, wherein the properly ordered data is in an in-order-form relative to what the network processor expects, and wherein the in-order form is the same form of ordered data before transmission to the framer; and transmitting the properly ordered data to the network processor.