IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0180175
(2002-06-26)
|
등록번호 |
US-7826466
(2010-11-22)
|
발명자
/ 주소 |
- Patella, James Philip
- Earnshaw, William E.
- Kostoff, II, Stanley J.
- Williams, William Winston
- Gargrave, Timothy Robert
|
출원인 / 주소 |
- Atheros Communications, Inc.
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
168 |
초록
▼
Media Access Control (MAC) layer transmit and receive buffering with multi-level prioritization. The receive buffering allocates receive buffers for receiving frame data from a PHY interface in priority order using both a static and dynamic buffer allocation, and delivers completed buffers queued in
Media Access Control (MAC) layer transmit and receive buffering with multi-level prioritization. The receive buffering allocates receive buffers for receiving frame data from a PHY interface in priority order using both a static and dynamic buffer allocation, and delivers completed buffers queued in a multi-level priority queue to a host interface highest priority first. The transmit buffering delivers completed buffers queued in a multi-level priority queue to the PHY interface in priority order. When the multi-level priority queue contains a buffer that is higher priority than one being prepared for transmit, a priority-based interruption causes the transmit processing of the buffer to be suspended at its current state with the higher priority buffer taking its place. Upon completion of the higher priority buffer, the suspended buffer is resumed at its current state.
대표청구항
▼
What is claimed is: 1. A method of operating a Media Access Control (MAC) receiver, the method comprising: providing a receive buffer group, the receive buffer group being associated with a plurality of priority levels; allocating each of a plurality of receive buffers to a particular one of the pl
What is claimed is: 1. A method of operating a Media Access Control (MAC) receiver, the method comprising: providing a receive buffer group, the receive buffer group being associated with a plurality of priority levels; allocating each of a plurality of receive buffers to a particular one of the plurality of the priority levels in order of priority level from the highest priority level to the lowest priority level for reception of frame segments of a given priority level in a receive buffer allocated to the given priority level, including determining whether to re-allocate at least one previously allocated receive buffer in the group to a higher priority level than the priority level at which the previously allocated receive buffer was allocated; and maintaining an empty buffer group of empty buffers; wherein allocating includes moving empty buffers from the empty buffer group to the receive buffers group for use as receive buffers in the reception of frame segments, and re-allocating the receive buffers within the receive buffers group when no empty buffer is available in the empty buffer group, wherein re-allocating comprises performing a static re-allocation to re-allocate an unused buffer from a lower priority to a higher of the priority levels within the receive buffers group. 2. The method of claim 1, further comprising: filling the receive buffers with the frame segments based on the priority levels; and dispatching the filled receive buffers for delivery to a host interface in order of highest to lowest of the priority levels. 3. The method of claim 2 further including: allocating an empty receive buffers to the priority levels of the dispatched receive buffers. 4. The method of claim 1, wherein re-allocating further comprises performing a dynamic re-allocation that attempts to re-allocate first an unused, and then a used, buffer from a lower to a higher of the priority levels within the receive buffers group at such time as it is determined that a frame segment is to be received. 5. The method of claim 1, wherein determining whether to re-allocate at least one previously allocated receive buffer in the group to a higher priority than a priority at which the previously allocated receive buffer was allocated comprises determining whether to re-allocate the previously allocated receive buffer from the lowest priority at which at least one unused buffer is available to the highest priority at which no receive buffer is available. 6. The method of claim 1, wherein determining whether to re-allocate at least one previously allocated receive buffer in the group to a higher priority than a priority at which the previously allocated receive buffer was allocated comprises determining whether to re-allocate the previously allocated receive buffer from the lowest priority at which at least one used buffer is available to the highest priority at which no receive buffer is available, wherein the used buffer is partially filled with received data. 7. The method of claim 1, wherein re-allocating further comprises re-allocating an unused buffer from a lower to a higher priority in response to determining that no buffer previously allocated to the higher priority is available. 8. The method of claim 1, wherein re-allocating further comprises re-allocating a used buffer from a lower to a higher priority in response to determining that data of the higher priority is to be received. 9. The method of claim 1 wherein determining whether to re-allocate at least one previously allocated receive buffer includes determining that the at least one previous allocated receive buffer is valid and empty. 10. A method of operating a Media Access Control (MAC) transmitter comprising: filling empty transmit buffers with data to provide completed transmit buffers; queuing completed transmit buffers; delivering a completed transmit buffer from the queued completed transmit buffers to a PHY interface to prepare to transmit the completed transmit buffer while monitoring the queued completed transmit buffers for higher priority transmit buffers than the completed transmit buffer delivered to the PHY interface, and in response to determining that the queued completed transmit buffers include a higher priority transmit buffer, saving a state associated with the completed transmit buffer, and returning the completed transmit buffer to the queued completed transmit buffers; transmitting the contents of the higher priority transmit buffer, emptying the buffer; allocating the higher priority buffer to an encryptor queue one the higher priority buffer is emptied. 11. The method of claim 10, wherein delivering comprises: determining that the queued completed transmit buffers include a first transmit buffer that is of a higher priority than a second transmit buffer that is being prepared for transmit; generating a priority-based interruption to cause the transmit preparation of the second transmit buffer to be suspended; preparing the first transmit buffer for transmit; and preparing the second transmit buffer for transmit after the first transmit buffer has been transmitted. 12. The method of claim 10, further comprising, in response to determining that the queued completed transmit buffers include a higher priority transmit buffer, determining that the completed transmit buffer is not actively being transmitted. 13. A method of operating a MAC transceiver comprising: dispatching completed receive buffers queued in a multi-level priority queue for delivery to a host interface in priority order, including allocating each of the receive buffers to a particular priority level in the multi-level priority queue in order of priority level from the highest priority level to the lowest priority level and determining whether to re-allocate at least one previously allocated receive buffer in the queue to a higher priority than a priority at which the previously allocated receive buffer was allocated; and delivering a completed transmit buffer queued in a multi-level priority queue to a PHY interface to prepare to transmit the completed transmit buffer while monitoring queued completed transmit buffers for higher priority transmit buffers, and in response to determining that the queued completed transmit buffers include a higher priority transmit buffer, saving a state associated with the completed transmit buffer, and returning the completed transmit buffer to the queued completed transmit buffers. 14. The method of claim 13, wherein the priority levels comprise four levels of priority. 15. A computer program residing on a non-transitory computer-readable medium for operating a transceiver in a network node, the computer program comprising instructions causing a computer to: dispatch completed receive buffers queued in a multi-level priority queue for delivery to a host interface in priority order, including allocating each of the receive buffers to a particular priority level in the multi-level priority queue in order of priority level from the highest priority level to the lowest priority level and determining whether to re-allocate at least one previously allocated receive buffer in the queue to a higher priority than a priority at which the previously allocated receive buffer was allocated; and deliver a completed transmit buffer queued in a multi-level priority queue to a PHY interface to prepare to transmit the completed transmit buffer while monitoring queued completed transmit buffers for higher priority transmit buffers, and in response to determining that the queued completed transmit buffers include a higher priority transmit buffer, saving a state associated with the completed transmit buffer, and returning the completed transmit buffer to the queued completed transmit buffers. 16. A Media Access Control (MAC) transmitter comprising: transmit buffers; encryptor; means for filling empty transmit buffers with data to provide completed transmit buffers; means for queuing completed ones of the transmit buffers; means for queuing empty buffers; means for delivering a completed transmit buffer to a PHY interface to prepare to transmit the completed transmit buffer while monitoring the queued completed transmit buffers for higher priority transmit buffers, and in response to determining that the queued completed transmit buffers include a higher priority transmit buffer, saving a state associated with the completed transmit buffer, and returning the completed transmit buffer to the queued completed transmit buffers; means for transmitting the contents of the higher priority buffer, emptying the higher priority buffer; and means for allocating the empty buffer to the empty buffer queue. 17. A Media Access Control (MAC) transceiver comprising: means for dispatching completed receive buffers queued in a multi-level priority queue for delivery to a host interface in priority order, including allocating receive buffers to a particular priority level in the multi-level priority queue in order of priority level from the highest priority level to the lowest priority level and determining whether to re-allocate at least one previously allocated receive buffer in the queue to a higher priority than a priority at which the previously allocated receive buffer was allocated; and means for delivering a completed transmit buffer queued in a multi-level priority queue to a PHY interface to prepare to transmit the completed transmit buffer while monitoring queued completed transmit buffers for higher priority transmit buffers, and in response to determining that the queued completed transmit buffers include a higher priority transmit buffer, saving a state associated with the completed transmit buffer, and returning the completed transmit buffer to the queued completed transmit buffers.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.