Patent ID: 8856409

Claim:
For use with a block mode access storage protocol, a method of reading raw data stored as compressed data in at least one storage logical unit in a storage device, wherein said compressed data are packed into one or more compressed sections corresponding to fixed-size portions of raw data stored in a plurality of clusters that are virtually accommodated in a virtual logical unit, the method comprising: receiving, by a compression system from a client, a request to read data in a cluster of the plurality of clusters; determining a serial number of a cluster that includes the requested data; reading all of the compressed data in the cluster to the compression system; temporarily storing all of the compressed data in a first buffer within the compression system, the first buffer comprising a first size equal to a second size of each cluster; decompressing all of the compressed data in the buffer to generate decompressed data; identifying a first portion of the decompressed data that includes the requested data; and copying the first portion of the decompressed data to a second buffer in the client, wherein a second portion of the decompressed data in the buffer is not copied to the second buffer.