CN110333825A - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN110333825A
CN110333825A CN201910525717.0A CN201910525717A CN110333825A CN 110333825 A CN110333825 A CN 110333825A CN 201910525717 A CN201910525717 A CN 201910525717A CN 110333825 A CN110333825 A CN 110333825A
Authority
CN
China
Prior art keywords
level
data
page
threshold
access 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.)
Pending
Application number
CN201910525717.0A
Other languages
English (en)
Inventor
圷弘明
山本彰
本间繁雄
山本政信
大平良德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to CN201910525717.0A priority Critical patent/CN110333825A/zh
Publication of CN110333825A publication Critical patent/CN110333825A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0604Improving or facilitating administration, e.g. storage 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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

Landscapes

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

Abstract

公开了在考虑到了突发性短周期负载的增减的基础上用于实现数据的层级间配置、提高高层级上的数据命中率的存储系统。本发明的存储系统对第一期间中来此主机装置的访问频率即第一访问频率和比第一期间短的第二期间中来自主机装置的访问频率即第二访问频率进行管理。层级间的数据再配置基于第一访问频率按以第一周期为周期而进行,并且与用户来自所述主机装置的访问同步地进行基于第一访问频率和第二访问频率的第二再配置的要否判定。在此,第一再配置的要否判定所用的阈值不同于第二再配置的要否判定所用的阈值。

Description

