Namespace Allocation Using Over-Provisioning Chunks to Avoid Capacity Loss

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The creation of namespaces in storage devices often results in capacity loss due to unaligned chunks of memory, where the size of logical blocks requested by the host does not match the size of the available chunks, leading to portions of memory becoming un-addressable.

Innovation Solution

The controller uses chunks from an over-provisioning pool to absorb unaligned chunks, providing logical block size granularity on a first-come, first-serve basis or based on predetermined logic, to avoid capacity loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If namespaces are allocated based on host requests with arbitrary logical block sizes, then user storage needs are accommodated, but capacity loss occurs due to unaligned chunks

Engineering Contradiction:
Improvenamespace allocation flexibilityVSAvoidstorage capacity
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The over-provisioning pool acts as an intermediary between the host's namespace allocation requests and the physical storage chunks. When a namespace request cannot be perfectly aligned with available chunks, the system uses chunks from the over-provisioning pool to absorb the misalignment, preventing capacity loss while maintaining allocation flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts the allocation parameters by selectively applying logical block size granularity to specific namespaces based on availability of over-provisioning chunks. This allows the system to change from a fixed chunk-size-granularity mode to a flexible logical-block-size-granularity mode when resources permit, thereby eliminating capacity loss.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If logical block size granularity is provided for all namespaces, then capacity loss is eliminated, but device complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoidnamespace management complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

Instead of applying logical block size granularity to all namespaces unconditionally, the system applies it partially - only to those namespaces that can be served by available over-provisioning chunks. This selective application reduces the management complexity while still eliminating capacity loss where possible.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The namespace management system automatically determines whether to apply logical block size granularity based on the availability of over-provisioning chunks, without requiring external intervention or complex configuration. The system self-adjusts its allocation strategy to balance simplicity and capacity utilization.

Inventive Principle:
Principle #25Self-service

3Loss of substance

If over-provisioning pool chunks are used to absorb unaligned chunks, then capacity loss is reduced, but available storage for host decreases

Engineering Contradiction:
Improvestorage capacityVSAvoidavailable storage
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The over-provisioning pool, which traditionally represents unused or hidden capacity, is repurposed to absorb unaligned chunks and eliminate capacity loss. By converting this previously wasted resource into an active mechanism for preventing capacity loss, the system turns a disadvantage into a benefit without requiring additional physical storage.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentEP3936998B1Method for managing namespaces in storage device and storage device employing the same
Publication Date: 2026.04.08 SAMSUNG ELECTRONICS CO LTD
  • EP3936998B1 patent drawingFigure 1
  • EP3936998B1 patent drawingFigure 2A
  • EP3936998B1 patent drawingFigure 2B

AI summary

A provided a storage device configured to support a number of namespaces. The storage device includes a memory and a controller coupled to the memory. The controller includes a host interface layer and a flash translation layer configured to report to the host interface layer a first over-provisioning chunk from an over-provisioning pool and a first chunk separate from the over-provisioning pool. The controller is configured to receive a command at the host interface layer to utilize a portion of the memory for a first namespace from among the number of namespaces and the first namespace includes an unaligned chunk. The controller is configured to utilize the first over-provisioning chunk as the unaligned chunk of the first namespace. A number of over-provisioning chunks to be utilized as unaligned chunks is less than the number of namespaces.