IP Library Granted Patent US 11,360,669
Granted Patent B2
US 11,360,669 · App. 17/172,206 · Granted Jun 14, 2022

Storage device accelerator providing aggregation of divided plaintext data

Inventors: Masahiro Tsuruya (Tokyo, JP); Nagamasa Mizushima (Tokyo, JP); Tomohiro Yoshihara (Tokyo, JP); Kentaro Shimada (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/0608G06F3/0641G06F16/1744G06F3/0659G06F3/0661G06F3/0673H03M7/70
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,360,669
App. No.
17/172,206
Granted
Jun 14, 2022
Kind
B2
Abstract

The storage device includes a first memory, a process device that stores data in the first memory and reads the data from the first memory, and an accelerator that includes a second memory different from the first memory. The accelerator stores compressed data stored in one or more storage drives storing data, in the second memory, decompresses the compressed data stored in the second memory to generate plaintext data, extracts data designated in the process device from the plaintext data, and transmits the extracted designated data to the first memory.

Claims (65)

1. A storage device comprising:

one or more storage drives that store compressed data where a plurality of items of plaintext data are compressed together; and

a controller including:

a first memory that functions as a cache for data;

a process device that responds to a host, stores data in the first memory and reads the data from the first memory;

an accelerator, that is different from the process device, and that includes a second memory different from the first memory; and

wherein, in response to a read request, the process device transmits an instruction to the one or more storage drives to store the compressed data in the second memory,

wherein, in accordance with the instruction, the one or more storage drives stores the compressed data, stored in the one or more storage drives, in the second memory;

wherein the accelerator:

decompresses the compressed data stored in the second memory to generate the plurality of items of plaintext data;

extracts data designated for reading by the process device from the plurality of items of plaintext data, wherein the data designated from the plurality of items of plaintext data is a subset of data from the plurality of plaintext items; and

transmits the extracted designated data to the first memory without transmitting data of the plurality of items of plaintext data that is not designated for reading by the process device to the first memory, and

wherein the process device transmits the data stored in the first memory to a request source of the read request.

2. The storage device according to claim 1 ,

wherein the accelerator:

receives a request that includes an address of the designated data from the process device; and

extracts the designated data from the plaintext data according to the address.

3. The storage device according to claim 1 ,

wherein the accelerator:

receives a request that includes a first address of the compressed data stored in the one or more storage drives and a second address of the designated data from the process device;

designates the first address, and instructs the one or more storage drives to transmit the compressed data to the second memory; and

extracts the designated data from the plaintext data according to the second address.

4. The storage device according to claim 1 ,

wherein the accelerator is included in an interface between the process device and the one or more storage drives.

5. The storage device according to claim 1 , further comprising:

a drive box that includes a plurality of storage drives including the one or more storage drives and a switch that bundles data transmission paths between the plurality of storage drives and the process device,

wherein the accelerator is connected to the switch in the drive box.

6. The storage device according to claim 1 ,

wherein plaintext data designated by the process device in one designation is divided into a plurality of items of divided data, and the plurality of items of divided data are compressed into a plurality of different items of compressed data and stored in the one or more storage drives, and

wherein the accelerator:

stores the plurality of different items of compressed data stored in the one or more storage drives in the second memory;

generates plaintext data from each of the plurality of different items of compressed data; and

extracts data designated for reading by the process device from each item of the plaintext data, and

wherein the process device collects the extracted designated data, forms read data, and responds to a host.

7. A method that is executed by a storage device,

wherein the storage device includes:

one or more storage drives that store compressed data where a plurality of items of plaintext data are compressed together, and

a controller including:

a first memory that functions as a cache for data;

a process device that responds to a host, stores data in the first memory and reads the data from the first memory; and

an accelerator, that is different from the process device, and that includes a second memory different from the first memory; and

wherein the method comprises the steps of:

transmitting, by the process device in response to a read request, an instruction to the one or more storage drives to store the compressed data in the second memory;

storing, by the one or more storage drives in response to the instruction, the compressed data, stored in the one or more storage drives, in the second memory;

decompressing, by the accelerator, the compressed data stored in the second memory to generate the plurality of items plaintext data;

extracting, by the accelerator, data designated for reading by the process device from the plurality of items of plaintext data, wherein the data designated from the plurality of items of plaintext data is a subset of data from the plurality of plaintext items;

transmitting, by the accelerator, the extracted designated data to the first memory without transmitting data of the plurality of items of plaintext data that is not designated for reading by the process device to the first memory; and

transmitting, by the process device, the data stored in the first memory to a request source of the read request.

8. The method according to claim 7 ,

wherein the accelerator:

receives a request that includes an address of the designated data from the process device; and

extracts the designated data from the plaintext data according to the address.

9. The method according to claim 7 ,

wherein the accelerator:

receives a request that includes a first address of the compressed data stored in the one or more storage drives and a second address of the designated data from the process device;

designates the first address, and instructs the one or more storage drives to transmit the compressed data to the second memory; and

extracts the designated data from the plaintext data according to the second address.

10. The method according to claim 7 ,

wherein plaintext data designated by the process device in one designation is divided into a plurality of items of divided data, and the plurality of items of divided data are compressed into a plurality of different items of compressed data and stored in the one or more storage drives, and

wherein the accelerator:

stores the plurality of different items of compressed data stored in the one or more storage drives in the second memory;

generates plaintext data from each of the plurality of different items of compressed data; and

extracts data designated for reading by the process device from each item of the plaintext data, and

wherein the process device collects the extracted designated data, forms read data, and responds to a host.

11. The storage device according to claim 1 , wherein the accelerator stores the plurality of items of plaintext data in the second memory.

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 10, 2021
From: TSURUYA, MASAHIRO; MIZUSHIMA, NAGAMASA; YOSHIHARA, TOMOHIRO; SHIMADA, KENTARO
To: HITACHI, LTD.
Reel/Frame 055210/0755 →
Priority Claims (2)
JP JP2020-066145 · Apr 1, 2020 · national
JP JP2020-139199 · Aug 20, 2020 · national
Continuity (1)
Related Publication 20210311664A1 · Oct 7, 2021