Autonomous Compute Storage Device Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computational storage systems face challenges such as limited developer base due to complex NVMe programming, compatibility issues across different storage devices and generations, and the need for specific configuration of storage device compute applications for various user deployments.
Innovation Solution
An Information Handling System (IHS) with a storage device chassis, processing system, and memory system that includes an autonomous compute storage device engine. This engine identifies storage operations, performs them, stores data, and determines if an autonomous compute signature matches the data. If a match is found, it executes an associated autonomous compute application to perform compute operations and generate results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If conventional computational storage systems use CPU-directed operations with NVMe programming, then compute operations can be offloaded from the CPU, but the system requires a limited developer base with complex programming knowledge and has compatibility issues across different storage devices
Solution Approach 1:
The storage device autonomously determines when to execute compute operations by monitoring data in its buffer memory without requiring CPU direction. The device independently identifies candidate data, selects appropriate compute applications, and executes them, making the system self-directed rather than CPU-controlled.
Solution Approach 2:
The system separates compute operation management into independent components: the CPU handles high-level task initiation, while the storage device's autonomous compute engine handles data identification, application selection, and execution. This segmentation reduces programming complexity by dividing responsibilities between components.
2Productivity
If storage device compute applications are configured for specific deployments, then compute operations can be performed on specific data types, but the system has limited adaptability across different user requirements and deployment scenarios
Solution Approach 1:
The autonomous compute engine dynamically selects which compute applications to execute based on real-time analysis of data characteristics in the buffer. The system adapts its behavior to different data types and deployment scenarios without requiring preconfiguration, enabling flexible adaptation to various user requirements.
Solution Approach 2:
The system changes operational parameters by adjusting which compute applications are active based on data characteristics. The autonomous engine modifies execution parameters dynamically, selecting different compute operations depending on the type of data present in the buffer, thereby adapting to different deployment scenarios.
3Adaptability or versatility
If the storage device autonomously determines compute operations, then the system achieves flexible deployment configurations, but the storage device requires additional processing capabilities and memory resources
Solution Approach 1:
The storage device is designed with multi-functionality, combining storage operations with autonomous compute capabilities in a single device. The same processing units and memory that handle storage tasks are also utilized for autonomous compute operations, reducing the need for separate dedicated hardware resources.
Data Source
AI summary
An autonomous compute storage device system includes a computing device and a storage device that is coupled to the computing device. The storage device identifies a storage operation for a storage subsystem that is included in the storage device and, in response, performs the storage operation and stores data in a memory subsystem that is accessible to the storage device as part of the performance of the storage operation. If the storage device determines that an autonomous compute signature matches the data that was stored in the memory subsystem, it executes an autonomous compute application to perform compute operations that are associated with the data that was stored in the memory subsystem and generate at least one compute operation result.


