IP Library Granted Patent US 8,650,145
Granted Patent B2
US 8,650,145 · App. 13/121,713 · Granted Feb 11, 2014

Creating snapshots of data using a selected one of different snapshot algorithms

Inventors: Guillermo Navarro (Boise, ID); David K. Umberger (Boise, ID)
Assignee: Hewlett-Packard Development Company, L.P.
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 8,650,145
App. No.
13/121,713
Granted
Feb 11, 2014
Kind
B2
Abstract

In a storage system, snapshots of data are created according to a snapshot algorithm in response to writes. The snapshot algorithm is selected from among a plurality of different snapshot algorithms according to one or more criteria.

Claims (32)

1. A method for use with a storage system, comprising:

in response to writes, creating snapshots of data using a snapshot algorithm; and

selecting the snapshot algorithm from among a plurality of different snapshot algorithms according to one or more criteria, wherein selecting the snapshot algorithm from among the plurality of snapshot algorithms according to the one or more criteria comprises selecting the snapshot algorithm from among the plurality of snapshot algorithms according to input variables including at least a first parameter indicating a fraction of a source volume that has been snapped and a second parameter indicating a maximum acceptable response time of the storage system.

2. The method of claim 1 , wherein selecting the snapshot algorithm from among the plurality of different snapshot algorithms comprises selecting form among at least a copy-on-write algorithm and a redirect-on-write algorithm.

3. The method of claim 1 , wherein selecting the snapshot algorithm from among the plurality of different snapshot algorithms comprises selecting from among at least a first algorithm that performs a snap at a time of a write, and a second algorithm that defers a snap in response to a write.

4. The method of claim 1 , further comprising:

monitoring a response time of the storage system; and

comparing the monitored response time to the maximum acceptable response time to compute an error, wherein the error is used to select from among the plurality of snapshot algorithms.

5. The method of claim 4 , further comprising:

computing a probability of a snap based on the fraction, wherein the probability is used to select from among the plurality of snapshot algorithms.

6. The method of claim 5 , further comprising:

fuzzifying the probability of the snap by mapping different values of the probability to different first fuzzy values;

fuzzifying the error by mapping different values of the error to different second fuzzy values,

wherein the first and second fuzzy values are part of a rule base used to select from among the plurality of snapshot algorithms.

7. The method of claim 6 , further comprising:

computing a change in error based on values of the error computed at different times; and

fuzzifying the change in error by mapping different values of the change in error to different third fuzzy values,

wherein the third fuzzy values are also part of the rule base.

8. A storage system comprising:

a processor to:

receive a write request to modify data;

select, based on a rule base, which of plural snapshot algorithms to use for creating snapshots;

apply the selected snapshot algorithm in processing the write request; and

reconcile data blocks modified using different ones of the plural snapshot algorithms.

9. The storage system of claim 8 , wherein the reconciling is accomplished by tracking modified data processed using a first of the snapshot algorithms, and using the tracking to enable performing a second of the snapshot algorithms at a later point in time.

10. The storage system of claim 8 , wherein the plural snapshot algorithms comprise a copy-on-write snapshot algorithm and a redirect-on-write snapshot algorithm.

11. An article comprising at least one computer-readable storage medium containing instructions that when executed cause a storage system to:

receive a write request to modify data;

select, based on a rule base, which of plural snapshot algorithms to use for creating snapshots; and

apply the selected snapshot algorithm in processing the write request.

12. The article of claim 11 , wherein the plural snapshot algorithms comprise a copy-on-write snapshot algorithm and a redirect-on-write snapshot algorithm.

13. The article of claim 11 , wherein the instructions when executed cause the storage system to further reconcile data blocks modified using different ones of the plural snapshot algorithms, wherein the reconciling is accomplished by tracking modified data processed using a first of the snapshot algorithms, and using the tracking to enable performing a second of the snapshot algorithms at a later point in time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: NAVARRO, GUILLERMO; UMBERGER, DAVID K.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 026051/0797 →
Continuity (1)
Related Publication 20110178972A1 · Jul 21, 2011