Address Mapping for Non-Volatile Memory Command Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommand orchestration throughputVSAvoidtracking active pages complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvemetadata page processing speedVSAvoidvolatile memory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvecommand handling efficiencyVSAvoidprocessing status tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11681630B2System and method for scaling command orchestration through address mapping
Publication Date: 2023.06.20 KIOXIA CORP
  • US11681630B2 patent drawing
  • US11681630B2 patent drawing
  • US11681630B2 patent drawing

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.