IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0808105
(2004-03-24)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
인용정보 |
피인용 횟수 :
10 인용 특허 :
5 |
초록
▼
A queue scheduling method and apparatus for a queuing structure including a plurality of queues at different priorities and having different bandwidth privileges competing for the bandwidth of an output. The method selects a queue at the current priority, having data for release to the output and ha
A queue scheduling method and apparatus for a queuing structure including a plurality of queues at different priorities and having different bandwidth privileges competing for the bandwidth of an output. The method selects a queue at the current priority, having data for release to the output and having available bandwidth to release data to the output. If there are a plurality of such queues, round-robin ordering determines which queue in the plurality is selected. The apparatus includes a plurality of bit masks representing the status in relation to a queue state variable of the different queues, which masks are combined in a bit-wise AND operation to determine which queues are selectable for releasing data to the output.
대표청구항
▼
1. A queue selector operably coupled to a plurality of queues and an output, the queue selector comprising:a plurality of masks, wherein each mask comprises a plurality of bits and is associated with one of a plurality of queue state variables, each bit representing the status of the associated queu
1. A queue selector operably coupled to a plurality of queues and an output, the queue selector comprising:a plurality of masks, wherein each mask comprises a plurality of bits and is associated with one of a plurality of queue state variables, each bit representing the status of the associated queue state variable for a different queue of the plurality of queues, and a mask compare adapted to: combine the plurality of masks in a bit-wise AND operation, and select a queue of the plurality of queues from which to release data to the output using the combined plurality of masks. 2. The queue selector according to claim 1, wherein the plurality of queue state variables comprise backlog.3. The queue selector according to claim 1, wherein the plurality of queue state variables comprise bandwidth availability.4. The queue selector according to claim 1, wherein the plurality of queue state variables comprise priority.5. The queue selector according to claim 1, wherein the queue selector further comprises an arbiter adapted to select a wining queue from which to release data to the output, wherein the winning queue is selected from among two of more candidate queues of the plurality of queues, each candidate queue having data for release and available bandwidth.6. The queue selector according to claim 5, wherein the arbiter is adapted to select from among the two or more candidate queues using round-robin.7. The queue selector according claim 1, wherein the plurality of masks comprises:a first group of two of more queues of the plurality of queues at a first priority, and a second group of one or more queues of the plurality of queues at a second priority, wherein the first priority and second priority are different. 8. The queue selector according claim 7, wherein mask compare is further adapted to:combine the masks associated with the two or more queues of the first group; if one or more queues associated with the first group has data for release, select one of said two or more queues associated with the first group to release data to the output. 9. The queue selector according to claim 8, wherein the mask compare is further adapted to, if no queue associated with the first group has data for release:combine the masks of the one or more queues associated with the second group, and if one or more queues associated with the first group has data for release, select one of said one or more queues associated with the second group to release data to the output. 10. The queue selector according to claim 8, wherein the mask compare is further adapted to select one of said two or more queues associated with the first group to release data to the output by round-robin, if two or more of queues associated with the first group have data for release.11. The queue selector according to claim 7, wherein one or more of the plurality of queues is characterized by an available bandwidth, and wherein the mask compare is adapted to decrease the available bandwidth for each of the respective queues when the respective queue is selected to release data to the output.12. The queue selector according to claim 7, wherein the mask compare is adapted to increase the available bandwidth of one or more queues of the plurality of queues with one or more credits.13. The queue selector according to claim 12, the mask compare is adapted to decrease the available bandwidth of one or more queues of the plurality of queues from which data are released to the output in accordance with the length of the data released.14. A queue selection method, comprising the steps of:defining a mask for each queue state variable of a plurality of queue state variables, each mask having a plurality of bits representing the status of the associated queue state variable for a different queue of a plurality of queues; determining a queue state for each of the plurality of queues by combining, for each of the plurality of queues, a bit associated with the queue from each of the plurality of masks; and identifying one or more qualifying queues of the plurality of queues, each of the one or more qualifying queues having a queue state characterized by a positive queue selection criterion. 15. The queue selection method of claim 14, wherein the positive queue selection criterion is an operand having a numerical value of “1.”16. The queue selection method of claim 15, wherein the step of combining the bit associated with the queue from each of the plurality of masks comprises the step of executing a bit-wise-AND operation on the bits from the plurality of masks associated with the queue.17. The queue selection method of claim 14, wherein the step of defining a mask comprises the step of defining a backlog mask associated with a backlog queue state variable.18. The queue selection method of claim 14, wherein the step of defining a mask comprises the step of defining a bandwidth-availability mask associated with a bandwidth-availability queue state variable.19. The queue selection method of claim 14, wherein the step of defining a mask comprises the step of defining a priority mask associated with a priority queue state variable.20. The queue selection method of claim 14, wherein the method further comprises, after the step of identifying one or more qualifying queues, the step of selecting a winning queue from among the one or more qualifying queues, wherein data from the winning queue is released to an output.21. The queue selection method of claim 20, wherein the step of selecting a winning queue from the one or more qualifying queues is made round-robin.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.