[发明专利]用于高效存储器内嵌去重应用的最优化的跳房子多散列表有效
申请号: | 201710196455.9 | 申请日: | 2017-03-29 |
公开(公告)号: | CN107239230B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | F.萨拉;胡潮红;郑宏忠;张牧天 | 申请(专利权)人: | 三星电子株式会社 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/1018 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 刘虹 |
地址: | 韩国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 高效 存储器 内嵌去重 应用 优化 跳房子 列表 | ||
1.一种存储器去重的方法,所述方法包含:
识别多个散列表,每个散列表与散列函数对应,并且每个散列表包含物理散列桶,每个物理散列桶包含路并且被配置为存储数据;
识别多个虚拟桶,每个虚拟桶包含所述物理散列桶中的一些,并且每个虚拟桶与所述虚拟桶中的另一个共享所述物理散列桶的至少一个;
将其上存储了数据的所述物理散列桶中的每个识别为被指定给所述虚拟桶中的单个相应虚拟桶;
根据所述散列函数中的相应一个来散列数据行以产生散列值;
根据所述散列值确定相应散列表的虚拟桶中的相应一个是否有用于数据块的可用空间;
当所述虚拟桶中的所述相应一个没有可用空间时,将数据从所述虚拟桶中的所述相应一个顺序地移动到所述虚拟桶中的邻近一个虚拟桶,直到所述虚拟桶的所述相应一个具有用于所述数据块的空间为止;以及
将所述数据块存储在所述虚拟桶中的所述相应一个。
2.如权利要求1所述的方法,进一步包含更新地址查找表存储器以改变与所述数据块相应的一个或多个查找地址。
3.如权利要求1所述的方法,其中所述散列表的每个进一步包含引用计数行、签名行和跳字行。
4.如权利要求3所述的方法,进一步包含生成用于指示包含数据的哪个物理散列桶与哪个虚拟桶对应的跳字矢量。
5.如权利要求4所述的方法,其中生成所述跳字矢量包含,对于所述虚拟桶中的每个,使用二进制指示符来指示所述虚拟桶中的相应虚拟桶的物理散列桶中的每个是否包含与虚拟桶中的所述相应虚拟桶关联的数据块。
6.如权利要求3所述的方法,进一步包含生成跳字值,所述跳字值包含每个物理散列桶log2(H)个比特,用于指示包含数据的哪个物理散列桶与哪个虚拟桶对应。
7.如权利要求6所述的方法,其中生成所述跳字值包含,生成在表示所述物理散列桶和所述虚拟桶的关联对的位置处包括含有数据的物理散列桶中的每个的准地址的二维阵列。
8.如权利要求1所述的方法,其中相应的散列表被存储在易失性存储器。
9.如权利要求8所述的方法,其中所述易失性存储器包含动态随机访问存储器DRAM。
10.如权利要求1所述的方法,进一步包含用PLID(物理行ID)索引相应的散列表,所述PLID包含log2(H)个比特的虚拟桶利用值字段,并且包含等于所述虚拟桶中的相应一个中的数据块数目的值。
11.如权利要求10所述的方法,进一步包含当向所述虚拟桶中的所述相应一个写入对象时,将所述虚拟桶利用值字段增加1。
12.如权利要求1所述的方法,进一步包含当所述相应散列表已满时,将所述数据块存储在缓冲存储器。
13.一种用于通过减少存储器中的重复数据块对存储器进行去重的去重DRAM存储器模块,所述去重DRAM存储器模块包含:
散列表存储器,用于仅存储被去重的数据块,并且包括存储在其中的散列表的三维阵列,所述散列表中的每个包含物理散列桶,每个物理散列桶包含路并且被配置为存储所述被去重的数据块;
地址查找表存储器ALUTM,用于存储与所述被去重的数据块对应的地址;以及
处理器,用于接收读请求以使能所述去重DRAM存储器模块从所述散列表存储器检索所述数据块并且导出所述数据块,并且用于接收写请求以使能所述去重DRAM存储器模块将所述数据块存储在所述散列表存储器中。
14.如权利要求13所述的去重DRAM存储器模块,其中所述散列表的每个包含多个虚拟桶,所述多个虚拟桶的每个包含两个或更多个所述物理散列桶。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710196455.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于执行数据更新的方法
- 下一篇:数据传输方法和系统