重复删除DRAM系统算法架构技术方案

技术编号:16427484 阅读:54 留言:0更新日期:2017-10-21 21:47
一种被配置为内部地执行存储器重复删除的重复删除存储器模块,包括:哈希表存储器,用于将多个数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶和多个虚拟桶,虚拟桶中的每个包括物理桶中的一些,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括多个指针,所述多个指针指示在物理桶中的相对应的一个物理桶中所存储的数据块中的每个的位置;和缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的唯一的数据块;处理器;以及存储器,其中,存储器在其上存储有指令,该指令当由处理器执行时使得存储器模块与外部系统交换数据。

Algorithm framework for deduplication DRAM system

A configuration for the implementation of internal memory repeat delete duplicate delete memory module, including: hash table memory, for a number of data blocks stored in the hash table includes a hash table array, hash table in each physical barrels and multiple virtual barrels, each virtual bucket includes some physical barrels the barrel includes each physical address lookup table memory; (ALUTM), including a plurality of the plurality of pointer, pointer of each data block stored a physical bucket corresponding to the physical barrels in the position in the buffer memory; and, when used for the full array of hash table when the memory is not stored in the hash table only data blocks in memory; and memory, the processor; memory instructions stored thereon, when the instruction is executed by the processor when the memory Data exchange between module and external system.

