CN104808954A - Storage system for providing virtual volumes and control method of storage system - Google Patents

Storage system for providing virtual volumes and control method of storage system Download PDF

Info

Publication number
CN104808954A
CN104808954A CN201510242032.7A CN201510242032A CN104808954A CN 104808954 A CN104808954 A CN 104808954A CN 201510242032 A CN201510242032 A CN 201510242032A CN 104808954 A CN104808954 A CN 104808954A
Authority
CN
China
Prior art keywords
layer
page
frequency
virtual
actual page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510242032.7A
Other languages
Chinese (zh)
Other versions
CN104808954B (en
Inventor
折笠大典
松田健
高田丰
江口贤哲
里山爱
水野阳一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to CN201510242032.7A priority Critical patent/CN104808954B/en
Priority claimed from CN200980161169.2A external-priority patent/CN102483684B/en
Publication of CN104808954A publication Critical patent/CN104808954A/en
Application granted granted Critical
Publication of CN104808954B publication Critical patent/CN104808954B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a storage system for providing virtual volumes and a control method of the storage system. A plurality of storage region groups obtained after classifying a plurality of storage regions provided by a plurality of storage devices according to attributes of the storage regions are managed; a plurality of logical volumes distributed to at least one of the plurality of storage regions are provided according to a write request of at least one of a plurality of addresses in the logical volumes; data written into the at least one address through the write request is migrated from the at least one storage region contained in one of the plurality of storage region groups to the at least one storage region in the other of the plurality of storage region groups according to access conditions of at least one address in the logical volumes.

Description

Storage system and the control method thereof of virtual volume are provided
The application is the applying date is on Dec 24th, 2009, be entitled as the divisional application of the Chinese patent application No.200980161169.2 of " storage system providing virtual volume ".
Technical field
The storage that the present invention relates to application Thin Provisioning (automatically simplify configuration, be also referred to as DynamicProvisioning (dynamically pre-configured)) controls.
Background technology
Data Transference Technology is known.Data Migration carries out to roll up (volume) for unit usually.Such as, according to patent documentation 1, all data be kept in the first logical volume move to the second logical volume from the first logical volume.
In addition, memory hierarchy technology is also known.Such as, according to patent documentation 2, multiple logical volumes that multiple storage system has are classified to the some layers in multiple layer (tier) respectively, and logical volume affiliated in some layers is migrated to other layer.Multiple layer comprises the such as layer of high confidence level, the layer etc. of low cost.
Prior art document
Patent documentation
Patent documentation 1: Japanese Unexamined Patent Publication 2006-302077 publication
Patent documentation 2: Japanese Unexamined Patent Publication 2008-047156 publication
Summary of the invention
The problem that invention will solve
But the technology being referred to as Thin Provisioning (being also referred to as Dynamic Provisioning) is known.According to Thin Provisioning, prepare the storage area (actual page) of virtual logical volume (virtual volume) and the multiple entity be made up of multiple virtual storage region (virtual page).When writing virtual page, distribute actual page to this virtual page, in distributed actual page, write is as the data of write object.
If apply above-mentioned Data Transference Technology and memory hierarchy technology in Thin Provisioning.In addition, if the first virtual volume belongs to ground floor, the second virtual volume belongs to the second layer.In this situation, all data can be moved by second virtual volume of the first virtual volume belonging in the second layer belonging to from ground floor.
According to this technology, all data in the first virtual volume are moved to the second layer by from ground floor, but data that might not be preferably all are present in the second layer.
So, the object of the invention is to make the data configuration optimization according in the virtual volume of Thin Provisioning.
For solving the means of problem
Manage and the multiple storage areas provided by multiple memory device are carried out sorted multiple storage area group according to the attribute of storage area.According to the write request of at least one address contained in multiple address in logic-oriented volume, provide the multiple described logical volume being assigned at least one storage area contained in described multiple storage area.According to the access situation of at least one address described in described logical volume, by data contained at least one storage area described from of described multiple storage area group write by said write request at least one address described, at least one storage area migration in other storage area group contained by described multiple storage area group.
Accompanying drawing explanation
Fig. 1 represents the summary of the embodiment of the present invention 1.
Fig. 2 represents the formation of storage system 103.
Fig. 3 represents the relation of various storage area in storage system 103.
Fig. 4 represents the information that CMPK119 stores and computer program.
The formation of Fig. 5 presentation layer definition list 401.
The formation of Fig. 6 presentation layer admin table 402.
Fig. 7 represents the formation of pond admin table 403.
Fig. 8 represents the formation of VVOL admin table 404.
Fig. 9 represents the formation of PVOL admin table 405.
Figure 10 represents the formation of allocation table 407.
Figure 11 represents the formation of actual page admin table 408.
Figure 12 represents the formation of monitoring form 409.
Figure 13 represents the formation of number of degrees distribution table 410.
Figure 14 represents the formation of migration page table 411.
Figure 15 represents the formation of migration definition list 412.
Figure 16 represents the process flow diagram of pond generating process.
Figure 17 represents pond definition GUI1700.
Figure 18 represents the flow process of VVOL generating process.
Figure 19 represents that VVOL generates GUI1900.
Figure 20 represents the VVOL admin table 4404 involved by embodiments of the invention 5.
Figure 21 represents the summary of the aggregation process of Data Elements.
Figure 22 represents the flow process of information displaying process.
Figure 23 represents number of degrees distribution GUI2300.
Figure 24 represents the flow process of write process (write to high-speed cache).
Figure 25 represents the flow process of degradation process.
Figure 26 represents the flow process of readout process.
The supervision that Figure 27 represents I/O frequency and the summary of relation reconfigured.
Figure 28 represents the flow process reconfiguring process.
Figure 29 presentation layer scope determines the summary of process.
Figure 30 presentation layer scope determines the flow process of process.
Figure 31 represents the flow process of the S4402 middle level boundary value computing of Figure 30.
Figure 32 represents the pond admin table 4403 involved by embodiments of the invention 5.
Figure 33 represents the flow process of the setting process of the comparative approach/comparison other involved by embodiments of the invention 5.
Figure 34 represents the flow process of moving page table generating process in the S2808 of Figure 28.
Figure 35 represents the summary of the migration process of page unit.
Figure 36 represents the flow process of the migration process of page unit.
The flow process of the change process of Figure 37 presentation layer threshold value.
Figure 38 represents that threshold value exceeds the flow process of reply process.
Embodiment
Below, the viewpoint based on aftermentioned multiple embodiment of the present invention is described.
< viewpoint 1 >
A kind of control method of storage system, it is characterized in that, manage and the multiple storage areas provided by multiple memory device are carried out sorted multiple storage area group according to the attribute of storage area, according to the write request of at least one address contained in multiple address in logic-oriented volume, the multiple described logical volume being assigned at least one storage area contained in described multiple storage area is provided, according to the access situation of at least one address described in described logical volume, by data contained at least one storage area described from of described multiple storage area group write by said write request at least one address described, to at least one storage area migration in other storage area group contained by described multiple storage area group.
< viewpoint 2 >
A kind of control method of the storage system according to viewpoint 1, it is characterized in that, in described multiple storage area group, contained first storage area group and the second storage area group have the degree of the described access situation corresponding to respective group as attribute in each ring, described first is different for each group with the degree of the described access situation of described second storage area group, but a part repeats, in described migration process, in one of described multiple storage area group at least one storage area contained described to be included in described first or described second storage area group and the described access situation of at least one address described be positioned at described access situation degree described in a part repeat scope, do not implement the migration of described data.
< viewpoint 3 >
The storage system that main frame with more than one is connected, it possesses multiple physical storage device group and memory control device.Described memory control device has storage resources and controller, and described controller is connected with described multiple physical storage device group, described storage resources and described main frame.Physical storage device group is made up of more than one physical storage device.Described multiple physical storage device group becomes the foundation of multiple actual page group.The kind of actual page group is based on the attribute of physical storage device group of foundation becoming this actual page group.Actual page group has multiple actual page.Described controller provides more than one virtual volume to the main frame of described more than.Described virtual volume is the virtual logical volume be made up of multiple virtual page.Described virtual page is virtual storage area.Described actual page is the storage area of entity.Described storage resources storage allocation information, monitor message and actual page group management information, wherein, described assignment information represents the information which virtual page being assigned with to which actual page, described monitor message is the information of I/O (Input/Output) frequency representing each virtual page, described actual page group management information is the information (can be sheet form or queue form etc., the form of information be any) comprising the I/O frequency ranges information represented often kind of actual page group setting.Described controller receives write order from described main frame, write destination virtual page is determined according to said write order, upgrade described assignment information, thus distribute actual page freely to determined virtual page, in distributed actual page, preserve write object data.Described controller, according to for virtual page or the I/O of actual page distributing to this virtual page, upgrades I/O frequency in described monitor message, this virtual page.Described actual page is the storage area of entity, and the data be kept in actual page are stored into the physical storage device of the foundation as this actual page.Described controller carries out migration process, this migration process is the process comprising following process (A) to (C): (A) determines the virtual volume or the virtual page that do not meet predetermined condition according to the determined I/O frequency of described monitor message, (B) determined virtual volume or virtual page is distributed to by being kept at, data in the first actual page group in the first actual page, move to the second actual page in the second actual page group, (C) described assignment information is upgraded, thus replace described first actual page to described first actual page distribution destination virtual page with described second actual page, namely the first virtual page is distributed.Described predetermined condition refers to the I/O frequency ranges including described the first actual page group in.Described the second actual page group is the actual page group that I/O frequency ranges includes the I/O frequency by described (A) determined virtual volume or virtual page in.Described controller carries out the decision process of I/O frequency ranges, and in this decision process, described controller determines the I/O frequency ranges of various actual page group based on described monitor message.Controller such as can have at least one processor.Storage resources can be such as storer.Main frame can be computing machine, also can be other storage system or other memory control device.
Thereby, it is possible to the I/O frequency of the data in virtual volume according to virtual page is reconfigured with page unit.When the time comes, can by data configuration in the actual page group of the kind corresponding with the I/O frequency ranges of the I/O frequency including the virtual page being assigned the actual page of preserving these data in.
< viewpoint 4 >
According to a storage system for viewpoint 3, described controller carries out following process (a) and (b) in described decision process:
A () uses described monitor message to generate information, the i.e. relation information of the relation representing I/O frequency and virtual number of pages,
B () determines the I/O frequency ranges of various actual page group based on described relation information.
< viewpoint 5 >
According to a storage system for viewpoint 4, described controller carries out following process (b1) to (b3) in described process (b):
(b1) use described relation information, calculate be assigned to actual page from described multiple actual page group more than one virtual volume in total, i.e. the I/O frequency of I/O frequency of all virtual pages add up to,
(b2) based on ratio and the described I/O frequency total of the performance number of various actual page group, for I/O frequency, the i.e. boundary value on the border of each feature modeling actual page group of actual page group,
(b3) based on the boundary value on the I/O frequency of various actual page group and each border of actual page group, the I/O frequency ranges of various actual page group is determined.
The described performance number of actual page group be determine based on the attribute of the physical storage device group of the foundation as this actual page group, with performance-relevant value.The border of described actual page group refers to the boundary of actual page group and/or the next actual page group upper with it.The maximal value of the I/O frequency ranges of various actual page group and/or minimum value are upper with it based on this actual page group and/or the value of the boundary value of the boundary of the next actual page group decision.
< viewpoint 6 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 5, the maximal value of described I/O frequency ranges is greater than the boundary value of a larger side corresponding with this I/O frequency ranges, and/or the minimum value of this I/O frequency ranges is less than the boundary value of a less side corresponding with this I/O frequency ranges.
< viewpoint 7 >
According to a storage system for viewpoint 3 or viewpoint 4, the described performance number of actual page group by this actual page group, value that in the quantity of the actual page on the move target ground that can become in described migration process and this actual page group, the multiplying of the performance number of each actual page calculates.In actual page group the performance number of each actual page be determines based on the attribute of the physical storage device group of the foundation as this actual page group, and performance-relevant value.
< viewpoint 8 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 7, described controller carries out following process in described decision process:
A () uses described monitor message, calculate be assigned to actual page from described multiple actual page group more than one virtual volume in total, i.e. the I/O frequency of I/O frequency of all virtual pages add up to,
B () adds up to based on the ratio of the performance number of various actual page group and described I/O frequency, for I/O frequency, the i.e. boundary value on the border of each feature modeling actual page group of actual page group,
C (), based on the boundary value on the I/O frequency of various actual page group and each border of actual page group, determines the I/O frequency ranges of various actual page group.
The described performance number of actual page group be determine based on the attribute of the physical storage device group of the foundation as this actual page group, with performance-relevant value.The border of described actual page group refers to the boundary of actual page group and/or the next actual page group upper with it.The maximal value of the I/O frequency ranges of various actual page group and/or minimum value are upper with it based on this actual page group and/or the value of the boundary value of the boundary of the next actual page group decision.
< viewpoint 9 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 8, described controller carries out following process (d) and (e) in described decision process:
D () supposition is distributed to the Data Elements that I/O frequency includes in the actual page of all virtual pages of the I/O frequency ranges of actual page group and has been migrated in this actual page group, judge whether the usage ratio of this actual page group exceeds the proportion threshold value of this actual page group,
E the result of () judgement in described (d) is in negatory situation, be included in described actual page group management information by determined I/O frequency ranges.
The described usage ratio of actual page group refers to the ratio of the quantity of the actual page distributing to virtual page relative to the quantity of the actual page of this actual page of formation group.The proportion threshold value of described actual page group refers to the threshold value of described usage ratio.
Thereby, it is possible to judge that whether I/O frequency ranges is suitable.
< viewpoint 10 >
According to a storage system for viewpoint 9, described controller also carries out following process (f) in described decision process:
F when the result of () judgement in described (d) is certainty, usage ratio I/O frequency ranges being modified to actual page group does not exceed the size of the proportion threshold value of this actual page group.
< viewpoint 11 >
According to a storage system for viewpoint 10, described controller also carries out following process (g) in described decision process:
G revised I/O frequency ranges is included in described actual page group management information by ().
< viewpoint 12 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 11, the I/O frequency of, virtual volume determined according to described monitor message or virtual page refer to this virtual volume or virtual page, the I/O frequency be included in described monitor message.
< viewpoint 13 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 12, the I/O frequency of, virtual volume determined according to described monitor message or virtual page refer in described monitor message, with this virtual volume outside the relative value of the I/O frequency of other virtual page beyond the I/O frequency of other virtual volume or this virtual page.
< viewpoint 14 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 12, the I/O frequency in (A) described in described controller acceptance makes is the instruction of absolute value or relative value.When receive make the I/O frequency in described (A) be specifying of absolute value, the I/O frequency of, virtual volume determined according to described monitor message or virtual page refer to this virtual volume or virtual page, the I/O frequency be included in described monitor message.When receive make the I/O frequency in described (A) be specifying of relative value, the I/O frequency of, virtual volume determined according to described monitor message or virtual page refer in described monitor message, with this virtual volume outside the relative value of the I/O frequency of other virtual page beyond the I/O frequency of other virtual volume or this virtual page.
< viewpoint 15 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 14, the I/O frequency in described (A) is the average of the I/O number of certain time.
< viewpoint 16 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 14, the I/O frequency in described (A) distinguishes I/O number maximum in corresponding multiple I/O numbers with multiple times of certain time-bands.
< viewpoint 17 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 14, the I/O frequency in (A) described in described controller acceptance makes is the appointment of average I/O number or maximum I/O number.When receive make the I/O frequency in described (A) be specifying of average I/O number, the I/O frequency in described (A) is the average of the I/O number of certain time.When receive make the I/O frequency in described (A) be specifying of maximum I/O number, the I/O frequency in described (A) is I/O number maximum in multiple I/O numbers corresponding respectively with multiple times of certain time-bands.
< viewpoint 18 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 17, described controller receives I/O order from described main frame, determines I/O destination virtual page according to this I/O order.Described controller upgrades in described monitor message, corresponding with described I/O destination virtual page I/O frequency when carrying out I/O for the actual page distributing to described I/O destination virtual page, and does not upgrade in described monitor message, corresponding with described I/O destination virtual page I/O frequency when not carrying out I/O for the actual page distributing to described I/O destination virtual page.
Thereby, it is possible to only upgrade the I/O frequency being assigned the virtual page of this actual page when having carried out I/O for actual page.
< viewpoint 19 >
According to a storage system for viewpoint 18, described storage resources store status is the monitor message that activates and state is that standby monitor message is as described monitor message.Described controller upgrades the I/O frequency in the monitor message of described activation.Described controller determines described first virtual page based on the monitor message of described activation in described migration process, and the state of described standby monitor message is changed to activation from standby, then, when according to when determining that the I/O order of virtual page carries out I/O to actual page, described controller more new state be changed in the monitor message of activation, this is by the I/O frequency of virtual page determined.
Thus, even if the supervision (renewal) of I/O frequency also can be continued when carrying out above-mentioned migration process.
< viewpoint 20 >
According to a storage system for viewpoint 4, described controller exports described relation information, and the relation information of described generation is shown.Described controller starts described migration process when receiving the instruction starting to move.
< viewpoint 21 >
According to a storage system for viewpoint arbitrary in viewpoint 3 to viewpoint 20, described controller starts described migration process when the usage ratio of described first real data group exceeds predetermined proportion threshold value.
Therefore, when the usage ratio of described first real data group is beyond predetermined ratio threshold value, can expect that actual page increases to some extent freely in the first real data group by described migration process.
< viewpoint 22 >
According to a storage system for viewpoint arbitrary in viewpoint 3 to viewpoint 21, described the first real data group is the real data group of upper.Described controller must distribute actual page from described the first real data group to according to said write order determined write destination virtual page.
< viewpoint 23 >
A kind of storage system according to viewpoint arbitrary in viewpoint 3 to viewpoint 22, actual page in all actual page distributing to described virtual volume more than predetermined ratio is present in certain actual page group, described controller by the Data Migration in the actual page in the actual page group of kind that distributes to beyond in all actual page of described virtual volume, described certain actual page group to the actual page in described certain actual page group.
Thereby, it is possible to the configuration state of data according to virtual volume, in the actual page group of kind being thought of as this virtual volume applicable, gather the data in this virtual volume.
< viewpoint 24 >
According to a storage system for viewpoint 23, the actual page of the actual page distributing to described virtual page after moving to the actual page in described certain actual page group always in described certain actual page group.
Thus, by after migration process combined data, actual page is distributed from described certain actual page group to described second virtual volume.
< viewpoint 25 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 24, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when not starting from described first actual page to when the Data Migration of described second actual page, this migration to be cancelled, the data according to said write order are write to the actual page in described the second actual page group, and upgrade described assignment information, thus distribute to described first virtual page with this write destination described first actual page of actual page replacement.
Because data write move target ground actual page group before migration, therefore for the write destination virtual page of these data, can not move.
< viewpoint 26 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 25, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when not starting from described first actual page to the Data Migration of described second actual page, the data according to said write order are write to described first actual page, then, carry out described (A) and (B).
< viewpoint 27 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 26, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when just from described first actual page to described second actual page migration data, this migration is cancelled, the data according to said write order are write to the actual page in described the second actual page group, and upgrade described assignment information, thus distribute to described first virtual page with this write destination described first actual page of actual page replacement.
< viewpoint 28 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 26, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when just from described first actual page to described second actual page migration data, the data according to said write order are write to described first actual page, then, the Data Migration from described first actual page to the actual page in described the second actual page group is restarted.
< viewpoint 29 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 26, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when just from described first actual page to described second actual page migration data, after this migration terminates, according to described assignment information to described second actual page write according to the data of said write order.
< viewpoint 30 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 26, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when just from described first actual page to described second actual page migration data, write the data according to said write order to described first actual page and described second actual page both sides.
< viewpoint 31 >
A kind of storage system of the arbitrary viewpoint according to viewpoint 3 to viewpoint 30, described controller receives the write order determining described first virtual page after described page unit migration process starts from described main frame, and when described (A) and (B) terminate, according to described assignment information, write the data according to said write order to described second actual page.
< viewpoint 32 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 31, described first virtual page meets the virtual page of predetermined condition at up-to-date moment, the i.e. final I/O moment of having carried out I/O.
< viewpoint 33 >
According to a storage system for viewpoint 32, described predetermined condition refer to the final I/O moment be current time before more than in the past schedule time time.Described the second actual page group is the actual page group more the next than described the first actual page group.
< viewpoint 34 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 33, described first virtual page is that the virtual page according to the I/O of sequential access occurs.Described the second actual page group is the actual page group more the next than described the first actual page group.
< viewpoint 35 >
According to a storage system for arbitrary viewpoint of viewpoint 3 to viewpoint 34, the renewal carrying out described monitor message is only with by described controller in predetermined time.Described controller, when being often with after a predetermined time, preserves described monitor message.Described first virtual page is the virtual page being not suitable for predetermined condition according to the determined I/O frequency of monitor message corresponding with appointed time-bands.
< viewpoint 36 >
A memory control device for the storage system be connected with main frame, it has storage resources and controller, and described controller is connected with described storage resources and described main frame.Described controller provides more than one virtual volume to the main frame of described more than.Described virtual volume is the virtual logical volume be made up of multiple virtual page.Described virtual page is virtual storage area.Described actual page is the storage area of entity.Described storage resources storage allocation information, monitor message and actual page group management information, wherein, described assignment information represents the information which virtual page being assigned with to which actual page, described monitor message is the information of I/O (Input/Output) frequency representing each virtual page, and described actual page group management information is the information comprising the I/O frequency ranges information represented often kind of actual page group setting.Described controller receives write order from described main frame, write destination virtual page is determined according to said write order, upgrade described assignment information, thus to determined virtual page from the some distribution actual page freely multiple actual page group, in distributed actual page, preserve write object data.Described controller, according to for virtual page or the I/O of actual page distributing to this virtual page, upgrades I/O frequency in described monitor message, this virtual page.Described actual page is the storage area of entity.Actual page group has multiple actual page.Described controller carries out migration process, this migration process is the process comprising following process (A) to (C): (A) determines the virtual volume or the virtual page that do not meet predetermined condition according to the determined I/O frequency of described monitor message, (B) determined virtual volume or virtual page is distributed to by being kept at, data in the first actual page group in the first actual page, move to the second actual page in the second actual page group, (C) described assignment information is upgraded, thus replace described first actual page to described first actual page distribution destination virtual page with described second actual page, namely the first virtual page is distributed.Described predetermined condition refers to the I/O frequency ranges including described the first actual page group in.Described the second actual page group is the actual page group that I/O frequency ranges includes the I/O frequency by described (A) determined virtual volume or virtual page in.Described controller carries out the decision process of I/O frequency ranges, and in this decision process, described controller determines the I/O frequency ranges of various actual page group based on described monitor message.
Above-mentioned viewpoint 1 and 2 is for the viewpoint of the control method of storage system, viewpoint 3 to 35 is the viewpoints for storage system, viewpoint 36 is the viewpoints for memory control device, any one viewpoint among them all can become storage system, memory control device, storage controlling method, the control method of storage system or memory control device, storage system or memory control device, the viewpoint of at least one in computer program (such as the computer program that stores control or the computer program performed in storage system or memory control device).
Hereinafter, with reference to the accompanying drawings of the storage system related in the multiple embodiment of the present invention.It should be noted that in the following description, exist and replace reference marks to represent the situation of object by the combination of title and ID.Such as, when logical volume is represented by reference marks 500, being expressed as " logical volume 500 ", when representing that ID is the logical volume of 00, being expressed as " logical volume #00 ".In addition, hereinafter the data be kept in an actual page are called " Data Elements ".In addition, there is the situation that will be kept at the Data Elements distributed in the actual page of virtual page and represent with " Data Elements in virtual page " or similar expression.
Embodiment 1
Fig. 1 represents the summary of the embodiment of the present invention 1.
Storage system 103 is connected with host apparatus (hereinafter referred to as main frame) 101.Main frame 101 can be one or multiple stage.Storage system 103 provides virtual volume (hereinafter referred to as VVOL (VirtualVOLume)) 203 to main frame 101, has multiple layer (tier) 303.
VVOL203 is the virtual logical volume according to Thin Provisioning, namely not with the logical volume that physical storage device (hereinafter referred to as PDEV) is foundation.VVOL203 is made up of multiple virtual page 207.Virtual page 207 is virtual storage areas.If a VVOL#00 is as VVOL203.Hereinafter, the virtual page #b in VVOL#a is expressed as " virtual page # (a-b) ".The VVOL203 of Thin Provisioning is provided to main frame 101 as the logical volume with virtual capacity, has been assigned with actual page according to from main frame 101 to the write request of the address with virtual page.Therefore, remove and be assigned with the state of actual page to meet virtual capacity, the total volume distributing to all actual page of a certain VVOL203 is less than virtual capacity.VVOL203 is provided to the main frame 101 of more than, when being supplied to multiple host 101, is shared by these multiple hosts 101.
Layer 303 is made up of multiple actual page 209.Actual page 209 is storage areas of entity.Such as, if these two layers of layer #01 and #02 are as layer 303.Hereinafter, the actual page #d in layer #c is expressed as " actual page # (c-d) ".And layer 303 such as can be made up of more than one reality volume (hereinafter referred to as RVOL (RealVOLume)).RVOL is the logical volume of entity, is namely the logical volume of foundation with PDEV.Be set to be utilized by one or more VVOL203 under each layer of multiple layers 303 in pond state before Data Migration.
Main frame 101 normally computing machine, also can replace computing machine by other storage system.Main frame 101 sends such as I/O (Input/Output) order to storage system 103.I/O order is such as write order or read-out command, has I/O destination information.I/O destination information is the information representing I/O destination, such as, comprise the ID (such as LUN (Logical Unit Number: logical unit number)) of VVOL203 and the address (such as LBA (Logical Block Address: LBA (Logical Block Addressing))) of I/O destination.I/O destination VVOL203 and virtual page 207 can be determined according to I/O destination information.
If storage system 103 receives write order from main frame 101, and based on the I/O destination information that this write order has, virtual page # (00-C) is defined as writing destination.If determined virtual page # (00-C) is not assigned with some actual page 209, then storage system 103 distributes the actual page # (01-D) of some freedom (unallocated state) to this virtual page 207, and in distributed actual page # (01-D), write is according to the write object data key element of write order.
In the present embodiment, Data Migration carries out with page unit.Particularly, such as shown in Figure 1, storage system 103 carries out following process:
* the Data Elements distributed in the actual page # (01-D) of virtual page # (00-C) are moved to the actual page # (02-E) of freely (unallocated state)
* the distribution source of virtual page # (00-C) is changed to actual page # (02-E) from actual page # (01-D)
* be freely (unallocated state) by the state updating of actual page # (01-D)
Whether carry out Data Migration and be which layer decides based on layer scope described later by move target strata arrangement.Layer scope decides in an automatic fashion.
Below, embodiment 1 is described in detail.
Fig. 2 represents the formation of storage system 103.
Storage system 103 has multiple PDEV105, the memory control device be connected with multiple PDEV105 and power supply unit 100.
Multiple PDEV105 comprises multiple PDEV, such as SSD (Solid State Drive: solid-state drive) and HDD (Hard Disk Drive: hard disk drive).HDD has HDD-FC (FibreChannel: optical-fibre channel), HDD-SATA (Serial ATA: serial ATA) and HDD-SAS (Serial Attached SCSI: Serial Attached SCSI (SAS)) etc.
Multiple CMPK (high-speed cache encapsulates: Cache Memory Package) 119 that memory control device has controller and is connected with controller.Controller has multiple CHA (channel adapter: ChannelAdapter) 111, multiple DKA (disc adapter: Disk Adapter) 113, multiple MPPK (microprocessor package: MicroProcessor Package) 121 and SW (switch: Switch) 117.From the view point of redundant, CHA111, DKA113, MPPK121, SW117 and power supply unit 100 exist multiple respectively, but in them, the quantity of at least one is not limited to shown in the drawings 2, and comparable more than 2 or few.The quantity comparable more than 2 of CMPK119.
Power supply unit 100 will be supplied to each encapsulation 119,111,113,121 and 117 based on the electric power from source power supply electric power.
CHA111 is the interface arrangement be connected with main frame 101.CHA111 receives I/O order (write order or read-out command) from main frame 101, and by some in multiple MPPK121 of the I/O transferring order that receives.
CHA111 has protocol chip 112 and LR (Local Router: local router) 114.Protocol chip 112 carries out the protocol conversion for the communication with main frame 101.The I/O transferring order received is given the MPPK121 corresponding with the I/O destination that the I/O destination information had according to this I/O order is determined by LR114.
DKA113 is the interface arrangement be connected with HDD105.DKA113 is from HDD105 sense data and be transmitted to the DRAM (Dynamic Random Access Memory: dynamic RAM) of CMPK119, or to the data of HDD105 write from CMPK119.
MPPK121 is the device with one or more MP (microprocessor: MicroProcessor).MP process is from the I/O order of CHA111.
SW117 is connected with multiple encapsulation, i.e. CHA111, DKA113, CMPK119 and MPPK121.SW117 control PK (encapsulation: the connection Package).
CMPK119 has volatile memory and/or nonvolatile memory.Have in CMPK119 and temporarily store such as the storage area (be CM hereinafter referred to as high-speed cache or by its abbreviation) of the Data Elements of the object of the I/O for virtual page 207 (actual page 209).In addition, there is in CMPK119 the storage area storing various information and computer program.About information and computer program, will be described below.
Storage system 103 is connected with management devices 107.Management devices 107 is such as having the computing machine of display device and input media.Supvr can carry out various setting from management devices 107 pairs of storage systems 103.
Fig. 3 represents the relation of various storage area in storage system 103.
As shown in Figure 3, from bottom to upper, manage more than one RG301, more than one pond 201, more than one VVOL203.
RG301 is the abbreviation of RAID group (group).A RG301 is made up of the PDEV of one species.At least one definition in kind such as the do as one likes energy and unit cost of PDEV.Performance refers to speed or the response time (playing the time span till returning response from being received order by main frame) of the I/O of such as data.Unit cost is the price (such as so-called bit cost) needed for data of preserving unit-sized (size).Such as, RG#00 is made up of multiple SSD, and RG#01 is made up of multiple HDD-SAS, and RG#02 is made up of multiple HDD-SATA.And the capacity forming multiple PDEV of a RG is such as identical.
Pond 201 is set of actual page 207.Particularly, such as, pond 201 is made up of more than one RVOL205, and each RVOL205 is made up of more than one actual page 207.Below, for the RVOL forming pond 201, pond VOL is elliptically expressed as " PVOL ".
The actual page 207 forming a pond 201 has carried out stratification.That is, there is multiple layer 303 in a pond 201.Layer 303 such as exists in often kind of RVOL.Such as, according to Fig. 3, the kind due to RVOL is 3 kinds, and therefore the quantity of layer 303 is also 3.Therefore, layer 303 comprises the RVOL205 of kind corresponding to this layer.Particularly, such as, layer #00 is this kind of SSD, RVOL based on the RG301 be made up of SSD belongs to a layer #00, layer #01 is this kind of HDD-SAS, RVOL based on the RG301 be made up of HDD-SAS belongs to a layer #01, and layer #03 is this kind of HDD-SATA, and the RVOL based on the RG301 be made up of HDD-SATA belongs to a layer #03.And layer 303 is not necessarily arranged for often kind of RVOL closely, the multiple RVOL205 based on the RG of similar kind can belong to same layer 303.
VVOL203 is associated with the pond 201 becoming distribution source in more than one pond 201.In addition, VVOL203 with can be used as the layer (hereinafter referred to as Distribution Layer) 303 that distribution source uses in the pond 201 selected and be associated.In addition, one of more than one Distribution Layer 303 layer 303 is by default associated with VVOL203.Layer #00 and #02 according to the Distribution Layer of Fig. 3, VVOL#01.
In addition, according to above-mentioned explanation, for multiple RVOL, as long as they belong to same layer, then there is the possibility that foundation is a RG, but if they belong to different layers respectively, then the RG becoming foundation is different.When distributing multiple actual page successively to multiple virtual pages of one or more VVOL203 be associated with same layer 303, preferably crossing over the RG be associated with this layer 303 and selecting actual page successively.Particularly, when multiple RVOL205 contained by this layer 303 selects multiple actual page, consider the relation with RG, select actual page successively from different RG successively.Thereby, it is possible to raising access performance.
Fig. 4 represents the information that CMPK119 stores and computer program.It should be noted that, in the present embodiment, adopt table as an example of information, but information also can be the form (such as queue form) beyond table.
CMPK119 accumulation layer definition list 401, layer-management table 402, pond admin table 403, VVOL admin table 404, PVOL admin table 405, allocation table 407, actual page admin table 408, monitoring form 409, number of degrees distribution table 410, migration page table 411 and migration definition list 412 are as information.In addition, CMPK119 stores the program of control UI (User Interface: user interface) and UI control program 413, the program of control I/O and I/O control program 414 and carries out the program that reconfigures and reconfiguration procedure 415 as computer program.And at least one in these tables and computer program also can be stored in storage resources beyond CMPK119.Such as, at least one computer program and/or migration page table 411 can be stored in the storer in MPPK121.
The following describes each table.It should be noted that, in the following description, object uses ID to determine, but also can replace ID or on its basis, and at least one using in title and numbering is determined.
The formation of Fig. 5 presentation layer definition list 401.
Layer definition list 401 is tables of the definition of presentation layer.Particularly, such as, table 401 represents the relation of RVOL kind and layer ID.According to table 401, as the layer corresponding with RVOL kind " SSD ", prepare the layer being attached with " 00 " this ID.
The formation of Fig. 6 presentation layer admin table 402.
Layer-management table 402 is the tables for managing the information relevant to layer.Particularly, such as, table 402 has pond ID, layer ID, layer scope, PVOL ID, layer threshold value, usage ratio, actual page ID for every layer.Be example with a layer (following, be called " object layer " in the explanation of Fig. 6), these information elements are specific as follows.
* " pond ID " is the ID in the pond with object layer.
* " layer ID " is the ID of object layer.According to layer ID, the kind becoming the PDEV of the foundation of the PVOL belonging to object layer is now uniquely determined.
* " layer scope " is the scope of the load (such as I/O frequency) of the actual page that be present in object layer.
* " PVOL ID " is the ID of the PVOL belonging to object layer.
* " layer threshold value " is the threshold value of the usage ratio of object layer.
* " usage ratio " is the usage ratio of object layer, and the quantity of the actual page of namely having distributed is relative to the ratio of quantity of actual page forming object layer.
* " actual page ID " is the ID of all actual page belonging to object layer.
According to the example of the table 402 of Fig. 6, layer threshold value sets for every layer, but also can replace, and sets a layer threshold value to a pond, and all layers that this layer has for this pond are common.
Fig. 7 represents the formation of pond admin table 403.
Pond admin table 403 is the tables for managing the information relevant to pond.Particularly, such as, table 403 has pond ID, stratification for each pond, reconfigures, automatically performs, reconfigures the performance period, reconfigures execution moment, Looking Out Time band and pond state.Be example with a pond (following, be called " object pool " in the explanation of Fig. 7), these information elements are specific as follows.
* " pond ID " is the ID of object pool.
* " stratification " whether stratification is carried out to the actual page in object pool." ON " means and carries out stratification (namely, object pool in be provided with multiple layer), and " OFF " means and do not carry out stratification (namely, not establishing layer in object pool).
* " reconfigure " and whether the Data Elements in object pool are reconfigured." ON " means and reconfigures, and " OFF " means and do not reconfigure.When " ON ", the I/O frequency of the VVOL or its virtual page that are assigned to object pool comes under observation, and when " OFF ", the I/O frequency being assigned to the VVOL of object pool or its virtual page is not monitored.About the supervision of I/O frequency, importantly, if reality does not carry out I/O to the actual page distributing to I/O destination VVOL or virtual page, then I/O frequency is not updated, and when carrying out I/O to the actual page of this distribution, I/O frequency is upgraded.This point also will be described when describing write process and readout process hereinafter.
* " automatically perform " is that reconfiguring of Data Elements in object pool automatically starts or manually start." ON " means to reconfigure and starts in an automated fashion, and " OFF " means to reconfigure and start with manual form.
* " performance period is reconfigured " and is the cycle reconfigured of the Data Elements of carrying out in object pool.Such as, " 1 day " means that every 1 day (24 hours) start to reconfigure.
* " reconfigure perform moment " is the moment reconfigured of the Data Elements started in object pool.
* " Looking Out Time band " is the time-bands monitored the I/O frequency of the actual page distributing to the VVOL being assigned to object pool.
* " pond state " is the state of object pool.As the value of " pond state ", such as, there are " in supervision ", " in reconfiguring ", " in non-supervision "." in supervision " means the I/O frequency of the virtual page in the VVOL or this VVOL that monitor and be assigned to object pool, and does not carry out reconfiguring of Data Elements." in reconfiguring " means and carries out reconfiguring (can be reconfiguring in object pool, also can be reconfiguring of the Data Elements from object pool to other pond) of Data Elements." in non-supervision " means neither monitoring that I/O frequency is also non-carry out reconfiguring of Data Elements.
Fig. 8 represents the formation of VVOL admin table 404.
VVOL admin table 404 is the tables for managing the information relevant to VVOL.Particularly, table 404 has VVOL ID, PVOL ID, Distribution Layer ID, acquiescence layer ID, capacity for each VVOL, reconfigure, automatically performs, reconfigures the performance period, reconfigures execution moment and Looking Out Time band.In these information elements, reconfigure, automatically perform, reconfigure the performance period, reconfigure perform the moment and Looking Out Time band identical with the information element in pond admin table 403, if but the value of the information element in this table 404 (such as " reconfiguring ") is different from the value of the identical information key element (such as " reconfiguring ") in pond admin table 403, then can value preferentially in this table 404.That is, in pond admin table 403, for the value of a pond set information key element, its result, can making this value be reflected to for being assigned in the setting of all VVOL in this pond, can set for each VVOL.If not for the special setting value of VVOL, the value that should set for the pond distributing to this VVOL is as the value for this VVOL.Be example with a VVOL (following, be called " object VVOL " in the explanation of Fig. 8), the above-mentioned information element in this table 404 is specific as follows.
* " VVOL ID " is the ID of object VVOL.
* " PVOL ID " is the ID in the pond (hereinafter referred to as distributing reservoir) distributing to object VVOL.
* " Distribution Layer ID " is the ID of the layer of the object VVOL distributed in multiple layers that distributing reservoir has.Actual page is distributed to the virtual page in object VVOL from Distribution Layer.
* " acquiescence layer ID " is the ID of acquiescence layer.Acquiescence layer refers to the layer of the providing source of the actual page becoming the virtual page be initially allocated to as the write destination from main frame 101.
* " capacity " is the capacity of object VVOL.
* " reconfigure " and whether the Data Elements in object VVOL are reconfigured." ON " means and reconfigures, and " OFF " means and do not reconfigure.When " ON ", the I/O frequency of object VVOL or its virtual page comes under observation, and when " OFF ", the I/O frequency of object VVOL or its virtual page is not monitored.
* " automatically perform " is that reconfiguring of Data Elements in object VVOL automatically starts or manually start." ON " means to reconfigure and starts in an automated fashion, and " OFF " means to reconfigure and start with manual form.
* " performance period is reconfigured " and is the cycle reconfigured of the Data Elements of carrying out in object VVOL.
* " reconfigure perform moment " is the moment reconfigured of the Data Elements started in object VVOL.
* " Looking Out Time band " is the time-bands monitored the I/O frequency of object VVOL or virtual page.
Fig. 9 represents the formation of PVOL admin table 405.
PVOL admin table 405 is the tables for managing the information relevant to PVOL.Particularly, such as, table 405 has RG ID, PDEV ID, kind, PVOL ID and capacity for each PVOL.Be example with a PVOL (following, be called " object PVOL " in the explanation of Fig. 9), these information elements are specific as follows.
* " RG ID " is the ID of the RG of foundation as object PVOL.
* " PDEV ID " forms the ID as all PDEV of the RG of the foundation of object PVOL.
* " kind " is the kind of object PVOL.This is identical with the kind of the PDEV of the foundation as object PVOL.Such as, if RVOL kind is " SSD ", then the kind of object PVOL is also " SSD ".
* " PVOL ID " is the ID of object PVOL.
* " capacity " is the capacity of object PVOL.
Figure 10 represents the formation of allocation table 407.
Allocation table 407 represents the table which virtual page being assigned with to which actual page.Particularly, such as, table 407 has VVOL ID, virtual page ID, pond ID, actual page ID and layer ID for each virtual page.Be example with a virtual page (following, be called " object virtual page " in the explanation of Figure 10), these information elements are specific as follows.
* " VVOL ID " is the ID of the VVOL with object virtual page.
* " virtual page ID " is the ID of object virtual page.
* " pond ID " is the ID in the pond distributing to the VVOL with object virtual page.
* " actual page ID " is the ID of the actual page distributing to object virtual page.
* " layer ID " is the ID of the layer with the actual page distributing to object virtual page.
Figure 11 represents the formation of actual page admin table 408.
Actual page admin table 408 is tables of the state for managing each actual page.Particularly, such as, table 408 has pond ID, actual page ID and state for each actual page.Be example with an actual page (following, be called " object actual page " in the explanation of Figure 11), these information elements are specific as follows.
* " pond ID " is the ID in the pond with object actual page.
* " actual page ID " is the ID of object actual page.
* " state " is the state of object actual page.As the value of state, such as, have " in use " and " freedom "." in use " means that object actual page has distributed to some virtual pages." freedom " means following state: object actual page is not yet assigned to any one virtual page, therefore, it is possible to distribute any one virtual page.
Figure 12 represents the formation of monitoring form 409.
Monitoring form 409 is present in each VVOL.Table 409 is the tables of the I/O frequency representing virtual page.Be example with a VVOL (following, be called in the explanation of Figure 12 " object VVOL "), instruction card 409.
Table 409 concrete example is as having VVOL ID, virtual page ID, total I/O number, average I/O number, maximum I/O number and final I/O moment for each virtual page.Be example with a virtual page (following, be called " object virtual page " in the explanation of Figure 12), these information elements are specific as follows.
* " VVOL ID " is the ID of the VVOL (i.e. object VVOL) with object virtual page.
* " virtual page ID " is the ID of object virtual page.
* " total I/O number " is the quantity to the I/O that object virtual page is carried out in Looking Out Time band.
* " average I/O number " is the value calculated divided by the schedule time by the value of " adding up to I/O number ".
* " maximum I/O number " is I/O number maximum in multiple I/O number (the I/O number for object virtual page) in multiple time-bands of formation Looking Out Time band.
* " final I/O moment " is the up-to-date moment of object virtual page having been carried out to I/O.
Table 409 exists such as two (also can more than two).Two tables 409 are used alternatingly.Particularly, such as, when execution reconfigures, use the table 409 about the Looking Out Time band near this execution moment point, generate migration page table 411 described later, and use another table 409, carry out the supervision of I/O frequency.In the following description, sometimes the table 409 used is called the table 409 of activation (active), untapped table 409 is called the table 409 of standby (stand-by).
Figure 13 represents the formation of number of degrees distribution table 410.
Number of degrees distribution table 410 is the relevant tables representing I/O number and virtual number of pages.This table 410 generates based on monitoring form 409.As I/O number, at least one that add up in I/O number, average I/O number and maximum I/O number can be adopted in above-mentioned table 409.Figure 13 is the example adopting average I/O number.That is, the table 410 shown in Figure 13 represents the quantity of the virtual page of different average I/O number.According to Figure 13, average I/O number is the quantity of the virtual page of " 0 " is " 561 ".This table 410 (or based on figure that this table 410 generates) is presented in management devices 107.Supvr manually can indicate storage system 103 to start reconfiguring of Data Elements based on table 401 (or based on its figure).
Number of degrees distribution table 410 can upgrade along with the renewal of monitoring form 409, also can generate based on table 409 when distributing from supvr's instruction display number of degrees.
Figure 14 represents the formation of migration page table 411.
The table that migration page table 411 generates based on monitoring form 409 when being the Data Migrations carrying out page unit.Table 411 represents the relation on migration source and move target ground.Particularly, such as, table 411 has virtual page ID, migration active layer ID, move target stratum ID and transition state for each virtual page as migrating objects.Be example with a virtual page (following, be called " object virtual page " in the explanation of Figure 14), these information elements are specific as follows.
* " virtual page ID " is the ID of object virtual page.
* " migration active layer ID " is the ID of the layer with the actual page (migration source actual page) distributing to object virtual page.
* " move target stratum ID " is the ID of the layer on the move target ground becoming Data Elements.Move target ground actual page is some actual page freely in this layer.
* " transition state " is the state of the migration about object virtual page.As the value of " transition state ", such as, there is " having moved ", " in migration " and " migration "." have moved " and mean that Data Elements are moved by some actual page from the actual page to move target stratum of migration source." in migration " means that some actual page are just in migration data key element from the actual page to move target stratum of migration source." do not move " and mean migration data key element some actual page not yet from migration source actual page to move target stratum.
And migration page table 411 can replace virtual page ID or have the information element of other kind relevant to migration source on its basis.Such as, the ID distributing to the actual page of virtual page can be included in table 411.
In addition, move page table 411 can replace move target stratum ID or have on its basis and the move target ground information element of relevant other kind.Such as, can to determine in move target stratum actual page freely based on table 402 (Fig. 6) and 408 (Figure 11), the ID of the actual page this determined is included in table 411.When the time comes, the state of the actual page determined can be updated to " use " (or other state (such as " reservation ") from " freedom ".
Figure 15 represents the formation of migration definition list 412.
Migration definition list 412 represents the definition relevant with migration for each VVOL.Particularly, table 412 has VVOL ID, layer maintenance, Distribution Layer ID for each VVOL and preserves threshold value.Be example with a VVOL (following, be called " object VVOL " in the explanation of Figure 15), these information elements are specific as follows.
* " VVOL ID " is the ID of object VVOL.
* " Distribution Layer ID " is the ID of the Distribution Layer of object VVOL.
* " preservation threshold value " is the threshold value of the preservation ratio of Distribution Layer.This threshold value sets for each Distribution Layer.For " preservation ratio ", if for a Distribution Layer (following, to be called in the explanation of this paragraph " object Distribution Layer "), then as described below.That is, preservation ratio is that the Data Elements of much degree ratios in all Data Elements in object VVOL have been kept in object Distribution Layer.
According to the example of the table 412 of Figure 15, preserve threshold value for each layer of setting, but also can replace, set one for a pond and preserve threshold value, all layers that this layer has for this pond are common.
The process carried out in the present embodiment is below described.It should be noted that, in the following description, the process that computer program carries out is actually the MP (microprocessor) performing computer program and is carrying out.MP is arranged in MPPK121 (with reference to Fig. 2).
The generation > in < pond
Figure 16 represents the flow process of pond generating process.It should be noted that, in the explanation of the generation > in this < pond, the pond newly-generated by this pond generating process is called " object pool ".
(S1601)
UI control program 413 generates instruction from supvr by management devices 107 acceptance pool.Then, program 413 carries out such as following preparation process.
* program 413 by the new record addition of object pool to table 402 (Fig. 6), 403 (Fig. 7), 408 (Figure 11).
* program 413 accepts the appointment of PVOL by management devices 107 from supvr.Particularly, such as, program 413 shows the information (such as ID, kind etc.) relevant to RVOL, accepts the appointment of the RVOL as PVOL.
For each appointed RVOL, carry out S1602 ~ S1605.Be example with a RVOL (following, be called in the explanation of Figure 16 " object RVOL "), S1602 ~ S1605 is described.
(S1602)
Program 413 determines the kind of appointed RVOL.Particularly, such as, CMPK119 stores the RVOL admin table for each RVOL with ID, capacity, kind (such as SSD, HDD-SAS) etc., and program 413 determines the kind of appointed RVOL according to this RVOL admin table.
(S1603)
Program 413 according to layer-management table 403 judge with by layer corresponding to the RVOL kind determined whether Already in object pool.Under the result of this judgement is negatory situation, carry out S1604, when the result of this judgement is certainty, carry out S1605.
(S1604)
Program 413 according to layer definition list 401 determine with by the ID of layer corresponding to the RVOL kind determined.Then, program 413 is appended to by the layer ID determined in table 402 (Fig. 6) for object pool.
(S1605)
Program 413 adds object RVOL in the layer (following, to be called " object layer " in this paragraph) corresponding with by the RVOL kind determined.Particularly, such as, the ID of program 413 registering object RVOL in table 402 (Fig. 6) is as the PVOL ID corresponding with the layer ID of object layer.
(S1606)
Program 413 judges whether to have carried out the later process of S1602 for all appointed RVOL.If there is the RVOL of the process do not carried out after S1602 in appointed RVOL, then carry out the later process of S1602 for this RVOL.
(S1607)
Program 413 shows pond definition GUI (Graphical User Interface: graphical user interface).Then, program 413 accepts various setting by this GUI.
Figure 17 represents pond definition GUI1700.
The ID in display object pond in GUI1700.And, program 413 also can response management person to the operation of predetermined tool (such as drop-down menu), the ID in the pond (namely, existing pond) beyond display object pond.
In addition, GUI1700 has the input tool of supvr in order to use in the value of the information element " stratification " of the middle setting of table 403 (Fig. 7), " reconfiguring ", " automatically performing ", " performance period ", " performing the moment ", " Looking Out Time band ", " layer threshold value " for the pond input represented by the ID shown.As input tool said in the present embodiment, the arbitrary instrument such as radio button, check box, text entry field can be adopted.And, in GUI1700, for " layer threshold value ", common in whole layers that a threshold value can be made to have at object pool, or each layer of setting threshold value that can have for object pool.
And as mentioned above, owing to also can show the ID in existing pond in GUI1700, therefore use GUI1700 can change the setting about the existing pond desired by supvr.When the time comes, such as, if the layer threshold value desired by supvr is higher than the usage ratio of layer being set as this layer of threshold value, then program 413 can it can be used as inappropriate layer of threshold value to show warning in management devices 105, and not registration this layer of threshold value in table 402 (Fig. 6).
Referring again to Figure 16.
(S1608)
Program 413 updating form.Particularly, such as, program 413 carries out following process.
* program 413 registration in the table 403 (Fig. 7) be input to the GUI1700 of Figure 17, information element " stratification ", " reconfiguring ", " automatically performing ", " performance period ", " performing the moment ", " Looking Out Time band ", " layer threshold value " value.
* object pool is divided into multiple actual page by program 413, is appended to by the ID of the plurality of actual page in table 402 (Fig. 6) and 408 (Figure 11).
The capacity of actual page can be common in all ponds.Therefore, the quantity forming the actual page of object pool can depend on the capacity of object pool (forming the total volume of the PVOL of object pool).
And for each PVOL, the capacity of actual page can be different.Particularly, such as, the capacity forming the actual page of the PVOL of the RG based on RAID5 (4D+1P) can be different based on the capacity of the actual page of the PVOL of the RG of RAID6 (4D+2P) from formation.Why like this, be because the quantity being kept at the parity check bit in an actual page is different.
The generation > of < VVOL
Figure 18 represents the flow process of VVOL generating process.It should be noted that, in the explanation of the generation > of this < VVOL, the VVOL newly-generated by this VVOL generating process is called " object VVOL ".
(S1801)
UI control program 413 shows VVOL and generates GUI.Then, program 413 accepts various setting by this GUI.
Figure 19 represents that VVOL generates GUI1900.
The ID of display object VVOL in GUI1900.And, program 413 also can response management person to the operation of predetermined tool (such as drop-down menu), the ID of the VVOL (existing VVOL) beyond display object VVOL.
GUI1900 has the input tool of supvr in order to use in the value of the information element " pond ID " of the middle setting of table 404 (Fig. 8), " capacity ", " reconfiguring ", " automatically performing ", " performance period ", " performing the moment ", " Looking Out Time band " for the VVOL input represented by the ID shown.
In addition, GUI1900 determines the layer ID corresponding with the pond ID of input according to table 402 (Fig. 6), and display is by all layer ID determined.GUI1900 has the input tool that supvr uses in order to the value for VVOL input " Distribution Layer " represented by the ID shown, " preservation threshold value " and " acquiescence layer ".Supvr can use those input tools input using in the multiple layers that have of pond (distributing to the pond of VVOL) represented by the pond ID of input which as Distribution Layer, using which in Distribution Layer as the preservation threshold value of " acquiescence layer " and each Distribution Layer.
Referring again to Figure 18.
(S1802)
Program 413 updating form.Particularly, such as, program 413 carries out following process.
* program 413 registration in the table 404 (Fig. 8) be input to the GUI1900 of Figure 19, information element " pond ID ", " capacity ", " reconfiguring ", " automatically performing ", " performance period ", " performing the moment ", " Looking Out Time band ", " Distribution Layer ID " and " acquiescence layer ID " value.
* program 413 is based on the quantity of the virtual page of the calculation of capacity formation object VVOL of object VVOL.The virtual page ID of the ID of program 413 registering object VVOL in the table 407 (Figure 10) and the virtual page quantity that calculates.
* for object VVOL, if " reconfiguring " is " ON ", then program 413 generates table 409 (Figure 12).This is because carry out the supervision of I/O frequency in Looking Out Time band.And, register the virtual page ID that the above-mentioned virtual page quantity calculated is individual in table 409.
* program 413 is for object VVOL registration " Distribution Layer ID " and " preservation threshold value " in table 412 (Figure 15).
The display > of < information
Figure 22 represents the flow process of information displaying process.
UI control program 413 accepts display command (S2201) from management devices 107, shows the information (S2202) of being specified by display command in management devices 107.
As the kind of displayable information, such as, be at least one (or the information of they being processed and obtaining (such as scheme, summary etc.)) in table 401 ~ 412.
Figure 23 represents number of degrees distribution GUI2300.
Number of degrees distribution GUI2300 shows in the S2202 of Figure 22.Particularly, such as, in the S2201 of Figure 22, management devices 107 is according to the number of degrees distribution display command sending the VVOL ID specified desired by supvr from gerentocratic request.In the S2202 of Figure 22, program 413 responds this order, extracts the number of degrees corresponding with the VVOL ID specified by this order distribute from table 410 (Figure 13), and the number of degrees extracted distribution is presented in management devices 107 as shown in figure 23.It should be noted that, number of degrees distribution with sheet form display, but also can replace it or show with other forms such as diagram forms on its basis.
Supvr see be presented in GUI2300 the number of degrees distribution judge whether move desired by VVOL in Data Elements.Such as, supvr can indicate storage system 103 to move Data Elements (such as, can press " migration performs " button in GUI2300) in desired VVOL when thinking and there is the high virtual number of pages of a large amount of average I/O number.
Like this, as being used for supvr, number of degrees distribution judges whether that the judgement material carrying out Data Migration (migrations of the Data Elements in VVOL) uses.In other words, automatically perform if data perform, then can not calculate number of degrees distribution.
< write process (to high-speed cache write) >
Figure 24 represents the flow process of write process (to high-speed cache write).
(S2401)
I/O control program 414 receives write order from main frame 101.
(S2402)
Program 414 determines according to the I/O destination information that the write order received has the VVOL and the virtual page that write destination.Herein, determine that the situation of multiple virtual page is a lot.Why like this, be the capacity being usually greater than a virtual page owing to writing the size of object data.For determined each virtual page, carry out the process that S2403 is later.Below, for a virtual page (being called in the explanation of Figure 24 " object virtual page "), the process that S2403 is later is described.In addition, in the explanation of Figure 24, the write object data key element for object virtual page is called " object data key element ".
(S2403)
Program 414 judges whether the ID of object virtual page is present in migration page table 411.Under the result of this judgement is negatory situation, carry out S2404 ~ S2406, when the result of this judgement is certainty, carry out S2407 ~ S2408.
(S2404)
Based on allocation table 407 (Figure 10), program 414 judges whether actual page is allocated to object virtual page.If the result of this judgement is negatory, then carry out S2405.
(S2405)
Program 414 carries out following process.
* program 414 determines the acquiescence layer in the pond corresponding with write destination VVOL and this pond based on VVOL admin table 404 (Fig. 8).
* program 414 is determined by the actual page freely in the acquiescence layer determined based on layer-management table 402 (Fig. 6) and actual page admin table 408 (Figure 11).
* program 414 pairs of object virtual pages distribute determined actual page.That is, register the ID of distributed actual page in the hurdle that program 414 is corresponding with the ID of object virtual page in allocation table 407 (Figure 10), there is the ID of the layer of this actual page, there is the ID in the pond of this layer.
* program 414 when can not determine according to acquiescence layer freely actual page, actual page freely can be determined according to Distribution Layer corresponding to write destination VVOL, and determined actual page is distributed to object virtual page.
* there is in program 414 updating form 402 (Fig. 6) value of " usage ratio " of the layer (being called in the explanation of this S2403 " distribution active layer ") of distributed actual page.
Whether the value after * program 414 carries out the renewal of " usage ratio " of distributing active layer has exceeded the judgement (hereinafter referred to as " judging Z ") distributing the value of " the layer threshold value " of active layer.The value of distributing " the layer threshold value " of active layer is the value be registered in table 402 (Fig. 6) or the value be registered in table 412 (Figure 15), but can preferentially adopt the value be registered in table 412.
If * judge that the result of Z is certainty, then program 414 can carry out at least one process in following (a) and (b).
A mistake (error) can be informed to management devices 107 (and/or as writing the main frame 101 of order transmission source) by () program 414.Supvr, when being aware of mistake for distribution active layer, can add RVOL in distribution active layer.
B () program 414 calls reconfiguration procedure 415.Reconfiguration procedure 415 carries out the process shown in Figure 38.Process shown in Figure 38 will be explained below.
(S2406)
Program 414 guarantees the CM region for being kept at the Data Elements object virtual page from high-speed cache.
(S2407)
Program 414 guarantees CM region according to the value of " transition state " corresponding with object virtual page in migration page table 411.Specific as follows.
< < situation A: " transition state " is " migration " > >
Such as, that carries out in following (concrete example A1) and (concrete example A2) is some.
(concrete example A1)
* program 414 guarantees CM region, determines the actual page freely in the move target stratum corresponding with object virtual page for write destination.More specifically, such as, if the Data Elements in move target stratum in some actual page freely in the caches, then program 414 guarantees the CM region that there are these Data Elements, and is write destination by this actual page decision freely.Actual page freely in move target stratum can be determined based on table 402 (Fig. 6) and 408 (Figure 11) as mentioned above.
* " transition state " corresponding with object virtual page is updated to " having moved " by program 414.Its result, does not carry out the migration of Data Elements for object virtual page.That is, in other words, for object virtual page, the migration of Data Elements is cancelled.
* determined write destination actual page is replaced original actual page and distributes to object virtual page by program 414.That is, the ID (ID on move target stratum) of the ID rewriting above-mentioned determined write destination actual page in the hurdle that program 414 is corresponding with the ID of object virtual page in allocation table 407 and the layer with this actual page.
* " state " of the original actual page distributing to object virtual page in actual page admin table 408 (Figure 11) is updated to " freedom " by program 414.In addition, " state " of the actual page (the write destination actual page determined) being newly assigned to object virtual page in this table 408 is updated to " in use " by program 414.
(concrete example A2)
* program 414 guarantees CM region, determines the actual page (actual page in migration active layer) distributing to object virtual page for write destination.More specifically, such as, if any one Data Elements freely in actual page is not in the caches in move target stratum, then program 414 guarantees CM region (such as there is the region of the Data Elements distributed in the actual page of object virtual page), and determines the actual page (actual page in migration active layer) distributing to object virtual page for write destination.
* " transition state " corresponding with object virtual page can be updated to " interruption " by program 414.Thus, such as, for object virtual page, the Data Migration based on reconfiguration procedure 415 is not carried out.And the value of being somebody's turn to do " transition state " such as can be reverted to " migration " from " interruption " when degradation described later (destage) completes by program 414.
< < case B: " transition state " is " in migration " > >
Such as carry out one of following (concrete example B1) ~ (concrete example B3).
(concrete example B1)
* " transition state " corresponding with object virtual page is updated to " interruption " by program 414.Then, program 414 is carried out above-mentioned (concrete example A1) or (concrete example A2).When having carried out (concrete example A1), " transition state " corresponding with object virtual page has been updated to " having moved ".When having carried out (concrete example A2), " transition state " corresponding with object virtual page has been updated to " migration ".
(concrete example B2)
* program 414 guarantees CM region.When (concrete example B2), demote after " transition state " corresponding with object virtual page is updated to " having moved ".Therefore, writing destination (degradation destination) is the actual page in move target stratum.Why like this, be because object virtual page has been assigned with the actual page in move target stratum.
(concrete example B3)
* program 414 guarantees CM region.When (concrete example B3), be demote " in migration " period at " transition state " corresponding with object virtual page, Data Elements be downgraded to distribute to object virtual page actual page and move target stratum in the both sides (carrying out so-called two to re-write) of actual page.
< < situation C: " transition state " is " having moved " > >
Such as carry out following process.
* program 414 guarantees CM region.In this situation, write destination (degradation destination) is the actual page in move target stratum.Why like this, be because be updated in order to " having moved " due to corresponding with object virtual page " transition state ", so the actual page distributing to object virtual page is changed to the actual page becoming move target ground as will be explained later.
(S2408)
When for when ensure that CM region by the determined all virtual pages of S2402, write as the data writing object to guaranteed more than one CM region write, and completes and responds to main frame 101 by program 414.
< write process (degradation) >
Figure 25 represents the flow process of degradation process.
I/O control program 414 carries out degradation process for each Data Elements forming write object data.
(S2501)
Program 414 is demoted.That is, the Data Elements (dirty data key element) not yet writing actual page in the multiple Data Elements be present in high-speed cache are write actual page by program 414.Degradation destination actual page is the actual page (actual page according to allocation table 407 is determined) of the virtual page distributing to the write destination becoming this actual page.And now, if " transition state " corresponding with this virtual page is " interruption ", then program 414 can will should " transition state " be updated to " migration ".
(S2502)
Program 414 judges whether based on table 403 (Fig. 7) or 404 (Fig. 8) necessity upgrading monitoring form 409.Can precedence table 404 (Fig. 8).Particularly, such as, program 414 carries out two following judgements, namely judges P and judges Q.
(judging P) program 414 judges with the pond with the degradation destination actual page in S2501 (following, be called " object pool " in the explanation of Figure 25) whether whether corresponding " reconfiguring " is " ON " or " reconfigure " corresponding with the VVOL (following, to be called " object VVOL " in the explanation of Figure 25) with the virtual page being assigned to this degradation destination actual page be " ON ".Under the result of this judgement P is negatory situation, do not carry out S2503 (that is, not upgrading necessity of monitoring form 409).
(judging Q), when the result judging P is certainty, program 414 judges the current moment whether in the time-bands represented by the value of " Looking Out Time band " corresponding with object pool.Under the result of this judgement Q is negatory situation, do not carry out S2503.On the other hand, not only judge P, when the result of this judgement Q is also certainty, carry out S2503 (that is, having the necessity upgrading monitoring form 409).
(S2503)
Program 414 upgrades monitoring form 409.Specific as follows.
If * corresponding with object VVOL in table 412 (Figure 15) " page unit moves " is " ON ", then program 414 upgrades the monitoring form 409 of the activation corresponding with object VVOL.Particularly, such as, program 414 upgrades the value (such as increasing by 1) of in the monitoring form 409 activated, corresponding with the write destination virtual page of degraded Data Elements " adding up to I/O number ", and upgrades the value in " final I/O moment ".In addition, program 414 was appended in above-mentioned I/O resume for the moment of such as this write destination virtual page by degradation time point.In this situation, the ID of write destination virtual page in I/O resume, can be recorded.Such as, based on this I/O resume, then " average I/O number " and " maximum I/O number " in the monitoring form 409 of activation can be upgraded by program 414.
< readout process >
Figure 26 represents the flow process of readout process.
(S2600)
I/O control program 414 receives read-out command from main frame 101.Then, the I/O destination information that program 414 has according to the read-out command received determines reading source VVOL and virtual page.
(S2601)
Program 414 judges whether high-speed cache has reading object data.The result of this judgement is in negatory situation, carries out S2603, when the result of this judgement is certainty, carries out S2602.
(S2602)
Reading object data on high-speed cache is sent to main frame 101 by program 414.In this situation, the monitoring form 409 corresponding with reading source VVOL is not updated.This is the I/O owing to not carrying out for actual page.
(S2603)
Program 414 judges whether to be assigned with actual page to by the determined virtual page of S2600 based on allocation table 407.The result of this judgement is in negatory situation, carries out S2604, when the result of this judgement is certainty, carries out S2605.
(S2604)
Program 414 sends predetermined response (such as representing the data of zero) to main frame 101.
(S2605)
Program 414 judges whether moving whether registered and corresponding with this registered virtual page ID " transition state " in page table 411 is " in migration " by least one in the ID of the determined more than one virtual page of S2600.The result of this judgement is in negatory situation, carries out S2607, when the result of this judgement is certainty, carries out S2606.
(S2606)
Program 414 is from more than one actual page (according to the determined more than one actual page of allocation table 407) the sense data key element distributed to respectively by the determined more than one virtual page of S2600.The reading object data be made up of those Data Elements is sent to main frame 101 by program 414.
(S2607)
For the virtual page that " transition state " is " in migration ", program 414 waits until that " transition state " is updated to " having moved ".Then, program 414 is from more than one actual page (according to the determined more than one actual page of allocation table 407) the sense data key element distributed to respectively by the determined more than one virtual page of S2600.The reading object data be made up of those Data Elements is sent to main frame 101 by program 414.
(S2608)
Program 414 judges whether based on table 403 (Fig. 7) or 404 (Fig. 8) necessity upgrading monitoring form 409.Can precedence table 404 (Fig. 8).Particularly, such as, program 414 carries out two following judgements, namely judges V and judges W.
Whether whether (judging V) program 414 judges with the pond distributing to reading source VVOL (following, to be called " reading pond, source " in the explanation of Figure 26) correspondence " reconfiguring " is " ON " or " reconfigure " corresponding with reading source VVOL is " ON ".Under the result of this judgement V is negatory situation, do not carry out S2609 (that is, not upgrading necessity of monitoring form 409).
(judging W), when the result judging V is certainty, program 414 judges the current moment whether in the time-bands represented by the value of " Looking Out Time band " corresponding with object pool.Under the result of this judgement W is negatory situation, do not carry out S2609.On the other hand, not only judge V, when the result of this judgement W is also certainty, carry out S2609 (that is, having the necessity upgrading monitoring form 409).
(S2609)
Program 414 upgrades monitoring form 409.Specific as follows.
If * corresponding with reading source VVOL in table 412 (Figure 15) " page unit moves " is " ON ", then program 414 upgrades the monitoring form 409 of the activation corresponding with reading source VVOL.Particularly, such as, program 414 upgrades in the monitoring form 409 activated the value (such as increasing by 1) of " the adding up to I/O number " corresponding with write destination virtual page in the source that reads, and upgrades the value in " final I/O moment ".In addition, the moment that readout time puts is appended in above-mentioned I/O resume for such as this reading source virtual page by program 414.In this situation, the ID of reading source virtual page in I/O resume, can also be recorded.Such as, based on this I/O resume, then " average I/O number " and " maximum I/O number " in the monitoring form 409 of activation can be upgraded by program 414.
Supervision and the relation > reconfiguring process of < I/O frequency
The supervision that Figure 27 represents I/O frequency and the summary of relation reconfigured.
Monitoring the I/O for actual page, and when having carried out the I/O for actual page, the I/O frequency of the virtual page being assigned to this actual page or the VVOL with this virtual page is updated.That is, monitoring form 409 is updated.In other words, as mentioned above, although I/O control program 414 receives read-out command from main frame 101, when not from actual page sense data key element, monitoring form 409 is not updated.
Along with the renewal of monitoring form 409, number of degrees distribution table 410 is updated.And number of degrees distribution table 410 can not be prepared in advance, such as, when generating number of degrees distribution table 410 based on monitoring form 409 when the distribution of the display number of degrees by supvr's instruction, and number of degrees distribution can be shown based on this table 410.And, number of degrees distribution can also be replaced, display monitoring form 409.
Reconfigure process and there is layer determination processing and migration process.Migration page table 411 is generated in layer determination processing.This table 411 can generate based on the layer scope in the I/O frequency represented by monitoring form 409 and layer-management table 402 (Fig. 6).Carry out the Data Migration of page unit based on generated migration page table 411 in migration process.
< reconfigures process >
Reconfigure process can exceed the layer threshold value of this layer when the usage ratio of certain layer and carry out, also can periodicity (when such as at every turn arriving the moment represented by value of " reconfigure and perform the moment ") carry out.
Figure 28 represents the flow process reconfiguring process.It should be noted that, Figure 28 is the flow process for a VVOL (Figure 28 illustrate in be called " object VVOL ").
(S2801)
Reconfiguration procedure 415 judges whether to perform Data Migration for object VVOL.Specifically be handled as follows.
* program 415 judges whether " automatically performing " corresponding with object VVOL in VVOL admin table 404 (Fig. 8) is " ON ".When the value of " automatically performing " corresponding with object VVOL does not set, program 415 judges whether " automatically performing " corresponding with the pond (following, to be called " object pool " in the explanation of Figure 28) distributing to object VVOL in pond admin table 403 (Fig. 7) is " ON ".
*, when " automatically performing " corresponding with object VVOL or object pool is " ON ", program 415 judges whether current time reaches the moment represented by value of " reconfigure and perform the moment " corresponding with object VVOL or object pool.When the result of this judgement is certainty, the result of the judgement of S2801 is certainty, and under the result of this judgement is negatory situation, the result of the judgement of S2801 is negativity.
* when " automatically performing " corresponding with object VVOL or object pool is " OFF ", if program 415 has received the instruction of Data Migration by management devices 105 for object VVOL from supvr, then the result of the judgement of S2801 has been certainty.
If " automatically performing " corresponding with object VVOL or object pool is " OFF " (S2802: no), then program 415 carries out S2806.
If " automatically performing " corresponding with object VVOL or object pool is " ON " (S2802: yes), then program 415 carries out S2807.
(S2806)
Program 415 judges whether to set a layer scope by supvr.Under the result of this judgement is negatory situation, after having carried out S2807, carry out S2808, under the result of this judgement is negatory situation, do not carry out S2807, directly carry out S2808.
(S2807)
Program 415 is carried out layer scope and is determined process.A layer scope is decided by this process.As the method determining layer scope, can consider multiple.Such as, multiple layer scope can be prepared in advance, also can select arbitrary layer scope for each layer by program 415 from this multiple layer scope.
(S2808)
Program 415 carries out a layer determination processing.In layer determination processing, as mentioned above, migration page table 411 is generated.
(S2809)
Program 415 carries out the migration process of page unit according to generated migration page table 411.In the Data Migration of page unit, from the actual page in certain layer to the actual page migration data key element in other layer in object pool.For the migration process of page unit, will describe in detail below.
The migration process > > of < < page unit
Figure 34 represents the flow process of the migration page table generating process in the S2808 of Figure 28.
(S3401)
The initial virtual page of program 415 alternative VVOL.
(S3402)
Program 415 judges whether to be assigned with actual page to by the virtual page selected based on allocation table 407.If the result of this judgement is negatory, then carry out S3405, if the result of this judgement is certainty, then carry out S3403.
(S3403)
Program 415 judges whether change the layer distributed to and should be existed by the Data Elements in the actual page of virtual page selected based on monitoring form 409.Specific as follows.
* program 415 is determined to have according to table 402 (Fig. 6) and is distributed to by the layer of the actual page of the virtual page selected (being called " object layer " in the explanation of S3403).
* program 415 will distribute to the layer being moved to other by the Data Elements in the actual page of virtual page selected from object layer based on being judged whether by the value of the I/O frequency of the virtual page selected (in the total I/O number represented by the monitoring form 409 of such as corresponding with object VVOL activation, average I/O number and maximum I/O number at least one) and " layer scope " corresponding with object layer.Such as, if do not included in by the layer scope corresponding with object layer of virtual page selected by the I/O frequency of the virtual page selected, being then judged as should migration data key element.
If the result of the judgement of this S3403 is negatory, then carry out S3405, if the result of this judgement is certainty, then carry out S3404.
(S3404)
Program 415 determines move target stratum based on by the value of the I/O frequency of the virtual page selected (in the total I/O number represented by the monitoring form 409 of such as corresponding with object VVOL activation, average I/O number and maximum I/O number at least one) and " layer scope " corresponding with other Distribution Layer had in the pond of object layer.Such as, will be determined as move target stratum by the Distribution Layer (Distribution Layer of object VVOL) that the layer scope of the I/O frequency of the virtual page selected is corresponding with including in.Then, program 415 is registered by the ID of the ID of the virtual page selected, object layer, " is not moved " by the ID on the move target stratum that determines, transition state in move target ground page table 411.
(S3405)
Program 415 judges it is whether the virtual page of the end of object VVOL by the virtual page selected.If the result of this judgement is negatory, then carry out S3406, if the result of this judgement is certainty, then this migration page table generating process terminates.
(S3406)
Program 415 is selected last by the next virtual page of virtual page selected from object VVOL.Then, the later process of S3402 is carried out for this by the virtual page selected.
By this migration page table generating process, the mobile page table 411 of the migration process for page unit can be generated.
Figure 35 represents the summary of the migration process of page unit.
According to the migration process of page unit, for each virtual page of registration in table 411, the Data Elements distributed in the actual page of this virtual page are migrated to the actual page freely in the move target stratum corresponding with this virtual page.Replace migration source actual page with move target ground actual page to distribute this virtual page.As shown in figure 35, by this migration process, the existing Data Elements be migrated in more upper layer, also have the Data Elements be migrated in more the next layer.
Set what kind of layer scope according to for which layer, the Data Elements in this virtual page can be configured in the layer of the I/O frequency of applicable virtual page.
Such as, suppose the layer scope higher to the setting of more upper layer, the layer scope lower to the setting of more the next layer.Particularly, suppose that such as layer #11 is at a high speed and the layer of high reliability (such as RVOL kind is the layer of " SSD "), and be set to high layer scope.In addition, suppose that such as layer #13 is low speed and the layer of low reliability (such as RVOL kind is the layer of " HDD-SATA "), and be set to low layer scope.In addition, suppose that such as layer #12 is the acquiescence layer of VVOL#50, and be set to the layer scope of middle degree.In this situation, the write object data key element for the virtual page forming VVOL#50 is temporarily written into the actual page in acquiescence layer #12.Then, the I/O frequency of certain the virtual page #A in such as VVOL#50 becomes the high I/O frequency being incorporated in degree within the scope of high layer, the Data Elements distributed in the actual page #X of this virtual page #A are moved to a layer #11 by from layer #12.On the other hand, the I/O frequency of certain the virtual page #B in such as VVOL#50 becomes the low I/O frequency being incorporated in degree within the scope of low layer, the Data Elements distributed in the actual page #Y of this virtual page #B are moved to a layer #13 by from layer #12.
What kind of which like this, by layer to set layer scope, the monitoring result of I/O frequency of each virtual page, the Data Migration of page unit to, the Data Elements in VVOL can be configured in suitable layer (physical memory resources).
Figure 36 represents the flow process of the migration process of page unit.
(S3601)
" the pond state " of distributing to the pond of object VVOL is updated to " in reconfiguring " by reconfiguration procedure 415.
(S3602)
Program 415 selects the initial record of the migration page table 411 generated.
(S3603)
The value of " transition state " in selected record is updated to " in migration " by program 415.
(S3604)
Program 415 selects actual page freely from the move target stratum represented by selected record, is stored in Data Elements in the migration source actual page in migration active layer to selected actual page (move target ground actual page) migration.Migration source actual page distributes to the actual page of object virtual page.
(S3605)
Program 415 updating form.Specific as follows.
* program 415 upgrades allocation table 407, thus replaces migration source actual page with move target ground actual page and distribute to virtual page (following, to be called " selection virtual page " in the explanation of S3605) represented by the record selected.That is, program 415 makes move target the ground ID of actual page, the ID on move target stratum corresponding with selection virtual page.
* program 415 upgrades the I/O frequency (table 409 such as activated) selecting virtual page.Particularly, such as, the total I/O number of virtual page or object VVOL is selected to increase by 1.
The value of * in program 415 updating form 402 (Fig. 6), move target stratum " usage ratio ".
(S3606)
Program 415 is updated to by the value of " transition state " in the record selected " having moved ".
(S3607)
Program 415 judges it is whether the record of end in virtual page table 411 by the record selected.If the result of this judgement is negatory, then carry out S3608, if the result of this judgement is certainty, then this migration process terminates.
(S3608)
Program 415 is selected last by the next record of record selected from virtual page table 411.Then, for this by the record selected, carry out the process that S3603 is later.
The flow process of the migration process of above Shi Ye unit.And, as the variation of the migration process of page unit, at least one in such as following multiple variation can be considered.
* between S3602, S3603, can tentation data key element move in move target stratum, program 415 judges that the usage ratio on move target stratum is whether beyond the layer threshold value on move target stratum.When being judged as exceeding, program 415 can be skipped S3603 ~ S3606 and directly carry out S3607 (that is, program 415 is for the migration can not being carried out Data Elements by the record selected).Or when being judged as exceeding, program 415 by carrying out reconfiguring process for the VVOL being Distribution Layer with move target stratum, can increase actual page freely, then starting S3603 in move target stratum.
* can judge that the usage ratio on move target stratum is whether beyond the layer threshold value on move target stratum when being upgraded the usage ratio on move target stratum by S3605 by program 415.When being judged as exceeding, program 415 can show warning in management devices 107, and/or, by carrying out reconfiguring process for the VVOL being Distribution Layer with move target stratum, in move target stratum, increase actual page freely.
The change > of < layer threshold value
UI control program 413 can from the change of supvr's receiving layer threshold value.
The flow process of the change process of Figure 37 presentation layer threshold value.
(S3701)
Program 413 acceptance pool ID and layer ID, for the layer threshold value after the change of this layer of ID.
(S3702)
Whether the value that program 413 judges " usage ratio " corresponding with the pond ID received by S3701 and layer ID is beyond the layer threshold value after changing.
(S3703)
Program 413 shows mistake when the result of the judgement of S3702 is certainty in management devices 107.
The supervision > of < usage ratio
As mentioned above, I/O control program 414 or reconfiguration procedure 415 when in updating form 402 (Fig. 6) when actual page write Data Elements, the value of " usage ratio " of the layer with this actual page.Then, program 414 or 415 can judge the value after the renewal of " usage ratio " whether beyond the value of " layer threshold value " corresponding with this layer.If the result of this judgement is certainty, then program 414 or 415 can carry out the threshold value shown in Figure 38 exceed reply process.
Figure 38 represents that threshold value exceeds the flow process of reply process.
Program 414 or 415 judges whether have usage ratio beyond " the pond state " in the pond of the layer of layer threshold value is " in reconfiguring " (S3801).
When the result of the judgement of S3801 is certainty, program 414 or 415 gives a warning (S3802) to management devices 107 or main frame 101.This warning such as can comprise the value (" reconfigure in ") of " pond state " of usage ratio beyond the ID of the layer of layer threshold value, the ID with the pond of this layer, this pond.
Under the result of the judgement of S3801 is negatory situation, program 414 or 415 gives a warning (S3803) to management devices 107 or main frame 101, perform make the usage ratio of this layer become this layer layer threshold value below reconfigure process (Figure 28) (S3804).And, the warning in S3803 such as can comprise the layer of usage ratio excess layer threshold value ID, have the pond of this layer ID, mean the message carrying out reconfiguring process for this pond.
< Data Elements gather >
In the present embodiment, the aggregation process of Data Elements can be carried out.
Figure 21 represents the summary of the aggregation process of Data Elements.
I/O control program 414 or reconfiguration procedure 415 are for VVOL#39 periodicity or when Data Elements being write actual page, the migration process of page unit (such as, at the end of) checks the configuration of the Data Elements in VVOL#39.Particularly, such as, program 414 or 415 calculates for each Distribution Layer #00, ##01, #03 of VVOL#39 the Data Elements (namely preserving ratio) that there is the ratio of much degree in all Data Elements in VVOL#39.Program 414 or 415 judges that whether there is preservation ratio in Distribution Layer #00, ##01, #03 of VVOL#39 exceeds the Distribution Layer preserving threshold value.
When there is preservation ratio and exceeding the Distribution Layer of the preservation ratio of preserving threshold value, Data Elements (Data Elements in VVOL#39) in Distribution Layer #01 and #03 beyond this Distribution Layer #00 are moved to Distribution Layer #00 (particularly, the actual page freely of such as Distribution Layer #00) by program 414 or 415.
Such as, and afterwards, program 414 when there is write for the virtual page (the especially unallocated virtual page having actual page) in VVOL#39, can must distribute actual page from Distribution Layer #00 to this virtual page.
And, if cause the usage ratio of Distribution Layer #00 to exceed the layer threshold value of Distribution Layer #00 after the Data Elements (Data Elements in VVOL#39) in Distribution Layer #01 and #03 are moved to Distribution Layer #00, then program 414 or 415 can be carried out following (x) or (y).
X Data Elements in Distribution Layer #01 and #03 are not moved to Distribution Layer #00 by () program 414.
(y) program 414 by by the VVOL beyond object VVOL, Data Elements in Distribution Layer #00 move in other layer, increase actual page freely in Distribution Layer #00.
In addition, in the present embodiment, in the S2807 of Figure 28, automatically can determine layer scope.Layer scope such as decides by being performed not shown layer scope determination procedure by MP.
Below, illustrate that layer scope determines process for a pond (being called " object pool " in the explanation of the automatic decision of layer scope).
Figure 29 presentation layer scope determines the summary of process.
If object pool has these three layers of layer #01, #02 and #03.If layer #01 is upper, layer #02 is second upper, and layer #03 is the layer of lowermost position.In other words, if the performance potential of layer #01 (potential) is the highest, the performance potential second of layer #02 is high, and the performance potential of layer #03 is minimum." performance potential " refers to the Data Elements configure weights reconfigured in process.About performance potential, will describe in detail later.
Layer scope determination procedure obtains the number of degrees distribution 4300 for object pool by the number of degrees distribution gathering all VVOL being assigned object pool.The transverse axis of number of degrees distribution is I/O frequency (load), and the longitudinal axis is virtual number of pages.
Layer scope determination procedure from upper layer to lower layer successively (or) from lower layer to upper layer successively determine layer scope.Below, if determine layer scope with the order of layer #01, #02, #03.Below, process for determining to carry out for the layer scope of each layer (and, Tu29Zhong, the upper limit of layer scope is the mark of rhombus, and the lower limit of layer scope is sphere shaped markup) is described.
" decision of the layer scope 1 of layer #01 "
* the upper limit of the layer scope 1 of layer #01 determines as infinitely great by layer scope determination procedure.That is, the upper limit of the layer scope of the layer of upper is set as infinity.
* layer scope determination procedure in number of degrees distribution 4300 as shown in arrow 4301 according to I/O frequency from being up to lower accumulative virtual number of pages.When this aggregate-value reaches the performance potential of layer #01, layer scope determination procedure by be about to arrive the performance potential of layer #01 before I/O frequency corresponding to the virtual number of pages that is added be set as layer (0-1) boundary value (boundary value of layer #00 and layer #01).
* the I/O frequency of to a certain degree tolerance limit (margin) lower than layer (0-1) boundary value is set as the lower limit of the layer scope 1 of layer #01 by layer scope determination procedure.Particularly, such as, this lower limit is the I/O frequency (the I/O frequency of such as low 10%) lower than layer (0-1) boundary value predetermined ratio.
* the layer scope determination procedure supposition I/O frequency Data Elements included in all virtual pages of layer scope 1 have been migrated to layer #01, the layer threshold value of the usage ratio judging layer #01 whether excess layer #01.When the result of this judgement is certainty, the size of the usage ratio that layer scope 1 is modified to layer #01 by the layer scope determination procedure not layer threshold value of excess layer #01.
" decision of the layer scope 2 of layer #02 "
* the I/O frequency than layer (0-1) boundary value high tolerance limit (margin) is to a certain degree set as the upper limit of the layer scope 1 of layer #02 by layer scope determination procedure.Particularly, such as, this upper limit is the I/O frequency (the I/O frequency of such as high 10%) higher than layer (0-1) boundary value predetermined ratio.
* layer scope determination procedure adds up virtual number of pages from layer (0-1) boundary value to lower in number of degrees distribution 4300.When this aggregate-value reaches the performance potential of layer #02, layer scope determination procedure by be about to arrive the performance potential of layer #02 before I/O frequency corresponding to the virtual number of pages that is added be set as layer (1-2) boundary value (boundary value of layer #01 and layer #02).
* the I/O frequency of to a certain degree tolerance limit (margin) lower than layer (1-2) boundary value is set as the lower limit of the layer scope 2 of layer #02 by layer scope determination procedure.
* the layer scope determination procedure supposition I/O frequency Data Elements included in all virtual pages of layer scope 2 have been migrated to layer #02, the layer threshold value of the usage ratio judging layer #02 whether excess layer #02.When the result of this judgement is certainty, the size of the usage ratio that layer scope 2 is modified to layer #02 by the layer scope determination procedure not layer threshold value of excess layer #02.
" decision of the layer scope 3 of layer #03 "
* the I/O frequency than layer (1-2) boundary value high tolerance limit (margin) is to a certain degree set as the upper limit of the layer scope 3 of layer #03 by layer scope determination procedure.
* the lower limit set of the layer scope 2 of layer #02 is 0 by layer scope determination procedure.That is, the lower limit set of the layer scope of lowermost position layer is 0.
* the layer scope determination procedure supposition I/O frequency Data Elements included in all virtual pages of layer scope 3 have been migrated to layer #03, the layer threshold value of the usage ratio judging layer #03 whether excess layer #03.When the result of this judgement is certainty, the size of the usage ratio that layer scope 3 is modified to layer #03 by the layer scope determination procedure not layer threshold value of excess layer #03.
As above layer scope 1 ~ 3 is determined.And why giving the tolerance limit of layer boundary value in the upper limit of layer scope and/or lower limit, is in order to the migration of Data Elements occurs the variation not along with I/O frequency continually.Such as, particularly, if there is no tolerance limit and the I/O frequency of certain virtual page frequently exceeds or lower than layer (0-1) boundary value, then the Data Elements in this virtual page are moved to layer #01 or layer #02 continually.But, if be provided with tolerance limit as mentioned above, then can reduce the frequency carrying out this kind of migration.
Below, further describe layer scope and determine process.
Figure 30 presentation layer scope determines the flow process of process.
(S4401)
Layer scope determination procedure is for each layer calculated performance potentiality of object pool.For a layer (being called " object layer " in the explanation of S4401), performance potential is such as calculated by following (formula 1).
Performance potential=performance rate × actual effect real page number (actual effect capacity) (formula 1)
Be somebody's turn to do (formula 1) even if mean that performance rate is low, as long as it is many to perform real page number, performance potential is just high.
And, " actual effect real page number " refer in all actual page forming object layer, reconfiguring in process the sum of actual page that can become Data Elements move target ground.In other words, in order to write reconfigures in process the write object data key element carrying out from host in pond, can be arranged on that reconfigure in process can not as the actual page on move target ground.
" performance rate " refers to the performance potential of the per unit capacity (such as an actual page) of object layer.Performance rate is such as based on the value K calculated by following (formula 2).
Value K=RG performance/RG actual effect capacity (formula 2)
" RG performance " in (formula 2) such as refers to the RG performance read when weight is 1:1 with the ratio of write weight, is the maximum I/O number that the RG of the foundation becoming object layer can process at time per unit." RG actual effect capacity " in (formula 2) such as refer to for the foundation becoming object layer RG, the sum of actual page of preserving Data Elements.And performance rate can replace above-mentioned value K or consider the ratio of reading weight and write weight on its basis in light of actual conditions.This ratio is as changed based at least one coming in the RAID grade of the situation of I/O of from host, the situation (such as, the distribution of dirty data key element and clean data key element (being kept at the Data Elements in actual page)) of high-speed cache, RG.In addition, performance rate manually can be set by supvr.
(S4402)
Layer scope determination procedure carries out a layer boundary value computing.That is, the performance potential that layer scope determination procedure calculates based on each layer for object pool carrys out computation layer boundary value.
(S4403)
Layer scope determination procedure based on each layer boundary value calculated for each layer computation layer scope.
(S4404)
For each layer, layer scope determination procedure judges that whether layer scope be improper.(following with a layer, be called " object layer " in the explanation of S4403 and S4405) for example specifically, such as, the Data Elements that layer scope determination procedure supposition I/O frequency is included in all virtual pages of the layer scope of object layer have been migrated to object layer, judge whether the usage ratio of object layer exceeds the layer threshold value of object layer.
(S4405)
When the result of the judgement of S4404 is certainty, layer scope determination procedure or show warning in management devices 107, or usage ratio layer scope being modified to object layer does not exceed the size of the layer threshold value of object layer.
Figure 31 represents the flow process of the S4402 middle level boundary value computing of Figure 30.
(S4501)
Layer scope determination procedure obtains the number of degrees distribution of object pool by the number of degrees distribution gathering all VVOL being assigned object pool.Number of degrees distribution can use the monitoring form 409 corresponding with each VVOL being assigned object pool to obtain.
(S4502)
The I/O frequency in layer scope determination procedure calculating object pond adds up to.Particularly, layer scope determination procedure adds up to the I/O frequency being assigned all virtual pages of all VVOL of object pool.
(S4503)
Layer scope determination procedure adds up to the distribution I/O frequency calculated for each layer of object pool based on the I/O frequency calculated by S4502.Particularly, the I/O frequency calculated by S4502 is added up to the multiple layers distributing to object pool by layer scope determination procedure.Particularly, such as, the ratio of that layer scope determination procedure calculates based on the S4401 by Figure 30, multiple layers performance potential, comes to add up to the plurality of Layer assignment I/O frequency.Thus, be such as layer #01 at the ratio of performance potential: layer #02: layer #03=4:2:1 and I/O frequency when adding up to 7000, the distribution I/O frequency of layer #01 becomes 4000 (7000 × (4/ (4+2+1))), the distribution I/O frequency of layer #02 becomes 2000 (7000 × (2/ (4+2+1))), and the distribution I/O frequency of layer #01 becomes 1000 (7000 × (1/ (4+2+1))).
(S4504)
Layer scope determination procedure decides a layer boundary value based on the distribution I/O frequency of each layer of object pool.Such as, with the example of S4503, layer (0-1) boundary value becomes 2000, and layer (1-2) boundary value becomes 1000.
Determine process according to above layer scope, the suitable layer scope of the I/O situation of object pool entirety can be corresponded to based on the number of degrees distributed pins of the performance potential of each layer and object pool to each layer of setting.
More than illustrating for embodiment 1.
And in embodiment 1, such as, for VVOL, acquiescence layer can be I/O performance in the Distribution Layer of VVOL (such as I/O speed or response time) the maximum layer layer of upper (in the such as Distribution Layer).This is the I/O performance in order to increase VVOL as far as possible.In this situation, the Data Elements of write VVOL can be configured in as far as possible upper Distribution Layer.But, control as the use capacity of Distribution Layer does not exceed the layer threshold value of this Distribution Layer.
In addition, such as, the layer kept out of the way can be commonly set with each pond or multiple pond.Be no matter the write according to the write order carrying out from host, still reconfigure the migration process in process, generally, program 414 and 415 is not to the layer write Data Elements of keeping out of the way.But, program 414 or 415 can be (following at the layer of such as Data Elements write destination, be called " object layer " in the explanation of this paragraph) usage ratio when exceeding the layer threshold value of this layer, by in any practical page in object layer Data Elements (or do not include within the scope of the layer distributing to object layer the virtual page of I/O frequency, Data Elements in object layer in actual page) move to the layer kept out of the way, in object layer, increase actual page freely thus.In this situation, the virtual page of program 414 or 415 to the migration source actual page distributed in object layer distributes move target ground actual page in the layer kept out of the way to replace this migration source actual page.Then, program 414 or 415 can be kept at this to the layer migration of the layer scope being set as including in the I/O frequency distributing to the virtual page of keeping out of the way by actual page in layer and keeps out of the way by the Data Elements in the actual page in layer.Keep out of the way the layer that such as can form for the RVOL identical by the layer kind with upper with layer.
In addition, acquiescence layer can not be set.The write object data key element carrying out from host 101 for VVOL can write in as far as possible upper layer.When the usage ratio of upper layer is beyond layer threshold value, Data Elements can write in the layer of the bottom of the low one-level of layer more upper than this.
In addition, in monitoring form 409B and 409A, 409A can not exist.In this situation, the I/O frequency of VVOL can be calculated by the I/O frequency of each virtual page adding up to monitoring form 409B to have.
In addition, the migration process of page unit can be interrupted.Such as, reconfiguration procedure 415 can when receive from supvr interrupt instruction, for transition state " in migration " process being proceeded to make after transition state is " having moved ", interrupt the migration process of page unit.Program 415 after such as receiving interruption instruction after certain hour or when receiving the instruction restarted, can restart migration process based on migration page table 411.Or program 415 can discard migration page table 411 when receiving and interrupting instruction, when upper once migration process, generate migration page table 411 based on the monitoring form 409 activated.
In addition, in the present embodiment, the VVOL203 of Thin Provisioning is according to being assigned to actual page from main frame 101 to the write request of the address with virtual page, but the present invention is not limited to this situation, can also preferably enumerate following example.Even if this is because the reduction of actual use capacity also can be realized when these examples.
First example is as follows.Namely, in multiple virtual pages of VVOL203 in the virtual page of a part or each virtual page of VVOL203 a part of region of comprising receive from main frame 101 to have virtual page address write request before allocated actual area (predistribution) in advance, according to from main frame 101 to the write request of address with virtual page, inadequate in the region be assigned, when also needing to distribute further, distribute the actual area added.
Second example is as follows.Namely, multiple virtual pages of VVOL203 receive from main frame 101 to have virtual page address write request before temporarily distribute to the actual area of preserving zero data or the region controlled (region the memory device such as these regions and SSD is corresponding) (temporarily distributing) in advance, according to from main frame 101 to the write request of address with virtual page, distribute destination and change to the actual page (formally distributing) preserving data from temporary transient range of distribution.In this situation, received before implementing formal distribution from main frame 101 to there is the write request of address of virtual page, be kept at the zero data of temporarily distributing in destination actual area or control region to main frame 101 response.
In addition, in the present embodiment, multiple pond 201 is managed by a table in order to unitary manages multiple pond 201, but the present invention is not limited to this, also can in order to for each pond 201 unitary management actual page 207, preferably to the table (can be the information of form beyond sheet form) of each pond 201 use management respectively.
In addition, the kind of layer 303 is not limited to classify according to each attribute such as SSD, HSS-SAS, HDD-SATA etc. of recording in the present embodiment, and also preferred each attribute such as equipment according to having the semiconductor storage medium such as the HDD of FC interface, memory device, the such as flash memory of non-HDD form formation is classified.In this situation, in the attribute of the virtual page be associated with layer 303 or each layer 303, the attribute of contained each actual page is also not limited to classify according to each attribute such as SSD, HDD-SAS, HDD-SATA etc. of recording in the present embodiment, but classifies according to each attributes such as having equipment that the semiconductor storage medium such as the HDD of FC interface, memory device, the such as flash memory of non-HDD form forms.
And, the kind of layer 303 is not limited to classify by means of only this attribute of type of above-mentioned memory device, also preferably classifies according to by each attribute after the RAID type combination of the attribute after the RAID type combination of the type of above-mentioned memory device and RAID1 to RAID5 etc. or the type of above-mentioned memory device and the performance (access speed etc.) of above-mentioned memory device and memory capacity and RAID1 to RAID5 etc.In these situations, in the attribute of the virtual page be associated with each layer 303 or each layer 303, the attribute of contained each actual page is also not limited to classify by means of only this attribute of type of above-mentioned memory device, also preferably classifies according to by each attribute after the RAID type combination of the attribute after the RAID type combination of the type of above-mentioned memory device and RAID1 to RAID5 etc. or the type of above-mentioned memory device and the performance (access speed etc.) of above-mentioned memory device and memory capacity and RAID1 to RAID5 etc.
Embodiment 2
Below embodiments of the invention 2 are described.Now, main explanation and the distinctive points of embodiment 1, about the common point with embodiment 1, then omit or schematic illustration (this point, after embodiment 3 below too).
In embodiments of the invention 2, replace I/O frequency or on its basis, the final I/O moment based on each VVOL or each virtual page carries out the migration process of page unit.As illustrated in embodiment 1, when Data Elements write actual page, the final I/O moment is registered in monitoring form 409.Reconfiguration procedure replaces the I/O frequency of virtual page and has the relation or on its basis of layer scope of layer of the Data Elements in this virtual page, and the final I/O moment based on virtual page determines the virtual page registered in migration page table 411.Such as, the final I/O moment can be current time before the virtual page in the schedule time in above moment be registered in migration page table 411.When the time comes, the move target ground of the Data Elements in this virtual page can be the layer more the next than the layer of the Data Elements had in this virtual page.Why like this, it is also low to be that Data Elements owing to considering in the virtual page that the final I/O moment is remote will be transfused to the possibility of output from now on, is preferably configured in more the next layer.
Embodiment 3
In embodiments of the invention 3, carry out I/O based on the access mode of one of sequential access and random storage, carry out the unit migration process of page.
If I/O object data is by the data of sequential access, then, when the PDEV of the foundation as I/O destination RVOL is HDD, the search time of HDD is very short.In this situation, even if having I/O object data in the lower HDD of performance, also due to by sequential access, and the degree that may be thought of as hydraulic performance decline is little.In addition, by by by the Data Migration of sequential access to the low PDEV of cheap performance, due to other data be randomly accessed, the actual page of more high based on performance PDEV can be made for page freely.Therefore, it is possible to expect the I/O performance improving storage system entirety.
In embodiment 3, such as, when Data Elements write in actual page by I/O control program 414, in such as allocation table 407, register the access mode (being sequential access or random access) for I/O destination virtual page.Can for the execution frequency of each virtual page write often kind of access mode in allocation table 407.
Such as when generating migration page table 411, if the access mode for virtual page is sequential access (if or the execution frequency of sequential access high), then reconfiguration procedure 415 can select more the next layer as the move target corresponding with this virtual page ground.In addition, such as, even if the I/O frequency of virtual page is higher than the maximal value of layer scope of layer with the actual page distributing to this virtual page, reconfiguration procedure 415 can not using the Data Elements in this actual page as migrating objects.
Embodiment 4
In embodiments of the invention 4, two monitoring forms 409 can not be kept in CMPK119 or other storage resources to replace with predetermined timing and be used alternatingly with editing.Such as, represent that the monitoring form 409 of the monitoring result on Monday can be used as the table 409 on Monday and preserves, represent that table 409 phase of table 409 and Monday that the monitoring form 409 of the monitoring result on Saturday can be used as Saturday is preserved with distinguishing.Thus, the options used and reconfigure the application method of process is added.
In example 4, such as reconfiguration procedure 415 reconfigure be about to start before whether to be preserved the monitoring form 409 of activation by decision such as method such as inquiry supvr etc.When preserving, before being about to carry out reconfiguring process, monitoring form 409 is kept in management devices 107 or other storage resources by program 415.Program 415 can select the monitoring form 409 in order to generate migration page table 411 and reference from the multiple monitoring forms 409 preserved, and uses selected monitoring form 409 to generate migration page table 411.
Embodiment 5
In embodiments of the invention 5, as the comparative approach of I/O frequency and layer scope, setting absolute value and relative value can be selected one of to compare.
" absolute value compares " refers to, for the migration process of page unit, by the I/O frequency of virtual page (such as, add up to I/O number, average I/O number or maximum I/O number) directly compare with layer scope, and the I/O frequency of the VVOL not considering to have this virtual page other virtual page interior.Compare according to absolute value, owing to there is no need the I/O frequency considering other virtual page or VVOL, compare required time therefore, it is possible to shorten, thus can expect that shortening reconfigures process required time.
" relative value compares " refers to, for the migration process of page unit, by the I/O frequency of virtual page (such as, add up to I/O number, average I/O number or maximum I/O number) carry out revising (normalization) based on the I/O frequency of other virtual page in the VVOL with this virtual page, revised I/O frequency and layer scope are compared.Particularly, such as, even if the I/O frequency of certain virtual page or VVOL is low, as long as the I/O frequency of other virtual page or other VVOL is lower, then the I/O frequency being modified to certain virtual page above-mentioned or VVOL is on the whole very not low.Or such as, even if the I/O frequency of certain virtual page or VVOL is high, as long as the I/O frequency of other virtual page or other VVOL is higher, then the I/O frequency being modified to certain virtual page above-mentioned or VVOL is on the whole very not high.Compare according to relative value, the best configuration corresponding to I/O situation overall in Looking Out Time band can be expected.
In addition, in the present embodiment, as the I/O frequency of comparison other, such as, setting can be selected to be average I/O number or maximum I/O number.According to average I/O number, can expect that corresponding to I/O frequency overall in Looking Out Time band carrys out configuration data key element.According to maximum I/O number, even if I/O frequency temporarily increases, also can expect that the Data Elements not making I/O hydraulic performance decline configure.
Make comparative approach be absolute value relatively or relative value compares and make comparison other be average I/O number or maximum I/O number, such as can define GUI or VVOL by supvr by above-mentioned pond and generate GUI and set.Such as be registered in shown in Figure 20 in pond admin table 4403 for the comparative approach in pond and comparison other, such as to be registered in VVOL admin table 4404 (in Figure 32 and Figure 20 shown in Figure 20 for the comparative approach of VVOL and comparison other, eliminate the hurdle (column) shown in Fig. 7 or Fig. 8, but in example 2, this hurdle exists).And, when different from the comparative approach in pond or comparison other of distributing to it for VVOL, can the preferential setting for VVOL similarly to Example 1.
Figure 33 represents the flow process of the setting process of comparative approach/comparison other.
The setting process of comparative approach/comparison other such as can be carried out in pond generating process and/or VVOL generating process.
UI control program 413 when receive for certain pond or certain VVOL (Figure 33 illustrate in be called " object pool or object VVOL ") relative value compare specify (S4201: no), in table 4403 or 4404, set comparative approach as " relative value compares " (S4202) for object pool or object VVOL.
Program 413 when receive for object pool or object VVOL absolute value compare specify (S4201: yes), in table 4403 or 4404, set comparative approach as " absolute value compares " (S4203) for object pool or object VVOL.
Program 413, when receiving (S4204: no) maximum I/O number is specified for object pool or object VVOL, sets comparison other as " maximum I/O number " (S4205) for object pool or object VVOL in table 4403 or 4404.
Program 413, when receiving (S4204: yes) average I/O number is specified for object pool or object VVOL, sets comparison other as " average I/O number " (S4206) for object pool or object VVOL in table 4403 or 4404.
And comparative approach and/or comparison other can automatically set or change, and replace and are manually set by supvr.Such as, program 414 or 415 checks the situation of the I/O in VVOL or pond based on monitoring form 409B, according to the situation of be checked through I/O, the value of " comparative approach " and/or " comparison other " that set in table 4403 and/or 4403 can be changed.Such as, when the deviation of the I/O frequency (or I/O frequency of multiple VVOL) all virtual pages in a VVOL being detected is not incorporated in preset range, " comparative approach " changed to " absolute value compares " from " relative value compares ", otherwise, when detecting that this deviation is incorporated in preset range, " comparative approach " can be changed to " relative value compares " from " absolute value compares ".In addition, such as, when detecting that I/O frequency temporarily increases sharply, " comparison other " changes to " maximum I/O number " from " average I/O number ", when detecting that the deviation of I/O frequency is incorporated in preset range, " comparison other " can be changed to " average I/O number " from " maximum I/O number ".
Be explained above several embodiments of the present invention, certainly, the present invention is not limited to these embodiments, can realize various change in the scope not departing from its purport.
Such as, at least one PVOL can be virtual PVOL, and the PDEV becoming the foundation of PVOL interdependently can be other storage system.In this situation, the write Data Elements formed in the actual page of PVOL can write that become the foundation of this PVOL, in other storage system PDEV.
In addition, such as, no matter whether carried out I/O to actual page, monitoring form 409 can be updated when producing the I/O to virtual page at every turn.
In addition, such as, in the migration process of page unit, for move target ground actual page distribution destination virtual page or there is the VVOL of this virtual page, can not upgrading I/O frequency and final I/O moment to during move target ground actual page migration data.After migration, can according to the I/O for this virtual page or VVOL to when carrying out I/O to this virtual page or the actual page of distributing to VVOL, upgrade the I/O frequency of this virtual page or VVOL and final I/O moment.
In addition, such as, the kind of RVOL can replace the kind or on its basis formed as the PVEV of the RG of the foundation of RVOL, based on the RAID grade (RAID1, RAID5 (3D+1P) etc.) of this RG.Therefore, such as, even if it is identical with the kind of the PDEV of the 2nd RG to form a RG respectively, as long as a RG is different with the RAID grade of the 2nd RG, the kind of the RVOL based on a RG and the 2nd RVOL based on the 2nd RG is just different, therefore, a RVOL and the 2nd RVOL can belong to different layers.The definition of layer is not limited to RVOL kind, also can define from other viewpoint.
In addition, the capacity of a such as actual page can be can distribute multiple actual page such capacity to a virtual page.In this situation, the migration of page unit can be such as that Data Elements move to multiple move target ground actual page respectively from the multiple migration sources actual page distributing to virtual page.
In addition, such as, the capacity of a such as actual page can be that an actual page can distribute to the such capacity of multiple virtual page.In this situation, in the migration process of page unit, select multiple virtual page, for the plurality of virtual page, from a migration source actual page to move target ground actual page migration data key element.
In addition, pond VOL can be the virtual logical volume corresponding with the VOL that the storage system of outside provides.In this situation, the Data Elements of the actual page of write pond VOL write the VOL of corresponding with this pond VOL, outside storage system.
In addition, the unit of I/O frequency can be such as IOPS (the I/O number of each second).
In addition, the I/O frequency amplitude of number of degrees distribution can be 1 (that is, can for the virtual number of pages of each I/O frequency count).
Symbol description
103 ... storage system

Claims (18)

1. a storage system, comprising:
There are multiple memory device groups of different performance; And
Controller, provide virtual volume for stored reservoir, described pond comprises multiple layers with different performance, described pond based on described multiple memory device group,
Wherein each memory device group comprises at least one memory device,
Wherein, if the I/O of the data of low performance layer (I/O) frequency is greater than the layer I/O frequency boundary value associated with the layer I/O frequency ranges of high-performance layer, then described controller redistributes data from low performance layer to high-performance layer, and
Wherein, if the I/O frequency of the data of low performance layer is in the layer I/O frequency ranges of high-performance layer, but be less than the layer I/O frequency boundary value associated with the layer I/O frequency ranges of high-performance layer, then described controller is used for not redistributing data from low performance layer to high-performance layer.
2. storage system according to claim 1, wherein
Described controller is used for:
Keep channel zapping information, described channel zapping information represents the corresponding relation between I/O frequency and the number of data; And
The layer I/O frequency ranges of at least one layer is calculated by reference to channel zapping information.
3. storage system according to claim 2,
Its middle level I/O frequency boundary value is less than the mxm. of the layer I/O frequency ranges of low performance layer.
4. storage system according to claim 3, wherein
Each layer comprises multiple page, and
It is unit management data that described controller is used for page.
5. storage system according to claim 4,
Redistribute described in wherein performing periodically.
6. storage system according to claim 1, wherein
Described virtual volume comprises multiple virtual page,
Each layer comprises multiple actual page, and
Described controller is used for:
Calculate I/O frequency to add up to, described I/O frequency adds up to the total of the I/O frequency being all virtual pages in virtual volume;
Ratio based on the performance numbers of multiple layers adds up to the I/O frequency calculated, and calculates the boundary value of multiple layers; And
Based on the I/O frequency of multiple layers and the boundary value calculated, determine the layer I/O frequency ranges of multiple layers.
7. storage system according to claim 6, wherein
The performance number of layer is that the quantity of actual page by becoming the ground of the move target in redistributing is multiplied with the performance number of each actual page in described layer calculated value, and
The performance number of each actual page in layer be with based on the determined performance-relevant value of attribute of memory device group of foundation forming described layer.
8. storage system according to claim 1, wherein
The maximal value of layer I/O frequency ranges is greater than the maximum boundary value associated with described I/O frequency ranges, and/or
The minimum value of layer I/O frequency ranges is less than the minimum edge dividing value corresponding with described I/O frequency ranges.
9. storage system according to claim 1, wherein
Described virtual volume comprises multiple virtual page
Each layer comprises multiple actual page, and
Described controller is used for:
Calculate the total amount of I/O frequency, the total amount of described I/O frequency is that the I/O frequency of all virtual pages in virtual volume adds up to;
Ratio based on the performance numbers of multiple layers adds up to the I/O frequency calculated, and calculates the boundary value of multiple layers; And
Based on the I/O frequency of multiple layers and the boundary value calculated, determine the layer I/O frequency ranges of multiple layers.
10. a memory system control method, described storage system comprises:
There are multiple memory device groups of different performance; And controller, provide virtual volume for stored reservoir, described pond comprises multiple layers with different performance, described pond is based on described multiple memory device group, and wherein each memory device group comprises at least one memory device, and described method comprises:
If the I/O of the data of low performance layer (I/O) frequency is greater than the layer I/O frequency boundary value associated with the layer I/O frequency ranges of high-performance layer, then redistribute data from low performance layer to high-performance layer by described controller; And
If the I/O frequency of the data of low performance layer is in the layer I/O frequency ranges of high-performance layer, but be less than the layer I/O frequency boundary value associated with the layer I/O frequency ranges of high-performance layer, then do not redistribute data from low performance layer to high-performance layer by described controller.
11. memory system control methods according to claim 10, further comprising the steps of:
Keep channel zapping information by described controller, described channel zapping information represents the corresponding relation between I/O frequency and the number of data; And
Calculated the layer I/O frequency ranges of at least one layer by reference to channel zapping information by described controller.
12. memory system control methods according to claim 11,
Its middle level I/O frequency boundary value is less than the mxm. of the layer I/O frequency ranges of low performance layer.
13. memory system control methods according to claim 12, wherein
Each layer comprises multiple page, and
It is unit management data that described controller is used for page.
14. memory system control methods according to claim 13,
Redistribute described in wherein performing periodically.
15. memory system control methods according to claim 10, wherein
Described virtual volume comprises multiple virtual page,
Each layer comprises multiple actual page, and
Described method is further comprising the steps of:
Calculate I/O frequency by described controller to add up to, described I/O frequency adds up to the total of the I/O frequency being all virtual pages in virtual volume;
Ratio based on the performance numbers of multiple layers adds up to the I/O frequency calculated, and is calculated the boundary value of multiple layers by described controller; And
Based on the I/O frequency of multiple layers and the boundary value calculated, determined the layer I/O frequency ranges of multiple layers by described controller.
16. memory system control methods according to claim 15, wherein
The performance number of layer is that the quantity of actual page by becoming the ground of the move target in redistributing is multiplied with the performance number of each actual page in described layer calculated value, and
The performance number of each actual page in layer be with based on the determined performance-relevant value of attribute of memory device group of foundation forming described layer.
17. memory system control methods according to claim 10, wherein
The maximal value of layer I/O frequency ranges is greater than the maximum boundary value associated with described I/O frequency ranges, and/or
The minimum value of layer I/O frequency ranges is less than the minimum edge dividing value corresponding with described I/O frequency ranges.
18. memory system control methods according to claim 10, wherein
Described virtual volume comprises multiple virtual page
Each layer comprises multiple actual page, and
Described method is further comprising the steps of:
Calculated the total amount of I/O frequency by described controller, the total amount of described I/O frequency is that the I/O frequency of all virtual pages in virtual volume adds up to;
Ratio based on the performance numbers of multiple layers adds up to the I/O frequency calculated, and is calculated the boundary value of multiple layers by described controller; And
Based on the I/O frequency of multiple layers and the boundary value calculated, determined the layer I/O frequency ranges of multiple layers by described controller.
CN201510242032.7A 2009-12-24 2009-12-24 The storage system and its control method of virtual volume are provided Active CN104808954B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510242032.7A CN104808954B (en) 2009-12-24 2009-12-24 The storage system and its control method of virtual volume are provided

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510242032.7A CN104808954B (en) 2009-12-24 2009-12-24 The storage system and its control method of virtual volume are provided
CN200980161169.2A CN102483684B (en) 2009-12-24 2009-12-24 Storage system for providing virtual volume

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200980161169.2A Division CN102483684B (en) 2009-12-24 2009-12-24 Storage system for providing virtual volume

Publications (2)

Publication Number Publication Date
CN104808954A true CN104808954A (en) 2015-07-29
CN104808954B CN104808954B (en) 2017-12-01

Family

ID=53716249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510242032.7A Active CN104808954B (en) 2009-12-24 2009-12-24 The storage system and its control method of virtual volume are provided

Country Status (1)

Country Link
CN (1) CN104808954B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622023A (en) * 2016-07-13 2018-01-23 希捷科技有限公司 Limit the access operation in data storage device
CN109196484A (en) * 2016-06-13 2019-01-11 国际商业机器公司 Flexibly optimize data processing in the system with multiple memories
CN110874189A (en) * 2018-08-30 2020-03-10 株式会社日立制作所 Storage system and storage control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1945520A (en) * 2005-10-04 2007-04-11 株式会社日立制作所 Data management method in storage pool and virtual volume in dkc
US20090254719A1 (en) * 2008-04-02 2009-10-08 Fujitsu Limited Switch apparatus
US20090276588A1 (en) * 2008-04-30 2009-11-05 Atsushi Murase Free space utilization in tiered storage systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1945520A (en) * 2005-10-04 2007-04-11 株式会社日立制作所 Data management method in storage pool and virtual volume in dkc
US20090254719A1 (en) * 2008-04-02 2009-10-08 Fujitsu Limited Switch apparatus
US20090276588A1 (en) * 2008-04-30 2009-11-05 Atsushi Murase Free space utilization in tiered storage systems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109196484A (en) * 2016-06-13 2019-01-11 国际商业机器公司 Flexibly optimize data processing in the system with multiple memories
CN109196484B (en) * 2016-06-13 2023-05-16 国际商业机器公司 Flexible optimized data processing in a system having multiple memories
US11687369B2 (en) 2016-06-13 2023-06-27 International Business Machines Corporation Flexible optimized data handling in systems with multiple memories
CN107622023A (en) * 2016-07-13 2018-01-23 希捷科技有限公司 Limit the access operation in data storage device
CN107622023B (en) * 2016-07-13 2023-05-23 希捷科技有限公司 Limiting access operations in a data storage device
CN110874189A (en) * 2018-08-30 2020-03-10 株式会社日立制作所 Storage system and storage control method
CN110874189B (en) * 2018-08-30 2023-05-16 株式会社日立制作所 Storage system and storage control method

Also Published As

Publication number Publication date
CN104808954B (en) 2017-12-01

Similar Documents

Publication Publication Date Title
CN102483684B (en) Storage system for providing virtual volume
CN102483683B (en) Storage system for providing virtual volume
JP5079841B2 (en) Method and storage apparatus for controlling data write to virtual logical volume according to Thin Provisioning
US9778852B1 (en) Automated storage tiering based on application awareness
JP5502232B2 (en) Storage system and control method thereof
US8312242B2 (en) Tracking memory space in a storage system
US9703717B2 (en) Computer system and control method
JP5685676B2 (en) Computer system and data management method
CN101223498A (en) Virtualisation engine and method, system, and computer program product for managing the storage of data
US9690506B2 (en) Virtual tape library
JP6017032B2 (en) Storage system and storage control method
US8037276B2 (en) Computer system, storage area allocation method, and management computer
JP5130169B2 (en) Method for allocating physical volume area to virtualized volume and storage device
CN104808954A (en) Storage system for providing virtual volumes and control method of storage system
US9547443B2 (en) Method and apparatus to pin page based on server state
EP2584453A2 (en) Method and apparatus to change storage tiers
JP5355764B2 (en) Method and storage apparatus for controlling data write to virtual logical volume according to Thin Provisioning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant