Storage apparatus
AssigneeHitachi, Ltd.
InventorsKeisuke Sakamoto, Hisaharu Takeuchi, Haruki Takei, Hajime Ikeda
Life of this patent
Estimating the term…
Abstract
A storage apparatus according to an aspect of the present invention is configured to perform a deduplication process on write data from a host. For the deduplication process, the storage apparatus calculates a feature value of write data, and records, in a management region, metadata that is a set of the feature value of the write data and information on a storage position of the write data. However, to prevent the amount of metadata stored in the management region from increasing, if write data meets a predetermined condition, the storage apparatus does not perform the deduplication process, and suppresses creation of metadata of the write data.
Claims13
A storage apparatus comprising:
- one or more storage devices;
- and
- a storage controller configured to:
- manage a plurality of storage regions of the one or more storage devices,
- manage a volume provided to a host, manage an append storage space which is different from the volume,
- manage mapping information which indicates correspondences between the volume and the storage regions, correspondences between the append storage space and the storage regions, and correspondences between addresses in the volume and addresses in the append storage space,
- record management information which indicates correspondences between feature values of compressed data stored in the append storage space and addresses in the volume,
- upon receiving a write request to store write data at a storage position of the volume from the host, dynamically assign a first storage region to the storage position of the volume and record a correspondence between the storage position of the volume and the first storage region in the mapping information, and
- store the write data in the first storage region,
- wherein the storage controller is further configured to perform deduplication processing, for each respective chunk of the write data stored in the first storage region, which includes to:
- generate compressed data by reading the respective chunk of the write data at a respective address in the volume and compressing the respective chunk of the write data, and
- calculate a feature value of the compressed data,
- in a case where the respective chunk does not meet a predetermined condition, where the feature value for the address of the append storage space matches the feature value of the compressed data, and where the data at the address in the append storage space matches the compressed data:
- update the respective address of the respective chunk in the volume to correspond to the address of the append storage space in the mapping information, and
- in a case where the respective chunk does not meet the predetermined condition, and where the feature value for the address of the append storage space does not match the feature value of the compressed data or where the data at the address in the append storage space does not match the compressed data:
- record the feature value of the compressed data and the respective address of the respective chunk in the volume in the management information,
- store the compressed data at a new address in the append storage space, and
- update the respective address of the respective chunk in the volume to correspond to the new address of the append storage space in the mapping information,
- in a case where the respective chunk does meet the predetermined condition:
- not record the feature value of the compressed data and the respective address of the respective chunk in the volume in the management information, and
- store the compressed data at a new address in the append storage space, and
- update the respective address of the respective chunk in the volume to correspond to the new address of the append storage space in the mapping information.
A storage medium on which a program has been recorded, the program causing a processor of a computer, including the processor, a memory, and one or more storage devices, to perform acts comprising:
- managing a plurality of storage regions of the one or more storage devices,
- managing a volume provided to a host, manage an append storage space which is different from the volume,
- managing mapping information which indicates correspondences between the volume and the storage regions, correspondences between the append storage space and the storage regions, and correspondences between addresses in the volume and addresses in the append storage space,
- recording management information which indicates correspondences between feature values of compressed data stored in the append storage space and addresses in the volume,
- upon receiving a write request to store write data at a storage position of the volume from the host, dynamically assigning a first storage region to the storage position of the volume and recording a correspondence between the storage position of the volume and the first storage region in the mapping information, and
- storing the write data in the first storage region,
- wherein the storage controller is further configured to perform deduplication processing, for each respective chunk of the first storage region, which includes:
- generating compressed data by reading the respective chunk of the write data at a respective address in the volume and compressing the respective chunk of the write data, and
- calculating a feature value of the compressed data,
- in a case where the respective chunk does not meet a predetermined condition, where the feature value for the address of the append storage space matches the feature value of the compressed data, and where the data at the address in the append storage space matches the compressed data:
- updating the respective address of the respective chunk in the volume to correspond to the address of the append storage space in the mapping information, and
- in a case where the respective chunk does not meet the predetermined condition, and where the feature value for the address of the append storage space does not match the feature value of the compressed data or where the data at the address in the append storage space does not match the compressed data:
- recording the feature value of the compressed data and the respective address of the respective chunk in the volume in the management information,
- storing the compressed data at a new address in the append storage space, and
- updating the respective address of the respective chunk in the volume to correspond to the new address of the append storage space in the mapping information, and
- in a case where the respective chunk does meet the predetermined condition:
- not recording the feature value of the compressed data and the respective address of the respective chunk in the volume in the management information,
- storing the compressed data at a new address in the append storage space, and
- updating the respective address of the respective chunk in the volume to correspond to the new address of the append storage space in the mapping information.
A storage apparatus comprising:
- one or more storage devices;
- a memory configured to store management information which indicates correspondences between feature values of compressed data stored in an append storage space and addresses in a volume;
- and
- a storage controller configured to:
- manage a plurality of storage regions of the one or more storage devices,
- manage the volume provided to a host,
- manage the append storage space which is different from the volume,
- manage mapping information which indicates correspondences between the volume and the storage regions, correspondences between the append storage space and the storage regions, and correspondences between addresses in the volume and addresses in the append storage space, and
- upon receiving a write request to store write data at a storage position of the volume from the host, store the write data in a first storage region of the plurality of storage regions which corresponds to the storage position of the volume, and record a correspondence between the storage position of the volume and the first storage region in the mapping information,
- wherein the storage controller is further configured to perform deduplication processing, for each respective chunk of the write data stored in the first storage region, which includes to:
- generate compressed data by reading the respective chunk of the write data at a respective address in the volume and compressing the respective chunk of the write data, and
- calculate a feature value of the compressed data,
- in a case where the respective chunk does not meet a predetermined condition, where the feature value for the address of the append storage space matches the feature value of the compressed data, and where the data at the address in the append storage space matches the compressed data:
- update the respective address of the respective chunk in the volume to correspond to the address of the append storage space in the mapping information, and
- in a case where the respective chunk does not meet the predetermined condition, and where the feature value for the address of the append storage space does not match the feature value of the compressed data or where the data at the address in the append storage space does not match the compressed data:
- record the feature value of the compressed data and the respective address of the respective chunk in the volume in the management information,
- store the compressed data at a new address in the append storage space, and
- update the respective address of the respective chunk in the volume to correspond to the new address of the append storage space in the mapping information,
- in a case where the respective chunk does meet the predetermined condition:
- not record the feature value of the compressed data and the respective address of the respective chunk in the volume in the management information, and
- store the compressed data at a new address in the append storage space, and
- update the respective address of the respective chunk in the volume to correspond to the new address of the append storage space in the mapping information, and
- wherein the storage controller is further configured to:
- after performing the deduplication processing for each respective chunk of the write data in the first storage region, update the mapping information to change the first storage region to an unused state.
Dependencies are inferred from the claim text.