【技术实现步骤摘要】
重复删除DRAM系统算法架构对相关申请的交叉引用本申请要求于2016年3月31日向美国专利商标局提交的第62/316,402号美国临时专利申请的优先权及权益,该美国临时专利申请的全部内容通过引用整体并入本文。
根据本专利技术的实施例的一个或多个方面涉及数据重复删除(deduplication)。
技术介绍
数据重复删除或数据重复消除指的是减少存储器设备中的冗余数据,从而降低存储设备的容量成本。在数据重复删除中,数据对象/项(例如,数据文件)被划分为一个或多个数据线/组块(chunk)/块。通过将由相同的数据构成的多个数据块与单个存储的数据块相关联,可以经由计算机存储器来减少或消除数据块的重复副本,从而减少存储器设备中数据的冗余副本的总量。数据的冗余副本的减少可能增加读取延迟和存储器带宽,并且可能潜在地引起电力节约。因此,如果数据的重复副本可以被减少为数据的单个副本,则在使用相同量的物理资源时,存储器设备的总体可用容量增加。因为作为结果的(resultant)存储器设备的节省允许数据重写计数的减少,并且因为可以忽略对于在存储器中已经存储的重复的数据块的写入请求,所以通过有效地增加写入耐久性,可以延长实施了数据重复删除的存储器设备的寿命。数据重复删除的传统方法可以使用存储器中(in-memory)重复删除技术,据此重复删除引擎按照CPU中心式方法与CPU或存储器控制器(MC)集成。这样的方法通常实施重复删除缓存(DDC),该重复删除缓存与存储器控制器一起操作,以使得CPU处理器知晓重复并且尝试根据存储器控制器的控制来提供重复删除的存储器操作(例如,内容查找、参考(reference)计数更新等)。重复删除的方法还可以实施直接转换缓冲器(DTB),该直接转换缓冲器为用于对转换线进行缓存以通过从关键路径移除转换取回(translationfetch)来改善数据读取的缓存,并且可以与旁路(lookaside)缓冲器类似。重复删除最为常见地被用于硬盘驱动器。然而,对于在诸如动态随机存取存储器(DRAM)的易失性存储器的区域中提供精细粒度的重复删除存在兴趣。在
技术介绍
部分中所公开的以上信息仅用于增强对本专利技术的背景的理解,并且因此,其可能包含不构成现有技术的信息。
技术实现思路
本公开的实施例的方面针对动态随机存取(DRAM)系统中的存储器重复删除。根据本专利技术的实施例,提供了一种被配置为内部地执行存储器重复删除的重复删除存储器模块,该存储器模块包括:哈希表存储器,用于将多个数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶(physicalbuckets)和多个虚拟桶,虚拟桶中的每个包括物理桶中的一些,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括多个指针,所述多个指针指示在物理桶中的相对应的一个物理桶中所存储的数据块中的每个的位置;和缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的唯一的数据块;处理器;以及存储器,其中,存储器在其上存储有指令,该指令当由处理器执行时使得存储器模块与外部系统交换数据。存储器模块可以是片上系统动态随机存取存储器(DRAM)。存储器模块可以被配置为:接收与应用模式历史池、重复删除算法池或重复删除算法选择策略中的至少一个相对应的信息;以及基于所接收的信息来定义一个或多个重复删除算法。存储器模块可以被配置为接收用于设置重复删除线大小、哈希表的数量、哈希表之一中的物理桶的数量、物理桶之一中的路的数量或者虚拟桶之一中的物理桶的数量中的至少一个的指令。存储器模块可以被配置为接收用于针对哈希表中的每个来设置哈希函数的指令。存储器模块可以被配置为接收用于定义哈希表存储器、ALUTM或缓冲存储器中的至少一个的指令。存储器模块可以被配置为:接收与进入的(incoming)数据块相对应的写入请求;当接收到写入请求时,对进入的数据块进行哈希化以生成哈希值;确定与哈希值相对应的值是否被存储在哈希表存储器中;取回与在哈希表存储器中所存储的值相对应的指针中的相对应的指针;对ALUTM中的指针中的相对应的指针进行更新;以及对哈希表存储器中的指针中的相对应的指针的频率计数进行更新。存储器模块可以被配置为:接收读取请求;从ALUTM取回指针中的相对应的指针;从哈希表存储器取回与指针中的相对应的指针相关联地存储的数据块之一;以及将所存储的数据块之一返回到外部系统。根据本专利技术的实施例,提供了一种存储器模块中的存储器重复删除的方法,该方法包括:在存储器模块中定义:哈希表存储器,用于将数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶和多个虚拟桶,虚拟桶中的每个包括物理桶中的一些,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括指示所存储的数据块中的每个在物理桶中的哪个物理桶中的多个指针;和缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的数据块;该方法还包括:根据重复删除算法将数据块存储在哈希表存储器或缓冲存储器中。该方法可以进一步包括将重复删除算法选择为:由与存储器模块相关联的软件或驱动所定义的非适应性的重复删除算法;或者基于由存储器模块所接收的信息的适应性重复删除算法。该方法可以进一步包括从耦合到存储器模块的存储器控制器接收信息,所接收的信息确定重复删除线大小、哈希表的数量、哈希表之一中的物理桶的数量、物理桶之一中的路的数量或者虚拟桶之一中的物理桶的数量中的至少一个,其中,非适应性重复删除算法可以基于所接收的信息,并且可以通过与存储器模块相关联的驱动来设置所接收的信息。该方法可以进一步包括通过基于非适应性重复删除算法使用驱动创建区域来确定哈希表存储器、ALUTM和缓冲存储器的区域。该方法可以进一步包括接收针对哈希表中的每个的哈希算法,该哈希算法由驱动基于非适应性重复删除算法来选择。该方法可以进一步包括:接收与应用模式历史池、重复删除算法池或重复删除算法选择策略中的至少一个相对应的信息;以及基于信息来设置自适应重复删除算法。该方法可以进一步包括:使用与存储器模块相关联的驱动来选择预处理算法;接收预处理算法;以及创建重复删除算法。根据本专利技术的实施例,提供了一种存储器模块中的存储器重复删除的方法,该方法包括:在存储器模块中定义:哈希表存储器,用于将数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶和多个虚拟桶,虚拟桶中的每个包括物理桶,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括多个指针,所述多个指针指示在物理桶中的相对应的一个物理桶中所存储的数据块中的每个的位置;和缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的数据块;接收与进入的数据块相对应的写入请求;通过对进入的数据块执行哈希函数来计算哈希值;根据哈希值来访问物理桶中的期望的物理桶;确定进入的数据块是否被存储在期望的物理桶中;以及当与进入的数据块不同的另一个数据块被存储在期望的物理桶中时,将进入的数据块存储在虚拟桶中的期望的物理桶位于其中的一个虚拟桶的物理桶之一中。该方法可以进一步包括当进入的数据块被存储在期望的物理桶中时,对ALUTM中的指针中的相对应的指针进行更新。该方法可以进一步包括将与指针中相对应的指针相对应的频率计数减小1。该方法进一本文档来自技高网
...
重复删除DRAM系统算法架构

