IP Library Granted Patent US 10,817,209
Granted Patent B2
US 10,817,209 · App. 16/295,766 · Granted Oct 27, 2020

Storage controller and storage control method

Inventors: Takaki Matsushita (Tokyo, JP); Tomohiro Kawaguchi (Tokyo, JP); Kazuei Hironaka (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/065G06F3/0604G06F3/0676G06F3/0679
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,817,209
App. No.
16/295,766
Granted
Oct 27, 2020
Kind
B2
Abstract

Provided is a storage controller that reduces a reference number to duplicate data even if there is duplicate data. The storage controller includes a memory and processor and is connected to a server and physical storage device. The memory stores a VOL management table, an address translation table, and a generation management table; registers a first provision volume and a first additional writing volume in the VOL management table; registers a reference destination of a first address of the first provision volume as a second address of the first additional writing volume in the address translation table. The processor receives a request for replication of the first provision volume; registers the second provision volume and the third provision volume in the generation management table as the child generation of the first provision volume; and processes the request to the first provision volume as a request to the third provision volume.

Claims (92)

1. A storage controller, comprising:

a first interface which connects the storage controller to a server;

a second interface which connects the storage controller to a physical storage device;

a memory which stores a plurality of programs and a plurality of tables;

a processor which executes a first program among the plurality of programs stored in the memory and controls the second interface in response to a request received at the first interface,

wherein the memory:

stores a VOL management table, an address translation table, and a generation management table as a part of the plurality of tables;

registers a first provision volume and a first additional writing volume in the VOL management table;

registers a reference destination of a first address of the first provision volume as a second address of the first additional writing volume in the address translation table; and

registers that there is no child generation of the first provision volume in the generation management table, and

the processor executes a second program among the plurality of programs stored in the memory,

so as to receive a request for replication of the first provision volume at the first interface;

to register a second provision volume and a second additional writing volume in the VOL management table;

to register a third provision volume and a third additional writing volume in the VOL management table;

to register the second provision volume and the third provision volume in the generation management table as the child generation of the first provision volume;

to register the first provision volume in the generation management table as a parent generation of each of the second provision volume and the third provision volume; and

to process the request to the first provision volume received at the first interface as a request to the third provision volume.

2. The storage controller according to claim 1 ,

wherein the processor executes a third program among the plurality of programs stored in the memory,

so as to set a write request to the first provision volume received at the first interface as a write request to the third provision volume, and control to write to the third additional writing volume, and

to control to write to the second additional writing volume in response to the write request to the second provision volume received at the first interface.

3. The storage controller according to claim 1 ,

wherein the processor executes a fourth program among the plurality of programs stored in the memory,

so as to set a read request to the first provision volume received at the first interface as a read request to the third provision volume, specify the first provision volume of the parent generation of the third provision volume registered in the generation management table, and set it as the read request to the first provision volume of the parent generation, and

to specify the first provision volume of the parent generation of the second provision volume registered in the generation management table, and set it as the read request to the first provision volume of the parent generation in response to the read request to the second provision volume received at the first interface.

4. The storage controller according to claim 3 ,

wherein the processor executes the fourth program, so as to control to read from the second address of the first additional writing volume registered in the address translation table as the reference destination of the first address of the first provision volume of the parent generation.

5. The storage controller according to claim 1 ,

wherein the processor executes the second program among the plurality of programs stored in the memory,

so as to receive a request for replication of the second provision volume at the first interface;

to register a fourth provision volume and a fourth additional writing volume in the VOL management table;

to register a fifth provision volume and a fifth additional writing volume in the VOL management table;

to register the fourth provision volume and the fifth provision volume in the generation management table as the child generation of the second provision volume;

to register the second provision volume in the generation management table as the parent generation of each of the fourth provision volume and the fifth provision volume; and

to process the request to the second provision volume received at the first interface as a request to the fifth provision volume.

6. The storage controller according to claim 2 ,

wherein the processor executes a fifth program among the plurality of programs stored in the memory,

so as to set a deletion request to the first provision volume received at the first interface as a deletion request to the third provision volume, control to delete the third additional writing volume, delete the third provision volume registered in the generation management table as the child generation of the first provision volume, and

to control to delete the second additional writing volume, delete the second provision volume registered in the generation management table as the child generation of the first provision volume in response to the deletion request to the second provision volume received at the first interface.

7. The storage controller according to claim 4 ,

wherein a reference destination of the first address of the first provision volume is registered as the second address of the first additional writing volume in the address translation table,

the processor executes a sixth program among the plurality of programs stored in the memory, so as to replicate the data of the second address to a third address for a garbage collection, and change the second address registered in the address translation table to the third address, and

the processor executes the fourth program after an execution of the sixth program, so as to control to read from the third address of the first additional writing volume registered in the address translation table as the reference destination of the first address of the first provision volume of the parent generation in response to the read request to the first address of the first provision volume or the second provision volume received at the first interface.

8. The storage controller according to claim 2 ,

wherein the processor executes the third program, so as to control to write to the third additional writing volume and the second additional writing volume, and

the processor executes a seventh program among the plurality of programs stored in the memory after executing the third program,

so as to refer to the information of the child generation of the first provision volume registered in the generation management table, and delete the second address of the first additional writing volume of the reference destination of the first address of the first provision volume registered in the address translation table, and

delete the first provision volume and the first additional writing volume when the second address of the first additional writing volume disappears in the address translation table.

9. A storage controller, comprising:

a first interface which connects the storage controller to a server;

a second interface which connects the storage controller to a physical storage device;

a memory which stores a plurality of programs and a plurality of tables;

a processor which executes a first program among the plurality of programs stored in the memory and controls the second interface in response to a request received at the first interface,

wherein the memory:

stores a VOL management table, an address translation table, and a generation management table as a part of the plurality of tables;

registers a first provision volume and a first additional writing volume in the VOL management table;

registers the reference destination of the first address of the first provision volume as the second address of the first additional writing volume in the address translation table; and

registers that there is no child generation of the first provision volume in the generation management table;

the processor executes the eighth program among the plurality of programs stored in the memory,

so as to receive the request for replication of the first provision volume at the first interface;

to register a third provision volume and a third additional writing volume in the VOL management table;

to register the third provision volume in the generation management table as the child generation of the first provision volume;

to register the first provision volume in the generation management table as each parent generation of the third provision volume;

to process the request to the first provision volume received at the first interface as the request to the third provision volume.

10. The storage controller according to claim 9 ,

wherein the processor executes a ninth program among the plurality of programs stored in the memory,

so as to receive a request to the second provision volume at the first interface;

to attach the first provision volume to the second provision volume, and

to process the request to the second provision volume received at the first interface as a request to the first provision volume.

11. The storage controller according to claim 9 ,

wherein the processor executes a tenth program among the plurality of programs stored in the memory,

so as to copy the data written to the first additional writing volume to the third additional writing volume,

to register the second address of the third additional writing volume in the address translation table as the reference destination of the first address of the third provision volume; and

to delete the first provision volume and the first additional writing volume when the second address of the first additional writing volume disappears in the address translation table.

12. A storage control method according to a computer,

wherein the computer including:

a first interface which connects the computer to a server;

a second interface which connects the computer to a physical storage device;

a memory which stores the plurality of programs and the plurality of tables;

a processor which executes a first program among the plurality of programs stored in the memory and controls the second interface in response to a request received at the first interface,

wherein the memory:

stores a VOL management table, an address translation table, and a generation management table as a part of the plurality of tables;

registers a first provision volume and a first additional writing volume in the VOL management table;

registers a reference destination of a first address of the first provision volume as a second address of the first additional writing volume in the address translation table; and

registers that there is no child generation of the first provision volume in the generation management table,

the processor executes the second program among the plurality of programs stored in the memory,

so as to receive the request for replication of the first provision volume at the first interface;

to register a second provision volume and a second additional writing volume in the VOL management table;

to register a third provision volume and a third additional writing volume in the VOL management table;

to register the second provision volume and the third provision volume in the generation management table as the child generation of the first provision volume;

to register the first provision volume in the generation management table as a parent generation of each of the second provision volume and the third provision volume; and

to process the request to the first provision volume received at the first interface as the request to the third provision volume.

Assignments (3)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY NAME PREVIOUSLY RECORDED AT REEL: 048547 FRAME: 0882. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 30, 2020
From: MATSUSHITA, TAKAKI; KAWAGUCHI, TOMOHIRO; HIRONAKA, KAZUEI
To: HITACHI, LTD.
Reel/Frame 053082/0984 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: MATSUSHITA, TAKAKI; KAWAGUCHI, TOMOHIRO; HIRONAKA, KAZUEI
To: HITACHI LTD.
Reel/Frame 048547/0882 →
Priority Claims (1)
JP 2018-175810 · Sep 20, 2018 · national
Continuity (1)
Related Publication 20200097179A1 · Mar 26, 2020
Cited By (1)
US 12,536,136