Techniques to accelerate lossless compression

US10158376B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10158376-B2
Application numberUS-201615053921-A
CountryUS
Kind codeB2
Filing dateFeb 25, 2016
Priority dateJun 29, 2012
Publication dateDec 18, 2018
Grant dateDec 18, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An embodiment may include circuitry that may be capable of performing compression-related operations that may include: (a) indicating, at least in part, in a data structure at least one position of at least one subset of characters that are to be encoded as a symbol, (b) comparing, at least in part, at least one pair of multi-byte data words that are of identical predetermined fixed size, (c) maintaining, at least in part, an array of pointers to potentially matching strings that are to be compared with at least one currently examined string, and/or (d) allocating, at least in part, a first buffer portion to store at least one portion of uncompressed data from an application buffer that is to be input for compression to produce a compressed data stream.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus, comprising: a memory to store multi-byte data words; a circuitry for performing compression-related operations, the circuitry to: receive a first pair of multi-byte data words of the multi-byte data words comprising a first multi-byte data word and a second multi-byte data word, the first multi-byte data word and the second multi-byte data word having an identical fixed size; compare the first multi-byte data word and the second multi-byte data word based on an exclusive-or (XOR) operation; and determine whether a result of the XOR operation indicates an occurrence of a mis-compare. 2. The apparatus of claim 1 , the circuitry to, in response to determining a mis-compare has occurred, determine a first location in one of the pair of multi-byte words at which the mis-compare occurs. 3. The apparatus of claim 2 , the circuitry to perform one or more bit search forward (BSF) instructions to determine the first location in one of the first pair of multi-byte words. 4. The apparatus of claim 1 , the circuitry to execute a single instruction to compare the first multi-byte data word and the second multi-byte data word based on the XOR operation. 5. The apparatus of claim 1 , the circuitry to: receive a second pair of multi-byte data words comprising a third multi-byte data word and a fourth multi-byte data word, the third multi-byte data word and the fourth multi-byte data word having an identical fixed size; compare the third multi-byte data word and the fourth multi-byte data word based on a second XOR operation; and determine whether a result of the second XOR operation indicates an occurrence of a second mis-compare. 6. The apparatus of claim 5 , the circuitry to conduct the comparison of the first pair of multi-byte data words in parallel with the comparison of the second pair of multi-byte data words. 7. The apparatus of claim 5 , the circuitry to: utilize a first thread to compare the first multi-byte data word and the second multi-byte data word; and utilize a second thread to compare the third multi-byte data word and the fourth multi-byte data word. 8. The apparatus of claim 7 , comprising: a host processor comprising the circuitry to utilize the first and second threads. 9. At least one non-transitory computer-readable storage medium comprising one or more instructions, that when executed, cause a circuitry to: receive a first pair of multi-byte data words comprising a first multi-byte data word and a second multi-byte data word, the first multi-byte data word and the second multi-byte data word having an identical fixed size; compare the first multi-byte data word and the second multi-byte data word based on an exclusive-or (XOR) operation; and determine whether a result of the XOR operation indicates an occurrence of a mis-compare. 10. The at least one non-transitory computer-readable storage medium of claim 9 , comprising one or more instructions, that when executed, cause the circuitry to, in response to determining a mis-compare has occurred, determine a first location in one of the pair of multi-byte words at which the mis-compare occurs. 11. The at least one non-transitory computer-readable storage medium of claim 10 , comprising one or more instructions, that when executed, cause the circuitry to, perform one or more bit search forward (BSF) instructions to determine the first location in one of the first pair of multi-byte words. 12. The at least one non-transitory computer-readable storage medium of claim 9 , comprising one or more instructions, that when executed, cause the circuitry to execute a single instruction to compare the first multi-byte data word and the second multi-byte data word based on the XOR operation. 13. The at least one non-transitory computer-readable storage medium of claim 9 , comprising one or more instructions, that when executed, cause the circuitry to: receive a second pair of multi-byte data words comprising a third multi-byte data word and a fourth multi-byte data word, the third multi-byte data word and the fourth multi-byte data word having an identical fixed size; compare the third multi-byte data word and the fourth multi-byte data word based on a second XOR operation; and determine when a second mis-compare occurs as a result of the second XOR operation. 14. The at least one non-transitory computer-readable storage medium of claim 13 , comprising one or more instructions, that when executed, cause the circuitry to conduct the comparison of the first pair of multi-byte data words in parallel with the comparison of the second pair of multi-byte data words. 15. The at least one non-transitory computer-readable storage medium of claim 13 , comprising one or more instructions, that when executed, cause the circuitry to: utilize a first thread to compare the first multi-byte data word and the second multi-byte data word; and utilize a second thread to compare the third multi-byte data word and the fourth multi-byte data word. 16. The at least one non-transitory computer-readable storage medium of claim 15 , comprising one or more instructions, that when executed, cause the circuitry to: utilize the first thread on a first microprocessor of a host processor; and utilize the second thread on a second microprocessor of the host processor. 17. A computer-implemented method, comprising: receiving a first pair of multi-byte data words comprising a first multi-byte data word and a second multi-byte data word, the first multi-byte data word and the second multi-byte data word having an identical fixed size; comparing the first multi-byte data word and the second multi-byte data word based on an exclusive-or (XOR) operation; and determining whether a result of the XOR operation indicates an occurrence of a mis-compare. 18. The computer-implemented method of claim 17 , comprising, in response to determining a mis-compare has occurred, determining a first location in one of the pair of multi-byte words at which the mis-compare occurs. 19. The computer-implemented method of claim 18 , comprising performing one or more bit search forward (BSF) instructions to determine the first location in one of the first pair of multi-byte words. 20. The computer-implemented method of claim 17 , comprising executing a single instruction to compare the first multi-byte data word and the second multi-byte data word based on the XOR operation. 21. The computer-implemented method of claim 17 , comprising: receiving a second pair of multi-byte data words comprising a third multi-byte data word and a fourth multi-byte data word, the third multi-byte data word and the fourth multi-byte data word having an identical fixed size; comparing the third multi-byte data word and the fourth multi-byte data word based on a second XOR operation; and determining whether a result of the second XOR operation indicates an occurrence of a second mis-compare. 22. The computer-implemented method of claim 21 , comprising conducting the comparison of the first pair of multi-byte data words in parallel with the comparison of the second pair of multi-byte data words. 23. The computer-implemented method of claim 21 , comprising: utilizing a first thread to compare the first multi-byte data word and the second multi-byte data word; and utilizing a second thread to compare the third multi-byte data word and the fourth multi-byte data word. 24. The computer-implem

Assignees

Inventors

Classifications

  • Logical and Boolean instructions, e.g. XOR, NOT · CPC title

  • H03M7/60Primary

    General implementation details not specific to a particular type of compression · CPC title

  • Saving memory space in the encoder or decoder · CPC title

  • H03M7/3068Primary

    Precoding preceding compression, e.g. Burrows-Wheeler transformation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10158376B2 cover?
An embodiment may include circuitry that may be capable of performing compression-related operations that may include: (a) indicating, at least in part, in a data structure at least one position of at least one subset of characters that are to be encoded as a symbol, (b) comparing, at least in part, at least one pair of multi-byte data words that are of identical predetermined fixed size, (c) m…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H03M7/60. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 18 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).