Methods and apparatus for distributing entries among lookup units and selectively enabling less than all of the lookup units when performing a lookup operation
First Claim
1. An apparatus for use in generating lookup results, the apparatus comprising:
- a plurality of lookup units for generating a lookup result based on a lookup value, each of the plurality of lookup units including a different one of a plurality of subsets of a plurality of entries;
an enable signal generator, coupled to each of the plurality of lookup units, for selectively enabling less than all of the plurality of lookup units based on the lookup value; and
control logic for partitioning the plurality of entries into the plurality of subsets of the plurality of entries, and for programming each of the plurality of lookup units with said different one of the plurality of subsets of the plurality of entries;
wherein said control logic is configured to perform said partitioning based on a Patricia tree representation of the plurality of entries.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for distributing entries among lookup units and selectively enabling less than all of the lookup units when performing a lookup operation. Each of the lookup units is assigned a subset of the possible values of the entries and is programmed with the corresponding entries. In performing a lookup operation on a lookup word, only the lookup units possibly containing a matching entry are enabled which saves power and dissipates less heat. A lookup operation is then performed in the enabled lookup units to generate the lookup result. A lookup unit may correspond to an associative memory device, an associative memory bank, sets of entries within one or more associative memory devices or banks, a lookup control and a memory device, and/or any other lookup mechanism. In one implementation, the partitioning of elements is based on a Patricia tree representation of the possible entries.
-
Citations
50 Claims
-
1. An apparatus for use in generating lookup results, the apparatus comprising:
-
a plurality of lookup units for generating a lookup result based on a lookup value, each of the plurality of lookup units including a different one of a plurality of subsets of a plurality of entries; an enable signal generator, coupled to each of the plurality of lookup units, for selectively enabling less than all of the plurality of lookup units based on the lookup value; and control logic for partitioning the plurality of entries into the plurality of subsets of the plurality of entries, and for programming each of the plurality of lookup units with said different one of the plurality of subsets of the plurality of entries; wherein said control logic is configured to perform said partitioning based on a Patricia tree representation of the plurality of entries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for use in determining lookup results, the method comprising:
-
programming each of a plurality of lookup units with a different set of entry values; selectively enabling less than all of the plurality of lookup units; performing a lookup operation using a lookup word on said selectively enabled lookup units; and identifying a lookup value wherein said selectively enabling is performed based on a first subset of the lookup value; and wherein the lookup word includes a second subset of the lookup value. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for use in generating lookup results, the method comprising:
-
partitioning a space of possible values into a plurality of subsets of the space; programming each of a plurality of lookup units with a corresponding one of the plurality of subsets of the space; identifying a lookup value; selectively enabling less than all of the plurality of lookup units based on the lookup value; and providing a lookup word, based on the lookup value, to at least said selectively enabled lookup units; wherein said partitioning the space includes deriving a Patricia tree representation of the space of possible values. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. An apparatus for use in generating lookup results, the apparatus comprising:
-
means for partitioning a space of possible values into a plurality of subsets of the space; means for programming each of a plurality of means for performing a lookup operation with entries corresponding to one of the plurality of subsets of the space; means for selectively enabling less than all of the plurality of said means for performing a lookup operation based on a lookup value; and means for performing a lookup operation in said selectively enabled means for performing a lookup operation based on the lookup value; wherein said means for partitioning the space includes means for deriving a Patricia tree representation of the space of possible values. - View Dependent Claims (46)
-
-
47. An apparatus for use in generating lookup results, the apparatus comprising:
-
a plurality of lookup units for generating a lookup result based on a lookup value, each of the plurality of lookup units including a different one of a plurality of subsets of a plurality of entries; an enable signal generator, coupled to each of the plurality of lookup units, for selectively enabling less than all of the plurality of lookup units based on the lookup value; and control logic for partitioning the plurality of entries into the plurality of subsets of the plurality of entries, and for programming each of the plurality of lookup units with said different one of the plurality of subsets of the plurality of entries; wherein said control logic is configured to add entries to one or more of the plurality of subsets, and to repartition the plurality of entries into a different plurality of subsets based on an occupancy level of one of the plurality of subsets of the plurality of entries.
-
-
48. A method for use in generating lookup results, the method comprising:
-
partitioning a space of possible values into a plurality of subsets of the space; programming each of a plurality of lookup units with a corresponding one of the plurality of subsets of the space; programming an enable signal generator based on ranges of the plurality of subsets of the space; identifying a lookup value; selectively enabling less than all of the plurality of lookup units based on the lookup value; and providing a lookup word, based on the lookup value, to at least said selectively enabled lookup units.
-
-
49. A method for use in generating lookup results, the method comprising:
-
partitioning a space of possible values into a plurality of subsets of the space; programming each of a plurality of lookup units with a corresponding one of the plurality of subsets of the space; programming a plurality of enable signal generators based on ranges of the plurality of subsets of the space; identifying a lookup value; selectively enabling less than all of the plurality of lookup units based on the lookup value; and providing a lookup word, based on the lookup value, to at least said selectively enabled lookup units. - View Dependent Claims (50)
-
Specification