数据存储空间恢复系统和方法

文档序号:6506442阅读:252来源:国知局
数据存储空间恢复系统和方法
【专利摘要】提供了通过使用由主机计算机系统提供的知道在查询时哪些被分配的空间当前正在被使用的信息确定带有隐性分配的数据空间的计算机数据存储系统中明显空闲的数据空间的方法。在一个实施例中,文件系统(“FS”)被要求用来标识不再被使用的簇,该簇接着被映射到对操作系统(“OS”)可见的物理盘片。该物理盘片被映射到由存储子系统呈现的模拟/虚拟的卷。通过使用关于FS的服务器信息,对于不再被使用的那些页面,时间点拷贝(“PITC”)页面被标记用于今后的PITC并且将不被向前合并,从而节省可观的存储。
【专利说明】数据存储空间恢复系统和方法
相关申请的交叉引用
[0001]本申请要求题为“DataStorage Space Recovery System and Method(数据存储空间恢复系统和方法)”、2007年6月22日提交的、序列号为11/767,049的美国专利申请的权益,并且涉及题为“Virtual Disk Drive System and Method(虚拟盘片驱动系统和方法)”、2004年8月13日提交的、序列号为10/918,329的共同待定的美国专利申请;这两个申请都通过弓I用而被并入本文。
【技术领域】
[0002]本发明涉及通过使用由主机计算机系统提供的知道在查询时哪些被分配的空间当前正在被使用的信息确定带有隐性分配的数据空间的计算机数据存储系统中的明显空闲的数据空间。通过减少所要求的存储总量,在任何给定数据的存在期可以实现可观的成本节省。
【背景技术】
[0003]为了各种目的每年要求存储和传输日益增加的数据量,包括为了商业惯例以及顺应各种法律。在其上记录该数据的介质具有以美金计算的获得价格、以人力时间计算的管理价格、以及提供诸如动力和散热和/或其他要素的基础设施的价格。所希望的是减少所有这些要素的成本。普遍认为管理和提供这种基础设施的成本是获得存储介质的成本的倍数。通过减少介质的量,其他基础设施成本可以被进一步减少。本发明提供通过其可以节约、循环利用、或者再次使用数据存储和有关的介质,从而减少拥有数据存储的总成本的方法。
[0004]先前已经证明是有可能构建在其中所有物理存储初始地被分配到池(pool)的存储子系统,其示例在题为“Virtual Disk Drive System and Method (虚拟盘片驱动系统和方法)”、2004年8月13日提交的、序列号10/918,329的共同待定的美国专利申请中被论述。然后该池可以根据需要被分配到计算实体可存取的其他实体以便将该实体用于数据存储。在本发明的领域中从池到计算实体的存储分配通常被称为“自动精简配置(thinprovisioning)”。仅根据需要分配存储的这种方法利用了这样的含意:存储正在被计算实体使用,因为如果计算实体写入数据,其旨在于存储该数据用于稍后取回。通过仅分配由这些特定操作标识的存储,没有被常规的存储子系统使用并且可能从未被常规的存储子系统使用的可观的存储量可能作为整体被从系统中省略,从而减少获得、维护等成本。
[0005]然而,在标准协议中,计算实体不可能向存储子系统传达先前已经有数据被存储到其的特定区域不再被使用并且现在可以被再次使用或者以其他方式被释放。该数据空间可以已经被用于临时存储,或者可以仅仅是不再有足够价值为进一步的应用而保留。由于没有方法可用来只从存储子系统的角度标识不再被使用的区域,存储子系统继续维护数据空间。换句话说,没有隐含的方法可以逻辑上存在,通过该方法不用检查数据本身而毫无疑义地确定腾出(free)先前隐性分配的存储。同样地,对于存储子系统,检查计算实体所存储的所有数据的内容是十分耗费计算资源的。因而,在试图紧跟操作或者文件系统中的技术变化以及可以使用存储子系统的所有可能的应用的同时,存储系统遭受非常严重的性能影响。
[0006]总的来说,所希望的是准确地知道对于任何操作系统和任何类型的文件系统来说哪些块正在被使用,以及哪些块不是正在被使用以有助于使自动精简配置尽可能有效。对于块存储的用户,不存在标准向存储单元指示块“没有正在被使用”。对于常规的存储设备,该信息已经完全无关紧要,因为一个物理块通过物理表示被映射到存储设备上每个可寻址块。在包含多于一个盘片(disk)设备的几乎所有存储系统中,任何给定的可寻址块实际上可以被映射到一个或多个物理盘片设备上的几乎任何(以及有时多于一个)物理块。利用完全虚拟化的、自动精简配置的存储系统,只关于哪些块正在被使用的信息被隐性地收集一如果块被写入,其被假定为正在被使用。这是本质上安全的假设。在自动精简配置的情况下,基于用户写入到给定的可寻址块,物理块被分配用来基于需要而映射到用户可寻址块。“读取”从来没有被写的块可以返回空数据(drnnrny data),通常是由全0构成的以及具有所要求的总长度的数据。在这个实施例中使块可以被释放用于再次使用的仅有的方法是如果产生PITC,以及给定的逻辑可寻址块再一次被写入,并且先前的PITC期满。再次地,这隐性地指示先前被分配的块对于可寻址存储的完整性不再必要并且如有需要可以被重新分配,可能地被分配到其他卷。
[0007]某些条件可以导致任何FS中大量未使用的可寻址块。这种情况的极端例子可能是产生包含几乎整个卷的单个非常大的文件,接着删除该文件。存储子系统将隐性地分配对于文件系统进行的每次写入所要求的存储,在这种情况下为包含整个卷的那些。在该文件被删除后,由存储子系统分配的空间中的大部分不再被需要,但是存储空间不能隐性地被释放,从而消耗资源。随着时间逝去,应用或者文件系统层面的小型分配以及重新分配可能导致相同的结果。
[0008]因而,现有的数据存储系统中的自动精简配置方法受操作系统的文件系统操作束缚。这些文件系统不重新分配被腾出的空间,而是将先前未使用的空间分配给新文件写入,即新文件写入操作。该操作方法给定分区中造成先前已经被写入的大量空间,该给定分区实际上不再存储对于文件系统可用的数据。因为数据存储系统没有办法知道哪些逻辑块地址(“LBA”)不再被文件系统使用,该文件系统根据由数据存储系统提供的块存储分层,随着时间逝去这些现在未使用的块将累积。这种累积将最终要求得到的每个时间点拷贝(“PITC”,point in time copy)将访问(refer to)页面池中先前的页面,尽管那个存储实际上不再被使用。
[0009]因为越来越多的页面被宣告为“正在被使用”,而实际上没有正在被使用,诸如拷贝(copy)、复制(replication)以及其他数据移动的操作将占用更多的时间,并且将消耗更多的存储空间(可能在所有层级),从而使自动精简配置的许多空间优势无效。一个示例为Igb的文件被写入以及相应的新的卷被分配,接着该Igb的文件被删除。在存储子系统中,Igb页面仍然被分配在有效PITC (active PITC)中并且将被带到下一个PITC中诸如此类。页面可以在稍后的PITC中被替换,然而在现有的系统中,没有释放文件系统已经宣告其不再被使用的页面的方法。结果是如果该据推测为空的卷通过使用内部工具被拷贝,在新的拷贝中Igb的页面将被消耗,即使该卷为空。[0010]因此,确定何时隐性分配的存储不再被计算实体使用并且可以被腾出用于其它应用的方法是所希望的。

