Advanced bandwidth allocation in PCI bus architecture
First Claim
Patent Images
1. A method comprising:
- assigning a top-up of number of latency sensitive (LS) tokens associated with each requestor, with the number of LS tokens indicating the LS bandwidth of the bus allocated to an associated requestor;
assigning a top-up of number of latency insensitive (LI) tokens associated with each requestor, with the number of LI tokens indicating the LI bandwidth of the bus allocated to an associated requestor;
setting the widths of alternately occurring LS and LI resource access windows with the width of the LI resource access window not greater than a required LS time interval where the width of the LS resource access window is an allocation of total bus bandwidth to LS accesses and the remaining bus bandwidth is allocated to LI accesses;
applying either an LS resource access window or an LI resource access window to a current arbitration cycle;
granting access to a requestor having the most LS tokens when a number of requestors request access to the bus during a current arbitration cycle in the LS resource access window and decrementing the number of LS tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle; and
granting access to a requestor having the most LI tokens when a number of requestors request access to the bus during a current arbitration cycle in the LI resource access window and decrementing the number of LI tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle.
1 Assignment
0 Petitions
Accused Products
Abstract
A bus arbitration system and method allocates total bus bandwidth between latency sensitive and latency insensitive interfaces by utilizing windows to divide the total bandwidth into latency sensitive and latency insensitive portions. Each interface is initially allocated top-up numbers of latency sensitive and latency insensitive tokens to proportionally allocate bus accesses between the interfaces according to their requirements. For an interface having access to the bus, the number of tokens is decremented for each successful bus transfer.
50 Citations
25 Claims
-
1. A method comprising:
-
assigning a top-up of number of latency sensitive (LS) tokens associated with each requestor, with the number of LS tokens indicating the LS bandwidth of the bus allocated to an associated requestor; assigning a top-up of number of latency insensitive (LI) tokens associated with each requestor, with the number of LI tokens indicating the LI bandwidth of the bus allocated to an associated requestor; setting the widths of alternately occurring LS and LI resource access windows with the width of the LI resource access window not greater than a required LS time interval where the width of the LS resource access window is an allocation of total bus bandwidth to LS accesses and the remaining bus bandwidth is allocated to LI accesses; applying either an LS resource access window or an LI resource access window to a current arbitration cycle; granting access to a requestor having the most LS tokens when a number of requestors request access to the bus during a current arbitration cycle in the LS resource access window and decrementing the number of LS tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle; and granting access to a requestor having the most LI tokens when a number of requestors request access to the bus during a current arbitration cycle in the LI resource access window and decrementing the number of LI tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a programmable window signal generator that outputs a window control signal indicating whether a current access window is a latency sensitive (LS) or latency insensitive (LI) access window with the duration of an LS interval between occurrences of the successive LS access windows being programmable; a selector block that receives a number of LS tokens and LI tokens, associated with each requesting device requesting access to the bus during a current arbitration cycle, at first and second input ports respectively, a control input coupled to the programmable window signal generator to receive the window control signal, and an output coupled to the first input port during an LS window and to the second input port during an LI window; and an arbiter block, coupled to the output port of the selector block, that grants access to the bus to a requesting device having the most tokens and that decrements the number of tokens assigned to a winning device granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle. - View Dependent Claims (9, 10, 11)
-
-
12. A system comprising:
-
means for assigning a top-up of number of latency sensitive (LS) tokens associated with each requestor, with the number of LS tokens indicating the LS bandwidth of the bus allocated to an associated requestor; means for assigning a top-up of number of latency insensitive (LI) tokens associated with each requestor, with the number of LI tokens indicating the LI bandwidth of the bus allocated to an associated requestor; means for setting the widths of alternately occurring LS and LI resource access windows with the width of the LI resource access window not greater than a required LS time interval where the width of the LS resource access window is an allocation of total bus bandwidth to LS accesses and the remaining bus bandwidth is allocated to LI accesses; means for applying either an LS resource access window or an LI resource access window to a current arbitration cycle; means for granting access to a requestor having the most LS tokens when a number of requestors request access to the bus during a current arbitration cycle in the LS resource access window and decrementing the number of LS tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle; and means for granting access to a requestor having the most LI tokens when a number of requestors request access to the bus during a current arbitration cycle in the LI resource access window and decrementing the number of LI tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. Software embodied on one or more computer readable media when executed operable to:
-
assign a top-up of number of latency sensitive (LS) tokens associated with each requestor, with the number of LS tokens indicating the LS bandwidth of the bus allocated to an associated requestor; assign a top-up of number of latency insensitive (LI) tokens associated with each requestor, with the number of LI tokens indicating the LI bandwidth of the bus allocated to an associated requestor; set the widths of alternately occurring LS and LI access resource windows with the width of the LI resource access window not greater than a required LS time interval, where the width of the LS resource access window is an allocation of total bus bandwidth to LS accesses and the remaining bus bandwidth is allocated to LI accesses; apply either an LS resource access window or an LI resource access window to a current arbitration cycle; grant access to a requestor having the most LS tokens when a number of requestors request access to the bus during a current arbitration cycle in the LS resource access window and decrement the number of LS tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle; and grant access to a requestor having the most LI tokens when a number of requestors request access to the bus during a current arbitration cycle in the LI resource access window and decrement the number of LI tokens assigned to a winning requestor granted access to the bus in proportion to the number of successful bus data transactions completed during the current arbitration cycle. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification