Combining transactions in a metadata transaction log
US-9280578-B1 · Mar 8, 2016 · US
US9645932B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9645932-B1 |
| Application number | US-201414576931-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 19, 2014 |
| Priority date | Dec 19, 2014 |
| Publication date | May 9, 2017 |
| Grant date | May 9, 2017 |
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 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.
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
in relation to data integrity, e.g. data losses, bit errors · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Management of files · CPC title
Details of cache specific to multiprocessor cache arrangements · CPC title
Non-volatile semiconductor memory arrays · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.