Efficient recovery of storage gateway cached volumes

US9268651B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9268651-B1
Application numberUS-201213665685-A
CountryUS
Kind codeB1
Filing dateOct 31, 2012
Priority dateOct 31, 2012
Publication dateFeb 23, 2016
Grant dateFeb 23, 2016

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.

Methods and apparatus for efficient recovery of cached volumes at storage gateways are disclosed. To recover, after an unplanned shutdown, a storage gateway appliance configured to cache chunks of a storage object, chunk metadata corresponding to a particular chunk is read into an in-memory metadata region from a first metadata location. Based on analysis of the chunk metadata, a validation requirement indication for the particular chunk is stored, and the chunk is designated as being accessible for client I/O requests. In response to receiving a subsequent I/O request targeted to the particular chunk, the chunk metadata is validated using a different metadata location prior to performing the requested I/O operation.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: in response to a determination to bring a storage appliance into a running state after an unplanned shutdown, wherein the appliance is configured to cache a plurality of data chunks of a storage object of a remote storage service, reading into an in-memory metadata region, from a first metadata location of the appliance, chunk metadata corresponding to a particular data chunk of the plurality of data chunks; based at least in part on an analysis of a portion of the chunk metadata, storing an indication of a validation requirement in the in-memory metadata region for the particular data chunk; designating the particular data chunk as being accessible for input/output (I/O) requests after the indication of the validation requirement has been stored; and in response to receiving, after said designating, an I/O request targeted to at least a portion of the particular data chunk, validating at least a portion of the chunk metadata using a different metadata storage location of the appliance, prior to performing one or more I/O operations indicated in the I/O request. 2. The method as recited in claim 1 , wherein the first metadata location comprises a portion of a first space of a storage device, wherein the first space is designated to store contiguous metadata for one or more cached data chunks of the storage object, including the particular data chunk; and wherein the different metadata location comprises an inline metadata section stored in a second space of the storage device, wherein the second space is configured to store the at least a portion of the particular data chunk. 3. The method as recited in claim 1 , wherein the analysis comprises determining whether a caching state of the particular data chunk, as indicated within the chunk metadata, belongs to a particular set of caching states. 4. The method as recited in claim 1 , further comprising: in response to the determination to bring the storage appliance into the running state, reading into the in-memory metadata region, from the first metadata location, second chunk metadata corresponding to a second data chunk of the plurality of data chunks; based at least in part on an analysis of the second chunk metadata, updating at least a portion of the second chunk metadata in the in-memory metadata region using contents of an inline metadata location of the appliance prior to accepting I/O requests targeted at the second data chunk. 5. The method as recited in claim 1 , wherein the appliance comprises an upload buffer configured to store modified data of the storage object to be uploaded asynchronously to the remote storage service, further comprising: in response to the determination to bring the storage appliance into the running state, adding an entry to the upload buffer, wherein the entry comprises contents one or more data blocks of the particular data chunk. 6. A system, comprising: one or more hardware computing devices configured to: in response to a determination to bring a storage appliance into a running state after an unplanned shutdown, wherein the appliance is configured to cache a plurality of data chunks of a storage object of a remote storage service, read into an in-memory metadata region, from a first metadata location of the appliance, chunk metadata corresponding to a particular data chunk of the plurality of data chunks; based at least in part on an analysis of a portion of the chunk metadata, store an indication of a validation requirement for the particular data chunk; designate the particular data chunk as being accessible for input/output (I/O) requests after the indication of the validation requirement has been stored; and in response to receiving, after the designation of the particular data chunk, an I/O request targeted to at least a portion of the particular data chunk, validate at least a portion of the chunk metadata using a different metadata storage location of the appliance, prior to a completion of one or more I/O operations indicated in the I/O request. 7. The system as recited in claim 6 , wherein the indication of the validation requirement is stored in the in-memory metadata region. 8. The system as recited in claim 6 , wherein the first metadata location comprises a portion of a first space on a storage device, wherein the first space is designated to store contiguous metadata for one or more cached data chunks of the storage object, including the particular data chunk; and wherein the different metadata location comprises an inline metadata section stored in a second space of the storage device, wherein the second space is configured to store the at least a portion of the particular data chunk. 9. The system as recited in claim 8 , wherein the particular data chunk comprises a plurality of data blocks, wherein each data block of the plurality of data blocks has a corresponding inline metadata section, and wherein, within the second space, the plurality of data blocks of the particular data chunk are arranged in an alternating sequence with the corresponding inline metadata sections. 10. The system as recited in claim 6 , wherein the analysis comprises a determination of whether a caching state of the particular data chunk, as indicated within the chunk metadata, belongs to a particular set of caching states. 11. The system as recited in claim 6 , wherein the one or more hardware computing devices are further configured to: in response to the determination to bring the storage appliance into the running state, read into the in-memory metadata region, from the first metadata location of the appliance, second chunk metadata corresponding to a second data chunk of the plurality of data chunks; update, in response to a detection of a particular indicator within the second chunk metadata, at least a portion of the second chunk metadata in the in-memory metadata region using contents of an inline metadata location of the appliance prior to accepting I/O requests targeted at the second data chunk. 12. The system as recited in claim 11 , wherein the particular indicator comprises a metadata entry stored in the first metadata location by a cache evictor configured to free at least some cache storage of the appliance. 13. The system as recited in claim 11 , wherein to update the at least a portion of the second chunk metadata, the one or more hardware computing devices are further configured to: compare an instance identifier stored in the second chunk metadata, indicative of a validity of a data block of the second data chunk, with an instance identifier stored in the inline metadata location. 14. The system as recited in claim 6 , wherein the appliance comprises an upload buffer configured to store modified data of the storage object to be uploaded asynchronously to the remote storage service, wherein the one or more hardware computing devices are further configured to: in response to the determination to bring the storage appliance into the running state, add an entry to the upload buffer, wherein the entry comprises contents one or more data blocks of the particular data chunk. 15. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors: in response to a determination to bring a storage appliance into a running state after an unplanned shutdown, wherein the appliance is configured to cache a plurality of data chunks of a storage object of a remote storage service, read into an in-memory metadata region, from a first metadata location of the appliance, chunk metadata corresponding to a pa

Assignees

Inventors

Classifications

  • Networked environment · CPC title

  • Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title

  • being distributed · CPC title

  • using file system or storage system metadata · CPC title

  • Allocation or management of cache space · 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 US9268651B1 cover?
Methods and apparatus for efficient recovery of cached volumes at storage gateways are disclosed. To recover, after an unplanned shutdown, a storage gateway appliance configured to cache chunks of a storage object, chunk metadata corresponding to a particular chunk is read into an in-memory metadata region from a first metadata location. Based on analysis of the chunk metadata, a validation req…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1464. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 23 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).