Multi-level compression for storing data in a data store
US-2018314712-A1 · Nov 1, 2018 · US
US11463102B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11463102-B2 |
| Application number | US-202117162153-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 29, 2021 |
| Priority date | Jul 31, 2018 |
| Publication date | Oct 4, 2022 |
| Grant date | Oct 4, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In the data compression method, a raw data block in raw data is processed based on a compression algorithm to obtain a standard compressed data block that has a length of L2 and that corresponds to the raw data block, and the raw data is further compressed into one or more standard compressed data blocks that each have the length of L2 and that are to be decompressed in parallel by a decompression apparatus, where the decompression apparatus includes a plurality of decompression engines, and each decompression engine is capable of decompressing one standard compressed data block within one processing cycle. According to the data compression method, a standard compressed data block with a fixed length can be obtained through compression.
Opening claim text (preview).
What is claimed is: 1. A method for compressing raw data into one or more standard compressed data blocks that each have a length of L2 and that are to be decompressed in parallel by a decompression apparatus the method comprising: compressing a raw data block for one or more times, wherein the decompression apparatus comprises a plurality of decompression engines, each decompression engine is capable of decompressing one standard compressed data block within one processing cycle, L2 is an integer greater than 1, and wherein the compressing a raw data block comprises: processing the raw data block based on a compression algorithm to obtain the standard compressed data block corresponding to the raw data block, wherein the raw data block is part of the raw data. 2. The method of claim 1 , wherein processing the raw data block based on a compression algorithm to obtain the standard compressed data block corresponding to the raw data block comprises: independently compressing the raw data block based on the compression algorithm to obtain a compressed data block corresponding to the raw data block, wherein a length d of the compressed data block is not greater than L2; and appending additional data with a length of L2—d to the compressed data block to generate the standard compressed data block with the length of L2, wherein d is an integer greater than 0. 3. The method of claim 2 , wherein the raw data block comprises a plurality of pieces of consecutive data in the raw data, a length of the raw data block is not greater than L1, and L1 is an egress bit width of the decompression engine. 4. The method of claim 3 , wherein when the length of the raw data block is equal to L1, the additional data in the standard compressed data block corresponding to the raw data block is a valid codeword; or the additional data comprises an invalid flag and invalid data, wherein the invalid flag is used to indicate that the additional data needs to be discarded; or when the length of the raw data block is less than L1, the additional data comprises the invalid flag and the invalid data, wherein the invalid flag is used to indicate that the additional data needs to be discarded. 5. The method of claim 3 , wherein independently compressing the raw data block based on the compression algorithm to obtain a compressed data block corresponding to the raw data block comprises: S1: obtaining a to-be-compressed data group from the raw data, wherein the data group comprises data comprising one or more bits; S2: determining whether the to-be-compressed data group needs to be compressed; and if the to-be-compressed data group needs to be compressed, performing S3, or if the to-be-compressed data group does not need to be compressed, performing S4; S3: compressing the to-be-compressed data group, and performing S1 after the compression is completed; and S4: using data currently obtained through compression as the compressed data block; wherein determining whether the to-be-compressed data group needs to be compressed comprises: if a sum of a total length x of one or more data groups that have been compressed and a length Δx of the to-be-compressed data group is not greater than L1, and a length of a compressed data block generated after the to-be-compressed data group is compressed is not greater than L2, determining that compression needs to be performed; if a sum of x and Ax is not greater than L1, and a length of a compressed data block generated after the to-be-compressed data group is compressed is greater than L2, determining that no compression needs to be performed; or if a sum of x and Δx is greater than L1, determining that no compression needs to be performed. 6. The method of claim 3 , wherein independently compressing the raw data block based on the compression algorithm to obtain a compressed data block corresponding to the raw data block comprises: compressing a data block with a length of L1 in the raw data by using a data group as a step, to obtain a temporary compressed data block; and when a length of the temporary compressed data block is greater than L2, using, as the raw data block, a data block obtained after i data groups at a tail of the data block with the length of L1 are removed, and using, as the compressed data block, data obtained by compressing the raw data block, wherein the length of the compressed data block is not greater than L2, and i is a minimum positive integer that makes the length of the compressed data block not greater than L2; or when a length of the temporary compressed data block is not greater than L2, using the data block with the length of L1 as the raw data block, and using the temporary compressed data block as the compressed data block. 7. The method of claim 1 , wherein L2 is an ingress bit width of a single decompression engine. 8. A compression apparatus, configured to compress raw data into one or more standard compressed data blocks that each have a length of L2 and that are to be decompressed in parallel by a decompression apparatus, wherein the decompression apparatus comprises a plurality of decompression engines, each decompression engine is capable of decompressing one standard compressed data block within one processing cycle, L2 is an integer greater than 1, the compression apparatus comprising: a processor and a memory, the memory is configured to store data and a program instruction, the processor invokes the data and the program instruction that are stored in the memory, to compress a raw data block for one or more times, wherein compressing the raw data block comprises: processing the raw data block based on a compression algorithm to obtain the standard compressed data block corresponding to the raw data block, wherein the raw data block is part of the raw data. 9. The compression apparatus of claim 8 , wherein processing, by the processor, the raw data block based on a compression algorithm to obtain the standard compressed data block corresponding to the raw data block, specifically comprises: independently compressing the raw data block based on the compression algorithm to obtain a compressed data block corresponding to the raw data block, wherein a length d of the compressed data block is not greater than L2; and appending additional data with a length of L2—d to the compressed data block to generate the standard compressed data block with the length of L2, wherein d is an integer greater than 0. 10. The compression apparatus of claim 9 , wherein the raw data block comprises a plurality of pieces of consecutive data in the raw data, a length of the raw data block is not greater than L1, and L1 is an egress bit width of the decompression engine. 11. The compression apparatus of claim 10 , wherein when the length of the raw data block is equal to L1, the additional data in the standard compressed data block corresponding to the raw data block is a valid codeword; or the additional data comprises an invalid flag and invalid data, wherein the invalid flag is used to indicate that the additional data needs to be discarded; or when the length of the raw data block is less than L1, the additional data comprises an invalid flag and invalid data, wherein the invalid flag is used to indicate that the additional data needs to be discarded. 12. The compression apparatus of claim 10 , wherein independently compressing, by the processor, the raw data block based on the compression algorithm to obtain a compressed data block corresponding to the raw data block, comprises the following operations: S1: obtaining a to-be-compressed data group from the raw data, wherein the to-be-compressed data group comprises data comprising one or mor
Parallelization · CPC title
Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code · CPC title
Compression Theory, e.g. compression of random number, repeated compression · CPC title
Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction · CPC title
Encoder aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.