Buffer management for communication systems
OwnerOnkar S. Sangha, Ed Kwon +2inventors
InventorsOnkar S. Sangha, Ed Kwon, Vijay Maheshwari, Akihiro Kuichi
Life of this patent
Estimating the term…
Abstract
Methods and systems for managing data packets in various communication networks are provided. The system includes a first memory for storing at least a free data pointer and a buffer descriptor. The free data pointer points to a data buffer allocated in a second memory. The buffer descriptor includes at least a data pointer pointing to a data buffer configured to store one or a portion of the communication packet. The first memory has a maximum threshold such that if the number of buffer descriptors stored in the first memory reaches the maximum threshold one or more buffer descriptors stored in the first memory are transferred to the second memory.
Claims44
In a communication system, a buffer management system for managing communication packets received from multiple I/O ports, said system comprising:
- on-chip memory for storing at least a free data pointer and a buffer descriptor;
- the free data pointer pointing to a data buffer allocated in external memory;
- the buffer descriptor including at least a data pointer pointing to a data buffer configured to store one or a portion of the communication packet;
- the on-chip memory having a maximum threshold such that if the number of buffer descriptors stored in the on-chip memory reaches the maximum threshold one or more buffer descriptors stored in on-chip memory are transferred to an external memory.
A method for receiving communication packets in a communication system using a buffer management system, said method comprising:
- removing a data pointer from an on-chip read free queue, the read free queue having a minimum threshold, the data pointer pointing to a data buffer allocated in external memory for storing one or a portion of a communication packet;
- storing in the data buffer one or a portion of a communication packet received by an I/O port;
- generating a buffer descriptor including at least the data pointer;
- storing the buffer descriptor in an on-chip receive ready queue;
- wherein the receive ready queue has a maximum threshold such that if the maximum threshold is reached one or more buffer descriptors stored in the receive ready queue are transferred to external memory.
A method for managing communication packets using a buffer management system, said method comprising:
- removing a data pointer from an on-chip read free queue, the read free queue having a minimum threshold, the data pointer pointing to a data buffer allocated in external memory for storing one or a portion of a communication packet;
- storing in the data buffer one or a portion of a communication packet constructed by a software application;
- generating a buffer descriptor including at least the data pointer;
- storing the buffer descriptor in an on-chip receive ready queue;
- wherein the receive ready queue has a maximum threshold such that if the maximum threshold is reached one or more buffer descriptors stored in the receive ready queue are transferred to external memory.
A method for managing interleaved communication streams in a communication system comprising:
- generating a buffer descriptor having type and status data;
- said buffer descriptors associated with one or a portion of a communication packet stored in a data buffer allocated in an external memory;
- the type data indicating whether the buffer descriptor is associated with a data buffer that stores beginning, middle, or end of a communication packet;
- the status data indicating the communication channel from which the communication packet was received;
- storing the buffer descriptor in on-chip memory;
- reading the buffer descriptor from on-chip memory;
- moving the buffer descriptor from on-chip memory to a buffer in external memory associated with the communication channel identified by the status data;
- examining the type data for the buffer descriptor;
- and
- if the type data indicates that the buffer descriptor is associated with a data buffer that stores the end of a communication packet then notifying a higher layer application that a communication packet is received.
In a communication system, a buffer management system for managing communication packets received from multiple I/O ports, said system comprising:
- a first memory for storing at least a free data pointer and a buffer descriptor;
- the free data pointer pointing to a data buffer allocated in a second memory;
- the buffer descriptor including at least a data pointer pointing to a data buffer configured to store one or a portion of the communication packet;
- the first memory having a maximum threshold such that if the number of buffer descriptors stored in the first memory reaches the maximum threshold one or more buffer descriptors stored in the first memory are transferred to the second memory.
Dependencies are inferred from the claim text.