实现对基于处理器的系统中的小数据块的高效无损压缩技术方案

技术编号:20929501 阅读:37 留言:0更新日期:2019-04-20 12:37
提供实现对基于处理器的系统中的小数据块的高效无损压缩。在一个方面中,一种方法包括接收多个输入字。多个掩码中的每个掩码被应用到每个未分配输入字以生成对应多个模式。对于每个掩码,如果最频繁出现的模式存在于所述多个模式当中,那么与同所述掩码相关联的前缀相关联而存储所述最频繁出现的模式和每个未分配输入字的未压缩数据部分。所述前缀还被分配给对应于所述最频繁出现的模式的每个未分配输入字。生成经压缩输出块,所述经压缩输出块包括分配给所述多个输入字的前缀、与所述经分配前缀相关联的所述最频繁出现的模式以及对应于所述多个输入字中的一或多个输入字的未压缩数据部分。

Implementing efficient lossless compression of small data blocks in processor-based systems

Provides efficient lossless compression of small data blocks in processor-based systems. In one aspect, a method includes receiving multiple input words. Each mask in multiple masks is applied to each unassigned input word to generate corresponding multiple patterns. For each mask, if the most frequently occurring pattern exists in the plurality of patterns, the most frequently occurring pattern and the uncompressed data portion of each unallocated input word are stored in association with the prefix associated with the mask. The prefix is also assigned to each unassigned input word corresponding to the most frequently occurring pattern. A compressed output block is generated, which includes a prefix allocated to the plurality of input words, the most frequently occurring mode associated with the allocated prefix, and an uncompressed data portion corresponding to one or more input words of the plurality of input words.

【技术实现步骤摘要】
【国外来华专利技术】实现对基于处理器的系统中的小数据块的高效无损压缩优先权申请本申请要求2016年9月8日提交且标题为“实现对基于处理器的系统中的小数据块的高效无损压缩(PROVIDINGEFFICIENTLOSSLESSCOMPRESSIONFORSMALLDATABLOCKSINPROCESSOR-BASEDSYSTEMS)”的第15/259,686号美国专利申请的优先权,所述美国专利申请的内容以全文引用的方式并入本文中。
本公开技术大体上涉及无损压缩操作,以及具体地说,涉及实现对基于处理器的系统中的高速缓存线和其它相对小的存储器块的无损压缩。
技术介绍
无损数据压缩技术(即,允许从经压缩数据完美地重建原始数据的数据压缩技术)有潜力证明适用于解决各种计算机处理器性能和架构问题。作为非限制性实例,无损数据压缩可提供一种用于改进存储器带宽、增加有效存储器容量和/或减少末级高速缓存(LLC)大小的机构。为了实现这些益处,所实施的特定无损数据压缩机构应能够高效地压缩相对小的数据块,例如常规高速缓存线大小的数据块(例如,在一些方面中,128字节的数据块)。然而,例如ZIP压缩等大多数常规无损压缩方法被设计成对本文档来自技高网...

【技术保护点】
1.一种经压缩存储器控制器CMC,其包括:掩码表,其提供多个掩码和相关联多个前缀;模式识别电路,其被配置成:接收多个输入字;针对所述掩码表中的所述多个掩码中的每个掩码:将所述掩码应用到所述多个输入字中的每个未分配输入字以生成对应多个模式;确定最频繁出现的模式是否存在于所述多个模式当中;和响应于确定最频繁出现的模式存在于所述多个模式当中:将所述最频繁出现的模式和每个未分配输入字的未压缩数据部分与同所述掩码相关联的所述多个前缀中的前缀相关联而输出到输出生成电路;和将与所述掩码相关联的所述前缀分配给对应于所述最频繁出现的模式的每个未分配输入字;和将分配给所述多个输入字的多个经分配前缀输出到所述输出生...

