IP Library Granted Patent US 11,112,990
Granted Patent B1
US 11,112,990 · App. 16/736,486 · Granted Sep 7, 2021

Managing storage device evacuation

Inventors: Andrew Bernat (Mountain View, CA); John Colgrove (Los Altos, CA); Taher Vohra (Sunnyvale, CA); Andrew Kleinerman (Belmont, CA); Xiaohui Wang (Mountain View, CA); Benjamin Scholbrock (Sunnyvale, CA)
Assignee: Pure Storage, Inc.
G06F3/0647G06F3/0607G06F3/067G06F3/0617G06F3/0683G06F3/0688G11C11/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 11,112,990
App. No.
16/736,486
Granted
Sep 7, 2021
Kind
B1
Abstract

Managing storage device evacuation that includes a plurality of storage devices, including: detecting, by the storage system, an occurrence of a storage device evacuation event associated with a source storage device within a write group, wherein the write group is a subset of storage devices storing a data set; responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage system, a target storage device for receiving data stored on the source storage device; and migrating, by the storage system, the data stored on the source storage device to the target storage device.

Claims (35)

1. A method comprising:

detecting, by the storage system, an occurrence of a storage device evacuation event associated with a source storage device within a write group, wherein the write group is a subset of storage devices storing a data set and the storage device evacuation event indicates removal of the source storage device;

responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage system, a target storage device for receiving data stored on the source storage device;

migrating, by the storage system, the data stored on the source storage device to the target storage device;

combining the write group and a second write group into a third write group spanning the set of storage devices; and

rebuilding segments of the third write group to accommodate a number of storage devices in the set of storage devices, including rebuilding, by a garbage collection process, each segment into a wider segment.

2. The method of claim 1 wherein the target storage device is one of the subset of storage devices within the write group.

3. The method of claim 1 wherein migrating, by the storage system, the data stored on the source storage device to the target storage device comprises allocating additional segments within the write group.

4. The method of claim 1 wherein the source storage device is evacuated without evacuating remaining storage devices in the subset of storage devices within the write group.

5. The method of claim 1 , further comprising:

determining that the write group is a first write group within a set of storage devices comprising the first write group and the second write group.

6. The method of claim 1 wherein the storage system comprises a plurality of sets of storage devices, and wherein the method further comprises concurrently evacuating at least two of the plurality of sets of storage devices.

7. An 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:

detecting, by the storage system, an occurrence of a storage device evacuation event associated with a source storage device within a write group, wherein the write group is a subset of storage devices storing a data set and the storage device evacuation event indicates removal of the source storage device;

responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage system, a target storage device for receiving data stored on the source storage device;

migrating, by the storage system, the data stored on the source storage device to the target storage device;

combining the write group and a second write group into a third write group spanning the set of storage devices; and

rebuilding segments of the third write group to accommodate a number of storage devices in the set of storage devices, including rebuilding, by a garbage collection process, each segment into a wider segment.

8. The apparatus of claim 7 wherein the target storage device is one of the subset of storage devices within the write group.

9. The apparatus of claim 7 wherein migrating, by the storage system, the data stored on the source storage device to the target storage device comprises allocating additional segments within the write group.

10. The apparatus of claim 7 wherein the source storage device is evacuated without evacuating remaining storage devices in the subset of storage devices within the write group.

11. The apparatus of claim 7 , wherein the computer program instructions further cause the apparatus to carry out the step of:

determining that the write group is a first write group within a set of storage devices comprising the first write group and the second write group.

12. The apparatus of claim 7 wherein the storage system comprises a plurality of sets of storage devices, and wherein the method further comprises concurrently evacuating at least two of the plurality of sets of storage devices.

13. A 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:

detecting, by the storage system, an occurrence of a storage device evacuation event associated with a source storage device within a write group, wherein the write group is a subset of storage devices storing a data set and the storage device evacuation event indicates removal of the source storage device;

responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage system, a target storage device for receiving data stored on the source storage device;

migrating, by the storage system, the data stored on the source storage device to the target storage device;

combining the write group and a second write group into a third write group spanning the set of storage devices; and

rebuilding segments of the third write group to accommodate a number of storage devices in the set of storage devices, including rebuilding, by a garbage collection process, each segment into a wider segment.

14. The computer program product of claim 13 wherein the target storage device is one of the subset of storage devices within the write group.

15. The computer program product of claim 13 wherein migrating, by the storage system, the data stored on the source storage device to the target storage device comprises allocating additional segments within the write group.

16. The computer program product of claim 13 wherein the source storage device is evacuated without evacuating remaining storage devices in the subset of storage devices within the write group.

17. The computer program product of claim 13 , wherein the computer program instructions further cause the computer to carry out the step of:

determining that the write group is a first write group within a set of storage devices comprising the first write group and the second write group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2020
From: BERNAT, ANDREW; COLGROVE, JOHN; VOHRA, TAHER; KLEINERMAN, ANDREW; WANG, XIAOHUI; SCHOLBROCK, BENJAMIN
To: PURE STORAGE, INC.
Reel/Frame 051440/0822 →
Continuity (2)
Continuation In Part 15786187 · Oct 17, 2017
Continuation 15140445 · Apr 27, 2016