IP Library › Granted Patent US 11,853,164
Granted Patent B2
US 11,853,164 · App. 17/979,841 · Granted Dec 26, 2023

Generating recovery information using data redundancy

Inventors: Timothy Brennan (San Francisco, CA); Andrew Bernat (Mountain View, CA); Peter Kirkpatrick (Los Altos, CA); Wei Tang (Sunnyvale, CA)
Assignee: PURE STORAGE, INC.
G06F11/1092G06F11/076G06F11/1096
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,853,164
App. No.
17/979,841
Granted
Dec 26, 2023
Kind
B2
Abstract

Continuous value data redundancy, including: receiving, by a storage system, a dataset; determining, based on a data resiliency metric, an integer redundancy value for the dataset from among a plurality of redundancy values; and generating, based on the integer redundancy value for the dataset, data recovery information for the dataset, wherein the integer redundancy value for the dataset is different from at least one other integer redundancy value for another dataset stored within the storage system.

Claims (33)

1. A method comprising:

receiving, by a storage system having a plurality of storage devices, a dataset;

determining, based on a targeted mean time to data loss, a redundancy value for the dataset from among a plurality of redundancy values;

generating, based on the redundancy value for the dataset, data recovery information for the dataset, wherein the redundancy value for the dataset is different from at least one other redundancy value for another dataset stored within the storage system; and

based on the data recovery information, implementing a plurality of geometries within the storage system that satisfies the mean time to data loss.

2. The method of claim 1 , wherein the redundancy value for the dataset is determined based on a quantity of storage content on the storage system.

3. The method of claim 1 , wherein, based on multiple different datasets being stored using multiple different redundancy values, an average redundancy value of all stored datasets within the storage system is a continuous value.

4. The method of claim 3 , wherein the continuous redundancy value corresponds to a time to rebuild value that is a finer granularity than a smaller or larger redundancy value.

5. The method of claim 4 , wherein the continuous redundancy value corresponds to a time to rebuild that is greater than a time to rebuild corresponding to a redundancy value equal to a floor value of the continuous redundancy value, and wherein the continuous redundancy value corresponds to a time to rebuild that is less than time to rebuild corresponding to a redundancy value equal to a ceiling value of the continuous redundancy value.

6. The method of claim 5 , wherein the time to rebuild is set according to a target time to rebuild, wherein determining the redundancy value for the dataset is further based on the target time to rebuild, and wherein the method further includes:

tuning the target time to rebuild to increase data recovery performance.

7. The method of claim 6 , wherein the redundancy value corresponds to a parity value, and wherein tuning the target time to rebuild includes increasing the parity value or decreasing the parity value.

8. The method of claim 7 , wherein the parity value is increased or decreased from any initial value parity to any target value parity, including wherein the parity value is increased or decreased from one of: single parity to double parity, single parity to triple parity, double parity to triple parity, triple parity to single parity, triple parity to double parity, or double parity to single parity.

9. The method of claim 1 , wherein the storage system implements a redundant array of independent disks storage system.

10. An apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving, by a storage system having a plurality of storage devices, a dataset;

determining, based on a targeted mean time to data loss, a redundancy value for the dataset from among a plurality of redundancy values;

generating, based on the redundancy value for the dataset, data recovery information for the dataset, wherein the redundancy value for the dataset is different from at least one other redundancy value for another dataset stored within the storage system; and

based on the data recovery information, implementing a plurality of geometries within the storage system that satisfies the mean time to data loss.

11. The apparatus of claim 10 , wherein the redundancy value for the dataset is determined based on a quantity of storage content on the storage system.

12. The apparatus of claim 10 , wherein, based on multiple different datasets being stored using multiple different redundancy values, an average redundancy value of all stored datasets within the storage system is a continuous value.

13. The apparatus of claim 12 , wherein the continuous redundancy value corresponds to a time to rebuild value that is a finer granularity than a smaller or larger redundancy value.

14. The apparatus of claim 13 , wherein the continuous redundancy value corresponds to a time to rebuild that is greater than a time to rebuild corresponding to a redundancy value equal to a floor value of the continuous redundancy value, and wherein the continuous redundancy value corresponds to a time to rebuild that is less than time to rebuild corresponding to a redundancy value equal to a ceiling value of the continuous redundancy value.

15. The apparatus of claim 14 , wherein the time to rebuild is set according to a target time to rebuild, wherein determining the redundancy value for the dataset is further based on the target time to rebuild, and wherein the computer program instructions, when executed by the computer processor, cause the apparatus to carry out the step of:

tuning the target time to rebuild to increase data recovery performance.

16. The apparatus of claim 15 , wherein the redundancy value corresponds to a parity value, and wherein tuning the target time to rebuild includes increasing the parity value or decreasing the parity value.

17. The apparatus of claim 16 , wherein the parity value is increased or decreased from any initial value parity to any target value parity, including wherein the parity value is increased or decreased from one of: single parity to double parity, single parity to triple parity, double parity to triple parity, triple parity to single parity, triple parity to double parity, or double parity to single parity.

18. The apparatus of claim 10 , wherein the storage system implements a redundant array of independent disks storage system.

19. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

receiving, by a storage system having a plurality of storage devices, a dataset;

determining, based on a targeted mean time to data loss, a redundancy value for the dataset from among a plurality of redundancy values;

generating, based on the redundancy value for the dataset, data recovery information for the dataset, wherein the redundancy value for the dataset is different from at least one other redundancy value for another dataset stored within the storage system; and

based on the data recovery information, implementing a plurality of geometries within the storage system that satisfies the mean time to data loss.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2022
From: BRENNAN, TIMOTHY; BERNAT, ANDREW; KIRKPATRICK, PETER; TANG, WEI
To: PURE STORAGE, INC.
Reel/Frame 061641/0321 →
Continuity (2)
Continuation 16848590 · Apr 14, 2020
Related Publication 20230058832A1 · Feb 23, 2023