Storage system and remote copy method

By associating journal data with a capacity pool and managing logical addresses, the storage system addresses performance and resource inefficiencies in remote copying, enhancing copy performance and RPO through optimized data sharing and reduced cache memory consumption.

JP2026037758APending Publication Date: 2026-03-06HITACHI VANTARA LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Remote copy technologies face performance issues and resource inefficiencies when data is copied from an on-premises primary storage system to a secondary storage system configured in a public cloud, particularly due to unbalanced resource allocation, leading to increased cache memory consumption and potential data destaging, which affects copy performance and recovery point objective (RPO).

Method used

A storage system design that associates journal data with a specified area in a capacity pool, using a processor to manage logical addresses and metadata, eliminating the need for duplicate storage of data across volumes and reducing cache memory consumption by sharing data entities between primary and secondary storage systems.

Benefits of technology

Improves copy performance and reduces cache memory usage, thereby enhancing the recovery point objective (RPO) by optimizing resource utilization and minimizing data replication processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026037758000001_ABST
    Figure 2026037758000001_ABST
Patent Text Reader

Abstract

To improve copy performance in remote copying of data from one storage system to another storage system. [Solution] In a secondary storage system 200B, a processor of the secondary storage system 200B is configured to receive a journal containing journal data and metadata, which is data to be written to a primary volume, from a primary storage system 200A, to associate the logical address of a secondary journal volume 26JB that manages the journal data contained in the journal with a predetermined area of ​​pool 26PB in the secondary storage system 200B, and to associate the address of the predetermined area to which the journal data of pool 26PB is associated with the logical address of the secondary volume 26B where the data to be written indicated by the metadata contained in the journal is stored.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to remote copying of data from one storage system to another storage system. [Background technology]

[0002] Technologies related to remote copying of data from a primary storage system to a secondary storage system are known for purposes such as disaster recovery (DR). Journal-based remote copy technologies are also known for reducing data loss in the event of a disaster, i.e., shortening the recovery point objective (RPO).

[0003] For example, Patent Document 1 discloses a remote copy technology in which write target data from a host to a primary volume (PVOL) of a primary storage system, as well as information regarding the write order and write location, are stored in a journal volume (JVOL), and in response to a request from the secondary storage system, the primary storage system sends the journal data (write target data) stored in the JVOL and information regarding the write order and write location to the secondary storage system, and when the secondary storage system receives the journal data and information regarding the write order and write location, it stores it in the JVOL, and writes (restores) the journal data to a secondary volume (SVOL) according to the information regarding the write order and write location. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] U.S. Patent No. 7,152,079 Summary of the Invention [Problem to be solved by the invention]

[0005] A remote copy configuration is possible in which data is copied from an on-premises primary storage system to a secondary storage system configured in a public cloud, such as SDS (Software Defined Storage). Cost optimization is generally one of the purposes of using a storage system configured in a public cloud. The resources (memory capacity, backend bandwidth, etc.) of the compute instances in the public cloud that run storage software such as SDS are often poorer than those of a primary storage system configured with dedicated on-premises hardware. In such a configuration where resources are unbalanced between the primary and secondary remote copies, the remote copy technology disclosed in Patent Document 1 may encounter problems related to copy performance and capacity.

[0006] In other words, because the write target data received on the primary storage system is written to both the PVOL and JVOL, the same data consumes twice the cache memory. Similarly, when journal data received on the secondary storage system is restored from the JVOL to the SVOL, a copy process is required in the cache memory, consuming twice the cache memory capacity for the same data on the JVOL and SVOL. In particular, when memory capacity is small, such as with SDS in a public cloud, the proportion of dirty data (data in cache memory that has not been written to the drive) in the cache memory increases, making it more likely that journal data will be destaged to the drive. Furthermore, if the data is destaged and becomes clean data (data in cache memory that has been written to the drive) and then evicted from the cache memory, the journal data must be staged again from the drive when it is restored to the SVOL.

[0007] As a result, the copy performance from the primary storage system to the secondary storage system cannot be increased beyond the write load from the host to the primary storage system, and journal data accumulates in the JVOL of the primary storage system or the secondary storage system. This results in a deterioration of RPO. Furthermore, if journal data accumulates beyond the capacity of the JVOL, the remote copy state may stop or the inflow (writing) of write data from the host may be restricted, resulting in a deterioration of host IO performance. Furthermore, if the primary storage system or secondary storage system is a public cloud SDS with a small cache memory capacity, journal data is more likely to be destaged, requiring a constant temporary storage area for storing journal data. Furthermore, if the secondary storage system contains volumes for other business operations for which remote copy is not configured, the presence of remote copy volumes that consume a large amount of cache memory can easily affect business performance.

[0008] Furthermore, there is a demand for improving the RPO even in a configuration where resources are not imbalanced between the primary storage system and the secondary storage system.

[0009] The present invention has been made in view of the above circumstances, and its purpose is to provide a technique that can improve copy performance when remotely copying data from one storage system to another storage system. [Means for solving the problem]

[0010] In order to achieve the above object, a storage system according to one aspect is a storage system having a secondary volume to which a primary volume in another storage system having a primary volume is copied, wherein a processor of the storage system receives from the other storage system a journal including journal data which is data to be written to the primary volume and metadata about the journal data, associates the logical address of a secondary journal volume which manages the journal data included in the journal with a specified area of ​​a capacity pool in the storage system, and associates the address of the specified area in the capacity pool to which the journal data is associated with the logical address of the secondary volume where the data to be written indicated by the metadata included in the journal is stored. [Effects of the Invention]

[0011] According to the present invention, copy performance can be improved in remote copying of data from one storage system to another storage system. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a remote copy system according to one embodiment. [Figure 2] FIG. 2 is a configuration diagram of a storage system and a maintenance terminal according to an embodiment. [Figure 3] FIG. 3 is a diagram showing an overview of remote copying according to one embodiment. [Figure 4] FIG. 4 is a configuration diagram of a memory in a storage system according to an embodiment. [Figure 5] FIG. 5 is a diagram showing the configuration of a SEQ# table according to one embodiment. [Figure 6] FIG. 6 is a diagram illustrating the configuration of a JNCB according to an embodiment. [Figure 7] FIG. 7 is a configuration diagram of a volume mapping table according to one embodiment. [Figure 8]FIG. 8 is a configuration diagram of a pool mapping table according to an embodiment. [Figure 9] FIG. 9 is a flowchart of a write process according to one embodiment. [Figure 10] FIG. 10 is a flowchart of a JNL transfer process according to one embodiment. [Figure 11] FIG. 11 is a flowchart of a restore process according to one embodiment. [Figure 12] FIG. 12 is a flowchart of a read process according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0013] The following description of the embodiments will be given with reference to the drawings. Note that the embodiments described below do not limit the scope of the invention as claimed, and not all of the elements and combinations thereof described in the embodiments are necessarily essential to the solution of the invention.

[0014] In the following description, an "interface apparatus" may refer to one or more interface devices. The one or more interface devices may be at least one of the following: One or more I / O (Input / Output) interface devices. The I / O interface device is an interface device for at least one of the I / O device and a remote display computer. The I / O interface device for the display computer may be a communications interface device. The at least one I / O device may be a user interface device, for example, either an input device such as a keyboard and a pointing device, or an output device such as a display device. One or more communication interface devices. The one or more communication interface devices may be one or more homogeneous communication interface devices (e.g., one or more NICs (Network Interface Cards)), or two or more heterogeneous communication interface devices (e.g., an NIC and an HBA (Host Bus Adapter)).

[0015] In the following description, "memory" refers to one or more memory devices, which are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.

[0016] In the following description, a "persistent storage device" may refer to one or more persistent storage devices, which are an example of one or more storage devices. A persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), and specifically may be, for example, a hard disk drive (HDD), a solid state drive (SSD), a non-volatile memory express (NVME) drive, or a storage class memory (SCM).

[0017] In the following description, the term "storage device" may refer to at least one of memory and persistent storage device.

[0018] Furthermore, in the following description, a "processor" may refer to one or more processor devices. The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit), but may also be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be single-core or multi-core. The at least one processor device may also be a processor core. The at least one processor device may also be a processor device in a broader sense, such as a circuit that is a collection of gate arrays written in a hardware description language that performs some or all of the processing (e.g., an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).

[0019] In the following description, information that provides an output for an input may be described using expressions such as "AAA table," but this information may be data of any structure (for example, structured data or unstructured data), or may be a neural network that generates an output for an input, or a learning model such as a genetic algorithm or random forest. Therefore, "AAA table" may be referred to as "AAA information." In the following description, the structure of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0020] In the following description, processing may be described with a "program" as the operating entity; however, since a program is executed by a processor to perform predetermined processing using a storage device and / or an interface device as appropriate, the operating entity of the processing may also be the processor (or a device or system having the processor). A program may be installed into a device such as a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable recording medium (e.g., a non-transitory recording medium). In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0021] Furthermore, a "volume" (VOL) is a logical storage area. A volume may be a physical volume (RVOL) or a virtual volume (VVOL). An "RVOL" may be a VOL based on a storage device, and a "VVOL" may be a volume that complies with capacity virtualization technology (typically Thin Provisioning).

[0022] Furthermore, a "storage system" may be a system equipped with multiple storage devices and a controller that performs data I / O for the multiple storage devices, or a system that includes one or more physical computers. In the latter system, for example, the one or more physical computers may be constructed as SDx (Software-Defined anything) by each executing predetermined software. As SDx, for example, SDS (Software-Defined Storage) or SDDC (Software-Defined Datacenter) can be adopted.

[0023] In addition, in the following description, when describing elements of the same type without distinguishing between them, common reference symbols will be used, and when describing elements of the same type with distinction between them, reference symbols will be used.

[0024] FIG. 1 is a diagram showing the overall configuration of a remote copy system according to one embodiment.

[0025] The remote copy system 10 comprises a primary host 100A, a primary storage system 200A, a secondary host 100B, a secondary storage system 200B, and a maintenance terminal 270.

[0026] The primary host 100A is connected to the primary storage system 200A via a network 220A (for example, a front-end network). The secondary host 100B is connected to the secondary storage system 200B via a network 220B (for example, a front-end network). The primary storage system 200A and the secondary storage system 200B are connected via a network 220C (for example, a back-end network). Two or more of the networks 220A to 220C may be common networks, or at least one of the networks 220A to 220C may be a dedicated line.

[0027] The site (primary site) including the primary host 100A and primary storage system 200A and the site (secondary site) including the secondary host 100B and secondary storage system 200B may be geographically separated.

[0028] The primary host 100A is a computer having an interface device 51A, memory 52A, and CPU 53A. The secondary host 100B is a computer having an interface device 51B, memory 52B, and CPU 53B. At least one of the primary host 100A or secondary host 100B may be a virtual device (for example, a VM (Virtual Machine) or container). The primary host 100A may be a virtual device provided in the primary storage system 200A, and similarly, the secondary host 100B may be a virtual device provided in the secondary storage system 200B. In other words, at least one of the storage systems 200A and 200B may be a so-called hyper-converged storage system.

[0029] Also, the secondary host 100B may not be necessary. Furthermore, for example, if the distance between the storage systems 200A and 200B is short, the primary host 100A may be connected to the secondary storage system 200B in addition to the primary storage system 200A. The secondary host 100B may be connected to the primary storage system 200A in addition to the secondary storage system 200B. One or both of the storage systems 200 (200A, 200B) may be collocated systems, or may be systems on a cloud that provides cloud computing services (storage services). For example, the primary storage system 200A may be an on-premise storage system, and the secondary storage system 200B may be a public cloud storage system with fewer resources than the on-premise system. Conversely, the primary storage system 200A may be a public cloud storage system, and the secondary storage system 200B may be an on-premise storage system with more resources than the public cloud.

[0030] The primary host 100A executes software that executes business processing (for example, a DBMS (DataBase Management System)) and sends a data write request to the primary storage system 200A. The primary storage system 200A stores the data in accordance with the write request. Remote copying is performed between the storage systems 200A and 200B. In other words, the secondary storage system 200B receives data from the primary storage system 200A and stores the received data.

[0031] Disaster recovery is performed when a failure occurs in the primary host 100A or the primary storage system 200A. When disaster recovery is performed, the secondary host 100B can continue the business processing of the primary host 100A by utilizing the data in the secondary storage system 200B.

[0032] A maintenance terminal 270 is connected to network 220C. The maintenance terminal 270 communicates with at least one of storage systems 200A and 200B for the purpose of maintaining or managing storage system 200. The maintenance terminal 270 may be connected to network 220A and may maintain primary storage system 200A. Another maintenance terminal 270 may be connected to network 220B and may maintain storage system 200B.

