SSD Compute Engine Local Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solid state drives (SSDs) are inefficient in performing complex data manipulation, leading to wait times and hindering system performance in large-scale storage applications, as they rely on external processors for computation, resulting in data movement that decreases performance.
Innovation Solution
Incorporating a storage central processing unit (SCPU) and a compute engine within the SSD to perform computations locally, reducing the need for data movement by allowing the SCPU or compute engine to handle data processing and invoking the appropriate Flash Translation Layer (FTL) applications based on workload, thereby offloading computation from the host.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If SSDs rely on external processors for computation, then the SSD structure remains simple, but data movement increases and system performance decreases
Solution Approach 1:
The patent merges the compute engine directly into the SSD controller, combining storage and computation functions in a single integrated unit. This eliminates the need for separate external processors and reduces data movement between components, thereby improving system performance while managing power consumption through localized processing.
Solution Approach 2:
The compute engine acts as an intermediary between the host processor and the storage media. It handles computation tasks locally within the SSD, reducing the burden on the host processor and minimizing data movement across the interface, which improves overall system productivity without requiring additional external processing components.
2Loss of time
If computation is performed by external processors, then device complexity remains low, but data movement across interfaces increases latency
Solution Approach 1:
The compute engine is integrated into the SSD controller architecture, merging storage control and computation functions. This reduces latency by enabling local processing of data requests without requiring data to be moved to external processors and back, while the integrated design keeps the overall device complexity manageable.
Solution Approach 2:
The patent adds a computation dimension to the traditional storage device by incorporating a compute engine. This transforms the SSD from a passive storage medium into an active processing node, enabling parallel computation and storage operations that reduce latency without significantly increasing physical complexity.
3Productivity
If SSDs lack complex data manipulation capability, then device complexity is low, but system productivity in large-scale storage applications decreases
Solution Approach 1:
The compute engine integrates multiple data manipulation capabilities including compression, encryption, and data transformation functions directly within the SSD controller. This enables the SSD to perform complex operations locally, improving system productivity in large-scale storage applications while keeping the device architecture unified and manageable.
Solution Approach 2:
The compute engine is designed as a universal processing unit that can execute various computation tasks including data compression, encryption, filtering, and transformation. This multi-functional capability enables the SSD to adapt to different application requirements and perform complex data manipulation operations without requiring multiple specialized external processors.
Data Source
AI summary
An embodiment of the invention includes a storage subsystem having a storage central processing unit (SCPU) operable to receive and send a command to a host, the command requiring data computation, a compute engine coupled to the SCPU, and a bank of memory devices coupled to the SCPU and the compute engine and configured to store data required by the commands, wherein the SCPU or the compute engine are operable to perform computation of the data and to further invoke an appropriate Flash Translation Layer (FTL) application based on workload.


