Scrubbing procedure for a data storage system

US9411682B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9411682-B2
Application numberUS-68736110-A
CountryUS
Kind codeB2
Filing dateJan 14, 2010
Priority dateJan 14, 2010
Publication dateAug 9, 2016
Grant dateAug 9, 2016

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 is provided for scrubbing information stored in a data storage system where the information is stored as a plurality of encoded fragments across multiple storage devices. The method includes maintaining on a first storage device a list of metadata entries corresponding to values that are stored in the data storage system at an At Maximum Redundancy (AMR) state, verifying that encoded fragments associated with each of the metadata entries are stored on a second storage, verifying that a corresponding metadata entry is stored on the first storage device for each encoded fragment that is stored on the second storage device, and scheduling for recovery any missing encoded fragments and/or any missing metadata entry.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of scrubbing information stored in a data storage system, comprising: maintaining on a first storage device a list of metadata entries corresponding to values that are stored in the data storage system at an At Maximum Redundancy (AMR) state, where each of the values is divided into encoded fragments; verifying that the encoded fragments corresponding to each of the metadata entries are stored on a second storage device; verifying that a corresponding metadata entry is stored on the first storage device for each of the encoded fragments that are stored on the second storage device; and scheduling for recovery any missing encoded fragments and/or any missing metadata entry. 2. The method as recited in claim 1 , wherein the scheduling for recovery comprises appending an entry corresponding to the missing fragment and/or missing metadata entry to a convergence log, and converging entries on the convergence log to the AMR state. 3. The method as recited in claim 1 , further comprising: determining whether each encoded fragment stored on the second storage device is a most recent version; and removing from the second storage device any encoded fragment that is not the most recent version. 4. The method as recited in claim 1 , further comprising determining whether a number of missing encoded fragments exceeds a threshold value, and, if so, accelerating recovery of the missing encoded fragments. 5. The method as recited in claim 1 , wherein the first and second storage devices are at a first storage location, and further comprising determining whether sibling fragments should be stored at a second storage location and, if so, transmitting a communication from the first storage location to the second storage location to cause the second storage location to verify that the sibling fragments are stored at the second storage location. 6. The method of claim 1 , wherein each of the metadata entries contains information specifying a number of encoded fragments to break a value into. 7. The method of claim 6 , wherein each of the metadata entries further contains information specifying a number of parity fragments to store at a corresponding storage node, where the parity fragments are used to rebuild an encoded fragment. 8. A method of scrubbing information stored as a plurality of encoded fragments across a plurality of storage nodes, comprising: verifying, at a first storage node, that a plurality of encoded fragments associated with a plurality of values is stored at the first storage node; scheduling any missing fragments for recovery by the first storage node; transmitting a communication from the first storage node to a second storage node if the second storage node should have an encoded fragment that is a sibling of an encoded fragment stored at the first storage node; in response to the communication, verifying, at the second storage node, that the sibling fragment is stored at the second storage node; and if not, scheduling the sibling fragment for recovery by the second storage node. 9. The method as recited in claim 8 , wherein metadata associated with the encoded fragments is stored at the first storage node, and wherein the verifying at the first storage node comprises cross-checking the stored encoded fragments against the stored metadata. 10. The method as recited in claim 9 , further comprising storing the plurality of encoded fragments on a first storage device at the first storage node, and storing the metadata on a second storage device at the first storage node. 11. The method of claim 10 , wherein the metadata includes a plurality of metadata entries, and wherein the cross-checking comprises: verifying that the encoded fragments corresponding to each of the metadata entries on the second storage device are stored on the first storage device; and verifying that a corresponding metadata entry is stored on the second storage device for each of the encoded fragments stored on the first storage device. 12. The method as recited in claim 9 , wherein the cross-checking comprises determining whether either a number of missing fragments or a number of missing metadata exceeds a threshold value, and, if so, accelerating recovery of the missing fragments and/or the missing metadata. 13. The method of claim 9 , wherein each of the values is divided into respective encoded fragments, and wherein the metadata specifies a number of encoded fragments that each of the values is to be divided into. 14. The method as recited in claim 8 , further comprising: determining whether the encoded fragments are a most recent version; and deleting any encoded fragments that are not the most recent version. 15. The method as recited in claim 8 , wherein the scheduling of recovery by the first storage node comprises appending to a convergence log at the first storage node an entry corresponding to each missing fragment; and converging, at the first storage node, the entries on the convergence log to an At Maximum Redundancy (AMR) state. 16. A data storage system, comprising: a local storage node; and a remote storage node in communication with the local storage node via a network, each of the local and remote storage nodes comprising: a fragment server having a plurality of storage devices, each of the storage devices to store a plurality of encoded fragments divided from values, and metadata associated with the encoded fragments, each of the fragment servers configured to repeatedly: cross-check the encoded fragments stored on the fragment server's storage devices against the metadata stored on the fragment server's storage devices; and schedule for recovery any fragments and/or metadata missing from the storage devices; and wherein each fragment server at the local storage node is further configured to transmit messages to sibling fragment servers at the remote storage node to request that the sibling fragment servers verify storage of sibling fragments. 17. The system as recited in claim 16 , wherein a first portion of the encoded fragments is stored on a first storage device at the local storage node, and wherein the metadata corresponding to the first portion is stored on a second storage device at the local storage node. 18. The system as recited in claim 16 , wherein each fragment server is further configured to determine whether each stored fragment is a most recent version, and to delete from the storage devices any fragments that are not the most recent version. 19. The system as recited in claim 16 , wherein each fragment server is configured to append to a convergence log an entry corresponding to a missing fragment and/or missing metadata to schedule the recovery. 20. The system as recited in claim 19 , wherein each fragment server is configured to converge the entry in the convergence log to an At Maximum Redundancy (AMR) state. 21. The system of claim 16 , wherein each of the values are divided into respective encoded fragments, and where the metadata specifies a number of encoded fragments that each of the values is to be divided into.

Assignees

Inventors

Classifications

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

  • Metadata, i.e. metadata associated with RAID systems with parity · CPC title

  • Scrubbing in RAID systems with parity · 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 US9411682B2 cover?
A method is provided for scrubbing information stored in a data storage system where the information is stored as a plurality of encoded fragments across multiple storage devices. The method includes maintaining on a first storage device a list of metadata entries corresponding to values that are stored in the data storage system at an At Maximum Redundancy (AMR) state, verifying that encoded f…
Who is the assignee on this patent?
Anderson Eric A, Li Xiaozhou, Shah Mehul A, and 2 more
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 09 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).