Partial Write Handling via Extent Map Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies in handling partial write operations and misaligned write operations, which complicate data management and increase overhead, especially when using compression algorithms.

Innovation Solution

A method and apparatus that allocate new blocks for partial or misaligned data writes, maintaining an extent table to redirect operations and consolidate entries when system resources are available, allowing these operations to be treated as full, properly aligned writes for later correction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If partial write operations are handled by allocating new blocks and maintaining extent tables, then data storage efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidcomplexity of data management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an extent table as an intermediary data structure that maps logical block addresses to physical block addresses. This extent table acts as a mediator between the file system and the storage device, allowing partial writes to be handled efficiently without directly complicating the core storage management logic. The extent table absorbs the complexity of tracking partial writes and block allocations, isolating this complexity from the main data management flow.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the write operation into distinct phases: allocation phase (where new blocks are allocated and extent table entries are created) and correction phase (where blocks are consolidated when system resources are available). This segmentation allows the system to handle partial writes immediately with simple operations while deferring the more complex consolidation operations to when resources are plentiful, thereby improving immediate storage efficiency without overwhelming the system with complexity.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If misaligned write operations are treated as full aligned writes, then manufacturing precision is improved, but loss of substance increases

Engineering Contradiction:
Improvewrite alignment precisionVSAvoidstorage space utilization
Core Design Contradiction:
Manufacturing precisionVSLoss of substance

Solution Approach 1:

The patent applies partial action by allocating full blocks even when only partial data needs to be written, and by maintaining extent table entries that track the actual data portion within each block. This allows the system to treat misaligned writes as aligned writes (improving precision) while the extent table tracks the actual data size to minimize waste. The excessive allocation of full blocks is acceptable because the extent table enables precise tracking of actual data usage.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter representation by introducing offset and length fields in the extent table entries. Instead of requiring writes to be perfectly aligned to block boundaries, the system stores the offset of the data within the allocated block and the actual length of data written. This parameter change allows flexible handling of misaligned writes while maintaining efficient storage through precise tracking of actual data portions.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If extent table consolidation is performed when system resources are available, then loss of time is reduced, but productivity decreases during consolidation

Engineering Contradiction:
Improvetime for write operationsVSAvoidsystem resource availability
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements periodic consolidation of extent table entries based on system resource availability. Instead of consolidating extent entries after every write operation (which would cause performance degradation), the system performs consolidation periodically when CPU and I/O resources are plentiful. This periodic action allows the system to maintain high write performance during active operations while still achieving storage optimization during idle periods, effectively balancing immediate productivity with long-term efficiency.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs preliminary allocation of full blocks during write operations, deferring the consolidation action to a later time when resources are available. This preliminary action allows write operations to complete quickly without waiting for consolidation, minimizing loss of time during critical write operations. The consolidation is performed as a preliminary optimization step in the background, improving overall storage efficiency without blocking productive write operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8843711B1Partial write without read-modify
Publication Date: 2014.09.23 NETAPP INC
  • US8843711B1 patent drawing
  • US8843711B1 patent drawing
  • US8843711B1 patent drawing

AI summary

A method for efficiently handling partial write requests in a storage system includes allocating a new block of data for the new partial data, and allocating a record in an extent map to record the location of the new partial data block, the location of the old partial data block and the offset length for each data block. Data blocks can be repackaged in the background when system resources are available. A full, but misaligned write request is also efficiently handled by writing the new data to a newly allocated data block and allocating new records in an extent map to record information corresponding to two partial write operations.