Offload Kernel Extensions for Computational Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

OpenCL-based offload kernels typically require data to be transferred between a host compute device and a data storage device for processing, leading to inefficient data flow.

Innovation Solution

Implementing offload kernels within the data storage device to enable direct data processing, utilizing an extended API to instantiate kernels on unused processor cores or dedicated controllers, and leveraging in-built read, compute, and write kernels for efficient data operations without transferring data to the host device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred between host compute device and data storage device for processing, then OpenCL offload kernels can be executed, but data transfer overhead increases and efficiency decreases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoiddata transfer overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges the data storage device and data processing functions by enabling OpenCL offload kernels to execute directly on the storage device's processor cores. This integration eliminates the need for data to be transferred to the host compute device for processing, allowing storage and computation to occur in the same location, thereby reducing data transfer overhead and improving processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The data storage device performs data processing operations on its own stored data without requiring external intervention from the host compute device. By executing offload kernels locally on unused processor cores within the storage device, the system enables self-service data processing that eliminates wasteful data round-trips to the host.

Inventive Principle:
Principle #25Self-service

2Productivity

If data is transferred to host memory for processing, then computation can be performed, but data flow becomes wasteful and time-consuming

Engineering Contradiction:
Improvecomputation speedVSAvoiddata transfer time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines storage and computation operations by allowing OpenCL offload kernels to execute directly on the data storage device's processor cores. This merging eliminates the time-consuming data transfer cycle between storage device and host memory, enabling computation to occur where data resides, thereby improving computation speed and reducing data transfer time.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system prepares for efficient computation by identifying and utilizing unused processor cores within the data storage device before data transfer is needed. By having computation resources ready and available locally, the system eliminates the need to transfer data to host memory for processing, thereby reducing data transfer time and improving overall computation speed.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If OpenCL kernels are executed on host compute device, then data processing can be performed, but data must be transferred to and from host memory

Engineering Contradiction:
Improveprocessing flexibilityVSAvoiddata transfer overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent extends the universality of the data storage device by enabling it to perform both data storage and data processing functions. By implementing OpenCL runtime support and allowing offload kernels to execute on the storage device's processor cores, the system makes the storage device a multi-functional unit that can handle various computation tasks locally, reducing data transfer overhead while maintaining processing flexibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The data storage device acts as an intermediary between data storage and data processing operations. Instead of requiring all processing to occur on the host compute device, the storage device serves as a local intermediary that can execute computation kernels directly on stored data, eliminating the need for data to traverse to and from host memory and reducing overall data transfer overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10719462B2Technologies for computational storage via offload kernel extensions
Publication Date: 2020.07.21 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US10719462B2 patent drawing
  • US10719462B2 patent drawing
  • US10719462B2 patent drawing

AI summary

Technologies for data processing or computation on data storage devices include a data storage controller. The data storage controller is configured to receive a data request from a compute device, determine an input data range specified by the compute device to be processed in the data storage device without sending data located at the input data to the compute device, read input data from the input data range, perform a data operation on the input data specified by the compute device to generate output data, and write the output data to an output data range specified by the compute device.