Split transaction protocol for a bus system
AssigneeIntel Corporation
InventorsJohn I. GARNEY, John S. Howard
Life of this patent
Estimating the term…
Abstract
A method of and apparatus for communicating between a host and an agent. The method includes the step of performing a first transaction between a host controller and a hub. The hub is operable to perform a single transaction with an agent based on the first transaction. The method then includes the step of performing a second transaction between the host controller and the hub. The second transaction is based on the single transaction.
Claims31
-30. (canceled)
A method for scheduling communication of data between a host and an agent, the method comprising:
- informing a host controller of the host of a data transfer capability of each endpoint of the agent;
- building a budget list for each endpoint of the agent, the budget list providing an earliest time a transfer between the hub and the end point is to occur and a latest time a result associated with the transfer is to be available;
- scheduling a first transaction of a split transaction between the host controller and the hub, the first transaction being scheduled to occur one unit time period before a first respective unit time period during which the transfer is to occur according to the earliest time of the budget list;
- and
- scheduling a second transaction of the split transaction between the host controller and the hub, the second transaction being scheduled one unit time period after a second respective unit time period during which the transfer is to finish according to the latest time of the budget list.
A digital system comprising:
- a host controller to schedule a split transaction to transfer data between the host controller and an endpoint of an agent via a hub;
- a device driver that operates the host controller to build a budget list for each endpoint of the agent, the budget list providing an earliest time a transfer between the hub and the end point is to occur and a latest time a result associated with the transfer is to be available;
- wherein the host controller is to:
- schedule a first transaction of a split transaction between the host controller and the hub, the first transaction being scheduled to occur one unit time period before a first respective unit time period during which the transfer is to occur according to the earliest time of the budget list;
- schedule a second transaction of the split transaction between the host controller and the hub, the second transaction being scheduled one unit time period after a second respective unit time period during which the transfer is to finish according to the latest time of the budget list;
- and
- schedule a third transaction to occur while the transfer is being performed.
An input/output peripheral device comprising:
- a hub with a hub controller;
- and
- a host coupled to the hub controller, the host having a host controller to schedule a split transaction to transfer data between the host and an agent via the hub, the split transaction being scheduled based on a budget list for each endpoint of the agent, the budget list providing an earliest time a transfer between the hub controller and the end point is to occur and a latest time a result associated with the transfer is to be available;
- wherein the host controller is operable to:
- schedule a first transaction of the split transaction between the host and the hub, the first transaction being scheduled to occur one unit time period before a first respective unit time period during which the transfer to occur according to the earliest time of the budget list;
- schedule a second transaction of the split transaction between the host and the hub, the second transaction being scheduled one unit time period after a second respective unit time period during which the transfer to finish according to the latest time of the budget list;
- and
- schedule a third transaction to occur while the transfer is being performed.
Dependencies are inferred from the claim text.