[发明专利]使用具有多个搜索引擎的加速器的数据压缩有效
申请号: | 201680054428.1 | 申请日: | 2016-09-21 |
公开(公告)号: | CN108028664B | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | V·戈帕尔;J·D·吉尔福德;G·M·沃尔里齐;D·F·卡特 | 申请(专利权)人: | 英特尔公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 何焜;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 具有 搜索引擎 加速器 数据压缩 | ||
1.一种用于执行数据压缩的装置,包括:
多个硬件处理核;
高速缓存存储器;以及
压缩加速器,包括散列表存储器,所述压缩加速器用于:
确定用于要被压缩的输入数据的散列值;
读取存储在由所述散列值索引的散列表条目中的第一多个N个位置值;
使用存储在所述散列表条目中的所述第一多个N个位置值从历史缓冲器并行地执行第一组串搜索;
读取存储在由包括在所述散列表条目中的第一溢出指针索引的第一溢出表条目中的第二多个N个位置值;以及
使用存储在所述第一溢出表条目中的所述第二多个N个位置值从所述历史缓冲器并行地执行第二组串搜索。
2.如权利要求1所述的装置,其特征在于,所述第一溢出表条目是包括在溢出表中的多个溢出条目中的一个。
3.如权利要求2所述的装置,其特征在于,所述溢出表存储在所述装置的所述高速缓存存储器中。
4.如权利要求1所述的装置,其特征在于,所述压缩加速器用于:
读取存储在由包括在所述第一溢出表条目中的链接指针索引的第二溢出表条目中的第三多个N个位置值;以及
使用存储在所述第二溢出表条目中的所述第三多个N个位置值从所述历史缓冲器并行地执行第三组串搜索。
5.如权利要求1所述的装置,其特征在于,所述压缩加速器用于:
读取存储在由包括在所述散列表条目中的第二溢出指针索引的第三溢出表条目中的第四多个N个位置值;以及
使用存储在所述第三溢出表条目中的所述第四多个N个位置值从所述历史缓冲器并行地执行第四组串搜索。
6.如权利要求1所述的装置,其特征在于,所述压缩加速器用于:
基于所述第一组串搜索和所述第二组串搜索中的至少一个对所述输入数据执行重复串消除操作。
7.如权利要求1所述的装置,其特征在于,所述压缩加速器包括用于并行地执行所述第一组和第二组串搜索的多个比较器。
8.如权利要求1所述的装置,其特征在于,所述历史缓冲器包括本地历史缓冲器和远历史缓冲器,其中所述本地历史缓冲器包括在所述压缩加速器中,并且其中所述远历史缓冲器在所述压缩加速器的外部。
9.一种用于执行数据压缩的方法,包括:
在压缩加速器处接收要被压缩的输入数据;
由所述压缩加速器确定用于所述输入数据的散列值;
由所述压缩加速器确定散列表是否包括与所述散列值对应的散列条目,其中所述散列表存储在所述压缩加速器中,其中所述散列表的每个散列条目包括多个N个位置字段;
响应于确定所述散列表包括与所述散列值对应的所述散列条目,确定所述散列条目中的全部N个位置字段是否是满的;以及
响应于确定所述散列条目中的全部N个位置字段不是满的,将所述输入数据的位置值存储在所述散列条目的空位置字段中。
10.如权利要求9所述的方法,其特征在于,进一步包括,响应于确定所述散列条目中的全部N个位置字段是满的:
在溢出表中创建新的溢出条目;以及
使所述散列条目的N个位置字段的内容溢出至所述新的溢出条目。
11.如权利要求10所述的方法,其特征在于,进一步包括,响应于确定所述散列条目中的全部N个位置字段是满的:
将指向所述新的溢出条目的指针添加至所述散列条目的溢出指针字段;以及
将所述输入数据的位置值存储在所述散列条目的位置字段中。
12.如权利要求10所述的方法,其特征在于,所述溢出表存储在所述压缩加速器外部的高速缓存存储器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680054428.1/1.html,转载请声明来源钻瓜专利网。