A network device including a memory, a queue management unit, a memory management
unit, and a search switching unit. The memory includes a plurality of memory banks.
The queue management unit is configured to receive a plurality of search requests
and to prioritize the search requests. The memory management unit is coupled to
the queue management unit and the memory, and is configured to initiate a plurality
of binary searches based on the plurality of search requests. Each binary search
is executed simultaneously in different banks of the plurality of memory banks.
The search switching unit is coupled to the memory and the memory management unit,
and is configured to switch each binary search from one memory bank of to another
memory bank after a predetermined number of search steps are performed by each
binary search.