Storage systems and methods provide efficient deduplication with support for fine grained deduplication or deduplication with variable sized blocks. The storage system does not overwrite data in backend media but tracks operations such as writes using generation numbers, for example, to distinguish writes to the same virtual storage locations. A deduplication index, a data index, and a reference index may be used when performing operations such as reads, writes with deduplication, relocation of data blocks within backend media, and garbage collection.
展开▼