File system with internal deduplication and management of data blocks
First Claim
1. A method for de-duplicating and managing data blocks within a file system, the method comprising:
- adding a deduplication identifier to each pointer pointing to a respective data block, the deduplication identifier indicating whether the respective data block is already deduplicated;
detecting duplicate data blocks within the file system;
determining whether at least one of the duplicate data blocks has been deduplicated with other data blocks, when detected;
determining that the at least one duplicate data block is a master copy when it is determined that the at least one duplicate data block has been deduplicated;
selecting a first of the duplicate data blocks to be a master copy when it is determined that the duplicate data blocks have not been deduplicated, and setting the deduplication identifier of a respective pointer of the selected duplicate data block to indicate deduplication; and
determining that a second of the duplicate data blocks is a new duplicate data block and setting the deduplication identifier of a respective pointer of the second duplicate data block to indicate deduplication, and directing the respective pointer of the second duplicate data block to the master copy.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for deduplicating and managing data blocks within a file system includes adding a deduplication identifier to each pointer pointing to a data block to indicate whether the data block is deduplicated, detecting duplicate data blocks, determining whether one of the duplicate data blocks has been deduplicated, when detected, determining that one duplicate data block is a master copy when it is determined that one duplicate data block has been deduplicated, selecting one of the duplicate data blocks to be a master copy when it is determined that the duplicate data blocks have not been deduplicated, and setting the deduplication identifier of the selected duplicate data block to indicate deduplication, and determining that the other duplicate data block is a new duplicate data block and setting the deduplication identifier of the other duplicate data block to indicate deduplication and directing the respective pointer to the master copy.
-
Citations
14 Claims
-
1. A method for de-duplicating and managing data blocks within a file system, the method comprising:
-
adding a deduplication identifier to each pointer pointing to a respective data block, the deduplication identifier indicating whether the respective data block is already deduplicated; detecting duplicate data blocks within the file system; determining whether at least one of the duplicate data blocks has been deduplicated with other data blocks, when detected; determining that the at least one duplicate data block is a master copy when it is determined that the at least one duplicate data block has been deduplicated; selecting a first of the duplicate data blocks to be a master copy when it is determined that the duplicate data blocks have not been deduplicated, and setting the deduplication identifier of a respective pointer of the selected duplicate data block to indicate deduplication; and determining that a second of the duplicate data blocks is a new duplicate data block and setting the deduplication identifier of a respective pointer of the second duplicate data block to indicate deduplication, and directing the respective pointer of the second duplicate data block to the master copy. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product comprising a non-transitory, computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to implement a method for deduplicating and managing data blocks within a file system, the method comprising:
-
adding a deduplication identifier to each pointer pointing to a respective data block, the deduplication identifier indicating whether the respective data block is already deduplicated; detecting duplicate data blocks within the file system; determining whether at least one of the duplicate data blocks has been deduplicated with other data blocks, when detected; determining that the at least one duplicate data block is a master copy when it is determined that the at least one duplicate data block has been deduplicated; selecting a first of the duplicate data blocks to be a master copy when it is determined that the duplicate data blocks have not been deduplicated, and setting the deduplication identifier of a respective pointer of the selected duplicate data block to indicate deduplication; and determining that a second of the duplicate data blocks is a new duplicate data block and setting the deduplication identifier of a respective pointer of the second duplicate data block to indicate deduplication, and directing the respective pointer of the second duplicate data block to the master copy. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification