减少存储系统请求的响应延迟的制作方法

文档序号:6429751阅读:162来源:国知局
专利名称:减少存储系统请求的响应延迟的制作方法
技术领域
本公开一般地涉及存储系统,更具体地,涉及减少与存储系统中写请求和/或读请求的响应相关的延迟的方法、装置和/或系统。
背景技术
存储系统可以包括与存储在其储存池中的属于实体(例如,组织)的一个或多个用户相关的数据。一部分数据可能会被该一个或多个用户频繁访问,而该一个或多个用户可能不经常访问另一部分数据。此外,该存储系统可以配置为备份其中与该一个或多个用户相关的数据。当经常访问的数据存储在提供低性能的硬件上时,读/写请求的延迟时间会增力口。此外,在提供低性能的硬件包括的存储数据接近其最大容量时,延迟时间可能会进一步增加。在一个范例中,当硬件与远程存储结合在云存储环境中提供服务时,该一个或多个用户可能会遇到读/写超时,导致人力浪费和/或生产率损失。

发明内容
本发明公开了一种方法、设备和/或系统以减少在存储系统中写请求和/或读请求的响应延迟。在一个方面中,提供了一种方法,包括通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。所述第二类存储器配置为包括与主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像(point-in-time image) 0所述第一类存储器的性能比所述第二类存储器高,并且所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置。该方法还包括在通过主机设备响应相应的写请求和/或读请求的写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器,和通过所述第一类存储器响应所述写请求和/或读请求而执行相应的写操作和/或读操作,来减少与所述响应相关的延迟。所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,以及所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。在另一个方面中,提供了一种方法,包括在第一类存储器中储存对应于与主机设备相关的数据的即时图像,和在第二类存储器中存储与所述主机设备相关的所述数据。所述第二类存储器的性能比所述第一类存储器低。所述方法还包括在所述即时图像所占的存储量超过阈值时,将至少一个对应于与主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中,以及通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区, 所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。
所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置。此外,所述方法还包括在通过主机设备响应相应的写请求和/或读请求的写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器;以及通过所述第一类存储器执行写操作和/或读操作,所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据或一部分来自第二类存储器中的数据提取到所述第一类存储器中的适当的高速缓存位置,以便从所述位置读取。在又一个方面中,提供了一种存储系统,包括主机设备,所述主机设备配置为生成写请求和/或读请求,第一类存储器,所述第一类存储器与所述主机设备相关,第二类存储器,所述第二类存储器与所述主机设备相关。所述第二类存储器的性能比所述第一类存储器低。存储虚拟引擎,所述存储虚拟引擎与所述存储系统的存储管理相关,所述存储系统配置为执行所述第一类存储器和所述第二类存储器的虚拟卷分割,将所述第一类存储器和所述第二类存储器分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。所述第二类存储器配置为包括与主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像。在所述主机设备处的用户配置为在通过主机设备响应相应的写请求和/或读请求的写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器,所述存储虚拟引擎配置为通过第一类存储器执行写操作和/或读操作,以减少所述相应的写请求和/或读请求的响应延迟。在所述写操作的过程中,要写入到第二类存储器的数据被高速缓存在第一类存储器中。在所述读操作的过程中,将一部分最近写入的缓存在所述第一类存储器的数据或一部分来自第二类存储器中的数据提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。本文公开的方法和系统,可以通过任何方式实现各个方面,并可以一种含一组指令的机器可读介质的形式运行,在由机器执行时,可以使该机器执行本文所公开的任何操作。从附图和如下详细描述,本发明的其它特征将是显而易见的。