【技术保护点】
一种被配置为内部地执行存储器重复删除的重复删除存储器模块,该存储器模块包括:哈希表存储器,用于将多个数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶和多个虚拟桶,每个虚拟桶包括物理桶中的一些,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括多个指针,所述多个指针指示在物理桶中的相对应的一个物理桶中所存储的数据块中的每个的位置;以及缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的唯一的数据块;处理器;以及存储器,其中,存储器在其上存储有指令,该指令当由处理器执行时使得存储器模块与外部系统交换数据。

【技术特征摘要】
2016.03.31 US 62/316,402;2016.05.23 US 15/162,5121.一种被配置为内部地执行存储器重复删除的重复删除存储器模块,该存储器模块包括:哈希表存储器,用于将多个数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶和多个虚拟桶,每个虚拟桶包括物理桶中的一些,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括多个指针,所述多个指针指示在物理桶中的相对应的一个物理桶中所存储的数据块中的每个的位置;以及缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的唯一的数据块;处理器;以及存储器,其中,存储器在其上存储有指令,该指令当由处理器执行时使得存储器模块与外部系统交换数据。2.根据权利要求1所述的存储器模块,其中,该存储器模块包括片上系统动态随机存取存储器(DRAM)。3.根据权利要求1所述的存储器模块,其中,该存储器模块被配置为:接收与应用模式历史池、重复删除算法池或重复删除算法选择策略中的至少一个相对应的信息;以及基于所接收的信息来定义一个或多个重复删除算法。4.根据权利要求1所述的存储器模块,其中,该存储器模块被配置为接收用于设置重复删除线大小、哈希表的数量、哈希表之一中的物理桶的数量、物理桶之一中的路的数量或者虚拟桶之一中的物理桶的数量中的至少一个的指令。5.根据权利要求1所述的存储器模块,其中,该存储器模块被配置为接收用于针对哈希表中的每个来设置哈希函数的指令。6.根据权利要求1所述的存储器模块,其中,该存储器模块被配置为接收用于定义哈希表存储器、ALUTM或缓冲存储器中的至少一个的指令。7.根据权利要求1所述的存储器模块,其中,该存储器模块被配置为:接收与进入的数据块相对应的写入请求;当接收到写入请求时,对进入的数据块进行哈希化以生成哈希值;确定与哈希值相对应的值是否被存储在哈希表存储器中;取回与在哈希表存储器中所存储的值相对应的指针中的相对应的指针;对ALUTM中的指针中的相对应的指针进行更新;以及对哈希表存储器中的指针中的相对应的指针的频率计数进行更新。8.根据权利要求1所述的存储器模块,其中,该存储器模块被配置为:接收读取请求;从ALUTM取回指针中的相对应的指针;从哈希表存储器取回与指针中的相对应的指针相关联地存储的数据块之一;以及将所存储的数据块之一返回到外部系统。9.一种存储器模块中的存储器重复删除的方法,该方法包括:在存储器模块中定义:哈希表存储器,用于将数据块存储在包括哈希表的哈希表阵列中,哈希表中的每个包括物理桶和多个虚拟桶,虚拟桶中的每个包括物理桶中的一些,物理桶中的每个包括路;地址查找表存储器(ALUTM),包括指示所存储的数据块中的每个在物理桶中的哪个物理桶中的多个指针;以及缓冲存储器,用于当哈希表阵列为满时,存储未被存储在哈希表存储器中的数据块...

【专利技术属性】
技术研发人员:胡潮红郑宏忠KT马拉迪R布伦南
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1