1. A method for detecting a duplicate data object at a storage server, the method comprising: receiving an input data object at the storage server, wherein the input data object references a plurality of data blocks; generating, by the storage server, an object-level fingerprint for the input data object, wherein the object-level fingerprint is a single fingerprint representative of all of the data blocks referenced by the data object; and detecting, at the storage server, whether the input data object is a duplicate data object by comparing the object-level fingerprint of the input data object against each of a plurality of preexisting object-level fingerprints maintained by the storage server, each preexisting object-level fingerprint corresponding to a unique data object maintained by the storage server.