|Publication number||US7552295 B2|
|Application number||US 11/325,032|
|Publication date||Jun 23, 2009|
|Filing date||Jan 3, 2006|
|Priority date||Jan 3, 2006|
|Also published as||CN1996309A, CN1996309B, US20070156983|
|Publication number||11325032, 325032, US 7552295 B2, US 7552295B2, US-B2-7552295, US7552295 B2, US7552295B2|
|Inventors||Robert Frederic Kern, Kenneth Wayne Boyd, Gregory Edward McBride, Gail Andrea Spear, Robert Francis Bartfai, William Frank Micka, Kenneth Fairclough Day, III|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (11), Non-Patent Citations (5), Referenced by (3), Classifications (20), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
The present invention relates to a method, system, and program for maintaining consistency when mirroring data using different copy technologies.
2. Description of the Related Art
Disaster recovery systems typically address two types of failures, a sudden catastrophic failure at a single point in time or data loss over a period of time. In the second type of gradual disaster, updates to volumes may be lost. To assist in recovery of data updates, a copy of data may be provided at a remote location. Such dual or shadow copies are typically made as the application system is writing new data to a primary storage device. Different copy technologies may be used for maintaining remote copies of data at a secondary site, such as International Business Machine Corporation's (“IBM”) Extended Remote Copy (XRC), Coupled XRC (CXRC), Global Copy, and Global Mirror Copy. These different copy technologies are described in the IBM publications “The IBM TotalStorage DS6000 Series: Copy Services in Open Environments”, IBM document no. SG24-6783-00 (September 2005) and “IBM TotalStorage Enterprise Storage Server: Implementing ESS Copy Services with IBM eServer zSeries”, IBM document no. SG24-5680-04 (July 2004).
In data mirroring systems, data is maintained in volume pairs. A volume pair is comprised of a volume in a primary storage device and a corresponding volume in a secondary storage device that includes an identical copy of the data maintained in the primary volume. Primary and secondary storage controllers may be used to control access to the primary and secondary storage devices. In certain backup system, a sysplex timer is used to provide a uniform time across systems so that updates written by different applications to different primary storage devices use consistent time-of-day (TOD) value as a time stamp. The host operating system or the application may time stamp updates to a data set or set of data sets when writing such data sets to volumes in the primary storage. The integrity of data updates is related to insuring that updates are done at the secondary volumes in the volume pair in the same order as they were done on the primary volume. The time stamp provided by the application program determines the logical sequence of data updates.
In many application programs, such as database systems, certain writes cannot occur unless a previous write occurred; otherwise the data integrity would be jeopardized. Such a data write whose integrity is dependent on the occurrence of a previous data write is known as a dependent write. Volumes in the primary and secondary storages are consistent when all writes have been transferred in their logical order, i.e., all dependent writes transferred first before the writes dependent thereon. A consistency group has a consistency time for all data writes in a consistency group having a time stamp equal or earlier than the consistency time stamp. A consistency group is a collection of updates to the primary volumes such that dependent writes are secured in a consistent manner. The consistency time is the latest time to which the system guarantees that updates to the secondary volumes are consistent. Consistency groups maintain data consistency across volumes and storage devices. Thus, when data is recovered from the secondary volumes, the recovered data will be consistent.
Consistency groups are formed within a session. All volume pairs assigned to a session will have their updates maintained in the same consistency group. Thus, the sessions are used to determine the volumes that will be grouped together in a consistency group. Consistency groups are formed within a journal device or volume. From the journal, updates gathered to from a consistency group are applied to the secondary volume. If the system fails while updates from the journal are being applied to a secondary volume, during recovery operations, the updates that did not complete writing to the secondary volume can be recovered from the journal and applied to the secondary volume.
Certain network environments may deploy different copy technologies to provide mirror copies of primary volumes in the network. Different copy technologies may form consistency groups using different methodologies and algorithms, such that consistency cannot be maintained across consistency groups formed using different copy technologies.
For these reasons there is a need in the art for improved techniques for managing consistency groups.
Provided are a method, system, and program for maintaining consistency when mirroring data using different copy technologies. Update groups having updates to primary storage locations are formed using a first copy technology. The updates in the update groups are copied to secondary storage locations. Update groups having updates to primary storage locations are formed using a second copy technology, wherein the updates in the update groups are copied to secondary storage locations. Indication is made in a data structure of a time of an update in response to including the update in one of the update groups formed using the first copy technology. Indication is also made in the data structure of a time of the update group formed using the second copy technology.
The copy operation of the updates from the primary storage 6 to the journal volume 8 may comprise an asynchronous copy operation, such as a Peer-to-Peer Remote Copy-Extended Distance, Global Copy, Global Mirror, etc. To form a consistency group, the mirror program 4 may maintain a bitmap indicating updates to the primary storage 6. To complete the consistency group, the mirror program 4 may freeze or quiesce any updates to the primary storage 6 and then provide a new bitmap to use to record any subsequent updates to the primary storage 6. After establishing the new bitmap to record indication of any new updates to the primary storage 6, the mirror program 4 allows I/O to proceed against the primary storage 6. The previous bitmap, indicating updates that occurred prior to establishing the new bitmap, is then used to form the consistency group 10 at the journal volume 8 by asynchronously copying the updates indicated in the previous bitmap to the journal volume 8. Once all the data in the consistency group 10 is at the journal volume 8, the mirror program 4 may initiate the operation to copy the consistency group 10 to the secondary storage 12. The copy operation of the consistency group 10 from the journal volume 8 to the secondary storage 12 may comprise a logical copy operation, such as the IBM Flash Copy operation, in which the copy operation completes upon creating a bitmap identifying the tracks to copy. In one embodiment, the copy technology used to copy the changes to the primary storage 6 to the journal volume 8 and then secondary storage 12 may comprise the IBM Global Mirror copy operation, which involves an asynchronous remote copy of the updates for the consistency group from the primary storage 6 to the journal volume 8 at a secondary site and then a Flash Copy of the consistency group 10 to the secondary storage 6.
The copy operations managed by the mirror program 4 from the primary storage 6 to the secondary storage 12 comprise a first copy technology. A second copy technology may be deployed to copy data from the primary storages 20 a . . . 20 n to secondary storages 22 a . . . 22 n, such as the IBM Extended Remote Copy (XRC) copy technology. Both copy technologies form consistency groups for all updates to volumes that share a session. The consistency group contains records that have their order of update preserved, even across multiple storage controls. This preservation of order is crucial for applications that process dependent write I/Os such as index and data and database and log.
The second copy technology utilizes system data mover (SDM) programs 24 a . . . 24 n, 24 o. The SDMs 24 a . . . 24 n are in communication with the primary 20 a . . . 20 n and secondary 22 a . . . 22 n storages, respectively, and manage the transfer of updates in consistency groups from the primary storage 20 a . . . 20 n to the corresponding secondary storage 22 a . . . 22 n. Thus, data is transferred between the primary 20 a . . . 20 n and secondary 22 a . . . 22 n storages via the SDMs 24 a . . . 24 n using the second copy technologies. At the primary storage 20 a . . . 20 n, updates may be written to a side file in a cache of a storage controller managing the primary storage 20 a . . . 20 n. The updates may then be transferred to the journals 26 a . . . 26 n maintained by the SDMs 24 a . . . 24 n. Within each of the journals 26 a . . . 26 n, the updates are arranged into a consistency group. The journals 26 a . . . 26 n may store one or more consistency groups. The SDMs 24 a . . . 24 o may comprise programs implemented in a system. The SDMs 24 a . . . 24 o may be implemented at the site of the primary storages, secondary storages or an independent site and system.
A master data set 28 includes a list of the sessions being managed and for each managed session, the time of the most recent update to a volume in such session. The master data set 28 may reside on volumes in the storages 20 a . . . 20 n, 22 a . . . 22 n. The journal data sets for a primary/secondary control pair may reside on any device. In
The mirror SDM 24 o communicates with the mirror system 2 to coordinate the formation and transfer of consistency groups 20 with respect to the journal volume 8 and the secondary storage 12 using the second copy technology, e.g., Global Mirror, in a manner consistent with the writing of consistency groups by the SDMs 24 a . . . 24 n using the first copy technology, e.g., coupled XRC (CXRC). The SDM 24 o writes a mirror journal time to the master data set 28 for the mirror session indicating a time of the last formed consistency group of updates at the primary storage 6 to copy to the journal volume 8. In certain embodiments, the first copy technology may form consistency groups at a substantially higher frequency than the second copy technology, which forms a consistency group when quiescing I/Os to the primary storage 6. Further, the SDMs 24 a . . . 24 n may journal updates in the master data set 28 at a substantially higher frequency than update times are journaled in the master data set 28 for the consistency group 10 being formed by the mirror program 4.
Network 30 provides communication among the SDMs 24 a . . . 24 n, 24 o, storages 20 a . . . 20 n, 22 a . . . 22 n, the master data set 28, and a system timer 32. The system timer 30 provides the time stamps for updates to ensure that a common time is used across all SDMs 24 a . . . 24 o and to provide a common time reference for application programs writing updates to volumes to insure that updates are not mirrored out-of-sequence. Once updates in the journal 26 a . . . 26 n and journal volume 8 are organized within a consistency group, then the updates within a consistency are applied to the secondary storages 22 a . . . 22 n and 12 using the different copy technologies. The creation of consistency groups guarantees that the system will shadow data to a remote site in real time with update sequence integrity for any type of data. Using consistency groups ensure that updates applied to the secondary storages 12 and 22 a . . . 22 n within a session are consistent as of the consistency time of the consistency group and consistent between sessions. If a failure occurs while updates are written from the journal to secondary volumes in the secondary storage 22 a . . . 22 n, then during recovery, the updates that were interrupted during system failure can be recovered from the journal and reapplied to the secondary volume. In this way, data is consistent within and across sessions during recovery as of a point in time.
The networks 14 and 30 may be separate networks that are connected via one or more switches or part of the same network. The networks 14 and 30 may comprise a Storage Area Network (SAN), Local Area Network (LAN), Intranet, the Internet, Wide Area Network (WAN), peer-to-peer network, etc. The storages 20 a . . . 20 n, 22 a . . . 22 n may comprise an array of storage devices, such as a Just a Bunch of Disks (JBOD), Direct Access Storage Device (DASD), Redundant Array of Independent Disks (RAID) array, virtualization device, tape storage, flash memory, etc.
In response to initiating copy operations (at block 100), the SDMs 24 a . . . 24 n form (at block 102) consistency groups using the first copy technology (XRC) having updates to primary storage locations. As discussed, the SDM 24 a . . . 24 n may form the consistency groups by reading the updates from the primary storages 20 a . . . 20 n to the journal 26 a . . . 26 n where the consistency group is formed. The SDMs 24 a . . . 24 n indicate (at block 104) in the master data set 28 a time of an update added to a consistency group in the journal 26 a . . . 26 n. The SDMs 24 a . . . 24 n may periodically poll (at block 106) the master data set 28 to determine a reference time (a minimum of the maximum of session update times 54). The SDMs 24 a . . . 24 n copy (at block 108) consistency groups in their journals 26 a . . . 26 n to the secondary storages 22 a . . . 222 n whose timestamp is less than or equal to the determined reference time.
In response to the continue, the mirror program 4 copies (at block 204) updates for the last consistency group formed (whose tracks may be indicated in an out-of-synch bitmap formed when the bitmap for the new consistency group was generated) from the primary storage 20 a . . . 20 n to the journal volume 8 to form the last completed consistency group 10 in the journal volume 8. In response to gathering all the updates in the consistency group 10 in the journal volume 8, the mirror program 4 sends (at block 206) a commit request to the mirror SDM 24 o. In response to receiving the commit request (at block 234), the mirror SDM 24 o polls (at block 236) the master data set 28 to determine when the mirror journal time (time last consistency group formed by the mirror program 4 was completed) is less than the reference time (minimum of maximum update imestamps for different sessions, including the mirror session). If (at block 238) the mirror journal time in the master data set 28 is not less than the reference time, then control returns to block 236 to continue to poll. Otherwise, if (at block 238) the mirror journal time in the master data set 28 is less than the reference time, then the mirror SDM 24 o signals (at block 240) the mirror program 4 to copy the consistency group 10 to the secondary storage 12. In response to this signal, the mirror program 4 initiates the copying (at block 208) of the consistency group 10 from the journal volume 8 to secondary storage 12. As discussed, the copy operation at block 208 of the consistency group 10 may comprise a logical copy operation, such as a FlashCopy operation.
The operations of
Described embodiments provide techniques to ensure that updates in consistency groups formed using different copy technologies are copied to secondary storage locations to maintain data consistency across sessions and copy technologies, including copy technologies that use different techniques and methodologies to form consistency groups and form consistency groups at different frequencies.
The described operations may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The described operations may be implemented as code maintained in a “computer readable medium”, where a processor may read and execute the code from the computer readable medium. A computer readable medium may comprise media such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, DVDs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, etc.), etc. The code implementing the described operations may further be implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.). Still further, the code implementing the described operations may be implemented in “transmission signals”, where transmission signals may propagate through space or through a transmission media, such as an optical fiber, copper wire, etc. The transmission signals in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc. The transmission signals in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a computer readable medium at the receiving and transmitting stations or devices. An “article of manufacture” comprises computer readable medium, hardware logic, and/or transmission signals in which code may be implemented. A device in which the code implementing the described embodiments of operations is encoded may comprise a computer readable medium or hardware logic. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the present invention, and that the article of manufacture may comprise suitable information bearing medium known in the art.
The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean “one or more (but not all) embodiments of the present invention(s)” unless expressly specified otherwise.
The terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.
The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.
The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.
Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention.
Further, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the present invention need not include the device itself.
The illustrated operations of
The foregoing description of various embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5592618 *||Oct 3, 1994||Jan 7, 1997||International Business Machines Corporation||Remote copy secondary data copy validation-audit function|
|US5720029||Jul 25, 1995||Feb 17, 1998||International Business Machines Corporation||Asynchronously shadowing record updates in a remote copy session using track arrays|
|US5734818||May 10, 1996||Mar 31, 1998||International Business Machines Corporation||Forming consistency groups using self-describing record sets for remote data duplexing|
|US6148383||Jul 9, 1998||Nov 14, 2000||International Business Machines Corporation||Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage|
|US6463501||Oct 21, 1999||Oct 8, 2002||International Business Machines Corporation||Method, system and program for maintaining data consistency among updates across groups of storage areas using update times|
|US6496908 *||May 18, 2001||Dec 17, 2002||Emc Corporation||Remote mirroring|
|US6842825||Aug 7, 2002||Jan 11, 2005||International Business Machines Corporation||Adjusting timestamps to preserve update timing information for cached data objects|
|US6842834||Mar 20, 2003||Jan 11, 2005||International Business Machines Corporation||Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating|
|US20040260735||Jun 17, 2003||Dec 23, 2004||Martinez Richard Kenneth||Method, system, and program for assigning a timestamp associated with data|
|US20050071708||Sep 29, 2003||Mar 31, 2005||International Business Machines (Ibm) Corporation||Method, system, and program for recovery from a failure in an asynchronous data copying system|
|JP2003099306A||Title not available|
|1||A.C. Azagury et al., "Advanced functions for storage subsystems: Supporting continuous availability", IBM Systems Journal, vol. 42, No. 2, (C) 2003 IBM Corporation, pp. 268-279.|
|2||C. Warrick et al., "IBM TotalStorage Enterprise Storage Server: Implementing ESS Copy Services with IBM eServer zSeries", IBM Redbooks SG24-5680-04, Jul. 2004, (C) 2004 IBM Corporation, pp. i-xxviii and 207-272.|
|3||C. Warrick et al., "The IBM TotalStorage DS6000 Series: Copy Services in Open Environments", IBM Redbooks SG24-6783-00, Sep. 2005, (C) 2005 IBM Corporation, pp. i-xxii and 141-274.|
|4||*||IBM-TDB-NN9610187 integration of persistent memory data into real-time asynchronous direct access storage device remote copy Oct. 1996 vol. 39, issue 10 pp. 187-190.|
|5||Kern et al., "IBM Storage Infrastructure for Business Continuity", IBM Systems & Technology Group, Oct. 11, 2005, (C) 2005 IBM Corporation, pp. 1-41.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8943276||Mar 14, 2013||Jan 27, 2015||International Business Machines Corporation||Efficient discard scans|
|US9075723 *||Jun 17, 2011||Jul 7, 2015||International Business Machines Corporation||Efficient discard scans|
|US20120324173 *||Dec 20, 2012||International Business Machines Corporation||Efficient discard scans|
|U.S. Classification||711/162, 709/219, 709/217, 711/147, 711/141, 711/161, 709/216, 709/218, 709/213|
|International Classification||G06F15/167, G06F12/00, G06F13/28, G06F15/16, G06F13/00|
|Cooperative Classification||G06F11/2071, G06F11/2064, G06F11/2069|
|European Classification||G06F11/20S2P, G06F11/20S2M, G06F11/20S2E|
|Mar 16, 2006||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KERN, ROBERT FREDERIC;BOYD, KENNETH WAYNE;MCBRIDE, GREGORY EDWARD;AND OTHERS;REEL/FRAME:017686/0956;SIGNING DATES FROM 20051116 TO 20051219
|Feb 4, 2013||REMI||Maintenance fee reminder mailed|
|Apr 18, 2013||FPAY||Fee payment|
Year of fee payment: 4
|Apr 18, 2013||SULP||Surcharge for late payment|