Generation-Tagged Storage I/O Without Read-Modify-Write

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Primary storage systems face challenges in efficiently managing data storage and preserving older versions while meeting performance demands, particularly in RAID configurations, due to the need for read-modify-write cycles and complex SCSI commands like XCOPY and UNMAP.

Innovation Solution

The storage system writes incoming data to new locations without overwriting existing data, using generation numbers to differentiate versions and create metadata structures for efficient data management, avoiding read-modify-write cycles and optimizing SCSI commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the storage system preserves older versions of data for snapshots by reading and writing old data to new locations before overwriting, then data versioning capability is improved, but processing time and performance deteriorate due to additional read and write operations

Engineering Contradiction:
Improvedata versioning capabilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating snapshots through metadata operations before actual data overwriting occurs. The snapshot creation process establishes version references in advance, allowing the system to preserve data versions without executing time-consuming read-modify-write cycles at the moment of versioning requirement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of physically copying data for snapshots, the system creates metadata structures that reference existing data locations. This logical copying approach maintains data versioning capability while avoiding the performance penalty of actual data movement, as the metadata structures enable efficient data retrieval without physical duplication.

Inventive Principle:
Principle #26Copying

2Reliability

If the storage system performs read-modify-write cycles for RAID configurations, then data integrity and redundancy are improved, but processing time and performance deteriorate

Engineering Contradiction:
Improvedata integrityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts the integrity-checking function from the data path by implementing checksum validation in the metadata structures. This separation allows RAID-like redundancy and integrity verification to occur independently from the main data write path, eliminating the need for synchronous read-modify-write cycles while maintaining data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The metadata structures serve as an intermediary that handles integrity verification and redundancy management. Instead of directly performing read-modify-write operations on data blocks for RAID operations, the system uses metadata as a mediator to coordinate these operations asynchronously, improving performance while preserving data integrity guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the storage system processes enhanced SCSI commands like XCOPY and UNMAP through actual storage operations, then command functionality is improved, but processing time deteriorates

Engineering Contradiction:
Improvecommand functionalityVSAvoidcommand processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

For enhanced SCSI commands, the system uses metadata copying rather than physical data movement. XCOPY operations are implemented by updating metadata references to point to copied data locations, and UNMAP operations are handled by modifying metadata structures to release references. This approach maintains full command functionality while dramatically reducing processing time by avoiding actual data I/O operations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system replaces mechanical storage operations with metadata-based logical operations for enhanced SCSI commands. Instead of physically reading and writing data blocks to implement XCOPY and UNMAP, the system substitutes these mechanical operations with faster metadata structure modifications, achieving the same functional outcomes with significantly improved performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Quantity of substance

If the storage system overwrites data in place, then storage space utilization is improved, but processing complexity increases due to additional read and write cycles

Engineering Contradiction:
Improvestorage space utilizationVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system adds a metadata dimension to manage storage operations, allowing efficient space utilization without in-place overwriting. By organizing data access through metadata structures that track logical block addresses and their physical locations, the system can achieve high storage efficiency through address space management rather than physical data reorganization, reducing processing complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12455790B2Efficient IO processing
Publication Date: 2025.10.28 NVIDIA CORP
  • US12455790B2 patent drawing
  • US12455790B2 patent drawing
  • US12455790B2 patent drawing

AI summary

A method for a storage system to process input and output operations. The method includes receiving writes over time to an address at a base virtual volume, storing each of the writes in a physical storage at a new location that is without existing data, tagging each stored write with a different generation number to distinguish between different versions of data written to the address at the base virtual volume, receiving a read of the address at the base virtual volume, and, in response to the read of the address at the base virtual volume, returning one of the stored writes that is tagged with a newer generation number than a remainder of the stored writes.