WO2011077490A1 - 仮想ボリュームを提供するストレージシステム - Google Patents
仮想ボリュームを提供するストレージシステム Download PDFInfo
- Publication number
- WO2011077490A1 WO2011077490A1 PCT/JP2009/007208 JP2009007208W WO2011077490A1 WO 2011077490 A1 WO2011077490 A1 WO 2011077490A1 JP 2009007208 W JP2009007208 W JP 2009007208W WO 2011077490 A1 WO2011077490 A1 WO 2011077490A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- real
- virtual
- tier
- migration
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Definitions
- the present invention relates to storage control to which Thin Provisioning (also called Dynamic Provisioning) is applied.
- Data migration technology is known. Data migration is generally performed on a volume basis. For example, according to Patent Document 1, all data stored in the first logical volume is migrated from the first logical volume to the second logical volume.
- storage tiering technology is known.
- a plurality of logical volumes included in a plurality of storage systems are classified into any one of a plurality of tiers, and a logical volume belonging to a certain tier is assigned to another tier.
- the plurality of tiers include, for example, a highly reliable tier and a low-cost tier.
- Thin Provisioning also called Dynamic Provisioning
- a virtual logical volume composed of a plurality of virtual storage areas (virtual pages) and a plurality of substantive storage areas (real pages) are prepared.
- a real page is allocated to the virtual page, and write target data is written to the allocated real page.
- the above-mentioned data migration technology and storage tiering technology are applied to Thin Provisioning. Further, it is assumed that the first virtual volume belongs to the first tier and the second virtual volume belongs to the second tier. In this case, all data can be migrated from the first virtual volume belonging to the first tier to the second virtual volume belonging to the second tier.
- all the data in the first virtual volume is transferred from the first tier to the second tier, but it is preferable that all the data is necessarily present in the second tier. Not exclusively.
- an object of the present invention is to appropriately arrange data in a virtual volume in accordance with Thin Provisioning.
- a plurality of the logical volumes to which at least one storage area included in the plurality of storage areas is allocated in response to a write request to at least one address included in the plurality of addresses in the logical volume is provided.
- the access status of the at least one address in the logical volume the data that has been written to the at least one address by the write request is included in the at least one storage area group.
- the storage area is shifted to at least one storage area in another storage area group included in the plurality of storage area groups.
- Example 1 shows a configuration of a storage system 103.
- the relationship between various storage areas in the storage system 103 is shown.
- stores are shown.
- the structure of the tier definition table 401 is shown.
- the structure of the tier management table 402 is shown.
- the structure of the pool management table 403 is shown.
- the structure of the VVOL management table 404 is shown.
- the structure of the PVOL management table 405 is shown.
- the structure of the allocation table 407 is shown.
- the structure of the real page management table 408 is shown.
- the structure of the monitor table 409 is shown.
- the structure of the frequency distribution table 410 is shown.
- the structure of the migration page table 411 is shown.
- the structure of the migration definition table 412 is shown.
- the flowchart of a pool creation process is shown.
- the pool definition GUI 1700 is shown.
- the flow of a VVOL creation process is shown.
- a VVOL creation GUI 1900 is shown.
- the flow of migration definition processing is shown.
- the migration definition GUI 2100 is shown.
- the flow of an information display process is shown.
- a frequency distribution GUI 2300 is shown.
- the flow of write processing (write to cache memory) is shown.
- the flow of destage processing is shown.
- the flow of read processing is shown.
- An overview of the relationship between I / O frequency monitoring and rearrangement is shown.
- the flow of a rearrangement process is shown.
- a VOL unit migration instruction GUI 2900 is shown. An overview of the tier maintenance migration process is shown.
- the flow of a tier maintenance transfer process is shown. An overview of the tier non-maintaining transition process is shown. The flow of a tier non-maintenance transfer process is shown. The flow of the migration page table creation process in S2808 of FIG. 28 is shown. An overview of the page-by-page migration process is shown. A flow of page-by-page migration processing is shown. The flow of a change process of a tier threshold value is shown. The flow of the over threshold handling process is shown. An overview of data element aggregation processing is shown.
- a plurality of storage areas provided from a plurality of storage devices are managed according to storage area attributes, and a plurality of storage area groups are managed, Providing a plurality of the logical volumes to which at least one storage area included in the plurality of storage areas is allocated in response to a write request to at least one address included in the plurality of addresses in the logical volume; According to the access status of the at least one address in the logical volume, the data that has been written to the at least one address by the write request is included in the at least one storage area group.
- a method for controlling a storage system characterized in that a storage area is migrated to at least one storage area in another storage area group included in the plurality of storage area groups.
- ⁇ Viewpoint 2> A method according to aspect 1, wherein the storage system is capable of performing data migration in units of logical volumes.
- a storage system connected to one or more hosts comprising a plurality of types of physical storage device groups and a storage control device.
- the storage control device includes a storage resource, a controller connected to the plurality of types of physical storage device groups, the storage resource, and the host.
- the physical storage device group is composed of one or more physical storage devices.
- the plurality of types of physical storage device groups are the basis of a plurality of types of real page groups.
- the type of the real page group is based on the attribute of the physical storage device group on which the real page group is based.
- the real page group has a plurality of real pages.
- the controller provides one or more virtual volumes to the one or more hosts.
- the virtual volume is a virtual logical volume composed of a plurality of virtual pages.
- the virtual page is a virtual storage area.
- the real page is a substantial storage area.
- the storage resource stores allocation information that is information indicating which virtual page is allocated to which virtual page (any format of information such as a table format or a queue format).
- the controller receives a write command from the host, specifies a write-destination virtual page from the write command, updates the allocation information so as to allocate a free real page to the specified virtual page, and sets the allocated real page. Stores the data to be written.
- the real page is a substantial storage area, and the data stored in the real page is stored in the physical storage device that is the basis of the real page.
- the controller performs a transition process that is a process including the following processes (A) and (B).
- the controller may have at least one processor, for example.
- the storage resource may be a memory, for example.
- the host may be a computer, another storage system, or another storage control device.
- the storage resource stores monitor information that is information indicating an I / O (Input / Output) frequency for each virtual page.
- the controller updates the I / O frequency of the virtual page in the monitor information according to the I / O for the virtual page or the real page assigned to the virtual page.
- the first virtual page is a virtual page whose I / O frequency specified from the monitor information does not meet a predetermined condition.
- the storage resource stores real page group management information which is information including information indicating the I / O frequency range set for each type of real page group.
- the predetermined condition is to fall within the I / O frequency range of the first type real page group.
- the second type real page group is a real page group whose I / O frequency range is within the I / O frequency of the first virtual page.
- the data can be arranged in a real page group of a type corresponding to the I / O frequency range in which the I / O frequency of the virtual page to which the real page storing the data is allocated falls.
- the controller receives an I / O command from the host, and specifies an I / O destination virtual page from the I / O command.
- the controller updates the I / O frequency corresponding to the I / O destination virtual page in the monitor information when performing I / O to the real page allocated to the I / O destination virtual page.
- the I / O frequency corresponding to the I / O destination virtual page in the monitor information is not updated. .
- the I / O frequency of the virtual page to which the real page is allocated can be updated only when I / O is performed on the real page.
- the storage resource stores, as the monitor information, monitor information in an active state and monitor information in a standby state.
- the controller updates the I / O frequency in the active monitor information.
- the controller specifies the first virtual page based on the active monitor information, and changes the state of the standby monitor information from standby to active.
- monitoring (update) of the I / O frequency can be continued.
- the controller uses the active monitor information to create relationship information that is a relationship between the I / O frequency and the number of virtual pages, and the created relationship information is displayed.
- the relation information is output.
- the controller starts the migration process when receiving an instruction to start migration.
- ⁇ Viewpoint 9> In the storage system according to any one of the viewpoints 3 to 7, the controller starts the migration process when the usage ratio of the first actual data group exceeds a predetermined ratio threshold.
- the first type real data group is the highest level real data group.
- the controller always assigns a real page from the first type of real data group to the write-destination virtual page specified from the write command.
- the virtual volume includes first and second virtual volumes. There are a plurality of pools based on the plurality of types of physical storage devices.
- the pool has one or more types of real page groups and is allocated to at least one virtual volume.
- the controller executes page unit migration processing for the first virtual volume, and executes volume unit migration processing for the second virtual volume.
- the controller migrates data from the first real page to the second real page in the pool allocated to the first virtual volume.
- the controller transfers data in all real pages allocated to the second virtual volume in the pool allocated to the second virtual volume to the second virtual volume. Migrate to real pages in a different pool from the pool assigned to the volume.
- the storage resource is monitor information that is information indicating the I / O frequency of the second virtual volume, and information that indicates an I / O frequency range set for each type of real page group.
- real page group management information which is information including.
- the controller updates the I / O frequency of the second virtual volume in the monitor information in accordance with the I / O for the second virtual volume or a real page allocated to the second virtual volume.
- the controller calculates an I / O frequency threshold range based on an I / O frequency range corresponding to a type of a real page group having a real page assigned to the second virtual volume. If the I / O frequency of the second virtual volume is not within the threshold range, the controller can obtain the threshold range within which the I / O frequency of the second virtual volume is obtained. Data in all real pages allocated to the virtual volume is migrated to the other pool.
- the data in the second virtual volume can be migrated to a pool corresponding to the I / O frequency of the second virtual volume.
- ⁇ Viewpoint 13> In the storage system according to the viewpoint 12, in the volume unit migration process, for all the migration source real pages, the type of the real page group having the migration source real page and the type of the real page group having the migration destination real page are: The same.
- the migration destination real page has one predetermined type regardless of the type of real page group having the migration source real page. This is a real page in the real page group.
- the controller has a certain percentage or more of the real pages allocated to the virtual volume in a certain real page group. If there is, the data in the real page in the real page group other than the certain real page group among all the real pages assigned to the virtual volume is converted into the certain real page. Move to a real page in the group.
- the real page assigned to the virtual page after shifting to the real page in the certain kind of real page group is always a real page in the certain kind of real page group.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and If data migration from the first real page to the second real page has not started, the migration is canceled and the data according to the write command is written to the real page in the second type real page group In addition, the allocation information is updated so that the first virtual page is allocated with the real page of the write destination instead of the first real page.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and If the data transfer from the first real page to the second real page has not started, the data according to the write command is written to the first real page, and then (A) and (B) are Do.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and If data is being migrated from the first real page to the second real page, the migration is canceled, the data according to the write command is written to the real page in the second type real page group, and The allocation information is updated so that the first virtual page is allocated instead of the first real page and the real page of the write destination is allocated.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and When data is being transferred from the first real page to the second real page, the data in accordance with the write command is written to the first real page, and then the second type of real data is written from the first real page. Resume data migration to a real page in the page group.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and When data is being migrated from the first real page to the second real page, after the migration is completed, data according to the write command is written to the second real page according to the allocation information.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and When data is being transferred from the first real page to the second real page, data according to the write command is written to both the first real page and the second real page.
- the controller receives a write command for specifying the first virtual page from the host after the migration process is started, and When (A) and (B) have been completed, data according to the write command is written to the second real page according to the allocation information.
- the first virtual page is a virtual page in which a final I / O time that is the latest time when I / O is performed satisfies a predetermined condition. is there.
- the predetermined condition is that the last I / O time is past the predetermined time from the current time.
- the second type real page group is a lower real page group than the first type real page group.
- the first virtual page is a virtual page in which an I / O according to sequential access has occurred.
- the second type real page group is a lower real page group than the first type real page group.
- the controller updates the monitor information only in a predetermined time zone.
- the controller stores the monitor information every time a predetermined time zone is passed.
- the first virtual page is a virtual page in which the I / O frequency specified from the monitor information corresponding to the designated time zone does not meet a predetermined condition.
- a storage control device connected to a host comprising: a storage resource; and a controller connected to the storage resource and the host.
- the controller provides a virtual volume composed of a plurality of virtual pages to the host.
- the storage resource stores allocation information that is information indicating which virtual page is allocated to which virtual page.
- the controller receives a write command from the host, specifies a write-destination virtual page from the write command, and allocates a free real page from any of a plurality of types of real pages to the specified virtual page.
- the information is updated, and the write target data is stored in the allocated real page.
- the real page is a substantial storage area.
- the virtual page is a virtual storage area.
- the virtual volume is a virtual logical volume.
- the real page group has a plurality of real pages.
- the controller performs a transition process that is a process including the following processes (A) and (B).
- A) The data stored in the first real page in the first type real page group is transferred to the second real page in the second type real page group.
- B) The allocation information is updated so that the second real page is allocated instead of the first real page to the first virtual page that is the virtual page to which the first real page is allocated.
- the specified I / O frequency is an average of the number of I / Os in a certain time.
- the specified I / O frequency is the maximum number of I / Os among a plurality of I / O numbers respectively corresponding to a plurality of times in a certain time zone.
- the controller receives designation of whether the specified I / O frequency is the average I / O number or the maximum I / O number.
- the specified I / O frequency is an average of the number of I / Os at a certain time.
- the specified I / O frequency is the maximum I / O of a plurality of I / Os respectively corresponding to a plurality of times in a certain time zone. Is a number.
- the viewpoints 1 and 2 described above are viewpoints taking the control method of the storage system as an example
- the viewpoints 3 to 27 and the viewpoints 29 to 31 are viewpoints taking the storage system as an example
- the viewpoint 28 is Although it is a viewpoint taking the storage control device as an example, any of them is also a storage system, storage control device, storage control method, storage system or storage control device control method, storage system or storage control device, It can be at least one aspect of a computer program (for example, a computer program for storage control or a computer program executed by a storage system or a storage control device).
- an object may be represented by a combination of a name and an ID instead of a reference sign.
- a logical volume is represented by reference numeral 500
- logical volume 500 when a logical volume with ID 00 is represented, it is represented as “logical volume # 00”.
- data stored in one real page is referred to as a “data element”.
- data elements stored in a real page assigned to a virtual page may be represented by “data elements in a virtual page” or similar expressions.
- FIG. 1 shows an outline of the first embodiment of the present invention.
- a host device (hereinafter referred to as a host) 101 is connected to the storage system 103. There may be one host 101 or a plurality of hosts 101.
- the storage system 103 provides a virtual volume (hereinafter referred to as VVOL (Virtual Volume)) 203 to the host 101 and has a plurality of types of tiers 303.
- VVOL Virtual Volume
- the VVOL 203 is a virtual logical volume according to Thin Provisioning, that is, a logical volume not based on a physical storage device (hereinafter referred to as PDEV).
- the VVOL 203 is composed of a plurality of virtual pages 207.
- the virtual page 207 is a virtual storage area. Assume that there is one VVOL # 00 as the VVOL 203.
- the virtual page #b in the VVOL #a will be referred to as “virtual page # (ab)”.
- the Thin Provisioning VVOL 203 is provided to the host 101 as having a virtual capacity, and a real page is allocated in response to a write request from the host 101 to an address of a virtual page.
- One VVOL 203 is provided to one or more hosts 101. When provided to a plurality of hosts 101, the VVOL 203 is shared by the plurality of hosts 101.
- Tier 303 is composed of a plurality of real pages 209.
- the real page 209 is a substantial storage area.
- the tier 303 for example, it is assumed that there are two tiers # 01 and # 02.
- the real page #d in the tier #c is referred to as “real page # (cd)”.
- the tier 303 may be composed of, for example, one or more real volumes (hereinafter referred to as RVOL (Real Volume)).
- RVOL Real Volume
- the RVOL is a substantive logical volume, that is, a logical volume based on PDEV.
- Each of the plurality of tiers 303 in one pool is set to be used for one or a plurality of VVOLs 203 in a state before data migration.
- the host 101 is generally a computer, but may be another storage system instead of the computer.
- the host 101 transmits an I / O (Input / Output) command to the storage system 103.
- the I / O command is, for example, a write command or a read command, and has I / O destination information.
- the I / O destination information is information indicating the I / O destination. For example, the ID of the VVOL 203 (for example, LUN (Logical Unit Number)) and the address of the I / O destination (for example, LBA (Logical) Block Address)). From the I / O destination information, the I / O destination VVOL 203 and the virtual page 207 are specified.
- the storage system 103 receives a write command from the host 101 and specifies the virtual page # (00-C) as the write destination based on the I / O destination information included in the write command. If any real page 209 is not assigned to the specified virtual page # (00-C), the storage system 103 assigns any free (unassigned) real page # (01) to the virtual page 207. -D) is allocated, and the data element to be written in accordance with the write command is written to the allocated real page (01-D).
- data migration is performed on a page basis.
- the storage system 103 performs the following processing: * The data element in the real page # (01-D) assigned to the virtual page # (00-C) is transferred to the free (unassigned) real page # (02-E); * Change the allocation source of virtual page # (00-C) from real page # (01-D) to real page # (02-E); * Update the status of real page # (01-D) to free (unallocated status) I do.
- FIG. 2 shows the configuration of the storage system 103.
- the storage system 103 includes a plurality of PDEVs 105, a storage control device connected to the plurality of PDEVs 105, and a power supply unit 100.
- the plurality of PDEVs 105 include a plurality of types of PDEVs such as SSD (Solid State Drive) and HDD (Hard Disk Drive).
- HDDs include HDD-FC (Fibre Channel), HDD-SATA (Serial ATA), and HDD-SAS (Serial Attached SCSI).
- the storage control device has a controller and a plurality of CMPKs (cache memory packages) 119 connected to the controller.
- the controller includes a plurality of CHAs (channel adapters) 111, a plurality of DKAs (disk adapters) 113, a plurality of MPPKs (microprocessor packages) 121, and a SW (switch) 117.
- CHAs channel adapters
- DKAs disk adapters
- MPPKs microprocessor packages
- SW switch
- the number of CMPK 119 may be more than two.
- the power supply unit 100 supplies electric power based on electric power from a commercial power supply to each of the packages 119, 111, 113, 121, and 117.
- the CHA 111 is an interface device connected to the host 101.
- the CHA 111 receives an I / O command (write command or read command) from the host 101 and transfers the received I / O command to one of the plurality of MPPKs 121.
- the CHA 111 has a protocol chip 112 and an LR (Local Router) 114.
- the protocol chip 112 performs protocol conversion for communication with the host 101.
- the LR 114 transfers the received I / O command to the MPPK 121 corresponding to the I / O destination specified from the I / O destination information included in the I / O command.
- the DKA 113 is an interface device connected to the HDD 105.
- the DKA 113 reads data from the HDD 105 and transfers the data to a DRAM (Dynamic Random Access Memory) of the CMPK 119 or writes the data from the CMPK 119 to the HDD 105.
- DRAM Dynamic Random Access Memory
- the MPPK 121 is a device having one or a plurality of MPs (microprocessors).
- the MP processes an I / O command from the CHA 111.
- a plurality of packages that is, CHA 111, DKA 113, CMPK 119, and MPPK 121 are connected to SW 117.
- the SW 117 controls connection between PKs (packages).
- CMPK119 has a volatile memory and / or a non-volatile memory.
- the CMPK 119 includes, for example, a storage area (hereinafter referred to as a cache memory or CM for short) in which a data element that is a target of I / O with respect to the virtual page 207 (real page 209) is stored.
- the CMPK 119 has a storage area for storing various information and computer programs. Information and computer programs will be described later.
- a management device 107 is connected to the storage system 103.
- the management device 107 is a computer having a display device and an input device, for example.
- the administrator can perform various settings for the storage system 103 from the management apparatus 107.
- FIG. 3 shows the relationship between various storage areas in the storage system 103.
- one or more RGs 301, one or more pools 201, and one or more VVOLs 203 are managed from the lower level to the higher level.
- RG301 is an abbreviation for RAID group.
- One RG 301 is composed of the same type of PDEV.
- the PDEV type is defined, for example, at least one of performance and unit cost.
- the performance is, for example, a data I / O speed or a response time (a time length from when a command is received from the host until a response is returned).
- the unit cost is a price (for example, so-called bit cost) required to store data of unit size.
- RG # 00 is composed of a plurality of SSDs
- RG # 01 is composed of a plurality of HDD-SASs
- RG # 02 is composed of a plurality of HDD-SATAs.
- capacitance of several PDEV which comprises one RG is the same, for example.
- the pool 201 is a set of real pages 207. Specifically, for example, the pool 201 is composed of one or more RVOLs 205, and each RVOL 205 is composed of one or more real pages 207.
- RVOL constituting the pool 201 is abbreviated as “PVOL”.
- Real pages 207 constituting one pool 201 are hierarchized. That is, a plurality of tiers 303 exist in one pool 201.
- the tier 303 exists, for example, for each type of RVOL.
- the number of tiers 303 is also three. Therefore, one type of RVOL 205 corresponding to that tier belongs to one tier 303.
- tier # 00 is a type called SSD
- an RVOL based on RG 301 configured by SSD belongs
- tier # 01 is a type called HDD-SAS, which is HDD-SAS.
- the RVOL based on the configured RG 301 belongs, and the tier # 03 is of the type HDD-SATA, and the RVOL based on the RG 301 configured by the HDD-SATA belongs.
- the tier 303 is not necessarily provided strictly for each RVOL type, and a plurality of RVOLs 205 based on similar types of RGs may belong to the same tier 303.
- the VVOL 203 is associated with an allocation source pool 201 from one or more pools 201. Further, a tier 303 (hereinafter referred to as an allocation tier) 303 that can be used as an allocation source is associated with the VVOL 203 from the selected pool 201. In addition, one of one or more allocation tiers 303 is associated with the VVOL 203 as a default tier 303. According to FIG. 3, the allocation tiers of VVOL # 01 are tiers # 00 and # 02.
- a plurality of RVOLs may be based on one RG if they belong to the same tier, but if they belong to different tiers, respectively. , Each of which is based on a separate RG.
- a plurality of real pages are sequentially allocated to a plurality of virtual pages of one or a plurality of VVOLs 203 related to the same tier 303, the real pages are sequentially selected across the RGs related to the tier 303. It is desirable to do.
- the real pages are sequentially selected from sequentially different RGs in consideration of the relationship with the RG. This makes it possible to improve access performance.
- FIG. 4 shows information and computer programs stored in the CMPK 119.
- a table is adopted as an example of information, but the information may be in a format other than the table (for example, a queue format).
- the CMPK 119 includes, as information, a tier definition table 401, a tier management table 402, a pool management table 403, a VVOL management table 404, a PVOL management table 405, an allocation table 407, a real page management table 408, a monitor table 409, a frequency distribution table 410, A migration page table 411 and a migration definition table 412 are stored. Further, the CMPK 119 is a UI control program 413 that is a program that controls UI (User Interface), an I / O control program 414 that is a program that controls I / O, and a program that performs relocation as computer programs. The rearrangement program 415 is stored. Note that at least one of these tables and the computer program may be stored in a storage resource other than the CMPK 119. For example, at least one computer program and / or the migration page table 411 may be stored in a memory in the MPPK 121.
- an object is specified using an ID, but may be specified using at least one of a name and a number instead of or in addition to the ID.
- FIG. 5 shows the configuration of the tier definition table 401.
- the tier definition table 401 is a table representing a tier definition. Specifically, for example, the table 401 represents the relationship between the RVOL type and the tier ID. According to the table 401, a tier to which an ID “00” is assigned is prepared as a tier corresponding to the RVOL type “SSD”.
- FIG. 6 shows the configuration of the tier management table 402.
- the tier management table 402 is a table for managing information related to tiers. Specifically, for example, the table 402 has, for each tier, a pool ID, a tier ID, a tier range, a PVOL ID, a tier threshold, a usage rate, and a real page ID. Taking one tier (hereinafter referred to as “target tier” in the description of FIG. 6) as an example, these information elements are specifically as follows.
- “Pool ID” is the ID of the pool having the target tier.
- * “Tier ID” is the ID of the target tier. From the tier ID, the type of PDEV that is the basis of the PVOL belonging to the target tier is uniquely specified.
- Tier range is a range of the load (for example, I / O frequency) of a real page that should exist in the target tier.
- PVOL ID is an ID of a PVOL belonging to the target tier.
- Tier threshold is a threshold of the usage rate of the target tier.
- User ratio is a use ratio of the target tier, that is, a ratio of the number of allocated real pages to the number of real pages constituting the target tier.
- Real page ID is an ID of all real pages belonging to the target tier.
- the tier threshold is set for each tier, but instead, one tier threshold is set for one pool, and the one tier is the one pool. It may be common for all tiers of the.
- FIG. 7 shows the configuration of the pool management table 403.
- the pool management table 403 is a table for managing information related to the pool. Specifically, for example, the table 403 has, for each pool, a pool ID, tiering, rearrangement, automatic execution, rearrangement execution cycle, rearrangement execution time, monitor time zone, and pool status. Taking a single pool (hereinafter referred to as “target pool” in the description of FIG. 7) as an example, these information elements are specifically as follows. * “Pool ID” is the ID of the target pool. * “Hierarchization” is whether or not to stratify the actual page in the target pool.
- “ON” means tiering (that is, a plurality of tiers are provided in the target pool), and “OFF” means that tiering is not performed (that is, tiers are not provided in the target pool).
- “Relocation” is whether or not to relocate the data elements in the target pool.
- “ON” means that rearrangement is performed, and “OFF” means that rearrangement is not performed.
- the important thing regarding the monitoring of the I / O frequency is that the I / O frequency is not updated unless the I / O is actually performed on the real page allocated to the I / O destination VVOL or the virtual page.
- the I / O frequency is updated when I / O is performed on a given real page. This point will also be described in the later-described write process and read process.
- Automatic execution is whether the relocation of the data elements in the target pool is automatically started or manually started. “ON” means that the rearrangement is automatically started, and “OFF” means that the rearrangement is started manually.
- the “relocation execution cycle” is a cycle in which data elements in the target pool are rearranged. For example, “1 day” means that rearrangement is started every day (24 hours).
- Relocation execution time is the time at which relocation of data elements in the target pool is started.
- Monitoring time zone is a time zone for monitoring the I / O frequency of the real page assigned to the VVOL to which the target pool is assigned.
- Pool status is the status of the target pool.
- Monitoring means that the I / O frequency of the VVOL to which the target pool is allocated or the virtual page in the VVOL is being monitored, and the data element is not being relocated.
- Relocating means that data elements have been relocated (relocation within the target pool or data elements from the target pool to another pool) It means being in the middle of being.
- Non-monitoring means neither I / O frequency monitoring nor data element relocation.
- FIG. 8 shows the configuration of the VVOL management table 404.
- the VVOL management table 404 is a table for managing information related to the VVOL. Specifically, for example, the table 404 includes, for each VVOL, a VVOL ID, a PVOL ID, an allocation tier ID, a default tier ID, a capacity, a rearrangement, an automatic execution, a rearrangement execution cycle, a rearrangement execution time, and a monitoring time zone.
- the rearrangement, automatic execution, rearrangement execution cycle, rearrangement execution time, and monitoring time zone are the same as the information elements in the pool management table 403, but the information elements in this table 404 (for example, “ If the value of “relocation”) is different from the value of the same information element (for example, “relocation”) in the pool management table 403, the value in this table 404 may be prioritized.
- the value of the information element is set for one pool, and as a result, the value can be reflected in the settings for all the VVOLs to which the pool is assigned. Can be set.
- VVOL ID is the ID of the target VVOL.
- PVOL ID is an ID of a pool (hereinafter, allocated pool) allocated to the target VVOL.
- Allocation Tier ID is an ID of a tier that is allocated to the target VVOL among a plurality of tiers that the allocation pool has. A real page is allocated from the allocation tier to the virtual page in the target VVOL.
- Default Tier ID is the ID of the default tier.
- the default tier is a tier that provides a real page that is initially allocated to a write-destination virtual page from the host 101.
- Capacity is the capacity of the target VVOL.
- Relocation is whether or not to relocate data elements in the target VVOL.
- ON means that rearrangement is performed, and “OFF” means that rearrangement is not performed.
- ON the I / O frequency of the target VVOL or its virtual page is monitored, and when “OFF”, the I / O frequency of the target VVOL or its virtual page is not monitored.
- Automatic execution is whether the relocation of data elements in the target VVOL is automatically started or manually started.
- the “ON” means that the rearrangement is automatically started, and “OFF” means that the rearrangement is started manually.
- the “relocation execution cycle” is a cycle in which data elements in the target VVOL are rearranged.
- Relocation execution time is the time at which the rearrangement of data elements in the target VVOL is started.
- Monitoring time zone is a time zone for monitoring the I / O frequency of the target VVOL or virtual page.
- FIG. 9 shows the configuration of the PVOL management table 405.
- the PVOL management table 405 is a table for managing information related to PVOL. Specifically, for example, the table 405 has RG ID, PDEV ID, type, PVOL ID, and capacity for each PVOL. Taking one PVOL (hereinafter referred to as “target PVOL” in the description of FIG. 9) as an example, these information elements are specifically as follows.
- RG ID is the ID of the RG that is the basis of the target PVOL.
- PDEV ID is the ID of all PDEVs constituting the RG that is the basis of the target PVOL.
- * “Type” is the type of the target PVOL. This is the same as the type of PDEV that is the basis of the target PVOL. For example, if the RVOL type is “SSD”, the type of the target PVOL is also “SSD”.
- PVOL ID is the ID of the target PVOL.
- Capacity is the capacity of the target PVOL.
- FIG. 10 shows the configuration of the allocation table 407.
- the allocation table 407 is a table representing which virtual page is allocated to which virtual page.
- the table 407 has a VVOL ID, a virtual page ID, a pool ID, a real page ID, and a tier ID for each virtual page.
- VVOL ID is the ID of the VVOL having the target virtual page.
- Virtual page ID is the ID of the target virtual page.
- Pool ID is the ID of the pool assigned to the VVOL having the target virtual page.
- * “Real page ID” is an ID of a real page assigned to the target virtual page.
- * “Tier ID” is an ID of a tier having a real page allocated to the target virtual page.
- FIG. 11 shows the configuration of the real page management table 408.
- the real page management table 408 is a table for managing the status of each real page. Specifically, for example, the table 408 has a pool ID, a real page ID, and a status for each real page. Taking one real page (hereinafter referred to as “target real page” in the description of FIG. 11) as an example, these information elements are specifically as follows. * “Pool ID” is the ID of the pool having the target real page. * “Real page ID” is the ID of the target real page. * “Status” is the status of the target real page. Status values include, for example, “in use” and “free”. “In use” means that the target real page has been assigned to any virtual page. “Free” means that the target real page is not assigned to any virtual page, and therefore can be assigned to any virtual page.
- FIG. 12 shows the configuration of the monitor table 409.
- the monitor table 409 exists for each VVOL.
- the table 409 is a first type monitor table 409A representing the VVOL I / O frequency, or a second type monitor table 409B representing the virtual page I / O frequency.
- the tables 409A and 409B will be described by taking one VVOL (hereinafter referred to as “target VVOL” in the description of FIG. 12) as an example.
- the table 409A has, for example, VVOL ID, total I / O count, average I / O count, maximum I / O count, and final I / O time for each VVOL.
- VVOL ID is the ID of the target VVOL.
- Total number of I / Os is the number of I / Os (specifically, I / Os for real pages allocated to the target VVOL) performed for the target VVOL during the monitoring time period.
- the “average I / O number” is a value calculated by dividing the value of the “total I / O number” by a predetermined time.
- Maximum number of I / Os is the largest number of I / Os among the plurality of I / Os (the number of I / Os for the target VVOL) in the plurality of time zones constituting the monitor time zone.
- Laser I / O time is the latest time when I / O was performed on the target VVOL.
- the table 409B has, for example, a VVOL ID, a virtual page ID, a total number of I / Os, an average number of I / Os, a maximum number of I / Os, and a final I / O time for each virtual page.
- VVOL ID is the ID of the VVOL having the target virtual page (that is, the target VVOL).
- Virtual page ID is the ID of the target virtual page.
- Total number of I / Os is the number of I / Os performed on the target virtual page during the monitoring time period.
- the “average I / O number” is a value calculated by dividing the value of the “total I / O number” by a predetermined time.
- “Maximum number of I / Os” is the largest number of I / Os among a plurality of I / Os (I / Os for the target virtual page) in a plurality of time zones constituting the monitor time zone.
- “Last I / O time” is the latest time when I / O was performed on the target virtual page.
- a table 409A is created for a VVOL designated for data migration in VOL units, and a table 409B is created for a VVOL designated for data migration in page units.
- the table 409A is considered when automatic determination of whether or not to perform data migration in VOL units, and the table 409B is considered when automatic determination of whether or not to perform data migration in page units.
- tables 409A and 409B there are also two tables 409A and 409B, for example (may be more than two). Taking table 409B as an example, two tables 409B are used alternately. Specifically, for example, when rearrangement is executed, a transition page table 411 described later is created using the table 409B for the latest monitoring time zone at the time of execution, and the other table 409B is used. Thus, the I / O frequency is monitored.
- the used tables 409A and 409B may be referred to as active tables 409A and 409B, and the unused tables 409A and 409B may be referred to as standby tables 409A and 409B.
- FIG. 13 shows the configuration of the frequency distribution table 410.
- the frequency distribution table 410 is a table representing the correlation between the number of I / Os and the number of virtual pages.
- the table 410 is created based on the second type monitor table 409B (that is, a table representing the I / O frequency for each virtual page).
- the number of I / Os at least one of the total number of I / Os, the average number of I / Os, and the maximum number of I / Os in the table 409B described above may be employed.
- FIG. 13 is an example in which the average number of I / Os is employed. That is, the table 410 shown in FIG. 13 represents the number of virtual pages for each average I / O number. As can be seen from FIG.
- This table 410 (or a graph created based on this table 410) is displayed on the management apparatus 107.
- the administrator can manually instruct the storage system 103 to start rearrangement of data elements based on the table 401 (or a graph based thereon).
- the frequency distribution table 410 may be updated as the second type monitor table 409B is updated, and is created based on the table 409B when the administrator instructs the display of the frequency distribution. Also good.
- FIG. 14 shows the configuration of the migration page table 411.
- the migration page table 411 is a table created based on the second type monitor table 409B when data is migrated in units of pages.
- a table 411 represents the relationship between the migration source and the migration destination.
- the table 411 has a virtual page ID, a migration source tier ID, a migration destination tier ID, and a migration status for each migration target virtual page.
- target virtual page Taking one virtual page (hereinafter referred to as “target virtual page” in the description of FIG. 14) as an example, these information elements are specifically as follows.
- “Virtual page ID” is the ID of the target virtual page.
- * “Migration source tier ID” is an ID of a tier having a real page (migration source real page) assigned to the target virtual page.
- Migration Destination Tier ID is the ID of the tier that is the migration destination of the data element.
- the real page of the transfer destination is any free real page in the tier.
- Migration status is the status of migration for the target virtual page. As the value of “migration status”, for example, “migrated”, “migrating”, and “not migrated” are available.
- “Migrated” means that the data element has been migrated from the migration source real page to any real page in the migration destination tier.
- Migrating means that the data element is being migrated from the migration source real page to any real page in the migration destination tier.
- Non-migrated means that the migration of the data element from the migration source real page to any real page in the migration destination tier has not yet started.
- the migration page table 411 may include other types of information elements related to the migration source instead of or in addition to the virtual page ID.
- the ID of the real page assigned to the virtual page may be included in the table 411.
- the migration page table 411 may include other types of information elements related to the migration destination instead of or in addition to the migration destination tier ID.
- a free real page in the migration destination tier may be specified based on the tables 402 (FIG. 6) and 408 (FIG. 11), and the ID of the specified real page may be included in the table 411.
- the status of the specified real page may be updated from “free” to “in use” (or another status (for example, “reserve”).
- FIG. 15 shows the configuration of the migration definition table 412.
- the migration definition table 412 represents a migration-related definition for each VVOL.
- the table 412 has a VVOL ID, page unit migration, VOL unit migration, tier maintenance, allocation tier ID, and storage threshold for each VVOL.
- VVOL ID is the ID of the target VVOL.
- Page unit migration is whether or not to perform page unit data migration. “ON” means that data migration is performed in page units, and “OFF” means that data migration is not performed in page units.
- VOL unit migration is whether or not to perform data migration in VOL units (strictly, VOL units). “ON” means performing data migration in VOL units, and “OFF” means not performing data migration in VOL units. Therefore, both “page unit migration” and “VOL unit migration” being “OFF” means that data elements in the target VVOL are not migrated (rearranged).
- Tier maintenance is whether or not to make a tiered transition. To maintain the tier means to make the migration destination tier ID (that is, the tier type) the same as the migration source tier ID. “ON” means that the tier is maintained, and “OFF” means that the tier is not maintained.
- Allocation Tier ID is the ID of the allocation tier of the target VVOL.
- “Storage threshold” is a threshold of the storage ratio of the allocation tier. This threshold is set for each allocation tier.
- the “storage ratio” is as follows for one allocation tier (hereinafter, “target allocation tier” in the description of this paragraph). That is, the storage ratio is how much data elements of all data elements in the target VVOL are stored in the target allocation tier.
- the storage threshold is set for each tier, but instead, one storage threshold is set for one pool, and that one tier is the one pool. It may be common for all tiers of the.
- the processing performed by the computer program is actually performed by an MP (microprocessor) that executes the computer program.
- the MP is in the MPPK 121 (see FIG. 2).
- FIG. 16 shows a flow of pool creation processing.
- a pool newly created by the pool creation processing is referred to as a “target pool”.
- the UI control program 413 receives a pool creation instruction from the administrator through the management apparatus 107. Then, for example, the program 413 performs the following preparation process. * The program 413 adds a new record of the target pool to the tables 402 (FIG. 6), 403 (FIG. 7), and 408 (FIG. 11). * The program 413 receives a PVOL designation from the administrator through the management apparatus 107. Specifically, for example, the program 413 displays information (for example, ID, type, etc.) regarding the RVOL, and receives designation of the RVOL as the PVOL.
- information for example, ID, type, etc.
- S1602 to S1605 are performed for each designated RVOL. Taking one RVOL (hereinafter referred to as “target RVOL” in the description of FIG. 16) as an example, S1602 to S1605 will be described.
- the program 413 specifies the type of the designated RVOL.
- the CMPK 119 stores an RVOL management table having an ID, a capacity, a type (for example, SSD, HDD-SAS) for each RVOL, and the program 413 is designated from the RVOL management table.
- the type of the RVOL that has been specified is specified.
- the program 413 determines from the tier management table 403 whether or not a tier corresponding to the specified RVOL type already exists in the target pool. If the result of this determination is negative, S1604 is performed, and if the result of this determination is affirmative, S1605 is performed.
- the program 413 identifies the tier ID corresponding to the identified RVOL type from the tier definition table 401. Then, the program 413 adds the identified tier ID for the target pool to the table 402 (FIG. 6).
- the program 413 adds the target RVOL to the tier corresponding to the specified RVOL type (hereinafter referred to as “target tier” in this paragraph). Specifically, for example, the program 413 registers the ID of the target RVOL as the PVOL ID corresponding to the tier ID of the target tier in the table 402 (FIG. 6).
- the program 413 determines whether or not S1602 and subsequent steps have been performed for all designated RVOLs. If there is an RVOL in which the processing after S1602 is not performed in the designated RVOL, S1602 and subsequent steps are performed for that RVOL.
- the program 413 displays a pool definition GUI (Graphical User Interface). Then, the program 413 receives various settings through the GUI.
- GUI Graphic User Interface
- FIG. 17 shows a pool definition GUI 1700.
- the ID of the target pool is displayed.
- the program 413 can also display the IDs of pools other than the target pool (that is, existing pools) in response to a predetermined tool (for example, pull-down menu) being operated by the administrator.
- the GUI 1700 also displays information elements “hierarchy”, “relocation”, “automatic execution”, “execution cycle”, “execution time” to be set in the table 403 (FIG. 7) for the pool indicated by the displayed ID. ”,“ Monitor time zone ”, and“ tier threshold value ”, and an input tool used by the administrator to input values.
- an input tool in the present embodiment an arbitrary tool such as a radio button, a check box, and a text input field can be adopted.
- the GUI 1700 can make one threshold common to all tiers of the target pool, or set a threshold for each tier of the target pool. Yes.
- the existing pool ID can also be displayed on the GUI 1700
- the setting of the existing pool desired by the administrator can be changed using the GUI 1700.
- the program 413 displays a warning on the management apparatus 105 as an inappropriate tier threshold.
- the tier threshold value may not be registered in the table 402 (FIG. 6).
- the program 413 updates the table. Specifically, for example, the program 413 performs the following processing. * The program 413 is input to the GUI 1700 in FIG. 17, the information elements “stratification”, “relocation”, “automatic execution”, “execution cycle”, “execution time”, “monitor time zone”, “tier threshold value” "Is registered in the table 403 (FIG. 7). * The program 413 divides the target pool into a plurality of real pages, and adds the IDs of the plurality of real pages to the tables 402 (FIG. 6) and 408 (FIG. 11).
- the real page capacity may be common to all pools. Therefore, the number of real pages configuring the target pool may depend on the capacity of the target pool (the total capacity of the PVOL configuring the target pool).
- the capacity of the real page may be different for each PVOL. Specifically, for example, the capacity of a real page constituting a PVOL based on a RAID 5 (4D + 1P) RG and the capacity of a real page constituting a PVOL based on a RAID 6 (4D + 2P) RG may be different. This is because the number of parity stored in one real page is different.
- FIG. 18 shows the flow of VVOL creation processing.
- a VVOL newly created by the VVOL creation process is referred to as “target VVOL”.
- the UI control program 413 displays a VVOL creation GUI. Then, the program 413 receives various settings through the GUI.
- FIG. 19 shows a VVOL creation GUI 1900.
- the ID of the target VVOL is displayed.
- the program 413 can also display the ID of a VVOL (existing VVOL) other than the target VVOL in response to a predetermined tool (for example, pull-down menu) being operated by the administrator.
- a predetermined tool for example, pull-down menu
- the GUI 1900 displays the information elements “pool ID”, “capacity”, “relocation”, “automatic execution”, “execution cycle”, “information” to be set in the table 404 (FIG. 8) for the VVOL represented by the displayed ID.
- An input tool used by the administrator to input values of “execution time” and “monitor time zone” is provided.
- the GUI 1900 identifies the tier ID corresponding to the input pool ID from the table 402 (FIG. 6), and displays all the identified tier IDs.
- the GUI 1900 has an input tool used by the administrator to input values of “allocation tier”, “storage threshold”, and “default tier” for the VVOL represented by the displayed ID.
- the administrator uses these input tools to determine which of the multiple tiers of the pool (pool allocated to the VVOL) represented by the input pool ID is to be assigned tier, and which of the assigned tiers is The “default tier” can be entered, and the storage threshold for each assigned tier can be entered.
- the program 413 updates the table. Specifically, for example, the program 413 performs the following processing.
- the program 413 includes information elements “pool ID”, “capacity”, “relocation”, “automatic execution”, “execution cycle”, “execution time”, and “monitor time zone” input to the GUI 1900 of FIG.
- the values of “allocation tier ID” and “default tier ID” are registered in the table 404 (FIG. 8).
- the program 413 calculates the number of virtual pages constituting the target VVOL based on the capacity of the target VVOL.
- the program 413 registers the ID of the target VVOL and the virtual page IDs for the calculated number of virtual pages in the table 407 (FIG. 10).
- the program 413 creates the tables 409A and 409B (FIG. 12) if the “relocation” is “ON” for the target VVOL. This is because the I / O frequency is monitored during the monitoring time period. Note that the virtual page IDs for the calculated number of virtual pages are registered in the table 409B. * The program 413 registers “allocation tier ID” and “storage threshold” for the target VVOL in the table 412 (FIG. 15).
- Fig. 20 shows the flow of migration definition processing.
- the UI control program 413 displays a migration definition GUI. Then, the program 413 receives various settings through the GUI.
- FIG. 21 shows the migration definition GUI 2100.
- the GUI 2100 has an input tool for the administrator to specify the ID of the VVOL.
- the administrator uses the input tool to display the ID of the VVOL subject to migration definition (hereinafter referred to as “target VVOL” in the explanation of ⁇ migration definition>).
- the GUI 2100 is an administrator for inputting values of information elements “page unit migration”, “VOL unit migration”, and “tier maintenance” to be set in the table 412 (FIG. 15). Has an input tool to use.
- the program 413 performs, for example, the following control in response to an operation from the administrator. * The program 413 cannot select the other “ON” of “page unit migration” and “VOL unit migration” when “ON” of “page unit migration” and “VOL unit migration” is selected. Control. That is, the program 413 performs control so that both “page unit migration” and “VOL unit migration” are not set to “ON”. * The program 413 can still select the other “OFF” of “page unit migration” and “VOL unit migration” even if “OFF” of one of “page unit migration” and “VOL unit migration” is selected. (Ie not selectable).
- the program 413 can select “ON” of “tier maintenance” and cannot select “OFF” of “tier maintenance”. On the other hand, when “OFF” of “VOL unit migration” is selected, the program 413 makes it impossible to select “ON” of “tier maintenance” and to select “OFF” of “tier maintenance”.
- the program 413 updates the table. Specifically, for example, the program 413 stores information elements “page unit migration”, “page unit information” input to the GUI 2100 in the column corresponding to the VVOL ID input to the GUI 2100 in FIG. 21 in the table 412 (FIG. 15). Register the values of “VOL unit migration” and “Tier maintenance”.
- FIG. 22 shows a flow of information display processing.
- the UI control program 413 receives a display command from the management device 107 (S2201), and displays information specified by the display command on the management device 107 (S2202).
- the types of information that can be displayed include, for example, at least one of the tables 401 to 412 (or information obtained by processing the table (eg, graph, summary, etc.)).
- FIG. 23 shows a frequency distribution GUI 2300.
- the frequency distribution GUI 2300 is displayed in S2202 of FIG. Specifically, for example, in S2201 of FIG. 22, the management apparatus 107 transmits a frequency distribution display command designating the VVOL ID desired by the administrator in accordance with a request from the administrator.
- the program 413 extracts a frequency distribution corresponding to the VVOL ID specified by the command from the table 410 (FIG. 13), and the extracted frequency distribution is shown in FIG. As shown in FIG.
- the frequency distribution is displayed in a table format, but may be displayed in another format such as a graph format instead of or in addition to the frequency distribution.
- the administrator looks at the frequency distribution displayed on the GUI 2300 and determines whether or not to migrate the data element in the desired VVOL. For example, if the administrator thinks that there are a large number of virtual pages with a high average I / O count, the administrator may instruct the storage system 103 to migrate the data elements in the desired VVOL (for example, in the GUI 2300) You can press the “Migrate” button).
- the frequency distribution is used as a determination material for the administrator to determine whether or not to perform data migration (migration of data elements in the VVOL). In other words, if the data migration is performed automatically, the frequency distribution need not be calculated.
- FIG. 24 shows a flow of write processing (write to cache memory).
- the I / O control program 414 receives a write command from the host 101.
- the program 414 specifies the write-destination VVOL and virtual page from the I / O destination information included in the received write command.
- a plurality of virtual pages are often specified. This is because the size of write target data is usually larger than the capacity of one virtual page.
- S2403 and subsequent steps are performed for each identified virtual page.
- target virtual page the data element to be written to the target virtual page.
- the program 414 determines whether the ID of the target virtual page exists in the migration page table 411. If the result of this determination is negative, S2404 to S2406 are performed, and if the result of this determination is affirmative, S2407 to S2408 are performed.
- the program 414 determines whether a real page is assigned to the target virtual page based on the allocation table 407 (FIG. 10). If the result of this determination is negative, S2405 is performed.
- the program 414 performs the following processing.
- the program 414 identifies the pool corresponding to the write-destination VVOL and the default tier in the pool based on the VVOL management table 404 (FIG. 8).
- the program 414 specifies a free real page in the specified default tier based on the tier management table 402 (FIG. 6) and the real page management table 408 (FIG. 11).
- the program 414 assigns the specified real page to the target virtual page. That is, the program 414 stores the allocated real page ID, the tier ID having the real page, and the pool ID having the tier in the column corresponding to the ID of the target virtual page in the allocation table 407 (FIG. 10). And register.
- the program 414 may identify a free real page from the allocation tier corresponding to the write destination VVOL, and allocate the identified real page to the target virtual page.
- the program 414 updates the value of “use ratio” of the tier (referred to as “allocation source tier” in the description of S2403) having the allocated real page in the table 402 (FIG. 6).
- the program 414 determines whether or not the updated value of the “use ratio” of the allocation source tier exceeds the value of the “tier threshold” of the allocation source tier (hereinafter referred to as “determination Z”).
- the value of the “tier threshold” of the allocation source tier is a value registered in the table 402 (FIG.
- the program 414 may perform at least one of the following (a) and (b) if the result of the determination Z is affirmative.
- the program 414 may notify the management apparatus 107 (and / or the host 101 that has sent the write command) of the error. If the administrator learns an error about the allocation source tier, the administrator can add an RVOL to the allocation source tier.
- the program 414 calls the rearrangement program 415.
- the rearrangement program 415 performs the processing shown in FIG. The process shown in FIG. 38 will be described later.
- the program 414 secures a CM area for the data element stored in the target virtual page from the cache memory.
- the program 414 secures a CM area according to the “migration status” value corresponding to the target virtual page in the migration page table 411. Specifically, for example, it is as follows.
- the program 414 updates the “migration status” corresponding to the target virtual page to “migrated”. As a result, data elements are not migrated for the target virtual page. In other words, the migration of the data element for the target virtual page is cancelled.
- the program 414 assigns the determined write destination real page to the target virtual page instead of the original real page. That is, the program 414 stores the ID of the write-destination real page and the ID of the tier having the real page (migration destination tier ID) in the column corresponding to the ID of the target virtual page in the allocation table 407. Overwrite.
- the program 414 updates the “status” of the original real page assigned to the target virtual page in the real page management table 408 (FIG. 11) to “free”.
- the program 414 updates the “status” of the real page newly assigned to the target virtual page (the determined write destination real page) to “in use” in the table 408. (Specific example A2) * The program 414 secures a CM area, and determines a real page (real page in the migration source tier) allocated to the target virtual page as a write destination. More specifically, for example, if the data element in any free real page in the migration destination tier is not in the cache memory, the program 414 has a CM area (for example, in the real page allocated to the target virtual page). An area in which the data element exists) is secured, and a real page (real page in the migration source tier) allocated to the target virtual page is determined as a write destination.
- the program 414 may update the “migration status” corresponding to the target virtual page to “suspended”. Thereby, for example, data migration by the rearrangement program 415 is not performed for the target virtual page. Note that the value of the “migration status” may be returned from “suspended” to “not migrated” when a destage described later is completed by the program 414, for example.
- the destage is performed after the “migration status” corresponding to the target virtual page is updated to “migrated”. Therefore, the write destination (destination destination) is a real page in the migration destination tier. This is because at that time, a real page in the migration destination tier is allocated to the target virtual page. (Specific example B3) * The program 414 secures a CM area.
- the destage is performed while the “migration status” corresponding to the target virtual page is “migrating”, and the data element includes the real page assigned to the target virtual page, Destaged to both real pages in the migration destination tier (so-called double write is performed).
- FIG. 25 shows a flow of destage processing.
- the I / O control program 414 performs destage processing for each data element constituting the write target data.
- the program 414 performs destage. That is, the program 414 writes a data element (dirty data element) that has not been written to the real page among the plurality of data elements existing in the cache memory to the real page.
- the destage destination real page is a real page (real page specified from the allocation table 407) assigned to the virtual page that is the write destination of the real page.
- the program 414 may update the “migration status” to “not migrated”.
- the program 414 determines whether or not the monitor table 409A or 409B needs to be updated based on the table 403 (FIG. 7) or 404 (FIG. 8).
- the table 404 (FIG. 8) may be prioritized. Specifically, for example, the program 414 performs the following two determinations P and Q.
- Decision P The program 414 determines whether or not “relocation” corresponding to the pool having the actual page of the destage destination in S2501 (hereinafter referred to as “target pool” in the description of FIG. 25) is “ON”.
- the program 414 determines whether or not the current time is within the time period represented by the value of the “monitor time period” corresponding to the target pool. If the result of this determination Q is negative, S2503 is not performed. On the other hand, when not only the determination P but also the result of the determination Q is affirmative, S2503 is performed (that is, the monitor table 409A or 409B needs to be updated).
- the program 414 updates the monitor table 409A or 409B. Specifically, for example, it is as follows. * The program 414 updates the active first type monitor table 409A corresponding to the target VVOL if the “VOL unit migration” corresponding to the target VVOL is “ON” in the table 412 (FIG. 15). . Specifically, for example, the program 414 updates (for example, increments by 1) the value of “total number of I / Os” in the active first type monitor table 409A and sets the “last I / O time”. Update the value. For example, the program 414 adds the time at the destage time for the target VVOL to an I / O history table (not shown).
- the I / O history table records, for example, the time when the I / O is performed every time I / O is performed on the real page (further different types such as I / O type (read or write)). May be recorded).
- the program 414 may update the “average I / O count” and “maximum I / O count” in the active first type monitor table 409A later.
- the program 414 updates the active second type monitor table 409B corresponding to the target VVOL if the “page unit migration” corresponding to the target VVOL is “ON” in the table 412 (FIG. 15). .
- the program 414 updates the value of the “total I / O count” corresponding to the write destination virtual page of the destaged data element in the active second type monitor table 409B (for example, 1) and the value of “last I / O time” is updated.
- the program 414 adds the time at the destage time for the write destination virtual page to the I / O history table.
- the ID of the write destination virtual page may be recorded in the I / O history table.
- the program 414 may update the “average I / O number” and “maximum I / O number” in the active second type monitor table 409B later.
- FIG. 26 shows the flow of read processing.
- the I / O control program 414 receives a read command from the host 101. Then, the program 414 identifies the read-source VVOL and virtual page from the I / O destination information included in the received read command.
- the program 414 determines whether there is data to be read on the cache memory. If the result of this determination is negative, S2603 is performed, and if the result of this determination is affirmative, S2602 is performed.
- the program 414 transmits the read target data on the cache memory to the host 101.
- the monitor tables 409A and 409B corresponding to the read-source VVOL are not updated. This is because no I / O is performed on the actual page.
- the program 414 determines whether or not a real page is allocated to the virtual page specified in S2600. If the result of this determination is negative, S2604 is performed, and if the result of this determination is affirmative, S2605 is performed.
- the program 414 transmits a predetermined response (for example, data representing zero) to the host 101.
- the program 414 reads data elements from one or more real pages (one or more real pages specified from the allocation table 407) respectively assigned to one or more virtual pages specified in S2600.
- the program 414 transmits the read target data composed of these data elements to the host 101.
- the program 414 waits until the “migration status” is updated to “migrated” for the virtual page whose “migration status” is “migrating”. Thereafter, the program 414 reads data elements from one or more real pages (one or more real pages specified from the allocation table 407) respectively assigned to one or more virtual pages specified in S2600. The program 414 transmits the read target data composed of these data elements to the host 101.
- the program 414 determines whether or not the monitor table 409A or 409B needs to be updated based on the table 403 (FIG. 7) or 404 (FIG. 8).
- the table 404 (FIG. 8) may be prioritized. Specifically, for example, the program 414 performs the following two determinations V and W. (Decision V) The program 414 determines whether the “relocation” corresponding to the pool (hereinafter referred to as “read source pool” in the description of FIG. 26) assigned to the read source VVOL is “ON”, or Then, it is determined whether or not “relocation” corresponding to the read source VVOL is “ON”.
- the program 414 updates the monitor table 409A or 409B. Specifically, for example, it is as follows. * If the “VOL unit migration” corresponding to the read-source VVOL is “ON” in the table 412 (FIG. 15), the program 414 is the first active monitor table corresponding to the read-source VVOL. 409A is updated. Specifically, for example, the program 414 updates (for example, increments by 1) the value of “total number of I / Os” in the active first type monitor table 409A and sets the “last I / O time”. Update the value. Further, for example, the program 414 adds the data read time for the read-source VVOL to the above-described I / O history table.
- the program 414 may update the “average I / O count” and “maximum I / O count” in the active first type monitor table 409A later.
- the program 414 is the active second type monitor table corresponding to the read source VVOL. 409B is updated. Specifically, for example, the program 414 updates (for example, increments by 1) the value of “total I / O count” corresponding to the write source virtual page of the read source in the active second type monitor table 409B.
- the value of “last I / O time” is updated.
- the program 414 adds the time at the time of reading for the read-source virtual page to the above-described I / O history table.
- the ID of the read source virtual page may be recorded in the I / O history table.
- the program 414 may update the “average I / O number” and “maximum I / O number” in the active second type monitor table 409B later.
- FIG. 27 shows an overview of the relationship between I / O frequency monitoring and relocation.
- the monitor table 409A or 409B is updated.
- the monitor table 409 is not updated.
- the frequency distribution table 410 is updated. Note that the frequency distribution table 410 does not have to be prepared in advance. For example, when the administrator orders the display of the frequency distribution, the frequency distribution table 410 is created based on the monitor table 409B. A frequency distribution may be displayed on the basis. Note that the monitor table 409A or 409B may be displayed instead of the frequency distribution.
- Relocation processing includes tier determination processing and migration processing.
- a migration page table 411 is created.
- the table 411 may be created based on the I / O frequency represented by the monitor table 409A or 409B and the tier range in the tier management table 402 (FIG. 6).
- data migration in units of pages or data migration in units of VOL is performed based on the created migration page table 411.
- the rearrangement process may be performed when the usage ratio of a certain tier exceeds the tier threshold value of the tier, and may be performed periodically (for example, every time indicated by the value of “relocation execution time”). It may be broken.
- FIG. 28 shows the flow of the rearrangement process.
- FIG. 28 is a flow for one VVOL (referred to as “target VVOL” in the description of FIG. 28).
- the rearrangement program 415 determines whether to perform data migration for the target VVOL. Specifically, for example, the following processing is performed. * The program 415 determines whether or not “automatic execution” corresponding to the target VVOL is “ON” in the VVOL management table 404 (FIG. 8). When there is no “automatic execution” value setting corresponding to the target VVOL, the program 415 uses the pool assigned to the target VVOL in the pool management table 403 (FIG. 7) (hereinafter “target pool” in the description of FIG. 28). It is determined whether “automatic execution” corresponding to “)” is “ON”.
- monitor table 409A that has been active so far is referred to, another monitor table 409A (standby table 409A) is made active, and the monitor table 409A that has become active becomes the target VVOL. Used for monitoring I / O frequency.
- the program 415 performs migration processing in units of VOL for the target VVOL.
- data migration in VOL units data elements in a real page allocated to the target VVOL among a plurality of data elements in the target pool are migrated to another pool.
- the VOL unit migration process will be described in detail later.
- the program 415 determines whether or not a tear range is set by the administrator. If the result of this determination is negative, S2808 is performed after S2807 is performed, and if the result of this determination is negative, S2808 is performed without performing S2807.
- the program 415 performs a tear range determination process. Through this process, the tear range is determined. There are several possible methods for determining the tear range. For example, a plurality of types of tier ranges may be prepared in advance, and the program 415 may select an arbitrary tier range from the plurality of types of tier ranges for each tier.
- the program 415 performs a tier determination process.
- the migration page table 411 is created as described above.
- the program 415 performs page-based migration processing according to the created migration page table 411.
- data migration in units of pages data elements are migrated from a real page in one tier to a real page in another tier in the target pool.
- the page unit migration process will be described in detail later.
- the UI control program 413 receives an instruction for data migration in VOL units from the management at a time before S2801.
- FIG. 29 shows a VOL unit migration instruction GUI 2900.
- the VVOL that is the target of the migration process is referred to as the “target VVOL”
- the pool assigned to the target VVOL is referred to as the “migration source pool”
- the actual page that stores the data elements to be migrated Is called the “migration source real page”
- the tier that has the migration source real page is called the “migration source tier”
- the pool that is the migration destination of the migration target data element is called the “migration destination pool”
- the migration target data The tier that is the migration destination of the element is called “migration destination tier”
- the real page that is the migration destination of the data element to be migrated is called “migration destination real page”.
- This GUI 2900 is displayed on the management apparatus 107 by the program 413.
- the GUI 2900 includes, for example, an input tool for the administrator to input the VVOL ID, the migration destination pool ID, and whether or not to turn on tier maintenance.
- the VVOL ID and the migration destination pool ID selected by the administrator are displayed.
- the program 413 may display an ID of a pool other than the migration source pool in a selectable manner as the migration destination pool ID.
- the program 413 uses the pool having the same plurality of tiers as the migration source pool as the migration destination pool ID (that is, the hierarchical configuration of the target pool). Only the IDs of pools having the same hierarchical structure are displayed in a selectable manner. This is because the tier maintenance / migration process described with reference to FIGS. 30 and 31 cannot be performed without such a pool.
- the program 413 displays a default tier ID corresponding to the displayed migration destination pool ID.
- the program 413 may display a list of assigned tier IDs corresponding to the displayed pool IDs, and set an administrator-desired ID in the list as a new default tier ID.
- VOL migration processing includes tier maintenance migration processing and tier non-maintenance migration processing. Whether to perform the tier maintenance migration process or the tier non-maintenance migration process can be specified by, for example, the GUI 2900 in the case of manual execution, and in the case of automatic execution, the setting of the table 412 (FIG. 15) "Is" ON “or” OFF ").
- FIG. 30 shows an overview of the tier maintenance migration process.
- the data element in the migration source real page is migrated to the real page in the tier having the same ID as the migration source tier ID (tier type). Specifically, for example, the data element stored in the real page #X in the tier # 00 included in the pool # 00 is transferred to the real page #Y in the tier # 00 included in the pool # 11. After the migration, the real page #Y is assigned to the virtual page #Z to which the real page #X is assigned instead of the real page #X.
- FIG. 31 shows the flow of the tier maintenance migration process.
- the rearrangement program 415 selects a migration destination pool from a plurality of pools based on the tier management table 402 (see FIG. 6).
- the migration destination pool is a pool having a plurality of tiers that are the same as a plurality of tiers of the target pool (that is, a pool having the same hierarchical configuration as the target pool).
- this S3101 may not be performed if, for example, the migration destination pool has already been selected manually.
- the program 415 determines whether or not migration is possible. Specifically, the program 415 determines whether or not the “pool status” corresponding to the migration destination pool in the pool management table 403 (FIG. 7) is “relocating”. If the result of this determination is affirmative, S3103 is performed, and if the result of this determination is negative, S3104 is performed.
- Another pool is selected as the migration destination pool.
- the program 415 may select another pool that has the same plurality of tiers as the plurality of tiers that the migration source pool has.
- the UI control program 413 may display a message indicating an error on the GUI 2900 in FIG. 29 and accept the designation of the migration destination pool ID from the administrator. Thereafter, S3102 is performed for the selected migration destination pool.
- the program 415 updates the “pool status” values of both the migration source pool and the migration destination pool to “relocating”. At this time, the program 415 may update the table 404 (FIG. 8) so that the migration destination pool is assigned to the target pool instead of the migration source pool.
- the I / O control program 414 receives a write command designating the target VVOL and the write-target data element according to the write command is destaged, the data element is stored in the migration destination pool. May be written to actual data.
- the program 415 selects one tier from one or more allocation tiers of the target VVOL.
- the tier selected here is one migration source tier.
- the program 415 has migrated all the migration target data elements in the migration source tier to the migration destination tier (the tier with the same ID as the selected migration source tier and in the migration destination pool). Then, it is determined whether or not the usage rate of the migration destination tier exceeds the tier threshold value of the migration destination tier.
- the program 415 makes this determination based on the tables 402 (FIG. 6) and 408 (FIG. 8). If the result of this determination is affirmative, S3106 is performed, and if the result of this determination is negative, S3107 is performed.
- (S3106) Error handling is performed.
- the program 415 may display an error on the management apparatus 107 and terminate.
- the program 415 may increase free real pages in the migration destination tier by performing the processing shown in FIG.
- the program 415 performs migration processing. Specifically, for example, it is as follows. * The program 415 creates a migration page table 411 for this migration processing. Specifically, for example, the program 415 is assigned a real page in the migration source tier among a plurality of virtual pages constituting the target VVOL based on the tables 402 (FIG. 6) and 407 (FIG. 10). The ID of the virtual page being registered is registered in the table 411. Further, the program 415 registers the migration source tier ID and the migration destination tier ID for each registered virtual page ID, and sets “non-migration” as the “migration status”. * The program 415 performs the following processing for each virtual page ID registered in the migration page table 411.
- the program 415 updates the “migration status” value corresponding to the target virtual page to “migrating”. ** The program 415 selects a free real page from the migration destination tier. ** The program 415 migrates the data elements stored in the migration source real page in the migration source tier to the selected real page (migration destination real page).
- the migration source real page is a real page assigned to the target virtual page. ** The program 415 updates the allocation table 407 so that the migration destination real page is assigned to the target virtual page instead of the migration source real page.
- the program 415 associates the migration destination real page ID, the migration destination tier ID, and the migration destination pool ID with the target virtual page.
- the program 415 updates the I / O frequency (for example, the active table 409A or 409B) of the target virtual page. Specifically, for example, the total number of I / Os of the target virtual page or target VVOL is incremented by one. ** The program 415 updates the “use ratio” value of the migration destination tier in the table 402 (FIG. 6). ** The program 415 updates the value of “migration status” corresponding to the target virtual page to “migrated”.
- the program 415 determines whether or not S3105 and subsequent steps have been performed for all migration source tiers (all allocation tiers of the target VVOL) in the migration source pool. If the result of this determination is negative, S3105 is performed for the migration source tier for which S3105 has not been performed. If the result of this determination is affirmative, S3109 is performed.
- the program 415 updates the value of the “pool status” of both the migration source pool and the migration destination pool to a value different from “relocation”, for example, “monitoring” or “not monitoring”.
- FIG. 32 shows an overview of the tier non-maintenance transition process.
- all migration target data elements in the migration source pool are migrated to the default tier in the migration destination pool. Specifically, for example, all migration target data elements in the pool # 00 are migrated to the default tier # 01 in the pool # 11.
- FIG. 33 shows the flow of the tier non-maintenance transition process.
- S3301 to S3309 The same processing as S3101 to S3109 in FIG. 31 is performed (S3301 to S3309).
- the process of S3305 is slightly different from the process of S3105. Specifically, in S3105, the migration destination tier is different if the migration source tier is different, but in S3305, the migration destination tier is always the default tier in the migration destination pool even if the migration source tier is different. It is.
- the following process may be performed.
- the data elements in the VVOL are arranged in accordance with the I / O frequency of the VVOL by performing the migration process.
- the program 415 calculates the threshold range of the I / O frequency based on the tier at which the ratio of all the real pages allocated to the VVOL exists.
- the program 415 calculates the threshold range of the I / O frequency based on the tier ranges of all allocation tiers of the VVOL and the number of real pages allocated to the VVOL that each allocation tier has.
- the program 415 compares the calculated threshold range with the VVOL I / O frequency.
- the program 415 determines the migration destination tier in the migration destination pool for each real page assigned to the VVOL, and migrates the data element to the real page in the decided migration destination tier.
- the threshold range after migration (one or more tier tiers having all migration destination real pages assigned to the VVOL, and the migration destination real pages assigned to the VVOL in each of the one or more tiers)
- Threshold range obtained based on the number of VVOLs is a threshold range in which the VVOL I / O frequency falls.
- FIG. 34 shows the flow of the migration page table creation process in S2808 of FIG.
- the program 415 selects the first virtual page of the target VVOL.
- the program 415 determines whether a real page is assigned to the selected virtual page. If the result of this determination is negative, S3405 is performed, and if the result of this determination is affirmative, S3403 is performed.
- the program 415 determines, based on the second type monitor table 409B, whether or not to change the tier in which the data element in the real page allocated to the selected virtual page should exist. Specifically, for example, it is as follows. * The program 415 identifies from the table 402 (FIG. 6) a tier (“target tier” in the description of S3403) having a real page assigned to the selected virtual page. * The program 415 calculates the I / O frequency of the selected virtual page (for example, among the total I / O number, average I / O number, and maximum I / O number represented by the active monitor table 409B corresponding to the target VVOL).
- the data elements in the real page assigned to the selected virtual page should be migrated from the target tier to another tier based on the “tier range” value corresponding to the target tier. Judge whether or not. For example, if the I / O frequency of the selected virtual page does not fall within the tier range corresponding to the target tier of the selected virtual page, it is determined that the data element should be migrated.
- S3403 If the result of the determination in S3403 is negative, S3405 is performed, and if the result of the determination is positive, S3404 is performed.
- the program 415 executes the I / O frequency of the selected virtual page (for example, among the total I / O number, the average I / O number, and the maximum I / O number represented by the active monitor table 409B corresponding to the target VVOL).
- the migration destination tier is determined based on at least one) and the value of “tier range” corresponding to another allocation tier in the pool having the target tier.
- an allocation tier allocation tier of the target VVOL
- the program 415 registers the ID of the selected virtual page, the ID of the target tier, the ID of the determined migration destination tier, and the migration status “not migrated” in the migration destination page table 411.
- step S3406 The program 415 determines whether or not the selected virtual page is a virtual page at the end of the target VVOL. If the result of this determination is negative, step S3406 is performed, and if the result of this determination is affirmative, the transition page table creation process ends.
- the program 415 selects a virtual page next to the virtual page selected immediately before from the target VVOL. Thereafter, S3402 and subsequent steps are performed for the selected virtual page.
- This moving page table creation process creates a moving page table 411 for page-by-page migration processing.
- FIG. 35 shows an overview of the page-by-page migration process.
- the data element in the real page assigned to the virtual page is free of the data in the migration destination tier corresponding to the virtual page. Move to real page.
- a migration destination real page is assigned to the virtual page instead of the migration source real page.
- there are data elements that are transferred to a higher tier by this transfer process and there are data elements that are transferred to a lower tier.
- data elements in the virtual page can be arranged in a tier suitable for the I / O frequency of the virtual page.
- a higher tier range is set for the upper tier and a lower tier range is set for the lower tier.
- tier # 11 is a high-speed and highly-reliable tier (for example, a tier whose RVOL type is “SSD”), and a high tier range is set.
- tier # 13 is a low-speed or low-reliability tier (for example, a tier whose RVOL type is “HDD-SATA”) and a low tier range is set.
- tier # 12 is the default tier of VVOL # 50 and a medium tier range is set.
- the data element to be written to the virtual page constituting the VVOL # 50 is once written to the real page in the default tier # 12. Thereafter, for example, when the I / O frequency of a certain virtual page #A in the VVOL # 50 becomes high enough to be within a high tier range, the virtual page #A is assigned to that virtual page #A.
- the data elements in the real page #X are transferred from the tier # 12 to the tier # 11.
- the virtual page #B is assigned to that virtual page #B.
- the data elements in the actual page #Y are transferred from tier # 12 to tier # 13.
- the data elements in the VVOL are appropriately tiered (physical storage). Resources).
- FIG. 36 shows a flow of page-by-page migration processing.
- the relocation program 415 updates the “pool status” of the pool assigned to the target VVOL to “relocating”.
- the program 415 selects the top record of the created migration page table 411.
- the program 415 selects a free real page from the migration destination tier represented by the selected record, and the data elements stored in the migration source real page in the migration source tier in the selected real page (migration destination real page) To migrate.
- the migration source real page is a real page assigned to the target virtual page.
- the program 415 updates the table. Specifically, for example, it is as follows. * The program 415 updates the allocation table 407 so that the migration destination real page is assigned to the virtual page represented by the selected record (hereinafter, “selected virtual page” in the description of S3605) instead of the migration source real page. . That is, the program 415 associates the ID of the migration destination real page and the ID of the migration destination tier with the selected virtual page. * The program 415 updates the I / O frequency (for example, the active table 409A or 409B) of the selected virtual page. Specifically, for example, the total number of I / Os of the selected virtual page or target VVOL is incremented by one. * The program 415 updates the “use ratio” value of the migration destination tier in the table 402 (FIG. 6).
- step S3608 The program 415 determines whether or not the selected record is a terminal record in the virtual page table 411. If the result of this determination is negative, step S3608 is performed, and if the result of this determination is affirmative, the transition process ends.
- the program 415 selects a record next to the record selected immediately before from the virtual page table 411. Thereafter, S3603 and subsequent steps are performed for the selected record.
- the program 415 may determine whether or not the usage rate of the migration destination tier exceeds the tier threshold value of the migration destination tier, assuming that the data element has been migrated to the migration destination tier. If it is determined that the number exceeds, the program 415 may skip S3603 to S3606 and perform S3607 (that is, the program 415 may not perform data element migration for the selected record).
- the program 415 increases the number of free real pages to the migration destination tier by performing the rearrangement process for the VVOL having the migration destination tier as the allocation tier, and then starts S3603 Also good.
- the program 415 may determine whether the usage rate of the migration destination tier exceeds the tier threshold value of the migration destination tier. If it is determined that the number has exceeded, the program 415 may display a warning on the management apparatus 107 and / or perform a relocation process on the VVOL with the migration destination tier as the allocation tier, thereby freeing the migration destination tier. You can increase the number of real pages.
- the UI control program 413 can accept a change in the tier threshold from the administrator.
- FIG. 37 shows the flow of the tier threshold value changing process.
- the program 413 receives the pool ID and tier ID and the changed tier threshold value for the tier ID.
- the program 413 determines whether or not the “use ratio” value corresponding to the pool ID and tier ID received in S3701 exceeds the changed tier threshold value.
- the program 413 displays an error on the management apparatus 107 when the result of the determination in S3702 is affirmative.
- the program 414 or 415 may determine whether the updated value of the “use ratio” exceeds the value of the “tier threshold value” corresponding to the tier. If the result of this determination is affirmative, the program 414 or 415 may perform the threshold value excess handling process shown in FIG.
- FIG. 38 shows a flow of processing for dealing with over-threshold values.
- the program 414 or 415 determines whether or not the “pool status” of the pool having a tier whose usage ratio exceeds the tier threshold is “relocating” (S3801).
- the program 414 or 415 issues a warning to the management apparatus 107 or the host 101 (S3802).
- the warning may include, for example, the ID of the tier whose usage rate has exceeded the tier threshold, the ID of the pool having the tier, and the value of “pool status” of the pool (“relocating”).
- the program 414 or 415 issues a warning to the management apparatus 107 or the host 101 (S3803), and rearrangement processing is performed so that the usage rate of the tier is less than or equal to the tier threshold value of the tier. (FIG. 28) is executed (S3804).
- the warning in S3803 may include, for example, the ID of the tier whose usage rate has exceeded the tier threshold, the ID of the pool having the tier, and a message indicating that the relocation processing is performed for the pool. .
- data element aggregation processing may be performed.
- FIG. 39 shows an overview of data element aggregation processing.
- the I / O control program 414 or the rearrangement program 415 periodically or when writing data elements to the real page for the VVOL # 39 (for example, at the end of the VOL unit or page unit migration process) Check the arrangement of data elements in VVOL # 39. Specifically, for example, in the program 414 or 415, for each allocation tier # 00, # 01, # 03 of the VVOL # 39, what percentage of the data elements among all the data elements in the VVOL # 39 is obtained. Calculate whether it exists (that is, the storage ratio). The program 414 or 415 determines whether there is an allocation tier whose storage ratio exceeds the storage threshold in the allocation tiers # 00, # 01, and # 03 of the VVOL # 39.
- the program 414 or 415 When there is an allocation tier whose storage ratio exceeds the storage threshold, the program 414 or 415 stores the data elements in the allocation tiers # 01 and # 03 (data elements in the VVOL # 39) other than the allocation tier # 00. , The allocation tier # 00 (specifically, for example, a free real page of the allocation tier # 00).
- the program 414 always assigns an allocation tier to the virtual page.
- a real page may be allocated from # 00.
- the program 414 or 415 may perform the following (x) or (y).
- the program 414 does not transfer the data elements in the allocation tiers # 01 and # 03 to the allocation tier # 00.
- the program 414 increases the number of free real pages to the allocation tier # 00 by moving the data elements in the VVOL other than the target VVOL and in the allocation tier # 00 to another tier.
- the default tier is always the tier with the maximum I / O performance (for example, I / O speed or response time) in the VVOL allocation tier (for example, the highest of the allocation tiers). Higher tier). This is to increase the VVOL I / O performance as much as possible.
- the data element to be written to the VVOL may be arranged in a higher allocation tier as possible. However, control is performed so that the used capacity of the allocated tier does not exceed the tier threshold value of the allocated tier.
- a evacuation tier may be provided in common with each pool or a plurality of pools.
- the programs 414 and 415 normally do not write data elements to the evacuation tier, either by writing according to a write command from the host or by migration processing in the rearrangement processing.
- the program 414 or 415 for example, if the usage rate of the tier to which the data element is written (hereinafter “target tier” in the description of this paragraph) exceeds the tier threshold value of the tier, The data elements in the page (or the data elements in the real page in the target tier assigned to the virtual page whose I / O frequency does not fit in the target tier's tier range) are transferred to the evacuation tier.
- the program 414 or 415 may assign the migration destination real page in the evacuation tier to the virtual page assigned to the migration source real page in the target tier instead of the migration source real page. Thereafter, the program 414 or 415 adds the tier range in which the I / O frequency of the virtual page allocated to the real page in the save tier is set to the real page in the save tier. Stored data elements may be migrated.
- the evacuation tier may be, for example, a tier composed of the same type of RVOL as the highest tier.
- the default tier need not be set.
- the data element to be written from the host 101 to the VVOL may be written to the upper tier as much as possible.
- the data element may be written in a tier one lower than the upper tier.
- VVOL I / O frequency may be calculated by summing up the I / O frequencies for each virtual page included in the monitor table 409B.
- the page-by-page migration process or the VOL-by-VOL migration process can be interrupted.
- the relocation program 415 receives an interruption instruction from the administrator, the relocation program 415 proceeds to the transition status “migrating” until the transition status “transferred”,
- the migration process in VOL units can be interrupted.
- the program 415 may resume the migration process based on the migration page table 411 after a certain time after receiving the interruption instruction or when receiving a restart instruction.
- the program 415 discards the migration page table 411 when receiving an interruption instruction, and creates the migration page table 411 based on the active monitor table 409A or 409B in the next migration processing. good.
- both of the monitor tables 409A and 409B may be updated regardless of which of “VOL unit migration” and “page unit migration” in the table 412 (FIG. 15) is “ON”.
- the Thin Provisioning VVOL 203 is allocated with a real page in response to a write request from the host 101 to a certain address of the virtual page.
- the present invention is limited to this case.
- the following examples are also preferable. This is because even in these examples, it is possible to reduce the capacity actually used.
- the first example is as follows. That is, for some virtual pages of a plurality of virtual pages of the VVOL 203 or for some areas included in each virtual page of the VVOL 203, the host 101 receives a write request to a certain address of the virtual page. If the real area has been allocated in advance (pre-allocation), and the already allocated area is not sufficient and further allocation is required in response to a write request from the host 101 to an address of a virtual page, Additional real space is allocated.
- the second example is as follows. That is, a plurality of virtual pages of the VVOL 203 are real areas or control areas in which zero data is stored in advance before receiving a write request to a certain address of the virtual page from the host 101 (these areas are SSD or the like). Is temporarily allocated (temporary allocation), and data is stored from the temporary allocation area in response to a write request from the host 101 to an address of a virtual page. The assignment destination is changed to the actual page to be changed (this allocation). In this case, if a read request is received from the host 101 to an address with a virtual page before the actual allocation, zero data stored in the real area of the temporary allocation destination or the control area is returned to the host 101. become.
- the plurality of pools 201 are managed by one table so as to manage the plurality of pools 201 in a unified manner.
- the present invention is not limited to this, and a real page is provided for each pool 201.
- the type of the tier 303 is not limited to being classified for each attribute such as SSD, HDD-SAS, and HDD-SATA described in the present embodiment. It is also preferable to classify by attribute such as a device, for example, a device composed of a semiconductor storage medium such as a flash memory. In this case, the attribute of the virtual page associated with each tier 303 and the attribute of each real page included in each tier 303 are also classified for each attribute such as SSD, HDD-SAS, HDD-SATA described in this embodiment.
- the classification is not limited to the above, and classification is performed for each attribute such as an HDD having an FC interface, a storage device that is not in the HDD format, for example, a device configured by a semiconductor storage medium such as a flash memory, and the like.
- the type of the tier 303 is not limited to being classified only by the attribute of the storage device type, but is an attribute that combines the storage device type and a RAID type such as RAID1 to RAID5, or the storage device. It is also preferable to classify each attribute by combining the device type, the performance (access speed, etc.) of the storage device, the storage capacity, and the RAID type such as RAID1 to RAID5. In these cases, the attribute of the virtual page associated with each tier 303 and the attribute of each real page included in each tier 303 are not limited to being classified only by the attribute of the storage device type. Attributes combining device type and RAID type such as RAID1 to RAID5, attributes combining storage device type and performance (access speed, etc.) and storage capacity of the storage device and RAID types such as RAID1 to RAID5 It will be classified for each.
- Example 2 of the present invention will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified (this applies to the third and later embodiments).
- the second embodiment of the present invention instead of or in addition to the I / O frequency, migration processing in VOL units or page units is performed based on the last I / O time for each VVOL or each virtual page.
- the final I / O time is registered in the monitor tables 409A and 409B when a data element is written on a real page.
- the rearrangement program uses the last I / O time of the virtual page as a transition page. A virtual page to be registered in the table 411 is determined.
- a virtual page whose last I / O time is past a predetermined time from the current time may be registered in the migration page table 411.
- the migration destination of the data element in the virtual page may be a lower tier than the tier having the data element in the virtual page. This is because a data element in a virtual page with an old last I / O time is unlikely to be input / output in the future, and it is considered preferable to arrange it in a lower tier.
- migration processing in VOL units or page units is performed based on which access pattern is sequential access or random access.
- the HDD seek time can be shortened when the PDEV that is the base of the I / O destination RVOL is the HDD.
- the degree of performance degradation is small because of sequential access.
- by shifting the sequentially accessed data to the inexpensive and low-performance PDEV more of the real pages based on the high-performance PDEV can be freed for other randomly accessed data. For this reason, an improvement in I / O performance of the entire storage system can be expected.
- an access pattern for the virtual page of the I / O destination is displayed, for example, an allocation table. 407 is registered. In the allocation table 407, the execution frequency for each access pattern may be written for each virtual page.
- the rearrangement program 415 uses the migration page corresponding to the virtual page as the migration destination. You can select a lower tier. Further, for example, the rearrangement program 415 determines the data elements in the real page even if the I / O frequency of the virtual page is higher than the maximum value of the tier range of the tier having the real page assigned to the virtual page. It is not necessary to make it a migration target.
- the two monitor tables 409B (409A) are stored in the CMPK 119 or other storage resources so that they cannot be edited at a predetermined timing, instead of being used alternately.
- the monitor table 409B (409A) representing the monitor result on Monday is stored as a table 409B (409A) on Monday
- the monitor table 409B (409A) representing the monitor result on Saturday is monitored on Monday as the table 409B (409A) on Saturday. It may be stored separately from the table 409B (409A). By doing so, the options for the operation method of the reallocation processing increase.
- the rearrangement program 415 determines whether to save the active monitor table 409B (409A) immediately before the rearrangement by a method such as inquiring the administrator. In the case of saving, immediately before the rearrangement process, the program 415 saves the monitor table 409B (409A) in the management apparatus 107 or another storage resource. The program 415 selects the monitor table 409B (409A) to be referred to for creating the migration page table 411 from the plurality of stored monitor tables 409B (409A), and selects the selected monitor table 409B (409A). 409A) can be used to create the migration page table 411.
- At least one PVOL may be a virtual PVOL, and a PDEV on which the PVOL is based may exist in another storage system.
- the data element written to the actual page constituting the PVOL may be written to the PDEV in another storage system that is the basis of the PVOL.
- monitor tables 409A and 409B may be updated each time I / O for a virtual page occurs regardless of whether or not I / O for a real page has been performed.
- the I / O frequency And the last I / O time may not be updated.
- the I / O frequency and final I of the virtual page or VVOL / O time may be updated.
- the RVOL type may be based on the RAID level of the RG (RAID 1, RAID 5 (3D + 1P), etc.) instead of or in addition to the type of PVEV that constitutes the RG on which the RVOL is based.
- RAID 1, RAID 5 3D + 1P
- the first RG The first RVOL based on the second RVOL and the second RVOL based on the second RG will be of different types, and therefore the first RVOL and the second RVOL may belong to different tiers.
- the tier is not limited to the RVOL type, and may be defined from other viewpoints.
- the capacity of one real page may be a capacity such that a plurality of real pages are allocated to one virtual page.
- data elements may be migrated from a plurality of migration source real pages assigned to the virtual page to a plurality of migration destination real pages.
- the capacity of one real page may be a capacity such that one real page is allocated to a plurality of virtual pages.
- a plurality of virtual pages may be selected, and the data elements may be migrated from one migration source real page to the migration destination real page for the plurality of virtual pages.
- the pool VOL may be a virtual logical volume associated with a VOL provided by an external storage system.
- the data element written to the real page of the pool VOL is written to the VOL of the external storage system corresponding to the pool VOL.
- the unit of the I / O frequency may be, for example, IOPS (number of I / Os per second).
- the I / O frequency width in the frequency distribution may be 1 (that is, the number of virtual pages may be counted for each I / O frequency).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
複数の記憶デバイスから提供される複数の記憶領域を記憶領域の属性に従って分類された複数の記憶領域グループを管理し、
論理ボリューム内の複数のアドレスに含まれる少なくとも1つのアドレスへのライト要求に応じて前記複数の記憶領域に含まれる少なくとも1つの記憶領域が割り当てられる前記論理ボリュームの複数を提供し、
前記論理ボリューム内の前記少なくとも1つのアドレスのアクセス状況に応じて、前記ライト要求によって前記少なくとも1つのアドレスにライトされているデータを、前記複数の記憶領域グループの1つに含まれる前記少なくとも1つの記憶領域から前記複数の記憶領域グループに含まれる他の記憶領域グループ内の少なくともひとつの記憶領域へ移行する、ことを特徴とするストレージシステムの制御方法。
観点1に従う方法であって、前記ストレージシステムは、前記論理ボリューム単位のデータ移行も実施しうるものである、ことを特徴とするストレージシステムの制御方法。
一以上のホストに接続されるストレージシステムであって、複数種類の物理記憶デバイス群と、記憶制御装置とを備える。前記記憶制御装置が、記憶資源と、前記複数種類の物理記憶デバイス群、前記記憶資源及び前記ホストに接続されるコントローラとを有する。物理記憶デバイス群は、一以上の物理記憶デバイスで構成されている。前記複数種類の物理記憶デバイス群が、複数種類の実ページ群の基になっている。実ページ群の種類は、その実ページ群の基になっている物理記憶デバイス群の属性に基づいている。実ページ群が、複数の実ページを有する。前記コントローラが、一以上の仮想ボリュームを前記一以上のホストに提供する。前記仮想ボリュームは、複数の仮想ページで構成されている仮想的な論理ボリュームである。前記仮想ページは、仮想的な記憶領域である。前記実ページは、実体的な記憶領域である。前記記憶資源が、どの仮想ページにどの実ページが割り当てられているかを表す情報である割当て情報を記憶する(テーブル形式又はキュー形式など、情報の形式は何でもよい)。前記コントローラが、前記ホストからライトコマンドを受信し、前記ライトコマンドからライト先の仮想ページを特定し、特定した仮想ページにフリーの実ページを割り当てるよう前記割当て情報を更新し、割り当てた実ページにライト対象のデータを格納する。前記実ページは、実体的な記憶領域であり、実ページに格納されるデータはその実ページの基になっている物理記憶デバイスに記憶さる。前記コントローラが、以下の(A)及び(B)の処理を含んだ処理である移行処理を行う、
(A)第1種の実ページ群内の第1の実ページに格納されているデータを、第2種の実ページ群内の第2の実ページに移行する、
(B)前記第1の実ページの割当て先の仮想ページである第1の仮想ページに前記第1の実ページに代えて前記第2の実ページを割り当てるよう前記割当て情報を更新する。コントローラは、例えば、少なくとも一つのプロセッサを有してよい。記憶資源は、例えば、メモリであって良い。ホストは、計算機であっても良いし、別のストレージシステム又は別の記憶制御装置であっても良い。
観点3に従うストレージシステムにおいて、前記記憶資源が、仮想ページ毎のI/O(Input/Output)頻度を表す情報であるモニタ情報を記憶する。前記コントローラが、仮想ページ又はその仮想ページに割り当てられる実ページに対するI/Oに応じて、前記モニタ情報における、その仮想ページのI/O頻度を更新する。前記第1の仮想ページは、前記モニタ情報から特定されたI/O頻度が所定の条件に適合していない仮想ページである。
観点4に従うストレージシステムにおいて、前記記憶資源が、実ページ群の種類毎に設定されたI/O頻度レンジを表す情報を含んだ情報である実ページ群管理情報を記憶する。前記所定の条件とは、前記第1種の実ページ群のI/O頻度レンジに収まることである。前記第2種の実ページ群は、I/O頻度レンジが前記第1の仮想ページのI/O頻度に収まっている実ページ群である。
観点3乃至5のうちのいずれかの観点のストレージシステムにおいて、前記コントローラは、I/Oコマンドを前記ホストから受信し、そのI/OコマンドからI/O先の仮想ページを特定する。前記コントローラは、前記I/O先の仮想ページに割り当てられる実ページに対してI/Oを行う場合、前記モニタ情報における、前記I/O先の仮想ページに対応したI/O頻度を更新し、一方、前記I/O先の仮想ページに割り当てられる実ページに対してI/Oを行わない場合、前記モニタ情報における、前記I/O先の仮想ページに対応したI/O頻度を更新しない。
観点4乃至6のうちのいずれかの観点に従うストレージシステムにおいて、前記記憶資源は、前記モニタ情報として、状態がアクティブのモニタ情報と、状態がスタンバイのモニタ情報とを記憶する。前記コントローラは、前記アクティブのモニタ情報におけるI/O頻度を更新する。前記コントローラは、前記移行処理において、前記アクティブのモニタ情報を基に、前記第1の仮想ページを特定し、且つ、前記スタンバイのモニタ情報の状態をスタンバイからアクティブに変更し、その後、仮想ページが特定されるI/Oコマンドに従って実ページに対してI/Oを行う場合、状態がアクティブに変更されたモニタ情報における、その特定された仮想ページのI/O頻度を更新する。
観点7に従うストレージシステムにおいて、前記コントローラは、前記アクティブのモニタ情報を用いて、I/O頻度と仮想ページ数との関係を表す情報である関係情報を作成し、作成した関係情報が表示されるよう前記関係情報を出力する。前記コントローラは、移行開始の指示を受けたときに、前記移行処理を開始する。
観点3乃至7のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の実データ群の使用割合が所定の割合閾値を超えた場合に、前記移行処理を開始する。
観点3乃至9のうちのいずれかの観点に従うストレージシステムにおいて、前記第1種の実データ群が、最上位の実データ群である。前記コントローラは、前記ライトコマンドから特定されたライト先の仮想ページには、必ず、前記第1種の実データ群から実ページを割り当てる。
観点3乃至10のうちのいずれかの観点に従うストレージシステムにおいて、前記仮想ボリュームとして、第1及び第2の仮想ボリュームがある。前記複数種類の物理記憶デバイス群に基づく複数のプールがある。プールは、一種類以上の実ページ群を有し、少なくとも一つの仮想ボリュームに割り当てられている。前記コントローラは、前記第1の仮想ボリュームについて、ページ単位移行処理を実行し、前記第2の仮想ボリュームについて、ボリューム単位移行処理を実行する。前記コントローラは、前記ページ単位移行処理では、前記第1の仮想ボリュームに割り当てられているプールにおいて、前記第1の実ページから前記第2の実ページにデータを移行する。前記コントローラは、前記ボリューム単位移行処理では、前記第2の仮想ボリュームに割り当てられているプールにおける、前記第2の仮想ボリュームに割り当てられている全ての実ページ内のデータを、前記第2の仮想ボリュームに割り当てられているプールとは別のプール内の実ページにそれぞれ移行する。
観点11に従うストレージシステムにおいて、前記記憶資源が、前記第2の仮想ボリュームのI/O頻度を表す情報であるモニタ情報と、実ページ群の種類毎に設定されたI/O頻度レンジを表す情報を含んだ情報である実ページ群管理情報とを記憶する。前記コントローラが、前記第2の仮想ボリューム又は前記第2の仮想ボリュームに割り当てられる実ページに対するI/Oに応じて、前記モニタ情報における、前記第2の仮想ボリュームのI/O頻度を更新する。前記コントローラが、前記第2の仮想ボリュームに割り当てられている実ページを有する実ページ群の種類に対応したI/O頻度レンジを基に、I/O頻度の閾値レンジを算出する。前記コントローラが、前記第2の仮想ボリュームのI/O頻度が前記閾値レンジに収まっていない場合、前記第2の仮想ボリュームのI/O頻度が収まる閾値レンジが得られるように、前記第2の仮想ボリュームに割り当てられている全ての実ページ内のデータを、前記別のプールに移行する。
観点12に従うストレージシステムにおいて、前記ボリューム単位移行処理では、全ての移行元の実ページについて、移行元の実ページを有する実ページ群の種類と、移行先の実ページを有する実ページ群の種類が同じである。
観点12記載のストレージシステムにおいて、前記ボリューム単位移行処理では、全ての移行元の実ページについて、移行元の実ページを有する実ページ群の種類に関わらず、移行先の実ページは一つの所定種類の実ページ群内の実ページである。
観点3乃至14のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記仮想ボリュームに割り当てられている全ての実ページのうちの所定割合以上の実ページが或る種の実ページ群に存在する場合、前記仮想ボリュームに割り当てられている全ての実ページのうち、前記或る種の実ページ群以外の種類の実ページ群内の実ページ内のデータを、前記或る種の実ページ群内の実ページに移行する。
観点15に従うストレージシステムにおいて、前記或る種の実ページ群内の実ページに移行した後に前記仮想ページに割り当てられる実ページは、常に、前記或る種の実ページ群内の実ページである。
観点3乃至16のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記第1の実ページから前記第2の実ページへのデータの移行が開始されていない場合、その移行をキャンセルし、前記ライトコマンドに従うデータを前記第2種の実ページ群内の実ページに書き込み、且つ、前記第1の仮想ページに前記第1の実ページに代えてその書込み先の実ページを割り当てるよう前記割当て情報を更新する。
観点3乃至16のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記第1の実ページから前記第2の実ページへのデータの移行が開始されていない場合、前記ライトコマンドに従うデータを前記第1の実ページに書き込み、その後、前記(A)及び(B)を行う。
観点3乃至18のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記第1の実ページから前記第2の実ページへデータを移行中の場合、その移行をキャンセルし、前記ライトコマンドに従うデータを前記第2種の実ページ群内の実ページに書き込み、且つ、前記第1の仮想ページに前記第1の実ページに代えてその書込み先の実ページを割り当てるよう前記割当て情報を更新する。
観点3乃至18のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記第1の実ページから前記第2の実ページへデータを移行中の場合、前記ライトコマンドに従うデータを前記第1の実ページに書き込み、その後、前記第1の実ページから前記第2種の実ページ群内の実ページへのデータの移行を再開する。
観点3乃至18のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記第1の実ページから前記第2の実ページへデータを移行中の場合、その移行が済んだ後に、前記割当て情報に従って、前記ライトコマンドに従うデータを前記第2の実ページに書き込む。
観点3乃至18のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記第1の実ページから前記第2の実ページへデータを移行中の場合、前記第1の実ページと前記第2の実ページの両方に、前記ライトコマンドに従うデータを書き込む。
観点3乃至22のうちのいずれかの観点に従うストレージシステムにおいて、前記コントローラは、前記第1の仮想ページが特定されるライトコマンドを前記移行処理が開始された後に前記ホストから受信し、且つ、前記(A)及び(B)が済んでいる場合、前記割当て情報に従って、前記第2の実ページに、前記ライトコマンドに従うデータを書き込む。
観点3乃至23のうちのいずれかの観点に従うストレージシステムにおいて、前記第1の仮想ページは、I/Oが行われた最新の時刻である最終I/O時刻が所定の条件を満たす仮想ページである。
観点24に従うストレージシステムにおいて、前記所定の条件とは、最終I/O時刻が現在時刻から所定時間以上に過去であることである。前記第2種の実ページ群は、前記第1種の実ページ群よりも下位の実ページ群である。
観点3乃至25うちのいずれかの観点に従うストレージシステムにおいて、前記第1の仮想ページは、シーケンシャルアクセスに従うI/Oが発生した仮想ページである。前記第2種の実ページ群は、前記第1種の実ページ群よりも下位の実ページ群である。
観点4に従うストレージシステムにおいて、前記コントローラは、前記モニタ情報の更新を所定の時間帯においてのみ行う。前記コントローラは、所定の時間帯を過ぎる都度に、前記モニタ情報を保存する。前記第1の仮想ページは、指定された時間帯に対応したモニタ情報から特定されたI/O頻度が所定の条件に適合していない仮想ページである。
ホストに接続される記憶制御装置であって、記憶資源と、前記記憶資源及び前記ホストに接続されるコントローラとを備える。前記コントローラが、複数の仮想ページで構成されている仮想ボリュームを前記ホストに提供する。前記記憶資源が、どの仮想ページにどの実ページが割り当てられているかを表す情報である割当て情報を記憶する。前記コントローラが、前記ホストからライトコマンドを受信し、前記ライトコマンドからライト先の仮想ページを特定し、特定した仮想ページに複数種類の実ページ群のいずれかからフリーの実ページを割り当てるよう前記割当て情報を更新し、割り当てた実ページにライト対象のデータを格納する。前記実ページは、実体的な記憶領域である。前記仮想ページは、仮想的な記憶領域である。前記仮想ボリュームは、仮想的な論理ボリュームである。実ページ群が、複数の実ページを有する。前記コントローラが、以下の(A)及び(B)の処理を含んだ処理である移行処理を行う、
(A)第1種の実ページ群内の第1の実ページに格納されているデータを、第2種の実ページ群内の第2の実ページに移行する、
(B)前記第1の実ページの割当て先の仮想ページである第1の仮想ページに前記第1の実ページに代えて前記第2の実ページを割り当てるよう前記割当て情報を更新する。
観点4に従うストレージシステムにおいて、特定されるI/O頻度は、或る時間におけるI/O数の平均である。
観点4に従うストレージシステムにおいて、前記特定されるI/O頻度は、或る時間帯の複数の時間にそれぞれ対応した複数のI/O数のうちの最大のI/O数である。
観点4に従うストレージシステムにおいて、記コントローラは、特定されるI/O頻度を平均I/O数とするか最大I/O数とするかの指定を受ける。平均I/O数とすることの指定を受けた場合、特定されるI/O頻度は、或る時間におけるI/O数の平均である。最大I/O数とすることの指定を受けた場合、特定されるI/O頻度は、或る時間帯の複数の時間にそれぞれ対応した複数のI/O数のうちの最大のI/O数である。
Block Address))とを含む。I/O先情報から、I/O先のVVOL203及び仮想ページ207が特定される。
*仮想ページ#(00-C)に割り当てられている実ページ#(01-D)内のデータ要素を、フリー(未割当て状態)の実ページ#(02-E)に移行する;
*仮想ページ#(00-C)の割当元を、実ページ#(01-D)から実ページ#(02-E)に変更する;
*実ページ#(01-D)の状態をフリー(未割当て状態)に更新する、
を行う。
*「プールID」は、対象ティアを有するプールのIDである。
*「ティアID」は、対象ティアのIDである。ティアIDから、対象ティアに属するPVOLの基になっているPDEVの種類が一義的に特定される。
*「ティアレンジ」は、対象ティアに存在すべき実ページの負荷(例えばI/O頻度)の範囲である。
*「PVOL ID」は、対象ティアに属するPVOLのIDである。
*「ティア閾値」は、対象ティアの使用割合の閾値である。
*「使用割合」は、対象ティアの使用割合、すなわち、対象ティアを構成する実ページの数に対する、割当て済みの実ページの数の割合である。
*「実ページID」は、対象ティアに属する全ての実ページのIDである。
*「プールID」は、対象プールのIDである。
*「階層化」は、対象プール内の実ページを階層化するか否かである。“ON”は、階層化すること(つまり、対象プールに複数のティアが設けられること)を意味し、“OFF”は、階層化しないこと(つまり、対象プールにティアが設けられないこと)を意味する。
*「再配置」は、対象プール内のデータ要素を再配置するか否かである。“ON”は、再配置を行うことを意味し、“OFF”は、再配置を行わないことを意味する。“ON”の場合、対象プールが割り当てられているVVOL又はその仮想ページのI/O頻度がモニタされ、“OFF”の場合、対象プールが割り当てられているVVOL又はその仮想ページのI/O頻度がモニタされない。I/O頻度のモニタに関して大事なことは、I/O先のVVOL或いは仮想ページに割り当てられた実ページに実際にI/Oが行われなければ、I/O頻度は更新されず、その割り当てられた実ページに対してI/Oが行われたときに、I/O頻度が更新されることである。この点は、後述のライト処理及びリード処理の際にも説明する。
*「自動実行」は、対象プール内のデータ要素の再配置を自動で開始するか手動で開始するかである。“ON”は、再配置が自動で開始されることを意味し、“OFF”は、再配置が手動で開始されることを意味する。
*「再配置実行周期」は、対象プール内のデータ要素の再配置を行う周期である。例えば、“1日”は、1日(24時間)毎に再配置が開始されることを意味する。
*「再配置実行時刻」は、対象プール内のデータ要素の再配置を開始する時刻である。
*「モニタ時間帯」は、対象プールが割り当てられているVVOLに割り当てられた実ページのI/O頻度をモニタする時間帯である。
*「プールステータス」は、対象プールのステータスである。「プールステータス」の値として、例えば、“モニタリング中”、“再配置中”、“非モニタリング中”がある。“モニタリング中”は、対象プールが割り当てられているVVOL又はそのVVOL内の仮想ページのI/O頻度がモニタリングされている最中であり、且つ、データ要素の再配置中ではないことを意味する。“再配置中”は、データ要素の再配置(対象プール内での再配置であっても良いし、対象プールから別のプールへのデータ要素の再配置であっても良い)が行われている最中であることを意味する。“非モニタリング中”は、I/O頻度のモニタリング中でもないしデータ要素の再配置中でもないことを意味する。
*「VVOL ID」は、対象VVOLのIDである。
*「PVOL ID」は、対象VVOLに割り当てられているプール(以下、割当プール)のIDである。
*「割当ティアID」は、割当プールが有する複数のティアのうちの対象VVOLに割り当てられるティアのIDである。対象VVOL内の仮想ページには、割当ティアから実ページが割り当てられる。
*「デフォルトティアID」は、デフォルトティアのIDである。デフォルトティアとは、ホスト101からのライト先の仮想ページに初めに割り当てられる実ページの提供元となるティアである。
*「容量」は、対象VVOLの容量である。
*「再配置」は、対象VVOL内のデータ要素を再配置するか否かである。“ON”は、再配置を行うことを意味し、“OFF”は、再配置を行わないことを意味する。“ON”の場合、対象VVOL又はその仮想ページのI/O頻度がモニタされ、“OFF”の場合、対象VVOL又はその仮想ページのI/O頻度がモニタされない。
*「自動実行」は、対象VVOL内のデータ要素の再配置を自動で開始するか手動で開始するかである。“ON”は、再配置が自動で開始されることを意味し、“OFF”は、再配置が手動で開始されることを意味する。
*「再配置実行周期」は、対象VVOL内のデータ要素の再配置を行う周期である。
*「再配置実行時刻」は、対象VVOL内のデータ要素の再配置を開始する時刻である。
*「モニタ時間帯」は、対象VVOL又は仮想ページのI/O頻度をモニタする時間帯である。
*「RG ID」は、対象PVOLの基になっているRGのIDである。
*「PDEV ID」は、対象PVOLの基になっているRGを構成する全てのPDEVのIDである。
*「種類」は、対象PVOLの種類である。これは、対象PVOLの基になっているPDEVの種類と同じである。例えば、RVOL種類が“SSD”であれば、対象PVOLの種類も“SSD”となる。
*「PVOL ID」は、対象PVOLのIDである。
*「容量」は、対象PVOLの容量である。
*「VVOL ID」は、対象仮想ページを有するVVOLのIDである。
*「仮想ページID」は、対象仮想ページのIDである。
*「プールID」は、対象仮想ページを有するVVOLに割り当てられているプールのIDでる。
*「実ページID」は、対象仮想ページに割り当てられている実ページのIDである。
*「ティアID」は、対象仮想ページに割り当てられている実ページを有するティアのIDである。
*「プールID」は、対象実ページを有するプールのIDである。
*「実ページID」は、対象実ページのIDである。
*「ステータス」は、対象実ページのステータスである。ステータスの値として、例えば、“使用中”と“フリー”がある。“使用中”は、対象実ページがいずれかの仮想ページに割当て済みであることを意味する。“フリー”は、対象実ページがいずれの仮想ページにも割り当てられておらずそれ故いずれの仮想ページにも割当て可能な状態になっていることを意味する。
*「VVOL ID」は、対象VVOLのIDである。
*「合計I/O数」は、モニタ時間帯に対象VVOLに行われたI/O(具体的には、対象VVOLに割り当てられている実ページに対するI/O)の数である。
*「平均I/O数」は、「合計I/O数」の値を所定時間で割ることにより算出された値である。
*「最大I/O数」は、モニタ時間帯を構成する複数の時間帯における複数のI/O数(対象VVOLについてのI/O数)のうちの最も大きいI/O数である。
*「最終I/O時刻」は、対象VVOLにI/Oが行われた最新の時刻である。
*「VVOL ID」は、対象仮想ページを有するVVOL(つまり対象VVOL)のIDである。
*「仮想ページID」は、対象仮想ページのIDである。
*「合計I/O数」は、モニタ時間帯に対象仮想ページに行われたI/Oの数である。
*「平均I/O数」は、「合計I/O数」の値を所定時間で割ることにより算出された値である。
*「最大I/O数」は、モニタ時間帯を構成する複数の時間帯における複数のI/O数(対象仮想ページについてのI/O数)のうちの最も大きいI/O数である。
*「最終I/O時刻」は、対象仮想ページにI/Oが行われた最新の時刻である。
*「仮想ページID」は、対象仮想ページのIDである。
*「移行元ティアID」は、対象仮想ページに割り当てられている実ページ(移行元の実ページ)を有するティアのIDである。
*「移行先ティアID」は、データ要素の移行先となるティアのIDである。移行先の実ページは、そのティアにおけるいずれかフリーの実ページである。
*「移行ステータス」は、対象仮想ページについての移行のステータスである。「移行ステータス」の値として、例えば、“移行済”、“移行中”及び“未移行”がある。“移行済”は、移行元の実ページから移行先のティアにおけるいずれかの実ページにデータ要素を移行済みであることを意味する。“移行中”は、移行元の実ページから移行先のティアにおけるいずれかの実ページにデータ要素を移行中であることを意味する。“未移行”は、移行元の実ページから移行先のティアにおけるいずれかの実ページにデータ要素を移行することが未だ開始されていないことを意味する。
*「VVOL ID」は、対象VVOLのIDである。
*「ページ単位移行」は、ページ単位のデータ移行を行うか否かである。“ON”は、ページ単位のデータ移行を行うことを意味し、“OFF”は、ページ単位のデータ移行を行わないことを意味する。
*「VOL単位移行」は、VOL単位(厳密にはVOL単位)のデータ移行を行うか否かである。“ON”は、VOL単位のデータ移行を行うことを意味し、“OFF”は、VOL単位のデータ移行を行わないことを意味する。従って、「ページ単位移行」と「VOL単位移行」の両方が“OFF”ということは、対象VVOL内のデータ要素は移行(再配置)されないことを意味する。
*「ティア維持」は、ティアを維持した移行をするか否かである。ティアを維持するとは、移行先のティアのID(つまりティアの種類)を、移行元のティアのIDと同じすることである。“ON”は、ティアを維持することを意味し、“OFF”は、ティアを維持しないことを意味する。
*「割当ティアID」は、対象VVOLの割当ティアのIDである。
*「格納閾値」は、割当ティアの格納割合の閾値である。この閾値は、割当ティア毎に設定される。「格納割合」とは、一つの割当ティア(以下、この段落の説明において「対象割当ティア」)について言えば、次のとおりである。すなわち、格納割合は、対象VVOL内の全てのデータ要素のうちのどの程度の割合のデータ要素が対象割当ティアに格納されているかである。
UI制御プログラム413が、プールの作成指示を、管理者から管理装置107を通じて受ける。そして、プログラム413は、例えば下記の準備処理を行う。
*プログラム413は、対象プールの新規のレコードを、テーブル402(図6)、403(図7)、408(図11)に追加する。
*プログラム413は、PVOLの指定を管理者から管理装置107を通じて受ける。具体的には、例えば、プログラム413は、RVOLに関する情報(例えば、ID、種類など)を表示し、PVOLとするRVOLの指定を受ける。
プログラム413は、指定されたRVOLの種類を特定する。具体的には、例えば、CMPK119が、RVOL毎にID、容量、種類(例えば、SSD、HDD-SAS)などを有するRVOL管理テーブルを記憶していて、プログラム413は、そのRVOL管理テーブルから、指定されたRVOLの種類を特定する。
プログラム413は、特定されたRVOL種類に対応したティアが対象プールに既に存在しているか否かを、ティア管理テーブル403から判断する。この判断の結果が否定的の場合、S1604が行われ、この判断の結果が肯定的の場合、S1605が行われる。
プログラム413は、特定されたRVOL種類に対応したティアのIDをティア定義テーブル401から特定する。そして、プログラム413は、対象プールについて、特定されたティアIDを、テーブル402(図6)に追加する。
プログラム413は、特定されたRVOL種類に対応したティア(以下、この段落において「対象ティア」と言う)に、対象RVOLを追加する。具体的には、例えば、プログラム413は、テーブル402(図6)に、対象ティアのティアIDに対応するPVOL IDとして、対象RVOLのIDを登録する。
プログラム413は、全ての指定されたRVOLについてS1602以降が行われたか否かを判断する。指定されたRVOLに、S1602以降の処理が行われていないRVOLがあれば、そのRVOLについて、S1602以降が行われる。
プログラム413は、プール定義GUI(Graphical User Interface)を表示する。そして、プログラム413は、そのGUIを通じて種々の設定を受け付ける。
プログラム413は、テーブルを更新する。具体的には、例えば、プログラム413は、下記の処理を行う。
*プログラム413は、図17のGUI1700に入力された、情報要素「階層化」、「再配置」、「自動実行」、「実行周期」、「実行時刻」、「モニタ時間帯」、「ティア閾値」の値を、テーブル403(図7)に登録する。
*プログラム413は、対象プールを複数の実ページに区切り、それら複数の実ページのIDを、テーブル402(図6)、及び、408(図11)に追加する。
UI制御プログラム413は、VVOL作成GUIを表示する。そして、プログラム413は、そのGUIを通じて種々の設定を受け付ける。
プログラム413は、テーブルを更新する。具体的には、例えば、プログラム413は、下記の処理を行う。
*プログラム413は、図19のGUI1900に入力された、情報要素「プールID」、「容量」、「再配置」、「自動実行」、「実行周期」、「実行時刻」、「モニタ時間帯」、「割当ティアID」及び「デフォルトティアID」の値を、テーブル404(図8)に登録する。
*プログラム413は、対象VVOLの容量に基づいて、対象VVOLを構成する仮想ページの数を算出する。プログラム413は、対象VVOLのIDと、算出された仮想ページ数分の仮想ページIDとを、テーブル407(図10)に登録する。
*プログラム413は、対象VVOLについて、「再配置」が“ON”であれば、テーブル409A及び409B(図12)を作成する。モニタ時間帯に、I/O頻度のモニタが行われるからである。なお、テーブル409Bには、上記算出された仮想ページ数分の仮想ページIDが登録される。
*プログラム413は、対象VVOLについて、「割当ティアID」及び「格納閾値」を、テーブル412(図15)に登録する。
UI制御プログラム413は、移行定義GUIを表示する。そして、プログラム413は、そのGUIを通じて種々の設定を受け付ける。
*プログラム413は、「ページ単位移行」及び「VOL単位移行」の一方の“ON”が選択された場合、「ページ単位移行」及び「VOL単位移行」の他方の“ON”を選択不可能に制御する。つまり、プログラム413は、「ページ単位移行」と「VOL単位移行」の両方が“ON”にされることが無いよう制御する。
*プログラム413は、「ページ単位移行」及び「VOL単位移行」の一方の“OFF”が選択されても、「ページ単位移行」及び「VOL単位移行」の他方の“OFF”を選択可能のままとする(すなわち選択不可能としない)。
*プログラム413は、「VOL単位移行」の“ON”が選択された場合、「ティア維持」の“ON”を選択可能とし、「ティア維持」の“OFF”を選択不可能とする。一方、プログラム413は、「VOL単位移行」の“OFF”が選択された場合、「ティア維持」の“ON”を選択不可能とし、「ティア維持」の“OFF”を選択可能とする。
プログラム413は、テーブルを更新する。具体的には、例えば、プログラム413は、テーブル412(図15)における、図21のGUI2100に入力されたVVOL IDに対応する欄に、そのGUI2100に入力された情報要素「ページ単位移行」、「VOL単位移行」及び「ティア維持」の値を登録する。
I/O制御プログラム414が、ライトコマンドをホスト101から受信する。
プログラム414が、受信したライトコマンドが有するI/O先情報から、ライト先のVVOL及び仮想ページを特定する。ここでは、複数の仮想ページが特定されることが多い。なぜなら、ライト対象のデータのサイズは、通常、一つの仮想ページの容量よりも大きいからである。特定された仮想ページ毎に、S2403以降が行われる。以下、一つの仮想ページを例に採り(図24の説明において、「対象仮想ページ」と言う)、S2403以降を説明する。また、図24の説明において、対象仮想ページに対するライト対象のデータ要素を「対象データ要素」と言う。
プログラム414は、対象仮想ページのIDが、移行ページテーブル411に存在するか否かを判断する。この判断の結果が否定的の場合、S2404~S2406が行われ、この判断の結果が肯定的の場合、S2407~S2408が行われる。
プログラム414は、アロケーションテーブル407(図10)を基に、対象仮想ページに、実ページが割り当てられているか否かを判断する。この判断の結果が否定的であれば、S2405が行われる。
プログラム414が、以下の処理を行う。
*プログラム414は、ライト先のVVOLに対応したプール及びそのプール内のデフォルトティアを、VVOL管理テーブル404(図8)を基に特定する。
*プログラム414は、ティア管理テーブル402(図6)及び実ページ管理テーブル408(図11)を基に、特定されたデフォルトティア内のフリーの実ページを特定する。
*プログラム414は、対象仮想ページに、特定した実ページを割り当てる。すなわち、プログラム414は、アロケーションテーブル407(図10)における、対象仮想ページのIDに対応した欄に、割り当てた実ページのIDと、その実ページを有するティアのIDと、そのティアを有するプールのIDとを登録する。
*プログラム414は、デフォルトティアからフリーの実ページを特定できない場合には、ライト先のVVOLに対応した割当ティアからフリーの実ページを特定し、特定した実ページを対象仮想ページに割り当ててよい。
*プログラム414は、テーブル402(図6)における、割り当てた実ページを有するティア(このS2403の説明において「割当元ティア」と言う)の「使用割合」の値を、更新する。
*プログラム414は、割当元ティアの「使用割合」の更新後の値が割当元ティアの「ティア閾値」の値を超えているか否かの判断(以下、「判断Z」と言う)を行う。割当元ティアの「ティア閾値」の値は、テーブル402(図6)に登録されている値、又は、テーブル412(図15)に登録されている値であるが、テーブル412に登録されている値が優先的に採用されて良い。
*プログラム414は、判断Zの結果が肯定的であれば、下記(a)及び(b)のうちの少なくとも一つの処理を行って良い。
(a)プログラム414は、エラーを、管理装置107(及び/又は、ライトコマンドの送信元のホスト101)に通知して良い。管理者は、割当元ティアについてエラーを知った場合、割当元ティアにRVOLを追加することができる。
(b)プログラム414は、再配置プログラム415を呼び出す。再配置プログラム415が、図38に示す処理を行う。図38に示す処理は、後に説明する。
プログラム414は、対象仮想ページに格納されるデータ要素のためのCM領域をキャッシュメモリから確保する。
プログラム414は、移行ページテーブル411における、対象仮想ページに対応した「移行ステータス」の値に応じて、CM領域を確保する。具体的には、例えば、下記の通りである。
例えば、以下の(具体例A1)及び(具体例A2)のうちのいずれかが行われる。
(具体例A1)
*プログラム414は、CM領域を確保し、対象仮想ページに対応した移行先ティアにおけるフリーの実ページを、ライト先として決定する。より具体的には、例えば、プログラム414は、移行先ティアにおけるいずれかのフリーの実ページ内のデータ要素がキャッシュメモリにあれば、そのデータ要素が存在するCM領域を確保し、且つ、そのフリーの実ページを、ライト先として決定する。移行先ティアにおけるフリーの実ページは、前述したように、テーブル402(図6)、及び408(図11)を基に特定することができる。
*プログラム414は、対象仮想ページに対応した「移行ステータス」を“移行済”に更新する。この結果、対象仮想ページについて、データ要素の移行は行われない。すなわち、言いかえれば、対象仮想ページについてデータ要素の移行がキャンセルされたことになる。
*プログラム414は、対象仮想ページに、元の実ページに代えて、決定したライト先の実ページを割り当てる。すなわち、プログラム414は、アロケーションテーブル407における、対象仮想ページのIDに対応した欄に、上記決定したライト先の実ページのID、及び、その実ページを有するティアのID(移行先ティアのID)を上書きする。
*プログラム414は、実ページ管理テーブル408(図11)における、対象仮想ページに割り当てられていた元の実ページの「ステータス」を、“フリー”に更新する。また、プログラム414は、そのテーブル408における、対象仮想ページに新たに割り当てられた実ページ(決定したライト先の実ページ)の「ステータス」を“使用中”に更新する。
(具体例A2)
*プログラム414は、CM領域を確保し、対象仮想ページに割り当てられている実ページ(移行元ティア内の実ページ)を、ライト先として決定する。より具体的には、例えば、プログラム414は、移行先ティアにおけるいずれのフリーの実ページ内のデータ要素もキャッシュメモリになければ、CM領域(例えば、対象仮想ページに割り当てられている実ページ内のデータ要素が存在する領域)を確保し、且つ、対象仮想ページに割り当てられている実ページ(移行元ティア内の実ページ)を、ライト先として決定する。
*プログラム414は、対象仮想ページに対応した「移行ステータス」を“中断”に更新して良い。これにより、例えば、対象仮想ページについては、再配置プログラム415によるデータ移行は行われない。なお、この「移行ステータス」の値は、例えば、プログラム414によって、後述のデステージが済んだ場合に、“中断”から“未移行”に戻されて良い。
例えば、以下の(具体例B1)~(具体例B3)のうちのいずれかが行われる。
(具体例B1)
*プログラム414は、対象仮想ページに対応した「移行ステータス」を“中断”に更新する。そして、プログラム414は、前述の(具体例A1)又は(具体例A2)を行う。(具体例A1)が行われた場合、対象仮想ページに対応した「移行ステータス」は、“移行済”に更新されることになる。(具体例A2)が行われた場合、対象仮想ページに対応した「移行ステータス」は、“未移行”に更新されることになる。
(具体例B2)
*プログラム414は、CM領域を確保する。(具体例B2)の場合、デステージは、対象仮想ページに対応した「移行ステータス」が“移行済”に更新された後に行われる。それ故、ライト先(デステージ先)は、移行先ティア内の実ページである。なぜなら、その時点で、対象仮想ページには、移行先ティア内の実ページが割り当てられているからである。
(具体例B3)
*プログラム414は、CM領域を確保する。(具体例B3)の場合、デステージは、対象仮想ページに対応した「移行ステータス」が“移行中”の最中に行われ、データ要素は、対象仮想ページに割り当てられている実ページと、移行先ティア内の実ページとの両方にデステージされる(いわゆる二重ライトが行われる)。
例えば、以下の処理が行われる。
*プログラム414は、CM領域を確保する。このケースでは、ライト先(デステージ先)は、移行先ティア内の実ページである。なぜなら、対象仮想ページに対応した「移行ステータス」が“移行済”に更新されているので、対象仮想ページに割り当てられている実ページが、後に説明するように、移行先となった実ページに変更されるからである。
S2402で特定された全ての仮想ページについてCM領域が確保された場合、プログラム414は、確保された一以上のCM領域にライト対象のデータを書き込み、完了をホスト101に応答する。
プログラム414は、デステージを行う。すなわち、プログラム414は、キャッシュメモリに存在する複数のデータ要素のうち実ページに未だ書き込まれていないデータ要素(ダーティのデータ要素)を実ページに書き込む。デステージ先の実ページは、その実ページのライト先となった仮想ページに割り当てられている実ページ(アロケーションテーブル407から特定される実ページ)である。なお、このとき、その仮想ページに対応した「移行ステータス」が“中断”になっていれば、プログラム414は、その「移行ステータス」を“未移行”に更新して良い。
プログラム414は、テーブル403(図7)又は404(図8)を基に、モニタテーブル409A又は409Bを更新する必要があるか否かを判断する。テーブル404(図8)が優先されて良い。具体的には、例えば、プログラム414は、以下の二つの判断P及び判断Qを行う。
(判断P)プログラム414は、S2501でのデステージ先の実ページを有するプール(以下、図25の説明において「対象プール」と言う)に対応した「再配置」が“ON”か否か、又は、そのデステージ先の実ページが割り当てられている仮想ページを有するVVOL(以下、図25の説明において「対象VVOL」と言う)に対応した「再配置」が“ON”か否かを判断する。この判断Pの結果が否定的の場合、S2503は行われない(すなわち、モニタテーブル409A又は409Bを更新する必要が無いということになる)。
(判断Q)判断Pの結果が肯定的の場合、プログラム414は、現在の時刻が、対象プールに対応した「モニタ時間帯」の値が表す時間帯内か否かを判断する。この判断Qの結果が否定的の場合、S2503は行われない。一方、判断Pだけでなくこの判断Qの結果も肯定的の場合、S2503が行われる(すなわち、モニタテーブル409A又は409Bを更新する必要があるということになる)。
プログラム414は、モニタテーブル409A又は409Bを更新する。具体的には、例えば、下記の通りである。
*プログラム414は、テーブル412(図15)において、対象VVOLに対応した「VOL単位移行」が“ON”になっていれば、対象VVOLに対応したアクティブの第1種のモニタテーブル409Aを更新する。具体的には、例えば、プログラム414は、アクティブ第1種のモニタテーブル409Aにおける、「合計I/O数」の値を更新し(例えば1インクリメントし)、且つ、「最終I/O時刻」の値を更新する。また、プログラム414は、例えば、対象VVOLについて、デステージ時点の時刻を、図示しないI/O履歴テーブルに追加する。I/O履歴テーブルは、例えば、実ページに対するI/Oが行われる都度に、そのI/Oが行われた時刻が記録される(更に、I/Oの種類(リード又はライト)などの別種の情報が記録されても良い)。例えば、そのI/O履歴テーブルを基に、後に、プログラム414は、アクティブの第1種のモニタテーブル409Aにおける「平均I/O数」及び「最大I/O数」を更新して良い。
*プログラム414は、テーブル412(図15)において、対象VVOLに対応した「ページ単位移行」が“ON”になっていれば、対象VVOLに対応したアクティブの第2種のモニタテーブル409Bを更新する。具体的には、例えば、プログラム414は、アクティブの第2種のモニタテーブル409Bにおける、デステージされたデータ要素のライト先仮想ページに対応する「合計I/O数」の値を更新し(例えば1インクリメントし)、且つ、「最終I/O時刻」の値を更新する。また、プログラム414は、例えば、そのライト先仮想ページについて、デステージ時点の時刻を、前述のI/O履歴テーブルに追加する。この場合、I/O履歴テーブルには、ライト先の仮想ページのIDが記録されて良い。例えば、そのI/O履歴テーブルを基に、後に、プログラム414は、アクティブの第2種のモニタテーブル409Bにおける「平均I/O数」及び「最大I/O数」を更新して良い。
I/O制御プログラム414が、リードコマンドをホスト101から受信する。そして、プログラム414が、受信したリードコマンドが有するI/O先情報から、リード元のVVOL及び仮想ページを特定する。
プログラム414は、キャッシュメモリ上に、リード対象のデータがあるか否かを判断する。この判断の結果が否定的の場合、S2603が行われ、この判断の結果が肯定的の場合、S2602が行われる。
プログラム414は、キャッシュメモリ上のリード対象のデータを、ホスト101に送信する。この場合、リード元のVVOLに対応するモニタテーブル409A及び409Bは更新されない。実ページに対するI/Oが行われていないからである。
プログラム414は、アロケーションテーブル407を基に、S2600で特定された仮想ページに実ページが割り当てられているか否かを判断する。この判断の結果が否定的の場合、S2604が行われ、この判断の結果が肯定的の場合、S2605が行われる。
プログラム414は、所定の応答(例えば、ゼロを表すデータ)をホスト101に送信する。
プログラム414は、S2600で特定された一以上の仮想ページのIDのうちの少なくとも一つが移行ページテーブル411に登録されており、且つ、その登録されている仮想ページIDに対応する「移行ステータス」が“移行中”か否かを判断する。この判断の結果が否定的の場合、S2607が行われ、この判断の結果が肯定的の場合、S2606が行われる。
プログラム414は、S2600で特定された一以上の仮想ページにそれぞれ割り当てられている一以上の実ページ(アロケーションテーブル407から特定される一以上の実ページ)からデータ要素を読み出す。プログラム414は、それらのデータ要素で構成したリード対象のデータを、ホスト101に送信する。
プログラム414は、「移行ステータス」が“移行中”の仮想ページについて、「移行ステータス」が“移行済”に更新されるまで待つ。その後、プログラム414は、S2600で特定された一以上の仮想ページにそれぞれ割り当てられている一以上の実ページ(アロケーションテーブル407から特定される一以上の実ページ)からデータ要素を読み出す。プログラム414は、それらのデータ要素で構成したリード対象のデータを、ホスト101に送信する。
プログラム414は、テーブル403(図7)又は404(図8)を基に、モニタテーブル409A又は409Bを更新する必要があるか否かを判断する。テーブル404(図8)が優先されて良い。具体的には、例えば、プログラム414は、以下の二つの判断V及び判断Wを行う。
(判断V)プログラム414は、リード元のVVOLに割り当てられているプール(以下、図26の説明において「リード元プール」と言う)に対応した「再配置」が“ON”か否か、又は、リード元のVVOLに対応した「再配置」が“ON”か否かを判断する。この判断Vの結果が否定的の場合、S2609は行われない(すなわち、モニタテーブル409A又は409Bを更新する必要が無いということになる)。
(判断W)判断Vの結果が肯定的の場合、プログラム414は、現在の時刻が、対象プールに対応した「モニタ時間帯」の値が表す時間帯内か否かを判断する。この判断Wの結果が否定的の場合、S2609は行われない。一方、判断Vだけでなくこの判断Wの結果も肯定的の場合、S2609が行われる(すなわち、モニタテーブル409A又は409Bを更新する必要があるということになる)。
プログラム414は、モニタテーブル409A又は409Bを更新する。具体的には、例えば、下記の通りである。
*プログラム414は、テーブル412(図15)において、リード元のVVOLに対応した「VOL単位移行」が“ON”になっていれば、リード元のVVOLに対応したアクティブの第1種のモニタテーブル409Aを更新する。具体的には、例えば、プログラム414は、アクティブ第1種のモニタテーブル409Aにおける、「合計I/O数」の値を更新し(例えば1インクリメントし)、且つ、「最終I/O時刻」の値を更新する。また、プログラム414は、例えば、リード元のVVOLについて、データをリードした時刻を、前述したI/O履歴テーブルに追加する。例えば、そのI/O履歴テーブルを基に、後に、プログラム414は、アクティブの第1種のモニタテーブル409Aにおける「平均I/O数」及び「最大I/O数」を更新して良い。
*プログラム414は、テーブル412(図15)において、リード元のVVOLに対応した「ページ単位移行」が“ON”になっていれば、リード元のVVOLに対応したアクティブの第2種のモニタテーブル409Bを更新する。具体的には、例えば、プログラム414は、アクティブの第2種のモニタテーブル409Bにおける、リード元のライト先仮想ページに対応する「合計I/O数」の値を更新し(例えば1インクリメントし)、且つ、「最終I/O時刻」の値を更新する。また、プログラム414は、例えば、そのリード元の仮想ページについて、リード時点の時刻を、前述のI/O履歴テーブルに追加する。この場合、I/O履歴テーブルには、リード元の仮想ページのIDが記録されて良い。例えば、そのI/O履歴テーブルを基に、後に、プログラム414は、アクティブの第2種のモニタテーブル409Bにおける「平均I/O数」及び「最大I/O数」を更新して良い。
再配置プログラム415は、対象VVOLについてデータ移行を実行するか否かを判断する。具体的には、例えば、以下の処理が行われる。
*プログラム415は、VVOL管理テーブル404(図8)において、対象VVOLに対応した「自動実行」が“ON”になっているか否かを判断する。対象VVOLに対応した「自動実行」の値の設定が無い場合、プログラム415は、プール管理テーブル403(図7)において、対象VVOLに割り当てられているプール(以下、図28の説明において「対象プール」)に対応した「自動実行」が“ON”になっているか否かを判断する。
*対象VVOL又は対象プールに対応した「自動実行」が“ON”の場合、プログラム415は、移行定義テーブル412(図15)において、対象VVOLに対応した「ページ単位移行」及び「VOL単位移行」のいずれかが“ON”か否かを判断する。この判断の結果が否定的の場合、S2801の判断の結果が否定的である。この判断の結果が肯定的の場合、プログラム415は、対象VVOL又は対象プールに対応した「再配置実行時刻」の値が表す時刻に現在の時刻が達しているか否かを判断する。この判断の結果が肯定的の場合、S2801の判断の結果が肯定的であり、この判断の結果が否定的の場合、S2801の判断の結果が否定的である。
*対象VVOL又は対象プールに対応した「自動実行」が“OFF”の場合、プログラム415は、管理者から管理装置105を通じて、対象VVOLについてデータ移行の指示を受け付けたならば、S2801の判断の結果は肯定的となる。
プログラム415は、対象VVOLについてVOL単位の移行処理を行う。VOL単位のデータ移行では、対象プールが有する複数のデータ要素のうち対象VVOLに割り当てられている実ページ内のデータ要素が別のプールに移行される。VOL単位の移行処理については、後に詳細に説明する。
プログラム415は、管理者からティアレンジが設定されているか否かを判断する。この判断の結果が否定的の場合、S2807が行われた後にS2808が行われ、この判断の結果が否定的の場合、S2807が行われることなくS2808が行われる。
プログラム415は、ティアレンジ決定処理を行う。この処理によって、ティアレンジが決定される。ティアレンジ決定の方法としては、幾つか考えられる。例えば、予め、複数種類のティアレンジが用意されていて良く、プログラム415が、ティア毎に、それら複数種類のティアレンジから任意のティアレンジを選択して良い。
プログラム415は、ティア判定処理を行う。ティア判定処理では、前述したように、移行ページテーブル411が作成される。
プログラム415は、作成した移行ページテーブル411に従って、ページ単位の移行処理を行う。ページ単位のデータ移行では、対象プール内において、或るティア内の実ページから別のティア内の実ページにデータ要素が移行される。ページ単位の移行処理については、後に詳細に説明する。
再配置プログラム415は、ティア管理テーブル402(図6参照)を基に、複数のプールから移行先プールを選択する。移行先プールは、対象プールが有する複数のティアと同じ複数のティアを有するプール(つまり対象プールの階層構成と同じ階層構成を有するプール)である。
プログラム415は、移行不可能か否かを判断する。具体的には、プログラム415は、プール管理テーブル403(図7)における、移行先プールに対応した「プールステータス」が“再配置中”か否かを判断する。この判断の結果が肯定的の場合、S3103が行われ、この判断の結果が否定的の場合、S3104が行われる。
別のプールが移行先プールとして選択される。例えば、自動実行の場合、プログラム415が、移行元プールが有する複数のティアと同じ複数のティアを有する別のプールを選択してよい。また、例えば、手動の場合、UI制御プログラム413が、図29のGUI2900にエラーを表すメッセージを表示し、管理者から、移行先プールIDの指定を受け付けてよい。この後、選択された移行先プールについてS3102が行われる。
プログラム415は、移行元プール及び移行先プールの両方の「プールステータス」の値を“再配置中”に更新する。また、この時点で、プログラム415は、移行元プールに代えて移行先プールが対象プールに割り当てられるようテーブル404(図8)を更新して良い。これにより、以後、対象VVOLを指定したライトコマンドをI/O制御プログラム414が受け、そのライトコマンドに従うライト対象のデータ要素がデステージされる場合には、そのデータ要素は、移行先プール内の実データに書き込まれてよい。
プログラム415は、対象VVOLの一以上の割当ティアから一つのティアを選択する。ここで選択されたティアは、一つの移行元ティアである。プログラム415は、その移行元ティア内の全ての移行対象のデータ要素を移行先ティア(選択された移行元ティアと同じIDのティアであって移行先プール内のティア)に移行したと仮定して、移行先ティアの使用割合が移行先ティアのティア閾値を越えるか否かを判断する。プログラム415は、この判断を、テーブル402(図6)、及び、408(図8)を基に行う。この判断の結果が肯定的の場合、S3106が行われ、この判断の結果が否定的の場合、S3107が行われる。
エラー処理が行われる。例えば、プログラム415は、エラーを管理装置107に表示して終了しても良い。或いは、例えば、プログラム415は、図38に示す処理を行うことで、移行先ティアにフリーの実ページを増やしても良い。
プログラム415は、移行処理を行う。具体的には、例えば、下記の通りである。
*プログラム415は、この移行処理用に移行ページテーブル411を作成する。具体的には、例えば、プログラム415は、テーブル402(図6)及び407(図10)を基に、対象VVOLを構成する複数の仮想ページのうちの、移行元ティア内の実ページが割り当てられている仮想ページのIDをテーブル411に登録する。また、プログラム415は、登録した仮想ページID毎に、移行元ティアのIDと、移行先ティアのIDとを登録し、且つ、「移行ステータス」として“未移行”を設定する。
*プログラム415は、移行ページテーブル411に登録されている各仮想ページIDについて、以下の処理を行う。移行ページテーブル411に登録されている全ての仮想ページIDについて以下の処理が終了すると、S3107の終了となる。以下、一つの仮想ページ(S3107の説明で「対象仮想ページ」と言う)を例に採り説明する。
**プログラム415は、対象仮想ページに対応した「移行ステータス」の値を“移行中”に更新する。
**プログラム415は、移行先ティアからフリーの実ページを選択する。
**プログラム415は、選択した実ページ(移行先実ページ)に、移行元ティア内の移行元実ページに記憶されているデータ要素を移行する。移行元実ページは、対象仮想ページに割り当てられている実ページである。
**プログラム415は、移行元実ページの代わりに移行先実ページが対象仮想ページに割り当るようアロケーションテーブル407を更新する。つまり、プログラム415は、対象仮想ページに、移行先実ページのIDと、移行先ティアのIDと、移行先プールのIDとを対応付ける。
**プログラム415は、対象仮想ページのI/O頻度(例えば、アクティブのテーブル409A又は409B)を更新する。具体的には、例えば、対象仮想ページ又は対象VVOLの合計I/O数が1インクリメントされる。
**プログラム415は、テーブル402(図6)における、移行先ティアの「使用割合」の値を、更新する。
**プログラム415は、対象仮想ページに対応する「移行ステータス」の値を“移行済”に更新する。
プログラム415は、移行元プールにおける全ての移行元ティア(対象VVOLの全ての割当ティア)について、S3105以降が行われたか否かを判断する。この判断の結果が否定的であれば、S3105が行われていない移行元ティアについて、S3105が行われる。この判断の結果が肯定的であれば、S3109が行われる。
プログラム415は、移行元プール及び移行先プールの両方の「プールステータス」の値を、“再配置中”とは別の値、例えば、“モニタリング中”又は“非モニタリング中”に更新する。
*プログラム415が、VVOLに割り当てられている全ての実ページがどの程度の割合でどのティアに存在するかを基に、I/O頻度の閾値レンジを算出する。例えば、プログラム415が、VVOLの全ての割当ティアのティアレンジと、各割当ティアが有する、VVOLに割り当てられている実ページの数とを基に、I/O頻度の閾値レンジを算出する。
*プログラム415が、算出された閾値レンジと、VVOLのI/O頻度とを比較する。
*プログラム415が、VVOLのI/O頻度が算出された閾値レンジに収まっていなければ、VVOLのI/O頻度が収まるような閾値レンジが得られるように、VVOL内の全てのデータ要素を、VVOLに割り当てられているプール(移行元プール)から移行先プールに移行する。すなわち、プログラム415は、VVOLに割り当てられている実ページ毎に、移行先プールにおける移行先ティアを決定し、決定した移行先ティア内の実ページにデータ要素を移行する。その結果、移行後の閾値レンジ(VVOLに割り当てられた全ての移行先実ページを有する一以上のティアのティアレンジと、それら一以上のティアの各々における、VVOLに割り当てられている移行先実ページの数とに基づいて得られる閾値レンジ)が、VVOLのI/O頻度が収まる閾値レンジである。
プログラム415は、対象VVOLの先頭の仮想ページを選択する。
プログラム415は、アロケーションテーブル407を基に、選択された仮想ページに実ページが割り当てられているか否かを判断する。この判断の結果が否定的であれば、S3405が行われ、この判断の結果が肯定的であれば、S3403が行われる。
プログラム415は、第2種のモニタテーブル409Bを基に、選択された仮想ページに割り当てられている実ページ内のデータ要素が存在すべきティアを変更すべきか否かを判断する。具体的には、例えば、下記の通りである。
*プログラム415は、選択された仮想ページに割り当てられている実ページを有するティア(S3403の説明において「対象ティア」)を、テーブル402(図6)から特定する。
*プログラム415は、選択された仮想ページのI/O頻度(例えば、対象VVOLに対応したアクティブのモニタテーブル409Bが表す合計I/O数、平均I/O数、及び最大I/O数のうちの少なくとも一つ)と、対象ティアに対応した「ティアレンジ」の値とを基に、選択された仮想ページに割り当てられている実ページ内のデータ要素を、対象ティアから別のティアに移行すべきかどうかを判断する。例えば、選択された仮想ページの対象ティアに対応したティアレンジに、選択された仮想ページのI/O頻度が収まっていなければ、データ要素が移行されるべきと判断される。
プログラム415は、選択された仮想ページのI/O頻度(例えば、対象VVOLに対応したアクティブのモニタテーブル409Bが表す合計I/O数、平均I/O数、及び最大I/O数のうちの少なくとも一つ)と、対象ティアを有するプール内の他の割当ティアに対応した「ティアレンジ」の値とを基に、移行先ティアを決定する。ここでは、例えば、選択された仮想ページのI/O頻度が収まっているティアレンジに対応する割当ティア(対象VVOLの割当ティア)が、移行先ティアとして決定される。そして、プログラム415は、移行先ページテーブル411に、選択された仮想ページのIDと、対象ティアのIDと、決定された移行先ティアのIDと、移行ステータス“未移行”とを登録する。
プログラム415は、選択された仮想ページが、対象VVOLの末端の仮想ページであるか否かを判断する。この判断の結果が否定的であれば、S3406が行われ、この判断の結果が肯定的であれば、この移行ページテーブル作成処理が終了となる。
プログラム415は、対象VVOLから、直前回に選択された仮想ページの次の仮想ページを選択する。その後、その選択された仮想ページについて、S3402以降が行われる。
再配置プログラム415が、対象VVOLに割り当てられているプールの「プールステータス」を“再配置中”に更新する。
プログラム415が、作成された移行ページテーブル411の先頭のレコードを選択する。
プログラム415は、選択されたレコードにおける「移行ステータス」の値を“移行中”に更新する。
プログラム415は、選択されたレコードが表す移行先ティアからフリーの実ページを選択し、選択した実ページ(移行先実ページ)に、移行元ティア内の移行元実ページに記憶されているデータ要素を移行する。移行元実ページは、対象仮想ページに割り当てられている実ページである。
プログラム415は、テーブルを更新する。具体的には、例えば、下記の通りである。
*プログラム415は、移行元実ページの代わりに移行先実ページが、選択されたレコードが表す仮想ページ(以下、S3605の説明において「選択仮想ページ」)に割り当るよう、アロケーションテーブル407を更新する。つまり、プログラム415は、選択仮想ページに、移行先実ページのIDと、移行先ティアのIDとを対応付ける。
*プログラム415は、選択仮想ページのI/O頻度(例えば、アクティブのテーブル409A又は409B)を更新する。具体的には、例えば、選択仮想ページ又は対象VVOLの合計I/O数が1インクリメントされる。
*プログラム415は、テーブル402(図6)における、移行先ティアの「使用割合」の値を、更新する。
プログラム415は、選択されたレコードにおける「移行ステータス」の値を“移行済”に更新する。
プログラム415は、選択されたレコードが、仮想ページテーブル411における末端のレコードであるか否かを判断する。この判断の結果が否定的であれば、S3608が行われ、この判断の結果が肯定的であれば、この移行処理が終了となる。
プログラム415は、仮想ページテーブル411から、直前回に選択されたレコードの次のレコードを選択する。その後、その選択されたレコードについて、S3603以降が行われる。
*S3602のS3603の間で、プログラム415が、データ要素を移行先ティアに移行したと仮定して、移行先ティアの使用割合が移行先ティアのティア閾値を超えるか否かを判断してよい。超えると判断された場合、プログラム415は、S3603~S3606をスキップしてS3607を行ってよい(すなわち、プログラム415は、選択されたレコードについてデータ要素の移行を行わなくて良い)。或いは、超えると判断された場合、プログラム415は、移行先ティアを割当ティアとしているVVOLについて再配置処理を行うことで、移行先ティアにフリーの実ページを増やし、その後で、S3603を開始してもよい。
*S3605で移行先ティアの使用割合を更新したときに、プログラム415が、移行先ティアの使用割合が移行先ティアのティア閾値を超えるか否かを判断してよい。超えたと判断された場合、プログラム415は、管理装置107に警告を表示して良く、及び/又は、移行先ティアを割当ティアとしているVVOLについて再配置処理を行うことで、移行先ティアにフリーの実ページを増やしてよい。
プログラム413が、プールID及びティアIDと、そのティアIDについての変更後のティア閾値とを受け付ける。
プログラム413は、S3701で受けたプールID及びティアIDに対応した「使用割合」の値が、変更後のティア閾値を超えているか否かを判断する。
プログラム413は、S3702の判断の結果が肯定的の場合、エラーを管理装置107に表示する。
(x)プログラム414は、割当ティア#01及び#03内のデータ要素を割当ティア#00に移行しない。
(y)プログラム414は、対象VVOL以外のVVOL内のデータ要素であって割当ティア#00内のデータ要素を他のティアに移行することで割当ティア#00にフリーの実ページを増やす。
Claims (15)
- 複数の記憶デバイスから提供される複数の記憶領域を記憶領域の属性に従って分類された複数の記憶領域グループを管理し、
論理ボリューム内の複数のアドレスに含まれる少なくとも1つのアドレスへのライト要求に応じて前記複数の記憶領域に含まれる少なくとも1つの記憶領域が割り当てられる前記論理ボリュームの複数を提供し、
前記論理ボリューム内の前記少なくとも1つのアドレスのアクセス状況に応じて、前記ライト要求によって前記少なくとも1つのアドレスにライトされているデータを、前記複数の記憶領域グループの1つに含まれる前記少なくとも1つの記憶領域から前記複数の記憶領域グループに含まれる他の記憶領域グループ内の少なくともひとつの記憶領域へ移行する、ことを特徴とするストレージシステムの制御方法。 - 請求項1に記載の方法であって、
前記ストレージシステムは、前記論理ボリューム単位のデータ移行も実施しうるものである、ことを特徴とするストレージシステムの制御方法。 - 一以上のホストに接続されるストレージシステムであって、
複数種類の物理記憶デバイス群と、
記憶制御装置と
を備え、
前記記憶制御装置が、
記憶資源と、
前記複数種類の物理記憶デバイス群、前記記憶資源及び前記ホストに接続されるコントローラと
を有し、
物理記憶デバイス群は、一以上の物理記憶デバイスで構成されており、
前記複数種類の物理記憶デバイス群が、複数種類の実ページ群の基になっており、
実ページ群の種類は、その実ページ群の基になっている物理記憶デバイス群の属性に基づいており、
実ページ群が、複数の実ページを有し、
前記コントローラが、一以上の仮想ボリュームを前記一以上のホストに提供し、
前記仮想ボリュームは、複数の仮想ページで構成されている仮想的な論理ボリュームであり、
前記仮想ページは、仮想的な記憶領域であり、
前記実ページは、実体的な記憶領域であり、
前記記憶資源が、どの仮想ページにどの実ページが割り当てられているかを表す情報である割当て情報を記憶し、
前記コントローラが、前記ホストからライトコマンドを受信し、前記ライトコマンドからライト先の仮想ページを特定し、特定した仮想ページにフリーの実ページを割り当てるよう前記割当て情報を更新し、割り当てた実ページにライト対象のデータを格納し、
前記実ページは、実体的な記憶領域であり、実ページに格納されるデータはその実ページの基になっている物理記憶デバイスに記憶され、
前記コントローラが、以下の(A)及び(B)の処理を含んだ処理である移行処理を行う、
(A)第1種の実ページ群内の第1の実ページに格納されているデータを、第2種の実ページ群内の第2の実ページに移行する、
(B)前記第1の実ページの割当て先の仮想ページである第1の仮想ページに前記第1の実ページに代えて前記第2の実ページを割り当てるよう前記割当て情報を更新する、
ストレージシステム。 - 請求項3記載のストレージシステムであって、
前記記憶資源が、仮想ページ毎のI/O(Input/Output)頻度を表す情報であるモニタ情報を記憶し、
前記コントローラが、仮想ページ又はその仮想ページに割り当てられる実ページに対するI/Oに応じて、前記モニタ情報における、その仮想ページのI/O頻度を更新し、
前記第1の仮想ページは、前記モニタ情報から特定されたI/O頻度が所定の条件に適合していない仮想ページである、
ストレージシステム。 - 請求項4記載のストレージシステムであって、
前記記憶資源が、実ページ群の種類毎に設定されたI/O頻度レンジを表す情報を含んだ情報である実ページ群管理情報を記憶し、
前記所定の条件とは、前記第1種の実ページ群のI/O頻度レンジに収まることであり、
前記第2種の実ページ群は、I/O頻度レンジが前記第1の仮想ページのI/O頻度に収まっている実ページ群である、
ストレージシステム。 - 請求項4記載のストレージシステムであって、
前記コントローラは、I/Oコマンドを前記ホストから受信し、そのI/OコマンドからI/O先の仮想ページを特定し、
前記コントローラは、前記I/O先の仮想ページに割り当てられる実ページに対してI/Oを行う場合、前記モニタ情報における、前記I/O先の仮想ページに対応したI/O頻度を更新し、一方、前記I/O先の仮想ページに割り当てられる実ページに対してI/Oを行わない場合、前記モニタ情報における、前記I/O先の仮想ページに対応したI/O頻度を更新しない、
ストレージシステム。 - 請求項5記載のストレージシステムであって、
前記記憶資源は、前記モニタ情報として、状態がアクティブのモニタ情報と、状態がスタンバイのモニタ情報とを記憶し、
前記コントローラは、前記アクティブのモニタ情報におけるI/O頻度を更新し、
前記コントローラは、前記移行処理において、前記アクティブのモニタ情報を基に、前記第1の仮想ページを特定し、且つ、前記スタンバイのモニタ情報の状態をスタンバイからアクティブに変更し、その後、仮想ページが特定されるI/Oコマンドに従って実ページに対してI/Oを行う場合、状態がアクティブに変更されたモニタ情報における、その特定された仮想ページのI/O頻度を更新する、
ストレージシステム。 - 請求項7記載のストレージシステムであって、
前記コントローラは、前記アクティブのモニタ情報を用いて、I/O頻度と仮想ページ数との関係を表す情報である関係情報を作成し、作成した関係情報が表示されるよう前記関係情報を出力し、
前記コントローラは、移行開始の指示を受けたときに、前記移行処理を開始する、
ストレージシステム。 - 請求項3記載のストレージシステムであって、
前記コントローラは、前記第1の実データ群の使用割合が所定の割合閾値を超えた場合に、前記移行処理を開始する、
ストレージシステム。 - 請求項3記載のストレージシステムであって、
前記第1種の実データ群が、最上位の実データ群であり、
前記コントローラは、前記ライトコマンドから特定されたライト先の仮想ページには、必ず、前記第1種の実データ群から実ページを割り当てる、
ストレージシステム。 - 請求項3記載のストレージシステムであって、
前記仮想ボリュームとして、第1及び第2の仮想ボリュームがあり、
前記複数種類の物理記憶デバイス群に基づく複数のプールがあり、
プールは、一種類以上の実ページ群を有し、少なくとも一つの仮想ボリュームに割り当てられており、
前記コントローラは、前記第1の仮想ボリュームについて、ページ単位移行処理を実行し、前記第2の仮想ボリュームについて、ボリューム単位移行処理を実行し、
前記コントローラは、前記ページ単位移行処理では、前記第1の仮想ボリュームに割り当てられているプールにおいて、前記第1の実ページから前記第2の実ページにデータを移行し、
前記コントローラは、前記ボリューム単位移行処理では、前記第2の仮想ボリュームに割り当てられているプールにおける、前記第2の仮想ボリュームに割り当てられている全ての実ページ内のデータを、前記第2の仮想ボリュームに割り当てられているプールとは別のプール内の実ページにそれぞれ移行する、
ストレージシステム。 - 請求項11記載のストレージシステムであって、
前記記憶資源が、前記第2の仮想ボリュームのI/O頻度を表す情報であるモニタ情報と、実ページ群の種類毎に設定されたI/O頻度レンジを表す情報を含んだ情報である実ページ群管理情報とを記憶し、
前記コントローラが、前記第2の仮想ボリューム又は前記第2の仮想ボリュームに割り当てられる実ページに対するI/Oに応じて、前記モニタ情報における、前記第2の仮想ボリュームのI/O頻度を更新し、
前記コントローラが、前記第2の仮想ボリュームに割り当てられている実ページを有する実ページ群の種類に対応したI/O頻度レンジを基に、I/O頻度の閾値レンジを算出し、
前記コントローラが、前記第2の仮想ボリュームのI/O頻度が前記閾値レンジに収まっていない場合、前記第2の仮想ボリュームのI/O頻度が収まる閾値レンジが得られるように、前記第2の仮想ボリュームに割り当てられている全ての実ページ内のデータを、前記別のプールに移行する、
ストレージシステム。 - 請求項12記載のストレージシステムであって、
前記ボリューム単位移行処理では、全ての移行元の実ページについて、移行元の実ページを有する実ページ群の種類と、移行先の実ページを有する実ページ群の種類が同じである、
ストレージシステム。 - 請求項12記載のストレージシステムであって、
前記ボリューム単位移行処理では、全ての移行元の実ページについて、移行元の実ページを有する実ページ群の種類に関わらず、移行先の実ページは一つの所定種類の実ページ群内の実ページである、
ストレージシステム。 - 請求項1記載のストレージシステムであって、
前記コントローラは、前記仮想ボリュームに割り当てられている全ての実ページのうちの所定割合以上の実ページが或る種の実ページ群に存在する場合、前記仮想ボリュームに割り当てられている全ての実ページのうち、前記或る種の実ページ群以外の種類の実ページ群内の実ページ内のデータを、前記或る種の実ページ群内の実ページに移行する、
ストレージシステム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011547082A JP5555260B2 (ja) | 2009-12-24 | 2009-12-24 | 仮想ボリュームを提供するストレージシステム |
US12/678,227 US8407417B2 (en) | 2009-12-24 | 2009-12-24 | Storage system providing virtual volumes |
PCT/JP2009/007208 WO2011077490A1 (ja) | 2009-12-24 | 2009-12-24 | 仮想ボリュームを提供するストレージシステム |
EP09852507.4A EP2518614A4 (en) | 2009-12-24 | 2009-12-24 | STORAGE SYSTEM FOR PROVIDING A VIRTUAL VOLUME |
CN200980161168.8A CN102483683B (zh) | 2009-12-24 | 2009-12-24 | 提供虚拟卷的存储系统 |
US13/775,664 US8527702B2 (en) | 2009-12-24 | 2013-02-25 | Storage system providing virtual volumes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/007208 WO2011077490A1 (ja) | 2009-12-24 | 2009-12-24 | 仮想ボリュームを提供するストレージシステム |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/678,227 A-371-Of-International US8407417B2 (en) | 2009-12-24 | 2009-12-24 | Storage system providing virtual volumes |
US13/775,664 Continuation US8527702B2 (en) | 2009-12-24 | 2013-02-25 | Storage system providing virtual volumes |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011077490A1 true WO2011077490A1 (ja) | 2011-06-30 |
Family
ID=44195054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/007208 WO2011077490A1 (ja) | 2009-12-24 | 2009-12-24 | 仮想ボリュームを提供するストレージシステム |
Country Status (5)
Country | Link |
---|---|
US (2) | US8407417B2 (ja) |
EP (1) | EP2518614A4 (ja) |
JP (1) | JP5555260B2 (ja) |
CN (1) | CN102483683B (ja) |
WO (1) | WO2011077490A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013089225A (ja) * | 2011-10-19 | 2013-05-13 | Hitachi Ltd | 階層変更方法及び装置 |
EP2674867A4 (en) * | 2011-09-27 | 2015-02-25 | Hitachi Ltd | COMPUTER SYSTEM AND INFORMATION MANAGEMENT METHOD |
JP2015531089A (ja) * | 2012-10-12 | 2015-10-29 | 株式会社日立製作所 | ストレージ装置及びデータ管理方法 |
JP2017204101A (ja) * | 2016-05-10 | 2017-11-16 | 富士通株式会社 | ストレージ制御装置、ストレージシステム及びストレージ装置制御プログラム |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372607A1 (en) * | 2010-03-15 | 2014-12-18 | Cleversafe, Inc. | Adjusting allocation of dispersed storage network resources |
WO2011162744A1 (en) | 2010-06-22 | 2011-12-29 | Hewlett-Packard Development Company, L.P. | Methods and systems for planning application deployment |
US8345489B2 (en) | 2010-09-02 | 2013-01-01 | International Business Machines Corporation | Caching scheme synergy for extent migration between tiers of a storage system |
US8677167B2 (en) * | 2010-10-18 | 2014-03-18 | Hitachi, Ltd. | Storage apparatus and power control method |
US9348515B2 (en) * | 2011-01-17 | 2016-05-24 | Hitachi, Ltd. | Computer system, management computer and storage management method for managing data configuration based on statistical information |
US20140223430A1 (en) * | 2011-04-07 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for moving a software object |
US8838895B2 (en) * | 2011-06-09 | 2014-09-16 | 21Vianet Group, Inc. | Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time |
WO2013072968A1 (en) * | 2011-11-18 | 2013-05-23 | Hitachi, Ltd. | Storage system and management method therefor |
JP2013114624A (ja) * | 2011-11-30 | 2013-06-10 | Hitachi Ltd | ストレージシステム及びプール容量縮小の制御方法 |
WO2013103003A1 (ja) * | 2012-01-05 | 2013-07-11 | 株式会社日立製作所 | 計算機システムの管理装置及び管理方法 |
EP2831715A1 (en) | 2012-04-26 | 2015-02-04 | Hitachi, Ltd. | Information storage system and method of controlling information storage system |
US9367439B2 (en) * | 2012-04-30 | 2016-06-14 | Oracle International Corporation | Physical memory usage prediction |
US9104317B2 (en) | 2012-06-25 | 2015-08-11 | Hitachi, Ltd. | Computer system and method of controlling I/O with respect to storage apparatus |
CN103020201B (zh) * | 2012-12-06 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种存储系统自动精简配置存储池及组织管理的方法 |
CN104919433B (zh) * | 2013-01-11 | 2017-10-31 | 英派尔科技开发有限公司 | 用于闪存的页面分配 |
WO2014133490A1 (en) | 2013-02-27 | 2014-09-04 | Empire Technology Development Llc | Linear programming based decoding for memory devices |
US20140280220A1 (en) * | 2013-03-13 | 2014-09-18 | Sas Institute Inc. | Scored storage determination |
US9998863B2 (en) | 2013-08-19 | 2018-06-12 | Estimote Polska Sp. Z O. O. | System and method for providing content using beacon systems |
EP3036930B1 (en) | 2013-08-19 | 2019-12-18 | Estimote Polska Sp. Zo. o. | Method for distributing notifications |
WO2015088552A1 (en) | 2013-12-13 | 2015-06-18 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
CN106062703B (zh) * | 2014-03-27 | 2019-08-02 | 株式会社日立制作所 | 存储系统 |
US10089125B2 (en) * | 2014-07-23 | 2018-10-02 | Hitachi, Ltd. | Virtual machines accessing file data, object data, and block data |
JP6500505B2 (ja) * | 2015-03-05 | 2019-04-17 | 富士通株式会社 | 制御装置、制御方法、および制御プログラム |
US10372372B2 (en) | 2015-04-22 | 2019-08-06 | Hitachi, Ltd. | Storage system |
CN105138290A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种高性能存储池组织方法及装置 |
US10136250B2 (en) | 2015-09-02 | 2018-11-20 | Estimote Polska Sp. Z O. O. | System and method for lower power data routing |
JP6807376B2 (ja) * | 2016-02-29 | 2021-01-06 | 株式会社日立製作所 | 仮想ストレージシステム |
US9867009B2 (en) * | 2016-03-22 | 2018-01-09 | Estimote Polska Sp. Z O. O. | System and method for multi-beacon interaction and management |
JP6387994B2 (ja) * | 2016-03-24 | 2018-09-12 | 日本電気株式会社 | 管理装置、管理方法及びプログラム |
JP6606235B1 (ja) * | 2018-07-13 | 2019-11-13 | 株式会社日立製作所 | ストレージシステム |
US10523685B1 (en) | 2018-08-22 | 2019-12-31 | Estimote Polska Sp z o.o. | System and method for verifying device security |
WO2020039251A2 (en) | 2018-08-24 | 2020-02-27 | Estimote Polska Sp z o.o. | A method and system for asset management |
US10891077B2 (en) * | 2018-12-26 | 2021-01-12 | Macronix International Co., Ltd. | Flash memory device and controlling method thereof |
US20220382478A1 (en) * | 2021-06-01 | 2022-12-01 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for page migration in memory systems |
LU501202B1 (en) * | 2022-01-04 | 2023-07-04 | Microsoft Technology Licensing Llc | Prioritized thin provisioning with eviction overflow between tiers |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001519563A (ja) * | 1997-10-08 | 2001-10-23 | シーゲイト テクノロジー エルエルシー | ディスクドライブアレイおよびデータ格納方法 |
JP2006302077A (ja) | 2005-04-22 | 2006-11-02 | Hitachi Ltd | ボリュームマイグレーションシステム、ボリューム再配置方法及びプログラム |
JP2007200333A (ja) * | 2006-01-26 | 2007-08-09 | Seagate Technology Llc | オブジェクト・ベースのデータ記憶装置 |
JP2008047156A (ja) | 2004-08-30 | 2008-02-28 | Hitachi Ltd | ストレージシステム及びデータ再配置制御装置 |
JP2009043055A (ja) * | 2007-08-09 | 2009-02-26 | Hitachi Ltd | 計算機システム、ストレージ装置及びデータ管理方法 |
JP2009134397A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839739B2 (en) * | 1999-02-09 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | Computer architecture with caching of history counters for dynamic page placement |
US6816957B1 (en) * | 1999-10-26 | 2004-11-09 | Storage Technology Corporation | Management of virtual tape volumes using data page atomic units |
JP2002169661A (ja) * | 2000-07-27 | 2002-06-14 | Matsushita Electric Ind Co Ltd | データ処理制御システム、コントローラ、データ処理制御方法、プログラム、および媒体 |
FR2825547B1 (fr) * | 2001-06-05 | 2003-10-31 | Nortel Networks Ltd | Procede et dispositif de controle d'emission de blocs de donnees |
US6980820B2 (en) * | 2001-08-20 | 2005-12-27 | Qualcomm Inc. | Method and system for signaling in broadcast communication system |
US7385995B2 (en) * | 2003-01-13 | 2008-06-10 | Brooktree Broadband Holding, Inc. | System and method for dynamic bandwidth allocation on PONs |
EP1668486A2 (en) | 2003-08-14 | 2006-06-14 | Compellent Technologies | Virtual disk drive system and method |
JP4863605B2 (ja) | 2004-04-09 | 2012-01-25 | 株式会社日立製作所 | 記憶制御システム及び方法 |
US7096338B2 (en) | 2004-08-30 | 2006-08-22 | Hitachi, Ltd. | Storage system and data relocation control device |
US7512769B1 (en) * | 2004-10-06 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Process migration |
US7404039B2 (en) * | 2005-01-13 | 2008-07-22 | International Business Machines Corporation | Data migration with reduced contention and increased speed |
GB0514529D0 (en) * | 2005-07-15 | 2005-08-24 | Ibm | Virtualisation engine and method, system, and computer program product for managing the storage of data |
JP2007066259A (ja) | 2005-09-02 | 2007-03-15 | Hitachi Ltd | 計算機システムとストレージシステム並びにボリューム容量拡張方法 |
JP4993913B2 (ja) * | 2006-01-13 | 2012-08-08 | 株式会社日立製作所 | 記憶制御装置及びそのデータ管理方法 |
US7624178B2 (en) | 2006-02-27 | 2009-11-24 | International Business Machines Corporation | Apparatus, system, and method for dynamic adjustment of performance monitoring |
JP2007272675A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | スナップショット作成装置、方法、およびプログラム |
JP2007280089A (ja) * | 2006-04-07 | 2007-10-25 | Hitachi Ltd | 容量拡張ボリュームの移行方法 |
JP4990066B2 (ja) * | 2007-08-21 | 2012-08-01 | 株式会社日立製作所 | 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム |
JP5113488B2 (ja) * | 2007-10-31 | 2013-01-09 | 優 喜連川 | 計算機システム、省電力化方法及び計算機 |
JP5159353B2 (ja) * | 2008-02-08 | 2013-03-06 | 株式会社日立製作所 | 記憶システム、解除方法及び副側のストレージ装置 |
JP2009211132A (ja) * | 2008-02-29 | 2009-09-17 | Hitachi Ltd | 記憶システム及びデータ移行方法 |
JP5410025B2 (ja) * | 2008-03-07 | 2014-02-05 | 株式会社日立製作所 | ストレージシステム及びその管理方法 |
JP5111204B2 (ja) * | 2008-03-31 | 2013-01-09 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの管理方法 |
JP5222617B2 (ja) * | 2008-04-28 | 2013-06-26 | 株式会社日立製作所 | 情報システム及びi/o処理方法 |
JP5172489B2 (ja) * | 2008-06-16 | 2013-03-27 | 本田技研工業株式会社 | 開閉体制御装置 |
-
2009
- 2009-12-24 JP JP2011547082A patent/JP5555260B2/ja not_active Expired - Fee Related
- 2009-12-24 CN CN200980161168.8A patent/CN102483683B/zh active Active
- 2009-12-24 EP EP09852507.4A patent/EP2518614A4/en not_active Withdrawn
- 2009-12-24 US US12/678,227 patent/US8407417B2/en active Active
- 2009-12-24 WO PCT/JP2009/007208 patent/WO2011077490A1/ja active Application Filing
-
2013
- 2013-02-25 US US13/775,664 patent/US8527702B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001519563A (ja) * | 1997-10-08 | 2001-10-23 | シーゲイト テクノロジー エルエルシー | ディスクドライブアレイおよびデータ格納方法 |
JP2008047156A (ja) | 2004-08-30 | 2008-02-28 | Hitachi Ltd | ストレージシステム及びデータ再配置制御装置 |
JP2006302077A (ja) | 2005-04-22 | 2006-11-02 | Hitachi Ltd | ボリュームマイグレーションシステム、ボリューム再配置方法及びプログラム |
JP2007200333A (ja) * | 2006-01-26 | 2007-08-09 | Seagate Technology Llc | オブジェクト・ベースのデータ記憶装置 |
JP2009043055A (ja) * | 2007-08-09 | 2009-02-26 | Hitachi Ltd | 計算機システム、ストレージ装置及びデータ管理方法 |
JP2009134397A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2518614A4 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2674867A4 (en) * | 2011-09-27 | 2015-02-25 | Hitachi Ltd | COMPUTER SYSTEM AND INFORMATION MANAGEMENT METHOD |
US9015442B2 (en) | 2011-09-27 | 2015-04-21 | Hitachi Ltd. | Computing device system and information managing method for rearrangement of data based on access characteristic related to a task |
JP2013089225A (ja) * | 2011-10-19 | 2013-05-13 | Hitachi Ltd | 階層変更方法及び装置 |
JP2015531089A (ja) * | 2012-10-12 | 2015-10-29 | 株式会社日立製作所 | ストレージ装置及びデータ管理方法 |
JP2017204101A (ja) * | 2016-05-10 | 2017-11-16 | 富士通株式会社 | ストレージ制御装置、ストレージシステム及びストレージ装置制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN102483683A (zh) | 2012-05-30 |
US20110246739A1 (en) | 2011-10-06 |
JP5555260B2 (ja) | 2014-07-23 |
EP2518614A1 (en) | 2012-10-31 |
EP2518614A4 (en) | 2014-01-01 |
JPWO2011077490A1 (ja) | 2013-05-02 |
US8407417B2 (en) | 2013-03-26 |
US8527702B2 (en) | 2013-09-03 |
US20130185505A1 (en) | 2013-07-18 |
CN102483683B (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5555260B2 (ja) | 仮想ボリュームを提供するストレージシステム | |
WO2011077489A1 (ja) | 仮想ボリュームを提供するストレージシステム | |
US8549247B2 (en) | Storage system, management method of the storage system, and program | |
US9052823B2 (en) | Storage system and data management method with application specific storage tiers | |
JP5771280B2 (ja) | 計算機システム及びストレージ管理方法 | |
JP5079841B2 (ja) | ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置 | |
JP5916958B2 (ja) | 計算機システム及び計算機システム制御方法 | |
WO2012004837A1 (en) | Storage apparatus and storage management method | |
JP5685676B2 (ja) | 計算機システム及びデータ管理方法 | |
WO2014016872A1 (en) | Computer system, data management apparatus, and data management method | |
JP5730446B1 (ja) | トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム | |
JP2007286975A (ja) | 計算機システム及びストレージシステム並びにボリューム割り当て方法 | |
WO2015189988A1 (ja) | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム | |
CN104808954B (zh) | 提供虚拟卷的存储系统及其控制方法 | |
US9128819B2 (en) | Storage system and management method therefor | |
JP5355764B2 (ja) | ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980161168.8 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12678227 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09852507 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011547082 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009852507 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |