CN110058808B - 减少在存储分级层之间重排数据的数据迁移时间的装置 - Google Patents
减少在存储分级层之间重排数据的数据迁移时间的装置 Download PDFInfo
- Publication number
- CN110058808B CN110058808B CN201910024030.9A CN201910024030A CN110058808B CN 110058808 B CN110058808 B CN 110058808B CN 201910024030 A CN201910024030 A CN 201910024030A CN 110058808 B CN110058808 B CN 110058808B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- migration
- areas
- area
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Abstract
在物理存储区中的一个被分配给在逻辑存储区中包括的单元区中的每一个的状态下,装置从单元区中识别已经从物理存储区分配的第一单元区,其中该物理存储区到该第一单元区的分配要被改变。该装置从第一单元区中顺序地选择第二单元区作为用于数据迁移的候选,以及指示第二单元区的在物理存储区之间的数据迁移。该装置确定是否正在对多个分区中的每一个执行其数据已经被指示迁移的单元区中的任一个的数据迁移,该多个分区是通过划分第二单元区的数据要迁移到的物理存储区而获得的,以及基于该确定指示第二单元区的数据迁移。
Description
技术领域
本文讨论的实施方式涉及减少用于在存储分级层之间重排数据的数据迁移时间的装置。
背景技术
已知基于访问性能对包括在存储设备中的存储器设备进行分层并且在层之间重排数据的存储分级控制。例如,以高频率访问的数据放置在高访问速率的存储器设备中,而以低频率访问的数据放置在低访问速率的存储器设备中。当以这种方式放置数据时,可以以高速度执行访问处理。
作为利用存储分级控制技术的系统的示例,已经提出了以下计算系统。在该计算系统中,控制数据库管理系统中的对象(例如表、索引等)的数据的存储目的地。基于对象的类型为对象设置优先级,并且具有高优先级的对象的数据优先被重排。
相关技术的示例是日本特开专利公布第2014-199596号和国际公布小册子第WO2013/164878号。
发明内容
[技术问题]
在存储分级控制中,基于数据项的访问频率识别要在层之间迁移的数据项。当识别出要迁移的多个数据项时,通过减少用于执行迁移数据项的处理的整个时间段来将数据项提前放置在适当的层中,并且结果,提高了对数据项进行访问的性能。然而,存在以下问题:如何控制数据项的迁移的执行以减少用于执行迁移处理的整个时间段。
[对问题的解决方案]
根据一个方面,装置存储指示多个物理存储区的配置的配置信息,该多个物理存储区分别由具有不同的访问性能等级的存储设备形成。在多个物理存储区中的一个被分配给在逻辑存储区中包括的多个单元区中的每一个的状态下,该装置从多个单元区中识别已经从物理存储区分配的多个第一单元区,其中该物理存储区到该第一单元区的分配要被改变。该装置从多个第一单元区中顺序地选择第二单元区作为用于数据迁移的候选,以及指示第二单元区的在多个物理存储区之间的数据迁移。当从多个第一单元区中选择第二单元区作为用于数据迁移的候选时,该装置确定是否正在对多个分区中的每一个执行其数据已经被指示迁移的多个单元区中的任一个的数据迁移,该多个分区是通过划分第二单元区的数据要迁移到的物理存储区而获得的,以及指示第二单元区的数据迁移。
[发明的有益效果]
根据实施方式的一个方面,可以减少用于执行数据迁移处理的时间段。
附图说明
图1是示出根据第一实施方式的数据处理设备的配置的示例以及要由数据处理设备执行的处理的示例的图;
图2是示出根据第二实施方式的存储系统的配置的示例的图;
图3是示出分层存储器区的设置的示例的图;
图4是示出子池中的RAID组的设置的示例的图;
图5是示出包括在CM中的处理功能的配置的示例以及包括在管理服务器中的处理功能的配置的示例的框图;
图6是示出存储在CM中的单元区管理表的数据配置的示例的图;
图7是示出存储在CM中的池管理表的数据配置的示例的图;
图8是示出优先级设置表的数据配置的示例的图;
图9是示出关于收集访问频率的处理的进程的示例的顺序图;
图10是关于确定数据的放置目的地的处理的进程的示例的流程图;
图11是关于迁移数据的处理的进程的示例的第一流程图;以及
图12是关于迁移数据的处理的进程的示例的第二流程图。
具体实施方式
在下文中,参照附图描述实施方式。
第一实施方式
图1是示出根据第一实施方式的数据处理设备的配置的示例以及要由数据处理设备执行的处理的示例的图。图1中所示的数据处理设备包括存储单元1a和控制单元1b。存储单元1a由包括在数据处理设备1中的存储设备的存储区实现。包括在数据处理设备1中的存储设备是随机存取存储器(RAM)、硬盘驱动器(HDD)等。例如,控制单元1b被实现为包括在数据处理设备1中的处理器。
数据处理设备1将物理存储区分配给包括在逻辑存储区2中的多个单元区。准备分配给单元区的多个物理存储区。在第一实施方式中,准备三个物理存储区3至5作为示例。利用具有不同的访问性能等级的存储设备来实现物理存储区3至5。将存储区从物理存储区3至5中的任意个分配给逻辑存储区2的单元区中的每一个。然而,如果将存储区从物理存储区3至5中的任意个分配给逻辑存储区2中的仅存储数据的单元区中的每一个,则这是足够的。
在存储单元1a中存储指示物理存储区3至5的配置的配置信息1a1。例如,配置信息1a1包括物理存储区3至5的容量和关于实现物理存储区3至5的存储设备的信息。
以上述方式,控制单元1b在已经将存储区从物理存储区3至5中的任意个分配给逻辑存储区2的多个单元区中的每一个的状态下执行以下处理。在从逻辑存储区2的单元区中识别出多个第一单元区时,其中对于该多个第一单元区要改变要分配给第一单元区的物理存储区,控制单元1b从多个第一单元区中顺序地选择用于数据迁移的候选。然后,控制单元1b指示被选择作为候选的第一单元区在物理存储区之间的数据迁移。在下文将顺序地选择用于数据迁移的候选和指示选择的候选的数据迁移的处理称为“迁移控制处理”。
图1假设单元区R1至R4被识别为第一单元区作为示例。例如,控制单元1b按照该顺序顺序地选择单元区R1、R2、R3和R4作为用于数据迁移的候选。然后,控制单元1b对选择的单元区执行迁移控制处理。在迁移控制处理中,执行以下处理。
当控制单元1b从第一单元区中选择单个单元区(下文中称为第二单元区)作为候选时,控制单元1b确定是否正在对通过划分作为第二单元区的数据的迁移目的地的物理存储区而获得的多个区中的每一个执行其数据已经被指示迁移的单元区的数据的迁移。
例如,假设单元区R3被选择为用于数据迁移的候选。另外,假设请求要分配的存储区将从物理存储区5改变为物理存储区3用于单元区R3,并且假设单元区R3的数据D3的迁移目的地是物理存储区3。此外,假设物理存储区3被划分为两个区3a和3b。分区3a和3b由不同的存储设备实现。例如,分区3a和3b被实现为不同的廉价磁盘冗余阵列(RAID)组。
在这种情况下,控制单元1b确定是否正在对分区3a和3b中的每一个执行其数据已经被指示迁移的单元区(在这种情况下为单元区R1和R2中的任何)的数据的迁移。然后,控制单元1b基于确定的结果控制指示单元区R3的数据的迁移的处理。通过执行该处理,可以减少用于执行迁移数据的处理的时间段。
例如,假设正在对分区3b执行单元区R2的数据D2的迁移。图1假设正在执行将数据D2从分区3b迁移到物理存储区4的处理。在这种情况下,当尝试将单元区R3的数据D3迁移到分区3b时,数据D3等待被迁移直到数据D2的迁移的完成。因此,例如,控制单元1b指示数据D3迁移到没有正在执行数据迁移的分区3a。因此,数据D2和D3并行迁移,而数据D3不等待被迁移。结果,可以减少用于执行数据迁移的整个时间段。
尽管未示出,假设正在对分区3a和3b中的每一个执行除单元区R3之外的单元区的数据的迁移。在这种情况下,单元区R3的数据的迁移被设置为指示等待状态,并且控制单元1b选择下一个单元区R4作为用于数据迁移的候选,并且对单元区R4执行迁移控制处理。因此,可以减少由于等待单元区R3的数据D3的迁移而导致单元区R4的数据未被迁移的无用时间段存在的概率,并且可以提高数据迁移的效率。结果,可以减少用于执行数据迁移的整个时间段。
以这种方式,可以通过确定是否正在对分区3a和3b中的每一个执行数据迁移并且基于确定的结果控制指示单元区R3的数据的迁移的处理来减少用于数据迁移处理的时间段。
第二实施方式
接下来,描述根据第二实施方式的存储系统。
图2是示出根据第二实施方式的存储系统的配置的示例的图。图2中所示的存储系统包括存储设备100、主机服务器200、管理服务器300和管理终端400。存储设备100、主机服务器200、管理服务器300和管理终端400经由网络500彼此耦接。网络500是例如局域网(LAN)或诸如广域网(WAN)或因特网的宽带网络。可以经由存储区网络(SAN)在存储设备100与主机服务器200之间执行通信。
存储设备100包括控制器模块(CM)110和驱动单元120。CM 110是存储控制设备,该存储控制设备被配置成根据来自主机服务器200的请求访问包括在驱动单元120中的存储设备。例如,CM 110利用包括在驱动单元120中的存储设备的存储区来设置逻辑卷,并且从主机服务器200接收访问逻辑卷的请求。CM 110是图1中所示的数据处理设备1的示例。
驱动单元120包括要由主机服务器200访问的存储设备121a、121b、121c、......。包括在驱动单元120中的存储设备具有不同的类型并且具有不同的访问性能等级。例如,驱动单元120包括近线HDD、在线HDD和固态驱动器(SSD)。在这种情况下,近线HDD的访问性能低于在线HDD的访问性能,而在线HDD的访问性能低于SSD的访问性能。
主机服务器200是被配置成执行各种类型的业务处理的计算机。主机服务器200向CM 110发送访问逻辑卷的请求,从而访问逻辑卷。
管理服务器300是被配置成管理存储设备100的操作的服务器计算机。例如,管理服务器300对存储设备100执行分级控制。例如,管理服务器300周期性地从CM 110收集逻辑卷内的数据的访问频率并且控制CM 110,使得逻辑卷内的数据被放置在具有适合于访问频率的访问性能的存储设备中。
管理终端400是要由存储系统的管理员使用的终端设备。例如,管理终端400响应于管理员的操作而设置逻辑卷并且执行与存储区的分层有关的设置。
接下来,参照图2描述CM 110的硬件配置的示例。如图2中所示,CM 110包括处理器111、RAM 112、SSD 113、网络接口(I/F)114和驱动接口(I/F)115。
处理器111全面控制整个CM 110。处理器111是例如中央处理单元(CPU)、微处理单元(MPU)、数字信号处理器(DSP)、专用集成电路(ASIC)或可编程逻辑器件(PLD)。可替选地,处理器111可以是CPU、MPU、DSP、ASIC和PLD中的两个或更多个的组合。
RAM 112被用作CM 110的主存储设备。在RAM 112中,临时存储要由处理器111执行的操作系统(OS)程序和要由处理器111执行的应用程序中的一个或两个。在RAM 112中,存储要用于要由处理器111执行的处理的各种类型的数据。
SSD 113被用作CM 110的辅助存储设备。在SSD 113中,存储OS程序、应用程序和各种类型的数据。作为辅助存储设备,可以使用诸如HDD的另一类型的非易失性存储设备。
网络接口114是被配置成经由网络500与主机服务器200和管理服务器300进行通信的通信接口。例如,经由SAN等耦接至主机服务器200的通信接口和经由LAN等耦接至管理服务器300的通信接口可以彼此独立地安装在存储设备100中。
驱动接口115是被配置成与包括在驱动单元120中的存储设备121a、121b、121c、......进行通信的通信接口。
尽管未示出,但是主机服务器200、管理服务器300和管理终端400中的每一个可以被实现为包括处理器、主存储设备和辅助存储设备的计算机。
接下来,描述要在存储系统中执行的分级控制。
图3是示出分层存储区的设置的示例的图。如上所述,在存储设备100中,设置要由主机服务器200访问的逻辑卷。另外,在存储设备100中,设置层池,从该层池分配与逻辑卷相对应的物理存储区。层池是存储区,该存储区中的每一个由包括在驱动单元120中的一个或更多个存储设备实现。存储区从层池分配给具有预定大小的单元区并且通过划分逻辑卷来获得。然而,在第二实施方式中,根据来自主机服务器200的请求,将存储区从层池分配给逻辑卷的单元区中的仅存储数据的单元区。
层池中的每一个被划分为由不同访问速率的存储设备实现的多个子池。因此,层池中的每一个是分层的,并且具有不同访问速率的多个分层存储区。基于从主机服务器200接收的访问频率,将存储区从子池中的任意个分配给单元区中的每一个。例如,由高访问速率的存储设备实现的子池被分配给以高频率访问的单元区,而由低访问速率的存储设备实现的子池被分配给以低频率访问的单元区。
因此,在存储设备100中,当以较高的频率访问数据时,以较高的速率访问数据。例如,当由主机服务器200以较高的频率访问数据时,对来自主机服务器200的访问请求的响应速度较高。结果,提高了对来自主机服务器200的访问请求的响应性能。
以下描述假设一个或更多个近线HDD、一个或更多个在线HDD和一个或更多个SSD包括在驱动单元120中,并且被用作按照访问速率的升序的不同访问速率的存储设备。在一些情况下,由一个或更多个近线HDD实现的子池的层被称为“低等级层”,在一些情况下,由一个或更多个在线HDD实现的子池的层被称为“中等级层”,以及在一些情况下,由一个或更多个SSD实现的子池的层被称为“高等级层”。
在图3中,作为示例,设置逻辑卷LV1,并且将层池TP1设置为以下池:要从该池分配与逻辑卷LV1相对应的物理存储区。在层池TP1中,设置子池SP1-L、SP1-M和SP1-H这3个层。子池SP1-L由一个或更多个近线HDD实现。子池SP1-M由一个或更多个在线HDD实现。子池SP1-H由一个或更多个SSD实现。因此,子池SP1-H的访问速率在子池SP1-H、SP1-M和SP1-L中最高,并且子池SP1-L的访问速率在子池SP1-H、SP1-M和SP1-L中最低。
在存储设备100中,可以设置不同单元区大小的多个层池。可以将存储区从层池中的任意个分配给逻辑卷中的每一个。在图3中所示的示例中,在存储设备100中设置不仅层池TP1而且层池TP2和TP3。另外,在存储设备100中设置不仅逻辑卷LV1而且逻辑卷LV2至LV4。将存储区从层池TP2分配给逻辑卷LV2,并且将存储区从层池TP3分配给逻辑卷LV3和LV4。
层池TP2和TP3中的每一个被划分为多个子池。在图3中所示的示例中,在层池TP2中设置由一个或更多个近线HDD实现的子池SP2-L和由一个或更多个SSD实现的子池SP2-H。另外,在层池TP3中设置由一个或更多个近线HDD实现的子池SP3-L、由一个或更多个在线HDD实现的子池SP3-M以及由一个或更多个SSD实现的子池SP3-H。
可以减小用作用于管理数据迁移的单元的单元区的大小。在这种情况下,由于要迁移到迁移目的地的确定层的划分的数据的大小较小,因此要放置数据的层更适合于访问频率。另一方面,由于用作用于管理的单元的单元区的数量增加,因此可以降低管理的效率。因此,单元区的大小可以由用户基于要存储在逻辑卷中的数据的特性来任意地设置。
作为另一示例,可以基于要从层池分配的单元区的最大可能数量来确定层池的容量。在这种情况下,可以通过增加单元区的大小来扩展层池的容量。以这种方法,无论单元区的大小如何,要管理为分配目的地的单元区的最大可能数量对于层池是相同的。因此,无论单元区的大小如何,用于管理层池的方法可以是共同的并且可以提高管理的效率。
图4是示出子池中的RAID组的设置的示例的图。在子池中的每一个中设置一个或更多个RAID组。RAID组中的每一个是逻辑存储区,对该逻辑存储区进行写入控制,使得在多个存储设备中使数据冗余。通过在子池中设置RAID组来设置子池的物理存储区。例如,子池的存储区由包括在RAID组中的并且要由RAID控制的多个存储设备实现。
在图4中所示的示例中,在子池SP1-L中设置RAID组RG1和RG2,在子池SP1-M中设置RAID组RG3和RG4,并且在子池SP1-H中设置RAID组RG5和RG6。另外,在子池SP2-L中设置RAID组RG11和RG12,并且在子池SP2-H中设置RAID组RG13和RG14。此外,在子池SP3-L中设置RAID组RG21至RG23,在子池SP3-M中设置RAID组RG24至RG26,并且在子池SP3-H中设置RAID组RG27至RG29。
接下来,详细描述要由管理服务器300和存储设备100的CM 110执行的处理。
图5是示出包括在CM中的处理功能的配置的示例以及包括在管理服务器中的处理功能的配置的示例的框图。
CM 110包括存储单元130、访问控制单元141、访问频率发送单元142和迁移处理单元143。存储单元130被实现为包括在CM 110中并且是RAM 112等的存储设备的存储区。例如,通过使处理器111执行预定程序来实现要由访问控制单元141、访问频率发送单元142和迁移处理单元143执行的处理。
在存储单元130中,存储有逻辑卷管理表131、单元区管理表132、池管理表133和RAID组管理表134。
在逻辑卷管理表131中,登记关于逻辑卷的设置信息。例如,在逻辑卷管理表131中,为逻辑卷中的每一个登记卷名、容量、指示从其分配存储区的层池的池名等。
在单元区管理表132中,登记关于包括在逻辑卷中的单元区的信息。例如,在单元区管理表132中,为单元区中的每一个登记指示从层池分配的存储区的子池名、RAID组名、偏移量、在单位时间段内来自主机服务器200的访问的次数等。
在池管理表133中,登记关于层池的信息。例如,在池管理表133中,为层池中的每一个登记单元区大小、指示设置的子池的信息、指示在子池中设置的RAID组的信息、指示可用区的信息等。
在RAID组管理表134中,登记关于设置的RAID组的信息。例如,在RAID组管理表134中,为RAID组中的每一个登记RAID等级、指示要使用的存储设备的信息等。
访问控制单元141根据从主机服务器200接收的访问逻辑卷的请求来执行访问控制。例如,当访问控制单元141接收到读取在在逻辑卷中包括的单元区中的任何单元区中存储的数据的请求时,访问控制单元141参考单元区管理表132并且识别包括在RAID卷中的存储数据的存储区(与RAID组相对应的逻辑存储区)。然后,访问控制单元141参考RAID组管理表134,识别与识别的存储区相对应的物理存储区(驱动单元120内的存储设备的存储区),从识别的物理存储区读取数据,并且将读取的数据发送到主机服务器200。
当访问控制单元141接收到向在逻辑卷中包括的单元区中的任意单元区写入新数据的请求时,访问控制单元141参考逻辑卷管理表131并且识别与逻辑卷相关联的层池。访问控制单元141参考池管理表133,从识别的层池识别可用区,并且向识别的可用区写入数据。另外,访问控制单元141在包括在单元区管理表132中的并且与单元区相对应的记录中登记指示已经向其写入数据的存储区的信息。例如,从在识别的层池中包括的子池中的预定子池(例如高等级层的子池)识别要向其写入数据的可用区。
访问频率发送单元142在特定时间段内收集单元区的访问频率,并且将收集的访问频率作为访问频率信息发送到管理服务器300。例如,访问频率信息作为其中列出单元区的访问频率的值的信息被发送。
迁移处理单元143从管理服务器300接收迁移指示信息,并且基于迁移指示信息在层之间(或在子池之间)迁移数据(或再次放置数据)。接收迁移指示信息作为其中列出其数据要迁移的单元区以及要向其迁移数据的层的信息。如稍后所述,在迁移指示信息中为单元区设置优先级。
管理服务器300包括存储单元310、访问频率收集单元321和放置目的地确定单元322。存储单元310被实现为包括在管理服务器300中的存储设备(未示出)的存储区。例如,通过使包括在管理服务器300中的处理器(未示出)执行预定程序来实现要由访问频率收集单元321和放置目的地确定单元322执行的处理。
在存储单元310中,存储有单元区管理表311、池管理表312和优先级设置表313。
在单元区管理表311中,登记关于包括在逻辑卷中的单元区的信息。例如,在单元区管理表311中,为单元区中的每一个登记指示从层池分配的存储区的子池名、在单位时间段内来自主机服务器200的访问的次数等。单元区管理表311与CM 110的单元区管理表132的不同之处在于,在单元区管理表311中不是在RAID组基础上管理存储区的位置。
在池管理表312中,登记关于层池的信息。例如,在池管理表312中,为层池中的每一个登记单元区大小、指示设置的子池的信息、指示可用区的信息等。池管理表312与CM110的池管理表133的不同之处在于,在池管理表312中不是在RAID组基础上管理可用区。
在优先级设置表313中,对用于为作为迁移目标的单元区设置优先级的要求进行设置。在优先级设置表313中,基本上是基于迁移目的地的层和访问频率的组合来设置优先级。
访问频率收集单元321以特定的时间间隔从CM 110收集单元区的访问频率。收集的访问频率的信息被存储在单元区管理表311中。
放置目的地确定单元322基于收集的访问频率,确定单元区的数据要放置在的层(子池)。然后,放置目的地确定单元322将其数据要迁移到与当前放置目的地不同的确定的放置目的地的单元区提取为迁移目标。然后,放置目的地确定单元322向CM 110发送表示在层之间迁移被提取为迁移目标的单元区的数据的指示的迁移指示信息。
放置目的地确定单元322指示CM 110集中地从被提取为迁移目标的多个单元区迁移数据。在这种情况下,放置目的地确定单元322基于优先级设置表313为相应的多个单元区设置优先级。在要发送的迁移指示信息中,为多个单元区中的每一个设置指示迁移目的地层和优先级的信息。
图6是示出存储在CM中的单元区管理表的数据配置的示例的图。存储在CM 110中的单元区管理表132包括关于相应的单元区的记录。记录中的每一个包括关于单元区名、逻辑卷名、逻辑块地址(LBA)、子池名、RAID组名、偏移量和访问频率的项。
单元区名指示识别单元区的信息。逻辑卷名指示识别单元区所属的逻辑卷的信息。LBA指示属于逻辑卷的单元区的顶逻辑地址。子池名指示识别分配给单元区的子池的信息。RAID组名指示识别分配给单元区的存储区所属的RAID组的信息。偏移量指示RAID卷中与关于分配给单元区的存储区的RAID组相对应的位置。
访问频率指示在特定时间段内单元区已经被主机服务器200访问的次数。
在第二实施方式中,作为示例,管理服务器300的访问频率收集单元321将用于收集访问频率的时间段划分为固定的单位时间段,并且针对单位时间段内的每一个从CM 110收集访问频率。在单元区管理表132的访问频率项中,登记单位时间段内的访问的次数。例如,每当主机服务器200请求CM 110向单元区写入数据并且从单元区读取数据时,访问控制单元141就递增访问频率的值。当经过了与单位时间段相对应的特定时间段并且访问频率收集单元321请求CM 110发送访问频率信息时,访问频率发送单元142使登记在访问频率项中的值被包括在访问频率信息中,将包括该值的访问频率信息发送到访问频率收集单元321,并且将登记在访问频率项中的值重置为0。
通过执行上述处理,单位时间段内的访问频率在单位时间段的结束时被保持在在CM 110中存储的单元区管理表132的访问频率项中。由于执行上述处理,因此在第二实施方式中将“访问频率”定义为“在单位时间段内访问的次数”。
尽管未示出,但是存储在管理服务器300中的单元区管理表311包括关于相应的单元区的记录。记录中的每一个包括关于单元区名、逻辑卷名、LBA、子池名和访问频率的项,但不包括关于RAID组名和偏移量的项。在关于单元区名、逻辑卷名、LBA和子池名的项中,登记与在CM 110的单元区管理表132中包括的并且与单元区管理表311的项相对应的项中登记的值相同的值。
当访问频率收集单元321从CM 110收集访问频率,并且收集的访问频率的值大于当前在单元区管理表311的访问频率项中登记的值时,访问频率收集单元321将当前登记的值更新为收集的值。因此,当收集时间段结束时,在收集时间段的单位时间段内访问频率中的最大值被登记在访问频率项中。
图7是示出存储在CM中的池管理表的数据配置的示例的图。存储在CM 110中的池管理表133包括关于相应的设置的层池的记录。记录中的每一个包括关于单元区大小的项并且包括关于用于低等级层的子池名、磁盘类型和RAID组名的项、关于用于中等级层的子池名、磁盘类型和RAID组名的项以及关于用于高等级层的子池名、磁盘类型和RAID组名的项。
单元区大小指示包括在层池中的单元区的大小。子池名指示识别设置在层池中的子池的信息。磁盘类型指示实现子池的存储设备的类型。RAID组名指示识别设置在子池中的RAID组的信息。
尽管未示出,但是存储在管理服务器300中的池管理表312包括关于相应的设置的层池的记录。记录中的每一个包括关于单元区大小和子池名的项,但不包括关于RAID组名的项。因此,管理服务器300在子池基础(或在层基础)上识别层池的配置,而不是在RAID组基础上识别层池的配置。在关于单元区大小和子池的项中,登记与在CM 110的池管理表133中包括的并且与池管理表312的项相对应的项中登记的值相同的值。
尽管未示出,但是指示子池的大小的信息和要用于管理子池的可用区的信息实际上保持在池管理表133和312中。
接下来,描述在层之间的基于优先级的数据迁移控制。
如上所述,当管理服务器300的放置目的地确定单元322提取到作为迁移目标的单元区时,放置目的地确定单元322指示CM 110集体地迁移提取的单元区的数据。在这种情况下,放置目的地确定单元322为单元区设置优先级。CM 110的迁移处理单元143针对数据已经被指示迁移的多个单元区按照从最高优先级的顺序在层之间迁移数据。
作为用于确定优先级的方法,例如,存在一种用于基于“迁移路径要求”确定优先级的方法,该“迁移路径要求”指示要从其迁移数据的层和要向其迁移数据的层。例如,其数据已经被指示从中等级层迁移到高等级层的单元区的访问频率高于其数据已经被指示从低等级层迁移到中等级层的单元区的访问频率。因此,从中等级层到高等级层的迁移的紧迫性高于从低等级层到中等级层的迁移的紧迫性。因此,为从中等级层到高等级层的迁移设置较高的优先级。另外,例如,其数据已经被指示从两个层中的较低等级层迁移到两个层中的较高等级层的单元区的访问频率高于其数据已经被指示从较高等级层迁移到较低等级层的单元区的访问频率。因此,到较高等级层的迁移的紧迫性高于到较低等级层的迁移的紧迫性。因此,为到较高等级层的迁移设置较高的优先级。
另外,可以基于指示访问频率的“访问频率要求”,为由迁移路径要求指示相同迁移路径的单元区设置优先级。例如,由于访问频率较高,因此迁移的紧迫性较高。因此,由于单元区的访问频率较高,因此为单元区设置较高的优先级。
然而,当利用迁移路径要求和访问频率要求来设置优先级时,可能无法实现对于实际状态为最佳的分级控制。例如,可能存在不符合上述要求并且影响数据迁移的紧迫性的要求。另外,数据迁移的紧迫性可能根据执行数据迁移的CM 110的处理状态或设置环境而变化。此外,考虑到CM110的处理效率可能根据数据被放置在属于同一层的物理存储区中的位置而降低。
为了解决上述问题,利用上述要求和第二实施方式中的管理服务器300中的另一要求来执行以下优先级确定控制。另外,在CM 110中执行以下数据迁移控制(1)至(4)。
通过管理服务器的优先级确定控制
当某些数据要从某个层迁移到较高等级层并且较高等级层中不存在可用区时,CM110的迁移处理单元143将较高等级层的数据迁移到较低等级层并且此后将某些数据迁移到较高等级层。在一些情况下,将数据迁移到较低等级层以获得较高等级层的可用区在下文中称为“区安全迁移”。
当要将某些数据迁移到较高等级层并且将较高等级层的数据迁移到较低等级层以获得较高等级层的区时,该数据到较低等级层的区安全迁移的紧迫性高于某些数据到较高等级层的迁移的紧迫性。因此,管理服务器300的放置目的地确定单元322利用迁移路径要求、访问频率要求以及用于确定迁移是否是区安全迁移的要求来确定优先级。
图8是示出优先级设置表的数据配置的示例的图。在第二实施方式中,放置目的地确定单元322基于优先级设置表313确定优先级。图8示出了其中层池具有3层的示例。
在优先级设置表313中,针对迁移详情设置迁移类型C1至C7,并且不同的优先级与迁移类型C1至C7相关联。基于迁移路径要求确定迁移类型C3和C5至C7。按照从最高优先级的顺序为指示从中等级层到高等级层的迁移的迁移类型C3、指示从低等级层到中等级层的迁移的迁移类型C5、指示从高等级层到中等级层的迁移的迁移类型C6以及指示从中等级层到低等级层的迁移的迁移类型C7设置优先级。
基于访问频率要求,为迁移类型C3和C5至C7中的每一个设置多个优先级。例如,针对预定数量的访问频率范围,为迁移类型C3和C5至C7中的每一个设置不同的优先级。随着访问频率越高,设置的优先级越高。
迁移类型C1、C2和C4指示区安全迁移。迁移类型C1指示为了获得高等级层的区而从中等级层到低等级层的迁移。当某些数据要从高等级层迁移到中等级层以获得高等级层的可用区并且中等级层中不存在可用区时,将中等级层的数据迁移到低等级层以获得中等级层中的可用区。在这种情况下,迁移类型C1指示数据到低等级层的迁移。因此,为由迁移类型C1指示的数据迁移设置最高优先级。迁移类型C2指示为了获得高等级层的区而从高等级层到中等级层的迁移。为迁移类型C2设置迁移类型C1之后的第二高优先级。
迁移类型C4指示为了获得中等级层的区而从中等级层到低等级层的迁移。对于与迁移类型C5相对应的以便将数据从低等级层迁移到中等级层的数据迁移执行由迁移类型C4指示的数据迁移。为迁移类型C4设置高于为迁移类型C5设置的优先级的优先级。
放置目的地确定单元322参考优先级设置表313,并且基于用于确定迁移是否是区安全迁移的要求适当地设置优先级。
当层池具有2层时,对为了获得高等级层的区的迁移设置高于对从低等级层到高等级层的迁移设置的优先级的优先级(指示最高优先级的值)。
CM中的数据迁移控制(1)
如图4所示,可以在某个层的子池中设置多个RAID组。RAID组分别由不同的存储设备实现。因此,通过并行地从不同的RAID组迁移数据或向不同的RAID组迁移数据,可以提高数据迁移的处理效率并且可以减少用于迁移数据的整个时间段。
为了将数据迁移到某个子池,CM 110的迁移处理单元143从设置在子池中的RAID组中选择除正在对其执行数据迁移的RAID组之外的RAID组作为数据迁移目的地。因此,可以并行地执行数据迁移,并且结果,可以减少用于迁移数据的整个时间段。
CM中的数据迁移控制(2)
当迁移处理单元143重新尝试将数据迁移到某个子池并且正在对设置在该某个子池中的所有RAID组执行数据迁移时,迁移处理单元143等待正在RAID组中的任何RAID组中执行的数据迁移的完成。如果迁移处理单元143等待对其他RAID组执行数据迁移直到对RAID组执行的数据迁移的完成,则用于等待执行数据迁移的时间段是无用的并且处理效率低。
因此,在上述情况下,迁移处理单元143暂时等待执行重新尝试的数据迁移,并且执行已经为其设置了下一个最高优先级的数据迁移。因此,迁移处理单元143可以有效地从其数据已经由管理服务器300指示迁移的单元区迁移数据。例如,可以减少由于等待执行数据迁移而导致没有重新执行数据迁移的无用时间段存在的概率,并且结果,可以减少用于迁移数据的整个时间段。
CM中的数据迁移控制(3)
当某个单元区的访问频率增加时,数据被迁移到较高等级层。然而,管理服务器300在确定之前立即基于访问频率确定数据迁移层。因此,访问频率可以在数据实际迁移到较高等级层之前改变。
在迁移处理单元143尝试将数据迁移到较高等级层,其当前访问频率非常高并且其迁移的紧迫性被确定为高的单元区存在于已经为其设置了与为所述某个单元区设置的优先级相同的优先级的其他单元区中的情况下,迁移处理单元143在优先级基础上对该单元区的数据进行迁移。
例如,当其数据要迁移的某个单元区的当前访问频率低于预定值时,迁移处理单元143确认已经为其设置了与为该某个单元区设置的优先级相同的优先级的另一单元区的访问频率。当其他单元区中的另一单元区的访问频率等于或高于预定值时,迁移处理单元143在对该某个单元区的数据进行迁移之前迁移另一单元区的数据。另外,在处理的另一示例中,在其访问频率高于其中数据当前被尝试迁移的单元区的访问频率的某个单元区存在于已经为其设置了相同优先级的其他单元区中的情况下,迁移处理单元143可以在对其中数据当前被尝试迁移的单元区的数据进行迁移之前迁移该某个单元区的数据。
在该处理中,可以基于访问频率的改变将数据要迁移的顺序设置为适当的。例如,可以将高访问速率的存储区分配给其访问频率为高的单元区,并且结果,可以提高对来自主机服务器200的访问请求的响应速度。
CM中的数据迁移控制(4)
如上所述,在第二实施方式中,单元区的大小是可变的。CM 110测量单元区的访问频率作为固定的单位时间段内的访问的次数。然而,以这种方法,在单位时间段内的访问的次数相同的情况下,随着单元区的大小变小,单位容量的访问频率(每秒输入输出操作(IOPS))变高。因此,在单位时间段内的访问的次数相同的情况下,随着单元区的大小变小,单元区的数据迁移的紧迫性变高。
迁移处理单元143在优先级基础上对已经为其设置了相同优先级的多个单元区中的小单元区的数据进行迁移。因此,数据要迁移的顺序可以是适当的,使得访问频率适当地反映在数据要迁移的顺序中。例如,可以将高访问速率的存储区提前分配给访问频率为高的单元区,并且结果,可以提高对来自主机服务器200的访问请求的响应速度。
接下来,利用顺序图和流程图来描述要由管理服务器300和CM 110执行的处理。
图9是示出关于收集访问频率的处理的进程的顺序图。在存储系统中,重复执行图9中所示的处理。
在紧接图9中所示的处理的执行之前的初始状态中,在CM 110的单元区管理表132的记录中指示的访问频率的值被初始化为0,并且值不被登记在管理服务器300的单元区管理表311的记录中的访问频率项中。
从初始状态,管理服务器300的访问频率收集单元321等待直到经过固定的时间段或者访问频率收集单元321等待直到单位时间段结束(在步骤S11中)。CM 110的访问控制单元141根据来自主机服务器200的请求执行访问控制直到经过固定的时间段。每当请求访问单元区时,在单元区管理表132中递增与单元区相对应的访问频率的值。
当经过固定的时间段时,访问频率收集单元321请求CM 110发送访问频率(在步骤S12中)。CM 110的访问频率发送单元142从单元区管理表132的记录中获取访问频率,并且生成列出单元区的访问频率的访问频率信息(在步骤S13中)。访问频率发送单元142将生成的访问频率信息发送到管理服务器300(在步骤S14中)。另外,访问频率发送单元142将单元区管理表132的记录中指示的访问频率的值重置为0(在步骤S15中)。
管理服务器300的访问频率收集单元321接收访问频率信息,并且使包括在访问频率信息中的访问频率存储在单元区管理表311中(在步骤S16中)。在这种情况下,访问频率收集单元321将包括在访问频率信息中的某个单元区的访问频率与登记在单元区管理表311中并且与该单元区相对应的访问频率进行比较。当前值大于后值时,访问频率收集单元321将后值更新为前值。因此,在单元区管理表311的访问频率项中,登记在用于收集访问频率的整个时间段的单位时间段内的访问频率中的最大值。
访问频率收集单元321确定步骤S12和S16的处理是否已经执行了预定次数(在步骤S17中)。当步骤S12和S16的处理还没有执行预定次数时,访问频率收集单元321等待直到经过固定的时间段(在步骤S11中)。当经过固定的时间段时,处理进行到步骤S12的处理。当步骤S12和S16的处理已经执行了预定次数时,或者当用于收集访问频率的时间段结束时,访问频率收集单元321开始确定单元区的数据的放置目的地的处理(在步骤S18中)。
图10是确定数据的放置目的地的处理的流程图的示例。
在步骤S21中,管理服务器300的放置目的地确定单元322确定单元区的数据的放置目的地层。例如,放置目的地确定单元322对作为数据的放置目的地层的层池中的每一个层池的单元区进行分类,并且对分类的单元区的组中的每一个执行以下处理。
放置目的地确定单元322从单元区管理表311获取单元区的访问频率,并且基于获取的访问频率确定单元区的数据的放置目的地层。例如,当某个层池具有两个层时,设置阈值TH。然后,确定放置目的地层,使得其访问频率低于阈值TH的单元区的数据被放置在低等级层中,而其访问频率等于或高于阈值TH的单元区的数据被放置在高等级层中。当某个层池具有三个层时,设置两个阈值TH1和TH2(TH1<TH2)。然后,确定放置目的地层,使得其访问频率低于阈值TH1的单元区的数据被放置在低等级层中,其访问频率等于或高于阈值TH1且低于阈值TH2的单元区的数据被放置在中等级层,而其访问频率等于或高于阈值TH2的单元区的数据被放置在高等级层中。
在上述利用阈值的确定方法中,已经为其确定了某个层作为放置目的地层的单元区的数据的总大小可能超过该某个层的大小。在这种情况下,放置目的地确定单元322从已经为其确定了某个层作为放置目的地层的单元区中按照访问频率的降序选择单元区,使得总数据大小等于或小于该某个层的大小。然后,放置目的地确定单元322将选择的单元区的放置目的地层设置为该某个层。另外,放置目的地确定单元322将剩余单元区的放置目的地层改变为其级比该某个层低一级的层。当某个层池具有三个层或更多个层时,放置目的地确定单元322按照从最高等级层的顺序对层池执行上述处理。
在步骤S22中,放置目的地确定单元322将其数据要在层之间迁移的单元区确定为迁移目标。例如,放置目的地确定单元322将当前为其设置的层与在步骤S21中确定的放置目的地层不同的单元区确定为迁移目标。另外,放置目的地确定单元322将针对被确定为迁移目标的单元区而在步骤S21中确定的放置目的地层确定为迁移目的地层。
另外,放置目的地确定单元322从被确定为迁移目标的单元区中提取其数据要迁移到较低等级层的单元区。然后,放置目的地确定单元322从提取的单元区识别其数据要迁移以获得较高等级层的区的单元区。在这种情况下,放置目的地确定单元322将存储要迁移到等级比在步骤S21中确定的放置目的地层的等级低的目的地层的数据的单元区识别为单元区。例如,单元区被例如如下识别。
当某个层池具有两个层时,其数据要从高等级层迁移到低等级层并且其访问频率等于或高于阈值TH的单元区被识别为要对其执行区安全迁移的单元区。当某个层池具有三个层时,其数据要从高等级层迁移到中等级层并且其访问频率等于或高于阈值TH2的单元区被识别为要对其执行区安全迁移的单元区。另外,其数据要从中等级层迁移到低等级层并且其访问频率等于或高于阈值TH1的单元区被识别为要对其执行区安全迁移的单元区。
在步骤S23中,放置目的地确定单元322参考优先级设置表313,并且基于指示要从其迁移数据的层和要向其迁移数据的层的迁移路径要求,暂时地确定关于被确定为迁移目标的单元区的优先级。例如,当某个层池具有三个层时,放置目的地确定单元322基于迁移路径要求将单元区中的每一个分类为迁移类型C3和C5至C7中的任意个(参照图8)。放置目的地确定单元322暂时地将优先级设置表313中为分类的迁移类型设置的优先级中的任意个(例如,指示最高优先级的值)确定为关于单元区中的每一个单元区的优先级。
在步骤S24中,放置目的地确定单元322选择被确定为迁移目标的单元区中的一个。
在步骤S25中,放置目的地确定单元322确定是否要将选择的单元区的数据迁移到较低等级层。当数据要被迁移到较低等级层时,放置目的地确定单元322执行步骤S26的处理。当数据不被迁移到较低等级层时,放置目的地确定单元322执行步骤S28的处理。
在步骤S26中,放置目的地确定单元322确定是否要迁移选择的单元区的数据以获得较高等级层的区。当迁移选择的单元区的数据以获得较高等级层的区时,放置目的地确定单元322执行步骤S27的处理。当不迁移选择的单元区的数据以获得较高等级层的区时,放置目的地确定单元322执行步骤S28的处理。
在步骤S27中,放置目的地确定单元322基于优先级设置表313将与选择的单元区相对应的优先级的值改变为较高的优先级。例如,当某个层池具有三个层时,为其数据要从中等级层迁移到低等级层以获得高等级层的区的单元区设置的优先级改变为“1”,为其数据要从高等级层迁移到中等级层的单元区设置的优先级改变为“2”,并且为其数据要从中等级层迁移到低等级层以获得中等级层的区的单元区设置的优先级改变为“7”。
在步骤S28中,放置目的地确定单元322参考优先级设置表313,并且基于单元区的访问频率最终确定优先级。例如,放置目的地确定单元322通过将为在步骤S23中单元区已经被分类为的迁移类型设置的访问频率范围与单元区的访问频率进行比较来确定关于单元区的优先级。
在步骤S27和S28的处理中的任意处理中,正式确定关于在步骤S24中被选择作为迁移目标的单元区的优先级。
在步骤S29中,放置目的地确定单元322确定是否已经选择了所有单元区作为迁移目标。当存在未选择的单元区时,放置目的地确定单元322使处理进行到步骤S24。当已经选择了所有单元区时,放置目的地确定单元322执行步骤S30的处理。
在步骤S30中,放置目的地确定单元322生成迁移指示信息。对于作为迁移目标的单元区中的每一个,迁移指示信息包括识别单元区的信息、识别数据迁移目的地或子池的层以及确定的优先级的信息。放置目的地确定单元322将生成的迁移指示信息发送到CM110。
在步骤S31中,每当CM 110对作为迁移目标的单元区的数据进行迁移时,放置目的地确定单元322接收迁移结果信息。迁移结果信息包括识别单元区的信息以及识别数据迁移目的地或子池的层的信息。放置目的地确定单元322对包括在单元区管理表311中的并且与其数据已经迁移的单元区相对应的记录进行更新。
图11和图12是示出关于迁移数据的处理的进程的流程图的示例。当CM 110的迁移处理单元143接收到在图10中所示的步骤S30中发送的迁移指示信息时,开始图11中所示的处理。
在步骤S41中,迁移处理单元143通过按照从最高优先级到最低优先级的顺序对在接收的迁移指示信息中指示的并且用作迁移目标的单元区进行排序来生成迁移目标列表。
在步骤S42中,迁移处理单元143从迁移目标列表选择顶单元区作为迁移候选。
在步骤S43中,迁移处理单元143确定是否要将选择的单元区的数据迁移到较高等级层。当数据要迁移到较高等级层时,迁移处理单元143执行步骤S44的处理。当数据不迁移到较高等级层时,迁移处理单元143执行步骤S47的处理。
在步骤S44中,迁移处理单元143参考单元区管理表132,并且获取当前登记在在单元区管理表132中包括的并且与选择的单元区相对应的记录中的访问频率。迁移处理单元143确定获取的访问频率是否等于或高于预定值TH3。当获取的访问频率等于或高于预定值TH3时,迁移处理单元143执行步骤S47的处理。当获取的访问频率低于预定值TH3时,迁移处理单元143执行步骤S45的处理。
在步骤S45中,迁移处理单元143从迁移目标列表识别已经为其设置了与为被选择作为迁移候选的单元区设置的优先级相同的优先级的一个或更多个其他单元区。迁移处理单元143参考单元区管理表132,并且获取当前登记在在单元区管理表132中包括的并且与识别的一个或更多个其他单元区相对应的记录中的访问频率。迁移处理单元143确定在识别的一个或更多个其他单元区中是否存在其访问频率等于或高于预定值TH3的单元区。当存在其访问频率等于或高于预定值TH3的单元区时,迁移处理单元143执行步骤S46的处理。当不存在其访问频率等于或高于预定值TH3的单元区时,迁移处理单元143执行步骤S47的处理。
在步骤S46中,迁移处理单元143将迁移候选改变为在步骤S45中其访问频率已经被确定为等于或高于预定值TH3的其他单元区。当存在多个其他单元区时,选择其他单元区中访问频率为最高的单元区。在改变之前的单元区保留在迁移目标列表中。
在步骤S47中,迁移处理单元143从迁移目标列表识别已经为其设置了与为被选择作为迁移候选的单元区设置的优先级相同的优先级的一个或更多个其他单元区。迁移处理单元143确定在识别的一个或更多个其他单元区中是否存在其大小比被选择作为迁移候选的单元区小的单元区。当存在其大小较小的另一单元区时,迁移处理单元143执行步骤S48的处理。当不存在其大小较小的另一单元区时,迁移处理单元143执行图12中所示的步骤S51的处理。
在步骤S48中,迁移处理单元143将迁移候选改变为在步骤S47中其大小已经被确定为较小的其他单元区。当在识别的其他单元区中存在其大小比被选择作为迁移候选的单元区小的多个其他单元区时,例如选择最小的单元区。在改变之前的单元区保留在迁移目标列表中。之后,执行图12中所示的步骤S51的处理。
下面参照图12继续描述该处理。
在步骤S51中,迁移处理单元143确定被选择作为迁移候选的单元区的数据的迁移目的地的子池。迁移处理单元143参考池管理表133并且识别设置在确定的子池中的RAID组。迁移处理单元143从识别的RAID组提取在层之间没有对其执行一个或更多个其他单元区的数据的迁移的一个或更多个RAID组。
在步骤S52中,当在步骤S51中提取到没有对其执行数据的迁移的一个或更多个RAID组时,迁移处理单元143使处理进行到步骤S53。在步骤S52中,当在步骤S51中没有提取到一个或更多个RAID组时,迁移处理单元143使处理进行到步骤S56。
在步骤S53中,迁移处理单元143从提取的一个或更多个RAID组选择具有以下容量的RAID组,该容量已经用于将存储区分配给单元区并且是用于分配存储区且包括在提取的一个或更多个RAID组中的容量中最小的,并且迁移处理单元143将选择的RAID组确定为数据迁移目的地。
在步骤S54中,迁移处理单元143将被选择作为迁移候选的单元区的数据迁移到在步骤S53中被确定为迁移目的地的RAID组。
在步骤S55中,迁移处理单元143将指示在步骤S54中执行的数据迁移的详情的迁移结果信息发送到管理服务器300。另外,迁移处理单元143从迁移目标列表删除其数据的迁移已经完成的单元区。
在步骤S56中,迁移处理单元143将被选择作为迁移目标的单元区迁移到迁移目标列表的底。因此,单元区被设置为迁移等待状态。
在步骤S57中,迁移处理单元143确定其数据未迁移的单元区是否保留在迁移目标列表中。当该单元区保留时,迁移处理单元143使处理进行到步骤S42,并且选择下一个单元区作为迁移目标。另一方面,当该单元区没有保留时,迁移处理单元143终止该处理。
在图11和图12中所示的处理中,当在作为数据迁移目的地的子池中设置的RAID组中存在未向其迁移数据的RAID组时,在步骤S54中将数据迁移到该RAID组。因此,实现上述数据迁移控制(1)。
当正在对作为数据迁移目的地的子池中设置的所有RAID组执行数据迁移时,在步骤S56中将作为迁移目标的单元区的数据的迁移设置成稍后执行。之后,执行步骤S42的处理以选择下一个单元区作为迁移目标。因此,实现上述数据迁移控制(2)。
当在已经为其设置了相同优先级的其他单元区中存在其访问频率非常高的某个单元区时,在步骤S46中将迁移目标改变为该某个单元区,并且以优先级为基础迁移该某个单元区的数据。因此,实现上述数据迁移控制(3)。
当在已经为其设置了相同优先级的其他单元区中存在其大小比作为迁移目标的单元区小的某个单元区时,在步骤S48中将迁移目标改变为该某个单元区,并且以优先级为基础迁移该某个单元区的数据。因此,实现上述数据迁移控制(4)。
实施方式中描述的设备(数据处理设备1、CM 110、主机服务器200和管理服务器300)的处理功能可以由计算机实现。在这种情况下,通过使计算机执行其中描述了设备功能的处理的详情的程序来在计算机中实现处理功能。其中描述处理的详情的程序可以记录在计算机可读记录介质中。计算机可读记录介质的示例是磁存储设备、光盘、磁光记录介质和半导体存储器。磁存储设备的示例是硬盘设备(HDD)、软盘(FD)和磁带。光盘的示例是光盘(CD)、数字多功能光盘(DVD)和蓝光光盘(BD)。磁光记录介质的示例是磁光(MO)盘。
当分发程序时,存储程序的便携式记录介质被出售(marketed)。便携式存储介质是DVD、CD等。另外,程序可以存储在服务器计算机的存储设备中并且经由网络从服务器计算机传输到另一计算机。
被配置成执行程序的计算机在计算机的存储设备中存储记录在便携式记录介质中或从服务器计算机传输的程序。计算机从计算机的存储设备读取程序并且根据程序执行处理。计算机可以直接从便携式记录介质读取程序并且根据程序执行处理。另外,每当程序从经由网络连接的服务器计算机传输到计算机时,计算机可以根据接收的程序执行处理。
Claims (7)
1.一种数据处理设备,包括:
存储器,被配置成存储指示多个物理存储区的配置的配置信息,所述多个物理存储区分别由具有不同的访问性能等级的存储设备形成;以及
处理器,耦接至所述存储器并且被配置成:
在所述多个物理存储区中的一个被分配给在逻辑存储区中包括的多个单元区中的每一个的状态下,基于所述配置信息,从所述多个单元区中识别已经从物理存储区分配的多个第一单元区,并且执行迁移控制处理,其中所述物理存储区到所述第一单元区的分配要被改变,所述迁移控制处理包括:
从所述多个第一单元区中顺序地选择第二单元区作为用于数据迁移的候选,以及
指示所述第二单元区在所述多个物理存储区之间的数据迁移,其中所述迁移控制处理包括:
当从所述多个第一单元区中选择所述第二单元区作为用于数据迁移的候选时,确定是否正在对多个分区中的每一个执行其数据已经被指示迁移的所述多个单元区中的任一个的数据迁移,所述多个分区是通过划分所述第二单元区的数据要迁移到的物理存储区而获得的,以及
基于确定的结果,控制指示所述第二单元区的数据迁移的指示处理,
其中:
为所述多个第一单元区中的每一个设置数据迁移的执行优先级;
按照从较高的执行优先级到较低的执行优先级的顺序,从所述多个第一单元区中选择所述第二单元区;以及
所述迁移控制处理还包括:
当所述第二单元区的最新访问频率低于预定值时,从所述多个第一单元区中识别第三单元区,所述第三单元区的执行优先级与为所述第二单元区设置的执行优先级相同并且所述第三单元区的数据没有被指示迁移,以及
当所述第三单元区包括其最新访问频率等于或高于预定值的第四单元区时,在所述第二单元区的数据迁移之前指示所述第四单元区的数据迁移。
2.根据权利要求1所述的数据处理设备,其中
在控制所述指示处理中,当所述多个分区包括某个分区时,其中没有对所述某个分区正在执行其数据已经被指示迁移的所述多个单元区中的任一个的数据迁移,指示所述第二单元区的数据迁移到所述某个分区。
3.根据权利要求1所述的数据处理设备,其中
在控制所述指示处理中,当正在对所述多个分区中的每一个执行其数据已经被指示迁移的所述多个单元区中的一个的数据迁移时,所述第二单元区的数据迁移被设置为指示等待状态,并且从所述多个第一单元区中选择第三单元区作为用于数据迁移的候选。
4.根据权利要求1所述的数据处理设备,其中:
基于在从所述多个单元区中识别所述多个单元区之前的时间段中测量的相应的访问频率,确定要从其迁移所述多个第一单元区的数据的源物理存储区和要向其迁移所述多个第一单元区的数据的目的地物理存储区;以及
在从所述多个单元区中识别所述第一单元区之后的时间段中测量所述第二单元区和所述第三单元区的最新访问频率。
5.根据权利要求1所述的数据处理设备,其中:
提供多个存储集,所述多个存储集均包括多个物理存储区;
提供具有不同单元区大小的多个逻辑存储区,使得每个逻辑存储区包括多个单元区,所述多个物理存储区中的一个被分配给所述多个单元区;
提供多个迁移控制处理,并且通过利用所述多个存储集和所述多个逻辑存储区中的不同的一个来执行每个迁移控制处理;
从均包括所述多个单元区的所述多个逻辑存储区中识别所述多个第一单元区;
为所述多个第一单元区中的每一个设置数据迁移的执行优先级,并且按照从最高执行优先级的顺序来顺序地从所述多个第一单元区中选择所述第二单元区作为用于数据迁移的候选;以及
所述迁移控制处理包括:
在所述多个第一单元区包括第三单元区时,其中所述第三单元区的执行优先级与为所述第二单元区设置的执行优先级相同并且所述第三单元区的单元区大小小于所述第二单元区的单元区大小,在所述第二单元区的数据迁移之前指示所述第三单元区的数据迁移。
6.一种数据处理系统,包括:
多个存储器,其中,利用在所述多个存储器中的具有不同的访问性能等级的存储器来形成多个物理存储区;以及
包括处理器的数据处理设备,所述处理器被配置成:
在所述多个物理存储区中的一个被分配给在逻辑存储区中包括的多个单元区中的每一个的状态下,从所述多个单元区中识别已经从物理存储区分配的多个第一单元区,并且执行迁移控制处理,其中所述物理存储区到所述第一单元区的分配要被改变,所述迁移控制处理包括:
从所述多个第一单元区中顺序地选择第二单元区作为用于数据迁移的候选,以及
指示所述第二单元区在所述多个物理存储区之间的数据迁移,其中所述迁移控制处理包括:
当从所述多个第一单元区中选择所述第二单元区作为用于数据迁移的候选时,确定是否正在对多个分区中的每一个执行其数据已经被指示迁移的所述多个单元区中的任一个的数据迁移,所述多个分区是通过划分其中所述第二单元区的数据要迁移到的物理存储区而获得的,以及
基于确定的结果,控制指示所述第二单元区的数据迁移的指示处理,
其中:
为所述多个第一单元区中的每一个设置数据迁移的执行优先级;
按照从较高的执行优先级到较低的执行优先级的顺序,从所述多个第一单元区中选择所述第二单元区;以及
所述迁移控制处理还包括:
当所述第二单元区的最新访问频率低于预定值时,从所述多个第一单元区中识别第三单元区,所述第三单元区的执行优先级与为所述第二单元区设置的执行优先级相同并且所述第三单元区的数据没有被指示迁移,以及
当所述第三单元区包括其最新访问频率等于或高于预定值的第四单元区时,在所述第二单元区的数据迁移之前指示所述第四单元区的数据迁移。
7.一种非暂态计算机可读记录介质,所述非暂态计算机可读记录介质中存储有用于使计算机执行以下处理的程序,所述处理包括:
提供多个物理存储区,所述多个物理存储区分别由具有不同的访问性能等级的存储设备形成;
在所述多个物理存储区中的一个被分配给在逻辑存储区中包括的多个单元区中的每一个的状态下,从所述多个单元区中识别已经从物理存储区分配的多个第一单元区,其中所述物理存储区到所述第一单元区的分配要被改变;以及
执行迁移控制处理,所述迁移控制处理包括:
从所述多个第一单元区中顺序地选择第二单元区作为用于数据迁移的候选,以及
指示所述第二单元区在所述多个物理存储区之间的数据迁移,其中所述迁移控制处理包括:
当从所述多个第一单元区中选择所述第二单元区作为用于数据迁移的候选时,确定是否正在对多个分区中的每一个执行其数据已经被指示迁移的所述多个单元区中的任一个的数据迁移,所述多个分区是通过划分其中所述第二单元区的数据要迁移到的物理存储区而获得的,以及
基于确定的结果,控制指示所述第二单元区的数据迁移的指示处理,
其中:
为所述多个第一单元区中的每一个设置数据迁移的执行优先级;
按照从较高的执行优先级到较低的执行优先级的顺序,从所述多个第一单元区中选择所述第二单元区;以及
所述迁移控制处理还包括:
当所述第二单元区的最新访问频率低于预定值时,从所述多个第一单元区中识别第三单元区,所述第三单元区的执行优先级与为所述第二单元区设置的执行优先级相同并且所述第三单元区的数据没有被指示迁移,以及
当所述第三单元区包括其最新访问频率等于或高于预定值的第四单元区时,在所述第二单元区的数据迁移之前指示所述第四单元区的数据迁移。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-005583 | 2018-01-17 | ||
JP2018005583A JP7068573B2 (ja) | 2018-01-17 | 2018-01-17 | データ処理装置、データ処理システムおよびデータ処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058808A CN110058808A (zh) | 2019-07-26 |
CN110058808B true CN110058808B (zh) | 2022-08-02 |
Family
ID=67212893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910024030.9A Active CN110058808B (zh) | 2018-01-17 | 2019-01-10 | 减少在存储分级层之间重排数据的数据迁移时间的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10606503B2 (zh) |
JP (1) | JP7068573B2 (zh) |
CN (1) | CN110058808B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858124B (zh) * | 2018-08-24 | 2021-06-01 | 华为技术有限公司 | 数据迁移方法及装置 |
US11010091B2 (en) * | 2019-08-29 | 2021-05-18 | International Business Machines Corporation | Multi-tier storage |
US11403134B2 (en) * | 2020-01-31 | 2022-08-02 | Hewlett Packard Enterprise Development Lp | Prioritizing migration of data associated with a stateful application based on data access patterns |
US11281404B2 (en) * | 2020-03-26 | 2022-03-22 | EMC IP Holding Company LLC | Storage volume migration scheduling based on storage volume priorities and specified constraints |
JP7036866B2 (ja) * | 2020-06-19 | 2022-03-15 | 株式会社日立製作所 | 情報処理装置及び方法 |
CN111984322B (zh) * | 2020-09-07 | 2023-03-24 | 北京航天数据股份有限公司 | 一种控制指令传输方法及装置 |
US11893254B2 (en) * | 2021-06-04 | 2024-02-06 | International Business Machines Corporation | Dynamic permission management of storage blocks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052938A (zh) * | 2010-10-14 | 2013-04-17 | 株式会社日立制作所 | 数据迁移系统和数据迁移方法 |
CN103488434A (zh) * | 2013-09-23 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种加强磁盘阵列可靠性的方法 |
CN103558991A (zh) * | 2011-12-31 | 2014-02-05 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN104583929A (zh) * | 2012-10-12 | 2015-04-29 | 株式会社日立制作所 | 存储装置和数据管理方法 |
CN105144142A (zh) * | 2013-04-25 | 2015-12-09 | 亚马逊科技公司 | 使用对象多个维度的信息存储对象 |
CN106775467A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种基于自动分层技术热度统计数据的存储系统优化方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4183443B2 (ja) | 2002-05-27 | 2008-11-19 | 株式会社日立製作所 | データ再配置方法及び装置 |
JP4842909B2 (ja) | 2004-08-30 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びデータ再配置制御装置 |
US7096338B2 (en) | 2004-08-30 | 2006-08-22 | Hitachi, Ltd. | Storage system and data relocation control device |
JP4235220B2 (ja) | 2006-10-25 | 2009-03-11 | 株式会社日立製作所 | 計算機システムおよびデータ移行方法 |
JP2008112291A (ja) | 2006-10-30 | 2008-05-15 | Hitachi Ltd | 記憶制御装置及び記憶制御装置のデータ移動方法 |
JP4990322B2 (ja) | 2009-05-13 | 2012-08-01 | 株式会社日立製作所 | データ移動管理装置及び情報処理システム |
US8838927B2 (en) | 2011-05-27 | 2014-09-16 | International Business Machines Corporation | Systems, methods, and physical computer storage media to optimize data placement in multi-tiered storage systems |
US20150081964A1 (en) | 2012-05-01 | 2015-03-19 | Hitachi, Ltd. | Management apparatus and management method of computing system |
JP6070371B2 (ja) | 2013-03-29 | 2017-02-01 | 富士通株式会社 | データ配置プログラム、及び情報処理装置 |
US10831465B2 (en) * | 2016-02-12 | 2020-11-10 | Nutanix, Inc. | Virtualized file server distribution across clusters |
-
2018
- 2018-01-17 JP JP2018005583A patent/JP7068573B2/ja active Active
-
2019
- 2019-01-02 US US16/237,977 patent/US10606503B2/en active Active
- 2019-01-10 CN CN201910024030.9A patent/CN110058808B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052938A (zh) * | 2010-10-14 | 2013-04-17 | 株式会社日立制作所 | 数据迁移系统和数据迁移方法 |
CN103558991A (zh) * | 2011-12-31 | 2014-02-05 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN104583929A (zh) * | 2012-10-12 | 2015-04-29 | 株式会社日立制作所 | 存储装置和数据管理方法 |
CN105144142A (zh) * | 2013-04-25 | 2015-12-09 | 亚马逊科技公司 | 使用对象多个维度的信息存储对象 |
CN103488434A (zh) * | 2013-09-23 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种加强磁盘阵列可靠性的方法 |
CN106775467A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种基于自动分层技术热度统计数据的存储系统优化方法 |
Non-Patent Citations (2)
Title |
---|
《Design of data migration time in tiered storage》;Xu Bao-yu等;《Computer Engineering and Design》;20130216;第725-729页 * |
《云计算中虚拟机磁盘迁移时机优化策略》;陈睦等;《软件与算法》;20140401;第525-530页 * |
Also Published As
Publication number | Publication date |
---|---|
US20190220214A1 (en) | 2019-07-18 |
JP7068573B2 (ja) | 2022-05-17 |
JP2019125175A (ja) | 2019-07-25 |
CN110058808A (zh) | 2019-07-26 |
US10606503B2 (en) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058808B (zh) | 减少在存储分级层之间重排数据的数据迁移时间的装置 | |
US10013170B1 (en) | Intelligent data compression | |
US9632707B2 (en) | Enhancing tiering storage performance | |
US6779078B2 (en) | Data storage system and method of hierarchical control thereof | |
US8380947B2 (en) | Storage application performance matching | |
US9323459B1 (en) | Techniques for dynamic data storage configuration in accordance with an allocation policy | |
US8694727B2 (en) | First storage control apparatus and storage system management method | |
JP6510635B2 (ja) | ストレージシステム及びデータ制御方法 | |
US9563360B2 (en) | Management of extent migration on tiered storage | |
US11507326B2 (en) | Multistreaming in heterogeneous environments | |
US10521124B1 (en) | Application-specific workload-based I/O performance management | |
JP2015517147A (ja) | 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品 | |
US8285935B2 (en) | Cache control apparatus and method | |
US8904119B2 (en) | Method and structures for performing a migration of a logical volume with a serial attached SCSI expander | |
US10303369B2 (en) | Storage in tiered environment with cache collaboration | |
US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
US10691357B2 (en) | Consideration of configuration-based input/output predictions in multi-tiered data storage system management | |
US20180341423A1 (en) | Storage control device and information processing system | |
US11429431B2 (en) | Information processing system and management device | |
US9317224B1 (en) | Quantifying utilization of a data storage system by a virtual storage unit | |
US10481805B1 (en) | Preventing I/O request timeouts for cloud-based storage systems | |
KR20180035026A (ko) | 오케스트레이션 기반 최적 스토리지 할당을 위한 예측형 후보군 선정 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |