IP Library Granted Patent US 7,366,844
Granted Patent B2
US 7,366,844 · App. 11/054,888 · Granted Apr 29, 2008

Data processing system and method for handling castout collisions

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 7,366,844
App. No.
11/054,888
Granted
Apr 29, 2008
Kind
B2
Abstract

A data processing system includes a memory controller of a system memory that receives first and second castout operations both specifying a same address. In response to receiving said first and second castout operations, the memory controller performs a single update to the system memory.

Claims (45)

1. A memory controller for a data processing system having a first processing unit supported by a first cache memory and a second processing unit supported by a second cache memory, wherein the data processing system includes a first coherency domain including said memory controller and a second coherency domain; said memory controller comprising:

means for receiving a first castout operation from the first cache memory and a second castout operation from the second cache memory, said first and second castout operations both specifying same address;

means for providing a first acknowledge response to said first castout operation and a second acknowledge response to said second castout operation to indicate that neither of said first and second castout operations should be retried; and

means, responsive to receiving said first and second castout operations, for performing a single update to the system memory.

2. The memory controller of claim 1 , and further comprising:

one or more write queues from which updates are made to said system memory; and

means, responsive to receiving said first and second castout operations, for allocating only one write queue from which said single update is made to said system memory.

3. The memory controller of claim 1 , wherein said memory controller receives said second castout operation while said first castout operation is queued by said memory controller.

4. The memory controller of claim 1 , and further comprising means for discarding one of said first and second castout operations.

5. The memory controller of claim 1 , and further comprising means for merging said first and second castout operations.

6. The memory controller of claim 1 , wherein:

the data processing system includes a first coherency domain including said memory controller and a second coherency domain; and

said means for performing a single update to said system memory comprises means for updating a domain indicator in said system memory uniquely associated with said address.

7. The memory controller of claim 6 , said means for performing a single update further comprising means for updating a memory block in said system memory associated with said address.

8. A memory controller for a data processing system having a first processing unit supported by a first cache memory and a second processing unit supported by a second cache memory, wherein the data processing system includes a first coherency domain including said memory controller and a second coherency domain, said memory controller comprising;

means for receiving a first castout operation from the first cache memory and a second castout operation from the second cache memory, said first and second castout operations both specifying a same address;

means, responsive to receiving said first and second castout operations, for performing a single update to the system memory;

one or more write queues from which updates are made to said system memory; and

means, responsive to receipt of a third castout operation from said second coherency domain specifying an address allocated to the system memory, for acknowledging said third castout operation and for refraining from allocating one of said one or more write queues to said third castout operation.

9. A data processing system, comprising:

a first processing unit having an associated first cache memory and a second processing unit having an associated second cache memory;

a system memory; and

a memory controller for said system memory, including:

means for receiving a first castout operation from the first cache memory and a second castout operation from the second cache memory, said first and second castout both specifying a same address; and

means for providing a first acknowledge response to said first castout operation and a second acknowledge response to said second castout operation to indicate that neither of said first and second castout operations should be retried;

means, responsive to receiving said first and second castout operations, for performing a single update to the system memory.

10. The data processing system of claim 9 , said memory controller further comprising:

one or more write queues for which updates are made to said system memory; and

means, responsive to receiving said first and second castout operations, for allocating only one write queue from which said single update is made to said system memory.

11. The data processing system of claim 9 , wherein said memory controller receives said second castout operation while said first castout operation is queued by said memory controller.

12. The data processing system of claim 9 , said memory controller further comprising means for discarding one of said first and second castout operations.

13. The data processing system of claim 9 , said memory controller further comprising means for merging said first and second castout operations.

14. The data processing system of claim 9 , wherein:

the data processing system includes a first coherency domain including said memory controller and a second coherency domain; and

said means for performing a single update to said system memory comprises means for updating a domain indicator in said system memory uniquely associated with said address.

15. The data processing system of claim 14 , said means for performing a single update further comprising means for updating a memory block in said system memory associated with said address.

16. A data processing system, comprising:

a first coherency domain including said memory controller and a second coherency domain;

a first processing unit having an associated first cache memory and a second processing unit having an associated second cache memory;

a system memory; and

a memory controller for said system memory, including:

means for receiving a first castout operation from the first cache memory and a second castout operation from the second cache memory, said first and second castout both specifying a same address; and

means, responsive to receiving said first and second castout operations, for performing a single update to the system memory;

one or more write queues from which updates are made to said system memory; and

means, responsive to receipt of a third castout operation from said second coherency domain specifying an address allocated to the system memory, for acknowledging said third castout operation and for refraining from allocating one of said one or more write queues to said third castout operation.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →