SSD Compute Engine with Dynamic Local Memory Reallocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current enterprise systems are ill-equipped to manage large-scale data processing due to the time and cost associated with transferring data from solid state drives (SSDs) to host system main memory, as they rely on moving data for processing, which is inefficient for large datasets and requires prohibitively large DRAM capacity.
Innovation Solution
Integrating a compute engine within the SSD to perform data manipulation operations such as scanning, filtering, and joining, reducing the need for data transfer by bringing compute resources closer to the data, and dynamically reallocating local memory for logical to physical address translation to support compute operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is moved from SSD to host main memory for processing, then data processing capability is improved, but data transfer time and cost increase
Solution Approach 1:
The patent merges the compute engine with the SSD controller, integrating data processing capabilities directly into the storage device. This eliminates the need to transfer data to host memory for processing, as computations can be performed on data while it remains in the SSD, thereby reducing transfer time while maintaining processing capability.
Solution Approach 2:
The compute engine acts as an intermediary between the SSD storage and the host system. It enables data manipulation and processing operations to be performed locally within the SSD before data is transferred to the host, serving as a mediator that reduces the burden of data transfer while still providing processing functionality.
2Productivity
If large scale DRAM capacity is included in host systems for data processing, then data processing capability is improved, but cost and power consumption increase prohibitively
Solution Approach 1:
The compute engine is merged with the SSD controller, creating an integrated processing unit that can perform data operations locally. This eliminates the need for large DRAM capacity in the host system, as data can be processed in the SSD itself, thereby reducing power consumption while maintaining processing capability.
3Speed
If local memory is allocated for logical to physical address translation, then address translation efficiency is improved, but memory available for compute operations decreases
Solution Approach 1:
The patent implements dynamic memory allocation where the local memory buffer size for address translation is adjusted based on the specific data manipulation operation being performed. For operations that require extensive data movement, more memory is allocated to address translation buffers, while for operations that can work directly with data patterns, less memory is allocated, thereby optimizing the trade-off between address translation efficiency and compute operation memory availability.
Data Source
AI summary
A memory system (e.g. a solid state drive) includes one or more non-volatile memory die, a controller in communication with the memory die, a local memory connected to (or part of) the controller and a compute engine inside the memory system that is near the location of the data and can be used to perform common data manipulation operations. When the memory system receives instructions to use the compute engine to perform data manipulation operations, the local memory is reallocated such that an amount of space allocated in the local memory for logical to physical translation information is changed based on the one or more data manipulation instructions.


