CN113728303B - 用于重复数据删除云分层的垃圾收集 - Google Patents
用于重复数据删除云分层的垃圾收集 Download PDFInfo
- Publication number
- CN113728303B CN113728303B CN201980095772.9A CN201980095772A CN113728303B CN 113728303 B CN113728303 B CN 113728303B CN 201980095772 A CN201980095772 A CN 201980095772A CN 113728303 B CN113728303 B CN 113728303B
- Authority
- CN
- China
- Prior art keywords
- container
- cloud
- live
- data
- metadata
- 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.)
- Active
Links
- 239000012634 fragment Substances 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000006835 compression Effects 0.000 claims description 100
- 238000007906 compression Methods 0.000 claims description 100
- 238000012545 processing Methods 0.000 claims description 7
- 239000003999 initiator Substances 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 abstract description 46
- 230000008569 process Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 230000008676 import Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007728 cost analysis Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000035899 viability Effects 0.000 description 2
- 101100478715 Drosophila melanogaster Start1 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011980 disaster recovery test Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于执行数据保护操作的系统和方法,所述数据保护操作包括垃圾收集操作和拷贝转发操作。对于存储在基于云的存储器或云分层(所述云分层存储包含死区和活区(诸如压缩区)的容器)中的被进行重复数据删除的数据,通过将活压缩区拷贝到新容器中且然后删除旧容器来删除死压缩区中的死片段。所述拷贝转发基于来自数据保护系统的方案并且使用基于微服务的方法来执行。
Description
技术领域
本发明的实施方式涉及用于保护数据的系统、方法和设备。更特别地,本发明的实施方式涉及数据保护操作,包括备份操作、恢复操作、重复数据删除操作、以及垃圾收集操作。更具体地,实施方式涉及用于收集重复数据删除云分层中的垃圾的系统和方法。
背景技术
在很多计算系统中,数据通常本地或现场存储在内部部署网络中。出于很多原因,一些实体期望将其数据中的至少一些移动到目标站点,诸如基于云的存储系统(云)。为了降低与云相关联的存储成本,有用的是在数据被写入云之前对数据进行重复数据删除。以重复数据删除方式将其数据存储在云中的实体可能期望其云存储成本将因为数据被删除而降低。事实并不总是这样。
事实证明,删除对象可能会产生成本。这是由于重复数据删除造成的。在新对象被写入云时,先前对象中的数据的部分可能被新文件引用。当旧对象被删除时,并非对象中的所有内容都变成未被引用。为了删除未被引用的部分,需要通过读取对象的被引用部分并将其写入新对象来对这些对象进行碎片整理。尽管写入云是便宜且经常免费的,但从云读取数据可能很昂贵。更具体地,在常规垃圾收集操作的上下文中,需要传送大量的数据。读取和传送数据很昂贵。
例如,从云提供商传送数据的成本可能对于传送的前10TB而言是每GB 0.09美元。每周读取1TB的成本是每年约4,800美元。删除很多TB的数据的实体在垃圾收集操作期间可能会产生高网络成本,这至少是因为需要将数据传送回到本地系统以便适当地删除以重复数据删除的形式存储的数据。
附图说明
为了描述可获得本发明的至少一些优点和特征的方式,将参考在附图中示出的本发明的特定实施方式来呈现本发明的实施方式的更具体描述。应理解,这些附图仅描绘了本发明的典型实施方式并且因此不应被视为是其范围的限制,通过使用附图将用附加特征和细节来描述并解释本发明的实施方式,在附图中:
图1A示出了存储在云存储系统中的容器中的数据的示例;
图1B示出了在内部部署活动分层和云分层中提供数据保护操作的数据保护系统的示例,所述数据保护操作包括重复数据删除和垃圾收集;
图2示出了拷贝转发云分层中的容器的示例;
图3示出了被配置用于在存储云分层的基于云的对象存储器上执行数据收集操作的基于云的微服务的示例;
图4示出了在云分层中执行基于微服务的垃圾收集操作的示例;
图5示出了对象或文件的示例以及对象可如何存储在容器中;
图6示出了用于在云分层中执行垃圾收集的方法的示例;
图7是示出了基于微服务的垃圾收集操作的益处的成本分析;以及
图8是示出了基于微服务的垃圾收集操作的性能的图表。
具体实施方式
本发明的实施方式总体上涉及数据保护,并且涉及用于执行数据保护操作的系统、方法和设备。数据保护操作的示例包括但不限于备份操作、恢复操作、复制操作、灾难复原操作、灾难复原测试操作、故障转移或部分故障转移操作、数据同步操作、复制操作、垃圾收集操作等或它们的组合。更特别地,本发明的实施方式涉及用于在云中执行包括垃圾收集操作的数据保护操作的系统、硬件、软件、计算机可读介质和方法。
本发明的实施方式涉及数据保护系统(例如,DELL EMC DATA DOMAIN),该数据保护系统包括或提供例如用于数据存储的本地或活动分层以及用于数据存储的云分层。更特别地,本发明的实施方式涉及在活动分层和/或云分层上执行的垃圾收集操作。在重复数据删除存储系统中,数据(对象、文件等)通常分块成组块或片段。执行垃圾收集操作以移除不再对应于仍应存储在存储系统中的数据的片段。未被引用的片段是死片段并且可被垃圾收集操作移除,而活片段不应被垃圾收集操作移除。移除死片段可降低存储需求。
数据保护系统可为提供存储器的活动分层的现场设备,并且客户可将云分层用于某些数据。类似于内部部署数据,云中的数据被进行重复数据删除并且可存储在包括片段的压缩区的容器中。
图1A示出了存储在云存储器中的数据的示例。图1A示出了云存储器150。用户的数据可存储在容器中。在该示例中,云存储150包括在容器152、158、160、162和164处表示的容器。容器的数量不受限制,并且容器可为不同的类型。一些容器(诸如容器152、158、160和162)可将片段存储在压缩区中。诸如容器164(CMETA容器)的容器可为元数据容器并且可被配置为存储元数据。
例如,容器152将片段存储在压缩区中。容器152的压缩区被表示为压缩区154。每个压缩区存储数据的片段。因此,压缩区154和156可各自存储一些数量的片段。
如下面更详细地描述,压缩区154(类似于其他压缩区)可包含活片段和死片段两者。为了清理容器152,例如,可将至少部分地是活的(或包括任何活片段)的压缩区拷贝转发到新容器中。死的或不包含任何活片段的压缩区不被拷贝转发。一旦活压缩区被拷贝转发,就可删除源容器或旧容器。这通过从容器移除死压缩区来收回存储空间。例如,如果压缩区154被认为是活的并且压缩区156被认为是死的,则垃圾收集操作可将压缩区154拷贝到新容器中且然后删除容器152以移除压缩区156。这些改变被反映在CMETA容器164中(其可以类似方式清理)。这确保数据保护系统知道片段的位置并且能够执行重复数据删除。
因此,为了在数据删除之后释放存储空间,将活压缩区(包括部分是活的压缩区)从旧容器复制到新容器,然后删除旧容器。更具体地,将活压缩区拷贝到新容器(拷贝转发的示例),并且通过删除旧容器,来删除死压缩区。以此方式,存储需求可降低,因为死片段被有效地移除。
另外,可在不必对压缩区进行压缩和/或解密的情况下执行拷贝转发操作。相反,数据保护系统知道压缩区的起始地址或偏移。因此,可通过识别容器、起始地址、压缩区的大小和目的地容器来拷贝转发活压缩区。
如先前所述,对存储在云中的数据运行垃圾收集(GC)因在拷贝转发期间或在垃圾收集期间回到内部部署数据保护系统的网络传送成本而通常很昂贵。由于通过内部部署设备来管理重复数据删除,因此本发明的实施方式通过使用指令或方案使得可在云本身内进行任何必要的数据传送以减少读取和数据传送来降低成本。这大幅减少了原本将在网络上传送到内部部署系统的数据量。
本发明的实施方式推进了系统的功能并且涉及基于云的微服务,该基于云的微服务可从现场或内部部署数据保护系统接收指令。数据保护系统维护元数据,该元数据允许对数据进行重复数据删除并且允许识别云分层(和活动分层)中的活压缩区和/或死压缩区。该信息允许生成指令并将其发送到基于云的微服务以供执行。来自数据保护系统的指令可包括描述拷贝转发哪些数据或哪些压缩区的方案。可应用这些方案以将活压缩区从现有容器拷贝转发到新容器。这显著消除了网络传送并且大幅降低客户成本,而同时支持对存储在云分层中的数据的细粒度清理。更一般地,本发明的实施方式允许内部部署数据保护系统识别被认为是活的或部分是活的而可拷贝转发的数据范围。在一个示例中,这允许在无需对云对象进行解压缩/解密的情况下收回存储空间。在一个示例中,所述范围可与或可不与压缩区的边界一致。
用于执行垃圾收集操作的架构包括垃圾收集(GC)微服务或与数据保护系统(例如,DATA DOMAIN)的垃圾收集引擎配对的微服务。在一个示例中,在本地运行的GC引擎与在云中运行的GC微服务的一个或多个实例配对,该GC微服务可与存储在云中的数据交互。GC引擎与GC微服务协作以在云分层中或更具体地在云分层对象存储器中执行垃圾收集操作。
图1B示出了包括数据保护系统110(例如,DELL/EMC Data Domain)或与其相关联的系统的示例。数据保护系统110可被实施为例如设备(物理的或虚拟的)或使用服务器/代理配置来实施。
图1示出了网络102。网络102可与服务器/应用程序108(例如,数据库、电子邮件、文件服务器、虚拟化)相关联。客户端104能够通过网络102的基础设施来使用和访问服务器和应用程序108。网络102还与可存储在存储装置上的数据106相关联。数据106可存储在存储装置上并且由数据保护系统110使用存储器112进行备份。
数据保护系统110提供数据保护服务,所述数据保护服务可包括但不限于备份操作、恢复操作、重复数据删除操作、垃圾收集操作等。数据保护系统可提供存储器112(也被称为活动分层或本地分层)。数据106(和/或虚拟机、应用程序、对象(例如,文件))的备份可存储在存储器112中。此外,存储器112可通过数据保护系统进行重复数据删除。数据保护系统110还可包括垃圾收集(GC)引擎114,该垃圾收集引擎被配置为从存储器112移除未被引用的对象或片段。这使用不需要理解对数据或对象进行格式化、压缩和/或加密的方式的GC微服务来实现。
数据保护系统110还可提供云存储器(云120)或与其相关联。在一个示例中,云120可用来提供分层存储器122(也被称为云分层)。数据保护系统110可使用分层存储器122来存储被存储在存储器112上的数据中的一些。例如,客户可从存储器112选择应被迁移到云分层存储器122并存储在其中的某些文件或数据。
同时,数据保护系统110可负责对存储器112和云分层存储器122两者处的数据进行重复数据删除。数据保护系统110还可维护元数据116,该元数据标识存储器112和/或存储器122中的活片段和/或死片段或者允许识别活片段和/或死片段。数据保护系统110还可能够识别数据的活范围或部分活范围和/或死范围。
数据保护系统110被配置为至少在垃圾收集的上下文中最小化或降低对去往云/来自云的数据传送需求,而同时做出关于存活性压缩区的判定且同时从云分层存储器122删除数据。本地存储在数据保护系统110的元数据116允许GC引擎114确定片段的存活性(liveness)并且做出关于将哪些数据(例如,范围、压缩区)从现有的云容器拷贝转发到云分层存储器122中的新的云容器的判定。
图2示出了存储在云分层中的容器的示例并且示出了拷贝转发过程。图2示出了容器202。在该示例中,容器202是在垃圾收集操作开始之前存在于云中的现有容器。容器202包括压缩区(由压缩区204和208表示)。压缩区204包括片段206,并且压缩区208包括片段210。
在垃圾收集操作开始时,GC引擎114可确定片段206中的至少一些是活片段。GC引擎114还可确定片段210都不是活片段。换句话说,GC引擎114可确定压缩区208是死压缩区,并且压缩区204是活压缩区。
在垃圾收集操作期间,创建新容器212。新容器212在被写入时将包括压缩区(由压缩区214表示)。类似于其他压缩区,压缩区214在被写入时将包括片段216。在拷贝转发过程期间,当向容器212写入时,可将容器202的活压缩区写入容器212中。在该示例中,压缩区204被写入容器212中成为压缩区214。因此,片段216与片段206相同。
在垃圾收集期间,写入新容器212中的压缩区可来自多个源容器。另外,根据需要创建并存储元数据,使得由数据保护系统维护压缩区的新位置、其内容以及片段218的位置。
在一个示例中,通过基于容器202内的压缩区204的位置进行拷贝转发来拷贝转发压缩区204。执行拷贝转发的GC微服务可被提供容器202的标识符、容器202内的压缩区204的起始位置以及压缩区204的大小。这允许GC微服务在无需理解压缩区204的格式且不必执行诸如解压缩和/或解密的计算昂贵的过程的情况下将压缩区204拷贝到容器212中。
本发明的实施方式允许细粒度拷贝转发判定而不必将数据网络传送回到源站点(例如,网络102)。可通过在云中创建一个或多个GC微服务实例来避免网络传送。这些GC微服务实例具有优点,因为它们可在没有读回到内部部署数据保护系统110的传送成本的情况下读取云容器。GC微服务实例可启动RPC(远程过程调用)服务器并且从数据保护系统110接收调用,所述调用包括指定如何执行拷贝转发的方案。当垃圾收集操作完成时,GC微服务实例退出,因此计算成本保持较低。
来自数据保护系统的方案可包括一系列指令,诸如:
从容器A从Length1(长度1)的字节中的Start1(起点1)拷贝到容器C。
从容器A从Length2的字节中的Start2拷贝到容器C。
从容器B从Length3的字节中的Start3拷贝到容器C。
确认容器C具有校验和值并写入对象存储器。
删除容器A和B。
尽管以上示例方案聚焦于将字节范围从旧容器拷贝到新容器,但是可选择这些字节范围以与容器内的压缩区匹配。
作为完整性检查,当数据保护系统不具有片段本身而是仅具有它们的引用时,可在容器内的指纹上计算校验和。指纹存储在与云中的容器相关联的元数据116中。因此,与存储在云中的片段相关的元数据也可存储在云中。
图3示出了用于在与活动分层相关联的系统302(例如,内部部署系统)和与云分层相关联的云系统304的上下文中执行垃圾收集操作的系统和方法。图3示出了数据保护系统306(数据保护系统110的示例),该数据保护系统包括GC引擎308并且维护活动分层中的容器(由包括压缩区312的容器310表示。数据中的一些已经迁移到云304中的对象存储器330并且存储在由各自包括压缩区334的容器332表示的容器中。对象存储器330还可存储其他容器,诸如CMETA容器。
在垃圾收集操作期间,GC引擎308可启动或开始GC微服务(由GC微服务320和GC微服务322表示)的一个或多个实例。GC微服务320和322被配置为清理容器332。如图所示,数据保护系统306或GC引擎308对云中的GC微服务320的一个或多个实例进行实例化。GC微服务320和322可与云对象存储器330中的容器332交互,而不会产生如先前所述的数据传送成本。
垃圾收集操作是可扩展的并且可对一批容器起作用。例如,容器可按批(也被称为一系列容器)处理。当处理第一批时,GC引擎308可将该批的一部分分配到GC微服务320和322中的每一者。这允许并行地清理该批。可连续地清理多批。
图4示出了用于清理存储在云中或存储在数据保护系统的云分层中的数据的基于微服务的系统。图4示出了可为数据保护系统(诸如数据保护系统110)的一部分的垃圾收集引擎402。垃圾收集引擎402是可扩展的并且可被配置为控制和管理多个实例或多个GC微服务。
当开始垃圾收集操作时,垃圾收集引擎402可启动实例启动器404,该实例启动器可为GC引擎402的一部分。实例启动器404负责启动GC微服务(在该示例中,GC微服务410、412和414)的实例。实例启动器404还可负责在垃圾收集操作结束时关闭GC微服务的实例。实例启动器404还可确保GC微服务410、412和414启动且在运行。
在该示例中,GC引擎402可控制和/或管理实际上在执行清理或拷贝转发的GC微服务。在该示例中,GC引擎402可与GC微服务410、412和414通信并且提供指令以供执行。GC微服务410、412和414。
GC引擎402被配置为评估元数据424并且识别要从云分层移除的数据。可评估或处理元数据以确定或识别云中的哪些数据是活的以及哪些数据是死的。在一个示例中,元数据424可用于识别活压缩区和死压缩区。
该元数据424允许GC引擎402生成可直接发送到GC微服务410、412和414的方案或指令。因此,GC引擎402可将方案416发送到GC微服务410、412和414。更具体地,GC引擎402可分配特定的方案。在一个示例中,GC引擎402可仅将方案416的一部分发送到GC微服务410、412和414中的每一者。这允许GC引擎402进行负载平衡,并且允许按批且并行地清理容器。GC微服务410例如在接收到方案418后执行方案418中包括的指令。在该示例中,这包括将方案中指定的活范围从旧的或现有云容器C1和C2拷贝到新的云容器C3中并且然后删除云容器C1和C2。如先前所述,压缩区是范围的示例,并且方案中的用于不同容器的范围的大小可为不同的。GC引擎402可确保GC微服务410已经将方案中标识的所有活范围拷贝到新容器中并且可确保没有损坏或错误。类似地,GC微服务412执行方案420并且将活范围从容器C4和C5拷贝到新容器C6中且然后删除容器C4和C5。类似地,GC微服务414执行方案422并且将活范围从容器C7和C8拷贝到新容器C9中且然后删除容器C7和C8。
更具体地,在一个示例中,GC微服务410可从GC引擎402接收方案418。如先前所述,方案418可为方案416的一部分或者可对应于方案416的要由GC微服务410执行的部分。因此,GC微服务410接收并读取方案418。该方案然后由GC微服务410执行。类似地,GC微服务412和414分别执行方案420和422。在一个示例中,新容器的标识符(ID)也可在方案418和其他方案中指定。这是允许数据保护系统在拷贝转发过程之后或在垃圾收集操作之后知道片段的位置的元数据的示例。
仅以示例方式,容器可具有两个部分:元数据区段、和数据区段或压缩区。在数据区段中,每个压缩区包括一堆经压缩的片段。对于每个片段,可出于重复数据删除目的来计算指纹。元数据区段表示或存储容器的元信息并且可包括各种字段,诸如但不限于:容器中有多少个压缩区、压缩区的压缩大小和未压缩大小、每个压缩区中的片段的数量、容器中的片段的总数、以及存储在容器中的所有片段的指纹的表。
图5示出了可如何在活动分层中或在云分层中表示文件或对象的示例。存储系统可将对象或文件表示为片段树,如图5所示。内容处理502可指向超级片段504(其可为L6片段的示例)。元数据片段510可包括Lp片段(例如,L1至L6片段)。数据片段L0 508是文件或对象的实际数据并且可存储在片段树500的叶节点中。元数据片段510和数据片段508通常存储在单独的容器中。因此,存储Lp片段的容器可被称为Lp容器,并且存储L0片段的容器可被称为L0容器。
CMETA容器是存储元数据的容器。更具体地,CMETA容器可存储L0和Lp容器的元数据区段的集合。在垃圾收集期间,元数据(CMETA和Lp)用来识别活片段和死片段或者用来识别活压缩区和死压缩区。为了避免从云读取元数据,将元数据(例如,CMETA容器和Lp容器)存储在本地并复制到云。在一个实施方式中,L0容器仅写入到云。因此,在一个实施方式中,对数据相对于活动分层和云分层两者进行重复数据删除。在一个示例中,将CMETA容器和Lp容器维护在本地和在云中。
在垃圾收集期间,GC引擎308可读取本地CMETA容器。通过读取本地CMETA容器,可获得实际L0容器和Lp容器的元数据。该元数据可包括实际L0和Lp容器的所有片段的指纹。
使用该元数据,GC引擎308可查找指纹以确定Lp容器的活和死压缩区或范围。然后将现有Lp容器的活压缩区或范围拷贝到新的Lp容器中。在本地写入新的Lp容器并且将其写入到云。接下来,将新的Lp容器的元数据区段拷贝到新的CMETA容器,并且在本地写入新的CMETA容器并将其作为对象写入到云。
接下来,读取本地CMETA容器的元数据区段以识别源容器或现有L0容器的活压缩区或范围。这可为迭代过程。这允许识别用于现有容器中的活压缩区的方案(源_对象_ID、偏移、大小)。将这些方案传递到GC微服务(例如,图3中的GC微服务320),使得可将活压缩区拷贝转发到云中的新容器或对象中。
接下来,将对应于新容器中的压缩区的元数据在本地拷贝转发到新的CMETA容器中并复制到云。最后,可删除源(从中拷贝转发区或范围的容器)Lp、L0和CMETA容器以收回云空间。
在重复数据删除存储系统中,如先前所讨论,容器可存储不同类型的数据。一些容器可存储数据片段(例如,L0容器),而其他容器可存储用于存储和重构对象的数据(例如,Lp容器)。在垃圾收集期间可类似地处理这些容器。
在一个示例中,GC引擎402知道云分层中的存储数据的容器。因此,GC引擎402存储或有权访问描述容器C1、C2、C4、C5、C7和C8的元数据424。
在一个示例中,方案可包括从中拷贝活范围的源容器的列表、该范围的起始位置和大小、目的地容器列表、目的地CMETA列表。因此,方案标识待清理的容器、标识诸如活压缩区的活数据区的范围、目的地容器列表以及目的地CMETA。将该方案发送到GC微服务。一旦在云分层中完成了这个拷贝转发过程,就在本地写入新的CMETA容器并且在一个示例中将其复制到云。CMETA容器对应于云分层容器并且可包含与云分层中存储的内容相关的元数据。因此,CMETA容器实现重复数据删除。也在本地写入Lp容器。
当完成并验证了这个过程时,GC微服务可往回向GC引擎402报告已经成功地执行垃圾收集或者报告可能已经发生的任何错误。
以下讨论示出了云中的实验的示例并呈现成本分析。图8示出了随实例的数量从1增加到8的GC性能800。纵轴是将片段拷贝转发到新压缩区中并从容器写出的吞吐量(MB/s)。性能接近于线性缩放。
在成本分析中,仅以示例方式假定数据保护系统可写入4MB大小的对象。常规地,这些对象不会很快死去(意味着活片段可存在很长时间,预期它们不会因重复数据删除引起的分割而很快死去)。因此,即使4MB对象中有一个片段被任何文件引用,对象就不可被删除。常规的解决方案是在将对象传送到源站点、进行清理且然后写回到云的情形下产生导入/导出成本。
通过在云中运行GC微服务,避免了导入/导出成本。然而,存在运行这些GC微服务的计算成本。因此,可将GC微服务的成本与在网络上传送这些对象的成本(导入/导出成本)进行比较。
图6示出了用于在云分层上执行数据保护操作(诸如垃圾收集)的方法的示例。图6示出了由数据保护系统作为整体执行的方法并且示出了可由各种部件执行的垃圾收集操作的方面。例如,GC引擎640可为内部部署的并且可被配置为控制数据保护操作,包括对于活动分层和云分层的垃圾收集操作。本发明的实施方式还可适用于源是基于云的系统的情形。
GC引擎640可与在云中实例化的GC微服务642通信。GC微服务642可被配置为通过执行从GC引擎640接收到的方案或控制其性能并且确保方案被执行来管理云中的垃圾收集操作。可被实施为服务器的GC微服务642可执行包括拷贝转发的垃圾收集操作的一部分。
图6所示的方法可通过处理602针对云分层的元数据来开始。内部部署系统典型地存储描述存储在云中的容器的元数据,并且处理元数据可包括针对存储在云分层中的容器来评估元数据,以识别存储在容器中的数据的存活性和死亡性。在一个示例中,元数据可允许GC引擎640识别哪些片段是死片段以及在每个容器中(和在每个压缩区中)的哪些片段是活片段。这允许GC引擎640识别活范围或活压缩区和死范围或死压缩区。
由于GC引擎知道范围或压缩区的位置并且知道其状态(活/死),因此可生成604方案,使得可拷贝转发活范围或压缩区。如先前所述,这些方案允许在不考虑格式、压缩或加密的情况下拷贝转发这些范围或压缩区。
更具体地,在一个示例中,GC引擎640还知道如何对数据进行压缩和/或加密。因此,可确定范围在其压缩/加密形式下的大小。在一个示例中,该信息存在于描述存储在容器中的信息的CMETA中。
由GC引擎640生成的方案通常标识源容器、数据位置(例如,容器中的偏移或起始地址)、长度或大小、以及目的地容器。该信息允许GC微服务642将在对应于活范围或压缩区的位置处的数据拷贝到新目的地容器。方案可包括容器列表、范围活/死指示符、目的地容器列表、CMETA列表。
一旦生成,就将方案发送606到已经在云中实例化的GC微服务642。因此,GC微服务接收方案620并且基于接收到的方案来执行拷贝转发。如先前所述,方案可在多个GC微服务实例之间划分。因此,在一个示例中,可将方案分配622到GC微服务并且通过使用方案执行拷贝转发来执行624方案。
可执行拷贝转发,例如,将在方案中识别的数据拷贝到新的容器中。对Lp容器和L0容器两者都可这样执行。针对新容器的CMETA可存储在新的CMETA容器中。GC微服务642可确认626已经执行或充分执行了方案。
GC引擎640然后接收608已经执行方案的确认。这可包括接收与新容器相关联的元数据。由GC引擎640来更新610针对云分层的元数据。这可包括在本地生成新的元数据容器并且将新的元数据容器复制到云。
图7示出了在云提供商处每月运行一次GC的成本。该云提供商具有两个存储配置:标准和标准低频存取。其他云提供商的成本类似。
在该示例中,假定1PB的云分层。根据经验,确定每GC周期可能有10%流失。因此,在1PB中,预期100TB的数据将是死的。由于分割,活数据和死数据将被分配在容器中(即,容器将具有活数据和死数据两者)。被清理的容器的平均存活性是50%(即,50%的片段是死的且50%是活的)。基于这些假定,为了清理平均存活性为50%的100TB的死数据,GC需要从云读取200TB的数据并且向云写入100TB的新数据。如果每个对象大小为4MB,则GC需要读取200TB/4MB=52428800个对象并且向云写入52428800/2=26214400个对象。放(PUT)操作的事务成本是每1,000个请求0.005美元,并且取(get)成本是每1000个请求0.0004美元。因此,读取52428800个对象的事务成本是262美元且写入是10美元。但主要成本是数据传送成本:导入/导出成本。读取200TB且写入100TB的数据传送成本对于标准存储是14,994美元且对于低频存取是7826美元。
如图7所示,由于在云上的每月数据存储成本被降低,因被清理的数据而节省的成本是2126.25美元。
如果通过运行在云内部执行拷贝操作的GC微服务来避免导出/导入成本,则每月可节省14994美元。
接下来,检查与GC微服务配置相关联的计算成本。考虑用于运行无服务器实例的计算成本。在一个示例中,该配置可具有16核、64GB的内存并且每小时成本为0.8美元。另外,这种实例的速度也可变化。在一个示例中,可实现至少200MB/s的拷贝速度。如果启动8个实例,则可实现1.6GB/s的速度。在该示例中且在该速度下,拷贝转发200TB的数据将需要约12800秒或约35小时。这产生227美元的成本。
因此,本发明的实施方式实现每GC周期的成本降低大约66x(倍)。此外,这样更快,因为可按期望启动许多实例或者可基于要拷贝的数据来控制数量。相比之下,通过网络进行拷贝转发的成本显著更高且更慢。假定网络具有100MB带宽,在最佳情况情形下也无法实现100MB/s的读取。因此,本发明的实施方式节省了用于将数据移动到云的网络带宽,而没有将网络带宽浪费在常规的垃圾收集方法上。
以下是对本发明的各种实施方式的示例操作环境的方面的讨论。以下论述不意图以任何方式限制本发明的范围或实施方式的适用性。
一般而言,本发明的实施方式可以结合单独地和/或共同地实施和/或致使实施数据管理操作的系统、软件和部件一起来实施。此类数据管理操作可包括但不限于数据读取/写入/删除操作、数据备份操作、数据恢复操作、数据克隆操作、数据归档操作以及灾难复原操作。因此,尽管在一些方面,本文中的讨论可涉及数据保护环境和操作的讨论,但本发明的范围不限于此。于是更一般地,本发明的范围涵盖所公开的概念可有用的任何操作环境。以说明而非限制的方式,本发明的实施方式可与数据备份和恢复平台(诸如Dell-EMCNetWorker和Avamar以及Data Domain平台)结合使用。
数据保护环境可采用公共或私有云存储环境、内部部署存储环境以及包括公共和私有元素的混合存储环境的形式,但本发明的范围也扩展到任何其他类型的数据保护环境。这些示例存储环境中的任一个可部分地或完全地虚拟化。存储环境可包括数据中心或由数据中心组成,该数据中心可操作以为一个或多个客户端发起的读取和写入操作服务。
除了存储环境外,操作环境还可包括各自托管一个或多个应用程序的一个或多个主机装置,例如,诸如客户端。因此,特定客户端可采用一个或多个应用程序中的每一个的一个或多个实例或者以其他方式与该一个或多个实例相关联。一般而言,客户端采用的应用程序不限于任何特定功能或任何特定功能类型。例如,一些示例应用程序和数据包括电子邮件应用程序(诸如MS Exchange)、文件系统、以及数据库(诸如Oracle数据库和SQL服务器数据库)。客户端上的应用程序可生成期望保护的新数据和/或修改的数据。
本文公开的装置或实体中的任一者可由根据本发明的各种实施方式的一个或多个数据保护策略保护。可通过根据本发明的实施方式的数据保护策略保护的装置的另外其他示例包括但不限于容器和VM。
操作环境中的任何装置(包括客户端、服务器和主机)可采取软件、物理机或虚拟机(VM)或者这些的任何组合的形式,但任何实施方式都不要求特定装置实施方式或配置。类似地,数据保护系统部件(例如,诸如数据库、存储服务器、存储卷(LUN)、存储盘、复制服务、备份服务器、恢复服务器、备份客户端和恢复客户端)可同样采取软件、物理机或虚拟机(VM)的形式,但任何实施方式不要求特定部件实施方式。在使用VM的情况下,可使用管理程序或其他虚拟机监视程序(VMM)来创建和控制VM。
如本文所使用,术语“数据”的范围意图是广泛的。因此,该术语以示例而非限制的方式涵盖诸如可由数据流分段过程产生的数据片段、数据组块、数据块、原子数据、电子邮件、任何类型的对象、文件、联系人、目录、子目录、卷、容器以及上述一项或多项的任何组。
本发明的示例实施方式适用于能够存储和处理呈模拟、数字或其他形式的各种类型的对象的任何系统。尽管可以示例的方式使用诸如文档、文件、块或对象的术语,但是本公开的原理不限于表示和存储数据或其他信息的任何特定形式。而是,此类原理同样适用于能够表示信息的任何对象。
本文所公开的实施方式可包括对包括各种计算机硬件或软件模块的专用或通用计算机的使用,如下面更详细地讨论。计算机可包括处理器和携载指令的计算机存储介质,所述指令在被处理器执行和/或致使被处理器执行时执行本文所公开的方法中的任一者或多者。
如上所指示,在本发明的范围内的实施方式还包括计算机存储介质,所述计算机存储介质是用于携载或在其上存储计算机可执行指令或数据结构的物理介质。此类计算机存储介质可为可由通用或专用计算机访问的任何可用物理介质。
以示例而非限制的方式,此类计算机存储介质可包括硬件存储器,诸如固态盘/装置(SSD)、RAM、ROM、EEPROM、CD-ROM、快闪存储器、相变存储器(“PCM”)、或其他光盘存储装置、磁盘存储装置或其他磁性存储装置、或者可用来存储呈计算机可执行指令或数据结构的形式的程序代码的任何其他硬件存储装置,所述程序代码可由通用或专用计算机系统访问和执行以实施本发明所公开的功能。上述的组合也应被包括在计算机存储介质的范围内。此类介质也是非暂时性存储介质的示例,并且非暂时性存储介质还涵盖基于云的存储系统和结构,但是本发明的范围不限于非暂时性存储介质的这些示例。
计算机可执行指令包括例如致使通用计算机、专用计算机或专用处理装置执行特定功能或功能组的指令和数据。尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应理解,所附权利要求中限定的主题不一定限于以上描述的特定特征或动作。而是,本文所公开的特定特征和动作是作为实施权利要求的示例形式公开的。
如本文所使用,术语“模块”或“部件”可指代在计算系统上执行的软件对象或例程。本文所公开的不同部件、模块、引擎和服务可被实施为对象或在计算系统上例如作为单独线程执行的进程。尽管本文所描述的系统和方法可在软件中实施,但是在硬件或者在软件和硬件的组合中实施也是可能的并且是可设想的。在本公开中,“计算实体”可为如本文先前定义的任何计算系统或者在计算系统上运行的任何模块或模块的组合。
在至少一些情况下,提供硬件处理器,该硬件处理器可操作以执行可执行指令来执行方法或过程,诸如本文所公开的方法和过程。硬件处理器可包括或可不包括其他硬件的元件,诸如本文所公开的计算装置和系统。
就计算环境而言,本发明的实施方式可在客户端-服务器环境(不论是网络环境还是本地环境)中执行或在任何其他合适的环境中执行。本发明的至少一些实施方式的合适操作环境包括其中客户端、服务器或其他机器中的一者或多者可在云环境中驻留并操作的云计算环境。
在不脱离本发明的精神或本质特性的情况下,本发明可体现为其他特定形式。所描述的实施方式应在所有方面仅被视为说明性而非限制性的。因此,本发明的范围由所附权利要求而非前述描述指示。在权利要求的等效含义和范围内的所有改变将被涵盖在其范围内。
Claims (20)
1.一种在提供数据的活动分层和数据的云分层的计算系统中,用于在所述云分层中执行垃圾收集操作的方法,所述方法包括:
由垃圾收集引擎处理存储在所述活动分层中的针对所述云分层的元数据,以识别待清理的容器,其中识别的容器包含压缩区;
根据所述元数据确定所述云分层中的哪些压缩区是死压缩区,以及所述云分层中的哪些压缩区是活压缩区;
由所述垃圾收集引擎实例化用于启动云中的微服务的实例启动器,并启动所述微服务;
生成标识所述识别的容器中的所述活压缩区的位置的方案,其中所述方案指定所述识别的容器中的所述活压缩区的字节范围;
将所述方案发送到所述微服务,其中所述微服务拷贝所述活压缩区的所述字节范围内的数据以在不执行解密操作的情况下从所述识别的容器拷贝到新容器,然后删除所述识别的容器;以及
在所述垃圾收集操作结束时关闭所述微服务。
2.如权利要求1所述的方法,其中每个方案至少标识容器、所述容器中的活压缩区的位置、所述活压缩区的大小、以及用于存储所述活压缩区的目的地容器。
3.如权利要求1所述的方法,其中,将所述方案分配到多个微服务实例,使得并行地清理数据的云分层。
4.如权利要求1所述的方法,所述方法还包括更新所述元数据以反映在执行所述方案之后所述活压缩区在存储在所述云分层中的所述新容器中的位置。
5.如权利要求1所述的方法,所述方法还包括从所述元数据识别存储在所述云中的L0容器和Lp容器的元数据,所述L0容器和所述Lp容器的所述元数据包括所述L0容器和所述Lp容器中的片段的指纹。
6.如权利要求5所述的方法,所述方法还包括执行查找以识别所述Lp容器的活压缩区和死压缩区。
7.如权利要求6所述的方法,所述方法还包括生成允许将来自所述Lp容器的所述活压缩区拷贝到新Lp容器中的方案。
8.如权利要求7所述的方法,所述方法还包括在本地并向所述云写入所述新Lp容器。
9.如权利要求8所述的方法,所述方法还包括将所述新Lp容器的元数据拷贝到新CMETA容器,其中在本地并向所述云写入所述新CMETA容器。
10.如权利要求1所述的方法,所述方法还包括对本地CMETA容器的元数据区段进行迭代以识别L0容器的活压缩区。
11.如权利要求10所述的方法,所述方法还包括基于所述本地CMETA容器来形成所述方案。
12.如权利要求11所述的方法,所述方法还包括将对应于所述方案的所述元数据本地拷贝到新CMETA容器中并且将所述新CMETA容器复制到所述云。
13.如权利要求12所述的方法,所述方法还包括删除从中拷贝转发活压缩区的Lp容器、所述L0容器、和所述本地CMETA容器,以收回所述云中的空间。
14.如权利要求1所述的方法,其中,在不考虑格式、压缩状态或加密状态的情况下拷贝转发所述活压缩区,其中,所述活压缩区中的至少一些活压缩区包括死片段,以及其中,只有来自这些活压缩区的活片段被拷贝到所述新容器。
15.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括计算机可执行指令,所述计算机可执行指令在被执行时执行在与计算系统相关联的数据的云分层中执行垃圾收集操作的方法,所述计算系统还具有数据的本地分层,所述方法包括:
由垃圾收集引擎处理存储在所述本地分层中的针对所述云分层的元数据,以识别待清理的容器,其中识别的容器包含压缩区;
根据所述元数据确定所述云分层中的哪些压缩区是死压缩区,以及所述云分层中的哪些压缩区是活压缩区;
由所述垃圾收集引擎实例化用于启动云中的微服务的实例启动器,并启动所述微服务;
生成标识所述识别的容器中的所述活压缩区的位置的方案,其中所述方案指定所述识别的容器中的所述活压缩区的字节范围;
将所述方案发送到所述微服务,其中所述微服务拷贝所述活压缩区的所述字节范围内的数据以在不执行解密操作的情况下从所述识别的容器拷贝到新容器,然后删除所述识别的容器;以及
在所述垃圾收集操作结束时关闭所述微服务。
16.如权利要求15所述的非暂时性计算机可读介质,其中,所述方案中的每一者至少标识现有的容器、活压缩区的位置、所述活压缩区的大小、以及用于存储所述活压缩区的目的地容器。
17.如权利要求15所述的非暂时性计算机可读介质,其中,只有所述活压缩区中的活片段被拷贝转发到所述新容器。
18.如权利要求15所述的非暂时性计算机可读介质,所述方法还包括更新所述本地分层中的所述元数据以反映在执行所述方案之后的所述数据的云分层。
19.如权利要求15所述的非暂时性计算机可读介质,所述方法还包括:
从所述元数据识别存储在所述云中的L0容器和Lp容器的元数据,所述L0容器和所述Lp容器的所述元数据包括所述L0容器和所述Lp容器中的片段的指纹;
执行查找以识别所述Lp容器的活压缩区和死压缩区;
生成允许将来自所述Lp容器的所述活压缩区拷贝到新Lp容器中的方案;
在本地并向所述云写入所述新Lp容器;以及
将所述新Lp容器的元数据拷贝到新CMETA容器,其中在本地并向所述云写入所述新CMETA容器。
20.如权利要求15所述的非暂时性计算机可读介质,所述方法还包括:
对本地CMETA容器的元数据区段进行迭代以识别L0容器的活压缩区;
基于所述本地CMETA容器来形成所述方案;以及
将对应于所述方案的所述元数据本地拷贝到新CMETA容器中并且将所述新CMETA容器复制到所述云。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/395,984 | 2019-04-26 | ||
US16/395,984 US11573892B2 (en) | 2019-04-26 | 2019-04-26 | Garbage collection for a deduplicated cloud tier using microservices |
PCT/US2019/068013 WO2020219123A1 (en) | 2019-04-26 | 2019-12-20 | Garbage collection for a deduplicated cloud tier |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113728303A CN113728303A (zh) | 2021-11-30 |
CN113728303B true CN113728303B (zh) | 2024-03-15 |
Family
ID=69326671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980095772.9A Active CN113728303B (zh) | 2019-04-26 | 2019-12-20 | 用于重复数据删除云分层的垃圾收集 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11573892B2 (zh) |
EP (1) | EP3959592A1 (zh) |
CN (1) | CN113728303B (zh) |
WO (1) | WO2020219123A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11405451B2 (en) * | 2020-09-30 | 2022-08-02 | Jpmorgan Chase Bank, N.A. | Data pipeline architecture |
US11657018B2 (en) * | 2021-03-29 | 2023-05-23 | EMC IP Holding Company LLC | System and method for data-layout aware decompression and verification using a hardware accelerator chain |
US11740820B1 (en) * | 2022-05-11 | 2023-08-29 | Netapp, Inc. | Block allocation methods and systems in a networked storage environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541689A (zh) * | 2010-12-21 | 2012-07-04 | 微软公司 | 在不同连接状态期间保护数据 |
CN103415842A (zh) * | 2010-11-16 | 2013-11-27 | 阿克蒂菲奥股份有限公司 | 用于数据管理虚拟化的系统和方法 |
CN109347814A (zh) * | 2018-10-05 | 2019-02-15 | 李斌 | 一种基于Kubernetes构建的容器云安全防护方法与系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8165998B2 (en) | 2004-05-14 | 2012-04-24 | Sap Ag | Fast comparison using multi-level version format |
EP2809029A4 (en) | 2012-01-23 | 2014-12-10 | Panasonic Corp | RECORDING APPARATUS, TERMINAL APPARATUS, AND CONTENT TRANSFER SYSTEM |
US9411815B1 (en) * | 2013-09-26 | 2016-08-09 | Emc Corporation | System and method for improving data compression in a deduplicated storage system |
US10169367B2 (en) | 2014-06-06 | 2019-01-01 | Panzura, Inc. | Managing opportunistic locks in a distributed file system |
US9959280B1 (en) | 2014-09-30 | 2018-05-01 | EMC IP Holding Company LLC | Garbage collection of data tiered to cloud storage |
US10540504B2 (en) * | 2015-05-12 | 2020-01-21 | Datrium, Inc. | Distributed data method for encrypting data |
US10078583B1 (en) * | 2016-03-31 | 2018-09-18 | EMC IP Holding Company LLC | Method and system for reducing memory used in embedded DDRs by using spare drives for OOC GC |
US10235285B1 (en) | 2016-03-31 | 2019-03-19 | EMC IP Holding Company LLC | Method and system for distributed garbage collection of deduplicated datasets |
US9794061B1 (en) * | 2016-06-14 | 2017-10-17 | Storagecraft Technology Corporation | Consolidating encrypted image backups without decryption |
US10452532B2 (en) | 2017-01-12 | 2019-10-22 | Micron Technology, Inc. | Directed sanitization of memory |
EP3367292B1 (en) | 2017-02-27 | 2022-12-07 | VMware, Inc. | Distributed data method for encrypting data |
JP7109992B2 (ja) * | 2018-05-22 | 2022-08-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11656891B2 (en) * | 2019-09-27 | 2023-05-23 | Red Hat, Inc. | Copy-on-write for virtual machines with encrypted storage |
US11573711B2 (en) * | 2020-03-23 | 2023-02-07 | Vmware, Inc. | Enhanced data encryption in distributed datastores using random tweaks stored in data blocks |
-
2019
- 2019-04-26 US US16/395,984 patent/US11573892B2/en active Active
- 2019-12-20 WO PCT/US2019/068013 patent/WO2020219123A1/en unknown
- 2019-12-20 EP EP19842964.9A patent/EP3959592A1/en active Pending
- 2019-12-20 CN CN201980095772.9A patent/CN113728303B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103415842A (zh) * | 2010-11-16 | 2013-11-27 | 阿克蒂菲奥股份有限公司 | 用于数据管理虚拟化的系统和方法 |
CN102541689A (zh) * | 2010-12-21 | 2012-07-04 | 微软公司 | 在不同连接状态期间保护数据 |
CN109347814A (zh) * | 2018-10-05 | 2019-02-15 | 李斌 | 一种基于Kubernetes构建的容器云安全防护方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113728303A (zh) | 2021-11-30 |
WO2020219123A1 (en) | 2020-10-29 |
US11573892B2 (en) | 2023-02-07 |
EP3959592A1 (en) | 2022-03-02 |
US20200341892A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210004295A1 (en) | Restoring a database using a fully hydrated backup | |
US9959275B2 (en) | Backup and restoration for a deduplicated file system | |
US20200364186A1 (en) | Remotely mounted file system with stubs | |
EP3796174B1 (en) | Restoring a database using a fully hydrated backup | |
CN113728303B (zh) | 用于重复数据删除云分层的垃圾收集 | |
US20190212944A1 (en) | Garbage collection in data storage systems | |
US10133508B1 (en) | Method and system for data protection based on storage status | |
US11669404B2 (en) | Efficient access-based reallocation of backup data within an object storage | |
US20230394010A1 (en) | File system metadata deduplication | |
CN113795827A (zh) | 用于重复数据删除云分层的垃圾收集 | |
US20240061749A1 (en) | Consolidating snapshots using partitioned patch files | |
CN112955860A (zh) | 用于优化对象版本控制的无服务器解决方案 | |
US10331362B1 (en) | Adaptive replication for segmentation anchoring type | |
CN113728302B (zh) | 用于删除重复的云分层的垃圾收集 | |
CN113728313A (zh) | 智能碎片整理vm内部的文件系统以在云中快速再复原并对云高效重复数据删除 | |
EP4053703A1 (en) | Method or apparatus to reconstruct lost data and metadata | |
US20210365326A1 (en) | Cold tiering microservice for deduplicated data | |
US20230027688A1 (en) | Large object packing for storage efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |