Memory Controller Dynamic Queue Selection for NAND Wear

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in evenly distributing the usage of NAND flash memory across submission queues and namespaces, leading to uneven resource allocation and potential inefficiencies.

Innovation Solution

A memory system controller calculates predicted use amounts for NAND flash memory and updates usage metrics to selectively fetch commands from submission queues, ensuring even usage by prioritizing queues with lower usage and managing commands to prevent excessive resource waste.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If commands are fetched from submission queues in a fixed order or without consideration of namespace usage, then the control logic is simple, but the NAND flash memory usage becomes uneven across namespaces

Engineering Contradiction:
ImproveNAND flash memory usage efficiencyVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller monitors the usage amount of NAND flash memory for each namespace and uses this feedback to dynamically adjust command fetching priorities. The usage amount information is fed back to the command fetching unit, which then selects commands from namespaces with lower usage amounts, achieving balanced resource utilization through continuous monitoring and adjustment.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static command fetching (fixed order or round-robin) to dynamic command fetching where the selection criteria change based on real-time namespace usage conditions. The command fetching priority is adjusted dynamically according to the monitored usage amounts, allowing the system to adapt to varying workload patterns across namespaces.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the controller manages a large number of commands to ensure even NAND flash memory usage, then usage balance improves, but the memory resources required increase

Engineering Contradiction:
ImproveNAND flash memory usage balanceVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system uses the existing usage amount information that is already being tracked for namespace management purposes. This pre-collected data serves dual purposes: both for monitoring namespace utilization and for guiding balanced command fetching, eliminating the need for separate tracking mechanisms and reducing additional memory overhead.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of managing a fixed large number of commands, the system changes the parameter of command selection based on usage amount thresholds and ratios. The controller adjusts which namespace's commands are fetched next based on calculated usage ratios, allowing efficient resource management with smaller command buffers by making smarter selection decisions.

Inventive Principle:
Principle #35Parameter changes

3Speed

If commands are processed without considering predicted usage amounts, then processing is faster, but resource waste increases

Engineering Contradiction:
Improvecommand processing speedVSAvoidresource waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The controller calculates predicted usage amounts for upcoming commands before executing them. This preliminary calculation allows the system to anticipate resource consumption and make informed decisions about command execution timing and selection, preventing excessive resource usage while maintaining processing flow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The actual usage amounts from executed commands are fed back to update the predicted usage amounts for future commands. This continuous refinement of predictions allows the system to optimize resource usage over time while maintaining fast processing, as the predictions become more accurate and enable better command scheduling decisions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250094337A1Memory system managing multiple logical address spaces
Publication Date: 2025.03.20 KIOXIA CORP
  • US20250094337A1 patent drawing
  • US20250094337A1 patent drawing
  • US20250094337A1 patent drawing

AI summary

According to one embodiment, a controller of a memory system provides a host with logical address spaces. A plurality of queues of the host include one or more queues allocated to each of the logical address spaces. The controller calculates first use amounts of a nonvolatile memory corresponding to the logical address spaces, respectively, selects a queue from which a command is to be fetched among the plurality of queues, based on the first use amounts, fetches a command from the queue, calculates a predicted use amount of the nonvolatile memory in accordance with the command, and updates a second use amount corresponding to a first logical address space to which the first queue is allocated among the first use amounts by using the predicted use amount.