Cache coherence protocol for a multiple bus multiprocessor system
View Patent ↗A computer system maintains a list of tags (called a Global Ownership Tag List (GOTL)) for all the cache lines in the system that are owned by a cache. The GOTL is used for cache coherence. There may be one central GOTL. Alternatively, the GOTL may be distributed, so that every device that can request a copy of memory data maintains a local copy of the GOTL. The GOTL can be limited to a relatively small size. For a limited size list, a tag may need to be evicted to make room for a new tag. A line associated with an evicted tag must be written back to memory.
1. A method for maintaining cache coherency in a computer system, comprising:
entering into a list, an address reference for all lines that are owned;
not entering into the list address references for lines that are shared or uncached; and
updating the list only when ownership of a line changes.
2. The method of claim 1 , further comprising:
removing an address reference to a line, from the list, when the line is written to memory.
3. The method of claim 1 , further comprising:
allocating a new entry in the list when a line is not referenced in the list and ownership of the line is requested by a device.
4. The method of claim 3 , the step of allocating a new entry in the list further comprising:
evicting a line from the list; and
copying the evicted line to memory.