Prefix searches for directing internet data packets are performed in a
prefix search integrated circuit. The integrated circuit includes an
array of search engines, each of which accesses a prefix search tree data
structure to process a prefix search. An SDRAM is dedicated to each
search engine, and SDRAMs share address and control pins to plural search
engines on the IC chip. Internal nodes of the tree data structure are
duplicated across banks of the SDRAMs to increase bandwidth, and leaf
nodes are stored across the SDRAM banks to reduce storage requirements.
Within each search engine, data stored in a data register from an SDRAM
is compared to a prefix search key stored in a key register. Based on
that comparison, an address is calculated to access further tree
structure data from the SDRAM. Packet descriptors containing search keys
are forwarded to the search engines from an input queue and the search
results are forwarded to an output queue, the same packet order being
maintained in the two queues.