Storage System Early Command Cancellation via Data Path Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in quickly canceling read or write commands during events like resets, aborts, or power mode changes, requiring complex firmware management and potentially leading to data transfer issues.
Innovation Solution
A method and system that allow in-progress commands to be processed and then canceled without completing data transfer, using a command context to mark commands as canceled and prevent further data transfer, enabling quick cancellation without disrupting the data pipeline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware takes over hardware engines to manage data flow for strict abort command execution, then command cancellation reliability is improved, but device complexity increases
Solution Approach 1:
The patent segments the command cancellation process into distinct phases: identification phase (detecting abort commands in queue), intervention phase (firmware taking over hardware engines), and completion phase (managing data flow). This segmentation allows the system to apply complex firmware control only when necessary while maintaining simplicity during normal operation.
Solution Approach 2:
The patent implements preliminary action by having firmware proactively monitor and identify abort commands in the queue before they are executed by hardware engines. This early detection enables the firmware to take over and manage the cancellation process systematically, ensuring reliable execution while maintaining organized control flow.
2Ease of operation
If firmware uses best efforts to block commands at specific stages, then ease of operation is improved, but command cancellation reliability deteriorates
Solution Approach 1:
The patent implements a feedback mechanism where firmware continuously monitors the execution state of commands and receives status information from hardware engines. This feedback loop enables the firmware to make informed decisions about command cancellation, adjusting its control actions based on real-time system state to ensure reliable abort command completion.
Solution Approach 2:
The patent introduces firmware as an intermediary layer between the abort command queue and the hardware engines. This intermediary manages the interaction by intercepting abort commands, coordinating with in-progress commands, and systematically managing data flow cancellation, thereby bridging the gap between simple blocking operations and reliable command completion.
3Productivity
If data is allowed to complete processing after command cancellation, then data pipeline functionality is maintained, but data transfer security deteriorates
Solution Approach 1:
The patent extracts the data from the data path at the point where the abort command is detected, preventing it from completing further processing or transfer. This extraction ensures that canceled commands do not result in unintended data transfers to the host, while the data pipeline itself remains functional for other commands.
Solution Approach 2:
The patent applies preliminary anti-action by preemptively stopping data processing for canceled commands before they can complete. The firmware identifies the abort command early and takes counter-actions to prevent the data from being transferred, even though it has already been processed through the pipeline. This ensures data security while maintaining pipeline functionality for other operations.
Data Source
AI summary
A storage system receives an instruction to cancel an in-progress read/write command. The storage system allows data associated with the command to continue to be processed by a data path in the storage system even though the command was cancelled. However, before the data is actually transferred out of the data path, a controller determines that the command was cancelled and prevents the data from being transferred out, while internally indicating that the transfer was complete. This provides a faster cancellation process than methods that attempt to stop the data from being processed by the data path.


