Patent ID: 8719237

Claim:
A method for storing data in a data storage system with reduced duplication, the data storage system storing a plurality of files each divided into a plurality of data blocks, and maintaining a system data block file containing data blocks uniquely selected from the data blocks of the files, wherein each file has an index relationship with the system data block file, the method being executed by a processor of a device of the data storage system and comprising: receiving a modified data block for a user file stored in the data storage system; querying whether the modified data block is found in the system data block file, comprising: matching a hash value of the modified data block with a hash value of each data block in the system data block file, if the matching succeeds, generating a query result for indicating that the modified data block is found in the system data block file, if the matching fails, generating a query result for indicating that the data block file is not found in the system data block file; if the modified data block is not found in the system data block file, adding the modified data block to the system data block file, and updating an index relationship of the user file with the system data block file to include an index pointing to the modified data block added in the system data block file.