Claims
- 1. A method for avoiding livelocks due to stale exclusive/modified directory entries within a non-uniform memory access (NUMA) computer system, wherein said NUMA computer system includes at least two nodes coupled to an interconnect and each of said at least two nodes includes a local system memory, said method comprising the steps of:in response to an attempt by a processor of a first node to read a cache line at a time substantially simultaneously to an attempt by a processor of a second node to access said cache line, wherein said cache line has been silently cast out from a cache memory within said second node even though a coherency directory within said first node still indicates said cache line is held exclusively or modified at said second node, allowing a directory within said second node to be updated from a Pending-Modified state to a Pending-Shared state after the receipt of the request from said first node is received with a clean response; and allowing said processor of said first node to access said cache line.
- 2. The method according to claim 1, wherein said first node is a home node and said second node is a remote node.
- 3. The method according to claim 1, wherein said first node and said second node are remote nodes.
- 4. The method according to claim 1, wherein said access by said processor of said second node is any request that requires data to be flushed from the owning node.
- 5. The method according to claim 1, wherein said cache line is held in a Modified state.
- 6. A non-uniform memory access (NUMA) computer system capable of avoiding livelocks due to stale exclusive/modified directory entries, wherein said NUMA computer system includes at least two nodes coupled to an interconnect and each of said at least two nodes includes a local system memory, comprising:means for allowing a directory within a second node to be updated from a Pending-Modified state to a Pending-Shared state after the receipt of the request from a first node is received with a clean response, in response to an attempt by said processor of said first node to read a cache line at a time substantially simultaneously to an attempt by said processor of said second node to access said cache line, wherein said cache line has been silently cast out from a cache memory within said second node even though a coherency directory within said first node still indicates said cache line is held exclusively or modified at said second node; and means for allowing said processor of said first node to access said cache line.
- 7. The NUMA computer system according to claim 6, wherein said first node is a home node and said second node is a remote node.
- 8. The NUMA computer system according to claim 6, wherein said first node and said second node are remote nodes.
- 9. The NUMA computer system according to claim 6, wherein said access by said processor of said second node is any request that requires data to be flushed from the owning node.
- 10. The NUMA computer system according to claim 6, wherein said cache line is held in a Modified state.
CROSS REFERENCE TO RELATED APPLICATIONS
The present application is related to the following copending United States Patent Applications:
1. Ser. No. 09/259,300 entitled “METHOD AND SYSTEM FOR AVOIDING LIVELOCKS DUE TO COLLIDING WRITEBACKS WITHIN A NON-UNIFORM MEMORY ACCESS SYSTEM,” filed on even date; and
2. Ser. No. 09/259,367 entitled “METHOD AND SYSTEM FOR AVOIDING LIVELOCKS DUE TO COLLIDING INVALIDATING TRANSACTIONS WITHIN A NON-UNIFORM MEMORY ACCESS SYSTEM,” filed on even date.
All above-mentioned copending applications are assigned to the assignee of the present application.
US Referenced Citations (2)
Number |
Name |
Date |
Kind |
6078981 |
Hill et al. |
Jun 2000 |
|
6108752 |
VanDoren et al. |
Aug 2000 |
|