SSD Command Completion Timing for Burst and Sustain QoS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solid-state drives (SSDs) face issues with performance jitter and inconsistency due to factors like RAID, encoding, or garbage collection, affecting quality of service (QoS), and there is a lack of technology to confirm bandwidth without external tools.
Innovation Solution
Implementing a storage device controller that determines operation in burst or sustain modes, notifying the host of command completion differently based on mode, and includes mechanisms to evaluate bandwidth internally.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the storage device operates in burst mode to maximize speed, then read/write speed is improved, but command timeout and performance inconsistency increase
Solution Approach 1:
The storage device dynamically switches between burst mode and sustain mode based on internal state conditions. The controller monitors factors such as garbage collection status, encoding progress, and RAID operations, then adaptively adjusts the notification timing to host. This dynamic adaptation allows the system to maintain high speed when conditions permit while preventing command timeouts when background operations are occurring.
Solution Approach 2:
The patent changes the timing parameter for notifying the host of command completion based on the operating mode. In burst mode, notification occurs immediately upon command completion, maximizing speed. In sustain mode, notification is delayed until background operations (garbage collection, encoding, RAID) are complete, preventing command timeouts. This parameter adjustment resolves the contradiction between speed and reliability.
2Adaptability or versatility
If the storage device processes multiple background operations (RAID, encoding, garbage collection) simultaneously, then functionality and versatility are improved, but performance consistency and QoS deteriorate
Solution Approach 1:
The patent extracts the notification function from the command execution process and makes it conditional. Instead of always notifying the host immediately upon command completion, the system separates the actual command execution from the notification timing. When background operations are detected, the notification is postponed until those operations complete, thereby extracting the performance inconsistency from the system and preventing it from affecting QoS.
Solution Approach 2:
The storage device implements feedback by monitoring its internal state (garbage collection status, encoding progress, RAID operations) and using this information to adjust notification timing to the host. This feedback mechanism allows the system to detect when background operations are occurring and respond by delaying notifications, thereby maintaining performance consistency while preserving full functionality.
3Reliability
If the storage device delays notification to host until background operations complete, then command timeout is reduced, but response time and productivity decrease
Solution Approach 1:
The patent applies partial action by selectively delaying notifications only when necessary. Instead of always delaying notification until all background operations complete (which would excessively reduce productivity), the system delays notification only when background operations are detected that could cause command timeout. When no background operations are occurring, immediate notification is provided, maintaining full productivity. This partial application of delay resolves the contradiction between reliability and productivity.
Data Source
AI summary
The present invention discloses a storage device, a data processing method thereof and a non-transitory computer readable storage medium. Whether the storage device is currently operating in a burst mode or a sustain mode is determined. In the burst mode, in response to completion of execution of a command, a host is notified that the command is already completed. In the sustain mode, in response to completion of execution of the command and passing of a delay time, the host is notified that the command is already completed.


