US8812786B2ActiveUtilityPatentIndex 73
Dual-granularity state tracking for directory-based cache coherence
Est. expiryOct 18, 2031(~5.3 yrs left)· nominal 20-yr term from priority
G06F 12/0817G06F 12/084G06F 12/0813
73
PatentIndex Score
8
Cited by
14
References
16
Claims
Abstract
A system and method of providing directory cache coherence are disclosed. The system and method may include tracking the coherence state of at least one cache block contained within a region using a global directory, providing at least one region level sharing information about the least one cache block in the global directory, and providing at least one block level sharing information about the at least one cache block in the global directory. The tracking of the provided at least one region level sharing information and the provided at least one block level sharing information may organize the coherence state of the at least one cache block and the region.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of providing directory cache coherence, said method comprising:
tracking the coherence state of at least one cache block contained within a region using a global directory;
providing at least one region level sharing information about said at least one cache block in the global directory; and
providing at least one block level sharing information about said at least one cache block in the global directory,
wherein said tracking of said provided at least one region level sharing information and said provided at least one block level sharing information organize the coherence state of the at least one cache block and the region,
wherein at least one of said provided at least one region level sharing information and at least one block level sharing information comprise a counter, and
wherein said counter identifies when no on-chip sharers exist for said at least one cache block.
2. The method of claim 1 further comprising updating at least one of the provided at least one region level and at least one block level sharing information based on at least one change in the cache storage of said at least one cache block.
3. The method of claim 2 wherein changes in cache storage comprise permitting a processor to load data from a primary memory to a cache in the directory cache.
4. The method of claim 1 further comprising determining where an up-to-date copy of said at least one cache block resides based on said tracked coherence state of said at least one cache block.
5. The method of claim 1 further comprising managing storage overhead at least one block level sharing information.
6. The method of claim 1 further comprising reducing bandwidth demand using at least one region level sharing information.
7. The method of claim 1 wherein at least one of said provided at least one region level sharing information and at least one block level sharing information comprise a bit-vector.
8. The method of claim 1 wherein at least one of said provided at least one region level sharing information and at least one block level sharing information comprise an owner.
9. The method of claim 8 wherein said owner enables multicasts for information to be directed solely to sharers.
10. A method of tracking sharing information of cache blocks at both the region and block level, said method comprising:
storing sharing information in a region address comprising an index portion of the address and a tag field; and
providing a vector of block-level fields within a region entry, said block-level fields containing block-level sharing information for a corresponding block within the region,
wherein a region sharing information and block-level sharing information comprise a counter that identifies when no on-chip sharers exist for the block.
11. The method of claim 10 further comprising determining a region entry using at least one of the index and tag fields.
12. A non-transitory computer readable medium including hardware design code stored thereon which when executed by a processor cause the system to perform a method for providing directory cache coherence balancing storage overhead and bandwidth demand, said method comprising:
tracking the coherence state of at least one cache block contained within a region using a global directory;
providing at least one region level sharing information about said at least one cache block in the global directory; and
providing at least one block level sharing information about said at least one cache block in the global directory,
wherein said tracking of said provided at least one region level sharing information and said provided at least one block level sharing information organize the coherence state of the at least one cache block and the region, and
wherein at least one of said provided at least one region level sharing information and at least one block level sharing information comprise a counter that identifies when no on-chip sharers exist for said at least one cache block.
13. The non-transitory computer readable medium of claim 12 further comprising updating at least one of the provided at least one region level and at least one block level sharing information based on changes in the cache storage of said at least one cache block.
14. The non-transitory computer readable medium of claim 12 further comprising determining where an up-to-date copy of said at least one cache block resides based on said tracked coherence state of said at least one cache block.
15. The non-transitory computer readable medium of claim 12 further comprising reducing bandwidth demand using at least one region level sharing information.
16. The non-transitory computer readable medium of claim 12 further comprising managing storage overhead at least one block level sharing information.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.