Address Mapping for Non-Volatile Memory Command Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently scaling command orchestration for non-volatile memory due to performance bottlenecks and complexity in tracking active pages, particularly when multiple requests require loading the same metadata pages, leading to issues in ordering and scalability.
Innovation Solution
The implementation of address mapping techniques, including the use of a metadata map to track active operations and replace flash addresses with execution tags, trim tags, and cache tags, allows for efficient tracking and management of metadata pages, enabling better scalability and performance through reduced design complexity and improved computation complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional command orchestration methods are used to manage multiple read commands, then the storage device can process commands sequentially, but the system suffers from performance bottlenecks and poor scalability when handling large volumes of metadata pages
Solution Approach 1:
The patent introduces an intermediary data structure (active page tracking table) that mediates between incoming read commands and the metadata storage system. This intermediary maintains mapping relationships between logical addresses and physical page locations, allowing the system to efficiently track which pages are currently being processed without complex state management. The intermediary absorbs the complexity of tracking active pages while providing simple O(1) lookup operations for command orchestration.
Solution Approach 2:
The patent segments the command orchestration process into distinct phases: (1) checking if the metadata page is already in the active page tracking table, (2) if present, determining its processing status and queuing the command appropriately, and (3) if absent, loading the page and initializing its tracking entry. This segmentation allows each phase to be handled with simple, efficient operations rather than complex global state management.
2Speed
If the storage device loads metadata pages from non-volatile memory to volatile memory for processing, then processing speed improves, but the limited capacity of volatile memory becomes a bottleneck
Solution Approach 1:
The patent applies preliminary action by pre-allocating and pre-organizing metadata pages in volatile memory based on their access patterns. The active page tracking table pre-establishes the mapping relationships and processing status of metadata pages before actual read operations occur. This allows the system to quickly determine whether a requested page is already in volatile memory and ready for processing, eliminating the need to load entire metadata structures and reducing volatile memory requirements.
Solution Approach 2:
The patent implements local quality by maintaining different states for different metadata pages within volatile memory: some pages are actively being processed, some are ready for processing, and some are not yet loaded. The active page tracking table tracks each page's local state independently, allowing the system to optimize memory usage by loading only the specific pages needed for current operations rather than loading all metadata pages simultaneously.
3Productivity
If the system processes multiple read commands simultaneously, then command handling efficiency improves, but determining the correct processing order and status becomes more complex
Solution Approach 1:
The active page tracking table implements self-service by automatically maintaining the processing status of each metadata page as commands are processed. When a metadata page is loaded, its status is automatically set to 'being processed'; when processing completes, the status is automatically updated to 'ready'. This self-updating mechanism eliminates the need for complex external state management logic and allows multiple commands to be processed simultaneously with simple status checks.
Solution Approach 2:
The system implements feedback through the active page tracking table, which continuously provides status information about each metadata page's processing state. When a read command arrives, the system queries the tracking table to receive feedback on whether the target page is being processed, ready, or needs to be loaded. This feedback mechanism enables intelligent command routing and ordering decisions without complex centralized control logic.
Data Source
AI summary
A device for processing commands to manage non-volatile memory includes a controller configured to obtain address information from a command, read, based on the address information, an entry of a metadata table, and determine, based on the entry of the metadata table, whether a metadata page corresponding to the address information is being processed by the controller. In response to determining that the metadata page corresponding to the address information is being processed, the controller determines a processing status of the metadata page, among a plurality of processing statuses, based on the entry of the metadata table and processes the command according to the processing status of the first metadata page. In response to determining that the metadata page corresponding to first address information is not being processed, the controller reads the metadata page from the non-volatile memory based on the entry of the metadata table.


