IP Library Granted Patent US 9,514,012
Granted Patent B2
US 9,514,012 · App. 14/244,662 · Granted Dec 6, 2016

Tertiary storage unit management in bidirectional data copying

Inventors: Theresa M. Brown (Tucson, AZ); Nicolas M. Clayton (Warrington, GB); Theodore T. Harris, Jr. (Tucson, AZ); Gregory E. McBride (Vail, AZ); Carol S. Mellgren (Tucson, AZ); Warren K. Stanley (Loveland, CO)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/2058G06F11/2079G06F11/2076
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 9,514,012
App. No.
14/244,662
Granted
Dec 6, 2016
Kind
B2
Abstract

In one embodiment of the present description, mirroring is provided for a pair of storage units in bidirectional synchronous mirror relationships, and a tertiary storage unit. The mirroring includes multi-target mirroring to write updates written to the first storage unit to both the second storage unit and to a third storage unit. Similarly, for updates written to the second storage unit, multi-target mirroring is employed to write those to both the first storage unit and to the third storage unit. Other aspects are described.

Claims (138)

1. A method, comprising:

writing updates to a first storage unit so that the first storage unit has updates prior to a second storage unit;

writing updates to the second storage unit so that the second storage unit has updates prior to the first storage unit;

multi-target mirroring updates written to the first storage unit, to both the second storage unit and a third storage unit; and

multi-target mirroring updates written to the second storage unit, to both the first storage unit and the third storage unit;

wherein the multi-target mirroring updates written to the first storage unit, to both the second storage unit and a third storage unit includes:

establishing a mirroring relationship from the first storage unit to the second storage unit;

establishing a mirroring relationship from the first storage unit to the third storage unit;

copying the first storage unit to the second storage unit; and

copying the first storage unit to the third storage unit; and

wherein the multi-target mirroring updates written to the second storage unit, to both the first storage unit and the third storage unit includes:

establishing a mirroring relationship from the second storage unit to the third storage unit; and

establishing a mirroring relationship from the second storage unit to the first storage unit;

the method further comprising:

detecting a failure of the mirroring relationship from the first storage unit to the third storage unit;

in response to the failure detection, suspending the mirroring relationship from the second storage unit to the third storage unit;

detecting that the third storage unit is not synchronized to the first and second storage units; and

in response to the non-synchronized detection:

suspending the mirroring relationship from the first storage unit to the third storage unit;

suspending the mirroring relationship from the second storage unit to the first storage unit;

shifting the writing of updates so that updates are written to the first storage unit so that the second storage unit no longer has updates prior to the first storage unit,

resynchronizing from the first storage unit to the third storage unit; and

re-establishing the mirroring relationship from the first storage unit to the third storage unit; and

re-establishing the mirroring relationship from the second storage unit to the first storage unit.

2. The method of claim 1 , further comprising:

detecting a failure of the mirroring relationship from the second storage unit to the first storage unit;

in response to the detection, shifting the writing of updates so that updates are written to the first storage unit so that the second storage unit no longer has updates prior to the first storage unit; and

suspending the mirroring relationship from the second storage unit to the third storage unit.

3. The method of claim 1 , further comprising:

suspending the writing of updates to both the first and second storage units;

suspending the mirroring relationship from the first storage unit to the third storage unit;

suspending the mirroring relationship from the second storage unit to the third storage unit;

suspending the mirroring relationship from the first storage unit to the second storage unit;

suspending the mirroring relationship from the second storage unit to the first storage unit;

and

shifting the writing of updates so that updates are written to the third storage unit.

4. The method of claim 3 further comprising multi-target mirroring updates written to the third storage unit, to both the first storage unit and the second storage unit.

5. The method of claim 3 further comprising:

resynchronizing from the third storage unit to the first storage unit;

resynchronizing from the third storage unit to the second storage unit;

re-establishing the mirroring relationship from the first storage unit to the third storage unit;

re-establishing the mirroring relationship from the second storage unit to the third storage unit;

re-establishing the mirroring relationship from the first storage unit to the second storage unit; and

re-establishing the mirroring relationship from the second storage unit to the first storage unit.

6. A system, comprising:

a plurality of hosts;

a plurality of storage units;

at least one storage controller adapted to access and control the storage units; and

at least one computer readable storage medium having computer readable program code embodied therein that is enabled to cause operations to be performed, the operations comprising:

writing updates to a first storage unit so that the first storage unit has updates prior to a second storage unit;

writing updates to the second storage unit so that the second storage unit has updates prior to the first storage unit;

multi-target mirroring updates written to the first storage unit, to both the second storage unit and a third storage unit; and

multi-target mirroring updates written to the second storage unit, to both the first storage unit and the third storage unit;

wherein the multi-target mirroring updates written to the first storage unit, to both the second storage unit and a third storage unit includes:

establishing a mirroring relationship from the first storage unit to the second storage unit;

establishing a mirroring relationship from the first storage unit to the third storage unit;

copying the first storage unit to the second storage unit; and

copying the first storage unit to the third storage unit; and

wherein the multi-target mirroring updates written to the second storage unit, to both the first storage unit and the third storage unit includes:

establishing a mirroring relationship from the second storage unit to the third storage unit; and

establishing a mirroring relationship from the second storage unit to the first storage unit; and

wherein the operations further comprise:

detecting a failure of the mirroring relationship from the first storage unit to the third storage unit;

in response to the failure detection, suspending the mirroring relationship from the second storage unit to the third storage unit;

detecting that the third storage unit is not synchronized to the first and second storage units; and

in response to the non-synchronized detection:

suspending the mirroring relationship from the first storage unit to the third storage unit;

