IP Library Granted Patent US 12705095
Granted Patent B2
US 12705095 · App. 18/450,364 · Granted Aug 11, 2026

Computational storage device and operation method thereof

Inventors: Yeohyeon Park (Seoul, KR); Seungjin Lee (Seoul, KR); Changgyu Lee (Seoul, KR); Youngjae Kim (Seoul, KR); Inhyuk Park (Icheon, KR); Soonyeal Yang (Icheon, KR); Woo Suk Chung (Icheon, KR)
Assignees: SK hynix Inc.; Sogang University Research and Business Development Foundation
G06F9/4881
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 12705095
App. No.
18/450,364
Granted
Aug 11, 2026
Kind
B2
Abstract

A computational storage device includes a storage device and a computation control circuit. The computation control circuit includes multi-core processor and is configured to generate an input/output (I/O) task according to an I/O command, generate a background task according to the I/O command, select an idle core among a plurality of cores in the multi-core processor to perform the background task, and control the storage device. The computation control circuit may include a task control module configured to select the idle core.

Claims (33)

1 . A computational storage device comprising:

a storage device; and

a computation control circuit including a multi-core processor and configured to:

generate an input/output (I/O) task according to an I/O command,

generate a background task according to the I/O command, and

control the storage device,

wherein the computation control circuit further includes a task control module comprising:

a core monitoring module configured to monitor respective states of operations of a plurality of cores in the multi-core processor for a current time window; and

a task scheduler module configured to generate the I/O task and the background task,

wherein the task scheduler module includes a core selection module configured to select a core to perform the background task by referencing the respective states of operations accumulated during a previous time window.

2 . The computational storage device of claim 1 , wherein the task control module includes:

a first storage control module configured to control the storage device corresponding to the I/O task;

a background task control module configured to process the background task; and

a second storage control module configured to control the storage device for an I/O task being generated during processing the background task.

3 . The computational storage device of claim 2 , wherein the task control module further comprises an I/O task control module configured to control the first storage control module.

4 . The computational storage device of claim 3 , wherein the I/O command is a key-value based command, and the storage device is a block based device, and the I/O task control module converts a key-value based command into a block based command.

5 . The computational storage device of claim 1 , wherein a designated core for processing the background task is different from the core selected for processing the I/O task.

6 . The computational storage device of claim 5 , wherein the designated core is designated by the I/O command.

7 . The computational storage device of claim 1 , wherein the background task includes data compression or duplicate data removal, and wherein a type of the background task is identified by an opcode included in the I/O command.

8 . A method of operating a computational storage device, the method comprising:

monitoring states of operations of a plurality of cores in a multi-core processor during a current time window;

generating an input/output (I/O) task corresponding to an I/O command;

generating a background task corresponding to the I/O command;

allocating the I/O task to a designated core among the plurality of cores;

selecting a core by referencing the respective states of operations accumulated during a previous time window;

allocating the background task to a selected core;

controlling a storage device to process the I/O task; and

controlling the storage device to process the background task.

9 . The method of claim 8 , wherein the selecting a core includes:

selecting a core determined to be in an idle state as the selected core based on the respective states of operations accumulated during the previous time window; and

selecting a core having lowest utilization among the plurality of cores as the selected core when none of the plurality of cores are determined to be in the idle state.

10 . The method of claim 8 , further comprising identifying a type of a background task from the I/O command, wherein the background task includes data compression or duplicate data removal.

11 . The method of claim 8 , further comprising generating a block based I/O command corresponding to the I/O command for the I/O task when the I/O command is a key-value based I/O command.