P
US8812786B2ActiveUtilityPatentIndex 73

Dual-granularity state tracking for directory-based cache coherence

Assignee: BECKMANN BRADFOD MPriority: Oct 18, 2011Filed: Oct 18, 2011Granted: Aug 19, 2014
Est. expiryOct 18, 2031(~5.3 yrs left)· nominal 20-yr term from priority
Inventors:BECKMANN BRADFOD MBASU ARKAPRAVAREINHARDT STEVEN K
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-modified
What 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.