Multithreaded address resolution system
AssigneePMC-Sierra, Inc.
InventorHeng Liao
Life of this patent
Estimating the term…
Abstract
An apparatus for executing a multiple step database lookup procedure, the apparatus including a plurality of processing units, at least two processing units being coupled to a memory containing a database to be looked up, and a plurality of data pipelines which couple the plurality of processing units to each other and to external apparatus, wherein each processing unit executes at least one step in the multiple step database lookup procedure.
Claims25
An apparatus for executing a multiple step database lookup procedure, said apparatus including:
- a plurality of processing units, at least two processing units being coupled to a memory containing a database to be looked up;
- and
- a plurality of data pipelines which couple the plurality of processing units to each other and to external apparatus;
- wherein each processing unit executes at least one step in the multiple step database lookup procedure;
- and
- wherein one of the plurality of processing units is:
- a memory request unit for initiating a memory request from the memory, each memory request resulting in a memory request result transmitted from the memory to at least one processing unit,
- and another of the plurality of processing units is a compare unit for determining if further memory requests are required based on the memory request result.
A device for resolving the routing of network packets, each packet containing at least one network address, the device including a search engine comprised of a plurality of modules including at least one search module, each search module executing a specific database search lookup procedure which retrieves from a memory data related to the at least one network address, wherein each search module is coupled to the memory;
- wherein the search engine comprises three modules, each module coupled to the other two modules and to the memory, said three modules respectively comprising:
- a first search module pipelined for executing a MAC address database lookup procedure,
- a second search module pipelined for executing an IP address database lookup procedure,
- a reporting module pipelined for receiving search result data from the two search modules and for retrieving reporting data from memory based on the search result data received from the two modules.
A method of executing a multiple step address resolution procedure, said method comprising:
- a) receiving a search context at a search unit,
- b) initiating a memory request using search data contained in the search context,
- c) transmitting the search context to a compare unit,
- d) receiving data at the compare unit, said data including:
- the search context, and
- a memory result of the memory request initiated by the search unit,
- e) determining at the compare unit if further searching is required by checking the memory result,
- f) modifying at the compare unit the search context to produce a modified search context based on the memory result and if further searching is required,
- g) transmitting the modified search context to the search unit if further searching is required,
- h) transmitting the modified search context to an external unit if further searching is not required.
Dependencies are inferred from the claim text.