Computational Storage Engine for In-Place Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing capacity of storage devices leads to significant data transfer times and processing burdens on host processors, causing latency and inefficiencies in data processing.
Innovation Solution
Incorporating a computational engine within the storage device to process data closer to the storage location, allowing for inline data processing through a unified command that reads, processes, and returns results without the need for extensive data transfer to host memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is transferred from storage device to main memory for processing, then the host processor can process the data, but the data transfer takes significant time and burdens the host processor
Solution Approach 1:
The patent introduces an in-storage computational engine as an intermediary component between the storage device and host processor. This computational engine executes processing commands directly within the storage device, eliminating the need to transfer large amounts of data to main memory. The computational engine acts as a mediator that performs data processing operations in-place, significantly reducing data transfer time and bandwidth requirements while maintaining processing capability.
Solution Approach 2:
The patent moves the computational capability from the traditional host processor dimension to a new dimension within the storage device itself. By embedding a computational engine in the storage device, the system creates a distributed processing architecture where computation and storage coexist in the same physical location, fundamentally changing the data processing paradigm from centralized host processing to distributed in-storage processing.
2Productivity
If the host processor executes commands to process data, then data processing can be performed, but the host processor is burdened with additional workload
Solution Approach 1:
The patent extracts the computational workload from the host processor and relocates it to an in-storage computational engine. The host processor retains responsibility for issuing high-level processing commands and receiving results, but the actual data processing operations are performed by the computational engine embedded in the storage device. This extraction of computational tasks significantly reduces the burden on the host processor while maintaining overall system processing capability.
Solution Approach 2:
The storage device with embedded computational engine provides self-service processing capabilities, executing data processing operations autonomously without requiring continuous host processor intervention. The computational engine can process data in-place using processing commands received from the host, eliminating the need for the host processor to manually transfer and process each data element, thereby reducing host processor burden while maintaining processing functionality.
3Ease of operation
If data is transferred to main memory for processing, then processing can occur, but significant time is lost during the transfer process
Solution Approach 1:
The patent implements preliminary action by enabling the computational engine to begin processing data immediately after it is read from the storage medium, without waiting for complete transfer to main memory. The computational engine processes data in-place as it becomes available, performing operations on data chunks before they would otherwise be fully transferred to host memory, thereby significantly reducing the effective transfer time and enabling earlier processing results.
Data Source
AI summary
A computational storage unit is disclosed. The computational storage unit may include a storage for a data and a controller to read the data from the storage. The computational storage unit may also include a computational engine to implement a function to process the data and generate a result. The computational storage unit may receive a command from a host processor and read the data from the storage, execute the function to process the data and generate the result, and return the result to the host processor based at least in part on the command.


