WO2020232682A1 - 一种硬件并行压缩的系统及方法 - Google Patents

一种硬件并行压缩的系统及方法 Download PDF

Info

Publication number
WO2020232682A1
WO2020232682A1 PCT/CN2019/088032 CN2019088032W WO2020232682A1 WO 2020232682 A1 WO2020232682 A1 WO 2020232682A1 CN 2019088032 W CN2019088032 W CN 2019088032W WO 2020232682 A1 WO2020232682 A1 WO 2020232682A1
Authority
WO
WIPO (PCT)
Prior art keywords
compression
data
compressed
core
state
Prior art date
Application number
PCT/CN2019/088032
Other languages
English (en)
French (fr)
Inventor
蔡晔
罗浩鑫
Original Assignee
深圳大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳大学 filed Critical 深圳大学
Priority to PCT/CN2019/088032 priority Critical patent/WO2020232682A1/zh
Publication of WO2020232682A1 publication Critical patent/WO2020232682A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention relates to the technical field of data compression, in particular to a hardware parallel compression system and method.
  • the embodiment of the present invention provides a hardware parallel compression system and method, so as to realize multi-channel parallel compression of data and increase the data compression rate.
  • the first aspect of the present invention provides a hardware parallel compression system.
  • the system includes a cyclic redundancy check module, a data size recording module, a compression core scheduling module, and N compression cores.
  • a cyclic redundancy check module When the compressed data is compressed in parallel, every cycle Obtain M-bit data of the data to be compressed, and input the M-bit data into the system every cycle, where M and N are positive integers;
  • the cyclic redundancy check module is used to calculate the cyclic redundancy check code of the data to be compressed
  • the data size recording module is used to calculate the size of the data to be compressed
  • the compression core scheduling module is configured to detect the execution status of the N compression cores, and allocate the M-bit data to the N compression cores for compression according to the execution status of the N compression cores;
  • the N compression cores are used to compress the M-bit data, wherein the N compression cores compress in parallel.
  • the compressed core scheduling module specifically includes an input state machine module, an auxiliary state machine module, an output state machine module, and a compressed core state register module:
  • the input state machine module is configured to send the M-bit data to the first compression core, the cyclic redundancy check module and the data size recording module, and send the storage information of the first compression core to The auxiliary state machine module, wherein the first compression core belongs to the N compression cores;
  • the auxiliary state machine module is configured to convert the execution states of the N compression cores, and send the execution states of the N compression cores to the input state machine module and the output state machine module;
  • the output state machine module is used to detect whether the N compression cores have compressed data output, and if the second compression core has compressed data output, transmit the compressed data of the second compression core to Memory, sending a conversion instruction to the auxiliary state machine module, where the conversion instruction is used to instruct the auxiliary state machine module to switch the execution state of the second compression core, and the second compression core belongs to the N Compressed core
  • the compressed core state register module is used to store the execution state of the N compressed cores, and the compressed core state register module is scheduled by the auxiliary state machine module.
  • the execution state of each of the N compression cores includes a ready state, an input state, and a working state, so The execution state of the first compression core is an input state, the execution state of the second compression core is a working state, and the auxiliary state machine module is specifically configured to:
  • the compressed core scheduling module is also used for:
  • the cyclic redundancy check code of the data to be compressed and the size of the data to be compressed are spliced on the end of the compressed data and transmitted to the memory.
  • the i-th compressed core among the N compressed cores specifically includes:
  • Input buffer for storing data input to the i-th compression core
  • Output buffer used to store the data compressed by the i-th compression core
  • a compression module configured to compress the data input to the i-th compression core, and send the data compressed by the i-th compression core to the output buffer;
  • i is a positive integer not greater than N.
  • the second aspect of the present invention provides a hardware parallel compression method, including:
  • N is a positive integer
  • the M-bit data is allocated to the N compression cores for compression according to the execution status of the N compression cores, where the N compression cores compress in parallel.
  • the data is compressed through the cyclic redundancy check module, the data size recording module, the compression core scheduling module and N compression cores.
  • the compressed data is compressed in parallel .
  • the compression core scheduling module scheduling N compression cores to multi-channel parallel compression of the input M-bit data in each cycle, N compression cores have no data dependency, and multiple M-bit data can be processed in parallel in one cycle. Multi-channel parallel data compression is realized, and the data compression rate is improved.
  • Figure 1 is a schematic structural diagram of a hardware parallel compression system provided by an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a compression core scheduling module in a hardware parallel compression system provided by an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of any one of the N compression cores in a hardware parallel compression system provided by an embodiment of the present invention
  • FIG. 4 is a flowchart of a hardware parallel compression method provided by an embodiment of the present invention.
  • Fig. 5 is a flowchart of another hardware parallel compression method provided by an embodiment of the present invention.
  • the embodiment of the present invention provides a hardware parallel compression system and method, so as to realize multi-channel parallel compression of data and increase the data compression rate.
  • the hardware parallel compression system provided by the embodiment of the present invention can realize the Gzip hardware parallel compression function.
  • the data is compressed through the cyclic redundancy check module, the data size recording module, the compression core scheduling module and N compression checks.
  • the M bits of the data to be compressed are obtained every cycle, and the M bits of the data to be compressed are obtained every cycle.
  • Data input hardware parallel compression system in which the cyclic redundancy check code of the data to be compressed is generated by the cyclic redundancy check module to support the high-width cyclic redundancy check.
  • the compression format is the same as that of the software compression.
  • the compressed file is decompressed, and N compression cores are scheduled through the compression core scheduling module to perform multi-channel parallel compression of the M-bit data input in each cycle.
  • N compression cores There is no data dependency between the N compression cores, and multiple processing can be performed in parallel in one cycle.
  • One M-bit data realizes multi-channel parallel compression data, which improves the data compression rate.
  • the central processing unit can use the direct memory access module (DMA, Direct Memory Access) to transfer the data to be compressed in the memory to the programmable logic device (FPGA, Field Programmable Gate Array), and then the data can be compressed.
  • DMA Direct Memory Access
  • FPGA Field Programmable Gate Array
  • FIG. 1 is a schematic structural diagram of a hardware parallel compression system 100 provided by an embodiment of the present invention.
  • the hardware parallel compression system 100 provided by an embodiment of the present invention may include: a cyclic redundancy check module 101 , Data size recording module 102, compression core scheduling module 103, and N compression cores 104, where N is a positive integer;
  • the cyclic redundancy check module 101 is used to calculate the cyclic redundancy check code of the data to be compressed;
  • the data size recording module 102 is used to calculate the size of the data to be compressed
  • the compression core scheduling module 103 is configured to detect the execution status of the N compression cores 104, and allocate the input M-bit data to the N compression cores 104 for compression according to the execution status of the N compression cores 104;
  • N compression cores 104 are used to compress the input M-bit data, where the N compression cores 104 compress in parallel.
  • the cyclic redundancy check module 101 is specifically used to calculate the cyclic redundancy check code of the M-bit data input in each period when M-bit data is input into the system every period, that is, to calculate the M-bit input in the current period.
  • the data to be compressed ends, the data to be compressed is obtained The cyclic redundancy check code.
  • M can be 128.
  • the 32-bit cyclic redundancy check code of the 128-bit data is calculated, that is, the 128-bit data input in the current cycle and the cyclic redundancy check are calculated
  • the 32 bits of the data to be compressed are obtained Cyclic redundancy check code.
  • the data size recording module 102 is specifically configured to record the size of the M-bit data when the M-bit data is input into the system every cycle, and when the input of the data to be compressed is finished, the data size input per cycle is recorded, namely Get the size of the data to be compressed.
  • M is 128, 128-bit data is input into the system every cycle, that is, 16 8-bit characters are input into the system every cycle.
  • the data size recording module 102 counts up by 16 until it is compressed After all the data is entered, 32-bit data representing the size of the data to be compressed is obtained.
  • the execution state of any one of the N compression cores 104 includes a ready state, an input state, and a working state.
  • the compression core scheduling module 103 is specifically configured to detect the execution state of the N compression cores 104 in real time, and input M-bit data is stored in the input buffer of the compression core in the input state, and it is judged whether the input buffer of the compression core in the input state is full. If it is full, the execution state of the compression core in the input state is converted to the working state. , Compress the input M-bit data;
  • the compression core scheduling module 103 is also used to detect in real time whether the compression core in the working state has compressed data, and if the compression core in the working state has compressed data, compress the compressed core in the working state.
  • the compressed data in the core is transferred to the memory, and the execution state of the compressed core in the working state is converted to the ready state;
  • the compression core scheduling module 103 is also used to obtain the cyclic redundancy check code of the data to be compressed from the cyclic redundancy check module 101 when the compression of the data to be compressed is completed, and from the data size recording module 102 The size of the data to be compressed is obtained, and the cyclic redundancy check code of the data to be compressed and the size of the data to be compressed are spliced at the end of the compressed data and transmitted back to the memory.
  • the compression core scheduling module 103 allocates the work to each compression core for parallel compression, and the i-th compression core (i Is a positive integer not greater than N) is specifically used to compress the M-bit data passed into the i-th compression core, and when the i-th compression core is in working state, read from the input buffer of the i-th compression core Take M-bit data for hardware compression, store the compressed data in the output buffer of the i-th compression core, and notify the compression core scheduling module 103 to read the output buffer when all the M-bit data in the input buffer is compressed. Compressed data.
  • FIG. 2 is a schematic structural diagram of a compression core scheduling module 200 in a hardware parallel compression system provided by an embodiment of the present invention.
  • the compression core scheduling module 200 provided in an embodiment of the present invention may include: an input state machine module 201.
  • the input state machine module 201 is used to send the input M-bit data to the first compression core, the cyclic redundancy check module and the data size recording module, and send the storage information of the first compression core to the auxiliary state machine module 202 , Where the first compressed core belongs to N compressed cores;
  • the auxiliary state machine module 202 is used to convert the execution states of the N compression cores, and send the execution states of the N compression cores to the input state machine module 201 and the output state machine module 203;
  • the output state machine module 203 is used to detect whether the N compression cores have compressed data output, if the second compression core has compressed data output, then the second compression core compressed data is transferred to the memory, and the conversion instruction is sent To the auxiliary state machine module 202, where the conversion instruction is used to instruct the auxiliary state machine module 202 to convert the execution state of the second compression core, and the second compression core belongs to N compression cores;
  • the compressed core state registering module 204 is used to store the execution states of the N compressed cores, and the compressed core state registering module 204 is scheduled by the auxiliary state machine module 202.
  • the execution state of any one of the N compression cores includes the ready state, the input state, and the working state.
  • the compression core in the input state indicates that the compression core is currently receiving data and stored in the input buffer of the compression core
  • the compression core in the working state indicates that the compression core is currently performing data compression work and is in preparation
  • the state of the compression core indicates that the compression core is not performing data compression and is waiting to be converted to the input state in order to receive data.
  • the execution state of the first compression core is the input state
  • the execution state of the second compression core is the working state
  • the auxiliary state machine module 202 is specifically used for:
  • the input state machine module 201 and the output state machine module 203 work at the same time and do not interfere with each other.
  • the compression core state register module 204 is specifically used to store the execution states of N compression cores in real time, and the auxiliary state machine module 202 first reads the execution states of the N compression cores from the compression core state register module 204 each time. After calculating the current cycle information with the auxiliary state machine module 202, the updated execution state information of the N compressed cores is refreshed and stored back to the compressed core state register module 204.
  • FIG. 3 is a schematic structural diagram of the i-th compression core 300 among the N compression cores in a hardware parallel compression system provided by an embodiment of the present invention.
  • the i compression cores 300 may include: an input buffer 301, an output buffer 302, and a compression module 303;
  • i is a positive integer not greater than N;
  • the input buffer 301 is used to store the data input to the i-th compression core 300;
  • the output buffer 302 is used to store the data compressed by the i-th compression core 300;
  • the compression module 303 is configured to compress the data input to the i-th compression core 300, and send the compressed data of the i-th compression core 300 to the output buffer 302;
  • the compression module 303 is specifically used to compress the M-bit data passed into the i-th compression core 300.
  • the compression core scheduling module is notified to read the compressed data in the output buffer 302.
  • FIG. 4 is a flowchart of a hardware parallel compression method according to an embodiment of the present invention.
  • a hardware parallel compression method provided by an embodiment of the present invention may include:
  • the method for calculating the cyclic redundancy check code of the data to be compressed may be:
  • M can be 128.
  • the 32-bit cyclic redundancy check code of the 128-bit data input in each cycle is calculated, that is, the 128-bit data input in the current cycle and the previous The logical relationship of the 32-bit cyclic redundancy check code calculated in one cycle to obtain the 32-bit cyclic redundancy check code of the current cycle.
  • the 32-bit cyclic redundancy of the data to be compressed is obtained Check code.
  • the method for calculating the size of the data to be compressed may be:
  • the size of the M-bit data is recorded.
  • the size of the data to be compressed is obtained through the data size input in each cycle of recording.
  • M is 128, 128-bit data is compressed every cycle, that is, 16 8-bit characters are compressed every cycle.
  • 128-bit data is valid, the count is increased by 16, until all the data to be compressed is input.
  • the execution state of any compression core of the N compression cores includes the ready state, the input state and the working state. In the hardware parallel compression system, only one compression core is in each work cycle. In the input state, there can be multiple compression cores in the working state or in the ready state.
  • the compression core in the input state indicates that the compression core is currently receiving data and stores it in the input buffer of the compression core, and the compression core in the working state indicates the compression core Data compression is currently in progress.
  • the compression core in the ready state indicates that the compression core is not performing data compression and is waiting to be converted to the input state in order to receive data.
  • the execution state of each compression core in the N compression cores includes a ready state, an input state, and a working state.
  • the M-bit data is allocated to the N compression cores for compression.
  • the execution state of the first compression core is converted to the working state to compress the M-bit data.
  • the second compression core has compressed data output, the data compressed by the second compression core is transferred to the memory, where the second compression core is in a working state, and the second compression core belongs to N compression cores;
  • a third compression core in a ready state is obtained, and the execution state of the third compression core is converted to an input state, where the third compression core belongs to N compression cores.
  • the cyclic redundancy check code of the data to be compressed is obtained
  • the cyclic redundancy check code of the data to be compressed and the size of the data to be compressed are spliced at the end of the compressed data and transmitted to the memory.
  • FIG. 5 is a flowchart of another hardware parallel compression method provided by an embodiment of the present invention.
  • another hardware parallel compression method provided by an embodiment of the present invention may include:
  • step 502. Determine whether the input buffer in the compression core currently in the input state is full, if yes, go to step 503, and if not, go to step 504.
  • step 505. Determine whether the input of the data to be compressed is finished, if yes, go to step 506, if not, go to step 501.
  • step 506. Determine whether the compression core in the working state sends the compressed data in the output buffer to the compression core scheduling module, if yes, go to step 507, and if not, go to step 505.
  • step 506 Determine whether there is a compression core in a working state, if yes, go to step 506, if not, go to an end state.
  • the data to be compressed is obtained from the memory, and after the data to be compressed is transmitted to a programmable logic device (FPGA, Field Programmable Gate Array), M bits are first obtained from the data to be compressed Input the compression core scheduling module.
  • the compression core scheduling module detects the compression core currently in the input state and sends M-bit data to the compression core in the input state until the input buffer in the compression core in the input state is full of data, Change the execution state of the compression core to the working state and start the compression work. At this time, the compression core scheduling module obtains the next compression core in the ready state and changes the execution state of the compression core to the input state.
  • the input data is distributed and compressed through the compression core scheduling module.
  • Each compression core can obtain a certain amount of data for compression. There is no data dependency between the compression cores, and the effect of parallel compression of data can be achieved. Compare software compression and compression rate substantial improvement.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种硬件并行压缩的系统及方法。一种硬件并行压缩的系统包括循环冗余校验模块、数据大小记录模块、压缩核调度模块和N个压缩核,对待压缩数据进行并行压缩时,每周期获取待压缩数据的M比特数据,每周期将M比特数据输入系统,其中,M、N为正整数;循环冗余校验模块,用于计算待压缩数据的循环冗余校验码;数据大小记录模块,用于计算待压缩数据的大小;压缩核调度模块,用于检测N个压缩核的执行状态,根据N个压缩核的执行状态将M比特数据分配到N个压缩核中进行压缩;N个压缩核,用于压缩M比特数据,其中,N个压缩核并行压缩。本发明实施例的技术方案,实现了多路并行压缩数据,提升了数据压缩的速率。

