Early compression prediction in a storage system with granular block sizes
First Claim
Patent Images
1. A method comprising:
- receiving an input/output (I/O) request by a storage system having at least one storage volume, the I/O request having associated payload data;
performing the I/O request with early prediction compression by;
compressing a first portion of the payload data; and
determining whether one or more remaining portions of the I/O request should be processed in a compressed manner or an uncompressed manner based, at least in part, upon the results of compressing the first portion of the payload data,wherein if a utilization level of the one or more processors is below a processor utilization threshold, setting a compression threshold value to increase compression of the payload data; and
if the utilization level of the one or more processors is at or above a processor utilization threshold, setting the compression threshold value to decrease compression of the payload data; and
performing the I/O request to the at least one storage volume with the payload data uncompressed if an achieved compression ratio of the first portion of the payload data has not reached a compression threshold value, wherein the I/O request comprises a request to write data to the at least one storage volume and wherein determining one or more block sizes of the at least one storage volume and a size of payload data associated with the I/O request further comprises, if the size of the payload data associated with the I/O request is greater than a largest of the one or more block sizes of the at least one storage volume;
segmenting the payload data associated with the I/O request into two or more payload data segments, each payload data segment having a size associated with the largest of the one or more block sizes; and
performing the I/O request with early prediction compression for each of the two or more payload data segments.
8 Assignments
0 Petitions
Accused Products
Abstract
Described embodiments may provide methods and systems for receiving an input/output (I/O) request by a storage system having at least one storage volume. The I/O request has associated payload data. The I/O request is performed with early prediction compression by compressing a first portion of the payload data and determining whether one or more remaining portions of the I/O request should be processed in a compressed manner or an uncompressed manner based, at least in part, upon the results of compressing the first portion of the payload data.
-
Citations
15 Claims
-
1. A method comprising:
-
receiving an input/output (I/O) request by a storage system having at least one storage volume, the I/O request having associated payload data; performing the I/O request with early prediction compression by; compressing a first portion of the payload data; and determining whether one or more remaining portions of the I/O request should be processed in a compressed manner or an uncompressed manner based, at least in part, upon the results of compressing the first portion of the payload data, wherein if a utilization level of the one or more processors is below a processor utilization threshold, setting a compression threshold value to increase compression of the payload data; and if the utilization level of the one or more processors is at or above a processor utilization threshold, setting the compression threshold value to decrease compression of the payload data; and
performing the I/O request to the at least one storage volume with the payload data uncompressed if an achieved compression ratio of the first portion of the payload data has not reached a compression threshold value, wherein the I/O request comprises a request to write data to the at least one storage volume and wherein determining one or more block sizes of the at least one storage volume and a size of payload data associated with the I/O request further comprises, if the size of the payload data associated with the I/O request is greater than a largest of the one or more block sizes of the at least one storage volume;
segmenting the payload data associated with the I/O request into two or more payload data segments, each payload data segment having a size associated with the largest of the one or more block sizes; and
performing the I/O request with early prediction compression for each of the two or more payload data segments. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a processor; and memory storing computer program code that when executed on the processor causes the processor to execute an input/output (I/O) request received by a storage system having at least one storage volume operable to perform the operations of; receiving an input/output (I/O) request by a storage system having at least one storage volume, the I/O request having associated payload data; performing the I/O request with early prediction compression by; compressing a first portion of the payload data; and determining whether one or more remaining portions of the I/O request should be processed in a compressed manner or an uncompressed manner based, at least in part, upon the results of compressing the first portion of the payload data, wherein if a utilization level of the one or more processors is below a processor utilization threshold, setting a compression threshold value to increase compression of the payload data; and if the utilization level of the one or more processors is at or above a processor utilization threshold, setting the compression threshold value to decrease compression of the payload data; and
performing the I/O request to the at least one storage volume with the payload data uncompressed if an achieved compression ratio of the first portion of the payload data has not reached a compression threshold value, wherein the I/O request comprises a request to write data to the at least one storage volume and wherein determining one or more block sizes of the at least one storage volume and a size of payload data associated with the I/O request further comprises, if the size of the payload data associated with the I/O request is greater than a largest of the one or more block sizes of the at least one storage volume;
segmenting the payload data associated with the I/O request into two or more payload data segments, each payload data segment having a size associated with the largest of the one or more block sizes; and
performing the I/O request with early prediction compression for each of the two or more payload data segments. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon that when executed on a processor of a computer causes the computer to execute an input/output (I/O) request received by a storage system having at least one storage volume, the computer program product comprising:
-
computer program code for receiving the input/output (I/O) request, the I/O request having associated payload data; computer program code for performing the I/O request with early prediction compression by; compressing a first portion of the payload data; and determining whether one or more remaining portions of the I/O request should be processed in a compressed manner or an uncompressed manner based, at least in part, upon the results of compressing the first portion of the payload data; wherein if a utilization level of the one or more processors is below a processor utilization threshold, setting a compression threshold value to increase compression of the payload data; and if the utilization level of the one or more processors is at or above a processor utilization threshold, setting the compression threshold value to decrease compression of the payload data; and
computer program code for performing the I/O request to the at least one storage volume with the payload data uncompressed if an achieved compression ratio of the first portion of the payload data has not reached a compression threshold value/wherein the I/O request comprises a request to write data to the at least one storage volume and wherein determining one or more block sizes of the at least one storage volume and a size of payload data associated with the I/O request further comprises, if the size of the payload data associated with the I/O request is greater than a largest of the one or more block sizes of the at least one storage volume;
segmenting the payload data associated with the I/O request into two or more payload data segments, each payload data segment having a size associated with the largest of the one or more block sizes; and
performing the I/O request with early prediction compression for each of the two or more payload data segments. - View Dependent Claims (15)
-
Specification