IP Library Granted Patent US 8,719,523
Granted Patent B2
US 8,719,523 · App. 13/251,867 · Granted May 6, 2014

Maintaining multiple target copies

Inventors: Christopher B. Beeken (Winchester, GB); William J. Scales (Winchester, GB)
Assignee: International Business Machines Corporation
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 8,719,523
App. No.
13/251,867
Granted
May 6, 2014
Kind
B2
Abstract

Provided are techniques for maintaining instant virtual copies. A request to perform an instant virtual copy operation to create an instant virtual copy from a first volume to a new volume is received. It is determined that the first volume has not been modified since a last instant virtual copy operation has been performed. It is determined whether an intermediate volume and an intermediate map have already been created. In response to determining that the intermediate volume and the intermediate map have not already been created, the intermediate volume and the intermediate map are created, the intermediate volume is made dependent on the first volume in a dependency chain based on the intermediate map, and the new volume is made dependent on the intermediate volume in the dependency chain.

Claims (46)

1. A computer system for maintaining instant virtual copies, comprising:

a processor; and

a storage device connected to the processor, wherein the storage device has stored thereon a program, and wherein the processor is configured to execute instructions of the program to perform operations, wherein the operations comprise:

in response to receiving a request to perform an instant virtual copy operation to create an instant virtual copy from a first source volume to a first target volume,

creating a first intermediate volume, a first intermediate map, and a first map for the first target volume;

making the first intermediate volume dependent on the first source volume in a dependency chain based on the first intermediate map; and

making the first target volume dependent on the first intermediate volume in the dependency chain based on the first map;

receiving a request to perform another instant virtual copy operation to create an instant virtual copy from the first source volume to a second target volume;

in response to determining that the first source volume has not been modified since a last instant virtual copy operation from the first source volume has been performed, making the second target volume dependent on the first intermediate volume in the dependency chain based on a second map; and

in response to determining that the first source volume has been modified since a last instant virtual copy operation from the first source volume has been performed;

creating a second intermediate volume, a second intermediate map, and a third map for the second target volume;

making the second intermediate volume dependent on the first source volume in the dependency chain based on the second intermediate map; and

making the second target volume dependent on the second intermediate volume in the dependency chain based on the third map.

2. The computer system of claim 1 , wherein the operations further comprise:

determining that the instant virtual copy operation is a first instant virtual copy operation from the first source volume to the first target volume.

3. The computer system of claim 1 , wherein the operations further comprise:

to determining that the first intermediate volume and the first intermediate map have already been created.

4. The computer system of claim 1 , wherein the operations further comprise:

receiving a read request for the second target volume that is dependent on the first intermediate volume; and

attempting to obtain data for the read request from the second target volume, the first intermediate volume, and the first source volume, in that order.

5. The computer system of claim 1 , wherein the first intermediate volume is not updated in response to write requests to the first intermediate volume.

6. The computer system of claim 1 , and wherein the operations further comprise:

receiving a request to perform another instant virtual copy operation to create another instant virtual copy from the first source volume to a third target volume;

creating a third intermediate volume and a third intermediate map;

making the third intermediate volume dependent on the first source volume in the dependency chain based on the third intermediate map; and

making the third target volume dependent on the third intermediate volume in the dependency chain.

7. The computer system of claim 1 , wherein an update of the second target volume does not affect data stored on the first target volume.

8. A computer program product for maintaining instant virtual copies, the computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by a processor of a computer, is configured to perform:

in response to receiving a request to perform an instant virtual copy operation to create an instant virtual copy from a first source volume to a first target volume, creating a first intermediate volume, a first intermediate map, and a first map for the first target volume;

making the first intermediate volume dependent on the first source volume in a dependency chain based on the intermediate map; and making the first target volume dependent on the first intermediate volume in a dependency chain based on the first map;

receiving a request to perform another instant virtual copy operation to create an instant virtual copy from the first source volume to a second target volume; in response to determining that the first source volume has not been modified since a last instant virtual copy operation from the first source volume has been performed, making the second target volume dependent on the first intermediate volume in the dependency chain based on a second map; and in response to determining that the first source volume has been modified since a last instant virtual copy operation from the first source volume has been performed; creating a second intermediate volume, a second intermediate map, and a third map for the second target volume; making the second intermediate volume dependent on the first source volume in the dependency chain based on the second intermediate map; and making the second target volume dependent on the second intermediate volume in the dependency chain based on the third map.

9. The computer program product of claim 8 , wherein the computer readable program code, when executed by the processor of the computer, is configured to perform:

determining that the instant virtual copy operation is a first instant virtual copy operation from the first source volume to the first target volume.

10. The computer program product of claim 8 , wherein the computer readable program code, when executed by the processor of the computer, is configured to perform:

determining that the first intermediate volume and the first intermediate map have already been created.

11. The computer program product of claim 8 , wherein the computer readable program code, when executed by the processor of the computer, is configured to perform:

receiving a read request for the second target volume that is dependent on the first intermediate volume; and

attempting to obtain data for the read request from the second target volume, the first intermediate volume, and the first source volume, in that order.

12. The computer program product of claim 8 , wherein the first intermediate volume is not updated in response to write requests to the first intermediate volume.

13. The computer program product of claim 8 , wherein the computer readable program code, when executed by the processor of the computer, is configured to perform:

receiving a request to perform another instant virtual copy operation to create another instant virtual copy from the first source volume to a third target volume;

creating a third intermediate volume and a third intermediate map;

making the third intermediate volume dependent on the first source volume in the dependency chain based on the third intermediate map; and

making the third target volume dependent on the third intermediate volume in the dependency chain.

14. The computer program product of claim 8 , wherein an update of the second target volume does not affect data stored on the first target volume.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE EXECUTION DATE ON THE CONFIRMATION AND NOTICE OF RECORDATION IS WRONG. IT SHOULD BE 10/03/2011, RATHER THAN 03/10/2011. PREVIOUSLY RECORDED ON REEL 027021 FRAME 0494. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR: BEEKEN, CHRISTOPHER B. DOC DATE: 03/10/2011 ASSIGNOR: SCALES, WILLIAM J. DOC DATE: 03/10/2011. Recorded Jun 19, 2012
From: BEEKEN, CHRISTOPHER B.; SCALES, WILLIAM J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028406/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2011
From: BEEKEN, CHRISTOPHER B.; SCALES, WILLIAM J.
To: INTERNATIONAL BUSINESS MACHINES
Reel/Frame 027021/0494 →
Continuity (1)
Related Publication 20130086342A1 · Apr 4, 2013