[0033] FIG. 2 is a configuration diagram of a storage system and a maintenance terminal according to an embodiment.

[0034] The storage system 200 (200A, 200B) includes a group of drives (plurality of drives 218) and redundant controllers 210 (two in FIG. 2) that perform data I / O for the group of drives. The drives 218 are an example of persistent storage devices. The group of drives may configure one or more RAID (Redundant Array of Independent (or Inexpensive) Disks) groups. Volumes 26 are provided based on the group of drives.

[0035] The controller 210 comprises a FE-IF (front-end interface) 211, a BE-IF (back-end interface) 214, an M-IF (management interface) 215, an accelerator 217, a memory 213, and a processor 212 connected thereto.

[0036] The FE-IF211 is an interface device that communicates with the host 100. The FE-IF211 may have multiple ports (for example, Fibre Channel ports, iSCSI ports). The remote copy path (the path through which the data to be transferred passes) may be a path that includes the FE-IF211 port of the primary storage system 200A and the FE-IF211 port of the secondary storage system 200B. The controller 210 may also be provided with an interface device for remote copy separate from the FE-IF211.

[0037] The BE-IF 214 is an interface device that communicates with each drive 218. The M-IF 215 is an interface device that communicates with the maintenance terminal 270. The port of the M-IF 215 may be included in the remote copy path instead of the port of the FE-IF 211.

[0038] The memory 213 stores programs and data. The memory 213 may have, for example, a cache memory area for temporarily storing data.

[0039] The processor 212 executes various processes by executing programs stored in the memory 213 .

[0040] The accelerator 217 is a hardware circuit (for example, an FPGA or an ASIC) that executes part of the processing (for example, data compression or decompression) of the processor 212. The accelerator 217 may be part of a processor in a broad sense, including the processor 212. Note that the accelerator 217 does not necessarily have to be provided.

[0041] The maintenance terminal 270 is a computer having an IF 275, an I / O unit 274, a memory 272, and a CPU 271 connected to these. The IF 275 is an interface device having a port connected to the network 220. The I / O unit 274 is a user interface device such as a keyboard, a pointing device, and a display device. The memory 272 stores programs (e.g., a maintenance program 273) and data. The CPU 271 executes the maintenance program 273 to perform processing related to the maintenance of the storage system 200. For example, by executing the maintenance program 273, the CPU 271 may receive information from a user via the I / O unit 274 (e.g., a request to create a remote copy pair between storage systems 200A and 200B), set the received information in the storage system 200 via the IF 275, and request processing.

[0042] Fig. 3 is a diagram showing an overview of remote copying according to one embodiment. Fig. 3 shows an overview of remote copying from the primary storage system 200A to the secondary storage system 200B.

[0043] The remote copy according to this embodiment is an asynchronous remote copy that is performed asynchronously with the processing according to the write request that specifies PVOL (Primary Volume) 26A, that is, the write request is completed even if the write-targeted data accompanying the write request has not been copied to SVOL 26B (Secondary Volume). Asynchronous remote copy uses a JNL (journal), which will be described later.

[0044] The primary storage system 200A has one or more volumes 26 (26A, 26JA, 26RA) and a Pool (capacity pool) 26PA. The primary storage system 200A, for example, has a primary storage PVOL26A, a JVOL (Journal Volume) 26JA (primary journal volume) that stores JNL related to data stored in PVOL26A, and a RootVOL26RA (primary intermediate volume) that stores data of PVOL26A and JVOL26JA.

[0045] The secondary storage system 200B has one or more volumes 26 (26B, 26JB, 26RB) and a Pool (capacity pool) 26PB. The secondary storage system 200B has, for example, a JVOL26JB (secondary journal volume) that is the transfer destination of the JNL stored in JVOL26JA, an SVOL26B in which JNL data (journal data) in the JNL stored in JVOL26JB is stored, and a RootVOL26RB (secondary intermediate volume) that stores the data of JVOL26JB and SVOL26B.

[0046] These volumes 26 of the primary storage system 200A and secondary storage system 200B are virtual volumes (VVOLs). The data entities of the primary storage system 200A are stored in Pool 26PA, and the data entities of the secondary storage system 200B are stored in Pool 26PB. The storage areas of Pool 26 (26PA, 26PB) are configured as actual volumes (RVOLs).

[0047] RootVOL26RA is a volume designed to allow PVOL26A and JVOL26JA to share the same data, eliminating the need to replicate the same data between these volumes. This eliminates the need for cache memory consumed for replicating data and eliminates the need for processing for replicating data, improving processing efficiency. RootVOL26RB is a volume designed to allow SVOL26B and JVOL26JB to share the same data, eliminating the need to replicate the same data between these volumes. This eliminates the need for cache memory consumed for replicating data and eliminates the need for processing for replicating data, improving processing efficiency.

[0048] PVOL 26A and SVOL 26B configure a VOL pair (copy pair). Remote copying of data stored in PVOL 26A to SVOL 26B is achieved via JVOL 26JA and JVOL 26JB. The storage area of ​​either volume 26 may be based on a group of drives, but at least a portion of JVOL 26J may be based on memory 213 in the controller 210 (for example, a cache memory area of ​​memory 213). At least one of storage systems 200A and 200B may be provided with one JVOL 26J (26JA, 26JB) for multiple VOL pairs. Multiple JVOLs 26J may be provided for one VOL pair. The number of JVOLs 26J for one VOL pair may differ between storage systems 200A and 200B.

[0049] As mentioned above, remote copying of data from PVOL26A to SVOL26B is performed via JVOL26J, but in this embodiment, the remote copy target data written to PVOL26A in the primary storage system 200A is stored in RootVOL26RA, and the remote copy target data in RootVOL26RA is read from JVOL26JA and sent to the secondary storage system 200B. Also, in the secondary storage system 200B, the remote copy target data written to JVOL26JB is stored in RootVOL26RB, and the remote copy target data in RootVOL26RB can be referenced from SVOL28B. Therefore, data replication does not need to be performed between PVOL26A and JVOL26JA and between SVOL26B and JVOL26JB.

[0050] PVOL 26A or SVOL 26B stores write target data 2520. In this embodiment, since PVOL 26A and SVOL 26B are virtual volumes, the substance of the write target data 2520 is stored in the RVOL in Pool 26P (26PA, 26PB) via RootVOL 26R (26RA, 26RB).

