Dynamic Namespace Capacity Allocation in NVMe Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems lack the ability to dynamically reallocate non-volatile memory capacity among namespaces within thinly provisioned data storage devices, leading to inefficiencies and capacity imbalances in RAID configurations.

Innovation Solution

Implementing a system that includes a controller capable of determining host connections to namespaces, allocating capacity from a floating namespace pool to target namespaces that need it, and managing RAID configurations to ensure efficient capacity utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If namespaces are allocated in fixed capacity blocks in thinly provisioned storage systems, then capacity can be added only as needed, but underutilized namespaces represent significant wasted capacity and cannot be dynamically reallocated

Engineering Contradiction:
Improvedynamic capacity reallocationVSAvoidwasted storage capacity
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic capacity allocation by introducing a floating namespace pool that can be reallocated among namespaces based on current utilization needs. The controller continuously monitors namespace fill levels and automatically transfers capacity from underutilized namespaces to those that are filling faster, transforming the static fixed-block allocation into a dynamic system that adapts to changing storage demands.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the capacity parameter of namespaces dynamically by allowing the allocated capacity to vary over time. The controller modifies namespace capacity allocations based on monitored utilization patterns, enabling namespaces to expand or contract their capacity without requiring physical device changes or administrator intervention.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If capacity is allocated to specific namespaces in thin provisioned systems, then capacity can be managed per namespace, but capacity starvation occurs in fast-filling namespaces while other namespaces have unused capacity

Engineering Contradiction:
Improvecapacity utilization efficiencyVSAvoidRAID configuration stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The controller implements a feedback mechanism by continuously monitoring the fill levels of namespaces and using this information to make reallocation decisions. When a namespace approaches capacity limits, the controller detects this condition and automatically transfers capacity from the floating pool to prevent starvation, ensuring both high utilization and system reliability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The floating namespace pool acts as an intermediary resource that mediates between namespaces with different utilization rates. Rather than directly allocating capacity from one namespace to another, the system uses the floating pool as a buffer and redistribution mechanism, allowing smooth capacity transitions while maintaining RAID configuration integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If disk drives have fixed capacity after deployment, then device simplicity is maintained, but it is not possible to add capacity to data storage devices after deployment

Engineering Contradiction:
Improvepost-deployment capacity expansionVSAvoidcapacity management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The floating namespace pool serves multiple functions: it acts as a capacity buffer, a redistribution mechanism, and a dynamic allocation source. This single universal structure enables the system to achieve post-deployment capacity expansion without requiring complex separate mechanisms for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12306749B2Redundant storage across namespaces with dynamically allocated capacity in data storage devices
Publication Date: 2025.05.20 WESTERN DIGITAL TECHNOLOGIES INC
  • US12306749B2 patent drawing
  • US12306749B2 patent drawing
  • US12306749B2 patent drawing

AI summary

Systems, methods, and data storage devices for redundant storage of data across namespaces with dynamic capacity allocation are described. Data storage devices may support multiple host connections to multiple namespaces allocated in their non-volatile storage medium according to a storage protocol, such as non-volatile memory express (NVMe). Each namespace may initially be allocated with an allocated capacity. For at least some of the namespaces, a portion of the allocated capacity may be allocated to a floating namespace pool. A redundant array of independent disks (RAID) configuration may be established across the namespaces for redundant storage of host data. When the fill mark for one of the namespaces reaches a flexible capacity threshold, capacity from the floating namespace pool may be dynamically allocated to that namespace and removed from the floating namespace pool.