CN102467352A - 减少存储系统请求的响应延迟 - Google Patents

减少存储系统请求的响应延迟 Download PDF

Info

Publication number
CN102467352A
CN102467352A CN201110216942XA CN201110216942A CN102467352A CN 102467352 A CN102467352 A CN 102467352A CN 201110216942X A CN201110216942X A CN 201110216942XA CN 201110216942 A CN201110216942 A CN 201110216942A CN 102467352 A CN102467352 A CN 102467352A
Authority
CN
China
Prior art keywords
storer
type
data
main process
relevant
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.)
Granted
Application number
CN201110216942XA
Other languages
English (en)
Other versions
CN102467352B (zh
Inventor
伊山·巴鲁克·皮克沃
罗恩·曼德尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies General IP Singapore Pte Ltd
Original Assignee
Infineon Technologies North America 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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN102467352A publication Critical patent/CN102467352A/zh
Application granted granted Critical
Publication of CN102467352B publication Critical patent/CN102467352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/0611Improving I/O performance in relation to response time
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Abstract

一种方法,包括通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。所述第二类存储器包括与主机设备相关的数据,所述第一类存储器包括与所述主机设备相关的数据对应的即时图像。所述第一类存储器的性能比所述第二类存储器高。该方法还包括在写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器,以及通过所述第一类存储器响应所述写请求和/或读请求而执行相应的写操作和/或读操作,来减少与所述响应相关的延迟。

Description

减少存储系统请求的响应延迟
技术领域
本公开一般地涉及存储系统,更具体地,涉及减少与存储系统中写请求和/或读请求的响应相关的延迟的方法、装置和/或系统。
背景技术
存储系统可以包括与存储在其储存池中的属于实体(例如,组织)的一个或多个用户相关的数据。一部分数据可能会被该一个或多个用户频繁访问,而该一个或多个用户可能不经常访问另一部分数据。此外,该存储系统可以配置为备份其中与该一个或多个用户相关的数据。
当经常访问的数据存储在提供低性能的硬件上时,读/写请求的延迟时间会增加。此外,在提供低性能的硬件包括的存储数据接近其最大容量时,延迟时间可能会进一步增加。在一个范例中,当硬件与远程存储结合在云存储环境中提供服务时,该一个或多个用户可能会遇到读/写超时,导致人力浪费和/或生产率损失。
发明内容
本发明公开了一种方法、设备和/或系统以减少在存储系统中写请求和/或读请求的响应延迟。
在一个方面中,提供了一种方法,包括通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。所述第二类存储器配置为包括与主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像(point-in-time image)。所述第一类存储器的性能比所述第二类存储器高,并且所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置。
该方法还包括在通过主机设备响应相应的写请求和/或读请求的写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器,和通过所述第一类存储器响应所述写请求和/或读请求而执行相应的写操作和/或读操作,来减少与所述响应相关的延迟。所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,以及所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。
在另一个方面中,提供了一种方法,包括:在第一类存储器中储存对应于与主机设备相关的数据的即时图像,和在第二类存储器中存储与所述主机设备相关的所述数据。所述第二类存储器的性能比所述第一类存储器低。所述方法还包括在所述即时图像所占的存储量超过阈值时,将至少一个对应于与主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中,以及通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。
所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置。此外,所述方法还包括在通过主机设备响应相应的写请求和/或读请求的写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器;以及通过所述第一类存储器执行写操作和/或读操作,所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据或一部分来自第二类存储器中的数据提取到所述第一类存储器中的适当的高速缓存位置,以便从所述位置读取。
在又一个方面中,提供了一种存储系统,包括:主机设备,所述主机设备配置为生成写请求和/或读请求,第一类存储器,所述第一类存储器与所述主机设备相关,第二类存储器,所述第二类存储器与所述主机设备相关。所述第二类存储器的性能比所述第一类存储器低。存储虚拟引擎,所述存储虚拟引擎与所述存储系统的存储管理相关,所述存储系统配置为执行所述第一类存储器和所述第二类存储器的虚拟卷分割,将所述第一类存储器和所述第二类存储器分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。所述第二类存储器配置为包括与主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像。
在所述主机设备处的用户配置为在通过主机设备响应相应的写请求和/或读请求的写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器,所述存储虚拟引擎配置为通过第一类存储器执行写操作和/或读操作,以减少所述相应的写请求和/或读请求的响应延迟。在所述写操作的过程中,要写入到第二类存储器的数据被高速缓存在第一类存储器中。在所述读操作的过程中,将一部分最近写入的缓存在所述第一类存储器的数据或一部分来自第二类存储器中的数据提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。
本文公开的方法和系统,可以通过任何方式实现各个方面,并可以一种含一组指令的机器可读介质的形式运行,在由机器执行时,可以使该机器执行本文所公开的任何操作。从附图和如下详细描述,本发明的其它特征将是显而易见的。
附图说明
本发明的实施例通过例子进行说明,而不受到附图的限制,其中,相同的附图标记表示相同的元件,在附图中:
图1是根据一个或多个实施例的存储系统的示意图;
图2是根据一个或多个实施例划分的虚拟卷,以及虚拟卷映射到的存储的类型的说明性视图;
图3是根据一个或多个实施例的数据写入过程的说明性视图;
图4是根据一个或多个实施例的紧随图3的数据写入过程的将数据从回写高速缓存写到合适类型的存储的说明性视图;
图5是根据一个或多个实施例的数据读取过程的说明性视图;
图6是根据一个或多个实施例的流程图,该图详细说明了涉及与图2的图像数据卷相关的最先使用(Least Recently Used,LRU)的高速缓存的实现的操作;
图7是根据一个或多个实施例的流程图,该图详细说明了在图1的存储系统中减少与写请求和/或读请求相关的响应延迟的方法的操作。
图8是根据一个或多个实施例的流程图,该图详细说明了在图1的存储系统中进行写操作和/或读操作所包括的操作。
从附图和以下详细说明,本实施例的其它特征将是显而易见的。
具体实施方式
本发明公开了减少与存储系统中写请求和/或读请求的响应相关的延迟的方法、装置和/或系统。虽然本实施例参照具体示例性实施例来描述,但是显然在没有偏离各个实施例的更广泛的精神和范围内,可以对这些实施例进行改进和变型。
图1示出了根据一个或多个实施例的存储系统100。在一个或多个实施例中,存储系统100可以包括一个或多个主机设备(例如主机设备1021-N),该主机设备配置为将与其相关的数据存储和/或备份在外部的一个或多个“储存池”中。在一个或多个实施例中,该一个或多个储存池中的每个可以是基于固态驱动器(Solid-State Drive,SSD)、基于硬盘驱动器(HDD)(对硬盘驱动器的访问基于,例如,光纤信道(FC)协议、串联的小型计算机系统接口(SAS)协议或串行高级技术连接(SATA)协议)、基于远程Internet小型计算机系统接口(iSCSI)卷、基于远程对象存储器或它们的组合。在一个或多个实施例中,上述驱动器可以是直接连接磁盘104或本地存储器阵列106。
作为说明性示例,图1示出了直接连接磁盘104和本地存储器阵列106构成的基于驱动器的存储器。在一个或多个实施例中,直接连接磁盘104和本地存储器阵列106可与该一个或多个主机设备(例如主机设备1021-N)在同一位置。图1也示出了远程iSCSI卷108和远程对象存储器110均位于远离该一个或多个主机设备(例如主机设备1021-N)的位置。在一个或多个实施例中,远程对象存储器110可能需要与其相关的仿真驱动程序,从而将其视为一个块设备。
在一个或多个实施例中,通过计算机网络120,一个或多个主机设备(例如主机设备1021-N)可以配置为和与其相关的远程存储(例如,远程iSCSI卷108,远程对象存储器110)进行通信。在一个或多个实施例中,计算机网络120可以是存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、使用通信链接(例如互联网)的虚拟专用网(VPN)、或它们的任何组合。在一个或多个实施例中,与一个或多个主机设备(例如主机设备1021-N)相关的存储(例如,直接连接磁盘104,本地存储器阵列106)可作为网络附属的存储(NAS)设备或直接连接的存储(DAS)设备,直接与该一个或多个主机设备(例如,主机设备1021-N)进行通信。
在图1的示例性实施例中,存储虚拟引擎132可耦合到计算机网络120,并且可配置为将与该一个或多个主机设备(如主机设备1021-N)相关的存储灵活地分配到直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108和远程对象存储器110和/或存储应用程序。
Figure BDA0000079861120000051
存储虚拟化管理器TM(SVMTM)可以是存储虚拟引擎132的例子。在一个或多个实施例中,存储虚拟引擎132可实现存储系统100中的储存池的集中化管理和虚拟卷在其中的分配。在一个或多个实施例中,存储虚拟引擎132可监视耦合到计算机网络120的物理设备。在一个或多个实施例中,物理设备可以是主机设备(例如,一个或多个主机设备1021-N)和/或配置为一个或多个储存池的存储(例如直接连接磁盘104,本地存储器阵列106,远程iSCSI卷108和/或远程对象存储器110)。如本文使用的存储虚拟引擎132可指硬件或软件。
因此,在图1所示的示例性实施例中,通过与其相关的代理,存储虚拟引擎132可以配置为监视一个或多个主机设备(如主机设备1021-N)、直接连接磁盘104、本地存储器阵列106、耦合到计算机网络120的远程iSCSI卷108和/或远程对象存储器110。在一个示例性实施例中,与存储虚拟引擎132相关的代理可以是安装在一个或多个主机设备上(例如主机设备1021-N)的图形用户界面(GUI)工具。在一个或多个实施例中,代理可以安装在多个主机设备上,但不在所有的主机设备上(例如主机设备1021-N)。在另一个例子中,代理可以单独安装在配置为与储系统100的系统管理员相关的主机设备(例如主机设备1021-N)上。在另一个例子中,代理可安装在一个或多个配置为是存储服务的客户的主机设备(例如主机设备1021-N)上,该存储服务与存储系统100作为其一部分的云计算环境相关。
在一个或多个实施例中,存储虚拟引擎132可以配置为集中化管理储存池和/或存储系统100相关的虚拟卷分配。此外,在一个或多个实施例中,存储虚拟引擎132可以配置为响应读/写请求,能够从与之相连的主机设备(例如主机设备1021-N)取回卷信息,并且将从一个或多个主机设备(例如主机设备1021-N)的输入/输出(I/O)直接发送到与之相相关的存储设备。
在一个或多个实施例中,一个或多个主机设备(如主机设备1021-N)可以支持与协议相关的数据集,该协议包括但不限于网络文件系统(NetworkFile System,NFS)协议、通用Internet文件系统(Common Internet FileSystem,CIFS)协议和iSCSI协议。在图1的示例性实施例中,计算机网络120可以具有适当的与直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108和远程对象存储器110兼容的控制器。例如,外围组件互连(PeripheralComponent Interconnect,PCI)的独立磁盘冗余阵列(Redundant Array ofIndependent Disks,RAID)控制器可与直接连接磁盘104兼容,和FC/iSCSI控制器可与本地存储器阵列106和/或远程iSCSI卷108兼容。
如上所述,远程对象存储器110可有一个与其相关的仿真驱动程序。在一个示例性实施例中,使用该仿真驱动程序和与包括远程对象存储器110的云相关的应用程序编程接口(API)可以仿真本地块设备。在传统块存储与该云相关的另一个示例性实施例中,与该云相关的供货商可以启动iSCSI逻辑单元号(logical Unit Number,LUN),然后可以为其安装适当的软件。
很明显,存储虚拟引擎132也可以配置为在与直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108和远程对象存储器110相关的存储阵列控制器上执行。上述改进完全落入本示例性实施例的范围内。
在一个或多个实施例中,可以通过存储虚拟引擎132完成对与一个或多个储存池(例如直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108、远程对象存储器110)相关的存储阵列的虚拟卷的分割。在一个或多个实施例中,虚拟卷可能源于该储存池(例如直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108、远程对象存储器110)的一个或多个构成元件的容量。在一个或多个实施例中,在该虚拟卷分割后,可完成虚拟卷到该储存池(例如直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108、远程对象存储器110)的一个或多个构成元件的存储位置的映射。
在一个或多个实施例中,存储虚拟引擎132可以配置为将虚拟卷划分为有效区和非有效区,该有效区配置为映射到与该储存池相关的第一类存储器,该非有效区配置为映射到与储存池相关的第二类存储器。在一个或多个实施例中,存储虚拟引擎132配置为分割与储存池相关的数据卷,从而基本数据卷可以驻留在该储存池的构成元件中,而图像数据卷可以驻留在该储存池的另一个构成元件中。在一个或多个实施例中,在一个或多个装有代理的主机设备(如主机设备1021-N)处的一个用户/多个用户可以选择储存池的构成元件和/或其它构成元件。在一个或多个实施例中,图像数据卷可以包括与基础数据卷相关的即时图像(例如,快照)。
图2示出了根据一个或多个实施例的上述划分虚拟卷202和虚拟卷202映射到的存储类型(例如,第一类存储器204、第二类存储器206)。在一个或多个实施例中,如上所述,虚拟卷202可分为有效区212和非有效区214,与储存池相关的数据卷(未显示)可分成图像数据卷222和基础数据卷224。在一个或多个实施例中,基础数据卷224包括与主机设备(例如,主机设备1021-N)相关的数据。同样如上所述,在一个或多个实施例中,图像数据卷222可以包括即时图像,其对应与主机设备(如主机设备1021-N)相关的数据。
如上所述,在一个或多个实施例中,有效区212可以映射到第一类存储器204,而非有效区214可以映射到第二类存储器206。在一个或多个实施例中,存储虚拟引擎132可以配置为使图像数据卷222存储到储存池的第一类存储器204,以及使基础数据卷224存储到第二类存储器206。在一个或多个实施例中,驻留在第一类存储器204上的图像数据卷222可以配置为存储与该数据卷相关的即时图像。在一个或多个实施例中,如上所述,用户可以访问上述储存地点。
在一个或多个实施例中,在主机设备(如主机设备1021-N)的用户可分配与其相关的本地存储的一些存储空间,用于高速缓存目的。远程存储可作为云服务提供给该用户。因此,在一个或多个实施例中,第一类存储器204(包括图像数据卷222)可包含一些分配用于高速缓存目的空间,第二类存储器206可为远程存储。在一个或多个实施例中,用户可以从与之相关的主机设备(如主机设备1021-N)启动数据写入请求。图3示出了根据一个或多个实施例的该数据写入的过程。在一个或多个实施例中,如图3所示,因为该主机设备(例如,主机设备1021-N)发出的数据写入请求(例如,写请求302)可能与有效区212相关,因此写操作可在第一种类存储204上执行。在一个或多个实施例中,当第一类存储器204比第二类存储器206关联了更高的性能时,其中(例如,由用户)分配的高速缓存可用作回写高速缓存。
如图3所示,在一个或多个实施例中,写操作(例如,写304)可在具有较高性能的第一类存储器204上进行。因此,在一个或多个实施例中,由于写操作(例如,写304)在快速存储(例如,第一类存储器204)中执行,因此所有的写请求(例如,写请求302)可以很快得到解决。在一个或多个实施例中,通过用户分配快速存储中的空间用于高速缓存目的,可以容易地访问最近写入的数据。
在一个或多个实施例中,如上所述,第一类存储器204现在可以包括回写高速缓存。在一个或多个实施例中,最近写入的数据可以存储在回写高速缓存中并可通过其进行访问。在一个或多个实施例中,在主机设备(如主机设备1021-N)的空闲周期内,最近写入的数据可能被写入第二类存储器206(例如,基础数据卷224)中。在一个或多个实施例中,当第二类存储器206为远程存储时,其中主机设备配置为通过计算机网络120与其通信,最近写入的数据可能被写入第二类存储器206,同时也考虑与计算机网络120相关的条件(例如,在诸如高带宽可用性、流量少的最佳条件期间)。在一个或多个实施例中,在回写高速缓存中的最近写入数据的即时图像可能在写入到第二类存储器206之前,通过存储虚拟引擎132得到。图4示出了从回写高速缓存将数据写入到第二类存储器206中。
在一个或多个实施例中,如上所述,在主机设备(如主机设备1021-N)上的用户可分配一些与其相关的本地存储中的空间用于高速缓存的目的。远程存储可以是提供给用户的云服务。因此,在一个或多个实施例中,再一次,第一类存储器204(包括图像数据卷222)可包含一些分配用作高速缓存目的的空间,第二类存储器206可以是远程存储。在一个或多个实施例中,用户可以从与其相关的主机设备(如主机设备1021-N)启动数据读请求。
图5示出了根据一个或多个实施例的数据读取过程。在一个或多个实施例中,至少响应读请求(例如,读请求502),存储虚拟引擎132配置为初始化存储在图像数据卷222中的即时图像相关的映射,以指明“无权限”状态,而非“只读”。因此,在一个或多个实施例中,由于上述“无权限”状态,读请求502可能会失败。在一个或多个实施例中,读请求502可能会被指示从基础数据卷224读取(例如,读504)或读取最近写入到图像数据卷222的高速缓存中的数据。在一个或多个实施例中,因为该读请求失败,存储虚拟引擎132可以配置为从基础数据卷224或图像数据卷222中复制适当部分的数据,而无论上述部分是映射到虚拟卷202的有效区212或非有效区214。
在一个或多个实施例中,则在基础数据卷224或图像数据卷222中的适当部分的数据被复制的所述空间可以被标记为未使用。因此,在一个或多个实施例中,如果所述适当部分的数据从基础数据卷224复制,则该适当部分的数据可以从基础数据卷224被提取到第一类存储器204中的高速缓存位置。在一个或多个实施例中,如果所述适当部分的数据从图形数据卷222复制,则该适当部分的数据可以从图像数据卷222被提取到第一类存储器204中的适当的高速缓存位置。在一个或多个实施例中,通过存储虚拟引擎132,即时图像可按创建/数据访问的先后顺序从上到下布置在图像数据卷222中。最后访问的数据对应于图像数据卷222的上部位置,而最先访问的数据对应于图像数据卷222的下部位置。
因此,在一个或多个实施例中,分配给高速缓存的位置可以被用作读高速缓存。在一个或多个实施例中,无论要读取的数据的位置(例如,基础数据卷224,图像数据卷222的下部),数据都可以被带到图像数据卷222的上部而从该位置读取。因此,在一个或多个实施例中,储存池的最近读取区域(如数据部分)可以通过第一类存储器204的操作访问,该第一类存储器204比第二类存储器206具有更高的性能。在一个或多个实施例中,由于读高速缓存,因而可进一步提高同一区域的重复访问性能。在一个或多个实施例中,高速缓存在第一类存储器204中的最近写入数据或来自第二类存储器206的数据的部分,在成功完成读操作后可释放到原来的位置。
因此,在一个或多个实施例中,在储存池中的最近访问区域可被映射到第一类存储器204,而不管其中的位置。在一个或多个实施例中,当即时图像频繁(例如,定期)创建时,图像数据卷222的下部位置可容纳最先使用数据的即时图像,而图像数据卷222的上部位置可容纳最后使用数据的即时图像。因此,在一个或多个实施例中,与下部即时图像相关的删除(或重新同步)能从图像数据卷222中删除最先使用的数据。在一个或多个实施例中,与图像数据卷222中删除的即时图像相关的数据可以重新同步到基础数据卷224中与其对应的原始数据。
在一个或多个实施例中,最先使用的即时图像可迁移到基础数据卷224,而不是在图像数据卷222中被删除。图6是根据一个或多个实施例的流程图,该图详细说明了涉及与图像数据卷222相关的最先使用的高速缓存的实现的操作。在一个或多个实施例中,操作602可以包括在图像数据卷222中频繁(例如,定期)创建数据的即时图像。在一个或多个实施例中,操作604包括检查与图像数据卷222相关的高速缓存存储量是否超过了阈值。如果是,在一个或多个实施例中,操作606可以包括重新同步/迁移下部即时图像到基础数据卷224中的自由空间。如果否,在一个或多个实施例中,控制可传给操作602。
因此,在一个或多个实施例中,(例如,通过在主机设备(例如,主机设备1021-N)的用户)可分配在两个储存池的卷,从而快速存储能力(例如,第一类存储器204)可以用于高速缓存目的,而缓慢存储能力(例如,第二类存储器206)可以用于存储大多数的数据。在一个或多个实施例中,可减少结合上述技术的存储系统100中与读请求和写请求相关的延迟。在一个或多个实施例中,通过存储虚拟引擎132可将虚拟卷202限定在一定存储空间上,而即时图像被存储到具有更好性能的不同的存储空间中。这样,在一个或多个实施例中,与即时图像相关的存储可用来作为其余数据的缓存。在一个或多个实施例中,存储虚拟引擎132可管理数据在上述高速缓存的进出传输,以提供更好的性能。
图7是根据一个或多个实施例的流程图,该图详细说明了在存储系统100中减少与写请求和/或读请求相关的响应延迟的方法的操作。在一个或多个实施例中,操作702包括通过存储虚拟引擎132将虚拟卷202分割为有效区212和非有效区214,该有效区212配置为映射到第一类存储器204,该非有效区214配置为映射到第二类存储器206。在一个或多个实施例中,第二类存储器206可以配置为包括与主机设备相关的数据,而第一类存储器204可以配置为包括对应于与该主机设备相关的数据的即时图像。在一个或多个实施例中,第一类存储器204可以提供比第二类存储器206更高的性能,而存储虚拟引擎132可以配置为将虚拟卷202映射到第一类存储器204和第二类存储器206中的存储位置。
在一个或多个实施例中,操作704可以包括在通过主机设备响应与写请求和/或读请求对应的写操作和/或读操作过程中,分配第一类存储器204的部分空间用于高速缓存存储器。在一个或多个实施例中,操作706可以包括通过第一类存储器204执行对应的写操作和/或读操作,来减少与写请求和/或读请求相关的响应延迟。在一个或多个实施例中,写操作包括将要写入到第二类存储器206的数据高速缓存到第一类存储器204中,读操作包括将一部分最近写入的高速缓存在第一类存储器204中的数据或来自第二类存储器206中的数据提取到第一类存储器204中适当的高速缓存位置,以便从该位置读取。
图8是根据一个或多个实施例的流程图,该图详细说明了在存储系统100中进行写操作和/或读操作所包括的操作。在一个或多个实施例中,操作802可以包括将对应于与主机设备相关的数据的即时图像存储到第一类存储器204中。在一个或多个实施例中,操作804可以包括将与主机设备相关的数据存储在第二类存储器206中。在一个或多个实施例中,第二类存储器206可以提供的性能比第一类存储器204低。
在一个或多个实施例中,操作806可以包括在即时图像所占存储量超过阈值时,重新同步或迁移一个或多个即时图像到第二类存储器206中,该即时图像对应于与主机设备相关的最先访问的数据。在一个或多个实施例中,操作808可以包括通过存储虚拟引擎132,将虚拟卷202分割成有效区212和非有效区214,该有效区212配置为映射到第一类存储器204,该非有效区214配置为映射到第二类存储器206。在一个或多个实施例中,存储虚拟引擎132可以配置为将虚拟卷202映射到第一类存储器204和第二类存储器206中的存储位置。
在一个或多个实施例中,操作810可以包括在通过主机设备响应与写请求和/或读请求对应的写操作和/或读操作过程中,分配第一类存储器204中的一部分空间用作高速缓存存储器。在一个或多个实施例中,操作812然后可以通过第一类存储器204,执行写操作和/或读操作。在一个或多个实施例中,该写操作包括将要写入第二类存储器206的数据高速缓存在第一类存储器204中,该读操作包括将一部分最近写入的高速缓存在第一类存储器204中的数据或来自第二类存储器206的数据提取到第一类存储器204中适当的缓存位置,以便从该位置读取。
虽然已经参照具体的示例性实施例描述了本实施例,但在没有偏离这些实施例更广泛的精神和范围的情况下,对这些实施例的各种改进和变型是显而易见的。而且,例如,本文所述的各种设备和模块可以使用硬件电路(例如,基于CMOS的逻辑电路)、固件、软件或硬件、固件和软件的任何结合(例如,收录在机器可读介质中)来启用和操作。
另外,可以理解本文公开的各种操作、过程和方法,可以包含在与数据处理系统(例如,计算机设备)兼容的机器可读介质和/或机器可访问介质中,并且可以任何顺序执行(例如,包括利用实现各种操作的装置)。因此,说明书和附图被认为是说明性的而不是限制性的。

Claims (10)

1.一种方法,包括:
通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器,所述第二类存储器配置为包括与主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像,所述第一类存储器的性能比所述第二类存储器高,并且所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置;
在通过主机设备响应于相应的写请求和读请求中的至少一个的写操作和读操作中的至少一个的过程中,分配第一类存储器中的一部分空间用作高速缓存存储器;以及
响应所述写请求和读请求中的至少一个而通过所述第一类存储器执行相应的写操作和读操作中的至少一个,由此来减少与所述响应相关的延迟,所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,以及所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。
2.根据权利要求1所述的方法,进一步包括在读操作之前,通过所述存储虚拟引擎,初始化与第一类存储器中的即时图像相关的只读映射,来显示“无权限”状态,从而使所述读请求失败。
3.根据权利要求1所述的方法,进一步包括按照数据访问的先后顺序在所述第一类存储器中布置各所述即时图像。
4.根据权利要求1所述的方法,进一步包括在成功完成读操作后,将一部分最近写入的高速缓存在所述第一类存储器中的数据和一部分来自所述第二类存储器的数据的其中之一释放到原来的位置。
5.根据权利要求1所述的方法,进一步包括在所述主机设备的空闲周期期间,将高速缓存在第一类存储器中的数据写入到第二类存储器中。
6.根据权利要求3所述的方法,进一步包括:
通过所述存储虚拟引擎,定期在所述第一类存储器中创建对应于与所述主机设备相关的数据的所述即时图像;以及
在所述即时图像所占的存储量超过阈值时,将至少一个对应于与主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中。
7.一种方法,包括:
在第一类存储器中储存对应于与主机设备相关的数据的即时图像;
在第二类存储器中存储与所述主机设备相关的所述数据,所述第二类存储器的性能比所述第一类存储器低;
在所述即时图像所占的存储量超过阈值时,将至少一个对应于与所述主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中;
通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器,所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置;
在通过主机设备响应于相应的写请求和读请求中的至少一个的写操作和读操作中的至少一个的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器;以及
通过所述第一类存储器执行写操作和读操作中的至少一个,所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置,以便从所述位置读取。
8.根据权利要求7所述的方法,进一步包括在读操作之前,通过所述存储虚拟引擎,初始化与第一类存储器中的即时图像相关的只读映射,来显示“无权限”状态,从而使所述读请求失败。
9.一种存储系统,包括:
主机设备,所述主机设备配置为生成写请求和读请求中的至少一个;
第一类存储器,所述第一类存储器与所述主机设备相关;
第二类存储器,所述第二类存储器与所述主机设备相关,所述第二类存储器的性能比所述第一类存储器低;以及
存储虚拟引擎,所述存储虚拟引擎与所述存储系统的存储管理相关,所述存储虚拟引擎配置为执行所述第一类存储器和所述第二类存储器的虚拟卷分割,将所述第一类存储器和所述第二类存储器分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器,所述第二类存储器配置为包括与所述主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像,
其中,在所述主机设备处的用户配置为,在通过主机设备响应于相应的写请求和读请求中的至少一个的写操作和读操作中的至少一个的过程中,分配第一类存储器中的一部分空间用作高速缓存存储器,
其中,所述存储虚拟引擎配置为通过第一类存储器执行写操作和读操作中的至少一个,以减少对所述相应的写请求和读请求中的至少一个的响应相关的延迟,
其中,在所述写操作的过程中,要写入到第二类存储器的数据被高速缓存在第一类存储器中,以及
其中,在所述读操作的过程中,将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。
10.根据权利要求9所述的存储系统,其中,所述存储虚拟引擎进一步配置为:
定期在所述第一类存储器中创建对应于与所述主机设备相关的数据的所述即时图像;以及
在所述即时图像所占的存储量超过阈值时,将至少一个对应于与主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中。
CN201110216942.XA 2010-11-08 2011-07-29 减少存储系统请求的响应延迟 Active CN102467352B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/941,112 US8782335B2 (en) 2010-11-08 2010-11-08 Latency reduction associated with a response to a request in a storage system
US12/941,112 2010-11-08

Publications (2)

Publication Number Publication Date
CN102467352A true CN102467352A (zh) 2012-05-23
CN102467352B CN102467352B (zh) 2016-04-13

Family

ID=45062899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110216942.XA Active CN102467352B (zh) 2010-11-08 2011-07-29 减少存储系统请求的响应延迟

Country Status (6)

Country Link
US (1) US8782335B2 (zh)
EP (1) EP2450784B1 (zh)
JP (1) JP5813375B2 (zh)
KR (1) KR20120050891A (zh)
CN (1) CN102467352B (zh)
TW (1) TWI488044B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503924A (zh) * 2014-12-16 2015-04-08 华为技术有限公司 一种分层存储系统中的区域分配方法及装置
CN104516827A (zh) * 2013-09-27 2015-04-15 杭州信核数据科技有限公司 一种读缓存的方法及装置
CN107450847A (zh) * 2016-04-18 2017-12-08 美超微电脑股份有限公司 储存箱与其系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5657801B2 (ja) * 2011-05-31 2015-01-21 株式会社日立製作所 ストレージシステムおよび記憶制御方法
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US10747475B2 (en) 2013-08-26 2020-08-18 Vmware, Inc. Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US9887924B2 (en) 2013-08-26 2018-02-06 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
US9811531B2 (en) 2013-08-26 2017-11-07 Vmware, Inc. Scalable distributed storage architecture
JP2015166963A (ja) * 2014-03-04 2015-09-24 富士通株式会社 情報提供方法、装置及びプログラム
KR102317787B1 (ko) 2015-02-11 2021-10-26 삼성전자주식회사 메시지 전송 플로우 관리 방법 및 이를 적용하는 스토리지 디바이스
US9747040B1 (en) * 2015-06-30 2017-08-29 EMC IP Holding Company LLC Method and system for machine learning for write command selection based on technology feedback
KR102546474B1 (ko) * 2016-04-25 2023-06-22 삼성전자주식회사 모바일 장치의 동작 방법 및 모바일 장치
CN107515723B (zh) * 2016-06-16 2020-04-24 伊姆西Ip控股有限责任公司 用于管理存储系统中的存储器的方法和系统
KR102636910B1 (ko) * 2023-11-21 2024-02-15 주식회사 인텔렉투스 가상 머신을 이용한 엣지 디바이스 및 이를 이용한 데이터 처리 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097441A1 (en) * 2003-10-31 2005-05-05 Herbach Jonathan D. Distributed document version control
CN101325610A (zh) * 2008-07-30 2008-12-17 杭州华三通信技术有限公司 虚拟磁带库备份系统以及磁盘电源控制方法
US20100122050A1 (en) * 2008-11-13 2010-05-13 International Business Machines Corporation Virtual storage migration technique to minimize spinning disks

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875478A (en) * 1996-12-03 1999-02-23 Emc Corporation Computer backup using a file system, network, disk, tape and remote archiving repository media system
JP3033736B2 (ja) * 1998-06-18 2000-04-17 長野日本電気ソフトウェア株式会社 リモートディスク装置アクセスシステム
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
US20060013222A1 (en) 2002-06-28 2006-01-19 Brocade Communications Systems, Inc. Apparatus and method for internet protocol data processing in a storage processing device
JP2004334463A (ja) * 2003-05-07 2004-11-25 Sony Corp 情報処理装置、リソース提供システム、および情報処理方法、並びにコンピュータ・プログラム
US20100037023A1 (en) * 2008-08-07 2010-02-11 Aszmann Lawrence E System and method for transferring data between different raid data storage types for current data and replay data
JP2006155202A (ja) * 2004-11-29 2006-06-15 Toshiba Corp 遠隔バックアップシステム及び方法
US8171246B2 (en) * 2008-05-31 2012-05-01 Lsi Corporation Ranking and prioritizing point in time snapshots
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097441A1 (en) * 2003-10-31 2005-05-05 Herbach Jonathan D. Distributed document version control
CN101325610A (zh) * 2008-07-30 2008-12-17 杭州华三通信技术有限公司 虚拟磁带库备份系统以及磁盘电源控制方法
US20100122050A1 (en) * 2008-11-13 2010-05-13 International Business Machines Corporation Virtual storage migration technique to minimize spinning disks

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516827A (zh) * 2013-09-27 2015-04-15 杭州信核数据科技有限公司 一种读缓存的方法及装置
CN104516827B (zh) * 2013-09-27 2018-01-30 杭州信核数据科技股份有限公司 一种读缓存的方法及装置
CN104503924A (zh) * 2014-12-16 2015-04-08 华为技术有限公司 一种分层存储系统中的区域分配方法及装置
CN104503924B (zh) * 2014-12-16 2018-02-13 华为技术有限公司 一种分层存储系统中的区域分配方法及装置
CN107450847A (zh) * 2016-04-18 2017-12-08 美超微电脑股份有限公司 储存箱与其系统

Also Published As

Publication number Publication date
TWI488044B (zh) 2015-06-11
US8782335B2 (en) 2014-07-15
JP2012104097A (ja) 2012-05-31
JP5813375B2 (ja) 2015-11-17
CN102467352B (zh) 2016-04-13
US20120117320A1 (en) 2012-05-10
KR20120050891A (ko) 2012-05-21
EP2450784A3 (en) 2013-07-10
EP2450784A2 (en) 2012-05-09
TW201220060A (en) 2012-05-16
EP2450784B1 (en) 2018-05-02

Similar Documents

Publication Publication Date Title
CN102467352B (zh) 减少存储系统请求的响应延迟
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
US8443160B2 (en) Computer system and data migration method
Byan et al. Mercury: Host-side flash caching for the data center
US8788754B2 (en) Virtualized storage system and method of operating thereof
CN102047237B (zh) 在虚拟机之间提供对象级输入/输出请求以存取存储子系统
US8904230B2 (en) Dynamically resizing a parity declustered group
US9760574B1 (en) Managing I/O requests in file systems
US9229870B1 (en) Managing cache systems of storage systems
US9557933B1 (en) Selective migration of physical data
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US10740005B1 (en) Distributed file system deployment on a data storage system
US10521345B2 (en) Managing input/output operations for shingled magnetic recording in a storage system
JP2009043030A (ja) ストレージシステム
US20130138884A1 (en) Load distribution system
US20120278560A1 (en) Pre-fetching in a storage system that maintains a mapping tree
US8321642B1 (en) Information storage system, snapshot acquisition method, and data storage medium
US10884622B2 (en) Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume
US8924442B2 (en) Method and system for implementing high availability storage on thinly provisioned arrays
US10157020B1 (en) Optimizing copy processing between storage processors
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
US10552342B1 (en) Application level coordination for automated multi-tiering system in a federated environment
US11625183B1 (en) Techniques for data layout on rotating disk drives
JP5597266B2 (ja) ストレージシステム
US10853257B1 (en) Zero detection within sub-track compression domains

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160811

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California

Patentee before: LSI Corp.

TR01 Transfer of patent right

Effective date of registration: 20181019

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: Singapore Singapore

Patentee before: Avago Technologies General IP (Singapore) Pte. Ltd.

TR01 Transfer of patent right