Storage Control Table Set Determination Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of read and write operations in storage devices leads to a spike in control table data entries, making search operations time-consuming, and the frequent flush operations required to maintain logical to physical mapping updates result in high write amplification and resource usage.
Innovation Solution
Designating specific positions for control table sets and using a hashing function to manage logical to physical address mappings, allowing updates to be stored efficiently, reducing the frequency of flush operations and minimizing resource usage by keeping updates primarily in volatile memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If control table data entries are increased to handle more read and write operations, then the storage capacity and functionality are improved, but the search operation time increases and becomes time-consuming
Solution Approach 1:
The control table is segmented into multiple control table sets, each storing a specific portion of logical to physical address mappings. This segmentation allows the search operation to be distributed across multiple smaller tables rather than searching through a single large table, thereby reducing the time required to locate specific mappings while maintaining the ability to handle a large total number of data entries.
2Reliability
If logical to physical mapping updates are retained throughout the device life, then data reliability is improved, but the space requirement and resource usage increase significantly
Solution Approach 1:
The patent extracts the mapping update data from permanent non-volatile storage and places it in volatile memory for temporary retention. This allows the system to maintain mapping information throughout the device life when needed while using significantly less storage space, as volatile memory is faster and more efficient for temporary data retention. The mapping data can be refreshed or reloaded from non-volatile storage as needed.
3Measurement precision
If control table sets are updated frequently to reflect data movements, then data accuracy is improved, but write amplification and resource usage increase
Solution Approach 1:
The patent implements preliminary action by pre-allocating control table sets and preparing volatile memory buffers for storing mapping updates before actual write operations occur. This allows the system to accumulate and batch mapping updates in volatile memory, reducing the frequency of flush operations to non-volatile storage. The mapping accuracy is maintained through continuous updates in volatile memory, while write amplification is reduced by batching operations.
4Reliability
If flush operations are performed frequently to maintain mapping updates, then data consistency is improved, but CPU cycles and resource usage increase
Solution Approach 1:
The patent implements periodic action by performing flush operations at optimized intervals rather than continuously or with every write operation. Volatile memory buffers accumulate mapping updates over time, and flush operations are triggered periodically or when buffer thresholds are reached. This periodic flushing maintains data consistency while significantly reducing CPU cycle consumption compared to continuous flushing, as the system can batch multiple updates together in each flush operation.
Data Source
AI summary
Various devices, such as storage devices or systems are configured to efficiently manage and determine control table sets. Such a device may include a processor, a memory array including a plurality of memory devices which include a plurality of control table sets stored in a plurality of regions, and a control table set determination logic configured to: receive a command from a host device associated with logical to physical address mapping updates, determine a control table set of the plurality of control table sets associated with the command, determine a region of the plurality of regions associated with the determined control table set, determine a position in the control table set in the determined region associated with the command, generate additional control table sets upon a first determination that the position is not vacant, and store the command in the generated additional control table sets.


