IP Library Granted Patent US 10,592,150
Granted Patent B2
US 10,592,150 · App. 15/759,842 · Granted Mar 17, 2020

Storage apparatus

Inventors: Keisuke Sakamoto (Tokyo, JP); Hisaharu Takeuchi (Tokyo, JP); Haruki Takei (Tokyo, JP); Hajime Ikeda (Tokyo, JP)
Assignee: Hitachi, Ltd.
G06F3/0641G06F3/0608G06F3/0673G06F12/00G06F12/0246G06F2212/7205G06F2212/7207
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,592,150
App. No.
15/759,842
Granted
Mar 17, 2020
Kind
B2
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.

Claims (89)

1. 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.

2. The storage apparatus according to claim 1 , wherein the storage controller is further configured to:

in a case where an amount of metadata, which is the correspondences between feature values of compressed data stored in the append storage space and addresses in the volume, recorded in the management information becomes more than a specified value, delete the metadata whose feature values are not duplicated with other data from the management information.

3. The storage apparatus according to claim 2 , wherein the storage controller is further configured to:

when a predetermined condition is fulfilled,

with respect to the write data of which the metadata has not been recorded in the management information or the management information which has been deleted, create the metadata.

4. The storage apparatus according to claim 3 , wherein

the storage controller manages a sum of the number of times the metadata has been deleted from the management information and the number of times the metadata has not been recorded in the management information and the number of times the metadata has been recorded in the management information, and

in an event that the number of times the metadata has been recorded in the management information becomes more than the sum of the number of times the metadata has been deleted and the number of times the metadata has not been recorded as a trigger, with respect to the write data of which the metadata has not been recorded in the management information or the write data of which the metadata has been deleted, the storage controller performs creation of the metadata and records the metadata in the management information.

5. The storage apparatus according to claim 1 , wherein

the storage controller compresses the write data, and stores the write data in the one or more storage devices.

6. The storage apparatus according to claim 5 , wherein the storage controller is further configured to:

dynamically assign a second storage region to the new address in the append storage space, and

store the compressed data at a new address in the append storage space.

7. The storage apparatus according to claim 6 , 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.

8. The storage apparatus according to claim 1 , wherein

the predetermined condition is that a write rate of the first storage region is larger than a given value.

9. The storage apparatus according to claim 1 , wherein

the predetermined condition is that a compression rate of the respective chunk is larger than a given value.

10. 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.

11. The storage medium according to claim 10 , wherein the acts further comprise:

in a case where an amount of metadata, which is the correspondences between feature values of compressed data stored in the append storage space and addresses in the volume, recorded in the management information becomes more than a specified value, delete the metadata whose feature values are not duplicated with other data from the management information.

12. The storage medium according to claim 11 , wherein the acts further comprise:

when fulfilling a predetermined condition, with respect to the write data of which the metadata has not been recorded in the management information or the management information which has been deleted, create the metadata.

13. 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.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2018
From: SAKAMOTO, KEISUKE; TAKEUCHI, HISAHARU; TAKEI, HARUKI; IKEDA, HAJIME
To: HITACHI, LTD.
Reel/Frame 045197/0205 →
Continuity (1)
Related Publication 20180253253A1 · Sep 6, 2018