Single-chip architecture for shared-memory router
First Claim
1. A router, includingat least one port disposed for receiving packets;
- at least one port disposed for transmitting packets; and
processing circuits integrated into a single monolithic integrated circuit, said processing circuits including circuits for accessing a shared memory, said circuits including (a) circuits disposed for copying packets between at least one region of said shared memory and said processing circuits, and (b) circuits disposed for performing packet lookup in at least one region of said shared memory, said packet lookup being responsive to packet headers of said packets wherein said circuits disposed for copying packets comprise first circuits for receiving packet information in a serial format and converting said packet information into a parallel format and second circuits for receiving said packet information in a parallel format and converting said packet information into a serial format, and wherein said circuits for accessing said shared memory include circuits disposed for multiplexing and prioritizing requests for copying incoming packets to said shared memory, requests for copying outgoing packets from said shared memory, and requests for performing packet lookup.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a single-chip method. The method includes a memory shared among packet buffers for receiving packets, packet buffers for transmitting packets, and packet header buffers for packet forwarding lookup. Accesses to that shared memory are multiplexed and prioritized. Packet reception is performed with relatively high priority, packet transmission is performed with medium priority, and packet forwarding lookup is performed with relatively low priority. The single-chip method includes circuits for serially receiving packet header information, converting that information into a parallel format for transmission to an SRAM for lookup, and queuing input packets for later forwarding at an output port. Similarly, the single-chip method includes circuits for queuing output packets for transmission at an output port, receiving packet forwarding information from the SRAM in a parallel format, and converting packet header information from output packets into a serial format for transmission. The single-chip method also includes a region in its shared memory for a packet forwarding table, and circuits for performing forwarding lookup responsive to packet header information.
336 Citations
23 Claims
-
1. A router, including
at least one port disposed for receiving packets; -
at least one port disposed for transmitting packets; and
processing circuits integrated into a single monolithic integrated circuit, said processing circuits including circuits for accessing a shared memory, said circuits including (a) circuits disposed for copying packets between at least one region of said shared memory and said processing circuits, and (b) circuits disposed for performing packet lookup in at least one region of said shared memory, said packet lookup being responsive to packet headers of said packets wherein said circuits disposed for copying packets comprise first circuits for receiving packet information in a serial format and converting said packet information into a parallel format and second circuits for receiving said packet information in a parallel format and converting said packet information into a serial format, and wherein said circuits for accessing said shared memory include circuits disposed for multiplexing and prioritizing requests for copying incoming packets to said shared memory, requests for copying outgoing packets from said shared memory, and requests for performing packet lookup. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. Apparatus including
a shared memory, said shared memory including packet buffers for packets and packet lookup information; -
a router coupled to said shared memory, said router including processing circuits integrated into a single monolithic integrated circuit, said processing circuits including circuits for accessing said shared memory, said circuits including (a) circuits disposed for copying packets between at least one region of said shared memory and said processing circuits, and (b) circuits disposed for accessing said shared memory for performing packet lookup wherein said circuits disposed for copying packets comprise first circuits for receiving packet information in a serial format and converting said packet information into a parallel format and second circuits for receiving said packet information in a parallel format and converting said packet information into a serial format, and wherein said circuits for accessing said shared memory include circuits disposed for multiplexing and prioritizing requests for copying incoming packets to said shared memory, requests for copying outgoing packets from said shared memory, and requests for performing packet lookup. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method, including the steps of
receiving packets using at least one input port; -
transmitting packets using at least one output port; and
routing said packets from said at least one input port to said at least one output port, using processing circuits integrated into a single monolithic integrated circuit, wherein said routing comprises multiplexing and prioritizing requests for copying incoming packets to said shared memory, requests for copying outgoing packets from said shared memory, and requests for performing packet lookup.
-
-
13. A method, including the steps of
receiving packets using at least one input port; -
transmitting packets using at least one output port;
copying packets between at least one region of a shared memory and a set of processing circuits integrated into a single monolithic integrated circuit; and
performing packet lookup using said shared memory and said processing circuits, and wherein said steps of copying packets and performing packet lookup include the steps of multiplexing and prioritizing requests for copying incoming packets to said shared memory, requests for copying outgoing packets from said shared memory, and requests for performing packet lookup. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method, including the steps of
recording packets and packet lookup information in a shared memory; -
copying packets to and from at least one region of said shared memory;
accessing said shared memory to perform packet lookup, using processing circuits which are integrated into a single monolithic integrated circuit, and wherein said steps of copying packets and accessing said shared memory include the steps of multiplexing and prioritizing requests for copying incoming packets to said shared memory, requests for copying outgoing packets from said shared memory, and requests for performing packet lookup. - View Dependent Claims (20, 21, 22, 23)
-
Specification