Patent ID: 8131687

Claim:
A method for de-duplicating and managing data blocks within a file system, the method comprising: adding a deduplication identifier to each pointer pointing to a respective data block, the deduplication identifier indicating whether the respective data block is already deduplicated; detecting duplicate data blocks within the file system; determining whether at least one of the duplicate data blocks has been deduplicated with other data blocks, when detected; determining that the at least one duplicate data block is a master copy when it is determined that the at least one duplicate data block has been deduplicated; selecting a first of the duplicate data blocks to be a master copy when it is determined that the duplicate data blocks have not been deduplicated, and setting the deduplication identifier of a respective pointer of the selected duplicate data block to indicate deduplication; and determining that a second of the duplicate data blocks is a new duplicate data block and setting the deduplication identifier of a respective pointer of the second duplicate data block to indicate deduplication, and directing the respective pointer of the second duplicate data block to the master copy.