用于数据克隆操作的日志制造技术

技术编号:35889323 阅读:16 留言:0更新日期:2022-12-10 10:18
本公开涉及用于数据克隆操作的日志。示例实施方式涉及元数据更改的日志。示例包括由数据去重存储系统的存储控制器检测清单范围的克隆操作;响应于检测到的克隆操作将日志从持久性存储装置加载到存储器中,其中,所述日志用于存储对与所述清单范围相关联的容器索引的更改,并且其中,响应于所述检测到的克隆操作而不将所述容器索引加载到所述存储器中;以及更新所述存储器中的所述日志以包括对未加载到所述存储器中的容器索引的元数据的更改的指示,其中,对所述元数据的更改与所述检测到的克隆操作相关联。到的克隆操作相关联。到的克隆操作相关联。

【技术实现步骤摘要】
用于数据克隆操作的日志

技术介绍

[0001]可以应用数据归约(data reduction)技术来减少存储在存储系统(storage system)中的数据量。示例数据归约技术包括数据去重(data deduplication)。数据去重识别(identify)重复的数据单元,并且力图缩减或消除存储在存储系统中的重复数据单元的实例的数量。
附图说明
[0002]关于以下附图描述了一些实施方式。
[0003]图1是根据一些实施方式的示例系统的示意图。
[0004]图2是根据一些实施方式的示例数据结构的图示。
[0005]图3A至图3C是根据一些实施方式的示例数据结构的图示。
[0006]图4是根据一些实施方式的示例过程的图示。
[0007]图5是根据一些实施方式的示例过程的图示。
[0008]图6是根据一些实施方式的存储有指令的示例机器可读介质的图。
[0009]图7是根据一些实施方式的示例计算设备的示意图。
[0010]在所有附图中,相同的附图标记指代相似但不一定相同的元素。附图不一定是成比例的,并且一些部分的尺寸可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
[0011]在本公开中,除非上下文另外明确指示,否则使用术语“一个(a)”、“一种(an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括/包含(includes/including/comprises/comprising)”或“具有(have/having)”指明存在所述元素,但不排除存在或添加其他元素。
[0012]在一些示例中,存储系统可以对数据进行去重以减少存储数据所需的空间量。存储系统可以执行数据去重过程,包括将数据流分解为离散的数据单元或“组块(chunk)”。进一步地,存储系统可以确定传入数据单元的标识符或“指纹”,并且可以确定哪些传入数据单元是先前存储的数据单元的复制品。在数据单元是复制品的情况下,存储系统可以存储对先前数据单元的引用,而不是存储重复的传入数据单元。
[0013]如本文所使用的,“指纹”是指通过对数据单元的内容应用函数而得到的值(其中“内容”可以包括数据单元的内容的全部或子集)。可以应用的函数的示例包括基于传入数据单元产生散列值的散列函数。散列函数的示例包括密码散列函数,如安全散列算法2(SHA

2)散列函数(例如,SHA

224、SHA

256、SHA

384等)。在其他示例中,可以采用其他类型的散列函数或其他类型的指纹函数。
[0014]“存储系统”可以包括存储设备(storage device)或存储设备阵列。存储系统还可以包括管理对(多个)存储设备的访问的(多个)存储控制器。“数据单元”可以指可以在存储
系统中单独识别的任何数据部分。在一些情况下,数据单元可以指组块、组块的集合、或任何其他数据部分。在一些示例中,存储系统可以将数据单元存储在持久性存储装置(persistent storage)中。可以使用一种或多种(多个)持久性(例如,非易失性)存储设备(比如(多个)基于磁盘的存储设备(例如,(多个)硬盘驱动器(HDD))、(多个)固态设备(SSD)(比如(多个)闪速存储设备)等或者其组合)来实施持久性存储装置。
[0015]“控制器”可以指硬件处理电路,其可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列、数字信号处理器或其他硬件处理电路中的任一项或某种组合。可替代地,“控制器”可以指硬件处理电路与可在硬件处理电路上执行的机器可读指令(软件和/或固件)的组合。
[0016]在一些示例中,数据去重存储系统可以使用存储的元数据来处理原始数据流并从存储的数据单元重建原始数据流。以这种方式,数据去重过程可以避免存储重复数据单元的重复副本,从而可以减少存储数据流所需的空间量。在一些示例中,数据去重元数据可以包括指定特定数据单元的接收顺序(例如,在数据流中)的数据配方(data recipe)(本文也称为“清单(manifest)”)。为了取得存储的数据(例如,响应于读取请求或克隆请求),数据去重系统可以使用清单来确定数据单元的接收顺序,从而可以重新创建原始数据流。清单可以包括一系列记录,每个记录代表一组特定的数据单元。清单的记录可以包括标识包括数据单元的存储信息的索引的一个或多个字段(本文也称为“指针信息”)。例如,存储信息可以包括一个或多个索引字段,其指定所存储数据单元的位置信息(例如,容器、偏移量等)、所存储数据单元的压缩和/或加密特性等。在一些示例中,清单和索引均可以以固定大小的可寻址部分(例如,4KB部分)读取。
[0017]“克隆(cloning)”操作可以指创建存储在数据去重存储系统中的特定数据流的副本的过程。例如,克隆操作可以包括将特定数据流的源清单加载到存储器(memory)中,并基于源清单识别一组索引。每个识别的索引作为整体单元加载到存储器中、被解压缩、并被反序列化。然后可以更新索引以指示克隆的数据单元的引用计数(即,数据单元出现在清单中的实例的数量),并且可以从存储器写入到持久性存储装置。新清单(即,表示克隆数据)可以由源清单的组成部分形成。然而,在一些示例中,当索引被加载到存储器中时,克隆操作可能仅影响索引的相对较小部分(例如,索引中的一万个记录中的十个记录)。因此,在这样的示例中,将整个索引加载到存储器中可能比仅将更改部分加载到存储器中消耗更多的系统处理时间和带宽。
[0018]根据本公开的一些实施方式,数据去重存储系统可以通过将日志(journal)加载到存储器中而不加载相关联的索引来执行克隆操作。每个日志可以仅存储指示对存储在对应索引中的数据的更改的信息,并且因此可以比对应索引相对较小。进一步地,日志可以包括专用于记录与克隆操作相关联的元数据更改的数据结构(本文称为“克隆数据结构”)。克隆数据结构可以累积这些更改,直到触发事件(例如,当日志变满时),并且可以用于在向存储器的单次加载期间更新对应的索引。因此,因为每个日志都小于对应的索引,所以使用日志执行克隆操作可以消耗的处理时间和带宽与使用对应索引所需要消耗的相比相对较少。因此,所公开的用于克隆操作的技术可以显著提高数据去重存储系统的性能。
[0019]1.示例存储系统
[0020]图1示出了根据一些实施方式的包括存储控制器110、存储器115和持久性存储装
置140的存储系统100的示例。如图所示,持久性存储装置140可以包括任何数量的清单150、索引160和数据容器170。持久性存储装置140可以包括一个或多个非暂态存储介质,如硬盘驱动器(HDD)、固态驱动器(SSD)、光盘等、或其组合。存储器115可以用诸如随机存取存储器(RAM)等半导体存储器实施。
[0021]在一些实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机实施的方法,包括:由重复数据删除存储系统的存储控制器检测清单范围的克隆操作;响应于检测到的克隆操作将日志从持久性存储装置加载到存储器中,其中,所述日志用于存储对与所述清单范围相关联的容器索引的更改,并且其中,响应于所述检测到的克隆操作不将所述容器索引加载到所述存储器中;以及更新所述存储器中的所述日志以包括对未加载到所述存储器中的容器索引的元数据的更改的指示,其中,对所述元数据的更改与所述检测到的克隆操作相关联。2.如权利要求1所述的计算机实施的方法,包括:识别与所述源清单相关联的容器索引;以及基于所识别的容器索引来识别所述日志。3.如权利要求2所述的计算机实施的方法,其中,将所述日志加载到存储器中包括:识别包括所识别的日志的日志分组;以及将所识别的日志分组作为整体加载到所述存储器中。4.如权利要求1所述的计算机实施的方法,其中,更新所述日志以包括对所述元数据的更改的所述指示包括:向被包括在所述日志中的克隆数据结构添加记录,其中,所述克隆数据结构专用于记录克隆操作期间的元数据更改的指示。5.如权利要求4所述的计算机实施的方法,包括:更新所述记录以包括单元地址和长度值,其中,所述单元地址和长度值以游程长度引用格式标识所述清单范围。6.如权利要求4所述的计算机实施的方法,包括:更新所述记录以包括所述清单范围的引用计数的指示。7.如权利要求4所述的计算机实施的方法,包括:响应于确定所述存储器中的所述日志已达到所存储数据的最大阈值:将所述容器索引从所述持久性存储装置加载到所述存储器中;基于所述克隆数据结构的记录来更新所加载的容器索引;以及在基于所述克隆数据结构的记录更新所加载的容器索引之后,清除所述克隆数据结构的记录。8.如权利要求7所述的计算机实施的方法,包括:针对所述克隆数据结构的每个记录:基于所述记录更新所加载的容器索引;以及在基于所述记录更新所加载的容器索引之后,更新所述记录以包括由所述克隆操作生成的清单的标识符。9.一种存储有指令的非暂态机器可读介质,所述指令在执行时使处理器进行以下操作:检测清单范围的克隆操作;响应于检测到的克隆操作将日志从持久性存储装置加载到存储器中,其中,所述日志用于存储对与所述清单范围相关联的容器索引的更改,并且其中,响应于所述检测到的克隆操作而不将所述容器索引加载到所述存储器中;以及
更新所述存储器中的所述日志以包括对未加载到所述存储器中的容器索引的元数据的更改的指示,其中,对所述元数据的更改与所述检测到的克隆操作相关联。10.如权利要求9所述的非暂态机器可读介质,包括在执行时使所述处理器执行以下操作的指令:识别与所述源清单相关联的容器索引;基于所识别的容器索引来识别所述日志;识别包括所识别的日志的日志分组;以及将所识别的日志分组作为整体加载到所述存储器中。11.如权利要求9所述的非暂态机器可读介质,包括在执行时使所述处理器执行以下操作的指令:向被包括在所述日志中的克隆数据结构添加记录,其中,所述克隆数...

【专利技术属性】
技术研发人员:R
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1