IP Library Granted Patent US 11,210,032
Granted Patent B1
US 11,210,032 · App. 17/190,152 · Granted Dec 28, 2021

Storage device and data processing method

Inventors: Takashi Nagao (Tokyo, JP); Tomohiro Yoshihara (Tokyo, JP); Akira Yamamoto (Tokyo, JP); Yuusaku Kiyota (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/0661G06F3/0608G06F3/0641G06F3/0673H03M7/6011
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 11,210,032
App. No.
17/190,152
Granted
Dec 28, 2021
Kind
B1
Abstract

The present invention realizes a storage device that has a high data reduction effect without decreasing I/O performances. The storage device includes a processor, an accelerator, a memory, and a storage medium, the processor specifies data to be compressed that is data stored in the storage medium from data stored in the memory and transmits a compression instruction including information relating to the data to be compressed to the accelerator, and the accelerator reads the plurality of continuous items of data from the memory and compresses the plurality of items of data to be compressed obtained by excluding data that is not to be compressed from the plurality of items of data, based on the information relating to the data to be compressed received from the processor, to generate compressed data stored in the storage device.

Claims (97)

1. A storage device comprising:

a processor;

an accelerator;

a memory; and

a storage device including a storage medium,

wherein the memory stores a plurality of continuous items of data,

wherein the processor:

identifies, from among the plurality of continuous items of data, data to be compressed that is data to be stored in the storage medium and data that is not to be compressed that is data to not be stored in the storage medium, and

transmits a compression instruction for the plurality of continuous items of data including information indicating which of the plurality of continuous items of data are to be compressed to the accelerator, and

the accelerator:

reads the plurality of continuous items of data, which includes the data to be compressed and the data that is not to be compressed, from the memory,

combines the data to be compressed by excluding the data that is not to be compressed from the plurality of continuous items of data, based on the compression instruction received from the processor, and

compresses the combined data to generate compressed data to be stored in the storage medium.

2. The storage device according to claim 1 , wherein

the processor executes a deduplication process on a data string stored in the memory and configured from the plurality of continuous items of data, and

the data that is not to be compressed is data that is not to be stored in the storage medium in the deduplication process.

3. The storage device according to claim 2 , wherein

the processor identifies the data to be compressed from the data that configures a first data string based on a result of the deduplication process with respect to the first data string, and

generates first position information indicating a position of the data to be compressed in the first data string, as the information relating to the data to be compressed, and

if the compression instruction is received, the accelerator reads the first data string from the memory and obtains the data to be compressed from the first data string based on the first position information.

4. The storage device according to claim 3 , wherein

the storage device maintains deduplicated data management information in which data deleted by the deduplication process and a reference destination that is referred to for obtaining the corresponding data are associated, and

the processor:

obtains data that configures a read data string to be a target of a read request based on the deduplicated data management information and that is deleted by the deduplication process, from the reference destination, if the read request is received, and stores the data in the memory,

obtains the compressed data generated from the data that configures the read data string, from the storage medium, and stores the compressed data in the memory, and

transmits a decompression instruction including second position information indicating positions of a plurality of items of data that configure a data string obtained by decompressing the compressed data in each read data string, to the accelerator, and

the accelerator:

generates a second data string by decompressing the obtained compressed data, if the decompression instruction is received, and

stores each of the plurality of items of data that configures the second data string in the memory, so that the read data string is configured based on the second position information.

5. The storage device according to claim 2 , wherein

the processor:

identifies each of the data to be compressed of the plurality of data strings based on a result of the deduplication process with respect to the plurality of data strings, and

generates third position information indicating a position of the data to be compressed in each of the plurality of data strings, as the information indicating which of the Plurality of continuous items of data are to be compressed, and

if the compression instruction is received, the accelerator reads the plurality of data strings from the memory and obtains a predetermined number of items of the data to be compressed, from the plurality of data strings based on the third position information.

6. The storage device according to claim 5 , wherein

first compressed data generated from a data string configured with first data is stored,

the processor;

reads the first compressed data from the storage medium and stores the first compressed data in the memory, if it is not required to maintain the first data by writing of a new data string, and

transmits a decompression instruction of the first compressed data to the accelerator,

the accelerator generates a third data string by decompressing the first compressed data and stores the third data string in the memory,

the processor transmits a compression instruction including information relating to the first data to the accelerator, and

the accelerator obtains data excluding the first data from data that configures the third data string, and

compresses a fourth data string configured with the obtained data to generate second compressed data.

7. The storage device according to claim 5 , wherein

first compressed data generated from a data string configured with first data is stored,

the processor:

reads the first compressed data from the storage medium and stores the first compressed data in the memory, if it is not required to maintain the first data by writing a new data string, and

transmits a re-compression instruction including information relating to the first data to the accelerator, and

the accelerator:

generates a third data string by decompressing the first compressed data and stores the third data string in the memory, if the re-compression instruction is received,

obtains data excluding the first data from data configuring the third data string, and

compresses a fourth data string configured with the obtained data, to generate second compressed data.

8. A data processing method executed by a storage device, wherein

the storage device includes a processor, an accelerator, a memory, and a storage medium,

the data processing method comprising the steps of:

identifying, by the processor, from among the plurality of continuous items of data, data to be compressed that is data to be stored in the storage medium and data that is not to be compressed that is data to not be stored in the storage medium, and

transmitting, by the processor, a compression instruction for the plurality of continuous items of data including information indicating which of the plurality of continuous items of data are to be compressed to the accelerator, and

reading, by the accelerator, the plurality of continuous items of data, which includes the data to be compressed and the data that is not to be compressed, from the memory,

combining, by the accelerator, the data to be compressed by excluding the data that is not to be compressed from the plurality of continuous items of data, based on the compression instruction received from the processor, and

compressing, by the accelerator, the combined data to generate compressed data to be stored in the storage medium.

9. The data processing method according to claim 8 ,

further comprising the steps of:

executing, by the processor, a deduplication process on a data string stored in the memory and configured from the plurality of continuous items of data,

wherein the data that is not to be compressed is data that is not to be stored in the storage medium in the deduplication process.

10. The data processing method according to claim 9 ,

wherein the step of identifying includes:

identifying, by the processor, the data to be compressed from the data that configures a first data string based on a result of the deduplication process with respect to the first data string, and

generating, by the processor, first position information indicating a position of the data to be compressed in the first data string, as the information relating to the data to be compressed, and

the step of reading includes reading, by the accelerator, the first data string from the memory and obtaining the data to be compressed from the first data string based on the first position information.

11. The data processing method according to claim 10 , wherein

the storage device maintains deduplicated data management information in which data deleted by the deduplication process and a reference destination that is referred to for obtaining the corresponding data are associated, and

the data processing method further comprises the steps of:

obtaining, by the processor, data that configures a read data string to be a target of a read request based on the deduplicated data management information and that is deleted by the deduplication process, from the reference destination, if the read request is received, and storing the data in the memory,

obtaining, by the processor, the compressed data generated from the data that configures the read data string, from the storage medium, and storing the compressed data in the memory,

transmitting, by the processor, a decompression instruction including second position information indicating positions of a plurality of items of data that configure a data string obtained by decompressing the compressed data in each read data string, to the accelerator,

generating, by the accelerator, a second data string by decompressing the obtained compressed data, and

storing, by the accelerator, each of the plurality of items of data that configures the second data string in the memory based on the second position information, so that the read data string is configured.

12. The data processing method according to claim 9 , wherein

the step of identifying includes:

identifying, by the processor, each of the data to be compressed of the plurality of data strings based on a result of the deduplication process with respect to the plurality of data strings, and

generating, by the processor, third position information indicating a position of the data to be compressed in each of the plurality of data strings, as the information indicating which of the plurality of continuous items of data are to be compressed, and

the step of reading includes reading, by the accelerator, the plurality of data strings from the memory and obtaining a predetermined number of items of the data to be compressed, from the plurality of data strings based on the third position information.

13. The data processing method according to claim 12 ,

wherein the storage device stores first compressed data generated from a data string configured with first data,

the data processing method further comprises the steps of:

reading, by the processor, the first compressed data from the storage medium and storing the first compressed data in the memory, if it is not required to maintain the first data by writing of a new data string,

transmitting, by the processor, a decompression instruction of the first compressed data to the accelerator,

generating, by the accelerator, a third data string by decompressing the first compressed data and storing the third data string in the memory,

transmitting, by the processor, a compression instruction including information relating to the first data to the accelerator, and

obtaining, by the accelerator, data excluding the first data from data that configures the third data string, and compressing a fourth data string configured with the obtained data to generate second compressed data.

14. The data processing method according to claim 12 , wherein

the storage device stores first compressed data generated from a data string configured with first data,

the data processing method further comprises the steps of:

reading, by the processor, the first compressed data from the storage medium and storing the first compressed data in the memory, if it is not required to maintain the first data by writing a new data string,

transmitting, by the processor, a re-compression instruction including information relating to the first data to the accelerator,

generating, by the accelerator, a third data string by decompressing the first compressed data and storing the third data string in the memory, if the re-compression instruction is received, and

obtaining, by the accelerator, data excluding the first data from data configuring the third data string and compressing a fourth data string configured with the obtained data, to generate second compressed data.

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 2, 2021
From: NAGAO, TAKASHI; YOSHIHARA, TOMOHIRO; YAMAMOTO, AKIRA; KIYOTA, YUUSAKU
To: HITACHI, LTD.
Reel/Frame 055463/0186 →
Priority Claims (1)
JP JP2020-156106 · Sep 17, 2020 · national
Cited By (1)
US 12,393,337