【发明内容】

[0011]本发明提供通过使用由主机计算机系统提供的知道在查询时哪些被分配的空间当前正在被使用的信息确定带有隐性分配的数据空间的计算机数据存储系统中的明显空闲的数据空间的系统和方法。通过减少所要求的存储总量,在任何给定数据的存在期可以实现可观的成本节省。
[0012]在本发明的一个实施例中,提供用来确定何时隐性分配的存储不再被计算实体使用并且可以被腾出用于其他应用的方法。本发明的优点之一是其减少所要求的数据存储总量,这减少其他资源,诸如要求用来将数据从一个实体拷贝到另一个实体、存储数据的另外的拷贝的带宽,并且相应地减少使用起支持作用的基础设施,包括输送和管理存储的空间、时间,以及提供给存储设备的动力和其他可能有用的资源。
[0013]如其将会实现地那样,本发明的实施例能够在各个显而易见的方面进行改动,而都不脱离本发明的实质和范围。因此,附图和详细的说明应被认为本质上是示意性的而不是限制性的。
【专利附图】

【附图说明】
[0014]图1示出根据本发明的原理的数据存储空间恢复的一个示例性方法的流程图。
[0015]图2示出根据本发明的原理的到计算机数据存储系统中明显空闲数据空间的页面池映射方法的一个示例性文件系统单元/扇区/簇。
【具体实施方式】
[0016]图1和2示出确定通过使用由主机计算机系统提供的知道在查询时哪些被分配的空间当前正在被使用的信息确定带有隐性分配的数据空间的计算机数据存储系统中明显空闲的数据空间的方法。
[0017]本发明的主机计算机系统可以包括一个或多个计算实体(有时称为主机或者服务器),该计算实体通过诸如光纤信道、SCSI或者其他标准存储协议的方式连接到一个或多个数据存储子系统,每个数据存储子系统模拟或者映射到一个或多个物理存储卷。数据存储子系统的一个实施例在题为“Virtual Disk Drive System and Method(虚拟盘片驱动系统和方法)”、2004年8月13日提交的、序列号为10/918,329的共同待定的美国专利申请中论述,其主题通过引用被并入。主机或者服务器包括操作系统(“OS”),其部分被称为文件系统(“FS”),该文件系统具有多个单元/扇区/簇,如图2所示。
[0018]主机或者服务器通常没有办法确定被限制在单个物理盘片中的常规存储卷和模拟/虚拟卷之间的区别。数据存储子系统将主机或者服务器所查看的存储单元扇区之间的抽象(abstraction)提供给被用于通过使用诸如RAID的冗余存储或者其他非冗余方法跨多个盘片被扩展的数据存储的那些存储单元扇区。存储子系统抽象化(abstract)经RAID方法被分配到被称为页面的单元的存储,该页面包含多个扇区。该抽象允许对虚拟卷和实际盘片存储之间的数据分配的简化的内部管理,并且详细的实现在题为“Virtual DiskDrive System and Method (虚拟盘片驱动系统和方法)”、2004年8月13日提交的、序列号为10/918,329的共同待定的美国专利申请中论述。
[0019]因此,在图1中,确定带有隐性分配的数据空间的计算机数据存储系统中明显空闲的数据空间的方法100从标识FS分配单元/扇区/簇的步骤102开始。在步骤104中FS单元/扇区/簇被分配和映射有OS物理盘片单元/扇区(the FS units/sectors/clustersare allocated and mapped with OS physical disk units/sectors in a step 104)。在步骤106中,明显空闲区域的未使用的块的列表被输送到存储子系统。在到达存储子系统时,未使用的块被调整为仅包括整个页面。页面必须完全未使用以使其有资格被腾出。在步骤108中,控制器(未示出)可以修改有效PITC,该有效PITC在给定的时间期间中跟踪卷的变化。在步骤108中,控制器(未示出)确定未使用的块的列表中的每个块是在有效时间点拷贝(“PITC”)中还是在历史PITC中,其中有效PITC是已经被使用并且没有被正在使用的存储区域或者页面,而历史PITC是已经被使用并且在PITC期满时将可能被腾出的存储区域或者页面。如果未使用的块的列表中的块是有效PITC,则控制器在步骤110中将页面送回空闲列表。图2中的页面池210示出存储空间的空闲列表。图2中的页面池212示出页面被送回之后的空闲列表。
[0020]如果空闲列表中的块是历史PITC,则控制器在步骤112中将有效PITC中的页面标记为可用以在拥有该页面的被冻结的PITC期满成为带有被标记的页面的PITC时被腾出(即稍后的PITC可以含有可能已经与该页面重叠的新的数据,所以该页面无论如何可以已经被隐性地腾出),从而在历史PITC期满时该页面将被腾出。历史PITC内的数据是只读的并且可以在存在期不被更改。这包括到将I/O写入数据页面,以及将页面送回空闲列表。一旦历史PITC期满,其页面可能被送回到空闲列表。接下来,控制器确定列表中是否有另一个块。如果是,方法100返回步骤108依此类推。如果列表中没有块,方法100结束。图2中的页面池212示出PITC B和C从系统中期满之后的空闲页面列表。在PITC B和C从系统中期满时页面E和N被腾出。只要PITC存在并且提供有效的恢复点,其需要保留其全部的页面。
[0021]在没有本发明的上述方法100的典型情况中,PITC A中的页面6、PITC B中的页面1、PITC C中的页面1、2,如图2所示,可以在先前已经被访问(reference),因而它们必须被带向前作为PITC合并,并且它们是隐性的空闲的空间而服务器或者主机没法知道。如图2所示,FS不再使用如FS簇映射202所指示的这些存储区域,即簇2、4、5、6不再被使用,其仅是被浪费的空间。
[0022]为了释放或者腾出这些空间,FS被要求用来标识在簇映射202中示出的没有正在被使用以及正在被使用的簇。这将簇2、4、5、6标识为不再被使用。
[0023]接着,FS被要求用来将没有正在被使用的簇(2、4、5、6)映射到对OS可见的盘片。这提供簇2到盘片0上的扇区3、4、簇4到盘片0上的扇区7、8、簇5到盘片I上的扇区18和19、以及簇6到盘片I上的扇区I和2的映射。应当理解的是在此使用的扇区号是为了示意的目的。
[0024]因为通过设计OS所查看的物理盘片与由存储子系统呈现的模拟/虚拟卷一致,盘片的OS视角(view) 204和存储子系统卷206之间有一对一的扇区映射。
[0025]被标识为没有被正在使用的扇区的扇区地址现在可以被解析到数据从其被映射的相应的PITCJP 208中的PITC A、PITC B、以及PITC C。每个PITC页面通常含有非常多的扇区-有时数千个,而在这个示例中为了示意的目的,每个页面含有两个扇区。因此,卷0的扇区3和4被映射到PITC B的页面1,卷0的扇区7和8被映射到PITCA的页面6依此类推。在该点处,由于页面的其他部分正在被使用而不能被腾出的页面也可以被解析。举例来说,在图2中,卷I的扇区19被映射到PITC C的页面5,其也并且仍然正在被卷I的扇区3使用。在这种情况下,PITC C的页面5在该点处没有被腾出。
[0026]通过使用关于FS的服务器信息,在208中示出的PITC页面被标记为对于今后的PITC为不再被使用并且将不被向前合并超过空间恢复的点,因而节省可观的存储。
[0027]注意到的是上述示例没有示出从来没有被使用的FS簇怎样被映射到“零数据”。应当理解的是尽管本发明的方法标识和解析先前已经含有数据并且不再含有数据的(例如删除或者移动文件等等)簇,可以实现被用来标识和解析包括从来没有被使用的一些簇的簇的步骤。
[0028]总的来说,通过检查FS,某些被标识的页面可以从稍后的PITC中去除,在今后的操作中将某些页面送回存储页面池。在本发明中,FS可以自由地将由FS使用的任何分配单元以其所希望的任何方式映射到扇区和物理盘片。因而恢复不再被使用的空间的关键之一是查询FS以确定哪个空间实际上正在被使用以及处于哪个物理位置。在知道该信息的情况下,可以执行从FS分配单元到虚拟存储子系统卷的映射,并且从那里,到页面的映射。隐性地被标识为正在被使用的页面可以明显地被确定为被空闲。该信息可以被用来在合适的PITC中优化空间使用。
【权利要求】
1.一种确定数据存储子系统中被隐性分配给主机文件系统的明显空闲数据存储空间的方法,所述方法包括: 查询所述主机文件系统以便识别不再由所述主机文件系统使用的文件系统存储单元,其中所述文件系统存储单元根据先前已经分配给所述主机文件系统的文件系统存储单元而对应于所述数据存储子系统中的隐性分配存储空间,导致该分配存储空间实际上可再次使用,但从数据存储子系统的角度仍表现为由所述主机文件系统在使用; 从所述主机文件系统接收所识别的未使用文件系统存储单元的列表; 将所识别的未使用文件系统存储单元的列表中每个未使用的文件系统存储单元映射到所述数据存储子系统中的对应隐性分配数据存储空间;以及 基于确定对应隐性分配数据存储空间是处于有效时间点拷贝页面还是处于历史时间点拷贝页面,来明显腾出对应隐性分配数据存储空间,使得明显空闲数据存储空间从所述数据存储子系统的角度不再表现为由所述主机文件系统在使用。
2.如权利要求1所述的方法,其中,有效时间点拷贝页面中的对应隐性分配数据存储空间被腾出到空闲页面池中,由此变得明显空闲。
3.如权利要求1所述的方法,其中,历史时间点拷贝页面中的对应隐性分配数据存储空间在历史时间点拷贝页面期满时被标记以便被腾出到空闲页面池中,由此历史时间点拷贝页面一期满就变得明显空闲。
4.如权利要求1所述的方法,其中,所述文件系统通过光纤信道连接到所述数据存储子系统。
5.如权利要求1所述的方法,其中,所述文件系统通过SCSI连接到所述数据存储子系统。
6.如权利要求1所述的方法,其中,未使用文件系统存储单元的列表被调整为仅包括对应于所述数据存储子系统的整个页面的存储单元。
7.如权利要求1所述的方法,其中,所述数据存储子系统利用自动精简配置。
8.—种与主机文件系统可操作通信的数据存储子系统,所述数据存储子系统包括计算机可读数据存储介质和控制器,所述控制器配置成: 向所述主机文件系统分配所述计算机可读数据存储介质的数据存储空间,其中根据所述数据存储空间的分配,所述数据存储空间的所分配部分从所述控制器的角度表现为由所述主机文件系统在使用,即使这些所分配部分中的任意个实际上可再使用,不再由所述主机文件系统使用; 查询所述主机文件系统以便识别所分配的数据存储空间中不再由所述主机文件系统使用的空闲部分; 从所述主机文件系统接收不再由所述主机文件系统使用的数据存储空间的所识别空闲部分的列表; 将所述数据存储空间的空闲部分的列表中识别的数据存储空间映射到所述计算机可读数据存储介质中的数据存储空间的对应部分;以及 基于确定数据存储空间的对应部分是处于有效时间点拷贝页面还是处于历史时间点拷贝页面,来明显腾出所述计算机可读数据存储介质中数据存储空间的对应部分,使得数据存储空间的明显空闲部分从所述控制器的角度不再表现为由所述主机文件系统在使用。
9.如权利要求8所述的数据存储子系统,其中,有效时间点拷贝页面中的数据存储空间的对应部分被腾出到空闲页面池中,由此变得明显空闲。
10.如权利要求8所述的数据存储子系统,其中,历史时间点拷贝页面中的数据存储空间的对应部分在所述历史时间点拷贝页面期满时被标记以便被腾出到空闲页面池中,由此所述历史时间点拷贝页面一期满就变得明显空闲。
11.一种确定数据存储子系统中被隐性分配给主机文件系统的明显空闲数据存储空间的方法,所述方法包括: 从所述主机文件系统接收不再由所述主机文件系统使用的文件系统存储单元的列表,所述文件系统存储单元根据先前已经分配给所述主机文件系统的文件系统存储单元而对应于所述数据存储子系统中的隐性分配数据存储空间,导致该分配存储空间实际上可再次使用,但从数据存储子系统的角度仍表现为由所述主机文件系统在使用;以及 基于确定对应隐性分配数据存储空间是处于有效时间点拷贝页面还是处于历史时间点拷贝页面,来明显腾出对应隐性分配数据存储空间,使得明显空闲数据存储空间从所述数据存储子系统的角度不 再表现为由所述主机文件系统在使用。
【文档编号】G06F17/30GK103500164SQ201310316822
【公开日】2014年1月8日 申请日期:2008年6月23日 优先权日:2007年6月22日
【发明者】L.E.阿什曼, M.J.克莱姆, M.H.皮特尔科, M.D.奥尔森 申请人:康佩伦特科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1