IP Library › Granted Patent US 10,613,755
Granted Patent B1
US 10,613,755 · App. 15/198,353 · Granted Apr 7, 2020

Efficient repurposing of application data in storage environments

Inventors: Nir Sela (Tzur Igal, IL); Aviram Katz (Kiryat Onno, IL); Aharon Blitzer (Shoham, IL); Tamir Segal (Sunnyvale, CA); Ido Halevi (Givat Ada, IL); Yuval Harduf (Yahud, IL)
Assignee: EMC IP Holding Company LLC
G06F3/0605G06F3/067G06F3/0665G06F9/45558G06F16/128
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 10,613,755
App. No.
15/198,353
Granted
Apr 7, 2020
Kind
B1
Abstract

Example embodiments of the present invention relate to a method, a system, and a computer program product for copy data management. The method includes creating a snapshot of a volume and exposing the snapshot of the volume as a writable copy of the volume.

Claims (48)

1. A method comprising:

creating a snapshot node of a first volume data node of a storage array using an in-memory metadata operation, the snapshot node being a child node of the first volume data node and pointing to the first volume data node, wherein a volume personality is assigned to the first volume node, the storage array being configured to reference the first volume node using the volume personality;

creating a second volume data node in an in-memory metadata operation on the storage array, the second volume data node being a child node of the first volume data node and pointing to the first volume data node;

reassigning the volume personality from the first volume data node to the second volume data node to redirect incoming input-output operations from the first volume data node to the second volume data node;

assigning a snapshot personality to the snapshot node to expose the snapshot node as a writable copy of the first volume data node, the storage array being configured to reference the snapshot node using the snapshot personality, the snapshot personality being different than the volume personality; and

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1

wherein the first volume data node includes production data of the storage array; and

wherein exposing the snapshot node as a writable copy of the first volume data node comprises enabling the snapshot node as a repurposed version of the first volume data node for nonproduction purposes.

3. The method of claim 2 further comprising repurposing the first volume data node with no additional storage overhead for the writable copy of the first volume data node.

4. The method of claim 3 further comprising performing nonproduction I/O operations on the repurposed version of the first volume data node by applying the nonproduction I/O operations to the snapshot node.

5. The method of claim 4 further comprising performing production I/O operations on the second volume data node.

6. The method of claim 5 wherein the snapshot node depends on a pointer to the first volume data node for each unchanged data value between the snapshot node and the first volume data node.

7. The method of claim 1 further comprising providing consistent I/O operation performance to the second volume data node and the writable copy of the first volume data node by leveraging the snapshot node.

8. The method of claim 1 further comprising refreshing the snapshot node from the second volume data node.

9. The method of claim 8 wherein refreshing the snapshot node from the second volume data node comprises:

creating a new snapshot node of the second volume data node, the new snapshot node being a child node of the second volume data node and pointing to the second volume data node; and

reassigning the snapshot personality from the snapshot node to the new snapshot node.

10. The method of claim 1 further comprising:

representing the first volume data node as a volume node in a tree of nodes; and

representing the snapshot node and the second volume data node as child nodes of the first volume data node in the tree of nodes.

11. A system comprising:

one or more processors; and

memory storing computer program code that when executed on the one or more processors causes the system to perform the operations of:

creating a snapshot node of a first volume data node of a storage array using an in-memory metadata operation, the snapshot node being a child node of the first volume data node and pointing to the first volume data node, wherein a volume personality is assigned to the first volume node, the storage array being configured to reference the first volume node using the volume personality;

creating a second volume data node in an in-memory metadata operation on the storage array, the second volume data node being a child node of the first volume data node and pointing to the first volume data node;

reassigning the volume personality from the first volume data node to the second volume data node to redirect incoming input-output operations from the first volume data node to the second volume data node; and

assigning a snapshot personality to the snapshot node to expose the snapshot node as a writable copy of the first volume data node, the storage array being configured to reference the snapshot node using the snapshot personality, the snapshot personality being different than the volume personality.

12. The system of claim 11

wherein the first volume data node includes production data of the storage array; and

wherein exposing the snapshot node as a writable copy of the first volume data node comprises enabling the snapshot node as a repurposed version of the first volume data node for nonproduction purposes.

13. The system of claim 12 wherein the memory further stores computer program code that when executed on the one or more processors causes the system to perform the operation of repurposing the first volume data node with no additional storage overhead for the writable copy of the first volume data node.

14. The system of claim 13 wherein the memory further stores computer program code that when executed on the one or more processors causes the system to perform the operation of performing nonproduction I/O operations on the repurposed version of the first volume data node by applying the nonproduction I/O operations to the snapshot node.

15. The system of claim 14 wherein the memory further stores computer program code that when executed on the one or more processors causes the system to perform the operation of performing production I/O operations on the second volume data node.

16. The system of claim 15 wherein the snapshot node depends on a pointer to the first volume data node for each unchanged data value between the snapshot node and the first volume data node.

17. The system of claim 11 wherein the memory further stores computer program code that when executed on the one or more processors causes the system to perform the operation of providing consistent I/O operation performance to the second volume data node and the writable copy of the first volume data node by leveraging the snapshot node.

18. The system of claim 11 wherein the memory further stores computer program code that when executed on the one or more processors causes the system to perform the operation of refreshing the snapshot node from the second volume data node.

19. The system of claim 18 wherein refreshing the snapshot node from the second volume data node comprises:

creating a new snapshot node of the second volume data node, the new snapshot node being a child node of the second volume data node and pointing to the second volume data node; and

reassigning the snapshot personality from the snapshot node to the new snapshot node.

20. The system of claim 11 wherein the memory further stores computer program code that when executed on the one or more processors causes the system to perform the operation of:

representing the first volume data node as a volume node in a tree of nodes; and

representing the snapshot node and the second volume data node as child nodes of the first volume data node in the tree of nodes.

21. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon comprising:

computer program code for creating a snapshot node of a first volume data node of a storage array using an in-memory metadata operation, the snapshot node being a child node of the first volume data node and pointing to the first volume data node, wherein a volume personality is assigned to the first volume node, the storage array being configured to reference the first volume node using the volume personality;

computer program code for creating a second volume data node in an in-memory metadata operation on the storage array, the second volume data node being a child node of the first volume data node and pointing to the first volume data node;

computer program code for reassigning the volume personality from the first volume data node to the second volume data node to redirect incoming input-output operations from the first volume data node to the second volume data node; and

computer program code for assigning a snapshot personality to the snapshot node to expose the snapshot node as a writable copy of the first volume data node, the storage array being configured to reference the snapshot node using the snapshot personality, the snapshot personality being different than the volume personality.

Assignments (2)
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2017
From: SELA, NIR; KATZ, AVIRAM; BLITZER, AHARON; SEGAL, TAMIR; HALEVI, IDO; HARDUF, YUVAL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042392/0948 →
Continuity (1)
Continuation In Part 14502250 · Sep 30, 2014
Cited By (2)
US 12,632,176 US 12,645,376