CN102405460A - 虚拟存储系统及其运行方法 - Google Patents

虚拟存储系统及其运行方法 Download PDF

Info

Publication number
CN102405460A
CN102405460A CN2010800141828A CN201080014182A CN102405460A CN 102405460 A CN102405460 A CN 102405460A CN 2010800141828 A CN2010800141828 A CN 2010800141828A CN 201080014182 A CN201080014182 A CN 201080014182A CN 102405460 A CN102405460 A CN 102405460A
Authority
CN
China
Prior art keywords
virtual
address
ivas
storage system
address space
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
CN2010800141828A
Other languages
English (en)
Other versions
CN102405460B (zh
Inventor
Y·尤查伊
L·科里
哈伊姆·科佩洛维茨
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.)
Xsignnet Ltd
Original Assignee
Xsignnet Ltd
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 Xsignnet Ltd filed Critical Xsignnet Ltd
Publication of CN102405460A publication Critical patent/CN102405460A/zh
Application granted granted Critical
Publication of CN102405460B publication Critical patent/CN102405460B/zh
Expired - Fee Related 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
    • G06F12/10Address translation
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/0638Organizing or formatting or addressing of data
    • 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
    • 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/0689Disk arrays, e.g. RAID, JBOD

Abstract

本发明公开了一种虚拟存储系统及其运行方法。该系统包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到多个物理存储设备和多个主机上。存储控制层包括:与多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,响应于配置请求或寻址到一个或多个逻辑块地址的I/O请求,第一虚拟层提供所述逻辑块地址到各自IVAS地址的转换;及与多个物理存储设备相接的第二虚拟层,其是可操作的以表示实际物理空间,该实际物理空间对所述多个主机可用,该第二虚拟层由物理虚拟地址空间(PVAS)表征,其中,所述物理虚拟地址空间中的每个地址在所述内部虚拟地址空间中具有至少一个对应的地址;并且其中,所述第二虚拟层是可操作的以提供所述各自IVAS地址到物理地址空间中的地址的进一步转换。

Description

