Persistent metadata cache

US9645932B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9645932-B1
Application numberUS-201414576931-A
CountryUS
Kind codeB1
Filing dateDec 19, 2014
Priority dateDec 19, 2014
Publication dateMay 9, 2017
Grant dateMay 9, 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.

A technique for storing metadata changes includes caching metadata changes in a persistent metadata cache. The persistent metadata cache is configured to cache metadata reads and writes directed to a set of internal volumes of the data storage system. A file system can access pages of the persistent metadata cache by specifying an identifier of an internal volume and an offset into that volume to which the metadata changes are directed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of storing metadata in a data storage system, the method comprising: receiving, by a data storage system, IO (input/output) requests specifying data to be written to a file system of the data storage system, the file system backed by a set of internal volumes that support non-volatile storage of multiple metadata structures of the file system; computing a set of metadata changes to be applied to the file system for incorporating a set of the data specified in the IO requests into the file system; and performing a caching operation to store the set of metadata changes in a persistent metadata cache, the persistent metadata cache constructed and arranged to cache metadata reads and writes directed to the set of internal volumes, the caching operation including writing the set of metadata changes to pages of the persistent metadata cache using an addressing scheme that addresses pages by identifier of an internal volume and offset into the internal volume. 2. The method of claim 1 , wherein the method further comprises flushing one of the set of pages to the same internal volume and offset to which the page was addressed in the persistent metadata cache when performing the caching operation. 3. The method of claim 2 , wherein each of the set of internal volumes (i) operates as an interface for accessing a respective RAID (Redundant Array of Independent Disks) group of non-volatile storage devices and (ii) is addressed for accessing blocks in the RAID group using the same addressing scheme that persistent metadata cache uses for addressing pages in the persistent metadata cache. 4. The method of claim 2 , wherein the set of metadata changes includes multiple metadata changes, and wherein performing the caching operation includes atomically committing the set of metadata changes to a set of pages in the persistent metadata cache such that all of the set of metadata changes are stored in the persistent metadata cache or none of them are. 5. The method of claim 4 , wherein the persistent metadata cache is disposed at a first location in the data storage system, and wherein the method further comprises mirroring the set of metadata changes to a persistent metadata cache disposed at a second location in the data storage system. 6. The method of claim 5 , further comprising the persistent metadata cache providing an acknowledgment that the caching operation has been completed successfully only after the set of metadata changes have been stored both in the persistent metadata cache disposed at the first location and in the persistent metadata cache disposed at the second location. 7. The method of claim 6 , wherein the first location is on a first storage processor of the data storage system and the second location is on a second storage processor of the data storage system. 8. The method of claim 7 , wherein the file system includes a container file, the container file storing a file-based realization of a LUN (Logical Unit Number), wherein the IO requests are directed to the LUN and received by the first storage processor, wherein performing the caching operation includes (i) storing the set of metadata changes in the persistent metadata cache on the first storage processor and (ii) mirroring the set of metadata changes to the persistent metadata cache on the second storage processor, and wherein the method further comprises: trespassing the LUN from the first storage processor to the second storage processor; and completing the IO requests on the second storage processor, including flushing, by the second storage processor, at least a portion of the set of metadata changes from the persistent metadata cache on the second storage processor to at least one of the set of internal volumes. 9. The method of claim 7 , wherein the file system includes a container file, the container file storing a file-based realization of a LUN (Logical Unit Number), wherein the IO requests are directed to the LUN, wherein the IO requests are received by the first storage processor, wherein performing the caching operation includes (i) storing the set of metadata changes in the persistent metadata cache on the first storage processor and (ii) mirroring the set of metadata changes to the persistent metadata cache on the second storage processor, and wherein the method further comprises: upon a failure occurring at the first storage processor, failing over service of the LUN from the first storage processor to the second storage processor; and completing the IO requests on the second storage processor, including flushing, by the second storage processor, at least a portion of the set of metadata changes from the persistent metadata cache on the second storage processor to at least one of the set of internal volumes. 10. The method of claim 7 , wherein the persistent metadata cache on the first storage processor and the persistent metadata cache on the second storage processor are each implemented in DRAM (Dynamic Random Access Memory), and wherein the method further comprises backing up power for maintaining operation of the DRAM on the first storage processor and the second storage processor with a set of batteries. 11. A data storage system, comprising a set of processing units and memory, the memory coupled to the set of processing units and storing executable instructions which, when executed by the set of processing units, cause the set of processing units to: receive, by the data storage system, IO (input/output) requests specifying data to be written to a file system of the data storage system, the file system backed by a set of internal volumes that support non-volatile storage of multiple metadata structures of the file system; compute a set of metadata changes to be applied to the file system for incorporating a set of the data specified in the IO requests into the file system; and perform a caching operation to store the set of metadata changes in a persistent metadata cache, the persistent metadata cache constructed and arranged to cache metadata reads and writes directed to the set of internal volumes, the caching operation including writing the set of metadata changes to pages of the persistent metadata cache using an addressing scheme that addresses pages by identifier of an internal volume and offset into the internal volume. 12. The data storage system of claim 11 , wherein the set of metadata changes includes multiple metadata changes, wherein performing the caching operation includes atomically committing the set of metadata changes to a set of pages in the persistent metadata cache such that all of the set of metadata changes are stored in the persistent metadata cache or none of them are, and wherein the set of instructions further cause the set of processing units to flush one of the set of pages to the same internal volume and offset to which the page was addressed in the persistent metadata cache when performing the caching operation. 13. The data storage system of claim 11 , wherein each of the set of internal volumes (i) operates as an interface for accessing a respective RAID (Redundant Array of Independent Disks) group of non-volatile storage devices and (ii) is addressed for accessing blocks in the RAID group using the same addressing scheme that persistent metadata cache uses for addressing pages in the persistent metadata cache. 14. The data storage system of claim 13 , wherein the persistent metadata cache on the first storage processor and the persistent metadata cache on the second storage processor are each implemented in DRAM (Dynamic Random Access Memory), and wherein the data storage system further co

Assignees

Inventors

Classifications

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • G06F3/0643Primary

    Management of files · CPC title

  • Details of cache specific to multiprocessor cache arrangements · CPC title

  • Non-volatile semiconductor memory arrays · 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 US9645932B1 cover?
A technique for storing metadata changes includes caching metadata changes in a persistent metadata cache. The persistent metadata cache is configured to cache metadata reads and writes directed to a set of internal volumes of the data storage system. A file system can access pages of the persistent metadata cache by specifying an identifier of an internal volume and an offset into that volume …
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 G06F3/0643. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 09 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).