Coherent data apparatus for an on-chip split transaction system bus
First Claim
1. An on-chip system bus having a plurality of data master devices that perform data transfers with memory, each of the master devices comprising:
- a bus interface, for allowing its master device to communicate with the on-chip system bus; and
a cache coherency system having a cache, coupled to said bus interface, for maintaining coherency between said cache and the memory, wherein said cache coherency system comprises a coherency credit counter, for counting pending coherent operations on the system bus.
5 Assignments
0 Petitions
Accused Products
Abstract
A cache coherency system for an on-chip computing bus is provided. The coherency system contains a coherency credit counter within each master device on the on-chip bus for monitoring the resources available on the bus for coherent transactions, a coherency input buffer for storing coherent transactions, and a cache for storing coherent data. The coherency credit counter tracks coherent transactions pending in a memory controller, and delays coherent transactions from being placed on the bus if coherent resources are not available in the memory controller. When resources become available in the memory controller, the memory controller signals the coherency system in each of the master devices. The coherency system is coupled to a split transaction tracking and control to establish transaction ID'"'"'s for each coherent transaction initiated by its master device, and presents a transaction ID along with an address portion of each coherent transaction.
-
Citations
39 Claims
-
1. An on-chip system bus having a plurality of data master devices that perform data transfers with memory, each of the master devices comprising:
-
a bus interface, for allowing its master device to communicate with the on-chip system bus; and
a cache coherency system having a cache, coupled to said bus interface, for maintaining coherency between said cache and the memory, wherein said cache coherency system comprises a coherency credit counter, for counting pending coherent operations on the system bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
a coherency input buffer, coupled to said coherency credit counter, said coherency input buffer designated to hold coherent transactions.
-
-
22. The on-chip system bus, as recited in claim 21 wherein the size of said coherency input buffer is the same for all of the plurality of data master devices.
-
23. The on-chip system bus, as recited in claim 1 further comprising:
a memory controller, coupled to the system bus, said memory controller having coherency buffer management, said coherency buffer management managing all coherent transactions initiated by the plurality of data master devices.
-
24. The on-chip system bus, as recited in claim 23 wherein said coherency buffer management, upon recognition of a coherent transaction initiated by one of the plurality of data master devices, delays servicing of said coherent transaction by said memory controller until it receives coherency state information from the other of the plurality of data master devices.
-
25. The on-chip system bus, as recited in claim 24 wherein said coherency buffer management, upon receiving said coherency state information from the other of the plurality of data master devices, alerts said memory controller to retrieve datum associated with said coherent transaction.
-
26. The on-chip system bus, as recited in claim 24 wherein said coherency state information comprises:
dirty, clean, invalid, or don'"'"'t-know-yet states.
-
27. A processing device configured to access an on-chip bus to perform a coherent data transfer, the processing device comprising:
-
a bus interface, for coupling the processing device to the on-chip bus; and
a cache coherency system having a cache, coupled to said bus interface, for determining whether the coherent data transfer can begin on the on-chip bus;
wherein the coherent data transfer cannot begin on the on-chip bus if coherent transaction buffer space external to the processing device is unavailable. - View Dependent Claims (28, 29)
-
-
30. A processing device configured to access an on-chip bus to perform a coherent data transfer, the processing device comprising:
-
a bus interface, for coupling the processing device to the on-chip bus;
a cache coherency system having a cache, coupled to said bus interface, for determining whether the coherent data transfer can begin on the on-chip bus; and
split transaction tracking and control, coupled to said bus interface, for establishing a transaction ID for the coherent data transfer, wherein said transfer has split address and data portions. - View Dependent Claims (31, 32)
a transaction buffer, for temporarily storing said transaction ID so that it may be presented along with said coherent data transfer on the on-chip bus.
-
-
32. The processing device as recited in claim 30 wherein said transaction ID comprises:
-
a device ID, for identifying a device that initiates said coherent data transfer; and
a transaction tag, for identifying said coherent data transfer.
-
-
33. A multi-master split-transaction on-chip system bus for interfacing a plurality of master devices to a main memory, wherein each of the plurality of master devices have a bus interface, each of the plurality of master devices comprising:
-
a cache coherency system, having a cache, coupled to the bus interface, for temporarily storing data retrieved from the main memory, for insuring that its master device does not operate on invalid data, and for monitoring a plurality of coherent data transactions; and
split transaction tracking and control, coupled to the bus interface, for establishing transaction ID'"'"'s for each of the plurality of coherent data transactions, wherein said transactions have split address and data portions. - View Dependent Claims (34, 35)
a coherency credit counter, for tracking the number of pending coherent data transactions; and
a coherency input buffer, coupled to said cache, said coherency input buffer designated to hold the plurality of coherent data transactions.
-
-
35. The multi-master split-transaction on-chip system bus as recited in claim 33 wherein said split transaction tracking and control comprises:
means for generating a transaction tag that may be presented along with said address portion of the plurality of coherent data transactions.
-
36. A computer program product for use with a computing device, the computer program product comprising:
-
a computer usable medium having computer readable program code embodied in said medium for causing an on-chip computing bus to be described, said computer readable program code comprising;
first computer readable program code for providing a cache coherency system within a master device, to maintain data coherency between a cache and a main memory for coherent data transactions; and
second computer readable program code for providing split transaction tracking and control to establish transaction ID'"'"'s for said coherent data transactions to be presented on the on-chip computing bus, wherein said transactions have split address and data portions.
-
-
37. A method for performing a coherent data transfer on an on-chip bus, comprising:
-
providing a processing device to access the on-chip bus;
monitoring availability of a coherent transaction buffer space external to the processing device; and
determining whether the coherent data transfer can begin on the on-chip bus based on the availability of the coherent transaction buffer space. - View Dependent Claims (38, 39)
delaying the coherent data transfer if said step of determining determines that the coherent transaction buffer space is unavailable.
-
-
39. The method as recited in claim 37 further comprising:
beginning the coherent data transfer if said step of determining determines that the coherent transaction buffer space is available.
Specification