System and method of resyncing data in erasure-coded objects on distributed storage systems without requiring checksum in the underlying storage

US11403189B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11403189-B2
Application numberUS-202016870801-A
CountryUS
Kind codeB2
Filing dateMay 8, 2020
Priority dateMay 8, 2020
Publication dateAug 2, 2022
Grant dateAug 2, 2022

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.

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for resynchronizing data in a storage system. One of the methods includes determining that a particular primary disk of a capacity object of a storage system has failed, wherein the capacity comprises a plurality of segments, and wherein the each segment comprises: a plurality of primary columns each corresponding to a respective primary disk of the capacity object, and a plurality of parity columns each corresponding to a respective parity disk of the capacity object; and resynchronizing, for each segment of one or more segments of the capacity object, the primary column of the segment corresponding to the particular primary disk using i) the primary columns of the segment corresponding to each other primary disk of the capacity object, ii) one or more parity columns of the segment, and iii) the column summaries of the segment.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a capacity object comprising a plurality of segments, wherein each segment comprises: a plurality of primary columns each corresponding to a respective primary disk, wherein each primary column comprises a plurality of primary storage blocks and a column summary comprising a data integrity token derived from the primary storage blocks of the primary column; and a plurality of parity columns each corresponding to a respective parity disk, wherein each parity column comprises a plurality of parity storage blocks; and a data recovery subsystem configured to reconstruct a particular primary disk in response to a failure, the reconstruction comprising: resynchronizing, for each segment of one or more segments of the capacity object, the primary column of the segment corresponding to the particular primary disk wherein the resynchronizing comprises using i) the primary columns of the segment corresponding to each other primary disk of the capacity object, ii) one or more parity columns of the segment, and iii) the column summaries of the segment to reconstruct the particular primary disk. 2. The system of claim 1 , wherein resynchronizing the primary column of a segment corresponding to the particular primary disk comprises: generating, for each parity column of the segment, a respective version of the primary column of the segment corresponding to the particular primary disk using i) the primary columns of the segment corresponding to each other primary disk of the capacity object and ii) the parity column; determining whether the respective versions of the primary column of the segment corresponding to the particular primary disk match; in response to determining that the respective versions match, restoring the primary column of the segment corresponding to the particular primary disk using one of the versions; and in response to determining that the respective versions do not match, selecting a first version and restoring the primary column of the segment corresponding to the particular primary disk using the first version, wherein the selecting comprising determining that the data integrity token in the column summary of the first version is valid. 3. The system of claim 1 , wherein resynchronizing the primary column of a segment corresponding to the particular primary disk comprises: generating a first version of the primary column of the segment corresponding to the particular primary disk using i) the primary columns of the segment corresponding to each other primary disk of the capacity object and ii) a first parity column of the parity columns of the segment; determining whether the data integrity token in the column summary of the first version is valid; in response to determining that the data integrity token is valid, restoring the primary column of the segment corresponding to the particular primary disk using the first version; and in response to determining that the data integrity token is not valid: generating a second version of the primary column of the segment corresponding to the particular primary disk using i) the primary columns of the segment corresponding to each other primary disk of the capacity object and ii) a second parity column of the parity columns of the segment, wherein the second parity column is different from the first parity column; determining whether the data integrity token in the column summary of the second version is valid; and in response to determining that the data integrity token is valid, restoring the primary column of the segment corresponding to the particular primary disk using the second version. 4. The system of claim 1 , wherein the system further comprises a meta object, wherein the meta object is configured to perform operations comprising: receiving a plurality of write requests corresponding to respective data items; for each write request, storing one or more copies of the respective data item; determining that a size of a set of data items is greater than a threshold; and executing a batch write of the set of data items to the capacity object. 5. The system of claim 1 , wherein the system further comprises a logical map identifying, for each of a plurality of data elements, a primary storage block of the data element. 6. The system of claim 1 , wherein the system further comprises: a segment usage table identifying a linked list of particular segments of the storage subsystem that are currently in use, the segment usage table comprising, for each of the particular segments: data identifying a previous segment in the linked list; data identifying a next segment in the linked list; data identifying a number of storage blocks of the particular segment that are currently in use; and a transaction ID of the particular segment. 7. The system of claim 6 , wherein resynchronizing, for each segment of one or more segments of the capacity object, the primary column of the segment corresponding to the particular primary disk comprises: determining the one or more segments using the segment usage table, comprising determining each segment whose transaction ID is larger than a time at which the particular primary disk failed. 8. A method comprising: determining that a particular primary disk of a capacity object of a storage system has failed, wherein the capacity object comprises a plurality of segments, and wherein the each segment comprises: a plurality of primary columns each corresponding to a respective primary disk of the capacity object, wherein each primary column comprises a plurality of primary storage blocks and a column summary comprising a data integrity token derived from the primary storage blocks of the primary column; and a plurality of parity columns each corresponding to a respective parity disk of the capacity object, wherein each parity column comprises a plurality of parity storage blocks; and resynchronizing, for each segment of one or more segments of the capacity object, the primary column of the segment corresponding to the particular primary disk, wherein the resynchronizing comprises using i) the primary columns of the segment corresponding to each other primary disk of the capacity object, ii) one or more parity columns of the segment, and iii) the column summaries of the segment to reconstruct the particular primary disk. 9. The method of claim 8 , wherein resynchronizing the primary column of a segment corresponding to the particular primary disk comprises: generating, for each parity column of the segment, a respective version of the primary column of the segment corresponding to the particular primary disk using i) the primary columns of the segment corresponding to each other primary disk of the capacity object and ii) the parity column; determining whether the respective versions of the primary column of the segment corresponding to the particular primary disk match; in response to determining that the respective versions match, restoring the primary column of the segment corresponding to the particular primary disk using one of the versions; and in response to determining that the respective versions do not match, selecting a first version and restoring the primary column of the segment corresponding to the particular primary disk using the first version, wherein the selecting comprising determining that the data integrity token in the column summary of the first version is valid. 10. The method of claim 8 , wherein resynchronizing the primary column of a segment corresponding to the particular primary disk comprises: generating a first version of the primary column of the segment corresponding to the particular primary disk using i) the primary

Assignees

Inventors

Classifications

  • to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • Reconstruction on already foreseen single or plurality of spare disks · CPC title

  • Solving problems relating to consistency · CPC title

  • Backup restoration techniques · 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 US11403189B2 cover?
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for resynchronizing data in a storage system. One of the methods includes determining that a particular primary disk of a capacity object of a storage system has failed, wherein the capacity comprises a plurality of segments, and wherein the each segment comprises: a plurality of primary columns each…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2022 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).