CN102498466B - 一种迁移数据存储系统的数据的方法和控制器 - Google Patents

一种迁移数据存储系统的数据的方法和控制器 Download PDF

Info

Publication number
CN102498466B
CN102498466B CN201080040740.8A CN201080040740A CN102498466B CN 102498466 B CN102498466 B CN 102498466B CN 201080040740 A CN201080040740 A CN 201080040740A CN 102498466 B CN102498466 B CN 102498466B
Authority
CN
China
Prior art keywords
data
interval
group
activity
string
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.)
Expired - Fee Related
Application number
CN201080040740.8A
Other languages
English (en)
Other versions
CN102498466A (zh
Inventor
B·迈克努特
J·S·海德二世
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102498466A publication Critical patent/CN102498466A/zh
Application granted granted Critical
Publication of CN102498466B publication Critical patent/CN102498466B/zh
Expired - Fee Related 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
    • 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/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)

Abstract

各种方法、数据存储控制器、数据存储系统和计算机程序产品目的在于在最初把数据放入具有较高速度的数据存储器中和放入其它数据存储器中之后,迁移数据。把数据迁移到较高速度数据存储器的方法的步骤是:(1)识别至少一组数据,所述至少一组数据使得多个时间间隔中的每一个时间间隔中的至少一个指示的I/O活动出现在一串多个时间间隔上,其中,所述I/O活动相对于数据将从其中迁移的其它数据存储器。选择所述多个间隔中的每个间隔的时间,使得I/O活动的突发可能被包含在一个间隔中。(2)把识别的一组数据归类到较高速度数据存储器并迁移。

Description

一种迁移数据存储系统的数据的方法和控制器
技术领域
本发明涉及数据存储,更具体地说,涉及数据存储实体之间的数据迁移。 
背景技术
数据存储实体可以具有各种性能能力和成本点。例如,高速缓冲存储器可以快速访问数据和保存数据,但成本相当高。磁盘驱动器具有较慢的访问时间(归因于寻道时间),但相当廉价。闪速存储器是一种非易失性顺序半导体存储器,因而不能支持DMA(直接存储器存取)数据传送。从而,本领域的技术人员已知,闪速存储器可被布置成SSD(固态驱动器)。SSD闪速存储器具有较低的等待时间,但带宽不高,从而本领域的技术人员已知,从性能的观点来看,介于磁盘驱动器和高速缓冲存储器之间,另外从成本的观点来看,也介于磁盘驱动器和高速缓冲存储器之间。 
数据存储系统的控制器(也称为存储控制器和服务器)一般响应于读取和写入请求,控制对数据存储介质和存储器的访问。存储控制器可把数据引导到高速缓冲存储器、非易失性存储器、SSD闪速存储器、和数据存储设备,诸如RAID(独立磁盘冗余阵列)、JBOD(简单磁盘捆绑)、和其它冗余水平的磁盘驱动器。 
例如,诸如DS8000的ESS(企业存储服务器)具有计算机实体、高速缓冲存储器、非易失性存储器等的冗余群集,响应于主机以虚拟方式保存数据,跟踪实际数据以便随后检索。数据一般是按控制器指示保存的,以便请求实体可以得到,或者使请求实体可以得到所述数据,如在活动的突发中可能马上再次需要的那种数据被保存在速度较快的数据存储器中,而大部分的数据被保存在速度较慢的数据存 储器中。在一个例子中,速度较慢的数据存储器是磁盘驱动器,而速度较快的数据存储器是SSD闪速存储器。 
数据可按照大小恒定或者可变的各种数据单元排列。在一个例子中,数据以被称为“盘区”的数据单元排列。在再一个例子中,数据以被称为“数据集”的数据单元排列。在另一个例子中,数据以被称为“扇区”的数据单元排列。另一个例子与寻址相关,并被称为“LUN”(逻辑单元)。本领域的技术人员知道其它例子。从而,这里使用的通用术语是“组”或“多组”。 
发明内容
各种方法、数据存储控制器、数据存储系统和计算机程序产品的目的在于:在最初把数据放入各种数据存储实体之后,迁移数据。 
在一个实施例中,一种迁移数据存储系统的数据的方法,所述数据存储系统包括具有较高速度的数据存储器,并且包括其它数据存储器,所述方法包括下述步骤:识别至少一组数据,该至少一组数据使得多个时间间隔中的每个时间间隔中的至少一个指示的I/O活动出现在一串时间间隔上,该一串时间间隔包括多个时间间隔,所述I/O活动相对于数据将从其中迁移的数据存储器,其中,选择所述一串时间间隔包括的多个间隔中的每个间隔的时间,使得I/O活动的突发可能被包含在一个间隔中;和把识别的至少一组数据归类到较高速度数据存储器。 
另一个实施例另外包括下述步骤:为每组数据分别监测I/O活动,和监测指示的I/O活动在间隔中的出现;其中,识别步骤包括:识别多组数据,所述多组数据具有在一串间隔上的所述I/O活动,该一串间隔包括有限的一组间隔。 
在另一个实施例中,识别步骤包括:采用间隔的移动平均值来识别I/O活动。 
在另一个实施例中,加权移动平均值,对于更近的I/O活动,采用更大的权重。 
在另一个实施例中,移动平均值包含指数加权。 
在另一个实施例中,移动平均值包括: 
P=(1-W)*P_last=W*S,其中: 
P=指数加权的移动平均值的当前值 
P_last=P的前一个值; 
W=每个间隔的权重;和 
如果在间隔内发生了I/O活动,则S=1,如果无I/O活动,则S=0。 
在另一个实施例中,间隔的时间长度基本上相等。 
在另一个实施例中,所述时间长度大致为1小时。 
在另一个实施例中,监测的各串间隔包含至少一组连续间隔。 
在另一个实施例中,监测的各串间隔跳过至少一个时间段。 
在另一个实施例中,识别步骤响应于对一组数据的I/O,更新该一组数据的被监测的间隔串。 
在另一个实施例中,为数据存储系统提供一种控制器,所述数据存储系统包括具有较高速度的数据存储器,并且包括其它数据存储器。所述控制器包括配置成操作数据存储系统的至少一个计算机处理器,和配置成保存计算机可读程序的至少一个存储器。当在所述至少一个计算机处理器上执行时,所述数据存储系统被操作,以指示相对于多组数据的I/O活动;识别至少一组数据,所述至少一组数据使得多个时间间隔中的每一个中的至少一个指示的I/O活动出现在一串多个时间间隔上,所述I/O活动相对于数据将从其中迁移的数据存储器,其中,选择所述多个间隔中的每个间隔的时间,使得I/O活动的突发可能被包含在一个间隔中;以及把识别的至少一组数据归类到高速数据存储器。 
在另一个实施例中,数据存储系统包括:配置成保存数据,并且具有较高速度的至少一个数据存储实体;配置成保存数据的至少一个其它数据存储实体;和控制器。所述控制器被配置成指示相对于多组数据的I/O活动;识别至少一组数据,所述至少一组数据使得多个时间间隔中的每一个中的至少一个指示的I/O活动出现在一串多个时间 间隔上,所述I/O活动相对于数据将从其中迁移的数据存储器,其中,选择所述多个间隔中的每个间隔的时间,使得I/O活动的突发可能被包含在一个间隔中;把识别的至少一组数据归类到较高速度数据存储器;以及把归类的至少一组数据迁移到较高速度数据存储器。 
附图说明
下面参考附图,举例说明本发明的实施例,其中: 
图1是实现本发明的例证数据存储系统的方框图; 
图2是图1的数据存储系统的I/O的图示; 
图3是图1的数据存储系统的功能操作的方框图示; 
图4是表示相对于图1的存储系统的数据组的I/O活动的表格;以及 
图5是描述操作图1和2的数据存储系统的例证方法的流程图。 
具体实施方式
在参考附图的以下说明中的优选实施例中,说明了本发明,附图中,相同的附图标记代表相同或相似的元件。虽然利用实现本发明的目的的最佳方式说明了本发明,不过,本领域的技术人员可以理解,鉴于这些教导,可以实现各种变化,而不脱离本发明的精神或范围。 
参见图1,数据存储系统100包含控制器105,控制器105具有群集110和另一个群集120。群集110包括复合体130,复合体130至少包含子系统控件132、本地非易失性数据存储器134、和本地高速缓存数据存储器136。类似地,群集120包括复合体140,复合体140至少包含子系统控件142、本地非易失性数据存储器144、和本地高速缓存数据存储器146。在控制器105的每个群集中,子系统控件可以与复合体的其余部件完全隔开,或者可以部分用本地非易失性数据存储器和/或本地高速缓存数据存储器体现。此外,高速缓存数据存储器和非易失性存储器可以包含存储系统的不同区域。子系统控件132、142包含配置成操作数据存储系统的计算机处理器、和配置成保存信息和 用于操作计算机处理器的计算机可读程序信息的存储器133、143。这里,“计算机处理器”或“控件”可包含响应于程序指令的任何适当逻辑、可编程逻辑、微处理器、和关联存储器或内部存储器,以及所述关联存储器或内部存储器可以包含固定的或者可重写的存储器或数据存储设备。程序信息可从主机或者经由数据存储驱动器或磁盘阵列,或者通过来自软盘或光盘的输入,或者通过从盒式磁带读取,或者通过web用户界面或另外的网络连接,或者通过任何适当的手段,被提供给子系统控件或存储器。从而,程序信息可包含一个或多个程序产品,所述程序产品包含其中有形地含有计算机可用程序代码,以便运行群集110和/或运行群集120,或者类似种类的系统或设备的计算机可用介质。 
非易失性数据存储器134、144可包含具有即使失去电力,也可保护数据的电池备用的存储系统,或者其它适当的非易失性存储器。高速缓存数据存储器136、146可包含任何适当的存储系统,并且可以是易失性的,在失去电力之后,可能丢失数据。 
主机适配器150、154可包含一个光纤通道端口、一个或多个FICON端口、一个或多个ESCON端口、一个或多个SCSI端口、或者其它适当端口。每个主机适配器被配置成与主机系统通信,以及与两个群集110和120通信,使得每个群集能够处理来自任意主机适配器的I/O。 
设备适配器160、164可包含用于与数据存储器170通信的通信链路。该通信链路可包含串行互连,比如RS-232或RS-422,以太网连接,SCSI互连,ESCON互连,FICON互连,局域网(LAN),专用广域网(WAN),公共广域网,存储区域网(SAN),传输控制协议/网际协议(TCP/IP),因特网,和它们的组合。 
数据存储子系统100的例子包含 企业存储服务器、 Model DS 8000、或者其它可比的系统。 
如上所述,数据存储器170包含速度较高的数据存储器180,并且包含其它数据存储器182。其它数据存储器182的一个例子包含磁 盘驱动器,所述磁盘驱动器可以利用RAID(独立磁盘冗余阵列)协议,或者可以包含JBOD(简单磁盘捆绑)。较高速度数据存储器180的一个例子包含布置成SSD(固态驱动器)的闪速存储器。闪速存储器还可被布置成提供诸如RAID配置的冗余。高速数据存储器和其它数据存储器之间的速度差是相对的。 
在一种备选方案中,较高速度数据存储器可包含诸如RAM(随机存取存储器)的高速存储设备,所述其它数据存储器可以是闪速存储器(flash memory)。 
在另一种备选方案中,控制器可包含其中一个群集具有适当冗余的处理系统。 
参见图2,存储系统100响应于主机200,进行I/O 203,以便以虚拟方式保存数据,跟踪实际数据用于后续检索。数据一般是按控制器105的指示保存的,以便请求实体可以得到、或者使请求实体可以得到所述数据。经由传输204,可把数据保存在高速数据存储器180中,并从高速数据存储器180中检索,以及经由传输205,可把数据保存在其它数据存储器182中,并从其它数据存储器182中检索。最初可根据未来访问的某种估计来保存数据,如在活动的突发中可能马上再次需要的那种数据被保存在较高速度数据存储器180中,而大部分的数据被保存在速度较慢的数据存储器182中。可利用例如LRU(最近最少使用)算法,将保存在较高速度数据存储器180中的估计不被访问或者不再被访问的数据迁移到速度较慢的数据存储器182中。数据迁移可以通过控制器105经由传输204和205进行,或者另一方面,可在控制器105的控制下,在高速数据存储器180和其它数据存储器182之间直接进行。 
如上所述,数据可按照大小恒定或者可变的各种数据单元排列。在一个例子中,数据以被称为“盘区”的数据单元排列。在再一个例子中,数据以被称为“数据集”的数据单元排列。在另一个例子中,数据以被称为“扇区”的数据单元排列。另一个例子与寻址相关,被称为“LUN”(逻辑单元)。本领域的技术人员知道其它例子。从而,这里使 用的通用术语是“组”或“多组”。 
参见图1、2、3、4和5,控制器105被配置成控制数据存储系统100中的数据从其它数据存储器182到较高速度数据存储器180的迁移。一般来说,数据在从较高速度数据存储器180到其它数据存储器182的相反方向上迁移,例如以便在较高速度数据存储器中容纳新数据。在本发明中,控制器105提供最可能受益于高速数据存储器180的数据的识别。数据项的大小可以是可变的或者固定的,如上所述,这里,每一个数据项被称为一组数据。在大多数情况下,较小的数据单元,比如盘区(例如1GB)的活动趋向于是瞬变的;因此,即使繁重的活动后面也可能跟着较长的空闲期。另一方面,对该规则来说例外的数据一般占全部I/O的大部分。 
控制器105被配置成指示相对于各组数据的I/O活动203、205,特别关注相对于保存在速度较慢的其它数据存储器182中的各组数据的I/O。即,I/O活动相对于将从其中迁移或者推动数据的数据存储器。控制器105查看时间间隔,并指示在一个时间间隔中指示的至少一个I/O活动。选择多个间隔中的每个间隔的时间长度,使得I/O活动的突发可能被包含在一个间隔中。同一个间隔内超出所述一个I/O活动的活动突发被忽略。间隔可由间隔计时器225来测量,并且例如可以包含一个小时。间隔计时器225的一种工作方式是计数从系统的初始IML以来的小时数。一个例子是从系统时钟减去初始IML的时间的偏移量,然后提取结果的小时部分。 
指示的I/O活动可通过监测I/O活动记录220而获得,具体地说,是在步骤300中检测的其它数据存储器182的I/O活动。如果I/O活动记录220既包含较高速度数据存储器180的I/O,又包含其它数据存储器182的I/O,那么在步骤303,提取和监测其它数据存储器182的I/O活动。指示的I/O活动可包含具有特定结果的I/O活动,比如读取或更新数据。此外,可以监测每个关心的数据组的指示的I/O活动。即,用户可能期望一旦特定的一组数据处于其它数据存储器中,则该组数据不被迁移到高速数据存储器中,从而不需要监测该数据组。 如上所述,该组数据可以是任意期望的数据单元。各种数据单元可能被视为独立的组,盘区是一种数据的被监测组,而为另一种数据监测数据集。 
如上所述,只关心相对于一组数据的间隔中的第一个I/O活动,以及步骤310提供该信息。如果I/O活动不是被监测组的当前间隔的第一个I/O活动,那么处理返回步骤300和303。 
如果I/O活动是被监测组的当前间隔的第一个I/O活动,那么在步骤S313中例如在I/O活动日志221中指示该I/O活动。可在I/O活动日志221中列出240其它数据存储器182的具有I/O活动的每个数据组,如果其它数据存储器182的某个数据组以前处于休眠状态而无I/O活动,但现在被访问,那么该数据组被添加到I/O活动日志中。另一方面,目前位于其它数据存储器182中的所有数据组可作为数据组240在I/O活动日志221中被列出。或者,可在活动日志中列出包括I/O活动和其它非I/O活动的活动,并提取I/O活动。 
指示I/O活动在最近的间隔中并且是该间隔的唯一I/O活动或者第一个I/O活动的一种方式是例如依据编号来跟踪各个间隔,然后比较当前I/O活动的间隔编号“C”和最后I/O 242的间隔编号“L”。如果当前间隔“C”大于“L”,那么I/O活动是该数据组的唯一I/O活动或者第一个I/O活动。列243跟踪当前间隔的I/O活动,并且在间隔的开始,对于所有数据组被重置为“0”,该间隔变成当前间隔。通过对于某个数据组在列243中输入“1”,并把列242设定成当前间隔,来指示就该间隔来说该数据组的第一个I/O活动。 
另一方面,在把信息输入I/O活动日志221之前,在跨越不止一个间隔的短时期内,I/O活动必须在不止一个间隔中出现。在一个例子中,如果如上所述,当前间隔满足C>L,那么如果C<=L+3,这意味着至少在当前间隔之前的3个间隔之一中,必须也已出现了I/O活动,则输入I/O活动。这指示I/O活动并不仅仅是I/O活动的单个再调用或突发,而是持久的,因此可能要发生更多I/O活动。 
在更新处理227中,步骤313中的I/O活动的指示更新I/O活动 日志221。 
当间隔计时器225指示当前间隔的结束时,步骤305把I/O活动日志221的列243中的所有条目重置为“0”,以及下一个间隔变成当前间隔。 
最近的I/O活动独自并不足以把数据组从其它数据存储器182推向高速数据存储器180。数据组的识别另外涉及在处理227中,例如在步骤315中,更新一组数据的一串被监测间隔。 
识别的I/O活动例如必须出现在多个时间间隔中的每个时间间隔中,即出现在一串多个时间间隔上。被监测的间隔串的总数例如将是间隔的二进制数,比如256个间隔。在一个间隔为1小时的情况下,256小时将约为1周半。 
在一个实施例中,被监测的间隔串包含至少一组连续间隔。 
在另一个实施例中,被监测的间隔串跳过至少一段时间。例如,跳过周末。又例如,跳过夜间。本领域的技术人员可以确定其它可能性,以适应特定的情形。 
在另一个实施例中,要迁移的一组数据的识别包含采用步骤315中的间隔的移动平均值来识别I/O活动,在更新处理227中,也在I/O活动日志中更新所述移动平均值。因此,每个间隔的I/O活动按照时间先后顺序被合并到所述平均值中。在一个例子中,移动平均值同等地加权每个间隔,以及从移动平均值中丢弃最陈旧的间隔,并用最新间隔的I/O活动来替换它。这要求跟踪I/O活动日志221的每个间隔和每个数据组的“0”或“1”。 
在另一个实施例中,移动平均值被加权,对于更近的I/O活动,采用更大的权重。 
向更近的I/O活动提供更大权重的一种方式是指数加权。在指数移动平均值中,效果是把最陈旧的条目几乎减少到灭点,从而有效地从平均值中消除它们。在一个例子中,最近的间隔被赋予权重1/256,并被加入移动平均值的紧接着的前一个值的指数减小值中,例如,通过把移动平均值乘以255/256来减小移动平均值。因此,第256个最 陈旧条目将通过相乘被减小255倍。 
在进一步的实施例中,移动平均值包括: 
P=(1-W)*P_last=W*S,其中: 
P=指数加权的移动平均值的当前值; 
P_last=P的前一个值; 
W=每个间隔的权重;以及 
如果在间隔内发生了I/O活动,则S=“1”,如果无I/O活动,则S=“0”。 
因此,对于每个数据组,在I/O活动日志221的列244中只保留移动平均值的当前值“P”,并且在移动平均值的下一次计算中,“P”变成“P_last”。 
在一个备选方案中,如上所述,当C<=L+3(意味着I/O活动一定也至少出现在以前的3个间隔之一中和最近的间隔中)时,可通过单独重新计算这4个间隔的每一个的移动平均值,来确定移动平均值的当前值“P”。在另一种备选方案中,最近间隔的I/O活动“0”或“1”被取平均,并被乘以最近间隔的权重,比如n/256,以及给予前一个移动平均值的权重为(1-n)/256。 
如果在对I/O活动日志221的最近更新之前涉及许多非活动间隔,从而包含许多“0”条目,那么可以简化更新运算,而不是把公式的完整计算用于每个间隔,计算W*S等于“0”,从而对“0”间隔来说,把公式简化为P=(1-W)*P_last,通过使P=P*(1-W)来估计全部间隔,以及能够简化运算的重复,可进行因子分解或者近似来逼近二进制数。例如,“0”的128次重复能够被简化成P=P*X的4次重复,其中X=(1-W)**32。 
一组数据到较高速度数据存储器的归类基于步骤317中的迁移标准228或“持久”I/O活动(包括在一串多个时间间隔上的I/O活动)的水平,并采用移动平均值作为用于评估哪组或哪几组数据将最受益于较高速度数据存储器180的品质因数。在一个例子中,到较高速度数据存储器的归类可包含移动平均值的阈值。例如,阈值可被设定成值 “0.2”,指示在间隔的总数中,基本上在至少20%的间隔中存在满足定义的持久性标准的I/O活动。另一方面,将周期性地将具有最高值移动平均值的预定数目的多组数据分类到高速数据存储器。 
控制器105在步骤317中,识别满足迁移标准228的一组或多组数据,然后在步骤319中,将所述一组或多组数据归类以便迁移。对于不满足标准228的一组或多组数据,移动平均值保持登记在列244中,并且处理返回步骤300和303。 
对于在步骤319中被归类以便迁移的一组或多组数据,控制器105在步骤321中,把所述一组或多组数据从其它数据存储器182迁移229到高速数据存储器180。为了为迁移的数据留出空间,可以把通过任何适当算法,比如LRU算法确定的其它各组数据从较高速度数据存储器180迁移到其它数据存储器182。数据迁移可以通过控制器105经由传输204和205来进行,或者另一方面,在控制器105的控制下,在高速数据存储器180和其它数据存储器182之间直接进行。 
因此,在一串多个时间间隔上具有持久的I/O活动的各组数据被从其它数据存储器182迁移到高速数据存储器180。一旦被迁移,已被迁移的一组或多组数据就不再置于所述其它数据存储器182中,并在步骤325中,从I/O活动日志221中删除,处理随后返回步骤300和303。 
实现可以涉及软件、固件、微代码、硬件和/或它们的任意组合。实现可以采取在介质,比如存储器133、143、存储器134、144、180、182和/或电路132、142中实现的代码或逻辑的形式,所述介质可包含硬件逻辑(例如,集成电路芯片、可编程门阵列[PGA]、专用集成电路[ASIC]或者其它电路、逻辑或器件),或者计算机可读存储介质,比如磁性存储介质(例如,电、磁、光、电磁、红外、或者半导体系统、半导体或固态存储器、磁带、可拆卸计算机磁盘、和随机存取存储器[RAM]、只读存储器[ROM]、硬磁盘和光盘、光盘-只读存储器[CD-ROM]、光盘-读/写存储器[CD-R/W]和DVD)。 
本领域的技术人员明白,对于上面讨论的方法,可以做出各种改 变,包括步骤的排序的改变。此外,本领域的技术人员会明白,可以采用与这里图解说明的组件布置不同的特定组件布置。 
虽然详细说明了本发明的优选实施例,不过应明白,本领域的技术人员可以想到对这些实施例的各种变更和修改,而不脱离在以下的权利要求中限定的本发明的范围。 

