Method and apparatus for matching a string with multiple lookups using a single associative memory
First Claim
1. A method comprising:
- performing a first associative memory lookup based on a first lookup word as input to a particular associative memory device to produce a first associative memory result;
performing a first memory lookup based on the first associative memory result to produce a first memory result;
deriving a second lookup word based on the first memory result; and
performing a second associative memory lookup based on the second lookup word as input to the particular associative memory device to produce a second associative memory result.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for matching a string with multiple lookups using a single associative memory, such as, but not limited to binary and ternary content-addressable memories (CAMs). In one implementation, an information string is partitioned into multiple segments. A first lookup operation is performed on the associative memory using the first segment to produce a first associative memory result, which is used as input to a memory lookup operation to produce a first result. The first result can be programmed to have any desired value or length. This first result along with a second segment of the information string is then used as input to the same associative memory to produce a second associative memory result, which is typically used as input to a memory lookup operation to produce a second result. This process can be repeated for an arbitrary or predetermined number of times.
-
Citations
30 Claims
-
1. A method comprising:
-
performing a first associative memory lookup based on a first lookup word as input to a particular associative memory device to produce a first associative memory result;
performing a first memory lookup based on the first associative memory result to produce a first memory result;
deriving a second lookup word based on the first memory result; and
performing a second associative memory lookup based on the second lookup word as input to the particular associative memory device to produce a second associative memory result. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method performed based on a set of information, the method comprising:
-
repeating for a predetermined number of times steps (a)-(c) (a) deriving a lookup word;
(b) performing a lookup on a particular associative memory device based on the lookup word to produce an associative memory result; and
(c) performing a memory lookup based on the associative memory result to produce a memory result;
wherein said deriving the lookup word includes initially referencing the set of information, and subsequently includes referencing the set of information and the memory result. - View Dependent Claims (9, 10, 11, 15)
-
- 12. The method of 8, wherein the set of information includes a plurality of portions, and said deriving the lookup word is performed each time using a different portion of the plurality of portions.
-
16. An apparatus comprising:
-
an associative memory device to receive a lookup word and to produce an associative memory result; and
a memory coupled to the associative memory device to receive the associative memory result and to produce a memory result;
wherein the lookup word includes the memory result. - View Dependent Claims (17, 18)
-
-
19. An apparatus comprising:
-
means for performing a first associative memory lookup based on a first lookup word as input to a particular associative memory device to produce a first associative memory result;
means for performing a first memory lookup based on the first associative memory result to produce a first memory result;
means for deriving a second lookup word based on the first memory result; and
means for performing a second associative memory lookup based on the second lookup word as input to the particular associative memory device to produce a second associative memory result. - View Dependent Claims (20, 21)
-
-
22. An apparatus comprising:
-
means for deriving a lookup word;
means for performing a lookup on a particular associative memory device based on the lookup word to produce an associative memory result; and
means for performing a memory lookup based on the associative memory result to produce a memory result;
wherein said means for deriving the lookup word includes means referencing a set of information and the memory result. - View Dependent Claims (23, 24)
-
-
25. An apparatus comprising:
-
means for receiving a lookup word and for producing an associative memory result; and
means, coupled to said means for receiving a lookup word and for producing an associative memory result, for receiving the associative memory result and for producing a memory result;
wherein the lookup word includes the memory result. - View Dependent Claims (26)
-
-
27. A method comprising:
-
performing a first associative memory lookup based on a first lookup word as input to a particular associative memory device to produce a first associative memory result;
deriving a second lookup word based on the first associative memory result; and
performing a second associative memory lookup based on the second lookup word as input to the particular associative memory device to produce a second associative memory result. - View Dependent Claims (28, 29, 30)
-
Specification