IP Library Granted Patent US 11,775,438
Granted Patent B2
US 11,775,438 · App. 16/988,282 · Granted Oct 3, 2023

Intelligent cache warm-up on data protection systems

Inventors: Shuai Hua (Hopkinton, MA); Yong Zou (Hopkinton, MA); Wenhao Hu (Hopkinton, MA); Rahul Ugale (Hopkinton, MA)
G06F12/0862G06F12/0891G06N5/04G06N20/00G06F2212/1021G06F2212/608
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,775,438
App. No.
16/988,282
Granted
Oct 3, 2023
Kind
B2
Abstract

System identifies multiple data blocks in workload stored in slow access persistent storage, data blocks copied to fast access persistent storage, and, after speed of accessing workload satisfies threshold, copied data blocks that remained in fast access persistent storage. System annotates some remaining data blocks with cache label and derives features for some data blocks in workload, based on corresponding bits set and/or time stamp. System uses cache labels and features for some data blocks in workload to train machine-learning model to predict which data blocks in workload will remain in fast access persistent storage after workload access satisfies threshold. System derives features for data block requested from production workload. System copies requested data block to production fast access persistent storage if trained machine-learning model uses features for requested data block to predict requested data block will remain in production fast access persistent storage after production workload access satisfies threshold.

Claims (42)

1. A system for intelligent cache warm-up on data protection systems, comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

identify multiple data blocks in a workload stored in a slow access persistent storage, identify some of the data blocks copied to a fast access persistent storage, and, identify some of the copied data blocks that remained in the fast access persistent storage after a speed of accessing the workload satisfies a threshold, the speed of accessing the workload being a rate of time at which data is able to be read from and written to the workload;

annotate some of the remaining data blocks in the fast access persistent storage after the speed of accessing the workload satisfied the threshold with a cache label;

derive, for some of the data blocks in the workload, features based on at least one of corresponding bits set and a corresponding time stamp;

train, using some cache labels and the features for some of the data blocks in the workload, a machine-learning model to predict which data blocks in the workload will remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold;

derive the features for a data block requested from a production workload; and

copy the requested data block to a production fast access persistent storage in response to the trained machine-learning model using the features for the requested data block to predict that the requested data block will remain in the production fast access persistent storage after the speed of accessing the production workload satisfies the threshold.

2. The system of claim 1 , wherein each of the copied data blocks that did not remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold were evicted by a cache eviction algorithm.

3. The system of claim 1 , wherein the plurality of instructions further causes the processor to annotate some of the data blocks in the workload, excluding the remaining data blocks, with an un-cached label.

4. The system of claim 1 , wherein the features for any data block comprise a value of a number of first bytes corresponding to the data block, a value of a number of last bytes corresponding to the data block, a value of a total number of bits set corresponding to the data block, a value of a total number of bits not set corresponding to the data block, a hash value corresponding to the data block, a time stamp associated with a most recent access corresponding to the data block, a time stamp associated with a creation corresponding to the data block, and a priority associated with the corresponding data block, and deriving the features further comprises using maximum and minimum of values of features to normalize the features.

5. The system of claim 1 , wherein training the machine learning model further comprises dividing the cache labels and the features into a training dataset used to train the machine-learning model, a validation dataset used to derive weights for the features, and a testing dataset used to test the prediction of the machine learning model, wherein testing the prediction of the machine-learning model comprises evaluating at least one of a precision and a recall associated with the prediction.

6. The system of claim 1 , wherein predicting which data blocks in the workload will remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold also comprises predicting which data blocks in the workload will not be in the fast access persistent storage after the speed of accessing the workload satisfies the threshold.

7. The system of claim 1 , wherein the plurality of instructions further causes the processor to copy the requested data block to a production fast access volatile storage.

8. A computer-implemented method for intelligent cache warm-up on data protection systems, the computer-implemented method comprising:

identifying multiple data blocks in a workload stored in a slow access persistent storage, identify some of the data blocks copied to a fast access persistent storage, and, identify some of the copied data blocks that remained in the fast access persistent storage after a speed of accessing the workload satisfies a threshold, the speed of accessing the workload being a rate of time at which data is able to be read from and written to the workload;

annotating some of the remaining data blocks in the fast access persistent storage after the speed of accessing the workload satisfied the threshold with a cache label;

deriving, for some of the data blocks in the workload, features based on at least one of corresponding bits set and a corresponding time stamp;

training, using some cache labels and the features for some of the data blocks in the workload, a machine-learning model to predict which data blocks in the workload will remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold;

