Mechanism for implementing Z-compression transparently
AssigneeIntel Corporation
InventorsGuy Peled, Zeev Sperber, Doron Orenstein, Guiliermo Savranski
Life of this patent
Estimating the term…
Abstract
The present invention provides a mechanism for implementing z-compression in a manner that is transparent to the user. Blocks of z-data are associated with storage locations in a z-data buffer in cleared, compressed, or uncompressed data states. Operations to the z-data buffer are monitored for selected operations. These operations may include clear or lock operations. If a selected operation is detected, a modified version of the selected operation is implemented to mask differences between the storage states of the data blocks.
Claims18
A method for processing data comprising:
- storing blocks of data in entries of a first memory location, each of the blocks of data being stored in one of a cleared, compressed, or uncompressed data states;
- monitoring operations to the first memory location for a selected operation;
- and
- if the selected operation is detected, implementing a modified version of the selected operation that masks differences between the data states of the data blocks, wherein implementing the modified version of the selected operation includes
- saving a current processor state;
- reading one or more data blocks according to their data states in response to the selected operation;
- and
- writing the read data back into the entries of the first memory location in an uncompressed state before performing the selected operation on the data in the uncompressed state.
A method for processing z-data comprising:
- determining whether z-compression is implemented;
- implementing a selected operation if z-compression is not implemented;
- and
- implementing a modified form of the selected operation if z-compression is implemented, wherein implementing the modified form of the selected operation comprises
- saving a current processor state;
- reading data blocks from entries of a first memory according to status bits of the data blocks;
- and
- writing the read data blocks back into the entries of the first memory in an uncompressed state before executing the selected operation on the data blocks in the uncompressed state.
A machine readable medium on which are stored instructions that are executable by an apparatus to implement a method comprising:
- detecting a read or lock by an application on z-data blocks, each block of z-data having a data state indicated by an associated status field;
- saving a processor state;
- converting the z-data blocks to an uncompressed data state, wherein converting the z-data blocks to an uncompressed data state comprises
- reading the z-data blocks according to their data states;
- and
- writing the read z-data blocks in the uncompressed state before executing the read or lock;
- restoring the processor state;
- and
- executing the read or lock.
A computer system comprising:
- a processor core;
- a data-buffer;
- a status table associated with the data-buffer, to indicate a status value for each entry of the data-buffer;
- and
- a machine-readable medium on which are stored instructions that are executable by the processor core to implement a method comprising:
- intercepting a selected instruction that operates on the data-buffer;
- saving a current state of the processor core;
- modifying the data-buffer and the status table, as necessary, to place data in the data-buffer in a state expected by the selected instruction, wherein modifying the data buffer comprises
- reading entries of the data buffer according to the status value associated with each of the entries,
- decompressing the read entries, as necessary, and
- writing the read entries to the data buffer in uncompressed form before executing the intercepted instruction on the read entries in uncompressed form;
- and
- executing the intercepted instruction.
Dependencies are inferred from the claim text.