Patent ID: 8176269

Claim:
A method, comprising: maintaining file metadata for files having data blocks in a computer readable storage device, wherein at least one of the files has file metadata indicating that the file has multiple data blocks; maintaining data block metadata for each data block in the computer readable storage device, wherein the data block metadata for one data block includes a data block reference and content identifier identifying content of the data block, wherein the file metadata for each file includes the data block reference to each data block in the file; determining an unreferenced data block in the computer readable storage device that has become unreferenced; indicating the data block metadata for the determined unreferenced data block as unreferenced data block metadata; and adding the data block reference of the unreferenced data block metadata in the computer readable storage device to file metadata for an added file that includes multiple data blocks including one data block having content matching the content of the unreferenced data block according to the content identifier in the unreferenced data block metadata.