Patent US5659708A successfully refreshed from Google Patents.
US5659708A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Cache coherency in a multiprocessing system
Assignee: International Business Machines Corp
•
Filing: 1994-10-03
•
Granted: 1997-08-19
•
Expires: 2014-10-03
Abstract
Abstract A multiprocessor system utilizing a plurality of bus devices coupled via a shared bus utilizes a specially coded signal to notify a bus device initiating a read or a read with intent to modify operation that the requested data, or cache line, is in a modified state within a cache of another bus device. Unlike the modified response signal, this special signal is sent along with the requested data from the one bus device to the requesting bus device, indicating that this data has priority over any data being sent from the memory system coupled to the shared bus. The present invention allows for cache-to-cache and cache-to-memory-and-cache operations.
Inventors
- 👤 Ravi Kumar Arimilli
- 👤 John Michael Kaiser
- 👤 William Kurt Lewchuk
- 👤 Michael Scott Allen
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 16:42
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0831; G06F12/0833
Claims Analysis
Total Claims: 36
Claim 1
Independent Claim
280 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, a method comprising the steps of: issuing a read operation onto said bus architecture, said read operation issued by a first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; snooping of said read operation by a second one of said plurality of bus devices; determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus device determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; and sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal.
Claim 2
Dependent Claim
280 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, a method comprising the steps of: issuing a read operation onto said bus architecture, said read operation issued by a first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; snooping of said read operation by a second one of said plurality of bus devices; determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus device determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; and sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal.
Claim 3
Dependent Claim
59 words
The method as recited in claim 1, further comprising the step of: sending a copy of said modified copy of said data portion from said second one of said plurality of bus devices to a cache of said first one of said plurality of bus device, said copy of said modified copy of said data portion following said signal.
Claim 4
Dependent Claim
68 words
The method as recited in claim 2, further comprising the step of: receiving, by said first one of said plurality of bus devices, said copy of said modified copy of said data portion, wherein receipt, by said first one of said plurality of bus devices, of said copy of said modified copy of said data portion takes priority over receipt of said data portion from said memory device.
Claim 5
Dependent Claim
31 words
The method as recited in claim 3, further comprising the step of: ignoring, by said first one of said plurality of bus devices, said data portion received from said memory device.
Claim 6
Dependent Claim
153 words
The method as recited in claim 2, wherein said data processing system further includes a system controller coupled point-to-point to each of said bus devices, and wherein said step of sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said first one of said plurality of bus devices further comprises the steps of: transmitting, from said second one of said plurality of bus devices to said system controller, a data-only bus request; and returning, from said system controller to said second one of said plurality of bus devices, a bus grant in response to said data-only bus request, said transmitting and said returning steps occurring before said step of sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said first one of said plurality of bus devices.
Claim 7
Dependent Claim
37 words
The method as recited in claim 2, further comprising the step of: sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said memory device.
Claim 8
Dependent Claim
15 words
The method as recited in claim 1, wherein said read operation is a read-with-intent-to-modify operation.
Claim 9
Dependent Claim
58 words
The method as recited in claim 1, wherein said copy of said modified copy of said data portion is received by said first one of said plurality of bus devices from said second one of said plurality of bus devices with said signal before said message is received by said first one of said plurality of bus devices.
Claim 10
Dependent Claim
47 words
The method as recited in claim 8, wherein said first one of said plurality of bus devices does not accept said copy of said modified copy of said data portion received from said second one of said plurality of bus devices if said signal is not asserted.
Claim 11
Dependent Claim
53 words
The method as recited in claim 8, wherein said first one of said plurality of bus devices will accept said copy of said modified copy of said data portion if said signal is asserted even though said message has not yet been received by said first one of said plurality of bus devices.
Claim 12
Dependent Claim
363 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; and means, coupled to said second one of said plurality of bus devices, for sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal.
Claim 13
Dependent Claim
363 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; and means, coupled to said second one of said plurality of bus devices, for sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal.
Claim 14
Dependent Claim
70 words
The system as recited in claim 11, comprising: means, coupled to said second one of said plurality of bus devices, for sending a copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified of said data portion following said signal.
Claim 15
Dependent Claim
67 words
The system as recited in claim 12, further comprising: means for receiving, by said first one of said plurality of bus devices, said copy of said modified copy of said data portion, wherein receipt, by said first one of said plurality of bus devices, of said copy of said modified copy of said data portion takes priority over receipt of said data portion from said memory device.
Claim 16
Dependent Claim
30 words
The system as recited in claim 13, further comprising: means for ignoring, by said first one of said plurality of bus devices, said data portion received from said memory device.
Claim 17
Dependent Claim
15 words
The system as recited in claim 11, wherein said read operation is a read-with-intent-to-modify operation.
Claim 18
Dependent Claim
40 words
The system as recited in claim 11, wherein said plurality of bus devices further includes one or more I/O channel controllers coupled to an I/O bus, and wherein said memory device includes a memory controller coupled to a storage device.
Claim 19
Dependent Claim
282 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, a method comprising the steps of: issuing a read operation onto said bus architecture, said read operation issued by a first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device: snooping of said read operation by a second one of said plurality of bus devices; determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; and sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus device determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said data processing system further includes a system controller coupled point-to-point with each of said bus devices, further comprising the steps of: transmitting a bus request for said read operation by said first one of said plurality of bus devices to said system controller; and returning, from said system controller to said first one of said plurality of bus devices, a bus grant for said read operation in response to said bus request, said transmitting and said returning steps occurring before said issuing step.
Claim 20
Dependent Claim
282 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, a method comprising the steps of: issuing a read operation onto said bus architecture, said read operation issued by a first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device: snooping of said read operation by a second one of said plurality of bus devices; determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; and sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus device determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said data processing system further includes a system controller coupled point-to-point with each of said bus devices, further comprising the steps of: transmitting a bus request for said read operation by said first one of said plurality of bus devices to said system controller; and returning, from said system controller to said first one of said plurality of bus devices, a bus grant for said read operation in response to said bus request, said transmitting and said returning steps occurring before said issuing step.
Claim 21
Dependent Claim
358 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; and means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said data processing system further includes a system controller coupled point-to-point with each of said bus devices, further comprising: means, coupled to said first one of said plurality of bus devices, for transmitting a bus request for said read operation by said first one of said plurality of bus devices to said system controller; and means, coupled to said system controller, for returning, from said system controller to said first one of said plurality of bus devices, a bus grant for said read operation in response to said bus request.
Claim 22
Dependent Claim
358 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; and means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said data processing system further includes a system controller coupled point-to-point with each of said bus devices, further comprising: means, coupled to said first one of said plurality of bus devices, for transmitting a bus request for said read operation by said first one of said plurality of bus devices to said system controller; and means, coupled to said system controller, for returning, from said system controller to said first one of said plurality of bus devices, a bus grant for said read operation in response to said bus request.
Claim 23
Dependent Claim
548 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; means, coupled to said second one of said plurality of bus devices, for sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal; and means, coupled to said second one of said plurality of bus devices, for sending said copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified copy of said data portion following said signal indicating that data being sent is a copy of said modified copy of said data portion, wherein said data processing system further includes a system controller coupled point-to-point to each of said bus devices, and wherein said means for sending of said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said first one of said plurality of bus devices further comprises: means for transmitting, from said second one of said plurality of bus devices to said system controller, a data-only bus request; and means for returning, from said system controller to said second one of said plurality of bus devices, a bus grant in response to said data-only bus request.
Claim 24
Dependent Claim
548 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; means, coupled to said second one of said plurality of bus devices, for sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal; and means, coupled to said second one of said plurality of bus devices, for sending said copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified copy of said data portion following said signal indicating that data being sent is a copy of said modified copy of said data portion, wherein said data processing system further includes a system controller coupled point-to-point to each of said bus devices, and wherein said means for sending of said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said first one of said plurality of bus devices further comprises: means for transmitting, from said second one of said plurality of bus devices to said system controller, a data-only bus request; and means for returning, from said system controller to said second one of said plurality of bus devices, a bus grant in response to said data-only bus request.
Claim 25
Dependent Claim
482 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; means, coupled to said second one of said plurality of bus devices, for sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal; and means, coupled to said second one of said plurality of bus devices, for sending said copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified copy of said data portion following said signal indicating that data being sent is a copy of said modified copy of said data portion, further comprising: means, coupled to said second one of said plurality of bus devices, for sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said memory device.
Claim 26
Dependent Claim
482 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; means, coupled to said second one of said plurality of bus devices, for sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices, said message sent in parallel with said signal; and means, coupled to said second one of said plurality of bus devices, for sending said copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified copy of said data portion following said signal indicating that data being sent is a copy of said modified copy of said data portion, further comprising: means, coupled to said second one of said plurality of bus devices, for sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said memory device.
Claim 27
Dependent Claim
537 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, and a system controller coupled point-to-point with each of said bus devices, wherein each of said plurality of bus devices includes a cache, a method comprising the steps of: transmitting a bus request for a read operation by a first one of said plurality of bus devices to said system controller; returning, from said system controller to said first one of said plurality of bus devices, a bus grant for said read operation in response to said bus request; issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; snooping of said read operation by a second one of said plurality of bus devices; determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within a cache of said second one of said plurality of bus devices; sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices; transmitting, from said second one of said plurality of bus devices to said system controller, a data-only bus request; returning, from said system controller to said second one of said plurality of bus devices, a bus grant in response to said data-only bus request; sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified copy of said data portion following said signal, said transmitting and said remaining steps occurring before said step of sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said first one of said plurality of bus devices; and receiving, by said first one of said plurality of bus devices, said copy of said modified copy of said data portion, wherein receipt, by said first one of said plurality of bus devices, of said copy of said modified copy of said data portion takes priority over receipt of said data portion from said memory device.
Claim 28
Dependent Claim
537 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, and a system controller coupled point-to-point with each of said bus devices, wherein each of said plurality of bus devices includes a cache, a method comprising the steps of: transmitting a bus request for a read operation by a first one of said plurality of bus devices to said system controller; returning, from said system controller to said first one of said plurality of bus devices, a bus grant for said read operation in response to said bus request; issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; snooping of said read operation by a second one of said plurality of bus devices; determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within a cache of said second one of said plurality of bus devices; sending a message, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices; transmitting, from said second one of said plurality of bus devices to said system controller, a data-only bus request; returning, from said system controller to said second one of said plurality of bus devices, a bus grant in response to said data-only bus request; sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device; sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, said copy of said modified copy of said data portion following said signal, said transmitting and said remaining steps occurring before said step of sending said copy of said modified copy of said data portion from said second one of said plurality of bus devices to said first one of said plurality of bus devices; and receiving, by said first one of said plurality of bus devices, said copy of said modified copy of said data portion, wherein receipt, by said first one of said plurality of bus devices, of said copy of said modified copy of said data portion takes priority over receipt of said data portion from said memory device.
Claim 29
Dependent Claim
215 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, a method comprising the steps of: issuing a read operation onto said bus architecture, said read operation issued by a first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; snooping of said read operation by a second one of said plurality of bus devices; and determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus device determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said first one of said plurality of bus devices ignores any data not accompanied by said signal.
Claim 30
Dependent Claim
215 words
In a data processing system including a plurality of bus devices coupled through a bus architecture with a memory device, a method comprising the steps of: issuing a read operation onto said bus architecture, said read operation issued by a first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; snooping of said read operation by a second one of said plurality of bus devices; and determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus device determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said first one of said plurality of bus devices ignores any data not accompanied by said signal.
Claim 31
Dependent Claim
28 words
The method as recited in claim 22, wherein said any data is received before said copy of said modified copy of said data portion accompanied by said signal.
Claim 32
Dependent Claim
285 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; and means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said first one of said plurality of bus devices ignores any data not accompanied by said signal.
Claim 33
Dependent Claim
285 words
A data processing system, comprising: a plurality of bus devices; a bus configured in a predetermined architecture; a memory device, wherein said bus couples said plurality of bus devices and said memory device, wherein said plurality of bus devices comprises one or more processors; means, coupled to a first one of said plurality of bus devices, for issuing a read operation onto said bus architecture, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; means, coupled to a second one of said plurality of bus devices, for snooping of said read operation by said second one of said plurality of bus devices; means, coupled to said second one of said plurality of bus devices, for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; and means, coupled to said second one of said plurality of bus devices, for sending, from said second one of said plurality of bus devices to said first one of said plurality of bus devices when said second one of said plurality of bus devices determines that said modified copy of said data portion is contained within said second one of said plurality of bus devices, a signal that causes said first one of said plurality of bus devices to ignore any other version of said data portion received by said first one of said plurality of bus devices from said memory device, wherein said first one of said plurality of bus devices ignores any data not accompanied by said signal.
Claim 34
Dependent Claim
20 words
The system as recited in claim 24, wherein said any data is received before said data portion with said signal.
Claim 35
Dependent Claim
391 words
A data processing system, comprising: a plurality of bus devices, wherein said plurality of bus devices comprises one or more processors; a memory device; a bus connecting said plurality of bus devices and said memory device; circuitry in a first one of said plurality of bus devices for issuing a read operation onto said bus, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; circuitry in a second one of said plurality of bus devices for snooping of said read operation by said second one of said plurality of bus devices; circuitry in said second one of said plurality of bus devices for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; circuitry in said second one of said plurality of bus devices for sending a message, from said second one of said plurality of bus devices onto said bus, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices; circuitry in said second one of said plurality of bus devices for sending said copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, along with a bit indicating whether said copy of said modified copy of said data portion is a latest copy of said data portion; circuitry for sending said data portion from said memory device to said first one of said plurality of bus devices; circuitry in said first one of said plurality of bus devices for not accepting said data portion received from said memory device if said bit accompanying said data portion from said memory device is not asserted; and circuitry in said first one of said plurality of bus devices for accepting said copy of said modified copy of said data portion from said second one of said plurality of bus devices if said bit accompanying said copy is asserted even if said message has not yet been received by said first one of said plurality of bus devices.
Claim 36
Dependent Claim
391 words
A data processing system, comprising: a plurality of bus devices, wherein said plurality of bus devices comprises one or more processors; a memory device; a bus connecting said plurality of bus devices and said memory device; circuitry in a first one of said plurality of bus devices for issuing a read operation onto said bus, said read operation issued by said first one of said plurality of bus devices, said read operation configured to read a data portion from said memory device; circuitry in a second one of said plurality of bus devices for snooping of said read operation by said second one of said plurality of bus devices; circuitry in said second one of said plurality of bus devices for determining, by said second one of said plurality of bus devices, if a modified copy of said data portion is contained within said second one of said plurality of bus devices; circuitry in said second one of said plurality of bus devices for sending a message, from said second one of said plurality of bus devices onto said bus, indicating that said modified copy of said data portion is contained within said second one of said plurality of bus devices; circuitry in said second one of said plurality of bus devices for sending said copy of said modified copy of said data portion from a cache of said second one of said plurality of bus devices to a cache of said first one of said plurality of bus devices, along with a bit indicating whether said copy of said modified copy of said data portion is a latest copy of said data portion; circuitry for sending said data portion from said memory device to said first one of said plurality of bus devices; circuitry in said first one of said plurality of bus devices for not accepting said data portion received from said memory device if said bit accompanying said data portion from said memory device is not asserted; and circuitry in said first one of said plurality of bus devices for accepting said copy of said modified copy of said data portion from said second one of said plurality of bus devices if said bit accompanying said copy is asserted even if said message has not yet been received by said first one of said plurality of bus devices.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-08-18 | 2001-02-17 | 2001-08-19 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-08-18 | 2005-02-17 | 2005-08-19 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-08-18 | 2009-02-17 | 2009-08-19 | $7700.00 | Window Closed / Lapsed |