IP Library Granted Patent US 8,041,869
Granted Patent B2
US 8,041,869 · App. 12/817,812 · Granted Oct 18, 2011

Method and system for bus arbitration

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,041,869
App. No.
12/817,812
Granted
Oct 18, 2011
Kind
B2
Abstract

A method and system for bus arbitration to be used in a system having a plurality of data handling units ( 110 a, . . . , 110 d ) and a shared bus ( 140 ) with a plurality of data-lines. The invention provides a method and an system to carry out the method, having steps of; receiving data transfer requests from the data handling units; selecting a set of data transfer requests the allowance of which serves a maximum number of data handling units and utilizes a maximum number of data-lines, and; allowing the data handling units that issued said selected set of data transfer requests to access said bus in a single bus cycle.

Claims (34)

1. A method of bus arbitration comprising the acts of:

providing a system having a plurality of data handling units and a shared bus with a plurality of data-lines, there being sufficient number of data-lines to allow multiple data handling units to simultaneously access different data-lines of the shared bus during a single bus cycle, and there being more data units than a minimum number of data units that could simultaneously access all the data-lines of the shared buss in a single cycle,

receiving data transfer requests from the data handling units;

selecting one or more first sets of one or more data transfer requests, which first sets each serves a same maximum number of data handling units in a single bus cycle, and

selecting from the one or more first sets, a single second set which utilizes a maximum number of data-lines in the single bus cycle, and

allowing the data handling units that issued said selected second set of data transfer requests to access said bus in a single bus cycle.

2. The method for bus arbitration as claimed in claim 1 , wherein the act of allowing the data handling units includes an act of registering and scheduling of each received and served request.

3. A bus arbitrator comprising:

a receiver for receiving data transfer requests from a plurality of data handling units, and wherein the arbitrator arbitrates access to the data lines of a shared bus amongst said plurality of data handling units, there being a sufficient number of data-lines to allow multiple data handling units to simultaneously access different data-lines of the shared bus during a single bus cycle, and there being more data units than a minimum number of data units that could simultaneously access all the data-lines of the shared buss in a single cycle;

logic means for selecting one or more first sets of one or more data transfer requests, the allowance of which first sets each serves a same maximum number of data handling units, in a single bus cycle, and for selecting from the one or more first sets, a single second set which utilizes a maximum number of data-lines, in a single bus cycle; and

a controller for registering and maintaining a schedule of pending data transfer requests and for allowing the data handling units that issued said selected second set of data transfer requests to access said bus in a single bus cycle.

4. A method of bus arbitration comprising the acts of

providing a system having a plurality of data handling units and a shared bus with a plurality of data-lines, there being a sufficient number of data-lines to allow multiple data handling units to simultaneously access different data-lines of the shared bus during a single bus cycle, and there being more data units than a minimum number of data units that could simultaneously access all the data-lines of the shared buss in a single cycle;

selecting one or more first sets of one or more data transfer requests, which first sets each meet a predetermined age criteria in a single bus cycle, and

selecting from the one or more first sets, one or more second sets of one or more data transfer requests, which second sets each serves a same maximum number of data handling units in a single bus cycle, and

selecting from the one or more second sets, a single third set which utilizes a maximum number of data-lines in a single bus cycle, and

allowing the data handling units that issued said selected third set of data transfer requests to access said bus in a single bus cycle.

5. The method of bus arbitration of claim 4 , wherein the predetermined age criteria met by the one or more first sets is the serving a same maximum number of data transfer requests having been pending for more than a predetermined duration.

6. A bus arbitrator comprising:

a receiver for receiving data transfer requests from a plurality of data handling units, and wherein the arbitrator arbitrates access to the data lines of a shared bus amongst said plurality of data handling units, there being a sufficient number of data-lines to allow multiple data handling units to simultaneously access different data-lines of the shared bus during a single bus cycle, and there being more data units than a minimum number of data units that could simultaneously access all the data-lines of the shared buss in a single cycle;

logic means for selecting one or more first sets of one or more data transfer requests, which first sets each meet a predetermined age criteria in a single bus cycle, and for selecting from the one or more first sets, one or more second sets of one or more data transfer requests, which second sets each serves a same maximum number of data handling units in a single bus cycle, and for selecting from the one or more second sets, a single third set which utilizes a maximum number of data-lines in a single bus cycle, and;

a controller for registering and maintaining a schedule of pending data transfer requests and for allowing the data handling units that issued said selected third set of data transfer requests to access said bus in a single bus cycle.

7. The bus arbitrator of claim 6 , wherein the predetermined age criteria met by the one or more first sets is the serving a same maximum number of data transfer requests having been pending for more than a predetermined duration.

8. A method of bus arbitration comprising the acts of:

providing a system having a plurality of data handling units and a shared bus with a plurality of data-lines, there being a sufficient number of data-lines to allow multiple data handling units to simultaneously access different data-lines of the shared bus during a single bus cycle, and there being more data units than a minimum number of data units that could simultaneously access all the data-lines of the shared buss in a single cycle,

receiving data transfer requests from the data handling units;

selecting one or more first sets of one or more data transfer requests, which first sets each serves a same maximum number of data transfer requests, in a single bus cycle, and

selecting from the one or more first sets, one or more second sets which serves a maximum number of data handling units, in a single bus cycle,

selecting from the one or more second sets, a single third set, which third set meets a predetermined age criteria, and

allowing the data handling units that issued said selected third set of data transfer requests to access said bus in a single bus cycle.

9. A bus arbitrator comprising:

a receiver for receiving data transfer requests from a plurality of data handling units, and wherein the arbitrator arbitrates access to the data lines of a shared bus amongst said plurality of data handling units, there being a sufficient number of data-lines to allow multiple data handling units to simultaneously access different data-lines of the shared bus during a single bus cycle, and there being more data units than a minimum number of data units that could simultaneously access all the data-lines of the shared buss in a single cycle;

logic means for selecting one or more first sets of one or more data transfer requests, which first sets each serves a same maximum number of data transfer requests, in a single bus cycle, and selecting from the one or more first sets, one or more second sets which serves a maximum number of data handling units, in a single bus cycle, and selecting from the one or more second sets, a third set, which third set meets a predetermined age criteria and;

a controller for registering and maintaining a schedule of pending data transfer requests and for allowing the data handling units that issued said selected third set of data transfer requests to access said bus in a single bus cycle.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2022
From: KONINKLIJKE PHILIPS N.V.
To: NETWORK SYSTEM TECHNOLOGIES LLC
Reel/Frame 062061/0657 →