Description

一种硬件并行压缩的系统及方法 技术领域
本发明涉及数据压缩技术领域,尤其涉及一种硬件并行压缩的系统及方法。
背景技术
随着大数据和人工智能不断发展,互联网上需要处理的数据规模越来越大,庞大的数据量会占用大量的磁盘资源,为了减少数据存储,避免数据占用过多存储资源,通常会对数据进行压缩,再进行存储。
目前的数据压缩通常采用软件实现Gzip压缩算法,但会占用中央处理器(CPU,Central Processing Unit)大量的时间以及大量的内存资源,并且,由于采用Gzip算法压缩数据时,对前面的数据有依赖关系,所以现在大多采用单路压缩方式进行数据压缩,即每个周期最多只能处理一个字符,这样,数据压缩的速率较低。
发明内容
本发明实施例提供硬件并行压缩的系统及方法,以实现多路并行压缩数据,提升数据压缩的速率。
本发明第一方面提供一种硬件并行压缩的系统,所述系统包括循环冗佘校验模块、数据大小记录模块、压缩核调度模块和N个压缩核,对待压缩数据进行并行压缩时,每周期获取所述待压缩数据的M比特数据,每周期将所述M比特数据输入所述系统,其中,M、N为正整数;
所述循环冗佘校验模块,用于计算所述待压缩数据的循环冗佘校验码;
所述数据大小记录模块,用于计算所述待压缩数据的大小;
所述压缩核调度模块,用于检测所述N个压缩核的执行状态,根据所述N个压缩核的执行状态将所述M比特数据分配到所述N个压缩核中进行压缩;
所述N个压缩核,用于压缩所述M比特数据,其中,所述N个压缩核并行压缩。
基于本发明第一方面,在第一种可能的实施方式中,所述压缩核调度模块具体包括输入状态机模块、辅助状态机模块、输出状态机模块和压缩核状态寄存模块:
所述输入状态机模块,用于将所述M比特数据发送给第一压缩核、所述循环 冗佘校验模块和所述数据大小记录模块,将所述第一压缩核的存储信息发给所述辅助状态机模块,其中,所述第一压缩核属于所述N个压缩核;
所述辅助状态机模块,用于转换所述N个压缩核的执行状态,将所述N个压缩核的执行状态发给所述输入状态机模块和所述输出状态机模块;
所述输出状态机模块,用于检测所述N个压缩核是否有压缩完成的数据输出,如果第二压缩核有压缩完成的数据输出,则将所述第二压缩核压缩完成的数据传输到内存,发送转换指令给所述辅助状态机模块,其中,所述转换指令用于指示所述辅助状态机模块转换所述第二压缩核的执行状态,所述第二压缩核属于所述N个压缩核;
所述压缩核状态寄存模块,用于存储所述N个压缩核的执行状态,所述压缩核状态寄存模块由所述辅助状态机模块调度。
基于本发明第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述N个压缩核中每个压缩核的执行状态包括准备状态、输入状态和工作状态,所述第一压缩核的执行状态为输入状态,所述第二压缩核的执行状态为工作状态,所述辅助状态机模块具体用于:
根据所述第一压缩核的存储信息判断所述第一压缩核的输入缓存是否存满,如果存满,将所述第一压缩核的执行状态转换为工作状态;
接受到所述转换指令时,将所述第二压缩核的执行状态转换为准备状态;
获取处于准备状态的第三压缩核,将所述第三压缩核的执行状态转换为输入状态,其中,所述第三压缩核属于所述N个压缩核。
基于本发明第一方面、或者基于本发明第一方面的第一种可能的实施方式、或者基于本发明第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述压缩核调度模块还用于:
当所述待压缩数据压缩完成时,从所述循环冗佘校验模块中获取所述待压缩数据的循环冗佘校验码;
从所述数据大小记录模块中获取所述待压缩数据的大小;
将所述待压缩数据的循环冗佘校验码和所述待压缩数据的大小拼接在压缩完成的数据尾部,传输到内存。
基于本发明第一方面,在第四种可能的实施方式中,所述N个压缩核中的第i个压缩核具体包括:
输入缓存,用于存储输入所述第i个压缩核的数据;
输出缓存,用于存储所述第i个压缩核压缩完成的数据;
压缩模块,用于对输入所述第i个压缩核的数据进行压缩,将所述第i个压缩核压缩完成的数据发送给所述输出缓存;
其中,i为不大于N的正整数。
本发明第二方面提供了一种硬件并行压缩的方法,包括:
对待压缩数据进行并行压缩时,每周期获取所述待压缩数据的M比特数据,其中,M为正整数;
计算所述待压缩数据的循环冗佘校验码;
计算所述待压缩数据的大小;
检测N个压缩核的执行状态,其中,N为正整数;
根据所述N个压缩核的执行状态将所述M比特数据分配到所述N个压缩核中进行压缩,其中,所述N个压缩核并行压缩。
可以看到,通过本发明提供的硬件并行压缩的系统及方法,通过循环冗佘校验模块、数据大小记录模块、压缩核调度模块和N个压缩核对数据进行压缩,对待压缩数据进行并行压缩时,每周期获取待压缩数据的M比特数据,每周期将M比特数据输入硬件并行压缩系统,其中,通过循环冗佘校验模块生成待压缩数据的循环冗佘校验码,以支持高位宽的循环冗佘校验,通过压缩核调度模块调度N个压缩核对每周期输入的M比特数据进行多路并行压缩,N个压缩核没有数据依赖关系,一个周期内可以并行处理多个M比特数据,实现了多路并行压缩数据,提升了数据压缩的速率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种硬件并行压缩的系统的结构示意图;
图2为本发明实施例提供的一种硬件并行压缩的系统中压缩核调度模块的结构示意图;
图3为本发明实施例提供的一种硬件并行压缩的系统中N个压缩核中的任意一个压缩核的结构示意图;
图4为本发明实施例提供的一种硬件并行压缩的方法的流程图;
图5为本发明实施例提供的另一种硬件并行压缩的方法的流程图。
具体实施方式
本发明实施例提供硬件并行压缩的系统及方法,以实现多路并行压缩数据,提升数据压缩的速率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″、″第四″等是用于区别不同对象,而不是用于描述特定顺序。此外,术语″包括″和″具有″以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的硬件并行压缩的系统,可实现Gzip硬件并行压缩功能。通过循环冗佘校验模块、数据大小记录模块、压缩核调度模块和N个压缩核对数据进行压缩,对待压缩数据进行并行压缩时,每周期获取待压缩数据的M比特数据,每周期将M比特数据输入硬件并行压缩系统,其中,通过循环冗佘校验模块生成待压缩数据的循环冗佘校验码,以支持高位宽的循环冗佘校验,压缩格式与软件压缩相同,支持软件对已经压缩完成的文件进行解压缩操作,通过压缩核调度模块调度N个压缩核对每周期输入的M比特数据进行多路并行压缩,N个压缩核之间没有数据依赖关系,一个周期内可以并行处理多个M比特数据,实现了多路并行压缩数据,提升了数据压缩的速率。同时,在压缩过程中,中央处理器可以利用直接存储器访问模块(DMA,Direct Memory Access)将内存上的待压缩数据传输到可编程逻辑器件(FPGA,Field Programmable Gate Array),即可进行数据压缩,无需中央处理器进行计算,减少了占用中央处理器的时间和内存资源。
首先参见图1,图1为本发明实施例提供的一种硬件并行压缩的系统100的结构示意图,本发明实施例提供的一种硬件并行压缩的系统100可以包括:循环冗佘校验模块101、数据大小记录模块102、压缩核调度模块103和N个压缩核104,N为正整数;
对待压缩数据进行并行压缩时,每周期获取所述待压缩数据的M比特数据,每周期将所述M比特数据输入所述系统,M为正整数;
其中,循环冗佘校验模块101,用于计算待压缩数据的循环冗佘校验码;
数据大小记录模块102,用于计算待压缩数据的大小;
压缩核调度模块103,用于检测N个压缩核104的执行状态,根据N个压缩核104的执行状态将输入的M比特数据分配到N个压缩核104中进行压缩;
N个压缩核104,用于压缩输入的M比特数据,其中,N个压缩核104并行压缩。
可选的,循环冗佘校验模块101具体用于,每周期将M比特数据输入系统时,计算每周期输入的M比特数据的循环冗佘校验码,即,计算当前周期输入的M比特数据与循环冗佘校验模块101前一周期计算得到的循环冗佘校验码的逻辑关系,以得到当前周期的循环冗佘校验码,当待压缩数据输入结束时,即得到待压缩数据的循环冗佘校验码。
进一步可选的,M可以为128,每周期将128比特数据输入系统时,计算128比特数据的32比特循环冗佘校验码,即,计算当前周期输入的128比特数据与循环冗佘校验模块101前一周期计算得到的32比特循环冗佘校验码的逻辑关系,以得到当前周期的32比特循环冗佘校验码,当待压缩数据输入结束时,即得到待压缩数据的32比特循环冗佘校验码。
可选的,数据大小记录模块102具体用于,当每周期将M比特数据输入系统时,记录M比特数据的大小,当待压缩数据输入结束时,通过记录的每周期输入的数据大小,即得到待压缩数据的大小。
进一步可选的,M为128时,每周期将128比特数据输入系统,即每周期将16个8比特字符输入系统,当128比特数据有效时,数据大小记录模块102计数加16,直到待压缩数据全部输入结束,得到表示待压缩数据的大小的32比特数据。
可选的,N个压缩核104中任意一个压缩核的执行状态包括准备状态、输入状态和工作状态,压缩核调度模块103具体用于,实时检测N个压缩核104 的执行状态,将输入的M比特数据存入处于输入状态的压缩核的输入缓存,判断该处于输入状态的压缩核的输入缓存是否存满,如果存满,则将该处于输入状态的压缩核的执行状态转换为工作状态,对输入的M比特数据进行压缩;
进一步可选的,压缩核调度模块103还用于,实时检测处于工作状态的压缩核是否有压缩完成的数据,如果处于工作状态的压缩核有压缩完成的数据,则将该处于工作状态的压缩核中压缩完成的数据传输到内存,将该处于工作状态的压缩核的执行状态转换为准备状态;
进一步可选的,压缩核调度模块103还用于,当待压缩数据压缩完成时,从循环冗佘校验模块101中获取待压缩数据的循环冗佘校验码,从数据大小记录模块102中获取待压缩数据的大小,将待压缩数据的循环冗佘校验码和待压缩数据的大小拼接在压缩完成的数据尾部,传输回内存。
可选的,N个压缩核104中,各个压缩核之间没有数据依赖关系,由压缩核调度模块103对各个压缩核分配工作并行压缩,N个压缩核104中的第i个压缩核(i为不大于N的正整数)具体用于,压缩传入该第i个压缩核的M比特数据,当该第i个压缩核处于工作状态时,从该第i个压缩核的输入缓存中读取M比特数据进行硬件压缩处理,将压缩完成的数据存入该第i个压缩核的输出缓存,当输入缓存中的M比特数据全部压缩完成时,通知压缩核调度模块103读取输出缓存中压缩完成的数据。
参见图2,图2为本发明实施例提供的一种硬件并行压缩的系统中压缩核调度模块200的结构示意图,本发明实施例提供的一种压缩核调度模块200可以包括:输入状态机模块201、辅助状态机模块202、输出状态机模块203和压缩核状态寄存模块204;
其中,输入状态机模块201,用于将输入的M比特数据发送给第一压缩核、循环冗佘校验模块和数据大小记录模块,将第一压缩核的存储信息发给辅助状态机模块202,其中,第一压缩核属于N个压缩核;
辅助状态机模块202,用于转换N个压缩核的执行状态,将N个压缩核的执行状态发给输入状态机模块201和输出状态机模块203;
输出状态机模块203,用于检测N个压缩核是否有压缩完成的数据输出,如果第二压缩核有压缩完成的数据输出,则将第二压缩核压缩完成的数据传输到内存,发送转换指令给辅助状态机模块202,其中,转换指令用于指示辅助状态机模块202转换第二压缩核的执行状态,第二压缩核属于N个压缩核;
压缩核状态寄存模块204,用于存储N个压缩核的执行状态,压缩核状态寄存模块204由辅助状态机模块202调度。
可选的,N个压缩核中任意一个压缩核的执行状态包括准备状态、输入状态和工作状态,硬件并行压缩系统中,每个工作周期只有一个压缩核处于输入状态,可以有多个压缩核处于工作状态或者准备状态,处于输入状态的压缩核表示该压缩核目前在接收数据并存入该压缩核的输入缓存,处于工作状态的压缩核表示该压缩核目前正在进行数据压缩工作,处于准备状态的压缩核表示该压缩核没有执行数据压缩工作,正在等待转换成输入状态以便接收数据。
进一步可选的,第一压缩核的执行状态为输入状态,第二压缩核的执行状态为工作状态,辅助状态机模块202具体用于:
根据第一压缩核的存储信息判断第一压缩核的输入缓存是否存满,如果存满,将第一压缩核的执行状态转换为工作状态;
接受到转换指令时,将第二压缩核的执行状态转换为准备状态;
获取处于准备状态的第三压缩核,将第三压缩核的执行状态转换为输入状态,其中,第三压缩核属于N个压缩核。
可选的,输入状态机模块201与输出状态机模块203同时进行工作,互不干扰。
可选的,压缩核状态寄存模块204具体用于,实时存储N个压缩核的执行状态,辅助状态机模块202每次先从压缩核状态寄存模块204中读取N个压缩核的执行状态,与辅助状态机模块202当前周期的信息计算后,将更新的N个压缩核的执行状态信息刷新存储回压缩核状态寄存模块204。
参见图3,图3为本发明实施例提供的一种硬件并行压缩的系统中N个压缩核中的第i个压缩核300的结构示意图,本发明实施例提供的N个压缩核中的第i个压缩核300可以包括:输入缓存301、输出缓存302和压缩模块303;
其中,i为不大于N的正整数;
输入缓存301,用于存储输入第i个压缩核300的数据;
输出缓存302,用于存储第i个压缩核300压缩完成的数据;
压缩模块303,用于对输入第i个压缩核300的数据进行压缩,将第i个压缩核300压缩完成的数据发送给输出缓存302;
其中,N个压缩核之间没有数据依赖关系,由压缩核调度模块对各个压缩核分配工作并行压缩,压缩模块303具体用于,压缩传入第i个压缩核300的M 比特数据,当第i个压缩核300处于工作状态时,从第i个压缩核300的输入缓存301中读取M比特数据进行硬件压缩处理,将压缩完成的数据存入第i个压缩核300的输出缓存302,当输入缓存301中的M比特数据全部压缩完成时,通知压缩核调度模块读取输出缓存302中压缩完成的数据。
参见图4,图4为本发明实施例提供的一种硬件并行压缩的方法的流程图。其中,如图4所示,本发明实施例提供的一种硬件并行压缩的方法可以包括:
401、对待压缩数据进行并行压缩时每周期获取待压缩数据的M比特数据,其中,M为正整数。
402、计算待压缩数据的循环冗佘校验码。
可选的,计算待压缩数据的循环冗佘校验码的方法可以是:
每周期对M比特数据进行压缩时,计算每周期输入的M比特数据的循环冗佘校验码,即,计算当前周期输入的M比特数据与前一周期计算得到的循环冗佘校验码的逻辑关系,以得到当前周期的循环冗佘校验码,当待压缩数据输入结束时,即得到待压缩数据的循环冗佘校验码。
进一步可选的,M可以为128,每周期对128比特数据进行压缩时,计算每周期输入的128比特数据的32比特循环冗佘校验码,即,计算当前周期输入的128比特数据与前一周期计算得到的32比特循环冗佘校验码的逻辑关系,以得到当前周期的32比特循环冗佘校验码,当待压缩数据输入结束时,即得到待压缩数据的32比特循环冗佘校验码。
403、计算待压缩数据的大小。
可选的,计算待压缩数据的大小的方法可以是:
当每周期对M比特数据进行压缩时,记录M比特数据的大小,当待压缩数据输入结束时,通过记录的每周期输入的数据大小,即得到待压缩数据的大小。
进一步可选的,M为128时,每周期对128比特数据进行压缩,即每周期对16个8比特字符进行压缩,当128比特数据有效时,计数加16,直到待压缩数据全部输入结束,得到表示待压缩数据的大小的32比特数据。
404、检测N个压缩核的执行状态,其中,N为正整数。
其中,N个压缩核之间没有数据依赖关系,N个压缩核中任意一个压缩核的执行状态包括准备状态、输入状态和工作状态,硬件并行压缩系统中,每个工作周期只有一个压缩核处于输入状态,可以有多个压缩核处于工作状态或者准备状态,处于输入状态的压缩核表示该压缩核目前在接收数据并存入该压缩 核的输入缓存,处于工作状态的压缩核表示该压缩核目前正在进行数据压缩工作,处于准备状态的压缩核表示该压缩核没有执行数据压缩工作,正在等待转换成输入状态以便接收数据。
405、根据N个压缩核的执行状态将M比特数据分配到N个压缩核中进行压缩,其中,N个压缩核并行压缩。
可选的,N个压缩核中每个压缩核的执行状态包括准备状态、输入状态和工作状态,根据N个压缩核的执行状态将M比特数据分配到N个压缩核中进行压缩的方法可以是:
将M比特数据发送给第一压缩核,其中,第一压缩核处于输入状态,第一压缩核属于N个压缩核;
判断第一压缩核的输入缓存是否存满;
如果存满,将第一压缩核的执行状态转换为工作状态,以对M比特数据进行压缩。
进一步可选的,检测N个压缩核是否有压缩完成的数据输出;
如果第二压缩核有压缩完成的数据输出,则将第二压缩核压缩完成的数据传输到内存,其中,第二压缩核处于工作状态,第二压缩核属于N个压缩核;
将第二压缩核的执行状态转换为准备状态。
进一步可选的,获取处于准备状态的第三压缩核,将第三压缩核的执行状态转换为输入状态,其中,第三压缩核属于N个压缩核。
进一步可选的,当待压缩数据压缩完成时,获取待压缩数据的循环冗佘校验码;
获取待压缩数据的大小;
将待压缩数据的循环冗佘校验码和待压缩数据的大小拼接在压缩完成的数据尾部,传输到内存。
参见图5,图5为本发明实施例提供的另一种硬件并行压缩的方法的流程图。其中,如图5所示,本发明实施例提供的另一种硬件并行压缩的方法可以包括:
501、获取M比特数据输入压缩核调度模块。
502、判断当前处于输入状态的压缩核中输入缓存是否存满,如果是,则进入步骤503,如果否,则进入步骤504。
503、将当前处于输入状态的压缩核的执行状态转换为工作状态,获取下一个处于准备状态的压缩核,将处于准备状态的压缩核的执行状态转换为输入状 态。
504、将M比特数据发送给当前处于输入状态的压缩核、循环冗佘校验模块和数据大小记录模块。
505、判断待压缩数据是否输入结束,如果是,则进入步骤506,如果否,则进入步骤501。
506、判断处于工作状态的压缩核是否将输出缓存中压缩完成的数据发送给压缩核调度模块,如果是,则进入步骤507,如果否,则进入步骤505。
507、将已经把输出缓存中压缩完成的数据发送完毕的压缩核的执行状态转换为准备状态。
508、判断是否还有处于工作状态的压缩核,如果是,则进入步骤506,如果否,则进入结束状态。
本发明实施例提供的硬件并行压缩的方法中,从内存中获取待压缩数据,将待压缩数据传输到可编程逻辑器件(FPGA,Field Programmable Gate Array)后,先从待压缩数据中获取M比特输入压缩核调度模块,压缩核调度模块检测到当前处于输入状态的压缩核,将M比特数据发送给该处于输入状态的压缩核,直到处于输入状态的压缩核中的输入缓存存满数据后,将该压缩核的执行状态更改为工作状态,启动压缩工作,此时压缩核调度模块获取下一个处于准备状态的压缩核并将该压缩核的执行状态更改为输入状态。通过压缩核调度模块对输入数据进行分配压缩,每个压缩核可以获取一定数量的数据进行压缩工作,压缩核彼此之间没有数据依赖关系,可以实现并行压缩数据的效果,对比软件压缩,压缩速率大幅度提高。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技 术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

  1. 一种硬件并行压缩的系统,其特征在于,所述系统包括循环冗余校验模块、数据大小记录模块、压缩核调度模块和N个压缩核,对待压缩数据进行并行压缩时,每周期获取所述待压缩数据的M比特数据,每周期将所述M比特数据输入所述系统,其中,M、N为正整数;
    所述循环冗余校验模块,用于计算所述待压缩数据的循环冗余校验码;
    所述数据大小记录模块,用于计算所述待压缩数据的大小;
    所述压缩核调度模块,用于检测所述N个压缩核的执行状态,根据所述N个压缩核的执行状态将所述M比特数据分配到所述N个压缩核中进行压缩;
    所述N个压缩核,用于压缩所述M比特数据,其中,所述N个压缩核并行压缩。
  2. 根据权利要求1所述的系统,其特征在于,所述压缩核调度模块具体包括输入状态机模块、辅助状态机模块、输出状态机模块和压缩核状态寄存模块:
    所述输入状态机模块,用于将所述M比特数据发送给第一压缩核、所述循环冗余校验模块和所述数据大小记录模块,将所述第一压缩核的存储信息发给所述辅助状态机模块,其中,所述第一压缩核属于所述N个压缩核;
    所述辅助状态机模块,用于转换所述N个压缩核的执行状态,将所述N个压缩核的执行状态发给所述输入状态机模块和所述输出状态机模块;
    所述输出状态机模块,用于检测所述N个压缩核是否有压缩完成的数据输出,如果第二压缩核有压缩完成的数据输出,则将所述第二压缩核压缩完成的数据传输到内存,发送转换指令给所述辅助状态机模块,其中,所述转换指令用于指示所述辅助状态机模块转换所述第二压缩核的执行状态,所述第二压缩核属于所述N个压缩核;
    所述压缩核状态寄存模块,用于存储所述N个压缩核的执行状态,所述压缩核状态寄存模块由所述辅助状态机模块调度。
  3. 根据权利要求2所述的系统,其特征在于,所述N个压缩核中每个压缩核的执行状态包括准备状态、输入状态和工作状态,所述第一压缩核的执行状态为输入状态,所述第二压缩核的执行状态为工作状态,所述辅助状态机模块具体用于:
    根据所述第一压缩核的存储信息判断所述第一压缩核的输入缓存是否存满,如果存满,将所述第一压缩核的执行状态转换为工作状态;
    接受到所述转换指令时,将所述第二压缩核的执行状态转换为准备状态;
    获取处于准备状态的第三压缩核,将所述第三压缩核的执行状态转换为输入状态,其中,所述第三压缩核属于所述N个压缩核。
  4. 根据权利要求1至3任一项所述的系统,其特征在于,所述压缩核调度模块还用于:
    当所述待压缩数据压缩完成时,从所述循环冗余校验模块中获取所述待压缩数据的循环冗余校验码;
    从所述数据大小记录模块中获取所述待压缩数据的大小;
    将所述待压缩数据的循环冗余校验码和所述待压缩数据的大小拼接在压缩完成的数据尾部,传输到内存。
  5. 根据权利要求1所述的系统,其特征在于,所述N个压缩核中的第i个压缩核具体包括:
    输入缓存,用于存储输入所述第i个压缩核的数据;
    输出缓存,用于存储所述第i个压缩核压缩完成的数据;
    压缩模块,用于对输入所述第i个压缩核的数据进行压缩,将所述第i个压缩核压缩完成的数据发送给所述输出缓存;
    其中,i为不大于N的正整数。
  6. 一种硬件并行压缩的方法,其特征在于,包括:
    对待压缩数据进行并行压缩时,每周期获取所述待压缩数据的M比特数据,其中,M为正整数;
    计算所述待压缩数据的循环冗余校验码;
    计算所述待压缩数据的大小;
    检测N个压缩核的执行状态,其中,N为正整数;
    根据所述N个压缩核的执行状态将所述M比特数据分配到所述N个压缩核中进行压缩,其中,所述N个压缩核并行压缩。
  7. 根据权利要求6所述的方法,其特征在于,所述N个压缩核中每个压缩核的执行状态包括准备状态、输入状态和工作状态,所述根据所述N个压缩核的执行状态将所述M比特数据分配到所述N个压缩核中进行压缩包括:
    将所述M比特数据发送给第一压缩核,其中,所述第一压缩核处于输入状态,所述第一压缩核属于所述N个压缩核;
    判断所述第一压缩核的输入缓存是否存满;
    如果存满,将所述第一压缩核的执行状态转换为工作状态,以对所述M比特数据进行压缩。
  8. 根据权利要求7所述的方法,其特征在于,还包括:
    检测所述N个压缩核是否有压缩完成的数据输出;
    如果第二压缩核有压缩完成的数据输出,则将所述第二压缩核压缩完成的数据传输到内存,其中,所述第二压缩核处于工作状态,所述第二压缩核属于所述N个压缩核;
    将所述第二压缩核的执行状态转换为准备状态。
  9. 根据权利要求8所述的方法,其特征在于,还包括:
    获取处于准备状态的第三压缩核,将所述第三压缩核的执行状态转换为输入状态,其中,所述第三压缩核属于所述N个压缩核。
  10. 根据权利要求6至9任一项所述的方法,其特征在于,还包括:
    当所述待压缩数据压缩完成时,获取所述待压缩数据的循环冗余校验码;
    获取所述待压缩数据的大小;
    将所述待压缩数据的循环冗余校验码和所述待压缩数据的大小拼接在压缩完成的数据尾部,传输到内存。
PCT/CN2019/088032 2019-05-22 2019-05-22 一种硬件并行压缩的系统及方法 WO2020232682A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/088032 WO2020232682A1 (zh) 2019-05-22 2019-05-22 一种硬件并行压缩的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/088032 WO2020232682A1 (zh) 2019-05-22 2019-05-22 一种硬件并行压缩的系统及方法

Publications (1)

Publication Number Publication Date
WO2020232682A1 true WO2020232682A1 (zh) 2020-11-26

Family

ID=73459311

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/088032 WO2020232682A1 (zh) 2019-05-22 2019-05-22 一种硬件并行压缩的系统及方法

Country Status (1)

Country Link
WO (1) WO2020232682A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064140A (zh) * 2021-10-15 2022-02-18 南京南瑞继保电气有限公司 一种故障录波数据存储和访问方法及装置、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995759B1 (en) * 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
CN103384884A (zh) * 2012-12-11 2013-11-06 华为技术有限公司 一种文件压缩方法、文件解压缩方法、装置及服务器
CN107508602A (zh) * 2017-09-01 2017-12-22 郑州云海信息技术有限公司 一种数据压缩方法、系统及其cpu处理器
CN108134609A (zh) * 2017-12-21 2018-06-08 深圳大学 一种通用数据gz格式的多线程压缩与解压方法及装置
CN108924377A (zh) * 2018-06-08 2018-11-30 宁波华高信息科技有限公司 一种基于dsp的硬件压缩核的快速重配置方法
CN110247666A (zh) * 2019-05-22 2019-09-17 深圳大学 一种硬件并行压缩的系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995759B1 (en) * 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
CN103384884A (zh) * 2012-12-11 2013-11-06 华为技术有限公司 一种文件压缩方法、文件解压缩方法、装置及服务器
CN107508602A (zh) * 2017-09-01 2017-12-22 郑州云海信息技术有限公司 一种数据压缩方法、系统及其cpu处理器
CN108134609A (zh) * 2017-12-21 2018-06-08 深圳大学 一种通用数据gz格式的多线程压缩与解压方法及装置
CN108924377A (zh) * 2018-06-08 2018-11-30 宁波华高信息科技有限公司 一种基于dsp的硬件压缩核的快速重配置方法
CN110247666A (zh) * 2019-05-22 2019-09-17 深圳大学 一种硬件并行压缩的系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064140A (zh) * 2021-10-15 2022-02-18 南京南瑞继保电气有限公司 一种故障录波数据存储和访问方法及装置、存储介质
CN114064140B (zh) * 2021-10-15 2024-03-15 南京南瑞继保电气有限公司 一种故障录波数据存储和访问方法及装置、存储介质

