Storage control apparatus and method therefor
US-2015347224-A1 · Dec 3, 2015 · US
US9411693B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9411693-B2 |
| Application number | US-201213817695-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 31, 2012 |
| Priority date | Jul 31, 2012 |
| Publication date | Aug 9, 2016 |
| Grant date | Aug 9, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Technologies are generally described that relate to processing cache coherence information and processing a request for a data block. In some examples, methods for processing cache coherence information are described that may include storing in a directory a tag identifier effective to identify a data block. The methods may further include storing a state identifier in association with the tag identifier. The state identifier may be effective to identify a coherence state of the data block. The methods may further include storing sharer information in association with the tag identifier. The sharer information may be effective to indicate one or more caches storing the data block. The methods may include storing, by the controller in the directory, replication information in association with the sharer information. The replication information may be effective to indicate a type of replication of the sharer information in the directory, and effective to indicate replicated segments.
Opening claim text (preview).
What is claimed is: 1. A method to store cache coherence information in a directory of a multi-core processor, the method comprising: monitoring, by a controller, memory requests in the multi-core processor; storing by the controller, in the directory, and based on the memory requests: a tag identifier effective to identify a data block; a state identifier in association with the tag identifier, the state identifier effective to identify a coherence state of the data block; sharer information in association with the tag identifier, wherein the sharer information is effective to indicate one or more caches that store the data block, and the sharer information is stored in at least a first segment in the directory; and replication information in association with the sharer information, wherein the replication information is effective to indicate a type of replication of the sharer information, the replication information is further effective to identify at least a second segment in the directory, and the second segment includes a replication of the sharer information; after storing the replication information and in response to detecting an error in the sharer information: accessing the replication information, and based on the replication information, using the second segment to correct the error. 2. The method of claim 1 , wherein the replication information is further effective to indicate the first segment that stores the sharer information. 3. The method of claim 2 , wherein the tag identifier includes a first tag identifier, and wherein the replication information is further effective to indicate a second tag identifier. 4. The method of claim 2 , wherein at least two or more segments in the directory are of equal size. 5. The method of claim 1 , further comprising storing, by the controller in the directory, an error correction code in association with the tag identifier and the state identifier. 6. The method of claim 1 , wherein: storing the sharer information includes storing the sharer information in a sharer table; and storing the sharer information in the sharer table includes storing the sharer information in a sharer table that includes at least two segments. 7. The method of claim 6 , further comprising storing, by the controller, one or more error detection codes, wherein each error detection code is associated with one or more segments in the sharer table. 8. The method of claim 6 , wherein storing the replication information includes storing replication information that is effective to indicate that the sharer information is replicated in all segments in a row of the directory. 9. The method of claim 1 , wherein: the data block includes a first data block; storing the sharer information includes storing the sharer information in a sharer table, wherein the sharer table includes the first segment and the second segment; and the method further comprises, updating the directory by the controller so that: the sharer information is effective to indicate, in the first segment, a first cache that stores the first data block; the sharer information is effective to indicate, in the second segment, the first cache that stores the first data block; and the replication information is further effective to indicate that the sharer information in the first segment is replicated in the second segment. 10. The method of claim 9 , wherein: the sharer table includes a third segment; and the method further comprises, updating the directory by the controller so that the sharer information stored in the third segment is effective to indicate a second cache that stores the first data block. 11. The method of claim 1 , wherein the tag identifier includes a first tag identifier, the state identifier includes a first state identifier, and the data block includes a first data block; wherein storing the sharer information includes storing the sharer information in association with a second tag identifier, wherein the second tag identifier is effective to identify a second data block, and a second state identifier associated with the second tag identifier is effective to identify a coherence state of the second data block as uncached or invalid; and wherein storing the replication information includes storing replication information in association with the first tag identifier, wherein the replication information is effective to indicate that the sharer information associated with the first tag identifier is replicated in the sharer information associated with the second tag identifier. 12. The method of claim 1 , wherein: storing the sharer information in the sharer table includes storing the sharer information in a sharer table that includes the first segment and the second segment; storing the replication information includes storing replication information that includes a first slot corresponding to the first segment and a second slot corresponding to the second segment; and storing the replication information includes storing replication information that includes a pointer in the first slot that points to the second segment. 13. The method of claim 1 , wherein: the tag identifier is stored in a first row in the directory; and the replication information includes a pointer that points to a second row of the directory. 14. The method of claim 1 , wherein: the data block includes a first data block; storing the tag identifier includes storing a first tag identifier in a first row of the directory; storing the sharer information includes storing the sharer information in a sharer table; storing the sharer information in the sharer table includes storing the sharer information in a sharer table that includes at least two segments; and the method further comprises: determining, by the controller, that a number of bits of a cache identifier corresponding to the caches that store the first data block is larger than half a total number of bits in the at least two segments; and identifying, by the controller, a second tag identifier stored in a second row of the directory, wherein the second tag identifier identifies a second data block and wherein a state identifier associated with the second tag identifier indicates an uncached or invalid state; and wherein storing the replication information includes storing, by the controller, replication information for the first data block in the first row with a pointer that points to the second row. 15. A method to process a request for a data block in a multi-core processor, the method comprising: receiving, by a controller in a cache coherence directory of the multi-core processor, the request; identifying, by the controller, a tag identifier associated with the data block; analyzing, by the controller: a state identifier associated with the tag identifier, the state identifier is effective to indicate a cache coherence state of the data block, sharer information associated with the tag identifier, wherein the sharer information is effective to indicate one or more caches that store the data block, the sharer information is stored in a sharer table including at least a first segment; and replication information associated with the sharer information, wherein the replication information is effective to indicate a type of replication of the sharer information, the replication information is further effective to identify at least a second segment in the sharer table, the second segment includes a replication of the sharer information; detecting, by the controller, an error in the first segment in the sharer table; in
using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements · CPC title
where the redundant component is persistent storage · CPC title
Cache consistency protocols · CPC title
in cache or content addressable memories · CPC title
where the redundant component is memory or memory area · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.