Storage Controller Compute Operation Management via Intermediate Results
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices often face challenges in meeting quality-of-service (QoS) specifications during peak compute loads, leading to latency and performance issues due to limitations in processing resources and operational states such as firmware, garbage collection, and memory states, which can result in delayed or inaccurate compute results.
Innovation Solution
A storage system with a controller that evaluates its processing capability based on operational parameters like storage load, processing unit load, cache level, and garbage collection load, allowing it to determine if only a portion of a compute operation can be completed within a requested timeframe, providing an intermediate result and continuing processing for the remaining portion later.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the storage device processes compute operations during peak loads, then the compute capability is utilized, but the latency requirements are not met and QoS drops
Solution Approach 1:
The patent segments compute operations into multiple stages (e.g., data retrieval, preprocessing, computation, postprocessing). The storage device can complete and return intermediate results for earlier stages within the requested timeframe, while continuing to process later stages asynchronously. This segmentation allows the system to meet latency requirements for time-sensitive portions while maintaining overall productivity.
Solution Approach 2:
The storage device performs preliminary processing of compute operations as soon as requests are received, evaluating its current processing capability and preparing intermediate results in advance. By doing preliminary work on data retrieval and initial processing while the client is still within the acceptable timeframe, the system ensures that at least partial results are available on time, preventing complete latency violations.
2Productivity
If the storage device dedicates resources to compute operations, then compute capability is provided, but storage performance and bandwidth are limited
Solution Approach 1:
The storage device dynamically evaluates its processing capability at runtime by monitoring operational parameters such as storage load, processing unit load, cache level, and garbage collection load. Based on this dynamic assessment, the device adjusts the portion of compute operations it can complete within timeframes and determines whether to return intermediate results or wait for full completion. This dynamic adaptation allows the system to maintain storage performance reliability while providing compute capabilities.
3Loss of time
If the storage device returns intermediate results before completion, then client latency is reduced, but the compute operation is not fully completed
Solution Approach 1:
The system implements feedback mechanisms where the client receives intermediate results and can evaluate whether they are sufficient for its needs. The client can then provide feedback to the storage device, indicating whether to continue processing to obtain final results or whether the intermediate results are adequate. This feedback loop allows the system to balance latency reduction with result accuracy based on actual client requirements.
Solution Approach 2:
The storage device changes operational parameters such as the processing timeframe threshold and the portion of compute operations to complete based on evaluated processing capability. When processing capability is high, the device may complete more stages within the timeframe; when capability is low, it returns intermediate results earlier. This parameter adjustment allows flexible trade-offs between latency and result completeness based on system state.
Data Source
AI summary
Example storage systems, storage devices, and methods provide novel management of storage device compute operations using intermediate results, such as approximate or partial results, to optimize processing flow. An example system has a storage medium and a storage controller coupled to the storage medium that is configured to evaluate a processing capability of a storage device and determine, based on the processing capability, that only a portion of a multi-stage compute operation is completable within a requested processing timeframe. The storage processor may further be configured to determine and provide an intermediate result, which may include an approximation or a partial result of the multi-stage compute operation. The intermediate result may be used by a client to manage its own processing while it awaits a final processing result.


