Technologies for deterministic constant-time data compression
US-2018152200-A1 · May 31, 2018 · US
US10831497B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10831497-B2 |
| Application number | US-201916263786-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 31, 2019 |
| Priority date | Jan 31, 2019 |
| Publication date | Nov 10, 2020 |
| Grant date | Nov 10, 2020 |
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.
An instruction to perform a function of a plurality of functions is obtained. The instruction is a single architected instruction of an instruction set architecture that complies to an industry standard for compression. The instruction is executed, and the executing includes performing the function specified by the instruction. The performing includes, based on the function being a compression function or a decompression function, transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data accessing. During performing the function, history relating to the function is accessed. The history is to be used in transforming the state of input data between the uncompressed form and the compressed form.
Opening claim text (preview).
What is claimed is: 1. A computer program product for facilitating processing within a computing environment, the computer program product comprising: a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising: obtaining, by a processor of the computing environment, an instruction to perform a function of a plurality of functions supported by the instruction, the instruction including an operation code specifying an operation and being a single architected instruction of an instruction set architecture, the instruction complying to an industry standard for compression, and the operation code being separate from an indication of the function to be performed; and executing the instruction, the executing including: performing the function specified by the instruction, wherein, based on the function being a compression function or a decompression function, the performing comprises transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data; accessing, during performing the function, history relating to the function, the history to be used in transforming the state of the input data between the uncompressed form and the compressed form; and providing as output the transformed state of data to be used in performing a task. 2. The computer program product of claim 1 , wherein the processor is a general-purpose processor. 3. The computer program product of claim 1 , wherein the transforming the state of the input data uses a compression format that complies with the industry standard. 4. The computer program product of claim 1 , wherein the history is stored in a buffer specified by the instruction. 5. The computer program product of claim 4 , wherein the instruction comprises an operation code field that includes the operation code to specify the operation and a plurality of register fields to specify a plurality of registers to be used by the instruction, wherein the plurality of registers comprises one register used to identify an output operand location to be used by the instruction as an output, and another register used to identify an input operand location to be used by the instruction as an input. 6. The computer program product of claim 5 , wherein the input depends on the function, wherein based on the function being the compression function, the input comprises data from the input operand location to be encoded to provide compressed data symbols stored to the output operand location and copied as history stored to the buffer from the input operand location, and wherein based on the function being the decompression function, the input comprises the compressed data symbols from the input operand location to be decoded to provide uncompressed data stored to the output operand location and to the buffer. 7. The computer program product of claim 5 , wherein the instruction uses a selected register to specify a location in memory of the buffer and another selected register to provide an address of a parameter block to be used by the instruction, the parameter block specifying an offset within the buffer which designates a beginning of the history within the buffer. 8. The computer program product of claim 7 , wherein the parameter block further includes a length of the history within the buffer. 9. The computer program product of claim 7 , wherein the instruction uses a chosen register to specify a type of the buffer. 10. The computer program product of claim 9 , wherein the type of the buffer is a circular buffer. 11. A computer system for facilitating processing within a computing environment, the computer system comprising: a memory; and a processor coupled to the memory, wherein the computer system is configured to perform a method comprising: obtaining, by the processor, an instruction to perform a function of a plurality of functions supported by the instruction, the instruction including an operation code specifying an operation and being a single architected instruction of an instruction set architecture, the instruction complying to an industry standard for compression, and the operation code being separate from an indication of the function to be performed; and executing the instruction, the executing including: performing the function specified by the instruction, wherein, based on the function being a compression function or a decompression function, the performing comprises transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data; accessing, during performing the function, history relating to the function, the history to be used in transforming the state of the input data between the uncompressed form and the compressed form; and providing as output the transformed state of data to be used in performing a task. 12. The computer system of claim 11 , wherein the history is stored in a buffer specified by the instruction. 13. The computer system of claim 12 , wherein the instruction comprises an operation code field that includes the operation code to specify the operation and a plurality of register fields to specify a plurality of registers to be used by the instruction, wherein the plurality of registers comprises one register used to identify an output operand location to be used by the instruction as an output, and another register used to identify an input operand location to be used by the instruction as an input. 14. The computer system of claim 13 , wherein the instruction uses a selected register to specify a location in memory of the buffer and another selected register to provide an address of a parameter block to be used by the instruction, the parameter block specifying an offset within the buffer which designates a beginning of the history within the buffer. 15. The computer system of claim 14 , wherein the parameter block further includes a length of the history within the buffer, and wherein the instruction uses a chosen register to specify a type of the buffer, the type of the buffer being a circular buffer. 16. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising: obtaining, by a processor of the computing environment, an instruction to perform a function of a plurality of functions supported by the instruction, the instruction including an operation code specifying an operation and being a single architected instruction of an instruction set architecture, the instruction complying to an industry standard for compression, and the operation code being separate from an indication of the function to be performed; and executing the instruction, the executing including: performing the function specified by the instruction, wherein, based on the function being a compression function or a decompression function, the performing comprises transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data; accessing, during performing the function, history relating to the function, the history to be used in transforming the state of the input data between the uncompressed form and the compressed form; and providing as output the transformed state of data to be used in performing a task. 17. The computer-implemented method of claim 16 , wherein the history is stored in a buffer specified by the instruction.
Adaptive prefix coding · CPC title
Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code · CPC title
Value prediction for operands; operand history buffers · CPC title
using wraparound, e.g. modulo or circular addressing · CPC title
Instruction analysis, e.g. decoding, instruction word fields · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.