IP Library Granted Patent US 7,299,325
Granted Patent B1
US 7,299,325 · App. 11/212,093 · Granted Nov 20, 2007

Method of garbage collection on a data 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,299,325
App. No.
11/212,093
Granted
Nov 20, 2007
Kind
B1
Abstract

A method includes determining a garbage collection list for a data storage structure of a node in a data storage system, the garbage collection list including one or more layout map identifiers (IDs) for garbage collection. A data fragment stored on the data storage structure is located at a first location and a layout map ID associated with the data fragment is determined. A determination is made whether the layout map ID associated with the data fragment matches a layout map ID for garbage collection in the garbage collection list. If the layout map ID associated with the data fragment matches a layout map ID for garbage collection in the garbage collection list, a determination is made whether the data fragment is present at a second location on the data storage system. If the data fragment is present at a second location on the data storage system, the data fragment at the first location is determined to be a garbage fragment and deleted from the data storage system.

Claims (48)

1. A method comprising:

determining a garbage collection list for a data storage structure of a node in a data storage system, said garbage collection list including one or more layout map identifiers (IDs) for garbage collection;

locating a data fragment stored on said data storage structure at a first location;

determining a layout map ID associated with said data fragment;

determining whether said layout map ID associated with said data fragment matches a layout map ID for garbage collection in said garbage collection list;

upon a determination that said layout map ID of said data fragment matches said layout map ID for garbage collection in said garbage collection list, determining whether said data fragment is present at a second location on said data storage system; and

upon a determination that said data fragment is present at said second location on said data storage system, removing said data fragment at said first location.

2. The method of claim 1 , wherein said locating a data fragment stored on said data storage structure of said node at a first location comprises:

scanning said data storage structure; and

detecting said data fragment at said first location.

3. The method of claim 1 , wherein said second location is a disk mask location.

4. The method of claim 1 , wherein upon a upon a determination that said layout map ID associated with said data fragment does not match said layout map ID for garbage collection in said garbage collection list, not removing said data fragment at said first location.

5. The method of claim 4 , further comprising:

determining whether scanning said data storage structure is complete; and

upon a determination that scanning said data storage structure is not complete, continuing said scanning.

6. The method of claim 1 , wherein upon a determination that said data fragment is not present at said second location on said data storage system, not removing said data fragment at said first location.

7. A data storage system including one or more nodes, each of said one or more nodes including one or more data storage structures, said data storage system comprising:

means for determining a garbage collection list for a data storage structure of a node in said data storage system, said garbage collection list including one or more layout map identifiers (IDs) for garbage collection;

means for locating a data fragment stored on said data storage structure at a first location;

means for determining a layout map ID associated with said data fragment;

means for determining whether said layout map ID associated with said data fragment matches a layout map ID for garbage collection in said garbage collection list;

means for determining whether said data fragment is present at a second location on said data storage system; and

means for removing said data fragment at said first location.

8. The data storage system of claim 7 , further comprising:

means for scanning said data storage structure for said data fragment; and

means for detecting said data fragment at said first location.

9. The data storage system of claim 7 , wherein said second location is a disk mask location.

10. The data storage system of claim 7 , further comprising:

means for determining whether scanning said data storage structure is complete.

11. The data storage system of claim 7 , further comprising:

means for determining a current disk mask;

means for determining at least one layout map ID for garbage collection.

12. A computer program product comprising computer-readable instructions embodied as computer readable code for a method comprising:

determining a garbage collection list for a data storage structure of a node in a data storage system, said garbage collection list including one or more layout map identifiers (IDs) for garbage collection;

locating a data fragment stored on said data storage structure at a first location;

determining a layout map ID associated with said data fragment;

determining whether said layout map ID associated with said data fragment matches a layout map ID for garbage collection in said garbage collection list;

upon a determination that said layout map ID of said data fragment matches said layout map ID for garbage collection in said garbage collection list, determining whether said data fragment is present at a second location on said data storage system; and

upon a determination that said data fragment is present at said second location on said data storage system, removing said data fragment at said first location.

13. The computer program product of claim 12 , wherein said locating a data fragment stored on said data storage structure of said node at a first location comprises:

scanning said data storage structure; and

detecting said data fragment at said first location.

14. The computer program product of claim 12 , wherein said second location is a disk mask location.

15. The computer program product of claim 12 , wherein upon a upon a determination that said layout map ID associated with said data fragment does not match said layout map ID for garbage collection in said garbage collection list, not removing said data fragment at said first location.

16. The computer program product of claim 15 , said method further comprising:

determining whether scanning said data storage structure is complete; and

upon a determination that scanning said data storage structure is not complete, continuing said scanning.

17. The computer program product of claim 12 , wherein upon a determination that said data fragment is not present at said second location on said data storage system, not removing said data fragment at said first location.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0869 →