Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
277 words
In a computer system having a plurality of master devices (masters) that communicate with a plurality of slave devices (slaves) over a shared bus, and wherein masters having operations to be conducted by slaves arbitrate to win bus control to permit a winning master to communicate with a selected one of the slaves, a method of reducing wasted bus bandwidth resulting from slow responding slaves, said method comprising the steps of: a) issuing from the winning master to the selected slave a request for service to be performed by the selected slave; b) signalling the winning master from the selected slave, when the selected slave is either unavailable to service the request or unable to complete the request within a first predetermined time period, that the winning master should relinquish control of the bus; c) relinquishing control of the bus from the winning master in response to the signalling from step (b), the winning master becoming a relinquished master; d) arbitrating for bus control at the selected slave, on the relinquished master's behalf, when the selected slave either becomes available to service the request issued in step (a) or has completed the request issued in step (a); and, e) detecting at the relinquished master that the selected slave has arbitrated for bus control on the relinquished master's behalf, and, in response, arbitrating for bus control at the relinquished master, the relinquished master, upon obtaining bus control, reissuing to the selected slave the request previously issued in step (a); the bus thereby being available for communications between other masters and slaves during times that selected slaves are busy or cannot service requests within the first predetermined time period.
Claim 2
Dependent Claim
277 words
In a computer system having a plurality of master devices (masters) that communicate with a plurality of slave devices (slaves) over a shared bus, and wherein masters having operations to be conducted by slaves arbitrate to win bus control to permit a winning master to communicate with a selected one of the slaves, a method of reducing wasted bus bandwidth resulting from slow responding slaves, said method comprising the steps of: a) issuing from the winning master to the selected slave a request for service to be performed by the selected slave; b) signalling the winning master from the selected slave, when the selected slave is either unavailable to service the request or unable to complete the request within a first predetermined time period, that the winning master should relinquish control of the bus; c) relinquishing control of the bus from the winning master in response to the signalling from step (b), the winning master becoming a relinquished master; d) arbitrating for bus control at the selected slave, on the relinquished master's behalf, when the selected slave either becomes available to service the request issued in step (a) or has completed the request issued in step (a); and, e) detecting at the relinquished master that the selected slave has arbitrated for bus control on the relinquished master's behalf, and, in response, arbitrating for bus control at the relinquished master, the relinquished master, upon obtaining bus control, reissuing to the selected slave the request previously issued in step (a); the bus thereby being available for communications between other masters and slaves during times that selected slaves are busy or cannot service requests within the first predetermined time period.
Claim 3
Dependent Claim
54 words
Method according to claim 1 wherein each master is assigned a unique arbitration code and step (b) further comprises storing the arbitration code of the winning master at the selected slave when the selected slave is either unavailable to service the request or unable to complete the request within the first predetermined time period.
Claim 4
Dependent Claim
24 words
Method according to claim 2 wherein step (d) comprises issuing on the bus, from the selected slave, the arbitration code of the relinquished master.
Claim 5
Dependent Claim
77 words
Method according to claim 2 wherein, when a selected slave is busy servicing a request issued by a winning master, the following steps are performed when another winning master subsequently issues a request to the busy selected slave: (i) maintaining at the selected slave a record of the identity of each other winning master issuing a request; (ii) performing steps (b) through (e) for each other winning master according to the record maintained at the busy slave.
Claim 6
Dependent Claim
28 words
Method according to claim 1 wherein the selected slave reserves resources for servicing the request issued by the winning master in step (a) prior to performing step (d).
Claim 7
Dependent Claim
35 words
Method according to claim 1 wherein the request issued in step (a) is a data request, the selected slave having the requested data available for sending to the relinquished master prior to performing step (d).
Claim 8
Dependent Claim
27 words
Method according to claim 1 wherein step (c) further comprises inhibiting the relinquished master from arbitrating for bus control until the selected slave has performed step (d).
Claim 9
Dependent Claim
58 words
Method according to claim 7 wherein after being inhibited in step (c) from arbitrating for bus control, the relinquished master is again permitted to arbitrate for bus control only if either the selected slave has not arbitrated for bus control on the master's behalf within a second predetermined time period or the selected slave has performed step (d).
Claim 10
Dependent Claim
26 words
Method according to claim 1 wherein the computer system is a multiprocessor system and each master is a processor and each slave is an input/output device.
Claim 11
Dependent Claim
12 words
Method according to claim 1 wherein the bus is a synchronous bus.
Claim 12
Dependent Claim
359 words
In a computer system having plural master processors (masters) that compete for control of a common, synchronous bus via an arbitration scheme for requesting service from one of a plurality of shared input/output slave devices (slaves) connected to the bus, each master having a unique arbitration code assigned thereto, and wherein a winning master monopolizes the bus to issue a request for service to and communicate with a selected one of the slaves during the time that the winning master has obtained bus control, a method of ensuring that no winning master monopolizes the bus by waiting for the selected slave when the selected slave is busy fulfilling a previous request for service from another master or when the selected slave cannot timely provide the request, said method comprising the steps of: a) causing the selected slave to signal the winning master that the winning master should relinquish bus control when the selected slave is busy or incapable of fulfilling a request for service from the wining master within a first period of time, and storing the winning master's arbitration code in the selected slave; b) causing the winning master to relinquish control of the bus in response to the signal from step (a), redefining the winning master as a relinquished master, and inhibiting the relinquished master from subsequently arbitrating with other masters for bus control; c) causing the selected slave to issue the relinquished master's arbitration code on the bus when the selected slave either becomes available to provide the service previously requested by the relinquished master or has completed the service previously requested by the relinquished master; d) causing the relinquished master to detect the presence of its arbitration code on the bus and, in response, causing the relinquished master to arbitrate with the other masters for bus control, the relinquished master, upon obtaining bus control, reissuing to the selected slave the same request for service requested before the winning master became the relinquished master; e) causing the selected slave to carry out the service requested in step (d); whereby, in-between the occurrence of steps (c) and (d) the bus is available for other masters to employ.
Claim 13
Dependent Claim
359 words
In a computer system having plural master processors (masters) that compete for control of a common, synchronous bus via an arbitration scheme for requesting service from one of a plurality of shared input/output slave devices (slaves) connected to the bus, each master having a unique arbitration code assigned thereto, and wherein a winning master monopolizes the bus to issue a request for service to and communicate with a selected one of the slaves during the time that the winning master has obtained bus control, a method of ensuring that no winning master monopolizes the bus by waiting for the selected slave when the selected slave is busy fulfilling a previous request for service from another master or when the selected slave cannot timely provide the request, said method comprising the steps of: a) causing the selected slave to signal the winning master that the winning master should relinquish bus control when the selected slave is busy or incapable of fulfilling a request for service from the wining master within a first period of time, and storing the winning master's arbitration code in the selected slave; b) causing the winning master to relinquish control of the bus in response to the signal from step (a), redefining the winning master as a relinquished master, and inhibiting the relinquished master from subsequently arbitrating with other masters for bus control; c) causing the selected slave to issue the relinquished master's arbitration code on the bus when the selected slave either becomes available to provide the service previously requested by the relinquished master or has completed the service previously requested by the relinquished master; d) causing the relinquished master to detect the presence of its arbitration code on the bus and, in response, causing the relinquished master to arbitrate with the other masters for bus control, the relinquished master, upon obtaining bus control, reissuing to the selected slave the same request for service requested before the winning master became the relinquished master; e) causing the selected slave to carry out the service requested in step (d); whereby, in-between the occurrence of steps (c) and (d) the bus is available for other masters to employ.
Claim 14
Dependent Claim
55 words
Method according to claim 11 wherein the relinquished master is inhibited for a second period of time in step (b) but is permitted to arbitrate with other masters for bus control after expiry of the second period of time irrespective of whether the selected slave has issued the relinquished master's arbitration code on the bus.
Claim 15
Dependent Claim
91 words
Method according to claim 11 wherein, when the selected slave is busy servicing a request previously issued by the winning master while the bus is available for arbitration by other masters, the following steps are performed when another master subsequently wins bus control and issues a request to the busy selected slave: (i) maintaining at the selected slave a record of the arbitration code of each other master issuing a request; (ii) performing steps (a) through (e) for each other winning master according to the record maintained at the busy slave.
Claim 16
Dependent Claim
31 words
Method according to claim 11 wherein, when the selected salve is busy, the selected slave reserves resources for servicing the request issued by the winning master prior to performing step (c).
Claim 17
Dependent Claim
534 words
In a computer system having plural master processors that compete among themselves, via an arbitration state machine, for control of a common, synchronous bus for requesting service from one of a plurality of shared input/output slave devices (slaves) connected to the bus, each master having a unique arbitration code assigned thereto, and wherein a winning master monopolizes the bus to issue a request for service to and communicate with a selected one of the slaves during the time that the winning master has obtained bus control, a method of ensuring that no winning master monopolizes the bus by waiting for the selected slave either when the selected slave is busy fulfilling a previous request for service from another master or when the selected slave cannot timely provide the request, said method comprising the steps of: a) causing the selected slave to signal the winning master that the wining master should relinquish bus control when the selected slave is either busy or unable to service the request from the winning master within a first period of time, and storing the winning master's arbitration code in a memory register of the selected slave; b) causing the winning master to relinquish bus control in response to the signal from step (a), redefining the winning master as a relinquished master, and inhibiting the relinquished master from subsequently arbitrating with other masters for bus control except after expiry of a second period of time after the relinquished master has relinquished bus control; c) causing the selected slave to issue the relinquished master's arbitration code on the bus when the selected slave either becomes available to provide the service previously requested by the relinquished master or has completed the service previously requested by the relinquished master, the selected slave first reserving resources for servicing the request issued by the winning master if the selected slave had provided the signal in step (a) as a result of being busy servicing another request; d) causing the relinquished master to detect the presence of its arbitration code on the bus and, in response, causing the relinquished master to arbitrate with the other masters for bus control even if the second period of time has not expired, the relinquished master, upon obtaining bus control, reissuing to the selected slave the same request for service requested before the winning master became the relinquished master; e) causing the selected slave to carry out the service requested in step (d); and, f) causing the selected slave, when busy servicing the request previously issued by the winning master, and when the bus is available for arbitration by other masters, to perform the following steps when another master subsequently wins bus control and issues a request to the busy selected slave: (i) maintaining at the selected slave a record of the arbitration code of each other master issuing a request; and, (ii) performing steps (a) through (e) for each other winning master according to the record maintained at the busy selected slave; whereby, in-between the occurrence of steps (c) and (d) the bus is available for communications between other masters and slaves during times that selected slaves are busy or cannot service requests within the first predetermined time period.
Claim 18
Dependent Claim
534 words
In a computer system having plural master processors that compete among themselves, via an arbitration state machine, for control of a common, synchronous bus for requesting service from one of a plurality of shared input/output slave devices (slaves) connected to the bus, each master having a unique arbitration code assigned thereto, and wherein a winning master monopolizes the bus to issue a request for service to and communicate with a selected one of the slaves during the time that the winning master has obtained bus control, a method of ensuring that no winning master monopolizes the bus by waiting for the selected slave either when the selected slave is busy fulfilling a previous request for service from another master or when the selected slave cannot timely provide the request, said method comprising the steps of: a) causing the selected slave to signal the winning master that the wining master should relinquish bus control when the selected slave is either busy or unable to service the request from the winning master within a first period of time, and storing the winning master's arbitration code in a memory register of the selected slave; b) causing the winning master to relinquish bus control in response to the signal from step (a), redefining the winning master as a relinquished master, and inhibiting the relinquished master from subsequently arbitrating with other masters for bus control except after expiry of a second period of time after the relinquished master has relinquished bus control; c) causing the selected slave to issue the relinquished master's arbitration code on the bus when the selected slave either becomes available to provide the service previously requested by the relinquished master or has completed the service previously requested by the relinquished master, the selected slave first reserving resources for servicing the request issued by the winning master if the selected slave had provided the signal in step (a) as a result of being busy servicing another request; d) causing the relinquished master to detect the presence of its arbitration code on the bus and, in response, causing the relinquished master to arbitrate with the other masters for bus control even if the second period of time has not expired, the relinquished master, upon obtaining bus control, reissuing to the selected slave the same request for service requested before the winning master became the relinquished master; e) causing the selected slave to carry out the service requested in step (d); and, f) causing the selected slave, when busy servicing the request previously issued by the winning master, and when the bus is available for arbitration by other masters, to perform the following steps when another master subsequently wins bus control and issues a request to the busy selected slave: (i) maintaining at the selected slave a record of the arbitration code of each other master issuing a request; and, (ii) performing steps (a) through (e) for each other winning master according to the record maintained at the busy selected slave; whereby, in-between the occurrence of steps (c) and (d) the bus is available for communications between other masters and slaves during times that selected slaves are busy or cannot service requests within the first predetermined time period.