Claims
- 1. A method of prefix search comprising:
distributing prefix search keys to plural prefix search engines; and at each search engine, reading data from a prefix search data tree structure stored in memory and, in a comparator, performing prefix search comparisons of search keys and data from the prefix search tree data structure to determine, in a forward pass of the tree data structure toward a leaf, memory addresses of nodes of the tree data structure to read the data from memory and obtain prefix search results.
- 2. A method as claimed in claim 1 further comprising distributing the prefix search keys to the plural prefix search engines over a network from an input queue as the engines become idle and forwarding results of prefix searches of the plural prefix search engines over the network to an output queue in an order independent of the order in the input queue.
- 3. A method as claimed in claim 2 wherein the results of the prefix searches are ordered in the output queue in the same order that the corresponding prefix search keys arrived at the input queue.
- 4. A method as claimed in claim 1 further comprising:
addressing a memory unit from each search engine over integrated circuit pins shared with another search engine; and reading the data in bursts over integrated circuit data pins dedicated to the search engine from the address locations in the memory unit.
- 5. A method as claimed in claim 4 further comprising storing a prefix search tree data structure across plural banks of memory units and accessing the tree structure in successive read cycles.
- 6. A method as claimed in claim 1 further comprising storing a prefix search tree data structure across plural banks of memory units and accessing the tree structure in successive read cycles.
- 7. A method as claimed in claim 6 wherein duplicate copies of internal nodes of the tree structure are stored in each of plural banks.
- 8. A method as claimed in claim 7 wherein leaf nodes are interleaved across plural banks.
- 9. A method as claimed in claim 1 wherein the determined memory address is the address of the next tree node.
- 10. A method as claimed in claim 9 wherein the determined memory address is determined from a comparison of plural stored keys with the search key.
RELATED APPLICATIONS
[0001] This application is a is a continuation of U.S. application Ser. No. 09/140,030, filed Aug. 26, 1998, which is a continuation-in-part of U.S. application Ser. No. 09/104,314, filed Jun. 25, 1998, which claims benefit of Provisional Application No. 60/084,434, filed May 6, 1998, the entire teachings of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60084434 |
May 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09140030 |
Aug 1998 |
US |
Child |
10167689 |
Jun 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09104314 |
Jun 1998 |
US |
Child |
09140030 |
Aug 1998 |
US |