Write Tag Attribute Management in Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage devices using native command queuing (NCQ) struggle to effectively manage the status of data processed in the host interface but not yet processed in the storage device, leading to inefficiencies in command execution and resource management.
Innovation Solution
A data storage device comprising a storage medium, a buffer memory, and a controller that allocates a write tag to a write command and changes its attribute based on the processing status, allowing for efficient management of data processing status through a tag manager, minimizing resource usage and enabling error debugging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If NCQ method is used to improve command execution efficiency, then command processing speed is improved, but data status management capability deteriorates
Solution Approach 1:
The patent embeds a tag manager within the controller that utilizes the existing NCQ tag structure. The tag manager nests status tracking functionality within the command queuing mechanism by allocating specific tag values (0-31) to represent different data processing statuses, allowing status management to be integrated within the command execution framework without adding external complexity.
Solution Approach 2:
The patent changes the parameter representation by using tag values as status indicators. Instead of separate status flags or additional data structures, the system uses the existing tag parameter (0-31) to encode processing status information. This allows the same tag structure to serve dual purposes: command identification and status tracking, thereby improving efficiency without increasing complexity.
2Device complexity
If separate management techniques are provided for data status tracking, then data status management capability is improved, but resource usage increases
Solution Approach 1:
The tag manager implements multi-functionality by using the same tag structure for both command identification (NCQ function) and status tracking (management function). The 32 tag values serve dual purposes: identifying commands in the queue and indicating their processing status. This eliminates the need for separate status tracking resources, achieving effective management without increased resource usage.
Solution Approach 2:
The patent merges the status tracking function with the existing command queuing mechanism. Instead of providing separate management techniques as suggested in the conventional approach, the system combines status information with command tags, merging two functions into a single integrated structure that reduces overall resource requirements.
3Productivity
If tag values are used for command identification, then command processing efficiency is improved, but data status tracking capability deteriorates
Solution Approach 1:
The patent introduces dynamic interpretation of tag values. The same tag value can represent different meanings depending on the processing stage: initially serving as a command identifier in the queue, then transitioning to indicate processing status (pending, in-progress, completed, error). This dynamic usage allows the tag system to maintain efficiency while gaining status tracking capability without losing information.
Solution Approach 2:
The tag manager implements feedback by continuously updating the tag status values based on command processing progress. As commands move through the processing pipeline, the tag values provide feedback about their current state, enabling the system to track data status while maintaining the efficient command identification and processing enabled by NCQ.
Data Source
AI summary
A data storage device includes a storage medium; a buffer memory configured to temporarily store data to be inputted to, or outputted from, the storage medium; and a controller configured to control data exchange with the storage medium, allocate a write tag to a write command, and change an attribute of the write tag according to a processing status of the write command.


