CN102483684A - 提供虚拟卷的存储系统 - Google Patents

提供虚拟卷的存储系统 Download PDF

Info

Publication number
CN102483684A
CN102483684A CN2009801611692A CN200980161169A CN102483684A CN 102483684 A CN102483684 A CN 102483684A CN 2009801611692 A CN2009801611692 A CN 2009801611692A CN 200980161169 A CN200980161169 A CN 200980161169A CN 102483684 A CN102483684 A CN 102483684A
Authority
CN
China
Prior art keywords
page
actual page
crowd
virtual
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801611692A
Other languages
English (en)
Other versions
CN102483684B (zh
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/zh
Publication of CN102483684A publication Critical patent/CN102483684A/zh
Application granted granted Critical
Publication of CN102483684B publication Critical patent/CN102483684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Abstract

管理将由多个存储设备提供的多个存储区域依照存储区域的属性进行分类后的多个存储区域组。根据面向逻辑卷内多个地址中所含至少一个地址的写入请求,提供分配到所述多个存储区域中所含至少一个存储区域的多个所述逻辑卷。根据所述逻辑卷内所述至少一个地址的存取状况,将通过所述写入请求写到所述至少一个地址中的数据从所述多个存储区域组的一个中所含所述至少一个存储区域,向所述多个存储区域组所含其它存储区域组内的至少一个存储区域迁移。

Description

提供虚拟卷的存储系统
技术领域
本发明涉及应用Thin Provisioning(自动精简配置,也被称作DynamicProvisioning(动态预配置))的存储控制。
背景技术
数据迁移技术已为人所知。数据迁移通常以卷(volume)为单位进行。例如,根据专利文献1,保存在第一逻辑卷中的所有数据从第一逻辑卷迁移到第二逻辑卷。
另外,存储层次化技术也已为人所知。例如,根据专利文献2,多个存储系统所具有的多个逻辑卷分别被分类至多个层(tier)中的某一个层,某一个层中所属的逻辑卷被迁移到其它的层。多个层中包括例如高可信度的层、低成本的层等。
现有技术文献
专利文献
专利文献1:日本特开2006-302077号公报
专利文献2:日本特开2008-047156号公报
发明内容
发明要解决的课题
但是,被称作Thin Provisioning(也被称作Dynamic Provisioning)的技术已为人所知。根据Thin Provisioning,准备由多个虚拟存储区域(虚拟页)构成的虚拟逻辑卷(虚拟卷)和多个实体的存储区域(实际页)。在对虚拟页进行写入的情况下,对该虚拟页分配实际页,在所分配的实际页中写入作为写入对象的数据。
设Thin Provisioning中应用了上述的数据迁移技术以及存储层次化技术。另外,设第一虚拟卷属于第一层,第二虚拟卷属于第二层。该情况下,能够从第一层中所属的第一虚拟卷向第二层中所属的第二虚拟卷迁移所有的数据。
根据该技术,第一虚拟卷内的所有数据被从第一层迁移到第二层,但是并不一定优选所有的数据存在于第二层。
于是,本发明的目的在于使依照Thin Provisioning的虚拟卷内的数据配置适当化。
用于解决课题的手段
管理将由多个存储设备提供的多个存储区域依照存储区域的属性进行分类后的多个存储区域组。根据面向逻辑卷内多个地址中所含至少一个地址的写入请求,提供分配到所述多个存储区域中所含至少一个存储区域的多个所述逻辑卷。根据所述逻辑卷内所述至少一个地址的存取状况,将通过所述写入请求写到所述至少一个地址中的数据从所述多个存储区域组的一个中所含所述至少一个存储区域,向所述多个存储区域组所含其它存储区域组内的至少一个存储区域迁移。
附图说明
图1表示本发明实施例1的概要。
图2表示存储系统103的构成。
图3表示存储系统103中各种存储区域的关系。
图4表示CMPK119所存储的信息以及计算机程序。
图5表示层定义表401的构成。
图6表示层管理表402的构成。
图7表示池管理表403的构成。
图8表示VVOL管理表404的构成。
图9表示PVOL管理表405的构成。
图10表示分配表407的构成。
图11表示实际页管理表408的构成。
图12表示监视表409的构成。
图13表示度数分布表410的构成。
图14表示迁移页表411的构成。
图15表示迁移定义表412的构成。
图16表示池生成处理的流程图。
图17表示池定义GUI1700。
图18表示VVOL生成处理的流程。
图19表示VVOL生成GUI1900。
图20表示本发明的实施例5所涉及的VVOL管理表4404。
图21表示数据要素的汇总处理的概要。
图22表示信息显示处理的流程。
图23表示度数分布GUI2300。
图24表示写入处理(向高速缓存的写入)的流程。
图25表示降级处理的流程。
图26表示读出处理的流程。
图27表示I/O频度的监视与重新配置的关系的概要。
图28表示重新配置处理的流程。
图29表示层范围决定处理的概要。
图30表示层范围决定处理的流程。
图31表示图30的S4402中层边界值计算处理的流程。
图32表示本发明的实施例5所涉及的池管理表4403。
图33表示本发明的实施例5所涉及的比较方法/比较对象的设定处理的流程。
图34表示图28的S2808中迁移页表生成处理的流程。
图35表示页单位的迁移处理的概要。
图36表示页单位的迁移处理的流程。
图37表示层阈值的变更处理的流程。
图38表示阈值超出应对处理的流程。
具体实施方式
以下,叙述基于本发明的后述多个实施例的观点。
<观点1>
一种存储系统的控制方法,其特征在于,管理将由多个存储设备提供的多个存储区域依照存储区域的属性进行分类后的多个存储区域组,根据面向逻辑卷内多个地址中所含至少一个地址的写入请求,提供分配到所述多个存储区域中所含至少一个存储区域的多个所述逻辑卷,根据所述逻辑卷内所述至少一个地址的存取状况,将通过所述写入请求写到所述至少一个地址中的数据从所述多个存储区域组的一个中所含所述至少一个存储区域,向所述多个存储区域组所含其它存储区域组内的至少一个存储区域迁移。
<观点2>
一种依照观点1的存储系统的控制方法,其特征在于,所述多个存储区域组中所含第一存储区域组和第二存储区域组在每个环中具有与各自的组相应的所述存取状况的程度作为属性,所述第一和所述第二存储区域组的所述存取状况的程度对于每个组不同,但是一部分重复,在所述迁移处理中,在所述多个存储区域组的一个中所含所述至少一个存储区域包含在所述第一或者所述第二存储区域组中并且所述至少一个地址的所述存取状况位于所述存取状况的程度中所述一部分重复的范围内的情况下,不实施所述数据的迁移。
<观点3>
一种与一台以上的主机连接的存储系统,其具备多种物理存储设备群和存储控制装置。所述存储控制装置具有存储资源和控制器,所述控制器与所述多种物理存储设备群、所述存储资源以及所述主机连接。物理存储设备群由一个以上的物理存储设备构成。所述多种物理存储设备群成为多种实际页群的根基。实际页群的种类基于成为该实际页群的根基的物理存储设备群的属性。实际页群具有多个实际页。所述控制器向所述一台以上的主机提供一个以上的虚拟卷。所述虚拟卷是由多个虚拟页构成的虚拟逻辑卷。所述虚拟页是虚拟的存储区域。所述实际页是实体的存储区域。所述存储资源存储分配信息、监视信息和实际页群管理信息,其中,所述分配信息是表示对哪个虚拟页分配了哪个实际页的信息,所述监视信息是表示各虚拟页的I/O(Input/Output)频度的信息,所述实际页群管理信息是包含表示对每种实际页群设定的I/O频度范围信息的信息(可以为表形式或者队列形式等,信息的形式任意)。所述控制器从所述主机接收写入命令,根据所述写入命令确定写入目的地虚拟页,更新所述分配信息,从而对所确定的虚拟页分配自由的实际页,在所分配的实际页中保存写入对象数据。所述控制器根据针对虚拟页或者分配给该虚拟页的实际页的I/O,更新所述监视信息中的、该虚拟页的I/O频度。所述实际页是实体的存储区域,保存在实际页中的数据存储到作为该实际页的根基的物理存储设备。所述控制器进行迁移处理,该迁移处理是包含以下处理(A)至(C)的处理:(A)确定根据所述监视信息所确定的I/O频度不符合预定条件的虚拟卷或者虚拟页,(B)将保存在分配给所确定的虚拟卷或者虚拟页的、第一种实际页群内第一实际页中的数据,迁移到第二种实际页群内的第二实际页,(C)更新所述分配信息,从而以所述第二实际页取代所述第一实际页向所述第一实际页分配目的地虚拟页、即第一虚拟页进行分配。所述预定条件是指纳入所述第一种实际页群的I/O频度范围。所述第二种实际页群是I/O频度范围纳入通过所述(A)所确定的虚拟卷或者虚拟页的I/O频度的实际页群。所述控制器进行I/O频度范围的决定处理,在该决定处理中,所述控制器基于所述监视信息决定各种实际页群的I/O频度范围。控制器例如可以具有至少一个处理器。存储资源例如可以为存储器。主机可以为计算机,也可以为其它的存储系统或者其它的存储控制装置。
由此,能够将虚拟卷内的数据根据虚拟页的I/O频度以页单位重新配置。届时,能够将数据配置在与纳入有分配有保存该数据的实际页的虚拟页的I/O频度的I/O频度范围对应的种类的实际页群中。
<观点4>
一种依照观点3的存储系统,所述控制器在所述决定处理中进行以下处理(a)以及(b):
(a)使用所述监视信息生成表示I/O频度与虚拟页数的关系的信息、即关系信息,
(b)基于所述关系信息决定各种实际页群的I/O频度范围。
<观点5>
一种依照观点4的存储系统,所述控制器在所述处理(b)中进行以下的处理(b1)至(b3):
(b1)使用所述关系信息,计算从所述多种实际页群分配到实际页的一个以上虚拟卷内所有虚拟页的I/O频度的合计、即I/O频度合计,
(b2)基于各种实际页群的性能值的比和所述I/O频度合计,针对实际页群的每个边界计算实际页群的边界的I/O频度、即边界值,
(b3)基于各种实际页群的I/O频度和实际页群的每个边界的边界值,决定各种实际页群的I/O频度范围。
实际页群的所述性能值是基于作为该实际页群的根基的物理存储设备群的属性决定的、与性能相关的值。所述实际页群的边界是指实际页群与其上位以及/或者下位实际页群的交界。各种实际页群的I/O频度范围的最大值以及/或者最小值是基于该实际页群与其上位以及/或者下位实际页群的交界的边界值决定的值。
<观点6>
一种依照观点3至观点5的任一观点的存储系统,所述I/O频度范围的最大值大于与该I/O频度范围对应的较大一方的边界值,以及/或者,该I/O频度范围的最小值小于与该I/O频度范围对应的较小一方的边界值。
<观点7>
一种依照观点3或者观点4的存储系统,实际页群的所述性能值是通过该实际页群中的、能够成为所述迁移处理中的迁移目的地的实际页的数量与该实际页群内每一个实际页的性能值的乘法运算计算出的值。实际页群内每一个实际页的性能值是基于作为该实际页群的根基的物理存储设备群的属性决定的、与性能相关的值。
<观点8>
一种依照观点3至观点7的任一观点的存储系统,所述控制器在所述决定处理中进行以下处理:
(a)使用所述监视信息,计算从所述多种实际页群分配到实际页的一个以上虚拟卷内所有虚拟页的I/O频度的合计、即I/O频度合计,
(b)基于各种实际页群的性能值的比和所述I/O频度合计,针对实际页群的每个边界计算实际页群的边界的I/O频度、即边界值,
(c)基于各种实际页群的I/O频度和实际页群的每个边界的边界值,决定各种实际页群的I/O频度范围。
实际页群的所述性能值是基于作为该实际页群的根基的物理存储设备群的属性决定的、与性能相关的值。所述实际页群的边界是指实际页群与其上位以及/或者下位实际页群的交界。各种实际页群的I/O频度范围的最大值以及/或者最小值是基于该实际页群与其上位以及/或者下位实际页群的交界的边界值决定的值。
<观点9>
一种依照观点3至观点8的任一观点的存储系统,所述控制器在所述决定处理中进行以下处理(d)以及(e):
(d)假定分配给I/O频度纳入实际页群的I/O频度范围的所有虚拟页的实际页内的数据要素被迁移到了该实际页群中,判定该实际页群的使用比例是否超出该实际页群的比例阈值,
(e)在所述(d)中的判断的结果为否定性的情况下,将所决定的I/O频度范围包含在所述实际页群管理信息中。
实际页群的所述使用比例是指分配给虚拟页的实际页的数量相对于构成该实际页群的实际页的数量的比例。所述实际页群的比例阈值是指所述使用比例的阈值。
由此,能够判断I/O频度范围是否合适。
<观点10>
一种依照观点9的存储系统,所述控制器在所述决定处理中还进行以下处理(f):
(f)在所述(d)中的判断的结果为肯定性的情况下,将I/O频度范围修正为实际页群的使用比例不超出该实际页群的比例阈值的大小。
<观点11>
一种依照观点10的存储系统,所述控制器在所述决定处理中还进行以下处理(g):
(g)将修正后的I/O频度范围包含在所述实际页群管理信息中。
<观点12>
一种依照观点3至观点11的任一观点的存储系统,根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指该虚拟卷或者虚拟页的、包含在所述监视信息中的I/O频度。
<观点13>
一种依照观点3至观点12的任一观点的存储系统,根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指所述监视信息中的、与该虚拟卷之外其它虚拟卷的I/O频度、或者该虚拟页以外其它虚拟页的I/O频度的相对值。
<观点14>
一种依照观点3至观点12的任一观点的存储系统,所述控制器接受使所述(A)中的I/O频度为绝对值还是相对值的指示。在接受到使所述(A)中的I/O频度为绝对值的指定的情况下,根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指该虚拟卷或者虚拟页的、包含在所述监视信息中的I/O频度。在接受到使所述(A)中的I/O频度为相对值的指定的情况下,根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指所述监视信息中的、与该虚拟卷之外其它虚拟卷的I/O频度、或者该虚拟页以外其它虚拟页的I/O频度的相对值。
<观点15>
一种依照观点3至观点14的任一观点的存储系统,所述(A)中的I/O频度是某时间的I/O数的平均。
<观点16>
一种依照观点3至观点14的任一观点的存储系统,所述(A)中的I/O频度是与某时间带的多个时间分别对应的多个I/O数中最大的I/O数。
<观点17>
一种依照观点3至观点14的任一观点的存储系统,所述控制器接受使所述(A)中的I/O频度为平均I/O数还是最大I/O数的指定。在接受到使所述(A)中的I/O频度为平均I/O数的指定的情况下,所述(A)中的I/O频度是某时间的I/O数的平均。在接受到使所述(A)中的I/O频度为最大I/O数的指定的情况下,所述(A)中的I/O频度是与某时间带的多个时间分别对应的多个I/O数中最大的I/O数。
<观点18>
一种依照观点3至观点17的任一观点的存储系统,所述控制器从所述主机接收I/O命令,根据该I/O命令确定I/O目的地虚拟页。所述控制器在针对分配给所述I/O目的地虚拟页的实际页进行I/O的情况下更新所述监视信息中的、与所述I/O目的地虚拟页对应的I/O频度,而在不针对分配给所述I/O目的地虚拟页的实际页进行I/O的情况下不更新所述监视信息中的、与所述I/O目的地虚拟页对应的I/O频度。
由此,能够仅在针对实际页进行了I/O的情况下更新分配有该实际页的虚拟页的I/O频度。
<观点19>
一种依照观点18的存储系统,所述存储资源存储状态为激活的监视信息和状态为待机的监视信息作为所述监视信息。所述控制器更新所述激活的监视信息中的I/O频度。所述控制器在所述迁移处理中基于所述激活的监视信息确定所述第一虚拟页,并且将所述待机的监视信息的状态从待机变更为激活,然后,在依照确定虚拟页的I/O命令对实际页进行I/O的情况下,所述控制器更新状态被变更为激活的监视信息中的、该被确定的虚拟页的I/O频度。
由此,即便进行上述迁移处理时也能够继续I/O频度的监视(更新)。
<观点20>
一种依照观点4的存储系统,所述控制器输出所述关系信息,使得所述生成的关系信息得以显示。所述控制器在接受到开始迁移的指示时开始所述迁移处理。
<观点21>
一种依照观点3至观点20中任一观点的存储系统,所述控制器在所述第一实际数据群的使用比例超出预定的比例阈值的情况下开始所述迁移处理。
因此,在所述第一实际数据群的使用比例超出了预定比例阈值的情况下,通过所述迁移处理能够期待在第一实际数据群中自由的实际页有所增加。
<观点22>
一种依照观点3至观点21中任一观点的存储系统,所述第一种实际数据群是最上位的实际数据群。所述控制器必定从所述第一种实际数据群对根据所述写入命令所确定的写入目的地虚拟页分配实际页。
<观点23>
一种依照观点3至观点22中任一观点的存储系统,在分配给所述虚拟卷的所有实际页中预定比例以上的实际页存在于某种实际页群的情况下,所述控制器将分配给所述虚拟卷的所有实际页中的、所述某种实际页群以外的种类的实际页群内的实际页内的数据迁移到所述某种实际页群内的实际页。
由此,能够根据虚拟卷的数据的配置状况,在考虑为适合该虚拟卷的种类的实际页群中汇总该虚拟卷内的数据。
<观点24>
一种依照观点23的存储系统,迁移到所述某种实际页群内的实际页后分配给所述虚拟页的实际页总是所述某种实际页群内的实际页。
由此,在通过迁移处理汇总数据之后,从所述某种实际页群对所述第二虚拟卷分配实际页。
<观点25>
一种依照观点3至观点24的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在没有开始从所述第一实际页向所述第二实际页的数据迁移的情况下将该迁移取消,向所述第二种实际页群内的实际页写入依照所述写入命令的数据,并且更新所述分配信息,从而以该写入目的地实际页取代所述第一实际页分配给所述第一虚拟页。
由于数据在迁移之前写入迁移目的地实际页群,因此针对该数据的写入目的地虚拟页,可以不进行迁移。
<观点26>
一种依照观点3至观点25的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在没有开始从所述第一实际页向所述第二实际页的数据迁移的情况下,向所述第一实际页写入依照所述写入命令的数据,然后,进行所述(A)以及(B)。
<观点27>
一种依照观点3至观点26的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在正从所述第一实际页向所述第二实际页迁移数据的情况下将该迁移取消,向所述第二种实际页群内的实际页写入依照所述写入命令的数据,并且更新所述分配信息,从而以该写入目的地实际页取代所述第一实际页分配给所述第一虚拟页。
<观点28>
一种依照观点3至观点26的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在正从所述第一实际页向所述第二实际页迁移数据的情况下,向所述第一实际页写入依照所述写入命令的数据,然后,重新开始从所述第一实际页向所述第二种实际页群内的实际页的数据迁移。
<观点29>
一种依照观点3至观点26的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在正从所述第一实际页向所述第二实际页迁移数据的情况下,在该迁移结束后,依照所述分配信息向所述第二实际页写入依照所述写入命令的数据。
<观点30>
一种依照观点3至观点26的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在正从所述第一实际页向所述第二实际页迁移数据的情况下,向所述第一实际页和所述第二实际页双方写入依照所述写入命令的数据。
<观点31>
一种依照观点3至观点30的任一观点的存储系统,所述控制器在所述页单位迁移处理开始之后从所述主机接收确定所述第一虚拟页的写入命令,并且在所述(A)以及(B)结束的情况下,依照所述分配信息,向所述第二实际页写入依照所述写入命令的数据。
<观点32>
一种依照观点3至观点31的任一观点的存储系统,所述第一虚拟页是进行了I/O的最新时刻、即最终I/O时刻满足预定条件的虚拟页。
<观点33>
一种依照观点32的存储系统,所述预定条件是指最终I/O时刻是当前时刻之前过去预定时间以上的时间。所述第二种实际页群是比所述第一种实际页群更下位的实际页群。
<观点34>
一种依照观点3至观点33的任一观点的存储系统,所述第一虚拟页是发生依照顺序存取的I/O的虚拟页。所述第二种实际页群是比所述第一种实际页群更下位的实际页群。
<观点35>
一种依照观点3至观点34的任一观点的存储系统,所述控制器仅在预定的时间带进行所述监视信息的更新。所述控制器在每经过预定时间带时,保存所述监视信息。所述第一虚拟页是根据与被指定的时间带对应的监视信息所确定的I/O频度不适合预定条件的虚拟页。
<观点36>
一种与主机连接的存储系统的存储控制装置,其具有存储资源和控制器,所述控制器与所述存储资源以及所述主机连接。所述控制器向所述一台以上的主机提供一个以上的虚拟卷。所述虚拟卷是由多个虚拟页构成的虚拟逻辑卷。所述虚拟页是虚拟的存储区域。所述实际页是实体的存储区域。所述存储资源存储分配信息、监视信息和实际页群管理信息,其中,所述分配信息是表示对哪个虚拟页分配了哪个实际页的信息,所述监视信息是表示各虚拟页的I/O(Input/Output)频度的信息,所述实际页群管理信息是包含表示对每种实际页群设定的I/O频度范围信息的信息。所述控制器从所述主机接收写入命令,根据所述写入命令确定写入目的地虚拟页,更新所述分配信息,从而对所确定的虚拟页从多种实际页群中的某一个分配自由的实际页,在所分配的实际页中保存写入对象数据。所述控制器根据针对虚拟页或者分配给该虚拟页的实际页的I/O,更新所述监视信息中的、该虚拟页的I/O频度。所述实际页是实体的存储区域。实际页群具有多个实际页。所述控制器进行迁移处理,该迁移处理是包含以下处理(A)至(C)的处理:(A)确定根据所述监视信息所确定的I/O频度不符合预定条件的虚拟卷或者虚拟页,(B)将保存在分配给所确定的虚拟卷或者虚拟页的、第一种实际页群内第一实际页中的数据,迁移到第二种实际页群内的第二实际页,(C)更新所述分配信息,从而以所述第二实际页取代所述第一实际页向所述第一实际页分配目的地虚拟页、即第一虚拟页进行分配。所述预定条件是指纳入所述第一种实际页群的I/O频度范围。所述第二种实际页群是I/O频度范围纳入通过所述(A)所确定的虚拟卷或者虚拟页的I/O频度的实际页群。所述控制器进行I/O频度范围的决定处理,在该决定处理中,所述控制器基于所述监视信息决定各种实际页群的I/O频度范围。
上述的观点1以及2是以存储系统的控制方法为例的观点,观点3至35是以存储系统为例的观点,观点36是以存储控制装置为例的观点,它们之中的任何一种观点均能够成为存储系统、存储控制装置、存储控制方法、存储系统或者存储控制装置的控制方法、存储系统或者存储控制装置、计算机程序(例如用于存储控制的计算机程序或者在存储系统或者存储控制装置中执行的计算机程序)中的至少一个的观点。
以下,参照附图说明本发明多个实施例中涉及的存储系统。需要说明的是,在以下的说明中,存在由名称和ID的组合取代参照符号来表示对象的情况。例如,在逻辑卷由参照符号500表示的情况下,表述为“逻辑卷500”,在表示ID为00的逻辑卷的情况下,表述为“逻辑卷#00”。另外,下文中将保存在一个实际页中的数据称为“数据要素”。另外,存在将保存在分配给虚拟页的实际页中的数据要素以“虚拟页内的数据要素”或者与其类似的表达来表示的情况。
实施例1
图1表示本发明实施例1的概要。
存储系统103上连接有主机装置(以下称作主机)101。主机101可以为一台或者多台。存储系统103向主机101提供虚拟卷(以下称作VVOL(VirtualVOLume))203,具有多种层(tier)303。
VVOL203是依照Thin Provisioning的虚拟逻辑卷,即不以物理存储设备(以下称作PDEV)为根基的逻辑卷。VVOL203由多个虚拟页207构成。虚拟页207是虚拟的存储区域。设一个VVOL#00作为VVOL203。下文中,将VVOL#a内的虚拟页#b表述为“虚拟页#(a-b)”。Thin Provisioning的VVOL203作为具有虚拟容量的逻辑卷被提供给主机101,根据从主机101向具有虚拟页的地址的写入请求被分配了实际页。因此,除去为了满足虚拟容量而被分配了实际页的状态,分配给某一VVOL203的所有实际页的总容量小于虚拟容量。一个VVOL203被提供给一台以上的主机101,在提供给多台主机101的情况下,由这些多台主机101共享。
层303由多个实际页209构成。实际页209是实体的存储区域。例如,设层#01和#02这两个层作为层303。下文中,将层#c内的实际页#d表述为“实际页#(c-d)”。而且,层303例如可由一个以上的实际卷(以下称作RVOL(RealVOLume))构成。RVOL是实体的逻辑卷,即以PDEV为根基的逻辑卷。一个池内的多个层303的每一个层在数据迁移前的状态下被设定为被一个或者多个VVOL203利用。
主机101通常是计算机,也可由其它的存储系统来取代计算机。主机101向存储系统103发送例如I/O(Input/Output)命令。I/O命令例如为写入命令或者读出命令,具有I/O目的地信息。I/O目的地信息是表示I/O目的地的信息,例如包括VVOL203的ID(例如LUN(Logical Unit Number:逻辑单元号))和I/O目的地的地址(例如LBA(Logical Block Address:逻辑块地址))。根据I/O目的地信息能够确定I/O目的地VVOL203以及虚拟页207。
设存储系统103从主机101接收写入命令,并基于该写入命令所具有的I/O目的地信息将虚拟页#(00-C)确定为写入目的地。如果所确定的虚拟页#(00-C)未被分配某一个实际页209,则存储系统103对该虚拟页207分配某一个自由(未分配状态)的实际页#(01-D),在所分配的实际页#(01-D)中写入依照写入命令的写入对象数据要素。
本实施例中,数据迁移以页单位进行。具体地,例如如图1所示,存储系统103进行以下的处理:
*将分配给虚拟页#(00-C)的实际页#(01-D)内的数据要素迁移到自由(未分配状态)的实际页#(02-E)
*将虚拟页#(00-C)的分配源从实际页#(01-D)变更为实际页#(02-E)
*将实际页#(01-D)的状态更新为自由(未分配状态)
是否进行数据迁移以及将迁移目的地层配置为哪一个层是基于后述的层范围来决定的。层范围以自动方式来决定。
以下,详细说明实施例1。
图2表示存储系统103的构成。
存储系统103具有多个PDEV105、与多个PDEV105连接的存储控制装置、以及电源单元100。
多个PDEV105包括多种PDEV,例如SSD(Solid State Drive:固态驱动器)以及HDD(Hard Disk Drive:硬盘驱动器)。HDD具有HDD-FC(FibreChannel:光纤通道)、HDD-SATA(Serial ATA:串行ATA)、以及HDD-SAS(Serial Attached SCSI:串行连接SCSI)等。
存储控制装置具有控制器和与控制器连接的多个CMPK(高速缓存封装:Cache Memory Package)119。控制器具有多个CHA(通道适配器:ChannelAdapter)111、多个DKA(盘适配器:Disk Adapter)113、多个MPPK(微处理器封装:MicroProcessor Package)121、以及SW(开关:Switch)117。从冗余化的观点出发,CHA111、DKA113、MPPK121、SW117以及电源单元100分别存在多个,但是它们中至少一者的数量不限于附图所示的2,可比2多或者少。CMPK119的数量可比2多。
电源单元100将基于来自商用电源电力的电力提供给各封装119、111、113、121以及117。
CHA111是与主机101连接的接口装置。CHA111从主机101接收I/O命令(写入命令或者读出命令),并将接收到的I/O命令转发给多个MPPK121中的某一个。
CHA111具有协议芯片112和LR(Local Router:本地路由器)114。协议芯片112进行用于与主机101的通信的协议转换。LR114将接收到的I/O命令转发给与根据该I/O命令具有的I/O目的地信息确定的I/O目的地对应的MPPK121。
DKA113是与HDD105连接的接口装置。DKA113从HDD105读出数据并转发给CMPK119的DRAM(Dynamic Random Access Memory:动态随机存取存储器),或者向HDD105写入来自CMPK119的数据。
MPPK121是具有一个或者多个MP(微处理器:MicroProcessor)的装置。MP处理来自CHA111的I/O命令。
SW117上连接有多个封装、即CHA111、DKA113、CMPK119以及MPPK121。SW117控制PK(封装:Package)间的连接。
CMPK119具有易失性存储器以及/或者非易失性存储器。CMPK119中具有暂时存储例如作为针对虚拟页207(实际页209)的I/O的对象的数据要素的存储区域(以下称作高速缓存或者将其略称为CM)。另外,CMPK119中具有存储各种信息以及计算机程序的存储区域。关于信息以及计算机程序,将在下文中进行说明。
存储系统103上连接有管理装置107。管理装置107例如为具有显示装置以及输入装置的计算机。管理者能够从管理装置107对存储系统103进行各种设定。
图3表示存储系统103中各种存储区域的关系。
如图3所示,从下位到上位,管理一个以上的RG301、一个以上的池201、一个以上的VVOL203。
RG301是RAID组(group)的略称。一个RG301由同一种类的PDEV构成。PDEV的种类例如由性能以及单位成本中的至少一者定义。性能是指例如数据的I/O的速度、或者响应时间(从由主机接受到命令起到返回响应为止的时间长度)。单位成本是保存单位大小(size)的数据所需的价格(例如所谓的比特成本)。例如,RG#00由多个SSD构成,RG#01由多个HDD-SAS构成,RG#02由多个HDD-SATA构成。而且,构成一个RG的多个PDEV的容量例如是相同的。
池201是实际页207的集合。具体地,例如,池201由一个以上的RVOL205构成,各RVOL205由一个以上的实际页207构成。以下,对于构成池201的RVOL,将池VOL加以省略地表示为“PVOL”。
构成一个池201的实际页207进行了层次化。即,一个池201中存在多个层303。层303例如在每种RVOL中存在。例如,根据图3,由于RVOL的种类为3种,因此层303的数量也为3。因此,一个层303中包括与该层对应种类的RVOL205。具体地,例如,层#00是SSD这一种类,基于由SSD构成的RG301的RVOL属于层#00,层#01是HDD-SAS这一种类,基于由HDD-SAS构成的RG301的RVOL属于层#01,层#03是HDD-SATA这一种类,基于由HDD-SATA构成的RG301的RVOL属于层#03。而且,层303不一定严密地针对每种RVOL进行设置,基于类似种类的RG的多个RVOL205可属于同一层303。
VVOL203与一个以上的池201中成为分配源的池201相关联。另外,VVOL203与选择出的池201中可作为分配源使用的层(以下称作分配层)303相关联。另外,一个以上的分配层303之一作为默认的层303与VVOL203相关联。根据图3,VVOL#01的分配层是层#00以及#02。
另外,根据上述的说明,对于多个RVOL而言,只要它们属于同一层,则存在根基为一个RG的可能性,但是如果它们分别属于不同的层,则成为根基的RG各不相同。在对与同一层303相关联的一个或者多个VVOL203的多个虚拟页依次分配多个实际页的情况下,优选跨越与该层303相关联的RG来依次选择实际页。具体地,在从该层303所含多个RVOL205选择多个实际页的情况下,考虑到与RG的关系,依次从不同的RG依次选择实际页。由此,能够提高存取性能。
图4表示CMPK119所存储的信息以及计算机程序。需要说明的是,在本实施例中,采用表作为信息的一个例子,但是信息也可以是表以外的形式(例如队列形式)。
CMPK119存储层定义表401、层管理表402、池管理表403、VVOL管理表404、PVOL管理表405、分配表407、实际页管理表408、监视表409、度数分布表410、迁移页表411以及迁移定义表412作为信息。另外,CMPK119存储控制UI(User Interface:用户接口)的程序即UI控制程序413、控制I/O的程序即I/O控制程序414、以及进行重新配置的程序即重新配置程序415作为计算机程序。而且,这些表以及计算机程序中的至少一个也可以存储在CMPK119以外的存储资源。例如,至少一个计算机程序以及/或者迁移页表411可以存储在MPPK121内的存储器中。
下面说明各表。需要说明的是,在以下的说明中,对象使用ID来确定,但是也可以取代ID或者在其基础上,使用名称以及编号中的至少一个来确定。
图5表示层定义表401的构成。
层定义表401是表示层的定义的表。具体地,例如,表401表示RVOL种类与层ID的关系。根据表401,作为与RVOL种类“SSD”对应的层,准备附加有“00”这一ID的层。
图6表示层管理表402的构成。
层管理表402是用于管理与层相关的信息的表。具体地,例如,表402针对每层具有池ID、层ID、层范围、PVOL ID、层阈值、使用比例、实际页ID。以一个层(以下,在图6的说明中称作“对象层”)为例,这些信息要素具体如下。
*“池ID”是具有对象层的池的ID。
*“层ID”是对象层的ID。根据层ID,成为属于对象层的PVOL的根基的PDEV的种类被唯一确定。
*“层范围”是应该存在于对象层中的实际页的负荷(例如I/O频度)的范围。
*“PVOL ID”是属于对象层的PVOL的ID。
*“层阈值”是对象层的使用比例的阈值。
*“使用比例”是对象层的使用比例,即已分配的实际页的数量相对于构成对象层的实际页的数量的比例。
*“实际页ID”是属于对象层的所有实际页的ID。
根据图6的表402的例子,层阈值是针对每层进行了设定,但是也可以取而代之,对一个池设定一个层阈值,该一个层对于该一个池所具有的所有层是共通的。
图7表示池管理表403的构成。
池管理表403是用于管理与池相关的信息的表。具体地,例如,表403针对每个池具有池ID、层次化、重新配置、自动执行、重新配置执行周期、重新配置执行时刻、监视时间带以及池状态。以一个池(以下,图7的说明中称作“对象池”)为例,这些信息要素具体如下。
*“池ID”是对象池的ID。
*“层次化”是是否对对象池内的实际页进行层次化。“ON”意味着进行层次化(即、对象池中设有多个层),“OFF”意味着不进行层次化(即、对象池中不设层)。
*“重新配置”是是否对对象池内的数据要素进行重新配置。“ON”意味着进行重新配置,“OFF”意味着不进行重新配置。“ON”的情况下,分配到对象池的VVOL或者其虚拟页的I/O频度受到监视,“OFF”的情况下,分配到对象池的VVOL或者其虚拟页的I/O频度不受监视。关于I/O频度的监视,重要的是,如果实际不对分配给I/O目的地VVOL或者虚拟页的实际页进行I/O,则I/O频度不被更新,在对该分配的实际页进行I/O时,I/O频度得到更新。这一点在下文中叙述写入处理以及读出处理时也将进行说明。
*“自动执行”是对象池内的数据要素的重新配置是自动开始还是手动开始。“ON”意味着重新配置以自动形式开始,“OFF”意味着重新配置以手动形式开始。
*“重新配置执行周期”是进行对象池内的数据要素的重新配置的周期。例如,“1日”意味着每1日(24小时)开始进行重新配置。
*“重新配置执行时刻”是开始对象池内的数据要素的重新配置的时刻。
*“监视时间带”是对分配给分配到对象池的VVOL的实际页的I/O频度进行监视的时间带。
*“池状态”是对象池的状态。作为“池状态”的值,例如有“监视中”、“重新配置中”、“非监视中”。“监视中”意味着正在监视分配到对象池的VVOL或者该VVOL内的虚拟页的I/O频度,并且没有进行数据要素的重新配置。“重新配置中”意味着正在进行数据要素的重新配置(可以是对象池内的重新配置,也可以是从对象池向其它池的数据要素的重新配置)。“非监视中”意味着既非正在监视I/O频度也非正在进行数据要素的重新配置。
图8表示VVOL管理表404的构成。
VVOL管理表404是用于管理与VVOL相关的信息的表。具体地,表404针对每个VVOL具有VVOL ID、PVOL ID、分配层ID、默认层ID、容量、重新配置、自动执行、重新配置执行周期、重新配置执行时刻以及监视时间带。这些信息要素中,重新配置、自动执行、重新配置执行周期、重新配置执行时刻以及监视时间带与池管理表403中的信息要素相同,但是如果该表404中的信息要素(例如“重新配置”)的值与池管理表403中的相同信息要素(例如“重新配置”)的值不同,则可优先该表404中的值。即,在池管理表403中,针对一个池设定信息要素的值,其结果,能够使该值反映到针对分配到该池的所有VVOL的设定中,能够针对每个VVOL进行设定。如果未针对VVOL特别设定值,该针对分配给该VVOL的池设定的值作为针对该VVOL的值。以一个VVOL(以下,图8的说明中称作“对象VVOL”)为例,该表404中的上述信息要素具体如下。
*“VVOL ID”是对象VVOL的ID。
*“PVOL ID”是分配给对象VVOL的池(以下称作分配池)的ID。
*“分配层ID”是分配给分配池所具有的多个层中的对象VVOL的层的ID。从分配层向对象VVOL内的虚拟页分配实际页。
*“默认层ID”是默认层的ID。默认层是指成为最初分配给作为从主机101的写入目的地的虚拟页的实际页的提供源的层。
*“容量”是对象VVOL的容量。
*“重新配置”是是否对对象VVOL内的数据要素进行重新配置。“ON”意味着进行重新配置,“OFF”意味着不进行重新配置。“ON”的情况下,对象VVOL或者其虚拟页的I/O频度受到监视,“OFF”的情况下,对象VVOL或者其虚拟页的I/O频度不受监视。
*“自动执行”是对象VVOL内的数据要素的重新配置是自动开始还是手动开始。“ON”意味着重新配置以自动形式开始,“OFF”意味着重新配置以手动形式开始。
*“重新配置执行周期”是进行对象VVOL内的数据要素的重新配置的周期。
*“重新配置执行时刻”是开始对象VVOL内的数据要素的重新配置的时刻。
*“监视时间带”是对对象VVOL或者虚拟页的I/O频度进行监视的时间带。
图9表示PVOL管理表405的构成。
PVOL管理表405是用于管理与PVOL相关的信息的表。具体地,例如,表405针对每个PVOL具有RG ID、PDEV ID、种类、PVOL ID、以及容量。以一个PVOL(以下,图9的说明中称作“对象PVOL”)为例,这些信息要素具体如下。
*“RG ID”是作为对象PVOL的根基的RG的ID。
*“PDEV ID”是构成作为对象PVOL的根基的RG的所有PDEV的ID。
*“种类”是对象PVOL的种类。这与作为对象PVOL的根基的PDEV的种类相同。例如,RVOL种类如果为“SSD”,则对象PVOL的种类也为“SSD”。
*“PVOL ID”是对象PVOL的ID。
*“容量”是对象PVOL的容量。
图10表示分配表407的构成。
分配表407是表示对哪个虚拟页分配了哪个实际页的表。具体地,例如,表407针对每个虚拟页具有VVOL ID、虚拟页ID、池ID、实际页ID以及层ID。以一个虚拟页(以下,图10的说明中称作“对象虚拟页”)为例,这些信息要素具体如下。
*“VVOL ID”是具有对象虚拟页的VVOL的ID。
*“虚拟页ID”是对象虚拟页的ID。
*“池ID”是分配给具有对象虚拟页的VVOL的池的ID。
*“实际页ID”是分配给对象虚拟页的实际页的ID。
*“层ID”是具有分配给对象虚拟页的实际页的层的ID。
图11表示实际页管理表408的构成。
实际页管理表408是用于管理各实际页的状态的表。具体地,例如,表408针对每个实际页具有池ID、实际页ID以及状态。以一个实际页(以下,图11的说明中称作“对象实际页”)为例,这些信息要素具体如下。
*“池ID”是具有对象实际页的池的ID。
*“实际页ID”是对象实际页的ID。
*“状态”是对象实际页的状态。作为状态的值,例如有“使用中”和“自由”。“使用中”意味着对象实际页已经分配给某一个虚拟页。“自由”意味着如下状态:对象实际页未分配给任意一个虚拟页,因此能够对任意一个虚拟页进行分配。
图12表示监视表409的构成。
监视表409存在于每个VVOL。表409是表示虚拟页的I/O频度的表。以一个VVOL(以下,在图12的说明中称作“对象VVOL”)为例,说明表409。
表409具体例如针对每一虚拟页具有VVOL ID、虚拟页ID、合计I/O数、平均I/O数、最大I/O数以及最终I/O时刻。以一个虚拟页(以下,图12的说明中称作“对象虚拟页”)为例,这些信息要素具体如下。
*“VVOL ID”是具有对象虚拟页的VVOL(即对象VVOL)的ID。
*“虚拟页ID”是对象虚拟页的ID。
*“合计I/O数”是在监视时间带内对对象虚拟页进行的I/O的数量。
*“平均I/O数”是通过“合计I/O数”的值除以预定时间计算出的值。
*“最大I/O数”是构成监视时间带的多个时间带中多个I/O数(针对对象虚拟页的I/O数)中最大的I/O数。
*“最终I/O时刻”是对对象虚拟页进行了I/O的最新时刻。
表409存在例如两个(也可多于两个)。两个表409交替使用。具体地,例如,在执行重新配置的情况下,使用关于该执行时刻点附近的监视时间带的表409,生成后述的迁移页表411,并且使用另一个表409,进行I/O频度的监视。在以下的说明中,有时将正在使用的表409称作激活(active)的表409,将未使用的表409称作待机(stand-by)的表409。
图13表示度数分布表410的构成。
度数分布表410是表示I/O数与虚拟页数的相关的表。该表410基于监视表409生成。作为I/O数,可采用上述的表409中合计I/O数、平均I/O数以及最大I/O数中的至少一个。图13是采用平均I/O数的例子。即,图13所示的表410表示不同平均I/O数的虚拟页的数量。根据图13可知,平均I/O数为“0”的虚拟页的数量为“561”。该表410(或者基于该表410生成的图)显示在管理装置107中。管理者能够基于表401(或者基于其的图)通过手动指示存储系统103开始数据要素的重新配置。
度数分布表410可随着监视表409的更新而更新,也可在从管理者指令显示度数分布时基于表409来生成。
图14表示迁移页表411的构成。
迁移页表411是进行页单位的数据迁移时基于监视表409生成的表。表411表示迁移源与迁移目的地的关系。具体地,例如,表411针对作为迁移对象的每个虚拟页具有虚拟页ID、迁移源层ID、迁移目的地层ID以及迁移状态。以一个虚拟页(以下,在图14的说明中称作“对象虚拟页”)为例,这些信息要素具体如下。
*“虚拟页ID”是对象虚拟页的ID。
*“迁移源层ID”是具有分配给对象虚拟页的实际页(迁移源实际页)的层的ID。
*“迁移目的地层ID”是成为数据要素的迁移目的地的层的ID。迁移目的地实际页是该层中某一个自由的实际页。
*“迁移状态”是关于对象虚拟页的迁移的状态。作为“迁移状态”的值,例如具有“已迁移”、“迁移中”以及“未迁移”。“已迁移”意味着从迁移源实际页到迁移目的地层中某一个实际页已经将数据要素迁移。“迁移中”意味着从迁移源实际页到迁移目的地层中某一个实际页正在迁移数据要素。“未迁移”意味着从迁移源实际页到迁移目的地层中某一个实际页尚未开始迁移数据要素。
而且,迁移页表411可以取代虚拟页ID或者在其基础上具有与迁移源相关的其它种类的信息要素。例如,分配给虚拟页的实际页的ID可以包含在表411中。
另外,迁移页表411可以取代迁移目的地层ID或者在其基础上具有与迁移目的地相关的其它种类的信息要素。例如,可基于表402(图6)以及408(图11)确定迁移目的地层中自由的实际页,将该确定出的实际页的ID包含在表411中。届时,确定出的实际页的状态可从“自由”更新为“使用中”(或者其它的状态(例如“保留”)。
图15表示迁移定义表412的构成。
迁移定义表412针对各VVOL表示与迁移有关的定义。具体地,表412针对每个VVOL具有VVOL ID、层维持、分配层ID以及保存阈值。以一个VVOL(以下,在图15的说明中称作“对象VVOL”)为例,这些信息要素具体如下。
*“VVOL ID”是对象VVOL的ID。
*“分配层ID”是对象VVOL的分配层的ID。
*“保存阈值”是分配层的保存比例的阈值。该阈值针对每个分配层设定。对于“保存比例”,如果针对一个分配层(以下,在该段落的说明中称作“对象分配层”)而言,则如下所述。即,保存比例是对象VVOL内所有数据要素中多大程度比例的数据要素保存在了对象分配层中。
根据图15的表412的例子,保存阈值针对每个层设定,但是也可以取而代之,对于一个池设定一个保存阈值,该一个层对于该一个池所具有的所有层是共通的。
以下说明本实施例中进行的处理。需要说明的是,在以下的说明中,计算机程序所进行的处理实际上是执行计算机程序的MP(微处理器)在进行。MP位于MPPK121(参照图2)中。
<池的生成>
图16表示池生成处理的流程。需要说明的是,该<池的生成>的说明中,将通过该池生成处理新生成的池称作“对象池”。
(S1601)
UI控制程序413从管理者通过管理装置107接受池生成指示。然后,程序413进行例如下述准备处理。
*程序413将对象池的新的记录追加到表402(图6)、403(图7)、408(图11)。
*程序413从管理者通过管理装置107接受PVOL的指定。具体地,例如,程序413显示与RVOL相关的信息(例如ID、种类等),接受作为PVOL的RVOL的指定。
针对每个被指定的RVOL,进行S1602~S1605。以一个RVOL(以下,在图16的说明中称作“对象RVOL”)为例,说明S1602~S1605。
(S1602)
程序413确定被指定的RVOL的种类。具体地,例如,CMPK119存储有针对每个RVOL具有ID、容量、种类(例如SSD、HDD-SAS)等的RVOL管理表,程序413根据该RVOL管理表确定被指定的RVOL的种类。
(S1603)
程序413根据层管理表403判断与被确定的RVOL种类对应的层是否已经存在于对象池中。在该判断的结果为否定性的情况下,进行S1604,在该判断的结果为肯定性的情况下,进行S1605。
(S1604)
程序413根据层定义表401确定与被确定的RVOL种类对应的层的ID。然后,程序413针对对象池将被确定的层ID追加到表402(图6)中。
(S1605)
程序413在与被确定的RVOL种类对应的层(以下,在该段落中称作“对象层”)中追加对象RVOL。具体地,例如,程序413在表402(图6)中登记对象RVOL的ID作为与对象层的层ID对应的PVOL ID。
(S1606)
程序413针对所有被指定的RVOL判断是否进行了S1602以后的处理。如果在被指定的RVOL中存在没有进行S1602以后的处理的RVOL,则针对该RVOL进行S1602以后的处理。
(S1607)
程序413显示池定义GUI(Graphical User Interface:图形用户接口)。然后,程序413通过该GUI接受各种设定。
图17表示池定义GUI1700。
GUI1700中显示对象池的ID。而且,程序413也能够响应管理者对预定工具(例如下拉菜单)的操作,显示对象池以外的池(即、既有的池)的ID。
另外,GUI1700具有管理者为了针对正在显示的ID所表示的池输入应该在表403(图7)中设定的信息要素“层次化”、“重新配置”、“自动执行”、“执行周期”、“执行时刻”、“监视时间带”、“层阈值”的值而使用的输入工具。作为本实施例中所说的输入工具,能够采用无线电按钮、复选框、文本输入栏等任意的工具。而且,GUI1700中,针对“层阈值”,能够使一个阈值在对象池所具有的全部层中共通,或者能够针对对象池所具有的每个层设定阈值。
而且,如上所述,由于GUI1700中也能够显示既有的池的ID,因此使用GUI1700能够变更关于管理者所希望的既有的池的设定。届时,例如,如果管理者所希望的层阈值高于设定为该层阈值的层的使用比例,则程序413可将其作为不合适的层阈值在管理装置105中显示警告,并且不在表402(图6)中登记该层阈值。
再次参照图16。
(S1608)
程序413更新表。具体地,例如,程序413进行下述处理。
*程序413在表403(图7)中登记输入到图17的GUI1700的、信息要素“层次化”、“重新配置”、“自动执行”、“执行周期”、“执行时刻”、“监视时间带”、“层阈值”的值。
*程序413将对象池划分为多个实际页,将该多个实际页的ID追加到表402(图6)、以及408(图11)中。
实际页的容量在所有的池中可以是共通的。因此,构成对象池的实际页的数量可依存于对象池的容量(构成对象池的PVOL的总容量)。
而且,对于每个PVOL,实际页的容量可以不同。具体地,例如,构成基于RAID5(4D+1P)的RG的PVOL的实际页的容量与构成基于RAID6(4D+2P)的RG的PVOL的实际页的容量可以不同。之所以这样,是因为保存在一个实际页中的奇偶校验位的数量不同。
<VVOL的生成>
图18表示VVOL生成处理的流程。需要说明的是,该<VVOL的生成>的说明中,将通过该VVOL生成处理新生成的VVOL称作“对象VVOL”。
(S1801)
UI控制程序413显示VVOL生成GUI。然后,程序413通过该GUI接受各种设定。
图19表示VVOL生成GUI1900。
GUI1900中显示对象VVOL的ID。而且,程序413也能够响应管理者对预定工具(例如下拉菜单)的操作,显示对象VVOL以外的VVOL(既有的VVOL)的ID。
GUI1900具有管理者为了针对正在显示的ID所表示的VVOL输入应该在表404(图8)中设定的信息要素“池ID”、“容量”、“重新配置”、“自动执行”、“执行周期”、“执行时刻”、“监视时间带”的值而使用的输入工具。
另外,GUI1900根据表402(图6)确定与输入的池ID对应的层ID,并显示被确定的所有层ID。GUI1900具有管理者为了针对正在显示的ID所表示的VVOL输入“分配层”、“保存阈值”以及“默认层”的值而使用的输入工具。管理者能够使用那些输入工具输入将输入的池ID所表示的池(分配给VVOL的池)具有的多个层中的哪个作为分配层、将分配层中的哪个作为“默认层”、以及各分配层的保存阈值。
再次参照图18。
(S1802)
程序413更新表。具体地,例如,程序413进行下述处理。
*程序413在表404(图8)中登记输入到图19的GUI1900的、信息要素“池ID”、“容量”、“重新配置”、“自动执行”、“执行周期”、“执行时刻”、“监视时间带”、“分配层ID”以及“默认层ID”的值。
*程序413基于对象VVOL的容量计算构成对象VVOL的虚拟页的数量。程序413在表407(图10)中登记对象VVOL的ID和计算出的虚拟页数量个的虚拟页ID。
*针对对象VVOL,如果“重新配置”为“ON”,则程序413生成表409(图12)。这是因为在监视时间带中进行I/O频度的监视。而且,表409中登记上述计算出的虚拟页数量个的虚拟页ID。
*程序413针对对象VVOL在表412(图15)中登记“分配层ID”以及“保存阈值”。
<信息的显示>
图22表示信息显示处理的流程。
UI控制程序413从管理装置107接受显示命令(S2201),在管理装置107中显示由显示命令指定的信息(S2202)。
作为可显示的信息的种类,例如为表401~412中的至少一个(或者对它们进行加工而得到的信息(例如图、摘要等))。
图23表示度数分布GUI2300。
度数分布GUI2300在图22的S2202中显示。具体地,例如,在图22的S2201中,管理装置107依照来自管理者的请求发送指定了管理者所希望的VVOL ID的度数分布显示命令。在图22的S2202中,程序413响应该命令,从表410(图13)提取与由该命令指定的VVOL ID对应的度数分布,并如图23所示将提取出的度数分布显示在管理装置107中。需要说明的是,度数分布是以表形式显示的,但是也可取代其或者在其基础上以图形式等其它形式来显示。
管理者看到显示在GUI2300中的度数分布来判断是否迁移所希望的VVOL内的数据要素。例如,管理者可以在认为存在大量平均I/O数高的虚拟页数的情况下指示存储系统103迁移所希望的VVOL内的数据要素(例如,可以按压GUI2300中的“迁移执行”按钮)。
这样,度数分布作为用于管理者判断是否进行数据迁移(VVOL内的数据要素的迁移)的判断材料来使用。换言之,如果数据执行自动执行,则可以不计算度数分布。
<写入处理(向高速缓存写入)>
图24表示写入处理(向高速缓存写入)的流程。
(S2401)
I/O控制程序414从主机101接收写入命令。
(S2402)
程序414根据接收到的写入命令所具有的I/O目的地信息确定写入目的地的VVOL以及虚拟页。此处,确定出多个虚拟页的情况很多。之所以这样,是由于写入对象数据的大小通常大于一个虚拟页的容量。针对所确定的每个虚拟页,进行S2403以后的处理。以下,以一个虚拟页为例(在图24的说明中称作“对象虚拟页”),说明S2403以后的处理。另外,在图24的说明中,将针对对象虚拟页的写入对象数据要素称作“对象数据要素”。
(S2403)
程序414判断对象虚拟页的ID是否存在于迁移页表411中。在该判断的结果是否定性的情况下,进行S2404~S2406,在该判断的结果为肯定性的情况下,进行S2407~S2408。
(S2404)
程序414基于分配表407(图10)判断实际页是否分配给了对象虚拟页。如果该判断的结果为否定性的,则进行S2405。
(S2405)
程序414进行以下处理。
*程序414基于VVOL管理表404(图8)确定与写入目的地VVOL对应的池以及该池内的默认层。
*程序414基于层管理表402(图6)以及实际页管理表408(图11)确定被确定的默认层内的自由的实际页。
*程序414对对象虚拟页分配所确定的实际页。即,程序414在分配表407(图10)中与对象虚拟页的ID对应的栏中登记所分配的实际页的ID、具有该实际页的层的ID、具有该层的池的ID。
*程序414在根据默认层不能确定自由的实际页的情况下,可以根据与写入目的地VVOL对应的分配层确定自由的实际页,并将所确定的实际页分配给对象虚拟页。
*程序414更新表402(图6)中具有所分配的实际页的层(在该S2403的说明中称作“分配源层”)的“使用比例”的值。
*程序414进行分配源层的“使用比例”的更新后的值是否超过了分配源层的“层阈值”的值的判断(以下称作“判断Z”)。分配源层的“层阈值”的值是登记在表402(图6)中的值、或者登记在表412(图15)中的值,但是可优先采用登记在表412中的值。
*如果判断Z的结果是肯定性的,则程序414可以进行下述(a)以及(b)中的至少一个处理。
(a)程序414可将错误(error)通知给管理装置107(以及/或者作为写入命令发送源的主机101)。管理者在针对分配源层知道了错误的情况下,能够在分配源层中追加RVOL。
(b)程序414调用重新配置程序415。重新配置程序415进行图38所示的处理。图38所示的处理将在后面说明。
(S2406)
程序414从高速缓存确保用于保存在对象虚拟页中的数据要素的CM区域。
(S2407)
程序414根据迁移页表411中与对象虚拟页对应的“迁移状态”的值确保CM区域。具体如下。
<<情形A:“迁移状态”为“未迁移”>>
例如,进行以下(具体例A1)以及(具体例A2)中的某一个。
(具体例A1)
*程序414确保CM区域,将与对象虚拟页对应的迁移目的地层中的自由的实际页决定为写入目的地。更具体地,例如,如果迁移目的地层中某一个自由的实际页内的数据要素在高速缓存中,则程序414确保存在该数据要素的CM区域,并且将该自由的实际页决定为写入目的地。迁移目的地层中的自由的实际页如上所述能够基于表402(图6)以及408(图11)来确定。
*程序414将与对象虚拟页对应的“迁移状态”更新为“已迁移”。其结果,针对对象虚拟页不进行数据要素的迁移。即,换言之,针对对象虚拟页,数据要素的迁移被取消。
*程序414将所决定的写入目的地实际页取代原来的实际页分配给对象虚拟页。即,程序414在分配表407中与对象虚拟页的ID对应的栏中改写上述所决定的写入目的地实际页的ID以及具有该实际页的层的ID(迁移目的地层的ID)。
*程序414将实际页管理表408(图11)中分配给对象虚拟页的原来的实际页的“状态”更新为“自由”。另外,程序414将该表408中新分配给对象虚拟页的实际页(所决定的写入目的地实际页)的“状态”更新为“使用中”。
(具体例A2)
*程序414确保CM区域,将分配给对象虚拟页的实际页(迁移源层内的实际页)决定为写入目的地。更具体地,例如,如果迁移目的地层中任何一个自由的实际页内的数据要素都不在高速缓存中,则程序414确保CM区域(例如存在分配给对象虚拟页的实际页内的数据要素的区域),并且将分配给对象虚拟页的实际页(迁移源层内的实际页)决定为写入目的地。
*程序414可将与对象虚拟页对应的“迁移状态”更新为“中断”。由此,例如,针对对象虚拟页,不进行基于重新配置程序415的数据迁移。而且,该“迁移状态”的值例如可以通过程序414在后述的降级(destage)完成的情况下从“中断”恢复成“未迁移”。
<<情形B:“迁移状态”为“迁移中”>>
例如进行以下的(具体例B1)~(具体例B3)之一。
(具体例B1)
*程序414将与对象虚拟页对应的“迁移状态”更新为“中断”。然后,程序414进行上述的(具体例A1)或者(具体例A2)。在进行了(具体例A1)的情况下,与对象虚拟页对应的“迁移状态”更新为“已迁移”。在进行了(具体例A2)的情况下,与对象虚拟页对应的“迁移状态”更新为“未迁移”。
(具体例B2)
*程序414确保CM区域。在(具体例B2)的情况下,在与对象虚拟页对应的“迁移状态”更新为“已迁移”之后进行降级。因此,写入目的地(降级目的地)为迁移目的地层内的实际页。之所以这样,是因为对象虚拟页被分配了迁移目的地层内的实际页。
(具体例B3)
*程序414确保CM区域。在(具体例B3)的情况下,在与对象虚拟页对应的“迁移状态”为“迁移中”期间进行降级,数据要素被降级到分配给对象虚拟页的实际页和迁移目的地层内的实际页的双方(进行所谓的二重写入)。
<<情形C:“迁移状态”为“已迁移”>>
例如进行以下处理。
*程序414确保CM区域。该情形中,写入目的地(降级目的地)是迁移目的地层内的实际页。之所以这样,是因为由于与对象虚拟页对应的“迁移状态”被更新为了“已迁移”,所以分配给对象虚拟页的实际页如后面说明的那样被变更为成为迁移目的地的实际页。
(S2408)
在对于通过S2402所确定的所有虚拟页确保了CM区域的情况下,程序414向所确保的一个以上的CM区域写入作为写入对象的数据,并将写入完成向主机101进行响应。
<写入处理(降级)>
图25表示降级处理的流程。
I/O控制程序414针对构成写入对象数据的各数据要素进行降级处理。
(S2501)
程序414进行降级。即,程序414将存在于高速缓存中的多个数据要素中尚未写入实际页的数据要素(脏数据要素)写入实际页。降级目的地实际页是分配给成为该实际页的写入目的地的虚拟页的实际页(根据分配表407确定的实际页)。而且,此时,如果与该虚拟页对应的“迁移状态”为“中断”,则程序414可以将该“迁移状态”更新为“未迁移”。
(S2502)
程序414基于表403(图7)或者404(图8)判断是否有更新监视表409的必要。可优先表404(图8)。具体地,例如,程序414进行以下的两个判断,即判断P以及判断Q。
(判断P)程序414判断与具有S2501中的降级目的地实际页的池(以下,在图25的说明中称作“对象池”)对应的“重新配置”是否为“ON”、或者与具有分配到该降级目的地实际页的虚拟页的VVOL(以下,在图25的说明中称作“对象VVOL”)对应的“重新配置”是否为“ON”。在该判断P的结果为否定性的情况下,不进行S2503(即,没有更新监视表409的必要)。
(判断Q)在判断P的结果为肯定性的情况下,程序414判断当前的时刻是否在与对象池对应的“监视时间带”的值所表示的时间带内。在该判断Q的结果为否定性的情况下,不进行S2503。另一方面,不仅判断P,该判断Q的结果也是肯定性的情况下,进行S2503(即,有更新监视表409的必要)。
(S2503)
程序414更新监视表409。具体如下。
*如果表412(图15)中与对象VVOL对应的“页单位迁移”为“ON”,则程序414更新与对象VVOL对应的激活的监视表409。具体地,例如,程序414更新激活的监视表409中的、与被降级的数据要素的写入目的地虚拟页对应的“合计I/O数”的值(例如增加1),并且更新“最终I/O时刻”的值。另外,程序414针对例如该写入目的地虚拟页将降级时间点的时刻追加到上述的I/O履历表中。该情况下,I/O履历表中可以记录写入目的地虚拟页的ID。例如,可以基于该I/O履历表,而后由程序414更新激活的监视表409中“平均I/O数”以及“最大I/O数”。
<读出处理>
图26表示读出处理的流程。
(S2600)
I/O控制程序414从主机101接收读出命令。然后,程序414根据接收到的读出命令所具有的I/O目的地信息确定读出源VVOL以及虚拟页。
(S2601)
程序414判断高速缓存上是否具有读出对象数据。该判断的结果为否定性的情况下,进行S2603,该判断的结果为肯定性的情况下,进行S2602。
(S2602)
程序414将高速缓存上的读出对象数据发送给主机101。该情况下,与读出源VVOL对应的监视表409不被更新。这是由于没有进行针对实际页的I/O。
(S2603)
程序414基于分配表407判断是否对通过S2600所确定的虚拟页分配了实际页。该判断的结果为否定性的情况下,进行S2604,该判断的结果为肯定性的情况下,进行S2605。
(S2604)
程序414向主机101发送预定响应(例如表示零的数据)。
(S2605)
程序414判断通过S2600所确定的一个以上的虚拟页的ID中的至少一个是否在迁移页表411中已登记、并且与该已登记的虚拟页ID对应的“迁移状态”是否为“迁移中”。该判断的结果为否定性的情况下,进行S2607,该判断的结果为肯定性的情况下,进行S2606。
(S2606)
程序414从分别分配给通过S2600所确定的一个以上的虚拟页的一个以上的实际页(根据分配表407所确定的一个以上的实际页)读出数据要素。程序414将由那些数据要素所构成的读出对象数据发送给主机101。
(S2607)
程序414针对“迁移状态”为“迁移中”的虚拟页等待至“迁移状态”更新为“已迁移”。然后,程序414从分别分配给通过S2600所确定的一个以上的虚拟页的一个以上的实际页(根据分配表407所确定的一个以上的实际页)读出数据要素。程序414将由那些数据要素所构成的读出对象数据发送给主机101。
(S2608)
程序414基于表403(图7)或者404(图8)判断是否有更新监视表409的必要。可优先表404(图8)。具体地,例如,程序414进行以下的两个判断,即判断V以及判断W。
(判断V)程序414判断与分配给读出源VVOL的池(以下,在图26的说明中称作“读出源池”)对应的“重新配置”是否为“ON”、或者与读出源VVOL对应的“重新配置”是否为“ON”。在该判断V的结果为否定性的情况下,不进行S2609(即,没有更新监视表409的必要)。
(判断W)在判断V的结果为肯定性的情况下,程序414判断当前的时刻是否在与对象池对应的“监视时间带”的值所表示的时间带内。在该判断W的结果为否定性的情况下,不进行S2609。另一方面,不仅判断V,该判断W的结果也是肯定性的情况下,进行S2609(即,有更新监视表409的必要)。
(S2609)
程序414更新监视表409。具体如下。
*如果表412(图15)中与读出源VVOL对应的“页单位迁移”为“ON”,则程序414更新与读出源VVOL对应的激活的监视表409。具体地,例如,程序414更新激活的监视表409中读出源的与写入目的地虚拟页对应的“合计I/O数”的值(例如增加1),并且更新“最终I/O时刻”的值。另外,程序414针对例如该读出源虚拟页将读出时间点的时刻追加到上述的I/O履历表中。该情况下,I/O履历表中还可以记录读出源虚拟页的ID。例如,可以基于该I/O履历表,而后由程序414更新激活的监视表409中“平均I/O数”以及“最大I/O数”。
<I/O频度的监视与重新配置处理的关系>
图27表示I/O频度的监视与重新配置的关系的概要。
在监视针对实际页的I/O,并进行了针对实际页的I/O的情况下,分配到该实际页的虚拟页或者具有该虚拟页的VVOL的I/O频度被更新。即,监视表409被更新。换言之,如上所述,I/O控制程序414虽然从主机101接受了读出命令,但是在没有从实际页读出数据要素的情况下,监视表409不被更新。
随着监视表409的更新,度数分布表410被更新。而且,度数分布表410可以不预先准备,例如可以在由管理者指令了显示度数分布的情况下基于监视表409生成度数分布表410,并基于该表410显示度数分布。而且,还可以取代度数分布,显示监视表409。
重新配置处理具有层判定处理和迁移处理。层判定处理中生成迁移页表411。该表411可以基于监视表409所表示的I/O频度和层管理表402(图6)内的层范围来生成。迁移处理中基于所生成的迁移页表411进行页单位的数据迁移。
<重新配置处理>
重新配置处理可以在某层的使用比例超过该层的层阈值的情况下来进行,也可以定期性(例如每次到达“重新配置执行时刻”的值所表示的时刻时)进行。
图28表示重新配置处理的流程。需要说明的是,图28是针对一个VVOL(图28的说明中称作“对象VVOL”)的流程。
(S2801)
重新配置程序415判断是否针对对象VVOL执行数据迁移。具体进行如下处理。
*程序415判断VVOL管理表404(图8)中与对象VVOL对应的“自动执行”是否为“ON”。在与对象VVOL对应的“自动执行”的值没有设定的情况下,程序415判断池管理表403(图7)中与分配给对象VVOL的池(以下,在图28的说明中称作“对象池”)对应的“自动执行”是否为“ON”。
*在与对象VVOL或者对象池对应的“自动执行”为“ON”的情况下,程序415判断当前时刻是否到达了与对象VVOL或者对象池对应的“重新配置执行时刻”的值所表示的时刻。在该判断的结果为肯定性的情况下,S2801的判断的结果为肯定性,在该判断的结果为否定性的情况下,S2801的判断的结果为否定性。
*在与对象VVOL或者对象池对应的“自动执行”为“OFF”的情况下,如果程序415从管理者通过管理装置105针对对象VVOL接受到了数据迁移的指示,则S2801的判断的结果为肯定性。
如果与对象VVOL或者对象池对应的“自动执行”为“OFF”(S2802:否),则程序415进行S2806。
如果与对象VVOL或者对象池对应的“自动执行”为“ON”(S2802:是),则程序415进行S2807。
(S2806)
程序415判断是否由管理者设定了层范围。在该判断的结果为否定性的情况下,在进行了S2807之后进行S2808,在该判断的结果为否定性的情况下,不进行S2807,直接进行S2808。
(S2807)
程序415进行层范围决定处理。通过该处理来决定层范围。作为决定层范围的方法,可考虑到多种。例如,可预先准备多种层范围,也可由程序415针对每个层从该多种层范围中选择任意的层范围。
(S2808)
程序415进行层判定处理。层判定处理中,如上所述,生成迁移页表411。
(S2809)
程序415依照所生成的迁移页表411进行页单位的迁移处理。在页单位的数据迁移中,在对象池内从某层内的实际页向其它层内的实际页迁移数据要素。针对页单位的迁移处理,将在后面详细说明。
<<页单位的迁移处理>>
图34表示图28的S2808中的迁移页表生成处理的流程。
(S3401)
程序415选择对象VVOL的最初的虚拟页。
(S3402)
程序415基于分配表407判断是否对被选择的虚拟页分配了实际页。如果该判断的结果是否定性的,则进行S3405,如果该判断的结果是肯定性的,则进行S3403。
(S3403)
程序415基于监视表409判断是否应该变更分配给被选择的虚拟页的实际页内的数据要素所应该存在的层。具体如下。
*程序415根据表402(图6)确定具有分配给被选择的虚拟页的实际页的层(在S3403的说明中称作“对象层”)。
*程序415基于被选择的虚拟页的I/O频度(例如与对象VVOL对应的激活的监视表409所表示的合计I/O数、平均I/O数、以及最大I/O数中的至少一个)和与对象层对应的“层范围”的值判断是否应该将分配给被选择的虚拟页的实际页内的数据要素从对象层迁移到其它的层。例如,如果被选择的虚拟页的I/O频度未纳入被选择的虚拟页的与对象层对应的层范围中,则判断为应该迁移数据要素。
如果该S3403的判断的结果为否定性的,则进行S3405,如果该判断的结果为肯定性的,则进行S3404。
(S3404)
程序415基于被选择的虚拟页的I/O频度(例如与对象VVOL对应的激活的监视表409所表示的合计I/O数、平均I/O数、以及最大I/O数中的至少一个)和与具有对象层的池内的其它分配层对应的“层范围”的值决定迁移目的地层。例如,将与纳入有被选择的虚拟页的I/O频度的层范围对应的分配层(对象VVOL的分配层)决定为迁移目的地层。然后,程序415在迁移目的地页表411中登记被选择的虚拟页的ID、对象层的ID、被决定的迁移目的地层的ID、迁移状态“未迁移”。
(S3405)
程序415判断被选择的虚拟页是否是对象VVOL的末端的虚拟页。如果该判断的结果为否定性的,则进行S3406,如果该判断的结果为肯定性的,则该迁移页表生成处理结束。
(S3406)
程序415从对象VVOL中选择上一次被选择的虚拟页的下一个虚拟页。然后,针对该被选择的虚拟页进行S3402以后的处理。
通过该迁移页表生成处理,能够生成用于页单位的迁移处理的移动页表411。
图35表示页单位的迁移处理的概要。
根据页单位的迁移处理,针对表411中登记的每个虚拟页,分配给该虚拟页的实际页内的数据要素被迁移到与该虚拟页对应的迁移目的地层内的自由的实际页。以迁移目的地实际页取代迁移源实际页对该虚拟页进行分配。如图35所示,通过该迁移处理,既有被迁移到更上位的层中的数据要素,也有被迁移到更下位的层中的数据要素。
根据针对哪个层设定怎样的层范围,能够在适合虚拟页的I/O频度的层中配置该虚拟页内的数据要素。
例如,假设对越上位的层设定越高的层范围,对越下位的层设定越低的层范围。具体地,假设例如层#11是高速且高信赖性的层(例如RVOL种类为“SSD”的层),并被设定为高的层范围。另外,假设例如层#13是低速且低信赖性的层(例如RVOL种类为“HDD-SATA”的层),并被设定为低的层范围。另外,假设例如层#12是VVOL#50的默认层,并被设定为中程度的层范围。该情况下,针对构成VVOL#50的虚拟页的写入对象数据要素暂时被写入默认层#12内的实际页。然后,在例如VVOL#50内的某个虚拟页#A的I/O频度成为纳入在高的层范围内程度的高I/O频度的情况下,分配给该虚拟页#A的实际页#X内的数据要素被从层#12迁移到层#11。另一方面,在例如VVOL#50内的某个虚拟页#B的I/O频度成为纳入在低的层范围内程度的低I/O频度的情况下,分配给该虚拟页#B的实际页#Y内的数据要素被从层#12迁移到层#13。
这样,通过对哪个层设定怎样的层范围、每个虚拟页的I/O频度的监视结果、页单位的数据迁移,能够将VVOL内的数据要素配置在适当的层(物理存储资源)中。
图36表示页单位的迁移处理的流程。
(S3601)
重新配置程序415将分配给对象VVOL的池的“池状态”更新为“重新配置中”。
(S3602)
程序415选择所生成的迁移页表411的最初的记录。
(S3603)
程序415将所选择的记录中的“迁移状态”的值更新为“迁移中”。
(S3604)
程序415从所选择的记录所表示的迁移目的地层中选择自由的实际页,向所选择的实际页(迁移目的地实际页)迁移存储在迁移源层内的迁移源实际页中数据要素。迁移源实际页是分配给对象虚拟页的实际页。
(S3605)
程序415更新表。具体如下。
*程序415更新分配表407,从而以迁移目的地实际页取代迁移源实际页分配给被选择的记录所表示的虚拟页(以下,在S3605的说明中称作“选择虚拟页”)。即,程序415使迁移目的地实际页的ID、迁移目的地层的ID与选择虚拟页相对应。
*程序415更新选择虚拟页的I/O频度(例如激活的表409)。具体地,例如,选择虚拟页或者对象VVOL的合计I/O数增加1。
*程序415更新表402(图6)中的、迁移目的地层的“使用比例”的值。
(S3606)
程序415将被选择的记录中的“迁移状态”的值更新为“已迁移”。
(S3607)
程序415判断被选择的记录是否是虚拟页表411中末端的记录。如果该判断的结果是否定性的,则进行S3608,如果该判断的结果是肯定性的,则该迁移处理结束。
(S3608)
程序415从虚拟页表411选择上一次被选择的记录的下一个记录。然后,针对该被选择的记录,进行S3603以后的处理。
以上是页单位的迁移处理的流程。而且,作为页单位的迁移处理的变形例,可以考虑到例如下述多个变形例中的至少一个。
*在S3602、S3603之间,可以假设数据要素已经迁移到了迁移目的地层中,程序415判断迁移目的地层的使用比例是否超出了迁移目的地层的层阈值。在判断为超出的情况下,程序415可以跳过S3603~S3606直接进行S3607(即,程序415针对被选择的记录可以不进行数据要素的迁移)。或者,在判断为超出的情况下,程序415可以通过针对以迁移目的地层为分配层的VVOL进行重新配置处理,在迁移目的地层中增加自由的实际页,然后开始S3603。
*可以在通过S3605更新迁移目的地层的使用比例时由程序415判断迁移目的地层的使用比例是否超出了迁移目的地层的层阈值。在判断为超出的情况下,程序415可以在管理装置107中显示警告,以及/或者,通过针对以迁移目的地层为分配层的VVOL进行重新配置处理,在迁移目的地层中增加自由的实际页。
<层阈值的变更>
UI控制程序413能够从管理者接受层阈值的变更。
图37表示层阈值的变更处理的流程。
(S3701)
程序413接受池ID以及层ID、针对该层ID的变更后的层阈值。
(S3702)
程序413判断与通过S3701接受到的池ID以及层ID对应的“使用比例”的值是否超出了变更后的层阈值。
(S3703)
程序413在S3702的判断的结果是肯定性的情况下在管理装置107中显示错误。
<使用比例的监视>
如上所述,I/O控制程序414或者重新配置程序415在向实际页写入数据要素的情况下更新表402(图6)中的、具有该实际页的层的“使用比例”的值。然后,程序414或者415可以判断“使用比例”的更新后的值是否超出了与该层对应的“层阈值”的值。如果该判断的结果是肯定性的,则程序414或者415可以进行图38所示的阈值超出应对处理。
图38表示阈值超出应对处理的流程。
程序414或者415判断具有使用比例超出了层阈值的层的池的“池状态”是否为“重新配置中”(S3801)。
在S3801的判断的结果是肯定性的情况下,程序414或者415向管理装置107或者主机101发出警告(S3802)。该警告例如可以包括使用比例超出了层阈值的层的ID、具有该层的池的ID、该池的“池状态”的值(“重新配置中”)。
在S3801的判断的结果是否定性的情况下,程序414或者415向管理装置107或者主机101发出警告(S3803),执行使该层的使用比例成为该层的层阈值以下的重新配置处理(图28)(S3804)。而且,S3803中的警告例如可以包括使用比例超出层阈值的层的ID、具有该层的池的ID、意味着针对该池进行重新配置处理的消息。
<数据要素的汇总>
本实施例中,可以进行数据要素的汇总处理。
图21表示数据要素的汇总处理的概要。
I/O控制程序414或者重新配置程序415在针对VVOL#39定期性或者在将数据要素写入实际页时(例如,页单位的迁移处理结束时)检查VVOL#39内的数据要素的配置。具体地,例如,程序414或者415针对VVOL#39的各分配层#00、##01、#03计算存在VVOL#39内所有数据要素中多大程度的比例的数据要素(即保存比例)。程序414或者415判断VVOL#39的分配层#00、##01、#03中是否存在保存比例超出保存阈值的分配层。
在存在保存比例超出保存阈值的保存比例的分配层的情况下,程序414或者415将该分配层#00以外的分配层#01以及#03内的数据要素(VVOL#39内的数据要素)迁移到分配层#00(具体地,例如分配层#00的自由的实际页)。
而且,在之后,例如程序414可以在针对VVOL#39内的虚拟页(尤其是未分配有实际页的虚拟页)发生写入的情况下,必定从分配层#00向该虚拟页分配实际页。
而且,如果将分配层#01以及#03内的数据要素(VVOL#39内的数据要素)迁移到分配层#00后导致分配层#00的使用比例超出分配层#00的层阈值,则程序414或者415可以进行下述的(x)或者(y)。
(x)程序414不将分配层#01以及#03内的数据要素迁移到分配层#00。
(y)程序414通过将对象VVOL以外的VVOL内的、分配层#00内的数据要素迁移到其它的层中,来在分配层#00中增加自由的实际页。
另外,本实施例中,能够在图28的S2807中自动决定层范围。层范围例如通过由MP执行未图示的层范围决定程序来决定。
以下,以一个池(在层范围的自动决定的说明中称作“对象池”)为例说明层范围决定处理。
图29表示层范围决定处理的概要。
设对象池具有层#01、#02以及#03这三个层。设层#01为最上位,层#02为第二上位,层#03为最下位的层。换言之,设层#01的性能潜力(potential)最高,层#02的性能潜力第二高,层#03的性能潜力最低。“性能潜力”是指重新配置处理中的数据要素配置权重。关于性能潜力,将在后面详细叙述。
层范围决定程序通过汇总分配有对象池的所有VVOL的度数分布来取得针对对象池的度数分布4300。度数分布的横轴为I/O频度(负荷),纵轴为虚拟页数。
层范围决定程序从上位层到下位层依次(或者从下位层到上位层依次)决定层范围。以下,设以层#01、#02、#03的顺序决定层范围。以下,叙述用于决定针对各层的层范围所进行的处理(而且,图29中,层范围的上限为菱形的标记,层范围的下限为圆形标记)。
《层#01的层范围1的决定》
*层范围决定程序将层#01的层范围1的上限决定为无限大。即,最上位的层的层范围的上限设定为无限大。
*层范围决定程序在度数分布4300中如箭头4301所示按照I/O频度从最高到较低累计虚拟页数。该累计值达到层#01的性能潜力的情况下,层范围决定程序将与即将到达层#01的性能潜力之前相加的虚拟页数对应的I/O频度设定为层(0-1)边界值(层#00与层#01的边界值)。
*层范围决定程序将比层(0-1)边界值低某种程度容限(margin)的I/O频度设定为层#01的层范围1的下限。具体地,例如,该下限是低于层(0-1)边界值预定比例的I/O频度(例如低10%的I/O频度)。
*层范围决定程序假定I/O频度纳入层范围1的所有虚拟页内的数据要素被迁移到了层#01,判断层#01的使用比例是否超出层#01的层阈值。在该判断的结果为肯定性的情况下,层范围决定程序将层范围1修正为层#01的使用比例不超出层#01的层阈值的大小。
《层#02的层范围2的决定》
*层范围决定程序将比层(0-1)边界值高某种程度容限(margin)的I/O频度设定为层#02的层范围1的上限。具体地,例如,该上限是高于层(0-1)边界值预定比例的I/O频度(例如高10%的I/O频度)。
*层范围决定程序在度数分布4300中从层(0-1)边界值到较低累计虚拟页数。该累计值达到层#02的性能潜力的情况下,层范围决定程序将与即将到达层#02的性能潜力之前相加的虚拟页数对应的I/O频度设定为层(1-2)边界值(层#01与层#02的边界值)。
*层范围决定程序将比层(1-2)边界值低某种程度容限(margin)的I/O频度设定为层#02的层范围2的下限。
*层范围决定程序假定I/O频度纳入层范围2的所有虚拟页内的数据要素被迁移到了层#02,判断层#02的使用比例是否超出层#02的层阈值。在该判断的结果为肯定性的情况下,层范围决定程序将层范围2修正为层#02的使用比例不超出层#02的层阈值的大小。
《层#03的层范围3的决定》
*层范围决定程序将比层(1-2)边界值高某种程度容限(margin)的I/O频度设定为层#03的层范围3的上限。
*层范围决定程序将层#02的层范围2的下限设定为0。即,最下位层的层范围的下限设定为0。
*层范围决定程序假定I/O频度纳入层范围3的所有虚拟页内的数据要素被迁移到了层#03,判断层#03的使用比例是否超出层#03的层阈值。在该判断的结果为肯定性的情况下,层范围决定程序将层范围3修正为层#03的使用比例不超出层#03的层阈值的大小。
如上决定层范围1~3。而且,之所以在层范围的上限以及/或者下限赋予层边界值的容限,是为了不随着I/O频度的变动频繁地发生数据要素的迁移。具体地,例如,如果没有容限、并且某虚拟页的I/O频度频繁超出或者低于层(0-1)边界值,则该虚拟页内的数据要素被频繁地迁移到层#01或者层#02。但是,如果如上所述设置了容限,则能够减少进行该种迁移的频度。
以下,进一步详细说明层范围决定处理。
图30表示层范围决定处理的流程。
(S4401)
层范围决定程序针对对象池的各层计算性能潜力。以一个层(在S4401的说明中称作“对象层”)为例,性能潜力例如通过下述(式1)来计算。
性能潜力=性能等级×实效实际页数(实效容量)…(式1)
该(式1)意味着即便性能等级低,只要执行实际页数多,性能潜力就高。
而且,“实效实际页数”是指构成对象层的所有实际页中的、在重新配置处理中可成为数据要素迁移目的地的实际页的总数。换言之,为了在池中写入重新配置处理中来自主机的写入对象数据要素,可以设置在重新配置处理中不会作为迁移目的地的实际页。
“性能等级”是指对象层的每单位容量(例如一个实际页)的性能潜力。性能等级例如基于通过下述(式2)计算的值K。
值K=RG性能/RG实效容量…(式2)
(式2)中的“RG性能”例如是指读出权重与写入权重的比为1∶1时的RG性能,是成为对象层的根基的RG在每单位时间能够处理的最大I/O数。(式2)中的“RG实效容量”例如是指针对成为对象层的根基的RG的、保存数据要素的实际页的总数。而且,性能等级可以取代上述值K或者在其基础上参酌读出权重与写入权重的比。该比例如可以基于来自主机的I/O的状况、高速缓存的状况(例如,脏数据要素与清洁数据要素(已保存在实际页中的数据要素)的分配)、RG的RAID等级中的至少一个来进行变更。另外,性能等级可以由管理者通过手动来设定。
(S4402)
层范围决定程序进行层边界值计算处理。即,层范围决定程序基于针对对象池的各层计算出的性能潜力来计算层边界值。
(S4403)
层范围决定程序基于计算出的各层边界值针对各层计算层范围。
(S4404)
层范围决定程序针对各层判断层范围是否不合适。以一个层(以下,在S4403以及S4405的说明中称作“对象层”)为例具体而言,例如,层范围决定程序假定I/O频度纳入对象层的层范围的所有虚拟页内的数据要素被迁移到了对象层,判断对象层的使用比例是否超出对象层的层阈值。
(S4405)
在S4404的判断的结果为肯定性的情况下,层范围决定程序或者在管理装置107中显示警告,或者将层范围修正为对象层的使用比例不超出对象层的层阈值的大小。
图31表示图30的S4402中层边界值计算处理的流程。
(S4501)
层范围决定程序通过汇总分配有对象池的所有VVOL的度数分布来取得对象池的度数分布。度数分布能够使用与分配有对象池的各VVOL对应的监视表409来取得。
(S4502)
层范围决定程序计算对象池的I/O频度合计。具体地,层范围决定程序合计分配有对象池的所有VVOL的所有虚拟页的I/O频度。
(S4503)
层范围决定程序基于通过S4502计算出的I/O频度合计计算针对对象池的各层的分配I/O频度。具体地,层范围决定程序将通过S4502计算出的I/O频度合计分配给对象池的多个层。具体地,例如,层范围决定程序基于通过图30的S4401计算出的、多个层的性能潜力的比,来对该多个层分配I/O频度合计。由此,例如在性能潜力的比为层#01∶层#02∶层#03=4∶2∶1、并且I/O频度合计为7000的情况下,层#01的分配I/O频度成为4000(7000×(4/(4+2+1))),层#02的分配I/O频度成为2000(7000×(2/(4+2+1))),层#01的分配I/O频度成为1000(7000×(1/(4+2+1)))。
(S4504)
层范围决定程序基于对象池的各层的分配I/O频度来决定层边界值。例如,以S4503的例子而言,层(0-1)边界值成为2000,层(1-2)边界值成为1000。
根据以上的层范围决定处理,能够基于各层的性能潜力和对象池的度数分布针对每个层设定对应于对象池整体的I/O状况的合适的层范围。
以上是针对实施例1的说明。
而且,在实施例1中,例如针对VVOL,默认层可以必定是VVOL的分配层中I/O性能(例如I/O速度或者响应时间)最大的层(例如分配层中最上位的层)。这是为了尽量增大VVOL的I/O性能。该情况下,写入VVOL的数据要素可以配置在尽量上位的分配层。但是,控制为分配层的使用容量不超出该分配层的层阈值。
另外,例如,可以与各池、或者多个池共通地设置退避用的层。无论是依照来自主机的写入命令的写入,还是重新配置处理中的迁移处理,通常来讲,程序414以及415都不向退避用的层写入数据要素。但是,程序414或者415可以在例如数据要素写入目的地的层(以下,在该段落的说明中称作“对象层”)的使用比例超出该层的层阈值的情况下,将对象层内的任意实际页内的数据要素(或者分配给对象层的层范围内未纳入有I/O频度的虚拟页的、对象层中实际页内的数据要素)迁移到退避用的层,由此在对象层中增加自由的实际页。该情况下,程序414或者415对分配给对象层内的迁移源实际页的虚拟页分配退避用的层内的迁移目的地实际页来取代该迁移源实际页。然后,程序414或者415可以向设定为纳入有分配给退避用层内实际页的虚拟页的I/O频度的层范围的层迁移保存在该退避用层内的实际页中的数据要素。退避用层例如可以为由与最上位的层种类相同的RVOL构成的层。
另外,可以不设定默认层。针对VVOL的来自主机101的写入对象数据要素可以写入尽量上位的层中。在上位的层的使用比例超出了层阈值的情况下,数据要素可以写入比该上位的层低一级的下位的层中。
另外,监视表409B以及409A中,409A可以不存在。该情况下,可以通过合计监视表409B所具有的每个虚拟页的I/O频度来计算VVOL的I/O频度。
另外,页单位的迁移处理可以中断。例如,重新配置程序415能够在从管理者接受到中断指示的情况下,在针对迁移状态“迁移中”将处理进行到使迁移状态为“已迁移”之后,中断页单位的迁移处理。程序415可以在例如接受到中断指示后一定时间后或者接受到重新开始的指示时,基于迁移页表411重新开始迁移处理。或者,程序415可以在接受到中断指示的情况下废弃迁移页表411,在下一次迁移处理时,基于激活的监视表409来生成迁移页表411。
另外,在本实施例中,Thin Provisioning的VVOL203是根据从主机101向具有虚拟页的地址的写入请求分配到实际页的,但是本发明并不限于该情况,还可以优选列举以下的例子。这是因为即便是在这些例子的情况下也能够实现实际使用容量的削减。
第一个例子如下。即,VVOL203的多个虚拟页中一部分的虚拟页或者VVOL203的各虚拟页中包含的一部分区域在接收从主机101向具有虚拟页的地址的写入请求之前预先分配有实际区域(预分配),根据从主机101向具有虚拟页的地址的写入请求,在已经分配完毕的区域不充足,还需要进一步分配的情况下,分配追加的实际区域。
第二个例子如下。即,VVOL203的多个虚拟页在接收从主机101向具有虚拟页的地址的写入请求之前预先暂时分配给保存有零数据的实际区域或者控制用的区域(这些区域与SSD等存储设备上的区域对应)(暂时分配),根据从主机101向具有虚拟页的地址的写入请求,分配目的地从暂时的分配区域变更为应该保存数据的实际页(正式分配)。该情况下,在实施正式分配之前接收到从主机101向具有虚拟页的地址的写入请求的情况下,向主机101响应保存在暂时分配目的地实际区域或者控制用区域中的零数据。
另外,在本实施例中,为了一元管理多个池201而通过一个表来管理多个池201,但是本发明并不限于此,也可以为了针对各个池201一元管理实际页207,优选对每个池201分别使用管理用的表(可以是表形式以外形式的信息)。
另外,层303的种类不限于按照本实施例中记载的SSD、HSS-SAS、HDD-SATA等各属性进行分类,还优选按照具有FC接口的HDD、非HDD形式的存储设备、例如闪存等半导体存储介质构成的设备等各属性进行分类。该情况下,与层303相关联的虚拟页的属性或者各层303中所含各实际页的属性也不限于按照本实施例中记载的SSD、HDD-SAS、HDD-SATA等各属性进行分类,而是按照具有FC接口的HDD、非HDD形式的存储设备、例如闪存等半导体存储介质构成的设备等各属性进行分类。
并且,层303的种类不限于仅通过上述存储设备的类型这一属性来进行分类,还优选按照将上述存储设备的类型和RAID1到RAID5等的RAID类型组合后的属性、或者上述存储设备的类型与上述存储设备的性能(存取速度等)和存储容量与RAID1到RAID5等的RAID类型组合后的各属性进行分类。这些情况下,与各层303相关联的虚拟页的属性或者各层303中所含各实际页的属性也不限于仅通过上述存储设备的类型这一属性来进行分类,还优选按照将上述存储设备的类型和RAID1到RAID5等的RAID类型组合后的属性、或者上述存储设备的类型与上述存储设备的性能(存取速度等)和存储容量与RAID1到RAID5等的RAID类型组合后的各属性进行分类。
实施例2
以下说明本发明的实施例2。此时,主要说明与实施例1的区别点,关于与实施例1的共通点,则省略或者简略说明(这一点,后面的实施例3以后也同样)。
本发明的实施例2中,取代I/O频度或者在其基础上,基于每个VVOL或者每个虚拟页的最终I/O时刻进行页单位的迁移处理。如实施例1中所说明的那样,在数据要素写入实际页的情况下,最终I/O时刻登记在监视表409中。重新配置程序取代虚拟页的I/O频度和具有该虚拟页内的数据要素的层的层范围的关系或者在其基础上,基于虚拟页的最终I/O时刻决定在迁移页表411中登记的虚拟页。例如,可将最终I/O时刻是当前时刻之前预定时间以上时刻的虚拟页登记在迁移页表411中。届时,该虚拟页内的数据要素的迁移目的地可以是比具有该虚拟页内的数据要素的层更下位的层。之所以这样,是由于考虑到最终I/O时刻久远的虚拟页内的数据要素今后被输入输出的可能性也低,优选配置在较下位的层中。
实施例3
本发明的实施例3中,基于以顺序存取和随机存储之一的存取模式进行I/O,来进行页的单位迁移处理。
如果I/O对象数据是被顺序存取的数据,则在作为I/O目的地RVOL的根基的PDEV为HDD的情况下,HDD的搜索时间很短。该情况下,即便是性能较低的HDD中有I/O对象数据,也由于被顺序存取,而可以考虑为性能下降的程度小。另外,通过将被顺序存取的数据迁移到廉价的性能低的PDEV,由于被随机存取的其它数据,能够使更多的基于性能高的PDEV的实际页为自由的页。因此,能够期待提高存储系统整体的I/O性能。
在实施例3中,例如在I/O控制程序414将数据要素写入实际页中的情况下,在例如分配表407中登记针对I/O目的地虚拟页的存取模式(是顺序存取还是随机存取)。分配表407中可以针对每个虚拟页写入每种存取模式的执行频度。
例如在生成迁移页表411时,如果针对虚拟页的存取模式为顺序存取(或者如果顺序存取的执行频度高),则重新配置程序415可以选择较下位的层作为与该虚拟页对应的迁移目的地。另外,例如,即使虚拟页的I/O频度高于具有分配给该虚拟页的实际页的层的层范围的最大值,重新配置程序415可以不将该实际页内的数据要素作为迁移对象。
实施例4
本发明的实施例4中,两个监视表409以预定的定时不可编辑地保存在CMPK119或者其它的存储资源中来取代交替使用。例如,表示星期一的监视结果的监视表409可作为星期一的表409保存,表示星期六的监视结果的监视表409可作为星期六的表409与星期一的表409相区分地保存。由此,增加了运用重新配置处理的运用方法的选择项。
在实施例4中,例如重新配置程序415在重新配置即将开始前通过询问管理者等方法决定是否保存激活的监视表409。在进行保存的情况下,在即将进行重新配置处理之前,程序415将监视表409保存在管理装置107或者其它的存储资源中。程序415能够从保存的多个监视表409中选择为了生成迁移页表411而参照的监视表409,使用所选择的监视表409来生成迁移页表411。
实施例5
本发明的实施例5中,作为I/O频度与层范围的比较方法,能够选择设定绝对值和相对值比较之一。
“绝对值比较”是指,针对页单位的迁移处理而言,将虚拟页的I/O频度(例如,合计I/O数、平均I/O数、或者最大I/O数)直接与层范围进行比较,而不考虑具有该虚拟页的VVOL内其它虚拟页的I/O频度。根据绝对值比较,由于没有必要考虑其它虚拟页或者VVOL的I/O频度,因此能够缩短比较所需时间,从而能够期待缩短重新配置处理所需时间。
“相对值比较”是指,针对页单位的迁移处理而言,将虚拟页的I/O频度(例如,合计I/O数、平均I/O数、或者最大I/O数)基于具有该虚拟页的VVOL内其它虚拟页的I/O频度进行修正(正规化),将修正后的I/O频度与层范围进行比较。具体地,例如,即便某虚拟页或者VVOL的I/O频度低,只要其它虚拟页或者其它VVOL的I/O频度更低,则整体上修正为上述某虚拟页或者VVOL的I/O频度并不太低。或者,例如,即便某虚拟页或者VVOL的I/O频度高,只要其它虚拟页或者其它VVOL的I/O频度更高,则整体上修正为上述某虚拟页或者VVOL的I/O频度并不太高。根据相对值比较,能够期待对应于监视时间带中整体的I/O状况的最佳配置。
另外,在本实施例中,作为比较对象的I/O频度,例如能够选择设定是平均I/O数还是最大I/O数。根据平均I/O数,能够期待对应于监视时间带中整体的I/O频度来配置数据要素。根据最大I/O数,即便I/O频度暂时增大,也能够期待不使I/O性能下降的数据要素配置。
使比较方法是绝对值比较还是相对值比较以及使比较对象是平均I/O数还是最大I/O数,例如能够由管理者通过上述的池定义GUI或者VVOL生成GUI来设定。针对池的比较方法以及比较对象例如图20所示登记在池管理表4403中,针对VVOL的比较方法以及比较对象例如图20所示登记在VVOL管理表4404中(图32以及图20中,省略了图7或者图8中所示的栏(column),但是在实施例2中,该栏是存在的)。而且,在针对VVOL与分配给其的池的比较方法或者比较对象不同的情况下,可以与实施例1同样地优先针对VVOL的设定。
图33表示比较方法/比较对象的设定处理的流程。
比较方法/比较对象的设定处理例如可以在池生成处理以及/或者VVOL生成处理中进行。
UI控制程序413在针对某池或者某VVOL(图33的说明中称作“对象池或者对象VVOL”)接受到相对值比较指定的情况下(S4201:否),针对对象池或者对象VVOL在表4403或者4404中设定比较方法为“相对值比较”(S4202)。
程序413在针对对象池或者对象VVOL接受到绝对值比较指定的情况下(S4201:是),针对对象池或者对象VVOL在表4403或者4404中设定比较方法为“绝对值比较”(S4203)。
程序413在针对对象池或者对象VVOL接受到最大I/O数指定的情况下(S4204:否),针对对象池或者对象VVOL在表4403或者4404中设定比较对象为“最大I/O数”(S4205)。
程序413在针对对象池或者对象VVOL接受到平均I/O数指定的情况下(S4204:是),针对对象池或者对象VVOL在表4403或者4404中设定比较对象为“平均I/O数”(S4206)。
而且,比较方法以及/或者比较对象可以自动设定或者变更,来取代由管理者手动设定。例如,程序414或者415基于监视表409B检查VVOL或者池的I/O的状况,根据所检查到的I/O的状况,可以将表4403以及/或者4403中已经设定的“比较方法”以及/或者“比较对象”的值进行变更。例如,在检测到一个VVOL中所有虚拟页的I/O频度(或者多个VVOL的I/O频度)的偏差未纳入在预定范围的情况下,“比较方法”从“相对值比较”变更为“绝对值比较”,反之,在检测到该偏差纳入在预定范围的情况下,可以将“比较方法”从“绝对值比较”变更为“相对值比较”。另外,例如,在检测到I/O频度暂时激增的情况下,“比较对象”从“平均I/O数”变更为“最大I/O数”,在检测到I/O频度的偏差纳入在预定范围的情况下,可以将“比较对象”从“最大I/O数”变更为“平均I/O数”。
以上说明了本发明的若干个实施例,当然,本发明不限定于这些实施例,在不脱离其主旨的范围内能够实现各种变更。
例如,至少一个PVOL可以为虚拟的PVOL,成为PVOL的根基的PDEV可依存在于其它的存储系统。该情况下,写入构成PVOL的实际页中的数据要素可以写入成为该PVOL的根基的、其它的存储系统内的PDEV。
另外,例如,无论是否对实际页进行了I/O,监视表409可以在每次产生对虚拟页的I/O时被更新。
另外,例如,在页单位的迁移处理中,针对迁移目的地实际页的分配目的地虚拟页或者具有该虚拟页的VVOL,可以在向迁移目的地实际页迁移数据时不更新I/O频度以及最终I/O时刻。迁移后,可以在根据针对该虚拟页或者VVOL的I/O对对该虚拟页或者分配给VVOL的实际页进行I/O时,更新该虚拟页或者VVOL的I/O频度以及最终I/O时刻。
另外,例如,RVOL的种类可以取代构成作为RVOL的根基的RG的PVEV的种类或者在其基础上,基于该RG的RAID等级(RAID1、RAID5(3D+1P)等)。因此,例如,即使分别构成第一RG和第二RG的PDEV的种类相同,只要第一RG和第二RG的RAID等级不同,基于第一RG的第一RVOL和基于第二RG的第二RVOL的种类就不同,因此,第一RVOL和第二RVOL可以属于不同的层。层的定义不限于RVOL种类,也可以从其它观点来定义。
另外,例如一个实际页的容量可以是能够对一个虚拟页分配多个实际页这样的容量。该情况下,页单位的迁移例如可以是数据要素从分配给虚拟页的多个迁移源实际页分别迁移到多个迁移目的地实际页。
另外,例如,例如一个实际页的容量可以是一个实际页能够分配给多个虚拟页这样的容量。该情况下,在页单位的迁移处理中,选择多个虚拟页,针对该多个虚拟页,从一个迁移源实际页向迁移目的地实际页迁移数据要素。
另外,池VOL可以是与外部的存储系统所提供的VOL相对应的虚拟的逻辑卷。该情况下,写入池VOL的实际页的数据要素写入与该池VOL对应的、外部的存储系统的VOL。
另外,I/O频度的单位可以是例如IOPS(每一秒的I/O数)。
另外,度数分布的I/O频度幅度可以是1(即,可针对每个I/O频度计数虚拟页数)。
符号说明
103...存储系统

Claims (15)

1.一种存储系统的控制方法,其特征在于,
管理将由多个存储设备提供的多个存储区域依照存储区域的属性进行分类后的多个存储区域组,
根据面向逻辑卷内多个地址中所含至少一个地址的写入请求,提供分配到所述多个存储区域中所含至少一个存储区域的多个所述逻辑卷,
根据所述逻辑卷内所述至少一个地址的存取状况,将通过所述写入请求写到所述至少一个地址中的数据从所述多个存储区域组的一个中所含所述至少一个存储区域,向所述多个存储区域组所含其它存储区域组内的至少一个存储区域迁移。
2.根据权利要求1所述的存储系统的控制方法,其特征在于,
所述多个存储区域组中所含第一存储区域组和第二存储区域组在每个环中具有与各自的组相应的所述存取状况的程度作为属性,所述第一和所述第二存储区域组的所述存取状况的程度对于每个组不同,但是一部分重复,
在所述迁移处理中,在所述多个存储区域组的一个中所含所述至少一个存储区域包含在所述第一或者所述第二存储区域组中并且所述至少一个地址的所述存取状况位于所述存取状况的程度中所述一部分重复的范围内的情况下,不实施所述数据的迁移。
3.一种存储系统,其与一台以上的主机连接,其特征在于,
该存储系统具备多种物理存储设备群和存储控制装置,
所述存储控制装置具有存储资源和控制器,所述控制器与所述多种物理存储设备群、所述存储资源以及所述主机连接,
物理存储设备群由一个以上的物理存储设备构成,
所述多种物理存储设备群成为多种实际页群的根基,
实际页群的种类基于成为该实际页群的根基的物理存储设备群的属性,
实际页群具有多个实际页,
所述控制器向所述一台以上的主机提供一个以上的虚拟卷,
所述虚拟卷是由多个虚拟页构成的虚拟逻辑卷,
所述虚拟页是虚拟的存储区域,
所述实际页是实体的存储区域,
所述存储资源存储分配信息、监视信息和实际页群管理信息,其中,所述分配信息是表示对哪个虚拟页分配了哪个实际页的信息,所述监视信息是表示各虚拟页的I/O(Input/Output)频度的信息,所述实际页群管理信息是包含表示对每种实际页群设定的I/O频度范围信息的信息,
所述控制器从所述主机接收写入命令,根据所述写入命令确定写入目的地虚拟页,更新所述分配信息,从而对所确定的虚拟页分配自由的实际页,在所分配的实际页中保存写入对象数据,
所述控制器根据针对虚拟页或者分配给该虚拟页的实际页的I/O,更新所述监视信息中的、该虚拟页的I/O频度,
所述实际页是实体的存储区域,保存在实际页中的数据存储到作为该实际页的根基的物理存储设备,
所述控制器进行迁移处理,该迁移处理是包含以下处理(A)至(C)的处理:
(A)确定根据所述监视信息所确定的I/O频度不符合预定条件的虚拟卷或者虚拟页,
(B)将保存在分配给所确定的虚拟卷或者虚拟页的、第一种实际页群内第一实际页中的数据,迁移到第二种实际页群内的第二实际页,
(C)更新所述分配信息,从而以所述第二实际页取代所述第一实际页向所述第一实际页分配目的地虚拟页、即第一虚拟页进行分配,
所述预定条件是指纳入所述第一种实际页群的I/O频度范围,
所述第二种实际页群是I/O频度范围纳入通过所述(A)所确定的虚拟卷或者虚拟页的I/O频度的实际页群,
所述控制器进行I/O频度范围的决定处理,在该决定处理中,所述控制器基于所述监视信息决定各种实际页群的I/O频度范围。
4.根据权利要求3所述的存储系统,其特征在于,
所述控制器在所述决定处理中进行以下处理(a)以及(b):
(a)使用所述监视信息生成表示I/O频度与虚拟页数的关系的信息、即关系信息,
(b)基于所述关系信息决定各种实际页群的I/O频度范围。
5.根据权利要求3所述的存储系统,其特征在于,
所述控制器在所述处理(b)中进行以下的处理(b1)至(b3):
(b1)使用所述关系信息,计算从所述多种实际页群分配到实际页的一个以上虚拟卷内所有虚拟页的I/O频度的合计、即I/O频度合计,
(b2)基于各种实际页群的性能值的比和所述I/O频度合计,针对实际页群的每个边界计算实际页群的边界的I/O频度、即边界值,
(b3)基于各种实际页群的I/O频度和实际页群的每个边界的边界值,决定各种实际页群的I/O频度范围,
实际页群的所述性能值是基于作为该实际页群的根基的物理存储设备群的属性决定的、与性能相关的值,
所述实际页群的边界是指实际页群与其上位以及/或者下位实际页群的交界,
各种实际页群的I/O频度范围的最大值以及/或者最小值是基于该实际页群与其上位以及/或者下位实际页群的交界的边界值决定的值。
6.根据权利要求5所述的存储系统,其特征在于,
实际页群的所述性能值是通过该实际页群中的、能够成为所述迁移处理中的迁移目的地的实际页的数量与该实际页群内每一个实际页的性能值的乘法运算计算出的值,
实际页群内每一个实际页的性能值是基于作为该实际页群的根基的物理存储设备群的属性决定的、与性能相关的值。
7.根据权利要求3所述的存储系统,其特征在于,
所述I/O频度范围的最大值大于与该I/O频度范围对应的较大一方的边界值,以及/或者,该I/O频度范围的最小值小于与该I/O频度范围对应的较小一方的边界值。
8.根据权利要求3所述的存储系统,其特征在于,
所述控制器在所述决定处理中进行以下处理:
(a)使用所述监视信息,计算从所述多种实际页群分配到实际页的一个以上虚拟卷内所有虚拟页的I/O频度的合计、即I/O频度合计,
(b)基于各种实际页群的性能值的比和所述I/O频度合计,针对实际页群的每个边界计算实际页群的边界的I/O频度、即边界值,
(c)基于各种实际页群的I/O频度和实际页群的每个边界的边界值,决定各种实际页群的I/O频度范围,
实际页群的所述性能值是基于作为该实际页群的根基的物理存储设备群的属性决定的、与性能相关的值,
所述实际页群的边界是指实际页群与其上位以及/或者下位实际页群的交界,
各种实际页群的I/O频度范围的最大值以及/或者最小值是基于该实际页群与其上位以及/或者下位实际页群的交界的边界值决定的值。
9.根据权利要求3所述的存储系统,其特征在于,
所述控制器在所述决定处理中进行以下处理(d)以及(e):
(d)假定分配给I/O频度纳入实际页群的I/O频度范围的所有虚拟页的实际页内的数据要素被迁移到了该实际页群中,判定该实际页群的使用比例是否超出该实际页群的比例阈值,
(e)在所述(d)中的判断的结果为否定性的情况下,将所决定的I/O频度范围包含在所述实际页群管理信息中,
实际页群的所述使用比例是指分配给虚拟页的实际页的数量相对于构成该实际页群的实际页的数量的比例,
所述实际页群的比例阈值是指所述使用比例的阈值。
10.根据权利要求9所述的存储系统,其特征在于,
所述控制器在所述决定处理中还进行以下处理(f):
(f)在所述(d)中的判断的结果为肯定性的情况下,将I/O频度范围修正为实际页群的使用比例不超出该实际页群的比例阈值的大小。
11.根据权利要求10所述的存储系统,其特征在于,
所述控制器在所述决定处理中还进行以下处理(g):
(g)将修正后的I/O频度范围包含在所述实际页群管理信息中。
12.根据权利要求3所述的存储系统,其特征在于,
根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指该虚拟卷或者虚拟页的、包含在所述监视信息中的I/O频度。
13.根据权利要求3所述的存储系统,其特征在于,
根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指所述监视信息中的、与该虚拟卷之外其它虚拟卷的I/O频度、或者该虚拟页以外其它虚拟页的I/O频度的相对值。
14.根据权利要求3所述的存储系统,其特征在于,
所述控制器接受使所述(A)中的I/O频度为绝对值还是相对值的指示,
在接受到使所述(A)中的I/O频度为绝对值的指定的情况下,根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指该虚拟卷或者虚拟页的、包含在所述监视信息中的I/O频度,
在接受到使所述(A)中的I/O频度为相对值的指定的情况下,根据所述监视信息所确定的、虚拟卷或者虚拟页的I/O频度是指所述监视信息中的、与该虚拟卷之外其它虚拟卷的I/O频度、或者该虚拟页以外其它虚拟页的I/O频度的相对值。
15.根据权利要求3所述的存储系统,其特征在于,
所述(A)中的I/O频度是某时间的I/O数的平均。
CN200980161169.2A 2009-12-24 2009-12-24 提供虚拟卷的存储系统 Active CN102483684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510242032.7A CN104808954B (zh) 2009-12-24 2009-12-24 提供虚拟卷的存储系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/007207 WO2011077489A1 (ja) 2009-12-24 2009-12-24 仮想ボリュームを提供するストレージシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510242032.7A Division CN104808954B (zh) 2009-12-24 2009-12-24 提供虚拟卷的存储系统及其控制方法

Publications (2)

Publication Number Publication Date
CN102483684A true CN102483684A (zh) 2012-05-30
CN102483684B CN102483684B (zh) 2015-05-20

Family

ID=44195053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980161169.2A Active CN102483684B (zh) 2009-12-24 2009-12-24 提供虚拟卷的存储系统

Country Status (6)

Country Link
US (3) US8489844B2 (zh)
EP (1) EP2518613A4 (zh)
JP (1) JPWO2011077489A1 (zh)
CN (1) CN102483684B (zh)
IN (1) IN2012DN00839A (zh)
WO (1) WO2011077489A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631537A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 一种虚拟磁盘的管理方法及装置
CN104731517A (zh) * 2013-12-19 2015-06-24 中国移动通信集团四川有限公司 一种存储池容量分配方法和装置
CN107332904A (zh) * 2017-06-29 2017-11-07 郑州云海信息技术有限公司 一种跨存储系统的数据迁移方法、装置及系统

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5663981B2 (ja) * 2010-07-01 2015-02-04 富士通株式会社 ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の制御方法
WO2012085975A1 (en) * 2010-12-22 2012-06-28 Hitachi, Ltd. Storage system comprising multiple storage apparatuses with both storage virtualization function and capacity virtualization function
US9513814B1 (en) * 2011-03-29 2016-12-06 EMC IP Holding Company LLC Balancing I/O load on data storage systems
JP5793196B2 (ja) 2011-09-13 2015-10-14 株式会社日立製作所 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
WO2013061368A1 (en) 2011-10-26 2013-05-02 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
US9575690B2 (en) * 2011-12-23 2017-02-21 Oracle International Corporation Sub-lun auto-tiering
US10082959B1 (en) * 2011-12-27 2018-09-25 EMC IP Holding Company LLC Managing data placement in storage systems
US20130238867A1 (en) * 2012-03-06 2013-09-12 Hitachi, Ltd. Method and apparatus to deploy and backup volumes
JP5938968B2 (ja) * 2012-03-19 2016-06-22 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
US8880804B2 (en) 2012-03-21 2014-11-04 Hitachi, Ltd. Storage apparatus and data management method
US8700853B2 (en) 2012-04-13 2014-04-15 Hitachi, Ltd. Storage apparatus and data management method
JP5981563B2 (ja) 2012-04-26 2016-08-31 株式会社日立製作所 情報記憶システム及び情報記憶システムの制御方法
US9367439B2 (en) * 2012-04-30 2016-06-14 Oracle International Corporation Physical memory usage prediction
WO2013175529A1 (en) * 2012-05-23 2013-11-28 Hitachi, Ltd. Storage system and storage control method for using storage area based on secondary storage as cache area
US8930621B2 (en) 2012-06-07 2015-01-06 Hitachi, Ltd. Storage subsystem and storage control method
WO2014016866A1 (en) 2012-07-24 2014-01-30 Hitachi, Ltd. Storage system, storage control method and storage control program
US8769105B2 (en) 2012-09-14 2014-07-01 Peaxy, Inc. Software-defined network attachable storage system and method
US9542125B1 (en) * 2012-09-25 2017-01-10 EMC IP Holding Company LLC Managing data relocation in storage systems
IN2015DN01544A (zh) 2012-10-12 2015-07-03 Hitachi Ltd
JP6051228B2 (ja) * 2012-11-07 2016-12-27 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP5941996B2 (ja) 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法
WO2014094303A1 (zh) * 2012-12-21 2014-06-26 华为技术有限公司 一种监控记录管理方法与装置
US9501426B1 (en) * 2013-02-08 2016-11-22 Workday, Inc. Dynamic two-tier data storage utilization
US9396131B1 (en) * 2013-02-08 2016-07-19 Workday, Inc. Dynamic three-tier data storage utilization
CN116301649A (zh) * 2013-04-26 2023-06-23 株式会社日立制作所 存储系统
US20150236974A1 (en) * 2013-04-26 2015-08-20 Hitachi, Ltd. Computer system and load balancing method
US9619429B1 (en) * 2013-09-27 2017-04-11 EMC IP Holding Company LLC Storage tiering in cloud environment
JP2015158711A (ja) 2014-02-21 2015-09-03 富士通株式会社 ストレージ制御装置、仮想ストレージ装置、ストレージ制御方法、及びストレージ制御プログラム
WO2015140931A1 (ja) * 2014-03-18 2015-09-24 株式会社 東芝 トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム
US10095425B1 (en) * 2014-12-30 2018-10-09 EMC IP Holding Company LLC Techniques for storing data
US20170177224A1 (en) * 2015-12-21 2017-06-22 Oracle International Corporation Dynamic storage transitions employing tiered range volumes
JP6276301B2 (ja) * 2016-01-22 2018-02-07 Necプラットフォームズ株式会社 ストレージアクセス制御装置、ストレージアクセス制御システム、ストレージアクセス制御方法、及び、ストレージアクセス制御プログラム
US10579540B2 (en) * 2016-01-29 2020-03-03 Netapp, Inc. Raid data migration through stripe swapping
US20170228178A1 (en) * 2016-02-04 2017-08-10 Hewlett Packard Enterprise Development Lp Effective utilization of storage arrays within and across datacenters
US10089136B1 (en) * 2016-09-28 2018-10-02 EMC IP Holding Company LLC Monitoring performance of transient virtual volumes created for a virtual machine
US11402998B2 (en) * 2017-04-27 2022-08-02 EMC IP Holding Company LLC Re-placing data within a mapped-RAID environment comprising slices, storage stripes, RAID extents, device extents and storage devices
US10585756B2 (en) 2017-08-07 2020-03-10 International Business Machines Corporation Point-in-time copy on a remote system
US10783119B2 (en) * 2017-08-08 2020-09-22 Seagate Technology Llc Fixed record media conversion with data compression and encryption
US10838647B2 (en) * 2018-03-14 2020-11-17 Intel Corporation Adaptive data migration across disaggregated memory resources
US10656990B2 (en) 2018-06-13 2020-05-19 Nutanix, Inc. Dynamically adjusting reserve portion and allocation portions of disaster recovery site in a virtual computing system
US11379373B2 (en) * 2019-08-13 2022-07-05 Micron Technology, Inc. Memory tiering using PCIe connected far memory
WO2022132947A1 (en) * 2020-12-15 2022-06-23 Nebulon, Inc. Allocation, distribution, and configuration of volumes in storage systems
US20220382478A1 (en) * 2021-06-01 2022-12-01 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for page migration in memory systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1281560A (zh) * 1997-10-08 2001-01-24 西加特技术有限责任公司 混合数据存储和重建系统以及用于数据存储装置的方法
US20070226631A1 (en) * 2006-02-27 2007-09-27 Tevis Gregory J Apparatus, system, and method for dynamic adjustment of performance monitoring
US20090043942A1 (en) * 2007-08-09 2009-02-12 Hitachi, Ltd. Management Method for a virtual volume across a plurality of storages
US20090254719A1 (en) * 2008-04-02 2009-10-08 Fujitsu Limited Switch apparatus
US20090276588A1 (en) * 2008-04-30 2009-11-05 Atsushi Murase Free space utilization in tiered storage systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7151759B1 (en) 2001-03-19 2006-12-19 Cisco Systems Wireless Networking (Australia) Pty Limited Automatic gain control and low power start-of-packet detection for a wireless LAN receiver
US6832248B1 (en) * 2001-05-10 2004-12-14 Agami Systems, Inc. System and method for managing usage quotas
EP1546884A4 (en) * 2002-09-16 2007-08-01 Tigi Corp STORAGE SYSTEM ARCHITECTURES AND MULTI-CACHE ARRANGEMENTS
EP1668486A2 (en) 2003-08-14 2006-06-14 Compellent Technologies Virtual disk drive system and method
JP4863605B2 (ja) 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7395396B2 (en) 2004-08-30 2008-07-01 Hitachi, Ltd. Storage system and data relocation control device
JP4842909B2 (ja) 2004-08-30 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ再配置制御装置
US7698517B2 (en) * 2004-12-02 2010-04-13 Storagedna, Inc. Managing disk storage media
JP4688556B2 (ja) 2005-04-22 2011-05-25 株式会社日立製作所 ボリュームマイグレーションシステム、ボリューム再配置方法及びプログラム
US9002795B2 (en) * 2006-01-26 2015-04-07 Seagate Technology Llc Object-based data storage device
DE102008040479A1 (de) 2007-07-23 2009-02-05 Denso Corp., Kariya-shi Kraftstoffzufuhrvorrichtung
JP4400679B2 (ja) * 2007-07-23 2010-01-20 株式会社デンソー 燃料供給装置
US8006111B1 (en) * 2007-09-21 2011-08-23 Emc Corporation Intelligent file system based power management for shared storage that migrates groups of files based on inactivity threshold
JP2009093571A (ja) * 2007-10-11 2009-04-30 Hitachi Ltd 記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステム
JP2009134397A (ja) 2007-11-29 2009-06-18 Hitachi Ltd 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法
EP2263145B1 (en) * 2008-02-12 2020-02-05 NetApp, Inc. Hybrid media storage system architecture
US8261009B2 (en) * 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1281560A (zh) * 1997-10-08 2001-01-24 西加特技术有限责任公司 混合数据存储和重建系统以及用于数据存储装置的方法
US20070226631A1 (en) * 2006-02-27 2007-09-27 Tevis Gregory J Apparatus, system, and method for dynamic adjustment of performance monitoring
US20090043942A1 (en) * 2007-08-09 2009-02-12 Hitachi, Ltd. Management Method for a virtual volume across a plurality of storages
US20090254719A1 (en) * 2008-04-02 2009-10-08 Fujitsu Limited Switch apparatus
US20090276588A1 (en) * 2008-04-30 2009-11-05 Atsushi Murase Free space utilization in tiered storage systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631537A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 一种虚拟磁盘的管理方法及装置
CN103631537B (zh) * 2013-11-29 2016-09-14 华为技术有限公司 一种虚拟磁盘的管理方法及装置
CN104731517A (zh) * 2013-12-19 2015-06-24 中国移动通信集团四川有限公司 一种存储池容量分配方法和装置
CN107332904A (zh) * 2017-06-29 2017-11-07 郑州云海信息技术有限公司 一种跨存储系统的数据迁移方法、装置及系统

Also Published As

Publication number Publication date
CN102483684B (zh) 2015-05-20
US20150006817A1 (en) 2015-01-01
EP2518613A1 (en) 2012-10-31
US8862849B2 (en) 2014-10-14
EP2518613A4 (en) 2013-10-02
US20130282981A1 (en) 2013-10-24
WO2011077489A1 (ja) 2011-06-30
US20110167236A1 (en) 2011-07-07
IN2012DN00839A (zh) 2015-06-26
JPWO2011077489A1 (ja) 2013-05-02
US9037829B2 (en) 2015-05-19
US8489844B2 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
CN102483684B (zh) 提供虚拟卷的存储系统
CN102483683B (zh) 提供虚拟卷的存储系统
JP5079841B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
JP4914173B2 (ja) 再配置システムおよび再配置方法
US8549247B2 (en) Storage system, management method of the storage system, and program
JP4733461B2 (ja) 計算機システム、管理計算機及び論理記憶領域の管理方法
JP5661921B2 (ja) 計算機システム及び管理システム
JP5749803B2 (ja) 情報記憶システム及びストレージシステム管理方法
WO2012164632A1 (en) Storage apparatus and storage apparatus management method
WO2011104741A1 (en) Management system for storage system and method for managing storage system
JP6017032B2 (ja) ストレージシステム及びストレージ制御方法
CN101976181A (zh) 一种存储资源的管理方法及管理装置
US8756372B2 (en) Virtual storage mirror configuration in virtual host
US20100180074A1 (en) Virtual tape library
JP5130169B2 (ja) 仮想化ボリュームへの物理ボリューム領域割り当方法及びストレージ装置
CN104808954A (zh) 提供虚拟卷的存储系统及其控制方法
EP2584453A2 (en) Method and apparatus to change storage tiers
JP6019169B2 (ja) 情報記憶システム
JP5355764B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
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
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant