Method and apparatus for aggregating input data streams
First Claim
1. A method for aggregating data packets received from a first processor for a second processor, said method comprising:
- receiving an input data stream from the first processor using a data link having a first bandwidth, the input data stream comprising ingress data packets, each ingress data packet comprising at least one priority factor coded therein;
analyzing and classifying each of the ingress data packets into one of predetermined priority classes based on the at least one priority factor;
storing an analyzed data packet in a memory;
generating a packet descriptor for the analyzed ingress data packet, the packet descriptor containing a reference to a memory location of its analyzed data packet stored in the memory;
placing the packet descriptor in a priority queue corresponding to the priority class of the data packet;
arbitrating and selecting a packet descriptor from among the priority queues using selection logic implementing a queue scheme;
reading a data packet corresponding to the selected packet descriptor from the memory; and
sending the data packets read from the memory to the second processor using a second data link as an aggregated data stream, wherein the first bandwidth is greater than a second bandwidth of the second data link.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus aggregate a plurality of input data streams from first processors into one data stream for a second processor, the circuit and the first and second processors being provided on an electronic circuit substrate. The aggregation circuit includes (a) a plurality of ingress data ports, each ingress data port adapted to receive an input data stream from a corresponding first processor, each input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein, (b) an aggregation module coupled to the ingress data ports, adapted to analyze and combine the plurality of input data steams into one aggregated data stream in response to the priority factors, (c) a memory coupled to the aggregation module, adapted to store analyzed data packets, and (d) an output data port coupled to the aggregation module, adapted to output the aggregated data stream to the second processor.
-
Citations
14 Claims
-
1. A method for aggregating data packets received from a first processor for a second processor, said method comprising:
-
receiving an input data stream from the first processor using a data link having a first bandwidth, the input data stream comprising ingress data packets, each ingress data packet comprising at least one priority factor coded therein; analyzing and classifying each of the ingress data packets into one of predetermined priority classes based on the at least one priority factor; storing an analyzed data packet in a memory; generating a packet descriptor for the analyzed ingress data packet, the packet descriptor containing a reference to a memory location of its analyzed data packet stored in the memory; placing the packet descriptor in a priority queue corresponding to the priority class of the data packet; arbitrating and selecting a packet descriptor from among the priority queues using selection logic implementing a queue scheme; reading a data packet corresponding to the selected packet descriptor from the memory; and sending the data packets read from the memory to the second processor using a second data link as an aggregated data stream, wherein the first bandwidth is greater than a second bandwidth of the second data link. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification