MEMORY MANAGEMENT FOR HIGH SPEED MEDIA ACCESS CONTROL
First Claim
1. A method comprising:
- storing in a first data structure in a packet buffer the length of a first packet, the sequence number of the packet, and a second packet buffer location of a second data structure in the packet buffer; and
storing data from the first packet in the second data structure identified by the stored second packet buffer location.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects disclosed herein address the need in the art for memory management for high speed media access control. A packet buffer may store packets with a first data structure, comprising the packet length, sequence number, and a pointer to a second data structure. Packet data may be stored in a linked list of one or more second data structures. Transmit and receive queues may be formed using linked lists or arrays of the first data structures. Memory locations for storing first and second data structures may be kept in lists indicating free locations for the respective data structure types. A flexible memory architecture is disclosed in which two configurations may be selected. In a first configuration, a first memory comprises per-flow parameters for multiple flows, and a second memory comprises a packet buffer. In a second configuration, the first memory comprises per-flow pointers to per-flow parameters in the second memory. The packet buffer resides in a third memory. Various other aspects are also presented.
-
Citations
24 Claims
-
1. A method comprising:
-
storing in a first data structure in a packet buffer the length of a first packet, the sequence number of the packet, and a second packet buffer location of a second data structure in the packet buffer; and
storing data from the first packet in the second data structure identified by the stored second packet buffer location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
means for storing in a first data structure in a packet buffer the length of a first packet, the sequence number of the packet, and a second packet buffer location of a second data structure in the packet buffer; and
means for storing data from the first packet in the second data structure identified by the stored second packet buffer location. - View Dependent Claims (14, 15, 16)
-
-
17. An apparatus comprising:
-
a first memory, configured in a first mode to store one or more parameters for each of a plurality of communication flows and configured in a second mode to store a pointer for each of the plurality of communication flows, each pointer indicating a location associated with the respective communication flow;
a second memory, configured in the first mode to store packets for each of the plurality of communication flows and configured in the second mode to store a plurality of sets of one or more parameters for each of the plurality of communication flows, each set of one or more parameters stored in the location indicated by the pointer associated with the respective communication flow;
a memory interface operable with a third memory, configured in the second mode to be operative to store packets for each of the plurality of communication flows; and
a processor selecting a selected mode as the first mode or the second mode, configuring the first memory according to the selected mode, configuring the second memory according to the selected mode, and configuring the memory interface according to the selected mode. - View Dependent Claims (18, 19)
-
-
20. A wireless communication device comprising:
-
a first integrated circuit, comprising;
a first memory, configured in a first mode to store one or more parameters for each of a plurality of communication flows and configured in a second mode to store a pointer for each of the plurality of communication flows, each pointer indicating a location associated with the respective communication flow;
a second memory, configured in the first mode to store packets for each of the plurality of communication flows and configured in the second mode to store a plurality of sets of one or more parameters for each of the plurality of communication flows, each set of one or more parameters stored in the location indicated by the pointer associated with the respective communication flow;
a memory interface operable with a third memory, configured in the second mode to be operative to store packets for each of the plurality of communication flows; and
a processor selecting a selected mode as the first mode or the second mode, configuring the first memory according to the selected mode, configuring the second memory according to the selected mode, and configuring the memory interface according to the selected mode; and
a second integrated circuit comprising a third memory storing packets for each of the plurality of communication flows, coupled with the memory interface of the first integrated circuit.
-
-
21. A wireless communication device comprising:
-
a first memory storing one or more parameters for each of a plurality of communication flows; and
a second memory storing packets for each of the plurality of communication flows, comprising;
a first data structure associated with a packet; and
a second data structure comprising data from the associated packet; and
wherein the first data structure comprises;
a length field indicating the length of the associated packet;
a sequence number field indicating the sequence number of the associated packet; and
a second data structure pointer field indicating the location in the second memory of the second data structure. - View Dependent Claims (22, 23)
-
-
24. Computer readable media including instructions thereon, the instructions comprising:
-
instructions for selecting a first or second mode;
instructions for configuring a first memory in a first mode to store one or more parameters for each of a plurality of communication flows;
instructions for configuring the first memory in a second mode to store a pointer for each of the plurality of communication flows, each pointer indicating a location associated with the respective communication flow;
instructions for configuring a second memory in the first mode to store packets for each of the plurality of communication flows;
instructions for configuring the second memory in the second mode to store a plurality of sets of one or more parameters for each of the plurality of communication flows, each set of one or more parameters stored in the location indicated by the pointer associated with the respective communication flow; and
instructions for configuring a memory interface operable with a third memory in the second mode to be operative to store packets for each of the plurality of communication flows.
-
Specification