| CPC G06F 3/0608 (2013.01) [G06F 3/0641 (2013.01); G06F 16/1744 (2019.01); G06F 3/0659 (2013.01); G06F 3/0661 (2013.01); G06F 3/0673 (2013.01); G06F 2212/401 (2013.01); G11C 2207/102 (2013.01); H03M 7/70 (2013.01)] | 7 Claims |

|
1. A storage device comprising:
a storage controller; and
one or more storage drives where the storage controller reads and writes data,
wherein the storage controller reads compressed data from the one or more storage drives and generates read data requested from a host from the compressed data,
wherein a configuration of the read data includes, depending on a compression unit of the compressed data, a case where the read data consists of plaintext data decompressed from the compressed data and a case where the read data consists of designated data that is part of plaintext data decompressed from the compressed data,
wherein the storage controller 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, including a second memory different from the first memory,
wherein, in the case where the read data consists of the designated data that is part of plaintext data decompressed from the compressed data, the process device:
transmits a first instruction to the one or more storage drives to transmit the compressed data; and
transmits a second instruction including an internal address of a portion to be extracted from the compressed data to extract the designated data to the accelerator, and
wherein the accelerator:
receives the second instruction including the internal address of a portion to be extracted from the compressed data to extract the designated data from the process device;
stores the compressed data transmitted from the one or more storage drives in the second memory;
decompresses the compressed data stored in the second memory to generate plaintext data;
extracts the designated data that is part of the plaintext data from the plaintext data according to the internal address; and
stores the extracted designated data to the first memory.
|