PCI arbiter
First Claim
1. A method for a bus arbiter to control access to a bus, comprising:
- determining by a first device a first priority level of first data to be transferred by the first device, wherein the first priority is based on a latency requirement of a first type of data corresponding to the first data;
determining by a second device a second priority level of second data to be transferred by the second device, wherein the second priority level is based on a latency requirement of a second type of data corresponding to the second data;
receiving a first bus access request from a first device requesting access to the bus for transferring the first data;
receiving data representative of the first priority for the first data corresponding to the first bus access request separately from the first bus access request;
asserting a first bus grant corresponding to the first bus access request to the first device until an entire packet transfer completion is imminent unless a bus access request is received with a higher priority level;
receiving a second bus access request from the second device for transferring the second data;
,receiving data representative of the second priority level for the second data separately from the first bus access request, the data representative of the priority of the first data, and the second bus access request, wherein the second priority level is a higher priority than the first priority level;
immediately de-asserting the first bus grant associated with the first bus access request responsive to the second bus access request having a higher priority than the bus access request; and
asserting a second bus grant associated with the second bus access request signal to the second device responsive to the second bus access request having a higher priority than the bus access request;
wherein the first device is responsive to the de-asserting of the first bus grant to immediately relinquish the bus.
1 Assignment
0 Petitions
Accused Products
Abstract
A bus arbiter that ensures high priority transfers complete and allows high-priority data transfers with specific latency requirements, such as 802.11 requirements, to be prioritized above data transfers with lower latency requirements. As an example, the arbiter closely manages all transactions and guarantees sufficient latencies by pre-empting lower-priority data transfers with higher priority data transfers. All devices on the bus are configured with a latency timer setting of zero or a non-zero value which guarantees required data transfer latencies are met which means that any device will terminate bus-master transfers quickly upon the bus grant signal being de-asserted. To ensure a transfer completes, bus grant for the priority transfer is asserted until entire data transfer completion is imminent, enabling transfers, such as high priority transfers, to complete uninterrupted.
32 Citations
14 Claims
-
1. A method for a bus arbiter to control access to a bus, comprising:
-
determining by a first device a first priority level of first data to be transferred by the first device, wherein the first priority is based on a latency requirement of a first type of data corresponding to the first data; determining by a second device a second priority level of second data to be transferred by the second device, wherein the second priority level is based on a latency requirement of a second type of data corresponding to the second data; receiving a first bus access request from a first device requesting access to the bus for transferring the first data; receiving data representative of the first priority for the first data corresponding to the first bus access request separately from the first bus access request; asserting a first bus grant corresponding to the first bus access request to the first device until an entire packet transfer completion is imminent unless a bus access request is received with a higher priority level; receiving a second bus access request from the second device for transferring the second data;
,receiving data representative of the second priority level for the second data separately from the first bus access request, the data representative of the priority of the first data, and the second bus access request, wherein the second priority level is a higher priority than the first priority level; immediately de-asserting the first bus grant associated with the first bus access request responsive to the second bus access request having a higher priority than the bus access request; and asserting a second bus grant associated with the second bus access request signal to the second device responsive to the second bus access request having a higher priority than the bus access request; wherein the first device is responsive to the de-asserting of the first bus grant to immediately relinquish the bus. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a bus arbiter coupled to a bus for controlling access to the bus, wherein the bus is coupled to a first device and a second device; at least one coupler between the bus arbiter and the first device for asserting at least one of the group consisting of a bus access request signal and a bus grant signal between the bus arbiter and the first device; at least one coupler between the bus arbiter and the second device for asserting at least one of the group consisting of a bus access request signal and a bus grant signal between the bus arbiter and the second device; a first additional coupler for coupling the bus arbiter to the first device enabling the bus arbiter to receive a signal indicative of a first priority level corresponding to first data associated with a first bus access request from the first device separately from the bus access request from the first device; and a second additional coupler for coupling the bus arbiter to the second device enabling the bus arbiter to receive a signal indicative of a second priority level corresponding to a second data associated with a second bus access request from the second device separately from the bus access request from the second device; wherein the bus arbiter sets a latency timer for the first device and a latency timer for the second device to zero; wherein the bus arbiter is responsive to a bus access request signal from the first device to assert and hold bus grant to the first device while data the first data is being transferred; wherein the bus arbiter is responsive to receiving a second bus access request on the at least one coupler between the bus arbiter and the second device and a separate signal indicative of a second priority level corresponding to the second data being transferred associated with the second bus access request on the additional coupler for coupling the bus arbiter to the second device, wherein the arbiter is configured to immediately de-assert bus grant to the first device, and assert a bus grant to the second device responsive to the second priority level being higher than the first priority level; wherein the first priority level is based on a latency requirement of the first data and the second priority level is based on a latency requirement of the second data; and wherein the first device relinquishes the bus immediately responsive to the first bus grant being de-asserted. - View Dependent Claims (9, 10)
-
-
11. A multi-transceiver system, comprising:
-
a first wireless transceiver, the first wireless transceiver further comprising a latency timer; a second wireless transceiver, the second wireless transceiver further comprising a latency timer; a host unit comprising a host memory for storing packets for the first wireless transceiver and the second wireless transceiver; a bus coupling the host memory to the first wireless transceiver and the second wireless transceiver; and a bus arbiter for controlling access to the bus, the bus arbiter coupled to the host unit, first wireless transceiver and second wireless transceiver; a first digital output coupling the first wireless transceiver to the bus arbiter; a second digital output coupling the second wireless transceiver to the bus arbiter; wherein the bus arbiter sets a latency timer for the first wireless transceiver and the latency timer for the second wireless transceiver to zero wherein the bus arbiter is configured to grant a bus access request to the first wireless transceiver; wherein the bus arbiter is configured to determine a first priority level for the bus access request form the first wireless device based on a separate signal received on the first digital output from the first wireless device; wherein the bus arbiter is configured to immediately de-assert bus grant to the first wireless transceiver responsive to determining that a bus access request from the second wireless transceiver is for data that has a higher priority than data corresponding to the bus access request from the first wireless transceiver; wherein the first wireless transceiver is responsive to the latency timer being set to zero to relinquish the bus immediately after the bus arbiter de-asserts bus grant; wherein the first wireless device bases the first priority level on a latency requirement of data associated with the first bus access request; and wherein the second wireless device bases the second priority level on a latency requirement of data associated with the second bus access request. - View Dependent Claims (12, 13, 14)
-
Specification