Systems and methods for storage error management

US2016259693A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016259693-A1
Application numberUS-201514878635-A
CountryUS
Kind codeA1
Filing dateOct 8, 2015
Priority dateMar 4, 2015
Publication dateSep 8, 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.

A storage layer stores integrity data corresponding to data groups being written to a storage array. The storage layer validates stored data groups by use of the integrity data, independent of recovery information managed by the storage array. The storage layer preempts crash recovery operations of the storage array by validating a subset of the data groups. The storage layer identifies data groups to validate based on a location of a log append point within a storage address space of the storage array. The storage layer may be further configured to mitigate write hole conditions by, inter alia, reconstructing invalid data of a data group and/or retaining valid portions of the data group.

First claim

Opening claim text (preview).

We claim: 1 . An apparatus, comprising: a storage service layer configured to generate integrity metadata corresponding to data being stored within respective data groups by a storage engine, wherein the storage engine stores the data groups with reconstruction metadata on a storage array; and a validation manager of the storage service layer, the validation manager configured to recover from an invalid shutdown of the storage array by use of the integrity metadata; wherein the storage service layer is configured to replace a recovery operation of the storage engine by use of the validation manager. 2 . The apparatus of claim 1 , wherein the recovery operation of the storage engine replaced by the storage service layer comprises determining whether the invalid shutdown resulted in storage of an incomplete data group on the storage array, and wherein the validation manager is configured to determine whether the invalid shutdown resulted in storage of an incomplete data group on the storage array by use of the integrity metadata. 3 . The apparatus of claim 2 , wherein the validation manager is configured to identify an incomplete data group stored on the storage array in response to a mismatch between integrity metadata generated for the data group and integrity metadata derived from data read from the storage array. 4 . The apparatus of claim 2 , further comprising a recovery module configured to invalidate at least a portion of an incomplete data group identified by the validation manager. 5 . The apparatus of claim 1 , wherein the recovery operation of the storage engine comprises validating a set of stored data groups by use of the reconstruction metadata stored with the respective data groups on the storage array, and wherein the validation manager is configured to replace the recovery operation of the storage engine by validating a subset of the data groups stored on the storage array. 6 . The apparatus of claim 1 , further comprising a log storage module configured to write data to an append point of a storage log on the storage array by use of the storage engine, wherein the verification module is configured to validate a data group corresponding to the append point of the storage log in response to the invalid shutdown. 7 . The apparatus of claim 1 , further comprising a coordination module configured to direct the storage engine to delegate recovery from the invalid shutdown to the storage layer. 8 . The apparatus of claim 1 , further comprising a storage array coordination module configured to prevent the storage engine from implementing a resynchronization operation in response to the invalid shutdown, wherein the resynchronization operation comprises the storage engine validating data groups stored on the storage array by use of the reconstruction metadata stored with the data groups by the storage engine. 9 . A system, comprising: a storage layer that stores integrity data corresponding to data being stored within respective data stripes of a RAID storage system, wherein the stored data stripes comprise parity reconstruction data generated by the RAID storage system; a crash recovery module that validates data stripes of the RAID storage system by use of the stored integrity data in response to an invalid shutdown of the RAID storage system; and a storage coordination module of the storage layer configured to perform crash recovery pertaining to the invalid shutdown in place of the RAID storage system. 10 . The system of claim 9 , wherein the storage coordination module is configured to block performance of a crash recovery operation by the RAID storage system in response to the invalid shutdown. 11 . The system of claim 9 , wherein the storage coordination module configures the RAID storage system to delegate crash recovery to the storage layer. 12 . The system of claim 9 , wherein the storage coordination module is configured to notify the RAID storage system that the storage layer is configured to identify data stripe write errors, wherein the crash recovery module is configured to identify a data stripe write error by comparing stored integrity data of the data stripe to integrity data generated from the stored data stripe read from the RAID storage system. 13 . The system of claim 9 , wherein the RAID storage system is configured to implement a resynchronization operation in response to the invalid shutdown, and wherein the storage coordination module is configured to transmit a message to the RAID storage system in response to the invalid shutdown, wherein the message is configured to prevent the RAID storage system from implementing the resynchronization operation. 14 . The system of claim 9 , wherein the integrity data of a stored data stripe comprises an integrity datum corresponding to each of a plurality of data units within the stored data stripe, and wherein the crash recovery module is configured to invalidate a particular one of the data units in response to a mismatch between the stored integrity datum of the particular data unit and an integrity datum derived from the particular data unit within the stored data stripe, and wherein the recovery module is further configured to rewrite one or more other data units within the stored data stripe in response to validating the stored integrity data of the one or more other data units. 15 . A non-transitory computer-readable storage medium storing program code causing a computing device to execute operations, the operations comprising: appending data groups to a storage log maintained on a storage array by use of a storage array controller, wherein the storage array controller is configured to store the data groups within respective data stripes on the storage array, the data stripes comprising reconstruction metadata generated by the storage array controller; storing checksum values corresponding to the data groups stored within the respective data stripes on the storage array; and preempting a crash recovery operation of the storage array controller in response to an invalid shutdown of the storage array, wherein preempting the crash recovery operation comprises validating a data stripe at the head of the storage log on the storage array by use of the stored checksum values corresponding to the data groups stored within the respective data stripes on the storage array. 16 . The non-transitory computer-readable storage medium of claim 15 , further comprising identifying the data stripe at the head of the storage log in response to the invalid shutdown, and comparing a checksum value derived from the identified data stripe to the stored checksum value corresponding to the identified data stripe. 17 . The non-transitory computer-readable storage of claim 16 , further comprising invalidating the stored data stripe in response to a mismatch between the checksum value derived from the identified data stripe and the stored checksum value. 18 . The method of claim 16 , wherein the data stripe at the head of the storage log comprises a plurality of data blocks mapped to respective addresses of a logical address space, the method further comprising invalidating associations between the data stripe and the respective addresses in response to a mismatch between the checksum value derived from the identified data stripe and the stored checksum value. 19 . The non-transitory computer-readable storage of claim 15 , wherein storing the checksum values comprises appending mapping entries comprising the checksum values to a metadata log maintained on a

Assignees

Inventors

Classifications

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

  • Real-time · CPC title

  • Physics · mapped topic

  • Management of the backup or restore process · CPC title

  • Ensuring data consistency and integrity · 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 US2016259693A1 cover?
A storage layer stores integrity data corresponding to data groups being written to a storage array. The storage layer validates stored data groups by use of the integrity data, independent of recovery information managed by the storage array. The storage layer preempts crash recovery operations of the storage array by validating a subset of the data groups. The storage layer identifies data gr…
Who is the assignee on this patent?
Sandisk Technologies 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 Sep 08 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).