IP Library Granted Patent US 11,429,318
Granted Patent B2
US 11,429,318 · App. 16/526,328 · Granted Aug 30, 2022

Redirect-on-write snapshot mechanism with delayed data movement

Inventors: Sergey Alexandrovich Alexeev (St. Petersburg, RU); Alexey Vladimirovich Shusharin (Saint Petersburg, RU); Dmitry Tylik (Westborough, MA); Yakov Stanislavovich Belikov (Saint Petersburg, RU); Ekaterina Konstantinovna Sigalova (Saint Petersburg, RU)
Assignee: EMC IP Holding Company LLC
G06F3/0665G06F3/0611G06F3/0644G06F3/0653G06F11/1446G06F11/1469G06F3/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,429,318
App. No.
16/526,328
Granted
Aug 30, 2022
Kind
B2
Abstract

Techniques include receiving a backup request for backing up data on a production VVOL, to which is assigned physical space from storage devices in a first storage tier. When the production VVOL and a snapshot VVOL exist, and a write request is received to a data block on the production VVOL that is shared between the production VVOL and the snapshot VVOL, then the techniques include capturing a snapshot of the production VVOL by redirecting the write request to newly allocated space on the production VVOL, writing new data to the newly allocated space, and storing metadata referring to the original block(s) on the production VVOL. Based on an IO workload threshold, the techniques include copying, in a background process, the original version of the modified block from the production VVOL to a snapshot VVOL, to which is assigned physical storage space from storage devices in a second storage tier.

Claims (53)

1. A method of performing a backup operation in a data storage system, comprising:

receiving, from a virtualization administrator, a first storage policy profile and a second storage policy profile, the first storage policy profile specifying a first service level objective (SLO) for data stored on a production virtual volume (VVOL), the second storage policy profile specifying a second SLO for data stored on a derivative VVOL;

assigning, to the production VVOL, storage space from at least one storage device in a first storage tier based on the first SLO specified by the first storage policy profile received from the virtualization administrator, the production VVOL including a first data element and a second data element;

assigning, to the derivative VVOL, storage space from at least one storage device in a second storage tier based on the second SLO specified by the second storage policy profile received from the virtualization administrator;

sharing the first data element included in the production VVOL in the first storage tier with the derivative VVOL in the second storage tier, the first data element containing original data;

receiving a write request to write new data to the first data element on the production VVOL in the first storage tier;

in response to receiving the write request to write new data to the first data element on the production VVOL in the first storage tier, redirecting the write request to the second data element on the production VVOL in the first storage tier;

in response to redirecting the write request, writing the new data to the second data element on the production VVOL;

monitoring an input/output (IO) workload of the data storage system; and

continuing monitoring the IO workload and sharing the first data element until the IO workload of the data storage system is less than a predetermined threshold.

2. The method of claim 1 wherein the derivative VVOL includes a third data element, and wherein the method further comprises:

in response to determining, from the monitoring of the IO workload, that the IO workload is less than the predetermined threshold:

discontinuing sharing the first data element; and

demoting the original data contained in the first data element on the production VVOL from the first storage tier to the third data element on the derivative VVOL in the second storage tier.

3. The method of claim 2 further comprising:

storing, in a block map for the derivative VVOL, metadata that refers to the third data element on the derivative VVOL in the second storage tier.

4. The method of claim 2 further comprising:

prior to determining that the IO workload of the data storage system is less than the predetermined threshold, storing first metadata in a block map for the derivative VVOL, the first metadata referring to the original data contained in the first data element on the production VVOL; and

having determined that the IO workload of the data storage system is less than the predetermined threshold, storing second metadata in the block map for the derivative VVOL, the second metadata referring to the original data contained in the third data element on the derivative VVOL.

5. The method of claim 2 wherein demoting the original data includes copying, in a background process, the original data contained in the first data element on the production VVOL to the third data element on the derivative VVOL in response to determining that the IO workload of the data storage system is less than the predetermined threshold.

6. The method of claim 1 further comprising:

storing, in a block map for the production VVOL, metadata that refers to the second data element on the production VVOL in the first storage tier.

