Writable Snapshots for Network Storage Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network storage systems face challenges in synchronizing data snapshots with external events, such as virtual machine backups, due to timing discrepancies between data backup and snapshot creation, leading to inconsistencies and resource-intensive clone creation.

Innovation Solution

The implementation of writable snapshots in network storage arrays, which allow for point-in-time data modification and snap-point management, enabling synchronization without creating full clones, thus reducing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional read-only snapshots are created to maintain data consistency, then data integrity is preserved, but the system cannot accommodate post-snapshot data modifications and requires full clones for synchronization

Engineering Contradiction:
Improvedata consistencyVSAvoidsnapshot modifiability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The snapshot is transformed from a static read-only structure to a dynamic writable structure. The system allows the snapshot to transition between different states (writable and read-only) and enables modifications to be made directly to the snapshot data without requiring full clone creation, thus resolving the contradiction between maintaining consistency and allowing modifications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The write protection parameter of the snapshot is dynamically changed. The system can set the snapshot as writable when modifications are needed and switch to read-only mode when consistency is required. This parameter flexibility allows the same snapshot structure to serve both purposes without requiring separate clone operations.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If full clones are created to enable data modifications, then snapshot adaptability is improved, but resource consumption and system complexity increase

Engineering Contradiction:
Improvesnapshot modifiabilityVSAvoidstorage resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The storage structure is segmented into original volume data and snapshot data with shared portions. When a snapshot is created, only the metadata and data pointers are initially allocated, not full data copies. Modifications to the snapshot are stored in separate change tracking structures, allowing the snapshot to be modified without duplicating the entire volume data, thus reducing resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of creating full physical clones, the system uses metadata copying and pointer redirection. The snapshot references the original volume data through pointers, and modifications are tracked separately. This virtual copying approach maintains adaptability while minimizing actual data duplication and storage resource usage.

Inventive Principle:
Principle #26Copying

3Ease of operation

If snapshots are made writable to allow post-creation modifications, then operational flexibility is improved, but data consistency and reliability may be compromised

Engineering Contradiction:
Improvesnapshot editabilityVSAvoiddata consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by creating change tracking structures and metadata before allowing modifications to the snapshot. This preliminary setup ensures that all modifications are recorded and can be reverted or committed in a controlled manner, maintaining consistency while allowing editability. The snapshot is prepared for writing with proper tracking mechanisms in place before any data changes occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through change tracking and snap-point management. When modifications are made to the snapshot, the system tracks these changes and provides feedback about the current state. Administrators can review changes before committing them, and the system can revert to previous snap-points if needed, thus maintaining reliability while allowing operational flexibility.

Inventive Principle:
Principle #23Feedback

4Measurement precision

If multiple snap-points are created to track snapshot versions, then snapshot management precision is improved, but system complexity increases

Engineering Contradiction:
Improvesnapshot version trackingVSAvoidsnap-point management
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The version tracking system is segmented into discrete snap-point markers within the snapshot metadata. Each snap-point represents a specific version or state of the snapshot, and these markers are organized in a structured hierarchy. This segmentation allows precise version tracking while keeping the management structure organized and manageable through clear separation of version identifiers.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9928003B2Management of writable snapshots in a network storage device
Publication Date: 2018.03.27 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9928003B2 patent drawing
  • US9928003B2 patent drawing
  • US9928003B2 patent drawing

AI summary

Methods, systems, and computer programs are presented for creating writable snapshots of logical data units in a network storage array. One method includes operations for receiving a request to create a snapshot at a storage device, the snapshot being a point-in-time copy of a volume in the storage device, and for creating the snapshot with a first snap-point corresponding to a state of the volume when the snapshot is created. The snapshot is writeable when the snapshot is created. Further, the method includes operations for receiving one or more requests to make changes to the snapshot, for creating one or more snap-points for the snapshot after processing the one or more requests, and for closing the snapshot. The snapshot is not writeable after the snapshot is closed and access to the snapshot, after closing the snapshot, accesses data associated with a last snap-point of the snapshot.