Data trcking for efficient recovery of a storage array

US2016170833A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016170833-A1
Application numberUS-201414567743-A
CountryUS
Kind codeA1
Filing dateDec 11, 2014
Priority dateDec 11, 2014
Publication dateJun 16, 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 system and method for maintaining operation of a storage array with one or more failed storage devices and for quickly recovering when failing devices are replaced are provided. In some embodiments, the method includes receiving a data transaction directed to a volume and determining that a storage device associated with the volume is inoperable. In response to determining that the storage device is inoperable, a data extent is recorded in a change log in a storage controller cache. The data extent is associated with the data transaction and allocated to the storage device that is inoperable. The data transaction is performed using at least one other storage device associated with the volume, and data allocated to the storage device is subsequently reconstructed using the recorded data extent.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: receiving a data transaction directed to a volume; determining that a storage device associated with the volume is inoperable; in response to determining that the storage device is inoperable, recording, in a change log in a storage controller cache, a data extent associated with the data transaction and allocated to the storage device that is inoperable; performing the data transaction using at least one other storage device associated with the volume; and subsequently reconstructing data allocated to the storage device using the recorded data extent. 2 . The method of claim 1 further comprising: recognizing a replacement storage device of the volume; and determining that the replacement storage device corresponds to the storage device that is inoperable, wherein the reconstructing of the data allocated to the storage device is performed based on determining that the replacement storage device corresponds to the storage device that is inoperable, and wherein the reconstructing of the data includes storing the reconstructed data to the replacement storage device. 3 . The method of claim 2 , wherein determining that the replacement storage device corresponds to the storage device that is inoperable includes comparing a device identifier of the replacement storage device to a device identifier of the storage device that is inoperable. 4 . The method of claim 2 , wherein determining that the replacement storage device corresponds to the storage device that is inoperable includes verifying that a data set of the replacement storage device corresponds to a data set of the storage device that is inoperable. 5 . The method of claim 1 , wherein the storage controller cache is a first storage controller cache, the method further comprising maintaining a mirror copy of the change log in a second storage controller cache. 6 . The method of claim 5 , wherein the maintaining of the mirror copy includes providing a copy of a changed portion of the change log via an inter-controller bus for storing in the second storage controller cache. 7 . The method of claim 1 , wherein the data transaction is a first data transaction and wherein the reconstructing of the data allocated to the storage device includes storing the reconstructed data to a replacement storage device, the method further comprising: receiving a second data transaction during the reconstructing of the data; determining, using the change log, whether the second data transaction is directed to data that has not yet been reconstructed; and when it is determined that the second data transaction is directed to data that has been reconstructed, performing the second data transaction using the replacement storage device during the reconstructing. 8 . The method of claim 1 further comprising recording, in the change log, data to be stored at the data extent associated with the data transaction. 9 . A non-transitory machine-readable medium that has stored thereupon instructions for performing a method of data management, including machine executable code, which when executed by at least one machine, causes the machine to: receive a data transaction; determine whether a storage device associated with the data transaction is unable to perform the data transaction; upon a determination that the storage device associated with the data transaction is unable to perform the data transaction, initialize a log to record modified data extents; perform the data transaction using at least one other storage device; and record a data extent modified by the data transaction in the log. 10 . The non-transitory machine-readable medium of claim 9 , wherein the machine executable code further causes the machine to: identify a replacement storage device; determine whether the replacement storage device corresponds to the storage device that is unable to perform the data transaction; and based upon a determination that the replacement storage device corresponds to the storage device, selectively reconstruct a portion of a dataset based on the log. 11 . The non-transitory machine-readable medium of claim 10 , wherein the selective reconstruction of the portion of the dataset is further based on data stored on the replacement storage device matching data stored on the storage device that is unable to perform the data transaction. 12 . The non-transitory machine-readable medium of claim 10 , wherein the selective reconstruction of the portion of the dataset is further based on an identifier of the replacement storage device corresponding to an identifier of the storage device that is unable to perform the data transaction. 13 . The non-transitory machine-readable medium of claim 10 , wherein the data transaction is a first data transaction and wherein the machine executable code further causes the machine to: receive a second data transaction during the selective reconstruction; and based on a determination that the second transaction is directed to a reconstructed portion of the dataset, perform the second transaction using the replacement storage device during the selective reconstruction. 14 . The non-transitory machine-readable medium of claim 10 , wherein the data transaction is a first data transaction and wherein the machine executable code further causes the machine to: receive a second data transaction during the selective reconstruction; and based on a determination that the second transaction is directed to a portion of the dataset that has not been reconstructed: perform the second data transaction using the at least one other storage device; and record a data extent modified by the second data transaction in the log. 15 . A computing device comprising: a storage controller in communication with at least one storage device and configured to: identify a transaction directed to a volume; and based on a determination that a first storage device associated with the volume is inoperable to perform the transaction: record an address modified by the transaction in a log contained in a storage controller cache; perform the transaction using a second storage device associated with the volume; use the recorded address to identify data to be stored in a third storage device; and store the identified data in a third storage device. 16 . The computing device of claim 15 , wherein the storage controller is further configured to initialize the log based on the determination that the first storage device is inoperable to perform the transaction. 17 . The computing device of claim 15 , wherein the recorded address is used to identify data to be stored in the third storage device based on a determination that a dataset of the third storage device corresponds to a dataset of the first storage device. 18 . The computing device of claim 15 , wherein the recorded address is used to identify data to be stored in the third storage device based on a determination that an identifier of the third storage device corresponds to an identifier of the first storage device. 19 . The computing device of claim 15 , wherein the storage controller cache is a first storage controller cache, and wherein the storage controller is further configured to maintain a copy of the log in a second storage controller cache. 20 . The computing device of claim 15 , wherein the storage controller is further configured to use parity information of the second storage device to determine values of the data to be

Assignees

Inventors

Classifications

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

  • Management of state, configuration or failover · CPC title

  • using more than 2 mirrored copies · CPC title

  • involving logging of persistent data for recovery · CPC title

  • Cache, i.e. caches used in RAID system 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 US2016170833A1 cover?
A system and method for maintaining operation of a storage array with one or more failed storage devices and for quickly recovering when failing devices are replaced are provided. In some embodiments, the method includes receiving a data transaction directed to a volume and determining that a storage device associated with the volume is inoperable. In response to determining that the storage de…
Who is the assignee on this patent?
Netapp 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 Jun 16 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).