deriving the features for a data block requested from a production workload; and

copying the requested data block to a production fast access persistent storage in response to the trained machine-learning model using the features for the requested data block to predict that the requested data block will remain in the production fast access persistent storage after the speed of accessing the production workload satisfies a threshold.

9. The computer-implemented method of claim 8 , wherein each of the copied data blocks that did not remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold were evicted by a cache eviction algorithm.

10. The computer-implemented method of claim 8 , wherein the computer-implemented method further comprises annotating some of the data blocks in the workload, excluding the remaining data blocks, with an un-cached label.

11. The computer-implemented method of claim 8 , wherein the features for any data block comprise a value of a number of first bytes corresponding to the data block, a value of a number of last bytes corresponding to the data block, a value of a total number of bits set corresponding to the data block, a value of a total number of bits not set corresponding to the data block, a hash value corresponding to the data block, a time stamp associated with a most recent access corresponding to the data block, a time stamp associated with a creation corresponding to the data block, and a priority associated with the corresponding data block, and deriving the features further comprises using maximum and minimum of values of features to normalize the features.

12. The computer-implemented method of claim 8 , wherein training the machine learning model further comprises dividing the cache labels and the features into a training dataset used to train the machine-learning model, a validation dataset used to derive weights for the features, and a testing dataset used to test the prediction of the machine learning model, wherein testing the prediction of the machine-learning model comprises evaluating at least one of a precision and a recall associated with the prediction.

13. The computer-implemented method of claim 8 , wherein predicting which data blocks in the workload will remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold also comprises predicting which data blocks in the workload will not be in the fast access persistent storage after the speed of accessing the workload satisfies the threshold.

14. The computer-implemented method of claim 8 , wherein the computer-implemented method further comprises copying the requested data block to a production fast access volatile storage.

15. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

identify multiple data blocks in a workload stored in a slow access persistent storage, identify some of the data blocks copied to a fast access persistent storage, and, identify some of the copied data blocks that remained in the fast access persistent storage after a speed of accessing the workload satisfies a threshold, the speed of accessing the workload being a rate of time at which data is able to be read from and written to the workload;

annotate some of the remaining data blocks in the fast access persistent storage after the speed of accessing the workload satisfied the threshold with a cache label;

derive, for some of the data blocks in the workload, features based on at least one of corresponding bits set and a corresponding time stamp;

train, using some cache labels and the features for some of the data blocks in the workload, a machine-learning model to predict which data blocks in the workload will remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold;

derive the features for a data block requested from a production workload; and

copy the requested data block to a production fast access persistent storage in response to the trained machine-learning model using the features for the requested data block to predict that the requested data block will remain in the production fast access persistent storage after the speed of accessing the production workload satisfies the threshold.

16. The computer program product of claim 15 , wherein each of the copied data blocks that did not remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold were evicted by a cache eviction algorithm.

17. The computer program product of claim 15 , wherein the program code includes further instructions to:

annotate some of the data blocks in the workload, excluding the remaining data blocks, with an un-cached label; and

copy the requested data block to a production fast access volatile storage.

18. The computer program product of claim 15 , wherein the features for any data block comprise a value of a number of first bytes corresponding to the data block, a value of a number of last bytes corresponding to the data block, a value of a total number of bits set corresponding to the data block, a value of a total number of bits not set corresponding to the data block, a hash value corresponding to the data block, a time stamp associated with a most recent access corresponding to the data block, a time stamp associated with a creation corresponding to the data block, and a priority associated with the corresponding data block, and deriving the features further comprises using maximum and minimum of values of features to normalize the features.

19. The computer program product of claim 15 , wherein training the machine learning model further comprises dividing the cache labels and the features into a training dataset used to train the machine-learning model, a validation dataset used to derive weights for the features, and a testing dataset used to test the prediction of the machine learning model, wherein testing the prediction of the machine-learning model comprises evaluating at least one of a precision and a recall associated with the prediction.

20. The computer program product of claim 15 , wherein predicting which data blocks in the workload will remain in the fast access persistent storage after the speed of accessing the workload satisfies the threshold also comprises predicting which data blocks in the workload will not be in the fast access persistent storage after the speed of accessing the workload satisfies the threshold.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2020
From: HUA, SHUAI; ZOU, YONG; HU, WENHAO; UGALE, RAHUL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053579/0941 →
Continuity (1)
Related Publication 20220043752A1 · Feb 10, 2022