Namespace Block Boundary Alignment in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer storage devices face challenges in efficiently managing namespace block boundary alignment and fragmentation, particularly when dynamically allocating and deallocating namespaces of varying sizes, leading to inefficient usage of storage capacity and mapping of LBA addresses to physical addresses.

Innovation Solution

Implementing a block-by-block mapping of LBA addresses from allocated namespaces to the entire storage capacity, using a predetermined block size, preferably a power of two, to allow non-contiguous LBA address allocation and reduce fragmentation, along with the use of partial blocks to align namespace sizes with storage capacity, thereby optimizing namespace management and address translation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If namespaces are allocated using fixed block sizes aligned with boundaries, then address mapping efficiency is improved, but storage capacity utilization deteriorates due to fragmentation and wasted space

Engineering Contradiction:
Improveaddress mapping efficiencyVSAvoidstorage capacity utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the storage space into logical blocks of a predetermined size (e.g., power of two) and introduces a separate metadata structure (namespace map) to track which blocks are allocated to which namespaces. This allows namespaces to span non-contiguous blocks and enables efficient block-by-block allocation without requiring namespace boundaries to align with block boundaries, thereby improving both mapping efficiency and capacity utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a namespace map as an intermediary data structure that sits between the logical namespace allocations and the physical block allocations. This map stores metadata including block allocation status, namespace identifiers, and block boundaries, enabling the system to efficiently manage partial blocks and non-contiguous allocations while maintaining address mapping performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If namespaces are dynamically allocated and deallocated, then adaptability is improved, but storage fragmentation increases leading to inefficient usage

Engineering Contradiction:
Improvenamespace dynamic allocationVSAvoidstorage fragmentation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic namespace management by allowing namespaces to be allocated, resized, and deallocated at any time. The namespace map is updated dynamically to reflect these changes, with blocks being reallocated from a free block pool as needed. This dynamic approach allows the storage system to adapt to changing namespace requirements while the metadata structure handles fragmentation automatically.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

When namespaces are deallocated, their blocks are returned to the free block pool rather than being permanently lost. The namespace map tracks which blocks are free and makes them available for reallocation to new or existing namespaces. This recovery mechanism prevents permanent fragmentation and allows efficient reuse of storage capacity.

Inventive Principle:
Principle #34Discarding and recovering

3Quantity of substance

If partial blocks are used to align namespace sizes with storage capacity, then storage capacity utilization is improved, but address mapping complexity increases

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidaddress mapping complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the address mapping process into two levels: first, logical addresses within namespaces are mapped to logical blocks using the namespace map; second, logical blocks are mapped to physical blocks. This segmentation allows partial blocks to be handled uniformly through the metadata structure without increasing the complexity of the actual address translation operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The namespace map structure is designed to be self-sufficient in tracking block allocation status, boundaries, and namespace associations. It automatically manages the complexity of partial blocks and non-contiguous allocations through its metadata fields, eliminating the need for complex external management logic and keeping the address mapping process simple and efficient.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20220391091A1Management of Namespace Block Boundary Alignment in Non-Volatile Memory Devices
Publication Date: 2022.12.08 MICRON TECHNOLOGY INC
  • US20220391091A1 patent drawing
  • US20220391091A1 patent drawing
  • US20220391091A1 patent drawing

AI summary

A computer storage device having a host interface, a controller, non-volatile storage media, and firmware. The firmware instructs the controller to maintain a free block pool. The free block pool includes full blocks having a same block size, and partial blocks having a size smaller than the block size. The controller receives a request from a host to allocate a namespace having a requested size. In response to the request, full blocks from the free block pool are allocated to the namespace. The controller determines that a difference between a total size of the full blocks allocated and the requested size is less than the block size. In response to this determination, the controller selects a next block from the free block pool to allocate to the namespace. The selected next block is allocated to the namespace.