Storage Server Constant-Time Copy via Snapshot References

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Copy operations in network storage servers take significant user-perceivable time for large files, disrupting user activities as they depend on the size of the source file system object, and existing technologies do not provide efficient handling of file system operations during the copying process.

Innovation Solution

A system and method that generates a snapshot of the source file system object before copying, allowing other file system operations during the copy process by referencing data blocks instead of copying them, and skipping unnecessary data copies if the destination object has been modified, thereby enabling truncate and append operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage server copies all contents of the source file system object before making it available, then data integrity is ensured, but the copy operation time becomes noticeable and interferes with user activities

Engineering Contradiction:
Improvedata integrityVSAvoidcopy operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating the destination file system object and generating a snapshot of the source object before the copy process begins. This allows the object to be available for operations before all data is copied, reducing user-perceivable wait time while maintaining data integrity through the snapshot reference mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a snapshot as an intermediary mechanism that allows read operations during the copy process. The snapshot acts as a mediator between the ongoing copy operation and user access requirements, enabling users to access data without waiting for the complete copy while ensuring data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the system waits for the complete copy process before allowing other operations, then data consistency is maintained, but user productivity is reduced due to the large time interval

Engineering Contradiction:
Improvedata consistencyVSAvoiduser productivity
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system dynamically adjusts its behavior based on the copy process state. It allows read operations during copying by referencing the snapshot, permits write operations that modify the destination object, and skips copying for modified portions. This dynamic approach maintains data consistency while enabling continuous user productivity throughout the copy process.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables continuous useful actions by allowing file system operations to proceed during the copy process. Users can perform reads, writes, truncates, and appends on the destination object without waiting for the copy to complete, maintaining productivity while the copy operation continues in the background with modified handling.

Inventive Principle:
Principle #20Continuity of useful action

3Quantity of substance

If the system copies data blocks directly, then complete data replication is achieved, but the operation takes significant time for large files

Engineering Contradiction:
Improvedata replication completenessVSAvoidcopy duration
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system uses copying at the metadata level rather than data level. It copies the buffer tree structure and creates references to data blocks instead of duplicating the actual data contents. This approach achieves complete data replication through reference copying, reducing copy time from hours to seconds while maintaining data integrity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system applies different quality levels to different parts of the copy process. Metadata and buffer tree structures are copied completely and immediately, while data blocks are referenced rather than duplicated. This local differentiation between metadata copying and data referencing achieves complete replication with minimal time loss.

Inventive Principle:
Principle #3Local quality

4Ease of operation

If the system provides immediate access to the new object, then user accessibility is improved, but data may be accessed before complete copying occurs

Engineering Contradiction:
Improveobject accessibilityVSAvoiddata availability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The snapshot serves as an intermediary that guarantees data availability for read operations. When users access the destination object during the copy process, the system provides data from the snapshot, ensuring that complete and consistent data is available immediately without waiting for the copy to finish, thus maintaining both accessibility and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9182921B2Method and system for providing substantially constant-time execution of a copy operation
Publication Date: 2015.11.10 NETAPP INC
  • US9182921B2 patent drawing
  • US9182921B2 patent drawing
  • US9182921B2 patent drawing

AI summary

A system and method for providing a substantially constant-time copy operation for file system objects managed by a storage server begins by generating a snapshot of at least a portion of a data set managed by the storage server. The system then performs a copy operation in the storage server to generate a copy of the data set separate from the snapshot, on a set of block locations containing a predetermined reference value. During the copy operation to generate the copy of the data set separate from the snapshot, the system can receive from a requester a first read request directed to the copy of the data set that the copy operation is to generate. In response to the first data request, the system provides data from the snapshot to the requester by the storage server.