1. A method, comprising: caching a portion of a pool of unique data blocks in a memory, the pool of unique data blocks comprising a plurality of unique blocks, at least some of the plurality of blocks in the pool of unique data blocks being referred to in at least one reference file; updating a list of blocks with any block in the cached portion of the pool of unique data blocks that is not referred to by at least one reference in the at least one reference file; iteratively caching separate portions of the pool of unique data blocks and updating the list of blocks not referred to by at least one reference until the remaining portions of the pool of unique data blocks have been cached; and deleting, from the pool of unique data blocks, the blocks in the list of blocks.