Claims (20)

1.一种迁移数据存储系统的数据的方法,所述数据存储系统包括具有较高速度的数据存储器,并且包括其它数据存储器,所述方法包括下述步骤:
监测数据组的I/O活动;
如果该I/O活动是被监测数据组的当前时间间隔的第一个I/O活动,指示该I/O活动,其中,同一个时间间隔内超出所述第一个I/O活动的活动突发被忽略,选择一串时间间隔包括的多个间隔中的每个间隔的时间,使得所述I/O活动的突发可能被包含在一个间隔中;
识别至少一组所述数据,该至少一组所述数据使得多个时间间隔中的每个时间间隔中的所述指示的I/O活动出现在所述一串时间间隔上,所述一串时间间隔包括多个时间间隔,所述I/O活动是对于数据将从其中迁移的数据存储器进行的;和
把所述识别的至少一组数据归类到所述具有较高速度的数据存储器。
2.按照权利要求1所述的方法,还包括下述步骤:为每组数据分别监测所述指示的I/O活动,以及监测I/O活动在间隔中的出现;其中,所述识别步骤包括:识别多组数据,所述多组数据具有在一串间隔上的所述I/O活动,该一串间隔包括有限的一组所述间隔。
3.按照权利要求2所述的方法,其中,所述识别步骤包括:采用所述间隔的移动平均值来识别所述I/O活动。
4.按照权利要求3所述的方法,其中,所述移动平均值被加权,对于更近的所述I/O活动,采用更大的权重。
5.按照权利要求4所述的方法,其中,所述移动平均值包含指数加权。
6.按照权利要求2所述的方法,其中,所述间隔的时间长度基本相等。
7.按照权利要求6所述的方法,其中,所述时间长度大致为1小时。
8.按照权利要求2所述的方法,其中,所述被监测的间隔串包含至少一组连续间隔。
9.按照权利要求8所述的方法,其中,所述被监测的间隔串跳过至少一段时间。
10.按照权利要求2所述的方法,其中,所述识别步骤响应于对一组数据的I/O,更新该一组数据的被监测的间隔串。
11.一种迁移数据存储系统的数据的控制器,所述数据存储系统包括具有较高速度的数据存储器,并且包括其它数据存储器,所述控制器包括:
用于监测数据组的I/O活动的装置;
用于如果该I/O活动是被监测数据组的当前时间间隔的第一个I/O活动,指示该I/O活动,其中,同一个时间间隔内超出所述第一个I/O活动的活动突发被忽略,选择一串时间间隔包括的多个间隔中的每个间隔的时间,使得所述I/O活动的突发可能被包含在一个间隔中;
用于识别至少一组所述数据的装置,该至少一组所述数据使得多个时间间隔中的每个时间间隔中的所述指示的I/O活动出现在所述一串时间间隔上,所述一串时间间隔包括多个时间间隔,所述I/O活动是对于数据将从其中迁移的数据存储器进行的;和
用于把所述识别的至少一组数据归类到所述具有较高速度的数据存储器的装置。
12.按照权利要求11所述的控制器,还包括:用于为每组数据分别监测所述指示的I/O活动,以及监测I/O活动在间隔中的出现的装置;其中,所述用于识别至少一组所述数据的装置包括:用于识别多组数据的装置,所述多组数据具有在一串间隔上的所述I/O活动,该一串间隔包括有限的一组所述间隔。
13.按照权利要求12所述的控制器,其中,所述用于识别至少一组所述数据的装置包括:用于采用所述间隔的移动平均值来识别所述I/O活动的装置。
14.按照权利要求13所述的控制器,其中,所述移动平均值被加权,对于更近的所述I/O活动,采用更大的权重。
15.按照权利要求14所述的控制器,其中,所述移动平均值包含指数加权。
16.按照权利要求12所述的控制器,其中,所述间隔的时间长度基本相等。
17.按照权利要求16所述的控制器,其中,所述时间长度大致为1小时。
18.按照权利要求12所述的控制器,其中,所述被监测的间隔串包含至少一组连续间隔。
19.按照权利要求18所述的控制器,其中,所述被监测的间隔串跳过至少一段时间。
20.按照权利要求12所述的控制器,其中,所述用于识别至少一组所述数据的装置响应于对一组数据的I/O,更新该一组数据的被监测的间隔串。
CN201080040740.8A 2009-09-14 2010-08-23 一种迁移数据存储系统的数据的方法和控制器 Expired - Fee Related CN102498466B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/559,362 US8230131B2 (en) 2009-09-14 2009-09-14 Data migration to high speed storage in accordance with I/O activity over time
US12/559,362 2009-09-14
PCT/EP2010/062254 WO2011029713A1 (en) 2009-09-14 2010-08-23 Data migration between data storage entities

