Partial L2P Table for SSD Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing density of non-volatile storage devices requires significant memory space for full logical-to-physical address translation tables in storage controllers, leading to increased costs and challenges in implementing these systems in devices with small form factors, such as M.2 format SSDs.
Innovation Solution
Implementing a partial logical-to-physical address translation table in storage controllers, where a subset of entries is loaded into memory, along with a lookup directory to track loaded translation data units, and using a cache and miss buffer to manage cache misses and reduce memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a full logical-to-physical address translation table is stored in the controller memory, then address translation speed is improved, but memory space requirements increase significantly
Solution Approach 1:
The patent divides the full logical-to-physical address translation table into multiple translation data units (TDUs) that can be selectively loaded into controller memory. Instead of loading the entire translation table at once, the system segments it into manageable chunks (TDUs) and loads only the necessary portions based on access patterns, thereby reducing memory space requirements while maintaining address translation functionality.
Solution Approach 2:
The patent implements partial action by loading only a subset of the translation table entries into controller memory rather than the complete table. The system loads TDUs selectively based on which logical addresses are most likely to be accessed, performing partial address translation in memory while the remaining translations are handled by searching the full table stored in the storage device.
2Quantity of substance
If memory space is reduced for address translation tables, then system cost is reduced, but address translation performance deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-loading frequently accessed translation data units into controller memory before they are actually needed for address translation. The system anticipates which TDUs will be needed based on access patterns and loads them in advance, so that when address translation is required, the data is already available in fast memory, maintaining performance despite reduced overall memory usage.
Solution Approach 2:
The patent implements self-service through an automated TDU management system that monitors access patterns, determines which translation data units need to be loaded into memory, and performs the loading operations automatically without manual intervention. The system serves itself by managing its own memory contents dynamically, loading TDUs when beneficial and evicting them when memory space is needed, thereby maintaining performance autonomously.
3Quantity of substance
If a partial L2P table is used, then memory space is reduced, but system complexity increases due to cache and miss buffer management
Solution Approach 1:
The patent introduces a miss buffer as an intermediary component between the cache and the full translation table stored in the storage device. When a cache miss occurs, the miss buffer temporarily holds the translation request and manages the loading of the required TDU from storage into the cache. This intermediary structure simplifies the overall management by providing a buffer zone that decouples the cache management from direct storage access, making the system easier to manage despite the partial table approach.
Data Source
AI summary
Systems, apparatus and methods are provided for logical-to-physical (L2P) address translation. A method may comprise receiving a request for a first logical data address (LDA), and calculating a first translation data unit (TDU) index for a first TDU. The first TDU may contain a L2P entry for the first LDA. The method may further comprise searching a cache of lookup directory entries of recently accessed TDUs using the first TDU index, determining that there is a cache miss, generating and storing an outstanding request for the lookup directory entry for the first TDU in a miss buffer, retrieving the lookup directory entry for the first TDU from an in-memory lookup directory, determining that the lookup directory entry for the first TDU is not valid, reserve a TDU space for the first TDU in a memory and generating a load request for the first TDU.


