Crossbar apparatus for a forwarding table memory in a router
First Claim
Patent Images
1. An apparatus to forward network packets, the apparatus comprising:
- a lookup execution unit including a plurality of stages;
a forwarding table memory arranged in a hierarchy including addressable sectors, blocks, and entries; and
a crossbar having an address crossbar for selectively coupling one of the plurality of stages to a sector of the forwarding table memory to enable data to be read from the sector, the stages operatively including one or more inactive clock cycles between an address request to the forwarding table memory and a read return from the forwarding table memory, and the stages being arranged in a sequential configuration so that a first stage passes data corresponding to a network packet to a second stage for processing and each inactive clock cycle corresponds to an inactive stage that passes the data corresponding to the network packet to a next stahe without accessin the forwarding table memory.
0 Assignments
0 Petitions
Accused Products
Abstract
A router including a lookup execution unit including a plurality of stages, a forwarding table memory arranged in hierarchy including addressable sectors, blocks, and entries, and a crossbar having an address crossbar for selectively coupling one of the plurality of stages to a sector of the memory so that data from the sector can be read. In one example, any one of the stages of the plurality of stages may be selectively and dynamically coupled with any one of the sectors of the forwarding table memory for providing an address to a particular sector of the memory to read data therefrom.
-
Citations
23 Claims
-
1. An apparatus to forward network packets, the apparatus comprising:
-
a lookup execution unit including a plurality of stages; a forwarding table memory arranged in a hierarchy including addressable sectors, blocks, and entries; and a crossbar having an address crossbar for selectively coupling one of the plurality of stages to a sector of the forwarding table memory to enable data to be read from the sector, the stages operatively including one or more inactive clock cycles between an address request to the forwarding table memory and a read return from the forwarding table memory, and the stages being arranged in a sequential configuration so that a first stage passes data corresponding to a network packet to a second stage for processing and each inactive clock cycle corresponds to an inactive stage that passes the data corresponding to the network packet to a next stahe without accessin the forwarding table memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus to forward network packets, the apparatus comprising:
-
an execution unit including a plurality of stages; and a crossbar coupled to the execution unit, the crossbar configured to include; a set of address lines coupled with each stage of said plurality of stages for receiving an address signal from at least one stage; and logic for selectively coupling one of the plurality of stages to at least a portion of a forwarding memory, the logic configured to receive the set of address lines from each stage, the stages operatively including one or more inactive clock cycles between an address request to the forwarding memory and a read return from the forwarding memory, and the stages being arranged in a sequential configuration so that a first stage passes data corms to a, network packet to a second stage for processing and each inactive clock cycle corresponds to an inactive stage that passes the data corresponding to the network packet to a next stage without accessing the forwarding memory wherein the forwarding memory. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving a network packet into an execution unit of a forwarding engine in a router, wherein the execution unit includes a plurality of stages; selectively coupling, using an address crossbar, at least one of the plurality of stages to a sector of a memory, wherein the memory is arranged in a hierarchy including addressable sectors, blocks, and entries; determining, using said at least one of the plurality of stages, a destination for the network packet based on routing information in the sector of memory, wherein the stages operatively include one or more inactive clock cycles between an address request to the sector of memory and a read return from the sector of memory, the stages being arranged in a sequential configuration so that a first stage passes data corresponding to the network packet to a second stage for processing and each inactive clock cycle corresponds to an inactive stage that passes the data corresponding to the network packet to a next stage without accessing the sector of memory; and forwarding the network packet to its destination. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. An apparatus to forward network packets, the apparatus comprising:
-
a lookup execution unit including a plurality of stages; a forwarding table memory arranged in a hierarchy including addressable sectors, Hocks, and entries; and a crossbar haying an address crossbar for selectively coupling one of the plurality of stages to a sector of the forwarding table memory to enable data to be read from the sector and a data crossbar for selectively coupling another one of the plurality of stages to the sector to read data from the sector, the stages being arranged in a sequential configuration so that a network packet is processed sequentially by the stages to access the forwarding table memory, a data-requesting stage being selectively coupled by the address crossbar to the forwarding table memory to request data from the forwarding table memory, and a data-receiving stage being selectively coupled by the data crossbar to the forwarding table memory to receive data from the forwarding table memory in response to a request from the data-requesting stage. - View Dependent Claims (22, 23)
-
Specification