Publications (2)

Publication Number Publication Date
CN102498466A CN102498466A (zh) 2012-06-13
CN102498466B true CN102498466B (zh) 2015-01-28

Family

ID=42732858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080040740.8A Expired - Fee Related CN102498466B (zh) 2009-09-14 2010-08-23 一种迁移数据存储系统的数据的方法和控制器

Country Status (5)

Country Link
US (2) US8230131B2 (zh)
CN (1) CN102498466B (zh)
DE (1) DE112010003133B4 (zh)
GB (1) GB2485699A (zh)
WO (1) WO2011029713A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380928B1 (en) * 2009-12-17 2013-02-19 Emc Corporation Applying data access activity measurements
US8566483B1 (en) * 2009-12-17 2013-10-22 Emc Corporation Measuring data access activity
JP5543668B2 (ja) * 2011-03-25 2014-07-09 株式会社日立製作所 ストレージシステム及び記憶領域の割当方法
US20120260037A1 (en) * 2011-04-11 2012-10-11 Jibbe Mahmoud K Smart hybrid storage based on intelligent data access classification
JP5752805B2 (ja) 2011-11-21 2015-07-22 株式会社日立製作所 ストレージ装置の管理装置及び管理方法
US8738877B2 (en) 2011-12-14 2014-05-27 Advance Micro Devices, Inc. Processor with garbage-collection based classification of memory
GB2527951B (en) 2013-04-26 2021-05-12 Hitachi Ltd Storage system
US10353616B1 (en) * 2013-06-27 2019-07-16 EMC IP Holding Company LLC Managing data relocation in storage systems
US9207873B2 (en) 2013-12-19 2015-12-08 Netapp, Inc. Parallel migration of data objects to clustered storage
CN105940386B (zh) * 2014-01-30 2019-12-17 慧与发展有限责任合伙企业 用于在存储器之间移动数据的方法、系统和介质
US10659532B2 (en) * 2015-09-26 2020-05-19 Intel Corporation Technologies for reducing latency variation of stored data object requests
US9940057B2 (en) 2015-10-20 2018-04-10 International Business Machines Corporation I/O statistic based depopulation of storage ranks
WO2018022136A1 (en) * 2016-07-26 2018-02-01 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
CN106774018B (zh) * 2017-02-15 2018-03-27 山东省环境保护信息中心 一种污染源自动监测设备动态管控系统
US11402998B2 (en) * 2017-04-27 2022-08-02 EMC IP Holding Company LLC Re-placing data within a mapped-RAID environment comprising slices, storage stripes, RAID extents, device extents and storage devices
KR102543749B1 (ko) * 2023-02-17 2023-06-14 주식회사 헤카톤에이아이 데이터 레이크 이관을 위한 인공지능 기반 자동화 시스템

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
US20060161648A1 (en) * 2002-10-17 2006-07-20 Bmc Software, Inc. System and Method for Statistical Performance Monitoring
US20080059718A1 (en) * 2006-09-01 2008-03-06 Sachie Tajima Storage system, data relocation method thereof, and recording medium that records data relocation program
CN101809551A (zh) * 2007-10-01 2010-08-18 国际商业机器公司 自动精简配置迁移和清理

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138198A1 (en) * 2003-12-18 2005-06-23 It Works Methods, apparatuses, systems, and articles for determining and implementing an efficient computer network architecture
US7225211B1 (en) * 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
US7711916B2 (en) * 2005-05-11 2010-05-04 Oracle International Corporation Storing information on storage devices having different performance capabilities with a storage system
US7971025B2 (en) * 2007-03-14 2011-06-28 Hitachi, Ltd. Method and apparatus for chunk allocation in a thin provisioning storage system
US7460149B1 (en) * 2007-05-28 2008-12-02 Kd Secure, Llc Video data storage, search, and retrieval using meta-data and attribute data in a video surveillance system

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
US20060161648A1 (en) * 2002-10-17 2006-07-20 Bmc Software, Inc. System and Method for Statistical Performance Monitoring
US20080059718A1 (en) * 2006-09-01 2008-03-06 Sachie Tajima Storage system, data relocation method thereof, and recording medium that records data relocation program
CN101809551A (zh) * 2007-10-01 2010-08-18 国际商业机器公司 自动精简配置迁移和清理

