Claims
- 1. A network switching device comprising:a first search engine; a first memory coupled to the first search engine; a second search engine; a second memory coupled to the second search engine characterized in that the first search engine performs a search of the first memory for a first key concurrently with a search of a second key and passes results of the search for the first and second keys to the second search engine for concurrently searching the second memory for the first and second keys.
- 2. The network switching device of claim 1, wherein the first key is a source address and the second key is a destination address.
- 3. The network switching device of claim 1, wherein each search engine accesses its respective memory during successive clock cycles and alternates between accessing the memory for search of the first key and search of the second key.
- 4. The network switching device of claim 1, wherein each search engine performs iterations of searches of the first and second keys in three clock cycles, wherein during at least one of the three clock cycles an iteration of the search for the first key is completing while an iteration of the search for the second key is beginning such that there is an overlapping between execution of the iterations of the searches of the first and second keys.
- 5. The network switching device of claim 1, wherein the first and second search engines together perform a search of N iterations, and wherein the first search engine performs a first portion of the N iterations and the second search engine performs second portion of the N iterations.
- 6. The network switching device of claim 5, wherein the first memory only includes a first portion of a lookup table necessary to perform the first portion of the N iterations and the second memory only includes a second portion of the lookup table necessary to perform the second portion of the N iterations.
- 7. The network switching device of claim 1, wherein the first and second search engines are binary search engines.
- 8. In a network switching device, a method for searching a lookup table comprising the steps of:receiving a data packet including a first key and a second key; extracting the first and second keys from the data packet; performing by a first search engine a search of a first memory for the first key; performing by the first search engine a search of the first memory for the second key concurrently with the search for the first key; and passing results of the search for the first and second keys to a second search engine coupled to the first search engine for concurrently searching the second memory for the first and second keys.
- 9. The method of claim 8, wherein the first key is a source address and the second key is a destination address.
- 10. The method of claim 8, wherein each search engine accesses its respective memory during successive clock cycles and alternates between accessing the memory for search of the first key and search of the second key.
- 11. The method of claim 8, wherein each search engine performs iterations of searches of the first and second keys in three clock cycles, wherein during at least one of the three clock cycles an iteration of the search for the first key is completing while an iteration of the search for the second key is beginning such that there is an overlapping between execution of the iterations of the searches of the first and second keys.
- 12. The method of claim 8, wherein the first and second search engines together perform a search of N iterations, and wherein the first search engine performs a first portion of the N iterations and the second search engine performs a second portion of the N iterations.
- 13. The method of claim 12, wherein the first memory only includes a first portion of a lookup table necessary to perform the first portion of the N iterations and the second memory only includes a second portion of the lookup table necessary to perform the second portion of the N iterations.
- 14. The network switching device of claim 1, wherein the first and second search engines are binary search engines.
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of prior application Ser. No. 09/166,707, filed Oct. 5, 1998, now U.S. Pat. No. 6,161,144.
This application is based on provisional U.S. patent application Serial No. 60/072,280 filed Jan. 23, 1998, and entitled “Forwarding Database Lookup Technique.”
US Referenced Citations (19)
Non-Patent Literature Citations (3)
Entry |
Johnson et al, U.S. application Ser. No. 09/166,343, filed Oct. 5, 1998. |
Michels et al, U.S. application Ser. No. 09/166,603, filed Oct. 5, 1998. |
Michels et al, U.S. application Ser. No. 09/166,620, filed Oct. 5, 1998. |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/072280 |
Jan 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/166707 |
Oct 1998 |
US |
Child |
09/776940 |
|
US |