Network switching device with pipelined search engines
First Claim
1. A network switching device comprising:
- a first search engine;
a second search engine coupled to the first search engine;
a first memory coupled to the first search engine; and
a second memory coupled to the second search engine, characterized in that the first search engine receives a search key and performs a first search of the first memory for the search key, the first search engine passing results of the first search to the second search engine, the second search engine performing a second search of the second memory for the search key and appending results of the second search to the results of the first search.
0 Assignments
0 Petitions
Accused Products
Abstract
A switching device for forwarding network traffic to a desired destination on a network, such as a telephone or computer network. The switching device includes multiple ports and uses a lookup table to determine which port to forward network traffic over. The lookup table includes network addresses that are maintained in ascending or descending order. The switching device includes multiple binary search engines coupled in series including one or more precursor binary search engines and a final stage binary search engine. Together, the binary search engines perform an N iteration binary search. Additionally, a single search engine can perform multiple concurrent searches so that source and destination addresses can be obtained simultaneously and without wasted memory cycles.
61 Citations
16 Claims
-
1. A network switching device comprising:
-
a first search engine;
a second search engine coupled to the first search engine;
a first memory coupled to the first search engine; and
a second memory coupled to the second search engine, characterized in that the first search engine receives a search key and performs a first search of the first memory for the search key, the first search engine passing results of the first search to the second search engine, the second search engine performing a second search of the second memory for the search key and appending results of the second search to the results of the first search.
-
- 2. The network switching device of claim 2, wherein the first memory includes a portion of a lookup table needed for performing the first search.
-
5. In a network switching device, a method for forwarding a discrete information unit comprising:
-
generating a search key associated with the information unit;
searching a first memory for the search key using a first search engine and rendering a first search result;
passing the first search result to a second search engine;
searching a second memory for the search key using the second search engine and rendering a second search result;
appending the second search result to the first search result;
retrieving forwarding information based on the appended search result; and
forwarding the information unit or not based on the retrieved forwarding information. - View Dependent Claims (6, 7, 8)
-
-
9. A network switching device comprising:
-
a first search engine;
a second search engine coupled to the first search engine in series;
a first memory coupled to the first search engine; and
a second memory coupled to the second search engine, characterized in that the first search engine receives a search key and performs a first search of the first memory for the search key, the first search engine passing results of the first search to the second search engine, the second search engine performing a second search of the second memory for the search key and appending results of the second search to the results of the first search. - View Dependent Claims (10, 11, 12)
-
-
13. In a network switching device, a method for forwarding a discrete information unit comprising:
-
generating a search key associated with the information unit;
searching a first memory for the search key using a first search engine and rendering a first search result;
passing the first search result to a second search engine coupled to the first search engine in series;
searching a second memory for the search key using the second search engine and rendering a second search result;
appending the second search result to the first search result;
retrieving forwarding information based on the appended search result; and
forwarding the information unit or not based on the retrieved forwarding information. - View Dependent Claims (14, 15, 16)
-
Specification