Generating and merging lookup results to apply multiple features
First Claim
1. An apparatus configured to substantially simultaneously perform multiple lookup operations on associative memory entries and then on their corresponding adjunct memory entries in identifying a merged lookup result, the apparatus comprising:
- a first plurality of associative memory entries and corresponding adjunct memory values programmed to implement a first set of access list control entries corresponding to a first feature of a plurality of access control list entries; and
a second plurality of associative memory entries and corresponding adjunct memory values programmed to implement a second set of access list control entries corresponding to a second feature of the plurality of access control list entries;
wherein said apparatus is configured to substantially simultaneously perform lookup operations based on a lookup value in the first plurality of associative memory entries and in the second plurality of associative memory entries in order to generate a plurality of associative memory lookup results which are used to retrieve corresponding results from said corresponding adjunct memory values; and
a combiner configured to receive and merge said corresponding results generated substantially simultaneously in order to identify the merged lookup result.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, and other mechanisms are disclosed for merging lookup results, such as from one or more associative memory banks and/or memory devices. In one exemplary implementation, multiple associative memories or associative memory banks are configured to substantially simultaneously generate a plurality of lookup results based on a lookup value. Multiple memories are each configured to generate a corresponding result based on the lookup result generated by its corresponding associative memory or associative memory bank. A combiner is configured to receive and merge these corresponding results generated substantially simultaneously in order to identify the merged lookup result.
101 Citations
120 Claims
-
1. An apparatus configured to substantially simultaneously perform multiple lookup operations on associative memory entries and then on their corresponding adjunct memory entries in identifying a merged lookup result, the apparatus comprising:
-
a first plurality of associative memory entries and corresponding adjunct memory values programmed to implement a first set of access list control entries corresponding to a first feature of a plurality of access control list entries; and
a second plurality of associative memory entries and corresponding adjunct memory values programmed to implement a second set of access list control entries corresponding to a second feature of the plurality of access control list entries;
wherein said apparatus is configured to substantially simultaneously perform lookup operations based on a lookup value in the first plurality of associative memory entries and in the second plurality of associative memory entries in order to generate a plurality of associative memory lookup results which are used to retrieve corresponding results from said corresponding adjunct memory values; and
a combiner configured to receive and merge said corresponding results generated substantially simultaneously in order to identify the merged lookup result. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus configured to substantially simultaneously perform multiple lookup operations on associative memory entries and then on their corresponding adjunct memory entries in identifying a merged lookup result, the apparatus comprising:
-
a plurality of associative memories configured to substantially simultaneously generate a plurality of lookup results based on a lookup value;
a plurality of memories;
wherein each of the plurality of memories is communicatively coupled to one of the plurality of associative memories, and is configured to generate a corresponding result based on said lookup result generated by said associative memory to which it is communicatively coupled; and
a combiner configured to receive and merge said corresponding results generated substantially simultaneously in order to identify the merged lookup result. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. An apparatus configured to substantially simultaneously perform multiple lookup operations on associative memory entries and then on their corresponding adjunct memory entries in identifying a merged lookup result, the apparatus comprising:
-
a plurality of associative memories banks configured to substantially simultaneously generate a plurality of lookup results based on a lookup value;
a plurality of memories;
wherein each of the plurality of memories is communicatively coupled to one of the plurality of associative memory banks, and is configured to generate a corresponding result based on said lookup result generated by said associative memory to which it is communicatively coupled; and
a combiner configured to receive and merge said corresponding results generated substantially simultaneously in order to identify the merged lookup result. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for identifying a merged lookup result, the method comprising:
-
determining a lookup value based on one or more fields extracted from a packet;
performing substantially simultaneous lookup operations in a plurality of associative memories to generate a plurality of associative memory results, and performing lookup operations in corresponding adjunct memories based on the plurality of associative memory results to generate a plurality of lookup results;
merging the plurality of lookup results to identify the merged result; and
processing the packet based on the merged lookup result. - View Dependent Claims (18, 19, 120, 21)
-
-
22. An apparatus for identifying a merged lookup result, the apparatus comprising:
-
means for determining a lookup value based on one or more fields extracted from a packet;
means for performing substantially simultaneous lookup operations in a plurality of associative memories to generate a plurality of associative memory results;
means for performing lookup operations in corresponding adjunct memories based on the plurality of associative memory results to generate a plurality of lookup results;
means for merging the plurality of lookup results to identify the merged result; and
means for processing the packet based on the merged lookup result. - View Dependent Claims (23, 24, 25, 26)
-
Specification