CN102292720A - 用于管理数据存储系统的数据对象的方法和设备 - Google Patents
用于管理数据存储系统的数据对象的方法和设备 Download PDFInfo
- Publication number
- CN102292720A CN102292720A CN2009801336286A CN200980133628A CN102292720A CN 102292720 A CN102292720 A CN 102292720A CN 2009801336286 A CN2009801336286 A CN 2009801336286A CN 200980133628 A CN200980133628 A CN 200980133628A CN 102292720 A CN102292720 A CN 102292720A
- Authority
- CN
- China
- Prior art keywords
- data
- data object
- hash function
- perfect hash
- storage system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了用于管理数据存储系统的数据对象的技术。根据一个实施方式,针对存储在数据存储系统中的数据对象生成完美散列函数。对于每个数据对象,使用完美散列函数来执行散列运算,以指示各个数据对象是否是活跃的。如果基于使用完美散列函数的散列运算的结果确定各个数据对象是不活跃的,则回收与各个数据对象相关联的资源,其中被回收的资源被释放回数据存储系统作为自由资源。还描述了其它方法和设备。
Description
技术领域
本发明一般涉及管理数据存储系统的数据对象。更具体地,本发明涉及从数据存储系统的未使用数据对象中回收资源。
背景技术
组织正在积累大量的电子数据。为了便于存储这些数据,数据存储系统需要管理越来越多的大量数据对象(例如,文件、文档、对象、记录等)并将属性关联到这些对象。可以与对象相关联的属性的示例包括系统用户可见的对象特性(例如,访问控制信息、最后访问时间等)和系统可以使用来管理对象的对象特性(例如,系统中对象的位置、对象的检验和等)。
例如,当对象不再使用时,期望回收该对象保持的资源并之后再利用这些资源。为了便于资源回收,通常需要关联对对象参考数量的计数或对象是否仍然使用(活跃(alive))的指示符。在许多情况中,存在间接(或虚拟化)等级,由此通过另一个对象的引用来使用对象。为了清楚起见,将前者称为物理数据对象,将后者称为逻辑对象。在该情况中,物理数据对象只在系统当前包含引用该物理数据对象的逻辑对象时才是活跃的。例如,在文件系统中,数据块(chunk)只在其与当前存在于该文件系统中的文件相关联时才是活跃的。
一些形式的索引结构需要将属性与对象相关联。随着系统中对象数目的增加,索引结构变得非常大,因此使用索引结构来快速查寻对象属性变得困难且昂贵。在反复制存储系统(例如,加利福尼亚州圣克拉拉市的DataDomain公司提供的那些存储系统)中,可能存在数百万个文件和在多个文件之间共享的以及每个文件中的数十亿个数据块(也称为片段)(segment),由此将属性与每个文件和/或片段相关联需要非常大的索引。
为了减小索引结构的尺寸,一种方式是使用概率性索引结构,其可以在大多数时候保持对象与属性之间的正确的关联性。例如,光晕滤波器(bloomfilter)可以用于指示片段是否是活跃的。但是在存在许多物理对象时光晕滤波器仍然相对较大,且其引入错误的肯定(positive)使得不活跃(dead)的物理对象可以被认为是活跃的。
发明内容
这里描述了用于管理数据存储系统的数据对象的技术。根据本发明的一个方面,针对存储在数据存储系统中的数据对象生成完美散列函数(perfecthash function)。对于每个数据对象,使用完美散列函数来进行散列运算,以指示各个数据对象是否是活跃的。如果基于使用完美散列函数的散列运算结果确定各个数据对象不是活跃的,则与各个数据对象相关联的资源被回收,其中被回收的资源被释放回到数据存储系统作为自由资源。
根据本发明的另一个方面,针对存储在数据存储系统中的数据对象生成完美散列函数。对于每个数据对象,使用完美散列函数进行散列运算,从而生成散列值。该散列值与数据对象的预定属性相关联,由此之后响应于对访问数据对象的预定属性的请求,使用完美散列函数来唯一识别数据对象的预定属性。
从附图以及以下具体描述中可以明显理解本发明的其它特征。
附图说明
附图以示例的方式而非限制的方式示出了本发明,其中相似的附图标记指示相似的元件。
图1是示出根据本发明的一个实施方式的系统配置的框图;
图2是示出根据一个实施方式的数据存储系统的管理系统的示例的框图;
图3是示出根据一个实施方式从未使用的数据对象中回收资源的过程的流程图;
图4A-图4E是示出根据一个实施方式在反复制存储系统中从未使用的数据对象中回收资源的过程的图;
图5是示出根据一个实施方式使用完美散列函数将属性与数据对象相关联的过程的流程图;
图6是示出可以与本发明的实施方式一起使用的存储系统的示例的框图;
图7是可以与本发明的一个实施方式一起使用的数据处理系统的框图。
具体实施方式
这里描述了用于管理数据存储系统的数据对象的技术。根据一些实施方式,通过分析当前在数据存储系统中的物理对象以生成用于这些对象的完美散列函数来使用用于回收资源的有效机制。完美散列函数用于紧密地标记活跃的对象。之后,可以回收没有被标记的对象的资源。
在下面的描述中,提出了多个细节来提供对本发明实施方式的更全面的理解。但是本领域技术人员容易理解,本发明的实施方式可以在没有这些具体细节的情况下被实施。在其它情况中,公知结构以框图形式示出而没有具体示出,以避免使本发明的实施方式模糊。
说明书中引用“一个实施方式”或“一实施方式”是指结合该实施方式描述的特定特征、结构或特性被包含在本发明的至少一个实施方式中。在说明书中不同位置出现的短语“在一个实施方式中”不必都指同一个实施方式。
图1是示出根据本发明的一个实施方式的系统配置的框图。参考图1,系统配置100包括但不限于一个或多个客户端101-102,其通过网络103可通信地耦合到服务器104,以通过网络110访问存储在存储装置105-107中的任意一个存储装置中的数据。客户端101-102可以是任意类型的客户端,例如服务器、个人计算机、“薄”客户端、个人数字助理(PDA)、网络使能设备或网络使能蜂窝电话等。服务器104可以包括任意类型的服务器或服务器集群。例如,服务器104可以是用于各种不同目的中的任意一种目的的存储服务器,例如用于向多个用户提供对共享数据的访问和/或用于备份任务关键数据。服务器104可以例如是文件服务器(例如,用于提供NAS能力的设备)、基于数据块的存储服务器(例如,用于通过SAN能力)、统一存储设备(例如,结合NAS和SAN能力的设备)、近线(nearline)存储设备、直接连接存储(DAS)设备、磁带备份设备或基本上任意其它类型的数据存储设备。服务器104可以具有分布式架构,或其所有组件都可以集成到单个单元中。
网络103可以是任意类型的网络,例如局域网(LAN)、广域网(WAN)(例如,因特网)、企业内网、城域网(MAN)、存储区域网(SAN)、总线或它们的组合。同样地,网络110也是。存储装置105-107可以例如是常规磁盘、光盘(例如,基于CD-ROM或DVD的存储装置)、磁带存储装置、磁光(MO)存储介质、固态盘、基于闪存的设备或适合存储大容量数据的任意其它类型的非易失性存储设备。存储装置105-107还可以是这些设备的组合。在盘式存储介质的情况中,存储设备105-107可以被组织成一个或多个容积的廉价磁盘冗余阵列(RAID)。服务器104和/或存储装置105-107可以被实现为档案和/或备份系统的部分,例如可以从加利福尼亚州的圣克拉拉市的Data Domain公司获得的反复制存储系统。
根据一个实施方式,服务器104包括文件系统108和管理处理逻辑109(例如,资源管理逻辑或数据对象管理逻辑)。文件系统108可以是任意类型的文件系统。文件系统一般指的是在存储设备(例如磁盘)上构造数据或元数据,该文件系统准许在这些磁盘上的数据读/写和/或准许处理逻辑启用该构造。元数据以数据结构形式被组织,例如用于存储关于逻辑对象(在该情况中为文件)的信息的信息节点(inode),而数据块是用于存储文件的实际数据的结构。包含在信息节点中的信息可以包括例如文件的所有权、对文件的访问准许、文件大小、文件类型以及磁盘上文件的数据块的位置。文件数据的位置可以通过信息节点中的指针来提供,该指针还可以涉及(reference)间接的块,而该间接的块反过来可以依据文件中的数据量涉及数据块。
管理处理逻辑109可以被实现为文件系统108或可通信地耦合到文件系统108的单独模块的部分。例如,管理处理逻辑109和文件系统108可以是如图7所示的反复制存储系统的部分。
图2是示出根据一个实施方式的数据存储系统的管理系统的示例的框图。例如,系统200可以被实现为图1的文件系统108和/或管理处理逻辑109的部分。参考图2,系统200包括但不限于资源管理器201、逻辑对象管理器202、物理对象管理器203、完美散列库204以及活动表(live table)205。
在一个实施方式中,资源管理器201被配置成接收并处理对回收未使用数据对象的资源的请求。物理对象管理器203被配置成管理物理数据对象。每个物理数据对象具有与其相关联的标识符(ID)。在一个实施方式中,基于对象内容来得到与物理对象相关联的ID。逻辑对象管理器202被配置成管理系统中的逻辑数据对象(例如文件),并维护每个逻辑数据对象到与其相关联的物理数据对象的映射。一个或多个逻辑数据对象可以与一个物理数据对象相关联。此外,完美散列库204用于生成针对由物理对象管理器203管理的物理对象中的一些或全部物理对象的一个或多个完美散列函数。完美散列函数可以用于更新活动表205,该活动表205指示哪些物理数据对象是活跃的(例如,通过至少一个逻辑数据对象来关联或引用)。
集合S的完美散列函数是将S中不同元素映射到不同数的散列函数。给定特定集合S,可以被迅速评估(例如,在固定时间(constant time)中)且具有的值在相对于S中元素个数的“小”范围中(例如,某常数乘以S中的元素个数)的完美散列函数可以通过各种算法找到,这些算法例如是题为“Simple and Space-Efficient Minimal Perfect Hash Function”的文章(FabianoC.Botelho等人,Proceedings of the 10th International Workshop on Algorithmsand Data Structures(WADS07),Springer-Verlag Lecture Notes in ComputerScience,vol.4619,Halifax,Canada,August 2007)中所述的算法,其全部内容作为引用并入本文。在一个实施方式中,完美散列库204用于生成一个或多个这样的完美散列函数。
根据一个实施方式,这里使用了最小完美散列函数。最小完美散列函数是将n个元素的集合S映射到n个连续整数(通常[0...n-1]或[1...n])的完美散列函数。表达该函数的更正式的方式为:设j和k为某集合S的元素。F是用于S的最小完美散列函数,当且仅当F(j)=F(k)暗示j=k时,存在整数a使F的范围为a..a+|s|-1。
回到图2,根据一个实施方式,资源管理器分析当前存储在数据存储系统中的物理对象,以生成用于这些对象的完美散列函数。可以使用多种算法来生成完美散列函数,这些算法例如是之前所述的题为“Simple andSpace-Efficient Minimal Perfect Hash Function”的文章(Fabiano C.Botelho等人)中所描述的算法。完美散列函数然后用于紧密地标记一个或多个活动表(其指示特定物理数据对象是否是活跃的)。之后,来自还没有被标记的对象(例如,不活跃的数据对象)的资源可以通过资源管理器201进行回收。注意,完美散列函数以及相关联的活动表可以基于每个系统或子系统(例如,磁盘、卷或目录)被实施。
图3是示出根据一个实施方式的从未使用数据对象中回收资源的过程的流程图。注意,过程300可以由处理逻辑来执行,该处理逻辑可以包括软件、硬件或软件与硬件的组合。例如,过程300可以由图2的系统200来执行。参考图3,在框301,资源管理器接收对回收数据存储系统中的资源的请求。
在框302,资源管理器执行对系统中的物理数据对象的分析,以生成完美散列函数。例如,资源管理器向物理对象管理器要求与系统中的物理对象相关联的ID,并将它们递送到完美散列库以生成完美散列函数,该完美散列函数将这些ID的每一个ID都映射到唯一散列值。可以使用多种算法来生成如上所述的完美散列函数。在一个实施方式中,使用最小完美散列函数。最小完美散列函数是将具有n个ID的集合映射到n个值的范围的完美散列函数。
在一个实施方式中,物理对象被指派到存储桶(bucket)或组中,且针对每个存储桶生成完美散列函数。在一个实施方式中,向存储桶指派物理对象通过对与每个物理数据对象相关联的ID应用散列函数并使用该散列值来选择存储桶来完成。
此外,根据一个实施方式,确定是否应当考虑对物理对象进行资源回收,其中仅针对应当被考虑进行资源回收的那些对象生成完美散列函数。在一个实施方式中,基于何时创建对象和/或何时最后修改对象来确定是否应当考虑对该对象进行资源回收。在一个实施方式中,基于通过处理对象能回收多少资源来确定是否应当考虑对该对象进行资源回收。例如,如果片段具有不同的大小,则首先处理大的片段以快速回收存储空间是有利的。如果物理数据对象被存储在存储单元中,则处理存储在包含可能不活跃的其它对象的存储单元中的对象是有利的。
如上所述,逻辑对象管理器管理系统中的逻辑对象,并维护每个逻辑对象到一个或多个与其相关联的物理对象的映射。在框303,逻辑对象管理器通过该映射进行迭代,以确定所有活跃的物理对象,即与系统中一个或多个逻辑对象相关联的物理对象。
在框304,资源管理器将生成的完美散列函数应用到与已经被确定为活跃的物理对象的每一个物理对象相关联的ID,并使用得到的散列值来更新活动表。在一个实施方式中,活动表被实现为由从完美散列函数中获得的散列值进行索引的比特向量。换句话说,系统中每个物理对象都与比特向量中的唯一比特相关联,其中该比特的位置通过从完美散列函数中获得的散列值来确定。对应于物理对象的比特被更新,以指示该对象是活跃的(例如,通过将比特值设定为逻辑高或逻辑低值)。
在所有活跃的物理数据对象都经由活动表被标记后,在框405,资源管理器查阅该活动表并从不活跃的物理对象中回收资源。在一个实施方式中,资源管理器向物理对象管理器要求与系统中物理对象相关联的ID,将完美散列函数应用到这些ID的每一个ID,并使用从完美散列函数中获得的散列值来查寻活动表。如果从对活动表的查寻中确定物理对象不是活跃的,则资源管理器从该物理对象回收资源。在一个实施方式中,资源管理器释放由物理对象占据存储空间,由此可以再利用该存储空间。还可以执行其它操作。在一个实施方式中,资源管理器重写(overwrite)该物理对象占据的存储空间至少一次,以确保该物理对象的内容不能被恢复。
上述技术可以应用到多种存储系统,例如反复制存储系统。图4A-图4E是示出根据一个实施方式从反复制存储系统中的未使用数据对象中回收资源的过程的图。在该示例中,如图4A所示,在系统中存在三个文件——文件1、4和5。文件1由分别具有ID A20和AE9的两个片段组成。文件4由三个片段(AE9、2D0以及FF5)组成。文件5由两个片段(A20和CD6)组成。如图4B所示,在系统中目前存在7个片段,即A20、AE9、256、CD6、FF5、BBE以及2D0。注意,在该示例中,A20、AE9、256、CD6、FF5、BBE和2D0是对应的片段的ID,其可以基于片段内容被生成(例如,通过对片段内容执行散列运算)。
响应于对回收资源的请求,分析这些片段以生成完美散列函数。在一个实施方式中,这些片段的ID(例如A20、AE9、256、CD6、FF5、BBE、2D0和FF5)用于生成完美散列函数。完美散列函数用于将每个片段ID映射到唯一值。每个片段的该唯一值用于选择活动表中的项,其指示片段是否是活跃的。例如,该唯一值(例如完美散列函数的输出)可以用作活动表中的项的索引值,以指示对应的片段是否是活跃的,如图4C所示。
对于每个逻辑对象,分析其到物理对象的映射,以确定与其相关联的物理对象。如图4D中所示,完美散列函数用于将相关联的物理对象中的每一个物理对象的ID映射到唯一值,该唯一值然后用于选择并更新活动表中的项,以指示各自的物理对象是活跃的。
之后,完美散列函数用于将每个物理对象的ID映射到唯一值,该唯一值然后用于选择并查寻活动表中的项,如图4E所示。如果对应于物理对象的活动表的项没有被更新(例如,在该示例中具有值“N”),则认为该对象不活跃且相关联的资源(例如存储空间)被回收并被释放回到系统作为自由资源。在该特定示例中,片段256和BBE是不活跃的。
在一个实施方式中,回收与不活跃的物理对象相关联的资源包括将资源返回到自由池(free pool),使得这些资源可以被再利用。在一个实施方式中,回收资源包括执行对由对象占据的存储装置或存储器空间的操作,以确保对象之后不会被恢复。在一个实施方式中,对象是存储在存储系统中的数据块,且回收与不再使用的数据块相关联的资源包括使用至少一种预定比特方式来重写持有数据块的存储空间。
如上所述,假设完美散列函数的属性为不引入冲突的散列,则标记特定数据对象是否是活跃的前述过程是存储器有效的,且不会生成错误的肯定结果。因此,可以有效地执行资源回收过程。
根据本发明的进一步的实施方式,在数据存储系统的其它应用中也可以使用完美散列函数。在一个实施方式中,完美散列函数可以用于将数据对象与某些特性(例如,访问控制信息、系统中的位置、对象是否活跃的指示等)相关联。
图5是示出根据一个实施方式使用完美散列函数将属性与数据对象相关联的过程的流程图。注意,过程500可以由处理逻辑执行,该处理逻辑可以包括软件、硬件或软件与硬件的结合。例如,过程500可以由图1和/图6中示出的存储系统来执行。
参考图5,在框501,处理逻辑识别数据存储系统中的数据对象(例如,物理或逻辑数据对象)。在框502,基于被识别的数据对象(例如,基于与数据对象相关联的ID)生成完美散列函数。在一个实施方式中,数据对象的ID可以在各自的数据对象被存储在系统中时被生成。可以基于数据对象内容(例如,通过执行对数据对象内容的散列运算(例如SHA-1))生成ID。
在框503,对于每个数据对象,处理逻辑使用生成的完美散列函数将属性唯一地与各自的数据对象相关联。之后,响应于对访问数据对象属性的请求,在框504,处理逻辑能够使用完美散列函数来快速识别和/或定位被请求的属性。例如,响应于对访问指定数据对象的属性的请求,处理逻辑可以使用生成的完美散列函数来执行对与作为输入的该指定的数据对象相关联的ID的散列运算。完美散列函数的输出可以用于快速识别存储被请求的属性的位置,且该被请求的属性可以从被识别的位置中快速获取。
根据某些实施方式,可以在反复制存储系统(例如,可以从加利福尼亚州圣克拉拉市的Data Domain公司获得的系统)中有利地使用完美散列函数。图6是示出可以与本发明的实施方式一起使用的存储系统的示例的框图。例如,系统600可以被实现为图1-图2中所示的系统的部分。在该示例中,系统600是反复制存储系统。参考图6,系统600包括但不限于文件服务接口601、内容存储管理器602、片段存储管理器603(其具有片段指纹(fingerprint)604)以及用于管理存储在一个或多个磁盘606中的容器(container)中的片段的容器管理器。
根据一个实施方式,系统600以内容相关的方式将文件分割成可变长度的片段,并计算每个片段的指纹。系统600使用指纹来识别重复的(duplicate)的片段并将指纹作为片段描述符的一部分(用于引用片段)。其将文件描述为片段指纹的序列。在写入过程中,系统600识别重复的片段,并尽可能地只存储任意特定片段的一份拷贝。在存储新片段之前,系统600可以使用Ziv-Lempel算法的变型来压缩片段。
在一个实施方式中,系统600支持在公共文件服务接口601上进行分层(layer)的多个接入协议。支持的协议包括网络文件系统(NFS)、公共因特网文件系统(CIFS)以及虚拟磁带库接口(VTL)等。
当数据流进入系统时,该数据流通过标准接口中的一个接口到达通用文件服务层,该通用文件服务层管理名称空间和文件元数据。文件服务层将写入请求转发到内容存储装置602,该内容存储装置管理文件中的数据内容。内容存储装置602将数据流分成多个片段,使用片段存储装置603来执行反复制,并追踪针对文件的引用(例如,逻辑数据对象与物理数据对象之间的映射)。片段存储装置603进行反复制的实际工作。其将反复制(唯一)的片段打包成相对大的单元,使用Ziv-Lemple算法的变型来压缩这些单元以进一步压缩数据,然后将压缩后的结果写入由容器管理器605支持的容器中。
为了从系统中读取数据流,客户端通过标准接口和文件服务层601中的一者来驱动读取操作。内容存储装置602使用对反复制片段的引用来将期望的数据流递送到客户端。片段存储装置从容器管理器605中预先取得、解压缩、读取并高速缓存数据片段。
根据一个实施方式,内容存储装置602对反复制数据对象执行字节范围(byte-range)的写和读,其中对象是客户端数据字节的线性序列并具有固有和客户端可设定的属性或元数据。对象可以是常规的文件、整卷的备份图像或磁带盒。
为了将字节范围写入对象中,内容存储装置602执行一些操作。首先,锚定(archoring)将字节范围按内容相关方式分成可变长度的片段。然后,片段指纹计算散列(例如,SHA-1散列)并基于该散列生成片段描述符。每个片段描述符包含每个片段的至少指纹和大小信息。此外,片段映射建立片段树,该片段树记录对象字节范围与片段描述符之间的映射。目的是使用对反复制片段的引用来代表数据对象。
为了读取对象中的字节范围,内容存储装置602遍历(traverse)由以上片段映射操作创建的片段树,以获得针对相关片段的片段描述符。其从片段存储装置中取得片段,并将被请求的字节范围返回给客户端。
片段存储装置603基本上是由其片段描述符604键入(key)的片段数据库。为了支持写,其接受具有其片段描述符的片段并存储这些片段。为了支持读,其取得片段的片段描述符指定的片段。为了写入数据片段,片段存储装置执行一些操作。首先,片段过滤确定片段是否是副本。这对反复制片段来说是关键操作并可以触发磁盘I/O,因此其开销能够明显影响吞吐量性能。此外,容器打包将要被存储的片段添加到容器中,该容器是系统中的存储单元。打包操作还使用Ziv-Lempel算法的变型来压缩片段数据。当完全打包时,容器被附加到容器管理器。最后,在容器已经被附加到容器管理器605上之后,片段索引更新将片段描述符映射到持有该片段的容器的片段索引。
为了读取数据片段,片段存储装置603执行某些操作。首先,片段查寻找到存储被请求的片段的容器。该操作可以触发磁盘I/O来查看磁盘上的索引,由此其对吞吐量是很敏感的。容器获取通过调用容器管理器605读取被指示的容器的相关部分。容器解包对容器的被获取的部分进行解压缩并将返回被请求的数据片段。
容器管理器605提供存储容器日志摘要(不是块摘要)给片段存储装置603。容器包括具有针对被存储的片段的片段描述符的元数据段。它们的不可改变性在于新容器能够被附加而旧容器被删除,但是一旦被写入,容器就不能被修改。当片段存储装置603附加容器时,容器管理器605返回在系统寿命期间是唯一的容器ID。
容器管理器605负责分配、解除分配、读取、写以及可靠存储容器。其支持元数据段或数据段的一部分的读取,但是其只支持整个容器的附加。如果容器没有满但需要被写入到磁盘,则其被填充至其完全的大小。
容器管理器605建立在标准块存储装置606之上。先进的技术(例如,软件RAID-6、连续数据擦洗、容器验证以及端对端数据检查)被应用以确保高级数据完整性和可靠性。
容器摘要提供以下好处:1)固定的容器大小使得容器分配和解除分配变得容易;2)大粒度的容器写入实现高的磁盘吞吐量利用;以及3)合适尺寸的容器尺寸允许有效的全带RAID写入,其能够实现在存储层的有效软件RAID实施。关于系统600的更详细的信息可以在题为“Avoiding the DiskBottleneck in the Data Domain Deduplication File System”的文章(Zhu等人)中找到,其全部内容结合与此。这里还可以应用其它配置。
根据一个实施方式,文件服务接口601、片段存储管理器603或这两者包括用于分析存储在系统600中的数据对象的逻辑,以针对该数据对象生成完美散列函数,并使用该完美散列函数来处理数据对象(例如标记特定数据对象是否是活跃的),或可替换地唯一表示或识别特定数据对象的预定属性等(如上所述)。
图7是可以与本发明的一个实施方式一起使用的数据处理系统的框图。例如,图7中所示的系统700可以用作客户端计算机系统(例如,图1的客户端101-102)。可替换地,示例性的系统700可以被实施为图1的服务器104。
注意,虽然图7示出了计算机系统的各种组件,但并不意欲表示将这些组件互连的任意特定结构或方式;这些细节不是与本发明有密切关系。还可以理解,网络计算机、手持计算机、手机以及具有少量组件或可能较多组件的其它数据处理系统也可以与本发明一起使用。图7的计算机系统可以例如是苹果机或IBM兼容的PC。
如图7所示,计算机系统700(以数据处理系统的形式)包括耦合到处理器703和ROM 707、易失性RAM 705以及非易失性存储器706的总线或互连设备702。处理器703可以包括多个处理器和/或核心逻辑,其构成系统的中央处理单元(CPU)并因此控制系统的整个操作。根据一些实施方式,处理器703通过执行存储在存储器705-707中任意一个存储器中的软件(例如应用程序和操作系统等)来实现上述控制。处理器703可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些设备的组合。
处理器703(可以例如是Intel处理器或PowerPC处理器)耦合到高速缓存存储器704,如图7的示例所示。总线702将这些不同组件互连在一起,并还将这些组件703和705-707互连到显示控制器和显示设备708以及输入/输出(I/O)设备710,I/O设备710可以是鼠标、键盘、调制解调器、网络接口、打印机以及本领域公知的其它设备。
典型地,输入/输出设备710通过输入/输出控制器709被耦合到系统。易失性RAM 705典型地被实施为动态RAM(DRAM),其需要连续供电以更新或保持存储器中的数据。非易失性存储器706典型地为磁性硬盘、磁性光盘、光盘、DVD RAM、闪存或即使在不给系统供电后仍然保持数据的其它类型的存储器系统。典型地,非易失性存储器还可以是随机存取存储器(尽管不需要)。
虽然图7示出了非易失性存储器是直接耦合到数据处理系统中的其余组件的本地设备,但是应当理解,本发明可以使用系统以外的非易失性存储器,例如通过网络接口(例如,调制解调器或以太网接口)耦合到数据处理系统的网络存储设备。总线702可以包括通过各种桥、控制器和/或适配器彼此连接的一个或多个总线,这为本领域所公知。在一个实施方式中,I/O控制器709包括用于控制USB外围设备的USB(通用串行总线)适配器。可替换地,I/O控制器709可以包括IEEE-1394适配器,也被称为火线(Fire Wire)适配器,用于控制火线设备。还可以包括其它组件。
这样,这里描述了用于管理数据存储系统的数据对象的技术。之前详细描述的一些部分已经按照算法和计算机存储器中数据比特操作的符号描述来表述。这些算法描述和表述是数据处理领域中的人员用来向本领域中的其他技术人员最有效地传递他们工作实质的方式。这里的算法通常被认为是产生期望结果的自相一致(self-consistent)的操作序列。操作是需要对物理量进行物理处理的操作。一般来说,虽然不是必须的,这些量采取能够被存储、传输、合并、比较以及以其他方式被处理的电信号或磁信号的形式。已经多次证明(主要是因为通用),将这些信号称为比特、值、元素、符号、特性、项、数等是很方便的。
但是应当理解,所有这些以及类似术语用于与合适的物理量相关联并仅仅是应用于这些量的方便的标志。除非明确指出与以上描述明显不同,否则应当理解,全文中,使用术语例如“处理”或“计算”或“运算”或“确定”或“显示”等的描述涉及计算机系统或类似电子计算设备的动作和过程,其处理在计算机系统的寄存器以及存储器中被表示为物理(电)量的数据,并将这些数据转换成在计算机系统存储器或寄存器中或其它信息存储、传输或显示设备中类似地被表示为物理量的其它数据。
本发明的实施方式还涉及用于执行这里所述操作的设备。该设备可以针对所需目的专门构建,或其可以包括由存储在计算机中的计算机程序选择性激活或重配置的通用计算机。该计算机程序可以存储在计算机可读介质中。机器可读介质包括用于存储或传送机器(例如计算机)可读形式的信息的任意介质。例如,机器可读(例如计算机可读)介质包括机器(例如计算机)可读存储介质(例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等)、机器(例如计算机)可读传输介质(电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等))等。
这里表述的算法和显示器不必内在地与任意特定计算机或其它设备有关。根据这里的教导,各种通用系统可以与程序一起使用,或可以证实构建更多的专用设备来执行所需的方法操作是很方便的。用于多种系统的所需结构从以下描述中可以看出。此外,本发明的实施方式不是参照任意特定编程语言来描述的。应当理解,各种编程语言可以用于实现这里所述的本发明的实施方式的教导。
在以上说明中,参照特定示例的实施方式描述了本发明的实施方式。很明显的是,在不背离权利要求所提出的本发明的更宽的实质和范围的情况下,可以对本发明的实施方式做出各种修改。因此,说明书和附图应当被视为示意性而非限制性的。
Claims (27)
1.一种用于管理数据存储系统的数据对象的计算机实施的方法,该方法包括:
生成针对存储在所述数据存储系统中的多个数据对象的完美散列函数;
针对所述多个数据对象中的每一个数据对象,使用所述完美散列函数来执行散列运算,以指示各个数据对象是否是活跃的;以及
如果基于使用所述完美散列函数的散列运算的结果确定各个数据对象不是活跃的,则回收与所述各个数据对象相关联的资源,其中,被回收的资源被释放回所述数据存储系统作为自由资源。
2.根据权利要求1所述的方法,该方法还包括:基于所述数据对象的标识符执行对所述多个数据对象的分析,其中,基于该分析的结果生成所述完美散列函数。
3.根据权利要求2所述的方法,其中,通过执行对所述数据对象的内容的至少一部分的散列运算,以基于所述数据对象的内容来生成所述数据对象的标识符。
4.根据权利要求2所述的方法,其中,所述完美散列函数被配置成将数据对象的标识符中的每一个标识符映射到没有冲突的唯一散列值,其中,所述唯一散列值用于指示特定数据对象是否是活跃的。
5.根据权利要求2所述的方法,其中,所述完美散列函数是最小完美散列函数,该最小完美散列函数将N个元素的集合映射到N个值的范围,且数据对象的标识符被用作该最小完美散列函数的输入。
6.根据权利要求1所述的方法,其中,多个逻辑数据对象被存储在所述数据存储系统中,且所述多个逻辑数据对象中的每一个逻辑数据对象包括所述多个数据对象中的一个或多个数据对象。
7.根据权利要求6所述的方法,其中,所述多个数据对象中的至少一个数据对象与所述多个逻辑数据对象中的多于一个逻辑数据对象相关联。
8.根据权利要求6所述的方法,该方法还包括:对所述多个逻辑数据对象进行迭代以确定所述多个数据对象中的每一个数据对象是否是活跃的,其中如果数据对象与所述多个逻辑数据对象中的一个或多个逻辑数据对象相关联,则该数据对象是活跃的。
9.根据权利要求8所述的方法,该方法还包括:
维护具有多个项的活动表,其中,所述多个数据对象中的每一个数据对象与该活动表中的项相关联;以及
响应于确定数据对象是活跃的,标记与该数据对象相关联的活动表的项,以指示该数据对象是活跃的。
10.根据权利要求8所述的方法,其中,如果与各个数据对象相关联的所述活动表的项没有被标记,则回收与各个数据对象相关联的资源,以及在使用所述完美散列函数在所述活动表中标记了所有活跃的数据对象之后,回收所述资源。
11.根据权利要求9所述的方法,其中,所述活动表包括具有多个比特的比特向量,其中所述多个数据对象中的每一个数据对象与该比特向量中的比特相关联,且基于从所述完美散列函数获得的散列值来给该比特向量编索引。
12.根据权利要求1所述的方法,其中,如果基于使用所述完美散列函数的所述散列运算的结果确定所述各个数据对象是不活跃的,则使用至少一种预定比特方式来重写与所述各个数据对象相关联的存储空间。
13.一种具有指令的机器可读介质,所述指令在由机器执行时使该机器执行用于管理数据存储系统的资源的方法,该方法包括:
生成针对存储在所述数据存储系统中的多个数据对象的完美散列函数;
针对所述多个数据对象中的每一个数据对象,使用所述完美散列函数来执行散列运算,以指示各个数据对象是否是活跃的;以及
如果基于使用所述完美散列函数的散列运算的结果确定各个数据对象不是活跃的,则回收与所述各个数据对象相关联的资源,其中,被回收的资源被释放回所述数据存储系统作为自由资源。
14.根据权利要求13所述的机器可读介质,其中,该方法还包括:基于所述数据对象的标识符执行对所述多个数据对象的分析,其中,基于该分析的结果生成所述完美散列函数。
15.根据权利要求13所述的机器可读介质,其中,该方法还包括:在所述数据存储系统中存储多个逻辑数据对象,且所述多个逻辑数据对象中的每一个逻辑数据对象包括所述多个数据对象中的一个或多个数据对象。
16.根据权利要求15所述的机器可读介质,其中,该方法还包括:对所述多个逻辑数据对象进行迭代以确定所述多个数据对象中的每一个数据对象是否是活跃的,其中如果数据对象与所述多个逻辑数据对象中的一个或多个逻辑数据对象相关联,则该数据对象是活跃的。
17.根据权利要求16所述的机器可读介质,其中,该方法还包括:
维护具有多个项的活动表,其中,所述多个数据对象中的每一个数据对象与该活动表中的项相关联;以及
响应于确定数据对象是活跃的,标记与该数据对象相关联的活动表的项,以指示该数据对象是活跃的。
18.根据权利要求16所述的机器可读介质,其中,如果与各个数据对象相关联的所述活动表的项没有被标记,则回收与各个数据对象相关联的资源,以及在使用所述完美散列函数在所述活动表中标记了所有活跃的数据对象之后,回收所述资源。
19.根据权利要求17所述的机器可读介质,其中,所述活动表包括具有多个比特的比特向量,所述多个数据对象中的每一个数据对象与该比特向量中的比特相关联,且其中基于从所述完美散列函数获得的散列值来给该比特向量编索引。
20.一种用于管理数据存储系统的数据对象的计算机实施的方法,该方法包括:
生成针对存储在所述数据存储系统中的多个数据对象的完美散列函数;
对于所述多个数据对象中的每一个数据对象,使用所述完美散列函数执行对所述数据对象的散列运算,从而生成散列值;以及
将该散列值与所述数据对象的预定属性相关联,由此响应于对访问该数据对象的预定属性的请求,随后使用所述完美散列函数来唯一地识别该数据对象的预定属性。
21.根据权利要求20所述的方法,该方法还包括:在所述数据存储系统的存储位置处存储所述数据对象,其中,基于从所述完美散列函数获得的散列值来指示该存储位置。
22.根据权利要求20所述的方法,其中,所述数据存储系统是反复制存储系统。
23.根据权利要求20所述的方法,其中,基于所述数据对象的标识符来生成所述完美散列函数,并且通过对所述数据对象的内容的至少一部分进行散列运算来生成数据对象的标识符。
24.根据权利要求20所述的方法,其中,所述完美散列函数是最小完美散列函数,该最小完美散列函数将N个元素的集合映射到N个值的范围,且其中数据对象的标识符用作所述最小完美散列函数的输入。
25.一种具有指令的机器可读介质,所述指令在由机器执行时使该机器执行用于管理文件存储系统的数据对象的方法,该方法包括:
生成针对存储在所述数据存储系统中的多个数据对象的完美散列函数;
对于所述多个数据对象中的每一个数据对象,使用所述完美散列函数执行对数据对象的散列运算,从而生成散列值;以及
将该散列值与所述数据对象的预定属性相关联,由此响应于对访问该数据对象的预定属性的请求,随后使用所述完美散列函数来唯一地识别该数据对象的预定属性。
26.根据权利要求25所述的机器可读介质,其中,该方法还包括:在所述数据存储系统的存储位置处存储所述数据对象,且其中,基于从所述完美散列函数获得的散列值来指示该存储位置。
27.根据权利要求25所述的机器可读介质,其中,所述数据存储系统是反复制存储系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/198,021 US8316064B2 (en) | 2008-08-25 | 2008-08-25 | Method and apparatus for managing data objects of a data storage system |
US12/198,021 | 2008-08-25 | ||
PCT/US2009/054965 WO2010027824A2 (en) | 2008-08-25 | 2009-08-25 | Method and apparatus for managing data objects of a data storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102292720A true CN102292720A (zh) | 2011-12-21 |
CN102292720B CN102292720B (zh) | 2016-01-20 |
Family
ID=41697300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980133628.6A Active CN102292720B (zh) | 2008-08-25 | 2009-08-25 | 用于管理数据存储系统的数据对象的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8316064B2 (zh) |
EP (1) | EP2332069B1 (zh) |
CN (1) | CN102292720B (zh) |
WO (1) | WO2010027824A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329903A (zh) * | 2017-06-28 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种内存垃圾回收方法及系统 |
CN107667363A (zh) * | 2015-06-26 | 2018-02-06 | 英特尔公司 | 具有多种可选数据处理策略的基于对象的存储集群 |
CN112771512A (zh) * | 2019-08-21 | 2021-05-07 | 谷歌有限责任公司 | 优化大规模数据分析 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468220B2 (en) * | 2009-04-21 | 2013-06-18 | Techguard Security Llc | Methods of structuring data, pre-compiled exception list engines, and network appliances |
US9894093B2 (en) | 2009-04-21 | 2018-02-13 | Bandura, Llc | Structuring data and pre-compiled exception list engines and internet protocol threat prevention |
US9141300B2 (en) * | 2009-09-22 | 2015-09-22 | Emc Corporation | Performance improvement of a capacity optimized storage system using a performance segment storage system and a segment storage system |
US8719923B1 (en) * | 2010-02-05 | 2014-05-06 | Netapp, Inc. | Method and system for managing security operations of a storage server using an authenticated storage module |
US8396839B1 (en) * | 2010-06-25 | 2013-03-12 | Emc Corporation | Representing de-duplicated file data |
US8407191B1 (en) * | 2010-06-29 | 2013-03-26 | Emc Corporation | Priority based data scrubbing on a deduplicated data store |
US20120054779A1 (en) * | 2010-08-30 | 2012-03-01 | Lsi Corporation | Platform independent thin reclamation for systems with a storage usage map application programming interface |
US8813071B2 (en) | 2011-01-31 | 2014-08-19 | Symantec Corporation | Storage reclamation systems and methods |
JP5644642B2 (ja) * | 2011-04-07 | 2014-12-24 | 富士通株式会社 | コード変換方法、装置、プログラム、およびリクエストの残り時間応答方法 |
US8806159B2 (en) | 2011-04-08 | 2014-08-12 | Symantec Corporation | Data storage resource management systems and methods |
US8954435B2 (en) | 2011-04-22 | 2015-02-10 | Symantec Corporation | Method and system for reclaiming storage on a shared storage device or independent of the mount state of a file system |
US8751768B2 (en) * | 2011-04-29 | 2014-06-10 | Symantec Corporation | Data storage reclamation systems and methods |
US9213618B2 (en) | 2011-09-16 | 2015-12-15 | Symantec Corporation | Storage management systems and methods in hierarchical storage systems |
US8468138B1 (en) | 2011-12-02 | 2013-06-18 | International Business Machines Corporation | Managing redundant immutable files using deduplication in storage clouds |
US8615500B1 (en) | 2012-03-29 | 2013-12-24 | Emc Corporation | Partial block allocation for file system block compression using virtual block metadata |
US9195502B2 (en) * | 2012-06-29 | 2015-11-24 | International Business Machines Corporation | Auto detecting shared libraries and creating a virtual scope repository |
US9430164B1 (en) | 2013-02-08 | 2016-08-30 | Emc Corporation | Memory efficient sanitization of a deduplicated storage system |
US9317218B1 (en) | 2013-02-08 | 2016-04-19 | Emc Corporation | Memory efficient sanitization of a deduplicated storage system using a perfect hash function |
US10275397B2 (en) * | 2013-02-22 | 2019-04-30 | Veritas Technologies Llc | Deduplication storage system with efficient reference updating and space reclamation |
US9235475B1 (en) * | 2013-03-05 | 2016-01-12 | Emc Corporation | Metadata optimization for network replication using representative of metadata batch |
US9679007B1 (en) * | 2013-03-15 | 2017-06-13 | Veritas Technologies Llc | Techniques for managing references to containers |
US9195673B2 (en) * | 2013-03-15 | 2015-11-24 | International Business Machines Corporation | Scalable graph modeling of metadata for deduplicated storage systems |
US9781576B2 (en) * | 2013-04-05 | 2017-10-03 | Iheartmedia Management Services, Inc. | Segmented WANcasting |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
KR20150071500A (ko) * | 2013-12-18 | 2015-06-26 | 삼성전자주식회사 | 데이터 관리 방법 및 장치 |
EP3103025B1 (en) * | 2014-02-04 | 2019-07-10 | Exablox Corporation | Content based organization of file systems |
US20150278543A1 (en) * | 2014-03-25 | 2015-10-01 | Futurewei Technologies, Inc. | System and Method for Optimizing Storage of File System Access Control Lists |
US10642903B2 (en) * | 2014-09-29 | 2020-05-05 | International Business Machines Corporation | Tagging and querying system objects |
KR101636247B1 (ko) * | 2016-02-05 | 2016-07-06 | 모니텍주식회사 | 초음파 용접 품질 판단 장치 및 방법 |
US10795859B1 (en) | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | Micro-service based deduplication |
US10795860B1 (en) | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | WAN optimized micro-service based deduplication |
US10860212B1 (en) * | 2017-07-21 | 2020-12-08 | EMC IP Holding Company LLC | Method or an apparatus to move perfect de-duplicated unique data from a source to destination storage tier |
US10459633B1 (en) | 2017-07-21 | 2019-10-29 | EMC IP Holding Company LLC | Method for efficient load balancing in virtual storage systems |
US10949088B1 (en) * | 2017-07-21 | 2021-03-16 | EMC IP Holding Company LLC | Method or an apparatus for having perfect deduplication, adapted for saving space in a deduplication file system |
US10936543B1 (en) | 2017-07-21 | 2021-03-02 | EMC IP Holding Company LLC | Metadata protected sparse block set for SSD cache space management |
US11461269B2 (en) | 2017-07-21 | 2022-10-04 | EMC IP Holding Company | Metadata separated container format |
US11113153B2 (en) | 2017-07-27 | 2021-09-07 | EMC IP Holding Company LLC | Method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network |
US10481813B1 (en) | 2017-07-28 | 2019-11-19 | EMC IP Holding Company LLC | Device and method for extending cache operational lifetime |
US10929382B1 (en) | 2017-07-31 | 2021-02-23 | EMC IP Holding Company LLC | Method and system to verify integrity of a portion of replicated data |
US11093453B1 (en) | 2017-08-31 | 2021-08-17 | EMC IP Holding Company LLC | System and method for asynchronous cleaning of data objects on cloud partition in a file system with deduplication |
US11157372B2 (en) | 2018-09-21 | 2021-10-26 | Netapp, Inc. | Efficient memory footprint in deduplicated system storing with content based addressing |
US10713217B2 (en) | 2018-10-30 | 2020-07-14 | EMC IP Holding Company LLC | Method and system to managing persistent storage using perfect hashing |
US10592158B1 (en) * | 2018-10-30 | 2020-03-17 | EMC IP Holding Company LLC | Method and system for transferring data to a target storage system using perfect hash functions |
US11294877B2 (en) * | 2019-07-22 | 2022-04-05 | EMC IP Holding Company LLC | Efficient file renames using B-tree based persistence for file system name spaces |
US20220291925A1 (en) * | 2021-03-12 | 2022-09-15 | Raytheon BBN Technologies, Corp. | Parametric filter using hash functions with improved time and memory |
CN113672558B (zh) * | 2021-08-29 | 2023-08-29 | 中盾创新数字科技(北京)有限公司 | 一种基于soa的档案管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105040A (en) * | 1997-06-30 | 2000-08-15 | Sun Microsystems, Inc. | Method and apparatus for managing stored objects |
US20050166187A1 (en) * | 2004-01-22 | 2005-07-28 | International Business Machines Corp. | Efficient and scalable event partitioning in business integration applications using multiple delivery queues |
WO2007089502A1 (en) * | 2006-01-26 | 2007-08-09 | Network Appliance, Inc. | Content addressable storage array element |
US20070203960A1 (en) * | 2006-02-26 | 2007-08-30 | Mingnan Guo | System and method for computer automatic memory management |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4912629A (en) * | 1986-06-26 | 1990-03-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Real-time garbage collection for list processing using restructured cells for increased reference counter size |
WO1996025801A1 (en) | 1995-02-17 | 1996-08-22 | Trustus Pty. Ltd. | Method for partitioning a block of data into subblocks and for storing and communicating such subblocks |
US6807632B1 (en) * | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
US6253215B1 (en) | 1998-08-17 | 2001-06-26 | Sun Microsystems | Method, apparatus, and article of manufacture for facilitating resource management for applications having two types of program code |
KR101004483B1 (ko) * | 2003-06-30 | 2010-12-31 | 파나소닉 주식회사 | 불필요 데이터 수집시스템 |
US20060271538A1 (en) | 2005-05-24 | 2006-11-30 | International Business Machines Corporation | Method and system for managing files in a file system |
JP4996073B2 (ja) * | 2005-07-13 | 2012-08-08 | 富士通株式会社 | 世代別ガベージコレクションプログラム |
US7401080B2 (en) | 2005-08-17 | 2008-07-15 | Microsoft Corporation | Storage reports duplicate file detection |
US20070156967A1 (en) * | 2005-12-29 | 2007-07-05 | Michael Bond | Identifying delinquent object chains in a managed run time environment |
FR2901437B1 (fr) * | 2006-05-16 | 2008-08-08 | Arteris Sa | Procede de realisation d'un circuit de synchronisation de donnees echangees de maniere asynchrone entre deux blocs synchrones, et circuit de synchronisation elabore a partir d'un tel procede |
US7627621B2 (en) * | 2007-02-12 | 2009-12-01 | Sun Microsystems, Inc. | Method and system for minor garbage collection |
-
2008
- 2008-08-25 US US12/198,021 patent/US8316064B2/en active Active
-
2009
- 2009-08-25 EP EP09812030.6A patent/EP2332069B1/en active Active
- 2009-08-25 WO PCT/US2009/054965 patent/WO2010027824A2/en active Application Filing
- 2009-08-25 CN CN200980133628.6A patent/CN102292720B/zh active Active
-
2012
- 2012-10-11 US US13/649,902 patent/US8825667B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105040A (en) * | 1997-06-30 | 2000-08-15 | Sun Microsystems, Inc. | Method and apparatus for managing stored objects |
US20050166187A1 (en) * | 2004-01-22 | 2005-07-28 | International Business Machines Corp. | Efficient and scalable event partitioning in business integration applications using multiple delivery queues |
WO2007089502A1 (en) * | 2006-01-26 | 2007-08-09 | Network Appliance, Inc. | Content addressable storage array element |
US20070203960A1 (en) * | 2006-02-26 | 2007-08-30 | Mingnan Guo | System and method for computer automatic memory management |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107667363A (zh) * | 2015-06-26 | 2018-02-06 | 英特尔公司 | 具有多种可选数据处理策略的基于对象的存储集群 |
CN107667363B (zh) * | 2015-06-26 | 2022-03-04 | 英特尔公司 | 具有多种可选数据处理策略的基于对象的存储集群 |
CN107329903A (zh) * | 2017-06-28 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种内存垃圾回收方法及系统 |
CN112771512A (zh) * | 2019-08-21 | 2021-05-07 | 谷歌有限责任公司 | 优化大规模数据分析 |
Also Published As
Publication number | Publication date |
---|---|
US20100049735A1 (en) | 2010-02-25 |
US8825667B2 (en) | 2014-09-02 |
EP2332069A2 (en) | 2011-06-15 |
EP2332069A4 (en) | 2013-01-23 |
EP2332069B1 (en) | 2018-03-07 |
WO2010027824A2 (en) | 2010-03-11 |
US8316064B2 (en) | 2012-11-20 |
US20130036104A1 (en) | 2013-02-07 |
CN102292720B (zh) | 2016-01-20 |
WO2010027824A3 (en) | 2010-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102292720B (zh) | 用于管理数据存储系统的数据对象的方法和设备 | |
CN103635900B (zh) | 基于时间的数据分割 | |
CN103562914B (zh) | 节约资源型扩展文件系统 | |
US11079953B2 (en) | Packing deduplicated data into finite-sized containers | |
US8949208B1 (en) | System and method for bulk data movement between storage tiers | |
US8943032B1 (en) | System and method for data migration using hybrid modes | |
US9740565B1 (en) | System and method for maintaining consistent points in file systems | |
US9715434B1 (en) | System and method for estimating storage space needed to store data migrated from a source storage to a target storage | |
EP2898424B1 (en) | System and method for managing deduplication using checkpoints in a file storage system | |
US10339017B2 (en) | Methods and systems for using a write cache in a storage system | |
CN101743546B (zh) | 用于提供快照的文件系统的分层存储管理 | |
US20080270436A1 (en) | Storing chunks within a file system | |
CN104199815B (zh) | 在重复数据删除系统中减少摘要存储消耗的方法和系统 | |
US8825971B1 (en) | Age-out selection in hash caches | |
US10210169B2 (en) | System and method for verifying consistent points in file systems | |
CN103547992B (zh) | 使用主要部分依存列表来维持文件系统中一致点的系统和方法 | |
CN103098035A (zh) | 存储系统 | |
CN102257491A (zh) | 可废弃文件 | |
KR20150064593A (ko) | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 | |
EP3367292A2 (en) | Distributed data method for encrypting data | |
CN102257497A (zh) | 可废弃文件的下载管理 | |
US9063656B2 (en) | System and methods for digest-based storage | |
JP2018181171A (ja) | ストレージ制御装置、及びストレージ制御プログラム | |
TWI475419B (zh) | 用於在儲存系統上存取檔案的方法和系統 | |
Gayathri Devi et al. | Enhancing restore speed of in-line deduplication cloud-based backup systems by minimizing fragmentation |
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 |