7. The method of claim 1 further comprising:

receiving a backup request for performing an incremental backup of the data stored on the production VVOL in the first storage tier.

8. A data storage system, comprising:

a memory; and

processing circuitry configured to execute program instructions out of the memory to:

receive, from a virtualization administrator, a first storage policy profile and a second storage policy profile, the first storage policy profile specifying a first service level objective (SLO) for data stored on a production virtual volume (VVOL), the second storage policy profile specifying a second SLO for data stored on a derivative VVOL;

assign, to the production VVOL, storage space from at least one storage device in a first storage tier based on the first SLO specified by the first storage policy profile received from the virtualization administrator, the production VVOL including a first data element and a second data element;

assign, to the derivative VVOL, storage space from at least one storage device in a second storage tier based on the second SLO specified by the second storage policy profile received from the virtualization administrator;

share the first data element included in the production VVOL in the first storage tier with the derivative VVOL in the second storage tier, the first data element containing original data;

receive a write request to write new data to the first data element on the production VVOL in the first storage tier;

in response to receipt of the write request to write new data to the first data element on the production VVOL in the first storage tier, redirect the write request to the second data element on the production VVOL in the first storage tier;

in response to redirecting the write request, write the new data to the second data element on the production VVOL;

monitor an input/output (IO) workload of the data storage system; and

continue to monitor the IO workload and to share the first data element until the IO workload of the data storage system is less than a predetermined threshold.

9. The data storage system of claim 8 wherein the derivative VVOL includes a third data element, and wherein the processing circuitry is further configured to execute the program instructions out of the memory to:

in response to determining, from the monitoring of the IO workload, that the IO workload is less than the predetermined threshold:

discontinuing sharing the first data element; and

demoting the original data contained in the first data element on the production VVOL from the first storage tier to the third data element on the derivative VVOL in the second storage tier; and

store, in a block map for the derivative VVOL, metadata that refers to the third data element on the derivative VVOL in the second storage tier.

10. The data storage system of claim 8 wherein the processing circuitry is further configured to execute the program instructions out of the memory to store, in a block map for the production VVOL, metadata that refers to the second data element on the production VVOL in the first storage tier.

11. The data storage system of claim 8 wherein the derivative VVOL is one of a snapshot VVOL, a full clone VVOL, and a fast clone VVOL.

12. A computer program product including a set of non-transitory, computer-readable media having instructions that, when executed by control circuitry of a computerized apparatus, cause the control circuitry to perform a method of performing a backup operation in a data storage system, the method comprising:

receiving, from a virtualization administrator, a first storage policy profile and a second storage policy profile, the first storage policy profile specifying a first service level objective (SLO) for data stored on a production virtual volume (VVOL), the second storage policy profile specifying a second SLO for data stored on a derivative VVOL;

assigning, to the production VVOL, storage space from at least one storage device in a first storage tier based on the first SLO specified by the first storage policy profile received from the virtualization administrator, the production VVOL including a first data element and a second data element;

assigning, to the derivative VVOL, storage space from at least one storage device in a second storage tier based on the second SLO specified by the second storage policy profile received from the virtualization administrator, the derivative VVOL including a third data element;

sharing the first data element included in the production VVOL in the first storage tier with the derivative VVOL in the second storage tier, the first data element containing original data;

receiving a write request to write new data to the first data element on the production VVOL in the first storage tier;

in response to receiving the write request to write new data to the first data element on the production VVOL in the first storage tier, redirecting the write request to the second data element on the production VVOL in the first storage tier;

in response to redirecting the write request, writing the new data to the second data element on the production VVOL;

monitoring an input/output (IO) workload of the data storage system; and

continuing monitoring the IO workload and sharing the first data element until the IO workload of the data storage system is less than a predetermined threshold.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2019
From: ALEXEEV, SERGEY ALEXANDROVICH; SHUSHARIN, ALEXEY VLADIMIROVICH; TYLIK, DMITRY; BELIKOV, YAKOV STANISLAVOVICH; SIGALOVA, EKATERINA KONSTANTINOVNA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050162/0813 →