IP Library Granted Patent US 10,838,855
Granted Patent B2
US 10,838,855 · App. 16/328,145 · Granted Nov 17, 2020

Storage system and storage control method

Inventors: Naoya Machida (Tokyo, JP); Shigeo Homma (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F12/0246G06F3/064G06F3/0616G06F3/0688G06F3/0689G06F3/08G06F12/00G06F12/02G06F2212/1016G06F2212/7202
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,838,855
App. No.
16/328,145
Granted
Nov 17, 2020
Kind
B2
Abstract

This storage system has one or more non-volatile memory devices and a processor unit that comprises one or more processors connected to the one or more non-volatile memory devices. At least a portion of the non-volatile memory of each of the one or more non-volatile memory devices comprises a user area, which is a storage area to which data is written, and an update area, which is a storage area to which update data for the original data is written. The processor unit changes the user capacity, namely the capacity of the user area, of each of the one or more non-volatile memory devices on the basis of at least one of one or more resource usage rates of the one or more non-volatile memory devices.

Claims (71)

1. A storage system, comprising:

one or more non-volatile memory devices, each non-volatile memory device having a non-volatile memory and a plurality of resources including resources of a plurality of types; and

one or more processors connected to the one or more non-volatile memory devices,

wherein in each of the one or more non-volatile memory devices, at least a part of the non-volatile memory is constituted by a user area that is a storage area into which data is to be written and an update area that is a storage area into which update data for the data is to be written,

wherein the one or more processors is configured to change, based on at least one of one or more resource usage rates of the one or more non-volatile memory devices, a user capacity that is a capacity of the user area in each of the one or more non-volatile memory devices,

wherein with respect to each of the one or more non-volatile memory devices, a change in a user capacity is further based on an asynchronous processing performance with respect to each of the one or more non-volatile memory devices,

wherein with respect to at least one of the one or more non-volatile memory devices, any of the non-volatile memory device and the one or more processors is configured to execute an extensibility/reducibility determination that is a determination of a user capacity of the non-volatile memory device being any of extensible, reducible, and unchangeable based on a resource usage rate of the non-volatile memory device and an asynchronous processing performance of the non-volatile memory device,

wherein each of the one or more non-volatile memory devices is configured to execute:

a write process that is a process of writing, in response to a write command, write target data in accordance with the write command into the non-volatile memory of the non-volatile memory device; and

an asynchronous process that is a process performed asynchronously with the write process,

wherein with respect to each of the one or more non-volatile memory devices, a change in a user capacity is based on a result of the extensibility/reducibility determination with respect to at least one of the one or more non-volatile memory devices, and

wherein with respect to at least one of the one or more non-volatile memory devices,

when the resource usage rate of the non-volatile memory device is lower than a first usage rate and the asynchronous processing performance of the non-volatile memory device is lower than a first processing performance, the result of the extensibility/reducibility determination is extensible, and

when the resource usage rate of the non-volatile memory device is equal to or higher than a second usage rate and the asynchronous processing performance of the non-volatile memory device is equal to or higher than a second processing performance, the result of the extensibility/reducibility determination is reducible,

the second usage rate being equal to or higher than the first usage rate, and

the second processing performance being equal to or higher than the first processing performance.

2. The storage system according to claim 1 , wherein

with respect to at least one of the one or more non-volatile memory devices, each of the first and second processing performances is higher when a policy of capacity prioritized which prioritizes the user capacity being large over the performance of the write process being high is adopted than when a policy of performance prioritized which prioritizes the performance of the write process being high over the user capacity being large is adopted.

3. The storage system according to claim 1 , wherein

the one or more non-volatile memory devices are a plurality of non-volatile memory devices constituting a parity group, and

with respect to each of the plurality of non-volatile memory devices, a change in the user capacity is executed when results of the extensibility/reducibility determination for the plurality of non-volatile memory devices are the same.

4. The storage system according to claim 1 , wherein

with respect to at least one of the one or more non-volatile memory devices, when a free capacity in a user capacity of the non-volatile memory device falls below a prescribed capacity or a performance of a write process of the non-volatile memory device falls below a prescribed performance, any of the non-volatile memory device and the one or more processors is configured to execute the extensibility/reducibility determination.

5. The storage system according to claim 1 , wherein

with respect to each of the one or more non-volatile memory devices, a resource usage rate to which is referred in order to change a user capacity is a highest resource usage rate among a plurality of resource usage rates of the non-volatile memory device.

6. The storage system according to claim 1 , wherein

with respect to each of the one or more non-volatile memory devices, an amount of change with respect to a user capacity is constant.

7. The storage system according to claim 1 , wherein

with respect to each of the one or more non-volatile memory devices, an amount of change with respect to a user capacity is an amount obtained by subtracting a prescribed amount of margin from a maximum amount of change in accordance with a resource usage rate and an asynchronous processing performance.

8. The storage system according to claim 1 , wherein

with respect to each of the one or more non-volatile memory devices, a change in a user capacity is a change in an OP (Over Provisioning) rate, and

with respect to each of the one or more non-volatile memory devices, the OP rate is a value which is determined based on at least two of (a), (b), and (c) described below, and when the user capacity becomes larger, the value becomes smaller:

(a) a user capacity;

(b) an update capacity that is a capacity of an update area; and

(c) a physical capacity that is a capacity of a storage area constituted by the user area and the update area.

9. The storage system according to claim 1 , wherein

the one or more processors is configured to execute, with respect to at least one of the one or more non-volatile memory devices, display of information representing a present situation including a resource usage rate and a user capacity and a predicted situation including a resource usage rate and a user capacity when assuming that the user capacity is changed, and

the one or more processors is configured to change the user capacity with respect to each of the one or more non-volatile memory devices when receiving an instruction to make a change with respect to the display.

10. A storage control method, comprising:

acquiring one or more resource usage rates of one or more non-volatile memory devices, each non-volatile memory device having a non-volatile memory and a plurality of resources including resources of a plurality of types,

providing one or more processors connected to the one or more non-volatile memory devices,

wherein in each of the one or more non-volatile memory devices, at least a part of the non-volatile memory being constituted by a user region that is a storage area into which data is to be written and an update area that is a storage area into which update data for the data is to be written; and

changing, based on at least one of the acquired one or more resource usage rates, a user capacity that is a capacity of the user area with respect to each of the one or more non-volatile memory devices,

wherein with respect to each of the one or more non-volatile memory devices, a change in a user capacity is further based on an asynchronous processing performance with respect to each of the one or more non-volatile memory devices, and

wherein with respect to at least one of the one or more non-volatile memory devices, any of the non-volatile memory device and the one or more processors is configured to execute an extensibility/reducibility determination that is a determination of a user capacity of the non-volatile memory device being any of extensible, reducible, and unchangeable based on a resource usage rate of the non-volatile memory device and an asynchronous processing performance of the non-volatile memory device,

wherein each of the one or more non-volatile memory devices is configured to execute:

a write process that is a process of writing, in response to a write command, write target data in accordance with the write command into the non-volatile memory of the non-volatile memory device; and

an asynchronous process that is a process performed asynchronously with the write process,

wherein with respect to each of the one or more non-volatile memory devices, a change in a user capacity is based on a result of the extensibility/reducibility determination with respect to at least one of the one or more non-volatile memory devices, and

wherein with respect to at least one of the one or more non-volatile memory devices,

when the resource usage rate of the non-volatile memory device is lower than a first usage rate and the asynchronous processing performance of the non-volatile memory device is lower than a first processing performance, the result of the extensibility/reducibility determination is extensible, and

when the resource usage rate of the non-volatile memory device is equal to or higher than a second usage rate and the asynchronous processing performance of the non-volatile memory device is equal to or higher than a second processing performance, the result of the extensibility/reducibility determination is reducible,

the second usage rate being equal to or higher than the first usage rate, and

the second processing performance being equal to or higher than the first processing performance.

11. A non-volatile memory device, comprising:

a non-volatile memory; and

a plurality of resources which includes resources of a plurality of types and which are connected to the non-volatile memory, wherein

the plurality of resources which includes one or more processors,

at least a part of the non-volatile memory is constituted by a user area that is a storage area into which data is to be written and an update area that is a storage area into which update data for the data is to be written, and

the one or more processors is configured to change a user capacity that is a capacity of the user area to a user capacity in accordance with a determination based on at least one of one or more resource usage rates,

wherein with respect to the non-volatile memory, a change in a user capacity is further based on an asynchronous processing performance with respect to the non-volatile memory, and

wherein with respect to the non-volatile memory device, any of the non-volatile memory and the one or more processors is configured to execute an extensibility/reducibility determination that is a determination of a user capacity of the non-volatile memory being any of extensible, reducible, and unchangeable based on a resource usage rate of the non-volatile memory and an asynchronous processing performance of the non-volatile memory;

wherein the non-volatile memory device is configured to execute:

a write process that is a process of writing, in response to a write command, write target data in accordance with the write command into the non-volatile memory of the non-volatile memory device; and

an asynchronous process that is a process performed asynchronously with the write process,

wherein with respect to the non-volatile memory device, a change in a user capacity is based on a result of the extensibility/reducibility determination with respect the non-volatile memory device, and

wherein with respect to the non-volatile memory device,

when the resource usage rate of the non-volatile memory device is lower than a first usage rate and the asynchronous processing performance of the non-volatile memory device is lower than a first processing performance, the result of the extensibility/reducibility determination is extensible, and

when the resource usage rate of the non-volatile memory device is equal to or higher than a second usage rate and the asynchronous processing performance of the non-volatile memory device is equal to or higher than a second processing performance, the result of the extensibility/reducibility determination is reducible,

the second usage rate being equal to or higher than the first usage rate, and

the second processing performance being equal to or higher than the first processing performance.

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 Feb 26, 2019
From: MACHIDA, NAOYA; HOMMA, SHIGEO
To: HITACHI, LTD.
Reel/Frame 048437/0489 →
Continuity (1)
Related Publication 20190196962A1 · Jun 27, 2019