[0051] JVOL26J (26JA, 26JB) is a volume that stores JNL. JNL includes JNL data 2524 and a JNCB (Journal Control Block) 2523. The JNL data 2524 is the same as the write-target data written to PVOL26A, and is also the same as the data copied to SVOL26B. In this embodiment, JVOL26J (26JA, 26JB) is a virtual volume, and therefore the entity of the JNL data 2524 is stored in the RVOL in Pool26P (26PA, 26PB) via RootVOL26R (26RA, 26RB). Therefore, the same data is managed in the same area of ​​RootVOL26R without being replicated between PVOL26A and JVOL26JA, or between SVOL26B and JVOL26JB.

[0052] The JNCB 2523 is an example of metadata for the JNL data 2524. Specifically, the JNCB 2523 includes information such as the logical storage address (e.g., LBA (Logical Block Address)) of the JNL data 2524 within the JVOL, the logical storage address (address in PVOL 26A) of the write target data that is the source of the JNL data 2524, the ID of PVOL 26A in which the original write target data is stored (and / or the ID of SVOL 26B that forms a VOL pair with this PVOL 26A), and a sequence number (SEQ#: the order of the write request accompanied by the original write target data). A timestamp may be used to indicate the order of the write request. Using the information in the JNCB 2523, it is possible to identify the storage destination of the corresponding JNL data 2524 from the JNCB 2523, as indicated by the arrow in FIG. 3.

[0053] JVOL 26J (26JA, 26JB) has a JNCB area 2521 in which a plurality of JNCBs 2523 are stored, and a JNL data area 2522 in which a plurality of JNL data 2524 are stored. The storage area of ​​the JNCB area 2521 is configured as a physical volume (RVOL). JNCBs 2523 are stored in the JNCB area 2521 in the order of SEQ#.

[0054] The RootVOL 26R (26RA, 26RB) includes a mapping table storage area 2525 that stores a mapping table, and a data area 2526 that stores write target data. The mapping table storage area 2525 stores a PVOL / SVOL mapping table 2527 that indicates the correspondence between the storage addresses of data in the data volume (PVOL or SVOL) and the data storage addresses of the RootVOL 26R, and a JVOL mapping table 2528 that indicates the correspondence between the storage addresses of JNL data in the JVOL and the storage addresses of the RootVOL 26R. According to the PVOL / SVOL mapping table 2527, as shown by the arrow in FIG. 3, it is possible to identify the storage destination of data 2529 in the data area 2526 of the RootVOL from an entry that corresponds to the storage address of write target data 2520 in the PVOL or SVOL. Furthermore, according to the JVOL mapping table 2528, it is possible to identify the storage destination of data 2529 in the data area 2526 of the RootVOL from an entry that corresponds to the storage address of the JNL data area 2522 of the JVOL, as shown by the arrow in FIG. 3. In this embodiment, the PVOL or SVOL and the JVOL can be set to refer to the same data 2529 in the RootVOL data area 2526. In the above example, the PVOL / SVOL mapping table 2527 and the JVOL mapping table 2528 are stored in the RootVOL 26R, but each table may be stored in the PVOL, SVOL, or JVOL, or may be stored in the management area 221 of the memory 213.

[0055] Furthermore, while PVOL26A or SVOL26B is a volume accessed by host 100, JVOL26 is not a volume directly accessed by host 100. Therefore, if the JNCB area 2521 and JNL data area 2522 in JVOL26 are secured within RootVOL26R, JVOL26 may not be necessary. Alternatively, in a similar configuration without JVOL26, JNSB2523 and JVOL mapping table 2528 may be integrated (JNCB2523 is placed in mapping table storage area 2525 instead of JVOL mapping table 2528), and JNCB2523 may directly reference data 2529 in data area 2526. Eliminating JVOL26 in this way reduces the number of components required for remote copy, contributing to a reduction in the user's operational management tasks, such as JVOL capacity management.

[0056] Remote copying is executed, for example, as follows: In response to a write request from the primary host 100A, the primary storage system 200A stores the write-targeted data associated with this write request in PVOL 26A, and stores the write-targeted data in the storage area of ​​RootVOL 26RA (the cache area of ​​RootVOL 26RA or the storage area of ​​Pool 26PA). When storing the write-targeted data in RootVOL 26RA, the primary storage system 200A updates the PVOL mapping table 2527 so that the storage address of RootVOL 26RA can be referenced from PVOL 26A.

[0057] Next, the primary storage system 200A stores the storage address of the RootVOL26RA of the write data in the updated mapping table for PVOL 2527 in the mapping table for JVOL 2528, thereby virtually replicating the write data (corresponding to the JNL data) to JVOL26JA, and completes the JNL by storing a JNCB2523 corresponding to the JNL data in the JNCB area 2521, and reports the completion of the write to the primary host 100A.

[0058] The primary storage system 200A transfers the JNL to be transferred to the secondary storage system 200B asynchronously with the processing performed in response to the write request. Here, the primary storage system 200A may transfer the JNL in response to a JNL read request from the secondary storage system 200B, or may transfer the JNL voluntarily without a JNL read request.

[0059] The secondary storage system 200B receives the JNL and stores the received JNL in JVOL26JB by storing the JNL data in the storage area of ​​RootVOL26RB (the cache area of ​​RootVOL26RB or the storage area of ​​Pool26PB) and storing the JNCB in the storage area of ​​RootVOL26RB (the cache area of ​​RootVOL26RB or the storage area of ​​Pool26PB).When storing the JNL data in RootVOL26RB, the secondary storage system 200B updates the JVOL mapping table 2528 so that the storage address of RootVOL26RB can be referenced from JVOL26JB.

[0060] Next, the secondary storage system 200B stores the storage address of the RootVOL 26RA of the JNL data in the updated JVOL mapping table 2528 in the SVOL mapping table 2527 based on the JNCB in the JNL, thereby virtually replicating the JNL data to the SVOL. This results in remote copying from PVOL 26A in the primary storage system 200A to SVOL 26B in the secondary storage system 200B.

[0061] FIG. 4 is a configuration diagram of a memory in a storage system according to an embodiment.

[0062] The memory 213 includes a management area 221 , a program area 222 , and a cache memory area 223 .

[0063] The management area 221 is an area for storing management information. In this embodiment, the management area 221 stores a SEQ# table 2210, a pool mapping table 2211, and a pair table 2212 as management information. The SEQ# table 2210 and the pool mapping table 2211 will be described later. The pair table 2212 includes, for each VOL pair, the ID of the PVOL, the ID of the SVOL, and the ID of the storage system 200 that is the copy partner. The pair table 2212 may also include a pair status that indicates the status of the copy process, such as suspended, normal, or abnormal.

[0064] The program area 222 stores programs. In this embodiment, the program area 222 stores the following programs: an I / O program 2221, a JNL creation program 2222, a primary JNL read program 22A, a secondary JNL read program 22B, a restore program 2223, an initial copy program 2224, a pair split program 2225, a pair resynchronization program 2226, and a pair deletion program 2227.

[0065] The I / O program 2221 is executed by the processor 212 to perform data I / O processing on the PVOL (or SVOL) in response to an I / O request (write request, read request) from the host 100 (100A, 100B). The JNL creation program 2222 is executed by the processor 212 to perform processing to create JNL data. The primary JNL read program 22A is executed by the processor 212 to perform processing to transfer JNL. The secondary JNL read program 22B is executed by the processor 212 to perform processing to receive transferred JNL. The restore program 2223 is executed by the processor 212 to perform processing to restore data to the SVOL. The initial copy program 2224 is executed by the processor 212 to perform processing for initial copying when creating a pair between the PVOL and SVOL. The pair split program 2225 is executed by the processor 212 to perform processing to stop remote copying. The pair resynchronization program 2226 is executed by the processor 212 to perform processing to resynchronize a split pair. The pair deletion program 2227 performs processing for deleting pairs by being executed by the processor 212. In this specification, the programs 2224 to 2227 perform the same processing as conventional programs, and therefore a description thereof will be omitted.

[0066] The cache memory area 223 is an area for temporarily storing data. The cache memory area 223 may have an area for temporarily storing data for each volume.

[0067] The storage system 200 having this memory 213 can function as either or both of the primary storage system 200A and the secondary storage system 200B. For example, if this storage system 200 has PVOL 26A but not SVOL 26B, this storage system 200 functions as the primary storage system 200A. If this storage system 200 does not have PVOL 26A but has SVOL 26B, this storage system 200 functions as the secondary storage system 200B. If this storage system 200 has SVOL 26B in a first VOL pair and PVOL 26A in a second VOL pair, this storage system 200 functions as both the primary storage system 200A and the secondary storage system 200B. Note that when the storage system 200 functions as either the primary storage system 200A or the secondary storage system 200B, some programs that are not necessary for that function do not need to be stored in the memory 213.

[0068] FIG. 5 is a diagram showing the configuration of a SEQ# table according to one embodiment.

[0069] The SEQ# table 2210 for the copy source includes information indicating the SEQ# of the latest JNL, that is, the JNL created most recently. This information makes it possible to identify the SEQ# to be included in the next JNL to be created. For example, the SEQ# to be included in the next JNL to be created will be the next number after the SEQ# indicated by the current SEQ# table 2210, for example, a number incremented by 1. The SEQ# table 2210 for the copy source may also include information indicating the SEQ# of the oldest JNL among the JNLs that have not yet been transferred to the copy destination, that is, the JNL that contains the JNL data of the write-targeted data with the oldest write reception time. This information makes it possible to identify the next JNL to be transferred.

[0070] On the other hand, the SEQ# table 2210 for the copy destination contains information indicating the SEQ# of the oldest JNL among the JNLs that have not yet been reflected in SVOL 26B. This information makes it possible to identify the SEQ# contained in the next JNL to be reflected. The SEQ# table 2210 for the copy destination may also contain information indicating the SEQ# of the oldest JNL among the JNLs that have not yet been received from the copy source. This information makes it possible to identify the next JNL that should be requested from the primary storage system 200A.

[0071] FIG. 6 is a diagram illustrating the configuration of a JNCB according to an embodiment.

[0072] The JNCB 2523 includes information on a SEQ# 2240, a PVOL address 2241, a JNL data size 2242, and a JVOL storage start address 2243. The SEQ# 2240 indicates the SEQ# assigned to the JNL that includes the JNCB 2523. The PVOL address 2241 indicates the address of the area of ​​the PVOL 26A where the JNL data (data to be written) 2524 corresponding to the JNCB 2523 is stored (for example, the ID of the PVOL 26A and the LBA indicating the area of ​​the PVOL 26A). The JNL data size 2242 indicates the size of the JNL data 2524 corresponding to the JNCB 2523. The JVOL storage start address 2243 indicates the start address of the area in the JVOL 26J where the JNL data 2524 corresponding to the JNCB 2523 is stored.

[0073] Also, as mentioned above, if there is no JVOL26 and the JNSB2523 and the JVOL mapping table 2528 are integrated, the address to be stored in the JVOL storage start address 2243 is not the start address of the area in JVOL26J, but the corresponding address of data 2529 in the data area 2526 of RootVOL26.

[0074] FIG. 7 is a configuration diagram of a volume mapping table according to one embodiment.

[0075] There are two volume mapping tables: a PVOL / SVOL mapping table 2527 and a JVOL mapping table 2528 (journal volume mapping table), but since these mapping tables have the same basic configuration, they will be explained using the same diagram for convenience.

[0076] The volume mapping tables (2527, 2528) are tables that manage the correspondence between the logical addresses of the volumes (PVOL26A, SVOL26B, JVOL26JA, JVOL26JB) in which data is stored and the corresponding addresses, which are addresses in other areas corresponding to those addresses. The entries of the volume mapping tables (2527, 2528) include fields for logical address 252A and corresponding address 252B.

[0077] The logical address of the target volume (PVOL26A, SVOL26B, JVOL26JA, JVOL26JB) is stored in the logical address 252A. The entries are stored in ascending page order from the first address in the volume.

[0078] The corresponding address 252B stores the address at which the data stored in the logical address of the volume corresponding to the entry is stored. In this embodiment, data is stored in page units, so the address stored in the corresponding address 252B is, for example, a page number. If a valid value such as "0" or "2" is stored in the corresponding address 252B, this means that data is stored in the storage system that holds this volume mapping table. On the other hand, if an invalid value such as "FFFFFFFF" is stored in the corresponding address 252B, this means that valid data is not stored. In this embodiment, the logical address of the RootVOL 26R (the address set in the logical address 2211A of FIG. 8: intermediate logical address) is stored in the corresponding address 252B.

[0079] FIG. 8 is a configuration diagram of a pool mapping table according to an embodiment.

[0080] The pool mapping table 2211 is a table that manages the correspondence between the logical address of the volume (RootVOL26R) in which data is stored and the physical address, which is the address of the physical area corresponding to that address. An entry of the pool mapping table 2211 includes fields for a logical address 2211A and a physical address 2211B.

[0081] The logical address 2211A stores the logical address (intermediate logical address) of the RootVOL 26R. The logical address of the logical address 2211A corresponds to the address of the corresponding address 252B in the volume mapping table. The physical address 2211B stores the address of the pool 26P (physical address of the RVOL) allocated to the logical address corresponding to the entry.

[0082] Next, the processing operation in the remote copy system 10 will be described.

[0083] First, the write processing by the primary storage system 200A will be explained.

[0084] FIG. 9 is a flowchart of a write process according to one embodiment.

[0085] In the primary storage system 200A, when the I / O program 2221 (strictly speaking, the processor 212 that executes the I / O program 2221) receives a write request for PVOL 26A from primary host 100A (S101), it stores the write-targeted data accompanying the received write request in a storage area of ​​RootVOL 26RA (for example, cache memory area 223), and updates the PVOL mapping table 2527 (S102). Specifically, the I / O program 2221 stores the logical address of the storage area of ​​RootVOL 26RA in which the write-targeted data has been stored in corresponding address 252B in the entry corresponding to the logical address of PVOL 26A targeted by the write request in the PVOL mapping table 2527. Although the amount of data stored in the cache memory area 223 of PVOL26A is reduced by directly storing the write-targeted data in the storage area of ​​RootVOL26RA, the write-targeted data may be temporarily stored in the cache memory area 223 of PVOL26A and then stored in the storage area of ​​RootVOL26RA. Also, the received write-targeted data may be compressed and the compressed write-targeted data may be stored in the storage area (cache memory area 223) of RootVOL26RA. In this case, in the following processing, the write-targeted data may be replaced with the compressed write-targeted data.

[0086] Next, the I / O program 2221 calls the JNL creation program 2222 (S103) and waits for the JNL creation program 2222 to complete (S104).

[0087] Meanwhile, the called JNL creation program 2222 (strictly speaking, the processor 212 that executes the JNL creation program 2222) secures the SEQ# for the JNL, that is, the SEQ# after incrementing the current latest SEQ# (S201).

[0088] Next, the JNL creation program 2222 determines the storage address of the JNL data corresponding to the data to be written (for example, the storage start address in JVOL26JA) (S202), and copies the storage address stored in the corresponding address 252B of the PVOL mapping table 2527 in step S102, i.e., the logical address of the storage area in RootVOL26RA where the data to be written is stored, to the corresponding address 252B of the entry corresponding to the determined storage start address in the JVOL mapping table 2528 (S203). This makes it possible to reference the data to be written (JNL data) stored in RootVOL26RA by accessing JVOL26JA, without having to copy the data to be written to JVOL26JA. Furthermore, because the data to be written does not actually need to be copied to JVOL26JA, processing efficiency can be improved and the processing load can be reduced. Furthermore, because the cache memory capacity required for actual copying is not used, the required cache memory capacity can be reduced. Therefore, even if the primary storage system 200A is configured using a public cloud or the like and the amount of resources is limited, journal creation processing can be performed efficiently, and the resources of the primary storage system 200A can be used for processing other than remote copying.

[0089] Next, the JNL creation program 2222 determines a storage address where a JNCB corresponding to the JNL data will be stored (S204), creates a JNCB 2523 including the SEQ# allocated in step S201, and stores it in a memory area corresponding to the determined storage address (for example, cache memory area 223 corresponding to JVOL26JA or JNCB area 2521 in Pool26PA corresponding to JVOL26JA) (S205). Note that the JNCB 2523 may be stored in cache memory area 223 corresponding to JVOL26JA, and then stored from cache memory area 223 to Pool26PA.

[0090] Next, the JNL creation program 2222 notifies the I / O program 2221 of the completion of the processing (S206).

[0091] When the I / O program 2221 receives a completion notification from the JNL creation program 2222, it reports the completion of the write to the primary host 100A that is the sender of the write request, without waiting for the write target data to be stored in the Pool 26PA (S105).

[0092] Here, according to the above write processing, when a write request is received from primary host 100A for the same area of ​​PVOL 26A as an area to which data was previously written, the storage address where the most recent write target data is stored is stored in corresponding address 252B of PVOL mapping table 2527, and the storage address where the most recent write target data is stored is stored in JVOL mapping table 2528. Furthermore, if the write target data corresponding to the past write request has not been restored to SVOL 26B, the storage address of the area where the past write target data is stored is also stored in JVOL mapping table 2528. In this way, if the write target data corresponding to the past write request has not been restored to SVOL 26B, the storage addresses of the areas where all unrestored past write target data is stored are stored in JVOL mapping table 2528.

[0093] Next, a JNL transfer process for transferring a JNL from the primary storage system 200A to the secondary storage system 200B will be explained.

[0094] FIG. 10 is a flowchart of a JNL transfer process according to one embodiment.

[0095] The secondary JNL read program 22B of the secondary storage system 200B (more precisely, the processor 212 executing the secondary JNL read program 22B) sends an RDJNL (journal read request), which is a read request to read the JNL, to the primary storage system 200A (S601), and waits for a response from the primary storage system 200A (S602).

[0096] The primary JNL read program 22A (strictly speaking, the processor 212 executing the primary JNL read program 22A) of the primary storage system 200A responds to the RDJNL received from the secondary storage system 200B by reading the N untransferred JNCBs 2523 from the JVOLs 26JA (S501) and identifying the JVOL storage start addresses 2243 of each of the N JNCBs 2523 (S502).

[0097] Next, the primary JNL read program 22A reads the corresponding N pieces of JNL data from each of the identified N JVOL storage start addresses (S503) and transfers the N pieces of JNL (JNL data and corresponding JNCB 2523) to the secondary storage system 200B (S504). The read destination in step S503 is, for example, the cache memory area 223 of the RootVOL 26RA corresponding to the JVOL storage start address 2243. In step S504, the primary JNL read program 22A may compress the JNL before transferring it. In this case, the size of the compressed JNL data may be stored in the JNCB 2523. Compression may be performed for each piece of JNL data, or the N pieces of JNL data to be transferred may be compressed collectively. When compressing N pieces of JNL data collectively, the size of the compressed JNL data of the N pieces of JNL data may be stored in the JNCB 2523 corresponding to the oldest SEQ# to be transferred by RDJNL.

[0098] The secondary JNL read program 22B of the secondary storage system 200B receives N JNLs from the primary storage system 200A (S603). Furthermore, if the secondary JNL read program 22B receives compressed JNL data, it may also decompress the JNL data.

[0099] Next, the secondary JNL read program 22B references the JNL data size 2242 of the N JNCBs 2523, etc., and determines the storage address (e.g., JVOL storage start address) where each JNL data will be stored (S604), stores the JNL data in a storage area of ​​the RootVOL 26RB (e.g., cache memory area 223), and updates the JVOL mapping table 2528 (S605). Specifically, the secondary JNL read program 22B stores the logical address of the storage area of ​​the RootVOL 26RB in which the JNL data has been stored, in the corresponding address 252B of the entry in the JVOL mapping table 2528 that corresponds to the determined JVOL storage start address of the JVOL 26JB. Note that, although the JNL data is stored directly in the storage area of ​​the RootVOL 26RB, thereby reducing the amount of data stored in the cache memory area 223 of the JVOL 26JB, the JNL data may be stored once in the cache memory area 223 of the JVOL 26JB, and then stored in the storage area of ​​the RootVOL 26RB.

[0100] Next, the secondary JNL read program 22B updates (S606) the N JNCBs 2523. Specifically, the secondary JNL read program 22B sets the JVOL storage start address 2243 of the JNCB 2523 to the logical address of the area in the JVOL 26JB.

[0101] Next, the secondary JNL read program 22B determines the storage address in JVOL26JB of each JNCB2523 (S607), stores each JNCB2523 in an area corresponding to the determined storage address (for example, the cache memory area 223 corresponding to JVOL26JB or the JNCB area 2521 in Pool26PB corresponding to JVOL26JB) (S608), and terminates the processing.

[0102] Next, a restore process for reflecting the JNL data of JVOL26JB to SVOL26B will be described.

[0103] FIG. 11 is a flowchart of a restore process according to one embodiment.

[0104] In the secondary storage system 200B, the restore program 2223 (strictly speaking, the processor 212 that executes the restore program 2223) checks the JNCB stored in JVOL26JB (S300), identifies the range of consecutive SEQ#s from the oldest SEQ# among the JNLs that have not been reflected in SVOL26B (S301), and identifies the latest SEQ# in the identified range (S302).

[0105] Next, the restore program 2223 reflects the JNL data that has not been reflected in SVOL 26B to SVOL 26B, starting from the oldest SEQ# in the identified continuous range of SEQ#s and proceeding to the latest SEQ# (S303). Specifically, the restore program 2223 does not read the actual JNL data into the cache memory area 223, but copies the storage address of the corresponding address 252B in the entry corresponding to the JNL in the JVOL mapping table 2528, i.e., the entry corresponding to the JVOL storage start address 2243 of the JNCB 2523 of the SEQ# to be reflected in SVOL 26B, to the corresponding address 252B of the entry corresponding to the PVOL address 2241 of the JNCB 2523 in the SVOL mapping table 2527. This makes it possible to reference the JNL data stored in RootVOL 26RB (i.e., the data to be written) by accessing SVOL 26B, without actually copying the JVOL data to SVOL 26B. Furthermore, since there is no need to actually copy JVOL data to SVOL26B, processing efficiency can be improved and the processing load can be reduced, and since the cache memory area required for actual copying is not required, the required cache memory area capacity can be reduced. Therefore, even if the secondary storage system 200B is configured using a public cloud or the like and the amount of resources is limited, restore processing can be performed efficiently, and the resources of the secondary storage system 200B can be used for processing other than remote copy.

[0106] The restore process may be executed in parallel by multiple jobs. In this case, for processes that restore to the same address in SVOL26B, the same job should process them in order from oldest to newest SEQ#. By doing so, it is possible to avoid so-called atavism, where JNL data with a newer SEQ# is overwritten by JNL data with an older SEQ#, even if the processes are not performed in order of SEQ# between multiple jobs.

[0107] Next, a read process for reading data from PVOL 26A of storage system 200A will be described.

[0108] FIG. 12 is a flowchart of a read process according to one embodiment.

[0109] The I / O program 2221 of the primary storage system 200A (strictly speaking, the processor 212 that executes the I / O program 2221) receives a read request from the primary host 100A requesting the reading of data from PVOL 26A of the primary storage system 200A (S1201). The read request includes the storage range (read target area) of the read target data in PVOL 26A.

[0110] Next, the I / O program 2221 performs a cache hit / miss determination to determine whether or not the read-target data is stored in the cache memory area 223 corresponding to PVOL 26A (S1202). Note that in step S1202, it may be determined whether or not the data is stored not only in the cache memory area 223 corresponding to PVOL 26A, but also in the cache memory area 223 corresponding to RootVOL 26RA. In this way, it is possible to improve the cache hit rate for the read-target data.

[0111] If the result of the cache hit / miss determination is that the read target data is stored in the cache memory area 223, that is, if there is a cache hit (S1202: Hit), the I / O program 2221 transfers the cache hit data to the primary host 100A (S1205) and terminates the read process.

[0112] On the other hand, if the data to be read is not stored in the cache memory area 223, that is, if a cache miss occurs (S1202: Miss), the I / O program 2221 refers to the mapping table 2527 for PVOL, identifies the entry corresponding to the logical address of the area to be read in PVOL26A, identifies the corresponding address in RootVOL26RA from the identified entry, identifies the entry corresponding to the identified corresponding address in the pool mapping table 2211, and identifies the physical address (e.g., page) corresponding to the corresponding address in RootVOL26RA from the identified entry (S1203).

[0113] Next, the I / O program 2221 stages the read-target data from the identified physical address (S1204). The staging destination may be a cache memory area corresponding to the PVOL 26A, or a cache memory area corresponding to the RootVOL 26RA.

[0114] After the processing of step S1204, the I / O program 2221 transfers the staged read-target data to the primary host 100A (S1205), and ends the read processing.

[0115] In this embodiment, the "remote copy process" is the process from when the data written to PVOL26A is reflected as JNL data in SVOL26B via JVOL26JA and JVOL26JB. The remote copy process includes a JNL transfer process and a restore process. The "JNL transfer process" is the process from when the process for transferring the JNL starts until the storage of the transferred JNL in the secondary storage system 200B is completed, and in this embodiment, it is the process from when the secondary storage system 200B starts sending the RDJNL until the JNL included in the response to the RDJNL (the response from the primary storage system 200A) is stored in the secondary storage system 200B. The "restore process" is the process that makes the JNL data in the secondary storage system 200B referable from SVOL26B.

[0116] The present invention is not limited to the above-described embodiment, and can be modified appropriately without departing from the spirit of the present invention.

[0117] For example, in the JNL transfer process of the above embodiment, the JNL is transferred from the primary storage system 200A in response to an RDJNL from the secondary storage system 200B, and the secondary storage system 200B stores the JNL, but it is also possible for the primary storage system 200A to send a WRJNL (a JNL write request) to the secondary storage system 200B, and the secondary storage system 200B to store data associated with the WRJNL (at least a portion of the multiple JNCBs and multiple JNL data) in response to this WRJNL.

[0118] Furthermore, in the above embodiment, the JNCB 2523 is stored in the JNCB area 2521 of the JVOL 26, but this is not limitative. For example, the information in the JNCB 2523 may be stored and transferred as a parameter of a WRJNL or RDJNL command.

[0119] Furthermore, in the above embodiment, as shown in the mapping tables of FIGS. 7 and 8, data is managed in units of pages. For example, if the data to be written is not page-aligned, i.e., if the size is smaller than a page, or if the size of the data to be written is equal to or greater than the page size but is not a multiple of the page size and includes a portion that is less than the page size, then in order to manage the data in units of pages, it is necessary to read data from within the page area outside the range to be written and merge it with the data to be written to adjust it to the page size. This process requires reading previously stored data during the write process, which significantly impacts write performance. To avoid this, for example, if the data to be written is not page-aligned, the JNL creation program 2222 may execute the process of step S102 in FIG. 9 only for areas that can be processed in units of pages. For portions that are less than the page size, the process of step S102 may be skipped. Furthermore, instead of the process of step S203, the JNL data may be created by duplicating the data to be written as JNL data in the cache memory area 223, as in the prior art.

[0120] In addition, in the secondary storage system 200B, there are cases where the received JNL data is smaller than a page in size, but the restore program 2223 may perform restore processing by copying the JNL data to the SVOL in the cache memory area 223, as in conventional technology.

[0121] Furthermore, when creating a pair between PVOL26A and SVOL26B, the initial copy for matching the data between PVOL26A and SVOL26B may utilize the JNL transfer process of FIG. 10. For example, the initial copy program 2224 of the primary storage system 200A and secondary storage system 200B performs initial copying from PVOL26A to SVOL26B. If the JNL transfer process of FIG. 10 is utilized in this case, it is necessary to make all of the data stored in PVOL26A, the target of the initial copy, accessible from JVOL26JA. To achieve this, the primary JNL read program 22A may make the data stored in PVOL26A accessible from JVOL26JA in ascending logical address order after receiving the RDJNL, i.e., before step S501. In other words, the same processes as steps S202 to S205 of the JNL creation process may be performed for the data stored in PVOL26A. [Explanation of symbols]

[0122] 10... remote copy system, 100A... primary host, 100B... secondary host, 200A... primary storage system, 200B... secondary storage system, 210... controller, 212... processor, 213... memory, 218... drive, 220A, 220B, 220C... network, 270... maintenance terminal

Claims

1. A storage system having a secondary volume that is a copy destination of a primary volume in another storage system having the primary volume, The processor of the storage system receiving, from the other storage system, a journal including journal data that is data to be written to the primary volume and metadata about the journal data; Associating the logical address of a secondary journal volume that manages journal data included in the journal with a predetermined area of ​​a capacity pool in the storage system; The address of the predetermined area in the capacity pool to which the journal data is associated is associated with the logical address of the secondary volume in which the write target data indicated by the metadata included in the journal is stored. Storage system.

2. The processor of the storage system Associating a logical address of a secondary journal volume that manages journal data included in the journal with an intermediate logical address that is associated with a predetermined area of ​​a capacity pool in the storage system; The intermediate logical address is associated with the logical address of the secondary volume where the write target data indicated by the metadata included in the journal is stored. The storage system according to claim 1 .

3. The storage system has a secondary intermediate volume that stores a volume mapping table that stores the correspondence between the logical addresses of the secondary volumes and the intermediate logical addresses, and a journal volume mapping table that stores the correspondence between the logical addresses of the secondary journal volumes and the intermediate logical addresses. The storage system according to claim 2 .

4. A processor of the storage system receives the compressed journal from the other storage system and decompresses the compressed journal. The storage system according to claim 1 .

5. A storage system having a primary volume, The processor of the storage system storing the write target data for the primary volume in association with a predetermined area of ​​a capacity pool of the storage system; Metadata in a journal corresponding to the writing of the write target data to the primary volume is created and stored in a journal volume, and the predetermined area of ​​the capacity pool is associated with a logical address in the journal volume that manages journal data in the journal. Storage system.

6. The processor of the storage system Associating a logical address in the primary volume of the write-target data for the primary volume with an intermediate logical address associated with a predetermined area of ​​a capacity pool in the storage system; The intermediate logical address, which is associated with a predetermined area of ​​the capacity pool, is associated with the logical address of the primary journal volume that manages the journal data included in the journal. The storage system according to claim 5 .

7. The storage system has a primary intermediate volume that stores a volume mapping table that stores the correspondence between the logical addresses of the primary volume and the intermediate logical addresses, and a journal volume mapping table that stores the correspondence between the logical addresses of the primary journal volume and the intermediate logical addresses. The storage system according to claim 6.

8. The processor of the storage system The write target data is compressed and stored in association with a predetermined area of ​​the capacity pool. The storage system according to claim 5 .

9. The processor of the storage system Compressing one or more of the journals and sending them to another storage system The storage system according to claim 5 .

10. 1. A remote copy method for a primary storage system having a secondary volume that is a copy destination of a primary volume, the method comprising: The secondary storage system receiving journal data, which is data to be written to the primary volume, from the primary storage system and a journal including metadata about the journal data; Associating the logical address of a secondary journal volume that manages journal data included in the journal with a predetermined area of ​​a capacity pool in the secondary storage system; The address of the predetermined area in the capacity pool to which the journal data is associated is associated with the logical address of the secondary volume in which the write target data indicated by the metadata included in the journal is stored. Remote copy method.

Citation Information

Patent Citations

  • Data replication among storage systems

    US7152079B2