CN104335188B - 应用控制的子lun级数据迁移 - Google Patents
应用控制的子lun级数据迁移 Download PDFInfo
- Publication number
- CN104335188B CN104335188B CN201380026278.XA CN201380026278A CN104335188B CN 104335188 B CN104335188 B CN 104335188B CN 201380026278 A CN201380026278 A CN 201380026278A CN 104335188 B CN104335188 B CN 104335188B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- migration
- storage pool
- processor
- 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
Links
- 230000005012 migration Effects 0.000 title claims description 111
- 238000013508 migration Methods 0.000 title claims description 111
- 238000003860 storage Methods 0.000 claims abstract description 194
- 238000000034 method Methods 0.000 claims description 70
- 238000013507 mapping Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 5
- 239000011800 void material Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 239000002245 particle Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
- 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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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
- G06F3/0649—Lifecycle 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
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)
- Stored Programmes (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一种基于源代码的规范被实现为用作在存储控制器和自有应用之间的接口,以将指定大小的数据从LUN后的物理存储迁移到新的物理位置。
Description
技术领域
本发明总体涉及计算机,并且更具体地,涉及用于在计算存储环境中提高存储性能的方法、系统和计算机程序产品。
背景技术
在当今的社会中,计算机和计算机系统被发现于各种设置中。计算环境和网络可以在家、在工作、在学校、在政府和其他设置中被发现。计算环境越来越多地在很多情况下远离对用户呈现的本地接口的一个或多个存储环境中存储数据。
这些计算存储环境可以使用通常协作工作的诸如磁盘驱动之类的存储设备以存储、取回和更新大量数据,该数据继而可以被提供到请求或发送该数据的主机计算。在一些情况下,很多数据存储子系统作为单个数据存储系统被进行集中管理。这些子系统可以由主机“综合系统”(系统复杂)配置来管理,该配置组合若干处理单元或处理单元的集群。以该方式,通常包括各种类型的存储设备的多层/多系统计算环境可以用于组织和处理大量数据。
发明内容
由于各种原因而出现的对数据迁移的需求在所有数据中心都是实际生活要求。这样的数据迁移必须对应用是透明的(即,对于应用伴随零停机时间)。如今,数据迁移是由安装在主机或存储控制器上的存储虚拟化软件提供的功能。然而,在该方法中,对于由存储控制器安排数据迁移,应用无法执行对数据的哪些部分必须被迁移到新的存储位置的控制。基于主机的迁移解决方案没有提供通用接口以允许对数据的那些部分必须被迁移的应用控制。基于主机的迁移解决方案也必须经历下述事实:它们必须向和从主机移动数据,以便产生数据迁移。该控制对于诸如数据块之类的应用是有利的,其可以以比整个逻辑单元名称(LUN)——或者更一般地,通用存储单元——更多地多粒度级迫使进行数据迁移。相反,并且这将在进一步进行描述,数据迁移决定通常在不了解应用的情况下进行。这可能导致在对于这样的数据移动的峰值性能需要可能已经过去之后安排迁移的情况,因为本质上尖锐(spiky)的繁重工作负载无法由如今的存储控制器内可同的标准监视机制来检测。因此,需要一种通过其可以由存储控制器按照应用需要来迁移存储的粒度部分的机制。
因此并且鉴于上述,提供了在计算环境冲由处理器执行子逻辑单元名称(LUN)数据迁移的各种实施例。在一个实施例中,仅通过示例的方式,公开了用于这样的子LUN数据迁移的方法。基于源代码的规范被实现以用作在存储控制器和自有应用之间的接口,以将特定大小的数据从该LUN后的物理存储迁移到新的物理位置。
除了前述示例性实施例中,各种系统和计算机程序实施例被提供并且提供了相关优点。
附图说明
为了易于理解本发明的优点,将参考附图中图示的具体实施例来呈现以上简要描述的本发明的更具体的描述。理解到这些附图仅描绘了本发明的典型实施例,并且因此不被认为是对其范围的限制,本发明将通过使用附图来更具体和详细地被描述和说明,其中:
图1是图示可以实现本发明的各方面的示例性多层数据存储计算环境的框图;
图2是用于执行子LUN级数据迁移的传统方法的框图;
图3是用于执行可以实现本发明的各方面的子LUN级数据迁移的示例性方法的框图;
图4是还可以实现本发明的各方面的用于改变用于LUN的虚拟到物理映射的示例性方法的第一步骤的框图;
图5是这里还可以实现本发明的各方面的先前图4中描述的用于改变虚拟到物理映射的示例性方法的第二步骤的框图;
图6是用于执行子LUN级数据迁移的示例方法的流程图;
图7是用于执行子LUN级数据迁移的另一示例性方法的流程图;
图8是用于执行子LUN级数据迁移的另一示例性方法的流程图;
图9是用于执行子LUN级数据迁移的另一示例性方法的流程图;
图10是用于执行子LUN级数据迁移的另一示例性方法的流程图;以及
图11是用于执行子LUN级数据迁移的另一示例性方法的流程图。
具体实施方式
如前所述,对数据迁移的需要在由于各种原因而出现的所有数据中心都是实际生活的需要。这样的情况包括:(a)由于有效使用的存储阵列的租赁期满而导致需要将数据从一个存储阵列移动到另一个;(b)需要将不太频繁使用的数据迁移到较低层存储;以及(c)升级为高性能和容量的存储阵列以满足组织的增长需要。数据迁移对自有应用必须是透明的,其中对于自有应用伴随零停机时间(zero downtime)。
此外,如前所述,如今的数据迁移是由安装在主机上的存储虚拟化软件提供的功能,诸如用于兼容环境的逻辑卷管理器(LVM)和卷管理器,并且通过存储控制器(例如,系统存储DS800或V7000)和网络存储虚拟化器(例如,SAN卷控制器(SVC))来促进。在一个示例中,如果需要迁移用于1TB大小的LUN的数据,则整个LUN从当前使用的1TB的后端存储迁移到1TB大小的新的存储。因此,在本方法中,存储在具体LUN上的整个数据将被迁移到新的位置。
然而,在本方法中,应用无法对哪些部分的数据必须被迁移到新的存储位置进行控制。这对于诸如可能需要以比整个LUN更大的多粒度级来迁移的数据库的应用来说是有用的。考虑以下示例。自有应用——在该情况下为数据库(即,)——希望仅将单个表(或记录)从当前存储迁移到新的存储位置,因为给定表上的数据不再被频繁地访问。由应用控制的LUN的这一类型的部分数据迁移不可能由存储虚拟化器提供的传统迁移方法来进行。
虽然有可能以子LUN级迁移数据,但是通常进行这样的迁移的决定是通过在存储控制器级监视和分析数据访问模式来作出的。因为存储控制器不知道数据的语义,所以有可能在例如峰值性能需要已经过去了时触发迁移。应用层可以对哪个数据必须被迁移以及应用何时生成数据作出最快的决定。因此,应用认知和基于应用的决定作出的问题仍然无法由现有解决方案来解决。
若干常规技术尝试解决子LUN级数据迁移的挑战。首先,存储控制器(也称为存储阵列)提供用于对应用透明地将数据从与LUN相关联的物理存储迁移到另一物理存储的有限能力。然而,这样的迁移是对于整个LUN执行的,从而使得该过程不适用于需要仅应用已经被存储在具体LUN上的数据的部分的迁移的情形。此外,存储控制器通常仅允许跨与同一供应商相关联的设备的数据迁移,并且从而促进供应商锁定(lock-in),而且往往是昂贵或资源密集型的。
第二,在主机上运行的存储虚拟化软件提供潜在地跨磁盘阵列供应商的数据迁移使用情况,并且因此不会促进供应商锁定。然而,传统的虚拟化软件针对整个LUN从一个物理存储到另一物理存储迁移数据。这意味着,该传统的虚拟化软件提出需要以子LUN级迁移数据的应用需要的挑战。
第三,(例如,用于数据库文件的)文件系统软件和专有(proprietary)卷管理允许跨不同物理存储的子LUN级数据移动。然而,这样的数据迁移需要将数据从当前使用的物理存储读取到主机,并且将数据从主机写入新的存储。该过程消耗用于数据迁移的存储网络带宽以及主机上的中央处理单元(CPU)带宽二者,这降低了存储网络和/或服务器性能。此外,这样的专有软件对具体的基于供应商的实现而言是特定于供应商的。
与前述技术相比,说明的实施例的机制描述了下述技术,其中,通过存储虚拟化软件揭示的应用程序编程接口(API)使得应用能够触发在子LUN级从当前物理存储到新的位置的数据迁移。通过使用这些机制,允许应用指定起始LBA(逻辑块地址)以及虚拟磁盘上的数据组块(data chunk)的大小和用于标识数据必须被迁移到的物理存储的目标物理存储描述。在接收到该API调用时,存储虚拟化软件对应用透明地将数据从其当前存储位置迁移到指定的目标存储位置。在该操作完成时,存储上的虚拟磁盘映射被原子地修改为指向用于数据的新的位置。旧的物理数据存储位置被释放。该API可以显现为新的SCSI命令的形式,或者使用现有的SCSI命令,如XCOPY。还可以存在API的其他带外显现。
所说明的实施例的机制提供了包括下述的若干优点。第一,由存储虚拟化软件揭示的子LUN级迁移API可以允许应用将LUN内的数据的一部分从一个物理存储迁移到另一个。这将使得应用能够根据应用的需要而将独立的记录、表或表空间迁移到新的物理存储。因而,不经常访问的表/记录可以被移动到消耗较为便宜成本的存储的较低层存储,或者非常频繁访问的数据可以被移动到能够满足较高IOP需要的较高层存储。
第二,由诸如各种专用卷控制器的存储区域网络(SAN)中的存储虚拟化器揭示的子LUN级迁移API允许在不需要将整个数据读取到主机并且继而将数据写入新的存储的情况下,将数据从一个物理存储迁移到另一个。这保留了存储网络带宽,并且防止使用主机CPU周期来安排数据迁移。
第三,子LUN级迁移给出了对应用的控制,以根据使用情况来确定特定LUN上的数据的哪些部分必须被迁移到其他物理存储。由于应用程序已经完全知道关于与其数据相关联的语义,所以很可能能够进行对哪些数据要移动以及何时移动的最快和最好的决定。
第四,由存储控制器提供的子LUN级迁移将有利于来自不同供应商的应用。在主机上运行的其他应用还可以受益于这样的API。最后,由存储虚拟化软件提供的子LUN级迁移可以根据数据所位于的存储的性能和成本来增强应用对用于在不同种类的存储中存储数据的当前需求的瞬时反应能力。如果存储虚拟化软件必须监视数据访问模式以便进行关于“热点”迁移的决定,则迁移的好处可以仅在延迟之后(可能在对更高性能的需要消失时)被感觉到。
在下面的描述中,参考形成本说明书的一部分并且示出了本发明的若干实施例的附图。可以理解,可以利用其他实施例,并且可以在不脱离本发明的范围的情况下进行结构和操作的改变。图1图示了可以在其中实现本发明的各方面的计算存储环境。多个主机系统2a、b、...n通过管理对存储卷28、30和32的访问的存储控制器6来向一个或多个存储卷28、30和32传送输入/输出(I/O)请求。在特定实现中,存储卷可以在物理上包括被组织为集速磁盘(JBOD)、RAID阵列、直接访问存储设备(DASD)、SSD,磁带设备等的多个硬盘驱动器。
多个虚拟卷22、24和26被呈现给主机系统2a、b...n,而不是呈现多个物理或逻辑卷(通常其可以以复杂关系而被物理地配置)。主机系统2a、b...n可以在协议栈的不同层处通过网络8使用诸如TCP/IP、光纤信道、以太网等多种通信协议与存储控制器6进行通信,网络8诸如因特网、存储区域网络(SAN)、内联网、局域网(LAN)、广域网(WAN)等。
存储控制器6包括处理器10,该处理器10执行代码12以执行存储控制器操作。存储控制器6还包括高速缓存系统14以及非易失性存储单元16,诸如电池备份存储器设备。存储控制器6在高速缓存14中存储从主机2a、b…n接收到的用于写入到虚拟存储卷22、24和26(并且由此写入卷28、30和32)的数据更新以及从卷28、30和32读取的用于返回到主机2a、b…n的数据。当以快速写入模式进行操作时,从主机2a、b…n接收的数据更新被复制到高速缓存14和NVS 16二者。在更新被复制到高速缓存14和NVS 16二者之后,结束状态被返回到发送数据更新的主机2a、b...n。
存储控制器6还包括基于源代码的规范,该规范用作在存储控制器6和在主机2a、b…n上操作的自有应用之间的接口。在所描绘的实施例中,该规范/接口被表示为应用程序接口(API)17。API 17由存储控制器6呈现给主机2a、b…n,并且具体地呈现给主机2a、b…n上操作的自有应用,这将会进一步描述。此外,存储控制器6还包括存储虚拟化引擎18,其可以结合API 17用于实现所示实施例的目的,同样,这将会进一步描述。
高速缓存系统14包括虚拟磁盘映射15或简称为“存储映射”15。高速缓存系统14接受来自主机2a、b…n或类似设备的写入数据,其然后被置于高速缓存存储器中。在一个实施例中,存储映射15包括用于绑定物理卷28、30和32到数据到虚拟卷22、24、26等的、数据的各种物理到虚拟映射。
如本领域普通技术人员应将理解的那样,图1可以图示具有诸如先前图示的存储控制器6的多个互相关联的组件的较大的多系统/多集群存储环境的一部分。如先前指示的那样,当经由主机系统2a、b…n向用户呈现虚拟卷22、24和26时,底层物理配置可以具有很多可能的形式。例如,各种类别中的很多互相关联的存储设备,诸如SSD、SATA、HDD、磁带等,可以根据具体配置而包括存储卷28、30和32。
诸如处理器10的各种组件可以被适配为实现本发明的各方面以及以下要求保护的主题。例如,存储虚拟化引擎18可以结合处理器10进行操作以执行要进一步描述的各种功能,诸如结合虚拟磁盘映射15提供虚拟化功能。类似地,API还可以结合处理器1或在存储环境中操作的其他组件进行操作。本领域的普通技术人员将认识到,其他各种数据处理和存储组件可以被实现为实现这些方面,并且可以在存储控制器6或其他位置操作。
在本发明的一个实施例中,存储控制器6提供API 17,以从主机2a…2b…n上操作的应用透明地将指定大小的数据从LUN后的物理存储(例如,28、30、32)迁移到新的物理位置。该API 17可以由如数据库(或DB2)的应用来调用,以仅将特定数据从一个物理位置迁移到另一个,而不影响用于存储数据的LUN。
提供用于由自有应用使用的一些示例API包括下述:
migrate(sourceLUN#,startLBA,size,target storage pool)
通过该API,存储虚拟化软件选择迁移的数据必须被放置于的目标位置。目标存储池的选择是由应用作出的,而目标存储池上的数据的位置留给存储虚拟化软件。
migrate(sourceLUN#,startLBA,size,targetLUN#,targetLBA)
使用该API,应用控制数据必须被迁移到的目标LUN和确切位置。因此,完全控制由应用在迁移数据的同时进行。
migrate(sourceLUN#,startLBA,target storage pool id)
migrate(sourceLUN#,startLBA,targetLUN#,targetLBA)
在上面的API呼叫的表示中,针对每个API呼叫迁移的存储的大小是固定的,即根据实现而是128k或256k。呼叫方必须多次呼叫API以迁移所需要大小的数据。
migrate(sourceLUN#,startLBA,size,targetLUN#,targetLBA,time)
在上述API呼叫中,应用不仅请求从源LUN到目标LUN的数据迁移,其还提及迁移操作必须被执行的时间。注意,为了简化实现难度,在一个实施例中,起始和目标LBA和大小参数可以被限制为具体队列(alignment)(例如,1GB扩展)注意:为了简化实现难度,可能需要将起始和目标LBA和大小参数限制为队列,例如DS8000的1GB扩展。
以下提供了用于前述数据移动的一些示例性使用情况。在第一示例中,自有应用希望将特定记录或数据库表从给定LUN上的当前位置迁移到消耗较少功率并且不太资源密集的较低层存储。这可能由需要移动较旧(不频繁访问的)数据到更成本有效的存储以供长期保留的需求来触发。例如,该操作将数据从以15k RPM运行全部光纤信道(FC)的成本密集的存储阵列迁移到以低得多的RPM运行SATA磁盘的单独的较低成本密集的存储阵列。在这样的情况下,通过诸如系统卷控制器(SVC)的SAN中的存储虚拟化元件来对数据迁移API起作用,以影响应用迁移请求。
在第二示例中,自有应用发现给定的记录被频繁访问。因此,应用希望将该区域迁移到更好执行的存储层(例如固态驱动器(SSD)层或15k RPM驱动器池)。这种使用情况可以促进存储控制器内的应用控制的“热点”迁移。
这里,应当注意,上述数据迁移API不限于具体类型的应用,例如数据库应用,但是对于这种目的是有用的。本领域的普通技术人员应当理解,API可以适用于具有迁移数据需要的任何自有应用,诸如邮件服务器或其他虚拟化应用。
上述API的各种实施例可以以适合于具体应用的各种方式来实现。例如,API可以经由小型计算机系统接口(SCSI)被内联地提供给自有应用。在另一示例中,该API可以经由因特网协议(IP)被带外地提供给自有应用。本领域的普通技术人员应当理解,可以根据具体情况的需要而使用所描述的API的各种实现。
在一个实施例中,在支持前述数据迁移API功能的存储控制器上,示例性步骤集合可能发生以满足迁移请求。
第一,支持数据迁移API的存储控制器揭示由存储控制器所支持的存储池的列表及其性能、冗余和功耗特性。该信息被使得经由例如模式感测小型计算机系统接口(SCSI)命令而可用,并且可以由存储控制器使用以选择用于数据迁移的目标存储池。
第二,上述SCSI命令(或者在另一实施例中,例如,取决于迁移API的调用模式的带外的命令)由存储虚拟化软件接收,该存储虚拟化软件请求从给定起始LBA=SLBA1开始并且大小=SZ1的数据从其当前位置(例如,包括高性能和成本密集型15k RPM驱动器)迁移到不同的存储池(例如,包括更低的成本密集型和高能效的7.2k RPM驱动器)
第三,然后,存储虚拟化软件确定对该存储目标池上的选择的数据组块的“最佳匹配”。然后,存储虚拟化软件在后台将数据从当前位置复制(对应用透明地)到目标位置。
第四,然后,使虚拟磁盘映射原子地指向新的物理位置,使得仅该部分的LUN现在位于成本较低的存储上。在该操作期间,如在所有其他迁移操作中,数据保持一致并且是最新的。
第五,一旦映射被原子地改变为反映新的物理存储位置,就提交迁移操作。值得注意的是,如果API指定目标物理磁盘以及何处放置数据,则存储控制器将数据迁移到由应用指定的新的位置,而不是存储控制器选择指定的目标池上的新的目标位置。
现在转到图2,描绘了传统数据迁移机制200的框图。各个数据路径、命令路径以及命令响应路径由所指示的箭头和相应的说明示出并且在应用层示出。作为第一步骤,自有应用/实用程序向物理磁盘1发送命令以将数据从物理磁盘1(这里示出为FC 15k RPM驱动器)迁移到物理磁盘2(这里示出为更低的成本密集型串行附接的SCSI(SAS)7K RPM驱动器)。然后,将命令响应从物理磁盘1(即,负责物理磁盘1的存储控制器)返回到实用程序/自有应用。然后,数据被拉取到主机,并且然后写回到物理磁盘2上的新的位置,如图所示。该情况消耗存储带宽和服务器资源来执行。
与图2相反,以下图3-图4图示了根据本发明的示例性实施例。例如,以下在图3中,图示了使用前述执行的API机制的智能子LUN级数据迁移的机制。
图3-图4描述了例如该API如何被执行以及与诸如先前图2中所示的传统机制所提供的数据迁移机制相比的优点,传统机制将数据从磁盘拉取到主机并且随后将数据写入目标位置,这是消耗存储带宽和服务器功率的。与之相比,在图3中,机制300描绘了用于可以包含本发明的各方面的子LUN数据迁移的示例性方法。具体参考图3,在一个实施例中,对迁移API的调用是由主机本地的应用执行的,但是数据迁移操作是由存储控制器执行的。尽管其他专有传统数据迁移机制(包括其他应用)确定迁移什么数据以及何时迁移,迁移操作在不涉及主机的情况下由存储虚拟化器来执行。
图3描绘了在所示实施例中根据本发明如何执行子LUN数据迁移。通过使用API并且使用说明的示例性命令,数据库应用发送示例性命令以将子SUN级数据从物理磁盘1(在该情况下描述为FC15k驱动器)迁移到PHY磁盘1、2和3的存储池P1中的第二物理位置,如图所示(在所示实施例中,包括在所示存储池中配置的SAS7k RPM驱动器)。该命令被返回到主机(并且因此返回到数据库应用)。尽管数据库应用对迁移什么数据以及何时迁移作出决定,由存储虚拟化器在不涉及主机的情况下执行迁移操作本身(例如,存储虚拟化引擎18,图1)。因此并且如图所示,通过使得虚拟化器(诸如SVC)能够代表应用来执行迁移而不对应用产生繁重开销,来智能地迁移数据。然后,将数据从物理磁盘1迁移到存储池P1,如数据路径所示。
现在转到图4和图5,接下来,根据前述API促进的数据迁移机制,示出了应用于用于选择的LUN的虚拟到物理映射的示例性操作的框图。注意,这些图中的物理磁盘实际上可以是由底层存储控制器呈现的虚拟卷(例如,RAID 5卷)。在一个实施例中,所示出的虚拟到物理映射可以被实现为虚拟磁盘映射15(图1)。然而,如本领域普通技术人员将理解的,可能出现这样的映射的各种实现以适合于具体应用。
首先转到图4,在第一步骤400A中,初始LUN地址范围映射(这里示出了从0到n的地址)被标识为与如图所示的物理磁盘1中的地址范围相对应。在如图5所示的第二步骤400B中,在到目标存储池的数据组块的迁移操作完成之后,用范围x-y创建新的LUN地址范围映射,其被配置为指向与已经迁移的数据组块相对应的物理磁盘2中的目标存储池。范围0-x和y-n保留指向物理磁盘1,如图所示。
以下,图6是用于可以实现本发明的各方面的用于在计算存储环境中执行子LUN级数据迁移的示例性方法600的流程图。该方法600通过实现基于源代码的规范而开始(步骤602),以用作在存储控制器和自有应用之间的接口以将指定的子LUN级大小的数据从LUN后的物理存储迁移到新的物理位置(步骤604)。然后,该方法600结束(步骤606)。
以下,图7是这里还可以实现本发明的各种方面的用于执行从源到目标存储位置的子LUN级数据迁移的另一示例性方法700的流程图。方法700通过指定起始LBA以及虚拟磁盘上的数据组块的大小以及目标物理存储描述(步骤704)而开始(步骤702)。然后,基于源代码的规范(例如,API)揭示由存储控制器支持的存储池的列表以及至少一个存储特性,诸如底层存储(例如,SAS驱动器)的大小、可用空间、物理特性等(步骤706)。
至少部分地基于从步骤706获得的信息,该方法700继续经由接口(例如从主机)接收调用,该调用请求要被迁移到被揭示的存储池的列表中的目标存储池的、从起始LBA开始的、具有指定大小的数据组块的数据(步骤708)。然后,存储控制器或类似的存储设备可以确定用于目标存储池中的数据组块的“最佳匹配”(步骤710)。例如,数据组块可以被顺序地存储在一个物理卷上,或者在情况允许时,其可以跨多个卷被分割,并且还由存储控制器或其他管理设备来处理。
作为后续步骤,当在不涉及对应用的开销的情况下,作为后台处理将指定的数据组块迁移到目标存储池时(即,该过程对自有应用透明地进行)(步骤712),迁移操作开始。在迁移操作完成之后,使得虚拟磁盘映射指向在目标存储池上的新的物理位置(步骤714)。一旦对虚拟磁盘映射进行了改变,就提交迁移操作(步骤716)。然后,该方法700结束(步骤718)。
以下,图8图示了根据本发明的另一实施例的用于执行从源到目标存储位置的子LUN级数据迁移的另一示例性方法800。方法800通过指定要被迁移到新的存储池的数据组块的迁移大小(步骤804)来开始(步骤802)。然后,指定要迁移的数据组块大小(步骤806)。总的迁移大小被指定为先前指定的数据组块大小的向上舍入(rounded-up)倍数(步骤808)。
然后,方法800移动到步骤810,其中查询总的迁移大小是否大于或等于零。如果否,则方法800结束(步骤826)。可替代地,方法800移动到步骤812,其中,以数据组块大小的增量执行迁移操作。迁移操作812包括与先前在图7中描述的至少一些步骤类似的功能,诸如经由API接收调用,该调用请求要被迁移的、从起始LBA的数据开始的、具有指定大小的数据组块的数据(步骤808),确定用于数据组块的最佳匹配(步骤810),作为后台处理将数据组块迁移到目标存储池(步骤812),将虚拟磁盘映射指向新的物理存储位置(步骤814),并且提交迁移操作(步骤816)。
当方法800前进到执行迁移操作812时,总的迁移大小减小了正在被迁移的数据组块的增量(步骤824)。方法800返回到步骤810以再次查询总迁移大小是否大于或等于零。这里,如果答案是肯定的,则方法800结束(步骤826),否则返回到步骤812以再次以数据组块大小的增量进行另一迁移操作。
现在转到图9,接下来,说明用于从执行从源到目标存储位置的子LUN级数据迁移的另一示例性方法900。方法900通过指定要被迁移的数据组块的源LUN、起始LBA、总迁移大小、目标LUN以及大小(步骤904)来开始(步骤902)。然后,方法900指定要执行迁移操作的时间(步骤906)。接下来,在步骤908中,如果指定的时间已经到达,则执行迁移操作910,如以下将进一步描述的。可替代地,如果指定的时间没有到达(再次,步骤908),则方法900等待(步骤912),并且返回到步骤908以再次重新查询。
在步骤910,迁移操作执行如先前在图7和图8中所示的类似功能,包括作为对自有应用透明的后台处理而将数据迁移到目标存储池(步骤912),将虚拟磁盘映射指向目标存储池上的新的物理位置(步骤914),并且提交迁移操作(步骤916)。然后,该方法结束(步骤918)。
以下,图10图示了用于执行从源到目标存储位置的子LUN级数据迁移的另一示例性方法1000。方法1000通过指定起始LBA和虚拟磁盘上的数据组块的大小以及目标物理存储描述(步骤1004)而开始(步骤1002)。然后,基于源代码的规范(例如,API)揭示由存储控制器支持的存储池的列表以及至少一个存储特性,诸如底层存储(例如,SAS驱动器)的大小、可用空间、物理特性等(步骤1006)。
至少部分地基于从步骤1006获得的信息,该方法1000继续经由接口(例如从主机)接收调用,该调用请求要在指定的时间被迁移到被揭示的存储池的列表中的目标存储池的、从起始LBA开始的、具有指定大小的数据组块的数据(步骤1008)。然后,存储控制器或类似的存储设备可以确定用于目标存储池中的数据组块的“最佳匹配”(步骤1010)。例如,数据组块可以被顺序地存储在一个物理卷上,或者在情况可以允许时,可以跨多个卷被分割,并且还由存储控制器或其他管理设备来处理。
作为后续步骤,当在特定时间,在不涉及对应用的开销的情况下作为后台处理将指定的数据组块迁移到目标存储池时(即,该过程对自有应用透明地进行)(步骤1012),迁移操作开始。在迁移操作完成之后,使虚拟磁盘映射指向目标存储池上的新的物理位置(步骤1014)。一旦对虚拟磁盘映射进行了改变,就提交迁移操作(步骤1016)。然后,该方法1000结束(步骤1018)。
以下,图11图示了用于执行从源到目标存储位置的子LUN级数据迁移的另一示例性方法1100。方法1100通过指定起始LBA和虚拟磁盘上的数据组块的大小以及目标物理存储描述(步骤1104)而开始(步骤1102)。然后,基于源代码的规范(例如,API)揭示由存储控制器支持的存储池的列表以及至少一个存储特性,诸如底层存储(例如,SAS驱动器)的大小、可用空间、物理特性等(步骤1106)。
至少部分地基于从步骤1106获得的信息,该方法1000继续经由接口(例如从该主机)接收调用,该接口请求在与接收到该调用一致的时间(即,立即)要被迁移到被揭示的存储池的列表中的目标存储池的、从起始LBA开始的、具有指定大小的数据组块的数据(步骤1108)。然后,存储控制器或类似的存储设备可以确定用于目标存储池中的数据组块的“最佳匹配”(步骤1110)。例如,数据组块可以被顺序地存储在一个物理卷上,或者在情况允许时,可以跨多个卷被分割,并且再次通过存储控制器或其他管理设备来处理。
作为后续步骤,当在特定时间、在不涉及对应用的开销的情况下作为后台处理(即,该过程对自有应用透明地进行)将指定的数据组块迁移到目标存储池时(步骤1112),迁移操作开始。在迁移操作完成之后,进行指向在目标存储池上的新的物理位置的虚拟磁盘映射(步骤1114)。一旦对虚拟磁盘映射进行了改变,就提交迁移操作(步骤1116)。然后,该方法1100结束(步骤1118)。
所属技术领域的普通技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“模块”、“流程”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或者其他设备,以使得在该计算机、其他可编程数据处理装置或者其他设备上执行操作步骤序列以产生计算机执行处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图块中规定的功能/动作的处理。
上面附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
尽管已经具体说明了本发明的一个或多个实施例,但是本领域普通技术人员将理解,对该实施例的修改和调整可以在不背离如所附权利要求阐述的本发明的范围的情况下进行。
Claims (17)
1.一种用于在计算环境中由处理器进行的子逻辑单元名称(LUN)数据迁移的方法,包括:
将基于源代码的规范实现为用作在存储控制器和自有应用之间的接口,以根据访问的频繁程度将指定大小的数据从所述LUN后的物理存储迁移到新的物理位置,其中,对所述接口的调用是由所述自有应用执行的,所述数据迁移是由所述存储控制器执行的;
确定用于所述新的物理位置上的所述数据组块的最佳匹配,所述数据组块可以被顺序地存储在一个物理卷上,并且可以跨多个卷被分割。
2.根据权利要求1所述的方法,其中,迁移所述指定大小的数据包括:指定虚拟盘上的数据组块大小和起始逻辑块地址(LBA)以及用于标识所述新的物理位置的目标物理存储描述。
3.根据权利要求2所述的方法,进一步包括:揭示由所述存储控制器支持的存储池的列表以及与所述存储池的所述列表中的至少一个存储池相关联的至少一个存储特性。
4.根据权利要求3所述的方法,进一步包括:经由所述接口接收调用,所述调用请求要被迁移到被揭示的存储池的所述列表中的目标存储池的、从所述起始LBA开始且具有指定大小的所述数据组块的数据。
5.根据权利要求4所述的方法,进一步包括确定用于所述目标存储池上的所述数据组块的最佳匹配。
6.根据权利要求5所述的方法,进一步包括:作为迁移操作,作为后台处理而将所述数据组块迁移到所述目标存储池,所述后台处理对所述自有应用是透明的。
7.根据权利要求6所述的方法,进一步包括:将虚拟盘映射指向所述目标存储池上的所述新的物理位置。
8.根据权利要求7所述的方法,进一步包括:在完成将所述虚拟盘映射指向所述新的物理位置之后,提交所述迁移操作。
9.一种用于计算环境中的子逻辑单元名称(LUN)数据迁移的系统,包括:
处理器,所述处理器能够在所述计算环境中操作,其中,所述处理器被配置用于将基于源代码的规范实现为用作在存储控制器和自有应用之间的接口,以根据访问的频繁程度将指定大小的数据从所述LUN后的物理存储迁移到新的物理位置,其中,对所述接口的调用是由所述自有应用执行的,所述数据迁移是由所述存储控制器执行的,其中所述处理器还被配置用于确定用于所述新的物理位置上的所述数据组块的最佳匹配,所述数据组块可以被顺序地存储在一个物理卷上,并且可以跨多个卷被分割。
10.根据权利要求9所述的系统,其中,所述基于源代码的规范包括应用编程接口(API)。
11.根据权利要求9所述的系统,其中,所述处理器被进一步配置用于,根据迁移所述指定大小的数据,指定虚拟盘上的数据组块的大小和起始逻辑块地址(LBA)以及用于标识所述新的物理位置的目标物理存储描述。
12.根据权利要求11所述的系统,其中,所述处理器被进一步配置用于揭示由所述存储控制器支持的存储池的列表以及与所述存储池的所述列表中的至少一个存储池相关联的至少一个存储特性。
13.根据权利要求12所述的系统,其中,所述处理器被进一步配置用于经由所述接口接收调用,所述调用请求要被迁移到被揭示的存储池的所述列表中的目标存储池的、从所述起始LBA开始且具有指定大小的所述数据组块的数据。
14.根据权利要求13所述的系统,其中,所述处理器被进一步配置用于确定用于所述目标存储池上的所述数据组块的最佳匹配。
15.根据权利要求14所述的系统,其中,所述处理器被进一步配置用于,作为迁移操作,作为后台处理而将所述数据组块迁移到所述目标存储池,所述后台处理对所述自有应用是透明的。
16.根据权利要求15所述的系统,其中,所述处理器被进一步配置用于将虚拟盘映射指向所述目标存储池上的所述新的物理位置。
17.根据权利要求16所述的系统,其中,所述处理器被进一步配置用于在完成将所述虚拟盘映射指向所述新的物理位置之后,提交所述迁移操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/482,829 | 2012-05-29 | ||
US13/482,829 US10817202B2 (en) | 2012-05-29 | 2012-05-29 | Application-controlled sub-LUN level data migration |
PCT/IB2013/053929 WO2013179171A1 (en) | 2012-05-29 | 2013-05-14 | Application-controlled sub-lun level data migration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104335188A CN104335188A (zh) | 2015-02-04 |
CN104335188B true CN104335188B (zh) | 2018-04-17 |
Family
ID=49671771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380026278.XA Expired - Fee Related CN104335188B (zh) | 2012-05-29 | 2013-05-14 | 应用控制的子lun级数据迁移 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10817202B2 (zh) |
EP (1) | EP2856322A4 (zh) |
JP (1) | JP6270827B2 (zh) |
KR (1) | KR101730695B1 (zh) |
CN (1) | CN104335188B (zh) |
AU (1) | AU2013269206A1 (zh) |
MX (1) | MX337317B (zh) |
SG (1) | SG11201404021WA (zh) |
WO (1) | WO2013179171A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831727B2 (en) | 2012-05-29 | 2020-11-10 | International Business Machines Corporation | Application-controlled sub-LUN level data migration |
US10817202B2 (en) * | 2012-05-29 | 2020-10-27 | International Business Machines Corporation | Application-controlled sub-LUN level data migration |
US10831728B2 (en) | 2012-05-29 | 2020-11-10 | International Business Machines Corporation | Application-controlled sub-LUN level data migration |
US20150032961A1 (en) * | 2013-07-23 | 2015-01-29 | Lexmark International Technologies S.A. | System and Methods of Data Migration Between Storage Devices |
US9880786B1 (en) * | 2014-05-30 | 2018-01-30 | Amazon Technologies, Inc. | Multi-tiered elastic block device performance |
US10061915B1 (en) | 2014-09-03 | 2018-08-28 | Amazon Technologies, Inc. | Posture assessment in a secure execution environment |
CN105760109B (zh) * | 2014-12-16 | 2019-03-01 | 华为技术有限公司 | 数据迁移方法和存储阵列 |
US10120920B2 (en) * | 2015-07-10 | 2018-11-06 | International Business Machines Corporation | Increasing storage space for processes impacting data storage systems |
WO2017014809A1 (en) * | 2015-07-18 | 2017-01-26 | Hewlett-Packard Development Company, L.P. | Data volume migration in distributed storage systems |
US10432723B2 (en) * | 2015-09-03 | 2019-10-01 | Toshiba Memory Corporation | Storage server and storage system |
US10203874B1 (en) * | 2015-09-30 | 2019-02-12 | EMC IP Holding Company LLC | Managing time scheduled data placement in data storage systems |
US10606501B2 (en) * | 2015-12-04 | 2020-03-31 | International Business Machines Corporation | Management of paging in compressed storage |
CN107239412B (zh) * | 2017-06-19 | 2020-07-07 | 杭州宏杉科技股份有限公司 | 基于Thin-LUN的存储空间配置方法、数据写入方法及存储设备 |
US10795583B2 (en) * | 2017-07-19 | 2020-10-06 | Samsung Electronics Co., Ltd. | Automatic data placement manager in multi-tier all-flash datacenter |
US10838648B2 (en) * | 2018-12-12 | 2020-11-17 | EMC IP Holding Company LLC | Distributed host copy migration in a cluster environment using changed block tracking |
US11620233B1 (en) * | 2019-09-30 | 2023-04-04 | Amazon Technologies, Inc. | Memory data migration hardware |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100445966C (zh) * | 2005-09-05 | 2008-12-24 | 株式会社日立制作所 | 存储装置虚拟化装置的设备控制交接方法 |
CN101582013A (zh) * | 2009-06-10 | 2009-11-18 | 成都市华为赛门铁克科技有限公司 | 一种在分布式存储中处理存储热点的方法、装置及系统 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577782B2 (en) | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US6330572B1 (en) * | 1998-07-15 | 2001-12-11 | Imation Corp. | Hierarchical data storage management |
US6880101B2 (en) | 2001-10-12 | 2005-04-12 | Dell Products L.P. | System and method for providing automatic data restoration after a storage device failure |
US7707151B1 (en) | 2002-08-02 | 2010-04-27 | Emc Corporation | Method and apparatus for migrating data |
US7461131B2 (en) * | 2003-03-07 | 2008-12-02 | International Business Machines Corporation | Use of virtual targets for preparing and servicing requests for server-free data transfer operations |
US20050114595A1 (en) | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
EP1619584A1 (en) * | 2004-02-13 | 2006-01-25 | Jaluna SA | Memory allocation |
JP2006079274A (ja) | 2004-09-08 | 2006-03-23 | Sony Corp | ファイル管理装置、ネットワークシステム、ファイル管理方法及びプログラム |
US8959299B2 (en) * | 2004-11-15 | 2015-02-17 | Commvault Systems, Inc. | Using a snapshot as a data source |
CN100507886C (zh) | 2005-12-22 | 2009-07-01 | 北京中星微电子有限公司 | 一种对非易失性存储器进行直接存储访问的方法及其装置 |
JP4758794B2 (ja) * | 2006-03-16 | 2011-08-31 | 富士通株式会社 | メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法 |
JP4464378B2 (ja) * | 2006-09-05 | 2010-05-19 | 株式会社日立製作所 | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 |
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8285758B1 (en) | 2007-06-30 | 2012-10-09 | Emc Corporation | Tiering storage between multiple classes of storage on the same container file system |
US7801993B2 (en) | 2007-07-19 | 2010-09-21 | Hitachi, Ltd. | Method and apparatus for storage-service-provider-aware storage system |
JP2009093571A (ja) | 2007-10-11 | 2009-04-30 | Hitachi Ltd | 記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステム |
US8359444B2 (en) | 2008-09-24 | 2013-01-22 | Hitachi, Ltd. | System and method for controlling automated page-based tier management in storage systems |
CN101436152B (zh) | 2008-12-02 | 2013-01-23 | 成都市华为赛门铁克科技有限公司 | 一种数据备份的方法和装置 |
KR20100091853A (ko) * | 2009-02-11 | 2010-08-19 | 삼성전자주식회사 | 동적 메모리 관리를 수행하는 임베디드 시스템 및 그의 메모리 관리방법 |
US8880835B2 (en) * | 2009-07-07 | 2014-11-04 | International Business Machines Corporation | Adjusting location of tiered storage residence based on usage patterns |
JP5241671B2 (ja) * | 2009-10-05 | 2013-07-17 | 株式会社日立製作所 | 記憶装置のデータ移行制御方法 |
US9110919B2 (en) | 2009-10-30 | 2015-08-18 | Symantec Corporation | Method for quickly identifying data residing on a volume in a multivolume file system |
US8375180B2 (en) | 2010-02-05 | 2013-02-12 | International Business Machines Corporation | Storage application performance matching |
JP5130313B2 (ja) | 2010-04-02 | 2013-01-30 | 株式会社日立製作所 | 管理システム及び計算機システムの管理方法 |
US8380949B2 (en) * | 2010-05-20 | 2013-02-19 | International Business Machines Corporation | Managing write operations to an extent of tracks migrated between storage devices |
WO2012011153A1 (en) * | 2010-07-22 | 2012-01-26 | Hitachi, Ltd. | Data storage apparatus and data storage control method for the same |
US8555019B2 (en) * | 2010-09-08 | 2013-10-08 | International Business Machines Corporation | Using a migration cache to cache tracks during migration |
US9460136B1 (en) | 2011-06-30 | 2016-10-04 | Emc Corporation | Managing databases in data storage systems |
US10831727B2 (en) | 2012-05-29 | 2020-11-10 | International Business Machines Corporation | Application-controlled sub-LUN level data migration |
US10817202B2 (en) * | 2012-05-29 | 2020-10-27 | International Business Machines Corporation | Application-controlled sub-LUN level data migration |
US10831728B2 (en) | 2012-05-29 | 2020-11-10 | International Business Machines Corporation | Application-controlled sub-LUN level data migration |
-
2012
- 2012-05-29 US US13/482,829 patent/US10817202B2/en active Active
-
2013
- 2013-03-13 US US13/801,732 patent/US10831390B2/en active Active
- 2013-05-14 JP JP2015514628A patent/JP6270827B2/ja active Active
- 2013-05-14 CN CN201380026278.XA patent/CN104335188B/zh not_active Expired - Fee Related
- 2013-05-14 EP EP13796743.6A patent/EP2856322A4/en not_active Withdrawn
- 2013-05-14 WO PCT/IB2013/053929 patent/WO2013179171A1/en active Application Filing
- 2013-05-14 AU AU2013269206A patent/AU2013269206A1/en not_active Abandoned
- 2013-05-14 SG SG11201404021WA patent/SG11201404021WA/en unknown
- 2013-05-14 KR KR1020147027065A patent/KR101730695B1/ko active IP Right Grant
- 2013-05-14 MX MX2014014163A patent/MX337317B/es active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100445966C (zh) * | 2005-09-05 | 2008-12-24 | 株式会社日立制作所 | 存储装置虚拟化装置的设备控制交接方法 |
CN101582013A (zh) * | 2009-06-10 | 2009-11-18 | 成都市华为赛门铁克科技有限公司 | 一种在分布式存储中处理存储热点的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2856322A1 (en) | 2015-04-08 |
MX337317B (es) | 2016-02-24 |
US20130326183A1 (en) | 2013-12-05 |
JP6270827B2 (ja) | 2018-01-31 |
KR101730695B1 (ko) | 2017-04-26 |
AU2013269206A1 (en) | 2014-11-13 |
CN104335188A (zh) | 2015-02-04 |
MX2014014163A (es) | 2015-02-04 |
US10831390B2 (en) | 2020-11-10 |
WO2013179171A1 (en) | 2013-12-05 |
EP2856322A4 (en) | 2015-06-17 |
KR20140136473A (ko) | 2014-11-28 |
US20130326182A1 (en) | 2013-12-05 |
SG11201404021WA (en) | 2014-08-28 |
US10817202B2 (en) | 2020-10-27 |
JP2015519667A (ja) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104335188B (zh) | 应用控制的子lun级数据迁移 | |
US10838929B2 (en) | Application-controlled sub-LUN level data migration | |
US9229870B1 (en) | Managing cache systems of storage systems | |
JP4690765B2 (ja) | ストレージ管理システム、ストレージ管理サーバ、データ再配置制御方法およびデータ再配置制御プログラム | |
US10831729B2 (en) | Application-controlled sub-LUN level data migration | |
US7096338B2 (en) | Storage system and data relocation control device | |
US8706976B2 (en) | Parallel access virtual tape library and drives | |
JP4322031B2 (ja) | 記憶装置 | |
JP4235220B2 (ja) | 計算機システムおよびデータ移行方法 | |
US8006054B2 (en) | Storage system and snapshot configuration migration method | |
JP4814119B2 (ja) | 計算機システム、ストレージ管理サーバ、及びデータ移行方法 | |
US20060143418A1 (en) | Storage system and data relocation control device | |
US20100235597A1 (en) | Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management | |
JP2005228170A (ja) | 記憶装置システム | |
JP2006099748A (ja) | ストレージシステム及びデータ再配置制御装置。 | |
JP2007072813A (ja) | ストレージシステム、ファイル移動方法、及びコンピュータプログラム | |
JP2008047156A (ja) | ストレージシステム及びデータ再配置制御装置 | |
JP2006139552A (ja) | ストレージ装置及びストレージ装置のデータライフサイクル管理方法 | |
JP2007109262A (ja) | ストレージシステム及びデータ再配置制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180417 |