IP Library Granted Patent US 11,494,267
Granted Patent B2
US 11,494,267 · App. 16/848,590 · Granted Nov 8, 2022

Continuous value data redundancy

Inventors: Timothy Brennan (San Francisco, CA); Andrew Bernat (Mountain View, CA); Peter Kirkpatrick (Mountain View, CA); Wei Tang (San Jose, 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,494,267
App. No.
16/848,590
Granted
Nov 8, 2022
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 (32)

1. A method comprising:

receiving, by a storage system, a dataset;

determining, based on a data resiliency metric, a redundancy value for the dataset from among a plurality of redundancy values, wherein the redundancy value for the dataset is determined based on a quantity of storage content on the storage system, wherein each respective redundancy value is selected for quantities of storage content above a respective lower threshold and below a respective higher threshold;

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

implementing a geometry within the storage system for the dataset based on the data recovery information.

2. 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.

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

4. The method of claim 3 , 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.

5. The method of claim 4 , 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.

6. The method of claim 5 , 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.

7. The method of claim 6 , 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.

8. The method of claim 1 , wherein the storage system implements a RAID (redundant array of independent disks) storage system.

9. The method of claim 1 , wherein the data resiliency metric measures a mean time to data loss.

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, a dataset;

determining, based on a data resiliency metric, a redundancy value for the dataset from among a plurality of redundancy values, wherein the redundancy value for the dataset is determined based on a quantity of storage content on the storage system, wherein each respective redundancy value is selected for quantities of storage content above a respective lower threshold and below a respective higher threshold;

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 integer redundancy value for another dataset stored within the storage system; and

implementing a geometry within the storage system for the dataset based on the data recovery information.

11. 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.

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

13. The apparatus of claim 12 , 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.

14. The apparatus of claim 13 , 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 apparatus further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

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

15. The apparatus of claim 14 , 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.

16. The apparatus of claim 15 , 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.

17. The apparatus of claim 10 , wherein the storage system implements a RAID (redundant array of independent disks) storage system.

18. 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, a dataset;

determining, based on a data resiliency metric, a redundancy value for the dataset from among a plurality of redundancy values, wherein the redundancy value for the dataset is determined based on a quantity of storage content on the storage system, wherein each respective redundancy value is selected for quantities of storage content above a respective lower threshold and below a respective higher threshold;

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

implementing a geometry within the storage system for the dataset based on the data recovery information.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2020
From: BRENNAN, TIMOTHY; BERNAT, ANDREW; KIRKPATRICK, PETER; TANG, WEI
To: PURE STORAGE, INC.
Reel/Frame 052395/0371 →
Continuity (1)
Related Publication 20210318931A1 · Oct 14, 2021