IP Library Granted Patent US 7,984,022
Granted Patent B2
US 7,984,022 · App. 12/105,892 · Granted Jul 19, 2011

Space recovery with storage management coupled with a deduplicating storage system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,984,022
App. No.
12/105,892
Granted
Jul 19, 2011
Kind
B2
Abstract

Provided are techniques for space recovery with storage management coupled with a deduplicating storage system. A notification is received that one or more data objects have been logically deleted by deleting metadata about the one or more data objects, wherein the notification provides storage locations within one or more logical storage volumes corresponding to the deleted one or more data objects, wherein each of the one or more data objects are divided into one or more extents. In response to determining that a sparse file represents the one or more logical storage volumes, physical space is deallocated by nulling out space in the sparse file corresponding to each of the one or more extents.

Claims (65)

1. A computer-implemented method, comprising:

under control of a storage-management server,

storing metadata about data objects in a database;

in response to a request to delete one or more data objects stored in data storage, logically deleting the one or more data objects by deleting the metadata about the one or more data objects in the database; and

sending a notification that the one or more data objects have been logically deleted by deleting the metadata about the one or more data objects, wherein the notification provides storage locations within one or more logical storage volumes corresponding to the deleted one or more data objects, wherein each of the one or more data objects are divided into one or more extents; and

under control of a deduplicating storage system that is separate from and coupled to the storage-management server,

receiving the notification; and

in response to determining that a sparse file represents the one or more logical storage volumes, recovering the physical space occupied by unused extents without moving data and without forcing updates to storage location information tracked by the storage-management server by nulling out space in the sparse file corresponding to each of the one or more extents.

2. The computer-implemented method of claim 1 , at the storage-management server, further comprising:

tracking the one or more data objects by storing the metadata about the data objects;

receiving a request to delete the one or more data objects;

logically deleting the one or more data objects by deleting the metadata about the one or more data objects; and

in response to logically deleting the one or more data objects, sending the notification of one or more storage locations occupied by the one or more data objects, wherein each storage location provides an offset into a logical storage volume and a length of a data object.

3. The computer-implemented method of claim 1 , at the deduplicating storage system, further comprising:

dereferencing the one or more extents corresponding to the storage locations by maintaining a reference count of a number of references to each extent and decrementing the reference count for each extent corresponding to a deleted extent, wherein an extent is eligible for space reclamation when the references to the extent have been removed.

4. The computer-implemented method of claim 1 , at the deduplicating storage system, further comprising:

in response to determining that there is one file for each extent, recovering physical space by deleting the file corresponding to the extent.

5. The computer-implemented method of claim 1 , at the deduplicating storage system, further comprising:

in response to determining that the notification specifies offsets for storage locations that do not align with extent boundaries, performing one of truncating the one or more extents to fit within the extent boundaries and copying-on-write.

6. The computer-implemented method of claim 1 , at the deduplicating storage system, further comprising:

removing extent metadata for the one or more extents.

7. The method of claim 1 , at the deduplicating storage system, further comprising:

determining that it is time to perform storage space reclamation based on one or more storage policies.

8. A computer program product, comprising a:

a first computer-readable medium storing a first computer readable program, wherein the first computer-readable medium is a member of a set of computer readable media consisting of a semiconductor or solid state memory, a magnetic tape, a removable computer diskette, a rigid magnetic disk, an optical disk, a magnetic storage medium, and volatile and non-volatile memory devices, and wherein the first computer readable program, when executed, causes a storage-management server to:

store metadata about data objects in a database;

in response to a request to delete one or more data objects stored in data storage, logically delete the one or more data objects by deleting the metadata about the one or more data objects in the database; and

send a notification that the one or more data objects have been logically deleted by deleting the metadata about the one or more data objects, wherein the notification provides storage locations within one or more logical storage volumes corresponding to the deleted one or more data objects, wherein each of the one or more data objects are divided into one or more extents; and

a second computer-readable medium storing a second computer readable program, wherein the second computer readable program, when executed, causes a deduplicating storage system, that is separate from and coupled to the storage-management server, to:

receive the notification; and

