In-Memory Snapshot Buffer for Block Storage Write Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Snapshot operations in block-based storage systems often incur performance costs, leading to latency and discouraged or prevented I/O operations due to the need to preserve the data state until it is copied, especially in I/O-intensive workloads.

Innovation Solution

Implementing an in-memory volume snapshot buffer to store write requests for data chunks not yet copied to a remote snapshot data store, allowing write requests to be completed without blocking, and asynchronously copying data chunks to the remote store, thus optimizing write performance during snapshot operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is preserved in block-based storage until copied to remote snapshot storage, then snapshot consistency is maintained, but write performance degrades due to blocking I/O operations

Engineering Contradiction:
Improvesnapshot consistencyVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an in-memory buffer as an intermediary layer between the block storage device and the remote snapshot storage. Write requests are redirected to this buffer during snapshot operations, allowing the storage system to acknowledge writes immediately without waiting for data to be copied to remote storage. This mediator decouples the write acknowledgment from the snapshot copy operation, resolving the contradiction between maintaining snapshot consistency and preserving write performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the storage system into multiple components: the original block storage device, an in-memory buffer, and remote snapshot storage. By dividing the write path into separate segments (write to buffer, asynchronous copy to remote storage), the system can acknowledge writes at the buffer level while snapshot consistency is eventually ensured through the asynchronous copy process. This segmentation allows write operations to proceed independently of snapshot copy operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If write requests are blocked until data is copied to remote snapshot storage, then data integrity for snapshots is ensured, but I/O latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-allocating an in-memory buffer that is ready to receive write requests before snapshot operations complete. When snapshot operations are detected, the system proactively redirects writes to the buffer rather than blocking them. This preliminary preparation eliminates the need to block writes during snapshot operations, reducing I/O latency while maintaining data integrity through the buffer's eventual synchronization with snapshot storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous write operations to proceed without interruption by maintaining the in-memory buffer as an active write target throughout the snapshot operation. Instead of blocking writes until snapshot copy completes, the system continues to accept and process write requests in the buffer simultaneously with the background snapshot copy process. This continuity of useful action ensures data integrity while minimizing I/O latency.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If snapshot operations copy all data chunks to remote storage, then complete snapshot coverage is achieved, but storage I/O capacity is consumed

Engineering Contradiction:
Improvesnapshot coverageVSAvoidstorage I/O capacity
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by having the snapshot operation copy only the necessary data chunks to remote storage, rather than forcing all writes to wait for complete snapshot copy. The in-memory buffer handles writes for data chunks that are copied asynchronously in the background. This partial approach to snapshot copying reduces the immediate I/O capacity consumption during snapshot operations while still achieving complete snapshot coverage eventually through the asynchronous copy process.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9792060B2Optimized write performance at block-based storage during volume snapshot operations
Publication Date: 2017.10.17 AMAZON TECH INC
  • US9792060B2 patent drawing
  • US9792060B2 patent drawing
  • US9792060B2 patent drawing

AI summary

Write optimization for block-based storage performing snapshot operations may be implemented. Write requests for a particular data volume may be received for which a snapshot operation is in progress. A determination may be made as to whether a data chunk of the data volume modified as part of the write request has not yet been stored to a remote snapshot data store as part of the snapshot operation. For a data chunk that is to be modified and that has not yet been stored, the data chunk may be stored in a local in-memory volume snapshot buffer. Once the data chunk is stored in the in-memory volume snapshot buffer, the write request may be performed and acknowledged as complete. The data chunk may be sent to the remote snapshot data store asynchronously with regard to the acknowledgment of the write request.