虚拟存储系统及其运行方法
相关申请的交叉引用
本申请涉及下述申请并要求下述申请的优先权:于2009年2月11提交的、申请号为61/151,533的美国临时专利申请以及于2009年10月4日提交的、申请号为61/248,642的美国临时专利申请,通过引用将这两份申请的全文并入本文中。
技术领域
本发明总体上涉及数据存储系统及用于数据存储的各个方法,具体地,涉及虚拟存储系统以及虚拟存储系统的运行方法。
背景技术
日益复杂的存储设备需要有效利用和管理资源的方案。存储虚拟化使管理员能够像管理单一的统一资源那样管理分布式存储。通过规避存储系统(包括存储网络系统)的实际复杂性,存储虚拟化帮助存储管理员以更简单且耗时更少的方式进行资源分配、备份、存档和恢复的任务。
虚拟存储系统为用户呈现用于数据存储的逻辑空间,并且系统本身处理将其映射到实际物理位置的进程。虚拟存储系统可包括模块化存储阵列和常规虚拟存储空间,其能够将存储资源组织为用户在常规管理下可用的单个逻辑池。对于其他容错,存储系统可被设计为在一组存储节点之间冗余地传播数据且使得当发生硬件故障时,能够继续运行。容错数据存储系统可在多个磁盘驱动器之间存储数据,并且可包括拷贝数据、奇偶校验数据或在驱动器失效时可用于重构数据的其他信息。
现有技术已经认识到虚拟存储系统中逻辑和物理数据地址之间的映射的问题,并已经开发了各种系统以提供解决方案,例如:
美国专利5,392,244(Jacobson等人)公开了一种管理磁盘阵列上的数据的方法,包括下述步骤:在多个磁盘的磁盘阵列上提供物理存储空间;将物理存储空间映射到具有第一和第二RAID区域的第一虚拟存储空间,第一RAID区域具有用于根据第一RAID级别存储数据的第一分配块,第二RAID区域具有用于根据第二RAID级别存储数据的第二分配块;将第一虚拟存储空间映射到具有多个虚拟块的第二虚拟存储空间,第一和第二虚拟块通过虚拟块表与各自RAID区域中的第一和第二分配块相关联;选择与第一RAID区域中的第一分配块关联的第一虚拟块;定位第二RAID区域中的第二分配块;将从所述第一分配块中选择的数据转移到所述第二分配块,从而曾经根据第一RAID级别存储的选择的数据现在根据第二RAID级别存储;修改虚拟块表以反映转移到第二RAID区域的数据。
美国专利6,889,309(Oliveira等人)公开了管理计算机系统中的虚拟数据存储对象的方法和装置,该计算机系统包括至少一个主机和至少一个存储设备,其中至少一个存储设备使至少一个存储磁盘对主机呈现为存储资源。主机包括LVM和文件系统中的至少一个。虚拟数据存储对象被创建,从而逻辑卷和文件中的至少一个被用作存储资源,以将数据存储到虚拟数据存储对象中。另一实施方式公开了虚拟数据存储对象,其具有存储在来自不同主机的LVM的逻辑卷上的数据图像。另一实施方式公开了一个数据图像存储在磁盘而另一数据图像存储在逻辑卷中的虚拟数据存储对象。另一实施方式涉及在计算机系统内分配元数据的方法和装置,元数据定义了虚拟存储对象。
美国专利6,898,670(Nahum)公开了用于存储区域网络(SAN)中的存储容量的虚拟化且用于管理虚拟和物理内存的分布式架构。其提供了由两部分(即虚拟化和转化)组成的虚拟化软件计算机程序,每个部分驻留在不同的位置中,但两部分交互式地运行。SAN通过网络交换机将主机阵列连接到存储设备阵列,SAN具有存储虚拟化管理器(SVM)。运行虚拟化计算机软件的SVM进行物理存储容量虚拟化和元数据管理。网络交换机路由主机和存储设备之间的存储I/O运算,而转化软件驻留在主机或网络交换机SAN的其他位置中的处理器中。尽管网络交换机和SVM分解任务以释放负载和预防瓶颈,但实际实施时允许设计网络交换机、运行虚拟程序的处理器和许多配置(从分布式到集成打包)中的SVM。虚拟化软件也支持实时配置,以适应发生在配置主机阵列和SAN的存储设备阵列时的变化。
美国专利6,996,582(Daniels等人)公开了一种虚拟存储系统和其运行方法。虚拟存储系统包括:配置为存储数据的物理存储空间;适于向主机提供存储在物理存储空间内的数据的代表物的虚拟存储空间;配置为存储多个用于在物理存储空间和虚拟空间之间实施寻址的指针;以及控制器,该控制器配置为从内存提取被选择的指针,且在不同于时间上的第一时刻的内存的另一存储位置提供被选择指针,以及在从另一存储位置提取被选择的指针,且在时间上的第一时刻之后的第二时刻的内存中提供被选择的指针。
美国专利7,124,275(Gammel等人)公开了一种从虚拟地址确定物理地址的方法,其中,虚拟地址和物理地址之间的映射规则实施为具有压缩节点的分层树结构。首先,映射规则中包括的压缩指示器被读取,并且虚拟地址中与考虑的节点级别相关的一部分被读取。利用压缩指示器的和虚拟地址的该部分,确定考虑的节点的节点表中的条目。确定的条目被读取,如果考虑的节点级别已经是层级上的最低节点级别,据此可直接确定物理地址。如果是将被处理的较高节点级别,则重复为较低的层级的压缩节点确定物理地址的前述步骤,直到达到层级上最低的节点级别。
美国专利7,386,697(Case等人)公开了虚拟内存系统,其中,利用群集(cluster)来提供地址转换信息,群集与一些范围的虚拟地址相关并且可被用于将该范围内的虚拟地址转换为物理地址。不同群集映射的范围的大小可以不同。群集存储在地址转换表中,地址转换表由虚拟地址索引,从而,从任何有效虚拟地址开始,用于转换地址的合适群集可从转换表中检索到。当虚拟内存空间的消耗者请求新的虚拟地址映射时,从物理地址的碎片池中动态创建群集。
申请号为No.2007/101,083的美国专利申请(Ogihara等人)公开了虚拟存储系统控制装置,包括多个存储设备控制部分,这些存储设备控制部分为虚拟存储群集的存储设备分配虚拟卷,在虚拟卷上生成信息,通过网络设置自有虚拟存储集群的虚拟卷和其他虚拟存储集群的虚拟卷之间的链接,并在链接和管理节点的基础上复制数据,管理节点通过根据虚拟卷上的信息的链接设置指令虚拟卷的移动。
发明内容
根据本发明的某些方面,提供了一种存储系统,包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到多个物理存储设备和多个主机上。存储控制层包括:a)与所述多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征;b)与所述多个物理存储设备相接的第二虚拟层,其是可操作的以表示对所述多个主机可用的实际物理空间,第二虚拟层由物理虚拟地址空间(PVAS)表征;及c)分配模块,操作性地连接到第一虚拟层和第二虚拟层,并且分配模块是可操作的以提供内部虚拟地址空间和物理虚拟地址空间之间的映射,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址。IVAS中地址的范围可以大体上大于PVAS中地址的范围。PVAS可被进一步配置为表示分布在存储设备上的级连RAID组。
根据本发明的其他方面,相互独立地管理内部虚拟地址空间和物理虚拟地址空间,例如,在独立处理的IVAS分配表和PVAS分配表的帮助下。
根据本发明的其他方面,响应于配置逻辑卷,该存储系统还被配置为分配IVAS中各自的地址。响应于分配IVAS中特定范围的地址,该存储系统还被配置为在PVAS预订所述特定范围的地址所需的空间,由此将该空间视为不可用。存储系统还被配置为响应于各自的写入请求,分配特定范围的物理存储地址。存储系统可以是可操作的以响应于写入请求动态地分配PVAS中的地址空间,写入请求对应于IVAS中分配的各个地址。
根据本发明的其他方面,IVAS中的多个地址可对应于PVAS中的相同的一个地址。
根据本发明的其他方面,源对象和其至少一个快照被配置为分配给IVAS中的不同地址,但在PVAS中共享相同的分配地址,直到源对象或各自的快照被写入请求修改。
根据本发明的其他方面,响应于寻址到一个或多个逻辑块地址的I/O请求,第一虚拟层是可操作的以向各个IVAS地址提供依赖于协议的转换,由此促进第二虚拟层和物理存储空间被配置为以独立于协议的方式运行。
根据本发明的其他方面,该存储系统还被配置为多个虚拟分区,其中,至少两个虚拟分区根据不同的存储协议是可操作的和/或,利用不同的保护方案被配置。
根据本发明的其他方面,,响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示逻辑对象的一部分的请求,该存储系统是可操作的以将连续地址的所述范围配置为删除,而保持在IVAS和PVAS中表征所述范围的元数据不变,由此使得能够在需要时立即取消删除所述范围。可根据预定的策略保持所述元数据。
根据本发明的其他方面,提供了一种存储系统,其包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到多个物理存储设备和多个主机上,其中存储控制层包括:a)与所述多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,并且响应于配置请求或寻址到一个或多个逻辑块地址的I/O请求,第一虚拟层提供所述逻辑块地址到各自IVAS地址的转换;及b)与所述多个物理存储设备相接的第二虚拟层,其是可操作的以表示对所述多个主机可用的实际物理空间,第二虚拟层由物理虚拟地址空间(PVAS)表征,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址;并且其中,所述第二虚拟层是可操作的以提供所述各自IVAS地址到物理地址空间中的地址的进一步转换。通过非限制性实例,配置请求可以是用于将一个或多个新主机添加到所述多个主机的请求;用于在所述多个主机中断开一个或多个主机的连接的请求;用于生成一个或多个新快照的请求;及用于改变输出卷的状态的请求,等等。可在不改变与寻址的逻辑块相关的元数据的情况下提供所述配置请求,并配置请求在第二虚拟层和/或物理存储空间中被处理。
根据本发明的其他方面,可以以依赖于协议的方式提供逻辑块地址到各自IVAS地址的转换,并且可以以独立于协议的方式提供所述各自IVAS地址到物理地址空间中的地址的进一步转换
根据本发明的其他方面,存储系统还可被配置为多个虚拟分区,其中,至少两个虚拟分区根据不同的存储协议是可操作的和/或利用不同的保护方案被配置。
根据本发明的其他方面,该存储系统还是可操作的以利用期望的保护方案通过分配根据所述期望的保护方案预先配置的虚拟分区来配置新逻辑单元。
根据本发明的其他方面,该存储系统可以是可操作的以响应于所述配置新逻辑单元来分配期望的保护方案所需的资源
根据本发明的其他方面,响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,该存储系统是可操作的以将连续地址的所述范围配置为删除,而保持在IVAS和PVAS中表征所述范围的元数据不变,由此使得能够在需要时立即取消删除所述范围。
根据本发明的其他方面,还提供了一种存储系统,该存储系统包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到多个物理存储设备和多个主机上。存储控制层包括:a)与所述多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,并且响应于寻址到一个或多个逻辑块地址的IO请求,第一虚拟层提供所述逻辑块地址到各自IVAS地址的协议依赖转换;及b)与所述多个物理存储设备相接的第二虚拟层,其是可操作的以表示对所述多个主机可用的实际物理空间,第二虚拟层由物理虚拟地址空间(PVAS)表征,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址;并且其中,所述第二虚拟层是可操作的以提供所述各自IVAS地址到物理地址空间中的地址的进一步转换,以独立于协议的方式提供该转换。
根据本发明的其他方面,提供了一种运行存储系统的方法,该存储系统包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到多个物理存储设备和多个主机上,该方法包括:a)在存储控制层中生成与多个主机相接的第一虚拟层,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,并生成与所述多个物理存储设备相接的第二虚拟层,第二虚拟层由物理虚拟地址空间(PVAS)表征;b)在第一虚拟层的帮助下表示逻辑地址空间,逻辑地址空间由逻辑块地址表征并对所述多个主机可用,并在第二虚拟层的帮助下表示实际物理空间,实际物理空间对所述多个主机可用;及c)通过操作性地连接到第一虚拟层和第二虚拟层的分配模块提供内部虚拟地址空间和物理虚拟地址空间之间的映射,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址。
根据本发明的其他方面,该方法还可包括:a)相对于源对象生成至少一个快照;b)为所述至少一个快照和所述源对象分配IVAS中不同的地址,同时分配PVAS中共同的地址;及c)响应于由各自的写入请求修改所述源对象或所述快照,分别将PVAS中的新地址分配给修改的对象或修改的快照。该方法还可包括响应于写入请求动态地分配PVAS中的地址空间,写入请求对应于IVAS中分配的各个地址。
根据本发明的其他方面,该方法还可包括响应于寻址到一个或多个逻辑块地址的I/O请求,在第一虚拟层的帮助下向各个IVAS地址提供依赖于协议的转换,由此促进第二虚拟层和物理存储空间被配置为以独立于协议的方式运行。
根据本发明的其他方面,该方法还可包括a)响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,执行基本进程,该基本进程包括取消分配IVAS中的所述范围;及b)执行后台进程,该后台进程包括取消分配与IVAS中取消分配的范围相对应的PVAS中的地址。后台进程可具有延迟,由此使得在开始后台进程前,如果需要可立即取消删除所述范围。响应于删除由IVAS中连续地址的范围表示的物理级快照或精简卷的未分配部分的请求,该方法还可包括执行基本进程,该基本进程包括取消分配IVAS中的所述范围,同时保持PVAS和/或物理存储空间不变。
根据本发明的其他方面,提供了一种运行存储系统的方法,该存储系统包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到多个物理存储设备和多个主机上,该方法包括:a)在存储控制层中生成与所述多个主机相接的第一虚拟层,第一虚拟层由内部虚拟地址空间(IVAS)表征,并生成与所述多个物理存储设备相接的第二虚拟层,第二虚拟层由物理虚拟地址空间(PVAS)表征;b)在第一虚拟层的帮助下表示逻辑地址空间,逻辑地址空间由逻辑块地址表征并对所述多个主机可用;c)在第二虚拟层的帮助下表示实际物理空间,实际物理空间对所述多个主机可用,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址;d)响应于配置请求或寻址到一个或多个逻辑块地址的I/O请求,将所述逻辑块地址转换为各自IVAS地址;及e)将所述各自IVAS地址转换为物理地址空间中的地址。可以以依赖于协议的方式提供逻辑块地址到各自IVAS地址的转换,并且可以以独立于协议的方式提供所述各自IVAS地址到物理地址空间中的地址的转换。
根据本发明的其他方面,在不改变与寻址的逻辑块相关的元数据的情况下提供所述配置请求,并且配置请求在第二虚拟层和/或物理存储空间中被处理。。
根据本发明的其他方面,该方法还包括a)响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,执行基本进程,该基本进程包括取消分配IVAS中的所述范围;及b)执行后台进程,该后台进程包括取消分配与IVAS中取消分配的范围相对应的PVAS中的地址。响应于删除由IVAS中连续地址的范围表示的物理级快照或精简卷的未分配部分的请求,该方法还可包括执行基本进程,该基本进程包括取消分配IVAS中的所述范围,同时保持PVAS和/或物理存储空间不变。
本发明的特定实施方式的优点是使得在极大量的逻辑对象和较少量的实际物理存储数据块之间能够进行更高效和平滑的互动。本发明的特定实施方式的其他优点是能够同时支持不同的存储协议,并且高效地实现存储系统的附加功能,例如,包括有快照的逻辑对象的虚拟删除。
附图说明
为了理解本发明并便于实施本发明,下文将参考附图以非限制性方式描述具体实施方式,附图中:
图1示出了具有现有技术已知的虚拟存储系统的计算机系统的示意性功能框图;
图2示出了根据本发明的某些实施方式配置的控制层的示意性功能框图;
图3示出了根据现有技术中已知的RAID组配置的物理存储空间的示意图;
图4示出了根据本发明的某些实施方式虚拟层中的示例性逻辑卷的示意图;
图5示出了根据本发明的某些实施方式IVAS和PVAS分配表的示意图。
具体实施方式
在下述详细说明中,列举了许多具体细节以提供对本发明的完整理解。然而,本领域技术人员将认识到本发明可在不具有这些具体细节的情况下实施。在其他实例中,为了不混淆本发明,并未详细描述已知的方法、程序、组件和电路。在附图和说明书中,相同的附图标记表示各实施方式和配置共用的那些组件。
除非另有具体说明,如通过下文描述而显而易见地,说明书全文使用的术语(例如:“处理”、“计算”、“运算”、“确定”、“生成”、“激活”、“读取”、“写入”、“分类”、“分配”、“存储”、“管理”或类似术语)指将数据操作和/或转换为其他数据的计算机的动作和/或进程,所述数据被表示为物理的,例如电的、量的和/或表示物理对象的。术语“计算机”应该涵盖广泛的内容以包括任何形式的具有数据处理能力的电子系统,包括(通过非限制性的实例):个人计算机、服务器、计算系统、通信设备、存储设备、处理器(例如数字信号处理器(DSP)、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)和其他电子计算系统。
根据本文教导的运行可由专门为期望目的构建的计算机或由通过存储在计算机可读存储介质中的计算机程序而专门配置用于期望目的的一般目的计算机实施。
本发明的实施方式的描述并非与任何具体的程序语言有关。应该意识到,各种程序语言可被用于实施如本文所述的本发明的教导。
背景技术中引用的参考文献教导了许多存储虚拟化的原理,其也可应用于本发明。因此,通过引用将这些公开文本的全部内容并入本文中,以适当地教导额外或替代细节、特征和/或技术背景。
考虑到这一点,参考图1,图1示出了现有技术中已知的示例性虚拟存储系统。
计算机系统包括多个主计算机(工作站、应用服务器等),示为101-1至101-n,该多个主计算机共享由虚拟存储系统102提供的共同存储装置。存储系统包括存储控制层103,其包括一个或多个操作性地连接到多个主计算机的合适的存储控制设备以及多个数据存储设备104-1-104-n,多个数据存储设备构成了选择性地分布在一个或多个存储节点中的物理存储空间,其中,存储控制层是可操作的以控制其间的接口操作(包括I/O操作)。存储控制层是可操作的以处理物理存储空间的虚拟表达并促进物理存储空间和其虚拟表达之间的必要映射。可在硬件、软件、固件或其适当组合中提供虚拟化功能。可选地,控制层的功能可完全地或部分地与一个或多个主计算机和/或存储设备和/或能够进行主机和存储设备之间的通信的一个或多个通信设备集成。可选地,由控制层提供的逻辑表达的格式可根据接口应用而不同。
物理存储空间可包括任何适当的永久存储介质并包括(通过非限制性实例)一个或多个磁盘驱动和/或一个或多个磁盘单元(DU)。物理存储空间包括多个数据块,每个数据块的以对(DDid,DBA)为特征,其中,DDid是与容纳数据块的磁盘驱动关联的序列号,DBA是各自磁盘内的逻辑块号。通过非限制性的实例,DDid可表示由系统内部分配给磁盘驱动的序列号,或可选地由供应商分配给磁盘驱动的WWN或通用序列号。根据任何合适的存储协议,存储控制层和存储设备可与主计算机进行通信并在存储系统内进行通信。
存储的数据可以被逻辑地以逻辑对象的形式呈现给客户端。根据存储协议,逻辑对象可以是逻辑卷、数据文件、多媒体文件、快照或其他拷贝,等等。仅出于展示的目的,下面提供了根据逻辑卷表示的逻辑对象。本领域技术人员将轻易地认识到本发明的教导也可以以类似方式应用于其他逻辑对象。
逻辑卷(LU)是虚拟实体,其逻辑地向客户端呈现为单个虚拟存储设备。逻辑卷表示多个数据块,数据块以范围从0到标号LUK的连续逻辑块地址(LBA)为特征。不同的LU可包括不同数量的数据块,而数据块通常大小相等(例如,512字节)。具有连续LBA的块可归类到系统中作为数据处理和组织的基本单元的部分中。因此,举例来说,不论何时为了存储数据而在磁盘或内存元件上必须分配空间,这种分配均可以根据数据部分完成,数据部分在下文中也被称为“分配单元”。数据部分在整个系统中通常大小相等(通过非限制性的实例,数据部分的大小例如为64K字节)。
存储控制层还可被配置为促进各种保护方案。通过非限制性的实例,数据存储格式,例如RAID(独立磁盘冗余阵列),可被用于通过数据拷贝和重建丢失或损坏的数据来保护数据,使之免受内部组件失效的影响。由于同时发生两个故障的可能性随着磁盘大小和密度的增加而增加,因此,数据保护可由本领域已知的RAID6数据保护方案(通过非限制性的实例)来进行。
所有的RAID6保护方案的共同点是在每个数据组中使用两个奇偶校验数据部分(例如,在(4+2)保护方案中使用四个数据部分加上两个奇偶校验部分的组),通常由两种不同的方法计算两个奇偶校验。在一种已知的方法中,所有的n个连续数据部分聚集在一起以形成RAID组,两个奇偶校验部分与该RAID组相关联。组中的成员及其奇偶校验部分通常存储在不同的驱动中。在第二种已知的方法中,保护组可以布置为二维阵列,通常为n*n,从而阵列的给定行或列中的数据部分存储在不同的磁盘驱动中。此外,奇偶校验部分可与阵列的每一行或每一列相关联。这些奇偶校验部分以下述方式存储:与阵列中的给定行或列关联的奇偶校验部分驻留在没有相同行或列的其他数据部分驻留的磁盘驱动中。在这两种方法中,不管数据何时写入组中的数据部分,奇偶校验部分也被更新(例如,使用基于XOR或Reed-Solomon算法的方法)。无论组中的数据部分何时变为不可用(例如,由于磁盘驱动的一般故障,或由于单独影响该部分的局部问题,或由于其他原因),利用本领域已知的适当技术,在一个奇偶校验部分的帮助下,仍能够恢复数据。然后,如果在第一个问题被修复之前,第二故障导致同一驱动上的数据不可用,则可利用第二奇偶校验部分和本领域已知的适当技术恢复数据。
构成逻辑卷的连续数据部分通常存储在不同的磁盘驱动(例如,为了性能和数据保护的目的)中,并有可能存储在不同DU中。通常,存储系统的LU的定义涉及预先设置分配方案和/或分配功能,用于确定不同数据部分和其关联的奇偶校验部分在物理存储介质中的位置。连续部分的逻辑邻近性和分配给系统中的部分的存储位置的物理邻近性并不需要相互关联。可在分配模块105中处理分配方案,该分配模块105是存储控制层的一部分。分配模块可实施为操作性地连接到多个存储控制设备的集中式模块,或者分配模块可以至少部分地分布在一部分或所有的存储控制设备之间。
当接收到来自主机的写入请求时,存储控制层定义物理位置,该物理位置分配用于写入各自的数据(例如,根据存储在分配模块或其他位置的分配方案、预先配置的规则和策略)。当接收到来自主机的读取请求时,存储控制层定义期望数据的物理位置并且还相应地处理请求。类似地,存储控制层向所有的存储节点发布对给定数据对象的更新,其中,存储节点物理地存储与所述数据对象相关的数据。存储控制层是可操作地将请求/更新重新引导至具有合适存储位置的存储设备,而不管接收I/O请求的具体存储控制设备。
仅出于说明的目的,本文根据完整数据部分描述了存储系统的操作。本领域技术员将轻易认识到本发明的教导也可以以类似的方式应用到一部分数据部分。
本发明的某些实施方式可应用到结合图1描述的计算机系统的架构中。然而,本发明不局限于具体架构,等同和/或改进功能以另一方式可合并在一起或分离,并且可以在软件、固件和硬件的任何合适的组合中实施。本领域内技术人员将轻易地认识到本发明同样地适用于任何计算机系统和任何实施虚拟存储系统的存储架构。在本发明的不同实施方式中,其功能块和/或部分可置于单个或多个地理位置中(包括为了高可用性的副本);块之间和/或块内的操作性连接可直接(例如,通过总线)或间接地实施,包括远程连接。远程连接可经由下述方式提供:有线线路、无线、线缆、互联网、内联网、电源、卫星或其他网络和/或利用适当的通信标准、系统和/或协议及其变形或其改进(非限制性地,例如以太网、iSCSI、光纤通道等)。通过非限制性地实例,本发明可在于2009年8月20日提交的美国专利申请12/544,743中公开的SAS网格存储系统中实施,该专利申请转让给了本申请的受让人,并通过引用将其全文并入本文中。
参考图2,其示意性地示出了根据本发明的某些实施方式配置的控制层201。通过创建和管理至少两个相互关联的虚拟层来提供整个物理存储空间的虚拟展示,这两个相互关联的虚拟层为:第一虚拟层204,其通过主机接口202与存储系统外的计算机系统(主机计算机等)的元件相接;第二虚拟层205,其通过物理存储接口203与物理存储空间相接。第一虚拟层204是操作性的以表示用户(工作站、应用服务器等)可用的逻辑单元,第一虚拟层以内部虚拟地址空间(IVAS)为特征。虚拟数据块在逻辑块的内部虚拟号(下文中称为IBA)的帮助下表示在IVAS中。第二虚拟层205是操作性地以表示用户可用的物理存储空间,第二虚拟层以物理虚拟地址空间(PVAS)为特征。虚拟数据块在逻辑块的物理虚拟号(下文中称为PBA)的帮助下表示在PVAS中。IVAS中的地址映射到PVAS中的地址;而反之,PVAS中的地址映射到用于存储的数据的物理存储空间中的地址。举例来说,第一虚拟层和第二虚拟层在分配模块206的帮助下相互关联,分配模块206是操作性的以通过内部-物理虚拟地址映射提供从IVAS到PVAS的转换。
物理虚拟地址空间中的每个地址在内部虚拟地址空间中具有至少一个相应的地址。分别独立地管理内部虚拟地址空间和物理虚拟地址空间。可以在独立管理的IVAS分配表和PVAS分配表的帮助下进行这种管理。这些表可位于分配模块206或其他位置中,每个表以本领域已知的任何适当的方法促进各自空间的管理。
IVAS和PVAS的独立管理的优势在于能够改变存储系统的用户侧配置(例如,新主机连接、新快照生成、输出的卷的状态改变,等等),而不改变第二虚拟层和/或物理存储空间中处理的元数据。
应该注意的是,通常在虚拟存储系统中,虚拟地址的范围大体上比各自关联的物理存储块的范围大。根据本发明的某些实施方式,表征第一虚拟层的内部虚拟地址空间(IVAS)对应于根据LAB或LU可被用户使用的多个逻辑地址。各个LU通过将IVAS地址(IBA)分配到构成LU的数据部分而映射到IVAS并当前可被用户使用。
通过非限制性的实例,图2示出了对应于两个LU的存储控制层的一部分,两个LU示为LUx208和LUy209。LU映射到IVAS。在通常情况下,最初,存储系统为LU分配IVAS中的连续地址(IBA)。然而,现有的LU可被放大、减少或删除,并且一些新的LU可在系统的使用期限内被定义。因此,与LU相关联的连续数据块的范围可与在IVAS中分配的非连续性数据块相对应。
如将结合图4和图5而详细描述的那样,根据IVAS定义请求的参数还被转换为在物理虚拟地址空间(PVAS)中定义请求的参数,物理虚拟地址空间表征与第一虚拟层相互关联的第二虚拟层。
响应于配置逻辑卷(常规LU、精简卷、快照等),存储系统分配IVAS中的各个地址。对于常规LU,存储系统还分配PVAS中的对应地址,其中,响应于写入各自LU的请求而进行物理地址的分配。可选地,PVAS分配表可预订LU需要的空间并将其视为不可用,同时响应于各个写入请求进行PVAS中的实际地址分配。
如图2所示,根据IVAS的请求转换为根据PVAS的请求并不是必须要具有一对一的关系。根据本发明的某些实施方式,IVAS中的一些数据块可对应于PVAS中相同的一个数据快,例如在快照和/或在存储系统中实施的其他复制机制的情况下。通过非限制性的实例,在快照的情况下,各自快照中的源块和目标块对用户来说呈现为在IVAS中具有不同地址,但它们共享PVAS中的相同块,直到源块(或目标块)被写入请求第一次修改,此时,产生两个不同的物理数据块。
通过非限制性的另一实例,在精简卷的情况下,LU的每个块立即转换为IVAS中的块,但仅当发生实际物理分配时(即,仅在第一次写入对应的物理块时),才产生与PVAS中的块的关联,在精简卷的情况下,存储系统不预订PVAS中的可用空间。因此,相比于常规卷,精简卷在PVAS和物理存储空间中不具有保障的可用空间。
表征第一虚拟层204(第一虚拟层204表示可用逻辑存储空间)的内部虚拟地址空间(IVAS)包括虚拟内部地址(IBA),其范围为从0-2M,其中,M是用于二进制表达IVAS中的地址的比特数(通过非限制性的实例,在其他描述中,我们认为M=56对应于64比特地址字段)。通常,IVAS的虚拟地址的范围需要明显比物理虚拟地址空间(PVAS)的物理虚拟地址(PAB)的范围大,物理虚拟地址空间表征第二虚拟层205,第二虚拟层205表示可用物理存储空间。
通常,在大容量存储系统中,全部物理存储空间中的一个特定部分被定义为对用户不可用,从而其能够用作必要情况下或用于其他目的的备用空间。因此,PVAS中物理虚拟地址(PBA)的范围可对应于磁盘驱动上可用的全部物理存储空间的一部分(例如,70-80%)。通过非限制性的实例,如果原始物理容量为160TB,该空间的30%被分配用于备用目的,则净容量为113TB。因此,在这种系统的PVAS中可被分配的最高可能地址PBA大约为242(242~113*1012),其大体上小于IVAS中的256个地址IBA的全部范围。
如将结合图4和图5详细描述的那样,在任意时间给定点,IVAS中的一些数据块可以对应于PVAS中的一个块。此外,IVAS中的大量数据块最初可提供给用户,而不与PVAS中的任何块相关联,而仅在实际物理分配(如果有的话)时,才后来与PVAS相关联。
存储控制层还可在一个或多个虚拟分区(VP)的帮助下被虚拟化。
通过非限制性的实例,图2仅示出了存储控制层对应于虚拟分区VP1207的部分,其中,VP1207选自多个对于就控制层的VP。VP1207包括示为LUx208和LUy209的多个LU。LU映射到IVAS。存储控制层将接收到的请求(LUN,LBA,block_count)转换为在IVAS中定义的请求(VPid,IBA,block_count)。在通常情况下,最初,存储系统为LU分配IVAS中的连续地址(IBA)。然而,现有的LU可被放大、减少或删除,并且一些新的LU可在系统的使用期限内被定义。因此,与LU关联的连续数据块的范围可对应于分配在IVAS中的非连续数据块:(VPid,IBA1,block_count1)、(VPid,IBA2,block_count2)等。除非另有说明,下文中提到参数(VPid,IBA,block_count)也可包括提到两个或多个参数(VPid,IBAi,block_counti)。
根据本发明的某些实施方式,定义IVAS中请求的参数(VPid,IBA,block_count)还被转换为定义物理虚拟地址空间(PVAS)中的请求的参数(VPid,PBA,block_count),其中,物理虚拟地址空间表征与第一虚拟层相互关联的第二虚拟层。
仅出于展示的目的,根据RAID6架构给出下述说明。本领域技术人员将轻易意识到,本发明的教导不局限于RAID6且可以以类似的方式应在各种实现方式和形状特征下用于其他RAID技术。
物理存储空间可配置为RAID组级联,如图3进一步示出的那样。因此,如图2所示,代表物理存储空间的第二虚拟层205也可被配置为RAID组(RG)的级联,示为RG1210至RGq213。每个RAID组包括一组连续的数据块,每个这样的块的地址可通过参考RAID组RGid和群组内RAID逻辑块号RBA而被识别为(RGid,RBA)。
参考图3,示出了配置在现有技术已知的RAID组中的物理存储空间的示意图。RAID组350也可构建为条带356的级联,条带是数据和奇偶校验要素的完整(连接的)组,其中,数据和奇偶校验要素通过奇偶校验计算关系而依赖地相关。换句话说,条带是RADI系统在其内进行写入和恢复算法的单元。条带包括N+2个区352,这些区是RAID组的构件356和条带的交叉。区的通常尺寸为64K字节(或128块)。每个区被细分成16段354,每个段4K字节(或8块)。区和段用于计算与每个条带关联的两个奇偶校验区。在我们的实例中,N=16,每个组构件大小通常为4GB,RAID组通常可包括(4*16=)64GB的数据。RAID组的通常大小(包括奇偶校验块)可以是(4*18=)72GB。
每个RG包括n+2个构件,MEMi(0≤i≤n+1),n是每个RG的数据部分的数量(例如,n=16)。存储系统被配置为在不同的物理驱动之间分配与RAID组关联的数据。物理驱动不必是相同的。出于分配的目的,每个PD可被分成连续的逻辑驱动(LD)。分配方案可位于分配模块中。
参考图4,示意性地示出了根据本发明的某些实施方式的从IVAS到PVAS的转换。
如结合图2而详细描述的,IO请求在PVAS级别上根据(VPid,PBA,block_count)被处理。由于PVAS表示RG的级联,这种请求可以根据相关RAID组转换为(RGid,RBA,block_count),并根据磁盘上的物理地址转换为(DDid,DBA,block_count),将其根据分配方案分配到RAID组中。然而,在PVAS级别上仍然提供转换,其中,用于特定RAID组的物理存储空间的实际分配对应于指令该组的第一写入请求的到达。物理存储空间的占用位图(UtilizationBitmap)指明哪些RAID组已经被分配。
应该注意的是,仅在主机和RAID组上处理的一些额外数据保护机制(例如,数据完整性域(DIF)或类似机制)可显然地通过虚拟层。
图4中的示意图示出了根据本发明的某些实施方式的虚拟层中的示例性逻辑卷。在所示情况下,用户定义了大小为1TB的两个逻辑卷LU0和LU1,和大小为3TB的逻辑卷LU2。逻辑卷已经分别在IVAS中映射为范围401、402和403。IVAS分配表(在图5中示出)因此被更新。
逻辑卷LU0和LU1已经被配置为常规卷,而逻辑卷LU2已经被配置为精简逻辑设备(或动态分配的逻辑设备)。因此,IVAS中的范围401和402具有在PVAS中各自分配的1TB范围411和412,而在PVAS没有分配提供给范围403。如将结合请求3详细描述的那样,PVAS中用于LU2的分配413将响应于各自的写入请求而提供。在分配范围411和412时,并且在对应于LU2各自写入时,PVAS分配表(在图5中示出)相应地被更新。
图5示意性地示出了用于示例性逻辑卷的IVAS和PVAS分配表。除图4中示出的实例之外,在图5示出的情况下,用户已经定义了0.5TB大小的逻辑卷LU3并生成了LU3的快照,这里被定义为逻辑卷LU4(大小相同)。因此,IVAS分配表示出了IVAS中各个范围401-405的分配。范围401和402具有分配在PVAS分配表中的相应范围411和412。IVAS中的范围404和405对应于分配在PVAS中的共同范围414。各个快照的源卷LU3和目标卷LU4对用户来说呈现为在IVAS中具有不同的地址(分别地为404和405),但它们在PVAS中共享相同的地址414,直到源卷或目标卷由写入请求第一次修改,此时,各自新的范围将在PVAS中分配。在接收到各自的写入请求时(在示出的情况下,在414的分配之后),用于LU2的分配413提供在PVAS分配表中。响应于其他写入请求,用于LU2的其他分配可提供在各自可用的地址,而不需要在PVAS中预先保留。
因此,分配用于IVAS中卷LU0-LU4的总空间大小为6TB,分配在PVAS中的各自空间大小为2.5TB+64KB。
表1示出了对上述示例性逻辑卷根据主机和虚拟层形式的IO请求的非限制性实例。为了简便,请求在不指明其可以指令的VP的情况下被描述。
表1
请求1由主机发出,作为对LU0的请求。其在LU0内的初始偏移量为200GB,其长度为100GB。由于LU0在IVAS中开始时的偏移量为0,因此,请求根据IVAS被转换为偏移量为0+200GB的请求,其长度为100G。在内部-物理虚拟地址映射的帮助下,该请求根据PVAS被转换为在0+200GB(0是在PVAS中表达IVAS的偏移量0的偏移量)开始、长度为100GB的请求。
类似地,请求2由主机发出,作为对LU1的请求。其在LU1内的初始偏移量为200GB,其长度为100GB。由于LU1在IVAS中开始时的偏移量为1TB,因此,请求根据IVAS被转换为偏移量为1TB+200GB的请求,其长度为100G。在内部-物理虚拟地址映射的帮助下,该请求根据PVAS被转换为在1TB+200GB(1TB是在PVAS中表达IVAS的偏移量1TB的偏移量)开始、长度为100GB的请求。
请求3由主机发出,作为对LU2的第一写入请求,从而以偏移量0将64K的数据写入。由于LU2被配置为精简卷,其在IVAS中由地址范围2TB-5TB表示,但在PVAS中不具有预先分配。由于LU2在IVAS中开始时的偏移量为2TB,该请求根据IVAS被转换为偏移量为2TB+0的请求,其长度为64KB。由于在PVAS中没有为LU2预先分配,分配模块检查PVAS分配表中的可用PVAS地址(在示出的情况下为2.5TB),并将请求根据PVAS转换为从0+2.5TB开始的请求,其长度为64KB。
请求4由主机发出,作为对LU3(源卷)的读取请求,从而以50G的偏移量读取100GB的数据。由于LU3在IVAS中开始时的偏移量为5TB,该请求根据IVAS被转换为偏移量为5TB+50GB的请求,其长度为100GB。在内部-物理虚拟地址映射的帮助下,该请求根据PVAS被转换为在2TB+50GB(2TB是在PVAS中表示IVAS的偏移量2TB的偏移量)开始、长度为100GB的请求。
请求5由主机发出,作为对LU4(目标卷)的读取请求,从而以10G的偏移量读取50GB的数据。由于LU4在IVAS中开始时的偏移量为5.5TB,该请求根据IVAS被转换为偏移量为5.5TB+10GB的请求,其长度为50GB。在内部-物理虚拟地址映射的帮助下,该请求根据PVAS被转换为在2TB+10GB(2TB是在PVAS中表示IVAS的偏移量2TB的偏移量)开始、长度为50GB的请求。
应该注意的是,指令源和目标(快照)卷的请求4和请求5对应于IVAS中不同的范围(404和405),但对应于PVAS中相同的范围(直到LU3或LU4首次被修改并由PVAS中的对应分配提供时)。
应该注意的是,如所示,在IVAS和PVAS级别上处理的请求不包括任何对主机请求的逻辑卷的引用。因此,根据本发明的某些实施方式配置的控制层能够以均匀的方式处理由主机请求的不同逻辑对象(LU、文件等),由此促进对不同存储协议的同时支持。与客户端相接的第一虚拟层配置为提供IO请求的必要转换,而第二虚拟层和物理存储空间配置为以协议独立的方式运行。因此,在虚拟分区的帮助下的进一步虚拟化的情况下,每个虚拟分区可适于根据其自身的协议(例如,SAN,NAS,OAS,CAS等)运行,独立于其他分区所使用的协议。
根据本发明的某些实施方式配置的控制层还促进每个虚拟分区的独立配置保护。每个虚拟机的保护可独立于其他分区根据单独的保护方案(例如RAID1,RAID5,RAID6等)配置。特定VP的保护方案可被改变,而不需要改变存储系统的客户端侧配置。
通过非限制性的实例,控制层可被分为6个虚拟分区,从而VP0和VP3使用RAID1,VP1和VP4使用RAID 5,并且VP2和VP6使用RAID 6保护方案。特定VP的所有RG根据规定的保护级别被处理。当配置LU时,用户被允许选择使用的保护方案,并为提供该保护级别的VP分配LU。虚拟分区之间系统资源(例如,物理存储空间)的分布可被预先定义(例如,对每个VP来说均相等)。可选地,存储系统可被配置为计算已经分配给由分配的RG所使用的磁盘空间,并且响应于配置新的LU,根据需要的保护方案检查用于接受卷的可用资源是否存在。如果可用资源不足以用于需要的保护方案,系统可提供各自的警报。因此,本发明的某些实施方式使得能够进行对保护不同VP所需的资源的动态分配。
再次参考图5,IVAS和PVAS分配表可被处理为使用的范围的独立链接表。该表可用于删除LU和取消分配各自的空间。例如,删除LU1需要在IVAS分配表中指明范围0-1TB和2-6TB被分配,其余的是自由空间,同时在PVAS分配表中指明范围0-1TB和2-2.5TB+64KB被分配,其余是自由空间。删除LU3需要在IVAS分配表中指明范围0-5TB和5.5-6TB被分配,而其余是自由空间,而PVAS分配表将不改变。
在本发明的某些实施方式中,删除逻辑卷可通过结合两个分离的进程完成:基本进程(执行IVAS和其分配表中的变化)及后台进程(进行PVAS和其分配表中的变化)。基本删除进程是“零时”进程,其使得能够删除分配给IVAS分配表中的LU的范围。LU号可保留在表中,但没有地址范围与之关联。这意味着卷未被激活,寻址到该卷的IO请求不能被处理。IVAS地址的各自范围被取消分配,并且其可容易地对新分配可用。后台删除进程是能够在后台根据优先级逐步进行的进程,其中优选级由存储系统考虑各种参数确定。进程扫描PVAS以取消分配与IVAS分配表中在对应的基本进程中删除的范围对应的所有范围,而在必要时更新物理存储空间的占用位图。相反地,在该后台进程期间,内部-物理虚拟地址映射被更新,以清除对刚取消分配的IVAS和PVAS的引用。
如果LU包括IVAS中的连续地址的不止一个范围,则上文中进程的组合用于对IVAS中连续地址的每个范围。
如参考图5示出的那样,删除进程的基于IVAS的步骤可在不具有基于PVAS的步骤的情况下提供。例如,物理级快照或精简卷的未被分配的部分可从IVAS中删除,而不需要改变PVAS和/或物理存储空间,因为没有各自的分配。
根据本发明的某些实施方式,还提供了对系统中定义的逻辑卷的“虚拟删除”的功能。当用户对系统中给定的LU发出“虚拟删除”时,系统可对该LU进行删除进程的基本阶段(如上所述),从而该LU被从IVAS中出取消分配并对客户端不可用。然而,后台删除进程被延迟,从而IVAS和PVAS(以及由此的物理空间)中的分配和内部-物理虚拟地址映射暂时不发生变化。因此,只要后台进程不生效,用户可通过仅将IVAS中的各个LU重新配置为“不删除”而立即取消删除被虚拟删除的LU。同样地,也可以为快照或其他逻辑对象实施“虚拟删除”。
表征IVAS和PVAS中的分配的元数据可根据预定策略保持在系统中。因此,举例来说,系统可适于在为LU完成基本阶段之后24小时执行后台删除进程(如上所述)。在本发明的某些实施方式中,用于启动后台删除进程而建立的时间期间可适用于不同类型的客户端(例如:VIP用户的较长时间,用于VIP应用的较长类型,等)。同样地,根据存储系统的资源的可用性等因素,该时期可动态地适用于单个卷,或者该时期可以是全系统范围内的。
应该注意到,上述存储系统和其运行方法可用在SAN、NAS或其他任何种类的数据存储方法的架构中。
应当理解的是,本发明不限于本说明书详细描述或在附图中展示的应用。本发明能够形成其他实施方式并以不同的方式实行和实施。因此,应当理解到,本文所使用的措辞和术语是用于描述而不应被视为是对本发明的限制。同样地,本领域技术人员将意识到作为本发明公开文本的基础的概念可容易地被用作设计实施本发明的一些目的的其他结构、方法和系统的基础。
还应当理解的是,根据本发明的系统可以是适当编程的计算机。同样地,本发明涵盖了能够由计算机读取的用于执行本发明方法的计算机程序。本发明还涵盖了机器可读内存,其有形地包含由机器执行的用于执行本发明的方法的指令的程序。
本领域技术人员将轻易意识到各种修改和改变可应用到前述的本发明的实施方式中,而不脱离本发明的范围,本发明的范围由与本发明相关的权利要求书限定。

