Submission Queue Command-Age Tracking with Doorbell Timestamps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices do not accurately track the age of commands, as they only measure the time spent processing the command after retrieval, neglecting the time between the host's request and retrieval, which can lead to inaccurate age reporting and potential timeouts.
Innovation Solution
Implement a data structure, such as a linked list, to store timestamps of doorbell events, allowing the storage device to track the command age from the host's request to completion, and manage memory efficiently by allocating and deallocating linked list entries to reduce storage requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the storage device only measures processing time after retrieval, then the measurement is simple, but the command age tracking is inaccurate
Solution Approach 1:
The patent applies preliminary action by storing the timestamp of doorbell events (when the host notifies the storage device of a new command) in advance. This allows the system to capture the start time of command processing before the actual processing begins, enabling accurate calculation of total command age including both waiting time and processing time, rather than only measuring processing time after retrieval.
Solution Approach 2:
The patent uses timestamps as an intermediary mechanism to bridge the gap between the host's doorbell event and the storage device's command processing. By storing and retrieving these timestamp values, the system can accurately determine command age without requiring complex continuous monitoring, thus improving measurement precision while maintaining relatively simple system architecture.
2Measurement precision
If the storage device stores timestamps for all commands, then command age tracking is accurate, but memory usage increases
Solution Approach 1:
The patent applies local quality by storing timestamp information selectively rather than uniformly for all commands. The system stores timestamps specifically for doorbell events that initiate command processing, and only retains these timestamps until the command age calculation is complete. This selective storage approach maintains accurate tracking for active commands while minimizing overall memory consumption by not storing redundant timestamp data.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A storage device is described. A first storage may store a data. An interface may be used to access a command from a host, the command applicable to the data. A controller may execute the command. A second storage may store an entry. The entry may include a first data field for a timestamp and a second data field for a reference to the command.