Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
AssigneeApple Computer, Inc.
InventorMichael D. Johas Teener
Life of this patent
Estimating the term…
Abstract
A method and apparatus for arbitrating on a high performance serial bus is disclosed. The invention provides for a plurality of arbitration phases and an arbitration advancing means.
Claims36
In a full-duplex communications system having a plurality of nodes sending arbitration requests to a BOSS node, a method for providing an arbitration fairness protocol comprising the acts of:
- providing an first arbitration phase, a second arbitration phase, and an arbitration advancing means;
- sending an arbitration reset command for the first arbitration phase by the BOSS node;
- granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said first arbitration phase during said second arbitration phase;
- granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said first arbitration phase during said first arbitration phase;
- advancing to said second arbitration phase according to said advancing means;
- sending an arbitration reset command for said second arbitration phase by the BOSS node;
- granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said second arbitration phase during said first arbitration phase;
- and
- granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said second arbitration phase during said second arbitration phase.
In a full-duplex communications system having a plurality of nodes communicating in an asynchronous manner, each of the nodes having an arbitration indicator therein, a method for providing access to arbitration comprising the acts of:
- providing a current arbitration phase and an inactive arbitration phase;
- determining whether one of said plurality of nodes wishes to arbitrate on the full-duplex communications system;
- if one of said nodes wishes to arbitrate, determining further whether the arbitration indicator within said node is set;
- sending an arbitration request on said full-duplex communications system for the active arbitration phase by said node if said arbitration indicator is set;
- sending an arbitration request on said full-duplex communications system for the inactive arbitration phase by said node if said arbitration indicator is reset;
- and
- sending an arbitration denial for said current arbitration phase if said node does not wish to arbitrate.
In a full-duplex communications system having a plurality of nodes communicating in an isochronous manner, a method for providing access to arbitration comprising the acts of:
- providing a current arbitration phase and an inactive arbitration phase;
- determining whether one of said plurality of nodes wishes to arbitrate on the full-duplex communications system;
- if one of said nodes wishes to arbitrate, sending an arbitration request on said full-duplex communications system for the active arbitration phase by said node if said arbitration indicator is set;
- and
- sending an arbitration denial request on said full-duplex communications system for said current arbitration phase if said node does not wish to arbitrate.
A full-duplex communications system for providing an arbitration fairness protocol to a plurality of nodes sending arbitration requests to a BOSS node, comprising:
- means for providing an first arbitration phase, a second arbitration phase, and an arbitration advancing means;
- means for sending an arbitration reset command for the first arbitration phase by the BOSS node;
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said first arbitration phase during said second arbitration phase;
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said first arbitration phase during said first arbitration phase;
- means for advancing to said second arbitration phase according to said advancing means;
- means for sending an arbitration reset command for said second arbitration phase by the BOSS node;
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said second arbitration phase during said first arbitration phase;
- and
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said second arbitration phase during said second arbitration phase.
A full-duplex communications system for providing access to arbitration and having a plurality of nodes communicating in an asynchronous manner, each of the nodes having an arbitration indicator therein, the system comprising:
- means for providing a current arbitration phase and an inactive arbitration phase;
- means for determining whether one of said plurality of nodes wishes to arbitrate on the full-duplex communications system;
- means for further determining whether the arbitration indicator within said node is set if one of said nodes wishes to arbitrate;
- means for sending an arbitration request on said full-duplex communications system for the active arbitration phase by said node if said arbitration indicator is set;
- means for sending an arbitration request on said full-duplex communications system for the inactive arbitration phase by said node if said arbitration indicator is reset;
- and
- means for sending an arbitration denial for said current arbitration phase if said node does not wish to arbitrate.
A full-duplex communications system for providing access to arbitration and having a plurality of nodes communicating in an isochronous manner, the system comprising:
- means for providing a current arbitration phase and an inactive arbitration phase;
- means for determining whether one of said plurality of nodes wishes to arbitrate on the full-duplex communications system;
- means for sending an arbitration request on said full-duplex communications system for the active arbitration phase by said node if said arbitration indicator is set, if one of said nodes wishes to arbitrate;
- and
- means for sending an arbitration denial request on said full-duplex communications system for said current arbitration phase if said node does not wish to arbitrate.
A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine for providing an arbitration fairness protocol to a plurality of nodes sending arbitration requests to a BOSS node, comprising:
- means for providing an first arbitration phase, a second arbitration phase, and an arbitration advancing means;
- means for sending an arbitration reset command for the first arbitration phase by the BOSS node;
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said first arbitration phase during said second arbitration phase;
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said first arbitration phase during said first arbitration phase;
- means for advancing to said second arbitration phase according to said advancing means;
- means for sending an arbitration reset command for said second arbitration phase by the BOSS node;
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said second arbitration phase during said first arbitration phase;
- and
- means for granting arbitration by the BOSS node of arbitration requests made by the plurality of nodes for said second arbitration phase during said second arbitration phase.
A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine for providing access to arbitration and having a plurality of nodes communicating in an asynchronous manner, each of the nodes having an arbitration indicator therein, the system comprising:
- means for providing a current arbitration phase and an inactive arbitration phase;
- means for determining whether one of said plurality of nodes wishes to arbitrate on the full-duplex communications system;
- means for further determining whether the arbitration indicator within said node is set if one of said nodes wishes to arbitrate;
- means for sending an arbitration request on said full-duplex communications system for the active arbitration phase by said node if said arbitration indicator is set;
- means for sending an arbitration request on said full-duplex communications system for the inactive arbitration phase by said node if said arbitration indicator is reset;
- and
- means for sending an arbitration denial for said current arbitration phase if said node does not wish to arbitrate.
A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine for providing access to arbitration and having a plurality of nodes communicating in an isochronous manner, the system comprising:
- means for providing a current arbitration phase and an inactive arbitration phase,
- means for determining whether one of said plurality of nodes wishes to arbitrate on the full-duplex communications system;
- means for sending an arbitration request on said full-duplex communications system for the active arbitration phase by said node if said arbitration indicator is set, if one of said nodes wishes to arbitrate;
- and
- means for sending an arbitration denial request on said full-duplex communications system for said current arbitration phase if said node does not wish to arbitrate.
Dependencies are inferred from the claim text.