树结构节点压缩优先级制造技术

技术编号:37108694 阅读:30 留言:0更新日期:2023-04-01 05:07
本公开涉及树结构节点压缩优先级。在一些示例中,系统将数据布置在树结构中的多个节点中,其中多个节点中的给定节点与概率数据结构相关联,该概率数据结构提供给定节点中是否存在数据的概率指示。系统为给定节点的读取确定由概率数据结构指示的误肯定的误肯定度量,并基于所确定的误肯定度量对给定节点的压缩进行优先级排序。行优先级排序。行优先级排序。

【技术实现步骤摘要】
树结构节点压缩优先级

技术介绍

[0001]可以应用数据减少技术来减少存储在存储系统中的数据量。示例数据减少技术包括重复数据删除。重复数据删除识别重复的数据单元,并设法减少或消除存储在存储系统中的重复数据单元的实例的数量。
附图说明
[0002]本公开的一些实施方式参考以下附图进行描述。
[0003]图1是根据一些示例的包括存储系统的布置的框图。
[0004]图2是根据一些示例的键值索引的框图。
[0005]图3A

3B示出了根据一些示例的键值索引中的间接节点的压缩示例。
[0006]图4是根据一些示例的压缩过程的流程图。
[0007]图5是根据一些示例的存储机器可读指令的存储介质的框图。
[0008]图6是根据一些示例的系统的框图。
[0009]图7是根据进一步示例的过程的流程图。
[0010]在所有附图中,相同的附图标记表示相似但不一定相同的元素。这些图不一定按比例绘制,并且某些部件的尺寸可能被放大以更清楚地说明所示示例。此外,附图提供了与描述一致的示例和/或实施方式。然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
[0011]在本公开中,术语“一(a)”、“一个(an)”或“该(the)”的使用也旨在包括复数形式,除非上下文另有明确指示。此外,当在本公开中使用时,术语“包括(includes,including)”、“包含(comprises,comprising)”、“具有(have,having)”指定了所述元素的存在,但不排除其他元素的存在或添加。
[0012]在一些示例中,存储系统使用索引来指示键和值(在本文中也称为“键值对”)之间的关系或映射。包括键值对的键值索引可用于基于传入数据单元的“指纹”在存储系统中执行重复数据删除,其中每个指纹与特定的数据单元相关联。这样的键值索引也被称为“指纹索引”。更一般地,“指纹索引”可以指将数据单元的指纹映射到数据单元的相应位置信息的索引。
[0013]“存储系统”可以包括存储设备的集合(单个存储设备或多个存储设备)。存储系统还可以包括管理一个或多个存储设备的访问的一个或多个存储控制器。“数据单元”可以指可以在存储系统中被单独标识的数据的任何部分。在一些情况下,数据单元可以指块、块的集合或数据的任何其他部分。在一些示例中,存储系统可以将数据单元存储在持久性存储装置中。持久性存储装置可以使用一个或多个持久性(例如,非易失性)存储设备来实现,例如基于磁盘的一个或多个存储设备(例如,一个或多个硬盘驱动器(HDD))、一个或多个固态设备(SSD)(例如一个或多个闪存设备)等等,或它们的组合。
[0014]“控制器”可以指硬件处理电路,其可以包括微处理器、多核微处理器的核、微控制
器、可编程集成电路、可编程门阵列、数字信号处理器、或其他硬件处理电路的任何或某种组合。可替代地,“控制器”可以指硬件处理电路和在硬件处理电路上可执行的机器可读指令(软件和/或固件)的组合。
[0015]“指纹”指的是通过对数据单元的内容(其中“内容”可以包括数据单元的内容的全部或子集)应用函数而获得的值。可以应用的函数的示例包括基于传入数据单元产生哈希值的哈希函数。哈希函数的示例包括加密哈希函数,例如安全哈希算法2(SHA

2)哈希函数(例如SHA

224、SHA

256、SHA

384等)。在其他示例中,可以采用其他类型的哈希函数或其他类型的指纹函数。
[0016]在本文中,“指纹”可以指完整指纹或部分指纹。完整指纹包括由指纹函数基于数据单元的内容所计算的整个值。部分指纹包括完整指纹的一部分(少于所有比特)。
[0017]将传入数据单元的指纹被与指纹索引进行比较。指纹索引可以是键值索引,其中指纹是键并且对应的数据位置是值。“存储位置指示符”可以指提供数据单元在持久性存储装置中的存储位置的指示的任何信息。“存储位置指示符”也可以被称为数据单元的“位置信息”。
[0018]在一些示例中,存储位置指示符可以是顺序块号(SBN)的形式。SBN可用于确定数据单元在持久性存储装置中的物理存储位置。然而,在一些示例中,SBN实际上并不标识物理位置,而是SBN可用于导出物理地址或标识物理位置的其他值。在其他示例中,可以采用其他类型的存储位置指示符。
[0019]在为存储系统接收到的传入数据单元执行重复数据删除操作期间,为传入数据单元生成的指纹与存储在指纹索引中的指纹之间的匹配指示传入数据单元可能是已经存储在存储系统中的数据单元的副本。如果传入数据单元是已经存储的数据单元的副本,则替代存储重复的传入数据单元,存储系统中存储的引用计数(reference count)可以递增以指示已经接收到的该数据单元的实例数,并且将对该数据单元的引用(而不是传入数据单元)存储在存储系统中。
[0020]键值索引可以被存储为节点的树结构,该树结构从具有子节点的根节点开始。根节点的子节点可以包括内部节点(本文中被称为“间接”节点)或叶节点。每个间接节点还可以具有子节点,子节点可以包括较低级别的间接节点或叶节点。
[0021]键值索引的每个叶节点存储键值数据(例如,键值对)。在一些示例中,给定的叶节点存储给定范围(例如,指纹值)内的键的键值对。例如,第一叶节点存储具有第一范围内的键的键值对,第二叶节点存储具有不同的第二范围内的键的键值对等等。
[0022]键值索引的每个根节点和间接节点可以包括节点缓冲器,其是一种存储结构(例如,包含在存储器中)。“存储器”可以使用非易失性随机存取存储器(NVRAM)和/或易失性存储器来实现。NVRAM可以使用电可擦除可编程只读存储器(EEPROM)设备来实现。在其他示例中,可以使用电池支持的(battery

backed)一个或多个动态随机存取存储器(DRAM)设备或电池支持的一个或多个静态随机存取存储器(SRAM)设备来实现NVRAM。易失性存储器可以使用一个或多个DRAM设备、一个或多个SRAM设备或任何其他类型的存储器来实现,其中,如果从存储器中移除电源,则存储在存储器中的数据会丢失。
[0023]键值索引的根节点或间接节点的节点缓冲器可以存储键值对。根节点的节点缓冲器可以存储键值的整个可能范围(例如指纹的所有可能值)的键值对。给定间接节点的节点
缓冲器存储与相应的键范围相关联的键值对。不同间接节点的节点缓冲器存储不同范围的键的键值对。换句话说,每个间接节点可以与根节点的节点缓冲器中的键范围的不同部分相关联。
[0024]根节点或间接节点的节点缓冲器继续存储相应的键值对,直到达到节点缓冲器的阈值填充水平,这可能导致节点缓冲器中存储的键值对被转移到子节点(键值对在键值索引的树结构中的向下传输涉及键值对沿树结构的涓流更新)。“阈值填充水平”可以指在存储数据(例如,键值对)时已被消耗的节点缓冲器的已用空间的阈值量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非暂态机器可读存储介质,所述非暂态机器可读存储介质包括指令,所述指令在执行时使系统执行以下操作:在树结构的多个节点中布置数据,所述多个节点包括较高级别节点和较低级别节点,其中,所述多个节点中的给定节点与概率数据结构相关联,所述概率数据结构提供所述给定节点中是否存在数据的概率指示;为所述给定节点的读取确定由所述概率数据结构指示的误肯定的误肯定度量,其中,当所述给定节点中不存在数据时,如果所述概率数据结构指示所述给定节点中存在所述数据,则发生误肯定;以及基于所确定的误肯定度量对所述给定节点的压缩进行优先级排序,其中,所述给定节点的所述压缩包括将所述给定节点中的数据传输到所述树结构中的另一节点。2.根据权利要求1所述的非暂态机器可读存储介质,其中,所述概率数据结构包括布隆过滤器。3.根据权利要求1所述的非暂态机器可读存储介质,其中,对所述给定节点的所述压缩进行优先级排序包括:响应于较高的误肯定度量,为所述给定节点的所述压缩设置较高的优先级,以及响应于较低的误肯定度量,为所述给定节点的所述压缩设置较低的优先级。4.根据权利要求1所述的非暂态机器可读存储介质,其中,所述给定节点的所述压缩包括将所述给定节点中的所述数据传输到所述给定节点的至少一个子节点。5.根据权利要求1所述的非暂态机器可读存储介质,其中,所述树结构的所述多个节点中的所述数据包括键值对,所述键值对中的每个键值对包括数据单元的指纹和所述数据单元的位置信息。6.根据权利要求1所述的非暂态机器可读存储介质,其中,基于所述所确定的误肯定度量对所述给定节点的所述压缩进行优先级排序包括为所述给定节点的所述压缩设置第一优先级,并且其中,所述指令在执行时使所述系统执行以下操作:比较为所述多个节点中的相应节点设置的多个优先级,所述多个优先级包括所述第一优先级;以及基于所述多个优先级的所述比较选择所述多个节点中的节点。7.根据权利要求1所述的非暂态机器可读存储介质,其中,所述多个节点中的每个相应节点包括相应节点缓冲器以存储所述相应节点的相应数据,并且其中,所述指令在执行时使所述系统执行以下操作:响应于所述相应节点中的数据量超过阈值量,为所述相应节点创建压缩作业,其中,对所述给定节点的所述压缩进行优先级排序包括对为所述给定节点创建的压缩作业进行优先级排序,为所述给定节点创建所述压缩作业响应于所述给定节点中的数据量超过所述阈值量。8.根据权利要求7所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统执行以下操作:将压缩作业的信息存储在压缩作业调度结构中;以及基于分配给所述压缩作业的优先级调度所述压缩作业。9.根据权利要求7所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系
统执行以下操作:响应于为所述给定节点确定的所述误肯定度量高于为所述多个节点中的另一节点确定的误肯定度量,向所述给定节点的所述压缩作业分配比分配给所述另一节点的压缩作业的优先级更高的优先级。10.根据权利要求7所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统执行以下操作:响应于为所述给定节点确定的所述误肯定度量高于为所述多个节点中的另一节点确定的误肯定度量,向所述给定节点的所述压缩作业分配比分配给所述另一节点的压缩作业的优先级更高的优先级,即使所述另一节点的所述节点缓冲器具有比所述给定节点的所述节点缓冲器更多的数据。11.根据权利要求7所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统执行以下操作:响应于所述给定节点的读取请求:确定所述概率数据结构是否返回肯定指示,所述肯定指示概率性地指示所述读取请求的数据存在于所述给定节点的所述节点缓冲器中,以...

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

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

1