Deduplication of volume regions
First Claim
Patent Images
1. A computer system comprising:
- a data storage subsystem comprising a plurality of data storage locations on a plurality of storage devices; and
a storage controller coupled to the plurality of storage devices, wherein the storage controller is configured to;
maintain a table to track mappings between logical groups of active data in the plurality of storage devices and logical groups of snapshot data in the plurality of storage devices;
determine that snapshot data within a first range of a first logical group of snapshot data is representative of active data within a second range of second logical group of active data;
in response to determining that snapshot data within the first range is representative of active data within the second range, indicate within the table, a mapping of the second range of the second logical group of active data to the first range of the first logical group of snapshot data; and
in response to a request for the active data within the second range of the second logical group, use the table to retrieve the snapshot data from the first range of the first logical group;
wherein the first range of snapshot data is located at a first offset within an address space of the first logical group;
wherein the second range of active data is located at a second offset within an address space of the second logical group, andstore an indication that the second range is aligned to the first range using a third offset.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for performing coarse-grained deduplication of volume regions. A storage controller detects that a first region of a first volume is identical to a second region of a second volume, wherein the first volume points to a first medium and the second volume points to a second medium. In response to detecting the identical regions, the storage controller stores an indication that the first range of the first medium underlies the second range of the second medium. Also in response to detecting the identical regions, the mappings associated with the second range of the second medium are invalidated.
-
Citations
20 Claims
-
1. A computer system comprising:
-
a data storage subsystem comprising a plurality of data storage locations on a plurality of storage devices; and a storage controller coupled to the plurality of storage devices, wherein the storage controller is configured to; maintain a table to track mappings between logical groups of active data in the plurality of storage devices and logical groups of snapshot data in the plurality of storage devices; determine that snapshot data within a first range of a first logical group of snapshot data is representative of active data within a second range of second logical group of active data; in response to determining that snapshot data within the first range is representative of active data within the second range, indicate within the table, a mapping of the second range of the second logical group of active data to the first range of the first logical group of snapshot data; and in response to a request for the active data within the second range of the second logical group, use the table to retrieve the snapshot data from the first range of the first logical group; wherein the first range of snapshot data is located at a first offset within an address space of the first logical group; wherein the second range of active data is located at a second offset within an address space of the second logical group, and store an indication that the second range is aligned to the first range using a third offset. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for use in a storage system, the storage system including a plurality of storage devices, the method comprising:
-
maintaining a table to track mappings between logical groups of active data in the plurality of storage devices and logical groups of snapshot data in the plurality of storage devices; determining that snapshot data within a first range of a first logical group of snapshot data is representative of active data within a second range of second logical group of active data; in response to determining that snapshot data within the first range is representative of active data within the second range, indicating within the table, a mapping of the second range of the second logical group of active data to the first range of the first logical group of snapshot data; and in response to a request for the active data within the second range of the second logical group, using the table to retrieve the snapshot data from the first range of the first logical group, wherein the first range of snapshot data is located at a first offset within an address space of the first logical group; wherein the second range of active data is located at a second offset within an address space of the second logical group, and storing an indication that the second range is aligned to the first range using a third offset. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to:
-
maintain a table to track mappings between logical groups of active data in a plurality of storage devices and logical groups of snapshot data in the plurality of storage devices; determine that snapshot data within a first range of a first logical group of snapshot data is representative of active data within a second range of second logical group of active data; in response to determining that snapshot data within the first range is representative of active data within the second range, indicate within the table, a mapping of the second range of the second logical group of active data to the first range of the first logical group of snapshot data; and in response to a request for the active data within the second range of the second logical group, use the table to retrieve the snapshot data from the first range of the first logical group; wherein the first range of snapshot data is located at a first offset within an address space of the first logical group; wherein the second range of active data is located at a second offset within an address space of the second logical group, and store an indication that the second range is aligned to the first range using a third offset. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification