Scratch Extent Copying in Append-Only Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in replicating data between storage devices without interfering with write operations during the replication process, necessitating a solution that ensures data integrity and fault tolerance while preventing concurrent write access.
Innovation Solution
An append-only data storage system uses scratch extents with private identifiers to facilitate copying data between storage devices, ensuring that the replication process occurs without interference from write operations by initially accessing the scratch extent through a private identifier and later making it publicly accessible after completion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is copied to a publicly accessible destination extent during replication, then data transfer can proceed, but write operations may interfere and compromise data integrity
Solution Approach 1:
The patent introduces a scratch extent as an intermediary storage location during the replication process. This scratch extent acts as a temporary buffer that receives copied data blocks before being committed to the final destination. By using this intermediate layer, the system allows write operations to continue on the destination while the scratch extent remains isolated and protected, thus maintaining data integrity without blocking replication efficiency
Solution Approach 2:
The system performs preliminary actions by creating the scratch extent and assigning it a private identifier before the actual data copying begins. This preparatory step establishes a protected isolation environment in advance, ensuring that during the replication process, no other entities can access or interfere with the scratch extent. The private identifier is assigned beforehand to guarantee exclusive access rights are in place before data transfer starts
2Ease of operation
If a scratch extent uses a public identifier during copying, then access is simplified, but other entities can write to it causing interference
Solution Approach 1:
The scratch extent serves as an intermediary with controlled access characteristics. During the copying phase, it maintains private identifier-based access control, acting as a protected intermediate buffer. Only the copying operation itself can access this scratch extent through its private identifier, while all other entities are blocked from accessing it. This resolves the contradiction by providing simplified access for the copying operation while preventing harmful write interference from other entities
Solution Approach 2:
The access characteristics of the scratch extent are dynamic rather than static. The system transitions the scratch extent from a private, restricted state during copying to a public, accessible state after copying completes. During the replication process, the scratch extent dynamically maintains private access control to prevent interference, then dynamically transitions to public access once the copying is complete, adapting its accessibility to the current operational phase
Data Source
AI summary
An append-only data storage system is described that stores sets of data blocks in extents that are located in storage devices. During operation of the system, upon receiving a request to copy an extent from a source storage device to a destination storage device, the system creates a scratch extent on the destination storage device, and associates the scratch extent with a private identifier, whereby the scratch extent can only be accessed through the private identifier. The system uses the private identifier to perform a copying operation that copies the extent from the source storage device to the scratch extent on the destination storage device. After the copying operation is complete and the scratch extent is closed, the system associates the scratch extent with a public identifier, whereby the copy of the extent on the destination storage device becomes publically accessible to other entities in the data storage system.


