Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system

US2016019114A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016019114-A1
Application numberUS-201414332282-A
CountryUS
Kind codeA1
Filing dateJul 15, 2014
Priority dateJul 15, 2014
Publication dateJan 21, 2016
Grant date

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.

Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for a storage system having a plurality of storage units, the method comprising: while all of the storage units are operating without failure, storing only error-correction blocks on a first one of the storage units and storing a combination of data blocks and error-correction blocks on a second one of the storage units; and upon failure of the second storage unit, (i) reconstructing one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit, and (ii) storing the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks on the first storage unit. 2 . The method of claim 1 , further comprising: prior to storing the one or more reconstructed data blocks and one or more error-correction blocks on the first storage unit, backing up one or more of the error-correction blocks on the first storage unit on a persistent storage device. 3 . The method of claim 2 , wherein at least one of the reconstructed data blocks overwrites the one or more error-correction blocks on the first storage unit that have been backed up onto the persistent storage device. 4 . The method of claim 3 , wherein at least one of the error-correction blocks that is backed up belongs to a first stripe, and the at least one of the error-correction blocks that is backed up and belongs to the first stripe is overwritten by at least one reconstructed data block that belongs to a second stripe. 5 . The method of claim 2 , wherein at least one of the reconstructed error-correction blocks overwrites the one or more error-correction blocks on the first storage unit that have been backed up onto the persistent storage device. 6 . The method of claim 5 , wherein at least one of the error-correction blocks that is backed up belongs to a first stripe, and the at least one of the error-correction blocks that is backed up and belongs to the first stripe is overwritten by at least one reconstructed error-correction block that belongs to a second stripe. 7 . The method of claim 1 , wherein at least one of the reconstructed data blocks overwrites at least one of the error-correction blocks on the first storage unit. 8 . The method of claim 7 , wherein at least one of the error-correction blocks that is overwritten belongs to a first stripe, and the at least one of the error-correction blocks that is overwritten and belongs to the first stripe is overwritten by at least one reconstructed data block that belongs to a second stripe. 9 . The method of claim 1 , wherein at least one of the reconstructed error-correction blocks overwrites at least one of the error-correction blocks on the first storage unit. 10 . The method of claim 9 , wherein at least one of the error-correction blocks that is overwritten belongs to a first stripe, and the at least one of the error-correction blocks that is overwritten and belongs to the first stripe is overwritten by at least one reconstructed error-correction block that belongs to a second stripe. 11 . A storage system, comprising: a plurality of storage units; a main memory; a processor communicatively coupled to the plurality of storage units and the main memory; and a set of instructions on the main memory that, when executed by the processor, cause the processor to: while all of the storage units are operating without failure, store only error-correction blocks on a first one of the storage units and store a combination of data blocks and error-correction blocks on a second one of the storage units; and upon failure of the second storage unit, (i) reconstruct one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit, and (ii) store the one or more reconstructed data blocks and one or more reconstructed error-correction blocks on the first storage unit. 12 . The storage system of claim 11 , wherein at least one of the reconstructed data blocks overwrites at least one of the error-correction blocks on the first storage unit. 13 . The storage system of claim 12 , wherein at least one of the error-correction blocks that is overwritten belongs to a first stripe, and the at least one of the error-correction blocks that is overwritten and belongs to the first stripe is overwritten by at least one reconstructed data block that belongs to a second stripe. 14 . The storage system of claim 11 , wherein at least one of the reconstructed error-correction blocks overwrites at least one of the error-correction blocks on the first storage unit. 15 . The storage system of claim 14 , wherein at least one of the error-correction blocks that is overwritten belongs to a first stripe, and the at least one of the error-correction blocks that is overwritten and belongs to the first stripe is overwritten by at least one reconstructed error-correction block that belongs to a second stripe. 16 . A non-transitory machine-readable storage medium for a storage system having a plurality of storage units, a main memory, and a processor communicatively coupled to the plurality of storage units and the main memory, the non-transitory machine-readable storage medium comprising software instructions that, when executed by the processor, cause the processor to: while all of the storage units are operating without failure, store only error-correction blocks on a first one of the storage units and store a combination of data blocks and error-correction blocks on a second one of the storage units; and upon failure of the second storage unit, (i) reconstruct one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit, and (ii) store the one or more reconstructed data blocks and one or more reconstructed error-correction blocks on the first storage unit. 17 . The non-transitory machine-readable storage medium of claim 16 , wherein at least one of the reconstructed data blocks overwrites at least one of the error-correction blocks on the first storage unit. 18 . The non-transitory machine-readable storage medium of claim 17 , wherein at least one of the error-correction blocks that is overwritten belongs to a first stripe, and the at least one of the error-correction blocks that is overwritten and belongs to the first stripe is overwritten by at least one reconstructed data block that belongs to a second stripe. 19 . The non-transitory machine-readable storage medium of claim 16 , wherein at least one of the reconstructed error-correction blocks overwrites at least one of the error-correction blocks on the first storage unit. 20 . The non-transitory machine-readable storage medium of claim 19 , wherein at least one of the error-correction blocks that is overwritten belongs to a first stripe, and the at least one of the error-correction blocks that is overwritten and belongs to the first stripe is overwritten by at least one reconstructed error-correction block that belongs to a second stripe.

Assignees

Inventors

Classifications

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

  • Rebuilding, e.g. when physically replacing a failing disk · CPC title

  • Parity calculation or recalculation after configuration or reconfiguration of the system · CPC title

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

  • Degraded mode, e.g. caused by single or multiple storage removals or disk failures · 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 US2016019114A1 cover?
Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the se…
Who is the assignee on this patent?
Nimble Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1088. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).