Method and apparatus for dynamically generating lookup words for content-addressable memories
First Claim
1. A system comprising:
- a programmable lookup word generator to receive a set of information and to produce a lookup word, the programmable lookup word generator including;
a profile memory configured to store a set of instructions for generating the lookup word; and
a selection mechanism for selecting portions of the set of information in response to the set of instructions retrieved from the profile memory, the selection mechanism including a matrix of storage elements and shift logic for use in generating the lookup word; and
a content-addressable memory, coupled to the programmable lookup word generator, configured to receive said generated lookup word and to perform a lookup operation based on said generated lookup word in order to generate one or more lookup result indications.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for using a programmable lookup word generator to produce a lookup word for use by a content-addressable memory. The programmable lookup word generator includes a profile memory which contains instructions on how to build a particular lookup word. The programmable lookup word generator receives a set of information and possibly other operands typically including a profile selection. Based on the profile selection, a set of instructions is retrieved from the profile memory. Control logic uses this set of instructions to build the lookup word by extracting portions of the received information and other operands and ordering these extracted portions possibly with additional information to build the lookup word. The lookup word is then used by a CAM, typically to classify the received set of information and other operands. In one context, the CAM produces a packet classification indication in a communication or computer system.
-
Citations
24 Claims
-
1. A system comprising:
-
a programmable lookup word generator to receive a set of information and to produce a lookup word, the programmable lookup word generator including; a profile memory configured to store a set of instructions for generating the lookup word; and a selection mechanism for selecting portions of the set of information in response to the set of instructions retrieved from the profile memory, the selection mechanism including a matrix of storage elements and shift logic for use in generating the lookup word; and a content-addressable memory, coupled to the programmable lookup word generator, configured to receive said generated lookup word and to perform a lookup operation based on said generated lookup word in order to generate one or more lookup result indications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for generating a lookup word, the method comprising:
-
receiving a set of information including a profile identification; retrieving a set of instructions from a profile memory based on the profile identification; manipulating the set of information in response to the set of instructions to generate the lookup word, said manipulation including controlling a selection mechanism, the selection mechanism including a matrix of storage elements and shift logic for use in generating the lookup word; and exporting the lookup word to a content-addressable memory for use by said content-addressable memory in performing a lookup operation to identify one or more content-addressable memory lookup results. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system for generating a lookup word, the system comprising:
-
means for receiving a set of information including a profile identification; means for retrieving a set of instructions from a profile memory based on the profile identification; means for manipulating the set of information in response to the set of instructions to generate the lookup word, said means for manipulating the set of information includes a matrix of storage elements and shift logic for use in generating the lookup word; and means for exporting the generated lookup word to a content-addressable memory for use by said content-addressable memory in performing a lookup operation to identify one or more content-addressable memory lookup results. - View Dependent Claims (21, 22, 23, 24)
-
Specification