In-Storage Computing Controller for Data Extraction Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data server systems face inefficiencies in data extraction and traffic management due to the need for processors to handle large amounts of data, leading to high computing power requirements and network traffic.
Innovation Solution
A storage device with a non-volatile memory and controller, capable of receiving and processing data processing codes generated by a host, performing in-storage computing operations, and transmitting results back to the host, thereby reducing the load on the host and network traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is transmitted from database to server and processed by server processor, then data extraction can be performed, but data traffic between server and database increases and computing power requirement increases
Solution Approach 1:
The patent extracts the data processing function from the server and relocates it to the storage device. The storage device receives data from the database and performs extraction operations locally, then transmits only the extracted results to the server. This extraction of processing capability reduces network traffic and server computing power requirements while maintaining data extraction efficiency.
Solution Approach 2:
The storage device acts as an intermediary between the database and the server. It receives data from the database, performs processing operations, and sends results to the server. This intermediary role reduces the direct data traffic burden on the server and enables more efficient data extraction without requiring the server to handle all processing tasks.
2Productivity
If processor extracts desired data from big data in main memory, then data extraction is performed, but data traffic between server and database is not decreased
Solution Approach 1:
The patent extracts the data processing function from the server and relocates it to the storage device. The storage device receives data from the database and performs extraction operations locally, then transmits only the extracted results to the server. This extraction of processing capability reduces network traffic and server computing power requirements while maintaining data extraction efficiency.
Solution Approach 2:
The storage device performs data extraction operations before the data reaches the server. By conducting preliminary processing at the storage device, the system reduces the volume of data that needs to be transmitted to the server, thereby decreasing network traffic while maintaining the server's data extraction capability.
3Loss of energy
If storage device performs in-storage computing operations, then network traffic and computing power requirement are reduced, but device complexity increases
Solution Approach 1:
The storage device is designed with multi-functionality, combining storage capabilities with computing functions. The controller includes a CPU with multiple cores that can execute data processing codes, and the device can perform various computing operations directly on stored data. This universal design reduces network traffic and computing power requirements while managing device complexity through integrated functionality.
Solution Approach 2:
The patent implements a nested architecture where the storage device contains an on-chip memory that can overlay data processing codes. The controller includes a CPU with multiple cores, and the system can store processing codes in the non-volatile memory. This nested structure enables in-storage computing while managing complexity through hierarchical organization of components.
Data Source
AI summary
A storage device performs in-storage computing operation, and includes a non-volatile memory configured to store data and a controller. The controller may include an on-chip memory and may control an operation of the non-volatile memory. The controller receives a data processing code generated by a host, overlays the data processing code on the on-chip memory, processes first data corresponding to the data processing code among the data stored in the non-volatile memory, and transmits the processed first data to the host.


