Firmware interface with durable memory storage
US-2015370302-A1 · Dec 24, 2015 · US
US9600200B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9600200-B1 |
| Application number | US-201414302552-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jun 12, 2014 |
| Priority date | Jun 12, 2014 |
| Publication date | Mar 21, 2017 |
| Grant date | Mar 21, 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.
Exemplary methods for caching data in a cache device include determining characteristics of a plurality of file extents associated with a plurality of files stored in a random access memory (RAM) device. In one embodiment, the methods include deferring caching of the stored plurality of file extents in a cache device until a predetermined condition has occurred. According to one embodiment, the methods include, in response to determining the predetermined condition has occurred, packing a first portion of the plurality of file extents into a first cache unit based on the characteristics of the file extents, wherein file extents of the first cache unit are likely to be accessed within a predetermined period of time and evicted together from the cache device. The methods further include caching the first cache unit in the cache device and removing the cached file extents from the RAM device.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for caching data in a cache device, the method comprising: determining, by a cache manager executed by a processor, characteristics of a plurality of file extents associated with a plurality of files stored in a random access memory (RAM) device, wherein the plurality of files are stored in one or more persistent storage units, and wherein each file extent is a data unit of each cache access; deferring caching of the stored plurality of file extents in a cache device until a predetermined condition has occurred; in response to determining the predetermined condition has occurred, packing a first portion of the plurality of file extents into a first cache unit based on the characteristics of the file extents, wherein file extents of the first cache unit are to be accessed within a predetermined period of time and evicted together from the cache device; caching the first cache unit in the cache device; and removing the cached file extents from the RAM device. 2. The method of claim 1 , wherein caching of the stored plurality of file extents in the cache device is deferred even though a number of file extents currently stored in the RAM device is sufficient to pack at least one complete cache unit. 3. The method of claim 1 , wherein the predetermined condition is the RAM device reaching a predetermined RAM usage threshold. 4. The method of claim 1 , wherein packing a first portion of the plurality of file extents into a first cache unit comprises: identifying the first portion of file extents belonging to a predetermined range of neighboring regions of a same file to be packed into a same cache unit; and packing the identified file extents into the first cache unit. 5. The method of claim 1 , further comprising: determining based on historical access information that two or more file extents are frequently aged out of a cache at approximately a same time; packing the determined two or more file extents stored in the RAM device into a second cache unit; and caching the second cache unit in the cache device. 6. The method of claim 1 , wherein each file extent includes information identifying a file associated with the file extent, a region within the file at which the file extent is located, and a timestamp of when the file extent was stored in the RAM device. 7. The method of claim 1 , wherein the determined plurality of characteristics includes information identifying a timestamp when a file extent was accessed from the RAM device, information identifying whether a file extent was sequentially or randomly accessed, and information identifying a frequency of access of a file extent from the RAM device. 8. A non-transitory computer-readable storage medium having computer instructions stored therein, which when executed by a processor, cause the processor to perform operations comprising: determining characteristics of a plurality of file extents associated with a plurality of files stored in a random access memory (RAM) device, wherein the plurality of files are stored in one or more persistent storage units, and wherein each file extent is a data unit of each cache access; deferring caching of the stored plurality of file extents in a cache device until a predetermined condition has occurred; in response to determining the predetermined condition has occurred, packing a first portion of the plurality of file extents into a first cache unit based on the characteristics of the file extents, wherein file extents of the first cache unit are to be accessed within a predetermined period of time and evicted together from the cache device; caching the first cache unit in the cache device; and removing the cached file extents from the RAM device. 9. The non-transitory computer-readable storage medium of claim 8 , wherein caching of the stored plurality of file extents in the cache device is deferred even though a number of file extents currently stored in the RAM device is sufficient to pack at least one complete cache unit. 10. The non-transitory computer-readable storage medium of claim 8 , wherein the predetermined condition is the RAM device reaching a predetermined RAM usage threshold. 11. The non-transitory computer-readable storage medium of claim 8 , wherein packing a first portion of the plurality of file extents into a first cache unit comprises: identifying the first portion of file extents belonging to a predetermined range of neighboring regions of a same file to be packed into a same cache unit; and packing the identified file extents into the first cache unit. 12. The non-transitory computer-readable storage medium of claim 8 , further comprising: determining based on historical access information that two or more file extents are frequently aged out of a cache at approximately a same time; packing the determined two or more file extents stored in the RAM device into a second cache unit; and caching the second cache unit in the cache device. 13. The non-transitory computer-readable storage medium of claim 8 , wherein each file extent includes information identifying a file associated with the file extent, a region within the file at which the file extent is located, and a timestamp of when the file extent was stored in the RAM device. 14. The non-transitory computer-readable storage medium of claim 8 , wherein the determined plurality of characteristics includes information identifying a timestamp when a file extent was accessed from the RAM device, information identifying whether a file extent was sequentially or randomly accessed, and information identifying a frequency of access of a file extent from the RAM device. 15. A data processing system, comprising: a set of one or more processors; one or more persistent storage units; a cache device; and a set of one or more memories to store instructions, which when executed from the set of one or more memories, cause the data processing system to determine characteristics of a plurality of file extents associated with a plurality of files stored in a random access memory (RAM) device, wherein the plurality of files are stored in the one or more persistent storage units, and wherein each file extent is a data unit of each cache access, defer caching of the stored plurality of file extents in the cache device until a predetermined condition has occurred, in response to determining the predetermined condition has occurred, pack a first portion of the plurality of file extents into a first cache unit based on the characteristics of the file extents, wherein file extents of the first cache unit are to be accessed within a predetermined period of time and evicted together from the cache device, cache the first cache unit in the cache device, and remove the cached file extents from the RAM device. 16. The data processing system of claim 15 , wherein caching of the stored plurality of file extents in the cache device is deferred even though a number of file extents currently stored in the RAM device is sufficient to pack at least one complete cache unit. 17. The data processing system of claim 15 , wherein the predetermined condition is the RAM device reaching a predetermined RAM usage threshold. 18. The data processing system of claim 15 , wherein the set of one or more memories further store instructions, which when executed from the set of one or more memories, cause the data processing system to: identify the first portion of file extents belonging to a predetermined range of neighboring regions of a same file to be packed
for peripheral storage systems, e.g. disk cache · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
with a network or matrix configuration · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
De-duplication techniques · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.