Latency sensitive metadata object persistence operation for storage device
US-2018307609-A1 · Oct 25, 2018 · US
US11068199B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11068199-B2 |
| Application number | US-201916260660-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 29, 2019 |
| Priority date | Jan 29, 2019 |
| Publication date | Jul 20, 2021 |
| Grant date | Jul 20, 2021 |
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.
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.
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
Saving storage space on storage systems · CPC title
Hash tables · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.