Patent ID: 8176104

Claim:
A computer-implemented method, comprising: storing data objects in data storage, wherein each of the data objects are divided into one or more extents; storing extent metadata for the one or more extents in the data storage; storing a sparse file that represents one or more logical storage volumes that store the data objects, wherein the sparse file is stored in the data storage; storing, in a database, metadata about the data objects, wherein the database is separate from the data storage, and wherein the metadata about each of the data objects comprises a data object identifier, a logical storage volume, an offset into the logical storage volume, and a length; determining that one or more data objects have been logically deleted by deleting the metadata about the one or more data objects in the database; identifying storage locations within the one or more logical storage volumes corresponding to the logically deleted one or more data objects; dereferencing the one or more extents corresponding to the logically deleted one or more data objects; recovering the physical space occupied by unused extents corresponding to the logically deleted one or more data objects without moving data and without forcing updates to storage location information by nulling out space in the sparse file corresponding to each of the one or more extents; and removing extent metadata for the one or more extents corresponding to the logically deleted one or more data objects.