Also Published As

Publication number Publication date
GB201202064D0 (en) 2012-03-21
CN102498466A (zh) 2012-06-13
GB2485699A (en) 2012-05-23
US20110066767A1 (en) 2011-03-17
US8380891B2 (en) 2013-02-19
DE112010003133T5 (de) 2012-06-21
DE112010003133B4 (de) 2015-07-30
US20120173771A1 (en) 2012-07-05
US8230131B2 (en) 2012-07-24
WO2011029713A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
CN102498466B (zh) 一种迁移数据存储系统的数据的方法和控制器
US9632707B2 (en) Enhancing tiering storage performance
US7506101B2 (en) Data migration method and system
US20200004435A1 (en) Determining when to replace a storage device by training a machine learning module
US10671431B1 (en) Extent group workload forecasts
CN103502956B (zh) 运行时动态性能偏斜消除的方法和系统
US10339455B1 (en) Techniques for determining workload skew
US20140052942A1 (en) Method for controlling storages and storage control apparatus
US8478939B2 (en) Relative heat index based hot data determination for block based storage tiering
US10338825B2 (en) Managing SSD wear rate in hybrid storage arrays
US9946465B1 (en) Adaptive learning techniques for determining expected service levels
US8234464B2 (en) Hybrid storage data migration by selective data removal
JP6476932B2 (ja) ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
CN111194438B (zh) 扩展ssd长久性
CN103019887B (zh) 数据备份方法及装置
CN107391301A (zh) 存储系统的数据管理方法、装置、计算设备及存储介质
US10558362B2 (en) Controlling operation of a data storage system
KR100449485B1 (ko) 스트라이핑 시스템 및 이의 매핑 및 처리방법
JP6350162B2 (ja) 制御装置
WO2011045831A1 (en) Storage apparatus and its control method
US20070192538A1 (en) Automatic RAID disk performance profiling for creating optimal RAID sets
JP2012515969A (ja) アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
WO2007009910A3 (en) Virtualisation engine and method, system, and computer program product for managing the storage of data
US10521124B1 (en) Application-specific workload-based I/O performance management
CN104778018A (zh) 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150128

CF01 Termination of patent right due to non-payment of annual fee