存储系统
本申请是国际申请号为PCT/JP2013/062317、国际申请日为2013年4月26日、国家申请号为201380073705.X、发明名称为“存储系统”的中国发明专利申请的分案申请。
技术领域
本发明涉及具有多个层级的存储系统的自动层级控制。
背景技术
由于数据量的增大化、数据种类的多样化和比HDD(Hard Disk Drive,硬盘驱动器)高速的SSD(Solid State Drive,固态驱动器)的普及所产生的存储器内的存储介质的多样化,而变得难以向恰当的存储媒体层级进行数据配置。作为应对该课题的一种手段,正在普及与对数据的访问频率相应地自动地将数据储存于恰当的存储介质的存储器自动层级配置功能。
通常,自动层级管理功能,在一定的周期内(负载监视的计测期间),在页的I/O频率高的情况下使页向上位层级移动(称为升级,promotion),在页的I/O频率低的情况下使页向下位层级移动(称为降级,demotion)。另外,也有下述技术:提取2种按所述周期的间隔更新的指数移动平均值(按少周期数增加/衰减的值和按多周期数增加/衰减的值),组合这2种值而设为1个指标值也就是所述I/O频率(负载指标)从而也考虑短周期的I/O变动(例如参照专利文献1)。
现有技术文献
专利文献
专利文献1:美国2012/0246386A1
专利文献2:美国2004/0257857A1
发明内容
发明要解决的课题
但是,在上述专利文献1记载的技术中,按每个规定周期提取监视信息而执行再配置,所以难以追踪比该规定周期短的突发性短周期的负载。但是,如果单纯地设为从数秒到数分钟量级的短周期,则在负载按短期间衰减的页会被大量再配置,会有损长周期的稳定的Tier1命中率。进一步,由每个监视周期的累计所耗的控制器的计算量增大化和页移动量增加所产生的对高速缓冲存储器和驱动器的负载影响(性能降低SSD寿命降低)变大。
用于解决课题的技术方案
为了解决上述问题,本发明提供一种按长周期负载来确定基本配置、按不同于长周期的阈值来实施短周期负载的页的移动判定的存储系统。具体而言,本申请公开的一种存储系统具有第一存储器件和性能比第一存储器件好的第二存储器件。控制器,将具有多个逻辑区域的虚拟卷提供给主机装置,在接到了写入请求后将第一存储器件和第二存储器件的存储区域分配给接到了写入请求的逻辑区域,另外,将要在被分配的存储区域储存的数据在第一存储器件与第二存储器件之间进行再配置从而将针对所述逻辑区域的分配变更为再配置目的地的存储区域。尤其是,控制器管理第一访问频率和第二访问频率,其中,所述第一访问频率是在第一期间中来自主机装置的访问频率,所述第二访问频率是在比第一期间短的第二期间中来自主机装置的访问频率,基于第一访问频率以第一期间为周期而进行第一再配置,并且与来自的主机装置的访问同步地进行基于第一访问频率和第二访问频率的第二再配置的要否判定,第一再配置的要否判定所用的阈值不同于第二再配置的要否判定所用的阈值。
发明效果
根据本发明,能够在考虑了突发性短周期负载的增减的基础上实现数据的层级间配置,能够提高高层级上的数据位率。
附图说明
图1是示出本发明的第一实施方式涉及的计算机系统的结构例的图。
图2是示出本发明的第一实施方式涉及的存储系统的逻辑结构的图。
图3是示出本发明的页配置理论的图。
图4是示出SSD的寿命维持理论的图。
图5是示出在共享存储器111配置的表的种类的图。
图6是示出在本地存储器118配置的程序的种类的图。
图7是示出动态映射表501的构造的图。
图8是示出逻辑物理地址变换表503的构造的图。
图9是示出每页监视表的构造的图。
图10是示出存储池频数分布表和虚拟卷频数分布表的构造的图。
图11是示出页再配置队列的构造的图。
图12是示出主机进行针对虚拟卷的数据读写时的、存储系统内的主机I/O处理程序的处理的流程图。
图13是转储(destage)处理程序的流程图。
图14是频数分布制作处理程序的流程图。
图15是不同步再配置判定处理程序的流程图。
图16是示出页再配置处理程序的工作的流程图。
图17是示出监视更新&Tier判定处理的工作的流程图。
图18是示出进行以存储池为单位的参数设定的画面的例子的图。
图19是示出Tier判定处理的工作的流程图。
图20是示出降级判定处理的工作的流程图。
图21是示出升级判定处理的工作的流程图。
图22是示出降级量管理表和扩展每页监视表(1)的表构造的图。
图23是示出降级判定处理(2)的工作的流程图。
图24是示出升级判定处理(2)的工作的流程图。
图25是示出处理的高效化的理论的图。
图26是示出队列的重新排序工作的图。
图27是示出用于参数推定方法和高效化的表构造的图。
具体实施方式
以下,基于附图对本发明的实施方式进行说明。在附图中,有时用同一符号表示功能相同的要素。附图示出遵照本发明的原理的具体实施方式和实施例。这些实施方式以及实施例是用于本发明的理解的,不用于限定性地解释本发明。
进一步,如后所述,本发明的实施方式可以通过在通用计算机上运行的软件来安装,也可以通过专用硬件来安装,或者也可以通过软件与硬件的组合来安装。
在以后的说明中,以表的形式对管理用的信息进行说明,但是管理用的信息也不是必需用基于表的数据结构来表达,也可以通过列表、DB、队列等数据结构和目录构造等其他方法来表达。因此,为了表明不依存于数据结构,对于“表”、“列表”、“DB”、“队列”等,有时简称为“信息”。
以下,有时以“程序”为主语(动作主体)对本发明的实施方式中的各处理进行说明。程序,因为一边使用存储器以及通信端口(通信控制装置)一边进行由处理器执行从而确定的处理,所以也可以设为以处理器为主语的说明。程序的一部分或全部既可以通过专用硬件来实现,也可以使之模块化。各种程序也可以通过程序发布存储器、存储介质而安装于各计算机。
图1是示出本发明的第一实施方式涉及的计算机系统的结构例的图。主机101由例如一般的服务器构成,经由网络103连接于存储系统104的端口106。主机101对存储系统104发行数据的读出和写入指令,存储系统104与该指令相应地执行数据的读出和写入。网络103由例如SAN(Storage Area Network,存储区域网)和以太网(注册商标)等构成。另外,管理服务器102经由网络103连接于存储系统104的维修I/F107或端口108。存储管理者使用管理服务器102对存储系统104发送使存储系统运转所需要的各种设定和管理用的指令。在连接有外部存储器105的情况下,该外部存储器105连接于存储系统104的端口108。在连接该外部存储器105时,也可以经由网络103连接于存储系统104的端口108。外部存储器105所提供的卷(volume),能够由存储系统104与存储系统104内部的卷同样地处置。关于该具体方法,已记载于专利文献2,所以省略详细的说明。
接下来,针对存储系统104的内部结构进行说明。在存储系统104的内部,经由内部网络112连接有端口106、维修I/F107、处理器插件109、高速缓冲存储器110、共享存储器111、端口108、驱动器113和驱动器114。高速缓冲存储器110是用于为了提高存储系统104的I/O处理的容许能力和响应性而作为暂时的超高速缓冲存储器来储存数据的、能够高速访问的存储器。处理器插件109由本地存储器118和处理器119构成,也可以为多个。处理器119为了处理来自主机101的读出和写入指令,而执行驱动器115、116、外部存储器105与高速缓冲存储器110之间的数据的传输处理等。共享存储器111是储存处理器119处理读出和写入指令并执行存储功能(卷的复制功能等)所必需的控制用的信息的存储器,也是储存多个处理器插件109A、109B间的处理器119所共有的信息的存储器。本地存储器118是储存处理器119处理读出和写入指令并执行存储功能所必需的控制用的信息的存储器,是处理器119能够占有而使用的区域。本地存储器118中储存例如由处理器119执行的程序等。
驱动器113、114包括性能不同的多种驱动器。是具有例如FC(Fibre Channel,光线通道)、SAS(Serial Attached SCSI,串行SCSI)、SATA(Serial Advanced TechnologyAttachment,串行高级技术附件)等接口的硬盘驱动器。与硬盘驱动器相比较,由I/O容许能力性能高且I/O响应性能高的SSD(solid-state drive,固态硬盘驱动器)等构成。将这些多种驱动器分离成具有相近性能的驱动器所得的类别为层级(Tier)115、116、117。层级间的关系由性能的高低关系来定义。通常按照性能从低到高的驱动器(SSD等)的顺序构成为从Tier1到Tier2、3。此外,外部存储器中的驱动器,也可以设想连接不使用的旧机种等的情况,以性能低为前提将其作为最下位Tier予以管理,用户也可以通过管理I/F与外部存储器的性能响应而设定层级。
图2是示出本发明的第一实施方式涉及的存储系统的逻辑结构的图。处理器119对主机提供的虚拟卷201是从主机101识别到的逻辑存储区域,来自主机101的读出和写入指令为发行对象。存储池206由1个以上的存储池卷203构成。存储池卷204分别由驱动器113、114、外部存储器105的驱动器的任一个的存储区域构成,与驱动器所属的层级相应而被分类。本实施例中,具有SSD的层级115(与存储池卷203A相应)、SAS的层级116(与存储池卷203B、203C相应)和外部连接的层级117(与存储池卷203D、203E相应)的3个层级。
处理器119从存储池206以预定单位(页)对主机101发行了写入指令的虚拟卷201中的成为写入指令的对象的存储区域分配未使用的存储区域(205A)。针对下一次的来自主机101的对同一页的读/写指令,通过对已分配的存储池卷203的区域执行I/O处理,从而恰如主机101对虚拟卷执行I/O处理那样予以处理。使用虚拟卷201,仅分配要使用的部分的存储池卷203的区域,由此能够高效地使用有限的存储容量。
构成各虚拟卷的页202的每页都具有来自主机的I/O处理的特性(将其称为访问局域性)。例如,在I/O的频率高的页与低的页混杂的情况下,通常,将I/O的频率高的页配置于上位的层级,这能够提高系统整体的性能。例如,设为SSD的层级(115)能够进行100IOP处理,SAS的层级(116)能够进行10IOPS处理。在此,在对具有50IOPS的特性的页202C分配了SAS层级、对具有20IOPS的特性的页202A分配了SSD层级的情况下,来自主机的针对页的IOPS的比率多是基本一定的,因此存储系统104整体上只能发挥10(SAS层级的上限)+25=35IOPS的性能。将该状态称为瓶颈(neck)状态。如果能够将页202C从SAS向相SSD的层级升级,则存储系统104整体上能够发挥50+20=70IOPS的性能。
上述升级,具体而言通过如下方式来执行:将页204C的数据复制到未使用的页204B,将虚拟卷201A的页202C与存储池卷203B的页204C的对应关系(205C)变更为虚拟卷201A的页202C与存储池卷203A的页204B的对应关系(205B)(图16的S1604)。由降级进行的数据再配置也能够通过同样的结构来实施。
频数分布207示出各页的I/O数的分布。曲线209的纵轴示出从左向右按I/O数从少到多的顺序将所有页并排时的、各页的I/O数。Tier分配阈值208(=T)是确定将哪一个I/O数的页分配给哪一层级的阈值。关于I/O数高的页,将例如属于从Tier分配阈值208A与频数分布曲线209的交点到性能最高的页的范围210A的页,分配给Tier1(本实施例中为SSD)的层级115。另外,将属于从Tier分配阈值208A与频数分布曲线209的交点到Tier分配阈值208B与频数分布曲线209的交点的范围210B的页,分配给Tier2(本实施例中为SAS)的层级116。另外,将属于从Tier分配阈值208B与频数分布曲线209的交点到I/O数最小的页为止范围的页分配给Tier3(本实施例中为外部存储器)的层级117。这样一来,能够按I/O数从高到低的顺序从上位层级起依次进行分配。
Tier分配阈值208的值既可以由存储器管理者指定,也可以由存储系统104计算。此外,Tier分配阈值208的初始值(起动存储系统后,未制作频数分布的阶段期间),例如设为0,能够从上位层级起连续进行分配。
图3中说明本发明的页配置理论。首先,本发明中,基本的页配置基于已确定的周期(长周期)监视来确定。具体而言如图2所示,根据基于长周期监视而制作的存储池的频数分布207,确定Tier分配阈值208(用变量T表示)并对页进行分配。图3的例子中,将T=2以上的长周期的负载(长周期IOPS)的页配置于Tier1,将低于T=2的长周期IOPS的页配置于Tier2。如上所述,IO负载量遍及长周期较大的页,多能够期待从长期来看稳定的Tier1命中性能。因此本发明中,稳态的页配置层级基于长周期IOPS而确定。另一方面,如果对通常的I/O图案进行分析,则有时会有以短间隔(秒~数分钟)持续非常高的负载的页。如果这样单纯地缩短再配置周期以应对I/O变化,则在短期内负载衰减后的页被大量再配置于下位层级,所以有损整体的高层级数据命中率。
因此,在以长周期为基准而确定了基本配置的基础上,考虑短周期的负载(短周期IOPS)而组合执行按不同于先前的基本配置用的基准而进行的层级间数据再配置。也就是,基于以长周期负载为基准而确定的阈值(Tier分配阈值208),判定长周期/短周期负载而选择短周期中的降级对象的页,选择比降级对象页的长周期/短周期负载高一定以上的短周期IOPS的页作为短周期下的升级对象并进行再配置。进一步,所述短周期的升级/降级是突发性负载,考虑到衰减很有可能比周期快而使其不依存于预先确定的周期长度,使其与I/O联动而执行Tier的移动要否判定。通过该结构,考虑长周期的稳定的Tier1命中同时也突发地将I/O高的页配置于Tier1,从而能够提高整体的Tier1命中率。例如,用302所示的页,其长周期IOPS为3IOPS,在Tier1中的页中最长周期的负载低,短周期I/O也是3IOPS。另外,用301所示的页,其短周期IOPS为5IOPS,是比所述降级对象的长周期IOPS的3IOPS高的IOPS,因此通过暂时替换这样页,能够实现比仅按长周期配置时高的Tier1命中率。
另外,所述短周期的升级/降级,基本上,应该优选执行向Tier1(最上位层级)的升级和、为执行该升级而用于确保空页区域的从Tier1的降级。除高负载时等特殊情况外,Tier1的驱动响应性最低。因此,将作为最上位层级的Tier1设为短周期升级执行的再配置目的地,这对整体平均响应性缩短最为有效。
基于上述说明,本实施例中将Tier1设为短周期再配置的对象,但是在Tier数为3以上的情况下,也可以包含比Tier1低的层级而设为短周期再配置的对象。同样地,也可以按各Tier的平均驱动响应性变低的顺序,动态地确定设为短周期再配置对象的优先顺位。例如响应性因各Tier的驱动器运行率而异。因此,在Tier1的运行率极高的情况下,有时会长于Tier2的响应时间。例如,在Tier1的平均驱动响应时间为10ms且Tier2的平均驱动响应时间为5ms的情况下,也可以将本申请所公开的短周期中的升级、降级作为向Tier2的升级和用于确保其空页区域的降级而执行。
图5示出配置于共享存储器111的表,图6示出储存于本地存储器118的程序。这些表、程序的配置场所不限于类似的场所,除各本地存储器118外,既可以是共享存储器111的驱动器113等,也可以是它们之间受层级管理的空间。
动态映射表501是管理虚拟卷201的各页、被分配的存储池卷203的区域与该页的监视信息的对应关系的表。逻辑物理地址变换表503是管理校验位组(PG)、存储池卷与储存存储池卷的数据的物理盘的地址的对应关系的表。每页监视表502是管理包括I/O数在内的各页的监视信息的表。虚拟卷频数分布表504是管理与虚拟卷相关的每个I/O数范围的页数的分布的表。存储池频数分布表505是管理与存储池相关的、每个I/O数范围的页数的分布的表。页再配置执行队列506是执行页再配置时的等待队列。设定信息表507是管理根据管理I/F等所设定的各种参数的表。高速缓冲存储器管理表508是在将数据储存于高速缓冲存储器110时保持处于高速缓冲存储器中的数据的修改/原始(dirty/clean)状态管理的表。在对针对虚拟卷的写入数据进行高速缓冲存储的情况下,也使高速缓冲存储器110的地址与确定对应的虚拟卷201的页的地址相对应地予以管理。
图6中说明的程序由处理器119执行。主机I/O处理程序601是在从主机101接受到I/O时处理针对虚拟卷201的读/写请求的程序。转储处理程序604是将高速缓冲存储器上的物理盘未反映数据储存于物理盘的程序,不与主机I/O同步执行。频数分布制作处理程序602是计算Tier分配阈值的程序,按规定周期(具体而言为所述长周期的间隔)执行。监视更新&Tier判定处理603与主机I/O处理601同步实施每页监视表502的各种信息的更新和页的Tier移动判定。本程序执行向Tier1的升级或向Tier1的降级。不同步再配置判定处理程序606是如果图14的频数分布制作完成则起动、且按规定周期参照每页监视表502按每页执行恰当Tier的判定。本程序执行向Tier1的升级以外的工作。页再配置处理程序605是对页进行再配置的程序且按周期执行。
每页监视表502、存储池频数分布表505也可以配置在主机101、管理服务器102上,在该情况下,频数分布制作处理程序602在主机101、管理服务器102上运行。
图7中例示动态映射表501的构造。动态映射表的1个项目列,使虚拟卷中的页与被分配给该页的存储池区域相关联。虚拟卷中的页,通过虚拟卷编号702和该虚拟卷内的该页的开始逻辑地址703来识别。另外,存储池卷的各区域,通过存储池编号701、存储池卷编号704和存储池卷内的该区域的开始逻辑地址705来识别。另一方面,监视信息,通过监视信息索引编号706来识别。该监视信息索引编号与每页监视表502的监视信息索引编号901相对应,但也可以直接作为动态映射表501的要素予以储存。此外,动态映射表501对储存规定的初始值数据(例如0数据)的默认值页予以管理。考虑到容量效率,默认值页只要在存储池中至少有一个以上即可。在确定一次也没有进行过数据写入的虚拟卷的区域的、与虚拟卷702的逻辑地址703相对应的存储池卷编号和逻辑地址中,储存默认值页的地址。
另外,动态映射表501对确定存储池206内未分配给虚拟卷的页的存储池卷编号和逻辑地址进行管理。在初次对之前一次也没有从存储器对虚拟卷702的逻辑地址703写入数据的部位写入数据的情况下,使所述空页的存储池卷编号和逻辑地址与写入目的地的逻辑地址703相对应。
图8中示出逻辑物理地址变换表503的构造。逻辑物理地址变换表的一个项目列示出存储池卷204、储存该存储池卷的数据的PG(校验位组)编号与物理驱动器(113或114)的区域的对应关系。存储池卷通过存储池卷编号801来识别。存储池卷在PG上定义多个。与存储池卷相对应的PG通过PG编号802来识别。另外,与PG相对应的物理驱动器的区域,通过物理驱动器的编号803和该物理驱动器的开始地址804来识别。
该存储池卷表示针对存储池的增设·减设的单位。只是,该增设单位也可以不是在PG上定义的逻辑VOL而是PG自身。该情况下,也可以将在动态映射表中储存的存储池卷编号704和逻辑地址705设为PG上的地址。
图9中示出每页监视表502的构造。每页监视表的1个项目列示出通过监视信息索引编号901识别的特定页202的监视信息。I/O计数902储存一定周期的I/O数。该周期与前述的频数分布制作处理程序602的工作周期相同,频数分布制作处理程序602以该一定周期的I/O数为处理对象。
本实施例中设有多个长周期I/O计数(A面)902A和长周期I/O计数(B面)902B。其中,将一方设为由主机I/O处理程序601和转储处理程序604所实现的监视提取用的计数,将另一方设为频数分布制作处理602、监视更新&Tier判定处理603和不同步再配置判定处理程序606用的计数,切换利用,从而一边提取监视,一边并行地执行使用前一周期的确定的监视数据而对Tier进行判定从而对页进行再配置的处理。
临时计数903用于测定短周期I/O。示出从前一次临时计数届满时刻904所示的时间到当前为止的期间,I/O被计数了几次。在临时计数903的值被累计计数为N次(=临时计数届满值)时,前一次临时计数届满时刻904被更新为当前时刻,将再度临时计数设为0。以临时计数903变为0为契机,通过(前一次临时计数届满时刻904-当前时刻)÷N,从而计测不同于长周期的周期的IOPS。通过如以上那样对负载进行计数,不依存于为了Tier阈值设定所设定的规定周期,达到N次的期间越短就能够计测越短(IOPS越高则越高)的短周期的负载。
临时计数903中,仅将与表达N次差量的信息量相当的计数配置于访问延迟短且容量小的本地存储器仅将前一次临时计数届满时刻配置于大容量的共享存储器。由此,能够将通常访问延迟长的向共享存储器的访问由1/N次设为1次,即使不因为临时计数届满时刻而大量使用本地存储器,也能够减小针对I/O处理的处理器处理增加影响。
另外,在每页监视表502具有读出写入比率(或读出量/写入量)、时序比率(或平均I/O长度、或通常的时序的判定方法(判定I/O的连续性等)),在Tier判定时刻也可以使用这些信息。例如,写入率高的页命中高速缓冲存储器,所以优选优先将读出率高的页配置于Tier1的方式。另外,在Tier1为SSD的情况下,以SSD寿命维持为目的,可以考虑优先将读出率高的页配置于Tier1。
另外,每页监视表502中也可以保持移动平均用计数,将按多个周期的移动平均(指数移动平均、单纯移动平均等)而计算出的值设为长周期的计数,从而将现有技术1所示的技术和本发明的内容组合,以有效地避免例如周末等周期性负载降低所产生的不需要的降级。
图10中示出存储池频数分布表505和虚拟卷频数分布表504的构造。存储池频数分布表505对与存储池206相关的每个I/O数范围的页数分布进行管理。存储池频数分布表的1个项目列示出与某一存储池相关的I/O数的范围和该I/O数范围所含的页数。负载等级1002是将负载程度分级所得的,负载等级1002的括号内的值示出按各个等级定义出的IOPS开始值。该负载等级范围的结束值成为(下一项目列的IOPS数范围的开始值-1)(IOPS为正整数的情况)。页数1003与该负载等级1002的范围所含的页数相对应。另外,本表中,也管理Tier分配阈值208。Tier分配阈值如果为0IOPS以上的值即可,并非必需是各范围的边界值。另外,Tier分配阈值也可以将负载等级设为值。
虚拟卷频数分布表504对与虚拟卷201相关的、每个I/O数范围1005的页数1006的分布进行管理。表构造与存储池频数分布表505相同。
图11中示出页再配置队列506的构造。页再配置队列506被分类为升级用队列1101和降级用队列1102。既可以以存储系统为单位而具有这些队列,也可以以存储池为单位或以PG为单位、以存储池卷为单位而具有这些队列。
监视更新&Tier判定处理603或不同步再配置判定处理程序606,在使用各种阈值进行Tier判定,结果判定为必需进行页移动的情况下,与移动模式(升级或降级)相应地将项目列1103插入各队列。项目列中包括对移动目的地页的参照(与存储池卷编号704、逻辑地址705相当)和对移动源页的参照(与存储池卷编号704、逻辑地址705相当)。所谓参照表示参照每页监视表、动态映射表的信息。
根据被插入本队列的项目列,页再配置处理程序执行页的再配置(与虚拟卷的页(虚拟页)相对应的存储池卷的页(物理页)的、从移动源物理页向移动目的地物理页的数据复制与参照的重新替换处理)。在通常的环境下,由于由主机I/O所产生的驱动器侧的负载量,再配置的最大性能变化,但是通过使用本队列,即使在再配置的最大性能变化的情况下,也能够实现稳定的再配置的执行。
图12是示出针对虚拟卷201的数据的读写处理的流程图。如果从主机101接到I/O处理请求,则执行主机I/O处理程序601并执行本流程。
判定是针对虚拟卷201的数据读出请求还是数据写入请求(S1201)。在I/O处理请求为写入的情况下,判断该虚拟页是否已参照动态映射表501分配完毕存储池页。在未分配的情况下,从存储池分配未使用的页(S1209)。
确认在高速缓冲存储器110中是否确保了与和I/O处理请求对应的虚拟卷上的地址相对应的区域,在确保了的情况下或者如果没有确保则确保高速缓冲存储器110的区域(S1210)。接着,响应主机可进行写入数据的传输,而将从主机传输来的写入数据写入所述被确保的高速缓冲存储器区域,在高速缓冲存储器管理表508中建立修改标记作为仍未写入硬盘的区域(S1211)。修改标记是示出高速缓冲存储器上的数据未反映于硬盘的状态的信息,被保持于对高速缓冲存储器的区域进行管理的高速缓冲存储器管理表508。响应主机中写入I/O处理完成(S1212),I/O处理程序结束。
另一方面,在S1201中I/O处理请求为读出的情况下,确认在高速缓冲存储器上是否存在与和I/O处理请求对应的虚拟卷上的地址相对应的数据(命中高速缓冲存储器)(S1202)。在所述命中高速缓冲存储器的情况下,将高速缓冲存储器上的数据传输给主机(S1208)。在将主机请求的数据全部传输给主机后,将读出处理完成响应传输给主机,从而I/O处理程序结束。
在S1202中未命中高速缓冲存储器的情况下,在高速缓冲存储器中确保用于储存与读出请求目的地虚拟卷的地址相对应的数据的区域(S1203)。接着,利用动态映射表501确认是否从存储池将页202分配到了主机的读出请求目的地虚拟卷地址。在未分配的情况下,利用动态映射表301计算默认值的储存页的驱动器的地址(S1204),从驱动器将默认值传输给所述确保了的高速缓冲存储器的区域(S1205)。
在页202被分配到读出请求目的地虚拟卷地址的情况下,利用动态映射表501来求被分配的存储池卷编号和逻辑地址,进一步利用逻辑物理地址变换表503来求物理驱动器编号、物理开始地址(S1204)。接着,从计算出的驱动器地址将数据传输给所述确保了的高速缓冲存储器的区域(S1205)。
在向所述高速缓冲存储器的数据传输时,对与动态映射表501的监视信息索引编号相对应的每页监视表502的各种信息进行更新,执行Tier判定处理(S1206)。接下来,将从所述驱动器储存于高速缓冲存储器上的数据从该高速缓冲存储器向主机发送(S1207)。在将主机请求的数据全部传输到主机后,将读出处理完成响应传输给主机,从而I/O处理程序结束。
图13是转储处理程序604的流程图。如图12所示,I/O处理程序在与来自主机的数据写入请求相应而向高速缓冲存储器写入主机的写入数据后、建立修改标记。
参照高速缓冲存储器管理表508,定期确认在S1211中建立的高速缓冲存储器上是否存在修改标记(S1301)。如果有竖立有修改标记的高速缓冲存储器区域,则基于高速缓冲存储器管理表508的虚拟卷编号和逻辑地址,求出从动态映射表501分配的存储池卷编号和逻辑地址。
此时,在存储池卷编号逻辑地址为默认页的地址的情况下,为了写入新数据,而从动态映射表501分配新空页。接着,使新分配的页的存储池卷编号与逻辑地址与动态映射表501的本转储处理所对应的虚拟卷编号逻辑地址相对应,并储存。在求出存储池卷编号和逻辑地址后,通过逻辑物理变换表来求出驱动器的地址(S1302)。针对在所述S1302中求出的驱动器的地址,写入高速缓冲存储器上的修改数据(S1303)。在此,该数据的修改标记变为OFF并变为原始状态。
接着,对与动态映射表501的监视信息索引编号相对应的每页监视表502的I/O计数值进行更新,执行Tier判定处理(S1304)。进一步检查在高速缓冲存储器上是否存在未反映数据(S1301)。如果没有未反映数据则结束,如果有未反映数据则再度从S1302开始实施。
图14是频数分布制作处理程序602的流程图。确认是否有未制作频数分布的虚拟卷(S1401)。如果有,则为了频数分布制作而从容量的开头开始确认在虚拟卷内是否有未处理页(S1402)。如果有未处理页,则计算长周期的IOPS,在该长周期的IOPS上加上对应的频数分布的负载等级的页数(S1403)。在该长周期的IOPS能够通过例如在前一个周期所提取到的面的长周期I/O计数902的值÷周期(秒)来计算。由此,优选,IOPS提取周期与本频数分布制作处理执行的周期相同。如图9所示,也可以计算移动平均值作为长周期的IOPS。
返回S1402,如果发现直至容量的后端,关于正在实施或处理的虚拟卷都没有未处理页,则为了确认有没有其他虚拟卷而返回S1401。接着,制作存储池的频数分布(S1404)。存储池的频数分布,通过计算虚拟卷的频数分布的合计值来计算。具体而言,在虚拟卷频数分布表504中,求出与属于对象存储池的各虚拟卷编号1004的I/O数1005相对应的页数1003的总和,而将该总和作为与存储池频数分布表505的I/O数1005相对应的页数1005予以储存。
接下来计算Tier分配阈值208并进行确定(S1405)。针对各Tier,有根据超过Tier的位势(可处理的最大I/O数)和Tier的容量的任一方的临界点来确定最大的页分配量的范围210,并根据范围210与频数分布的曲线209的交点来计算Tier分配阈值208的方法。或者,也可以是使用用户从管理终端等指定的阈值的方法。
图15是不同步再配置判定处理程序606的流程图。不同步再配置判定处理程序606的主要作用是向Tier1的升级以外的数据移动、和按短周期的IOPS升级后的页的IOPS变低的情况下的回收(向Tier2或3的降级)。向Tier1的升级,通过监视更新&Tier判定处理另行优选实施,所以也可以不通过不同步再配置判定处理程序606来执行。只是,向Tier1按短周期的IOPS升级后的页,在假设随后主机I/O没有到来的情况下,不进行由监视更新&Tier判定处理所进行的页移动判定,所以有可能滞留在Tier1。因此,如果为了回收(从Tier1向Tier2或3的降级)而执行不同步再配置判定处理程序606,则能够高效地使用Tier1的容量。
首先,确认有无页再配置未处理的虚拟卷(S1501)。如果有页再配置未处理的虚拟卷,则确认是否需要将对象虚拟卷从开头向后端依次向每个分配页进行再配置(S1502、S1503)。所谓确认是否需要进行再配置,就是根据该页的长周期IOPS和短周期IOPS、和对象存储池的存储池频数分布表505的Tier分配阈值208,来判定是原样在当前所处的Tier好还是应该向不同的Tier移动。例如,关于Tier1与Tier2的Tier分配阈值208A和Tier2与Tier3的Tier分配阈值208B,与对象页的I/O计数702的I/O数进行比较。在此,在长周期IOPS的值比Tier分配阈值208A小且比Tier分配阈值208B大、且对象页的当前Tier为Tier1的情况下,对象页应降级到Tier2,所以再配置变为“需要”。只是,如上所述,在本页是由于短周期IOPS变高而再配置、也就是通过由监视更新&Tier判定处理所进行的页移动而升级到Tier1、且短周期IOPS的值未降低的情况(比Tier分配阈值208A的值多处一定量以上的情况)下,再配置也可以设为“不需要”。另外,在对象页的当前Tier为Tier2的情况下,对象页已经配置于Tier2,所以再配置变为“不需要”。关于对象页的当前Tier,能够根据动态映射表501与虚拟卷702的逻辑地址703与存储池卷编号704的关系,通过存储池卷编号704判定其当前属于哪个Tier。
在需要再配置的情况下,为了对对象页进行再配置,而按页再配置队列排队(S1504)。如果是不需要再配置的情况,则在对对象页进行了再配置后,确认虚拟卷内的下一页是否是再配置对象页(S1502、S1503)。在遍及整个虚拟卷而进行再配置处理后,对其他再配置未处理的虚拟卷进行检查,直至没有页再配置未处理的虚拟卷为止(S1501)。此外,在为周期处理的情况下,在周期处理的结尾页再配置程序结束一下,在下一周期处理中重新通过页再配置程序持续进行页再配置处理。另外,在再配置处理结束直至周期的后端为止的情况下,在该时刻页再配置处理结束一下,在下一周期重新按每个虚拟卷进行再配置处理。
图16是示出页再配置处理程序的工作的流程图。本处理是以页为单位执行再配置的处理,在整个系统中多重工作。本处理以从页再配置执行队列50中移除项目列1103为契机而执行。本处理在项目列1103的移除时作为输入而执行图11中说明了的项目列所含的虚拟页201的标识符、移动源的物理页的标识符和移动目的地的物理页的标识符。首先,参照高速缓冲存储器管理表来判定在高速缓冲存储器上是否有虚拟页的标识符的区域(S1601)。在高速缓冲存储器上的情况下,进入步骤1604。另外,在步骤1601中判定为在高速缓冲存储器上没有的情况下,确保高速缓冲存储器,更新高速缓冲存储器管理表(S1602),并执行对象数据的集结处理(S1603)。本步骤中,将移动源的物理页的数据集结到高速缓冲存储器上。
之后,对页映射进行切换(S1604)。具体而言,通过将与动态映射表501上的虚拟页相对应的物理页的标识符更新为移动目的地的物理页的标识符,从而执行页映射的切换。此时,移动源的页变为未使用页。此后,将高速缓冲存储器管理表上的该高速缓冲存储器区域的页面重写标志位(dirty bit)更新为ON(S1605),结束处理。通过将页面重写标志位设为ON,从而数据通过转储处理程序604不同步地被转储到移动目的地的物理页。
图17是示出监视更新&Tier判定处理的工作的流程图。本处理,在读出时通过I/O处理程序S1206与读出指令同步执行,在写入时通过总结写入程序S1304不与写入指令同步执行。关于监视提取,除在向驱动器的指令发行时刻执行外,也可以考虑以主机I/O的接受为契机也包括命中高速缓存量而进行监视。本发明中,如在以后将说明的那样,以监视的更新为契机而执行Tier判定处理。
首先,如果本处理开始,则执行监视的计数递增处理(S1701)。具体而言,关于与该页相对应的每页监视表的项目列,对当前周期中的提取期间的面的长周期I/O计数902进行计数递增,对临时计数903进行计数递增。首次I/O时,在前一次临时计数届满时刻储存当前时刻。在监视的计数递增后,在临时计数903变为N的情况下,根据(当前时刻-前一次临时计数届满时刻)÷N而计算短周期IOPS。此后,进入Tier判定处理(S1703)。在临时计数没有变为N以上的情况下,结束处理。该短周期IOPS的计算方法中,在(当前时刻-前一次临时计数届满时刻)超过规定周期的情况下,相对于规定周期不会变为短周期。由此,在(当前时刻-前一次临时计数届满时刻)变为规定时间以上的情况下,也可以中断计测并使计数回到默认值。另外,以上所述的短周期IOPS的计算方法,是示出一例的方法,如果是计测比规定周期短的间隔下的IOPS的手段则也可以采用其他手法。例如,也可以采用实施例4所记载的、使用分散值的短周期负载量的预测方法。
Tier判定处理(S1703)根据各种阈值(Tier分配阈值208、升级阈值、降级阈值)而实施判定,但是关于详细情况则记载于实施例2以及3。Tier判定处理(S1703)的结果,如果页的移动是必要的(S1704的是),则将再配置的执行页插入页再配置执行队列506(S1705),结束处理。如果页的移动不是必要的(S1704的否),则径直结束处理。
图18是示出进行以存储池为单位的参数设定的画面的例子的图。以存储池为单位的GUI画面1801由下述区域构成:显示能够确定设定对象的存储池的存储池编号的区域1802;对短周期再配置的ON/OFF进行设定的区域1803;在选择短周期再配置为ON的情况下对详细设定的ON/OFF进行设定的区域1804;和对详细设定的内容进行设定的区域1805。在本画面中设定好的信息被保存于设定信息表507。
在短周期再配置的设定1803设为OFF的情况下,不执行基于短周期监视所进行的判定处理,而在Tier判定中通过不同步再配置判定处理程序606包括向Tier1的升级而实施再配置。具体而言,在监视更新&Tier判定处理中仅执行长周期的监视计数递增,不执行步骤S1702以后的处理。另一方面,在短周期再配置的设定1803设为ON的情况下,变为如本实施例中所述那样的工作。
在短周期再配置的设定1803设为ON的情况下,能够对短周期详细设定1804进行设定,变得能够进行1805的各项目的输入。在短周期详细设定1804设为OFF的情况下,各种参数根据默认值或在存储系统内自动计算出的值而工作。
短周期阈值1806是页的短周期IOPS的升级判定中使用的阈值,根据Tier分配阈值208等在存储系统内自动计算。计算的具体方法,在实施例2、3、4中对该例子进行说明。短周期用SSD容量1807是用于指定短周期再配置中使用的SSD(Tier1)的存储容量的设定。在短周期详细设定1804设为OFF的情况下,成为对象的容量动态确定。详情在实施例3中说明。
队列方式1808是用于指定图11中说明了的队列的处理顺序的,作为选项可以考虑“重新排序(实施例4中会说明)”或“先进先出顺序(FIFO)”。另外,也可以使得指定通常已知的调度算法(HOL、LIFO等),而使页再配置执行队列506的排队或移除方法成为与该设定相对应的工作。在短周期详细设定1804设为OFF的情况下,设为使用设定信息表507中保存的默认设定的方式(例如也可以是“重新排序”)。短周期负载持续时间(St)1809是用于短周期的负载持续时间的参数设定的项目。该持续时间,因为依存于主机I/O负载的图案和特性,所以如本实施例那样使得用户能够进行设定。在短周期详细设定1804设为OFF的情况,St有使用设定信息表507中保存的默认值(例如1分钟)的方法,或使用通过实施例4中例示的方法计算出的值的方法。
短周期计数届满次数(N)1810是计算短周期IOPS的计数的届满值。将短周期详细设定180设为ON,用户指定该次数,由此用户能够设定针对突发性负载上升的敏感度(检测时间的长短)。在短周期详细设定1804设为OFF的情况下,N能够使用默认值(例如64次)或者通过实施例4中例示的方法计算出的值。
短周期校正系数(M)1811是用于设定与长周期IOPS相比较使短周期IOPS何种程度地难以升级的信息。例如,如果假设长周期IOPS在5以上的情况下升级,则也可以工作使得短周期IOPS在M×5以上的情况下升级。该值,既可以通过后续说明的方法等动态确定,也可以使用预先确定的默认值,还可以设为用户在本设定画面中指定的值。
此外,上述中叙述了的详细设定的项目,也可以仅将一部分作为详细设定而将此外的部分设为自动设定。另外,也可以按“preSEt1”那样的标签保存上述叙述了的详细设定的设定值,使得能够在区域1805简便地进行设定。此外,上述中叙述了的各种设定项目,在上述例子中按每个存储池进行了说明,但是也可以不仅按每个存储池而按每个虚拟卷/每个物理卷/每页进行指定。该情况下,设定信息表507具有用于按对象资源(每个虚拟卷/每个物理卷/每页)而保存参数的表。
接下来,作为实施例2公开Tier判定方法的一例。
图19是示出在图17的S1703中实施的、本实施例的Tier判定处理的工作的流程图。
首先,如果本处理开始,则(A)执行降级判定(S1901)。本判定处理判定该页是否是降级对象。关于详情,在图20中说明。其结果,在判定为需要降级的情况下(S1902的是),回复需要页移动(S1905)而结束。在判定为不需要降级的情况下(S1902的否),(B)执行升级判定(S1903)。本判定处理判定该页是否是升级对象。关于详情,在图21中说明。其结果,在判定为需要升级的情况下(S1904的是),回复需要页移动(S1905)而结束。在判定为不需要升级的情况下(S1904的否),径直结束(不需要进行页移动)。如上所述,为了确保Tier1的存储容量的空余,在执行升级前实施降级。
图20是示出了降级判定处理的工作的流程图。首先,判定Tier1的使用存储容量是否为一定以上(S2001)。本步骤不是必需的,但是通过引入本判断,在用于确保Tier1的空余存储容量所必需的情况进行降级、预先在Tier1确保空余容量,从而能够缩短突发性升级所需的时间。在使用存储容量未超过阈值的情况下(S2001的否),结束处理。另外,在结束处理之前,也可以将降级阈值重设为最小值(S2006)。DT(降级用阈值)的初始值设为例如0。除使用容量外,也可以通过判定Tier1的性能运行率是否超过一定以上,而确定是去往S2002还是分叉。如果性能运行率高则会引起Tier1的响应性悪化,所以通过对一部分数据进行降级从而能够使负载退避。
在使用存储容量超过阈值的情况下(S2001的是),实施根据降级阈值所进行的页的Tier判定(S2002)。具体而言,在长周期IOPS为DT以下或短周期IOPS为DT×M以下的情况下(S2002的是),回复“需要降级”(S2004)并结束处理。该“M”为比1大的数,使用设定信息表507中储存的值。调整M的值,使得短周期的一方与长周期相比较需要更多的IOPS。这是因为:考虑到短周期IOPS因负载持续的概率低而有页再配置次数变多的倾向这一点,为了抑制基于短周期IOPS的再配置而提高短周期IOPS的阈值。将向Tier1的命中率等作为评价函数,使用通常已知的反馈控制等手法动态地调整M的值,使得向Tier1的命中率变为最佳。
虽然不是必需的,但是接下来也可以削减DT的值(S2003)。在DT的值为等级的情况下,也可以通过将等级降低固定量而实现,在DT的值为IOPS的情况下,也可以通过与小于1的值(固定量)相乘或减去固定量等而实现。通过调低阈值,在下一流程中仅比IOPS更低的Tier1中的页成为降级对象。
另外,在S2002中为否的情况下,使DT的值增加(S2005)(但是,不使其超过PT。因为:如果超过PT,则降级对象变得比升级对象多IOPS,所以向Tier1的IO量会减少),结束处理。
如上所述,在T1容量不足且有降级对象的页的情况下,使DT的值减少,在T1容量不足且没有降级对象的页的情况下,使DT的值增加。通过本结构,能够为了通过尽可能准确地降级(也就是IOPS低的页的降级)的执行来确保用于储存应为升级对象的页空余容量,而动态地控制降级阈值以尽可能地将I/O数低的页作为移动对象。
此外,在步骤S2003之前,在驱动器负载、再配置执行中的页数的量等为一定以上的情况下,也可以判定为不能移动页,不向步骤2004移动就使处理结束。通过上述处理,能够进行考虑了由于此时的驱动器负载而变化的单位时间平均的页移动可能量的再配置。
此外,降级阈值也可以按校验位组而具有。另外,在Tier1为SSD的情况下,由主机I/O所进行的写入集中,也可以追加判定是否难以维持规定的SSD寿命的步骤。在寿命维持困难的情况下,设置以写入负载高的页为降级对象的步骤。在该情况下,优选,降级对象以PG为单位。
图21是示出升级判定处理的工作的流程图。升级判定处理中,按有限的制约条件(NF寿命、移动允许能力)动态地控制升级阈值(PT)(使PT增减),使得对短周期IOPS尽可能高的页进行升级。PT的初始值能够设为例如T。
首先,在Tier1使用容量无空余(S2101为是)的情况下,无法进行向Tier1的页移动,因此结束处理。在Tier1使用容量有空余(S2101为否)的情况下,判定长周期IOPS是否超过PT或短周期IOPS是否超过PT×M。该“M”与图20中说明了的主旨相同,为同一结构。也可以设定为不同于降级用M的值。
在S2102中为是的情况下,回复“需要升级”(S2105)并结束处理。在S2102中为否的情况下,径直结束处理。此时,在Tier1为SSD等情况下(尤其是删除次数的临界值低的MLC),也可以如流程图所示,判定升级次数是否超过寿命步调(S2103、S2107)。
图4所示的曲线示出用于SSD的寿命维持的升级速度的调整思路。就SSD而言写入次数受限制,如果写入频繁发生则寿命变短。由此,如果过于高频率地进行发生针对SSD的写入的升级处理,则SSD的寿命会变短(降级仅是从SSD进行读出,所以基本上不存在这样的问题)。曲线的纵轴401表示由升级所产生的SSD累积删除次数。横轴402表示存储系统的使用年数的经过。Wlimit403表示由升级所产生的最大临界的SSD的删除次数。例如,Wlimit403,能够相对于SSD的临界删除次数(通常而言,在SLC(Single Level Cell,单层单元)的情况约为10万次的删除次数,在MLC(Multi Level Cell,多层单元)的情况下约为1万次的删除次数)设为规定百分数的程度。例如,存储产品的寿命多设定为5年左右。例示了由升级所产生的删除次数的推移的曲线为404。另外,相对于此,将成为目标的由升级所产生的删除次数的步调按使用年数以累积值示出的曲线为405。如果突发地I/O变多且负载变高,则由升级所产生的移动量变多。由此,本实施例中进行控制以提高短周期升级的阈值,使得删除次数不超过步调405。通过本结构,能够有效地筛选要移动的页(限定为IOPS更高的页)、维持向SSD的命中率,同时将由升级所产生的SSD删除次数抑制在一定的范围内以实现长寿命化。另外,在没有突发性负载的情况下,页的移动量变少,因此能够贮存剩余的删除次数。按每个校验位组而实施对该短周期升级的阈值的调整是很有效。只是,也可以以存储池为单位或是以存储系统为单位而进行调整。
作为实现以上那样的控制的方法,可以考虑例如存储系统按每个校验位组保持累积的升级次数和使用年数(Uy)的信息的方法。在根据累积的升级次数来计算由升级所产生的SSD校验位组的累积删除次数时,使用例如下面的数学式。
由升级所产生的SSD校验位组的累积删除次数(Wc)=(针对校验位组的升级次数×页大小/SSD校验位组容量)×校正系数(根据RAID等级和SSD的特性(SSD内的页大小和写入放大等)而确定)
根据通过上述式子计算出的Wc,通过例如下面的数学式,实施S2103、S2107步调的判定。
(Wlimit÷目标的使用年数(例:5年))≥(Wc÷Uy)?
在上述数学式为真的情况下,可以判定为即使执行升级也维持了寿命的步调。另外,在上述数学式为假的情况下,可以判定为在执行了升级的情况下寿命的步调提高。另外,必要信息(累积的升级次数、使用年数)或用于推理这些必要信息的信息(可写入量、寿命率、页大小、写入放大效率等),可以通过SCSI指令等从SSD器件获取,所述信息也可以已保持于本地存储器118或共享存储器111。
另外,步调的判定也可以根据SSD的使用容量率而动态地变更。例如,在系统运行的初始阶段,SSD的使用容量率低且SSD的命中率低。但是,这样的状态(需要大量的页移动的状态)多只是系统的初始阶段的一个时期,所以有时容许暂时超过步调是比较高效的。也就是,在SSD的使用容量率为规定值以下的情况下,不执行S2103的判定就全部执行升级,由此允许暂时的(SSD的使用容量率变为规定以上为止)写入量的增大化,并且在后面的阶段对写入量整体进行削减,由此整体上实现性能提高。另外,也可以阶段性地调整页移动的加速度以使之阶段性地与目标的步调相匹配。
也可以,在升级次数超过寿命步调的情况下,使PT值增加(S2106),在没有超过的情况下使PT的值减少(S2104、S2108)。(只是,不设定为Tier分配阈值208A(T)以下)关于PT的值的增加,在图21中例示仅在基于S2103的判断的情况下执行的流程。也可以,在PT的值为等级的情况下,通过将等级降低固定量来实现,在PT的值为IOPS的情况下,通过与比1小的值(固定量)相等或减去固定量等来实现。通过以上说明,能够满足由受限的升级所产生的删除次数(Wlimit)的步调,并且尽可能地将I/O数高的页设为移动对象。
另外,也可以,在页再配置执行队列排满且驱动器的负载高的情况下,使PT值增加,在相反的情况下,使PT的值减少。通过本处理,能够取得与受限的单位时间平均的页移动可能量的平衡,并且尽可能地将I/O数高的页设为移动对象。
另外,也可以按每个校验位组来设定升级阈值。如果以校验位组为单位来保持,则能够以校验位组为单位来进行寿命判断,能够以必要最小限的页移动量的削减来完成。另外,也可以,按每页来获取读出写入比率、时序比率等,使得不对写入量高到规定位置以上的页(写入比率多且时序比率高)进行升级。
另外,上述实施例中,寿命步调以由升级所产生的写入为对象进行了判断,但是也可以还包括由主机I/O所产生的写入而进行寿命判断。如果是例如由主机I/O产生的写入量小的I/O图案,则能够相对地增加升级量,能够进一步提高Tier1命中率。
接下来,作为实施例3例示另一Tier判定方法的一例。与实施例2的不同点在于:假定短周期的负载持续一定期间(St),将按短周期再配置过的页按一定期间固定化于再配置目的地的Tier(通过每页的固定化映射来实现)。另外,通过降级量管理表2201更为严密地控制由短周期IOPS所产生的升级量,所以能够将短周期升级量限制为一定量,另外,能够根据短周期升级量而将长周期的消除负载量最小化。
图22示出降级量管理表和扩展每页监视表(1)的表构造。降级量管理表2201具有与长周期IOPS的每个负载等级2202相应的页量2203的项目列这一点,与每个存储池频数分布是同样的。进一步,具有每个负载等级2202的降级计划数2204和降级实施数2205。Tier分配阈值208A(=T),在频数分布的计算处理时计算完毕。降级计划数2204与每个想与短周期的升级相对应而进行降级的负载等级的页数相当。因此,在短周期的升级判定时,对该降级计划数2204进行加法计算,在短周期升级后的页的负载减低时对该降级计划数2204进行减法计算。另一方面,降级实施数2205表示实际实施了降级的每个负载等级的页数。因此,在成为置换对象的页(长周期的负载尽可能低的页)的降级执行时对该降级实施数2205进行加法计算,在短周期升级的负载减低而对降级计划数2204进行了减法计算时,对在下位Tier固定化了的页进行升级而使之复原时对降级实施数2205进行减法计算。本实施例中,通过对降级计划数和执行数进行管理,由此,使得能够考虑到I/O次数以短周期增加的页的升级所必需的页数而控制降级数或降级阈值。
因为想对长周期的负载尽可能低的页进行降级,所以降级计划数2204,从与长周期阈值相当的负载等级的页(本图中与LV2相当)起依次在不超过页数2203的范围内相加。此时,如图所示,成为降级计划数>降级实施数的最小的负载等级成为降级阈值2206(=Dt)。
以上叙述了的降级量管理表2201也可以按每个存储池VOL或按每个PG而具有,按每个存储池VOL或每个PG而确定降级阈值。该情况下,能够在执行图14的频数分布制作处理程序时,制作每个存储池VOL或每个PG的频数分布,根据该信息来计算每个负载等级2202的页数2203。
另外,扩展每页监视表(1)2207是对每页监视表502的列进行扩展后的表,监视信息索引编号901与每页监视表的构造相同。示出在短周期再配置页固定化标记2208为ON的情况下、页固定化于当前Tier的状态。另外,短周期升级执行时刻2209,在该页被短周期升级了的情况下,储存该执行时刻。通过这些信息,能够在一定期间(St)内防止短周期升级后的页被判定为要降级。另外,对于暂时的置换对象的长周期的负载小的降级后的页,通过将标记设为ON,也能够防止其被判定为要升级。
图23是示出降级判定处理(2)的工作的流程图。本处理是与图19的Tier判定处理的(A)降级判定(S1901)相当的处理。仅对不同于图20中说明了的降级判定处理流程的方面进行说明。
步骤2301中,参照与该页相对应的扩展每页监视表(1)2207的项目列的短周期再配置页固定化标记2208,来判定该页是否为标记ON。如果是标记ON(S2301中是),则判定(当前时刻-短周期升级执行时刻)>St是否成立(S2302)。St为预先设定的规定值。在不成立的情况下(S2302中否),结束处理。在成立的情况下(S2302中是),判定是否为短周期IOPS>PT(S2303)。在成立的情况下(S2303中否),该页仍为高负载状态不需要进行降级,因此径直结束处理。在不成立的情况下(S2303中否),将标记设为OFF,将降级计划数减去1(规定值),根据需要更行DT(S2304),并进入步骤2305。更新DT,使得变为降级计划数>降级实施数的最小的负载等级变为降级阈值2206(=Dt)。
此后,判定长周期IOPS≥T或长周期IOPS≤DT是否成立(S2305)。所谓本条件成立,意味着是作为短周期升级执行时的置换对象的降级对象页。在条件成立的情况下(S2305中是),在该页的长周期的负载等级中,判定降级计划数2204>降级实施数是否成立(S2307)。在本条件成立、降级是必需的情况下(S2307中是),将该页的标记设为ON而将降级实施数增加1(S2308),回复需要降级(S2204)而结束处理。在本条件不成立的情况下(S2307中否),结束处理。
另外,在S2305中为否的情况下,判定长周期IOPS<T是否成立(S2306)。在本条件成立的情况下,长周期负载原本就低,因此是应该将基本的配置设为Tier2的页。因此,回复需要降级(S2204)而结束处理。
图24是示出升级判定处理(2)的工作的流程图。本处理是与图19的Tier判定处理的(B)升级判定(S1903)相当的处理。仅对不同于图21的方面进行说明。
步骤2401与步骤2301相同。如果是标记ON(S2401中是),则进入步骤2402。步骤2402中,判定(降级计划数<降级实施数)或(短周期IOPS>PT)是否成立。关于判定(降级计划数<降级实施数),其在短周期升级后的页负载因降级判定而降低了的情况下成立。关于判定(短周期IOPS>PT),其与实施了用于短周期升级用的暂时替换的降级后的页的短周期负载突发性上升了的情况相当。在步骤2402中否的情况下,结束处理。在步骤2402中是的情况下,将该页的标记设为OFF,将降级实施数削减1(S2403),此后进入步骤2404。
步骤2404中,判定(长周期IOPS>T)或(短周期IOPS>PT)是否成立,升级是否必需。在步骤2404中是的情况下,检测该页是否为短周期升级且是否未达到短周期用SSD容量(步骤2408)。在步骤2404的判定时,在条件(长周期IOPS>T)不成立而条件(短周期IOPS>PT)成立的情况下,可以判定为该页为短周期升级。另外,根据通过GUI1801的设定项目的1807等而设定的储存于设定信息表507的信息、和整个的Tier1容量,而计算可以在短周期升级中使用的页数,将其与降级量管理表2201的、各负载等级2202的降级计划数2204的累计值相比较,在该累计值没有超过可以在短周期升级中使用的页数的情况下,可以判定为未达到短周期用SSD容量。
在步骤2408中否的情况下,结束处理。在步骤2408中是的情况下,将该页的标记设为ON,将降级量管理表2201的该页所属的负载等级的降级计划数增加1,根据需要更新DT(步骤2409)。更新DT,使得变为降级计划数>降级实施数的最小的负载等级变为降级阈值2206(=Dt)。此后,回复需要降级(S2204),结束处理。在步骤2404中否的情况下,结束处理。
另外,可以考虑与图21中示出的方法同样的本处理的扩展方案。例如,在Tier1为SSD的情况下(尤其是删除次数的临界值低的MLC)等等,也可以如流程图所示,判定升级次数是否超过寿命步调(S2103、S2107)。在升级次数超过寿命步调的情况下,使PT的值增加(S2406),在没有超过的情况下使PT的值减少(S2405、S2407)(只是,设定为不超过DT×M)。通过以上内容,能够满足由受限的升级所产生的删除次数(Wlimit)的步调,并且尽可能地将I/O数高的页设为移动对象。
接下来,针对实施例4进行说明。实施例4是用于在实施例1~3中说明了的方法中,进行各种参数的自动调整和短周期负载量的预估的一种手段。
图25是示出处理的高效化的思路的图。图2501示出某一页的负载量变化的曲线上的各种参数的意思。曲线的纵轴2502示出页的单位时间平均的负载量(IOPS)。另外,横轴示出时间经过2503。曲线2506示出某一页的负载量相对于时间经过的变化。该页的从短周期的负载上升到稳定为止的时间为St(2508)。从负载上升起到进行Tier判定而被插入页再配置队列为止的时间为Sd(2507)。将该时间称为检测延迟时间。检测延迟时间根据N的值与单位时间平均的短周期的负载量(IOPS)的值而确定(Sd=临时计数届满值(=N)÷短周期IOPS)。即使要在插队时刻(Et)(2512)插入页再配置队列中,由于处于页再配置任务的执行期间(没有页再配置任务的空余)等理由,也不能即刻执行。将此后分配给再配置的处理(任务)而要执行再配置的时间(当前时间)设为t(2513)。另外,对页进行升级,将到随后进行降级为止(2514)的期间设为Dt。基于与上述同样的理由,会有其他页的移动(升级或降级),所以在对页进行升级后,不能即刻开始降级。考虑到这一影响,因而使用Dt这一值。于是,将从对页进行升级到进行降级为止的期间(Dt2509)的平均负载,设为对该页进行了再配置(按短周期)后的情况下的基准值(2511)。如果选择该基准值高的页,则能够有效地提高Tier1的命中率。
图27中例示各参数的管理表。扩展每页监视表(2)(2701)是对每页监视表502的列进行扩展后的表,监视信息索引编号901与每页监视表的构造相同。扩展每页监视表(2)(2701)至少具有短周期负载持续时间(St)(2702)、计数届满值(N)(2703)和I/O发生间隔的平方累积值栏(2704、2705)中的任一栏。例如为按每个周期对提取期间的数据和前一个周期确定好的数据进行管理,在本实施例中设有2栏即2704、2705。
I/O发生间隔的平方累积值(提取期间)(2704),以S1701的监视计数递增处理为契机,在该计数上加上将前一次I/O发生时刻与当前时刻之差(=I/O发生间隔)平方后的值。另外,在N为2以上的情况下,也可以以S1702的临时计数届满为契机,设置N次量的I/O按均等的时间间隔发生这一假定,使用计算I/O发生间隔的平方的累积值的方法。
以下对根据以上说明了的信息而预估各种参数的一种手法进行说明。
<St的预估方法>
作为前提,短周期的负载持续的时间,如果具有按每页而具有一定的特性(短周期负载图案的持续性)的倾向,则在某一时刻记录一下每页的短周期负载持续时间(St)(2702),将该值设为St的值。
另外,为了进一步提高精度也可以将每页的短周期负载持续时间按每页保持多个,根据过去的历史利用通常已知的预测方法(例如线性近似法等)来预测负载的持续时间。另外,也可以根据每页监视信息而适宜地判断是否满足上述假定(短周期负载图案的持续性),切换可否执行使用本预估方法的短周期的再配置。
<使用分散值的短周期负载量的预估方法>
上述的St基于在每页都一定这一假定,但是在实际的I/O中却不是一定的、也就是说有不均的情况。以下说明的短周期负载量的预估方法,是即使在有该不均特性的情况下也能够有效地对页进行配置的方法。作为前提,设想:长期(长周期)提取到的、I/O发生间隔的平均值(E(f)=I/O计数902÷周期时间)以及I/O发生间隔的平方平均值(E(f^2)),变得也与此后的周期等同(长期负载图案的持续性)。
突发负载多的页具有I/O发生间隔的分散值V(f)变大(V(f)=E(f^2)-E(f)^2)这一特性。进一步,在具有同一平均值E(f)的页还具有分散值V(f)越大一定期间Qt的期间内收到的I/O数变多的概率越高的特性。进一步具有下述特性:如果将V(f)和E(f)设为一定,则Qt越长期待值的I/O达到数(期间Qt期间收到的I/O数的平均值)越接近Qt/E(f)(这与长周期的负载量一致)。
以下叙述根据以上的特性而预测短周期(Qt)的负载量的一种手法。首先,假定通过短周期升级而配置于Tier1的时间间隔(Qt)。根据Qt、V(f)和E(f)计算短周期St(=Qt)中的期待值的I/O到达数,并计算短周期的负载量(IOPS)(λs2505)(期待值的I/O到达数÷Qt)。例如,期待值的I/O到达数也可以通过近似式(期待值的I/O到达数=(Qt+((V(f)/(E(f)^2))/2))/E(f)来计算。此外,也可以基于通常已知的概率理论,使用以Qt、V(f)和E(f)的一部分或全部为参数的数学式。
如以上所述,存储器保持I/O发生间隔的平方平均值(E(f^2))的信息,根据I/O发生间隔的分散值V(f)的特性而预测短周期(Qt)的负载量,从而即使在有不均特性的情况下,也能够有效地对页进行配置。另外,无需保持短周期的负载量的历史信息,所以还具有存储器使用效率高这一效果。
另外,通过使用提取期间的I/O计数902以及提取期间的I/O发生间隔的平方累计值2704,从而能够提高短周期负载量的计算精度。基于长期负载图案的持续性的假定而从前一个周期的计数值中减去此前提取到的计数值后的值,能够作为从当前到本次周期结束为止的值的预测值。因此,通过利用该差值计算V(f)和E(f)并通过上述方法预估短周期的负载量,从而能够进一步提高预测精度。
另外,本预估中假定的Qt,也可以假定根据可移动的页量(根据寿命和驱动器的剩余运行率等计算)计算出的值。也就是,如果可移动的页量少则Qt变长,如果可移动的页量多则Qt变短。另外,也可以假定为不同步降级的执行周期(例如30分钟)。也就是,I/O不来则与I/O同步的Tier判定不执行,所以也可以将到回收为止的最长的所需时间(=不同步降级的执行周期)假定为Qt。
此外,也可以根据每页监视信息来判断是否满足上述假定(长期负载图案的持续性),切换是否执行利用本预估方法的短周期再配置。
<N的预估方法>
能够根据上述的短周期负载的持续时间St和短周期负载量λs,来计算短周期的IO数。如果短周期的IO数相对于N没有多出一定量以上,则在图25中说明了的Sd与St之差会缩小、即使对页进行升级也难以得到Tier1命中率提高的效果。但是,如果过度减小N,则短周期负载的精度有可能变差,所以也可以鉴于这些综合调整而调整为N的最佳的值(N的值储存于2703)。具体而言,例如,也可以考虑将短周期的IO数乘以一定的系数所得的值设为N等的方法。
另外,通常,如果减小N则判定为需要页移动的频率会增加,如果增大N则判定为需要页移动的频率会减小。因此,N也可以根据可移动的页量(根据寿命和驱动器的剩余运行率等计算)来计算。
上述的各种预估方法既可以组合也可以仅使用一部分方法。另外,上述的各种预估方法,可以不按每页而是按每个存储池和每个存储池VOL、每个PG而具有参数或计算参数。
图26是示出队列的重新排序的工作的图。本实施例中,关于被插入页再配置执行队列(506)的项目列,通过图25中说明了的基准值2511的值来确定优先分配到再配置任务2603的项目列。例如,在升级用的队列的情况下,使得从基准值高的起优先分配到再配置任务,在降级用的队列的情况下,使得从基准值低的起优先分配到再配置任务。通过本结构,能够使Tier期间数据再配置更为高效化。
另外,上述基准值2511具体而言也可以通过下面的数学式来计算。
基准值(IOPS)=(Ct×λs+(Dt-Ct)×λI)/St-α
α表示消除长周期的低负载页的补偿量。α可以是常数,但是也可以根据降级阈值(DT)等动态地确定。另外,Ct2510表示从当前时刻(t)到短周期的负载上升稳定为止的时间(Ct=St-Sd-(t-Et))。
另外,Dt具体而言也可以通过下面的数学式来计算。
Dt=Sr×降级的队列长度+Sr/2+Ct
Sr表示降级处理的平均处理时间。另外,也可以根据再配置任务2603的多重性(through-put)而缩短Sr。另外,也可以变换为其他的基于通常已知的矩阵理论等的数学式。
另外,针对从被插入时刻Et起经过规定期间后的队列,也可以无视基准值而优选地执行。另外,在队列的项目列数达到预先确定的上限的情况下,也可以使得从基准值小的起将其从队列中移除,使得产生队列的空余。
此外,本发明不限定于上述的实施例,对于本领域技术人员而言能够在本发明的范围内进行各种各样的追加、变更等。
附图标记说明
101:主机、102:管理服务器、103:网络、104:存储系统、105:外部存储器、106:端口、107:维修I/F、108:端口、109:处理器插件、110:高速缓冲存储器、111:共享存储器、112:内部网络、113:驱动器、114:驱动器、115:Tier(层级)1、116:Tier(层级)2、117:Tier(层级)3。

Claims (27)

1.一种存储系统,具有:
处理器;
多个第一存储器件,提供第一层级;和
多个第二存储器件,提供性能比所述第一层级低的第二层级;
其中所述处理器被编程为:
根据基于以周期的预定时间对存储数据的访问频率是否高于第一阈值,来提供虚拟卷,所述虚拟卷的数据被存储在包括所述第一层级和所述第二层级的多个层级中;
在所述预定时间对存储在所述第二层级的第一数据的访问频率高于第一阈值的情况下,将所述第一数据迁移到所述第一层级;以及
在以所述预定时间或比所述预定时间短的时间对所述第一数据的访问频率高于第二阈值的情况下,将存储在所述第二层级的所述第一数据迁移到所述第一层级,
所述第二阈值高于所述第一阈值,
在以比所述预定时间短的时间对所述第一数据的访问频率高于所述第一阈值并且低于所述第二阈值的情况下,不将存储在所述第二层级的所述第一数据迁移到所述第一层级。
2.根据权利要求1所述的存储系统,其特征在于,
所述处理器被编程为将存储在所述第一层级中的、具有低于所述第一数据的访问频率的访问频率的第二数据迁移至所述第二层级。
3.根据权利要求1所述的存储系统,其特征在于,
在接到对所述第一数据的I/O请求处理期间,所述第一数据被决定为要被迁移。
4.根据权利要求1所述的存储系统,其特征在于,
所述虚拟卷包括多个虚拟页,以及
以周期的预定时间对数据的访问频率是对虚拟页的I/O请求的数目,存储所述数据的存储区域被分配给所述虚拟页。
5.根据权利要求1所述的存储系统,其特征在于,
所述第一数据的访问频率是通过参考在其中对所述第一数据已经发生访问预定数目的时间来获取。
6.根据权利要求1所述的存储系统,其特征在于,
所述处理器进一步被编程为:
尽管存储在所述第二层级的所述第一数据被迁移至所述第一层级,将存储在所述第一层级的第二数据迁移至所述第二层级,
所述第二数据基于以周期的预定时间并且以比所述预定时间短的时间对所述第二数据的访问频率来选择的。
7.根据权利要求2所述的存储系统,其特征在于,
当所述第一层级的空余容量小于预定值时,所述第二数据被迁移至所述第二层级。
8.根据权利要求1所述的存储系统,其特征在于,
从所述第二层级要被迁移至所述第一层级的数据的数目至少基于被迁移至所述第一层级的数据的累积数目和所述第一存储器件的使用年数来控制。
9.根据权利要求1所述的存储系统,其特征在于,
要从所述第二层级迁移至所述第一层级的数据的数目至少基于所述第一存储器件的使用寿命来控制。
10.根据权利要求1所述的存储系统,其特征在于,
所述处理器进一步被编程为:
将所述第一存储器件和所述第二存储器件的存储区域作为多个池来管理,以及
基于针对所述多个池中的每个池以比所述预定时间短的时间对所述数据的访问频率来设定是否执行从所述第二层级到所述第一层级的迁移。
11.根据权利要求1所述的存储系统,其特征在于,
所述第一阈值是基于在一个周期的预定时间中对存储数据的访问频率的值。
12.根据权利要求1所述的存储系统,其特征在于,
所述处理器进一步被编程为:
当所述第一数据被迁移到所述第一层级时,将存储在所述第一层级中的访问频率低于所述第一数据的访问频率的第二数据迁移到所述第二层级,
当在比预定时间短的时间内的对所述第一数据的访问频率低于第三阈值时,将存储在所述第一层级中的所述第一数据迁移到所述第二层级,
将先前从所述第一层级迁移到所述第二层级的数据迁移回所述第一层级。
13.根据权利要求12所述的存储系统,其特征在于,
所述第三阈值的值低于所述第二阈值且高于所述第一阈值。
14.根据权利要求2所述的存储系统,其特征在于,
所述第一阈值是基于在一个周期的预定时间中对存储数据的访问频率的值。
15.一种在存储系统中执行的方法,所述存储系统具有处理器、提供第一层级的多个第一存储器件、和提供性能比所述第一层级低的第二层级的多个第二存储器件,由所述处理器执行的方法包括:
根据基于以周期的预定时间对存储数据的访问频率是否高于第一阈值,来提供虚拟卷,所述虚拟卷的数据被存储在包括所述第一层级和所述第二层级的多个层级中;
在所述预定时间对存储在所述第二层级的第一数据的访问频率高于第一阈值的情况下,将所述第一数据迁移到所述第一层级;以及
在以所述预定时间或比所述预定时间短的时间对所述第一数据的访问频率高于第二阈值的情况下,将存储在所述第二层级的所述第一数据迁移到所述第一层级,
所述第二阈值高于所述第一阈值,
在以比所述预定时间短的时间对所述第一数据的访问频率高于所述第一阈值并且低于所述第二阈值的情况下,不将存储在所述第二层级的所述第一数据迁移到所述第一层级。
16.一种系统,具有:
处理器;
多个第一资源,提供第一层级;和
多个第二资源,提供第二层级;
其中所述处理器被编程为:
根据基于以周期的预定时间对存储数据的访问频率是否高于第一阈值,来提供虚拟卷,所述虚拟卷的数据被存储在包括所述第一层级和所述第二层级的多个层级中;
在所述预定时间对存储在所述第二层级的第一数据的访问频率高于第一阈值的情况下,将所述第一数据迁移到所述第一层级;
要从所述第二层级迁移至所述第一层级的所述第一数据的数目至少基于所述第一资源的使用寿命来控制。
17.根据权利要求16所述的系统,其特征在于,
所述第一阈值随着第一存储器使用寿命的缩短而增加。
18.根据权利要求17所述的系统,其特征在于,
从所述第二层级要被迁移至所述第一层级的数据的数目至少基于被迁移至所述第一层级的数据的累积数目和所述第一资源的使用年数来控制。
19.根据权利要求18所述的系统,其特征在于,
从所述第二层级要被迁移至所述第一层级的数据的数目至少基于所述第一资源的使用容量率。
20.根据权利要求16所述的系统,其特征在于,
所述处理器被编程为:在以比所述预定时间短的时间对存储在所述第二层级的所述第一数据的访问频率高于第二阈值的情况下,将所述第一数据迁移到所述第一层级。
21.根据权利要求20所述的系统,其特征在于,
所述第二阈值高于所述第一阈值。
22.根据权利要求16所述的系统,其特征在于,
所述处理器被编程为将存储在所述第一层级中的、具有低于所述第一数据的访问频率的访问频率的第二数据迁移至所述第二层级。
23.根据权利要求16所述的系统,其特征在于,
在接到对所述第一数据的I/O请求处理期间,所述第一数据被决定为要被迁移。
24.根据权利要求16所述的系统,其特征在于,
所述虚拟卷包括多个虚拟页,以及
以周期的预定时间对数据的访问频率是对虚拟页的I/O请求的数目,存储所述数据的存储区域被分配给所述虚拟页。
25.根据权利要求16所述的系统,其特征在于,
所述第一数据的访问频率是通过参考在其中对所述第一数据已经发生访问预定数目的时间来获取。
26.根据权利要求16所述的系统,其特征在于,
所述处理器进一步被编程为:
尽管存储在所述第二层级的所述第一数据被迁移至所述第一层级,将存储在所述第一层级的第二数据迁移至所述第二层级,
所述第二数据基于以周期的预定时间并且以比所述预定时间短的时间对所述第二数据的访问频率来选择的。
27.根据权利要求26所述的系统,其特征在于,
当所述第一层级的空余容量小于第二预定值时,所述第二数据被迁移至所述第二层级。
CN201910525717.0A 2013-04-26 2013-04-26 存储系统 Pending CN110333825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910525717.0A CN110333825A (zh) 2013-04-26 2013-04-26 存储系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201380073705.XA CN105009092A (zh) 2013-04-26 2013-04-26 存储系统
CN201910525717.0A CN110333825A (zh) 2013-04-26 2013-04-26 存储系统
PCT/JP2013/062317 WO2014174653A1 (ja) 2013-04-26 2013-04-26 ストレージシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380073705.XA Division CN105009092A (zh) 2013-04-26 2013-04-26 存储系统

Publications (1)

Publication Number Publication Date
CN110333825A true CN110333825A (zh) 2019-10-15

Family

ID=51791259

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201910525717.0A Pending CN110333825A (zh) 2013-04-26 2013-04-26 存储系统
CN201380073705.XA Pending CN105009092A (zh) 2013-04-26 2013-04-26 存储系统
CN202310311449.9A Pending CN116301649A (zh) 2013-04-26 2013-04-26 存储系统

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201380073705.XA Pending CN105009092A (zh) 2013-04-26 2013-04-26 存储系统
CN202310311449.9A Pending CN116301649A (zh) 2013-04-26 2013-04-26 存储系统

Country Status (6)

Country Link
US (5) US8880830B1 (zh)
JP (1) JP6084685B2 (zh)
CN (3) CN110333825A (zh)
DE (1) DE112013006656B4 (zh)
GB (1) GB2527951B (zh)
WO (1) WO2014174653A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860163A (zh) * 2020-04-28 2022-08-05 华为技术有限公司 一种存储系统、内存管理方法和管理节点

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014083620A1 (ja) * 2012-11-27 2014-06-05 株式会社日立製作所 ストレージ装置及び階層制御方法
US9753987B1 (en) * 2013-04-25 2017-09-05 EMC IP Holding Company LLC Identifying groups of similar data portions
CN110825324B (zh) * 2013-11-27 2023-05-30 北京奥星贝斯科技有限公司 混合存储的控制方法及混合存储系统
WO2015145532A1 (ja) 2014-03-24 2015-10-01 株式会社日立製作所 ストレージシステム及びデータ処理方法
US9940167B2 (en) * 2014-05-20 2018-04-10 Red Hat Israel, Ltd. Identifying memory devices for swapping virtual machine memory pages
US9880786B1 (en) * 2014-05-30 2018-01-30 Amazon Technologies, Inc. Multi-tiered elastic block device performance
WO2016016989A1 (ja) * 2014-07-31 2016-02-04 株式会社 東芝 階層化ストレージシステム、ストレージコントローラ及びプログラム
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US10078663B2 (en) 2014-10-29 2018-09-18 Red Hat, Inc. Dual overlay query processing
JP6511795B2 (ja) * 2014-12-18 2019-05-15 富士通株式会社 ストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステム
WO2016147279A1 (ja) * 2015-03-13 2016-09-22 富士通株式会社 データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法
CN111736773A (zh) * 2015-04-09 2020-10-02 株式会社日立制作所 存储系统和数据控制方法
JP6497233B2 (ja) * 2015-06-19 2019-04-10 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
WO2017046902A1 (ja) * 2015-09-16 2017-03-23 株式会社日立製作所 管理システム、管理計算機、及び、ストレージ装置の管理方法
CN105260138A (zh) * 2015-09-30 2016-01-20 福州瑞芯微电子股份有限公司 读写控制系统及方法
CN105487823B (zh) * 2015-12-04 2018-06-05 华为技术有限公司 一种数据迁移的方法及装置
CN106933493B (zh) * 2015-12-30 2020-04-24 伊姆西Ip控股有限责任公司 用于缓存盘阵列扩容的方法及设备
US10579540B2 (en) * 2016-01-29 2020-03-03 Netapp, Inc. Raid data migration through stripe swapping
JP6680069B2 (ja) * 2016-05-10 2020-04-15 富士通株式会社 ストレージ制御装置、ストレージシステム及びストレージ装置制御プログラム
US10809931B1 (en) * 2016-06-24 2020-10-20 EMC IP Holding Company LLC Techniques for use with physical media types having varying allowable write quotas
JP6708928B2 (ja) * 2016-07-08 2020-06-10 富士通株式会社 ストレージ管理装置、ストレージ管理プログラム、およびストレージシステム
US10452273B2 (en) 2016-09-24 2019-10-22 International Business Machines Corporation Preemptive event-based data migration
KR102227643B1 (ko) * 2016-09-28 2021-03-15 한국전자기술연구원 오케스트레이션 기반 최적 스토리지 할당을 위한 예측형 후보군 선정 방법
US11755224B2 (en) * 2017-07-27 2023-09-12 EMC IP Holding Company LLC Storing data in slices of different sizes within different storage tiers
US10769074B2 (en) * 2017-11-09 2020-09-08 Microsoft Technology Licensing, Llc Computer memory content movement
CN110737399B (zh) * 2018-07-20 2023-09-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN112306372A (zh) 2019-07-31 2021-02-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和程序产品
JP7405608B2 (ja) * 2019-12-26 2023-12-26 株式会社日立製作所 ストレージシステム
JP2022032710A (ja) 2020-08-13 2022-02-25 富士通株式会社 管理装置およびプログラム
US20220197537A1 (en) * 2020-12-18 2022-06-23 Micron Technology, Inc. Object management in tiered memory systems
JP7319326B2 (ja) 2021-06-24 2023-08-01 株式会社日立製作所 ストレージシステム及びストレージシステムのファイル配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948042B2 (en) * 2002-01-21 2005-09-20 Hitachi, Ltd. Hierarchical storage apparatus and control apparatus thereof
JP2008269344A (ja) * 2007-04-20 2008-11-06 Toshiba Corp 論理ディスク管理方法及び装置
CN102831088A (zh) * 2012-07-27 2012-12-19 国家超级计算深圳中心(深圳云计算中心) 基于混合存储器的数据迁移方法和装置
CN102859499A (zh) * 2010-04-30 2013-01-02 株式会社日立制作所 计算机系统及其存储控制方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
JP2004272324A (ja) * 2003-03-05 2004-09-30 Nec Corp ディスクアレイ装置
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
JP2005276017A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム
US7568075B2 (en) * 2005-09-22 2009-07-28 Hitachi, Ltd. Apparatus, system and method for making endurance of storage media
JP2007272721A (ja) * 2006-03-31 2007-10-18 Nec Corp ストレージ装置及びその制御方法
JP4859595B2 (ja) * 2006-09-01 2012-01-25 株式会社日立製作所 記憶システム、そのデータ再配置方法、データ再配置プログラム
US8006061B1 (en) * 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
US8195617B2 (en) * 2008-12-30 2012-06-05 International Business Machines Corporation Managing data across a plurality of data storage devices based upon collaboration relevance
JP4930553B2 (ja) * 2009-06-30 2012-05-16 富士通株式会社 データ移行機能を有した装置及びデータ移行方法
US8639877B2 (en) * 2009-06-30 2014-01-28 International Business Machines Corporation Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks
US8230131B2 (en) * 2009-09-14 2012-07-24 International Business Machines Corporation Data migration to high speed storage in accordance with I/O activity over time
WO2011077489A1 (ja) * 2009-12-24 2011-06-30 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
US8799747B2 (en) 2010-06-03 2014-08-05 Seagate Technology Llc Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US9058280B1 (en) * 2010-08-13 2015-06-16 Western Digital Technologies, Inc. Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
CN103299265B (zh) * 2011-03-25 2016-05-18 株式会社日立制作所 存储系统和存储区域分配方法
US20120254583A1 (en) * 2011-03-31 2012-10-04 Hitachi, Ltd. Storage control system providing virtual logical volumes complying with thin provisioning
US8639899B2 (en) * 2011-04-26 2014-01-28 Hitachi, Ltd. Storage apparatus and control method for redundant data management within tiers
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
US8645654B1 (en) * 2011-06-29 2014-02-04 Emc Corporation Selecting physical storage in data storage systems
JP2013164822A (ja) * 2012-02-13 2013-08-22 Fujitsu Ltd 負荷閾値算出プログラム、負荷閾値算出装置および負荷閾値算出方法
US11347443B2 (en) * 2012-04-13 2022-05-31 Veritas Technologies Llc Multi-tier storage using multiple file sets
US9703500B2 (en) * 2012-04-25 2017-07-11 International Business Machines Corporation Reducing power consumption by migration of data within a tiered storage system
WO2014016866A1 (en) * 2012-07-24 2014-01-30 Hitachi, Ltd. Storage system, storage control method and storage control program
US9026765B1 (en) * 2012-09-11 2015-05-05 Emc Corporation Performing write operations in a multi-tiered storage environment
US9898224B1 (en) * 2012-09-12 2018-02-20 EMC IP Holding Company LLC Automatic adjustment of capacity usage by data storage optimizer for data migration
CN102929566B (zh) * 2012-10-24 2015-07-08 中国资源卫星应用中心 一种多级自适应存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948042B2 (en) * 2002-01-21 2005-09-20 Hitachi, Ltd. Hierarchical storage apparatus and control apparatus thereof
JP2008269344A (ja) * 2007-04-20 2008-11-06 Toshiba Corp 論理ディスク管理方法及び装置
CN102859499A (zh) * 2010-04-30 2013-01-02 株式会社日立制作所 计算机系统及其存储控制方法
CN102831088A (zh) * 2012-07-27 2012-12-19 国家超级计算深圳中心(深圳云计算中心) 基于混合存储器的数据迁移方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860163A (zh) * 2020-04-28 2022-08-05 华为技术有限公司 一种存储系统、内存管理方法和管理节点
CN114860163B (zh) * 2020-04-28 2023-08-22 华为技术有限公司 一种存储系统、内存管理方法和管理节点
US11861204B2 (en) 2020-04-28 2024-01-02 Huawei Technologies Co., Ltd. Storage system, memory management method, and management node

Also Published As

Publication number Publication date
US20150006801A1 (en) 2015-01-01
CN105009092A (zh) 2015-10-28
US20160011967A9 (en) 2016-01-14
GB201514119D0 (en) 2015-09-23
CN116301649A (zh) 2023-06-23
US9830258B2 (en) 2017-11-28
US20220318134A1 (en) 2022-10-06
DE112013006656B4 (de) 2023-01-26
DE112013006656T5 (de) 2015-11-19
US11372755B2 (en) 2022-06-28
JPWO2014174653A1 (ja) 2017-02-23
US20140325121A1 (en) 2014-10-30
WO2014174653A1 (ja) 2014-10-30
US8880830B1 (en) 2014-11-04
GB2527951A (en) 2016-01-06
US20200356471A1 (en) 2020-11-12
US20180067851A1 (en) 2018-03-08
JP6084685B2 (ja) 2017-02-22
US11698857B2 (en) 2023-07-11
GB2527951B (en) 2021-05-12
US10733092B2 (en) 2020-08-04

Similar Documents

Publication Publication Date Title
CN110333825A (zh) 存储系统
JP5543668B2 (ja) ストレージシステム及び記憶領域の割当方法
US10210082B2 (en) Rate matching technique for balancing segment cleaning and I/O workload
JP6510635B2 (ja) ストレージシステム及びデータ制御方法
JP2010257094A (ja) 階層ストレージ管理システムにおける移動候補ファイルの抽出方法
CN102812444A (zh) 高速缓存架构中的混合介质的有效使用
CN109496300A (zh) 一种存储介质垃圾回收方法、存储介质和程序产品
JP2015517697A (ja) 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法
CN109684236A (zh) 一种数据写缓存控制方法、装置、电子设备和存储介质
CN101673192A (zh) 时序化的数据处理方法、装置及系统
CN104657286A (zh) 一种分级存储方法及装置
CN103150245A (zh) 确定数据实体的访问特性的方法和存储控制器
WO2013136366A1 (en) Storage apparatus and program update method
CN104111896A (zh) 大数据处理中的虚拟内存管理方法及其装置
JP6118380B2 (ja) ストレージシステム及び記憶領域の割当方法
CN108897618A (zh) 一种异构内存架构下基于任务感知的资源分配方法
JP6886486B2 (ja) ストレージシステム及びデータ制御方法
CN109725844A (zh) 一种磁盘分配方法、装置和存储系统
JP5815791B2 (ja) ストレージシステム及び記憶領域の割当方法
CN117687577A (zh) 基于备份的命名空间固态硬盘读优化方法、控制器及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination