In-Storage Computing Streams for Low-Latency Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage device architectures and CPU-centric computation paradigms introduce performance bottlenecks and throughput issues in data processing, necessitating improved techniques for faster data processing.

Innovation Solution

An application-defined storage architecture that offloads computation to the storage device, allowing direct interaction between the application and storage device, bypassing file system abstractions, and utilizing computational cores within the storage device to process data efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU-centric computation paradigm is used, then data processing can be performed, but performance bottlenecks and throughput issues occur

Engineering Contradiction:
Improvedata processing throughputVSAvoiddata processing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges computation and storage functions into a unified architecture where computational cores are integrated within the storage device. This allows data to be processed in-place without being transferred between separate CPU and storage components, eliminating data movement overhead and reducing processing latency while increasing throughput.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a file systemless direct access mechanism as an intermediary layer that enables applications to communicate directly with the storage device's computational cores. This bypasses traditional file system abstractions and CPU-mediated access paths, reducing latency and improving data processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If data is processed through file system abstractions, then data access is simplified, but performance and throughput are reduced

Engineering Contradiction:
Improvedata access simplicityVSAvoiddata processing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts and removes the file system abstraction layer from the data access path. By eliminating this intermediate software layer, applications can directly access and process data in the storage device with full throughput, while still maintaining ease of operation through direct programmable interfaces.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of having applications access data through file system abstractions (traditional approach), the patent inverts the architecture so that computational cores within storage directly process data and return results to applications. This reversal eliminates the performance bottleneck while maintaining operational simplicity.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If data is moved between CPU and storage device, then computation can be performed, but power consumption increases

Engineering Contradiction:
Improvecomputation capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent enables storage devices to perform computation autonomously through integrated computational cores. Data remains stationary in the storage device and is processed in-place without being transferred to the CPU, eliminating the energy consumption associated with data movement while maintaining full computation capability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12566641B2Systems and methods for offloading computation to a storage device
Publication Date: 2026.03.03 LEMON INC(GB)
  • US12566641B2 patent drawing
  • US12566641B2 patent drawing
  • US12566641B2 patent drawing

AI summary

The present disclosure describes techniques for offloading computation into a storage space. A plurality of streams may be created in a storage device in response to receiving information of defining the plurality of streams from an application. Each of the plurality of streams may be configured to contain a sequence of objects of a same type among a plurality of types of objects. The plurality of types of objects may be associated with one or more applications. Each of the plurality of streams may comprise a thread descriptor indicative of at least one algorithm to be applied to the sequence of objects. Data may be added to the plurality of streams. Computation associated with the plurality of streams may be offloaded into the storage device. The storage device may be associated with at least one computational core.