System and method for efficiently duplicating data in a storage system, eliminating the need to read the source data or write the target data
First Claim
Patent Images
1. A method of making a copy of data having metadata in a data deduplication system, comprising:
- identifying a physical data block in the deduplication system, the physical data block having stored therein data to be copied as part of a copy operation;
without reading the physical data block by the deduplication system, reading metadata associated with the identified physical data block, the metadata including both a fingerprint of the data and a first logical block pointer that relates a first logical block address of the physical data block to a physical block address of the physical data block;
without reading the physical data block by the deduplication system, creating a logical copy of the metadata by copying the metadata to include a copy of the fingerprint and a second logical block pointer that relates a second logical block address of the physical data block to the physical block address of the physical data block; and
without reading the physical data block by the deduplication system, incrementing a reference count of the physical data block, wherein the reference count indicates the number of instances of logical data blocks that point to the physical data block, the reference count stored in a deduplication table of the deduplication system so as to protect integrity of the physical data block.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for copying data efficiently within a deduplicating storage system eliminates the need to read or write the data per se within the storage system. The copying is accomplished by creating duplicates of the metadata block pointers only. The result is a process that creates and arbitrary number of copies using minimal time and bandwidth.
-
Citations
8 Claims
-
1. A method of making a copy of data having metadata in a data deduplication system, comprising:
-
identifying a physical data block in the deduplication system, the physical data block having stored therein data to be copied as part of a copy operation; without reading the physical data block by the deduplication system, reading metadata associated with the identified physical data block, the metadata including both a fingerprint of the data and a first logical block pointer that relates a first logical block address of the physical data block to a physical block address of the physical data block; without reading the physical data block by the deduplication system, creating a logical copy of the metadata by copying the metadata to include a copy of the fingerprint and a second logical block pointer that relates a second logical block address of the physical data block to the physical block address of the physical data block; and without reading the physical data block by the deduplication system, incrementing a reference count of the physical data block, wherein the reference count indicates the number of instances of logical data blocks that point to the physical data block, the reference count stored in a deduplication table of the deduplication system so as to protect integrity of the physical data block. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of making a copy of data having metadata in a data deduplication system, comprising:
-
identifying a physical data block in the deduplication system, the physical data block having stored therein data to be copied as part of a copy operation; reading metadata associated with the identified physical data block, the metadata including both a fingerprint of the data and a first logical block pointer that relates a first logical block address of the physical data block to a physical block address of the physical data block; without reading the physical data block by the deduplication system, creating a logical copy of the metadata by copying the metadata to include a copy of the fingerprint and a second logical block pointer that relates a second logical block address of the physical data block to the physical block address of the physical data block; and incrementing a reference count of the physical data block, wherein the reference count indicates the number of instances of logical data blocks that point to the physical data block, the reference count stored in a deduplication table of the deduplication system so as to protect integrity of the physical data block, and wherein the physical data block is one of a range of blocks within a data file, whereby a subset of the data file is generated by the method.
-
-
8. A method of making a copy of data having metadata in a data deduplication system, comprising:
-
identifying a physical data block in the deduplication system, the physical data block having stored therein data to be copied as part of a copy operation; reading metadata associated with the identified physical data block, the metadata including both a fingerprint of the data and a first logical block pointer that relates a first logical block address of the physical data block to a physical block address of the physical data block; without reading the physical data block by the deduplication system, creating a logical copy of the metadata by copying the metadata to include a copy of the fingerprint and a second logical block pointer that relates a second logical block address of the physical data block to the physical block address of the physical data block; and incrementing a reference count of the physical data block, wherein the reference count indicates the number of instances of logical data blocks that point to the physical data block, the reference count stored in a deduplication table of the deduplication system so as to protect integrity of the physical data block, and wherein the creating is performed without writing the physical data block.
-
Specification