Storage Controller Serial Number Assignment for Write Order
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face inefficiencies in writing data due to the need for direct host control and the use of flush and barrier commands, which increase command execution time and require frequent flushing, compromising performance.
Innovation Solution
A method that assigns serial numbers to data based on their order in buffer groups and updates a logical-to-physical mapping table, ensuring data write order without direct host control, allowing for reduced command execution time and fewer flush operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If flush and barrier commands are used to ensure data write order, then data write order is maintained, but command execution time increases and performance deteriorates
Solution Approach 1:
The storage device performs preliminary actions by assigning serial numbers to write data in advance based on the order they are assigned to buffer groups, and pre-updating the logical-to-physical mapping table with these serial numbers. This preliminary organization of data order information eliminates the need for subsequent flush and barrier commands to enforce write order, thereby reducing command execution time while maintaining data write order reliability
Solution Approach 2:
The storage device serves itself by independently managing data write order through its internal serial number assignment mechanism and mapping table updates, without requiring external host control via flush and barrier commands. The storage controller autonomously tracks and enforces write order based on serial numbers, freeing the host from issuing additional control commands and reducing overall command execution time
2Reliability
If frequent flushing is performed to maintain data write order, then data integrity is ensured, but productivity decreases
Solution Approach 1:
The storage device performs preliminary organization by assigning serial numbers to write data as they are assigned to buffer groups, and pre-updates the logical-to-physical mapping table with this order information. This preliminary action ensures data integrity is built into the storage process itself, eliminating the need for frequent flushing operations that would otherwise be required to maintain write order, thereby improving writing speed while preserving data integrity
Solution Approach 2:
The invention extracts the data order enforcement function from the flushing mechanism. By separating the order tracking function (performed via serial number assignment and mapping table updates) from the data commitment function (flushing), the system maintains data integrity through the extracted order tracking mechanism without requiring frequent flushing, thus improving productivity
3Reliability
If direct host control is used to manage data write order, then write order is maintained, but device complexity increases
Solution Approach 1:
The storage device achieves self-service by implementing an autonomous serial number assignment mechanism that automatically tracks and enforces write order without requiring host intervention. The storage controller independently manages the mapping table and serial number allocation, simplifying the overall control architecture by eliminating the need for complex host-side coordination and flush/barrier command handling while maintaining reliable write order control
Data Source
AI summary
A method of writing data in a storage device including sequentially receiving a plurality of data write commands, sequentially assigning a plurality of write data corresponding to the plurality of data write commands to a plurality of buffer groups by determining continuity of logical addresses of the plurality of write data such that each of the plurality of buffer groups temporarily stores some of the plurality of write data included in a respective single stream and having consecutive logical addresses, assigning a plurality of serial numbers to the plurality of write data, respectively, based on an order in which the plurality of write data are assigned to the plurality of buffer groups, programming the plurality of write data temporarily stored in the plurality of buffer groups into a plurality of memory blocks, and updating a logical-to-physical mapping table based on the plurality of serial numbers may be provided.


