CN103299265B - 存储系统和存储区域分配方法 - Google Patents

存储系统和存储区域分配方法 Download PDF

Info

Publication number
CN103299265B
CN103299265B CN201180063870.8A CN201180063870A CN103299265B CN 103299265 B CN103299265 B CN 103299265B CN 201180063870 A CN201180063870 A CN 201180063870A CN 103299265 B CN103299265 B CN 103299265B
Authority
CN
China
Prior art keywords
storage
virtual
region
page
storage region
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
CN201180063870.8A
Other languages
English (en)
Other versions
CN103299265A (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
Publication of CN103299265A publication Critical patent/CN103299265A/zh
Application granted granted Critical
Publication of CN103299265B publication Critical patent/CN103299265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

如果设置监视测量周期为长周期,则不能执行短周期中的升级;即使I/O数目响应于I/O数目在数分钟至数小时正常工作中的波动而很大,仍然将在等待数周之后使页面升级。较低等级将接受较高等级可能已经正常接受的I/O,这造成恶化性能效率的问题。实现监视系统,该监视系统能够从长周期观点防止由于用于具体页面的I/O数目暂时减少而造成的降级,并且响应于用于具体页面的I/O数目增加而实现迅速升级。基于针对每个存储区域循环地计数的I/O数目来更新从长周期观点定义的负荷指标值和从短周期观点定义的负荷指标值。基于从这些负荷指标值计算的值来实施升级和降级。

Description

存储系统和存储区域分配方法
技术领域
本发明涉及一种存储系统和存储区域分配方法。具体而言,本发明涉及一种用于借助具有多个等级的存储系统的自动等级定位功能来提高基于小区域(基于页面)的等级定位效率的存储系统和存储区域分配方法
背景技术
一种常规自动等级管理功能技术(专利文献1和专利文献2)用于:当在某个周期(测量周期)中针对/来自页面的I/O频率高时向较高等级迁移页面(下文称为“升级”);并且在针对/来自页面的I/O频率低时向较低等级迁移页面(下文称为“降级”)。
关于上文描述的技术考虑例如在工作日(从周一到周五)操作而未在周末(周六和周日)操作的批作业。如果缩短监视测量周期(至数小时)并且如果I/O数目在周末减少,则批作业的目标页面被降级。然后,在I/O数目再次增加的每周一出现性能下降现象。为了避免针对上文描述的现象的降级,常规技术将监视测量周期增加至数周并且在长周期期间测量I/O数目的频率、由此平滑I/O数目并且避免周末的降级。
引用列表
专利文献
PTL1:公开号为2009/00705412的未审美国专利申请的说明书
PTL2:第7613945号美国专利的说明书
PTL3:第7228380号美国专利的说明书
发明内容
技术问题
然而如果在常规技术中设置长周期作为监视测量周期,则不能执行在短周期中的升级;并且即使响应于I/O数目的波动,I/O数目在数分钟至数小时正常工作中很大,仍然将在等待如数周之后使页面升级。作为结果,较低等级将接受较高等级可能已经正常接受的用于数周的I/O,这造成恶化性能效率的问题。
本发明鉴于上文描述的境况而加以设计,并且目的在于提出一种能够从长周期的观点防止由于用于具体页面的I/O数目暂时减少而降级,并且关于用于具体页面的I/O数目的增加实现迅速升级的存储系统和存储区域分配方法。
对问题的解决方案
为了解决上文描述的问题,提供根据本发明的一种存储系统,包括多个种类的存储介质、存储器和处理器,其中处理器向来自多个种类的存储介质之中的一个存储介质的存储区域分配虚拟存储区域;在存储器中循环地记录对分配的存储区域的访问次数;基于记录的访问次数和第一负荷指标值的第一加权平均值来更新第一负荷指标值;基于记录的访问次数和第二负荷指标值的第二加权平均值来更新第二负荷指标值,为第二加权平均值设置与第一加权平均值的比例权值不同的比例权值;以及基于第三负荷指标值向来自多个种类的存储介质之中的一个不同种类的存储介质的存储区域重新分配虚拟存储区域,第三负荷指标值是更新的第一负荷指标值和更新的第二负荷指标值的平均值或者最大值。
根据上文描述的配置,用针对每个存储区域循环地计数的I/O数目来更新从长周期的观点定义的负荷指标值和从短周期的观点定义的负荷指标值。基于从这些负荷指标值计算的值可以实施升级和降级。
本发明的有利效果
根据本发明,可以响应于I/O数目增加来实施迅速升级而又从长周期的观点防止由于I/O数目暂时减少而降级;并且许多I/O可以由较高等级中的高速驱动处理;并且可以解决较低等级中的瓶颈、由此提高存储系统的性能。
附图说明
[图1]图1是示出用于根据本发明的第一实施例的计算机系统的配置示例的图。
[图2]图2是示出根据第一实施例的存储系统的逻辑配置的图。
[图3]图3是示出位于共享存储器111中的表的类型的图。
[图4]图4是示出位于本地存储器118中的程序的类型的图。
[图5]图5是示出动态映射表301的配置的图
[图6]图6是示出逻辑物理地址转换表308的配置的图。
[图7]图7是示出每页面监视表302的配置的图。
[图8]图8是示出池频率分布表306和虚拟卷频率分布表305的配置的图。
[图9]图9是示出池加权指标表303的配置的图。
[图10]图10是示出虚拟卷加权指标表307的配置的图。
[图11]图11是示出页面加权指标表304的配置的图。
[图12]图12是图示主机I/O处理程序401的流程图。
[图13]图13是图示转存(destage)处理程序404的流程图。
[图14]图14是图示频率分布创建处理程序402的流程图。
[图15]图15是图示页面重新定位处理程序405的流程图。
[图16]图16是示出用于加权平均计算计数器1(703A)值、加权平均计算计数器2(703B)值和I/O计数器值702的计算公式的示例的图。
[图17]图17是图示加权平均计算处理程序403的流程图。
[图18]图18是示出用于在执行基于池的页面重新定位处理时进行对于例如监视模式、组合总数计算方法和计数器数目的设置的屏幕的示例的图。
[图19]图19是示出用于在执行基于虚拟卷的页面重新定位处理时进行对于例如监视模式、组合总数计算方法和计数器数目的设置的屏幕的示例的图。
[图20]图20是示出用于在执行基于页面的页面重新定位处理时进行对于例如监视模式、组合总数计算方法和计数器数目的设置的屏幕的示例的图。
[图21]图21是示出根据本发明计算的I/O数目的各种类型的时间变化的图。
具体实施方式
将参照附图说明本发明的实施例。附带提一点,下文描述的实施例并未在权利要求范围内限制本发明,并且在实施例中描述的特征的所有组合对于用于根据本发明解决问题的手段而言未必不可或缺。
图1是示出用于根据本发明的第一实施例的计算机系统的配置示例的图。
主机101例如由一般服务器组成并且经由网络103耦合到存储系统104的端口106。主机101向存储系统104发出数据读取/写入命令,并且存储系统104响应于该命令读取或者写入数据。网络103例如由SAN(存储区域网络)或者以太网组成。另外,管理服务器102经由网络103连接到存储系统104的维护I/F107或者端口108。存储管理员使用管理服务器102向存储系统104发送为了操作存储系统而必需的用于管理的各种设置或者命令。外部存储装置105连接到存储系统104的端口108。在连接这一外部存储装置105时,外部存储装置105可以经由网络103连接到存储系统104的端口108。可以用与对待存储系统中的卷相同的方式来对待外部存储装置105。由于在专利文献3中描述一种用于对待如上文提到的外部存储装置的具体方法,所以已经省略对其的详细说明。
接着将说明存储系统104的内部配置。端口106、维护I/F107、处理器封装109、高速缓存存储器110、共享存储器111、端口108、驱动113和驱动114经由存储系统104的内部网络而被连接。高速缓存存储器110是能够高速访问用于作为暂时高速缓存的存储数据以便提高存储系统104的I/O处理吞吐量和响应的存储器。处理器封装109由本地存储器118和处理器119构成。处理器119例如执行在驱动115、116、外部存储装置105和高速缓存存储器110之间的数据传送处理以便处理来自主机101的读取/写入命令。共享存储器111是用于存储必需控制信息以便处理器119处理读取/写入命令并且执行存储功能(比如卷复制功能)的存储器并且是用于存储处理器119在多个处理器封装109A、B之间共享的信息的存储器。本地存储器118是用于存储必需控制信息以便处理器119处理读取/写入命令并且执行存储功能的存储器并且是处理器119独占地拥有和使用的区域。本地存储器118例如存储处理器119执行的程序。驱动113、114例如由具有接口、比如FC(光纤通道)、SAS(串行附着SCSI)和SATA(串行高级技术附着)的硬盘驱动以及SSD(固态驱动)组成。
上文提到的各种种类的驱动具有不同性能。例如SSD具有比其它硬盘驱动的I/O吞吐量性能更高的I/O吞吐量性能。存储系统104由前述多个种类的驱动组成。被分类为具有接近性能的驱动的这些多个种类的驱动是等级115、116、117。在等级之间的关系由性能分级关系定义。由于在专利文献2中描述了这些等级的细节,所以已经省略对其的详细说明。
图2是示出根据本发明的第一实施例的存储系统的逻辑配置的图。虚拟卷201是主机101识别的逻辑存储区域,并且是在主机101发出读取或者写入命令时变成目标的卷。池206由一个或者多个池卷203组成。池卷204由驱动113、114和外部存储装置105组成。具体而言,通过管理在池卷204的逻辑地址与驱动113、114和外部存储装置105的物理地址之间的对应关系来配置逻辑池卷204。后文将说明细节。
存储管理员可以根据来自管理服务器102的命令在池206中创建多个虚拟卷201。
存储系统104关于主机101已经针对其发出写入命令的存储区域向虚拟卷201分配实际存储区域。具体而言,在主机101第一次向虚拟卷201的页面202A发出写入命令时,存储系统104关联页面202A与未用池卷203的区域(205A);并且存储系统104也响应于来自主机101的、对相同页面的下一读取/写入命令来对对应池卷203执行I/O处理,从而可以如同主机101对虚拟卷执行I/O处理一样来执行处理。可以通过如上文描述的那样使用虚拟卷201仅分配待使用的池卷203区域的部分来有效地使用有限存储容量。
池206具有多个等级115、116、117,并且根据等级115、116、117对池卷203分类。在这一实施例中,有三个等级:SSD等级115(对应于池卷203A)、SAS等级116(对应于池卷203B、203C)和外部连接等级117(对应于池卷203D、203E)。
每个虚拟卷的页面202一般具有基于响应于来自主机的读取/写入命令而执行的I/O处理的特性。例如一般而言,在许多情况下存在具有高I/O频率的页面和具有低I/O频率的页面(这称为访问局部性)。在这一情况下,有时可以通过对将具有高I/O频率的页面定位在较高等级中来提高整个系统的性能。
例如在可以处理100IOPS的SSD等级(115)和可以处理10IOPS的SAS等级(116)存在的情况下,并且如果具有50IOPS特性的页面202C和具有20IOPS特性的页面203A存在而且当前向SAS分配页面202C,则SAS等级至多仅能表现10IOPS的性能,因此存储系统104作为整体仅能表现10+20=30IOPS的性能(这一状态称为瓶颈状态)。如果可以将页面202C从当前分配的SAS升级至SSD等级,则存储系统104作为整体可以表现50+20=70IOPS的性能。理解在一些情况下可以通过如上文描述的那样将具有高I/O频率的页面定位在较高等级中(称为向等级的分配)来提高整个系统的性能。
具体而言,可以通过向未用页面204B复制页面204C的数据并且将在虚拟卷201A中的页面202C与池卷203B之间的页面204C之间的关联(205C)改变成在虚拟卷201A中的页面202C与池卷203A中的页面204B之间的关联(205B)来执行上文描述的升级。也可以类似地执行降级。由于在专利文献2(US7613945)中描述了细节,所以已经省略对其的详细描述。
频率分布207示出用于每个页面的I/O数目的分布。图形209是在页面按I/O数目的降序放置时指示用于每个页面的I/O数目的线。换而言之,具有大I/O数目的页面在左侧,并且具有小I/O数目的页面在右侧。等级分配阈值208是用于判决应当向哪个等级分配具有多少I/O数目的哪个页面的阈值。因此,有时可以通过如上文提到的那样将具有高I/O频率的页面定位在较高等级中来提高整个系统的性能,从较高等级开始按I/O数目的降序向各个等级依次分配页面。
例如向SSD等级115分配属于范围210A的页面,该范围从等级分配阈值208A和频率分布图形209的交点延伸以包括最高性能的页面。向SAS等级116分配属于范围210B的页面,该反问从等级分配阈值208A和频率分布图形209的交点到等级分配阈值208B和频率分布图形209的交点。向外部存储装置等级117分配属于如下范围的页面,该范围从等级分配阈值208B和频率分布图形209的交点延伸以包括最小I/O数目的页面。以这一方式,可以从较高等级开始按I/O数目的降序向等级依次分配页面。
等级分配阈值208可以由存储管理员指定,或者由存储系统104计算。
后文将描述频率分布207的细节(比如创建方法),因此这里省略详细说明。
图3示出位于共享存储器111中的表的类型。后文将说明每个表的详细结构。附带提一点,本说明书仅描述最少必需表,并且其它表可以存在于共享存储器中。
动态映射表301是用于管理在虚拟卷的每个页面、池卷区域和监视信息之间的对应关系的表。逻辑物理地址转换表308是用于管理在池卷和用于存储池卷的数据的物理盘的地址之间的对应关系的表。每页面监视表302是用于管理每个页面的包括I/O数目的监视信息的表。虚拟卷频率分布表305是用于管理关于虚拟卷的、针对I/O数目的每个范围的页面数目的分布的表。池频率分布表306是用于管理关于池的、针对I/O数目的每个范围的页面数目的分布的表。池加权指标表303是用于管理针对每个池计算计数器进行计算所用的各种参数的表。虚拟卷加权指标表307是用于管理针对每个虚拟卷计算计数器进行计算所用的各种参数的表。页面加权指标表304是用于管理针对每个页面计算计数器进行计算所用的各种参数的表。
另外,每页面监视表302、池频率分布表306和虚拟卷加权指标表307在这一实施例中位于共享存储器111中,但是数据可以位于主机101或者管理服务器102中。
图4示出位于本地存储器118中的程序的类型。后文将说明每个程序的详细流程。附带提一点,这些程序可以位于每个本地存储器118中或者共享存储器111中。另外,本说明书仅描述最少必需程序,但是其它程序也可以存在于本地存储器中。
主机I/O处理程序401是用于处理关于虚拟卷的由主机接收的读取/写入请求的程序。转存处理程序404是用于在物理盘中存储高速缓存存储器中的并且尚未向物理盘写入/迁移的数据的程序。频率分布创建处理程序402基于用于每个页面的收集的I/O数目创建频率分布并且计算等级分配阈值。加权平均计算处理程序403是作为它的既定目的之一将在频率分布创建处理程序期间使用的程序,并且是用于基于各种计算计数器计算用于页面的I/O数目的程序。页面重新定位处理程序405是用于基于用于每个页面的I/O数目和等级分配阈值向适当等级重新定位页面的程序。
将说明上文描述的程序的操作定时。在接收主机I/O时主机I/O处理程序401进行操作。转存处理程序404与主机I/O分离地循环操作。频率分布创建处理程序402循环地、例如每小时操作。这一周期可以由用户设置。在这一周期期间收集的监视信息是频率分布创建处理程序402的目标。频率分布创建处理程序402在它的操作的过程期间操作加权平均计算处理程序403。在频率分布创建处理程序402的操作终止之后,处理器109激活页面重新定位处理程序405。频率分布创建处理程序402、加权平均计算处理程序403和页面重新定位处理程序405如上文描述的那样循环地操作。
如果每页面监视表302、池频率分布表306和虚拟卷加权指标表307位于主机101或者管理服务器102中,则频率分布创建处理程序402在主机101或者管理服务器102中操作。
图5示出动态映射表301的结构。动态映射表的一个条目示出在池206、虚拟卷202、虚拟卷202的每个页面、池卷204的区域和相关页面的监视信息之间的对应关系。在管理对应关系时,用虚拟卷中的每个页面的虚拟卷编号501和逻辑开始地址502来标识相应虚拟卷的相应页面。也用池卷的每个区域的池卷编号503和逻辑开始地址504标识池卷的相应区域。另一方面,用监视信息索引编号505标识监视信息。监视信息索引编号对应于每页面监视表302中的监视信息索引编号701。可以通过其它标识方法来标识上述各项中的任一项。
另外,动态映射表301管理池中的未用区域和默认值页面。如果服务器从未向虚拟卷501的逻辑地址502写入数据,则将默认值页面的地址存储在与虚拟卷501的逻辑地址502对应的池卷编号和逻辑地址中。
另外,动态映射表301管理池中的未用页面的池卷编号和逻辑地址。如果服务器第一次向其中从未写入数据的虚拟卷501的逻辑地址502的位置写入数据,则未用页面的池卷编号和逻辑地址与虚拟卷501的逻辑地址502相关联。
另外,每个虚拟卷属于一个池,并且池编号506被用于动态映射表301以用来管理在池编号506与虚拟卷编号501之间的关联,以了解哪个虚拟卷属于相应的池。
图6示出逻辑物理地址转换表308的结构。逻辑物理地址转换表的一个条目示出在池卷204与存储相关池卷的数据的物理驱动(113或者114)的区域之间的对应关系。用池卷编号601标识池卷。用物理驱动的物理驱动编号602和起始地址603标识相应物理驱动的区域。在这一实施例中,通过关联一个池卷与一个物理盘的连续区域来管理对应关系,但是可以使用其它关联方式。备选地,可以通过关联一个池卷与形成RAID结构的多个驱动创建的逻辑区域的部分、然后关联逻辑区域与物理驱动的区域来执行两级管理。
图7示出每页面监视表302的结构。每页面监视表的一个条目示出一个页面202的监视信息。监视信息索引编号701是用来标识监视信息的索引编号。I/O计数器(A侧)702A和I/O计数器(B侧)702B指示用于某个页面的I/O数目。
I/O计数器702在恒定周期中存储I/O数目。这一周期与用于操作前述频率分布创建处理402的周期相同,并且在这一恒定周期中的I/O数目是频率分布创建处理402的处理目标。例如每个周期在I/O计数器(A侧)702A与I/O计数器(B侧)702B之间切换收集目标计数器,从而它们之一由主机I/O处理程序401和转存处理程序404用作监视收集计数器,而使用另一计数器作为用于频率分布创建处理402和页面重新定位处理程序405的计数器。这是为什么两个I/O计数器存在的原因。无需赘言,I/O计数器的数目可以是三个或者更多,并且可以切换和使用它们。
另外,加权平均计数器1(703A)和加权平均计数器2(703B)保持用于对计算计数器进行计算的值。例如加权平均计数器1保持短期计算计数器值,并且加权平均计数器2保持长期计算计数器值。由于加权平均计数器的数目依赖于后文描述的加权指标表(303或者304或者307)管理的计数器数目,所以可以存在两个或者更多加权平均计数器。
图8示出池频率分布表306和虚拟卷频率分布表305的配置。池频率分布表306管理关于池206的、针对I/O数目的每个范围的页面数目的分布。池频率分布表的一个条目示出用于某个池的I/O数目的一个范围和在I/O数目的相应范围中包括的页面数目。I/O数目802指示I/O数目的范围的起始值。相应范围的结束值是(用于下一条目的I/O数目的范围的起始值-1)。页面数目803对应于在I/O数目的相应范围中包括的页面数目。这一个表也管理等级分配阈值208。等级分配阈值可以是等于或者大于0的值,并且不必必须是每个范围的边界值。
虚拟卷频率分布表305管理关于虚拟卷201的、针对I/O数目的每个范围的页面数目的分布。由于它的表结构与池频率分布表306的表结构相同,所以已经省略它的详细说明。
图9示出池加权指标表303的结构。池加权指标表是用于管理针对每个池206计算计数器进行计算所用的各种参数的表。后文将说明使用池加权指标表中的值的各种计算方法的细节。
如在每页面监视表302的描述中所言,每个页面202具有多个加权平均计算计数器703。在类型903列中声明的计数器数目指示加权平均计算计数器的数目。加权平均计算计数器编号902对应于加权平均计算计数器。在这一实施例中,设置加权平均计算计数器1(703A)为1,并且设置加权平均计算计数器2(703B)为2。池加权指标表也保持用来对计算计数器值进行计算的参数的类型903和用于每个加权平均计算计数器的每个参数的值904。根据用于计算加权平均计算计数器的方法可以使用不同类型的参数作为参数。在这一实施例中,有两个加权值:加权平均计算计数器的加权值;以及I/O计数器的加权值。加权平均计算计数器的加权值需要是等于或者大于0的值,并且I/O计数器的加权值需要是大于0的值。
组合总数(combinedtotal)中的加权值指示每个加权平均计算计数器的加权值,该加权平均计算计数器的加权值用来通过计算相应加权平均计算计数器的组合总数来计算用于页面的I/O数目。在这一实施例中,平均值计算方法(AVG)或者最大值计算方法(MAX)被用作组合总数计算方法。当然可以使用其它组合总数计算方法。
图10示出虚拟卷加权指标表307的结构。虚拟卷加权指标表是用于管理针对每个虚拟卷202对计算计数器进行计算所用的各种参数的表。由于已经关于池加权指标表303描述加权平均计算计数器编号1002、类型1003和值104,所以已经省略对其的详细说明。
图11示出页面加权指标表304的结构。页面加权指标表是用于管理针对每个页面202对计算计数器进行计算所用的各种参数的表。在这一个表中,用虚拟卷编号1101和逻辑地址区域1102标识页面202,但是可以使用其它标识方法。由于已经关于池加权指标表303描述加权平均计算计数器编号1103、类型1104和值1105,所以已经省略对其的详细说明。
图12是图示存储系统104中的主机I/O处理程序401在主机从虚拟卷201读取数据或者向虚拟卷201写入数据时的处理的流程图。
在从主机接收I/O处理请求之后,存储系统104中的主机I/O处理程序401判断I/O处理请求是对虚拟卷201的数据读取请求还是对虚拟卷201的数据写入请求(S1201)。
如果I/O处理请求是写入请求,则主机I/O处理程序401检查是否在高速缓存存储器110中分配与对应于I/O处理请求的虚拟卷的地址对应的区域;并且如果区域被分配、或者如果未分配则在在高速缓存存储器110中分配该区域之后,主机I/O处理程序401对主机做出响应,从而报告可以传送写入数据;向高速缓存存储器中的分配的区域写入从主机传送的写入数据;并且向高速缓存存储器管理表设置脏标志(dirtyflag)以便指示它是尚未向盘中写入其中数据的区域(S1207)。
这里所用脏标志是指示其中数据仅存在于高速缓存存储器中、但是未存在于盘中的状态的信息;并且将其保持于用于管理高速缓存存储器中的区域的高速缓存存储器管理表中。后文描述的转存处理程序404检查这一脏标志、然后向盘中写入高速缓冲存储器中的数据。
在向盘中写入该区域中的、针对其向高速缓存存储器管理表设置脏标志的数据之后,脏标志被关闭设置,清洁标志(cleanflag)被设置到高速缓存存储器管理表中的信息中,这包括其中在高速缓存存储器中存储已经响应于读取处理从盘读取的数据的情况。
高速缓存存储器管理表如上文描述的那样至少保持和管理与高速缓存存储器中的地址对应的虚拟卷的地址和高速缓存存储器中的数据的状态。关于与高速缓存存储器去中的地址对应的虚拟卷的地址,仅在分配高速缓存存储器中的区域以便存储虚拟卷的数据时才存储虚拟卷的、作为有效值的地址。
在上述步骤S1207之后,主机I/O处理程序401对主机做出响应从而报告写入I/O处理完成(S1208);然后终止处理。
在另一方面,如果在S1201中确定I/O处理请求是读取请求,则将执行以下处理。
如果I/O处理请求是读取请求,则主机I/O处理程序401检查与对应于I/O处理请求的虚拟卷中的地址对应的数据是否存在于高速缓存存储器中(S1202)。
在S1202中,其中地址为主机所请求的数据存在于高速缓存存储器中的情况称为高速缓存命中。在高速缓存命中的情况下,主机I/O处理程序401向主机传送高速缓存存储器中的数据(S1209)。
在传送主机请求的数据中的所有多条数据之后,主机I/O处理程序401向主机传送读取处理完成响应、由此终止处理。
在步骤S1202中的高速缓存未命中的情况下,主机I/O处理程序401分配高速缓存存储器中的区域以便存储与读取请求目标虚拟卷的地址对应的数据。接着,主机I/O处理程序401通过使用动态映射表301来检查是否从池向来自主机的读取请求的虚拟卷地址分配页面202。如果未分配这样的区域,则主机I/O处理程序401通过使用动态映射表301来找到存储默认值的页面、计算用于存储默认值的页面的驱动的地址、向高速缓存存储器中的分配的区域传送来自驱动的默认值(S1204)。
在默认值的情况下,将存储默认值的页面的池卷编号和逻辑地址设置到动态映射表中的与虚拟卷和逻辑地址对应的池卷编号和逻辑地址。
池中的一个或者多个默认值页面应当是足够的。考虑到容量效率,应当在池中有一个或者两个默认值页面。
在从主机写入新数据时,与默认值页面的地址关联的虚拟卷的逻辑地址然后与未用页面重新关联,该未用页面是主机用来写入数据的页面并且尚未与任何虚拟卷的地址关联。
如果在上文描述的处理中分配页面202,则主机I/O处理程序401通过使用动态映射表301找到池卷编号和逻辑地址并且进一步使用逻辑物理地址转换表308找到物理驱动编号和物理起始地址,来计算存储与主机所请求的虚拟卷的地址相对应的数据的驱动地址(S1203)。接着,主机I/O处理程序401向高速缓存存储器中的分配的区域传送来自计算的驱动地址的数据(S1204)。
主机I/O处理程序401在向高速存储存储器传送数据时更新每页面监视表302中的与动态映射表301中的监视信息索引编号对应的I/O计数器值(S1205)。
接着,主机I/O处理程序401向主机发送来自高速缓存存储器的、从驱动存储到高速缓存存储器中的数据(S1206)。
在向主机传送主机所请求的数据中的所有多条数据之后,主机I/O处理程序401向主机传送读取处理完成响应,由此终止处理。
图13是转存处理程序404的流程图。
如图12中所示,主机I/O处理程序响应于来自主机的数据写入请求向高速缓存存储器写入来自主机的写入数据,然后设置脏标志。
转存处理程序404参考高速缓存存储器管理表,并且定期检查在高速缓存存储器中是否存在尚未向盘写入的并且对其设置了脏标志的任何数据(S1301)。
如果找到具有对其设置了脏标志的数据的任何高速缓存区域,则转存处理程序404基于在高速缓存存储器管理表中声明的虚拟卷编号和逻辑地址从动态映射表301找到池卷编号和逻辑地址。
在执行该过程时,如果池卷编号和逻辑地址指示默认页面的地址,则转存处理程序404从动态映射表301分配新的未用页面以便写入新数据。然后,通过在动态映射表301中关联分配的页面的池卷编号和逻辑地址与对应于这一转存处理的虚拟卷编号和逻辑地址,来存储该分配的页面的池卷编号和逻辑地址。
如果已经分配了一个页面,则与虚拟卷501的逻辑地址502对应存储与默认值的池卷编号和逻辑地址不同的池卷编号和逻辑地址的值。
在找到池卷编号和逻辑地址之后,转存处理程序404找到逻辑物理地址转换表中的驱动的地址(S1302)。
转存处理程序404向在S1302中找到的驱动的地址写入高速缓存存储器中的脏数据(S1303)。
转存处理程序404然后更新每页面监视表302中的与动态映射表301中的监视信息索引编号对应的I/O计数器值(S1304)。
另外,转存处理程序404检查是否有尚未向盘写入/迁移的任何数据存在于高速缓存存储器中(S1301)。如果无这样的数据,则转存处理程序404终止处理;并且如果有尚未向盘写入/迁移的数据,则转存处理程序404再次从S1302执行处理。
图14是频率分布创建处理程序402的流程图。
这一程序在虚拟卷基础上创建频率分布。因此,频率分布创建处理程序402检查尚未为其创建频率分布的任何虚拟卷是否存在(S1401)。
如果在步骤S1401中确定尚未为其创建频率分布的虚拟卷存在,则频率分布创建处理程序402从卷的顶部检查未处理页面是否存在以便创建相关虚拟卷中的频率分布(S1402)。
如果在步骤S1402中确定未处理页面存在,则频率分布创建处理程序402调用加权平均计算处理程序403并且计算I/O数目(S1403)。
随后,频率分布创建处理程序402将对应频率分布的页面数目与计算的I/O数目相加(S1404)、然后返回到S1402。
如果发现关于正在被执行或者处理的虚拟卷直至相关卷的结束不存在未处理页面,则频率分布创建处理程序402返回到S1401以便检查是否有任何其它虚拟卷存在。
如果不存在尚未为其创建频率分布的更多虚拟卷,则频率分布创建处理程序402创建池频率分布(S1405)。通过计算虚拟卷频率分布的总和值来计算池频率分布。具体而言,频率分布创建处理程序402使用虚拟卷加权指标表307针对属于目标池的每个虚拟卷编号804计算与I/O数目805的页面数目803之和;并且在池频率分布表306中存储它作为与页面数目802对应的页面数目805。
随后,频率分布创建处理程序402计算和判决等级分配阈值208(S1406)。关于等级分配阈值208,存在一种方法,该方法针对每个等级从等级的潜力(可以处理的I/O最大数目)或者等级的容量的限制点判决最大页面分配数量的范围210、然后从范围210和频率分布图形209的交点计算等级分配阈值208。也可以使用一种使用用户指明的阈值的方法。
图15是页面重新定位处理程序405的流程图。
如果频率分布创建处理程序终止并且判决用于页面重新定位的等级重新定位阈值208,则页面重新定位处理程序405基于等级分配阈值208向池中的适当等级重新定位向每个虚拟卷分配的页面。
页面重新定位处理程序405根据权值平均计算程序针对在池中定义的虚拟卷从它的顶部被分配到的页面而计算的I/O数目以及等级分配阈值208判断是否适合让数据留在当前位于的等级中或者应当向不同等级迁移数据。如果确定应当向不同等级迁移数据,则页面重新定位处理程序405向另一等级中的未用页面迁移页面中的数据并且将在动态映射表301中的逻辑地址502、池卷编号和虚拟卷501的逻辑地址之间的关系改变成迁移目的地页面。
首先,页面重新定位程序405检查尚未对其执行页面重新定位处理的任何虚拟卷是否存在(S1501)。
如果有尚未对其执行页面重新定位处理的虚拟卷,则页面重新定位处理程序405针对从目标虚拟卷的顶部依次到它的结束的每个分配的页面检查是否需要重新定位(S1502、S1503)。具体而言,检查是否需要重新定位是为了基于用于目标池的池频率分配表306中的等级分配阈值208来判断:是适合让数据留在当前位于的等级中,还是应当向不同等级迁移数据。更具体而言,比较用于等级1和等级2的等级分配阈值208A以及用于等级2和等级3的等级分配阈值208B与用于目标页面的I/O计数器702的I/O数目。例如,如果I/O计数器的值大于等级分配阈值208A并且用于目标页面的当前等级是等级2,则应当将目标页面升级成等级1,从而需要重新定位。如果用于目标页面的当前等级是等级1,则目标页面已经位于等级1中,从而无需重新定位。作为一种用于找出用于目标页面的当前等级的方法,可以基于在动态映射表301中的逻辑地址502与虚拟卷501的池卷编号之间的关系从池卷编号判断目标页面当前位于哪个等级。
如果在步骤S1503中需要重新定位,则页面重新定位程序405对目标页面重新定位(S1504)。
如果无需重新定位或者在对目标页面重新定位之后,页面重新定位程序405检查虚拟卷中的下一页面是否为重新定位目标页面(S1502、S1503)。
在对整个虚拟卷执行重新定位处理之后,页面重新定位程序405检查尚未对其执行重新定位处理的另一虚拟卷;并且继续检查虚拟卷直至无尚未对其执行页面重新定位处理的更多虚拟卷为止(S1501)。
附带提一点,在循环处理的情况下,页面重新定位程序一旦循环处理结束就终止;并且页面重新定位程序继续再次执行用于下一循环处理的页面重新定位处理。如果重新定位处理在周期结束之前已经终止,则页面重新定位处理一旦在该时间点就终止,并且然后在下一周期中对每个虚拟卷重新执行页面重新定位处理。
图16示出加权平均计算计数器1(703A)值、加权平均计算计数器2(703B)值和I/O计数器值702的计算公式的示例。在这一实施例中,例如主机I/O处理程序401和转存处理程序404首先基于在恒定周期中计数的用于相关页面的I/O数目的计数器值(a_count)计算加权平均计算计数器1值(c[1]_new)和加权平均计算计数器2值(c[2]_new)(1602和1602)。然后,通过获得加权平均计算计数器1值和加权平均计算计数器2值的组合总数来计算用于相关页面的I/O数目(a_result)(1603)。
首先,通过使用由加权指标表(303或者304或者307)管理的加权平均计算计数器的加权值(p[1]_1)和用于I/O数目的计数器的加权值(p[1]_2)作为加权指标1607根据表示为1604的计算公式计算加权平均计算计数器1值(c[1]_new)。由于加权平均计算计数器1这里用作短周期中的计数器,所以设置加权平均计算计数器的加权值(p[1]_1)为轻权值。在附图中所示示例中,加权平均计算计数器的加权值(p[1]_1)是3,并且用于I/O数目的计数器的加权值(p[1]_2)是1。然后,如果用于I/O数目的计数器的值(最新测量周期的I/O数目)的权值是1,则通过考虑加权平均计算计数器值的权值来计算用于I/O数目的计数器的值(以往I/O数目)为3。例如,如果设置加权平均计算计数器的加权值(p[1]_1)为0、也就是无加权,则计算结果将完全忽略以往I/O数目,并且变成最新测量周期本身的I/O数目的值。计算公式是用于计算I/O数目的计数器值(a_count)和上次计算的加权平均计算计数器1值(c[1]_old)的加权平均的公式。计算的加权平均计算计数器1值(c[1]_new)在下次计算I/O数目时用作c[1]_old值。因此,用c[1]_new更新加权平均计算计数器1(703A)。
类似地,通过使用由加权指标表(303或者304或者307)管理的加权平均计算计数器的加权值(p[2]_1)和用于I/O数目的计数器的加权值(p[2]_2)作为加权指标1607,根据表示为1605的计算公式计算加权平均计算计数器2值(c[2]_new)。由于加权平均计算计数器2这里用作长周期中的计数器,所以设置加权平均计算计数器的加权值(p[2]_1)为重权值。在附图中所示示例中,加权平均计算计数器的加权值(p[2]_1)是127,并且用于I/O数目的计数器的加权值(p[2]_2)是1。然后,如果用于I/O数目的计数器的值(最新测量周期的I/O数目)的权值是1,则通过考虑加权平均计算计数器值的权值来计算用于I/O数目的计数器的值(以往I/O数目)为127。换而言之,如与短周期的上文提到的情况比较,最新测量周期的I/O数目对加权平均计算计数器值具有更少影响。计算公式是用于计算I/O数目的计数器值(a_count)和上次计算的加权平均计算计数器2值(c[2]_old)的加权平均的公式。计算的加权平均计算计数器2值(c[2]_new)在下次计算I/O数目时用作c[2]_old值。因此,用c[2]_new更新加权平均计算计数器2(703B)。上文已经描述其中在类型903中设置计数器数目为2的情况。关于其中在类型903中设置计数器数目为3或者更多的情况,将关于加权平均计算计数器3值(c[3]_new])和任何后续计数器以相同方式执行计算。另外,如果在类型903中设置计数器数目为1,则将不执行加权平均计算计数器2值(c[2]_new)的上文描述的计算。
根据由加权指标表(303或者304或者307)管理的组合总数计算方法,将用于相关页面的I/O数目(a_result)计算为基于加权平均计算计数器1值(c[1]_new)和加权平均计算计数器2值(c[2]_new)的平均值或者最大值(1606)。在计算平均值或者最大值时,使用由加权指标表管理的加权平均计算计数器1在组合总数中的加权值(p[1]_merge)和加权平均计算计数器2在组合总数中的加权值(p[2]_merge)作为在组合总数1608中的加权值,由此对每个加权平均计算计数器进行加权。利用用于相关页面的计算的I/O数目(a_result)更新I/O计数器值702。上文已经描述其中在类型903中设置计数器数目为2的情况。关于其中在类型903中设置计数器数目为3或者更多的情况,将关于加权平均计算计数器3值(c[3]_new])和任何后续计数器以相同方式执行计算。另外,如果在类型903中设置计数器数目为1,则将不执行平均值和最大值的计算。
有可能如上文描述的那样为每个加权平均计算计数器设置对于加权平均计算计数器的加权值(p[X]_1)和用于I/O数目的计数器的加权值(p[X]_2)的不同值。可以通过向每个加权平均计算计数器设置(p[X]_1/p[X]_2)的不同值(具体重要性)来计算I/O数目(a_result),该I/O数目是不同周期中的负荷的组合。在满足关系(p[X]_1/p[X]_2)>(p[Y]_1/p[Y]_2)时,加权平均计算计数器X是长周期,并且加权平均计算计数器Y是短周期。
另外,在计算I/O计数器值时(1606)仅参照关于图16中的公式的加权平均计算计数器;然而I/O数目的计数器值(a_count)本身可以被包括作为最大值或者平均值的计算目标。在这一情况下,可以用相同方式提供用于I/O数目的计数器值(a_count)在组合总数中的加权值,并且可以将组合总数中的加权值与I/O数目的乘积包括在对I/O计数器值的计算中。例如,如果p[1]_1是0,则c[1]_new的计算结果将等效于I/O数目的计数器值(a_count)。因此,可以通过未提供加权平均计算计数器1值(c[1]_new)、但是代之以通过上文描述的方法使用I/O数目的计数器值(a_count),来减少加权平均计算计数器1值(c[1]_new)使用的存储区域数量。
在最大值的情况下,最大值响应于I/O数目的迅速增加针对长周期观点不会由于低计数器值而变成低值,从而它具有有能力更迅速实施升级的有利效果。另外,在最大值的情况下,I/O数目相对于作为整体的池而增加,并且等级的最大性能将相对视为低。作为结果,将实现具有充分灵活性的等级布置,从而等级将难以响应于迅速负荷波动而进入瓶颈状态。
在平均值的情况下,平均值将响应于I/O数目的迅速增加针对长周期观点将是更低计数器值的平均值并且不会骤然增加/改变,从而不能执行比最大值的升级更灵敏的升级,但是可以减少由升级在等级之间造成的页面重新定位数量。另外,在平均值的情况下,平均值如与最大值比较的那样具有相对于作为整体的池的I/O数目变成更接近I/O实际数目这样的特性,并且可以实现能够表现等级的最大性能的等级布置。
附带提一点,在这一实施例中,可以改变用于加权平均计算计数器的参数(加权指标)。因而,在主机I/O的特性出现改变并且需要修改加权平均计算计数器时,可以通过改变参数来实施这样的修改。
具体而言,上文描述的情况是其中暂时负荷停止时段被缩短作为主机I/O特性的情况。例如,如果测量周期是一小时周期并且假设有在工作日(5天)操作而在周末(2天)未操作的作业,并且已经改变时间表使得作业将在四小时周期内循环地操作两小时,则这意味着有约两小时的负荷停止时段。在这一情况下,由于这样的负荷停止时段不同于先前假设的约两天、也就是周六和周日的负荷停止时段,所以有时可以通过将加权平均计算计数器仅用于短周期而不将加权平均计算计数器用于长周期,来防止针对两小时负荷停止时段的降级。具体而言,作为分别将加权平均计算计数器1值(c[1]_new)的p[1]_1和p[1]_2分别设置3和1的结果,即使仅一个加权平均计算计数器使用负荷指标仍然可以从长周期观点(对应于在常规设置中的短周期)防止由于暂时减少用于具体页面的I/O数目而造成的降级,并且响应于用于具体页面的I/O数目增加而在设置的周期(一小时)中实现迅速升级。在这一情况下,根据来自管理设备的命令释放在常规设置中使用的第二加权平均计算计数器,从而可以减少监视所必需的存储器的使用数量和计算负荷。
如果在系统的操作中间改变测量周期,则上文描述的方法的暂时加权将改变。根据改变的测量周期来改变负荷权值,以便维持相同暂时加权。例如假设当前测量周期是一小时并且加权指标是p[1]_1=3、p[1]_2=1(短范围)、p[2]_1=127和p[2]_2=1(长范围),并且如果测量周期将改变成t小时,则将加权指标设置成p[1]_1=4/t-1、p[1]_2=1、p[2]_1=128/t-1和p[2]_2=1。如果如上文描述的那样校正加权指标,则有可能维持相同暂时加权。一般而言,在当前测量周期是t1小时并且测量周期将改变成t2小时,则将满足以下公式:q[X]_1=(p[X]_1+p[X]_2)/(t2/t1)-p[X]_2,q[X]_2=p[X]_1,其中p代表已经使用的加权指标,并且q代表接着应当设置的加权指标。关于加权指标的这一校正,存储系统可以使用前述计算公式根据测量周期的设置的改变自动计算当前测量周期,或者用户可以根据前述计算公式计算当前测量周期并且在GUI上设置它。
图17是加权平均计算处理程序403的流程图。
首先在步骤S1701中,加权平均计算处理程序403判断页面加权指标表的用于目标页面的设置是否存在。具体而言,加权平均计算处理程序403检查目标页面的条目是否存在于页面加权指标表304中。如果有目标页面的条目,则加权平均计算处理程序403转向步骤S1704、判决使用目标页面的加权值作为加权指标的设置值(步骤S1704)、然后转向步骤S1707。如果无目标页面的条目,则加权平均计算处理程序403转向步骤S1702。
在S1702中,加权平均计算处理程序403判断虚拟卷加权指标表的用于包括目标页面的目标虚拟卷的设置是否存在。具体而言,加权平均计算处理程序403检查包括目标页面的目标虚拟卷的条目是否存在于虚拟卷加权指标表304中。如果有目标虚拟卷的条目,则加权平均计算处理程序403转向步骤S1706、判决使用目标虚拟卷的加权值作为加权指标的设置值(步骤S1706)并且转向步骤1707。如果无目标虚拟卷的条目,则加权平均计算处理程序403转向步骤S1703。
在S1703中,加权平均计算处理程序403判断池加权指标表的用于包括目标页面的目标池的设置是否存在。具体而言,加权平均计算处理程序403在动态映射表中搜寻包括目标页面的池、识别该池为目标池并且检查目标池的条目是否存在。如果有目标池的条目,则加权平均计算处理程序403转向步骤S1705、判决使用目标池的加权值作为加权指标的设置值(步骤S1705)并且转向步骤S1707。如果无目标池的条目,则加权平均计算处理程序403转向步骤S1707。
在步骤S1707中,加权平均计算处理程序403使用来自步骤S1704、步骤S1705或者步骤S1706中判决的加权值之中的加权平均计算计数器1(短范围)的类型以计算加权平均计算计数器1(短范围)的计数器值。由于参照图16说明计算方法,所以这里省略对其的详细说明。
在步骤S1708中,加权平均计算处理程序403使用用来自步骤S1704、步骤S1705或者步骤S1706中判决的加权值之中的加权平均计算计数器2(长范围)的类型以计算加权平均计算计数器2(长范围)的计数器值。由于参照图16说明计算方法,所以这里省略对其的详细说明。
在步骤S1709中,加权平均计算处理程序403使用步骤S1707中计算的加权平均计算计数器1值和步骤S1708中计算的加权平均计算计数器2值以计算I/O计数器的计数器值。由于参照图16说明计算方法,所以这里省略对其的详细说明。
附带提一点,已经描述其中有两个加权平均计算计数器的情况。如果加权平均计算计数器的数目为N,则可以通过对每个加权平均计算计数器执行与步骤S1707和步骤S1708对应的步骤来计算加权平均计算计数器值;可以通过在步骤S1709中使用加权平均计算计数器中的N条数据来计算I/O计数器值。
图18是示出用于在执行基于池的页面重新定位处理时对于例如监视模式、组合总数计算方法和计数器数目进行设置的屏幕示例的图。
基于池的页面重新定位处理设置屏幕1801由用于显示能够标识设置目标池的池编号的区域1802、用于设置监视模式的区域1803和用于在选择加权模式作为监视模式时进行详细设置的区域1808组成。
这里所用监视模式包括:在本发明中公开的用于基于加权平均计算判决页面重新定位的加权模式;以及在常规技术中公开的用于仅基于I/O数目判决页面重新定位的非加权模式。
用于在选择加权模式作为监视模式时进行详细设置的区域1808由以下区域组成:用于设置用于计算加权平均的组合总数的方法的区域1804;用于设置用于计算加权平均的计数器数目的区域1805;用于输入加权平均计算计数器的加权值的区域1806;以及用于选择预设选择的区域1807,该预设选择能够选择预先设置的加权平均计算方法。
在设置区域1804、1805、1806时,存储系统重新设置或者更新在池加权指标表的区域1802中指定的池条目。具体而言,提供与向区域1805设置的数目相等的加权平均计算计数器数目条目。注册来自向区域1806设置的值之中的值OLD作为每个加权平均计算计数器数目条目中的加权平均计算计数器的加权值的类型。注册值NEW作为I/O计数器的加权值的类型。注册值COMBINEDTOTAL作为组合总数中的加权值类型的类型。如果在区域1804中选择AVERAGE,则注册AVG作为组合总数计算方法类型。如果在区域1804中选择MAXIUM,则注册MAX作为组合总数计算方法类型。如果在用于设置组合总数计算方法的区域1804中选择MAXIMUM,则注册MAX作为在组合总数中的、在用于显示池编号的区域1802中指示的池的的加权值,该池编号能够标识池加权指标表的设置目标池。
附带提一点,用于上文描述的详细设置的设置值可以与标记、比如preSet1(预设1)一起存储,从而可以在区域1807中容易进行设置。
图19是示出用于在执行基于虚拟卷的页面重新定位处理时对于例如监视模式、组合总数计算方法和计数器数目进行设置的屏幕示例的图。
基于虚拟卷的页面重新定位处理设置屏幕1901由以下区域组成:用于显示能够标识设置目标虚拟卷的虚拟卷编号的区域1902;用于选择监视模式的区域1903;以及用于在选择加权模式作为监视模式时进行详细设置的区域1908。
这里所用监视模式包括:在本发明中公开的用于基于加权平均计算判决页面重新定位的加权模式;在常规技术中公开的用于仅基于I/O数目判决页面重新定位的非加权模式;以及无设置,这指示因为将执行基于池的页面重新定位处理,将不执行基于虚拟卷的重新定位处理。
由于用于在选择加权模式作为监视模式时进行详细设置的区域1908被配置为与图18中所示区域相似的区域,所以已经省略对其的说明。在区域1908与图18中的区域之间的不同在于重新设置或者更新虚拟卷加权指标表的条目。
图20是示出用于在执行基于页面的页面重新定位处理时对于例如监视模式、组合总数计算方法和计数器数目进行设置的屏幕示例的图。
基于页面的页面重新定位处理设置屏幕2001由以下区域组成:用于显示能够标识设置目标页面的虚拟卷编号和逻辑地址的区域2002;用于显示监视模式的区域2003;以及用于在选择加权模式作为监视模式时进行详细设置的区域2008。
这里所用监视模式包括:在本发明中公开的用于基于加权平均计算判决页面重新定位的加权模式;在常规技术中公开的用于仅基于I/O数目判决页面重新定位的非加权模式;以及无设置,这指示因为将执行基于池或者基于虚拟卷的页面重新定位处理,所以将不执行基于虚拟卷的重新定位处理。
由于用于在选择加权模式作为监视模式时进行详细设置的区域2008被配置为与图18中所示区域相似的区域,所以已经省略对其的说明。在区域2008与图18中的区域之间的不同在于重新设置或者更新页面加权指标表的条目。
如果采用上文描述的计算方法,则即使仅在周末(周六和周日)操作的批作业等经历负荷暂时减少,仍然可以如同长期监视那样防止降级并且可以防止在周一的性能下降。也可以在短周期中实施升级并且可以跟踪在每日业务的负荷。图12示出具体指示上文描述的有利效果的图形。
图形2101示出I/O计数器在负荷在周末(周六和周日)减少时的持续效果。计算基于以下指标:p[1]_1=3、p[1]_2=1(短范围)、p[2]_1=127、p[2]_2=1(长范围)。竖轴代表作为负荷的I/O数目,并且水平轴代表时间过程。线2103是指示用于页面的I/O实际数目、也就是I/O数目的计数器值(a_count)的时间改变的图形。线2104是指示加权平均计算计数器1值(c[1]_new)(短范围)的时间改变的图形。线2105是指示加权平均计算计数器2值(c[2]_new)(长范围)的时间改变的图形。线2106是示出根据本发明的方法的用于相关页面的I/O数目(a_result)的时间改变的图形。线2107是指示等级分配阈值208的线。由于I/O数目的计数器值(a_count)和加权平均计算计数器1值(c[1]_new)(短范围)响应于在周六和周日(在水平轴上从在24小时之后到在72小时之后)的负荷减少而而变成低于等级分配阈值208,所以降级出现。然而由于根据本发明的方法的用于相关页面的I/O数目(a_result)未降至等级分配阈值208以下,所以可以防止降级出现。
图形2102是示出可以实施短周期中的升级的图形。计算基于以下指标:p[1]_1=3、p[1]_2=1(短范围)、p[2]_1=127、p[2]_2=1(长范围)。竖轴代表作为负荷的I/O数目,并且水平轴代表时间过程。线2108是指示用于页面的I/O实际数目、也就是I/O数目的计数器值(a_count)的时间改变的图形。线2109是指示加权平均计算计数器1值(c[1]_new)(短范围)的时间改变的图形。线2110是指示加权平均计算计数器2值(c[2]_new)(长范围)的时间改变的图形。线2111是示出根据本发明的方法的用于相关页面的I/O数目(a_result)的时间改变的图形。线2112是指示等级分配阈值208的线。在高负荷(如线2108所示)出现时,在跟随负荷的增加时延迟加权平均计算计数器2值(c[2]_new)(长范围),并且在加权平均计算计数器2值(c[2]_new)(长范围)超过等级分配阈值208时仅在24小时之后,并且在负荷增加出现之后显著延迟升级。然而根据本发明的方法的用于相关页面的I/O数目(a_result)(线2109)可以迅速跟随负荷增加并且可以在短周期中实施升级。
另外,除了上文描述的方法之外的另一可能方法是保持测量周期为短周期,并且保持用于短周期的I/O数目的频率和用于长周期(数周或者更长)的I/O数目这二者。在测量周期是一小时时,一种可能方法是保持用于数周的每个测量周期中的I/O数目(数百条数据)作为历史数据,并且使用用于数周的每个测量周期的I/O数目的数据(数百条数据)、通过将每个测量周期乘以恒定加权值来计算长周期中的I/O数目。可以在监视目标单元数目小的时候实施这一方法。然而根据本发明的监视目标是在页面基础上的,并且每系统的单元数目庞大。在这样的情况下,计算所需要的存储区域容量庞大,并且需要大量时间用于它的求和处理。如果使用首先提到的使用加权平均计算计数器的方法,则即使基于页面的粒子大小收集I/O数目,仍然可以通过仅使用若干加权平均计算计数器来执行计算而未依赖于周期的长度,可以减少计算所需要的存储区域容量,并且也可以减少它的求和处理所需要的时间。
除了上文描述的方法之外的另一方法是分别具有长周期和短周期中的I/O数目的计数器并且更新每个周期中的计数器。由于这一方法无需如上文提到的那样具有用于长周期中的每个测量周期的I/O数目的历史,所以可以减少计算所需要的存储区域容量。然而在每个测量周期达到在长周期之间的断点时的瞬间,I/O数目有时可以急剧改变,并且不能完全针对每个测量周期获得从当前回到过去的无偏权值,因此降级有时可以集中于在长周期之间的断点上。如果使用首先提到的使用加权平均计算的方法,则可以实现从当前回到过去的无偏权值,并且首先提到的方法可以比上文描述的方法更好地防止在某个时间点上集中地出现降级。
工业实用性
本发明涉及存储系统的自动等级管理功能并且可以应用于计算机系统,该计算机系统可以防止由于I/O数目暂时减少而降级并且从短周期的观点关于I/O数目的增加实施升级,该计算机系统的在高速较高等级中的驱动可以处理许多I/O,并且该计算机系统可以解决较低等级中的瓶颈,由此提高存储系统的性能。
标号列表
101主机
102管理服务器
103网络
104存储系统
105外部存储装置(等级3)
106端口
107维护I/F
108端口
109处理器封装
110高速缓存存储器
111共享存储器
112内部网络
113驱动
114驱动
115等级1
116等级2
117等级3
118本地存储器
119处理器

Claims (14)

1.一种存储系统,包括多个种类的存储介质、存储器和处理器,所述处理器向主机计算机提供多个虚拟卷,并管理池,所述池具有基于所述多个种类的存储介质构成的多个实际存储区域;
所述虚拟卷的每一个具有多个虚拟存储区域;
其中所述处理器:
在从所述主机计算机接收到对所述虚拟卷所具有的所述虚拟存储区域的写入请求的情况下,将基于来自所述多个种类的存储介质之中的任一种类的存储介质的实际存储区域分配给所述虚拟存储区域;
基于对分配的所述虚拟存储区域的恒定周期的访问次数,计算包含第一周期中的访问次数和第二周期中的访问次数的不同周期的2个以上的负荷指标值,并在所述存储器中记录;
基于所述不同周期的2个以上的负荷指标值计算所述虚拟存储区域的I/O数目;
在所述虚拟卷的基础上创建所述虚拟卷所具有的多个所述虚拟存储区域的所述I/O数目的频率分布;
针对多个所述虚拟卷计算所述虚拟卷基础的所述频率分布的总和,并创建所述池中的所述I/O数目的频率分布;
关于所述虚拟卷的多个所述虚拟存储区域之中的第一虚拟存储区域,基于所述池中的所述I/O数目的频率分布和所述第一虚拟存储区域的I/O数目,向所述第一虚拟存储区域分配第二实际存储区域,该第二实际存储区域基于与被分配到所述第一虚拟存储区域的实际存储区域不同种类的存储介质。
2.根据权利要求1所述的存储系统,其中包括测量所述第一周期中的访问次数的第一计数器和测量所述第二周期中的访问次数的第二计数器。
3.根据权利要求1或2所述的存储系统,其中所述处理器基于所述池中的所述I/O数目的频率分布和所述多个种类的存储介质的容量或潜力决定阈值;
基于所述阈值和所述第一虚拟存储介质的所述I/O数目,向所述第一虚拟存储区域分配第二实际存储区域,所述第二实际存储区域基于与被分配到所述第一虚拟存储区域的实际存储区域不同种类的存储介质。
4.根据权利要求3所述的存储系统,其中所述虚拟存储区域的I/O数目是所述不同周期的2个以上的负荷指标值的平均值或最大值。
5.根据权利要求3所述的存储系统,其中所述处理器在所述虚拟存储区域的I/O数目比所述阈值大的情况和所述虚拟存储区域的I/O数目比所述阈值小的情况中的至少任一情况下,向所述第一虚拟存储区域分配第二实际存储区域,该第二实际存储区域基于与被分配到所述第一虚拟存储区域的实际存储区域不同种类的存储介质。
6.根据权利要求4所述的存储系统,其中所述虚拟存储区域的I/O数目是对所述不同周期的2个以上的负荷指标值的每一个负荷指标值加权后的值的平均值或最大值。
7.根据权利要求1或2所述的存储系统,其中所述不同种类的存储介质是SSD、硬盘驱动和外部链接的存储介质之中的至少任一个,所述SSD是SolidStateDrive。
8.一种用于存储系统的存储区域分配方法,所述存储系统包括多个种类的存储介质、存储器和处理器,所述处理器向主机计算机提供多个虚拟卷,并管理池,所述池具有基于所述多个种类的存储介质构成的多个实际存储区域,所述虚拟卷的每一个具有多个虚拟存储区域;
所述存储区域分配方法具有如下步骤:
通过所述处理器,在从所述主机计算机接收到对所述虚拟卷所具有的所述虚拟存储区域的写入请求的情况下,将基于来自所述多个种类的存储介质之中的任一种类的存储介质的实际存储区域分配给所述虚拟存储区域的步骤;
通过所述处理器,基于对分配的所述虚拟存储区域的恒定周期的访问次数,计算包含第一周期中的访问次数和第二周期中的访问次数的不同周期的2个以上的负荷指标值,并在所述存储器中记录的步骤;
通过所述处理器,基于所述不同周期的2个以上的负荷指标值计算所述虚拟存储区域的I/O数目的步骤;
在所述虚拟卷的基础上创建所述虚拟卷所具有的多个所述虚拟存储区域的所述I/O数目的频率分布的步骤;
针对多个所述虚拟卷计算所述虚拟卷基础的所述频率分布的总和,并创建所述池中的所述I/O数目的频率分布的步骤;和
关于所述虚拟卷的多个所述虚拟存储区域之中的第一虚拟存储区域,基于所述池中的所述I/O数目的频率分布和所述第一虚拟存储区域的I/O数目,向所述第一虚拟存储区域分配第二实际存储区域的步骤,该第二实际存储区域基于与被分配到所述第一虚拟存储区域的实际存储区域不同种类的存储介质。
9.根据权利要求8所述的存储区域分配方法,其中所述存储系统包括测量所述第一周期中的访问次数的第一计数器和测量所述第二周期中的访问次数的第二计数器。
10.根据权利要求8或9所述的存储区域分配方法,其中具有:
通过所述处理器,基于所述池中的所述I/O数目的频率分布和所述多个种类的存储介质的容量或潜力决定阈值的步骤;以及
基于所述阈值和所述第一虚拟存储介质的所述I/O数目,向所述第一虚拟存储区域分配第二实际存储区域的步骤,所述第二实际存储区域基于与被分配到所述第一虚拟存储区域的实际存储区域不同种类的存储介质。
11.根据权利要求10所述的存储区域分配方法,其中所述虚拟存储区域的I/O数目是所述不同周期的2个以上的负荷指标值的平均值或最大值。
12.根据权利要求10所述的存储区域分配方法,其中具有:
通过所述处理器,在所述虚拟存储区域的I/O数目比所述阈值大的情况和所述虚拟存储区域的I/O数目比所述阈值小的情况中的至少任一情况下,向所述第一虚拟存储区域分配第二实际存储区域的步骤,该第二实际存储区域基于与被分配到所述第一虚拟存储区域的实际存储区域不同种类的存储介质。
13.根据权利要求11所述的存储区域分配方法,其中所述虚拟存储区域的I/O数目是对所述不同周期的2个以上的负荷指标值的每一个负荷指标值加权后的值的平均值或最大值。
14.根据权利要求8或9所述的存储区域分配方法,其中所述不同种类的存储介质是SSD、硬盘驱动和外部链接的存储介质之中的至少任一个,所述SSD是SolidStateDrive。
CN201180063870.8A 2011-03-25 2011-03-25 存储系统和存储区域分配方法 Active CN103299265B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/001775 WO2012131749A1 (en) 2011-03-25 2011-03-25 Storage system and storage area allocation method

Publications (2)

Publication Number Publication Date
CN103299265A CN103299265A (zh) 2013-09-11
CN103299265B true CN103299265B (zh) 2016-05-18

Family

ID=44303501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180063870.8A Active CN103299265B (zh) 2011-03-25 2011-03-25 存储系统和存储区域分配方法

Country Status (5)

Country Link
US (1) US9311013B2 (zh)
EP (1) EP2633386A1 (zh)
JP (1) JP5543668B2 (zh)
CN (1) CN103299265B (zh)
WO (1) WO2012131749A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513814B1 (en) * 2011-03-29 2016-12-06 EMC IP Holding Company LLC Balancing I/O load on data storage systems
US8799611B2 (en) 2011-05-05 2014-08-05 International Business Machines Corporation Managing allocation of memory pages
US8793444B2 (en) * 2011-05-05 2014-07-29 International Business Machines Corporation Managing large page memory pools
US8656133B2 (en) 2011-05-05 2014-02-18 International Business Machines Corporation Managing storage extents and the obtaining of storage blocks within the extents
US8683169B2 (en) 2011-05-05 2014-03-25 International Business Machines Corporation Selecting an auxiliary storage medium for writing data of real storage pages
US8838895B2 (en) * 2011-06-09 2014-09-16 21Vianet Group, Inc. Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time
WO2013051069A1 (en) 2011-10-07 2013-04-11 Hitachi, Ltd. Storage system
US8819371B2 (en) 2011-10-07 2014-08-26 Hitachi, Ltd. Storage system
EP2735971A4 (en) 2011-11-21 2015-04-01 Hitachi Ltd ADMINISTRATIVE APPARATUS AND ADMINISTRATIVE PROCEDURE FOR A MEMORY DEVICE
JP5941996B2 (ja) 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法
US8996751B2 (en) * 2013-01-11 2015-03-31 Dell Products, Lp Autonomously initiated information storage device parameter change notification
JP6146087B2 (ja) * 2013-03-28 2017-06-14 富士通株式会社 ストレージ制御プログラム,ストレージ制御方法,ストレージシステム及びその階層制御装置
US9753987B1 (en) * 2013-04-25 2017-09-05 EMC IP Holding Company LLC Identifying groups of similar data portions
CN110333825A (zh) 2013-04-26 2019-10-15 株式会社日立制作所 存储系统
WO2015056332A1 (ja) * 2013-10-17 2015-04-23 株式会社日立製作所 ストレージ装置及び制御方法
CN104660436B (zh) * 2013-11-25 2018-05-11 中国电信股份有限公司 服务等级管理方法和系统
CN104679589A (zh) * 2013-11-27 2015-06-03 中兴通讯股份有限公司 系统资源均衡调整方法及装置
US10120601B2 (en) 2014-03-24 2018-11-06 Hitachi, Ltd. Storage system and data processing method
US10061725B2 (en) 2014-04-03 2018-08-28 Strato Scale Ltd. Scanning memory for de-duplication using RDMA
WO2016051512A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
US9912748B2 (en) 2015-01-12 2018-03-06 Strato Scale Ltd. Synchronization of snapshots in a distributed storage system
CN106233265A (zh) * 2015-02-26 2016-12-14 斯特拉托斯卡莱有限公司 将访问频率层次结构用于逐出目标的选择
JP6443170B2 (ja) 2015-03-26 2018-12-26 富士通株式会社 階層ストレージ装置,階層ストレージ制御装置,階層ストレージ制御プログラム及び階層ストレージ制御方法
WO2016170631A1 (ja) * 2015-04-22 2016-10-27 株式会社日立製作所 ストレージシステム
US10007638B2 (en) 2015-11-10 2018-06-26 Dell Products, Lp Asynchronous notification including parameter values in serial advanced technology attachment protocol
WO2017085792A1 (ja) * 2015-11-17 2017-05-26 株式会社日立製作所 ストレージシステム、及びストレージシステムの制御方法
CN105528305B (zh) * 2015-12-04 2018-04-13 北京理工大学 一种基于ddr2 sdram的短周期存储方法
US10031687B2 (en) * 2016-05-02 2018-07-24 International Business Machines Corporation Computer storage allocation on prioritized storage tiers
JP6995728B2 (ja) 2018-09-28 2022-01-17 株式会社日立製作所 ストレージ装置、管理方法及びプログラム
US11269525B2 (en) * 2020-01-06 2022-03-08 International Business Machines Corporation Co-processing a plurality of dependent systems with a finite number of processing threads
JP7412397B2 (ja) * 2021-09-10 2024-01-12 株式会社日立製作所 ストレージシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011029713A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Data migration between data storage entities

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3181446B2 (ja) * 1993-09-24 2001-07-03 株式会社東芝 情報記憶装置
US6480930B1 (en) * 1999-09-15 2002-11-12 Emc Corporation Mailbox for controlling storage subsystem reconfigurations
JP4053234B2 (ja) * 2000-12-11 2008-02-27 株式会社日立グローバルストレージテクノロジーズ ディスク装置
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
EP1668486A2 (en) 2003-08-14 2006-06-14 Compellent Technologies Virtual disk drive system and method
JP4383132B2 (ja) * 2003-09-02 2009-12-16 株式会社日立製作所 仮想化制御装置及び計算機システム
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7287133B2 (en) * 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
CN100524257C (zh) * 2003-10-27 2009-08-05 松下电器产业株式会社 记录媒体、数据处理装置以及数据处理方法
US7177883B2 (en) * 2004-07-15 2007-02-13 Hitachi, Ltd. Method and apparatus for hierarchical storage management based on data value and user interest
JP2006302010A (ja) 2005-04-21 2006-11-02 Kyocera Mita Corp 情報処理装置
JP2007058728A (ja) * 2005-08-26 2007-03-08 Hitachi Ltd データ移行方式
US20090240880A1 (en) * 2008-03-21 2009-09-24 Hitachi, Ltd. High availability and low capacity thin provisioning
JP5072692B2 (ja) * 2008-04-07 2012-11-14 株式会社日立製作所 複数のストレージシステムモジュールを備えたストレージシステム
US20090300283A1 (en) * 2008-05-29 2009-12-03 Yutaka Kudo Method and apparatus for dissolving hot spots in storage systems
US8190832B2 (en) * 2009-01-29 2012-05-29 International Business Machines Corporation Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata
US8527054B2 (en) * 2009-06-30 2013-09-03 Richard B. North Implantable medical device connector
US20110047322A1 (en) * 2009-08-19 2011-02-24 Ocz Technology Group, Inc. Methods, systems and devices for increasing data retention on solid-state mass storage devices
US20110283062A1 (en) * 2010-05-14 2011-11-17 Hitachi, Ltd. Storage apparatus and data retaining method for storage apparatus
US8386711B2 (en) * 2010-08-10 2013-02-26 Hitachi, Ltd. Management method and management system for computer system
US9003150B2 (en) * 2012-04-26 2015-04-07 Hitachi, Ltd. Tiered storage system configured to implement data relocation without degrading response performance and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011029713A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Data migration between data storage entities

Also Published As

Publication number Publication date
US9311013B2 (en) 2016-04-12
EP2633386A1 (en) 2013-09-04
WO2012131749A1 (en) 2012-10-04
JP2013543996A (ja) 2013-12-09
JP5543668B2 (ja) 2014-07-09
CN103299265A (zh) 2013-09-11
US20120246386A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
CN103299265B (zh) 存储系统和存储区域分配方法
US9477407B1 (en) Intelligent migration of a virtual storage unit to another data storage system
US7653784B2 (en) Management computer, power supply control method and computer system
US10564870B1 (en) Placing data storage volumes
JP4391265B2 (ja) ストレージサブシステムおよび性能チューニング方法
CN105573660B (zh) 用于改善分簇磁盘阵列的性能的方法和装置
US20200034067A1 (en) Storage system and data control method
CN104285206A (zh) 信息存储系统和控制信息存储系统的方法
US8392657B2 (en) Monitoring cache usage in a distributed shared cache
CN103430174A (zh) 基于存储位置属性和数据使用统计选择用于存储数据的存储位置
CN107111458A (zh) 管理计算机及计算机系统的管理方法
CN107636598A (zh) 横向扩展NVMe存储装置中的出价/要价协议
CN106708751A (zh) 包括用于多模操作的多分区的存储装置及其操作方法
US10521124B1 (en) Application-specific workload-based I/O performance management
CN106326002A (zh) 资源调度方法、装置及设备
CN107851105A (zh) 具有副本位置选择的分布式存储系统
CN109684231A (zh) 用于识别固态盘中的热数据和流的系统及方法
US10860260B2 (en) Method, apparatus and computer program product for managing storage system
CN101599005B (zh) 分配存储设备的逻辑存储实体的方法和系统
WO2010050926A1 (en) Workforce planning
EP2302501A2 (en) Dynamic page reallocation storage system management
CN104994135B (zh) 存储系统中融合san及nas存储架构的方法及装置
CN111338579B (zh) 基于存储池的读写缓存优化方法、系统、终端及存储介质
JP2006331458A (ja) ストレージサブシステムおよび性能チューニング方法
US9317224B1 (en) Quantifying utilization of a data storage system by a virtual storage unit

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