Method to extend SSD lifespan in caching applications by aggregating related content into large cache units

US9600200B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9600200-B1
Application numberUS-201414302552-A
CountryUS
Kind codeB1
Filing dateJun 12, 2014
Priority dateJun 12, 2014
Publication dateMar 21, 2017
Grant dateMar 21, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

  • G06F3/0641Primary

    De-duplication techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9600200B1 cover?
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…
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0866. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).