Generating and merging lookup results to apply multiple features
First Claim
1. An apparatus for identifying a merged lookup result, the apparatus comprising:
- a mechanism for generating a lookup value;
one or more associative memories for generating a plurality of associative memory results based on the lookup value, the plurality of associative memory results including at least one result from each of said one or more associative memories;
a one or more adjunct memories, coupled to said one or more associative memories, for performing lookup operations on said plurality of associative memory results to generate a plurality of lookup results; and
a combiner, coupled to said one or more adjunct memories, for merging the plurality of lookup results to generate the merged lookup result.
1 Assignment
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. An access list is identified. A first set of entries corresponding to a first feature of the access control list entries and a second set of entries corresponding to a second feature of the access control list entries are identified. First and second associative memory banks are programmed respectively based on the first and second sets of entries. Lookup operations are then typically performed substantially simultaneously on the first and second sets of associative memory entries programmed in the associative memory banks to generate multiple lookup results, with these results typically being identified directly, or via a lookup operation in an adjunct memory or other storage mechanism. These lookup results are then combined to generate a merged lookup result.
108 Citations
23 Claims
-
1. An apparatus for identifying a merged lookup result, the apparatus comprising:
-
a mechanism for generating a lookup value;
one or more associative memories for generating a plurality of associative memory results based on the lookup value, the plurality of associative memory results including at least one result from each of said one or more associative memories;
a one or more adjunct memories, coupled to said one or more associative memories, for performing lookup operations on said plurality of associative memory results to generate a plurality of lookup results; and
a combiner, coupled to said one or more adjunct memories, for merging the plurality of lookup results to generate the merged lookup result. - View Dependent Claims (2, 3)
-
-
4. A method for identifying a merged lookup result, the method comprising:
-
identifying an access control list including a plurality of access control list entries;
identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries;
programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entries identifying a second set of access control list entries corresponding to a first feature of said plurality of access control list entries; and
programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries;
wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A method for identifying a merged lookup result, the method comprising:
-
identifying a packet;
identify a first lookup value;
performing substantially simultaneous lookup operations in a plurality of associative memories and adjunct memories to generate a plurality of first lookup results;
merge the plurality of first lookup results to identify a merged first result;
identify a second lookup value;
performing substantially simultaneous lookup operations in the plurality of associative memories and adjunct memories to generate a plurality of second lookup results; and
merge the plurality of second lookup results and the merged first result to identify a merged second result. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-readable medium containing computer-executable instructions for performing steps for identifying a merged lookup result, said steps comprising:
-
identifying an access control list including a plurality of access control list entries;
identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries;
programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entries identifying a second set of access control list entries corresponding to a first feature of said plurality of access control list entries; and
programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries;
wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries. - View Dependent Claims (16, 17, 18, 19)
-
-
20. An apparatus for identifying a merged lookup result, the apparatus comprising:
-
means for identifying an access control list including a plurality of access control identifying an access control list including a plurality of access control list entries;
means for identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries;
means for programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entries means for identifying a second set of access control list entries corresponding to a first feature of said plurality of access control list entries; and
means for programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries;
wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries. - View Dependent Claims (21)
-
-
22. An apparatus for identifying a merged lookup result, the apparatus comprising:
-
means for identifying a packet;
means for identify a first lookup value;
means for performing substantially simultaneous lookup operations in a plurality of associative memories and adjunct memories to generate a plurality of first lookup results;
means for merge the plurality of first lookup results to identify a merged first result;
means for identify a second lookup value;
means for performing substantially simultaneous lookup operations in the plurality of associative memories and adjunct memories to generate a plurality of second lookup results; and
means for merge the plurality of second lookup results and the merged first result to identify a merged second result. - View Dependent Claims (23)
-
Specification