IP Library Granted Patent US 10,452,289
Granted Patent B1
US 10,452,289 · App. 15/417,912 · Granted Oct 22, 2019

Dynamically adjusting an amount of protection data stored in a storage system

Inventors: John Colgrove (Los Altos, CA); John Hayes (Mountain View, CA); Bo Hong (Palo Alto, CA); Ethan Miller (Santa Cruz, CA)
Assignee: Pure Storage, Inc.
G06F3/0619G06F3/0665G06F3/0689G06F11/1076G06F11/1008G06F11/1068G06F11/2053
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 10,452,289
App. No.
15/417,912
Granted
Oct 22, 2019
Kind
B1
Abstract

A system and method for adaptive RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to determine a first RAID layout for use in storing data, and write a first RAID stripe to the device group according to the first RAID layout. In response to detecting a first condition, the controller is configured to determine a second RAID layout which is different from the first RAID layout, and write a second RAID stripe to the device group according to the second layout, whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout.

Claims (21)

1. A method of dynamically adjusting an amount of protection data stored in a storage system comprising multiple storage devices, the method comprising:

determining a reliability of each individual storage device of the multiple storage devices that contains a portion of a RAID stripe;

detecting a change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe; and

responsive to detecting the change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe, changing the amount of intra-device protection data in the storage system and changing, based on the changed amount of intra-device protection data, the amount of inter-device protection data stored for the RAID stripe in the storage system.

2. The method of claim 1 wherein determining a reliability of each storage device that contains a portion of a RAID stripe further comprises determining an error rate for each storage device.

3. The method of claim 1 wherein determining a reliability of each storage device that contains a portion of a RAID stripe further comprises determining an age of each storage device.

4. The method of claim 1 wherein detecting a change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe further comprises detecting a change in the error rate associated with at least one of the storage devices.

5. An apparatus for dynamically adjusting an amount of protection data stored in a storage system comprising multiple 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:

determining a reliability of each individual storage device of the multiple storage devices that contains a portion of a RAID stripe;

detecting a change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe; and

responsive to detecting the change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe, changing the amount of intra-device protection data in the storage system and changing, based on the changed amount of intra-device protection data, the amount of inter-device protection data stored for the RAID stripe in the storage system.

6. The apparatus of claim 5 wherein determining a reliability of each storage device that contains a portion of a RAID stripe further comprises determining an error rate for each storage device.

7. The apparatus of claim 5 wherein determining a reliability of each storage device that contains a portion of a RAID stripe further comprises determining an age of each storage device.

8. The apparatus of claim 5 wherein detecting a change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe further comprises detecting a change in the error rate associated with at least one of the storage devices.

9. A computer program product for dynamically adjusting an amount of protection data stored in a storage system, the computer program product disposed on a non-transitory 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:

determining a reliability of each individual storage device of the multiple storage devices that contains a portion of a RAID stripe;

detecting a change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe; and

responsive to detecting the change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe, changing the amount of intra-device protection data in the storage system and changing, based on the changed amount of intra-device protection data, the amount of inter-device protection data stored for the RAID stripe in the storage system.

10. The computer program product of claim 9 wherein determining a reliability of each storage device that contains a portion of a RAID stripe further comprises determining an error rate for each storage device.

11. The computer program product of claim 9 wherein determining a reliability of each storage device that contains a portion of a RAID stripe further comprises determining an age of each storage device.

12. The computer program product of claim 9 wherein detecting a change in the reliability of at least one of the storage devices that contains a portion of the RAID stripe further comprises detecting a change in the error rate associated with at least one of the storage devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: COLGROVE, JOHN; HAYES, JOHN; HONG, BO; MILLER, ETHAN
To: PURE STORAGE, INC.
Reel/Frame 041539/0458 →
Continuity (2)
Continuation 14283628 · May 21, 2014
Continuation 12892894 · Sep 28, 2010
Cited By (14)
US 12,204,403 US 12,222,809 US 12,222,810 US 12,242,337 US 12,259,784 US 12,259,785 US 12,259,786 US 12,298,853 US 12,306,717 US 12,321,236 US 12,346,561 US 12,405,857 US 12,417,176 US 12,430,039