【技术特征摘要】
【国外来华专利技术】2016.09.08 US 15/259,6861.一种经压缩存储器控制器CMC,其包括:掩码表,其提供多个掩码和相关联多个前缀;模式识别电路,其被配置成:接收多个输入字;针对所述掩码表中的所述多个掩码中的每个掩码:将所述掩码应用到所述多个输入字中的每个未分配输入字以生成对应多个模式;确定最频繁出现的模式是否存在于所述多个模式当中;和响应于确定最频繁出现的模式存在于所述多个模式当中:将所述最频繁出现的模式和每个未分配输入字的未压缩数据部分与同所述掩码相关联的所述多个前缀中的前缀相关联而输出到输出生成电路;和将与所述掩码相关联的所述前缀分配给对应于所述最频繁出现的模式的每个未分配输入字;和将分配给所述多个输入字的多个经分配前缀输出到所述输出生成电路;所述输出生成电路被配置成生成经压缩输出块,所述经压缩输出块包括:分配给所述多个输入字的所述多个经分配前缀;一或多个最频繁出现的模式,其各自与所述多个经分配前缀中的一个相关联;和所述多个输入字中的对应一或多个输入字的一或多个未压缩数据部分。2.根据权利要求1所述的CMC,其中所述模式识别电路被进一步配置成:确定所述多个输入字中的一或多个输入字的值是否为零(0);和响应于确定所述多个输入字中的一或多个输入字的值为零(0),将指示零(0)值的所述多个前缀中的前缀分配给所述多个输入字中值为零(0)的所述一或多个输入字中的每个输入字。3.根据权利要求1所述的CMC,其中所述模式识别电路被进一步配置成:确定一或多个未分配输入字是否存在于所述多个输入字内;和响应于确定一或多个未分配输入字存在于所述多个输入字内,将所述一或多个未分配输入字中的每个未分配输入字的值与指示未压缩输入字的所述多个前缀中的前缀相关联而输出到所述输出生成电路作为所述未分配输入字的未压缩数据部分。4.根据权利要求1所述的CMC,其中所述输出生成电路被配置成生成所述经压缩输出块,所述经压缩输出块进一步包括多个标志指示器,所述多个标志指示器对应于所述多个经分配前缀且各自指示所述经压缩输出块的所述一或多个最频繁出现的模式是否包含与所述多个经分配前缀中的对应经分配前缀相关联的最频繁出现的模式。5.根据权利要求1所述的CMC,其中所述输出生成电路被进一步配置成:确定所述经压缩输出块的大小是否小于指定阈值;响应于确定所述经压缩输出块的大小小于指定阈值,将所述经压缩输出块存储在存储器阵列中;和响应于确定所述经压缩输出块的大小不小于指定阈值,将所述多个输入字存储在所述存储器阵列中。6.根据权利要求1所述的CMC,其中所述掩码表的所述多个掩码中的连续掩码被配置成产生大小减小的模式。7.根据权利要求1所述的CMC,其中所述模式识别电路被配置成通过确定所述最频繁出现的模式在所述多个模式当中至少出现两次而确定所述最频繁出现的模式是否存在于所述多个模式当中。8.根据权利要求1所述的CMC,其中:所述多个前缀中的每一个包括三个(3)位;和所述模式识别电路被配置成通过接收32个输入字而接收所述多个输入字,所述32个输入字各自的大小为32位。9.根据权利要求1所述的CMC,其进一步包括解压缩电路,所述解压缩电路被配置成:接收经压缩输入块,所述经压缩输入块包括多个前缀,且针对表示非零输入字的所述多个前缀中的每个前缀,包括与所述前缀相关联的模式和未压缩数据部分;针对表示非零输入字的所述多个前缀中的每个前缀:基于所述前缀计算与所述对应未压缩数据部分的偏移;基于所述偏移检索所述对应未压缩数据部分;和基于对应于所述前缀的所述模式和所述对应未压缩数据部分生成经解压缩输出字;和生成包括一或多个经解压缩输出字的经解压缩输出块。10.根据权利要求1所述的CMC,其集成到集成电路IC中。11.根据权利要求1所述的CMC,其集成到选自由以下各项组成的群组的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;移动电话;蜂窝电话;智能电话;平板计算机;平板手机;服务器;计算机;便携式计算机;桌上型计算机;个人数字助理PDA;监视器;计算机监视器;电视机;调谐器;广播;卫星广播;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;和汽车。12.一种经压缩存储器控制器CMC,其包括:用于接收多个输入字的装置;用于针对多个掩码中的每个掩码将所述掩码应用到所述多个输入字中的每个未分配输入字以生成对应多个模式的装置;用于确定最频繁出现的模式是否存在于所述多个模式当中的装置;用于响应于确定最频繁出现的模式存在于所述多个模式当中与同所述掩码相关联的前缀相关联而存储所述最频繁出现的模式和每个未分配输入字的未压缩数据部分的装置;用于响应于确定最频繁出现的模式存在于所述多个模式当中而将与所述掩码相关联的所述前缀分配给对应于所述最频繁出现的模式的每个未分配输入字的装置;和用于生成经压缩输出块的装置,所述经压缩输出块包括:分配给所述多个输入字的多个经分配前缀;一或多个最频繁出现的模式,其各自与所述多个经分配前缀中的一个相关联;和所述多个输入字中的对应一或多个输入字的一或多个未压缩数据部分。13.一种用于实现对数据块的高效无损压缩的方法,其包括:接收多个输入字;针对多个掩码中的每个掩码:将所述掩码应用到所述多个输入字中的每个未分配输入字以生成对应多个模式;确定最频繁出现的模式是否存在于所述多个模式当中;和响应于确定最频繁出现的模式存在于所述多个模式当中:与同所述掩码相关联的前缀相关联而存储所述最频繁出现的模式和每个未分配输入字的未压缩数据部分;和将与所述掩码相关联的所述前缀分配给对应于所述最频繁出现的模式的每个未分配输入字;和生成经压缩输出块,所述经压缩输出块包括:分配给所述多个输入字的多个经分配前缀;一或多个最频繁出现的模式,其各自与所述多个经分配前缀中的一个相关联;和所述...

【专利技术属性】
技术研发人员:M·C·A·A·黑德斯P·W·小雷马克卢斯
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1