IP Library Granted Patent US 12,079,162
Granted Patent B2
US 12,079,162 · App. 16/893,262 · Granted Sep 3, 2024

Snapshot management in a storage system

Inventors: Tejal Joshi Chakeres (Palo Alto, CA); Dirk Meister (Mountain View, CA); Cheng Chang (Milpitas, CA); Chu Zhang (Santa Clara, CA)
Assignee: Pure Storage, Inc.
G06F16/128G06F11/1451G06F16/27G06F2201/84G06F2201/88
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 12,079,162
App. No.
16/893,262
Granted
Sep 3, 2024
Kind
B2
Abstract

An illustrative data storage system captures snapshots of a data structure based on snapshot creation schedules and sets retention periods for the snapshots based on snapshot retention schedules. The data storage system eradicates snapshots based on expirations of the retention periods. In certain examples, the data storage system determines a rule to use to capture a snapshot based on a state of snapshots within one or more lookback periods and/or based on a set of rules each defining a snapshot capture schedule and a snapshot retention schedule.

Claims (54)

1. A system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

determine, based on a state of snapshots in a data storage system and a set of rules each defining a snapshot capture schedule and a snapshot retention schedule, a rule in the set of rules to use to take a snapshot of a data structure; and

capture the snapshot of the data structure based on the rule, the capturing of the snapshot including setting a retention period of the snapshot based on the rule;

wherein each snapshot capture schedule in the set of rules defines a different snapshot capture frequency and each snapshot retention schedule in the set of rules defines a different snapshot retention period;

wherein the determining the rule in the set of rules to use to take the snapshot comprises considering the rules in the set of rules in descending order of the different snapshot capture frequencies defined by the set of rules.

2. The system of claim 1 , wherein the processor is configured to execute the instructions to:

detect that the retention period of the snapshot has expired; and

eradicate the snapshot from the data storage system based on the detection that the retention period of the snapshot has expired.

3. The system of claim 2 , wherein the snapshot comprises a policy-managed snapshot that is immutable after the capturing of the snapshot and until the eradicating of the snapshot.

4. The system of claim 1 , wherein the determining comprises analyzing the state of snapshots within one or more lookback periods.

5. The system of claim 4 , wherein the one or more lookback periods comprise a different lookback period for each rule in the set of rules.

6. The system of claim 5 , wherein each lookback period is a snapshot capture period defined by each corresponding rule minus an offset time.

7. The system of claim 1 , wherein the processor is configured to execute the instructions to:

detect a change to the snapshot before an expiration of the retention period of the snapshot; and

capture, in response to the change to the snapshot before the expiration of the retention period of the snapshot, an additional snapshot of the data structure based on the same rule used to capture the snapshot.

8. The system of claim 1 , wherein the processor is configured to execute the instructions to:

provide a user interface for use by a user of the data storage system to define the set of rules;

receive, by way of the user interface, user input defining the set of rules; and

provide, for display by way of the user interface, a preview timeline of scheduled captures and eradications of snapshots based on the set of rules.

9. The system of claim 1 , wherein:

the data storage system comprises a file storage system;

the data structure comprises a directory of the file storage system; and

the capturing the snapshot of the data structure comprises directing the file storage system to capture the snapshot of the data structure.

10. The system of claim 1 , wherein the capturing the snapshot of the data structure comprises:

adding the snapshot to a batch of pending snapshots; and

capturing the pending snapshots in the batch of pending snapshots.

11. The system of claim 1 , wherein the system is implemented in middleware configured to use a binary protocol stream to communicate and synchronize with the data storage system.

12. A system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

determine, based on a state of snapshots within one or more lookback periods in a set of lookback periods defined by a set of rules, a rule in the set of rules to use to take a snapshot, wherein the state of snapshots indicates a capture time and a retention period for each snapshot that is active within the one or more lookback periods; and

capture the snapshot based on the rule, the capturing of the snapshot including setting a retention period of the snapshot based on the rule;

wherein the determining the rule in the set of rules to use to take the snapshot comprises considering the rules in the set of rules in descending order of different snapshot capture frequencies defined by the set of rules.

13. The system of claim 12 , wherein:

the set of rules defines a data protection plan for a data storage system; and

the set of lookback periods includes a different lookback period for each rule in the set of rules.

14. The system of claim 13 , wherein each lookback period is a snapshot capture period defined by each corresponding rule minus an offset time.

15. A method comprising:

determining, by a processor and based on a state of snapshots in a data storage system and a set of rules each defining a snapshot capture schedule and a snapshot retention schedule, a rule in the set of rules to use to take a snapshot of a data structure; and

capturing, by the processor, the snapshot of the data structure based on the rule, the capturing of the snapshot including setting a retention period of the snapshot based on the rule;

wherein each snapshot capture schedule in the set of rules defines a different snapshot capture frequency each snapshot retention schedule in the set of rules defines a different snapshot retention period;

wherein the determining the rule in the set of rules to use to take the snapshot comprises considering the rules in the set of rules in descending order of the different snapshot capture frequencies defined by the set of rules.

16. The method of claim 15 , further comprising:

detecting, by the processor, that the retention period of the snapshot has expired; and

eradicating, by the processor, the snapshot from the data storage system based on the detecting that the retention period of the snapshot has expired.

17. The method of claim 16 , wherein:

the data storage system comprises a file storage system;

the data structure comprises a directory of the file storage system; and

the snapshot comprises a policy-managed snapshot that is immutable after the capturing of the snapshot and until the eradicating of the snapshot.

18. The system of claim 1 , wherein the state of snapshots indicates which rule in the set of rules was used to capture each snapshot that is active within one or more lookback periods.

19. The method of claim 15 , wherein the state of snapshots indicates which rule in the set of rules was used to capture each snapshot that is active within one or more lookback periods.

20. The method of claim 19 , wherein the one or more lookback periods comprise a different lookback period for each rule in the set of rules.

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 Jun 4, 2020
From: CHAKERES, TEJAL JOSHI; MEISTER, DIRK; CHANG, CHENG; ZHANG, CHU
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 052844/0321 →
Continuity (2)
Continuation In Part 16834762 · Mar 30, 2020
Related Publication 20220229805A1 · Jul 21, 2022
Cited By (3)
US 12,333,007 US 12,462,028 US 12,475,226