Claims (53)

1.一种存储系统,包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到所述多个物理存储设备和多个主机上,其中存储控制层包括:
a)与所述多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征;
b)与所述多个物理存储设备相接的第二虚拟层,其是可操作的以表示对所述多个主机可用的实际物理空间,第二虚拟层由物理虚拟地址空间(PVAS)表征;及
c)分配模块,操作性地连接到第一虚拟层和第二虚拟层,并且分配模块是可操作的以提供内部虚拟地址空间和物理虚拟地址空间之间的映射,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址。
2.如权利要求1的存储系统,其中,相互独立地管理内部虚拟地址空间和物理虚拟地址空间。
3.如权利要求1或2的存储系统,其中,在被独立处理的IVAS分配表和PVAS分配表的帮助下管理内部虚拟地址空间和物理虚拟地址空间。
4.如权利要求1-3中任一项的存储系统,响应于配置逻辑卷,该存储系统还被配置为分配IVAS中各自的地址。
5.如权利要求1-4中任一项的存储系统,响应于分配IVAS中特定范围的地址,该存储系统还被配置为在PVAS中预订所述特定范围的地址所需的空间,由此将该空间视为不可用,而响应于各自的写入请求在PVAS中提供实际地址的分配。
6.如权利要求1-5中任一项的存储系统,该存储系统还被配置为响应于各自的写入请求,分配特定范围的物理存储地址。
7.如权利要求1-6中任一项的存储系统,其中,IVAS中地址的范围大体上大于PVAS中地址的范围。
8.如权利要求1-7中任一项的存储系统,其中,IVAS中的多个地址对应于PVAS中的一个地址并且是相同的地址。
9.如权利要求1-8中任一项的存储系统,其中,源对象和其至少一个快照被配置为分配给IVAS中的不同地址,但在PVAS中共享相同的分配地址,直到源对象或各自的快照被写入请求修改。
10.如权利要求1-9中任一项的存储系统,该存储系统是可操作的以响应于写入请求动态地分配PVAS中的地址空间,写入请求对应于IVAS中分配的各个地址。
11.如权利要求1-10中任一项的存储系统,其中,响应于寻址到一个或多个逻辑块地址的I/O请求,第一虚拟层是进一步可操作的以向各个IVAS地址提供依赖于协议的转换,由此促进第二虚拟层和物理存储空间被配置为以独立于协议的方式运行。
12.如权利要求1-11中任一项的存储系统,该存储系统还被配置为多个虚拟分区,其中,至少两个虚拟分区根据不同的存储协议是可操作的。
13.如权利要求1-12中任一项的存储系统,该存储系统还被配置为多个虚拟分区,其中,利用不同的保护方案配置至少两个虚拟分区。
14.如权利要求1-13中任一项的存储系统,响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,该存储系统是可操作的以将连续地址的所述范围配置为删除,而保持表征在IVAS和PVAS中所述范围的元数据不变,由此使得能够在需要时立即取消删除所述范围。
15.如权利要求14的存储系统,其中,根据预定的策略保持所述元数据。
16.如权利要求1-15中任一项的存储系统,其中PVAS被配置为表示在存储设备上分布的级连RAID组。
17.一种存储系统,包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到所述多个物理存储设备和多个主机上,其中存储控制层包括:
a)与所述多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,并且响应于寻址到一个或多个逻辑块地址的配置请求或I/O请求,第一虚拟层提供所述逻辑块地址到各自IVAS地址的转换;及
b)与所述多个物理存储设备相接的第二虚拟层,其是可操作的以表示对所述多个主机可用的实际物理空间,第二虚拟层由物理虚拟地址空间(PVAS)表征,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址;并且其中,所述第二虚拟层是可操作的以提供所述各自IVAS地址到物理地址空间中的地址的进一步转换。
18.如权利要求17的系统,其中,以依赖于协议的方式提供逻辑块地址到各自IVAS地址的转换,并且以独立于协议的方式提供所述各自IVAS地址到物理地址空间中的地址的进一步转换。
19.如权利要求17或18的系统,其中,配置请求选自包括下述各项的组:
a)用于将一个或多个新主机添加到所述多个主机的请求;
b)用于在所述多个主机中断开一个或多个主机的连接的请求;
c)用于生成一个或多个新快照的请求;及
d)用于改变输出卷的状态的请求。
20.如权利要求17-19中任一项的系统,其中,在不改变与寻址的逻辑块相关的元数据的情况下提供所述配置请求,并且配置请求在第二虚拟层和/或物理存储空间中被处理。
21.如权利要求17-20中任一项的存储系统,该存储系统还被配置为多个虚拟分区,其中,至少两个虚拟分区根据不同的存储协议是可操作的。
22.如权利要求17-21中任一项的存储系统,该存储系统还被配置为多个虚拟分区,其中,利用不同的保护方案配置至少两个虚拟分区。
23.如权利要求22的存储系统,该存储系统还是可操作的以利用期望的保护方案通过分配根据所述期望的保护方案配置的虚拟分区来配置新逻辑单元。
24.如权利要求23的存储系统,该存储系统是可操作的以响应于所述配置新逻辑单元来分配期望的保护方案所需的资源。
25.如权利要求17-24中任一项的存储系统,响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,该存储系统是可操作的以将连续地址的所述范围配置为删除,而保持表征在IVAS和PVAS中所述范围的元数据不变,由此使得能够在需要时立即取消删除所述范围。
26.如权利要求25的存储系统,其中,根据预定的策略保持所述元数据。
27.一种存储系统,包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到所述多个物理存储设备和多个主机上,其中存储控制层包括:
a)与所述多个主机相接的第一虚拟层,其是可操作的以表示逻辑地址空间,该逻辑地址空间由逻辑块地址表征并对所述多个主机可用,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,并且响应于寻址到一个或多个逻辑块地址的IO请求,第一虚拟层提供所述逻辑块地址到各自IVAS地址的依赖于协议的转换;及
b)与所述多个物理存储设备相接的第二虚拟层,其是可操作的以表示对所述多个主机可用的实际物理空间,第二虚拟层由物理虚拟地址空间(PVAS)表征,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址;并且其中,所述第二虚拟层是可操作的以提供所述各自IVAS地址到物理地址空间中的地址的进一步转换,以独立于协议的方式提供该转换。
28.一种运行存储系统的方法,所述存储系统包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到所述多个物理存储设备和多个主机上,该方法包括:
a)在存储控制层中生成与多个主机相接的第一虚拟层,所述第一虚拟层由内部虚拟地址空间(IVAS)表征,并生成与所述多个物理存储设备相接的第二虚拟层,第二虚拟层由物理虚拟地址空间(PVAS)表征;
b)在第一虚拟层的帮助下表示逻辑地址空间,逻辑地址空间由逻辑块地址表征并对所述多个主机可用,并在第二虚拟层的帮助下表示实际物理空间,实际物理空间对所述多个主机可用;及
c)通过操作性地连接到第一虚拟层和第二虚拟层的分配模块提供内部虚拟地址空间和物理虚拟地址空间之间的映射,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址。
29.如权利要求28的方法,其中,相互独立地管理内部虚拟地址空间和物理虚拟地址空间。
30.如权利要求28或29的方法,其中,在被独立处理的IVAS分配表和PVAS分配表的帮助下管理内部虚拟地址空间和物理虚拟地址空间。
31.如权利要求28-30中任一项的方法,其中,IVAS中地址的范围大体上大于PVAS中地址的范围。
32.如权利要求28-31中任一项的方法,IVAS中的多个地址对应于PVAS中的一个地址并且是相同的地址。
33.如权利要求28-32中任一项的方法,还包括:
a)关于源对象生成至少一个快照;
b)为所述至少一个快照和所述源对象分配IVAS中不同的地址,同时,分配PVAS中共同的地址;及
c)响应于由各自的写入请求修改所述源对象或所述快照,分别将PVAS中的新地址分配给修改的源对象或修改的快照。
34.如权利要求28-33中任一项的方法,还包括响应于写入请求动态地分配PVAS中的地址空间,写入请求对应于IVAS中分配的各个地址。
35.如权利要求28-34中任一项的方法,还包括:响应于寻址到一个或多个逻辑块地址的I/O请求,在第一虚拟层的帮助下向各个IVAS地址提供依赖于协议的转换,由此促进第二虚拟层和物理存储空间被配置为以独立于协议的方式运行。
36.如权利要求28-35中任一项的方法,其中该存储系统还被配置为多个虚拟分区,其中,至少两个虚拟分区根据不同的存储协议运行。
37.如权利要求28-36中任一项的方法,其中该存储系统还被配置为多个虚拟分区,其中,至少两个虚拟分区使用不同的保护方案运行。
38.如权利要求28-37中任一项的方法,还包括:
a)响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,执行基本进程,该基本进程包括取消分配IVAS中的所述范围;及
b)执行后台进程,该后台进程包括取消分配与IVAS中取消分配的范围相对应的PVAS中的地址。
39.如权利要求38的方法,其中,后台进程具有延迟,由此使得在开始后台进程前,如果需要可立即取消删除所述范围。
40.如权利要求28-37中任一项的方法,还包括:
响应于删除由IVAS中连续地址的范围表示的物理级快照或精简卷的未分配部分的请求,执行基本进程,该基本进程包括取消分配IVAS中的所述范围,同时保持PVAS和/或物理存储空间不变。
41.一种运行存储系统的方法,该存储系统包括由多个存储控制设备控制的多个物理存储设备,存储控制设备构成存储控制层,所述层操作性地连接到所述多个物理存储设备和多个主机上,该方法包括:
a)在存储控制层中生成与所述多个主机相接的第一虚拟层,第一虚拟层由内部虚拟地址空间(IVAS)表征,并生成与所述多个物理存储设备相接的第二虚拟层,第二虚拟层由物理虚拟地址空间(PVAS)表征;
b)在第一虚拟层的帮助下表示逻辑地址空间,逻辑地址空间由逻辑块地址表征并对所述多个主机可用;
c)在第二虚拟层的帮助下表示实际物理空间,实际物理空间对所述多个主机可用,其中,所述物理虚拟地址空间中的每个地址具有所述内部虚拟地址空间中的至少一个对应的地址;
d)响应于寻址到一个或多个逻辑块地址的配置请求或I/O请求,将所述逻辑块地址转换为各自IVAS地址;及
e)将所述各自IVAS地址转换为物理地址空间中的地址。
42.如权利要求41的方法,其中,以依赖于协议的方式提供逻辑块地址到各自IVAS地址的转换,并且以独立于协议的方式提供所述各自IVAS地址到物理地址空间中的地址的转换。
43.如权利要求41或42的方法,其中,配置请求选自包括下述各项的组:
a)用于将一个或多个新主机添加到所述多个主机的请求;
b)用于在所述多个主机中断开一个或多个主机的连接的请求
c)用于生成一个或多个新快照的请求;及
d)用于改变输出卷的状态的请求。
44.如权利要求41-43中任一项的方法,在不改变与寻址的逻辑块相关的元数据的情况下提供所述配置请求,并且配置请求在第二虚拟层和/或物理存储空间中被处理。
45.如权利要求41-44中任一项的方法,其中,存储系统还被配置为多个虚拟分区,其中,至少两个虚拟分区根据不同的存储协议是可操作的。
46.如权利要求41-45中任一项的方法,存储系统还被配置为多个虚拟分区,其中,利用不同的保护方案配置至少两个虚拟分区。
47.如权利要求41-46中任一项的方法,还包括利用期望的保护方案通过分配根据所述期望的保护方案配置的虚拟分区来配置新逻辑单元。
48.如权利要求47的方法,还包括响应于所述配置新逻辑单元来分配期望的保护方案所需的资源。
49.如权利要求41-48中任一项的方法,还包括:
a)响应于删除逻辑对象或删除由IVAS中的连续地址的范围表示的逻辑对象的一部分的请求,执行基本进程,该基本进程包括取消分配IVAS中的所述范围;及
b)执行后台进程,该后台进程包括取消分配与IVAS中取消分配的范围相对应的PVAS中的地址。
50.如权利要求49的方法,其中后台进程具有延迟,由此使得在开始后台进程前,如果需要可立即取消删除所述范围。
51.如权利要求41-48中任一项的方法,还包括:
响应于删除由IVAS中连续地址的范围表示的物理级快照或精简卷的未分配部分的请求,执行基本进程,该基本进程包括取消分配IVAS中的所述范围,同时保持PVAS和/或物理存储空间不变。
52.一种计算机程序,包括计算机程序代码装置,用于当在计算机上运行所述程序时,执行如权利要求28-51中任一项的方法。
53.如权利要求52的计算机程序,该计算机程序包含在计算机可读介质中。
CN201080014182.8A 2009-02-11 2010-02-11 虚拟存储系统及其运行方法 Expired - Fee Related CN102405460B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15153309P 2009-02-11 2009-02-11
US61/151,533 2009-02-11
US24846209P 2009-10-04 2009-10-04
US61/248,462 2009-10-04
PCT/IL2010/000124 WO2010092576A1 (en) 2009-02-11 2010-02-11 Virtualized storage system and method of operating it

