Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of transmitting a payload data unit from a communication device over a wireless network, comprising: storing payload data for said payload data unit in a system memory of said communication device; storing, in a private memory local to a Media Access Control (MAC) device, a header of said payload data unit and a reference to a location in the system memory from which to begin retrieving payload data for said payload data unit; in response to a request to transmit said payload data unit over said wireless network, initiating transmission of a physical layer preamble and header data retrieved from the private memory; outputting one or more requests to retrieve the payload data of the payload data unit, from the system memory to the MAC device, using the reference to said location in the system memory; responsive to said one or more requests, receiving data in the MAC device; and providing the received data to a physical layer for transmission over said wireless network.
2. The method of claim 1 , further comprising selecting a queue from a plurality of queues based on a Quality of Service (QoS) determination and storing the header in the selected queue.
3. The method of claim 2 , wherein the selecting comprises selecting the queue according to characteristics of a type of data to be given the quality of service associated with that queue.
4. The method of claim 3 , further comprising obtaining an allocation of a location in the private memory to store the header and associating the location in the private memory with the selected queue.
5. The method of claim 4 , wherein the allocation of memory in the system memory for storage of the payload data unit to be transmitted is in 128 byte or 256 byte increments, and further comprising storing, with an increment, a pointer to a location of a subsequent increment.
6. The method of claim 1 , further comprising storing in the private memory, in association with the header of the payload data unit, a reference to a location in the private memory storing a next packet in a list of payload data units.
7. The method of claim 6 , wherein the list of payload data units defines a queue associated with a particular QOS.
8. The method of claim 6 , wherein the locations storing each packet in the list of payload data units are allocated from a pool of slots on demand.
9. The method of claim 1 , further comprising tracking the allocation of memory storing the payload data unit.
10. The method of claim 9 , further comprising releasing the allocation of memory in response to receiving an acknowledgement of receipt of the payload data unit.
11. The method of claim 1 , further comprising generating a subsequent read request for data identified by a pointer obtained from data received in response to a prior request.
12. A wireless networking device, comprising: a system memory; a physical layer for transmitting data through a wireless physical layer; and a Media Access Controller (MAC) component coupled with the system memory through a memory interface, and comprising a private Random Access Memory (RAM) sized to store a respective header for a plurality of MAC Payload Data Units (PDUs) in association with a respective reference to a respective location in the system memory, PDU management circuitry for selecting a PDU to be transmitted based on the headers stored in the private RAM, and Direct Memory Access (DMA) circuitry to receive the reference to the system memory associated with the selected PDU and initiate a transaction with the system memory to begin retrieving payload data for the selected PDU, the payload data being retrieved and supplied to a transmit path before the header for the selected PDU has been completely transmitted.
13. The wireless networking device of claim 12 , wherein the MAC component comprises an upper control element and a lower control element, the upper control element implementing the PDU management circuitry within a programmable processor element, and the lower control element interfacing with a memory interface of the MAC component to implement the DMA circuitry without involvement of the upper control element.
14. The wireless networking device of claim 13 , wherein the lower control element implements a state machine and determines, after obtaining a transmit slot which frames, from one or more queues, are to be aggregated for aggregated transmission in that transmit slot.
15. The wireless networking device of claim 13 , wherein the upper control element couples with the lower control element to indicate a location in the private Random Access Memory (RAM) storing a header for the selected PDU, and the lower control element is configured to obtain the header from the indicated location.
16. The wireless networking device of claim 12 , further comprising a processor for executing machine executable code for a driver of the MAC component, the driver configured to obtain an allocation from the system memory for storing a PDU to be transmitted using the MAC component, and storing the PDU in the allocation of system memory.
17. The wireless networking device of claim 16 , wherein the memory allocation comprises a plurality of different locations in the system memory, and the driver is configured to produce an ordered list of the different locations that will collectively store the PDU, and to append a reference to each subsequent location in data stored at a respective prior location of the ordered list.
18. The wireless networking device of claim 12 , wherein the MAC component is configured to obtain an allocation from the system memory for storing a PDU to be transmitted using the MAC component, and storing the PDU in the allocation of system memory.
19. The wireless networking device of claim 12 , wherein the MAC component is adapted to maintain payload data for the selected PDU in the system memory until receipt of the payload data has been acknowledged by a receive device and to retrieve the payload data from the system memory again in order to retry transmission.
20. A non-transitory computer readable storage medium having stored thereon computer executable instructions that when executed cause at least one processor to: obtain an allocation of memory in a system memory for storage of a body of a packet to be transmitted from a communication device over a wireless network; store, in a private memory local to a Media Access Control (MAC) device, a header of the packet and a reference to a location in the system memory from which to begin reading the body of the packet; in response to determining that the packet is to begin transmission, initiate transmission of a physical layer preamble and header data retrieved from the private memory, and output one or more requests to retrieve the body of the packet from the system memory using the reference to the memory location; cause the MAC device to receive data responsive to the one or more requests; and provide the received data to a physical layer for transmission over said wireless network.
Unknown
August 21, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.