Storage Chunk Allocation Order for Large-Write Flush Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face challenges in efficiently handling large write operations due to limitations in write-bandwidth, contention issues during flush processes, and non-consecutive logical block address allocations, leading to increased latency and overhead.

Innovation Solution

Implementing a system that allocates storage chunks in a specific order, maintains a mapping table for logical addresses, and uses volume-consecutive allocations to ensure that data for consecutive logical addresses is stored in the same physical block, reducing contention and optimizing flush processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If storage chunks are allocated from the main list in conventional order, then allocation simplicity is maintained, but write latency increases due to non-consecutive logical block address allocations

Engineering Contradiction:
Improvewrite latencyVSAvoidallocation mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system pre-generates a main list of storage chunks in advance, organizing them in a specific order before allocation occurs. This preliminary organization enables consecutive logical block address allocations without requiring complex real-time allocation logic, thereby reducing write latency while maintaining manageable complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage system divides the storage space into discrete chunks that are organized in the main list. Each chunk can be independently allocated to consecutive logical block addresses, enabling efficient sequential allocation that reduces write latency without requiring complex coordinated allocation across the entire storage space

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple hosts access the same data storage system simultaneously, then resource sharing is enabled, but contention issues arise during flush processes

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidflush process efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments the storage chunks into individually allocable units with dedicated mappings. This segmentation allows different hosts to access and flush data to different chunks simultaneously without contention, as each chunk can be independently managed and flushed without interfering with other hosts' operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The mapping table acts as an intermediary between logical block addresses and physical storage chunks. It enables multiple hosts to access the storage system simultaneously by translating their logical address requests to specific physical chunks, coordinating access without direct contention on the flush processes themselves

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If conventional allocation methods are used, then implementation simplicity is maintained, but overhead increases due to non-consecutive allocations

Engineering Contradiction:
Improvewrite performanceVSAvoidallocation management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The main list of storage chunks is pre-generated and organized in a specific order before allocation occurs. This preliminary organization enables consecutive logical block address allocations, improving write performance by eliminating the overhead of managing non-consecutive allocations, while the pre-computed list keeps the allocation management simple

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12517671B2Storage allocation techniques for large writes using list formed from each block
Publication Date: 2026.01.06 DELL PROD LP
  • US12517671B2 patent drawing
  • US12517671B2 patent drawing
  • US12517671B2 patent drawing

AI summary

Techniques of the present disclosure can include: identifying blocks of storage available for allocation; generating a list denoting an allocation order of storage chunks of the blocks; receiving a write I/O operation that writes data to a first logical address; allocating a storage chunk in accordance with the allocation order of the list, wherein a first block includes the storage chunk and a second storage chunk; storing the first data in the storage chunk of the first block; removing the second storage chunk from the list; and creating a mapping between the first logical address and the first block indicating the second storage chunk is reserved for storing content written to a logical address included in a volume logical address range comprising the first logical address. The allocation order can spread allocation distance between blocks and chunks of the same block to avoid contention during flushes.