Techniques for correcting errors in cached pages
US-2021390015-A1 · Dec 16, 2021 · US
US11663185B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11663185-B2 |
| Application number | US-202016944549-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 31, 2020 |
| Priority date | Jul 31, 2020 |
| Publication date | May 30, 2023 |
| Grant date | May 30, 2023 |
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 of validating metadata pages that map to user data in a data storage system is provided. The method includes (a) obtaining first information stored for a first metadata page and second information stored for a second metadata page, the first and second metadata pages having a relationship to each other within a hierarchy of metadata pages for accessing user data; (b) performing a consistency check between the first information and the second information, the consistency check producing a first result in response to the relationship being verified and a second result otherwise; and (c) in response to the consistency check yielding the second result, performing a corrective action to restore consistency between the first and second information. An apparatus, system, and computer program product for performing a similar method are also provided.
Opening claim text (preview).
What is claimed is: 1. A method of validating metadata pages that map to user data in a data storage system, the method comprising: obtaining first information stored for a first metadata page and second information stored for a second metadata page, the first and second metadata pages having a relationship to each other within a hierarchy of metadata pages for accessing user data, wherein obtaining the first information stored for the first metadata page includes reading the first information stored for the first metadata page from a descriptive portion of the first metadata page, and wherein obtaining the second information stored for the second metadata page includes reading the second information stored for the second metadata page from a descriptive portion of the second metadata page; performing a consistency check between the first information stored for the first metadata page and the second information stored for the second metadata page, at least in part by determining whether the first information stored for the first metadata page and the second information stored for the second metadata page both include a same snap group identifier that identifies the first and second metadata pages as belonging to a same snap group, wherein the snap group is defined as a single logical disk and all snapshots of that logical disk, the consistency check producing a first result in response to the relationship being verified and a second result otherwise; in response to the consistency check yielding the second result, performing a corrective action to restore consistency between the first and second information; wherein the first and second metadata pages are cached within first system memory of a first processing node of the data storage system; and wherein performing the corrective action to restore consistency between the first information stored for the first metadata page and the second information stored for the second metadata page includes: the first processing node requesting corresponding versions of the first and second metadata pages from second system memory of a second processing node of the data storage system; in response to requesting the corresponding versions failing to restore consistency between the first information stored for the first metadata page and the second information stored for the second metadata page, reading persistent versions of the first and second metadata pages into the first system memory in place of the cached first and second metadata pages; and in response to reading the persistent versions of the first and second metadata pages into the first system memory failing to restore consistency between the first information stored for the first metadata page and the second information stored for the second metadata page, performing a metadata consistency check on the entire hierarchy of metadata pages. 2. The method of claim 1 wherein the first metadata page is a parent node to the second metadata page within a B-tree. 3. The method of claim 2 , wherein the first information stored for the first metadata page includes a first positional address identifying a first address range of user data mapped by the first metadata page; wherein the second information stored for the second metadata page includes a second positional address identifying a second address range of user data mapped by the second metadata page; and wherein performing the consistency check further includes determining whether the second address range is encompassed within the first address range. 4. The method of claim 2 wherein performing the consistency check between the first information stored for the first metadata page and the second information stored for the second metadata page is done in response to the data storage system receiving a read command directed at a user data page having an address mapped by both the first metadata page and the second metadata page. 5. The method of claim 1 wherein the first and second metadata pages are peer nodes within a B-tree, the second metadata page having been cloned from the first metadata page. 6. The method of claim 5 , wherein the first information stored for the first metadata page includes a first positional address identifying a first address range of user data mapped by the first metadata page; wherein the second information stored for the second metadata page includes a second positional address identifying a second address range of user data mapped by the second metadata page; and wherein performing the consistency check further includes determining whether the first positional addresses equals the second positional address. 7. The method of claim 5 , wherein the first information stored for the first metadata page includes a first pointer pointing to the second metadata page; wherein the second information stored for the second metadata page includes a second pointer indicating a source metadata page from which the second metadata page was cloned; and wherein performing the consistency check further includes determining whether the second pointer points to the first metadata page. 8. The method of claim 5 wherein performing the consistency check between the first information stored for the first metadata page and the second information stored for the second metadata page is done in response to a snapshot creation operation, the first metadata node mapping to an initial state of a logical disk prior to the snapshot creation operation and the second metadata node mapping to one of (a) a subsequent state of the logical disk after the snapshot creation operation and (b) a state of a snapshot taken of the logical disk. 9. The method of claim 5 wherein performing the consistency check between the first information stored for the first metadata page and the second information stored for the second metadata page is done in response to a write-split on a write operation to a logical disk with an associated snapshot, the first metadata node mapping to an initial state of a logical disk prior to the write-split and the second metadata node mapping to one of (a) a subsequent state of the logical disk after the write-split and (b) a state of a snapshot taken of the logical disk after the write-split. 10. The method of claim 1 wherein performing the consistency check between the first information stored for the first metadata page and the second information stored for the second metadata page further includes determining whether the first information stored for the first metadata page and the second information stored for the second metadata page both include a same deduplication group identifier that identifies the first and second metadata pages as belonging to a same deduplication group, wherein deduplication group is defined as a set of logical disks across which an identical set of data blocks are deduplicated. 11. The method of claim 1 , wherein the first metadata page contains pointers to pages of user data embedded within an aggregation of pages of user data; wherein the second metadata page is associated with the aggregation of pages of user data; wherein the second metadata page contains pointers to one or more metadata pages that contain pointers pointing to the aggregation of pages of user data associated with the second metadata page; and wherein performing the consistency check includes determining whether one of the pointers within the second metadata page points to the first metadata page. 12. The method of claim 11 wherein performing the consistency check between the first information stored for the first metadata page and the second information stored for the second metadata page is done in respon
Trees, e.g. B+trees · CPC title
Page mode · CPC title
Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors · CPC title
based on file chunks · CPC title
Details of searching files based on file metadata · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.