| CPC G06F 3/064 (2013.01) [G06F 3/061 (2013.01); G06F 3/0626 (2013.01); G06F 3/0673 (2013.01)] | 20 Claims |

|
1. A method of selective packing of small block write operations prior to compression, comprising:
creating a plurality of Storage Groups (SG), each SG including at least one logical storage device, the logical storage device including a plurality of extents, and each extent including a plurality of tracks;
receiving write operations, each write operation being directed at a respective track on a respective extent in a respective device in a respective SG;
forecasting compressibility characteristics of each received write operation;
pooling write operations with similar forecast compressibility characteristics into a set of two or more compressibility pools;
forming a set of extent-level groups, each extent-level group including write operations on tracks included in the respective extent;
forming a set of device-level groups, each device-level group including write operations on tracks included in extents included in the respective device;
forming a set of SG-level groups, each SG-level group including write operations on tracks included in extents included in devices included in the respective SG;
creating Input/Output (IO) packages from each of the compressibility pools, each IO package containing a respective selected set of write IO operations contained in at most one of the compressibility pools, the respective selected set of write IO operations being selected first from the extent-level group, then from the device-level group, and then from the SG-level group.
|