Patent ID: 8131688
Filing Date: 2012-03-06
Classification: G06F

Abstract:
1. A method for a data storage system having a data repository, wherein the data repository stores data segments in a plurality of clusters, each cluster including one or more compressed data segments and existing common data associated with compression of the data segments of the cluster, the method comprising: providing a data segment to be stored in the data storage system in association with a write request; identifying a plurality of candidate clusters of the plurality of clusters; forming a plurality of compressed data segments, each compressed data segment corresponding to one of the candidate clusters, each compressed data segment compressed using the existing common data of the corresponding candidate cluster; generating results of forming the plurality of compressed data segments, the results including new common data of the corresponding candidate cluster arising from a tentative addition of a compressed data segment to the corresponding candidate cluster; evaluating the results of forming the plurality of compressed segments to determine a compression efficiency for each candidate cluster; selecting from among all candidate clusters a candidate cluster having a compression efficiency meeting a criterion; deleting the tentative additions of compressed data segments from candidate clusters other than the candidate cluster having the compression efficiency meeting the criterion; and storing the compressed data segment in the data repository by adding the compressed data segment corresponding to the selected cluster and replacing the existing common data of the selected cluster with the corresponding new common data.