IP Library Granted Patent US 11,853,586
Granted Patent B2
US 11,853,586 · App. 17/074,899 · Granted Dec 26, 2023

Automated usage based copy data tiering system

Inventor: Sunil Kumar (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0604G06F3/0679
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,853,586
App. No.
17/074,899
Granted
Dec 26, 2023
Kind
B2
Abstract

Techniques are disclosed herein for improved copy data management functionality in storage systems. For example, a method receives copy usage data for one or more data copies associated with a storage array, wherein the copy usage data is indicative of a usage associated with each of the one or more data copies, and updates the one or more data copies with one or more usage tags based on the received copy usage data. Further, the method may then scan the one or more usage tags associated with each of the one or more data copies, select one or more storage tiers for at least a portion of the one or more data copies based on the scanning of the one or more usage tags, and cause at least a portion of the one or more data copies to be stored in the selected one or more storage tiers.

Claims (34)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory, the at least one processing device, when executing program code, implements a control module associated with a storage array configured to:

identify one or more service level objectives for one or more workloads accessing one or more data copies associated with the storage array, the one or more service level objectives characterizing expected copy usage data of the one or more data copies by the one or more workloads;

determine actual copy usage data for the one or more data copies associated with the storage array based at least in part on identifying input-output patterns of the data of the one or more data copies, the identified input-output patterns characterizing at least one of relative amounts of sequential and non-sequential input-output operations for the data of the one or more data copies and relative amounts of read and write input-output operations for the data of the one or more data copies, wherein the actual copy usage data is indicative of actual usage associated with each of the one or more data copies, and wherein at least a given one of the one or more data copies comprises a snapshot of a storage volume in a first storage tier of the storage array, the snapshot being marked for protection of the storage volume in the first storage tier of the storage array, and at least a subset of blocks of the given one of the one or more data copies being further marked for production in the first storage tier of the storage array;

update the one or more data copies with one or more usage tags based on the expected copy usage data and the determined actual copy usage data, wherein updating the given one of the one or more data copies with one or more usage tags based on the expected copy usage data and the determined actual usage data comprises associating at least a given one of the one or more usage tags with a volume header of the snapshot of the storage volume stored in the first storage tier; and

responsive to detecting that at least a given block of the given one of the one or more data copies is no longer marked for production in the first storage tier of the storage array and remains marked for protection of the storage volume in the first storage tier of the storage array, migrate the given block of the given one of the one or more data copies from the first storage tier to a second storage tier specified by the given usage tag.

2. The apparatus of claim 1 , wherein the control module is further configured to scan the one or more usage tags associated with each of the one or more data copies.

3. The apparatus of claim 2 , wherein the control module is further configured to select one or more storage tiers for at least a portion of the one or more data copies based on the scan of the one or more usage tags.

4. The apparatus of claim 3 , wherein the control module is further configured to cause at least a portion of the one or more data copies to be stored in the selected one or more storage tiers.

5. The apparatus of claim 3 , wherein at least a portion of the one or more storage tiers are part of the storage array.

6. The apparatus of claim 3 , wherein at least a portion of the one or more storage tiers are external to the storage array.

7. The apparatus of claim 1 , wherein determining the actual copy usage data is based at least in part on information received from a host device operatively coupled to the storage array.

8. The apparatus of claim 1 , wherein determining the actual copy usage data is based at least in part on information received from an end user of the storage array.

9. A method comprising:

identifying one or more service level objectives for one or more workloads accessing one or more data copies associated with the storage array, the one or more service level objectives characterizing expected copy usage data of the one or more data copies by the one or more workloads;

determining actual copy usage data for the one or more data copies associated with a storage array based at least in part on identifying input-output patterns of the data of the one or more data copies, the identified input-output patterns characterizing at least one of relative amounts of sequential and non-sequential input-output operations for the data of the one or more data copies and relative amounts of read and write input-output operations for the data of the one or more data copies, wherein the actual copy usage data is indicative of actual usage associated with each of the one or more data copies, and wherein at least a given one of the one or more data copies comprises a snapshot of a storage volume in a first storage tier of the storage array, the snapshot being marked for protection of the storage volume in the first storage tier of the storage array, and at least a subset of blocks of the given one of the one or more data copies being further marked for production in the first storage tier of the storage array;

updating the one or more data copies with one or more usage tags based on the expected copy usage data and the determined actual copy usage data, wherein updating the given one of the one or more data copies with one or more usage tags based on the expected copy usage data and the determined actual usage data comprises associating at least a given one of the one or more usage tags with a volume header of the snapshot of the storage volume stored in the first storage tier; and

responsive to detecting that at least a given block of the given one of the one or more data copies is no longer marked for production in the first storage tier of the storage array and remains marked for protection of the storage volume in the first storage tier of the storage array, migrating the given block of the given one of the one or more data copies from the first storage tier to a second storage tier specified by the given usage tag;

wherein the steps are performed by at least one processing device comprising a processor coupled to a memory executing program code.

10. The method of claim 9 , further comprising scanning the one or more usage tags associated with each of the one or more data copies.

11. The method of claim 10 , further comprising selecting one or more storage tiers for at least a portion of the one or more data copies based on the scanning of the one or more usage tags.

12. The method of claim 11 , further comprising causing at least a portion of the one or more data copies to be stored in the selected one or more storage tiers.

13. The method of claim 11 , wherein at least a portion of the one or more storage tiers are part of the storage array.

14. The method of claim 11 , wherein at least a portion of the one or more storage tiers are external to the storage array.

15. The method of claim 9 , wherein determining the actual copy usage data is based at least in part on information received from a host device operatively coupled to the storage array.

16. The method of claim 9 , wherein determining the actual copy usage data is based at least in part on information received from an end user of the storage array.

17. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by the at least one processing device causes the at least one processing device to:

identify one or more service level objectives for one or more workloads accessing one or more data copies associated with the storage array, the one or more service level objectives characterizing expected copy usage data of the one or more data copies by the one or more workloads;

determine actual copy usage data for the one or more data copies associated with a storage array based at least in part on identifying input-output patterns of the data of the one or more data copies, the identified input-output patterns characterizing at least one of relative amounts of sequential and non-sequential input-output operations for the data of the one or more data copies and relative amounts of read and write input-output operations for the data of the one or more data copies, wherein the actual copy usage data is indicative of actual usage associated with each of the one or more data copies, and wherein at least a given one of the one or more data copies comprises a snapshot of a storage volume in a first storage tier of the storage array, the snapshot being marked for protection of the storage volume in the first storage tier of the storage array, and at least a subset of blocks of the given one of the one or more data copies being further marked for production in the first storage tier of the storage array;

update the one or more data copies with one or more usage tags based on the expected copy usage data and the determined actual copy usage data, wherein updating the given one of the one or more data copies with one or more usage tags based on the expected copy usage data and the determined actual usage data comprises associating at least a given one of the one or more usage tags with a volume header of the snapshot of the storage volume stored in the first storage tier; and

responsive to detecting that at least a given block of the given one of the one or more data copies is no longer marked for production in the first storage tier of the storage array and remains marked for protection of the storage volume in the first storage tier of the storage array, migrate the given block of the given one of the one or more data copies from the first storage tier to a second storage tier specified by the given usage tag.

18. The computer program product of claim 17 , wherein the program code when executed by the at least one processing device further causes the at least one processing device to scan the one or more usage tags associated with each of the one or more data copies.

19. The computer program product of claim 18 , wherein the program code when executed by the at least one processing device further causes the at least one processing device to select one or more storage tiers for at least a portion of the one or more data copies based on the scan of the one or more usage tags.

20. The computer program product of claim 19 , wherein the program code when executed by the at least one processing device further causes the at least one processing device to cause at least a portion of the one or more data copies to be stored in the selected one or more storage tiers.

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 Oct 20, 2020
From: KUMAR, SUNIL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054107/0725 →