Proximity-Aware Memory Block Allocation for NVMe Reads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems lack a mechanism for applications to specify a preferred location for memory allocations, leading to inefficient data retrieval and storage operations due to the input-output size limits of storage devices, particularly in Non Volatile Memory Express (NVMe) drives.

Innovation Solution

A block allocator mechanism that uses data structures, such as radix trees, to efficiently allocate memory near a requested address within the input-output size limit, optimizing memory allocations to improve performance by reducing the need for multiple read operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory is allocated without considering preferred location, then allocation simplicity is maintained, but read efficiency deteriorates due to multiple operations required

Engineering Contradiction:
Improveread efficiencyVSAvoidallocation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing metadata about memory block locations, allocation status, and proximity relationships before actual data retrieval operations. This allows the block I/O device to efficiently determine whether allocated blocks meet the threshold criterion without performing complex calculations during read operations, thereby improving read efficiency while maintaining manageable system complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a block allocator that mediates between the application's memory allocation requests and the physical memory blocks. This intermediary maintains allocation metadata and implements the threshold-based proximity check, separating the complexity of location optimization from both the application and the underlying storage hardware, thus improving overall system productivity without proportionally increasing visible complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If memory blocks are allocated far from requested address, then allocation flexibility increases, but the number of read operations increases

Engineering Contradiction:
Improvenumber of read operationsVSAvoidallocation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system applies local quality by implementing location-aware memory allocation where the allocation strategy varies based on the specific circumstances of each allocation request. The block allocator evaluates the proximity of available memory blocks to the requested address and applies different allocation decisions locally - preferring nearby blocks when they meet the threshold, while maintaining the ability to allocate elsewhere when necessary. This localized optimization reduces the number of read operations without completely sacrificing allocation flexibility

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the allocation parameter from purely address-based to proximity-based by introducing a threshold criterion that measures the distance between allocated and requested addresses. This parameter change enables the system to optimize for read efficiency by keeping related data blocks closer together, reducing the number of separate read operations needed, while still maintaining flexibility through the configurable threshold value that can adapt to different system requirements

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If strict address matching is enforced, then allocation precision improves, but available memory options decrease

Engineering Contradiction:
Improveaddress allocation precisionVSAvoidavailable memory options
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The system applies partial action by implementing a threshold-based proximity check rather than requiring exact address matches. The threshold criterion allows memory blocks that are sufficiently close (within the threshold distance) to the requested address to be considered valid allocation candidates. This partial matching approach maintains adequate allocation precision for optimizing read operations while significantly increasing the pool of available memory options compared to strict address matching

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent segments the memory address space into regions based on proximity to requested addresses, creating zones of preference rather than requiring exact matches. By segmenting available blocks into those within the threshold distance and those outside it, the system can preferentially allocate from the closer segments while still having access to all memory options, thus maintaining precision where needed while expanding overall availability

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250328269A1System and methods for memory block allocation
Publication Date: 2025.10.23 SAMSUNG ELECTRONICS CO LTD
  • US20250328269A1 patent drawing
  • US20250328269A1 patent drawing
  • US20250328269A1 patent drawing

AI summary

A system and methods for memory block allocation. In some embodiments, a method includes: receiving, from an application, a memory allocation request, the memory allocation request including: a number of blocks, and a first address; determining that memory at the first address is allocated; identifying a second address, differing from the first address by less than a first threshold; and allocating the number of blocks of memory at the second address.