Managing memory fragmentation in hardware-assisted data compression

    公开(公告)号:US10474385B2

    公开(公告)日:2019-11-12

    申请号:US15394621

    申请日:2016-12-29

    Applicant: GOOGLE INC.

    Abstract: Systems, devices, and methods for managing fragmentation in hardware-assisted compression of data in physical computer memory which may result in reduced internal fragmentation. An example computer-implemented method comprises: providing, by a memory management program to compression hardware, a compression command including an address in physical computer memory of data to be compressed and a list of at least two available buffers for storing compressed data; using, by the compression hardware, the address included in the compression command to retrieve uncompressed data; compressing the uncompressed data; and selecting, by the compression hardware, from the list of at least two available buffers, at least two buffers for storing compressed data based on an amount of space that would remain if the compressed data were stored in the at least two buffers, wherein each of the at least two selected buffers differs in size from at least one other of the selected buffers.

    ASIC block for high bandwidth LZ77 decompression
    2.
    发明授权
    ASIC block for high bandwidth LZ77 decompression 有权
    ASIC块用于高带宽LZ77解压缩

    公开(公告)号:US09287893B1

    公开(公告)日:2016-03-15

    申请号:US14702420

    申请日:2015-05-01

    Applicant: GOOGLE INC.

    CPC classification number: H03M7/3086 G06F3/0641 H03M7/6005 H03M7/6029

    Abstract: Disclosed is an integrated circuit having a decompression block. The decompression block is configured as a pipeline that may include a length module and a distance module. The length module evaluates a length for each symbol. The distance module may resolve distances in an at least one length-distance pair. The length module may include a shifter stage configured to store two consecutive words, and control a sliding window of symbols, in order to extract literals or distances. The length module may include a mapper stage configured to map the literals or distances to positions in the output stream. The distance module may include a pointer replacement stage and a resolution stage. The pointer replacement stage configured to replace distances, represented as pointers within an output word, with either literals or other pointers to prior words. The resolution stage configured to replace the other pointers with literals, and output the literals.

    Abstract translation: 公开了具有减压块的集成电路。 解压块被配置为可以包括长度模块和距离模块的流水线。 长度模块评估每个符号的长度。 距离模块可以解析至少一个长度 - 距离对中的距离。 长度模块可以包括被配置为存储两个连续字的移位器级,并且控制符号的滑动窗口,以便提取文字或距离。 长度模块可以包括配置成将文字或距离映射到输出流中的位置的映射器级。 距离模块可以包括指针替换阶段和分辨率阶段。 指针替换阶段被配置为替换在输出字中指示的距离,其中使用文字或其他指向先前单词的指针。 分辨率阶段配置为用文字替换其他指针,并输出文字。

Patent Agency Ranking