System and method for aggregating metadata changes in a storage system

US11068199B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11068199-B2
Application numberUS-201916260660-A
CountryUS
Kind codeB2
Filing dateJan 29, 2019
Priority dateJan 29, 2019
Publication dateJul 20, 2021
Grant dateJul 20, 2021

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 method, computer program product, and computing system for associating each data container of a first set of data containers in volatile memory with a metadata page. One or more metadata changes associated with a metadata page may be written to the data container associated with the metadata page. The one or more metadata changes stored in the first set of data containers may be written to a storage array.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: associating, via the computing device, each data container of a first set of data containers in volatile memory with a separate metadata page of a plurality of metadata pages, wherein each data container of the first set of data containers is configured to store metadata changes associated with a separate metadata page; writing one or more metadata changes associated with a metadata page to the data container associated with the metadata page; writing the one or more metadata changes stored in the first set of data containers to a storage array, wherein writing the one or more metadata changes stored in the first set of data containers to a storage array includes: writing the one or more metadata changes stored in each data container to a separate data container page of a set of data container pages in the storage array, wherein each data container page is configured to store metadata changes associated with a separate metadata page of the plurality of metadata pages, and writing the one or more metadata changes stored in the set of data container pages to the metadata page stored in a metadata page store of the storage array. 2. The computer-implemented method of claim 1 , wherein writing the one or more metadata changes to the first set of data containers includes writing metadata changes to the first set of data containers until at least one data container of the first set of data container is full. 3. The computer-implemented method of claim 2 , further comprising: switching the first set of data containers with a second set of data containers when the at least one data container of the first set of data container is full; and writing one or more subsequent metadata changes to the second set of data containers. 4. The computer-implemented method of claim 1 , wherein associating each data container of the set of data containers with a metadata page is based upon, at least in part, a hash function of an index of the metadata page. 5. The computer implemented method of claim 4 , further comprising: determining a target data container for writing the one or more metadata changes based upon, at least in part, a hash function of an index of the metadata page associated with the one or more metadata changes. 6. The computer implemented method of claim 1 , further comprising: receiving a read request for a metadata page stored in the storage array; identifying the data container from the first set of data containers in the volatile memory that is associated with the metadata page of the read request; identifying one or more metadata changes from the identified data container; reading the metadata page from the storage array; merging the one or more identified metadata changes with the metadata page read from the storage array, thus defining a current metadata page; and providing the current metadata page in response to the read request. 7. The computer implemented method of claim 1 , further comprising: combining a plurality of data container pages associated with a metadata page from a plurality of sets of data container pages in the storage array, thus defining a data container working set; reading the metadata page from the metadata page store of the storage array; merging the one or more metadata changes from the data container working set and the metadata page read from the metadata page store of the storage array, thus defining an updated metadata page; and writing the updated metadata page to the metadata page store of the storage array. 8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: associating each data container of a first set of data containers in volatile memory with a separate metadata page of a plurality of metadata pages, wherein each data container of the first set of data containers is configured to store metadata changes associated with a separate metadata page; writing one or more metadata changes associated with a metadata page to the data container associated with the metadata page; writing the one or more metadata changes stored in the first set of data containers to a storage array, wherein writing the one or more metadata changes stored in the first set of data containers to a storage array includes: writing the one or more metadata changes stored in each data container to a separate data container page of a set of data container pages in the storage array, wherein each data container page is configured to store metadata changes associated with a separate metadata page of the plurality of metadata pages, and writing the one or more metadata changes stored in the set of data container pages to the metadata page stored in a metadata page store of the storage array. 9. The computer program product of claim 8 , wherein writing the one or more metadata changes to the first set of data containers includes writing metadata changes to the first set of data containers until at least one data container of the first set of data container is full. 10. The computer program product of claim 9 , further comprising: switching the first set of data containers with a second set of data containers when the at least one data container of the first set of data container is full; and writing one or more subsequent metadata changes to the second set of data containers. 11. The computer program product of claim 9 , wherein associating each data container of the set of data containers with a metadata page is based upon, at least in part, a hash function of an index of the metadata page. 12. The computer program product of claim 11 , further comprising: determining a target data container for writing the one or more metadata changes based upon, at least in part, a hash function of an index of the metadata page associated with the one or more metadata changes. 13. The computer program product of claim 8 , further comprising: receiving a read request for a metadata page stored in the storage array; identifying the data container from the first set of data containers in the volatile memory that is associated with the metadata page of the read request; identifying one or more metadata changes from the identified data container; reading the metadata page from the storage array; merging the one or more identified metadata changes with the metadata page read from the storage array, thus defining a current metadata page; and providing the current metadata page in response to the read request. 14. The computer program product of claim 8 , further comprising: combining a plurality of data container pages associated with a metadata page from a plurality of sets of data container pages in the storage array, thus defining a data container working set; reading the metadata page from the metadata page store of the storage array; merging the one or more identified metadata changes from the data container working set and the metadata page read from the metadata page store of the storage array, thus defining an updated metadata page; and writing the updated metadata page to the metadata page store of the storage array. 15. A computing system including a processor and memory configured to perform operations comprising: associating each data container of a first set of data containers in volatile memory with a separate metadata page of a plurality of metadata pages, wherein each data container of the first set of data c

Assignees

Inventors

Classifications

  • Saving storage space on storage systems · CPC title

  • Hash tables · CPC title

  • G06F3/0655Primary

    Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

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

  • Single storage device · 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 US11068199B2 cover?
A method, computer program product, and computing system for associating each data container of a first set of data containers in volatile memory with a metadata page. One or more metadata changes associated with a metadata page may be written to the data container associated with the metadata page. The one or more metadata changes stored in the first set of data containers may be written to a …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0655. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 20 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).