Data tracking for efficient recovery of a storage array
First Claim
1. A method comprising:
- receiving a data transaction directed to a volume comprising a plurality of storage devices;
determining that a storage device of the plurality of storage devices is inoperable;
in response to determining that the storage device is inoperable, recording, in a change log, a data extent that comprises an address range allocated to the inoperable storage device and data that is to be stored at the address range as a result of the data transaction;
performing the data transaction using at least one other storage device of the plurality of storage devices; and
subsequently reconstructing data allocated to the storage device using the recorded data extent.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
21 Citations
21 Claims
-
1. A method comprising:
-
receiving a data transaction directed to a volume comprising a plurality of storage devices; determining that a storage device of the plurality of storage devices is inoperable; in response to determining that the storage device is inoperable, recording, in a change log, a data extent that comprises an address range allocated to the inoperable storage device and data that is to be stored at the address range as a result of the data transaction; performing the data transaction using at least one other storage device of the plurality of storage devices; and subsequently reconstructing data allocated to the storage device using the recorded data extent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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 the determination that the storage device associated with the data transaction is unable to perform the data transaction, initialize a log that records modified data extents that comprise address ranges allocated to the storage device and data that is to be stored at the address ranges as a result of the data transaction; perform the data transaction using at least one other storage device; and record a data extent modified by the data transaction in the log. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. 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; determine that a first storage device of a plurality of storage devices associated with the volume is inoperable to perform the transaction; and based on the determination; record, in a log an address allocated to the first storage device and data that is to be stored at the address and that has been modified by the transaction; perform the transaction using a second storage device of the plurality of storage devices associated with the volume; use the recorded address to identify the data to be stored in a third storage device; and store the identified data in a third storage device. - View Dependent Claims (17, 18, 19, 20, 21)
Specification