Similar Documents

Publication Publication Date Title
JP5881416B2 (ja) データ圧縮装置、及びデータ圧縮装置を含むデータ処理装置
WO2020025006A1 (zh) 数据压缩、解压方法及相关装置、电子设备、系统
US8898422B2 (en) Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration
CN103914404B (zh) 一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
CN112685248A (zh) 智能网卡监控日志获取方法、装置、电子设备及存储介质
CN110769002A (zh) 基于LabVIEW的报文解析方法、系统、电子设备和介质
CN106685429B (zh) 整数压缩方法及装置
WO2020232682A1 (zh) 一种硬件并行压缩的系统及方法
CN110247666B (zh) 一种硬件并行压缩的系统及方法
WO2022011841A1 (zh) Gpgpu中簇的实现方法、装置、终端及介质
CN110019347A (zh) 一种区块链的数据处理方法、装置及终端设备
US11176018B1 (en) Inline hardware compression subsystem for emulation trace data
WO2023061180A1 (zh) 基于多频率的数据发送和接收方法、装置和设备
WO2021237513A1 (zh) 数据压缩存储的系统、方法、处理器及计算机存储介质
CN116319878A (zh) 一种数据传输的方法、设备和计算机存储介质
CN116561202A (zh) 一种对象序列化处理的方法和装置
CN109213710B (zh) 高速串行接口装置与其数据传输方法
WO2021237518A1 (zh) 数据存储的方法、装置、处理器及计算机存储介质
CN105405443A (zh) 基于ape格式的音频信号压缩处理系统及方法
US10417252B2 (en) Optimizing data conversion using pattern frequency
CN212873459U (zh) 一种用于数据压缩存储的系统
CN114399034B (zh) 用于直接存储器访问装置的数据搬运方法
CN108052482B (zh) 一种gpu间通信的方法及系统
CN114302425B (zh) 设备配网方法、装置、存储介质及电子设备
CN107295343A (zh) 一种调色板变换算法的优化方法、装置及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19929893

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19929893

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29.08.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19929893

Country of ref document: EP

Kind code of ref document: A1