Method and apparatus for physical width expansion of a longest prefix match lookup table
First Claim
Patent Images
1. A system comprising:
- a master lookup unit comprising a direct mapper and at least one indirect mapper, wherein the direct mapper is configured to return one of a route index or a partial index in response to a search for at least a first portion of an initial mapper key comprising at least a first portion of a search key, and wherein the at least one indirect mapper is configured to return one of a route index or a partial index in response to a search for at least a corresponding subsequent portion of the initial mapper key and a partial index returned by one of either the direct mapper or another indirect mapper; and
one or more non-master lookup units configured to return at least one of a route index or a partial index in response to a search for a subsequent mapper key comprising a corresponding subsequent portion of the search key and a partial index returned by one of either the master lookup unit or another non-master lookup unit.
2 Assignments
0 Petitions
Accused Products
Abstract
A lookup unit matrix combines a plurality of lookup units to provide a longest prefix match for a search key longer than the lookup unit'"'"'s mapper key. A portion of the search key is provided to each of the plurality of lookup units in a single search request issued to the lookup unit matrix. Each lookup unit in the lookup unit matrix performs a multi-level search for the result value based on the portion of the search key forwarded as the mapper key and the result of a multilevel search in the previous lookup unit. The search results in a value corresponding to the search key stored in a single location in one of the lookup units.
80 Citations
18 Claims
-
1. A system comprising:
-
a master lookup unit comprising a direct mapper and at least one indirect mapper, wherein the direct mapper is configured to return one of a route index or a partial index in response to a search for at least a first portion of an initial mapper key comprising at least a first portion of a search key, and wherein the at least one indirect mapper is configured to return one of a route index or a partial index in response to a search for at least a corresponding subsequent portion of the initial mapper key and a partial index returned by one of either the direct mapper or another indirect mapper; and one or more non-master lookup units configured to return at least one of a route index or a partial index in response to a search for a subsequent mapper key comprising a corresponding subsequent portion of the search key and a partial index returned by one of either the master lookup unit or another non-master lookup unit. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving an initial mapper key at a master lookup unit comprising a direct mapper and at least one indirect mapper, wherein the initial mapper key comprises at least a first portion of a search key; searching for at least a first portion of the initial mapper key in the direct mapper, and returning a route index in response to the search for the at least first portion of the initial mapper key resulting in the route index, and searching the at least one indirect mapper for a key comprising a partial index and a corresponding subsequent portion of the initial mapper key in response to the search for the at least first portion of the initial mapper key resulting in the partial index; and receiving a subsequent mapper key at a non-master lookup unit, wherein the subsequent mapper key comprises a corresponding subsequent portion of the search key and a partial index received from one of the master lookup unit or another non-master lookup unit; and returning one of a route index or a partial index in response to a search for the subsequent mapper key in the non-master lookup unit. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
means for returning one of a route index or a partial index in response to a search for an initial mapper key comprising at least a first portion of a search key, wherein the means for returning one of a route index or a partial index in response to a search for an initial mapper key comprises a direct mapper and at least one indirect mapper, wherein the direct mapper is configured to return one of a route index or a partial index in response to a search for at least a first portion of the initial mapper key, and wherein the at least one indirect mapper is configured to return one of a route index or a partial index in response to a search for at least a second portion of the initial mapper key and a partial index returned by the direct mapper; and means for returning one of a route index or a partial index in response to a search for a subsequent mapper key comprising a corresponding subsequent portion of the search key and a partial index returned by one of either the means for returning one of a route index or a partial index in response to a search for an initial mapper key or another means for returning one of a route index or a partial index in response to a search for a subsequent mapper key. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system comprising:
-
a master lookup unit configured to return one of a route index or a partial index in response to a search for an initial mapper key, the initial mapper key comprising at least a first portion of a search key, wherein the master lookup unit comprises a direct mapper and at least one indirect mapper; and one or more non-master lookup units configured to return at least one of a route index or a partial index in response to a search for a subsequent mapper key comprising a corresponding subsequent portion of the search key and a partial index returned by one of either the master lookup unit or another non-master lookup unit, wherein at least one non-master lookup unit comprises at least one indirect mapper configured to return one of a route index or a partial index in response to a search for at least a portion of the subsequent mapper key and a partial index returned by one of either the master lookup unit or another indirect mapper of the at least one non-master lookup unit or at least one other non-master lookup unit.
-
-
17. A method comprising:
-
receiving an initial mapper key at a master lookup unit comprising a direct mapper and at least one indirect mapper, wherein the initial mapper key comprises at least a first portion of a search key; returning one of a route index or a partial index in response to a search for the initial mapper key in the master lookup unit; receiving a subsequent mapper key at a non-master lookup unit comprising at least one indirect mapper, wherein the subsequent mapper key comprises a corresponding subsequent portion of the search key and a partial index received from one of the master lookup unit or another non-master lookup unit; searching for at least a first portion of the subsequent mapper key in the at least one indirect mapper of the non-master lookup unit; in response to the search for the at least first portion of the subsequent mapper key resulting in a route index, returning the resulting route index; and in response to the search for the at least first portion of the subsequent mapper key resulting in a partial index, searching at least one subsequent indirect mapper for a key comprising the resulting partial index and a corresponding subsequent portion of the subsequent mapper key.
-
-
18. An apparatus comprising:
-
means for returning one of a route index or a partial index in response to a search for an initial mapper key comprising at least a first portion of a search key, wherein the means for returning one of a route index or a partial index in response to a search for an initial mapper key comprises a direct mapper and at least one indirect mapper; and means for returning one of a route index or a partial index in response to a search for a subsequent mapper key comprising a corresponding subsequent portion of the search key and a partial index returned by one of either the means for returning one of a route index or a partial index in response to a search for an initial mapper key or another means for returning one of a route index or a partial index in response to a search for a subsequent mapper key, wherein the means for returning one of a route index or a partial index in response to a search for a subsequent mapper key comprises; a first indirect mapper configured to return one of a route index or a partial index in response to a search for at least a first portion of the subsequent mapper key and a partial index returned by the means for returning one of a route index or a partial index in response to a search for an initial mapper key; and at least one subsequent indirect mapper configured to return one of a route index or a partial index in response to a search for at least a subsequent portion of the subsequent mapper key and a partial index returned by the first indirect mapper.
-
Specification