Coordinating remote copy status changes across multiple logical sessions to maintain consistency
First Claim
1. A method for coordinating operations among multiple remote copy backup sessions of a data storage system, where each session includes a primary storage subsystem and a corresponding backup storage subsystem, where the data storage system includes a master data set with individual areas corresponding to each session and a common area corresponding to all sessions, the method comprising the operations of:
- a first one of the sessions receiving a command request from a host, including a command and a start time;
in response to the command request, the first session performing operations comprising;
disallowing changes to the master data set;
storing the command in the common area;
retrieving time stamps from the sessions, each time stamp representing a past time to which data in that session can be recovered;
determining a most recent one of the returned time stamps, and if the command'"'"'s start time is after the most recent returned time stamp, listing the command and the most recent time stamp in the common area of the master data set;
if the command'"'"'s start time is before the most recent returned time stamp, listing a cancel instruction in the common area of the master data set;
re-allowing changes to the master data set.
2 Assignments
0 Petitions
Accused Products
Abstract
A multi-session data storage facility coordinates similar status changes across all sessions at appropriate times. In each session, a data mover implements data mirroring by copying updates from the primary storage to the secondary storage. A master data set, accessible by all sessions, includes a common area for posting commands and/or errors to all sessions and individual session areas for posting errors occurring in particular sessions. When a data mover receives a host initiated command, this data mover becomes a “master.” Initially, the master data mover lists the command in the master data set'"'"'s common area. Whenever other, “slave” data movers notice a command in the master data set'"'"'s common area, they respond by suspending their formation of consistency groups and responding with a “ready” message. The “ready” message comprises the slave data mover'"'"'s consistency form time (i.e., the earliest of most-recent update time from all controllers in that session). Accordingly, after posting the command, the master data mover reviews the slave data movers'"'"' responses. If these responses indicate all sessions can execute the command at a requested consistent time, then the master data mover instructs the slave data movers to execute the command by entering an execute instruction in the master data set'"'"'s common area. Otherwise, the master data mover enters a cancel operation in the master data set'"'"'s common area.
135 Citations
24 Claims
-
1. A method for coordinating operations among multiple remote copy backup sessions of a data storage system, where each session includes a primary storage subsystem and a corresponding backup storage subsystem, where the data storage system includes a master data set with individual areas corresponding to each session and a common area corresponding to all sessions, the method comprising the operations of:
-
a first one of the sessions receiving a command request from a host, including a command and a start time;
in response to the command request, the first session performing operations comprising;
disallowing changes to the master data set;
storing the command in the common area;
retrieving time stamps from the sessions, each time stamp representing a past time to which data in that session can be recovered;
determining a most recent one of the returned time stamps, and if the command'"'"'s start time is after the most recent returned time stamp, listing the command and the most recent time stamp in the common area of the master data set;
if the command'"'"'s start time is before the most recent returned time stamp, listing a cancel instruction in the common area of the master data set;
re-allowing changes to the master data set. - View Dependent Claims (2, 3, 4, 5, 6, 7)
a first session accessing other sessions'"'"' areas of the master data set;
in response to appearance of an error therein, the first session of locally processing the error and;
responsive to correction of the error, the first session entering an error-corrected indication in the first session'"'"'s area of the master data set.
-
-
4. The method of claim 1, further including processing entries in the common area of the master data set, comprising the following sequence repeatedly performed by each session:
-
a first session accessing the common area of the master data set;
in response to appearance of an error in the common area, the first session locally processing the error and;
responsive to correction of the error, the first session entering an error-corrected indication in the first session'"'"'s area of the master data set.
-
-
5. The method of claim 1, further including processing entries in the common area of the master data set, comprising the following sequence repeatedly performed by each session:
-
in response to a first session detecting appearance of a command in the common area of the master data set, the first session suspending formation of consistency groups;
the first session entering a consistency form time in the first session'"'"'s area of the master data set;
the first session accessing the common area of the master data set, and responsive to appearance of an execute instruction, executing the command;
responsive to appearance of a cancel instruction, foregoing execution of the command and;
the first session resuming formation of consistency groups.
-
-
6. The method of claim 5, the operation of entering a consistency form time in the first session'"'"'s area of the master data set comprising:
-
determining a most-recent update time for each controller in the first session;
identifying an earliest one of the most-recent update time and;
entering the earliest most-recent update time in the first session'"'"'s area of the master data set.
-
-
7. The method of claim 5, the execute instruction comprising a start time for the command.
-
8. A method for coordinating operations in a data storage system with multiple remote copy backup sessions each supervised by a different data mover, where each session includes a primary storage subsystem and a corresponding backup storage subsystem, where the data storage system includes a master data set with individual areas corresponding to each session and a common area corresponding to all sessions, the method comprising the following operations performed by each individual session:
-
determining whether the master data set contains any new entries;
responsive to determining that the master data set contains a new entry;
if the new entry is an error, locally processing the error in the individual session;
after correction of the error, entering an error-corrected indication in the master data set in association with the individual session;
if the new entry is a command contained in the common area, suspending formation of consistency groups in the individual session;
determining a most-recent update time for each controller in the individual session, and identifying an earliest one of the most-recent update times;
accessing the common area of the master data set to determine whether the command has associated therewith an execute or a cancel instruction, and only if the command is associated with an execute instruction, the individual session locally executing the command and;
resuming the formation of consistency groups in the individual session.
-
-
9. A data storage medium tangibly embodying a program of machine-readable instructions executable by a digital data processing machine to perform operations to coordinate operations among multiple remote copy backup sessions of a data storage system, where each session includes a primary storage subsystem and a corresponding backup storage subsystem, where the data storage system includes a master data set with individual areas corresponding to each session and a common area corresponding to all sessions, the operations being performed by a session and comprising:
-
a first one of the sessions receiving a command request from a host, including a command and a start time;
in response to the command request, the first session performing operations comprising;
disallowing changes to the master data set;
storing the command in the common area;
retrieving time stamps from the sessions, each time stamp representing time to which data in that session can be recovered;
determining a most recent one of the returned time stamps, and if the command'"'"'s start time is after the most recent returned time stamp, listing the command and the most recent time stamp in the common area of the master data set;
if the command'"'"'s start time is before the most recent returned time stamp, listing a. cancel instruction in the common area of the master data set;
re-allowing changes to the master data set. - View Dependent Claims (10, 11, 12, 13, 14, 15)
a first session accessing other sessions'"'"' areas of the master data set;
in response to appearance of an error therein, the first session locally processing the error and;
responsive to correction of the error, the first session entering an error-corrected indication in the first session'"'"'s area of the master data set.
-
-
12. The medium of claim 9, the operations further including repeatedly processing entries in the master data set, comprising:
-
a first session accessing the common area of the master data set;
in response to appearance of an error in the common area, the first session locally processing the error and;
responsive to correction of the error, the first session entering an error-corrected indication in the first session'"'"'s area of the master data set.
-
-
13. The medium of claim 9, the operations further including repeatedly processing entries in the master data set, comprising:
-
in response to a first session detecting appearance of a command in the common area of the master data set, the first session suspending formation of consistency groups;
the first session entering a consistency form time in the first session'"'"'s area of the master data set;
the first session accessing the common area of the master data set, and responsive to appearance of an execute instruction, executing the command;
responsive to appearance of a cancel instruction, foregoing execution of the command and;
the first session resuming formation of consistency groups.
-
-
14. The medium of claim 13, the operation of entering a consistency form time in the first session'"'"'s area of the master data set comprising:
-
determining a most-recent update time for each controller in the first session;
identifying an earliest one of the most-recent update times and;
entering the earliest most-recent update time in the first session'"'"'s area of the master data set.
-
-
15. The medium of claim 13, the execute instruction comprising a start time for the command.
-
16. A data storage medium tangibly embodying a program of machine-readable instructions executable by a digital data processing machine to perform operations to coordinate operations in a data storage system including multiple remote copy backup sessions where each session includes a primary storage subsystem and a corresponding backup storage subsystem, multiple data movers, each remote copy backup session being supervised by one of the data movers, a master data set with individual areas corresponding to each session and a common area corresponding to all sessions, the operations being performed by each individual session:
-
determining whether the master data set contains any new entries;
responsive to determining that the master data set contains a new entry, if the new entry is an error, locally processing the error in the individual session;
after correction of the error, entering an error-corrected indication in the master data set in association with the individual session;
if the new entry is a command contained in the common area, suspending formation of consistency groups in the individual session;
determining a most-recent update time for each controller in the individual session, and identifying an earliest one of the most-recent update times;
accessing the common area of the master data set to determine whether the command has associated therewith an execute or cancel instruction, and only if the command is associated with an execute instruction, the individual session locally executing the command and;
resuming the formation of consistency groups in the individual session.
-
-
17. A data storage system, comprising:
-
multiple remote copy backup sessions, each session including a primary storage subsystem and a corresponding backup storage subsystem;
a master data set with session areas each corresponding to an individual session and a common area corresponding to all sessions;
where the sessions are programmed to coordinate operations among the sessions by each session performing operations comprising;
receiving a command request from a host, including a command and a start time;
in response to the command request, the session performing operations comprising;
disallowing changes to the master data set;
storing the command in the common area;
retrieving time stamps from the sessions, each time stamp representing time to which data in that session can be recovered;
determining a most recent one of the returned time stamps, and if the command'"'"'s start time is after the most recent returned time stamp, listing the command and the most recent time stamp in the common area of the master data set;
if the command'"'"'s start time is before the most recent returned time stamp, listing a cancel instruction in the common area of the master data set and;
re-allowing changes to the master data set. - View Dependent Claims (18, 19, 20, 21, 22, 23)
accessing other sessions'"'"' areas of the master data set;
in response to appearance of an error therein, the session locally processing the error and;
responsive to correction of the error, the session entering an error-corrected indication in the session'"'"'s area of the master data set.
-
-
20. The system of claim 17, each session being further programmed to repeatedly perform operations to process entries in the master data set, the operations comprising:
-
accessing the common area of the master data set;
in response to appearance of an error in the common area, the session locally processing the error and;
responsive to correction of the error, the session entering an error-corrected indication in the session'"'"'s area of the master data set.
-
-
21. The system of claim 17, each session being further programmed to repeatedly perform operations to process entries in the master data set, the operations comprising:
-
in response to the session detecting appearance of a command in the common area of the master data set, suspending formation of consistency groups at the session;
entering a consistency form time in the session'"'"'s area of the master data set;
accessing the common area of the master data set, and responsive to appearance of an execute instruction, executing the command;
responsive to appearance of a cancel instruction, foregoing execution of the commands and;
re-allowing changes to the consistency formation.
-
-
22. The system of claim 21, each session being programmed such that the operation of entering a consistency form time in the first session'"'"'s area of the master data set comprising:
-
determining a most-recent update time for each controller in the first session;
identifying an earliest one of the most-recent update times and;
entering the earliest most-recent update time in the first session'"'"'s area of the master data set.
-
-
23. The system of claim 21, the execute instruction comprising a start time for the command.
-
24. A data storage system, comprising:
-
multiple remote copy backup sessions, each session including a primary storage subsystem and a corresponding backup storage subsystem;
multiple data movers, each remote copy backup session being supervised by one of the data movers;
a master data set with session areas each corresponding to an individual session and a common area corresponding to all sessions;
where the sessions are programmed to coordinate operations among the sessions by each individual session performing operations comprising;
determining whether the master data set contains any new entries;
responsive to determining that the master data set contains a new entry, if the new entry is an error, locally processing the error in the individual session;
after correction of the error, entering an error-corrected indication in the master data set in association with the individual session;
if the new entry is a command contained in the common area, suspending formation of consistency groups in the individual session;
determining a most-recent update time for each controller in the individual session, and identifying an earliest one of the most-recent update times;
accessing the common area of the master data set to determine whether the command has associated therewith an execute or cancel instruction, and only if the command is associated with an execute instruction, the individual session locally executing the command and;
resuming the formation of consistency groups in the individual session.
-
Specification