Log memory compression system and method
AssigneeDell Products L.P.
InventorsAmitai Alkalay, Vladimir Shveidel, Lior Kamran
Life of this patent
Estimating the term…
Abstract
A method, computer program product, and computing system for processing data to store in a storage system. The data is compressed for storage in a log memory system based upon, at least in part, bandwidth of the storage system. The compressed data is stored in a log memory system. The data is stored in a cache memory system in an uncompressed state.
Claims11
A computer-implemented method, executed on a computing device, comprising:
- processing data to store in a storage system;
- compressing the data for storage in one or more pages of a log memory system based upon, at least in part, bandwidth of the storage system, wherein compressing the data includes:
- comparing the bandwidth of the storage system to a bandwidth threshold, wherein the bandwidth of the storage system is a maximum rate of data transfer between a storage node in the storage system to the log memory system;
- in response to the bandwidth of the storage system being greater than the bandwidth threshold, compressing the data synchronously using Central Processing Unit (CPU) based upon, at least in part, CPU utilization of the storage system, wherein compressing the data synchronously using the CPU based upon, at least in part, the CPU utilization includes iteratively comparing the CPU utilization to a CPU utilization threshold over time;
- and
- generating a page descriptor defining a compression size for a respective page of the one or more pages used to store the data in the log memory system, wherein the compression size is a field value in the page descriptor that is accessed during decompression to decompress the data;
- storing the compressed data in a log memory system;
- storing the data in a cache memory system in an uncompressed state;
- and
- processing the data during a data cache miss by processing the compression size from the page descriptor and selectively decompressing the compressed data from the log memory system using the compression size.
A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
- processing data to store in a storage system;
- compressing the data for storage in one or more pages of a log memory system based upon, at least in part, bandwidth of the storage system, wherein compressing the data includes:
- comparing the bandwidth of the storage system to a bandwidth threshold, wherein the bandwidth of the storage system is a maximum rate of data transfer between a storage node in the storage system to the log memory system;
- in response to the bandwidth of the storage system being greater than the bandwidth threshold, compressing the data synchronously using Central Processing Unit (CPU) based upon, at least in part, CPU utilization of the storage system, wherein compressing the data synchronously using the CPU based upon, at least in part, the CPU utilization includes iteratively comparing the CPU utilization to a CPU utilization threshold over time;
- and
- generating a page descriptor defining a compression size for a respective page of the one or more pages used to store the data in the log memory system, wherein the compression size is a field value in the page descriptor that is accessed during decompression to decompress the data;
- storing the compressed data in a log memory system;
- storing the data in a cache memory system in an uncompressed state;
- and
- processing the data during a data cache miss by processing the compression size from the page descriptor and selectively decompressing the compressed data from the log memory system using the compression size.
A computing system comprising:
- a memory;
- and
- a processor configured to process data to store in a storage system, wherein the processor is further configured to compress the data for storage in one or more pages of a log memory system based upon, at least in part, bandwidth of the storage system, wherein compressing the data includes:
- comparing the bandwidth of the storage system to a bandwidth threshold, wherein the bandwidth of the storage system is a maximum rate of data transfer between a storage node in the storage system to the log memory system, in response to the bandwidth of the storage system being greater than the bandwidth threshold, compressing the data synchronously using Central Processing Unit (CPU) based upon, at least in part, CPU utilization of the storage system, wherein compressing the data synchronously using the CPU based upon, at least in part, the CPU utilization includes iteratively comparing the CPU utilization to a CPU utilization threshold over time, and generating a page descriptor defining a compression size for a respective page of the one or more pages used to store the data in the log memory system, wherein the compression size is a field value in the page descriptor that is accessed during decompression to decompress the data, wherein the processor is further configured to store the compressed data in a log memory system, wherein the processor is further configured to store the data in a cache memory system in an uncompressed state, and wherein the processor is further configured to process the data during a data cache miss by processing the compression size from the page descriptor and selectively decompressing the compressed data from the log memory system using the compression size.
Dependencies are inferred from the claim text.