IP Library Granted Patent US 9,841,921
Granted Patent B2
US 9,841,921 · App. 15/140,445 · Granted Dec 12, 2017

Migrating data in a storage array that includes a plurality of storage devices

Inventors: John Colgrove (Los Altos, CA); Andrew Kleinerman (San Francisco, CA); Benjamin Scholbrock (Sunnyvale, CA); Taher Vohra (Sunnyvale, CA); Xiaohui Wang (San Jose, CA)
Assignee: Pure Storage, Inc.
G06F3/0647G06F3/067G06F3/0607G06F3/0683G11C11/4074G11C11/4096
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,841,921
App. No.
15/140,445
Granted
Dec 12, 2017
Kind
B2
Abstract

Migrating data in a storage array that includes a plurality of storage devices, including: detecting, by the storage array, an occurrence of a storage device evacuation event associated with one or more source storage devices; responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage array, one or more target storage devices for receiving data stored on the one or more source storage devices; reducing, by the storage array, write access to the one or more source storage devices; and migrating the data stored on the one or more source storage devices to the one or more target storage devices.

Claims (39)

1. A method of migrating data in a storage array that includes a plurality of storage devices, the method comprising:

receiving, by the storage array, an indication that a properly functioning source storage device is designated for removal from the storage array;

in response to receiving the indication that the properly functioning source storage device is designated for removal from the storage array:

identifying, by the storage array, one or more target storage devices for receiving data stored on the properly functioning source storage device;

enabling read-write access to all deduplicated data stored within the properly functioning source storage device and enabling read-only access to the remaining portions of the properly functioning source storage device that do not contain deduplicated data;

allowing write requests to be performed on the deduplicated data stored on the properly functioning source storage device;

redirecting to the one or more target storage devices, any write requests for the remaining portions of the properly functioning source storage device; and

migrating, by the storage array, the data stored on the properly functioning source storage device to the one or more target storage devices.

2. The method of claim 1 wherein migrating the data stored on the properly functioning source storage device to the one or more target storage devices further comprises copying, from the properly functioning source storage device to the target storage devices, the data stored on the properly functioning source storage device.

3. The method of claim 1 wherein migrating the data stored on the properly functioning source storage device to the one or more target storage devices further comprises:

initiating a garbage collection process on the properly functioning source storage device, wherein the garbage collection process identifies valid data on the properly functioning source storage device and invalid data on the properly functioning source storage device; and

writing the valid data identified by the garbage collection process to the one or more target storage devices.

4. The method of claim 1 wherein migrating the data stored on the properly functioning source storage device to the one or more target storage devices further comprises rebuilding the data onto the one or more target storage devices utilizing redundancy data in the storage array.

5. The method of claim 1 further comprising erasing the data stored on the properly functioning source storage device.

6. The method of claim 1 wherein the data stored on the properly functioning source storage device is part of a data set that is striped across a plurality of storage devices.

7. An apparatus for migrating data in a storage array that includes a plurality of storage devices, the apparatus comprising a computer processor and a computer memory, the computer memory including computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving, by the storage array, an indication that a properly functioning source storage device is designated for removal from the storage array;

in response to receiving the indication that the properly functioning source storage device is designated for removal from the storage array:

identifying one or more target storage devices for receiving data stored on the properly functioning source storage device;

enabling read-write access to all deduplicated data stored within the properly functioning source storage device and enabling read-only access to the remaining portions of the properly functioning source storage device that do not contain deduplicated data;

allowing write requests to be performed on the deduplicated data stored on the properly functioning source storage device;

redirecting to the one or more target storage devices, any write requests for the remaining portions of the properly functioning source storage device; and

migrating the data stored on the properly functioning source storage device to the one or more target storage devices.

8. The apparatus of claim 7 wherein migrating the data stored on the properly functioning source storage device to the one or more target storage devices further comprises copying, from the properly functioning source storage device to the one or more target storage devices, the data stored on the properly functioning source storage device.

9. The apparatus of claim 7 wherein migrating the data stored on the properly functioning source storage device to the one or more target storage devices further comprises:

initiating a garbage collection process on the properly functioning source storage device, wherein the garbage collection process identifies valid data on the properly functioning source storage device and invalid data on the properly functioning source storage device; and

writing the valid data identified by the garbage collection process to the one or more target storage devices.

10. The apparatus of claim 7 wherein migrating the data stored on the properly functioning source storage device to the one or more target storage devices further comprises rebuilding the data onto the one or more target storage devices utilizing redundancy data in the storage array.

11. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of erasing the data stored on the properly functioning source storage device.

12. The apparatus of claim 7 wherein the data stored on the properly functioning source storage device is part of a data set that is striped across a plurality of storage devices.

13. A computer program product for migrating data in a storage array that includes a plurality of storage devices, the computer program product disposed on a computer readable storage medium, the computer program product including computer program instructions that, when executed by a computer processor, cause the computer processor to carry out the steps of:

receiving, by the storage array, an indication that a properly functioning source storage device is designated for removal from the storage array;

in response to receiving the indication that the properly functioning source storage device is designated for removal from the storage array:

identifying one or more target storage devices for receiving data stored on the source storage device;

enabling read-write access to all deduplicated data stored within the properly functioning source storage device and enabling read-only access to the remaining portions of the properly functioning source storage device that do not contain deduplicated data;

allowing write requests to be performed on the deduplicated data stored on the properly functioning source storage device;

redirecting to the one or more target storage devices, any write requests for the remaining portions of the properly functioning source storage device; and

migrating the data stored on the properly functioning source storage device to the one or more target storage devices.

14. The method of claim 1 wherein the one or more target storage devices are mounted in a separate enclosure than the properly functioning source storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: COLGROVE, JOHN; KLEINERMAN, ANDREW; SCHOLBROCK, BENJAMIN; VOHRA, TAHER; WANG, XIAOHUI
To: PURE STORAGE, INC.
Reel/Frame 038398/0823 →
Continuity (1)
Related Publication 20170315752A1 · Nov 2, 2017