Non-Volatile Memory Namespace Mapping and Fragmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer storage devices face challenges in efficiently managing namespaces, particularly in dynamically allocating, deleting, and resizing non-contiguous namespaces, which leads to fragmentation and inefficient use of storage capacity.
Innovation Solution
The implementation of a block-by-block mapping technique from LBA addresses defined in allocated namespaces to LBA addresses on the entire storage device capacity, allowing for the allocation of non-contiguous LBA addresses to namespaces and reducing fragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional namespace allocation methods are used, then namespaces can be allocated and managed, but storage capacity fragmentation occurs and efficiency decreases
Solution Approach 1:
The patent segments the storage device capacity into multiple namespaces, allowing independent allocation and management of different portions of storage capacity. Each namespace can be independently allocated, deleted, or resized without affecting other namespaces, thereby improving management flexibility while preventing fragmentation through structured segmentation.
Solution Approach 2:
The patent introduces a namespace dimension overlaying the traditional storage address space. By adding this logical layer, the system can manage storage capacity in multiple dimensions simultaneously - physical capacity and logical namespace allocation - enabling efficient resource utilization while maintaining flexibility in namespace management.
2Adaptability or versatility
If dynamic allocation and resizing of namespaces is implemented, then namespace management flexibility improves, but system complexity increases
Solution Approach 1:
The patent creates a universal namespace management mechanism that handles allocation, deletion, and resizing operations through a unified approach. The same data structures and management routines serve multiple functions, reducing the complexity that would otherwise arise from implementing separate mechanisms for each operation.
Solution Approach 2:
The patent implements dynamic namespace management where namespace boundaries and allocations can change over time based on operational needs. The system maintains data structures that automatically adapt to dynamic changes in namespace configuration, allowing flexible allocation and resizing without requiring complex reconfiguration procedures.
3Loss of substance
If non-contiguous LBA addresses are allocated to namespaces, then fragmentation is reduced, but address mapping complexity increases
Solution Approach 1:
The patent introduces an intermediary namespace mapping layer between the host and physical storage media. This intermediary maintains mapping tables that translate logical namespace addresses to physical LBA addresses, allowing non-contiguous allocation while presenting a contiguous view to the host and simplifying the overall mapping complexity through centralized management.
Solution Approach 2:
The patent uses copy-on-write techniques where namespace mapping information is copied and maintained in dedicated data structures within the storage device. This copying approach allows the system to track and manage non-contiguous allocations efficiently without requiring complex real-time calculations, as the mapping state is preserved in replicated data structures.
Data Source
AI summary
A computer storage device having a host interface, a controller, non-volatile storage media, and firmware. The firmware instructs the controller to: generate mapping data defining mapping, from logical block addresses in namespaces configured on the non-volatile storage media, to logical block addresses in a capacity of the non-volatile storage media; maintain an active copy of the mapping data; generate cached copies of the mapping data from the active copy; generate a shadow copy from the active copy; implement changes in the shadow copy; after the changes are made in the shadow copy, activate the shadow copy and simultaneously deactivate the previously active copy; and update the cached copies according to the newly activated copy, as a response to the change in active copy identification.


