Computer system with data storage transfer recommendation
Abstract
A computer system is provided, including a first data storage with a first retrieval latency, a second data storage with a second retrieval latency that is higher than the first retrieval latency, and a processor coupled to a memory that stores instructions, which cause the processor to store a series of recovery points of a data collection in the first data storage. For a current recovery point of the series of recovery points, the processor is further configured to compute a difference between an incremental changed block value of one or more prior recovery points and a number of memory blocks inherited from the one or more prior recovery points. The processor generates and outputs a storage transfer recommendation to store a subset of the one or more of the prior recovery points in the second data storage rather than the first data storage, based on the computed difference.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A computer system, comprising:
a first data storage configured to store a plurality of blocks of data in a data collection at a first retrieval latency;
a second data storage having a second retrieval latency that is higher than the first retrieval latency; and
a processor coupled to a memory that stores instructions, which, upon execution by the processor, cause the processor to:
store a series of recovery points of the data collection in the first data storage;
for a current recovery point of the series of recovery points, compute a predicted memory savings based on a difference between an incremental changed block value of one or more prior recovery points and a number of memory blocks inherited from the one or more prior recovery points by the current recovery point;
generate a storage transfer recommendation to store a subset of the one or more of the prior recovery points in the second data storage rather than the first data storage, based on the predicted memory savings of the prior recovery points; and
output the storage transfer recommendation.
2. The computer system of claim 1 , wherein the current recovery point is one of a plurality of current recovery points associated with each successive iteration of a loop, and the processor is configured to compute the difference for each recovery point in the series of recovery points at least in part by:
looping through each recovery point in the series, and on each loop, for a current recovery point for that loop:
determining a number of memory blocks inherited from each recovery point by the current recovery point;
determining the incremental changed block value that indicates the number of changed blocks of data in each recovery point relative to a recovery point immediately preceding the current recovery point; and
generating an effective memory savings mapping that maps a predicted effective memory savings to each recovery point, wherein the predicted effective memory savings is calculated by determining the difference between the incremental changed block value for each recovery point and the number of memory blocks inherited from each recovery point by the current recovery point.
3. The computer system of claim 1 , wherein the subset for each recovery point is a maximum savings set of the predicted memory savings of the prior recovery points, and wherein the processor is further configured to determine a recommendation set by computing a union of the maximum savings sets for all of the recovery points in the series, wherein the processor is configured to transfer the recommendation set to the second data storage from the first data storage based on the storage transfer recommendation, and delete the recommendation set from the first data storage.
4. The computer system of claim 3 , wherein each maximum savings set meets a predetermined threshold for the predicted effective memory savings.
5. The computer system of claim 4 , wherein the predetermined threshold is a predetermined average value of the predicted effective memory savings.
6. The computer system of claim 1 , wherein the processor is configured to transfer the subset of the one or more of the prior recovery points to the second data storage from the first data storage based on the storage transfer recommendation.
7. The computer system of claim 6 , wherein the processor is further configured to delete the subset of the one or more of the prior recovery points from the first data storage.
8. The computer system of claim 1 , wherein the data collection includes binary large object (BLOB) data.
9. The computer system of claim 1 , wherein the difference between the first retrieval latency and the second retrieval latency is at least six orders of magnitude.
10. The computer system of claim 1 , comprising:
a third data storage having a third retrieval latency that is higher than the first retrieval latency and lower than the second retrieval latency, wherein the processor is configured to transfer the subset of the one or more of the prior recovery points to the second data storage from the first data storage and/or the third data storage.
11. The computer system of claim 1 , wherein
the first data storage includes a hard disk drive or solid-state drive, while the second data storage includes a tape storage drive; or
the first data storage includes a solid-state drive, while the second data storage includes a hard disk drive.
12. A computerized method, comprising:
storing, in a first data storage, a plurality of blocks of data in a data collection at a first retrieval latency;
configuring a second data storage having a second retrieval latency that is higher than the first retrieval latency; and
storing a series of recovery points of the data collection in the first data storage;
for a current recovery point of the series of recovery points, computing a difference between an incremental changed block value of one or more prior recovery points and a number of memory blocks inherited from the one or more prior recovery points by the current recovery point;
generating a storage transfer recommendation to store a subset of the one or more of the prior recovery points in the second data storage rather than the first data storage, based on the predicted memory savings of the prior recovery points; and
outputting a storage transfer recommendation.
13. The method of claim 12 , wherein the current recovery point is one of a plurality of current recovery points associated with each successive iteration of a loop, and computing the difference is accomplished at least in part by:
looping through each recovery point in the series, and on each loop, for a current recovery point for that loop;
determining the number of memory blocks inherited from each recovery point by the current recovery point;
determining the incremental changed block value that indicates a number of changed blocks of data in each recovery point relative to a recovery point immediately preceding the current recovery point; and
generating an effective memory savings mapping that maps a predicted effective memory savings to each recovery point, wherein the predicted effective memory savings is calculated by determining the difference between the incremental changed block value for each recovery point and the number of memory blocks inherited from each recovery point by the current recovery point.
14. The method of claim 12 , further comprising:
determining a recommendation set by computing a union of maximum savings sets for all of the recovery points in the series, wherein the subset for each recovery point is the maximum savings set of the predicted memory savings of the prior recovery points;
transferring the recommendation set to the second data storage from the first data storage based on the storage transfer recommendation; and
deleting the recommendation set from the first data storage.
15. The method of claim 14 , wherein each maximum savings set meets a predetermined threshold for the predicted effective memory savings.
16. The method of claim 12 , further comprising:
transferring the subset of the one or more of the prior recovery points to the second data storage from the first data storage based on the storage transfer recommendation.
17. The method of claim 16 , further comprising:
deleting the subset of the one or more of the prior recovery points from the first data storage.
18. The method of claim 12 , wherein the difference between the first retrieval latency and the second retrieval latency is at least six orders of magnitude.
19. The method of claim 12 , wherein
the first data storage is a hard disk drive or solid-state drive, while the second data storage is a tape storage drive, or
the first data storage includes a solid-state drive, while the second data storage includes a hard disk drive.
20. A computer system, comprising:
a first data storage configured to store a plurality of blocks of data in a data collection at a first retrieval latency;
a second data storage having a second retrieval latency that is higher than the first retrieval latency; and
a processor coupled to a memory that stores instructions, which, upon execution by the processor, cause the processor to:
store a series of recovery points of the data collection in the first data storage; loop through each recovery point, and on each loop, for a current recovery point of the series of recovery points for that loop:
determine a number of memory blocks inherited from each recovery point by the current recovery point;
determine an incremental changed block value that indicates a number of changed blocks of data in each recovery point relative to a recovery point immediately preceding the current recovery point; and
determine a difference between the incremental changed block value of one or more prior recovery points and the number of memory blocks inherited from the one or more prior recovery points by the current recovery point; and
output a storage transfer recommendation to store a subset of the one or more of the prior recovery points in the second data storage rather than the first data storage, based on predicted memory savings of the difference between the incremental changed block value and the number of memory blocks inherited.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.