suspending the mirroring relationship from the second storage unit to the first storage unit;

shifting the writing of updates so that updates are written to the first storage unit so that the second storage unit no longer has updates prior to the first storage unit,

resynchronizing from the first storage unit to the third storage unit;

re-establishing the mirroring relationship from the first storage unit to the third storage unit; and

re-establishing the mirroring relationship from the second storage unit to the first storage unit.

7. The system of claim 6 , wherein the operations further comprise:

detecting a failure of the mirroring relationship from the second storage unit to the first storage unit;

in response to the detection, shifting the writing of updates so that updates are written to the first storage unit so that the second storage unit no longer has updates prior to the first storage unit; and

suspending the mirroring relationship from the second storage unit to the third storage unit.

8. The system of claim 6 , wherein the operations further comprise:

suspending the writing of updates to both the first and second storage units;

suspending the mirroring relationship from the first storage unit to the third storage unit;

suspending the mirroring relationship from the second storage unit to the third storage unit;

suspending the mirroring relationship from the first storage unit to the second storage unit;

suspending the mirroring relationship from the second storage unit to the first storage unit;

and

shifting the writing of updates so that updates are written to the third storage unit.

9. The system of claim 8 wherein the operations further comprise:

multi-target mirroring updates written to the third storage unit, to both the first storage unit and the second storage unit.

10. The system of claim 8 wherein the operations further comprise:

resynchronizing from the third storage unit to the first storage unit;

resynchronizing from the third storage unit to the second storage unit;

re-establishing the mirroring relationship from the first storage unit to the third storage unit;

re-establishing the mirroring relationship from the second storage unit to the third storage unit;

re-establishing the mirroring relationship from the first storage unit to the second storage unit; and

re-establishing the mirroring relationship from the second storage unit to the first storage unit.

11. A computer program product for managing data storage operations in connection with a plurality of hosts, and at least one storage subsystem including a plurality of original source storage units, a plurality of original target storage units, a plurality of replacement source storage units, and at least one storage controller adapted to access and control storage units of the at least one storage subsystems, the computer program product comprising at least one computer readable storage medium having computer readable program code embodied therein that is enabled to cause operations to be performed, the operations comprising:

writing updates to a first storage unit so that the first storage unit has updates prior to a second storage unit;

writing updates to the second storage unit so that the second storage unit has updates prior to the first storage unit;

multi-target mirroring updates written to the first storage unit, to both the second storage unit and a third storage unit; and

multi-target mirroring updates written to the second storage unit, to both the first storage unit and the third storage unit;

wherein the multi-target mirroring updates written to the first storage unit, to both the second storage unit and a third storage unit includes:

establishing a mirroring relationship from the first storage unit to the second storage unit;

establishing a mirroring relationship from the first storage unit to the third storage unit;

copying the first storage unit to the second storage unit; and

copying the first storage unit to the third storage unit; and

wherein the multi-target mirroring updates written to the second storage unit, to both the first storage unit and the third storage unit includes:

establishing a mirroring relationship from the second storage unit to the third storage unit; and

establishing a mirroring relationship from the second storage unit to the first storage unit; and

wherein the operations further comprise:

detecting a failure of the mirroring relationship from the first storage unit to the third storage unit; and

in response to the failure detection, suspending the mirroring relationship from the second storage unit to the third storage unit;

detecting that the third storage unit is not synchronized to the first and second storage units; and

in response to the non-synchronized detection:

suspending the mirroring relationship from the first storage unit to the third storage unit;

suspending the mirroring relationship from the second storage unit to the first storage unit

shifting the writing of updates so that updates are written to the first storage unit so that the second storage unit no longer has updates prior to the first storage unit,

resynchronizing from the first storage unit to the third storage unit;

re-establishing the mirroring relationship from the first storage unit to the third storage unit; and

re-establishing the mirroring relationship from the second storage unit to the first storage unit.

12. The computer program product of claim 11 , wherein the operations further comprise:

detecting a failure of the mirroring relationship from the second storage unit to the first storage unit;

in response to the detection, shifting the writing of updates so that updates are written to the first storage unit so that the second storage unit no longer has updates prior to the first storage unit; and

suspending the mirroring relationship from the second storage unit to the third storage unit.

13. The computer program product of claim 11 , wherein the operations further comprise:

suspending the writing of updates to both the first and second storage units;

suspending the mirroring relationship from the first storage unit to the third storage unit;

suspending the mirroring relationship from the second storage unit to the third storage unit;

suspending the mirroring relationship from the first storage unit to the second storage unit;

suspending the mirroring relationship from the second storage unit to the first storage unit;

and

shifting the writing of updates so that updates are written to the third storage unit.

14. The computer program product of claim 13 wherein the operations further comprise:

multi-target mirroring updates written to the third storage unit, to both the first storage unit and the second storage unit.

15. The computer program product of claim 13 wherein the operations further comprise:

resynchronizing from the third storage unit to the first storage unit;

resynchronizing from the third storage unit to the second storage unit;

re-establishing the mirroring relationship from the first storage unit to the third storage unit;

re-establishing the mirroring relationship from the second storage unit to the third storage unit;

re-establishing the mirroring relationship from the first storage unit to the second storage unit; and

re-establishing the mirroring relationship from the second storage unit to the first storage unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: BROWN, THERESA M.; CLAYTON, NICOLAS M.; HARRIS, THEODORE T., JR.; MCBRIDE, GREGORY E.; MELLGREN, CAROL S.; STANLEY, WARREN K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033810/0527 →
Continuity (1)
Related Publication 20150286545A1 · Oct 8, 2015