Back to results
US 7,606,248 B1Granted
Method and apparatus for using multiple network processors to achieve higher performance networking applications
AssigneeAltera Corporation
InventorsGreg Maturi, Neil Mammen, Sagar Edara, Mammen Thomas
Life of this patent
Estimating the term…
Abstract
An apparatus is described having a plurality of network processors that identify, for each of a plurality of packets, which multidimensional queue from amongst a plurality of multidimensional queues that each one of the plurality of packets should be enqueued into. Each of the network processors is able to identify a particular multidimensional queue for a different one of the plurality of packets.
Claims54
A method, comprising:
- a) classifying a plurality of packets with a plurality of network processors, each of said network processors classifying a different packet of said plurality of packets by examining look-up information stored in one of a plurality of look-up resources coupled thereto, with the look-up information contained in each of said plurality of look-up resources being the same and with the look-up resource coupled to one of the plurality of network processors differing from the look-up resource coupled to the remaining network processors of the plurality of network processors, the classifying including identification of a queue from amongst a plurality of queues for queuing the different packet;
- b) storing different pieces of the different packet into different memory units, each of said different memory units being managed by corresponding memory controllers, wherein each of said different memory units corresponds to a different dimension of each queue amongst the plurality of queues;
- and
- c) distributing header information units to the plurality of network processors prior to said classifying, each header information unit comprising header information from one of said plurality of packets.
1 more element
A method, comprising:
- a) classifying a plurality of packets with a plurality of network processors, each of said network processors classifying a different packet of said plurality of packets by examining look-up information stored in one of a plurality of look-up resources coupled thereto, with the look-up information contained in each of said plurality of look-up resources being the same and with the look-up resource coupled to one of the plurality of network processors differing from the look-up resource coupled to the remaining network processors of the plurality of network processors, the classifying including identification of a queue from amongst a plurality of queues for queuing each packet;
- b) storing different pieces of a first packet of said plurality packets into different memory units of a plurality of memory units, each of said different memory units being managed by corresponding memory controllers, wherein each of said different memory units corresponds to a different dimension of each queue amongst the plurality of queues;
- and
- c) storing different pieces of a second packet of said plurality of packets into different memory units of said plurality of memory units, wherein a last piece of the first packet and a first piece of the second packet share a same memory unit after said storings, resulting in different memory controllers managing the first piece of the second packet and a remainder of the second packet.
1 more element
An apparatus, comprising:
- a plurality of memory units managed by corresponding memory controllers;
- a plurality of queues;
- and
- a plurality of network processors that classify a plurality of packets, each of said network processors classifying a different packet of said plurality of packets by examining look-up information stored in one of a plurality of look-up resources coupled thereto, with the look-up information contained in each of said plurality of look-up resources being the same and with the look-up resource coupled to one of the plurality of network processors differing from the look-up resource coupled to the remaining network processors of the plurality of network processors, the classification including identification of a queue from the plurality of queues for queuing the different packet;
- wherein different pieces of the different packet are stored into different memory units, each of said different memory units corresponding to a different dimension of each queue amongst the plurality of queues;
- wherein header information units are distributed to the plurality of network processors prior to said classification, each header information unit comprising header information from one of said plurality of packets.
3 more elements
A method, comprising:
- a) distributing header information units to a plurality of network processors, each header information unit comprising header information from one of a plurality of packets;
- b) classifying the plurality of packets with the plurality of network processors, each of said network processors classifying a different packet of said plurality of packets by examining look-up information stored in one of a plurality of look-up resources coupled thereto, with the look-up information contained in each of said plurality of look-up resources being the same and with the look-up resource coupled to one of the plurality of network processors differing from the look-up resource coupled to the remaining network processors of the plurality of network processors, the classifying including identification of a queue from amongst a plurality of queues for queuing the different packet;
- and
- c) storing different pieces of one of said packets into different memory units, each of said different memory units being coupled to a different one of said network processors, wherein a last piece of a first packet and a first piece of a second packet share a same memory unit after being stored resulting in different memory controllers managing the first piece of the second packet and a remainder of the second packet, wherein each of said different memory units corresponds to a different dimension of each queue amongst the plurality of queues.
1 more element
An apparatus, comprising:
- a plurality of network processors that identify, for each of a plurality of packets, which multidimensional queue from amongst a plurality of multidimensional queues that each one of said plurality of packets should be enqueued into, each of said network processors able to identify a particular multidimensional queue for a different one of said plurality of packets, each of said network processors classifying a different packet of said plurality of packets by examining look-up information stored in one of a plurality of look-up resources coupled thereto, with the look-up information contained in each of said plurality of look-up resources being the same and with the look-up resource coupled to one of the plurality of network processors differing from the look-up resource coupled to the remaining network processors of the plurality of network processors, wherein a last piece of a first packet and a first piece of a second packet share a same memory unit within a multidimensional queue, resulting in different memory controllers managing the first piece of the second packet and a remainder of the second packet, wherein each dimension of the plurality of multidimensional queues corresponds to a different memory controller.
Dependencies are inferred from the claim text.