Patent ID: 7424482

Claim:
For use in a storage network operable with a block mode access storage protocol, a method of operating a compression system operatively coupled with at least one computer and with at least one storage logical unit accommodating compressed data, said method comprising: a. creating in respect to the storage logical unit a corresponding virtual logical unit configured to virtually represent in non-compressed form the data stored in the storage logical unit, wherein a size of the virtual logical unit corresponds to an estimated size of raw data which, being compressed, would substantially amount to a size of the storage logical unit and providing the following: i). segmenting the virtual logical unit into one or more virtual storage portions (clusters); ii). compressing the data represented in said clusters and thereby generating compressed sections of variable size within the storage logical unit corresponding to said clusters; and iii). dividing at least one compressed section of said compressed sections into at least one fixed-size compression logical units (CLU) and creating a section table with at least one record describing each of said at least one compressed section, said record holding at least information on CLUs corresponding to the at least one compressed section and storage location pointers pertaining to said CLUs; b) intercepting “read given data range” data access related requests from said at least one computer addressed to the storage logical unit and addressing said request to the virtual logical unit and providing the following operations: i). determining a first cluster to be read in accordance with the request; ii). determining a corresponding compressed section; iii). determining the CLUs corresponding to said compressed section and storage location thereof by referring to the section table; iv). facilitating restoring the data corresponding to said cluster from said CLUs; and v). repeating the stages i)-v) for next clusters if said certain data range exceeds the first restored cluster, until all data to be read are restored; and c) facilitating mapping between the compressed data stored in the compressed sections and their representation at the virtual logical unit.