Method and apparatus for aggregating input data streams
First Claim
1. A circuit for aggregating a plurality of input data streams from first processors into one data stream for a second processor, said circuit comprising:
- a plurality of ingress data ports, each said ingress data port coupled to a corresponding first processor and adapted to receive an input data stream from the corresponding first processor, each input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein;
an aggregation module coupled to said plurality of ingress data ports and configured to receive the plurality of input data streams from the first processors using the plurality of ingress data ports, wherein an input data stream from a first processor is received via the ingress data port coupled to the first processor, said aggregation module adapted to analyze and combine the plurality of input data streams into one aggregated data stream in response to the priority factors and to generate a packet descriptor comprising a reference to a memory location of its analyzed data packet;
a memory coupled to said aggregation module, said memory adapted to store analyzed data packets;
said memory comprising a plurality of priority queues each provided for a corresponding priority class, adapted to store the packet descriptor of each of the analyzed data packets classified to the corresponding priority class, the packet descriptor containing a reference to the memory location of its analyzed data packet in said memory; and
an output data port coupled to said aggregation module, said output data port adapted to output the aggregated data stream to the second processor.
8 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.
268 Citations
48 Claims
-
1. A circuit for aggregating a plurality of input data streams from first processors into one data stream for a second processor, said circuit comprising:
-
a plurality of ingress data ports, each said ingress data port coupled to a corresponding first processor and adapted to receive an input data stream from the corresponding first processor, each input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein; an aggregation module coupled to said plurality of ingress data ports and configured to receive the plurality of input data streams from the first processors using the plurality of ingress data ports, wherein an input data stream from a first processor is received via the ingress data port coupled to the first processor, said aggregation module adapted to analyze and combine the plurality of input data streams into one aggregated data stream in response to the priority factors and to generate a packet descriptor comprising a reference to a memory location of its analyzed data packet; a memory coupled to said aggregation module, said memory adapted to store analyzed data packets; said memory comprising a plurality of priority queues each provided for a corresponding priority class, adapted to store the packet descriptor of each of the analyzed data packets classified to the corresponding priority class, the packet descriptor containing a reference to the memory location of its analyzed data packet in said memory; and an output data port coupled to said aggregation module, said output data port adapted to output the aggregated data stream to the second processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A circuit for aggregating an input data stream from a first processor into an aggregated data stream for a second processor, said circuit comprising:
-
a first data link adapted to receive the input data stream from the first processor, the first data link having a first bandwidth, the input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein; an aggregation module coupled to the first data link and adapted to receive the input data stream from the first processor via the first data link, said aggregation module adapted to analyze and selectively recombine the ingress data packets in response to the priority factors so as to generate an aggregated data; a memory coupled to said aggregation module, said memory adapted to store analyzed data packets; and a second data link coupled to said aggregation module, the second data link having a second bandwidth smaller than the first bandwidth, said second data link adapted to output the aggregated data stream from the aggregation module to the second processor. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. (canceled)
-
32. A method for aggregating a plurality of input data streams from first processors into one data stream for a second processor, said method comprising:
-
receiving an input data stream from each of the first processors, each input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein; analyzing and classifying each of the ingress data packets into one of predetermined priority classes based on the priority factors; 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 as an aggregated data stream. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A method for aggregating a plurality of input data streams from first processors into one data stream for a second processor, said method comprising:
-
providing, for each first processor, an analyzer corresponding to the first processor, the analyzer being separate from the first processor and located in a communication path between the first processor and the second processor; receiving an input data stream from each of the first processors, each input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein; generating an aggregated data stream by combining the plurality of input data streams into one aggregated data stream in response to the priority factors, the priority factors including an indication of whether the ingress packet contains protocol data or not, wherein the generating comprises, for each first processor, receiving the input data stream from the first processor at an analyzer corresponding to the first processor, and analyzing the input data stream received from the first processor using the analyzer to classify each of the ingress data packets into one of a plurality of priority classes based on the priority factors included in the ingress data packet; and outputting the aggregated data stream to the second processor.
-
-
47. A method for aggregating data packets, said method comprising:
-
receiving an input data stream from a first processor via a first data link having a first bandwidth, the input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein; generating an aggregated data stream by analyzing and selectively recombining the ingress data packets in response to the priority factors, the priority factors including an indication of whether the ingress packet contains protocol data or not; and outputting the aggregated data stream to a second processor via a second data link having a second bandwidth, wherein the first bandwidth is greater than the second bandwidth.
-
-
48-70. -70. (canceled)
Specification