CN104808954B - The storage system and its control method of virtual volume are provided - Google Patents

The storage system and its control method of virtual volume are provided Download PDF

Info

Publication number
CN104808954B
CN104808954B CN201510242032.7A CN201510242032A CN104808954B CN 104808954 B CN104808954 B CN 104808954B CN 201510242032 A CN201510242032 A CN 201510242032A CN 104808954 B CN104808954 B CN 104808954B
Authority
CN
China
Prior art keywords
layer
page
frequency
virtual
actual
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.)
Active
Application number
CN201510242032.7A
Other languages
Chinese (zh)
Other versions
CN104808954A (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

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Management will carry out sorted multiple storage region groups by attribute of the multiple storage regions that multiple storage devices provide according to storage region.According to logic-oriented roll up in multiple addresses contained at least one address write request, there is provided be assigned to multiple logical volumes of contained at least one storage region in the multiple storage region.According to the access situation of at least one address in the logical volume, data at least one address contained at least one storage region from one of the multiple storage region group will be write by said write request, migrated at least one storage region contained by the multiple storage region group in other storage region groups.

Description

The storage system and its control method of virtual volume are provided
It is on December 24th, 2009, the Chinese patent Shen of entitled " storage system for providing virtual volume " applying date that the application, which is, Please No.200980161169.2 divisional application.
Technical field
The present invention relates to apply Thin Provisioning (automatic simplify configuration, also referred to as Dynamic Provisioning (dynamic pre-configured)) storage control.
Background technology
Data Transference Technology is known.Data Migration is generally carried out with rolling up (volume) for unit.For example, according to special Sharp document 1, all data being stored in the first logical volume move to the second logical volume from the first logical volume.
In addition, storage hierarchy technology is also known.For example, according to patent document 2, multiple storage systems are had Multiple logical volumes be classified to some layer in multiple layers (tier) respectively, the logical volume belonging in some layer is migrated To other layers.Multiple layers include the layer such as high confidence level, inexpensive layer.
Prior art literature
Patent document
Patent document 1:Japanese Unexamined Patent Publication 2006-302077 publications
Patent document 2:Japanese Unexamined Patent Publication 2008-047156 publications
The content of the invention
The invention problem to be solved
But the technology referred to as Thin Provisioning (also referred to as Dynamic Provisioning) has been Known to people.According to Thin Provisioning, prepare the virtual logical volume being made up of multiple virtual storage regions (virtual page) The storage region of (virtual volume) and multiple entities (actual page).In the case where being write to virtual page, to the virtual page point With actual page, data of the write-in as write-in object in the actual page distributed.
If above-mentioned Data Transference Technology and storage hierarchy technology are applied in Thin Provisioning.In addition, If the first virtual volume belongs to first layer, the second virtual volume belongs to the second layer.In this case, can be belonging to from first layer first Second virtual volume of the virtual volume belonging into the second layer migrates all data.
According to the technology, all data in the first virtual volume are moved to the second layer from first layer, but might not Preferably all of data are present in the second layer.
Then, present invention aims to the data configuration in the virtual volume according to Thin Provisioning is appropriate Change.
Means for solving the problems
Management will be carried out sorted by multiple storage regions that multiple storage devices provide according to the attribute of storage region Multiple storage region groups.According to logic-oriented roll up in multiple addresses contained at least one address write request, there is provided distribution Multiple logical volumes of contained at least one storage region into the multiple storage region.According in the logical volume The access situation of at least one address, data at least one address will be write from described more by said write request Contained at least one storage region in one of individual storage region group, to other storages contained by the multiple storage region group At least one storage region migration in region group.
Brief description of the drawings
Fig. 1 represents the summary of the embodiment of the present invention 1.
Fig. 2 represents the composition of storage system 103.
Fig. 3 represents the relation of various storage regions in storage system 103.
The information and computer program that Fig. 4 expressions CMPK119 is stored.
Fig. 5 expression layers define the composition of table 401.
Fig. 6 represents the composition of layer-management table 402.
Fig. 7 represents the composition of pond management table 403.
Fig. 8 represents the composition of VVOL management tables 404.
Fig. 9 represents the composition of PVOL management tables 405.
Figure 10 represents the composition of allocation table 407.
Figure 11 represents the composition of actual chunk management table 408.
Figure 12 represents the composition of monitoring form 409.
Figure 13 represents the composition of number of degrees distribution table 410.
Figure 14 represents the composition of migration page table 411.
Figure 15 represents that migration defines the composition of table 412.
Figure 16 represents the flow chart of pond generation processing.
Figure 17 represents that pond defines GUI1700.
Figure 18 represents the flow of VVOL generation processing.
Figure 19 represents VVOL generations GUI1900.
Figure 20 represents the VVOL management tables 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 of presentation of information processing.
Figure 23 represents number of degrees distribution GUI2300.
Figure 24 represents the flow of write-in processing (write-in to cache).
Figure 25 represents the flow handled that degrades.
Figure 26 represents the flow of readout process.
Figure 27 represents monitoring and the summary of the relation reconfigured of I/O frequency.
Figure 28 represents to reconfigure the flow of processing.
Figure 29 expression layers scope determines the summary of processing.
Figure 30 expression layers scope determines the flow of processing.
Figure 31 represents that Figure 30 S4402 middle levels boundary value calculates the flow of processing.
Figure 32 represents the pond management table 4403 involved by embodiments of the invention 5.
Figure 33 represents the flow of the setting processing of comparative approach/comparison other involved by embodiments of the invention 5.
Figure 34 represents to migrate the flow of page table generation processing in Figure 28 S2808.
Figure 35 represents the summary of the migration process of page unit.
Figure 36 represents the flow of the migration process of page unit.
The flow of the exception processes of Figure 37 expression layer threshold values.
Figure 38 represents flow of the threshold value beyond reply processing.
Embodiment
Hereinafter, the viewpoint of aftermentioned multiple embodiments based on the present invention is described.
The > of < viewpoints 1
A kind of control method of storage system, it is characterised in that multiple storages that management will be provided by multiple storage devices Region carries out sorted multiple storage region groups according to the attribute of storage region, according to logic-oriented roll up in institute in multiple addresses Write request containing at least one address, there is provided be assigned to the more of contained at least one storage region in the multiple storage region The individual logical volume, according to the access situation of at least one address in the logical volume, it will ask to write by said write To the data at least one address from one of the multiple storage region group contained at least one memory block Domain, migrated at least one storage region contained by the multiple storage region group in other storage region groups.
The > of < viewpoints 2
The control method of a kind of storage system according to viewpoint 1, it is characterised in that contained in the multiple storage region group First storage region group and the second storage region group have the journey of the access situation corresponding with respective group in each ring Degree is used as attribute, and described first is different for each group with the degree of the access situation of the second storage region group, but It is that a part repeats, it is contained in one of the multiple storage region group described at least one to deposit in the migration process Storage area domain is included in the access shape of in described first or the second storage region group and at least one address In the case that condition is located in the range of part repetition described in the degree of the access situation, moving for the data is not implemented Move.
The > of < viewpoints 3
The storage system that a kind of main frame with more than one is connected, it possesses a variety of physical storage device groups and storage controls Device.The memory control device has a storage resource and controller, the controller and a variety of physical storage device groups, The storage resource and main frame connection.Physical storage device group is made up of more than one physical storage device.It is described A variety of physical storage device groups turn into the foundation of a variety of actual page groups.The species of actual page group is based on the root as actual page group The attribute of the physical storage device group of base.Actual page group has multiple actual pages.The controller is to the master of described more than one Machine provides more than one virtual volume.The virtual volume is the virtual logical volume being made up of multiple virtual pages.The virtual page is Virtual storage region.The actual page is the storage region of entity.Storage resource storage distribution information, monitoring information and Actual page group's management information, wherein, the distribution information is the information for representing to be assigned with which virtual page which actual page, institute The information that monitoring information is I/O (Input/Output) frequency for representing each virtual page is stated, the actual page group management information is Comprising represent the I/O frequency ranges information to every kind of actual page group setting information (can be sheet form or queue form etc., The form of information is any).The controller receives writing commands from the main frame, and write-in purpose is determined according to said write order Ground virtual page, the distribution information is updated, so as to distribute free actual page to identified virtual page, in the reality distributed Write-in object data is preserved in page.The controller according to for virtual page or distribute to the virtual page actual page I/O, Update in the monitoring information, the virtual page I/O frequency.The actual page is the storage region of entity, is stored in reality Physical storage devices of the data Cun Chudao as the foundation of the actual page in page.The controller carries out migration process, and this is moved Shifting processing is to include the processing of following processing (A) to (C):(A) determine that the I/O frequency according to determined by the monitoring information is not inconsistent Close the virtual volume or virtual page of predetermined condition, (B) by be stored in distribute to determined by virtual volume or virtual page, first Data in kind of actual page group in the first actual page, move to the second actual page in second of actual page group, described in (C) renewal Information is distributed, so as to substitute first actual page virtual to first actual page distribution destination with second actual page Page, i.e. the first virtual page are allocated.The predetermined condition refers to the I/O frequency ranges for including the first actual page group. Second of actual page group is that I/O frequency ranges are included by virtual volume determined by (A) or the I/O of virtual page frequencies The actual page group of degree.The controller carries out the decision processing of I/O frequency ranges, in decision processing, the controller base The I/O frequency ranges of various actual page groups are determined in the monitoring information.Controller can for example have at least one processor. Storage resource for example can be memory.Main frame can be computer, or other storage systems or others are deposited Store up control device.
Thereby, it is possible to reconfigure the data in virtual volume with page unit according to the I/O frequency of virtual page.At that time, energy It is enough by data configuration the I/O frequency with including the virtual page for being assigned the actual page for preserving the data I/O frequency ranges In the actual page group of corresponding species.
The > of < viewpoints 4
A kind of storage system according to viewpoint 3, the controller carried out in decision processing following processing (a) and (b):
(a) I/O frequency and information, the i.e. relation information of the relation of virtual number of pages are represented using the monitoring information generation,
(b) the I/O frequency ranges of various actual page groups are determined based on the relation information.
The > of < viewpoints 5
A kind of storage system according to viewpoint 4, the controller carry out following processing (b1) extremely in the processing (b) (b3):
(b1) use the relation information, calculate from a variety of actual page groups be assigned to actual page more than one is virtual The total of the I/O frequency of all virtual pages, i.e. I/O frequency add up in volume,
(b2) ratio and the I/O frequency of the performance number based on various actual page groups add up to, for each of actual page group I/O frequency, the i.e. boundary value on the border of feature modeling actual page group,
(b3) boundary value on each border of I/O frequency and actual page group based on various actual page groups, determines various realities The I/O frequency ranges of border page group.
The performance number of actual page group is the attribute of the physical storage device group based on the foundation as actual page group Determine and performance-relevant value.The border of the actual page group refers to actual page group and its upper and/or the next reality The boundary of page group.The maximum and/or minimum value of the I/O frequency ranges of various actual page groups be based on actual page group with The value that the boundary value of the boundary of its upper and/or the next actual page group determines.
The > of < viewpoints 6
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 5, the maximum of the I/O frequency ranges are more than The boundary value of a larger side corresponding with the I/O frequency ranges, and/or, the minimum value of the I/O frequency ranges is less than and this The boundary value of a smaller side corresponding to I/O frequency ranges.
The > of < viewpoints 7
It is a kind of according to viewpoint 3 or the storage system of viewpoint 4, the performance number of actual page group is by actual page group In, each interior reality of quantity and actual page group of actual page that move target ground in the migration process can be turned into The value that the multiplying of the performance number of page calculates.The performance number of each actual page is to be based on being used as the reality in actual page group The attribute of the physical storage device group of the foundation of page group determines and performance-relevant value.
The > of < viewpoints 8
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 7, the controller enter in decision processing Row is following to be handled:
(a) use the monitoring information, calculate from a variety of actual page groups be assigned to actual page more than one is virtual The total of the I/O frequency of all virtual pages, i.e. I/O frequency add up in volume,
(b) ratio and the I/O frequency of the performance number based on various actual page groups add up to, for each side of actual page group Boundary calculates I/O frequency, the i.e. boundary value on the border of actual page group,
(c) boundary value on each border of I/O frequency and actual page group based on various actual page groups, determines various reality The I/O frequency ranges of page group.
The performance number of actual page group is the attribute of the physical storage device group based on the foundation as actual page group Determine and performance-relevant value.The border of the actual page group refers to actual page group and its upper and/or the next reality The boundary of page group.The maximum and/or minimum value of the I/O frequency ranges of various actual page groups be based on actual page group with The value that the boundary value of the boundary of its upper and/or the next actual page group determines.
The > of < viewpoints 9
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 8, the controller enter in decision processing The following processing (d) and (e) of row:
(d) assume to distribute in the actual page of all virtual pages for the I/O frequency ranges that I/O frequency includes actual page group Data Elements have been migrated in actual page group, judge whether the use ratio of actual page group exceeds the ratio of actual page group Example threshold value,
(e) result judged in (d) is in the case of negatory, the I/O frequency ranges determined is included In the actual page group management information.
The use ratio of actual page group refers to the quantity for the actual page for distributing to virtual page relative to the composition reality The ratio of the quantity of the actual page of page group.The proportion threshold value of the actual page group refers to the threshold value of the use ratio.
Thereby, it is possible to judge whether I/O frequency ranges are suitable.
The > of < viewpoints 10
A kind of storage system according to viewpoint 9, the controller also carry out following processing (f) in decision processing:
(f) in the case that the result judged in (d) is certainty, I/O frequency ranges are modified to actual page Size of the use ratio of group without departing from the proportion threshold value of actual page group.
The > of < viewpoints 11
A kind of storage system according to viewpoint 10, the controller also carry out following processing (g) in decision processing:
(g) revised I/O frequency ranges are included in the actual page group management information.
The > of < viewpoints 12
The storage system of a kind of any viewpoint according to viewpoint 3 to viewpoint 11, according to determined by the monitoring information, void The I/O frequency for intending volume either virtual page refers to the virtual volume or virtual page, I/O frequencies included in the monitoring information Degree.
The > of < viewpoints 13
The storage system of a kind of any viewpoint according to viewpoint 3 to viewpoint 12, according to determined by the monitoring information, void The I/O frequency for intending volume or virtual page refers to I/O frequencies in the monitoring information, with other virtual volumes outside the virtual volume The relative value of the I/O frequency of other virtual pages beyond degree or the virtual page.
The > of < viewpoints 14
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 12, the controller receive to make in (A) I/O frequency is the instruction of absolute value or relative value.The I/O frequency in (A) is set to be specifying for absolute value receiving In the case of, according to determined by the monitoring information, the I/O frequency of virtual volume either virtual page refer to the virtual volume or virtual Page, included in it is described monitoring information in I/O frequency.Receiving I/O frequency the specifying for relative value in making (A) In the case of, according to determined by the monitoring information, the I/O frequency of virtual volume or virtual page refers in the monitoring information , phase with the I/O frequency of other virtual pages beyond the I/O frequency of other virtual volumes outside the virtual volume or the virtual page To value.
The > of < viewpoints 15
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 14, the I/O frequency in (A) is certain time I/O numbers be averaged.
The > of < viewpoints 16
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 14, the I/O frequency in (A) are and some time Between band multiple times respectively corresponding to I/O numbers maximum in multiple I/O numbers.
The > of < viewpoints 17
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 14, the controller receive to make in (A) I/O frequency is the specified of averagely I/O numbers or maximum I/O numbers.The I/O frequency in (A) is set to be average I/O numbers receiving Specify in the case of, the I/O frequency in (A) is being averaged for the I/O numbers of certain time.In receiving and making (A) I/O frequency for maximum I/O numbers specify in the case of, the I/O frequency in (A) be and multiple times of certain time-bands distinguish Maximum I/O numbers in corresponding multiple I/O numbers.
The > of < viewpoints 18
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 17, the controller receive I/O from the main frame Order, I/O destinations virtual page is determined according to the I/O orders.The controller is virtual for distributing to the I/O destinations The actual page of page carries out I/O being updated in the case of I/O in the monitoring information, corresponding with I/O destinations virtual page Frequency, and the monitoring is not updated in the case where not being directed to the actual page for distributing to I/O destinations virtual page and carrying out I/O I/O frequency in information, corresponding with I/O destinations virtual page.
Thereby, it is possible to only in the case where having carried out I/O for actual page renewal be assigned the virtual page of the actual page I/O frequency.
The > of < viewpoints 19
A kind of storage system according to viewpoint 18, the storage resource storage state is the monitoring information of activation and state is Standby monitoring information is as the monitoring information.The controller updates the I/O frequency in the monitoring information of the activation.Institute State controller monitoring information based on the activation in the migration process and determine first virtual page, and treated described The state of the monitoring information of machine is changed to activate from standby, and then, actual page is carried out according to the I/O orders for determining virtual page In the case of I/O, the controller more new state is changed to the I/ of virtual page in the monitoring information of activation, this is determined O frequency.
Thus, even if also can continue to the monitoring (renewal) of I/O frequency when carrying out above-mentioned migration process.
The > of < viewpoints 20
A kind of storage system according to viewpoint 4, the controller export the relation information so that the relation of the generation Information is shown.The controller starts the migration process when receiving the instruction for starting migration.
The > of < viewpoints 21
A kind of storage system according to any viewpoint into viewpoint 20 of viewpoint 3, the controller is in first actual number Start the migration process in the case of exceeding predetermined proportion threshold value according to the use ratio of group.
Therefore, the first real data group use ratio beyond predetermined ratio threshold value in the case of, pass through institute Stating migration process can expect that free actual page increased in the first real data group.
The > of < viewpoints 22
A kind of storage system according to any viewpoint into viewpoint 21 of viewpoint 3, the first real data group is most upper The real data group of position.The controller must be from the first real data group to according to determined by said write order Write destination virtual page distribution actual page.
The > of < viewpoints 23
A kind of storage system according to any viewpoint into viewpoint 22 of viewpoint 3, distributing to all realities of the virtual volume In the case that actual page in the page of border more than predetermined ratio is present in certain actual page group, the controller will distribute to the void The data intended in the actual page in the actual page group of the species beyond in all actual pages of volume, described certain actual page groups are moved The actual page moved on in certain actual page group.
Thereby, it is possible to the configuration state of the data according to virtual volume, in the reality for the species for being thought of as being adapted to the virtual volume Collect the data in the virtual volume in page group.
The > of < viewpoints 24
A kind of storage system according to viewpoint 23, move to distribute to after the actual page in certain actual page group it is described Actual page in always described certain actual page group of the actual page of virtual page.
Thus, after by migration process combined data, from certain actual page group to second virtual volume point With actual page.
The > of < viewpoints 25
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 24, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and is not starting to from described the Data Migration from one actual page to second actual page in the case of the migration cancelled, into second of actual page group Actual page write data according to said write order, and the distribution information is updated, so as to real with the write-in destination Border page substitutes first actual page to distribute to first virtual page.
Due to data move target is write before migration actual page group, therefore empty for the write-in destination of the data Intend page, can be without migration.
The > of < viewpoints 26
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 25, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and is not starting to from described the Data Migration from one actual page to second actual page in the case of, to first actual page write-in according to said write order The data of order, then, (A) described in progress and (B).
The > of < viewpoints 27
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 26, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and actual just from described first Page is to cancelling the migration in the case of the second actual page migrating data, the actual page into second of actual page group The data according to said write order are write, and update the distribution information, so as to the write-in destination actual page substitution First actual page distributes to first virtual page.
The > of < viewpoints 28
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 26, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and actual just from described first Page writes the number according to said write order in the case of the second actual page migrating data to first actual page According to then, restarting the Data Migration of the actual page from first actual page into second of actual page group.
The > of < viewpoints 29
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 26, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and actual just from described first Page is in the case of the second actual page migrating data, after the migration terminates, according to the distribution information to described second Actual page writes the data according to said write order.
The > of < viewpoints 30
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 26, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and actual just from described first Page in the case of the second actual page migrating data, to first actual page and the second actual page both sides write-in according to According to the data of said write order.
The > of < viewpoints 31
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 30, the controller migrate in the page unit Processing receives the writing commands for determining first virtual page from the main frame after starting, and is tied at (A) and (B) In the case of beam, according to the distribution information, the data according to said write order are write to second actual page.
The > of < viewpoints 32
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 31, first virtual page have carried out I/O Newest moment, i.e. final I/O moment meet the virtual page of predetermined condition.
The > of < viewpoints 33
A kind of storage system according to viewpoint 32, the predetermined condition refer to the final I/O moment be current time before mistake Go the time of more than the scheduled time.Second of actual page group is the actual page more the next than the first actual page group Group.
The > of < viewpoints 34
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 33, first virtual page are occurred according to suitable The I/O of sequence access virtual page.Second of actual page group is the actual page group more the next than the first actual page group.
The > of < viewpoints 35
A kind of storage system of any viewpoint according to viewpoint 3 to viewpoint 34, the controller is only in predetermined time-bands Carry out the renewal of the monitoring information.The controller preserves the monitoring information in every process scheduled time band.Described One virtual page is the void that the I/O frequency according to determined by monitoring information corresponding with appointed time-bands is not suitable for predetermined condition Intend page.
The > of < viewpoints 36
A kind of memory control device for the storage system being connected with main frame, it has storage resource and controller, the control Device processed is connected with the storage resource and the main frame.The controller provides more than one to the main frame of described more than one Virtual volume.The virtual volume is the virtual logical volume being made up of multiple virtual pages.The virtual page is virtual storage region. The actual page is the storage region of entity.Storage resource storage distribution information, monitoring information and the actual page group manage letter Breath, wherein, the distribution information is the information for representing to be assigned with which virtual page which actual page, and the monitoring information is table Show the information of I/O (Input/Output) frequency of each virtual page, the actual page group management information is to every kind of comprising expression The information of the I/O frequency ranges information of actual page group setting.The controller receives writing commands from the main frame, according to described Writing commands determine write-in destination virtual page, update the distribution information, so as to identified virtual page from a variety of reality Some in page group distributes free actual page, and write-in object data is preserved in the actual page distributed.The controller According to the I/O for virtual page or the actual page for distributing to the virtual page, update in the monitoring information, the virtual page I/O frequency.The actual page is the storage region of entity.Actual page group has multiple actual pages.The controller is migrated Processing, the migration process are to include the processing of following processing (A) to (C):(A) I/ according to determined by the monitoring information is determined O frequency does not meet the virtual volume or virtual page of predetermined condition, and (B), which will be stored in, distributes to identified virtual volume or virtual Page, data in the first actual page group in the first actual page, move to the second actual page in second of actual page group, (C) the distribution information is updated, so as to substitute first actual page to first actual page point with second actual page It is allocated with destination virtual page, i.e. the first virtual page.The predetermined condition refers to include the first actual page group's I/O frequency ranges.Second of actual page group be I/O frequency ranges include by virtual volume determined by (A) or The actual page group of the I/O frequency of virtual page.The controller carries out the decision processing of I/O frequency ranges, in decision processing, The controller determines the I/O frequency ranges of various actual page groups based on the monitoring information.
Above-mentioned viewpoint 1 and 2 is the viewpoint by taking the control method of storage system as an example, and viewpoint 3 to 35 is to be to store Viewpoint exemplified by system, viewpoint 36 are the viewpoints by taking memory control device as an example, they any one of viewpoint can be into For the control method of storage system, memory control device, storage controlling method, storage system or memory control device, storage System either memory control device, computer program (such as store the computer program of control or in storage system or The computer program performed in person's memory control device) at least one viewpoint.
Hereinafter, with reference to the accompanying drawings of the storage system being related in the multiple embodiments of the present invention.It should be noted that following Explanation in, there is a situation where to represent object by title and ID combination substitution reference marks.For example, in logical volume by reference In the case that symbol 500 represents, it is expressed as " logical volume 500 ", in the case where expression ID is 00 logical volume, being expressed as " patrolling Collect volume #00 ".In addition, the data being stored in an actual page are hereinafter referred to as " Data Elements ".Additionally, there are to preserve Come in the Data Elements in distributing to the actual page of virtual page with " Data Elements in virtual page " or similar expression The situation of expression.
Embodiment 1
Fig. 1 represents the summary of the embodiment of the present invention 1.
Host apparatus (hereinafter referred to as main frame) 101 is connected with storage system 103.Main frame 101 can be for one or more Platform.Storage system 103 provides virtual volume (hereinafter referred to as VVOL (Virtual VOLume)) 203 to main frame 101, has a variety of layers (tier)303。
VVOL203 is the virtual logical volume according to Thin Provisioning, i.e., not with physical storage device (hereinafter referred to as Make PDEV) be foundation logical volume.VVOL203 is made up of multiple virtual pages 207.Virtual page 207 is virtual storage region.If One VVOL#00 is as VVOL203.Hereinafter, the virtual page #b in VVOL#a is expressed as " virtual page # (a-b) ".Thin Provisioning VVOL203 is provided to main frame 101 as with the logical volume of virtual capacity, according to from main frame 101 to Actual page is assigned in the write request of address with virtual page.Therefore, remove to meet virtual capacity and be assigned The state of actual page, the total capacity for distributing to a certain VVOL203 all actual pages are less than virtual capacity.One VVOL203 quilt The main frame 101 of more than one is supplied to, in the case where being supplied to multiple host 101, is shared by these multiple hosts 101.
Layer 303 is made up of multiple actual pages 209.Actual page 209 is the storage region of entity.For example, set layer #01 and #02 The two layers are as layer 303.Hereinafter, the actual page #d in layer #c is expressed as " actual page # (c-d) ".Moreover, 303, layer It can be such as made up of more than one actual roll up (hereinafter referred to as RVOL (Real VOLume)).RVOL is the logical volume of entity, i.e., with PDEV is the logical volume of foundation.Each layer of multiple layers 303 in one pond before Data Migration in the state of be set to Utilized by one or more VVOL203.
Main frame 101 is typically computer, also can substitute computer by other storage systems.Main frame 101 to storage be System 103 sends such as I/O (Input/Output) orders.I/O orders are, for example, writing commands or read-out command, have I/O Destination information.I/O destination informations are the information for representing I/O destinations, such as ID (such as the LUN including VVOL203 (Logical Unit Number:LUN)) and I/O destinations address (such as LBA (Logical Block Address:Logical block address)).I/O destinations VVOL203 and virtual page 207 can determine according to I/O destination informations.
If storage system 103 receives writing commands from main frame 101, and is based on I/O destinations possessed by the writing commands Virtual page # (00-C) is defined as writing destination by information.If identified some unassigned reality of virtual page # (00-C) Border page 209, then storage system 103 to the virtual page 207 distribution some freely (unallocated state) actual page # (01-D), Write-in object data key element of the write-in according to writing commands in the actual page # (01-D) distributed.
In the present embodiment, Data Migration is carried out with page unit.Specifically, such as shown in figure 1, storage system 103 is carried out Following processing:
* the Data Elements in the actual page # (01-D) for distributing to virtual page # (00-C) are moved into freely (unallocated shape State) actual page # (02-E)
* virtual page # (00-C) distribution source is changed to actual page # (02-E) from actual page # (01-D)
* actual page # (01-D) state is updated to freely (unallocated state)
Whether carry out Data Migration and by move target strata arrangement be which layer be based on layer scope described later come Determine.Layer scope determines in an automatic fashion.
Hereinafter, embodiment 1 is described in detail.
Fig. 2 represents the composition of storage system 103.
Storage system 103 have multiple PDEV105, with multiple PDEV105 memory control devices being connected and power supply list Member 100.
Multiple PDEV105 include a variety of PDEV, such as SSD (Solid State Drive:Solid-state drive) and HDD (Hard Disk Drive:Hard disk drive).HDD has HDD-FC (Fibre Channel:Optical-fibre channel), HDD-SATA (Serial ATA:Serial ATA) and HDD-SAS (Serial Attached SCSI:Serial Attached SCSI (SAS)) etc..
Multiple CMPK (cache encapsulation that memory control device has controller and is connected with controller:Cache Memory Package)119.Controller has multiple CHA (channel adapters:Channel Adapter) 111, multiple DKA (disc adapter:Disk Adapter) 113, multiple MPPK (microprocessor packages:MicroProcessor Package)121、 And SW (switches:Switch)117.From the viewpoint of redundant, CHA111, DKA113, MPPK121, SW117 and power supply Unit 100 is respectively present multiple, but the quantity of at least one of they is not limited to shown in the drawings 2, than more than 2 or lacks. CMPK119 quantity is more than 2.
Power subsystem 100 by based on the electric power from source power supply electric power be supplied to it is each encapsulation 119,111,113,121 with And 117.
CHA111 is the interface arrangement being connected with main frame 101.CHA111 from main frame 101 receive I/O orders (writing commands or Person's read-out command), and some the I/O orders received being transmitted in multiple MPPK121.
CHA111 has protocol chip 112 and LR (Local Router:Local router) 114.Protocol chip 112 is carried out Protocol conversion for the communication with main frame 101.The I/O orders received are transmitted to being had according to the I/O orders by LR114 I/O destination informations determine I/O destinations corresponding to MPPK121.
DKA113 is the interface arrangement being connected with HDD105.DKA113 reads data from HDD105 and is transmitted to CMPK119 DRAM (Dynamic Random Access Memory:Dynamic random access memory), or come to HDD105 write-ins CMPK119 data.
MPPK121 is that have one or more MP (microprocessor:MicroProcessor device).MP processing comes from CHA111 I/O orders.
Multiple encapsulation, i.e. CHA111, DKA113, CMPK119 and MPPK121 are connected with SW117.SW117 controls PK (encapsulation:Package the connection between).
CMPK119 has volatile memory and/or nonvolatile memory.There is temporarily storage in CMPK119 Such as virtual page 207 (actual page 209) I/O object Data Elements storage region (hereinafter referred to as at a high speed Its abbreviation is CM by caching).In addition, there is the storage region for storing various information and computer program in CMPK119. On information and computer program, will be described below.
Managing device 107 is connected with storage system 103.Managing device 107 is, for example, to have display device and input The computer of device.Manager can carry out various settings from managing device 107 to storage system 103.
Fig. 3 represents the relation of various storage regions in storage system 103.
As shown in figure 3, from bottom to upper, more than one RG301, more than one pond 201, more than one is managed VVOL203。
RG301 is RAID groups (group) abbreviation.One RG301 is made up of same kind of PDEV.PDEV species example Such as defined by least one of performance and unit cost.Performance refers to the I/O of such as data speed or the response time (from the time span received by main frame untill return response is played in order).Unit cost is to preserve unit-sized (size) Price (such as so-called bit cost) needed for data.For example, RG#00 is made up of multiple SSD, RG#01 is by multiple HDD-SAS Form, RG#02 is made up of multiple HDD-SATA.Moreover, the capacity for forming a RG multiple PDEV is, for example, identical.
Pond 201 is the set of actual page 207.Specifically, for example, pond 201 is made up of more than one RVOL205, respectively RVOL205 is made up of more than one actual page 207.Hereinafter, for the RVOL in composition pond 201, pond VOL is omitted into earth's surface It is shown as " PVOL ".
The actual page 207 for forming a pond 201 has carried out stratification.That is, multiple layers 303 be present in a pond 201.Layer 303 for example exist in every kind of RVOL.For example, according to Fig. 3, because RVOL species is 3 kinds, therefore the quantity of layer 303 is also 3.Therefore, a layer 303 includes the RVOL205 of species corresponding with this layer.Specifically, for example, layer #00 is this species of SSD, RVOL based on the RG301 being made up of SSD belongs to a layer #00, and layer #01 is this species of HDD-SAS, based on being made up of HDD-SAS RG301 RVOL belong to a layer #01, layer #03 is this species of HDD-SATA, based on the RG301's being made up of HDD-SATA RVOL belongs to a layer #03.Moreover, layer 303 is not necessarily closely configured for every kind of RVOL, the RG's based on similar kind is more Individual RVOL205 can belong to same layer 303.
VVOL203 is associated with the pond 201 for turning into distribution source in more than one pond 201.In addition, VVOL203 and selection Can be associated as the layer (hereinafter referred to as Distribution Layer) 303 that distribution source uses in the pond 201 gone out.In addition, more than one distribution One of 303 layer 303 by default of layer is associated with VVOL203.According to Fig. 3, VVOL#01 Distribution Layer is layer #00 and # 02。
In addition, according to above-mentioned explanation, for multiple RVOL, as long as they belong to same layer, then foundation be present is One RG possibility, but if they are belonging respectively to different layers, then it is different as the RG of foundation.Pair with it is same In the case that multiple virtual pages of one or more associated VVOL203 of layer 303 are sequentially allocated multiple actual pages, preferably across The more RG associated with this layer 303 selects actual page successively.Specifically, more from multiple RVOL205 selections contained by the layer 303 In the case of individual actual page, it is contemplated that the relation with RG, select actual page successively from different RG successively.Thereby, it is possible to improve Access performance.
The information and computer program that Fig. 4 expressions CMPK119 is stored.It should be noted that in the present embodiment, adopt By the use of table as information example, but information can also be the form (such as queue form) beyond table.
CMPK119 accumulation layers define table 401, layer-management table 402, pond management table 403, VVOL management table 404, PVOL management Table 405, allocation table 407, actual chunk management table 408, monitoring form 409, number of degrees distribution table 410, migration page table 411 and migration are fixed Adopted table 412 is used as information.In addition, CMPK119 storage control UI (User Interface:User interface) program be UI controls Program 413, control I/O program are I/O control programs 414 and the program reconfigured i.e. reconfiguration procedure 415 As computer program.Moreover, at least one in these tables and computer program can also be stored in beyond CMPK119 Storage resource.For example, at least one computer program and/or migration page table 411 can be stored in the storage in MPPK121 In device.
Illustrate each table below.It should be noted that in the following description, object is determined using ID, but can also Substitute ID or on its basis, determined using at least one in title and numbering.
Fig. 5 expression layers define the composition of table 401.
Layer definition table 401 is the table of the definition of expression layer.Specifically, for example, table 401 represents RVOL species and layer ID pass System.According to table 401, as layer corresponding with RVOL species " SSD ", prepare to be attached with " 00 " this ID layer.
Fig. 6 represents the composition of layer-management table 402.
Layer-management table 402 is the table for managing the information related to layer.Specifically, for example, table 402 has for every layer Pond ID, layer ID, layer scope, PVOL ID, layer threshold value, use ratio, actual page ID.With a layer (below, in Fig. 6 explanation Referred to as " object layer ") exemplified by, 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, turn into the PDEV of the foundation for the PVOL for belonging to object layer species quilt Uniquely determine.
* " layer scope " is the scope of the load (such as I/O frequency) for the actual page that be present in object layer.
* " PVOL ID " are the ID for the PVOL for belonging to object layer.
* " layer threshold value " is the threshold value of the use ratio of object layer.
* " use ratio " is the use ratio of object layer, i.e., the quantity of allocated actual page is relative to composition object layer Actual page quantity ratio.
* " actual page ID " is the ID for all actual pages for belonging to object layer.
According to the example of Fig. 6 table 402, layer threshold value is set for every layer, but can also be replaced, right One pond sets a layer threshold value, and a layer is common for all layers possessed by a pond.
Fig. 7 represents the composition of pond management table 403.
Pond management table 403 is the table for managing the information related to pond.Specifically, for example, table 403 has for each pond There are pond ID, stratification, reconfigure, perform automatically, reconfigure the execution cycle, reconfigure execution moment, monitoring time-bands And pond state.By taking a pond (following, to be referred to as " object pool " in Fig. 7 explanation) as an example, these information elements are specific as follows.
* " pond ID " is the ID of object pool.
* " stratification " is whether to carry out stratification to the actual page in object pool." ON " means to carry out stratification (i.e., Multiple layers are provided with object pool), " OFF " means without stratification (i.e., not setting layer in object pool).
* " reconfigure " and be whether to reconfigure the Data Elements in object pool." ON " means to carry out again Configuration, " OFF " means without reconfiguring.In the case of " ON ", the VVOL or its virtual page of object pool are assigned to I/O frequency comes under observation, and in the case of " OFF ", is assigned to the VVOL of object pool or the I/O frequency of its virtual page is not supervised Depending on.Monitoring on I/O frequency, it is important that if actual not to distributing to I/O destinations VVOL or virtual page reality Page carries out I/O, then I/O frequency is not updated, and when the actual page to the distribution carries out I/O, I/O frequency is updated.This Point will also illustrate when write-in processing and readout process is addressed below.
* " automatic to perform " is that the reconfiguring for Data Elements in object pool automatically begins to or started manually.“ON” Mean to reconfigure and start in an automated fashion, " OFF " is meaned to reconfigure and started with manual form.
* it is the cycle reconfigured for carrying out the Data Elements in object pool " to reconfigure and perform the cycle ".For example, " 1 Day " means that every 1 day (24 hours) proceed by and reconfigured.
* it is to start at the time of the reconfiguring of Data Elements in object pool " to reconfigure and perform the moment ".
* " monitoring time-bands " are that the I/O frequency for distributing to the actual page for the VVOL for being assigned to object pool is monitored Time-bands.
* " pond state " is the state of object pool.As the value of " pond state ", for example, have " in monitoring ", " in reconfiguring ", " in non-monitoring ".Mean monitoring the VVOL for the being assigned to object pool or I/O of the virtual page in the VVOL " in monitoring " Frequency, and reconfiguring without progress Data Elements.Mean to carry out Data Elements again " in reconfiguring " Configure (can be reconfiguring in object pool or the reconfiguring to the Data Elements in other ponds from object pool). Mean " in non-monitoring " neither monitoring I/O frequency nor carrying out reconfiguring for Data Elements.
Fig. 8 represents the composition of VVOL management tables 404.
VVOL management table 404 is the table for managing the information related to VVOL.Specifically, table 404 is directed to each VVOL With VVOL ID, PVOL ID, Distribution Layer ID, acquiescence layer ID, capacity, reconfigure, perform automatically, reconfigure and perform week Phase, reconfigure execution moment and monitoring time-bands.In these information elements, reconfigure, perform automatically, reconfiguring and hold In the row cycle, reconfigure the execution moment and monitor that time-bands are identical with the information element in pond management table 403, but if should The value of information element (such as " reconfiguring ") in table 404 with the identical information key element in pond management table 403 (such as " again Configuration ") value it is different, then value that can preferentially in the table 404.That is, will for a pond set information in managing table 403 in pond The value of element, as a result, value reflection can be made to be directed to each to for being assigned in all VVOL setting in the pond VVOL is set.If not being directed to the special setting values of VVOL, it should be used as and be directed to for the value for the pond setting for distributing to the VVOL The value of the VVOL.By taking a VVOL (following, be referred to as in Fig. 8 explanation " object VVOL ") as an example, the above- mentioned information in the table 404 Key element is specific as follows.
* " VVOL ID " are object VVOL ID.
* " PVOL ID " are allocated to the ID in object VVOL pond (hereinafter referred to as distributing reservoir).
* " Distribution Layer ID " is allocated to the ID of the layer of the object VVOL in multiple layers possessed by distributing reservoir.From Distribution Layer Virtual page distribution actual page into object VVOL.
* " acquiescence layer ID " is the ID for giving tacit consent to layer.Acquiescence layer, which refers to turn into, to be initially allocated to as the write-in mesh from main frame 101 Ground virtual page actual page offer source layer.
* " capacity " is object VVOL capacity.
* " reconfigure " and be whether to reconfigure the Data Elements in object VVOL." ON " means to carry out weight New configuration, " OFF " means without reconfiguring.In the case of " ON ", the I/O frequency of object VVOL or its virtual page by To monitoring, in the case of " OFF ", the I/O frequency of object VVOL or its virtual page is not monitored.
* " automatic to perform " is that the reconfiguring for Data Elements in object VVOL automatically begins to or started manually. " ON " means to reconfigure and started in an automated fashion, and " OFF " is meaned to reconfigure and started with manual form.
* it is the cycle reconfigured for carrying out the Data Elements in object VVOL " to reconfigure and perform the cycle ".
* it is to start at the time of the reconfiguring of Data Elements in object VVOL " to reconfigure and perform the moment ".
* " monitoring time-bands " are the time-bands monitored to object VVOL or virtual page I/O frequency.
Fig. 9 represents the composition of PVOL management tables 405.
PVOL management table 405 is the table for managing the information related to PVOL.Specifically, for example, table 405 is for each PVOL has RG ID, PDEV ID, species, PVOL ID and capacity.(below, it is referred to as with a PVOL in Fig. 9 explanation " object PVOL ") exemplified by, these information elements are specific as follows.
* " RG ID " are the ID as the RG of object PVOL foundation.
* " PDEV ID " are composed as the RG of object PVOL foundation all PDEV ID.
* " species " is object PVOL species.This is identical with the PDEV of the foundation as object PVOL species.For example, RVOL species is also " SSD " if " SSD ", then object PVOL species.
* " PVOL ID " are object PVOL ID.
* " capacity " is object PVOL capacity.
Figure 10 represents the composition of allocation table 407.
Allocation table 407 is the table for representing to be assigned with which virtual page which actual page.Specifically, for example, table 407 is directed to Each virtual page has VVOL ID, virtual page ID, pond ID, actual page ID and layer ID.With a virtual page (it is following, Figure 10's It is referred to as " object virtual page " in explanation) exemplified by, these information elements are specific as follows.
* " VVOL ID " are the ID of the VVOL with object virtual page.
* " virtual page ID " is the ID of object virtual page.
* " pond ID " is allocated to the ID in the pond of the VVOL with object virtual page.
* " actual page ID " is allocated to the ID of the actual page of object virtual page.
* " layer ID " is the ID of the layer with the actual page for distributing to object virtual page.
Figure 11 represents the composition of actual chunk management table 408.
Actual chunk management table 408 is the table for managing the state of each actual page.Specifically, for example, table 408 is for each Actual page has pond ID, actual page ID and state.With an actual page, (following, referred to as " object is actual in Figure 11 explanation Page ") exemplified by, 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 there are " in use " and " freedom "." use In " mean that object actual page is already allocated to some virtual page." freedom " means following state:Object actual page is not divided Any one virtual page of dispensing, therefore any one virtual page can be allocated.
Figure 12 represents the composition of monitoring form 409.
Monitoring form 409 is present in each VVOL.Table 409 is the table for the I/O frequency for representing virtual page.With a VVOL (with Under, be referred to as in Figure 12 explanation " object VVOL ") exemplified by, illustrate table 409.
Table 409 it is specific for example for each virtual page have VVOL ID, virtual page ID, total I/O numbers, average I/O numbers, Maximum I/O numbers and final I/O moment.By taking a virtual page (following, to be referred to as " object virtual page " in Figure 12 explanation) as an example, These information elements are specific as follows.
* " VVOL ID " are 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 numbers " is the I/O carried out in monitoring time-bands to object virtual page quantity.
* " average I/O numbers " is the value calculated by the value divided by the scheduled time of " total I/O numbers ".
* " maximum I/O numbers " is that multiple I/O numbers (are directed to object virtual page in the multiple time-bands for form monitoring time-bands I/O numbers) in maximum I/O numbers.
* " final I/O moment " is the newest moment that I/O has been carried out to object virtual page.
Table 409 is present such as two (also can more than two).Two tables 409 are used alternatingly.Specifically, for example, performing In the case of reconfiguring, using the table 409 on the monitoring time-bands near the execution moment point, migration page described later is generated Table 411, and another table 409 is used, carry out the monitoring of I/O frequency.In the following description, the table that will be used sometimes 409 are referred to as the table 409 for activating (active), by untapped table 409 referred to as standby (stand-by) table 409.
Figure 13 represents the composition of number of degrees distribution table 410.
Number of degrees distribution table 410 is the table for representing that I/O numbers are related to virtual number of pages.The table 410 is given birth to based on monitoring form 409 Into.As I/O numbers, can use at least one in total I/O numbers, average I/O numbers and maximum I/O numbers in above-mentioned table 409. Figure 13 is the example using average I/O numbers.That is, the table 410 shown in Figure 13 represents the quantity of the virtual page of different average I/O numbers. It can be seen from Figure 13, average I/O numbers are that the quantity of the virtual page of " 0 " is " 561 ".The table 410 (or generated based on the table 410 Figure) be shown in managing device 107.Manager can manually indicate storage based on table 401 (or figure based on it) System 103 starts reconfiguring for Data Elements.
Number of degrees distribution table 410 can update with the renewal of monitoring form 409, also can show the number of degrees point being instructed from manager Generated during cloth based on table 409.
Figure 14 represents the composition of migration page table 411.
Migration page table 411 is the table generated when carrying out the Data Migration of page unit based on monitoring form 409.Table 411 represents to move The relation in shifting source and move target ground.Specifically, for example, table 411 is directed to each virtual page as migrating objects with virtual Page ID, migration active layer ID, move target stratum ID and transition state.(below, claimed with a virtual page in Figure 14 explanation Make " object virtual page ") exemplified by, 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) for distributing to object virtual page.
* " move target stratum ID " is the ID of the layer on the move target ground as Data Elements.Move target ground actual page It is the free actual page of some in the layer.
* " transition state " is the state on the migration of object virtual page.As the value of " transition state ", such as with " having moved ", " in migration " and " not migrating "." having moved " mean from migration source actual page into move target stratum certain One actual page migrates Data Elements.Mean " in migration " from migration source actual page into move target stratum it is a certain Individual actual page is just in migrating data key element." not migrating " means from migration source actual page some reality into move target stratum Border page not yet starts migrating data key element.
Moreover, migration page table 411 can substitute virtual page ID or have on its basis related to migration source other The information element of species.For example, the ID for distributing to the actual page of virtual page may be embodied in table 411.
In addition, migration page table 411 can substitute move target stratum ID or have on its basis with move target The information element of related other species.For example, it can be determined based on table 402 (Fig. 6) and 408 (Figure 11) in move target stratum Free actual page, the ID of the actual page determined is included in table 411.At that time, the state for the actual page determined can " in use " (or other states (such as " reservation ") are updated to from " freedom ".
Figure 15 represents that migration defines the composition of table 412.
Migration defines table 412 and represents the definition relevant with migration for each VVOL.Specifically, table 412 is directed to each VVOL With VVOL ID, layer maintenance, Distribution Layer ID and preserve threshold value.With a VVOL, (following, it is " right to be referred to as in Figure 15 explanation As VVOL ") exemplified by, these information elements are specific as follows.
* " VVOL ID " are object VVOL ID.
* " Distribution Layer ID " is the ID of object VVOL Distribution Layer.
* " preservation threshold value " is the threshold value of the preservation ratio of Distribution Layer.The threshold value is set for each Distribution Layer.For " protecting Deposit ratio ", if for a Distribution Layer (following, to be referred to as " object Distribution Layer " in the explanation of the paragraph), then it is as follows It is described.That is, preservation ratio is that the Data Elements of much degree ratios in all Data Elements in object VVOL have been stored in object In Distribution Layer.
According to the example of Figure 15 table 412, preserve threshold value and set for each layer, but can also replace, for One pond sets a preservation threshold value, and a layer is common for all layers possessed by a pond.
Illustrate the processing carried out in the present embodiment below.It should be noted that in the following description, computer program institute The processing of progress is actually that the MP (microprocessor) for performing computer program is being carried out.MP is located at MPPK121 (reference picture 2) In.
The generation > in < ponds
Figure 16 represents the flow of pond generation processing.It should be noted that in the generation > in < ponds explanation, the pond will be passed through Generation handles newly-generated pond and is referred to as " object pool ".
(S1601)
UI control programs 413 are generated by the acceptance pool of managing device 107 from manager and indicated.Then, program 413 carries out example As following preparations are handled.
* program 413 is by the new record addition of object pool to table 402 (Fig. 6), 403 (Fig. 7), 408 (Figure 11).
* program 413 receives specifying for PVOL from manager by managing device 107.Specifically, for example, program 413 is shown The information (such as ID, species etc.) related to RVOL, receive specifying for the RVOL as PVOL.
For each appointed RVOL, S1602~S1605 is carried out.With a RVOL (below, in Figure 16 explanation Referred to as " object RVOL ") exemplified by, illustrate S1602~S1605.
(S1602)
Program 413 determines appointed RVOL species.Specifically, for example, CMPK119 is stored with for each RVOL tools There are the RVOL management tables of ID, capacity, species (such as SSD, HDD-SAS) etc., program 413 determines to be referred to according to the RVOL management table Fixed RVOL species.
(S1603)
Program 413 judges whether corresponding with the RVOL species being determined layer is already present on pair according to layer-management table 403 As in pond.In the result that this judges in the case of negatory, to carry out S1604, the situation in the result that this judges as certainty Under, carry out S1605.
(S1604)
Program 413 determines the ID of layer corresponding with the RVOL species being determined according to layer definition table 401.Then, program 413 The layer ID being determined is appended in table 402 (Fig. 6) for object pool.
(S1605)
Program 413 chases after in the corresponding layer (following, to be referred to as " object layer " in the paragraph) of RVOL species with being determined Add object RVOL.Specifically, for example, the registering object RVOL in table 402 (Fig. 6) of program 413 ID is as the layer with object layer PVOL ID corresponding to ID.
(S1606)
Program 413 has judged whether to the later processing of S1602 for all appointed RVOL.If it is being designated RVOL in exist without the RVOL for carrying out the later processing of S1602, then for processing later RVOL progress S1602.
(S1607)
Program 413 shows that pond defines GUI (Graphical User Interface:Graphical user interface).Then, program 413 receive various settings by the GUI.
Figure 17 represents that pond defines GUI1700.
The ID of object pool is shown in GUI1700.Moreover, program 413 also can response management person to predetermined tool (under such as Draw menu) operation, show object pool beyond pond (i.e., existing pond) ID.
In addition, GUI1700 have manager in order to for represented by the ID shown pond input should be in table 403 The information element " stratification " of setting, " reconfiguring ", " automatic to perform ", " performing the cycle ", " performing the moment ", " prison in (Fig. 7) Depending on time-bands ", the value of " layer threshold value " and the input tool used.As input tool described in the present embodiment, can use The arbitrary instrument such as radio button, check box, text entry field.Moreover, in GUI1700, for " layer threshold value ", one can be made Individual threshold value is common in whole layers possessed by object pool, or can be directed to each layer given threshold possessed by object pool.
Moreover, as noted previously, as can also show the ID in existing pond in GUI1700, therefore can using GUI1700 Change the setting on the existing pond desired by manager.At that time, if for example, layer threshold value desired by manager is higher than setting It is set to the use ratio of the layer of this layer of threshold value, then program 413 can show as inappropriate layer of threshold value in managing device 105 Warn announcement, and not this layer of threshold value of registration in table 402 (Fig. 6).
Referring again to Figure 16.
(S1608)
Program 413 updates table.Specifically, for example, program 413 carries out following processing.
* the registration in table 403 (Fig. 7) of program 413 is input to the GUI1700 of Figure 17, information element " stratification ", " weight New configuration ", " automatic to perform ", " performing the cycle ", " performing the moment ", " monitoring time-bands ", the value of " layer threshold value ".
* object pool is divided into multiple actual pages by program 413, by the ID of the plurality of actual page be appended to table 402 (Fig. 6), And in 408 (Figure 11).
The capacity of actual page can be common in all ponds.Therefore, the quantity for forming the actual page of object pool can Depend on the capacity (total capacity for forming the PVOL of object pool) of object pool.
Moreover, for each PVOL, the capacity of actual page can be different.Specifically, RAID5 (4D+ are based on for example, forming The capacity of the PVOL of the capacity of the PVOL of RG 1P) actual page with forming the RG based on RAID6 (4D+2P) actual page can be with It is different.Why so, it is because the quantity for the parity check bit being stored in an actual page is different.
< VVOL generation >
Figure 18 represents the flow of VVOL generation processing.It should be noted that in the generation > of < VVOL explanation, will pass through VVOL generations handle newly-generated VVOL and are referred to as " object VVOL ".
(S1801)
UI control programs 413 show VVOL generations GUI.Then, program 413 receives various settings by the GUI.
Figure 19 represents VVOL generations GUI1900.
Object VVOL ID is shown in GUI1900.Moreover, program 413 also can response management person to predetermined tool (such as Drop-down menu) operation, the ID of the VVOL (existing VVOL) beyond display object VVOL.
GUI1900 have manager in order to for represented by the ID shown VVOL input should be at table 404 (Fig. 8) Information element " pond ID ", " capacity ", " reconfiguring ", " automatic to perform ", " performing the cycle ", " performing the moment ", " prison of middle setting Depending on time-bands " value and the input tool that uses.
In addition, GUI1900 determines layer ID corresponding with the pond ID inputted according to table 402 (Fig. 6), and show the institute being determined There is a layer ID.GUI1900 has manager to for the VVOL inputs " Distribution Layer " represented by the ID shown, " preserve threshold Value " and the value of " acquiescence layer " and the input tool used.Manager can use the input of those input tools by the pond of input Which of multiple layers that pond (pond for distributing to VVOL) represented by ID has are made as Distribution Layer, by which of Distribution Layer For the preservation threshold value of " acquiescence layer " and each Distribution Layer.
Referring again to Figure 18.
(S1802)
Program 413 updates table.Specifically, for example, program 413 carries out following processing.
* the registration in table 404 (Fig. 8) of program 413 is input to the GUI1900 of Figure 19, information element " pond ID ", " holds Amount ", " reconfiguring ", " automatic perform ", " performing the cycle ", " performing the moment ", " monitoring time-bands ", " Distribution Layer ID " and " acquiescence layer ID " value.
* calculation of capacity of the program 413 based on object VVOL forms the quantity of object VVOL virtual page.Program 413 is in table The registering object VVOL ID and virtual page ID of the virtual number of pages calculated in 407 (Figure 10).
* object VVOL is directed to, if " reconfiguring " is " ON ", program 413 generates table 409 (Figure 12).Because The monitoring of I/O frequency is carried out in time-bands are monitored.Moreover, the void of the above-mentioned virtual number of pages calculated is registered in table 409 Intend page ID.
* program 413 registers " Distribution Layer ID " and " preservation threshold value " for object VVOL in table 412 (Figure 15).
The display > of < information
Figure 22 represents the flow of presentation of information processing.
UI control programs 413 receive display command (S2201) from managing device 107, and display is by showing in managing device 107 Show the information (S2202) that order is specified.
As the species of displayable information, at least one for example, in table 401~412 (or adds to them Information obtained from work (such as figure, summary etc.)).
Figure 23 represents number of degrees distribution GUI2300.
Number of degrees distribution GUI2300 is shown in Figure 22 S2202.Specifically, for example, in Figure 22 S2201, management dress Put 107 and the number of degrees distribution display command for specifying the VVOL ID desired by manager is sent according to the request from manager. In Figure 22 S2202, program 413 responds the order, is extracted from table 410 (Figure 13) corresponding with the VVOL ID specified by the order The number of degrees distribution, and as shown in figure 23 by the number of degrees extracted distribution include in managing device 107.It should be noted that degree Number distribution is shown with sheet form, but also be may replace it or shown on its basis with other forms such as diagram forms.
Manager sees that the number of degrees being shown in GUI2300 are distributed to judge whether to migrate the data in desired VVOL Key element.For example, manager can indicate storage system in the case where thinking to have the high virtual number of pages of a large amount of averagely I/O numbers Data Elements (for example, " migration performs " button in GUI2300 can be pressed) in the desired VVOL of 103 migrations.
So, number of degrees distributions judges whether to Data Migration (Data Elements in VVOL is moved as being used for manager Move) judgement material use.In other words, if data perform automatic execution, number of degrees distribution can not be calculated.
< write-ins processing (writes) > to cache
Figure 24 represents the flow of write-in processing (being write to cache).
(S2401)
I/O control programs 414 receive writing commands from main frame 101.
(S2402)
The I/O destination informations according to possessed by the writing commands received of program 414 determine the VVOL of write-in destination And virtual page.Herein, determine that the situation of multiple virtual pages is a lot.Why so, it is due to the big of write-in object data The small capacity for being typically larger than a virtual page.For identified each virtual page, the later processing of S2403 is carried out.Hereinafter, with (it is referred to as " object virtual page " in Figure 24 explanation) exemplified by one virtual page, illustrates the later processing of S2403.In addition, scheming In 24 explanation, " object data key element " will be referred to as the write-in object data key element of object virtual page.
(S2403)
Program 414 judges that the ID of object virtual page whether there is in migrating in page table 411.It is negative in the result of the judgement Property in the case of, carry out S2404~S2406, in the case where the result that this judges is as certainty, progress S2407~S2408.
(S2404)
Program 414 judges whether actual page is allocated to object virtual page based on allocation table 407 (Figure 10).If the judgement Result to be negatory, then carry out S2405.
(S2405)
Program 414 carries out following handle.
* program 414 is based on VVOL management tables 404 (Fig. 8) determination with writing in the corresponding ponds of destination VVOL and the pond Acquiescence layer.
* the acquiescence that program 414 is based on layer-management table 402 (Fig. 6) and actual chunk management table 408 (Figure 11) determination is determined Free actual page in layer.
* program 414 is to actual page determined by the distribution of object virtual page.That is, program 414 is in allocation table 407 (Figure 10) The ID of distributed actual page, the ID of layer with the actual page are registered in column corresponding with the ID of object virtual page, with this The ID in the pond of layer.
* program 414, can be according to writing destination in the case where not can determine that free actual page according to acquiescence layer Distribution Layer corresponding to VVOL determines free actual page, and identified actual page is distributed into object virtual page.
* program 414 updates the layer in table 402 (Fig. 6) with distributed actual page and (is referred to as in the explanation of the S2403 " distribution active layer ") " use ratio " value.
Whether the value that * program 414 is allocated after the renewal of " use ratio " of active layer has exceeded " the layer threshold of distribution active layer The judgement (hereinafter referred to as " judge Z ") of the value of value ".The value for distributing " the layer threshold value " of active layer is registered in table 402 (Fig. 6) The value for being worth or being registered in table 412 (Figure 15), but can be preferentially using the value being registered in table 412.
* if it is determined that Z result is certainty, then program 414 can carry out at least one in following (a) and (b) Individual processing.
(a) program 414 can be notified wrong (error) to managing device 107 (and/or as writing commands transmission The main frame 101 in source).Manager can add RVOL in the case where being aware of mistake for distribution active layer in active layer is distributed.
(b) program 414 calls reconfiguration procedure 415.Reconfiguration procedure 415 carries out the processing shown in Figure 38.Figure 38 Shown processing will be explained below.
(S2406)
Program 414 ensures the CM regions of the Data Elements for being stored in object virtual page from cache.
(S2407)
Program 414 ensures CM regions according to the value of " transition state " corresponding with object virtual page in migration page table 411.Tool Body is as follows.
< < situations A:" transition state " is " not migrating " > >
For example, carry out some in following (concrete example A1) and (concrete example A2).
(concrete example A1)
* program 414 ensures CM regions, and the free actual page in move target stratum corresponding with object virtual page is determined It is set to write-in destination.If more specifically, for example, Data Elements in the free actual page of some in move target stratum In the caches, then program 414 ensures the CM regions in the presence of the Data Elements, and the free actual page is determined as writing Enter destination.Free actual page in move target stratum can be based on table 402 (Fig. 6) and 408 (Figure 11) as described above To determine.
* " transition state " corresponding with object virtual page is updated to " having moved " by program 414.As a result, it is directed to object Virtual page without Data Elements migration.I.e., in other words, it is cancelled for object virtual page, the migration of Data Elements.
* the write-in destination actual page determined is substituted original actual page to distribute to object virtual page by program 414. That is, it is real to rewrite above-mentioned determined write-in destination in allocation table 407 for program 414 in column corresponding with the ID of object virtual page The ID of border page and with the actual page layer ID (ID on move target stratum).
* program 414 will distribute to " the shape of the original actual page of object virtual page in actual chunk management table 408 (Figure 11) State " is updated to " freedom ".In addition, program 414 is by the actual page for being newly assigned to object virtual page in the table 408, (what is determined writes Enter destination actual page) " state " be updated to " in use ".
(concrete example A2)
* program 414 ensures CM regions, and the actual page for distributing to object virtual page (actual page in migration active layer) is determined To write destination.If more specifically, for example, Data Elements in the free actual page of any one in move target stratum Not in the caches, then program 414 ensures that CM regions (such as exist and distribute to data in the actual page of object virtual page The region of key element), and the actual page for distributing to object virtual page (actual page in migration active layer) is determined as writing purpose Ground.
* " transition state " corresponding with object virtual page can be updated to " interrupt " by program 414.Thus, for example, for pair As virtual page, without the Data Migration based on reconfiguration procedure 415.Moreover, being somebody's turn to do the value of " transition state " can for example lead to Cross program 414 and " not migrating " is reverted to from " interruption " in the case where degradation (destage) described later is completed.
< < case Bs:" 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 " interrupt " by program 414.Then, program 414 is carried out (the concrete example A1) or (concrete example A2) stated.It is corresponding with object virtual page " to move in the case where having carried out (concrete example A1) Shifting state " is updated to " having moved ".In the case where having carried out (concrete example A2), " transition state " corresponding with object virtual page It is updated to " not migrating ".
(concrete example B2)
* program 414 ensures CM regions.In the case of (concrete example B2), in " migration shape corresponding with object virtual page State " is updated to be degraded after " having moved ".Therefore, it is the reality in move target stratum to write destination (degradation destination) Border page.Why so, it is because the actual page in move target stratum is assigned in object virtual page.
(concrete example B3)
* program 414 ensures CM regions.In the case of (concrete example B3), in " migration shape corresponding with object virtual page State " is degraded for period " in migration ", and Data Elements are downgraded to the actual page and move target for distributing to object virtual page Both sides' (carrying out so-called two to re-write) of actual page in stratum.
< < situations C:" transition state " is " having moved " > >
Such as carry out following handle.
* program 414 ensures CM regions.In the situation, write-in destination (degradation destination) is in move target stratum Actual page.Why so, it is the institute because because " transition state " corresponding with object virtual page is updated to " have moved " To distribute to the actual page that the actual page of object virtual page is changed to turn into as will be explained later move target ground.
(S2408)
In the case of for by the way that all virtual pages ensure that CM regions determined by S2402, program 414 is to being ensured Data of the more than one CM regions write-in as write-in object, and write-in completion is responded to main frame 101.
< write-ins handle (degradation) >
Figure 25 represents the flow handled that degrades.
I/O control programs 414 carry out degradation processing for forming each Data Elements of write-in object data.
(S2501)
Program 414 is degraded.That is, program 414 will be present in multiple Data Elements in cache not yet writing Data Elements (dirty data key element) the write-in actual page of actual page.Degradation destination actual page is allocated to as the actual page Write the actual page (actual page determined according to allocation table 407) of the virtual page of destination.Moreover, now, if virtual with this Page corresponding to " transition state " be " interruption ", then program 414 can should " transition state " be updated to " not migrating ".
(S2502)
Program 414 is based on table 403 (Fig. 7) or 404 (Fig. 8) determine whether to update necessity of monitoring form 409.Can be preferential Table 404 (Fig. 8).Specifically, for example, program 414 carries out two following judgements, that is, judge P and judge Q.
(judging P) program 414 is judged with the pond with the degradation destination actual page in S2501 (below, in saying for Figure 25 In bright be referred to as " object pool ") corresponding to " reconfiguring " whether be " ON " or be assigned to the degradation destination reality " reconfiguring " corresponding to the VVOL (following, be referred to as in Figure 25 explanation " object VVOL ") of the virtual page of page whether be “ON”.In the case of this judges P result to be negatory, without S2503 (that is, the necessity for not updating monitoring form 409).
(judging Q) in the case where judging P result for certainty, at the time of program 414 judges current whether with it is right In time-bands as corresponding to pond represented by the value of " monitoring time-bands ".In the case of this judges Q result to be negatory, no Carry out S2503.On the other hand, P is not only judged, in the case that judgement Q result is also certainty, carrying out S2503 (that is, has Update necessity of monitoring form 409).
(S2503)
Program 414 updates monitoring form 409.It is specific as follows.
* if " migration of page unit " corresponding with object VVOL in table 412 (Figure 15) is " ON ", then program 414 renewal with The monitoring form 409 of activation corresponding to object VVOL.Specifically, for example, program 414 updates in the monitoring form 409 of activation and quilt The value (such as increasing by 1) of " total I/O numbers " corresponding to the write-in destination virtual page of the Data Elements of degradation, and update " most The value at whole I/O moment ".In addition, program 414 will be appended to for such as write-in destination virtual page at the time of degradation time point In above-mentioned I/O resumes.In this case, the ID of write-in destination virtual page can be recorded in I/O resumes.For example, can be with Based on the I/O resumes, " average I/O number " and " maximum I/O number " are then updated in the monitoring form 409 of activation by program 414.
< readout process >
Figure 26 represents the flow of readout process.
(S2600)
I/O control programs 414 receive read-out command from main frame 101.Then, program 414 is according to the read-out command received Possessed I/O destination informations determine reading source VVOL and virtual page.
(S2601)
Whether program 414, which judges to have in cache, reads object data.The result judged is negatory situation Under, S2603 is carried out, in the case that the result judged is certainty, carries out S2602.
(S2602)
Reading object data in cache is sent to main frame 101 by program 414.In this case, with reading source VVOL Corresponding monitoring form 409 is not updated.This is due to not carry out the I/O for actual page.
(S2603)
Program 414 judges whether to be assigned with actual page to virtual page determined by by S2600 based on allocation table 407.Should The result judged is in the case of negatory, carries out S2604, in the case that the result judged is as certainty, progress S2605.
(S2604)
Program 414 sends predetermined response (such as representing zero data) to main frame 101.
(S2605)
Program 414 judges at least one whether moving in the ID of more than one virtual page determined by S2600 passed through Move page table 411 in it is registered and with the registered virtual page ID corresponding " transition state " whether be " in migration ".This is sentenced In the case of disconnected result is negatory, S2607 is carried out, in the case that the result judged is certainty, carries out S2606.
(S2606)
Program 414 is from the more than one reality being respectively allocated to by more than one virtual page determined by S2600 Page (the more than one actual page according to determined by allocation table 407) reads Data Elements.Program 414 will be by those Data Elements The reading object data formed is sent to main frame 101.
(S2607)
The virtual page that program 414 is " in migration " for " transition state " waits until that " transition state " is updated to " move Move ".Then, program 414 is from the more than one reality being respectively allocated to by more than one virtual page determined by S2600 Page (the more than one actual page according to determined by allocation table 407) reads Data Elements.Program 414 will be by those Data Elements The reading object data formed is sent to main frame 101.
(S2608)
Program 414 is based on table 403 (Fig. 7) or 404 (Fig. 8) determine whether to update necessity of monitoring form 409.Can be preferential Table 404 (Fig. 8).Specifically, for example, program 414 carries out two following judgements, that is, judge V and judge W.
(judging V) program 414 judges pond (following, the referred to as " reading in Figure 26 explanation with distributing to reading source VVOL Source pond ") corresponding to " reconfiguring " whether be " ON " or with read source VVOL corresponding " reconfiguring " whether be " ON ". In the case of this judges V result to be negatory, without S2609 (that is, the necessity for not updating monitoring form 409).
(judging W) in the case where judging V result for certainty, at the time of program 414 judges current whether with it is right In time-bands as corresponding to pond represented by the value of " monitoring time-bands ".In the case of this judges W result to be negatory, no Carry out S2609.On the other hand, V is not only judged, in the case that judgement W result is also certainty, carrying out S2609 (that is, has Update necessity of monitoring form 409).
(S2609)
Program 414 updates monitoring form 409.It is specific as follows.
* if in table 412 (Figure 15) with read source VVOL corresponding " migration of page unit " be " ON ", then program 414 updates The monitoring form 409 activated corresponding with reading source VVOL.Specifically, for example, being read in the monitoring form 409 of the renewal activation of program 414 Go out the value (such as increasing by 1) of " total I/O numbers " corresponding with write-in destination virtual page in source, and update " during final I/O The value at quarter ".Carried out in addition, program 414 is appended to above-mentioned I/O at the time of being directed to such as reading source virtual page by readout time point In ephemeris.In this case, the ID of reading source virtual page can also be recorded in I/O resumes.For example, the I/O resume can be based on Table, " average I/O number " and " maximum I/O number " are then updated in the monitoring form 409 of activation by program 414.
Relation > of the monitoring of < I/O frequency with reconfiguring processing
Figure 27 represents monitoring and the summary of the relation reconfigured of I/O frequency.
I/O in monitoring for actual page, and in the case of having carried out the I/O for actual page, it is assigned to the actual page Virtual page or VVOL I/O frequency with the virtual page be updated.That is, monitoring form 409 is updated.In other words, as above It is described, although I/O control programs 414 receive read-out command from main frame 101, do not reading Data Elements from actual page In the case of, monitoring form 409 is not updated.
With the renewal of monitoring form 409, number of degrees distribution table 410 is updated.Moreover, number of degrees distribution table 410 can not be advance Prepare, such as number of degrees distribution table can be generated based on monitoring form 409 in the case where having instructed the display number of degrees to be distributed by manager 410, and number of degrees distribution is shown based on the table 410.Moreover, it is also possible to substitute the number of degrees to be distributed, monitoring form 409 is shown.
Reconfiguring processing has layer determination processing and migration process.Generation migration page table 411 in layer determination processing.The table 411 can be generated based on the layer scope in the I/O frequency represented by monitoring form 409 and layer-management table 402 (Fig. 6).At migration The Data Migration of page unit is carried out in reason based on the migration page table 411 generated.
< reconfigures processing >
Reconfiguring processing can be carried out in the case where certain layer of use ratio exceedes the layer threshold value of this layer, can also Periodicity (such as when at the time of arrival every time represented by the value of " reconfigure and perform the moment ") is carried out.
Figure 28 represents to reconfigure the flow of processing.It should be noted that Figure 28 is to be directed to a VVOL (Figure 28 explanation In be referred to as " object VVOL ") flow.
(S2801)
Reconfiguration procedure 415 judges whether to perform Data Migration for object VVOL.Specifically it is handled as follows.
* program 415 judges that VVOL manages whether " automatic to perform " corresponding with object VVOL in table 404 (Fig. 8) is " ON ". In the case where the value of " automatic to perform " corresponding with object VVOL is not set, program 415 judges that pond manages table 403 (Fig. 7) In with distribute to " automatic to perform " corresponding to object VVOL pond (following, in Figure 28 explanation be referred to as " object pool ") whether be “ON”。
* in the case where " automatic to perform " corresponding with object VVOL or object pool is " ON ", program 415 judges currently At the time of whether the moment is reached represented by the value of " reconfigure and perform the moment " corresponding with object VVOL or object pool. In the case that the result judged is certainty, the S2801 result judged is certainty, is negativity in the result that this judges In the case of, the S2801 result judged is negativity.
* in the case where " automatic perform " corresponding with object VVOL or object pool is " OFF ", if program 415 from Manager has received the instruction of Data Migration by managing device 105 for object VVOL, then the result of S2801 judgement is Certainty.
" automatic to perform " if corresponding with object VVOL or object pool is " OFF " (S2802:It is no), then program 415 is entered Row S2806.
" automatic to perform " if corresponding with object VVOL or object pool is " ON " (S2802:It is), then program 415 is entered Row S2807.
(S2806)
Program 415 judges whether to set a layer scope by manager.In the result that this judges as in the case of negatory, Carry out carrying out S2808 after S2807, in the result that this judges in the case of negatory, without S2807, directly progress S2808。
(S2807)
Program 415 carries out layer scope decision processing.A layer scope is determined by the processing.As the side for determining layer scope Method, it is contemplated that to a variety of.For example, a variety of layers of scope can be prepared in advance, each layer can be also directed to by program 415 from a variety of layers of model Enclose the middle arbitrary layer scope of selection.
(S2808)
Program 415 carries out layer determination processing.In layer determination processing, as described above, generation migration page table 411.
(S2809)
Program 415 carries out the migration process of page unit according to the migration page table 411 generated.In the Data Migration of page unit In, the actual page migrating data key element in object pool from the actual page in certain layer into other layers.For the migration of page unit Processing, will be described in detail later.
The migration process > > of < < page units
Figure 34 represents the flow of the migration page table generation processing in Figure 28 S2808.
(S3401)
The selecting object VVOL of program 415 initial virtual page.
(S3402)
Program 415 judges whether to be assigned with actual page to selected virtual page based on allocation table 407.If the judgement Result is negatory, then carries out S3405, if the result of the judgement is certainty, carries out S3403.
(S3403)
Program 415 decides whether that change is distributed in the actual page of selected virtual page based on monitoring form 409 Data Elements should existing layer.It is specific as follows.
* program 415 according to table 402 (Fig. 6) determine with distribute to selected virtual page actual page layer ( It is referred to as " object layer " in S3403 explanation).
* I/O frequency (such as with the object VVOL corresponding monitoring form that activates of the program 415 based on selected virtual page It is at least one in total I/O numbers, average I/O numbers and maximum I/O numbers represented by 409) and " layer corresponding with object layer The value of scope " decides whether to move to the Data Elements in the actual page for distributing to selected virtual page from object layer Other layers.For example, if the I/O frequency of selected virtual page does not include the corresponding with object layer of selected virtual page In layer scope, then being judged as should migrating data key element.
If the result judged of the S3403 to be negatory, carries out S3405, if the result that judges is affirmative Property, then carry out S3404.
(S3404)
I/O frequency (such as with the object VVOL corresponding monitoring form that activates of the program 415 based on selected virtual page It is at least one in total I/O numbers represented by 409, average I/O numbers and maximum I/O numbers) and with the pond with object layer Other Distribution Layers corresponding to the value of " layer scope " determine move target stratum.For example, will be with having included selected virtual page I/O frequency layer scope corresponding to Distribution Layer (object VVOL Distribution Layer) be determined as move target stratum.Then, program 415 with registering the ID of selected virtual page, the ID of object layer, the move target that is determined in page table 411 in move target ID, the transition state " not migrating " of layer.
(S3405)
Program 415 judge selected virtual page whether be object VVOL end virtual page.If the knot of the judgement Fruit is negatory, then S3406 is carried out, if the result judged terminates as certainty, the migration page table generation processing.
(S3406)
Program 415 selects next virtual page of last selected virtual page from object VVOL.Then, for this Selected virtual page carries out the later processing of S3402.
Handled by the migration page table generation, 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 registered in table 411, the reality of the virtual page is distributed to Data Elements in page are migrated to the free actual page in move target stratum corresponding with the virtual page.With move target Actual page substitution migration source actual page in ground is allocated to the virtual page.As shown in figure 35, it is existing to be moved by the migration process The Data Elements moved on in more upper layer, also there are the Data Elements being migrated in more the next layer.
What kind of layer scope is set according to for which layer, configuration can be somebody's turn to do in the layer of I/O frequency of virtual page is adapted to Data Elements in virtual page.
For example, it is assumed that setting higher layer scope to more upper layer, lower layer scope is set to more the next layer.Tool Body, it is assumed that such as layer #11 is the layer (such as layer that RVOL species is " SSD ") of high speed and high reliability, and is set high to Layer scope.In addition, it is assumed that such as layer #13 is that (such as RVOL species is " HDD-SATA " for the layer of low speed and low reliability Layer), and it is set to low layer scope.In addition, it is assumed that such as layer #12 is VVOL#50 acquiescence layer, and it is set to middle degree Layer scope.In this case, the write-in object data key element of the virtual page for forming VVOL#50 is temporarily written into acquiescence layer # Actual page in 12.Then, some virtual page #A for example in VVOL#50 I/O frequency turn into be incorporated in high layer scope In the case of the high I/O frequency of interior degree, the Data Elements distributed in virtual page #A actual page #X are migrated from layer #12 To layer #11.On the other hand, some virtual page #B for example in VVOL#50 I/O frequency turn into be incorporated in the range of low layer In the case of the low I/O frequency of degree, the Data Elements distributed in virtual page #B actual page #Y are moved to from layer #12 Layer #13.
So, by which layer to set what kind of layer scope, the monitoring result of I/O frequency of each virtual page, page list to The Data Migration of position, the Data Elements in VVOL can be configured in appropriate layer (physical memory resources).
Figure 36 represents the flow of the migration process of page unit.
(S3601)
" the pond state " in the pond for distributing to object VVOL is updated to " in reconfiguring " by reconfiguration procedure 415.
(S3602)
Program 415 selects the initial record of generated migration page table 411.
(S3603)
The value of " transition state " in selected record is updated to " in migration " by program 415.
(S3604)
Free actual page is selected in move target stratum represented by program 415 from selected record, to selected Actual page (move target actual page) migration be stored in Data Elements in the migration source actual page in migration active layer.Migration source Actual page is allocated to the actual page of object virtual page.
(S3605)
Program 415 updates table.It is specific as follows.
* program 415 updates allocation table 407, so as to actual page substitution migration source actual page with move target distribute to by Virtual page (following, to be referred to as " selection virtual page " in S3605 explanation) represented by the record of selection.That is, program 415 makes to move It is corresponding with selection virtual page to move the ID of destination actual page, the ID on move target stratum.
* the I/O frequency (such as table 409 of activation) of the renewal of program 415 selection virtual page.Specifically, for example, selection is virtual Page or object VVOL total I/O numbers increase by 1.
* program 415 updates the value of in table 402 (Fig. 6), move target stratum " use ratio ".
(S3606)
The value of " transition state " in selected record is updated to " having moved " by program 415.
(S3607)
Program 415 judge it is selected record whether be end in virtual page table 411 record.If the result of the judgement It is negatory, then carries out S3608, if the result of the judgement is certainty, the migration process terminates.
(S3608)
Program 415 selects the next record of last selected record from virtual page table 411.Then, for the quilt The record of selection, carry out the later processing of S3603.
Above is the flow of the migration process of page unit.Moreover, the variation of the migration process as page unit, Ke Yikao Consider at least one in for example following multiple variations.
* between S3602, S3603, it can be assumed that Data Elements have been had migrated in move target stratum, program 415 Judge move target stratum use ratio whether beyond move target stratum layer threshold value.In the situation for being judged as exceeding Under, program 415 can skip S3603~S3606 and directly carry out S3607 (that is, program 415 can not for selected record Carry out the migration of Data Elements).Or in the case where being judged as exceeding, program 415 can be by for move target Layer carries out reconfiguring processing for the VVOL of Distribution Layer, increases free actual page in move target stratum, then starts S3603。
* move target stratum can be judged by program 415 when updating the use ratio on move target stratum by S3605 Use ratio whether beyond move target stratum layer threshold value.In the case where being judged as exceeding, program 415 can be in pipe Warning is shown in reason device 107, and/or, by being matched somebody with somebody again for the VVOL using move target stratum as Distribution Layer Processing is put, increases free actual page in move target stratum.
The change > of < layer threshold values
UI control programs 413 can be from the change of manager's receiving layer threshold value.
The flow of the exception processes of Figure 37 expression layer threshold values.
(S3701)
The acceptance pool ID of program 413 and layer ID, for the layer threshold value after this layer of ID change.
(S3702)
Program 413 judges whether surpass with the pond ID and layer ID corresponding " use ratio " that are received by S3701 value The layer threshold value gone out after change.
(S3703)
Program 413 shows mistake in the case of being certainty in the result of S3702 judgement in managing device 107.
The monitoring > of < use ratios
As described above, I/O control programs 414 or reconfiguration procedure 415 are writing the feelings of Data Elements to actual page The value of " use ratio " of layer in table 402 (Fig. 6), that there is the actual page is updated under condition.Then, program 414 or 415 can With judge " use ratio " renewal after value whether beyond " layer threshold value " corresponding with the layer value.If the knot of the judgement Fruit is certainty, then the threshold value that program 414 or 415 can be carried out shown in Figure 38 is handled beyond reply.
Figure 38 represents flow of the threshold value beyond reply processing.
Program 414 or 415 judges whether with use ratio be " weight beyond " the pond state " in the pond of the layer of layer threshold value In new configuration " (S3801).
In the case where the result of S3801 judgement is certainty, program 414 is either 415 to managing device 107 or main Machine 101 gives a warning (S3802).The warning for example can including the use of ratio beyond the layer of layer threshold value ID, there is the layer The ID in pond, the pond " pond state " value (" in reconfiguring ").
In the case of the result of S3801 judgement is negatory, program 414 is either 415 to managing device 107 or main Machine 101 gives a warning (S3803), and performing turns into the use ratio of this layer reconfigures processing below the layer threshold value of this layer (Figure 28) (S3804).Moreover, the warning in S3803 can for example exceed the ID of the layer of layer threshold value including the use of ratio, have and be somebody's turn to do The ID in the pond of layer, mean for the pond reconfigure the message of processing.
< Data Elements collect >
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 programs 414 either reconfiguration procedure 415 for VVOL#39 periodicities or by Data Elements (for example, at the end of migration process of page unit) checks the configuration of the Data Elements in VVOL#39 when writing actual page.Specifically Ground, own for example, program 414 or 415 calculates to exist in VVOL#39 for VVOL#39 each Distribution Layer #00, ##01, #03 The Data Elements (preserving ratio) of the ratio of much degree in Data Elements.Program 414 or 415 judges VVOL#39 point With the Distribution Layer in layer #00, ##01, #03 with the presence or absence of preservation ratio beyond preservation threshold value.
In the case where preservation ratio be present beyond the Distribution Layer of preservation ratio for preserving threshold value, program 414 or 415 will Data Elements (Data Elements in VVOL#39) in Distribution Layer #01 and #03 beyond Distribution Layer #00 move to distribution Layer #00 (specifically, such as Distribution Layer #00 free actual page).
Moreover, afterwards, such as the virtual page that program 414 can be in for VVOL#39 is (especially unallocated to have reality Page virtual page) write in the case of, actual page must be distributed from Distribution Layer #00 to the virtual page.
If moreover, the Data Elements (Data Elements in VVOL#39) in Distribution Layer #01 and #03 are moved to point With causing Distribution Layer #00 use ratio to exceed Distribution Layer #00 layer threshold value after layer #00, then program 414 or 415 can be entered Row 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 the Data Elements in the VVOL beyond object VVOL, Distribution Layer #00 by moving to it In its layer, to increase free actual page in Distribution Layer #00.
In addition, in the present embodiment, a layer scope can be automatically determined in Figure 28 S2807.Layer scope is for example by by MP Layer scope determination procedure (not shown) is performed to determine.
Hereinafter, illustrate that layer scope is determined by taking a pond (in the explanation automatically determined of layer scope referred to as " object pool ") as an example Fixed processing.
Figure 29 expression layers scope determines the summary of processing.
If object pool has these three layers of layer #01, #02 and #03.If layer #01 is upper, layer #02 is second upper, Layer #03 is the layer of lowermost position.In other words, if layer #01 performance potential (potential) highest, layer #02 performance potential second Height, layer #03 performance potential are minimum." performance potential " refers to reconfigure the Data Elements configuration weight in processing.On property Energy potentiality, will be described later in detail.
Layer scope determination procedure is distributed to obtain for object by collecting the number of degrees for all VVOL for being assigned object pool The number of degrees distribution 4300 in pond.The transverse axis of number of degrees distribution is I/O frequency (load), and the longitudinal axis is virtual number of pages.
(or) determines layer model to layer scope determination procedure from lower layer to upper layer successively successively from upper layer to lower layer Enclose.Hereinafter, if determining layer scope with layer #01, #02, #03 order.Hereinafter, describe for determining the layer scope institute for each layer The processing of progress (moreover, in Figure 29, the upper limit of layer scope is the mark of rhombus, and the lower limit of layer scope marks to be circular).
《The decision of layer #01 layer scope 1》
* the upper limit of layer #01 layer scope 1 is determined as infinity by layer scope determination procedure.That is, the layer model of the layer of upper The upper limit enclosed 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 up to relatively low Add up virtual number of pages.In the case that the aggregate-value reaches layer #01 performance potential, layer scope determination procedure will be with that will reach I/O frequency corresponding to the virtual number of pages being added before layer #01 performance potential is set as layer (0-1) boundary value (layer #00 and layer # 01 boundary value).
* the I/O frequency of tolerance limit to a certain degree (margin) lower than layer (0-1) boundary value is set as by layer scope determination procedure The lower limit of layer #01 layer scope 1.Specifically, for example, the lower limit is less than the I/O frequency of layer (0-1) boundary value predetermined ratio (such as low 10% I/O frequency).
* layer scope determination procedure assumes that the Data Elements that I/O frequency is included in all virtual pages of layer scope 1 are migrated to Layer #01, judges whether layer #01 use ratio exceeds layer #01 layer threshold value.Situation in the result that this judges as certainty Under, layer scope 1 is modified to the size of layer #01 layer threshold value of the use ratio without departing from layer #01 by layer scope determination procedure.
《The decision of layer #02 layer scope 2》
* the I/O frequency than layer (0-1) boundary value high tolerance limit (margin) to a certain degree is set as by layer scope determination procedure The upper limit of layer #02 layer scope 1.Specifically, for example, the upper limit is above the I/O frequency of layer (0-1) boundary value predetermined ratio (such as high 10% I/O frequency).
* layer scope determination procedure adds up virtual number of pages in number of degrees distribution 4300 from layer (0-1) boundary value to relatively low.This is tired In the case that evaluation reaches layer #02 performance potential, layer scope determination procedure is by before the performance potential with that will reach layer #02 I/O frequency corresponding to the virtual number of pages being added is set as layer (1-2) boundary value (layer #01 and layer #02 boundary value).
* the I/O frequency of tolerance limit to a certain degree (margin) lower than layer (1-2) boundary value is set as by layer scope determination procedure The lower limit of layer #02 layer scope 2.
* layer scope determination procedure assumes that the Data Elements that I/O frequency is included in all virtual pages of layer scope 2 are migrated to Layer #02, judges whether layer #02 use ratio exceeds layer #02 layer threshold value.Situation in the result that this judges as certainty Under, layer scope 2 is modified to the size of layer #02 layer threshold value of the use ratio without departing from layer #02 by layer scope determination procedure.
《The decision of layer #03 layer scope 3》
* the I/O frequency than layer (1-2) boundary value high tolerance limit (margin) to a certain degree is set as by layer scope determination procedure The upper limit of layer #03 layer scope 3.
* the lower limit set of layer #02 layer scope 2 is 0 by layer scope determination procedure.That is, under the layer scope of lowermost position layer Limit is set as 0.
* layer scope determination procedure assumes that the Data Elements that I/O frequency is included in all virtual pages of layer scope 3 are migrated to Layer #03, judges whether layer #03 use ratio exceeds layer #03 layer threshold value.Situation in the result that this judges as certainty Under, layer scope 3 is modified to the size of layer #03 layer threshold value of the use ratio without departing from layer #03 by layer scope determination procedure.
As above layer scope 1~3 is determined.Moreover, why layer scope the upper limit and/or lower limit assign layer boundary value Tolerance limit, be in order to not with I/O frequency variation continually occur Data Elements migration.Specifically, if for example, do not had The I/O frequency of tolerance limit and certain virtual page frequently exceeds or less than layer (0-1) boundary value, then the data in the virtual page will Element is continually moved to layer #01 or layer #02.But it can then reduce there is provided tolerance limit if as discussed above and carry out this kind The frequency of migration.
Hereinafter, layer scope decision processing is further described.
Figure 30 expression layers scope determines the flow of processing.
(S4401)
Layer scope determination procedure calculates performance potential for each layer of object pool.(claimed with a layer in S4401 explanation Make " object layer ") exemplified by, performance potential is for example calculated by following (formulas 1).
Performance potential=performance rate × actual effect real page number (actual effect capacity) (formula 1)
(formula 1) is somebody's turn to do even if meaning that performance rate is low, real page number is more, and performance potential is just high as long as performing.
Moreover, " actual effect real page number " refer to form object layer all actual pages in, reconfigure processing in can As the sum of the actual page on Data Elements move target ground.In other words, come to write to reconfigure in processing in pond The write-in object data key element of main frame, can be arranged on reconfigure processing in will not be 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 example Such as the value K for being based on calculating by following (formulas 2).
Value K=RG performances/RG actual effects capacity (formula 2)
It is 1 that " RG performances " in (formula 2), which for example refers to read weight with the ratio for writing weight,:RG performances when 1, are to turn into The maximum I/O numbers that the RG of the foundation of object layer can be handled in time per unit." RG actual effects capacity " in (formula 2) for example refers to For the sum of actual page RG, preserving Data Elements of the foundation as object layer.Moreover, performance rate can substitute State value K or consider reading weight in light of actual conditions on its basis with writing the ratio of weight.The ratio is as can be based on from the I/O of main frame Situation, the situation of cache are (for example, dirty data key element and clean data key element (being stored in the Data Elements in actual page) Distribution), at least one in RG RAID level changed.In addition, performance rate can be by manager manually To set.
(S4402)
Layer scope determination procedure carries out layer boundary value calculating processing.That is, layer scope determination procedure is based on for object pool The performance potential that each layer calculates carrys out computation layer boundary value.
(S4403)
Layer scope determination procedure is directed to each layer computation layer scope based on each layer boundary value calculated.
(S4404)
Layer scope determination procedure judges whether layer scope be improper for each layer.With a layer (it is following, in S4403 and Exemplified by S4405 explanation referred to as " object layer ") specifically, for example, layer scope determination procedure assumes that I/O frequency includes object Data Elements in all virtual pages of the layer scope of layer have been migrated to object layer, judge whether the use ratio of object layer surpasses Go out the layer threshold value of object layer.
(S4405)
S4404 the result judged as certainty in the case of, layer scope determination procedure or in managing device 107 Display is alerted, or layer scope is modified to size of the use ratio without departing from the layer threshold value of object layer of object layer.
Figure 31 represents that Figure 30 S4402 middle levels boundary value calculates the flow of processing.
(S4501)
Layer scope determination procedure is distributed to obtain object pool by collecting the number of degrees for all VVOL for being assigned object pool The number of degrees are distributed.Number of degrees distribution can use monitoring form 409 corresponding with each VVOL for being assigned object pool to obtain.
(S4502)
The I/O frequency that layer scope determination procedure calculates object pool adds up to.Specifically, layer scope determination procedure is total is assigned The I/O frequency of all VVOL of object pool all virtual pages.
(S4503)
Layer scope determination procedure is based on the total calculating of the I/O frequency calculated by S4502 for each layer of object pool Distribute I/O frequency.Specifically, layer scope determination procedure, which adds up to the I/O frequency calculated by S4502, distributes to object pool Multiple layers.Specifically, for example, that layer scope determination procedure is calculated based on the S4401 by Figure 30, multiple layers of performance potential Ratio, to add up to the plurality of Layer assignment I/O frequency.Thus, it is such as in the ratio of performance potential layer #01:Layer #02:Layer #03= 4:2:In the case that 1 and I/O frequency adds up to 7000, layer #01 distribution I/O frequency turns into 4000 (7000 × (4/ (4+2+ 1))), layer #02 distribution I/O frequency turns into 2000 (7000 × (2/ (4+2+1))), and layer #01 distribution I/O frequency turns into 1000 (7000×(1/(4+2+1)))。
(S4504)
The distribution I/O frequency of layer each layer of the scope determination procedure based on object pool determines a layer boundary value.For example, with For S4503 example, layer (0-1) boundary value turns into 2000, and layer (1-2) boundary value turns into 1000.
Layer scope decision more than is handled, the number of degrees distributed pins pair of performance potential that can be based on each layer and object pool Each layer setting corresponds to the suitable layer scope of the overall I/O situations of object pool.
Above is the explanation for embodiment 1.
Moreover, in embodiment 1, such as VVOL, give tacit consent to I/O performances in the Distribution Layer that layer can must be VVOL (such as I/O speed or response time) the maximum layer layer of upper (such as in Distribution Layer).This is to increase as far as possible VVOL I/O performances.In this case, write-in VVOL Data Elements can be only fitted to as far as possible upper Distribution Layer.But control Layer threshold value of the capacity without departing from the Distribution Layer is used for Distribution Layer.
In addition, for example, the layer kept out of the way can be commonly set with each pond or multiple ponds.It is either autonomous according to coming The write-in of the writing commands of machine, still reconfigure processing in migration process, generally, program 414 and 415 not to The layer write-in Data Elements kept out of the way.But program 414 or 415 can such as Data Elements write destination layer (with Under, in the explanation of the paragraph be referred to as " object layer ") use ratio beyond this layer layer threshold value in the case of, by object layer Any practical page in Data Elements (or distribute to do not included in the range of the layer of object layer I/O frequency it is virtual page, Data Elements in object layer in actual page) layer kept out of the way is moved to, thus increase free actual page in object layer.Should In the case of, the virtual page of program 414 or 415 pairs of migration source actual pages distributed in object layer is distributed in the layer kept out of the way Move target actual page substitute the migration source actual page.Then, program 414 or 415 can be to being set as having included point Dispensing is kept out of the way to be stored in this and is kept out of the way with the reality in layer with the layer migration of the layer scope of the I/O frequency of the virtual page of actual page in layer Data Elements in page.It for example can be the layer being made up of the layer species identical RVOL with upper to keep out of the way with layer.
Furthermore it is possible to acquiescence layer is not set.It can be write for the VVOL write-in object data key element from main frame 101 As far as possible in upper layer.Upper layer use ratio beyond layer threshold value in the case of, Data Elements can be write than this In the next layer of the low one-level of upper layer.
In addition, in monitoring form 409B and 409A, 409A can be not present.In this case, can be by adding up to monitoring form The I/O frequency of each virtual page possessed by 409B calculates VVOL I/O frequency.
In addition, the migration process of page unit can interrupt.For example, reconfiguration procedure 415 can receive from manager To interrupt indicate in the case of, processing is proceeded to for transition state " in migration " make transition state for " having moved " it Afterwards, the migration process of page unit is interrupted.Program 415 can be interrupted after instruction after certain time or received for example receiving During the instruction restarted, migration process is restarted based on migration page table 411.Or program 415 can interrupt receiving Migration page table 411 is discarded in the case of instruction, in migration process next time, the monitoring form 409 based on activation migrates to generate Page table 411.
In addition, in the present embodiment, Thin Provisioning VVOL203 is according to from main frame 101 to virtual The write request of the address of page is assigned to actual page, but the present invention is not limited to the situation, can also preferably enumerate following Example.Because the reduction of actual use capacity can be also realized even in the case of these examples.
First example is as follows.That is, a part of virtual page or VVOL203's is each in multiple virtual pages of VVOL203 A part of region included in virtual page is being received from main frame 101 to dividing in advance before the write request of the address with virtual page Equipped with actual area (predistribution), to the write request of the address with virtual page, it is being assigned according to from main frame 101 Region it is inadequate, it is also necessary to further distribution in the case of, distribute additional actual area.
Second example is as follows.That is, multiple virtual pages of VVOL203 are being received from main frame 101 to the ground with virtual page It is temporarily assigned to preserve the actual area of zero data or region (these regions of control in advance before the write request of location It is corresponding with the region in the storage device such as SSD) (temporarily distribution), according to the write-in from main frame 101 to the address with virtual page Request, distribution destination are changed to preserve the actual page (formal distribution) of data from temporary transient distribution region.In this case, In the case where being received before implementing formal distribution from main frame 101 to the write request of the address with virtual page, to main frame 101 responses are stored in the zero data in temporarily distribution destination actual area or control region.
In addition, in the present embodiment, in order to which unitary manages multiple ponds 201 and multiple ponds 201 are managed by a table, but It is that the present invention is not limited thereto, or for each unitary of pond 201 management actual page 207, each pond 201 of preferred pair divides Not Shi Yong management table (can be the information of form beyond sheet form).
In addition, the species of layer 303 is not limited to respectively belong to according to SSD, HSS-SAS, HDD-SATA described in the present embodiment etc. Property is classified, further preferably according to the HDD with FC interfaces, storage device, the semiconductor storage such as flash memory of non-HDD forms Each attributes such as the equipment that medium is formed are classified.In this case, the attribute of the virtual page associated with layer 303 or each layer The attribute of contained each actual page is also not necessarily limited to respectively belong to according to SSD, HDD-SAS, HDD-SATA described in the present embodiment etc. in 303 Property classified, but according to the HDD with FC interfaces, the storage device of non-HDD forms, such as flash memory semiconductor storage be situated between Texture into each attribute such as equipment classified.
Also, the species of layer 303 is not limited to only by this attribute of the type of above-mentioned storage device be classified, also excellent Choosing is according to the attribute after the RAID type combination by the type of above-mentioned storage device and RAID1 to RAID5 etc. or above-mentioned storage The type of equipment and the performance (access speed etc.) of above-mentioned storage device and memory capacity and RAID1 to RAID5 etc. RAID classes Each attribute after type combination is classified.In the case of these, the attribute or each layer 303 of the virtual page associated with each layer 303 In the attribute of contained each actual page be also not necessarily limited to only by this attribute of the type of above-mentioned storage device be classified, further preferably Set according to the attribute after the RAID type combination by the type of above-mentioned storage device and RAID1 to RAID5 etc. or above-mentioned storage Standby type and the performance (access speed etc.) of above-mentioned storage device and memory capacity and RAID1 to RAID5 etc. RAID type Each attribute after combination is classified.
Embodiment 2
Illustrate embodiments of the invention 2 below.Now, the distinctive points of main explanation and embodiment 1, on embodiment 1 Common point, then omit or schematic illustration (this point, latter embodiments 3 after similarly).
In embodiments of the invention 2, substitute I/O frequency or on its basis, based on each VVOL or each virtual The final I/O moment of page carries out the migration process of page unit.As illustrated by embodiment 1, write in Data Elements real In the case of the page of border, the final I/O moment is registered in monitoring form 409.Reconfiguration procedure substitutes the I/O frequency and tool of virtual page There is the relation or on its basis of the layer scope of the layer of the Data Elements in the virtual page, during final I/O based on virtual page Carve the virtual page for determining to be registered in page table 411 is migrated.For example, the scheduled time before being current time by the final I/O moment The virtual page above moment is registered in migration page table 411.At that time, the move target of the Data Elements in the virtual page can be with It is the layer more the next than the layer with the Data Elements in the virtual page.Why so, it is due in view of the final I/O moment The possibility that Data Elements in virtual page remote will be transfused to output from now on is also low, is preferably configured in more the next layer.
Embodiment 3
In embodiments of the invention 3, based on I/O is carried out with the access mode of one of sequential access and random storage, to enter The unit migration process of row page.
If I/O object datas are by the data of sequential access, it is in the PDEV of the foundation as I/O destinations RVOL In the case of HDD, HDD search time is very short.In this case, have I/O object datas in the even relatively low HDD of performance, Due to by sequential access, and the degree that may be considered as hydraulic performance decline is small.In addition, by will be arrived by the Data Migration of sequential access The low PDEV of cheap performance, due to the other data being randomly accessed, the reality more based on the high PDEV of performance can be made Border page is free page.Therefore, it is possible to expect to improve the overall I/O performances of storage system.
In embodiment 3, such as in the case where I/O control programs 414 write Data Elements in actual page, for example Access mode (be sequential access or arbitrary access) of the registration for I/O destinations virtual page in allocation table 407.Allocation table The execution frequency that each virtual page writes every kind of access mode can be directed in 407.
Such as when generation migrates page table 411, if (or if suitable for sequential access for the access mode of virtual page The execution frequency of sequence access is high), then reconfiguration procedure 415 can select more the next layer to be moved as corresponding with the virtual page Move destination.In addition, for example, even if the I/O frequency of virtual page is higher than the layer of the layer with the actual page for distributing to the virtual page The maximum of scope, reconfiguration procedure 415 can not be using the Data Elements in the actual page as migrating objects.
Embodiment 4
In embodiments of the invention 4, two monitoring forms 409 be not stored in editable with predetermined timing CMPK119 or It is used alternatingly in person's others storage resource to substitute.For example, star can be used as by representing the monitoring form 409 of the monitoring result on Monday The table 409 of phase one preserves, and represents that the monitoring form 409 of the monitoring result on Saturday can be as table 409 and the Monday on Saturday The phase of table 409 is distinguished ground and preserved.Thus, the options with the application method for reconfiguring processing is added.
In example 4, for example, reconfiguration procedure 415 reconfigure will start before by inquire manager etc. side Method decides whether to preserve the monitoring form 409 of activation.In the case where being preserved, before it will carry out reconfiguring processing, Monitoring form 409 is stored in managing device 107 or other storage resources by program 415.Program 415 can be from the more of preservation Selected in individual monitoring form 409 to generate the monitoring form 409 of migration page table 411 and reference, use selected monitoring form 409 Generation migration page table 411.
Embodiment 5
In embodiments of the invention 5, as the comparative approach of I/O frequency and layer scope, can select to set absolute value and Relative value one of compares.
" absolute value compares " refers to, for the migration process of page unit, by the I/O frequency of virtual page (for example, total I/O numbers, average I/O numbers or maximum I/O numbers) directly compared with layer scope, without considering the VVOL with the virtual page The I/O frequency of interior other virtual pages.Compared according to absolute value, due to being not necessarily to consider other virtual pages or VVOL I/O Frequency, therefore comparison required time can be shortened, so as to the time required to expecting that shortening reconfigures processing.
" relative value compares " refers to, for the migration process of page unit, by the I/O frequency of virtual page (for example, total I/O numbers, average I/O numbers or maximum I/O numbers) the I/O frequency progress based on other virtual pages in the VVOL with the virtual page Correct (normalization), by revised I/O frequency compared with layer scope.Specifically, even if for example, certain virtual page or VVOL I/O frequency is low, as long as other virtual pages or other VVOL I/O frequency are lower, then be modified on the whole it is above-mentioned certain Virtual page or VVOL I/O frequency are not too much low.Or even if for example, certain virtual page or VVOL I/O frequency are high, only Want other virtual pages or other VVOL I/O frequency higher, be then modified to certain above-mentioned virtual page or VVOL I/O on the whole Frequency is not too much high.Compared according to relative value, can expect that corresponding to the optimal of I/O situations overall in monitoring time-bands matches somebody with somebody Put.
In addition, in the present embodiment, as the I/O frequency of comparison other, such as it is to be averaged I/O numbers also that can select setting It is maximum I/O numbers.According to average I/O numbers, it can expect that carrying out configuration data corresponding to I/O frequency overall in monitoring time-bands wants Element.According to maximum I/O numbers, even if I/O frequency temporarily increases, it can also expect not making the Data Elements of I/O hydraulic performance declines to configure.
It is that absolute value compares or relative value compares and made comparison other to be average I/O numbers or maximum to make comparative approach I/O numbers, such as GUI or VVOL can be defined by above-mentioned pond by manager and generate GUI to set.For the comparison side in pond Method and comparison other are for example registered in shown in Figure 20 in pond management table 4403, for VVOL comparative approach and comparison other Such as it is registered in shown in Figure 20 in VVOL management table 4404 and (in Figure 32 and Figure 20, eliminates the column shown in Fig. 7 or Fig. 8 (column), but in example 2, the column is existing).Moreover, for VVOL and the comparison side in the pond for distributing to it In the case of method or comparison other difference, VVOL setting can be preferentially directed to similarly to Example 1.
Figure 33 represents the flow of the setting processing of comparative approach/comparison other.
The setting processing of comparative approach/comparison other can for example generate processing and/or VVOL generations processing in pond Middle progress.
UI control programs 413 are for certain pond, either certain VVOL (is referred to as " object pool or object in Figure 33 explanation VVOL ") receive (S4201 in the case that relative value is relatively specified:It is no), for object pool or object VVOL in table 4403 or Comparative approach is set in person 4404 as " relative value compares " (S4202).
(the S4201 in the case where receiving absolute value for object pool or object VVOL and relatively specifying of program 413: It is), for object pool, either object VVOL sets comparative approach as " absolute value compares " in table 4403 or 4404 (S4203)。
(the S4204 in the case where receiving maximum I/O numbers for object pool or object VVOL and specifying of program 413:It is no), For object pool, either object VVOL sets comparison other as " maximum I/O numbers " (S4205) in table 4403 or 4404.
(the S4204 in the case where receiving average I/O numbers for object pool or object VVOL and specifying of program 413:It is), For object pool, either object VVOL sets comparison other as " average I/O numbers " (S4206) in table 4403 or 4404.
Moreover, comparative approach and/or comparison other can set or change automatically, it is manual by manager to substitute Setting.For example, program 414 either 415 checked based on monitoring form 409B VVOL or pond I/O situation, according to being checked I/O situation, by " comparative approach " that has been set in table 4403 and/or 4403 and/or " can compare pair As " value changed.For example, in a VVOL is detected all virtual pages I/O frequency (or multiple VVOL I/O Frequency) deviation be not incorporated in preset range in the case of, " comparative approach " is changed to " absolute value ratio from " relative value compares " Compared with ", can be by " comparative approach " from " absolute value compares " conversely, in the case where detecting that the deviation is incorporated in preset range It is changed to " relative value compares ".In addition, for example, in the case where detecting that I/O frequency temporarily increases sharply, " comparison other " is from " flat Equal I/O numbers " are changed to " maximum I/O numbers ", in the case where the deviation for detecting I/O frequency is incorporated in preset range, can incite somebody to action " comparison other " is changed to " average I/O numbers " from " maximum I/O numbers ".
Several embodiments of the present invention are explained above, certainly, the present invention is not limited to these embodiments, is not departing from Various changes can be realized in the range of its purport.
For example, at least one PVOL can be virtual PVOL, turn into the PDEV of PVOL foundation interdependent can be it is other Storage system.In this case, the Data Elements that write-in is formed in PVOL actual page can write the foundation as the PVOL , PDEV in other storage systems.
In addition, for example, regardless of whether having carried out I/O to actual page, monitoring form 409 can be produced to virtual page each It is updated during I/O.
In addition, for example, in the migration process of page unit, the distribution destination virtual page of actual page for move target Or the VVOL with the virtual page, I/O frequency and most can not be updated in actual page migrating data to move target The whole I/O moment.After migration, can according to the I/O for the virtual page either VVOL to the virtual page or distributing to When VVOL actual page carries out I/O, the I/O frequency of the virtual page or VVOL and final I/O moment are updated.
In addition, for example, RVOL species can substitute form as RVOL foundation RG PVEV species or On the basis of it, the RAID level (RAID1, RAID5 (3D+1P) etc.) based on the RG.Thus, for example, even if respectively constitute first RG and the 2nd RG PDEV species are identical, as long as the first RG and the 2nd RG RAID level is different, first based on the first RG RVOL and the 2nd RVOL based on the 2nd RG species is just different, and therefore, the first RVOL and the 2nd RVOL may belong to different Layer.The definition of layer is not limited to RVOL species, can also be defined from other viewpoints.
In addition, the capacity of such as one actual page can distribute a virtual page appearance as multiple actual pages Amount.Divide in this case, the migration of page unit for example can be Data Elements from the multiple migration sources actual page for distributing to virtual page With not moving to multiple move targets actual page.
In addition, for example, the capacity of such as one actual page can be an actual page can distribute to multiple virtual pages this The capacity of sample.In this case, in the migration process of page unit, multiple virtual pages are selected, for the plurality of virtual page, from one Migration source actual page actual page migrating data key element to move target.
In addition, pond VOL can be the virtual logical volume corresponding with the VOL that is provided of storage system of outside.The feelings Under condition, the Data Elements for writing pond VOL actual page write the VOL of corresponding with 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 be directed to each virtual number of pages of I/O frequency counts).
Symbol description
103 ... storage systems

Claims (14)

1. a kind of storage system, including:
Multiple storage device groups with different performance;And
Controller, for stored reservoir and virtual volume is provided, the pond includes multiple layers with different performance, and the pond is based on The multiple storage device group,
Wherein each storage device group includes at least one storage device,
Wherein, if I/O (input/output) frequency of the data of low performance layer is more than the layer I/O frequency ranges with high-performance layer The layer I/O frequency boundary values of association, then the controller data are redistributed 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 it is less than and high property The layer I/O frequency boundary values of the layer I/O frequency ranges association of ergosphere, then the controller is not for from low performance layer to high-performance Layer redistributes data;
Wherein, the maximum of layer I/O frequency ranges is more than the maximum boundary value associated with the I/O frequency ranges, and/or
The minimum value of layer I/O frequency ranges is less than minimum boundary value corresponding with the I/O frequency ranges.
2. storage system according to claim 1, wherein
The controller is used for:
Channel zapping information is kept, the channel zapping information represents the corresponding relation between I/O frequency and the number of data;And And
At least one layer of layer I/O frequency ranges are calculated by reference to channel zapping information.
3. storage system according to claim 2, wherein
Each layer includes multiple pages, and
The controller is used for using page as unit management data.
4. storage system according to claim 3,
Redistributed described in wherein performing periodically.
5. storage system according to claim 1, wherein
The virtual volume includes multiple virtual pages,
Each layer includes multiple actual pages, and
The controller is used for:
I/O frequency is calculated to add up to, the I/O frequency is total be all virtual pages in virtual volume I/O frequency it is total;
Ratio based on multiple layers of performance numbers adds up to the I/O frequency calculated, to calculate multiple layers of boundary value;And
Based on multiple layers of I/O frequency and the boundary value calculated, to determine multiple layers of layer I/O frequency ranges.
6. storage system according to claim 5, wherein
The performance number of layer is in the quantity and the layer of the actual page on the move target ground by that can will turn into redistributing The performance number of each actual page be multiplied calculated value, and
The performance number of each actual page in layer is determined with the attribute of the storage device group based on the foundation for forming the layer Performance-relevant value.
7. storage system according to claim 1, wherein
The virtual volume includes multiple virtual pages
Each layer includes multiple actual pages, and
The controller is used for:
The total amount of I/O frequency is calculated, the total amount of the I/O frequency is that the I/O frequency of all virtual pages in virtual volume closes Meter;
Ratio based on multiple layers of performance numbers adds up to the I/O frequency calculated, to calculate multiple layers of boundary value;And
Based on multiple layers of I/O frequency and the boundary value calculated, to determine multiple layers of layer I/O frequency ranges.
8. a kind of memory system control method, the storage system includes:
Multiple storage device groups with different performance;And controller, for stored reservoir and virtual volume is provided, the Chi Bao Multiple layers with different performance are included, the pond is based on the multiple storage device group, wherein each storage device group is included extremely A few storage device, methods described include:
If I/O (input/output) frequency of the data of low performance layer is more than what is associated with the layer I/O frequency ranges of high-performance layer Layer I/O frequency boundary values, then redistribute data by the controller from low performance layer to high-performance layer;And
If the I/O frequency of the data of low performance layer is less than and high-performance layer in the layer I/O frequency ranges of high-performance layer The layer I/O frequency boundary values of layer I/O frequency ranges association, then by the controller not from low performance layer to high-performance layer again Distribute data;
Wherein, the maximum of layer I/O frequency ranges is more than the maximum boundary value associated with the I/O frequency ranges, and/or
The minimum value of layer I/O frequency ranges is less than minimum boundary value corresponding with the I/O frequency ranges.
9. memory system control method according to claim 8, further comprising the steps of:
Channel zapping information is kept by the controller, the channel zapping information represent I/O frequency and data number it Between corresponding relation;And
At least one layer of layer I/O frequency ranges are calculated by reference to channel zapping information by the controller.
10. memory system control method according to claim 9, wherein
Each layer includes multiple pages, and
The controller is used for using page as unit management data.
11. memory system control method according to claim 10,
Redistributed described in wherein performing periodically.
12. memory system control method according to claim 8, wherein
The virtual volume includes multiple virtual pages,
Each layer includes multiple actual pages, and
Methods described is further comprising the steps of:
I/O frequency is calculated by the controller to add up to, it is the I/O of all virtual pages in virtual volume that the I/O frequency is total Frequency adds up to;
Ratio based on multiple layers of performance numbers adds up to the I/O frequency calculated, and multiple layers are calculated by the controller Boundary value;And
Based on multiple layers of I/O frequency and the boundary value calculated, multiple layers of layer I/O is determined by the controller frequently Spend scope.
13. memory system control method according to claim 12, wherein
The performance number of layer is in the quantity and the layer of the actual page on the move target ground by that can will turn into redistributing The performance number of each actual page be multiplied calculated value, and
The performance number of each actual page in layer is determined with the attribute of the storage device group based on the foundation for forming the layer Performance-relevant value.
14. memory system control method according to claim 8, wherein
The virtual volume includes multiple virtual pages
Each layer includes multiple actual pages, and
Methods described is further comprising the steps of:
The total amount of I/O frequency is calculated by the controller, the total amount of the I/O frequency is all virtual in virtual volume The I/O frequency of page adds up to;
Ratio based on multiple layers of performance numbers adds up to the I/O frequency calculated, and multiple layers are calculated by the controller Boundary value;And
Based on multiple layers of I/O frequency and the boundary value calculated, multiple layers of layer I/O is determined by the controller frequently Spend scope.
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
CN200980161169.2A CN102483684B (en) 2009-12-24 2009-12-24 Storage system for providing virtual volume
CN201510242032.7A CN104808954B (en) 2009-12-24 2009-12-24 The storage system and its control method of virtual volume are provided

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 CN104808954A (en) 2015-07-29
CN104808954B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10996989B2 (en) * 2016-06-13 2021-05-04 International Business Machines Corporation Flexible optimized data handling in systems with multiple memories
US10534716B2 (en) * 2016-07-13 2020-01-14 Seagate Technology Llc Limiting access operations in a data storage device
JP6851350B2 (en) * 2018-08-30 2021-03-31 株式会社日立製作所 Storage system and storage control method

Citations (1)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5186982B2 (en) * 2008-04-02 2013-04-24 富士通株式会社 Data management method and switch device
US8051243B2 (en) * 2008-04-30 2011-11-01 Hitachi, Ltd. Free space utilization in tiered storage systems

Patent Citations (1)

* 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

Also Published As

Publication number Publication date
CN104808954A (en) 2015-07-29

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
US9703717B2 (en) Computer system and control method
JP4914173B2 (en) Relocation system and relocation method
US7865520B2 (en) Program and method for file access control in a storage system
KR20210054440A (en) Applying endurance groups to zoned namespaces
US9274723B2 (en) Storage apparatus and its control method
CN103761053B (en) A kind of data processing method and device
US20100125583A1 (en) Tracking Memory Space in a Storage System
CN103080894A (en) Storage system, management method of the storage system, and program
US10866741B2 (en) Extending SSD longevity
US9760292B2 (en) Storage system and storage control method
JP2006120120A (en) General storage container for assigning a plurality of data formats
CN107092442A (en) Storage system resources distribution method and device
JP5130169B2 (en) Method for allocating physical volume area to virtualized volume and storage device
CN104808954B (en) The storage system and its control method of virtual volume are provided
US8261038B2 (en) Method and system for allocating storage space
CN101997919B (en) Storage resource management method and device
CN104951242B (en) Method and apparatus for relocating data automatically between storage array
WO2015189988A1 (en) Management server which outputs file relocation policy, and storage system
US9547443B2 (en) Method and apparatus to pin page based on server state
JP6427913B2 (en) Storage system, control device, storage device, input / output control method, and program
JP5355764B2 (en) Method and storage apparatus for controlling data write to virtual logical volume according to Thin Provisioning
EP2378409A2 (en) Method for controlling data write to virtual logical volume conforming to thin provisioning, and storage apparatus

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