Non-Volatile Memory Namespace Allocation via Block Mapping
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If traditional namespace allocation methods are used, then namespace management is simple, but storage capacity utilization is inefficient and fragmentation occurs
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.
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.
2Adaptability or versatility
If dynamic namespace allocation is implemented, then flexibility is improved, but allocation efficiency and fragmentation reduction are enhanced
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.
Data Source
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.


