Binary search engine and method
First Claim
1. A network device comprising:
- a memory to be searched, said memory comprising memory banks;
a queue management unit configured to receive search requests;
a memory management unit coupled to said queue management unit and said memory and configured to initiate binary searches based on said search requests, the binary searches being initiated simultaneously in different banks of said memory banks; and
a search switching unit coupled to said memory management unit and said memory and configured to switch the binary searches from one memory bank to another memory bank after a predetermined number of search steps are performed in each of the binary searches.
5 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
31 Claims
-
1. A network device comprising:
-
a memory to be searched, said memory comprising memory banks;
a queue management unit configured to receive search requests;
a memory management unit coupled to said queue management unit and said memory and configured to initiate binary searches based on said search requests, the binary searches being initiated simultaneously in different banks of said memory banks; and
a search switching unit coupled to said memory management unit and said memory and configured to switch the binary searches from one memory bank to another memory bank after a predetermined number of search steps are performed in each of the binary searches. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A network device comprising:
-
memory means to be searched, said memory means comprising memory banks means;
queue management means for receiving search requests;
memory management means coupled to said queue management means and said memory means, for initiating binary searches based on said search requests, said binary searches being initiated simultaneously in different banks of said memory banks; and
search switching means, coupled to said memory management means and said memory means, for switching the binary searches from one memory bank to another memory bank after a predetermined number of search steps are performed in each of the binary searches. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for searching memory in a network device, said method comprising the steps of:
-
providing a memory to be searched, said memory having memory banks;
receiving binary search requests;
initiating binary searches in the memory banks at a same time, said binary searches being based on the binary search requests;
switching the binary searches to a different memory bank, at a predetermined step in each of the binary searches; and
continuing to switch said each of the binary searches to a different memory bank until a match is made. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
22. The method of step 21 further comprising the step of:
performing a networking function based on each said match.
-
23. The method of step 22, wherein said performing a networking function step comprises switching a network packet based on each said match.
-
24. The method of step 21, wherein said binary searches are initiated at a same time at a beginning of a search cycle of said network device in said initiating step.
-
25. The method of step 24, wherein said each of the binary searches is switched such that only one binary search is executed against each memory bank at a time, during said switching and continuing steps.
Specification