Non-Volatile Memory Namespace Allocation via Block Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer storage devices face challenges in efficiently managing namespaces, particularly in dynamically allocating, deleting, and reallocating non-contiguous storage capacity, which leads to fragmentation and inefficient usage of storage resources.

Innovation Solution

The implementation of a block-by-block mapping technique from Logical Block Addressing (LBA) addresses defined in allocated namespaces to LBA addresses on the entire storage capacity, allowing for the allocation of non-contiguous LBA addresses and reducing fragmentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional namespace allocation methods are used, then namespace management is simple, but storage capacity utilization is inefficient and fragmentation occurs

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidnamespace management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments storage capacity into discrete blocks and namespaces into allocatable units. Each namespace is allocated specific blocks from the storage capacity, allowing fine-grained management. This segmentation enables efficient allocation of non-contiguous blocks to different namespaces while preventing fragmentation through systematic block tracking and assignment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a mapping dimension between namespaces and storage blocks. Instead of direct contiguous allocation, a mapping structure is established that relates namespace identifiers to specific block ranges. This dimensional transformation allows flexible, non-contiguous allocation patterns while maintaining organized management through the mapping relationship.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If dynamic namespace allocation is implemented, then flexibility is improved, but allocation efficiency and fragmentation reduction are enhanced

Engineering Contradiction:
Improvenamespace allocation flexibilityVSAvoidallocation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic namespace allocation where namespaces can be created, deleted, and resized during operation. The system maintains a mapping structure that adapts to these changes, allowing blocks to be reallocated from one namespace to another. This dynamic approach provides flexibility while maintaining allocation efficiency through systematic block tracking and rapid mapping updates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250156079A1Performance allocation among users for accessing non-volatile memory devices
Publication Date: 2025.05.15 MICRON TECHNOLOGY INC
  • US20250156079A1 patent drawing
  • US20250156079A1 patent drawing
  • US20250156079A1 patent drawing

AI summary

A computer having a plurality of accounts and a storage device having a host interface, a controller, non-volatile storage media, and firmware. An account is configured with at least a predetermined speed in accessing the non-volatile storage media by allocating a number of input/output submission queues in the buffer area of the host. The number can be determined from a ratio between the predetermined speed configured for the account and a saturated speed of the storage device with sufficient submission queues. Data access requests from the account are evenly distributed to the submission queues allocated for the exclusive use by the account; and the controller, configured via the firmware, processes with equal priority the submission queues configured for the storage device. Thus, the account can have at least the predetermined speed in accessing the non-volatile storage media, regardless of how other accounts access the storage device.