IP Library Granted Patent US 12,141,459
Granted Patent B2
US 12,141,459 · App. 17/661,804 · Granted Nov 12, 2024

Storage pool tiering in a storage network

Inventors: Jason K. Resch (Warwick, RI); Wesley B. Leggette (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F3/0644G06F3/0611G06F3/0631G06F3/0659G06F3/067
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,141,459
App. No.
17/661,804
Granted
Nov 12, 2024
Kind
B2
Abstract

Methods and apparatus for storage pool tiering in a storage network. In an embodiment, a method includes receiving data for storage and storing the data in a first pool of storage units, the first pool of storage units associated with a first storage tier having a first access latency performance level. The method further includes initializing a frequency of access indicator corresponding to the stored data and determining, based at least in part on the frequency of access indicator, to move the stored data to a second pool of storage units associated with a second storage tier having a second access latency performance level, wherein the second access latency performance level corresponds to higher average access latency than the first access latency performance level. In response to determining to move the stored data to the second pool of storage units, the method further includes retrieving the data from the first pool of storage units and facilitating storage of the data in the second pool of storage units.

Claims (70)

1. A method for execution by a storage network, the method comprises:

receiving data for storage;

storing the data in a first pool of storage units, the first pool of storage units associated with a first storage tier having a first access latency performance level;

initializing a frequency of access indicator corresponding to the stored data;

determining, based at least in part on the frequency of access indicator, to move the stored data to a second pool of storage units associated with a second storage tier having a second access latency performance level, wherein the second access latency performance level corresponds to a higher average access latency than the first access latency performance level; and

in response to determining to move the stored data to the second pool of storage units:

retrieving the data from the first pool of storage units; and

facilitating storage of the data in the second pool of storage units, wherein facilitating storage of the data in a first pool of storage units includes facilitating storing the data as one or more sets of encoded data slices, and wherein retrieving the data from the first pool of storage units includes retrieving at least a decode threshold number of encoded data slices of a set of encoded data slices and decoding, using first dispersed storage error coding function parameters, the at least a decode threshold number of retrieved encoded data slices to produce a data segment.

2. The method of claim 1 , wherein determining to move the stored data to the second pool of storage units includes determining that the frequency of access indicator indicates that a time period since a last data access of the stored data is greater than a time threshold.

3. The method of claim 1 , wherein determining to move the stored data to the second pool of storage units includes determining that the frequency of access indicator indicates that no modifications have been received for the stored data within a time period when a real-time clock is greater than a timestamp of the frequency of access indicator by a time period threshold.

4. The method of claim 1 , further comprising:

deleting the stored data from the first pool of storage units.

5. The method of claim 4 , further comprising:

receiving, from a requesting entity, a data retrieval request indicating the data;

determining that the data is not available from the first pool of storage units;

in response to determining that the data is not available from the first pool of storage units, retrieving the data from the second pool of storage units;

storing the data in the first pool of storage units; and

sending the data to the requesting entity.

6. The method of claim 1 , wherein retrieving the data from the first pool of storage units further includes:

retrieving at least a decode threshold number of encoded data slices of a second set of encoded data slices of the one or more sets of encoded data slices; and

decoding, using the first dispersed storage error coding function parameters, the at least a decode threshold number of retrieved encoded data slices of the second set of encoded data slices to produce a second data segment.

7. The method of claim 1 , further comprising:

encoding, using second dispersed storage error coding function parameters, the data segment to produce a set of target slices, wherein the decode threshold number of encoded data slices to produce a data segment differs between the first dispersed storage error coding function parameters and the second dispersed storage error coding function parameters, and wherein facilitating storage of the data in the second pool of storage units comprises facilitating storage of the set of target slices in the second pool of storage units.

8. The method of claim 1 , wherein the second pool of storage units comprises cloud storage.

9. The method of claim 1 , further comprising:

determining to archive the data; and

in response to determining to archive the data:

retrieving the data from the second pool of storage units; and

facilitating storage of the data in a third pool of storage units associated with a third storage tier having a third access latency performance level, wherein the third access latency performance level corresponds to higher average access latency than the second access latency performance level.

10. The method of claim 9 , wherein the first pool of storage units and the second pool of storage units comprise local storage units, and wherein the third pool of storage units comprises cloud storage associated with a higher reliability level than the first pool of storage units.

11. A computing device comprises:

an interface;

memory that stores operational instructions; and

a processing module operably coupled to the interface and the memory, wherein the processing module is configured to execute the operational instructions to:

receive, via the interface, data for storage;

facilitate storage of the data in a first pool of storage units, the first pool of storage units associated with a first storage tier having a first access latency performance level;

initialize a frequency of access indicator corresponding to the stored data;

determine, based at least in part on the frequency of access indicator, to move the stored data to a second pool of storage units associated with a second storage tier having a second access latency performance level, wherein the second access latency performance level corresponds to a higher average access latency than the first access latency performance level; and

in response to determining to move the stored data to the second pool of storage units:

retrieve, via the interface, the data from the first pool of storage units; and

facilitate storage of the data in the second pool of storage units, wherein facilitating storage of the data in a first pool of storage units includes facilitating storing the data as one or more sets of encoded data slices, and wherein retrieving the data from the first pool of storage units includes retrieving at least a decode threshold number of encoded data slices of a set of encoded data slices and decoding the at least a decode threshold number of retrieved encoded data slices to produce a data segment.

12. The computing device of claim 11 , wherein determining to move the stored data to the second pool of storage units includes determining that the frequency of access indicator indicates that a time period since a last data access of the stored data is greater than a time threshold.

13. The computing device of claim 11 , wherein determining to move the stored data to the second pool of storage units includes determining that the frequency of access indicator indicates that no modifications have been received for the stored data within a time period when a real-time clock is greater than a timestamp of the frequency of access indicator by a time period threshold.

14. The computing device of claim 11 , wherein the processing module is further configured to execute the operational instructions to:

delete the stored data from the first pool of storage units.

15. The computing device of claim 14 , wherein the processing module is further configured to execute the operational instructions to:

receive, from a requesting entity via the interface, a data retrieval request indicating the data;

determine that the data is not available from the first pool of storage units;

in response to determining that the data is not available from the first pool of storage units, retrieve, via the interface, the data from the second pool of storage units;

facilitate storage of the data in the first pool of storage units; and

send the data to the requesting entity.

16. The computing device of claim 11 , wherein retrieving the data from the first pool of storage units further includes:

retrieving at least a decode threshold number of encoded data slices of a second set of encoded data slices of the one or more sets of encoded data slices; and

decoding the at least a decode threshold number of retrieved encoded data slices of the second set of encoded data slices to produce a second data segment.

17. The computing device of claim 11 , wherein the processing module is further configured to execute the operational instructions to:

determine to archive the data; and

in response to determining to archive the data:

retrieve, via the interface, the data from the second pool of storage units; and

facilitate storage of the data in a third pool of storage units associated with a third storage tier having a third access latency performance level, wherein the third access latency performance level corresponds to higher average access latency than the second access latency performance level.

18. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of a computing device of a storage network, causes the computing device to:

receive data for storage;

facilitate storage of the data in a first pool of storage units, the first pool of storage units associated with a first storage tier having a first access latency performance level;

initialize a frequency of access indicator corresponding to the stored data;

determine, based at least in part on the frequency of access indicator, to move the stored data to a second pool of storage units associated with a second storage tier having a second access latency performance level, wherein the second access latency performance level corresponds to a higher average access latency than the first access latency performance level; and

in response to determining to move the stored data to the second pool of storage units:

retrieve the data from the first pool of storage units; and

facilitate storage of the data in the second pool of storage units, wherein facilitating storage of the data in a first pool of storage units includes facilitating storing the data as one or more sets of encoded data slices, and wherein retrieving the data from the first pool of storage units includes retrieving at least a decode threshold number of encoded data slices of a set of encoded data slices and decoding the at least a decode threshold number of retrieved encoded data slices to produce a data segment.

19. The non-transitory computer readable storage medium of claim 18 , wherein determining to move the stored data to the second pool of storage units includes determining that the frequency of access indicator indicates that a time period since a last data access of the stored data is greater than a time threshold.

20. The non-transitory computer readable storage medium of claim 18 , wherein determining to move the stored data to the second pool of storage units includes determining that the frequency of access indicator indicates that no modifications have been received for the stored data within a time period when a real-time clock is greater than a timestamp of the frequency of access indicator by a time period threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: RESCH, JASON K.; LEGGETTE, WESLEY B.
To: PURE STORAGE, INC.
Reel/Frame 059867/0160 →
Continuity (4)
Continuation In Part 15819810 · Nov 21, 2017
Continuation In Part 13869655 · Apr 24, 2013
Provisional Application 61655736 · Jun 5, 2012
Related Publication 20220261167A1 · Aug 18, 2022