IP Library Granted Patent US 10,846,231
Granted Patent B2
US 10,846,231 · App. 15/741,097 · Granted Nov 24, 2020

Storage apparatus, recording medium, and storage control method

Inventors: Natsuki Kusuno (Tokyo, JP); Toshiya Seki (Tokyo, JP); Tomohiro Nishimoto (Tokyo, JP); Takaki Matsushita (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F12/0893G06F3/0608G06F3/0631G06F3/0656G06F3/0683G06F11/1076G06F12/0246G06F12/0804G06F12/0868G06F2212/1044G06F2212/214G06F2212/262G06F2212/312G06F2212/401G06F2212/7201
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,846,231
App. No.
15/741,097
Granted
Nov 24, 2020
Kind
B2
Abstract

To prevent an excessive increase of a dirty data amount in a cache memory. A processor acquires storage device information from each of storage devices. When receiving a write request to a first storage device group from a higher-level apparatus, the processor determines whether a write destination cache area corresponding to a write destination address indicated by the write request is reserved. When determining that the write destination cache area is not reserved, the processor performs, on the basis of the storage device information and cache information, reservation determination for determining whether to reserve the write destination cache area. When determining to reserve the write destination cache area, the processor reserves the write destination cache area. When determining not to reserve the write destination cache area, the processor stands by for the reservation of the write destination cache area.

Claims (77)

1. A storage apparatus comprising:

a plurality of storage devices;

a first memory; and

a processor coupled to the plurality of storage devices, the first memory, and a higher-level apparatus, wherein the storage apparatus is operable to

configure, via the processor, at least a part of the plurality of storage devices as a first storage device group,

create, via the processor, cache information that indicates a state of a plurality of cache areas in the first memory,

associate, via the processor, with the first storage device group, the cache areas in which data from the higher-level apparatus is stored,

acquire, via the processor, storage device information from each of the storage devices,

when receiving a write request to the first storage device group from the higher-level apparatus:

determine, via the processor, a first indication that indicates whether the first storage device group is available for destaging based on the storage device information and the cache information,

determine, via the processor, a second indication that indicates whether a write destination cache area corresponding to a write destination address indicated by the write request is reserved based on the first indication,

on a condition that the second indication indicates the destination cache area is reserved:

transmit, to the higher-level apparatus, a WR data transfer permission notification for causing the higher-level apparatus to transmit write data,

receive, via the processor, the write data from the higher-level apparatus, and write the write data in the write destination cache area,

destage, via the processor, the write data in the write destination cache area to the write destination address,

compress, via at least one of the plurality of storage devices, destaged data to convert the destaged data into compressed data, and

store, via at least one of the plurality of storage devices, the compressed data and storage device information based on a use amount of the plurality of storage devices,

on a condition that the second indication indicates that the destination cache area is not reserved:

determine, via the processor, a third indication of whether to reserve the write destination cache area based on the first indication, the storage device information, and the cache information,

on a condition that the third indication indicates to reserve the write destination cache area, reserve the write destination cache area, and

on a condition that the third indication indicates not to reserve the write destination cache area, standby for a subsequent reservation of the write destination cache area.

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

calculate a physical free capacity of the first storage device group based on the storage device information, and

calculate a scheduled destage amount based on the cache information, wherein the scheduled destage amount is an amount of data to be destaged to the first storage device group,

wherein the first indication indicates that the first storage device group is available for destaging when the free capacity is larger than the scheduled destage amount.

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

provide a virtual volume to the higher-level apparatus, and allocate a physical storage area in the first storage device group to a virtual storage area in the virtual volume.

4. The storage apparatus according to claim 3 , wherein the processor is further configured to:

configure, as a second storage device group, a part of the plurality of storage devices other than the first storage device group,

determine a fourth indication that indicates whether the first storage device group satisfies a preset depletion condition based on the storage device information, and

on a condition that the fourth indication indicates that the depletion condition is satisfied, migrate data stored in a first physical storage area in the first storage device group to a second physical storage area in the second storage device group and allocate the second physical storage area to the virtual storage area to which the first physical storage area is allocated.

5. The storage apparatus according to claim 4 , wherein the processor is further configured to:

calculate a dirty data amount of the cache area corresponding to the first storage device group based on the cache information,

determine a margin concerning the dirty data amount based on the storage device information, and

calculate a sum of the dirty data amount and the margin as the scheduled destage amount.

6. The storage apparatus according to claim 5 , wherein

the storage device is configured to include a storage device controller coupled to the processor and a nonvolatile semiconductor memory coupled to the storage device controller, and

the storage device controller is configured to perform compression of the destaged data, wherein the destaged data includes the dirty data, and write the compressed data in the nonvolatile semiconductor memory.

7. The storage apparatus according to claim 1 , further comprising a second memory coupled to the processor, wherein

when a cache area corresponding to the write destination is reserved in both of the first memory and the second memory, the processor is configured to determine that the write destination cache area is reserved, and

when receiving the write data from the higher-level apparatus, the processor is configured to write the write data in both of the first memory and the second memory.

8. A non-transitory computer-readable recording medium storing a program that when executed by a processor causes:

configuring, via the processor, at least a part of a plurality of storage devices as a first storage device group, wherein the first storage device group is coupled to the processor;

creating, via the processor, cache information that indicates a state of a plurality of cache areas in a first memory, wherein the first memory is coupled to the processor;

associating, via the processor, the cache areas in which data from a higher-level apparatus is stored with the first storage device group;

acquiring, via the processor, storage device information from each of the storage devices;

when receiving, via the processor, a write request to the first storage device group from the higher-level apparatus;

determining, via the processor, a first indication that indicates whether the first storage device group is available for destaging based on the storage device information and the cache information;

determining, via the processor, a second indication that indicates whether a write destination cache area corresponding to a write destination address indicated by the write request is reserved based on the first indication;

on a condition that the second indication indicates the destination cache area is reserved:

transmitting, via the processor, to the higher-level apparatus, a WR data transfer permission notification for causing the higher-level apparatus to transmit write data,

receiving, via the processor, the write data from the higher-level apparatus, and write the write data in the write destination cache area;

destaging, via the processor, the write data in the write destination cache area to the write destination address;

compress, via at least one of the plurality of storage devices, destaged data to convert the destaged data into compressed data; and

store, via at least one of the plurality of storage devices, the compressed data and storage device information based on a use amount of the plurality of storage devices,

on a condition that the second indication indicates that the destination cache area is not reserved:

determining, via the processor, a third indication of whether to reserve the write destination cache area based on the first indication, the storage device information, and the cache information,

on a condition that the third indication indicates to reserve the write destination cache area reserve the write destination cache area, and

on a condition that the third indication indicates not to reserve the write destination cache area, standby for a subsequent reservation of the write destination cache area.

9. A storage control method comprising:

configuring at least a part of a plurality of storage devices as a first storage device group;

creating cache information that indicates a state of a plurality of cache areas in a first memory;

associating, with the first storage device group, the cache areas in which data from a higher-level apparatus is stored;

acquiring storage device information from each of the storage devices,

when receiving a write request to the first storage device group from the higher-level apparatus:

determining a first indication that indicates whether the first storage device group is available for destaging based on the storage device information and the cache information;

determining a second indication that indicates whether a write destination cache area corresponding to a write destination address indicated by the write request is reserved;

on a condition that the second indication indicates the destination cache area is reserved:

transmit, to the higher-level apparatus, a WR data transfer permission notification for causing the higher-level apparatus to transmit write data,

receive the write data from the higher-level apparatus, and write the write data in the write destination cache area,

destage the write data in the write destination cache area to the write destination address,

compressing, via at least one of the plurality of storage devices, the destaged data to convert the destaged data into compressed data, and

storing, via at least one of the plurality of storage devices, the compressed data and storage device information based on a use amount of the plurality of storage devices,

on a condition that the second indication indicates that the write destination cache area is not reserved:

determining a third indication that indicates whether to reserve the write destination cache area based on the first indication, the storage device information, and the cache information,

on a condition that the third indication indicates to reserve the write destination cache area, reserving the write destination cache area, and

on a condition that the third indication indicates not to reserve the write destination cache area, standing by for a subsequent reservation of the write destination cache area.

Assignments (3)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PUNCTUATION OF THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 044520 FRAME: 0277. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 8, 2020
From: KUSUNO, NATSUKI; SEKI, TOSHIYA; NISHIMOTO, TOMOHIRO; MATSUSHITA, TAKAKI
To: HITACHI, LTD.
Reel/Frame 054032/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2018
From: KUSUNO, NATSUKI; SEKI, TOSHIYA; NISHIMOTO, TOMOHIRO; MATSUSHITA, TAKAKI
To: HITACHI, LTD.
Reel/Frame 044520/0277 →
Continuity (1)
Related Publication 20180196755A1 · Jul 12, 2018