Command Draining Using Host Memory Buffer for Storage Abort
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face inefficiencies in aborting commands, particularly when commands have already started execution, as they require terminating all tasks and waiting for completion before issuing a completion message, leading to high latency and resource inefficiency.
Innovation Solution
The data storage device modifies command pointers to point to host memory buffers (HMBs), waits for ongoing transactions to complete, and then posts a failure completion message, allowing for efficient abort processing and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the data storage device waits for already started tasks to complete before issuing a completion message, then command abort reliability is improved, but command abort latency increases
Solution Approach 1:
The system performs preliminary actions by setting up the command structure and data paths before the abort occurs. When an abort is requested, the system has already prepared the completion message format and data transfer paths, allowing it to quickly issue the completion message after verifying task completion status, thus reducing abort latency while maintaining reliability
Solution Approach 2:
The system implements feedback mechanisms to track the status of already started tasks. By continuously monitoring task completion status and providing feedback to the abort handling logic, the system can determine when it is safe to issue the completion message, ensuring reliability while minimizing waiting time
2Reliability
If the data storage device terminates all tasks associated with a command before issuing a completion message, then command abort safety is improved, but system productivity decreases
Solution Approach 1:
The system extracts and isolates the abort handling logic from the general command processing flow. By separating the task termination verification from the completion message issuance, the system can efficiently manage abort scenarios without disrupting the overall command processing pipeline, thus maintaining system productivity while ensuring abort safety
Solution Approach 2:
The system performs preliminary verification of task completion status before issuing the completion message. This preliminary check ensures that all associated tasks have been properly terminated or completed, maintaining abort safety, while the pre-prepared message format and efficient verification process minimize the impact on system productivity
3Reliability
If the data storage device scans pending activities to terminate tasks, then command abort completeness is improved, but device complexity increases
Solution Approach 1:
The system maintains preliminary records of pending activities and their associated tasks in a structured format. When an abort is requested, the system can quickly scan these pre-organized records to identify and terminate all associated tasks, ensuring abort completeness without requiring complex real-time analysis, thus reducing the effective complexity of the abort processing
Data Source
AI summary
The present disclosure generally relates to aborting a command efficiently using the host memory buffer (HMB). The command contains pointers that direct the data storage device to various locations on the data storage device where relevant content is located. Once the abort command is received, the content of the host pointers stored in the data storage device RAM are changed to point to the HMB. The data storage device then waits until any already started transactions over the interface bus that are associated with the command have been completed. Thereafter, a failure completion command is posted to the host device.


