Memory access requests in hybrid memory system
US-2015058526-A1 · Feb 26, 2015 · US
US9772948B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9772948-B2 |
| Application number | US-201213543123-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 6, 2012 |
| Priority date | Jul 6, 2012 |
| Publication date | Sep 26, 2017 |
| Grant date | Sep 26, 2017 |
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.
A new segment of data is copied to a volatile, primary cache based on a host data read access request. The primary cache mirrors a first portion of a non-volatile main storage criterion is determined for movement of data from the primary cache to a non-volatile, secondary cache that mirrors a second portion of the main storage. The criterion gives higher priority to segments having addresses not yet selected for reading by the host. In response to the new segment of data being copied to the primary cache, a selected segment of data is copied from the primary cache to the secondary cache in response to the selected segment satisfying the criterion.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a non-volatile main storage; a volatile, primary cache mirroring a first portion of the main storage; a non-volatile secondary cache mirroring a second portion of the main storage, wherein the secondary cache is used for storing read data only; and a processor configured to: cause a new segment of data to be copied to the primary cache in response to a data read access request from a host; determine a criterion for copying of data from the primary cache to the secondary cache, wherein the criterion gives segments having addresses not yet selected for reading by the host higher priority than segments having addresses selected for reading by the host; and in response to the new segment of data being copied into the primary cache, copy a selected segment of data from the primary cache to the secondary cache in response to the selected segment satisfying the criterion and where the criterion prevents the copying of the selected segment based on the selected segment containing write data. 2. The apparatus of claim 1 , wherein the selected segment is copied from the primary cache to the secondary cache further in response to a high spatial locality of recent host requests. 3. The apparatus of claim 1 , wherein copying the selected segment of data from the primary cache to the secondary cache would cause a cluster of the secondary cache to be evicted, wherein determining the criterion further comprises whether the selected segment has an equal or higher priority than the cluster. 4. The apparatus of claim 1 , wherein the criterion prevents the copying of the selected segment based on whether an address range of the selected segment overlaps with a range of addresses already copied or reserved for copying to the secondary cache. 5. The apparatus of claim 1 , wherein the criterion prevents the copying of the selected segment based on the selected segment not satisfying a minimum size and an address alignment associated with a cache line of the secondary cache. 6. A method comprising: causing a new segment of data to be copied to a volatile, primary cache based on a data read access request from a host, the primary cache mirroring a first portion of a non-volatile main storage; determining a criterion for copying of data from the primary cache to a non-volatile, secondary cache that mirrors a second portion of the main storage and is used for storing read data only, wherein the criterion gives segments having addresses not yet selected for reading by the host higher priority than segments having addresses selected for reading by the host; and in response to the new segment of data being copied to the primary cache, causing a selected segment of data to be copied from the primary cache to the secondary cache in response to the selected segment satisfying the criterion and wherein the criterion prevents the copying of the selected segment in response to the selected segment containing write data. 7. The method of claim 6 , wherein the selected segment is copied from the primary cache to the secondary cache further in response to a high spatial locality of recent host request. 8. The method of claim 6 , wherein copying the selected segment of data from the primary cache to the secondary cache would cause a cluster of the secondary cache to be evicted, wherein determining the criterion further comprises determining whether the selected segment has an equal or higher priority than the cluster. 9. The method of claim 6 , wherein the criterion prevents the copying of the data based on whether an address range of the selected segment overlaps with a range of addresses already copied or reserved for copying to the secondary cache. 10. The method of claim 6 , wherein the criterion prevents the copying of the data based on the selected segment not satisfying a minimum size and an address alignment associated with a cache line of the secondary cache. 11. A method comprising: defining a list that references segments of a primary cache eligible for copying to a secondary cache, the primary and secondary caches respectively mirroring first and second portions of a non-volatile main storage and wherein the secondary cache stores read data only; adding candidate segments from the primary cache to the list in response to logical block address ranges of the candidate segments satisfying an address criterion of the secondary cache wherein the candidate segments are added to the list further based on the candidate segments not including write data; and in response to new data being added to the primary cache, copying at least one of the candidate segments to the secondary cache. 12. The method of claim 11 , wherein the address criterion of the secondary cache comprises a cache line size of the secondary cache, and wherein the candidate segments satisfy the address criterion if a size of the candidate segments is greater than or equal to the cache line size. 13. The method of claim 11 , wherein the address criterion of the secondary cache comprises an allowable starting logical block address of a cache line of the secondary cache, and wherein the candidate segments satisfy the address criterion if a logical block address of the candidate segments satisfies the allowable starting logical block address. 14. The method of claim 11 , wherein the candidate segments are added to the list further based on the candidate segments having not already been copied or reserved for copying to the secondary cache. 15. The method of claim 11 , wherein the candidate segments are added to the list further based on satisfying at least one of the following: the candidate segments include addresses not yet selected for reading by a host; and data of the candidate segments have secondary cache importance metrics greater than or equal to an equivalent metric of a cluster of the secondary cache that would be evicted in response to moving at least one of the candidate segments to the secondary cache. 16. The method of claim 11 , wherein the list is sorted based on a primary cache priority of the candidate segments so that candidate segments having a lower primary cache priority are selected for moving to the secondary cache ahead of candidate segments with a higher primary cache priority.
with prefetch · CPC title
Mapping of cache memory to specific storage devices or parts thereof · CPC title
with multilevel cache hierarchies · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.