Claims
- 1. A data structure for storing a cache line directory entry for a given cache line of a multi-processor system, the data structure comprising:a plurality of first data fields, each corresponding to a respective node in the multi-processor system that may have ownership rights in the cache line; a second data field representing an ownership type associated with the cache line; and a third data field for storing an indication of an affinity for a particular type of data ownership to be applied by the system in converting a cache line request in accordance with the indicated affinity.
- 2. The data structure of claim 1 wherein the third data field stores an indication of an affinity for read-only requests, wherein the system will, in response to the indication, convert a read-write request to a read-only request in accordance with the indicated affinity.
- 3. The data structure of claim 1 wherein the third data field stores an indication of an affinity for read-write requests, wherein the system will, in response to the indication, convert a read-only request to a read-write request in accordance with the indicated affinity.
- 4. The data structure of claim 1 wherein the data structure comprises a plurality of third data fields, each third data field associated with a respective caching agent of the multiprocessor system and each providing an affinity indication for its respective caching agent, wherein different caching agents may have a different affinity indication.
- 5. The data structure of claim 1 further comprising a fourth data field for storing an enabling indication to be applied by the system to a particular type of data ownership.
- 6. The data structure of claim 2 further comprising a fourth data field for storing an enabling indication to be applied by the system in converting a read-write request to a read-only request in accordance with the indicated affinity, wherein if the enabling indication is set, the system converts the read-write request to a read-only request, and if the enabling indication is not set, the system does not convert the read-write request to a read-only request.
- 7. The data structure of claim 3 further comprising a fourth data field for storing an enabling indication to be applied by the system in converting a read-only request to a read-write request in accordance with the indicated affinity, wherein if the enabling indication is set, the system converts the read-only request to a read-write request, and if the enabling indication is not set, the system does not convert the read-only request to a read-write request.
- 8. A computer system comprising:a plurality of processors, a main memory, and at least one I/O device; a main memory cache that stores cache lines of data; and a data structure that stores a cache line directory entry for each cache line in said cache, each cache line directory entry comprising: a plurality of first data fields, each corresponding to a respective node in the computer system that may have ownership rights in the cache line; a second data field representing an ownership type associated with the cache line; and a third data field for storing an indication of an affinity for a particular type of data ownership to be applied by the system in converting a cache line request in accordance with the indicated affinity.
- 9. The computer system of claim 8 wherein the third data field stores an indication of an affinity for read-only requests, wherein the system will, in response to the indication, convert a read-write request to a read-only request in accordance with the indicated affinity.
- 10. The computer system of claim 8 wherein the third data field stores an indication of an affinity for read-write requests, wherein the system will, in response to the indication, convert a read-only request to a read-write request in accordance with the indicated affinity.
- 11. The computer system of claim 8 wherein the data structure comprises a plurality of third data fields, each third data field associated with a respective caching agent of the multiprocessor system and each providing an affinity indication for its respective caching agent, wherein different caching agents may have a different affinity indication.
- 12. The computer system of claim 8 further comprising a fourth data field for storing an enabling indication to be applied by the system to a particular type of data ownership.
- 13. The computer system of claim 9 further comprising a fourth data field for storing an enabling indication to be applied by the system in converting a read-write request to a read-only request in accordance with the indicated affinity, wherein if the enabling indication is set, the system converts the read-write request to a read-only request, and if the enabling indication is not set, the system does not convert the read-write request to a read-only request.
- 14. The computer system of claim 10 further comprising a fourth data field for storing an enabling indication to be applied by the system in converting a read-only request to a read-write request in accordance with the indicated affinity, wherein if the enabling indication is set, the system converts the read-only request to a read-write request, and if the enabling indication is not set, the system does not convert the read-only request to a read-write request.
- 15. The computer system of claim 8 further comprising a cache coherency tracking device, which comprises the cache line directory entry.
- 16. The computer system of claim 15 wherein the cache coherency tracking device comprises a snoop filter.
- 17. The computer system of claim 15 wherein the cache coherency tracking device comprises a directory memory.
- 18. The computer system of claim 8 further comprising a multi-processor board.
- 19. The computer system of claim 8 wherein the multi-processor board comprises the processor.
- 20. The computer system of claim 8 further comprising a plurality of multi-processor boards.
- 21. The computer system of claim 20 further comprising a crossbar connected to each of the plurality of multi-processor boards.
- 22. The computer system of claim 21 wherein the crossbar comprises the data structure.
- 23. A method for requesting a cache line in a multi-processor computer system, said method comprising:receiving a request for a particular type of ownership of a selected cache line; determining the state of a data field in a cache line directory entry wherein the data field indicates an affinity for a particular type of ownership associated with said cache line; and if the requested type of ownership is different than the type indicated by the data field, modifying the request in accordance with the indicated affinity.
- 24. The method of claim 23 wherein modifying the request in accordance with the indicated affinity comprises modifying a read-write request to a read-only request in accordance with the indicated affinity.
- 25. The method of claim 23 wherein modifying the request in accordance with the indicated affinity comprises modifying a read-only request to a read-write request in accordance with the indicated affinity.
- 26. The method of claim 24 wherein modifying a read-write request to a read-only request in accordance with the indicated affinity comprises modifying a port read memory instruction to a port read memory current instruction.
- 27. The method of claim 25 wherein modifying a read-only request to a read-write request in accordance with the indicated affinity comprises modifying a port read line instruction to a port read invalidate line instruction.
- 28. The method of claim 23 further comprising determining the state of a second data field, for storing an enabling indication, and enabling said modifying the request if said enabling indication is set and disabling said modifying the request if said enabling indication is not set.
Parent Case Info
This application claims the benefit of provisional application No. 60/249,075 filed Nov. 15, 2000
US Referenced Citations (23)
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/249075 |
Nov 2000 |
US |