Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory
First Claim
Patent Images
1. A system for managing packets incoming to a data router comprising:
- a local packet memory (LPM) mapped into pre-configured memory units, to store packets for processing;
an external packet memory (EPM) for storing overflow data which is not storable by said LPM;
a first storage system coupled to said LPM, to determine a size of said packets to be stored in said LPM, and for determining whether said packets can be stored in said LPM, wherein in determining whether said packets can be stored in said LPM, the first storage system is configured to consider unallocated portions of the local packet memory in increments of one or more fixed sizes; and
a second storage system coupled to said first storage system, for receiving an indication from said first storage system when it cannot store said packets in said LPM, and for storing said packets in said LPM;
wherein said first storage system attempts to store all said packets in said LPM, and for those packets that are not storable within said LPM, relinquishes control to said second system, which stores said packets in said LPM; and
wherein said system is configured to adjust said one or more fixed sizes to include more or fewer fixed size increments which may be considered by the first storage system when the first storage system considers whether said packets can be stored in the LPM.
6 Assignments
0 Petitions
Accused Products
Abstract
A system for managing packets incoming to a data router has a local packet memory (LPM) mapped into pre-configured memory units, to store packets for processing, an external packet memory (EPM), a first storage system to store packets in the LPM, and a second storage system to store packets in the EPM. The system is characterized in that the first storage system attempts to store all incoming packets in the LPM, and for those packets that are not compatible with the LPM, relinquishes control to the second system, which stores the LPM-incompatible packets in the EPM.
-
Citations
21 Claims
-
1. A system for managing packets incoming to a data router comprising:
-
a local packet memory (LPM) mapped into pre-configured memory units, to store packets for processing; an external packet memory (EPM) for storing overflow data which is not storable by said LPM; a first storage system coupled to said LPM, to determine a size of said packets to be stored in said LPM, and for determining whether said packets can be stored in said LPM, wherein in determining whether said packets can be stored in said LPM, the first storage system is configured to consider unallocated portions of the local packet memory in increments of one or more fixed sizes; and a second storage system coupled to said first storage system, for receiving an indication from said first storage system when it cannot store said packets in said LPM, and for storing said packets in said LPM; wherein said first storage system attempts to store all said packets in said LPM, and for those packets that are not storable within said LPM, relinquishes control to said second system, which stores said packets in said LPM; and wherein said system is configured to adjust said one or more fixed sizes to include more or fewer fixed size increments which may be considered by the first storage system when the first storage system considers whether said packets can be stored in the LPM. - View Dependent Claims (2, 3, 4, 5, 6, 16, 17)
-
-
7. A data packet router comprising:
-
external ports to receive and send data packets from and to neighboring connected routers; and a system coupled to said external ports, for managing said packets incoming to a data router, the system comprising;
a local packet memory (LPM) mapped into pre-configured memory units, to store packets for processing, each of said pre-configured memory units being resizable by said system;an external packet memory (EPM) for storing overflow data which is not storable by said LPM; a first storage system coupled to said LPM, to determine the size of said packets to be stored in said LPM, for determining whether said packets can be stored in said LPM, and to store packets in said LPM, wherein in determining whether said packets can be stored in said LPM, the first storage system is configured to consider unallocated portions of the local packet memory in increments of one or more fixed sizes; and a second storage system coupled to said first storage system, for receiving an indication from said first storage system when it cannot store said packets in said LPM and for storing said packets in said LPM; wherein said first storage system attempts to store all said packets in said LPM, and for those packets that are not storable within said LPM, relinquishes control to said second system, which stores said packets in said LPM; and wherein said router is configured to adjust said one or more fixed sizes to include more or fewer fixed size increments which may be considered by the first storage system when the first storage system considers whether said packets can be stored in the LPM. - View Dependent Claims (8, 9, 10, 18, 19)
-
-
11. A method for managing packets incoming to a data router, comprising the steps of:
-
storing incoming packets, by a first storage system, into a local packet memory (LPM) that is mapped into preconfigured but resizable memory units; determining whether incoming packets are storable within the LPM, wherein said determining comprises considering unallocated portions of the local packet memory in increments of one or more fixed sizes; relinquishing packets not storable within the LPM to a second storage system; storing the packets not storable within the LPM in an external packet memory by a second storage system, and adjusting said one or more fixed sizes to include more or fewer fixed size increments which may be considered by the first storage system when the first storage system considers whether said packets can be stored in the LPM. - View Dependent Claims (12, 13, 14, 15, 20, 21)
-
Specification