Data Partition Locking for Concurrent Write Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in ensuring data integrity when multiple write commands are executed simultaneously, particularly when these commands span multiple tracks or blocks, as they often result in invalid data results due to the need for locking entire devices or tracks, which can be impractical and limit concurrent operations.
Innovation Solution
A method is introduced where locks are associated with data partitions, and a lock acquisition strategy is employed to ensure that only necessary partitions are locked, allowing for concurrent execution of multiple data operations by obtaining locks for partitions that are not already locked, thereby preserving data integrity without locking the entire device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If locks are obtained for all tracks spanning the target location, then data integrity is preserved, but device availability and concurrent operations are severely limited
Solution Approach 1:
The patent divides the storage device into multiple tracks and implements fine-grained locking at the track level rather than device-level locking. Each track has its own lock, allowing concurrent operations on different tracks. This segmentation enables multiple data operations to proceed simultaneously on non-overlapping tracks while preserving data integrity on locked tracks.
2Reliability
If the entire device is locked for write operations spanning multiple tracks, then data validity is ensured, but no other write commands can execute concurrently
Solution Approach 1:
The patent applies locking selectively only to the specific tracks that are targets of write operations, rather than locking the entire device. This local quality approach ensures that only the necessary portions of the device are locked, allowing other operations on unrelated tracks to proceed without waiting, thereby reducing operation wait time while maintaining data validity.
3Reliability
If track locking is implemented for write operations, then data integrity across track boundaries is maintained, but operational flexibility and concurrency are reduced
Solution Approach 1:
The patent implements dynamic lock acquisition and release based on the specific requirements of each write operation. Locks are acquired only for the tracks that need to be modified and are released immediately after the operation completes. This dynamic approach maintains data integrity while maximizing operational flexibility and concurrency compared to static device-level locking.
Data Source
AI summary
Two data operations, such as write operations, may be processed at a same time in which the two write operations operate on a same address range span. A first of the write operations may write to the first track and the last track in the span but not tracks therebetween. When processing the first write operation, a lock for the first track is obtained and the data is written to the first track data. A lock for the last track is obtained and it is determined whether all tracks between the first and last tracks are unlocked. If so, data is written to the last track. If not, steps of releasing and then reacquiring the lock for the last track and determining whether intervening tracks are locked are repeated until the intervening tracks are not locked. The last track is then written.


