Patent ID: 8250335

Claim:
A method for managing storage of data in a network, comprising: providing a plurality of host data processors coupled to a storage virtualization engine, the storage virtualization engine being coupled to a plurality of physical storage media; storing metadata for physical blocks of the physical storage, the metadata identifying mappings to one or more virtual blocks of a virtual disk presented to a host data processor from a corresponding physical block; identifying a set of physical blocks of data which meet a compression policy that specifies that for every write of first data to a first physical block storing a compressed instance of the first data in the first physical block, the written first data is not recompressed; selecting a second physical block from the identified set of physical blocks as a source block for data compression; selecting target locations meeting the compression policy to which the compressed data is to be written; reading and compressing data from the source block; writing the compressed data to the target locations; and updating the metadata to indicate a mapping between the target locations and the virtual blocks previously mapped from the source block.