本发明的实施例通过例子进行说明,而不受到附图的限制,其中,相同的附图标记表示相同的元件,在附图中图1是根据一个或多个实施例的存储系统的示意图;图2是根据一个或多个实施例划分的虚拟卷,以及虚拟卷映射到的存储的类型的说明性视图;图3是根据一个或多个实施例的数据写入过程的说明性视图;图4是根据一个或多个实施例的紧随图3的数据写入过程的将数据从回写高速缓存写到合适类型的存储的说明性视图;图5是根据一个或多个实施例的数据读取过程的说明性视图;图6是根据一个或多个实施例的流程图,该图详细说明了涉及与图2的图像数据卷相关的最先使用(Least Recently Used, LRU)的高速缓存的实现的操作;图7是根据一个或多个实施例的流程图,该图详细说明了在图1的存储系统中减少与写请求和/或读请求相关的响应延迟的方法的操作。图8是根据一个或多个实施例的流程图,该图详细说明了在图1的存储系统中进行写操作和/或读操作所包括的操作。从附图和以下详细说明,本实施例的其它特征将是显而易见的。
具体实施例方式本发明公开了减少与存储系统中写请求和/或读请求的响应相关的延迟的方法、 装置和/或系统。虽然本实施例参照具体示例性实施例来描述,但是显然在没有偏离各个实施例的更广泛的精神和范围内,可以对这些实施例进行改进和变型。图1示出了根据一个或多个实施例的存储系统100。在一个或多个实施例中,存储系统100可以包括一个或多个主机设备(例如主机设备102i_N),该主机设备配置为将与其相关的数据存储和/或备份在外部的一个或多个“储存池”中。在一个或多个实施例中,该一个或多个储存池中的每个可以是基于固态驱动器(Solid-State Drive, SSD)、基于硬盘驱动器(HDD)(对硬盘驱动器的访问基于,例如,光纤信道(FC)协议、串联的小型计算机系统接口(SAQ协议或串行高级技术连接(SATA)协议)、基于远程化切!!!讨小型计算机系统接口(iSCSI)卷、基于远程对象存储器或它们的组合。在一个或多个实施例中,上述驱动器可以是直接连接磁盘104或本地存储器阵列106。作为说明性示例,图1示出了直接连接磁盘104和本地存储器阵列106构成的基于驱动器的存储器。在一个或多个实施例中,直接连接磁盘104和本地存储器阵列106可与该一个或多个主机设备(例如主机设备102i_N)在同一位置。图1也示出了远程iSCSI卷 108和远程对象存储器110均位于远离该一个或多个主机设备(例如主机设备102i_N)的位置。在一个或多个实施例中,远程对象存储器110可能需要与其相关的仿真驱动程序,从而将其视为一个块设备。在一个或多个实施例中,通过计算机网络120,一个或多个主机设备(例如主机设备102i_N)可以配置为和与其相关的远程存储(例如,远程iSCSI卷108,远程对象存储器 110)进行通信。在一个或多个实施例中,计算机网络120可以是存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、使用通信链接(例如互联网)的虚拟专用网(VPN)、或它们的任何组合。在一个或多个实施例中,与一个或多个主机设备(例如主机设备102i_N)相关的存储 (例如,直接连接磁盘104,本地存储器阵列106)可作为网络附属的存储(NAS)设备或直接连接的存储(DAS)设备,直接与该一个或多个主机设备(例如,主机设备进行通信。在图1的示例性实施例中,存储虚拟引擎132可耦合到计算机网络120,并且可配置为将与该一个或多个主机设备(如主机设备102i_N)相关的存储灵活地分配到直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108和远程对象存储器110和/或存储应用程序。LSI 存储虚拟化管理器 (SVM )可以是存储虚拟引擎132的例子。在一个或多个实施例中,存储虚拟引擎132可实现存储系统100中的储存池的集中化管理和虚拟卷在其中的分配。在一个或多个实施例中,存储虚拟引擎132可监视耦合到计算机网络120的物理设备。在一个或多个实施例中,物理设备可以是主机设备(例如,一个或多个主机设备 102i_N)和/或配置为一个或多个储存池的存储(例如直接连接磁盘104,本地存储器阵列 106,远程iSCSI卷108和/或远程对象存储器110)。如本文使用的存储虚拟引擎132可指硬件或软件。因此,在图1所示的示例性实施例中,通过与其相关的代理,存储虚拟引擎132可以配置为监视一个或多个主机设备(如主机设备102i_N)、直接连接磁盘104、本地存储器阵列106、耦合到计算机网络120的远程iSCSI卷108和/或远程对象存储器110。在一个示例性实施例中,与存储虚拟引擎132相关的代理可以是安装在一个或多个主机设备上(例如主机设备102i_N)的图形用户界面(GUI)工具。在一个或多个实施例中,代理可以安装在多个主机设备上,但不在所有的主机设备上(例如主机设备102i_N)。在另一个例子中,代理可以单独安装在配置为与储系统100的系统管理员相关的主机设备(例如主机设备102i_N) 上。在另一个例子中,代理可安装在一个或多个配置为是存储服务的客户的主机设备(例如主机设备102i_N)上,该存储服务与存储系统100作为其一部分的云计算环境相关。在一个或多个实施例中,存储虚拟引擎132可以配置为集中化管理储存池和/或存储系统100相关的虚拟卷分配。此外,在一个或多个实施例中,存储虚拟引擎132可以配置为响应读/写请求,能够从与之相连的主机设备(例如主机设备102i_N)取回卷信息,并且将从一个或多个主机设备(例如主机设备102i_N)的输入/输出(I/O)直接发送到与之相相关的存储设备。在一个或多个实施例中,一个或多个主机设备(如主机设备102i_N)可以支持与协议相关的数据集,该协议包括但不限于网络文件系统(Network File System, NFS)协议、 通用 hternet 文件系统(Common Internet File System, CIFS)协议和 iSCSI 协议。在图1的示例性实施例中,计算机网络120可以具有适当的与直接连接磁盘104、本地存储器阵列106、远程iSCSI卷108和远程对象存储器110兼容的控制器。例如,外围组件互连 (Peripheral Component Interconnect, PCI)的独立磁盘冗余阵列(Redundant Array of Independent 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配置为分割与储存池相关的数据卷,从而基本数据卷可以驻留在该储存池的构成元件中,而图像数据卷可以驻留在该储存池的另一个构成元件中。在一个或多个实施例中,在一个或多个装有代理的主机设备(如主机设备10 ,)处的一个用户/多个用户可以选择储存池的构成元件和/或其它构成元件。在一个或多个实施例中,图像数据卷可以包括与基础数据卷相关的即时图像(例如,快照)。图2示出了根据一个或多个实施例的上述划分虚拟卷202和虚拟卷202映射到的存储类型(例如,第一类存储器204、第二类存储器206)。在一个或多个实施例中,如上所述,虚拟卷202可分为有效区212和非有效区214,与储存池相关的数据卷(未显示)可分成图像数据卷222和基础数据卷224。在一个或多个实施例中,基础数据卷2M包括与主机设备(例如,主机设备102i_N)相关的数据。同样如上所述,在一个或多个实施例中,图像数据卷222可以包括即时图像,其对应与主机设备(如主机设备102i_N)相关的数据。如上所述,在一个或多个实施例中,有效区212可以映射到第一类存储器204,而非有效区214可以映射到第二类存储器206。在一个或多个实施例中,存储虚拟引擎132可以配置为使图像数据卷222存储到储存池的第一类存储器204,以及使基础数据卷2M存储到第二类存储器206。在一个或多个实施例中,驻留在第一类存储器204上的图像数据卷 222可以配置为存储与该数据卷相关的即时图像。在一个或多个实施例中,如上所述,用户可以访问上述储存地点。在一个或多个实施例中,在主机设备(如主机设备102i_N)的用户可分配与其相关的本地存储的一些存储空间,用于高速缓存目的。远程存储可作为云服务提供给该用户。因此,在一个或多个实施例中,第一类存储器204 (包括图像数据卷22 可包含一些分配用于高速缓存目的空间,第二类存储器206可为远程存储。在一个或多个实施例中,用户可以从与之相关的主机设备(如主机设备102i_N)启动数据写入请求。图3示出了根据一个或多个实施例的该数据写入的过程。在一个或多个实施例中,如图3所示,因为该主机设备(例如,主机设备102i_N)发出的数据写入请求(例如,写请求302)可能与有效区212相关,因此写操作可在第一种类存储204上执行。在一个或多个实施例中,当第一类存储器204比第二类存储器206关联了更高的性能时,其中(例如,由用户)分配的高速缓存可用作回写高速缓存。如图3所示,在一个或多个实施例中,写操作(例如,写304)可在具有较高性能的第一类存储器204上进行。因此,在一个或多个实施例中,由于写操作(例如,写304)在快速存储(例如,第一类存储器204)中执行,因此所有的写请求(例如,写请求30 可以很快得到解决。在一个或多个实施例中,通过用户分配快速存储中的空间用于高速缓存目的, 可以容易地访问最近写入的数据。在一个或多个实施例中,如上所述,第一类存储器204现在可以包括回写高速缓存。在一个或多个实施例中,最近写入的数据可以存储在回写高速缓存中并可通过其进行访问。在一个或多个实施例中,在主机设备(如主机设备102i_N)的空闲周期内,最近写入的数据可能被写入第二类存储器206(例如,基础数据卷224)中。在一个或多个实施例中, 当第二类存储器206为远程存储时,其中主机设备配置为通过计算机网络120与其通信,最近写入的数据可能被写入第二类存储器206,同时也考虑与计算机网络120相关的条件(例如,在诸如高带宽可用性、流量少的最佳条件期间)。在一个或多个实施例中,在回写高速缓存中的最近写入数据的即时图像可能在写入到第二类存储器206之前,通过存储虚拟引擎 132得到。图4示出了从回写高速缓存将数据写入到第二类存储器206中。在一个或多个实施例中,如上所述,在主机设备(如主机设备102i_N)上的用户可分配一些与其相关的本地存储中的空间用于高速缓存的目的。远程存储可以是提供给用户的云服务。因此,在一个或多个实施例中,再一次,第一类存储器204 (包括图像数据卷222) 可包含一些分配用作高速缓存目的的空间,第二类存储器206可以是远程存储。在一个或多个实施例中,用户可以从与其相关的主机设备(如主机设备102i_N)启动数据读请求。图5示出了根据一个或多个实施例的数据读取过程。在一个或多个实施例中,至少响应读请求(例如,读请求50 ,存储虚拟引擎132配置为初始化存储在图像数据卷222 中的即时图像相关的映射,以指明“无权限”状态,而非“只读”。因此,在一个或多个实施例中,由于上述“无权限”状态,读请求502可能会失败。在一个或多个实施例中,读请求502 可能会被指示从基础数据卷2M读取(例如,读504)或读取最近写入到图像数据卷222的高速缓存中的数据。在一个或多个实施例中,因为该读请求失败,存储虚拟引擎132可以配置为从基础数据卷2M或图像数据卷222中复制适当部分的数据,而无论上述部分是映射到虚拟卷202的有效区212或非有效区214。在一个或多个实施例中,则在基础数据卷2M或图像数据卷222中的适当部分的数据被复制的所述空间可以被标记为未使用。因此,在一个或多个实施例中,如果所述适当部分的数据从基础数据卷224复制,则该适当部分的数据可以从基础数据卷2M被提取到第一类存储器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。因此,在一个或多个实施例中,(例如,通过在主机设备(例如,主机设备102^) 的用户)可分配在两个储存池的卷,从而快速存储能力(例如,第一类存储器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的逻辑电路)、固件、软件或硬件、固件和软件的任何结合(例如,收录在机器可读介质中)来启用和操作。另外,可以理解本文公开的各种操作、过程和方法,可以包含在与数据处理系统 (例如,计算机设备)兼容的机器可读介质和/或机器可访问介质中,并且可以任何顺序执行(例如,包括利用实现各种操作的装置)。因此,说明书和附图被认为是说明性的而不是限制性的。
权利要求
1.一种方法,包括通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器,所述第二类存储器配置为包括与主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像,所述第一类存储器的性能比所述第二类存储器高,并且所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置;在通过主机设备响应于相应的写请求和读请求中的至少一个的写操作和读操作中的至少一个的过程中,分配第一类存储器中的一部分空间用作高速缓存存储器;以及响应所述写请求和读请求中的至少一个而通过所述第一类存储器执行相应的写操作和读操作中的至少一个,由此来减少与所述响应相关的延迟,所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,以及所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。
2.根据权利要求1所述的方法,进一步包括在读操作之前,通过所述存储虚拟引擎,初始化与第一类存储器中的即时图像相关的只读映射,来显示“无权限”状态,从而使所述读请求失败。
3.根据权利要求1所述的方法,进一步包括按照数据访问的先后顺序在所述第一类存储器中布置各所述即时图像。
4.根据权利要求1所述的方法,进一步包括在成功完成读操作后,将一部分最近写入的高速缓存在所述第一类存储器中的数据和一部分来自所述第二类存储器的数据的其中之一释放到原来的位置。
5.根据权利要求1所述的方法,进一步包括在所述主机设备的空闲周期期间,将高速缓存在第一类存储器中的数据写入到第二类存储器中。
6.根据权利要求3所述的方法,进一步包括通过所述存储虚拟引擎,定期在所述第一类存储器中创建对应于与所述主机设备相关的数据的所述即时图像;以及在所述即时图像所占的存储量超过阈值时,将至少一个对应于与主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中。
7.一种方法,包括在第一类存储器中储存对应于与主机设备相关的数据的即时图像; 在第二类存储器中存储与所述主机设备相关的所述数据,所述第二类存储器的性能比所述第一类存储器低;在所述即时图像所占的存储量超过阈值时,将至少一个对应于与所述主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中;通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器,所述存储虚拟引擎配置为将所述虚拟卷映射到所述第一类存储器和所述第二类存储器中的存储位置;在通过主机设备响应于相应的写请求和读请求中的至少一个的写操作和读操作中的至少一个的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器;以及通过所述第一类存储器执行写操作和读操作中的至少一个,所述写操作包括将要写入到所述第二类存储器的数据高速缓存到所述第一类存储器中,所述读操作包括将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置,以便从所述位置读取。
8.根据权利要求7所述的方法,进一步包括在读操作之前,通过所述存储虚拟引擎,初始化与第一类存储器中的即时图像相关的只读映射,来显示“无权限”状态,从而使所述读请求失败。
9.一种存储系统,包括主机设备,所述主机设备配置为生成写请求和读请求中的至少一个;第一类存储器,所述第一类存储器与所述主机设备相关;第二类存储器,所述第二类存储器与所述主机设备相关,所述第二类存储器的性能比所述第一类存储器低;以及存储虚拟引擎,所述存储虚拟引擎与所述存储系统的存储管理相关,所述存储虚拟引擎配置为执行所述第一类存储器和所述第二类存储器的虚拟卷分割,将所述第一类存储器和所述第二类存储器分割成有效区和非有效区,所述有效区配置为映射到第一类存储器, 所述非有效区配置为映射到第二类存储器,所述第二类存储器配置为包括与所述主机设备相关的数据,所述第一类存储器配置为包括与所述主机设备相关的数据对应的即时图像,其中,在所述主机设备处的用户配置为,在通过主机设备响应于相应的写请求和读请求中的至少一个的写操作和读操作中的至少一个的过程中,分配第一类存储器中的一部分空间用作高速缓存存储器,其中,所述存储虚拟引擎配置为通过第一类存储器执行写操作和读操作中的至少一个,以减少对所述相应的写请求和读请求中的至少一个的响应相关的延迟,其中,在所述写操作的过程中,要写入到第二类存储器的数据被高速缓存在第一类存储器中,以及其中,在所述读操作的过程中,将一部分最近写入的缓存在所述第一类存储器的数据和一部分第二类存储器中的数据的其中之一提取到所述第一类存储器中的适当的高速缓存位置以便从所述位置读取。
10.根据权利要求9所述的存储系统,其中,所述存储虚拟引擎进一步配置为定期在所述第一类存储器中创建对应于与所述主机设备相关的数据的所述即时图像;以及在所述即时图像所占的存储量超过阈值时,将至少一个对应于与主机设备相关的最先访问的数据的即时图像重新同步或迁移到第二类存储器中。
全文摘要
一种方法,包括通过存储虚拟引擎,将虚拟卷分割成有效区和非有效区,所述有效区配置为映射到第一类存储器,所述非有效区配置为映射到第二类存储器。所述第二类存储器包括与主机设备相关的数据,所述第一类存储器包括与所述主机设备相关的数据对应的即时图像。所述第一类存储器的性能比所述第二类存储器高。该方法还包括在写操作和/或读操作的过程中,分配第一类存储器中的一部分空间用于高速缓存存储器,以及通过所述第一类存储器响应所述写请求和/或读请求而执行相应的写操作和/或读操作,来减少与所述响应相关的延迟。
文档编号G06F3/06GK102467352SQ20111021694
公开日2012年5月23日 申请日期2011年7月29日 优先权日2010年11月8日
发明者伊山·巴鲁克·皮克沃, 罗恩·曼德尔 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1