Storage system, copy method, and primary storage apparatus
Summary by NHIP
Storage copy method
The method copies data between storage apparatuses by checking if virtual areas are allocated before transferring information. If an area is unallocated, the system sends a notice indicating no data exists, prompting the secondary controller to write zero data to the corresponding slot.
Claim Score by NHIP
Abstract
A storage system having a primary storage apparatus for storing data from a host computer in a primary logical volume, and a secondary storage apparatus connected to the primary storage apparatus, for providing a secondary logical volume for storing a copy of the data, the storage system comprising: a search unit for checking whether or not data exists in each primary slot area formed by partitioning a storage area in the primary logical volume into predetermined storage areas; a transmission unit for sending, if no data is held in the primary slot area, a notice indicating no data stored to the secondary storage apparatus; and a data write unit for writing, when the notice is received from the primary storage apparatus, zero data in the secondary slot area.

Term
Projected expiry 30 April 2028.
- Priority and filed
- Granted
- Today
- Projected expiry
6 claims: 3 independent, 3 dependent
- 1Broadest claimClaim Score 25, narrow(NHIP)A method for copying data in a storage system, the storage system comprising a host computer, a first storage apparatus coupled to the host computer, a second storage apparatus coupled to the first storage apparatus, the first storage apparatus comprising a first plurality of disks for storing data and a first controller for controlling the storage of data in the first plurality of disks, and the second storage apparatus comprising a second plurality of disks for storing data and a second controller for controlling the storage of data in the second plurality of disks, the method comprising:providing, by the first controller, a first virtual volume, which is defined by a plurality of virtual areas, to the host computer;allocating, by the first controller, a storage area of the first plurality of disks to a virtual area of the plurality of virtual areas in accordance with a write request;managing, by the first controller, information indicating whether or not the storage area is allocated to each of the plurality of virtual areas;a determining step for determining whether or not the storage area is allocated to a first virtual area of the plurality of virtual areas when an initial copy of the first virtual volume to the second storage apparatus is executed;and a sending step for sending data stored in the first virtual area to the second storage apparatus if the storage area is allocated to the first virtual area, wherein the first controller is configured to send a notice to the second controller of the second storage apparatus, the notice indicating that data to be stored in the second virtual area is not included, if the storage area is not allocated to the first virtual area, and wherein when the second controller receives the notice, the second controller is configured to not allocate the storage area to the second virtual area if the storage area is not allocated to the second virtual area, and write zero data to the second virtual area if the storage area is allocated to the second virtual area.
- 4A storage system comprising:a first storage apparatus coupled to a host computer, the first storage apparatus comprising a first plurality of disks for storing data and a first controller for controlling storage of data in the first plurality of disks;and a second storage apparatus coupled to the first storage apparatus, the second storage apparatus comprising a second plurality of disks for storing data and a second controller for controlling storage of data in the second plurality of disks, wherein the first controller is configured to: provide a first virtual volume which is defined by a plurality of virtual areas to the host computer;allocate a storage area of the first plurality of disks to one of the plurality of virtual areas of the first virtual volume in accordance with a write request;and manage information indicating whether or not the storage area is allocated to each of the plurality of virtual areas of the first virtual volume, wherein the second controller is configured to: provide a second virtual volume, which is the copy destination volume of the first virtual volume, the second virtual volume being defined by a plurality of virtual areas;and allocate a storage area of the second plurality of disks to one of the plurality of virtual areas of the second virtual volume in accordance with a write request, wherein, when an initial copy of the first virtual volume to the second virtual volume is executed, the first controller is configured to: determine whether or not the storage area is allocated to a first virtual area of the plurality of virtual areas of the first virtual volume;and send data stored in the first virtual area to the second storage apparatus if the storage area is allocated to the first virtual area, wherein when data of the first virtual area is copied to a second virtual area of the plurality of virtual areas of the second virtual volume, the second controller is configured to: dynamically allocate the storage area to the second virtual area;and write data, which is stored in the first virtual area, in the second virtual area, wherein the first controller is configured to send a notice to the second controller of the second storage apparatus, the notice indicating that data to be stored in the second virtual area is not included, if the storage area is not allocated to the first virtual area, and wherein when the second the second controller receives the notice, the second controller is configured to not allocate the storage area to the second virtual area if the storage area is not allocated to the second virtual area, and write zero data to the second virtual area if the storage area is allocated to the second virtual area.
- 6A second storage apparatus coupled to a first storage apparatus, wherein the second storage apparatus stores copy data of the first storage apparatus, the second storage apparatus comprising:a second plurality of disks for storing data;and a second controller for controlling storage of data in the second plurality of disks, wherein a first controller of the first storage apparatus is configured to allocate a storage area of a first plurality of disks to a virtual area of a first virtual volume of the first storage apparatus, wherein the second controller is configured to: provide a second virtual volume, which is the copy destination volume of the first virtual volume, the second virtual volume being defined by a plurality of virtual areas;and allocate a storage area of the second plurality of disks to one of the plurality of virtual areas of the second virtual volume in accordance with a write request, wherein, when an initial copy of the first virtual volume to the second virtual volume is executed, the first controller is configured to: determine whether or not the storage area is allocated to a first virtual area of a plurality of virtual areas of the first virtual volume;and send data stored in the first virtual area to the second storage apparatus if the storage area is allocated to the first virtual area, wherein when data of the first virtual area is copied to a second virtual area of the plurality of virtual areas of the second virtual volume, the second controller is configured to: dynamically allocate the storage area to the second virtual area;and write data, which is stored in the first virtual area, in the second virtual area, wherein a first controller of the first storage apparatus is configured to send a notice to the second controller of the second storage apparatus, the notice indicating that data to be stored in the second virtual area is not included, if the storage area is not allocated to the first virtual area, and wherein when the second controller receives the notice, the second controller is configured to not allocate the storage area to the second virtual area if the storage area is not allocated to the second virtual area, and write zero data to the second virtual area if the storage area is allocated to the second virtual area.
Independent claims3
139 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
0001The present application is a continuation of application Ser. No. 12/112,478, filed Apr. 30, 2008, now U.S. Pat. No. 8,127,102, which relates to and claims priority from Japanese Patent Application No. 2008-046724 filed on Feb. 27, 2008, the entire disclosures of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION
00021. Field of the Invention
0003The invention relates to a storage system, a copy method, and a primary storage apparatus. The invention is particularly suitable for use in a storage system including a storage apparatus where plural virtual volumes are paired.
00042. Description of Related Art
0005A storage apparatus includes a controller for controlling data I/O to/from the storage apparatus and a disk device having plural hard disk drives for storing the data. A storage apparatus is an apparatus in which plural hard disks are managed in a RAID (Redundant Array of Independent/inexpensive Disks) format. At least one logical volume is formed in a physical storage area provided by a number of hard disks.
0006There is technology called remote copy, which is designed to avoid, by duplicating data in another storage apparatus located in a distant place, disaster-related loss of data, or similar, in such a storage apparatus.
0007Remote copy is technology for transferring data in a copy source storage apparatus (hereinafter referred to as a “primary storage apparatus”) to a copy destination storage apparatus (hereinafter referred to as a “secondary storage apparatus”) located in a distant place, and storing the data in a disk device in the secondary storage apparatus. A technique relating to remote copy is disclosed in Japanese Patent Laid-open Publication No. 11-85408, with which data is copied between different storage apparatuses not via a host computer. With the remote copy technology, data can be duplicated to avoid loss of data.
0008In recent years, Japanese Patent Laid-open Publication No. 2003-015915 has disclosed a technique in which no logical volume with a fixed capacity is created from a storage area in hard disks, but a virtual volume is provided using plural logical volumes. Storage areas in logical volumes are dynamically allocated to that virtual volume. With this configuration, storage areas that are in actuality dispersed over plural storage apparatuses can be provided as a single volume to a host computer.
0009Pairs of those virtual volumes are set and data is copied from a primary virtual volume to a secondary virtual volume, thereby maintaining data reliability.
0010If remote copy is executed utilizing the above described virtual volume technique on a storage system including primary and secondary storage apparatuses, all data (including zero data) in a primary virtual volume is copied to a secondary virtual volume when setting a pair so that the content of those virtual volumes are consistent.
0011However, in this method the amount of traffic is large, so data transfer takes a long time. Therefore, the load on the storage system accompanying data transfer is a problem.
SUMMARY OF THE INVENTION
0012An object of the invention is to provide a storage system, a copy method, and a primary storage apparatus capable of reducing the load accompanying data transfer even in the case where remote copy is conducted when setting a virtual volume pair using the virtual volume technique in the storage system.
0013To achieve the above object, the invention provides a storage system for providing a primary logical volume formed with a storage area in plural hard disks, that includes a primary storage apparatus for storing data from a host computer in the primary logical volume, and a secondary storage apparatus connected to the primary storage apparatus, for providing a secondary logical volume for storing a copy of the data, the storage system comprising: a search unit for checking whether or not data exists in each primary slot area formed by partitioning a storage area in the primary logical volume into predetermined storage areas; a transmission unit for sending, if no data is held in the primary slot area, a notice indicating no data stored to the secondary storage apparatus; and a data write unit for writing, when the notice is received from the primary storage apparatus, zero data in the secondary slot area.
0014With that configuration, if data is not held in the primary logical volume when setting a pair, the primary storage apparatus only has to notify the secondary storage apparatus of no data being held, and the secondary storage apparatus writes zero data only. Accordingly, data transfer time and the load on the storage system accompanying data transfer is reduced.
0015The invention also provides a copy method for a storage system for providing a primary logical volume formed with a storage area in plural hard disks, that includes a primary storage apparatus for storing data from a host computer in the primary logical volume, and a secondary storage apparatus connected to the primary storage apparatus, for providing a secondary logical volume for storing a copy of the data, the method comprising: a search step for checking whether or not data exists in each primary slot area formed by partitioning a storage area in the primary logical volume into predetermined storage areas; a transmission step for sending, if no data is held in the primary slot area, a notice indicating no data stored to the secondary storage apparatus; and a data write step for writing, when the notice is received from the primary storage apparatus, zero data in the secondary slot area.
0016With that configuration, if data is not held in the primary logical volume when setting a pair, the primary storage apparatus only has to notify the secondary storage apparatus of no data being held, and the secondary storage apparatus writes zero data only. Accordingly, data transfer time and the load on the storage system accompanying data transfer is reduced.
0017The invention also provides a primary storage apparatus for providing a primary logical volume formed with a storage area in plural hard disks and storing data from a host computer in the primary logical volume, the primary storage apparatus comprising: a search unit for checking whether or not data exists in each primary slot area formed by partitioning the storage area in the primary logical volume into predetermined storage areas; and a transmission unit for sending, if no data is held in the primary slot area, a notice indicating no data held to a paired secondary storage apparatus.
0018With that configuration, if data is not held in the primary logical volume when setting a pair, the primary storage apparatus only has to notify the secondary storage apparatus of no data being held, and the secondary storage apparatus writes zero data only. Accordingly, data transfer time and the load on the storage system accompanying data transfer is reduced.
0019With the invention, only the data stored in the primary storage apparatus is transferred to the secondary storage apparatus when setting a pair, so the load on a storage system accompanying data transfer is reduced.
0020Other aspects and advantages of the invention will be apparent from the following description and the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
0021<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram showing a hardware configuration for a storage system in an embodiment.
0022<figref idref="DRAWINGS">FIG. 2</figref> is a conceptual diagram illustrating logical volumes in the embodiment.
0023<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram showing the content of shared memory in the embodiment.
0024<figref idref="DRAWINGS">FIG. 4</figref> is a diagram showing a virtual volume management table in the embodiment.
0025<figref idref="DRAWINGS">FIG. 5</figref> is a diagram showing a slot group management table in the embodiment.
0026<figref idref="DRAWINGS">FIG. 6</figref> is a diagram showing a slot grid table in embodiment.
0027<figref idref="DRAWINGS">FIG. 7</figref> is a diagram showing a slot table in the embodiment.
0028<figref idref="DRAWINGS">FIG. 8</figref> is a diagram showing a pair setting table in the embodiment.
0029<figref idref="DRAWINGS">FIG. 9</figref> is a diagram illustrating a bitmap table in the embodiment.
0030<figref idref="DRAWINGS">FIG. 10</figref> is a flowchart showing processing for data transfer executed by a primary storage apparatus in a first pair setting in the embodiment.
0031<figref idref="DRAWINGS">FIG. 11</figref> is a diagram showing transmission information in the case where copy data is sent in the embodiment.
0032<figref idref="DRAWINGS">FIG. 12</figref> is a diagram showing transmission information used when a “data unallocated” message in the embodiment is sent.
0033<figref idref="DRAWINGS">FIG. 13</figref> is a flowchart showing processing for data transfer executed by a secondary storage apparatus in a first pair setting in the embodiment.
0034<figref idref="DRAWINGS">FIG. 14</figref> is a flowchart showing processing for data transfer executed by a secondary storage apparatus in a second pair setting in the embodiment.
0035<figref idref="DRAWINGS">FIG. 15</figref> is a flowchart showing processing for quick format executed by a secondary storage apparatus in a second pair setting in the embodiment.
0036<figref idref="DRAWINGS">FIG. 16</figref> is a flowchart showing processing for data transfer executed by a primary storage apparatus in a third pair setting.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
0037An embodiment of the invention will be described below with reference to the drawings.
00381. Storage System Configuration
0039Referring to <figref idref="DRAWINGS">FIG. 1</figref>, numerical reference <b>1</b> represents the overall storage system in this embodiment. In the storage system <b>1</b>, a host computer <b>2</b> is connected to a primary storage apparatus <b>5</b>A via a network <b>3</b>, and the primary storage apparatus <b>5</b>A is connected to a secondary storage apparatus <b>5</b>B via a data copy network <b>4</b>.
0040In this embodiment, a storage apparatus that directly inputs/outputs data sent to/from the host computer <b>2</b> is referred to as a primary storage apparatus <b>5</b>A.
0041The host computer <b>2</b> is a computer device equipped with information processing resources such as a CPU and memory, and examples of the host computer <b>2</b> include a personal computer, a workstation, and a mainframe. The host computer <b>2</b> has information input devices such as a keyboard and a switch (not shown), and information output devices such as a monitor display and a speaker (not shown).
0042Examples of the network <b>3</b> and the data copy network <b>4</b> include a SAN (Storage Area Network), a LAN (Local Area Network), the Internet, a public line, or a dedicated line. If the network <b>3</b> is a SAN, data is communicated according to Fibre Channel protocol. If the network <b>3</b> is a LAN, data is communicated according to TCP/IP protocol. In this embodiment, the network <b>3</b> for connecting the host computer <b>2</b> with the primary storage apparatus <b>5</b>A is a SAN, and the other networks <b>3</b> and the copy network <b>4</b> are LANS.
0043The storage apparatus <b>5</b> has a disk unit <b>6</b> including plural hard disks <b>60</b> (HDD) and a controller unit <b>7</b> for managing the hard disks <b>60</b> in a RAID format. The suffixes “A” and “B” are omitted, except where the storage apparatuses have to be distinguished between.
0044The hard disks <b>60</b> are expensive, high-access performance disks such as SCSI disks, or inexpensive, low-access performance disks such as SATA disks or optical disks.
0045The controller unit <b>7</b> includes plural channel adapters <b>70</b> (referred to as “CHA” in the drawings), a switch <b>71</b>, shared memory <b>72</b>, cache memory <b>73</b>, plural disk adapters <b>74</b> (referred to as “DKA” in the drawings), and a service processor <b>75</b> (referred to as “SVP” in the drawings).
0046Each channel adapter <b>70</b> is a microcomputer system including a microprocessor <b>700</b>, memory (not shown), and a communication interface, and the like, and is provided with a port P for connection to a network. Each channel adapter <b>70</b> interprets various commands sent from the host computer <b>2</b> and executes the required processing. A network address (such as an IP address or WWN) for identifying each channel adapter <b>70</b> is allocated to the port P in the channel adapters <b>70</b>. With this configuration, each channel adapter <b>70</b> can individually serve as a NAS (Network Attached Storage).
0047The switch <b>71</b> is connected to the channel adapters <b>70</b>, the shared memory <b>72</b>, the cache memory <b>73</b>, and the disk adapters <b>74</b>. Data and commands are exchanged, via the switch <b>71</b>, between the channel adapters <b>70</b>, the shared memory <b>72</b>, the cache memory <b>73</b>, and the disk adapters <b>74</b>.
0048The shared memory <b>72</b> is memory shared by the channel adapters <b>70</b> and the disk adapters <b>74</b>. The shared memory <b>72</b> is used mainly for storing system configuration information, various control programs, and commands or similar sent from the host computer <b>2</b>. The tables and program stored in the shared memory <b>72</b> will be described later.
0049The cache memory <b>73</b> is also memory shared by the channel adapters <b>70</b> and the disk adapters <b>74</b>. The cache memory <b>73</b> is used mainly for temporarily storing data input to/output from the storage apparatuses.
0050The disk adapter <b>74</b> is a microcomputer system including a microprocessor <b>700</b> (not shown) and memory (not shown), and the like, and functions as an interface for controlling protocols used during communication with the disk unit <b>6</b>. Each disk adapter <b>74</b> is connected to a relevant disk unit <b>6</b> via, for example, a Fibre Channel cable, and exchanges data with that disk unit <b>6</b> in accordance with Fibre Channel protocol.
0051The service processor <b>75</b> is a computer device for maintaining the storage apparatuses <b>5</b>, and examples of the service processor <b>75</b> include a personal notebook computer. The service processor <b>75</b> is connected to the host computer <b>2</b> via the network <b>3</b>, and is able to receive data or commands from the host computer <b>2</b>.
0052The storage navigator <b>8</b> is a computer device operated for managing the storage apparatuses <b>4</b>, and examples of the storage navigator <b>8</b> include a personal computer. The storage navigator <b>8</b> sets storage apparatuses to be paired from among the plural storage apparatuses, sets a pair of virtual volumes V described later, and manages the association between a virtual volume V and a logical volume, which will also be described later. The storage navigator <b>8</b> may display the setting and management on a management screen <b>80</b>.
00532. Logical Configuration for Hard Disks
0054In the storage system <b>1</b> in this embodiment, four disks in the hard disks <b>60</b> form a single RAID group. One or more logical volume(s) LU are defined in a storage area provided by the single RAID group.
0055A specific identifier LUN (Logical Block Number) is allocated to each logical volume LU. Data is input or output by specifying an address, which is a combination of the identifier and a specific number LBA (Logical Block Address) assigned to each block, which is a logical division of a logical volume.
0056<figref idref="DRAWINGS">FIG. 2</figref> is a conceptual diagram showing a logical configuration for the hard disks <b>60</b> in the storage system <b>1</b>.
0057The logical volumes LU include virtual volumes V, which are logical volumes accessed by the host computer <b>2</b>, and real volumes R, which are associated with those virtual volumes V. Each storage area in the real volumes R is associated with a real storage area in the hard disks <b>60</b>. A pool area POOL is formed with plural real volumes R.
0058Storage areas are provided to the virtual volumes V by dynamically allocating, to the virtual volumes V, storage areas in the real volumes R in the pool area POOL. Since the virtual volumes V do not have physical presence of volumes, when data is stored in response to a write request or similar from a host computer <b>2</b>, a storage area in a real volume R included in a pool area POOL is reserved to store the data. If a read request from the host computer <b>2</b> is issued to an area that has reserved no storage area in a real volume R in the pool area POOL, the virtual volume V reads zero data from the pool area POOL to respond to the host computer <b>2</b>. Thus a volume having an arbitrary capacity that does not depend on the physical capacity can be provided to the host computer <b>2</b> by virtually creating a volume capacity of the virtual volume V.
0059Each storage area in the virtual volumes V and real volumes R is partitioned by a storage area referred to as a “slot S.” The virtual volumes V and the real volumes R are associated with each other in units of slots S. A slot S is a minimum storage area where the above described data is stored, and corresponds to the above mentioned block.
0060This embodiment aims at not only setting a pair of two virtual volumes V, but also setting a pair of a virtual volume V and a real volume R. A virtual volume V directly accessed by the host computer <b>2</b> is referred to as a “primary virtual volume V,” and a copy destination virtual volume V where data stored in the primary virtual volume PV (in actuality, data in a storage area in the hard disks <b>60</b> allocated to the primary volume PV) is copied is referred to as a “secondary virtual volume SV.”
0061A real volume associated with a primary virtual volume PV is referred to as a primary real volume PR, and a real volume associated with a secondary virtual volume SV is referred to as a secondary real volume SR.
0062Both the primary and secondary virtual/real volumes are described as virtual volumes V/real volumes R except where primary or secondary are specified.
00633. Table Configuration
0064Various tables held in the storage system <b>1</b> will be described. The primary and secondary storage apparatuses <b>5</b>A and <b>5</b>B respectively hold each of the below tables. The suffixes A and B are not used except where the tables are specified.
0065First, <figref idref="DRAWINGS">FIG. 3</figref> shows an example of various tables and a program stored in the shared memory <b>72</b>.
0066The shared memory <b>72</b> stores a virtual volume management table <b>720</b>, a slot group management table <b>721</b>, a slot grid table <b>722</b>, a slot table <b>723</b>, a pair setting table <b>724</b>, and a copy program <b>725</b>. In particular, the virtual volume management table <b>720</b>, the slot group management table <b>721</b>, the slot grid table <b>722</b>, and the slot table <b>723</b> are association information used to associate, aside from the pair setting, storage areas of a virtual volume V and a real volume R in a storage apparatus <b>5</b>. The copy program <b>725</b> is a program for having the storage apparatus <b>5</b> form a copy pair and execute copying.
00673-1. Virtual Volume Management Table
0068The virtual volume management table <b>720</b> is a table where storage areas of virtual volumes and associated slot numbers are stored. The virtual volume management table <b>720</b> includes “virtual volume address” entries <b>7200</b> and “slot number” entries <b>7201</b>.
0069For example, as shown in <figref idref="DRAWINGS">FIG. 4</figref>, the virtual volume management table <b>720</b> holds slot numbers “<b>3</b>-<b>10</b>,” which are associated with a virtual volume address “0x10.”
00703-2. Slot Group Management Table
0071The slot group management table <b>721</b> is a table for managing plural slots by groups, and includes “slot number group” entries <b>7210</b>.
0072For example, the slot group management table <b>721</b> in <figref idref="DRAWINGS">FIG. 5</figref> indicates that plural slots are managed in groups of fifty. Accordingly, the slot numbers “<b>3</b>-<b>10</b>” are managed in the first line of the slot group management table <b>721</b>.
00733-3. Slot Grid Table
0074The slot grid table <b>722</b> is a table showing, in a grid, plural slot numbers respectively managed in each line in the slot group management table <b>721</b>.
0075For example, if slots are managed in groups of fifty in the slot group management table <b>721</b>, slots #<b>1</b> to #<b>50</b> are managed in one slot grid table <b>722</b>, and the subsequent slots #<b>51</b>-#<b>100</b> are managed in another slot grid table <b>722</b>. In the slot grid table <b>722</b>, a slot is associated with a virtual volume, “1,” which means “an allocated area,” is held. Meanwhile, if a slot is not associated with a virtual volume, “0,” which means “an unallocated area,” is held.
0076For example, in the slot grid table <b>722</b> in <figref idref="DRAWINGS">FIG. 6</figref>, slot numbers “<b>3</b>-<b>10</b>” are unallocated areas (“<b>1</b>”).
00773-4. Slot Table The slot table <b>723</b> is a table prepared for each slot number, and stores a real volume address allocated to an arbitrary slot number. The slot table <b>723</b> includes a “slot number” entry <b>7230</b> and a “real volume address” entry <b>7231</b>.
0078For example, the slot table <b>723</b> in <figref idref="DRAWINGS">FIG. 7</figref> holds real volume address “0000,” which is allocated to slot number “<b>3</b>.”
00793-5. Pair Setting Table
0080The pair setting table <b>724</b> is a table for managing settings for pairs of copy source storage areas and copy destination storage areas. The pair setting table <b>724</b> includes “slot number” entries <b>7240</b>, “copy source address” entries <b>7241</b>, and “copy destination address” entries <b>7242</b>.
0081For example, the pair setting table <b>724</b> shown in <figref idref="DRAWINGS">FIG. 8</figref> holds primary and secondary storage areas associated with slot number “<b>3</b>.” Each of those primary and secondary storage areas is associated with address “0x10.”
00823-6. Bitmap Table
0083The bitmap table M is management information that reflects the status of storage areas DS (hereinafter referred to as data storage areas DS) where data in real volumes R is stored, and is partitioned like a grid for management. The bitmap table M is a table used for real volumes that are not associated with virtual volumes V. A slot number is allocated to each entry in the grid of the bitmap table M. The bitmap table M is stored in a management storage area MS for storing management information about real volumes R. The bitmap table has been explained as being managed in units of slots, but may also be managed in units other than slots, such as pages or blocks in the virtual volumes.
0084For example, as shown in <figref idref="DRAWINGS">FIG. 9</figref>, if data is stored in an arbitrary real volume R. “1” is stored in the slot number entries corresponding to the storage areas that store the data. If data is not stored, “0” is stored in the slot number entries corresponding to the storage areas that do not store data.
00854. Processing for Data Transfer
0086Data transfer in this embodiment for pairs set between: a primary virtual volume PV and a secondary virtual volume SV (first pair setting), between a primary virtual volume PV a secondary real volume SR (second pair setting), and between a primary real volume PR and a secondary virtual volume SR (third pair setting) will be described below.
00874-1. First Pair Setting
0088First, processing for data transfer in the case where a primary virtual volume PV and a secondary virtual volume SV are paired in the storage system <b>1</b> will be described. In this case, in the pair setting table <b>724</b> an address in the primary virtual volume PV is set as the copy source address, and an address in the secondary virtual volume SV is set as the copy destination address.
00894-1-1. Processing for Data Transfer in Primary Storage Apparatus
0090Processing for data transfer in a primary storage apparatus shown in <figref idref="DRAWINGS">FIG. 10</figref> is described. The data transfer in the primary storage apparatus <b>5</b>A is executed by a microprocessor <b>700</b>A in each channel adapter <b>70</b>A based on the copy program <b>725</b>.
0091After receiving a remote copy order from the host computer <b>2</b> or the storage navigator <b>8</b>A, the microprocessor <b>700</b>A refers to the bitmap table M and checks whether or not the first slot S in the primary virtual volume PV has already been allocated (S<b>1</b>). In other words, the microprocessor <b>700</b>A checks whether or not data is stored in the primary real volume associated with the primary virtual volume PV. When doing so, the microprocessor <b>700</b>A checks whether or not the above described virtual volume management table <b>720</b>A, slot group management table <b>721</b> A, slot grid table <b>722</b>A, and slot table <b>723</b>A have been allocated to a copy target slot S.
0092If the microprocessor <b>700</b>A judges the copy target slot S as having already been allocated (S<b>1</b>: Yes), the data is stored in the primary real volume PR, so the microprocessor <b>700</b>A reads data from the address in the primary real volume PR associated with the primary virtual volume PV (S<b>2</b>). The address in the associated primary real volume PR is searched for in the above described slot table <b>723</b>.
0093The microprocessor <b>700</b>A refers to the pair setting table <b>724</b> and sends the above read data to the pair target secondary virtual volume SV (S<b>3</b>).
0094Information used when sending data to the pair target secondary virtual volume SV is shown in <figref idref="DRAWINGS">FIG. 11</figref>. The transmission information SI<b>1</b> contains “operation code” SI<b>10</b> for notifying the secondary storage apparatus <b>5</b>B of an initial copy, “sub-information” SI<b>11</b> for notification of whether or not copy data exists, “address information” SI<b>12</b> about a copy source address, and “user data” SI<b>13</b>.
0095Since in step S<b>3</b> copy data is sent, “copy data exists” is registered as the “sub-information” SI<b>11</b>. In the “address information” SI<b>12</b>, the head slot number in the primary real volume PV, which is the position to start the copy, is held. “Data for 1 slot S” is registered as “user data” SI<b>13</b>.
0096Meanwhile, if the microprocessor <b>700</b>A judges the copy target slot S as being unallocated (S<b>1</b>: NO), data is not stored in the primary real volume PR, so the microprocessor <b>700</b>A sends, to the secondary storage apparatus <b>5</b>B, a “data unallocated” message, which indicates no data stored in the storage area (slot S) in the copy target primary virtual volume PV (S<b>4</b>).
0097Information used when sending the “data unallocated” message to the pair target secondary virtual volume SV is shown in <figref idref="DRAWINGS">FIG. 12</figref>. The transmission information SI<b>2</b>, which is the notification message for “unallocated data,” contains “operation code” SI<b>20</b>, “sub-information” SI<b>21</b>, and “address information” SI<b>22</b>, which is information on a copy source address.
0098In step S<b>4</b>, copy data is not sent; only a message is sent, so “no copy data” is held as the “sub-information” SI<b>21</b>. The head slot number in the primary real volume PV for which whether or not data is stored has been checked is held as the “address information” SI<b>22</b>.
0099Thus the microprocessor <b>700</b>A checks whether or not all slots S have been allocated (S<b>5</b>). If not all slots S have been checked (S<b>5</b>: NO), the processing in steps S<b>1</b> to S<b>4</b> is repeated for the subsequent check target slots S.
0100After the allocation of all slots S has been checked (S<b>5</b>: Yes), the microprocessor <b>700</b>A terminates the processing for data transfer in the primary storage apparatus <b>5</b>A.
01014-1-2. Processing for Data Transfer in Secondary Storage Apparatus
0102Next, processing for data transfer in the secondary storage apparatus <b>5</b>B shown in <figref idref="DRAWINGS">FIG. 13</figref> will be described. The data transfer in the secondary storage apparatus <b>5</b>B is executed by a microprocessor <b>700</b>B in each channel adapter <b>70</b>B based on the copy program <b>725</b>.
0103First, if the microprocessor <b>700</b>B judges the data as having been received from the primary storage apparatus <b>5</b>A (S<b>10</b>: Yes), the microprocessor <b>700</b>B refers to the pair setting table <b>724</b> and searches for the copy target secondary virtual volume SV. After that, the microprocessor <b>700</b>B refers to the bitmap table M and checks whether or not each slot S in the above searched secondary virtual volume SV has already been allocated to a secondary real volume SR (S<b>11</b>). In this step, the microprocessor <b>700</b>B checks whether or not the above described virtual volume management table <b>720</b>B, slot group management table <b>721</b> B, slot grid table <b>722</b>B, and slot table <b>723</b>B have been allocated to a copy target slot S.
0104If each slot S in the secondary virtual volume SV searched for by the microprocessor <b>700</b>B has not been allocated to a secondary real volume SR (S<b>11</b>: NO), no data is stored in the secondary real volume SR, so a data storage area DS is reserved in the secondary real volume SR (S<b>12</b>). In this step, the microprocessor <b>700</b>B sets, in the virtual volume management table <b>720</b>B, the slot group management table <b>721</b> B, the slot grid table <b>722</b>B, and the slot table <b>723</b>B, the relationship between the above reserved storage area in the secondary real volume SR and the secondary virtual volume SV.
0105After that, the microprocessor <b>700</b>B writes the received data to the reserved data storage area DS in the secondary real volume SR (S<b>13</b>), and terminates the processing for data transfer.
0106Meanwhile, if each slot S in the secondary virtual volume SV searched for by the microprocessor <b>700</b>B have already been allocated (S<b>11</b>: Yes), the microprocessor <b>700</b>B writes the received data to the data storage area DS in the associated secondary real volume SR (S<b>13</b>), and terminates the processing for data transfer.
0107In step S<b>10</b>, if the microprocessor <b>700</b>B has not received data from the primary storage apparatus <b>5</b>A (S<b>10</b>: NO) but received a “data unallocated” message (S<b>14</b>:Yes), the microprocessor <b>700</b>B refers to the pair setting table <b>724</b> and searches for the copy target secondary virtual volume SV. After that, the microprocessor <b>700</b>B refers to the virtual volume management table <b>720</b>B, the slot group management table <b>721</b>B, the slot grid table <b>722</b>B, and the slot table <b>723</b>B, and checks whether or not each slot S in the above searched secondary virtual volume SV has already been allocated to a secondary real volume SR (S<b>15</b>).
0108If each slots S in the secondary virtual volume SV searched for by the microprocessor <b>700</b>B has already been allocated (S<b>15</b>: Yes), the microprocessor <b>700</b>B writes zero data to the data storage area DS in the associated real volume SR (S<b>16</b>) and terminates the processing for data transfer.
0109As described above, by setting primary and secondary virtual volumes V to be paired, the storage system <b>1</b> can create a virtual volume V having a capacity larger than the capacity of each real volume R. Accordingly, a large-capacity virtual volume V can be prepared in advance in consideration of the volume capacity that will increase in the future.
0110For an unallocated area in a primary virtual volume PV, the primary storage apparatus <b>5</b>A only has to transfer a “data unallocated” message to the secondary storage apparatus <b>5</b>B, so processing relating to data transfer for that allocated area in the secondary storage apparatus <b>5</b>B is unnecessary. Accordingly, as a whole, transfer time and processing time in the secondary storage apparatus <b>5</b>B is greatly reduced.
01114-2. Setting of Second Pair
0112Next, processing for data transfer executed in the case where a primary virtual volume PV and a secondary real volume SR are paired in the storage system <b>1</b> will be described. In this case, in the pair setting table <b>724</b>, an address in the primary virtual volume PV is set as a copy source address, and an address in the secondary real volume SR is set as a copy destination address.
01134-2-1. Processing for Data Transfer in Primary Storage Apparatus
0114As the processing for data transfer in the primary storage apparatus is the same as the processing in the above described steps S<b>1</b>-S<b>5</b>, an explanation has been omitted.
01154-2-2. Processing for Data Transfer in Secondary Storage Apparatus
0116Next, processing for data transfer in the secondary storage apparatus <b>5</b>B shown in <figref idref="DRAWINGS">FIG. 14</figref> will be described. The data transfer method in the secondary storage apparatus <b>5</b>B is executed by a microprocessor <b>700</b>B in each channel adapter <b>70</b>B based on the copy program <b>725</b>B.
0117First, if the microprocessor <b>700</b>B checks, from the transmission information SI<b>1</b> given from the primary storage apparatus <b>5</b>A, that data has been received (S<b>20</b>: Yes), the microprocessor <b>700</b>B refers to the pair setting table <b>724</b>B and searches for a copy target secondary real volume SR.
0118After that, the microprocessor <b>700</b>B writes the received data to the data storage area DS indicated by an address in the above searched secondary real volume SR (S<b>21</b>), and terminates the processing for data transfer.
0119In step S<b>20</b>, if the microprocessor <b>700</b>B checks, from the transmission information SI<b>2</b> given from the primary storage apparatus <b>5</b>A, that data has not been received (S<b>20</b>: NO) but a “data unallocated” message has been received (S<b>22</b>: Yes), the microprocessor <b>700</b>B writes zero data to the data storage area DS indicated by an address in the above searched secondary real volume SR (S<b>23</b>) and terminates the processing for data transfer.
0120As shown in <figref idref="DRAWINGS">FIG. 15</figref>, the secondary storage apparatus <b>5</b>B may execute “quick format” processing. The “quick format” processing is processing for erasing data in a data storage area DS in the secondary real volume SR.
0121More specifically, in step S<b>20</b>, if the microprocessor <b>700</b>B checks, from the transmission information SI<b>2</b> given from the primary storage apparatus <b>5</b>A, that data has not been received (S<b>20</b>: NO) but a “data unallocated” message has been received (S<b>22</b>: Yes), the microprocessor <b>700</b>B erases data stored in the data storage area in the secondary real volume SR (S<b>24</b>). When doing so, the microprocessor <b>700</b>B sets the target slot S in the bitmap table M stored in the secondary real volume SR to “0.”
0122After that, the microprocessor <b>700</b>B terminates the processing for data transfer.
0123As described above, since a virtual volume V is set as a primary volume and a real volume R is set as a secondary volume to form a pair, the primary storage apparatus <b>5</b>A only has to transfer, regarding an unallocated area in a primary virtual volume PV, a “data unallocated” message to a secondary storage apparatus <b>5</b>B. In addition, the secondary storage apparatus <b>5</b>B only has to write zero data to the data storage area DS in the above set pair, so processing relating to data transfer is unnecessary. Accordingly, as a whole, transfer time can be reduced.
01244-3. Third Pair Setting
0125Next, processing for data transfer executed when in a primary real volume PR and a secondary virtual volume SV in the storage system <b>1</b> are paired will be described. In this case, in the pair setting table <b>724</b>, an address in a primary real volume PR is set as a copy source address, and an address in a secondary virtual volume SV is set as a copy destination address.
01264-3-1. Processing for Data Transfer in Primary Storage Apparatus
0127Processing for data transfer in a primary storage apparatus shown in <figref idref="DRAWINGS">FIG. 9</figref> will be described. The data transfer in a primary storage apparatus <b>5</b>A is executed by a microprocessor <b>700</b>A in each channel adapter <b>70</b>A based on the copy program <b>725</b>.
0128The microprocessor <b>700</b>A reads, after receiving a remote copy order from the host computer <b>2</b> or the storage navigator <b>8</b>A, the bitmap table M from a management storage area MS in the primary real volume PR, and checks whether or not the first copy target slot S in the primary real volume PR is “0” (S<b>30</b>). More specifically, the microprocessor <b>700</b>A checks whether or not data is stored in the data storage area DS at the position of the first slot S.
0129If the microprocessor <b>700</b>A determines that the first copy target slot S is “0” (S<b>30</b>: Yes), the microprocessor <b>700</b>A sends a “data unallocated” message as transmission information SI<b>2</b> to the secondary storage apparatus <b>5</b>B (S<b>31</b>).
0130Meanwhile, if the microprocessor <b>700</b>A determines that data exists in the data storage area DS corresponding to the first copy target slot S (S<b>30</b>: NO), the microprocessor <b>700</b>A reads data from that data storage area DS (S<b>32</b>) and sends the above read data as the transmission information SI<b>1</b> to the secondary storage apparatus <b>5</b>B (S<b>33</b>).
0131The microprocessor <b>700</b>A checks, for all slots, whether or not each slot S has been allocated (S<b>34</b>). If not all slots S have been checked (S<b>34</b>: NO), processing in steps S<b>30</b> to S<b>33</b> is executed again on the subsequent check target slots S.
0132If the microprocessor <b>700</b>A has checked the allocation status of all slots S (S<b>34</b>: NO), the microprocessor <b>700</b>A terminates the processing for data transfer in the primary storage apparatus <b>5</b>A.
01334-3-2. Processing for Data Transfer in Secondary Storage Apparatus
0134Since the processing for data transfer in the secondary storage apparatus are the same as the processing in above described steps S<b>20</b> to S<b>24</b>, an explanation has been omitted.
0135As described above, since a real volume R is set as a primary volume and a virtual volume R is set as a secondary volume to form a pair, the primary storage apparatus <b>5</b>A searches for an area in the primary real volume PR where data is not stored, and the primary storage apparatus <b>5</b>A only has to transfer, regarding the area where data is not stored, a “data unallocated' message” to a secondary storage apparatus <b>5</b>B. Since the secondary storage apparatus <b>5</b>B only has to write zero data to a data storage area DS in paired volumes, processing for data transfer is unnecessary and transfer time is reduced.
01365. Advantage of this Embodiment
0137As described above, in this embodiment, when setting a pair only the data stored in a primary storage apparatus is transferred to a secondary storage apparatus. Accordingly, the load on the storage system accompanying data transfer is reduced.
0138The invention can be widely used in storage systems having one or more storage apparatus(es), or other types of storage systems.
0139While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised that do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.
Contents5
14 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0902370A2 | Cites | European Patent Office (EPO) | Applicant |
| EP1837767A1 | Cites | European Patent Office (EPO) | Applicant |
| US2001029570A1 | Cites | United States of America | Applicant |
| JP2003015915A | Cites | Japan | Applicant |
| US2005091455A1 | Cites | United States of America | Applicant |
| US2007038833A1 | Cites | United States of America | Applicant |
| US2007226446A1 | Cites | United States of America | Applicant |
| US2007255914A1 | Cites | United States of America | Applicant |
| US2008016303A1 | Cites | United States of America | Applicant |
| US2009083502A1 | Cites | United States of America | Applicant |
| US2009216972A1 | Cites | United States of America | Applicant |
| US6408370B2 | Cites | United States of America | Applicant |
| JPH1185408A | Cites | Japan | Applicant |
| US20010029570A1 | Cites | United States of America | Third party observation |
| US20050091455A1 | Cites | United States of America | Third party observation |
| US20070038833A1 | Cites | United States of America | Third party observation |
| US20070226446A1 | Cites | United States of America | Third party observation |
| US20070255914A1 | Cites | United States of America | Third party observation |
| US20080016303A1 | Cites | United States of America | Third party observation |
| US20090083502A1 | Cites | United States of America | Third party observation |
| US20090216972A1 | Cites | United States of America | Third party observation |
| EP1837767 | Cites | European Patent Office (EPO) | Third party observation |
| EP902370 | Cites | European Patent Office (EPO) | Third party observation |
| JP11085408 | Cites | Japan | Third party observation |
| JP2003015915 | Cites | Japan | Third party observation |
10 members in 4 offices
Members10
| Document | Office | Kind | |
|---|---|---|---|
| US2009216972A1 | United States of America | A1 | |
| CN101520713A | China | A | |
| EP2096529A2 | European Patent Office (EPO) | A2 | |
| JP2009205415A | Japan | A | |
| EP2096529A3 | European Patent Office (EPO) | A3 | |
| US8127102B2 | United States of America | B2 | |
| US2012059987A1 | United States of America | A1 | |
| US8316205B2This record | United States of America | B2 | |
| CN101520713B | China | B | |
| JP5317495B2 | Japan | B2 |
33 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Preliminary AmendmentA.PE | A.PE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Application Is Now CompleteCOMP | COMP | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Cleared by OIPE CSRL194 | L194 | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Request from applicant for the USPTO to retrieve the Priority DocumentPDREQUST | PDREQUST | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Notice of allowance mailedORIGINAL CODE: MN/=.ZAAB | ZAAB | |
| Notice of allowance and fees dueORIGINAL CODE: NOAZAAA | ZAAA |
Numbers
- Publication
- 8316205
- Application
- 13296461
Titles
- English
- Storage system, copy method, and primary storage apparatus
Patent term adjustment
- Applicant delay
- −31 days
- Net adjustment
- 0 days
Classification
- CPC, 5
- G06F3/065
- G06F3/0605
- G06F3/0665
- G06F3/067
- G06F11/1662
- IPC, 1
- G06F12 00
- USPC, 1
- 711173000