Publications (2)

Publication Number Publication Date
CN102405460A true CN102405460A (zh) 2012-04-04
CN102405460B CN102405460B (zh) 2016-05-04

Family

ID=42174524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080014182.8A Expired - Fee Related CN102405460B (zh) 2009-02-11 2010-02-11 虚拟存储系统及其运行方法

Country Status (4)

Country Link
US (3) US8788754B2 (zh)
EP (1) EP2396717A1 (zh)
CN (1) CN102405460B (zh)
WO (1) WO2010092576A1 (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830942A (zh) * 2012-06-28 2012-12-19 记忆科技(深圳)有限公司 固态硬盘磁盘阵列映射的方法及其固态硬盘
CN102880426A (zh) * 2012-08-01 2013-01-16 龙芯中科技术有限公司 一种系统虚拟机减少tlb刷新的方法及系统虚拟机
CN103634379A (zh) * 2013-11-13 2014-03-12 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN105190567A (zh) * 2013-03-06 2015-12-23 戴尔产品有限公司 用于管理存储系统快照的系统和方法
CN105453021A (zh) * 2013-08-01 2016-03-30 经度企业快闪公司 用于原子存储操作的系统和方法
WO2016065610A1 (zh) * 2014-10-31 2016-05-06 华为技术有限公司 访问文件的方法、分布式存储系统和存储节点
WO2016107167A1 (zh) * 2014-12-31 2016-07-07 中兴通讯股份有限公司 存储架构的创建方法、存储访问方法和存储系统
WO2016205977A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Techniques to run one or more containers on virtual machine
CN106648450A (zh) * 2015-11-04 2017-05-10 南京壹进制信息技术股份有限公司 一种数据安全存储的实现方法
CN107346343A (zh) * 2017-07-21 2017-11-14 郑州云海信息技术有限公司 一种感知数据库存储的方法和装置
CN107704330A (zh) * 2016-08-09 2018-02-16 高丽大学校产学协力团 具有由单独的虚拟区域管理的多个信息存储表的存储器设备及其控制方法
CN107832168A (zh) * 2017-10-13 2018-03-23 记忆科技(深圳)有限公司 一种固态硬盘数据保护的方法
CN108632029A (zh) * 2017-03-20 2018-10-09 三星电子株式会社 密钥值固态驱动器
CN109799951A (zh) * 2017-11-16 2019-05-24 三星电子株式会社 使用分布式的和虚拟的命名空间管理的按需存储供应
CN109964208A (zh) * 2017-10-25 2019-07-02 华为技术有限公司 一种双活存储系统和地址分配方法
CN110795206A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 用于促进集群级缓存和内存空间的系统和方法
CN110837479A (zh) * 2018-08-17 2020-02-25 华为技术有限公司 数据处理方法、相关设备及计算机存储介质
CN111095903A (zh) * 2017-09-14 2020-05-01 国际商业机器公司 使用云存储作为模组的存储系统
CN111679795A (zh) * 2016-08-08 2020-09-18 北京忆恒创源科技有限公司 无锁并发io处理方法及其装置
CN112306372A (zh) * 2019-07-31 2021-02-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和程序产品
CN113625950A (zh) * 2021-06-30 2021-11-09 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的初始化方法、系统、设备及介质
CN115454359A (zh) * 2022-11-10 2022-12-09 苏州浪潮智能科技有限公司 固态硬盘访问控制方法、装置和计算机设备和存储介质

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2396717A1 (en) * 2009-02-11 2011-12-21 Infinidat Ltd Virtualized storage system and method of operating it
US9411517B2 (en) * 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
US9052825B2 (en) 2010-08-30 2015-06-09 Vmware, Inc. System software interfaces for space-optimized block devices
US20120079229A1 (en) * 2010-09-28 2012-03-29 Craig Jensen Data storage optimization for a virtual platform
US20160162371A1 (en) * 2011-01-05 2016-06-09 Netapp, Inc. Supporting multi-tenancy through service catalog
WO2012114338A1 (en) 2011-02-22 2012-08-30 Infinidat Ltd. Cloud storage arrangement and method of operating thereof
CN102255962B (zh) * 2011-07-01 2013-11-06 华为数字技术(成都)有限公司 一种分布式存储方法、装置和系统
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9069468B2 (en) * 2011-09-11 2015-06-30 Microsoft Technology Licensing, Llc Pooled partition layout and representation
CN102594868A (zh) * 2011-12-26 2012-07-18 浙江省电力公司 一种视频监控系统的图像分级存储控制方法
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9483201B2 (en) 2012-07-31 2016-11-01 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US9507750B2 (en) 2012-10-12 2016-11-29 A9.Com, Inc. Dynamic search partitioning
US9047326B2 (en) 2012-10-12 2015-06-02 A9.Com, Inc. Index configuration for searchable data in network
CN104823169B (zh) * 2012-10-12 2018-12-21 A9.com股份有限公司 用于网络中的可搜索数据的索引配置
US9311014B2 (en) 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
US9671962B2 (en) * 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
JP6055924B2 (ja) 2013-01-07 2016-12-27 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US9134908B2 (en) 2013-01-09 2015-09-15 Apple Inc. Logical volume space sharing
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US10223208B2 (en) * 2013-08-13 2019-03-05 Sandisk Technologies Llc Annotated atomic write
US9514387B2 (en) 2013-09-17 2016-12-06 Google Inc. System and method of monitoring and measuring cluster performance hosted by an IAAS provider by means of outlier detection
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US20160117226A1 (en) * 2014-10-22 2016-04-28 Netapp, Inc. Data recovery technique for recovering data from an object store
US20160299698A1 (en) * 2015-04-10 2016-10-13 HGST Netherlands B.V. Realm partitioning in hard drives
CN106469100B (zh) * 2015-08-17 2019-04-05 华为技术有限公司 一种数据恢复的方法、存储的方法相应的装置及系统
WO2017044124A1 (en) * 2015-09-11 2017-03-16 Hewlett Packard Enterprise Development Lp Switch process virtual address space
US10693715B1 (en) * 2017-10-26 2020-06-23 Amazon Technologies, Inc. Dynamic network address space allocation for virtual networks
US10423361B2 (en) * 2017-12-21 2019-09-24 Microsoft Technology Licensing, Llc Virtualized OCSSDs spanning physical OCSSD channels
US20190362075A1 (en) * 2018-05-22 2019-11-28 Fortinet, Inc. Preventing users from accessing infected files by using multiple file storage repositories and a secure data transfer agent logically interposed therebetween
US11036856B2 (en) 2018-09-16 2021-06-15 Fortinet, Inc. Natively mounting storage for inspection and sandboxing in the cloud
US10761932B2 (en) 2018-10-25 2020-09-01 Hewlett Packard Enterprise Development Lp Data and metadata storage in storage devices
US11086558B2 (en) * 2018-11-01 2021-08-10 EMC IP Holding Company LLC Storage system with storage volume undelete functionality
US20220121667A1 (en) * 2020-10-15 2022-04-21 Salesforce.Com, Inc. Database virtual partitioning
CN114296658A (zh) * 2021-12-31 2022-04-08 深圳市兆珑科技有限公司 一种存储空间分配方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708742A (zh) * 2002-01-23 2005-12-14 思科技术公司 在存储区域网中实现存储虚拟化的方法与装置
US20080104359A1 (en) * 2006-10-30 2008-05-01 Sauer Jonathan M Pattern-based mapping for storage space management
US20080270694A1 (en) * 2007-04-30 2008-10-30 Patterson Brian L Method and system for distributing snapshots across arrays of an array cluster

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392244A (en) 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
CA2405405C (en) 2000-04-18 2011-03-22 Nelson Nahum Storage virtualization in a storage area network
DE10127198A1 (de) 2001-06-05 2002-12-19 Infineon Technologies Ag Vorrichtung und Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift mit komprimierten Knoten
US6889309B1 (en) 2002-04-15 2005-05-03 Emc Corporation Method and apparatus for implementing an enterprise virtual storage system
US6996582B2 (en) 2002-10-03 2006-02-07 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7296139B1 (en) 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
JP4579000B2 (ja) * 2005-02-14 2010-11-10 株式会社日立製作所 計算機システムにおけるデータ配置設定
JP4550717B2 (ja) 2005-10-28 2010-09-22 富士通株式会社 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
US20070150690A1 (en) 2005-12-23 2007-06-28 International Business Machines Corporation Method and apparatus for increasing virtual storage capacity in on-demand storage systems
JP4958739B2 (ja) * 2007-11-09 2012-06-20 株式会社日立製作所 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
EP2350837A4 (en) * 2008-09-15 2012-10-17 Virsto Software Corp STORAGE MANAGEMENT SYSTEM FOR VIRTUAL MACHINES
EP2396717A1 (en) * 2009-02-11 2011-12-21 Infinidat Ltd Virtualized storage system and method of operating it

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708742A (zh) * 2002-01-23 2005-12-14 思科技术公司 在存储区域网中实现存储虚拟化的方法与装置
US20080104359A1 (en) * 2006-10-30 2008-05-01 Sauer Jonathan M Pattern-based mapping for storage space management
US20080270694A1 (en) * 2007-04-30 2008-10-30 Patterson Brian L Method and system for distributing snapshots across arrays of an array cluster

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014000585A1 (zh) * 2012-06-28 2014-01-03 记忆科技(深圳)有限公司 固态硬盘磁盘阵列映射的方法及其固态硬盘
CN102830942B (zh) * 2012-06-28 2016-06-22 记忆科技(深圳)有限公司 固态硬盘磁盘阵列映射的方法及其固态硬盘
CN102830942A (zh) * 2012-06-28 2012-12-19 记忆科技(深圳)有限公司 固态硬盘磁盘阵列映射的方法及其固态硬盘
CN102880426A (zh) * 2012-08-01 2013-01-16 龙芯中科技术有限公司 一种系统虚拟机减少tlb刷新的方法及系统虚拟机
CN102880426B (zh) * 2012-08-01 2015-05-27 龙芯中科技术有限公司 一种系统虚拟机减少tlb刷新的方法及系统虚拟机
CN105190567A (zh) * 2013-03-06 2015-12-23 戴尔产品有限公司 用于管理存储系统快照的系统和方法
CN105190567B (zh) * 2013-03-06 2018-07-20 戴尔产品有限公司 用于管理存储系统快照的系统和方法
CN105453021A (zh) * 2013-08-01 2016-03-30 经度企业快闪公司 用于原子存储操作的系统和方法
CN105453021B (zh) * 2013-08-01 2019-03-26 桑迪士克科技有限责任公司 用于原子存储操作的系统和方法
CN103634379B (zh) * 2013-11-13 2017-02-01 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN103634379A (zh) * 2013-11-13 2014-03-12 华为技术有限公司 一种分布式存储空间的管理方法和分布式存储系统
CN105765542A (zh) * 2014-10-31 2016-07-13 华为技术有限公司 访问文件的方法、分布式存储系统和存储节点
CN105765542B (zh) * 2014-10-31 2019-11-15 华为技术有限公司 访问文件的方法、分布式存储系统和存储节点
WO2016065610A1 (zh) * 2014-10-31 2016-05-06 华为技术有限公司 访问文件的方法、分布式存储系统和存储节点
WO2016107167A1 (zh) * 2014-12-31 2016-07-07 中兴通讯股份有限公司 存储架构的创建方法、存储访问方法和存储系统
WO2016205977A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Techniques to run one or more containers on virtual machine
CN106648450A (zh) * 2015-11-04 2017-05-10 南京壹进制信息技术股份有限公司 一种数据安全存储的实现方法
CN106648450B (zh) * 2015-11-04 2019-02-19 南京壹进制信息技术股份有限公司 一种数据安全存储的实现方法
CN111679795B (zh) * 2016-08-08 2024-04-05 北京忆恒创源科技股份有限公司 无锁并发io处理方法及其装置
CN111679795A (zh) * 2016-08-08 2020-09-18 北京忆恒创源科技有限公司 无锁并发io处理方法及其装置
CN107704330A (zh) * 2016-08-09 2018-02-16 高丽大学校产学协力团 具有由单独的虚拟区域管理的多个信息存储表的存储器设备及其控制方法
CN107704330B (zh) * 2016-08-09 2021-02-02 高丽大学校产学协力团 具有由单独的虚拟区域管理的多个信息存储表的存储器设备及其控制方法
CN108632029B (zh) * 2017-03-20 2022-05-17 三星电子株式会社 密钥值固态驱动器
CN108632029A (zh) * 2017-03-20 2018-10-09 三星电子株式会社 密钥值固态驱动器
CN107346343A (zh) * 2017-07-21 2017-11-14 郑州云海信息技术有限公司 一种感知数据库存储的方法和装置
CN107346343B (zh) * 2017-07-21 2020-09-18 苏州浪潮智能科技有限公司 一种感知数据库存储的方法和装置
CN111095903A (zh) * 2017-09-14 2020-05-01 国际商业机器公司 使用云存储作为模组的存储系统
CN107832168B (zh) * 2017-10-13 2020-10-16 记忆科技(深圳)有限公司 一种固态硬盘数据保护的方法
CN107832168A (zh) * 2017-10-13 2018-03-23 记忆科技(深圳)有限公司 一种固态硬盘数据保护的方法
US11704243B2 (en) 2017-10-25 2023-07-18 Huawei Technologies Co., Ltd. Active-active storage system and address assignment method
US11507505B2 (en) 2017-10-25 2022-11-22 Huawei Technologies Co., Ltd. Active-active storage system and address assignment method
CN109964208A (zh) * 2017-10-25 2019-07-02 华为技术有限公司 一种双活存储系统和地址分配方法
CN109799951A (zh) * 2017-11-16 2019-05-24 三星电子株式会社 使用分布式的和虚拟的命名空间管理的按需存储供应
CN109799951B (zh) * 2017-11-16 2024-03-01 三星电子株式会社 使用分布式的和虚拟的命名空间管理的按需存储供应
CN110795206A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 用于促进集群级缓存和内存空间的系统和方法
CN110795206B (zh) * 2018-08-02 2023-06-13 阿里巴巴集团控股有限公司 用于促进集群级缓存和内存空间的系统和方法
CN110837479A (zh) * 2018-08-17 2020-02-25 华为技术有限公司 数据处理方法、相关设备及计算机存储介质
CN110837479B (zh) * 2018-08-17 2023-09-01 华为云计算技术有限公司 数据处理方法、相关设备及计算机存储介质
CN112306372A (zh) * 2019-07-31 2021-02-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和程序产品
CN113625950B (zh) * 2021-06-30 2023-08-25 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的初始化方法、系统、设备及介质
CN113625950A (zh) * 2021-06-30 2021-11-09 苏州浪潮智能科技有限公司 一种独立冗余磁盘阵列的初始化方法、系统、设备及介质
CN115454359B (zh) * 2022-11-10 2023-03-24 苏州浪潮智能科技有限公司 固态硬盘访问控制方法、装置和计算机设备和存储介质
CN115454359A (zh) * 2022-11-10 2022-12-09 苏州浪潮智能科技有限公司 固态硬盘访问控制方法、装置和计算机设备和存储介质

Also Published As

Publication number Publication date
US8539193B2 (en) 2013-09-17
US20120066469A1 (en) 2012-03-15
US8555029B2 (en) 2013-10-08
EP2396717A1 (en) 2011-12-21
US8788754B2 (en) 2014-07-22
US20120072694A1 (en) 2012-03-22
US20120066450A1 (en) 2012-03-15
WO2010092576A1 (en) 2010-08-19
CN102405460B (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN102405460B (zh) 虚拟存储系统及其运行方法
US8918619B2 (en) Virtualized storage system and method of operating thereof
US9733862B1 (en) Systems and methods for reverse point-in-time copy management in a storage system
US7603529B1 (en) Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
US8046537B2 (en) Virtualization engine and method, system, and computer program product for managing the storage of data
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
US20120278560A1 (en) Pre-fetching in a storage system that maintains a mapping tree
JP2017091548A (ja) 分散格納システム及び分散格納方法並びに分散施設
US20120124285A1 (en) Virtual disk drive system and method with cloud-based storage media
US9875043B1 (en) Managing data migration in storage systems
US9612745B2 (en) Raid set initialization
JP2010272138A (ja) 仮想ディスク・ドライブのシステムおよび方法
CN111164584B (zh) 用于管理针对低延迟存储装置的分布式快照的方法及其设备
US11151056B2 (en) Efficient virtualization layer structure for a data storage system
KR20090096406A (ko) 전역 핫 스패어 디스크를 이용한 연결단절된 드라이브의 재구성 및 카피백 시스템 및 방법
WO2015068233A1 (ja) ストレージシステム
US11314608B1 (en) Creating and distributing spare capacity of a disk array
US10437478B1 (en) Replication based on a differential multiple write command
US11868248B2 (en) Optimization for garbage collection in a storage system
US11704053B1 (en) Optimization for direct writes to raid stripes
US20180307427A1 (en) Storage control apparatus and storage control method
US11449237B2 (en) Targetless snapshot system replication data pointer table
US11874795B2 (en) Targetless snapshot virtual replication data pointer table
US11561695B1 (en) Using drive compression in uncompressed tier

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

Granted publication date: 20160504