EP2042979A2

Power efficient data storage with data de-duplication

Abstract

A storage system (100) includes a first de-duplication scope (300) comprising a first volume (220 - 1), a first table of hash values (800) corresponding to first chunks of data stored on the first volume, and a first table (900) of logical block addresses of where the chunks of data are stored on the first volume. A second de-duplication scope includes similar information for a second volume. The first scope is used for de-duplicating and storing first data from a first data source and the second scope is used for de-duplicating and storing second data from a second data source. First storage mediums (106) that make up the first volume remain powered off while de-duplication and storage of the second data on the second volume takes place, and second storage mediums that make up the second volume remain powered off while de-duplication and storage of the first data takes place, thereby enabling data de-duplication while saving power.

EP2042979A2, drawing sheet 1
Sheet 1 of 13

Term

Projected expiry 11 March 2028.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

20 claims: 3 independent, 17 dependent

  1. 1
    A storage system comprising:a controller in communication with one or more first storage mediums and one or more second storage mediums;and a first volume having storage capacity allocated from the one or more first storage mediums, wherein initially said one or more first storage mediums and said one or more second storage mediums are configured in a powered off condition, wherein said controller is configured to receive an instruction for first data to be stored to said first volume, and place said one or more first storage mediums in a powered on condition while said one or more second storage mediums remain powered off, wherein content of said first data received by said controller is compared with content of any existing data stored in said first volume, and wherein when results of the comparison show that the content of said data does not match the content of said existing data in said first volume, said first data is stored to said first volume.
  2. 5
    A storage system according to any one of claims 1 to 4, wherein a first hash value is calculated for the content of said first data, and during said comparison, said first hash value is compared with second hash values calculated for the content of the existing data stored on said first volume to determine whether a direct comparison of the content of the first data with the content of the existing data on said first volume should be conducted.
  3. 6
    A storage system according to any one of claims 1 to 5, wherein there are a plurality of said first storage mediums, said first storage mediums being configured in a first array group, said first volume having storage capacity allocated from said first array group, wherein there are a plurality of said second storage mediums, said second storage mediums being configured in a second array group, a second volume having storage capacity allocated from said second array group, and wherein said first and second array groups are configured to be powered on and off by said controller independently of each other.
  4. 7
    A storage system according to any one of claims 1 to 6, further comprising:a first de-duplication scope including said first volume, a first table of hash values corresponding to first chunks of data stored on said first volume, and a first table of logical block addresses of where the chunks of data are stored on said first volume;and a second de-duplication scope including said second volume, a second table of hash values corresponding to second chunks of data stored on said second volume, and a second table of logical block addresses of where the second chunks of data are stored on said second volume, wherein said first scope is configured for use in de-duplicating and storing data from a first data source and said second scope is configured for use in de-duplicating and storing data from a second data source.
  5. 9
    An information system comprising:a storage system including a controller in communication with one or more first storage mediums and one or more second storage mediums;a first volume having storage capacity allocated from said one or more first storage mediums;a second volume having storage capacity allocated from said one or more second storage mediums, a first de-duplication scope including said first volume, a first table of hash values corresponding to first chunks of data stored on said first volume, and a first table of logical block addresses of where the chunks of data are stored on said first volume;and a second de-duplication scope including said second volume, a second table of hash values corresponding to second chunks of data stored on said second volume, and a second table of logical block addresses of where the second chunks of data are stored on said second volume, wherein said first scope is configured for use in de-duplicating and storing first data from a first data source and said second scope is configured for use in de-duplicating and storing second data from a second data source.
  6. 13
    An information system according to any one of claims 10 to 12, wherein a first hash value is calculated for the content of said first data, and during said comparison, said first hash value is compared with second hash values calculated for the content of the existing data stored on said first volume to determine whether a direct comparison of the content of the first data with the content of the existing data on said first volume should be conducted.
  7. 14
    An information system according to any one of claims 9 to 13, wherein there are a plurality of said first storage mediums, said first storage mediums being configured in a first array group, said first volume having storage capacity allocated from said first array group, wherein there are a plurality of said second storage mediums, said second storage mediums being configured in a second array group, said second volume having storage capacity allocated from said second array group, and wherein said first and second array groups are configured to be powered on and off by said controller independently of each other.
  8. 15
    An information system according to any one of claims 9 to 14, wherein a first application computer produces first application data stored in a first source volume as said first data source and a second application computer produces second application data stored in a second source volume as said second data source, and wherein a management computer in communication with said storage system periodically instructs said storage system to backup said first source volume to said first volume using said first scope and said second source volume to said second volume using said second scope.
  9. 16
    A method of operating a storage system having a controller in communication with one or more first storage mediums and one or more second storage mediums, the method comprising:allocating a first volume from said one or more first storage mediums;allocating a second volume from said one or more second storage mediums;configuring said one or more first storage mediums and said one or more second storage mediums in a powered off condition;receiving an instruction for storing first data to said first volume;configuring said one or more first storage mediums in a powered on condition while said one or more second storage mediums remain powered off;dividing said first data into divided portions of a predetermined size, wherein any existing data stored on said first volume is stored as chunks of the predetermined size;comparing content of each divided portion with any existing chunks already stored on said first volume;for each divided portion, storing said divided portion to said first volume as a new chunk when results of said comparison of said divided portion show that the content of said divided portion does not match the content of said existing chunks on said first volume;and storing a record linking an identifier of the divided portion with an identifier of the existing data and discarding the divided portion of the first data when the results of the comparison of said divided portion show that the content of said divided portion does match the content of one of said existing chunks on said first volume.
  10. 19
    A method according to any one of claims 16 to 18, further including steps of configuring a first de-duplication scope including said first volume, a first table of hash values corresponding to first chunks of data stored on said first volume, and a first table of logical block addresses of where the chunks of data are stored on said first volume;and configuring a second de-duplication scope including said second volume, a second table of hash values corresponding to second chunks of data stored on said second volume, and a second table of logical block addresses of where the second chunks of data are stored on said second volume, wherein said first scope is configured for use in de-duplicating and storing said first data from a first data source and said second scope is configured for use in de-duplicating and storing second data from a second data source.