in response to determining that a sparse file represents the one or more logical storage volumes, recover the physical space occupied by unused extents without moving data and without forcing updates to storage location information tracked by the storage-management server by nulling out space in the sparse file corresponding to each of the one or more extents.

9. The computer program product of claim 8 , wherein the first computer readable program when executed causes the storage-management server to:

track the one or more data objects by storing the metadata about the data objects;

receive a request to delete the one or more data objects;

logically delete the one or more data objects by deleting the metadata about the one or more data objects; and

in response to logically deleting the one or more data objects, send the notification of one or more storage locations occupied by the one or more data objects, wherein each storage location provides an offset into a logical storage volume and a length of a data object.

10. The computer program product of claim 8 , wherein the second computer readable program when executed causes the deduplicating storage system to:

dereference the one or more extents corresponding to the storage locations by maintaining a reference count of a number of references to each extent and decrementing the reference count for each extent corresponding to a deleted extent, wherein an extent is eligible for space reclamation when the references to the extent have been removed.

11. The computer program product of claim 8 , wherein the second computer readable program when executed causes the deduplicating storage system to:

in response to determining that there is one file for each extent, recover physical space by deleting the file corresponding to the extent.

12. The computer program product of claim 8 , wherein the second computer readable program when executed causes the deduplicating storage system to:

in response to determining that the notification specifies offsets for storage locations that do not align with extent boundaries, perform one of truncating the one or more extents to fit within the extent boundaries and copying-on-write.

13. The computer program product of claim 8 , wherein the second computer readable program when executed causes the deduplicating storage system to:

remove extent metadata for the one or more extents.

14. A system, comprising:

hardware logic at a storage-management server performing operations, the operations comprising:

storing metadata about data objects in a database;

in response to a request to delete one or more data objects stored in data storage, logically deleting the one or more data objects by deleting the metadata about the one or more data objects in the database; and

sending a notification that the one or more data objects have been logically deleted by deleting the metadata about the one or more data objects, wherein the notification provides storage locations within one or more logical storage volumes corresponding to the deleted one or more data objects, wherein each of the one or more data objects are divided into one or more extents; and

hardware logic at a deduplicating storage system, that is separate from and coupled to the storage-management server, performing operations, the operations comprising:

receiving the notification; and

in response to determining that a sparse file represents the one or more logical storage volumes, recovering the physical space occupied by unused extents without moving data and without forcing updates to storage location information tracked by the storage-management server by nulling out space in the sparse file corresponding to each of the one or more extents.

15. The system of claim 14 , wherein the operations at the storage-management server further comprise:

tracking the one or more data objects by storing the metadata about the data objects;

receiving a request to delete the one or more data objects;

logically deleting the one or more data objects by deleting the metadata about the one or more data objects; and

in response to logically deleting the one or more data objects, sending the notification of one or more storage locations occupied by the one or more data objects, wherein each storage location provides an offset into a logical storage volume and a length of a data object.

16. The system of claim 14 , wherein the operations at the deduplicating storage system further comprise:

dereferencing the one or more extents corresponding to the storage locations by maintaining a reference count of a number of references to each extent and decrementing the reference count for each extent corresponding to a deleted extent, wherein an extent is eligible for space reclamation when the references to the extent have been removed.

17. The system of claim 14 , wherein the operations at the deduplicating storage system further comprise:

in response to determining that there is one file for each extent, recovering physical space by deleting the file corresponding to the extent.

18. The system of claim 14 , wherein the operations at the deduplicating storage system further comprise:

in response to determining that the notification specifies offsets for storage locations that do not align with extent boundaries, performing one of truncating the one or more extents to fit within the extent boundaries and copying-on-write.

19. The system of claim 14 , wherein the operations at the deduplicating storage system further comprise:

removing extent metadata for the one or more extents.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL 052888 FRAME 0177 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0712 →
SECURITY INTEREST Recorded Jun 9, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052888/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: HGST NETHERLANDS B.V
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052783/0631 →
CONFIRMATORY ASSIGNMENT Recorded Jan 21, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HGST NETHERLANDS B.V.
Reel/Frame 037569/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2008
From: CANNON, DAVID MAXWELL; SMITH, MARK ANDREW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021173/0927 →